<?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>70707</bug_id>
          
          <creation_ts>2011-10-23 21:20:31 -0700</creation_ts>
          <short_desc>CSS Aspect Ratio Property Parsing Stage</short_desc>
          <delta_ts>2011-11-04 16:07:45 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>47738</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Fady Samuel">fsamuel</reporter>
          <assigned_to name="Fady Samuel">fsamuel</assigned_to>
          <cc>arv</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>hyatt</cc>
    
    <cc>macpherson</cc>
    
    <cc>ojan</cc>
    
    <cc>rjkroege</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>489135</commentid>
    <comment_count>0</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-23 21:20:31 -0700</bug_when>
    <thetext>CSS Aspect Ratio Property Parsing Stage</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489136</commentid>
    <comment_count>1</comment_count>
      <attachid>112139</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-23 21:22:00 -0700</bug_when>
    <thetext>Created attachment 112139
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489154</commentid>
    <comment_count>2</comment_count>
      <attachid>112144</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-23 21:49:23 -0700</bug_when>
    <thetext>Created attachment 112144
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489175</commentid>
    <comment_count>3</comment_count>
      <attachid>112144</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-23 22:22:10 -0700</bug_when>
    <thetext>Comment on attachment 112144
Patch

Attachment 112144 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10197761

New failing tests:
fast/borders/border-radius-groove-01.html
fast/borders/border-radius-parsing.html
fast/borders/border-radius-groove-03.html
fast/box-shadow/spread-multiple-normal.html
fast/box-shadow/inset-with-extraordinary-radii-and-border.html
fast/box-shadow/spread-multiple-inset.html
fast/box-shadow/inset-box-shadows.html
fast/backgrounds/gradient-background-leakage.html
fast/borders/border-radius-wide-border-04.html
fast/backgrounds/border-radius-split-background-image.html
fast/borders/border-radius-groove-02.html
fast/borders/border-radius-wide-border-01.html
fast/borders/border-radius-different-width-001.html
fast/borders/border-radius-wide-border-03.html
fast/borders/border-radius-wide-border-02.html
fast/box-shadow/shadow-tiling-artifact.html
fast/borders/border-radius-inset-outset.html
fast/backgrounds/border-radius-split-background.html
fast/borders/border-styles-split.html
fast/borders/border-radius-circle.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489179</commentid>
    <comment_count>4</comment_count>
      <attachid>112148</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-23 22:33:13 -0700</bug_when>
    <thetext>Created attachment 112148
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489195</commentid>
    <comment_count>5</comment_count>
      <attachid>112148</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-23 23:12:20 -0700</bug_when>
    <thetext>Comment on attachment 112148
Patch

Attachment 112148 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10199745

New failing tests:
fast/borders/border-radius-groove-01.html
fast/borders/border-radius-parsing.html
fast/borders/border-radius-groove-03.html
fast/box-shadow/spread-multiple-normal.html
fast/box-shadow/inset-with-extraordinary-radii-and-border.html
fast/box-shadow/spread-multiple-inset.html
fast/box-shadow/inset-box-shadows.html
fast/backgrounds/gradient-background-leakage.html
fast/borders/border-radius-wide-border-04.html
fast/backgrounds/border-radius-split-background-image.html
fast/borders/border-radius-groove-02.html
fast/borders/border-radius-wide-border-01.html
fast/borders/border-radius-different-width-001.html
fast/borders/border-radius-wide-border-03.html
fast/borders/border-radius-wide-border-02.html
fast/box-shadow/shadow-tiling-artifact.html
fast/borders/border-radius-inset-outset.html
fast/backgrounds/border-radius-split-background.html
fast/borders/border-styles-split.html
fast/borders/border-radius-circle.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489396</commentid>
    <comment_count>6</comment_count>
      <attachid>112148</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-10-24 10:04:30 -0700</bug_when>
    <thetext>Comment on attachment 112148
Patch

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

Please add tests. You should be able to write tests the verify parsing happens correctly and that non-positive numbers are considered invalid. See the -webkit-calc tests for examples.

&gt; Source/WebCore/css/CSSParser.cpp:1513
&gt; +          return parseAspectRatio(important);

indent is off

&gt; Source/WebCore/css/CSSParser.cpp:5651
&gt; +    if (!validUnit(lvalue, FLength, m_strict) || !validUnit(rvalue, FLength, m_strict))

Does this exclude negative values? If not, we should make sure to return false for negative values as per the spec.

&gt; Source/WebCore/css/CSSParser.cpp:5654
&gt; +    if (!rvalue-&gt;fValue)

Do you not need to check lvalue-&gt;fValue here? Is this to deal with divide by 0? It also seems non-sensical to have a 0 lvalue and the spec says both numbers should be non-zero.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489409</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-10-24 10:22:21 -0700</bug_when>
    <thetext>Is this in any CSS spec yet?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489655</commentid>
    <comment_count>8</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-24 14:42:16 -0700</bug_when>
    <thetext>Ojan,

I don&apos;t see any tests here: https://bugs.webkit.org/show_bug.cgi?id=57082

I will address the rest of your comments.

Thanks,

Fady

(In reply to comment #6)
&gt; (From update of attachment 112148 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=112148&amp;action=review
&gt; 
&gt; Please add tests. You should be able to write tests the verify parsing happens correctly and that non-positive numbers are considered invalid. See the -webkit-calc tests for examples.
&gt; 
&gt; &gt; Source/WebCore/css/CSSParser.cpp:1513
&gt; &gt; +          return parseAspectRatio(important);
&gt; 
&gt; indent is off
&gt; 
&gt; &gt; Source/WebCore/css/CSSParser.cpp:5651
&gt; &gt; +    if (!validUnit(lvalue, FLength, m_strict) || !validUnit(rvalue, FLength, m_strict))
&gt; 
&gt; Does this exclude negative values? If not, we should make sure to return false for negative values as per the spec.
&gt; 
&gt; &gt; Source/WebCore/css/CSSParser.cpp:5654
&gt; &gt; +    if (!rvalue-&gt;fValue)
&gt; 
&gt; Do you not need to check lvalue-&gt;fValue here? Is this to deal with divide by 0? It also seems non-sensical to have a 0 lvalue and the spec says both numbers should be non-zero.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489658</commentid>
    <comment_count>9</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-24 14:44:46 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Is this in any CSS spec yet?

No there is no formal spec yet, but an informal spec can be found here: http://www.xanthir.com/blog/b4810

There has been discussion at www-style:

http://lists.w3.org/Archives/Public/www-style/2010Oct/0046.html  http://lists.w3.org/Archives/Public/www-style/2011Oct/0550.html. 

It&apos;s just blocked on Tab and Fantasai having enough time to put in into a formal spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490428</commentid>
    <comment_count>10</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-10-25 15:47:14 -0700</bug_when>
    <thetext>I like the proposal. I&apos;ll take a look soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493000</commentid>
    <comment_count>11</comment_count>
      <attachid>112980</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-29 19:07:56 -0700</bug_when>
    <thetext>Created attachment 112980
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493004</commentid>
    <comment_count>12</comment_count>
      <attachid>112980</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-29 19:54:18 -0700</bug_when>
    <thetext>Comment on attachment 112980
Patch

Attachment 112980 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10242453

New failing tests:
fast/css/border-radius-non-negative.html
fast/box-shadow/shadow-tiling-artifact.html
fast/borders/webkit-border-radius.html
inspector/elements/elements-panel-styles.html
fast/borders/border-radius-circle.html
fast/backgrounds/border-radius-split-background.html
fast/borders/border-radius-parsing.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493103</commentid>
    <comment_count>13</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-30 16:57:35 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 112980 [details])
&gt; Attachment 112980 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/10242453
&gt; 
&gt; New failing tests:
&gt; fast/css/border-radius-non-negative.html
&gt; fast/box-shadow/shadow-tiling-artifact.html
&gt; fast/borders/webkit-border-radius.html
&gt; inspector/elements/elements-panel-styles.html
&gt; fast/borders/border-radius-circle.html
&gt; fast/backgrounds/border-radius-split-background.html
&gt; fast/borders/border-radius-parsing.html

Do we want to support floating point numbers for the numerator and denominator? For example, should 1.2 / 2 be allowed? Currently, the implementation does not allow for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493421</commentid>
    <comment_count>14</comment_count>
      <attachid>112980</attachid>
    <who name="Luke Macpherson">macpherson</who>
    <bug_when>2011-10-31 11:22:38 -0700</bug_when>
    <thetext>Comment on attachment 112980
Patch

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

&gt; Source/WebCore/css/CSSStyleSelector.cpp:2524
&gt; +        return;

Move to list of unimplemented properties (before  WebkitFontSizeDelta).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493445</commentid>
    <comment_count>15</comment_count>
      <attachid>113072</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-31 12:33:19 -0700</bug_when>
    <thetext>Created attachment 113072
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493447</commentid>
    <comment_count>16</comment_count>
      <attachid>112980</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-31 12:35:36 -0700</bug_when>
    <thetext>Comment on attachment 112980
Patch

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

Additional small change in the patch I just uploaded: floating point numerators and denominators are now supported.

&gt;&gt; Source/WebCore/css/CSSStyleSelector.cpp:2524
&gt;&gt; +        return;
&gt; 
&gt; Move to list of unimplemented properties (before  WebkitFontSizeDelta).

Done. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493473</commentid>
    <comment_count>17</comment_count>
      <attachid>113072</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-31 13:40:31 -0700</bug_when>
    <thetext>Comment on attachment 113072
Patch

Attachment 113072 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10241860

New failing tests:
fast/css/border-radius-non-negative.html
fast/box-shadow/shadow-tiling-artifact.html
fast/borders/webkit-border-radius.html
inspector/elements/elements-panel-styles.html
fast/borders/border-radius-circle.html
fast/backgrounds/border-radius-split-background.html
fast/borders/border-radius-parsing.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494117</commentid>
    <comment_count>18</comment_count>
      <attachid>113072</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-11-01 13:58:35 -0700</bug_when>
    <thetext>Comment on attachment 113072
Patch

Looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494127</commentid>
    <comment_count>19</comment_count>
      <attachid>113072</attachid>
    <who name="Jarred Nicholls">jarred</who>
    <bug_when>2011-11-01 14:04:58 -0700</bug_when>
    <thetext>Comment on attachment 113072
Patch

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

&gt; Source/WebCore/css/CSSPropertyNames.in:186
&gt; +-webkit-aspect-ratio

can this be kept in alphabetical order, below -webkit-appearance?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494223</commentid>
    <comment_count>20</comment_count>
      <attachid>113241</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-01 15:39:09 -0700</bug_when>
    <thetext>Created attachment 113241
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494225</commentid>
    <comment_count>21</comment_count>
      <attachid>113072</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-01 15:40:01 -0700</bug_when>
    <thetext>Comment on attachment 113072
Patch

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

&gt;&gt; Source/WebCore/css/CSSPropertyNames.in:186
&gt;&gt; +-webkit-aspect-ratio
&gt; 
&gt; can this be kept in alphabetical order, below -webkit-appearance?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494271</commentid>
    <comment_count>22</comment_count>
      <attachid>113241</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-11-01 16:23:25 -0700</bug_when>
    <thetext>Comment on attachment 113241
Patch

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

Just needs a little restructuring...I think it&apos;ll be fine to commit after that.

&gt; Source/WebCore/rendering/style/StyleBoxData.h:86
&gt; +    float m_aspectRatio;
&gt; +
&gt;      bool m_hasAutoZIndex : 1;
&gt; +    bool m_hasAspectRatio : 1;

These should probably be on StyleRareNonInheritedData.h. See what the new flexbox properties do as an example. As it is, every RenderStyle holds a StyleBoxData, so this is adding a float to every RenderStyle. With StyleRareNonInheritedData, it would only add the memory use if aspectRatio is set.

It&apos;s safe to say that aspectRatio will be used rarely. Even on pages that use it, they&apos;ll only use it on a small subset of the DOM.

&gt; LayoutTests/fast/css/aspect-ratio-parsing-tests-expected.txt:6
&gt; +PASS testParsing(&quot;aspectRatioTest&quot;, &quot;2/1&quot;, &quot;-webkit-aspect-ratio&quot;) is &quot;2&quot;

This serialization doesn&apos;t match http://www.xanthir.com/blog/b4810. It should be &quot;2/1&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495897</commentid>
    <comment_count>23</comment_count>
      <attachid>113585</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-03 17:07:41 -0700</bug_when>
    <thetext>Created attachment 113585
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495965</commentid>
    <comment_count>24</comment_count>
      <attachid>113585</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-03 18:13:34 -0700</bug_when>
    <thetext>Comment on attachment 113585
Patch

Attachment 113585 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10301034

New failing tests:
fast/borders/only-one-border-with-width.html
fast/css/border-radius-non-negative.html
media/audio-repaint.html
fast/backgrounds/gradient-background-leakage.html
fast/box-shadow/shadow-tiling-artifact.html
fast/borders/webkit-border-radius.html
inspector/elements/elements-panel-styles.html
fast/borders/border-radius-circle.html
fast/backgrounds/border-radius-split-background.html
fast/borders/border-radius-parsing.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495983</commentid>
    <comment_count>25</comment_count>
      <attachid>113585</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-11-03 18:42:23 -0700</bug_when>
    <thetext>Comment on attachment 113585
Patch

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

Yay!

&gt; Source/WebCore/css/CSSParser.cpp:5679
&gt; +    addProperty(CSSPropertyWebkitAspectRatio, aspectRatioValue.release(), important);

CSSAspectRatioValue::create returns a PassRefPtr, so you could make this a one-liner:
addProperty(CSSPropertyWebkitAspectRatio, CSSAspectRatioValue::create(lvalue-&gt;fValue, rvalue-&gt;fValue), important);

I guess that&apos;s a bit unwieldy. Up to you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496005</commentid>
    <comment_count>26</comment_count>
      <attachid>113609</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-03 19:32:46 -0700</bug_when>
    <thetext>Created attachment 113609
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496007</commentid>
    <comment_count>27</comment_count>
      <attachid>113610</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-03 19:58:14 -0700</bug_when>
    <thetext>Created attachment 113610
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496009</commentid>
    <comment_count>28</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-03 19:58:52 -0700</bug_when>
    <thetext>(In reply to comment #25)
&gt; (From update of attachment 113585 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=113585&amp;action=review
&gt; 
&gt; Yay!
&gt; 
&gt; &gt; Source/WebCore/css/CSSParser.cpp:5679
&gt; &gt; +    addProperty(CSSPropertyWebkitAspectRatio, aspectRatioValue.release(), important);
&gt; 
&gt; CSSAspectRatioValue::create returns a PassRefPtr, so you could make this a one-liner:
&gt; addProperty(CSSPropertyWebkitAspectRatio, CSSAspectRatioValue::create(lvalue-&gt;fValue, rvalue-&gt;fValue), important);
&gt; 
&gt; I guess that&apos;s a bit unwieldy. Up to you.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496011</commentid>
    <comment_count>29</comment_count>
      <attachid>113612</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-03 20:01:37 -0700</bug_when>
    <thetext>Created attachment 113612
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496015</commentid>
    <comment_count>30</comment_count>
      <attachid>113613</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-03 20:20:09 -0700</bug_when>
    <thetext>Created attachment 113613
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496035</commentid>
    <comment_count>31</comment_count>
      <attachid>113613</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-03 21:16:53 -0700</bug_when>
    <thetext>Comment on attachment 113613
Patch

Attachment 113613 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10316036

New failing tests:
fast/borders/only-one-border-with-width.html
fast/css/border-radius-non-negative.html
media/audio-repaint.html
fast/backgrounds/gradient-background-leakage.html
fast/backgrounds/border-radius-split-background.html
fast/borders/webkit-border-radius.html
inspector/elements/elements-panel-styles.html
fast/borders/border-radius-circle.html
fast/box-shadow/shadow-tiling-artifact.html
fast/borders/border-radius-parsing.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496191</commentid>
    <comment_count>32</comment_count>
      <attachid>113654</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-04 07:40:23 -0700</bug_when>
    <thetext>Created attachment 113654
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496194</commentid>
    <comment_count>33</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-04 07:45:30 -0700</bug_when>
    <thetext>Just iterating through the patch to get all the platforms to build. I believe mac is still broken because the xcodeproj needs to be updated. I will do that shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496209</commentid>
    <comment_count>34</comment_count>
      <attachid>113660</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-04 08:43:09 -0700</bug_when>
    <thetext>Created attachment 113660
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496212</commentid>
    <comment_count>35</comment_count>
      <attachid>113662</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-04 08:56:52 -0700</bug_when>
    <thetext>Created attachment 113662
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496220</commentid>
    <comment_count>36</comment_count>
      <attachid>113664</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-04 09:15:24 -0700</bug_when>
    <thetext>Created attachment 113664
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496235</commentid>
    <comment_count>37</comment_count>
      <attachid>113664</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-11-04 09:40:39 -0700</bug_when>
    <thetext>Comment on attachment 113664
Patch

Attachment 113664 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/10310182</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496243</commentid>
    <comment_count>38</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-11-04 09:51:21 -0700</bug_when>
    <thetext>(In reply to comment #31)
&gt; (From update of attachment 113613 [details])
&gt; Attachment 113613 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/10316036
&gt; 
&gt; New failing tests:
&gt; fast/borders/only-one-border-with-width.html
&gt; fast/css/border-radius-non-negative.html
&gt; media/audio-repaint.html
&gt; fast/backgrounds/gradient-background-leakage.html
&gt; fast/backgrounds/border-radius-split-background.html
&gt; fast/borders/webkit-border-radius.html
&gt; inspector/elements/elements-panel-styles.html
&gt; fast/borders/border-radius-circle.html
&gt; fast/box-shadow/shadow-tiling-artifact.html
&gt; fast/borders/border-radius-parsing.html

Fady, do you know what&apos;s up with these? If you run these tests locally with your change, do they fail? How about with a chromium webkit build?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496246</commentid>
    <comment_count>39</comment_count>
      <attachid>113664</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-04 10:00:17 -0700</bug_when>
    <thetext>Comment on attachment 113664
Patch

Attachment 113664 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10333005

New failing tests:
fast/borders/only-one-border-with-width.html
fast/css/border-radius-non-negative.html
media/audio-repaint.html
fast/backgrounds/gradient-background-leakage.html
fast/box-shadow/shadow-tiling-artifact.html
fast/borders/webkit-border-radius.html
inspector/elements/elements-panel-styles.html
fast/borders/border-radius-circle.html
fast/backgrounds/border-radius-split-background.html
fast/borders/border-radius-parsing.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496249</commentid>
    <comment_count>40</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-04 10:01:37 -0700</bug_when>
    <thetext>(In reply to comment #38)
&gt; (In reply to comment #31)
&gt; &gt; (From update of attachment 113613 [details] [details])
&gt; &gt; Attachment 113613 [details] [details] did not pass chromium-ews (chromium-xvfb):
&gt; &gt; Output: http://queues.webkit.org/results/10316036
&gt; &gt; 
&gt; &gt; New failing tests:
&gt; &gt; fast/borders/only-one-border-with-width.html
&gt; &gt; fast/css/border-radius-non-negative.html
&gt; &gt; media/audio-repaint.html
&gt; &gt; fast/backgrounds/gradient-background-leakage.html
&gt; &gt; fast/backgrounds/border-radius-split-background.html
&gt; &gt; fast/borders/webkit-border-radius.html
&gt; &gt; inspector/elements/elements-panel-styles.html
&gt; &gt; fast/borders/border-radius-circle.html
&gt; &gt; fast/box-shadow/shadow-tiling-artifact.html
&gt; &gt; fast/borders/border-radius-parsing.html
&gt; 
&gt; Fady, do you know what&apos;s up with these? If you run these tests locally with your change, do they fail? How about with a chromium webkit build?

I will look into it. I won&apos;t commit until everything is green.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496340</commentid>
    <comment_count>41</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-04 11:28:14 -0700</bug_when>
    <thetext>(In reply to comment #37)
&gt; (From update of attachment 113664 [details])
&gt; Attachment 113664 [details] did not pass qt-ews (qt):
&gt; Output: http://queues.webkit.org/results/10310182

(In reply to comment #38)
&gt; (In reply to comment #31)
&gt; &gt; (From update of attachment 113613 [details] [details])
&gt; &gt; Attachment 113613 [details] [details] did not pass chromium-ews (chromium-xvfb):
&gt; &gt; Output: http://queues.webkit.org/results/10316036
&gt; &gt; 
&gt; &gt; New failing tests:
&gt; &gt; fast/borders/only-one-border-with-width.html
&gt; &gt; fast/css/border-radius-non-negative.html
&gt; &gt; media/audio-repaint.html
&gt; &gt; fast/backgrounds/gradient-background-leakage.html
&gt; &gt; fast/backgrounds/border-radius-split-background.html
&gt; &gt; fast/borders/webkit-border-radius.html
&gt; &gt; inspector/elements/elements-panel-styles.html
&gt; &gt; fast/borders/border-radius-circle.html
&gt; &gt; fast/box-shadow/shadow-tiling-artifact.html
&gt; &gt; fast/borders/border-radius-parsing.html
&gt; 
&gt; Fady, do you know what&apos;s up with these? If you run these tests locally with your change, do they fail? How about with a chromium webkit build?

Looks like I misplaced  

case CSSPropertyWebkitAspectRatio:
      return parseAspectRatio(important);


while I was reordering it to make it alphabetical.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496341</commentid>
    <comment_count>42</comment_count>
      <attachid>113685</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-04 11:28:32 -0700</bug_when>
    <thetext>Created attachment 113685
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496501</commentid>
    <comment_count>43</comment_count>
      <attachid>113685</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-04 15:22:41 -0700</bug_when>
    <thetext>Comment on attachment 113685
Patch

Taking it through the commit queue, just in case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496528</commentid>
    <comment_count>44</comment_count>
      <attachid>113685</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-04 16:07:37 -0700</bug_when>
    <thetext>Comment on attachment 113685
Patch

Clearing flags on attachment: 113685

Committed r99332: &lt;http://trac.webkit.org/changeset/99332&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496529</commentid>
    <comment_count>45</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-04 16:07:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112139</attachid>
            <date>2011-10-23 21:22:00 -0700</date>
            <delta_ts>2011-10-23 21:49:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70707-20111024002158.patch</filename>
            <type>text/plain</type>
            <size>10392</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTgyMDYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmZjZmM2NkNDJlYjJjZTNl
M2RkOTQyNWI3ZjQxZWE4NWQ0YTE1MjQxLi5kODYzYjc0M2ZkY2NmOGZkNzZlZmY2YjBmODc2ZTRh
MmQyNTk4NzMwIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTEtMTAtMjMgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NTIEFzcGVjdCBSYXRp
byBQcm9wZXJ0eSBQYXJzaW5nIFN0YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MDcwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gKE9PUFMhKQorCisgICAgICAgICogY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUpOgorICAgICAgICAqIGNz
cy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgICogY3NzL0NTU1BhcnNl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUFzcGVjdFJhdGlvKToKKyAgICAgICAgKiBjc3Mv
Q1NTUGFyc2VyLmg6CisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW46CisgICAgICAg
ICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVT
ZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6aGFzQXNwZWN0UmF0
aW8pOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnNldEhhc0FzcGVjdFJhdGlv
KToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjphc3BlY3RSYXRpbyk6CisgICAg
ICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6c2V0QXNwZWN0UmF0aW8pOgorICAgICAgICAo
V2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OmluaXRpYWxBc3BlY3RSYXRpbyk6CisgICAgICAgICog
cmVuZGVyaW5nL3N0eWxlL1N0eWxlQm94RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHls
ZUJveERhdGE6OlN0eWxlQm94RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUJveERhdGE6
Om9wZXJhdG9yPT0pOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZUJveERhdGEuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQm94RGF0YTo6YXNwZWN0UmF0aW8pOgorICAgICAgICAo
V2ViQ29yZTo6U3R5bGVCb3hEYXRhOjpoYXNBc3BlY3RSYXRpbyk6CisKIDIwMTEtMTAtMjMgIE1h
cmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgZGVs
ZXRlUHJvcGVydHkgdG8gdGhlIE1ldGhvZFRhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IGQwODVhZWFlMmJjOTA5MmY4
Y2U5NmE3YjZlNjU5ODQ1YjAzZjEzYTUuLjMwMDhkMWQ1NjcyNzIyNjI0ODBkM2UyNDE5YTViMWEz
YTcwYzEyNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCkBAIC0xMTE4LDcgKzExMTgsOCBAQCBQYXNzUmVmUHRyPENTU1ZhbHVl
PiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUoaW50IHBy
b3BlcgogICAgIHN3aXRjaCAoc3RhdGljX2Nhc3Q8Q1NTUHJvcGVydHlJRD4ocHJvcGVydHlJRCkp
IHsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUludmFsaWQ6CiAgICAgICAgICAgICBicmVhazsK
LQorICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW86CisgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUJhY2tncm91bmRDb2xvcjoKICAgICAg
ICAgICAgIHJldHVybiBwcmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVDb2xvclZhbHVlKG1fYWxs
b3dWaXNpdGVkU3R5bGU/IHN0eWxlLT52aXNpdGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlC
YWNrZ3JvdW5kQ29sb3IpLnJnYigpIDogc3R5bGUtPmJhY2tncm91bmRDb2xvcigpLnJnYigpKTsK
ICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUJhY2tncm91bmRJbWFnZToKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDQ0Y2Y4MDdj
NmM2MTNhYzFiZjliMDhlNTYyZGNhYjE0ZTQ1ODkxYTIuLmM0ZWJiOGIwNmMxMmI2MmVlNzczN2Uy
MDE4ZjMwZDM1MDVjMWQ5YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRh
YmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFi
bGVTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtNzg3LDYgKzc4Nyw3IEBAIHZvaWQgQ1NTTXV0YWJs
ZVN0eWxlRGVjbGFyYXRpb246OmFkZFN1YnJlc291cmNlU3R5bGVVUkxzKExpc3RIYXNoU2V0PEtV
Ukw+JiB1cmxzCiBzdGF0aWMgY29uc3QgaW50IGJsb2NrUHJvcGVydGllc1tdID0gewogICAgIENT
U1Byb3BlcnR5T3JwaGFucywKICAgICBDU1NQcm9wZXJ0eU92ZXJmbG93LCAvLyBUaGlzIGNhbiBi
ZSBhbHNvIGJlIGFwcGxpZWQgdG8gcmVwbGFjZWQgZWxlbWVudHMKKyAgICBDU1NQcm9wZXJ0eVdl
YmtpdEFzcGVjdFJhdGlvLAogICAgIENTU1Byb3BlcnR5V2Via2l0Q29sdW1uQ291bnQsCiAgICAg
Q1NTUHJvcGVydHlXZWJraXRDb2x1bW5HYXAsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5S
dWxlQ29sb3IsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IDVlNzFlYjJmY2U3YzlkZjBi
YjAwZTBmMDg1NWNlMWM1ZjMwMWExOWMuLjllNzAyODZhOThlODE5ODgwMmIyNGU0ZTlkZGUxN2Fj
OTcyZmZkZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0xNTA2LDYgKzE1MDYsMTEg
QEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQp
CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVy
UmFkaXVzOgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRBc3BlY3RSYXRpbzoKKyAgICAgICAg
aWYgKGlkID09IENTU1ZhbHVlTm9uZSkKKyAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1
ZTsKKyAgICAgICAgZWxzZQorICAgICAgICAgIHJldHVybiBwYXJzZUFzcGVjdFJhdGlvKHByb3BJ
ZCwgaW1wb3J0YW50KTsKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Qm9yZGVyUmFkaXVzOgog
ICAgICAgICByZXR1cm4gcGFyc2VCb3JkZXJSYWRpdXMocHJvcElkLCBpbXBvcnRhbnQpOwogICAg
IGNhc2UgQ1NTUHJvcGVydHlPdXRsaW5lT2Zmc2V0OgpAQCAtNTYzMCw2ICs1NjM1LDMwIEBAIGJv
b2wgQ1NTUGFyc2VyOjpwYXJzZUJvcmRlclJhZGl1cyhpbnQgcHJvcElkLCBib29sIGltcG9ydGFu
dCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBDU1NQYXJzZXI6OnBhcnNlQXNwZWN0UmF0
aW8oaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCit7CisgICAgdW5zaWduZWQgbnVtID0gbV92
YWx1ZUxpc3QtPnNpemUoKTsKKyAgICBpZiAobnVtICE9IDMpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgIENTU1BhcnNlclZhbHVlKiBsdmFsdWUgPSBtX3ZhbHVlTGlzdC0+dmFsdWVBdCgw
KTsKKyAgICBDU1NQYXJzZXJWYWx1ZSogb3AgPSBtX3ZhbHVlTGlzdC0+dmFsdWVBdCgxKTsKKyAg
ICBDU1NQYXJzZXJWYWx1ZSogcnZhbHVlID0gbV92YWx1ZUxpc3QtPnZhbHVlQXQoMik7CisKKyAg
ICBpZiAoIW9wLT51bml0ID09IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvciB8fCBvcC0+aVZhbHVl
ICE9ICcvJykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCF2YWxpZFVuaXQobHZh
bHVlLCBGTGVuZ3RoLCBtX3N0cmljdCkgfHwgIXZhbGlkVW5pdChydmFsdWUsIEZMZW5ndGgsIG1f
c3RyaWN0KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFydmFsdWUtPmZWYWx1
ZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlX
ZWJraXRBc3BlY3RSYXRpbywgQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShsdmFsdWUtPmZWYWx1
ZSAvIHJ2YWx1ZS0+ZlZhbHVlLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUiksIGltcG9y
dGFudCk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogYm9vbCBDU1NQYXJzZXI6OnBhcnNlQ291
bnRlcihpbnQgcHJvcElkLCBpbnQgZGVmYXVsdFZhbHVlLCBib29sIGltcG9ydGFudCkKIHsKICAg
ICBlbnVtIHsgSUQsIFZBTCB9IHN0YXRlID0gSUQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKaW5kZXgg
YzgwNGU0YjZiOWE2MGZiYTg4OTljNWRiMWI2ZWM3ODkxZTYxYzgwMS4uMjgxY2M5YzRkODQ2MTc4
YWI5YjhjMzI2ZGY1MzZkZTRlNzA3NTZjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApAQCAtMTcx
LDYgKzE3MSw4IEBAIHB1YmxpYzoKICAgICBib29sIHBhcnNlQm9yZGVySW1hZ2VPdXRzZXQoUmVm
UHRyPENTU1ByaW1pdGl2ZVZhbHVlPiYpOwogICAgIGJvb2wgcGFyc2VCb3JkZXJSYWRpdXMoaW50
IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOwogCisgICAgYm9vbCBwYXJzZUFzcGVjdFJhdGlvKGlu
dCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKKwogICAgIGJvb2wgcGFyc2VSZWZsZWN0KGludCBw
cm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKIAogICAgIGJvb2wgcGFyc2VGbGV4KGludCBwcm9wSWQs
IGJvb2wgaW1wb3J0YW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9w
ZXJ0eU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KaW5k
ZXggZjdmYmU0MjU5ODUwOTYwMDE3M2QwMGEyMWJkMGJhMGJlMjVhMTkzYi4uZTZlZGU4MzU3Yjdk
NTFhNWMwMGM0YTgwYjU3MjRjOTg3NDNlYzlhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnR5TmFtZXMuaW4KQEAgLTE4Myw2ICsxODMsNyBAQCB3b3JkLWJyZWFrCiB3b3JkLXNwYWNpbmcK
IHdvcmQtd3JhcAogei1pbmRleAorLXdlYmtpdC1hc3BlY3QtcmF0aW8KIC13ZWJraXQtYW5pbWF0
aW9uCiAtd2Via2l0LWFuaW1hdGlvbi1kZWxheQogLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9u
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggNDA4YjcxYTY4ZDY4
YTNjY2E2ZmMwZTg4NjE2OGE1YWY3NmVkMWNhMS4uNDI5NDQzOGFmOGVjODhkYWJjZWZhZTkzNjM3
NzEyZTQ0NjgxMWM4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApA
QCAtMjM4MCw2ICsyMzgwLDkgQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5
KGludCBpZCwgQ1NTVmFsdWUgKnZhbHVlKQogICAgIC8vIFJlbmRlclN0eWxlIHZhbHVlcy4gIFNo
b3J0aGFuZHMgKGUuZy4gYm9yZGVyLCBiYWNrZ3JvdW5kKSBvY2N1ciBpbiB0aGlzIGxpc3QgYXMg
d2VsbCBhbmQKICAgICAvLyBhcmUgb25seSBoaXQgd2hlbiBtYXBwaW5nICJpbmhlcml0IiBvciAi
aW5pdGlhbCIgaW50byBmcm9udC1lbmQgdmFsdWVzLgogICAgIHN3aXRjaCAocHJvcGVydHkpIHsK
KyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW86CisgICAgICAgIEhBTkRMRV9J
TkhFUklUX0FORF9JTklUSUFMX0FORF9QUklNSVRJVkUoYXNwZWN0UmF0aW8sIEFzcGVjdFJhdGlv
KQorICAgICAgICByZXR1cm47CiAvLyBpZGVudCBvbmx5IHByb3BlcnRpZXMKICAgICBjYXNlIENT
U1Byb3BlcnR5Qm9yZGVyQ29sbGFwc2U6CiAgICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklU
SUFMX0FORF9QUklNSVRJVkUoYm9yZGVyQ29sbGFwc2UsIEJvcmRlckNvbGxhcHNlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCAzNjQ0ZmRmMTY0
ZDQ4MzE4MThhM2Q3MDMwNDg0ODYxMTJiYTRmMDE2Li44OGJmNTNmMGFlZTJiNDdjYjQ4NzZkMWE2
MzdiZjEwMTQ1MWE0MGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuaApAQCAtMTA4MSw2ICsxMDgxLDExIEBAIHB1YmxpYzoKICAgICBpbnQgekluZGV4
KCkgY29uc3QgeyByZXR1cm4gbV9ib3gtPnpJbmRleCgpOyB9CiAgICAgdm9pZCBzZXRaSW5kZXgo
aW50IHYpIHsgU0VUX1ZBUihtX2JveCwgbV9oYXNBdXRvWkluZGV4LCBmYWxzZSk7IFNFVF9WQVIo
bV9ib3gsIG1fekluZGV4LCB2KSB9CiAKKyAgICBib29sIGhhc0FzcGVjdFJhdGlvKCkgY29uc3Qg
eyByZXR1cm4gbV9ib3gtPmhhc0FzcGVjdFJhdGlvKCk7IH0KKyAgICB2b2lkIHNldEhhc0FzcGVj
dFJhdGlvKGJvb2wgdikgeyBTRVRfVkFSKG1fYm94LCBtX2hhc0FzcGVjdFJhdGlvLCB2KTsgU0VU
X1ZBUihtX2JveCwgbV9hc3BlY3RSYXRpbywgMS4wZikgfQorICAgIGZsb2F0IGFzcGVjdFJhdGlv
KCkgY29uc3QgeyByZXR1cm4gbV9ib3gtPmFzcGVjdFJhdGlvKCk7IH0KKyAgICB2b2lkIHNldEFz
cGVjdFJhdGlvKGZsb2F0IHYpIHsgU0VUX1ZBUihtX2JveCwgbV9oYXNBc3BlY3RSYXRpbywgdHJ1
ZSk7IFNFVF9WQVIobV9ib3gsIG1fYXNwZWN0UmF0aW8sIHYpIH0KKwogICAgIHZvaWQgc2V0V2lk
b3dzKHNob3J0IHcpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgd2lkb3dzLCB3KTsgfQog
ICAgIHZvaWQgc2V0T3JwaGFucyhzaG9ydCBvKSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEs
IG9ycGhhbnMsIG8pOyB9CiAgICAgLy8gRm9yIHZhbGlkIHZhbHVlcyBvZiBwYWdlLWJyZWFrLWlu
c2lkZSBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvQ1NTMjEvcGFnZS5odG1sI3BhZ2UtYnJlYWst
cHJvcHMKQEAgLTEzNDIsNiArMTM0Nyw3IEBAIHB1YmxpYzoKICAgICBDb2xvciB2aXNpdGVkRGVw
ZW5kZW50Q29sb3IoaW50IGNvbG9yUHJvcGVydHkpIGNvbnN0OwogCiAgICAgLy8gSW5pdGlhbCB2
YWx1ZXMgZm9yIGFsbCB0aGUgcHJvcGVydGllcworICAgIHN0YXRpYyBmbG9hdCBpbml0aWFsQXNw
ZWN0UmF0aW8oKSB7IHJldHVybiAxLjBmOyB9CiAgICAgc3RhdGljIEVCb3JkZXJDb2xsYXBzZSBp
bml0aWFsQm9yZGVyQ29sbGFwc2UoKSB7IHJldHVybiBCU0VQQVJBVEU7IH0KICAgICBzdGF0aWMg
RUJvcmRlclN0eWxlIGluaXRpYWxCb3JkZXJTdHlsZSgpIHsgcmV0dXJuIEJOT05FOyB9CiAgICAg
c3RhdGljIE91dGxpbmVJc0F1dG8gaW5pdGlhbE91dGxpbmVTdHlsZUlzQXV0bygpIHsgcmV0dXJu
IEFVVE9fT0ZGOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVCb3hEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUJv
eERhdGEuY3BwCmluZGV4IDJjNTIzZGE2OTk5YjQ5OGMzNmRhY2M2ZDliZDQ5ZmZmNGIzOWQ3YmEu
LjAyMzg0ZGVhYjM3M2ZiOGMyNDRmNDJiY2RlYTIxZGJmZmMxYzZiNzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUJveERhdGEuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUJveERhdGEuY3BwCkBAIC0zMyw3ICszMyw5
IEBAIFN0eWxlQm94RGF0YTo6U3R5bGVCb3hEYXRhKCkKICAgICAsIG1fbWluSGVpZ2h0KFJlbmRl
clN0eWxlOjppbml0aWFsTWluU2l6ZSgpKQogICAgICwgbV9tYXhIZWlnaHQoUmVuZGVyU3R5bGU6
OmluaXRpYWxNYXhTaXplKCkpCiAgICAgLCBtX3pJbmRleCgwKQorICAgICwgbV9hc3BlY3RSYXRp
bygxKQogICAgICwgbV9oYXNBdXRvWkluZGV4KHRydWUpCisgICAgLCBtX2hhc0FzcGVjdFJhdGlv
KGZhbHNlKQogICAgICwgbV9ib3hTaXppbmcoQ09OVEVOVF9CT1gpCiB7CiB9CkBAIC00Nyw3ICs0
OSw5IEBAIFN0eWxlQm94RGF0YTo6U3R5bGVCb3hEYXRhKGNvbnN0IFN0eWxlQm94RGF0YSYgbykK
ICAgICAsIG1fbWluSGVpZ2h0KG8ubV9taW5IZWlnaHQpCiAgICAgLCBtX21heEhlaWdodChvLm1f
bWF4SGVpZ2h0KQogICAgICwgbV96SW5kZXgoby5tX3pJbmRleCkKKyAgICAsIG1fYXNwZWN0UmF0
aW8oby5tX2FzcGVjdFJhdGlvKQogICAgICwgbV9oYXNBdXRvWkluZGV4KG8ubV9oYXNBdXRvWklu
ZGV4KQorICAgICwgbV9oYXNBc3BlY3RSYXRpbyhvLm1faGFzQXNwZWN0UmF0aW8pCiAgICAgLCBt
X2JveFNpemluZyhvLm1fYm94U2l6aW5nKQogewogfQpAQCAtNjIsNiArNjYsOCBAQCBib29sIFN0
eWxlQm94RGF0YTo6b3BlcmF0b3I9PShjb25zdCBTdHlsZUJveERhdGEmIG8pIGNvbnN0CiAgICAg
ICAgICAgICYmIG1fbWF4SGVpZ2h0ID09IG8ubV9tYXhIZWlnaHQKICAgICAgICAgICAgJiYgbV96
SW5kZXggPT0gby5tX3pJbmRleAogICAgICAgICAgICAmJiBtX2hhc0F1dG9aSW5kZXggPT0gby5t
X2hhc0F1dG9aSW5kZXgKKyAgICAgICAgICAgJiYgbV9hc3BlY3RSYXRpbyA9PSBvLm1fYXNwZWN0
UmF0aW8KKyAgICAgICAgICAgJiYgbV9oYXNBc3BlY3RSYXRpbyA9PSBvLm1faGFzQXNwZWN0UmF0
aW8KICAgICAgICAgICAgJiYgbV9ib3hTaXppbmcgPT0gby5tX2JveFNpemluZzsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQm94RGF0YS5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQm94RGF0YS5oCmluZGV4IDAwYmNl
NGUyY2E3NmE4NjgxYTZmMTQxZWY3MWNmNGY2OWNiYTdmODcuLjUwZjg2N2QxNTY2YjkwYjk2NDAy
YjUzY2E5OWE5YTE5YWY2ZGMzMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9TdHlsZUJveERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVCb3hEYXRhLmgKQEAgLTU2LDYgKzU2LDkgQEAgcHVibGljOgogICAgIAogICAgIGlu
dCB6SW5kZXgoKSBjb25zdCB7IHJldHVybiBtX3pJbmRleDsgfQogICAgIGJvb2wgaGFzQXV0b1pJ
bmRleCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzQXV0b1pJbmRleDsgfQorCisgICAgZmxvYXQgYXNw
ZWN0UmF0aW8oKSBjb25zdCB7IHJldHVybiBtX2FzcGVjdFJhdGlvOyB9CisgICAgYm9vbCBoYXNB
c3BlY3RSYXRpbygpIGNvbnN0IHsgcmV0dXJuIG1faGFzQXNwZWN0UmF0aW87IH0KICAgICAKICAg
ICBFQm94U2l6aW5nIGJveFNpemluZygpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVCb3hT
aXppbmc+KG1fYm94U2l6aW5nKTsgfQogCkBAIC03Nyw3ICs4MCwxMCBAQCBwcml2YXRlOgogICAg
IExlbmd0aCBtX3ZlcnRpY2FsQWxpZ247CiAKICAgICBpbnQgbV96SW5kZXg7CisgICAgZmxvYXQg
bV9hc3BlY3RSYXRpbzsKKyAKICAgICBib29sIG1faGFzQXV0b1pJbmRleCA6IDE7CisgICAgYm9v
bCBtX2hhc0FzcGVjdFJhdGlvIDogMTsKICAgICB1bnNpZ25lZCBtX2JveFNpemluZyA6IDE7IC8v
IEVCb3hTaXppbmcKIH07CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112144</attachid>
            <date>2011-10-23 21:49:23 -0700</date>
            <delta_ts>2011-10-23 22:33:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70707-20111024004921.patch</filename>
            <type>text/plain</type>
            <size>10448</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTgyMDYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmZjZmM2NkNDJlYjJjZTNl
M2RkOTQyNWI3ZjQxZWE4NWQ0YTE1MjQxLi5kODYzYjc0M2ZkY2NmOGZkNzZlZmY2YjBmODc2ZTRh
MmQyNTk4NzMwIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTEtMTAtMjMgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NTIEFzcGVjdCBSYXRp
byBQcm9wZXJ0eSBQYXJzaW5nIFN0YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MDcwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gKE9PUFMhKQorCisgICAgICAgICogY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUpOgorICAgICAgICAqIGNz
cy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgICogY3NzL0NTU1BhcnNl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUFzcGVjdFJhdGlvKToKKyAgICAgICAgKiBjc3Mv
Q1NTUGFyc2VyLmg6CisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW46CisgICAgICAg
ICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVT
ZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6aGFzQXNwZWN0UmF0
aW8pOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnNldEhhc0FzcGVjdFJhdGlv
KToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjphc3BlY3RSYXRpbyk6CisgICAg
ICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6c2V0QXNwZWN0UmF0aW8pOgorICAgICAgICAo
V2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OmluaXRpYWxBc3BlY3RSYXRpbyk6CisgICAgICAgICog
cmVuZGVyaW5nL3N0eWxlL1N0eWxlQm94RGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHls
ZUJveERhdGE6OlN0eWxlQm94RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUJveERhdGE6
Om9wZXJhdG9yPT0pOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZUJveERhdGEuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQm94RGF0YTo6YXNwZWN0UmF0aW8pOgorICAgICAgICAo
V2ViQ29yZTo6U3R5bGVCb3hEYXRhOjpoYXNBc3BlY3RSYXRpbyk6CisKIDIwMTEtMTAtMjMgIE1h
cmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgZGVs
ZXRlUHJvcGVydHkgdG8gdGhlIE1ldGhvZFRhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IGQwODVhZWFlMmJjOTA5MmY4
Y2U5NmE3YjZlNjU5ODQ1YjAzZjEzYTUuLjA3YzE5YTNhNjI2OTQ5NjMwOGQxMzk1ZWYxZTY1Nzlm
MzFiODkyNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCkBAIC0xMTE4LDcgKzExMTgsOCBAQCBQYXNzUmVmUHRyPENTU1ZhbHVl
PiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUoaW50IHBy
b3BlcgogICAgIHN3aXRjaCAoc3RhdGljX2Nhc3Q8Q1NTUHJvcGVydHlJRD4ocHJvcGVydHlJRCkp
IHsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUludmFsaWQ6CiAgICAgICAgICAgICBicmVhazsK
LQorICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW86CisgICAgICAgICAg
ICByZXR1cm4gcHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUoc3R5bGUtPmFzcGVjdFJh
dGlvKCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5QmFja2dyb3VuZENvbG9yOgogICAgICAg
ICAgICAgcmV0dXJuIHByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZUNvbG9yVmFsdWUobV9hbGxv
d1Zpc2l0ZWRTdHlsZT8gc3R5bGUtPnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUJh
Y2tncm91bmRDb2xvcikucmdiKCkgOiBzdHlsZS0+YmFja2dyb3VuZENvbG9yKCkucmdiKCkpOwog
ICAgICAgICBjYXNlIENTU1Byb3BlcnR5QmFja2dyb3VuZEltYWdlOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggNDRjZjgwN2M2
YzYxM2FjMWJmOWIwOGU1NjJkY2FiMTRlNDU4OTFhMi4uYzRlYmI4YjA2YzEyYjYyZWU3NzM3ZTIw
MThmMzBkMzUwNWMxZDlhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFi
bGVTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTXV0YWJs
ZVN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC03ODcsNiArNzg3LDcgQEAgdm9pZCBDU1NNdXRhYmxl
U3R5bGVEZWNsYXJhdGlvbjo6YWRkU3VicmVzb3VyY2VTdHlsZVVSTHMoTGlzdEhhc2hTZXQ8S1VS
TD4mIHVybHMKIHN0YXRpYyBjb25zdCBpbnQgYmxvY2tQcm9wZXJ0aWVzW10gPSB7CiAgICAgQ1NT
UHJvcGVydHlPcnBoYW5zLAogICAgIENTU1Byb3BlcnR5T3ZlcmZsb3csIC8vIFRoaXMgY2FuIGJl
IGFsc28gYmUgYXBwbGllZCB0byByZXBsYWNlZCBlbGVtZW50cworICAgIENTU1Byb3BlcnR5V2Vi
a2l0QXNwZWN0UmF0aW8sCiAgICAgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5Db3VudCwKICAgICBD
U1NQcm9wZXJ0eVdlYmtpdENvbHVtbkdhcCwKICAgICBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtblJ1
bGVDb2xvciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggNWU3MWViMmZjZTdjOWRmMGJi
MDBlMGYwODU1Y2UxYzVmMzAxYTE5Yy4uOWU3MDI4NmE5OGU4MTk4ODAyYjI0ZTRlOWRkZTE3YWM5
NzJmZmRmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTE1MDYsNiArMTUwNiwxMSBA
QCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCkK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJS
YWRpdXM6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEFzcGVjdFJhdGlvOgorICAgICAgICBp
ZiAoaWQgPT0gQ1NTVmFsdWVOb25lKQorICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVl
OworICAgICAgICBlbHNlCisgICAgICAgICAgcmV0dXJuIHBhcnNlQXNwZWN0UmF0aW8ocHJvcElk
LCBpbXBvcnRhbnQpOwogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJSYWRpdXM6CiAg
ICAgICAgIHJldHVybiBwYXJzZUJvcmRlclJhZGl1cyhwcm9wSWQsIGltcG9ydGFudCk7CiAgICAg
Y2FzZSBDU1NQcm9wZXJ0eU91dGxpbmVPZmZzZXQ6CkBAIC01NjMwLDYgKzU2MzUsMzAgQEAgYm9v
bCBDU1NQYXJzZXI6OnBhcnNlQm9yZGVyUmFkaXVzKGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50
KQogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIENTU1BhcnNlcjo6cGFyc2VBc3BlY3RSYXRp
byhpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCkKK3sKKyAgICB1bnNpZ25lZCBudW0gPSBtX3Zh
bHVlTGlzdC0+c2l6ZSgpOworICAgIGlmIChudW0gIT0gMykKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgQ1NTUGFyc2VyVmFsdWUqIGx2YWx1ZSA9IG1fdmFsdWVMaXN0LT52YWx1ZUF0KDAp
OworICAgIENTU1BhcnNlclZhbHVlKiBvcCA9IG1fdmFsdWVMaXN0LT52YWx1ZUF0KDEpOworICAg
IENTU1BhcnNlclZhbHVlKiBydmFsdWUgPSBtX3ZhbHVlTGlzdC0+dmFsdWVBdCgyKTsKKworICAg
IGlmICghb3AtPnVuaXQgPT0gQ1NTUGFyc2VyVmFsdWU6Ok9wZXJhdG9yIHx8IG9wLT5pVmFsdWUg
IT0gJy8nKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIXZhbGlkVW5pdChsdmFs
dWUsIEZMZW5ndGgsIG1fc3RyaWN0KSB8fCAhdmFsaWRVbml0KHJ2YWx1ZSwgRkxlbmd0aCwgbV9z
dHJpY3QpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIXJ2YWx1ZS0+ZlZhbHVl
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eVdl
YmtpdEFzcGVjdFJhdGlvLCBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKGx2YWx1ZS0+ZlZhbHVl
IC8gcnZhbHVlLT5mVmFsdWUsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKSwgaW1wb3J0
YW50KTsKKworICAgIHJldHVybiB0cnVlOworfQorCiBib29sIENTU1BhcnNlcjo6cGFyc2VDb3Vu
dGVyKGludCBwcm9wSWQsIGludCBkZWZhdWx0VmFsdWUsIGJvb2wgaW1wb3J0YW50KQogewogICAg
IGVudW0geyBJRCwgVkFMIH0gc3RhdGUgPSBJRDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCBj
ODA0ZTRiNmI5YTYwZmJhODg5OWM1ZGIxYjZlYzc4OTFlNjFjODAxLi4yODFjYzljNGQ4NDYxNzhh
YjliOGMzMjZkZjUzNmRlNGU3MDc1NmMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0xNzEs
NiArMTcxLDggQEAgcHVibGljOgogICAgIGJvb2wgcGFyc2VCb3JkZXJJbWFnZU91dHNldChSZWZQ
dHI8Q1NTUHJpbWl0aXZlVmFsdWU+Jik7CiAgICAgYm9vbCBwYXJzZUJvcmRlclJhZGl1cyhpbnQg
cHJvcElkLCBib29sIGltcG9ydGFudCk7CiAKKyAgICBib29sIHBhcnNlQXNwZWN0UmF0aW8oaW50
IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOworCiAgICAgYm9vbCBwYXJzZVJlZmxlY3QoaW50IHBy
b3BJZCwgYm9vbCBpbXBvcnRhbnQpOwogCiAgICAgYm9vbCBwYXJzZUZsZXgoaW50IHByb3BJZCwg
Ym9vbCBpbXBvcnRhbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnR5TmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgppbmRl
eCBmN2ZiZTQyNTk4NTA5NjAwMTczZDAwYTIxYmQwYmEwYmUyNWExOTNiLi5lNmVkZTgzNTdiN2Q1
MWE1YzAwYzRhODBiNTcyNGM5ODc0M2VjOWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJvcGVydHlOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dHlOYW1lcy5pbgpAQCAtMTgzLDYgKzE4Myw3IEBAIHdvcmQtYnJlYWsKIHdvcmQtc3BhY2luZwog
d29yZC13cmFwCiB6LWluZGV4Cistd2Via2l0LWFzcGVjdC1yYXRpbwogLXdlYmtpdC1hbmltYXRp
b24KIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5CiAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb24K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRleCA0MDhiNzFhNjhkNjhh
M2NjYTZmYzBlODg2MTY4YTVhZjc2ZWQxY2ExLi40Mjk0NDM4YWY4ZWM4OGRhYmNlZmFlOTM2Mzc3
MTJlNDQ2ODExYzgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxl
Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCkBA
IC0yMzgwLDYgKzIzODAsOSBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHko
aW50IGlkLCBDU1NWYWx1ZSAqdmFsdWUpCiAgICAgLy8gUmVuZGVyU3R5bGUgdmFsdWVzLiAgU2hv
cnRoYW5kcyAoZS5nLiBib3JkZXIsIGJhY2tncm91bmQpIG9jY3VyIGluIHRoaXMgbGlzdCBhcyB3
ZWxsIGFuZAogICAgIC8vIGFyZSBvbmx5IGhpdCB3aGVuIG1hcHBpbmcgImluaGVyaXQiIG9yICJp
bml0aWFsIiBpbnRvIGZyb250LWVuZCB2YWx1ZXMuCiAgICAgc3dpdGNoIChwcm9wZXJ0eSkgewor
ICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRBc3BlY3RSYXRpbzoKKyAgICAgICAgSEFORExFX0lO
SEVSSVRfQU5EX0lOSVRJQUxfQU5EX1BSSU1JVElWRShhc3BlY3RSYXRpbywgQXNwZWN0UmF0aW8p
CisgICAgICAgIHJldHVybjsKIC8vIGlkZW50IG9ubHkgcHJvcGVydGllcwogICAgIGNhc2UgQ1NT
UHJvcGVydHlCb3JkZXJDb2xsYXBzZToKICAgICAgICAgSEFORExFX0lOSEVSSVRfQU5EX0lOSVRJ
QUxfQU5EX1BSSU1JVElWRShib3JkZXJDb2xsYXBzZSwgQm9yZGVyQ29sbGFwc2UpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IDM2NDRmZGYxNjRk
NDgzMTgxOGEzZDcwMzA0ODQ4NjExMmJhNGYwMTYuLjg4YmY1M2YwYWVlMmI0N2NiNDg3NmQxYTYz
N2JmMTAxNDUxYTQwZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5oCkBAIC0xMDgxLDYgKzEwODEsMTEgQEAgcHVibGljOgogICAgIGludCB6SW5kZXgo
KSBjb25zdCB7IHJldHVybiBtX2JveC0+ekluZGV4KCk7IH0KICAgICB2b2lkIHNldFpJbmRleChp
bnQgdikgeyBTRVRfVkFSKG1fYm94LCBtX2hhc0F1dG9aSW5kZXgsIGZhbHNlKTsgU0VUX1ZBUiht
X2JveCwgbV96SW5kZXgsIHYpIH0KIAorICAgIGJvb2wgaGFzQXNwZWN0UmF0aW8oKSBjb25zdCB7
IHJldHVybiBtX2JveC0+aGFzQXNwZWN0UmF0aW8oKTsgfQorICAgIHZvaWQgc2V0SGFzQXNwZWN0
UmF0aW8oYm9vbCB2KSB7IFNFVF9WQVIobV9ib3gsIG1faGFzQXNwZWN0UmF0aW8sIHYpOyBTRVRf
VkFSKG1fYm94LCBtX2FzcGVjdFJhdGlvLCAxLjBmKSB9CisgICAgZmxvYXQgYXNwZWN0UmF0aW8o
KSBjb25zdCB7IHJldHVybiBtX2JveC0+YXNwZWN0UmF0aW8oKTsgfQorICAgIHZvaWQgc2V0QXNw
ZWN0UmF0aW8oZmxvYXQgdikgeyBTRVRfVkFSKG1fYm94LCBtX2hhc0FzcGVjdFJhdGlvLCB0cnVl
KTsgU0VUX1ZBUihtX2JveCwgbV9hc3BlY3RSYXRpbywgdikgfQorCiAgICAgdm9pZCBzZXRXaWRv
d3Moc2hvcnQgdykgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCB3aWRvd3MsIHcpOyB9CiAg
ICAgdm9pZCBzZXRPcnBoYW5zKHNob3J0IG8pIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwg
b3JwaGFucywgbyk7IH0KICAgICAvLyBGb3IgdmFsaWQgdmFsdWVzIG9mIHBhZ2UtYnJlYWstaW5z
aWRlIHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9DU1MyMS9wYWdlLmh0bWwjcGFnZS1icmVhay1w
cm9wcwpAQCAtMTM0Miw2ICsxMzQ3LDcgQEAgcHVibGljOgogICAgIENvbG9yIHZpc2l0ZWREZXBl
bmRlbnRDb2xvcihpbnQgY29sb3JQcm9wZXJ0eSkgY29uc3Q7CiAKICAgICAvLyBJbml0aWFsIHZh
bHVlcyBmb3IgYWxsIHRoZSBwcm9wZXJ0aWVzCisgICAgc3RhdGljIGZsb2F0IGluaXRpYWxBc3Bl
Y3RSYXRpbygpIHsgcmV0dXJuIDEuMGY7IH0KICAgICBzdGF0aWMgRUJvcmRlckNvbGxhcHNlIGlu
aXRpYWxCb3JkZXJDb2xsYXBzZSgpIHsgcmV0dXJuIEJTRVBBUkFURTsgfQogICAgIHN0YXRpYyBF
Qm9yZGVyU3R5bGUgaW5pdGlhbEJvcmRlclN0eWxlKCkgeyByZXR1cm4gQk5PTkU7IH0KICAgICBz
dGF0aWMgT3V0bGluZUlzQXV0byBpbml0aWFsT3V0bGluZVN0eWxlSXNBdXRvKCkgeyByZXR1cm4g
QVVUT19PRkY7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZUJveERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQm94
RGF0YS5jcHAKaW5kZXggMmM1MjNkYTY5OTliNDk4YzM2ZGFjYzZkOWJkNDlmZmY0YjM5ZDdiYS4u
MDIzODRkZWFiMzczZmI4YzI0NGY0MmJjZGVhMjFkYmZmYzFjNmI3NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQm94RGF0YS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQm94RGF0YS5jcHAKQEAgLTMzLDcgKzMzLDkg
QEAgU3R5bGVCb3hEYXRhOjpTdHlsZUJveERhdGEoKQogICAgICwgbV9taW5IZWlnaHQoUmVuZGVy
U3R5bGU6OmluaXRpYWxNaW5TaXplKCkpCiAgICAgLCBtX21heEhlaWdodChSZW5kZXJTdHlsZTo6
aW5pdGlhbE1heFNpemUoKSkKICAgICAsIG1fekluZGV4KDApCisgICAgLCBtX2FzcGVjdFJhdGlv
KDEpCiAgICAgLCBtX2hhc0F1dG9aSW5kZXgodHJ1ZSkKKyAgICAsIG1faGFzQXNwZWN0UmF0aW8o
ZmFsc2UpCiAgICAgLCBtX2JveFNpemluZyhDT05URU5UX0JPWCkKIHsKIH0KQEAgLTQ3LDcgKzQ5
LDkgQEAgU3R5bGVCb3hEYXRhOjpTdHlsZUJveERhdGEoY29uc3QgU3R5bGVCb3hEYXRhJiBvKQog
ICAgICwgbV9taW5IZWlnaHQoby5tX21pbkhlaWdodCkKICAgICAsIG1fbWF4SGVpZ2h0KG8ubV9t
YXhIZWlnaHQpCiAgICAgLCBtX3pJbmRleChvLm1fekluZGV4KQorICAgICwgbV9hc3BlY3RSYXRp
byhvLm1fYXNwZWN0UmF0aW8pCiAgICAgLCBtX2hhc0F1dG9aSW5kZXgoby5tX2hhc0F1dG9aSW5k
ZXgpCisgICAgLCBtX2hhc0FzcGVjdFJhdGlvKG8ubV9oYXNBc3BlY3RSYXRpbykKICAgICAsIG1f
Ym94U2l6aW5nKG8ubV9ib3hTaXppbmcpCiB7CiB9CkBAIC02Miw2ICs2Niw4IEBAIGJvb2wgU3R5
bGVCb3hEYXRhOjpvcGVyYXRvcj09KGNvbnN0IFN0eWxlQm94RGF0YSYgbykgY29uc3QKICAgICAg
ICAgICAgJiYgbV9tYXhIZWlnaHQgPT0gby5tX21heEhlaWdodAogICAgICAgICAgICAmJiBtX3pJ
bmRleCA9PSBvLm1fekluZGV4CiAgICAgICAgICAgICYmIG1faGFzQXV0b1pJbmRleCA9PSBvLm1f
aGFzQXV0b1pJbmRleAorICAgICAgICAgICAmJiBtX2FzcGVjdFJhdGlvID09IG8ubV9hc3BlY3RS
YXRpbworICAgICAgICAgICAmJiBtX2hhc0FzcGVjdFJhdGlvID09IG8ubV9oYXNBc3BlY3RSYXRp
bwogICAgICAgICAgICAmJiBtX2JveFNpemluZyA9PSBvLm1fYm94U2l6aW5nOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVCb3hEYXRhLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVCb3hEYXRhLmgKaW5kZXggMDBiY2U0
ZTJjYTc2YTg2ODFhNmYxNDFlZjcxY2Y0ZjY5Y2JhN2Y4Ny4uNTBmODY3ZDE1NjZiOTBiOTY0MDJi
NTNjYTk5YTlhMTlhZjZkYzMyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1N0eWxlQm94RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZUJveERhdGEuaApAQCAtNTYsNiArNTYsOSBAQCBwdWJsaWM6CiAgICAgCiAgICAgaW50
IHpJbmRleCgpIGNvbnN0IHsgcmV0dXJuIG1fekluZGV4OyB9CiAgICAgYm9vbCBoYXNBdXRvWklu
ZGV4KCkgY29uc3QgeyByZXR1cm4gbV9oYXNBdXRvWkluZGV4OyB9CisKKyAgICBmbG9hdCBhc3Bl
Y3RSYXRpbygpIGNvbnN0IHsgcmV0dXJuIG1fYXNwZWN0UmF0aW87IH0KKyAgICBib29sIGhhc0Fz
cGVjdFJhdGlvKCkgY29uc3QgeyByZXR1cm4gbV9oYXNBc3BlY3RSYXRpbzsgfQogICAgIAogICAg
IEVCb3hTaXppbmcgYm94U2l6aW5nKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8RUJveFNp
emluZz4obV9ib3hTaXppbmcpOyB9CiAKQEAgLTc3LDcgKzgwLDEwIEBAIHByaXZhdGU6CiAgICAg
TGVuZ3RoIG1fdmVydGljYWxBbGlnbjsKIAogICAgIGludCBtX3pJbmRleDsKKyAgICBmbG9hdCBt
X2FzcGVjdFJhdGlvOworIAogICAgIGJvb2wgbV9oYXNBdXRvWkluZGV4IDogMTsKKyAgICBib29s
IG1faGFzQXNwZWN0UmF0aW8gOiAxOwogICAgIHVuc2lnbmVkIG1fYm94U2l6aW5nIDogMTsgLy8g
RUJveFNpemluZwogfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112148</attachid>
            <date>2011-10-23 22:33:13 -0700</date>
            <delta_ts>2011-10-29 19:07:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70707-20111024013312.patch</filename>
            <type>text/plain</type>
            <size>10383</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTgyMDYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmZjZmM2NkNDJlYjJjZTNl
M2RkOTQyNWI3ZjQxZWE4NWQ0YTE1MjQxLi43ZmZkOTcwNjU0MmIzZjQxYjRiNTljZjk3MWYyYmZj
ZTY4MTQ3Nzk4IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTEtMTAtMjMgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NTIEFzcGVjdCBSYXRp
byBQcm9wZXJ0eSBQYXJzaW5nIFN0YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MDcwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5
Q1NTVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHA6
CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUFzcGVj
dFJhdGlvKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisgICAgICAgICogY3NzL0NTU1By
b3BlcnR5TmFtZXMuaW46CisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eSk6CisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpJbmhl
cml0ZWRGbGFnczo6aGFzQXNwZWN0UmF0aW8pOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVk
RmxhZ3M6OnNldEhhc0FzcGVjdFJhdGlvKToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZs
YWdzOjphc3BlY3RSYXRpbyk6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6c2V0
QXNwZWN0UmF0aW8pOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OmluaXRpYWxB
c3BlY3RSYXRpbyk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlQm94RGF0YS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUJveERhdGE6OlN0eWxlQm94RGF0YSk6CisgICAgICAg
IChXZWJDb3JlOjpTdHlsZUJveERhdGE6Om9wZXJhdG9yPT0pOgorICAgICAgICAqIHJlbmRlcmlu
Zy9zdHlsZS9TdHlsZUJveERhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQm94RGF0YTo6
YXNwZWN0UmF0aW8pOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCb3hEYXRhOjpoYXNBc3BlY3RS
YXRpbyk6CisKIDIwMTEtMTAtMjMgIE1hcmsgSGFobmVuYmVyZyAgPG1oYWhuZW5iZXJnQGFwcGxl
LmNvbT4KIAogICAgICAgICBBZGQgZGVsZXRlUHJvcGVydHkgdG8gdGhlIE1ldGhvZFRhYmxlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
CmluZGV4IGQwODVhZWFlMmJjOTA5MmY4Y2U5NmE3YjZlNjU5ODQ1YjAzZjEzYTUuLjA3YzE5YTNh
NjI2OTQ5NjMwOGQxMzk1ZWYxZTY1NzlmMzFiODkyNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0xMTE4LDcgKzExMTgs
OCBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246Omdl
dFByb3BlcnR5Q1NTVmFsdWUoaW50IHByb3BlcgogICAgIHN3aXRjaCAoc3RhdGljX2Nhc3Q8Q1NT
UHJvcGVydHlJRD4ocHJvcGVydHlJRCkpIHsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUludmFs
aWQ6CiAgICAgICAgICAgICBicmVhazsKLQorICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0
QXNwZWN0UmF0aW86CisgICAgICAgICAgICByZXR1cm4gcHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3Jl
YXRlVmFsdWUoc3R5bGUtPmFzcGVjdFJhdGlvKCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5
QmFja2dyb3VuZENvbG9yOgogICAgICAgICAgICAgcmV0dXJuIHByaW1pdGl2ZVZhbHVlQ2FjaGUt
PmNyZWF0ZUNvbG9yVmFsdWUobV9hbGxvd1Zpc2l0ZWRTdHlsZT8gc3R5bGUtPnZpc2l0ZWREZXBl
bmRlbnRDb2xvcihDU1NQcm9wZXJ0eUJhY2tncm91bmRDb2xvcikucmdiKCkgOiBzdHlsZS0+YmFj
a2dyb3VuZENvbG9yKCkucmdiKCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5QmFja2dyb3Vu
ZEltYWdlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURl
Y2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJh
dGlvbi5jcHAKaW5kZXggNDRjZjgwN2M2YzYxM2FjMWJmOWIwOGU1NjJkY2FiMTRlNDU4OTFhMi4u
YzRlYmI4YjA2YzEyYjYyZWU3NzM3ZTIwMThmMzBkMzUwNWMxZDlhMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC03ODcsNiAr
Nzg3LDcgQEAgdm9pZCBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6YWRkU3VicmVzb3VyY2VT
dHlsZVVSTHMoTGlzdEhhc2hTZXQ8S1VSTD4mIHVybHMKIHN0YXRpYyBjb25zdCBpbnQgYmxvY2tQ
cm9wZXJ0aWVzW10gPSB7CiAgICAgQ1NTUHJvcGVydHlPcnBoYW5zLAogICAgIENTU1Byb3BlcnR5
T3ZlcmZsb3csIC8vIFRoaXMgY2FuIGJlIGFsc28gYmUgYXBwbGllZCB0byByZXBsYWNlZCBlbGVt
ZW50cworICAgIENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW8sCiAgICAgQ1NTUHJvcGVydHlX
ZWJraXRDb2x1bW5Db3VudCwKICAgICBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtbkdhcCwKICAgICBD
U1NQcm9wZXJ0eVdlYmtpdENvbHVtblJ1bGVDb2xvciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAK
aW5kZXggNWU3MWViMmZjZTdjOWRmMGJiMDBlMGYwODU1Y2UxYzVmMzAxYTE5Yy4uMDViZjQ0NTkx
MzNlYzk5YjY2ZDdkYTkwOGQ3ZThkNmJlNDNjNzMwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5j
cHAKQEAgLTE1MDYsNiArMTUwNiwxMSBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShpbnQg
cHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAg
IGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJSYWRpdXM6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtp
dEFzcGVjdFJhdGlvOgorICAgICAgICBpZiAoaWQgPT0gQ1NTVmFsdWVOb25lKQorICAgICAgICAg
ICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOworICAgICAgICBlbHNlCisgICAgICAgICAgcmV0dXJu
IHBhcnNlQXNwZWN0UmF0aW8oaW1wb3J0YW50KTsKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0
Qm9yZGVyUmFkaXVzOgogICAgICAgICByZXR1cm4gcGFyc2VCb3JkZXJSYWRpdXMocHJvcElkLCBp
bXBvcnRhbnQpOwogICAgIGNhc2UgQ1NTUHJvcGVydHlPdXRsaW5lT2Zmc2V0OgpAQCAtNTYzMCw2
ICs1NjM1LDMwIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUJvcmRlclJhZGl1cyhpbnQgcHJvcElk
LCBib29sIGltcG9ydGFudCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBDU1NQYXJzZXI6
OnBhcnNlQXNwZWN0UmF0aW8oYm9vbCBpbXBvcnRhbnQpCit7CisgICAgdW5zaWduZWQgbnVtID0g
bV92YWx1ZUxpc3QtPnNpemUoKTsKKyAgICBpZiAobnVtICE9IDMpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIENTU1BhcnNlclZhbHVlKiBsdmFsdWUgPSBtX3ZhbHVlTGlzdC0+dmFsdWVB
dCgwKTsKKyAgICBDU1NQYXJzZXJWYWx1ZSogb3AgPSBtX3ZhbHVlTGlzdC0+dmFsdWVBdCgxKTsK
KyAgICBDU1NQYXJzZXJWYWx1ZSogcnZhbHVlID0gbV92YWx1ZUxpc3QtPnZhbHVlQXQoMik7CisK
KyAgICBpZiAoIW9wLT51bml0ID09IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvciB8fCBvcC0+aVZh
bHVlICE9ICcvJykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCF2YWxpZFVuaXQo
bHZhbHVlLCBGTGVuZ3RoLCBtX3N0cmljdCkgfHwgIXZhbGlkVW5pdChydmFsdWUsIEZMZW5ndGgs
IG1fc3RyaWN0KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCFydmFsdWUtPmZW
YWx1ZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVy
dHlXZWJraXRBc3BlY3RSYXRpbywgQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShsdmFsdWUtPmZW
YWx1ZSAvIHJ2YWx1ZS0+ZlZhbHVlLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUiksIGlt
cG9ydGFudCk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogYm9vbCBDU1NQYXJzZXI6OnBhcnNl
Q291bnRlcihpbnQgcHJvcElkLCBpbnQgZGVmYXVsdFZhbHVlLCBib29sIGltcG9ydGFudCkKIHsK
ICAgICBlbnVtIHsgSUQsIFZBTCB9IHN0YXRlID0gSUQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKaW5k
ZXggYzgwNGU0YjZiOWE2MGZiYTg4OTljNWRiMWI2ZWM3ODkxZTYxYzgwMS4uNGY4Njg3NmNhMDEx
OWNhMWIzMzk0MjUxZDFlYjk4NzU4NzRlNDc2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApAQCAt
MTcxLDYgKzE3MSw4IEBAIHB1YmxpYzoKICAgICBib29sIHBhcnNlQm9yZGVySW1hZ2VPdXRzZXQo
UmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiYpOwogICAgIGJvb2wgcGFyc2VCb3JkZXJSYWRpdXMo
aW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOwogCisgICAgYm9vbCBwYXJzZUFzcGVjdFJhdGlv
KGJvb2wgaW1wb3J0YW50KTsKKwogICAgIGJvb2wgcGFyc2VSZWZsZWN0KGludCBwcm9wSWQsIGJv
b2wgaW1wb3J0YW50KTsKIAogICAgIGJvb2wgcGFyc2VGbGV4KGludCBwcm9wSWQsIGJvb2wgaW1w
b3J0YW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVz
LmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KaW5kZXggZjdmYmU0
MjU5ODUwOTYwMDE3M2QwMGEyMWJkMGJhMGJlMjVhMTkzYi4uZTZlZGU4MzU3YjdkNTFhNWMwMGM0
YTgwYjU3MjRjOTg3NDNlYzlhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
b3BlcnR5TmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMu
aW4KQEAgLTE4Myw2ICsxODMsNyBAQCB3b3JkLWJyZWFrCiB3b3JkLXNwYWNpbmcKIHdvcmQtd3Jh
cAogei1pbmRleAorLXdlYmtpdC1hc3BlY3QtcmF0aW8KIC13ZWJraXQtYW5pbWF0aW9uCiAtd2Vi
a2l0LWFuaW1hdGlvbi1kZWxheQogLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggNDA4YjcxYTY4ZDY4YTNjY2E2ZmMw
ZTg4NjE2OGE1YWY3NmVkMWNhMS4uNDI5NDQzOGFmOGVjODhkYWJjZWZhZTkzNjM3NzEyZTQ0Njgx
MWM4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtMjM4MCw2
ICsyMzgwLDkgQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KGludCBpZCwg
Q1NTVmFsdWUgKnZhbHVlKQogICAgIC8vIFJlbmRlclN0eWxlIHZhbHVlcy4gIFNob3J0aGFuZHMg
KGUuZy4gYm9yZGVyLCBiYWNrZ3JvdW5kKSBvY2N1ciBpbiB0aGlzIGxpc3QgYXMgd2VsbCBhbmQK
ICAgICAvLyBhcmUgb25seSBoaXQgd2hlbiBtYXBwaW5nICJpbmhlcml0IiBvciAiaW5pdGlhbCIg
aW50byBmcm9udC1lbmQgdmFsdWVzLgogICAgIHN3aXRjaCAocHJvcGVydHkpIHsKKyAgICBjYXNl
IENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW86CisgICAgICAgIEhBTkRMRV9JTkhFUklUX0FO
RF9JTklUSUFMX0FORF9QUklNSVRJVkUoYXNwZWN0UmF0aW8sIEFzcGVjdFJhdGlvKQorICAgICAg
ICByZXR1cm47CiAvLyBpZGVudCBvbmx5IHByb3BlcnRpZXMKICAgICBjYXNlIENTU1Byb3BlcnR5
Qm9yZGVyQ29sbGFwc2U6CiAgICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9Q
UklNSVRJVkUoYm9yZGVyQ29sbGFwc2UsIEJvcmRlckNvbGxhcHNlKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCAzNjQ0ZmRmMTY0ZDQ4MzE4MThh
M2Q3MDMwNDg0ODYxMTJiYTRmMDE2Li44OGJmNTNmMGFlZTJiNDdjYjQ4NzZkMWE2MzdiZjEwMTQ1
MWE0MGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
aApAQCAtMTA4MSw2ICsxMDgxLDExIEBAIHB1YmxpYzoKICAgICBpbnQgekluZGV4KCkgY29uc3Qg
eyByZXR1cm4gbV9ib3gtPnpJbmRleCgpOyB9CiAgICAgdm9pZCBzZXRaSW5kZXgoaW50IHYpIHsg
U0VUX1ZBUihtX2JveCwgbV9oYXNBdXRvWkluZGV4LCBmYWxzZSk7IFNFVF9WQVIobV9ib3gsIG1f
ekluZGV4LCB2KSB9CiAKKyAgICBib29sIGhhc0FzcGVjdFJhdGlvKCkgY29uc3QgeyByZXR1cm4g
bV9ib3gtPmhhc0FzcGVjdFJhdGlvKCk7IH0KKyAgICB2b2lkIHNldEhhc0FzcGVjdFJhdGlvKGJv
b2wgdikgeyBTRVRfVkFSKG1fYm94LCBtX2hhc0FzcGVjdFJhdGlvLCB2KTsgU0VUX1ZBUihtX2Jv
eCwgbV9hc3BlY3RSYXRpbywgMS4wZikgfQorICAgIGZsb2F0IGFzcGVjdFJhdGlvKCkgY29uc3Qg
eyByZXR1cm4gbV9ib3gtPmFzcGVjdFJhdGlvKCk7IH0KKyAgICB2b2lkIHNldEFzcGVjdFJhdGlv
KGZsb2F0IHYpIHsgU0VUX1ZBUihtX2JveCwgbV9oYXNBc3BlY3RSYXRpbywgdHJ1ZSk7IFNFVF9W
QVIobV9ib3gsIG1fYXNwZWN0UmF0aW8sIHYpIH0KKwogICAgIHZvaWQgc2V0V2lkb3dzKHNob3J0
IHcpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgd2lkb3dzLCB3KTsgfQogICAgIHZvaWQg
c2V0T3JwaGFucyhzaG9ydCBvKSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIG9ycGhhbnMs
IG8pOyB9CiAgICAgLy8gRm9yIHZhbGlkIHZhbHVlcyBvZiBwYWdlLWJyZWFrLWluc2lkZSBzZWUg
aHR0cDovL3d3dy53My5vcmcvVFIvQ1NTMjEvcGFnZS5odG1sI3BhZ2UtYnJlYWstcHJvcHMKQEAg
LTEzNDIsNiArMTM0Nyw3IEBAIHB1YmxpYzoKICAgICBDb2xvciB2aXNpdGVkRGVwZW5kZW50Q29s
b3IoaW50IGNvbG9yUHJvcGVydHkpIGNvbnN0OwogCiAgICAgLy8gSW5pdGlhbCB2YWx1ZXMgZm9y
IGFsbCB0aGUgcHJvcGVydGllcworICAgIHN0YXRpYyBmbG9hdCBpbml0aWFsQXNwZWN0UmF0aW8o
KSB7IHJldHVybiAxLjBmOyB9CiAgICAgc3RhdGljIEVCb3JkZXJDb2xsYXBzZSBpbml0aWFsQm9y
ZGVyQ29sbGFwc2UoKSB7IHJldHVybiBCU0VQQVJBVEU7IH0KICAgICBzdGF0aWMgRUJvcmRlclN0
eWxlIGluaXRpYWxCb3JkZXJTdHlsZSgpIHsgcmV0dXJuIEJOT05FOyB9CiAgICAgc3RhdGljIE91
dGxpbmVJc0F1dG8gaW5pdGlhbE91dGxpbmVTdHlsZUlzQXV0bygpIHsgcmV0dXJuIEFVVE9fT0ZG
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVCb3hE
YXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUJveERhdGEuY3Bw
CmluZGV4IDJjNTIzZGE2OTk5YjQ5OGMzNmRhY2M2ZDliZDQ5ZmZmNGIzOWQ3YmEuLjAyMzg0ZGVh
YjM3M2ZiOGMyNDRmNDJiY2RlYTIxZGJmZmMxYzZiNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUJveERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TdHlsZUJveERhdGEuY3BwCkBAIC0zMyw3ICszMyw5IEBAIFN0eWxl
Qm94RGF0YTo6U3R5bGVCb3hEYXRhKCkKICAgICAsIG1fbWluSGVpZ2h0KFJlbmRlclN0eWxlOjpp
bml0aWFsTWluU2l6ZSgpKQogICAgICwgbV9tYXhIZWlnaHQoUmVuZGVyU3R5bGU6OmluaXRpYWxN
YXhTaXplKCkpCiAgICAgLCBtX3pJbmRleCgwKQorICAgICwgbV9hc3BlY3RSYXRpbygxKQogICAg
ICwgbV9oYXNBdXRvWkluZGV4KHRydWUpCisgICAgLCBtX2hhc0FzcGVjdFJhdGlvKGZhbHNlKQog
ICAgICwgbV9ib3hTaXppbmcoQ09OVEVOVF9CT1gpCiB7CiB9CkBAIC00Nyw3ICs0OSw5IEBAIFN0
eWxlQm94RGF0YTo6U3R5bGVCb3hEYXRhKGNvbnN0IFN0eWxlQm94RGF0YSYgbykKICAgICAsIG1f
bWluSGVpZ2h0KG8ubV9taW5IZWlnaHQpCiAgICAgLCBtX21heEhlaWdodChvLm1fbWF4SGVpZ2h0
KQogICAgICwgbV96SW5kZXgoby5tX3pJbmRleCkKKyAgICAsIG1fYXNwZWN0UmF0aW8oby5tX2Fz
cGVjdFJhdGlvKQogICAgICwgbV9oYXNBdXRvWkluZGV4KG8ubV9oYXNBdXRvWkluZGV4KQorICAg
ICwgbV9oYXNBc3BlY3RSYXRpbyhvLm1faGFzQXNwZWN0UmF0aW8pCiAgICAgLCBtX2JveFNpemlu
ZyhvLm1fYm94U2l6aW5nKQogewogfQpAQCAtNjIsNiArNjYsOCBAQCBib29sIFN0eWxlQm94RGF0
YTo6b3BlcmF0b3I9PShjb25zdCBTdHlsZUJveERhdGEmIG8pIGNvbnN0CiAgICAgICAgICAgICYm
IG1fbWF4SGVpZ2h0ID09IG8ubV9tYXhIZWlnaHQKICAgICAgICAgICAgJiYgbV96SW5kZXggPT0g
by5tX3pJbmRleAogICAgICAgICAgICAmJiBtX2hhc0F1dG9aSW5kZXggPT0gby5tX2hhc0F1dG9a
SW5kZXgKKyAgICAgICAgICAgJiYgbV9hc3BlY3RSYXRpbyA9PSBvLm1fYXNwZWN0UmF0aW8KKyAg
ICAgICAgICAgJiYgbV9oYXNBc3BlY3RSYXRpbyA9PSBvLm1faGFzQXNwZWN0UmF0aW8KICAgICAg
ICAgICAgJiYgbV9ib3hTaXppbmcgPT0gby5tX2JveFNpemluZzsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQm94RGF0YS5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQm94RGF0YS5oCmluZGV4IDAwYmNlNGUyY2E3NmE4
NjgxYTZmMTQxZWY3MWNmNGY2OWNiYTdmODcuLjUwZjg2N2QxNTY2YjkwYjk2NDAyYjUzY2E5OWE5
YTE5YWY2ZGMzMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZUJveERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVC
b3hEYXRhLmgKQEAgLTU2LDYgKzU2LDkgQEAgcHVibGljOgogICAgIAogICAgIGludCB6SW5kZXgo
KSBjb25zdCB7IHJldHVybiBtX3pJbmRleDsgfQogICAgIGJvb2wgaGFzQXV0b1pJbmRleCgpIGNv
bnN0IHsgcmV0dXJuIG1faGFzQXV0b1pJbmRleDsgfQorCisgICAgZmxvYXQgYXNwZWN0UmF0aW8o
KSBjb25zdCB7IHJldHVybiBtX2FzcGVjdFJhdGlvOyB9CisgICAgYm9vbCBoYXNBc3BlY3RSYXRp
bygpIGNvbnN0IHsgcmV0dXJuIG1faGFzQXNwZWN0UmF0aW87IH0KICAgICAKICAgICBFQm94U2l6
aW5nIGJveFNpemluZygpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVCb3hTaXppbmc+KG1f
Ym94U2l6aW5nKTsgfQogCkBAIC03Nyw3ICs4MCwxMCBAQCBwcml2YXRlOgogICAgIExlbmd0aCBt
X3ZlcnRpY2FsQWxpZ247CiAKICAgICBpbnQgbV96SW5kZXg7CisgICAgZmxvYXQgbV9hc3BlY3RS
YXRpbzsKKyAKICAgICBib29sIG1faGFzQXV0b1pJbmRleCA6IDE7CisgICAgYm9vbCBtX2hhc0Fz
cGVjdFJhdGlvIDogMTsKICAgICB1bnNpZ25lZCBtX2JveFNpemluZyA6IDE7IC8vIEVCb3hTaXpp
bmcKIH07CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112980</attachid>
            <date>2011-10-29 19:07:56 -0700</date>
            <delta_ts>2011-10-31 12:35:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70707-20111029220754.patch</filename>
            <type>text/plain</type>
            <size>16230</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg4MTIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5ZmE3OTIyYzcyODRiYTFi
MmFkZmI4NzM5YzA5NDRjM2Q4NzliYjg5Li5hMTYzN2RiODE3NjMyNGUyMzliOTY1ODgxYzFkM2E1
MGY5MjY1ZWIyIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTEtMTAtMjkgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NTIEFzcGVjdCBSYXRp
byBQcm9wZXJ0eSBQYXJzaW5nIFN0YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MDcwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvY3NzL2FzcGVjdC1yYXRpby1wYXJzaW5nLXRlc3Rz
Lmh0bWwKKworICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0
eUNTU1ZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3Bw
OgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFy
c2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VBc3Bl
Y3RSYXRpbyk6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5oOgorICAgICAgICAqIGNzcy9DU1NQ
cm9wZXJ0eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eTo6aXNJbmhlcml0ZWRQ
cm9wZXJ0eSk6CisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW46CisgICAgICAgICog
Y3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxl
Y3Rvcjo6YXBwbHlQcm9wZXJ0eSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6aGFzQXNwZWN0UmF0aW8p
OgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnNldEhhc0FzcGVjdFJhdGlvKToK
KyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjphc3BlY3RSYXRpbyk6CisgICAgICAg
IChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6c2V0QXNwZWN0UmF0aW8pOgorICAgICAgICAqIHJl
bmRlcmluZy9zdHlsZS9TdHlsZUJveERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVC
b3hEYXRhOjpTdHlsZUJveERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCb3hEYXRhOjpv
cGVyYXRvcj09KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVCb3hEYXRhLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTdHlsZUJveERhdGE6OmFzcGVjdFJhdGlvKToKKyAgICAgICAgKFdl
YkNvcmU6OlN0eWxlQm94RGF0YTo6aGFzQXNwZWN0UmF0aW8pOgorCiAyMDExLTEwLTAzICBSb2Jl
cnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KIAogICAgICAgICBDU1MgMi4xIGZhaWx1cmU6
IGJsb2NrLW5vbi1yZXBsYWNlZC13aWR0aC0wMDguaHRtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IGJmOTU4YTAxOTkzNmQy
NmY5ZWUzZjNiYzUyYzJhZDEyY2JjZTVhOGYuLmJjNmQ3YzBkZDc5MzJjMDAzYTE2NTVjYWZlNWY0
OGMzOGNlYWM5N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0xMTIwLDcgKzExMjAsOCBAQCBQYXNzUmVmUHRyPENTU1Zh
bHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUoaW50
IHByb3BlcgogICAgIHN3aXRjaCAoc3RhdGljX2Nhc3Q8Q1NTUHJvcGVydHlJRD4ocHJvcGVydHlJ
RCkpIHsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUludmFsaWQ6CiAgICAgICAgICAgICBicmVh
azsKLQorICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW86CisgICAgICAg
ICAgICByZXR1cm4gcHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUoc3R5bGUtPmFzcGVj
dFJhdGlvKCkpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5QmFja2dyb3VuZENvbG9yOgogICAg
ICAgICAgICAgcmV0dXJuIHByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZUNvbG9yVmFsdWUobV9h
bGxvd1Zpc2l0ZWRTdHlsZT8gc3R5bGUtPnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0
eUJhY2tncm91bmRDb2xvcikucmdiKCkgOiBzdHlsZS0+YmFja2dyb3VuZENvbG9yKCkucmdiKCkp
OwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5QmFja2dyb3VuZEltYWdlOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggNDRjZjgw
N2M2YzYxM2FjMWJmOWIwOGU1NjJkY2FiMTRlNDU4OTFhMi4uYzRlYmI4YjA2YzEyYjYyZWU3NzM3
ZTIwMThmMzBkMzUwNWMxZDlhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU011
dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTXV0
YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC03ODcsNiArNzg3LDcgQEAgdm9pZCBDU1NNdXRh
YmxlU3R5bGVEZWNsYXJhdGlvbjo6YWRkU3VicmVzb3VyY2VTdHlsZVVSTHMoTGlzdEhhc2hTZXQ8
S1VSTD4mIHVybHMKIHN0YXRpYyBjb25zdCBpbnQgYmxvY2tQcm9wZXJ0aWVzW10gPSB7CiAgICAg
Q1NTUHJvcGVydHlPcnBoYW5zLAogICAgIENTU1Byb3BlcnR5T3ZlcmZsb3csIC8vIFRoaXMgY2Fu
IGJlIGFsc28gYmUgYXBwbGllZCB0byByZXBsYWNlZCBlbGVtZW50cworICAgIENTU1Byb3BlcnR5
V2Via2l0QXNwZWN0UmF0aW8sCiAgICAgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5Db3VudCwKICAg
ICBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtbkdhcCwKICAgICBDU1NQcm9wZXJ0eVdlYmtpdENvbHVt
blJ1bGVDb2xvciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggODAzMGIzMzk5MTEwOWQy
Y2FkY2E4ZDM2ZTYzZWFiZGU2ZmE1NWU5Yi4uODhiNjg0OWJmYTJhNDAxYTk5MDY2MTJlNGU5NDMy
MDM0OTkwYWM1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTE1MTAsNiArMTUxMCw4
IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRl
clJhZGl1czoKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW86CisgICAgICAg
IHJldHVybiBwYXJzZUFzcGVjdFJhdGlvKGltcG9ydGFudCk7CiAgICAgY2FzZSBDU1NQcm9wZXJ0
eVdlYmtpdEJvcmRlclJhZGl1czoKICAgICAgICAgcmV0dXJuIHBhcnNlQm9yZGVyUmFkaXVzKHBy
b3BJZCwgaW1wb3J0YW50KTsKICAgICBjYXNlIENTU1Byb3BlcnR5T3V0bGluZU9mZnNldDoKQEAg
LTU2NDksNiArNTY1MSwzNSBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VCb3JkZXJSYWRpdXMoaW50
IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgQ1NT
UGFyc2VyOjpwYXJzZUFzcGVjdFJhdGlvKGJvb2wgaW1wb3J0YW50KQoreworICAgIHVuc2lnbmVk
IG51bSA9IG1fdmFsdWVMaXN0LT5zaXplKCk7CisgICAgaWYgKG51bSA9PSAxICYmIG1fdmFsdWVM
aXN0LT52YWx1ZUF0KDApLT5pZCA9PSBDU1NWYWx1ZU5vbmUpIHsKKyAgICAgICAgYWRkUHJvcGVy
dHkoQ1NTUHJvcGVydHlXZWJraXRBc3BlY3RSYXRpbywgcHJpbWl0aXZlVmFsdWVDYWNoZSgpLT5j
cmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb25lKSwgaW1wb3J0YW50KTsKKyAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgfQorCisgICAgaWYgKG51bSAhPSAzKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBDU1NQYXJzZXJWYWx1ZSogbHZhbHVlID0gbV92YWx1ZUxpc3QtPnZhbHVl
QXQoMCk7CisgICAgQ1NTUGFyc2VyVmFsdWUqIG9wID0gbV92YWx1ZUxpc3QtPnZhbHVlQXQoMSk7
CisgICAgQ1NTUGFyc2VyVmFsdWUqIHJ2YWx1ZSA9IG1fdmFsdWVMaXN0LT52YWx1ZUF0KDIpOwor
CisgICAgaWYgKCFvcC0+dW5pdCA9PSBDU1NQYXJzZXJWYWx1ZTo6T3BlcmF0b3IgfHwgb3AtPmlW
YWx1ZSAhPSAnLycpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghdmFsaWRVbml0
KGx2YWx1ZSwgRkludGVnZXIgfCBGTm9uTmVnLCBtX3N0cmljdCkgfHwgIXZhbGlkVW5pdChydmFs
dWUsIEZJbnRlZ2VyIHwgRk5vbk5lZywgbV9zdHJpY3QpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICBpZiAoIWx2YWx1ZS0+ZlZhbHVlIHx8ICFydmFsdWUtPmZWYWx1ZSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRBc3BlY3RS
YXRpbywgcHJpbWl0aXZlVmFsdWVDYWNoZSgpLT5jcmVhdGVWYWx1ZShsdmFsdWUtPmZWYWx1ZSAv
IHJ2YWx1ZS0+ZlZhbHVlLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUiksIGltcG9ydGFu
dCk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogYm9vbCBDU1NQYXJzZXI6OnBhcnNlQ291bnRl
cihpbnQgcHJvcElkLCBpbnQgZGVmYXVsdFZhbHVlLCBib29sIGltcG9ydGFudCkKIHsKICAgICBl
bnVtIHsgSUQsIFZBTCB9IHN0YXRlID0gSUQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKaW5kZXggNzQ0
ZDNjNzVjOTVlMGNhMTk0Y2EyZTU4MDc4YjlkMmVhZjU3MjBhMi4uYjEyZThjOTIxODdmNWEwMTU0
MmFhYjliMDcyZGQwYTg4ZTc0ZDFkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApAQCAtMTcxLDYg
KzE3MSw4IEBAIHB1YmxpYzoKICAgICBib29sIHBhcnNlQm9yZGVySW1hZ2VPdXRzZXQoUmVmUHRy
PENTU1ByaW1pdGl2ZVZhbHVlPiYpOwogICAgIGJvb2wgcGFyc2VCb3JkZXJSYWRpdXMoaW50IHBy
b3BJZCwgYm9vbCBpbXBvcnRhbnQpOwogCisgICAgYm9vbCBwYXJzZUFzcGVjdFJhdGlvKGJvb2wg
aW1wb3J0YW50KTsKKwogICAgIGJvb2wgcGFyc2VSZWZsZWN0KGludCBwcm9wSWQsIGJvb2wgaW1w
b3J0YW50KTsKIAogICAgIGJvb2wgcGFyc2VGbGV4KGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCmluZGV4IDAwYjI1ZjE1Y2YzYTNmZDA5NWFk
MWRhNmQ0ZmI5ZDAzYzBlMTdjNGQuLjczYTBjOWIyNTZhNjI3ZTYyOTYyZDAwNzYzMGViYTkwYTZj
YWQ4OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcApAQCAtMzE3LDYgKzMxNyw3IEBA
IGJvb2wgQ1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkodW5zaWduZWQgcHJvcGVydHlJ
RCkKICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dFNoYWRvdzoKICAgICBjYXNlIENTU1Byb3BlcnR5
VGV4dFRyYW5zZm9ybToKICAgICBjYXNlIENTU1Byb3BlcnR5VmlzaWJpbGl0eToKKyAgICBjYXNl
IENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW86CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtp
dEJvcmRlckhvcml6b250YWxTcGFjaW5nOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCb3Jk
ZXJWZXJ0aWNhbFNwYWNpbmc6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJveERpcmVjdGlv
bjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KaW5kZXggMDRmM2RhNDM1MTVm
YzRjMmJkZmNlZWJmZGU3NWM4YjUyNzcyNGJhZC4uNDE2ODRmZWViZTJmNmRhZjBiNDdmMzRiODg1
OWFmMzcwZjExNTIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5
TmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KQEAg
LTE4Myw2ICsxODMsNyBAQCB3b3JkLWJyZWFrCiB3b3JkLXNwYWNpbmcKIHdvcmQtd3JhcAogei1p
bmRleAorLXdlYmtpdC1hc3BlY3QtcmF0aW8KIC13ZWJraXQtYW5pbWF0aW9uCiAtd2Via2l0LWFu
aW1hdGlvbi1kZWxheQogLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggZmY1YmQ1MDI3NDM1NTEyMDJlZWY1MDU1MWU1
NjM0NWEwZGVkNWQ1MS4uOWEzMzdmMDY1ODY1ZDk1OGMxODg1NmM1ZTlmZDUwN2FiNTViM2MzOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtMjUyMCw2ICsyNTIw
LDggQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KGludCBpZCwgQ1NTVmFs
dWUgKnZhbHVlKQogICAgIC8vIFJlbmRlclN0eWxlIHZhbHVlcy4gIFNob3J0aGFuZHMgKGUuZy4g
Ym9yZGVyLCBiYWNrZ3JvdW5kKSBvY2N1ciBpbiB0aGlzIGxpc3QgYXMgd2VsbCBhbmQKICAgICAv
LyBhcmUgb25seSBoaXQgd2hlbiBtYXBwaW5nICJpbmhlcml0IiBvciAiaW5pdGlhbCIgaW50byBm
cm9udC1lbmQgdmFsdWVzLgogICAgIHN3aXRjaCAocHJvcGVydHkpIHsKKyAgICBjYXNlIENTU1By
b3BlcnR5V2Via2l0QXNwZWN0UmF0aW86CisgICAgICAgIHJldHVybjsKIC8vIGlkZW50IG9ubHkg
cHJvcGVydGllcwogICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJDb2xsYXBzZToKICAgICAgICAg
SEFORExFX0lOSEVSSVRfQU5EX0lOSVRJQUxfQU5EX1BSSU1JVElWRShib3JkZXJDb2xsYXBzZSwg
Qm9yZGVyQ29sbGFwc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5oCmluZGV4IDdhOGJlZDE3ZTg5ZmRiZWJlZDEwMWE2YmZkOWM4ZTM2MGRhMjIyNDguLjYz
YTQxYzY3MGRiZGVkMWQzMDI2ODllNzE5Y2RiMjc4NzdjMzI1MDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0xMDkxLDYgKzEwOTEsMTEgQEAg
cHVibGljOgogICAgIGludCB6SW5kZXgoKSBjb25zdCB7IHJldHVybiBtX2JveC0+ekluZGV4KCk7
IH0KICAgICB2b2lkIHNldFpJbmRleChpbnQgdikgeyBTRVRfVkFSKG1fYm94LCBtX2hhc0F1dG9a
SW5kZXgsIGZhbHNlKTsgU0VUX1ZBUihtX2JveCwgbV96SW5kZXgsIHYpIH0KIAorICAgIGJvb2wg
aGFzQXNwZWN0UmF0aW8oKSBjb25zdCB7IHJldHVybiBtX2JveC0+aGFzQXNwZWN0UmF0aW8oKTsg
fQorICAgIHZvaWQgc2V0SGFzQXNwZWN0UmF0aW8oYm9vbCB2KSB7IFNFVF9WQVIobV9ib3gsIG1f
aGFzQXNwZWN0UmF0aW8sIHYpOyBTRVRfVkFSKG1fYm94LCBtX2FzcGVjdFJhdGlvLCAxLjBmKSB9
CisgICAgZmxvYXQgYXNwZWN0UmF0aW8oKSBjb25zdCB7IHJldHVybiBtX2JveC0+YXNwZWN0UmF0
aW8oKTsgfQorICAgIHZvaWQgc2V0QXNwZWN0UmF0aW8oZmxvYXQgdikgeyBTRVRfVkFSKG1fYm94
LCBtX2hhc0FzcGVjdFJhdGlvLCB0cnVlKTsgU0VUX1ZBUihtX2JveCwgbV9hc3BlY3RSYXRpbywg
dikgfQorCiAgICAgdm9pZCBzZXRXaWRvd3Moc2hvcnQgdykgeyBTRVRfVkFSKHJhcmVJbmhlcml0
ZWREYXRhLCB3aWRvd3MsIHcpOyB9CiAgICAgdm9pZCBzZXRPcnBoYW5zKHNob3J0IG8pIHsgU0VU
X1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgb3JwaGFucywgbyk7IH0KICAgICAvLyBGb3IgdmFsaWQg
dmFsdWVzIG9mIHBhZ2UtYnJlYWstaW5zaWRlIHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9DU1My
MS9wYWdlLmh0bWwjcGFnZS1icmVhay1wcm9wcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1N0eWxlQm94RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvU3R5bGVCb3hEYXRhLmNwcAppbmRleCAyYzUyM2RhNjk5OWI0OThjMzZkYWNjNmQ5
YmQ0OWZmZjRiMzlkN2JhLi4wMjM4NGRlYWIzNzNmYjhjMjQ0ZjQyYmNkZWEyMWRiZmZjMWM2Yjc3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVCb3hEYXRh
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVCb3hEYXRhLmNw
cApAQCAtMzMsNyArMzMsOSBAQCBTdHlsZUJveERhdGE6OlN0eWxlQm94RGF0YSgpCiAgICAgLCBt
X21pbkhlaWdodChSZW5kZXJTdHlsZTo6aW5pdGlhbE1pblNpemUoKSkKICAgICAsIG1fbWF4SGVp
Z2h0KFJlbmRlclN0eWxlOjppbml0aWFsTWF4U2l6ZSgpKQogICAgICwgbV96SW5kZXgoMCkKKyAg
ICAsIG1fYXNwZWN0UmF0aW8oMSkKICAgICAsIG1faGFzQXV0b1pJbmRleCh0cnVlKQorICAgICwg
bV9oYXNBc3BlY3RSYXRpbyhmYWxzZSkKICAgICAsIG1fYm94U2l6aW5nKENPTlRFTlRfQk9YKQog
ewogfQpAQCAtNDcsNyArNDksOSBAQCBTdHlsZUJveERhdGE6OlN0eWxlQm94RGF0YShjb25zdCBT
dHlsZUJveERhdGEmIG8pCiAgICAgLCBtX21pbkhlaWdodChvLm1fbWluSGVpZ2h0KQogICAgICwg
bV9tYXhIZWlnaHQoby5tX21heEhlaWdodCkKICAgICAsIG1fekluZGV4KG8ubV96SW5kZXgpCisg
ICAgLCBtX2FzcGVjdFJhdGlvKG8ubV9hc3BlY3RSYXRpbykKICAgICAsIG1faGFzQXV0b1pJbmRl
eChvLm1faGFzQXV0b1pJbmRleCkKKyAgICAsIG1faGFzQXNwZWN0UmF0aW8oby5tX2hhc0FzcGVj
dFJhdGlvKQogICAgICwgbV9ib3hTaXppbmcoby5tX2JveFNpemluZykKIHsKIH0KQEAgLTYyLDYg
KzY2LDggQEAgYm9vbCBTdHlsZUJveERhdGE6Om9wZXJhdG9yPT0oY29uc3QgU3R5bGVCb3hEYXRh
JiBvKSBjb25zdAogICAgICAgICAgICAmJiBtX21heEhlaWdodCA9PSBvLm1fbWF4SGVpZ2h0CiAg
ICAgICAgICAgICYmIG1fekluZGV4ID09IG8ubV96SW5kZXgKICAgICAgICAgICAgJiYgbV9oYXNB
dXRvWkluZGV4ID09IG8ubV9oYXNBdXRvWkluZGV4CisgICAgICAgICAgICYmIG1fYXNwZWN0UmF0
aW8gPT0gby5tX2FzcGVjdFJhdGlvCisgICAgICAgICAgICYmIG1faGFzQXNwZWN0UmF0aW8gPT0g
by5tX2hhc0FzcGVjdFJhdGlvCiAgICAgICAgICAgICYmIG1fYm94U2l6aW5nID09IG8ubV9ib3hT
aXppbmc7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZUJveERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUJveERh
dGEuaAppbmRleCAwMGJjZTRlMmNhNzZhODY4MWE2ZjE0MWVmNzFjZjRmNjljYmE3Zjg3Li5iNTMx
NmQ5NmE4MTdmNmE0ZDM3OGU2NDE1YWZmMWFjODYzYWVhOTBkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVCb3hEYXRhLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQm94RGF0YS5oCkBAIC01Niw2ICs1Niw5IEBAIHB1Ymxp
YzoKICAgICAKICAgICBpbnQgekluZGV4KCkgY29uc3QgeyByZXR1cm4gbV96SW5kZXg7IH0KICAg
ICBib29sIGhhc0F1dG9aSW5kZXgoKSBjb25zdCB7IHJldHVybiBtX2hhc0F1dG9aSW5kZXg7IH0K
KworICAgIGZsb2F0IGFzcGVjdFJhdGlvKCkgY29uc3QgeyByZXR1cm4gbV9hc3BlY3RSYXRpbzsg
fQorICAgIGJvb2wgaGFzQXNwZWN0UmF0aW8oKSBjb25zdCB7IHJldHVybiBtX2hhc0FzcGVjdFJh
dGlvOyB9CiAgICAgCiAgICAgRUJveFNpemluZyBib3hTaXppbmcoKSBjb25zdCB7IHJldHVybiBz
dGF0aWNfY2FzdDxFQm94U2l6aW5nPihtX2JveFNpemluZyk7IH0KIApAQCAtNzcsNyArODAsMTAg
QEAgcHJpdmF0ZToKICAgICBMZW5ndGggbV92ZXJ0aWNhbEFsaWduOwogCiAgICAgaW50IG1feklu
ZGV4OworICAgIGZsb2F0IG1fYXNwZWN0UmF0aW87CisKICAgICBib29sIG1faGFzQXV0b1pJbmRl
eCA6IDE7CisgICAgYm9vbCBtX2hhc0FzcGVjdFJhdGlvIDogMTsKICAgICB1bnNpZ25lZCBtX2Jv
eFNpemluZyA6IDE7IC8vIEVCb3hTaXppbmcKIH07CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxZGE1N2E4Zjg4NTM3ZjEw
NmZiMDcwY2RiM2U4ZmVhMjhmOGY3YmVmLi5lYWVmNzEyNGEyMjdhNDJmMTgzMmM2N2JiZjZjYTJl
ZmRkNDg4ODU5IDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMTAtMjkgIEZhZHkgU2FtdWVs
ICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NTIEFzcGVjdCBSYXRpbyBQcm9w
ZXJ0eSBQYXJzaW5nIFN0YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MDcwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9hc3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0
cy5odG1sOiBBZGRlZC4KKwogMjAxMS0xMC0wMyAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHdlYmtp
dC5vcmc+CiAKICAgICAgICAgQ1NTIDIuMSBmYWlsdXJlOiBibG9jay1ub24tcmVwbGFjZWQtd2lk
dGgtMDA4Lmh0bQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlv
LXBhcnNpbmctdGVzdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0
LXJhdGlvLXBhcnNpbmctdGVzdHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmOGNkMDFjOTNj
YmFhZTkwNTE0ZGU1NzA5N2Y4ZjJkMmFiYjEzOTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9hc3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0cy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwyNiBAQAorQ1NTIEFzcGVjdCBSYXRpbyBQYXJzaW5nIFRlc3QKKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIs
ICIyLzEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAiMiIKK1BBU1MgdGVzdFBhcnNpbmco
ImFzcGVjdFJhdGlvVGVzdCIsICIxLzEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAiMSIK
K1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxLzQiLCAiLXdlYmtpdC1hc3Bl
Y3QtcmF0aW8iKSBpcyAiMC4yNSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIs
ICIxIC8gMiIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICIwLjUiCitQQVNTIHRlc3RQYXJz
aW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAibm9uZSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlz
ICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEgMiIsICItd2Vi
a2l0LWFzcGVjdC1yYXRpbyIpIGlzICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0
aW9UZXN0IiwgImEvMSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICJub25lIgorUEFTUyB0
ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEvYSIsICItd2Via2l0LWFzcGVjdC1yYXRp
byIpIGlzICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgImFiYzEy
MyIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygi
YXNwZWN0UmF0aW9UZXN0IiwgIjEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIK
K1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIC8gMCIsICItd2Via2l0LWFz
cGVjdC1yYXRpbyIpIGlzICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0
IiwgIjAgLyAxIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQ
YXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiLTEgLyA4IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlv
IikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAvIC05
IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJh
c3BlY3RSYXRpb1Rlc3QiLCAiLTEgLyAtNCIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICJu
b25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEuMiAvIDIiLCAiLXdl
YmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJh
dGlvVGVzdCIsICIyIC8gMS4yIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2FzcGVjdC1yYXRpby1wYXJzaW5nLXRlc3RzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZjM5ZTVlNmJkMjg4OTBmZjI0NWI0YmU0YTI0ZmE2YWVjNGUxNDgxNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2FzcGVjdC1yYXRpby1wYXJzaW5n
LXRlc3RzLmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+CisgIDxoZWFkPgorICAgIDxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+CisgIDwvaGVhZD4KKyAgPGJvZHk+CisgICAgPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+CisgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisgICAgPGRpdiBpZD0iYXNwZWN0
UmF0aW9UZXN0Ij48L2Rpdj4KKyAgICA8c2NyaXB0PgorICAgICAgZGVzY3JpcHRpb24oJ0NTUyBB
c3BlY3QgUmF0aW8gUGFyc2luZyBUZXN0Jyk7CisgICAgICBmdW5jdGlvbiB0ZXN0UGFyc2luZyhl
bGVtZW50SWQsIGZsZXhWYWx1ZSwgc3R5bGVBdHRyaWJ1dGUpCisgICAgICB7CisgICAgICAgICAg
dmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZCk7CisgICAgICAgICAg
ZGl2LnN0eWxlW3N0eWxlQXR0cmlidXRlXSA9IGZsZXhWYWx1ZTsKKyAgICAgICAgICByZXR1cm4g
ZGl2LnN0eWxlW3N0eWxlQXR0cmlidXRlXTsKKyAgICAgIH0KKworICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjIvMSIsICItd2Via2l0
LWFzcGVjdC1yYXRpbyIpJywgJzInKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVz
dFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxLzEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8i
KScsICcxJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3Bl
Y3RSYXRpb1Rlc3QiLCAiMS80IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnMC4yNScpOwor
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0
IiwgIjEgLyAyIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnMC41Jyk7CisgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAibm9uZSIs
ICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsKKyAgICAgIAorICAgICAgLy8gVGhl
IGZvbGxvd2luZyBhcmUgaW52YWxpZCBhbmQgc2hvdWxkIGdldCBpZ25vcmVkLgorICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEgMiIs
ICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICJhLzEiLCAiLXdlYmtpdC1h
c3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rl
c3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS9hIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlv
IiknLCAnbm9uZScpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygi
YXNwZWN0UmF0aW9UZXN0IiwgImFiYzEyMyIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25v
bmUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJh
dGlvVGVzdCIsICIxIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEg
LyAwIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjAgLyAxIiwgIi13
ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIi0xIC8gOCIsICItd2Via2l0LWFz
cGVjdC1yYXRpbyIpJywgJ25vbmUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVz
dFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIC8gLTkiLCAiLXdlYmtpdC1hc3BlY3QtcmF0
aW8iKScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5n
KCJhc3BlY3RSYXRpb1Rlc3QiLCAiLTEgLyAtNCIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywg
J25vbmUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVj
dFJhdGlvVGVzdCIsICIxLjIgLyAyIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScp
OworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9U
ZXN0IiwgIjIgLyAxLjIiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAg
PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisgIDwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113072</attachid>
            <date>2011-10-31 12:33:19 -0700</date>
            <delta_ts>2011-11-01 15:40:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70707-20111031153318.patch</filename>
            <type>text/plain</type>
            <size>16429</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg4NjcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzOGRkNmQwNWFkYzg0ZjJj
YWIwOWIzYTlhM2NjMjU5MTA3MWUyMzU1Li44ODIyZjcyZTEwMThmNGExMmEzMDAyZjNiOTBmY2Rk
MWNmZWE0YTcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTEtMTAtMzEgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NTIEFzcGVjdCBSYXRp
byBQcm9wZXJ0eSBQYXJzaW5nIFN0YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MDcwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZGVkIHBhcnNpbmcgc3VwcG9ydCBmb3IgLXdlYmtpdC1hc3BlY3Qt
cmF0aW8gQ1NTIHByb3BlcnR5LgorICAgICAgICBUaGUgc3BlYyBjYW4gYmUgZm91bmQgaGVyZTog
aHR0cDovL3d3dy54YW50aGlyLmNvbS9ibG9nL2I0ODEwCisKKyAgICAgICAgVGVzdDogZmFzdC9j
c3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMuaHRtbAorCisgICAgICAgICogY3NzL0NTU0Nv
bXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRl
ZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUpOgorICAgICAgICAqIGNzcy9D
U1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUFzcGVjdFJhdGlvKToKKyAgICAgICAgKiBjc3MvQ1NT
UGFyc2VyLmg6CisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1Byb3BlcnR5Ojppc0luaGVyaXRlZFByb3BlcnR5KToKKyAgICAgICAgKiBjc3MvQ1NT
UHJvcGVydHlOYW1lcy5pbjoKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
aGVyaXRlZEZsYWdzOjpoYXNBc3BlY3RSYXRpbyk6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0
ZWRGbGFnczo6c2V0SGFzQXNwZWN0UmF0aW8pOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVk
RmxhZ3M6OmFzcGVjdFJhdGlvKToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjpz
ZXRBc3BlY3RSYXRpbyk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlQm94RGF0YS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUJveERhdGE6OlN0eWxlQm94RGF0YSk6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZUJveERhdGE6Om9wZXJhdG9yPT0pOgorICAgICAgICAqIHJlbmRl
cmluZy9zdHlsZS9TdHlsZUJveERhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQm94RGF0
YTo6YXNwZWN0UmF0aW8pOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCb3hEYXRhOjpoYXNBc3Bl
Y3RSYXRpbyk6CisKIDIwMTEtMTAtMzEgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3Jn
PgogCiAgICAgICAgIENTU1J1bGU6IERldmlydHVhbGl6ZSBpbnNlcnRlZEludG9QYXJlbnQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cAppbmRleCBiZjk1OGEwMTk5MzZkMjZmOWVlM2YzYmM1MmMyYWQxMmNiY2U1YThmLi5iYzZkN2Mw
ZGQ3OTMyYzAwM2ExNjU1Y2FmZTVmNDhjMzhjZWFjOTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMTEyMCw3ICsxMTIw
LDggQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpn
ZXRQcm9wZXJ0eUNTU1ZhbHVlKGludCBwcm9wZXIKICAgICBzd2l0Y2ggKHN0YXRpY19jYXN0PENT
U1Byb3BlcnR5SUQ+KHByb3BlcnR5SUQpKSB7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlJbnZh
bGlkOgogICAgICAgICAgICAgYnJlYWs7Ci0KKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtp
dEFzcGVjdFJhdGlvOgorICAgICAgICAgICAgcmV0dXJuIHByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNy
ZWF0ZVZhbHVlKHN0eWxlLT5hc3BlY3RSYXRpbygpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eUJhY2tncm91bmRDb2xvcjoKICAgICAgICAgICAgIHJldHVybiBwcmltaXRpdmVWYWx1ZUNhY2hl
LT5jcmVhdGVDb2xvclZhbHVlKG1fYWxsb3dWaXNpdGVkU3R5bGU/IHN0eWxlLT52aXNpdGVkRGVw
ZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ29sb3IpLnJnYigpIDogc3R5bGUtPmJh
Y2tncm91bmRDb2xvcigpLnJnYigpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUJhY2tncm91
bmRJbWFnZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVE
ZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFy
YXRpb24uY3BwCmluZGV4IDQ0Y2Y4MDdjNmM2MTNhYzFiZjliMDhlNTYyZGNhYjE0ZTQ1ODkxYTIu
LmM0ZWJiOGIwNmMxMmI2MmVlNzczN2UyMDE4ZjMwZDM1MDVjMWQ5YTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtNzg3LDYg
Kzc4Nyw3IEBAIHZvaWQgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OmFkZFN1YnJlc291cmNl
U3R5bGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiB1cmxzCiBzdGF0aWMgY29uc3QgaW50IGJsb2Nr
UHJvcGVydGllc1tdID0gewogICAgIENTU1Byb3BlcnR5T3JwaGFucywKICAgICBDU1NQcm9wZXJ0
eU92ZXJmbG93LCAvLyBUaGlzIGNhbiBiZSBhbHNvIGJlIGFwcGxpZWQgdG8gcmVwbGFjZWQgZWxl
bWVudHMKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdEFzcGVjdFJhdGlvLAogICAgIENTU1Byb3BlcnR5
V2Via2l0Q29sdW1uQ291bnQsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5HYXAsCiAgICAg
Q1NTUHJvcGVydHlXZWJraXRDb2x1bW5SdWxlQ29sb3IsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3Bw
CmluZGV4IDgwMzBiMzM5OTExMDlkMmNhZGNhOGQzNmU2M2VhYmRlNmZhNTVlOWIuLjgxM2M1ZTZj
MDg2YjBhYTM5Y2Y4ZWUzNTk3Zjc3M2VlMWVkNWJhMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
Y3BwCkBAIC0xNTEwLDYgKzE1MTAsOCBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShpbnQg
cHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAg
IGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJSYWRpdXM6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtp
dEFzcGVjdFJhdGlvOgorICAgICAgICByZXR1cm4gcGFyc2VBc3BlY3RSYXRpbyhpbXBvcnRhbnQp
OwogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJSYWRpdXM6CiAgICAgICAgIHJldHVy
biBwYXJzZUJvcmRlclJhZGl1cyhwcm9wSWQsIGltcG9ydGFudCk7CiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eU91dGxpbmVPZmZzZXQ6CkBAIC01NjQ5LDYgKzU2NTEsMzUgQEAgYm9vbCBDU1NQYXJzZXI6
OnBhcnNlQm9yZGVyUmFkaXVzKGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgIHJldHVy
biB0cnVlOwogfQogCitib29sIENTU1BhcnNlcjo6cGFyc2VBc3BlY3RSYXRpbyhib29sIGltcG9y
dGFudCkKK3sKKyAgICB1bnNpZ25lZCBudW0gPSBtX3ZhbHVlTGlzdC0+c2l6ZSgpOworICAgIGlm
IChudW0gPT0gMSAmJiBtX3ZhbHVlTGlzdC0+dmFsdWVBdCgwKS0+aWQgPT0gQ1NTVmFsdWVOb25l
KSB7CisgICAgICAgIGFkZFByb3BlcnR5KENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW8sIHBy
aW1pdGl2ZVZhbHVlQ2FjaGUoKS0+Y3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTm9uZSks
IGltcG9ydGFudCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIGlmIChudW0g
IT0gMykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgQ1NTUGFyc2VyVmFsdWUqIGx2YWx1
ZSA9IG1fdmFsdWVMaXN0LT52YWx1ZUF0KDApOworICAgIENTU1BhcnNlclZhbHVlKiBvcCA9IG1f
dmFsdWVMaXN0LT52YWx1ZUF0KDEpOworICAgIENTU1BhcnNlclZhbHVlKiBydmFsdWUgPSBtX3Zh
bHVlTGlzdC0+dmFsdWVBdCgyKTsKKworICAgIGlmICghb3AtPnVuaXQgPT0gQ1NTUGFyc2VyVmFs
dWU6Ok9wZXJhdG9yIHx8IG9wLT5pVmFsdWUgIT0gJy8nKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICBpZiAoIXZhbGlkVW5pdChsdmFsdWUsIEZOdW1iZXIgfCBGTm9uTmVnLCBtX3N0cmlj
dCkgfHwgIXZhbGlkVW5pdChydmFsdWUsIEZOdW1iZXIgfCBGTm9uTmVnLCBtX3N0cmljdCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghbHZhbHVlLT5mVmFsdWUgfHwgIXJ2YWx1
ZS0+ZlZhbHVlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBhZGRQcm9wZXJ0eShDU1NQ
cm9wZXJ0eVdlYmtpdEFzcGVjdFJhdGlvLCBwcmltaXRpdmVWYWx1ZUNhY2hlKCktPmNyZWF0ZVZh
bHVlKGx2YWx1ZS0+ZlZhbHVlIC8gcnZhbHVlLT5mVmFsdWUsIENTU1ByaW1pdGl2ZVZhbHVlOjpD
U1NfTlVNQkVSKSwgaW1wb3J0YW50KTsKKworICAgIHJldHVybiB0cnVlOworfQorCiBib29sIENT
U1BhcnNlcjo6cGFyc2VDb3VudGVyKGludCBwcm9wSWQsIGludCBkZWZhdWx0VmFsdWUsIGJvb2wg
aW1wb3J0YW50KQogewogICAgIGVudW0geyBJRCwgVkFMIH0gc3RhdGUgPSBJRDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQYXJzZXIuaAppbmRleCA3NDRkM2M3NWM5NWUwY2ExOTRjYTJlNTgwNzhiOWQyZWFmNTcyMGEy
Li5iMTJlOGM5MjE4N2Y1YTAxNTQyYWFiOWIwNzJkZDBhODhlNzRkMWQzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlci5oCkBAIC0xNzEsNiArMTcxLDggQEAgcHVibGljOgogICAgIGJvb2wgcGFyc2VCb3Jk
ZXJJbWFnZU91dHNldChSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+Jik7CiAgICAgYm9vbCBwYXJz
ZUJvcmRlclJhZGl1cyhpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCk7CiAKKyAgICBib29sIHBh
cnNlQXNwZWN0UmF0aW8oYm9vbCBpbXBvcnRhbnQpOworCiAgICAgYm9vbCBwYXJzZVJlZmxlY3Qo
aW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOwogCiAgICAgYm9vbCBwYXJzZUZsZXgoaW50IHBy
b3BJZCwgYm9vbCBpbXBvcnRhbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1Byb3BlcnR5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKaW5kZXgg
MDBiMjVmMTVjZjNhM2ZkMDk1YWQxZGE2ZDRmYjlkMDNjMGUxN2M0ZC4uNzNhMGM5YjI1NmE2Mjdl
NjI5NjJkMDA3NjMwZWJhOTBhNmNhZDg5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3Bw
CkBAIC0zMTcsNiArMzE3LDcgQEAgYm9vbCBDU1NQcm9wZXJ0eTo6aXNJbmhlcml0ZWRQcm9wZXJ0
eSh1bnNpZ25lZCBwcm9wZXJ0eUlEKQogICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0U2hhZG93Ogog
ICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0VHJhbnNmb3JtOgogICAgIGNhc2UgQ1NTUHJvcGVydHlW
aXNpYmlsaXR5OgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRBc3BlY3RSYXRpbzoKICAgICBj
YXNlIENTU1Byb3BlcnR5V2Via2l0Qm9yZGVySG9yaXpvbnRhbFNwYWNpbmc6CiAgICAgY2FzZSBD
U1NQcm9wZXJ0eVdlYmtpdEJvcmRlclZlcnRpY2FsU3BhY2luZzoKICAgICBjYXNlIENTU1Byb3Bl
cnR5V2Via2l0Qm94RGlyZWN0aW9uOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1Byb3BlcnR5TmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5p
bgppbmRleCAwNGYzZGE0MzUxNWZjNGMyYmRmY2VlYmZkZTc1YzhiNTI3NzI0YmFkLi40MTY4NGZl
ZWJlMmY2ZGFmMGI0N2YzNGI4ODU5YWYzNzBmMTE1MjMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJvcGVydHlOYW1lcy5pbgpAQCAtMTgzLDYgKzE4Myw3IEBAIHdvcmQtYnJlYWsKIHdvcmQtc3Bh
Y2luZwogd29yZC13cmFwCiB6LWluZGV4Cistd2Via2l0LWFzcGVjdC1yYXRpbwogLXdlYmtpdC1h
bmltYXRpb24KIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5CiAtd2Via2l0LWFuaW1hdGlvbi1kaXJl
Y3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRleCAxM2JlMGQ0
MGM0YzYxZmIxMzJmYzQwZGI4M2UwODhmZjkyNTg4ZjRjLi5kYmNmMDFkOTA1NDY1YTEwNzY2MmZh
ZjE5YmRiMjA0OGY2YWQ5MmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5
bGVTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3Iu
Y3BwCkBAIC0zNzcxLDYgKzM3NzEsNyBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJv
cGVydHkoaW50IGlkLCBDU1NWYWx1ZSAqdmFsdWUpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRV
bmRlcmxpbmVNb2RlOgogICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0VW5kZXJsaW5lU3R5bGU6CiAg
ICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRVbmRlcmxpbmVXaWR0aDoKKyAgICBjYXNlIENTU1Byb3Bl
cnR5V2Via2l0QXNwZWN0UmF0aW86CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEZvbnRTaXpl
RGVsdGE6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uc0luRWZmZWN0
OgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0U3Ryb2tlOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCA3YThiZWQxN2U4OWZkYmViZWQx
MDFhNmJmZDljOGUzNjBkYTIyMjQ4Li42M2E0MWM2NzBkYmRlZDFkMzAyNjg5ZTcxOWNkYjI3ODc3
YzMyNTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
aApAQCAtMTA5MSw2ICsxMDkxLDExIEBAIHB1YmxpYzoKICAgICBpbnQgekluZGV4KCkgY29uc3Qg
eyByZXR1cm4gbV9ib3gtPnpJbmRleCgpOyB9CiAgICAgdm9pZCBzZXRaSW5kZXgoaW50IHYpIHsg
U0VUX1ZBUihtX2JveCwgbV9oYXNBdXRvWkluZGV4LCBmYWxzZSk7IFNFVF9WQVIobV9ib3gsIG1f
ekluZGV4LCB2KSB9CiAKKyAgICBib29sIGhhc0FzcGVjdFJhdGlvKCkgY29uc3QgeyByZXR1cm4g
bV9ib3gtPmhhc0FzcGVjdFJhdGlvKCk7IH0KKyAgICB2b2lkIHNldEhhc0FzcGVjdFJhdGlvKGJv
b2wgdikgeyBTRVRfVkFSKG1fYm94LCBtX2hhc0FzcGVjdFJhdGlvLCB2KTsgU0VUX1ZBUihtX2Jv
eCwgbV9hc3BlY3RSYXRpbywgMS4wZikgfQorICAgIGZsb2F0IGFzcGVjdFJhdGlvKCkgY29uc3Qg
eyByZXR1cm4gbV9ib3gtPmFzcGVjdFJhdGlvKCk7IH0KKyAgICB2b2lkIHNldEFzcGVjdFJhdGlv
KGZsb2F0IHYpIHsgU0VUX1ZBUihtX2JveCwgbV9oYXNBc3BlY3RSYXRpbywgdHJ1ZSk7IFNFVF9W
QVIobV9ib3gsIG1fYXNwZWN0UmF0aW8sIHYpIH0KKwogICAgIHZvaWQgc2V0V2lkb3dzKHNob3J0
IHcpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgd2lkb3dzLCB3KTsgfQogICAgIHZvaWQg
c2V0T3JwaGFucyhzaG9ydCBvKSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIG9ycGhhbnMs
IG8pOyB9CiAgICAgLy8gRm9yIHZhbGlkIHZhbHVlcyBvZiBwYWdlLWJyZWFrLWluc2lkZSBzZWUg
aHR0cDovL3d3dy53My5vcmcvVFIvQ1NTMjEvcGFnZS5odG1sI3BhZ2UtYnJlYWstcHJvcHMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUJveERhdGEuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQm94RGF0YS5jcHAKaW5kZXgg
MmM1MjNkYTY5OTliNDk4YzM2ZGFjYzZkOWJkNDlmZmY0YjM5ZDdiYS4uMDIzODRkZWFiMzczZmI4
YzI0NGY0MmJjZGVhMjFkYmZmYzFjNmI3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlQm94RGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1N0eWxlQm94RGF0YS5jcHAKQEAgLTMzLDcgKzMzLDkgQEAgU3R5bGVCb3hEYXRh
OjpTdHlsZUJveERhdGEoKQogICAgICwgbV9taW5IZWlnaHQoUmVuZGVyU3R5bGU6OmluaXRpYWxN
aW5TaXplKCkpCiAgICAgLCBtX21heEhlaWdodChSZW5kZXJTdHlsZTo6aW5pdGlhbE1heFNpemUo
KSkKICAgICAsIG1fekluZGV4KDApCisgICAgLCBtX2FzcGVjdFJhdGlvKDEpCiAgICAgLCBtX2hh
c0F1dG9aSW5kZXgodHJ1ZSkKKyAgICAsIG1faGFzQXNwZWN0UmF0aW8oZmFsc2UpCiAgICAgLCBt
X2JveFNpemluZyhDT05URU5UX0JPWCkKIHsKIH0KQEAgLTQ3LDcgKzQ5LDkgQEAgU3R5bGVCb3hE
YXRhOjpTdHlsZUJveERhdGEoY29uc3QgU3R5bGVCb3hEYXRhJiBvKQogICAgICwgbV9taW5IZWln
aHQoby5tX21pbkhlaWdodCkKICAgICAsIG1fbWF4SGVpZ2h0KG8ubV9tYXhIZWlnaHQpCiAgICAg
LCBtX3pJbmRleChvLm1fekluZGV4KQorICAgICwgbV9hc3BlY3RSYXRpbyhvLm1fYXNwZWN0UmF0
aW8pCiAgICAgLCBtX2hhc0F1dG9aSW5kZXgoby5tX2hhc0F1dG9aSW5kZXgpCisgICAgLCBtX2hh
c0FzcGVjdFJhdGlvKG8ubV9oYXNBc3BlY3RSYXRpbykKICAgICAsIG1fYm94U2l6aW5nKG8ubV9i
b3hTaXppbmcpCiB7CiB9CkBAIC02Miw2ICs2Niw4IEBAIGJvb2wgU3R5bGVCb3hEYXRhOjpvcGVy
YXRvcj09KGNvbnN0IFN0eWxlQm94RGF0YSYgbykgY29uc3QKICAgICAgICAgICAgJiYgbV9tYXhI
ZWlnaHQgPT0gby5tX21heEhlaWdodAogICAgICAgICAgICAmJiBtX3pJbmRleCA9PSBvLm1feklu
ZGV4CiAgICAgICAgICAgICYmIG1faGFzQXV0b1pJbmRleCA9PSBvLm1faGFzQXV0b1pJbmRleAor
ICAgICAgICAgICAmJiBtX2FzcGVjdFJhdGlvID09IG8ubV9hc3BlY3RSYXRpbworICAgICAgICAg
ICAmJiBtX2hhc0FzcGVjdFJhdGlvID09IG8ubV9oYXNBc3BlY3RSYXRpbwogICAgICAgICAgICAm
JiBtX2JveFNpemluZyA9PSBvLm1fYm94U2l6aW5nOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVCb3hEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU3R5bGVCb3hEYXRhLmgKaW5kZXggMDBiY2U0ZTJjYTc2YTg2ODFhNmYx
NDFlZjcxY2Y0ZjY5Y2JhN2Y4Ny4uYjUzMTZkOTZhODE3ZjZhNGQzNzhlNjQxNWFmZjFhYzg2M2Fl
YTkwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQm94
RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUJveERhdGEu
aApAQCAtNTYsNiArNTYsOSBAQCBwdWJsaWM6CiAgICAgCiAgICAgaW50IHpJbmRleCgpIGNvbnN0
IHsgcmV0dXJuIG1fekluZGV4OyB9CiAgICAgYm9vbCBoYXNBdXRvWkluZGV4KCkgY29uc3QgeyBy
ZXR1cm4gbV9oYXNBdXRvWkluZGV4OyB9CisKKyAgICBmbG9hdCBhc3BlY3RSYXRpbygpIGNvbnN0
IHsgcmV0dXJuIG1fYXNwZWN0UmF0aW87IH0KKyAgICBib29sIGhhc0FzcGVjdFJhdGlvKCkgY29u
c3QgeyByZXR1cm4gbV9oYXNBc3BlY3RSYXRpbzsgfQogICAgIAogICAgIEVCb3hTaXppbmcgYm94
U2l6aW5nKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8RUJveFNpemluZz4obV9ib3hTaXpp
bmcpOyB9CiAKQEAgLTc3LDcgKzgwLDEwIEBAIHByaXZhdGU6CiAgICAgTGVuZ3RoIG1fdmVydGlj
YWxBbGlnbjsKIAogICAgIGludCBtX3pJbmRleDsKKyAgICBmbG9hdCBtX2FzcGVjdFJhdGlvOwor
CiAgICAgYm9vbCBtX2hhc0F1dG9aSW5kZXggOiAxOworICAgIGJvb2wgbV9oYXNBc3BlY3RSYXRp
byA6IDE7CiAgICAgdW5zaWduZWQgbV9ib3hTaXppbmcgOiAxOyAvLyBFQm94U2l6aW5nCiB9Owog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggMDNjZmEwNDhlNTZlNDkwODNlMjZhNTNlM2UyYTI1NWRmZTFlMzFjOC4uZDhkZmE2
ZDc4MDA4MTgwZDJkNmU2MzNiNjc4OWQ4ZTcxYzI5Mzc5OSAxMDA3NTUKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDExLTEwLTMxICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIENTUyBBc3BlY3QgUmF0aW8gUHJvcGVydHkgUGFyc2luZyBTdGFnZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MDcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvY3NzL2FzcGVjdC1yYXRp
by1wYXJzaW5nLXRlc3RzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3Mv
YXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMuaHRtbDogQWRkZWQuCisKIDIwMTEtMTAtMzEgIExl
YW5kcm8gUGVyZWlyYSAgPGxlYW5kcm9AcHJvZnVzaW9uLm1vYmk+CiAKICAgICAgICAgW0VGTF0g
VW5yZXZpZXdlZC4gVXBkYXRlIFNraXBwZWQgbGlzdC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL2FzcGVjdC1yYXRpby1wYXJzaW5nLXRlc3RzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvY3NzL2FzcGVjdC1yYXRpby1wYXJzaW5nLXRlc3RzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41NTJjMzQwZDVmOWUwZmI1YmM4MDcwMDUyMDA5ZWU3ZTFlMjI3YzczCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmct
dGVzdHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjcgQEAKK0NTUyBBc3BlY3QgUmF0aW8gUGFy
c2luZyBUZXN0CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHRlc3RQYXJz
aW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMi8xIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMg
IjIiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS8xIiwgIi13ZWJraXQt
YXNwZWN0LXJhdGlvIikgaXMgIjEiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3Qi
LCAiMS80IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIjAuMjUiCitQQVNTIHRlc3RQYXJz
aW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAvIDIiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBp
cyAiMC41IgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEuMiAvIDIiLCAi
LXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAiMC42IgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0
UmF0aW9UZXN0IiwgIjIgLyAwLjUiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAiNCIKK1BB
U1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICJub25lIiwgIi13ZWJraXQtYXNwZWN0
LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAi
MSAyIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5n
KCJhc3BlY3RSYXRpb1Rlc3QiLCAiYS8xIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5v
bmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS9hIiwgIi13ZWJraXQt
YXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rl
c3QiLCAiYWJjMTIzIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRl
c3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIp
IGlzICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEgLyAwIiwg
Ii13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3Bl
Y3RSYXRpb1Rlc3QiLCAiMCAvIDEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIK
K1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIwIC8gMCIsICItd2Via2l0LWFz
cGVjdC1yYXRpbyIpIGlzICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0
IiwgIi0xIC8gOCIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICJub25lIgorUEFTUyB0ZXN0
UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEgLyAtOSIsICItd2Via2l0LWFzcGVjdC1yYXRp
byIpIGlzICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIi0xIC8g
LTQiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy9hc3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0cy5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMzBj
MzNiM2JjOWY3NzI3ZGYyMzZhZTJkOTk0NmJiMTA5MDQ4ZjExCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMuaHRtbApAQCAt
MCwwICsxLDQzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9F
TiI+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+CisgICAgPHNjcmlwdCBz
cmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAg
PC9oZWFkPgorICA8Ym9keT4KKyAgICA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKyAgICA8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJhc3BlY3RSYXRpb1Rlc3QiPjwvZGl2
PgorICAgIDxzY3JpcHQ+CisgICAgICBkZXNjcmlwdGlvbignQ1NTIEFzcGVjdCBSYXRpbyBQYXJz
aW5nIFRlc3QnKTsKKyAgICAgIGZ1bmN0aW9uIHRlc3RQYXJzaW5nKGVsZW1lbnRJZCwgZmxleFZh
bHVlLCBzdHlsZUF0dHJpYnV0ZSkKKyAgICAgIHsKKyAgICAgICAgICB2YXIgZGl2ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTsKKyAgICAgICAgICBkaXYuc3R5bGVbc3R5bGVB
dHRyaWJ1dGVdID0gZmxleFZhbHVlOworICAgICAgICAgIHJldHVybiBkaXYuc3R5bGVbc3R5bGVB
dHRyaWJ1dGVdOworICAgICAgfQorCisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQ
YXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMi8xIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikn
LCAnMicpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0
UmF0aW9UZXN0IiwgIjEvMSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJzEnKTsKKyAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIx
LzQiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICcwLjI1Jyk7CisgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAvIDIiLCAiLXdl
YmtpdC1hc3BlY3QtcmF0aW8iKScsICcwLjUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxLjIgLyAyIiwgIi13ZWJraXQtYXNw
ZWN0LXJhdGlvIiknLCAnMC42Jyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQ
YXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMiAvIDAuNSIsICItd2Via2l0LWFzcGVjdC1yYXRp
byIpJywgJzQnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFz
cGVjdFJhdGlvVGVzdCIsICJub25lIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScp
OworICAgICAgCisgICAgICAvLyBUaGUgZm9sbG93aW5nIGFyZSBpbnZhbGlkIGFuZCBzaG91bGQg
Z2V0IGlnbm9yZWQuCisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJh
c3BlY3RSYXRpb1Rlc3QiLCAiMSAyIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScp
OworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9U
ZXN0IiwgImEvMSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsKKyAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxL2Ei
LCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiYWJjMTIzIiwgIi13ZWJr
aXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0
aW8iKScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5n
KCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAvIDAiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdu
b25lJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RS
YXRpb1Rlc3QiLCAiMCAvIDEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7Cisg
ICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3Qi
LCAiMCAvIDAiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiLTEgLyA4
IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEgLyAtOSIsICItd2Vi
a2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICItMSAvIC00IiwgIi13ZWJraXQtYXNw
ZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIu
Li8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorICA8L2Jv
ZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113241</attachid>
            <date>2011-11-01 15:39:09 -0700</date>
            <delta_ts>2011-11-03 17:07:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70707-20111101183908.patch</filename>
            <type>text/plain</type>
            <size>16488</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg4NjcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzOGRkNmQwNWFkYzg0ZjJj
YWIwOWIzYTlhM2NjMjU5MTA3MWUyMzU1Li5lYzliZDg3OGZiMGQ3MTk0OTQ4OTg1ZmZhMDY4ODhl
ZWFjMTBmYjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTEtMTEtMDEgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NTIEFzcGVjdCBSYXRp
byBQcm9wZXJ0eSBQYXJzaW5nIFN0YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MDcwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZGVkIHBhcnNpbmcgc3VwcG9ydCBmb3IgLXdlYmtpdC1hc3BlY3Qt
cmF0aW8gQ1NTIHByb3BlcnR5LgorICAgICAgICBUaGUgc3BlYyBjYW4gYmUgZm91bmQgaGVyZTog
aHR0cDovL3d3dy54YW50aGlyLmNvbS9ibG9nL2I0ODEwCisKKyAgICAgICAgVGVzdDogZmFzdC9j
c3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMuaHRtbAorCisgICAgICAgICogY3NzL0NTU0Nv
bXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRl
ZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUpOgorICAgICAgICAqIGNzcy9D
U1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUFzcGVjdFJhdGlvKToKKyAgICAgICAgKiBjc3MvQ1NT
UGFyc2VyLmg6CisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1Byb3BlcnR5Ojppc0luaGVyaXRlZFByb3BlcnR5KToKKyAgICAgICAgKiBjc3MvQ1NT
UHJvcGVydHlOYW1lcy5pbjoKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
aGVyaXRlZEZsYWdzOjpoYXNBc3BlY3RSYXRpbyk6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0
ZWRGbGFnczo6c2V0SGFzQXNwZWN0UmF0aW8pOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVk
RmxhZ3M6OmFzcGVjdFJhdGlvKToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjpz
ZXRBc3BlY3RSYXRpbyk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlQm94RGF0YS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUJveERhdGE6OlN0eWxlQm94RGF0YSk6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZUJveERhdGE6Om9wZXJhdG9yPT0pOgorICAgICAgICAqIHJlbmRl
cmluZy9zdHlsZS9TdHlsZUJveERhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQm94RGF0
YTo6YXNwZWN0UmF0aW8pOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCb3hEYXRhOjpoYXNBc3Bl
Y3RSYXRpbyk6CisKIDIwMTEtMTAtMzEgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3Jn
PgogCiAgICAgICAgIENTU1J1bGU6IERldmlydHVhbGl6ZSBpbnNlcnRlZEludG9QYXJlbnQoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cAppbmRleCBiZjk1OGEwMTk5MzZkMjZmOWVlM2YzYmM1MmMyYWQxMmNiY2U1YThmLi5iYzZkN2Mw
ZGQ3OTMyYzAwM2ExNjU1Y2FmZTVmNDhjMzhjZWFjOTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMTEyMCw3ICsxMTIw
LDggQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpn
ZXRQcm9wZXJ0eUNTU1ZhbHVlKGludCBwcm9wZXIKICAgICBzd2l0Y2ggKHN0YXRpY19jYXN0PENT
U1Byb3BlcnR5SUQ+KHByb3BlcnR5SUQpKSB7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlJbnZh
bGlkOgogICAgICAgICAgICAgYnJlYWs7Ci0KKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtp
dEFzcGVjdFJhdGlvOgorICAgICAgICAgICAgcmV0dXJuIHByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNy
ZWF0ZVZhbHVlKHN0eWxlLT5hc3BlY3RSYXRpbygpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eUJhY2tncm91bmRDb2xvcjoKICAgICAgICAgICAgIHJldHVybiBwcmltaXRpdmVWYWx1ZUNhY2hl
LT5jcmVhdGVDb2xvclZhbHVlKG1fYWxsb3dWaXNpdGVkU3R5bGU/IHN0eWxlLT52aXNpdGVkRGVw
ZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ29sb3IpLnJnYigpIDogc3R5bGUtPmJh
Y2tncm91bmRDb2xvcigpLnJnYigpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUJhY2tncm91
bmRJbWFnZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVE
ZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFy
YXRpb24uY3BwCmluZGV4IDQ0Y2Y4MDdjNmM2MTNhYzFiZjliMDhlNTYyZGNhYjE0ZTQ1ODkxYTIu
LmM0ZWJiOGIwNmMxMmI2MmVlNzczN2UyMDE4ZjMwZDM1MDVjMWQ5YTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtNzg3LDYg
Kzc4Nyw3IEBAIHZvaWQgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OmFkZFN1YnJlc291cmNl
U3R5bGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiB1cmxzCiBzdGF0aWMgY29uc3QgaW50IGJsb2Nr
UHJvcGVydGllc1tdID0gewogICAgIENTU1Byb3BlcnR5T3JwaGFucywKICAgICBDU1NQcm9wZXJ0
eU92ZXJmbG93LCAvLyBUaGlzIGNhbiBiZSBhbHNvIGJlIGFwcGxpZWQgdG8gcmVwbGFjZWQgZWxl
bWVudHMKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdEFzcGVjdFJhdGlvLAogICAgIENTU1Byb3BlcnR5
V2Via2l0Q29sdW1uQ291bnQsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5HYXAsCiAgICAg
Q1NTUHJvcGVydHlXZWJraXRDb2x1bW5SdWxlQ29sb3IsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3Bw
CmluZGV4IDgwMzBiMzM5OTExMDlkMmNhZGNhOGQzNmU2M2VhYmRlNmZhNTVlOWIuLjgxM2M1ZTZj
MDg2YjBhYTM5Y2Y4ZWUzNTk3Zjc3M2VlMWVkNWJhMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
Y3BwCkBAIC0xNTEwLDYgKzE1MTAsOCBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShpbnQg
cHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAg
IGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJSYWRpdXM6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtp
dEFzcGVjdFJhdGlvOgorICAgICAgICByZXR1cm4gcGFyc2VBc3BlY3RSYXRpbyhpbXBvcnRhbnQp
OwogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJSYWRpdXM6CiAgICAgICAgIHJldHVy
biBwYXJzZUJvcmRlclJhZGl1cyhwcm9wSWQsIGltcG9ydGFudCk7CiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eU91dGxpbmVPZmZzZXQ6CkBAIC01NjQ5LDYgKzU2NTEsMzUgQEAgYm9vbCBDU1NQYXJzZXI6
OnBhcnNlQm9yZGVyUmFkaXVzKGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgIHJldHVy
biB0cnVlOwogfQogCitib29sIENTU1BhcnNlcjo6cGFyc2VBc3BlY3RSYXRpbyhib29sIGltcG9y
dGFudCkKK3sKKyAgICB1bnNpZ25lZCBudW0gPSBtX3ZhbHVlTGlzdC0+c2l6ZSgpOworICAgIGlm
IChudW0gPT0gMSAmJiBtX3ZhbHVlTGlzdC0+dmFsdWVBdCgwKS0+aWQgPT0gQ1NTVmFsdWVOb25l
KSB7CisgICAgICAgIGFkZFByb3BlcnR5KENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW8sIHBy
aW1pdGl2ZVZhbHVlQ2FjaGUoKS0+Y3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTm9uZSks
IGltcG9ydGFudCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIGlmIChudW0g
IT0gMykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgQ1NTUGFyc2VyVmFsdWUqIGx2YWx1
ZSA9IG1fdmFsdWVMaXN0LT52YWx1ZUF0KDApOworICAgIENTU1BhcnNlclZhbHVlKiBvcCA9IG1f
dmFsdWVMaXN0LT52YWx1ZUF0KDEpOworICAgIENTU1BhcnNlclZhbHVlKiBydmFsdWUgPSBtX3Zh
bHVlTGlzdC0+dmFsdWVBdCgyKTsKKworICAgIGlmICghb3AtPnVuaXQgPT0gQ1NTUGFyc2VyVmFs
dWU6Ok9wZXJhdG9yIHx8IG9wLT5pVmFsdWUgIT0gJy8nKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICBpZiAoIXZhbGlkVW5pdChsdmFsdWUsIEZOdW1iZXIgfCBGTm9uTmVnLCBtX3N0cmlj
dCkgfHwgIXZhbGlkVW5pdChydmFsdWUsIEZOdW1iZXIgfCBGTm9uTmVnLCBtX3N0cmljdCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghbHZhbHVlLT5mVmFsdWUgfHwgIXJ2YWx1
ZS0+ZlZhbHVlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBhZGRQcm9wZXJ0eShDU1NQ
cm9wZXJ0eVdlYmtpdEFzcGVjdFJhdGlvLCBwcmltaXRpdmVWYWx1ZUNhY2hlKCktPmNyZWF0ZVZh
bHVlKGx2YWx1ZS0+ZlZhbHVlIC8gcnZhbHVlLT5mVmFsdWUsIENTU1ByaW1pdGl2ZVZhbHVlOjpD
U1NfTlVNQkVSKSwgaW1wb3J0YW50KTsKKworICAgIHJldHVybiB0cnVlOworfQorCiBib29sIENT
U1BhcnNlcjo6cGFyc2VDb3VudGVyKGludCBwcm9wSWQsIGludCBkZWZhdWx0VmFsdWUsIGJvb2wg
aW1wb3J0YW50KQogewogICAgIGVudW0geyBJRCwgVkFMIH0gc3RhdGUgPSBJRDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQYXJzZXIuaAppbmRleCA3NDRkM2M3NWM5NWUwY2ExOTRjYTJlNTgwNzhiOWQyZWFmNTcyMGEy
Li5iMTJlOGM5MjE4N2Y1YTAxNTQyYWFiOWIwNzJkZDBhODhlNzRkMWQzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlci5oCkBAIC0xNzEsNiArMTcxLDggQEAgcHVibGljOgogICAgIGJvb2wgcGFyc2VCb3Jk
ZXJJbWFnZU91dHNldChSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+Jik7CiAgICAgYm9vbCBwYXJz
ZUJvcmRlclJhZGl1cyhpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCk7CiAKKyAgICBib29sIHBh
cnNlQXNwZWN0UmF0aW8oYm9vbCBpbXBvcnRhbnQpOworCiAgICAgYm9vbCBwYXJzZVJlZmxlY3Qo
aW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOwogCiAgICAgYm9vbCBwYXJzZUZsZXgoaW50IHBy
b3BJZCwgYm9vbCBpbXBvcnRhbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1Byb3BlcnR5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKaW5kZXgg
MDBiMjVmMTVjZjNhM2ZkMDk1YWQxZGE2ZDRmYjlkMDNjMGUxN2M0ZC4uNzNhMGM5YjI1NmE2Mjdl
NjI5NjJkMDA3NjMwZWJhOTBhNmNhZDg5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3Bw
CkBAIC0zMTcsNiArMzE3LDcgQEAgYm9vbCBDU1NQcm9wZXJ0eTo6aXNJbmhlcml0ZWRQcm9wZXJ0
eSh1bnNpZ25lZCBwcm9wZXJ0eUlEKQogICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0U2hhZG93Ogog
ICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0VHJhbnNmb3JtOgogICAgIGNhc2UgQ1NTUHJvcGVydHlW
aXNpYmlsaXR5OgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRBc3BlY3RSYXRpbzoKICAgICBj
YXNlIENTU1Byb3BlcnR5V2Via2l0Qm9yZGVySG9yaXpvbnRhbFNwYWNpbmc6CiAgICAgY2FzZSBD
U1NQcm9wZXJ0eVdlYmtpdEJvcmRlclZlcnRpY2FsU3BhY2luZzoKICAgICBjYXNlIENTU1Byb3Bl
cnR5V2Via2l0Qm94RGlyZWN0aW9uOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1Byb3BlcnR5TmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5p
bgppbmRleCAwNGYzZGE0MzUxNWZjNGMyYmRmY2VlYmZkZTc1YzhiNTI3NzI0YmFkLi43ZTE1YjA5
NGY4ZDYxZDhkYjIyODA4NTcwNzMxODUzNDI2MGRkZWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJvcGVydHlOYW1lcy5pbgpAQCAtMTkzLDYgKzE5Myw3IEBAIHotaW5kZXgKIC13ZWJraXQtYW5p
bWF0aW9uLXBsYXktc3RhdGUKIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbgogLXdl
YmtpdC1hcHBlYXJhbmNlCistd2Via2l0LWFzcGVjdC1yYXRpbwogLXdlYmtpdC1iYWNrZmFjZS12
aXNpYmlsaXR5CiAtd2Via2l0LWJhY2tncm91bmQtY2xpcAogLXdlYmtpdC1iYWNrZ3JvdW5kLWNv
bXBvc2l0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCmluZGV4IDEzYmUw
ZDQwYzRjNjFmYjEzMmZjNDBkYjgzZTA4OGZmOTI1ODhmNGMuLmRiY2YwMWQ5MDU0NjVhMTA3NjYy
ZmFmMTliZGIyMDQ4ZjZhZDkyZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NT
dHlsZVNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rv
ci5jcHAKQEAgLTM3NzEsNiArMzc3MSw3IEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQ
cm9wZXJ0eShpbnQgaWQsIENTU1ZhbHVlICp2YWx1ZSkKICAgICBjYXNlIENTU1Byb3BlcnR5VGV4
dFVuZGVybGluZU1vZGU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRVbmRlcmxpbmVTdHlsZToK
ICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dFVuZGVybGluZVdpZHRoOgorICAgIGNhc2UgQ1NTUHJv
cGVydHlXZWJraXRBc3BlY3RSYXRpbzoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Rm9udFNp
emVEZWx0YToKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25zSW5FZmZl
Y3Q6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRTdHJva2U6CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IDdhOGJlZDE3ZTg5ZmRiZWJl
ZDEwMWE2YmZkOWM4ZTM2MGRhMjIyNDguLjYzYTQxYzY3MGRiZGVkMWQzMDI2ODllNzE5Y2RiMjc4
NzdjMzI1MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oCkBAIC0xMDkxLDYgKzEwOTEsMTEgQEAgcHVibGljOgogICAgIGludCB6SW5kZXgoKSBjb25z
dCB7IHJldHVybiBtX2JveC0+ekluZGV4KCk7IH0KICAgICB2b2lkIHNldFpJbmRleChpbnQgdikg
eyBTRVRfVkFSKG1fYm94LCBtX2hhc0F1dG9aSW5kZXgsIGZhbHNlKTsgU0VUX1ZBUihtX2JveCwg
bV96SW5kZXgsIHYpIH0KIAorICAgIGJvb2wgaGFzQXNwZWN0UmF0aW8oKSBjb25zdCB7IHJldHVy
biBtX2JveC0+aGFzQXNwZWN0UmF0aW8oKTsgfQorICAgIHZvaWQgc2V0SGFzQXNwZWN0UmF0aW8o
Ym9vbCB2KSB7IFNFVF9WQVIobV9ib3gsIG1faGFzQXNwZWN0UmF0aW8sIHYpOyBTRVRfVkFSKG1f
Ym94LCBtX2FzcGVjdFJhdGlvLCAxLjBmKSB9CisgICAgZmxvYXQgYXNwZWN0UmF0aW8oKSBjb25z
dCB7IHJldHVybiBtX2JveC0+YXNwZWN0UmF0aW8oKTsgfQorICAgIHZvaWQgc2V0QXNwZWN0UmF0
aW8oZmxvYXQgdikgeyBTRVRfVkFSKG1fYm94LCBtX2hhc0FzcGVjdFJhdGlvLCB0cnVlKTsgU0VU
X1ZBUihtX2JveCwgbV9hc3BlY3RSYXRpbywgdikgfQorCiAgICAgdm9pZCBzZXRXaWRvd3Moc2hv
cnQgdykgeyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCB3aWRvd3MsIHcpOyB9CiAgICAgdm9p
ZCBzZXRPcnBoYW5zKHNob3J0IG8pIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgb3JwaGFu
cywgbyk7IH0KICAgICAvLyBGb3IgdmFsaWQgdmFsdWVzIG9mIHBhZ2UtYnJlYWstaW5zaWRlIHNl
ZSBodHRwOi8vd3d3LnczLm9yZy9UUi9DU1MyMS9wYWdlLmh0bWwjcGFnZS1icmVhay1wcm9wcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQm94RGF0YS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVCb3hEYXRhLmNwcAppbmRl
eCAyYzUyM2RhNjk5OWI0OThjMzZkYWNjNmQ5YmQ0OWZmZjRiMzlkN2JhLi4wMjM4NGRlYWIzNzNm
YjhjMjQ0ZjQyYmNkZWEyMWRiZmZjMWM2Yjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU3R5bGVCb3hEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVCb3hEYXRhLmNwcApAQCAtMzMsNyArMzMsOSBAQCBTdHlsZUJveERh
dGE6OlN0eWxlQm94RGF0YSgpCiAgICAgLCBtX21pbkhlaWdodChSZW5kZXJTdHlsZTo6aW5pdGlh
bE1pblNpemUoKSkKICAgICAsIG1fbWF4SGVpZ2h0KFJlbmRlclN0eWxlOjppbml0aWFsTWF4U2l6
ZSgpKQogICAgICwgbV96SW5kZXgoMCkKKyAgICAsIG1fYXNwZWN0UmF0aW8oMSkKICAgICAsIG1f
aGFzQXV0b1pJbmRleCh0cnVlKQorICAgICwgbV9oYXNBc3BlY3RSYXRpbyhmYWxzZSkKICAgICAs
IG1fYm94U2l6aW5nKENPTlRFTlRfQk9YKQogewogfQpAQCAtNDcsNyArNDksOSBAQCBTdHlsZUJv
eERhdGE6OlN0eWxlQm94RGF0YShjb25zdCBTdHlsZUJveERhdGEmIG8pCiAgICAgLCBtX21pbkhl
aWdodChvLm1fbWluSGVpZ2h0KQogICAgICwgbV9tYXhIZWlnaHQoby5tX21heEhlaWdodCkKICAg
ICAsIG1fekluZGV4KG8ubV96SW5kZXgpCisgICAgLCBtX2FzcGVjdFJhdGlvKG8ubV9hc3BlY3RS
YXRpbykKICAgICAsIG1faGFzQXV0b1pJbmRleChvLm1faGFzQXV0b1pJbmRleCkKKyAgICAsIG1f
aGFzQXNwZWN0UmF0aW8oby5tX2hhc0FzcGVjdFJhdGlvKQogICAgICwgbV9ib3hTaXppbmcoby5t
X2JveFNpemluZykKIHsKIH0KQEAgLTYyLDYgKzY2LDggQEAgYm9vbCBTdHlsZUJveERhdGE6Om9w
ZXJhdG9yPT0oY29uc3QgU3R5bGVCb3hEYXRhJiBvKSBjb25zdAogICAgICAgICAgICAmJiBtX21h
eEhlaWdodCA9PSBvLm1fbWF4SGVpZ2h0CiAgICAgICAgICAgICYmIG1fekluZGV4ID09IG8ubV96
SW5kZXgKICAgICAgICAgICAgJiYgbV9oYXNBdXRvWkluZGV4ID09IG8ubV9oYXNBdXRvWkluZGV4
CisgICAgICAgICAgICYmIG1fYXNwZWN0UmF0aW8gPT0gby5tX2FzcGVjdFJhdGlvCisgICAgICAg
ICAgICYmIG1faGFzQXNwZWN0UmF0aW8gPT0gby5tX2hhc0FzcGVjdFJhdGlvCiAgICAgICAgICAg
ICYmIG1fYm94U2l6aW5nID09IG8ubV9ib3hTaXppbmc7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUJveERhdGEuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TdHlsZUJveERhdGEuaAppbmRleCAwMGJjZTRlMmNhNzZhODY4MWE2
ZjE0MWVmNzFjZjRmNjljYmE3Zjg3Li5iNTMxNmQ5NmE4MTdmNmE0ZDM3OGU2NDE1YWZmMWFjODYz
YWVhOTBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVC
b3hEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlQm94RGF0
YS5oCkBAIC01Niw2ICs1Niw5IEBAIHB1YmxpYzoKICAgICAKICAgICBpbnQgekluZGV4KCkgY29u
c3QgeyByZXR1cm4gbV96SW5kZXg7IH0KICAgICBib29sIGhhc0F1dG9aSW5kZXgoKSBjb25zdCB7
IHJldHVybiBtX2hhc0F1dG9aSW5kZXg7IH0KKworICAgIGZsb2F0IGFzcGVjdFJhdGlvKCkgY29u
c3QgeyByZXR1cm4gbV9hc3BlY3RSYXRpbzsgfQorICAgIGJvb2wgaGFzQXNwZWN0UmF0aW8oKSBj
b25zdCB7IHJldHVybiBtX2hhc0FzcGVjdFJhdGlvOyB9CiAgICAgCiAgICAgRUJveFNpemluZyBi
b3hTaXppbmcoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxFQm94U2l6aW5nPihtX2JveFNp
emluZyk7IH0KIApAQCAtNzcsNyArODAsMTAgQEAgcHJpdmF0ZToKICAgICBMZW5ndGggbV92ZXJ0
aWNhbEFsaWduOwogCiAgICAgaW50IG1fekluZGV4OworICAgIGZsb2F0IG1fYXNwZWN0UmF0aW87
CisKICAgICBib29sIG1faGFzQXV0b1pJbmRleCA6IDE7CisgICAgYm9vbCBtX2hhc0FzcGVjdFJh
dGlvIDogMTsKICAgICB1bnNpZ25lZCBtX2JveFNpemluZyA6IDE7IC8vIEVCb3hTaXppbmcKIH07
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCAwM2NmYTA0OGU1NmU0OTA4M2UyNmE1M2UzZTJhMjU1ZGZlMWUzMWM4Li5hMDQy
Zjg0YjUxYjQwNDU0YzU2ZTk2NmQzY2Q5NGRmMDYwYjM2YTQ1IDEwMDc1NQotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTEtMTEtMDEgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgQ1NTIEFzcGVjdCBSYXRpbyBQcm9wZXJ0eSBQYXJzaW5nIFN0YWdlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcwNworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9jc3MvYXNwZWN0LXJh
dGlvLXBhcnNpbmctdGVzdHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nz
cy9hc3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0cy5odG1sOiBBZGRlZC4KKwogMjAxMS0xMC0zMSAg
TGVhbmRybyBQZXJlaXJhICA8bGVhbmRyb0Bwcm9mdXNpb24ubW9iaT4KIAogICAgICAgICBbRUZM
XSBVbnJldmlld2VkLiBVcGRhdGUgU2tpcHBlZCBsaXN0LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU1MmMzNDBkNWY5ZTBmYjViYzgwNzAwNTIwMDllZTdlMWUyMjdjNzMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9hc3BlY3QtcmF0aW8tcGFyc2lu
Zy10ZXN0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNyBAQAorQ1NTIEFzcGVjdCBSYXRpbyBQ
YXJzaW5nIFRlc3QKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdGVzdFBh
cnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIyLzEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBp
cyAiMiIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxLzEiLCAiLXdlYmtp
dC1hc3BlY3QtcmF0aW8iKSBpcyAiMSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVz
dCIsICIxLzQiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAiMC4yNSIKK1BBU1MgdGVzdFBh
cnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIC8gMiIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIp
IGlzICIwLjUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS4yIC8gMiIs
ICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICIwLjYiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3Bl
Y3RSYXRpb1Rlc3QiLCAiMiAvIDAuNSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICI0Igor
UEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIm5vbmUiLCAiLXdlYmtpdC1hc3Bl
Y3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIs
ICIxIDIiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1MgdGVzdFBhcnNp
bmcoImFzcGVjdFJhdGlvVGVzdCIsICJhLzEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAi
bm9uZSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxL2EiLCAiLXdlYmtp
dC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlv
VGVzdCIsICJhYmMxMjMiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1Mg
dGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlv
IikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAvIDAi
LCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1MgdGVzdFBhcnNpbmcoImFz
cGVjdFJhdGlvVGVzdCIsICIwIC8gMSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICJub25l
IgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjAgLyAwIiwgIi13ZWJraXQt
YXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rl
c3QiLCAiLTEgLyA4IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRl
c3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAvIC05IiwgIi13ZWJraXQtYXNwZWN0LXJh
dGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiLTEg
LyAtNCIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICJub25lIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY3NzL2FzcGVjdC1yYXRpby1wYXJzaW5nLXRlc3RzLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy9hc3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0cy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEz
MGMzM2IzYmM5Zjc3MjdkZjIzNmFlMmQ5OTQ2YmIxMDkwNDhmMTEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9hc3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0cy5odG1sCkBA
IC0wLDAgKzEsNDMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKyAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
ICA8L2hlYWQ+CisgIDxib2R5PgorICAgIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDxkaXYgaWQ9ImFzcGVjdFJhdGlvVGVzdCI+PC9k
aXY+CisgICAgPHNjcmlwdD4KKyAgICAgIGRlc2NyaXB0aW9uKCdDU1MgQXNwZWN0IFJhdGlvIFBh
cnNpbmcgVGVzdCcpOworICAgICAgZnVuY3Rpb24gdGVzdFBhcnNpbmcoZWxlbWVudElkLCBmbGV4
VmFsdWUsIHN0eWxlQXR0cmlidXRlKQorICAgICAgeworICAgICAgICAgIHZhciBkaXYgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpOworICAgICAgICAgIGRpdi5zdHlsZVtzdHls
ZUF0dHJpYnV0ZV0gPSBmbGV4VmFsdWU7CisgICAgICAgICAgcmV0dXJuIGRpdi5zdHlsZVtzdHls
ZUF0dHJpYnV0ZV07CisgICAgICB9CisKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVz
dFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIyLzEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8i
KScsICcyJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3Bl
Y3RSYXRpb1Rlc3QiLCAiMS8xIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnMScpOworICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0Iiwg
IjEvNCIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJzAuMjUnKTsKKyAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIC8gMiIsICIt
d2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJzAuNScpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEuMiAvIDIiLCAiLXdlYmtpdC1h
c3BlY3QtcmF0aW8iKScsICcwLjYnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVz
dFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIyIC8gMC41IiwgIi13ZWJraXQtYXNwZWN0LXJh
dGlvIiknLCAnNCcpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygi
YXNwZWN0UmF0aW9UZXN0IiwgIm5vbmUiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25l
Jyk7CisgICAgICAKKyAgICAgIC8vIFRoZSBmb2xsb3dpbmcgYXJlIGludmFsaWQgYW5kIHNob3Vs
ZCBnZXQgaWdub3JlZC4KKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmco
ImFzcGVjdFJhdGlvVGVzdCIsICIxIDIiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25l
Jyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRp
b1Rlc3QiLCAiYS8xIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEv
YSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsKKyAgICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICJhYmMxMjMiLCAiLXdl
YmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSIsICItd2Via2l0LWFzcGVjdC1y
YXRpbyIpJywgJ25vbmUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNp
bmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIC8gMCIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywg
J25vbmUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVj
dFJhdGlvVGVzdCIsICIwIC8gMSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsK
KyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVz
dCIsICIwIC8gMCIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsKKyAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICItMSAv
IDgiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAvIC05IiwgIi13
ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIi0xIC8gLTQiLCAiLXdlYmtpdC1h
c3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisgIDwv
Ym9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113585</attachid>
            <date>2011-11-03 17:07:41 -0700</date>
            <delta_ts>2011-11-03 19:32:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70707-20111103200739.patch</filename>
            <type>text/plain</type>
            <size>20677</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkyMzcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjODcyNTBiMDQ4NTE4NGI0
NjNkYmU2YjMzODUxN2MzMmIzOTY4MWQ4Li4yOWQ5NmM4YWFhN2YzOTA2N2M0ZGNhZTE5YjdjY2Rk
ZDkxZGQ1ZTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTEtMTEtMDMgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NTIEFzcGVjdCBSYXRp
byBQcm9wZXJ0eSBQYXJzaW5nIFN0YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MDcwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZGVkIHBhcnNpbmcgc3VwcG9ydCBmb3IgLXdlYmtpdC1hc3BlY3Qt
cmF0aW8gQ1NTIHByb3BlcnR5LgorICAgICAgICBUaGUgc3BlYyBjYW4gYmUgZm91bmQgaGVyZTog
aHR0cDovL3d3dy54YW50aGlyLmNvbS9ibG9nL2I0ODEwCisKKyAgICAgICAgVGVzdDogZmFzdC9j
c3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0
cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBXZWJDb3Jl
Lmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogY3NzL0NTU0FzcGVjdFJh
dGlvVmFsdWUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJhdGlvVmFs
dWU6On5DU1NBc3BlY3RSYXRpb1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJh
dGlvVmFsdWU6OmNzc1RleHQpOgorICAgICAgICAqIGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTQXNwZWN0UmF0aW9WYWx1ZTo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJhdGlvVmFsdWU6Om51bWVyYXRvclZhbHVlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJhdGlvVmFsdWU6OmRlbm9taW5hdG9yVmFsdWUp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQXNwZWN0UmF0aW9WYWx1ZTo6Q1NTQXNwZWN0UmF0aW9W
YWx1ZSk6CisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5
Q1NTVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHA6
CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUFzcGVj
dFJhdGlvKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisgICAgICAgICogY3NzL0NTU1By
b3BlcnR5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5Ojppc0luaGVyaXRlZFBy
b3BlcnR5KToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjoKKyAgICAgICAgKiBj
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVj
dG9yOjphcHBseVByb3BlcnR5KToKKwogMjAxMS0xMS0wMyAgRGFuaWVsIENoZW5nICA8ZGNoZW5n
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFJlbW92ZSB1bnVzZWQgY2xpcGJv
YXJkIG1ldGhvZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYjkyMDM5MDIzNTc5YmRiZjk5OTlm
ZjNjY2I4ZDQ2ODMwNTA1NmYzYS4uNzUyOTY5ZTllMjY2OGFhNmRhYTFjNGM5YWQ1YzJlZWY2MWQ4
M2VlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQzMSw2ICs0MzEsNyBAQCBTRVQoV2ViQ29y
ZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvZ2VuZXJpYy9BY3RpdmVET01DYWxsYmFjay5jcHAKICAg
ICBiaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCiAKKyAgICBjc3Mv
Q1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAKICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAK
ICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcAogICAgIGNzcy9DU1NDYW52YXNW
YWx1ZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0g
Yi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDE4NDgyNWNjY2VkYjli
ZTA4YjMxN2NlMDE5ZWUwZThhNWZkYTRhY2MuLjIzZmFjZGU1NjJhMzJhNTU5NTI5MTJiOGNjY2Ji
NGRhNGZiNjJmNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtOTU3LDYgKzk1
Nyw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRp
bWVfcm9vdC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jb25maWcuaCBcCiAJU291cmNlL1dlYkNvcmUv
Y3NzL0NvdW50ZXIuaCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUu
Y3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDA1ZjIxM2U2
MmZmYmFhOTczZjY3MTlhMmIwZTJkMTZlMjA2YmUyYzEuLjIzYmVkYjM0NTJjNmMxMTZmYzVkNWM2
ODlkZmQ4NmFiMDI2ZTYwYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIzMzAsNiArMjMzMCw4IEBA
CiAgICAgICAgICAgICAnYnJpZGdlL3Rlc3RiaW5kaW5ncy5tbScsCiAgICAgICAgICAgICAnYnJp
ZGdlL3Rlc3RxdGJpbmRpbmdzLmNwcCcsCiAgICAgICAgICAgICAnY29uZmlnLmgnLAorICAgICAg
ICAgICAgJ2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCcsCisgICAgICAgICAgICAnY3NzL0NT
U0FzcGVjdFJhdGlvVmFsdWUuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU0JvcmRlckltYWdlVmFs
dWUuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oJywKICAgICAg
ICAgICAgICdjc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcCcsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCmlu
ZGV4IDg5Yzk3NDRhYmEwOGRhMTllMTFiMzUwMmY5ZDg0ZDc1YzMyODI5YzYuLjZmNDZhYjllYjYy
ODg2ZGRmYzI3YTk2NWU0YTI3ZmQ2NzQzODRjMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zODcsNiAr
Mzg3LDcgQEAgdjggewogfQogCiBTT1VSQ0VTICs9IFwKKyAgICBjc3MvQ1NTQXNwZWN0UmF0aW9W
YWx1ZS5jcHAgXAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwIFwKICAgICBj
c3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NDYW52YXNWYWx1ZS5jcHAg
XApAQCAtMTQ2Nyw2ICsxNDY4LDcgQEAgdjggewogfQogCiBIRUFERVJTICs9IFwKKyAgICBjc3Mv
Q1NTQXNwZWN0UmF0aW9WYWx1ZS5oIFwKICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVl
LmggXAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmggXAogICAgIGNzcy9DU1NDYW52YXNW
YWx1ZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBc3BlY3RSYXRpb1Zh
bHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42ZDhmOWIxMDVmNzdjZTUzMGMyMjNlMTFiMzQzNmNiM2I2Y2U2OWYyCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwCkBA
IC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBu
YW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisg
KiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQor
ICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICog
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1NTQXNwZWN0
UmF0aW9WYWx1ZS5oIgorCisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK0NTU0FzcGVjdFJhdGlvVmFsdWU6On5DU1NBc3BlY3RSYXRp
b1ZhbHVlKCkKK3sKK30KKworU3RyaW5nIENTU0FzcGVjdFJhdGlvVmFsdWU6OmNzc1RleHQoKSBj
b25zdAoreworICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OworICAgIHJlc3VsdC5hcHBlbmQoU3Ry
aW5nOjpudW1iZXIobV9udW1lcmF0b3JWYWx1ZSkpOworICAgIHJlc3VsdC5hcHBlbmQoIi8iKTsK
KyAgICByZXN1bHQuYXBwZW5kKFN0cmluZzo6bnVtYmVyKG1fZGVub21pbmF0b3JWYWx1ZSkpOwor
ICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NBc3BlY3RSYXRpb1ZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmUwOTQ1ZTFkZDRjZTJlM2Y5NjE0Y2Ji
YjJiMDQxNjllNjYzMDFkYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NBc3BlY3RSYXRpb1ZhbHVlLmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBs
ZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
CisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQ1NTQXNwZWN0
UmF0aW9WYWx1ZV9oCisjZGVmaW5lIENTU0FzcGVjdFJhdGlvVmFsdWVfaAorCisjaW5jbHVkZSAi
Q1NTUHJpbWl0aXZlVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NWYWx1ZS5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIENTU0FzcGVjdFJhdGlvVmFsdWUgOiBwdWJsaWMgQ1NTVmFsdWUg
eworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0FzcGVjdFJhdGlvVmFsdWU+IGNy
ZWF0ZShmbG9hdCBudW1lcmF0b3JWYWx1ZSwgZmxvYXQgZGVub21pbmF0b3JWYWx1ZSkKKyAgICB7
CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTQXNwZWN0UmF0aW9WYWx1ZShudW1lcmF0
b3JWYWx1ZSwgZGVub21pbmF0b3JWYWx1ZSkpOworICAgIH0KKworICAgIHZpcnR1YWwgfkNTU0Fz
cGVjdFJhdGlvVmFsdWUoKTsKKworICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsK
KworICAgIGZsb2F0IG51bWVyYXRvclZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9udW1lcmF0b3JW
YWx1ZTsgfQorICAgIGZsb2F0IGRlbm9taW5hdG9yVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2Rl
bm9taW5hdG9yVmFsdWU7IH0KKworcHJpdmF0ZToKKyAgICBDU1NBc3BlY3RSYXRpb1ZhbHVlKGZs
b2F0IG51bWVyYXRvclZhbHVlLCBmbG9hdCBkZW5vbWluYXRvclZhbHVlKQorICAgICAgICA6IG1f
bnVtZXJhdG9yVmFsdWUobnVtZXJhdG9yVmFsdWUpCisgICAgICAgICwgbV9kZW5vbWluYXRvclZh
bHVlKGRlbm9taW5hdG9yVmFsdWUpCisgICAgeworICAgIH0KKworICAgIGZsb2F0IG1fbnVtZXJh
dG9yVmFsdWU7CisgICAgZmxvYXQgbV9kZW5vbWluYXRvclZhbHVlOworfTsKKworfQorCisjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAKaW5kZXggZDJhNTBkZmNjNjdmZGU2NGVkNDM3Nzg2YjQyYjFkMzNjYjBkMmRlYS4uOTU2
ZmIyYTViNzFhNWY5NzVlNGQwMGIwNTYzZWU3MjA0YzdmZWZiZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTIwMzMsNiAr
MjAzMyw3IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bjo6Z2V0UHJvcGVydHlDU1NWYWx1ZShpbnQgcHJvcGVyCiAgICAgICAgICAgICBicmVhazsKIAog
ICAgICAgICAvKiBVbmltcGxlbWVudGVkIENTUyAzIHByb3BlcnRpZXMgKGluY2x1ZGluZyBDU1Mz
IHNob3J0aGFuZCBwcm9wZXJ0aWVzKSAqLworICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0
QXNwZWN0UmF0aW86CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0RW1waGFzaXM6
CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0TGluZVRocm91Z2g6CiAgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlUZXh0TGluZVRocm91Z2hDb2xvcjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDQ0Y2Y4MDdjNmM2MTNhYzFi
ZjliMDhlNTYyZGNhYjE0ZTQ1ODkxYTIuLmM0ZWJiOGIwNmMxMmI2MmVlNzczN2UyMDE4ZjMwZDM1
MDVjMWQ5YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVE
ZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURl
Y2xhcmF0aW9uLmNwcApAQCAtNzg3LDYgKzc4Nyw3IEBAIHZvaWQgQ1NTTXV0YWJsZVN0eWxlRGVj
bGFyYXRpb246OmFkZFN1YnJlc291cmNlU3R5bGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiB1cmxz
CiBzdGF0aWMgY29uc3QgaW50IGJsb2NrUHJvcGVydGllc1tdID0gewogICAgIENTU1Byb3BlcnR5
T3JwaGFucywKICAgICBDU1NQcm9wZXJ0eU92ZXJmbG93LCAvLyBUaGlzIGNhbiBiZSBhbHNvIGJl
IGFwcGxpZWQgdG8gcmVwbGFjZWQgZWxlbWVudHMKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdEFzcGVj
dFJhdGlvLAogICAgIENTU1Byb3BlcnR5V2Via2l0Q29sdW1uQ291bnQsCiAgICAgQ1NTUHJvcGVy
dHlXZWJraXRDb2x1bW5HYXAsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5SdWxlQ29sb3Is
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IGQ0ZmVhNzRhM2ViZTJjZDhiY2U5M2E2OGY4
NTU1OTI0NTI0ZTU5NTQuLjI5YmYyZTc4ZWE0MTA0YTQxYjU1Nzg3NGYyYjc0MTA2MTgyZWUwNGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2VyLmgiCiAKKyNpbmNsdWRlICJDU1NBc3BlY3RS
YXRpb1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUg
IkNTU0NhbnZhc1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQ2hhcnNldFJ1bGUuaCIKQEAgLTE1MTAs
NiArMTUxMSw4IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKGludCBwcm9wSWQsIGJvb2wg
aW1wb3J0YW50KQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eUJvcmRlclJhZGl1czoKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW86
CisgICAgICAgIHJldHVybiBwYXJzZUFzcGVjdFJhdGlvKGltcG9ydGFudCk7CiAgICAgY2FzZSBD
U1NQcm9wZXJ0eVdlYmtpdEJvcmRlclJhZGl1czoKICAgICAgICAgcmV0dXJuIHBhcnNlQm9yZGVy
UmFkaXVzKHByb3BJZCwgaW1wb3J0YW50KTsKICAgICBjYXNlIENTU1Byb3BlcnR5T3V0bGluZU9m
ZnNldDoKQEAgLTU2NDgsNiArNTY1MSwzNiBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VCb3JkZXJS
YWRpdXMoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
K2Jvb2wgQ1NTUGFyc2VyOjpwYXJzZUFzcGVjdFJhdGlvKGJvb2wgaW1wb3J0YW50KQoreworICAg
IHVuc2lnbmVkIG51bSA9IG1fdmFsdWVMaXN0LT5zaXplKCk7CisgICAgaWYgKG51bSA9PSAxICYm
IG1fdmFsdWVMaXN0LT52YWx1ZUF0KDApLT5pZCA9PSBDU1NWYWx1ZU5vbmUpIHsKKyAgICAgICAg
YWRkUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRBc3BlY3RSYXRpbywgcHJpbWl0aXZlVmFsdWVD
YWNoZSgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb25lKSwgaW1wb3J0YW50KTsK
KyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgaWYgKG51bSAhPSAzKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBDU1NQYXJzZXJWYWx1ZSogbHZhbHVlID0gbV92YWx1ZUxp
c3QtPnZhbHVlQXQoMCk7CisgICAgQ1NTUGFyc2VyVmFsdWUqIG9wID0gbV92YWx1ZUxpc3QtPnZh
bHVlQXQoMSk7CisgICAgQ1NTUGFyc2VyVmFsdWUqIHJ2YWx1ZSA9IG1fdmFsdWVMaXN0LT52YWx1
ZUF0KDIpOworCisgICAgaWYgKCFvcC0+dW5pdCA9PSBDU1NQYXJzZXJWYWx1ZTo6T3BlcmF0b3Ig
fHwgb3AtPmlWYWx1ZSAhPSAnLycpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICgh
dmFsaWRVbml0KGx2YWx1ZSwgRk51bWJlciB8IEZOb25OZWcsIG1fc3RyaWN0KSB8fCAhdmFsaWRV
bml0KHJ2YWx1ZSwgRk51bWJlciB8IEZOb25OZWcsIG1fc3RyaWN0KSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgaWYgKCFsdmFsdWUtPmZWYWx1ZSB8fCAhcnZhbHVlLT5mVmFsdWUpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIFJlZlB0cjxDU1NBc3BlY3RSYXRpb1ZhbHVlPiBh
c3BlY3RSYXRpb1ZhbHVlID0gQ1NTQXNwZWN0UmF0aW9WYWx1ZTo6Y3JlYXRlKGx2YWx1ZS0+ZlZh
bHVlLCBydmFsdWUtPmZWYWx1ZSk7CisgICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRB
c3BlY3RSYXRpbywgYXNwZWN0UmF0aW9WYWx1ZS5yZWxlYXNlKCksIGltcG9ydGFudCk7CisKKyAg
ICByZXR1cm4gdHJ1ZTsKK30KKwogYm9vbCBDU1NQYXJzZXI6OnBhcnNlQ291bnRlcihpbnQgcHJv
cElkLCBpbnQgZGVmYXVsdFZhbHVlLCBib29sIGltcG9ydGFudCkKIHsKICAgICBlbnVtIHsgSUQs
IFZBTCB9IHN0YXRlID0gSUQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKaW5kZXggNzQ0ZDNjNzVjOTVl
MGNhMTk0Y2EyZTU4MDc4YjlkMmVhZjU3MjBhMi4uYjEyZThjOTIxODdmNWEwMTU0MmFhYjliMDcy
ZGQwYTg4ZTc0ZDFkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApAQCAtMTcxLDYgKzE3MSw4IEBA
IHB1YmxpYzoKICAgICBib29sIHBhcnNlQm9yZGVySW1hZ2VPdXRzZXQoUmVmUHRyPENTU1ByaW1p
dGl2ZVZhbHVlPiYpOwogICAgIGJvb2wgcGFyc2VCb3JkZXJSYWRpdXMoaW50IHByb3BJZCwgYm9v
bCBpbXBvcnRhbnQpOwogCisgICAgYm9vbCBwYXJzZUFzcGVjdFJhdGlvKGJvb2wgaW1wb3J0YW50
KTsKKwogICAgIGJvb2wgcGFyc2VSZWZsZWN0KGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsK
IAogICAgIGJvb2wgcGFyc2VGbGV4KGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJvcGVydHkuY3BwCmluZGV4IDNlN2RmNTExNWI5YmVhMjcwYjI3Y2VlOGNjOTgw
MzE4OTQ4ODBhZTMuLmRlN2M5MjczYjc5ZDY3OGRmZDAzNjQ4ZDczNmRiNzdhYzVhYzg5OTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcApAQCAtMzE3LDYgKzMxNyw3IEBAIGJvb2wgQ1NT
UHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkodW5zaWduZWQgcHJvcGVydHlJRCkKICAgICBj
YXNlIENTU1Byb3BlcnR5VGV4dFNoYWRvdzoKICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dFRyYW5z
Zm9ybToKICAgICBjYXNlIENTU1Byb3BlcnR5VmlzaWJpbGl0eToKKyAgICBjYXNlIENTU1Byb3Bl
cnR5V2Via2l0QXNwZWN0UmF0aW86CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlckhv
cml6b250YWxTcGFjaW5nOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJWZXJ0aWNh
bFNwYWNpbmc6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJveERpcmVjdGlvbjoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KaW5kZXggZDFlZjJhZWQyNWQ0NDEwY2E2MzI4
YTA0Y2Y3YjZhZTI1ZGFiNzM0Zi4uNTI5NDRkODJlOWNkYTdiYjU3ZGRjYTY2ZWVlYzllOWM2OTk5
YmRlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4K
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KQEAgLTE5Myw2ICsx
OTMsNyBAQCB6LWluZGV4CiAtd2Via2l0LWFuaW1hdGlvbi1wbGF5LXN0YXRlCiAtd2Via2l0LWFu
aW1hdGlvbi10aW1pbmctZnVuY3Rpb24KIC13ZWJraXQtYXBwZWFyYW5jZQorLXdlYmtpdC1hc3Bl
Y3QtcmF0aW8KIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eQogLXdlYmtpdC1iYWNrZ3JvdW5k
LWNsaXAKIC13ZWJraXQtYmFja2dyb3VuZC1jb21wb3NpdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NT
dHlsZVNlbGVjdG9yLmNwcAppbmRleCBiYWU3MzZmNzk5YWQ2MGFiZTk3YzYxNmE3Yzk3NjE2NzJh
N2M0YWE4Li4zNGYwNjNiODcxOTgxMDVjNmQ5YzgyN2Q3NmJjMzZhNzE0ZGFmNGI0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCkBAIC0zNzcyLDYgKzM3NzIsNyBAQCB2
b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkoaW50IGlkLCBDU1NWYWx1ZSAqdmFs
dWUpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRVbmRlcmxpbmVNb2RlOgogICAgIGNhc2UgQ1NT
UHJvcGVydHlUZXh0VW5kZXJsaW5lU3R5bGU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRVbmRl
cmxpbmVXaWR0aDoKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW86CiAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEZvbnRTaXplRGVsdGE6CiAgICAgY2FzZSBDU1NQcm9wZXJ0
eVdlYmtpdFRleHREZWNvcmF0aW9uc0luRWZmZWN0OgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJr
aXRUZXh0U3Ryb2tlOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE2ZTM2NjM1NmU3NzViZDJkOTVhZjQ1YjQzNzUyZTAzZjhl
YzMyYWYuLjgwODYyN2MxYzcwMjA5MmU2MjBhODBiMjdmNWZiMGExMmRiOWI0MWYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMyBAQAorMjAxMS0xMS0wMyAgRmFkeSBTYW11ZWwgIDxmc2FtdWVsQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBDU1MgQXNwZWN0IFJhdGlvIFByb3BlcnR5IFBhcnNpbmcgU3RhZ2UK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzA3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Nz
cy9hc3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvY3NzL2FzcGVjdC1yYXRpby1wYXJzaW5nLXRlc3RzLmh0bWw6IEFkZGVkLgorCiAy
MDExLTExLTAzICBBbm5hIENhdmVuZGVyICA8YW5uYWNjQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBUZXN0cyBmb3IgVGV4dFRyYWNrQ3VlTGlzdCBpbXBsZW1lbnRhdGlvbi4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvY3NzL2FzcGVjdC1yYXRpby1wYXJzaW5nLXRlc3RzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2FzcGVjdC1yYXRpby1wYXJzaW5nLXRlc3RzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMTRlYjRiNjI0Y2RjYzg5ZGI0NDlmNDZjMTdmOTRhMjM0
OTZlMDZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJh
dGlvLXBhcnNpbmctdGVzdHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjcgQEAKK0NTUyBBc3Bl
Y3QgUmF0aW8gUGFyc2luZyBUZXN0CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQ
QVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMi8xIiwgIi13ZWJraXQtYXNwZWN0
LXJhdGlvIikgaXMgIjIvMSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIx
LzEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAiMS8xIgorUEFTUyB0ZXN0UGFyc2luZygi
YXNwZWN0UmF0aW9UZXN0IiwgIjEvNCIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICIxLzQi
CitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAvIDIiLCAiLXdlYmtpdC1h
c3BlY3QtcmF0aW8iKSBpcyAiMS8yIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0
IiwgIjEuMiAvIDIiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAiMS4yLzIiCitQQVNTIHRl
c3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMiAvIDAuNSIsICItd2Via2l0LWFzcGVjdC1y
YXRpbyIpIGlzICIyLzAuNSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICJu
b25lIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5n
KCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAyIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5v
bmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiYS8xIiwgIi13ZWJraXQt
YXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rl
c3QiLCAiMS9hIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQ
YXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiYWJjMTIzIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlv
IikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSIsICIt
d2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0
UmF0aW9UZXN0IiwgIjEgLyAwIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQ
QVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMCAvIDEiLCAiLXdlYmtpdC1hc3Bl
Y3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIs
ICIwIC8gMCIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICJub25lIgorUEFTUyB0ZXN0UGFy
c2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIi0xIC8gOCIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIp
IGlzICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEgLyAtOSIs
ICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNw
ZWN0UmF0aW9UZXN0IiwgIi0xIC8gLTQiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9u
ZSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9hc3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0
cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41Y2Q2NDhkZmQ4NWRiZmVmM2VmODVlZWI3YjExMzZlZDJlNjM5NWMw
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBh
cnNpbmctdGVzdHMuaHRtbApAQCAtMCwwICsxLDQzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMg
Ii0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyI+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KKyAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJh
c3BlY3RSYXRpb1Rlc3QiPjwvZGl2PgorICAgIDxzY3JpcHQ+CisgICAgICBkZXNjcmlwdGlvbign
Q1NTIEFzcGVjdCBSYXRpbyBQYXJzaW5nIFRlc3QnKTsKKyAgICAgIGZ1bmN0aW9uIHRlc3RQYXJz
aW5nKGVsZW1lbnRJZCwgZmxleFZhbHVlLCBzdHlsZUF0dHJpYnV0ZSkKKyAgICAgIHsKKyAgICAg
ICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTsKKyAgICAg
ICAgICBkaXYuc3R5bGVbc3R5bGVBdHRyaWJ1dGVdID0gZmxleFZhbHVlOworICAgICAgICAgIHJl
dHVybiBkaXYuc3R5bGVbc3R5bGVBdHRyaWJ1dGVdOworICAgICAgfQorCisgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMi8xIiwgIi13
ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnMi8xJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS8xIiwgIi13ZWJraXQtYXNwZWN0
LXJhdGlvIiknLCAnMS8xJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJz
aW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS80IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAn
MS80Jyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RS
YXRpb1Rlc3QiLCAiMSAvIDIiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICcxLzInKTsKKyAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIs
ICIxLjIgLyAyIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnMS4yLzInKTsKKyAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIyIC8g
MC41IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnMi8wLjUnKTsKKyAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICJub25lIiwgIi13
ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgICAgCisgICAgICAvLyBUaGUgZm9s
bG93aW5nIGFyZSBpbnZhbGlkIGFuZCBzaG91bGQgZ2V0IGlnbm9yZWQuCisgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAyIiwgIi13
ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgImEvMSIsICItd2Via2l0LWFzcGVj
dC1yYXRpbyIpJywgJ25vbmUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBh
cnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxL2EiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScs
ICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3Bl
Y3RSYXRpb1Rlc3QiLCAiYWJjMTIzIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScp
OworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9U
ZXN0IiwgIjEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAvIDAi
LCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMCAvIDEiLCAiLXdlYmtp
dC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
J3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMCAvIDAiLCAiLXdlYmtpdC1hc3BlY3Qt
cmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJz
aW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiLTEgLyA4IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikn
LCAnbm9uZScpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNw
ZWN0UmF0aW9UZXN0IiwgIjEgLyAtOSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUn
KTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlv
VGVzdCIsICItMSAvIC00IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAg
IDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorICA8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113609</attachid>
            <date>2011-11-03 19:32:46 -0700</date>
            <delta_ts>2011-11-03 19:58:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70707-20111103223244.patch</filename>
            <type>text/plain</type>
            <size>20676</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkyMzcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjODcyNTBiMDQ4NTE4NGI0
NjNkYmU2YjMzODUxN2MzMmIzOTY4MWQ4Li4yOWQ5NmM4YWFhN2YzOTA2N2M0ZGNhZTE5YjdjY2Rk
ZDkxZGQ1ZTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTEtMTEtMDMgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NTIEFzcGVjdCBSYXRp
byBQcm9wZXJ0eSBQYXJzaW5nIFN0YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MDcwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZGVkIHBhcnNpbmcgc3VwcG9ydCBmb3IgLXdlYmtpdC1hc3BlY3Qt
cmF0aW8gQ1NTIHByb3BlcnR5LgorICAgICAgICBUaGUgc3BlYyBjYW4gYmUgZm91bmQgaGVyZTog
aHR0cDovL3d3dy54YW50aGlyLmNvbS9ibG9nL2I0ODEwCisKKyAgICAgICAgVGVzdDogZmFzdC9j
c3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0
cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBXZWJDb3Jl
Lmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogY3NzL0NTU0FzcGVjdFJh
dGlvVmFsdWUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJhdGlvVmFs
dWU6On5DU1NBc3BlY3RSYXRpb1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJh
dGlvVmFsdWU6OmNzc1RleHQpOgorICAgICAgICAqIGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTQXNwZWN0UmF0aW9WYWx1ZTo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJhdGlvVmFsdWU6Om51bWVyYXRvclZhbHVlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJhdGlvVmFsdWU6OmRlbm9taW5hdG9yVmFsdWUp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQXNwZWN0UmF0aW9WYWx1ZTo6Q1NTQXNwZWN0UmF0aW9W
YWx1ZSk6CisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5
Q1NTVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHA6
CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUFzcGVj
dFJhdGlvKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisgICAgICAgICogY3NzL0NTU1By
b3BlcnR5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5Ojppc0luaGVyaXRlZFBy
b3BlcnR5KToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjoKKyAgICAgICAgKiBj
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVj
dG9yOjphcHBseVByb3BlcnR5KToKKwogMjAxMS0xMS0wMyAgRGFuaWVsIENoZW5nICA8ZGNoZW5n
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFJlbW92ZSB1bnVzZWQgY2xpcGJv
YXJkIG1ldGhvZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYjkyMDM5MDIzNTc5YmRiZjk5OTlm
ZjNjY2I4ZDQ2ODMwNTA1NmYzYS4uNzUyOTY5ZTllMjY2OGFhNmRhYTFjNGM5YWQ1YzJlZWY2MWQ4
M2VlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQzMSw2ICs0MzEsNyBAQCBTRVQoV2ViQ29y
ZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvZ2VuZXJpYy9BY3RpdmVET01DYWxsYmFjay5jcHAKICAg
ICBiaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCiAKKyAgICBjc3Mv
Q1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAKICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAK
ICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcAogICAgIGNzcy9DU1NDYW52YXNW
YWx1ZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0g
Yi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDE4NDgyNWNjY2VkYjli
ZTA4YjMxN2NlMDE5ZWUwZThhNWZkYTRhY2MuLjIzZmFjZGU1NjJhMzJhNTU5NTI5MTJiOGNjY2Ji
NGRhNGZiNjJmNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtOTU3LDYgKzk1
Nyw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRp
bWVfcm9vdC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jb25maWcuaCBcCiAJU291cmNlL1dlYkNvcmUv
Y3NzL0NvdW50ZXIuaCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUu
Y3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDA1ZjIxM2U2
MmZmYmFhOTczZjY3MTlhMmIwZTJkMTZlMjA2YmUyYzEuLjIzYmVkYjM0NTJjNmMxMTZmYzVkNWM2
ODlkZmQ4NmFiMDI2ZTYwYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIzMzAsNiArMjMzMCw4IEBA
CiAgICAgICAgICAgICAnYnJpZGdlL3Rlc3RiaW5kaW5ncy5tbScsCiAgICAgICAgICAgICAnYnJp
ZGdlL3Rlc3RxdGJpbmRpbmdzLmNwcCcsCiAgICAgICAgICAgICAnY29uZmlnLmgnLAorICAgICAg
ICAgICAgJ2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCcsCisgICAgICAgICAgICAnY3NzL0NT
U0FzcGVjdFJhdGlvVmFsdWUuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU0JvcmRlckltYWdlVmFs
dWUuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oJywKICAgICAg
ICAgICAgICdjc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcCcsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCmlu
ZGV4IDg5Yzk3NDRhYmEwOGRhMTllMTFiMzUwMmY5ZDg0ZDc1YzMyODI5YzYuLjZmNDZhYjllYjYy
ODg2ZGRmYzI3YTk2NWU0YTI3ZmQ2NzQzODRjMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zODcsNiAr
Mzg3LDcgQEAgdjggewogfQogCiBTT1VSQ0VTICs9IFwKKyAgICBjc3MvQ1NTQXNwZWN0UmF0aW9W
YWx1ZS5jcHAgXAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwIFwKICAgICBj
c3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NDYW52YXNWYWx1ZS5jcHAg
XApAQCAtMTQ2Nyw2ICsxNDY4LDcgQEAgdjggewogfQogCiBIRUFERVJTICs9IFwKKyAgICBjc3Mv
Q1NTQXNwZWN0UmF0aW9WYWx1ZS5oIFwKICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVl
LmggXAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmggXAogICAgIGNzcy9DU1NDYW52YXNW
YWx1ZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBc3BlY3RSYXRpb1Zh
bHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42ZDhmOWIxMDVmNzdjZTUzMGMyMjNlMTFiMzQzNmNiM2I2Y2U2OWYyCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwCkBA
IC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBu
YW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisg
KiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQor
ICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICog
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1NTQXNwZWN0
UmF0aW9WYWx1ZS5oIgorCisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK0NTU0FzcGVjdFJhdGlvVmFsdWU6On5DU1NBc3BlY3RSYXRp
b1ZhbHVlKCkKK3sKK30KKworU3RyaW5nIENTU0FzcGVjdFJhdGlvVmFsdWU6OmNzc1RleHQoKSBj
b25zdAoreworICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OworICAgIHJlc3VsdC5hcHBlbmQoU3Ry
aW5nOjpudW1iZXIobV9udW1lcmF0b3JWYWx1ZSkpOworICAgIHJlc3VsdC5hcHBlbmQoIi8iKTsK
KyAgICByZXN1bHQuYXBwZW5kKFN0cmluZzo6bnVtYmVyKG1fZGVub21pbmF0b3JWYWx1ZSkpOwor
ICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NBc3BlY3RSYXRpb1ZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmUwOTQ1ZTFkZDRjZTJlM2Y5NjE0Y2Ji
YjJiMDQxNjllNjYzMDFkYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NBc3BlY3RSYXRpb1ZhbHVlLmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBs
ZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
CisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQ1NTQXNwZWN0
UmF0aW9WYWx1ZV9oCisjZGVmaW5lIENTU0FzcGVjdFJhdGlvVmFsdWVfaAorCisjaW5jbHVkZSAi
Q1NTUHJpbWl0aXZlVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NWYWx1ZS5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIENTU0FzcGVjdFJhdGlvVmFsdWUgOiBwdWJsaWMgQ1NTVmFsdWUg
eworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0FzcGVjdFJhdGlvVmFsdWU+IGNy
ZWF0ZShmbG9hdCBudW1lcmF0b3JWYWx1ZSwgZmxvYXQgZGVub21pbmF0b3JWYWx1ZSkKKyAgICB7
CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTQXNwZWN0UmF0aW9WYWx1ZShudW1lcmF0
b3JWYWx1ZSwgZGVub21pbmF0b3JWYWx1ZSkpOworICAgIH0KKworICAgIHZpcnR1YWwgfkNTU0Fz
cGVjdFJhdGlvVmFsdWUoKTsKKworICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsK
KworICAgIGZsb2F0IG51bWVyYXRvclZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9udW1lcmF0b3JW
YWx1ZTsgfQorICAgIGZsb2F0IGRlbm9taW5hdG9yVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2Rl
bm9taW5hdG9yVmFsdWU7IH0KKworcHJpdmF0ZToKKyAgICBDU1NBc3BlY3RSYXRpb1ZhbHVlKGZs
b2F0IG51bWVyYXRvclZhbHVlLCBmbG9hdCBkZW5vbWluYXRvclZhbHVlKQorICAgICAgICA6IG1f
bnVtZXJhdG9yVmFsdWUobnVtZXJhdG9yVmFsdWUpCisgICAgICAgICwgbV9kZW5vbWluYXRvclZh
bHVlKGRlbm9taW5hdG9yVmFsdWUpCisgICAgeworICAgIH0KKworICAgIGZsb2F0IG1fbnVtZXJh
dG9yVmFsdWU7CisgICAgZmxvYXQgbV9kZW5vbWluYXRvclZhbHVlOworfTsKKworfQorCisjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAKaW5kZXggZDJhNTBkZmNjNjdmZGU2NGVkNDM3Nzg2YjQyYjFkMzNjYjBkMmRlYS4uOTU2
ZmIyYTViNzFhNWY5NzVlNGQwMGIwNTYzZWU3MjA0YzdmZWZiZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTIwMzMsNiAr
MjAzMyw3IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bjo6Z2V0UHJvcGVydHlDU1NWYWx1ZShpbnQgcHJvcGVyCiAgICAgICAgICAgICBicmVhazsKIAog
ICAgICAgICAvKiBVbmltcGxlbWVudGVkIENTUyAzIHByb3BlcnRpZXMgKGluY2x1ZGluZyBDU1Mz
IHNob3J0aGFuZCBwcm9wZXJ0aWVzKSAqLworICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0
QXNwZWN0UmF0aW86CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0RW1waGFzaXM6
CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0TGluZVRocm91Z2g6CiAgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlUZXh0TGluZVRocm91Z2hDb2xvcjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDQ0Y2Y4MDdjNmM2MTNhYzFi
ZjliMDhlNTYyZGNhYjE0ZTQ1ODkxYTIuLmM0ZWJiOGIwNmMxMmI2MmVlNzczN2UyMDE4ZjMwZDM1
MDVjMWQ5YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVE
ZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURl
Y2xhcmF0aW9uLmNwcApAQCAtNzg3LDYgKzc4Nyw3IEBAIHZvaWQgQ1NTTXV0YWJsZVN0eWxlRGVj
bGFyYXRpb246OmFkZFN1YnJlc291cmNlU3R5bGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiB1cmxz
CiBzdGF0aWMgY29uc3QgaW50IGJsb2NrUHJvcGVydGllc1tdID0gewogICAgIENTU1Byb3BlcnR5
T3JwaGFucywKICAgICBDU1NQcm9wZXJ0eU92ZXJmbG93LCAvLyBUaGlzIGNhbiBiZSBhbHNvIGJl
IGFwcGxpZWQgdG8gcmVwbGFjZWQgZWxlbWVudHMKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdEFzcGVj
dFJhdGlvLAogICAgIENTU1Byb3BlcnR5V2Via2l0Q29sdW1uQ291bnQsCiAgICAgQ1NTUHJvcGVy
dHlXZWJraXRDb2x1bW5HYXAsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5SdWxlQ29sb3Is
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IGQ0ZmVhNzRhM2ViZTJjZDhiY2U5M2E2OGY4
NTU1OTI0NTI0ZTU5NTQuLjk1ZTI0YmVlZGUxMTdlNmJiZDc0NmY5MTUwOWFhN2M3MjE1MGQxYmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2VyLmgiCiAKKyNpbmNsdWRlICJDU1NBc3BlY3RS
YXRpb1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUg
IkNTU0NhbnZhc1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQ2hhcnNldFJ1bGUuaCIKQEAgLTE1MTAs
NiArMTUxMSw4IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKGludCBwcm9wSWQsIGJvb2wg
aW1wb3J0YW50KQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eUJvcmRlclJhZGl1czoKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW86
CisgICAgICAgIHJldHVybiBwYXJzZUFzcGVjdFJhdGlvKGltcG9ydGFudCk7CiAgICAgY2FzZSBD
U1NQcm9wZXJ0eVdlYmtpdEJvcmRlclJhZGl1czoKICAgICAgICAgcmV0dXJuIHBhcnNlQm9yZGVy
UmFkaXVzKHByb3BJZCwgaW1wb3J0YW50KTsKICAgICBjYXNlIENTU1Byb3BlcnR5T3V0bGluZU9m
ZnNldDoKQEAgLTU2NDgsNiArNTY1MSwzNiBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VCb3JkZXJS
YWRpdXMoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
K2Jvb2wgQ1NTUGFyc2VyOjpwYXJzZUFzcGVjdFJhdGlvKGJvb2wgaW1wb3J0YW50KQoreworICAg
IHVuc2lnbmVkIG51bSA9IG1fdmFsdWVMaXN0LT5zaXplKCk7CisgICAgaWYgKG51bSA9PSAxICYm
IG1fdmFsdWVMaXN0LT52YWx1ZUF0KDApLT5pZCA9PSBDU1NWYWx1ZU5vbmUpIHsKKyAgICAgICAg
YWRkUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRBc3BlY3RSYXRpbywgcHJpbWl0aXZlVmFsdWVD
YWNoZSgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb25lKSwgaW1wb3J0YW50KTsK
KyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgaWYgKG51bSAhPSAzKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBDU1NQYXJzZXJWYWx1ZSogbHZhbHVlID0gbV92YWx1ZUxp
c3QtPnZhbHVlQXQoMCk7CisgICAgQ1NTUGFyc2VyVmFsdWUqIG9wID0gbV92YWx1ZUxpc3QtPnZh
bHVlQXQoMSk7CisgICAgQ1NTUGFyc2VyVmFsdWUqIHJ2YWx1ZSA9IG1fdmFsdWVMaXN0LT52YWx1
ZUF0KDIpOworCisgICAgaWYgKG9wLT51bml0ICE9IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvciB8
fCBvcC0+aVZhbHVlICE9ICcvJykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCF2
YWxpZFVuaXQobHZhbHVlLCBGTnVtYmVyIHwgRk5vbk5lZywgbV9zdHJpY3QpIHx8ICF2YWxpZFVu
aXQocnZhbHVlLCBGTnVtYmVyIHwgRk5vbk5lZywgbV9zdHJpY3QpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBpZiAoIWx2YWx1ZS0+ZlZhbHVlIHx8ICFydmFsdWUtPmZWYWx1ZSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgUmVmUHRyPENTU0FzcGVjdFJhdGlvVmFsdWU+IGFz
cGVjdFJhdGlvVmFsdWUgPSBDU1NBc3BlY3RSYXRpb1ZhbHVlOjpjcmVhdGUobHZhbHVlLT5mVmFs
dWUsIHJ2YWx1ZS0+ZlZhbHVlKTsKKyAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdEFz
cGVjdFJhdGlvLCBhc3BlY3RSYXRpb1ZhbHVlLnJlbGVhc2UoKSwgaW1wb3J0YW50KTsKKworICAg
IHJldHVybiB0cnVlOworfQorCiBib29sIENTU1BhcnNlcjo6cGFyc2VDb3VudGVyKGludCBwcm9w
SWQsIGludCBkZWZhdWx0VmFsdWUsIGJvb2wgaW1wb3J0YW50KQogewogICAgIGVudW0geyBJRCwg
VkFMIH0gc3RhdGUgPSBJRDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCA3NDRkM2M3NWM5NWUw
Y2ExOTRjYTJlNTgwNzhiOWQyZWFmNTcyMGEyLi5iMTJlOGM5MjE4N2Y1YTAxNTQyYWFiOWIwNzJk
ZDBhODhlNzRkMWQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0xNzEsNiArMTcxLDggQEAg
cHVibGljOgogICAgIGJvb2wgcGFyc2VCb3JkZXJJbWFnZU91dHNldChSZWZQdHI8Q1NTUHJpbWl0
aXZlVmFsdWU+Jik7CiAgICAgYm9vbCBwYXJzZUJvcmRlclJhZGl1cyhpbnQgcHJvcElkLCBib29s
IGltcG9ydGFudCk7CiAKKyAgICBib29sIHBhcnNlQXNwZWN0UmF0aW8oYm9vbCBpbXBvcnRhbnQp
OworCiAgICAgYm9vbCBwYXJzZVJlZmxlY3QoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOwog
CiAgICAgYm9vbCBwYXJzZUZsZXgoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0eS5jcHAKaW5kZXggM2U3ZGY1MTE1YjliZWEyNzBiMjdjZWU4Y2M5ODAz
MTg5NDg4MGFlMy4uZGU3YzkyNzNiNzlkNjc4ZGZkMDM2NDhkNzM2ZGI3N2FjNWFjODk5MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCkBAIC0zMTcsNiArMzE3LDcgQEAgYm9vbCBDU1NQ
cm9wZXJ0eTo6aXNJbmhlcml0ZWRQcm9wZXJ0eSh1bnNpZ25lZCBwcm9wZXJ0eUlEKQogICAgIGNh
c2UgQ1NTUHJvcGVydHlUZXh0U2hhZG93OgogICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0VHJhbnNm
b3JtOgogICAgIGNhc2UgQ1NTUHJvcGVydHlWaXNpYmlsaXR5OgorICAgIGNhc2UgQ1NTUHJvcGVy
dHlXZWJraXRBc3BlY3RSYXRpbzoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Qm9yZGVySG9y
aXpvbnRhbFNwYWNpbmc6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlclZlcnRpY2Fs
U3BhY2luZzoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Qm94RGlyZWN0aW9uOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4gYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgppbmRleCBkMWVmMmFlZDI1ZDQ0MTBjYTYzMjhh
MDRjZjdiNmFlMjVkYWI3MzRmLi41Mjk0NGQ4MmU5Y2RhN2JiNTdkZGNhNjZlZWVjOWU5YzY5OTli
ZGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgpAQCAtMTkzLDYgKzE5
Myw3IEBAIHotaW5kZXgKIC13ZWJraXQtYW5pbWF0aW9uLXBsYXktc3RhdGUKIC13ZWJraXQtYW5p
bWF0aW9uLXRpbWluZy1mdW5jdGlvbgogLXdlYmtpdC1hcHBlYXJhbmNlCistd2Via2l0LWFzcGVj
dC1yYXRpbwogLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5CiAtd2Via2l0LWJhY2tncm91bmQt
Y2xpcAogLXdlYmtpdC1iYWNrZ3JvdW5kLWNvbXBvc2l0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0
eWxlU2VsZWN0b3IuY3BwCmluZGV4IGJhZTczNmY3OTlhZDYwYWJlOTdjNjE2YTdjOTc2MTY3MmE3
YzRhYTguLjM0ZjA2M2I4NzE5ODEwNWM2ZDljODI3ZDc2YmMzNmE3MTRkYWY0YjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAgLTM3NzIsNiArMzc3Miw3IEBAIHZv
aWQgQ1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eShpbnQgaWQsIENTU1ZhbHVlICp2YWx1
ZSkKICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dFVuZGVybGluZU1vZGU6CiAgICAgY2FzZSBDU1NQ
cm9wZXJ0eVRleHRVbmRlcmxpbmVTdHlsZToKICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dFVuZGVy
bGluZVdpZHRoOgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRBc3BlY3RSYXRpbzoKICAgICBj
YXNlIENTU1Byb3BlcnR5V2Via2l0Rm9udFNpemVEZWx0YToKICAgICBjYXNlIENTU1Byb3BlcnR5
V2Via2l0VGV4dERlY29yYXRpb25zSW5FZmZlY3Q6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtp
dFRleHRTdHJva2U6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTZlMzY2MzU2ZTc3NWJkMmQ5NWFmNDViNDM3NTJlMDNmOGVj
MzJhZi4uODA4NjI3YzFjNzAyMDkyZTYyMGE4MGIyN2Y1ZmIwYTEyZGI5YjQxZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEzIEBACisyMDExLTExLTAzICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIENTUyBBc3BlY3QgUmF0aW8gUHJvcGVydHkgUGFyc2luZyBTdGFnZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MDcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvY3Nz
L2FzcGVjdC1yYXRpby1wYXJzaW5nLXRlc3RzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMuaHRtbDogQWRkZWQuCisKIDIw
MTEtMTEtMDMgIEFubmEgQ2F2ZW5kZXIgIDxhbm5hY2NAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFRlc3RzIGZvciBUZXh0VHJhY2tDdWVMaXN0IGltcGxlbWVudGF0aW9uLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxNGViNGI2MjRjZGNjODlkYjQ0OWY0NmMxN2Y5NGEyMzQ5
NmUwNmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9hc3BlY3QtcmF0
aW8tcGFyc2luZy10ZXN0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNyBAQAorQ1NTIEFzcGVj
dCBSYXRpbyBQYXJzaW5nIFRlc3QKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIyLzEiLCAiLXdlYmtpdC1hc3BlY3Qt
cmF0aW8iKSBpcyAiMi8xIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEv
MSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICIxLzEiCitQQVNTIHRlc3RQYXJzaW5nKCJh
c3BlY3RSYXRpb1Rlc3QiLCAiMS80IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIjEvNCIK
K1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIC8gMiIsICItd2Via2l0LWFz
cGVjdC1yYXRpbyIpIGlzICIxLzIiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3Qi
LCAiMS4yIC8gMiIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICIxLjIvMiIKK1BBU1MgdGVz
dFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIyIC8gMC41IiwgIi13ZWJraXQtYXNwZWN0LXJh
dGlvIikgaXMgIjIvMC41IgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIm5v
bmUiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1MgdGVzdFBhcnNpbmco
ImFzcGVjdFJhdGlvVGVzdCIsICIxIDIiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9u
ZSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICJhLzEiLCAiLXdlYmtpdC1h
c3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVz
dCIsICIxL2EiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1MgdGVzdFBh
cnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICJhYmMxMjMiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8i
KSBpcyAibm9uZSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIiwgIi13
ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RS
YXRpb1Rlc3QiLCAiMSAvIDAiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BB
U1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIwIC8gMSIsICItd2Via2l0LWFzcGVj
dC1yYXRpbyIpIGlzICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0Iiwg
IjAgLyAwIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJz
aW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiLTEgLyA4IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikg
aXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAvIC05Iiwg
Ii13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3Bl
Y3RSYXRpb1Rlc3QiLCAiLTEgLyAtNCIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICJub25l
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2FzcGVjdC1yYXRpby1wYXJzaW5nLXRlc3Rz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9hc3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0cy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjVjZDY0OGRmZDg1ZGJmZWYzZWY4NWVlYjdiMTEzNmVkMmU2Mzk1YzAK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9hc3BlY3QtcmF0aW8tcGFy
c2luZy10ZXN0cy5odG1sCkBAIC0wLDAgKzEsNDMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUu
Y3NzIj4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorICA8L2hlYWQ+CisgIDxib2R5PgorICAgIDxwIGlkPSJkZXNjcmlw
dGlvbiI+PC9wPgorICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDxkaXYgaWQ9ImFz
cGVjdFJhdGlvVGVzdCI+PC9kaXY+CisgICAgPHNjcmlwdD4KKyAgICAgIGRlc2NyaXB0aW9uKCdD
U1MgQXNwZWN0IFJhdGlvIFBhcnNpbmcgVGVzdCcpOworICAgICAgZnVuY3Rpb24gdGVzdFBhcnNp
bmcoZWxlbWVudElkLCBmbGV4VmFsdWUsIHN0eWxlQXR0cmlidXRlKQorICAgICAgeworICAgICAg
ICAgIHZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpOworICAgICAg
ICAgIGRpdi5zdHlsZVtzdHlsZUF0dHJpYnV0ZV0gPSBmbGV4VmFsdWU7CisgICAgICAgICAgcmV0
dXJuIGRpdi5zdHlsZVtzdHlsZUF0dHJpYnV0ZV07CisgICAgICB9CisKKyAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIyLzEiLCAiLXdl
YmtpdC1hc3BlY3QtcmF0aW8iKScsICcyLzEnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxLzEiLCAiLXdlYmtpdC1hc3BlY3Qt
cmF0aW8iKScsICcxLzEnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNp
bmcoImFzcGVjdFJhdGlvVGVzdCIsICIxLzQiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICcx
LzQnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJh
dGlvVGVzdCIsICIxIC8gMiIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJzEvMicpOworICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0Iiwg
IjEuMiAvIDIiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICcxLjIvMicpOworICAgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjIgLyAw
LjUiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICcyLzAuNScpOworICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIm5vbmUiLCAiLXdl
YmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICAKKyAgICAgIC8vIFRoZSBmb2xs
b3dpbmcgYXJlIGludmFsaWQgYW5kIHNob3VsZCBnZXQgaWdub3JlZC4KKyAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIDIiLCAiLXdl
YmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiYS8xIiwgIi13ZWJraXQtYXNwZWN0
LXJhdGlvIiknLCAnbm9uZScpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFy
c2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEvYSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywg
J25vbmUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVj
dFJhdGlvVGVzdCIsICJhYmMxMjMiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7
CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rl
c3QiLCAiMSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsKKyAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIC8gMCIs
ICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIwIC8gMSIsICItd2Via2l0
LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygn
dGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIwIC8gMCIsICItd2Via2l0LWFzcGVjdC1y
YXRpbyIpJywgJ25vbmUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNp
bmcoImFzcGVjdFJhdGlvVGVzdCIsICItMSAvIDgiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScs
ICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3Bl
Y3RSYXRpb1Rlc3QiLCAiMSAvIC05IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScp
OworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9U
ZXN0IiwgIi0xIC8gLTQiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAg
PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+CisgIDwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113610</attachid>
            <date>2011-11-03 19:58:14 -0700</date>
            <delta_ts>2011-11-03 20:01:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70707-20111103225812.patch</filename>
            <type>text/plain</type>
            <size>20596</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkyMzcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjODcyNTBiMDQ4NTE4NGI0
NjNkYmU2YjMzODUxN2MzMmIzOTY4MWQ4Li4yOWQ5NmM4YWFhN2YzOTA2N2M0ZGNhZTE5YjdjY2Rk
ZDkxZGQ1ZTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTEtMTEtMDMgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NTIEFzcGVjdCBSYXRp
byBQcm9wZXJ0eSBQYXJzaW5nIFN0YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MDcwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZGVkIHBhcnNpbmcgc3VwcG9ydCBmb3IgLXdlYmtpdC1hc3BlY3Qt
cmF0aW8gQ1NTIHByb3BlcnR5LgorICAgICAgICBUaGUgc3BlYyBjYW4gYmUgZm91bmQgaGVyZTog
aHR0cDovL3d3dy54YW50aGlyLmNvbS9ibG9nL2I0ODEwCisKKyAgICAgICAgVGVzdDogZmFzdC9j
c3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0
cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBXZWJDb3Jl
Lmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogY3NzL0NTU0FzcGVjdFJh
dGlvVmFsdWUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJhdGlvVmFs
dWU6On5DU1NBc3BlY3RSYXRpb1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJh
dGlvVmFsdWU6OmNzc1RleHQpOgorICAgICAgICAqIGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTQXNwZWN0UmF0aW9WYWx1ZTo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJhdGlvVmFsdWU6Om51bWVyYXRvclZhbHVlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJhdGlvVmFsdWU6OmRlbm9taW5hdG9yVmFsdWUp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQXNwZWN0UmF0aW9WYWx1ZTo6Q1NTQXNwZWN0UmF0aW9W
YWx1ZSk6CisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5
Q1NTVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHA6
CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUFzcGVj
dFJhdGlvKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisgICAgICAgICogY3NzL0NTU1By
b3BlcnR5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5Ojppc0luaGVyaXRlZFBy
b3BlcnR5KToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjoKKyAgICAgICAgKiBj
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVj
dG9yOjphcHBseVByb3BlcnR5KToKKwogMjAxMS0xMS0wMyAgRGFuaWVsIENoZW5nICA8ZGNoZW5n
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFJlbW92ZSB1bnVzZWQgY2xpcGJv
YXJkIG1ldGhvZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYjkyMDM5MDIzNTc5YmRiZjk5OTlm
ZjNjY2I4ZDQ2ODMwNTA1NmYzYS4uNzUyOTY5ZTllMjY2OGFhNmRhYTFjNGM5YWQ1YzJlZWY2MWQ4
M2VlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQzMSw2ICs0MzEsNyBAQCBTRVQoV2ViQ29y
ZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvZ2VuZXJpYy9BY3RpdmVET01DYWxsYmFjay5jcHAKICAg
ICBiaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCiAKKyAgICBjc3Mv
Q1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAKICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAK
ICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcAogICAgIGNzcy9DU1NDYW52YXNW
YWx1ZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0g
Yi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDE4NDgyNWNjY2VkYjli
ZTA4YjMxN2NlMDE5ZWUwZThhNWZkYTRhY2MuLjIzZmFjZGU1NjJhMzJhNTU5NTI5MTJiOGNjY2Ji
NGRhNGZiNjJmNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtOTU3LDYgKzk1
Nyw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRp
bWVfcm9vdC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jb25maWcuaCBcCiAJU291cmNlL1dlYkNvcmUv
Y3NzL0NvdW50ZXIuaCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUu
Y3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDA1ZjIxM2U2
MmZmYmFhOTczZjY3MTlhMmIwZTJkMTZlMjA2YmUyYzEuLjIzYmVkYjM0NTJjNmMxMTZmYzVkNWM2
ODlkZmQ4NmFiMDI2ZTYwYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIzMzAsNiArMjMzMCw4IEBA
CiAgICAgICAgICAgICAnYnJpZGdlL3Rlc3RiaW5kaW5ncy5tbScsCiAgICAgICAgICAgICAnYnJp
ZGdlL3Rlc3RxdGJpbmRpbmdzLmNwcCcsCiAgICAgICAgICAgICAnY29uZmlnLmgnLAorICAgICAg
ICAgICAgJ2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCcsCisgICAgICAgICAgICAnY3NzL0NT
U0FzcGVjdFJhdGlvVmFsdWUuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU0JvcmRlckltYWdlVmFs
dWUuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oJywKICAgICAg
ICAgICAgICdjc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcCcsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCmlu
ZGV4IDg5Yzk3NDRhYmEwOGRhMTllMTFiMzUwMmY5ZDg0ZDc1YzMyODI5YzYuLjZmNDZhYjllYjYy
ODg2ZGRmYzI3YTk2NWU0YTI3ZmQ2NzQzODRjMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zODcsNiAr
Mzg3LDcgQEAgdjggewogfQogCiBTT1VSQ0VTICs9IFwKKyAgICBjc3MvQ1NTQXNwZWN0UmF0aW9W
YWx1ZS5jcHAgXAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwIFwKICAgICBj
c3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NDYW52YXNWYWx1ZS5jcHAg
XApAQCAtMTQ2Nyw2ICsxNDY4LDcgQEAgdjggewogfQogCiBIRUFERVJTICs9IFwKKyAgICBjc3Mv
Q1NTQXNwZWN0UmF0aW9WYWx1ZS5oIFwKICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVl
LmggXAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmggXAogICAgIGNzcy9DU1NDYW52YXNW
YWx1ZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBc3BlY3RSYXRpb1Zh
bHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42ZDhmOWIxMDVmNzdjZTUzMGMyMjNlMTFiMzQzNmNiM2I2Y2U2OWYyCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwCkBA
IC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBu
YW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisg
KiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQor
ICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICog
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1NTQXNwZWN0
UmF0aW9WYWx1ZS5oIgorCisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK0NTU0FzcGVjdFJhdGlvVmFsdWU6On5DU1NBc3BlY3RSYXRp
b1ZhbHVlKCkKK3sKK30KKworU3RyaW5nIENTU0FzcGVjdFJhdGlvVmFsdWU6OmNzc1RleHQoKSBj
b25zdAoreworICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OworICAgIHJlc3VsdC5hcHBlbmQoU3Ry
aW5nOjpudW1iZXIobV9udW1lcmF0b3JWYWx1ZSkpOworICAgIHJlc3VsdC5hcHBlbmQoIi8iKTsK
KyAgICByZXN1bHQuYXBwZW5kKFN0cmluZzo6bnVtYmVyKG1fZGVub21pbmF0b3JWYWx1ZSkpOwor
ICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NBc3BlY3RSYXRpb1ZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmUwOTQ1ZTFkZDRjZTJlM2Y5NjE0Y2Ji
YjJiMDQxNjllNjYzMDFkYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NBc3BlY3RSYXRpb1ZhbHVlLmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBs
ZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
CisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQ1NTQXNwZWN0
UmF0aW9WYWx1ZV9oCisjZGVmaW5lIENTU0FzcGVjdFJhdGlvVmFsdWVfaAorCisjaW5jbHVkZSAi
Q1NTUHJpbWl0aXZlVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NWYWx1ZS5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIENTU0FzcGVjdFJhdGlvVmFsdWUgOiBwdWJsaWMgQ1NTVmFsdWUg
eworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0FzcGVjdFJhdGlvVmFsdWU+IGNy
ZWF0ZShmbG9hdCBudW1lcmF0b3JWYWx1ZSwgZmxvYXQgZGVub21pbmF0b3JWYWx1ZSkKKyAgICB7
CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTQXNwZWN0UmF0aW9WYWx1ZShudW1lcmF0
b3JWYWx1ZSwgZGVub21pbmF0b3JWYWx1ZSkpOworICAgIH0KKworICAgIHZpcnR1YWwgfkNTU0Fz
cGVjdFJhdGlvVmFsdWUoKTsKKworICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsK
KworICAgIGZsb2F0IG51bWVyYXRvclZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9udW1lcmF0b3JW
YWx1ZTsgfQorICAgIGZsb2F0IGRlbm9taW5hdG9yVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2Rl
bm9taW5hdG9yVmFsdWU7IH0KKworcHJpdmF0ZToKKyAgICBDU1NBc3BlY3RSYXRpb1ZhbHVlKGZs
b2F0IG51bWVyYXRvclZhbHVlLCBmbG9hdCBkZW5vbWluYXRvclZhbHVlKQorICAgICAgICA6IG1f
bnVtZXJhdG9yVmFsdWUobnVtZXJhdG9yVmFsdWUpCisgICAgICAgICwgbV9kZW5vbWluYXRvclZh
bHVlKGRlbm9taW5hdG9yVmFsdWUpCisgICAgeworICAgIH0KKworICAgIGZsb2F0IG1fbnVtZXJh
dG9yVmFsdWU7CisgICAgZmxvYXQgbV9kZW5vbWluYXRvclZhbHVlOworfTsKKworfQorCisjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAKaW5kZXggZDJhNTBkZmNjNjdmZGU2NGVkNDM3Nzg2YjQyYjFkMzNjYjBkMmRlYS4uOTU2
ZmIyYTViNzFhNWY5NzVlNGQwMGIwNTYzZWU3MjA0YzdmZWZiZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTIwMzMsNiAr
MjAzMyw3IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bjo6Z2V0UHJvcGVydHlDU1NWYWx1ZShpbnQgcHJvcGVyCiAgICAgICAgICAgICBicmVhazsKIAog
ICAgICAgICAvKiBVbmltcGxlbWVudGVkIENTUyAzIHByb3BlcnRpZXMgKGluY2x1ZGluZyBDU1Mz
IHNob3J0aGFuZCBwcm9wZXJ0aWVzKSAqLworICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0
QXNwZWN0UmF0aW86CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0RW1waGFzaXM6
CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0TGluZVRocm91Z2g6CiAgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlUZXh0TGluZVRocm91Z2hDb2xvcjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDQ0Y2Y4MDdjNmM2MTNhYzFi
ZjliMDhlNTYyZGNhYjE0ZTQ1ODkxYTIuLmM0ZWJiOGIwNmMxMmI2MmVlNzczN2UyMDE4ZjMwZDM1
MDVjMWQ5YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVE
ZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURl
Y2xhcmF0aW9uLmNwcApAQCAtNzg3LDYgKzc4Nyw3IEBAIHZvaWQgQ1NTTXV0YWJsZVN0eWxlRGVj
bGFyYXRpb246OmFkZFN1YnJlc291cmNlU3R5bGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiB1cmxz
CiBzdGF0aWMgY29uc3QgaW50IGJsb2NrUHJvcGVydGllc1tdID0gewogICAgIENTU1Byb3BlcnR5
T3JwaGFucywKICAgICBDU1NQcm9wZXJ0eU92ZXJmbG93LCAvLyBUaGlzIGNhbiBiZSBhbHNvIGJl
IGFwcGxpZWQgdG8gcmVwbGFjZWQgZWxlbWVudHMKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdEFzcGVj
dFJhdGlvLAogICAgIENTU1Byb3BlcnR5V2Via2l0Q29sdW1uQ291bnQsCiAgICAgQ1NTUHJvcGVy
dHlXZWJraXRDb2x1bW5HYXAsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5SdWxlQ29sb3Is
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IGQ0ZmVhNzRhM2ViZTJjZDhiY2U5M2E2OGY4
NTU1OTI0NTI0ZTU5NTQuLjYxZmU1YTM3MzMwODZkMDA2MTVlNTVlZjNmMjk4OWIyN2JjYWEyNjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2VyLmgiCiAKKyNpbmNsdWRlICJDU1NBc3BlY3RS
YXRpb1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUg
IkNTU0NhbnZhc1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQ2hhcnNldFJ1bGUuaCIKQEAgLTE1MTAs
NiArMTUxMSw4IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKGludCBwcm9wSWQsIGJvb2wg
aW1wb3J0YW50KQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eUJvcmRlclJhZGl1czoKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW86
CisgICAgICAgIHJldHVybiBwYXJzZUFzcGVjdFJhdGlvKGltcG9ydGFudCk7CiAgICAgY2FzZSBD
U1NQcm9wZXJ0eVdlYmtpdEJvcmRlclJhZGl1czoKICAgICAgICAgcmV0dXJuIHBhcnNlQm9yZGVy
UmFkaXVzKHByb3BJZCwgaW1wb3J0YW50KTsKICAgICBjYXNlIENTU1Byb3BlcnR5T3V0bGluZU9m
ZnNldDoKQEAgLTU2NDgsNiArNTY1MSwzNSBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VCb3JkZXJS
YWRpdXMoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
K2Jvb2wgQ1NTUGFyc2VyOjpwYXJzZUFzcGVjdFJhdGlvKGJvb2wgaW1wb3J0YW50KQoreworICAg
IHVuc2lnbmVkIG51bSA9IG1fdmFsdWVMaXN0LT5zaXplKCk7CisgICAgaWYgKG51bSA9PSAxICYm
IG1fdmFsdWVMaXN0LT52YWx1ZUF0KDApLT5pZCA9PSBDU1NWYWx1ZU5vbmUpIHsKKyAgICAgICAg
YWRkUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRBc3BlY3RSYXRpbywgcHJpbWl0aXZlVmFsdWVD
YWNoZSgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb25lKSwgaW1wb3J0YW50KTsK
KyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgaWYgKG51bSAhPSAzKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBDU1NQYXJzZXJWYWx1ZSogbHZhbHVlID0gbV92YWx1ZUxp
c3QtPnZhbHVlQXQoMCk7CisgICAgQ1NTUGFyc2VyVmFsdWUqIG9wID0gbV92YWx1ZUxpc3QtPnZh
bHVlQXQoMSk7CisgICAgQ1NTUGFyc2VyVmFsdWUqIHJ2YWx1ZSA9IG1fdmFsdWVMaXN0LT52YWx1
ZUF0KDIpOworCisgICAgaWYgKG9wLT51bml0ICE9IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvciB8
fCBvcC0+aVZhbHVlICE9ICcvJykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCF2
YWxpZFVuaXQobHZhbHVlLCBGTnVtYmVyIHwgRk5vbk5lZywgbV9zdHJpY3QpIHx8ICF2YWxpZFVu
aXQocnZhbHVlLCBGTnVtYmVyIHwgRk5vbk5lZywgbV9zdHJpY3QpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBpZiAoIWx2YWx1ZS0+ZlZhbHVlIHx8ICFydmFsdWUtPmZWYWx1ZSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRB
c3BlY3RSYXRpbywgQ1NTQXNwZWN0UmF0aW9WYWx1ZTo6Y3JlYXRlKGx2YWx1ZS0+ZlZhbHVlLCBy
dmFsdWUtPmZWYWx1ZSksIGltcG9ydGFudCk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogYm9v
bCBDU1NQYXJzZXI6OnBhcnNlQ291bnRlcihpbnQgcHJvcElkLCBpbnQgZGVmYXVsdFZhbHVlLCBi
b29sIGltcG9ydGFudCkKIHsKICAgICBlbnVtIHsgSUQsIFZBTCB9IHN0YXRlID0gSUQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmgKaW5kZXggNzQ0ZDNjNzVjOTVlMGNhMTk0Y2EyZTU4MDc4YjlkMmVhZjU3
MjBhMi4uYjEyZThjOTIxODdmNWEwMTU0MmFhYjliMDcyZGQwYTg4ZTc0ZDFkMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXIuaApAQCAtMTcxLDYgKzE3MSw4IEBAIHB1YmxpYzoKICAgICBib29sIHBhcnNl
Qm9yZGVySW1hZ2VPdXRzZXQoUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiYpOwogICAgIGJvb2wg
cGFyc2VCb3JkZXJSYWRpdXMoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOwogCisgICAgYm9v
bCBwYXJzZUFzcGVjdFJhdGlvKGJvb2wgaW1wb3J0YW50KTsKKwogICAgIGJvb2wgcGFyc2VSZWZs
ZWN0KGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKIAogICAgIGJvb2wgcGFyc2VGbGV4KGlu
dCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcm9wZXJ0eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCmlu
ZGV4IDNlN2RmNTExNWI5YmVhMjcwYjI3Y2VlOGNjOTgwMzE4OTQ4ODBhZTMuLmRlN2M5MjczYjc5
ZDY3OGRmZDAzNjQ4ZDczNmRiNzdhYzVhYzg5OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5
LmNwcApAQCAtMzE3LDYgKzMxNyw3IEBAIGJvb2wgQ1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJv
cGVydHkodW5zaWduZWQgcHJvcGVydHlJRCkKICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dFNoYWRv
dzoKICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dFRyYW5zZm9ybToKICAgICBjYXNlIENTU1Byb3Bl
cnR5VmlzaWJpbGl0eToKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW86CiAg
ICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlckhvcml6b250YWxTcGFjaW5nOgogICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJWZXJ0aWNhbFNwYWNpbmc6CiAgICAgY2FzZSBDU1NQ
cm9wZXJ0eVdlYmtpdEJveERpcmVjdGlvbjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcm9wZXJ0eU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFt
ZXMuaW4KaW5kZXggZDFlZjJhZWQyNWQ0NDEwY2E2MzI4YTA0Y2Y3YjZhZTI1ZGFiNzM0Zi4uNTI5
NDRkODJlOWNkYTdiYjU3ZGRjYTY2ZWVlYzllOWM2OTk5YmRlMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnR5TmFtZXMuaW4KQEAgLTE5Myw2ICsxOTMsNyBAQCB6LWluZGV4CiAtd2Via2l0
LWFuaW1hdGlvbi1wbGF5LXN0YXRlCiAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24K
IC13ZWJraXQtYXBwZWFyYW5jZQorLXdlYmtpdC1hc3BlY3QtcmF0aW8KIC13ZWJraXQtYmFja2Zh
Y2UtdmlzaWJpbGl0eQogLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXAKIC13ZWJraXQtYmFja2dyb3Vu
ZC1jb21wb3NpdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVj
dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRleCBi
YWU3MzZmNzk5YWQ2MGFiZTk3YzYxNmE3Yzk3NjE2NzJhN2M0YWE4Li4zNGYwNjNiODcxOTgxMDVj
NmQ5YzgyN2Q3NmJjMzZhNzE0ZGFmNGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuY3BwCkBAIC0zNzcyLDYgKzM3NzIsNyBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFw
cGx5UHJvcGVydHkoaW50IGlkLCBDU1NWYWx1ZSAqdmFsdWUpCiAgICAgY2FzZSBDU1NQcm9wZXJ0
eVRleHRVbmRlcmxpbmVNb2RlOgogICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0VW5kZXJsaW5lU3R5
bGU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRVbmRlcmxpbmVXaWR0aDoKKyAgICBjYXNlIENT
U1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW86CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEZv
bnRTaXplRGVsdGE6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uc0lu
RWZmZWN0OgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0U3Ryb2tlOgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE2
ZTM2NjM1NmU3NzViZDJkOTVhZjQ1YjQzNzUyZTAzZjhlYzMyYWYuLjgwODYyN2MxYzcwMjA5MmU2
MjBhODBiMjdmNWZiMGExMmRiOWI0MWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0xMS0w
MyAgRmFkeSBTYW11ZWwgIDxmc2FtdWVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBDU1MgQXNw
ZWN0IFJhdGlvIFByb3BlcnR5IFBhcnNpbmcgU3RhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Nzcy9hc3BlY3QtcmF0aW8tcGFyc2luZy10
ZXN0cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2FzcGVjdC1yYXRp
by1wYXJzaW5nLXRlc3RzLmh0bWw6IEFkZGVkLgorCiAyMDExLTExLTAzICBBbm5hIENhdmVuZGVy
ICA8YW5uYWNjQGNocm9taXVtLm9yZz4KIAogICAgICAgICBUZXN0cyBmb3IgVGV4dFRyYWNrQ3Vl
TGlzdCBpbXBsZW1lbnRhdGlvbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2Fz
cGVjdC1yYXRpby1wYXJzaW5nLXRlc3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzL2FzcGVjdC1yYXRpby1wYXJzaW5nLXRlc3RzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
MTRlYjRiNjI0Y2RjYzg5ZGI0NDlmNDZjMTdmOTRhMjM0OTZlMDZjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMjcgQEAKK0NTUyBBc3BlY3QgUmF0aW8gUGFyc2luZyBUZXN0CisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RS
YXRpb1Rlc3QiLCAiMi8xIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIjIvMSIKK1BBU1Mg
dGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxLzEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0
aW8iKSBpcyAiMS8xIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEvNCIs
ICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICIxLzQiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3Bl
Y3RSYXRpb1Rlc3QiLCAiMSAvIDIiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAiMS8yIgor
UEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEuMiAvIDIiLCAiLXdlYmtpdC1h
c3BlY3QtcmF0aW8iKSBpcyAiMS4yLzIiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rl
c3QiLCAiMiAvIDAuNSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICIyLzAuNSIKK1BBU1Mg
dGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICJub25lIiwgIi13ZWJraXQtYXNwZWN0LXJh
dGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAy
IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJh
c3BlY3RSYXRpb1Rlc3QiLCAiYS8xIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUi
CitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS9hIiwgIi13ZWJraXQtYXNw
ZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3Qi
LCAiYWJjMTIzIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQ
YXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlz
ICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEgLyAwIiwgIi13
ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RS
YXRpb1Rlc3QiLCAiMCAvIDEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BB
U1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIwIC8gMCIsICItd2Via2l0LWFzcGVj
dC1yYXRpbyIpIGlzICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0Iiwg
Ii0xIC8gOCIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICJub25lIgorUEFTUyB0ZXN0UGFy
c2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEgLyAtOSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIp
IGlzICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIi0xIC8gLTQi
LCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9hc3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41Y2Q2NDhk
ZmQ4NWRiZmVmM2VmODVlZWI3YjExMzZlZDJlNjM5NWMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMuaHRtbApAQCAtMCww
ICsxLDQzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+CisgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgPC9o
ZWFkPgorICA8Ym9keT4KKyAgICA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKyAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJhc3BlY3RSYXRpb1Rlc3QiPjwvZGl2Pgor
ICAgIDxzY3JpcHQ+CisgICAgICBkZXNjcmlwdGlvbignQ1NTIEFzcGVjdCBSYXRpbyBQYXJzaW5n
IFRlc3QnKTsKKyAgICAgIGZ1bmN0aW9uIHRlc3RQYXJzaW5nKGVsZW1lbnRJZCwgZmxleFZhbHVl
LCBzdHlsZUF0dHJpYnV0ZSkKKyAgICAgIHsKKyAgICAgICAgICB2YXIgZGl2ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoZWxlbWVudElkKTsKKyAgICAgICAgICBkaXYuc3R5bGVbc3R5bGVBdHRy
aWJ1dGVdID0gZmxleFZhbHVlOworICAgICAgICAgIHJldHVybiBkaXYuc3R5bGVbc3R5bGVBdHRy
aWJ1dGVdOworICAgICAgfQorCisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJz
aW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMi8xIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAn
Mi8xJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RS
YXRpb1Rlc3QiLCAiMS8xIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnMS8xJyk7CisgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAi
MS80IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnMS80Jyk7CisgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAvIDIiLCAiLXdl
YmtpdC1hc3BlY3QtcmF0aW8iKScsICcxLzInKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxLjIgLyAyIiwgIi13ZWJraXQtYXNw
ZWN0LXJhdGlvIiknLCAnMS4yLzInKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVz
dFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIyIC8gMC41IiwgIi13ZWJraXQtYXNwZWN0LXJh
dGlvIiknLCAnMi8wLjUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNp
bmcoImFzcGVjdFJhdGlvVGVzdCIsICJub25lIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAn
bm9uZScpOworICAgICAgCisgICAgICAvLyBUaGUgZm9sbG93aW5nIGFyZSBpbnZhbGlkIGFuZCBz
aG91bGQgZ2V0IGlnbm9yZWQuCisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJz
aW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAyIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAn
bm9uZScpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0
UmF0aW9UZXN0IiwgImEvMSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsKKyAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIs
ICIxL2EiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiYWJjMTIzIiwg
Ii13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEiLCAiLXdlYmtpdC1hc3Bl
Y3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQ
YXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAvIDAiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8i
KScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJh
c3BlY3RSYXRpb1Rlc3QiLCAiMCAvIDEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25l
Jyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRp
b1Rlc3QiLCAiMCAvIDAiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAi
LTEgLyA4IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEgLyAtOSIs
ICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICItMSAvIC00IiwgIi13ZWJr
aXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQg
c3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
ICA8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113612</attachid>
            <date>2011-11-03 20:01:37 -0700</date>
            <delta_ts>2011-11-03 20:20:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70707-20111103230136.patch</filename>
            <type>text/plain</type>
            <size>20588</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkyMzcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjODcyNTBiMDQ4NTE4NGI0
NjNkYmU2YjMzODUxN2MzMmIzOTY4MWQ4Li4yOWQ5NmM4YWFhN2YzOTA2N2M0ZGNhZTE5YjdjY2Rk
ZDkxZGQ1ZTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTEtMTEtMDMgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NTIEFzcGVjdCBSYXRp
byBQcm9wZXJ0eSBQYXJzaW5nIFN0YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MDcwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZGVkIHBhcnNpbmcgc3VwcG9ydCBmb3IgLXdlYmtpdC1hc3BlY3Qt
cmF0aW8gQ1NTIHByb3BlcnR5LgorICAgICAgICBUaGUgc3BlYyBjYW4gYmUgZm91bmQgaGVyZTog
aHR0cDovL3d3dy54YW50aGlyLmNvbS9ibG9nL2I0ODEwCisKKyAgICAgICAgVGVzdDogZmFzdC9j
c3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0
cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBXZWJDb3Jl
Lmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogY3NzL0NTU0FzcGVjdFJh
dGlvVmFsdWUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJhdGlvVmFs
dWU6On5DU1NBc3BlY3RSYXRpb1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJh
dGlvVmFsdWU6OmNzc1RleHQpOgorICAgICAgICAqIGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTQXNwZWN0UmF0aW9WYWx1ZTo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJhdGlvVmFsdWU6Om51bWVyYXRvclZhbHVlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJhdGlvVmFsdWU6OmRlbm9taW5hdG9yVmFsdWUp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQXNwZWN0UmF0aW9WYWx1ZTo6Q1NTQXNwZWN0UmF0aW9W
YWx1ZSk6CisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5
Q1NTVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHA6
CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUFzcGVj
dFJhdGlvKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisgICAgICAgICogY3NzL0NTU1By
b3BlcnR5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5Ojppc0luaGVyaXRlZFBy
b3BlcnR5KToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjoKKyAgICAgICAgKiBj
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVj
dG9yOjphcHBseVByb3BlcnR5KToKKwogMjAxMS0xMS0wMyAgRGFuaWVsIENoZW5nICA8ZGNoZW5n
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFJlbW92ZSB1bnVzZWQgY2xpcGJv
YXJkIG1ldGhvZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYjkyMDM5MDIzNTc5YmRiZjk5OTlm
ZjNjY2I4ZDQ2ODMwNTA1NmYzYS4uNzUyOTY5ZTllMjY2OGFhNmRhYTFjNGM5YWQ1YzJlZWY2MWQ4
M2VlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQzMSw2ICs0MzEsNyBAQCBTRVQoV2ViQ29y
ZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvZ2VuZXJpYy9BY3RpdmVET01DYWxsYmFjay5jcHAKICAg
ICBiaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCiAKKyAgICBjc3Mv
Q1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAKICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAK
ICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcAogICAgIGNzcy9DU1NDYW52YXNW
YWx1ZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0g
Yi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDE4NDgyNWNjY2VkYjli
ZTA4YjMxN2NlMDE5ZWUwZThhNWZkYTRhY2MuLjIzZmFjZGU1NjJhMzJhNTU5NTI5MTJiOGNjY2Ji
NGRhNGZiNjJmNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtOTU3LDYgKzk1
Nyw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRp
bWVfcm9vdC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jb25maWcuaCBcCiAJU291cmNlL1dlYkNvcmUv
Y3NzL0NvdW50ZXIuaCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUu
Y3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDA1ZjIxM2U2
MmZmYmFhOTczZjY3MTlhMmIwZTJkMTZlMjA2YmUyYzEuLjIzYmVkYjM0NTJjNmMxMTZmYzVkNWM2
ODlkZmQ4NmFiMDI2ZTYwYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIzMzAsNiArMjMzMCw4IEBA
CiAgICAgICAgICAgICAnYnJpZGdlL3Rlc3RiaW5kaW5ncy5tbScsCiAgICAgICAgICAgICAnYnJp
ZGdlL3Rlc3RxdGJpbmRpbmdzLmNwcCcsCiAgICAgICAgICAgICAnY29uZmlnLmgnLAorICAgICAg
ICAgICAgJ2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCcsCisgICAgICAgICAgICAnY3NzL0NT
U0FzcGVjdFJhdGlvVmFsdWUuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU0JvcmRlckltYWdlVmFs
dWUuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oJywKICAgICAg
ICAgICAgICdjc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcCcsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCmlu
ZGV4IDg5Yzk3NDRhYmEwOGRhMTllMTFiMzUwMmY5ZDg0ZDc1YzMyODI5YzYuLjZmNDZhYjllYjYy
ODg2ZGRmYzI3YTk2NWU0YTI3ZmQ2NzQzODRjMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zODcsNiAr
Mzg3LDcgQEAgdjggewogfQogCiBTT1VSQ0VTICs9IFwKKyAgICBjc3MvQ1NTQXNwZWN0UmF0aW9W
YWx1ZS5jcHAgXAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwIFwKICAgICBj
c3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NDYW52YXNWYWx1ZS5jcHAg
XApAQCAtMTQ2Nyw2ICsxNDY4LDcgQEAgdjggewogfQogCiBIRUFERVJTICs9IFwKKyAgICBjc3Mv
Q1NTQXNwZWN0UmF0aW9WYWx1ZS5oIFwKICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVl
LmggXAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmggXAogICAgIGNzcy9DU1NDYW52YXNW
YWx1ZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBc3BlY3RSYXRpb1Zh
bHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42ZDhmOWIxMDVmNzdjZTUzMGMyMjNlMTFiMzQzNmNiM2I2Y2U2OWYyCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwCkBA
IC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBu
YW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisg
KiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQor
ICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICog
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1NTQXNwZWN0
UmF0aW9WYWx1ZS5oIgorCisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK0NTU0FzcGVjdFJhdGlvVmFsdWU6On5DU1NBc3BlY3RSYXRp
b1ZhbHVlKCkKK3sKK30KKworU3RyaW5nIENTU0FzcGVjdFJhdGlvVmFsdWU6OmNzc1RleHQoKSBj
b25zdAoreworICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OworICAgIHJlc3VsdC5hcHBlbmQoU3Ry
aW5nOjpudW1iZXIobV9udW1lcmF0b3JWYWx1ZSkpOworICAgIHJlc3VsdC5hcHBlbmQoIi8iKTsK
KyAgICByZXN1bHQuYXBwZW5kKFN0cmluZzo6bnVtYmVyKG1fZGVub21pbmF0b3JWYWx1ZSkpOwor
ICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NBc3BlY3RSYXRpb1ZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmUwOTQ1ZTFkZDRjZTJlM2Y5NjE0Y2Ji
YjJiMDQxNjllNjYzMDFkYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NBc3BlY3RSYXRpb1ZhbHVlLmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBs
ZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
CisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQ1NTQXNwZWN0
UmF0aW9WYWx1ZV9oCisjZGVmaW5lIENTU0FzcGVjdFJhdGlvVmFsdWVfaAorCisjaW5jbHVkZSAi
Q1NTUHJpbWl0aXZlVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NWYWx1ZS5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIENTU0FzcGVjdFJhdGlvVmFsdWUgOiBwdWJsaWMgQ1NTVmFsdWUg
eworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0FzcGVjdFJhdGlvVmFsdWU+IGNy
ZWF0ZShmbG9hdCBudW1lcmF0b3JWYWx1ZSwgZmxvYXQgZGVub21pbmF0b3JWYWx1ZSkKKyAgICB7
CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTQXNwZWN0UmF0aW9WYWx1ZShudW1lcmF0
b3JWYWx1ZSwgZGVub21pbmF0b3JWYWx1ZSkpOworICAgIH0KKworICAgIHZpcnR1YWwgfkNTU0Fz
cGVjdFJhdGlvVmFsdWUoKTsKKworICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsK
KworICAgIGZsb2F0IG51bWVyYXRvclZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9udW1lcmF0b3JW
YWx1ZTsgfQorICAgIGZsb2F0IGRlbm9taW5hdG9yVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2Rl
bm9taW5hdG9yVmFsdWU7IH0KKworcHJpdmF0ZToKKyAgICBDU1NBc3BlY3RSYXRpb1ZhbHVlKGZs
b2F0IG51bWVyYXRvclZhbHVlLCBmbG9hdCBkZW5vbWluYXRvclZhbHVlKQorICAgICAgICA6IG1f
bnVtZXJhdG9yVmFsdWUobnVtZXJhdG9yVmFsdWUpCisgICAgICAgICwgbV9kZW5vbWluYXRvclZh
bHVlKGRlbm9taW5hdG9yVmFsdWUpCisgICAgeworICAgIH0KKworICAgIGZsb2F0IG1fbnVtZXJh
dG9yVmFsdWU7CisgICAgZmxvYXQgbV9kZW5vbWluYXRvclZhbHVlOworfTsKKworfQorCisjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAKaW5kZXggZDJhNTBkZmNjNjdmZGU2NGVkNDM3Nzg2YjQyYjFkMzNjYjBkMmRlYS4uOTU2
ZmIyYTViNzFhNWY5NzVlNGQwMGIwNTYzZWU3MjA0YzdmZWZiZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTIwMzMsNiAr
MjAzMyw3IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bjo6Z2V0UHJvcGVydHlDU1NWYWx1ZShpbnQgcHJvcGVyCiAgICAgICAgICAgICBicmVhazsKIAog
ICAgICAgICAvKiBVbmltcGxlbWVudGVkIENTUyAzIHByb3BlcnRpZXMgKGluY2x1ZGluZyBDU1Mz
IHNob3J0aGFuZCBwcm9wZXJ0aWVzKSAqLworICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0
QXNwZWN0UmF0aW86CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0RW1waGFzaXM6
CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0TGluZVRocm91Z2g6CiAgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlUZXh0TGluZVRocm91Z2hDb2xvcjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDQ0Y2Y4MDdjNmM2MTNhYzFi
ZjliMDhlNTYyZGNhYjE0ZTQ1ODkxYTIuLmM0ZWJiOGIwNmMxMmI2MmVlNzczN2UyMDE4ZjMwZDM1
MDVjMWQ5YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVE
ZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURl
Y2xhcmF0aW9uLmNwcApAQCAtNzg3LDYgKzc4Nyw3IEBAIHZvaWQgQ1NTTXV0YWJsZVN0eWxlRGVj
bGFyYXRpb246OmFkZFN1YnJlc291cmNlU3R5bGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiB1cmxz
CiBzdGF0aWMgY29uc3QgaW50IGJsb2NrUHJvcGVydGllc1tdID0gewogICAgIENTU1Byb3BlcnR5
T3JwaGFucywKICAgICBDU1NQcm9wZXJ0eU92ZXJmbG93LCAvLyBUaGlzIGNhbiBiZSBhbHNvIGJl
IGFwcGxpZWQgdG8gcmVwbGFjZWQgZWxlbWVudHMKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdEFzcGVj
dFJhdGlvLAogICAgIENTU1Byb3BlcnR5V2Via2l0Q29sdW1uQ291bnQsCiAgICAgQ1NTUHJvcGVy
dHlXZWJraXRDb2x1bW5HYXAsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5SdWxlQ29sb3Is
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IGQ0ZmVhNzRhM2ViZTJjZDhiY2U5M2E2OGY4
NTU1OTI0NTI0ZTU5NTQuLjYxZmU1YTM3MzMwODZkMDA2MTVlNTVlZjNmMjk4OWIyN2JjYWEyNjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2VyLmgiCiAKKyNpbmNsdWRlICJDU1NBc3BlY3RS
YXRpb1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUg
IkNTU0NhbnZhc1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQ2hhcnNldFJ1bGUuaCIKQEAgLTE1MTAs
NiArMTUxMSw4IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKGludCBwcm9wSWQsIGJvb2wg
aW1wb3J0YW50KQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eUJvcmRlclJhZGl1czoKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW86
CisgICAgICAgIHJldHVybiBwYXJzZUFzcGVjdFJhdGlvKGltcG9ydGFudCk7CiAgICAgY2FzZSBD
U1NQcm9wZXJ0eVdlYmtpdEJvcmRlclJhZGl1czoKICAgICAgICAgcmV0dXJuIHBhcnNlQm9yZGVy
UmFkaXVzKHByb3BJZCwgaW1wb3J0YW50KTsKICAgICBjYXNlIENTU1Byb3BlcnR5T3V0bGluZU9m
ZnNldDoKQEAgLTU2NDgsNiArNTY1MSwzNSBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VCb3JkZXJS
YWRpdXMoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
K2Jvb2wgQ1NTUGFyc2VyOjpwYXJzZUFzcGVjdFJhdGlvKGJvb2wgaW1wb3J0YW50KQoreworICAg
IHVuc2lnbmVkIG51bSA9IG1fdmFsdWVMaXN0LT5zaXplKCk7CisgICAgaWYgKG51bSA9PSAxICYm
IG1fdmFsdWVMaXN0LT52YWx1ZUF0KDApLT5pZCA9PSBDU1NWYWx1ZU5vbmUpIHsKKyAgICAgICAg
YWRkUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRBc3BlY3RSYXRpbywgcHJpbWl0aXZlVmFsdWVD
YWNoZSgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb25lKSwgaW1wb3J0YW50KTsK
KyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgaWYgKG51bSAhPSAzKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBDU1NQYXJzZXJWYWx1ZSogbHZhbHVlID0gbV92YWx1ZUxp
c3QtPnZhbHVlQXQoMCk7CisgICAgQ1NTUGFyc2VyVmFsdWUqIG9wID0gbV92YWx1ZUxpc3QtPnZh
bHVlQXQoMSk7CisgICAgQ1NTUGFyc2VyVmFsdWUqIHJ2YWx1ZSA9IG1fdmFsdWVMaXN0LT52YWx1
ZUF0KDIpOworCisgICAgaWYgKG9wLT51bml0ICE9IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvciB8
fCBvcC0+aVZhbHVlICE9ICcvJykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCF2
YWxpZFVuaXQobHZhbHVlLCBGTnVtYmVyIHwgRk5vbk5lZywgbV9zdHJpY3QpIHx8ICF2YWxpZFVu
aXQocnZhbHVlLCBGTnVtYmVyIHwgRk5vbk5lZywgbV9zdHJpY3QpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBpZiAoIWx2YWx1ZS0+ZlZhbHVlIHx8ICFydmFsdWUtPmZWYWx1ZSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRB
c3BlY3RSYXRpbywgQ1NTQXNwZWN0UmF0aW9WYWx1ZTo6Y3JlYXRlKGx2YWx1ZS0+ZlZhbHVlLCBy
dmFsdWUtPmZWYWx1ZSksIGltcG9ydGFudCk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogYm9v
bCBDU1NQYXJzZXI6OnBhcnNlQ291bnRlcihpbnQgcHJvcElkLCBpbnQgZGVmYXVsdFZhbHVlLCBi
b29sIGltcG9ydGFudCkKIHsKICAgICBlbnVtIHsgSUQsIFZBTCB9IHN0YXRlID0gSUQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmgKaW5kZXggNzQ0ZDNjNzVjOTVlMGNhMTk0Y2EyZTU4MDc4YjlkMmVhZjU3
MjBhMi4uYjEyZThjOTIxODdmNWEwMTU0MmFhYjliMDcyZGQwYTg4ZTc0ZDFkMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXIuaApAQCAtMTcxLDYgKzE3MSw4IEBAIHB1YmxpYzoKICAgICBib29sIHBhcnNl
Qm9yZGVySW1hZ2VPdXRzZXQoUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiYpOwogICAgIGJvb2wg
cGFyc2VCb3JkZXJSYWRpdXMoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOwogCisgICAgYm9v
bCBwYXJzZUFzcGVjdFJhdGlvKGJvb2wgaW1wb3J0YW50KTsKKwogICAgIGJvb2wgcGFyc2VSZWZs
ZWN0KGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKIAogICAgIGJvb2wgcGFyc2VGbGV4KGlu
dCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcm9wZXJ0eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCmlu
ZGV4IDNlN2RmNTExNWI5YmVhMjcwYjI3Y2VlOGNjOTgwMzE4OTQ4ODBhZTMuLmRlN2M5MjczYjc5
ZDY3OGRmZDAzNjQ4ZDczNmRiNzdhYzVhYzg5OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5
LmNwcApAQCAtMzE3LDYgKzMxNyw3IEBAIGJvb2wgQ1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJv
cGVydHkodW5zaWduZWQgcHJvcGVydHlJRCkKICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dFNoYWRv
dzoKICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dFRyYW5zZm9ybToKICAgICBjYXNlIENTU1Byb3Bl
cnR5VmlzaWJpbGl0eToKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW86CiAg
ICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlckhvcml6b250YWxTcGFjaW5nOgogICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJWZXJ0aWNhbFNwYWNpbmc6CiAgICAgY2FzZSBDU1NQ
cm9wZXJ0eVdlYmtpdEJveERpcmVjdGlvbjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcm9wZXJ0eU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFt
ZXMuaW4KaW5kZXggZDFlZjJhZWQyNWQ0NDEwY2E2MzI4YTA0Y2Y3YjZhZTI1ZGFiNzM0Zi4uNTI5
NDRkODJlOWNkYTdiYjU3ZGRjYTY2ZWVlYzllOWM2OTk5YmRlMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnR5TmFtZXMuaW4KQEAgLTE5Myw2ICsxOTMsNyBAQCB6LWluZGV4CiAtd2Via2l0
LWFuaW1hdGlvbi1wbGF5LXN0YXRlCiAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24K
IC13ZWJraXQtYXBwZWFyYW5jZQorLXdlYmtpdC1hc3BlY3QtcmF0aW8KIC13ZWJraXQtYmFja2Zh
Y2UtdmlzaWJpbGl0eQogLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXAKIC13ZWJraXQtYmFja2dyb3Vu
ZC1jb21wb3NpdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVj
dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRleCBi
YWU3MzZmNzk5YWQ2MGFiZTk3YzYxNmE3Yzk3NjE2NzJhN2M0YWE4Li4zNGYwNjNiODcxOTgxMDVj
NmQ5YzgyN2Q3NmJjMzZhNzE0ZGFmNGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuY3BwCkBAIC0zNzcyLDYgKzM3NzIsNyBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFw
cGx5UHJvcGVydHkoaW50IGlkLCBDU1NWYWx1ZSAqdmFsdWUpCiAgICAgY2FzZSBDU1NQcm9wZXJ0
eVRleHRVbmRlcmxpbmVNb2RlOgogICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0VW5kZXJsaW5lU3R5
bGU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRVbmRlcmxpbmVXaWR0aDoKKyAgICBjYXNlIENT
U1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW86CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEZv
bnRTaXplRGVsdGE6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uc0lu
RWZmZWN0OgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0U3Ryb2tlOgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE2
ZTM2NjM1NmU3NzViZDJkOTVhZjQ1YjQzNzUyZTAzZjhlYzMyYWYuLjgwODYyN2MxYzcwMjA5MmU2
MjBhODBiMjdmNWZiMGExMmRiOWI0MWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0xMS0w
MyAgRmFkeSBTYW11ZWwgIDxmc2FtdWVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBDU1MgQXNw
ZWN0IFJhdGlvIFByb3BlcnR5IFBhcnNpbmcgU3RhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Nzcy9hc3BlY3QtcmF0aW8tcGFyc2luZy10
ZXN0cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2FzcGVjdC1yYXRp
by1wYXJzaW5nLXRlc3RzLmh0bWw6IEFkZGVkLgorCiAyMDExLTExLTAzICBBbm5hIENhdmVuZGVy
ICA8YW5uYWNjQGNocm9taXVtLm9yZz4KIAogICAgICAgICBUZXN0cyBmb3IgVGV4dFRyYWNrQ3Vl
TGlzdCBpbXBsZW1lbnRhdGlvbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2Fz
cGVjdC1yYXRpby1wYXJzaW5nLXRlc3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzL2FzcGVjdC1yYXRpby1wYXJzaW5nLXRlc3RzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
MTRlYjRiNjI0Y2RjYzg5ZGI0NDlmNDZjMTdmOTRhMjM0OTZlMDZjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMjcgQEAKK0NTUyBBc3BlY3QgUmF0aW8gUGFyc2luZyBUZXN0CisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RS
YXRpb1Rlc3QiLCAiMi8xIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIjIvMSIKK1BBU1Mg
dGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxLzEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0
aW8iKSBpcyAiMS8xIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEvNCIs
ICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICIxLzQiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3Bl
Y3RSYXRpb1Rlc3QiLCAiMSAvIDIiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAiMS8yIgor
UEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEuMiAvIDIiLCAiLXdlYmtpdC1h
c3BlY3QtcmF0aW8iKSBpcyAiMS4yLzIiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rl
c3QiLCAiMiAvIDAuNSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICIyLzAuNSIKK1BBU1Mg
dGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICJub25lIiwgIi13ZWJraXQtYXNwZWN0LXJh
dGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAy
IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJh
c3BlY3RSYXRpb1Rlc3QiLCAiYS8xIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUi
CitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS9hIiwgIi13ZWJraXQtYXNw
ZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3Qi
LCAiYWJjMTIzIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQ
YXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlz
ICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEgLyAwIiwgIi13
ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RS
YXRpb1Rlc3QiLCAiMCAvIDEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BB
U1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIwIC8gMCIsICItd2Via2l0LWFzcGVj
dC1yYXRpbyIpIGlzICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0Iiwg
Ii0xIC8gOCIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICJub25lIgorUEFTUyB0ZXN0UGFy
c2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEgLyAtOSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIp
IGlzICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIi0xIC8gLTQi
LCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9hc3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMjU0ZWY5
ZTU4NTQyZmJmZTM0ZTNkNDZmMWEyMWY3NDFiMGU3MDBkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMuaHRtbApAQCAtMCww
ICsxLDQzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+CisgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgPC9o
ZWFkPgorICA8Ym9keT4KKyAgICA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKyAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJhc3BlY3RSYXRpb1Rlc3QiPjwvZGl2Pgor
ICAgIDxzY3JpcHQ+CisgICAgICBkZXNjcmlwdGlvbignQ1NTIEFzcGVjdCBSYXRpbyBQYXJzaW5n
IFRlc3QnKTsKKyAgICAgIGZ1bmN0aW9uIHRlc3RQYXJzaW5nKGVsZW1lbnRJZCwgdmFsdWUsIHN0
eWxlQXR0cmlidXRlKQorICAgICAgeworICAgICAgICAgIHZhciBkaXYgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZChlbGVtZW50SWQpOworICAgICAgICAgIGRpdi5zdHlsZVtzdHlsZUF0dHJpYnV0
ZV0gPSB2YWx1ZTsKKyAgICAgICAgICByZXR1cm4gZGl2LnN0eWxlW3N0eWxlQXR0cmlidXRlXTsK
KyAgICAgIH0KKworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNw
ZWN0UmF0aW9UZXN0IiwgIjIvMSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJzIvMScpOwor
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0
IiwgIjEvMSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJzEvMScpOworICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEvNCIsICIt
d2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJzEvNCcpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEgLyAyIiwgIi13ZWJraXQtYXNw
ZWN0LXJhdGlvIiknLCAnMS8yJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQ
YXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS4yIC8gMiIsICItd2Via2l0LWFzcGVjdC1yYXRp
byIpJywgJzEuMi8yJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5n
KCJhc3BlY3RSYXRpb1Rlc3QiLCAiMiAvIDAuNSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywg
JzIvMC41Jyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3Bl
Y3RSYXRpb1Rlc3QiLCAibm9uZSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsK
KyAgICAgIAorICAgICAgLy8gVGhlIGZvbGxvd2luZyBhcmUgaW52YWxpZCBhbmQgc2hvdWxkIGdl
dCBpZ25vcmVkLgorICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNw
ZWN0UmF0aW9UZXN0IiwgIjEgMiIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsK
KyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVz
dCIsICJhLzEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS9hIiwg
Ii13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgImFiYzEyMyIsICItd2Via2l0
LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygn
dGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlv
IiknLCAnbm9uZScpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygi
YXNwZWN0UmF0aW9UZXN0IiwgIjEgLyAwIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9u
ZScpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0
aW9UZXN0IiwgIjAgLyAxIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0Iiwg
IjAgLyAwIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIi0xIC8gOCIs
ICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIC8gLTkiLCAiLXdlYmtp
dC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
J3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiLTEgLyAtNCIsICItd2Via2l0LWFzcGVj
dC1yYXRpbyIpJywgJ25vbmUnKTsKKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKyAgPC9ib2R5
PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113613</attachid>
            <date>2011-11-03 20:20:09 -0700</date>
            <delta_ts>2011-11-04 07:40:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70707-20111103232007.patch</filename>
            <type>text/plain</type>
            <size>20588</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkyMzcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjODcyNTBiMDQ4NTE4NGI0
NjNkYmU2YjMzODUxN2MzMmIzOTY4MWQ4Li4yOWQ5NmM4YWFhN2YzOTA2N2M0ZGNhZTE5YjdjY2Rk
ZDkxZGQ1ZTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTEtMTEtMDMgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NTIEFzcGVjdCBSYXRp
byBQcm9wZXJ0eSBQYXJzaW5nIFN0YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MDcwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZGVkIHBhcnNpbmcgc3VwcG9ydCBmb3IgLXdlYmtpdC1hc3BlY3Qt
cmF0aW8gQ1NTIHByb3BlcnR5LgorICAgICAgICBUaGUgc3BlYyBjYW4gYmUgZm91bmQgaGVyZTog
aHR0cDovL3d3dy54YW50aGlyLmNvbS9ibG9nL2I0ODEwCisKKyAgICAgICAgVGVzdDogZmFzdC9j
c3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0
cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBXZWJDb3Jl
Lmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogY3NzL0NTU0FzcGVjdFJh
dGlvVmFsdWUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJhdGlvVmFs
dWU6On5DU1NBc3BlY3RSYXRpb1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJh
dGlvVmFsdWU6OmNzc1RleHQpOgorICAgICAgICAqIGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTQXNwZWN0UmF0aW9WYWx1ZTo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJhdGlvVmFsdWU6Om51bWVyYXRvclZhbHVlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJhdGlvVmFsdWU6OmRlbm9taW5hdG9yVmFsdWUp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQXNwZWN0UmF0aW9WYWx1ZTo6Q1NTQXNwZWN0UmF0aW9W
YWx1ZSk6CisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5
Q1NTVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHA6
CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUFzcGVj
dFJhdGlvKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisgICAgICAgICogY3NzL0NTU1By
b3BlcnR5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5Ojppc0luaGVyaXRlZFBy
b3BlcnR5KToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjoKKyAgICAgICAgKiBj
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVj
dG9yOjphcHBseVByb3BlcnR5KToKKwogMjAxMS0xMS0wMyAgRGFuaWVsIENoZW5nICA8ZGNoZW5n
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIFJlbW92ZSB1bnVzZWQgY2xpcGJv
YXJkIG1ldGhvZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYjkyMDM5MDIzNTc5YmRiZjk5OTlm
ZjNjY2I4ZDQ2ODMwNTA1NmYzYS4uNzUyOTY5ZTllMjY2OGFhNmRhYTFjNGM5YWQ1YzJlZWY2MWQ4
M2VlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTQzMSw2ICs0MzEsNyBAQCBTRVQoV2ViQ29y
ZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvZ2VuZXJpYy9BY3RpdmVET01DYWxsYmFjay5jcHAKICAg
ICBiaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCiAKKyAgICBjc3Mv
Q1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAKICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAK
ICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcAogICAgIGNzcy9DU1NDYW52YXNW
YWx1ZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0g
Yi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDE4NDgyNWNjY2VkYjli
ZTA4YjMxN2NlMDE5ZWUwZThhNWZkYTRhY2MuLjIzZmFjZGU1NjJhMzJhNTU5NTI5MTJiOGNjY2Ji
NGRhNGZiNjJmNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtOTU3LDYgKzk1
Nyw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRp
bWVfcm9vdC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jb25maWcuaCBcCiAJU291cmNlL1dlYkNvcmUv
Y3NzL0NvdW50ZXIuaCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUu
Y3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDA1ZjIxM2U2
MmZmYmFhOTczZjY3MTlhMmIwZTJkMTZlMjA2YmUyYzEuLjIzYmVkYjM0NTJjNmMxMTZmYzVkNWM2
ODlkZmQ4NmFiMDI2ZTYwYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIzMzAsNiArMjMzMCw4IEBA
CiAgICAgICAgICAgICAnYnJpZGdlL3Rlc3RiaW5kaW5ncy5tbScsCiAgICAgICAgICAgICAnYnJp
ZGdlL3Rlc3RxdGJpbmRpbmdzLmNwcCcsCiAgICAgICAgICAgICAnY29uZmlnLmgnLAorICAgICAg
ICAgICAgJ2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCcsCisgICAgICAgICAgICAnY3NzL0NT
U0FzcGVjdFJhdGlvVmFsdWUuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU0JvcmRlckltYWdlVmFs
dWUuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oJywKICAgICAg
ICAgICAgICdjc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcCcsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCmlu
ZGV4IDg5Yzk3NDRhYmEwOGRhMTllMTFiMzUwMmY5ZDg0ZDc1YzMyODI5YzYuLjZmNDZhYjllYjYy
ODg2ZGRmYzI3YTk2NWU0YTI3ZmQ2NzQzODRjMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zODcsNiAr
Mzg3LDcgQEAgdjggewogfQogCiBTT1VSQ0VTICs9IFwKKyAgICBjc3MvQ1NTQXNwZWN0UmF0aW9W
YWx1ZS5jcHAgXAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwIFwKICAgICBj
c3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NDYW52YXNWYWx1ZS5jcHAg
XApAQCAtMTQ2Nyw2ICsxNDY4LDcgQEAgdjggewogfQogCiBIRUFERVJTICs9IFwKKyAgICBjc3Mv
Q1NTQXNwZWN0UmF0aW9WYWx1ZS5oIFwKICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVl
LmggXAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmggXAogICAgIGNzcy9DU1NDYW52YXNW
YWx1ZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBc3BlY3RSYXRpb1Zh
bHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42ZDhmOWIxMDVmNzdjZTUzMGMyMjNlMTFiMzQzNmNiM2I2Y2U2OWYyCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwCkBA
IC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBu
YW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisg
KiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQor
ICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICog
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1NTQXNwZWN0
UmF0aW9WYWx1ZS5oIgorCisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK0NTU0FzcGVjdFJhdGlvVmFsdWU6On5DU1NBc3BlY3RSYXRp
b1ZhbHVlKCkKK3sKK30KKworU3RyaW5nIENTU0FzcGVjdFJhdGlvVmFsdWU6OmNzc1RleHQoKSBj
b25zdAoreworICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OworICAgIHJlc3VsdC5hcHBlbmQoU3Ry
aW5nOjpudW1iZXIobV9udW1lcmF0b3JWYWx1ZSkpOworICAgIHJlc3VsdC5hcHBlbmQoIi8iKTsK
KyAgICByZXN1bHQuYXBwZW5kKFN0cmluZzo6bnVtYmVyKG1fZGVub21pbmF0b3JWYWx1ZSkpOwor
ICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NBc3BlY3RSYXRpb1ZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmUwOTQ1ZTFkZDRjZTJlM2Y5NjE0Y2Ji
YjJiMDQxNjllNjYzMDFkYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NBc3BlY3RSYXRpb1ZhbHVlLmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBs
ZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2Vk
IHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
CisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQ1NTQXNwZWN0
UmF0aW9WYWx1ZV9oCisjZGVmaW5lIENTU0FzcGVjdFJhdGlvVmFsdWVfaAorCisjaW5jbHVkZSAi
Q1NTUHJpbWl0aXZlVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NWYWx1ZS5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIENTU0FzcGVjdFJhdGlvVmFsdWUgOiBwdWJsaWMgQ1NTVmFsdWUg
eworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0FzcGVjdFJhdGlvVmFsdWU+IGNy
ZWF0ZShmbG9hdCBudW1lcmF0b3JWYWx1ZSwgZmxvYXQgZGVub21pbmF0b3JWYWx1ZSkKKyAgICB7
CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTQXNwZWN0UmF0aW9WYWx1ZShudW1lcmF0
b3JWYWx1ZSwgZGVub21pbmF0b3JWYWx1ZSkpOworICAgIH0KKworICAgIHZpcnR1YWwgfkNTU0Fz
cGVjdFJhdGlvVmFsdWUoKTsKKworICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsK
KworICAgIGZsb2F0IG51bWVyYXRvclZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9udW1lcmF0b3JW
YWx1ZTsgfQorICAgIGZsb2F0IGRlbm9taW5hdG9yVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2Rl
bm9taW5hdG9yVmFsdWU7IH0KKworcHJpdmF0ZToKKyAgICBDU1NBc3BlY3RSYXRpb1ZhbHVlKGZs
b2F0IG51bWVyYXRvclZhbHVlLCBmbG9hdCBkZW5vbWluYXRvclZhbHVlKQorICAgICAgICA6IG1f
bnVtZXJhdG9yVmFsdWUobnVtZXJhdG9yVmFsdWUpCisgICAgICAgICwgbV9kZW5vbWluYXRvclZh
bHVlKGRlbm9taW5hdG9yVmFsdWUpCisgICAgeworICAgIH0KKworICAgIGZsb2F0IG1fbnVtZXJh
dG9yVmFsdWU7CisgICAgZmxvYXQgbV9kZW5vbWluYXRvclZhbHVlOworfTsKKworfQorCisjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAKaW5kZXggZDJhNTBkZmNjNjdmZGU2NGVkNDM3Nzg2YjQyYjFkMzNjYjBkMmRlYS4uOTU2
ZmIyYTViNzFhNWY5NzVlNGQwMGIwNTYzZWU3MjA0YzdmZWZiZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTIwMzMsNiAr
MjAzMyw3IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bjo6Z2V0UHJvcGVydHlDU1NWYWx1ZShpbnQgcHJvcGVyCiAgICAgICAgICAgICBicmVhazsKIAog
ICAgICAgICAvKiBVbmltcGxlbWVudGVkIENTUyAzIHByb3BlcnRpZXMgKGluY2x1ZGluZyBDU1Mz
IHNob3J0aGFuZCBwcm9wZXJ0aWVzKSAqLworICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0
QXNwZWN0UmF0aW86CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0RW1waGFzaXM6
CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0TGluZVRocm91Z2g6CiAgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlUZXh0TGluZVRocm91Z2hDb2xvcjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDQ0Y2Y4MDdjNmM2MTNhYzFi
ZjliMDhlNTYyZGNhYjE0ZTQ1ODkxYTIuLmM0ZWJiOGIwNmMxMmI2MmVlNzczN2UyMDE4ZjMwZDM1
MDVjMWQ5YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVE
ZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURl
Y2xhcmF0aW9uLmNwcApAQCAtNzg3LDYgKzc4Nyw3IEBAIHZvaWQgQ1NTTXV0YWJsZVN0eWxlRGVj
bGFyYXRpb246OmFkZFN1YnJlc291cmNlU3R5bGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiB1cmxz
CiBzdGF0aWMgY29uc3QgaW50IGJsb2NrUHJvcGVydGllc1tdID0gewogICAgIENTU1Byb3BlcnR5
T3JwaGFucywKICAgICBDU1NQcm9wZXJ0eU92ZXJmbG93LCAvLyBUaGlzIGNhbiBiZSBhbHNvIGJl
IGFwcGxpZWQgdG8gcmVwbGFjZWQgZWxlbWVudHMKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdEFzcGVj
dFJhdGlvLAogICAgIENTU1Byb3BlcnR5V2Via2l0Q29sdW1uQ291bnQsCiAgICAgQ1NTUHJvcGVy
dHlXZWJraXRDb2x1bW5HYXAsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5SdWxlQ29sb3Is
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IGQ0ZmVhNzRhM2ViZTJjZDhiY2U5M2E2OGY4
NTU1OTI0NTI0ZTU5NTQuLjYxZmU1YTM3MzMwODZkMDA2MTVlNTVlZjNmMjk4OWIyN2JjYWEyNjkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2VyLmgiCiAKKyNpbmNsdWRlICJDU1NBc3BlY3RS
YXRpb1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUg
IkNTU0NhbnZhc1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQ2hhcnNldFJ1bGUuaCIKQEAgLTE1MTAs
NiArMTUxMSw4IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKGludCBwcm9wSWQsIGJvb2wg
aW1wb3J0YW50KQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eUJvcmRlclJhZGl1czoKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW86
CisgICAgICAgIHJldHVybiBwYXJzZUFzcGVjdFJhdGlvKGltcG9ydGFudCk7CiAgICAgY2FzZSBD
U1NQcm9wZXJ0eVdlYmtpdEJvcmRlclJhZGl1czoKICAgICAgICAgcmV0dXJuIHBhcnNlQm9yZGVy
UmFkaXVzKHByb3BJZCwgaW1wb3J0YW50KTsKICAgICBjYXNlIENTU1Byb3BlcnR5T3V0bGluZU9m
ZnNldDoKQEAgLTU2NDgsNiArNTY1MSwzNSBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VCb3JkZXJS
YWRpdXMoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
K2Jvb2wgQ1NTUGFyc2VyOjpwYXJzZUFzcGVjdFJhdGlvKGJvb2wgaW1wb3J0YW50KQoreworICAg
IHVuc2lnbmVkIG51bSA9IG1fdmFsdWVMaXN0LT5zaXplKCk7CisgICAgaWYgKG51bSA9PSAxICYm
IG1fdmFsdWVMaXN0LT52YWx1ZUF0KDApLT5pZCA9PSBDU1NWYWx1ZU5vbmUpIHsKKyAgICAgICAg
YWRkUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRBc3BlY3RSYXRpbywgcHJpbWl0aXZlVmFsdWVD
YWNoZSgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb25lKSwgaW1wb3J0YW50KTsK
KyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgaWYgKG51bSAhPSAzKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBDU1NQYXJzZXJWYWx1ZSogbHZhbHVlID0gbV92YWx1ZUxp
c3QtPnZhbHVlQXQoMCk7CisgICAgQ1NTUGFyc2VyVmFsdWUqIG9wID0gbV92YWx1ZUxpc3QtPnZh
bHVlQXQoMSk7CisgICAgQ1NTUGFyc2VyVmFsdWUqIHJ2YWx1ZSA9IG1fdmFsdWVMaXN0LT52YWx1
ZUF0KDIpOworCisgICAgaWYgKG9wLT51bml0ICE9IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvciB8
fCBvcC0+aVZhbHVlICE9ICcvJykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCF2
YWxpZFVuaXQobHZhbHVlLCBGTnVtYmVyIHwgRk5vbk5lZywgbV9zdHJpY3QpIHx8ICF2YWxpZFVu
aXQocnZhbHVlLCBGTnVtYmVyIHwgRk5vbk5lZywgbV9zdHJpY3QpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICBpZiAoIWx2YWx1ZS0+ZlZhbHVlIHx8ICFydmFsdWUtPmZWYWx1ZSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRB
c3BlY3RSYXRpbywgQ1NTQXNwZWN0UmF0aW9WYWx1ZTo6Y3JlYXRlKGx2YWx1ZS0+ZlZhbHVlLCBy
dmFsdWUtPmZWYWx1ZSksIGltcG9ydGFudCk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogYm9v
bCBDU1NQYXJzZXI6OnBhcnNlQ291bnRlcihpbnQgcHJvcElkLCBpbnQgZGVmYXVsdFZhbHVlLCBi
b29sIGltcG9ydGFudCkKIHsKICAgICBlbnVtIHsgSUQsIFZBTCB9IHN0YXRlID0gSUQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmgKaW5kZXggNzQ0ZDNjNzVjOTVlMGNhMTk0Y2EyZTU4MDc4YjlkMmVhZjU3
MjBhMi4uYjEyZThjOTIxODdmNWEwMTU0MmFhYjliMDcyZGQwYTg4ZTc0ZDFkMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXIuaApAQCAtMTcxLDYgKzE3MSw4IEBAIHB1YmxpYzoKICAgICBib29sIHBhcnNl
Qm9yZGVySW1hZ2VPdXRzZXQoUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiYpOwogICAgIGJvb2wg
cGFyc2VCb3JkZXJSYWRpdXMoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOwogCisgICAgYm9v
bCBwYXJzZUFzcGVjdFJhdGlvKGJvb2wgaW1wb3J0YW50KTsKKwogICAgIGJvb2wgcGFyc2VSZWZs
ZWN0KGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKIAogICAgIGJvb2wgcGFyc2VGbGV4KGlu
dCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcm9wZXJ0eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCmlu
ZGV4IDNlN2RmNTExNWI5YmVhMjcwYjI3Y2VlOGNjOTgwMzE4OTQ4ODBhZTMuLmRlN2M5MjczYjc5
ZDY3OGRmZDAzNjQ4ZDczNmRiNzdhYzVhYzg5OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5
LmNwcApAQCAtMzE3LDYgKzMxNyw3IEBAIGJvb2wgQ1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJv
cGVydHkodW5zaWduZWQgcHJvcGVydHlJRCkKICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dFNoYWRv
dzoKICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dFRyYW5zZm9ybToKICAgICBjYXNlIENTU1Byb3Bl
cnR5VmlzaWJpbGl0eToKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW86CiAg
ICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlckhvcml6b250YWxTcGFjaW5nOgogICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJWZXJ0aWNhbFNwYWNpbmc6CiAgICAgY2FzZSBDU1NQ
cm9wZXJ0eVdlYmtpdEJveERpcmVjdGlvbjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcm9wZXJ0eU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFt
ZXMuaW4KaW5kZXggZDFlZjJhZWQyNWQ0NDEwY2E2MzI4YTA0Y2Y3YjZhZTI1ZGFiNzM0Zi4uNTI5
NDRkODJlOWNkYTdiYjU3ZGRjYTY2ZWVlYzllOWM2OTk5YmRlMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnR5TmFtZXMuaW4KQEAgLTE5Myw2ICsxOTMsNyBAQCB6LWluZGV4CiAtd2Via2l0
LWFuaW1hdGlvbi1wbGF5LXN0YXRlCiAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24K
IC13ZWJraXQtYXBwZWFyYW5jZQorLXdlYmtpdC1hc3BlY3QtcmF0aW8KIC13ZWJraXQtYmFja2Zh
Y2UtdmlzaWJpbGl0eQogLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXAKIC13ZWJraXQtYmFja2dyb3Vu
ZC1jb21wb3NpdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVj
dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRleCBi
YWU3MzZmNzk5YWQ2MGFiZTk3YzYxNmE3Yzk3NjE2NzJhN2M0YWE4Li4zNGYwNjNiODcxOTgxMDVj
NmQ5YzgyN2Q3NmJjMzZhNzE0ZGFmNGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuY3BwCkBAIC0zNzcyLDYgKzM3NzIsNyBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFw
cGx5UHJvcGVydHkoaW50IGlkLCBDU1NWYWx1ZSAqdmFsdWUpCiAgICAgY2FzZSBDU1NQcm9wZXJ0
eVRleHRVbmRlcmxpbmVNb2RlOgogICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0VW5kZXJsaW5lU3R5
bGU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRVbmRlcmxpbmVXaWR0aDoKKyAgICBjYXNlIENT
U1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW86CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEZv
bnRTaXplRGVsdGE6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uc0lu
RWZmZWN0OgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0U3Ryb2tlOgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE2
ZTM2NjM1NmU3NzViZDJkOTVhZjQ1YjQzNzUyZTAzZjhlYzMyYWYuLjgwODYyN2MxYzcwMjA5MmU2
MjBhODBiMjdmNWZiMGExMmRiOWI0MWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0xMS0w
MyAgRmFkeSBTYW11ZWwgIDxmc2FtdWVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBDU1MgQXNw
ZWN0IFJhdGlvIFByb3BlcnR5IFBhcnNpbmcgU3RhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Nzcy9hc3BlY3QtcmF0aW8tcGFyc2luZy10
ZXN0cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2FzcGVjdC1yYXRp
by1wYXJzaW5nLXRlc3RzLmh0bWw6IEFkZGVkLgorCiAyMDExLTExLTAzICBBbm5hIENhdmVuZGVy
ICA8YW5uYWNjQGNocm9taXVtLm9yZz4KIAogICAgICAgICBUZXN0cyBmb3IgVGV4dFRyYWNrQ3Vl
TGlzdCBpbXBsZW1lbnRhdGlvbi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2Fz
cGVjdC1yYXRpby1wYXJzaW5nLXRlc3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzL2FzcGVjdC1yYXRpby1wYXJzaW5nLXRlc3RzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
MTRlYjRiNjI0Y2RjYzg5ZGI0NDlmNDZjMTdmOTRhMjM0OTZlMDZjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMjcgQEAKK0NTUyBBc3BlY3QgUmF0aW8gUGFyc2luZyBUZXN0CisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RS
YXRpb1Rlc3QiLCAiMi8xIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIjIvMSIKK1BBU1Mg
dGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxLzEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0
aW8iKSBpcyAiMS8xIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEvNCIs
ICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICIxLzQiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3Bl
Y3RSYXRpb1Rlc3QiLCAiMSAvIDIiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAiMS8yIgor
UEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEuMiAvIDIiLCAiLXdlYmtpdC1h
c3BlY3QtcmF0aW8iKSBpcyAiMS4yLzIiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rl
c3QiLCAiMiAvIDAuNSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICIyLzAuNSIKK1BBU1Mg
dGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICJub25lIiwgIi13ZWJraXQtYXNwZWN0LXJh
dGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAy
IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJh
c3BlY3RSYXRpb1Rlc3QiLCAiYS8xIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUi
CitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS9hIiwgIi13ZWJraXQtYXNw
ZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3Qi
LCAiYWJjMTIzIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQ
YXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlz
ICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEgLyAwIiwgIi13
ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RS
YXRpb1Rlc3QiLCAiMCAvIDEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BB
U1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIwIC8gMCIsICItd2Via2l0LWFzcGVj
dC1yYXRpbyIpIGlzICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0Iiwg
Ii0xIC8gOCIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICJub25lIgorUEFTUyB0ZXN0UGFy
c2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEgLyAtOSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIp
IGlzICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIi0xIC8gLTQi
LCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9hc3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMjU0ZWY5
ZTU4NTQyZmJmZTM0ZTNkNDZmMWEyMWY3NDFiMGU3MDBkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMuaHRtbApAQCAtMCww
ICsxLDQzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+CisgICAgPHNjcmlwdCBzcmM9
Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgPC9o
ZWFkPgorICA8Ym9keT4KKyAgICA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKyAgICA8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJhc3BlY3RSYXRpb1Rlc3QiPjwvZGl2Pgor
ICAgIDxzY3JpcHQ+CisgICAgICBkZXNjcmlwdGlvbignQ1NTIEFzcGVjdCBSYXRpbyBQYXJzaW5n
IFRlc3QnKTsKKyAgICAgIGZ1bmN0aW9uIHRlc3RQYXJzaW5nKGVsZW1lbnRJZCwgdmFsdWUsIHN0
eWxlQXR0cmlidXRlKQorICAgICAgeworICAgICAgICAgIHZhciBkaXYgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZChlbGVtZW50SWQpOworICAgICAgICAgIGRpdi5zdHlsZVtzdHlsZUF0dHJpYnV0
ZV0gPSB2YWx1ZTsKKyAgICAgICAgICByZXR1cm4gZGl2LnN0eWxlW3N0eWxlQXR0cmlidXRlXTsK
KyAgICAgIH0KKworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNw
ZWN0UmF0aW9UZXN0IiwgIjIvMSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJzIvMScpOwor
ICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0
IiwgIjEvMSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJzEvMScpOworICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEvNCIsICIt
d2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJzEvNCcpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEgLyAyIiwgIi13ZWJraXQtYXNw
ZWN0LXJhdGlvIiknLCAnMS8yJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQ
YXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS4yIC8gMiIsICItd2Via2l0LWFzcGVjdC1yYXRp
byIpJywgJzEuMi8yJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5n
KCJhc3BlY3RSYXRpb1Rlc3QiLCAiMiAvIDAuNSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywg
JzIvMC41Jyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3Bl
Y3RSYXRpb1Rlc3QiLCAibm9uZSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsK
KyAgICAgIAorICAgICAgLy8gVGhlIGZvbGxvd2luZyBhcmUgaW52YWxpZCBhbmQgc2hvdWxkIGdl
dCBpZ25vcmVkLgorICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNw
ZWN0UmF0aW9UZXN0IiwgIjEgMiIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsK
KyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVz
dCIsICJhLzEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS9hIiwg
Ii13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgImFiYzEyMyIsICItd2Via2l0
LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygn
dGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlv
IiknLCAnbm9uZScpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygi
YXNwZWN0UmF0aW9UZXN0IiwgIjEgLyAwIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9u
ZScpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0
aW9UZXN0IiwgIjAgLyAxIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0Iiwg
IjAgLyAwIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIi0xIC8gOCIs
ICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIC8gLTkiLCAiLXdlYmtp
dC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
J3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiLTEgLyAtNCIsICItd2Via2l0LWFzcGVj
dC1yYXRpbyIpJywgJ25vbmUnKTsKKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKyAgPC9ib2R5
PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113654</attachid>
            <date>2011-11-04 07:40:23 -0700</date>
            <delta_ts>2011-11-04 08:43:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70707-20111104104022.patch</filename>
            <type>text/plain</type>
            <size>21220</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkyMzcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjODcyNTBiMDQ4NTE4NGI0
NjNkYmU2YjMzODUxN2MzMmIzOTY4MWQ4Li4wZTg1NTM0NzhlZGQ0NzM3Y2NjZjU2MjlkNmEwYjY4
OWFhMGQ4NGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTEtMTEtMDQgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NTIEFzcGVjdCBSYXRp
byBQcm9wZXJ0eSBQYXJzaW5nIFN0YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MDcwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZGVkIHBhcnNpbmcgc3VwcG9ydCBmb3IgLXdlYmtpdC1hc3BlY3Qt
cmF0aW8gQ1NTIHByb3BlcnR5LgorICAgICAgICBUaGUgc3BlYyBjYW4gYmUgZm91bmQgaGVyZTog
aHR0cDovL3d3dy54YW50aGlyLmNvbS9ibG9nL2I0ODEwCisKKyAgICAgICAgVGVzdDogZmFzdC9j
c3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0
cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBXZWJDb3Jl
Lmd5cGk6CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJhdGlvVmFsdWU6On5DU1NBc3BlY3RS
YXRpb1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJhdGlvVmFsdWU6OmNzc1Rl
eHQpOgorICAgICAgICAqIGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmg6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTQXNwZWN0UmF0aW9WYWx1ZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0FzcGVjdFJhdGlvVmFsdWU6Om51bWVyYXRvclZhbHVlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0FzcGVjdFJhdGlvVmFsdWU6OmRlbm9taW5hdG9yVmFsdWUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTQXNwZWN0UmF0aW9WYWx1ZTo6Q1NTQXNwZWN0UmF0aW9WYWx1ZSk6CisgICAgICAg
ICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUpOgorICAg
ICAgICAqIGNzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgICogY3Nz
L0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUFzcGVjdFJhdGlvKToKKyAgICAg
ICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisgICAgICAgICogY3NzL0NTU1Byb3BlcnR5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5Ojppc0luaGVyaXRlZFByb3BlcnR5KToKKyAgICAg
ICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjoKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxl
Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3Bl
cnR5KToKKwogMjAxMS0xMS0wMyAgRGFuaWVsIENoZW5nICA8ZGNoZW5nQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBbY2hyb21pdW1dIFJlbW92ZSB1bnVzZWQgY2xpcGJvYXJkIG1ldGhvZHMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKaW5kZXggYjkyMDM5MDIzNTc5YmRiZjk5OTlmZjNjY2I4ZDQ2ODMwNTA1
NmYzYS4uNzUyOTY5ZTllMjY2OGFhNmRhYTFjNGM5YWQ1YzJlZWY2MWQ4M2VlMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKQEAgLTQzMSw2ICs0MzEsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAg
YmluZGluZ3MvZ2VuZXJpYy9BY3RpdmVET01DYWxsYmFjay5jcHAKICAgICBiaW5kaW5ncy9nZW5l
cmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwCiAKKyAgICBjc3MvQ1NTQXNwZWN0UmF0aW9W
YWx1ZS5jcHAKICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAKICAgICBjc3MvQ1NTQm9y
ZGVySW1hZ2VTbGljZVZhbHVlLmNwcAogICAgIGNzcy9DU1NDYW52YXNWYWx1ZS5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDE4NDgyNWNjY2VkYjliZTA4YjMxN2NlMDE5ZWUw
ZThhNWZkYTRhY2MuLjIzZmFjZGU1NjJhMzJhNTU5NTI5MTJiOGNjY2JiNGRhNGZiNjJmNGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNl
L1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtOTU3LDYgKzk1Nyw4IEBAIHdlYmNvcmVf
c291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfcm9vdC5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9jb25maWcuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NvdW50ZXIuaCBc
CisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwIFwKKwlTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0Jv
cmRlckltYWdlU2xpY2VWYWx1ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1h
Z2VWYWx1ZS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDA1ZjIxM2U2MmZmYmFhOTczZjY3MTlh
MmIwZTJkMTZlMjA2YmUyYzEuLjIzYmVkYjM0NTJjNmMxMTZmYzVkNWM2ODlkZmQ4NmFiMDI2ZTYw
YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIzMzAsNiArMjMzMCw4IEBACiAgICAgICAgICAgICAn
YnJpZGdlL3Rlc3RiaW5kaW5ncy5tbScsCiAgICAgICAgICAgICAnYnJpZGdlL3Rlc3RxdGJpbmRp
bmdzLmNwcCcsCiAgICAgICAgICAgICAnY29uZmlnLmgnLAorICAgICAgICAgICAgJ2Nzcy9DU1NB
c3BlY3RSYXRpb1ZhbHVlLmNwcCcsCisgICAgICAgICAgICAnY3NzL0NTU0FzcGVjdFJhdGlvVmFs
dWUuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuY3BwJywKICAgICAg
ICAgICAgICdjc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NT
Qm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDg5Yzk3NDRhYmEw
OGRhMTllMTFiMzUwMmY5ZDg0ZDc1YzMyODI5YzYuLjZmNDZhYjllYjYyODg2ZGRmYzI3YTk2NWU0
YTI3ZmQ2NzQzODRjMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zODcsNiArMzg3LDcgQEAgdjggewog
fQogCiBTT1VSQ0VTICs9IFwKKyAgICBjc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAgXAogICAg
IGNzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTQm9yZGVySW1h
Z2VWYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NDYW52YXNWYWx1ZS5jcHAgXApAQCAtMTQ2Nyw2ICsx
NDY4LDcgQEAgdjggewogfQogCiBIRUFERVJTICs9IFwKKyAgICBjc3MvQ1NTQXNwZWN0UmF0aW9W
YWx1ZS5oIFwKICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmggXAogICAgIGNzcy9D
U1NCb3JkZXJJbWFnZVZhbHVlLmggXAogICAgIGNzcy9DU1NDYW52YXNWYWx1ZS5oIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggZmQ2OTYxMWZk
OGM0ZGJlY2MxMWU0ZWU1YjI2MGIyYWNiNjkwNGJlYS4uZGVkYjBlMzNhYWZhMThjYzk0MmJhOWE0
NDA2OWMyZDM4ZDA3OTExNiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oKQEAgLTMyMzc4LDYgKzMyMzc4LDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgog
CQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NBc3BlY3RSYXRpb1ZhbHVlLmNw
cCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3Nz
XENTU0FzcGVjdFJhdGlvVmFsdWUuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAiCiAJCQkJ
PgogCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJh
dGlvVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjZkOGY5YjEwNWY3N2NlNTMwYzIyM2UxMWIzNDM2Y2IzYjZjZTY5ZjIKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5j
cHAKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIg
dGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMg
b2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
CisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NB
c3BlY3RSYXRpb1ZhbHVlLmgiCisKKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworQ1NTQXNwZWN0UmF0aW9WYWx1ZTo6fkNTU0FzcGVj
dFJhdGlvVmFsdWUoKQoreworfQorCitTdHJpbmcgQ1NTQXNwZWN0UmF0aW9WYWx1ZTo6Y3NzVGV4
dCgpIGNvbnN0Cit7CisgICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7CisgICAgcmVzdWx0LmFwcGVu
ZChTdHJpbmc6Om51bWJlcihtX251bWVyYXRvclZhbHVlKSk7CisgICAgcmVzdWx0LmFwcGVuZCgi
LyIpOworICAgIHJlc3VsdC5hcHBlbmQoU3RyaW5nOjpudW1iZXIobV9kZW5vbWluYXRvclZhbHVl
KSk7CisgICAgcmV0dXJuIHJlc3VsdC50b1N0cmluZygpOworfQorCit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZTA5NDVlMWRkNGNlMmUzZjk2
MTRjYmJiMmIwNDE2OWU2NjMwMWRjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuaApAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAo
IkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9t
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDU1NB
c3BlY3RSYXRpb1ZhbHVlX2gKKyNkZWZpbmUgQ1NTQXNwZWN0UmF0aW9WYWx1ZV9oCisKKyNpbmNs
dWRlICJDU1NQcmltaXRpdmVWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU1ZhbHVlLmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ1NTQXNwZWN0UmF0aW9WYWx1ZSA6IHB1YmxpYyBDU1NW
YWx1ZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTQXNwZWN0UmF0aW9WYWx1
ZT4gY3JlYXRlKGZsb2F0IG51bWVyYXRvclZhbHVlLCBmbG9hdCBkZW5vbWluYXRvclZhbHVlKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NBc3BlY3RSYXRpb1ZhbHVlKG51
bWVyYXRvclZhbHVlLCBkZW5vbWluYXRvclZhbHVlKSk7CisgICAgfQorCisgICAgdmlydHVhbCB+
Q1NTQXNwZWN0UmF0aW9WYWx1ZSgpOworCisgICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNv
bnN0OworCisgICAgZmxvYXQgbnVtZXJhdG9yVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX251bWVy
YXRvclZhbHVlOyB9CisgICAgZmxvYXQgZGVub21pbmF0b3JWYWx1ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fZGVub21pbmF0b3JWYWx1ZTsgfQorCitwcml2YXRlOgorICAgIENTU0FzcGVjdFJhdGlvVmFs
dWUoZmxvYXQgbnVtZXJhdG9yVmFsdWUsIGZsb2F0IGRlbm9taW5hdG9yVmFsdWUpCisgICAgICAg
IDogbV9udW1lcmF0b3JWYWx1ZShudW1lcmF0b3JWYWx1ZSkKKyAgICAgICAgLCBtX2Rlbm9taW5h
dG9yVmFsdWUoZGVub21pbmF0b3JWYWx1ZSkKKyAgICB7CisgICAgfQorCisgICAgZmxvYXQgbV9u
dW1lcmF0b3JWYWx1ZTsKKyAgICBmbG9hdCBtX2Rlbm9taW5hdG9yVmFsdWU7Cit9OworCit9CisK
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uLmNwcAppbmRleCBkMmE1MGRmY2M2N2ZkZTY0ZWQ0Mzc3ODZiNDJiMWQzM2NiMGQyZGVh
Li45NTZmYjJhNWI3MWE1Zjk3NWU0ZDAwYjA1NjNlZTcyMDRjN2ZlZmJkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMjAz
Myw2ICsyMDMzLDcgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKGludCBwcm9wZXIKICAgICAgICAgICAgIGJyZWFr
OwogCiAgICAgICAgIC8qIFVuaW1wbGVtZW50ZWQgQ1NTIDMgcHJvcGVydGllcyAoaW5jbHVkaW5n
IENTUzMgc2hvcnRoYW5kIHByb3BlcnRpZXMpICovCisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlX
ZWJraXRBc3BlY3RSYXRpbzoKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRFbXBo
YXNpczoKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRMaW5lVGhyb3VnaDoKICAgICAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVRleHRMaW5lVGhyb3VnaENvbG9yOgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggNDRjZjgwN2M2YzYx
M2FjMWJmOWIwOGU1NjJkY2FiMTRlNDU4OTFhMi4uYzRlYmI4YjA2YzEyYjYyZWU3NzM3ZTIwMThm
MzBkMzUwNWMxZDlhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVT
dHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0
eWxlRGVjbGFyYXRpb24uY3BwCkBAIC03ODcsNiArNzg3LDcgQEAgdm9pZCBDU1NNdXRhYmxlU3R5
bGVEZWNsYXJhdGlvbjo6YWRkU3VicmVzb3VyY2VTdHlsZVVSTHMoTGlzdEhhc2hTZXQ8S1VSTD4m
IHVybHMKIHN0YXRpYyBjb25zdCBpbnQgYmxvY2tQcm9wZXJ0aWVzW10gPSB7CiAgICAgQ1NTUHJv
cGVydHlPcnBoYW5zLAogICAgIENTU1Byb3BlcnR5T3ZlcmZsb3csIC8vIFRoaXMgY2FuIGJlIGFs
c28gYmUgYXBwbGllZCB0byByZXBsYWNlZCBlbGVtZW50cworICAgIENTU1Byb3BlcnR5V2Via2l0
QXNwZWN0UmF0aW8sCiAgICAgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5Db3VudCwKICAgICBDU1NQ
cm9wZXJ0eVdlYmtpdENvbHVtbkdhcCwKICAgICBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtblJ1bGVD
b2xvciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggZDRmZWE3NGEzZWJlMmNkOGJjZTkz
YTY4Zjg1NTU5MjQ1MjRlNTk1NC4uNjFmZTVhMzczMzA4NmQwMDYxNWU1NWVmM2YyOTg5YjI3YmNh
YTI2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDU1NQYXJzZXIuaCIKIAorI2luY2x1ZGUgIkNTU0Fz
cGVjdFJhdGlvVmFsdWUuaCIKICNpbmNsdWRlICJDU1NCb3JkZXJJbWFnZVZhbHVlLmgiCiAjaW5j
bHVkZSAiQ1NTQ2FudmFzVmFsdWUuaCIKICNpbmNsdWRlICJDU1NDaGFyc2V0UnVsZS5oIgpAQCAt
MTUxMCw2ICsxNTExLDggQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoaW50IHByb3BJZCwg
Ym9vbCBpbXBvcnRhbnQpCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAgICBjYXNlIENT
U1Byb3BlcnR5Qm9yZGVyUmFkaXVzOgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRBc3BlY3RS
YXRpbzoKKyAgICAgICAgcmV0dXJuIHBhcnNlQXNwZWN0UmF0aW8oaW1wb3J0YW50KTsKICAgICBj
YXNlIENTU1Byb3BlcnR5V2Via2l0Qm9yZGVyUmFkaXVzOgogICAgICAgICByZXR1cm4gcGFyc2VC
b3JkZXJSYWRpdXMocHJvcElkLCBpbXBvcnRhbnQpOwogICAgIGNhc2UgQ1NTUHJvcGVydHlPdXRs
aW5lT2Zmc2V0OgpAQCAtNTY0OCw2ICs1NjUxLDM1IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUJv
cmRlclJhZGl1cyhpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAorYm9vbCBDU1NQYXJzZXI6OnBhcnNlQXNwZWN0UmF0aW8oYm9vbCBpbXBvcnRhbnQpCit7
CisgICAgdW5zaWduZWQgbnVtID0gbV92YWx1ZUxpc3QtPnNpemUoKTsKKyAgICBpZiAobnVtID09
IDEgJiYgbV92YWx1ZUxpc3QtPnZhbHVlQXQoMCktPmlkID09IENTU1ZhbHVlTm9uZSkgeworICAg
ICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdEFzcGVjdFJhdGlvLCBwcmltaXRpdmVW
YWx1ZUNhY2hlKCktPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZU5vbmUpLCBpbXBvcnRh
bnQpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBpZiAobnVtICE9IDMpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIENTU1BhcnNlclZhbHVlKiBsdmFsdWUgPSBtX3Zh
bHVlTGlzdC0+dmFsdWVBdCgwKTsKKyAgICBDU1NQYXJzZXJWYWx1ZSogb3AgPSBtX3ZhbHVlTGlz
dC0+dmFsdWVBdCgxKTsKKyAgICBDU1NQYXJzZXJWYWx1ZSogcnZhbHVlID0gbV92YWx1ZUxpc3Qt
PnZhbHVlQXQoMik7CisKKyAgICBpZiAob3AtPnVuaXQgIT0gQ1NTUGFyc2VyVmFsdWU6Ok9wZXJh
dG9yIHx8IG9wLT5pVmFsdWUgIT0gJy8nKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBp
ZiAoIXZhbGlkVW5pdChsdmFsdWUsIEZOdW1iZXIgfCBGTm9uTmVnLCBtX3N0cmljdCkgfHwgIXZh
bGlkVW5pdChydmFsdWUsIEZOdW1iZXIgfCBGTm9uTmVnLCBtX3N0cmljdCkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIGlmICghbHZhbHVlLT5mVmFsdWUgfHwgIXJ2YWx1ZS0+ZlZhbHVl
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eVdl
YmtpdEFzcGVjdFJhdGlvLCBDU1NBc3BlY3RSYXRpb1ZhbHVlOjpjcmVhdGUobHZhbHVlLT5mVmFs
dWUsIHJ2YWx1ZS0+ZlZhbHVlKSwgaW1wb3J0YW50KTsKKworICAgIHJldHVybiB0cnVlOworfQor
CiBib29sIENTU1BhcnNlcjo6cGFyc2VDb3VudGVyKGludCBwcm9wSWQsIGludCBkZWZhdWx0VmFs
dWUsIGJvb2wgaW1wb3J0YW50KQogewogICAgIGVudW0geyBJRCwgVkFMIH0gc3RhdGUgPSBJRDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCA3NDRkM2M3NWM5NWUwY2ExOTRjYTJlNTgwNzhiOWQy
ZWFmNTcyMGEyLi5iMTJlOGM5MjE4N2Y1YTAxNTQyYWFiOWIwNzJkZDBhODhlNzRkMWQzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5oCkBAIC0xNzEsNiArMTcxLDggQEAgcHVibGljOgogICAgIGJvb2wg
cGFyc2VCb3JkZXJJbWFnZU91dHNldChSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+Jik7CiAgICAg
Ym9vbCBwYXJzZUJvcmRlclJhZGl1cyhpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCk7CiAKKyAg
ICBib29sIHBhcnNlQXNwZWN0UmF0aW8oYm9vbCBpbXBvcnRhbnQpOworCiAgICAgYm9vbCBwYXJz
ZVJlZmxlY3QoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOwogCiAgICAgYm9vbCBwYXJzZUZs
ZXgoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1Byb3BlcnR5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5j
cHAKaW5kZXggM2U3ZGY1MTE1YjliZWEyNzBiMjdjZWU4Y2M5ODAzMTg5NDg4MGFlMy4uZGU3Yzky
NzNiNzlkNjc4ZGZkMDM2NDhkNzM2ZGI3N2FjNWFjODk5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJv
cGVydHkuY3BwCkBAIC0zMTcsNiArMzE3LDcgQEAgYm9vbCBDU1NQcm9wZXJ0eTo6aXNJbmhlcml0
ZWRQcm9wZXJ0eSh1bnNpZ25lZCBwcm9wZXJ0eUlEKQogICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0
U2hhZG93OgogICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0VHJhbnNmb3JtOgogICAgIGNhc2UgQ1NT
UHJvcGVydHlWaXNpYmlsaXR5OgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRBc3BlY3RSYXRp
bzoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Qm9yZGVySG9yaXpvbnRhbFNwYWNpbmc6CiAg
ICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlclZlcnRpY2FsU3BhY2luZzoKICAgICBjYXNl
IENTU1Byb3BlcnR5V2Via2l0Qm94RGlyZWN0aW9uOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVy
dHlOYW1lcy5pbgppbmRleCBkMWVmMmFlZDI1ZDQ0MTBjYTYzMjhhMDRjZjdiNmFlMjVkYWI3MzRm
Li41Mjk0NGQ4MmU5Y2RhN2JiNTdkZGNhNjZlZWVjOWU5YzY5OTliZGUxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgpAQCAtMTkzLDYgKzE5Myw3IEBAIHotaW5kZXgKIC13
ZWJraXQtYW5pbWF0aW9uLXBsYXktc3RhdGUKIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5j
dGlvbgogLXdlYmtpdC1hcHBlYXJhbmNlCistd2Via2l0LWFzcGVjdC1yYXRpbwogLXdlYmtpdC1i
YWNrZmFjZS12aXNpYmlsaXR5CiAtd2Via2l0LWJhY2tncm91bmQtY2xpcAogLXdlYmtpdC1iYWNr
Z3JvdW5kLWNvbXBvc2l0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxl
U2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCmlu
ZGV4IGJhZTczNmY3OTlhZDYwYWJlOTdjNjE2YTdjOTc2MTY3MmE3YzRhYTguLjM0ZjA2M2I4NzE5
ODEwNWM2ZDljODI3ZDc2YmMzNmE3MTRkYWY0YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5
bGVTZWxlY3Rvci5jcHAKQEAgLTM3NzIsNiArMzc3Miw3IEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rv
cjo6YXBwbHlQcm9wZXJ0eShpbnQgaWQsIENTU1ZhbHVlICp2YWx1ZSkKICAgICBjYXNlIENTU1By
b3BlcnR5VGV4dFVuZGVybGluZU1vZGU6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRVbmRlcmxp
bmVTdHlsZToKICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dFVuZGVybGluZVdpZHRoOgorICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRBc3BlY3RSYXRpbzoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Vi
a2l0Rm9udFNpemVEZWx0YToKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRp
b25zSW5FZmZlY3Q6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRTdHJva2U6CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggMTZlMzY2MzU2ZTc3NWJkMmQ5NWFmNDViNDM3NTJlMDNmOGVjMzJhZi4uZTE5YTZjMjBhNWM5
NTUyZjg1ZjhjMzUwMTBhNjAyNjUwMjc1YjExYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEx
LTExLTA0ICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENT
UyBBc3BlY3QgUmF0aW8gUHJvcGVydHkgUGFyc2luZyBTdGFnZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MDcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvY3NzL2FzcGVjdC1yYXRpby1wYXJz
aW5nLXRlc3RzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvYXNwZWN0
LXJhdGlvLXBhcnNpbmctdGVzdHMuaHRtbDogQWRkZWQuCisKIDIwMTEtMTEtMDMgIEFubmEgQ2F2
ZW5kZXIgIDxhbm5hY2NAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFRlc3RzIGZvciBUZXh0VHJh
Y2tDdWVMaXN0IGltcGxlbWVudGF0aW9uLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9j
c3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmQxNGViNGI2MjRjZGNjODlkYjQ0OWY0NmMxN2Y5NGEyMzQ5NmUwNmMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9hc3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0cy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNyBAQAorQ1NTIEFzcGVjdCBSYXRpbyBQYXJzaW5nIFRl
c3QKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdGVzdFBhcnNpbmcoImFz
cGVjdFJhdGlvVGVzdCIsICIyLzEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAiMi8xIgor
UEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEvMSIsICItd2Via2l0LWFzcGVj
dC1yYXRpbyIpIGlzICIxLzEiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAi
MS80IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIjEvNCIKK1BBU1MgdGVzdFBhcnNpbmco
ImFzcGVjdFJhdGlvVGVzdCIsICIxIC8gMiIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICIx
LzIiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS4yIC8gMiIsICItd2Vi
a2l0LWFzcGVjdC1yYXRpbyIpIGlzICIxLjIvMiIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJh
dGlvVGVzdCIsICIyIC8gMC41IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIjIvMC41Igor
UEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIm5vbmUiLCAiLXdlYmtpdC1hc3Bl
Y3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIs
ICIxIDIiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1MgdGVzdFBhcnNp
bmcoImFzcGVjdFJhdGlvVGVzdCIsICJhLzEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAi
bm9uZSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxL2EiLCAiLXdlYmtp
dC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlv
VGVzdCIsICJhYmMxMjMiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1Mg
dGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlv
IikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAvIDAi
LCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1MgdGVzdFBhcnNpbmcoImFz
cGVjdFJhdGlvVGVzdCIsICIwIC8gMSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICJub25l
IgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjAgLyAwIiwgIi13ZWJraXQt
YXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rl
c3QiLCAiLTEgLyA4IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRl
c3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAvIC05IiwgIi13ZWJraXQtYXNwZWN0LXJh
dGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiLTEg
LyAtNCIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICJub25lIgorUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvY3NzL2FzcGVjdC1yYXRpby1wYXJzaW5nLXRlc3RzLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy9hc3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0cy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIy
NTRlZjllNTg1NDJmYmZlMzRlM2Q0NmYxYTIxZjc0MWIwZTcwMGQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9hc3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0cy5odG1sCkBA
IC0wLDAgKzEsNDMgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwv
L0VOIj4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKyAgICA8c2NyaXB0
IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
ICA8L2hlYWQ+CisgIDxib2R5PgorICAgIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorICAgIDxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDxkaXYgaWQ9ImFzcGVjdFJhdGlvVGVzdCI+PC9k
aXY+CisgICAgPHNjcmlwdD4KKyAgICAgIGRlc2NyaXB0aW9uKCdDU1MgQXNwZWN0IFJhdGlvIFBh
cnNpbmcgVGVzdCcpOworICAgICAgZnVuY3Rpb24gdGVzdFBhcnNpbmcoZWxlbWVudElkLCB2YWx1
ZSwgc3R5bGVBdHRyaWJ1dGUpCisgICAgICB7CisgICAgICAgICAgdmFyIGRpdiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZCk7CisgICAgICAgICAgZGl2LnN0eWxlW3N0eWxlQXR0
cmlidXRlXSA9IHZhbHVlOworICAgICAgICAgIHJldHVybiBkaXYuc3R5bGVbc3R5bGVBdHRyaWJ1
dGVdOworICAgICAgfQorCisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5n
KCJhc3BlY3RSYXRpb1Rlc3QiLCAiMi8xIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnMi8x
Jyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRp
b1Rlc3QiLCAiMS8xIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnMS8xJyk7CisgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS80
IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnMS80Jyk7CisgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAvIDIiLCAiLXdlYmtp
dC1hc3BlY3QtcmF0aW8iKScsICcxLzInKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygn
dGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxLjIgLyAyIiwgIi13ZWJraXQtYXNwZWN0
LXJhdGlvIiknLCAnMS4yLzInKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBh
cnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIyIC8gMC41IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlv
IiknLCAnMi8wLjUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmco
ImFzcGVjdFJhdGlvVGVzdCIsICJub25lIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9u
ZScpOworICAgICAgCisgICAgICAvLyBUaGUgZm9sbG93aW5nIGFyZSBpbnZhbGlkIGFuZCBzaG91
bGQgZ2V0IGlnbm9yZWQuCisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5n
KCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAyIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9u
ZScpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0
aW9UZXN0IiwgImEvMSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsKKyAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIx
L2EiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiYWJjMTIzIiwgIi13
ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEiLCAiLXdlYmtpdC1hc3BlY3Qt
cmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJz
aW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAvIDAiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScs
ICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3Bl
Y3RSYXRpb1Rlc3QiLCAiMCAvIDEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7
CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rl
c3QiLCAiMCAvIDAiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiLTEg
LyA4IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEgLyAtOSIsICIt
d2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICItMSAvIC00IiwgIi13ZWJraXQt
YXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorICA8
L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113660</attachid>
            <date>2011-11-04 08:43:09 -0700</date>
            <delta_ts>2011-11-04 08:56:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70707-20111104114307.patch</filename>
            <type>text/plain</type>
            <size>20645</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkyODEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkMjMxZThiNTI3NmE4M2Vk
ZjE2MjYyNDJkYjhjYTUwZGY4N2I2YTAxLi43N2RjYTcwZjcxN2ExOTQ5NWEyZTNjOTdhZjU3YWYy
ZDczMDEyMTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTEtMTEtMDQgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NTIEFzcGVjdCBSYXRp
byBQcm9wZXJ0eSBQYXJzaW5nIFN0YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MDcwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZGVkIHBhcnNpbmcgc3VwcG9ydCBmb3IgLXdlYmtpdC1hc3BlY3Qt
cmF0aW8gQ1NTIHByb3BlcnR5LgorICAgICAgICBUaGUgc3BlYyBjYW4gYmUgZm91bmQgaGVyZTog
aHR0cDovL3d3dy54YW50aGlyLmNvbS9ibG9nL2I0ODEwCisKKyAgICAgICAgVGVzdDogZmFzdC9j
c3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0
cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBXZWJDb3Jl
Lmd5cGk6CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAg
ICogY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkNTU0FzcGVjdFJhdGlvVmFsdWU6On5DU1NBc3BlY3RSYXRpb1ZhbHVlKToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0FzcGVjdFJhdGlvVmFsdWU6OmNzc1RleHQpOgorICAgICAgICAqIGNzcy9DU1NB
c3BlY3RSYXRpb1ZhbHVlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTQXNwZWN0UmF0
aW9WYWx1ZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJhdGlvVmFsdWU6
Om51bWVyYXRvclZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJhdGlvVmFsdWU6
OmRlbm9taW5hdG9yVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQXNwZWN0UmF0aW9WYWx1
ZTo6Q1NTQXNwZWN0UmF0aW9WYWx1ZSk6CisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NNdXRhYmxlU3R5
bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UGFyc2VyOjpwYXJzZUFzcGVjdFJhdGlvKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6Cisg
ICAgICAgICogY3NzL0NTU1Byb3BlcnR5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3Bl
cnR5Ojppc0luaGVyaXRlZFByb3BlcnR5KToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1l
cy5pbjoKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KToKKwogMjAxMS0xMS0wNCAgVG9y
IEFybmUgVmVzdGLDuCAgPHRvci5hcm5lLnZlc3Rib0Bub2tpYS5jb20+CiAKICAgICAgICAgW1F0
XSBSZWZhY3RvciBhbmQgY2xlYW4gdXAgdGhlIHFtYWtlIGJ1aWxkIHN5c3RlbQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAppbmRleCAyMWVhMzhjNjI1MzJkY2VkM2VlZWEyNWViZjZiNWVlMGJmMTgwYTk4Li4x
ZTRiZWE5MjljZWQyZmM0ZTdlNzQ1YjZiZmUyNDVjY2Y5Y2EyNjcwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dApAQCAtNDE2LDYgKzQxNiw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5n
cy9nZW5lcmljL0FjdGl2ZURPTUNhbGxiYWNrLmNwcAogICAgIGJpbmRpbmdzL2dlbmVyaWMvUnVu
dGltZUVuYWJsZWRGZWF0dXJlcy5jcHAKIAorICAgIGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNw
cAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmNwcAogICAgIGNzcy9DU1NCb3JkZXJJbWFn
ZVNsaWNlVmFsdWUuY3BwCiAgICAgY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KaW5kZXggNzI4MWFmNTc0ZGZiZDYwNDQwMjg2MGQxY2VkNGI5ZGZjMGEw
ZGZjNi4uZWQzNGUyMGNmZDkwMmIyMTQwODhmY2NiM2UzYTA0NzNiZjYzMzgyYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC05NjIsNiArOTYyLDggQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9yb290LmggXAogCVNvdXJjZS9X
ZWJDb3JlL2NvbmZpZy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ291bnRlci5oIFwKKwlTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAgXAorCVNvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCb3Jk
ZXJJbWFnZVNsaWNlVmFsdWUuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1h
Z2VTbGljZVZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCb3JkZXJJbWFnZVZhbHVl
LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggYzgwOTY4ZGQwN2NlZDFjZTQ1OTUwN2YyZTg0Y2Ex
MTZiNDc4MTc5Ny4uYmVlMzQ4OWMxYzY2YjdlMzQ2NjY4NDIyZDVmN2MxZThkYWY2ODEyMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQpAQCAtMjMzNSw2ICsyMzM1LDggQEAKICAgICAgICAgICAgICdicmlkZ2Uv
dGVzdGJpbmRpbmdzLm1tJywKICAgICAgICAgICAgICdicmlkZ2UvdGVzdHF0YmluZGluZ3MuY3Bw
JywKICAgICAgICAgICAgICdjb25maWcuaCcsCisgICAgICAgICAgICAnY3NzL0NTU0FzcGVjdFJh
dGlvVmFsdWUuY3BwJywKKyAgICAgICAgICAgICdjc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oJywK
ICAgICAgICAgICAgICdjc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAnLAogICAgICAgICAgICAg
J2Nzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmgnLAogICAgICAgICAgICAgJ2Nzcy9DU1NCb3JkZXJJ
bWFnZVNsaWNlVmFsdWUuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oKaW5kZXggZmQ2OTYxMWZkOGM0ZGJlY2MxMWU0ZWU1YjI2MGIyYWNiNjkwNGJl
YS4uZGVkYjBlMzNhYWZhMThjYzk0MmJhOWE0NDA2OWMyZDM4ZDA3OTExNiAxMDA3NTUKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTMyMzc4LDYgKzMyMzc4
LDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XGNzc1xDU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8Rmls
ZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU0FzcGVjdFJhdGlvVmFsdWUuaCIKKwkJCQk+
CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU0JvcmRl
ckltYWdlU2xpY2VWYWx1ZS5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZkOGY5YjEwNWY3N2NlNTMw
YzIyM2UxMWIzNDM2Y2IzYjZjZTY5ZjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIElu
Yy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAg
ZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICog
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NBc3BlY3RSYXRpb1ZhbHVlLmgiCisKKyNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworQ1NT
QXNwZWN0UmF0aW9WYWx1ZTo6fkNTU0FzcGVjdFJhdGlvVmFsdWUoKQoreworfQorCitTdHJpbmcg
Q1NTQXNwZWN0UmF0aW9WYWx1ZTo6Y3NzVGV4dCgpIGNvbnN0Cit7CisgICAgU3RyaW5nQnVpbGRl
ciByZXN1bHQ7CisgICAgcmVzdWx0LmFwcGVuZChTdHJpbmc6Om51bWJlcihtX251bWVyYXRvclZh
bHVlKSk7CisgICAgcmVzdWx0LmFwcGVuZCgiLyIpOworICAgIHJlc3VsdC5hcHBlbmQoU3RyaW5n
OjpudW1iZXIobV9kZW5vbWluYXRvclZhbHVlKSk7CisgICAgcmV0dXJuIHJlc3VsdC50b1N0cmlu
ZygpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQXNwZWN0UmF0
aW9WYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mZTA5NDVlMWRkNGNlMmUzZjk2MTRjYmJiMmIwNDE2OWU2NjMwMWRjCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuaApAQCAt
MCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFt
ZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICog
ICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAq
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2lmbmRlZiBDU1NBc3BlY3RSYXRpb1ZhbHVlX2gKKyNkZWZpbmUgQ1NT
QXNwZWN0UmF0aW9WYWx1ZV9oCisKKyNpbmNsdWRlICJDU1NQcmltaXRpdmVWYWx1ZS5oIgorI2lu
Y2x1ZGUgIkNTU1ZhbHVlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ1NTQXNw
ZWN0UmF0aW9WYWx1ZSA6IHB1YmxpYyBDU1NWYWx1ZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBh
c3NSZWZQdHI8Q1NTQXNwZWN0UmF0aW9WYWx1ZT4gY3JlYXRlKGZsb2F0IG51bWVyYXRvclZhbHVl
LCBmbG9hdCBkZW5vbWluYXRvclZhbHVlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBDU1NBc3BlY3RSYXRpb1ZhbHVlKG51bWVyYXRvclZhbHVlLCBkZW5vbWluYXRvclZhbHVl
KSk7CisgICAgfQorCisgICAgdmlydHVhbCB+Q1NTQXNwZWN0UmF0aW9WYWx1ZSgpOworCisgICAg
dmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0OworCisgICAgZmxvYXQgbnVtZXJhdG9yVmFs
dWUoKSBjb25zdCB7IHJldHVybiBtX251bWVyYXRvclZhbHVlOyB9CisgICAgZmxvYXQgZGVub21p
bmF0b3JWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVub21pbmF0b3JWYWx1ZTsgfQorCitwcml2
YXRlOgorICAgIENTU0FzcGVjdFJhdGlvVmFsdWUoZmxvYXQgbnVtZXJhdG9yVmFsdWUsIGZsb2F0
IGRlbm9taW5hdG9yVmFsdWUpCisgICAgICAgIDogbV9udW1lcmF0b3JWYWx1ZShudW1lcmF0b3JW
YWx1ZSkKKyAgICAgICAgLCBtX2Rlbm9taW5hdG9yVmFsdWUoZGVub21pbmF0b3JWYWx1ZSkKKyAg
ICB7CisgICAgfQorCisgICAgZmxvYXQgbV9udW1lcmF0b3JWYWx1ZTsKKyAgICBmbG9hdCBtX2Rl
bm9taW5hdG9yVmFsdWU7Cit9OworCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCBkMmE1MGRmY2M2N2Zk
ZTY0ZWQ0Mzc3ODZiNDJiMWQzM2NiMGQyZGVhLi45NTZmYjJhNWI3MWE1Zjk3NWU0ZDAwYjA1NjNl
ZTcyMDRjN2ZlZmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMjAzMyw2ICsyMDMzLDcgQEAgUGFzc1JlZlB0cjxDU1NW
YWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKGlu
dCBwcm9wZXIKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIC8qIFVuaW1wbGVtZW50ZWQg
Q1NTIDMgcHJvcGVydGllcyAoaW5jbHVkaW5nIENTUzMgc2hvcnRoYW5kIHByb3BlcnRpZXMpICov
CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRBc3BlY3RSYXRpbzoKICAgICAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRFbXBoYXNpczoKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0
eVRleHRMaW5lVGhyb3VnaDoKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRMaW5lVGhyb3Vn
aENvbG9yOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURl
Y2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJh
dGlvbi5jcHAKaW5kZXggNDRjZjgwN2M2YzYxM2FjMWJmOWIwOGU1NjJkY2FiMTRlNDU4OTFhMi4u
YzRlYmI4YjA2YzEyYjYyZWU3NzM3ZTIwMThmMzBkMzUwNWMxZDlhMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC03ODcsNiAr
Nzg3LDcgQEAgdm9pZCBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6YWRkU3VicmVzb3VyY2VT
dHlsZVVSTHMoTGlzdEhhc2hTZXQ8S1VSTD4mIHVybHMKIHN0YXRpYyBjb25zdCBpbnQgYmxvY2tQ
cm9wZXJ0aWVzW10gPSB7CiAgICAgQ1NTUHJvcGVydHlPcnBoYW5zLAogICAgIENTU1Byb3BlcnR5
T3ZlcmZsb3csIC8vIFRoaXMgY2FuIGJlIGFsc28gYmUgYXBwbGllZCB0byByZXBsYWNlZCBlbGVt
ZW50cworICAgIENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW8sCiAgICAgQ1NTUHJvcGVydHlX
ZWJraXRDb2x1bW5Db3VudCwKICAgICBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtbkdhcCwKICAgICBD
U1NQcm9wZXJ0eVdlYmtpdENvbHVtblJ1bGVDb2xvciwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAK
aW5kZXggZDRmZWE3NGEzZWJlMmNkOGJjZTkzYTY4Zjg1NTU5MjQ1MjRlNTk1NC4uNjFmZTVhMzcz
MzA4NmQwMDYxNWU1NWVmM2YyOTg5YjI3YmNhYTI2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5j
cHAKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDU1NQ
YXJzZXIuaCIKIAorI2luY2x1ZGUgIkNTU0FzcGVjdFJhdGlvVmFsdWUuaCIKICNpbmNsdWRlICJD
U1NCb3JkZXJJbWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQ2FudmFzVmFsdWUuaCIKICNpbmNs
dWRlICJDU1NDaGFyc2V0UnVsZS5oIgpAQCAtMTUxMCw2ICsxNTExLDggQEAgYm9vbCBDU1NQYXJz
ZXI6OnBhcnNlVmFsdWUoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgICAgIHJldHVy
biB0cnVlOwogICAgIH0KICAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVyUmFkaXVzOgorICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRBc3BlY3RSYXRpbzoKKyAgICAgICAgcmV0dXJuIHBhcnNlQXNw
ZWN0UmF0aW8oaW1wb3J0YW50KTsKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Qm9yZGVyUmFk
aXVzOgogICAgICAgICByZXR1cm4gcGFyc2VCb3JkZXJSYWRpdXMocHJvcElkLCBpbXBvcnRhbnQp
OwogICAgIGNhc2UgQ1NTUHJvcGVydHlPdXRsaW5lT2Zmc2V0OgpAQCAtNTY0OCw2ICs1NjUxLDM1
IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUJvcmRlclJhZGl1cyhpbnQgcHJvcElkLCBib29sIGlt
cG9ydGFudCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBDU1NQYXJzZXI6OnBhcnNlQXNw
ZWN0UmF0aW8oYm9vbCBpbXBvcnRhbnQpCit7CisgICAgdW5zaWduZWQgbnVtID0gbV92YWx1ZUxp
c3QtPnNpemUoKTsKKyAgICBpZiAobnVtID09IDEgJiYgbV92YWx1ZUxpc3QtPnZhbHVlQXQoMCkt
PmlkID09IENTU1ZhbHVlTm9uZSkgeworICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eVdl
YmtpdEFzcGVjdFJhdGlvLCBwcmltaXRpdmVWYWx1ZUNhY2hlKCktPmNyZWF0ZUlkZW50aWZpZXJW
YWx1ZShDU1NWYWx1ZU5vbmUpLCBpbXBvcnRhbnQpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICB9CisKKyAgICBpZiAobnVtICE9IDMpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIENT
U1BhcnNlclZhbHVlKiBsdmFsdWUgPSBtX3ZhbHVlTGlzdC0+dmFsdWVBdCgwKTsKKyAgICBDU1NQ
YXJzZXJWYWx1ZSogb3AgPSBtX3ZhbHVlTGlzdC0+dmFsdWVBdCgxKTsKKyAgICBDU1NQYXJzZXJW
YWx1ZSogcnZhbHVlID0gbV92YWx1ZUxpc3QtPnZhbHVlQXQoMik7CisKKyAgICBpZiAob3AtPnVu
aXQgIT0gQ1NTUGFyc2VyVmFsdWU6Ok9wZXJhdG9yIHx8IG9wLT5pVmFsdWUgIT0gJy8nKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIXZhbGlkVW5pdChsdmFsdWUsIEZOdW1iZXIg
fCBGTm9uTmVnLCBtX3N0cmljdCkgfHwgIXZhbGlkVW5pdChydmFsdWUsIEZOdW1iZXIgfCBGTm9u
TmVnLCBtX3N0cmljdCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghbHZhbHVl
LT5mVmFsdWUgfHwgIXJ2YWx1ZS0+ZlZhbHVlKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdEFzcGVjdFJhdGlvLCBDU1NBc3BlY3RSYXRp
b1ZhbHVlOjpjcmVhdGUobHZhbHVlLT5mVmFsdWUsIHJ2YWx1ZS0+ZlZhbHVlKSwgaW1wb3J0YW50
KTsKKworICAgIHJldHVybiB0cnVlOworfQorCiBib29sIENTU1BhcnNlcjo6cGFyc2VDb3VudGVy
KGludCBwcm9wSWQsIGludCBkZWZhdWx0VmFsdWUsIGJvb2wgaW1wb3J0YW50KQogewogICAgIGVu
dW0geyBJRCwgVkFMIH0gc3RhdGUgPSBJRDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCA3NDRk
M2M3NWM5NWUwY2ExOTRjYTJlNTgwNzhiOWQyZWFmNTcyMGEyLi5iMTJlOGM5MjE4N2Y1YTAxNTQy
YWFiOWIwNzJkZDBhODhlNzRkMWQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0xNzEsNiAr
MTcxLDggQEAgcHVibGljOgogICAgIGJvb2wgcGFyc2VCb3JkZXJJbWFnZU91dHNldChSZWZQdHI8
Q1NTUHJpbWl0aXZlVmFsdWU+Jik7CiAgICAgYm9vbCBwYXJzZUJvcmRlclJhZGl1cyhpbnQgcHJv
cElkLCBib29sIGltcG9ydGFudCk7CiAKKyAgICBib29sIHBhcnNlQXNwZWN0UmF0aW8oYm9vbCBp
bXBvcnRhbnQpOworCiAgICAgYm9vbCBwYXJzZVJlZmxlY3QoaW50IHByb3BJZCwgYm9vbCBpbXBv
cnRhbnQpOwogCiAgICAgYm9vbCBwYXJzZUZsZXgoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKaW5kZXggM2U3ZGY1MTE1YjliZWEyNzBiMjdj
ZWU4Y2M5ODAzMTg5NDg4MGFlMy4uZGU3YzkyNzNiNzlkNjc4ZGZkMDM2NDhkNzM2ZGI3N2FjNWFj
ODk5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCkBAIC0zMTcsNiArMzE3LDcgQEAg
Ym9vbCBDU1NQcm9wZXJ0eTo6aXNJbmhlcml0ZWRQcm9wZXJ0eSh1bnNpZ25lZCBwcm9wZXJ0eUlE
KQogICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0U2hhZG93OgogICAgIGNhc2UgQ1NTUHJvcGVydHlU
ZXh0VHJhbnNmb3JtOgogICAgIGNhc2UgQ1NTUHJvcGVydHlWaXNpYmlsaXR5OgorICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXRBc3BlY3RSYXRpbzoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0
Qm9yZGVySG9yaXpvbnRhbFNwYWNpbmc6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRl
clZlcnRpY2FsU3BhY2luZzoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Qm94RGlyZWN0aW9u
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4gYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgppbmRleCBkMWVmMmFlZDI1ZDQ0
MTBjYTYzMjhhMDRjZjdiNmFlMjVkYWI3MzRmLi41Mjk0NGQ4MmU5Y2RhN2JiNTdkZGNhNjZlZWVj
OWU5YzY5OTliZGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlO
YW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgpAQCAt
MTkzLDYgKzE5Myw3IEBAIHotaW5kZXgKIC13ZWJraXQtYW5pbWF0aW9uLXBsYXktc3RhdGUKIC13
ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbgogLXdlYmtpdC1hcHBlYXJhbmNlCistd2Vi
a2l0LWFzcGVjdC1yYXRpbwogLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5CiAtd2Via2l0LWJh
Y2tncm91bmQtY2xpcAogLXdlYmtpdC1iYWNrZ3JvdW5kLWNvbXBvc2l0ZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCmluZGV4IGJhZTczNmY3OTlhZDYwYWJlOTdjNjE2YTdj
OTc2MTY3MmE3YzRhYTguLjM0ZjA2M2I4NzE5ODEwNWM2ZDljODI3ZDc2YmMzNmE3MTRkYWY0YjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAgLTM3NzIsNiArMzc3
Miw3IEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eShpbnQgaWQsIENTU1Zh
bHVlICp2YWx1ZSkKICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dFVuZGVybGluZU1vZGU6CiAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVRleHRVbmRlcmxpbmVTdHlsZToKICAgICBjYXNlIENTU1Byb3BlcnR5
VGV4dFVuZGVybGluZVdpZHRoOgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRBc3BlY3RSYXRp
bzoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Rm9udFNpemVEZWx0YToKICAgICBjYXNlIENT
U1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25zSW5FZmZlY3Q6CiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eVdlYmtpdFRleHRTdHJva2U6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzE4ZmQzMDBiYTMwZWJmMjUxYWE4ZTNkNWMx
YjE1ZTQ4NTlhNzI2Zi4uYmYyNDdkYTZmNDk5NmNhMTk1MGQxNmVhMmRkZTY3MGU3MjU4NDk2NSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTExLTA0ICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIENTUyBBc3BlY3QgUmF0aW8gUHJvcGVydHkgUGFyc2lu
ZyBTdGFnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzA3MDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGZhc3QvY3NzL2FzcGVjdC1yYXRpby1wYXJzaW5nLXRlc3RzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMuaHRtbDogQWRk
ZWQuCisKIDIwMTEtMTEtMDQgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHNraXAgc29tZSBmYXN0L3ZpZXdwb3J0IGZhaWxpbmcg
dGVzdHMgb24gR1RLIGFmdGVyIHI5OTE5NS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzL2FzcGVjdC1yYXRpby1wYXJzaW5nLXRlc3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL2FzcGVjdC1yYXRpby1wYXJzaW5nLXRlc3RzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kMTRlYjRiNjI0Y2RjYzg5ZGI0NDlmNDZjMTdmOTRhMjM0OTZlMDZjCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjcgQEAKK0NTUyBBc3BlY3QgUmF0aW8gUGFyc2luZyBU
ZXN0CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHRlc3RQYXJzaW5nKCJh
c3BlY3RSYXRpb1Rlc3QiLCAiMi8xIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIjIvMSIK
K1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxLzEiLCAiLXdlYmtpdC1hc3Bl
Y3QtcmF0aW8iKSBpcyAiMS8xIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0Iiwg
IjEvNCIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICIxLzQiCitQQVNTIHRlc3RQYXJzaW5n
KCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAvIDIiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAi
MS8yIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEuMiAvIDIiLCAiLXdl
YmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAiMS4yLzIiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RS
YXRpb1Rlc3QiLCAiMiAvIDAuNSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICIyLzAuNSIK
K1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICJub25lIiwgIi13ZWJraXQtYXNw
ZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3Qi
LCAiMSAyIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJz
aW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiYS8xIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMg
Im5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS9hIiwgIi13ZWJr
aXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRp
b1Rlc3QiLCAiYWJjMTIzIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNT
IHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSIsICItd2Via2l0LWFzcGVjdC1yYXRp
byIpIGlzICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEgLyAw
IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJh
c3BlY3RSYXRpb1Rlc3QiLCAiMCAvIDEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9u
ZSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIwIC8gMCIsICItd2Via2l0
LWFzcGVjdC1yYXRpbyIpIGlzICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9U
ZXN0IiwgIi0xIC8gOCIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICJub25lIgorUEFTUyB0
ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEgLyAtOSIsICItd2Via2l0LWFzcGVjdC1y
YXRpbyIpIGlzICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIi0x
IC8gLTQiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9hc3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0cy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
NGVjZDg0MDZmMzE2YWExOTkwOTQwNDBiNzI3OTdiMzMwNWVmNjdhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMuaHRtbApA
QCAtMCwwICsxLDQzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+CisgICAgPHNjcmlw
dCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KyAgPC9oZWFkPgorICA8Ym9keT4KKyAgICA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKyAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICA8ZGl2IGlkPSJhc3BlY3RSYXRpb1Rlc3QiPjwv
ZGl2PgorICAgIDxzY3JpcHQ+CisgICAgICBkZXNjcmlwdGlvbignQ1NTIEFzcGVjdCBSYXRpbyBQ
YXJzaW5nIFRlc3QnKTsKKyAgICAgIGZ1bmN0aW9uIHRlc3RQYXJzaW5nKGVsZW1lbnRJZCwgdmFs
dWUsIHN0eWxlQXR0cmlidXRlKQorICAgICAgeworICAgICAgICAgIHZhciBkaXYgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZChlbGVtZW50SWQpOworICAgICAgICAgIGRpdi5zdHlsZVtzdHlsZUF0
dHJpYnV0ZV0gPSB2YWx1ZTsKKyAgICAgICAgICByZXR1cm4gZGl2LnN0eWxlW3N0eWxlQXR0cmli
dXRlXTsKKyAgICAgIH0KKworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2lu
ZygiYXNwZWN0UmF0aW9UZXN0IiwgIjIvMSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJzIv
MScpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0
aW9UZXN0IiwgIjEvMSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJzEvMScpOworICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEv
NCIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJzEvNCcpOworICAgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIjEgLyAyIiwgIi13ZWJr
aXQtYXNwZWN0LXJhdGlvIiknLCAnMS8yJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
J3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS4yIC8gMiIsICItd2Via2l0LWFzcGVj
dC1yYXRpbyIpJywgJzEuMi8yJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQ
YXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMiAvIDAuNSIsICItd2Via2l0LWFzcGVjdC1yYXRp
byIpJywgJzIvMC41Jyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5n
KCJhc3BlY3RSYXRpb1Rlc3QiLCAibm9uZSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25v
bmUnKTsKKworICAgICAgLy8gVGhlIGZvbGxvd2luZyBhcmUgaW52YWxpZCBhbmQgc2hvdWxkIGdl
dCBpZ25vcmVkLgorICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNw
ZWN0UmF0aW9UZXN0IiwgIjEgMiIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsK
KyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVz
dCIsICJhLzEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS9hIiwg
Ii13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgImFiYzEyMyIsICItd2Via2l0
LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygn
dGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlv
IiknLCAnbm9uZScpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygi
YXNwZWN0UmF0aW9UZXN0IiwgIjEgLyAwIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9u
ZScpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0
aW9UZXN0IiwgIjAgLyAxIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0Iiwg
IjAgLyAwIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgIi0xIC8gOCIs
ICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIC8gLTkiLCAiLXdlYmtp
dC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
J3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiLTEgLyAtNCIsICItd2Via2l0LWFzcGVj
dC1yYXRpbyIpJywgJ25vbmUnKTsKKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKyAgPC9ib2R5
PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113662</attachid>
            <date>2011-11-04 08:56:52 -0700</date>
            <delta_ts>2011-11-04 09:15:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70707-20111104115651.patch</filename>
            <type>text/plain</type>
            <size>25237</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkyMTgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjYjE2ZTU4NWY1ZGU1MGE2
ZGE4NGU4NjgyNzdhODMxZDA4Mzc3Mjk5Li4wYTEwNDE5ZjQ1ZGMyMDRkZWIzYzQ2ODEwNmNkMWQ4
ZWE5OWNiNDc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTEtMTEtMDQgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NTIEFzcGVjdCBSYXRp
byBQcm9wZXJ0eSBQYXJzaW5nIFN0YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MDcwNworCisgICAgICAgIFJldmlld2VkIGJ5IE9qYW4gVmFmYWku
CisKKyAgICAgICAgQWRkZWQgcGFyc2luZyBzdXBwb3J0IGZvciAtd2Via2l0LWFzcGVjdC1yYXRp
byBDU1MgcHJvcGVydHkuCisgICAgICAgIFRoZSBzcGVjIGNhbiBiZSBmb3VuZCBoZXJlOiBodHRw
Oi8vd3d3LnhhbnRoaXIuY29tL2Jsb2cvYjQ4MTAKKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9h
c3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0cy5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lw
aToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBj
c3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NT
QXNwZWN0UmF0aW9WYWx1ZTo6fkNTU0FzcGVjdFJhdGlvVmFsdWUpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTQXNwZWN0UmF0aW9WYWx1ZTo6Y3NzVGV4dCk6CisgICAgICAgICogY3NzL0NTU0FzcGVj
dFJhdGlvVmFsdWUuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NBc3BlY3RSYXRpb1Zh
bHVlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQXNwZWN0UmF0aW9WYWx1ZTo6bnVt
ZXJhdG9yVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQXNwZWN0UmF0aW9WYWx1ZTo6ZGVu
b21pbmF0b3JWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NBc3BlY3RSYXRpb1ZhbHVlOjpD
U1NBc3BlY3RSYXRpb1ZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bjo6Z2V0UHJvcGVydHlDU1NWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU011dGFibGVTdHlsZURl
Y2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXI6OnBhcnNlQXNwZWN0UmF0aW8pOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuaDoKKyAgICAg
ICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHk6
OmlzSW5oZXJpdGVkUHJvcGVydHkpOgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0eU5hbWVzLmlu
OgorICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkpOgorCiAyMDExLTExLTAzICBKb3NodWEg
QmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW5kZXhlZERCOiBPYmplY3Qg
c3RvcmVzIG5vdCBwZXJzaXN0aW5nIGJldHdlZW4gc2Vzc2lvbnMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
aW5kZXggYjkyMDM5MDIzNTc5YmRiZjk5OTlmZjNjY2I4ZDQ2ODMwNTA1NmYzYS4uNzUyOTY5ZTll
MjY2OGFhNmRhYTFjNGM5YWQ1YzJlZWY2MWQ4M2VlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAg
LTQzMSw2ICs0MzEsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvZ2VuZXJp
Yy9BY3RpdmVET01DYWxsYmFjay5jcHAKICAgICBiaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuY3BwCiAKKyAgICBjc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAKICAgICBj
c3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAKICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZh
bHVlLmNwcAogICAgIGNzcy9DU1NDYW52YXNWYWx1ZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCmluZGV4IDE4NDgyNWNjY2VkYjliZTA4YjMxN2NlMDE5ZWUwZThhNWZkYTRhY2MuLjIz
ZmFjZGU1NjJhMzJhNTU5NTI5MTJiOGNjY2JiNGRhNGZiNjJmNGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQpAQCAtOTU3LDYgKzk1Nyw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJ
U291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfcm9vdC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9j
b25maWcuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NvdW50ZXIuaCBcCisJU291cmNlL1dlYkNv
cmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
QXNwZWN0UmF0aW9WYWx1ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VT
bGljZVZhbHVlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0JvcmRlckltYWdlU2xpY2VW
YWx1ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAgXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCmluZGV4IDA1ZjIxM2U2MmZmYmFhOTczZjY3MTlhMmIwZTJkMTZlMjA2YmUy
YzEuLjIzYmVkYjM0NTJjNmMxMTZmYzVkNWM2ODlkZmQ4NmFiMDI2ZTYwYWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKQEAgLTIzMzAsNiArMjMzMCw4IEBACiAgICAgICAgICAgICAnYnJpZGdlL3Rlc3RiaW5k
aW5ncy5tbScsCiAgICAgICAgICAgICAnYnJpZGdlL3Rlc3RxdGJpbmRpbmdzLmNwcCcsCiAgICAg
ICAgICAgICAnY29uZmlnLmgnLAorICAgICAgICAgICAgJ2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVl
LmNwcCcsCisgICAgICAgICAgICAnY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuaCcsCiAgICAgICAg
ICAgICAnY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NT
Qm9yZGVySW1hZ2VWYWx1ZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NTQm9yZGVySW1hZ2VTbGlj
ZVZhbHVlLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qCmluZGV4IGZkNjk2MTFmZDhjNGRiZWNjMTFlNGVlNWIyNjBiMmFjYjY5MDRiZWEuLmRlZGIw
ZTMzYWFmYTE4Y2M5NDJiYTlhNDQwNjljMmQzOGQwNzkxMTYgMTAwNzU1Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0zMjM3OCw2ICszMjM3OCwxNCBAQAog
CQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NT
QXNwZWN0UmF0aW9WYWx1ZS5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NBc3BlY3RSYXRpb1ZhbHVlLmgiCisJCQkJPgorCQkJPC9G
aWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NCb3JkZXJJbWFnZVNs
aWNlVmFsdWUuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAzNzMyOGIzYzU5Mjg2ZjUzNjcy
YjhhMjIwMTIzYmQzZWQyMWI5YWYzLi5jN2RkZDYwODA3OTEyYjlhM2QyMWRmZDJjN2Y1N2RjYTM0
ODBmMTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC01NDU1LDYgKzU0NTUsOCBAQAogCQlDNkY0MTA0NzEzMEM2RTg5MDAzOTNE
RTQgLyogRW50cnlCYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEM2RjQxMDQ2MTMwQzZFODkwMDM5M0RFNCAvKiBFbnRyeUJhc2UuY3BwICovOyB9
OwogCQlDQTNCRjY3QzEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0EzQkY2N0IxMEQ5OUJB
RTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmNwcCAqLzsgfTsKIAkJQ0EzQkY2N0UxMEQ5OUJB
RTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDQTNCRjY3RDEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5p
bWF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQlDQUU5RjkwRjE0NjQ0MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDQUU5RjkwRDE0NjQ0
MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAgKi87IH07CisJCUNBRTlGOTEw
MTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDQUU5RjkwRTE0NjQ0MUYwMDBDMjQ1QjAg
LyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oICovOyB9OwogCQlDRDBEQkYwMTE0MjI3Njg1MDAyODAy
NjMgLyogSVJDX0NvbXBvc2l0ZV9DX1IwMTk1X1QwMDBfUDAwMC53YXYgaW4gQ29weSBBdWRpbyBS
ZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QwREJEMjAxNDIy
NzU5NTAwMjgwMjYzIC8qIElSQ19Db21wb3NpdGVfQ19SMDE5NV9UMDAwX1AwMDAud2F2ICovOyB9
OwogCQlDRDBEQkYwMjE0MjI3Njg1MDAyODAyNjMgLyogSVJDX0NvbXBvc2l0ZV9DX1IwMTk1X1Qw
MDBfUDAxNS53YXYgaW4gQ29weSBBdWRpbyBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0QwREJEMjExNDIyNzU5NTAwMjgwMjYzIC8qIElSQ19Db21wb3NpdGVf
Q19SMDE5NV9UMDAwX1AwMTUud2F2ICovOyB9OwogCQlDRDBEQkYwMzE0MjI3Njg1MDAyODAyNjMg
LyogSVJDX0NvbXBvc2l0ZV9DX1IwMTk1X1QwMDBfUDAzMC53YXYgaW4gQ29weSBBdWRpbyBSZXNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0QwREJEMjIxNDIyNzU5
NTAwMjgwMjYzIC8qIElSQ19Db21wb3NpdGVfQ19SMDE5NV9UMDAwX1AwMzAud2F2ICovOyB9OwpA
QCAtMTI3MzUsNiArMTI3MzcsOCBAQAogCQlDNkY0MTA0NjEzMEM2RTg5MDAzOTNERTQgLyogRW50
cnlCYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEVudHJ5QmFz
ZS5jcHA7IHBhdGggPSBmaWxlYXBpL0VudHJ5QmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUNBM0JGNjdCMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JvbGxBbmltYXRvci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNBM0JGNjdEMTBEOTlCQUUwMEU2Q0U1MyAv
KiBTY3JvbGxBbmltYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3Jv
bGxBbmltYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQUU5RjkwRDE0NjQ0
MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBDU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQ0FFOUY5MEUxNDY0NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVjdFJh
dGlvVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTQXNwZWN0UmF0
aW9WYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRDBEQkQyMDE0MjI3NTk1
MDAyODAyNjMgLyogSVJDX0NvbXBvc2l0ZV9DX1IwMTk1X1QwMDBfUDAwMC53YXYgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBhdWRpby53YXY7IG5hbWUg
PSBJUkNfQ29tcG9zaXRlX0NfUjAxOTVfVDAwMF9QMDAwLndhdjsgcGF0aCA9IHBsYXRmb3JtL2F1
ZGlvL3Jlc291cmNlcy9JUkNfQ29tcG9zaXRlX0NfUjAxOTVfVDAwMF9QMDAwLndhdjsgc291cmNl
VHJlZSA9IFNPVVJDRV9ST09UOyB9OwogCQlDRDBEQkQyMTE0MjI3NTk1MDAyODAyNjMgLyogSVJD
X0NvbXBvc2l0ZV9DX1IwMTk1X1QwMDBfUDAxNS53YXYgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBhdWRpby53YXY7IG5hbWUgPSBJUkNfQ29tcG9zaXRl
X0NfUjAxOTVfVDAwMF9QMDE1LndhdjsgcGF0aCA9IHBsYXRmb3JtL2F1ZGlvL3Jlc291cmNlcy9J
UkNfQ29tcG9zaXRlX0NfUjAxOTVfVDAwMF9QMDE1Lndhdjsgc291cmNlVHJlZSA9IFNPVVJDRV9S
T09UOyB9OwogCQlDRDBEQkQyMjE0MjI3NTk1MDAyODAyNjMgLyogSVJDX0NvbXBvc2l0ZV9DX1Iw
MTk1X1QwMDBfUDAzMC53YXYgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBhdWRpby53YXY7IG5hbWUgPSBJUkNfQ29tcG9zaXRlX0NfUjAxOTVfVDAwMF9Q
MDMwLndhdjsgcGF0aCA9IHBsYXRmb3JtL2F1ZGlvL3Jlc291cmNlcy9JUkNfQ29tcG9zaXRlX0Nf
UjAxOTVfVDAwMF9QMDMwLndhdjsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OwpAQCAtMjA0
NDgsNiArMjA0NTIsOCBAQAogCQlGNTIzRDE4NDAyREU0MkU4MDE4NjM1Q0EgLyogY3NzICovID0g
ewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlDQUU5RjkwRDE0NjQ0
MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAgKi8sCisJCQkJQ0FFOUY5MEUx
NDY0NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVjdFJhdGlvVmFsdWUuaCAqLywKIAkJCQk5M0NBNEM5
QzA5REY5M0ZBMDBERjg2NzcgLyogbWFrZXRva2VuaXplciAqLywKIAkJCQlBODBFNkNEQTBBMTk4
OUNBMDA3RkI4QzUgLyogQ291bnRlci5oICovLAogCQkJCTkzMDcwNUM3MDlFMEM5NUYwMEIxN0ZF
NCAvKiBDb3VudGVyLmlkbCAqLywKQEAgLTI0NTQ1LDYgKzI0NTUxLDcgQEAKIAkJCQlGRDYyRjUy
RTE0NTg5OEQ4MDA5NEIwRUQgLyogQXVkaW9Tb3VyY2VQcm92aWRlckNsaWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMkQ4RkVCREQxNDNFM0VGNzAwNzI1MDJCIC8qIENTU0Nyb3NzZmFkZVZhbHVl
LmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTY5Mzc5QzE0NjA5QzZDMDBDMDEzNjIgLyogRHJhZ1Nl
c3Npb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUNBRTlGOTEwMTQ2NDQxRjAwMEMyNDVCMCAvKiBD
U1NBc3BlY3RSYXRpb1ZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9y
RGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI3MzkxLDYgKzI3Mzk4LDcg
QEAKIAkJCQlBMEVFMERGNzE0NEY4MjU1MDBGODBCMEQgLyogV2ViR0xEZWJ1Z1NoYWRlcnMuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQTNCQjU5RjMxNDU3QTQwRDAwQUM1NkZFIC8qIERvY3VtZW50
RXZlbnRRdWV1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDhGRUJEQzE0M0UzRUY3MDA3MjUw
MkIgLyogQ1NTQ3Jvc3NmYWRlVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQ0FFOUY5MEYx
NDY0NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVjdFJhdGlvVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NmQ4ZjliMTA1Zjc3Y2U1MzBjMjIzZTExYjM0MzZjYjNiNmNlNjlmMgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcApAQCAtMCwwICsx
LDQ5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBB
cHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNTU0FzcGVjdFJhdGlvVmFs
dWUuaCIKKworI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitDU1NBc3BlY3RSYXRpb1ZhbHVlOjp+Q1NTQXNwZWN0UmF0aW9WYWx1ZSgp
Cit7Cit9CisKK1N0cmluZyBDU1NBc3BlY3RSYXRpb1ZhbHVlOjpjc3NUZXh0KCkgY29uc3QKK3sK
KyAgICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKKyAgICByZXN1bHQuYXBwZW5kKFN0cmluZzo6bnVt
YmVyKG1fbnVtZXJhdG9yVmFsdWUpKTsKKyAgICByZXN1bHQuYXBwZW5kKCIvIik7CisgICAgcmVz
dWx0LmFwcGVuZChTdHJpbmc6Om51bWJlcihtX2Rlbm9taW5hdG9yVmFsdWUpKTsKKyAgICByZXR1
cm4gcmVzdWx0LnRvU3RyaW5nKCk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQXNwZWN0
UmF0aW9WYWx1ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlMDk0NWUxZGQ0Y2UyZTNmOTYxNGNiYmIyYjA0MTY5
ZTY2MzAxZGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQXNwZWN0
UmF0aW9WYWx1ZS5oCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMu
ICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3Ig
dGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIENTU0FzcGVjdFJhdGlvVmFs
dWVfaAorI2RlZmluZSBDU1NBc3BlY3RSYXRpb1ZhbHVlX2gKKworI2luY2x1ZGUgIkNTU1ByaW1p
dGl2ZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTVmFsdWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBDU1NBc3BlY3RSYXRpb1ZhbHVlIDogcHVibGljIENTU1ZhbHVlIHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NBc3BlY3RSYXRpb1ZhbHVlPiBjcmVhdGUoZmxv
YXQgbnVtZXJhdG9yVmFsdWUsIGZsb2F0IGRlbm9taW5hdG9yVmFsdWUpCisgICAgeworICAgICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IENTU0FzcGVjdFJhdGlvVmFsdWUobnVtZXJhdG9yVmFsdWUs
IGRlbm9taW5hdG9yVmFsdWUpKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIH5DU1NBc3BlY3RSYXRp
b1ZhbHVlKCk7CisKKyAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3Q7CisKKyAgICBm
bG9hdCBudW1lcmF0b3JWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbnVtZXJhdG9yVmFsdWU7IH0K
KyAgICBmbG9hdCBkZW5vbWluYXRvclZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9kZW5vbWluYXRv
clZhbHVlOyB9CisKK3ByaXZhdGU6CisgICAgQ1NTQXNwZWN0UmF0aW9WYWx1ZShmbG9hdCBudW1l
cmF0b3JWYWx1ZSwgZmxvYXQgZGVub21pbmF0b3JWYWx1ZSkKKyAgICAgICAgOiBtX251bWVyYXRv
clZhbHVlKG51bWVyYXRvclZhbHVlKQorICAgICAgICAsIG1fZGVub21pbmF0b3JWYWx1ZShkZW5v
bWluYXRvclZhbHVlKQorICAgIHsKKyAgICB9CisKKyAgICBmbG9hdCBtX251bWVyYXRvclZhbHVl
OworICAgIGZsb2F0IG1fZGVub21pbmF0b3JWYWx1ZTsKK307CisKK30KKworI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmlu
ZGV4IGQyYTUwZGZjYzY3ZmRlNjRlZDQzNzc4NmI0MmIxZDMzY2IwZDJkZWEuLjk1NmZiMmE1Yjcx
YTVmOTc1ZTRkMDBiMDU2M2VlNzIwNGM3ZmVmYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0yMDMzLDYgKzIwMzMsNyBA
QCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFBy
b3BlcnR5Q1NTVmFsdWUoaW50IHByb3BlcgogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAg
LyogVW5pbXBsZW1lbnRlZCBDU1MgMyBwcm9wZXJ0aWVzIChpbmNsdWRpbmcgQ1NTMyBzaG9ydGhh
bmQgcHJvcGVydGllcykgKi8KKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEFzcGVjdFJh
dGlvOgogICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dEVtcGhhc2lzOgogICAgICAg
ICBjYXNlIENTU1Byb3BlcnR5VGV4dExpbmVUaHJvdWdoOgogICAgICAgICBjYXNlIENTU1Byb3Bl
cnR5VGV4dExpbmVUaHJvdWdoQ29sb3I6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU011
dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCA0NGNmODA3YzZjNjEzYWMxYmY5YjA4ZTU2
MmRjYWIxNGU0NTg5MWEyLi5jNGViYjhiMDZjMTJiNjJlZTc3MzdlMjAxOGYzMGQzNTA1YzFkOWEx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlv
bi5jcHAKQEAgLTc4Nyw2ICs3ODcsNyBAQCB2b2lkIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9u
OjphZGRTdWJyZXNvdXJjZVN0eWxlVVJMcyhMaXN0SGFzaFNldDxLVVJMPiYgdXJscwogc3RhdGlj
IGNvbnN0IGludCBibG9ja1Byb3BlcnRpZXNbXSA9IHsKICAgICBDU1NQcm9wZXJ0eU9ycGhhbnMs
CiAgICAgQ1NTUHJvcGVydHlPdmVyZmxvdywgLy8gVGhpcyBjYW4gYmUgYWxzbyBiZSBhcHBsaWVk
IHRvIHJlcGxhY2VkIGVsZW1lbnRzCisgICAgQ1NTUHJvcGVydHlXZWJraXRBc3BlY3RSYXRpbywK
ICAgICBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtbkNvdW50LAogICAgIENTU1Byb3BlcnR5V2Via2l0
Q29sdW1uR2FwLAogICAgIENTU1Byb3BlcnR5V2Via2l0Q29sdW1uUnVsZUNvbG9yLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmNwcAppbmRleCBkNGZlYTc0YTNlYmUyY2Q4YmNlOTNhNjhmODU1NTkyNDUy
NGU1OTU0Li42MWZlNWEzNzMzMDg2ZDAwNjE1ZTU1ZWYzZjI5ODliMjdiY2FhMjY5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtMjUsNiArMjUsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIkNTU1BhcnNlci5oIgogCisjaW5jbHVkZSAiQ1NTQXNwZWN0UmF0aW9WYWx1
ZS5oIgogI2luY2x1ZGUgIkNTU0JvcmRlckltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NDYW52
YXNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0NoYXJzZXRSdWxlLmgiCkBAIC0xNTEwLDYgKzE1MTEs
OCBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShpbnQgcHJvcElkLCBib29sIGltcG9ydGFu
dCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIGNhc2UgQ1NTUHJvcGVydHlCb3Jk
ZXJSYWRpdXM6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEFzcGVjdFJhdGlvOgorICAgICAg
ICByZXR1cm4gcGFyc2VBc3BlY3RSYXRpbyhpbXBvcnRhbnQpOwogICAgIGNhc2UgQ1NTUHJvcGVy
dHlXZWJraXRCb3JkZXJSYWRpdXM6CiAgICAgICAgIHJldHVybiBwYXJzZUJvcmRlclJhZGl1cyhw
cm9wSWQsIGltcG9ydGFudCk7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eU91dGxpbmVPZmZzZXQ6CkBA
IC01NjQ4LDYgKzU2NTEsMzUgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlQm9yZGVyUmFkaXVzKGlu
dCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIENT
U1BhcnNlcjo6cGFyc2VBc3BlY3RSYXRpbyhib29sIGltcG9ydGFudCkKK3sKKyAgICB1bnNpZ25l
ZCBudW0gPSBtX3ZhbHVlTGlzdC0+c2l6ZSgpOworICAgIGlmIChudW0gPT0gMSAmJiBtX3ZhbHVl
TGlzdC0+dmFsdWVBdCgwKS0+aWQgPT0gQ1NTVmFsdWVOb25lKSB7CisgICAgICAgIGFkZFByb3Bl
cnR5KENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW8sIHByaW1pdGl2ZVZhbHVlQ2FjaGUoKS0+
Y3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTm9uZSksIGltcG9ydGFudCk7CisgICAgICAg
IHJldHVybiB0cnVlOworICAgIH0KKworICAgIGlmIChudW0gIT0gMykKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgQ1NTUGFyc2VyVmFsdWUqIGx2YWx1ZSA9IG1fdmFsdWVMaXN0LT52YWx1
ZUF0KDApOworICAgIENTU1BhcnNlclZhbHVlKiBvcCA9IG1fdmFsdWVMaXN0LT52YWx1ZUF0KDEp
OworICAgIENTU1BhcnNlclZhbHVlKiBydmFsdWUgPSBtX3ZhbHVlTGlzdC0+dmFsdWVBdCgyKTsK
KworICAgIGlmIChvcC0+dW5pdCAhPSBDU1NQYXJzZXJWYWx1ZTo6T3BlcmF0b3IgfHwgb3AtPmlW
YWx1ZSAhPSAnLycpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICghdmFsaWRVbml0
KGx2YWx1ZSwgRk51bWJlciB8IEZOb25OZWcsIG1fc3RyaWN0KSB8fCAhdmFsaWRVbml0KHJ2YWx1
ZSwgRk51bWJlciB8IEZOb25OZWcsIG1fc3RyaWN0KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgaWYgKCFsdmFsdWUtPmZWYWx1ZSB8fCAhcnZhbHVlLT5mVmFsdWUpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIGFkZFByb3BlcnR5KENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0
aW8sIENTU0FzcGVjdFJhdGlvVmFsdWU6OmNyZWF0ZShsdmFsdWUtPmZWYWx1ZSwgcnZhbHVlLT5m
VmFsdWUpLCBpbXBvcnRhbnQpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKIGJvb2wgQ1NTUGFy
c2VyOjpwYXJzZUNvdW50ZXIoaW50IHByb3BJZCwgaW50IGRlZmF1bHRWYWx1ZSwgYm9vbCBpbXBv
cnRhbnQpCiB7CiAgICAgZW51bSB7IElELCBWQUwgfSBzdGF0ZSA9IElEOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5oCmluZGV4IDc0NGQzYzc1Yzk1ZTBjYTE5NGNhMmU1ODA3OGI5ZDJlYWY1NzIwYTIuLmIx
MmU4YzkyMTg3ZjVhMDE1NDJhYWI5YjA3MmRkMGE4OGU3NGQxZDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyLmgKQEAgLTE3MSw2ICsxNzEsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBwYXJzZUJvcmRlcklt
YWdlT3V0c2V0KFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4mKTsKICAgICBib29sIHBhcnNlQm9y
ZGVyUmFkaXVzKGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKIAorICAgIGJvb2wgcGFyc2VB
c3BlY3RSYXRpbyhib29sIGltcG9ydGFudCk7CisKICAgICBib29sIHBhcnNlUmVmbGVjdChpbnQg
cHJvcElkLCBib29sIGltcG9ydGFudCk7CiAKICAgICBib29sIHBhcnNlRmxleChpbnQgcHJvcElk
LCBib29sIGltcG9ydGFudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJv
cGVydHkuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcAppbmRleCAzZTdk
ZjUxMTViOWJlYTI3MGIyN2NlZThjYzk4MDMxODk0ODgwYWUzLi5kZTdjOTI3M2I3OWQ2NzhkZmQw
MzY0OGQ3MzZkYjc3YWM1YWM4OTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJvcGVydHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKQEAg
LTMxNyw2ICszMTcsNyBAQCBib29sIENTU1Byb3BlcnR5Ojppc0luaGVyaXRlZFByb3BlcnR5KHVu
c2lnbmVkIHByb3BlcnR5SUQpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRTaGFkb3c6CiAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVRleHRUcmFuc2Zvcm06CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVZpc2li
aWxpdHk6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEFzcGVjdFJhdGlvOgogICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXRCb3JkZXJIb3Jpem9udGFsU3BhY2luZzoKICAgICBjYXNlIENTU1By
b3BlcnR5V2Via2l0Qm9yZGVyVmVydGljYWxTcGFjaW5nOgogICAgIGNhc2UgQ1NTUHJvcGVydHlX
ZWJraXRCb3hEaXJlY3Rpb246CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJv
cGVydHlOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCmlu
ZGV4IGQxZWYyYWVkMjVkNDQxMGNhNjMyOGEwNGNmN2I2YWUyNWRhYjczNGYuLjUyOTQ0ZDgyZTlj
ZGE3YmI1N2RkY2E2NmVlZWM5ZTljNjk5OWJkZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9w
ZXJ0eU5hbWVzLmluCkBAIC0xOTMsNiArMTkzLDcgQEAgei1pbmRleAogLXdlYmtpdC1hbmltYXRp
b24tcGxheS1zdGF0ZQogLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uCiAtd2Via2l0
LWFwcGVhcmFuY2UKKy13ZWJraXQtYXNwZWN0LXJhdGlvCiAtd2Via2l0LWJhY2tmYWNlLXZpc2li
aWxpdHkKIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwCiAtd2Via2l0LWJhY2tncm91bmQtY29tcG9z
aXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggYmFlNzM2Zjc5
OWFkNjBhYmU5N2M2MTZhN2M5NzYxNjcyYTdjNGFhOC4uMzRmMDYzYjg3MTk4MTA1YzZkOWM4Mjdk
NzZiYzM2YTcxNGRhZjRiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxl
U2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNw
cApAQCAtMzc3Miw2ICszNzcyLDcgQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3Bl
cnR5KGludCBpZCwgQ1NTVmFsdWUgKnZhbHVlKQogICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0VW5k
ZXJsaW5lTW9kZToKICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dFVuZGVybGluZVN0eWxlOgogICAg
IGNhc2UgQ1NTUHJvcGVydHlUZXh0VW5kZXJsaW5lV2lkdGg6CisgICAgY2FzZSBDU1NQcm9wZXJ0
eVdlYmtpdEFzcGVjdFJhdGlvOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRGb250U2l6ZURl
bHRhOgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVjb3JhdGlvbnNJbkVmZmVjdDoK
ICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dFN0cm9rZToKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzNGEyN2FkNGEy
ZjkyYzU1ZjFmYzgzYjFkNzZiZjRkZTlhMWYxOTBlLi45YjkzYTFjMWRjZWQ1YjM1MTA5OTkzOTEz
MWIzMmE4Yzc2NDkzYjc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMTEtMDQgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NTIEFzcGVjdCBSYXRp
byBQcm9wZXJ0eSBQYXJzaW5nIFN0YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MDcwNworCisgICAgICAgIFJldmlld2VkIGJ5IE9qYW4gVmFmYWku
CisKKyAgICAgICAgKiBmYXN0L2Nzcy9hc3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0cy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2FzcGVjdC1yYXRpby1wYXJzaW5nLXRl
c3RzLmh0bWw6IEFkZGVkLgorCiAyMDExLTExLTAzICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBVbnJldmlld2VkIGV2ZW5pbmcgZ2FyZGVuaW5n
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmct
dGVzdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBh
cnNpbmctdGVzdHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxNGViNGI2MjRjZGNjODlkYjQ0
OWY0NmMxN2Y5NGEyMzQ5NmUwNmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9hc3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwy
NyBAQAorQ1NTIEFzcGVjdCBSYXRpbyBQYXJzaW5nIFRlc3QKKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIyLzEiLCAi
LXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAiMi8xIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0
UmF0aW9UZXN0IiwgIjEvMSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICIxLzEiCitQQVNT
IHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS80IiwgIi13ZWJraXQtYXNwZWN0LXJh
dGlvIikgaXMgIjEvNCIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIC8g
MiIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICIxLzIiCitQQVNTIHRlc3RQYXJzaW5nKCJh
c3BlY3RSYXRpb1Rlc3QiLCAiMS4yIC8gMiIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICIx
LjIvMiIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIyIC8gMC41IiwgIi13
ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIjIvMC41IgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0
UmF0aW9UZXN0IiwgIm5vbmUiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BB
U1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIDIiLCAiLXdlYmtpdC1hc3BlY3Qt
cmF0aW8iKSBpcyAibm9uZSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICJh
LzEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1MgdGVzdFBhcnNpbmco
ImFzcGVjdFJhdGlvVGVzdCIsICIxL2EiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9u
ZSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICJhYmMxMjMiLCAiLXdlYmtp
dC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlv
VGVzdCIsICIxIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQ
YXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAvIDAiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8i
KSBpcyAibm9uZSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIwIC8gMSIs
ICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNw
ZWN0UmF0aW9UZXN0IiwgIjAgLyAwIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUi
CitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiLTEgLyA4IiwgIi13ZWJraXQt
YXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rl
c3QiLCAiMSAvIC05IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRl
c3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiLTEgLyAtNCIsICItd2Via2l0LWFzcGVjdC1y
YXRpbyIpIGlzICJub25lIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2FzcGVjdC1yYXRp
by1wYXJzaW5nLXRlc3RzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9hc3BlY3QtcmF0aW8t
cGFyc2luZy10ZXN0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk0ZWNkODQwNmYzMTZhYTE5OTA5NDA0MGI3
Mjc5N2IzMzA1ZWY2N2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9h
c3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0cy5odG1sCkBAIC0wLDAgKzEsNDMgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorICA8aGVhZD4K
KyAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIj4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICA8L2hlYWQ+CisgIDxib2R5PgorICAg
IDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
ICAgIDxkaXYgaWQ9ImFzcGVjdFJhdGlvVGVzdCI+PC9kaXY+CisgICAgPHNjcmlwdD4KKyAgICAg
IGRlc2NyaXB0aW9uKCdDU1MgQXNwZWN0IFJhdGlvIFBhcnNpbmcgVGVzdCcpOworICAgICAgZnVu
Y3Rpb24gdGVzdFBhcnNpbmcoZWxlbWVudElkLCB2YWx1ZSwgc3R5bGVBdHRyaWJ1dGUpCisgICAg
ICB7CisgICAgICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJ
ZCk7CisgICAgICAgICAgZGl2LnN0eWxlW3N0eWxlQXR0cmlidXRlXSA9IHZhbHVlOworICAgICAg
ICAgIHJldHVybiBkaXYuc3R5bGVbc3R5bGVBdHRyaWJ1dGVdOworICAgICAgfQorCisgICAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMi8x
IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnMi8xJyk7CisgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS8xIiwgIi13ZWJraXQt
YXNwZWN0LXJhdGlvIiknLCAnMS8xJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rl
c3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS80IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlv
IiknLCAnMS80Jyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJh
c3BlY3RSYXRpb1Rlc3QiLCAiMSAvIDIiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICcxLzIn
KTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlv
VGVzdCIsICIxLjIgLyAyIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnMS4yLzInKTsKKyAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIs
ICIyIC8gMC41IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnMi8wLjUnKTsKKyAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICJub25l
IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworCisgICAgICAvLyBUaGUgZm9s
bG93aW5nIGFyZSBpbnZhbGlkIGFuZCBzaG91bGQgZ2V0IGlnbm9yZWQuCisgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAyIiwgIi13
ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgImEvMSIsICItd2Via2l0LWFzcGVj
dC1yYXRpbyIpJywgJ25vbmUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBh
cnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxL2EiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScs
ICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3Bl
Y3RSYXRpb1Rlc3QiLCAiYWJjMTIzIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScp
OworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9U
ZXN0IiwgIjEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAvIDAi
LCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMCAvIDEiLCAiLXdlYmtp
dC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
J3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMCAvIDAiLCAiLXdlYmtpdC1hc3BlY3Qt
cmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJz
aW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiLTEgLyA4IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikn
LCAnbm9uZScpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNw
ZWN0UmF0aW9UZXN0IiwgIjEgLyAtOSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUn
KTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlv
VGVzdCIsICItMSAvIC00IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAg
IDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorICA8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113664</attachid>
            <date>2011-11-04 09:15:24 -0700</date>
            <delta_ts>2011-11-04 11:28:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70707-20111104121523.patch</filename>
            <type>text/plain</type>
            <size>25402</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkyODQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkMjMxZThiNTI3NmE4M2Vk
ZjE2MjYyNDJkYjhjYTUwZGY4N2I2YTAxLi5hY2VhZTczZTdiZmNhMDg0ZGFlYmNkN2I2OGI4NDU4
YWM2YjUxY2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTEtMTEtMDQgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NTIEFzcGVjdCBSYXRp
byBQcm9wZXJ0eSBQYXJzaW5nIFN0YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MDcwNworCisgICAgICAgIFJldmlld2VkIGJ5IE9qYW4gVmFmYWku
CisKKyAgICAgICAgQWRkZWQgcGFyc2luZyBzdXBwb3J0IGZvciAtd2Via2l0LWFzcGVjdC1yYXRp
byBDU1MgcHJvcGVydHkuCisgICAgICAgIFRoZSBzcGVjIGNhbiBiZSBmb3VuZCBoZXJlOiBodHRw
Oi8vd3d3LnhhbnRoaXIuY29tL2Jsb2cvYjQ4MTAKKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9h
c3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0cy5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lw
aToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3NzL0NTU0FzcGVj
dFJhdGlvVmFsdWUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJhdGlv
VmFsdWU6On5DU1NBc3BlY3RSYXRpb1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVj
dFJhdGlvVmFsdWU6OmNzc1RleHQpOgorICAgICAgICAqIGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVl
Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q1NTQXNwZWN0UmF0aW9WYWx1ZTo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJhdGlvVmFsdWU6Om51bWVyYXRvclZhbHVl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0FzcGVjdFJhdGlvVmFsdWU6OmRlbm9taW5hdG9yVmFs
dWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQXNwZWN0UmF0aW9WYWx1ZTo6Q1NTQXNwZWN0UmF0
aW9WYWx1ZSk6CisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3Bl
cnR5Q1NTVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5j
cHA6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQ
YXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUFz
cGVjdFJhdGlvKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisgICAgICAgICogY3NzL0NT
U1Byb3BlcnR5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5Ojppc0luaGVyaXRl
ZFByb3BlcnR5KToKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjoKKyAgICAgICAg
KiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNl
bGVjdG9yOjphcHBseVByb3BlcnR5KToKKwogMjAxMS0xMS0wNCAgVG9yIEFybmUgVmVzdGLDuCAg
PHRvci5hcm5lLnZlc3Rib0Bub2tpYS5jb20+CiAKICAgICAgICAgW1F0XSBSZWZhY3RvciBhbmQg
Y2xlYW4gdXAgdGhlIHFtYWtlIGJ1aWxkIHN5c3RlbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAy
MWVhMzhjNjI1MzJkY2VkM2VlZWEyNWViZjZiNWVlMGJmMTgwYTk4Li4xZTRiZWE5MjljZWQyZmM0
ZTdlNzQ1YjZiZmUyNDVjY2Y5Y2EyNjcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNDE2LDYg
KzQxNiw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy9nZW5lcmljL0FjdGl2
ZURPTUNhbGxiYWNrLmNwcAogICAgIGJpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5jcHAKIAorICAgIGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcAogICAgIGNzcy9DU1NC
b3JkZXJJbWFnZVZhbHVlLmNwcAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3Bw
CiAgICAgY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0K
aW5kZXggNzI4MWFmNTc0ZGZiZDYwNDQwMjg2MGQxY2VkNGI5ZGZjMGEwZGZjNi4uZWQzNGUyMGNm
ZDkwMmIyMTQwODhmY2NiM2UzYTA0NzNiZjYzMzgyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCkBAIC05NjIsNiArOTYyLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9icmlkZ2UvcnVudGltZV9yb290LmggXAogCVNvdXJjZS9XZWJDb3JlL2NvbmZpZy5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ291bnRlci5oIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBc3BlY3RS
YXRpb1ZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFs
dWUuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmgg
XAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmNwcCBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cGkKaW5kZXggYzgwOTY4ZGQwN2NlZDFjZTQ1OTUwN2YyZTg0Y2ExMTZiNDc4MTc5Ny4uYmVl
MzQ4OWMxYzY2YjdlMzQ2NjY4NDIyZDVmN2MxZThkYWY2ODEyMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpA
QCAtMjMzNSw2ICsyMzM1LDggQEAKICAgICAgICAgICAgICdicmlkZ2UvdGVzdGJpbmRpbmdzLm1t
JywKICAgICAgICAgICAgICdicmlkZ2UvdGVzdHF0YmluZGluZ3MuY3BwJywKICAgICAgICAgICAg
ICdjb25maWcuaCcsCisgICAgICAgICAgICAnY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwJywK
KyAgICAgICAgICAgICdjc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oJywKICAgICAgICAgICAgICdj
c3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NCb3JkZXJJ
bWFnZVZhbHVlLmgnLAogICAgICAgICAgICAgJ2Nzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUu
Y3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5k
ZXggZmQ2OTYxMWZkOGM0ZGJlY2MxMWU0ZWU1YjI2MGIyYWNiNjkwNGJlYS4uZGVkYjBlMzNhYWZh
MThjYzk0MmJhOWE0NDA2OWMyZDM4ZDA3OTExNiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTMyMzc4LDYgKzMyMzc4LDE0IEBACiAJCQkJPgog
CQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NBc3BlY3RS
YXRpb1ZhbHVlLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cY3NzXENTU0FzcGVjdFJhdGlvVmFsdWUuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJ
CQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU0JvcmRlckltYWdlU2xpY2VWYWx1
ZS5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDAxYmNkNWUxN2JmMGZiMzlhNjNjMTliNTA3
Y2NlZTk3YmEzNjlkOTUuLjE2YzhlZDNhYTQ0ZGYyMWJmMGFjMGFmOTNjNGFmZTU0NzQ5MTBhZDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTU0NjMsNiArNTQ2Myw4IEBACiAJCUM2RjQxMDQ3MTMwQzZFODkwMDM5M0RFNCAvKiBF
bnRyeUJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQzZGNDEwNDYxMzBDNkU4OTAwMzkzREU0IC8qIEVudHJ5QmFzZS5jcHAgKi87IH07CiAJCUNB
M0JGNjdDMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDQTNCRjY3QjEwRDk5QkFFMDBFNkNF
NTMgLyogU2Nyb2xsQW5pbWF0b3IuY3BwICovOyB9OwogCQlDQTNCRjY3RTEwRDk5QkFFMDBFNkNF
NTMgLyogU2Nyb2xsQW5pbWF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENBM0JGNjdEMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNBRTlG
OTBGMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENBRTlGOTBEMTQ2NDQxRjAwMEMy
NDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCAqLzsgfTsKKwkJQ0FFOUY5MTAxNDY0NDFG
MDAwQzI0NUIwIC8qIENTU0FzcGVjdFJhdGlvVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENBRTlGOTBFMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NB
c3BlY3RSYXRpb1ZhbHVlLmggKi87IH07CiAJCUNEMERCRjAxMTQyMjc2ODUwMDI4MDI2MyAvKiBJ
UkNfQ29tcG9zaXRlX0NfUjAxOTVfVDAwMF9QMDAwLndhdiBpbiBDb3B5IEF1ZGlvIFJlc291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDBEQkQyMDE0MjI3NTk1MDAy
ODAyNjMgLyogSVJDX0NvbXBvc2l0ZV9DX1IwMTk1X1QwMDBfUDAwMC53YXYgKi87IH07CiAJCUNE
MERCRjAyMTQyMjc2ODUwMDI4MDI2MyAvKiBJUkNfQ29tcG9zaXRlX0NfUjAxOTVfVDAwMF9QMDE1
LndhdiBpbiBDb3B5IEF1ZGlvIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDRDBEQkQyMTE0MjI3NTk1MDAyODAyNjMgLyogSVJDX0NvbXBvc2l0ZV9DX1IwMTk1
X1QwMDBfUDAxNS53YXYgKi87IH07CiAJCUNEMERCRjAzMTQyMjc2ODUwMDI4MDI2MyAvKiBJUkNf
Q29tcG9zaXRlX0NfUjAxOTVfVDAwMF9QMDMwLndhdiBpbiBDb3B5IEF1ZGlvIFJlc291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDBEQkQyMjE0MjI3NTk1MDAyODAy
NjMgLyogSVJDX0NvbXBvc2l0ZV9DX1IwMTk1X1QwMDBfUDAzMC53YXYgKi87IH07CkBAIC0xMjc1
Niw2ICsxMjc1OCw4IEBACiAJCUM2RjQxMDQ2MTMwQzZFODkwMDM5M0RFNCAvKiBFbnRyeUJhc2Uu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRW50cnlCYXNlLmNwcDsg
cGF0aCA9IGZpbGVhcGkvRW50cnlCYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQ0EzQkY2N0IxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0QxMEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9s
bEFuaW1hdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9sbEFuaW1h
dG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNBRTlGOTBEMTQ2NDQxRjAwMEMy
NDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IENTU0FzcGVjdFJhdGlvVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlDQUU5RjkwRTE0NjQ0MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NBc3BlY3RSYXRpb1ZhbHVl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNEMERCRDIwMTQyMjc1OTUwMDI4MDI2
MyAvKiBJUkNfQ29tcG9zaXRlX0NfUjAxOTVfVDAwMF9QMDAwLndhdiAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGF1ZGlvLndhdjsgbmFtZSA9IElSQ19D
b21wb3NpdGVfQ19SMDE5NV9UMDAwX1AwMDAud2F2OyBwYXRoID0gcGxhdGZvcm0vYXVkaW8vcmVz
b3VyY2VzL0lSQ19Db21wb3NpdGVfQ19SMDE5NV9UMDAwX1AwMDAud2F2OyBzb3VyY2VUcmVlID0g
U09VUkNFX1JPT1Q7IH07CiAJCUNEMERCRDIxMTQyMjc1OTUwMDI4MDI2MyAvKiBJUkNfQ29tcG9z
aXRlX0NfUjAxOTVfVDAwMF9QMDE1LndhdiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IGF1ZGlvLndhdjsgbmFtZSA9IElSQ19Db21wb3NpdGVfQ19SMDE5
NV9UMDAwX1AwMTUud2F2OyBwYXRoID0gcGxhdGZvcm0vYXVkaW8vcmVzb3VyY2VzL0lSQ19Db21w
b3NpdGVfQ19SMDE5NV9UMDAwX1AwMTUud2F2OyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07
CiAJCUNEMERCRDIyMTQyMjc1OTUwMDI4MDI2MyAvKiBJUkNfQ29tcG9zaXRlX0NfUjAxOTVfVDAw
MF9QMDMwLndhdiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IGF1ZGlvLndhdjsgbmFtZSA9IElSQ19Db21wb3NpdGVfQ19SMDE5NV9UMDAwX1AwMzAud2F2
OyBwYXRoID0gcGxhdGZvcm0vYXVkaW8vcmVzb3VyY2VzL0lSQ19Db21wb3NpdGVfQ19SMDE5NV9U
MDAwX1AwMzAud2F2OyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CkBAIC0yMDQ5MSw2ICsy
MDQ5NSw4IEBACiAJCUY1MjNEMTg0MDJERTQyRTgwMTg2MzVDQSAvKiBjc3MgKi8gPSB7CiAJCQlp
c2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUNBRTlGOTBEMTQ2NDQxRjAwMEMy
NDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCAqLywKKwkJCQlDQUU5RjkwRTE0NjQ0MUYw
MDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oICovLAogCQkJCTkzQ0E0QzlDMDlERjkz
RkEwMERGODY3NyAvKiBtYWtldG9rZW5pemVyICovLAogCQkJCUE4MEU2Q0RBMEExOTg5Q0EwMDdG
QjhDNSAvKiBDb3VudGVyLmggKi8sCiAJCQkJOTMwNzA1QzcwOUUwQzk1RjAwQjE3RkU0IC8qIENv
dW50ZXIuaWRsICovLApAQCAtMjQ1OTEsNiArMjQ1OTcsNyBAQAogCQkJCTA3ODQ2Mzg1MTQ1QjFC
OEUwMEE1OERGMSAvKiBKU1RyYWNrQ3VzdG9tLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDhGRUJE
RDE0M0UzRUY3MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRlVmFsdWUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTMxNjkzNzlDMTQ2MDlDNkMwMEMwMTM2MiAvKiBEcmFnU2Vzc2lvbi5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQ0FFOUY5MTAxNDY0NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVjdFJhdGlvVmFsdWUu
aCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nl
c3NpbmcgPSAwOwogCQl9OwpAQCAtMjc0NDIsNiArMjc0NDksNyBAQAogCQkJCTA3ODQ2MzQyMTQ1
QjE1MUEwMEE1OERGMSAvKiBKU1RyYWNrRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDc2
ODlENkUxNDVCNTJDQzAwMUNEMTMyIC8qIEpTVHJhY2tFdmVudEN1c3RvbS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkyRDhGRUJEQzE0M0UzRUY3MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRlVmFsdWUu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQ0FFOUY5MEYxNDY0NDFGMDAwQzI0NUIwIC8qIENTU0Fz
cGVjdFJhdGlvVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RFQTc2MzAxNDYwOEE1MzAw
OEIzMUYxIC8qIFBsYXRmb3JtQ2xvY2tDQS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDREVBNzYz
NDE0NjBCNTZGMDA4QjMxRjEgLyogUGxhdGZvcm1DbG9ja1BPU0lYLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUNERUE3NjM1MTQ2MEI3MUEwMDhCMzFGMSAvKiBDbG9jay5jcHAgaW4gU291cmNlcyAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42ZDhmOWIxMDVmNzdjZTUzMGMyMjNlMTFiMzQzNmNiM2I2Y2U2OWYyCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwCkBAIC0wLDAg
KzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9m
IEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAg
aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1NTQXNwZWN0UmF0aW9W
YWx1ZS5oIgorCisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK0NTU0FzcGVjdFJhdGlvVmFsdWU6On5DU1NBc3BlY3RSYXRpb1ZhbHVl
KCkKK3sKK30KKworU3RyaW5nIENTU0FzcGVjdFJhdGlvVmFsdWU6OmNzc1RleHQoKSBjb25zdAor
eworICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OworICAgIHJlc3VsdC5hcHBlbmQoU3RyaW5nOjpu
dW1iZXIobV9udW1lcmF0b3JWYWx1ZSkpOworICAgIHJlc3VsdC5hcHBlbmQoIi8iKTsKKyAgICBy
ZXN1bHQuYXBwZW5kKFN0cmluZzo6bnVtYmVyKG1fZGVub21pbmF0b3JWYWx1ZSkpOworICAgIHJl
dHVybiByZXN1bHQudG9TdHJpbmcoKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBc3Bl
Y3RSYXRpb1ZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmUwOTQ1ZTFkZDRjZTJlM2Y5NjE0Y2JiYjJiMDQx
NjllNjYzMDFkYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBc3Bl
Y3RSYXRpb1ZhbHVlLmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICog
My4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5v
ciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFT
IElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQ1NTQXNwZWN0UmF0aW9W
YWx1ZV9oCisjZGVmaW5lIENTU0FzcGVjdFJhdGlvVmFsdWVfaAorCisjaW5jbHVkZSAiQ1NTUHJp
bWl0aXZlVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NWYWx1ZS5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIENTU0FzcGVjdFJhdGlvVmFsdWUgOiBwdWJsaWMgQ1NTVmFsdWUgeworcHVi
bGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0FzcGVjdFJhdGlvVmFsdWU+IGNyZWF0ZShm
bG9hdCBudW1lcmF0b3JWYWx1ZSwgZmxvYXQgZGVub21pbmF0b3JWYWx1ZSkKKyAgICB7CisgICAg
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTQXNwZWN0UmF0aW9WYWx1ZShudW1lcmF0b3JWYWx1
ZSwgZGVub21pbmF0b3JWYWx1ZSkpOworICAgIH0KKworICAgIHZpcnR1YWwgfkNTU0FzcGVjdFJh
dGlvVmFsdWUoKTsKKworICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdDsKKworICAg
IGZsb2F0IG51bWVyYXRvclZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9udW1lcmF0b3JWYWx1ZTsg
fQorICAgIGZsb2F0IGRlbm9taW5hdG9yVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2Rlbm9taW5h
dG9yVmFsdWU7IH0KKworcHJpdmF0ZToKKyAgICBDU1NBc3BlY3RSYXRpb1ZhbHVlKGZsb2F0IG51
bWVyYXRvclZhbHVlLCBmbG9hdCBkZW5vbWluYXRvclZhbHVlKQorICAgICAgICA6IG1fbnVtZXJh
dG9yVmFsdWUobnVtZXJhdG9yVmFsdWUpCisgICAgICAgICwgbV9kZW5vbWluYXRvclZhbHVlKGRl
bm9taW5hdG9yVmFsdWUpCisgICAgeworICAgIH0KKworICAgIGZsb2F0IG1fbnVtZXJhdG9yVmFs
dWU7CisgICAgZmxvYXQgbV9kZW5vbWluYXRvclZhbHVlOworfTsKKworfQorCisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAK
aW5kZXggZDJhNTBkZmNjNjdmZGU2NGVkNDM3Nzg2YjQyYjFkMzNjYjBkMmRlYS4uOTU2ZmIyYTVi
NzFhNWY5NzVlNGQwMGIwNTYzZWU3MjA0YzdmZWZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTIwMzMsNiArMjAzMyw3
IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0
UHJvcGVydHlDU1NWYWx1ZShpbnQgcHJvcGVyCiAgICAgICAgICAgICBicmVhazsKIAogICAgICAg
ICAvKiBVbmltcGxlbWVudGVkIENTUyAzIHByb3BlcnRpZXMgKGluY2x1ZGluZyBDU1MzIHNob3J0
aGFuZCBwcm9wZXJ0aWVzKSAqLworICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QXNwZWN0
UmF0aW86CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0RW1waGFzaXM6CiAgICAg
ICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0TGluZVRocm91Z2g6CiAgICAgICAgIGNhc2UgQ1NTUHJv
cGVydHlUZXh0TGluZVRocm91Z2hDb2xvcjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
TXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDQ0Y2Y4MDdjNmM2MTNhYzFiZjliMDhl
NTYyZGNhYjE0ZTQ1ODkxYTIuLmM0ZWJiOGIwNmMxMmI2MmVlNzczN2UyMDE4ZjMwZDM1MDVjMWQ5
YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJh
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU011dGFibGVTdHlsZURlY2xhcmF0
aW9uLmNwcApAQCAtNzg3LDYgKzc4Nyw3IEBAIHZvaWQgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRp
b246OmFkZFN1YnJlc291cmNlU3R5bGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiB1cmxzCiBzdGF0
aWMgY29uc3QgaW50IGJsb2NrUHJvcGVydGllc1tdID0gewogICAgIENTU1Byb3BlcnR5T3JwaGFu
cywKICAgICBDU1NQcm9wZXJ0eU92ZXJmbG93LCAvLyBUaGlzIGNhbiBiZSBhbHNvIGJlIGFwcGxp
ZWQgdG8gcmVwbGFjZWQgZWxlbWVudHMKKyAgICBDU1NQcm9wZXJ0eVdlYmtpdEFzcGVjdFJhdGlv
LAogICAgIENTU1Byb3BlcnR5V2Via2l0Q29sdW1uQ291bnQsCiAgICAgQ1NTUHJvcGVydHlXZWJr
aXRDb2x1bW5HYXAsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5SdWxlQ29sb3IsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IGQ0ZmVhNzRhM2ViZTJjZDhiY2U5M2E2OGY4NTU1OTI0
NTI0ZTU5NTQuLjYxZmU1YTM3MzMwODZkMDA2MTVlNTVlZjNmMjk4OWIyN2JjYWEyNjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2VyLmgiCiAKKyNpbmNsdWRlICJDU1NBc3BlY3RSYXRpb1Zh
bHVlLmgiCiAjaW5jbHVkZSAiQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0Nh
bnZhc1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQ2hhcnNldFJ1bGUuaCIKQEAgLTE1MTAsNiArMTUx
MSw4IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKGludCBwcm9wSWQsIGJvb2wgaW1wb3J0
YW50KQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUJv
cmRlclJhZGl1czoKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW86CisgICAg
ICAgIHJldHVybiBwYXJzZUFzcGVjdFJhdGlvKGltcG9ydGFudCk7CiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eVdlYmtpdEJvcmRlclJhZGl1czoKICAgICAgICAgcmV0dXJuIHBhcnNlQm9yZGVyUmFkaXVz
KHByb3BJZCwgaW1wb3J0YW50KTsKICAgICBjYXNlIENTU1Byb3BlcnR5T3V0bGluZU9mZnNldDoK
QEAgLTU2NDgsNiArNTY1MSwzNSBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VCb3JkZXJSYWRpdXMo
aW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wg
Q1NTUGFyc2VyOjpwYXJzZUFzcGVjdFJhdGlvKGJvb2wgaW1wb3J0YW50KQoreworICAgIHVuc2ln
bmVkIG51bSA9IG1fdmFsdWVMaXN0LT5zaXplKCk7CisgICAgaWYgKG51bSA9PSAxICYmIG1fdmFs
dWVMaXN0LT52YWx1ZUF0KDApLT5pZCA9PSBDU1NWYWx1ZU5vbmUpIHsKKyAgICAgICAgYWRkUHJv
cGVydHkoQ1NTUHJvcGVydHlXZWJraXRBc3BlY3RSYXRpbywgcHJpbWl0aXZlVmFsdWVDYWNoZSgp
LT5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb25lKSwgaW1wb3J0YW50KTsKKyAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgaWYgKG51bSAhPSAzKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBDU1NQYXJzZXJWYWx1ZSogbHZhbHVlID0gbV92YWx1ZUxpc3QtPnZh
bHVlQXQoMCk7CisgICAgQ1NTUGFyc2VyVmFsdWUqIG9wID0gbV92YWx1ZUxpc3QtPnZhbHVlQXQo
MSk7CisgICAgQ1NTUGFyc2VyVmFsdWUqIHJ2YWx1ZSA9IG1fdmFsdWVMaXN0LT52YWx1ZUF0KDIp
OworCisgICAgaWYgKG9wLT51bml0ICE9IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvciB8fCBvcC0+
aVZhbHVlICE9ICcvJykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKCF2YWxpZFVu
aXQobHZhbHVlLCBGTnVtYmVyIHwgRk5vbk5lZywgbV9zdHJpY3QpIHx8ICF2YWxpZFVuaXQocnZh
bHVlLCBGTnVtYmVyIHwgRk5vbk5lZywgbV9zdHJpY3QpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICBpZiAoIWx2YWx1ZS0+ZlZhbHVlIHx8ICFydmFsdWUtPmZWYWx1ZSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRBc3BlY3RS
YXRpbywgQ1NTQXNwZWN0UmF0aW9WYWx1ZTo6Y3JlYXRlKGx2YWx1ZS0+ZlZhbHVlLCBydmFsdWUt
PmZWYWx1ZSksIGltcG9ydGFudCk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogYm9vbCBDU1NQ
YXJzZXI6OnBhcnNlQ291bnRlcihpbnQgcHJvcElkLCBpbnQgZGVmYXVsdFZhbHVlLCBib29sIGlt
cG9ydGFudCkKIHsKICAgICBlbnVtIHsgSUQsIFZBTCB9IHN0YXRlID0gSUQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmgKaW5kZXggNzQ0ZDNjNzVjOTVlMGNhMTk0Y2EyZTU4MDc4YjlkMmVhZjU3MjBhMi4u
YjEyZThjOTIxODdmNWEwMTU0MmFhYjliMDcyZGQwYTg4ZTc0ZDFkMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
YXJzZXIuaApAQCAtMTcxLDYgKzE3MSw4IEBAIHB1YmxpYzoKICAgICBib29sIHBhcnNlQm9yZGVy
SW1hZ2VPdXRzZXQoUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiYpOwogICAgIGJvb2wgcGFyc2VC
b3JkZXJSYWRpdXMoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOwogCisgICAgYm9vbCBwYXJz
ZUFzcGVjdFJhdGlvKGJvb2wgaW1wb3J0YW50KTsKKwogICAgIGJvb2wgcGFyc2VSZWZsZWN0KGlu
dCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKIAogICAgIGJvb2wgcGFyc2VGbGV4KGludCBwcm9w
SWQsIGJvb2wgaW1wb3J0YW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCmluZGV4IDNl
N2RmNTExNWI5YmVhMjcwYjI3Y2VlOGNjOTgwMzE4OTQ4ODBhZTMuLmRlN2M5MjczYjc5ZDY3OGRm
ZDAzNjQ4ZDczNmRiNzdhYzVhYzg5OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcm9wZXJ0eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcApA
QCAtMzE3LDYgKzMxNyw3IEBAIGJvb2wgQ1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHko
dW5zaWduZWQgcHJvcGVydHlJRCkKICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dFNoYWRvdzoKICAg
ICBjYXNlIENTU1Byb3BlcnR5VGV4dFRyYW5zZm9ybToKICAgICBjYXNlIENTU1Byb3BlcnR5Vmlz
aWJpbGl0eToKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW86CiAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlckhvcml6b250YWxTcGFjaW5nOgogICAgIGNhc2UgQ1NT
UHJvcGVydHlXZWJraXRCb3JkZXJWZXJ0aWNhbFNwYWNpbmc6CiAgICAgY2FzZSBDU1NQcm9wZXJ0
eVdlYmtpdEJveERpcmVjdGlvbjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0eU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4K
aW5kZXggZDFlZjJhZWQyNWQ0NDEwY2E2MzI4YTA0Y2Y3YjZhZTI1ZGFiNzM0Zi4uNTI5NDRkODJl
OWNkYTdiYjU3ZGRjYTY2ZWVlYzllOWM2OTk5YmRlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
b3BlcnR5TmFtZXMuaW4KQEAgLTE5Myw2ICsxOTMsNyBAQCB6LWluZGV4CiAtd2Via2l0LWFuaW1h
dGlvbi1wbGF5LXN0YXRlCiAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24KIC13ZWJr
aXQtYXBwZWFyYW5jZQorLXdlYmtpdC1hc3BlY3QtcmF0aW8KIC13ZWJraXQtYmFja2ZhY2Utdmlz
aWJpbGl0eQogLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXAKIC13ZWJraXQtYmFja2dyb3VuZC1jb21w
b3NpdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRleCBiYWU3MzZm
Nzk5YWQ2MGFiZTk3YzYxNmE3Yzk3NjE2NzJhN2M0YWE4Li4zNGYwNjNiODcxOTgxMDVjNmQ5Yzgy
N2Q3NmJjMzZhNzE0ZGFmNGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5
bGVTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3Iu
Y3BwCkBAIC0zNzcyLDYgKzM3NzIsNyBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJv
cGVydHkoaW50IGlkLCBDU1NWYWx1ZSAqdmFsdWUpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRV
bmRlcmxpbmVNb2RlOgogICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0VW5kZXJsaW5lU3R5bGU6CiAg
ICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRVbmRlcmxpbmVXaWR0aDoKKyAgICBjYXNlIENTU1Byb3Bl
cnR5V2Via2l0QXNwZWN0UmF0aW86CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEZvbnRTaXpl
RGVsdGE6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uc0luRWZmZWN0
OgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0U3Ryb2tlOgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDM1MWZiMGY0
YzhmOWQ0YjNmYjQxYTM3NDRlY2Y1NGM0MmRmZDYwNjMuLmRmMTFjMWJjY2U4OGY5MWNmNjkyZTBk
MWUwN2ZlMDc2ZThjZWU3MWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0xMS0wNCAgRmFk
eSBTYW11ZWwgIDxmc2FtdWVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBDU1MgQXNwZWN0IFJh
dGlvIFByb3BlcnR5IFBhcnNpbmcgU3RhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcwNzA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgT2phbiBWYWZh
aS4KKworICAgICAgICAqIGZhc3QvY3NzL2FzcGVjdC1yYXRpby1wYXJzaW5nLXRlc3RzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmct
dGVzdHMuaHRtbDogQWRkZWQuCisKIDIwMTEtMTEtMDQgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9z
c3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBbUXRdIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmct
dGVzdHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxNGViNGI2MjRjZGNjODlkYjQ0OWY0NmMx
N2Y5NGEyMzQ5NmUwNmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9h
c3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNyBAQAor
Q1NTIEFzcGVjdCBSYXRpbyBQYXJzaW5nIFRlc3QKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIyLzEiLCAiLXdlYmtp
dC1hc3BlY3QtcmF0aW8iKSBpcyAiMi8xIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9U
ZXN0IiwgIjEvMSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICIxLzEiCitQQVNTIHRlc3RQ
YXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS80IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikg
aXMgIjEvNCIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIC8gMiIsICIt
d2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICIxLzIiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RS
YXRpb1Rlc3QiLCAiMS4yIC8gMiIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICIxLjIvMiIK
K1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIyIC8gMC41IiwgIi13ZWJraXQt
YXNwZWN0LXJhdGlvIikgaXMgIjIvMC41IgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9U
ZXN0IiwgIm5vbmUiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1MgdGVz
dFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIDIiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8i
KSBpcyAibm9uZSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICJhLzEiLCAi
LXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVj
dFJhdGlvVGVzdCIsICIxL2EiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BB
U1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICJhYmMxMjMiLCAiLXdlYmtpdC1hc3Bl
Y3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIs
ICIxIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5n
KCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAvIDAiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAi
bm9uZSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIwIC8gMSIsICItd2Vi
a2l0LWFzcGVjdC1yYXRpbyIpIGlzICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0
aW9UZXN0IiwgIjAgLyAwIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNT
IHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiLTEgLyA4IiwgIi13ZWJraXQtYXNwZWN0
LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAi
MSAvIC05IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJz
aW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiLTEgLyAtNCIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIp
IGlzICJub25lIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2FzcGVjdC1yYXRpby1wYXJz
aW5nLXRlc3RzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9hc3BlY3QtcmF0aW8tcGFyc2lu
Zy10ZXN0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk0ZWNkODQwNmYzMTZhYTE5OTA5NDA0MGI3Mjc5N2Iz
MzA1ZWY2N2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9hc3BlY3Qt
cmF0aW8tcGFyc2luZy10ZXN0cy5odG1sCkBAIC0wLDAgKzEsNDMgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3Qtc3R5bGUuY3NzIj4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICA8L2hlYWQ+CisgIDxib2R5PgorICAgIDxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgorICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDxk
aXYgaWQ9ImFzcGVjdFJhdGlvVGVzdCI+PC9kaXY+CisgICAgPHNjcmlwdD4KKyAgICAgIGRlc2Ny
aXB0aW9uKCdDU1MgQXNwZWN0IFJhdGlvIFBhcnNpbmcgVGVzdCcpOworICAgICAgZnVuY3Rpb24g
dGVzdFBhcnNpbmcoZWxlbWVudElkLCB2YWx1ZSwgc3R5bGVBdHRyaWJ1dGUpCisgICAgICB7Cisg
ICAgICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZCk7Cisg
ICAgICAgICAgZGl2LnN0eWxlW3N0eWxlQXR0cmlidXRlXSA9IHZhbHVlOworICAgICAgICAgIHJl
dHVybiBkaXYuc3R5bGVbc3R5bGVBdHRyaWJ1dGVdOworICAgICAgfQorCisgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMi8xIiwgIi13
ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnMi8xJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS8xIiwgIi13ZWJraXQtYXNwZWN0
LXJhdGlvIiknLCAnMS8xJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJz
aW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS80IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAn
MS80Jyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RS
YXRpb1Rlc3QiLCAiMSAvIDIiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICcxLzInKTsKKyAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIs
ICIxLjIgLyAyIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnMS4yLzInKTsKKyAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIyIC8g
MC41IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnMi8wLjUnKTsKKyAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICJub25lIiwgIi13
ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworCisgICAgICAvLyBUaGUgZm9sbG93aW5n
IGFyZSBpbnZhbGlkIGFuZCBzaG91bGQgZ2V0IGlnbm9yZWQuCisgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAyIiwgIi13ZWJraXQt
YXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0
ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgImEvMSIsICItd2Via2l0LWFzcGVjdC1yYXRp
byIpJywgJ25vbmUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmco
ImFzcGVjdFJhdGlvVGVzdCIsICIxL2EiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25l
Jyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRp
b1Rlc3QiLCAiYWJjMTIzIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0Iiwg
IjEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAvIDAiLCAiLXdl
YmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMCAvIDEiLCAiLXdlYmtpdC1hc3Bl
Y3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQ
YXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMCAvIDAiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8i
KScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJh
c3BlY3RSYXRpb1Rlc3QiLCAiLTEgLyA4IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9u
ZScpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0
aW9UZXN0IiwgIjEgLyAtOSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsKKyAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIs
ICItMSAvIC00IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgIDwvc2Ny
aXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorICA8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113685</attachid>
            <date>2011-11-04 11:28:32 -0700</date>
            <delta_ts>2011-11-04 16:07:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-70707-20111104142831.patch</filename>
            <type>text/plain</type>
            <size>26029</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkyOTIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1YmFiNGRlOTAyYzFmOTVi
ZGQyZGUwM2M4OTJiM2JhOWM5NTczYTU1Li4xNjg4YTc1Y2Q1OGQ2OTkxNzhlZjI0Y2MwODY1YzMy
YmVlYjlkMDUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTEtMTEtMDQgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NTIEFzcGVjdCBSYXRp
byBQcm9wZXJ0eSBQYXJzaW5nIFN0YWdlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MDcwNworCisgICAgICAgIFJldmlld2VkIGJ5IE9qYW4gVmFmYWku
CisKKyAgICAgICAgQWRkZWQgcGFyc2luZyBzdXBwb3J0IGZvciAtd2Via2l0LWFzcGVjdC1yYXRp
byBDU1MgcHJvcGVydHkuCisgICAgICAgIFRoZSBzcGVjIGNhbiBiZSBmb3VuZCBoZXJlOiBodHRw
Oi8vd3d3LnhhbnRoaXIuY29tL2Jsb2cvYjQ4MTAKKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9h
c3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0cy5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6
CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBjc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6Q1NTQXNwZWN0UmF0aW9WYWx1ZTo6fkNTU0FzcGVjdFJhdGlvVmFsdWUpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTQXNwZWN0UmF0aW9WYWx1ZTo6Y3NzVGV4dCk6CisgICAgICAgICog
Y3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NB
c3BlY3RSYXRpb1ZhbHVlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQXNwZWN0UmF0
aW9WYWx1ZTo6bnVtZXJhdG9yVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQXNwZWN0UmF0
aW9WYWx1ZTo6ZGVub21pbmF0b3JWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NBc3BlY3RS
YXRpb1ZhbHVlOjpDU1NBc3BlY3RSYXRpb1ZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0
ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU011
dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcDoKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZSk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NQYXJzZXI6OnBhcnNlQXNwZWN0UmF0aW8pOgorICAgICAgICAqIGNzcy9DU1NQYXJz
ZXIuaDoKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUHJvcGVydHk6OmlzSW5oZXJpdGVkUHJvcGVydHkpOgorICAgICAgICAqIGNzcy9DU1NQcm9w
ZXJ0eU5hbWVzLmluOgorICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkpOgorCiAyMDExLTEx
LTAzICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRk
IE5ldHNjYXBlUGx1Z2luOjpjb252ZXJ0RnJvbVJvb3RWaWV3CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cmlu
ZGV4IDIxZWEzOGM2MjUzMmRjZWQzZWVlYTI1ZWJmNmI1ZWUwYmYxODBhOTguLjFlNGJlYTkyOWNl
ZDJmYzRlN2U3NDViNmJmZTI0NWNjZjljYTI2NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00
MTYsNiArNDE2LDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL2dlbmVyaWMv
QWN0aXZlRE9NQ2FsbGJhY2suY3BwCiAgICAgYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmNwcAogCisgICAgY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwCiAgICAgY3Nz
L0NTU0JvcmRlckltYWdlVmFsdWUuY3BwCiAgICAgY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1
ZS5jcHAKICAgICBjc3MvQ1NTQ2FudmFzVmFsdWUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQppbmRleCA3MjgxYWY1NzRkZmJkNjA0NDAyODYwZDFjZWQ0YjlkZmMwYTBkZmM2Li5lZDM0
ZTIwY2ZkOTAyYjIxNDA4OGZjY2IzZTNhMDQ3M2JmNjMzODJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KQEAgLTk2Miw2ICs5NjIsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNv
dXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX3Jvb3QuaCBcCiAJU291cmNlL1dlYkNvcmUvY29u
ZmlnLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9Db3VudGVyLmggXAorCVNvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0Fz
cGVjdFJhdGlvVmFsdWUuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0JvcmRlckltYWdlU2xp
Y2VWYWx1ZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFs
dWUuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuY3BwIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJn
ZXQucHJpCmluZGV4IDI4YTc1MGUwMzkyZmI2ZGRjMTQyZWYxMjZhOTM1OTJiNWY5ZTU3ZDMuLjlk
YTY0NmE1ZTk4MWQ2ODkwNmNlOTdjYjgwMGJmZmExZTY4ZjYxNDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAt
Mzk3LDYgKzM5Nyw3IEBAIHY4IHsKIH0KIAogU09VUkNFUyArPSBcCisgICAgY3NzL0NTU0FzcGVj
dFJhdGlvVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcCBc
CiAgICAgY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTQ2FudmFzVmFs
dWUuY3BwIFwKQEAgLTE0NzcsNiArMTQ3OCw3IEBAIHY4IHsKIH0KIAogSEVBREVSUyArPSBcCisg
ICAgY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuaCBcCiAgICAgY3NzL0NTU0JvcmRlckltYWdlU2xp
Y2VWYWx1ZS5oIFwKICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oIFwKICAgICBjc3MvQ1NT
Q2FudmFzVmFsdWUuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggYzgwOTY4ZGQwN2NlZDFjZTQ1OTUw
N2YyZTg0Y2ExMTZiNDc4MTc5Ny4uYmVlMzQ4OWMxYzY2YjdlMzQ2NjY4NDIyZDVmN2MxZThkYWY2
ODEyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjMzNSw2ICsyMzM1LDggQEAKICAgICAgICAgICAg
ICdicmlkZ2UvdGVzdGJpbmRpbmdzLm1tJywKICAgICAgICAgICAgICdicmlkZ2UvdGVzdHF0Ymlu
ZGluZ3MuY3BwJywKICAgICAgICAgICAgICdjb25maWcuaCcsCisgICAgICAgICAgICAnY3NzL0NT
U0FzcGVjdFJhdGlvVmFsdWUuY3BwJywKKyAgICAgICAgICAgICdjc3MvQ1NTQXNwZWN0UmF0aW9W
YWx1ZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAnLAogICAg
ICAgICAgICAgJ2Nzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmgnLAogICAgICAgICAgICAgJ2Nzcy9D
U1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggZmQ2OTYxMWZkOGM0ZGJlY2MxMWU0ZWU1YjI2MGIy
YWNiNjkwNGJlYS4uZGVkYjBlMzNhYWZhMThjYzk0MmJhOWE0NDA2OWMyZDM4ZDA3OTExNiAxMDA3
NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTMyMzc4
LDYgKzMyMzc4LDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGNzc1xDU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+
CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU0FzcGVjdFJhdGlvVmFsdWUu
aCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3Nz
XENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDAx
YmNkNWUxN2JmMGZiMzlhNjNjMTliNTA3Y2NlZTk3YmEzNjlkOTUuLjE2YzhlZDNhYTQ0ZGYyMWJm
MGFjMGFmOTNjNGFmZTU0NzQ5MTBhZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU0NjMsNiArNTQ2Myw4IEBACiAJCUM2RjQx
MDQ3MTMwQzZFODkwMDM5M0RFNCAvKiBFbnRyeUJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzZGNDEwNDYxMzBDNkU4OTAwMzkzREU0IC8qIEVu
dHJ5QmFzZS5jcHAgKi87IH07CiAJCUNBM0JGNjdDMTBEOTlCQUUwMEU2Q0U1MyAvKiBTY3JvbGxB
bmltYXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDQTNCRjY3QjEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuY3BwICovOyB9Owog
CQlDQTNCRjY3RTEwRDk5QkFFMDBFNkNFNTMgLyogU2Nyb2xsQW5pbWF0b3IuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENBM0JGNjdEMTBEOTlCQUUwMEU2
Q0U1MyAvKiBTY3JvbGxBbmltYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCUNBRTlGOTBGMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RS
YXRpb1ZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENBRTlGOTBEMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCAq
LzsgfTsKKwkJQ0FFOUY5MTAxNDY0NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVjdFJhdGlvVmFsdWUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENBRTlGOTBF
MTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmggKi87IH07CiAJCUNEMERC
RjAxMTQyMjc2ODUwMDI4MDI2MyAvKiBJUkNfQ29tcG9zaXRlX0NfUjAxOTVfVDAwMF9QMDAwLndh
diBpbiBDb3B5IEF1ZGlvIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDRDBEQkQyMDE0MjI3NTk1MDAyODAyNjMgLyogSVJDX0NvbXBvc2l0ZV9DX1IwMTk1X1Qw
MDBfUDAwMC53YXYgKi87IH07CiAJCUNEMERCRjAyMTQyMjc2ODUwMDI4MDI2MyAvKiBJUkNfQ29t
cG9zaXRlX0NfUjAxOTVfVDAwMF9QMDE1LndhdiBpbiBDb3B5IEF1ZGlvIFJlc291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRDBEQkQyMTE0MjI3NTk1MDAyODAyNjMg
LyogSVJDX0NvbXBvc2l0ZV9DX1IwMTk1X1QwMDBfUDAxNS53YXYgKi87IH07CiAJCUNEMERCRjAz
MTQyMjc2ODUwMDI4MDI2MyAvKiBJUkNfQ29tcG9zaXRlX0NfUjAxOTVfVDAwMF9QMDMwLndhdiBp
biBDb3B5IEF1ZGlvIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRDBEQkQyMjE0MjI3NTk1MDAyODAyNjMgLyogSVJDX0NvbXBvc2l0ZV9DX1IwMTk1X1QwMDBf
UDAzMC53YXYgKi87IH07CkBAIC0xMjc1Niw2ICsxMjc1OCw4IEBACiAJCUM2RjQxMDQ2MTMwQzZF
ODkwMDM5M0RFNCAvKiBFbnRyeUJhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gRW50cnlCYXNlLmNwcDsgcGF0aCA9IGZpbGVhcGkvRW50cnlCYXNlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0IxMEQ5OUJBRTAwRTZDRTUzIC8qIFNj
cm9sbEFuaW1hdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNj
cm9sbEFuaW1hdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0EzQkY2N0Qx
MEQ5OUJBRTAwRTZDRTUzIC8qIFNjcm9sbEFuaW1hdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNjcm9sbEFuaW1hdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUNBRTlGOTBEMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0FzcGVjdFJhdGlvVmFsdWUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDQUU5RjkwRTE0NjQ0MUYwMDBDMjQ1
QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDU1NBc3BlY3RSYXRpb1ZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUNEMERCRDIwMTQyMjc1OTUwMDI4MDI2MyAvKiBJUkNfQ29tcG9zaXRlX0NfUjAxOTVfVDAwMF9Q
MDAwLndhdiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IGF1ZGlvLndhdjsgbmFtZSA9IElSQ19Db21wb3NpdGVfQ19SMDE5NV9UMDAwX1AwMDAud2F2OyBw
YXRoID0gcGxhdGZvcm0vYXVkaW8vcmVzb3VyY2VzL0lSQ19Db21wb3NpdGVfQ19SMDE5NV9UMDAw
X1AwMDAud2F2OyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CiAJCUNEMERCRDIxMTQyMjc1
OTUwMDI4MDI2MyAvKiBJUkNfQ29tcG9zaXRlX0NfUjAxOTVfVDAwMF9QMDE1LndhdiAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGF1ZGlvLndhdjsgbmFt
ZSA9IElSQ19Db21wb3NpdGVfQ19SMDE5NV9UMDAwX1AwMTUud2F2OyBwYXRoID0gcGxhdGZvcm0v
YXVkaW8vcmVzb3VyY2VzL0lSQ19Db21wb3NpdGVfQ19SMDE5NV9UMDAwX1AwMTUud2F2OyBzb3Vy
Y2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CiAJCUNEMERCRDIyMTQyMjc1OTUwMDI4MDI2MyAvKiBJ
UkNfQ29tcG9zaXRlX0NfUjAxOTVfVDAwMF9QMDMwLndhdiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGF1ZGlvLndhdjsgbmFtZSA9IElSQ19Db21wb3Np
dGVfQ19SMDE5NV9UMDAwX1AwMzAud2F2OyBwYXRoID0gcGxhdGZvcm0vYXVkaW8vcmVzb3VyY2Vz
L0lSQ19Db21wb3NpdGVfQ19SMDE5NV9UMDAwX1AwMzAud2F2OyBzb3VyY2VUcmVlID0gU09VUkNF
X1JPT1Q7IH07CkBAIC0yMDQ5MSw2ICsyMDQ5NSw4IEBACiAJCUY1MjNEMTg0MDJERTQyRTgwMTg2
MzVDQSAvKiBjc3MgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAor
CQkJCUNBRTlGOTBEMTQ2NDQxRjAwMEMyNDVCMCAvKiBDU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCAq
LywKKwkJCQlDQUU5RjkwRTE0NjQ0MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5o
ICovLAogCQkJCTkzQ0E0QzlDMDlERjkzRkEwMERGODY3NyAvKiBtYWtldG9rZW5pemVyICovLAog
CQkJCUE4MEU2Q0RBMEExOTg5Q0EwMDdGQjhDNSAvKiBDb3VudGVyLmggKi8sCiAJCQkJOTMwNzA1
QzcwOUUwQzk1RjAwQjE3RkU0IC8qIENvdW50ZXIuaWRsICovLApAQCAtMjQ1OTEsNiArMjQ1OTcs
NyBAQAogCQkJCTA3ODQ2Mzg1MTQ1QjFCOEUwMEE1OERGMSAvKiBKU1RyYWNrQ3VzdG9tLmggaW4g
SGVhZGVycyAqLywKIAkJCQkyRDhGRUJERDE0M0UzRUY3MDA3MjUwMkIgLyogQ1NTQ3Jvc3NmYWRl
VmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxNjkzNzlDMTQ2MDlDNkMwMEMwMTM2MiAvKiBE
cmFnU2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0FFOUY5MTAxNDY0NDFGMDAwQzI0NUIw
IC8qIENTU0FzcGVjdFJhdGlvVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjc0NDIsNiArMjc0
NDksNyBAQAogCQkJCTA3ODQ2MzQyMTQ1QjE1MUEwMEE1OERGMSAvKiBKU1RyYWNrRXZlbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMDc2ODlENkUxNDVCNTJDQzAwMUNEMTMyIC8qIEpTVHJhY2tF
dmVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDhGRUJEQzE0M0UzRUY3MDA3MjUw
MkIgLyogQ1NTQ3Jvc3NmYWRlVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQ0FFOUY5MEYx
NDY0NDFGMDAwQzI0NUIwIC8qIENTU0FzcGVjdFJhdGlvVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQ0RFQTc2MzAxNDYwOEE1MzAwOEIzMUYxIC8qIFBsYXRmb3JtQ2xvY2tDQS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlDREVBNzYzNDE0NjBCNTZGMDA4QjMxRjEgLyogUGxhdGZvcm1DbG9j
a1BPU0lYLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNERUE3NjM1MTQ2MEI3MUEwMDhCMzFGMSAv
KiBDbG9jay5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBc3BlY3RS
YXRpb1ZhbHVlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZDhmOWIxMDVmNzdjZTUzMGMyMjNlMTFiMzQzNmNi
M2I2Y2U2OWYyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0FzcGVj
dFJhdGlvVmFsdWUuY3BwCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
IDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBu
b3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICog
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oIgorCisjaW5jbHVkZSA8d3RmL3RleHQvU3Ry
aW5nQnVpbGRlci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0NTU0FzcGVjdFJhdGlvVmFs
dWU6On5DU1NBc3BlY3RSYXRpb1ZhbHVlKCkKK3sKK30KKworU3RyaW5nIENTU0FzcGVjdFJhdGlv
VmFsdWU6OmNzc1RleHQoKSBjb25zdAoreworICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OworICAg
IHJlc3VsdC5hcHBlbmQoU3RyaW5nOjpudW1iZXIobV9udW1lcmF0b3JWYWx1ZSkpOworICAgIHJl
c3VsdC5hcHBlbmQoIi8iKTsKKyAgICByZXN1bHQuYXBwZW5kKFN0cmluZzo6bnVtYmVyKG1fZGVu
b21pbmF0b3JWYWx1ZSkpOworICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsKK30KKworfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmUwOTQ1
ZTFkZDRjZTJlM2Y5NjE0Y2JiYjJiMDQxNjllNjYzMDFkYwotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmgKQEAgLTAsMCArMSw2NCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEu
ICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29t
cHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
CisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
QU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
CisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgQ1NTQXNwZWN0UmF0aW9WYWx1ZV9oCisjZGVmaW5lIENTU0FzcGVjdFJhdGlvVmFs
dWVfaAorCisjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NWYWx1
ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENTU0FzcGVjdFJhdGlvVmFsdWUg
OiBwdWJsaWMgQ1NTVmFsdWUgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0Fz
cGVjdFJhdGlvVmFsdWU+IGNyZWF0ZShmbG9hdCBudW1lcmF0b3JWYWx1ZSwgZmxvYXQgZGVub21p
bmF0b3JWYWx1ZSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTQXNwZWN0
UmF0aW9WYWx1ZShudW1lcmF0b3JWYWx1ZSwgZGVub21pbmF0b3JWYWx1ZSkpOworICAgIH0KKwor
ICAgIHZpcnR1YWwgfkNTU0FzcGVjdFJhdGlvVmFsdWUoKTsKKworICAgIHZpcnR1YWwgU3RyaW5n
IGNzc1RleHQoKSBjb25zdDsKKworICAgIGZsb2F0IG51bWVyYXRvclZhbHVlKCkgY29uc3QgeyBy
ZXR1cm4gbV9udW1lcmF0b3JWYWx1ZTsgfQorICAgIGZsb2F0IGRlbm9taW5hdG9yVmFsdWUoKSBj
b25zdCB7IHJldHVybiBtX2Rlbm9taW5hdG9yVmFsdWU7IH0KKworcHJpdmF0ZToKKyAgICBDU1NB
c3BlY3RSYXRpb1ZhbHVlKGZsb2F0IG51bWVyYXRvclZhbHVlLCBmbG9hdCBkZW5vbWluYXRvclZh
bHVlKQorICAgICAgICA6IG1fbnVtZXJhdG9yVmFsdWUobnVtZXJhdG9yVmFsdWUpCisgICAgICAg
ICwgbV9kZW5vbWluYXRvclZhbHVlKGRlbm9taW5hdG9yVmFsdWUpCisgICAgeworICAgIH0KKwor
ICAgIGZsb2F0IG1fbnVtZXJhdG9yVmFsdWU7CisgICAgZmxvYXQgbV9kZW5vbWluYXRvclZhbHVl
OworfTsKKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1ND
b21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggZDJhNTBkZmNjNjdmZGU2NGVkNDM3Nzg2YjQy
YjFkMzNjYjBkMmRlYS4uOTU2ZmIyYTViNzFhNWY5NzVlNGQwMGIwNTYzZWU3MjA0YzdmZWZiZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAKQEAgLTIwMzMsNiArMjAzMyw3IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZShpbnQgcHJvcGVyCiAgICAg
ICAgICAgICBicmVhazsKIAogICAgICAgICAvKiBVbmltcGxlbWVudGVkIENTUyAzIHByb3BlcnRp
ZXMgKGluY2x1ZGluZyBDU1MzIHNob3J0aGFuZCBwcm9wZXJ0aWVzKSAqLworICAgICAgICBjYXNl
IENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW86CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlX
ZWJraXRUZXh0RW1waGFzaXM6CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0TGluZVRocm91
Z2g6CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0TGluZVRocm91Z2hDb2xvcjoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4
IDQ0Y2Y4MDdjNmM2MTNhYzFiZjliMDhlNTYyZGNhYjE0ZTQ1ODkxYTIuLmM0ZWJiOGIwNmMxMmI2
MmVlNzczN2UyMDE4ZjMwZDM1MDVjMWQ5YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU011dGFibGVTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtNzg3LDYgKzc4Nyw3IEBAIHZvaWQg
Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OmFkZFN1YnJlc291cmNlU3R5bGVVUkxzKExpc3RI
YXNoU2V0PEtVUkw+JiB1cmxzCiBzdGF0aWMgY29uc3QgaW50IGJsb2NrUHJvcGVydGllc1tdID0g
ewogICAgIENTU1Byb3BlcnR5T3JwaGFucywKICAgICBDU1NQcm9wZXJ0eU92ZXJmbG93LCAvLyBU
aGlzIGNhbiBiZSBhbHNvIGJlIGFwcGxpZWQgdG8gcmVwbGFjZWQgZWxlbWVudHMKKyAgICBDU1NQ
cm9wZXJ0eVdlYmtpdEFzcGVjdFJhdGlvLAogICAgIENTU1Byb3BlcnR5V2Via2l0Q29sdW1uQ291
bnQsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5HYXAsCiAgICAgQ1NTUHJvcGVydHlXZWJr
aXRDb2x1bW5SdWxlQ29sb3IsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IGQ0ZmVhNzRh
M2ViZTJjZDhiY2U5M2E2OGY4NTU1OTI0NTI0ZTU5NTQuLmE0ZTJlMzExNWIyNzc4ZTdlZmRkMzll
NDg0MzgxYzRiMzNkNjAzOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0yNSw2ICsy
NSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2VyLmgiCiAKKyNp
bmNsdWRlICJDU1NBc3BlY3RSYXRpb1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQm9yZGVySW1hZ2VW
YWx1ZS5oIgogI2luY2x1ZGUgIkNTU0NhbnZhc1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQ2hhcnNl
dFJ1bGUuaCIKQEAgLTE1MDksNiArMTUxMCw4IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVl
KGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgICAgICBhZGRQcm9wZXJ0eShwcm9wSWQs
IHZhbC5yZWxlYXNlKCksIGltcG9ydGFudCk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0K
KyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QXNwZWN0UmF0aW86CisgICAgICAgIHJldHVybiBw
YXJzZUFzcGVjdFJhdGlvKGltcG9ydGFudCk7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlclJh
ZGl1czoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Qm9yZGVyUmFkaXVzOgogICAgICAgICBy
ZXR1cm4gcGFyc2VCb3JkZXJSYWRpdXMocHJvcElkLCBpbXBvcnRhbnQpOwpAQCAtNTY0OCw2ICs1
NjUxLDM1IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUJvcmRlclJhZGl1cyhpbnQgcHJvcElkLCBi
b29sIGltcG9ydGFudCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBDU1NQYXJzZXI6OnBh
cnNlQXNwZWN0UmF0aW8oYm9vbCBpbXBvcnRhbnQpCit7CisgICAgdW5zaWduZWQgbnVtID0gbV92
YWx1ZUxpc3QtPnNpemUoKTsKKyAgICBpZiAobnVtID09IDEgJiYgbV92YWx1ZUxpc3QtPnZhbHVl
QXQoMCktPmlkID09IENTU1ZhbHVlTm9uZSkgeworICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9w
ZXJ0eVdlYmtpdEFzcGVjdFJhdGlvLCBwcmltaXRpdmVWYWx1ZUNhY2hlKCktPmNyZWF0ZUlkZW50
aWZpZXJWYWx1ZShDU1NWYWx1ZU5vbmUpLCBpbXBvcnRhbnQpOworICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICB9CisKKyAgICBpZiAobnVtICE9IDMpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIENTU1BhcnNlclZhbHVlKiBsdmFsdWUgPSBtX3ZhbHVlTGlzdC0+dmFsdWVBdCgwKTsKKyAg
ICBDU1NQYXJzZXJWYWx1ZSogb3AgPSBtX3ZhbHVlTGlzdC0+dmFsdWVBdCgxKTsKKyAgICBDU1NQ
YXJzZXJWYWx1ZSogcnZhbHVlID0gbV92YWx1ZUxpc3QtPnZhbHVlQXQoMik7CisKKyAgICBpZiAo
b3AtPnVuaXQgIT0gQ1NTUGFyc2VyVmFsdWU6Ok9wZXJhdG9yIHx8IG9wLT5pVmFsdWUgIT0gJy8n
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoIXZhbGlkVW5pdChsdmFsdWUsIEZO
dW1iZXIgfCBGTm9uTmVnLCBtX3N0cmljdCkgfHwgIXZhbGlkVW5pdChydmFsdWUsIEZOdW1iZXIg
fCBGTm9uTmVnLCBtX3N0cmljdCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICgh
bHZhbHVlLT5mVmFsdWUgfHwgIXJ2YWx1ZS0+ZlZhbHVlKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdEFzcGVjdFJhdGlvLCBDU1NBc3Bl
Y3RSYXRpb1ZhbHVlOjpjcmVhdGUobHZhbHVlLT5mVmFsdWUsIHJ2YWx1ZS0+ZlZhbHVlKSwgaW1w
b3J0YW50KTsKKworICAgIHJldHVybiB0cnVlOworfQorCiBib29sIENTU1BhcnNlcjo6cGFyc2VD
b3VudGVyKGludCBwcm9wSWQsIGludCBkZWZhdWx0VmFsdWUsIGJvb2wgaW1wb3J0YW50KQogewog
ICAgIGVudW0geyBJRCwgVkFMIH0gc3RhdGUgPSBJRDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRl
eCA3NDRkM2M3NWM5NWUwY2ExOTRjYTJlNTgwNzhiOWQyZWFmNTcyMGEyLi5iMTJlOGM5MjE4N2Y1
YTAxNTQyYWFiOWIwNzJkZDBhODhlNzRkMWQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0x
NzEsNiArMTcxLDggQEAgcHVibGljOgogICAgIGJvb2wgcGFyc2VCb3JkZXJJbWFnZU91dHNldChS
ZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+Jik7CiAgICAgYm9vbCBwYXJzZUJvcmRlclJhZGl1cyhp
bnQgcHJvcElkLCBib29sIGltcG9ydGFudCk7CiAKKyAgICBib29sIHBhcnNlQXNwZWN0UmF0aW8o
Ym9vbCBpbXBvcnRhbnQpOworCiAgICAgYm9vbCBwYXJzZVJlZmxlY3QoaW50IHByb3BJZCwgYm9v
bCBpbXBvcnRhbnQpOwogCiAgICAgYm9vbCBwYXJzZUZsZXgoaW50IHByb3BJZCwgYm9vbCBpbXBv
cnRhbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKaW5kZXggM2U3ZGY1MTE1YjliZWEy
NzBiMjdjZWU4Y2M5ODAzMTg5NDg4MGFlMy4uZGU3YzkyNzNiNzlkNjc4ZGZkMDM2NDhkNzM2ZGI3
N2FjNWFjODk5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCkBAIC0zMTcsNiArMzE3
LDcgQEAgYm9vbCBDU1NQcm9wZXJ0eTo6aXNJbmhlcml0ZWRQcm9wZXJ0eSh1bnNpZ25lZCBwcm9w
ZXJ0eUlEKQogICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0U2hhZG93OgogICAgIGNhc2UgQ1NTUHJv
cGVydHlUZXh0VHJhbnNmb3JtOgogICAgIGNhc2UgQ1NTUHJvcGVydHlWaXNpYmlsaXR5OgorICAg
IGNhc2UgQ1NTUHJvcGVydHlXZWJraXRBc3BlY3RSYXRpbzoKICAgICBjYXNlIENTU1Byb3BlcnR5
V2Via2l0Qm9yZGVySG9yaXpvbnRhbFNwYWNpbmc6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtp
dEJvcmRlclZlcnRpY2FsU3BhY2luZzoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Qm94RGly
ZWN0aW9uOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMu
aW4gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgppbmRleCBkMWVmMmFl
ZDI1ZDQ0MTBjYTYzMjhhMDRjZjdiNmFlMjVkYWI3MzRmLi41Mjk0NGQ4MmU5Y2RhN2JiNTdkZGNh
NjZlZWVjOWU5YzY5OTliZGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJv
cGVydHlOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5p
bgpAQCAtMTkzLDYgKzE5Myw3IEBAIHotaW5kZXgKIC13ZWJraXQtYW5pbWF0aW9uLXBsYXktc3Rh
dGUKIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbgogLXdlYmtpdC1hcHBlYXJhbmNl
Cistd2Via2l0LWFzcGVjdC1yYXRpbwogLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5CiAtd2Vi
a2l0LWJhY2tncm91bmQtY2xpcAogLXdlYmtpdC1iYWNrZ3JvdW5kLWNvbXBvc2l0ZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCmluZGV4IGJhZTczNmY3OTlhZDYwYWJlOTdj
NjE2YTdjOTc2MTY3MmE3YzRhYTguLjM0ZjA2M2I4NzE5ODEwNWM2ZDljODI3ZDc2YmMzNmE3MTRk
YWY0YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAgLTM3NzIs
NiArMzc3Miw3IEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eShpbnQgaWQs
IENTU1ZhbHVlICp2YWx1ZSkKICAgICBjYXNlIENTU1Byb3BlcnR5VGV4dFVuZGVybGluZU1vZGU6
CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVRleHRVbmRlcmxpbmVTdHlsZToKICAgICBjYXNlIENTU1By
b3BlcnR5VGV4dFVuZGVybGluZVdpZHRoOgorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRBc3Bl
Y3RSYXRpbzoKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Rm9udFNpemVEZWx0YToKICAgICBj
YXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25zSW5FZmZlY3Q6CiAgICAgY2FzZSBD
U1NQcm9wZXJ0eVdlYmtpdFRleHRTdHJva2U6CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYWZkN2NiNDZmNDllOTIxZGIzOWFj
MTI3ODgxNTRlMmFkY2Y5ZjhkZi4uY2ZlMzEzZTcxYWFhZTM1Mzg5OGQ1NzVlYWM3ZTFhNDM2YjMx
MGViZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTExLTA0ICBGYWR5IFNhbXVlbCAgPGZz
YW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENTUyBBc3BlY3QgUmF0aW8gUHJvcGVydHkg
UGFyc2luZyBTdGFnZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzA3MDcKKworICAgICAgICBSZXZpZXdlZCBieSBPamFuIFZhZmFpLgorCisgICAgICAg
ICogZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9hc3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0cy5odG1sOiBB
ZGRlZC4KKwogMjAxMS0xMS0wNCAgQWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgog
CiAgICAgICAgIFtjaHJvbWl1bV0gVW5yZXZpZXdlZCBleHBlY3RhdGlvbnMgdXBkYXRlLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmctdGVzdHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvYXNwZWN0LXJhdGlvLXBhcnNpbmct
dGVzdHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxNGViNGI2MjRjZGNjODlkYjQ0OWY0NmMx
N2Y5NGEyMzQ5NmUwNmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9h
c3BlY3QtcmF0aW8tcGFyc2luZy10ZXN0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNyBAQAor
Q1NTIEFzcGVjdCBSYXRpbyBQYXJzaW5nIFRlc3QKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIyLzEiLCAiLXdlYmtp
dC1hc3BlY3QtcmF0aW8iKSBpcyAiMi8xIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9U
ZXN0IiwgIjEvMSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICIxLzEiCitQQVNTIHRlc3RQ
YXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS80IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikg
aXMgIjEvNCIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIC8gMiIsICIt
d2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICIxLzIiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RS
YXRpb1Rlc3QiLCAiMS4yIC8gMiIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpIGlzICIxLjIvMiIK
K1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIyIC8gMC41IiwgIi13ZWJraXQt
YXNwZWN0LXJhdGlvIikgaXMgIjIvMC41IgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9U
ZXN0IiwgIm5vbmUiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1MgdGVz
dFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIxIDIiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8i
KSBpcyAibm9uZSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICJhLzEiLCAi
LXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVj
dFJhdGlvVGVzdCIsICIxL2EiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAibm9uZSIKK1BB
U1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICJhYmMxMjMiLCAiLXdlYmtpdC1hc3Bl
Y3QtcmF0aW8iKSBpcyAibm9uZSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIs
ICIxIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5n
KCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAvIDAiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKSBpcyAi
bm9uZSIKK1BBU1MgdGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIwIC8gMSIsICItd2Vi
a2l0LWFzcGVjdC1yYXRpbyIpIGlzICJub25lIgorUEFTUyB0ZXN0UGFyc2luZygiYXNwZWN0UmF0
aW9UZXN0IiwgIjAgLyAwIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNT
IHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiLTEgLyA4IiwgIi13ZWJraXQtYXNwZWN0
LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAi
MSAvIC05IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIikgaXMgIm5vbmUiCitQQVNTIHRlc3RQYXJz
aW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiLTEgLyAtNCIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIp
IGlzICJub25lIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2FzcGVjdC1yYXRpby1wYXJz
aW5nLXRlc3RzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9hc3BlY3QtcmF0aW8tcGFyc2lu
Zy10ZXN0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk0ZWNkODQwNmYzMTZhYTE5OTA5NDA0MGI3Mjc5N2Iz
MzA1ZWY2N2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9hc3BlY3Qt
cmF0aW8tcGFyc2luZy10ZXN0cy5odG1sCkBAIC0wLDAgKzEsNDMgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3Qtc3R5bGUuY3NzIj4KKyAgICA8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICA8L2hlYWQ+CisgIDxib2R5PgorICAgIDxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgorICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorICAgIDxk
aXYgaWQ9ImFzcGVjdFJhdGlvVGVzdCI+PC9kaXY+CisgICAgPHNjcmlwdD4KKyAgICAgIGRlc2Ny
aXB0aW9uKCdDU1MgQXNwZWN0IFJhdGlvIFBhcnNpbmcgVGVzdCcpOworICAgICAgZnVuY3Rpb24g
dGVzdFBhcnNpbmcoZWxlbWVudElkLCB2YWx1ZSwgc3R5bGVBdHRyaWJ1dGUpCisgICAgICB7Cisg
ICAgICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGVsZW1lbnRJZCk7Cisg
ICAgICAgICAgZGl2LnN0eWxlW3N0eWxlQXR0cmlidXRlXSA9IHZhbHVlOworICAgICAgICAgIHJl
dHVybiBkaXYuc3R5bGVbc3R5bGVBdHRyaWJ1dGVdOworICAgICAgfQorCisgICAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMi8xIiwgIi13
ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnMi8xJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS8xIiwgIi13ZWJraXQtYXNwZWN0
LXJhdGlvIiknLCAnMS8xJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJz
aW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMS80IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAn
MS80Jyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RS
YXRpb1Rlc3QiLCAiMSAvIDIiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICcxLzInKTsKKyAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIs
ICIxLjIgLyAyIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnMS4yLzInKTsKKyAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICIyIC8g
MC41IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnMi8wLjUnKTsKKyAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIsICJub25lIiwgIi13
ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworCisgICAgICAvLyBUaGUgZm9sbG93aW5n
IGFyZSBpbnZhbGlkIGFuZCBzaG91bGQgZ2V0IGlnbm9yZWQuCisgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAyIiwgIi13ZWJraXQt
YXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0
ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0IiwgImEvMSIsICItd2Via2l0LWFzcGVjdC1yYXRp
byIpJywgJ25vbmUnKTsKKyAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmco
ImFzcGVjdFJhdGlvVGVzdCIsICIxL2EiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25l
Jyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRp
b1Rlc3QiLCAiYWJjMTIzIiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0aW9UZXN0Iiwg
IjEiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMSAvIDAiLCAiLXdl
YmtpdC1hc3BlY3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ3Rlc3RQYXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMCAvIDEiLCAiLXdlYmtpdC1hc3Bl
Y3QtcmF0aW8iKScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQ
YXJzaW5nKCJhc3BlY3RSYXRpb1Rlc3QiLCAiMCAvIDAiLCAiLXdlYmtpdC1hc3BlY3QtcmF0aW8i
KScsICdub25lJyk7CisgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3Rlc3RQYXJzaW5nKCJh
c3BlY3RSYXRpb1Rlc3QiLCAiLTEgLyA4IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9u
ZScpOworICAgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0ZXN0UGFyc2luZygiYXNwZWN0UmF0
aW9UZXN0IiwgIjEgLyAtOSIsICItd2Via2l0LWFzcGVjdC1yYXRpbyIpJywgJ25vbmUnKTsKKyAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndGVzdFBhcnNpbmcoImFzcGVjdFJhdGlvVGVzdCIs
ICItMSAvIC00IiwgIi13ZWJraXQtYXNwZWN0LXJhdGlvIiknLCAnbm9uZScpOworICAgIDwvc2Ny
aXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorICA8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>