<?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>46800</bug_id>
          
          <creation_ts>2010-09-29 05:31:58 -0700</creation_ts>
          <short_desc>getElementsByTagName unable to find SVG camelCase elements imported into HTML</short_desc>
          <delta_ts>2012-11-27 11:19:51 -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>DOM</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>http://a.deveria.com/tests/lg-qselect.html</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="Alexis Deveria">adeveria</reporter>
          <assigned_to name="Rob Buis">rwlbuis</assigned_to>
          <cc>abarth</cc>
    
    <cc>annevk</cc>
    
    <cc>ap</cc>
    
    <cc>bzbarsky</cc>
    
    <cc>eric</cc>
    
    <cc>ian</cc>
    
    <cc>jeffschiller</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>krit</cc>
    
    <cc>mbostock</cc>
    
    <cc>mdelaney7</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>sam</cc>
    
    <cc>scottt.tw</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>286807</commentid>
    <comment_count>0</comment_count>
    <who name="Alexis Deveria">adeveria</who>
    <bug_when>2010-09-29 05:31:58 -0700</bug_when>
    <thetext>Neither document.getElementsByTagName(&apos;linearGradient&apos;) nor document.querySelectorAll(&apos;linearGradient&apos;) match any linearGradient elements, nor any other elements with camelCase tags. This works as expected in Gecko/Opera.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286864</commentid>
    <comment_count>1</comment_count>
      <attachid>69194</attachid>
    <who name="Alexis Deveria">adeveria</who>
    <bug_when>2010-09-29 07:33:52 -0700</bug_when>
    <thetext>Created attachment 69194
test case

Alerts the amount of linearGradient elements found (should be 1)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474473</commentid>
    <comment_count>2</comment_count>
    <who name="Mike Bostock">mbostock</who>
    <bug_when>2011-09-27 20:56:42 -0700</bug_when>
    <thetext>Any update on this? This is an issue with the D3.js visualization framework: you can create camel-cased elements, but it&apos;s impossible to select them again.

I assume this bug has something to do with the HTML elements being case-insensitive, while the SVG elements are case-sensitive. My guess is that the selector is internally downcased, but the SVG element names are not, making them impossible to select.

It&apos;d be great if SVG were not case-sensitive when used inside an HTML document. I&apos;m not sure if that&apos;s possible, but it would fix this issue and make SVG more accessible besides.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474601</commentid>
    <comment_count>3</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-09-28 01:52:21 -0700</bug_when>
    <thetext>It doesn&apos;t even work on creating the linearGradient with the NS of SVG: 


