<?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>80631</bug_id>
          
          <creation_ts>2012-03-08 13:04:36 -0800</creation_ts>
          <short_desc>Implement selectedOptions attribute of HTMLSelectElement</short_desc>
          <delta_ts>2012-06-27 18:05:59 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexis Menard (darktears)">menard</reporter>
          <assigned_to name="Alexis Menard (darktears)">menard</assigned_to>
          <cc>abarth</cc>
    
    <cc>benjamin</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>ggaren</cc>
    
    <cc>kling</cc>
    
    <cc>mjs</cc>
    
    <cc>ojan</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>syoichi</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>574113</commentid>
    <comment_count>0</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-03-08 13:04:36 -0800</bug_when>
    <thetext>Implement selectedOptions attribute of &lt;select&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574115</commentid>
    <comment_count>1</comment_count>
      <attachid>130884</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-03-08 13:07:31 -0800</bug_when>
    <thetext>Created attachment 130884
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574116</commentid>
    <comment_count>2</comment_count>
      <attachid>130885</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-03-08 13:08:41 -0800</bug_when>
    <thetext>Created attachment 130885
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574124</commentid>
    <comment_count>3</comment_count>
      <attachid>130888</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-03-08 13:25:41 -0800</bug_when>
    <thetext>Created attachment 130888
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574125</commentid>
    <comment_count>4</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-03-08 13:26:04 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Created an attachment (id=130888) [details]
&gt; Patch

Improve test coverage by testing the values inside the collection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574401</commentid>
    <comment_count>5</comment_count>
      <attachid>130888</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-03-08 17:08:38 -0800</bug_when>
    <thetext>Comment on attachment 130888
Patch

The patch looks good.

I would add test coverage for:
-disabled option
-disabled select
-nested &lt;select&gt; :-D ... something like this:
&lt;select&gt;
  &lt;option&gt;
    &lt;select&gt;
      &lt;option selected&gt;
    &lt;/select&gt;
   &lt;/option&gt;
   &lt;option&gt;&lt;/option&gt;
&lt;/selection&gt;

-multiple selected options for a select without &quot;multiple&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574791</commentid>
    <comment_count>6</comment_count>
      <attachid>131024</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-03-09 03:34:54 -0800</bug_when>
    <thetext>Created attachment 131024
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574792</commentid>
    <comment_count>7</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-03-09 03:36:57 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 130888 [details])
&gt; The patch looks good.
&gt; 
&gt; I would add test coverage for:
&gt; -disabled option
&gt; -disabled select

Done both.

&gt; -nested &lt;select&gt; :-D ... something like this:
&gt; &lt;select&gt;
&gt;   &lt;option&gt;
&gt;     &lt;select&gt;
&gt;       &lt;option selected&gt;
&gt;     &lt;/select&gt;
&gt;    &lt;/option&gt;
&gt;    &lt;option&gt;&lt;/option&gt;
&gt; &lt;/selection&gt;

You can&apos;t really do that do you? I tried a quick test and the rendering is not really what you would expect it to be so not sure we should &quot;cover&quot; this.

&gt; 
&gt; -multiple selected options for a select without &quot;multiple&quot;
This one was covered already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575119</commentid>
    <comment_count>8</comment_count>
      <attachid>131024</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-03-09 13:00:37 -0800</bug_when>
    <thetext>Comment on attachment 131024
Patch

Looks good. At first I was not sure about the case of (multiple == false), but this follows http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#attr-select-multiple</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575287</commentid>
    <comment_count>9</comment_count>
      <attachid>131024</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-09 15:12:05 -0800</bug_when>
    <thetext>Comment on attachment 131024
Patch

Clearing flags on attachment: 131024

Committed r110340: &lt;http://trac.webkit.org/changeset/110340&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575500</commentid>
    <comment_count>10</comment_count>
      <attachid>131024</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-03-10 04:50:31 -0800</bug_when>
    <thetext>Comment on attachment 131024
Patch

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

&gt; LayoutTests/ChangeLog:11
&gt; +        * fast/dom/select-selectedOptions-expected.txt: Added.
&gt; +        * fast/dom/select-selectedOptions.html: Added.

The test should be in fast/dom/HTMLSelectElement/, or fast/forms/select/.

