<?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>34301</bug_id>
          
          <creation_ts>2010-01-28 20:03:07 -0800</creation_ts>
          <short_desc>Creating &lt;animateMotion&gt; elements via javascript do not execute</short_desc>
          <delta_ts>2011-06-03 08:45:56 -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>SVG</component>
          <version>420+</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>17043</dependson>
          <blocked>41761</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter>dj.am.juicebox</reporter>
          <assigned_to name="Rob Buis">rwlbuis</assigned_to>
          <cc>krit</cc>
    
    <cc>marek.raida</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>185706</commentid>
    <comment_count>0</comment_count>
    <who name="">dj.am.juicebox</who>
    <bug_when>2010-01-28 20:03:07 -0800</bug_when>
    <thetext>Adding &lt;animateMotion&gt; elements via javascript fail to execute. This may be related to this bug 17043 &quot;SVG missing some .idl files&quot;:

    https://bugs.webkit.org/show_bug.cgi?id=17043

The following example should animate a rectangle moving from left to right when the page loads. It does nothing. The same page works ok in opera. The same animation definition in the body of the document executes ok:

&lt;html&gt;
  &lt;head&gt;
    &lt;script&gt;
    
        window.onload = function() {
            var svg = document.createElementNS(&apos;http://www.w3.org/2000/svg&apos;, &apos;svg&apos;);
            svg.setAttribute(&apos;xmlns:xlink&apos;, &apos;http://www.w3.org/1999/xlink&apos;);
            svg.setAttribute(&apos;version&apos;, &apos;1.1&apos;);
            svg.setAttribute(&apos;width&apos;, &apos;800px&apos;);
            svg.setAttribute(&apos;height&apos;, &apos;400px&apos;);
            document.body.appendChild(svg);
            
            var rect = document.createElementNS(&apos;http://www.w3.org/2000/svg&apos;, &apos;rect&apos;);
            rect.setAttribute(&quot;id&quot;, &quot;myrect&quot;); 
            rect.setAttribute(&quot;fill&quot;,&quot;red&quot;);
            rect.setAttribute(&quot;stroke&quot;,&quot;black&quot;);
            rect.setAttribute(&quot;stroke-width&quot;,&quot;5&quot;);
            rect.setAttribute(&quot;x&quot;, &quot;100&quot;);
            rect.setAttribute(&quot;y&quot;, &quot;100&quot;);
            rect.setAttribute(&quot;width&quot;, &quot;100&quot;);
            rect.setAttribute(&quot;height&quot;, &quot;50&quot;);
            svg.appendChild(rect);
            
            var anim = document.createElementNS(&apos;http://www.w3.org/2000/svg&apos;,&apos;animate&apos;);
            anim.setAttribute(&quot;attributeName&quot;, &quot;width&quot;);
            anim.setAttribute(&quot;from&quot;, &quot;100&quot;);
            anim.setAttribute(&quot;to&quot;, &quot;400&quot;);
            anim.setAttribute(&quot;dur&quot;, &quot;10s&quot;);
            anim.setAttribute(&quot;begin&quot;, &quot;0s&quot;);
            anim.setAttribute(&quot;fill&quot;, &quot;freeze&quot;);
            rect.appendChild(anim);
            
            anim.beginElement();
        }
        
    &lt;/script&gt;
  &lt;/head&gt;

  &lt;body&gt;
  &lt;/body&gt;

&lt;/html&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185914</commentid>
    <comment_count>1</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-01-29 11:01:40 -0800</bug_when>
    <thetext>Bug confirmed, SVGAnimateMotion.idl is missing. Grab another SVGAnimate*.idl file as template, copy it to SVGAnimateMotion.idl, adjust it according to the W3C IDL files (what methods/attributes are exported). Adding to the build is a bit more complex, if you attach a complete SVGAnimateMotion.idl here, I&apos;m happy to either guide you through adding it to the build or I&apos;ll do it myselves.

Thanks for the bug report, you&apos;re welcome to help with SVG! :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185981</commentid>
    <comment_count>2</comment_count>
    <who name="">dj.am.juicebox</who>
    <bug_when>2010-01-29 15:24:20 -0800</bug_when>
    <thetext>Thanks Nikolas, I&apos;m going to dive into webkit tonight, looks like this should not be too bad to fix, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185982</commentid>
    <comment_count>3</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-01-29 15:30:02 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Thanks Nikolas, I&apos;m going to dive into webkit tonight, looks like this should
&gt; not be too bad to fix, thanks.

If you need further assistance, Dirk &amp; me usually hang around on IRC #webkit / #ksvg, just meet us there :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223196</commentid>
    <comment_count>4</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-05-10 01:33:51 -0700</bug_when>
    <thetext>*** Bug 38114 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>223197</commentid>
    <comment_count>5</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-05-10 01:34:45 -0700</bug_when>
    <thetext>Bug 17403, covers that SVGAnimationMotionElement.idl &amp; SVGMPathElement.idl are missing. It should be trivial to expose them, it&apos;s just a bit cumbersome to add JS IDL bindings...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412294</commentid>
    <comment_count>6</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2011-05-30 11:10:00 -0700</bug_when>
    <thetext>I don&apos;t the SVGAnimationMotionElement.idl is needed to fix this bug, this dynamic test works with trunk:

http://www.kevlindev.com/tutorials/basics/animation/js_dom_smil/index.htm

So I think this bug can be closed. OTOH it could be used to combine with bug 17043 and add a similar test as above but with &lt;mpath&gt; inserted as well. It is on my TODO list :)
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412297</commentid>
    <comment_count>7</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-05-30 11:15:14 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; I don&apos;t the SVGAnimationMotionElement.idl is needed to fix this bug, this dynamic test works with trunk:
&gt; 
&gt; http://www.kevlindev.com/tutorials/basics/animation/js_dom_smil/index.htm
&gt; 
&gt; So I think this bug can be closed. OTOH it could be used to combine with bug 17043 and add a similar test as above but with &lt;mpath&gt; inserted as well. It is on my TODO list :)
&gt; Cheers,

Well if you use document.createElementNS(&apos;http://www.w3.org/2000/svg&apos;,&apos;animateMotion&apos;);
it won&apos;t create an SVGAnimateMotionElement but a SVGElement, so you can&apos;t create those elements from DOM at the moment?

Am I missing sth.?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412302</commentid>
    <comment_count>8</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2011-05-30 11:29:06 -0700</bug_when>
    <thetext>Hi Niko,

(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; I don&apos;t the SVGAnimationMotionElement.idl is needed to fix this bug, this dynamic test works with trunk:
&gt; &gt; 
&gt; &gt; http://www.kevlindev.com/tutorials/basics/animation/js_dom_smil/index.htm
&gt; &gt; 
&gt; &gt; So I think this bug can be closed. OTOH it could be used to combine with bug 17043 and add a similar test as above but with &lt;mpath&gt; inserted as well. It is on my TODO list :)
&gt; &gt; Cheers,
&gt; 
&gt; Well if you use document.createElementNS(&apos;http://www.w3.org/2000/svg&apos;,&apos;animateMotion&apos;);
&gt; it won&apos;t create an SVGAnimateMotionElement but a SVGElement, so you can&apos;t create those elements from DOM at the moment?
&gt; 
&gt; Am I missing sth.?

Jein :)
You are right, but the way it is used does not matter, as only setAttribute is used as API. Nevertheless we should add these .idl files, I have them ready. I am writing a test for inserting &lt;mpath&gt; dynamically, so that could go in with a patch to fix this bug. But it looks like this and bug 17032 should be fixed in one patch though.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412379</commentid>
    <comment_count>9</comment_count>
      <attachid>95375</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2011-05-30 15:11:58 -0700</bug_when>
    <thetext>Created attachment 95375
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412448</commentid>
    <comment_count>10</comment_count>
      <attachid>95375</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-05-30 21:57:40 -0700</bug_when>
    <thetext>Comment on attachment 95375
Patch

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

Some snippets before I can give r+.

&gt; Source/WebCore/ChangeLog:17
&gt; +        * CMakeLists.txt:
&gt; +        * CodeGenerators.pri:
&gt; +        * WebCore.gypi:

I wonder that you did not add it to Xcode!? Can you do that as well please?

&gt; LayoutTests/svg/animations/script-tests/animate-mpath-insert.js:42
&gt; +    passed = isCloseEnough(eval(name), value, error);
&gt; +    if (passed) {
&gt; +        testPassed(name + &quot; is almost &quot; + value + &quot; (within &quot; + error + &quot;)&quot;);
&gt; +    } else {
&gt; +        testFailed(name + &quot; is &quot; + eval(name) + &quot; but should be within &quot; + error + &quot; of &quot; + value);  
&gt; +    }

We already have a function like passIfCloseEnough. Can you use this method please? It is in the animation lib.

&gt; LayoutTests/svg/animations/script-tests/animate-mpath-insert.js:52
&gt; +    passIfCloseEnough(&quot;rootSVGElement.getBBox().x&quot;, 100, 20);
&gt; +    passIfCloseEnough(&quot;rootSVGElement.getBBox().y&quot;, 250, 20);
&gt; +}
&gt; +
&gt; +function endSample() {
&gt; +    passIfCloseEnough(&quot;rootSVGElement.getBBox().x&quot;, 400, 20);
&gt; +    passIfCloseEnough(&quot;rootSVGElement.getBBox().y&quot;, 250, 20);

20 is a high tolerance. Can you decrease it a bit?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412689</commentid>
    <comment_count>11</comment_count>
      <attachid>95441</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2011-05-31 09:14:19 -0700</bug_when>
    <thetext>Created attachment 95441
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412723</commentid>
    <comment_count>12</comment_count>
      <attachid>95441</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-05-31 10:08:57 -0700</bug_when>
    <thetext>Comment on attachment 95441
Patch

You did not address my comment about passIfCloseEnough</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412728</commentid>
    <comment_count>13</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2011-05-31 10:16:11 -0700</bug_when>
    <thetext>Hi Dirk,

(In reply to comment #12)
&gt; (From update of attachment 95441 [details])
&gt; You did not address my comment about passIfCloseEnough

Sorry, completely forgot!
I think you mean that we have isCloseEnough? passIfCloseEnough wraps it, otherwise I think you have to &quot;inline&quot; it and it ends up with a lot more code. Let me know if I am missing something.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412729</commentid>
    <comment_count>14</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-05-31 10:17:52 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Hi Dirk,
&gt; 
&gt; (In reply to comment #12)
&gt; &gt; (From update of attachment 95441 [details] [details])
&gt; &gt; You did not address my comment about passIfCloseEnough
&gt; 
&gt; Sorry, completely forgot!
&gt; I think you mean that we have isCloseEnough? passIfCloseEnough wraps it, otherwise I think you have to &quot;inline&quot; it and it ends up with a lot more code. Let me know if I am missing something.
&gt; Cheers,
&gt; 
&gt; Rob.

No, I mean shouldBeCloseEnough!


function shouldBeCloseEnough(_a, _b, tolerance)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412769</commentid>
    <comment_count>15</comment_count>
      <attachid>95457</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2011-05-31 11:56:35 -0700</bug_when>
    <thetext>Created attachment 95457
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412786</commentid>
    <comment_count>16</comment_count>
      <attachid>95457</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-05-31 12:28:53 -0700</bug_when>
    <thetext>Comment on attachment 95457
Patch

r=me. LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412793</commentid>
    <comment_count>17</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2011-05-31 12:38:32 -0700</bug_when>
    <thetext>Committed r87746: &lt;http://trac.webkit.org/changeset/87746&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413157</commentid>
    <comment_count>18</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-05-31 23:14:22 -0700</bug_when>
    <thetext>Rob, you forgot to update Source/WebCore/page/DOMWindow.idl, you have to enable the new constructors for mpath/animateMotiion, and update test expecations (there are some files that&apos;ll change, can&apos;t remember which ones, but we have tests that dump all contructors of DOMWindow).

Reopening bug, as it needs a follow-up patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414430</commentid>
    <comment_count>19</comment_count>
      <attachid>95808</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2011-06-02 14:16:38 -0700</bug_when>
    <thetext>Created attachment 95808
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414704</commentid>
    <comment_count>20</comment_count>
      <attachid>95808</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-06-03 00:56:51 -0700</bug_when>
    <thetext>Comment on attachment 95808
Patch

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

This is fine as-is, though some comments:

&gt; Source/WebCore/page/DOMWindow.idl:719
&gt; -//      attribute SVGAnimateMotionElementConstructor SVGAnimateMotionElement;
&gt; +      attribute SVGAnimateMotionElementConstructor SVGAnimateMotionElement;

The alignment doesn&apos;t match here.

&gt; Source/WebCore/page/DOMWindow.idl:721
&gt; +      attribute SVGMPathElementConstructor SVGMPathElement;

Ditto.

&gt; LayoutTests/svg/custom/global-constructors-expected.txt:143
&gt;  FAIL SVGAnimationElement.toString() should be [object SVGAnimationElementConstructor]. Threw exception ReferenceError: Can&apos;t find variable: SVGAnimationElement

Just noticed this, seems we have another constructor missing? Can you grep that file for other missing SVG constructors?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414923</commentid>
    <comment_count>21</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2011-06-03 08:45:56 -0700</bug_when>
    <thetext>Committed r88020: &lt;http://trac.webkit.org/changeset/88020&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95375</attachid>
            <date>2011-05-30 15:11:58 -0700</date>
            <delta_ts>2011-05-31 09:14:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-34301-20110530181211.patch</filename>
            <type>text/plain</type>
            <size>11030</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg3Njk3KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDUtMzAgIFJvYiBCdWlz
ICA8cmJ1aXNAcmltLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQzMDEK
KyAgICAgICAgQ3JlYXRpbmcgPGFuaW1hdGVNb3Rpb24+IGVsZW1lbnRzIHZpYSBqYXZhc2NyaXB0
IGRvIG5vdCBleGVjdXRlCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3MDQzCisgICAgICAgIFNWRyBtaXNzaW5nIHNvbWUgLmlkbCBmaWxlcworCisg
ICAgICAgIEFkZCBtaXNzaW5nIGlkbCBmaWxlcy4KKworICAgICAgICBUZXN0OiBzdmcvYW5pbWF0
aW9ucy9hbmltYXRlLW1wYXRoLWluc2VydC5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKKyAgICAgICAgKiBDb2RlR2VuZXJhdG9ycy5wcmk6CisgICAgICAgICogV2ViQ29yZS5neXBp
OgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRlTW90aW9uRWxlbWVudC5pZGw6IEFkZGVkLgorICAg
ICAgICAqIHN2Zy9TVkdNUGF0aEVsZW1lbnQuaWRsOiBBZGRlZC4KKwogMjAxMS0wNS0zMCAgTm8n
YW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9raWEuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IEFuZHJlYXMgS2xpbmcuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24g
ODc2OTQpCisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMTc4MSw2ICsxNzgxLDcgQEAgSUYgKEVOQUJMRV9TVkcpCiAgICAgICAgIHN2Zy9TVkdBbHRH
bHlwaEVsZW1lbnQuaWRsCiAgICAgICAgIHN2Zy9TVkdBbmdsZS5pZGwKICAgICAgICAgc3ZnL1NW
R0FuaW1hdGVDb2xvckVsZW1lbnQuaWRsCisgICAgICAgIHN2Zy9TVkdBbmltYXRlTW90aW9uRWxl
bWVudC5pZGwKICAgICAgICAgc3ZnL1NWR0FuaW1hdGVFbGVtZW50LmlkbAogICAgICAgICBzdmcv
U1ZHQW5pbWF0ZVRyYW5zZm9ybUVsZW1lbnQuaWRsCiAgICAgICAgIHN2Zy9TVkdBbmltYXRlZEFu
Z2xlLmlkbApJbmRleDogU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnByaQkocmV2aXNpb24gODc2OTQp
CisrKyBTb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkJKHdvcmtpbmcgY29weSkKQEAg
LTM4OSw2ICszODksNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgIHN2Zy9TVkdBbHRHbHlwaEVs
ZW1lbnQuaWRsIFwKICAgICBzdmcvU1ZHQW5nbGUuaWRsIFwKICAgICBzdmcvU1ZHQW5pbWF0ZUNv
bG9yRWxlbWVudC5pZGwgXAorICAgIHN2Zy9TVkdBbmltYXRlTW90aW9uRWxlbWVudC5pZGwgXAog
ICAgIHN2Zy9TVkdBbmltYXRlZEFuZ2xlLmlkbCBcCiAgICAgc3ZnL1NWR0FuaW1hdGVkQm9vbGVh
bi5pZGwgXAogICAgIHN2Zy9TVkdBbmltYXRlZEVudW1lcmF0aW9uLmlkbCBcCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCShyZXZpc2lvbiA4NzY5NCkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQkod29ya2luZyBjb3B5KQpAQCAtMTQ1OCw2ICsxNDU4LDcgQEAKICAgICAgICAgICAgICdzdmcv
U1ZHQWx0R2x5cGhFbGVtZW50LmlkbCcsCiAgICAgICAgICAgICAnc3ZnL1NWR0FuZ2xlLmlkbCcs
CiAgICAgICAgICAgICAnc3ZnL1NWR0FuaW1hdGVDb2xvckVsZW1lbnQuaWRsJywKKyAgICAgICAg
ICAgICdzdmcvU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuaWRsJywKICAgICAgICAgICAgICdzdmcv
U1ZHQW5pbWF0ZUVsZW1lbnQuaWRsJywKICAgICAgICAgICAgICdzdmcvU1ZHQW5pbWF0ZVRyYW5z
Zm9ybUVsZW1lbnQuaWRsJywKICAgICAgICAgICAgICdzdmcvU1ZHQW5pbWF0ZWRBbmdsZS5pZGwn
LApJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVNb3Rpb25FbGVtZW50LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQu
aWRsCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVNb3Rpb25F
bGVtZW50LmlkbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMS4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKK21vZHVsZSBz
dmcgeworCisgICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1TVkcmU1ZHX0FOSU1BVElPTl0gU1ZH
QW5pbWF0ZU1vdGlvbkVsZW1lbnQgOiBTVkdBbmltYXRpb25FbGVtZW50IHsKKyAgICB9OworCit9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVtZW50LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTVBhdGhFbGVtZW50LmlkbAkocmV2aXNpb24gMCkK
KysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNUGF0aEVsZW1lbnQuaWRsCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24g
TGltaXRlZCAyMDExLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisgKi8KKworbW9kdWxlIHN2ZyB7CisKKyAgICBpbnRlcmZhY2UgW0Nv
bmRpdGlvbmFsPVNWRyZTVkdfQU5JTUFUSU9OXSBTVkdNUGF0aEVsZW1lbnQgOiBTVkdFbGVtZW50
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFNWR1VSSVJlZmVyZW5jZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVkdFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkIHsKKyAgICB9OworCit9CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA4NzY5NykKKysrIExheW91
dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDExLTA1
LTMwICBSb2IgQnVpcyAgPHJidWlzQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTM0MzAxCisgICAgICAgIENyZWF0aW5nIDxhbmltYXRlTW90aW9uPiBlbGVtZW50cyB2
aWEgamF2YXNjcmlwdCBkbyBub3QgZXhlY3V0ZQorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA0MworICAgICAgICBTVkcgbWlzc2luZyBzb21lIC5p
ZGwgZmlsZXMKKworICAgICAgICBWZXJpZnkgdGhhdCBhZGRpbmcgbXBhdGggdmlhIGphdmFzY3Jp
cHQgd29ya3MuCisKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1wYXRoLWluc2Vy
dC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL2FuaW1hdGUt
bXBhdGgtaW5zZXJ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL3Njcmlw
dC10ZXN0cy9hbmltYXRlLW1wYXRoLWluc2VydC5qczogQWRkZWQuCisgICAgICAgIChtcGF0aC5z
ZXRBdHRyaWJ1dGVOUy5hbmltYXRlTW90aW9uLmFwcGVuZENoaWxkLmcuYXBwZW5kQ2hpbGQucm9v
dFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQucGFzc0lmQ2xvc2VFbm91Z2gpOgorICAgICAgICAoc3Rh
cnRTYW1wbGUpOgorICAgICAgICAoZW5kU2FtcGxlKToKKyAgICAgICAgKGV4ZWN1dGVUZXN0KToK
KwogMjAxMS0wNS0zMCAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgWGFuIExvcGV6LgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2Fu
aW1hdGlvbnMvYW5pbWF0ZS1tcGF0aC1pbnNlcnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtbXBhdGgtaW5zZXJ0LWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUt
bXBhdGgtaW5zZXJ0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNSBAQAor
U1ZHIDEuMSBkeW5hbWljIGFuaW1hdGlvbiB0ZXN0cworCit0ZXN0IHRvIGRldGVybWluZSB3aGV0
aGVyIGluc2VydGluZyBtcGF0aCBkeW5hbWljYWxseSB3b3JrcworCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworUEFTUyByb290U1ZHRWxlbWVudC5nZXRCQm94KCkueCBpcyBhbG1vc3Qg
MTAwICh3aXRoaW4gMjApCitQQVNTIHJvb3RTVkdFbGVtZW50LmdldEJCb3goKS55IGlzIGFsbW9z
dCAyNTAgKHdpdGhpbiAyMCkKK1BBU1Mgcm9vdFNWR0VsZW1lbnQuZ2V0QkJveCgpLnggaXMgYWxt
b3N0IDQwMCAod2l0aGluIDIwKQorUEFTUyByb290U1ZHRWxlbWVudC5nZXRCQm94KCkueSBpcyBh
bG1vc3QgMjUwICh3aXRoaW4gMjApCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0
ZS1tcGF0aC1pbnNlcnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0
aW9ucy9hbmltYXRlLW1wYXRoLWluc2VydC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tcGF0aC1pbnNlcnQuaHRtbAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR1Rlc3RDYXNlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvU1ZHQW5pbWF0aW9uVGVzdENhc2UuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+U1ZHIDEuMSBkeW5hbWljIGFuaW1hdGlvbiB0ZXN0
czwvaDE+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9hbmltYXRlLW1wYXRoLWluc2VydC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9u
cy9zY3JpcHQtdGVzdHMvYW5pbWF0ZS1tcGF0aC1pbnNlcnQuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL2FuaW1hdGUtbXBhdGgtaW5zZXJ0
LmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRl
c3RzL2FuaW1hdGUtbXBhdGgtaW5zZXJ0LmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDY2IEBA
CitkZXNjcmlwdGlvbigidGVzdCB0byBkZXRlcm1pbmUgd2hldGhlciBpbnNlcnRpbmcgbXBhdGgg
ZHluYW1pY2FsbHkgd29ya3MiKTsKK2NyZWF0ZVNWR1Rlc3RDYXNlKCk7CisKK3Jvb3RTVkdFbGVt
ZW50LnNldEF0dHJpYnV0ZSgid2lkdGgiLCA4MDApCisKK3ZhciBkZWZzID0gY3JlYXRlU1ZHRWxl
bWVudCgiZGVmcyIpCit2YXIgcGF0aCA9IGNyZWF0ZVNWR0VsZW1lbnQoInBhdGgiKQorcGF0aC5z
ZXRBdHRyaWJ1dGUoImlkIiwgInBhdGgiKQorcGF0aC5zZXRBdHRyaWJ1dGUoImQiLCAiTSAxMDAs
MjUwIEMgMTAwLDUwIDQwMCw1MCA0MDAsMjUwIikKK2RlZnMuYXBwZW5kQ2hpbGQocGF0aCkKK3Jv
b3RTVkdFbGVtZW50LmFwcGVuZENoaWxkKGRlZnMpCisKK3ZhciBnID0gY3JlYXRlU1ZHRWxlbWVu
dCgiZyIpCisKK3ZhciByZWN0ID0gY3JlYXRlU1ZHRWxlbWVudCgicmVjdCIpCityZWN0LnNldEF0
dHJpYnV0ZSgiaWQiLCAicmVjdCIpCityZWN0LnNldEF0dHJpYnV0ZSgid2lkdGgiLCAiNDAiKQor
cmVjdC5zZXRBdHRyaWJ1dGUoImhlaWdodCIsICI0MCIpCityZWN0LnNldEF0dHJpYnV0ZSgiZmls
bCIsICJncmVlbiIpCityZWN0LnNldEF0dHJpYnV0ZSgib25jbGljayIsICJleGVjdXRlVGVzdCgp
IikKK2cuYXBwZW5kQ2hpbGQocmVjdCkKKwordmFyIGFuaW1hdGVNb3Rpb24gPSBjcmVhdGVTVkdF
bGVtZW50KCJhbmltYXRlTW90aW9uIikKK2FuaW1hdGVNb3Rpb24uc2V0QXR0cmlidXRlKCJpZCIs
ICJhbmltYXRpb24iKQorYW5pbWF0ZU1vdGlvbi5zZXRBdHRyaWJ1dGUoImR1ciIsICIxcyIpCith
bmltYXRlTW90aW9uLnNldEF0dHJpYnV0ZSgicmVwZWF0Q291bnQiLCAiMSIpCithbmltYXRlTW90
aW9uLnNldEF0dHJpYnV0ZSgiYmVnaW4iLCAiY2xpY2siKQorCit2YXIgbXBhdGggPSBjcmVhdGVT
VkdFbGVtZW50KCJtcGF0aCIpOworbXBhdGguc2V0QXR0cmlidXRlTlMoeGxpbmtOUywgInhsaW5r
OmhyZWYiLCAiI3BhdGgiKQorYW5pbWF0ZU1vdGlvbi5hcHBlbmRDaGlsZChtcGF0aCkKKworZy5h
cHBlbmRDaGlsZChhbmltYXRlTW90aW9uKQorcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQoZykK
KworZnVuY3Rpb24gcGFzc0lmQ2xvc2VFbm91Z2gobmFtZSwgdmFsdWUsIGVycm9yKSB7CisgICAg
cGFzc2VkID0gaXNDbG9zZUVub3VnaChldmFsKG5hbWUpLCB2YWx1ZSwgZXJyb3IpOworICAgIGlm
IChwYXNzZWQpIHsKKyAgICAgICAgdGVzdFBhc3NlZChuYW1lICsgIiBpcyBhbG1vc3QgIiArIHZh
bHVlICsgIiAod2l0aGluICIgKyBlcnJvciArICIpIik7CisgICAgfSBlbHNlIHsKKyAgICAgICAg
dGVzdEZhaWxlZChuYW1lICsgIiBpcyAiICsgZXZhbChuYW1lKSArICIgYnV0IHNob3VsZCBiZSB3
aXRoaW4gIiArIGVycm9yICsgIiBvZiAiICsgdmFsdWUpOyAgCisgICAgfQorfQorCitmdW5jdGlv
biBzdGFydFNhbXBsZSgpIHsKKyAgICBwYXNzSWZDbG9zZUVub3VnaCgicm9vdFNWR0VsZW1lbnQu
Z2V0QkJveCgpLngiLCAxMDAsIDIwKTsKKyAgICBwYXNzSWZDbG9zZUVub3VnaCgicm9vdFNWR0Vs
ZW1lbnQuZ2V0QkJveCgpLnkiLCAyNTAsIDIwKTsKK30KKworZnVuY3Rpb24gZW5kU2FtcGxlKCkg
eworICAgIHBhc3NJZkNsb3NlRW5vdWdoKCJyb290U1ZHRWxlbWVudC5nZXRCQm94KCkueCIsIDQw
MCwgMjApOworICAgIHBhc3NJZkNsb3NlRW5vdWdoKCJyb290U1ZHRWxlbWVudC5nZXRCQm94KCku
eSIsIDI1MCwgMjApOworfQorCitmdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKKyAgICBjb25zdCBl
eHBlY3RlZFZhbHVlcyA9IFsKKyAgICAgICAgWyJhbmltYXRpb24iLCAwLjAxLCAicmVjdCIsIHN0
YXJ0U2FtcGxlXSwKKyAgICAgICAgWyJhbmltYXRpb24iLCAwLjk5LCAicmVjdCIsIGVuZFNhbXBs
ZV0KKyAgICBdOworICAgIAorICAgIHJ1bkFuaW1hdGlvblRlc3QoZXhwZWN0ZWRWYWx1ZXMpOwor
fQorCit3aW5kb3cuc2V0VGltZW91dCgidHJpZ2dlclVwZGF0ZSgxMCwgNDApIiwgMCk7Cit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95441</attachid>
            <date>2011-05-31 09:14:19 -0700</date>
            <delta_ts>2011-05-31 11:56:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-34301-20110531121347.patch</filename>
            <type>text/plain</type>
            <size>15238</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg3NzMwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDUtMzEgIFJvYiBCdWlz
ICA8cmJ1aXNAcmltLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQzMDEK
KyAgICAgICAgQ3JlYXRpbmcgPGFuaW1hdGVNb3Rpb24+IGVsZW1lbnRzIHZpYSBqYXZhc2NyaXB0
IGRvIG5vdCBleGVjdXRlCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3MDQzCisgICAgICAgIFNWRyBtaXNzaW5nIHNvbWUgLmlkbCBmaWxlcworCisg
ICAgICAgIEFkZCBtaXNzaW5nIGlkbCBmaWxlcy4KKworICAgICAgICBUZXN0OiBzdmcvYW5pbWF0
aW9ucy9hbmltYXRlLW1wYXRoLWluc2VydC5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKKyAgICAgICAgKiBDb2RlR2VuZXJhdG9ycy5wcmk6CisgICAgICAgICogV2ViQ29yZS5neXBp
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBzdmcvU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBzdmcv
U1ZHTVBhdGhFbGVtZW50LmlkbDogQWRkZWQuCisKIDIwMTEtMDUtMzEgIEFuZHJlYXMgS2xpbmcg
IDxrbGluZ0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3Rv
LgpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDg3NzI1KQorKysgU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE3ODEsNiArMTc4MSw3IEBA
IElGIChFTkFCTEVfU1ZHKQogICAgICAgICBzdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmlkbAogICAg
ICAgICBzdmcvU1ZHQW5nbGUuaWRsCiAgICAgICAgIHN2Zy9TVkdBbmltYXRlQ29sb3JFbGVtZW50
LmlkbAorICAgICAgICBzdmcvU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuaWRsCiAgICAgICAgIHN2
Zy9TVkdBbmltYXRlRWxlbWVudC5pZGwKICAgICAgICAgc3ZnL1NWR0FuaW1hdGVUcmFuc2Zvcm1F
bGVtZW50LmlkbAogICAgICAgICBzdmcvU1ZHQW5pbWF0ZWRBbmdsZS5pZGwKQEAgLTE4NTYsNiAr
MTg1Nyw3IEBAIElGIChFTkFCTEVfU1ZHKQogICAgICAgICBzdmcvU1ZHTWF0cml4LmlkbAogICAg
ICAgICBzdmcvU1ZHTWV0YWRhdGFFbGVtZW50LmlkbAogICAgICAgICBzdmcvU1ZHTWlzc2luZ0ds
eXBoRWxlbWVudC5pZGwKKyAgICAgICAgc3ZnL1NWR01QYXRoRWxlbWVudC5pZGwKICAgICAgICAg
c3ZnL1NWR051bWJlci5pZGwKICAgICAgICAgc3ZnL1NWR051bWJlckxpc3QuaWRsCiAgICAgICAg
IHN2Zy9TVkdQYWludC5pZGwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnBy
aQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkJKHJldmlz
aW9uIDg3NzI1KQorKysgU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCSh3b3JraW5n
IGNvcHkpCkBAIC0zODksNiArMzg5LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBzdmcvU1ZH
QWx0R2x5cGhFbGVtZW50LmlkbCBcCiAgICAgc3ZnL1NWR0FuZ2xlLmlkbCBcCiAgICAgc3ZnL1NW
R0FuaW1hdGVDb2xvckVsZW1lbnQuaWRsIFwKKyAgICBzdmcvU1ZHQW5pbWF0ZU1vdGlvbkVsZW1l
bnQuaWRsIFwKICAgICBzdmcvU1ZHQW5pbWF0ZWRBbmdsZS5pZGwgXAogICAgIHN2Zy9TVkdBbmlt
YXRlZEJvb2xlYW4uaWRsIFwKICAgICBzdmcvU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5pZGwgXApA
QCAtNDY0LDYgKzQ2NSw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgc3ZnL1NWR01hdHJpeC5p
ZGwgXAogICAgIHN2Zy9TVkdNZXRhZGF0YUVsZW1lbnQuaWRsIFwKICAgICBzdmcvU1ZHTWlzc2lu
Z0dseXBoRWxlbWVudC5pZGwgXAorICAgIHN2Zy9TVkdNUGF0aEVsZW1lbnQuaWRsIFwKICAgICBz
dmcvU1ZHTnVtYmVyLmlkbCBcCiAgICAgc3ZnL1NWR051bWJlckxpc3QuaWRsIFwKICAgICBzdmcv
U1ZHUGFpbnQuaWRsIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDg3NzI1KQorKysg
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0xNDU4LDYgKzE0
NTgsNyBAQAogICAgICAgICAgICAgJ3N2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuaWRsJywKICAgICAg
ICAgICAgICdzdmcvU1ZHQW5nbGUuaWRsJywKICAgICAgICAgICAgICdzdmcvU1ZHQW5pbWF0ZUNv
bG9yRWxlbWVudC5pZGwnLAorICAgICAgICAgICAgJ3N2Zy9TVkdBbmltYXRlTW90aW9uRWxlbWVu
dC5pZGwnLAogICAgICAgICAgICAgJ3N2Zy9TVkdBbmltYXRlRWxlbWVudC5pZGwnLAogICAgICAg
ICAgICAgJ3N2Zy9TVkdBbmltYXRlVHJhbnNmb3JtRWxlbWVudC5pZGwnLAogICAgICAgICAgICAg
J3N2Zy9TVkdBbmltYXRlZEFuZ2xlLmlkbCcsCkBAIC0xNTM4LDYgKzE1MzksNyBAQAogICAgICAg
ICAgICAgJ3N2Zy9TVkdNYXRyaXguaWRsJywKICAgICAgICAgICAgICdzdmcvU1ZHTWV0YWRhdGFF
bGVtZW50LmlkbCcsCiAgICAgICAgICAgICAnc3ZnL1NWR01pc3NpbmdHbHlwaEVsZW1lbnQuaWRs
JywKKyAgICAgICAgICAgICdzdmcvU1ZHTVBhdGhFbGVtZW50LmlkbCcsCiAgICAgICAgICAgICAn
c3ZnL1NWR051bWJlci5pZGwnLAogICAgICAgICAgICAgJ3N2Zy9TVkdOdW1iZXJMaXN0LmlkbCcs
CiAgICAgICAgICAgICAnc3ZnL1NWR1BhaW50LmlkbCcsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA4NzcyNSkK
KysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtOTgyLDYgKzk4Miw4IEBACiAJCTQ0OUIxOUY1MEZBNzJFQ0UwMDE1Q0E0
QSAvKiBIVE1MUGFyc2VyUXVpcmtzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0NDlCMTlGMzBGQTcyRUNFMDAxNUNBNEEgLyogSFRNTFBhcnNlclF1aXJr
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ0
QTI4QUFDMTJERkI4QUMwMEFFOTIzQiAvKiBNYXRoTUxFbGVtZW50RmFjdG9yeS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRBMjhBQUIxMkRGQjhBQzAw
QUU5MjNCIC8qIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmggKi87IH07CiAJCTQ0QTI4QUFGMTJERkI4
QkYwMEFFOTIzQiAvKiBNYXRoTUxOYW1lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDRBMjhBQUUxMkRGQjhCRjAwQUU5MjNCIC8qIE1hdGhNTE5hbWVz
LmggKi87IH07CisJCTQ0RDhEQTk5MTM5NTQ1QkUwMDMzN0I3NSAvKiBTVkdNUGF0aEVsZW1lbnQu
aWRsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEQ4
REE5ODEzOTU0NUJFMDAzMzdCNzUgLyogU1ZHTVBhdGhFbGVtZW50LmlkbCAqLzsgfTsKKwkJNDRE
OERBOUIxMzk1NDVDRDAwMzM3Qjc1IC8qIFNWR0FuaW1hdGVNb3Rpb25FbGVtZW50LmlkbCBpbiBS
ZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDREOERBOUExMzk1
NDVDRDAwMzM3Qjc1IC8qIFNWR0FuaW1hdGVNb3Rpb25FbGVtZW50LmlkbCAqLzsgfTsKIAkJNDUw
OTlDNDExMzcwQTc4MDAwNThENTEzIC8qIEljb25VUkwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDUwOTlDNDAxMzcwQTc4MDAwNThENTEzIC8qIElj
b25VUkwuY3BwICovOyB9OwogCQk0NUJBQzJCMDEzNjBCQkFCMDA1REEyNTggLyogSWNvblVSTC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDVCQUMyQUYx
MzYwQkJBQjAwNURBMjU4IC8qIEljb25VUkwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk0NjE0QTFGRTBCMjNBOEQ2MDA0NDZFMUMgLyogY29weUN1
cnNvci5wbmcgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ2MTRBMUZEMEIyM0E4RDYwMDQ0NkUxQyAvKiBjb3B5Q3Vyc29yLnBuZyAqLzsgfTsKQEAgLTc1
MjcsNiArNzUyOSw4IEBACiAJCTQ0OUIxOUYzMEZBNzJFQ0UwMDE1Q0E0QSAvKiBIVE1MUGFyc2Vy
UXVpcmtzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxQYXJzZXJRdWly
a3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRBMjhBQUIxMkRGQjhBQzAwQUU5
MjNCIC8qIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IE1hdGhNTEVsZW1lbnRGYWN0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQ0QTI4QUFFMTJERkI4QkYwMEFFOTIzQiAvKiBNYXRoTUxOYW1lcy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBNYXRoTUxOYW1lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0NEQ4REE5ODEzOTU0NUJFMDAzMzdCNzUgLyogU1ZHTVBhdGhFbGVtZW50Lmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTVkdNUGF0aEVsZW1lbnQuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk0NEQ4REE5QTEzOTU0NUNEMDAzMzdCNzUgLyogU1ZHQW5pbWF0
ZU1vdGlvbkVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFNWR0FuaW1hdGVNb3Rp
b25FbGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDUwOTlDNDAxMzcw
QTc4MDAwNThENTEzIC8qIEljb25VUkwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSWNvblVSTC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ1QkFD
MkFGMTM2MEJCQUIwMDVEQTI1OCAvKiBJY29uVVJMLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEljb25VUkwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDYxNEEx
RkQwQjIzQThENjAwNDQ2RTFDIC8qIGNvcHlDdXJzb3IucG5nICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2UucG5nOyBwYXRoID0gY29weUN1cnNv
ci5wbmc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzIyNyw2ICsxNzIzMSw4IEBA
CiAJCUIyMjI3N0NBMEQwMEJGMUUwMDcxQjc4MiAvKiBzdmcgKi8gPSB7CiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTQ0RDhEQTlBMTM5NTQ1Q0QwMDMzN0I3NSAvKiBT
VkdBbmltYXRlTW90aW9uRWxlbWVudC5pZGwgKi8sCisJCQkJNDREOERBOTgxMzk1NDVCRTAwMzM3
Qjc1IC8qIFNWR01QYXRoRWxlbWVudC5pZGwgKi8sCiAJCQkJRTQ2RTk3ODYwREFBRDYxQjAwNzFF
ODk0IC8qIGFuaW1hdGlvbiAqLywKIAkJCQlCMjU1OTg4NjBEMDBEOEI4MDBCQjgyNUMgLyogZ3Jh
cGhpY3MgKi8sCiAJCQkJMDgxQ0RGQkQxMjZFQ0ZFODAwRDIxNUNBIC8qIHByb3BlcnRpZXMgKi8s
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlTW90aW9uRWxlbWVudC5p
ZGwJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZU1vdGlvbkVs
ZW1lbnQuaWRsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJpZ2h0
IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDExLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworbW9kdWxlIHN2
ZyB7CisKKyAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVNWRyZTVkdfQU5JTUFUSU9OXSBTVkdB
bmltYXRlTW90aW9uRWxlbWVudCA6IFNWR0FuaW1hdGlvbkVsZW1lbnQgeworICAgIH07CisKK30K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNUGF0aEVsZW1lbnQuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNUGF0aEVsZW1lbnQuaWRsCShyZXZpc2lvbiAwKQor
KysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR01QYXRoRWxlbWVudC5pZGwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBM
aW1pdGVkIDIwMTEuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKyAqLworCittb2R1bGUgc3ZnIHsKKworICAgIGludGVyZmFjZSBbQ29u
ZGl0aW9uYWw9U1ZHJlNWR19BTklNQVRJT05dIFNWR01QYXRoRWxlbWVudCA6IFNWR0VsZW1lbnQs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgU1ZHVVJJUmVmZXJlbmNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQgeworICAgIH07CisKK30KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDg3NzMwKQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDUt
MzEgIFJvYiBCdWlzICA8cmJ1aXNAcmltLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MzQzMDEKKyAgICAgICAgQ3JlYXRpbmcgPGFuaW1hdGVNb3Rpb24+IGVsZW1lbnRzIHZp
YSBqYXZhc2NyaXB0IGRvIG5vdCBleGVjdXRlCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDQzCisgICAgICAgIFNWRyBtaXNzaW5nIHNvbWUgLmlk
bCBmaWxlcworCisgICAgICAgIFZlcmlmeSB0aGF0IGFkZGluZyBtcGF0aCB2aWEgamF2YXNjcmlw
dCB3b3Jrcy4KKworICAgICAgICAqIHN2Zy9hbmltYXRpb25zL2FuaW1hdGUtbXBhdGgtaW5zZXJ0
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1t
cGF0aC1pbnNlcnQuaHRtbDogQWRkZWQuCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvc2NyaXB0
LXRlc3RzL2FuaW1hdGUtbXBhdGgtaW5zZXJ0LmpzOiBBZGRlZC4KKyAgICAgICAgKG1wYXRoLnNl
dEF0dHJpYnV0ZU5TLmFuaW1hdGVNb3Rpb24uYXBwZW5kQ2hpbGQuZy5hcHBlbmRDaGlsZC5yb290
U1ZHRWxlbWVudC5hcHBlbmRDaGlsZC5wYXNzSWZDbG9zZUVub3VnaCk6CisgICAgICAgIChzdGFy
dFNhbXBsZSk6CisgICAgICAgIChlbmRTYW1wbGUpOgorICAgICAgICAoZXhlY3V0ZVRlc3QpOgor
CiAyMDExLTA1LTMxICBBbmRyZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9hbmlt
YXRpb25zL2FuaW1hdGUtbXBhdGgtaW5zZXJ0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1wYXRoLWluc2VydC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1w
YXRoLWluc2VydC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTUgQEAKK1NW
RyAxLjEgZHluYW1pYyBhbmltYXRpb24gdGVzdHMKKwordGVzdCB0byBkZXRlcm1pbmUgd2hldGhl
ciBpbnNlcnRpbmcgbXBhdGggZHluYW1pY2FsbHkgd29ya3MKKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1Mgcm9vdFNWR0VsZW1lbnQuZ2V0QkJveCgpLnggaXMgYWxtb3N0IDEw
MCAod2l0aGluIDUpCitQQVNTIHJvb3RTVkdFbGVtZW50LmdldEJCb3goKS55IGlzIGFsbW9zdCAy
NTAgKHdpdGhpbiA1KQorUEFTUyByb290U1ZHRWxlbWVudC5nZXRCQm94KCkueCBpcyBhbG1vc3Qg
NDAwICh3aXRoaW4gNSkKK1BBU1Mgcm9vdFNWR0VsZW1lbnQuZ2V0QkJveCgpLnkgaXMgYWxtb3N0
IDI1MCAod2l0aGluIDUpCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tcGF0
aC1pbnNlcnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9h
bmltYXRlLW1wYXRoLWluc2VydC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3Zn
L2FuaW1hdGlvbnMvYW5pbWF0ZS1tcGF0aC1pbnNlcnQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSwxNSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR1Rlc3RDYXNlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvU1ZHQW5pbWF0aW9uVGVzdENhc2UuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8aDE+U1ZHIDEuMSBkeW5hbWljIGFuaW1hdGlvbiB0ZXN0czwvaDE+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCBzcmM9InNjcmlwdC10ZXN0cy9hbmltYXRlLW1wYXRoLWluc2VydC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zY3Jp
cHQtdGVzdHMvYW5pbWF0ZS1tcGF0aC1pbnNlcnQuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL2FuaW1hdGUtbXBhdGgtaW5zZXJ0LmpzCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL2Fu
aW1hdGUtbXBhdGgtaW5zZXJ0LmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDY2IEBACitkZXNj
cmlwdGlvbigidGVzdCB0byBkZXRlcm1pbmUgd2hldGhlciBpbnNlcnRpbmcgbXBhdGggZHluYW1p
Y2FsbHkgd29ya3MiKTsKK2NyZWF0ZVNWR1Rlc3RDYXNlKCk7CisKK3Jvb3RTVkdFbGVtZW50LnNl
dEF0dHJpYnV0ZSgid2lkdGgiLCA4MDApCisKK3ZhciBkZWZzID0gY3JlYXRlU1ZHRWxlbWVudCgi
ZGVmcyIpCit2YXIgcGF0aCA9IGNyZWF0ZVNWR0VsZW1lbnQoInBhdGgiKQorcGF0aC5zZXRBdHRy
aWJ1dGUoImlkIiwgInBhdGgiKQorcGF0aC5zZXRBdHRyaWJ1dGUoImQiLCAiTSAxMDAsMjUwIEMg
MTAwLDUwIDQwMCw1MCA0MDAsMjUwIikKK2RlZnMuYXBwZW5kQ2hpbGQocGF0aCkKK3Jvb3RTVkdF
bGVtZW50LmFwcGVuZENoaWxkKGRlZnMpCisKK3ZhciBnID0gY3JlYXRlU1ZHRWxlbWVudCgiZyIp
CisKK3ZhciByZWN0ID0gY3JlYXRlU1ZHRWxlbWVudCgicmVjdCIpCityZWN0LnNldEF0dHJpYnV0
ZSgiaWQiLCAicmVjdCIpCityZWN0LnNldEF0dHJpYnV0ZSgid2lkdGgiLCAiNDAiKQorcmVjdC5z
ZXRBdHRyaWJ1dGUoImhlaWdodCIsICI0MCIpCityZWN0LnNldEF0dHJpYnV0ZSgiZmlsbCIsICJn
cmVlbiIpCityZWN0LnNldEF0dHJpYnV0ZSgib25jbGljayIsICJleGVjdXRlVGVzdCgpIikKK2cu
YXBwZW5kQ2hpbGQocmVjdCkKKwordmFyIGFuaW1hdGVNb3Rpb24gPSBjcmVhdGVTVkdFbGVtZW50
KCJhbmltYXRlTW90aW9uIikKK2FuaW1hdGVNb3Rpb24uc2V0QXR0cmlidXRlKCJpZCIsICJhbmlt
YXRpb24iKQorYW5pbWF0ZU1vdGlvbi5zZXRBdHRyaWJ1dGUoImR1ciIsICIxcyIpCithbmltYXRl
TW90aW9uLnNldEF0dHJpYnV0ZSgicmVwZWF0Q291bnQiLCAiMSIpCithbmltYXRlTW90aW9uLnNl
dEF0dHJpYnV0ZSgiYmVnaW4iLCAiY2xpY2siKQorCit2YXIgbXBhdGggPSBjcmVhdGVTVkdFbGVt
ZW50KCJtcGF0aCIpOworbXBhdGguc2V0QXR0cmlidXRlTlMoeGxpbmtOUywgInhsaW5rOmhyZWYi
LCAiI3BhdGgiKQorYW5pbWF0ZU1vdGlvbi5hcHBlbmRDaGlsZChtcGF0aCkKKworZy5hcHBlbmRD
aGlsZChhbmltYXRlTW90aW9uKQorcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQoZykKKworZnVu
Y3Rpb24gcGFzc0lmQ2xvc2VFbm91Z2gobmFtZSwgdmFsdWUsIGVycm9yKSB7CisgICAgcGFzc2Vk
ID0gaXNDbG9zZUVub3VnaChldmFsKG5hbWUpLCB2YWx1ZSwgZXJyb3IpOworICAgIGlmIChwYXNz
ZWQpIHsKKyAgICAgICAgdGVzdFBhc3NlZChuYW1lICsgIiBpcyBhbG1vc3QgIiArIHZhbHVlICsg
IiAod2l0aGluICIgKyBlcnJvciArICIpIik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgdGVzdEZh
aWxlZChuYW1lICsgIiBpcyAiICsgZXZhbChuYW1lKSArICIgYnV0IHNob3VsZCBiZSB3aXRoaW4g
IiArIGVycm9yICsgIiBvZiAiICsgdmFsdWUpOyAgCisgICAgfQorfQorCitmdW5jdGlvbiBzdGFy
dFNhbXBsZSgpIHsKKyAgICBwYXNzSWZDbG9zZUVub3VnaCgicm9vdFNWR0VsZW1lbnQuZ2V0QkJv
eCgpLngiLCAxMDAsIDUpOworICAgIHBhc3NJZkNsb3NlRW5vdWdoKCJyb290U1ZHRWxlbWVudC5n
ZXRCQm94KCkueSIsIDI1MCwgNSk7Cit9CisKK2Z1bmN0aW9uIGVuZFNhbXBsZSgpIHsKKyAgICBw
YXNzSWZDbG9zZUVub3VnaCgicm9vdFNWR0VsZW1lbnQuZ2V0QkJveCgpLngiLCA0MDAsIDUpOwor
ICAgIHBhc3NJZkNsb3NlRW5vdWdoKCJyb290U1ZHRWxlbWVudC5nZXRCQm94KCkueSIsIDI1MCwg
NSk7Cit9CisKK2Z1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgeworICAgIGNvbnN0IGV4cGVjdGVkVmFs
dWVzID0gWworICAgICAgICBbImFuaW1hdGlvbiIsIDAuMDEsICJyZWN0Iiwgc3RhcnRTYW1wbGVd
LAorICAgICAgICBbImFuaW1hdGlvbiIsIDEuMDAsICJyZWN0IiwgZW5kU2FtcGxlXQorICAgIF07
CisgICAgCisgICAgcnVuQW5pbWF0aW9uVGVzdChleHBlY3RlZFZhbHVlcyk7Cit9CisKK3dpbmRv
dy5zZXRUaW1lb3V0KCJ0cmlnZ2VyVXBkYXRlKDEwLCA0MCkiLCAwKTsKK3ZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOworCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95457</attachid>
            <date>2011-05-31 11:56:35 -0700</date>
            <delta_ts>2011-06-02 14:16:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-34301-20110531145603.patch</filename>
            <type>text/plain</type>
            <size>14850</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg3NzMwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDUtMzEgIFJvYiBCdWlz
ICA8cmJ1aXNAcmltLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQzMDEK
KyAgICAgICAgQ3JlYXRpbmcgPGFuaW1hdGVNb3Rpb24+IGVsZW1lbnRzIHZpYSBqYXZhc2NyaXB0
IGRvIG5vdCBleGVjdXRlCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3MDQzCisgICAgICAgIFNWRyBtaXNzaW5nIHNvbWUgLmlkbCBmaWxlcworCisg
ICAgICAgIEFkZCBtaXNzaW5nIGlkbCBmaWxlcy4KKworICAgICAgICBUZXN0OiBzdmcvYW5pbWF0
aW9ucy9hbmltYXRlLW1wYXRoLWluc2VydC5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKKyAgICAgICAgKiBDb2RlR2VuZXJhdG9ycy5wcmk6CisgICAgICAgICogV2ViQ29yZS5neXBp
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBzdmcvU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBzdmcv
U1ZHTVBhdGhFbGVtZW50LmlkbDogQWRkZWQuCisKIDIwMTEtMDUtMzEgIEFuZHJlYXMgS2xpbmcg
IDxrbGluZ0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3Rv
LgpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDg3NzI1KQorKysgU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE3ODEsNiArMTc4MSw3IEBA
IElGIChFTkFCTEVfU1ZHKQogICAgICAgICBzdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmlkbAogICAg
ICAgICBzdmcvU1ZHQW5nbGUuaWRsCiAgICAgICAgIHN2Zy9TVkdBbmltYXRlQ29sb3JFbGVtZW50
LmlkbAorICAgICAgICBzdmcvU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuaWRsCiAgICAgICAgIHN2
Zy9TVkdBbmltYXRlRWxlbWVudC5pZGwKICAgICAgICAgc3ZnL1NWR0FuaW1hdGVUcmFuc2Zvcm1F
bGVtZW50LmlkbAogICAgICAgICBzdmcvU1ZHQW5pbWF0ZWRBbmdsZS5pZGwKQEAgLTE4NTYsNiAr
MTg1Nyw3IEBAIElGIChFTkFCTEVfU1ZHKQogICAgICAgICBzdmcvU1ZHTWF0cml4LmlkbAogICAg
ICAgICBzdmcvU1ZHTWV0YWRhdGFFbGVtZW50LmlkbAogICAgICAgICBzdmcvU1ZHTWlzc2luZ0ds
eXBoRWxlbWVudC5pZGwKKyAgICAgICAgc3ZnL1NWR01QYXRoRWxlbWVudC5pZGwKICAgICAgICAg
c3ZnL1NWR051bWJlci5pZGwKICAgICAgICAgc3ZnL1NWR051bWJlckxpc3QuaWRsCiAgICAgICAg
IHN2Zy9TVkdQYWludC5pZGwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NvZGVHZW5lcmF0b3JzLnBy
aQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Db2RlR2VuZXJhdG9ycy5wcmkJKHJldmlz
aW9uIDg3NzI1KQorKysgU291cmNlL1dlYkNvcmUvQ29kZUdlbmVyYXRvcnMucHJpCSh3b3JraW5n
IGNvcHkpCkBAIC0zODksNiArMzg5LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICBzdmcvU1ZH
QWx0R2x5cGhFbGVtZW50LmlkbCBcCiAgICAgc3ZnL1NWR0FuZ2xlLmlkbCBcCiAgICAgc3ZnL1NW
R0FuaW1hdGVDb2xvckVsZW1lbnQuaWRsIFwKKyAgICBzdmcvU1ZHQW5pbWF0ZU1vdGlvbkVsZW1l
bnQuaWRsIFwKICAgICBzdmcvU1ZHQW5pbWF0ZWRBbmdsZS5pZGwgXAogICAgIHN2Zy9TVkdBbmlt
YXRlZEJvb2xlYW4uaWRsIFwKICAgICBzdmcvU1ZHQW5pbWF0ZWRFbnVtZXJhdGlvbi5pZGwgXApA
QCAtNDY0LDYgKzQ2NSw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgc3ZnL1NWR01hdHJpeC5p
ZGwgXAogICAgIHN2Zy9TVkdNZXRhZGF0YUVsZW1lbnQuaWRsIFwKICAgICBzdmcvU1ZHTWlzc2lu
Z0dseXBoRWxlbWVudC5pZGwgXAorICAgIHN2Zy9TVkdNUGF0aEVsZW1lbnQuaWRsIFwKICAgICBz
dmcvU1ZHTnVtYmVyLmlkbCBcCiAgICAgc3ZnL1NWR051bWJlckxpc3QuaWRsIFwKICAgICBzdmcv
U1ZHUGFpbnQuaWRsIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDg3NzI1KQorKysg
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0xNDU4LDYgKzE0
NTgsNyBAQAogICAgICAgICAgICAgJ3N2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuaWRsJywKICAgICAg
ICAgICAgICdzdmcvU1ZHQW5nbGUuaWRsJywKICAgICAgICAgICAgICdzdmcvU1ZHQW5pbWF0ZUNv
bG9yRWxlbWVudC5pZGwnLAorICAgICAgICAgICAgJ3N2Zy9TVkdBbmltYXRlTW90aW9uRWxlbWVu
dC5pZGwnLAogICAgICAgICAgICAgJ3N2Zy9TVkdBbmltYXRlRWxlbWVudC5pZGwnLAogICAgICAg
ICAgICAgJ3N2Zy9TVkdBbmltYXRlVHJhbnNmb3JtRWxlbWVudC5pZGwnLAogICAgICAgICAgICAg
J3N2Zy9TVkdBbmltYXRlZEFuZ2xlLmlkbCcsCkBAIC0xNTM4LDYgKzE1MzksNyBAQAogICAgICAg
ICAgICAgJ3N2Zy9TVkdNYXRyaXguaWRsJywKICAgICAgICAgICAgICdzdmcvU1ZHTWV0YWRhdGFF
bGVtZW50LmlkbCcsCiAgICAgICAgICAgICAnc3ZnL1NWR01pc3NpbmdHbHlwaEVsZW1lbnQuaWRs
JywKKyAgICAgICAgICAgICdzdmcvU1ZHTVBhdGhFbGVtZW50LmlkbCcsCiAgICAgICAgICAgICAn
c3ZnL1NWR051bWJlci5pZGwnLAogICAgICAgICAgICAgJ3N2Zy9TVkdOdW1iZXJMaXN0LmlkbCcs
CiAgICAgICAgICAgICAnc3ZnL1NWR1BhaW50LmlkbCcsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA4NzcyNSkK
KysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtOTgyLDYgKzk4Miw4IEBACiAJCTQ0OUIxOUY1MEZBNzJFQ0UwMDE1Q0E0
QSAvKiBIVE1MUGFyc2VyUXVpcmtzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0NDlCMTlGMzBGQTcyRUNFMDAxNUNBNEEgLyogSFRNTFBhcnNlclF1aXJr
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ0
QTI4QUFDMTJERkI4QUMwMEFFOTIzQiAvKiBNYXRoTUxFbGVtZW50RmFjdG9yeS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRBMjhBQUIxMkRGQjhBQzAw
QUU5MjNCIC8qIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmggKi87IH07CiAJCTQ0QTI4QUFGMTJERkI4
QkYwMEFFOTIzQiAvKiBNYXRoTUxOYW1lcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDRBMjhBQUUxMkRGQjhCRjAwQUU5MjNCIC8qIE1hdGhNTE5hbWVz
LmggKi87IH07CisJCTQ0RDhEQTk5MTM5NTQ1QkUwMDMzN0I3NSAvKiBTVkdNUGF0aEVsZW1lbnQu
aWRsIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEQ4
REE5ODEzOTU0NUJFMDAzMzdCNzUgLyogU1ZHTVBhdGhFbGVtZW50LmlkbCAqLzsgfTsKKwkJNDRE
OERBOUIxMzk1NDVDRDAwMzM3Qjc1IC8qIFNWR0FuaW1hdGVNb3Rpb25FbGVtZW50LmlkbCBpbiBS
ZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDREOERBOUExMzk1
NDVDRDAwMzM3Qjc1IC8qIFNWR0FuaW1hdGVNb3Rpb25FbGVtZW50LmlkbCAqLzsgfTsKIAkJNDUw
OTlDNDExMzcwQTc4MDAwNThENTEzIC8qIEljb25VUkwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDUwOTlDNDAxMzcwQTc4MDAwNThENTEzIC8qIElj
b25VUkwuY3BwICovOyB9OwogCQk0NUJBQzJCMDEzNjBCQkFCMDA1REEyNTggLyogSWNvblVSTC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDVCQUMyQUYx
MzYwQkJBQjAwNURBMjU4IC8qIEljb25VUkwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk0NjE0QTFGRTBCMjNBOEQ2MDA0NDZFMUMgLyogY29weUN1
cnNvci5wbmcgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ2MTRBMUZEMEIyM0E4RDYwMDQ0NkUxQyAvKiBjb3B5Q3Vyc29yLnBuZyAqLzsgfTsKQEAgLTc1
MjcsNiArNzUyOSw4IEBACiAJCTQ0OUIxOUYzMEZBNzJFQ0UwMDE1Q0E0QSAvKiBIVE1MUGFyc2Vy
UXVpcmtzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxQYXJzZXJRdWly
a3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRBMjhBQUIxMkRGQjhBQzAwQUU5
MjNCIC8qIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IE1hdGhNTEVsZW1lbnRGYWN0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQ0QTI4QUFFMTJERkI4QkYwMEFFOTIzQiAvKiBNYXRoTUxOYW1lcy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBNYXRoTUxOYW1lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0NEQ4REE5ODEzOTU0NUJFMDAzMzdCNzUgLyogU1ZHTVBhdGhFbGVtZW50Lmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTVkdNUGF0aEVsZW1lbnQuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk0NEQ4REE5QTEzOTU0NUNEMDAzMzdCNzUgLyogU1ZHQW5pbWF0
ZU1vdGlvbkVsZW1lbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFNWR0FuaW1hdGVNb3Rp
b25FbGVtZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDUwOTlDNDAxMzcw
QTc4MDAwNThENTEzIC8qIEljb25VUkwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSWNvblVSTC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ1QkFD
MkFGMTM2MEJCQUIwMDVEQTI1OCAvKiBJY29uVVJMLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEljb25VUkwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDYxNEEx
RkQwQjIzQThENjAwNDQ2RTFDIC8qIGNvcHlDdXJzb3IucG5nICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2UucG5nOyBwYXRoID0gY29weUN1cnNv
ci5wbmc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzIyNyw2ICsxNzIzMSw4IEBA
CiAJCUIyMjI3N0NBMEQwMEJGMUUwMDcxQjc4MiAvKiBzdmcgKi8gPSB7CiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTQ0RDhEQTlBMTM5NTQ1Q0QwMDMzN0I3NSAvKiBT
VkdBbmltYXRlTW90aW9uRWxlbWVudC5pZGwgKi8sCisJCQkJNDREOERBOTgxMzk1NDVCRTAwMzM3
Qjc1IC8qIFNWR01QYXRoRWxlbWVudC5pZGwgKi8sCiAJCQkJRTQ2RTk3ODYwREFBRDYxQjAwNzFF
ODk0IC8qIGFuaW1hdGlvbiAqLywKIAkJCQlCMjU1OTg4NjBEMDBEOEI4MDBCQjgyNUMgLyogZ3Jh
cGhpY3MgKi8sCiAJCQkJMDgxQ0RGQkQxMjZFQ0ZFODAwRDIxNUNBIC8qIHByb3BlcnRpZXMgKi8s
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlTW90aW9uRWxlbWVudC5p
ZGwJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZU1vdGlvbkVs
ZW1lbnQuaWRsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJpZ2h0
IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDExLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworbW9kdWxlIHN2
ZyB7CisKKyAgICBpbnRlcmZhY2UgW0NvbmRpdGlvbmFsPVNWRyZTVkdfQU5JTUFUSU9OXSBTVkdB
bmltYXRlTW90aW9uRWxlbWVudCA6IFNWR0FuaW1hdGlvbkVsZW1lbnQgeworICAgIH07CisKK30K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNUGF0aEVsZW1lbnQuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdNUGF0aEVsZW1lbnQuaWRsCShyZXZpc2lvbiAwKQor
KysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR01QYXRoRWxlbWVudC5pZGwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBM
aW1pdGVkIDIwMTEuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKKyAqLworCittb2R1bGUgc3ZnIHsKKworICAgIGludGVyZmFjZSBbQ29u
ZGl0aW9uYWw9U1ZHJlNWR19BTklNQVRJT05dIFNWR01QYXRoRWxlbWVudCA6IFNWR0VsZW1lbnQs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgU1ZHVVJJUmVmZXJlbmNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVx
dWlyZWQgeworICAgIH07CisKK30KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDg3NzMwKQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDUt
MzEgIFJvYiBCdWlzICA8cmJ1aXNAcmltLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MzQzMDEKKyAgICAgICAgQ3JlYXRpbmcgPGFuaW1hdGVNb3Rpb24+IGVsZW1lbnRzIHZp
YSBqYXZhc2NyaXB0IGRvIG5vdCBleGVjdXRlCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDQzCisgICAgICAgIFNWRyBtaXNzaW5nIHNvbWUgLmlk
bCBmaWxlcworCisgICAgICAgIFZlcmlmeSB0aGF0IGFkZGluZyBtcGF0aCB2aWEgamF2YXNjcmlw
dCB3b3Jrcy4KKworICAgICAgICAqIHN2Zy9hbmltYXRpb25zL2FuaW1hdGUtbXBhdGgtaW5zZXJ0
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1t
cGF0aC1pbnNlcnQuaHRtbDogQWRkZWQuCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvc2NyaXB0
LXRlc3RzL2FuaW1hdGUtbXBhdGgtaW5zZXJ0LmpzOiBBZGRlZC4KKyAgICAgICAgKG1wYXRoLnNl
dEF0dHJpYnV0ZU5TLmFuaW1hdGVNb3Rpb24uYXBwZW5kQ2hpbGQuZy5hcHBlbmRDaGlsZC5yb290
U1ZHRWxlbWVudC5hcHBlbmRDaGlsZC5wYXNzSWZDbG9zZUVub3VnaCk6CisgICAgICAgIChzdGFy
dFNhbXBsZSk6CisgICAgICAgIChlbmRTYW1wbGUpOgorICAgICAgICAoZXhlY3V0ZVRlc3QpOgor
CiAyMDExLTA1LTMxICBBbmRyZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9hbmlt
YXRpb25zL2FuaW1hdGUtbXBhdGgtaW5zZXJ0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1wYXRoLWluc2VydC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1w
YXRoLWluc2VydC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTUgQEAKK1NW
RyAxLjEgZHluYW1pYyBhbmltYXRpb24gdGVzdHMKKwordGVzdCB0byBkZXRlcm1pbmUgd2hldGhl
ciBpbnNlcnRpbmcgbXBhdGggZHluYW1pY2FsbHkgd29ya3MKKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1Mgcm9vdFNWR0VsZW1lbnQuZ2V0QkJveCgpLnggaXMgMTAwCitQQVNT
IHJvb3RTVkdFbGVtZW50LmdldEJCb3goKS55IGlzIDI1MAorUEFTUyByb290U1ZHRWxlbWVudC5n
ZXRCQm94KCkueCBpcyA0MDAKK1BBU1Mgcm9vdFNWR0VsZW1lbnQuZ2V0QkJveCgpLnkgaXMgMjUw
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRl
eDogTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1tcGF0aC1pbnNlcnQuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLW1wYXRoLWlu
c2VydC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5p
bWF0ZS1tcGF0aC1pbnNlcnQuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNSBAQAorPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVh
ZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9keW5hbWljLXVwZGF0
ZXMvcmVzb3VyY2VzL1NWR1Rlc3RDYXNlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvU1ZHQW5pbWF0aW9uVGVzdENhc2UuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8aDE+U1ZHIDEuMSBkeW5hbWljIGFuaW1hdGlvbiB0ZXN0czwvaDE+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlw
dC10ZXN0cy9hbmltYXRlLW1wYXRoLWluc2VydC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvYW5pbWF0
ZS1tcGF0aC1pbnNlcnQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlv
bnMvc2NyaXB0LXRlc3RzL2FuaW1hdGUtbXBhdGgtaW5zZXJ0LmpzCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL2FuaW1hdGUtbXBhdGgtaW5z
ZXJ0LmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU3IEBACitkZXNjcmlwdGlvbigidGVzdCB0
byBkZXRlcm1pbmUgd2hldGhlciBpbnNlcnRpbmcgbXBhdGggZHluYW1pY2FsbHkgd29ya3MiKTsK
K2NyZWF0ZVNWR1Rlc3RDYXNlKCk7CisKK3Jvb3RTVkdFbGVtZW50LnNldEF0dHJpYnV0ZSgid2lk
dGgiLCA4MDApCisKK3ZhciBkZWZzID0gY3JlYXRlU1ZHRWxlbWVudCgiZGVmcyIpCit2YXIgcGF0
aCA9IGNyZWF0ZVNWR0VsZW1lbnQoInBhdGgiKQorcGF0aC5zZXRBdHRyaWJ1dGUoImlkIiwgInBh
dGgiKQorcGF0aC5zZXRBdHRyaWJ1dGUoImQiLCAiTSAxMDAsMjUwIEMgMTAwLDUwIDQwMCw1MCA0
MDAsMjUwIikKK2RlZnMuYXBwZW5kQ2hpbGQocGF0aCkKK3Jvb3RTVkdFbGVtZW50LmFwcGVuZENo
aWxkKGRlZnMpCisKK3ZhciBnID0gY3JlYXRlU1ZHRWxlbWVudCgiZyIpCisKK3ZhciByZWN0ID0g
Y3JlYXRlU1ZHRWxlbWVudCgicmVjdCIpCityZWN0LnNldEF0dHJpYnV0ZSgiaWQiLCAicmVjdCIp
CityZWN0LnNldEF0dHJpYnV0ZSgid2lkdGgiLCAiNDAiKQorcmVjdC5zZXRBdHRyaWJ1dGUoImhl
aWdodCIsICI0MCIpCityZWN0LnNldEF0dHJpYnV0ZSgiZmlsbCIsICJncmVlbiIpCityZWN0LnNl
dEF0dHJpYnV0ZSgib25jbGljayIsICJleGVjdXRlVGVzdCgpIikKK2cuYXBwZW5kQ2hpbGQocmVj
dCkKKwordmFyIGFuaW1hdGVNb3Rpb24gPSBjcmVhdGVTVkdFbGVtZW50KCJhbmltYXRlTW90aW9u
IikKK2FuaW1hdGVNb3Rpb24uc2V0QXR0cmlidXRlKCJpZCIsICJhbmltYXRpb24iKQorYW5pbWF0
ZU1vdGlvbi5zZXRBdHRyaWJ1dGUoImR1ciIsICI0cyIpCithbmltYXRlTW90aW9uLnNldEF0dHJp
YnV0ZSgicmVwZWF0Q291bnQiLCAiMSIpCithbmltYXRlTW90aW9uLnNldEF0dHJpYnV0ZSgiYmVn
aW4iLCAiY2xpY2siKQorCit2YXIgbXBhdGggPSBjcmVhdGVTVkdFbGVtZW50KCJtcGF0aCIpOwor
bXBhdGguc2V0QXR0cmlidXRlTlMoeGxpbmtOUywgInhsaW5rOmhyZWYiLCAiI3BhdGgiKQorCith
bmltYXRlTW90aW9uLmFwcGVuZENoaWxkKG1wYXRoKQorZy5hcHBlbmRDaGlsZChhbmltYXRlTW90
aW9uKQorcm9vdFNWR0VsZW1lbnQuYXBwZW5kQ2hpbGQoZykKKworZnVuY3Rpb24gc3RhcnRTYW1w
bGUoKSB7CisgICAgc2hvdWxkQmVDbG9zZUVub3VnaCgicm9vdFNWR0VsZW1lbnQuZ2V0QkJveCgp
LngiLCAiMTAwIiwgNSk7CisgICAgc2hvdWxkQmVDbG9zZUVub3VnaCgicm9vdFNWR0VsZW1lbnQu
Z2V0QkJveCgpLnkiLCAiMjUwIiwgNSk7Cit9CisKK2Z1bmN0aW9uIGVuZFNhbXBsZSgpIHsKKyAg
ICBzaG91bGRCZUNsb3NlRW5vdWdoKCJyb290U1ZHRWxlbWVudC5nZXRCQm94KCkueCIsICI0MDAi
LCA1KTsKKyAgICBzaG91bGRCZUNsb3NlRW5vdWdoKCJyb290U1ZHRWxlbWVudC5nZXRCQm94KCku
eSIsICIyNTAiLCA1KTsKK30KKworZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7CisgICAgY29uc3Qg
ZXhwZWN0ZWRWYWx1ZXMgPSBbCisgICAgICAgIFsiYW5pbWF0aW9uIiwgMC4wMiwgInJlY3QiLCBz
dGFydFNhbXBsZV0sCisgICAgICAgIFsiYW5pbWF0aW9uIiwgMy45OSwgInJlY3QiLCBlbmRTYW1w
bGVdCisgICAgXTsKKyAgICAKKyAgICBydW5BbmltYXRpb25UZXN0KGV4cGVjdGVkVmFsdWVzKTsK
K30KKword2luZG93LnNldFRpbWVvdXQoInRyaWdnZXJVcGRhdGUoMTAsIDQwKSIsIDApOwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95808</attachid>
            <date>2011-06-02 14:16:38 -0700</date>
            <delta_ts>2011-06-03 00:56:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-34301-20110602171637.patch</filename>
            <type>text/plain</type>
            <size>23781</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg3OTQ5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDYtMDIgIFJvYiBCdWlz
ICA8cmJ1aXNAcmltLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBDcmVhdGluZyA8YW5pbWF0ZU1vdGlvbj4gZWxlbWVudHMgdmlhIGphdmFzY3Jp
cHQgZG8gbm90IGV4ZWN1dGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTM0MzAxCisKKyAgICAgICAgRW5hYmxlIGNvbnN0cnVjdG9ycyBmb3IgU1ZHTVBh
dGhFbGVtZW50IGFuZCBTVkdBbmltYXRlTW90aW9uRWxlbWVudC4KKworICAgICAgICAqIERlcml2
ZWRTb3VyY2VzLmNwcDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAq
IEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAq
IFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisKIDIw
MTEtMDYtMDIgIEFsb2sgUHJpeWFkYXJzaGkgIDxhbG9rcEBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMuY3BwCShyZXZpc2lvbiA4NzkwNikKKysrIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEyLDYgKzMxMiw3IEBACiAjaW5jbHVkZSAiSlNTVkdB
bmltYXRlZFN0cmluZy5jcHAiCiAjaW5jbHVkZSAiSlNTVkdBbmltYXRlZFRyYW5zZm9ybUxpc3Qu
Y3BwIgogI2luY2x1ZGUgIkpTU1ZHQW5pbWF0ZUVsZW1lbnQuY3BwIgorI2luY2x1ZGUgIkpTU1ZH
QW5pbWF0ZU1vdGlvbkVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTU1ZHQW5pbWF0ZVRyYW5zZm9y
bUVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTU1ZHQW5pbWF0aW9uRWxlbWVudC5jcHAiCiAjaW5j
bHVkZSAiSlNTVkdDaXJjbGVFbGVtZW50LmNwcCIKQEAgLTM2OSw2ICszNzAsNyBAQAogI2luY2x1
ZGUgIkpTU1ZHTGVuZ3RoTGlzdC5jcHAiCiAjaW5jbHVkZSAiSlNTVkdMaW5lYXJHcmFkaWVudEVs
ZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTU1ZHTGluZUVsZW1lbnQuY3BwIgorI2luY2x1ZGUgIkpT
U1ZHTVBhdGhFbGVtZW50LmNwcCIKICNpbmNsdWRlICJKU1NWR01hcmtlckVsZW1lbnQuY3BwIgog
I2luY2x1ZGUgIkpTU1ZHTWFza0VsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkpTU1ZHTWF0cml4LmNw
cCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gODc5MDYpCisr
KyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0z
NjgsNiArMzY4LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgU1ZHQW5nbGUgXAogICAgIFNWR0Fu
aW1hdGVDb2xvckVsZW1lbnQgXAogICAgIFNWR0FuaW1hdGVFbGVtZW50IFwKKyAgICBTVkdBbmlt
YXRlTW90aW9uRWxlbWVudCBcCiAgICAgU1ZHQW5pbWF0ZVRyYW5zZm9ybUVsZW1lbnQgXAogICAg
IFNWR0FuaW1hdGVkQW5nbGUgXAogICAgIFNWR0FuaW1hdGVkQm9vbGVhbiBcCkBAIC00NDcsNiAr
NDQ4LDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgU1ZHTWF0cml4IFwKICAgICBTVkdNZXRhZGF0
YUVsZW1lbnQgXAogICAgIFNWR01pc3NpbmdHbHlwaEVsZW1lbnQgXAorICAgIFNWR01QYXRoRWxl
bWVudCBcCiAgICAgU1ZHTnVtYmVyIFwKICAgICBTVkdOdW1iZXJMaXN0IFwKICAgICBTVkdQYWlu
dCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHJldmlzaW9uIDg3OTA2KQor
KysgU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkod29ya2luZyBjb3B5KQpAQCAt
NDE1MCw2ICs0MTUwLDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTU1ZHQW5pbWF0ZWRUcmFuc2Zvcm1MaXN0LmggXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNTVkdBbmltYXRlRWxlbWVudC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNTVkdBbmltYXRlRWxlbWVudC5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
U1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
U1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NW
R0FuaW1hdGVUcmFuc2Zvcm1FbGVtZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1NWR0FuaW1hdGVUcmFuc2Zvcm1FbGVtZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNTVkdBbmltYXRpb25FbGVtZW50LmNwcCBcCkBAIC00MjY4LDYgKzQyNzAsOCBAQCB3ZWJjb3Jl
X2J1aWx0X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTVkdMaW5lRWxl
bWVudC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTVkdMaW5lRWxlbWVudC5oIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1ZHTG9jYXRhYmxlLmggXAorCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNTVkdNUGF0aEVsZW1lbnQuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTU1ZHTVBhdGhFbGVtZW50LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTVkdN
YXJrZXJFbGVtZW50LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NWR01hcmtlckVs
ZW1lbnQuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NWR01hc2tFbGVtZW50LmNwcCBc
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lvbiA4NzkwNikKKysrIFNvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtNzQ4OCw2ICs3NDg4LDggQEAKICAgICAg
ICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1ZHQW5pbWF0
ZUNvbG9yRWxlbWVudC5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTU1ZHQW5pbWF0ZUVsZW1lbnQuY3BwJywKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1ZHQW5pbWF0ZUVsZW1lbnQuaCcs
CisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NW
R0FuaW1hdGVNb3Rpb25FbGVtZW50LmNwcCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NWR0FuaW1hdGVNb3Rpb25FbGVtZW50LmgnLAogICAg
ICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTVkdBbmlt
YXRlVHJhbnNmb3JtRWxlbWVudC5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTVkdBbmltYXRlVHJhbnNmb3JtRWxlbWVudC5oJywKICAg
ICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1ZHQW5p
bWF0ZWRBbmdsZS5jcHAnLApAQCAtNzY2OCw2ICs3NjcwLDggQEAKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1ZHTGluZWFyR3JhZGllbnRFbGVt
ZW50LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNTVkdMb2NhdGFibGUuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTU1ZHTG9jYXRhYmxlLmgnLAorICAgICAgICAgICAgJzwoUFJP
RFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNTVkdNUGF0aEVsZW1lbnQuY3BwJywK
KyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1ZH
TVBhdGhFbGVtZW50LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNTVkdNYXJrZXJFbGVtZW50LmNwcCcsCiAgICAgICAgICAgICAnPChQUk9E
VUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NWR01hcmtlckVsZW1lbnQuZGVwJywK
ICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1ZH
TWFya2VyRWxlbWVudC5oJywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiA4NzkwNikKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xNDgyMiw2ICsxNDgy
Miw2MiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZp
bGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmls
ZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
b2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTU1ZHQW5pbWF0ZU1vdGlvbkVsZW1l
bnQuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iJChD
b25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xK
U1NWR0FuaW1hdGVUcmFuc2Zvcm1FbGVtZW50LmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1
cmF0aW9uCkBAIC0xNzk3NCw2ICsxODAzMCw2MiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxG
aWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTU1ZHTVBhdGhFbGVtZW50LmNwcCIKKwkJCQk+CisJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdp
bjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAor
CQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2lu
MzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2lu
MzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1
cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU1NWR01Q
YXRoRWxlbWVudC5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQ
YXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRT
b3VyY2VzXEpTU1ZHTWFya2VyRWxlbWVudC5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkocmV2aXNpb24gODc5MDYpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTk3OSw2ICs5NzksMTAg
QEAKIAkJNDQ4QTI5QkYwQTQ2RDlDQjAwMzA3NTlGIC8qIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDhBMjlC
RDBBNDZEOUNCMDAzMDc1OUYgLyogSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb24uaCAqLzsgfTsKIAkJ
NDQ4QTI5QzAwQTQ2RDlDQjAwMzA3NTlGIC8qIEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0OEEyOUJFMEE0
NkQ5Q0IwMDMwNzU5RiAvKiBKU0hUTUxPcHRpb25zQ29sbGVjdGlvbi5jcHAgKi87IH07CiAJCTQ0
OEFEMjdDMEE0ODEzN0EwMDIzRDE3OSAvKiBKU0hUTUxPcHRpb25zQ29sbGVjdGlvbkN1c3RvbS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDhBRDI3
QTBBNDgxMzc5MDAyM0QxNzkgLyogSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb25DdXN0b20uY3BwICov
OyB9OworCQk0NDk2RTM5RDEzOTgxMzZDMDAzRUUzMkEgLyogSlNTVkdBbmltYXRlTW90aW9uRWxl
bWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NDk2RTM5QjEzOTgxMzZDMDAzRUUzMkEgLyogSlNTVkdBbmltYXRlTW90aW9uRWxlbWVudC5jcHAg
Ki87IH07CisJCTQ0OTZFMzlFMTM5ODEzNkMwMDNFRTMyQSAvKiBKU1NWR0FuaW1hdGVNb3Rpb25F
bGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NDk2RTM5QzEzOTgxMzZDMDAzRUUzMkEgLyogSlNTVkdBbmltYXRlTW90aW9uRWxlbWVudC5oICov
OyB9OworCQk0NDk2RTNBMDEzOTgxM0E1MDAzRUUzMkEgLyogSlNTVkdNUGF0aEVsZW1lbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0OTZFMzlGMTM5
ODEzQTUwMDNFRTMyQSAvKiBKU1NWR01QYXRoRWxlbWVudC5oICovOyB9OworCQk0NDk2RTNBMjEz
OTgxM0NCMDAzRUUzMkEgLyogSlNTVkdNUGF0aEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ5NkUzQTExMzk4MTNDQjAwM0VFMzJBIC8q
IEpTU1ZHTVBhdGhFbGVtZW50LmNwcCAqLzsgfTsKIAkJNDQ5QjE5RjUwRkE3MkVDRTAwMTVDQTRB
IC8qIEhUTUxQYXJzZXJRdWlya3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0OUIxOUYzMEZBNzJFQ0UwMDE1Q0E0QSAvKiBIVE1MUGFyc2VyUXVpcmtz
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDRB
MjhBQUMxMkRGQjhBQzAwQUU5MjNCIC8qIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEEyOEFBQjEyREZCOEFDMDBB
RTkyM0IgLyogTWF0aE1MRWxlbWVudEZhY3RvcnkuaCAqLzsgfTsKIAkJNDRBMjhBQUYxMkRGQjhC
RjAwQUU5MjNCIC8qIE1hdGhNTE5hbWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0NEEyOEFBRTEyREZCOEJGMDBBRTkyM0IgLyogTWF0aE1MTmFtZXMu
aCAqLzsgfTsKQEAgLTc1MjIsNiArNzUyNiwxMCBAQAogCQk0NDhBMjlCRTBBNDZEOUNCMDAzMDc1
OUYgLyogSlNIVE1MT3B0aW9uc0NvbGxlY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDQ4QUQyN0EwQTQ4MTM3OTAwMjNEMTc5IC8qIEpTSFRNTE9wdGlv
bnNDb2xsZWN0aW9uQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTSFRNTE9wdGlvbnNDb2xsZWN0aW9uQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDQ5MDk4QjEwRjhGODI1MjAwNzZBMzI3IC8qIEZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IEZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NDk2RTM5QjEzOTgxMzZDMDAz
RUUzMkEgLyogSlNTVkdBbmltYXRlTW90aW9uRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IG5hbWUgPSBKU1NWR0FuaW1hdGVNb3Rpb25FbGVtZW50LmNwcDsgcGF0aCA9
IC4uLy4uL1dlYktpdEJ1aWxkL1JlbGVhc2UvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NWR0Fu
aW1hdGVNb3Rpb25FbGVtZW50LmNwcDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OworCQk0
NDk2RTM5QzEzOTgxMzZDMDAzRUUzMkEgLyogSlNTVkdBbmltYXRlTW90aW9uRWxlbWVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBKU1NWR0FuaW1hdGVNb3Rpb25FbGVtZW50
Lmg7IHBhdGggPSAuLi8uLi9XZWJLaXRCdWlsZC9SZWxlYXNlL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNTVkdBbmltYXRlTW90aW9uRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7
IH07CisJCTQ0OTZFMzlGMTM5ODEzQTUwMDNFRTMyQSAvKiBKU1NWR01QYXRoRWxlbWVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBKU1NWR01QYXRoRWxlbWVudC5oOyBwYXRo
ID0gLi4vLi4vV2ViS2l0QnVpbGQvUmVsZWFzZS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1ZH
TVBhdGhFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKKwkJNDQ5NkUzQTEx
Mzk4MTNDQjAwM0VFMzJBIC8qIEpTU1ZHTVBhdGhFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEpTU1ZHTVBhdGhFbGVtZW50LmNwcDsgcGF0aCA9IC4uLy4u
L1dlYktpdEJ1aWxkL1JlbGVhc2UvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NWR01QYXRoRWxl
bWVudC5jcHA7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKIAkJNDQ5QjE5RjMwRkE3MkVD
RTAwMTVDQTRBIC8qIEhUTUxQYXJzZXJRdWlya3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSFRNTFBhcnNlclF1aXJrcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0NEEyOEFBQjEyREZCOEFDMDBBRTkyM0IgLyogTWF0aE1MRWxlbWVudEZhY3RvcnkuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1MRWxlbWVudEZhY3RvcnkuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRBMjhBQUUxMkRGQjhCRjAwQUU5MjNCIC8qIE1h
dGhNTE5hbWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hdGhNTE5hbWVz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjU5OCw2ICsxNjYwNiwxMCBAQAog
CQlBODNCNzkwQTBDQ0FGRjQ3MDAwQjA4MjUgLyogU1ZHICovID0gewogCQkJaXNhID0gUEJYR3Jv
dXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk0NDk2RTNBMTEzOTgxM0NCMDAzRUUzMkEgLyogSlNT
VkdNUGF0aEVsZW1lbnQuY3BwICovLAorCQkJCTQ0OTZFMzlGMTM5ODEzQTUwMDNFRTMyQSAvKiBK
U1NWR01QYXRoRWxlbWVudC5oICovLAorCQkJCTQ0OTZFMzlCMTM5ODEzNkMwMDNFRTMyQSAvKiBK
U1NWR0FuaW1hdGVNb3Rpb25FbGVtZW50LmNwcCAqLywKKwkJCQk0NDk2RTM5QzEzOTgxMzZDMDAz
RUUzMkEgLyogSlNTVkdBbmltYXRlTW90aW9uRWxlbWVudC5oICovLAogCQkJCUIyMDExMTA1MEFC
Nzc0MDUwMERCMEU2OCAvKiBKU1NWR0FFbGVtZW50LmNwcCAqLywKIAkJCQlCMjAxMTEwNjBBQjc3
NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5oICovLAogCQkJCTY1MTVFQzhGMEQ5NzIzRkYw
MDYzRDQ5QSAvKiBKU1NWR0FsdEdseXBoRWxlbWVudC5jcHAgKi8sCkBAIC0yMzAwNSw2ICsyMzAx
Nyw4IEBACiAJCQkJQjEyRDIzNkUxMzU2MDM0RDAwMkEyOEQ0IC8qIEpTTXVsdGlwbGVUcmFja0xp
c3QuaCBpbiBIZWFkZXJzICovLAogCQkJCThDMEUzMzREMTM4QTkyQzcwMDhEQTk0RiAvKiBMZXZl
bERCVHJhbnNhY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCThDMEUzMzRGMTM4QTkyQzcwMDhE
QTk0RiAvKiBMZXZlbERCV3JpdGVCYXRjaC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDQ5NkUzOUUx
Mzk4MTM2QzAwM0VFMzJBIC8qIEpTU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTQ0OTZFM0EwMTM5ODEzQTUwMDNFRTMyQSAvKiBKU1NWR01QYXRoRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCX07CkBAIC0yNTcwMCw2ICsyNTcxNCw4IEBACiAJCQkJQjEyRDIzNkQxMzU2
MDM0RDAwMkEyOEQ0IC8qIEpTTXVsdGlwbGVUcmFja0xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJOEMwRTMzNEMxMzhBOTJDNzAwOERBOTRGIC8qIExldmVsREJUcmFuc2FjdGlvbi5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk4QzBFMzM0RTEzOEE5MkM3MDA4REE5NEYgLyogTGV2ZWxEQldyaXRl
QmF0Y2guY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDQ5NkUzOUQxMzk4MTM2QzAwM0VFMzJBIC8q
IEpTU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDQ5NkUz
QTIxMzk4MTNDQjAwM0VFMzJBIC8qIEpTU1ZHTVBhdGhFbGVtZW50LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9
OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAkocmV2aXNpb24gODc5MDYpCisrKyBT
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTcxNiw5
ICs3MTYsOSBAQCBtb2R1bGUgd2luZG93IHsKICNpZiBkZWZpbmVkKEVOQUJMRV9TVkdfQU5JTUFU
SU9OKSAmJiBFTkFCTEVfU1ZHX0FOSU1BVElPTgogICAgICAgICBhdHRyaWJ1dGUgU1ZHQW5pbWF0
ZUNvbG9yRWxlbWVudENvbnN0cnVjdG9yIFNWR0FuaW1hdGVDb2xvckVsZW1lbnQ7CiAgICAgICAg
IGF0dHJpYnV0ZSBTVkdBbmltYXRlRWxlbWVudENvbnN0cnVjdG9yIFNWR0FuaW1hdGVFbGVtZW50
OwotLy8gICAgICBhdHRyaWJ1dGUgU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnRDb25zdHJ1Y3RvciBT
VkdBbmltYXRlTW90aW9uRWxlbWVudDsKKyAgICAgIGF0dHJpYnV0ZSBTVkdBbmltYXRlTW90aW9u
RWxlbWVudENvbnN0cnVjdG9yIFNWR0FuaW1hdGVNb3Rpb25FbGVtZW50OwogICAgICAgICBhdHRy
aWJ1dGUgU1ZHQW5pbWF0ZVRyYW5zZm9ybUVsZW1lbnRDb25zdHJ1Y3RvciBTVkdBbmltYXRlVHJh
bnNmb3JtRWxlbWVudDsKLS8vICAgICAgYXR0cmlidXRlIFNWR01QYXRoRWxlbWVudENvbnN0cnVj
dG9yIFNWR01QYXRoRWxlbWVudDsKKyAgICAgIGF0dHJpYnV0ZSBTVkdNUGF0aEVsZW1lbnRDb25z
dHJ1Y3RvciBTVkdNUGF0aEVsZW1lbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBTVkdTZXRFbGVtZW50
Q29uc3RydWN0b3IgU1ZHU2V0RWxlbWVudDsKICNlbmRpZgogCkluZGV4OiBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA4
Nzk0OSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE5IEBACisyMDExLTA2LTAyICBSb2IgQnVpcyAgPHJidWlzQHJpbS5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ3JlYXRpbmcgPGFuaW1hdGVN
b3Rpb24+IGVsZW1lbnRzIHZpYSBqYXZhc2NyaXB0IGRvIG5vdCBleGVjdXRlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDMwMQorCisgICAgICAgIFVw
ZGF0ZSB0ZXN0IHJlc3VsdHMuCisKKyAgICAgICAgKiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXBy
b3BlcnRpZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL1dpbmRvdy93aW5kb3ct
cHJvcGVydHktZGVzY3JpcHRvcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL3By
b3RvdHlwZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9w
cm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvanMvZ2xv
YmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2N1c3RvbS9nbG9i
YWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dDoKKwogMjAxMS0wNi0wMiAgRGltaXRyaSBHbGF6
a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90eXBlLWluaGVyaXRhbmNl
LTItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3Rv
dHlwZS1pbmhlcml0YW5jZS0yLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gODc5MDYpCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTI5NCw2ICsyOTQsNyBAQCBOZXZlciBmb3VuZCBTVkdBbHRHbHlwaEVs
ZW1lbnQKIE5ldmVyIGZvdW5kIFNWR0FuZ2xlCiBOZXZlciBmb3VuZCBTVkdBbmltYXRlQ29sb3JF
bGVtZW50CiBOZXZlciBmb3VuZCBTVkdBbmltYXRlRWxlbWVudAorTmV2ZXIgZm91bmQgU1ZHQW5p
bWF0ZU1vdGlvbkVsZW1lbnQKIE5ldmVyIGZvdW5kIFNWR0FuaW1hdGVUcmFuc2Zvcm1FbGVtZW50
CiBOZXZlciBmb3VuZCBTVkdBbmltYXRlZEFuZ2xlCiBOZXZlciBmb3VuZCBTVkdBbmltYXRlZEJv
b2xlYW4KQEAgLTM2MSw2ICszNjIsNyBAQCBOZXZlciBmb3VuZCBTVkdMZW5ndGgKIE5ldmVyIGZv
dW5kIFNWR0xlbmd0aExpc3QKIE5ldmVyIGZvdW5kIFNWR0xpbmVFbGVtZW50CiBOZXZlciBmb3Vu
ZCBTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQKK05ldmVyIGZvdW5kIFNWR01QYXRoRWxlbWVudAog
TmV2ZXIgZm91bmQgU1ZHTWFya2VyRWxlbWVudAogTmV2ZXIgZm91bmQgU1ZHTWFza0VsZW1lbnQK
IE5ldmVyIGZvdW5kIFNWR01hdHJpeApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vcHJvdG90
eXBlLWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2RvbS9wcm90b3R5cGUtaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA4Nzkw
NikKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL3Byb3RvdHlwZS1pbmhlcml0YW5jZS1leHBlY3Rl
ZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMyNyw2ICszMjcsOCBAQCBQQVNTIGlubmVyLlNWR0Fu
aW1hdGVDb2xvckVsZW1lbnQuaXNJbm5lCiBQQVNTIGlubmVyLlNWR0FuaW1hdGVDb2xvckVsZW1l
bnQuY29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLlNWR0FuaW1hdGVFbGVt
ZW50LmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5TVkdBbmltYXRlRWxlbWVudC5jb25zdHJ1
Y3Rvci5pc0lubmVyIGlzIHRydWUKK1BBU1MgaW5uZXIuU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQu
aXNJbm5lciBpcyB0cnVlCitQQVNTIGlubmVyLlNWR0FuaW1hdGVNb3Rpb25FbGVtZW50LmNvbnN0
cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5TVkdBbmltYXRlVHJhbnNmb3JtRWxl
bWVudC5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuU1ZHQW5pbWF0ZVRyYW5zZm9ybUVsZW1l
bnQuY29uc3RydWN0b3IuaXNJbm5lciBpcyB0cnVlCiBQQVNTIGlubmVyLlNWR0FuaW1hdGVkQW5n
bGUuaXNJbm5lciBpcyB0cnVlCkBAIC00NjMsNiArNDY1LDggQEAgUEFTUyBpbm5lci5TVkdMaW5l
RWxlbWVudC5pc0lubmVyIGlzIHRydQogUEFTUyBpbm5lci5TVkdMaW5lRWxlbWVudC5jb25zdHJ1
Y3Rvci5pc0lubmVyIGlzIHRydWUKIFBBU1MgaW5uZXIuU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50
LmlzSW5uZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuY29u
c3RydWN0b3IuaXNJbm5lciBpcyB0cnVlCitQQVNTIGlubmVyLlNWR01QYXRoRWxlbWVudC5pc0lu
bmVyIGlzIHRydWUKK1BBU1MgaW5uZXIuU1ZHTVBhdGhFbGVtZW50LmNvbnN0cnVjdG9yLmlzSW5u
ZXIgaXMgdHJ1ZQogUEFTUyBpbm5lci5TVkdNYXJrZXJFbGVtZW50LmlzSW5uZXIgaXMgdHJ1ZQog
UEFTUyBpbm5lci5TVkdNYXJrZXJFbGVtZW50LmNvbnN0cnVjdG9yLmlzSW5uZXIgaXMgdHJ1ZQog
UEFTUyBpbm5lci5TVkdNYXNrRWxlbWVudC5pc0lubmVyIGlzIHRydWUKSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gODc5MDYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5k
b3cvd2luZG93LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNDE3
LDYgKzE0MTcsOCBAQCB3aW5kb3cuU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudCBbb2JqZWN0IFNWCiB3
aW5kb3cuU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudC5wcm90b3R5cGUgW3ByaW50ZWQgYWJvdmUgYXMg
d2luZG93LkVsZW1lbnQucHJvdG90eXBlXQogd2luZG93LlNWR0FuaW1hdGVFbGVtZW50IFtvYmpl
Y3QgU1ZHQW5pbWF0ZUVsZW1lbnRDb25zdHJ1Y3Rvcl0KIHdpbmRvdy5TVkdBbmltYXRlRWxlbWVu
dC5wcm90b3R5cGUgW3ByaW50ZWQgYWJvdmUgYXMgd2luZG93LkVsZW1lbnQucHJvdG90eXBlXQor
d2luZG93LlNWR0FuaW1hdGVNb3Rpb25FbGVtZW50IFtvYmplY3QgU1ZHQW5pbWF0ZU1vdGlvbkVs
ZW1lbnRDb25zdHJ1Y3Rvcl0KK3dpbmRvdy5TVkdBbmltYXRlTW90aW9uRWxlbWVudC5wcm90b3R5
cGUgW3ByaW50ZWQgYWJvdmUgYXMgd2luZG93LkVsZW1lbnQucHJvdG90eXBlXQogd2luZG93LlNW
R0FuaW1hdGVUcmFuc2Zvcm1FbGVtZW50IFtvYmplY3QgU1ZHQW5pbWF0ZVRyYW5zZm9ybUVsZW1l
bnRDb25zdHJ1Y3Rvcl0KIHdpbmRvdy5TVkdBbmltYXRlVHJhbnNmb3JtRWxlbWVudC5wcm90b3R5
cGUgW3ByaW50ZWQgYWJvdmUgYXMgd2luZG93LkVsZW1lbnQucHJvdG90eXBlXQogd2luZG93LlNW
R0FuaW1hdGVkQW5nbGUgW29iamVjdCBTVkdBbmltYXRlZEFuZ2xlQ29uc3RydWN0b3JdCkBAIC0x
NjQ1LDYgKzE2NDcsOCBAQCB3aW5kb3cuU1ZHTGluZUVsZW1lbnQgW29iamVjdCBTVkdMaW5lRWxl
CiB3aW5kb3cuU1ZHTGluZUVsZW1lbnQucHJvdG90eXBlIFtwcmludGVkIGFib3ZlIGFzIHdpbmRv
dy5FbGVtZW50LnByb3RvdHlwZV0KIHdpbmRvdy5TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQgW29i
amVjdCBTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnRDb25zdHJ1Y3Rvcl0KIHdpbmRvdy5TVkdMaW5l
YXJHcmFkaWVudEVsZW1lbnQucHJvdG90eXBlIFtwcmludGVkIGFib3ZlIGFzIHdpbmRvdy5FbGVt
ZW50LnByb3RvdHlwZV0KK3dpbmRvdy5TVkdNUGF0aEVsZW1lbnQgW29iamVjdCBTVkdNUGF0aEVs
ZW1lbnRDb25zdHJ1Y3Rvcl0KK3dpbmRvdy5TVkdNUGF0aEVsZW1lbnQucHJvdG90eXBlIFtwcmlu
dGVkIGFib3ZlIGFzIHdpbmRvdy5FbGVtZW50LnByb3RvdHlwZV0KIHdpbmRvdy5TVkdNYXJrZXJF
bGVtZW50IFtvYmplY3QgU1ZHTWFya2VyRWxlbWVudENvbnN0cnVjdG9yXQogd2luZG93LlNWR01h
cmtlckVsZW1lbnQuU1ZHX01BUktFUlVOSVRTX1NUUk9LRVdJRFRIIFtudW1iZXJdCiB3aW5kb3cu
U1ZHTWFya2VyRWxlbWVudC5TVkdfTUFSS0VSVU5JVFNfVU5LTk9XTiBbbnVtYmVyXQpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dp
bmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDg3OTA2KQor
KysgTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9y
cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE2Nyw2ICsxNjcsNyBAQCBQQVNTIHR5
cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0
T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ1NWR0FuZ2xlJykgaXMgJ29iamVjdCcKIFBB
U1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnU1ZHQW5p
bWF0ZUNvbG9yRWxlbWVudCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3du
UHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ1NWR0FuaW1hdGVFbGVtZW50JykgaXMgJ29iamVj
dCcKK1BBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAn
U1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQnKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBlb2YgT2JqZWN0
LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdTVkdBbmltYXRlVHJhbnNmb3JtRWxl
bWVudCcpIGlzICdvYmplY3QnCiBQQVNTIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNj
cmlwdG9yKHdpbmRvdywgJ1NWR0FuaW1hdGVkQW5nbGUnKSBpcyAnb2JqZWN0JwogUEFTUyB0eXBl
b2YgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih3aW5kb3csICdTVkdBbmltYXRlZEJv
b2xlYW4nKSBpcyAnb2JqZWN0JwpAQCAtMjM1LDYgKzIzNiw3IEBAIFBBU1MgdHlwZW9mIE9iamVj
dC5nZXRPd25Qcm9wZXJ0eURlc2NyaXAKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3Iod2luZG93LCAnU1ZHTGVuZ3RoTGlzdCcpIGlzICdvYmplY3QnCiBQQVNTIHR5
cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ1NWR0xpbmVFbGVt
ZW50JykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2Ny
aXB0b3Iod2luZG93LCAnU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50JykgaXMgJ29iamVjdCcKK1BB
U1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnU1ZHTVBh
dGhFbGVtZW50JykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0
eURlc2NyaXB0b3Iod2luZG93LCAnU1ZHTWFya2VyRWxlbWVudCcpIGlzICdvYmplY3QnCiBQQVNT
IHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdpbmRvdywgJ1NWR01hc2tF
bGVtZW50JykgaXMgJ29iamVjdCcKIFBBU1MgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURl
c2NyaXB0b3Iod2luZG93LCAnU1ZHTWF0cml4JykgaXMgJ29iamVjdCcKSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvanMvZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gODc5MDYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL2dsb2JhbC1jb25zdHJ1Y3Rv
cnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNTIsNiArMTUyLDcgQEAgUEFTUyBT
VkdBbHRHbHlwaEVsZW1lbnQudG9TdHJpbmcoKSBpcyAnWwogUEFTUyBTVkdBbmdsZS50b1N0cmlu
ZygpIGlzICdbb2JqZWN0IFNWR0FuZ2xlQ29uc3RydWN0b3JdJwogUEFTUyBTVkdBbmltYXRlQ29s
b3JFbGVtZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudENv
bnN0cnVjdG9yXScKIFBBU1MgU1ZHQW5pbWF0ZUVsZW1lbnQudG9TdHJpbmcoKSBpcyAnW29iamVj
dCBTVkdBbmltYXRlRWxlbWVudENvbnN0cnVjdG9yXScKK1BBU1MgU1ZHQW5pbWF0ZU1vdGlvbkVs
ZW1lbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBTVkdBbmltYXRlTW90aW9uRWxlbWVudENvbnN0
cnVjdG9yXScKIFBBU1MgU1ZHQW5pbWF0ZVRyYW5zZm9ybUVsZW1lbnQudG9TdHJpbmcoKSBpcyAn
W29iamVjdCBTVkdBbmltYXRlVHJhbnNmb3JtRWxlbWVudENvbnN0cnVjdG9yXScKIFBBU1MgU1ZH
QW5pbWF0ZWRBbmdsZS50b1N0cmluZygpIGlzICdbb2JqZWN0IFNWR0FuaW1hdGVkQW5nbGVDb25z
dHJ1Y3Rvcl0nCiBQQVNTIFNWR0FuaW1hdGVkQm9vbGVhbi50b1N0cmluZygpIGlzICdbb2JqZWN0
IFNWR0FuaW1hdGVkQm9vbGVhbkNvbnN0cnVjdG9yXScKQEAgLTIyMCw2ICsyMjEsNyBAQCBQQVNT
IFNWR0xlbmd0aC50b1N0cmluZygpIGlzICdbb2JqZWN0IFNWCiBQQVNTIFNWR0xlbmd0aExpc3Qu
dG9TdHJpbmcoKSBpcyAnW29iamVjdCBTVkdMZW5ndGhMaXN0Q29uc3RydWN0b3JdJwogUEFTUyBT
VkdMaW5lRWxlbWVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IFNWR0xpbmVFbGVtZW50Q29uc3Ry
dWN0b3JdJwogUEFTUyBTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQudG9TdHJpbmcoKSBpcyAnW29i
amVjdCBTVkdMaW5lYXJHcmFkaWVudEVsZW1lbnRDb25zdHJ1Y3Rvcl0nCitQQVNTIFNWR01QYXRo
RWxlbWVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IFNWR01QYXRoRWxlbWVudENvbnN0cnVjdG9y
XScKIFBBU1MgU1ZHTWFya2VyRWxlbWVudC50b1N0cmluZygpIGlzICdbb2JqZWN0IFNWR01hcmtl
ckVsZW1lbnRDb25zdHJ1Y3Rvcl0nCiBQQVNTIFNWR01hc2tFbGVtZW50LnRvU3RyaW5nKCkgaXMg
J1tvYmplY3QgU1ZHTWFza0VsZW1lbnRDb25zdHJ1Y3Rvcl0nCiBQQVNTIFNWR01hdHJpeC50b1N0
cmluZygpIGlzICdbb2JqZWN0IFNWR01hdHJpeENvbnN0cnVjdG9yXScKSW5kZXg6IExheW91dFRl
c3RzL3N2Zy9jdXN0b20vZ2xvYmFsLWNvbnN0cnVjdG9ycy1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nbG9iYWwtY29uc3RydWN0b3JzLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gODc5MDYpCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2dsb2JhbC1j
b25zdHJ1Y3RvcnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNDMsOCArMTQzLDgg
QEAgUEFTUyBTVkdab29tRXZlbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdAogRkFJTCBTVkdBbmlt
YXRpb25FbGVtZW50LnRvU3RyaW5nKCkgc2hvdWxkIGJlIFtvYmplY3QgU1ZHQW5pbWF0aW9uRWxl
bWVudENvbnN0cnVjdG9yXS4gVGhyZXcgZXhjZXB0aW9uIFJlZmVyZW5jZUVycm9yOiBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBTVkdBbmltYXRpb25FbGVtZW50CiBQQVNTIFNWR0FuaW1hdGVFbGVtZW50
LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgU1ZHQW5pbWF0ZUVsZW1lbnRDb25zdHJ1Y3Rvcl0nCiBQ
QVNTIFNWR1NldEVsZW1lbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBTVkdTZXRFbGVtZW50Q29u
c3RydWN0b3JdJwotRkFJTCBTVkdBbmltYXRlTW90aW9uRWxlbWVudC50b1N0cmluZygpIHNob3Vs
ZCBiZSBbb2JqZWN0IFNWR0FuaW1hdGVNb3Rpb25FbGVtZW50Q29uc3RydWN0b3JdLiBUaHJldyBl
eGNlcHRpb24gUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNWR0FuaW1hdGVN
b3Rpb25FbGVtZW50Ci1GQUlMIFNWR01QYXRoRWxlbWVudC50b1N0cmluZygpIHNob3VsZCBiZSBb
b2JqZWN0IFNWR01QYXRoRWxlbWVudENvbnN0cnVjdG9yXS4gVGhyZXcgZXhjZXB0aW9uIFJlZmVy
ZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTVkdNUGF0aEVsZW1lbnQKK1BBU1MgU1ZH
QW5pbWF0ZU1vdGlvbkVsZW1lbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBTVkdBbmltYXRlTW90
aW9uRWxlbWVudENvbnN0cnVjdG9yXScKK1BBU1MgU1ZHTVBhdGhFbGVtZW50LnRvU3RyaW5nKCkg
aXMgJ1tvYmplY3QgU1ZHTVBhdGhFbGVtZW50Q29uc3RydWN0b3JdJwogUEFTUyBTVkdBbmltYXRl
Q29sb3JFbGVtZW50LnRvU3RyaW5nKCkgaXMgJ1tvYmplY3QgU1ZHQW5pbWF0ZUNvbG9yRWxlbWVu
dENvbnN0cnVjdG9yXScKIFBBU1MgU1ZHQW5pbWF0ZVRyYW5zZm9ybUVsZW1lbnQudG9TdHJpbmco
KSBpcyAnW29iamVjdCBTVkdBbmltYXRlVHJhbnNmb3JtRWxlbWVudENvbnN0cnVjdG9yXScKIFBB
U1MgU1ZHRm9udEVsZW1lbnQudG9TdHJpbmcoKSBpcyAnW29iamVjdCBTVkdGb250RWxlbWVudENv
bnN0cnVjdG9yXScK
</data>
<flag name="review"
          id="89374"
          type_id="1"
          status="+"
          setter="zimmermann"
    />
          </attachment>
      

    </bug>

</bugzilla>