var a = document.createElementNS(&apos;http://www.w3.org/2000/svg&apos;, &apos;linearGradient&apos;);
alert(a);  --&gt; [object SVGLinearGradientElement]

document.getElementsByTagName(&apos;svg&apos;)[0].appendChild(a);
document.getElementsByTagName(&apos;linearGradient&apos;).length --&gt; 0

I&apos;ll check the behavior in XHTML.

Btw. the SVG element was found.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474615</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-09-28 02:32:43 -0700</bug_when>
    <thetext>The example works with a XHTML document. A problem with HTML5?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474617</commentid>
    <comment_count>5</comment_count>
      <attachid>108989</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-09-28 02:34:03 -0700</bug_when>
    <thetext>Created attachment 108989
test case in XHTML (This test case passes)

Same test case, but as XHTML document. I get the expected count of linearGradient elements of 1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474619</commentid>
    <comment_count>6</comment_count>
      <attachid>108989</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-09-28 02:36:50 -0700</bug_when>
    <thetext>Comment on attachment 108989
test case in XHTML (This test case passes)

Doesn&apos;t work with MIME-type text/html, changing to application/xhtml+xml.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474629</commentid>
    <comment_count>7</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-09-28 02:56:44 -0700</bug_when>
    <thetext>Looks like it can be reproduced with every SVG element that has a capital letter in it. I tested linearGradient, radialGradient, clipPath, altGlyph and animateColor. All SVG elements that do not have a capital letter in its tag name seem to work. Tested it with pattern, mask and rect without any problems.

A complete list of all SVG element tag names can be found in WebCore/svg/svgtags.in</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474630</commentid>
    <comment_count>8</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-09-28 02:58:36 -0700</bug_when>
    <thetext>Changing component to HTML DOM. Because the example works with XML DOM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475981</commentid>
    <comment_count>9</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-09-30 01:42:03 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; I assume this bug has something to do with the HTML elements being case-insensitive, while the SVG elements are case-sensitive. My guess is that the selector is internally downcased, but the SVG element names are not, making them impossible to select.
&gt; 
&gt; It&apos;d be great if SVG were not case-sensitive when used inside an HTML document. I&apos;m not sure if that&apos;s possible, but it would fix this issue and make SVG more accessible besides.

This assumption seems to be correct. I commented out this line:

http://trac.webkit.org/browser/trunk/Source/WebCore/dom/Node.cpp#L1671

And after that the first example works as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476047</commentid>
    <comment_count>10</comment_count>
    <who name="Anne van Kesteren">annevk</who>
    <bug_when>2011-09-30 05:57:32 -0700</bug_when>
    <thetext>You need to implement:

http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-document-getelementsbytagname

querySelector should already be case-insensitive.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476263</commentid>
    <comment_count>11</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-09-30 12:53:55 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; You need to implement:
&gt; 
&gt; http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-document-getelementsbytagname
&gt; 
&gt; querySelector should already be case-insensitive.
&quot;&quot;&quot;
Element nodes in the HTML namespace whose local name is localName converted to ASCII lowercase.
Element nodes, not in the HTML namespace, whose local name is localName.
&quot;&quot;&quot;

This is exactly done in WebKit right now. The only problem: the current code assumes that every element in HTML documents belongs to HTML namespace.

SVG elements are not included in the HTML namespace. Therefor getElementsByTagName(&apos;lineargradient&apos;) shouldn&apos;t work in HTML as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478257</commentid>
    <comment_count>12</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-10-05 03:19:16 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; You need to implement:
&gt; 
&gt; http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-document-getelementsbytagname
&gt; 
&gt; querySelector should already be case-insensitive.

I just checked Opera with HTML5 Parser. It has exactly the same problem. Maybe I misunderstand the spec. Would be great if you can explain it Anne. My understanding of:

&quot;&quot;&quot;
Element nodes in the HTML namespace whose local name is localName converted to ASCII lowercase.
Element nodes, not in the HTML namespace, whose local name is localName.
&quot;&quot;&quot;

is, that just for HTML elements (Element nodes in the HTML namespace) the localName should converted to lowercase.

It might make more sense if the localName gets converted to lowercase if we search in an HTML document, independent of the namespace of the element that we search for? Otherwise we would have to check if other namespace contain the element before converting to lowercase and searching in the HTML namespace?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478505</commentid>
    <comment_count>13</comment_count>
    <who name="Ian &apos;Hixie&apos; Hickson">ian</who>
    <bug_when>2011-10-05 10:51:02 -0700</bug_when>
    <thetext>Why would that make more sense? Even in an HTML document, the SVG elements still use camelcase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478510</commentid>
    <comment_count>14</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-10-05 10:59:24 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Why would that make more sense? Even in an HTML document, the SVG elements still use camelcase.

Why would it make sense to accept &apos;localName&apos; with big capitals for elements in HTML namespace than?  Why shouldn&apos;t engines be as strict for HTML elements as for elements in other namespaces than? I just think that it is confusing that you don&apos;t care about capitalization for HTML elements but must care about capitalization on non HTML elements, even if they are all used in the same HTML document.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499179</commentid>
    <comment_count>15</comment_count>
    <who name="Anne van Kesteren">annevk</who>
    <bug_when>2011-11-09 11:20:20 -0800</bug_when>
    <thetext>We care about it for HTML for backwards compatibility. If this API was never added until now it would do case-sensitive matching for everything. Should we add a note to the specification to point out the HTML behavior is strictly for backwards compatibility?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>525367</commentid>
    <comment_count>16</comment_count>
    <who name="Mike Bostock">mbostock</who>
    <bug_when>2011-12-21 11:22:58 -0800</bug_when>
    <thetext>My interpretation is that getElementsByTagName and querySelectorAll should be case-sensitive when matching SVG elements in HTML documents, but case-insensitive when matching HTML elements. The problem is that the case-sensitive check currently applies per-document rather per-element. In Node.cpp:

    if (document()-&gt;isHTMLDocument())
        name = localName.lower();

So, if you querySelectorAll(&quot;linearGradient&quot;), that should match an HTML element with the name &lt;LiNeaRGradIENt&gt; despite the absurd casing, but only match SVG elements of the same exact case: &lt;linearGradient&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575626</commentid>
    <comment_count>17</comment_count>
    <who name="Mike Bostock">mbostock</who>
    <bug_when>2012-03-10 20:30:51 -0800</bug_when>
    <thetext>Any update on this? It continues to be rather unfortunate that there&apos;s no way to select camelCased elements within an HTML document; e.g., querySelectorAll(&quot;clipPath&quot;) returns no results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579006</commentid>
    <comment_count>18</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-03-14 18:18:44 -0700</bug_when>
    <thetext>Adding anttik and kling to the bug. The code seems to have changed, the problem stays the same.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582636</commentid>
    <comment_count>19</comment_count>
      <attachid>132747</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-03-19 19:31:55 -0700</bug_when>
    <thetext>Created attachment 132747
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582648</commentid>
    <comment_count>20</comment_count>
    <who name="Boris Zbarsky">bzbarsky</who>
    <bug_when>2012-03-19 19:37:49 -0700</bug_when>
    <thetext>Will that do the right thing in non-HTML documents that contain HTML-namespace elements?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582926</commentid>
    <comment_count>21</comment_count>
      <attachid>132747</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-03-20 04:21:52 -0700</bug_when>
    <thetext>Comment on attachment 132747
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        Test: fast/dom/getelementsbyname-localName-matching.html

I think it would be cleanest, if you&apos;d actually test with different document types: foo.xhtml, foo.htm, foo.html, foo.svg as well.
Did you compare your testcase against FF nightlies as well?

&gt; Source/WebCore/dom/TagNodeList.h:49
&gt; +        AtomicString m_loweredLocalName;

Is it worth to cache this? Can&apos;t we lower on demand?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582927</commentid>
    <comment_count>22</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-03-20 04:23:29 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; Will that do the right thing in non-HTML documents that contain HTML-namespace elements?
Should be tested, I agree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582937</commentid>
    <comment_count>23</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-03-20 04:38:29 -0700</bug_when>
    <thetext>Hi Niko, Boris,

Thanks for the valid remarks. Indeed this could be tested better and Boris usecase is one that will fail with my patch (I think it works with code in ToT). I have a good idea how to fix it tonight, until then feel free to r-.
Cheers,

Rob.

PS: encouraging that the bots remained green.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583095</commentid>
    <comment_count>24</comment_count>
    <who name="Boris Zbarsky">bzbarsky</who>
    <bug_when>2012-03-20 08:35:22 -0700</bug_when>
    <thetext>One more thing: should a separate bug be spun off for querySelector?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598043</commentid>
    <comment_count>25</comment_count>
      <attachid>136149</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-04-08 11:07:56 -0700</bug_when>
    <thetext>Created attachment 136149
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598044</commentid>
    <comment_count>26</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-04-08 11:13:59 -0700</bug_when>
    <thetext>Hi Niko,

(In reply to comment #21)
&gt; (From update of attachment 132747 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=132747&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:10
&gt; &gt; +        Test: fast/dom/getelementsbyname-localName-matching.html
&gt; 
&gt; I think it would be cleanest, if you&apos;d actually test with different document types: foo.xhtml, foo.htm, foo.html, foo.svg as well.

I tried to do this with my latest patch.

&gt; Did you compare your testcase against FF nightlies as well?

We match FF 11 on those new test cases.

&gt; &gt; Source/WebCore/dom/TagNodeList.h:49
&gt; &gt; +        AtomicString m_loweredLocalName;
&gt; 
&gt; Is it worth to cache this? Can&apos;t we lower on demand?

I don&apos;t see how unfortunately.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598059</commentid>
    <comment_count>27</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2012-04-08 13:35:20 -0700</bug_when>
    <thetext>Can you please be more explicit with the description on your change log? You change a lot more than you actually mention in the ChangeLog. Also, this just fixes getElementsByTagName, right? Can you either rename this bug and open a new bug for query selector, or open a sub bug for getElementsByTagName please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598065</commentid>
    <comment_count>28</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-04-08 14:38:28 -0700</bug_when>
    <thetext>Change bug title to reflect we deal with getElementsByTagName only here. Bug 83438 tracks the querySelector part.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598067</commentid>
    <comment_count>29</comment_count>
      <attachid>136158</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-04-08 15:20:56 -0700</bug_when>
    <thetext>Created attachment 136158
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598068</commentid>
    <comment_count>30</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-04-08 15:21:35 -0700</bug_when>
    <thetext>Hi Dirk,

(In reply to comment #27)
&gt; Can you please be more explicit with the description on your change log? You change a lot more than you actually mention in the ChangeLog. Also, this just fixes getElementsByTagName, right? Can you either rename this bug and open a new bug for query selector, or open a sub bug for getElementsByTagName please?

Should all be done now :)
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598304</commentid>
    <comment_count>31</comment_count>
      <attachid>136158</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-04-09 08:57:28 -0700</bug_when>
    <thetext>Comment on attachment 136158
Patch

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

Patch looks great. I&apos;m not touching r? yet, as I have a question:

&gt; Source/WebCore/dom/TagNodeList.cpp:59
&gt; +    : TagNodeList(rootNode, namespaceURI, localName)
&gt; +    , m_loweredLocalName(localName.lower())

TagNodeList stores the localName, so why not use m_localName.lower() instead of storing m_loweredLocalName if you need it?

&gt; Source/WebCore/dom/TagNodeList.cpp:67
&gt; +        const AtomicString &amp;localName_ = testNode-&gt;isHTMLElement() ? m_loweredLocalName : m_localName;

The &amp; is misplaced, and the variable name looks weird :-)
const AtomicString&amp; localName = testNode-&gt;isHTMLElement() ? m_localName.lower() : m_localName.

I think we shouldn&apos;t store m_loweredLocalName, unless this shows hot in profiles.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598466</commentid>
    <comment_count>32</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-04-09 11:37:41 -0700</bug_when>
    <thetext>Hi Niko,

(In reply to comment #31)
&gt; (From update of attachment 136158 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=136158&amp;action=review
&gt; 
&gt; Patch looks great. I&apos;m not touching r? yet, as I have a question:

Sure.

&gt; &gt; Source/WebCore/dom/TagNodeList.cpp:59
&gt; &gt; +    : TagNodeList(rootNode, namespaceURI, localName)
&gt; &gt; +    , m_loweredLocalName(localName.lower())
&gt; 
&gt; TagNodeList stores the localName, so why not use m_localName.lower() instead of storing m_loweredLocalName if you need it?

See below.

&gt; &gt; Source/WebCore/dom/TagNodeList.cpp:67
&gt; &gt; +        const AtomicString &amp;localName_ = testNode-&gt;isHTMLElement() ? m_loweredLocalName : m_localName;
&gt; 
&gt; The &amp; is misplaced, and the variable name looks weird :-)

Hmm, should the style checker have caught the &amp;?
I agree that the variable name is not the best :)

&gt; const AtomicString&amp; localName = testNode-&gt;isHTMLElement() ? m_localName.lower() : m_localName.

I could add something like that before landing, I should not put up a new patch and get all the bots working again for a one line change I think.

&gt; I think we shouldn&apos;t store m_loweredLocalName, unless this shows hot in profiles.

I do think it will be hot. getElementsByTagName will be used a lot in a html context, so it will lowere() for every node it traverses. I think that is why the original code does lower() in Node.cpp and not in the TagNodeList. Note that following the exact matching rules require some comparisons to the lowered one and some to the exact localName, depending on whether the Node is html or not. I considered doing case insensitive comparison instead of lowercase but it seems much slower to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598519</commentid>
    <comment_count>33</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-04-09 12:30:26 -0700</bug_when>
    <thetext>&gt; &gt; I think we shouldn&apos;t store m_loweredLocalName, unless this shows hot in profiles.
&gt; 
&gt; I do think it will be hot. getElementsByTagName will be used a lot in a html context, so it will lowere() for every node it traverses. I think that is why the original code does lower() in Node.cpp and not in the TagNodeList. Note that following the exact matching rules require some comparisons to the lowered one and some to the exact localName, depending on whether the Node is html or not. I considered doing case insensitive comparison instead of lowercase but it seems much slower to me.

Sorry I meant it *will be* hot, i.e. requirement for a lowered localName will be high.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599081</commentid>
    <comment_count>34</comment_count>
      <attachid>136158</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-04-10 00:48:15 -0700</bug_when>
    <thetext>Comment on attachment 136158
Patch

You&apos;re right, r=me. Please land with the variable name fixes and the &amp; position fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>599317</commentid>
    <comment_count>35</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-04-10 09:02:59 -0700</bug_when>
    <thetext>Fix was landed in r113710.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>623046</commentid>
    <comment_count>36</comment_count>
    <who name="Mike Bostock">mbostock</who>
    <bug_when>2012-05-14 09:45:17 -0700</bug_when>
    <thetext>Thank you for fixing getElementsByTagName, but will someone please follow up with a fix to querySelector + querySelectorAll (i.e., Bug 83438)? This frequently trips up people trying to use linearGradient, textPath, foreignObject, clipPath, etc. with D3.js.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777010</commentid>
    <comment_count>37</comment_count>
    <who name="Mike Bostock">mbostock</who>
    <bug_when>2012-11-27 11:19:51 -0800</bug_when>
    <thetext>Apologies for the ping, but any chance someone could fix the querySelector part of this bug (Bug 83438)?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>69194</attachid>
            <date>2010-09-29 07:33:52 -0700</date>
            <delta_ts>2010-09-29 07:33:52 -0700</delta_ts>
            <desc>test case</desc>
            <filename>lg-qselect.html</filename>
            <type>text/html</type>
            <size>523</size>
            <attacher name="Alexis Deveria">adeveria</attacher>
            
              <data encoding="base64">PCFkb2N0eXBlIGh0bWw+Cgo8Ym9keT4KCjxkaXYgaWQ9ImNvbnRhaW5lciI+PC9kaXY+Cgo8c2Ny
aXB0Pgp2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicp
Owp2YXIgc3ZnZG9jID0gbmV3IERPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZygKCSc8c3ZnIHht
bG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGxpbmVhckdyYWRpZW50PjwvbGluZWFy
R3JhZGllbnQ+PC9zdmc+JywgJ3RleHQveG1sJyk7Cgp2YXIgZWxlbSA9IGRvY3VtZW50LmltcG9y
dE5vZGUoc3ZnZG9jLmRvY3VtZW50RWxlbWVudCx0cnVlKTsKY29udGFpbmVyLmFwcGVuZENoaWxk
KGVsZW0pOwogCi8vIFRoaXMgc2hvdWxkIGJlIDEsIGJ1dCBXZWJraXQgcmV0dXJucyAwCmFsZXJ0
KCdOdW1iZXIgb2YgbGluZWFyR3JhZGllbnQgZWxlbWVudHMgZm91bmQ6ICcgKyBjb250YWluZXIu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoJ2xpbmVhckdyYWRpZW50JykubGVuZ3RoKTsKCjwvc2NyaXB0
PgoKPC9ib2R5Pg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>108989</attachid>
            <date>2011-09-28 02:34:03 -0700</date>
            <delta_ts>2011-09-28 15:35:07 -0700</delta_ts>
            <desc>test case in XHTML (This test case passes)</desc>
            <filename>test.xhtml</filename>
            <type>application/xhtml+xml</type>
            <size>913</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIK
ICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+Cjxo
dG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZW4iIGxh
bmc9ImVuIj4KIDxoZWFkPgogPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50
PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+CiA8dGl0bGU+WEhUTUwgMS4wIFN0cmljdCBF
eGFtcGxlPC90aXRsZT4KCiA8L2hlYWQ+CiA8Ym9keSBvbmxvYWQ9ImxvYWRwZGYoKSI+CiA8ZGl2
IGlkPSJjb250YWluZXIiPjwvZGl2PgogIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4K
IC8vPCFbQ0RBVEFbCiBmdW5jdGlvbiBsb2FkcGRmKCkgewp2YXIgY29udGFpbmVyID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOwp2YXIgc3ZnZG9jID0gbmV3IERPTVBhcnNl
cigpLnBhcnNlRnJvbVN0cmluZygKCSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAw
L3N2ZyI+PGxpbmVhckdyYWRpZW50PjwvbGluZWFyR3JhZGllbnQ+PC9zdmc+JywgJ3RleHQveG1s
Jyk7Cgp2YXIgZWxlbSA9IGRvY3VtZW50LmltcG9ydE5vZGUoc3ZnZG9jLmRvY3VtZW50RWxlbWVu
dCx0cnVlKTsKY29udGFpbmVyLmFwcGVuZENoaWxkKGVsZW0pOwogCi8vIFRoaXMgc2hvdWxkIGJl
IDEsIGJ1dCBXZWJraXQgcmV0dXJucyAwCmFsZXJ0KCdOdW1iZXIgb2YgbGluZWFyR3JhZGllbnQg
ZWxlbWVudHMgZm91bmQ6ICcgKyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2xpbmVh
ckdyYWRpZW50JykubGVuZ3RoKTsKIH0KIC8vXV0+CiA8L3NjcmlwdD4KIDwvYm9keT4KPC9odG1s
Pg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132747</attachid>
            <date>2012-03-19 19:31:55 -0700</date>
            <delta_ts>2012-04-08 11:07:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-46800-20120319223143.patch</filename>
            <type>text/plain</type>
            <size>10257</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExMjk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjA1MTcyOWFhYzg0MjBh
ZWViN2MxMzRmNTZlNDRjMzhkOTFhMTc0ZS4uNTJmNzhmODdlZWQ3ZjA3NGE0OTYwMjc4YTQ0MjYw
NDg3ZGIwODRmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTAzLTE5ICBSb2Ig
QnVpcyAgPHJidWlzQHJpbS5jb20+CisKKyAgICAgICAgcXVlcnlTZWxlY3RvckFsbC9nZXRFbGVt
ZW50c0J5VGFnTmFtZSB1bmFibGUgdG8gZmluZCBTVkcgY2FtZWxDYXNlIGVsZW1lbnRzIGltcG9y
dGVkIGludG8gSFRNTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NDY4MDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBQcm9wZXJseSBtYXRjaCBnZXRFbGVtZW50c0J5VGFnTmFtZShOUykgYWNjb3JkaW5nIHRv
IHRoZSBIVE1MNSBzcGVjaWZpY2F0aW9uLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL2dldGVs
ZW1lbnRzYnluYW1lLWxvY2FsTmFtZS1tYXRjaGluZy5odG1sCisKKyAgICAgICAgKiBkb20vTm9k
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpnZXRFbGVtZW50c0J5VGFnTmFtZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpOb2RlOjpnZXRFbGVtZW50c0J5VGFnTmFtZU5TKToKKyAgICAgICAg
KiBkb20vVGFnTm9kZUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGFnTm9kZUxpc3Q6OlRh
Z05vZGVMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlRhZ05vZGVMaXN0Ojpub2RlTWF0Y2hlcyk6
CisgICAgICAgICogZG9tL1RhZ05vZGVMaXN0Lmg6CisgICAgICAgIChUYWdOb2RlTGlzdCk6CisK
IDIwMTItMDMtMTkgIEZsb3JpbiBNYWxpdGEgIDxmbWFsaXRhQGdvb2dsZS5jb20+CiAKICAgICAg
ICAgUmVsYXRpdmUtaGVpZ2h0IGJsb2NrIFNWRyByb290IG5vdCBsYXllZCBvdXQgb24gY29udGFp
bmVyIGhlaWdodCBjaGFuZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCA2OWVlZjM0ZmMyYjllNjk1NjM4
MDdmZDMxMDNlNjA5ZWYxZWQwNzI0Li4yODRjMTNiNjkwNWM0OWJiNjBlNmJjMGQzMDhmOGI1MmVk
ZjBiMDAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC0xNTk1LDExICsxNTk1LDcgQEAgUGFzc1JlZlB0
cjxOb2RlTGlzdD4gTm9kZTo6Z2V0RWxlbWVudHNCeVRhZ05hbWUoY29uc3QgQXRvbWljU3RyaW5n
JiBsb2NhbE5hbWUpCiAgICAgaWYgKGxvY2FsTmFtZS5pc051bGwoKSkKICAgICAgICAgcmV0dXJu
IDA7CiAKLSAgICBTdHJpbmcgbmFtZSA9IGxvY2FsTmFtZTsKLSAgICBpZiAoZG9jdW1lbnQoKS0+
aXNIVE1MRG9jdW1lbnQoKSkKLSAgICAgICAgbmFtZSA9IGxvY2FsTmFtZS5sb3dlcigpOwotCi0g
ICAgQXRvbWljU3RyaW5nIGxvY2FsTmFtZUF0b20gPSBuYW1lOworICAgIEF0b21pY1N0cmluZyBs
b2NhbE5hbWVBdG9tID0gbG9jYWxOYW1lOwogCiAgICAgcGFpcjxOb2RlTGlzdHNOb2RlRGF0YTo6
VGFnTm9kZUxpc3RDYWNoZTo6aXRlcmF0b3IsIGJvb2w+IHJlc3VsdCA9IGVuc3VyZVJhcmVEYXRh
KCktPmVuc3VyZU5vZGVMaXN0cyh0aGlzKS0+bV90YWdOb2RlTGlzdENhY2hlLmFkZChsb2NhbE5h
bWVBdG9tLCAwKTsKICAgICBpZiAoIXJlc3VsdC5zZWNvbmQpCkBAIC0xNjE4LDExICsxNjE0LDcg
QEAgUGFzc1JlZlB0cjxOb2RlTGlzdD4gTm9kZTo6Z2V0RWxlbWVudHNCeVRhZ05hbWVOUyhjb25z
dCBBdG9taWNTdHJpbmcmIG5hbWVzcGFjZVUKICAgICBpZiAobmFtZXNwYWNlVVJJID09IHN0YXJB
dG9tKQogICAgICAgICByZXR1cm4gZ2V0RWxlbWVudHNCeVRhZ05hbWUobG9jYWxOYW1lKTsKIAot
ICAgIFN0cmluZyBuYW1lID0gbG9jYWxOYW1lOwotICAgIGlmIChkb2N1bWVudCgpLT5pc0hUTUxE
b2N1bWVudCgpKQotICAgICAgICBuYW1lID0gbG9jYWxOYW1lLmxvd2VyKCk7Ci0KLSAgICBBdG9t
aWNTdHJpbmcgbG9jYWxOYW1lQXRvbSA9IG5hbWU7CisgICAgQXRvbWljU3RyaW5nIGxvY2FsTmFt
ZUF0b20gPSBsb2NhbE5hbWU7CiAKICAgICBwYWlyPE5vZGVMaXN0c05vZGVEYXRhOjpUYWdOb2Rl
TGlzdENhY2hlTlM6Oml0ZXJhdG9yLCBib29sPiByZXN1bHQKICAgICAgICAgPSBlbnN1cmVSYXJl
RGF0YSgpLT5lbnN1cmVOb2RlTGlzdHModGhpcyktPm1fdGFnTm9kZUxpc3RDYWNoZU5TLmFkZChR
dWFsaWZpZWROYW1lKG51bGxBdG9tLCBsb2NhbE5hbWVBdG9tLCBuYW1lc3BhY2VVUkkpLmltcGwo
KSwgMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVGFnTm9kZUxpc3QuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL1RhZ05vZGVMaXN0LmNwcAppbmRleCAzZDAxMjYxZTFiZTVhYTE0
MjJmYmFhMzA2M2RkMTBiNjYzNzFkZmU3Li41NDQzZDc1YzM1YzEyZDJlMWJjYzM4MjQwNzc4Njhi
YTJlZmY0NDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVGFnTm9kZUxpc3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UYWdOb2RlTGlzdC5jcHAKQEAgLTMzLDYgKzMzLDcg
QEAgVGFnTm9kZUxpc3Q6OlRhZ05vZGVMaXN0KFBhc3NSZWZQdHI8Tm9kZT4gcm9vdE5vZGUsIGNv
bnN0IEF0b21pY1N0cmluZyYgbmFtZXNwYWMKICAgICA6IER5bmFtaWNTdWJ0cmVlTm9kZUxpc3Qo
cm9vdE5vZGUpCiAgICAgLCBtX25hbWVzcGFjZVVSSShuYW1lc3BhY2VVUkkpCiAgICAgLCBtX2xv
Y2FsTmFtZShsb2NhbE5hbWUpCisgICAgLCBtX2xvd2VyZWRMb2NhbE5hbWUobV9uYW1lc3BhY2VV
UkkgPT0gc3RhckF0b20gPyBsb2NhbE5hbWUubG93ZXIoKSA6IGxvY2FsTmFtZSkKIHsKICAgICBB
U1NFUlQobV9uYW1lc3BhY2VVUkkuaXNOdWxsKCkgfHwgIW1fbmFtZXNwYWNlVVJJLmlzRW1wdHko
KSk7CiB9CkBAIC00Nyw4ICs0OCwxMSBAQCBUYWdOb2RlTGlzdDo6flRhZ05vZGVMaXN0KCkKIAog
Ym9vbCBUYWdOb2RlTGlzdDo6bm9kZU1hdGNoZXMoRWxlbWVudCogdGVzdE5vZGUpIGNvbnN0CiB7
Ci0gICAgaWYgKG1fbG9jYWxOYW1lICE9IHN0YXJBdG9tICYmIG1fbG9jYWxOYW1lICE9IHRlc3RO
b2RlLT5sb2NhbE5hbWUoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChtX2xvY2Fs
TmFtZSAhPSBzdGFyQXRvbSkgeworICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcgJmxvY2FsTmFt
ZV8gPSB0ZXN0Tm9kZS0+aXNIVE1MRWxlbWVudCgpID8gbV9sb3dlcmVkTG9jYWxOYW1lIDogbV9s
b2NhbE5hbWU7CisgICAgICAgIGlmIChsb2NhbE5hbWVfICE9IHRlc3ROb2RlLT5sb2NhbE5hbWUo
KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CiAKICAgICByZXR1cm4gbV9uYW1l
c3BhY2VVUkkgPT0gc3RhckF0b20gfHwgbV9uYW1lc3BhY2VVUkkgPT0gdGVzdE5vZGUtPm5hbWVz
cGFjZVVSSSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1RhZ05vZGVMaXN0
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVGFnTm9kZUxpc3QuaAppbmRleCAyOTI3MzY4M2ExNjg0
NDMxYzg5ODU4YmExZWI1MzA3OWI2MGIxYTU3Li4yODZjZjQ3YzIxYmQxOTA2NzZiODY2MGZkYjFh
NzljMzBmMmFhNGIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVGFnTm9kZUxpc3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVGFnTm9kZUxpc3QuaApAQCAtNDYsNiArNDYsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgQXRvbWljU3RyaW5nIG1fbmFtZXNwYWNl
VVJJOwogICAgICAgICBBdG9taWNTdHJpbmcgbV9sb2NhbE5hbWU7CisgICAgICAgIEF0b21pY1N0
cmluZyBtX2xvd2VyZWRMb2NhbE5hbWU7CiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDZkNTRhZTNhN2M3NGQ2NDMzYTVhNDdhMjc5YmExZTI5MDNjYzE2NzMuLjAxYTQ3
ZjQ3MGM3ZTZiZDRlNDZiNGFhZGRmODU1NWIyODk0MGM0OTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBA
QAorMjAxMi0wMy0xOSAgUm9iIEJ1aXMgIDxyYnVpc0ByaW0uY29tPgorCisgICAgICAgIHF1ZXJ5
U2VsZWN0b3JBbGwvZ2V0RWxlbWVudHNCeVRhZ05hbWUgdW5hYmxlIHRvIGZpbmQgU1ZHIGNhbWVs
Q2FzZSBlbGVtZW50cyBpbXBvcnRlZCBpbnRvIEhUTUwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ2ODAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9nZXRlbGVtZW50c2J5bmFtZS1sb2Nh
bE5hbWUtbWF0Y2hpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9n
ZXRlbGVtZW50c2J5bmFtZS1sb2NhbE5hbWUtbWF0Y2hpbmcuaHRtbDogQWRkZWQuCisKIDIwMTIt
MDMtMTkgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAg
W1dLMl0gU3VwcG9ydCBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wUHJvZ3Jlc3NGaW5pc2hlZENh
bGxiYWNrKCkgaW4gV0tUUgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vZ2V0ZWxl
bWVudHNieW5hbWUtbG9jYWxOYW1lLW1hdGNoaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL2dldGVsZW1lbnRzYnluYW1lLWxvY2FsTmFtZS1tYXRjaGluZy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTJkZTE0YmIxNTVjNWYyNGUxNWE0YzBkNmFhNGM0ZWIyZDgyNWI1ZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2dldGVsZW1lbnRzYnluYW1l
LWxvY2FsTmFtZS1tYXRjaGluZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNSBAQAorUEFTUyBj
b250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2xpbmVhckdyYWRpZW50JykubGVuZ3RoIGlz
IDIKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdsaW5lYXJncmFkaWVudCcp
Lmxlbmd0aCBpcyAxCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnTElORUFS
R1JBRElFTlQnKS5sZW5ndGggaXMgMQorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05h
bWUoJ0ZPTycpLmxlbmd0aCBpcyAyCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFt
ZSgnZm9vJykubGVuZ3RoIGlzIDIKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1l
KCdGb28nKS5sZW5ndGggaXMgMgorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUo
J2ltZycpLmxlbmd0aCBpcyAyCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZSgn
SU1HJykubGVuZ3RoIGlzIDEKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMo
J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ2xpbmVhckdyYWRpZW50JykubGVuZ3RoIGlz
IDEKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMu
b3JnLzIwMDAvc3ZnJywgJ2xpbmVhcmdyYWRpZW50JykubGVuZ3RoIGlzIDAKK1BBU1MgY29udGFp
bmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywg
J0xJTkVBUkdSQURJRU5UJykubGVuZ3RoIGlzIDAKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRz
QnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ0ZPTycpLmxlbmd0aCBp
cyAwCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3Lncz
Lm9yZy8yMDAwL3N2ZycsICdmb28nKS5sZW5ndGggaXMgMAorUEFTUyBjb250YWluZXIuZ2V0RWxl
bWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAnRm9vJykubGVu
Z3RoIGlzIDAKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93
d3cudzMub3JnLzIwMDAvc3ZnJywgJ2ltZycpLmxlbmd0aCBpcyAxCitQQVNTIGNvbnRhaW5lci5n
ZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdJTUcn
KS5sZW5ndGggaXMgMAorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0
cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdsaW5lYXJHcmFkaWVudCcpLmxlbmd0aCBpcyAw
CitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9y
Zy8xOTk5L3hodG1sJywgJ2xpbmVhcmdyYWRpZW50JykubGVuZ3RoIGlzIDEKK1BBU1MgY29udGFp
bmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwn
LCAnTElORUFSR1JBRElFTlQnKS5sZW5ndGggaXMgMAorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVu
dHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdGT08nKS5sZW5n
dGggaXMgMAorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3
dy53My5vcmcvMTk5OS94aHRtbCcsICdmb28nKS5sZW5ndGggaXMgMgorUEFTUyBjb250YWluZXIu
Z2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdG
b28nKS5sZW5ndGggaXMgMAorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygn
aHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdpbWcnKS5sZW5ndGggaXMgMQorUEFTUyBj
b250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMTk5OS94
aHRtbCcsICdJTUcnKS5sZW5ndGggaXMgMAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9nZXRlbGVtZW50c2J5bmFtZS1sb2NhbE5hbWUtbWF0Y2hpbmcuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL2dldGVsZW1lbnRzYnluYW1lLWxvY2FsTmFtZS1tYXRjaGluZy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyNzMxNjQyZTBhN2RlMGI5MjIwYjYzODkwMjNiMmU1ODYzODgxYjUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9nZXRlbGVtZW50c2J5bmFtZS1sb2Nh
bE5hbWUtbWF0Y2hpbmcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IWRvY3R5cGUgaHRtbD4KKzxo
ZWFkPgorICAgIDxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJjb250YWluZXIiPjxGT08+PGZvbz48
bGluZWFyR3JhZGllbnQvPjwvZm9vPjwvRk9PPjxpbWcvPjwvZGl2PgorCis8c2NyaXB0PgoraWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7CisKK3ZhciBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
Y29udGFpbmVyJyk7Cit2YXIgc3ZnZG9jID0gbmV3IERPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmlu
ZygKKwknPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxsaW5lYXJHcmFk
aWVudD48L2xpbmVhckdyYWRpZW50PjxpbWcvPjwvc3ZnPicsICd0ZXh0L3htbCcpOworCit2YXIg
ZWxlbSA9IGRvY3VtZW50LmltcG9ydE5vZGUoc3ZnZG9jLmRvY3VtZW50RWxlbWVudCx0cnVlKTsK
K2NvbnRhaW5lci5hcHBlbmRDaGlsZChlbGVtKTsKKyAKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0
RWxlbWVudHNCeVRhZ05hbWUoJ2xpbmVhckdyYWRpZW50JykubGVuZ3RoIiwgIjIiKTsKK3Nob3Vs
ZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2xpbmVhcmdyYWRpZW50JykubGVu
Z3RoIiwgIjEiKTsKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ0xJ
TkVBUkdSQURJRU5UJykubGVuZ3RoIiwgIjEiKTsKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxl
bWVudHNCeVRhZ05hbWUoJ0ZPTycpLmxlbmd0aCIsICIyIik7CitzaG91bGRCZSgiY29udGFpbmVy
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdmb28nKS5sZW5ndGgiLCAiMiIpOworc2hvdWxkQmUoImNv
bnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnRm9vJykubGVuZ3RoIiwgIjIiKTsKK3Nob3Vs
ZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2ltZycpLmxlbmd0aCIsICIyIik7
CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdJTUcnKS5sZW5ndGgi
LCAiMSIpOworCitzaG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0
dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ2xpbmVhckdyYWRpZW50JykubGVuZ3RoIiwgIjEi
KTsKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3
dy53My5vcmcvMjAwMC9zdmcnLCAnbGluZWFyZ3JhZGllbnQnKS5sZW5ndGgiLCAiMCIpOworc2hv
dWxkQmUoImNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9y
Zy8yMDAwL3N2ZycsICdMSU5FQVJHUkFESUVOVCcpLmxlbmd0aCIsICIwIik7CitzaG91bGRCZSgi
Y29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAv
c3ZnJywgJ0ZPTycpLmxlbmd0aCIsICIwIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1l
bnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ2ZvbycpLmxlbmd0
aCIsICIwIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0
dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ0ZvbycpLmxlbmd0aCIsICIwIik7CitzaG91bGRC
ZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIw
MDAvc3ZnJywgJ2ltZycpLmxlbmd0aCIsICIxIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVs
ZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ0lNRycpLmxl
bmd0aCIsICIwIik7CisKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVO
UygnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdsaW5lYXJHcmFkaWVudCcpLmxlbmd0
aCIsICIwIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0
dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCAnbGluZWFyZ3JhZGllbnQnKS5sZW5ndGgiLCAi
MSIpOworc2hvdWxkQmUoImNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8v
d3d3LnczLm9yZy8xOTk5L3hodG1sJywgJ0xJTkVBUkdSQURJRU5UJykubGVuZ3RoIiwgIjAiKTsK
K3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53
My5vcmcvMTk5OS94aHRtbCcsICdGT08nKS5sZW5ndGgiLCAiMCIpOworc2hvdWxkQmUoImNvbnRh
aW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1s
JywgJ2ZvbycpLmxlbmd0aCIsICIyIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRz
QnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCAnRm9vJykubGVuZ3Ro
IiwgIjAiKTsKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0
cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdpbWcnKS5sZW5ndGgiLCAiMSIpOworc2hvdWxk
QmUoImNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8x
OTk5L3hodG1sJywgJ0lNRycpLmxlbmd0aCIsICIwIik7Cis8L3NjcmlwdD4KKzwvYm9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136149</attachid>
            <date>2012-04-08 11:07:56 -0700</date>
            <delta_ts>2012-04-08 15:20:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-46800-20120408140751.patch</filename>
            <type>text/plain</type>
            <size>24524</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWQyYmU1NWMwYzA4MmM5
Y2NmMTJhNjdkMWI3ZDBhZTgwZDUxOWQ4OS4uMmFkZTc4NTNiOWNkNzgyYjllNWMxMjYwYzkzYTI1
ODFmMTZhZjBjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA0LTA4ICBSb2Ig
QnVpcyAgPHJidWlzQHJpbS5jb20+CisKKyAgICAgICAgcXVlcnlTZWxlY3RvckFsbC9nZXRFbGVt
ZW50c0J5VGFnTmFtZSB1bmFibGUgdG8gZmluZCBTVkcgY2FtZWxDYXNlIGVsZW1lbnRzIGltcG9y
dGVkIGludG8gSFRNTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NDY4MDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBQcm9wZXJseSBtYXRjaCBnZXRFbGVtZW50c0J5VGFnTmFtZShOUykgYWNjb3JkaW5nIHRv
IHRoZSBIVE1MNSBzcGVjaWZpY2F0aW9uLgorCisgICAgICAgIFRlc3RzOiBmYXN0L2RvbS9nZXRF
bGVtZW50c0J5VGFnTmFtZS1sb2NhbE5hbWUtbWF0Y2hpbmcuaHRtbAorICAgICAgICAgICAgICAg
ZmFzdC9kb20vZ2V0RWxlbWVudHNCeVRhZ05hbWUtbG9jYWxOYW1lLW1hdGNoaW5nMi54aHRtbAor
ICAgICAgICAgICAgICAgc3ZnL2RvbS9nZXRFbGVtZW50c0J5VGFnTmFtZS1sb2NhbE5hbWUtbWF0
Y2hpbmcuaHRtbAorCisgICAgICAgICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Tm9kZTo6Z2V0RWxlbWVudHNCeVRhZ05hbWUpOiBjcmVhdGUgVGFnTm9kZUxpc3QgZGVwZW5kaW5n
IG9uIG93bmVyIGRvY3VtZW50IHR5cGUuCisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpnZXRFbGVt
ZW50c0J5VGFnTmFtZU5TKTogZG8gbm90IGxvd2VyY2FzZSBsb2NhbE5hbWUgZm9yIGh0bWwuCisg
ICAgICAgICogZG9tL1RhZ05vZGVMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUYWdO
b2RlTGlzdDo6SFRNTFRhZ05vZGVMaXN0KTogYWRkIHNwZWNpYWxpemVkIFRhZ05vZGVMaXN0IGZv
ciBodG1sIG1hdGNoaW5nIHJ1bGVzLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MVGFnTm9kZUxpc3Q6Om5vZGVNYXRjaGVzKToKKyAgICAgICAgKiBkb20vVGFnTm9k
ZUxpc3QuaDoKKyAgICAgICAgKFRhZ05vZGVMaXN0KToKKyAgICAgICAgKEhUTUxUYWdOb2RlTGlz
dCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGFnTm9kZUxpc3Q6OmNyZWF0ZSk6CisKIDIwMTIt
MDQtMDcgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
W0NNYWtlXSBDbGVhbnVwIFdURiBpbmNsdWRlIGRpcmVjdG9yaWVzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKaW5k
ZXggMDQwNzUyN2IyMGQ5OTcwZjAwZDViMTI0N2E3OWI1ZWM1YWFhZGZhNS4uNDY4MGYwZGFmNDYx
NGM1MDFjNzM1ZTJlNzIwNmJlZDk3ZDQzNjlhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcApAQCAtMTYwNiwx
NyArMTYwNiwxNyBAQCBQYXNzUmVmUHRyPE5vZGVMaXN0PiBOb2RlOjpnZXRFbGVtZW50c0J5VGFn
TmFtZShjb25zdCBBdG9taWNTdHJpbmcmIGxvY2FsTmFtZSkKICAgICBpZiAobG9jYWxOYW1lLmlz
TnVsbCgpKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIFN0cmluZyBuYW1lID0gbG9jYWxOYW1l
OwotICAgIGlmIChkb2N1bWVudCgpLT5pc0hUTUxEb2N1bWVudCgpKQotICAgICAgICBuYW1lID0g
bG9jYWxOYW1lLmxvd2VyKCk7Ci0KLSAgICBBdG9taWNTdHJpbmcgbG9jYWxOYW1lQXRvbSA9IG5h
bWU7CisgICAgQXRvbWljU3RyaW5nIGxvY2FsTmFtZUF0b20gPSBsb2NhbE5hbWU7CiAKICAgICBO
b2RlTGlzdHNOb2RlRGF0YTo6VGFnTm9kZUxpc3RDYWNoZTo6QWRkUmVzdWx0IHJlc3VsdCA9IGVu
c3VyZVJhcmVEYXRhKCktPmVuc3VyZU5vZGVMaXN0cyh0aGlzKS0+bV90YWdOb2RlTGlzdENhY2hl
LmFkZChsb2NhbE5hbWVBdG9tLCAwKTsKICAgICBpZiAoIXJlc3VsdC5pc05ld0VudHJ5KQogICAg
ICAgICByZXR1cm4gUGFzc1JlZlB0cjxUYWdOb2RlTGlzdD4ocmVzdWx0Lml0ZXJhdG9yLT5zZWNv
bmQpOwogCi0gICAgUmVmUHRyPFRhZ05vZGVMaXN0PiBsaXN0ID0gVGFnTm9kZUxpc3Q6OmNyZWF0
ZSh0aGlzLCBzdGFyQXRvbSwgbG9jYWxOYW1lQXRvbSk7CisgICAgUmVmUHRyPFRhZ05vZGVMaXN0
PiBsaXN0OworICAgIGlmIChkb2N1bWVudCgpLT5pc0hUTUxEb2N1bWVudCgpKQorICAgICAgICBs
aXN0ID0gSFRNTFRhZ05vZGVMaXN0OjpjcmVhdGUodGhpcywgc3RhckF0b20sIGxvY2FsTmFtZUF0
b20pOworICAgIGVsc2UKKyAgICAgICAgbGlzdCA9IFRhZ05vZGVMaXN0OjpjcmVhdGUodGhpcywg
c3RhckF0b20sIGxvY2FsTmFtZUF0b20pOwogICAgIHJlc3VsdC5pdGVyYXRvci0+c2Vjb25kID0g
bGlzdC5nZXQoKTsKICAgICByZXR1cm4gbGlzdC5yZWxlYXNlKCk7ICAgCiB9CkBAIC0xNjI5LDEx
ICsxNjI5LDcgQEAgUGFzc1JlZlB0cjxOb2RlTGlzdD4gTm9kZTo6Z2V0RWxlbWVudHNCeVRhZ05h
bWVOUyhjb25zdCBBdG9taWNTdHJpbmcmIG5hbWVzcGFjZVUKICAgICBpZiAobmFtZXNwYWNlVVJJ
ID09IHN0YXJBdG9tKQogICAgICAgICByZXR1cm4gZ2V0RWxlbWVudHNCeVRhZ05hbWUobG9jYWxO
YW1lKTsKIAotICAgIFN0cmluZyBuYW1lID0gbG9jYWxOYW1lOwotICAgIGlmIChkb2N1bWVudCgp
LT5pc0hUTUxEb2N1bWVudCgpKQotICAgICAgICBuYW1lID0gbG9jYWxOYW1lLmxvd2VyKCk7Ci0K
LSAgICBBdG9taWNTdHJpbmcgbG9jYWxOYW1lQXRvbSA9IG5hbWU7CisgICAgQXRvbWljU3RyaW5n
IGxvY2FsTmFtZUF0b20gPSBsb2NhbE5hbWU7CiAKICAgICBOb2RlTGlzdHNOb2RlRGF0YTo6VGFn
Tm9kZUxpc3RDYWNoZU5TOjpBZGRSZXN1bHQgcmVzdWx0CiAgICAgICAgID0gZW5zdXJlUmFyZURh
dGEoKS0+ZW5zdXJlTm9kZUxpc3RzKHRoaXMpLT5tX3RhZ05vZGVMaXN0Q2FjaGVOUy5hZGQoUXVh
bGlmaWVkTmFtZShudWxsQXRvbSwgbG9jYWxOYW1lQXRvbSwgbmFtZXNwYWNlVVJJKS5pbXBsKCks
IDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1RhZ05vZGVMaXN0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9UYWdOb2RlTGlzdC5jcHAKaW5kZXggM2QwMTI2MWUxYmU1YWExNDIy
ZmJhYTMwNjNkZDEwYjY2MzcxZGZlNy4uMDliYWUwZmRjNWYzMmMyMTdmNzFhNjU2Mzk2NDM5MDc2
ZjA5ZTJlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1RhZ05vZGVMaXN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVGFnTm9kZUxpc3QuY3BwCkBAIC00NywxMCArNDcsMjkg
QEAgVGFnTm9kZUxpc3Q6On5UYWdOb2RlTGlzdCgpCiAKIGJvb2wgVGFnTm9kZUxpc3Q6Om5vZGVN
YXRjaGVzKEVsZW1lbnQqIHRlc3ROb2RlKSBjb25zdAogeworICAgIC8vIEltcGxlbWVudHMgaHR0
cDovL2R2Y3MudzMub3JnL2hnL2RvbWNvcmUvcmF3LWZpbGUvdGlwL092ZXJ2aWV3Lmh0bWwjY29u
Y2VwdC1nZXRlbGVtZW50c2J5dGFnbmFtZW5zCiAgICAgaWYgKG1fbG9jYWxOYW1lICE9IHN0YXJB
dG9tICYmIG1fbG9jYWxOYW1lICE9IHRlc3ROb2RlLT5sb2NhbE5hbWUoKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCiAgICAgcmV0dXJuIG1fbmFtZXNwYWNlVVJJID09IHN0YXJBdG9tIHx8IG1f
bmFtZXNwYWNlVVJJID09IHRlc3ROb2RlLT5uYW1lc3BhY2VVUkkoKTsKIH0KIAorSFRNTFRhZ05v
ZGVMaXN0OjpIVE1MVGFnTm9kZUxpc3QoUGFzc1JlZlB0cjxOb2RlPiByb290Tm9kZSwgY29uc3Qg
QXRvbWljU3RyaW5nJiBuYW1lc3BhY2VVUkksIGNvbnN0IEF0b21pY1N0cmluZyYgbG9jYWxOYW1l
KQorICAgIDogVGFnTm9kZUxpc3Qocm9vdE5vZGUsIG5hbWVzcGFjZVVSSSwgbG9jYWxOYW1lKQor
ICAgICwgbV9sb3dlcmVkTG9jYWxOYW1lKGxvY2FsTmFtZS5sb3dlcigpKQoreworfQorCitib29s
IEhUTUxUYWdOb2RlTGlzdDo6bm9kZU1hdGNoZXMoRWxlbWVudCogdGVzdE5vZGUpIGNvbnN0Cit7
CisgICAgLy8gSW1wbGVtZW50cyBodHRwOi8vZHZjcy53My5vcmcvaGcvZG9tY29yZS9yYXctZmls
ZS90aXAvT3ZlcnZpZXcuaHRtbCNjb25jZXB0LWdldGVsZW1lbnRzYnl0YWduYW1lCisgICAgaWYg
KG1fbG9jYWxOYW1lICE9IHN0YXJBdG9tKSB7CisgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyAm
bG9jYWxOYW1lXyA9IHRlc3ROb2RlLT5pc0hUTUxFbGVtZW50KCkgPyBtX2xvd2VyZWRMb2NhbE5h
bWUgOiBtX2xvY2FsTmFtZTsKKyAgICAgICAgaWYgKGxvY2FsTmFtZV8gIT0gdGVzdE5vZGUtPmxv
Y2FsTmFtZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIHJldHVy
biBtX25hbWVzcGFjZVVSSSA9PSBzdGFyQXRvbSB8fCBtX25hbWVzcGFjZVVSSSA9PSB0ZXN0Tm9k
ZS0+bmFtZXNwYWNlVVJJKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UYWdOb2RlTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L1RhZ05vZGVMaXN0LmgKaW5kZXggMjkyNzM2ODNhMTY4NDQzMWM4OTg1OGJhMWViNTMwNzliNjBi
MWE1Ny4uYjhjY2VmZTUyZGMxYmMyMzY4YWY4NGM3NzAzNmEyZjI2ZjViYzk0NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1RhZ05vZGVMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1RhZ05vZGVMaXN0LmgKQEAgLTM5LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgICAgIHZpcnR1YWwgflRhZ05vZGVMaXN0KCk7CiAKLSAgICBwcml2YXRlOgorICAgIHBy
b3RlY3RlZDoKICAgICAgICAgVGFnTm9kZUxpc3QoUGFzc1JlZlB0cjxOb2RlPiByb290Tm9kZSwg
Y29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3BhY2VVUkksIGNvbnN0IEF0b21pY1N0cmluZyYgbG9j
YWxOYW1lKTsKIAogICAgICAgICB2aXJ0dWFsIGJvb2wgbm9kZU1hdGNoZXMoRWxlbWVudCopIGNv
bnN0OwpAQCAtNDgsNiArNDgsMjAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBBdG9t
aWNTdHJpbmcgbV9sb2NhbE5hbWU7CiAgICAgfTsKIAorICAgIGNsYXNzIEhUTUxUYWdOb2RlTGlz
dCA6IHB1YmxpYyBUYWdOb2RlTGlzdCB7CisgICAgcHVibGljOgorICAgICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxUYWdOb2RlTGlzdD4gY3JlYXRlKFBhc3NSZWZQdHI8Tm9kZT4gcm9vdE5vZGUsIGNv
bnN0IEF0b21pY1N0cmluZyYgbmFtZXNwYWNlVVJJLCBjb25zdCBBdG9taWNTdHJpbmcmIGxvY2Fs
TmFtZSkKKyAgICAgICAgeworICAgICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBIVE1MVGFn
Tm9kZUxpc3Qocm9vdE5vZGUsIG5hbWVzcGFjZVVSSSwgbG9jYWxOYW1lKSk7CisgICAgICAgIH0K
KworICAgIHByaXZhdGU6CisgICAgICAgIEhUTUxUYWdOb2RlTGlzdChQYXNzUmVmUHRyPE5vZGU+
IHJvb3ROb2RlLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWVzcGFjZVVSSSwgY29uc3QgQXRvbWlj
U3RyaW5nJiBsb2NhbE5hbWUpOworCisgICAgICAgIHZpcnR1YWwgYm9vbCBub2RlTWF0Y2hlcyhF
bGVtZW50KikgY29uc3Q7CisKKyAgICAgICAgQXRvbWljU3RyaW5nIG1fbG93ZXJlZExvY2FsTmFt
ZTsKKyAgICB9OwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gVGFnTm9kZUxp
c3RfaApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDI5OTk0NDI3NWQ1YmQzMTg2NTQ3NTQ4ZGJjN2FlMTYwNWRmYWMzOWEuLmFj
ZWM2MjIyMmQzMGFiZTcxMDEwYmY3NjAxOWFhOGFhNmVjY2MyNTkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
MCBAQAorMjAxMi0wNC0wOCAgUm9iIEJ1aXMgIDxyYnVpc0ByaW0uY29tPgorCisgICAgICAgIHF1
ZXJ5U2VsZWN0b3JBbGwvZ2V0RWxlbWVudHNCeVRhZ05hbWUgdW5hYmxlIHRvIGZpbmQgU1ZHIGNh
bWVsQ2FzZSBlbGVtZW50cyBpbXBvcnRlZCBpbnRvIEhUTUwKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ2ODAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3RzIGZvciBnZXRFbGVtZW50c0J5VGFn
TmFtZShOUykgaW4gaHRtbCwgeGh0bWwsIGFuZCBzdmcgZG9jdW1lbnRzLgorCisgICAgICAgICog
ZmFzdC9kb20vZ2V0RWxlbWVudHNCeVRhZ05hbWUtbG9jYWxOYW1lLW1hdGNoaW5nLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vZ2V0RWxlbWVudHNCeVRhZ05hbWUtbG9j
YWxOYW1lLW1hdGNoaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL2dldEVsZW1l
bnRzQnlUYWdOYW1lLWxvY2FsTmFtZS1tYXRjaGluZzItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2RvbS9nZXRFbGVtZW50c0J5VGFnTmFtZS1sb2NhbE5hbWUtbWF0Y2hpbmcy
LnhodG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvZG9tL2dldEVsZW1lbnRzQnlUYWdOYW1lLWxv
Y2FsTmFtZS1tYXRjaGluZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9kb20v
Z2V0RWxlbWVudHNCeVRhZ05hbWUtbG9jYWxOYW1lLW1hdGNoaW5nLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHN2Zy9kb20vc2NyaXB0LXRlc3RzL2dldEVsZW1lbnRzQnlUYWdOYW1lLWxvY2FsTmFt
ZS1tYXRjaGluZy5qczogQWRkZWQuCisKIDIwMTItMDQtMDcgIEFuZHJldyBTY2hlcmt1cyAgPHNj
aGVya3VzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIFVucmV2aWV3ZWQsIGNo
ZWNraW5nIGluIGJhc2VsaW5lcyBmb3IgdmlkZW8tZnJhbWUtc2l6ZS1jaGFuZ2UuaHRtbC4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2dldEVsZW1lbnRzQnlUYWdOYW1lLWxvY2Fs
TmFtZS1tYXRjaGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9nZXRFbGVt
ZW50c0J5VGFnTmFtZS1sb2NhbE5hbWUtbWF0Y2hpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEyZGUxNGJiMTU1YzVmMjRlMTVhNGMwZDZhYTRjNGViMmQ4MjViNWUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9nZXRFbGVtZW50c0J5VGFnTmFtZS1sb2NhbE5hbWUt
bWF0Y2hpbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjUgQEAKK1BBU1MgY29udGFpbmVyLmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCdsaW5lYXJHcmFkaWVudCcpLmxlbmd0aCBpcyAyCitQQVNTIGNv
bnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnbGluZWFyZ3JhZGllbnQnKS5sZW5ndGggaXMg
MQorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ0xJTkVBUkdSQURJRU5UJyku
bGVuZ3RoIGlzIDEKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdGT08nKS5s
ZW5ndGggaXMgMgorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2ZvbycpLmxl
bmd0aCBpcyAyCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnRm9vJykubGVu
Z3RoIGlzIDIKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbWcnKS5sZW5n
dGggaXMgMgorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ0lNRycpLmxlbmd0
aCBpcyAxCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3
LnczLm9yZy8yMDAwL3N2ZycsICdsaW5lYXJHcmFkaWVudCcpLmxlbmd0aCBpcyAxCitQQVNTIGNv
bnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2
ZycsICdsaW5lYXJncmFkaWVudCcpLmxlbmd0aCBpcyAwCitQQVNTIGNvbnRhaW5lci5nZXRFbGVt
ZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdMSU5FQVJHUkFE
SUVOVCcpLmxlbmd0aCBpcyAwCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5T
KCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdGT08nKS5sZW5ndGggaXMgMAorUEFTUyBj
b250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9z
dmcnLCAnZm9vJykubGVuZ3RoIGlzIDAKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdO
YW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ0ZvbycpLmxlbmd0aCBpcyAwCitQ
QVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8y
MDAwL3N2ZycsICdpbWcnKS5sZW5ndGggaXMgMQorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNC
eVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAnSU1HJykubGVuZ3RoIGlz
IDAKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMu
b3JnLzE5OTkveGh0bWwnLCAnbGluZWFyR3JhZGllbnQnKS5sZW5ndGggaXMgMAorUEFTUyBjb250
YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRt
bCcsICdsaW5lYXJncmFkaWVudCcpLmxlbmd0aCBpcyAxCitQQVNTIGNvbnRhaW5lci5nZXRFbGVt
ZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywgJ0xJTkVBUkdS
QURJRU5UJykubGVuZ3RoIGlzIDAKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1l
TlMoJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCAnRk9PJykubGVuZ3RoIGlzIDAKK1BB
U1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzE5
OTkveGh0bWwnLCAnZm9vJykubGVuZ3RoIGlzIDIKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRz
QnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCAnRm9vJykubGVuZ3Ro
IGlzIDAKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cu
dzMub3JnLzE5OTkveGh0bWwnLCAnaW1nJykubGVuZ3RoIGlzIDEKK1BBU1MgY29udGFpbmVyLmdl
dEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCAnSU1H
JykubGVuZ3RoIGlzIDAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vZ2V0RWxl
bWVudHNCeVRhZ05hbWUtbG9jYWxOYW1lLW1hdGNoaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9nZXRFbGVtZW50c0J5VGFnTmFtZS1sb2NhbE5hbWUtbWF0Y2hpbmcuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MjczMTY0MmUwYTdkZTBiOTIyMGI2Mzg5MDIzYjJlNTg2Mzg4MWI1Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vZ2V0RWxlbWVudHNCeVRhZ05hbWUtbG9jYWxO
YW1lLW1hdGNoaW5nLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aGVh
ZD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iY29udGFpbmVyIj48Rk9PPjxmb28+PGxp
bmVhckdyYWRpZW50Lz48L2Zvbz48L0ZPTz48aW1nLz48L2Rpdj4KKworPHNjcmlwdD4KK2lmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOworCit2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nv
bnRhaW5lcicpOwordmFyIHN2Z2RvYyA9IG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmco
CisJJzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48bGluZWFyR3JhZGll
bnQ+PC9saW5lYXJHcmFkaWVudD48aW1nLz48L3N2Zz4nLCAndGV4dC94bWwnKTsKKwordmFyIGVs
ZW0gPSBkb2N1bWVudC5pbXBvcnROb2RlKHN2Z2RvYy5kb2N1bWVudEVsZW1lbnQsdHJ1ZSk7Citj
b250YWluZXIuYXBwZW5kQ2hpbGQoZWxlbSk7CisgCitzaG91bGRCZSgiY29udGFpbmVyLmdldEVs
ZW1lbnRzQnlUYWdOYW1lKCdsaW5lYXJHcmFkaWVudCcpLmxlbmd0aCIsICIyIik7CitzaG91bGRC
ZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdsaW5lYXJncmFkaWVudCcpLmxlbmd0
aCIsICIxIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdMSU5F
QVJHUkFESUVOVCcpLmxlbmd0aCIsICIxIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1l
bnRzQnlUYWdOYW1lKCdGT08nKS5sZW5ndGgiLCAiMiIpOworc2hvdWxkQmUoImNvbnRhaW5lci5n
ZXRFbGVtZW50c0J5VGFnTmFtZSgnZm9vJykubGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJjb250
YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ0ZvbycpLmxlbmd0aCIsICIyIik7CitzaG91bGRC
ZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbWcnKS5sZW5ndGgiLCAiMiIpOwor
c2hvdWxkQmUoImNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnSU1HJykubGVuZ3RoIiwg
IjEiKTsKKworc2hvdWxkQmUoImNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRw
Oi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdsaW5lYXJHcmFkaWVudCcpLmxlbmd0aCIsICIxIik7
CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnJywgJ2xpbmVhcmdyYWRpZW50JykubGVuZ3RoIiwgIjAiKTsKK3Nob3Vs
ZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmcnLCAnTElORUFSR1JBRElFTlQnKS5sZW5ndGgiLCAiMCIpOworc2hvdWxkQmUoImNv
bnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2
ZycsICdGT08nKS5sZW5ndGgiLCAiMCIpOworc2hvdWxkQmUoImNvbnRhaW5lci5nZXRFbGVtZW50
c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdmb28nKS5sZW5ndGgi
LCAiMCIpOworc2hvdWxkQmUoImNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRw
Oi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdGb28nKS5sZW5ndGgiLCAiMCIpOworc2hvdWxkQmUo
ImNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAw
L3N2ZycsICdpbWcnKS5sZW5ndGgiLCAiMSIpOworc2hvdWxkQmUoImNvbnRhaW5lci5nZXRFbGVt
ZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdJTUcnKS5sZW5n
dGgiLCAiMCIpOworCitzaG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMo
J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCAnbGluZWFyR3JhZGllbnQnKS5sZW5ndGgi
LCAiMCIpOworc2hvdWxkQmUoImNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywgJ2xpbmVhcmdyYWRpZW50JykubGVuZ3RoIiwgIjEi
KTsKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3
dy53My5vcmcvMTk5OS94aHRtbCcsICdMSU5FQVJHUkFESUVOVCcpLmxlbmd0aCIsICIwIik7Citz
aG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMu
b3JnLzE5OTkveGh0bWwnLCAnRk9PJykubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJjb250YWlu
ZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcs
ICdmb28nKS5sZW5ndGgiLCAiMiIpOworc2hvdWxkQmUoImNvbnRhaW5lci5nZXRFbGVtZW50c0J5
VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywgJ0ZvbycpLmxlbmd0aCIs
ICIwIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6
Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCAnaW1nJykubGVuZ3RoIiwgIjEiKTsKK3Nob3VsZEJl
KCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMTk5
OS94aHRtbCcsICdJTUcnKS5sZW5ndGgiLCAiMCIpOworPC9zY3JpcHQ+Cis8L2JvZHk+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9nZXRFbGVtZW50c0J5VGFnTmFtZS1sb2NhbE5h
bWUtbWF0Y2hpbmcyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2dldEVsZW1l
bnRzQnlUYWdOYW1lLWxvY2FsTmFtZS1tYXRjaGluZzItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljk0MmQxMjgxNTNjZjE0NTMzMDYxNDEwMTlmMWJmNzczYmZmMzBjZDAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9nZXRFbGVtZW50c0J5VGFnTmFtZS1sb2NhbE5hbWUt
bWF0Y2hpbmcyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI1IEBACitQQVNTIGNvbnRhaW5lci5n
ZXRFbGVtZW50c0J5VGFnTmFtZSgnbGluZWFyR3JhZGllbnQnKS5sZW5ndGggaXMgMgorUEFTUyBj
b250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2xpbmVhcmdyYWRpZW50JykubGVuZ3RoIGlz
IDAKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdMSU5FQVJHUkFESUVOVCcp
Lmxlbmd0aCBpcyAwCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnRk9PJyku
bGVuZ3RoIGlzIDEKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdmb28nKS5s
ZW5ndGggaXMgMQorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ0ZvbycpLmxl
bmd0aCBpcyAwCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW1nJykubGVu
Z3RoIGlzIDIKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdJTUcnKS5sZW5n
dGggaXMgMAorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3
dy53My5vcmcvMjAwMC9zdmcnLCAnbGluZWFyR3JhZGllbnQnKS5sZW5ndGggaXMgMQorUEFTUyBj
b250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9z
dmcnLCAnbGluZWFyZ3JhZGllbnQnKS5sZW5ndGggaXMgMAorUEFTUyBjb250YWluZXIuZ2V0RWxl
bWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAnTElORUFSR1JB
RElFTlQnKS5sZW5ndGggaXMgMAorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVO
UygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAnRk9PJykubGVuZ3RoIGlzIDAKK1BBU1Mg
Y29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAv
c3ZnJywgJ2ZvbycpLmxlbmd0aCBpcyAwCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFn
TmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdGb28nKS5sZW5ndGggaXMgMAor
UEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmcnLCAnaW1nJykubGVuZ3RoIGlzIDEKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRz
QnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ0lNRycpLmxlbmd0aCBp
cyAwCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3Lncz
Lm9yZy8xOTk5L3hodG1sJywgJ2xpbmVhckdyYWRpZW50JykubGVuZ3RoIGlzIDEKK1BBU1MgY29u
dGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0
bWwnLCAnbGluZWFyZ3JhZGllbnQnKS5sZW5ndGggaXMgMAorUEFTUyBjb250YWluZXIuZ2V0RWxl
bWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdMSU5FQVJH
UkFESUVOVCcpLmxlbmd0aCBpcyAwCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFt
ZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywgJ0ZPTycpLmxlbmd0aCBpcyAxCitQ
QVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8x
OTk5L3hodG1sJywgJ2ZvbycpLmxlbmd0aCBpcyAxCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50
c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywgJ0ZvbycpLmxlbmd0
aCBpcyAwCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3
LnczLm9yZy8xOTk5L3hodG1sJywgJ2ltZycpLmxlbmd0aCBpcyAxCitQQVNTIGNvbnRhaW5lci5n
ZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywgJ0lN
RycpLmxlbmd0aCBpcyAwCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2dldEVs
ZW1lbnRzQnlUYWdOYW1lLWxvY2FsTmFtZS1tYXRjaGluZzIueGh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9nZXRFbGVtZW50c0J5VGFnTmFtZS1sb2NhbE5hbWUtbWF0Y2hpbmcyLnhodG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmQ5YjljODdjZDFmMmJmOTdhMzQ5NjgyOTFlNzhlYzZmYjRlYzMzZTcKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9nZXRFbGVtZW50c0J5VGFnTmFtZS1s
b2NhbE5hbWUtbWF0Y2hpbmcyLnhodG1sCkBAIC0wLDAgKzEsNDcgQEAKKzxodG1sIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KKzxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIu
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2IGlkPSJjb250YWluZXIiPjxGT08+PGZvbz48bGluZWFyR3JhZGllbnQvPjwvZm9vPjwv
Rk9PPjxpbWcvPjwvZGl2PgorCis8c2NyaXB0PjwhW0NEQVRBWworaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisK
K3ZhciBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVyJyk7Cit2
YXIgc3ZnZG9jID0gbmV3IERPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZygKKwknPHN2ZyB4bWxu
cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxsaW5lYXJHcmFkaWVudD48L2xpbmVhckdy
YWRpZW50PjxpbWcvPjwvc3ZnPicsICd0ZXh0L3htbCcpOworCit2YXIgZWxlbSA9IGRvY3VtZW50
LmltcG9ydE5vZGUoc3ZnZG9jLmRvY3VtZW50RWxlbWVudCx0cnVlKTsKK2NvbnRhaW5lci5hcHBl
bmRDaGlsZChlbGVtKTsKKyAKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05h
bWUoJ2xpbmVhckdyYWRpZW50JykubGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJjb250YWluZXIu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoJ2xpbmVhcmdyYWRpZW50JykubGVuZ3RoIiwgIjAiKTsKK3No
b3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ0xJTkVBUkdSQURJRU5UJyku
bGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUo
J0ZPTycpLmxlbmd0aCIsICIxIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlU
YWdOYW1lKCdmb28nKS5sZW5ndGgiLCAiMSIpOworc2hvdWxkQmUoImNvbnRhaW5lci5nZXRFbGVt
ZW50c0J5VGFnTmFtZSgnRm9vJykubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJjb250YWluZXIu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoJ2ltZycpLmxlbmd0aCIsICIyIik7CitzaG91bGRCZSgiY29u
dGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdJTUcnKS5sZW5ndGgiLCAiMCIpOworCitzaG91
bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3Jn
LzIwMDAvc3ZnJywgJ2xpbmVhckdyYWRpZW50JykubGVuZ3RoIiwgIjEiKTsKK3Nob3VsZEJlKCJj
b250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9z
dmcnLCAnbGluZWFyZ3JhZGllbnQnKS5sZW5ndGgiLCAiMCIpOworc2hvdWxkQmUoImNvbnRhaW5l
ci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdM
SU5FQVJHUkFESUVOVCcpLmxlbmd0aCIsICIwIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVs
ZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ0ZPTycpLmxl
bmd0aCIsICIwIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMo
J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ2ZvbycpLmxlbmd0aCIsICIwIik7CitzaG91
bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3Jn
LzIwMDAvc3ZnJywgJ0ZvbycpLmxlbmd0aCIsICIwIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdl
dEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ2ltZycp
Lmxlbmd0aCIsICIxIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1l
TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ0lNRycpLmxlbmd0aCIsICIwIik7CisK
K3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53
My5vcmcvMTk5OS94aHRtbCcsICdsaW5lYXJHcmFkaWVudCcpLmxlbmd0aCIsICIxIik7CitzaG91
bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3Jn
LzE5OTkveGh0bWwnLCAnbGluZWFyZ3JhZGllbnQnKS5sZW5ndGgiLCAiMCIpOworc2hvdWxkQmUo
ImNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5
L3hodG1sJywgJ0xJTkVBUkdSQURJRU5UJykubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJjb250
YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRt
bCcsICdGT08nKS5sZW5ndGgiLCAiMSIpOworc2hvdWxkQmUoImNvbnRhaW5lci5nZXRFbGVtZW50
c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywgJ2ZvbycpLmxlbmd0
aCIsICIxIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0
dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCAnRm9vJykubGVuZ3RoIiwgIjAiKTsKK3Nob3Vs
ZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcv
MTk5OS94aHRtbCcsICdpbWcnKS5sZW5ndGgiLCAiMSIpOworc2hvdWxkQmUoImNvbnRhaW5lci5n
ZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywgJ0lN
RycpLmxlbmd0aCIsICIwIik7CitdXT48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N2Zy9kb20vZ2V0RWxlbWVudHNCeVRhZ05hbWUtbG9jYWxOYW1l
LW1hdGNoaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9kb20vZ2V0RWxlbWVudHNC
eVRhZ05hbWUtbG9jYWxOYW1lLW1hdGNoaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NDI0
MzViN2RmMmM2Y2Y5YzM4YmNmZDM1N2U0OGRmOWMyNDI2ZjViCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvc3ZnL2RvbS9nZXRFbGVtZW50c0J5VGFnTmFtZS1sb2NhbE5hbWUtbWF0Y2hp
bmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhlIGJl
aGF2aW91ciBvZiBnZXRFbGVtZW50c0J5VGFnTmFtZSBpbiBhIG5vbi1IVE1MIGRvY3VtZW50CisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50
c0J5VGFnTmFtZSgnbGluZWFyR3JhZGllbnQnKS5sZW5ndGggaXMgMQorUEFTUyBjb250YWluZXIu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoJ2xpbmVhcmdyYWRpZW50JykubGVuZ3RoIGlzIDAKK1BBU1Mg
Y29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdMSU5FQVJHUkFESUVOVCcpLmxlbmd0aCBp
cyAwCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnRk9PJykubGVuZ3RoIGlz
IDEKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdmb28nKS5sZW5ndGggaXMg
MQorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ0ZvbycpLmxlbmd0aCBpcyAw
CitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW1nJykubGVuZ3RoIGlzIDEK
K1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdJTUcnKS5sZW5ndGggaXMgMAor
UEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmcnLCAnbGluZWFyR3JhZGllbnQnKS5sZW5ndGggaXMgMQorUEFTUyBjb250YWluZXIu
Z2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAnbGlu
ZWFyZ3JhZGllbnQnKS5sZW5ndGggaXMgMAorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRh
Z05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAnTElORUFSR1JBRElFTlQnKS5s
ZW5ndGggaXMgMAorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDov
L3d3dy53My5vcmcvMjAwMC9zdmcnLCAnRk9PJykubGVuZ3RoIGlzIDAKK1BBU1MgY29udGFpbmVy
LmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ2Zv
bycpLmxlbmd0aCBpcyAwCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdo
dHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdGb28nKS5sZW5ndGggaXMgMAorUEFTUyBjb250
YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcn
LCAnaW1nJykubGVuZ3RoIGlzIDEKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1l
TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ0lNRycpLmxlbmd0aCBpcyAwCitQQVNT
IGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5
L3hodG1sJywgJ2xpbmVhckdyYWRpZW50JykubGVuZ3RoIGlzIDAKK1BBU1MgY29udGFpbmVyLmdl
dEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCAnbGlu
ZWFyZ3JhZGllbnQnKS5sZW5ndGggaXMgMAorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRh
Z05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdMSU5FQVJHUkFESUVOVCcp
Lmxlbmd0aCBpcyAwCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywgJ0ZPTycpLmxlbmd0aCBpcyAxCitQQVNTIGNvbnRh
aW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1s
JywgJ2ZvbycpLmxlbmd0aCBpcyAxCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFt
ZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywgJ0ZvbycpLmxlbmd0aCBpcyAwCitQ
QVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8x
OTk5L3hodG1sJywgJ2ltZycpLmxlbmd0aCBpcyAwCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50
c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywgJ0lNRycpLmxlbmd0
aCBpcyAwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9nZXRFbGVtZW50c0J5VGFnTmFtZS1s
b2NhbE5hbWUtbWF0Y2hpbmcuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9kb20vZ2V0RWxlbWVudHNC
eVRhZ05hbWUtbG9jYWxOYW1lLW1hdGNoaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE3YWJhNTYzNWZj
ZmE2NWVlNGViMjUwZTU1M2MzYjgzYTdmZWE0NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3N2Zy9kb20vZ2V0RWxlbWVudHNCeVRhZ05hbWUtbG9jYWxOYW1lLW1hdGNoaW5nLmh0bWwK
QEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0i
c2NyaXB0LXRlc3RzL2dldEVsZW1lbnRzQnlUYWdOYW1lLWxvY2FsTmFtZS1tYXRjaGluZy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N2Zy9kb20vc2NyaXB0LXRlc3RzL2dldEVsZW1lbnRzQnlUYWdOYW1lLWxvY2FsTmFtZS1t
YXRjaGluZy5qcyBiL0xheW91dFRlc3RzL3N2Zy9kb20vc2NyaXB0LXRlc3RzL2dldEVsZW1lbnRz
QnlUYWdOYW1lLWxvY2FsTmFtZS1tYXRjaGluZy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yODQwNGFjMDBkMDA0
ZDExZGRiNjczOTFmMmNkMzg5MDU3MzRkMTkxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvc3ZnL2RvbS9zY3JpcHQtdGVzdHMvZ2V0RWxlbWVudHNCeVRhZ05hbWUtbG9jYWxOYW1lLW1h
dGNoaW5nLmpzCkBAIC0wLDAgKzEsMzggQEAKK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tz
IHRoZSBiZWhhdmlvdXIgb2YgZ2V0RWxlbWVudHNCeVRhZ05hbWUgaW4gYSBub24tSFRNTCBkb2N1
bWVudCIpOworCit2YXIgZG9jdW1lbnRTdHJpbmcgPSAiPHN2ZyB4bWxucz0naHR0cDovL3d3dy53
My5vcmcvMjAwMC9zdmcnIHdpZHRoPSc0MDAnIGhlaWdodD0nNDAwJz4iICsKKyAgICAgICAgICAg
ICAgICAgICAgICI8bGluZWFyR3JhZGllbnQvPjxpbWcvPjxmb3JlaWduT2JqZWN0Pjxib2R5IHht
bG5zPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJz48Zm9vLz48Rk9PLz48L2JvZHk+PC9m
b3JlaWduT2JqZWN0PiIgKworICAgICAgICAgICAgICAgICAgICAgIjwvc3ZnPiI7CisKK3ZhciBw
YXJzZXIgPSBuZXcgRE9NUGFyc2VyKCk7Cit2YXIgc3ZnRG9jdW1lbnQgPSBwYXJzZXIucGFyc2VG
cm9tU3RyaW5nKGRvY3VtZW50U3RyaW5nLCAiaW1hZ2Uvc3ZnK3htbCIpOwordmFyIGNvbnRhaW5l
ciA9IHN2Z0RvY3VtZW50LmRvY3VtZW50RWxlbWVudDsKKyAKK3Nob3VsZEJlKCJjb250YWluZXIu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoJ2xpbmVhckdyYWRpZW50JykubGVuZ3RoIiwgIjEiKTsKK3No
b3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2xpbmVhcmdyYWRpZW50Jyku
bGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUo
J0xJTkVBUkdSQURJRU5UJykubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0
RWxlbWVudHNCeVRhZ05hbWUoJ0ZPTycpLmxlbmd0aCIsICIxIik7CitzaG91bGRCZSgiY29udGFp
bmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdmb28nKS5sZW5ndGgiLCAiMSIpOworc2hvdWxkQmUo
ImNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnRm9vJykubGVuZ3RoIiwgIjAiKTsKK3No
b3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2ltZycpLmxlbmd0aCIsICIx
Iik7CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdJTUcnKS5sZW5n
dGgiLCAiMCIpOworCitzaG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMo
J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ2xpbmVhckdyYWRpZW50JykubGVuZ3RoIiwg
IjEiKTsKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDov
L3d3dy53My5vcmcvMjAwMC9zdmcnLCAnbGluZWFyZ3JhZGllbnQnKS5sZW5ndGgiLCAiMCIpOwor
c2hvdWxkQmUoImNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3Lncz
Lm9yZy8yMDAwL3N2ZycsICdMSU5FQVJHUkFESUVOVCcpLmxlbmd0aCIsICIwIik7CitzaG91bGRC
ZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIw
MDAvc3ZnJywgJ0ZPTycpLmxlbmd0aCIsICIwIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVs
ZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ2ZvbycpLmxl
bmd0aCIsICIwIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMo
J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ0ZvbycpLmxlbmd0aCIsICIwIik7CitzaG91
bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3Jn
LzIwMDAvc3ZnJywgJ2ltZycpLmxlbmd0aCIsICIxIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdl
dEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ0lNRycp
Lmxlbmd0aCIsICIwIik7CisKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05h
bWVOUygnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdsaW5lYXJHcmFkaWVudCcpLmxl
bmd0aCIsICIwIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMo
J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCAnbGluZWFyZ3JhZGllbnQnKS5sZW5ndGgi
LCAiMCIpOworc2hvdWxkQmUoImNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywgJ0xJTkVBUkdSQURJRU5UJykubGVuZ3RoIiwgIjAi
KTsKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3
dy53My5vcmcvMTk5OS94aHRtbCcsICdGT08nKS5sZW5ndGgiLCAiMSIpOworc2hvdWxkQmUoImNv
bnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3ho
dG1sJywgJ2ZvbycpLmxlbmd0aCIsICIxIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1l
bnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCAnRm9vJykubGVu
Z3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygn
aHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdpbWcnKS5sZW5ndGgiLCAiMCIpOworc2hv
dWxkQmUoImNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9y
Zy8xOTk5L3hodG1sJywgJ0lNRycpLmxlbmd0aCIsICIwIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136158</attachid>
            <date>2012-04-08 15:20:56 -0700</date>
            <delta_ts>2012-04-10 00:48:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-46800-20120408182043.patch</filename>
            <type>text/plain</type>
            <size>25312</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWQyYmU1NWMwYzA4MmM5
Y2NmMTJhNjdkMWI3ZDBhZTgwZDUxOWQ4OS4uOTY4MWRkNDQ1MWEzYTk0MzBhZWY5YmFlNTU2YmQ4
NTc3NDU3ZjA1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEyLTA0LTA4ICBSb2Ig
QnVpcyAgPHJidWlzQHJpbS5jb20+CisKKyAgICAgICAgZ2V0RWxlbWVudHNCeVRhZ05hbWUgdW5h
YmxlIHRvIGZpbmQgU1ZHIGNhbWVsQ2FzZSBlbGVtZW50cyBpbXBvcnRlZCBpbnRvIEhUTUwKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ2ODAwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IGdl
dEVsZW1lbnRzQnlUYWdOYW1lIGFjY29yZGluZyB0byB0aGUgYWxnb3JpdGhtIGluCisgICAgICAg
IGh0dHA6Ly9kdmNzLnczLm9yZy9oZy9kb21jb3JlL3Jhdy1maWxlL3RpcC9PdmVydmlldy5odG1s
I2NvbmNlcHQtZ2V0ZWxlbWVudHNieXRhZ25hbWUuCisgICAgICAgIElmIHRoZSBvd25lciBkb2N1
bWVudCBvZiB0aGUgZWxlbWVudCBpcyBodG1sLCB0aGUgbmV3IGNsYXNzIEhUTUxUYWdOb2RlTGlz
dCBkZWFscyB3aXRoCisgICAgICAgIGZpbmRpbmcgdGhlIG1hdGNoKGVzKSBiYXNlZCBvbiB0aGlz
IGFsZ29yaXRobS4gSWYgdGhlIG93bmVyIGRvY3VtZW50IGlzIG5vbiBIVE1MLCB0aGUgZXhpc3Rp
bmcKKyAgICAgICAgVGFnTm9kZUxpc3QgaXMgdXNlZC4KKworICAgICAgICBJbXBsZW1lbnQgZ2V0
RWxlbWVudHNCeVRhZ05hbWVOUyBhY2NvcmRpbmcgdG8gdGhlIGFsZ29yaXRobSBpbgorICAgICAg
ICBodHRwOi8vZHZjcy53My5vcmcvaGcvZG9tY29yZS9yYXctZmlsZS90aXAvT3ZlcnZpZXcuaHRt
bCNjb25jZXB0LWdldGVsZW1lbnRzYnl0YWduYW1lbnMuCisgICAgICAgIFRoZSBleGlzdGluZyBU
YWdOb2RlTGlzdCBpbXBsZW1lbnRzIHRoaXMgYWxnb3JpdGhtLgorCisgICAgICAgIENhY2hlZCBy
ZXN1bHRzIG1heSBoYXZlIGxlc3MgaGl0cyBhZnRlciB0aGlzIGNoYW5nZS4gVGFnIG5hbWVzIHRo
YXQgYXJlIGVxdWFsIHdoZW4gY2FzZQorICAgICAgICBpbnNlbnNpdGl2ZSBidXQgZGlmZmVyZW50
IHdoZW4gY2FzZSBzZW5zaXRpdmUgY2FuJ3Qgc2hhcmUgdGhlIHJlc3VsdCBkdWUgdG8gYWJvdmUg
YWxnb3JpdGhtcywgaS5lLgorICAgICAgICB0aGV5IHdvdWxkIG1hdGNoIGRpZmZlcmVudGx5IGlu
IHRoZSBub24gaHRtbCBwYXJ0IG9mIHRoZSBkb2N1bWVudC4KKworICAgICAgICBUZXN0czogZmFz
dC9kb20vZ2V0RWxlbWVudHNCeVRhZ05hbWUtbG9jYWxOYW1lLW1hdGNoaW5nLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvZG9tL2dldEVsZW1lbnRzQnlUYWdOYW1lLWxvY2FsTmFtZS1tYXRjaGlu
ZzIueGh0bWwKKyAgICAgICAgICAgICAgIHN2Zy9kb20vZ2V0RWxlbWVudHNCeVRhZ05hbWUtbG9j
YWxOYW1lLW1hdGNoaW5nLmh0bWwKKworICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok5vZGU6OmdldEVsZW1lbnRzQnlUYWdOYW1lKTogY3JlYXRlIFRhZ05vZGVMaXN0
IGRlcGVuZGluZyBvbiBvd25lciBkb2N1bWVudCB0eXBlLgorICAgICAgICAoV2ViQ29yZTo6Tm9k
ZTo6Z2V0RWxlbWVudHNCeVRhZ05hbWVOUyk6IGRvIG5vdCBsb3dlcmNhc2UgbG9jYWxOYW1lIGZv
ciBodG1sLgorICAgICAgICAqIGRvbS9UYWdOb2RlTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MVGFnTm9kZUxpc3Q6OkhUTUxUYWdOb2RlTGlzdCk6IGFkZCBzcGVjaWFsaXplZCBUYWdO
b2RlTGlzdCBmb3IgaHRtbCBtYXRjaGluZyBydWxlcy4KKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTFRhZ05vZGVMaXN0Ojpub2RlTWF0Y2hlcyk6CisgICAgICAgICog
ZG9tL1RhZ05vZGVMaXN0Lmg6CisgICAgICAgIChUYWdOb2RlTGlzdCk6CisgICAgICAgIChIVE1M
VGFnTm9kZUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRhZ05vZGVMaXN0OjpjcmVhdGUp
OgorCiAyMDEyLTA0LTA3ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFtDTWFrZV0gQ2xlYW51cCBXVEYgaW5jbHVkZSBkaXJlY3RvcmllcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuY3BwCmluZGV4IDA0MDc1MjdiMjBkOTk3MGYwMGQ1YjEyNDdhNzliNWVjNWFhYWRmYTUuLjQ2
ODBmMGRhZjQ2MTRjNTAxYzczNWUyZTcyMDZiZWQ5N2Q0MzY5YTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAK
QEAgLTE2MDYsMTcgKzE2MDYsMTcgQEAgUGFzc1JlZlB0cjxOb2RlTGlzdD4gTm9kZTo6Z2V0RWxl
bWVudHNCeVRhZ05hbWUoY29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbE5hbWUpCiAgICAgaWYgKGxv
Y2FsTmFtZS5pc051bGwoKSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBTdHJpbmcgbmFtZSA9
IGxvY2FsTmFtZTsKLSAgICBpZiAoZG9jdW1lbnQoKS0+aXNIVE1MRG9jdW1lbnQoKSkKLSAgICAg
ICAgbmFtZSA9IGxvY2FsTmFtZS5sb3dlcigpOwotCi0gICAgQXRvbWljU3RyaW5nIGxvY2FsTmFt
ZUF0b20gPSBuYW1lOworICAgIEF0b21pY1N0cmluZyBsb2NhbE5hbWVBdG9tID0gbG9jYWxOYW1l
OwogCiAgICAgTm9kZUxpc3RzTm9kZURhdGE6OlRhZ05vZGVMaXN0Q2FjaGU6OkFkZFJlc3VsdCBy
ZXN1bHQgPSBlbnN1cmVSYXJlRGF0YSgpLT5lbnN1cmVOb2RlTGlzdHModGhpcyktPm1fdGFnTm9k
ZUxpc3RDYWNoZS5hZGQobG9jYWxOYW1lQXRvbSwgMCk7CiAgICAgaWYgKCFyZXN1bHQuaXNOZXdF
bnRyeSkKICAgICAgICAgcmV0dXJuIFBhc3NSZWZQdHI8VGFnTm9kZUxpc3Q+KHJlc3VsdC5pdGVy
YXRvci0+c2Vjb25kKTsKIAotICAgIFJlZlB0cjxUYWdOb2RlTGlzdD4gbGlzdCA9IFRhZ05vZGVM
aXN0OjpjcmVhdGUodGhpcywgc3RhckF0b20sIGxvY2FsTmFtZUF0b20pOworICAgIFJlZlB0cjxU
YWdOb2RlTGlzdD4gbGlzdDsKKyAgICBpZiAoZG9jdW1lbnQoKS0+aXNIVE1MRG9jdW1lbnQoKSkK
KyAgICAgICAgbGlzdCA9IEhUTUxUYWdOb2RlTGlzdDo6Y3JlYXRlKHRoaXMsIHN0YXJBdG9tLCBs
b2NhbE5hbWVBdG9tKTsKKyAgICBlbHNlCisgICAgICAgIGxpc3QgPSBUYWdOb2RlTGlzdDo6Y3Jl
YXRlKHRoaXMsIHN0YXJBdG9tLCBsb2NhbE5hbWVBdG9tKTsKICAgICByZXN1bHQuaXRlcmF0b3It
PnNlY29uZCA9IGxpc3QuZ2V0KCk7CiAgICAgcmV0dXJuIGxpc3QucmVsZWFzZSgpOyAgIAogfQpA
QCAtMTYyOSwxMSArMTYyOSw3IEBAIFBhc3NSZWZQdHI8Tm9kZUxpc3Q+IE5vZGU6OmdldEVsZW1l
bnRzQnlUYWdOYW1lTlMoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3BhY2VVCiAgICAgaWYgKG5h
bWVzcGFjZVVSSSA9PSBzdGFyQXRvbSkKICAgICAgICAgcmV0dXJuIGdldEVsZW1lbnRzQnlUYWdO
YW1lKGxvY2FsTmFtZSk7CiAKLSAgICBTdHJpbmcgbmFtZSA9IGxvY2FsTmFtZTsKLSAgICBpZiAo
ZG9jdW1lbnQoKS0+aXNIVE1MRG9jdW1lbnQoKSkKLSAgICAgICAgbmFtZSA9IGxvY2FsTmFtZS5s
b3dlcigpOwotCi0gICAgQXRvbWljU3RyaW5nIGxvY2FsTmFtZUF0b20gPSBuYW1lOworICAgIEF0
b21pY1N0cmluZyBsb2NhbE5hbWVBdG9tID0gbG9jYWxOYW1lOwogCiAgICAgTm9kZUxpc3RzTm9k
ZURhdGE6OlRhZ05vZGVMaXN0Q2FjaGVOUzo6QWRkUmVzdWx0IHJlc3VsdAogICAgICAgICA9IGVu
c3VyZVJhcmVEYXRhKCktPmVuc3VyZU5vZGVMaXN0cyh0aGlzKS0+bV90YWdOb2RlTGlzdENhY2hl
TlMuYWRkKFF1YWxpZmllZE5hbWUobnVsbEF0b20sIGxvY2FsTmFtZUF0b20sIG5hbWVzcGFjZVVS
SSkuaW1wbCgpLCAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UYWdOb2RlTGlz
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVGFnTm9kZUxpc3QuY3BwCmluZGV4IDNkMDEyNjFl
MWJlNWFhMTQyMmZiYWEzMDYzZGQxMGI2NjM3MWRmZTcuLjA5YmFlMGZkYzVmMzJjMjE3ZjcxYTY1
NjM5NjQzOTA3NmYwOWUyZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UYWdOb2Rl
TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1RhZ05vZGVMaXN0LmNwcApAQCAtNDcs
MTAgKzQ3LDI5IEBAIFRhZ05vZGVMaXN0Ojp+VGFnTm9kZUxpc3QoKQogCiBib29sIFRhZ05vZGVM
aXN0Ojpub2RlTWF0Y2hlcyhFbGVtZW50KiB0ZXN0Tm9kZSkgY29uc3QKIHsKKyAgICAvLyBJbXBs
ZW1lbnRzIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy9kb21jb3JlL3Jhdy1maWxlL3RpcC9PdmVydmll
dy5odG1sI2NvbmNlcHQtZ2V0ZWxlbWVudHNieXRhZ25hbWVucwogICAgIGlmIChtX2xvY2FsTmFt
ZSAhPSBzdGFyQXRvbSAmJiBtX2xvY2FsTmFtZSAhPSB0ZXN0Tm9kZS0+bG9jYWxOYW1lKCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIHJldHVybiBtX25hbWVzcGFjZVVSSSA9PSBzdGFy
QXRvbSB8fCBtX25hbWVzcGFjZVVSSSA9PSB0ZXN0Tm9kZS0+bmFtZXNwYWNlVVJJKCk7CiB9CiAK
K0hUTUxUYWdOb2RlTGlzdDo6SFRNTFRhZ05vZGVMaXN0KFBhc3NSZWZQdHI8Tm9kZT4gcm9vdE5v
ZGUsIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZXNwYWNlVVJJLCBjb25zdCBBdG9taWNTdHJpbmcm
IGxvY2FsTmFtZSkKKyAgICA6IFRhZ05vZGVMaXN0KHJvb3ROb2RlLCBuYW1lc3BhY2VVUkksIGxv
Y2FsTmFtZSkKKyAgICAsIG1fbG93ZXJlZExvY2FsTmFtZShsb2NhbE5hbWUubG93ZXIoKSkKK3sK
K30KKworYm9vbCBIVE1MVGFnTm9kZUxpc3Q6Om5vZGVNYXRjaGVzKEVsZW1lbnQqIHRlc3ROb2Rl
KSBjb25zdAoreworICAgIC8vIEltcGxlbWVudHMgaHR0cDovL2R2Y3MudzMub3JnL2hnL2RvbWNv
cmUvcmF3LWZpbGUvdGlwL092ZXJ2aWV3Lmh0bWwjY29uY2VwdC1nZXRlbGVtZW50c2J5dGFnbmFt
ZQorICAgIGlmIChtX2xvY2FsTmFtZSAhPSBzdGFyQXRvbSkgeworICAgICAgICBjb25zdCBBdG9t
aWNTdHJpbmcgJmxvY2FsTmFtZV8gPSB0ZXN0Tm9kZS0+aXNIVE1MRWxlbWVudCgpID8gbV9sb3dl
cmVkTG9jYWxOYW1lIDogbV9sb2NhbE5hbWU7CisgICAgICAgIGlmIChsb2NhbE5hbWVfICE9IHRl
c3ROb2RlLT5sb2NhbE5hbWUoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisK
KyAgICByZXR1cm4gbV9uYW1lc3BhY2VVUkkgPT0gc3RhckF0b20gfHwgbV9uYW1lc3BhY2VVUkkg
PT0gdGVzdE5vZGUtPm5hbWVzcGFjZVVSSSgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVGFnTm9kZUxpc3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9UYWdOb2RlTGlzdC5oCmluZGV4IDI5MjczNjgzYTE2ODQ0MzFjODk4NThiYTFl
YjUzMDc5YjYwYjFhNTcuLmI4Y2NlZmU1MmRjMWJjMjM2OGFmODRjNzcwMzZhMmYyNmY1YmM5NDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UYWdOb2RlTGlzdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9UYWdOb2RlTGlzdC5oCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogICAgICAgICB2aXJ0dWFsIH5UYWdOb2RlTGlzdCgpOwogCi0gICAgcHJpdmF0
ZToKKyAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIFRhZ05vZGVMaXN0KFBhc3NSZWZQdHI8Tm9kZT4g
cm9vdE5vZGUsIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZXNwYWNlVVJJLCBjb25zdCBBdG9taWNT
dHJpbmcmIGxvY2FsTmFtZSk7CiAKICAgICAgICAgdmlydHVhbCBib29sIG5vZGVNYXRjaGVzKEVs
ZW1lbnQqKSBjb25zdDsKQEAgLTQ4LDYgKzQ4LDIwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgQXRvbWljU3RyaW5nIG1fbG9jYWxOYW1lOwogICAgIH07CiAKKyAgICBjbGFzcyBIVE1M
VGFnTm9kZUxpc3QgOiBwdWJsaWMgVGFnTm9kZUxpc3QgeworICAgIHB1YmxpYzoKKyAgICAgICAg
c3RhdGljIFBhc3NSZWZQdHI8VGFnTm9kZUxpc3Q+IGNyZWF0ZShQYXNzUmVmUHRyPE5vZGU+IHJv
b3ROb2RlLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWVzcGFjZVVSSSwgY29uc3QgQXRvbWljU3Ry
aW5nJiBsb2NhbE5hbWUpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgSFRNTFRhZ05vZGVMaXN0KHJvb3ROb2RlLCBuYW1lc3BhY2VVUkksIGxvY2FsTmFtZSkpOwor
ICAgICAgICB9CisKKyAgICBwcml2YXRlOgorICAgICAgICBIVE1MVGFnTm9kZUxpc3QoUGFzc1Jl
ZlB0cjxOb2RlPiByb290Tm9kZSwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3BhY2VVUkksIGNv
bnN0IEF0b21pY1N0cmluZyYgbG9jYWxOYW1lKTsKKworICAgICAgICB2aXJ0dWFsIGJvb2wgbm9k
ZU1hdGNoZXMoRWxlbWVudCopIGNvbnN0OworCisgICAgICAgIEF0b21pY1N0cmluZyBtX2xvd2Vy
ZWRMb2NhbE5hbWU7CisgICAgfTsKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8v
IFRhZ05vZGVMaXN0X2gKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyOTk5NDQyNzVkNWJkMzE4NjU0NzU0OGRiYzdhZTE2MDVk
ZmFjMzlhLi4zOWVhNDU5ODA4YzU0MGQyMDE1MmRmMTkxZTBlNDYwMjAyN2E3N2JiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTItMDQtMDggIFJvYiBCdWlzICA8cmJ1aXNAcmltLmNvbT4KKwor
ICAgICAgICBnZXRFbGVtZW50c0J5VGFnTmFtZSB1bmFibGUgdG8gZmluZCBTVkcgY2FtZWxDYXNl
IGVsZW1lbnRzIGltcG9ydGVkIGludG8gSFRNTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDY4MDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdHMgZm9yIGdldEVsZW1lbnRzQnlUYWdOYW1lKE5T
KSBpbiBodG1sLCB4aHRtbCwgYW5kIHN2ZyBkb2N1bWVudHMuCisKKyAgICAgICAgKiBmYXN0L2Rv
bS9nZXRFbGVtZW50c0J5VGFnTmFtZS1sb2NhbE5hbWUtbWF0Y2hpbmctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9nZXRFbGVtZW50c0J5VGFnTmFtZS1sb2NhbE5hbWUt
bWF0Y2hpbmcuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vZ2V0RWxlbWVudHNCeVRh
Z05hbWUtbG9jYWxOYW1lLW1hdGNoaW5nMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZG9tL2dldEVsZW1lbnRzQnlUYWdOYW1lLWxvY2FsTmFtZS1tYXRjaGluZzIueGh0bWw6
IEFkZGVkLgorICAgICAgICAqIHN2Zy9kb20vZ2V0RWxlbWVudHNCeVRhZ05hbWUtbG9jYWxOYW1l
LW1hdGNoaW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2RvbS9nZXRFbGVt
ZW50c0J5VGFnTmFtZS1sb2NhbE5hbWUtbWF0Y2hpbmcuaHRtbDogQWRkZWQuCisgICAgICAgICog
c3ZnL2RvbS9zY3JpcHQtdGVzdHMvZ2V0RWxlbWVudHNCeVRhZ05hbWUtbG9jYWxOYW1lLW1hdGNo
aW5nLmpzOiBBZGRlZC4KKwogMjAxMi0wNC0wNyAgQW5kcmV3IFNjaGVya3VzICA8c2NoZXJrdXNA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gVW5yZXZpZXdlZCwgY2hlY2tpbmcg
aW4gYmFzZWxpbmVzIGZvciB2aWRlby1mcmFtZS1zaXplLWNoYW5nZS5odG1sLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vZ2V0RWxlbWVudHNCeVRhZ05hbWUtbG9jYWxOYW1lLW1h
dGNoaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2dldEVsZW1lbnRzQnlU
YWdOYW1lLWxvY2FsTmFtZS1tYXRjaGluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTJkZTE0
YmIxNTVjNWYyNGUxNWE0YzBkNmFhNGM0ZWIyZDgyNWI1ZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL2dldEVsZW1lbnRzQnlUYWdOYW1lLWxvY2FsTmFtZS1tYXRjaGlu
Zy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNSBAQAorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoJ2xpbmVhckdyYWRpZW50JykubGVuZ3RoIGlzIDIKK1BBU1MgY29udGFpbmVy
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdsaW5lYXJncmFkaWVudCcpLmxlbmd0aCBpcyAxCitQQVNT
IGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnTElORUFSR1JBRElFTlQnKS5sZW5ndGgg
aXMgMQorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ0ZPTycpLmxlbmd0aCBp
cyAyCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnZm9vJykubGVuZ3RoIGlz
IDIKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdGb28nKS5sZW5ndGggaXMg
MgorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2ltZycpLmxlbmd0aCBpcyAy
CitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnSU1HJykubGVuZ3RoIGlzIDEK
K1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3Jn
LzIwMDAvc3ZnJywgJ2xpbmVhckdyYWRpZW50JykubGVuZ3RoIGlzIDEKK1BBU1MgY29udGFpbmVy
LmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ2xp
bmVhcmdyYWRpZW50JykubGVuZ3RoIGlzIDAKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlU
YWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ0xJTkVBUkdSQURJRU5UJyku
bGVuZ3RoIGlzIDAKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6
Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ0ZPTycpLmxlbmd0aCBpcyAwCitQQVNTIGNvbnRhaW5l
ci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdm
b28nKS5sZW5ndGggaXMgMAorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygn
aHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAnRm9vJykubGVuZ3RoIGlzIDAKK1BBU1MgY29u
dGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
JywgJ2ltZycpLmxlbmd0aCBpcyAxCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFt
ZU5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdJTUcnKS5sZW5ndGggaXMgMAorUEFT
UyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMTk5
OS94aHRtbCcsICdsaW5lYXJHcmFkaWVudCcpLmxlbmd0aCBpcyAwCitQQVNTIGNvbnRhaW5lci5n
ZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywgJ2xp
bmVhcmdyYWRpZW50JykubGVuZ3RoIGlzIDEKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlU
YWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCAnTElORUFSR1JBRElFTlQn
KS5sZW5ndGggaXMgMAorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0
cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdGT08nKS5sZW5ndGggaXMgMAorUEFTUyBjb250
YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRt
bCcsICdmb28nKS5sZW5ndGggaXMgMgorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05h
bWVOUygnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdGb28nKS5sZW5ndGggaXMgMAor
UEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcv
MTk5OS94aHRtbCcsICdpbWcnKS5sZW5ndGggaXMgMQorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVu
dHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdJTUcnKS5sZW5n
dGggaXMgMAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9nZXRFbGVtZW50c0J5
VGFnTmFtZS1sb2NhbE5hbWUtbWF0Y2hpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2dl
dEVsZW1lbnRzQnlUYWdOYW1lLWxvY2FsTmFtZS1tYXRjaGluZy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk0
ZmJmMWYyM2IxYmYyZWFhOTQzYmY0NDIzZTYxMTliZGNhMDc5M2YKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9nZXRFbGVtZW50c0J5VGFnTmFtZS1sb2NhbE5hbWUtbWF0
Y2hpbmcuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IWRvY3R5cGUgaHRtbD4KKzxoZWFkPgorICAg
IDxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJjb250YWluZXIiPjxGT08+PGZvbz48bGluZWFyR3Jh
ZGllbnQvPjwvZm9vPjwvRk9PPjxpbWcvPjwvZGl2PgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0
KCk7CisKK3ZhciBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVy
Jyk7Cit2YXIgc3ZnZG9jID0gbmV3IERPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZygKKwknPHN2
ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxsaW5lYXJHcmFkaWVudD48L2xp
bmVhckdyYWRpZW50PjxpbWcvPjwvc3ZnPicsICd0ZXh0L3htbCcpOworCit2YXIgZWxlbSA9IGRv
Y3VtZW50LmltcG9ydE5vZGUoc3ZnZG9jLmRvY3VtZW50RWxlbWVudCx0cnVlKTsKK2NvbnRhaW5l
ci5hcHBlbmRDaGlsZChlbGVtKTsKKworc2hvdWxkQmUoImNvbnRhaW5lci5nZXRFbGVtZW50c0J5
VGFnTmFtZSgnbGluZWFyR3JhZGllbnQnKS5sZW5ndGgiLCAiMiIpOworc2hvdWxkQmUoImNvbnRh
aW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnbGluZWFyZ3JhZGllbnQnKS5sZW5ndGgiLCAiMSIp
Oworc2hvdWxkQmUoImNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnTElORUFSR1JBRElF
TlQnKS5sZW5ndGgiLCAiMSIpOworc2hvdWxkQmUoImNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFn
TmFtZSgnRk9PJykubGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoJ2ZvbycpLmxlbmd0aCIsICIyIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCdGb28nKS5sZW5ndGgiLCAiMiIpOworc2hvdWxkQmUoImNvbnRh
aW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW1nJykubGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJl
KCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ0lNRycpLmxlbmd0aCIsICIxIik7CisK
K3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53
My5vcmcvMjAwMC9zdmcnLCAnbGluZWFyR3JhZGllbnQnKS5sZW5ndGgiLCAiMSIpOworc2hvdWxk
QmUoImNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8y
MDAwL3N2ZycsICdsaW5lYXJncmFkaWVudCcpLmxlbmd0aCIsICIwIik7CitzaG91bGRCZSgiY29u
dGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
JywgJ0xJTkVBUkdSQURJRU5UJykubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJjb250YWluZXIu
Z2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAnRk9P
JykubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05h
bWVOUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAnZm9vJykubGVuZ3RoIiwgIjAiKTsK
K3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53
My5vcmcvMjAwMC9zdmcnLCAnRm9vJykubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJjb250YWlu
ZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAn
aW1nJykubGVuZ3RoIiwgIjEiKTsKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRh
Z05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAnSU1HJykubGVuZ3RoIiwgIjAi
KTsKKworc2hvdWxkQmUoImNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8v
d3d3LnczLm9yZy8xOTk5L3hodG1sJywgJ2xpbmVhckdyYWRpZW50JykubGVuZ3RoIiwgIjAiKTsK
K3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53
My5vcmcvMTk5OS94aHRtbCcsICdsaW5lYXJncmFkaWVudCcpLmxlbmd0aCIsICIxIik7CitzaG91
bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3Jn
LzE5OTkveGh0bWwnLCAnTElORUFSR1JBRElFTlQnKS5sZW5ndGgiLCAiMCIpOworc2hvdWxkQmUo
ImNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5
L3hodG1sJywgJ0ZPTycpLmxlbmd0aCIsICIwIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVs
ZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCAnZm9vJyku
bGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVO
UygnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdGb28nKS5sZW5ndGgiLCAiMCIpOwor
c2hvdWxkQmUoImNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3Lncz
Lm9yZy8xOTk5L3hodG1sJywgJ2ltZycpLmxlbmd0aCIsICIxIik7CitzaG91bGRCZSgiY29udGFp
bmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwn
LCAnSU1HJykubGVuZ3RoIiwgIjAiKTsKKzwvc2NyaXB0PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vZ2V0RWxlbWVudHNCeVRhZ05hbWUtbG9jYWxOYW1lLW1hdGNo
aW5nMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9nZXRFbGVtZW50c0J5VGFn
TmFtZS1sb2NhbE5hbWUtbWF0Y2hpbmcyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NDJkMTI4
MTUzY2YxNDUzMzA2MTQxMDE5ZjFiZjc3M2JmZjMwY2QwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vZ2V0RWxlbWVudHNCeVRhZ05hbWUtbG9jYWxOYW1lLW1hdGNoaW5n
Mi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNSBAQAorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoJ2xpbmVhckdyYWRpZW50JykubGVuZ3RoIGlzIDIKK1BBU1MgY29udGFpbmVy
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdsaW5lYXJncmFkaWVudCcpLmxlbmd0aCBpcyAwCitQQVNT
IGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnTElORUFSR1JBRElFTlQnKS5sZW5ndGgg
aXMgMAorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ0ZPTycpLmxlbmd0aCBp
cyAxCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnZm9vJykubGVuZ3RoIGlz
IDEKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdGb28nKS5sZW5ndGggaXMg
MAorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2ltZycpLmxlbmd0aCBpcyAy
CitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnSU1HJykubGVuZ3RoIGlzIDAK
K1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3Jn
LzIwMDAvc3ZnJywgJ2xpbmVhckdyYWRpZW50JykubGVuZ3RoIGlzIDEKK1BBU1MgY29udGFpbmVy
LmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ2xp
bmVhcmdyYWRpZW50JykubGVuZ3RoIGlzIDAKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlU
YWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ0xJTkVBUkdSQURJRU5UJyku
bGVuZ3RoIGlzIDAKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6
Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ0ZPTycpLmxlbmd0aCBpcyAwCitQQVNTIGNvbnRhaW5l
ci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdm
b28nKS5sZW5ndGggaXMgMAorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygn
aHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAnRm9vJykubGVuZ3RoIGlzIDAKK1BBU1MgY29u
dGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
JywgJ2ltZycpLmxlbmd0aCBpcyAxCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFt
ZU5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdJTUcnKS5sZW5ndGggaXMgMAorUEFT
UyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMTk5
OS94aHRtbCcsICdsaW5lYXJHcmFkaWVudCcpLmxlbmd0aCBpcyAxCitQQVNTIGNvbnRhaW5lci5n
ZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywgJ2xp
bmVhcmdyYWRpZW50JykubGVuZ3RoIGlzIDAKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlU
YWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCAnTElORUFSR1JBRElFTlQn
KS5sZW5ndGggaXMgMAorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0
cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdGT08nKS5sZW5ndGggaXMgMQorUEFTUyBjb250
YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRt
bCcsICdmb28nKS5sZW5ndGggaXMgMQorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05h
bWVOUygnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdGb28nKS5sZW5ndGggaXMgMAor
UEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcv
MTk5OS94aHRtbCcsICdpbWcnKS5sZW5ndGggaXMgMQorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVu
dHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdJTUcnKS5sZW5n
dGggaXMgMAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9nZXRFbGVtZW50c0J5
VGFnTmFtZS1sb2NhbE5hbWUtbWF0Y2hpbmcyLnhodG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
Z2V0RWxlbWVudHNCeVRhZ05hbWUtbG9jYWxOYW1lLW1hdGNoaW5nMi54aHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jY2FjNGZjMDc1OWI3MjAwZGYwNDIyYjBkZGNiZGUxYjcyMjI2OTM1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vZ2V0RWxlbWVudHNCeVRhZ05hbWUtbG9jYWxOYW1l
LW1hdGNoaW5nMi54aHRtbApAQCAtMCwwICsxLDQ3IEBACis8aHRtbCB4bWxucz0iaHR0cDovL3d3
dy53My5vcmcvMTk5OS94aHRtbCI+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBp
ZD0iY29udGFpbmVyIj48Rk9PPjxmb28+PGxpbmVhckdyYWRpZW50Lz48L2Zvbz48L0ZPTz48aW1n
Lz48L2Rpdj4KKworPHNjcmlwdD48IVtDREFUQVsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCit2YXIgY29u
dGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicpOwordmFyIHN2Z2Rv
YyA9IG5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoCisJJzxzdmcgeG1sbnM9Imh0dHA6
Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48bGluZWFyR3JhZGllbnQ+PC9saW5lYXJHcmFkaWVudD48
aW1nLz48L3N2Zz4nLCAndGV4dC94bWwnKTsKKwordmFyIGVsZW0gPSBkb2N1bWVudC5pbXBvcnRO
b2RlKHN2Z2RvYy5kb2N1bWVudEVsZW1lbnQsdHJ1ZSk7Citjb250YWluZXIuYXBwZW5kQ2hpbGQo
ZWxlbSk7CisKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2xpbmVh
ckdyYWRpZW50JykubGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoJ2xpbmVhcmdyYWRpZW50JykubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJj
b250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ0xJTkVBUkdSQURJRU5UJykubGVuZ3RoIiwg
IjAiKTsKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ0ZPTycpLmxl
bmd0aCIsICIxIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdm
b28nKS5sZW5ndGgiLCAiMSIpOworc2hvdWxkQmUoImNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFn
TmFtZSgnRm9vJykubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoJ2ltZycpLmxlbmd0aCIsICIyIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCdJTUcnKS5sZW5ndGgiLCAiMCIpOworCitzaG91bGRCZSgiY29u
dGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
JywgJ2xpbmVhckdyYWRpZW50JykubGVuZ3RoIiwgIjEiKTsKK3Nob3VsZEJlKCJjb250YWluZXIu
Z2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAnbGlu
ZWFyZ3JhZGllbnQnKS5sZW5ndGgiLCAiMCIpOworc2hvdWxkQmUoImNvbnRhaW5lci5nZXRFbGVt
ZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdMSU5FQVJHUkFE
SUVOVCcpLmxlbmd0aCIsICIwIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlU
YWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ0ZPTycpLmxlbmd0aCIsICIw
Iik7CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93
d3cudzMub3JnLzIwMDAvc3ZnJywgJ2ZvbycpLmxlbmd0aCIsICIwIik7CitzaG91bGRCZSgiY29u
dGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
JywgJ0ZvbycpLmxlbmd0aCIsICIwIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRz
QnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ2ltZycpLmxlbmd0aCIs
ICIxIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6
Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ0lNRycpLmxlbmd0aCIsICIwIik7CisKK3Nob3VsZEJl
KCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMTk5
OS94aHRtbCcsICdsaW5lYXJHcmFkaWVudCcpLmxlbmd0aCIsICIxIik7CitzaG91bGRCZSgiY29u
dGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0
bWwnLCAnbGluZWFyZ3JhZGllbnQnKS5sZW5ndGgiLCAiMCIpOworc2hvdWxkQmUoImNvbnRhaW5l
ci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywg
J0xJTkVBUkdSQURJRU5UJykubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0
RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdGT08n
KS5sZW5ndGgiLCAiMSIpOworc2hvdWxkQmUoImNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFt
ZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywgJ2ZvbycpLmxlbmd0aCIsICIxIik7
CitzaG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cu
dzMub3JnLzE5OTkveGh0bWwnLCAnRm9vJykubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJjb250
YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRt
bCcsICdpbWcnKS5sZW5ndGgiLCAiMSIpOworc2hvdWxkQmUoImNvbnRhaW5lci5nZXRFbGVtZW50
c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywgJ0lNRycpLmxlbmd0
aCIsICIwIik7CitdXT48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N2Zy9kb20vZ2V0RWxlbWVudHNCeVRhZ05hbWUtbG9jYWxOYW1lLW1hdGNoaW5n
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N2Zy9kb20vZ2V0RWxlbWVudHNCeVRhZ05hbWUt
bG9jYWxOYW1lLW1hdGNoaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NDI0MzViN2RmMmM2
Y2Y5YzM4YmNmZDM1N2U0OGRmOWMyNDI2ZjViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvc3ZnL2RvbS9nZXRFbGVtZW50c0J5VGFnTmFtZS1sb2NhbE5hbWUtbWF0Y2hpbmctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhlIGJlaGF2aW91ciBv
ZiBnZXRFbGVtZW50c0J5VGFnTmFtZSBpbiBhIG5vbi1IVE1MIGRvY3VtZW50CisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFt
ZSgnbGluZWFyR3JhZGllbnQnKS5sZW5ndGggaXMgMQorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoJ2xpbmVhcmdyYWRpZW50JykubGVuZ3RoIGlzIDAKK1BBU1MgY29udGFpbmVy
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdMSU5FQVJHUkFESUVOVCcpLmxlbmd0aCBpcyAwCitQQVNT
IGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnRk9PJykubGVuZ3RoIGlzIDEKK1BBU1Mg
Y29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdmb28nKS5sZW5ndGggaXMgMQorUEFTUyBj
b250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ0ZvbycpLmxlbmd0aCBpcyAwCitQQVNTIGNv
bnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW1nJykubGVuZ3RoIGlzIDEKK1BBU1MgY29u
dGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdJTUcnKS5sZW5ndGggaXMgMAorUEFTUyBjb250
YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcn
LCAnbGluZWFyR3JhZGllbnQnKS5sZW5ndGggaXMgMQorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVu
dHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAnbGluZWFyZ3JhZGll
bnQnKS5sZW5ndGggaXMgMAorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygn
aHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAnTElORUFSR1JBRElFTlQnKS5sZW5ndGggaXMg
MAorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5v
cmcvMjAwMC9zdmcnLCAnRk9PJykubGVuZ3RoIGlzIDAKK1BBU1MgY29udGFpbmVyLmdldEVsZW1l
bnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ2ZvbycpLmxlbmd0
aCBpcyAwCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3
LnczLm9yZy8yMDAwL3N2ZycsICdGb28nKS5sZW5ndGggaXMgMAorUEFTUyBjb250YWluZXIuZ2V0
RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAnaW1nJyku
bGVuZ3RoIGlzIDEKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6
Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ0lNRycpLmxlbmd0aCBpcyAwCitQQVNTIGNvbnRhaW5l
ci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywg
J2xpbmVhckdyYWRpZW50JykubGVuZ3RoIGlzIDAKK1BBU1MgY29udGFpbmVyLmdldEVsZW1lbnRz
QnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCAnbGluZWFyZ3JhZGll
bnQnKS5sZW5ndGggaXMgMAorUEFTUyBjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygn
aHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdMSU5FQVJHUkFESUVOVCcpLmxlbmd0aCBp
cyAwCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3Lncz
Lm9yZy8xOTk5L3hodG1sJywgJ0ZPTycpLmxlbmd0aCBpcyAxCitQQVNTIGNvbnRhaW5lci5nZXRF
bGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywgJ2Zvbycp
Lmxlbmd0aCBpcyAxCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywgJ0ZvbycpLmxlbmd0aCBpcyAwCitQQVNTIGNvbnRh
aW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1s
JywgJ2ltZycpLmxlbmd0aCBpcyAwCitQQVNTIGNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFt
ZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywgJ0lNRycpLmxlbmd0aCBpcyAwCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2RvbS9nZXRFbGVtZW50c0J5VGFnTmFtZS1sb2NhbE5hbWUt
bWF0Y2hpbmcuaHRtbCBiL0xheW91dFRlc3RzL3N2Zy9kb20vZ2V0RWxlbWVudHNCeVRhZ05hbWUt
bG9jYWxOYW1lLW1hdGNoaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE3YWJhNTYzNWZjZmE2NWVlNGVi
MjUwZTU1M2MzYjgzYTdmZWE0NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N2Zy9k
b20vZ2V0RWxlbWVudHNCeVRhZ05hbWUtbG9jYWxOYW1lLW1hdGNoaW5nLmh0bWwKQEAgLTAsMCAr
MSwxMiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRl
c3RzL2dldEVsZW1lbnRzQnlUYWdOYW1lLWxvY2FsTmFtZS1tYXRjaGluZy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9k
b20vc2NyaXB0LXRlc3RzL2dldEVsZW1lbnRzQnlUYWdOYW1lLWxvY2FsTmFtZS1tYXRjaGluZy5q
cyBiL0xheW91dFRlc3RzL3N2Zy9kb20vc2NyaXB0LXRlc3RzL2dldEVsZW1lbnRzQnlUYWdOYW1l
LWxvY2FsTmFtZS1tYXRjaGluZy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZDM3YTFlOWNlMDc2MGY2N2JlNDdk
MDQ0NzMyNDA3NWFiM2YxYzVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2Rv
bS9zY3JpcHQtdGVzdHMvZ2V0RWxlbWVudHNCeVRhZ05hbWUtbG9jYWxOYW1lLW1hdGNoaW5nLmpz
CkBAIC0wLDAgKzEsMzggQEAKK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHRoZSBiZWhh
dmlvdXIgb2YgZ2V0RWxlbWVudHNCeVRhZ05hbWUgaW4gYSBub24tSFRNTCBkb2N1bWVudCIpOwor
Cit2YXIgZG9jdW1lbnRTdHJpbmcgPSAiPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAw
MC9zdmcnIHdpZHRoPSc0MDAnIGhlaWdodD0nNDAwJz4iICsKKyAgICAgICAgICAgICAgICAgICAg
ICI8bGluZWFyR3JhZGllbnQvPjxpbWcvPjxmb3JlaWduT2JqZWN0Pjxib2R5IHhtbG5zPSdodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJz48Zm9vLz48Rk9PLz48L2JvZHk+PC9mb3JlaWduT2Jq
ZWN0PiIgKworICAgICAgICAgICAgICAgICAgICAgIjwvc3ZnPiI7CisKK3ZhciBwYXJzZXIgPSBu
ZXcgRE9NUGFyc2VyKCk7Cit2YXIgc3ZnRG9jdW1lbnQgPSBwYXJzZXIucGFyc2VGcm9tU3RyaW5n
KGRvY3VtZW50U3RyaW5nLCAiaW1hZ2Uvc3ZnK3htbCIpOwordmFyIGNvbnRhaW5lciA9IHN2Z0Rv
Y3VtZW50LmRvY3VtZW50RWxlbWVudDsKKworc2hvdWxkQmUoImNvbnRhaW5lci5nZXRFbGVtZW50
c0J5VGFnTmFtZSgnbGluZWFyR3JhZGllbnQnKS5sZW5ndGgiLCAiMSIpOworc2hvdWxkQmUoImNv
bnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnbGluZWFyZ3JhZGllbnQnKS5sZW5ndGgiLCAi
MCIpOworc2hvdWxkQmUoImNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnTElORUFSR1JB
RElFTlQnKS5sZW5ndGgiLCAiMCIpOworc2hvdWxkQmUoImNvbnRhaW5lci5nZXRFbGVtZW50c0J5
VGFnTmFtZSgnRk9PJykubGVuZ3RoIiwgIjEiKTsKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxl
bWVudHNCeVRhZ05hbWUoJ2ZvbycpLmxlbmd0aCIsICIxIik7CitzaG91bGRCZSgiY29udGFpbmVy
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdGb28nKS5sZW5ndGgiLCAiMCIpOworc2hvdWxkQmUoImNv
bnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaW1nJykubGVuZ3RoIiwgIjEiKTsKK3Nob3Vs
ZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ0lNRycpLmxlbmd0aCIsICIwIik7
CisKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3
dy53My5vcmcvMjAwMC9zdmcnLCAnbGluZWFyR3JhZGllbnQnKS5sZW5ndGgiLCAiMSIpOworc2hv
dWxkQmUoImNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9y
Zy8yMDAwL3N2ZycsICdsaW5lYXJncmFkaWVudCcpLmxlbmd0aCIsICIwIik7CitzaG91bGRCZSgi
Y29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAv
c3ZnJywgJ0xJTkVBUkdSQURJRU5UJykubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJjb250YWlu
ZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAn
Rk9PJykubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRh
Z05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAnZm9vJykubGVuZ3RoIiwgIjAi
KTsKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3
dy53My5vcmcvMjAwMC9zdmcnLCAnRm9vJykubGVuZ3RoIiwgIjAiKTsKK3Nob3VsZEJlKCJjb250
YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcn
LCAnaW1nJykubGVuZ3RoIiwgIjEiKTsKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNC
eVRhZ05hbWVOUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAnSU1HJykubGVuZ3RoIiwg
IjAiKTsKKworc2hvdWxkQmUoImNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywgJ2xpbmVhckdyYWRpZW50JykubGVuZ3RoIiwgIjAi
KTsKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05hbWVOUygnaHR0cDovL3d3
dy53My5vcmcvMTk5OS94aHRtbCcsICdsaW5lYXJncmFkaWVudCcpLmxlbmd0aCIsICIwIik7Citz
aG91bGRCZSgiY29udGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMu
b3JnLzE5OTkveGh0bWwnLCAnTElORUFSR1JBRElFTlQnKS5sZW5ndGgiLCAiMCIpOworc2hvdWxk
QmUoImNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3LnczLm9yZy8x
OTk5L3hodG1sJywgJ0ZPTycpLmxlbmd0aCIsICIxIik7CitzaG91bGRCZSgiY29udGFpbmVyLmdl
dEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCAnZm9v
JykubGVuZ3RoIiwgIjEiKTsKK3Nob3VsZEJlKCJjb250YWluZXIuZ2V0RWxlbWVudHNCeVRhZ05h
bWVOUygnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdGb28nKS5sZW5ndGgiLCAiMCIp
Oworc2hvdWxkQmUoImNvbnRhaW5lci5nZXRFbGVtZW50c0J5VGFnTmFtZU5TKCdodHRwOi8vd3d3
LnczLm9yZy8xOTk5L3hodG1sJywgJ2ltZycpLmxlbmd0aCIsICIwIik7CitzaG91bGRCZSgiY29u
dGFpbmVyLmdldEVsZW1lbnRzQnlUYWdOYW1lTlMoJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0
bWwnLCAnSU1HJykubGVuZ3RoIiwgIjAiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7Cg==
</data>
<flag name="review"
          id="140865"
          type_id="1"
          status="+"
          setter="zimmermann"
    />
          </attachment>
      

    </bug>

</bugzilla>