<?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>112270</bug_id>
          
          <creation_ts>2013-03-13 10:46:42 -0700</creation_ts>
          <short_desc>CSP blocks inline style when cloning a node</short_desc>
          <delta_ts>2013-04-03 08:43:41 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>110007</blocked>
    
    <blocked>85558</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mike West">mkwst</reporter>
          <assigned_to name="Felipe Zimmerle">felipe</assigned_to>
          <cc>abarth</cc>
    
    <cc>buildbot</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>d-r</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>felipe</cc>
    
    <cc>fmalita</cc>
    
    <cc>mike.sherov</cc>
    
    <cc>mkwst+watchlist</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>pdr</cc>
    
    <cc>rniwa</cc>
    
    <cc>schenney</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>854400</commentid>
    <comment_count>0</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-03-13 10:46:42 -0700</bug_when>
    <thetext>Upstreamed from https://code.google.com/p/chromium/issues/detail?id=189184

---

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.160 Safari/537.22

Steps to reproduce the problem:
With the header:

   X-WebKit-CSP: default-src &apos;self&apos;

Run the following:

   div1 = document.createElement(&apos;div&apos;);
   div1.style.background = &apos;red&apos;;
   var div2 = div1.cloneNode(true);

What is the expected behavior?
No error... assuming that JavaScript &quot;div1.style.xxx&quot; is not considered &quot;inline&quot;.

What went wrong?
Returns the error:

Refused to apply inline style because it violates the following Content Security Policy directive: &quot;default-src &apos;self&apos;&quot;. Note that &apos;style-src&apos; was not explicitly set, so &apos;default-src&apos; is used as a fallback.

Did this work before? N/A 

Chrome version: 25.0.1364.160  Channel: stable
OS Version: OS X 10.8.2

This effects jQuery 1.9.1, and probably other versions:

http://bugs.jquery.com/ticket/13507</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854893</commentid>
    <comment_count>1</comment_count>
      <attachid>193045</attachid>
    <who name="Felipe Zimmerle">felipe</who>
    <bug_when>2013-03-13 20:02:54 -0700</bug_when>
    <thetext>Created attachment 193045
test case proposal</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854895</commentid>
    <comment_count>2</comment_count>
      <attachid>193047</attachid>
    <who name="Felipe Zimmerle">felipe</who>
    <bug_when>2013-03-13 20:03:54 -0700</bug_when>
    <thetext>Created attachment 193047
test case proposal (expected results)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854908</commentid>
    <comment_count>3</comment_count>
    <who name="Felipe Zimmerle">felipe</who>
    <bug_when>2013-03-13 20:27:30 -0700</bug_when>
    <thetext>I was taking a look at the problem and I ended up doing the layout test. May be useful for someone else that is interested in this issue too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>855080</commentid>
    <comment_count>4</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-03-14 02:29:17 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; I was taking a look at the problem and I ended up doing the layout test. May be useful for someone else that is interested in this issue too.

I&apos;d encourage you to continue! Clone node ends up writing all the attributes from the initial element to the new element in Element::cloneAttributesFromElement (http://trac.webkit.org/browser/trunk/Source/WebCore/dom/Element.cpp#L2848). A little ways down the chain, this ends up triggering StyledElement::styleAttributeChanged where the CSP check is performed.

One option for a solution might be to pipe a bit of state down by adding an enum, perhaps `ChangedDirectly`/`ChangedViaClone`, and bypassing the check there in the latter case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856189</commentid>
    <comment_count>5</comment_count>
    <who name="Felipe Zimmerle">felipe</who>
    <bug_when>2013-03-15 12:23:53 -0700</bug_when>
    <thetext>Thanks for the encouraging note :)

Here goes my thoughts:

I believe that the full walk through is:

(Element::)cloneNode()
 `- (Element::)cloneAttributesFromElement()
      `- (StyledElement::)attributeChanged()
           `- (StyledElement::)styleAttributeChanged()
                `- CSP checks goes here.


I am thinking that may not be a good idea to change 
(Element::)attributeChanged signature due the fact that it
is virtual, implemented by everyone which extends Element.
Maybe more modification that we really want. Instead I am 
thinking in create a m_styleAttributesAreBeenCloned (or so)
state which could be set to true when cloneAttributesFromElement
function is called, and before it returns we can set it to
false. While true the CSP check can be ignored (at
StyledElement::styleAttributeChanged). I need to double
check if there is any race condition but apparently the
cloneNode just returns after this process been done.

I will work on a patch as soon as I arrive home.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856486</commentid>
    <comment_count>6</comment_count>
    <who name="Mike Sherov">mike.sherov</who>
    <bug_when>2013-03-15 20:01:48 -0700</bug_when>
    <thetext>Mike West, can you make this bug block jQuery&apos;s meta ticket so I can track progress? Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856800</commentid>
    <comment_count>7</comment_count>
      <attachid>193479</attachid>
    <who name="Felipe Zimmerle">felipe</who>
    <bug_when>2013-03-17 20:03:17 -0700</bug_when>
    <thetext>Created attachment 193479
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856801</commentid>
    <comment_count>8</comment_count>
      <attachid>193479</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-17 20:09:01 -0700</bug_when>
    <thetext>Comment on attachment 193479
Patch

This doesn&apos;t seem like the right approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856802</commentid>
    <comment_count>9</comment_count>
      <attachid>193479</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-17 20:09:42 -0700</bug_when>
    <thetext>Comment on attachment 193479
Patch

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

&gt; Source/WebCore/dom/Element.cpp:2934
&gt;      unsigned bitfield;
&gt; +    unsigned secondBitfield;

Overflowing to a second bit field seems bad too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856894</commentid>
    <comment_count>10</comment_count>
      <attachid>193479</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-03-18 01:27:03 -0700</bug_when>
    <thetext>Comment on attachment 193479
Patch

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

Thanks for the patch. I think Adam&apos;s correct to deny the review, however. Comments inline.

&gt; Source/WebCore/ChangeLog:6
&gt; +        Reviewed by NOBODY (OOPS!).

Please add a bit more detail about what changed and why.

&gt; Source/WebCore/dom/Element.h:99
&gt; +    mutable unsigned m_attributeBeenCloned : 1;

Adding another attribute to Element is expensive; it would be best to keep the object as small as possible, given the number that will be created during the process of parsing a document.

I would suggest reconsidering the signature of attributeChanged, perhaps something like &apos;attributeChanged(const QualifiedName&amp;, const AtomicString&amp;, ReasonForAttributeChange reason = AttributeSetDirectly);&apos;, and passing in AttributeSetFromClone (or something similar) in the one callsite that matters. You&apos;re correct to say that it will adjust each of Element, StyledElement, and SVGElement. That is, however, much more acceptable than adding attributes to Element.

&gt; LayoutTests/http/tests/security/contentSecurityPolicy/inline-style-allowed-while-cloning-objects.html:6
&gt; +if (window.testRunner) {

Nit: No braces are necessary for single-line blocks.

&gt; LayoutTests/http/tests/security/contentSecurityPolicy/inline-style-allowed-while-cloning-objects.html:19
&gt; +   var div2 = div1.cloneNode(true);

I&apos;d suggest doing a bit more verification in JS. You should be able to assert that the attribute exists on both elements, that it has the same value, and that that value is applied to the element&apos;s computedStyle. Take a look at LayoutTests/fast/frames/seamless/seamless-body-margin.html for an example of how such a test might look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>856926</commentid>
    <comment_count>11</comment_count>
    <who name="Felipe Zimmerle">felipe</who>
    <bug_when>2013-03-18 02:36:50 -0700</bug_when>
    <thetext>Hey guys, thank you for the review. I am working on the signature approach and improving the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858271</commentid>
    <comment_count>12</comment_count>
      <attachid>193825</attachid>
    <who name="Felipe Zimmerle">felipe</who>
    <bug_when>2013-03-19 07:31:27 -0700</bug_when>
    <thetext>Created attachment 193825
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858285</commentid>
    <comment_count>13</comment_count>
      <attachid>193825</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-03-19 07:49:37 -0700</bug_when>
    <thetext>Comment on attachment 193825
Patch

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

Thanks for updating the patch! A few comments and questions inline.

&gt; Source/WebCore/ChangeLog:14
&gt; +        (WebCore::Element::attributeChanged):

Please add a bit of detail here about what changed in the signature, and why. It doesn&apos;t have to be paragraphs, just a quick note that you added an enum and what it means.

&gt; Source/WebCore/dom/Element.h:376
&gt; +    enum ReasonForAttributeChange { AttributeSetDirectly = 0, AttributeSetFromClone };

Style nit: please break this enum out into separate lines, similar to http://trac.webkit.org/browser/trunk/Source/WebCore/bindings/ScriptControllerBase.h#L35.

&gt; LayoutTests/http/tests/security/contentSecurityPolicy/inline-style-allowed-while-cloning-objects-expected.txt:1
&gt; +CONSOLE MESSAGE: Refused to apply inline style because it violates the following Content Security Policy directive: &quot;default-src &apos;self&apos;&quot;. Note that &apos;style-src&apos; was not explicitly set, so &apos;default-src&apos; is used as a fallback.

Hrm. Where is this violation coming from?

&gt; LayoutTests/http/tests/security/contentSecurityPolicy/inline-style-allowed-while-cloning-objects.html:4
&gt; +    &lt;meta http-equiv=&quot;Content-Security-Policy&quot; content=&quot;script-src &apos;self&apos; &apos;unsafe-eval&apos; &apos;unsafe-inline&apos;; default-src &apos;self&apos;;&quot;&gt;

You can simplify the console warnings by setting &quot;style-src &apos;self&apos;&quot; rather than &apos;default-src&apos;.

&gt; LayoutTests/http/tests/security/contentSecurityPolicy/inline-style-allowed-while-cloning-objects.html:80
&gt; +    &lt;div id=&quot;ops&quot; style=&quot;background: rgb(238, 130, 238)&quot;&gt;

Thank you for adding this check; I hadn&apos;t thought about this case in particular, so I&apos;m glad you did.

It seems a bit fragile, though, relying as it does on the fact that we never call setInlineStyleFromString. That said, I can&apos;t think of cases off the top of my head in which that would go wrong...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858291</commentid>
    <comment_count>14</comment_count>
      <attachid>193825</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-19 08:00:25 -0700</bug_when>
    <thetext>Comment on attachment 193825
Patch

Attachment 193825 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/17184407</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858354</commentid>
    <comment_count>15</comment_count>
      <attachid>193825</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-19 09:35:24 -0700</bug_when>
    <thetext>Comment on attachment 193825
Patch

Attachment 193825 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/17253017</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858418</commentid>
    <comment_count>16</comment_count>
      <attachid>193825</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-19 10:19:40 -0700</bug_when>
    <thetext>Comment on attachment 193825
Patch

Thanks for updating your patch.  This new version is much better.  Generally speaking, we prefer explicit data flows (like in your updated patch) to implicit data flows (like in your previous patch).  I probably should have said that explicitly before.  ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858423</commentid>
    <comment_count>17</comment_count>
      <attachid>193825</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-19 10:22:24 -0700</bug_when>
    <thetext>Comment on attachment 193825
Patch

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

&gt; Source/WebCore/dom/Element.h:379
&gt; -    virtual void attributeChanged(const QualifiedName&amp;, const AtomicString&amp;);
&gt; +    virtual void attributeChanged(const QualifiedName&amp;, const AtomicString&amp;, ReasonForAttributeChange = AttributeSetDirectly);

I&apos;m surprised there aren&apos;t more overrides of this function that need to be changed.  Did you grep the codebase completely?  Ideally these sorts of errors would show up in tests, but our test coverage isn&apos;t perfect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858425</commentid>
    <comment_count>18</comment_count>
      <attachid>193825</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-19 10:24:06 -0700</bug_when>
    <thetext>Comment on attachment 193825
Patch

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

&gt; Source/WebCore/dom/Element.cpp:847
&gt; -void Element::attributeChanged(const QualifiedName&amp; name, const AtomicString&amp; newValue)
&gt; +void Element::attributeChanged(const QualifiedName&amp; name, const AtomicString&amp; newValue, ReasonForAttributeChange reason)

Your patch is triggering a build failure on the apple-mac port:

/Volumes/Data/EWS/WebKit/Source/WebCore/dom/Element.cpp:847:114: error: unused parameter &apos;reason&apos; [-Werror,-Wunused-parameter]
void Element::attributeChanged(const QualifiedName&amp; name, const AtomicString&amp; newValue, ReasonForAttributeChange reason)

The solution to this problem is to remove the parameter name.  That tells -Wunused-parameter that you know the parameter is unused.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858426</commentid>
    <comment_count>19</comment_count>
      <attachid>193825</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-19 10:24:28 -0700</bug_when>
    <thetext>Comment on attachment 193825
Patch

Attachment 193825 did not pass mac-ews (mac):
Output: http://webkit-commit-queue.appspot.com/results/17203307</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858712</commentid>
    <comment_count>20</comment_count>
      <attachid>193916</attachid>
    <who name="Felipe Zimmerle">felipe</who>
    <bug_when>2013-03-19 14:07:28 -0700</bug_when>
    <thetext>Created attachment 193916
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858717</commentid>
    <comment_count>21</comment_count>
    <who name="Felipe Zimmerle">felipe</who>
    <bug_when>2013-03-19 14:12:34 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Thanks for updating the patch! A few comments and questions inline.

Thank you for the review :)

&gt; 
&gt; &gt; Source/WebCore/ChangeLog:14
&gt; &gt; +        (WebCore::Element::attributeChanged):
&gt; 
&gt; Please add a bit of detail here about what changed in the signature, and why. It doesn&apos;t have to be paragraphs, just a quick note that you added an enum and what it means.

Done.

&gt; &gt; Source/WebCore/dom/Element.h:376
&gt; &gt; +    enum ReasonForAttributeChange { AttributeSetDirectly = 0, AttributeSetFromClone };
&gt; 
&gt; Style nit: please break this enum out into separate lines, similar to http://trac.webkit.org/browser/trunk/Source/WebCore/bindings/ScriptControllerBase.h#L35.

Done.

&gt; &gt; LayoutTests/http/tests/security/contentSecurityPolicy/inline-style-allowed-while-cloning-objects-expected.txt:1
&gt; &gt; +CONSOLE MESSAGE: Refused to apply inline style because it violates the following Content Security Policy directive: &quot;default-src &apos;self&apos;&quot;. Note that &apos;style-src&apos; was not explicitly set, so &apos;default-src&apos; is used as a fallback.
&gt; 
&gt; Hrm. Where is this violation coming from?
&gt;

The first comes from: &quot;../../resources/js-test-pre.js&quot; script, the second is 
expected, from: &apos;&lt;div id=&quot;ops&quot; style=&quot;background: rgb(238, 130, 238)&apos;.

&gt; &gt; LayoutTests/http/tests/security/contentSecurityPolicy/inline-style-allowed-while-cloning-objects.html:4
&gt; &gt; +    &lt;meta http-equiv=&quot;Content-Security-Policy&quot; content=&quot;script-src &apos;self&apos; &apos;unsafe-eval&apos; &apos;unsafe-inline&apos;; default-src &apos;self&apos;;&quot;&gt;
&gt; 
&gt; You can simplify the console warnings by setting &quot;style-src &apos;self&apos;&quot; rather than &apos;default-src&apos;.

Done.


Thanks ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858725</commentid>
    <comment_count>22</comment_count>
    <who name="Felipe Zimmerle">felipe</who>
    <bug_when>2013-03-19 14:19:00 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; I&apos;m surprised there aren&apos;t more overrides of this function that need to be changed.  Did you grep the codebase completely?  Ideally these sorts of errors would show up in tests, but our test coverage isn&apos;t perfect.

Me too, at first sight I was expecting a lot of overrides, that is why I suggested to other approach. After you guys comments, I figured out that they are not so many.