&gt; LayoutTests/fast/dom/select-selectedOptions.html:7
&gt; +function reset(mySelect) {
&gt; +  mySelect.length = 0;

We usually use 4-space indentation in JavaScript.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578347</commentid>
    <comment_count>11</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-03-14 06:24:25 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 131024 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=131024&amp;action=review
&gt; 
&gt; &gt; LayoutTests/ChangeLog:11
&gt; &gt; +        * fast/dom/select-selectedOptions-expected.txt: Added.
&gt; &gt; +        * fast/dom/select-selectedOptions.html: Added.
&gt; 
&gt; The test should be in fast/dom/HTMLSelectElement/, or fast/forms/select/.
&gt; 
&gt; &gt; LayoutTests/fast/dom/select-selectedOptions.html:7
&gt; &gt; +function reset(mySelect) {
&gt; &gt; +  mySelect.length = 0;
&gt; 
&gt; We usually use 4-space indentation in JavaScript.

Fixed with http://trac.webkit.org/changeset/110470

I also moved some old ones that should not be there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649953</commentid>
    <comment_count>12</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-06-15 00:15:19 -0700</bug_when>
    <thetext>Reopen because http://trac.webkit.org/changeset/110470 was rolled out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650022</commentid>
    <comment_count>13</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-06-15 02:03:12 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Reopen because http://trac.webkit.org/changeset/110470 was rolled out.

Rollout changes:
http://trac.webkit.org/changeset/120413
http://trac.webkit.org/changeset/120425</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658224</commentid>
    <comment_count>14</comment_count>
      <attachid>149661</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-06-26 18:38:01 -0700</bug_when>
    <thetext>Created attachment 149661
work in progress, fixes the bug report of https://bugs.webkit.org/show_bug.cgi?id=88749 but haven&apos;t yet found a way to test it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658552</commentid>
    <comment_count>15</comment_count>
      <attachid>149661</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-06-27 05:29:21 -0700</bug_when>
    <thetext>Comment on attachment 149661
work in progress, fixes the bug report of https://bugs.webkit.org/show_bug.cgi?id=88749 but haven&apos;t yet found a way to test it.

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

Who else implements this collection? Moz, Opera, IE, etc.?
I consider HTMLCollection and other live Node list interfaces bad API, so I&apos;m wondering if it&apos;s worth adding new ones just to comply with a spec.

&gt; Source/WebCore/html/HTMLOptionElement.cpp:250
&gt; +    if (HTMLSelectElement* select = ownerSelectElement())
&gt; +        select-&gt;invalidateSelectedItems();

It&apos;s unfortunate that we have walk up the DOM parent chain to find the &lt;select&gt; for every &lt;option&gt; where the selected state changes.
Probably doesn&apos;t matter much in real-world content though.

&gt; Source/WebCore/html/HTMLOptionsCollection.h:55
&gt; +class HTMLSelectedOptionsCollection : public HTMLCollection {

Shouldn&apos;t this have its own file(s) instead of piggybacking on HTMLOptionsCollection?

&gt; Source/WebCore/html/HTMLOptionsCollection.h:59
&gt; +    using HTMLCollection::m_cache;

Yuck!

&gt; Source/WebCore/html/HTMLSelectElement.cpp:713
&gt; +    if (m_selectedOptionsCollection)
&gt; +        m_selectedOptionsCollection-&gt;m_cache.clear();

There should be a way to invalidate the internal cache without accessing a collection member variable from another class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658553</commentid>
    <comment_count>16</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-06-27 05:30:17 -0700</bug_when>
    <thetext>Adding rniwa since he&apos;s been mucking around with related things lately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658737</commentid>
    <comment_count>17</comment_count>
      <attachid>149661</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-06-27 11:33:43 -0700</bug_when>
    <thetext>Comment on attachment 149661
work in progress, fixes the bug report of https://bugs.webkit.org/show_bug.cgi?id=88749 but haven&apos;t yet found a way to test it.

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

&gt; Source/WebCore/html/HTMLCollection.cpp:128
&gt; +        if (element-&gt;hasLocalName(optionTag)) {
&gt; +            HTMLOptionElement* option = static_cast&lt;HTMLOptionElement*&gt;(element);
&gt; +            if (option-&gt;selected())
&gt; +                return true;
&gt; +        }
&gt; +        return false;

I would have done:
return element-&gt;hasLocalName(optionTag) &amp;&amp; toHTMLOptionElement(element)-&gt;selected()

&gt;&gt; Source/WebCore/html/HTMLOptionsCollection.h:55
&gt;&gt; +class HTMLSelectedOptionsCollection : public HTMLCollection {
&gt; 
&gt; Shouldn&apos;t this have its own file(s) instead of piggybacking on HTMLOptionsCollection?

We don&apos;t need this class at all. You just instantiate HTMLCollection(selection, SelectedOptions).

&gt;&gt; Source/WebCore/html/HTMLSelectElement.cpp:713
&gt;&gt; +        m_selectedOptionsCollection-&gt;m_cache.clear();
&gt; 
&gt; There should be a way to invalidate the internal cache without accessing a collection member variable from another class.

HTMLCollection relies on DOM tree version to invalidate its value so there&apos;s no need to explicitly invalidate the cache.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658739</commentid>
    <comment_count>18</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-06-27 11:35:44 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 149661 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=149661&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/HTMLCollection.cpp:128
&gt; &gt; +        if (element-&gt;hasLocalName(optionTag)) {
&gt; &gt; +            HTMLOptionElement* option = static_cast&lt;HTMLOptionElement*&gt;(element);
&gt; &gt; +            if (option-&gt;selected())
&gt; &gt; +                return true;
&gt; &gt; +        }
&gt; &gt; +        return false;
&gt; 
&gt; I would have done:
&gt; return element-&gt;hasLocalName(optionTag) &amp;&amp; toHTMLOptionElement(element)-&gt;selected()

ok.

&gt; 
&gt; &gt;&gt; Source/WebCore/html/HTMLOptionsCollection.h:55
&gt; &gt;&gt; +class HTMLSelectedOptionsCollection : public HTMLCollection {
&gt; &gt; 
&gt; &gt; Shouldn&apos;t this have its own file(s) instead of piggybacking on HTMLOptionsCollection?
&gt; 
&gt; We don&apos;t need this class at all. You just instantiate HTMLCollection(selection, SelectedOptions).
&gt; 
&gt; &gt;&gt; Source/WebCore/html/HTMLSelectElement.cpp:713
&gt; &gt;&gt; +        m_selectedOptionsCollection-&gt;m_cache.clear();
&gt; &gt; 
&gt; &gt; There should be a way to invalidate the internal cache without accessing a collection member variable from another class.
&gt; 
&gt; HTMLCollection relies on DOM tree version to invalidate its value so there&apos;s no need to explicitly invalidate the cache.


Yes but when the select state changed the dom tree version is not incremented. Not sure we want to do that. It triggered a bug btw : https://bugs.webkit.org/show_bug.cgi?id=88749</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658742</commentid>
    <comment_count>19</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-06-27 11:36:19 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; (In reply to comment #17)
&gt; &gt; (From update of attachment 149661 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=149661&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/html/HTMLCollection.cpp:128
&gt; &gt; &gt; +        if (element-&gt;hasLocalName(optionTag)) {
&gt; &gt; &gt; +            HTMLOptionElement* option = static_cast&lt;HTMLOptionElement*&gt;(element);
&gt; &gt; &gt; +            if (option-&gt;selected())
&gt; &gt; &gt; +                return true;
&gt; &gt; &gt; +        }
&gt; &gt; &gt; +        return false;
&gt; &gt; 
&gt; &gt; I would have done:
&gt; &gt; return element-&gt;hasLocalName(optionTag) &amp;&amp; toHTMLOptionElement(element)-&gt;selected()
&gt; 
&gt; ok.
&gt; 
&gt; &gt; 
&gt; &gt; &gt;&gt; Source/WebCore/html/HTMLOptionsCollection.h:55
&gt; &gt; &gt;&gt; +class HTMLSelectedOptionsCollection : public HTMLCollection {
&gt; &gt; &gt; 
&gt; &gt; &gt; Shouldn&apos;t this have its own file(s) instead of piggybacking on HTMLOptionsCollection?
&gt; &gt; 
&gt; &gt; We don&apos;t need this class at all. You just instantiate HTMLCollection(selection, SelectedOptions).
&gt; &gt; 
&gt; &gt; &gt;&gt; Source/WebCore/html/HTMLSelectElement.cpp:713
&gt; &gt; &gt;&gt; +        m_selectedOptionsCollection-&gt;m_cache.clear();
&gt; &gt; &gt; 
&gt; &gt; &gt; There should be a way to invalidate the internal cache without accessing a collection member variable from another class.
&gt; &gt; 
&gt; &gt; HTMLCollection relies on DOM tree version to invalidate its value so there&apos;s no need to explicitly invalidate the cache.
&gt; 
&gt; 
&gt; Yes but when the select state changed the dom tree version is not incremented. Not sure we want to do that. It triggered a bug btw : https://bugs.webkit.org/show_bug.cgi?id=88749

Selected state of the option element I meant.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658769</commentid>
    <comment_count>20</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-06-27 12:12:04 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; (In reply to comment #17)
&gt; &gt; (From update of attachment 149661 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=149661&amp;action=review
&gt; &gt; &gt;&gt; Source/WebCore/html/HTMLSelectElement.cpp:713
&gt; &gt; &gt;&gt; +        m_selectedOptionsCollection-&gt;m_cache.clear();
&gt; &gt; &gt; 
&gt; &gt; &gt; There should be a way to invalidate the internal cache without accessing a collection member variable from another class.
&gt; &gt; 
&gt; &gt; HTMLCollection relies on DOM tree version to invalidate its value so there&apos;s no need to explicitly invalidate the cache.
&gt; 
&gt; Yes but when the select state changed the dom tree version is not incremented. Not sure we want to do that. It triggered a bug btw : https://bugs.webkit.org/show_bug.cgi?id=88749

Ah, I see. Right. Selecting an option doesn&apos;t change the DOM. Makes sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658923</commentid>
    <comment_count>21</comment_count>
      <attachid>149807</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-06-27 15:45:21 -0700</bug_when>
    <thetext>Created attachment 149807
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658943</commentid>
    <comment_count>22</comment_count>
      <attachid>149807</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-27 16:10:36 -0700</bug_when>
    <thetext>Comment on attachment 149807
Patch

Attachment 149807 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13093897</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658953</commentid>
    <comment_count>23</comment_count>
      <attachid>149814</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-06-27 16:26:42 -0700</bug_when>
    <thetext>Created attachment 149814
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658955</commentid>
    <comment_count>24</comment_count>
      <attachid>149815</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-06-27 16:31:55 -0700</bug_when>
    <thetext>Created attachment 149815
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659040</commentid>
    <comment_count>25</comment_count>
      <attachid>149815</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-27 18:05:46 -0700</bug_when>
    <thetext>Comment on attachment 149815
Patch for landing

Clearing flags on attachment: 149815

Committed r121392: &lt;http://trac.webkit.org/changeset/121392&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659043</commentid>
    <comment_count>26</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-27 18:05:59 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130884</attachid>
            <date>2012-03-08 13:07:31 -0800</date>
            <delta_ts>2012-03-08 13:08:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80631-20120308180714.patch</filename>
            <type>text/plain</type>
            <size>10372</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjBkZGU3ZGNmYjMxY2Qz
MjI4MDM2NzQ1MTAwZWQzMzFhYWYyMjVmNi4uN2RhYzFkOWQ2Njk1MDU0MDk3ZWMzZjIyNjFhMGQ4
ODdjZGQxY2JjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTAzLTA4ICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIEltcGxl
bWVudCBzZWxlY3RlZE9wdGlvbnMgYXR0cmlidXRlIG9mIDxzZWxlY3Q+LgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA2MzEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgY29sbGVjdGlvbiBh
cyBhIG1lbWJlciBvZiBIVE1MU2VsZWN0RWxlbWVudCB3aGljaCBpcworICAgICAgICB1c2VkIHRv
IHN0b3JlIHRoZSBzZWxlY3RlZCBlbGVtZW50cy4gRXh0ZW5kIEhUTUxDb2xsZWN0aW9uIHRvCisg
ICAgICAgIHN1cHBvcnQgdGhlIG5ldyBjb2xsZWN0aW9uIHR5cGUgbmVlZGVkIGJ5IHRoaXMgZmVh
dHVyZS4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9zZWxlY3Qtb3B0aW9ucy1zZWxlY3RlZC5o
dG1sCisKKyAgICAgICAgKiBodG1sL0NvbGxlY3Rpb25UeXBlLmg6CisgICAgICAgICogaHRtbC9I
VE1MQ29sbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ29sbGVjdGlvbjo6c2hv
dWxkSW5jbHVkZUNoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb2xsZWN0aW9uOjpp
c0FjY2VwdGFibGVFbGVtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpzZWxlY3RlZE9wdGlvbnMp
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5o
OgorICAgICAgICAoSFRNTFNlbGVjdEVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTFNlbGVj
dEVsZW1lbnQuaWRsOgorCiAyMDEyLTAzLTA4ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5j
b20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjEwOTk2NCk6IEFzc2VydGlvbiBmYWlsdXJlICgh
aXNVbmRlZmluZWQoKSkgaW4gTGVuZ3RoOjpnZXRJbnRWYWx1ZSgpIHdoZW4gYSBEYXNoYm9hcmQg
cmVnaW9uIGlzIHNwZWNpZmllZCB3aXRob3V0IG9mZnNldHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvQ29sbGVjdGlvblR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sbGVj
dGlvblR5cGUuaAppbmRleCBmYTM0OGY5YzNlYjMyYzAyODQyODZlM2U3OTVjNjcwZTY5N2ExNTYz
Li40ZWQ5ODE5OTgwNjdiNjc2NmE0NzFlMjE2MDYwNTY0MjljOWQ4YjRhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25UeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9Db2xsZWN0aW9uVHlwZS5oCkBAIC01MSw2ICs1MSw3IEBAIGVudW0gQ29sbGVjdGlvblR5
cGUgewogICAgIFRTZWN0aW9uUm93cywgLy8gYWxsIHJvdyBlbGVtZW50cyBpbiB0aGlzIHRhYmxl
IHNlY3Rpb24KICAgICBUUkNlbGxzLCAgICAgIC8vIGFsbCBjZWxscyBpbiB0aGlzIHJvdwogICAg
IFNlbGVjdE9wdGlvbnMsCisgICAgU2VsZWN0ZWRPcHRpb25zLAogICAgIERhdGFMaXN0T3B0aW9u
cywKICAgICBNYXBBcmVhcywKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
Q29sbGVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmNwcApp
bmRleCA3ZDA2MzA4ZmM5YmZiZjAxYzU2OWNmMGM2ZTAwMDkzMWU2MThiYWM0Li5kMTFmZWUxMjE4
MTVjN2NmYzdjOTlkMDFjZTU0NTU4N2JlM2NiMWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxDb2xsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxD
b2xsZWN0aW9uLmNwcApAQCAtNjEsNiArNjEsNyBAQCBib29sIEhUTUxDb2xsZWN0aW9uOjpzaG91
bGRJbmNsdWRlQ2hpbGRyZW4oQ29sbGVjdGlvblR5cGUgdHlwZSkKICAgICBjYXNlIE1hcEFyZWFz
OgogICAgIGNhc2UgT3RoZXJDb2xsZWN0aW9uOgogICAgIGNhc2UgU2VsZWN0T3B0aW9uczoKKyAg
ICBjYXNlIFNlbGVjdGVkT3B0aW9uczoKICAgICBjYXNlIERhdGFMaXN0T3B0aW9uczoKICAgICBj
YXNlIFdpbmRvd05hbWVkSXRlbXM6CiAjaWYgRU5BQkxFKE1JQ1JPREFUQSkKQEAgLTExNCw2ICsx
MTUsMTMgQEAgaW5saW5lIGJvb2wgSFRNTENvbGxlY3Rpb246OmlzQWNjZXB0YWJsZUVsZW1lbnQo
RWxlbWVudCogZWxlbWVudCkgY29uc3QKICAgICAgICAgcmV0dXJuIGVsZW1lbnQtPmhhc0xvY2Fs
TmFtZSh0clRhZyk7CiAgICAgY2FzZSBTZWxlY3RPcHRpb25zOgogICAgICAgICByZXR1cm4gZWxl
bWVudC0+aGFzTG9jYWxOYW1lKG9wdGlvblRhZyk7CisgICAgY2FzZSBTZWxlY3RlZE9wdGlvbnM6
CisgICAgICAgIGlmIChlbGVtZW50LT5oYXNMb2NhbE5hbWUob3B0aW9uVGFnKSkgeworICAgICAg
ICAgICAgSFRNTE9wdGlvbkVsZW1lbnQqIG9wdGlvbiA9IHN0YXRpY19jYXN0PEhUTUxPcHRpb25F
bGVtZW50Kj4oZWxlbWVudCk7CisgICAgICAgICAgICBpZiAob3B0aW9uLT5zZWxlY3RlZCgpKQor
ICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICBjYXNlIERhdGFMaXN0T3B0aW9uczoKICAgICAgICAgaWYgKGVsZW1lbnQtPmhh
c0xvY2FsTmFtZShvcHRpb25UYWcpKSB7CiAgICAgICAgICAgICBIVE1MT3B0aW9uRWxlbWVudCog
b3B0aW9uID0gc3RhdGljX2Nhc3Q8SFRNTE9wdGlvbkVsZW1lbnQqPihlbGVtZW50KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAKaW5kZXggNjY2MzE0MjVmMmNkOTNj
NzJmY2MzY2YzYTYyZWM4MmZkMzE4NDY3My4uNDEzYjc3MWE4MWQ3ODY2YzhmMGRhNzMzNTdkYTEz
OGM2YzkxNjI3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAK
QEAgLTMzMSw2ICszMzEsMTMgQEAgYm9vbCBIVE1MU2VsZWN0RWxlbWVudDo6Y2hpbGRTaG91bGRD
cmVhdGVSZW5kZXJlcihjb25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYgY2gKICAgICByZXR1cm4g
Y2hpbGRDb250ZXh0LmlzT25FbmNhcHN1bGF0aW9uQm91bmRhcnkoKSAmJiBIVE1MRm9ybUNvbnRy
b2xFbGVtZW50V2l0aFN0YXRlOjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNoaWxkQ29udGV4
dCk7CiB9CiAKK0hUTUxDb2xsZWN0aW9uKiBIVE1MU2VsZWN0RWxlbWVudDo6c2VsZWN0ZWRPcHRp
b25zKCkKK3sKKyAgICBpZiAoIW1fc2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlvbikKKyAgICAgICAg
bV9zZWxlY3RlZE9wdGlvbnNDb2xsZWN0aW9uID0gSFRNTENvbGxlY3Rpb246OmNyZWF0ZSh0aGlz
LCBTZWxlY3RlZE9wdGlvbnMpOworICAgIHJldHVybiBtX3NlbGVjdGVkT3B0aW9uc0NvbGxlY3Rp
b24uZ2V0KCk7Cit9CisKIEhUTUxPcHRpb25zQ29sbGVjdGlvbiogSFRNTFNlbGVjdEVsZW1lbnQ6
Om9wdGlvbnMoKQogewogICAgIGlmICghbV9vcHRpb25zQ29sbGVjdGlvbikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaAppbmRleCBmOGI1OTlmOTFjOTU3NDEwMjM4MmM4ZWI1
MGYzOGViNTMwZjQ3ZDhlLi4zZWQ2MTk2MWNiMjYwYjRkY2I0NmMyZGFkYTgwNWYwYTNiZjYyZDRj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCkBAIC02Myw2ICs2Myw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFZhbHVlKGNvbnN0IFN0cmluZyYpOwogCiAgICAgSFRN
TE9wdGlvbnNDb2xsZWN0aW9uKiBvcHRpb25zKCk7CisgICAgSFRNTENvbGxlY3Rpb24qIHNlbGVj
dGVkT3B0aW9ucygpOwogCiAgICAgdm9pZCBvcHRpb25FbGVtZW50Q2hpbGRyZW5DaGFuZ2VkKCk7
CiAKQEAgLTE3OCw2ICsxNzksNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBjaGlsZHJl
bkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIgPSBmYWxzZSwgTm9kZSogYmVmb3JlQ2hhbmdl
ID0gMCwgTm9kZSogYWZ0ZXJDaGFuZ2UgPSAwLCBpbnQgY2hpbGRDb3VudERlbHRhID0gMCk7CiAK
ICAgICBPd25QdHI8SFRNTE9wdGlvbnNDb2xsZWN0aW9uPiBtX29wdGlvbnNDb2xsZWN0aW9uOwor
ICAgIE93blB0cjxIVE1MQ29sbGVjdGlvbj4gbV9zZWxlY3RlZE9wdGlvbnNDb2xsZWN0aW9uOwog
CiAgICAgLy8gbV9saXN0SXRlbXMgY29udGFpbnMgSFRNTE9wdGlvbkVsZW1lbnQsIEhUTUxPcHRH
cm91cEVsZW1lbnQsIGFuZCBIVE1MSFJFbGVtZW50IG9iamVjdHMuCiAgICAgbXV0YWJsZSBWZWN0
b3I8SFRNTEVsZW1lbnQqPiBtX2xpc3RJdGVtczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2Vs
ZWN0RWxlbWVudC5pZGwKaW5kZXggMTIwMTE3Y2M5ZTk2NTVjYTAwMGFiMjI5MWQzYjA1NTI1NzAy
MTQ1OS4uYjg2MzYzNjk0NWU0ODcyOTVjYTQ2OTkxYmQ5YjYwYjcwMDYyMjU1MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGwKQEAgLTUzLDYgKzUzLDcgQEAgbW9k
dWxlIGh0bWwgewogI2Vsc2UKICAgICAgICAgdm9pZCByZW1vdmUoaW4gbG9uZyBpbmRleCk7CiAj
ZW5kaWYKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxDb2xsZWN0aW9uIHNlbGVjdGVk
T3B0aW9uczsKICAgICAgICAgYXR0cmlidXRlIGxvbmcgc2VsZWN0ZWRJbmRleDsKICAgICAgICAg
YXR0cmlidXRlIFtUcmVhdE51bGxBcz1OdWxsU3RyaW5nXSBET01TdHJpbmcgdmFsdWU7CiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCAzMWQ0NjE0MDRkMWI2YmZhYWE5ZTk5OTU2MjVmMTk4ZDJiNTQ5OGRhLi42ZTFjYWM2ZjRi
NDY0ZmFkZWI3YzJlZDEzNDVmZDgwMDhlMTk3NjQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MTItMDMtMDggIEFsZXhpcyBNZW5hcmQgIDxhbGV4aXMubWVuYXJkQG9wZW5ib3NzYS5vcmc+CisK
KyAgICAgICAgSW1wbGVtZW50IHNlbGVjdGVkT3B0aW9ucyBhdHRyaWJ1dGUgb2YgPHNlbGVjdD4u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDYzMQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5ldyB0ZXN0
cyB0byBjb3ZlciB0aGUgZmVhdHVyZS4KKworICAgICAgICAqIGZhc3QvZG9tL3NlbGVjdC1vcHRp
b25zLXNlbGVjdGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2Vs
ZWN0LW9wdGlvbnMtc2VsZWN0ZWQuaHRtbDogQWRkZWQuCisKIDIwMTItMDMtMDggIERhbiBCZXJu
c3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMTA5OTY0KTog
QXNzZXJ0aW9uIGZhaWx1cmUgKCFpc1VuZGVmaW5lZCgpKSBpbiBMZW5ndGg6OmdldEludFZhbHVl
KCkgd2hlbiBhIERhc2hib2FyZCByZWdpb24gaXMgc3BlY2lmaWVkIHdpdGhvdXQgb2Zmc2V0cwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2VsZWN0LW9wdGlvbnMtc2VsZWN0ZWQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2VsZWN0LW9wdGlvbnMtc2VsZWN0
ZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk4MDNlOWYxZTA4MWIwNDc1MGU4ODk0Yjg2ZWU1
YzJkODE2ZGU3MjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zZWxl
Y3Qtb3B0aW9ucy1zZWxlY3RlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzMCBAQAorCisxKSBJ
bml0aWFsIHRoZXJlIGlzIG5vIHNlbGVjdGVkIG9wdGlvbnMuCitQQVNTIG15U2VsZWN0Lm9wdGlv
bnMubGVuZ3RoIGlzIDIKK1BBU1MgbXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCBpcyAw
CisyKSBTZWxlY3QgYW4gb3B0aW9uIHNob3VsZCB1cGRhdGUgdGhlIHNlbGVjdGVkIG9wdGlvbnMg
Y29sbGVjdGlvbi4KK1BBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMgorUEFTUyBteVNl
bGVjdC5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoIGlzIDEKKzMpIEFkZGluZyBhIG5vbiBzZWxlY3Rl
ZCBvcHRpb24gc2hvdWxkIG5vdCBjaGFuZ2UgdGhlIHNlbGVjdGVkIG9wdGlvbnMgY29sbGVjdGlv
bi4KK1BBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMworUEFTUyBteVNlbGVjdC5zZWxl
Y3RlZE9wdGlvbnMubGVuZ3RoIGlzIDEKKzQpIEFkZGluZyBhIHNlbGVjdGVkIG9wdGlvbiBzaG91
bGQgY2hhbmdlIHRoZSBzZWxlY3RlZCBvcHRpb25zIGNvbGxlY3Rpb24uCitQQVNTIG15U2VsZWN0
Lm9wdGlvbnMubGVuZ3RoIGlzIDQKK1BBU1MgbXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zLmxlbmd0
aCBpcyAyCis1KSBVbnNlbGVjdCBhbiBvcHRpb24gc2hvdWxkIHVwZGF0ZSB0aGUgc2VsZWN0ZWQg
b3B0aW9ucyBjb2xsZWN0aW9uLgorUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyA0CitQ
QVNTIG15U2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGggaXMgMQorNikgUmVtb3ZlIGFuIG9w
dGlvbiB1bnNlbGVjdGVkIHNob3VsZCBub3QgdXBkYXRlIHRoZSBzZWxlY3RlZCBvcHRpb25zIGNv
bGxlY3Rpb24uCitQQVNTIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDMKK1BBU1MgbXlTZWxl
Y3Quc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCBpcyAxCis3KSBSZW1vdmUgYW4gb3B0aW9uIHNlbGVj
dGVkIHNob3VsZCB1cGRhdGUgdGhlIHNlbGVjdGVkIG9wdGlvbnMgY29sbGVjdGlvbi4KK1BBU1Mg
bXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMgorUEFTUyBteVNlbGVjdC5zZWxlY3RlZE9wdGlv
bnMubGVuZ3RoIGlzIDAKKzgpIENoYW5nZSBtdWx0aXBsZSBhdHRyaWJ1dGUgdG8gZmFsc2Ugc2hv
dWxkIHVwZGF0ZSBzZWxlY3RlZE9wdGlvbnMuCitQQVNTIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3Ro
IGlzIDIKK1BBU1MgbXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCBpcyAxCisKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zZWxlY3Qtb3B0aW9ucy1zZWxlY3RlZC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vc2VsZWN0LW9wdGlvbnMtc2VsZWN0ZWQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40MjJlY2UzNDQ3ODY2OGRmMDNjMTI0NDYwMTUzZjBiNjdlMDk4YmFmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2VsZWN0LW9wdGlvbnMtc2VsZWN0ZWQuaHRtbApA
QCAtMCwwICsxLDYwIEBACis8c2VsZWN0IGlkPSJ0ZXN0IiBzaXplPSIzIj4KKzwvc2VsZWN0Pgor
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiByZXNldChteVNlbGVj
dCkgeworICBteVNlbGVjdC5sZW5ndGggPSAwOworICBteVNlbGVjdC5tdWx0aXBsZSA9IHRydWU7
CisgIG15U2VsZWN0Lm9wdGlvbnNbbXlTZWxlY3QubGVuZ3RoXSA9IG5ldyBPcHRpb24oIm9uZSIs
ICJ2YWx1ZSIsIGZhbHNlKTsKKyAgbXlTZWxlY3Qub3B0aW9uc1tteVNlbGVjdC5sZW5ndGhdID0g
bmV3IE9wdGlvbigidHdvIiwgInZhbHVlIiwgZmFsc2UpOworfQorCit2YXIgbXlTZWxlY3QgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpOworcmVzZXQobXlTZWxlY3QpOwordmFyIGkg
PSAwOworCitkZWJ1ZygoKytpKSArICIpIEluaXRpYWwgdGhlcmUgaXMgbm8gc2VsZWN0ZWQgb3B0
aW9ucy4iKTsKK3Nob3VsZEJlKCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIyIik7CitzaG91
bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCIsICIwIik7CisKK2RlYnVnKCgr
K2kpICsgIikgU2VsZWN0IGFuIG9wdGlvbiBzaG91bGQgdXBkYXRlIHRoZSBzZWxlY3RlZCBvcHRp
b25zIGNvbGxlY3Rpb24uIik7CitteVNlbGVjdC5vcHRpb25zWzBdLnNlbGVjdGVkID0gdHJ1ZTsK
K3Nob3VsZEJlKCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIyIik7CitzaG91bGRCZSgibXlT
ZWxlY3Quc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCIsICIxIik7CisKK2RlYnVnKCgrK2kpICsgIikg
QWRkaW5nIGEgbm9uIHNlbGVjdGVkIG9wdGlvbiBzaG91bGQgbm90IGNoYW5nZSB0aGUgc2VsZWN0
ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLiIpOworbXlTZWxlY3Qub3B0aW9uc1tteVNlbGVjdC5sZW5n
dGhdID0gbmV3IE9wdGlvbigidGhyZWUiLCAidmFsdWUiLCBmYWxzZSk7CitzaG91bGRCZSgibXlT
ZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAiMyIpOworc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVk
T3B0aW9ucy5sZW5ndGgiLCAiMSIpOworCitkZWJ1ZygoKytpKSArICIpIEFkZGluZyBhIHNlbGVj
dGVkIG9wdGlvbiBzaG91bGQgY2hhbmdlIHRoZSBzZWxlY3RlZCBvcHRpb25zIGNvbGxlY3Rpb24u
Iik7CitteVNlbGVjdC5vcHRpb25zW215U2VsZWN0Lmxlbmd0aF0gPSBuZXcgT3B0aW9uKCJmaXZl
IiwgInZhbHVlIiwgdHJ1ZSwgdHJ1ZSk7CitzaG91bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5n
dGgiLCAiNCIpOworc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGgiLCAi
MiIpOworCitkZWJ1ZygoKytpKSArICIpIFVuc2VsZWN0IGFuIG9wdGlvbiBzaG91bGQgdXBkYXRl
IHRoZSBzZWxlY3RlZCBvcHRpb25zIGNvbGxlY3Rpb24uIik7CitteVNlbGVjdC5vcHRpb25zWzBd
LnNlbGVjdGVkID0gZmFsc2U7CitzaG91bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAi
NCIpOworc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGgiLCAiMSIpOwor
CitkZWJ1ZygoKytpKSArICIpIFJlbW92ZSBhbiBvcHRpb24gdW5zZWxlY3RlZCBzaG91bGQgbm90
IHVwZGF0ZSB0aGUgc2VsZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLiIpOworbXlTZWxlY3QucmVt
b3ZlKDApOworc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjMiKTsKK3Nob3Vs
ZEJlKCJteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoIiwgIjEiKTsKKworZGVidWcoKCsr
aSkgKyAiKSBSZW1vdmUgYW4gb3B0aW9uIHNlbGVjdGVkIHNob3VsZCB1cGRhdGUgdGhlIHNlbGVj
dGVkIG9wdGlvbnMgY29sbGVjdGlvbi4iKTsKK215U2VsZWN0LnJlbW92ZSgyKTsKK3Nob3VsZEJl
KCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIyIik7CitzaG91bGRCZSgibXlTZWxlY3Quc2Vs
ZWN0ZWRPcHRpb25zLmxlbmd0aCIsICIwIik7CisKK215U2VsZWN0Lm9wdGlvbnNbMF0uc2VsZWN0
ZWQgPSB0cnVlOworbXlTZWxlY3Qub3B0aW9uc1sxXS5zZWxlY3RlZCA9IHRydWU7CitkZWJ1Zygo
KytpKSArICIpIENoYW5nZSBtdWx0aXBsZSBhdHRyaWJ1dGUgdG8gZmFsc2Ugc2hvdWxkIHVwZGF0
ZSBzZWxlY3RlZE9wdGlvbnMuIik7CitteVNlbGVjdC5tdWx0aXBsZSA9IGZhbHNlOworc2hvdWxk
QmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJteVNlbGVjdC5z
ZWxlY3RlZE9wdGlvbnMubGVuZ3RoIiwgIjEiKTsKKworZGVidWcoIiIpOworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130885</attachid>
            <date>2012-03-08 13:08:41 -0800</date>
            <delta_ts>2012-03-08 13:25:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80631-20120308180825.patch</filename>
            <type>text/plain</type>
            <size>10506</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjBkZGU3ZGNmYjMxY2Qz
MjI4MDM2NzQ1MTAwZWQzMzFhYWYyMjVmNi4uNzYzNzI3MGJiNTQ2MmZjYTRlMmVkZGZjNDhlYTgy
ZTM5MGVmMTFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTAzLTA4ICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIEltcGxl
bWVudCBzZWxlY3RlZE9wdGlvbnMgYXR0cmlidXRlIG9mIDxzZWxlY3Q+LgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA2MzEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgY29sbGVjdGlvbiBh
cyBhIG1lbWJlciBvZiBIVE1MU2VsZWN0RWxlbWVudCB3aGljaCBpcworICAgICAgICB1c2VkIHRv
IHN0b3JlIHRoZSBzZWxlY3RlZCBlbGVtZW50cy4gRXh0ZW5kIEhUTUxDb2xsZWN0aW9uIHRvCisg
ICAgICAgIHN1cHBvcnQgdGhlIG5ldyBjb2xsZWN0aW9uIHR5cGUgbmVlZGVkIGJ5IHRoaXMgZmVh
dHVyZS4KKworICAgICAgICBSZWZlcmVuY2UgOiBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mv
d2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFnZS90aGUtYnV0dG9uLWVsZW1lbnQuaHRtbCNk
b20tc2VsZWN0LXNlbGVjdGVkb3B0aW9ucworCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL3NlbGVj
dC1vcHRpb25zLXNlbGVjdGVkLmh0bWwKKworICAgICAgICAqIGh0bWwvQ29sbGVjdGlvblR5cGUu
aDoKKyAgICAgICAgKiBodG1sL0hUTUxDb2xsZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxDb2xsZWN0aW9uOjpzaG91bGRJbmNsdWRlQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTENvbGxlY3Rpb246OmlzQWNjZXB0YWJsZUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwv
SFRNTFNlbGVjdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1l
bnQ6OnNlbGVjdGVkT3B0aW9ucyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBodG1s
L0hUTUxTZWxlY3RFbGVtZW50Lmg6CisgICAgICAgIChIVE1MU2VsZWN0RWxlbWVudCk6CisgICAg
ICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGw6CisKIDIwMTItMDMtMDggIERhbiBCZXJu
c3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMTA5OTY0KTog
QXNzZXJ0aW9uIGZhaWx1cmUgKCFpc1VuZGVmaW5lZCgpKSBpbiBMZW5ndGg6OmdldEludFZhbHVl
KCkgd2hlbiBhIERhc2hib2FyZCByZWdpb24gaXMgc3BlY2lmaWVkIHdpdGhvdXQgb2Zmc2V0cwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uVHlwZS5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uVHlwZS5oCmluZGV4IGZhMzQ4ZjljM2ViMzJjMDI4NDI4
NmUzZTc5NWM2NzBlNjk3YTE1NjMuLjRlZDk4MTk5ODA2N2I2NzY2YTQ3MWUyMTYwNjA1NjQyOWM5
ZDhiNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvblR5cGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25UeXBlLmgKQEAgLTUxLDYgKzUxLDcg
QEAgZW51bSBDb2xsZWN0aW9uVHlwZSB7CiAgICAgVFNlY3Rpb25Sb3dzLCAvLyBhbGwgcm93IGVs
ZW1lbnRzIGluIHRoaXMgdGFibGUgc2VjdGlvbgogICAgIFRSQ2VsbHMsICAgICAgLy8gYWxsIGNl
bGxzIGluIHRoaXMgcm93CiAgICAgU2VsZWN0T3B0aW9ucywKKyAgICBTZWxlY3RlZE9wdGlvbnMs
CiAgICAgRGF0YUxpc3RPcHRpb25zLAogICAgIE1hcEFyZWFzLAogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTENvbGxlY3Rpb24uY3BwCmluZGV4IDdkMDYzMDhmYzliZmJmMDFjNTY5Y2YwYzZlMDAwOTMx
ZTYxOGJhYzQuLmQxMWZlZTEyMTgxNWM3Y2ZjN2M5OWQwMWNlNTQ1NTg3YmUzY2IxYjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uY3BwCkBAIC02MSw2ICs2MSw3IEBAIGJvb2wg
SFRNTENvbGxlY3Rpb246OnNob3VsZEluY2x1ZGVDaGlsZHJlbihDb2xsZWN0aW9uVHlwZSB0eXBl
KQogICAgIGNhc2UgTWFwQXJlYXM6CiAgICAgY2FzZSBPdGhlckNvbGxlY3Rpb246CiAgICAgY2Fz
ZSBTZWxlY3RPcHRpb25zOgorICAgIGNhc2UgU2VsZWN0ZWRPcHRpb25zOgogICAgIGNhc2UgRGF0
YUxpc3RPcHRpb25zOgogICAgIGNhc2UgV2luZG93TmFtZWRJdGVtczoKICNpZiBFTkFCTEUoTUlD
Uk9EQVRBKQpAQCAtMTE0LDYgKzExNSwxMyBAQCBpbmxpbmUgYm9vbCBIVE1MQ29sbGVjdGlvbjo6
aXNBY2NlcHRhYmxlRWxlbWVudChFbGVtZW50KiBlbGVtZW50KSBjb25zdAogICAgICAgICByZXR1
cm4gZWxlbWVudC0+aGFzTG9jYWxOYW1lKHRyVGFnKTsKICAgICBjYXNlIFNlbGVjdE9wdGlvbnM6
CiAgICAgICAgIHJldHVybiBlbGVtZW50LT5oYXNMb2NhbE5hbWUob3B0aW9uVGFnKTsKKyAgICBj
YXNlIFNlbGVjdGVkT3B0aW9uczoKKyAgICAgICAgaWYgKGVsZW1lbnQtPmhhc0xvY2FsTmFtZShv
cHRpb25UYWcpKSB7CisgICAgICAgICAgICBIVE1MT3B0aW9uRWxlbWVudCogb3B0aW9uID0gc3Rh
dGljX2Nhc3Q8SFRNTE9wdGlvbkVsZW1lbnQqPihlbGVtZW50KTsKKyAgICAgICAgICAgIGlmIChv
cHRpb24tPnNlbGVjdGVkKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAg
IH0KKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGNhc2UgRGF0YUxpc3RPcHRpb25zOgogICAg
ICAgICBpZiAoZWxlbWVudC0+aGFzTG9jYWxOYW1lKG9wdGlvblRhZykpIHsKICAgICAgICAgICAg
IEhUTUxPcHRpb25FbGVtZW50KiBvcHRpb24gPSBzdGF0aWNfY2FzdDxIVE1MT3B0aW9uRWxlbWVu
dCo+KGVsZW1lbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcApp
bmRleCA2NjYzMTQyNWYyY2Q5M2M3MmZjYzNjZjNhNjJlYzgyZmQzMTg0NjczLi40MTNiNzcxYTgx
ZDc4NjZjOGYwZGE3MzM1N2RhMTM4YzZjOTE2MjdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxTZWxlY3RFbGVtZW50LmNwcApAQCAtMzMxLDYgKzMzMSwxMyBAQCBib29sIEhUTUxTZWxlY3RF
bGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250
ZXh0JiBjaAogICAgIHJldHVybiBjaGlsZENvbnRleHQuaXNPbkVuY2Fwc3VsYXRpb25Cb3VuZGFy
eSgpICYmIEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGU6OmNoaWxkU2hvdWxkQ3JlYXRl
UmVuZGVyZXIoY2hpbGRDb250ZXh0KTsKIH0KIAorSFRNTENvbGxlY3Rpb24qIEhUTUxTZWxlY3RF
bGVtZW50OjpzZWxlY3RlZE9wdGlvbnMoKQoreworICAgIGlmICghbV9zZWxlY3RlZE9wdGlvbnND
b2xsZWN0aW9uKQorICAgICAgICBtX3NlbGVjdGVkT3B0aW9uc0NvbGxlY3Rpb24gPSBIVE1MQ29s
bGVjdGlvbjo6Y3JlYXRlKHRoaXMsIFNlbGVjdGVkT3B0aW9ucyk7CisgICAgcmV0dXJuIG1fc2Vs
ZWN0ZWRPcHRpb25zQ29sbGVjdGlvbi5nZXQoKTsKK30KKwogSFRNTE9wdGlvbnNDb2xsZWN0aW9u
KiBIVE1MU2VsZWN0RWxlbWVudDo6b3B0aW9ucygpCiB7CiAgICAgaWYgKCFtX29wdGlvbnNDb2xs
ZWN0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCmluZGV4IGY4YjU5
OWY5MWM5NTc0MTAyMzgyYzhlYjUwZjM4ZWI1MzBmNDdkOGUuLjNlZDYxOTYxY2IyNjBiNGRjYjQ2
YzJkYWRhODA1ZjBhM2JmNjJkNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFNlbGVjdEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVt
ZW50LmgKQEAgLTYzLDYgKzYzLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VmFsdWUoY29uc3Qg
U3RyaW5nJik7CiAKICAgICBIVE1MT3B0aW9uc0NvbGxlY3Rpb24qIG9wdGlvbnMoKTsKKyAgICBI
VE1MQ29sbGVjdGlvbiogc2VsZWN0ZWRPcHRpb25zKCk7CiAKICAgICB2b2lkIG9wdGlvbkVsZW1l
bnRDaGlsZHJlbkNoYW5nZWQoKTsKIApAQCAtMTc4LDYgKzE3OSw3IEBAIHByaXZhdGU6CiAgICAg
dmlydHVhbCB2b2lkIGNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5nZWRCeVBhcnNlciA9IGZhbHNl
LCBOb2RlKiBiZWZvcmVDaGFuZ2UgPSAwLCBOb2RlKiBhZnRlckNoYW5nZSA9IDAsIGludCBjaGls
ZENvdW50RGVsdGEgPSAwKTsKIAogICAgIE93blB0cjxIVE1MT3B0aW9uc0NvbGxlY3Rpb24+IG1f
b3B0aW9uc0NvbGxlY3Rpb247CisgICAgT3duUHRyPEhUTUxDb2xsZWN0aW9uPiBtX3NlbGVjdGVk
T3B0aW9uc0NvbGxlY3Rpb247CiAKICAgICAvLyBtX2xpc3RJdGVtcyBjb250YWlucyBIVE1MT3B0
aW9uRWxlbWVudCwgSFRNTE9wdEdyb3VwRWxlbWVudCwgYW5kIEhUTUxIUkVsZW1lbnQgb2JqZWN0
cy4KICAgICBtdXRhYmxlIFZlY3RvcjxIVE1MRWxlbWVudCo+IG1fbGlzdEl0ZW1zOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbAppbmRleCAxMjAxMTdjYzllOTY1NWNh
MDAwYWIyMjkxZDNiMDU1MjU3MDIxNDU5Li5iODYzNjM2OTQ1ZTQ4NzI5NWNhNDY5OTFiZDliNjBi
NzAwNjIyNTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVt
ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbApA
QCAtNTMsNiArNTMsNyBAQCBtb2R1bGUgaHRtbCB7CiAjZWxzZQogICAgICAgICB2b2lkIHJlbW92
ZShpbiBsb25nIGluZGV4KTsKICNlbmRpZgorICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRN
TENvbGxlY3Rpb24gc2VsZWN0ZWRPcHRpb25zOwogICAgICAgICBhdHRyaWJ1dGUgbG9uZyBzZWxl
Y3RlZEluZGV4OwogICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIERP
TVN0cmluZyB2YWx1ZTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDMxZDQ2MTQwNGQxYjZiZmFhYTllOTk5NTYyNWYxOThk
MmI1NDk4ZGEuLjZlMWNhYzZmNGI0NjRmYWRlYjdjMmVkMTM0NWZkODAwOGUxOTc2NDkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAxMi0wMy0wOCAgQWxleGlzIE1lbmFyZCAgPGFsZXhpcy5tZW5h
cmRAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgc2VsZWN0ZWRPcHRpb25zIGF0
dHJpYnV0ZSBvZiA8c2VsZWN0Pi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTgwNjMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTmV3IHRlc3RzIHRvIGNvdmVyIHRoZSBmZWF0dXJlLgorCisgICAgICAgICog
ZmFzdC9kb20vc2VsZWN0LW9wdGlvbnMtc2VsZWN0ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2RvbS9zZWxlY3Qtb3B0aW9ucy1zZWxlY3RlZC5odG1sOiBBZGRlZC4KKwog
MjAxMi0wMy0wOCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFJF
R1JFU1NJT04gKHIxMDk5NjQpOiBBc3NlcnRpb24gZmFpbHVyZSAoIWlzVW5kZWZpbmVkKCkpIGlu
IExlbmd0aDo6Z2V0SW50VmFsdWUoKSB3aGVuIGEgRGFzaGJvYXJkIHJlZ2lvbiBpcyBzcGVjaWZp
ZWQgd2l0aG91dCBvZmZzZXRzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zZWxl
Y3Qtb3B0aW9ucy1zZWxlY3RlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
ZWxlY3Qtb3B0aW9ucy1zZWxlY3RlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTgwM2U5ZjFl
MDgxYjA0NzUwZTg4OTRiODZlZTVjMmQ4MTZkZTcyMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NlbGVjdC1vcHRpb25zLXNlbGVjdGVkLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDMwIEBACisKKzEpIEluaXRpYWwgdGhlcmUgaXMgbm8gc2VsZWN0ZWQgb3B0aW9ucy4K
K1BBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMgorUEFTUyBteVNlbGVjdC5zZWxlY3Rl
ZE9wdGlvbnMubGVuZ3RoIGlzIDAKKzIpIFNlbGVjdCBhbiBvcHRpb24gc2hvdWxkIHVwZGF0ZSB0
aGUgc2VsZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLgorUEFTUyBteVNlbGVjdC5vcHRpb25zLmxl
bmd0aCBpcyAyCitQQVNTIG15U2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGggaXMgMQorMykg
QWRkaW5nIGEgbm9uIHNlbGVjdGVkIG9wdGlvbiBzaG91bGQgbm90IGNoYW5nZSB0aGUgc2VsZWN0
ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLgorUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAz
CitQQVNTIG15U2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGggaXMgMQorNCkgQWRkaW5nIGEg
c2VsZWN0ZWQgb3B0aW9uIHNob3VsZCBjaGFuZ2UgdGhlIHNlbGVjdGVkIG9wdGlvbnMgY29sbGVj
dGlvbi4KK1BBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgNAorUEFTUyBteVNlbGVjdC5z
ZWxlY3RlZE9wdGlvbnMubGVuZ3RoIGlzIDIKKzUpIFVuc2VsZWN0IGFuIG9wdGlvbiBzaG91bGQg
dXBkYXRlIHRoZSBzZWxlY3RlZCBvcHRpb25zIGNvbGxlY3Rpb24uCitQQVNTIG15U2VsZWN0Lm9w
dGlvbnMubGVuZ3RoIGlzIDQKK1BBU1MgbXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCBp
cyAxCis2KSBSZW1vdmUgYW4gb3B0aW9uIHVuc2VsZWN0ZWQgc2hvdWxkIG5vdCB1cGRhdGUgdGhl
IHNlbGVjdGVkIG9wdGlvbnMgY29sbGVjdGlvbi4KK1BBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5n
dGggaXMgMworUEFTUyBteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoIGlzIDEKKzcpIFJl
bW92ZSBhbiBvcHRpb24gc2VsZWN0ZWQgc2hvdWxkIHVwZGF0ZSB0aGUgc2VsZWN0ZWQgb3B0aW9u
cyBjb2xsZWN0aW9uLgorUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAyCitQQVNTIG15
U2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGggaXMgMAorOCkgQ2hhbmdlIG11bHRpcGxlIGF0
dHJpYnV0ZSB0byBmYWxzZSBzaG91bGQgdXBkYXRlIHNlbGVjdGVkT3B0aW9ucy4KK1BBU1MgbXlT
ZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMgorUEFTUyBteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMu
bGVuZ3RoIGlzIDEKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NlbGVjdC1vcHRpb25z
LXNlbGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zZWxlY3Qtb3B0aW9ucy1zZWxl
Y3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyMmVjZTM0NDc4NjY4ZGYwM2MxMjQ0NjAxNTNmMGI2N2Uw
OThiYWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zZWxlY3Qtb3B0
aW9ucy1zZWxlY3RlZC5odG1sCkBAIC0wLDAgKzEsNjAgQEAKKzxzZWxlY3QgaWQ9InRlc3QiIHNp
emU9IjMiPgorPC9zZWxlY3Q+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3Jj
PSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1
bmN0aW9uIHJlc2V0KG15U2VsZWN0KSB7CisgIG15U2VsZWN0Lmxlbmd0aCA9IDA7CisgIG15U2Vs
ZWN0Lm11bHRpcGxlID0gdHJ1ZTsKKyAgbXlTZWxlY3Qub3B0aW9uc1tteVNlbGVjdC5sZW5ndGhd
ID0gbmV3IE9wdGlvbigib25lIiwgInZhbHVlIiwgZmFsc2UpOworICBteVNlbGVjdC5vcHRpb25z
W215U2VsZWN0Lmxlbmd0aF0gPSBuZXcgT3B0aW9uKCJ0d28iLCAidmFsdWUiLCBmYWxzZSk7Cit9
CisKK3ZhciBteVNlbGVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7CityZXNl
dChteVNlbGVjdCk7Cit2YXIgaSA9IDA7CisKK2RlYnVnKCgrK2kpICsgIikgSW5pdGlhbCB0aGVy
ZSBpcyBubyBzZWxlY3RlZCBvcHRpb25zLiIpOworc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMu
bGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMubGVuZ3Ro
IiwgIjAiKTsKKworZGVidWcoKCsraSkgKyAiKSBTZWxlY3QgYW4gb3B0aW9uIHNob3VsZCB1cGRh
dGUgdGhlIHNlbGVjdGVkIG9wdGlvbnMgY29sbGVjdGlvbi4iKTsKK215U2VsZWN0Lm9wdGlvbnNb
MF0uc2VsZWN0ZWQgPSB0cnVlOworc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwg
IjIiKTsKK3Nob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoIiwgIjEiKTsK
KworZGVidWcoKCsraSkgKyAiKSBBZGRpbmcgYSBub24gc2VsZWN0ZWQgb3B0aW9uIHNob3VsZCBu
b3QgY2hhbmdlIHRoZSBzZWxlY3RlZCBvcHRpb25zIGNvbGxlY3Rpb24uIik7CitteVNlbGVjdC5v
cHRpb25zW215U2VsZWN0Lmxlbmd0aF0gPSBuZXcgT3B0aW9uKCJ0aHJlZSIsICJ2YWx1ZSIsIGZh
bHNlKTsKK3Nob3VsZEJlKCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIzIik7CitzaG91bGRC
ZSgibXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCIsICIxIik7CisKK2RlYnVnKCgrK2kp
ICsgIikgQWRkaW5nIGEgc2VsZWN0ZWQgb3B0aW9uIHNob3VsZCBjaGFuZ2UgdGhlIHNlbGVjdGVk
IG9wdGlvbnMgY29sbGVjdGlvbi4iKTsKK215U2VsZWN0Lm9wdGlvbnNbbXlTZWxlY3QubGVuZ3Ro
XSA9IG5ldyBPcHRpb24oImZpdmUiLCAidmFsdWUiLCB0cnVlLCB0cnVlKTsKK3Nob3VsZEJlKCJt
eVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICI0Iik7CitzaG91bGRCZSgibXlTZWxlY3Quc2VsZWN0
ZWRPcHRpb25zLmxlbmd0aCIsICIyIik7CisKK2RlYnVnKCgrK2kpICsgIikgVW5zZWxlY3QgYW4g
b3B0aW9uIHNob3VsZCB1cGRhdGUgdGhlIHNlbGVjdGVkIG9wdGlvbnMgY29sbGVjdGlvbi4iKTsK
K215U2VsZWN0Lm9wdGlvbnNbMF0uc2VsZWN0ZWQgPSBmYWxzZTsKK3Nob3VsZEJlKCJteVNlbGVj
dC5vcHRpb25zLmxlbmd0aCIsICI0Iik7CitzaG91bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRPcHRp
b25zLmxlbmd0aCIsICIxIik7CisKK2RlYnVnKCgrK2kpICsgIikgUmVtb3ZlIGFuIG9wdGlvbiB1
bnNlbGVjdGVkIHNob3VsZCBub3QgdXBkYXRlIHRoZSBzZWxlY3RlZCBvcHRpb25zIGNvbGxlY3Rp
b24uIik7CitteVNlbGVjdC5yZW1vdmUoMCk7CitzaG91bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5s
ZW5ndGgiLCAiMyIpOworc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGgi
LCAiMSIpOworCitkZWJ1ZygoKytpKSArICIpIFJlbW92ZSBhbiBvcHRpb24gc2VsZWN0ZWQgc2hv
dWxkIHVwZGF0ZSB0aGUgc2VsZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLiIpOworbXlTZWxlY3Qu
cmVtb3ZlKDIpOworc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjIiKTsKK3No
b3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKKworbXlTZWxl
Y3Qub3B0aW9uc1swXS5zZWxlY3RlZCA9IHRydWU7CitteVNlbGVjdC5vcHRpb25zWzFdLnNlbGVj
dGVkID0gdHJ1ZTsKK2RlYnVnKCgrK2kpICsgIikgQ2hhbmdlIG11bHRpcGxlIGF0dHJpYnV0ZSB0
byBmYWxzZSBzaG91bGQgdXBkYXRlIHNlbGVjdGVkT3B0aW9ucy4iKTsKK215U2VsZWN0Lm11bHRp
cGxlID0gZmFsc2U7CitzaG91bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAiMiIpOwor
c2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGgiLCAiMSIpOworCitkZWJ1
ZygiIik7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130888</attachid>
            <date>2012-03-08 13:25:41 -0800</date>
            <delta_ts>2012-03-09 03:34:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80631-20120308182524.patch</filename>
            <type>text/plain</type>
            <size>11240</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjBkZGU3ZGNmYjMxY2Qz
MjI4MDM2NzQ1MTAwZWQzMzFhYWYyMjVmNi4uNzYzNzI3MGJiNTQ2MmZjYTRlMmVkZGZjNDhlYTgy
ZTM5MGVmMTFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTAzLTA4ICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIEltcGxl
bWVudCBzZWxlY3RlZE9wdGlvbnMgYXR0cmlidXRlIG9mIDxzZWxlY3Q+LgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA2MzEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgY29sbGVjdGlvbiBh
cyBhIG1lbWJlciBvZiBIVE1MU2VsZWN0RWxlbWVudCB3aGljaCBpcworICAgICAgICB1c2VkIHRv
IHN0b3JlIHRoZSBzZWxlY3RlZCBlbGVtZW50cy4gRXh0ZW5kIEhUTUxDb2xsZWN0aW9uIHRvCisg
ICAgICAgIHN1cHBvcnQgdGhlIG5ldyBjb2xsZWN0aW9uIHR5cGUgbmVlZGVkIGJ5IHRoaXMgZmVh
dHVyZS4KKworICAgICAgICBSZWZlcmVuY2UgOiBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mv
d2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFnZS90aGUtYnV0dG9uLWVsZW1lbnQuaHRtbCNk
b20tc2VsZWN0LXNlbGVjdGVkb3B0aW9ucworCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL3NlbGVj
dC1vcHRpb25zLXNlbGVjdGVkLmh0bWwKKworICAgICAgICAqIGh0bWwvQ29sbGVjdGlvblR5cGUu
aDoKKyAgICAgICAgKiBodG1sL0hUTUxDb2xsZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxDb2xsZWN0aW9uOjpzaG91bGRJbmNsdWRlQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTENvbGxlY3Rpb246OmlzQWNjZXB0YWJsZUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwv
SFRNTFNlbGVjdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1l
bnQ6OnNlbGVjdGVkT3B0aW9ucyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBodG1s
L0hUTUxTZWxlY3RFbGVtZW50Lmg6CisgICAgICAgIChIVE1MU2VsZWN0RWxlbWVudCk6CisgICAg
ICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGw6CisKIDIwMTItMDMtMDggIERhbiBCZXJu
c3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMTA5OTY0KTog
QXNzZXJ0aW9uIGZhaWx1cmUgKCFpc1VuZGVmaW5lZCgpKSBpbiBMZW5ndGg6OmdldEludFZhbHVl
KCkgd2hlbiBhIERhc2hib2FyZCByZWdpb24gaXMgc3BlY2lmaWVkIHdpdGhvdXQgb2Zmc2V0cwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uVHlwZS5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uVHlwZS5oCmluZGV4IGZhMzQ4ZjljM2ViMzJjMDI4NDI4
NmUzZTc5NWM2NzBlNjk3YTE1NjMuLjRlZDk4MTk5ODA2N2I2NzY2YTQ3MWUyMTYwNjA1NjQyOWM5
ZDhiNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvblR5cGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25UeXBlLmgKQEAgLTUxLDYgKzUxLDcg
QEAgZW51bSBDb2xsZWN0aW9uVHlwZSB7CiAgICAgVFNlY3Rpb25Sb3dzLCAvLyBhbGwgcm93IGVs
ZW1lbnRzIGluIHRoaXMgdGFibGUgc2VjdGlvbgogICAgIFRSQ2VsbHMsICAgICAgLy8gYWxsIGNl
bGxzIGluIHRoaXMgcm93CiAgICAgU2VsZWN0T3B0aW9ucywKKyAgICBTZWxlY3RlZE9wdGlvbnMs
CiAgICAgRGF0YUxpc3RPcHRpb25zLAogICAgIE1hcEFyZWFzLAogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTENvbGxlY3Rpb24uY3BwCmluZGV4IDdkMDYzMDhmYzliZmJmMDFjNTY5Y2YwYzZlMDAwOTMx
ZTYxOGJhYzQuLmQxMWZlZTEyMTgxNWM3Y2ZjN2M5OWQwMWNlNTQ1NTg3YmUzY2IxYjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uY3BwCkBAIC02MSw2ICs2MSw3IEBAIGJvb2wg
SFRNTENvbGxlY3Rpb246OnNob3VsZEluY2x1ZGVDaGlsZHJlbihDb2xsZWN0aW9uVHlwZSB0eXBl
KQogICAgIGNhc2UgTWFwQXJlYXM6CiAgICAgY2FzZSBPdGhlckNvbGxlY3Rpb246CiAgICAgY2Fz
ZSBTZWxlY3RPcHRpb25zOgorICAgIGNhc2UgU2VsZWN0ZWRPcHRpb25zOgogICAgIGNhc2UgRGF0
YUxpc3RPcHRpb25zOgogICAgIGNhc2UgV2luZG93TmFtZWRJdGVtczoKICNpZiBFTkFCTEUoTUlD
Uk9EQVRBKQpAQCAtMTE0LDYgKzExNSwxMyBAQCBpbmxpbmUgYm9vbCBIVE1MQ29sbGVjdGlvbjo6
aXNBY2NlcHRhYmxlRWxlbWVudChFbGVtZW50KiBlbGVtZW50KSBjb25zdAogICAgICAgICByZXR1
cm4gZWxlbWVudC0+aGFzTG9jYWxOYW1lKHRyVGFnKTsKICAgICBjYXNlIFNlbGVjdE9wdGlvbnM6
CiAgICAgICAgIHJldHVybiBlbGVtZW50LT5oYXNMb2NhbE5hbWUob3B0aW9uVGFnKTsKKyAgICBj
YXNlIFNlbGVjdGVkT3B0aW9uczoKKyAgICAgICAgaWYgKGVsZW1lbnQtPmhhc0xvY2FsTmFtZShv
cHRpb25UYWcpKSB7CisgICAgICAgICAgICBIVE1MT3B0aW9uRWxlbWVudCogb3B0aW9uID0gc3Rh
dGljX2Nhc3Q8SFRNTE9wdGlvbkVsZW1lbnQqPihlbGVtZW50KTsKKyAgICAgICAgICAgIGlmIChv
cHRpb24tPnNlbGVjdGVkKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAg
IH0KKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGNhc2UgRGF0YUxpc3RPcHRpb25zOgogICAg
ICAgICBpZiAoZWxlbWVudC0+aGFzTG9jYWxOYW1lKG9wdGlvblRhZykpIHsKICAgICAgICAgICAg
IEhUTUxPcHRpb25FbGVtZW50KiBvcHRpb24gPSBzdGF0aWNfY2FzdDxIVE1MT3B0aW9uRWxlbWVu
dCo+KGVsZW1lbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcApp
bmRleCA2NjYzMTQyNWYyY2Q5M2M3MmZjYzNjZjNhNjJlYzgyZmQzMTg0NjczLi40MTNiNzcxYTgx
ZDc4NjZjOGYwZGE3MzM1N2RhMTM4YzZjOTE2MjdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxTZWxlY3RFbGVtZW50LmNwcApAQCAtMzMxLDYgKzMzMSwxMyBAQCBib29sIEhUTUxTZWxlY3RF
bGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250
ZXh0JiBjaAogICAgIHJldHVybiBjaGlsZENvbnRleHQuaXNPbkVuY2Fwc3VsYXRpb25Cb3VuZGFy
eSgpICYmIEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGU6OmNoaWxkU2hvdWxkQ3JlYXRl
UmVuZGVyZXIoY2hpbGRDb250ZXh0KTsKIH0KIAorSFRNTENvbGxlY3Rpb24qIEhUTUxTZWxlY3RF
bGVtZW50OjpzZWxlY3RlZE9wdGlvbnMoKQoreworICAgIGlmICghbV9zZWxlY3RlZE9wdGlvbnND
b2xsZWN0aW9uKQorICAgICAgICBtX3NlbGVjdGVkT3B0aW9uc0NvbGxlY3Rpb24gPSBIVE1MQ29s
bGVjdGlvbjo6Y3JlYXRlKHRoaXMsIFNlbGVjdGVkT3B0aW9ucyk7CisgICAgcmV0dXJuIG1fc2Vs
ZWN0ZWRPcHRpb25zQ29sbGVjdGlvbi5nZXQoKTsKK30KKwogSFRNTE9wdGlvbnNDb2xsZWN0aW9u
KiBIVE1MU2VsZWN0RWxlbWVudDo6b3B0aW9ucygpCiB7CiAgICAgaWYgKCFtX29wdGlvbnNDb2xs
ZWN0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCmluZGV4IGY4YjU5
OWY5MWM5NTc0MTAyMzgyYzhlYjUwZjM4ZWI1MzBmNDdkOGUuLjNlZDYxOTYxY2IyNjBiNGRjYjQ2
YzJkYWRhODA1ZjBhM2JmNjJkNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFNlbGVjdEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVt
ZW50LmgKQEAgLTYzLDYgKzYzLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0VmFsdWUoY29uc3Qg
U3RyaW5nJik7CiAKICAgICBIVE1MT3B0aW9uc0NvbGxlY3Rpb24qIG9wdGlvbnMoKTsKKyAgICBI
VE1MQ29sbGVjdGlvbiogc2VsZWN0ZWRPcHRpb25zKCk7CiAKICAgICB2b2lkIG9wdGlvbkVsZW1l
bnRDaGlsZHJlbkNoYW5nZWQoKTsKIApAQCAtMTc4LDYgKzE3OSw3IEBAIHByaXZhdGU6CiAgICAg
dmlydHVhbCB2b2lkIGNoaWxkcmVuQ2hhbmdlZChib29sIGNoYW5nZWRCeVBhcnNlciA9IGZhbHNl
LCBOb2RlKiBiZWZvcmVDaGFuZ2UgPSAwLCBOb2RlKiBhZnRlckNoYW5nZSA9IDAsIGludCBjaGls
ZENvdW50RGVsdGEgPSAwKTsKIAogICAgIE93blB0cjxIVE1MT3B0aW9uc0NvbGxlY3Rpb24+IG1f
b3B0aW9uc0NvbGxlY3Rpb247CisgICAgT3duUHRyPEhUTUxDb2xsZWN0aW9uPiBtX3NlbGVjdGVk
T3B0aW9uc0NvbGxlY3Rpb247CiAKICAgICAvLyBtX2xpc3RJdGVtcyBjb250YWlucyBIVE1MT3B0
aW9uRWxlbWVudCwgSFRNTE9wdEdyb3VwRWxlbWVudCwgYW5kIEhUTUxIUkVsZW1lbnQgb2JqZWN0
cy4KICAgICBtdXRhYmxlIFZlY3RvcjxIVE1MRWxlbWVudCo+IG1fbGlzdEl0ZW1zOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbAppbmRleCAxMjAxMTdjYzllOTY1NWNh
MDAwYWIyMjkxZDNiMDU1MjU3MDIxNDU5Li5iODYzNjM2OTQ1ZTQ4NzI5NWNhNDY5OTFiZDliNjBi
NzAwNjIyNTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVt
ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbApA
QCAtNTMsNiArNTMsNyBAQCBtb2R1bGUgaHRtbCB7CiAjZWxzZQogICAgICAgICB2b2lkIHJlbW92
ZShpbiBsb25nIGluZGV4KTsKICNlbmRpZgorICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRN
TENvbGxlY3Rpb24gc2VsZWN0ZWRPcHRpb25zOwogICAgICAgICBhdHRyaWJ1dGUgbG9uZyBzZWxl
Y3RlZEluZGV4OwogICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIERP
TVN0cmluZyB2YWx1ZTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDMxZDQ2MTQwNGQxYjZiZmFhYTllOTk5NTYyNWYxOThk
MmI1NDk4ZGEuLjZlMWNhYzZmNGI0NjRmYWRlYjdjMmVkMTM0NWZkODAwOGUxOTc2NDkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAxMi0wMy0wOCAgQWxleGlzIE1lbmFyZCAgPGFsZXhpcy5tZW5h
cmRAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBJbXBsZW1lbnQgc2VsZWN0ZWRPcHRpb25zIGF0
dHJpYnV0ZSBvZiA8c2VsZWN0Pi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTgwNjMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTmV3IHRlc3RzIHRvIGNvdmVyIHRoZSBmZWF0dXJlLgorCisgICAgICAgICog
ZmFzdC9kb20vc2VsZWN0LW9wdGlvbnMtc2VsZWN0ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2RvbS9zZWxlY3Qtb3B0aW9ucy1zZWxlY3RlZC5odG1sOiBBZGRlZC4KKwog
MjAxMi0wMy0wOCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFJF
R1JFU1NJT04gKHIxMDk5NjQpOiBBc3NlcnRpb24gZmFpbHVyZSAoIWlzVW5kZWZpbmVkKCkpIGlu
IExlbmd0aDo6Z2V0SW50VmFsdWUoKSB3aGVuIGEgRGFzaGJvYXJkIHJlZ2lvbiBpcyBzcGVjaWZp
ZWQgd2l0aG91dCBvZmZzZXRzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zZWxl
Y3Qtb3B0aW9ucy1zZWxlY3RlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
ZWxlY3Qtb3B0aW9ucy1zZWxlY3RlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmIwMGI1Nzc4
ZTM1YmY5ZDRiOWRmMDhhMWRjOTUzNDkxZTMyZjUzZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NlbGVjdC1vcHRpb25zLXNlbGVjdGVkLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDM3IEBACisKKzEpIEluaXRpYWwgdGhlcmUgaXMgbm8gc2VsZWN0ZWQgb3B0aW9ucy4K
K1BBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMgorUEFTUyBteVNlbGVjdC5zZWxlY3Rl
ZE9wdGlvbnMubGVuZ3RoIGlzIDAKKzIpIFNlbGVjdCBhbiBvcHRpb24gc2hvdWxkIHVwZGF0ZSB0
aGUgc2VsZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLgorUEFTUyBteVNlbGVjdC5vcHRpb25zLmxl
bmd0aCBpcyAyCitQQVNTIG15U2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGggaXMgMQorUEFT
UyBteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnNbMF0udGV4dCBpcyAnb25lJworMykgQWRkaW5nIGEg
bm9uIHNlbGVjdGVkIG9wdGlvbiBzaG91bGQgbm90IGNoYW5nZSB0aGUgc2VsZWN0ZWQgb3B0aW9u
cyBjb2xsZWN0aW9uLgorUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAzCitQQVNTIG15
U2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGggaXMgMQorUEFTUyBteVNlbGVjdC5zZWxlY3Rl
ZE9wdGlvbnNbMF0udGV4dCBpcyAnb25lJworNCkgQWRkaW5nIGEgc2VsZWN0ZWQgb3B0aW9uIHNo
b3VsZCBjaGFuZ2UgdGhlIHNlbGVjdGVkIG9wdGlvbnMgY29sbGVjdGlvbi4KK1BBU1MgbXlTZWxl
Y3Qub3B0aW9ucy5sZW5ndGggaXMgNAorUEFTUyBteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMubGVu
Z3RoIGlzIDIKK1BBU1MgbXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zWzBdLnRleHQgaXMgJ29uZScK
K1BBU1MgbXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zWzFdLnRleHQgaXMgJ2ZpdmUnCis1KSBVbnNl
bGVjdCBhbiBvcHRpb24gc2hvdWxkIHVwZGF0ZSB0aGUgc2VsZWN0ZWQgb3B0aW9ucyBjb2xsZWN0
aW9uLgorUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyA0CitQQVNTIG15U2VsZWN0LnNl
bGVjdGVkT3B0aW9ucy5sZW5ndGggaXMgMQorUEFTUyBteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnNb
MF0udGV4dCBpcyAnZml2ZScKKzYpIFJlbW92ZSBhbiBvcHRpb24gdW5zZWxlY3RlZCBzaG91bGQg
bm90IHVwZGF0ZSB0aGUgc2VsZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLgorUEFTUyBteVNlbGVj
dC5vcHRpb25zLmxlbmd0aCBpcyAzCitQQVNTIG15U2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5sZW5n
dGggaXMgMQorUEFTUyBteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnNbMF0udGV4dCBpcyAnZml2ZScK
KzcpIFJlbW92ZSBhbiBvcHRpb24gc2VsZWN0ZWQgc2hvdWxkIHVwZGF0ZSB0aGUgc2VsZWN0ZWQg
b3B0aW9ucyBjb2xsZWN0aW9uLgorUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAyCitQ
QVNTIG15U2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGggaXMgMAorOCkgQ2hhbmdlIG11bHRp
cGxlIGF0dHJpYnV0ZSB0byBmYWxzZSBzaG91bGQgdXBkYXRlIHNlbGVjdGVkT3B0aW9ucy4KK1BB
U1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMgorUEFTUyBteVNlbGVjdC5zZWxlY3RlZE9w
dGlvbnMubGVuZ3RoIGlzIDEKK1BBU1MgbXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zWzBdLnRleHQg
aXMgJ3R3bycKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NlbGVjdC1vcHRpb25zLXNl
bGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zZWxlY3Qtb3B0aW9ucy1zZWxlY3Rl
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmMxMmNlM2MxY2E5YmIxMGNiZDhiMzgwMzVhODllYzFlYzkxYzEx
NzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zZWxlY3Qtb3B0aW9u
cy1zZWxlY3RlZC5odG1sCkBAIC0wLDAgKzEsNjcgQEAKKzxzZWxlY3QgaWQ9InRlc3QiIHNpemU9
IjMiPgorPC9zZWxlY3Q+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSIu
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0
aW9uIHJlc2V0KG15U2VsZWN0KSB7CisgIG15U2VsZWN0Lmxlbmd0aCA9IDA7CisgIG15U2VsZWN0
Lm11bHRpcGxlID0gdHJ1ZTsKKyAgbXlTZWxlY3Qub3B0aW9uc1tteVNlbGVjdC5sZW5ndGhdID0g
bmV3IE9wdGlvbigib25lIiwgInZhbHVlIiwgZmFsc2UpOworICBteVNlbGVjdC5vcHRpb25zW215
U2VsZWN0Lmxlbmd0aF0gPSBuZXcgT3B0aW9uKCJ0d28iLCAidmFsdWUiLCBmYWxzZSk7Cit9CisK
K3ZhciBteVNlbGVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7CityZXNldCht
eVNlbGVjdCk7Cit2YXIgaSA9IDA7CisKK2RlYnVnKCgrK2kpICsgIikgSW5pdGlhbCB0aGVyZSBp
cyBubyBzZWxlY3RlZCBvcHRpb25zLiIpOworc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVu
Z3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoIiwg
IjAiKTsKKworZGVidWcoKCsraSkgKyAiKSBTZWxlY3QgYW4gb3B0aW9uIHNob3VsZCB1cGRhdGUg
dGhlIHNlbGVjdGVkIG9wdGlvbnMgY29sbGVjdGlvbi4iKTsKK215U2VsZWN0Lm9wdGlvbnNbMF0u
c2VsZWN0ZWQgPSB0cnVlOworc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjIi
KTsKK3Nob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoIiwgIjEiKTsKK3No
b3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnNbMF0udGV4dCIsICInb25lJyIpOworCitk
ZWJ1ZygoKytpKSArICIpIEFkZGluZyBhIG5vbiBzZWxlY3RlZCBvcHRpb24gc2hvdWxkIG5vdCBj
aGFuZ2UgdGhlIHNlbGVjdGVkIG9wdGlvbnMgY29sbGVjdGlvbi4iKTsKK215U2VsZWN0Lm9wdGlv
bnNbbXlTZWxlY3QubGVuZ3RoXSA9IG5ldyBPcHRpb24oInRocmVlIiwgInZhbHVlIiwgZmFsc2Up
Oworc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjMiKTsKK3Nob3VsZEJlKCJt
eVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoIiwgIjEiKTsKK3Nob3VsZEJlKCJteVNlbGVj
dC5zZWxlY3RlZE9wdGlvbnNbMF0udGV4dCIsICInb25lJyIpOworCitkZWJ1ZygoKytpKSArICIp
IEFkZGluZyBhIHNlbGVjdGVkIG9wdGlvbiBzaG91bGQgY2hhbmdlIHRoZSBzZWxlY3RlZCBvcHRp
b25zIGNvbGxlY3Rpb24uIik7CitteVNlbGVjdC5vcHRpb25zW215U2VsZWN0Lmxlbmd0aF0gPSBu
ZXcgT3B0aW9uKCJmaXZlIiwgInZhbHVlIiwgdHJ1ZSwgdHJ1ZSk7CitzaG91bGRCZSgibXlTZWxl
Y3Qub3B0aW9ucy5sZW5ndGgiLCAiNCIpOworc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkT3B0
aW9ucy5sZW5ndGgiLCAiMiIpOworc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkT3B0aW9uc1sw
XS50ZXh0IiwgIidvbmUnIik7CitzaG91bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zWzFd
LnRleHQiLCAiJ2ZpdmUnIik7CisKK2RlYnVnKCgrK2kpICsgIikgVW5zZWxlY3QgYW4gb3B0aW9u
IHNob3VsZCB1cGRhdGUgdGhlIHNlbGVjdGVkIG9wdGlvbnMgY29sbGVjdGlvbi4iKTsKK215U2Vs
ZWN0Lm9wdGlvbnNbMF0uc2VsZWN0ZWQgPSBmYWxzZTsKK3Nob3VsZEJlKCJteVNlbGVjdC5vcHRp
b25zLmxlbmd0aCIsICI0Iik7CitzaG91bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zLmxl
bmd0aCIsICIxIik7CitzaG91bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zWzBdLnRleHQi
LCAiJ2ZpdmUnIik7CisKK2RlYnVnKCgrK2kpICsgIikgUmVtb3ZlIGFuIG9wdGlvbiB1bnNlbGVj
dGVkIHNob3VsZCBub3QgdXBkYXRlIHRoZSBzZWxlY3RlZCBvcHRpb25zIGNvbGxlY3Rpb24uIik7
CitteVNlbGVjdC5yZW1vdmUoMCk7CitzaG91bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgi
LCAiMyIpOworc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGgiLCAiMSIp
Oworc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkT3B0aW9uc1swXS50ZXh0IiwgIidmaXZlJyIp
OworCitkZWJ1ZygoKytpKSArICIpIFJlbW92ZSBhbiBvcHRpb24gc2VsZWN0ZWQgc2hvdWxkIHVw
ZGF0ZSB0aGUgc2VsZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLiIpOworbXlTZWxlY3QucmVtb3Zl
KDIpOworc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJl
KCJteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKKworbXlTZWxlY3Qub3B0
aW9uc1swXS5zZWxlY3RlZCA9IHRydWU7CitteVNlbGVjdC5vcHRpb25zWzFdLnNlbGVjdGVkID0g
dHJ1ZTsKK2RlYnVnKCgrK2kpICsgIikgQ2hhbmdlIG11bHRpcGxlIGF0dHJpYnV0ZSB0byBmYWxz
ZSBzaG91bGQgdXBkYXRlIHNlbGVjdGVkT3B0aW9ucy4iKTsKK215U2VsZWN0Lm11bHRpcGxlID0g
ZmFsc2U7CitzaG91bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAiMiIpOworc2hvdWxk
QmUoIm15U2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGgiLCAiMSIpOworc2hvdWxkQmUoIm15
U2VsZWN0LnNlbGVjdGVkT3B0aW9uc1swXS50ZXh0IiwgIid0d28nIik7CisKK2RlYnVnKCIiKTsK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131024</attachid>
            <date>2012-03-09 03:34:54 -0800</date>
            <delta_ts>2012-06-26 18:37:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80631-20120309083438.patch</filename>
            <type>text/plain</type>
            <size>12377</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjBkZGU3ZGNmYjMxY2Qz
MjI4MDM2NzQ1MTAwZWQzMzFhYWYyMjVmNi4uNzk0ODg0MDk0MDExOWFjNGI0ZWFkNTdjMjQ5Mjk2
YTkxZjBjNmRmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTAzLTA4ICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIEltcGxl
bWVudCBzZWxlY3RlZE9wdGlvbnMgYXR0cmlidXRlIG9mIDxzZWxlY3Q+LgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA2MzEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgY29sbGVjdGlvbiBh
cyBhIG1lbWJlciBvZiBIVE1MU2VsZWN0RWxlbWVudCB3aGljaCBpcworICAgICAgICB1c2VkIHRv
IHN0b3JlIHRoZSBzZWxlY3RlZCBlbGVtZW50cy4gRXh0ZW5kIEhUTUxDb2xsZWN0aW9uIHRvCisg
ICAgICAgIHN1cHBvcnQgdGhlIG5ldyBjb2xsZWN0aW9uIHR5cGUgbmVlZGVkIGJ5IHRoaXMgZmVh
dHVyZS4KKworICAgICAgICBSZWZlcmVuY2UgOiBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mv
d2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFnZS90aGUtYnV0dG9uLWVsZW1lbnQuaHRtbCNk
b20tc2VsZWN0LXNlbGVjdGVkb3B0aW9ucworCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL3NlbGVj
dC1zZWxlY3RlZE9wdGlvbnMuaHRtbAorCisgICAgICAgICogaHRtbC9Db2xsZWN0aW9uVHlwZS5o
OgorICAgICAgICAqIGh0bWwvSFRNTENvbGxlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTENvbGxlY3Rpb246OnNob3VsZEluY2x1ZGVDaGlsZHJlbik6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MQ29sbGVjdGlvbjo6aXNBY2NlcHRhYmxlRWxlbWVudCk6CisgICAgICAgICogaHRtbC9I
VE1MU2VsZWN0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVu
dDo6c2VsZWN0ZWRPcHRpb25zKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGh0bWwv
SFRNTFNlbGVjdEVsZW1lbnQuaDoKKyAgICAgICAgKEhUTUxTZWxlY3RFbGVtZW50KToKKyAgICAg
ICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbDoKKwogMjAxMi0wMy0wOCAgRGFuIEJlcm5z
dGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIxMDk5NjQpOiBB
c3NlcnRpb24gZmFpbHVyZSAoIWlzVW5kZWZpbmVkKCkpIGluIExlbmd0aDo6Z2V0SW50VmFsdWUo
KSB3aGVuIGEgRGFzaGJvYXJkIHJlZ2lvbiBpcyBzcGVjaWZpZWQgd2l0aG91dCBvZmZzZXRzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25UeXBlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0NvbGxlY3Rpb25UeXBlLmgKaW5kZXggZmEzNDhmOWMzZWIzMmMwMjg0Mjg2
ZTNlNzk1YzY3MGU2OTdhMTU2My4uNGVkOTgxOTk4MDY3YjY3NjZhNDcxZTIxNjA2MDU2NDI5Yzlk
OGI0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uVHlwZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvblR5cGUuaApAQCAtNTEsNiArNTEsNyBA
QCBlbnVtIENvbGxlY3Rpb25UeXBlIHsKICAgICBUU2VjdGlvblJvd3MsIC8vIGFsbCByb3cgZWxl
bWVudHMgaW4gdGhpcyB0YWJsZSBzZWN0aW9uCiAgICAgVFJDZWxscywgICAgICAvLyBhbGwgY2Vs
bHMgaW4gdGhpcyByb3cKICAgICBTZWxlY3RPcHRpb25zLAorICAgIFNlbGVjdGVkT3B0aW9ucywK
ICAgICBEYXRhTGlzdE9wdGlvbnMsCiAgICAgTWFwQXJlYXMsCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQ29sbGVjdGlvbi5jcHAKaW5kZXggN2QwNjMwOGZjOWJmYmYwMWM1NjljZjBjNmUwMDA5MzFl
NjE4YmFjNC4uZDExZmVlMTIxODE1YzdjZmM3Yzk5ZDAxY2U1NDU1ODdiZTNjYjFiNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5jcHAKQEAgLTYxLDYgKzYxLDcgQEAgYm9vbCBI
VE1MQ29sbGVjdGlvbjo6c2hvdWxkSW5jbHVkZUNoaWxkcmVuKENvbGxlY3Rpb25UeXBlIHR5cGUp
CiAgICAgY2FzZSBNYXBBcmVhczoKICAgICBjYXNlIE90aGVyQ29sbGVjdGlvbjoKICAgICBjYXNl
IFNlbGVjdE9wdGlvbnM6CisgICAgY2FzZSBTZWxlY3RlZE9wdGlvbnM6CiAgICAgY2FzZSBEYXRh
TGlzdE9wdGlvbnM6CiAgICAgY2FzZSBXaW5kb3dOYW1lZEl0ZW1zOgogI2lmIEVOQUJMRShNSUNS
T0RBVEEpCkBAIC0xMTQsNiArMTE1LDEzIEBAIGlubGluZSBib29sIEhUTUxDb2xsZWN0aW9uOjpp
c0FjY2VwdGFibGVFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0CiAgICAgICAgIHJldHVy
biBlbGVtZW50LT5oYXNMb2NhbE5hbWUodHJUYWcpOwogICAgIGNhc2UgU2VsZWN0T3B0aW9uczoK
ICAgICAgICAgcmV0dXJuIGVsZW1lbnQtPmhhc0xvY2FsTmFtZShvcHRpb25UYWcpOworICAgIGNh
c2UgU2VsZWN0ZWRPcHRpb25zOgorICAgICAgICBpZiAoZWxlbWVudC0+aGFzTG9jYWxOYW1lKG9w
dGlvblRhZykpIHsKKyAgICAgICAgICAgIEhUTUxPcHRpb25FbGVtZW50KiBvcHRpb24gPSBzdGF0
aWNfY2FzdDxIVE1MT3B0aW9uRWxlbWVudCo+KGVsZW1lbnQpOworICAgICAgICAgICAgaWYgKG9w
dGlvbi0+c2VsZWN0ZWQoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAg
fQorICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgY2FzZSBEYXRhTGlzdE9wdGlvbnM6CiAgICAg
ICAgIGlmIChlbGVtZW50LT5oYXNMb2NhbE5hbWUob3B0aW9uVGFnKSkgewogICAgICAgICAgICAg
SFRNTE9wdGlvbkVsZW1lbnQqIG9wdGlvbiA9IHN0YXRpY19jYXN0PEhUTUxPcHRpb25FbGVtZW50
Kj4oZWxlbWVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCmlu
ZGV4IDY2NjMxNDI1ZjJjZDkzYzcyZmNjM2NmM2E2MmVjODJmZDMxODQ2NzMuLjQxM2I3NzFhODFk
Nzg2NmM4ZjBkYTczMzU3ZGExMzhjNmM5MTYyN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFNlbGVjdEVsZW1lbnQuY3BwCkBAIC0zMzEsNiArMzMxLDEzIEBAIGJvb2wgSFRNTFNlbGVjdEVs
ZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZVJlbmRlcmluZ0NvbnRl
eHQmIGNoCiAgICAgcmV0dXJuIGNoaWxkQ29udGV4dC5pc09uRW5jYXBzdWxhdGlvbkJvdW5kYXJ5
KCkgJiYgSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZTo6Y2hpbGRTaG91bGRDcmVhdGVS
ZW5kZXJlcihjaGlsZENvbnRleHQpOwogfQogCitIVE1MQ29sbGVjdGlvbiogSFRNTFNlbGVjdEVs
ZW1lbnQ6OnNlbGVjdGVkT3B0aW9ucygpCit7CisgICAgaWYgKCFtX3NlbGVjdGVkT3B0aW9uc0Nv
bGxlY3Rpb24pCisgICAgICAgIG1fc2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlvbiA9IEhUTUxDb2xs
ZWN0aW9uOjpjcmVhdGUodGhpcywgU2VsZWN0ZWRPcHRpb25zKTsKKyAgICByZXR1cm4gbV9zZWxl
Y3RlZE9wdGlvbnNDb2xsZWN0aW9uLmdldCgpOworfQorCiBIVE1MT3B0aW9uc0NvbGxlY3Rpb24q
IEhUTUxTZWxlY3RFbGVtZW50OjpvcHRpb25zKCkKIHsKICAgICBpZiAoIW1fb3B0aW9uc0NvbGxl
Y3Rpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmgKaW5kZXggZjhiNTk5
ZjkxYzk1NzQxMDIzODJjOGViNTBmMzhlYjUzMGY0N2Q4ZS4uM2VkNjE5NjFjYjI2MGI0ZGNiNDZj
MmRhZGE4MDVmMGEzYmY2MmQ0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
U2VsZWN0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1l
bnQuaApAQCAtNjMsNiArNjMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRWYWx1ZShjb25zdCBT
dHJpbmcmKTsKIAogICAgIEhUTUxPcHRpb25zQ29sbGVjdGlvbiogb3B0aW9ucygpOworICAgIEhU
TUxDb2xsZWN0aW9uKiBzZWxlY3RlZE9wdGlvbnMoKTsKIAogICAgIHZvaWQgb3B0aW9uRWxlbWVu
dENoaWxkcmVuQ2hhbmdlZCgpOwogCkBAIC0xNzgsNiArMTc5LDcgQEAgcHJpdmF0ZToKICAgICB2
aXJ0dWFsIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyID0gZmFsc2Us
IE5vZGUqIGJlZm9yZUNoYW5nZSA9IDAsIE5vZGUqIGFmdGVyQ2hhbmdlID0gMCwgaW50IGNoaWxk
Q291bnREZWx0YSA9IDApOwogCiAgICAgT3duUHRyPEhUTUxPcHRpb25zQ29sbGVjdGlvbj4gbV9v
cHRpb25zQ29sbGVjdGlvbjsKKyAgICBPd25QdHI8SFRNTENvbGxlY3Rpb24+IG1fc2VsZWN0ZWRP
cHRpb25zQ29sbGVjdGlvbjsKIAogICAgIC8vIG1fbGlzdEl0ZW1zIGNvbnRhaW5zIEhUTUxPcHRp
b25FbGVtZW50LCBIVE1MT3B0R3JvdXBFbGVtZW50LCBhbmQgSFRNTEhSRWxlbWVudCBvYmplY3Rz
LgogICAgIG11dGFibGUgVmVjdG9yPEhUTUxFbGVtZW50Kj4gbV9saXN0SXRlbXM7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaWRsCmluZGV4IDEyMDExN2NjOWU5NjU1Y2Ew
MDBhYjIyOTFkM2IwNTUyNTcwMjE0NTkuLmI4NjM2MzY5NDVlNDg3Mjk1Y2E0Njk5MWJkOWI2MGI3
MDA2MjI1NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1l
bnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaWRsCkBA
IC01Myw2ICs1Myw3IEBAIG1vZHVsZSBodG1sIHsKICNlbHNlCiAgICAgICAgIHZvaWQgcmVtb3Zl
KGluIGxvbmcgaW5kZXgpOwogI2VuZGlmCisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1M
Q29sbGVjdGlvbiBzZWxlY3RlZE9wdGlvbnM7CiAgICAgICAgIGF0dHJpYnV0ZSBsb25nIHNlbGVj
dGVkSW5kZXg7CiAgICAgICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gRE9N
U3RyaW5nIHZhbHVlOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzFkNDYxNDA0ZDFiNmJmYWFhOWU5OTk1NjI1ZjE5OGQy
YjU0OThkYS4uYWFkZWZhOGYwZDZkZjM2NTEwNzcyMWI3ZmM5NTljMDhlZmVhYmRmNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDEyLTAzLTA4ICBBbGV4aXMgTWVuYXJkICA8YWxleGlzLm1lbmFy
ZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIEltcGxlbWVudCBzZWxlY3RlZE9wdGlvbnMgYXR0
cmlidXRlIG9mIDxzZWxlY3Q+LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODA2MzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBOZXcgdGVzdHMgdG8gY292ZXIgdGhlIGZlYXR1cmUuCisKKyAgICAgICAgKiBm
YXN0L2RvbS9zZWxlY3Qtc2VsZWN0ZWRPcHRpb25zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9kb20vc2VsZWN0LXNlbGVjdGVkT3B0aW9ucy5odG1sOiBBZGRlZC4KKwogMjAx
Mi0wMy0wOCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JF
U1NJT04gKHIxMDk5NjQpOiBBc3NlcnRpb24gZmFpbHVyZSAoIWlzVW5kZWZpbmVkKCkpIGluIExl
bmd0aDo6Z2V0SW50VmFsdWUoKSB3aGVuIGEgRGFzaGJvYXJkIHJlZ2lvbiBpcyBzcGVjaWZpZWQg
d2l0aG91dCBvZmZzZXRzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zZWxlY3Qt
c2VsZWN0ZWRPcHRpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NlbGVj
dC1zZWxlY3RlZE9wdGlvbnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNjNTZjYTY4ODc5N2Ji
NmYxMzk0NmUzNTM2NDdiOTEwZGZiZWRhZmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zZWxlY3Qtc2VsZWN0ZWRPcHRpb25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDQ2IEBACisKKzEpIEluaXRpYWwgdGhlcmUgaXMgbm8gc2VsZWN0ZWQgb3B0aW9ucy4KK1BBU1Mg
bXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMgorUEFTUyBteVNlbGVjdC5zZWxlY3RlZE9wdGlv
bnMubGVuZ3RoIGlzIDAKKzIpIFNlbGVjdCBhbiBvcHRpb24gc2hvdWxkIHVwZGF0ZSB0aGUgc2Vs
ZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLgorUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBp
cyAyCitQQVNTIG15U2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGggaXMgMQorUEFTUyBteVNl
bGVjdC5zZWxlY3RlZE9wdGlvbnNbMF0udGV4dCBpcyAnb25lJworMykgQWRkaW5nIGEgbm9uIHNl
bGVjdGVkIG9wdGlvbiBzaG91bGQgbm90IGNoYW5nZSB0aGUgc2VsZWN0ZWQgb3B0aW9ucyBjb2xs
ZWN0aW9uLgorUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAzCitQQVNTIG15U2VsZWN0
LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGggaXMgMQorUEFTUyBteVNlbGVjdC5zZWxlY3RlZE9wdGlv
bnNbMF0udGV4dCBpcyAnb25lJworNCkgQWRkaW5nIGEgc2VsZWN0ZWQgb3B0aW9uIHNob3VsZCBj
aGFuZ2UgdGhlIHNlbGVjdGVkIG9wdGlvbnMgY29sbGVjdGlvbi4KK1BBU1MgbXlTZWxlY3Qub3B0
aW9ucy5sZW5ndGggaXMgNAorUEFTUyBteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoIGlz
IDIKK1BBU1MgbXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zWzBdLnRleHQgaXMgJ29uZScKK1BBU1Mg
bXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zWzFdLnRleHQgaXMgJ2ZpdmUnCis1KSBVbnNlbGVjdCBh
biBvcHRpb24gc2hvdWxkIHVwZGF0ZSB0aGUgc2VsZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLgor
UEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyA0CitQQVNTIG15U2VsZWN0LnNlbGVjdGVk
T3B0aW9ucy5sZW5ndGggaXMgMQorUEFTUyBteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnNbMF0udGV4
dCBpcyAnZml2ZScKKzYpIFJlbW92ZSBhbiBvcHRpb24gdW5zZWxlY3RlZCBzaG91bGQgbm90IHVw
ZGF0ZSB0aGUgc2VsZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLgorUEFTUyBteVNlbGVjdC5vcHRp
b25zLmxlbmd0aCBpcyAzCitQQVNTIG15U2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGggaXMg
MQorUEFTUyBteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnNbMF0udGV4dCBpcyAnZml2ZScKKzcpIFJl
bW92ZSBhbiBvcHRpb24gc2VsZWN0ZWQgc2hvdWxkIHVwZGF0ZSB0aGUgc2VsZWN0ZWQgb3B0aW9u
cyBjb2xsZWN0aW9uLgorUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAyCitQQVNTIG15
U2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGggaXMgMAorOCkgQ2hhbmdlIG11bHRpcGxlIGF0
dHJpYnV0ZSB0byBmYWxzZSBzaG91bGQgdXBkYXRlIHNlbGVjdGVkT3B0aW9ucy4KK1BBU1MgbXlT
ZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMgorUEFTUyBteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMu
bGVuZ3RoIGlzIDEKK1BBU1MgbXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zWzBdLnRleHQgaXMgJ3R3
bycKKzkpIEV2ZW4gd2l0aCBhbiBvcHRpb24gZGlzYWJsZWQgc2VsZWN0ZWRPcHRpb25zIHNob3Vs
ZCBiZSB1cGRhdGVkLgorUEFTUyBteVNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAyCitQQVNTIG15
U2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGggaXMgMQorUEFTUyBteVNlbGVjdC5zZWxlY3Rl
ZE9wdGlvbnNbMF0udGV4dCBpcyAnb25lJworMTApIEV2ZW4gd2l0aCBzZWxlY3QgZWxlbWVudCBk
aXNhYmxlZCwgdGhlIHNlbGVjdGVkT3B0aW9ucyBzaG91bGQgYmUgdXBkYXRlZC4KK1BBU1MgbXlT
ZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMgorUEFTUyBteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMu
bGVuZ3RoIGlzIDIKK1BBU1MgbXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zWzBdLnRleHQgaXMgJ29u
ZScKK1BBU1MgbXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zWzFdLnRleHQgaXMgJ3R3bycKKworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NlbGVjdC1zZWxlY3RlZE9wdGlvbnMuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NlbGVjdC1zZWxlY3RlZE9wdGlvbnMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hM2FlYTViYjkwMjM1ZmNkODg3Y2Q4Y2VjYzg2MzI0NWFmMzNkYzZhCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2VsZWN0LXNlbGVjdGVkT3B0aW9ucy5odG1sCkBA
IC0wLDAgKzEsODMgQEAKKzxzZWxlY3QgaWQ9InRlc3QiIHNpemU9IjMiPgorPC9zZWxlY3Q+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHJlc2V0KG15U2VsZWN0
KSB7CisgIG15U2VsZWN0Lmxlbmd0aCA9IDA7CisgIG15U2VsZWN0Lm11bHRpcGxlID0gdHJ1ZTsK
KyAgbXlTZWxlY3Qub3B0aW9uc1tteVNlbGVjdC5sZW5ndGhdID0gbmV3IE9wdGlvbigib25lIiwg
InZhbHVlIiwgZmFsc2UpOworICBteVNlbGVjdC5vcHRpb25zW215U2VsZWN0Lmxlbmd0aF0gPSBu
ZXcgT3B0aW9uKCJ0d28iLCAidmFsdWUiLCBmYWxzZSk7Cit9CisKK3ZhciBteVNlbGVjdCA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7CityZXNldChteVNlbGVjdCk7Cit2YXIgaSA9
IDA7CisKK2RlYnVnKCgrK2kpICsgIikgSW5pdGlhbCB0aGVyZSBpcyBubyBzZWxlY3RlZCBvcHRp
b25zLiIpOworc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjIiKTsKK3Nob3Vs
ZEJlKCJteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKKworZGVidWcoKCsr
aSkgKyAiKSBTZWxlY3QgYW4gb3B0aW9uIHNob3VsZCB1cGRhdGUgdGhlIHNlbGVjdGVkIG9wdGlv
bnMgY29sbGVjdGlvbi4iKTsKK215U2VsZWN0Lm9wdGlvbnNbMF0uc2VsZWN0ZWQgPSB0cnVlOwor
c2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJteVNl
bGVjdC5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoIiwgIjEiKTsKK3Nob3VsZEJlKCJteVNlbGVjdC5z
ZWxlY3RlZE9wdGlvbnNbMF0udGV4dCIsICInb25lJyIpOworCitkZWJ1ZygoKytpKSArICIpIEFk
ZGluZyBhIG5vbiBzZWxlY3RlZCBvcHRpb24gc2hvdWxkIG5vdCBjaGFuZ2UgdGhlIHNlbGVjdGVk
IG9wdGlvbnMgY29sbGVjdGlvbi4iKTsKK215U2VsZWN0Lm9wdGlvbnNbbXlTZWxlY3QubGVuZ3Ro
XSA9IG5ldyBPcHRpb24oInRocmVlIiwgInZhbHVlIiwgZmFsc2UpOworc2hvdWxkQmUoIm15U2Vs
ZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjMiKTsKK3Nob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZE9w
dGlvbnMubGVuZ3RoIiwgIjEiKTsKK3Nob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnNb
MF0udGV4dCIsICInb25lJyIpOworCitkZWJ1ZygoKytpKSArICIpIEFkZGluZyBhIHNlbGVjdGVk
IG9wdGlvbiBzaG91bGQgY2hhbmdlIHRoZSBzZWxlY3RlZCBvcHRpb25zIGNvbGxlY3Rpb24uIik7
CitteVNlbGVjdC5vcHRpb25zW215U2VsZWN0Lmxlbmd0aF0gPSBuZXcgT3B0aW9uKCJmaXZlIiwg
InZhbHVlIiwgdHJ1ZSwgdHJ1ZSk7CitzaG91bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgi
LCAiNCIpOworc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGgiLCAiMiIp
Oworc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkT3B0aW9uc1swXS50ZXh0IiwgIidvbmUnIik7
CitzaG91bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zWzFdLnRleHQiLCAiJ2ZpdmUnIik7
CisKK2RlYnVnKCgrK2kpICsgIikgVW5zZWxlY3QgYW4gb3B0aW9uIHNob3VsZCB1cGRhdGUgdGhl
IHNlbGVjdGVkIG9wdGlvbnMgY29sbGVjdGlvbi4iKTsKK215U2VsZWN0Lm9wdGlvbnNbMF0uc2Vs
ZWN0ZWQgPSBmYWxzZTsKK3Nob3VsZEJlKCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICI0Iik7
CitzaG91bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCIsICIxIik7CitzaG91
bGRCZSgibXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zWzBdLnRleHQiLCAiJ2ZpdmUnIik7CisKK2Rl
YnVnKCgrK2kpICsgIikgUmVtb3ZlIGFuIG9wdGlvbiB1bnNlbGVjdGVkIHNob3VsZCBub3QgdXBk
YXRlIHRoZSBzZWxlY3RlZCBvcHRpb25zIGNvbGxlY3Rpb24uIik7CitteVNlbGVjdC5yZW1vdmUo
MCk7CitzaG91bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAiMyIpOworc2hvdWxkQmUo
Im15U2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGgiLCAiMSIpOworc2hvdWxkQmUoIm15U2Vs
ZWN0LnNlbGVjdGVkT3B0aW9uc1swXS50ZXh0IiwgIidmaXZlJyIpOworCitkZWJ1ZygoKytpKSAr
ICIpIFJlbW92ZSBhbiBvcHRpb24gc2VsZWN0ZWQgc2hvdWxkIHVwZGF0ZSB0aGUgc2VsZWN0ZWQg
b3B0aW9ucyBjb2xsZWN0aW9uLiIpOworbXlTZWxlY3QucmVtb3ZlKDIpOworc2hvdWxkQmUoIm15
U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJteVNlbGVjdC5zZWxlY3Rl
ZE9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKKworbXlTZWxlY3Qub3B0aW9uc1swXS5zZWxlY3RlZCA9
IHRydWU7CitteVNlbGVjdC5vcHRpb25zWzFdLnNlbGVjdGVkID0gdHJ1ZTsKK2RlYnVnKCgrK2kp
ICsgIikgQ2hhbmdlIG11bHRpcGxlIGF0dHJpYnV0ZSB0byBmYWxzZSBzaG91bGQgdXBkYXRlIHNl
bGVjdGVkT3B0aW9ucy4iKTsKK215U2VsZWN0Lm11bHRpcGxlID0gZmFsc2U7CitzaG91bGRCZSgi
bXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAiMiIpOworc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVj
dGVkT3B0aW9ucy5sZW5ndGgiLCAiMSIpOworc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkT3B0
aW9uc1swXS50ZXh0IiwgIid0d28nIik7CisKK3Jlc2V0KG15U2VsZWN0KTsKK2RlYnVnKCgrK2kp
ICsgIikgRXZlbiB3aXRoIGFuIG9wdGlvbiBkaXNhYmxlZCBzZWxlY3RlZE9wdGlvbnMgc2hvdWxk
IGJlIHVwZGF0ZWQuIik7CitteVNlbGVjdC5vcHRpb25zWzBdLmRpc2FibGVkID0gdHJ1ZTsKK215
U2VsZWN0Lm9wdGlvbnNbMF0uc2VsZWN0ZWQgPSB0cnVlOworc2hvdWxkQmUoIm15U2VsZWN0Lm9w
dGlvbnMubGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMu
bGVuZ3RoIiwgIjEiKTsKK3Nob3VsZEJlKCJteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnNbMF0udGV4
dCIsICInb25lJyIpOworCitkZWJ1ZygoKytpKSArICIpIEV2ZW4gd2l0aCBzZWxlY3QgZWxlbWVu
dCBkaXNhYmxlZCwgdGhlIHNlbGVjdGVkT3B0aW9ucyBzaG91bGQgYmUgdXBkYXRlZC4iKTsKK215
U2VsZWN0LmRpc2FibGVkID0gdHJ1ZTsKK215U2VsZWN0Lm9wdGlvbnNbMV0uc2VsZWN0ZWQgPSB0
cnVlOworc2hvdWxkQmUoIm15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJl
KCJteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJteVNl
bGVjdC5zZWxlY3RlZE9wdGlvbnNbMF0udGV4dCIsICInb25lJyIpOworc2hvdWxkQmUoIm15U2Vs
ZWN0LnNlbGVjdGVkT3B0aW9uc1sxXS50ZXh0IiwgIid0d28nIik7CisKK2RlYnVnKCIiKTsKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149661</attachid>
            <date>2012-06-26 18:38:01 -0700</date>
            <delta_ts>2012-06-27 15:45:06 -0700</delta_ts>
            <desc>work in progress, fixes the bug report of https://bugs.webkit.org/show_bug.cgi?id=88749 but haven&apos;t yet found a way to test it.</desc>
            <filename>bug-80631-20120626223736.patch</filename>
            <type>text/plain</type>
            <size>19098</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMjkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzQ3NTlmMDM2NGUyYTJh
ZmQ2NjA3YjQ4YmE1YjIyYTFmZTQyNTQ5MS4uMzQzZGQ5NTc3N2MyZGFkNmZlMTYyODY3ZWRhNTgz
M2EwMjFkMjVlMiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTA2LTI2ICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIEltcGxl
bWVudCBzZWxlY3RlZE9wdGlvbnMgYXR0cmlidXRlIG9mIDxzZWxlY3Q+LgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA2MzEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgY29sbGVjdGlvbiBh
cyBhIG1lbWJlciBvZiBIVE1MU2VsZWN0RWxlbWVudCB3aGljaCBpcworICAgICAgICB1c2VkIHRv
IHN0b3JlIHRoZSBzZWxlY3RlZCBlbGVtZW50cy4gRXh0ZW5kIEhUTUxDb2xsZWN0aW9uIHRvCisg
ICAgICAgIHN1cHBvcnQgdGhlIG5ldyBjb2xsZWN0aW9uIHR5cGUgbmVlZGVkIGJ5IHRoaXMgZmVh
dHVyZS4KKworICAgICAgICBSZWZlcmVuY2UgOiBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mv
d2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFnZS90aGUtYnV0dG9uLWVsZW1lbnQuaHRtbCNk
b20tc2VsZWN0LXNlbGVjdGVkb3B0aW9ucworCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL0hUTUxT
ZWxlY3RFbGVtZW50L3NlbGVjdC1zZWxlY3RlZE9wdGlvbnMuaHRtbAorCisgICAgICAgICogaHRt
bC9Db2xsZWN0aW9uVHlwZS5oOgorICAgICAgICAqIGh0bWwvSFRNTENvbGxlY3Rpb24uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6c2hvdWxkSW5jbHVkZUNoaWxkcmVuKToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxDb2xsZWN0aW9uOjppc0FjY2VwdGFibGVFbGVtZW50KToKKyAgICAgICAgKiBodG1s
L0hUTUxPcHRpb25FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxPcHRpb25FbGVt
ZW50OjpzZXRTZWxlY3RlZFN0YXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25zQ29sbGVj
dGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlv
bjo6SFRNTFNlbGVjdGVkT3B0aW9uc0NvbGxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlvbjo6Y3JlYXRlKToK
KyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5oOgorICAgICAgICAoSFRNTFNl
bGVjdGVkT3B0aW9uc0NvbGxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICog
aHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0
RWxlbWVudDo6c2VsZWN0ZWRPcHRpb25zKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OmludmFsaWRhdGVTZWxlY3RlZEl0ZW1zKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpzZXRSZWNhbGNMaXN0SXRlbXMpOgor
ICAgICAgICAqIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAoSFRNTFNlbGVjdEVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTFNlbGVjdEVs
ZW1lbnQuaWRsOgorCiAyMDEyLTA2LTI2ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90
QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTIxMjg1Lgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uVHlwZS5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uVHlwZS5oCmluZGV4IGRkNzFkOTE4YmVhNDg3MGMzN2Q5
ZWZiOGNjOTc1ODM3NzZjZjgxYTcuLjViZWQ0ZDg5YTNiMTg1MDRlNTI0ZjAxODU2ZDEyMmJiNmE5
ZTcyMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvblR5cGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25UeXBlLmgKQEAgLTUxLDYgKzUxLDcg
QEAgZW51bSBDb2xsZWN0aW9uVHlwZSB7CiAgICAgVFNlY3Rpb25Sb3dzLCAvLyBhbGwgcm93IGVs
ZW1lbnRzIGluIHRoaXMgdGFibGUgc2VjdGlvbgogICAgIFRSQ2VsbHMsICAgICAgLy8gYWxsIGNl
bGxzIGluIHRoaXMgcm93CiAgICAgU2VsZWN0T3B0aW9ucywKKyAgICBTZWxlY3RlZE9wdGlvbnMs
CiAgICAgRGF0YUxpc3RPcHRpb25zLAogICAgIE1hcEFyZWFzLAogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTENvbGxlY3Rpb24uY3BwCmluZGV4IDExMjljYWJkOTczMmM0ZWIxOTQxY2RkYTNmZjA3Zjdk
MmE4NDBiZWIuLjcwY2I4ODgyMDQ3NmNkN2RiZTIxNTA1ZWY3OTBkOTA4ZjU1Y2Y0ZjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uY3BwCkBAIC01Miw2ICs1Miw3IEBAIHN0YXRp
YyBib29sIHNob3VsZEluY2x1ZGVDaGlsZHJlbihDb2xsZWN0aW9uVHlwZSB0eXBlKQogICAgIGNh
c2UgTWFwQXJlYXM6CiAgICAgY2FzZSBPdGhlckNvbGxlY3Rpb246CiAgICAgY2FzZSBTZWxlY3RP
cHRpb25zOgorICAgIGNhc2UgU2VsZWN0ZWRPcHRpb25zOgogICAgIGNhc2UgRGF0YUxpc3RPcHRp
b25zOgogICAgIGNhc2UgV2luZG93TmFtZWRJdGVtczoKICNpZiBFTkFCTEUoTUlDUk9EQVRBKQpA
QCAtMTE4LDYgKzExOSwxMyBAQCBpbmxpbmUgYm9vbCBIVE1MQ29sbGVjdGlvbjo6aXNBY2NlcHRh
YmxlRWxlbWVudChFbGVtZW50KiBlbGVtZW50KSBjb25zdAogICAgICAgICByZXR1cm4gZWxlbWVu
dC0+aGFzTG9jYWxOYW1lKHRyVGFnKTsKICAgICBjYXNlIFNlbGVjdE9wdGlvbnM6CiAgICAgICAg
IHJldHVybiBlbGVtZW50LT5oYXNMb2NhbE5hbWUob3B0aW9uVGFnKTsKKyAgICBjYXNlIFNlbGVj
dGVkT3B0aW9uczoKKyAgICAgICAgaWYgKGVsZW1lbnQtPmhhc0xvY2FsTmFtZShvcHRpb25UYWcp
KSB7CisgICAgICAgICAgICBIVE1MT3B0aW9uRWxlbWVudCogb3B0aW9uID0gc3RhdGljX2Nhc3Q8
SFRNTE9wdGlvbkVsZW1lbnQqPihlbGVtZW50KTsKKyAgICAgICAgICAgIGlmIChvcHRpb24tPnNl
bGVjdGVkKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKyAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIGNhc2UgRGF0YUxpc3RPcHRpb25zOgogICAgICAgICBpZiAo
ZWxlbWVudC0+aGFzTG9jYWxOYW1lKG9wdGlvblRhZykpIHsKICAgICAgICAgICAgIEhUTUxPcHRp
b25FbGVtZW50KiBvcHRpb24gPSBzdGF0aWNfY2FzdDxIVE1MT3B0aW9uRWxlbWVudCo+KGVsZW1l
bnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmNwcAppbmRleCAzM2Uz
OWE2MThiNmUyZWNiMzBmNGU4NGFmMDc1Y2VjMjU0OWMyNDk1Li4zNjkxZTgyNDFlMmQ1MmVhMTMx
ZTI5MGQzYmRlMGE3M2UyNTgyYmRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxPcHRpb25FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25F
bGVtZW50LmNwcApAQCAtMjQ1LDYgKzI0NSw5IEBAIHZvaWQgSFRNTE9wdGlvbkVsZW1lbnQ6OnNl
dFNlbGVjdGVkU3RhdGUoYm9vbCBzZWxlY3RlZCkKIAogICAgIG1faXNTZWxlY3RlZCA9IHNlbGVj
dGVkOwogICAgIHNldE5lZWRzU3R5bGVSZWNhbGMoKTsKKworICAgIGlmIChIVE1MU2VsZWN0RWxl
bWVudCogc2VsZWN0ID0gb3duZXJTZWxlY3RFbGVtZW50KCkpCisgICAgICAgIHNlbGVjdC0+aW52
YWxpZGF0ZVNlbGVjdGVkSXRlbXMoKTsKIH0KIAogdm9pZCBIVE1MT3B0aW9uRWxlbWVudDo6Y2hp
bGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyLCBOb2RlKiBiZWZvcmVDaGFuZ2UsIE5v
ZGUqIGFmdGVyQ2hhbmdlLCBpbnQgY2hpbGRDb3VudERlbHRhKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uY3BwCmluZGV4IGNhOGExYjA3ZGI0ZDNjZDU0NWYy
Mzk3MzVlYzc1ZTdjNTQzNmE5YWIuLjM2Y2M5ODJjZjlhMjY2OGI3NTc3NDFiNjhiMWZkMjI4MDEy
MTY2MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5j
cHAKQEAgLTg3LDQgKzg3LDE0IEBAIHZvaWQgSFRNTE9wdGlvbnNDb2xsZWN0aW9uOjpzZXRMZW5n
dGgodW5zaWduZWQgbGVuZ3RoLCBFeGNlcHRpb25Db2RlJiBlYykKICAgICB0b0hUTUxTZWxlY3RF
bGVtZW50KGJhc2UoKSktPnNldExlbmd0aChsZW5ndGgsIGVjKTsKIH0KIAorSFRNTFNlbGVjdGVk
T3B0aW9uc0NvbGxlY3Rpb246OkhUTUxTZWxlY3RlZE9wdGlvbnNDb2xsZWN0aW9uKEhUTUxTZWxl
Y3RFbGVtZW50KiBzZWxlY3QpCisgICAgOiBIVE1MQ29sbGVjdGlvbihzZWxlY3QsIFNlbGVjdGVk
T3B0aW9ucykKK3sKK30KKworUGFzc093blB0cjxIVE1MU2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlv
bj4gSFRNTFNlbGVjdGVkT3B0aW9uc0NvbGxlY3Rpb246OmNyZWF0ZShIVE1MU2VsZWN0RWxlbWVu
dCogc2VsZWN0KQoreworICAgIHJldHVybiBhZG9wdFB0cihuZXcgSFRNTFNlbGVjdGVkT3B0aW9u
c0NvbGxlY3Rpb24oc2VsZWN0KSk7Cit9CisKIH0gLy9uYW1lc3BhY2UKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxPcHRpb25zQ29sbGVjdGlvbi5oCmluZGV4IGJjOWJkZmE3MDFmZTZjY2IyMjdk
NDJiYjEwNmE0NWFlMjU5YjJlMDMuLmNjNWEyMzMzOGNiYTU0ODQ3YmNlYWEyZmZkMzYzYTc1NzEw
Mjk0MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbnNDb2xsZWN0
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uc0NvbGxlY3Rpb24uaApA
QCAtNTIsNiArNTIsMTYgQEAgcHJpdmF0ZToKICAgICBIVE1MT3B0aW9uc0NvbGxlY3Rpb24oSFRN
TFNlbGVjdEVsZW1lbnQqKTsKIH07CiAKK2NsYXNzIEhUTUxTZWxlY3RlZE9wdGlvbnNDb2xsZWN0
aW9uIDogcHVibGljIEhUTUxDb2xsZWN0aW9uIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc093
blB0cjxIVE1MU2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlvbj4gY3JlYXRlKEhUTUxTZWxlY3RFbGVt
ZW50Kik7CisgICAgdXNpbmcgSFRNTENvbGxlY3Rpb246OmludmFsaWRhdGVDYWNoZUlmTmVlZGVk
OworICAgIHVzaW5nIEhUTUxDb2xsZWN0aW9uOjptX2NhY2hlOworCitwcml2YXRlOgorICAgIEhU
TUxTZWxlY3RlZE9wdGlvbnNDb2xsZWN0aW9uKEhUTUxTZWxlY3RFbGVtZW50Kik7Cit9OworCiB9
IC8vbmFtZXNwYWNlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MU2VsZWN0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVt
ZW50LmNwcAppbmRleCAwNDIyN2FlYzY2NWMzZDI0ZDEwY2M5ZWQ5ZDFmMDYzYTJmNGIzZmE3Li4y
NDBmMWI2MmVkNDFlNjNkNjY0ZTQxMzVjNDU1NzRmZGU5NTJiODVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcApAQCAtMzUwLDYgKzM1MCwxMyBAQCBib29sIEhU
TUxTZWxlY3RFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGVSZW5k
ZXJpbmdDb250ZXh0JiBjaAogICAgIHJldHVybiBjaGlsZENvbnRleHQuaXNPblVwcGVyRW5jYXBz
dWxhdGlvbkJvdW5kYXJ5KCkgJiYgSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZTo6Y2hp
bGRTaG91bGRDcmVhdGVSZW5kZXJlcihjaGlsZENvbnRleHQpOwogfQogCitIVE1MQ29sbGVjdGlv
biogSFRNTFNlbGVjdEVsZW1lbnQ6OnNlbGVjdGVkT3B0aW9ucygpCit7CisgICAgaWYgKCFtX3Nl
bGVjdGVkT3B0aW9uc0NvbGxlY3Rpb24pCisgICAgICAgIG1fc2VsZWN0ZWRPcHRpb25zQ29sbGVj
dGlvbiA9IEhUTUxTZWxlY3RlZE9wdGlvbnNDb2xsZWN0aW9uOjpjcmVhdGUodGhpcyk7CisgICAg
cmV0dXJuIG1fc2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlvbi5nZXQoKTsKK30KKwogSFRNTE9wdGlv
bnNDb2xsZWN0aW9uKiBIVE1MU2VsZWN0RWxlbWVudDo6b3B0aW9ucygpCiB7CiAgICAgaWYgKCFt
X29wdGlvbnNDb2xsZWN0aW9uKQpAQCAtNzAwLDYgKzcwNywxMiBAQCBjb25zdCBWZWN0b3I8SFRN
TEVsZW1lbnQqPiYgSFRNTFNlbGVjdEVsZW1lbnQ6Omxpc3RJdGVtcygpIGNvbnN0CiAgICAgcmV0
dXJuIG1fbGlzdEl0ZW1zOwogfQogCit2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjppbnZhbGlkYXRl
U2VsZWN0ZWRJdGVtcygpCit7CisgICAgaWYgKG1fc2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlvbikK
KyAgICAgICAgbV9zZWxlY3RlZE9wdGlvbnNDb2xsZWN0aW9uLT5tX2NhY2hlLmNsZWFyKCk7Cit9
CisKIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6OnNldFJlY2FsY0xpc3RJdGVtcygpCiB7CiAgICAg
bV9zaG91bGRSZWNhbGNMaXN0SXRlbXMgPSB0cnVlOwpAQCAtNzA5LDYgKzcyMiw4IEBAIHZvaWQg
SFRNTFNlbGVjdEVsZW1lbnQ6OnNldFJlY2FsY0xpc3RJdGVtcygpCiAgICAgc2V0TmVlZHNTdHls
ZVJlY2FsYygpOwogICAgIGlmICghaW5Eb2N1bWVudCgpICYmIG1fb3B0aW9uc0NvbGxlY3Rpb24p
CiAgICAgICAgIG1fb3B0aW9uc0NvbGxlY3Rpb24tPmludmFsaWRhdGVDYWNoZUlmTmVlZGVkKCk7
CisgICAgaWYgKCFpbkRvY3VtZW50KCkgJiYgbV9zZWxlY3RlZE9wdGlvbnNDb2xsZWN0aW9uKQor
ICAgICAgICBtX3NlbGVjdGVkT3B0aW9uc0NvbGxlY3Rpb24tPmludmFsaWRhdGVDYWNoZUlmTmVl
ZGVkKCk7CiB9CiAKIHZvaWQgSFRNTFNlbGVjdEVsZW1lbnQ6OnJlY2FsY0xpc3RJdGVtcyhib29s
IHVwZGF0ZVNlbGVjdGVkU3RhdGVzKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0
RWxlbWVudC5oCmluZGV4IGEyYTJlODA1YWE4NjdmYmI3Y2M0OGIwYzk2YjUxNTAzZjk4NjMzNmYu
LjAxMTcxNTEwZTEzOTQ3MDJjMjIyYzExNTUzOTc1NmE4NzNiYTU5YTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmgKQEAgLTM1LDYgKzM1LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBIVE1MT3B0aW9uRWxlbWVudDsKIGNsYXNzIEhUTUxPcHRpb25zQ29s
bGVjdGlvbjsKK2NsYXNzIEhUTUxTZWxlY3RlZE9wdGlvbnNDb2xsZWN0aW9uOwogCiBjbGFzcyBI
VE1MU2VsZWN0RWxlbWVudCA6IHB1YmxpYyBIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRl
IHsKIHB1YmxpYzoKQEAgLTY0LDEwICs2NSwxMiBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRWYWx1
ZShjb25zdCBTdHJpbmcmKTsKIAogICAgIEhUTUxPcHRpb25zQ29sbGVjdGlvbiogb3B0aW9ucygp
OworICAgIEhUTUxDb2xsZWN0aW9uKiBzZWxlY3RlZE9wdGlvbnMoKTsKIAogICAgIHZvaWQgb3B0
aW9uRWxlbWVudENoaWxkcmVuQ2hhbmdlZCgpOwogCiAgICAgdm9pZCBzZXRSZWNhbGNMaXN0SXRl
bXMoKTsKKyAgICB2b2lkIGludmFsaWRhdGVTZWxlY3RlZEl0ZW1zKCk7CiAgICAgdm9pZCB1cGRh
dGVMaXN0SXRlbVNlbGVjdGVkU3RhdGVzKCk7CiAKICAgICBjb25zdCBWZWN0b3I8SFRNTEVsZW1l
bnQqPiYgbGlzdEl0ZW1zKCkgY29uc3Q7CkBAIC0xODAsNiArMTgzLDcgQEAgcHJpdmF0ZToKICAg
ICB2aXJ0dWFsIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGJvb2wgY2hhbmdlZEJ5UGFyc2VyID0gZmFs
c2UsIE5vZGUqIGJlZm9yZUNoYW5nZSA9IDAsIE5vZGUqIGFmdGVyQ2hhbmdlID0gMCwgaW50IGNo
aWxkQ291bnREZWx0YSA9IDApOwogCiAgICAgT3duUHRyPEhUTUxPcHRpb25zQ29sbGVjdGlvbj4g
bV9vcHRpb25zQ29sbGVjdGlvbjsKKyAgICBPd25QdHI8SFRNTFNlbGVjdGVkT3B0aW9uc0NvbGxl
Y3Rpb24+IG1fc2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlvbjsKIAogICAgIC8vIG1fbGlzdEl0ZW1z
IGNvbnRhaW5zIEhUTUxPcHRpb25FbGVtZW50LCBIVE1MT3B0R3JvdXBFbGVtZW50LCBhbmQgSFRN
TEhSRWxlbWVudCBvYmplY3RzLgogICAgIG11dGFibGUgVmVjdG9yPEhUTUxFbGVtZW50Kj4gbV9s
aXN0SXRlbXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVt
ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaWRsCmluZGV4
IGRlOGQyZDZkMGI0OTI3OTM2N2JkMzA3ZGIyNDZiMGI1MTE5NjkyYjMuLjZhMWFlMDNkMTRiZWI1
MWRjMDEwNDE5N2U4NzVlYTc3NjZiNGJiMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFNlbGVjdEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNl
bGVjdEVsZW1lbnQuaWRsCkBAIC01Myw2ICs1Myw3IEBAIG1vZHVsZSBodG1sIHsKICNlbHNlCiAg
ICAgICAgIHZvaWQgcmVtb3ZlKGluIGxvbmcgaW5kZXgpOwogI2VuZGlmCisgICAgICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBIVE1MQ29sbGVjdGlvbiBzZWxlY3RlZE9wdGlvbnM7CiAgICAgICAgIGF0
dHJpYnV0ZSBsb25nIHNlbGVjdGVkSW5kZXg7CiAgICAgICAgIGF0dHJpYnV0ZSBbVHJlYXROdWxs
QXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIHZhbHVlOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjUwMGY1MmE2Y2JiODBi
N2NjNDhiYzZlODQ2NTI3MWVhODhiNGUwMi4uMDUxMGE4ZTE5NGZjYjc2YzJjZWYwYzg2NDY4MmZl
ZjYxZDQ4MjlhNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA2LTI2ICBBbGV4aXMgTWVu
YXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIEltcGxlbWVudCBz
ZWxlY3RlZE9wdGlvbnMgYXR0cmlidXRlIG9mIDxzZWxlY3Q+LgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA2MzEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXcgdGVzdHMgdG8gY292ZXIgdGhlIGZlYXR1
cmUuCisKKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MU2VsZWN0RWxlbWVudC9zZWxlY3Qtc2VsZWN0
ZWRPcHRpb25zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTFNl
bGVjdEVsZW1lbnQvc2VsZWN0LXNlbGVjdGVkT3B0aW9ucy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2RvbS9odG1sY29sbGVjdGlvbi1ub24taHRtbC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9kb20vaHRtbGNvbGxlY3Rpb24tbm9uLWh0bWwuaHRtbDoKKwogMjAxMi0wNi0yNiAg
Unlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBGaXggYSB0ZXN0IGFm
dGVyIHIxMjEyODYuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MU2VsZWN0
RWxlbWVudC9zZWxlY3Qtc2VsZWN0ZWRPcHRpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxTZWxlY3RFbGVtZW50L3NlbGVjdC1zZWxlY3RlZE9wdGlvbnMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjFmZTI1NTg1MDcyMGEzMDNhOWM5NTQ2MDBjNDg4MDFjYWFjM2Y3
YTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MU2VsZWN0RWxl
bWVudC9zZWxlY3Qtc2VsZWN0ZWRPcHRpb25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUxIEBA
CisKKzEpIEluaXRpYWwgdGhlcmUgaXMgbm8gc2VsZWN0ZWQgb3B0aW9ucy4KK1BBU1Mgb3B0aW9u
c0xlbmd0aCBpcyAyCitQQVNTIHNlbGVjdGVkT3B0aW9uc0xlbmd0aCBpcyAwCisyKSBTZWxlY3Qg
YW4gb3B0aW9uIHNob3VsZCB1cGRhdGUgdGhlIHNlbGVjdGVkIG9wdGlvbnMgY29sbGVjdGlvbi4K
K1BBU1Mgb3B0aW9uc0xlbmd0aCBpcyAyCitQQVNTIHNlbGVjdGVkT3B0aW9uc0xlbmd0aCBpcyAx
CitQQVNTIHNlbGVjdGVkT3B0aW9uc1swXS50ZXh0IGlzICdvbmUnCiszKSBTZWxlY3QgdHdvIG9w
dGlvbnMgc2hvdWxkIHVwZGF0ZSB0aGUgc2VsZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLgorUEFT
UyBvcHRpb25zTGVuZ3RoIGlzIDIKK1BBU1Mgc2VsZWN0ZWRPcHRpb25zTGVuZ3RoIGlzIDIKK1BB
U1Mgc2VsZWN0ZWRPcHRpb25zWzBdLnRleHQgaXMgJ29uZScKK1BBU1Mgc2VsZWN0ZWRPcHRpb25z
WzFdLnRleHQgaXMgJ3R3bycKKzQpIEFkZGluZyBhIG5vbiBzZWxlY3RlZCBvcHRpb24gc2hvdWxk
IG5vdCBjaGFuZ2UgdGhlIHNlbGVjdGVkIG9wdGlvbnMgY29sbGVjdGlvbi4KK1BBU1Mgb3B0aW9u
c0xlbmd0aCBpcyAzCitQQVNTIHNlbGVjdGVkT3B0aW9uc0xlbmd0aCBpcyAxCitQQVNTIHNlbGVj
dGVkT3B0aW9uc1swXS50ZXh0IGlzICdvbmUnCis1KSBBZGRpbmcgYSBzZWxlY3RlZCBvcHRpb24g
c2hvdWxkIGNoYW5nZSB0aGUgc2VsZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLgorUEFTUyBvcHRp
b25zTGVuZ3RoIGlzIDQKK1BBU1Mgc2VsZWN0ZWRPcHRpb25zTGVuZ3RoIGlzIDIKK1BBU1Mgc2Vs
ZWN0ZWRPcHRpb25zWzBdLnRleHQgaXMgJ29uZScKK1BBU1Mgc2VsZWN0ZWRPcHRpb25zWzFdLnRl
eHQgaXMgJ2ZpdmUnCis2KSBVbnNlbGVjdCBhbiBvcHRpb24gc2hvdWxkIHVwZGF0ZSB0aGUgc2Vs
ZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLgorUEFTUyBvcHRpb25zTGVuZ3RoIGlzIDQKK1BBU1Mg
c2VsZWN0ZWRPcHRpb25zTGVuZ3RoIGlzIDEKK1BBU1Mgc2VsZWN0ZWRPcHRpb25zWzBdLnRleHQg
aXMgJ2ZpdmUnCis3KSBSZW1vdmUgYW4gb3B0aW9uIHVuc2VsZWN0ZWQgc2hvdWxkIG5vdCB1cGRh
dGUgdGhlIHNlbGVjdGVkIG9wdGlvbnMgY29sbGVjdGlvbi4KK1BBU1Mgb3B0aW9uc0xlbmd0aCBp
cyAzCitQQVNTIHNlbGVjdGVkT3B0aW9uc0xlbmd0aCBpcyAxCitQQVNTIHNlbGVjdGVkT3B0aW9u
c1swXS50ZXh0IGlzICdmaXZlJworOCkgUmVtb3ZlIGFuIG9wdGlvbiBzZWxlY3RlZCBzaG91bGQg
dXBkYXRlIHRoZSBzZWxlY3RlZCBvcHRpb25zIGNvbGxlY3Rpb24uCitQQVNTIG9wdGlvbnNMZW5n
dGggaXMgMgorUEFTUyBzZWxlY3RlZE9wdGlvbnNMZW5ndGggaXMgMAorOSkgQ2hhbmdlIG11bHRp
cGxlIGF0dHJpYnV0ZSB0byBmYWxzZSBzaG91bGQgdXBkYXRlIHNlbGVjdGVkT3B0aW9ucy4KK1BB
U1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMgorUEFTUyBteVNlbGVjdC5zZWxlY3RlZE9w
dGlvbnMubGVuZ3RoIGlzIDEKK1BBU1MgbXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zWzBdLnRleHQg
aXMgJ3R3bycKKzEwKSBFdmVuIHdpdGggYW4gb3B0aW9uIGRpc2FibGVkIHNlbGVjdGVkT3B0aW9u
cyBzaG91bGQgYmUgdXBkYXRlZC4KK1BBU1MgbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMgor
UEFTUyBteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoIGlzIDEKK1BBU1MgbXlTZWxlY3Qu
c2VsZWN0ZWRPcHRpb25zWzBdLnRleHQgaXMgJ29uZScKKzExKSBFdmVuIHdpdGggc2VsZWN0IGVs
ZW1lbnQgZGlzYWJsZWQsIHRoZSBzZWxlY3RlZE9wdGlvbnMgc2hvdWxkIGJlIHVwZGF0ZWQuCitQ
QVNTIG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDIKK1BBU1MgbXlTZWxlY3Quc2VsZWN0ZWRP
cHRpb25zLmxlbmd0aCBpcyAyCitQQVNTIG15U2VsZWN0LnNlbGVjdGVkT3B0aW9uc1swXS50ZXh0
IGlzICdvbmUnCitQQVNTIG15U2VsZWN0LnNlbGVjdGVkT3B0aW9uc1sxXS50ZXh0IGlzICd0d28n
CisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MU2VsZWN0RWxlbWVudC9zZWxlY3Qt
c2VsZWN0ZWRPcHRpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MU2VsZWN0RWxl
bWVudC9zZWxlY3Qtc2VsZWN0ZWRPcHRpb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTQwNGEzMzM2MmNk
NWQ5N2JiMjc1NDM2YThlNjlmZWE0NWRjZDc4MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL0hUTUxTZWxlY3RFbGVtZW50L3NlbGVjdC1zZWxlY3RlZE9wdGlvbnMuaHRt
bApAQCAtMCwwICsxLDEyNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2VsZWN0IGlkPSJ0ZXN0IiBz
aXplPSIzIiBtdWx0aXBsZT0ibXVsdGlwbGUiPgorPC9zZWxlY3Q+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHJlc2V0KG15U2VsZWN0KSB7CisgICAgbXlT
ZWxlY3QubGVuZ3RoID0gMDsKKyAgICBteVNlbGVjdC5tdWx0aXBsZSA9IHRydWU7CisgICAgbXlT
ZWxlY3Qub3B0aW9uc1tteVNlbGVjdC5sZW5ndGhdID0gbmV3IE9wdGlvbigib25lIiwgInZhbHVl
IiwgZmFsc2UpOworICAgIG15U2VsZWN0Lm9wdGlvbnNbbXlTZWxlY3QubGVuZ3RoXSA9IG5ldyBP
cHRpb24oInR3byIsICJ2YWx1ZSIsIGZhbHNlKTsKK30KKworZnVuY3Rpb24gZGVlcENvcHkoYXJy
YXkpCit7CisgICAgdmFyIGNvcHk9W107CisgICAgZm9yKHZhciBpPTA7aTxhcnJheS5sZW5ndGg7
aSsrKQorICAgICAgICBjb3B5LnB1c2goYXJyYXlbaV0pOworICAgIHJldHVybiBjb3B5OworIH0K
KwordmFyIG15U2VsZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKK3Jlc2V0
KG15U2VsZWN0KTsKK3ZhciBpID0gMDsKK3ZhciBzZWxlY3RlZE9wdGlvbnNMZW5ndGggPSAwOwor
dmFyIHNlbGVjdGVkT3B0aW9uczsKK3ZhciBvcHRpb25zTGVuZ3RoID0gMDsKKworZGVidWcoKCsr
aSkgKyAiKSBJbml0aWFsIHRoZXJlIGlzIG5vIHNlbGVjdGVkIG9wdGlvbnMuIik7CitzZWxlY3Rl
ZE9wdGlvbnNMZW5ndGggPSBteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoOworb3B0aW9u
c0xlbmd0aCA9IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoOworc2hvdWxkQmUoIm9wdGlvbnNMZW5n
dGgiLCAiMiIpOworc2hvdWxkQmUoInNlbGVjdGVkT3B0aW9uc0xlbmd0aCIsICIwIik7CisKK2Rl
YnVnKCgrK2kpICsgIikgU2VsZWN0IGFuIG9wdGlvbiBzaG91bGQgdXBkYXRlIHRoZSBzZWxlY3Rl
ZCBvcHRpb25zIGNvbGxlY3Rpb24uIik7CitteVNlbGVjdC5vcHRpb25zWzBdLnNlbGVjdGVkID0g
dHJ1ZTsKK3NlbGVjdGVkT3B0aW9uc0xlbmd0aCA9IG15U2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5s
ZW5ndGg7CitvcHRpb25zTGVuZ3RoID0gbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGg7CitzZWxlY3Rl
ZE9wdGlvbnMgPSBkZWVwQ29weShteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMpOworc2hvdWxkQmUo
Im9wdGlvbnNMZW5ndGgiLCAiMiIpOworc2hvdWxkQmUoInNlbGVjdGVkT3B0aW9uc0xlbmd0aCIs
ICIxIik7CitzaG91bGRCZSgic2VsZWN0ZWRPcHRpb25zWzBdLnRleHQiLCAiJ29uZSciKTsKKwor
ZGVidWcoKCsraSkgKyAiKSBTZWxlY3QgdHdvIG9wdGlvbnMgc2hvdWxkIHVwZGF0ZSB0aGUgc2Vs
ZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLiIpOworbXlTZWxlY3Qub3B0aW9uc1sxXS5zZWxlY3Rl
ZCA9IHRydWU7CitzZWxlY3RlZE9wdGlvbnNMZW5ndGggPSBteVNlbGVjdC5zZWxlY3RlZE9wdGlv
bnMubGVuZ3RoOworb3B0aW9uc0xlbmd0aCA9IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoOworc2Vs
ZWN0ZWRPcHRpb25zID0gZGVlcENvcHkobXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zKTsKK3Nob3Vs
ZEJlKCJvcHRpb25zTGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJzZWxlY3RlZE9wdGlvbnNMZW5n
dGgiLCAiMiIpOworc2hvdWxkQmUoInNlbGVjdGVkT3B0aW9uc1swXS50ZXh0IiwgIidvbmUnIik7
CitzaG91bGRCZSgic2VsZWN0ZWRPcHRpb25zWzFdLnRleHQiLCAiJ3R3byciKTsKKworbXlTZWxl
Y3Qub3B0aW9uc1sxXS5zZWxlY3RlZCA9IGZhbHNlOworZGVidWcoKCsraSkgKyAiKSBBZGRpbmcg
YSBub24gc2VsZWN0ZWQgb3B0aW9uIHNob3VsZCBub3QgY2hhbmdlIHRoZSBzZWxlY3RlZCBvcHRp
b25zIGNvbGxlY3Rpb24uIik7CitteVNlbGVjdC5vcHRpb25zW215U2VsZWN0Lmxlbmd0aF0gPSBu
ZXcgT3B0aW9uKCJ0aHJlZSIsICJ2YWx1ZSIsIGZhbHNlKTsKK3NlbGVjdGVkT3B0aW9uc0xlbmd0
aCA9IG15U2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGg7CitvcHRpb25zTGVuZ3RoID0gbXlT
ZWxlY3Qub3B0aW9ucy5sZW5ndGg7CitzZWxlY3RlZE9wdGlvbnMgPSBteVNlbGVjdC5zZWxlY3Rl
ZE9wdGlvbnM7CitzaG91bGRCZSgib3B0aW9uc0xlbmd0aCIsICIzIik7CitzaG91bGRCZSgic2Vs
ZWN0ZWRPcHRpb25zTGVuZ3RoIiwgIjEiKTsKK3Nob3VsZEJlKCJzZWxlY3RlZE9wdGlvbnNbMF0u
dGV4dCIsICInb25lJyIpOworCitkZWJ1ZygoKytpKSArICIpIEFkZGluZyBhIHNlbGVjdGVkIG9w
dGlvbiBzaG91bGQgY2hhbmdlIHRoZSBzZWxlY3RlZCBvcHRpb25zIGNvbGxlY3Rpb24uIik7Citt
eVNlbGVjdC5vcHRpb25zW215U2VsZWN0Lmxlbmd0aF0gPSBuZXcgT3B0aW9uKCJmaXZlIiwgInZh
bHVlIiwgdHJ1ZSwgdHJ1ZSk7CitzZWxlY3RlZE9wdGlvbnNMZW5ndGggPSBteVNlbGVjdC5zZWxl
Y3RlZE9wdGlvbnMubGVuZ3RoOworb3B0aW9uc0xlbmd0aCA9IG15U2VsZWN0Lm9wdGlvbnMubGVu
Z3RoOworc2VsZWN0ZWRPcHRpb25zID0gbXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zOworc2hvdWxk
QmUoIm9wdGlvbnNMZW5ndGgiLCAiNCIpOworc2hvdWxkQmUoInNlbGVjdGVkT3B0aW9uc0xlbmd0
aCIsICIyIik7CitzaG91bGRCZSgic2VsZWN0ZWRPcHRpb25zWzBdLnRleHQiLCAiJ29uZSciKTsK
K3Nob3VsZEJlKCJzZWxlY3RlZE9wdGlvbnNbMV0udGV4dCIsICInZml2ZSciKTsKKworZGVidWco
KCsraSkgKyAiKSBVbnNlbGVjdCBhbiBvcHRpb24gc2hvdWxkIHVwZGF0ZSB0aGUgc2VsZWN0ZWQg
b3B0aW9ucyBjb2xsZWN0aW9uLiIpOworbXlTZWxlY3Qub3B0aW9uc1swXS5zZWxlY3RlZCA9IGZh
bHNlOworc2VsZWN0ZWRPcHRpb25zTGVuZ3RoID0gbXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zLmxl
bmd0aDsKK29wdGlvbnNMZW5ndGggPSBteVNlbGVjdC5vcHRpb25zLmxlbmd0aDsKK3NlbGVjdGVk
T3B0aW9ucyA9IG15U2VsZWN0LnNlbGVjdGVkT3B0aW9uczsKK3Nob3VsZEJlKCJvcHRpb25zTGVu
Z3RoIiwgIjQiKTsKK3Nob3VsZEJlKCJzZWxlY3RlZE9wdGlvbnNMZW5ndGgiLCAiMSIpOworc2hv
dWxkQmUoInNlbGVjdGVkT3B0aW9uc1swXS50ZXh0IiwgIidmaXZlJyIpOworCitkZWJ1ZygoKytp
KSArICIpIFJlbW92ZSBhbiBvcHRpb24gdW5zZWxlY3RlZCBzaG91bGQgbm90IHVwZGF0ZSB0aGUg
c2VsZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLiIpOworbXlTZWxlY3QucmVtb3ZlKDApOworc2Vs
ZWN0ZWRPcHRpb25zTGVuZ3RoID0gbXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zLmxlbmd0aDsKK29w
dGlvbnNMZW5ndGggPSBteVNlbGVjdC5vcHRpb25zLmxlbmd0aDsKK3NlbGVjdGVkT3B0aW9ucyA9
IG15U2VsZWN0LnNlbGVjdGVkT3B0aW9uczsKK3Nob3VsZEJlKCJvcHRpb25zTGVuZ3RoIiwgIjMi
KTsKK3Nob3VsZEJlKCJzZWxlY3RlZE9wdGlvbnNMZW5ndGgiLCAiMSIpOworc2hvdWxkQmUoInNl
bGVjdGVkT3B0aW9uc1swXS50ZXh0IiwgIidmaXZlJyIpOworCitkZWJ1ZygoKytpKSArICIpIFJl
bW92ZSBhbiBvcHRpb24gc2VsZWN0ZWQgc2hvdWxkIHVwZGF0ZSB0aGUgc2VsZWN0ZWQgb3B0aW9u
cyBjb2xsZWN0aW9uLiIpOworbXlTZWxlY3QucmVtb3ZlKDIpOworc2VsZWN0ZWRPcHRpb25zTGVu
Z3RoID0gbXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zLmxlbmd0aDsKK29wdGlvbnNMZW5ndGggPSBt
eVNlbGVjdC5vcHRpb25zLmxlbmd0aDsKK3NlbGVjdGVkT3B0aW9ucyA9IG15U2VsZWN0LnNlbGVj
dGVkT3B0aW9uczsKK3Nob3VsZEJlKCJvcHRpb25zTGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJz
ZWxlY3RlZE9wdGlvbnNMZW5ndGgiLCAiMCIpOworCitteVNlbGVjdC5vcHRpb25zWzBdLnNlbGVj
dGVkID0gdHJ1ZTsKK215U2VsZWN0Lm9wdGlvbnNbMV0uc2VsZWN0ZWQgPSB0cnVlOworZGVidWco
KCsraSkgKyAiKSBDaGFuZ2UgbXVsdGlwbGUgYXR0cmlidXRlIHRvIGZhbHNlIHNob3VsZCB1cGRh
dGUgc2VsZWN0ZWRPcHRpb25zLiIpOworbXlTZWxlY3QubXVsdGlwbGUgPSBmYWxzZTsKK3Nob3Vs
ZEJlKCJteVNlbGVjdC5vcHRpb25zLmxlbmd0aCIsICIyIik7CitzaG91bGRCZSgibXlTZWxlY3Qu
c2VsZWN0ZWRPcHRpb25zLmxlbmd0aCIsICIxIik7CitzaG91bGRCZSgibXlTZWxlY3Quc2VsZWN0
ZWRPcHRpb25zWzBdLnRleHQiLCAiJ3R3byciKTsKKworcmVzZXQobXlTZWxlY3QpOworZGVidWco
KCsraSkgKyAiKSBFdmVuIHdpdGggYW4gb3B0aW9uIGRpc2FibGVkIHNlbGVjdGVkT3B0aW9ucyBz
aG91bGQgYmUgdXBkYXRlZC4iKTsKK215U2VsZWN0Lm9wdGlvbnNbMF0uZGlzYWJsZWQgPSB0cnVl
OworbXlTZWxlY3Qub3B0aW9uc1swXS5zZWxlY3RlZCA9IHRydWU7CitzaG91bGRCZSgibXlTZWxl
Y3Qub3B0aW9ucy5sZW5ndGgiLCAiMiIpOworc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkT3B0
aW9ucy5sZW5ndGgiLCAiMSIpOworc2hvdWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkT3B0aW9uc1sw
XS50ZXh0IiwgIidvbmUnIik7CisKK2RlYnVnKCgrK2kpICsgIikgRXZlbiB3aXRoIHNlbGVjdCBl
bGVtZW50IGRpc2FibGVkLCB0aGUgc2VsZWN0ZWRPcHRpb25zIHNob3VsZCBiZSB1cGRhdGVkLiIp
OworbXlTZWxlY3QuZGlzYWJsZWQgPSB0cnVlOworbXlTZWxlY3Qub3B0aW9uc1sxXS5zZWxlY3Rl
ZCA9IHRydWU7CitzaG91bGRCZSgibXlTZWxlY3Qub3B0aW9ucy5sZW5ndGgiLCAiMiIpOworc2hv
dWxkQmUoIm15U2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGgiLCAiMiIpOworc2hvdWxkQmUo
Im15U2VsZWN0LnNlbGVjdGVkT3B0aW9uc1swXS50ZXh0IiwgIidvbmUnIik7CitzaG91bGRCZSgi
bXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zWzFdLnRleHQiLCAiJ3R3byciKTsKKworZGVidWcoIiIp
OworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9odG1sY29s
bGVjdGlvbi1ub24taHRtbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9odG1s
Y29sbGVjdGlvbi1ub24taHRtbC1leHBlY3RlZC50eHQKaW5kZXggNjYzMmYwMmEwY2RiNDQ5MzQ0
Y2UzNzE2NDdjYWI0NDQ1OTM1NzU3Zi4uYzIwYWJlYTQ1OTY1OTI1NWFhM2M0MDIzZDI0NzRlNmJi
N2ExM2QyOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vaHRtbGNvbGxlY3Rpb24t
bm9uLWh0bWwtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2h0bWxjb2xs
ZWN0aW9uLW5vbi1odG1sLWV4cGVjdGVkLnR4dApAQCAtNCw2ICs0LDcgQEAgT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUKIAogCiBQQVNTIHNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAwCitQQVNTIHNl
bGVjdC5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoIGlzIDAKIFBBU1Mgc2VsZWN0Lm9wdGlvbnMubGVu
Z3RoIGlzIDEKIFBBU1MgZG9jdW1lbnQuaW1hZ2VzLmxlbmd0aCBpcyAwCiBQQVNTIGRvY3VtZW50
LmltYWdlcy5sZW5ndGggaXMgMQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vaHRt
bGNvbGxlY3Rpb24tbm9uLWh0bWwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2h0bWxjb2xs
ZWN0aW9uLW5vbi1odG1sLmh0bWwKaW5kZXggYzc2ZmVmNWIxNWFiZTQ4YjFkYTcxN2ZiMWQ4OWY1
NWY0YjYzZjdiNi4uN2FlMTc5YWVjNTQ5MDEzOGJhNmUxZWU0MmNkMzQ2ZjUxZTZjNzRiYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vaHRtbGNvbGxlY3Rpb24tbm9uLWh0bWwuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9odG1sY29sbGVjdGlvbi1ub24taHRtbC5odG1s
CkBAIC02Nyw2ICs2Nyw3IEBAIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgIGVsZW0gPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50TlMobnMsICJvcHRpb24iKTsKICAgc2VsZWN0LmFwcGVuZENoaWxkKGVs
ZW0pOwogICBzaG91bGRCZSgic2VsZWN0Lm9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKKyAgc2hvdWxk
QmUoInNlbGVjdC5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKIAogICBlbGVtID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgib3B0aW9uIik7CiAgIHNlbGVjdC5hcHBlbmRDaGlsZChlbGVt
KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149807</attachid>
            <date>2012-06-27 15:45:21 -0700</date>
            <delta_ts>2012-06-27 16:26:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80631-20120627194519.patch</filename>
            <type>text/plain</type>
            <size>31720</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMzczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2NlMGQ5NzgxMDMyZmNk
NjhjMTNlMTRiMmZiYzQ1MThkMjNjZDYxNy4uMmE1ZDAyMmE1MzNiMDI5N2MxOTg5ZjBmM2E3YThl
ZmFjY2NlYWE2MiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDEyLTA2LTI3ICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIEltcGxl
bWVudCBzZWxlY3RlZE9wdGlvbnMgYXR0cmlidXRlIG9mIDxzZWxlY3Q+LgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA2MzEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgY29sbGVjdGlvbiBh
cyBhIG1lbWJlciBvZiBIVE1MU2VsZWN0RWxlbWVudCB3aGljaCBpcworICAgICAgICB1c2VkIHRv
IHN0b3JlIHRoZSBzZWxlY3RlZCBlbGVtZW50cy4gRXh0ZW5kIEhUTUxDb2xsZWN0aW9uIHRvCisg
ICAgICAgIHN1cHBvcnQgdGhlIG5ldyBjb2xsZWN0aW9uIHR5cGUgbmVlZGVkIGJ5IHRoaXMgZmVh
dHVyZS4gTWFrZSBzdXJlCisgICAgICAgIHRoYXQgd2UgaW52YWxpZGF0ZSB0aGUgY29sbGVjdGlv
biB3aGVuIHRoZSBzZWxlY3Qgc3RhdGUgb2YgYW4KKyAgICAgICAgb3B0aW9uIGNoYW5nZXMgYXMg
dGhlIHNlbGVjdCBzdGF0ZSBjaGFuZ2UgZG9lcyBub3QgdHJpZ2dlciBhIGRvbQorICAgICAgICB0
cmVlIHZlcnNpb24gY2hhbmdlLiAKKworICAgICAgICBSZWZlcmVuY2UgOiBodHRwOi8vd3d3Lndo
YXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFnZS90aGUtYnV0dG9u
LWVsZW1lbnQuaHRtbCNkb20tc2VsZWN0LXNlbGVjdGVkb3B0aW9ucworCisgICAgICAgIFRlc3Q6
IGZhc3QvZG9tL0hUTUxTZWxlY3RFbGVtZW50L3NlbGVjdC1zZWxlY3RlZE9wdGlvbnMuaHRtbAor
CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5h
bToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAg
ICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogaHRtbC9Db2xsZWN0aW9uVHlwZS5o
OgorICAgICAgICAqIGh0bWwvSFRNTENvbGxlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
c2hvdWxkSW5jbHVkZUNoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb2xsZWN0aW9u
OjpjbGVhckNhY2hlKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TENvbGxlY3Rpb246OmlzQWNjZXB0YWJsZUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTENv
bGxlY3Rpb24uaDoKKyAgICAgICAgKEhUTUxDb2xsZWN0aW9uKToKKyAgICAgICAgKiBodG1sL0hU
TUxPcHRpb25FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxPcHRpb25FbGVtZW50
OjpzZXRTZWxlY3RlZFN0YXRlKToKKyAgICAgICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpzZWxlY3RlZE9wdGlvbnMp
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVu
dDo6aW52YWxpZGF0ZVNlbGVjdGVkSXRlbXMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVj
dEVsZW1lbnQ6OnNldFJlY2FsY0xpc3RJdGVtcyk6CisgICAgICAgICogaHRtbC9IVE1MU2VsZWN0
RWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChIVE1MU2VsZWN0RWxlbWVu
dCk6CisgICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGw6CisgICAgICAgICogaHRt
bC9IVE1MU2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlvbi5jcHA6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlvbjo6
SFRNTFNlbGVjdGVkT3B0aW9uc0NvbGxlY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNl
bGVjdGVkT3B0aW9uc0NvbGxlY3Rpb246OmNyZWF0ZSk6CisgICAgICAgICogaHRtbC9IVE1MU2Vs
ZWN0ZWRPcHRpb25zQ29sbGVjdGlvbi5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoSFRNTFNlbGVjdGVkT3B0aW9uc0NvbGxlY3Rpb24pOgorCiAyMDEyLTA2LTI3ICBXLiBK
YW1lcyBNYWNMZWFuICA8d2ptYWNsZWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21p
dW1dIFNjcm9sbGJhckxheWVyQ2hyb21pdW0gc2hvdWxkIHN1cHBvcnQgcGFpbnRpbmcgZm9yd2Fy
ZC10cmFjayBhbmQgYmFjay10cmFjayBpbiBkaWZmZXJlbnQgc3R5bGVzLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAppbmRleCA2ZDNkYTdmOGMyNGI0NjI3YzVmMTIzMzk5OGRmMzcwZTUxMzQ0M2Y3Li4xMjlj
MWY2YTRmNWRhNmU2OTAwNzZkYzBkMmU0NDVjYjMzOWFkZGY5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dApAQCAtODM2LDYgKzgzNiw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBodG1sL0hUTUxQ
cm9wZXJ0aWVzQ29sbGVjdGlvbi5jcHAKICAgICBodG1sL0hUTUxRdW90ZUVsZW1lbnQuY3BwCiAg
ICAgaHRtbC9IVE1MU2NyaXB0RWxlbWVudC5jcHAKKyAgICBodG1sL0hUTUxTZWxlY3RlZE9wdGlv
bnNDb2xsZWN0aW9uLmNwcAogICAgIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCiAgICAgaHRt
bC9IVE1MU3BhbkVsZW1lbnQuY3BwCiAgICAgaHRtbC9IVE1MU3R5bGVFbGVtZW50LmNwcApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggMzVlYzJlYzE1NTZmNDRmMjZmMTlkMTlkZjE3
M2JjNzdlNDNmMmM4ZS4uZmJkMTgxNzRmNzk2NmJjYWVlZmYwNzNmOTgzNDk3YThjZGYwOWNlMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0yNDI4LDYgKzI0MjgsOCBAQCB3ZWJj
b3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFF1b3RlRWxlbWVudC5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTY3JpcHRFbGVtZW50LmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MU2NyaXB0RWxlbWVudC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxTZWxlY3RlZE9wdGlvbnNDb2xsZWN0aW9uLmNwcCBcCisJU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MU2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxTZWxlY3RFbGVtZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0
RWxlbWVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUv
VGFyZ2V0LnByaQppbmRleCA3Yjk2Yjc2MjQzMDg5ODhiZTQ1MDZiYWY1ZGUzMDJhZjIxYmQwNGRj
Li42ODUyYmEyMmI3MDBjZDNiNzJhZTUwOGQ3MDkxOTdjNWZkNjFmMjlmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkK
QEAgLTc5OSw2ICs3OTksNyBAQCBTT1VSQ0VTICs9IFwKICAgICBodG1sL0hUTUxQcm9wZXJ0aWVz
Q29sbGVjdGlvbi5jcHAgXAogICAgIGh0bWwvSFRNTFF1b3RlRWxlbWVudC5jcHAgXAogICAgIGh0
bWwvSFRNTFNjcmlwdEVsZW1lbnQuY3BwIFwKKyAgICBodG1sL0hUTUxTZWxlY3RlZE9wdGlvbnND
b2xsZWN0aW9uLmNwcCBcCiAgICAgaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAgXAogICAgIGh0
bWwvSFRNTFNwYW5FbGVtZW50LmNwcCBcCiAgICAgaHRtbC9IVE1MU3R5bGVFbGVtZW50LmNwcCBc
CkBAIC0xOTY4LDYgKzE5NjksNyBAQCBIRUFERVJTICs9IFwKICAgICBodG1sL0hUTUxQcm9wZXJ0
aWVzQ29sbGVjdGlvbi5oIFwKICAgICBodG1sL0hUTUxRdW90ZUVsZW1lbnQuaCBcCiAgICAgaHRt
bC9IVE1MU2NyaXB0RWxlbWVudC5oIFwKKyAgICBodG1sL0hUTUxTZWxlY3RlZE9wdGlvbnNDb2xs
ZWN0aW9uLmggXAogICAgIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaCBcCiAgICAgaHRtbC9IVE1M
U291cmNlRWxlbWVudC5oIFwKICAgICBodG1sL0hUTUxTcGFuRWxlbWVudC5oIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQppbmRleCAxMDU0ZTA3MjU1Y2E3NmFiOGJkZTVlNGMwMjlhOTY1ZTlkMzAyODA1Li5lYWZh
MDYyM2Q1OTQwZjZmYjU0OWM5YjZkY2UyNDdmNDhiNzc4NzM5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBA
IC01NjM5LDYgKzU2MzksOCBAQAogICAgICAgICAgICAgJ2h0bWwvSFRNTFF1b3RlRWxlbWVudC5o
JywKICAgICAgICAgICAgICdodG1sL0hUTUxTY3JpcHRFbGVtZW50LmNwcCcsCiAgICAgICAgICAg
ICAnaHRtbC9IVE1MU2NyaXB0RWxlbWVudC5oJywKKyAgICAgICAgICAgICdodG1sL0hUTUxTZWxl
Y3RlZE9wdGlvbnNDb2xsZWN0aW9uLmNwcCcsCisgICAgICAgICAgICAnaHRtbC9IVE1MU2VsZWN0
ZWRPcHRpb25zQ29sbGVjdGlvbi5oJywKICAgICAgICAgICAgICdodG1sL0hUTUxTZWxlY3RFbGVt
ZW50LmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oJywKICAgICAg
ICAgICAgICdodG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGQxMmRiNTY2YzhjMzk1OTZmZDBmMTI1
NDhlMDcxMTU2ODZjMTI3ZTkuLmNmZjhiNWVmZjk0MzFiZTEzYzU0MjI0NmFiZmNkZDk5Zjk0ZDQ5
NTMgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBA
IC02MTY0Nyw2ICs2MTY0Nyw2MiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxodG1sXEhUTUxTZWxlY3RlZE9wdGlvbnNDb2xsZWN0aW9uLmNwcCIK
KwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2lu
MzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9f
Q0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJ
CQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1
Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJ
CTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1
Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJ
CTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0i
Li5caHRtbFxIVE1MU2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlvbi5oIgorCQkJCT4KKwkJCTwvRmls
ZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxodG1sXEhUTUxTZWxlY3RFbGVtZW50
LmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMmRkMzU4YzY4MjJiN2M5
OGRkZGYzNjdiMTAxNjVjODE4ZDI4ZDZmNy4uYmU5YWExNWVjOWVhNDc2YWY3MmVkMGRiMjQwMjUx
OGQ5YWE3YTBhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtNTk1OSw2ICs1OTU5LDggQEAKIAkJRTE4MjU2OTAwRUYyQjAyRDAw
OTMzMjQyIC8qIEpTV29ya2VyQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTE4MjU2OEUwRUYyQjAyRDAwOTMzMjQyIC8qIEpTV29ya2VyQ29u
dGV4dC5oICovOyB9OwogCQlFMTgyNThBQzBFRjNDRDcwMDA5MzMyNDIgLyogSlNXb3JrZXJDb250
ZXh0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEUxODI1OEFCMEVGM0NENzAwMDkzMzI0MiAvKiBKU1dvcmtlckNvbnRleHRDdXN0b20uY3Bw
ICovOyB9OwogCQlFMTg3NzJGMTEyNkUyNjI5MDAzREQ1ODYgLyogTGFuZ3VhZ2UuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTE4NzcyRjAxMjZFMjYy
OTAwM0RENTg2IC8qIExhbmd1YWdlLmNwcCAqLzsgfTsKKwkJRTE4RjVGMzkxNTlCQjlBNjAwMzI0
RTBBIC8qIEhUTUxTZWxlY3RlZE9wdGlvbnNDb2xsZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxOEY1RjM3MTU5QkI5QTYwMDMyNEUwQSAv
KiBIVE1MU2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlvbi5jcHAgKi87IH07CisJCUUxOEY1RjNBMTU5
QkI5QTYwMDMyNEUwQSAvKiBIVE1MU2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlvbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTE4RjVGMzgxNTlCQjlBNjAw
MzI0RTBBIC8qIEhUTUxTZWxlY3RlZE9wdGlvbnNDb2xsZWN0aW9uLmggKi87IH07CiAJCUUxQTE0
NzA4MTExMDJCMTUwMEVFQzBGMyAvKiBDb250YWluZXJOb2RlQWxnb3JpdGhtcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFBMTQ3MDcxMTEwMkIxNTAw
RUVDMEYzIC8qIENvbnRhaW5lck5vZGVBbGdvcml0aG1zLmggKi87IH07CiAJCUUxQTMxNjJEMTM0
QkMzMkQwMDdDOUE0RiAvKiBXZWJOU0F0dHJpYnV0ZWRTdHJpbmdFeHRyYXMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxQTMxNjJCMTM0QkMzMkQwMDdD
OUE0RiAvKiBXZWJOU0F0dHJpYnV0ZWRTdHJpbmdFeHRyYXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMUEzMTYyRTEzNEJDMzJEMDA3QzlBNEYg
LyogV2ViTlNBdHRyaWJ1dGVkU3RyaW5nRXh0cmFzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFBMzE2MkMxMzRCQzMyRDAwN0M5QTRGIC8qIFdlYk5T
QXR0cmlidXRlZFN0cmluZ0V4dHJhcy5tbSAqLzsgfTsKQEAgLTEzMTkxLDYgKzEzMTkzLDggQEAK
IAkJRTE4MjU2OEUwRUYyQjAyRDAwOTMzMjQyIC8qIEpTV29ya2VyQ29udGV4dC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1dvcmtlckNvbnRleHQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTE4MjU4QUIwRUYzQ0Q3MDAwOTMzMjQyIC8qIEpTV29ya2VyQ29u
dGV4dEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dv
cmtlckNvbnRleHRDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMTg3
NzJGMDEyNkUyNjI5MDAzREQ1ODYgLyogTGFuZ3VhZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTGFuZ3VhZ2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlFMThGNUYzNzE1OUJCOUE2MDAzMjRFMEEgLyogSFRNTFNlbGVjdGVkT3B0aW9uc0NvbGxl
Y3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSFRNTFNlbGVj
dGVkT3B0aW9uc0NvbGxlY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlF
MThGNUYzODE1OUJCOUE2MDAzMjRFMEEgLyogSFRNTFNlbGVjdGVkT3B0aW9uc0NvbGxlY3Rpb24u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTFNlbGVjdGVkT3B0aW9uc0Nv
bGxlY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFBMTQ3MDcxMTEwMkIx
NTAwRUVDMEYzIC8qIENvbnRhaW5lck5vZGVBbGdvcml0aG1zLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IENvbnRhaW5lck5vZGVBbGdvcml0aG1zLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUUxQTMxNjJCMTM0QkMzMkQwMDdDOUE0RiAvKiBXZWJOU0F0dHJpYnV0
ZWRTdHJpbmdFeHRyYXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTlNB
dHRyaWJ1dGVkU3RyaW5nRXh0cmFzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUx
QTMxNjJDMTM0QkMzMkQwMDdDOUE0RiAvKiBXZWJOU0F0dHJpYnV0ZWRTdHJpbmdFeHRyYXMubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJOU0F0dHJpYnV0ZWRT
dHJpbmdFeHRyYXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzMzOSw2ICsx
NzM0Myw4IEBACiAJCQkJQTg3MURDMTYwQTE1MjA1NzAwQjEyQTY4IC8qIEhUTUxTY3JpcHRFbGVt
ZW50LmNwcCAqLywKIAkJCQlBODcxREMxOTBBMTUyMDU3MDBCMTJBNjggLyogSFRNTFNjcmlwdEVs
ZW1lbnQuaCAqLywKIAkJCQkxQUUyQUI5NjBBMUNFODhEMDBCNDJCMjUgLyogSFRNTFNjcmlwdEVs
ZW1lbnQuaWRsICovLAorCQkJCUUxOEY1RjM3MTU5QkI5QTYwMDMyNEUwQSAvKiBIVE1MU2VsZWN0
ZWRPcHRpb25zQ29sbGVjdGlvbi5jcHAgKi8sCisJCQkJRTE4RjVGMzgxNTlCQjlBNjAwMzI0RTBB
IC8qIEhUTUxTZWxlY3RlZE9wdGlvbnNDb2xsZWN0aW9uLmggKi8sCiAJCQkJQTgxMzY5QkQwOTcz
NzRGNTAwRDc0NDYzIC8qIEhUTUxTZWxlY3RFbGVtZW50LmNwcCAqLywKIAkJCQlBODEzNjlCQzA5
NzM3NEY1MDBENzQ0NjMgLyogSFRNTFNlbGVjdEVsZW1lbnQuaCAqLywKIAkJCQk4NTU1NDI5OTBB
QTQ5Mzg4MDBCQTg5RjIgLyogSFRNTFNlbGVjdEVsZW1lbnQuaWRsICovLApAQCAtMjUxNTUsNiAr
MjUxNjEsNyBAQAogCQkJCTUwOTg3QzI3MTU3RDY3NkQwMEJEQTgzNSAvKiBDdXN0b21GaWx0ZXJH
bG9iYWxDb250ZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQk0RjMyQkIxQjE0RkE4NUU4MDBGNkMx
QTMgLyogTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODgyREEy
MzE1OTM4NDhEMDAwMTE1RUQgLyogQ1NTVG9TdHlsZU1hcC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
RTE4RjVGM0ExNTlCQjlBNjAwMzI0RTBBIC8qIEhUTUxTZWxlY3RlZE9wdGlvbnNDb2xsZWN0aW9u
LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI4MjA4LDYgKzI4MjE1LDcgQEAKIAkJCQlDRTdCMkRCNjE1
ODZBQkFEMDA5OEIzRkEgLyogVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNTA5ODdDMjYxNTdENjc2RDAwQkRBODM1IC8qIEN1c3RvbUZpbHRlckdsb2JhbENv
bnRleHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg4MkRBMjAxNTkzODQ2QTAwMDExNUVEIC8q
IENTU1RvU3R5bGVNYXAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRTE4RjVGMzkxNTlCQjlBNjAw
MzI0RTBBIC8qIEhUTUxTZWxlY3RlZE9wdGlvbnNDb2xsZWN0aW9uLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uVHlwZS5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uVHlwZS5oCmluZGV4IGRkNzFkOTE4YmVhNDg3MGMz
N2Q5ZWZiOGNjOTc1ODM3NzZjZjgxYTcuLjViZWQ0ZDg5YTNiMTg1MDRlNTI0ZjAxODU2ZDEyMmJi
NmE5ZTcyMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvblR5cGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25UeXBlLmgKQEAgLTUxLDYgKzUx
LDcgQEAgZW51bSBDb2xsZWN0aW9uVHlwZSB7CiAgICAgVFNlY3Rpb25Sb3dzLCAvLyBhbGwgcm93
IGVsZW1lbnRzIGluIHRoaXMgdGFibGUgc2VjdGlvbgogICAgIFRSQ2VsbHMsICAgICAgLy8gYWxs
IGNlbGxzIGluIHRoaXMgcm93CiAgICAgU2VsZWN0T3B0aW9ucywKKyAgICBTZWxlY3RlZE9wdGlv
bnMsCiAgICAgRGF0YUxpc3RPcHRpb25zLAogICAgIE1hcEFyZWFzLAogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTENvbGxlY3Rpb24uY3BwCmluZGV4IDExMjljYWJkOTczMmM0ZWIxOTQxY2RkYTNmZjA3
ZjdkMmE4NDBiZWIuLjY0ZGZiNGM2NTczZDIyMGM1OTJkYjRjOGVkOTU0YzIwYjcyODRlODkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uY3BwCkBAIC01Miw2ICs1Miw3IEBAIHN0
YXRpYyBib29sIHNob3VsZEluY2x1ZGVDaGlsZHJlbihDb2xsZWN0aW9uVHlwZSB0eXBlKQogICAg
IGNhc2UgTWFwQXJlYXM6CiAgICAgY2FzZSBPdGhlckNvbGxlY3Rpb246CiAgICAgY2FzZSBTZWxl
Y3RPcHRpb25zOgorICAgIGNhc2UgU2VsZWN0ZWRPcHRpb25zOgogICAgIGNhc2UgRGF0YUxpc3RP
cHRpb25zOgogICAgIGNhc2UgV2luZG93TmFtZWRJdGVtczoKICNpZiBFTkFCTEUoTUlDUk9EQVRB
KQpAQCAtOTgsNiArOTksMTEgQEAgdm9pZCBIVE1MQ29sbGVjdGlvbjo6aW52YWxpZGF0ZUNhY2hl
SWZOZWVkZWQoKSBjb25zdAogICAgIG1fY2FjaGUudmVyc2lvbiA9IGRvY3ZlcnNpb247CiB9CiAK
K3ZvaWQgSFRNTENvbGxlY3Rpb246OmNsZWFyQ2FjaGUoKQoreworICAgIG1fY2FjaGUuY2xlYXIo
KTsKK30KKwogaW5saW5lIGJvb2wgSFRNTENvbGxlY3Rpb246OmlzQWNjZXB0YWJsZUVsZW1lbnQo
RWxlbWVudCogZWxlbWVudCkgY29uc3QKIHsKICAgICBpZiAoIWVsZW1lbnQtPmlzSFRNTEVsZW1l
bnQoKSAmJiAhKG1fdHlwZSA9PSBEb2NBbGwgfHwgbV90eXBlID09IE5vZGVDaGlsZHJlbikpCkBA
IC0xMTgsNiArMTI0LDggQEAgaW5saW5lIGJvb2wgSFRNTENvbGxlY3Rpb246OmlzQWNjZXB0YWJs
ZUVsZW1lbnQoRWxlbWVudCogZWxlbWVudCkgY29uc3QKICAgICAgICAgcmV0dXJuIGVsZW1lbnQt
Pmhhc0xvY2FsTmFtZSh0clRhZyk7CiAgICAgY2FzZSBTZWxlY3RPcHRpb25zOgogICAgICAgICBy
ZXR1cm4gZWxlbWVudC0+aGFzTG9jYWxOYW1lKG9wdGlvblRhZyk7CisgICAgY2FzZSBTZWxlY3Rl
ZE9wdGlvbnM6CisgICAgICAgIHJldHVybiBlbGVtZW50LT5oYXNMb2NhbE5hbWUob3B0aW9uVGFn
KSAmJiB0b0hUTUxPcHRpb25FbGVtZW50KGVsZW1lbnQpLT5zZWxlY3RlZCgpOwogICAgIGNhc2Ug
RGF0YUxpc3RPcHRpb25zOgogICAgICAgICBpZiAoZWxlbWVudC0+aGFzTG9jYWxOYW1lKG9wdGlv
blRhZykpIHsKICAgICAgICAgICAgIEhUTUxPcHRpb25FbGVtZW50KiBvcHRpb24gPSBzdGF0aWNf
Y2FzdDxIVE1MT3B0aW9uRWxlbWVudCo+KGVsZW1lbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ29s
bGVjdGlvbi5oCmluZGV4IGVkZTgxYzA5ZmMxNmVkNjkzMTkxY2QwMjdmMTFmMjgxY2I1ZGZkMDku
LmZlZDc0ZDhlN2NkNWQ4MjNiNzk4MGNmZjk4NTUyN2RmOGY4MGEzOGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxDb2xsZWN0aW9uLmgKQEAgLTcxLDYgKzcxLDcgQEAgcHJvdGVjdGVkOgogICAgIEhU
TUxDb2xsZWN0aW9uKE5vZGUqIGJhc2UsIENvbGxlY3Rpb25UeXBlKTsKIAogICAgIHZvaWQgaW52
YWxpZGF0ZUNhY2hlSWZOZWVkZWQoKSBjb25zdDsKKyAgICB2b2lkIGNsZWFyQ2FjaGUoKTsKIAog
ICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVOYW1lQ2FjaGUoKSBjb25zdDsKICAgICB2aXJ0dWFsIEVs
ZW1lbnQqIGl0ZW1BZnRlcihFbGVtZW50KikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE9wdGlvbkVsZW1lbnQuY3BwCmluZGV4IDMzZTM5YTYxOGI2ZTJlY2IzMGY0ZTg0YWYwNzVjZWMy
NTQ5YzI0OTUuLjM2OTFlODI0MWUyZDUyZWExMzFlMjkwZDNiZGUwYTczZTI1ODJiZGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwCkBAIC0yNDUsNiArMjQ1LDkg
QEAgdm9pZCBIVE1MT3B0aW9uRWxlbWVudDo6c2V0U2VsZWN0ZWRTdGF0ZShib29sIHNlbGVjdGVk
KQogCiAgICAgbV9pc1NlbGVjdGVkID0gc2VsZWN0ZWQ7CiAgICAgc2V0TmVlZHNTdHlsZVJlY2Fs
YygpOworCisgICAgaWYgKEhUTUxTZWxlY3RFbGVtZW50KiBzZWxlY3QgPSBvd25lclNlbGVjdEVs
ZW1lbnQoKSkKKyAgICAgICAgc2VsZWN0LT5pbnZhbGlkYXRlU2VsZWN0ZWRJdGVtcygpOwogfQog
CiB2b2lkIEhUTUxPcHRpb25FbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQ
YXJzZXIsIE5vZGUqIGJlZm9yZUNoYW5nZSwgTm9kZSogYWZ0ZXJDaGFuZ2UsIGludCBjaGlsZENv
dW50RGVsdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCmluZGV4
IDA0MjI3YWVjNjY1YzNkMjRkMTBjYzllZDlkMWYwNjNhMmY0YjNmYTcuLmMyNjQ2MjNkMGExYjMz
NTI1YWM0ZTkzNmE0OGYxYTZjNDljYWNlZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNl
bGVjdEVsZW1lbnQuY3BwCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiSFRNTE9wdEdyb3Vw
RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxPcHRpb25FbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRN
TE9wdGlvbnNDb2xsZWN0aW9uLmgiCisjaW5jbHVkZSAiSFRNTFNlbGVjdGVkT3B0aW9uc0NvbGxl
Y3Rpb24uaCIKICNpbmNsdWRlICJLZXlib2FyZEV2ZW50LmgiCiAjaW5jbHVkZSAiTG9jYWxpemVk
U3RyaW5ncy5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKQEAgLTM1MCw2ICszNTEsMTMgQEAg
Ym9vbCBIVE1MU2VsZWN0RWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBO
b2RlUmVuZGVyaW5nQ29udGV4dCYgY2gKICAgICByZXR1cm4gY2hpbGRDb250ZXh0LmlzT25VcHBl
ckVuY2Fwc3VsYXRpb25Cb3VuZGFyeSgpICYmIEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3Rh
dGU6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY2hpbGRDb250ZXh0KTsKIH0KIAorSFRNTENv
bGxlY3Rpb24qIEhUTUxTZWxlY3RFbGVtZW50OjpzZWxlY3RlZE9wdGlvbnMoKQoreworICAgIGlm
ICghbV9zZWxlY3RlZE9wdGlvbnNDb2xsZWN0aW9uKQorICAgICAgICBtX3NlbGVjdGVkT3B0aW9u
c0NvbGxlY3Rpb24gPSBIVE1MU2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlvbjo6Y3JlYXRlKHRoaXMp
OworICAgIHJldHVybiBtX3NlbGVjdGVkT3B0aW9uc0NvbGxlY3Rpb24uZ2V0KCk7Cit9CisKIEhU
TUxPcHRpb25zQ29sbGVjdGlvbiogSFRNTFNlbGVjdEVsZW1lbnQ6Om9wdGlvbnMoKQogewogICAg
IGlmICghbV9vcHRpb25zQ29sbGVjdGlvbikKQEAgLTcwMCw2ICs3MDgsMTIgQEAgY29uc3QgVmVj
dG9yPEhUTUxFbGVtZW50Kj4mIEhUTUxTZWxlY3RFbGVtZW50OjpsaXN0SXRlbXMoKSBjb25zdAog
ICAgIHJldHVybiBtX2xpc3RJdGVtczsKIH0KIAordm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6aW52
YWxpZGF0ZVNlbGVjdGVkSXRlbXMoKQoreworICAgIGlmIChtX3NlbGVjdGVkT3B0aW9uc0NvbGxl
Y3Rpb24pCisgICAgICAgIG1fc2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlvbi0+Y2xlYXJDYWNoZSgp
OworfQorCiB2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpzZXRSZWNhbGNMaXN0SXRlbXMoKQogewog
ICAgIG1fc2hvdWxkUmVjYWxjTGlzdEl0ZW1zID0gdHJ1ZTsKQEAgLTcwOSw2ICs3MjMsOCBAQCB2
b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpzZXRSZWNhbGNMaXN0SXRlbXMoKQogICAgIHNldE5lZWRz
U3R5bGVSZWNhbGMoKTsKICAgICBpZiAoIWluRG9jdW1lbnQoKSAmJiBtX29wdGlvbnNDb2xsZWN0
aW9uKQogICAgICAgICBtX29wdGlvbnNDb2xsZWN0aW9uLT5pbnZhbGlkYXRlQ2FjaGVJZk5lZWRl
ZCgpOworICAgIGlmICghaW5Eb2N1bWVudCgpICYmIG1fc2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlv
bikKKyAgICAgICAgbV9zZWxlY3RlZE9wdGlvbnNDb2xsZWN0aW9uLT5pbnZhbGlkYXRlQ2FjaGVJ
Zk5lZWRlZCgpOwogfQogCiB2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpyZWNhbGNMaXN0SXRlbXMo
Ym9vbCB1cGRhdGVTZWxlY3RlZFN0YXRlcykgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNl
bGVjdEVsZW1lbnQuaAppbmRleCBhMmEyZTgwNWFhODY3ZmJiN2NjNDhiMGM5NmI1MTUwM2Y5ODYz
MzZmLi4xMGIwNjJlNWZjYmE2NTZhNmRhMGVhZTM3Y2ZiZjUxZWRiY2FjNzg2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCkBAIC0yOSwxMiArMjksMTIgQEAKICNpbmNs
dWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUu
aCIKICNpbmNsdWRlICJIVE1MT3B0aW9uc0NvbGxlY3Rpb24uaCIKKyNpbmNsdWRlICJIVE1MU2Vs
ZWN0ZWRPcHRpb25zQ29sbGVjdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBIVE1MT3B0aW9uRWxlbWVudDsKLWNsYXNzIEhUTUxP
cHRpb25zQ29sbGVjdGlvbjsKIAogY2xhc3MgSFRNTFNlbGVjdEVsZW1lbnQgOiBwdWJsaWMgSFRN
TEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZSB7CiBwdWJsaWM6CkBAIC02NCwxMCArNjQsMTIg
QEAgcHVibGljOgogICAgIHZvaWQgc2V0VmFsdWUoY29uc3QgU3RyaW5nJik7CiAKICAgICBIVE1M
T3B0aW9uc0NvbGxlY3Rpb24qIG9wdGlvbnMoKTsKKyAgICBIVE1MQ29sbGVjdGlvbiogc2VsZWN0
ZWRPcHRpb25zKCk7CiAKICAgICB2b2lkIG9wdGlvbkVsZW1lbnRDaGlsZHJlbkNoYW5nZWQoKTsK
IAogICAgIHZvaWQgc2V0UmVjYWxjTGlzdEl0ZW1zKCk7CisgICAgdm9pZCBpbnZhbGlkYXRlU2Vs
ZWN0ZWRJdGVtcygpOwogICAgIHZvaWQgdXBkYXRlTGlzdEl0ZW1TZWxlY3RlZFN0YXRlcygpOwog
CiAgICAgY29uc3QgVmVjdG9yPEhUTUxFbGVtZW50Kj4mIGxpc3RJdGVtcygpIGNvbnN0OwpAQCAt
MTgwLDYgKzE4Miw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGNoaWxkcmVuQ2hhbmdl
ZChib29sIGNoYW5nZWRCeVBhcnNlciA9IGZhbHNlLCBOb2RlKiBiZWZvcmVDaGFuZ2UgPSAwLCBO
b2RlKiBhZnRlckNoYW5nZSA9IDAsIGludCBjaGlsZENvdW50RGVsdGEgPSAwKTsKIAogICAgIE93
blB0cjxIVE1MT3B0aW9uc0NvbGxlY3Rpb24+IG1fb3B0aW9uc0NvbGxlY3Rpb247CisgICAgT3du
UHRyPEhUTUxTZWxlY3RlZE9wdGlvbnNDb2xsZWN0aW9uPiBtX3NlbGVjdGVkT3B0aW9uc0NvbGxl
Y3Rpb247CiAKICAgICAvLyBtX2xpc3RJdGVtcyBjb250YWlucyBIVE1MT3B0aW9uRWxlbWVudCwg
SFRNTE9wdEdyb3VwRWxlbWVudCwgYW5kIEhUTUxIUkVsZW1lbnQgb2JqZWN0cy4KICAgICBtdXRh
YmxlIFZlY3RvcjxIVE1MRWxlbWVudCo+IG1fbGlzdEl0ZW1zOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxTZWxlY3RFbGVtZW50LmlkbAppbmRleCBkZThkMmQ2ZDBiNDkyNzkzNjdiZDMwN2RiMjQ2
YjBiNTExOTY5MmIzLi42YTFhZTAzZDE0YmViNTFkYzAxMDQxOTdlODc1ZWE3NzY2YjRiYjE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmlkbApAQCAtNTMsNiArNTMs
NyBAQCBtb2R1bGUgaHRtbCB7CiAjZWxzZQogICAgICAgICB2b2lkIHJlbW92ZShpbiBsb25nIGlu
ZGV4KTsKICNlbmRpZgorICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRNTENvbGxlY3Rpb24g
c2VsZWN0ZWRPcHRpb25zOwogICAgICAgICBhdHRyaWJ1dGUgbG9uZyBzZWxlY3RlZEluZGV4Owog
ICAgICAgICBhdHRyaWJ1dGUgW1RyZWF0TnVsbEFzPU51bGxTdHJpbmddIERPTVN0cmluZyB2YWx1
ZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0ZWRPcHRpb25z
Q29sbGVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RlZE9wdGlvbnND
b2xsZWN0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNDcwNGVmNTUwMjg4NDQ5MjRhMmM3MDllZTM1ZmY5
NWZhNDg0OTMxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2Vs
ZWN0ZWRPcHRpb25zQ29sbGVjdGlvbi5jcHAKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMiBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWll
cykKKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRl
IHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT
dHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJIVE1MU2VsZWN0ZWRPcHRpb25z
Q29sbGVjdGlvbi5oIgorCisjaW5jbHVkZSAiSFRNTFNlbGVjdEVsZW1lbnQuaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitIVE1MU2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlvbjo6SFRNTFNlbGVj
dGVkT3B0aW9uc0NvbGxlY3Rpb24oSFRNTFNlbGVjdEVsZW1lbnQqIHNlbGVjdCkKKyAgICA6IEhU
TUxDb2xsZWN0aW9uKHNlbGVjdCwgU2VsZWN0ZWRPcHRpb25zKQoreworfQorCitQYXNzT3duUHRy
PEhUTUxTZWxlY3RlZE9wdGlvbnNDb2xsZWN0aW9uPiBIVE1MU2VsZWN0ZWRPcHRpb25zQ29sbGVj
dGlvbjo6Y3JlYXRlKEhUTUxTZWxlY3RFbGVtZW50KiBzZWxlY3QpCit7CisgICAgcmV0dXJuIGFk
b3B0UHRyKG5ldyBIVE1MU2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlvbihzZWxlY3QpKTsKK30KKwor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0ZWRPcHRpb25zQ29s
bGVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0ZWRPcHRpb25zQ29sbGVj
dGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQ3OGEyMTk1ODgxNTgyYjBjMTcyMjJkMGVhNjkxZWVkOThhNmZj
ODIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RlZE9w
dGlvbnNDb2xsZWN0aW9uLmgKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMiBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKyNp
Zm5kZWYgSFRNTFNlbGVjdGVkT3B0aW9uc0NvbGxlY3Rpb25faAorI2RlZmluZSBIVE1MU2VsZWN0
ZWRPcHRpb25zQ29sbGVjdGlvbl9oCisKKyNpbmNsdWRlICJIVE1MQ29sbGVjdGlvbi5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEhUTUxTZWxlY3RFbGVtZW50OworCitjbGFzcyBI
VE1MU2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlvbiA6IHB1YmxpYyBIVE1MQ29sbGVjdGlvbiB7Citw
dWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8SFRNTFNlbGVjdGVkT3B0aW9uc0NvbGxlY3Rp
b24+IGNyZWF0ZShIVE1MU2VsZWN0RWxlbWVudCopOworICAgIHVzaW5nIEhUTUxDb2xsZWN0aW9u
OjppbnZhbGlkYXRlQ2FjaGVJZk5lZWRlZDsKKyAgICB1c2luZyBIVE1MQ29sbGVjdGlvbjo6Y2xl
YXJDYWNoZTsKKworcHJpdmF0ZToKKyAgICBIVE1MU2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlvbihI
VE1MU2VsZWN0RWxlbWVudCopOworfTsKKworfSAvLyBuYW1lc3BhY2UKKworI2VuZGlmIC8vIEhU
TUxTZWxlY3RlZE9wdGlvbnNDb2xsZWN0aW9uX2gKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwMjNmYTJhZjU2ZDFiMjllYzk1
NjJiZmNmNDRmZDFhNTE2ZmJhN2NhLi43ZjVhMGE2ZGJhM2Y0NjMyMmExM2JjMDljNTVhM2E3MDUx
MDZlNGI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDYtMjcgIEFsZXhpcyBNZW5hcmQg
IDxhbGV4aXMubWVuYXJkQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgSW1wbGVtZW50IHNlbGVj
dGVkT3B0aW9ucyBhdHRyaWJ1dGUgb2YgPHNlbGVjdD4uCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDYzMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIE5ldyB0ZXN0cyB0byBjb3ZlciB0aGUgZmVhdHVyZS4K
KworICAgICAgICAqIGZhc3QvZG9tL0hUTUxTZWxlY3RFbGVtZW50L3NlbGVjdC1zZWxlY3RlZE9w
dGlvbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MU2VsZWN0
RWxlbWVudC9zZWxlY3Qtc2VsZWN0ZWRPcHRpb25zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZG9tL2h0bWxjb2xsZWN0aW9uLW5vbi1odG1sLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBm
YXN0L2RvbS9odG1sY29sbGVjdGlvbi1ub24taHRtbC5odG1sOgorCiAyMDEyLTA2LTI3ICBXLiBK
YW1lcyBNYWNMZWFuICA8d2ptYWNsZWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21p
dW1dIFNjcm9sbGJhckxheWVyQ2hyb21pdW0gc2hvdWxkIHN1cHBvcnQgcGFpbnRpbmcgZm9yd2Fy
ZC10cmFjayBhbmQgYmFjay10cmFjayBpbiBkaWZmZXJlbnQgc3R5bGVzLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFNlbGVjdEVsZW1lbnQvc2VsZWN0LXNlbGVjdGVkT3B0
aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MU2VsZWN0RWxlbWVu
dC9zZWxlY3Qtc2VsZWN0ZWRPcHRpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZTZhNzBi
NGFjOTQ2NDQxN2Y1YzlkMGE4OWE0YzgzY2RlYmY4ZjI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTFNlbGVjdEVsZW1lbnQvc2VsZWN0LXNlbGVjdGVkT3B0aW9u
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1MSBAQAorCisxKSBJbml0aWFsIHRoZXJlIGlzIG5v
IHNlbGVjdGVkIG9wdGlvbnMuCitQQVNTIG9wdGlvbnNMZW5ndGggaXMgMgorUEFTUyBzZWxlY3Rl
ZE9wdGlvbnMubGVuZ3RoIGlzIDAKKzIpIFNlbGVjdCBhbiBvcHRpb24gc2hvdWxkIHVwZGF0ZSB0
aGUgc2VsZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLgorUEFTUyBvcHRpb25zTGVuZ3RoIGlzIDIK
K1BBU1Mgc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCBpcyAxCitQQVNTIHNlbGVjdGVkT3B0aW9uc1sw
XS50ZXh0IGlzICdvbmUnCiszKSBTZWxlY3QgdHdvIG9wdGlvbnMgc2hvdWxkIHVwZGF0ZSB0aGUg
c2VsZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLgorUEFTUyBvcHRpb25zTGVuZ3RoIGlzIDIKK1BB
U1Mgc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCBpcyAyCitQQVNTIHNlbGVjdGVkT3B0aW9uc1swXS50
ZXh0IGlzICdvbmUnCitQQVNTIHNlbGVjdGVkT3B0aW9uc1sxXS50ZXh0IGlzICd0d28nCis0KSBB
ZGRpbmcgYSBub24gc2VsZWN0ZWQgb3B0aW9uIHNob3VsZCBub3QgY2hhbmdlIHRoZSBzZWxlY3Rl
ZCBvcHRpb25zIGNvbGxlY3Rpb24uCitQQVNTIG9wdGlvbnNMZW5ndGggaXMgMworUEFTUyBzZWxl
Y3RlZE9wdGlvbnMubGVuZ3RoIGlzIDEKK1BBU1Mgc2VsZWN0ZWRPcHRpb25zWzBdLnRleHQgaXMg
J29uZScKKzUpIEFkZGluZyBhIHNlbGVjdGVkIG9wdGlvbiBzaG91bGQgY2hhbmdlIHRoZSBzZWxl
Y3RlZCBvcHRpb25zIGNvbGxlY3Rpb24uCitQQVNTIG9wdGlvbnNMZW5ndGggaXMgNAorUEFTUyBz
ZWxlY3RlZE9wdGlvbnMubGVuZ3RoIGlzIDIKK1BBU1Mgc2VsZWN0ZWRPcHRpb25zWzBdLnRleHQg
aXMgJ29uZScKK1BBU1Mgc2VsZWN0ZWRPcHRpb25zWzFdLnRleHQgaXMgJ2ZpdmUnCis2KSBVbnNl
bGVjdCBhbiBvcHRpb24gc2hvdWxkIHVwZGF0ZSB0aGUgc2VsZWN0ZWQgb3B0aW9ucyBjb2xsZWN0
aW9uLgorUEFTUyBvcHRpb25zTGVuZ3RoIGlzIDQKK1BBU1Mgc2VsZWN0ZWRPcHRpb25zLmxlbmd0
aCBpcyAxCitQQVNTIHNlbGVjdGVkT3B0aW9uc1swXS50ZXh0IGlzICdmaXZlJworNykgUmVtb3Zl
IGFuIG9wdGlvbiB1bnNlbGVjdGVkIHNob3VsZCBub3QgdXBkYXRlIHRoZSBzZWxlY3RlZCBvcHRp
b25zIGNvbGxlY3Rpb24uCitQQVNTIG9wdGlvbnNMZW5ndGggaXMgMworUEFTUyBzZWxlY3RlZE9w
dGlvbnMubGVuZ3RoIGlzIDEKK1BBU1Mgc2VsZWN0ZWRPcHRpb25zWzBdLnRleHQgaXMgJ2ZpdmUn
Cis4KSBSZW1vdmUgYW4gb3B0aW9uIHNlbGVjdGVkIHNob3VsZCB1cGRhdGUgdGhlIHNlbGVjdGVk
IG9wdGlvbnMgY29sbGVjdGlvbi4KK1BBU1Mgb3B0aW9uc0xlbmd0aCBpcyAyCitQQVNTIHNlbGVj
dGVkT3B0aW9ucy5sZW5ndGggaXMgMAorOSkgQ2hhbmdlIG11bHRpcGxlIGF0dHJpYnV0ZSB0byBm
YWxzZSBzaG91bGQgdXBkYXRlIHNlbGVjdGVkT3B0aW9ucy4KK1BBU1Mgb3B0aW9uc0xlbmd0aCBp
cyAyCitQQVNTIHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggaXMgMQorUEFTUyBzZWxlY3RlZE9wdGlv
bnNbMF0udGV4dCBpcyAndHdvJworMTApIEV2ZW4gd2l0aCBhbiBvcHRpb24gZGlzYWJsZWQgc2Vs
ZWN0ZWRPcHRpb25zIHNob3VsZCBiZSB1cGRhdGVkLgorUEFTUyBvcHRpb25zTGVuZ3RoIGlzIDIK
K1BBU1Mgc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCBpcyAxCitQQVNTIHNlbGVjdGVkT3B0aW9uc1sw
XS50ZXh0IGlzICdvbmUnCisxMSkgRXZlbiB3aXRoIHNlbGVjdCBlbGVtZW50IGRpc2FibGVkLCB0
aGUgc2VsZWN0ZWRPcHRpb25zIHNob3VsZCBiZSB1cGRhdGVkLgorUEFTUyBvcHRpb25zTGVuZ3Ro
IGlzIDIKK1BBU1Mgc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCBpcyAyCitQQVNTIHNlbGVjdGVkT3B0
aW9uc1swXS50ZXh0IGlzICdvbmUnCitQQVNTIHNlbGVjdGVkT3B0aW9uc1sxXS50ZXh0IGlzICd0
d28nCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MU2VsZWN0RWxlbWVudC9zZWxl
Y3Qtc2VsZWN0ZWRPcHRpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MU2VsZWN0
RWxlbWVudC9zZWxlY3Qtc2VsZWN0ZWRPcHRpb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWRjMTZhY2Ez
ODIzZGIwYWM3OTZlMzc3NWQ2MDQ1ZGZlMjYyNjcwMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0hUTUxTZWxlY3RFbGVtZW50L3NlbGVjdC1zZWxlY3RlZE9wdGlvbnMu
aHRtbApAQCAtMCwwICsxLDEyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2VsZWN0IGlkPSJ0ZXN0
IiBzaXplPSIzIiBtdWx0aXBsZT0ibXVsdGlwbGUiPgorPC9zZWxlY3Q+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHJlc2V0KG15U2VsZWN0KSB7CisgICAg
bXlTZWxlY3QubGVuZ3RoID0gMDsKKyAgICBteVNlbGVjdC5tdWx0aXBsZSA9IHRydWU7CisgICAg
bXlTZWxlY3Qub3B0aW9uc1tteVNlbGVjdC5sZW5ndGhdID0gbmV3IE9wdGlvbigib25lIiwgInZh
bHVlIiwgZmFsc2UpOworICAgIG15U2VsZWN0Lm9wdGlvbnNbbXlTZWxlY3QubGVuZ3RoXSA9IG5l
dyBPcHRpb24oInR3byIsICJ2YWx1ZSIsIGZhbHNlKTsKK30KKworZnVuY3Rpb24gZGVlcENvcHko
YXJyYXkpCit7CisgICAgdmFyIGNvcHk9W107CisgICAgZm9yKHZhciBpPTA7aTxhcnJheS5sZW5n
dGg7aSsrKQorICAgICAgICBjb3B5LnB1c2goYXJyYXlbaV0pOworICAgIHJldHVybiBjb3B5Owor
IH0KKwordmFyIG15U2VsZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKK3Jl
c2V0KG15U2VsZWN0KTsKK3ZhciBpID0gMDsKKworLy8gV2UgdXNlIHRoaXMgbG9jYWwgdmFyaWFi
bGUgYXMgc2hvdWxkQmUgd2lsbCBtb2RpZnkgdGhlIGRvbSB0cmVlIHZlcnNpb24uIEFueSBkb20g
dHJlZSB2ZXJzaW9uIHVwZGF0ZSBpbnZhbGlkYXRlcworLy8gdGhlIGNhY2hlcyB0aGVyZWZvcmUg
d2UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCB3ZSBzdG9yZSB0aGUgdmFsdWVzIGJlZm9yZSBjYWxs
aW5nIHNob3VsZEJlLgordmFyIHNlbGVjdGVkT3B0aW9uczsKK3ZhciBvcHRpb25zTGVuZ3RoID0g
MDsKKworZGVidWcoKCsraSkgKyAiKSBJbml0aWFsIHRoZXJlIGlzIG5vIHNlbGVjdGVkIG9wdGlv
bnMuIik7CitvcHRpb25zTGVuZ3RoID0gbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGg7CitzZWxlY3Rl
ZE9wdGlvbnMgPSBkZWVwQ29weShteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMpOworc2hvdWxkQmUo
Im9wdGlvbnNMZW5ndGgiLCAiMiIpOworc2hvdWxkQmUoInNlbGVjdGVkT3B0aW9ucy5sZW5ndGgi
LCAiMCIpOworCitkZWJ1ZygoKytpKSArICIpIFNlbGVjdCBhbiBvcHRpb24gc2hvdWxkIHVwZGF0
ZSB0aGUgc2VsZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLiIpOworbXlTZWxlY3Qub3B0aW9uc1sw
XS5zZWxlY3RlZCA9IHRydWU7CitvcHRpb25zTGVuZ3RoID0gbXlTZWxlY3Qub3B0aW9ucy5sZW5n
dGg7CitzZWxlY3RlZE9wdGlvbnMgPSBkZWVwQ29weShteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMp
Oworc2hvdWxkQmUoIm9wdGlvbnNMZW5ndGgiLCAiMiIpOworc2hvdWxkQmUoInNlbGVjdGVkT3B0
aW9ucy5sZW5ndGgiLCAiMSIpOworc2hvdWxkQmUoInNlbGVjdGVkT3B0aW9uc1swXS50ZXh0Iiwg
IidvbmUnIik7CisKK2RlYnVnKCgrK2kpICsgIikgU2VsZWN0IHR3byBvcHRpb25zIHNob3VsZCB1
cGRhdGUgdGhlIHNlbGVjdGVkIG9wdGlvbnMgY29sbGVjdGlvbi4iKTsKK215U2VsZWN0Lm9wdGlv
bnNbMV0uc2VsZWN0ZWQgPSB0cnVlOworb3B0aW9uc0xlbmd0aCA9IG15U2VsZWN0Lm9wdGlvbnMu
bGVuZ3RoOworc2VsZWN0ZWRPcHRpb25zID0gZGVlcENvcHkobXlTZWxlY3Quc2VsZWN0ZWRPcHRp
b25zKTsKK3Nob3VsZEJlKCJvcHRpb25zTGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJzZWxlY3Rl
ZE9wdGlvbnMubGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJzZWxlY3RlZE9wdGlvbnNbMF0udGV4
dCIsICInb25lJyIpOworc2hvdWxkQmUoInNlbGVjdGVkT3B0aW9uc1sxXS50ZXh0IiwgIid0d28n
Iik7CisKK215U2VsZWN0Lm9wdGlvbnNbMV0uc2VsZWN0ZWQgPSBmYWxzZTsKK2RlYnVnKCgrK2kp
ICsgIikgQWRkaW5nIGEgbm9uIHNlbGVjdGVkIG9wdGlvbiBzaG91bGQgbm90IGNoYW5nZSB0aGUg
c2VsZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLiIpOworbXlTZWxlY3Qub3B0aW9uc1tteVNlbGVj
dC5sZW5ndGhdID0gbmV3IE9wdGlvbigidGhyZWUiLCAidmFsdWUiLCBmYWxzZSk7CitvcHRpb25z
TGVuZ3RoID0gbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGg7CitzZWxlY3RlZE9wdGlvbnMgPSBkZWVw
Q29weShteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMpOworc2hvdWxkQmUoIm9wdGlvbnNMZW5ndGgi
LCAiMyIpOworc2hvdWxkQmUoInNlbGVjdGVkT3B0aW9ucy5sZW5ndGgiLCAiMSIpOworc2hvdWxk
QmUoInNlbGVjdGVkT3B0aW9uc1swXS50ZXh0IiwgIidvbmUnIik7CisKK2RlYnVnKCgrK2kpICsg
IikgQWRkaW5nIGEgc2VsZWN0ZWQgb3B0aW9uIHNob3VsZCBjaGFuZ2UgdGhlIHNlbGVjdGVkIG9w
dGlvbnMgY29sbGVjdGlvbi4iKTsKK215U2VsZWN0Lm9wdGlvbnNbbXlTZWxlY3QubGVuZ3RoXSA9
IG5ldyBPcHRpb24oImZpdmUiLCAidmFsdWUiLCB0cnVlLCB0cnVlKTsKK3NlbGVjdGVkT3B0aW9u
c0xlbmd0aCA9IG15U2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGg7CitvcHRpb25zTGVuZ3Ro
ID0gbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGg7CitzZWxlY3RlZE9wdGlvbnMgPSBteVNlbGVjdC5z
ZWxlY3RlZE9wdGlvbnM7CitzaG91bGRCZSgib3B0aW9uc0xlbmd0aCIsICI0Iik7CitzaG91bGRC
ZSgic2VsZWN0ZWRPcHRpb25zLmxlbmd0aCIsICIyIik7CitzaG91bGRCZSgic2VsZWN0ZWRPcHRp
b25zWzBdLnRleHQiLCAiJ29uZSciKTsKK3Nob3VsZEJlKCJzZWxlY3RlZE9wdGlvbnNbMV0udGV4
dCIsICInZml2ZSciKTsKKworZGVidWcoKCsraSkgKyAiKSBVbnNlbGVjdCBhbiBvcHRpb24gc2hv
dWxkIHVwZGF0ZSB0aGUgc2VsZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLiIpOworbXlTZWxlY3Qu
b3B0aW9uc1swXS5zZWxlY3RlZCA9IGZhbHNlOworb3B0aW9uc0xlbmd0aCA9IG15U2VsZWN0Lm9w
dGlvbnMubGVuZ3RoOworc2VsZWN0ZWRPcHRpb25zID0gZGVlcENvcHkobXlTZWxlY3Quc2VsZWN0
ZWRPcHRpb25zKTsKK3Nob3VsZEJlKCJvcHRpb25zTGVuZ3RoIiwgIjQiKTsKK3Nob3VsZEJlKCJz
ZWxlY3RlZE9wdGlvbnMubGVuZ3RoIiwgIjEiKTsKK3Nob3VsZEJlKCJzZWxlY3RlZE9wdGlvbnNb
MF0udGV4dCIsICInZml2ZSciKTsKKworZGVidWcoKCsraSkgKyAiKSBSZW1vdmUgYW4gb3B0aW9u
IHVuc2VsZWN0ZWQgc2hvdWxkIG5vdCB1cGRhdGUgdGhlIHNlbGVjdGVkIG9wdGlvbnMgY29sbGVj
dGlvbi4iKTsKK215U2VsZWN0LnJlbW92ZSgwKTsKK3NlbGVjdGVkT3B0aW9uc0xlbmd0aCA9IG15
U2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGg7CitvcHRpb25zTGVuZ3RoID0gbXlTZWxlY3Qu
b3B0aW9ucy5sZW5ndGg7CitzZWxlY3RlZE9wdGlvbnMgPSBkZWVwQ29weShteVNlbGVjdC5zZWxl
Y3RlZE9wdGlvbnMpOworc2hvdWxkQmUoIm9wdGlvbnNMZW5ndGgiLCAiMyIpOworc2hvdWxkQmUo
InNlbGVjdGVkT3B0aW9ucy5sZW5ndGgiLCAiMSIpOworc2hvdWxkQmUoInNlbGVjdGVkT3B0aW9u
c1swXS50ZXh0IiwgIidmaXZlJyIpOworCitkZWJ1ZygoKytpKSArICIpIFJlbW92ZSBhbiBvcHRp
b24gc2VsZWN0ZWQgc2hvdWxkIHVwZGF0ZSB0aGUgc2VsZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9u
LiIpOworbXlTZWxlY3QucmVtb3ZlKDIpOworb3B0aW9uc0xlbmd0aCA9IG15U2VsZWN0Lm9wdGlv
bnMubGVuZ3RoOworc2VsZWN0ZWRPcHRpb25zID0gZGVlcENvcHkobXlTZWxlY3Quc2VsZWN0ZWRP
cHRpb25zKTsKK3Nob3VsZEJlKCJvcHRpb25zTGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJzZWxl
Y3RlZE9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKKworbXlTZWxlY3Qub3B0aW9uc1swXS5zZWxlY3Rl
ZCA9IHRydWU7CitteVNlbGVjdC5vcHRpb25zWzFdLnNlbGVjdGVkID0gdHJ1ZTsKK2RlYnVnKCgr
K2kpICsgIikgQ2hhbmdlIG11bHRpcGxlIGF0dHJpYnV0ZSB0byBmYWxzZSBzaG91bGQgdXBkYXRl
IHNlbGVjdGVkT3B0aW9ucy4iKTsKK215U2VsZWN0Lm11bHRpcGxlID0gZmFsc2U7CitvcHRpb25z
TGVuZ3RoID0gbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGg7CitzZWxlY3RlZE9wdGlvbnMgPSBkZWVw
Q29weShteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMpOworc2hvdWxkQmUoIm9wdGlvbnNMZW5ndGgi
LCAiMiIpOworc2hvdWxkQmUoInNlbGVjdGVkT3B0aW9ucy5sZW5ndGgiLCAiMSIpOworc2hvdWxk
QmUoInNlbGVjdGVkT3B0aW9uc1swXS50ZXh0IiwgIid0d28nIik7CisKK3Jlc2V0KG15U2VsZWN0
KTsKK2RlYnVnKCgrK2kpICsgIikgRXZlbiB3aXRoIGFuIG9wdGlvbiBkaXNhYmxlZCBzZWxlY3Rl
ZE9wdGlvbnMgc2hvdWxkIGJlIHVwZGF0ZWQuIik7CitteVNlbGVjdC5vcHRpb25zWzBdLmRpc2Fi
bGVkID0gdHJ1ZTsKK215U2VsZWN0Lm9wdGlvbnNbMF0uc2VsZWN0ZWQgPSB0cnVlOworb3B0aW9u
c0xlbmd0aCA9IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoOworc2VsZWN0ZWRPcHRpb25zID0gZGVl
cENvcHkobXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zKTsKK3Nob3VsZEJlKCJvcHRpb25zTGVuZ3Ro
IiwgIjIiKTsKK3Nob3VsZEJlKCJzZWxlY3RlZE9wdGlvbnMubGVuZ3RoIiwgIjEiKTsKK3Nob3Vs
ZEJlKCJzZWxlY3RlZE9wdGlvbnNbMF0udGV4dCIsICInb25lJyIpOworCitkZWJ1ZygoKytpKSAr
ICIpIEV2ZW4gd2l0aCBzZWxlY3QgZWxlbWVudCBkaXNhYmxlZCwgdGhlIHNlbGVjdGVkT3B0aW9u
cyBzaG91bGQgYmUgdXBkYXRlZC4iKTsKK215U2VsZWN0LmRpc2FibGVkID0gdHJ1ZTsKK215U2Vs
ZWN0Lm9wdGlvbnNbMV0uc2VsZWN0ZWQgPSB0cnVlOworb3B0aW9uc0xlbmd0aCA9IG15U2VsZWN0
Lm9wdGlvbnMubGVuZ3RoOworc2VsZWN0ZWRPcHRpb25zID0gZGVlcENvcHkobXlTZWxlY3Quc2Vs
ZWN0ZWRPcHRpb25zKTsKK3Nob3VsZEJlKCJvcHRpb25zTGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJl
KCJzZWxlY3RlZE9wdGlvbnMubGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJzZWxlY3RlZE9wdGlv
bnNbMF0udGV4dCIsICInb25lJyIpOworc2hvdWxkQmUoInNlbGVjdGVkT3B0aW9uc1sxXS50ZXh0
IiwgIid0d28nIik7CisKK2RlYnVnKCIiKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vaHRtbGNvbGxlY3Rpb24tbm9uLWh0bWwtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vaHRtbGNvbGxlY3Rpb24tbm9uLWh0bWwtZXhwZWN0ZWQudHh0
CmluZGV4IDY2MzJmMDJhMGNkYjQ0OTM0NGNlMzcxNjQ3Y2FiNDQ0NTkzNTc1N2YuLmMyMGFiZWE0
NTk2NTkyNTVhYTNjNDAyM2QyNDc0ZTZiYjdhMTNkMjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL2h0bWxjb2xsZWN0aW9uLW5vbi1odG1sLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9odG1sY29sbGVjdGlvbi1ub24taHRtbC1leHBlY3RlZC50eHQKQEAg
LTQsNiArNCw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIAogUEFTUyBzZWxlY3Qub3B0
aW9ucy5sZW5ndGggaXMgMAorUEFTUyBzZWxlY3Quc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCBpcyAw
CiBQQVNTIHNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAxCiBQQVNTIGRvY3VtZW50LmltYWdlcy5s
ZW5ndGggaXMgMAogUEFTUyBkb2N1bWVudC5pbWFnZXMubGVuZ3RoIGlzIDEKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL2h0bWxjb2xsZWN0aW9uLW5vbi1odG1sLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9odG1sY29sbGVjdGlvbi1ub24taHRtbC5odG1sCmluZGV4IGM3NmZl
ZjViMTVhYmU0OGIxZGE3MTdmYjFkODlmNTVmNGI2M2Y3YjYuLjdhZTE3OWFlYzU0OTAxMzhiYTZl
MWVlNDJjZDM0NmY1MWU2Yzc0YmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2h0
bWxjb2xsZWN0aW9uLW5vbi1odG1sLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vaHRt
bGNvbGxlY3Rpb24tbm9uLWh0bWwuaHRtbApAQCAtNjcsNiArNjcsNyBAQCBmdW5jdGlvbiBydW5U
ZXN0KCkgewogICBlbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKG5zLCAib3B0aW9uIik7
CiAgIHNlbGVjdC5hcHBlbmRDaGlsZChlbGVtKTsKICAgc2hvdWxkQmUoInNlbGVjdC5vcHRpb25z
Lmxlbmd0aCIsICIwIik7CisgIHNob3VsZEJlKCJzZWxlY3Quc2VsZWN0ZWRPcHRpb25zLmxlbmd0
aCIsICIwIik7CiAKICAgZWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpOwog
ICBzZWxlY3QuYXBwZW5kQ2hpbGQoZWxlbSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149814</attachid>
            <date>2012-06-27 16:26:42 -0700</date>
            <delta_ts>2012-06-27 16:31:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80631-20120627202617.patch</filename>
            <type>text/plain</type>
            <size>18493</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMzgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmNmNGQyZWE5ZDZmNmVk
ODE5OWFiM2Y5MDZhZDU2ZTMxY2QzMGU2MS4uNGJlNjIxMzVlYTU3ZDkxMDMyOWU1ZTQ4N2Q3M2Jj
NzJhNDhlYjI0ZCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTA2LTI3ICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIEltcGxl
bWVudCBzZWxlY3RlZE9wdGlvbnMgYXR0cmlidXRlIG9mIDxzZWxlY3Q+LgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA2MzEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgY29sbGVjdGlvbiBh
cyBhIG1lbWJlciBvZiBIVE1MU2VsZWN0RWxlbWVudCB3aGljaCBpcworICAgICAgICB1c2VkIHRv
IHN0b3JlIHRoZSBzZWxlY3RlZCBlbGVtZW50cy4gRXh0ZW5kIEhUTUxDb2xsZWN0aW9uIHRvCisg
ICAgICAgIHN1cHBvcnQgdGhlIG5ldyBjb2xsZWN0aW9uIHR5cGUgbmVlZGVkIGJ5IHRoaXMgZmVh
dHVyZS4gTWFrZSBzdXJlCisgICAgICAgIHRoYXQgd2UgaW52YWxpZGF0ZSB0aGUgY29sbGVjdGlv
biB3aGVuIHRoZSBzZWxlY3Qgc3RhdGUgb2YgYW4KKyAgICAgICAgb3B0aW9uIGNoYW5nZXMgYXMg
dGhlIHNlbGVjdCBzdGF0ZSBjaGFuZ2UgZG9lcyBub3QgdHJpZ2dlciBhIGRvbQorICAgICAgICB0
cmVlIHZlcnNpb24gY2hhbmdlLiAKKworICAgICAgICBSZWZlcmVuY2UgOiBodHRwOi8vd3d3Lndo
YXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFnZS90aGUtYnV0dG9u
LWVsZW1lbnQuaHRtbCNkb20tc2VsZWN0LXNlbGVjdGVkb3B0aW9ucworCisgICAgICAgIFRlc3Q6
IGZhc3QvZG9tL0hUTUxTZWxlY3RFbGVtZW50L3NlbGVjdC1zZWxlY3RlZE9wdGlvbnMuaHRtbAor
CisgICAgICAgICogaHRtbC9Db2xsZWN0aW9uVHlwZS5oOgorICAgICAgICAqIGh0bWwvSFRNTENv
bGxlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkSW5jbHVkZUNoaWxkcmVuKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb2xsZWN0aW9uOjpjbGVhckNhY2hlKToKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENvbGxlY3Rpb246OmlzQWNjZXB0YWJs
ZUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTENvbGxlY3Rpb24uaDoKKyAgICAgICAgKEhU
TUxDb2xsZWN0aW9uKToKKyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxPcHRpb25FbGVtZW50OjpzZXRTZWxlY3RlZFN0YXRlKToKKyAg
ICAgICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxTZWxlY3RFbGVtZW50OjpzZWxlY3RlZE9wdGlvbnMpOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6aW52YWxpZGF0ZVNlbGVjdGVkSXRl
bXMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OnNldFJlY2FsY0xpc3RJ
dGVtcyk6CisgICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChIVE1MU2VsZWN0RWxlbWVudCk6CisgICAgICAgICogaHRtbC9IVE1M
U2VsZWN0RWxlbWVudC5pZGw6CisKIDIwMTItMDYtMjUgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhu
ZW5iZXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBKU0xvY2sgc2hvdWxkIGJlIHBlci1KU0dsb2Jh
bERhdGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvblR5cGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvblR5cGUuaAppbmRleCBkZDcxZDkxOGJlYTQ4
NzBjMzdkOWVmYjhjYzk3NTgzNzc2Y2Y4MWE3Li41YmVkNGQ4OWEzYjE4NTA0ZTUyNGYwMTg1NmQx
MjJiYjZhOWU3MjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0NvbGxlY3Rpb25U
eXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uVHlwZS5oCkBAIC01MSw2
ICs1MSw3IEBAIGVudW0gQ29sbGVjdGlvblR5cGUgewogICAgIFRTZWN0aW9uUm93cywgLy8gYWxs
IHJvdyBlbGVtZW50cyBpbiB0aGlzIHRhYmxlIHNlY3Rpb24KICAgICBUUkNlbGxzLCAgICAgIC8v
IGFsbCBjZWxscyBpbiB0aGlzIHJvdwogICAgIFNlbGVjdE9wdGlvbnMsCisgICAgU2VsZWN0ZWRP
cHRpb25zLAogICAgIERhdGFMaXN0T3B0aW9ucywKICAgICBNYXBBcmVhcywKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxDb2xsZWN0aW9uLmNwcAppbmRleCAxMTI5Y2FiZDk3MzJjNGViMTk0MWNkZGEz
ZmYwN2Y3ZDJhODQwYmViLi42NGRmYjRjNjU3M2QyMjBjNTkyZGI0YzhlZDk1NGMyMGI3Mjg0ZTg5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmNwcApAQCAtNTIsNiArNTIsNyBA
QCBzdGF0aWMgYm9vbCBzaG91bGRJbmNsdWRlQ2hpbGRyZW4oQ29sbGVjdGlvblR5cGUgdHlwZSkK
ICAgICBjYXNlIE1hcEFyZWFzOgogICAgIGNhc2UgT3RoZXJDb2xsZWN0aW9uOgogICAgIGNhc2Ug
U2VsZWN0T3B0aW9uczoKKyAgICBjYXNlIFNlbGVjdGVkT3B0aW9uczoKICAgICBjYXNlIERhdGFM
aXN0T3B0aW9uczoKICAgICBjYXNlIFdpbmRvd05hbWVkSXRlbXM6CiAjaWYgRU5BQkxFKE1JQ1JP
REFUQSkKQEAgLTk4LDYgKzk5LDExIEBAIHZvaWQgSFRNTENvbGxlY3Rpb246OmludmFsaWRhdGVD
YWNoZUlmTmVlZGVkKCkgY29uc3QKICAgICBtX2NhY2hlLnZlcnNpb24gPSBkb2N2ZXJzaW9uOwog
fQogCit2b2lkIEhUTUxDb2xsZWN0aW9uOjpjbGVhckNhY2hlKCkKK3sKKyAgICBtX2NhY2hlLmNs
ZWFyKCk7Cit9CisKIGlubGluZSBib29sIEhUTUxDb2xsZWN0aW9uOjppc0FjY2VwdGFibGVFbGVt
ZW50KEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0CiB7CiAgICAgaWYgKCFlbGVtZW50LT5pc0hUTUxF
bGVtZW50KCkgJiYgIShtX3R5cGUgPT0gRG9jQWxsIHx8IG1fdHlwZSA9PSBOb2RlQ2hpbGRyZW4p
KQpAQCAtMTE4LDYgKzEyNCw4IEBAIGlubGluZSBib29sIEhUTUxDb2xsZWN0aW9uOjppc0FjY2Vw
dGFibGVFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0CiAgICAgICAgIHJldHVybiBlbGVt
ZW50LT5oYXNMb2NhbE5hbWUodHJUYWcpOwogICAgIGNhc2UgU2VsZWN0T3B0aW9uczoKICAgICAg
ICAgcmV0dXJuIGVsZW1lbnQtPmhhc0xvY2FsTmFtZShvcHRpb25UYWcpOworICAgIGNhc2UgU2Vs
ZWN0ZWRPcHRpb25zOgorICAgICAgICByZXR1cm4gZWxlbWVudC0+aGFzTG9jYWxOYW1lKG9wdGlv
blRhZykgJiYgdG9IVE1MT3B0aW9uRWxlbWVudChlbGVtZW50KS0+c2VsZWN0ZWQoKTsKICAgICBj
YXNlIERhdGFMaXN0T3B0aW9uczoKICAgICAgICAgaWYgKGVsZW1lbnQtPmhhc0xvY2FsTmFtZShv
cHRpb25UYWcpKSB7CiAgICAgICAgICAgICBIVE1MT3B0aW9uRWxlbWVudCogb3B0aW9uID0gc3Rh
dGljX2Nhc3Q8SFRNTE9wdGlvbkVsZW1lbnQqPihlbGVtZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TENvbGxlY3Rpb24uaAppbmRleCBlZGU4MWMwOWZjMTZlZDY5MzE5MWNkMDI3ZjExZjI4MWNiNWRm
ZDA5Li5kNmEwNTM1MTZmODlkOWI1NmUwNDA1NzQxZTVhN2I1MmQzNTU5OGVhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5oCkBAIC02NywxMSArNjcsMTEgQEAgcHVibGljOgogICAg
IE5vZGUqIGJhc2UoKSBjb25zdCB7IHJldHVybiBtX2Jhc2U7IH0KICAgICBDb2xsZWN0aW9uVHlw
ZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Q29sbGVjdGlvblR5cGU+KG1fdHlw
ZSk7IH0KIAorICAgIHZvaWQgY2xlYXJDYWNoZSgpOworICAgIHZvaWQgaW52YWxpZGF0ZUNhY2hl
SWZOZWVkZWQoKSBjb25zdDsKIHByb3RlY3RlZDoKICAgICBIVE1MQ29sbGVjdGlvbihOb2RlKiBi
YXNlLCBDb2xsZWN0aW9uVHlwZSk7CiAKLSAgICB2b2lkIGludmFsaWRhdGVDYWNoZUlmTmVlZGVk
KCkgY29uc3Q7Ci0KICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlTmFtZUNhY2hlKCkgY29uc3Q7CiAg
ICAgdmlydHVhbCBFbGVtZW50KiBpdGVtQWZ0ZXIoRWxlbWVudCopIGNvbnN0OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwCmluZGV4IDMzZTM5YTYxOGI2ZTJlY2Iz
MGY0ZTg0YWYwNzVjZWMyNTQ5YzI0OTUuLjM2OTFlODI0MWUyZDUyZWExMzFlMjkwZDNiZGUwYTcz
ZTI1ODJiZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwCkBA
IC0yNDUsNiArMjQ1LDkgQEAgdm9pZCBIVE1MT3B0aW9uRWxlbWVudDo6c2V0U2VsZWN0ZWRTdGF0
ZShib29sIHNlbGVjdGVkKQogCiAgICAgbV9pc1NlbGVjdGVkID0gc2VsZWN0ZWQ7CiAgICAgc2V0
TmVlZHNTdHlsZVJlY2FsYygpOworCisgICAgaWYgKEhUTUxTZWxlY3RFbGVtZW50KiBzZWxlY3Qg
PSBvd25lclNlbGVjdEVsZW1lbnQoKSkKKyAgICAgICAgc2VsZWN0LT5pbnZhbGlkYXRlU2VsZWN0
ZWRJdGVtcygpOwogfQogCiB2b2lkIEhUTUxPcHRpb25FbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQo
Ym9vbCBjaGFuZ2VkQnlQYXJzZXIsIE5vZGUqIGJlZm9yZUNoYW5nZSwgTm9kZSogYWZ0ZXJDaGFu
Z2UsIGludCBjaGlsZENvdW50RGVsdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxTZWxlY3RFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVs
ZW1lbnQuY3BwCmluZGV4IDA0MjI3YWVjNjY1YzNkMjRkMTBjYzllZDlkMWYwNjNhMmY0YjNmYTcu
LjM2NjY3OTk3N2I1OWQzYzljNTEyYzZiZTk0YmI5ZGUzODU4MDA5NjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCkBAIC0zNTAsNiArMzUwLDEzIEBAIGJvb2wg
SFRNTFNlbGVjdEVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZVJl
bmRlcmluZ0NvbnRleHQmIGNoCiAgICAgcmV0dXJuIGNoaWxkQ29udGV4dC5pc09uVXBwZXJFbmNh
cHN1bGF0aW9uQm91bmRhcnkoKSAmJiBIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlOjpj
aGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNoaWxkQ29udGV4dCk7CiB9CiAKK0hUTUxDb2xsZWN0
aW9uKiBIVE1MU2VsZWN0RWxlbWVudDo6c2VsZWN0ZWRPcHRpb25zKCkKK3sKKyAgICBpZiAoIW1f
c2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlvbikKKyAgICAgICAgbV9zZWxlY3RlZE9wdGlvbnNDb2xs
ZWN0aW9uID0gSFRNTENvbGxlY3Rpb246OmNyZWF0ZSh0aGlzLCBTZWxlY3RlZE9wdGlvbnMpOwor
ICAgIHJldHVybiBtX3NlbGVjdGVkT3B0aW9uc0NvbGxlY3Rpb24uZ2V0KCk7Cit9CisKIEhUTUxP
cHRpb25zQ29sbGVjdGlvbiogSFRNTFNlbGVjdEVsZW1lbnQ6Om9wdGlvbnMoKQogewogICAgIGlm
ICghbV9vcHRpb25zQ29sbGVjdGlvbikKQEAgLTcwMCw2ICs3MDcsMTIgQEAgY29uc3QgVmVjdG9y
PEhUTUxFbGVtZW50Kj4mIEhUTUxTZWxlY3RFbGVtZW50OjpsaXN0SXRlbXMoKSBjb25zdAogICAg
IHJldHVybiBtX2xpc3RJdGVtczsKIH0KIAordm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6aW52YWxp
ZGF0ZVNlbGVjdGVkSXRlbXMoKQoreworICAgIGlmIChtX3NlbGVjdGVkT3B0aW9uc0NvbGxlY3Rp
b24pCisgICAgICAgIG1fc2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlvbi0+Y2xlYXJDYWNoZSgpOwor
fQorCiB2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpzZXRSZWNhbGNMaXN0SXRlbXMoKQogewogICAg
IG1fc2hvdWxkUmVjYWxjTGlzdEl0ZW1zID0gdHJ1ZTsKQEAgLTcwOSw2ICs3MjIsOCBAQCB2b2lk
IEhUTUxTZWxlY3RFbGVtZW50OjpzZXRSZWNhbGNMaXN0SXRlbXMoKQogICAgIHNldE5lZWRzU3R5
bGVSZWNhbGMoKTsKICAgICBpZiAoIWluRG9jdW1lbnQoKSAmJiBtX29wdGlvbnNDb2xsZWN0aW9u
KQogICAgICAgICBtX29wdGlvbnNDb2xsZWN0aW9uLT5pbnZhbGlkYXRlQ2FjaGVJZk5lZWRlZCgp
OworICAgIGlmICghaW5Eb2N1bWVudCgpICYmIG1fc2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlvbikK
KyAgICAgICAgbV9zZWxlY3RlZE9wdGlvbnNDb2xsZWN0aW9uLT5pbnZhbGlkYXRlQ2FjaGVJZk5l
ZWRlZCgpOwogfQogCiB2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpyZWNhbGNMaXN0SXRlbXMoYm9v
bCB1cGRhdGVTZWxlY3RlZFN0YXRlcykgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVj
dEVsZW1lbnQuaAppbmRleCBhMmEyZTgwNWFhODY3ZmJiN2NjNDhiMGM5NmI1MTUwM2Y5ODYzMzZm
Li4zZWEyNGMxMDk2MWQxODEyZmMwZWJmMjk1ZmQ4ZGFkMDM2ZmQ4YTQ2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCkBAIC0zNCw3ICszNCw2IEBACiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxPcHRpb25FbGVtZW50OwotY2xhc3MgSFRNTE9wdGlvbnND
b2xsZWN0aW9uOwogCiBjbGFzcyBIVE1MU2VsZWN0RWxlbWVudCA6IHB1YmxpYyBIVE1MRm9ybUNv
bnRyb2xFbGVtZW50V2l0aFN0YXRlIHsKIHB1YmxpYzoKQEAgLTY0LDEwICs2MywxMiBAQCBwdWJs
aWM6CiAgICAgdm9pZCBzZXRWYWx1ZShjb25zdCBTdHJpbmcmKTsKIAogICAgIEhUTUxPcHRpb25z
Q29sbGVjdGlvbiogb3B0aW9ucygpOworICAgIEhUTUxDb2xsZWN0aW9uKiBzZWxlY3RlZE9wdGlv
bnMoKTsKIAogICAgIHZvaWQgb3B0aW9uRWxlbWVudENoaWxkcmVuQ2hhbmdlZCgpOwogCiAgICAg
dm9pZCBzZXRSZWNhbGNMaXN0SXRlbXMoKTsKKyAgICB2b2lkIGludmFsaWRhdGVTZWxlY3RlZEl0
ZW1zKCk7CiAgICAgdm9pZCB1cGRhdGVMaXN0SXRlbVNlbGVjdGVkU3RhdGVzKCk7CiAKICAgICBj
b25zdCBWZWN0b3I8SFRNTEVsZW1lbnQqPiYgbGlzdEl0ZW1zKCkgY29uc3Q7CkBAIC0xODAsNiAr
MTgxLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGJvb2wg
Y2hhbmdlZEJ5UGFyc2VyID0gZmFsc2UsIE5vZGUqIGJlZm9yZUNoYW5nZSA9IDAsIE5vZGUqIGFm
dGVyQ2hhbmdlID0gMCwgaW50IGNoaWxkQ291bnREZWx0YSA9IDApOwogCiAgICAgT3duUHRyPEhU
TUxPcHRpb25zQ29sbGVjdGlvbj4gbV9vcHRpb25zQ29sbGVjdGlvbjsKKyAgICBPd25QdHI8SFRN
TENvbGxlY3Rpb24+IG1fc2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlvbjsKIAogICAgIC8vIG1fbGlz
dEl0ZW1zIGNvbnRhaW5zIEhUTUxPcHRpb25FbGVtZW50LCBIVE1MT3B0R3JvdXBFbGVtZW50LCBh
bmQgSFRNTEhSRWxlbWVudCBvYmplY3RzLgogICAgIG11dGFibGUgVmVjdG9yPEhUTUxFbGVtZW50
Kj4gbV9saXN0SXRlbXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxl
Y3RFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaWRs
CmluZGV4IGRlOGQyZDZkMGI0OTI3OTM2N2JkMzA3ZGIyNDZiMGI1MTE5NjkyYjMuLjZhMWFlMDNk
MTRiZWI1MWRjMDEwNDE5N2U4NzVlYTc3NjZiNGJiMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFNlbGVjdEVsZW1lbnQuaWRsCkBAIC01Myw2ICs1Myw3IEBAIG1vZHVsZSBodG1sIHsKICNl
bHNlCiAgICAgICAgIHZvaWQgcmVtb3ZlKGluIGxvbmcgaW5kZXgpOwogI2VuZGlmCisgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MQ29sbGVjdGlvbiBzZWxlY3RlZE9wdGlvbnM7CiAgICAg
ICAgIGF0dHJpYnV0ZSBsb25nIHNlbGVjdGVkSW5kZXg7CiAgICAgICAgIGF0dHJpYnV0ZSBbVHJl
YXROdWxsQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIHZhbHVlOwogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYWY4NTc4ZGMz
OTA5YjA2ZmFhMzU5YTEwZTBhNGVkZjM3YTMxMzNmZi4uYTllZjE1ZDk0NWIzMmVjNGE3MzEzYjE5
YWI2NDVlMDM1OWRiZmY1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA2LTI3ICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIEltcGxl
bWVudCBzZWxlY3RlZE9wdGlvbnMgYXR0cmlidXRlIG9mIDxzZWxlY3Q+LgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA2MzEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXcgdGVzdHMgdG8gY292ZXIgdGhl
IGZlYXR1cmUuCisKKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MU2VsZWN0RWxlbWVudC9zZWxlY3Qt
c2VsZWN0ZWRPcHRpb25zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20v
SFRNTFNlbGVjdEVsZW1lbnQvc2VsZWN0LXNlbGVjdGVkT3B0aW9ucy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2RvbS9odG1sY29sbGVjdGlvbi1ub24taHRtbC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogZmFzdC9kb20vaHRtbGNvbGxlY3Rpb24tbm9uLWh0bWwuaHRtbDoKKwogMjAxMi0w
Ni0yNyAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFNwbGl0IGZs
ZXggaW50byBmbGV4LWdyb3cvZmxleC1zaHJpbmsvZmxleC1iYXNpcwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTFNlbGVjdEVsZW1lbnQvc2VsZWN0LXNlbGVjdGVkT3B0aW9u
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MU2VsZWN0RWxlbWVudC9z
ZWxlY3Qtc2VsZWN0ZWRPcHRpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZTZhNzBiNGFj
OTQ2NDQxN2Y1YzlkMGE4OWE0YzgzY2RlYmY4ZjI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTFNlbGVjdEVsZW1lbnQvc2VsZWN0LXNlbGVjdGVkT3B0aW9ucy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw1MSBAQAorCisxKSBJbml0aWFsIHRoZXJlIGlzIG5vIHNl
bGVjdGVkIG9wdGlvbnMuCitQQVNTIG9wdGlvbnNMZW5ndGggaXMgMgorUEFTUyBzZWxlY3RlZE9w
dGlvbnMubGVuZ3RoIGlzIDAKKzIpIFNlbGVjdCBhbiBvcHRpb24gc2hvdWxkIHVwZGF0ZSB0aGUg
c2VsZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLgorUEFTUyBvcHRpb25zTGVuZ3RoIGlzIDIKK1BB
U1Mgc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCBpcyAxCitQQVNTIHNlbGVjdGVkT3B0aW9uc1swXS50
ZXh0IGlzICdvbmUnCiszKSBTZWxlY3QgdHdvIG9wdGlvbnMgc2hvdWxkIHVwZGF0ZSB0aGUgc2Vs
ZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLgorUEFTUyBvcHRpb25zTGVuZ3RoIGlzIDIKK1BBU1Mg
c2VsZWN0ZWRPcHRpb25zLmxlbmd0aCBpcyAyCitQQVNTIHNlbGVjdGVkT3B0aW9uc1swXS50ZXh0
IGlzICdvbmUnCitQQVNTIHNlbGVjdGVkT3B0aW9uc1sxXS50ZXh0IGlzICd0d28nCis0KSBBZGRp
bmcgYSBub24gc2VsZWN0ZWQgb3B0aW9uIHNob3VsZCBub3QgY2hhbmdlIHRoZSBzZWxlY3RlZCBv
cHRpb25zIGNvbGxlY3Rpb24uCitQQVNTIG9wdGlvbnNMZW5ndGggaXMgMworUEFTUyBzZWxlY3Rl
ZE9wdGlvbnMubGVuZ3RoIGlzIDEKK1BBU1Mgc2VsZWN0ZWRPcHRpb25zWzBdLnRleHQgaXMgJ29u
ZScKKzUpIEFkZGluZyBhIHNlbGVjdGVkIG9wdGlvbiBzaG91bGQgY2hhbmdlIHRoZSBzZWxlY3Rl
ZCBvcHRpb25zIGNvbGxlY3Rpb24uCitQQVNTIG9wdGlvbnNMZW5ndGggaXMgNAorUEFTUyBzZWxl
Y3RlZE9wdGlvbnMubGVuZ3RoIGlzIDIKK1BBU1Mgc2VsZWN0ZWRPcHRpb25zWzBdLnRleHQgaXMg
J29uZScKK1BBU1Mgc2VsZWN0ZWRPcHRpb25zWzFdLnRleHQgaXMgJ2ZpdmUnCis2KSBVbnNlbGVj
dCBhbiBvcHRpb24gc2hvdWxkIHVwZGF0ZSB0aGUgc2VsZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9u
LgorUEFTUyBvcHRpb25zTGVuZ3RoIGlzIDQKK1BBU1Mgc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCBp
cyAxCitQQVNTIHNlbGVjdGVkT3B0aW9uc1swXS50ZXh0IGlzICdmaXZlJworNykgUmVtb3ZlIGFu
IG9wdGlvbiB1bnNlbGVjdGVkIHNob3VsZCBub3QgdXBkYXRlIHRoZSBzZWxlY3RlZCBvcHRpb25z
IGNvbGxlY3Rpb24uCitQQVNTIG9wdGlvbnNMZW5ndGggaXMgMworUEFTUyBzZWxlY3RlZE9wdGlv
bnMubGVuZ3RoIGlzIDEKK1BBU1Mgc2VsZWN0ZWRPcHRpb25zWzBdLnRleHQgaXMgJ2ZpdmUnCis4
KSBSZW1vdmUgYW4gb3B0aW9uIHNlbGVjdGVkIHNob3VsZCB1cGRhdGUgdGhlIHNlbGVjdGVkIG9w
dGlvbnMgY29sbGVjdGlvbi4KK1BBU1Mgb3B0aW9uc0xlbmd0aCBpcyAyCitQQVNTIHNlbGVjdGVk
T3B0aW9ucy5sZW5ndGggaXMgMAorOSkgQ2hhbmdlIG11bHRpcGxlIGF0dHJpYnV0ZSB0byBmYWxz
ZSBzaG91bGQgdXBkYXRlIHNlbGVjdGVkT3B0aW9ucy4KK1BBU1Mgb3B0aW9uc0xlbmd0aCBpcyAy
CitQQVNTIHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggaXMgMQorUEFTUyBzZWxlY3RlZE9wdGlvbnNb
MF0udGV4dCBpcyAndHdvJworMTApIEV2ZW4gd2l0aCBhbiBvcHRpb24gZGlzYWJsZWQgc2VsZWN0
ZWRPcHRpb25zIHNob3VsZCBiZSB1cGRhdGVkLgorUEFTUyBvcHRpb25zTGVuZ3RoIGlzIDIKK1BB
U1Mgc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCBpcyAxCitQQVNTIHNlbGVjdGVkT3B0aW9uc1swXS50
ZXh0IGlzICdvbmUnCisxMSkgRXZlbiB3aXRoIHNlbGVjdCBlbGVtZW50IGRpc2FibGVkLCB0aGUg
c2VsZWN0ZWRPcHRpb25zIHNob3VsZCBiZSB1cGRhdGVkLgorUEFTUyBvcHRpb25zTGVuZ3RoIGlz
IDIKK1BBU1Mgc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCBpcyAyCitQQVNTIHNlbGVjdGVkT3B0aW9u
c1swXS50ZXh0IGlzICdvbmUnCitQQVNTIHNlbGVjdGVkT3B0aW9uc1sxXS50ZXh0IGlzICd0d28n
CisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MU2VsZWN0RWxlbWVudC9zZWxlY3Qt
c2VsZWN0ZWRPcHRpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MU2VsZWN0RWxl
bWVudC9zZWxlY3Qtc2VsZWN0ZWRPcHRpb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWRjMTZhY2EzODIz
ZGIwYWM3OTZlMzc3NWQ2MDQ1ZGZlMjYyNjcwMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL0hUTUxTZWxlY3RFbGVtZW50L3NlbGVjdC1zZWxlY3RlZE9wdGlvbnMuaHRt
bApAQCAtMCwwICsxLDEyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2VsZWN0IGlkPSJ0ZXN0IiBz
aXplPSIzIiBtdWx0aXBsZT0ibXVsdGlwbGUiPgorPC9zZWxlY3Q+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHJlc2V0KG15U2VsZWN0KSB7CisgICAgbXlT
ZWxlY3QubGVuZ3RoID0gMDsKKyAgICBteVNlbGVjdC5tdWx0aXBsZSA9IHRydWU7CisgICAgbXlT
ZWxlY3Qub3B0aW9uc1tteVNlbGVjdC5sZW5ndGhdID0gbmV3IE9wdGlvbigib25lIiwgInZhbHVl
IiwgZmFsc2UpOworICAgIG15U2VsZWN0Lm9wdGlvbnNbbXlTZWxlY3QubGVuZ3RoXSA9IG5ldyBP
cHRpb24oInR3byIsICJ2YWx1ZSIsIGZhbHNlKTsKK30KKworZnVuY3Rpb24gZGVlcENvcHkoYXJy
YXkpCit7CisgICAgdmFyIGNvcHk9W107CisgICAgZm9yKHZhciBpPTA7aTxhcnJheS5sZW5ndGg7
aSsrKQorICAgICAgICBjb3B5LnB1c2goYXJyYXlbaV0pOworICAgIHJldHVybiBjb3B5OworIH0K
KwordmFyIG15U2VsZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKK3Jlc2V0
KG15U2VsZWN0KTsKK3ZhciBpID0gMDsKKworLy8gV2UgdXNlIHRoaXMgbG9jYWwgdmFyaWFibGUg
YXMgc2hvdWxkQmUgd2lsbCBtb2RpZnkgdGhlIGRvbSB0cmVlIHZlcnNpb24uIEFueSBkb20gdHJl
ZSB2ZXJzaW9uIHVwZGF0ZSBpbnZhbGlkYXRlcworLy8gdGhlIGNhY2hlcyB0aGVyZWZvcmUgd2Ug
bmVlZCB0byBtYWtlIHN1cmUgdGhhdCB3ZSBzdG9yZSB0aGUgdmFsdWVzIGJlZm9yZSBjYWxsaW5n
IHNob3VsZEJlLgordmFyIHNlbGVjdGVkT3B0aW9uczsKK3ZhciBvcHRpb25zTGVuZ3RoID0gMDsK
KworZGVidWcoKCsraSkgKyAiKSBJbml0aWFsIHRoZXJlIGlzIG5vIHNlbGVjdGVkIG9wdGlvbnMu
Iik7CitvcHRpb25zTGVuZ3RoID0gbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGg7CitzZWxlY3RlZE9w
dGlvbnMgPSBkZWVwQ29weShteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMpOworc2hvdWxkQmUoIm9w
dGlvbnNMZW5ndGgiLCAiMiIpOworc2hvdWxkQmUoInNlbGVjdGVkT3B0aW9ucy5sZW5ndGgiLCAi
MCIpOworCitkZWJ1ZygoKytpKSArICIpIFNlbGVjdCBhbiBvcHRpb24gc2hvdWxkIHVwZGF0ZSB0
aGUgc2VsZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLiIpOworbXlTZWxlY3Qub3B0aW9uc1swXS5z
ZWxlY3RlZCA9IHRydWU7CitvcHRpb25zTGVuZ3RoID0gbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGg7
CitzZWxlY3RlZE9wdGlvbnMgPSBkZWVwQ29weShteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMpOwor
c2hvdWxkQmUoIm9wdGlvbnNMZW5ndGgiLCAiMiIpOworc2hvdWxkQmUoInNlbGVjdGVkT3B0aW9u
cy5sZW5ndGgiLCAiMSIpOworc2hvdWxkQmUoInNlbGVjdGVkT3B0aW9uc1swXS50ZXh0IiwgIidv
bmUnIik7CisKK2RlYnVnKCgrK2kpICsgIikgU2VsZWN0IHR3byBvcHRpb25zIHNob3VsZCB1cGRh
dGUgdGhlIHNlbGVjdGVkIG9wdGlvbnMgY29sbGVjdGlvbi4iKTsKK215U2VsZWN0Lm9wdGlvbnNb
MV0uc2VsZWN0ZWQgPSB0cnVlOworb3B0aW9uc0xlbmd0aCA9IG15U2VsZWN0Lm9wdGlvbnMubGVu
Z3RoOworc2VsZWN0ZWRPcHRpb25zID0gZGVlcENvcHkobXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25z
KTsKK3Nob3VsZEJlKCJvcHRpb25zTGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJzZWxlY3RlZE9w
dGlvbnMubGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJzZWxlY3RlZE9wdGlvbnNbMF0udGV4dCIs
ICInb25lJyIpOworc2hvdWxkQmUoInNlbGVjdGVkT3B0aW9uc1sxXS50ZXh0IiwgIid0d28nIik7
CisKK215U2VsZWN0Lm9wdGlvbnNbMV0uc2VsZWN0ZWQgPSBmYWxzZTsKK2RlYnVnKCgrK2kpICsg
IikgQWRkaW5nIGEgbm9uIHNlbGVjdGVkIG9wdGlvbiBzaG91bGQgbm90IGNoYW5nZSB0aGUgc2Vs
ZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLiIpOworbXlTZWxlY3Qub3B0aW9uc1tteVNlbGVjdC5s
ZW5ndGhdID0gbmV3IE9wdGlvbigidGhyZWUiLCAidmFsdWUiLCBmYWxzZSk7CitvcHRpb25zTGVu
Z3RoID0gbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGg7CitzZWxlY3RlZE9wdGlvbnMgPSBkZWVwQ29w
eShteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMpOworc2hvdWxkQmUoIm9wdGlvbnNMZW5ndGgiLCAi
MyIpOworc2hvdWxkQmUoInNlbGVjdGVkT3B0aW9ucy5sZW5ndGgiLCAiMSIpOworc2hvdWxkQmUo
InNlbGVjdGVkT3B0aW9uc1swXS50ZXh0IiwgIidvbmUnIik7CisKK2RlYnVnKCgrK2kpICsgIikg
QWRkaW5nIGEgc2VsZWN0ZWQgb3B0aW9uIHNob3VsZCBjaGFuZ2UgdGhlIHNlbGVjdGVkIG9wdGlv
bnMgY29sbGVjdGlvbi4iKTsKK215U2VsZWN0Lm9wdGlvbnNbbXlTZWxlY3QubGVuZ3RoXSA9IG5l
dyBPcHRpb24oImZpdmUiLCAidmFsdWUiLCB0cnVlLCB0cnVlKTsKK3NlbGVjdGVkT3B0aW9uc0xl
bmd0aCA9IG15U2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGg7CitvcHRpb25zTGVuZ3RoID0g
bXlTZWxlY3Qub3B0aW9ucy5sZW5ndGg7CitzZWxlY3RlZE9wdGlvbnMgPSBteVNlbGVjdC5zZWxl
Y3RlZE9wdGlvbnM7CitzaG91bGRCZSgib3B0aW9uc0xlbmd0aCIsICI0Iik7CitzaG91bGRCZSgi
c2VsZWN0ZWRPcHRpb25zLmxlbmd0aCIsICIyIik7CitzaG91bGRCZSgic2VsZWN0ZWRPcHRpb25z
WzBdLnRleHQiLCAiJ29uZSciKTsKK3Nob3VsZEJlKCJzZWxlY3RlZE9wdGlvbnNbMV0udGV4dCIs
ICInZml2ZSciKTsKKworZGVidWcoKCsraSkgKyAiKSBVbnNlbGVjdCBhbiBvcHRpb24gc2hvdWxk
IHVwZGF0ZSB0aGUgc2VsZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLiIpOworbXlTZWxlY3Qub3B0
aW9uc1swXS5zZWxlY3RlZCA9IGZhbHNlOworb3B0aW9uc0xlbmd0aCA9IG15U2VsZWN0Lm9wdGlv
bnMubGVuZ3RoOworc2VsZWN0ZWRPcHRpb25zID0gZGVlcENvcHkobXlTZWxlY3Quc2VsZWN0ZWRP
cHRpb25zKTsKK3Nob3VsZEJlKCJvcHRpb25zTGVuZ3RoIiwgIjQiKTsKK3Nob3VsZEJlKCJzZWxl
Y3RlZE9wdGlvbnMubGVuZ3RoIiwgIjEiKTsKK3Nob3VsZEJlKCJzZWxlY3RlZE9wdGlvbnNbMF0u
dGV4dCIsICInZml2ZSciKTsKKworZGVidWcoKCsraSkgKyAiKSBSZW1vdmUgYW4gb3B0aW9uIHVu
c2VsZWN0ZWQgc2hvdWxkIG5vdCB1cGRhdGUgdGhlIHNlbGVjdGVkIG9wdGlvbnMgY29sbGVjdGlv
bi4iKTsKK215U2VsZWN0LnJlbW92ZSgwKTsKK3NlbGVjdGVkT3B0aW9uc0xlbmd0aCA9IG15U2Vs
ZWN0LnNlbGVjdGVkT3B0aW9ucy5sZW5ndGg7CitvcHRpb25zTGVuZ3RoID0gbXlTZWxlY3Qub3B0
aW9ucy5sZW5ndGg7CitzZWxlY3RlZE9wdGlvbnMgPSBkZWVwQ29weShteVNlbGVjdC5zZWxlY3Rl
ZE9wdGlvbnMpOworc2hvdWxkQmUoIm9wdGlvbnNMZW5ndGgiLCAiMyIpOworc2hvdWxkQmUoInNl
bGVjdGVkT3B0aW9ucy5sZW5ndGgiLCAiMSIpOworc2hvdWxkQmUoInNlbGVjdGVkT3B0aW9uc1sw
XS50ZXh0IiwgIidmaXZlJyIpOworCitkZWJ1ZygoKytpKSArICIpIFJlbW92ZSBhbiBvcHRpb24g
c2VsZWN0ZWQgc2hvdWxkIHVwZGF0ZSB0aGUgc2VsZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLiIp
OworbXlTZWxlY3QucmVtb3ZlKDIpOworb3B0aW9uc0xlbmd0aCA9IG15U2VsZWN0Lm9wdGlvbnMu
bGVuZ3RoOworc2VsZWN0ZWRPcHRpb25zID0gZGVlcENvcHkobXlTZWxlY3Quc2VsZWN0ZWRPcHRp
b25zKTsKK3Nob3VsZEJlKCJvcHRpb25zTGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJzZWxlY3Rl
ZE9wdGlvbnMubGVuZ3RoIiwgIjAiKTsKKworbXlTZWxlY3Qub3B0aW9uc1swXS5zZWxlY3RlZCA9
IHRydWU7CitteVNlbGVjdC5vcHRpb25zWzFdLnNlbGVjdGVkID0gdHJ1ZTsKK2RlYnVnKCgrK2kp
ICsgIikgQ2hhbmdlIG11bHRpcGxlIGF0dHJpYnV0ZSB0byBmYWxzZSBzaG91bGQgdXBkYXRlIHNl
bGVjdGVkT3B0aW9ucy4iKTsKK215U2VsZWN0Lm11bHRpcGxlID0gZmFsc2U7CitvcHRpb25zTGVu
Z3RoID0gbXlTZWxlY3Qub3B0aW9ucy5sZW5ndGg7CitzZWxlY3RlZE9wdGlvbnMgPSBkZWVwQ29w
eShteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMpOworc2hvdWxkQmUoIm9wdGlvbnNMZW5ndGgiLCAi
MiIpOworc2hvdWxkQmUoInNlbGVjdGVkT3B0aW9ucy5sZW5ndGgiLCAiMSIpOworc2hvdWxkQmUo
InNlbGVjdGVkT3B0aW9uc1swXS50ZXh0IiwgIid0d28nIik7CisKK3Jlc2V0KG15U2VsZWN0KTsK
K2RlYnVnKCgrK2kpICsgIikgRXZlbiB3aXRoIGFuIG9wdGlvbiBkaXNhYmxlZCBzZWxlY3RlZE9w
dGlvbnMgc2hvdWxkIGJlIHVwZGF0ZWQuIik7CitteVNlbGVjdC5vcHRpb25zWzBdLmRpc2FibGVk
ID0gdHJ1ZTsKK215U2VsZWN0Lm9wdGlvbnNbMF0uc2VsZWN0ZWQgPSB0cnVlOworb3B0aW9uc0xl
bmd0aCA9IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoOworc2VsZWN0ZWRPcHRpb25zID0gZGVlcENv
cHkobXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zKTsKK3Nob3VsZEJlKCJvcHRpb25zTGVuZ3RoIiwg
IjIiKTsKK3Nob3VsZEJlKCJzZWxlY3RlZE9wdGlvbnMubGVuZ3RoIiwgIjEiKTsKK3Nob3VsZEJl
KCJzZWxlY3RlZE9wdGlvbnNbMF0udGV4dCIsICInb25lJyIpOworCitkZWJ1ZygoKytpKSArICIp
IEV2ZW4gd2l0aCBzZWxlY3QgZWxlbWVudCBkaXNhYmxlZCwgdGhlIHNlbGVjdGVkT3B0aW9ucyBz
aG91bGQgYmUgdXBkYXRlZC4iKTsKK215U2VsZWN0LmRpc2FibGVkID0gdHJ1ZTsKK215U2VsZWN0
Lm9wdGlvbnNbMV0uc2VsZWN0ZWQgPSB0cnVlOworb3B0aW9uc0xlbmd0aCA9IG15U2VsZWN0Lm9w
dGlvbnMubGVuZ3RoOworc2VsZWN0ZWRPcHRpb25zID0gZGVlcENvcHkobXlTZWxlY3Quc2VsZWN0
ZWRPcHRpb25zKTsKK3Nob3VsZEJlKCJvcHRpb25zTGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJz
ZWxlY3RlZE9wdGlvbnMubGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJzZWxlY3RlZE9wdGlvbnNb
MF0udGV4dCIsICInb25lJyIpOworc2hvdWxkQmUoInNlbGVjdGVkT3B0aW9uc1sxXS50ZXh0Iiwg
Iid0d28nIik7CisKK2RlYnVnKCIiKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vaHRtbGNvbGxlY3Rpb24tbm9uLWh0bWwtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vaHRtbGNvbGxlY3Rpb24tbm9uLWh0bWwtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDY2MzJmMDJhMGNkYjQ0OTM0NGNlMzcxNjQ3Y2FiNDQ0NTkzNTc1N2YuLmMyMGFiZWE0NTk2
NTkyNTVhYTNjNDAyM2QyNDc0ZTZiYjdhMTNkMjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL2h0bWxjb2xsZWN0aW9uLW5vbi1odG1sLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9odG1sY29sbGVjdGlvbi1ub24taHRtbC1leHBlY3RlZC50eHQKQEAgLTQs
NiArNCw3IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIAogUEFTUyBzZWxlY3Qub3B0aW9u
cy5sZW5ndGggaXMgMAorUEFTUyBzZWxlY3Quc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCBpcyAwCiBQ
QVNTIHNlbGVjdC5vcHRpb25zLmxlbmd0aCBpcyAxCiBQQVNTIGRvY3VtZW50LmltYWdlcy5sZW5n
dGggaXMgMAogUEFTUyBkb2N1bWVudC5pbWFnZXMubGVuZ3RoIGlzIDEKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL2h0bWxjb2xsZWN0aW9uLW5vbi1odG1sLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9odG1sY29sbGVjdGlvbi1ub24taHRtbC5odG1sCmluZGV4IGM3NmZlZjVi
MTVhYmU0OGIxZGE3MTdmYjFkODlmNTVmNGI2M2Y3YjYuLjdhZTE3OWFlYzU0OTAxMzhiYTZlMWVl
NDJjZDM0NmY1MWU2Yzc0YmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2h0bWxj
b2xsZWN0aW9uLW5vbi1odG1sLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vaHRtbGNv
bGxlY3Rpb24tbm9uLWh0bWwuaHRtbApAQCAtNjcsNiArNjcsNyBAQCBmdW5jdGlvbiBydW5UZXN0
KCkgewogICBlbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKG5zLCAib3B0aW9uIik7CiAg
IHNlbGVjdC5hcHBlbmRDaGlsZChlbGVtKTsKICAgc2hvdWxkQmUoInNlbGVjdC5vcHRpb25zLmxl
bmd0aCIsICIwIik7CisgIHNob3VsZEJlKCJzZWxlY3Quc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCIs
ICIwIik7CiAKICAgZWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpOwogICBz
ZWxlY3QuYXBwZW5kQ2hpbGQoZWxlbSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149815</attachid>
            <date>2012-06-27 16:31:55 -0700</date>
            <delta_ts>2012-06-27 18:05:46 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-80631-20120627203130.patch</filename>
            <type>text/plain</type>
            <size>18506</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMzgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmNmNGQyZWE5ZDZmNmVk
ODE5OWFiM2Y5MDZhZDU2ZTMxY2QzMGU2MS4uNDQwMDAxY2M3NzFkZGY3ZDkwMDlhYzVkYTY2MTAz
MGM0MmNmYThiYyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTA2LTI3ICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIEltcGxl
bWVudCBzZWxlY3RlZE9wdGlvbnMgYXR0cmlidXRlIG9mIEhUTUxTZWxlY3RFbGVtZW50LgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA2MzEKKworICAg
ICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgQWRkIGEgbmV3IGNvbGxl
Y3Rpb24gYXMgYSBtZW1iZXIgb2YgSFRNTFNlbGVjdEVsZW1lbnQgd2hpY2ggaXMKKyAgICAgICAg
dXNlZCB0byBzdG9yZSB0aGUgc2VsZWN0ZWQgZWxlbWVudHMuIEV4dGVuZCBIVE1MQ29sbGVjdGlv
biB0bworICAgICAgICBzdXBwb3J0IHRoZSBuZXcgY29sbGVjdGlvbiB0eXBlIG5lZWRlZCBieSB0
aGlzIGZlYXR1cmUuIE1ha2Ugc3VyZQorICAgICAgICB0aGF0IHdlIGludmFsaWRhdGUgdGhlIGNv
bGxlY3Rpb24gd2hlbiB0aGUgc2VsZWN0IHN0YXRlIG9mIGFuCisgICAgICAgIG9wdGlvbiBjaGFu
Z2VzIGFzIHRoZSBzZWxlY3Qgc3RhdGUgY2hhbmdlIGRvZXMgbm90IHRyaWdnZXIgYSBkb20KKyAg
ICAgICAgdHJlZSB2ZXJzaW9uIGNoYW5nZS4KKworICAgICAgICBSZWZlcmVuY2UgOiBodHRwOi8v
d3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFnZS90aGUt
YnV0dG9uLWVsZW1lbnQuaHRtbCNkb20tc2VsZWN0LXNlbGVjdGVkb3B0aW9ucworCisgICAgICAg
IFRlc3Q6IGZhc3QvZG9tL0hUTUxTZWxlY3RFbGVtZW50L3NlbGVjdC1zZWxlY3RlZE9wdGlvbnMu
aHRtbAorCisgICAgICAgICogaHRtbC9Db2xsZWN0aW9uVHlwZS5oOgorICAgICAgICAqIGh0bWwv
SFRNTENvbGxlY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkSW5jbHVkZUNoaWxk
cmVuKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb2xsZWN0aW9uOjpjbGVhckNhY2hlKToKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENvbGxlY3Rpb246OmlzQWNj
ZXB0YWJsZUVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTENvbGxlY3Rpb24uaDoKKyAgICAg
ICAgKEhUTUxDb2xsZWN0aW9uKToKKyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25FbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxPcHRpb25FbGVtZW50OjpzZXRTZWxlY3RlZFN0YXRl
KToKKyAgICAgICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxTZWxlY3RFbGVtZW50OjpzZWxlY3RlZE9wdGlvbnMpOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxlbWVudDo6aW52YWxpZGF0ZVNlbGVj
dGVkSXRlbXMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFNlbGVjdEVsZW1lbnQ6OnNldFJlY2Fs
Y0xpc3RJdGVtcyk6CisgICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChIVE1MU2VsZWN0RWxlbWVudCk6CisgICAgICAgICogaHRt
bC9IVE1MU2VsZWN0RWxlbWVudC5pZGw6CisKIDIwMTItMDYtMjUgIE1hcmsgSGFobmVuYmVyZyAg
PG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBKU0xvY2sgc2hvdWxkIGJlIHBlci1K
U0dsb2JhbERhdGEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvblR5
cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQ29sbGVjdGlvblR5cGUuaAppbmRleCBkZDcxZDkx
OGJlYTQ4NzBjMzdkOWVmYjhjYzk3NTgzNzc2Y2Y4MWE3Li41YmVkNGQ4OWEzYjE4NTA0ZTUyNGYw
MTg1NmQxMjJiYjZhOWU3MjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0NvbGxl
Y3Rpb25UeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9Db2xsZWN0aW9uVHlwZS5oCkBA
IC01MSw2ICs1MSw3IEBAIGVudW0gQ29sbGVjdGlvblR5cGUgewogICAgIFRTZWN0aW9uUm93cywg
Ly8gYWxsIHJvdyBlbGVtZW50cyBpbiB0aGlzIHRhYmxlIHNlY3Rpb24KICAgICBUUkNlbGxzLCAg
ICAgIC8vIGFsbCBjZWxscyBpbiB0aGlzIHJvdwogICAgIFNlbGVjdE9wdGlvbnMsCisgICAgU2Vs
ZWN0ZWRPcHRpb25zLAogICAgIERhdGFMaXN0T3B0aW9ucywKICAgICBNYXBBcmVhcywKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmNwcAppbmRleCAxMTI5Y2FiZDk3MzJjNGViMTk0
MWNkZGEzZmYwN2Y3ZDJhODQwYmViLi42NGRmYjRjNjU3M2QyMjBjNTkyZGI0YzhlZDk1NGMyMGI3
Mjg0ZTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmNwcApAQCAtNTIsNiAr
NTIsNyBAQCBzdGF0aWMgYm9vbCBzaG91bGRJbmNsdWRlQ2hpbGRyZW4oQ29sbGVjdGlvblR5cGUg
dHlwZSkKICAgICBjYXNlIE1hcEFyZWFzOgogICAgIGNhc2UgT3RoZXJDb2xsZWN0aW9uOgogICAg
IGNhc2UgU2VsZWN0T3B0aW9uczoKKyAgICBjYXNlIFNlbGVjdGVkT3B0aW9uczoKICAgICBjYXNl
IERhdGFMaXN0T3B0aW9uczoKICAgICBjYXNlIFdpbmRvd05hbWVkSXRlbXM6CiAjaWYgRU5BQkxF
KE1JQ1JPREFUQSkKQEAgLTk4LDYgKzk5LDExIEBAIHZvaWQgSFRNTENvbGxlY3Rpb246OmludmFs
aWRhdGVDYWNoZUlmTmVlZGVkKCkgY29uc3QKICAgICBtX2NhY2hlLnZlcnNpb24gPSBkb2N2ZXJz
aW9uOwogfQogCit2b2lkIEhUTUxDb2xsZWN0aW9uOjpjbGVhckNhY2hlKCkKK3sKKyAgICBtX2Nh
Y2hlLmNsZWFyKCk7Cit9CisKIGlubGluZSBib29sIEhUTUxDb2xsZWN0aW9uOjppc0FjY2VwdGFi
bGVFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0CiB7CiAgICAgaWYgKCFlbGVtZW50LT5p
c0hUTUxFbGVtZW50KCkgJiYgIShtX3R5cGUgPT0gRG9jQWxsIHx8IG1fdHlwZSA9PSBOb2RlQ2hp
bGRyZW4pKQpAQCAtMTE4LDYgKzEyNCw4IEBAIGlubGluZSBib29sIEhUTUxDb2xsZWN0aW9uOjpp
c0FjY2VwdGFibGVFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0CiAgICAgICAgIHJldHVy
biBlbGVtZW50LT5oYXNMb2NhbE5hbWUodHJUYWcpOwogICAgIGNhc2UgU2VsZWN0T3B0aW9uczoK
ICAgICAgICAgcmV0dXJuIGVsZW1lbnQtPmhhc0xvY2FsTmFtZShvcHRpb25UYWcpOworICAgIGNh
c2UgU2VsZWN0ZWRPcHRpb25zOgorICAgICAgICByZXR1cm4gZWxlbWVudC0+aGFzTG9jYWxOYW1l
KG9wdGlvblRhZykgJiYgdG9IVE1MT3B0aW9uRWxlbWVudChlbGVtZW50KS0+c2VsZWN0ZWQoKTsK
ICAgICBjYXNlIERhdGFMaXN0T3B0aW9uczoKICAgICAgICAgaWYgKGVsZW1lbnQtPmhhc0xvY2Fs
TmFtZShvcHRpb25UYWcpKSB7CiAgICAgICAgICAgICBIVE1MT3B0aW9uRWxlbWVudCogb3B0aW9u
ID0gc3RhdGljX2Nhc3Q8SFRNTE9wdGlvbkVsZW1lbnQqPihlbGVtZW50KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENvbGxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTENvbGxlY3Rpb24uaAppbmRleCBlZGU4MWMwOWZjMTZlZDY5MzE5MWNkMDI3ZjExZjI4
MWNiNWRmZDA5Li5kNmEwNTM1MTZmODlkOWI1NmUwNDA1NzQxZTVhN2I1MmQzNTU5OGVhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDb2xsZWN0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MQ29sbGVjdGlvbi5oCkBAIC02NywxMSArNjcsMTEgQEAgcHVibGlj
OgogICAgIE5vZGUqIGJhc2UoKSBjb25zdCB7IHJldHVybiBtX2Jhc2U7IH0KICAgICBDb2xsZWN0
aW9uVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Q29sbGVjdGlvblR5cGU+
KG1fdHlwZSk7IH0KIAorICAgIHZvaWQgY2xlYXJDYWNoZSgpOworICAgIHZvaWQgaW52YWxpZGF0
ZUNhY2hlSWZOZWVkZWQoKSBjb25zdDsKIHByb3RlY3RlZDoKICAgICBIVE1MQ29sbGVjdGlvbihO
b2RlKiBiYXNlLCBDb2xsZWN0aW9uVHlwZSk7CiAKLSAgICB2b2lkIGludmFsaWRhdGVDYWNoZUlm
TmVlZGVkKCkgY29uc3Q7Ci0KICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlTmFtZUNhY2hlKCkgY29u
c3Q7CiAgICAgdmlydHVhbCBFbGVtZW50KiBpdGVtQWZ0ZXIoRWxlbWVudCopIGNvbnN0OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwCmluZGV4IDMzZTM5YTYxOGI2
ZTJlY2IzMGY0ZTg0YWYwNzVjZWMyNTQ5YzI0OTUuLjM2OTFlODI0MWUyZDUyZWExMzFlMjkwZDNi
ZGUwYTczZTI1ODJiZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlv
bkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQu
Y3BwCkBAIC0yNDUsNiArMjQ1LDkgQEAgdm9pZCBIVE1MT3B0aW9uRWxlbWVudDo6c2V0U2VsZWN0
ZWRTdGF0ZShib29sIHNlbGVjdGVkKQogCiAgICAgbV9pc1NlbGVjdGVkID0gc2VsZWN0ZWQ7CiAg
ICAgc2V0TmVlZHNTdHlsZVJlY2FsYygpOworCisgICAgaWYgKEhUTUxTZWxlY3RFbGVtZW50KiBz
ZWxlY3QgPSBvd25lclNlbGVjdEVsZW1lbnQoKSkKKyAgICAgICAgc2VsZWN0LT5pbnZhbGlkYXRl
U2VsZWN0ZWRJdGVtcygpOwogfQogCiB2b2lkIEhUTUxPcHRpb25FbGVtZW50OjpjaGlsZHJlbkNo
YW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIsIE5vZGUqIGJlZm9yZUNoYW5nZSwgTm9kZSogYWZ0
ZXJDaGFuZ2UsIGludCBjaGlsZENvdW50RGVsdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNl
bGVjdEVsZW1lbnQuY3BwCmluZGV4IDA0MjI3YWVjNjY1YzNkMjRkMTBjYzllZDlkMWYwNjNhMmY0
YjNmYTcuLjM2NjY3OTk3N2I1OWQzYzljNTEyYzZiZTk0YmI5ZGUzODU4MDA5NjEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCkBAIC0zNTAsNiArMzUwLDEzIEBA
IGJvb2wgSFRNTFNlbGVjdEVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3Qg
Tm9kZVJlbmRlcmluZ0NvbnRleHQmIGNoCiAgICAgcmV0dXJuIGNoaWxkQ29udGV4dC5pc09uVXBw
ZXJFbmNhcHN1bGF0aW9uQm91bmRhcnkoKSAmJiBIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0
YXRlOjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNoaWxkQ29udGV4dCk7CiB9CiAKK0hUTUxD
b2xsZWN0aW9uKiBIVE1MU2VsZWN0RWxlbWVudDo6c2VsZWN0ZWRPcHRpb25zKCkKK3sKKyAgICBp
ZiAoIW1fc2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlvbikKKyAgICAgICAgbV9zZWxlY3RlZE9wdGlv
bnNDb2xsZWN0aW9uID0gSFRNTENvbGxlY3Rpb246OmNyZWF0ZSh0aGlzLCBTZWxlY3RlZE9wdGlv
bnMpOworICAgIHJldHVybiBtX3NlbGVjdGVkT3B0aW9uc0NvbGxlY3Rpb24uZ2V0KCk7Cit9CisK
IEhUTUxPcHRpb25zQ29sbGVjdGlvbiogSFRNTFNlbGVjdEVsZW1lbnQ6Om9wdGlvbnMoKQogewog
ICAgIGlmICghbV9vcHRpb25zQ29sbGVjdGlvbikKQEAgLTcwMCw2ICs3MDcsMTIgQEAgY29uc3Qg
VmVjdG9yPEhUTUxFbGVtZW50Kj4mIEhUTUxTZWxlY3RFbGVtZW50OjpsaXN0SXRlbXMoKSBjb25z
dAogICAgIHJldHVybiBtX2xpc3RJdGVtczsKIH0KIAordm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6
aW52YWxpZGF0ZVNlbGVjdGVkSXRlbXMoKQoreworICAgIGlmIChtX3NlbGVjdGVkT3B0aW9uc0Nv
bGxlY3Rpb24pCisgICAgICAgIG1fc2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlvbi0+Y2xlYXJDYWNo
ZSgpOworfQorCiB2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpzZXRSZWNhbGNMaXN0SXRlbXMoKQog
ewogICAgIG1fc2hvdWxkUmVjYWxjTGlzdEl0ZW1zID0gdHJ1ZTsKQEAgLTcwOSw2ICs3MjIsOCBA
QCB2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpzZXRSZWNhbGNMaXN0SXRlbXMoKQogICAgIHNldE5l
ZWRzU3R5bGVSZWNhbGMoKTsKICAgICBpZiAoIWluRG9jdW1lbnQoKSAmJiBtX29wdGlvbnNDb2xs
ZWN0aW9uKQogICAgICAgICBtX29wdGlvbnNDb2xsZWN0aW9uLT5pbnZhbGlkYXRlQ2FjaGVJZk5l
ZWRlZCgpOworICAgIGlmICghaW5Eb2N1bWVudCgpICYmIG1fc2VsZWN0ZWRPcHRpb25zQ29sbGVj
dGlvbikKKyAgICAgICAgbV9zZWxlY3RlZE9wdGlvbnNDb2xsZWN0aW9uLT5pbnZhbGlkYXRlQ2Fj
aGVJZk5lZWRlZCgpOwogfQogCiB2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpyZWNhbGNMaXN0SXRl
bXMoYm9vbCB1cGRhdGVTZWxlY3RlZFN0YXRlcykgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFNlbGVjdEVsZW1lbnQuaAppbmRleCBhMmEyZTgwNWFhODY3ZmJiN2NjNDhiMGM5NmI1MTUwM2Y5
ODYzMzZmLi4zZWEyNGMxMDk2MWQxODEyZmMwZWJmMjk1ZmQ4ZGFkMDM2ZmQ4YTQ2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCkBAIC0zNCw3ICszNCw2IEBACiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxPcHRpb25FbGVtZW50OwotY2xhc3MgSFRNTE9w
dGlvbnNDb2xsZWN0aW9uOwogCiBjbGFzcyBIVE1MU2VsZWN0RWxlbWVudCA6IHB1YmxpYyBIVE1M
Rm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlIHsKIHB1YmxpYzoKQEAgLTY0LDEwICs2MywxMiBA
QCBwdWJsaWM6CiAgICAgdm9pZCBzZXRWYWx1ZShjb25zdCBTdHJpbmcmKTsKIAogICAgIEhUTUxP
cHRpb25zQ29sbGVjdGlvbiogb3B0aW9ucygpOworICAgIEhUTUxDb2xsZWN0aW9uKiBzZWxlY3Rl
ZE9wdGlvbnMoKTsKIAogICAgIHZvaWQgb3B0aW9uRWxlbWVudENoaWxkcmVuQ2hhbmdlZCgpOwog
CiAgICAgdm9pZCBzZXRSZWNhbGNMaXN0SXRlbXMoKTsKKyAgICB2b2lkIGludmFsaWRhdGVTZWxl
Y3RlZEl0ZW1zKCk7CiAgICAgdm9pZCB1cGRhdGVMaXN0SXRlbVNlbGVjdGVkU3RhdGVzKCk7CiAK
ICAgICBjb25zdCBWZWN0b3I8SFRNTEVsZW1lbnQqPiYgbGlzdEl0ZW1zKCkgY29uc3Q7CkBAIC0x
ODAsNiArMTgxLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgY2hpbGRyZW5DaGFuZ2Vk
KGJvb2wgY2hhbmdlZEJ5UGFyc2VyID0gZmFsc2UsIE5vZGUqIGJlZm9yZUNoYW5nZSA9IDAsIE5v
ZGUqIGFmdGVyQ2hhbmdlID0gMCwgaW50IGNoaWxkQ291bnREZWx0YSA9IDApOwogCiAgICAgT3du
UHRyPEhUTUxPcHRpb25zQ29sbGVjdGlvbj4gbV9vcHRpb25zQ29sbGVjdGlvbjsKKyAgICBPd25Q
dHI8SFRNTENvbGxlY3Rpb24+IG1fc2VsZWN0ZWRPcHRpb25zQ29sbGVjdGlvbjsKIAogICAgIC8v
IG1fbGlzdEl0ZW1zIGNvbnRhaW5zIEhUTUxPcHRpb25FbGVtZW50LCBIVE1MT3B0R3JvdXBFbGVt
ZW50LCBhbmQgSFRNTEhSRWxlbWVudCBvYmplY3RzLgogICAgIG11dGFibGUgVmVjdG9yPEhUTUxF
bGVtZW50Kj4gbV9saXN0SXRlbXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxTZWxlY3RFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1l
bnQuaWRsCmluZGV4IGRlOGQyZDZkMGI0OTI3OTM2N2JkMzA3ZGIyNDZiMGI1MTE5NjkyYjMuLjZh
MWFlMDNkMTRiZWI1MWRjMDEwNDE5N2U4NzVlYTc3NjZiNGJiMTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaWRsCkBAIC01Myw2ICs1Myw3IEBAIG1vZHVsZSBodG1s
IHsKICNlbHNlCiAgICAgICAgIHZvaWQgcmVtb3ZlKGluIGxvbmcgaW5kZXgpOwogI2VuZGlmCisg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MQ29sbGVjdGlvbiBzZWxlY3RlZE9wdGlvbnM7
CiAgICAgICAgIGF0dHJpYnV0ZSBsb25nIHNlbGVjdGVkSW5kZXg7CiAgICAgICAgIGF0dHJpYnV0
ZSBbVHJlYXROdWxsQXM9TnVsbFN0cmluZ10gRE9NU3RyaW5nIHZhbHVlOwogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYWY4
NTc4ZGMzOTA5YjA2ZmFhMzU5YTEwZTBhNGVkZjM3YTMxMzNmZi4uMzZiNjdhM2IyNDQzNGYwNjM4
M2UyZmI2MDUwOTZmNmVmNTU3MDE5NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA2LTI3
ICBBbGV4aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAg
IEltcGxlbWVudCBzZWxlY3RlZE9wdGlvbnMgYXR0cmlidXRlIG9mIEhUTUxTZWxlY3RFbGVtZW50
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA2MzEK
KworICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgTmV3IHRlc3Rz
IHRvIGNvdmVyIHRoZSBmZWF0dXJlLgorCisgICAgICAgICogZmFzdC9kb20vSFRNTFNlbGVjdEVs
ZW1lbnQvc2VsZWN0LXNlbGVjdGVkT3B0aW9ucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZG9tL0hUTUxTZWxlY3RFbGVtZW50L3NlbGVjdC1zZWxlY3RlZE9wdGlvbnMuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vaHRtbGNvbGxlY3Rpb24tbm9uLWh0bWwtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZG9tL2h0bWxjb2xsZWN0aW9uLW5vbi1odG1sLmh0
bWw6CisKIDIwMTItMDYtMjcgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBTcGxpdCBmbGV4IGludG8gZmxleC1ncm93L2ZsZXgtc2hyaW5rL2ZsZXgtYmFzaXMKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxTZWxlY3RFbGVtZW50L3NlbGVjdC1z
ZWxlY3RlZE9wdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFNl
bGVjdEVsZW1lbnQvc2VsZWN0LXNlbGVjdGVkT3B0aW9ucy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNWU2YTcwYjRhYzk0NjQ0MTdmNWM5ZDBhODlhNGM4M2NkZWJmOGYyNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxTZWxlY3RFbGVtZW50L3NlbGVjdC1zZWxl
Y3RlZE9wdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTEgQEAKKworMSkgSW5pdGlhbCB0
aGVyZSBpcyBubyBzZWxlY3RlZCBvcHRpb25zLgorUEFTUyBvcHRpb25zTGVuZ3RoIGlzIDIKK1BB
U1Mgc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCBpcyAwCisyKSBTZWxlY3QgYW4gb3B0aW9uIHNob3Vs
ZCB1cGRhdGUgdGhlIHNlbGVjdGVkIG9wdGlvbnMgY29sbGVjdGlvbi4KK1BBU1Mgb3B0aW9uc0xl
bmd0aCBpcyAyCitQQVNTIHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggaXMgMQorUEFTUyBzZWxlY3Rl
ZE9wdGlvbnNbMF0udGV4dCBpcyAnb25lJworMykgU2VsZWN0IHR3byBvcHRpb25zIHNob3VsZCB1
cGRhdGUgdGhlIHNlbGVjdGVkIG9wdGlvbnMgY29sbGVjdGlvbi4KK1BBU1Mgb3B0aW9uc0xlbmd0
aCBpcyAyCitQQVNTIHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggaXMgMgorUEFTUyBzZWxlY3RlZE9w
dGlvbnNbMF0udGV4dCBpcyAnb25lJworUEFTUyBzZWxlY3RlZE9wdGlvbnNbMV0udGV4dCBpcyAn
dHdvJworNCkgQWRkaW5nIGEgbm9uIHNlbGVjdGVkIG9wdGlvbiBzaG91bGQgbm90IGNoYW5nZSB0
aGUgc2VsZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLgorUEFTUyBvcHRpb25zTGVuZ3RoIGlzIDMK
K1BBU1Mgc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCBpcyAxCitQQVNTIHNlbGVjdGVkT3B0aW9uc1sw
XS50ZXh0IGlzICdvbmUnCis1KSBBZGRpbmcgYSBzZWxlY3RlZCBvcHRpb24gc2hvdWxkIGNoYW5n
ZSB0aGUgc2VsZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLgorUEFTUyBvcHRpb25zTGVuZ3RoIGlz
IDQKK1BBU1Mgc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCBpcyAyCitQQVNTIHNlbGVjdGVkT3B0aW9u
c1swXS50ZXh0IGlzICdvbmUnCitQQVNTIHNlbGVjdGVkT3B0aW9uc1sxXS50ZXh0IGlzICdmaXZl
JworNikgVW5zZWxlY3QgYW4gb3B0aW9uIHNob3VsZCB1cGRhdGUgdGhlIHNlbGVjdGVkIG9wdGlv
bnMgY29sbGVjdGlvbi4KK1BBU1Mgb3B0aW9uc0xlbmd0aCBpcyA0CitQQVNTIHNlbGVjdGVkT3B0
aW9ucy5sZW5ndGggaXMgMQorUEFTUyBzZWxlY3RlZE9wdGlvbnNbMF0udGV4dCBpcyAnZml2ZScK
KzcpIFJlbW92ZSBhbiBvcHRpb24gdW5zZWxlY3RlZCBzaG91bGQgbm90IHVwZGF0ZSB0aGUgc2Vs
ZWN0ZWQgb3B0aW9ucyBjb2xsZWN0aW9uLgorUEFTUyBvcHRpb25zTGVuZ3RoIGlzIDMKK1BBU1Mg
c2VsZWN0ZWRPcHRpb25zLmxlbmd0aCBpcyAxCitQQVNTIHNlbGVjdGVkT3B0aW9uc1swXS50ZXh0
IGlzICdmaXZlJworOCkgUmVtb3ZlIGFuIG9wdGlvbiBzZWxlY3RlZCBzaG91bGQgdXBkYXRlIHRo
ZSBzZWxlY3RlZCBvcHRpb25zIGNvbGxlY3Rpb24uCitQQVNTIG9wdGlvbnNMZW5ndGggaXMgMgor
UEFTUyBzZWxlY3RlZE9wdGlvbnMubGVuZ3RoIGlzIDAKKzkpIENoYW5nZSBtdWx0aXBsZSBhdHRy
aWJ1dGUgdG8gZmFsc2Ugc2hvdWxkIHVwZGF0ZSBzZWxlY3RlZE9wdGlvbnMuCitQQVNTIG9wdGlv
bnNMZW5ndGggaXMgMgorUEFTUyBzZWxlY3RlZE9wdGlvbnMubGVuZ3RoIGlzIDEKK1BBU1Mgc2Vs
ZWN0ZWRPcHRpb25zWzBdLnRleHQgaXMgJ3R3bycKKzEwKSBFdmVuIHdpdGggYW4gb3B0aW9uIGRp
c2FibGVkIHNlbGVjdGVkT3B0aW9ucyBzaG91bGQgYmUgdXBkYXRlZC4KK1BBU1Mgb3B0aW9uc0xl
bmd0aCBpcyAyCitQQVNTIHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggaXMgMQorUEFTUyBzZWxlY3Rl
ZE9wdGlvbnNbMF0udGV4dCBpcyAnb25lJworMTEpIEV2ZW4gd2l0aCBzZWxlY3QgZWxlbWVudCBk
aXNhYmxlZCwgdGhlIHNlbGVjdGVkT3B0aW9ucyBzaG91bGQgYmUgdXBkYXRlZC4KK1BBU1Mgb3B0
aW9uc0xlbmd0aCBpcyAyCitQQVNTIHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggaXMgMgorUEFTUyBz
ZWxlY3RlZE9wdGlvbnNbMF0udGV4dCBpcyAnb25lJworUEFTUyBzZWxlY3RlZE9wdGlvbnNbMV0u
dGV4dCBpcyAndHdvJworCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFNlbGVjdEVs
ZW1lbnQvc2VsZWN0LXNlbGVjdGVkT3B0aW9ucy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTFNlbGVjdEVsZW1lbnQvc2VsZWN0LXNlbGVjdGVkT3B0aW9ucy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjlkYzE2YWNhMzgyM2RiMGFjNzk2ZTM3NzVkNjA0NWRmZTI2MjY3MDAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MU2VsZWN0RWxlbWVudC9zZWxlY3Qtc2VsZWN0
ZWRPcHRpb25zLmh0bWwKQEAgLTAsMCArMSwxMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNlbGVj
dCBpZD0idGVzdCIgc2l6ZT0iMyIgbXVsdGlwbGU9Im11bHRpcGxlIj4KKzwvc2VsZWN0PgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiByZXNldChteVNlbGVj
dCkgeworICAgIG15U2VsZWN0Lmxlbmd0aCA9IDA7CisgICAgbXlTZWxlY3QubXVsdGlwbGUgPSB0
cnVlOworICAgIG15U2VsZWN0Lm9wdGlvbnNbbXlTZWxlY3QubGVuZ3RoXSA9IG5ldyBPcHRpb24o
Im9uZSIsICJ2YWx1ZSIsIGZhbHNlKTsKKyAgICBteVNlbGVjdC5vcHRpb25zW215U2VsZWN0Lmxl
bmd0aF0gPSBuZXcgT3B0aW9uKCJ0d28iLCAidmFsdWUiLCBmYWxzZSk7Cit9CisKK2Z1bmN0aW9u
IGRlZXBDb3B5KGFycmF5KQoreworICAgIHZhciBjb3B5PVtdOworICAgIGZvcih2YXIgaT0wO2k8
YXJyYXkubGVuZ3RoO2krKykKKyAgICAgICAgY29weS5wdXNoKGFycmF5W2ldKTsKKyAgICByZXR1
cm4gY29weTsKKyB9CisKK3ZhciBteVNlbGVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0
ZXN0Iik7CityZXNldChteVNlbGVjdCk7Cit2YXIgaSA9IDA7CisKKy8vIFdlIHVzZSB0aGlzIGxv
Y2FsIHZhcmlhYmxlIGFzIHNob3VsZEJlIHdpbGwgbW9kaWZ5IHRoZSBkb20gdHJlZSB2ZXJzaW9u
LiBBbnkgZG9tIHRyZWUgdmVyc2lvbiB1cGRhdGUgaW52YWxpZGF0ZXMKKy8vIHRoZSBjYWNoZXMg
dGhlcmVmb3JlIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgd2Ugc3RvcmUgdGhlIHZhbHVlcyBi
ZWZvcmUgY2FsbGluZyBzaG91bGRCZS4KK3ZhciBzZWxlY3RlZE9wdGlvbnM7Cit2YXIgb3B0aW9u
c0xlbmd0aCA9IDA7CisKK2RlYnVnKCgrK2kpICsgIikgSW5pdGlhbCB0aGVyZSBpcyBubyBzZWxl
Y3RlZCBvcHRpb25zLiIpOworb3B0aW9uc0xlbmd0aCA9IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3Ro
Oworc2VsZWN0ZWRPcHRpb25zID0gZGVlcENvcHkobXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zKTsK
K3Nob3VsZEJlKCJvcHRpb25zTGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJzZWxlY3RlZE9wdGlv
bnMubGVuZ3RoIiwgIjAiKTsKKworZGVidWcoKCsraSkgKyAiKSBTZWxlY3QgYW4gb3B0aW9uIHNo
b3VsZCB1cGRhdGUgdGhlIHNlbGVjdGVkIG9wdGlvbnMgY29sbGVjdGlvbi4iKTsKK215U2VsZWN0
Lm9wdGlvbnNbMF0uc2VsZWN0ZWQgPSB0cnVlOworb3B0aW9uc0xlbmd0aCA9IG15U2VsZWN0Lm9w
dGlvbnMubGVuZ3RoOworc2VsZWN0ZWRPcHRpb25zID0gZGVlcENvcHkobXlTZWxlY3Quc2VsZWN0
ZWRPcHRpb25zKTsKK3Nob3VsZEJlKCJvcHRpb25zTGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJz
ZWxlY3RlZE9wdGlvbnMubGVuZ3RoIiwgIjEiKTsKK3Nob3VsZEJlKCJzZWxlY3RlZE9wdGlvbnNb
MF0udGV4dCIsICInb25lJyIpOworCitkZWJ1ZygoKytpKSArICIpIFNlbGVjdCB0d28gb3B0aW9u
cyBzaG91bGQgdXBkYXRlIHRoZSBzZWxlY3RlZCBvcHRpb25zIGNvbGxlY3Rpb24uIik7CitteVNl
bGVjdC5vcHRpb25zWzFdLnNlbGVjdGVkID0gdHJ1ZTsKK29wdGlvbnNMZW5ndGggPSBteVNlbGVj
dC5vcHRpb25zLmxlbmd0aDsKK3NlbGVjdGVkT3B0aW9ucyA9IGRlZXBDb3B5KG15U2VsZWN0LnNl
bGVjdGVkT3B0aW9ucyk7CitzaG91bGRCZSgib3B0aW9uc0xlbmd0aCIsICIyIik7CitzaG91bGRC
ZSgic2VsZWN0ZWRPcHRpb25zLmxlbmd0aCIsICIyIik7CitzaG91bGRCZSgic2VsZWN0ZWRPcHRp
b25zWzBdLnRleHQiLCAiJ29uZSciKTsKK3Nob3VsZEJlKCJzZWxlY3RlZE9wdGlvbnNbMV0udGV4
dCIsICIndHdvJyIpOworCitteVNlbGVjdC5vcHRpb25zWzFdLnNlbGVjdGVkID0gZmFsc2U7Citk
ZWJ1ZygoKytpKSArICIpIEFkZGluZyBhIG5vbiBzZWxlY3RlZCBvcHRpb24gc2hvdWxkIG5vdCBj
aGFuZ2UgdGhlIHNlbGVjdGVkIG9wdGlvbnMgY29sbGVjdGlvbi4iKTsKK215U2VsZWN0Lm9wdGlv
bnNbbXlTZWxlY3QubGVuZ3RoXSA9IG5ldyBPcHRpb24oInRocmVlIiwgInZhbHVlIiwgZmFsc2Up
Oworb3B0aW9uc0xlbmd0aCA9IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoOworc2VsZWN0ZWRPcHRp
b25zID0gZGVlcENvcHkobXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zKTsKK3Nob3VsZEJlKCJvcHRp
b25zTGVuZ3RoIiwgIjMiKTsKK3Nob3VsZEJlKCJzZWxlY3RlZE9wdGlvbnMubGVuZ3RoIiwgIjEi
KTsKK3Nob3VsZEJlKCJzZWxlY3RlZE9wdGlvbnNbMF0udGV4dCIsICInb25lJyIpOworCitkZWJ1
ZygoKytpKSArICIpIEFkZGluZyBhIHNlbGVjdGVkIG9wdGlvbiBzaG91bGQgY2hhbmdlIHRoZSBz
ZWxlY3RlZCBvcHRpb25zIGNvbGxlY3Rpb24uIik7CitteVNlbGVjdC5vcHRpb25zW215U2VsZWN0
Lmxlbmd0aF0gPSBuZXcgT3B0aW9uKCJmaXZlIiwgInZhbHVlIiwgdHJ1ZSwgdHJ1ZSk7CitzZWxl
Y3RlZE9wdGlvbnNMZW5ndGggPSBteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoOworb3B0
aW9uc0xlbmd0aCA9IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoOworc2VsZWN0ZWRPcHRpb25zID0g
bXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zOworc2hvdWxkQmUoIm9wdGlvbnNMZW5ndGgiLCAiNCIp
Oworc2hvdWxkQmUoInNlbGVjdGVkT3B0aW9ucy5sZW5ndGgiLCAiMiIpOworc2hvdWxkQmUoInNl
bGVjdGVkT3B0aW9uc1swXS50ZXh0IiwgIidvbmUnIik7CitzaG91bGRCZSgic2VsZWN0ZWRPcHRp
b25zWzFdLnRleHQiLCAiJ2ZpdmUnIik7CisKK2RlYnVnKCgrK2kpICsgIikgVW5zZWxlY3QgYW4g
b3B0aW9uIHNob3VsZCB1cGRhdGUgdGhlIHNlbGVjdGVkIG9wdGlvbnMgY29sbGVjdGlvbi4iKTsK
K215U2VsZWN0Lm9wdGlvbnNbMF0uc2VsZWN0ZWQgPSBmYWxzZTsKK29wdGlvbnNMZW5ndGggPSBt
eVNlbGVjdC5vcHRpb25zLmxlbmd0aDsKK3NlbGVjdGVkT3B0aW9ucyA9IGRlZXBDb3B5KG15U2Vs
ZWN0LnNlbGVjdGVkT3B0aW9ucyk7CitzaG91bGRCZSgib3B0aW9uc0xlbmd0aCIsICI0Iik7Citz
aG91bGRCZSgic2VsZWN0ZWRPcHRpb25zLmxlbmd0aCIsICIxIik7CitzaG91bGRCZSgic2VsZWN0
ZWRPcHRpb25zWzBdLnRleHQiLCAiJ2ZpdmUnIik7CisKK2RlYnVnKCgrK2kpICsgIikgUmVtb3Zl
IGFuIG9wdGlvbiB1bnNlbGVjdGVkIHNob3VsZCBub3QgdXBkYXRlIHRoZSBzZWxlY3RlZCBvcHRp
b25zIGNvbGxlY3Rpb24uIik7CitteVNlbGVjdC5yZW1vdmUoMCk7CitzZWxlY3RlZE9wdGlvbnNM
ZW5ndGggPSBteVNlbGVjdC5zZWxlY3RlZE9wdGlvbnMubGVuZ3RoOworb3B0aW9uc0xlbmd0aCA9
IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoOworc2VsZWN0ZWRPcHRpb25zID0gZGVlcENvcHkobXlT
ZWxlY3Quc2VsZWN0ZWRPcHRpb25zKTsKK3Nob3VsZEJlKCJvcHRpb25zTGVuZ3RoIiwgIjMiKTsK
K3Nob3VsZEJlKCJzZWxlY3RlZE9wdGlvbnMubGVuZ3RoIiwgIjEiKTsKK3Nob3VsZEJlKCJzZWxl
Y3RlZE9wdGlvbnNbMF0udGV4dCIsICInZml2ZSciKTsKKworZGVidWcoKCsraSkgKyAiKSBSZW1v
dmUgYW4gb3B0aW9uIHNlbGVjdGVkIHNob3VsZCB1cGRhdGUgdGhlIHNlbGVjdGVkIG9wdGlvbnMg
Y29sbGVjdGlvbi4iKTsKK215U2VsZWN0LnJlbW92ZSgyKTsKK29wdGlvbnNMZW5ndGggPSBteVNl
bGVjdC5vcHRpb25zLmxlbmd0aDsKK3NlbGVjdGVkT3B0aW9ucyA9IGRlZXBDb3B5KG15U2VsZWN0
LnNlbGVjdGVkT3B0aW9ucyk7CitzaG91bGRCZSgib3B0aW9uc0xlbmd0aCIsICIyIik7CitzaG91
bGRCZSgic2VsZWN0ZWRPcHRpb25zLmxlbmd0aCIsICIwIik7CisKK215U2VsZWN0Lm9wdGlvbnNb
MF0uc2VsZWN0ZWQgPSB0cnVlOworbXlTZWxlY3Qub3B0aW9uc1sxXS5zZWxlY3RlZCA9IHRydWU7
CitkZWJ1ZygoKytpKSArICIpIENoYW5nZSBtdWx0aXBsZSBhdHRyaWJ1dGUgdG8gZmFsc2Ugc2hv
dWxkIHVwZGF0ZSBzZWxlY3RlZE9wdGlvbnMuIik7CitteVNlbGVjdC5tdWx0aXBsZSA9IGZhbHNl
Oworb3B0aW9uc0xlbmd0aCA9IG15U2VsZWN0Lm9wdGlvbnMubGVuZ3RoOworc2VsZWN0ZWRPcHRp
b25zID0gZGVlcENvcHkobXlTZWxlY3Quc2VsZWN0ZWRPcHRpb25zKTsKK3Nob3VsZEJlKCJvcHRp
b25zTGVuZ3RoIiwgIjIiKTsKK3Nob3VsZEJlKCJzZWxlY3RlZE9wdGlvbnMubGVuZ3RoIiwgIjEi
KTsKK3Nob3VsZEJlKCJzZWxlY3RlZE9wdGlvbnNbMF0udGV4dCIsICIndHdvJyIpOworCityZXNl
dChteVNlbGVjdCk7CitkZWJ1ZygoKytpKSArICIpIEV2ZW4gd2l0aCBhbiBvcHRpb24gZGlzYWJs
ZWQgc2VsZWN0ZWRPcHRpb25zIHNob3VsZCBiZSB1cGRhdGVkLiIpOworbXlTZWxlY3Qub3B0aW9u
c1swXS5kaXNhYmxlZCA9IHRydWU7CitteVNlbGVjdC5vcHRpb25zWzBdLnNlbGVjdGVkID0gdHJ1
ZTsKK29wdGlvbnNMZW5ndGggPSBteVNlbGVjdC5vcHRpb25zLmxlbmd0aDsKK3NlbGVjdGVkT3B0
aW9ucyA9IGRlZXBDb3B5KG15U2VsZWN0LnNlbGVjdGVkT3B0aW9ucyk7CitzaG91bGRCZSgib3B0
aW9uc0xlbmd0aCIsICIyIik7CitzaG91bGRCZSgic2VsZWN0ZWRPcHRpb25zLmxlbmd0aCIsICIx
Iik7CitzaG91bGRCZSgic2VsZWN0ZWRPcHRpb25zWzBdLnRleHQiLCAiJ29uZSciKTsKKworZGVi
dWcoKCsraSkgKyAiKSBFdmVuIHdpdGggc2VsZWN0IGVsZW1lbnQgZGlzYWJsZWQsIHRoZSBzZWxl
Y3RlZE9wdGlvbnMgc2hvdWxkIGJlIHVwZGF0ZWQuIik7CitteVNlbGVjdC5kaXNhYmxlZCA9IHRy
dWU7CitteVNlbGVjdC5vcHRpb25zWzFdLnNlbGVjdGVkID0gdHJ1ZTsKK29wdGlvbnNMZW5ndGgg
PSBteVNlbGVjdC5vcHRpb25zLmxlbmd0aDsKK3NlbGVjdGVkT3B0aW9ucyA9IGRlZXBDb3B5KG15
U2VsZWN0LnNlbGVjdGVkT3B0aW9ucyk7CitzaG91bGRCZSgib3B0aW9uc0xlbmd0aCIsICIyIik7
CitzaG91bGRCZSgic2VsZWN0ZWRPcHRpb25zLmxlbmd0aCIsICIyIik7CitzaG91bGRCZSgic2Vs
ZWN0ZWRPcHRpb25zWzBdLnRleHQiLCAiJ29uZSciKTsKK3Nob3VsZEJlKCJzZWxlY3RlZE9wdGlv
bnNbMV0udGV4dCIsICIndHdvJyIpOworCitkZWJ1ZygiIik7Cis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL2h0bWxjb2xsZWN0aW9uLW5vbi1odG1sLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2h0bWxjb2xsZWN0aW9uLW5vbi1odG1sLWV4
cGVjdGVkLnR4dAppbmRleCA2NjMyZjAyYTBjZGI0NDkzNDRjZTM3MTY0N2NhYjQ0NDU5MzU3NTdm
Li5jMjBhYmVhNDU5NjU5MjU1YWEzYzQwMjNkMjQ3NGU2YmI3YTEzZDI4IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9odG1sY29sbGVjdGlvbi1ub24taHRtbC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vaHRtbGNvbGxlY3Rpb24tbm9uLWh0bWwtZXhwZWN0
ZWQudHh0CkBAIC00LDYgKzQsNyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiAKIFBBU1Mg
c2VsZWN0Lm9wdGlvbnMubGVuZ3RoIGlzIDAKK1BBU1Mgc2VsZWN0LnNlbGVjdGVkT3B0aW9ucy5s
ZW5ndGggaXMgMAogUEFTUyBzZWxlY3Qub3B0aW9ucy5sZW5ndGggaXMgMQogUEFTUyBkb2N1bWVu
dC5pbWFnZXMubGVuZ3RoIGlzIDAKIFBBU1MgZG9jdW1lbnQuaW1hZ2VzLmxlbmd0aCBpcyAxCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9odG1sY29sbGVjdGlvbi1ub24taHRtbC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vaHRtbGNvbGxlY3Rpb24tbm9uLWh0bWwuaHRtbApp
bmRleCBjNzZmZWY1YjE1YWJlNDhiMWRhNzE3ZmIxZDg5ZjU1ZjRiNjNmN2I2Li43YWUxNzlhZWM1
NDkwMTM4YmE2ZTFlZTQyY2QzNDZmNTFlNmM3NGJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9odG1sY29sbGVjdGlvbi1ub24taHRtbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL2h0bWxjb2xsZWN0aW9uLW5vbi1odG1sLmh0bWwKQEAgLTY3LDYgKzY3LDcgQEAgZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKICAgZWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhucywg
Im9wdGlvbiIpOwogICBzZWxlY3QuYXBwZW5kQ2hpbGQoZWxlbSk7CiAgIHNob3VsZEJlKCJzZWxl
Y3Qub3B0aW9ucy5sZW5ndGgiLCAiMCIpOworICBzaG91bGRCZSgic2VsZWN0LnNlbGVjdGVkT3B0
aW9ucy5sZW5ndGgiLCAiMCIpOwogCiAgIGVsZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJv
cHRpb24iKTsKICAgc2VsZWN0LmFwcGVuZENoaWxkKGVsZW0pOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>