(zimmerle@omar)-(~/core/webkit)$ grep &quot;attributeChanged(const QualifiedName&amp;, const AtomicString&amp;)&quot; -Ri Source/* | wc -l
0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858730</commentid>
    <comment_count>23</comment_count>
    <who name="Felipe Zimmerle">felipe</who>
    <bug_when>2013-03-19 14:20:40 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; (From update of attachment 193825 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=193825&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/Element.cpp:847
&gt; &gt; -void Element::attributeChanged(const QualifiedName&amp; name, const AtomicString&amp; newValue)
&gt; &gt; +void Element::attributeChanged(const QualifiedName&amp; name, const AtomicString&amp; newValue, ReasonForAttributeChange reason)
&gt; 
&gt; Your patch is triggering a build failure on the apple-mac port:
&gt; 
&gt; /Volumes/Data/EWS/WebKit/Source/WebCore/dom/Element.cpp:847:114: error: unused parameter &apos;reason&apos; [-Werror,-Wunused-parameter]
&gt; void Element::attributeChanged(const QualifiedName&amp; name, const AtomicString&amp; newValue, ReasonForAttributeChange reason)
&gt; 
&gt; The solution to this problem is to remove the parameter name.  That tells -Wunused-parameter that you know the parameter is unused.

Done.

Thanks :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859276</commentid>
    <comment_count>24</comment_count>
      <attachid>193916</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-03-20 05:10:33 -0700</bug_when>
    <thetext>Comment on attachment 193916
Patch

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

Thanks for taking another pass. I&apos;ll unofficially r+,cq- this for the typo noted below. Hopefully Adam can take an official pass in the morning.

&gt; Source/WebCore/ChangeLog:9
&gt; +        style is allowed otherwise it relays on default permission mechanism.

Nit: There&apos;s a typo in &apos;relies&apos;.

&gt; LayoutTests/http/tests/security/contentSecurityPolicy/inline-style-allowed-while-cloning-objects-expected.txt:1
&gt; +CONSOLE MESSAGE: Refused to apply inline style because it violates the following Content Security Policy directive: &quot;style-src &apos;self&apos;&quot;.

This still bothers me, but it&apos;s not this patch&apos;s fault. :)

I assume it&apos;s coming from &apos;js-test-pre.js&apos; insertStyleSheet call. If so, it should have a line number. I&apos;ll poke at that in a separate bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859277</commentid>
    <comment_count>25</comment_count>
      <attachid>193916</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-03-20 05:13:39 -0700</bug_when>
    <thetext>Comment on attachment 193916
Patch

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

&gt; LayoutTests/http/tests/security/contentSecurityPolicy/inline-style-allowed-while-cloning-objects.html:4
&gt; +    &lt;meta http-equiv=&quot;Content-Security-Policy&quot; content=&quot;script-src &apos;self&apos; &apos;unsafe-eval&apos; &apos;unsafe-inline&apos;; style-src &apos;self&apos;;&quot;&gt;

One more thing: I think this will be even more clear if you just drop the &apos;script-src&apos; directive entirely. It doesn&apos;t add anything to the test; you&apos;re only testing the behavior of &apos;style-src&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859289</commentid>
    <comment_count>26</comment_count>
      <attachid>193916</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2013-03-20 05:57:28 -0700</bug_when>
    <thetext>Comment on attachment 193916
Patch

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

&gt; Source/WebCore/dom/Element.h:379
&gt; +    enum ReasonForAttributeChange {
&gt; +        AttributeSetDirectly,
&gt; +        AttributeSetFromClone
&gt; +    };

That doesnt sounds like a &quot;reason&quot; to me. More like who set it. Did you find similarly names things in WebCore, if not, take a look around

ByClone?

&gt; LayoutTests/http/tests/security/contentSecurityPolicy/inline-style-allowed-while-cloning-objects-expected.txt:38
&gt; +ops.
&gt; +ops.
&gt; +ops.

? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859819</commentid>
    <comment_count>27</comment_count>
      <attachid>194139</attachid>
    <who name="Felipe Zimmerle">felipe</who>
    <bug_when>2013-03-20 15:44:18 -0700</bug_when>
    <thetext>Created attachment 194139
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859822</commentid>
    <comment_count>28</comment_count>
    <who name="Felipe Zimmerle">felipe</who>
    <bug_when>2013-03-20 15:47:31 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; 
&gt; Nit: There&apos;s a typo in &apos;relies&apos;.
&gt; 

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859823</commentid>
    <comment_count>29</comment_count>
    <who name="Felipe Zimmerle">felipe</who>
    <bug_when>2013-03-20 15:48:16 -0700</bug_when>
    <thetext>(In reply to comment #25)

&gt; &gt; LayoutTests/http/tests/security/contentSecurityPolicy/inline-style-allowed-while-cloning-objects.html:4
&gt; &gt; +    &lt;meta http-equiv=&quot;Content-Security-Policy&quot; content=&quot;script-src &apos;self&apos; &apos;unsafe-eval&apos; &apos;unsafe-inline&apos;; style-src &apos;self&apos;;&quot;&gt;
&gt; 
&gt; One more thing: I think this will be even more clear if you just drop the &apos;script-src&apos; directive entirely. It doesn&apos;t add anything to the test; you&apos;re only testing the behavior of &apos;style-src&apos;.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859825</commentid>
    <comment_count>30</comment_count>
    <who name="Felipe Zimmerle">felipe</who>
    <bug_when>2013-03-20 15:51:53 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; (From update of attachment 193916 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=193916&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/Element.h:379
&gt; &gt; +    enum ReasonForAttributeChange {
&gt; &gt; +        AttributeSetDirectly,
&gt; &gt; +        AttributeSetFromClone
&gt; &gt; +    };
&gt; 
&gt; That doesnt sounds like a &quot;reason&quot; to me. More like who set it. Did you find similarly names things in WebCore, if not, take a look around
&gt; 

After talk to Kenneth, We agreed to change it to:

enum AttributeModifyReason {
    ModifiedDirectly,
    ModifiedByCloning
};</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863672</commentid>
    <comment_count>31</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-03-26 08:03:57 -0700</bug_when>
    <thetext>Kenneth, I&apos;d appreciate it if you could take some time to officially review this since Adam is out?

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868003</commentid>
    <comment_count>32</comment_count>
      <attachid>194139</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-04-02 10:43:46 -0700</bug_when>
    <thetext>Comment on attachment 194139
Patch

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

&gt; LayoutTests/ChangeLog:9
&gt; +        * http/tests/security/contentSecurityPolicy/inline-style-allowed-while-cloning-objects-expected.txt: Added.
&gt; +        * http/tests/security/contentSecurityPolicy/inline-style-allowed-while-cloning-objects.html: Added.

These files don&apos;t appear to be in the patch.  Assuming they do what they say, this patch LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868615</commentid>
    <comment_count>33</comment_count>
      <attachid>196324</attachid>
    <who name="Felipe Zimmerle">felipe</who>
    <bug_when>2013-04-03 04:20:41 -0700</bug_when>
    <thetext>Created attachment 196324
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868619</commentid>
    <comment_count>34</comment_count>
      <attachid>196324</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-04-03 04:25:51 -0700</bug_when>
    <thetext>Comment on attachment 196324
Patch

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

&gt; Source/WebCore/dom/Element.cpp:850
&gt; +void Element::attributeChanged(const QualifiedName&amp; name, const AtomicString&amp; newValue, AttributeModifyReason)

My apologies, I missed this in the last version of the patch: &quot;AttributeModifyReason&quot; sounds very strange. Please change it to &quot;AttributeModificationReason&quot; so that it&apos;s a reasonable noun, and I&apos;ll CQ the patch for you.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868646</commentid>
    <comment_count>35</comment_count>
      <attachid>196334</attachid>
    <who name="Felipe Zimmerle">felipe</who>
    <bug_when>2013-04-03 05:35:14 -0700</bug_when>
    <thetext>Created attachment 196334
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868728</commentid>
    <comment_count>36</comment_count>
      <attachid>196334</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-04-03 08:14:02 -0700</bug_when>
    <thetext>Comment on attachment 196334
Patch

Thanks! Bots are happy, CQing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868740</commentid>
    <comment_count>37</comment_count>
      <attachid>196334</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-04-03 08:43:35 -0700</bug_when>
    <thetext>Comment on attachment 196334
Patch

Clearing flags on attachment: 196334

Committed r147558: &lt;http://trac.webkit.org/changeset/147558&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>868741</commentid>
    <comment_count>38</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-04-03 08:43:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>193045</attachid>
            <date>2013-03-13 20:02:54 -0700</date>
            <delta_ts>2013-03-13 20:02:54 -0700</delta_ts>
            <desc>test case proposal</desc>
            <filename>inline-style-allowed-while-cloning-objects.html</filename>
            <type>text/html</type>
            <size>635</size>
            <attacher name="Felipe Zimmerle">felipe</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1T
ZWN1cml0eS1Qb2xpY3kiIGNvbnRlbnQ9InNjcmlwdC1zcmMgJ3Vuc2FmZS1pbmxpbmUnOyBkZWZh
dWx0LXNyYyAnc2VsZic7Ij4KPHNjcmlwdD4KaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7Cn0KPC9zY3JpcHQ+CjwvaGVhZD4KPGJvZHk+CjxwPlRoaXMg
dGVzdCBlbnN1cmVzIHRoYXQgc3R5bGVzIGNhbiBiZSBzZXQgYnkgb2JqZWN0LmNsb25lTm9kZSgp
IHdoaWxlIGFuIG9iamVjdCBpcyBiZWVuIGNsb25lZC4gPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjI3MCI+QnVnIDExMjI3MDwvYT4KaGFzIG1vcmUg
aW5mb3JtYXRpb24gb24gdGhlIHN1YmplY3QuPC9wPgoKPHA+VGhpcyB0ZXN0IHBhc3NlcyBpZiBu
byBjb25zb2xlIG1lc3NhZ2Ugd2FzIHNob3duLjwvcD4KPHNjcmlwdD4KICAgZGl2MSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICBkaXYxLnN0eWxlLmJhY2tncm91bmQgPSAncmVk
JzsKICAgdmFyIGRpdjIgPSBkaXYxLmNsb25lTm9kZSh0cnVlKTsKPC9zY3JpcHQ+CjwvYm9keT4K
PC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>193047</attachid>
            <date>2013-03-13 20:03:54 -0700</date>
            <delta_ts>2013-03-13 20:03:54 -0700</delta_ts>
            <desc>test case proposal (expected results)</desc>
            <filename>inline-style-allowed-while-cloning-objects-expected.txt</filename>
            <type>text/plain</type>
            <size>194</size>
            <attacher name="Felipe Zimmerle">felipe</attacher>
            
              <data encoding="base64">VGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBzdHlsZXMgY2FuIGJlIHNldCBieSBvYmplY3QuY2xvbmVO
b2RlKCkgd2hpbGUgYW4gb2JqZWN0IGlzIGJlZW4gY2xvbmVkLiBCdWcgMTEyMjcwIGhhcyBtb3Jl
IGluZm9ybWF0aW9uIG9uIHRoZSBzdWJqZWN0LgoKVGhpcyB0ZXN0IHBhc3NlcyBpZiBubyBjb25z
b2xlIG1lc3NhZ2Ugd2FzIHNob3duLgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193479</attachid>
            <date>2013-03-17 20:03:17 -0700</date>
            <delta_ts>2013-03-19 07:31:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112270-20130317235909.patch</filename>
            <type>text/plain</type>
            <size>7109</size>
            <attacher name="Felipe Zimmerle">felipe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MDA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmQyMGRiODBlNDA4MTMw
NTI4NDAwYWZlNTAzMTNiOGI2ZDlhYzFiMy4uMGM5ZDM2YzA4YzcyOTdiNjQwYzUxNzk3YmE3NGZj
MGI3ODI4YjFlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEzLTAzLTE3ICBGZWxp
cGUgWmltbWVybGUgIDxmZWxpcGVAemltbWVybGUub3JnPgorCisgICAgICAgIENTUCBibG9ja3Mg
aW5saW5lIHN0eWxlIHdoZW4gY2xvbmluZyBhIG5vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjI3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L2lubGluZS1zdHlsZS1hbGxvd2VkLXdoaWxlLWNsb25pbmctb2JqZWN0
cy5odG1sCisKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50OjpjbG9uZUF0dHJpYnV0ZXNGcm9tRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50RGF0YTo6RWxlbWVudERhdGEpOgorICAgICAgICAoU2FtZVNpemVBc0VsZW1lbnREYXRh
KToKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAoRWxlbWVudERhdGEpOgorICAg
ICAgICAqIGRvbS9TdHlsZWRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlZEVs
ZW1lbnQ6OnN0eWxlQXR0cmlidXRlQ2hhbmdlZCk6CisKIDIwMTMtMDMtMTcgIEppbndvbyBTb25n
ICA8amlud29vNy5zb25nQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdIFByb3ZpZGUgZGVm
YXVsdCBjdXJzb3IgZ3JvdXBzIGFzIGN1cnNvci5lZGMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRl
eCBlNDM2Y2JjYzI0ZTdjNmZjY2FkY2U1NDEzYTdlZjZhOTE4NWY0YzcyLi41ZThjNmQwNTE2ODcw
NzcyNTMxN2JhNTAwODc0YjUzZmNlNmUwNGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0y
ODQzLDEwICsyODQzLDE0IEBAIHZvaWQgRWxlbWVudDo6Y2xvbmVBdHRyaWJ1dGVzRnJvbUVsZW1l
bnQoY29uc3QgRWxlbWVudCYgb3RoZXIpCiAgICAgZWxzZQogICAgICAgICBtX2VsZW1lbnREYXRh
ID0gb3RoZXIubV9lbGVtZW50RGF0YS0+bWFrZVVuaXF1ZUNvcHkoKTsKIAorICAgIG1fZWxlbWVu
dERhdGEtPm1fYXR0cmlidXRlQmVlbkNsb25lZCA9IHRydWU7CisKICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbV9lbGVtZW50RGF0YS0+bGVuZ3RoKCk7ICsraSkgewogICAgICAgICBjb25z
dCBBdHRyaWJ1dGUqIGF0dHJpYnV0ZSA9IGNvbnN0X2Nhc3Q8Y29uc3QgRWxlbWVudERhdGEqPiht
X2VsZW1lbnREYXRhLmdldCgpKS0+YXR0cmlidXRlSXRlbShpKTsKICAgICAgICAgYXR0cmlidXRl
Q2hhbmdlZChhdHRyaWJ1dGUtPm5hbWUoKSwgYXR0cmlidXRlLT52YWx1ZSgpKTsKICAgICB9CisK
KyAgICBtX2VsZW1lbnREYXRhLT5tX2F0dHJpYnV0ZUJlZW5DbG9uZWQgPSBmYWxzZTsKIH0KIAog
dm9pZCBFbGVtZW50OjpjbG9uZURhdGFGcm9tRWxlbWVudChjb25zdCBFbGVtZW50JiBvdGhlcikK
QEAgLTI5MDYsNiArMjkxMCw3IEBAIEVsZW1lbnREYXRhOjpFbGVtZW50RGF0YSgpCiAgICAgLCBt
X2FycmF5U2l6ZSgwKQogICAgICwgbV9wcmVzZW50YXRpb25BdHRyaWJ1dGVTdHlsZUlzRGlydHko
ZmFsc2UpCiAgICAgLCBtX3N0eWxlQXR0cmlidXRlSXNEaXJ0eShmYWxzZSkKKyAgICAsIG1fYXR0
cmlidXRlQmVlbkNsb25lZChmYWxzZSkKICNpZiBFTkFCTEUoU1ZHKQogICAgICwgbV9hbmltYXRl
ZFNWR0F0dHJpYnV0ZXNBcmVEaXJ0eShmYWxzZSkKICNlbmRpZgpAQCAtMjkxNyw2ICsyOTIyLDcg
QEAgRWxlbWVudERhdGE6OkVsZW1lbnREYXRhKHVuc2lnbmVkIGFycmF5U2l6ZSkKICAgICAsIG1f
YXJyYXlTaXplKGFycmF5U2l6ZSkKICAgICAsIG1fcHJlc2VudGF0aW9uQXR0cmlidXRlU3R5bGVJ
c0RpcnR5KGZhbHNlKQogICAgICwgbV9zdHlsZUF0dHJpYnV0ZUlzRGlydHkoZmFsc2UpCisgICAg
LCBtX2F0dHJpYnV0ZUJlZW5DbG9uZWQoZmFsc2UpCiAjaWYgRU5BQkxFKFNWRykKICAgICAsIG1f
YW5pbWF0ZWRTVkdBdHRyaWJ1dGVzQXJlRGlydHkoZmFsc2UpCiAjZW5kaWYKQEAgLTI5MjUsNiAr
MjkzMSw3IEBAIEVsZW1lbnREYXRhOjpFbGVtZW50RGF0YSh1bnNpZ25lZCBhcnJheVNpemUpCiAK
IHN0cnVjdCBTYW1lU2l6ZUFzRWxlbWVudERhdGEgOiBwdWJsaWMgUmVmQ291bnRlZDxTYW1lU2l6
ZUFzRWxlbWVudERhdGE+IHsKICAgICB1bnNpZ25lZCBiaXRmaWVsZDsKKyAgICB1bnNpZ25lZCBz
ZWNvbmRCaXRmaWVsZDsKICAgICB2b2lkKiByZWZQdHJzWzNdOwogfTsKIApAQCAtMjk3OCw2ICsy
OTg1LDcgQEAgRWxlbWVudERhdGE6OkVsZW1lbnREYXRhKGNvbnN0IEVsZW1lbnREYXRhJiBvdGhl
ciwgYm9vbCBpc1VuaXF1ZSkKICAgICAsIG1fYXJyYXlTaXplKGlzVW5pcXVlID8gMCA6IG90aGVy
Lmxlbmd0aCgpKQogICAgICwgbV9wcmVzZW50YXRpb25BdHRyaWJ1dGVTdHlsZUlzRGlydHkob3Ro
ZXIubV9wcmVzZW50YXRpb25BdHRyaWJ1dGVTdHlsZUlzRGlydHkpCiAgICAgLCBtX3N0eWxlQXR0
cmlidXRlSXNEaXJ0eShvdGhlci5tX3N0eWxlQXR0cmlidXRlSXNEaXJ0eSkKKyAgICAsIG1fYXR0
cmlidXRlQmVlbkNsb25lZChmYWxzZSkKICNpZiBFTkFCTEUoU1ZHKQogICAgICwgbV9hbmltYXRl
ZFNWR0F0dHJpYnV0ZXNBcmVEaXJ0eShvdGhlci5tX2FuaW1hdGVkU1ZHQXR0cmlidXRlc0FyZURp
cnR5KQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCA2Y2E1YjIyMTdhYmU0MjI0NDMzYjc4
ZGQ4OWZlYjY1MDMyZmFiNzQ5Li5jYTJiOTAwN2NhZWUwMmZkYzZmMDkyYzI3MGU5MTliYmE5YWQw
MjRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTk2LDYgKzk2LDcgQEAgcHJvdGVjdGVkOgogICAg
IHVuc2lnbmVkIG1fYXJyYXlTaXplIDogMjg7CiAgICAgbXV0YWJsZSB1bnNpZ25lZCBtX3ByZXNl
bnRhdGlvbkF0dHJpYnV0ZVN0eWxlSXNEaXJ0eSA6IDE7CiAgICAgbXV0YWJsZSB1bnNpZ25lZCBt
X3N0eWxlQXR0cmlidXRlSXNEaXJ0eSA6IDE7CisgICAgbXV0YWJsZSB1bnNpZ25lZCBtX2F0dHJp
YnV0ZUJlZW5DbG9uZWQgOiAxOwogI2lmIEVOQUJMRShTVkcpCiAgICAgbXV0YWJsZSB1bnNpZ25l
ZCBtX2FuaW1hdGVkU1ZHQXR0cmlidXRlc0FyZURpcnR5IDogMTsKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1N0eWxlZEVsZW1lbnQuY3BwCmluZGV4IDlhMmM4MzI1Njk5ODgxODk5ZDk2ZTU2MDQ2ZDk3
MGJhOWY2YTNlOGYuLjFhZDM2MDE5MTBjZjM1Mjc5MmRlOWQ3OGNmYzM5ODM0YmIzYmY2NjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKQEAgLTIwNyw3ICsyMDcsNyBAQCB2b2lk
IFN0eWxlZEVsZW1lbnQ6OnN0eWxlQXR0cmlidXRlQ2hhbmdlZChjb25zdCBBdG9taWNTdHJpbmcm
IG5ld1N0eWxlU3RyaW5nKQogICAgICAgICBpZiAoUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0
aW9uKiBjc3NvbVdyYXBwZXIgPSBpbmxpbmVTdHlsZUNTU09NV3JhcHBlcigpKQogICAgICAgICAg
ICAgY3Nzb21XcmFwcGVyLT5jbGVhclBhcmVudEVsZW1lbnQoKTsKICAgICAgICAgZW5zdXJlVW5p
cXVlRWxlbWVudERhdGEoKS0+bV9pbmxpbmVTdHlsZS5jbGVhcigpOwotICAgIH0gZWxzZSBpZiAo
ZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmFsbG93SW5saW5lU3R5bGUoZG9j
dW1lbnQoKS0+dXJsKCksIHN0YXJ0TGluZU51bWJlcikpCisgICAgfSBlbHNlIGlmIChlbGVtZW50
RGF0YSgpLT5tX2F0dHJpYnV0ZUJlZW5DbG9uZWQgfHwgZG9jdW1lbnQoKS0+Y29udGVudFNlY3Vy
aXR5UG9saWN5KCktPmFsbG93SW5saW5lU3R5bGUoZG9jdW1lbnQoKS0+dXJsKCksIHN0YXJ0TGlu
ZU51bWJlcikpCiAgICAgICAgIHNldElubGluZVN0eWxlRnJvbVN0cmluZyhuZXdTdHlsZVN0cmlu
Zyk7CiAKICAgICBlbGVtZW50RGF0YSgpLT5tX3N0eWxlQXR0cmlidXRlSXNEaXJ0eSA9IGZhbHNl
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDUwMGY3MzI0YTQyMzljY2ZmMzkxZjRlYWNmZDIyMGRhZTkzZjliMzIuLjk3Yzgx
MjU4NGZjYWY3ZDE5MDE4NmJjYTU0NTk3OTc3ZjU1YmU5NzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBA
QAorMjAxMy0wMy0xNyAgRmVsaXBlIFppbW1lcmxlICA8ZmVsaXBlQHppbW1lcmxlLm9yZz4KKwor
ICAgICAgICBDU1AgYmxvY2tzIGlubGluZSBzdHlsZSB3aGVuIGNsb25pbmcgYSBub2RlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIyNzAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2lubGluZS1zdHlsZS1hbGxvd2VkLXdoaWxl
LWNsb25pbmctb2JqZWN0cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2lubGluZS1zdHlsZS1hbGxvd2VkLXdo
aWxlLWNsb25pbmctb2JqZWN0cy5odG1sOiBBZGRlZC4KKwogMjAxMy0wMy0xNiAgU2ltb24gRnJh
c2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBodHRwL3Rlc3RzL25vdGlm
aWNhdGlvbnMvbGVnYWN5L3dpbmRvdy1zaG93LW9uLWNsaWNrLmh0bWwgaXMgZmxha2V5CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9pbmxpbmUtc3R5bGUtYWxsb3dlZC13aGlsZS1jbG9uaW5nLW9iamVjdHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvaW5saW5lLXN0eWxlLWFsbG93ZWQtd2hpbGUtY2xvbmluZy1vYmplY3RzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mNDY0MWZiZTAwNzJhZmM4MTFkMjcyZWY1MmQ4NmZlYjk5OGE0Mjk0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvaW5saW5lLXN0eWxlLWFsbG93ZWQtd2hpbGUtY2xvbmluZy1vYmplY3Rz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1RoaXMgdGVzdCBlbnN1cmVzIHRoYXQgc3R5
bGVzIGNhbiBiZSBzZXQgYnkgb2JqZWN0LmNsb25lTm9kZSgpIHdoaWxlIGFuIG9iamVjdCBpcyBi
ZWVuIGNsb25lZC4gQnVnIDExMjI3MCBoYXMgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGUgc3ViamVj
dC4KKworVGhpcyB0ZXN0IHBhc3NlcyBpZiBubyBjb25zb2xlIG1lc3NhZ2Ugd2FzIHNob3duLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvaW5saW5lLXN0eWxlLWFsbG93ZWQtd2hpbGUtY2xvbmluZy1vYmplY3RzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9p
bmxpbmUtc3R5bGUtYWxsb3dlZC13aGlsZS1jbG9uaW5nLW9iamVjdHMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5kNDNiY2I4MWFjNTNjNzM2ZmVlNzRhOWY2YWQwNDYxMWZiM2MxMzY1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvaW5saW5lLXN0eWxlLWFsbG93ZWQtd2hpbGUtY2xvbmluZy1vYmplY3RzLmh0bWwKQEAgLTAs
MCArMSwyMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgaHR0cC1l
cXVpdj0iQ29udGVudC1TZWN1cml0eS1Qb2xpY3kiIGNvbnRlbnQ9InNjcmlwdC1zcmMgJ3Vuc2Fm
ZS1pbmxpbmUnOyBkZWZhdWx0LXNyYyAnc2VsZic7Ij4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKKyAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Cit9Cis8L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBzdHlsZXMgY2FuIGJlIHNl
dCBieSBvYmplY3QuY2xvbmVOb2RlKCkgd2hpbGUgYW4gb2JqZWN0IGlzIGJlZW4gY2xvbmVkLiA8
YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyMjcwIj5C
dWcgMTEyMjcwPC9hPgoraGFzIG1vcmUgaW5mb3JtYXRpb24gb24gdGhlIHN1YmplY3QuPC9wPgor
Cis8cD5UaGlzIHRlc3QgcGFzc2VzIGlmIG5vIGNvbnNvbGUgbWVzc2FnZSB3YXMgc2hvd24uPC9w
PgorPHNjcmlwdD4KKyAgIGRpdjEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAg
IGRpdjEuc3R5bGUuYmFja2dyb3VuZCA9ICdyZWQnOworICAgdmFyIGRpdjIgPSBkaXYxLmNsb25l
Tm9kZSh0cnVlKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193825</attachid>
            <date>2013-03-19 07:31:27 -0700</date>
            <delta_ts>2013-03-19 14:07:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112270-20130319112717.patch</filename>
            <type>text/plain</type>
            <size>17465</size>
            <attacher name="Felipe Zimmerle">felipe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjgwMzM1NGZkOTUzZjdj
N2ZkMDllNTIyMjM2MjY3MzVmNzYzYmFkMC4uZjg1NTdhMTEwMDI0OTE1ZGU2MzA4ZmJlZTQ3NWIx
Njk2MGRjNDEwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEzLTAzLTE5ICBGZWxp
cGUgWmltbWVybGUgIDxmZWxpcGVAemltbWVybGUub3JnPgorCisgICAgICAgIENTUCBibG9ja3Mg
aW5saW5lIHN0eWxlIHdoZW4gY2xvbmluZyBhIG5vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjI3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIENoZWNrcyBpZiB0aGUgRWxlbWVudCBpcyBiZWluZyBj
bG9uZWQsIGlmIHNvLCB0aGUgYXBwbGljYXRpb24gb2YgdGhlCisgICAgICAgIHN0eWxlIGlzIGFs
bG93ZWQgb3RoZXJ3aXNlIGl0IHJlbGF5cyBvbiBkZWZhdWx0IHBlcm1pc3Npb24gbWVjaGFuaXNt
LgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L2lubGluZS1zdHlsZS1hbGxvd2VkLXdoaWxlLWNsb25pbmctb2JqZWN0cy5odG1sCisKKyAg
ICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjphdHRy
aWJ1dGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNsb25lQXR0cmlidXRl
c0Zyb21FbGVtZW50KToKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAqIGRvbS9T
dHlsZWRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlZEVsZW1lbnQ6OmF0dHJp
YnV0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVkRWxlbWVudDo6c3R5bGVBdHRy
aWJ1dGVDaGFuZ2VkKToKKyAgICAgICAgKiBkb20vU3R5bGVkRWxlbWVudC5oOgorICAgICAgICAo
U3R5bGVkRWxlbWVudCk6CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6CisgICAgICAgICogc3ZnL1NW
R0VsZW1lbnQuaDoKKyAgICAgICAgKFNWR0VsZW1lbnQpOgorCiAyMDEzLTAzLTE4ICBYaWFuemh1
IFdhbmcgIDx3YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVmFyaWFudCBvZiBu
b24tcHJpbWFyeSBmZWxsLWJhY2sgU1ZHRm9udCBjYXVzZXMgY3Jhc2guCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5jcHAKaW5kZXggNmU4OWMwMTVkNGEwZmE1OWI3MjczMjZlZDdiZDAyYmQzMDA4YmVlZS4uODI1
MjRiYjViNDhkYTFjZmViZjczNDEwZDA1Y2U5OGQxOTgyYmIyMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmNwcApAQCAtODQ0LDcgKzg0NCw3IEBAIHN0YXRpYyBib29sIGNoZWNrTmVlZHNTdHlsZUludmFs
aWRhdGlvbkZvcklkQ2hhbmdlKGNvbnN0IEF0b21pY1N0cmluZyYgb2xkSWQsIGNvCiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCi12b2lkIEVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVh
bGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiBuZXdWYWx1ZSkKK3ZvaWQgRWxl
bWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBB
dG9taWNTdHJpbmcmIG5ld1ZhbHVlLCBSZWFzb25Gb3JBdHRyaWJ1dGVDaGFuZ2UgcmVhc29uKQog
ewogICAgIGlmIChFbGVtZW50U2hhZG93KiBwYXJlbnRFbGVtZW50U2hhZG93ID0gc2hhZG93T2ZQ
YXJlbnRGb3JEaXN0cmlidXRpb24odGhpcykpIHsKICAgICAgICAgaWYgKHNob3VsZEludmFsaWRh
dGVEaXN0cmlidXRpb25XaGVuQXR0cmlidXRlQ2hhbmdlZChwYXJlbnRFbGVtZW50U2hhZG93LCBu
YW1lLCBuZXdWYWx1ZSkpCkBAIC0yODUzLDcgKzI4NTMsNyBAQCB2b2lkIEVsZW1lbnQ6OmNsb25l
QXR0cmlidXRlc0Zyb21FbGVtZW50KGNvbnN0IEVsZW1lbnQmIG90aGVyKQogCiAgICAgZm9yICh1
bnNpZ25lZCBpID0gMDsgaSA8IG1fZWxlbWVudERhdGEtPmxlbmd0aCgpOyArK2kpIHsKICAgICAg
ICAgY29uc3QgQXR0cmlidXRlKiBhdHRyaWJ1dGUgPSBjb25zdF9jYXN0PGNvbnN0IEVsZW1lbnRE
YXRhKj4obV9lbGVtZW50RGF0YS5nZXQoKSktPmF0dHJpYnV0ZUl0ZW0oaSk7Ci0gICAgICAgIGF0
dHJpYnV0ZUNoYW5nZWQoYXR0cmlidXRlLT5uYW1lKCksIGF0dHJpYnV0ZS0+dmFsdWUoKSk7Cisg
ICAgICAgIGF0dHJpYnV0ZUNoYW5nZWQoYXR0cmlidXRlLT5uYW1lKCksIGF0dHJpYnV0ZS0+dmFs
dWUoKSwgQXR0cmlidXRlU2V0RnJvbUNsb25lKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5o
CmluZGV4IDljYTRhNTczMjYxMTAyODkzYzJjMTUzMDU1ZmYxNmIyNjlkMTNmZTEuLjViZDAzODcx
ZmZhMmRlOWE1YTA3MTVjYmY1N2QxZmY5N2Y1ZmE1MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAt
MzczLDggKzM3MywxMCBAQCBwdWJsaWM6CiAgICAgLy8gRm9yIGV4cG9zaW5nIHRvIERPTSBvbmx5
LgogICAgIE5hbWVkTm9kZU1hcCogYXR0cmlidXRlcygpIGNvbnN0OwogCisgICAgZW51bSBSZWFz
b25Gb3JBdHRyaWJ1dGVDaGFuZ2UgeyBBdHRyaWJ1dGVTZXREaXJlY3RseSA9IDAsIEF0dHJpYnV0
ZVNldEZyb21DbG9uZSB9OworCiAgICAgLy8gVGhpcyBtZXRob2QgaXMgY2FsbGVkIHdoZW5ldmVy
IGFuIGF0dHJpYnV0ZSBpcyBhZGRlZCwgY2hhbmdlZCBvciByZW1vdmVkLgotICAgIHZpcnR1YWwg
dm9pZCBhdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNT
dHJpbmcmKTsKKyAgICB2aXJ0dWFsIHZvaWQgYXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZp
ZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJiwgUmVhc29uRm9yQXR0cmlidXRlQ2hhbmdlID0g
QXR0cmlidXRlU2V0RGlyZWN0bHkpOwogICAgIHZpcnR1YWwgdm9pZCBwYXJzZUF0dHJpYnV0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgeyB9CiAKICAgICAvLyBP
bmx5IGNhbGxlZCBieSB0aGUgcGFyc2VyIGltbWVkaWF0ZWx5IGFmdGVyIGVsZW1lbnQgY29uc3Ry
dWN0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCmluZGV4IDlhMmM4MzI1Njk5
ODgxODk5ZDk2ZTU2MDQ2ZDk3MGJhOWY2YTNlOGYuLjdlZTZiMmU5MjZiMDUxNmZiMjc2ZDQ0ZTMx
ZjBkMjRmZDQ5MjcxYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKQEAgLTE1
NywxNiArMTU3LDE2IEBAIE11dGFibGVTdHlsZVByb3BlcnR5U2V0KiBTdHlsZWRFbGVtZW50Ojpl
bnN1cmVNdXRhYmxlSW5saW5lU3R5bGUoKQogICAgIHJldHVybiBzdGF0aWNfY2FzdDxNdXRhYmxl
U3R5bGVQcm9wZXJ0eVNldCo+KGlubGluZVN0eWxlLmdldCgpKTsKIH0KIAotdm9pZCBTdHlsZWRF
bGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0
IEF0b21pY1N0cmluZyYgbmV3VmFsdWUpCit2b2lkIFN0eWxlZEVsZW1lbnQ6OmF0dHJpYnV0ZUNo
YW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiBuZXdW
YWx1ZSwgUmVhc29uRm9yQXR0cmlidXRlQ2hhbmdlIHJlYXNvbikKIHsKICAgICBpZiAobmFtZSA9
PSBzdHlsZUF0dHIpCi0gICAgICAgIHN0eWxlQXR0cmlidXRlQ2hhbmdlZChuZXdWYWx1ZSk7Cisg
ICAgICAgIHN0eWxlQXR0cmlidXRlQ2hhbmdlZChuZXdWYWx1ZSwgcmVhc29uKTsKICAgICBlbHNl
IGlmIChpc1ByZXNlbnRhdGlvbkF0dHJpYnV0ZShuYW1lKSkgewogICAgICAgICBlbGVtZW50RGF0
YSgpLT5tX3ByZXNlbnRhdGlvbkF0dHJpYnV0ZVN0eWxlSXNEaXJ0eSA9IHRydWU7CiAgICAgICAg
IHNldE5lZWRzU3R5bGVSZWNhbGMoSW5saW5lU3R5bGVDaGFuZ2UpOwogICAgIH0KIAotICAgIEVs
ZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQobmFtZSwgbmV3VmFsdWUpOworICAgIEVsZW1lbnQ6OmF0
dHJpYnV0ZUNoYW5nZWQobmFtZSwgbmV3VmFsdWUsIHJlYXNvbik7CiB9CiAKIFByb3BlcnR5U2V0
Q1NTU3R5bGVEZWNsYXJhdGlvbiogU3R5bGVkRWxlbWVudDo6aW5saW5lU3R5bGVDU1NPTVdyYXBw
ZXIoKQpAQCAtMTk3LDcgKzE5Nyw3IEBAIGlubGluZSB2b2lkIFN0eWxlZEVsZW1lbnQ6OnNldElu
bGluZVN0eWxlRnJvbVN0cmluZyhjb25zdCBBdG9taWNTdHJpbmcmIG5ld1N0eWxlCiAgICAgICAg
IGlubGluZVN0eWxlLT5wYXJzZURlY2xhcmF0aW9uKG5ld1N0eWxlU3RyaW5nLCBkb2N1bWVudCgp
LT5lbGVtZW50U2hlZXQoKS0+Y29udGVudHMoKSk7CiB9CiAKLXZvaWQgU3R5bGVkRWxlbWVudDo6
c3R5bGVBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IEF0b21pY1N0cmluZyYgbmV3U3R5bGVTdHJpbmcp
Cit2b2lkIFN0eWxlZEVsZW1lbnQ6OnN0eWxlQXR0cmlidXRlQ2hhbmdlZChjb25zdCBBdG9taWNT
dHJpbmcmIG5ld1N0eWxlU3RyaW5nLCBSZWFzb25Gb3JBdHRyaWJ1dGVDaGFuZ2UgcmVhc29uKQog
ewogICAgIFdURjo6T3JkaW5hbE51bWJlciBzdGFydExpbmVOdW1iZXIgPSBXVEY6Ok9yZGluYWxO
dW1iZXI6OmJlZm9yZUZpcnN0KCk7CiAgICAgaWYgKGRvY3VtZW50KCkgJiYgZG9jdW1lbnQoKS0+
c2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKCkgJiYgIWRvY3VtZW50KCktPmlzSW5Eb2N1bWVudFdy
aXRlKCkpCkBAIC0yMDcsNyArMjA3LDcgQEAgdm9pZCBTdHlsZWRFbGVtZW50OjpzdHlsZUF0dHJp
YnV0ZUNoYW5nZWQoY29uc3QgQXRvbWljU3RyaW5nJiBuZXdTdHlsZVN0cmluZykKICAgICAgICAg
aWYgKFByb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbiogY3Nzb21XcmFwcGVyID0gaW5saW5l
U3R5bGVDU1NPTVdyYXBwZXIoKSkKICAgICAgICAgICAgIGNzc29tV3JhcHBlci0+Y2xlYXJQYXJl
bnRFbGVtZW50KCk7CiAgICAgICAgIGVuc3VyZVVuaXF1ZUVsZW1lbnREYXRhKCktPm1faW5saW5l
U3R5bGUuY2xlYXIoKTsKLSAgICB9IGVsc2UgaWYgKGRvY3VtZW50KCktPmNvbnRlbnRTZWN1cml0
eVBvbGljeSgpLT5hbGxvd0lubGluZVN0eWxlKGRvY3VtZW50KCktPnVybCgpLCBzdGFydExpbmVO
dW1iZXIpKQorICAgIH0gZWxzZSBpZiAocmVhc29uID09IEF0dHJpYnV0ZVNldEZyb21DbG9uZSB8
fCBkb2N1bWVudCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+YWxsb3dJbmxpbmVTdHlsZShk
b2N1bWVudCgpLT51cmwoKSwgc3RhcnRMaW5lTnVtYmVyKSkKICAgICAgICAgc2V0SW5saW5lU3R5
bGVGcm9tU3RyaW5nKG5ld1N0eWxlU3RyaW5nKTsKIAogICAgIGVsZW1lbnREYXRhKCktPm1fc3R5
bGVBdHRyaWJ1dGVJc0RpcnR5ID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vU3R5bGVkRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuaApp
bmRleCBkZDY5ZThmN2VmNGZiY2NiYzk1YTRiZDY2ODMwZGUyMGU4OWEyYjMzLi4zNTQzOTA2NDY1
YjQ3OGQyMjkyOGMzYTc0NmY4NTRjNjFmNjIzMzE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vU3R5bGVkRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVt
ZW50LmgKQEAgLTY2LDcgKzY2LDcgQEAgcHJvdGVjdGVkOgogICAgIHsKICAgICB9CiAKLSAgICB2
aXJ0dWFsIHZvaWQgYXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3Qg
QXRvbWljU3RyaW5nJikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGF0dHJpYnV0ZUNoYW5n
ZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYsIFJlYXNvbkZvckF0
dHJpYnV0ZUNoYW5nZSA9IEF0dHJpYnV0ZVNldERpcmVjdGx5KSBPVkVSUklERTsKIAogICAgIHZp
cnR1YWwgYm9vbCBpc1ByZXNlbnRhdGlvbkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJikg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIApAQCAtNzcsNyArNzcsNyBAQCBwcm90ZWN0ZWQ6CiAg
ICAgdmlydHVhbCB2b2lkIGFkZFN1YnJlc291cmNlQXR0cmlidXRlVVJMcyhMaXN0SGFzaFNldDxL
VVJMPiYpIGNvbnN0OwogCiBwcml2YXRlOgotICAgIHZvaWQgc3R5bGVBdHRyaWJ1dGVDaGFuZ2Vk
KGNvbnN0IEF0b21pY1N0cmluZyYgbmV3U3R5bGVTdHJpbmcpOworICAgIHZvaWQgc3R5bGVBdHRy
aWJ1dGVDaGFuZ2VkKGNvbnN0IEF0b21pY1N0cmluZyYgbmV3U3R5bGVTdHJpbmcsIFJlYXNvbkZv
ckF0dHJpYnV0ZUNoYW5nZSk7CiAKICAgICB2b2lkIGlubGluZVN0eWxlQ2hhbmdlZCgpOwogICAg
IFByb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbiogaW5saW5lU3R5bGVDU1NPTVdyYXBwZXIo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAppbmRleCA1MGVlOTZhMDAwZWU2ODQzZDc3YjJk
N2Q2MjdkYjlkNjBjNDAwMzFhLi5iNDc5Y2MxNzMxOWNjMTNkZDZiNWE0YjMxNDAwOTNiOGZkMmNl
ZTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCkBAIC01MzAsNyArNTMwLDcgQEAgYm9v
bCBTVkdFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGVSZW5kZXJp
bmdDb250ZXh0JiBjaGlsZENvbnQKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXZvaWQgU1ZHRWxl
bWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBB
dG9taWNTdHJpbmcmIG5ld1ZhbHVlKQordm9pZCBTVkdFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2Vk
KGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgbmV3VmFsdWUs
IFJlYXNvbkZvckF0dHJpYnV0ZUNoYW5nZSByZWFzb24pCiB7CiAgICAgU3R5bGVkRWxlbWVudDo6
YXR0cmlidXRlQ2hhbmdlZChuYW1lLCBuZXdWYWx1ZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5o
CmluZGV4IGJmZjgzYThkODM4YTA4MTViN2FlMWVjYzQ5ODIwYzk2YjUyODFkMmYuLmM4Mzk3OWJl
YmZmMTA4YjQyZWQwNmEzYzk0MGU0NGIwZDQ4NWY5NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQu
aApAQCAtMTI2LDcgKzEyNiw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VB
dHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIE9WRVJS
SURFOwogCiAgICAgdmlydHVhbCB2b2lkIGZpbmlzaFBhcnNpbmdDaGlsZHJlbigpOwotICAgIHZp
cnR1YWwgdm9pZCBhdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBB
dG9taWNTdHJpbmcmKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgYXR0cmlidXRlQ2hhbmdl
ZChjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJiwgUmVhc29uRm9yQXR0
cmlidXRlQ2hhbmdlID0gQXR0cmlidXRlU2V0RGlyZWN0bHkpIE9WRVJSSURFOwogICAgIHZpcnR1
YWwgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250
ZXh0JikgY29uc3QgT1ZFUlJJREU7CiAgICAgCiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZWRGcm9t
KENvbnRhaW5lck5vZGUqKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiNzgyMmFjOTdhZmQ2YmIzY2ExYTQy
MDYyMzAxNzc2ZDNiM2IwNzg2Li43YWEzNjBkMGNiNjU0N2EzYzg1Y2NiODc4ZGEyY2UwZDJhNGU2
YjA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTMtMDMtMTkgIEZlbGlwZSBaaW1tZXJsZSAg
PGZlbGlwZUB6aW1tZXJsZS5vcmc+CisKKyAgICAgICAgQ1NQIGJsb2NrcyBpbmxpbmUgc3R5bGUg
d2hlbiBjbG9uaW5nIGEgbm9kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTEyMjcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9p
bmxpbmUtc3R5bGUtYWxsb3dlZC13aGlsZS1jbG9uaW5nLW9iamVjdHMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS9pbmxpbmUtc3R5bGUtYWxsb3dlZC13aGlsZS1jbG9uaW5nLW9iamVjdHMuaHRtbDogQWRkZWQu
CisKIDIwMTMtMDMtMTggIFhpYW56aHUgV2FuZyAgPHdhbmd4aWFuemh1QGNocm9taXVtLm9yZz4K
IAogICAgICAgICBWYXJpYW50IG9mIG5vbi1wcmltYXJ5IGZlbGwtYmFjayBTVkdGb250IGNhdXNl
cyBjcmFzaC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L2lubGluZS1zdHlsZS1hbGxvd2VkLXdoaWxlLWNsb25pbmctb2Jq
ZWN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9pbmxpbmUtc3R5bGUtYWxsb3dlZC13aGlsZS1jbG9uaW5nLW9iamVj
dHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2ZmU0Y2ZjOTZhMjYyNDhjMDMzMzFjNmJmNTNi
Y2JiNzE1YWQ4NDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9pbmxpbmUtc3R5bGUtYWxsb3dlZC13aGlsZS1j
bG9uaW5nLW9iamVjdHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzggQEAKK0NPTlNPTEUgTUVT
U0FHRTogUmVmdXNlZCB0byBhcHBseSBpbmxpbmUgc3R5bGUgYmVjYXVzZSBpdCB2aW9sYXRlcyB0
aGUgZm9sbG93aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogImRlZmF1bHQt
c3JjICdzZWxmJyIuIE5vdGUgdGhhdCAnc3R5bGUtc3JjJyB3YXMgbm90IGV4cGxpY2l0bHkgc2V0
LCBzbyAnZGVmYXVsdC1zcmMnIGlzIHVzZWQgYXMgYSBmYWxsYmFjay4KKworQ09OU09MRSBNRVNT
QUdFOiBsaW5lIDgwOiBSZWZ1c2VkIHRvIGFwcGx5IGlubGluZSBzdHlsZSBiZWNhdXNlIGl0IHZp
b2xhdGVzIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAi
ZGVmYXVsdC1zcmMgJ3NlbGYnIi4gTm90ZSB0aGF0ICdzdHlsZS1zcmMnIHdhcyBub3QgZXhwbGlj
aXRseSBzZXQsIHNvICdkZWZhdWx0LXNyYycgaXMgdXNlZCBhcyBhIGZhbGxiYWNrLgorCitUaGlz
IHRlc3QgZW5zdXJlcyB0aGF0IHN0eWxlcyBjYW4gYmUgc2V0IGJ5IG9iamVjdC5jbG9uZU5vZGUo
KQorUEFTUyBub2RlMS5zdHlsZS5iYWNrZ3JvdW5kIGlzICJ5ZWxsb3ciCitQQVNTIG5vZGUyLnN0
eWxlLmJhY2tncm91bmQgaXMgInllbGxvdyIKK1BBU1Mgbm9kZTMuc3R5bGUuYmFja2dyb3VuZCBp
cyAiYmx1ZSIKK1BBU1Mgbm9kZTQuc3R5bGUuYmFja2dyb3VuZCBpcyAiYmx1ZSIKK1BBU1Mgbm9k
ZTEuc3R5bGUuY29sb3IgaXMgInJlZCIKK1BBU1Mgbm9kZTIuc3R5bGUuY29sb3IgaXMgInJlZCIK
K1BBU1Mgbm9kZTMuc3R5bGUuY29sb3IgaXMgImdyZWVuIgorUEFTUyBub2RlNC5zdHlsZS5jb2xv
ciBpcyAiZ3JlZW4iCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG5vZGUxKS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuY3NzVGV4dCBpcyB3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShub2RlMikuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQKK1BB
U1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUobm9kZTMpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2Jh
Y2tncm91bmQnKS5jc3NUZXh0IGlzIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG5vZGU0KS5nZXRQ
cm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuY3NzVGV4dAorUEFTUyB3aW5kb3cuZ2V0Q29t
cHV0ZWRTdHlsZShub2RlMSkuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnY29sb3InKS5jc3NUZXh0IGlz
IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG5vZGUyKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdjb2xv
cicpLmNzc1RleHQKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUobm9kZTMpLmdldFByb3Bl
cnR5Q1NTVmFsdWUoJ2NvbG9yJykuY3NzVGV4dCBpcyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShu
b2RlNCkuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnY29sb3InKS5jc3NUZXh0CitQQVNTIG9wcy5zdHls
ZS5iYWNrZ3JvdW5kIGlzICIiCitnZXRDb21wdXRlZFN0eWxlKGNsb25lZE9wcykuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQ6IHJnYmEoMCwgMCwgMCwgMCkgbm9uZSBy
ZXBlYXQgc2Nyb2xsIDAlIDAlIC8gYXV0byBwYWRkaW5nLWJveCBib3JkZXItYm94CitQQVNTIG9w
cy5zdHlsZS5jb2xvciBpcyAicmVkIgorUEFTUyBjbG9uZWRPcHMuc3R5bGUuYmFja2dyb3VuZCBp
cyAiIgorUEFTUyB2aW9sZXRPcHMuc3R5bGUuYmFja2dyb3VuZCBpcyAicmdiKDIzOCwgMTMwLCAy
MzgpIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShjbG9uZWRPcHMpLmdldFByb3BlcnR5
Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5jc3NUZXh0IGlzIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxl
KG9wcykuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQKK1BBU1Mgd2lu
ZG93LmdldENvbXB1dGVkU3R5bGUoY2xvbmVkT3BzKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdjb2xv
cicpLmNzc1RleHQgaXMgd2luZG93LmdldENvbXB1dGVkU3R5bGUob3BzKS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKCdjb2xvcicpLmNzc1RleHQKK2dldENvbXB1dGVkU3R5bGUodmlvbGV0T3BzKS5nZXRQ
cm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuY3NzVGV4dDogcmdiKDIzOCwgMTMwLCAyMzgp
IG5vbmUgcmVwZWF0IHNjcm9sbCAwJSAwJSAvIGF1dG8gcGFkZGluZy1ib3ggYm9yZGVyLWJveAor
UEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShvcHMpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2Jh
Y2tncm91bmQnKS5jc3NUZXh0IGlzIG5vdCB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh2aW9sZXRP
cHMpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5jc3NUZXh0CitQQVNTIHdpbmRv
dy5nZXRDb21wdXRlZFN0eWxlKGNsb25lZE9wcykuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dy
b3VuZCcpLmNzc1RleHQgaXMgbm90IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHZpb2xldE9wcyku
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQKK1BBU1Mgb3BzLmlkIGlz
ICJvcHMiCitQQVNTIG9wcy5pZCBpcyBjbG9uZWRPcHMuaWQKK0J1ZyAxMTIyNzAgaGFzIG1vcmUg
aW5mb3JtYXRpb24gb24gdGhlIHN1YmplY3QuCitUaGlzIGlzIGEgZGl2IChub2RlcykKK1RoaXMg
aXMgYSBkaXYuIChub2RlIDEgb3IgMikKK1RoaXMgaXMgYSBkaXYuIChub2RlIDEgb3IgMikKK1Ro
aXMgaXMgYSBkaXYuIChub2RlIDMgb3IgNCkKK05vZGUgIzQKK29wcy4KK29wcy4KK29wcy4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L2lubGluZS1zdHlsZS1hbGxvd2VkLXdoaWxlLWNsb25pbmctb2JqZWN0cy5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvaW5s
aW5lLXN0eWxlLWFsbG93ZWQtd2hpbGUtY2xvbmluZy1vYmplY3RzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzRmODRiMGZlN2ZhNWUzNzUzOGMzZTJmYmE5N2VlZTI2YWZkYjcxNwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L2lubGluZS1zdHlsZS1hbGxvd2VkLXdoaWxlLWNsb25pbmctb2JqZWN0cy5odG1sCkBAIC0wLDAg
KzEsODcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8bWV0YSBodHRw
LWVxdWl2PSJDb250ZW50LVNlY3VyaXR5LVBvbGljeSIgY29udGVudD0ic2NyaXB0LXNyYyAnc2Vs
ZicgJ3Vuc2FmZS1ldmFsJyAndW5zYWZlLWlubGluZSc7IGRlZmF1bHQtc3JjICdzZWxmJzsiPgor
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorICAgIDxzY3JpcHQ+CisgICAgICAgIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7Cisg
ICAgICAgICAgICBkZWJ1ZygiVGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCBzdHlsZXMgY2FuIGJlIHNl
dCBieSBvYmplY3QuY2xvbmVOb2RlKCkiKTsKKworICAgICAgICAgICAgd2luZG93Lm5vZGVzID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vZGVzJyk7CisgICAgICAgICAgICB3aW5kb3cubm9k
ZTEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9kZTEnKTsKKyAgICAgICAgICAgIHdpbmRv
dy5ub2RlMS5zdHlsZS5iYWNrZ3JvdW5kID0gInllbGxvdyI7CisgICAgICAgICAgICB3aW5kb3cu
bm9kZTEuc3R5bGUuY29sb3IgPSAicmVkIjsKKyAgICAgICAgICAgIHdpbmRvdy5ub2RlMiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdub2RlMScpLmNsb25lTm9kZSh0cnVlKTsKKyAgICAgICAg
ICAgIHdpbmRvdy5ub2RlMi5pZCA9ICAibm9kZTIiOworICAgICAgICAgICAgd2luZG93Lm5vZGUz
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vZGUzJyk7CisgICAgICAgICAgICB3aW5kb3cu
bm9kZTMuc3R5bGUuYmFja2dyb3VuZCA9ICJibHVlIjsKKyAgICAgICAgICAgIHdpbmRvdy5ub2Rl
My5zdHlsZS5jb2xvciA9ICJncmVlbiI7CisgICAgICAgICAgICB3aW5kb3cubm9kZTQgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnbm9kZTMnKS5jbG9uZU5vZGUoZmFsc2UpOworICAgICAgICAg
ICAgd2luZG93Lm5vZGU0LmlkID0gICJub2RlNCI7CisgICAgICAgICAgICB3aW5kb3cubm9kZTQu
aW5uZXJIVE1MID0gIk5vZGUgIzQiOworCisgICAgICAgICAgICBub2Rlcy5hcHBlbmRDaGlsZChu
b2RlMSk7CisgICAgICAgICAgICBub2Rlcy5hcHBlbmRDaGlsZChub2RlMik7CisgICAgICAgICAg
ICBub2Rlcy5hcHBlbmRDaGlsZChub2RlMyk7CisgICAgICAgICAgICBub2Rlcy5hcHBlbmRDaGls
ZChub2RlNCk7CisKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibm9kZTEuc3R5
bGUuYmFja2dyb3VuZCIsICJ5ZWxsb3ciKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygibm9kZTIuc3R5bGUuYmFja2dyb3VuZCIsICJ5ZWxsb3ciKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygibm9kZTMuc3R5bGUuYmFja2dyb3VuZCIsICJibHVlIik7Cisg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5vZGU0LnN0eWxlLmJhY2tncm91bmQi
LCAiYmx1ZSIpOworICAKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibm9kZTEu
c3R5bGUuY29sb3IiLCAicmVkIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
Im5vZGUyLnN0eWxlLmNvbG9yIiwgInJlZCIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJub2RlMy5zdHlsZS5jb2xvciIsICJncmVlbiIpOworICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJub2RlNC5zdHlsZS5jb2xvciIsICJncmVlbiIpOworCisgICAgICAg
ICAgICBzaG91bGRCZSgid2luZG93LmdldENvbXB1dGVkU3R5bGUobm9kZTEpLmdldFByb3BlcnR5
Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5jc3NUZXh0IiwgIndpbmRvdy5nZXRDb21wdXRlZFN0eWxl
KG5vZGUyKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuY3NzVGV4dCIpOworICAg
ICAgICAgICAgc2hvdWxkQmUoIndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG5vZGUzKS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuY3NzVGV4dCIsICJ3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShub2RlNCkuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQiKTsK
KworICAgICAgICAgICAgc2hvdWxkQmUoIndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG5vZGUxKS5n
ZXRQcm9wZXJ0eUNTU1ZhbHVlKCdjb2xvcicpLmNzc1RleHQiLCAid2luZG93LmdldENvbXB1dGVk
U3R5bGUobm9kZTIpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2NvbG9yJykuY3NzVGV4dCIpOworICAg
ICAgICAgICAgc2hvdWxkQmUoIndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG5vZGUzKS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCdjb2xvcicpLmNzc1RleHQiLCAid2luZG93LmdldENvbXB1dGVkU3R5bGUo
bm9kZTQpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2NvbG9yJykuY3NzVGV4dCIpOworCisgICAgICAg
ICAgICB3aW5kb3cub3BzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ29wcycpOworICAgICAg
ICAgICAgb3BzLnN0eWxlLmNvbG9yID0gJ3JlZCc7CisgICAgICAgICAgICB3aW5kb3cuY2xvbmVk
T3BzID0gb3BzLmNsb25lTm9kZSh0cnVlKTsKKyAgICAgICAgICAgIHdpbmRvdy52aW9sZXRPcHMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmlvbGV0T3BzJyk7CisKKyAgICAgICAgICAgIHZp
b2xldE9wcy5zdHlsZS5iYWNrZ3JvdW5kID0gJ3JnYigyMzgsIDEzMCwgMjM4KSc7CisgICAgICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYm9keScpWzBdLmFwcGVuZENoaWxk
KGNsb25lZE9wcyk7CisKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygib3BzLnN0
eWxlLmJhY2tncm91bmQiLCAiIik7CisgICAgICAgICAgICBkZWJ1ZygiZ2V0Q29tcHV0ZWRTdHls
ZShjbG9uZWRPcHMpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5jc3NUZXh0OiAi
ICsgd2luZG93LmdldENvbXB1dGVkU3R5bGUob3BzKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNr
Z3JvdW5kJykuY3NzVGV4dCk7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm9w
cy5zdHlsZS5jb2xvciIsICJyZWQiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygiY2xvbmVkT3BzLnN0eWxlLmJhY2tncm91bmQiLCAiIik7CisgICAgICAgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInZpb2xldE9wcy5zdHlsZS5iYWNrZ3JvdW5kIiwgInJnYigyMzgsIDEz
MCwgMjM4KSIpOworCisgICAgICAgICAgICBzaG91bGRCZSgid2luZG93LmdldENvbXB1dGVkU3R5
bGUoY2xvbmVkT3BzKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuY3NzVGV4dCIs
ICJ3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShvcHMpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tn
cm91bmQnKS5jc3NUZXh0Iik7CisgICAgICAgICAgICBzaG91bGRCZSgid2luZG93LmdldENvbXB1
dGVkU3R5bGUoY2xvbmVkT3BzKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdjb2xvcicpLmNzc1RleHQi
LCAid2luZG93LmdldENvbXB1dGVkU3R5bGUob3BzKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdjb2xv
cicpLmNzc1RleHQiKTsKKyAgICAgICAgICAgIGRlYnVnKCJnZXRDb21wdXRlZFN0eWxlKHZpb2xl
dE9wcykuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQ6ICIgKyB3aW5k
b3cuZ2V0Q29tcHV0ZWRTdHlsZSh2aW9sZXRPcHMpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tn
cm91bmQnKS5jc3NUZXh0KTsKKyAgICAgICAgICAgIHNob3VsZE5vdEJlKCJ3aW5kb3cuZ2V0Q29t
cHV0ZWRTdHlsZShvcHMpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5jc3NUZXh0
IiwgIndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHZpb2xldE9wcykuZ2V0UHJvcGVydHlDU1NWYWx1
ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQiKTsKKyAgICAgICAgICAgIHNob3VsZE5vdEJlKCJ3aW5k
b3cuZ2V0Q29tcHV0ZWRTdHlsZShjbG9uZWRPcHMpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tn
cm91bmQnKS5jc3NUZXh0IiwgIndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHZpb2xldE9wcykuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQiKTsKKworICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJvcHMuaWQiLCAib3BzIik7CisgICAgICAgICAgICBzaG91
bGRCZSgib3BzLmlkIiwgImNsb25lZE9wcy5pZCIpOworCisgICAgICAgfTsKKyAgICA8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorICAgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTExMjI3MCI+QnVnIDExMjI3MDwvYT4KK2hhcyBtb3JlIGluZm9ybWF0
aW9uIG9uIHRoZSBzdWJqZWN0LjwvcD4KKworICAgIDxkaXYgaWQ9Im5vZGVzIj4KKwlUaGlzIGlz
IGEgZGl2IChub2RlcykKKyAgICAgICAgPGRpdiBpZD0ibm9kZTEiPiBUaGlzIGlzIGEgZGl2LiAo
bm9kZSAxIG9yIDIpPC9kaXY+CisgICAgICAgIDxkaXYgaWQ9Im5vZGUzIj4gVGhpcyBpcyBhIGRp
di4gKG5vZGUgMyBvciA0KTwvZGl2PgorICAgIDwvZGl2PgorCisgICAgPGRpdiBpZD0ib3BzIiBz
dHlsZT0iYmFja2dyb3VuZDogcmdiKDIzOCwgMTMwLCAyMzgpIj4KKyAgICAgICAgIG9wcy4KKyAg
ICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJ2aW9sZXRPcHMiPgorICAgICAgICAgb3BzLgorICAgIDwv
ZGl2PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193916</attachid>
            <date>2013-03-19 14:07:28 -0700</date>
            <delta_ts>2013-03-20 15:44:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112270-20130319180318.patch</filename>
            <type>text/plain</type>
            <size>18430</size>
            <attacher name="Felipe Zimmerle">felipe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjgwMzM1NGZkOTUzZjdj
N2ZkMDllNTIyMjM2MjY3MzVmNzYzYmFkMC4uMThmZmJhN2FjZTcyNzY4ODY3ODM4MDBlZmYwYWRl
N2E4M2UwMWYxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEzLTAzLTE5ICBGZWxp
cGUgWmltbWVybGUgIDxmZWxpcGVAemltbWVybGUub3JnPgorCisgICAgICAgIENTUCBibG9ja3Mg
aW5saW5lIHN0eWxlIHdoZW4gY2xvbmluZyBhIG5vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjI3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIENoZWNrcyBpZiB0aGUgRWxlbWVudCBpcyBiZWluZyBj
bG9uZWQsIGlmIHNvLCB0aGUgYXBwbGljYXRpb24gb2YgdGhlCisgICAgICAgIHN0eWxlIGlzIGFs
bG93ZWQgb3RoZXJ3aXNlIGl0IHJlbGF5cyBvbiBkZWZhdWx0IHBlcm1pc3Npb24gbWVjaGFuaXNt
LgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L2lubGluZS1zdHlsZS1hbGxvd2VkLXdoaWxlLWNsb25pbmctb2JqZWN0cy5odG1sCisKKyAg
ICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjphdHRy
aWJ1dGVDaGFuZ2VkKTogQWRkZWQgcGFyYW1ldGVyCisgICAgICAgIFJlYXNvbkZvckF0dHJpYnV0
ZUNoYW5nZSB0byB0aGUgbWV0aG9kIHNpZ25hdHVyZS4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1l
bnQ6OmNsb25lQXR0cmlidXRlc0Zyb21FbGVtZW50KTogSXQgaXMgbm93IGNhbGxpbmcgCisgICAg
ICAgIGF0dHJpYnV0ZUNoYW5nZWQgd2l0aCBSZWFzb25Gb3JBdHRyaWJ1dGVDaGFuZ2UgcGFyYW1l
dGVyLiBJbiB0aGlzIHNjb3BlCisgICAgICAgIGl0IGlzIGFsd2F5cyBzZXQgdG8gQXR0cmlidXRl
U2V0RnJvbUNsb25lLgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6IEFkZGVkIFJlYXNvbkZvckF0
dHJpYnV0ZUNoYW5nZSBlbnVtLiBVc2VkIHRvIHNwZWNpZnkKKyAgICAgICAgd2hlbmV2ZXIgYW4g
YXR0cmlidXRlIHdhcyBzZXQgYnkgYSBjbG9uZWQgb2plY3Qgb3IgZGlyZWN0bHkuCisgICAgICAg
IFJlYXNvbkZvckF0dHJpYnV0ZUNoYW5nZSBhZGRlZCB0byBhdHRyaWJ1dGVDaGFuZ2VkIHdpdGgg
dGhlIGRlZmF1bHQKKyAgICAgICAgdmFsdWUgc2V0IHRvIEF0dHJpYnV0ZVNldERpcmVjdGx5LiAK
KyAgICAgICAgKiBkb20vU3R5bGVkRWxlbWVudC5jcHA6IAorICAgICAgICAoV2ViQ29yZTo6U3R5
bGVkRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6IEFkZGVkCisgICAgICAgIFJlYXNvbkZvckF0
dHJpYnV0ZUNoYW5nZSB0byB0aGUgbWV0aG9kIHNpZ25hdHVyZS4KKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlZEVsZW1lbnQ6OnN0eWxlQXR0cmlidXRlQ2hhbmdlZCk6IE5vdyBpdCBpcyBjaGVja2lu
ZyB0aGUKKyAgICAgICAgcmVhc29uIG9mIHRoZSB1cGRhdGUsIGlmIHRoZSByZWFzb24gaXMgQXR0
cmlidXRlU2V0RGlyZWN0bHkgY2hlY2sgQ1NQCisgICAgICAgIGJlZm9yZSBzZXQuIElmIEF0dHJp
YnV0ZVNldEZyb21DbG9uZSBzZXQgdGhlIGF0dHJpYnV0ZSBpZ25vcmluZyB0aGUgQ1NQCisgICAg
ICAgIHBvbGljeS4KKyAgICAgICAgKiBkb20vU3R5bGVkRWxlbWVudC5oOgorICAgICAgICAoU3R5
bGVkRWxlbWVudCk6IEFkZGVkIFJlYXNvbkZvckF0dHJpYnV0ZUNoYW5nZSBwYXJhbWV0ZXIgdG8g
dGhlIG1ldGhvZHM6CisgICAgICAgIGF0dHJpYnV0ZUNoYW5nZWQgYW5kIHN0eWxlQXR0cmlidXRl
Q2hhbmdlZCwgYXR0cmlidXRlQ2hhbmdlZCBoYXMKKyAgICAgICAgQXR0cmlidXRlU2V0RGlyZWN0
bHkgYXMgZGVmYXVsdCB2YWx1ZS4KKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudC5jcHA6IAorICAg
ICAgICAoV2ViQ29yZTo6U1ZHRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6IEFkZGVkIFJlYXNv
bkZvckF0dHJpYnV0ZUNoYW5nZQorICAgICAgICBwYXJhbWV0ZXIgdG8gdGhlIG1ldGhvZCBzaWdu
YXR1cmUuCisgICAgICAgICogc3ZnL1NWR0VsZW1lbnQuaDogCisgICAgICAgIChTVkdFbGVtZW50
KTogQWRkZWQgUmVhc29uRm9yQXR0cmlidXRlQ2hhbmdlIHBhcmFtZXRlciB0byB0aGUKKyAgICAg
ICAgYXR0cmlidXRlQ2hhbmdlZCBzaWduYXR1cmUgd2l0aCB0aGUgZGVmYXVsdCB2YWx1ZSBzZXQg
dG86CisgICAgICAgIEF0dHJpYnV0ZVNldERpcmVjdGx5LgorCiAyMDEzLTAzLTE4ICBYaWFuemh1
IFdhbmcgIDx3YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVmFyaWFudCBvZiBu
b24tcHJpbWFyeSBmZWxsLWJhY2sgU1ZHRm9udCBjYXVzZXMgY3Jhc2guCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5jcHAKaW5kZXggNmU4OWMwMTVkNGEwZmE1OWI3MjczMjZlZDdiZDAyYmQzMDA4YmVlZS4uYjk2
ZWU3MTIwZDQzZjdlYWIzZGIwOWQ2MTQ3YzhlNmU5YWRkZjVkYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmNwcApAQCAtODQ0LDcgKzg0NCw3IEBAIHN0YXRpYyBib29sIGNoZWNrTmVlZHNTdHlsZUludmFs
aWRhdGlvbkZvcklkQ2hhbmdlKGNvbnN0IEF0b21pY1N0cmluZyYgb2xkSWQsIGNvCiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCi12b2lkIEVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVh
bGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiBuZXdWYWx1ZSkKK3ZvaWQgRWxl
bWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBB
dG9taWNTdHJpbmcmIG5ld1ZhbHVlLCBSZWFzb25Gb3JBdHRyaWJ1dGVDaGFuZ2UpCiB7CiAgICAg
aWYgKEVsZW1lbnRTaGFkb3cqIHBhcmVudEVsZW1lbnRTaGFkb3cgPSBzaGFkb3dPZlBhcmVudEZv
ckRpc3RyaWJ1dGlvbih0aGlzKSkgewogICAgICAgICBpZiAoc2hvdWxkSW52YWxpZGF0ZURpc3Ry
aWJ1dGlvbldoZW5BdHRyaWJ1dGVDaGFuZ2VkKHBhcmVudEVsZW1lbnRTaGFkb3csIG5hbWUsIG5l
d1ZhbHVlKSkKQEAgLTI4NTMsNyArMjg1Myw3IEBAIHZvaWQgRWxlbWVudDo6Y2xvbmVBdHRyaWJ1
dGVzRnJvbUVsZW1lbnQoY29uc3QgRWxlbWVudCYgb3RoZXIpCiAKICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbV9lbGVtZW50RGF0YS0+bGVuZ3RoKCk7ICsraSkgewogICAgICAgICBjb25z
dCBBdHRyaWJ1dGUqIGF0dHJpYnV0ZSA9IGNvbnN0X2Nhc3Q8Y29uc3QgRWxlbWVudERhdGEqPiht
X2VsZW1lbnREYXRhLmdldCgpKS0+YXR0cmlidXRlSXRlbShpKTsKLSAgICAgICAgYXR0cmlidXRl
Q2hhbmdlZChhdHRyaWJ1dGUtPm5hbWUoKSwgYXR0cmlidXRlLT52YWx1ZSgpKTsKKyAgICAgICAg
YXR0cmlidXRlQ2hhbmdlZChhdHRyaWJ1dGUtPm5hbWUoKSwgYXR0cmlidXRlLT52YWx1ZSgpLCBB
dHRyaWJ1dGVTZXRGcm9tQ2xvbmUpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXgg
OWNhNGE1NzMyNjExMDI4OTNjMmMxNTMwNTVmZjE2YjI2OWQxM2ZlMS4uZTNlM2EzNjhiOTMyMWI3
NjM4YTI0ZjcyNjk5NWFkODc1ZDhkZjllNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC0zNzMsOCAr
MzczLDEzIEBAIHB1YmxpYzoKICAgICAvLyBGb3IgZXhwb3NpbmcgdG8gRE9NIG9ubHkuCiAgICAg
TmFtZWROb2RlTWFwKiBhdHRyaWJ1dGVzKCkgY29uc3Q7CiAKKyAgICBlbnVtIFJlYXNvbkZvckF0
dHJpYnV0ZUNoYW5nZSB7CisgICAgICAgIEF0dHJpYnV0ZVNldERpcmVjdGx5LAorICAgICAgICBB
dHRyaWJ1dGVTZXRGcm9tQ2xvbmUKKyAgICB9OworCiAgICAgLy8gVGhpcyBtZXRob2QgaXMgY2Fs
bGVkIHdoZW5ldmVyIGFuIGF0dHJpYnV0ZSBpcyBhZGRlZCwgY2hhbmdlZCBvciByZW1vdmVkLgot
ICAgIHZpcnR1YWwgdm9pZCBhdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBj
b25zdCBBdG9taWNTdHJpbmcmKTsKKyAgICB2aXJ0dWFsIHZvaWQgYXR0cmlidXRlQ2hhbmdlZChj
b25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJiwgUmVhc29uRm9yQXR0cmli
dXRlQ2hhbmdlID0gQXR0cmlidXRlU2V0RGlyZWN0bHkpOwogICAgIHZpcnR1YWwgdm9pZCBwYXJz
ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgeyB9
CiAKICAgICAvLyBPbmx5IGNhbGxlZCBieSB0aGUgcGFyc2VyIGltbWVkaWF0ZWx5IGFmdGVyIGVs
ZW1lbnQgY29uc3RydWN0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxl
ZEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCmluZGV4
IDlhMmM4MzI1Njk5ODgxODk5ZDk2ZTU2MDQ2ZDk3MGJhOWY2YTNlOGYuLjdlZTZiMmU5MjZiMDUx
NmZiMjc2ZDQ0ZTMxZjBkMjRmZDQ5MjcxYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TdHlsZWRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVu
dC5jcHAKQEAgLTE1NywxNiArMTU3LDE2IEBAIE11dGFibGVTdHlsZVByb3BlcnR5U2V0KiBTdHls
ZWRFbGVtZW50OjplbnN1cmVNdXRhYmxlSW5saW5lU3R5bGUoKQogICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxNdXRhYmxlU3R5bGVQcm9wZXJ0eVNldCo+KGlubGluZVN0eWxlLmdldCgpKTsKIH0KIAot
dm9pZCBTdHlsZWRFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUm
IG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgbmV3VmFsdWUpCit2b2lkIFN0eWxlZEVsZW1lbnQ6
OmF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWlj
U3RyaW5nJiBuZXdWYWx1ZSwgUmVhc29uRm9yQXR0cmlidXRlQ2hhbmdlIHJlYXNvbikKIHsKICAg
ICBpZiAobmFtZSA9PSBzdHlsZUF0dHIpCi0gICAgICAgIHN0eWxlQXR0cmlidXRlQ2hhbmdlZChu
ZXdWYWx1ZSk7CisgICAgICAgIHN0eWxlQXR0cmlidXRlQ2hhbmdlZChuZXdWYWx1ZSwgcmVhc29u
KTsKICAgICBlbHNlIGlmIChpc1ByZXNlbnRhdGlvbkF0dHJpYnV0ZShuYW1lKSkgewogICAgICAg
ICBlbGVtZW50RGF0YSgpLT5tX3ByZXNlbnRhdGlvbkF0dHJpYnV0ZVN0eWxlSXNEaXJ0eSA9IHRy
dWU7CiAgICAgICAgIHNldE5lZWRzU3R5bGVSZWNhbGMoSW5saW5lU3R5bGVDaGFuZ2UpOwogICAg
IH0KIAotICAgIEVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQobmFtZSwgbmV3VmFsdWUpOworICAg
IEVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQobmFtZSwgbmV3VmFsdWUsIHJlYXNvbik7CiB9CiAK
IFByb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbiogU3R5bGVkRWxlbWVudDo6aW5saW5lU3R5
bGVDU1NPTVdyYXBwZXIoKQpAQCAtMTk3LDcgKzE5Nyw3IEBAIGlubGluZSB2b2lkIFN0eWxlZEVs
ZW1lbnQ6OnNldElubGluZVN0eWxlRnJvbVN0cmluZyhjb25zdCBBdG9taWNTdHJpbmcmIG5ld1N0
eWxlCiAgICAgICAgIGlubGluZVN0eWxlLT5wYXJzZURlY2xhcmF0aW9uKG5ld1N0eWxlU3RyaW5n
LCBkb2N1bWVudCgpLT5lbGVtZW50U2hlZXQoKS0+Y29udGVudHMoKSk7CiB9CiAKLXZvaWQgU3R5
bGVkRWxlbWVudDo6c3R5bGVBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IEF0b21pY1N0cmluZyYgbmV3
U3R5bGVTdHJpbmcpCit2b2lkIFN0eWxlZEVsZW1lbnQ6OnN0eWxlQXR0cmlidXRlQ2hhbmdlZChj
b25zdCBBdG9taWNTdHJpbmcmIG5ld1N0eWxlU3RyaW5nLCBSZWFzb25Gb3JBdHRyaWJ1dGVDaGFu
Z2UgcmVhc29uKQogewogICAgIFdURjo6T3JkaW5hbE51bWJlciBzdGFydExpbmVOdW1iZXIgPSBX
VEY6Ok9yZGluYWxOdW1iZXI6OmJlZm9yZUZpcnN0KCk7CiAgICAgaWYgKGRvY3VtZW50KCkgJiYg
ZG9jdW1lbnQoKS0+c2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKCkgJiYgIWRvY3VtZW50KCktPmlz
SW5Eb2N1bWVudFdyaXRlKCkpCkBAIC0yMDcsNyArMjA3LDcgQEAgdm9pZCBTdHlsZWRFbGVtZW50
OjpzdHlsZUF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgQXRvbWljU3RyaW5nJiBuZXdTdHlsZVN0cmlu
ZykKICAgICAgICAgaWYgKFByb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbiogY3Nzb21XcmFw
cGVyID0gaW5saW5lU3R5bGVDU1NPTVdyYXBwZXIoKSkKICAgICAgICAgICAgIGNzc29tV3JhcHBl
ci0+Y2xlYXJQYXJlbnRFbGVtZW50KCk7CiAgICAgICAgIGVuc3VyZVVuaXF1ZUVsZW1lbnREYXRh
KCktPm1faW5saW5lU3R5bGUuY2xlYXIoKTsKLSAgICB9IGVsc2UgaWYgKGRvY3VtZW50KCktPmNv
bnRlbnRTZWN1cml0eVBvbGljeSgpLT5hbGxvd0lubGluZVN0eWxlKGRvY3VtZW50KCktPnVybCgp
LCBzdGFydExpbmVOdW1iZXIpKQorICAgIH0gZWxzZSBpZiAocmVhc29uID09IEF0dHJpYnV0ZVNl
dEZyb21DbG9uZSB8fCBkb2N1bWVudCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+YWxsb3dJ
bmxpbmVTdHlsZShkb2N1bWVudCgpLT51cmwoKSwgc3RhcnRMaW5lTnVtYmVyKSkKICAgICAgICAg
c2V0SW5saW5lU3R5bGVGcm9tU3RyaW5nKG5ld1N0eWxlU3RyaW5nKTsKIAogICAgIGVsZW1lbnRE
YXRhKCktPm1fc3R5bGVBdHRyaWJ1dGVJc0RpcnR5ID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxl
ZEVsZW1lbnQuaAppbmRleCBkZDY5ZThmN2VmNGZiY2NiYzk1YTRiZDY2ODMwZGUyMGU4OWEyYjMz
Li4zNTQzOTA2NDY1YjQ3OGQyMjkyOGMzYTc0NmY4NTRjNjFmNjIzMzE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TdHlsZWRFbGVtZW50LmgKQEAgLTY2LDcgKzY2LDcgQEAgcHJvdGVjdGVkOgogICAgIHsKICAg
ICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgYXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWRO
YW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGF0
dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYs
IFJlYXNvbkZvckF0dHJpYnV0ZUNoYW5nZSA9IEF0dHJpYnV0ZVNldERpcmVjdGx5KSBPVkVSUklE
RTsKIAogICAgIHZpcnR1YWwgYm9vbCBpc1ByZXNlbnRhdGlvbkF0dHJpYnV0ZShjb25zdCBRdWFs
aWZpZWROYW1lJikgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIApAQCAtNzcsNyArNzcsNyBAQCBw
cm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGFkZFN1YnJlc291cmNlQXR0cmlidXRlVVJMcyhM
aXN0SGFzaFNldDxLVVJMPiYpIGNvbnN0OwogCiBwcml2YXRlOgotICAgIHZvaWQgc3R5bGVBdHRy
aWJ1dGVDaGFuZ2VkKGNvbnN0IEF0b21pY1N0cmluZyYgbmV3U3R5bGVTdHJpbmcpOworICAgIHZv
aWQgc3R5bGVBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IEF0b21pY1N0cmluZyYgbmV3U3R5bGVTdHJp
bmcsIFJlYXNvbkZvckF0dHJpYnV0ZUNoYW5nZSk7CiAKICAgICB2b2lkIGlubGluZVN0eWxlQ2hh
bmdlZCgpOwogICAgIFByb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbiogaW5saW5lU3R5bGVD
U1NPTVdyYXBwZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAppbmRleCA1MGVlOTZhMDAw
ZWU2ODQzZDc3YjJkN2Q2MjdkYjlkNjBjNDAwMzFhLi5jMGI0ZGExNzA4MDQzYmY2ODRjNmM5NWVj
OTcxN2E4ZWJlYzFlZGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCkBAIC01MzAsNyAr
NTMwLDcgQEAgYm9vbCBTVkdFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0
IE5vZGVSZW5kZXJpbmdDb250ZXh0JiBjaGlsZENvbnQKICAgICByZXR1cm4gZmFsc2U7CiB9CiAK
LXZvaWQgU1ZHRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBu
YW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIG5ld1ZhbHVlKQordm9pZCBTVkdFbGVtZW50OjphdHRy
aWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgbmV3VmFsdWUsIFJlYXNvbkZvckF0dHJpYnV0ZUNoYW5nZSkKIHsKICAgICBTdHlsZWRFbGVt
ZW50OjphdHRyaWJ1dGVDaGFuZ2VkKG5hbWUsIG5ld1ZhbHVlKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVt
ZW50LmgKaW5kZXggYmZmODNhOGQ4MzhhMDgxNWI3YWUxZWNjNDk4MjBjOTZiNTI4MWQyZi4uYzgz
OTc5YmViZmYxMDhiNDJlZDA2YTNjOTQwZTQ0YjBkNDg1Zjk0NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxl
bWVudC5oCkBAIC0xMjYsNyArMTI2LDcgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBw
YXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikg
T1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIHZvaWQgZmluaXNoUGFyc2luZ0NoaWxkcmVuKCk7Ci0g
ICAgdmlydHVhbCB2b2lkIGF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNv
bnN0IEF0b21pY1N0cmluZyYpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBhdHRyaWJ1dGVD
aGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmLCBSZWFzb25G
b3JBdHRyaWJ1dGVDaGFuZ2UgPSBBdHRyaWJ1dGVTZXREaXJlY3RseSkgT1ZFUlJJREU7CiAgICAg
dmlydHVhbCBib29sIGNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZVJlbmRlcmlu
Z0NvbnRleHQmKSBjb25zdCBPVkVSUklERTsKICAgICAKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3Zl
ZEZyb20oQ29udGFpbmVyTm9kZSopIE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGI3ODIyYWM5N2FmZDZiYjNj
YTFhNDIwNjIzMDE3NzZkM2IzYjA3ODYuLjdhYTM2MGQwY2I2NTQ3YTNjODVjY2I4NzhkYTJjZTBk
MmE0ZTZiMDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMy0wMy0xOSAgRmVsaXBlIFppbW1l
cmxlICA8ZmVsaXBlQHppbW1lcmxlLm9yZz4KKworICAgICAgICBDU1AgYmxvY2tzIGlubGluZSBz
dHlsZSB3aGVuIGNsb25pbmcgYSBub2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMTIyNzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L2lubGluZS1zdHlsZS1hbGxvd2VkLXdoaWxlLWNsb25pbmctb2JqZWN0cy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L2lubGluZS1zdHlsZS1hbGxvd2VkLXdoaWxlLWNsb25pbmctb2JqZWN0cy5odG1sOiBB
ZGRlZC4KKwogMjAxMy0wMy0xOCAgWGlhbnpodSBXYW5nICA8d2FuZ3hpYW56aHVAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFZhcmlhbnQgb2Ygbm9uLXByaW1hcnkgZmVsbC1iYWNrIFNWR0ZvbnQg
Y2F1c2VzIGNyYXNoLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvaW5saW5lLXN0eWxlLWFsbG93ZWQtd2hpbGUtY2xvbmlu
Zy1vYmplY3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L2lubGluZS1zdHlsZS1hbGxvd2VkLXdoaWxlLWNsb25pbmct
b2JqZWN0cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGRlNzUyNGI2NThlMTFhYWMyMjVkMDcw
YmZlMTI0ZjIyN2ZiZTM5MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2lubGluZS1zdHlsZS1hbGxvd2VkLXdo
aWxlLWNsb25pbmctb2JqZWN0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzOCBAQAorQ09OU09M
RSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGFwcGx5IGlubGluZSBzdHlsZSBiZWNhdXNlIGl0IHZpb2xh
dGVzIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAic3R5
bGUtc3JjICdzZWxmJyIuCisKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA3OTogUmVmdXNlZCB0byBh
cHBseSBpbmxpbmUgc3R5bGUgYmVjYXVzZSBpdCB2aW9sYXRlcyB0aGUgZm9sbG93aW5nIENvbnRl
bnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogInN0eWxlLXNyYyAnc2VsZiciLgorCitUaGlz
IHRlc3QgZW5zdXJlcyB0aGF0IHN0eWxlcyBjYW4gYmUgc2V0IGJ5IG9iamVjdC5jbG9uZU5vZGUo
KQorUEFTUyBub2RlMS5zdHlsZS5iYWNrZ3JvdW5kIGlzICJ5ZWxsb3ciCitQQVNTIG5vZGUyLnN0
eWxlLmJhY2tncm91bmQgaXMgInllbGxvdyIKK1BBU1Mgbm9kZTMuc3R5bGUuYmFja2dyb3VuZCBp
cyAiYmx1ZSIKK1BBU1Mgbm9kZTQuc3R5bGUuYmFja2dyb3VuZCBpcyAiYmx1ZSIKK1BBU1Mgbm9k
ZTEuc3R5bGUuY29sb3IgaXMgInJlZCIKK1BBU1Mgbm9kZTIuc3R5bGUuY29sb3IgaXMgInJlZCIK
K1BBU1Mgbm9kZTMuc3R5bGUuY29sb3IgaXMgImdyZWVuIgorUEFTUyBub2RlNC5zdHlsZS5jb2xv
ciBpcyAiZ3JlZW4iCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG5vZGUxKS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuY3NzVGV4dCBpcyB3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShub2RlMikuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQKK1BB
U1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUobm9kZTMpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2Jh
Y2tncm91bmQnKS5jc3NUZXh0IGlzIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG5vZGU0KS5nZXRQ
cm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuY3NzVGV4dAorUEFTUyB3aW5kb3cuZ2V0Q29t
cHV0ZWRTdHlsZShub2RlMSkuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnY29sb3InKS5jc3NUZXh0IGlz
IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG5vZGUyKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdjb2xv
cicpLmNzc1RleHQKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUobm9kZTMpLmdldFByb3Bl
cnR5Q1NTVmFsdWUoJ2NvbG9yJykuY3NzVGV4dCBpcyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShu
b2RlNCkuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnY29sb3InKS5jc3NUZXh0CitQQVNTIG9wcy5zdHls
ZS5iYWNrZ3JvdW5kIGlzICIiCitnZXRDb21wdXRlZFN0eWxlKGNsb25lZE9wcykuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQ6IHJnYmEoMCwgMCwgMCwgMCkgbm9uZSBy
ZXBlYXQgc2Nyb2xsIDAlIDAlIC8gYXV0byBwYWRkaW5nLWJveCBib3JkZXItYm94CitQQVNTIG9w
cy5zdHlsZS5jb2xvciBpcyAicmVkIgorUEFTUyBjbG9uZWRPcHMuc3R5bGUuYmFja2dyb3VuZCBp
cyAiIgorUEFTUyB2aW9sZXRPcHMuc3R5bGUuYmFja2dyb3VuZCBpcyAicmdiKDIzOCwgMTMwLCAy
MzgpIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShjbG9uZWRPcHMpLmdldFByb3BlcnR5
Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5jc3NUZXh0IGlzIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxl
KG9wcykuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQKK1BBU1Mgd2lu
ZG93LmdldENvbXB1dGVkU3R5bGUoY2xvbmVkT3BzKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdjb2xv
cicpLmNzc1RleHQgaXMgd2luZG93LmdldENvbXB1dGVkU3R5bGUob3BzKS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKCdjb2xvcicpLmNzc1RleHQKK2dldENvbXB1dGVkU3R5bGUodmlvbGV0T3BzKS5nZXRQ
cm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuY3NzVGV4dDogcmdiKDIzOCwgMTMwLCAyMzgp
IG5vbmUgcmVwZWF0IHNjcm9sbCAwJSAwJSAvIGF1dG8gcGFkZGluZy1ib3ggYm9yZGVyLWJveAor
UEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShvcHMpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2Jh
Y2tncm91bmQnKS5jc3NUZXh0IGlzIG5vdCB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh2aW9sZXRP
cHMpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5jc3NUZXh0CitQQVNTIHdpbmRv
dy5nZXRDb21wdXRlZFN0eWxlKGNsb25lZE9wcykuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dy
b3VuZCcpLmNzc1RleHQgaXMgbm90IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHZpb2xldE9wcyku
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQKK1BBU1Mgb3BzLmlkIGlz
ICJvcHMiCitQQVNTIG9wcy5pZCBpcyBjbG9uZWRPcHMuaWQKK0J1ZyAxMTIyNzAgaGFzIG1vcmUg
aW5mb3JtYXRpb24gb24gdGhlIHN1YmplY3QuCitUaGlzIGlzIGEgZGl2IChub2RlcykKK1RoaXMg
aXMgYSBkaXYuIChub2RlIDEgb3IgMikKK1RoaXMgaXMgYSBkaXYuIChub2RlIDEgb3IgMikKK1Ro
aXMgaXMgYSBkaXYuIChub2RlIDMgb3IgNCkKK05vZGUgIzQKK29wcy4KK29wcy4KK29wcy4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L2lubGluZS1zdHlsZS1hbGxvd2VkLXdoaWxlLWNsb25pbmctb2JqZWN0cy5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvaW5s
aW5lLXN0eWxlLWFsbG93ZWQtd2hpbGUtY2xvbmluZy1vYmplY3RzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDI4NjNkZTMwNTczMzJjOGYwMDQxMjAzYWU5NDg3ZWYwNjE3NjMyOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L2lubGluZS1zdHlsZS1hbGxvd2VkLXdoaWxlLWNsb25pbmctb2JqZWN0cy5odG1sCkBAIC0wLDAg
KzEsODYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8bWV0YSBodHRw
LWVxdWl2PSJDb250ZW50LVNlY3VyaXR5LVBvbGljeSIgY29udGVudD0ic2NyaXB0LXNyYyAnc2Vs
ZicgJ3Vuc2FmZS1ldmFsJyAndW5zYWZlLWlubGluZSc7IHN0eWxlLXNyYyAnc2VsZic7Ij4KKyAg
ICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KyAgICA8c2NyaXB0PgorICAgICAgICB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgeworICAg
ICAgICAgICAgZGVidWcoIlRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgc3R5bGVzIGNhbiBiZSBzZXQg
Ynkgb2JqZWN0LmNsb25lTm9kZSgpIik7CisKKyAgICAgICAgICAgIHdpbmRvdy5ub2RlcyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdub2RlcycpOworICAgICAgICAgICAgd2luZG93Lm5vZGUx
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25vZGUxJyk7CisgICAgICAgICAgICB3aW5kb3cu
bm9kZTEuc3R5bGUuYmFja2dyb3VuZCA9ICJ5ZWxsb3ciOworICAgICAgICAgICAgd2luZG93Lm5v
ZGUxLnN0eWxlLmNvbG9yID0gInJlZCI7CisgICAgICAgICAgICB3aW5kb3cubm9kZTIgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnbm9kZTEnKS5jbG9uZU5vZGUodHJ1ZSk7CisgICAgICAgICAg
ICB3aW5kb3cubm9kZTIuaWQgPSAgIm5vZGUyIjsKKyAgICAgICAgICAgIHdpbmRvdy5ub2RlMyA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub2RlMycpOworICAgICAgICAgICAgd2luZG93Lm5v
ZGUzLnN0eWxlLmJhY2tncm91bmQgPSAiYmx1ZSI7CisgICAgICAgICAgICB3aW5kb3cubm9kZTMu
c3R5bGUuY29sb3IgPSAiZ3JlZW4iOworICAgICAgICAgICAgd2luZG93Lm5vZGU0ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ25vZGUzJykuY2xvbmVOb2RlKGZhbHNlKTsKKyAgICAgICAgICAg
IHdpbmRvdy5ub2RlNC5pZCA9ICAibm9kZTQiOworICAgICAgICAgICAgd2luZG93Lm5vZGU0Lmlu
bmVySFRNTCA9ICJOb2RlICM0IjsKKworICAgICAgICAgICAgbm9kZXMuYXBwZW5kQ2hpbGQobm9k
ZTEpOworICAgICAgICAgICAgbm9kZXMuYXBwZW5kQ2hpbGQobm9kZTIpOworICAgICAgICAgICAg
bm9kZXMuYXBwZW5kQ2hpbGQobm9kZTMpOworICAgICAgICAgICAgbm9kZXMuYXBwZW5kQ2hpbGQo
bm9kZTQpOworCisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5vZGUxLnN0eWxl
LmJhY2tncm91bmQiLCAieWVsbG93Iik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoIm5vZGUyLnN0eWxlLmJhY2tncm91bmQiLCAieWVsbG93Iik7CisgICAgICAgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoIm5vZGUzLnN0eWxlLmJhY2tncm91bmQiLCAiYmx1ZSIpOworICAg
ICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJub2RlNC5zdHlsZS5iYWNrZ3JvdW5kIiwg
ImJsdWUiKTsKKyAgCisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5vZGUxLnN0
eWxlLmNvbG9yIiwgInJlZCIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJu
b2RlMi5zdHlsZS5jb2xvciIsICJyZWQiKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygibm9kZTMuc3R5bGUuY29sb3IiLCAiZ3JlZW4iKTsKKyAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygibm9kZTQuc3R5bGUuY29sb3IiLCAiZ3JlZW4iKTsKKworICAgICAgICAg
ICAgc2hvdWxkQmUoIndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG5vZGUxKS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKCdiYWNrZ3JvdW5kJykuY3NzVGV4dCIsICJ3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShu
b2RlMikuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQiKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShub2RlMykuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQiLCAid2luZG93LmdldENvbXB1dGVkU3R5
bGUobm9kZTQpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5jc3NUZXh0Iik7CisK
KyAgICAgICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShub2RlMSkuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgnY29sb3InKS5jc3NUZXh0IiwgIndpbmRvdy5nZXRDb21wdXRlZFN0
eWxlKG5vZGUyKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdjb2xvcicpLmNzc1RleHQiKTsKKyAgICAg
ICAgICAgIHNob3VsZEJlKCJ3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShub2RlMykuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgnY29sb3InKS5jc3NUZXh0IiwgIndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG5v
ZGU0KS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdjb2xvcicpLmNzc1RleHQiKTsKKworICAgICAgICAg
ICAgd2luZG93Lm9wcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvcHMnKTsKKyAgICAgICAg
ICAgIG9wcy5zdHlsZS5jb2xvciA9ICdyZWQnOworICAgICAgICAgICAgd2luZG93LmNsb25lZE9w
cyA9IG9wcy5jbG9uZU5vZGUodHJ1ZSk7CisgICAgICAgICAgICB3aW5kb3cudmlvbGV0T3BzID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Zpb2xldE9wcycpOworCisgICAgICAgICAgICB2aW9s
ZXRPcHMuc3R5bGUuYmFja2dyb3VuZCA9ICdyZ2IoMjM4LCAxMzAsIDIzOCknOworICAgICAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXS5hcHBlbmRDaGlsZChj
bG9uZWRPcHMpOworCisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm9wcy5zdHls
ZS5iYWNrZ3JvdW5kIiwgIiIpOworICAgICAgICAgICAgZGVidWcoImdldENvbXB1dGVkU3R5bGUo
Y2xvbmVkT3BzKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuY3NzVGV4dDogIiAr
IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG9wcykuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dy
b3VuZCcpLmNzc1RleHQpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJvcHMu
c3R5bGUuY29sb3IiLCAicmVkIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImNsb25lZE9wcy5zdHlsZS5iYWNrZ3JvdW5kIiwgIiIpOworICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJ2aW9sZXRPcHMuc3R5bGUuYmFja2dyb3VuZCIsICJyZ2IoMjM4LCAxMzAs
IDIzOCkiKTsKKworICAgICAgICAgICAgc2hvdWxkQmUoIndpbmRvdy5nZXRDb21wdXRlZFN0eWxl
KGNsb25lZE9wcykuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQiLCAi
d2luZG93LmdldENvbXB1dGVkU3R5bGUob3BzKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3Jv
dW5kJykuY3NzVGV4dCIpOworICAgICAgICAgICAgc2hvdWxkQmUoIndpbmRvdy5nZXRDb21wdXRl
ZFN0eWxlKGNsb25lZE9wcykuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnY29sb3InKS5jc3NUZXh0Iiwg
IndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG9wcykuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnY29sb3In
KS5jc3NUZXh0Iik7CisgICAgICAgICAgICBkZWJ1ZygiZ2V0Q29tcHV0ZWRTdHlsZSh2aW9sZXRP
cHMpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5jc3NUZXh0OiAiICsgd2luZG93
LmdldENvbXB1dGVkU3R5bGUodmlvbGV0T3BzKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3Jv
dW5kJykuY3NzVGV4dCk7CisgICAgICAgICAgICBzaG91bGROb3RCZSgid2luZG93LmdldENvbXB1
dGVkU3R5bGUob3BzKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuY3NzVGV4dCIs
ICJ3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh2aW9sZXRPcHMpLmdldFByb3BlcnR5Q1NTVmFsdWUo
J2JhY2tncm91bmQnKS5jc3NUZXh0Iik7CisgICAgICAgICAgICBzaG91bGROb3RCZSgid2luZG93
LmdldENvbXB1dGVkU3R5bGUoY2xvbmVkT3BzKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3Jv
dW5kJykuY3NzVGV4dCIsICJ3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh2aW9sZXRPcHMpLmdldFBy
b3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5jc3NUZXh0Iik7CisKKyAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygib3BzLmlkIiwgIm9wcyIpOworICAgICAgICAgICAgc2hvdWxk
QmUoIm9wcy5pZCIsICJjbG9uZWRPcHMuaWQiKTsKKyAgICAgICB9OworICAgIDwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+CisgICA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTEyMjcwIj5CdWcgMTEyMjcwPC9hPgoraGFzIG1vcmUgaW5mb3JtYXRpb24g
b24gdGhlIHN1YmplY3QuPC9wPgorCisgICAgPGRpdiBpZD0ibm9kZXMiPgorCVRoaXMgaXMgYSBk
aXYgKG5vZGVzKQorICAgICAgICA8ZGl2IGlkPSJub2RlMSI+IFRoaXMgaXMgYSBkaXYuIChub2Rl
IDEgb3IgMik8L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0ibm9kZTMiPiBUaGlzIGlzIGEgZGl2LiAo
bm9kZSAzIG9yIDQpPC9kaXY+CisgICAgPC9kaXY+CisKKyAgICA8ZGl2IGlkPSJvcHMiIHN0eWxl
PSJiYWNrZ3JvdW5kOiByZ2IoMjM4LCAxMzAsIDIzOCkiPgorICAgICAgICAgb3BzLgorICAgIDwv
ZGl2PgorICAgIDxkaXYgaWQ9InZpb2xldE9wcyI+CisgICAgICAgICBvcHMuCisgICAgPC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194139</attachid>
            <date>2013-03-20 15:44:18 -0700</date>
            <delta_ts>2013-04-03 04:20:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112270-20130320194008.patch</filename>
            <type>text/plain</type>
            <size>10057</size>
            <attacher name="Felipe Zimmerle">felipe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2Mzc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWFiYmMyYjA3OWM1NzUw
MmNmYmZmN2JhNzA3ZTY5YTFhNDk4ZDIyYS4uNzNhZDE3OTNiMzQzYjA0MGY2NmUxYzU0MDY4Mjc3
MGEwODIxOGI4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEzLTAzLTIwICBGZWxp
cGUgWmltbWVybGUgIDxmZWxpcGVAemltbWVybGUub3JnPgorCisgICAgICAgIENTUCBibG9ja3Mg
aW5saW5lIHN0eWxlIHdoZW4gY2xvbmluZyBhIG5vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjI3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIENoZWNrcyBpZiB0aGUgRWxlbWVudCBpcyBiZWluZyBj
bG9uZWQsIGlmIHNvLCB0aGUgYXBwbGljYXRpb24gb2YgdGhlCisgICAgICAgIHN0eWxlIGlzIGFs
bG93ZWQgb3RoZXJ3aXNlIGl0IHJlbGllcyBvbiBkZWZhdWx0IHBlcm1pc3Npb24gbWVjaGFuaXNt
LgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L2lubGluZS1zdHlsZS1hbGxvd2VkLXdoaWxlLWNsb25pbmctb2JqZWN0cy5odG1sCisKKyAg
ICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjphdHRy
aWJ1dGVDaGFuZ2VkKTogQWRkZWQgcGFyYW1ldGVyCisgICAgICAgIEF0dHJpYnV0ZU1vZGlmeVJl
YXNvbiB0byB0aGUgbWV0aG9kIHNpZ25hdHVyZS4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6
OmNsb25lQXR0cmlidXRlc0Zyb21FbGVtZW50KTogSXQgaXMgbm93IGNhbGxpbmcgCisgICAgICAg
IGF0dHJpYnV0ZUNoYW5nZWQgd2l0aCBBdHRyaWJ1dGVNb2RpZnlSZWFzb24gcGFyYW1ldGVyLiBJ
biB0aGlzIHNjb3BlCisgICAgICAgIGl0IGlzIGFsd2F5cyBzZXQgdG8gTW9kaWZpZWRCeUNsb25p
bmcuCisgICAgICAgICogZG9tL0VsZW1lbnQuaDogQWRkZWQgQXR0cmlidXRlTW9kaWZ5UmVhc29u
IGVudW0uIFVzZWQgdG8gc3BlY2lmeQorICAgICAgICB3aGVuZXZlciBhbiBhdHRyaWJ1dGUgd2Fz
IHNldCBieSBhIGNsb25lZCBvamVjdCBvciBkaXJlY3RseS4KKyAgICAgICAgQXR0cmlidXRlTW9k
aWZ5UmVhc29uIGFkZGVkIHRvIGF0dHJpYnV0ZUNoYW5nZWQgd2l0aCB0aGUgZGVmYXVsdAorICAg
ICAgICB2YWx1ZSBzZXQgdG8gTW9kaWZpZWREaXJlY3RseS4gCisgICAgICAgICogZG9tL1N0eWxl
ZEVsZW1lbnQuY3BwOiAKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlZEVsZW1lbnQ6OmF0dHJpYnV0
ZUNoYW5nZWQpOiBBZGRlZAorICAgICAgICBBdHRyaWJ1dGVNb2RpZnlSZWFzb24gdG8gdGhlIG1l
dGhvZCBzaWduYXR1cmUuCisgICAgICAgIChXZWJDb3JlOjpTdHlsZWRFbGVtZW50OjpzdHlsZUF0
dHJpYnV0ZUNoYW5nZWQpOiBOb3cgaXQgaXMgY2hlY2tpbmcgdGhlCisgICAgICAgIHJlYXNvbiBv
ZiB0aGUgdXBkYXRlLCBpZiB0aGUgcmVhc29uIGlzIE1vZGlmaWVkRGlyZWN0bHkgY2hlY2sgQ1NQ
CisgICAgICAgIGJlZm9yZSBzZXQuIElmIE1vZGlmaWVkQnlDbG9uaW5nIHNldCB0aGUgYXR0cmli
dXRlIGlnbm9yaW5nIHRoZSBDU1AKKyAgICAgICAgcG9saWN5LgorICAgICAgICAqIGRvbS9TdHls
ZWRFbGVtZW50Lmg6CisgICAgICAgIChTdHlsZWRFbGVtZW50KTogQWRkZWQgQXR0cmlidXRlTW9k
aWZ5UmVhc29uIHBhcmFtZXRlciB0byB0aGUgbWV0aG9kczoKKyAgICAgICAgYXR0cmlidXRlQ2hh
bmdlZCBhbmQgc3R5bGVBdHRyaWJ1dGVDaGFuZ2VkLCBhdHRyaWJ1dGVDaGFuZ2VkIGhhcworICAg
ICAgICBNb2RpZmllZERpcmVjdGx5IGFzIGRlZmF1bHQgdmFsdWUuCisgICAgICAgICogc3ZnL1NW
R0VsZW1lbnQuY3BwOiAKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OmF0dHJpYnV0ZUNo
YW5nZWQpOiBBZGRlZCBBdHRyaWJ1dGVNb2RpZnlSZWFzb24KKyAgICAgICAgcGFyYW1ldGVyIHRv
IHRoZSBtZXRob2Qgc2lnbmF0dXJlLgorICAgICAgICAqIHN2Zy9TVkdFbGVtZW50Lmg6IAorICAg
ICAgICAoU1ZHRWxlbWVudCk6IEFkZGVkIEF0dHJpYnV0ZU1vZGlmeVJlYXNvbiBwYXJhbWV0ZXIg
dG8gdGhlCisgICAgICAgIGF0dHJpYnV0ZUNoYW5nZWQgc2lnbmF0dXJlIHdpdGggdGhlIGRlZmF1
bHQgdmFsdWUgc2V0IHRvOgorICAgICAgICBNb2RpZmllZERpcmVjdGx5LgorCiAyMDEzLTAzLTIw
ICBZdWZlbmcgU2hlbiAgPG1pbGV0dXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbW92ZSBQ
bGF0Zm9ybUV2ZW50OjpHZXN0dXJlRG91YmxlVGFwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXgg
YWE3ZjUyZDEyMGM4ZDY4ZmQyYzM0ZThiMzM5Y2U2NWJmNjAyZmM0YS4uNzk4NTdhOGE2OWQ4N2U1
NGJmN2NhNTkxZDM4NDk4MDMwYzVmZTdlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtODQ0
LDcgKzg0NCw3IEBAIHN0YXRpYyBib29sIGNoZWNrTmVlZHNTdHlsZUludmFsaWRhdGlvbkZvcklk
Q2hhbmdlKGNvbnN0IEF0b21pY1N0cmluZyYgb2xkSWQsIGNvCiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCi12b2lkIEVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYg
bmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiBuZXdWYWx1ZSkKK3ZvaWQgRWxlbWVudDo6YXR0cmli
dXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcm
IG5ld1ZhbHVlLCBBdHRyaWJ1dGVNb2RpZnlSZWFzb24pCiB7CiAgICAgaWYgKEVsZW1lbnRTaGFk
b3cqIHBhcmVudEVsZW1lbnRTaGFkb3cgPSBzaGFkb3dPZlBhcmVudEZvckRpc3RyaWJ1dGlvbih0
aGlzKSkgewogICAgICAgICBpZiAoc2hvdWxkSW52YWxpZGF0ZURpc3RyaWJ1dGlvbldoZW5BdHRy
aWJ1dGVDaGFuZ2VkKHBhcmVudEVsZW1lbnRTaGFkb3csIG5hbWUsIG5ld1ZhbHVlKSkKQEAgLTI4
NTcsNyArMjg1Nyw3IEBAIHZvaWQgRWxlbWVudDo6Y2xvbmVBdHRyaWJ1dGVzRnJvbUVsZW1lbnQo
Y29uc3QgRWxlbWVudCYgb3RoZXIpCiAKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9l
bGVtZW50RGF0YS0+bGVuZ3RoKCk7ICsraSkgewogICAgICAgICBjb25zdCBBdHRyaWJ1dGUqIGF0
dHJpYnV0ZSA9IGNvbnN0X2Nhc3Q8Y29uc3QgRWxlbWVudERhdGEqPihtX2VsZW1lbnREYXRhLmdl
dCgpKS0+YXR0cmlidXRlSXRlbShpKTsKLSAgICAgICAgYXR0cmlidXRlQ2hhbmdlZChhdHRyaWJ1
dGUtPm5hbWUoKSwgYXR0cmlidXRlLT52YWx1ZSgpKTsKKyAgICAgICAgYXR0cmlidXRlQ2hhbmdl
ZChhdHRyaWJ1dGUtPm5hbWUoKSwgYXR0cmlidXRlLT52YWx1ZSgpLCBNb2RpZmllZEJ5Q2xvbmlu
Zyk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCBiYWE5ZDQyNTM0MzkwMzYzNDUy
ZmI1OTRkNGNlYWQwOGY1NTE1MmYzLi44MDkwOGJjOWJjYWZjODYxZGJhZTU1YjVkOGE1YzdjMzM5
OWRkYzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTM3Myw4ICszNzMsMTMgQEAgcHVibGljOgog
ICAgIC8vIEZvciBleHBvc2luZyB0byBET00gb25seS4KICAgICBOYW1lZE5vZGVNYXAqIGF0dHJp
YnV0ZXMoKSBjb25zdDsKIAorICAgIGVudW0gQXR0cmlidXRlTW9kaWZ5UmVhc29uIHsKKyAgICAg
ICAgTW9kaWZpZWREaXJlY3RseSwKKyAgICAgICAgTW9kaWZpZWRCeUNsb25pbmcKKyAgICB9Owor
CiAgICAgLy8gVGhpcyBtZXRob2QgaXMgY2FsbGVkIHdoZW5ldmVyIGFuIGF0dHJpYnV0ZSBpcyBh
ZGRlZCwgY2hhbmdlZCBvciByZW1vdmVkLgotICAgIHZpcnR1YWwgdm9pZCBhdHRyaWJ1dGVDaGFu
Z2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKTsKKyAgICB2aXJ0
dWFsIHZvaWQgYXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRv
bWljU3RyaW5nJiwgQXR0cmlidXRlTW9kaWZ5UmVhc29uID0gTW9kaWZpZWREaXJlY3RseSk7CiAg
ICAgdmlydHVhbCB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25z
dCBBdG9taWNTdHJpbmcmKSB7IH0KIAogICAgIC8vIE9ubHkgY2FsbGVkIGJ5IHRoZSBwYXJzZXIg
aW1tZWRpYXRlbHkgYWZ0ZXIgZWxlbWVudCBjb25zdHJ1Y3Rpb24uCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5
bGVkRWxlbWVudC5jcHAKaW5kZXggOWEyYzgzMjU2OTk4ODE4OTlkOTZlNTYwNDZkOTcwYmE5ZjZh
M2U4Zi4uNWM0ZWU2M2MxZmU1M2EzNzlkZTU3NTc1MWMzMDBmOTQ4ZmU0YTJhMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcApAQCAtMTU3LDE2ICsxNTcsMTYgQEAgTXV0YWJsZVN0
eWxlUHJvcGVydHlTZXQqIFN0eWxlZEVsZW1lbnQ6OmVuc3VyZU11dGFibGVJbmxpbmVTdHlsZSgp
CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PE11dGFibGVTdHlsZVByb3BlcnR5U2V0Kj4oaW5saW5l
U3R5bGUuZ2V0KCkpOwogfQogCi12b2lkIFN0eWxlZEVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiBuZXdWYWx1ZSkK
K3ZvaWQgU3R5bGVkRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1l
JiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIG5ld1ZhbHVlLCBBdHRyaWJ1dGVNb2RpZnlSZWFz
b24gcmVhc29uKQogewogICAgIGlmIChuYW1lID09IHN0eWxlQXR0cikKLSAgICAgICAgc3R5bGVB
dHRyaWJ1dGVDaGFuZ2VkKG5ld1ZhbHVlKTsKKyAgICAgICAgc3R5bGVBdHRyaWJ1dGVDaGFuZ2Vk
KG5ld1ZhbHVlLCByZWFzb24pOwogICAgIGVsc2UgaWYgKGlzUHJlc2VudGF0aW9uQXR0cmlidXRl
KG5hbWUpKSB7CiAgICAgICAgIGVsZW1lbnREYXRhKCktPm1fcHJlc2VudGF0aW9uQXR0cmlidXRl
U3R5bGVJc0RpcnR5ID0gdHJ1ZTsKICAgICAgICAgc2V0TmVlZHNTdHlsZVJlY2FsYyhJbmxpbmVT
dHlsZUNoYW5nZSk7CiAgICAgfQogCi0gICAgRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChuYW1l
LCBuZXdWYWx1ZSk7CisgICAgRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChuYW1lLCBuZXdWYWx1
ZSwgcmVhc29uKTsKIH0KIAogUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uKiBTdHlsZWRF
bGVtZW50OjppbmxpbmVTdHlsZUNTU09NV3JhcHBlcigpCkBAIC0xOTcsNyArMTk3LDcgQEAgaW5s
aW5lIHZvaWQgU3R5bGVkRWxlbWVudDo6c2V0SW5saW5lU3R5bGVGcm9tU3RyaW5nKGNvbnN0IEF0
b21pY1N0cmluZyYgbmV3U3R5bGUKICAgICAgICAgaW5saW5lU3R5bGUtPnBhcnNlRGVjbGFyYXRp
b24obmV3U3R5bGVTdHJpbmcsIGRvY3VtZW50KCktPmVsZW1lbnRTaGVldCgpLT5jb250ZW50cygp
KTsKIH0KIAotdm9pZCBTdHlsZWRFbGVtZW50OjpzdHlsZUF0dHJpYnV0ZUNoYW5nZWQoY29uc3Qg
QXRvbWljU3RyaW5nJiBuZXdTdHlsZVN0cmluZykKK3ZvaWQgU3R5bGVkRWxlbWVudDo6c3R5bGVB
dHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IEF0b21pY1N0cmluZyYgbmV3U3R5bGVTdHJpbmcsIEF0dHJp
YnV0ZU1vZGlmeVJlYXNvbiByZWFzb24pCiB7CiAgICAgV1RGOjpPcmRpbmFsTnVtYmVyIHN0YXJ0
TGluZU51bWJlciA9IFdURjo6T3JkaW5hbE51bWJlcjo6YmVmb3JlRmlyc3QoKTsKICAgICBpZiAo
ZG9jdW1lbnQoKSAmJiBkb2N1bWVudCgpLT5zY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIoKSAmJiAh
ZG9jdW1lbnQoKS0+aXNJbkRvY3VtZW50V3JpdGUoKSkKQEAgLTIwNyw3ICsyMDcsNyBAQCB2b2lk
IFN0eWxlZEVsZW1lbnQ6OnN0eWxlQXR0cmlidXRlQ2hhbmdlZChjb25zdCBBdG9taWNTdHJpbmcm
IG5ld1N0eWxlU3RyaW5nKQogICAgICAgICBpZiAoUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0
aW9uKiBjc3NvbVdyYXBwZXIgPSBpbmxpbmVTdHlsZUNTU09NV3JhcHBlcigpKQogICAgICAgICAg
ICAgY3Nzb21XcmFwcGVyLT5jbGVhclBhcmVudEVsZW1lbnQoKTsKICAgICAgICAgZW5zdXJlVW5p
cXVlRWxlbWVudERhdGEoKS0+bV9pbmxpbmVTdHlsZS5jbGVhcigpOwotICAgIH0gZWxzZSBpZiAo
ZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmFsbG93SW5saW5lU3R5bGUoZG9j
dW1lbnQoKS0+dXJsKCksIHN0YXJ0TGluZU51bWJlcikpCisgICAgfSBlbHNlIGlmIChyZWFzb24g
PT0gTW9kaWZpZWRCeUNsb25pbmcgfHwgZG9jdW1lbnQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5
KCktPmFsbG93SW5saW5lU3R5bGUoZG9jdW1lbnQoKS0+dXJsKCksIHN0YXJ0TGluZU51bWJlcikp
CiAgICAgICAgIHNldElubGluZVN0eWxlRnJvbVN0cmluZyhuZXdTdHlsZVN0cmluZyk7CiAKICAg
ICBlbGVtZW50RGF0YSgpLT5tX3N0eWxlQXR0cmlidXRlSXNEaXJ0eSA9IGZhbHNlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TdHlsZWRFbGVtZW50LmgKaW5kZXggZGQ2OWU4ZjdlZjRmYmNjYmM5NWE0YmQ2NjgzMGRl
MjBlODlhMmIzMy4uMmRiODUyNWIwMWJhMTUwNjI4MjZiOTE0NDIzMTI4Y2E0YjllZDhkNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5oCkBAIC02Niw3ICs2Niw3IEBAIHByb3RlY3RlZDoK
ICAgICB7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGF0dHJpYnV0ZUNoYW5nZWQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIE9WRVJSSURFOworICAgIHZpcnR1
YWwgdm9pZCBhdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9t
aWNTdHJpbmcmLCBBdHRyaWJ1dGVNb2RpZnlSZWFzb24gPSBNb2RpZmllZERpcmVjdGx5KSBPVkVS
UklERTsKIAogICAgIHZpcnR1YWwgYm9vbCBpc1ByZXNlbnRhdGlvbkF0dHJpYnV0ZShjb25zdCBR
dWFsaWZpZWROYW1lJikgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIApAQCAtNzcsNyArNzcsNyBA
QCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGFkZFN1YnJlc291cmNlQXR0cmlidXRlVVJM
cyhMaXN0SGFzaFNldDxLVVJMPiYpIGNvbnN0OwogCiBwcml2YXRlOgotICAgIHZvaWQgc3R5bGVB
dHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IEF0b21pY1N0cmluZyYgbmV3U3R5bGVTdHJpbmcpOworICAg
IHZvaWQgc3R5bGVBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IEF0b21pY1N0cmluZyYgbmV3U3R5bGVT
dHJpbmcsIEF0dHJpYnV0ZU1vZGlmeVJlYXNvbik7CiAKICAgICB2b2lkIGlubGluZVN0eWxlQ2hh
bmdlZCgpOwogICAgIFByb3BlcnR5U2V0Q1NTU3R5bGVEZWNsYXJhdGlvbiogaW5saW5lU3R5bGVD
U1NPTVdyYXBwZXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAppbmRleCA1MGVlOTZhMDAw
ZWU2ODQzZDc3YjJkN2Q2MjdkYjlkNjBjNDAwMzFhLi44YjUxZDVhN2ExNWJmMjBmYjA2Y2FkYWIx
NzRiMTVhMmQ1NGM5MzZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCkBAIC01MzAsNyAr
NTMwLDcgQEAgYm9vbCBTVkdFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0
IE5vZGVSZW5kZXJpbmdDb250ZXh0JiBjaGlsZENvbnQKICAgICByZXR1cm4gZmFsc2U7CiB9CiAK
LXZvaWQgU1ZHRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBu
YW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIG5ld1ZhbHVlKQordm9pZCBTVkdFbGVtZW50OjphdHRy
aWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgbmV3VmFsdWUsIEF0dHJpYnV0ZU1vZGlmeVJlYXNvbikKIHsKICAgICBTdHlsZWRFbGVtZW50
OjphdHRyaWJ1dGVDaGFuZ2VkKG5hbWUsIG5ld1ZhbHVlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50
LmgKaW5kZXggYmZmODNhOGQ4MzhhMDgxNWI3YWUxZWNjNDk4MjBjOTZiNTI4MWQyZi4uMmY5YjU5
NmY5YTc3YzE3ODA2OTllYTc3NDk0ODNkMmM1NDJlNjI3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVu
dC5oCkBAIC0xMjYsNyArMTI2LDcgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBwYXJz
ZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgT1ZF
UlJJREU7CiAKICAgICB2aXJ0dWFsIHZvaWQgZmluaXNoUGFyc2luZ0NoaWxkcmVuKCk7Ci0gICAg
dmlydHVhbCB2b2lkIGF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0
IEF0b21pY1N0cmluZyYpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBhdHRyaWJ1dGVDaGFu
Z2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmLCBBdHRyaWJ1dGVN
b2RpZnlSZWFzb24gPSBNb2RpZmllZERpcmVjdGx5KSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJv
b2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYp
IGNvbnN0IE9WRVJSSURFOwogICAgIAogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVkRnJvbShDb250
YWluZXJOb2RlKikgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGRhMjY3MjgzMzY5ZjkzNjhlY2VhNGRjZjYz
M2M2NDllYjBmYjI1OC4uNDliMGFjYzQ0OTU3Nzc2YWUzNWQ5MGFkYjcyOWVkNWFiOTlmODM3NyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEzLTAzLTIwICBGZWxpcGUgWmltbWVybGUgIDxmZWxp
cGVAemltbWVybGUub3JnPgorCisgICAgICAgIENTUCBibG9ja3MgaW5saW5lIHN0eWxlIHdoZW4g
Y2xvbmluZyBhIG5vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMjI3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvaW5saW5l
LXN0eWxlLWFsbG93ZWQtd2hpbGUtY2xvbmluZy1vYmplY3RzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvaW5s
aW5lLXN0eWxlLWFsbG93ZWQtd2hpbGUtY2xvbmluZy1vYmplY3RzLmh0bWw6IEFkZGVkLgorCiAy
MDEzLTAzLTIwICBKdWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFtDU1MgR3JpZCBMYXlvdXRdIEltcHJvcGVyIHJlcGFpbnRpbmcgd2hlbiBncmlkIGl0
ZW0gY2hhbmdlIHRoZWlyIHBvc2l0aW9uCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196324</attachid>
            <date>2013-04-03 04:20:41 -0700</date>
            <delta_ts>2013-04-03 05:35:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112270-20130403082030.patch</filename>
            <type>text/plain</type>
            <size>20426</size>
            <attacher name="Felipe Zimmerle">felipe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3NTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzUwYzBiNzBiZmY2N2Iz
ZTE4MDgyZGJjZjgxNmVjNmNkNmRkMjg5Zi4uNmNjNTIwNDljZGQ1YWNjZTVjNDZiNTBmMzcxMjRj
OTVhOTcyZjA5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEzLTA0LTAyICBGZWxp
cGUgWmltbWVybGUgIDxmZWxpcGVAemltbWVybGUub3JnPgorCisgICAgICAgIENTUCBibG9ja3Mg
aW5saW5lIHN0eWxlIHdoZW4gY2xvbmluZyBhIG5vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjI3MAorCisgICAgICAgIFJldmlld2VkIGJ5IEFk
YW0gQmFydGguCisKKyAgICAgICAgQ2hlY2tzIGlmIHRoZSBFbGVtZW50IGlzIGJlaW5nIGNsb25l
ZCwgaWYgc28sIHRoZSBhcHBsaWNhdGlvbiBvZiB0aGUKKyAgICAgICAgc3R5bGUgaXMgYWxsb3dl
ZCBvdGhlcndpc2UgaXQgcmVsaWVzIG9uIGRlZmF1bHQgcGVybWlzc2lvbiBtZWNoYW5pc20uCisK
KyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
aW5saW5lLXN0eWxlLWFsbG93ZWQtd2hpbGUtY2xvbmluZy1vYmplY3RzLmh0bWwKKworICAgICAg
ICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmF0dHJpYnV0
ZUNoYW5nZWQpOiBBZGRlZCBwYXJhbWV0ZXIKKyAgICAgICAgQXR0cmlidXRlTW9kaWZ5UmVhc29u
IHRvIHRoZSBtZXRob2Qgc2lnbmF0dXJlLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6Y2xv
bmVBdHRyaWJ1dGVzRnJvbUVsZW1lbnQpOiBJdCBpcyBub3cgY2FsbGluZyAKKyAgICAgICAgYXR0
cmlidXRlQ2hhbmdlZCB3aXRoIEF0dHJpYnV0ZU1vZGlmeVJlYXNvbiBwYXJhbWV0ZXIuIEluIHRo
aXMgc2NvcGUKKyAgICAgICAgaXQgaXMgYWx3YXlzIHNldCB0byBNb2RpZmllZEJ5Q2xvbmluZy4K
KyAgICAgICAgKFdlYkNvZGU6OkVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWRGcm9tUGFyc2VyT3JC
eUNsb25pbmcpOgorICAgICAgICBBZGRlZCBwYXJhbWV0ZXIgQXR0cmlidXRlTW9kaWZ5UmVhc29u
LgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6IEFkZGVkIEF0dHJpYnV0ZU1vZGlmeVJlYXNvbiBl
bnVtLiBVc2VkIHRvIHNwZWNpZnkKKyAgICAgICAgd2hlbmV2ZXIgYW4gYXR0cmlidXRlIHdhcyBz
ZXQgYnkgYSBjbG9uZWQgb2plY3Qgb3IgZGlyZWN0bHkuCisgICAgICAgIEF0dHJpYnV0ZU1vZGlm
eVJlYXNvbiBhZGRlZCB0byBhdHRyaWJ1dGVDaGFuZ2VkIHdpdGggdGhlIGRlZmF1bHQKKyAgICAg
ICAgdmFsdWUgc2V0IHRvIE1vZGlmaWVkRGlyZWN0bHkuIAorICAgICAgICAqIGRvbS9TdHlsZWRF
bGVtZW50LmNwcDogCisgICAgICAgIChXZWJDb3JlOjpTdHlsZWRFbGVtZW50OjphdHRyaWJ1dGVD
aGFuZ2VkKTogQWRkZWQKKyAgICAgICAgQXR0cmlidXRlTW9kaWZ5UmVhc29uIHRvIHRoZSBtZXRo
b2Qgc2lnbmF0dXJlLgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVkRWxlbWVudDo6c3R5bGVBdHRy
aWJ1dGVDaGFuZ2VkKTogTm93IGl0IGlzIGNoZWNraW5nIHRoZQorICAgICAgICByZWFzb24gb2Yg
dGhlIHVwZGF0ZSwgaWYgdGhlIHJlYXNvbiBpcyBNb2RpZmllZERpcmVjdGx5IGNoZWNrIENTUAor
ICAgICAgICBiZWZvcmUgc2V0LiBJZiBNb2RpZmllZEJ5Q2xvbmluZyBzZXQgdGhlIGF0dHJpYnV0
ZSBpZ25vcmluZyB0aGUgQ1NQCisgICAgICAgIHBvbGljeS4KKyAgICAgICAgKiBkb20vU3R5bGVk
RWxlbWVudC5oOgorICAgICAgICAoU3R5bGVkRWxlbWVudCk6IEFkZGVkIEF0dHJpYnV0ZU1vZGlm
eVJlYXNvbiBwYXJhbWV0ZXIgdG8gdGhlIG1ldGhvZHM6CisgICAgICAgIGF0dHJpYnV0ZUNoYW5n
ZWQgYW5kIHN0eWxlQXR0cmlidXRlQ2hhbmdlZCwgYXR0cmlidXRlQ2hhbmdlZCBoYXMKKyAgICAg
ICAgTW9kaWZpZWREaXJlY3RseSBhcyBkZWZhdWx0IHZhbHVlLgorICAgICAgICAqIHN2Zy9TVkdF
bGVtZW50LmNwcDogCisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50OjphdHRyaWJ1dGVDaGFu
Z2VkKTogQWRkZWQgQXR0cmlidXRlTW9kaWZ5UmVhc29uCisgICAgICAgIHBhcmFtZXRlciB0byB0
aGUgbWV0aG9kIHNpZ25hdHVyZS4KKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudC5oOiAKKyAgICAg
ICAgKFNWR0VsZW1lbnQpOiBBZGRlZCBBdHRyaWJ1dGVNb2RpZnlSZWFzb24gcGFyYW1ldGVyIHRv
IHRoZQorICAgICAgICBhdHRyaWJ1dGVDaGFuZ2VkIHNpZ25hdHVyZSB3aXRoIHRoZSBkZWZhdWx0
IHZhbHVlIHNldCB0bzoKKyAgICAgICAgTW9kaWZpZWREaXJlY3RseS4KKwogMjAxMy0wNC0wMiAg
R2xlbm4gQWRhbXMgIDxnbGVubkBza3luYXYuY29tPgogCiAgICAgICAgIEdlbmVyYWxpemUgcHJp
b3IgbGluZSBicmVhayBjb250ZXh0IHN0YXRlIGFuZCBuYW1lcy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNw
cAppbmRleCBmNjIwZjk5NGNiYzNkYTYwYmUzNTEyMWE4M2NjZmViNmZiNTVmZjhkLi5iNTM3YjM2
OTViNDg3YWU4ZTdlYmRlOTNlYjM3NmZjNzFmYWZjNmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3Bw
CkBAIC04NDcsNyArODQ3LDcgQEAgc3RhdGljIGJvb2wgY2hlY2tOZWVkc1N0eWxlSW52YWxpZGF0
aW9uRm9ySWRDaGFuZ2UoY29uc3QgQXRvbWljU3RyaW5nJiBvbGRJZCwgY28KICAgICByZXR1cm4g
ZmFsc2U7CiB9CiAKLXZvaWQgRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZp
ZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIG5ld1ZhbHVlKQordm9pZCBFbGVtZW50
OjphdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21p
Y1N0cmluZyYgbmV3VmFsdWUsIEF0dHJpYnV0ZU1vZGlmeVJlYXNvbikKIHsKICAgICBpZiAoRWxl
bWVudFNoYWRvdyogcGFyZW50RWxlbWVudFNoYWRvdyA9IHNoYWRvd09mUGFyZW50Rm9yRGlzdHJp
YnV0aW9uKHRoaXMpKSB7CiAgICAgICAgIGlmIChzaG91bGRJbnZhbGlkYXRlRGlzdHJpYnV0aW9u
V2hlbkF0dHJpYnV0ZUNoYW5nZWQocGFyZW50RWxlbWVudFNoYWRvdywgbmFtZSwgbmV3VmFsdWUp
KQpAQCAtODkwLDcgKzg5MCw3IEBAIHZvaWQgRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25z
dCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIG5lCiAgICAgICAgIGNh
Y2hlLT5oYW5kbGVBdHRyaWJ1dGVDaGFuZ2VkKG5hbWUsIHRoaXMpOwogfQogCi1pbmxpbmUgdm9p
ZCBFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkRnJvbVBhcnNlck9yQnlDbG9uaW5nKGNvbnN0IFF1
YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgbmV3VmFsdWUpCitpbmxpbmUg
dm9pZCBFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkRnJvbVBhcnNlck9yQnlDbG9uaW5nKGNvbnN0
IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgbmV3VmFsdWUsIEF0dHJp
YnV0ZU1vZGlmeVJlYXNvbiByZWFzb24pCiB7CiAjaWYgRU5BQkxFKENVU1RPTV9FTEVNRU5UUykK
ICAgICBpZiAobmFtZSA9PSBpc0F0dHIpIHsKQEAgLTg5OCw3ICs4OTgsNyBAQCBpbmxpbmUgdm9p
ZCBFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkRnJvbVBhcnNlck9yQnlDbG9uaW5nKGNvbnN0IFF1
YWxpZmllZE5hbWUmCiAgICAgICAgICAgICByZWdpc3RyeS0+ZGlkR2l2ZVR5cGVFeHRlbnNpb24o
dGhpcyk7CiAgICAgfQogI2VuZGlmCi0gICAgYXR0cmlidXRlQ2hhbmdlZChuYW1lLCBuZXdWYWx1
ZSk7CisgICAgYXR0cmlidXRlQ2hhbmdlZChuYW1lLCBuZXdWYWx1ZSwgcmVhc29uKTsKIH0KIAog
dGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CkBAIC0xMDc2LDcgKzEwNzYsNyBAQCB2
b2lkIEVsZW1lbnQ6OnBhcnNlclNldEF0dHJpYnV0ZXMoY29uc3QgVmVjdG9yPEF0dHJpYnV0ZT4m
IGF0dHJpYnV0ZVZlY3RvcikKIAogICAgIC8vIFVzZSBhdHRyaWJ1dGVWZWN0b3IgaW5zdGVhZCBv
ZiBtX2VsZW1lbnREYXRhIGJlY2F1c2UgYXR0cmlidXRlQ2hhbmdlZCBtaWdodCBtb2RpZnkgbV9l
bGVtZW50RGF0YS4KICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgYXR0cmlidXRlVmVjdG9y
LnNpemUoKTsgKytpKQotICAgICAgICBhdHRyaWJ1dGVDaGFuZ2VkRnJvbVBhcnNlck9yQnlDbG9u
aW5nKGF0dHJpYnV0ZVZlY3RvcltpXS5uYW1lKCksIGF0dHJpYnV0ZVZlY3RvcltpXS52YWx1ZSgp
KTsKKyAgICAgICAgYXR0cmlidXRlQ2hhbmdlZEZyb21QYXJzZXJPckJ5Q2xvbmluZyhhdHRyaWJ1
dGVWZWN0b3JbaV0ubmFtZSgpLCBhdHRyaWJ1dGVWZWN0b3JbaV0udmFsdWUoKSwgTW9kaWZpZWRE
aXJlY3RseSk7CiB9CiAKIGJvb2wgRWxlbWVudDo6aGFzQXR0cmlidXRlcygpIGNvbnN0CkBAIC0y
ODkxLDcgKzI4OTEsNyBAQCB2b2lkIEVsZW1lbnQ6OmNsb25lQXR0cmlidXRlc0Zyb21FbGVtZW50
KGNvbnN0IEVsZW1lbnQmIG90aGVyKQogCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1f
ZWxlbWVudERhdGEtPmxlbmd0aCgpOyArK2kpIHsKICAgICAgICAgY29uc3QgQXR0cmlidXRlKiBh
dHRyaWJ1dGUgPSBjb25zdF9jYXN0PGNvbnN0IEVsZW1lbnREYXRhKj4obV9lbGVtZW50RGF0YS5n
ZXQoKSktPmF0dHJpYnV0ZUl0ZW0oaSk7Ci0gICAgICAgIGF0dHJpYnV0ZUNoYW5nZWRGcm9tUGFy
c2VyT3JCeUNsb25pbmcoYXR0cmlidXRlLT5uYW1lKCksIGF0dHJpYnV0ZS0+dmFsdWUoKSk7Cisg
ICAgICAgIGF0dHJpYnV0ZUNoYW5nZWRGcm9tUGFyc2VyT3JCeUNsb25pbmcoYXR0cmlidXRlLT5u
YW1lKCksIGF0dHJpYnV0ZS0+dmFsdWUoKSwgTW9kaWZpZWRCeUNsb25pbmcpOwogICAgIH0KIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmgKaW5kZXggZDJiYjVkYjdjMzk5MzlhYjE3M2MyZjdjMmVlMWNjYzVl
NDlhN2MwYS4uZWE1ZjQ5MzU1YjVhYzNmODQ1NTJkN2IzZDMyNzk0OTc1ZjQ0MTMwYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5oCkBAIC0zNzMsOCArMzczLDEzIEBAIHB1YmxpYzoKICAgICAvLyBGb3IgZXhw
b3NpbmcgdG8gRE9NIG9ubHkuCiAgICAgTmFtZWROb2RlTWFwKiBhdHRyaWJ1dGVzKCkgY29uc3Q7
CiAKKyAgICBlbnVtIEF0dHJpYnV0ZU1vZGlmeVJlYXNvbiB7CisgICAgICAgIE1vZGlmaWVkRGly
ZWN0bHksCisgICAgICAgIE1vZGlmaWVkQnlDbG9uaW5nCisgICAgfTsKKwogICAgIC8vIFRoaXMg
bWV0aG9kIGlzIGNhbGxlZCB3aGVuZXZlciBhbiBhdHRyaWJ1dGUgaXMgYWRkZWQsIGNoYW5nZWQg
b3IgcmVtb3ZlZC4KLSAgICB2aXJ0dWFsIHZvaWQgYXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFs
aWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJik7CisgICAgdmlydHVhbCB2b2lkIGF0dHJp
YnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYsIEF0
dHJpYnV0ZU1vZGlmeVJlYXNvbiA9IE1vZGlmaWVkRGlyZWN0bHkpOwogICAgIHZpcnR1YWwgdm9p
ZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5n
JikgeyB9CiAKICAgICAvLyBPbmx5IGNhbGxlZCBieSB0aGUgcGFyc2VyIGltbWVkaWF0ZWx5IGFm
dGVyIGVsZW1lbnQgY29uc3RydWN0aW9uLgpAQCAtNjg2LDcgKzY5MSw3IEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBzZXRBdHRyaWJ1dGVJbnRlcm5hbChzaXplX3QgaW5kZXgsIGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlLCBTeW5jaHJvbml6YXRpb25PZkxhenlB
dHRyaWJ1dGUpOwogICAgIHZvaWQgYWRkQXR0cmlidXRlSW50ZXJuYWwoY29uc3QgUXVhbGlmaWVk
TmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUsIFN5bmNocm9uaXphdGlvbk9mTGF6eUF0
dHJpYnV0ZSk7CiAgICAgdm9pZCByZW1vdmVBdHRyaWJ1dGVJbnRlcm5hbChzaXplX3QgaW5kZXgs
IFN5bmNocm9uaXphdGlvbk9mTGF6eUF0dHJpYnV0ZSk7Ci0gICAgdm9pZCBhdHRyaWJ1dGVDaGFu
Z2VkRnJvbVBhcnNlck9yQnlDbG9uaW5nKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9t
aWNTdHJpbmcmKTsKKyAgICB2b2lkIGF0dHJpYnV0ZUNoYW5nZWRGcm9tUGFyc2VyT3JCeUNsb25p
bmcoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYsIEF0dHJpYnV0ZU1v
ZGlmeVJlYXNvbik7CiAKICNpZm5kZWYgTkRFQlVHCiAgICAgdmlydHVhbCB2b2lkIGZvcm1hdEZv
ckRlYnVnZ2VyKGNoYXIqIGJ1ZmZlciwgdW5zaWduZWQgbGVuZ3RoKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TdHlsZWRFbGVtZW50LmNwcAppbmRleCA5YTJjODMyNTY5OTg4MTg5OWQ5NmU1NjA0NmQ5
NzBiYTlmNmEzZThmLi41YzRlZTYzYzFmZTUzYTM3OWRlNTc1NzUxYzMwMGY5NDhmZTRhMmEwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCkBAIC0xNTcsMTYgKzE1NywxNiBAQCBN
dXRhYmxlU3R5bGVQcm9wZXJ0eVNldCogU3R5bGVkRWxlbWVudDo6ZW5zdXJlTXV0YWJsZUlubGlu
ZVN0eWxlKCkKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8TXV0YWJsZVN0eWxlUHJvcGVydHlTZXQq
PihpbmxpbmVTdHlsZS5nZXQoKSk7CiB9CiAKLXZvaWQgU3R5bGVkRWxlbWVudDo6YXR0cmlidXRl
Q2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIG5l
d1ZhbHVlKQordm9pZCBTdHlsZWRFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxp
ZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgbmV3VmFsdWUsIEF0dHJpYnV0ZU1v
ZGlmeVJlYXNvbiByZWFzb24pCiB7CiAgICAgaWYgKG5hbWUgPT0gc3R5bGVBdHRyKQotICAgICAg
ICBzdHlsZUF0dHJpYnV0ZUNoYW5nZWQobmV3VmFsdWUpOworICAgICAgICBzdHlsZUF0dHJpYnV0
ZUNoYW5nZWQobmV3VmFsdWUsIHJlYXNvbik7CiAgICAgZWxzZSBpZiAoaXNQcmVzZW50YXRpb25B
dHRyaWJ1dGUobmFtZSkpIHsKICAgICAgICAgZWxlbWVudERhdGEoKS0+bV9wcmVzZW50YXRpb25B
dHRyaWJ1dGVTdHlsZUlzRGlydHkgPSB0cnVlOwogICAgICAgICBzZXROZWVkc1N0eWxlUmVjYWxj
KElubGluZVN0eWxlQ2hhbmdlKTsKICAgICB9CiAKLSAgICBFbGVtZW50OjphdHRyaWJ1dGVDaGFu
Z2VkKG5hbWUsIG5ld1ZhbHVlKTsKKyAgICBFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKG5hbWUs
IG5ld1ZhbHVlLCByZWFzb24pOwogfQogCiBQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24q
IFN0eWxlZEVsZW1lbnQ6OmlubGluZVN0eWxlQ1NTT01XcmFwcGVyKCkKQEAgLTE5Nyw3ICsxOTcs
NyBAQCBpbmxpbmUgdm9pZCBTdHlsZWRFbGVtZW50OjpzZXRJbmxpbmVTdHlsZUZyb21TdHJpbmco
Y29uc3QgQXRvbWljU3RyaW5nJiBuZXdTdHlsZQogICAgICAgICBpbmxpbmVTdHlsZS0+cGFyc2VE
ZWNsYXJhdGlvbihuZXdTdHlsZVN0cmluZywgZG9jdW1lbnQoKS0+ZWxlbWVudFNoZWV0KCktPmNv
bnRlbnRzKCkpOwogfQogCi12b2lkIFN0eWxlZEVsZW1lbnQ6OnN0eWxlQXR0cmlidXRlQ2hhbmdl
ZChjb25zdCBBdG9taWNTdHJpbmcmIG5ld1N0eWxlU3RyaW5nKQordm9pZCBTdHlsZWRFbGVtZW50
OjpzdHlsZUF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgQXRvbWljU3RyaW5nJiBuZXdTdHlsZVN0cmlu
ZywgQXR0cmlidXRlTW9kaWZ5UmVhc29uIHJlYXNvbikKIHsKICAgICBXVEY6Ok9yZGluYWxOdW1i
ZXIgc3RhcnRMaW5lTnVtYmVyID0gV1RGOjpPcmRpbmFsTnVtYmVyOjpiZWZvcmVGaXJzdCgpOwog
ICAgIGlmIChkb2N1bWVudCgpICYmIGRvY3VtZW50KCktPnNjcmlwdGFibGVEb2N1bWVudFBhcnNl
cigpICYmICFkb2N1bWVudCgpLT5pc0luRG9jdW1lbnRXcml0ZSgpKQpAQCAtMjA3LDcgKzIwNyw3
IEBAIHZvaWQgU3R5bGVkRWxlbWVudDo6c3R5bGVBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IEF0b21p
Y1N0cmluZyYgbmV3U3R5bGVTdHJpbmcpCiAgICAgICAgIGlmIChQcm9wZXJ0eVNldENTU1N0eWxl
RGVjbGFyYXRpb24qIGNzc29tV3JhcHBlciA9IGlubGluZVN0eWxlQ1NTT01XcmFwcGVyKCkpCiAg
ICAgICAgICAgICBjc3NvbVdyYXBwZXItPmNsZWFyUGFyZW50RWxlbWVudCgpOwogICAgICAgICBl
bnN1cmVVbmlxdWVFbGVtZW50RGF0YSgpLT5tX2lubGluZVN0eWxlLmNsZWFyKCk7Ci0gICAgfSBl
bHNlIGlmIChkb2N1bWVudCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+YWxsb3dJbmxpbmVT
dHlsZShkb2N1bWVudCgpLT51cmwoKSwgc3RhcnRMaW5lTnVtYmVyKSkKKyAgICB9IGVsc2UgaWYg
KHJlYXNvbiA9PSBNb2RpZmllZEJ5Q2xvbmluZyB8fCBkb2N1bWVudCgpLT5jb250ZW50U2VjdXJp
dHlQb2xpY3koKS0+YWxsb3dJbmxpbmVTdHlsZShkb2N1bWVudCgpLT51cmwoKSwgc3RhcnRMaW5l
TnVtYmVyKSkKICAgICAgICAgc2V0SW5saW5lU3R5bGVGcm9tU3RyaW5nKG5ld1N0eWxlU3RyaW5n
KTsKIAogICAgIGVsZW1lbnREYXRhKCktPm1fc3R5bGVBdHRyaWJ1dGVJc0RpcnR5ID0gZmFsc2U7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuaAppbmRleCBkZDY5ZThmN2VmNGZiY2NiYzk1YTRi
ZDY2ODMwZGUyMGU4OWEyYjMzLi4yZGI4NTI1YjAxYmExNTA2MjgyNmI5MTQ0MjMxMjhjYTRiOWVk
OGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmgKQEAgLTY2LDcgKzY2LDcgQEAgcHJv
dGVjdGVkOgogICAgIHsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgYXR0cmlidXRlQ2hhbmdl
ZChjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgT1ZFUlJJREU7Cisg
ICAgdmlydHVhbCB2b2lkIGF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNv
bnN0IEF0b21pY1N0cmluZyYsIEF0dHJpYnV0ZU1vZGlmeVJlYXNvbiA9IE1vZGlmaWVkRGlyZWN0
bHkpIE9WRVJSSURFOwogCiAgICAgdmlydHVhbCBib29sIGlzUHJlc2VudGF0aW9uQXR0cmlidXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCkBAIC03Nyw3
ICs3Nyw3IEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgYWRkU3VicmVzb3VyY2VBdHRy
aWJ1dGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JikgY29uc3Q7CiAKIHByaXZhdGU6Ci0gICAgdm9p
ZCBzdHlsZUF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgQXRvbWljU3RyaW5nJiBuZXdTdHlsZVN0cmlu
Zyk7CisgICAgdm9pZCBzdHlsZUF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgQXRvbWljU3RyaW5nJiBu
ZXdTdHlsZVN0cmluZywgQXR0cmlidXRlTW9kaWZ5UmVhc29uKTsKIAogICAgIHZvaWQgaW5saW5l
U3R5bGVDaGFuZ2VkKCk7CiAgICAgUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uKiBpbmxp
bmVTdHlsZUNTU09NV3JhcHBlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCmluZGV4IDUw
ZWU5NmEwMDBlZTY4NDNkNzdiMmQ3ZDYyN2RiOWQ2MGM0MDAzMWEuLjhiNTFkNWE3YTE1YmYyMGZi
MDZjYWRhYjE3NGIxNWEyZDU0YzkzNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKQEAg
LTUzMCw3ICs1MzAsNyBAQCBib29sIFNWR0VsZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVy
ZXIoY29uc3QgTm9kZVJlbmRlcmluZ0NvbnRleHQmIGNoaWxkQ29udAogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAotdm9pZCBTVkdFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgbmV3VmFsdWUpCit2b2lkIFNWR0VsZW1l
bnQ6OmF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRv
bWljU3RyaW5nJiBuZXdWYWx1ZSwgQXR0cmlidXRlTW9kaWZ5UmVhc29uKQogewogICAgIFN0eWxl
ZEVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQobmFtZSwgbmV3VmFsdWUpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0VsZW1lbnQuaAppbmRleCBiZmY4M2E4ZDgzOGEwODE1YjdhZTFlY2M0OTgyMGM5NmI1MjgxZDJm
Li4yZjliNTk2ZjlhNzdjMTc4MDY5OWVhNzc0OTQ4M2QyYzU0MmU2Mjc2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdFbGVtZW50LmgKQEAgLTEyNiw3ICsxMjYsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2
b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJp
bmcmKSBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgdm9pZCBmaW5pc2hQYXJzaW5nQ2hpbGRyZW4o
KTsKLSAgICB2aXJ0dWFsIHZvaWQgYXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1l
JiwgY29uc3QgQXRvbWljU3RyaW5nJikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGF0dHJp
YnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYsIEF0
dHJpYnV0ZU1vZGlmeVJlYXNvbiA9IE1vZGlmaWVkRGlyZWN0bHkpIE9WRVJSSURFOwogICAgIHZp
cnR1YWwgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGVSZW5kZXJpbmdD
b250ZXh0JikgY29uc3QgT1ZFUlJJREU7CiAgICAgCiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZWRG
cm9tKENvbnRhaW5lck5vZGUqKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0ZjkwNzU3MTljYzI3NDRlNWQ0
NWYzYmM2MGI5NjJkNjQ0MWY3OWFhLi40Y2M2MzMyNDUxMDZhNDc1MjA5NTg5NzI5NGFmMzE4NmRj
YTUyYzhhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTMtMDQtMDIgIEZlbGlwZSBaaW1tZXJs
ZSAgPGZlbGlwZUB6aW1tZXJsZS5vcmc+CisKKyAgICAgICAgQ1NQIGJsb2NrcyBpbmxpbmUgc3R5
bGUgd2hlbiBjbG9uaW5nIGEgbm9kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTEyMjcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4K
KworICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2lu
bGluZS1zdHlsZS1hbGxvd2VkLXdoaWxlLWNsb25pbmctb2JqZWN0cy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L2lubGluZS1zdHlsZS1hbGxvd2VkLXdoaWxlLWNsb25pbmctb2JqZWN0cy5odG1sOiBBZGRlZC4K
KwogMjAxMy0wNC0wMiAgRW1pbCBBIEVrbHVuZCAgPGVhZUBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgUGFkZGluZyBhcHBsaWVkIHR3aWNlIGZvciBlbXB0eSBnZW5lcmF0ZWQgUmVuZGVySW5saW5l
cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvaW5saW5lLXN0eWxlLWFsbG93ZWQtd2hpbGUtY2xvbmluZy1vYmplY3RzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L2lubGluZS1zdHlsZS1hbGxvd2VkLXdoaWxlLWNsb25pbmctb2JqZWN0cy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Y5MWJjMTRiZTJkZjE5NTA3MWZlOThkMTllYzdiOTYzNmZi
MmViMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L2lubGluZS1zdHlsZS1hbGxvd2VkLXdoaWxlLWNsb25pbmct
b2JqZWN0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzOCBAQAorQ09OU09MRSBNRVNTQUdFOiBS
ZWZ1c2VkIHRvIGFwcGx5IGlubGluZSBzdHlsZSBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xs
b3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAic3R5bGUtc3JjICdzZWxm
JyIuCisKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA3OTogUmVmdXNlZCB0byBhcHBseSBpbmxpbmUg
c3R5bGUgYmVjYXVzZSBpdCB2aW9sYXRlcyB0aGUgZm9sbG93aW5nIENvbnRlbnQgU2VjdXJpdHkg
UG9saWN5IGRpcmVjdGl2ZTogInN0eWxlLXNyYyAnc2VsZiciLgorCitUaGlzIHRlc3QgZW5zdXJl
cyB0aGF0IHN0eWxlcyBjYW4gYmUgc2V0IGJ5IG9iamVjdC5jbG9uZU5vZGUoKQorUEFTUyBub2Rl
MS5zdHlsZS5iYWNrZ3JvdW5kIGlzICJ5ZWxsb3ciCitQQVNTIG5vZGUyLnN0eWxlLmJhY2tncm91
bmQgaXMgInllbGxvdyIKK1BBU1Mgbm9kZTMuc3R5bGUuYmFja2dyb3VuZCBpcyAiYmx1ZSIKK1BB
U1Mgbm9kZTQuc3R5bGUuYmFja2dyb3VuZCBpcyAiYmx1ZSIKK1BBU1Mgbm9kZTEuc3R5bGUuY29s
b3IgaXMgInJlZCIKK1BBU1Mgbm9kZTIuc3R5bGUuY29sb3IgaXMgInJlZCIKK1BBU1Mgbm9kZTMu
c3R5bGUuY29sb3IgaXMgImdyZWVuIgorUEFTUyBub2RlNC5zdHlsZS5jb2xvciBpcyAiZ3JlZW4i
CitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG5vZGUxKS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KCdiYWNrZ3JvdW5kJykuY3NzVGV4dCBpcyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShub2RlMiku
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQKK1BBU1Mgd2luZG93Lmdl
dENvbXB1dGVkU3R5bGUobm9kZTMpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5j
c3NUZXh0IGlzIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG5vZGU0KS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCdiYWNrZ3JvdW5kJykuY3NzVGV4dAorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShu
b2RlMSkuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnY29sb3InKS5jc3NUZXh0IGlzIHdpbmRvdy5nZXRD
b21wdXRlZFN0eWxlKG5vZGUyKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdjb2xvcicpLmNzc1RleHQK
K1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUobm9kZTMpLmdldFByb3BlcnR5Q1NTVmFsdWUo
J2NvbG9yJykuY3NzVGV4dCBpcyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShub2RlNCkuZ2V0UHJv
cGVydHlDU1NWYWx1ZSgnY29sb3InKS5jc3NUZXh0CitQQVNTIG9wcy5zdHlsZS5iYWNrZ3JvdW5k
IGlzICIiCitnZXRDb21wdXRlZFN0eWxlKGNsb25lZE9wcykuZ2V0UHJvcGVydHlDU1NWYWx1ZSgn
YmFja2dyb3VuZCcpLmNzc1RleHQ6IHJnYmEoMCwgMCwgMCwgMCkgbm9uZSByZXBlYXQgc2Nyb2xs
IDAlIDAlIC8gYXV0byBwYWRkaW5nLWJveCBib3JkZXItYm94CitQQVNTIG9wcy5zdHlsZS5jb2xv
ciBpcyAicmVkIgorUEFTUyBjbG9uZWRPcHMuc3R5bGUuYmFja2dyb3VuZCBpcyAiIgorUEFTUyB2
aW9sZXRPcHMuc3R5bGUuYmFja2dyb3VuZCBpcyAicmdiKDIzOCwgMTMwLCAyMzgpIgorUEFTUyB3
aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShjbG9uZWRPcHMpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2Jh
Y2tncm91bmQnKS5jc3NUZXh0IGlzIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG9wcykuZ2V0UHJv
cGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQKK1BBU1Mgd2luZG93LmdldENvbXB1
dGVkU3R5bGUoY2xvbmVkT3BzKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdjb2xvcicpLmNzc1RleHQg
aXMgd2luZG93LmdldENvbXB1dGVkU3R5bGUob3BzKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdjb2xv
cicpLmNzc1RleHQKK2dldENvbXB1dGVkU3R5bGUodmlvbGV0T3BzKS5nZXRQcm9wZXJ0eUNTU1Zh
bHVlKCdiYWNrZ3JvdW5kJykuY3NzVGV4dDogcmdiKDIzOCwgMTMwLCAyMzgpIG5vbmUgcmVwZWF0
IHNjcm9sbCAwJSAwJSAvIGF1dG8gcGFkZGluZy1ib3ggYm9yZGVyLWJveAorUEFTUyB3aW5kb3cu
Z2V0Q29tcHV0ZWRTdHlsZShvcHMpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5j
c3NUZXh0IGlzIG5vdCB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh2aW9sZXRPcHMpLmdldFByb3Bl
cnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5jc3NUZXh0CitQQVNTIHdpbmRvdy5nZXRDb21wdXRl
ZFN0eWxlKGNsb25lZE9wcykuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmNzc1Rl
eHQgaXMgbm90IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHZpb2xldE9wcykuZ2V0UHJvcGVydHlD
U1NWYWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQKK1BBU1Mgb3BzLmlkIGlzICJvcHMiCitQQVNT
IG9wcy5pZCBpcyBjbG9uZWRPcHMuaWQKK0J1ZyAxMTIyNzAgaGFzIG1vcmUgaW5mb3JtYXRpb24g
b24gdGhlIHN1YmplY3QuCitUaGlzIGlzIGEgZGl2IChub2RlcykKK1RoaXMgaXMgYSBkaXYuIChu
b2RlIDEgb3IgMikKK1RoaXMgaXMgYSBkaXYuIChub2RlIDEgb3IgMikKK1RoaXMgaXMgYSBkaXYu
IChub2RlIDMgb3IgNCkKK05vZGUgIzQKK1lldCBhbm90aGVyIGRpdi4KK1lldCBhbm90aGVyIGRp
di4KK1lldCBhbm90aGVyIGRpdi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2lubGluZS1zdHlsZS1hbGxvd2VkLXdoaWxl
LWNsb25pbmctb2JqZWN0cy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvaW5saW5lLXN0eWxlLWFsbG93ZWQtd2hpbGUtY2xvbmluZy1v
YmplY3RzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmUyNWViYmM5ZjcyOTllMDZkMjY2OGMxMzFlZWVhMWUw
MDMwOTM0YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L2lubGluZS1zdHlsZS1hbGxvd2VkLXdoaWxlLWNsb25p
bmctb2JqZWN0cy5odG1sCkBAIC0wLDAgKzEsODcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKyAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVNlY3VyaXR5LVBvbGljeSIg
Y29udGVudD0ic3R5bGUtc3JjICdzZWxmJzsiPgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAgICAgIHdp
bmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBkZWJ1ZygiVGhpcyB0ZXN0
IGVuc3VyZXMgdGhhdCBzdHlsZXMgY2FuIGJlIHNldCBieSBvYmplY3QuY2xvbmVOb2RlKCkiKTsK
KworICAgICAgICAgICAgd2luZG93Lm5vZGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ25v
ZGVzJyk7CisgICAgICAgICAgICB3aW5kb3cubm9kZTEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnbm9kZTEnKTsKKyAgICAgICAgICAgIHdpbmRvdy5ub2RlMS5zdHlsZS5iYWNrZ3JvdW5kID0g
InllbGxvdyI7CisgICAgICAgICAgICB3aW5kb3cubm9kZTEuc3R5bGUuY29sb3IgPSAicmVkIjsK
KyAgICAgICAgICAgIHdpbmRvdy5ub2RlMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdub2Rl
MScpLmNsb25lTm9kZSh0cnVlKTsKKyAgICAgICAgICAgIHdpbmRvdy5ub2RlMi5pZCA9ICAibm9k
ZTIiOworICAgICAgICAgICAgd2luZG93Lm5vZGUzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J25vZGUzJyk7CisgICAgICAgICAgICB3aW5kb3cubm9kZTMuc3R5bGUuYmFja2dyb3VuZCA9ICJi
bHVlIjsKKyAgICAgICAgICAgIHdpbmRvdy5ub2RlMy5zdHlsZS5jb2xvciA9ICJncmVlbiI7Cisg
ICAgICAgICAgICB3aW5kb3cubm9kZTQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbm9kZTMn
KS5jbG9uZU5vZGUoZmFsc2UpOworICAgICAgICAgICAgd2luZG93Lm5vZGU0LmlkID0gICJub2Rl
NCI7CisgICAgICAgICAgICB3aW5kb3cubm9kZTQuaW5uZXJIVE1MID0gIk5vZGUgIzQiOworCisg
ICAgICAgICAgICBub2Rlcy5hcHBlbmRDaGlsZChub2RlMSk7CisgICAgICAgICAgICBub2Rlcy5h
cHBlbmRDaGlsZChub2RlMik7CisgICAgICAgICAgICBub2Rlcy5hcHBlbmRDaGlsZChub2RlMyk7
CisgICAgICAgICAgICBub2Rlcy5hcHBlbmRDaGlsZChub2RlNCk7CisKKyAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygibm9kZTEuc3R5bGUuYmFja2dyb3VuZCIsICJ5ZWxsb3ciKTsK
KyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibm9kZTIuc3R5bGUuYmFja2dyb3Vu
ZCIsICJ5ZWxsb3ciKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibm9kZTMu
c3R5bGUuYmFja2dyb3VuZCIsICJibHVlIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoIm5vZGU0LnN0eWxlLmJhY2tncm91bmQiLCAiYmx1ZSIpOworICAKKyAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygibm9kZTEuc3R5bGUuY29sb3IiLCAicmVkIik7CisgICAg
ICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5vZGUyLnN0eWxlLmNvbG9yIiwgInJlZCIp
OworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJub2RlMy5zdHlsZS5jb2xvciIs
ICJncmVlbiIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJub2RlNC5zdHls
ZS5jb2xvciIsICJncmVlbiIpOworCisgICAgICAgICAgICBzaG91bGRCZSgid2luZG93LmdldENv
bXB1dGVkU3R5bGUobm9kZTEpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5jc3NU
ZXh0IiwgIndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG5vZGUyKS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KCdiYWNrZ3JvdW5kJykuY3NzVGV4dCIpOworICAgICAgICAgICAgc2hvdWxkQmUoIndpbmRvdy5n
ZXRDb21wdXRlZFN0eWxlKG5vZGUzKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJyku
Y3NzVGV4dCIsICJ3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShub2RlNCkuZ2V0UHJvcGVydHlDU1NW
YWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQiKTsKKworICAgICAgICAgICAgc2hvdWxkQmUoIndp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKG5vZGUxKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdjb2xvcicp
LmNzc1RleHQiLCAid2luZG93LmdldENvbXB1dGVkU3R5bGUobm9kZTIpLmdldFByb3BlcnR5Q1NT
VmFsdWUoJ2NvbG9yJykuY3NzVGV4dCIpOworICAgICAgICAgICAgc2hvdWxkQmUoIndpbmRvdy5n
ZXRDb21wdXRlZFN0eWxlKG5vZGUzKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdjb2xvcicpLmNzc1Rl
eHQiLCAid2luZG93LmdldENvbXB1dGVkU3R5bGUobm9kZTQpLmdldFByb3BlcnR5Q1NTVmFsdWUo
J2NvbG9yJykuY3NzVGV4dCIpOworCisgICAgICAgICAgICB3aW5kb3cub3BzID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ29wcycpOworICAgICAgICAgICAgb3BzLnN0eWxlLmNvbG9yID0gJ3Jl
ZCc7CisgICAgICAgICAgICB3aW5kb3cuY2xvbmVkT3BzID0gb3BzLmNsb25lTm9kZSh0cnVlKTsK
KyAgICAgICAgICAgIHdpbmRvdy52aW9sZXRPcHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
dmlvbGV0T3BzJyk7CisKKyAgICAgICAgICAgIHZpb2xldE9wcy5zdHlsZS5iYWNrZ3JvdW5kID0g
J3JnYigyMzgsIDEzMCwgMjM4KSc7CisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5
VGFnTmFtZSgnYm9keScpWzBdLmFwcGVuZENoaWxkKGNsb25lZE9wcyk7CisKKyAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygib3BzLnN0eWxlLmJhY2tncm91bmQiLCAiIik7CisgICAg
ICAgICAgICBkZWJ1ZygiZ2V0Q29tcHV0ZWRTdHlsZShjbG9uZWRPcHMpLmdldFByb3BlcnR5Q1NT
VmFsdWUoJ2JhY2tncm91bmQnKS5jc3NUZXh0OiAiICsgd2luZG93LmdldENvbXB1dGVkU3R5bGUo
b3BzKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuY3NzVGV4dCk7CisgICAgICAg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm9wcy5zdHlsZS5jb2xvciIsICJyZWQiKTsKKyAg
ICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiY2xvbmVkT3BzLnN0eWxlLmJhY2tncm91
bmQiLCAiIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInZpb2xldE9wcy5z
dHlsZS5iYWNrZ3JvdW5kIiwgInJnYigyMzgsIDEzMCwgMjM4KSIpOworCisgICAgICAgICAgICBz
aG91bGRCZSgid2luZG93LmdldENvbXB1dGVkU3R5bGUoY2xvbmVkT3BzKS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKCdiYWNrZ3JvdW5kJykuY3NzVGV4dCIsICJ3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShv
cHMpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5jc3NUZXh0Iik7CisgICAgICAg
ICAgICBzaG91bGRCZSgid2luZG93LmdldENvbXB1dGVkU3R5bGUoY2xvbmVkT3BzKS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCdjb2xvcicpLmNzc1RleHQiLCAid2luZG93LmdldENvbXB1dGVkU3R5bGUo
b3BzKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdjb2xvcicpLmNzc1RleHQiKTsKKyAgICAgICAgICAg
IGRlYnVnKCJnZXRDb21wdXRlZFN0eWxlKHZpb2xldE9wcykuZ2V0UHJvcGVydHlDU1NWYWx1ZSgn
YmFja2dyb3VuZCcpLmNzc1RleHQ6ICIgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh2aW9sZXRP
cHMpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5jc3NUZXh0KTsKKyAgICAgICAg
ICAgIHNob3VsZE5vdEJlKCJ3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShvcHMpLmdldFByb3BlcnR5
Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5jc3NUZXh0IiwgIndpbmRvdy5nZXRDb21wdXRlZFN0eWxl
KHZpb2xldE9wcykuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQiKTsK
KyAgICAgICAgICAgIHNob3VsZE5vdEJlKCJ3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShjbG9uZWRP
cHMpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5jc3NUZXh0IiwgIndpbmRvdy5n
ZXRDb21wdXRlZFN0eWxlKHZpb2xldE9wcykuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3Vu
ZCcpLmNzc1RleHQiKTsKKworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJvcHMu
aWQiLCAib3BzIik7CisgICAgICAgICAgICBzaG91bGRCZSgib3BzLmlkIiwgImNsb25lZE9wcy5p
ZCIpOworICAgICAgIH07CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgIDxhIGhy
ZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIyNzAiPkJ1ZyAx
MTIyNzA8L2E+CitoYXMgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGUgc3ViamVjdC48L3A+CisKKyAg
ICA8ZGl2IGlkPSJub2RlcyI+CisJVGhpcyBpcyBhIGRpdiAobm9kZXMpCisgICAgICAgIDxkaXYg
aWQ9Im5vZGUxIj4gVGhpcyBpcyBhIGRpdi4gKG5vZGUgMSBvciAyKTwvZGl2PgorICAgICAgICA8
ZGl2IGlkPSJub2RlMyI+IFRoaXMgaXMgYSBkaXYuIChub2RlIDMgb3IgNCk8L2Rpdj4KKyAgICA8
L2Rpdj4KKworICAgIDxkaXYgaWQ9Im9wcyIgc3R5bGU9ImJhY2tncm91bmQ6IHJnYigyMzgsIDEz
MCwgMjM4KSI+CisgICAgICAgICBZZXQgYW5vdGhlciBkaXYuCisgICAgPC9kaXY+CisgICAgPGRp
diBpZD0idmlvbGV0T3BzIj4KKyAgICAgICAgIFlldCBhbm90aGVyIGRpdi4KKyAgICA8L2Rpdj4K
KworPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196334</attachid>
            <date>2013-04-03 05:35:14 -0700</date>
            <delta_ts>2013-04-03 08:43:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112270-20130403093503.patch</filename>
            <type>text/plain</type>
            <size>20546</size>
            <attacher name="Felipe Zimmerle">felipe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3NTA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzUwYzBiNzBiZmY2N2Iz
ZTE4MDgyZGJjZjgxNmVjNmNkNmRkMjg5Zi4uNDU4ZjZjMTQyZjhhY2YzZWFiZWJkZmE1NTkxMDBi
ZjI1YzI3MGNkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEzLTA0LTAyICBGZWxp
cGUgWmltbWVybGUgIDxmZWxpcGVAemltbWVybGUub3JnPgorCisgICAgICAgIENTUCBibG9ja3Mg
aW5saW5lIHN0eWxlIHdoZW4gY2xvbmluZyBhIG5vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjI3MAorCisgICAgICAgIFJldmlld2VkIGJ5IEFk
YW0gQmFydGguCisKKyAgICAgICAgQ2hlY2tzIGlmIHRoZSBFbGVtZW50IGlzIGJlaW5nIGNsb25l
ZCwgaWYgc28sIHRoZSBhcHBsaWNhdGlvbiBvZiB0aGUKKyAgICAgICAgc3R5bGUgaXMgYWxsb3dl
ZCBvdGhlcndpc2UgaXQgcmVsaWVzIG9uIGRlZmF1bHQgcGVybWlzc2lvbiBtZWNoYW5pc20uCisK
KyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
aW5saW5lLXN0eWxlLWFsbG93ZWQtd2hpbGUtY2xvbmluZy1vYmplY3RzLmh0bWwKKworICAgICAg
ICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmF0dHJpYnV0
ZUNoYW5nZWQpOiBBZGRlZCBwYXJhbWV0ZXIKKyAgICAgICAgQXR0cmlidXRlTW9kaWZpY2F0aW9u
UmVhc29uIHRvIHRoZSBtZXRob2Qgc2lnbmF0dXJlLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dDo6Y2xvbmVBdHRyaWJ1dGVzRnJvbUVsZW1lbnQpOiBJdCBpcyBub3cgY2FsbGluZyAKKyAgICAg
ICAgYXR0cmlidXRlQ2hhbmdlZCB3aXRoIEF0dHJpYnV0ZU1vZGlmaWNhdGlvblJlYXNvbiBwYXJh
bWV0ZXIuIEluIHRoaXMgc2NvcGUKKyAgICAgICAgaXQgaXMgYWx3YXlzIHNldCB0byBNb2RpZmll
ZEJ5Q2xvbmluZy4KKyAgICAgICAgKFdlYkNvZGU6OkVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWRG
cm9tUGFyc2VyT3JCeUNsb25pbmcpOgorICAgICAgICBBZGRlZCBwYXJhbWV0ZXIgQXR0cmlidXRl
TW9kaWZpY2F0aW9uUmVhc29uLgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6IEFkZGVkIEF0dHJp
YnV0ZU1vZGlmaWNhdGlvblJlYXNvbiBlbnVtLiBVc2VkIHRvIHNwZWNpZnkKKyAgICAgICAgd2hl
bmV2ZXIgYW4gYXR0cmlidXRlIHdhcyBzZXQgYnkgYSBjbG9uZWQgb2plY3Qgb3IgZGlyZWN0bHku
CisgICAgICAgIEF0dHJpYnV0ZU1vZGlmaWNhdGlvblJlYXNvbiBhZGRlZCB0byBhdHRyaWJ1dGVD
aGFuZ2VkIHdpdGggdGhlIGRlZmF1bHQKKyAgICAgICAgdmFsdWUgc2V0IHRvIE1vZGlmaWVkRGly
ZWN0bHkuIAorICAgICAgICAqIGRvbS9TdHlsZWRFbGVtZW50LmNwcDogCisgICAgICAgIChXZWJD
b3JlOjpTdHlsZWRFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKTogQWRkZWQKKyAgICAgICAgQXR0
cmlidXRlTW9kaWZpY2F0aW9uUmVhc29uIHRvIHRoZSBtZXRob2Qgc2lnbmF0dXJlLgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVkRWxlbWVudDo6c3R5bGVBdHRyaWJ1dGVDaGFuZ2VkKTogTm93IGl0
IGlzIGNoZWNraW5nIHRoZQorICAgICAgICByZWFzb24gb2YgdGhlIHVwZGF0ZSwgaWYgdGhlIHJl
YXNvbiBpcyBNb2RpZmllZERpcmVjdGx5IGNoZWNrIENTUAorICAgICAgICBiZWZvcmUgc2V0LiBJ
ZiBNb2RpZmllZEJ5Q2xvbmluZyBzZXQgdGhlIGF0dHJpYnV0ZSBpZ25vcmluZyB0aGUgQ1NQCisg
ICAgICAgIHBvbGljeS4KKyAgICAgICAgKiBkb20vU3R5bGVkRWxlbWVudC5oOgorICAgICAgICAo
U3R5bGVkRWxlbWVudCk6IEFkZGVkIEF0dHJpYnV0ZU1vZGlmaWNhdGlvblJlYXNvbiBwYXJhbWV0
ZXIgdG8gdGhlIG1ldGhvZHM6CisgICAgICAgIGF0dHJpYnV0ZUNoYW5nZWQgYW5kIHN0eWxlQXR0
cmlidXRlQ2hhbmdlZCwgYXR0cmlidXRlQ2hhbmdlZCBoYXMKKyAgICAgICAgTW9kaWZpZWREaXJl
Y3RseSBhcyBkZWZhdWx0IHZhbHVlLgorICAgICAgICAqIHN2Zy9TVkdFbGVtZW50LmNwcDogCisg
ICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKTogQWRkZWQgQXR0
cmlidXRlTW9kaWZpY2F0aW9uUmVhc29uCisgICAgICAgIHBhcmFtZXRlciB0byB0aGUgbWV0aG9k
IHNpZ25hdHVyZS4KKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudC5oOiAKKyAgICAgICAgKFNWR0Vs
ZW1lbnQpOiBBZGRlZCBBdHRyaWJ1dGVNb2RpZmljYXRpb25SZWFzb24gcGFyYW1ldGVyIHRvIHRo
ZQorICAgICAgICBhdHRyaWJ1dGVDaGFuZ2VkIHNpZ25hdHVyZSB3aXRoIHRoZSBkZWZhdWx0IHZh
bHVlIHNldCB0bzoKKyAgICAgICAgTW9kaWZpZWREaXJlY3RseS4KKwogMjAxMy0wNC0wMiAgR2xl
bm4gQWRhbXMgIDxnbGVubkBza3luYXYuY29tPgogCiAgICAgICAgIEdlbmVyYWxpemUgcHJpb3Ig
bGluZSBicmVhayBjb250ZXh0IHN0YXRlIGFuZCBuYW1lcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApp
bmRleCBmNjIwZjk5NGNiYzNkYTYwYmUzNTEyMWE4M2NjZmViNmZiNTVmZjhkLi5iODk1NDAyYzcy
Njc3N2RkNDY1ZGExZTIxOWJmNjA0ZTZkMGNlZDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBA
IC04NDcsNyArODQ3LDcgQEAgc3RhdGljIGJvb2wgY2hlY2tOZWVkc1N0eWxlSW52YWxpZGF0aW9u
Rm9ySWRDaGFuZ2UoY29uc3QgQXRvbWljU3RyaW5nJiBvbGRJZCwgY28KICAgICByZXR1cm4gZmFs
c2U7CiB9CiAKLXZvaWQgRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWRO
YW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIG5ld1ZhbHVlKQordm9pZCBFbGVtZW50Ojph
dHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0
cmluZyYgbmV3VmFsdWUsIEF0dHJpYnV0ZU1vZGlmaWNhdGlvblJlYXNvbikKIHsKICAgICBpZiAo
RWxlbWVudFNoYWRvdyogcGFyZW50RWxlbWVudFNoYWRvdyA9IHNoYWRvd09mUGFyZW50Rm9yRGlz
dHJpYnV0aW9uKHRoaXMpKSB7CiAgICAgICAgIGlmIChzaG91bGRJbnZhbGlkYXRlRGlzdHJpYnV0
aW9uV2hlbkF0dHJpYnV0ZUNoYW5nZWQocGFyZW50RWxlbWVudFNoYWRvdywgbmFtZSwgbmV3VmFs
dWUpKQpAQCAtODkwLDcgKzg5MCw3IEBAIHZvaWQgRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChj
b25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIG5lCiAgICAgICAg
IGNhY2hlLT5oYW5kbGVBdHRyaWJ1dGVDaGFuZ2VkKG5hbWUsIHRoaXMpOwogfQogCi1pbmxpbmUg
dm9pZCBFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkRnJvbVBhcnNlck9yQnlDbG9uaW5nKGNvbnN0
IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgbmV3VmFsdWUpCitpbmxp
bmUgdm9pZCBFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkRnJvbVBhcnNlck9yQnlDbG9uaW5nKGNv
bnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgbmV3VmFsdWUsIEF0
dHJpYnV0ZU1vZGlmaWNhdGlvblJlYXNvbiByZWFzb24pCiB7CiAjaWYgRU5BQkxFKENVU1RPTV9F
TEVNRU5UUykKICAgICBpZiAobmFtZSA9PSBpc0F0dHIpIHsKQEAgLTg5OCw3ICs4OTgsNyBAQCBp
bmxpbmUgdm9pZCBFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkRnJvbVBhcnNlck9yQnlDbG9uaW5n
KGNvbnN0IFF1YWxpZmllZE5hbWUmCiAgICAgICAgICAgICByZWdpc3RyeS0+ZGlkR2l2ZVR5cGVF
eHRlbnNpb24odGhpcyk7CiAgICAgfQogI2VuZGlmCi0gICAgYXR0cmlidXRlQ2hhbmdlZChuYW1l
LCBuZXdWYWx1ZSk7CisgICAgYXR0cmlidXRlQ2hhbmdlZChuYW1lLCBuZXdWYWx1ZSwgcmVhc29u
KTsKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CkBAIC0xMDc2LDcgKzEw
NzYsNyBAQCB2b2lkIEVsZW1lbnQ6OnBhcnNlclNldEF0dHJpYnV0ZXMoY29uc3QgVmVjdG9yPEF0
dHJpYnV0ZT4mIGF0dHJpYnV0ZVZlY3RvcikKIAogICAgIC8vIFVzZSBhdHRyaWJ1dGVWZWN0b3Ig
aW5zdGVhZCBvZiBtX2VsZW1lbnREYXRhIGJlY2F1c2UgYXR0cmlidXRlQ2hhbmdlZCBtaWdodCBt
b2RpZnkgbV9lbGVtZW50RGF0YS4KICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgYXR0cmli
dXRlVmVjdG9yLnNpemUoKTsgKytpKQotICAgICAgICBhdHRyaWJ1dGVDaGFuZ2VkRnJvbVBhcnNl
ck9yQnlDbG9uaW5nKGF0dHJpYnV0ZVZlY3RvcltpXS5uYW1lKCksIGF0dHJpYnV0ZVZlY3Rvcltp
XS52YWx1ZSgpKTsKKyAgICAgICAgYXR0cmlidXRlQ2hhbmdlZEZyb21QYXJzZXJPckJ5Q2xvbmlu
ZyhhdHRyaWJ1dGVWZWN0b3JbaV0ubmFtZSgpLCBhdHRyaWJ1dGVWZWN0b3JbaV0udmFsdWUoKSwg
TW9kaWZpZWREaXJlY3RseSk7CiB9CiAKIGJvb2wgRWxlbWVudDo6aGFzQXR0cmlidXRlcygpIGNv
bnN0CkBAIC0yODkxLDcgKzI4OTEsNyBAQCB2b2lkIEVsZW1lbnQ6OmNsb25lQXR0cmlidXRlc0Zy
b21FbGVtZW50KGNvbnN0IEVsZW1lbnQmIG90aGVyKQogCiAgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IG1fZWxlbWVudERhdGEtPmxlbmd0aCgpOyArK2kpIHsKICAgICAgICAgY29uc3QgQXR0
cmlidXRlKiBhdHRyaWJ1dGUgPSBjb25zdF9jYXN0PGNvbnN0IEVsZW1lbnREYXRhKj4obV9lbGVt
ZW50RGF0YS5nZXQoKSktPmF0dHJpYnV0ZUl0ZW0oaSk7Ci0gICAgICAgIGF0dHJpYnV0ZUNoYW5n
ZWRGcm9tUGFyc2VyT3JCeUNsb25pbmcoYXR0cmlidXRlLT5uYW1lKCksIGF0dHJpYnV0ZS0+dmFs
dWUoKSk7CisgICAgICAgIGF0dHJpYnV0ZUNoYW5nZWRGcm9tUGFyc2VyT3JCeUNsb25pbmcoYXR0
cmlidXRlLT5uYW1lKCksIGF0dHJpYnV0ZS0+dmFsdWUoKSwgTW9kaWZpZWRCeUNsb25pbmcpOwog
ICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggZDJiYjVkYjdjMzk5MzlhYjE3M2MyZjdj
MmVlMWNjYzVlNDlhN2MwYS4uNTE0ZjU4MGE1MTE5OTQwNzVlMTQ1NTExMTVkOGNkNGUxMWFjY2Q2
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC0zNzMsOCArMzczLDEzIEBAIHB1YmxpYzoKICAgICAv
LyBGb3IgZXhwb3NpbmcgdG8gRE9NIG9ubHkuCiAgICAgTmFtZWROb2RlTWFwKiBhdHRyaWJ1dGVz
KCkgY29uc3Q7CiAKKyAgICBlbnVtIEF0dHJpYnV0ZU1vZGlmaWNhdGlvblJlYXNvbiB7CisgICAg
ICAgIE1vZGlmaWVkRGlyZWN0bHksCisgICAgICAgIE1vZGlmaWVkQnlDbG9uaW5nCisgICAgfTsK
KwogICAgIC8vIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCB3aGVuZXZlciBhbiBhdHRyaWJ1dGUgaXMg
YWRkZWQsIGNoYW5nZWQgb3IgcmVtb3ZlZC4KLSAgICB2aXJ0dWFsIHZvaWQgYXR0cmlidXRlQ2hh
bmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJik7CisgICAgdmly
dHVhbCB2b2lkIGF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0
b21pY1N0cmluZyYsIEF0dHJpYnV0ZU1vZGlmaWNhdGlvblJlYXNvbiA9IE1vZGlmaWVkRGlyZWN0
bHkpOwogICAgIHZpcnR1YWwgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiwgY29uc3QgQXRvbWljU3RyaW5nJikgeyB9CiAKICAgICAvLyBPbmx5IGNhbGxlZCBieSB0aGUg
cGFyc2VyIGltbWVkaWF0ZWx5IGFmdGVyIGVsZW1lbnQgY29uc3RydWN0aW9uLgpAQCAtNjg2LDcg
KzY5MSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRBdHRyaWJ1dGVJbnRlcm5hbChzaXplX3Qg
aW5kZXgsIGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlLCBT
eW5jaHJvbml6YXRpb25PZkxhenlBdHRyaWJ1dGUpOwogICAgIHZvaWQgYWRkQXR0cmlidXRlSW50
ZXJuYWwoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUsIFN5
bmNocm9uaXphdGlvbk9mTGF6eUF0dHJpYnV0ZSk7CiAgICAgdm9pZCByZW1vdmVBdHRyaWJ1dGVJ
bnRlcm5hbChzaXplX3QgaW5kZXgsIFN5bmNocm9uaXphdGlvbk9mTGF6eUF0dHJpYnV0ZSk7Ci0g
ICAgdm9pZCBhdHRyaWJ1dGVDaGFuZ2VkRnJvbVBhcnNlck9yQnlDbG9uaW5nKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKTsKKyAgICB2b2lkIGF0dHJpYnV0ZUNoYW5n
ZWRGcm9tUGFyc2VyT3JCeUNsb25pbmcoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21p
Y1N0cmluZyYsIEF0dHJpYnV0ZU1vZGlmaWNhdGlvblJlYXNvbik7CiAKICNpZm5kZWYgTkRFQlVH
CiAgICAgdmlydHVhbCB2b2lkIGZvcm1hdEZvckRlYnVnZ2VyKGNoYXIqIGJ1ZmZlciwgdW5zaWdu
ZWQgbGVuZ3RoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcAppbmRleCA5
YTJjODMyNTY5OTg4MTg5OWQ5NmU1NjA0NmQ5NzBiYTlmNmEzZThmLi45M2FlMzNkN2RhODViZGVk
MzEyNjE5NTVkYzNiMTIwODNmMDlmNzM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
U3R5bGVkRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQu
Y3BwCkBAIC0xNTcsMTYgKzE1NywxNiBAQCBNdXRhYmxlU3R5bGVQcm9wZXJ0eVNldCogU3R5bGVk
RWxlbWVudDo6ZW5zdXJlTXV0YWJsZUlubGluZVN0eWxlKCkKICAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8TXV0YWJsZVN0eWxlUHJvcGVydHlTZXQqPihpbmxpbmVTdHlsZS5nZXQoKSk7CiB9CiAKLXZv
aWQgU3R5bGVkRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBu
YW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIG5ld1ZhbHVlKQordm9pZCBTdHlsZWRFbGVtZW50Ojph
dHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0
cmluZyYgbmV3VmFsdWUsIEF0dHJpYnV0ZU1vZGlmaWNhdGlvblJlYXNvbiByZWFzb24pCiB7CiAg
ICAgaWYgKG5hbWUgPT0gc3R5bGVBdHRyKQotICAgICAgICBzdHlsZUF0dHJpYnV0ZUNoYW5nZWQo
bmV3VmFsdWUpOworICAgICAgICBzdHlsZUF0dHJpYnV0ZUNoYW5nZWQobmV3VmFsdWUsIHJlYXNv
bik7CiAgICAgZWxzZSBpZiAoaXNQcmVzZW50YXRpb25BdHRyaWJ1dGUobmFtZSkpIHsKICAgICAg
ICAgZWxlbWVudERhdGEoKS0+bV9wcmVzZW50YXRpb25BdHRyaWJ1dGVTdHlsZUlzRGlydHkgPSB0
cnVlOwogICAgICAgICBzZXROZWVkc1N0eWxlUmVjYWxjKElubGluZVN0eWxlQ2hhbmdlKTsKICAg
ICB9CiAKLSAgICBFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKG5hbWUsIG5ld1ZhbHVlKTsKKyAg
ICBFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKG5hbWUsIG5ld1ZhbHVlLCByZWFzb24pOwogfQog
CiBQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24qIFN0eWxlZEVsZW1lbnQ6OmlubGluZVN0
eWxlQ1NTT01XcmFwcGVyKCkKQEAgLTE5Nyw3ICsxOTcsNyBAQCBpbmxpbmUgdm9pZCBTdHlsZWRF
bGVtZW50OjpzZXRJbmxpbmVTdHlsZUZyb21TdHJpbmcoY29uc3QgQXRvbWljU3RyaW5nJiBuZXdT
dHlsZQogICAgICAgICBpbmxpbmVTdHlsZS0+cGFyc2VEZWNsYXJhdGlvbihuZXdTdHlsZVN0cmlu
ZywgZG9jdW1lbnQoKS0+ZWxlbWVudFNoZWV0KCktPmNvbnRlbnRzKCkpOwogfQogCi12b2lkIFN0
eWxlZEVsZW1lbnQ6OnN0eWxlQXR0cmlidXRlQ2hhbmdlZChjb25zdCBBdG9taWNTdHJpbmcmIG5l
d1N0eWxlU3RyaW5nKQordm9pZCBTdHlsZWRFbGVtZW50OjpzdHlsZUF0dHJpYnV0ZUNoYW5nZWQo
Y29uc3QgQXRvbWljU3RyaW5nJiBuZXdTdHlsZVN0cmluZywgQXR0cmlidXRlTW9kaWZpY2F0aW9u
UmVhc29uIHJlYXNvbikKIHsKICAgICBXVEY6Ok9yZGluYWxOdW1iZXIgc3RhcnRMaW5lTnVtYmVy
ID0gV1RGOjpPcmRpbmFsTnVtYmVyOjpiZWZvcmVGaXJzdCgpOwogICAgIGlmIChkb2N1bWVudCgp
ICYmIGRvY3VtZW50KCktPnNjcmlwdGFibGVEb2N1bWVudFBhcnNlcigpICYmICFkb2N1bWVudCgp
LT5pc0luRG9jdW1lbnRXcml0ZSgpKQpAQCAtMjA3LDcgKzIwNyw3IEBAIHZvaWQgU3R5bGVkRWxl
bWVudDo6c3R5bGVBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IEF0b21pY1N0cmluZyYgbmV3U3R5bGVT
dHJpbmcpCiAgICAgICAgIGlmIChQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24qIGNzc29t
V3JhcHBlciA9IGlubGluZVN0eWxlQ1NTT01XcmFwcGVyKCkpCiAgICAgICAgICAgICBjc3NvbVdy
YXBwZXItPmNsZWFyUGFyZW50RWxlbWVudCgpOwogICAgICAgICBlbnN1cmVVbmlxdWVFbGVtZW50
RGF0YSgpLT5tX2lubGluZVN0eWxlLmNsZWFyKCk7Ci0gICAgfSBlbHNlIGlmIChkb2N1bWVudCgp
LT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+YWxsb3dJbmxpbmVTdHlsZShkb2N1bWVudCgpLT51
cmwoKSwgc3RhcnRMaW5lTnVtYmVyKSkKKyAgICB9IGVsc2UgaWYgKHJlYXNvbiA9PSBNb2RpZmll
ZEJ5Q2xvbmluZyB8fCBkb2N1bWVudCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+YWxsb3dJ
bmxpbmVTdHlsZShkb2N1bWVudCgpLT51cmwoKSwgc3RhcnRMaW5lTnVtYmVyKSkKICAgICAgICAg
c2V0SW5saW5lU3R5bGVGcm9tU3RyaW5nKG5ld1N0eWxlU3RyaW5nKTsKIAogICAgIGVsZW1lbnRE
YXRhKCktPm1fc3R5bGVBdHRyaWJ1dGVJc0RpcnR5ID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxl
ZEVsZW1lbnQuaAppbmRleCBkZDY5ZThmN2VmNGZiY2NiYzk1YTRiZDY2ODMwZGUyMGU4OWEyYjMz
Li4zMTM0NDczYmI5MTkyMjU2ODY4YzJiMzVjOTBlMTY0OWJhZjVlYjVmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TdHlsZWRFbGVtZW50LmgKQEAgLTY2LDcgKzY2LDcgQEAgcHJvdGVjdGVkOgogICAgIHsKICAg
ICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgYXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWRO
YW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGF0
dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYs
IEF0dHJpYnV0ZU1vZGlmaWNhdGlvblJlYXNvbiA9IE1vZGlmaWVkRGlyZWN0bHkpIE9WRVJSSURF
OwogCiAgICAgdmlydHVhbCBib29sIGlzUHJlc2VudGF0aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCkBAIC03Nyw3ICs3Nyw3IEBAIHBy
b3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgYWRkU3VicmVzb3VyY2VBdHRyaWJ1dGVVUkxzKExp
c3RIYXNoU2V0PEtVUkw+JikgY29uc3Q7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBzdHlsZUF0dHJp
YnV0ZUNoYW5nZWQoY29uc3QgQXRvbWljU3RyaW5nJiBuZXdTdHlsZVN0cmluZyk7CisgICAgdm9p
ZCBzdHlsZUF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgQXRvbWljU3RyaW5nJiBuZXdTdHlsZVN0cmlu
ZywgQXR0cmlidXRlTW9kaWZpY2F0aW9uUmVhc29uKTsKIAogICAgIHZvaWQgaW5saW5lU3R5bGVD
aGFuZ2VkKCk7CiAgICAgUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uKiBpbmxpbmVTdHls
ZUNTU09NV3JhcHBlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCmluZGV4IDUwZWU5NmEw
MDBlZTY4NDNkNzdiMmQ3ZDYyN2RiOWQ2MGM0MDAzMWEuLmVhZjhiYzkxNGFlYmY1NThkNjRmNDJi
ZGQ1NjRjYjgzNTIxM2Q5ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAKQEAgLTUzMCw3
ICs1MzAsNyBAQCBib29sIFNWR0VsZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29u
c3QgTm9kZVJlbmRlcmluZ0NvbnRleHQmIGNoaWxkQ29udAogICAgIHJldHVybiBmYWxzZTsKIH0K
IAotdm9pZCBTVkdFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUm
IG5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgbmV3VmFsdWUpCit2b2lkIFNWR0VsZW1lbnQ6OmF0
dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3Ry
aW5nJiBuZXdWYWx1ZSwgQXR0cmlidXRlTW9kaWZpY2F0aW9uUmVhc29uKQogewogICAgIFN0eWxl
ZEVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQobmFtZSwgbmV3VmFsdWUpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0VsZW1lbnQuaAppbmRleCBiZmY4M2E4ZDgzOGEwODE1YjdhZTFlY2M0OTgyMGM5NmI1MjgxZDJm
Li5kYjc0YzI5NDE4NTZmZTYzMjNiMDIxNzIzZDkzNWJhYTg2ZDA3ODY1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdFbGVtZW50LmgKQEAgLTEyNiw3ICsxMjYsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2
b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJp
bmcmKSBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgdm9pZCBmaW5pc2hQYXJzaW5nQ2hpbGRyZW4o
KTsKLSAgICB2aXJ0dWFsIHZvaWQgYXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1l
JiwgY29uc3QgQXRvbWljU3RyaW5nJikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGF0dHJp
YnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYsIEF0
dHJpYnV0ZU1vZGlmaWNhdGlvblJlYXNvbiA9IE1vZGlmaWVkRGlyZWN0bHkpIE9WRVJSSURFOwog
ICAgIHZpcnR1YWwgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGVSZW5k
ZXJpbmdDb250ZXh0JikgY29uc3QgT1ZFUlJJREU7CiAgICAgCiAgICAgdmlydHVhbCB2b2lkIHJl
bW92ZWRGcm9tKENvbnRhaW5lck5vZGUqKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0ZjkwNzU3MTljYzI3
NDRlNWQ0NWYzYmM2MGI5NjJkNjQ0MWY3OWFhLi40Y2M2MzMyNDUxMDZhNDc1MjA5NTg5NzI5NGFm
MzE4NmRjYTUyYzhhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTMtMDQtMDIgIEZlbGlwZSBa
aW1tZXJsZSAgPGZlbGlwZUB6aW1tZXJsZS5vcmc+CisKKyAgICAgICAgQ1NQIGJsb2NrcyBpbmxp
bmUgc3R5bGUgd2hlbiBjbG9uaW5nIGEgbm9kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyMjcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBC
YXJ0aC4KKworICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5L2lubGluZS1zdHlsZS1hbGxvd2VkLXdoaWxlLWNsb25pbmctb2JqZWN0cy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L2lubGluZS1zdHlsZS1hbGxvd2VkLXdoaWxlLWNsb25pbmctb2JqZWN0cy5odG1sOiBB
ZGRlZC4KKwogMjAxMy0wNC0wMiAgRW1pbCBBIEVrbHVuZCAgPGVhZUBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgUGFkZGluZyBhcHBsaWVkIHR3aWNlIGZvciBlbXB0eSBnZW5lcmF0ZWQgUmVuZGVy
SW5saW5lcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvaW5saW5lLXN0eWxlLWFsbG93ZWQtd2hpbGUtY2xvbmluZy1vYmpl
Y3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L2lubGluZS1zdHlsZS1hbGxvd2VkLXdoaWxlLWNsb25pbmctb2JqZWN0
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Y5MWJjMTRiZTJkZjE5NTA3MWZlOThkMTllYzdi
OTYzNmZiMmViMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2lubGluZS1zdHlsZS1hbGxvd2VkLXdoaWxlLWNs
b25pbmctb2JqZWN0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzOCBAQAorQ09OU09MRSBNRVNT
QUdFOiBSZWZ1c2VkIHRvIGFwcGx5IGlubGluZSBzdHlsZSBiZWNhdXNlIGl0IHZpb2xhdGVzIHRo
ZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAic3R5bGUtc3Jj
ICdzZWxmJyIuCisKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA3OTogUmVmdXNlZCB0byBhcHBseSBp
bmxpbmUgc3R5bGUgYmVjYXVzZSBpdCB2aW9sYXRlcyB0aGUgZm9sbG93aW5nIENvbnRlbnQgU2Vj
dXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogInN0eWxlLXNyYyAnc2VsZiciLgorCitUaGlzIHRlc3Qg
ZW5zdXJlcyB0aGF0IHN0eWxlcyBjYW4gYmUgc2V0IGJ5IG9iamVjdC5jbG9uZU5vZGUoKQorUEFT
UyBub2RlMS5zdHlsZS5iYWNrZ3JvdW5kIGlzICJ5ZWxsb3ciCitQQVNTIG5vZGUyLnN0eWxlLmJh
Y2tncm91bmQgaXMgInllbGxvdyIKK1BBU1Mgbm9kZTMuc3R5bGUuYmFja2dyb3VuZCBpcyAiYmx1
ZSIKK1BBU1Mgbm9kZTQuc3R5bGUuYmFja2dyb3VuZCBpcyAiYmx1ZSIKK1BBU1Mgbm9kZTEuc3R5
bGUuY29sb3IgaXMgInJlZCIKK1BBU1Mgbm9kZTIuc3R5bGUuY29sb3IgaXMgInJlZCIKK1BBU1Mg
bm9kZTMuc3R5bGUuY29sb3IgaXMgImdyZWVuIgorUEFTUyBub2RlNC5zdHlsZS5jb2xvciBpcyAi
Z3JlZW4iCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG5vZGUxKS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKCdiYWNrZ3JvdW5kJykuY3NzVGV4dCBpcyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShu
b2RlMikuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQKK1BBU1Mgd2lu
ZG93LmdldENvbXB1dGVkU3R5bGUobm9kZTMpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91
bmQnKS5jc3NUZXh0IGlzIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG5vZGU0KS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuY3NzVGV4dAorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShub2RlMSkuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnY29sb3InKS5jc3NUZXh0IGlzIHdpbmRv
dy5nZXRDb21wdXRlZFN0eWxlKG5vZGUyKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdjb2xvcicpLmNz
c1RleHQKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUobm9kZTMpLmdldFByb3BlcnR5Q1NT
VmFsdWUoJ2NvbG9yJykuY3NzVGV4dCBpcyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShub2RlNCku
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnY29sb3InKS5jc3NUZXh0CitQQVNTIG9wcy5zdHlsZS5iYWNr
Z3JvdW5kIGlzICIiCitnZXRDb21wdXRlZFN0eWxlKGNsb25lZE9wcykuZ2V0UHJvcGVydHlDU1NW
YWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQ6IHJnYmEoMCwgMCwgMCwgMCkgbm9uZSByZXBlYXQg
c2Nyb2xsIDAlIDAlIC8gYXV0byBwYWRkaW5nLWJveCBib3JkZXItYm94CitQQVNTIG9wcy5zdHls
ZS5jb2xvciBpcyAicmVkIgorUEFTUyBjbG9uZWRPcHMuc3R5bGUuYmFja2dyb3VuZCBpcyAiIgor
UEFTUyB2aW9sZXRPcHMuc3R5bGUuYmFja2dyb3VuZCBpcyAicmdiKDIzOCwgMTMwLCAyMzgpIgor
UEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShjbG9uZWRPcHMpLmdldFByb3BlcnR5Q1NTVmFs
dWUoJ2JhY2tncm91bmQnKS5jc3NUZXh0IGlzIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG9wcyku
Z2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQKK1BBU1Mgd2luZG93Lmdl
dENvbXB1dGVkU3R5bGUoY2xvbmVkT3BzKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdjb2xvcicpLmNz
c1RleHQgaXMgd2luZG93LmdldENvbXB1dGVkU3R5bGUob3BzKS5nZXRQcm9wZXJ0eUNTU1ZhbHVl
KCdjb2xvcicpLmNzc1RleHQKK2dldENvbXB1dGVkU3R5bGUodmlvbGV0T3BzKS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuY3NzVGV4dDogcmdiKDIzOCwgMTMwLCAyMzgpIG5vbmUg
cmVwZWF0IHNjcm9sbCAwJSAwJSAvIGF1dG8gcGFkZGluZy1ib3ggYm9yZGVyLWJveAorUEFTUyB3
aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShvcHMpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91
bmQnKS5jc3NUZXh0IGlzIG5vdCB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh2aW9sZXRPcHMpLmdl
dFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5jc3NUZXh0CitQQVNTIHdpbmRvdy5nZXRD
b21wdXRlZFN0eWxlKGNsb25lZE9wcykuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcp
LmNzc1RleHQgaXMgbm90IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHZpb2xldE9wcykuZ2V0UHJv
cGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQKK1BBU1Mgb3BzLmlkIGlzICJvcHMi
CitQQVNTIG9wcy5pZCBpcyBjbG9uZWRPcHMuaWQKK0J1ZyAxMTIyNzAgaGFzIG1vcmUgaW5mb3Jt
YXRpb24gb24gdGhlIHN1YmplY3QuCitUaGlzIGlzIGEgZGl2IChub2RlcykKK1RoaXMgaXMgYSBk
aXYuIChub2RlIDEgb3IgMikKK1RoaXMgaXMgYSBkaXYuIChub2RlIDEgb3IgMikKK1RoaXMgaXMg
YSBkaXYuIChub2RlIDMgb3IgNCkKK05vZGUgIzQKK1lldCBhbm90aGVyIGRpdi4KK1lldCBhbm90
aGVyIGRpdi4KK1lldCBhbm90aGVyIGRpdi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2lubGluZS1zdHlsZS1hbGxvd2Vk
LXdoaWxlLWNsb25pbmctb2JqZWN0cy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvaW5saW5lLXN0eWxlLWFsbG93ZWQtd2hpbGUtY2xv
bmluZy1vYmplY3RzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmUyNWViYmM5ZjcyOTllMDZkMjY2OGMxMzFl
ZWVhMWUwMDMwOTM0YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2lubGluZS1zdHlsZS1hbGxvd2VkLXdoaWxl
LWNsb25pbmctb2JqZWN0cy5odG1sCkBAIC0wLDAgKzEsODcgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKyAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVNlY3VyaXR5LVBv
bGljeSIgY29udGVudD0ic3R5bGUtc3JjICdzZWxmJzsiPgorICAgIDxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBkZWJ1ZygiVGhp
cyB0ZXN0IGVuc3VyZXMgdGhhdCBzdHlsZXMgY2FuIGJlIHNldCBieSBvYmplY3QuY2xvbmVOb2Rl
KCkiKTsKKworICAgICAgICAgICAgd2luZG93Lm5vZGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ25vZGVzJyk7CisgICAgICAgICAgICB3aW5kb3cubm9kZTEgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnbm9kZTEnKTsKKyAgICAgICAgICAgIHdpbmRvdy5ub2RlMS5zdHlsZS5iYWNrZ3Jv
dW5kID0gInllbGxvdyI7CisgICAgICAgICAgICB3aW5kb3cubm9kZTEuc3R5bGUuY29sb3IgPSAi
cmVkIjsKKyAgICAgICAgICAgIHdpbmRvdy5ub2RlMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdub2RlMScpLmNsb25lTm9kZSh0cnVlKTsKKyAgICAgICAgICAgIHdpbmRvdy5ub2RlMi5pZCA9
ICAibm9kZTIiOworICAgICAgICAgICAgd2luZG93Lm5vZGUzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ25vZGUzJyk7CisgICAgICAgICAgICB3aW5kb3cubm9kZTMuc3R5bGUuYmFja2dyb3Vu
ZCA9ICJibHVlIjsKKyAgICAgICAgICAgIHdpbmRvdy5ub2RlMy5zdHlsZS5jb2xvciA9ICJncmVl
biI7CisgICAgICAgICAgICB3aW5kb3cubm9kZTQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
bm9kZTMnKS5jbG9uZU5vZGUoZmFsc2UpOworICAgICAgICAgICAgd2luZG93Lm5vZGU0LmlkID0g
ICJub2RlNCI7CisgICAgICAgICAgICB3aW5kb3cubm9kZTQuaW5uZXJIVE1MID0gIk5vZGUgIzQi
OworCisgICAgICAgICAgICBub2Rlcy5hcHBlbmRDaGlsZChub2RlMSk7CisgICAgICAgICAgICBu
b2Rlcy5hcHBlbmRDaGlsZChub2RlMik7CisgICAgICAgICAgICBub2Rlcy5hcHBlbmRDaGlsZChu
b2RlMyk7CisgICAgICAgICAgICBub2Rlcy5hcHBlbmRDaGlsZChub2RlNCk7CisKKyAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibm9kZTEuc3R5bGUuYmFja2dyb3VuZCIsICJ5ZWxs
b3ciKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibm9kZTIuc3R5bGUuYmFj
a2dyb3VuZCIsICJ5ZWxsb3ciKTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
bm9kZTMuc3R5bGUuYmFja2dyb3VuZCIsICJibHVlIik7CisgICAgICAgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoIm5vZGU0LnN0eWxlLmJhY2tncm91bmQiLCAiYmx1ZSIpOworICAKKyAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygibm9kZTEuc3R5bGUuY29sb3IiLCAicmVkIik7
CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm5vZGUyLnN0eWxlLmNvbG9yIiwg
InJlZCIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJub2RlMy5zdHlsZS5j
b2xvciIsICJncmVlbiIpOworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJub2Rl
NC5zdHlsZS5jb2xvciIsICJncmVlbiIpOworCisgICAgICAgICAgICBzaG91bGRCZSgid2luZG93
LmdldENvbXB1dGVkU3R5bGUobm9kZTEpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQn
KS5jc3NUZXh0IiwgIndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG5vZGUyKS5nZXRQcm9wZXJ0eUNT
U1ZhbHVlKCdiYWNrZ3JvdW5kJykuY3NzVGV4dCIpOworICAgICAgICAgICAgc2hvdWxkQmUoIndp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKG5vZGUzKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3Jv
dW5kJykuY3NzVGV4dCIsICJ3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShub2RlNCkuZ2V0UHJvcGVy
dHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQiKTsKKworICAgICAgICAgICAgc2hvdWxk
QmUoIndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG5vZGUxKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdj
b2xvcicpLmNzc1RleHQiLCAid2luZG93LmdldENvbXB1dGVkU3R5bGUobm9kZTIpLmdldFByb3Bl
cnR5Q1NTVmFsdWUoJ2NvbG9yJykuY3NzVGV4dCIpOworICAgICAgICAgICAgc2hvdWxkQmUoIndp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKG5vZGUzKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdjb2xvcicp
LmNzc1RleHQiLCAid2luZG93LmdldENvbXB1dGVkU3R5bGUobm9kZTQpLmdldFByb3BlcnR5Q1NT
VmFsdWUoJ2NvbG9yJykuY3NzVGV4dCIpOworCisgICAgICAgICAgICB3aW5kb3cub3BzID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ29wcycpOworICAgICAgICAgICAgb3BzLnN0eWxlLmNvbG9y
ID0gJ3JlZCc7CisgICAgICAgICAgICB3aW5kb3cuY2xvbmVkT3BzID0gb3BzLmNsb25lTm9kZSh0
cnVlKTsKKyAgICAgICAgICAgIHdpbmRvdy52aW9sZXRPcHMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgndmlvbGV0T3BzJyk7CisKKyAgICAgICAgICAgIHZpb2xldE9wcy5zdHlsZS5iYWNrZ3Jv
dW5kID0gJ3JnYigyMzgsIDEzMCwgMjM4KSc7CisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVt
ZW50c0J5VGFnTmFtZSgnYm9keScpWzBdLmFwcGVuZENoaWxkKGNsb25lZE9wcyk7CisKKyAgICAg
ICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygib3BzLnN0eWxlLmJhY2tncm91bmQiLCAiIik7
CisgICAgICAgICAgICBkZWJ1ZygiZ2V0Q29tcHV0ZWRTdHlsZShjbG9uZWRPcHMpLmdldFByb3Bl
cnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5jc3NUZXh0OiAiICsgd2luZG93LmdldENvbXB1dGVk
U3R5bGUob3BzKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuY3NzVGV4dCk7Cisg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIm9wcy5zdHlsZS5jb2xvciIsICJyZWQi
KTsKKyAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiY2xvbmVkT3BzLnN0eWxlLmJh
Y2tncm91bmQiLCAiIik7CisgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInZpb2xl
dE9wcy5zdHlsZS5iYWNrZ3JvdW5kIiwgInJnYigyMzgsIDEzMCwgMjM4KSIpOworCisgICAgICAg
ICAgICBzaG91bGRCZSgid2luZG93LmdldENvbXB1dGVkU3R5bGUoY2xvbmVkT3BzKS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKCdiYWNrZ3JvdW5kJykuY3NzVGV4dCIsICJ3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShvcHMpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5jc3NUZXh0Iik7Cisg
ICAgICAgICAgICBzaG91bGRCZSgid2luZG93LmdldENvbXB1dGVkU3R5bGUoY2xvbmVkT3BzKS5n
ZXRQcm9wZXJ0eUNTU1ZhbHVlKCdjb2xvcicpLmNzc1RleHQiLCAid2luZG93LmdldENvbXB1dGVk
U3R5bGUob3BzKS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCdjb2xvcicpLmNzc1RleHQiKTsKKyAgICAg
ICAgICAgIGRlYnVnKCJnZXRDb21wdXRlZFN0eWxlKHZpb2xldE9wcykuZ2V0UHJvcGVydHlDU1NW
YWx1ZSgnYmFja2dyb3VuZCcpLmNzc1RleHQ6ICIgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh2
aW9sZXRPcHMpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5jc3NUZXh0KTsKKyAg
ICAgICAgICAgIHNob3VsZE5vdEJlKCJ3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShvcHMpLmdldFBy
b3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5jc3NUZXh0IiwgIndpbmRvdy5nZXRDb21wdXRl
ZFN0eWxlKHZpb2xldE9wcykuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFja2dyb3VuZCcpLmNzc1Rl
eHQiKTsKKyAgICAgICAgICAgIHNob3VsZE5vdEJlKCJ3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShj
bG9uZWRPcHMpLmdldFByb3BlcnR5Q1NTVmFsdWUoJ2JhY2tncm91bmQnKS5jc3NUZXh0IiwgIndp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKHZpb2xldE9wcykuZ2V0UHJvcGVydHlDU1NWYWx1ZSgnYmFj
a2dyb3VuZCcpLmNzc1RleHQiKTsKKworICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJvcHMuaWQiLCAib3BzIik7CisgICAgICAgICAgICBzaG91bGRCZSgib3BzLmlkIiwgImNsb25l
ZE9wcy5pZCIpOworICAgICAgIH07CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAg
IDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIyNzAi
PkJ1ZyAxMTIyNzA8L2E+CitoYXMgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGUgc3ViamVjdC48L3A+
CisKKyAgICA8ZGl2IGlkPSJub2RlcyI+CisJVGhpcyBpcyBhIGRpdiAobm9kZXMpCisgICAgICAg
IDxkaXYgaWQ9Im5vZGUxIj4gVGhpcyBpcyBhIGRpdi4gKG5vZGUgMSBvciAyKTwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJub2RlMyI+IFRoaXMgaXMgYSBkaXYuIChub2RlIDMgb3IgNCk8L2Rpdj4K
KyAgICA8L2Rpdj4KKworICAgIDxkaXYgaWQ9Im9wcyIgc3R5bGU9ImJhY2tncm91bmQ6IHJnYigy
MzgsIDEzMCwgMjM4KSI+CisgICAgICAgICBZZXQgYW5vdGhlciBkaXYuCisgICAgPC9kaXY+Cisg
ICAgPGRpdiBpZD0idmlvbGV0T3BzIj4KKyAgICAgICAgIFlldCBhbm90aGVyIGRpdi4KKyAgICA8
L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>