<?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>68617</bug_id>
          
          <creation_ts>2011-09-22 07:01:41 -0700</creation_ts>
          <short_desc>When page scaling is in use position:fixed has incorrect results</short_desc>
          <delta_ts>2011-12-03 11:56:52 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</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>68075</blocked>
    
    <blocked>70559</blocked>
    
    <blocked>71198</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hin-Chung Lam">hclam</reporter>
          <assigned_to name="Fady Samuel">fsamuel</assigned_to>
          <cc>abarth</cc>
    
    <cc>aroben</cc>
    
    <cc>arvid2.nilsson</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fsamuel</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>jknotten</cc>
    
    <cc>johnme</cc>
    
    <cc>kenneth</cc>
    
    <cc>mitz</cc>
    
    <cc>mnaganov</cc>
    
    <cc>ojan</cc>
    
    <cc>rjkroege</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>471538</commentid>
    <comment_count>0</comment_count>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2011-09-22 07:01:41 -0700</bug_when>
    <thetext>When using page scaling, elements with position:fixed are not actually fixed but moves as the page scrolls.

This change http://trac.webkit.org/changeset/78928 was trying to address the problem of position:fixed in page scale by moving the element proportionally to document scroll. However the change only works if scale factor is greater than 1.0. The observed behavior with the change is that:

1. When page scale factor is greater than 1.0 and page is scrolled down, element moves up.
2. When page scale factor is less than 1.0 and page is scrolled down, element moves down.

Moreover elements fixed to the right and bottom are incorrectly positioned for all page scale factors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471868</commentid>
    <comment_count>1</comment_count>
      <attachid>108403</attachid>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2011-09-22 14:34:44 -0700</bug_when>
    <thetext>Created attachment 108403
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471922</commentid>
    <comment_count>2</comment_count>
      <attachid>108403</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-09-22 16:05:13 -0700</bug_when>
    <thetext>Comment on attachment 108403
Patch

If you do this won&apos;t fixed elements crowd the view when you zoom in? They might end up obscuring the entire page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>471923</commentid>
    <comment_count>3</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-09-22 16:07:50 -0700</bug_when>
    <thetext>(In reply to comment #0)

&gt; Moreover elements fixed to the right and bottom are incorrectly positioned for all page scale factors.

Can you elaborate on this?

Perhaps this bug should be split into two, one about the behavior with &lt;1 scale factors and another about whatever issues exist with the behavior of &gt;1 scale factors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472129</commentid>
    <comment_count>4</comment_count>
      <attachid>108403</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-23 02:54:56 -0700</bug_when>
    <thetext>Comment on attachment 108403
Patch

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

New failing tests:
fast/block/positioning/vertical-rl/fixed-positioning.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472163</commentid>
    <comment_count>5</comment_count>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2011-09-23 04:44:19 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #0)
&gt; 
&gt; &gt; Moreover elements fixed to the right and bottom are incorrectly positioned for all page scale factors.
&gt; 
&gt; Can you elaborate on this?

If element is fixed to the right then:
1. If scale factor &lt; 1, element moves to the right as scrolling to the right and soon go out of sight.
2. If scale factor &gt; 1, element is not visible all the time.

The same behavior happens when it&apos;s fixed to the bottom, element moves downwards as you scroll down.


&gt; Perhaps this bug should be split into two, one about the behavior with &lt;1 scale factors and another about whatever issues exist with the behavior of &gt;1 scale factors.

The patch submitted fixes the element to the visible content rectangle so there&apos;s no distinction between scale factor &gt; 1 or &lt; 1. This should also work when there&apos;s no page scale, i.e. 1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472203</commentid>
    <comment_count>6</comment_count>
      <attachid>108470</attachid>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2011-09-23 06:35:55 -0700</bug_when>
    <thetext>Created attachment 108470
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472204</commentid>
    <comment_count>7</comment_count>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2011-09-23 06:36:47 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Created an attachment (id=108470) [details]
&gt; Patch

There was one test broken with the previous patch. I fixed it in the latest one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472238</commentid>
    <comment_count>8</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-09-23 08:00:15 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; Created an attachment (id=108470) [details] [details]
&gt; &gt; Patch
&gt; 
&gt; There was one test broken with the previous patch. I fixed it in the latest one.

This is awesome. Thanks for this! I had a similar fix locally in scrollXForFixedPosition/scrollYForFixedPosition but I hadn&apos;t gotten around to doing extensive layout testing of it yet. I&apos;m going to try your patch on a few major sites with fixed position elements, and I&apos;ll let you know how it looks. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472240</commentid>
    <comment_count>9</comment_count>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2011-09-23 08:05:36 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; (In reply to comment #6)
&gt; &gt; &gt; Created an attachment (id=108470) [details] [details] [details]
&gt; &gt; &gt; Patch
&gt; &gt; 
&gt; &gt; There was one test broken with the previous patch. I fixed it in the latest one.
&gt; 
&gt; This is awesome. Thanks for this! I had a similar fix locally in scrollXForFixedPosition/scrollYForFixedPosition but I hadn&apos;t gotten around to doing extensive layout testing of it yet. I&apos;m going to try your patch on a few major sites with fixed position elements, and I&apos;ll let you know how it looks. Thanks!

There&apos;s one issue not addressed in this patch (that I plan to do it separately): that calling scalePage() to the frame doesn&apos;t cause a re-layout. This is mostly correct but for position:fixed to the right and bottom the visible content rectangle is changed and there needs to be a movement layout for *only* position:fixed position.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472266</commentid>
    <comment_count>10</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-09-23 09:03:14 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #3)
&gt; &gt; (In reply to comment #0)
&gt; &gt; 
&gt; &gt; &gt; Moreover elements fixed to the right and bottom are incorrectly positioned for all page scale factors.
&gt; &gt; 
&gt; &gt; Can you elaborate on this?
&gt; 
&gt; If element is fixed to the right then:
&gt; 1. If scale factor &lt; 1, element moves to the right as scrolling to the right and soon go out of sight.
&gt; 2. If scale factor &gt; 1, element is not visible all the time.
&gt; 
&gt; The same behavior happens when it&apos;s fixed to the bottom, element moves downwards as you scroll down.

That is not what I see. For example, I navigated to this URL in Safari 5.1 in OS X Lion:

data:text/html,%3Cdiv%20style=%22position:%20fixed;%20right:%200;%20width:%20100px;%20height:%20100px;%20background-color:%20blue;%22%3E%3C/div%3E

I used a pinch gesture to scale the page. Then I scrolled all the way to the right and the fixed element was visible.

Similarly with an element fixed to the bottom.

How are you testing this?

&gt; &gt; Perhaps this bug should be split into two, one about the behavior with &lt;1 scale factors and another about whatever issues exist with the behavior of &gt;1 scale factors.
&gt; 
&gt; The patch submitted fixes the element to the visible content rectangle so there&apos;s no distinction between scale factor &gt; 1 or &lt; 1. This should also work when there&apos;s no page scale, i.e. 1.

Changes to less-than-1 scale factors do not impact Safari. Changes to greater-than-1 scale factors do. That is why I proposed dealing with them separately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473043</commentid>
    <comment_count>11</comment_count>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2011-09-26 03:53:35 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #5)
&gt; &gt; (In reply to comment #3)
&gt; &gt; &gt; (In reply to comment #0)
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Moreover elements fixed to the right and bottom are incorrectly positioned for all page scale factors.
&gt; &gt; &gt; 
&gt; &gt; &gt; Can you elaborate on this?
&gt; &gt; 
&gt; &gt; If element is fixed to the right then:
&gt; &gt; 1. If scale factor &lt; 1, element moves to the right as scrolling to the right and soon go out of sight.
&gt; &gt; 2. If scale factor &gt; 1, element is not visible all the time.
&gt; &gt; 
&gt; &gt; The same behavior happens when it&apos;s fixed to the bottom, element moves downwards as you scroll down.
&gt; 
&gt; That is not what I see. For example, I navigated to this URL in Safari 5.1 in OS X Lion:
&gt; 
&gt; data:text/html,%3Cdiv%20style=%22position:%20fixed;%20right:%200;%20width:%20100px;%20height:%20100px;%20background-color:%20blue;%22%3E%3C/div%3E
&gt; 
&gt; I used a pinch gesture to scale the page. Then I scrolled all the way to the right and the fixed element was visible.
&gt; 
&gt; Similarly with an element fixed to the bottom.
&gt; 
&gt; How are you testing this?

You&apos;re right, when page scale &gt; 1 it behaves like expected. I was testing it with the chromium test_shell, it&apos;s like a minimal browser for testing.

&gt; 
&gt; &gt; &gt; Perhaps this bug should be split into two, one about the behavior with &lt;1 scale factors and another about whatever issues exist with the behavior of &gt;1 scale factors.
&gt; &gt; 
&gt; &gt; The patch submitted fixes the element to the visible content rectangle so there&apos;s no distinction between scale factor &gt; 1 or &lt; 1. This should also work when there&apos;s no page scale, i.e. 1.
&gt; 
&gt; Changes to less-than-1 scale factors do not impact Safari. Changes to greater-than-1 scale factors do. That is why I proposed dealing with them separately.

If we handle page scale &lt; 1.0 differently then yes Safari won&apos;t be affected. However I would like to have a different behavior for positioned:fixed on Chromium, i.e. always fix it to the viewport. What do you suggest we proceed from here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473188</commentid>
    <comment_count>12</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-09-26 10:36:28 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; […] I would like to have a different behavior for positioned:fixed on Chromium, i.e. always fix it to the viewport. What do you suggest we proceed from here?

If a different behavior is desired, then I suggest adding a WebCore Setting for how fixed elements behave on page scale, and letting WebKit ports change its value (or expose it as WebKit API in those ports).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490206</commentid>
    <comment_count>13</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-25 12:08:23 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; […] I would like to have a different behavior for positioned:fixed on Chromium, i.e. always fix it to the viewport. What do you suggest we proceed from here?
&gt; 
&gt; If a different behavior is desired, then I suggest adding a WebCore Setting for how fixed elements behave on page scale, and letting WebKit ports change its value (or expose it as WebKit API in those ports).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490207</commentid>
    <comment_count>14</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-25 12:09:23 -0700</bug_when>
    <thetext>I consider this a blocker to implementing the viewport meta tag on Chromium because a lot of pages are broken on Chromium without this change once scaling is enabled. Is there an update on this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490424</commentid>
    <comment_count>15</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-10-25 15:38:45 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #12)
&gt; &gt; (In reply to comment #11)
&gt; &gt; &gt; […] I would like to have a different behavior for positioned:fixed on Chromium, i.e. always fix it to the viewport. What do you suggest we proceed from here?
&gt; &gt; 
&gt; &gt; If a different behavior is desired, then I suggest adding a WebCore Setting for how fixed elements behave on page scale, and letting WebKit ports change its value (or expose it as WebKit API in those ports).

This is already implemented by RIM and the iOS 5. The iOS5 source has also recently been dumped as far as I heard. This is implemented using a render layer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492403</commentid>
    <comment_count>16</comment_count>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2011-10-28 05:50:58 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; I consider this a blocker to implementing the viewport meta tag on Chromium because a lot of pages are broken on Chromium without this change once scaling is enabled. Is there an update on this?

I haven&apos;t got a chance to complete this actually. What&apos;s missing here is to allow settings to change behavior for position:fixed. The logic is there already, I&apos;ll go over this again next week, otherwise it&apos;s free for someone else to pick it up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492463</commentid>
    <comment_count>17</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-28 08:17:01 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #14)
&gt; &gt; I consider this a blocker to implementing the viewport meta tag on Chromium because a lot of pages are broken on Chromium without this change once scaling is enabled. Is there an update on this?
&gt; 
&gt; I haven&apos;t got a chance to complete this actually. What&apos;s missing here is to allow settings to change behavior for position:fixed. The logic is there already, I&apos;ll go over this again next week, otherwise it&apos;s free for someone else to pick it up.

Please email me your work in progress and I&apos;ll take over if you don&apos;t have the cycles. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492466</commentid>
    <comment_count>18</comment_count>
    <who name="Hin-Chung Lam">hclam</who>
    <bug_when>2011-10-28 08:27:18 -0700</bug_when>
    <thetext>It&apos;s just the latest patch up there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493113</commentid>
    <comment_count>19</comment_count>
      <attachid>113006</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-30 18:14:19 -0700</bug_when>
    <thetext>Created attachment 113006
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493121</commentid>
    <comment_count>20</comment_count>
      <attachid>113006</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-10-30 18:41:35 -0700</bug_when>
    <thetext>Comment on attachment 113006
Patch

Attachment 113006 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/10242630</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493129</commentid>
    <comment_count>21</comment_count>
      <attachid>113006</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-10-30 18:55:44 -0700</bug_when>
    <thetext>Comment on attachment 113006
Patch

Attachment 113006 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/10242629</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493313</commentid>
    <comment_count>22</comment_count>
      <attachid>113050</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-31 07:56:04 -0700</bug_when>
    <thetext>Created attachment 113050
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493316</commentid>
    <comment_count>23</comment_count>
      <attachid>113050</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-10-31 08:09:28 -0700</bug_when>
    <thetext>Comment on attachment 113050
Patch

Attachment 113050 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/10242766</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493336</commentid>
    <comment_count>24</comment_count>
      <attachid>113050</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-10-31 08:54:47 -0700</bug_when>
    <thetext>Comment on attachment 113050
Patch

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

&gt; Source/WebCore/page/FrameView.h:198
&gt; +    bool fixedPositionElementsRelativeToFrame() const { return m_fixedPositionElementsRelativeToFrame; }

The name feels like it&apos;s missing a verb. fixedPositionElementsAreRelativeToFrame? layoutFixedElementsRelativeToFrame?

&gt; Source/WebCore/rendering/RenderBox.cpp:2333
&gt; +    if (style() &amp;&amp; style()-&gt;position() == FixedPosition &amp;&amp; view() &amp;&amp; view()-&gt;frame() &amp;&amp; view()-&gt;frameView() &amp;&amp; view()-&gt;frameView()-&gt;fixedPositionElementsRelativeToFrame())
&gt; +        return (view()-&gt;isHorizontalWritingMode() ? view()-&gt;frameView()-&gt;visibleWidth() : view()-&gt;frameView()-&gt;visibleHeight()) / view()-&gt;frame()-&gt;frameScaleFactor();

Ugh, very hard to read. Maybe stash the Frame and FrameView in locals?

&gt; Source/WebCore/rendering/RenderBox.cpp:2389
&gt; +    if (style() &amp;&amp; style()-&gt;position() == FixedPosition &amp;&amp; view() &amp;&amp; view()-&gt;frame() &amp;&amp; view()-&gt;frameView() &amp;&amp; view()-&gt;frameView()-&gt;fixedPositionElementsRelativeToFrame())
&gt; +        return (view()-&gt;isHorizontalWritingMode() ? view()-&gt;frameView()-&gt;visibleHeight() : view()-&gt;frameView()-&gt;visibleWidth()) / view()-&gt;frame()-&gt;frameScaleFactor();
&gt; +

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493387</commentid>
    <comment_count>25</comment_count>
      <attachid>113065</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-31 10:04:37 -0700</bug_when>
    <thetext>Created attachment 113065
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493389</commentid>
    <comment_count>26</comment_count>
      <attachid>113050</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-31 10:05:53 -0700</bug_when>
    <thetext>Comment on attachment 113050
Patch

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

Uploaded new patch. I still need to make sure it builds on all the major platforms. I&apos;ll let the review bots help me out with that.

&gt;&gt; Source/WebCore/page/FrameView.h:198
&gt;&gt; +    bool fixedPositionElementsRelativeToFrame() const { return m_fixedPositionElementsRelativeToFrame; }
&gt; 
&gt; The name feels like it&apos;s missing a verb. fixedPositionElementsAreRelativeToFrame? layoutFixedElementsRelativeToFrame?

Done.

&gt;&gt; Source/WebCore/rendering/RenderBox.cpp:2333
&gt;&gt; +        return (view()-&gt;isHorizontalWritingMode() ? view()-&gt;frameView()-&gt;visibleWidth() : view()-&gt;frameView()-&gt;visibleHeight()) / view()-&gt;frame()-&gt;frameScaleFactor();
&gt; 
&gt; Ugh, very hard to read. Maybe stash the Frame and FrameView in locals?

Done.

&gt;&gt; Source/WebCore/rendering/RenderBox.cpp:2389
&gt;&gt; +
&gt; 
&gt; Ditto.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493399</commentid>
    <comment_count>27</comment_count>
      <attachid>113065</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-10-31 10:19:04 -0700</bug_when>
    <thetext>Comment on attachment 113065
Patch

Attachment 113065 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/10241785</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493449</commentid>
    <comment_count>28</comment_count>
      <attachid>113065</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-10-31 12:57:43 -0700</bug_when>
    <thetext>Comment on attachment 113065
Patch

Attachment 113065 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/10249047</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493453</commentid>
    <comment_count>29</comment_count>
      <attachid>113076</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-31 13:09:39 -0700</bug_when>
    <thetext>Created attachment 113076
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493454</commentid>
    <comment_count>30</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-31 13:11:09 -0700</bug_when>
    <thetext>(In reply to comment #29)
&gt; Created an attachment (id=113076) [details]
&gt; Patch

This is probably still broken on gtk and mac builds. Making use of Review bots to get symbols. Please review, and I will fix all builds before committing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493458</commentid>
    <comment_count>31</comment_count>
      <attachid>113076</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-10-31 13:13:14 -0700</bug_when>
    <thetext>Comment on attachment 113076
Patch

Attachment 113076 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/10249064</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493507</commentid>
    <comment_count>32</comment_count>
      <attachid>113076</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-10-31 14:50:37 -0700</bug_when>
    <thetext>Comment on attachment 113076
Patch

Attachment 113076 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/10242905</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493601</commentid>
    <comment_count>33</comment_count>
      <attachid>113102</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-31 16:24:36 -0700</bug_when>
    <thetext>Created attachment 113102
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493610</commentid>
    <comment_count>34</comment_count>
      <attachid>113102</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-10-31 16:29:21 -0700</bug_when>
    <thetext>Comment on attachment 113102
Patch

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

&gt; Source/WebCore/page/FrameView.cpp:1431
&gt; +void FrameView::setLayoutFixedElementsRelativeToFrame(bool layoutFixedElementsRelativeToFrame)

This still doesn&apos;t read well. It should be setFixedElementsLaidOutRelativeToFrame (or ..Positioned...).

Or you could put a &quot;should&quot; in front.

&gt; Source/WebCore/rendering/RenderBox.cpp:2335
&gt; +    if (style() &amp;&amp; style()-&gt;position() == FixedPosition &amp;&amp; frame &amp;&amp; frameView &amp;&amp; frameView-&gt;layoutFixedElementsRelativeToFrame())
&gt; +        return (view()-&gt;isHorizontalWritingMode() ? frameView-&gt;visibleWidth() : frameView-&gt;visibleHeight()) / frame-&gt;frameScaleFactor();

You can&apos;t just look for position:fixed here, because transforms act as fixed position containers. See discussion in bug 69796.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493702</commentid>
    <comment_count>35</comment_count>
      <attachid>113120</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-31 18:30:22 -0700</bug_when>
    <thetext>Created attachment 113120
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493703</commentid>
    <comment_count>36</comment_count>
      <attachid>113102</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-10-31 18:34:20 -0700</bug_when>
    <thetext>Comment on attachment 113102
Patch

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

&gt;&gt; Source/WebCore/page/FrameView.cpp:1431
&gt;&gt; +void FrameView::setLayoutFixedElementsRelativeToFrame(bool layoutFixedElementsRelativeToFrame)
&gt; 
&gt; This still doesn&apos;t read well. It should be setFixedElementsLaidOutRelativeToFrame (or ..Positioned...).
&gt; 
&gt; Or you could put a &quot;should&quot; in front.

Added should. Thanks.

&gt;&gt; Source/WebCore/rendering/RenderBox.cpp:2335
&gt;&gt; +        return (view()-&gt;isHorizontalWritingMode() ? frameView-&gt;visibleWidth() : frameView-&gt;visibleHeight()) / frame-&gt;frameScaleFactor();
&gt; 
&gt; You can&apos;t just look for position:fixed here, because transforms act as fixed position containers. See discussion in bug 69796.

Checking that the container is a RenderView now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493798</commentid>
    <comment_count>37</comment_count>
      <attachid>113120</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-11-01 01:34:24 -0700</bug_when>
    <thetext>Comment on attachment 113120
Patch

Attachment 113120 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/10250172</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495444</commentid>
    <comment_count>38</comment_count>
      <attachid>113486</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-03 07:22:59 -0700</bug_when>
    <thetext>Created attachment 113486
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502280</commentid>
    <comment_count>39</comment_count>
      <attachid>113486</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-11-14 13:52:18 -0800</bug_when>
    <thetext>Comment on attachment 113486
Patch

You also need to change availableLogicalHeightUsing() to deal with relative position inside percentage-height fixed position.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504334</commentid>
    <comment_count>40</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-16 15:38:47 -0800</bug_when>
    <thetext>(In reply to comment #39)
&gt; (From update of attachment 113486 [details])
&gt; You also need to change availableLogicalHeightUsing() to deal with relative position inside percentage-height fixed position.

I haven&apos;t had any luck producing a layout test for this as of yet:

http://happyworm.com/temp/full-screen/Video-Play-button-all-video.htm doesn&apos;t seem to have any problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512499</commentid>
    <comment_count>41</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-30 22:54:08 -0800</bug_when>
    <thetext>(In reply to comment #39)
&gt; (From update of attachment 113486 [details])
&gt; You also need to change availableLogicalHeightUsing() to deal with relative position inside percentage-height fixed position.

I&apos;m able to repo that particular code path usage (and the bug) if I used a replaced element (e.g. image) with a percentage height.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512505</commentid>
    <comment_count>42</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-11-30 22:58:58 -0800</bug_when>
    <thetext>(In reply to comment #41)
&gt; (In reply to comment #39)
&gt; &gt; (From update of attachment 113486 [details] [details])
&gt; &gt; You also need to change availableLogicalHeightUsing() to deal with relative position inside percentage-height fixed position.
&gt; 
&gt; I&apos;m able to repo that particular code path usage (and the bug) if I used a replaced element (e.g. image) with a percentage height.

Another problem probably also exists with perpendicular containing blocks. I&apos;ll look into that too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512833</commentid>
    <comment_count>43</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-12-01 09:20:52 -0800</bug_when>
    <thetext>(In reply to comment #42)
&gt; (In reply to comment #41)
&gt; &gt; (In reply to comment #39)
&gt; &gt; &gt; (From update of attachment 113486 [details] [details] [details])
&gt; &gt; &gt; You also need to change availableLogicalHeightUsing() to deal with relative position inside percentage-height fixed position.
&gt; &gt; 
&gt; &gt; I&apos;m able to repo that particular code path usage (and the bug) if I used a replaced element (e.g. image) with a percentage height.
&gt; 
&gt; Another problem probably also exists with perpendicular containing blocks. I&apos;ll look into that too.

I was able to produce a layout test for this issue as well. I will be refreshing this patch shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512890</commentid>
    <comment_count>44</comment_count>
      <attachid>113486</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-12-01 10:43:59 -0800</bug_when>
    <thetext>Comment on attachment 113486
Patch

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

&gt; Source/WebCore/page/FrameView.h:415
&gt; +    bool m_shouldLayoutFixedElementsRelativeToFrame;

Please group this with other bools to optimize packing.

&gt; Source/WebCore/rendering/RenderBox.cpp:2334
&gt; +    Frame* frame = view() ? view()-&gt;frame(): 0;
&gt; +    FrameView* frameView = view() ? view()-&gt;frameView() : 0;
&gt; +    if (style() &amp;&amp; style()-&gt;position() == FixedPosition &amp;&amp; container()-&gt;isRenderView() &amp;&amp; frame &amp;&amp; frameView &amp;&amp; frameView-&gt;shouldLayoutFixedElementsRelativeToFrame())

There has to be a way to make this (duplicated twice) code less ugly. Maybe move it to an inline function?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512980</commentid>
    <comment_count>45</comment_count>
      <attachid>117454</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-12-01 12:09:55 -0800</bug_when>
    <thetext>Created attachment 117454
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513980</commentid>
    <comment_count>46</comment_count>
      <attachid>117661</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-12-02 11:39:52 -0800</bug_when>
    <thetext>Created attachment 117661
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514112</commentid>
    <comment_count>47</comment_count>
      <attachid>117661</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-02 14:01:30 -0800</bug_when>
    <thetext>Comment on attachment 117661
Patch for landing

Attachment 117661 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10688437</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514116</commentid>
    <comment_count>48</comment_count>
      <attachid>117661</attachid>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-12-02 14:04:44 -0800</bug_when>
    <thetext>Comment on attachment 117661
Patch for landing

gclient sync failed on cr-linux, retrying.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514253</commentid>
    <comment_count>49</comment_count>
      <attachid>117661</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-02 16:05:05 -0800</bug_when>
    <thetext>Comment on attachment 117661
Patch for landing

Clearing flags on attachment: 117661

Committed r101875: &lt;http://trac.webkit.org/changeset/101875&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514254</commentid>
    <comment_count>50</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-02 16:05:14 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514560</commentid>
    <comment_count>51</comment_count>
    <who name="Fady Samuel">fsamuel</who>
    <bug_when>2011-12-03 11:56:52 -0800</bug_when>
    <thetext>(In reply to comment #50)
&gt; All reviewed patches have been landed.  Closing bug.

(In reply to comment #50)
&gt; All reviewed patches have been landed.  Closing bug.

The age old question just popped into my head: What happens to position:fixed elements inside iframes? 

This is a noop for subframes whether or not shouldLayoutFixedElementsRelativeToFrame is set. I want to move this to Page. :( I&apos;ll do this in a subsequent bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108403</attachid>
            <date>2011-09-22 14:34:44 -0700</date>
            <delta_ts>2011-09-23 06:35:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68617-20110922223442.patch</filename>
            <type>text/plain</type>
            <size>15835</size>
            <attacher name="Hin-Chung Lam">hclam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU3MTcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkYmM2ZDdlMDM2MWUwYjVmYzM1ZjY2
ZjNkODMyMzYyMDgxZTYwNjdlLi5hMGU1YjNiMjlhNjk2MTRhYzU5MGViNWRmOTEwZDRlNTM5ZmIw
MDI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDUgKzEsMjIgQEAKIDIwMTEtMDktMjIgIEFscGhhIExhbSAgPGhjbGFt
QGNocm9taXVtLm9yZz4KIAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Njg2MTcKKyAgICAgICAgQWRkIGxheW91dCB0ZXN0cyBmb3IgcGFnZSBzY2FsaW5n
IGFuZCBwb3NpdGlvbjpmaXhlZC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGZhc3QvcmVwYWludC9maXhlZC1pbi1wYWdlLXNjYWxlLWV4cGVjdGVk
LnBuZzogQWRkZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L2ZpeGVkLWluLXBhZ2Utc2NhbGUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFn
ZS1zY2FsZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQt
Ym90dG9tLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Ut
c2NhbGUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWlu
LXBhZ2Utc2NhbGUtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFpbnQv
Zml4ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvcmVwYWludC9maXhlZC1yaWdodC1pbi1wYWdlLXNjYWxlLmh0bWw6IEFkZGVkLgorCisy
MDExLTA5LTIyICBBbHBoYSBMYW0gIDxoY2xhbUBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDgxCiAgICAgICAgIEFkZCBs
YXlvdXQgdGVzdCBmb3IgcGFnZSBzY2FsZSBhbmQgc2Nyb2xsaW5nLgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC5wbmcg
Yi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC5w
bmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzIzNTM5OTUzNzlkNzZhOTU1NjliMjA4MDEyNWZiYzRhZWYyYWFkNApH
SVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjg2OQp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7
K3ZZVjJhPmkwKlopPWheaGxBJUBXcyRsSGBvazxtfT9vVG4wLWMKeml6RVhSMTJkejxXSylDVyMz
VkIjV0FqOEhIYHo0QkM/eiRgeFQoPjxrJTU4aHhUbExfTlg0QURII1lKejFAZj51CnpAP0E3dlIy
MHc2KHlnO0VPez0xQGRGcCFoS0xeZnlWPjxVX0wmTl9NY2pPb3QzWnhvWTgzY3FRNyNJdms4S1ok
UAp6bmlBLWszcFFScV5OcSE/cTt7S2whSl44MWVURS0+ezkrNmFKXyhFck1fNUp+cWslQSo2Nmwt
QC1wcmMkbVkwRlMKd3tvX0Y8aDdMfDBoSzNtak1qNH1sRnEjdFJvRDEmZS1RIXpuXkJ9VmEqYlpq
IWJvRnl0PWFrUnswMlNZOSN7ZDhUCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOGIxMzc4OTE3OTFmZTk2OTI3YWQ3OGU2NGIwYWFkN2JkZWQwOGJk
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1pbi1w
YWdlLXNjYWxlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1pbi1wYWdlLXNjYWxlLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUzYjk3
Njk1OTY2OGM1ZDU4ZDk1NWZkMzJlNjc3NzJmNjlmZmRiYmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS5odG1sCkBAIC0wLDAg
KzEsNTIgQEAKKzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICA6Oi13ZWJraXQt
c2Nyb2xsYmFyIHsKKyAgICAgICAgICAgIHdpZHRoOiAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6
IDBweDsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdD4KKyAgICAgIHdpbmRv
dy5lbmFibGVQaXhlbFRlc3RpbmcgPSB0cnVlOworCisgICAgICBmdW5jdGlvbiBzY3JvbGwoKSB7
CisgICAgICAgICAgd2luZG93LnNjcm9sbFRvKDEwMCwxMDApOworICAgICAgfQorCisgICAgICBm
dW5jdGlvbiBzY2FsZVdpdGhFdmVudFNlbmRlcigpIHsKKyAgICAgICAgICB2YXIgc2NhbGVGYWN0
b3IgPSAyLjA7CisgICAgICAgICAgdmFyIHNjYWxlT2Zmc2V0ID0gMDsKKyAgICAgICAgICBpZiAo
d2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgICAgICAgZXZlbnRTZW5kZXIuc2NhbGVQYWdl
Qnkoc2NhbGVGYWN0b3IsIHNjYWxlT2Zmc2V0LCBzY2FsZU9mZnNldCk7CisgICAgICAgICAgfQor
ICAgICAgfQorCisgICAgICBmdW5jdGlvbiB0ZXN0KCkgeworICAgICAgICAgIHNjYWxlV2l0aEV2
ZW50U2VuZGVyKCk7CisgICAgICAgICAgc2Nyb2xsKCk7CisgICAgICB9CisgICAgPC9zY3JpcHQ+
CisgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keSBzdHlsZT0id2lkdGg6MjAwMHB4OyBoZWlnaHQ6MjAwMHB4OyBt
YXJnaW46MHB4OyIgb25sb2FkPSJ0ZXN0KCk7Ij4KKyAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjog
Zml4ZWQ7IHRvcDogLTEwMHB4OyBsZWZ0OiAtMTAwcHg7IHotaW5kZXg6IDEiPgorICAgICAgICA8
ZGl2IHN0eWxlPSJsZWZ0OjA7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3Np
dGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBz
dHlsZT0ibGVmdDoxMDBweDsgdG9wOjA7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0
aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmdyZWVuOyI+PC9kaXY+CisKKyAgICAgICAgPGRpdiBz
dHlsZT0ibGVmdDowOyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0
aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmdyZWVuOyI+PC9kaXY+CisgICAgICAgIDxkaXYgc3R5
bGU9ImxlZnQ6MTAwcHg7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9z
aXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6YmxhY2s7Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKwor
ICAgIDxkaXYgc3R5bGU9ImxlZnQ6MDsgdG9wOjA7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7
IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOnllbGxvdzsiPjwvZGl2PgorICAgIDxkaXYg
c3R5bGU9ImxlZnQ6MTAwcHg7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3Np
dGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpncmVlbjsiPjwvZGl2PgorICAgIDxkaXYgc3R5bGU9
ImxlZnQ6MjAwcHg7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjph
YnNvbHV0ZTsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisKKyAgICA8ZGl2IHN0eWxlPSJsZWZ0
OjA7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1
dGU7IGJhY2tncm91bmQ6IGdyZWVuOyI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBw
eDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0
ZTsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0ibGVmdDoyMDBweDsg
dG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsg
YmFja2dyb3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKworICAgIDxkaXYgc3R5bGU9ImxlZnQ6MDsgdG9w
OjIwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFj
a2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsgdG9wOjIw
MHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dy
b3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjIwMHB4OyB0b3A6MjAw
cHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3Jv
dW5kOmdyZWVuOyI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUtZXhwZWN0
ZWQucG5nIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1w
YWdlLXNjYWxlLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MjVmNWFmNTBlZTYyNmY2NDI2OGNk
YmQ5NmUwNTliNzJjNDIxYTFiCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAyODUwCnpjbWVBU0BO
PyhvbEh5YHVWQnEhaWEweX55VXsrdllWMmE+aTAqWik9aF5obEElQFdzJGxIYG9rPG19P29UbjV1
Kgp6PDBLT15MclpndUJueWl+THFqN29MJkZwIUdYbzJnNmljJlklY1F3d3VWTlMmeFZDdEBJRUda
cmQzKW1ePUsldSYKej03VFhGfDg9Yz5iITJBRDxvWGgwQF9ZX0VMJkxlPHdoUm1wJSRUP3Q2eDIy
X0ZlSHNLTWd3NnFDNSt+UihPZldeCnozcjA+WnhjYGxUO2Y5SXZaUSZnZypoZyFeKE5ANHtRKXIt
YSE4aGlLVWhKRnY+ZihUe1U8TCtIUzNqM15QNjxyXwpERWI3cUUKCmxpdGVyYWwgMApIY21WP2Qw
MDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1i
b3R0b20taW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFp
bnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjhiMTM3ODkxNzkxZmU5NjkyN2FkNzhlNjRiMGFhZDdiZGVkMDhiZGMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBh
Z2Utc2NhbGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2Nh
bGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jNGZjODlhYjg4YjI4MWUxMjdlNTc2N2FhNmZjNjc2ODRmZmJk
ZGExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJp
Z2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxlLmh0bWwKQEAgLTAsMCArMSw0MSBAQAorPGh0bWw+Cis8
aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgIDo6LXdlYmtpdC1zY3JvbGxiYXIgeworICAgICAg
ICAgICAgd2lkdGg6IDBweDsKKyAgICAgICAgICAgIGhlaWdodDogMHB4OworICAgICAgICB9Cisg
ICAgPC9zdHlsZT4KKyAgICA8c2NyaXB0PgorICAgICAgd2luZG93LmVuYWJsZVBpeGVsVGVzdGlu
ZyA9IHRydWU7CisKKyAgICAgIGZ1bmN0aW9uIHNjcm9sbCgpIHsKKyAgICAgICAgICB3aW5kb3cu
c2Nyb2xsVG8oMTAwLDEwMCk7CisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHNjYWxlV2l0aEV2
ZW50U2VuZGVyKCkgeworICAgICAgICAgIHZhciBzY2FsZUZhY3RvciA9IDIuMDsKKyAgICAgICAg
ICB2YXIgc2NhbGVPZmZzZXQgPSAwOworICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIp
IHsKKyAgICAgICAgICAgICBldmVudFNlbmRlci5zY2FsZVBhZ2VCeShzY2FsZUZhY3Rvciwgc2Nh
bGVPZmZzZXQsIHNjYWxlT2Zmc2V0KTsKKyAgICAgICAgICB9CisgICAgICB9CisKKyAgICAgIGZ1
bmN0aW9uIHRlc3QoKSB7CisgICAgICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS53aWR0aCA9IChk
b2N1bWVudC5ib2R5LmNsaWVudFdpZHRoICsgMTAwKSArICJweCI7CisgICAgICAgICAgc2NhbGVX
aXRoRXZlbnRTZW5kZXIoKTsKKyAgICAgICAgICBzY3JvbGwoKTsKKyAgICAgIH0KKyAgICA8L3Nj
cmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IHN0eWxlPSJoZWlnaHQ6IDIwMDBweDsgd2lkdGg6IDIw
MDBweDsgbWFyZ2luOjBweDsiIG9ubG9hZD0idGVzdCgpOyI+CisgICAgPGRpdiBzdHlsZT0icG9z
aXRpb246IGZpeGVkOyBib3R0b206IDEwMHB4OyByaWdodDogMTAwcHg7IHotaW5kZXg6IDEiPgor
ICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjA7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEw
MHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpibGFjazsiPjwvZGl2PgorICAgICAg
ICA8ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4OyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBw
eDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Z3JlZW47Ij48L2Rpdj4KKworICAgICAg
ICA8ZGl2IHN0eWxlPSJsZWZ0OjBweDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEw
MHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKyAgICAg
ICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0
OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAg
PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Jl
cGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0
cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC5wbmcKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMDFlM2UwZWQwYzExOTQ4OTBkZDNkMWRmZTk0NWZhMzAzMTYxMzRiMApHSVQgYmlu
YXJ5IHBhdGNoCmxpdGVyYWwgMjg3MQp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJh
PmkwKlopPWheaGxBJUBXcyRsSGBvazxtfT9vVCF6RkgKemxUQFEqTHpBU0dXUm4hTGwlJis7UjZ8
MlVCZVNJQmx3P2EyXlctMVhtS1paSWFHbXNZYVNXLUxeWStGQFVNRUskCnpSITUodzBYczd2dlRN
KF5JMi1iVGlDejJyeUx9QSo0JVImWCFqa3ZKKHpaYyp1UmxLbiE7YW5xT2Jpe0lJdCZkbgp6TWo0
fWxGcSN0Um08dyphZEgwZitxNXNVQnhDNmFxdlNQT0txcSVVakM+a3c+MlB6anB2TGkkSSRBaENh
OyVJQU4KaHZgSThqeCFeQ3Utdil0fCpQbmcmMD05JTFKWURAPCk7VDNLMFJUUXpNeiNPfAoKbGl0
ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50
L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjhiMTM3ODkxNzkxZmU5NjkyN2FkNzhlNjRiMGFhZDdiZGVkMDhiZGMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFnZS1zY2Fs
ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
ZTVhZWM2ZWU0ZDhkNTk0MWQxODU0Mzc5Mjg1MTdhNDc2M2RmZmVlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUuaHRt
bApAQCAtMCwwICsxLDU0IEBACis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAg
Ojotd2Via2l0LXNjcm9sbGJhciB7CisgICAgICAgICAgICB3aWR0aDogMHB4OworICAgICAgICAg
ICAgaGVpZ2h0OiAwcHg7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIDxzY3JpcHQ+Cisg
ICAgICB3aW5kb3cuZW5hYmxlUGl4ZWxUZXN0aW5nID0gdHJ1ZTsKKworICAgICAgZnVuY3Rpb24g
c2Nyb2xsKCkgeworICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygxMDAsMTAwKTsKKyAgICAgIH0K
KworICAgICAgZnVuY3Rpb24gc2NhbGVXaXRoRXZlbnRTZW5kZXIoKSB7CisgICAgICAgICAgdmFy
IHNjYWxlRmFjdG9yID0gMi4wOworICAgICAgICAgIHZhciBzY2FsZU9mZnNldCA9IDA7CisgICAg
ICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICAgICAgIGV2ZW50U2VuZGVy
LnNjYWxlUGFnZUJ5KHNjYWxlRmFjdG9yLCBzY2FsZU9mZnNldCwgc2NhbGVPZmZzZXQpOworICAg
ICAgICAgIH0KKyAgICAgIH0KKworICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAgICAgICBz
Y2FsZVdpdGhFdmVudFNlbmRlcigpOworICAgICAgICAgIHNjcm9sbCgpOworICAgICAgfQorICAg
IDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgc3R5bGU9ImhlaWdodDoyMDAwcHg7IHdpZHRo
OiAyMDAwcHg7IG1hcmdpbjowcHg7IiBvbmxvYWQ9InRlc3QoKTsiPgorICAgIDxkaXYgc3R5bGU9
InBvc2l0aW9uOiBmaXhlZDsgdG9wOiAtMTAwcHg7IHJpZ2h0OiAxMDBweDsgei1pbmRleDogMSI+
CisgICAgICAgIDxkaXYgc3R5bGU9ImxlZnQ6MDsgdG9wOjA7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6
MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOnllbGxvdzsiPjwvZGl2PgorICAg
ICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4OyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdodDox
MDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Z3JlZW47Ij48L2Rpdj4KKworICAg
ICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjA7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDox
MDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6YmxhY2s7Ij48L2Rpdj4KKyAgICAg
ICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0
OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAg
PC9kaXY+CisgICAgPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB3aWR0aDozMDBweDsg
aGVpZ2h0OjMwMHB4OyB0b3A6IDBweDsgbGVmdDogMzAwcHgiIGlkPSJncmlkIj4KKyAgICAgICAg
PGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dy
b3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lk
dGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dyb3VuZDpncmVlbjsiPjwvZGl2PgorICAgICAg
ICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBiYWNr
Z3JvdW5kOmJsdWU7Ij48L2Rpdj4KKworICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3
aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBiYWNrZ3JvdW5kOiBncmVlbjsiPjwvZGl2PgorICAg
ICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBi
YWNrZ3JvdW5kOmJsdWU7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsg
d2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dyb3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKwor
ICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4
OyBiYWNrZ3JvdW5kOmJsdWU7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVm
dDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dyb3VuZDp5ZWxsb3c7Ij48L2Rpdj4K
KyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBw
eDsgYmFja2dyb3VuZDpncmVlbjsiPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDA5MjdmODM2NTM4
YzM0NjkwMDlmMDI3MzE5YzA1ZDMzYWI1NGRlZjAuLmFjNTE4ZWM0M2RkMzFjZWUyOTA1NThkOGMw
NmJhNTg5MWQ0ZGU2MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzMiBAQAogMjAxMS0wOS0yMiAg
QWxwaGEgTGFtICA8aGNsYW1AY2hyb21pdW0ub3JnPgogCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODYxNworICAgICAgICBQcm9wZXIgcG9zaXRpb25p
bmcgZm9yIHBvc2l0aW9uOmZpeGVkIHdoZW4gcGFnZSBzY2FsZSBpcyBpbiB1c2UuCisKKyAgICAg
ICAgcG9zaXRpb246Zml4ZWQgZWxlbWVudHMgc2hvdWxkIGJlIGZpeGVkIHRvIHRoZSBmcmFtZSBp
bnN0ZWFkIG9mIHRoZQorICAgICAgICBsYXlvdXQgcmVjdGFuZ2xlIG9mIHRoZSBkb2N1bWVudC4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czog
ZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxlLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvcmVwYWludC9maXhlZC1yaWdodC1pbi1wYWdlLXNjYWxlLmh0bWwKKyAg
ICAgICAgICAgICAgIGZhc3QvcmVwYWludC9maXhlZC1pbi1wYWdlLXNjYWxlLmh0bWwKKworICAg
ICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6
c2Nyb2xsWEZvckZpeGVkUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojpz
Y3JvbGxZRm9yRml4ZWRQb3NpdGlvbik6CisgICAgICAgICAgIFRoZSBvcmlnaW5hbCBsb2dpYyBm
b3Igc2Nyb2xsWCBhbmQgc2Nyb2xsWSBmb3IgZml4ZWQgZWxlbWVudHMgaGFzCisgICAgICAgICAg
IHByb2JsZW1zIGFuZCByYXRoZXIgdGhhbiBoYXZpbmcgcHJvcG9ydGlvbmFsIHRvIHRoZSBzY3Jv
bGwgcG9zaXRpb24KKyAgICAgICAgICAgaW4gdGhlIGRvY3VtZW50IHRoaXMgcGF0Y2gganVzdCBz
ZXQgaXQgdG8gdGhlIHZpc2libGUgY29udGVudCByZWN0LgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpjb250YWluaW5nQmxv
Y2tMb2dpY2FsV2lkdGhGb3JQb3NpdGlvbmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJv
eDo6Y29udGFpbmluZ0Jsb2NrTG9naWNhbEhlaWdodEZvclBvc2l0aW9uZWQpOgorICAgICAgICAg
ICBDb250YWluZXIgZm9yIHBvc2l0aW9uOmZpeGVkIGlzIHRoZSBmcmFtZSBpbnN0ZWFkIG9mIHRo
ZSBsYXlvdXQKKyAgICAgICAgICAgcmVjdCBvZiB0aGUgZG9jdW1lbnQuIFRoaXMgYWxsb3dzIHBy
b3BlciBwb3NpdGlvbmluZyBvZiB0aGVzZSBlbGVtZW50cworICAgICAgICAgICB0byB0aGUgcmln
aHQgYW5kIGJvdHRvbS4KKworMjAxMS0wOS0yMiAgQWxwaGEgTGFtICA8aGNsYW1AY2hyb21pdW0u
b3JnPgorCiAgICAgICAgIERlZmluZSBleHBvcnQgc3ltYm9sIGNvcnJlY3RseSBkdWUgdG8gcmVu
YW1lIG9mIHBhZ2VTY2FsZUZhY3RvciB0bwogICAgICAgICBmcmFtZVNjYWxlRmFjdG9yLgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggZjM4MDQwYjM3YjEzNjg5MTZmNGFmODY4MTRk
MTliODdlZjRiZmUzMy4uZDBmZDZkZGM5ZmIxN2ZhY2QxYzIyYTk2ZDU4MzRhNmJmZmQ0NzZmYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMTM1MCwyMCArMTM1MCwxNCBAQCBMYXlv
dXRVbml0IEZyYW1lVmlldzo6c2Nyb2xsWEZvckZpeGVkUG9zaXRpb24oKSBjb25zdAogICAgICAg
ICByZXR1cm4geDsKIAogICAgIGZsb2F0IGZyYW1lU2NhbGVGYWN0b3IgPSBtX2ZyYW1lLT5mcmFt
ZVNjYWxlRmFjdG9yKCk7Ci0KLSAgICAvLyBXaGVuIHRoZSBwYWdlIGlzIHNjYWxlZCwgdGhlIHNj
YWxlZCAidmlld3BvcnQiIHdpdGggcmVzcGVjdCB0byB3aGljaCBmaXhlZCBvYmplY3QgYXJlIHBv
c2l0aW9uZWQKLSAgICAvLyBkb2Vzbid0IG1vdmUgYXMgZmFzdCBhcyB0aGUgY29udGVudCB2aWV3
LCBzbyB0aGF0IHdoZW4gdGhlIGNvbnRlbnQgaXMgc2Nyb2xsZWQgYWxsIHRoZSB3YXkgdG8gdGhl
Ci0gICAgLy8gZW5kLCB0aGUgYm90dG9tIG9mIHRoZSBzY2FsZWQgInZpZXdwb3J0IiB0b3VjaGVz
IHRoZSBib3R0b20gb2YgdGhlIHJlYWwgdmlld3BvcnQuCi0gICAgZmxvYXQgZHJhZ0ZhY3RvciA9
IChjb250ZW50c1dpZHRoKCkgLSB2aXNpYmxlQ29udGVudFdpZHRoICogZnJhbWVTY2FsZUZhY3Rv
cikgLyBtYXhYOwotCi0gICAgcmV0dXJuIHggKiBkcmFnRmFjdG9yIC8gZnJhbWVTY2FsZUZhY3Rv
cjsKKyAgICByZXR1cm4geCAvIGZyYW1lU2NhbGVGYWN0b3I7CiB9CiAKIExheW91dFVuaXQgRnJh
bWVWaWV3OjpzY3JvbGxZRm9yRml4ZWRQb3NpdGlvbigpIGNvbnN0CiB7CiAgICAgTGF5b3V0VW5p
dCB2aXNpYmxlQ29udGVudEhlaWdodCA9IHZpc2libGVDb250ZW50UmVjdCgpLmhlaWdodCgpOwot
CiAgICAgTGF5b3V0VW5pdCBtYXhZID0gY29udGVudHNIZWlnaHQoKSAtIHZpc2libGVDb250ZW50
SGVpZ2h0OworCiAgICAgaWYgKG1heFkgPT0gMCkKICAgICAgICAgcmV0dXJuIDA7CiAKQEAgLTEz
ODUsOSArMTM3OSw3IEBAIExheW91dFVuaXQgRnJhbWVWaWV3OjpzY3JvbGxZRm9yRml4ZWRQb3Np
dGlvbigpIGNvbnN0CiAgICAgICAgIHJldHVybiB5OwogCiAgICAgZmxvYXQgZnJhbWVTY2FsZUZh
Y3RvciA9IG1fZnJhbWUtPmZyYW1lU2NhbGVGYWN0b3IoKTsKLSAgICBmbG9hdCBkcmFnRmFjdG9y
ID0gKGNvbnRlbnRzSGVpZ2h0KCkgLSB2aXNpYmxlQ29udGVudEhlaWdodCAqIGZyYW1lU2NhbGVG
YWN0b3IpIC8gbWF4WTsKLQotICAgIHJldHVybiB5ICogZHJhZ0ZhY3RvciAvIGZyYW1lU2NhbGVG
YWN0b3I7CisgICAgcmV0dXJuIHkgLyBmcmFtZVNjYWxlRmFjdG9yOwogfQogCiBMYXlvdXRTaXpl
IEZyYW1lVmlldzo6c2Nyb2xsT2Zmc2V0Rm9yRml4ZWRQb3NpdGlvbigpIGNvbnN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IDk1NzI1NTQ2MmE1MWNjZThkNzFhYWY5
MDBlM2MyM2JiYjM2YzRjMDAuLmIzOGNmYzIxOGVjY2Y5N2JmMGJkMTYzNzUxYzkwYjZkODgzMTA2
NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC0yMTYwLDYgKzIx
NjAsMTAgQEAgaW50IFJlbmRlckJveDo6Y29udGFpbmluZ0Jsb2NrTG9naWNhbFdpZHRoRm9yUG9z
aXRpb25lZChjb25zdCBSZW5kZXJCb3hNb2RlbE9iamUKICAgICBpZiAoY2hlY2tGb3JQZXJwZW5k
aWN1bGFyV3JpdGluZ01vZGUgJiYgY29udGFpbmluZ0Jsb2NrLT5pc0hvcml6b250YWxXcml0aW5n
TW9kZSgpICE9IGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCiAgICAgICAgIHJldHVybiBjb250
YWluaW5nQmxvY2tMb2dpY2FsSGVpZ2h0Rm9yUG9zaXRpb25lZChjb250YWluaW5nQmxvY2ssIGZh
bHNlKTsKIAorICAgIC8vIENvbnRhaW5lciBmb3IgcG9zaXRpb246Zml4ZWQgaXMgdGhlIGZyYW1l
LgorICAgIGlmIChzdHlsZSgpICYmIHN0eWxlKCktPnBvc2l0aW9uKCkgPT0gRml4ZWRQb3NpdGlv
biAmJiBmcmFtZSgpICYmIHZpZXcoKSAmJiB2aWV3KCktPmZyYW1lVmlldygpKQorICAgICAgICBy
ZXR1cm4gdmlldygpLT5mcmFtZVZpZXcoKS0+dmlzaWJsZVdpZHRoKCkgLyBmcmFtZSgpLT5mcmFt
ZVNjYWxlRmFjdG9yKCk7CisKICAgICBpZiAoY29udGFpbmluZ0Jsb2NrLT5pc0JveCgpKQogICAg
ICAgICByZXR1cm4gdG9SZW5kZXJCb3goY29udGFpbmluZ0Jsb2NrKS0+Y2xpZW50TG9naWNhbFdp
ZHRoKCk7CiAKQEAgLTIxOTEsNiArMjE5NSw5IEBAIGludCBSZW5kZXJCb3g6OmNvbnRhaW5pbmdC
bG9ja0xvZ2ljYWxIZWlnaHRGb3JQb3NpdGlvbmVkKGNvbnN0IFJlbmRlckJveE1vZGVsT2JqCiAg
ICAgaWYgKGNoZWNrRm9yUGVycGVuZGljdWxhcldyaXRpbmdNb2RlICYmIGNvbnRhaW5pbmdCbG9j
ay0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSAhPSBpc0hvcml6b250YWxXcml0aW5nTW9kZSgp
KQogICAgICAgICByZXR1cm4gY29udGFpbmluZ0Jsb2NrTG9naWNhbFdpZHRoRm9yUG9zaXRpb25l
ZChjb250YWluaW5nQmxvY2ssIGZhbHNlKTsKIAorICAgIGlmIChzdHlsZSgpICYmIHN0eWxlKCkt
PnBvc2l0aW9uKCkgPT0gRml4ZWRQb3NpdGlvbiAmJiBmcmFtZSgpICYmIHZpZXcoKSAmJiB2aWV3
KCktPmZyYW1lVmlldygpKQorICAgICAgICByZXR1cm4gdmlldygpLT5mcmFtZVZpZXcoKS0+dmlz
aWJsZUhlaWdodCgpIC8gZnJhbWUoKS0+ZnJhbWVTY2FsZUZhY3RvcigpOworCiAgICAgaWYgKGNv
bnRhaW5pbmdCbG9jay0+aXNCb3goKSkKICAgICAgICAgcmV0dXJuIHRvUmVuZGVyQm94KGNvbnRh
aW5pbmdCbG9jayktPmNsaWVudExvZ2ljYWxIZWlnaHQoKTsKICAgICAgICAgCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108470</attachid>
            <date>2011-09-23 06:35:55 -0700</date>
            <delta_ts>2011-10-30 18:14:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68617-20110923143553.patch</filename>
            <type>text/plain</type>
            <size>16100</size>
            <attacher name="Hin-Chung Lam">hclam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU3MTcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkYmM2ZDdlMDM2MWUwYjVmYzM1ZjY2
ZjNkODMyMzYyMDgxZTYwNjdlLi5hMGU1YjNiMjlhNjk2MTRhYzU5MGViNWRmOTEwZDRlNTM5ZmIw
MDI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDUgKzEsMjIgQEAKIDIwMTEtMDktMjIgIEFscGhhIExhbSAgPGhjbGFt
QGNocm9taXVtLm9yZz4KIAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Njg2MTcKKyAgICAgICAgQWRkIGxheW91dCB0ZXN0cyBmb3IgcGFnZSBzY2FsaW5n
IGFuZCBwb3NpdGlvbjpmaXhlZC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGZhc3QvcmVwYWludC9maXhlZC1pbi1wYWdlLXNjYWxlLWV4cGVjdGVk
LnBuZzogQWRkZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L2ZpeGVkLWluLXBhZ2Utc2NhbGUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFn
ZS1zY2FsZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQt
Ym90dG9tLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Ut
c2NhbGUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWlu
LXBhZ2Utc2NhbGUtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFpbnQv
Zml4ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvcmVwYWludC9maXhlZC1yaWdodC1pbi1wYWdlLXNjYWxlLmh0bWw6IEFkZGVkLgorCisy
MDExLTA5LTIyICBBbHBoYSBMYW0gIDxoY2xhbUBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDgxCiAgICAgICAgIEFkZCBs
YXlvdXQgdGVzdCBmb3IgcGFnZSBzY2FsZSBhbmQgc2Nyb2xsaW5nLgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC5wbmcg
Yi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC5w
bmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzIzNTM5OTUzNzlkNzZhOTU1NjliMjA4MDEyNWZiYzRhZWYyYWFkNApH
SVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjg2OQp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7
K3ZZVjJhPmkwKlopPWheaGxBJUBXcyRsSGBvazxtfT9vVG4wLWMKeml6RVhSMTJkejxXSylDVyMz
VkIjV0FqOEhIYHo0QkM/eiRgeFQoPjxrJTU4aHhUbExfTlg0QURII1lKejFAZj51CnpAP0E3dlIy
MHc2KHlnO0VPez0xQGRGcCFoS0xeZnlWPjxVX0wmTl9NY2pPb3QzWnhvWTgzY3FRNyNJdms4S1ok
UAp6bmlBLWszcFFScV5OcSE/cTt7S2whSl44MWVURS0+ezkrNmFKXyhFck1fNUp+cWslQSo2Nmwt
QC1wcmMkbVkwRlMKd3tvX0Y8aDdMfDBoSzNtak1qNH1sRnEjdFJvRDEmZS1RIXpuXkJ9VmEqYlpq
IWJvRnl0PWFrUnswMlNZOSN7ZDhUCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOGIxMzc4OTE3OTFmZTk2OTI3YWQ3OGU2NGIwYWFkN2JkZWQwOGJk
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1pbi1w
YWdlLXNjYWxlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1pbi1wYWdlLXNjYWxlLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUzYjk3
Njk1OTY2OGM1ZDU4ZDk1NWZkMzJlNjc3NzJmNjlmZmRiYmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS5odG1sCkBAIC0wLDAg
KzEsNTIgQEAKKzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICA6Oi13ZWJraXQt
c2Nyb2xsYmFyIHsKKyAgICAgICAgICAgIHdpZHRoOiAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6
IDBweDsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdD4KKyAgICAgIHdpbmRv
dy5lbmFibGVQaXhlbFRlc3RpbmcgPSB0cnVlOworCisgICAgICBmdW5jdGlvbiBzY3JvbGwoKSB7
CisgICAgICAgICAgd2luZG93LnNjcm9sbFRvKDEwMCwxMDApOworICAgICAgfQorCisgICAgICBm
dW5jdGlvbiBzY2FsZVdpdGhFdmVudFNlbmRlcigpIHsKKyAgICAgICAgICB2YXIgc2NhbGVGYWN0
b3IgPSAyLjA7CisgICAgICAgICAgdmFyIHNjYWxlT2Zmc2V0ID0gMDsKKyAgICAgICAgICBpZiAo
d2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgICAgICAgZXZlbnRTZW5kZXIuc2NhbGVQYWdl
Qnkoc2NhbGVGYWN0b3IsIHNjYWxlT2Zmc2V0LCBzY2FsZU9mZnNldCk7CisgICAgICAgICAgfQor
ICAgICAgfQorCisgICAgICBmdW5jdGlvbiB0ZXN0KCkgeworICAgICAgICAgIHNjYWxlV2l0aEV2
ZW50U2VuZGVyKCk7CisgICAgICAgICAgc2Nyb2xsKCk7CisgICAgICB9CisgICAgPC9zY3JpcHQ+
CisgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keSBzdHlsZT0id2lkdGg6MjAwMHB4OyBoZWlnaHQ6MjAwMHB4OyBt
YXJnaW46MHB4OyIgb25sb2FkPSJ0ZXN0KCk7Ij4KKyAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjog
Zml4ZWQ7IHRvcDogLTEwMHB4OyBsZWZ0OiAtMTAwcHg7IHotaW5kZXg6IDEiPgorICAgICAgICA8
ZGl2IHN0eWxlPSJsZWZ0OjA7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3Np
dGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBz
dHlsZT0ibGVmdDoxMDBweDsgdG9wOjA7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0
aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmdyZWVuOyI+PC9kaXY+CisKKyAgICAgICAgPGRpdiBz
dHlsZT0ibGVmdDowOyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0
aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmdyZWVuOyI+PC9kaXY+CisgICAgICAgIDxkaXYgc3R5
bGU9ImxlZnQ6MTAwcHg7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9z
aXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6YmxhY2s7Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKwor
ICAgIDxkaXYgc3R5bGU9ImxlZnQ6MDsgdG9wOjA7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7
IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOnllbGxvdzsiPjwvZGl2PgorICAgIDxkaXYg
c3R5bGU9ImxlZnQ6MTAwcHg7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3Np
dGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpncmVlbjsiPjwvZGl2PgorICAgIDxkaXYgc3R5bGU9
ImxlZnQ6MjAwcHg7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjph
YnNvbHV0ZTsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisKKyAgICA8ZGl2IHN0eWxlPSJsZWZ0
OjA7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1
dGU7IGJhY2tncm91bmQ6IGdyZWVuOyI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBw
eDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0
ZTsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0ibGVmdDoyMDBweDsg
dG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsg
YmFja2dyb3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKworICAgIDxkaXYgc3R5bGU9ImxlZnQ6MDsgdG9w
OjIwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFj
a2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsgdG9wOjIw
MHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dy
b3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjIwMHB4OyB0b3A6MjAw
cHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3Jv
dW5kOmdyZWVuOyI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUtZXhwZWN0
ZWQucG5nIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1w
YWdlLXNjYWxlLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MjVmNWFmNTBlZTYyNmY2NDI2OGNk
YmQ5NmUwNTliNzJjNDIxYTFiCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAyODUwCnpjbWVBU0BO
PyhvbEh5YHVWQnEhaWEweX55VXsrdllWMmE+aTAqWik9aF5obEElQFdzJGxIYG9rPG19P29UbjV1
Kgp6PDBLT15MclpndUJueWl+THFqN29MJkZwIUdYbzJnNmljJlklY1F3d3VWTlMmeFZDdEBJRUda
cmQzKW1ePUsldSYKej03VFhGfDg9Yz5iITJBRDxvWGgwQF9ZX0VMJkxlPHdoUm1wJSRUP3Q2eDIy
X0ZlSHNLTWd3NnFDNSt+UihPZldeCnozcjA+WnhjYGxUO2Y5SXZaUSZnZypoZyFeKE5ANHtRKXIt
YSE4aGlLVWhKRnY+ZihUe1U8TCtIUzNqM15QNjxyXwpERWI3cUUKCmxpdGVyYWwgMApIY21WP2Qw
MDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1i
b3R0b20taW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFp
bnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjhiMTM3ODkxNzkxZmU5NjkyN2FkNzhlNjRiMGFhZDdiZGVkMDhiZGMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBh
Z2Utc2NhbGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2Nh
bGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jNGZjODlhYjg4YjI4MWUxMjdlNTc2N2FhNmZjNjc2ODRmZmJk
ZGExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJp
Z2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxlLmh0bWwKQEAgLTAsMCArMSw0MSBAQAorPGh0bWw+Cis8
aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgIDo6LXdlYmtpdC1zY3JvbGxiYXIgeworICAgICAg
ICAgICAgd2lkdGg6IDBweDsKKyAgICAgICAgICAgIGhlaWdodDogMHB4OworICAgICAgICB9Cisg
ICAgPC9zdHlsZT4KKyAgICA8c2NyaXB0PgorICAgICAgd2luZG93LmVuYWJsZVBpeGVsVGVzdGlu
ZyA9IHRydWU7CisKKyAgICAgIGZ1bmN0aW9uIHNjcm9sbCgpIHsKKyAgICAgICAgICB3aW5kb3cu
c2Nyb2xsVG8oMTAwLDEwMCk7CisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHNjYWxlV2l0aEV2
ZW50U2VuZGVyKCkgeworICAgICAgICAgIHZhciBzY2FsZUZhY3RvciA9IDIuMDsKKyAgICAgICAg
ICB2YXIgc2NhbGVPZmZzZXQgPSAwOworICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIp
IHsKKyAgICAgICAgICAgICBldmVudFNlbmRlci5zY2FsZVBhZ2VCeShzY2FsZUZhY3Rvciwgc2Nh
bGVPZmZzZXQsIHNjYWxlT2Zmc2V0KTsKKyAgICAgICAgICB9CisgICAgICB9CisKKyAgICAgIGZ1
bmN0aW9uIHRlc3QoKSB7CisgICAgICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS53aWR0aCA9IChk
b2N1bWVudC5ib2R5LmNsaWVudFdpZHRoICsgMTAwKSArICJweCI7CisgICAgICAgICAgc2NhbGVX
aXRoRXZlbnRTZW5kZXIoKTsKKyAgICAgICAgICBzY3JvbGwoKTsKKyAgICAgIH0KKyAgICA8L3Nj
cmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IHN0eWxlPSJoZWlnaHQ6IDIwMDBweDsgd2lkdGg6IDIw
MDBweDsgbWFyZ2luOjBweDsiIG9ubG9hZD0idGVzdCgpOyI+CisgICAgPGRpdiBzdHlsZT0icG9z
aXRpb246IGZpeGVkOyBib3R0b206IDEwMHB4OyByaWdodDogMTAwcHg7IHotaW5kZXg6IDEiPgor
ICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjA7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEw
MHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpibGFjazsiPjwvZGl2PgorICAgICAg
ICA8ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4OyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBw
eDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Z3JlZW47Ij48L2Rpdj4KKworICAgICAg
ICA8ZGl2IHN0eWxlPSJsZWZ0OjBweDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEw
MHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKyAgICAg
ICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0
OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAg
PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Jl
cGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0
cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC5wbmcKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMDFlM2UwZWQwYzExOTQ4OTBkZDNkMWRmZTk0NWZhMzAzMTYxMzRiMApHSVQgYmlu
YXJ5IHBhdGNoCmxpdGVyYWwgMjg3MQp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJh
PmkwKlopPWheaGxBJUBXcyRsSGBvazxtfT9vVCF6RkgKemxUQFEqTHpBU0dXUm4hTGwlJis7UjZ8
MlVCZVNJQmx3P2EyXlctMVhtS1paSWFHbXNZYVNXLUxeWStGQFVNRUskCnpSITUodzBYczd2dlRN
KF5JMi1iVGlDejJyeUx9QSo0JVImWCFqa3ZKKHpaYyp1UmxLbiE7YW5xT2Jpe0lJdCZkbgp6TWo0
fWxGcSN0Um08dyphZEgwZitxNXNVQnhDNmFxdlNQT0txcSVVakM+a3c+MlB6anB2TGkkSSRBaENh
OyVJQU4KaHZgSThqeCFeQ3Utdil0fCpQbmcmMD05JTFKWURAPCk7VDNLMFJUUXpNeiNPfAoKbGl0
ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50
L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjhiMTM3ODkxNzkxZmU5NjkyN2FkNzhlNjRiMGFhZDdiZGVkMDhiZGMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFnZS1zY2Fs
ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
ZTVhZWM2ZWU0ZDhkNTk0MWQxODU0Mzc5Mjg1MTdhNDc2M2RmZmVlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUuaHRt
bApAQCAtMCwwICsxLDU0IEBACis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAg
Ojotd2Via2l0LXNjcm9sbGJhciB7CisgICAgICAgICAgICB3aWR0aDogMHB4OworICAgICAgICAg
ICAgaGVpZ2h0OiAwcHg7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIDxzY3JpcHQ+Cisg
ICAgICB3aW5kb3cuZW5hYmxlUGl4ZWxUZXN0aW5nID0gdHJ1ZTsKKworICAgICAgZnVuY3Rpb24g
c2Nyb2xsKCkgeworICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygxMDAsMTAwKTsKKyAgICAgIH0K
KworICAgICAgZnVuY3Rpb24gc2NhbGVXaXRoRXZlbnRTZW5kZXIoKSB7CisgICAgICAgICAgdmFy
IHNjYWxlRmFjdG9yID0gMi4wOworICAgICAgICAgIHZhciBzY2FsZU9mZnNldCA9IDA7CisgICAg
ICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICAgICAgIGV2ZW50U2VuZGVy
LnNjYWxlUGFnZUJ5KHNjYWxlRmFjdG9yLCBzY2FsZU9mZnNldCwgc2NhbGVPZmZzZXQpOworICAg
ICAgICAgIH0KKyAgICAgIH0KKworICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAgICAgICBz
Y2FsZVdpdGhFdmVudFNlbmRlcigpOworICAgICAgICAgIHNjcm9sbCgpOworICAgICAgfQorICAg
IDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgc3R5bGU9ImhlaWdodDoyMDAwcHg7IHdpZHRo
OiAyMDAwcHg7IG1hcmdpbjowcHg7IiBvbmxvYWQ9InRlc3QoKTsiPgorICAgIDxkaXYgc3R5bGU9
InBvc2l0aW9uOiBmaXhlZDsgdG9wOiAtMTAwcHg7IHJpZ2h0OiAxMDBweDsgei1pbmRleDogMSI+
CisgICAgICAgIDxkaXYgc3R5bGU9ImxlZnQ6MDsgdG9wOjA7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6
MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOnllbGxvdzsiPjwvZGl2PgorICAg
ICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4OyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdodDox
MDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Z3JlZW47Ij48L2Rpdj4KKworICAg
ICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjA7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDox
MDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6YmxhY2s7Ij48L2Rpdj4KKyAgICAg
ICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0
OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAg
PC9kaXY+CisgICAgPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB3aWR0aDozMDBweDsg
aGVpZ2h0OjMwMHB4OyB0b3A6IDBweDsgbGVmdDogMzAwcHgiIGlkPSJncmlkIj4KKyAgICAgICAg
PGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dy
b3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lk
dGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dyb3VuZDpncmVlbjsiPjwvZGl2PgorICAgICAg
ICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBiYWNr
Z3JvdW5kOmJsdWU7Ij48L2Rpdj4KKworICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3
aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBiYWNrZ3JvdW5kOiBncmVlbjsiPjwvZGl2PgorICAg
ICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBi
YWNrZ3JvdW5kOmJsdWU7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsg
d2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dyb3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKwor
ICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4
OyBiYWNrZ3JvdW5kOmJsdWU7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVm
dDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dyb3VuZDp5ZWxsb3c7Ij48L2Rpdj4K
KyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBw
eDsgYmFja2dyb3VuZDpncmVlbjsiPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDA5MjdmODM2NTM4
YzM0NjkwMDlmMDI3MzE5YzA1ZDMzYWI1NGRlZjAuLmFjNTE4ZWM0M2RkMzFjZWUyOTA1NThkOGMw
NmJhNTg5MWQ0ZGU2MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzMiBAQAogMjAxMS0wOS0yMiAg
QWxwaGEgTGFtICA8aGNsYW1AY2hyb21pdW0ub3JnPgogCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODYxNworICAgICAgICBQcm9wZXIgcG9zaXRpb25p
bmcgZm9yIHBvc2l0aW9uOmZpeGVkIHdoZW4gcGFnZSBzY2FsZSBpcyBpbiB1c2UuCisKKyAgICAg
ICAgcG9zaXRpb246Zml4ZWQgZWxlbWVudHMgc2hvdWxkIGJlIGZpeGVkIHRvIHRoZSBmcmFtZSBp
bnN0ZWFkIG9mIHRoZQorICAgICAgICBsYXlvdXQgcmVjdGFuZ2xlIG9mIHRoZSBkb2N1bWVudC4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czog
ZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxlLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvcmVwYWludC9maXhlZC1yaWdodC1pbi1wYWdlLXNjYWxlLmh0bWwKKyAg
ICAgICAgICAgICAgIGZhc3QvcmVwYWludC9maXhlZC1pbi1wYWdlLXNjYWxlLmh0bWwKKworICAg
ICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6
c2Nyb2xsWEZvckZpeGVkUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojpz
Y3JvbGxZRm9yRml4ZWRQb3NpdGlvbik6CisgICAgICAgICAgIFRoZSBvcmlnaW5hbCBsb2dpYyBm
b3Igc2Nyb2xsWCBhbmQgc2Nyb2xsWSBmb3IgZml4ZWQgZWxlbWVudHMgaGFzCisgICAgICAgICAg
IHByb2JsZW1zIGFuZCByYXRoZXIgdGhhbiBoYXZpbmcgcHJvcG9ydGlvbmFsIHRvIHRoZSBzY3Jv
bGwgcG9zaXRpb24KKyAgICAgICAgICAgaW4gdGhlIGRvY3VtZW50IHRoaXMgcGF0Y2gganVzdCBz
ZXQgaXQgdG8gdGhlIHZpc2libGUgY29udGVudCByZWN0LgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpjb250YWluaW5nQmxv
Y2tMb2dpY2FsV2lkdGhGb3JQb3NpdGlvbmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJv
eDo6Y29udGFpbmluZ0Jsb2NrTG9naWNhbEhlaWdodEZvclBvc2l0aW9uZWQpOgorICAgICAgICAg
ICBDb250YWluZXIgZm9yIHBvc2l0aW9uOmZpeGVkIGlzIHRoZSBmcmFtZSBpbnN0ZWFkIG9mIHRo
ZSBsYXlvdXQKKyAgICAgICAgICAgcmVjdCBvZiB0aGUgZG9jdW1lbnQuIFRoaXMgYWxsb3dzIHBy
b3BlciBwb3NpdGlvbmluZyBvZiB0aGVzZSBlbGVtZW50cworICAgICAgICAgICB0byB0aGUgcmln
aHQgYW5kIGJvdHRvbS4KKworMjAxMS0wOS0yMiAgQWxwaGEgTGFtICA8aGNsYW1AY2hyb21pdW0u
b3JnPgorCiAgICAgICAgIERlZmluZSBleHBvcnQgc3ltYm9sIGNvcnJlY3RseSBkdWUgdG8gcmVu
YW1lIG9mIHBhZ2VTY2FsZUZhY3RvciB0bwogICAgICAgICBmcmFtZVNjYWxlRmFjdG9yLgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggZjM4MDQwYjM3YjEzNjg5MTZmNGFmODY4MTRk
MTliODdlZjRiZmUzMy4uZDBmZDZkZGM5ZmIxN2ZhY2QxYzIyYTk2ZDU4MzRhNmJmZmQ0NzZmYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMTM1MCwyMCArMTM1MCwxNCBAQCBMYXlv
dXRVbml0IEZyYW1lVmlldzo6c2Nyb2xsWEZvckZpeGVkUG9zaXRpb24oKSBjb25zdAogICAgICAg
ICByZXR1cm4geDsKIAogICAgIGZsb2F0IGZyYW1lU2NhbGVGYWN0b3IgPSBtX2ZyYW1lLT5mcmFt
ZVNjYWxlRmFjdG9yKCk7Ci0KLSAgICAvLyBXaGVuIHRoZSBwYWdlIGlzIHNjYWxlZCwgdGhlIHNj
YWxlZCAidmlld3BvcnQiIHdpdGggcmVzcGVjdCB0byB3aGljaCBmaXhlZCBvYmplY3QgYXJlIHBv
c2l0aW9uZWQKLSAgICAvLyBkb2Vzbid0IG1vdmUgYXMgZmFzdCBhcyB0aGUgY29udGVudCB2aWV3
LCBzbyB0aGF0IHdoZW4gdGhlIGNvbnRlbnQgaXMgc2Nyb2xsZWQgYWxsIHRoZSB3YXkgdG8gdGhl
Ci0gICAgLy8gZW5kLCB0aGUgYm90dG9tIG9mIHRoZSBzY2FsZWQgInZpZXdwb3J0IiB0b3VjaGVz
IHRoZSBib3R0b20gb2YgdGhlIHJlYWwgdmlld3BvcnQuCi0gICAgZmxvYXQgZHJhZ0ZhY3RvciA9
IChjb250ZW50c1dpZHRoKCkgLSB2aXNpYmxlQ29udGVudFdpZHRoICogZnJhbWVTY2FsZUZhY3Rv
cikgLyBtYXhYOwotCi0gICAgcmV0dXJuIHggKiBkcmFnRmFjdG9yIC8gZnJhbWVTY2FsZUZhY3Rv
cjsKKyAgICByZXR1cm4geCAvIGZyYW1lU2NhbGVGYWN0b3I7CiB9CiAKIExheW91dFVuaXQgRnJh
bWVWaWV3OjpzY3JvbGxZRm9yRml4ZWRQb3NpdGlvbigpIGNvbnN0CiB7CiAgICAgTGF5b3V0VW5p
dCB2aXNpYmxlQ29udGVudEhlaWdodCA9IHZpc2libGVDb250ZW50UmVjdCgpLmhlaWdodCgpOwot
CiAgICAgTGF5b3V0VW5pdCBtYXhZID0gY29udGVudHNIZWlnaHQoKSAtIHZpc2libGVDb250ZW50
SGVpZ2h0OworCiAgICAgaWYgKG1heFkgPT0gMCkKICAgICAgICAgcmV0dXJuIDA7CiAKQEAgLTEz
ODUsOSArMTM3OSw3IEBAIExheW91dFVuaXQgRnJhbWVWaWV3OjpzY3JvbGxZRm9yRml4ZWRQb3Np
dGlvbigpIGNvbnN0CiAgICAgICAgIHJldHVybiB5OwogCiAgICAgZmxvYXQgZnJhbWVTY2FsZUZh
Y3RvciA9IG1fZnJhbWUtPmZyYW1lU2NhbGVGYWN0b3IoKTsKLSAgICBmbG9hdCBkcmFnRmFjdG9y
ID0gKGNvbnRlbnRzSGVpZ2h0KCkgLSB2aXNpYmxlQ29udGVudEhlaWdodCAqIGZyYW1lU2NhbGVG
YWN0b3IpIC8gbWF4WTsKLQotICAgIHJldHVybiB5ICogZHJhZ0ZhY3RvciAvIGZyYW1lU2NhbGVG
YWN0b3I7CisgICAgcmV0dXJuIHkgLyBmcmFtZVNjYWxlRmFjdG9yOwogfQogCiBMYXlvdXRTaXpl
IEZyYW1lVmlldzo6c2Nyb2xsT2Zmc2V0Rm9yRml4ZWRQb3NpdGlvbigpIGNvbnN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IDk1NzI1NTQ2MmE1MWNjZThkNzFhYWY5
MDBlM2MyM2JiYjM2YzRjMDAuLjBlYzBkNmVjMjRiYjMzNDNlZWU0MTEzM2FmZjQ4NWYyZjZmODFh
MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC0yMTU3LDYgKzIx
NTcsMTAgQEAgdm9pZCBSZW5kZXJCb3g6OmNvbXB1dGVCbG9ja0RpcmVjdGlvbk1hcmdpbnMoUmVu
ZGVyQmxvY2sqIGNvbnRhaW5pbmdCbG9jaykKIAogaW50IFJlbmRlckJveDo6Y29udGFpbmluZ0Js
b2NrTG9naWNhbFdpZHRoRm9yUG9zaXRpb25lZChjb25zdCBSZW5kZXJCb3hNb2RlbE9iamVjdCog
Y29udGFpbmluZ0Jsb2NrLCBib29sIGNoZWNrRm9yUGVycGVuZGljdWxhcldyaXRpbmdNb2RlKSBj
b25zdAogeworICAgIC8vIENvbnRhaW5lciBmb3IgcG9zaXRpb246Zml4ZWQgaXMgdGhlIGZyYW1l
LgorICAgIGlmIChzdHlsZSgpICYmIHN0eWxlKCktPnBvc2l0aW9uKCkgPT0gRml4ZWRQb3NpdGlv
biAmJiB2aWV3KCkgJiYgdmlldygpLT5mcmFtZSgpICYmIHZpZXcoKS0+ZnJhbWVWaWV3KCkpCisg
ICAgICAgIHJldHVybiAodmlldygpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gdmlldygp
LT5mcmFtZVZpZXcoKS0+dmlzaWJsZVdpZHRoKCkgOiB2aWV3KCktPmZyYW1lVmlldygpLT52aXNp
YmxlSGVpZ2h0KCkpIC8gdmlldygpLT5mcmFtZSgpLT5mcmFtZVNjYWxlRmFjdG9yKCk7CisKICAg
ICBpZiAoY2hlY2tGb3JQZXJwZW5kaWN1bGFyV3JpdGluZ01vZGUgJiYgY29udGFpbmluZ0Jsb2Nr
LT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpICE9IGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkp
CiAgICAgICAgIHJldHVybiBjb250YWluaW5nQmxvY2tMb2dpY2FsSGVpZ2h0Rm9yUG9zaXRpb25l
ZChjb250YWluaW5nQmxvY2ssIGZhbHNlKTsKIApAQCAtMjE4OCw2ICsyMTkyLDkgQEAgaW50IFJl
bmRlckJveDo6Y29udGFpbmluZ0Jsb2NrTG9naWNhbFdpZHRoRm9yUG9zaXRpb25lZChjb25zdCBS
ZW5kZXJCb3hNb2RlbE9iamUKIAogaW50IFJlbmRlckJveDo6Y29udGFpbmluZ0Jsb2NrTG9naWNh
bEhlaWdodEZvclBvc2l0aW9uZWQoY29uc3QgUmVuZGVyQm94TW9kZWxPYmplY3QqIGNvbnRhaW5p
bmdCbG9jaywgYm9vbCBjaGVja0ZvclBlcnBlbmRpY3VsYXJXcml0aW5nTW9kZSkgY29uc3QKIHsK
KyAgICBpZiAoc3R5bGUoKSAmJiBzdHlsZSgpLT5wb3NpdGlvbigpID09IEZpeGVkUG9zaXRpb24g
JiYgdmlldygpICYmIHZpZXcoKS0+ZnJhbWUoKSAmJiB2aWV3KCktPmZyYW1lVmlldygpKQorICAg
ICAgICByZXR1cm4gKHZpZXcoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHZpZXcoKS0+
ZnJhbWVWaWV3KCktPnZpc2libGVIZWlnaHQoKSA6IHZpZXcoKS0+ZnJhbWVWaWV3KCktPnZpc2li
bGVXaWR0aCgpKSAvIHZpZXcoKS0+ZnJhbWUoKS0+ZnJhbWVTY2FsZUZhY3RvcigpOworCiAgICAg
aWYgKGNoZWNrRm9yUGVycGVuZGljdWxhcldyaXRpbmdNb2RlICYmIGNvbnRhaW5pbmdCbG9jay0+
aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSAhPSBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQog
ICAgICAgICByZXR1cm4gY29udGFpbmluZ0Jsb2NrTG9naWNhbFdpZHRoRm9yUG9zaXRpb25lZChj
b250YWluaW5nQmxvY2ssIGZhbHNlKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113006</attachid>
            <date>2011-10-30 18:14:19 -0700</date>
            <delta_ts>2011-10-31 07:55:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68617-20111030211417.patch</filename>
            <type>text/plain</type>
            <size>21138</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg4MjgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1NDJkMmIzZTNkNDVjNGFj
ZmExNDMxNDg0MmYyNGExNjk0YmJhNmQ2Li5lMDkzNWIyZWFiZGEzYTNjZTBmNTNhMTJlMjc3ZTE3
N2Y0MzQxODljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTEtMTAtMzAgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2hlbiBwYWdlIHNjYWxp
bmcgaXMgaW4gdXNlIHBvc2l0aW9uOmZpeGVkIGhhcyBpbmNvcnJlY3QgcmVzdWx0cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MTcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIHBvc2l0aW9u
OmZpeGVkIGVsZW1lbnRzIHNob3VsZCBiZSBmaXhlZCB0byB0aGUgZnJhbWUgaW5zdGVhZCBvZiB0
aGUKKyAgICAgICAgbGF5b3V0IHJlY3RhbmdsZSBvZiB0aGUgZG9jdW1lbnQuCisKKyAgICAgICAg
VGVzdHM6IGZhc3QvcmVwYWludC9maXhlZC1pbi1wYWdlLXNjYWxlLmh0bWwKKyAgICAgICAgICAg
ICAgIGZhc3QvcmVwYWludC9maXhlZC1yaWdodC1ib3R0b20taW4tcGFnZS1zY2FsZS5odG1sCisg
ICAgICAgICAgICAgICBmYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS5odG1s
CisKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVZpZXc6OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2Nyb2xsWEZvckZp
eGVkUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzY3JvbGxZRm9yRml4
ZWRQb3NpdGlvbik6CisgICAgICAgIFRoZSBvcmlnaW5hbCBsb2dpYyBmb3Igc2Nyb2xsWCBhbmQg
c2Nyb2xsWSBmb3IgZml4ZWQgZWxlbWVudHMgaGFzCisgICAgICAgIHByb2JsZW1zIGFuZCByYXRo
ZXIgdGhhbiBoYXZpbmcgcHJvcG9ydGlvbmFsIHRvIHRoZSBzY3JvbGwgcG9zaXRpb24KKyAgICAg
ICAgaW4gdGhlIGRvY3VtZW50IHRoaXMgcGF0Y2gganVzdCBzZXQgaXQgdG8gdGhlIHZpc2libGUg
Y29udGVudCByZWN0LgorCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNldEZpeGVkUG9z
aXRpb25FbGVtZW50c1JlbGF0aXZlVG9GcmFtZSk6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6Zml4ZWRQb3NpdGlvbkVsZW1lbnRzUmVs
YXRpdmVUb0ZyYW1lKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29udGFpbmluZ0Jsb2NrTG9naWNhbFdpZHRoRm9yUG9z
aXRpb25lZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbnRhaW5pbmdCbG9ja0xv
Z2ljYWxIZWlnaHRGb3JQb3NpdGlvbmVkKToKKyAgICAgICAgQ29udGFpbmVyIGZvciBwb3NpdGlv
bjpmaXhlZCBpcyB0aGUgZnJhbWUgaW5zdGVhZCBvZiB0aGUgbGF5b3V0CisgICAgICAgIHJlY3Qg
b2YgdGhlIGRvY3VtZW50LiBUaGlzIGFsbG93cyBwcm9wZXIgcG9zaXRpb25pbmcgb2YgdGhlc2Ug
ZWxlbWVudHMKKyAgICAgICAgdG8gdGhlIHJpZ2h0IGFuZCBib3R0b20uCisgICAgICAgICogdGVz
dGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXRGaXhl
ZFBvc2l0aW9uRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUpOgorICAgICAgICAqIHRlc3RpbmcvSW50
ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorCiAyMDExLTEwLTI5
ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RL
XSBTd2l0Y2ggdG8gYSBiYWNraW5nIHN0b3JlIGFwcHJvYWNoIGZvciBwYWludGluZyBXZWJLaXRX
ZWJWaWV3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggYWU3ZTdjNzJiNTkyNTViZWE1
Njg0MjcyZWM0MDM2ODFkNjYwNTVlMy4uZDdkODNiNjQyYWFmMjhhMmIzNTJjYTBjZjFhMDMwNDkw
NTAzMzE5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMjEzLDYgKzIxMyw3IEBA
IHZvaWQgRnJhbWVWaWV3OjpyZXNldCgpCiAgICAgbV9jYW5ub3RCbGl0VG9XaW5kb3cgPSBmYWxz
ZTsKICAgICBtX2lzT3ZlcmxhcHBlZCA9IGZhbHNlOwogICAgIG1fY29udGVudElzT3BhcXVlID0g
ZmFsc2U7CisgICAgbV9maXhlZFBvc2l0aW9uRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUgPSBmYWxz
ZTsKICAgICBtX2JvcmRlclggPSAzMDsKICAgICBtX2JvcmRlclkgPSAzMDsKICAgICBtX2xheW91
dFRpbWVyLnN0b3AoKTsKQEAgLTEzODcsNyArMTM4OCw3IEBAIExheW91dFVuaXQgRnJhbWVWaWV3
OjpzY3JvbGxYRm9yRml4ZWRQb3NpdGlvbigpIGNvbnN0CiAgICAgLy8gV2hlbiB0aGUgcGFnZSBp
cyBzY2FsZWQsIHRoZSBzY2FsZWQgInZpZXdwb3J0IiB3aXRoIHJlc3BlY3QgdG8gd2hpY2ggZml4
ZWQgb2JqZWN0IGFyZSBwb3NpdGlvbmVkCiAgICAgLy8gZG9lc24ndCBtb3ZlIGFzIGZhc3QgYXMg
dGhlIGNvbnRlbnQgdmlldywgc28gdGhhdCB3aGVuIHRoZSBjb250ZW50IGlzIHNjcm9sbGVkIGFs
bCB0aGUgd2F5IHRvIHRoZQogICAgIC8vIGVuZCwgdGhlIGJvdHRvbSBvZiB0aGUgc2NhbGVkICJ2
aWV3cG9ydCIgdG91Y2hlcyB0aGUgYm90dG9tIG9mIHRoZSByZWFsIHZpZXdwb3J0LgotICAgIGZs
b2F0IGRyYWdGYWN0b3IgPSAoY29udGVudHNXaWR0aCgpIC0gdmlzaWJsZUNvbnRlbnRXaWR0aCAq
IGZyYW1lU2NhbGVGYWN0b3IpIC8gbWF4WDsKKyAgICBmbG9hdCBkcmFnRmFjdG9yID0gZml4ZWRQ
b3NpdGlvbkVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKCkgPyAxIDogKGNvbnRlbnRzV2lkdGgoKSAt
IHZpc2libGVDb250ZW50V2lkdGggKiBmcmFtZVNjYWxlRmFjdG9yKSAvIG1heFg7CiAKICAgICBy
ZXR1cm4geCAqIGRyYWdGYWN0b3IgLyBmcmFtZVNjYWxlRmFjdG9yOwogfQpAQCAtMTM5NSw4ICsx
Mzk2LDggQEAgTGF5b3V0VW5pdCBGcmFtZVZpZXc6OnNjcm9sbFhGb3JGaXhlZFBvc2l0aW9uKCkg
Y29uc3QKIExheW91dFVuaXQgRnJhbWVWaWV3OjpzY3JvbGxZRm9yRml4ZWRQb3NpdGlvbigpIGNv
bnN0CiB7CiAgICAgTGF5b3V0VW5pdCB2aXNpYmxlQ29udGVudEhlaWdodCA9IHZpc2libGVDb250
ZW50UmVjdCgpLmhlaWdodCgpOwotCiAgICAgTGF5b3V0VW5pdCBtYXhZID0gY29udGVudHNIZWln
aHQoKSAtIHZpc2libGVDb250ZW50SGVpZ2h0OworCiAgICAgaWYgKG1heFkgPT0gMCkKICAgICAg
ICAgcmV0dXJuIDA7CiAKQEAgLTE0MTgsOCArMTQxOSw3IEBAIExheW91dFVuaXQgRnJhbWVWaWV3
OjpzY3JvbGxZRm9yRml4ZWRQb3NpdGlvbigpIGNvbnN0CiAgICAgICAgIHJldHVybiB5OwogCiAg
ICAgZmxvYXQgZnJhbWVTY2FsZUZhY3RvciA9IG1fZnJhbWUtPmZyYW1lU2NhbGVGYWN0b3IoKTsK
LSAgICBmbG9hdCBkcmFnRmFjdG9yID0gKGNvbnRlbnRzSGVpZ2h0KCkgLSB2aXNpYmxlQ29udGVu
dEhlaWdodCAqIGZyYW1lU2NhbGVGYWN0b3IpIC8gbWF4WTsKLQorICAgIGZsb2F0IGRyYWdGYWN0
b3IgPSBmaXhlZFBvc2l0aW9uRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoKSA/IDEgOiAoY29udGVu
dHNIZWlnaHQoKSAtIHZpc2libGVDb250ZW50SGVpZ2h0ICogZnJhbWVTY2FsZUZhY3RvcikgLyBt
YXhZOwogICAgIHJldHVybiB5ICogZHJhZ0ZhY3RvciAvIGZyYW1lU2NhbGVGYWN0b3I7CiB9CiAK
QEAgLTE0MjgsNiArMTQyOCwxOSBAQCBMYXlvdXRTaXplIEZyYW1lVmlldzo6c2Nyb2xsT2Zmc2V0
Rm9yRml4ZWRQb3NpdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIExheW91dFNpemUoc2Nyb2xsWEZv
ckZpeGVkUG9zaXRpb24oKSwgc2Nyb2xsWUZvckZpeGVkUG9zaXRpb24oKSk7CiB9CiAKK3ZvaWQg
RnJhbWVWaWV3OjpzZXRGaXhlZFBvc2l0aW9uRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoYm9vbCBm
aXhlZFBvc2l0aW9uRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUpCit7CisgICAgaWYgKGZpeGVkUG9z
aXRpb25FbGVtZW50c1JlbGF0aXZlVG9GcmFtZSA9PSBtX2ZpeGVkUG9zaXRpb25FbGVtZW50c1Jl
bGF0aXZlVG9GcmFtZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9maXhlZFBvc2l0aW9uRWxl
bWVudHNSZWxhdGl2ZVRvRnJhbWUgPSBmaXhlZFBvc2l0aW9uRWxlbWVudHNSZWxhdGl2ZVRvRnJh
bWU7CisKKyAgICBpZiAoIWhhc0ZpeGVkT2JqZWN0cygpKQorICAgICAgICByZXR1cm47CisKKyAg
ICBzZXROZWVkc0xheW91dCgpOworfQorCiBMYXlvdXRQb2ludCBGcmFtZVZpZXc6OmN1cnJlbnRN
b3VzZVBvc2l0aW9uKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9mcmFtZSA/IG1fZnJhbWUtPmV2
ZW50SGFuZGxlcigpLT5jdXJyZW50TW91c2VQb3NpdGlvbigpIDogSW50UG9pbnQoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5oCmluZGV4IGJmN2QzZmJkM2MzZWZiMzliMGMzY2YxZDdjNjM1NzkyNGMx
ZGUzY2EuLjQxMTFjNzFjYWU3ZDY3MTcyZGMxMGVjMzA1Nzk4MTFhMzI5OGRlZjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuaApAQCAtMTk1LDYgKzE5NSw5IEBAIHB1YmxpYzoKICAgICBMYXlvdXRV
bml0IHNjcm9sbFlGb3JGaXhlZFBvc2l0aW9uKCkgY29uc3Q7CiAgICAgTGF5b3V0U2l6ZSBzY3Jv
bGxPZmZzZXRGb3JGaXhlZFBvc2l0aW9uKCkgY29uc3Q7CiAKKyAgICBib29sIGZpeGVkUG9zaXRp
b25FbGVtZW50c1JlbGF0aXZlVG9GcmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZml4ZWRQb3NpdGlv
bkVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lOyB9CisgICAgdm9pZCBzZXRGaXhlZFBvc2l0aW9uRWxl
bWVudHNSZWxhdGl2ZVRvRnJhbWUoYm9vbCk7CisKICAgICB2b2lkIGJlZ2luRGVmZXJyZWRSZXBh
aW50cygpOwogICAgIHZvaWQgZW5kRGVmZXJyZWRSZXBhaW50cygpOwogICAgIHZvaWQgY2hlY2tT
dG9wRGVsYXlpbmdEZWZlcnJlZFJlcGFpbnRzKCk7CkBAIC00MDksNyArNDEyLDcgQEAgcHJpdmF0
ZToKICAgICBib29sIG1fY29udGVudElzT3BhcXVlOwogICAgIHVuc2lnbmVkIG1fc2xvd1JlcGFp
bnRPYmplY3RDb3VudDsKICAgICB1bnNpZ25lZCBtX2ZpeGVkT2JqZWN0Q291bnQ7Ci0KKyAgICBi
b29sIG1fZml4ZWRQb3NpdGlvbkVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lOwogICAgIGludCBtX2Jv
cmRlclg7CiAgICAgaW50IG1fYm9yZGVyWTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94LmNwcAppbmRleCA2OWQxMjRmNzRlODY3ZDFkZjM0MDA5OWI1Nzg4OTE1NjMxN2Q4ODNiLi4y
MGQ1YjMyYTQ5Y2Y3MGE1ZTk0YTViZmZjYzk1NzczODBhMjZlYzVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtMjMyOCw2ICsyMzI4LDEwIEBAIHZvaWQgUmVuZGVy
Qm94Ojpjb21wdXRlQmxvY2tEaXJlY3Rpb25NYXJnaW5zKFJlbmRlckJsb2NrKiBjb250YWluaW5n
QmxvY2spCiBpbnQgUmVuZGVyQm94Ojpjb250YWluaW5nQmxvY2tMb2dpY2FsV2lkdGhGb3JQb3Np
dGlvbmVkKGNvbnN0IFJlbmRlckJveE1vZGVsT2JqZWN0KiBjb250YWluaW5nQmxvY2ssIFJlbmRl
clJlZ2lvbiogcmVnaW9uLAogICAgIExheW91dFVuaXQgb2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZp
cnN0UGFnZSwgYm9vbCBjaGVja0ZvclBlcnBlbmRpY3VsYXJXcml0aW5nTW9kZSkgY29uc3QKIHsK
KyAgICAvLyBDb250YWluZXIgZm9yIHBvc2l0aW9uOmZpeGVkIGlzIHRoZSBmcmFtZS4KKyAgICBp
ZiAoc3R5bGUoKSAmJiBzdHlsZSgpLT5wb3NpdGlvbigpID09IEZpeGVkUG9zaXRpb24gJiYgdmll
dygpICYmIHZpZXcoKS0+ZnJhbWUoKSAmJiB2aWV3KCktPmZyYW1lVmlldygpICYmIHZpZXcoKS0+
ZnJhbWVWaWV3KCktPmZpeGVkUG9zaXRpb25FbGVtZW50c1JlbGF0aXZlVG9GcmFtZSgpKQorICAg
ICAgICByZXR1cm4gKHZpZXcoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHZpZXcoKS0+
ZnJhbWVWaWV3KCktPnZpc2libGVXaWR0aCgpIDogdmlldygpLT5mcmFtZVZpZXcoKS0+dmlzaWJs
ZUhlaWdodCgpKSAvIHZpZXcoKS0+ZnJhbWUoKS0+ZnJhbWVTY2FsZUZhY3RvcigpOworCiAgICAg
aWYgKGNoZWNrRm9yUGVycGVuZGljdWxhcldyaXRpbmdNb2RlICYmIGNvbnRhaW5pbmdCbG9jay0+
aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSAhPSBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQog
ICAgICAgICByZXR1cm4gY29udGFpbmluZ0Jsb2NrTG9naWNhbEhlaWdodEZvclBvc2l0aW9uZWQo
Y29udGFpbmluZ0Jsb2NrLCBmYWxzZSk7CiAKQEAgLTIzODAsNiArMjM4NCw5IEBAIGludCBSZW5k
ZXJCb3g6OmNvbnRhaW5pbmdCbG9ja0xvZ2ljYWxXaWR0aEZvclBvc2l0aW9uZWQoY29uc3QgUmVu
ZGVyQm94TW9kZWxPYmplCiAKIGludCBSZW5kZXJCb3g6OmNvbnRhaW5pbmdCbG9ja0xvZ2ljYWxI
ZWlnaHRGb3JQb3NpdGlvbmVkKGNvbnN0IFJlbmRlckJveE1vZGVsT2JqZWN0KiBjb250YWluaW5n
QmxvY2ssIGJvb2wgY2hlY2tGb3JQZXJwZW5kaWN1bGFyV3JpdGluZ01vZGUpIGNvbnN0CiB7Cisg
ICAgaWYgKHN0eWxlKCkgJiYgc3R5bGUoKS0+cG9zaXRpb24oKSA9PSBGaXhlZFBvc2l0aW9uICYm
IHZpZXcoKSAmJiB2aWV3KCktPmZyYW1lKCkgJiYgdmlldygpLT5mcmFtZVZpZXcoKSAmJiB2aWV3
KCktPmZyYW1lVmlldygpLT5maXhlZFBvc2l0aW9uRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoKSkK
KyAgICAgICAgcmV0dXJuICh2aWV3KCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyB2aWV3
KCktPmZyYW1lVmlldygpLT52aXNpYmxlSGVpZ2h0KCkgOiB2aWV3KCktPmZyYW1lVmlldygpLT52
aXNpYmxlV2lkdGgoKSkgLyB2aWV3KCktPmZyYW1lKCktPmZyYW1lU2NhbGVGYWN0b3IoKTsKKwog
ICAgIGlmIChjaGVja0ZvclBlcnBlbmRpY3VsYXJXcml0aW5nTW9kZSAmJiBjb250YWluaW5nQmxv
Y2stPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgIT0gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUo
KSkKICAgICAgICAgcmV0dXJuIGNvbnRhaW5pbmdCbG9ja0xvZ2ljYWxXaWR0aEZvclBvc2l0aW9u
ZWQoY29udGFpbmluZ0Jsb2NrLCAwLCAwLCBmYWxzZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcAppbmRleCA0NzllYjU0MDc2MDNmNzg1YjdiZGI1OTEwMGY4YjAwN2Y4YTEzZmIz
Li4xN2RhYjI1NDJmMmY0YjFkZDIzMTUzNWFiYTk3MmY1NTZiZTlhYWI0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC00ODQsNCArNDg0LDE1IEBAIHVuc2lnbmVkIEludGVy
bmFsczo6bGVuZ3RoRnJvbVJhbmdlKEVsZW1lbnQqIHNjb3BlLCBjb25zdCBSYW5nZSogcmFuZ2Us
IEV4Y2VwdGlvCiAgICAgcmV0dXJuIGxlbmd0aDsKIH0KIAordm9pZCBJbnRlcm5hbHM6OnNldEZp
eGVkUG9zaXRpb25FbGVtZW50c1JlbGF0aXZlVG9GcmFtZShEb2N1bWVudCogZG9jdW1lbnQsIGJv
b2wgZW5hYmxlZCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFkb2N1bWVudCB8fCAh
ZG9jdW1lbnQtPnZpZXcoKSkgeworICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gZG9jdW1l
bnQtPnZpZXcoKTsKKyAgICBmcmFtZVZpZXctPnNldEZpeGVkUG9zaXRpb25FbGVtZW50c1JlbGF0
aXZlVG9GcmFtZShlbmFibGVkKTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgK
aW5kZXggODI2ZDEwMTZiMzQxNzRkMGM1YTAyYzMyY2JlZDI4ZGVjM2U4MDk3OC4uYmE0YTJmMmQy
YTAyZGUxYTFlMGJkY2ZkM2NmNTQzMTM4ZjRlZDJhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5oCkBAIC05OCw2ICs5OCw3IEBAIHB1YmxpYzoKICAgICBQYXNzUmVmUHRyPFJhbmdlPiBy
YW5nZUZyb21Mb2NhdGlvbkFuZExlbmd0aChFbGVtZW50KiBzY29wZSwgaW50IHJhbmdlTG9jYXRp
b24sIGludCByYW5nZUxlbmd0aCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHVuc2lnbmVkIGxvY2F0
aW9uRnJvbVJhbmdlKEVsZW1lbnQqIHNjb3BlLCBjb25zdCBSYW5nZSosIEV4Y2VwdGlvbkNvZGUm
KTsKICAgICB1bnNpZ25lZCBsZW5ndGhGcm9tUmFuZ2UoRWxlbWVudCogc2NvcGUsIGNvbnN0IFJh
bmdlKiwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgc2V0Rml4ZWRQb3NpdGlvbkVsZW1lbnRz
UmVsYXRpdmVUb0ZyYW1lKERvY3VtZW50KiwgYm9vbCwgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAg
c3RhdGljIGNvbnN0IGNoYXIqIGludGVybmFsc0lkOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5pZGwKaW5kZXggNTM2YmU2MDAwMzI0ZDAzNGUxMDBjOTljOTVlNGZkN2Q3M2JkOTJlZC4u
ZjRkMDliZmQ1NWY0MWVkNGIyMWZiNzZiYzUzN2IwY2U4NzFmMGEwNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtNzIsNiArNzIsOCBAQCBtb2R1bGUgd2luZG93IHsKICAg
ICAgICAgUmFuZ2UgcmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGgoaW4gRWxlbWVudCBzY29wZSwg
aW4gbG9uZyByYW5nZUxvY2F0aW9uLCBpbiBsb25nIHJhbmdlTGVuZ3RoKSByYWlzZXMgKERPTUV4
Y2VwdGlvbik7CiAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9jYXRpb25Gcm9tUmFuZ2UoaW4gRWxl
bWVudCBzY29wZSwgaW4gUmFuZ2UgcmFuZ2UpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAg
ICAgdW5zaWduZWQgbG9uZyBsZW5ndGhGcm9tUmFuZ2UoaW4gRWxlbWVudCBzY29wZSwgaW4gUmFu
Z2UgcmFuZ2UpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKworICAgICAgICB2b2lkIHNldEZpeGVk
UG9zaXRpb25FbGVtZW50c1JlbGF0aXZlVG9GcmFtZShpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4g
Ym9vbGVhbiBlbmFibGVkKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICB9OwogfQogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggMTFmODI3ZDIzYWQwMDIzZWNkNTc2YTMyOTNjNTEyNzYyN2RmZTI5Mi4uMzFkMDYwNTNmODli
NWU4YTcwZTMyZGI2MTE0MzJlMDM3MWE2MjY2YyAxMDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEx
LTEwLTMwICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdo
ZW4gcGFnZSBzY2FsaW5nIGlzIGluIHVzZSBwb3NpdGlvbjpmaXhlZCBoYXMgaW5jb3JyZWN0IHJl
c3VsdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4
NjE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBm
YXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvcmVwYWludC9maXhlZC1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L2ZpeGVkLWluLXBhZ2Utc2NhbGUuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNj
YWxlLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L2ZpeGVkLXJp
Z2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxlLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvcmVwYWludC9maXhlZC1yaWdodC1pbi1wYWdlLXNjYWxlLWV4cGVj
dGVkLnBuZzogQWRkZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBh
Z2Utc2NhbGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvZml4
ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS5odG1sOiBBZGRlZC4KKwogMjAxMS0xMC0zMCAgUnlvc3Vr
ZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgY3Jhc2ggZXhwZWN0
YXRpb25zIGZyb20gdGVzdHMgdGhhdCBoYXZlIG5vdCBiZWVuIGNyYXNoaW5nIG9uIENocm9taXVt
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLWluLXBhZ2Utc2Nh
bGUtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLWluLXBhZ2Ut
c2NhbGUtZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyMzUzOTk1Mzc5ZDc2YTk1NTY5YjIwODAx
MjVmYmM0YWVmMmFhZDQKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDI4NjkKemNtZUFTQE4/KG9s
SHlgdVZCcSFpYTB5fnlVeyt2WVYyYT5pMCpaKT1oXmhsQSVAV3MkbEhgb2s8bX0/b1RuMC1jCnpp
ekVYUjEyZHo8V0spQ1cjM1ZCI1dBajhISGB6NEJDP3okYHhUKD48ayU1OGh4VGxMX05YNEFESCNZ
SnoxQGY+dQp6QD9BN3ZSMjB3Nih5ZztFT3s9MUBkRnAhaEtMXmZ5Vj48VV9MJk5fTWNqT290M1p4
b1k4M2NxUTcjSXZrOEtaJFAKem5pQS1rM3BRUnFeTnEhP3E7e0tsIUpeODFlVEUtPns5KzZhSl8o
RXJNXzVKfnFrJUEqNjZsLUAtcHJjJG1ZMEZTCnd7b19GPGg3THwwaEszbWpNajR9bEZxI3RSb0Qx
JmUtUSF6bl5CfVZhKmJaaiFib0Z5dD1ha1J7MDJTWTkje2Q4VAoKbGl0ZXJhbCAwCkhjbVY/ZDAw
MDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLWluLXBhZ2Ut
c2NhbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLWluLXBh
Z2Utc2NhbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiMTM3ODkxNzkxZmU5NjkyN2FkNzhl
NjRiMGFhZDdiZGVkMDhiZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Jl
cGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLWluLXBhZ2Utc2NhbGUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wNmZhMjM2ZjNiMWY3NmU0OTVjMjUxOWIyMWEyMzZkMDFmMmQ1ZjEyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLWluLXBhZ2Utc2Nh
bGUuaHRtbApAQCAtMCwwICsxLDU0IEBACis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAg
ICAgICAgOjotd2Via2l0LXNjcm9sbGJhciB7CisgICAgICAgICAgICB3aWR0aDogMHB4OworICAg
ICAgICAgICAgaGVpZ2h0OiAwcHg7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIDxzY3Jp
cHQ+CisgICAgICB3aW5kb3cuZW5hYmxlUGl4ZWxUZXN0aW5nID0gdHJ1ZTsKKyAgICAgIGlmICh3
aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0Rml4ZWRQb3Np
dGlvbkVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKGRvY3VtZW50LCB0cnVlKTsKKworICAgICAgZnVu
Y3Rpb24gc2Nyb2xsKCkgeworICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygxMDAsMTAwKTsKKyAg
ICAgIH0KKworICAgICAgZnVuY3Rpb24gc2NhbGVXaXRoRXZlbnRTZW5kZXIoKSB7CisgICAgICAg
ICAgdmFyIHNjYWxlRmFjdG9yID0gMi4wOworICAgICAgICAgIHZhciBzY2FsZU9mZnNldCA9IDA7
CisgICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICAgICAgIGV2ZW50
U2VuZGVyLnNjYWxlUGFnZUJ5KHNjYWxlRmFjdG9yLCBzY2FsZU9mZnNldCwgc2NhbGVPZmZzZXQp
OworICAgICAgICAgIH0KKyAgICAgIH0KKworICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAg
ICAgICBzY2FsZVdpdGhFdmVudFNlbmRlcigpOworICAgICAgICAgIHNjcm9sbCgpOworICAgICAg
fQorICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgc3R5bGU9IndpZHRoOjIwMDBweDsg
aGVpZ2h0OjIwMDBweDsgbWFyZ2luOjBweDsiIG9ubG9hZD0idGVzdCgpOyI+CisgICAgPGRpdiBz
dHlsZT0icG9zaXRpb246IGZpeGVkOyB0b3A6IC0xMDBweDsgbGVmdDogLTEwMHB4OyB6LWluZGV4
OiAxIj4KKyAgICAgICAgPGRpdiBzdHlsZT0ibGVmdDowOyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhl
aWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6eWVsbG93OyI+PC9kaXY+
CisgICAgICAgIDxkaXYgc3R5bGU9ImxlZnQ6MTAwcHg7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVp
Z2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpncmVlbjsiPjwvZGl2Pgor
CisgICAgICAgIDxkaXYgc3R5bGU9ImxlZnQ6MDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVp
Z2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpncmVlbjsiPjwvZGl2Pgor
ICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4OyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBo
ZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmJsYWNrOyI+PC9kaXY+
CisgICAgPC9kaXY+CisKKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjA7IHRvcDowOyB3aWR0aDoxMDBw
eDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDp5ZWxsb3c7Ij48
L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4OyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhl
aWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Z3JlZW47Ij48L2Rpdj4K
KyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjIwMHB4OyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdodDox
MDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Ymx1ZTsiPjwvZGl2PgorCisgICAg
PGRpdiBzdHlsZT0ibGVmdDowOyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7
IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOiBncmVlbjsiPjwvZGl2PgorICAgIDxkaXYg
c3R5bGU9ImxlZnQ6MTAwcHg7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsg
cG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Ymx1ZTsiPjwvZGl2PgorICAgIDxkaXYgc3R5
bGU9ImxlZnQ6MjAwcHg7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9z
aXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6eWVsbG93OyI+PC9kaXY+CisKKyAgICA8ZGl2IHN0
eWxlPSJsZWZ0OjA7IHRvcDoyMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRp
b246YWJzb2x1dGU7IGJhY2tncm91bmQ6Ymx1ZTsiPjwvZGl2PgorICAgIDxkaXYgc3R5bGU9Imxl
ZnQ6MTAwcHg7IHRvcDoyMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246
YWJzb2x1dGU7IGJhY2tncm91bmQ6eWVsbG93OyI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0ibGVm
dDoyMDBweDsgdG9wOjIwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjph
YnNvbHV0ZTsgYmFja2dyb3VuZDpncmVlbjsiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1w
YWdlLXNjYWxlLWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1y
aWdodC1ib3R0b20taW4tcGFnZS1zY2FsZS1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzI1ZjVh
ZjUwZWU2MjZmNjQyNjhjZGJkOTZlMDU5YjcyYzQyMWExYgpHSVQgYmluYXJ5IHBhdGNoCmxpdGVy
YWwgMjg1MAp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJhPmkwKlopPWheaGxBJUBX
cyRsSGBvazxtfT9vVG41dSoKejwwS09eTHJaZ3VCbnlpfkxxajdvTCZGcCFHWG8yZzZpYyZZJWNR
d3d1Vk5TJnhWQ3RASUVHWnJkMyltXj1LJXUmCno9N1RYRnw4PWM+YiEyQUQ8b1hoMEBfWV9FTCZM
ZTx3aFJtcCUkVD90NngyMl9GZUhzS01ndzZxQzUrflIoT2ZXXgp6M3IwPlp4Y2BsVDtmOUl2WlEm
Z2cqaGchXihOQDR7USlyLWEhOGhpS1VoSkZ2PmYoVHtVPEwrSFMzajNeUDY8cl8KREViN3FFCgps
aXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFp
bnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxlLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44YjEzNzg5MTc5MWZlOTY5MjdhZDc4ZTY0YjBhYWQ3YmRlZDA4
YmRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJp
Z2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1ib3R0b20taW4t
cGFnZS1zY2FsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJv
dHRvbS1pbi1wYWdlLXNjYWxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWVmZmFlMTgxYzdhNTdiMGYwYzdj
ZjE2OTA1NDIyOWYzNTU5NDE3ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
cmVwYWludC9maXhlZC1yaWdodC1ib3R0b20taW4tcGFnZS1zY2FsZS5odG1sCkBAIC0wLDAgKzEs
NDMgQEAKKzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICA6Oi13ZWJraXQtc2Ny
b2xsYmFyIHsKKyAgICAgICAgICAgIHdpZHRoOiAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDBw
eDsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdD4KKyAgICAgIHdpbmRvdy5l
bmFibGVQaXhlbFRlc3RpbmcgPSB0cnVlOworICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisg
ICAgICAgICAgd2luZG93LmludGVybmFscy5zZXRGaXhlZFBvc2l0aW9uRWxlbWVudHNSZWxhdGl2
ZVRvRnJhbWUoZG9jdW1lbnQsIHRydWUpOworCisgICAgICBmdW5jdGlvbiBzY3JvbGwoKSB7Cisg
ICAgICAgICAgd2luZG93LnNjcm9sbFRvKDEwMCwxMDApOworICAgICAgfQorCisgICAgICBmdW5j
dGlvbiBzY2FsZVdpdGhFdmVudFNlbmRlcigpIHsKKyAgICAgICAgICB2YXIgc2NhbGVGYWN0b3Ig
PSAyLjA7CisgICAgICAgICAgdmFyIHNjYWxlT2Zmc2V0ID0gMDsKKyAgICAgICAgICBpZiAod2lu
ZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgICAgICAgZXZlbnRTZW5kZXIuc2NhbGVQYWdlQnko
c2NhbGVGYWN0b3IsIHNjYWxlT2Zmc2V0LCBzY2FsZU9mZnNldCk7CisgICAgICAgICAgfQorICAg
ICAgfQorCisgICAgICBmdW5jdGlvbiB0ZXN0KCkgeworICAgICAgICAgIGRvY3VtZW50LmJvZHku
c3R5bGUud2lkdGggPSAoZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aCArIDEwMCkgKyAicHgiOwor
ICAgICAgICAgIHNjYWxlV2l0aEV2ZW50U2VuZGVyKCk7CisgICAgICAgICAgc2Nyb2xsKCk7Cisg
ICAgICB9CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBzdHlsZT0iaGVpZ2h0OiAy
MDAwcHg7IHdpZHRoOiAyMDAwcHg7IG1hcmdpbjowcHg7IiBvbmxvYWQ9InRlc3QoKTsiPgorICAg
IDxkaXYgc3R5bGU9InBvc2l0aW9uOiBmaXhlZDsgYm90dG9tOiAxMDBweDsgcmlnaHQ6IDEwMHB4
OyB6LWluZGV4OiAxIj4KKyAgICAgICAgPGRpdiBzdHlsZT0ibGVmdDowOyB0b3A6MDsgd2lkdGg6
MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6YmxhY2s7
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsgdG9wOjA7IHdpZHRoOjEw
MHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmdyZWVuOyI+
PC9kaXY+CisKKyAgICAgICAgPGRpdiBzdHlsZT0ibGVmdDowcHg7IHRvcDoxMDBweDsgd2lkdGg6
MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6eWVsbG93
OyI+PC9kaXY+CisgICAgICAgIDxkaXYgc3R5bGU9ImxlZnQ6MTAwcHg7IHRvcDoxMDBweDsgd2lk
dGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Ymx1
ZTsiPjwvZGl2PgorICAgIDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQu
cG5nIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUt
ZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxZTNlMGVkMGMxMTk0ODkwZGQzZDFkZmU5NDVmYTMw
MzE2MTM0YjAKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDI4NzEKemNtZUFTQE4/KG9sSHlgdVZC
cSFpYTB5fnlVeyt2WVYyYT5pMCpaKT1oXmhsQSVAV3MkbEhgb2s8bX0/b1QhekZICnpsVEBRKkx6
QVNHV1JuIUxsJSYrO1I2fDJVQmVTSUJsdz9hMl5XLTFYbUtaWklhR21zWWFTVy1MXlkrRkBVTUVL
JAp6UiE1KHcwWHM3dnZUTSheSTItYlRpQ3oycnlMfUEqNCVSJlghamt2Sih6WmMqdVJsS24hO2Fu
cU9iaXtJSXQmZG4Kek1qNH1sRnEjdFJtPHcqYWRIMGYrcTVzVUJ4QzZhcXZTUE9LcXElVWpDPmt3
PjJQempwdkxpJEkkQWhDYTslSUFOCmh2YEk4anghXkN1LXYpdHwqUG5nJjA9OSUxSllEQDwpO1Qz
SzBSVFF6TXojT3wKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1pbi1wYWdlLXNjYWxlLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44YjEzNzg5MTc5MWZlOTY5MjdhZDc4ZTY0YjBhYWQ3YmRlZDA4
YmRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJp
Z2h0LWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1pbi1wYWdlLXNjYWxlLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYWE3NmRkYTg5OWI3NTlkMDUxZjdjZTBjZmM0ODgwZWNiYjRiYWZiZgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1p
bi1wYWdlLXNjYWxlLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPGh0bWw+Cis8aGVhZD4KKyAgICA8
c3R5bGU+CisgICAgICAgIDo6LXdlYmtpdC1zY3JvbGxiYXIgeworICAgICAgICAgICAgd2lkdGg6
IDBweDsKKyAgICAgICAgICAgIGhlaWdodDogMHB4OworICAgICAgICB9CisgICAgPC9zdHlsZT4K
KyAgICA8c2NyaXB0PgorICAgICAgd2luZG93LmVuYWJsZVBpeGVsVGVzdGluZyA9IHRydWU7Cisg
ICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNl
dEZpeGVkUG9zaXRpb25FbGVtZW50c1JlbGF0aXZlVG9GcmFtZShkb2N1bWVudCwgdHJ1ZSk7CisK
KyAgICAgIGZ1bmN0aW9uIHNjcm9sbCgpIHsKKyAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMTAw
LDEwMCk7CisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHNjYWxlV2l0aEV2ZW50U2VuZGVyKCkg
eworICAgICAgICAgIHZhciBzY2FsZUZhY3RvciA9IDIuMDsKKyAgICAgICAgICB2YXIgc2NhbGVP
ZmZzZXQgPSAwOworICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAg
ICAgICBldmVudFNlbmRlci5zY2FsZVBhZ2VCeShzY2FsZUZhY3Rvciwgc2NhbGVPZmZzZXQsIHNj
YWxlT2Zmc2V0KTsKKyAgICAgICAgICB9CisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHRlc3Qo
KSB7CisgICAgICAgICAgc2NhbGVXaXRoRXZlbnRTZW5kZXIoKTsKKyAgICAgICAgICBzY3JvbGwo
KTsKKyAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IHN0eWxlPSJoZWln
aHQ6MjAwMHB4OyB3aWR0aDogMjAwMHB4OyBtYXJnaW46MHB4OyIgb25sb2FkPSJ0ZXN0KCk7Ij4K
KyAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogZml4ZWQ7IHRvcDogLTEwMHB4OyByaWdodDogMTAw
cHg7IHotaW5kZXg6IDEiPgorICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjA7IHRvcDowOyB3aWR0
aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDp5ZWxs
b3c7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsgdG9wOjA7IHdpZHRo
OjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmdyZWVu
OyI+PC9kaXY+CisKKyAgICAgICAgPGRpdiBzdHlsZT0ibGVmdDowOyB0b3A6MTAwcHg7IHdpZHRo
OjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmJsYWNr
OyI+PC9kaXY+CisgICAgICAgIDxkaXYgc3R5bGU9ImxlZnQ6MTAwcHg7IHRvcDoxMDBweDsgd2lk
dGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Ymx1
ZTsiPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0
ZTsgd2lkdGg6MzAwcHg7IGhlaWdodDozMDBweDsgdG9wOiAwcHg7IGxlZnQ6IDMwMHB4IiBpZD0i
Z3JpZCI+CisgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjEwMHB4OyBoZWln
aHQ6MTAwcHg7IGJhY2tncm91bmQ6eWVsbG93OyI+PC9kaXY+CisgICAgICAgIDxkaXYgc3R5bGU9
ImZsb2F0OmxlZnQ7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IGJhY2tncm91bmQ6Z3JlZW47
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lkdGg6MTAwcHg7IGhl
aWdodDoxMDBweDsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisKKyAgICAgICAgPGRpdiBzdHls
ZT0iZmxvYXQ6bGVmdDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dyb3VuZDogZ3Jl
ZW47Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lkdGg6MTAwcHg7
IGhlaWdodDoxMDBweDsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAgICAgIDxkaXYgc3R5
bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IGJhY2tncm91bmQ6eWVs
bG93OyI+PC9kaXY+CisKKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lkdGg6MTAw
cHg7IGhlaWdodDoxMDBweDsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAgICAgIDxkaXYg
c3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IGJhY2tncm91bmQ6
eWVsbG93OyI+PC9kaXY+CisgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjEw
MHB4OyBoZWlnaHQ6MTAwcHg7IGJhY2tncm91bmQ6Z3JlZW47Ij48L2Rpdj4KKyAgICA8L2Rpdj4K
KyAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113050</attachid>
            <date>2011-10-31 07:56:04 -0700</date>
            <delta_ts>2011-10-31 10:05:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68617-20111031105602.patch</filename>
            <type>text/plain</type>
            <size>25471</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg4MjgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1NDJkMmIzZTNkNDVjNGFj
ZmExNDMxNDg0MmYyNGExNjk0YmJhNmQ2Li43NWE1YTBhYmIwZTRiNTJjZmE5MzU5ZjBiMjhmN2M1
NmI3MzE3ODdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTEtMTAtMzEgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2hlbiBwYWdlIHNjYWxp
bmcgaXMgaW4gdXNlIHBvc2l0aW9uOmZpeGVkIGhhcyBpbmNvcnJlY3QgcmVzdWx0cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MTcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBwb3NpdGlvbjpmaXhlZCBl
bGVtZW50cyBzaG91bGQgYmUgZml4ZWQgdG8gdGhlIGZyYW1lIGluc3RlYWQgb2YgdGhlCisgICAg
ICAgIGxheW91dCByZWN0YW5nbGUgb2YgdGhlIGRvY3VtZW50LgorCisgICAgICAgIFRlc3RzOiBm
YXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS5odG1sCisgICAgICAgICAgICAgICBmYXN0
L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUuaHRtbAorICAgICAgICAg
ICAgICAgZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUuaHRtbAorCisgICAg
ICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVZpZXc6OnNjcm9sbFhGb3JGaXhlZFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
Vmlldzo6c2Nyb2xsWUZvckZpeGVkUG9zaXRpb24pOgorICAgICAgICAgIFRoZSBvcmlnaW5hbCBs
b2dpYyBmb3Igc2Nyb2xsWCBhbmQgc2Nyb2xsWSBmb3IgZml4ZWQgZWxlbWVudHMgaGFzCisgICAg
ICAgICAgcHJvYmxlbXMgYW5kIHJhdGhlciB0aGFuIGhhdmluZyBwcm9wb3J0aW9uYWwgdG8gdGhl
IHNjcm9sbCBwb3NpdGlvbgorICAgICAgICAgIGluIHRoZSBkb2N1bWVudCB0aGlzIHBhdGNoIGp1
c3Qgc2V0IGl0IHRvIHRoZSB2aXNpYmxlIGNvbnRlbnQgcmVjdC4KKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lVmlldzo6c2V0Rml4ZWRQb3NpdGlvbkVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKToKKyAg
ICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojpm
aXhlZFBvc2l0aW9uRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpjb250YWluaW5n
QmxvY2tMb2dpY2FsV2lkdGhGb3JQb3NpdGlvbmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveDo6Y29udGFpbmluZ0Jsb2NrTG9naWNhbEhlaWdodEZvclBvc2l0aW9uZWQpOgorICAgICAg
ICAgIENvbnRhaW5lciBmb3IgcG9zaXRpb246Zml4ZWQgaXMgdGhlIGZyYW1lIGluc3RlYWQgb2Yg
dGhlIGxheW91dAorICAgICAgICAgIHJlY3Qgb2YgdGhlIGRvY3VtZW50LiBUaGlzIGFsbG93cyBw
cm9wZXIgcG9zaXRpb25pbmcgb2YgdGhlc2UgZWxlbWVudHMKKyAgICAgICAgICB0byB0aGUgcmln
aHQgYW5kIGJvdHRvbS4KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJbnRlcm5hbHM6OnNldEZpeGVkUG9zaXRpb25FbGVtZW50c1JlbGF0aXZlVG9G
cmFtZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5n
L0ludGVybmFscy5pZGw6CisgICAgICAgICAgQWxsb3dzIGVuYWJsaW5nIG9yIGRpc2FibGluZyB0
aGUgbmV3IGJlaGF2aW9yIGluIGxheW91dCB0ZXN0cy4KKwogMjAxMS0xMC0yOSAgTWFydGluIFJv
Ymluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gU3dpdGNoIHRv
IGEgYmFja2luZyBzdG9yZSBhcHByb2FjaCBmb3IgcGFpbnRpbmcgV2ViS2l0V2ViVmlldwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCmluZGV4IDUyYmE0YzVlNGIyMTc1ZTU2YWU0YjUwMjU0ZDFjZDkxNDkzMTM2ZjYuLjIxNDQ0
ODIxMTAwNjgwYTA1MTVlNmU1ZWVmYWJlNDY3OGRlYmI1NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMyBAQAorMjAxMS0xMC0zMSAgRmFkeSBTYW11ZWwgIDxmc2FtdWVsQGNocm9taXVtLm9yZz4K
KworICAgICAgICBXaGVuIHBhZ2Ugc2NhbGluZyBpcyBpbiB1c2UgcG9zaXRpb246Zml4ZWQgaGFz
IGluY29ycmVjdCByZXN1bHRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02ODYxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd2luL1dlYktpdDIuZGVmOgorICAgICAgICAqIHdpbi9XZWJLaXQyQ0ZMaXRl
LmRlZjoKKwogMjAxMS0xMC0yOCAgSmVmZiBNaWxsZXIgIDxqZWZmbUBhcHBsZS5jb20+CiAKICAg
ICAgICAgTW9yZSB3b3JrIG9uIFdlYktpdDIgc2hvdWxkIHJlc3BlY3QgV2ViS2l0T21pdFBERlN1
cHBvcnQgcHJlZmVyZW5jZSBvbiB0aGUgTWFjCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDA1ZTM0
NTJmOTFmN2RlNDQyYWQ5ZTJiOTA5MDcxZTViZmYyYmQ3ODQuLmYwNTQxYjk5ZTEyZWEzMjY4NjVj
ZjdlMjYxNTU2MTUwNjJmMWMxZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xMDExLDYgKzEw
MTEsNyBAQCBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MTdzZXRTY3JvbGxQb3NpdGlvbkVSS05TXzhJ
bnRQb2ludEUKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXcxN3NldFRyYWNrc1JlcGFpbnRzRWIKIF9f
Wk43V2ViQ29yZTlGcmFtZVZpZXcxOHVwZGF0ZUNvbnRyb2xUaW50c0V2CiBfX1pON1dlYkNvcmU5
RnJhbWVWaWV3MTlzY3JvbGxFbGVtZW50VG9SZWN0RVBOU183RWxlbWVudEVSS05TXzdJbnRSZWN0
RQorX19aTjdXZWJDb3JlOUZyYW1lVmlldzM5c2V0Rml4ZWRQb3NpdGlvbkVsZW1lbnRzUmVsYXRp
dmVUb0ZyYW1lRWIKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXcyMGVudGVyQ29tcG9zaXRpbmdNb2Rl
RXYKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXcyMWZsdXNoRGVmZXJyZWRSZXBhaW50c0V2CiBfX1pO
N1dlYkNvcmU5RnJhbWVWaWV3MjJzZXRCYXNlQmFja2dyb3VuZENvbG9yRVJLTlNfNUNvbG9yRQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGFlN2U3YzcyYjU5MjU1YmVhNTY4NDI3MmVj
NDAzNjgxZDY2MDU1ZTMuLmQ3ZDgzYjY0MmFhZjI4YTJiMzUyY2EwY2YxYTAzMDQ5MDUwMzMxOTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTIxMyw2ICsyMTMsNyBAQCB2b2lkIEZy
YW1lVmlldzo6cmVzZXQoKQogICAgIG1fY2Fubm90QmxpdFRvV2luZG93ID0gZmFsc2U7CiAgICAg
bV9pc092ZXJsYXBwZWQgPSBmYWxzZTsKICAgICBtX2NvbnRlbnRJc09wYXF1ZSA9IGZhbHNlOwor
ICAgIG1fZml4ZWRQb3NpdGlvbkVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lID0gZmFsc2U7CiAgICAg
bV9ib3JkZXJYID0gMzA7CiAgICAgbV9ib3JkZXJZID0gMzA7CiAgICAgbV9sYXlvdXRUaW1lci5z
dG9wKCk7CkBAIC0xMzg3LDcgKzEzODgsNyBAQCBMYXlvdXRVbml0IEZyYW1lVmlldzo6c2Nyb2xs
WEZvckZpeGVkUG9zaXRpb24oKSBjb25zdAogICAgIC8vIFdoZW4gdGhlIHBhZ2UgaXMgc2NhbGVk
LCB0aGUgc2NhbGVkICJ2aWV3cG9ydCIgd2l0aCByZXNwZWN0IHRvIHdoaWNoIGZpeGVkIG9iamVj
dCBhcmUgcG9zaXRpb25lZAogICAgIC8vIGRvZXNuJ3QgbW92ZSBhcyBmYXN0IGFzIHRoZSBjb250
ZW50IHZpZXcsIHNvIHRoYXQgd2hlbiB0aGUgY29udGVudCBpcyBzY3JvbGxlZCBhbGwgdGhlIHdh
eSB0byB0aGUKICAgICAvLyBlbmQsIHRoZSBib3R0b20gb2YgdGhlIHNjYWxlZCAidmlld3BvcnQi
IHRvdWNoZXMgdGhlIGJvdHRvbSBvZiB0aGUgcmVhbCB2aWV3cG9ydC4KLSAgICBmbG9hdCBkcmFn
RmFjdG9yID0gKGNvbnRlbnRzV2lkdGgoKSAtIHZpc2libGVDb250ZW50V2lkdGggKiBmcmFtZVNj
YWxlRmFjdG9yKSAvIG1heFg7CisgICAgZmxvYXQgZHJhZ0ZhY3RvciA9IGZpeGVkUG9zaXRpb25F
bGVtZW50c1JlbGF0aXZlVG9GcmFtZSgpID8gMSA6IChjb250ZW50c1dpZHRoKCkgLSB2aXNpYmxl
Q29udGVudFdpZHRoICogZnJhbWVTY2FsZUZhY3RvcikgLyBtYXhYOwogCiAgICAgcmV0dXJuIHgg
KiBkcmFnRmFjdG9yIC8gZnJhbWVTY2FsZUZhY3RvcjsKIH0KQEAgLTEzOTUsOCArMTM5Niw4IEBA
IExheW91dFVuaXQgRnJhbWVWaWV3OjpzY3JvbGxYRm9yRml4ZWRQb3NpdGlvbigpIGNvbnN0CiBM
YXlvdXRVbml0IEZyYW1lVmlldzo6c2Nyb2xsWUZvckZpeGVkUG9zaXRpb24oKSBjb25zdAogewog
ICAgIExheW91dFVuaXQgdmlzaWJsZUNvbnRlbnRIZWlnaHQgPSB2aXNpYmxlQ29udGVudFJlY3Qo
KS5oZWlnaHQoKTsKLQogICAgIExheW91dFVuaXQgbWF4WSA9IGNvbnRlbnRzSGVpZ2h0KCkgLSB2
aXNpYmxlQ29udGVudEhlaWdodDsKKwogICAgIGlmIChtYXhZID09IDApCiAgICAgICAgIHJldHVy
biAwOwogCkBAIC0xNDE4LDggKzE0MTksNyBAQCBMYXlvdXRVbml0IEZyYW1lVmlldzo6c2Nyb2xs
WUZvckZpeGVkUG9zaXRpb24oKSBjb25zdAogICAgICAgICByZXR1cm4geTsKIAogICAgIGZsb2F0
IGZyYW1lU2NhbGVGYWN0b3IgPSBtX2ZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCk7Ci0gICAgZmxv
YXQgZHJhZ0ZhY3RvciA9IChjb250ZW50c0hlaWdodCgpIC0gdmlzaWJsZUNvbnRlbnRIZWlnaHQg
KiBmcmFtZVNjYWxlRmFjdG9yKSAvIG1heFk7Ci0KKyAgICBmbG9hdCBkcmFnRmFjdG9yID0gZml4
ZWRQb3NpdGlvbkVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKCkgPyAxIDogKGNvbnRlbnRzSGVpZ2h0
KCkgLSB2aXNpYmxlQ29udGVudEhlaWdodCAqIGZyYW1lU2NhbGVGYWN0b3IpIC8gbWF4WTsKICAg
ICByZXR1cm4geSAqIGRyYWdGYWN0b3IgLyBmcmFtZVNjYWxlRmFjdG9yOwogfQogCkBAIC0xNDI4
LDYgKzE0MjgsMTkgQEAgTGF5b3V0U2l6ZSBGcmFtZVZpZXc6OnNjcm9sbE9mZnNldEZvckZpeGVk
UG9zaXRpb24oKSBjb25zdAogICAgIHJldHVybiBMYXlvdXRTaXplKHNjcm9sbFhGb3JGaXhlZFBv
c2l0aW9uKCksIHNjcm9sbFlGb3JGaXhlZFBvc2l0aW9uKCkpOwogfQogCit2b2lkIEZyYW1lVmll
dzo6c2V0Rml4ZWRQb3NpdGlvbkVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKGJvb2wgZml4ZWRQb3Np
dGlvbkVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKQoreworICAgIGlmIChmaXhlZFBvc2l0aW9uRWxl
bWVudHNSZWxhdGl2ZVRvRnJhbWUgPT0gbV9maXhlZFBvc2l0aW9uRWxlbWVudHNSZWxhdGl2ZVRv
RnJhbWUpCisgICAgICAgIHJldHVybjsKKworICAgIG1fZml4ZWRQb3NpdGlvbkVsZW1lbnRzUmVs
YXRpdmVUb0ZyYW1lID0gZml4ZWRQb3NpdGlvbkVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lOworCisg
ICAgaWYgKCFoYXNGaXhlZE9iamVjdHMoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgc2V0TmVl
ZHNMYXlvdXQoKTsKK30KKwogTGF5b3V0UG9pbnQgRnJhbWVWaWV3OjpjdXJyZW50TW91c2VQb3Np
dGlvbigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fZnJhbWUgPyBtX2ZyYW1lLT5ldmVudEhhbmRs
ZXIoKS0+Y3VycmVudE1vdXNlUG9zaXRpb24oKSA6IEludFBvaW50KCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuaAppbmRleCBiZjdkM2ZiZDNjM2VmYjM5YjBjM2NmMWQ3YzYzNTc5MjRjMWRlM2NhLi40
MTExYzcxY2FlN2Q2NzE3MmRjMTBlYzMwNTc5ODExYTMyOThkZWYzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmgKQEAgLTE5NSw2ICsxOTUsOSBAQCBwdWJsaWM6CiAgICAgTGF5b3V0VW5pdCBzY3Jv
bGxZRm9yRml4ZWRQb3NpdGlvbigpIGNvbnN0OwogICAgIExheW91dFNpemUgc2Nyb2xsT2Zmc2V0
Rm9yRml4ZWRQb3NpdGlvbigpIGNvbnN0OwogCisgICAgYm9vbCBmaXhlZFBvc2l0aW9uRWxlbWVu
dHNSZWxhdGl2ZVRvRnJhbWUoKSBjb25zdCB7IHJldHVybiBtX2ZpeGVkUG9zaXRpb25FbGVtZW50
c1JlbGF0aXZlVG9GcmFtZTsgfQorICAgIHZvaWQgc2V0Rml4ZWRQb3NpdGlvbkVsZW1lbnRzUmVs
YXRpdmVUb0ZyYW1lKGJvb2wpOworCiAgICAgdm9pZCBiZWdpbkRlZmVycmVkUmVwYWludHMoKTsK
ICAgICB2b2lkIGVuZERlZmVycmVkUmVwYWludHMoKTsKICAgICB2b2lkIGNoZWNrU3RvcERlbGF5
aW5nRGVmZXJyZWRSZXBhaW50cygpOwpAQCAtNDA5LDcgKzQxMiw3IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCBtX2NvbnRlbnRJc09wYXF1ZTsKICAgICB1bnNpZ25lZCBtX3Nsb3dSZXBhaW50T2JqZWN0
Q291bnQ7CiAgICAgdW5zaWduZWQgbV9maXhlZE9iamVjdENvdW50OwotCisgICAgYm9vbCBtX2Zp
eGVkUG9zaXRpb25FbGVtZW50c1JlbGF0aXZlVG9GcmFtZTsKICAgICBpbnQgbV9ib3JkZXJYOwog
ICAgIGludCBtX2JvcmRlclk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAK
aW5kZXggNjlkMTI0Zjc0ZTg2N2QxZGYzNDAwOTliNTc4ODkxNTYzMTdkODgzYi4uMjBkNWIzMmE0
OWNmNzBhNWU5NGE1YmZmY2M5NTc3MzgwYTI2ZWM1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveC5jcHAKQEAgLTIzMjgsNiArMjMyOCwxMCBAQCB2b2lkIFJlbmRlckJveDo6Y29t
cHV0ZUJsb2NrRGlyZWN0aW9uTWFyZ2lucyhSZW5kZXJCbG9jayogY29udGFpbmluZ0Jsb2NrKQog
aW50IFJlbmRlckJveDo6Y29udGFpbmluZ0Jsb2NrTG9naWNhbFdpZHRoRm9yUG9zaXRpb25lZChj
b25zdCBSZW5kZXJCb3hNb2RlbE9iamVjdCogY29udGFpbmluZ0Jsb2NrLCBSZW5kZXJSZWdpb24q
IHJlZ2lvbiwKICAgICBMYXlvdXRVbml0IG9mZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJzdFBhZ2Us
IGJvb2wgY2hlY2tGb3JQZXJwZW5kaWN1bGFyV3JpdGluZ01vZGUpIGNvbnN0CiB7CisgICAgLy8g
Q29udGFpbmVyIGZvciBwb3NpdGlvbjpmaXhlZCBpcyB0aGUgZnJhbWUuCisgICAgaWYgKHN0eWxl
KCkgJiYgc3R5bGUoKS0+cG9zaXRpb24oKSA9PSBGaXhlZFBvc2l0aW9uICYmIHZpZXcoKSAmJiB2
aWV3KCktPmZyYW1lKCkgJiYgdmlldygpLT5mcmFtZVZpZXcoKSAmJiB2aWV3KCktPmZyYW1lVmll
dygpLT5maXhlZFBvc2l0aW9uRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoKSkKKyAgICAgICAgcmV0
dXJuICh2aWV3KCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyB2aWV3KCktPmZyYW1lVmll
dygpLT52aXNpYmxlV2lkdGgoKSA6IHZpZXcoKS0+ZnJhbWVWaWV3KCktPnZpc2libGVIZWlnaHQo
KSkgLyB2aWV3KCktPmZyYW1lKCktPmZyYW1lU2NhbGVGYWN0b3IoKTsKKwogICAgIGlmIChjaGVj
a0ZvclBlcnBlbmRpY3VsYXJXcml0aW5nTW9kZSAmJiBjb250YWluaW5nQmxvY2stPmlzSG9yaXpv
bnRhbFdyaXRpbmdNb2RlKCkgIT0gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKICAgICAgICAg
cmV0dXJuIGNvbnRhaW5pbmdCbG9ja0xvZ2ljYWxIZWlnaHRGb3JQb3NpdGlvbmVkKGNvbnRhaW5p
bmdCbG9jaywgZmFsc2UpOwogCkBAIC0yMzgwLDYgKzIzODQsOSBAQCBpbnQgUmVuZGVyQm94Ojpj
b250YWluaW5nQmxvY2tMb2dpY2FsV2lkdGhGb3JQb3NpdGlvbmVkKGNvbnN0IFJlbmRlckJveE1v
ZGVsT2JqZQogCiBpbnQgUmVuZGVyQm94Ojpjb250YWluaW5nQmxvY2tMb2dpY2FsSGVpZ2h0Rm9y
UG9zaXRpb25lZChjb25zdCBSZW5kZXJCb3hNb2RlbE9iamVjdCogY29udGFpbmluZ0Jsb2NrLCBi
b29sIGNoZWNrRm9yUGVycGVuZGljdWxhcldyaXRpbmdNb2RlKSBjb25zdAogeworICAgIGlmIChz
dHlsZSgpICYmIHN0eWxlKCktPnBvc2l0aW9uKCkgPT0gRml4ZWRQb3NpdGlvbiAmJiB2aWV3KCkg
JiYgdmlldygpLT5mcmFtZSgpICYmIHZpZXcoKS0+ZnJhbWVWaWV3KCkgJiYgdmlldygpLT5mcmFt
ZVZpZXcoKS0+Zml4ZWRQb3NpdGlvbkVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKCkpCisgICAgICAg
IHJldHVybiAodmlldygpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gdmlldygpLT5mcmFt
ZVZpZXcoKS0+dmlzaWJsZUhlaWdodCgpIDogdmlldygpLT5mcmFtZVZpZXcoKS0+dmlzaWJsZVdp
ZHRoKCkpIC8gdmlldygpLT5mcmFtZSgpLT5mcmFtZVNjYWxlRmFjdG9yKCk7CisKICAgICBpZiAo
Y2hlY2tGb3JQZXJwZW5kaWN1bGFyV3JpdGluZ01vZGUgJiYgY29udGFpbmluZ0Jsb2NrLT5pc0hv
cml6b250YWxXcml0aW5nTW9kZSgpICE9IGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCiAgICAg
ICAgIHJldHVybiBjb250YWluaW5nQmxvY2tMb2dpY2FsV2lkdGhGb3JQb3NpdGlvbmVkKGNvbnRh
aW5pbmdCbG9jaywgMCwgMCwgZmFsc2UpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAKaW5kZXggNDc5ZWI1NDA3NjAzZjc4NWI3YmRiNTkxMDBmOGIwMDdmOGExM2ZiMy4uMTdkYWIy
NTQyZjJmNGIxZGQyMzE1MzVhYmE5NzJmNTU2YmU5YWFiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcApAQCAtNDg0LDQgKzQ4NCwxNSBAQCB1bnNpZ25lZCBJbnRlcm5hbHM6Omxl
bmd0aEZyb21SYW5nZShFbGVtZW50KiBzY29wZSwgY29uc3QgUmFuZ2UqIHJhbmdlLCBFeGNlcHRp
bwogICAgIHJldHVybiBsZW5ndGg7CiB9CiAKK3ZvaWQgSW50ZXJuYWxzOjpzZXRGaXhlZFBvc2l0
aW9uRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoRG9jdW1lbnQqIGRvY3VtZW50LCBib29sIGVuYWJs
ZWQsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghZG9jdW1lbnQgfHwgIWRvY3VtZW50
LT52aWV3KCkpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9IGRvY3VtZW50LT52aWV3
KCk7CisgICAgZnJhbWVWaWV3LT5zZXRGaXhlZFBvc2l0aW9uRWxlbWVudHNSZWxhdGl2ZVRvRnJh
bWUoZW5hYmxlZCk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDgy
NmQxMDE2YjM0MTc0ZDBjNWEwMmMzMmNiZWQyOGRlYzNlODA5NzguLmJhNGEyZjJkMmEwMmRlMWEx
ZTBiZGNmZDNjZjU0MzEzOGY0ZWQyYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApA
QCAtOTgsNiArOTgsNyBAQCBwdWJsaWM6CiAgICAgUGFzc1JlZlB0cjxSYW5nZT4gcmFuZ2VGcm9t
TG9jYXRpb25BbmRMZW5ndGgoRWxlbWVudCogc2NvcGUsIGludCByYW5nZUxvY2F0aW9uLCBpbnQg
cmFuZ2VMZW5ndGgsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB1bnNpZ25lZCBsb2NhdGlvbkZyb21S
YW5nZShFbGVtZW50KiBzY29wZSwgY29uc3QgUmFuZ2UqLCBFeGNlcHRpb25Db2RlJik7CiAgICAg
dW5zaWduZWQgbGVuZ3RoRnJvbVJhbmdlKEVsZW1lbnQqIHNjb3BlLCBjb25zdCBSYW5nZSosIEV4
Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHNldEZpeGVkUG9zaXRpb25FbGVtZW50c1JlbGF0aXZl
VG9GcmFtZShEb2N1bWVudCosIGJvb2wsIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgIHN0YXRpYyBj
b25zdCBjaGFyKiBpbnRlcm5hbHNJZDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRs
CmluZGV4IDUzNmJlNjAwMDMyNGQwMzRlMTAwYzk5Yzk1ZTRmZDdkNzNiZDkyZWQuLmY0ZDA5YmZk
NTVmNDFlZDRiMjFmYjc2YmM1MzdiMGNlODcxZjBhMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5pZGwKQEAgLTcyLDYgKzcyLDggQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIFJh
bmdlIHJhbmdlRnJvbUxvY2F0aW9uQW5kTGVuZ3RoKGluIEVsZW1lbnQgc2NvcGUsIGluIGxvbmcg
cmFuZ2VMb2NhdGlvbiwgaW4gbG9uZyByYW5nZUxlbmd0aCkgcmFpc2VzIChET01FeGNlcHRpb24p
OwogICAgICAgICB1bnNpZ25lZCBsb25nIGxvY2F0aW9uRnJvbVJhbmdlKGluIEVsZW1lbnQgc2Nv
cGUsIGluIFJhbmdlIHJhbmdlKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHVuc2ln
bmVkIGxvbmcgbGVuZ3RoRnJvbVJhbmdlKGluIEVsZW1lbnQgc2NvcGUsIGluIFJhbmdlIHJhbmdl
KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisKKyAgICAgICAgdm9pZCBzZXRGaXhlZFBvc2l0aW9u
RWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIGJvb2xlYW4g
ZW5hYmxlZCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktp
dDIuZGVmCmluZGV4IDE3NjkzMDU2NDg5YmJhZTY1NzUwN2I5ZDUxYTExYTU2Njc2YmUxMjEuLjRl
NWI4YzM5NzI3MTY5MGZjNDllNWNlOTkzZWI2YmYyYjUzZmJhODggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0
Mi5kZWYKQEAgLTE2OCw2ICsxNjgsNyBAQCBFWFBPUlRTCiAgICAgICAgID9yYW5nZUZyb21Mb2Nh
dGlvbkFuZExlbmd0aEBUZXh0SXRlcmF0b3JAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlJh
bmdlQFdlYkNvcmVAQEBXVEZAQFBBVkVsZW1lbnRAMkBISF9OQFoKICAgICAgICAgP3JlbW92ZVNo
YWRvd1Jvb3RARWxlbWVudEBXZWJDb3JlQEBRQUVYWFoKICAgICAgICAgP3Njcm9sbEVsZW1lbnRU
b1JlY3RARnJhbWVWaWV3QFdlYkNvcmVAQFFBRVhQQVZFbGVtZW50QDJAQUJWSW50UmVjdEAyQEBa
CisgICAgICAgID9zZXRGaXhlZFBvc2l0aW9uRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWVASW50ZXJu
YWxzQFdlYkNvcmVAQFFBRVhQQVZEb2N1bWVudEAyQF9OQUFIQFo6d3FhCiAgICAgICAgID9zZXRE
T01FeGNlcHRpb25AV2ViQ29yZUBAWUFYUEFWRXhlY1N0YXRlQEpTQ0BASEBaCiAgICAgICAgID9z
ZXRSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0c0Zyb21JbnRlcm5hbHNASW5zcGVjdG9yQ29udHJvbGxl
ckBXZWJDb3JlQEBRQUVYSEhAWgogICAgICAgICA/c2V0U2Nyb2xsYmFyc1N1cHByZXNzZWRAU2Ny
b2xsVmlld0BXZWJDb3JlQEBRQUVYX04wQFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dp
bi9XZWJLaXQyQ0ZMaXRlLmRlZiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRl
ZgppbmRleCBlYzMxZDhkYzE1YzBlZGM3ZmU3NWJjYWU1NDEwY2IwZTE2ZmE0YThjLi4zOGYxNDQ1
ZDk5ZWJmOWM1MTdiZGNhY2I5YzMwMmQ3NWMwZTkzOGI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKKysrIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktp
dDJDRkxpdGUuZGVmCkBAIC0xNTksNiArMTU5LDcgQEAgRVhQT1JUUwogICAgICAgICA/cmFuZ2VG
cm9tTG9jYXRpb25BbmRMZW5ndGhAVGV4dEl0ZXJhdG9yQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVm
UHRyQFZSYW5nZUBXZWJDb3JlQEBAV1RGQEBQQVZFbGVtZW50QDJASEhfTkBaCiAgICAgICAgID9y
ZW1vdmVTaGFkb3dSb290QEVsZW1lbnRAV2ViQ29yZUBAUUFFWFhaCiAgICAgICAgID9zY3JvbGxF
bGVtZW50VG9SZWN0QEZyYW1lVmlld0BXZWJDb3JlQEBRQUVYUEFWRWxlbWVudEAyQEFCVkludFJl
Y3RAMkBAWgorICAgICAgICA/c2V0Rml4ZWRQb3NpdGlvbkVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1l
QEludGVybmFsc0BXZWJDb3JlQEBRQUVYUEFWRG9jdW1lbnRAMkBfTkFBSEBaCiAgICAgICAgID9z
ZXRET01FeGNlcHRpb25AV2ViQ29yZUBAWUFYUEFWRXhlY1N0YXRlQEpTQ0BASEBaCiAgICAgICAg
ID9zZXRSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0c0Zyb21JbnRlcm5hbHNASW5zcGVjdG9yQ29udHJv
bGxlckBXZWJDb3JlQEBRQUVYSEhAWgogICAgICAgICA/c2V0U2Nyb2xsYmFyc1N1cHByZXNzZWRA
U2Nyb2xsVmlld0BXZWJDb3JlQEBRQUVYX04wQFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9v
bHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4
IGEzMTEzOTYxMjIxNGI4ZTUwMjEzMDQzNTdjMGU3Y2Y0MGE5MmM5N2UuLjhlM2VjMWVmYWE2ZWU5
MTcxOTg0ZmIzYWVmMTcyNjBjNDQ2NGVjYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMv
c3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgpAQCAt
ODAsNiArODAsNyBAQCBfWk43V2ViQ29yZTE0U2Nyb2xsYWJsZUFyZWEyOHNldFNjcm9sbE9mZnNl
dEZyb21JbnRlcm5hbHNFUktOU184SW50UG9pbnRFOwogX1pON1dlYkNvcmUxMFNjcm9sbFZpZXcy
M3NldFNjcm9sbGJhcnNTdXBwcmVzc2VkRWJiOwogX1pON1dlYkNvcmU5RnJhbWVWaWV3MTdwYWlu
dENvbnRyb2xUaW50c0V2OwogX1pON1dlYkNvcmU5RnJhbWVWaWV3MTlzY3JvbGxFbGVtZW50VG9S
ZWN0RVBOU183RWxlbWVudEVSS05TXzdJbnRSZWN0RTsKK19fWk43V2ViQ29yZTlGcmFtZVZpZXcz
OXNldEZpeGVkUG9zaXRpb25FbGVtZW50c1JlbGF0aXZlVG9GcmFtZUViOwogbG9jYWw6CiBfWio7
CiBjdGkqOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDExZjgyN2QyM2FkMDAyM2VjZDU3NmEzMjkzYzUxMjc2MjdkZmUyOTIu
LmFjNzEyNTcwNjIwOTI3YTc1NzFkMjc5NTk5M2VlOGY0YjE0MmY2MDIgMTAwNzU1Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMCBAQAorMjAxMS0xMC0zMSAgRmFkeSBTYW11ZWwgIDxmc2FtdWVsQGNocm9taXVtLm9yZz4K
KworICAgICAgICBXaGVuIHBhZ2Ugc2NhbGluZyBpcyBpbiB1c2UgcG9zaXRpb246Zml4ZWQgaGFz
IGluY29ycmVjdCByZXN1bHRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02ODYxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogZmFzdC9yZXBhaW50L2ZpeGVkLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQucG5n
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWludC9maXhlZC1pbi1wYWdlLXNj
YWxlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWludC9maXhlZC1yaWdodC1ib3R0
b20taW4tcGFnZS1zY2FsZS1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVw
YWludC9maXhlZC1yaWdodC1ib3R0b20taW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvcmVwYWludC9maXhlZC1yaWdodC1ib3R0b20taW4tcGFnZS1zY2Fs
ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFn
ZS1zY2FsZS1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWludC9maXhl
ZC1yaWdodC1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUuaHRtbDogQWRkZWQuCisKIDIwMTEt
MTAtMzAgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3Zl
IGNyYXNoIGV4cGVjdGF0aW9ucyBmcm9tIHRlc3RzIHRoYXQgaGF2ZSBub3QgYmVlbiBjcmFzaGlu
ZyBvbiBDaHJvbWl1bS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhl
ZC1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9m
aXhlZC1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMjM1Mzk5NTM3OWQ3
NmE5NTU2OWIyMDgwMTI1ZmJjNGFlZjJhYWQ0CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAyODY5
CnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEweX55VXsrdllWMmE+aTAqWik9aF5obEElQFdzJGxIYG9r
PG19P29UbjAtYwp6aXpFWFIxMmR6PFdLKUNXIzNWQiNXQWo4SEhgejRCQz96JGB4VCg+PGslNTho
eFRsTF9OWDRBREgjWUp6MUBmPnUKekA/QTd2UjIwdzYoeWc7RU97PTFAZEZwIWhLTF5meVY+PFVf
TCZOX01jak9vdDNaeG9ZODNjcVE3I0l2azhLWiRQCnpuaUEtazNwUVJxXk5xIT9xO3tLbCFKXjgx
ZVRFLT57OSs2YUpfKEVyTV81Sn5xayVBKjY2bC1ALXByYyRtWTBGUwp3e29fRjxoN0x8MGhLM21q
TWo0fWxGcSN0Um9EMSZlLVEhem5eQn1WYSpiWmohYm9GeXQ9YWtSezAyU1k5I3tkOFQKCmxpdGVy
YWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9m
aXhlZC1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWlu
dC9maXhlZC1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YjEzNzg5MTc5
MWZlOTY5MjdhZDc4ZTY0YjBhYWQ3YmRlZDA4YmRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEgQEAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLWlu
LXBhZ2Utc2NhbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1pbi1wYWdl
LXNjYWxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDZmYTIzNmYzYjFmNzZlNDk1YzI1MTliMjFhMjM2ZDAx
ZjJkNWYxMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhl
ZC1pbi1wYWdlLXNjYWxlLmh0bWwKQEAgLTAsMCArMSw1NCBAQAorPGh0bWw+Cis8aGVhZD4KKyAg
ICA8c3R5bGU+CisgICAgICAgIDo6LXdlYmtpdC1zY3JvbGxiYXIgeworICAgICAgICAgICAgd2lk
dGg6IDBweDsKKyAgICAgICAgICAgIGhlaWdodDogMHB4OworICAgICAgICB9CisgICAgPC9zdHls
ZT4KKyAgICA8c2NyaXB0PgorICAgICAgd2luZG93LmVuYWJsZVBpeGVsVGVzdGluZyA9IHRydWU7
CisgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxz
LnNldEZpeGVkUG9zaXRpb25FbGVtZW50c1JlbGF0aXZlVG9GcmFtZShkb2N1bWVudCwgdHJ1ZSk7
CisKKyAgICAgIGZ1bmN0aW9uIHNjcm9sbCgpIHsKKyAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8o
MTAwLDEwMCk7CisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHNjYWxlV2l0aEV2ZW50U2VuZGVy
KCkgeworICAgICAgICAgIHZhciBzY2FsZUZhY3RvciA9IDIuMDsKKyAgICAgICAgICB2YXIgc2Nh
bGVPZmZzZXQgPSAwOworICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAg
ICAgICAgICBldmVudFNlbmRlci5zY2FsZVBhZ2VCeShzY2FsZUZhY3Rvciwgc2NhbGVPZmZzZXQs
IHNjYWxlT2Zmc2V0KTsKKyAgICAgICAgICB9CisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHRl
c3QoKSB7CisgICAgICAgICAgc2NhbGVXaXRoRXZlbnRTZW5kZXIoKTsKKyAgICAgICAgICBzY3Jv
bGwoKTsKKyAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IHN0eWxlPSJ3
aWR0aDoyMDAwcHg7IGhlaWdodDoyMDAwcHg7IG1hcmdpbjowcHg7IiBvbmxvYWQ9InRlc3QoKTsi
PgorICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBmaXhlZDsgdG9wOiAtMTAwcHg7IGxlZnQ6IC0x
MDBweDsgei1pbmRleDogMSI+CisgICAgICAgIDxkaXYgc3R5bGU9ImxlZnQ6MDsgdG9wOjA7IHdp
ZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOnll
bGxvdzsiPjwvZGl2PgorICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4OyB0b3A6MDsgd2lk
dGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Z3Jl
ZW47Ij48L2Rpdj4KKworICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjA7IHRvcDoxMDBweDsgd2lk
dGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Z3Jl
ZW47Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsgdG9wOjEwMHB4OyB3
aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpi
bGFjazsiPjwvZGl2PgorICAgIDwvZGl2PgorCisgICAgPGRpdiBzdHlsZT0ibGVmdDowOyB0b3A6
MDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91
bmQ6eWVsbG93OyI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsgdG9wOjA7IHdp
ZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmdy
ZWVuOyI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0ibGVmdDoyMDBweDsgdG9wOjA7IHdpZHRoOjEw
MHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmJsdWU7Ij48
L2Rpdj4KKworICAgIDxkaXYgc3R5bGU9ImxlZnQ6MDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBweDsg
aGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDogZ3JlZW47Ij48L2Rp
dj4KKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4OyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBo
ZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmJsdWU7Ij48L2Rpdj4K
KyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjIwMHB4OyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWln
aHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOnllbGxvdzsiPjwvZGl2Pgor
CisgICAgPGRpdiBzdHlsZT0ibGVmdDowOyB0b3A6MjAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6
MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmJsdWU7Ij48L2Rpdj4KKyAgICA8
ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4OyB0b3A6MjAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAw
cHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOnllbGxvdzsiPjwvZGl2PgorICAgIDxk
aXYgc3R5bGU9ImxlZnQ6MjAwcHg7IHRvcDoyMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBw
eDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Z3JlZW47Ij48L2Rpdj4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdo
dC1ib3R0b20taW4tcGFnZS1zY2FsZS1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9mYXN0L3Jl
cGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQucG5nCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjcyNWY1YWY1MGVlNjI2ZjY0MjY4Y2RiZDk2ZTA1OWI3MmM0MjFhMWIKR0lUIGJpbmFy
eSBwYXRjaApsaXRlcmFsIDI4NTAKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5fnlVeyt2WVYyYT5p
MCpaKT1oXmhsQSVAV3MkbEhgb2s8bX0/b1RuNXUqCno8MEtPXkxyWmd1Qm55aX5McWo3b0wmRnAh
R1hvMmc2aWMmWSVjUXd3dVZOUyZ4VkN0QElFR1pyZDMpbV49SyV1Jgp6PTdUWEZ8OD1jPmIhMkFE
PG9YaDBAX1lfRUwmTGU8d2hSbXAlJFQ/dDZ4MjJfRmVIc0tNZ3c2cUM1K35SKE9mV14KejNyMD5a
eGNgbFQ7ZjlJdlpRJmdnKmhnIV4oTkA0e1Epci1hIThoaUtVaEpGdj5mKFR7VTxMK0hTM2ozXlA2
PHJfCkRFYjdxRQoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1ib3R0b20taW4tcGFn
ZS1zY2FsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGIxMzc4OTE3OTFmZTk2OTI3YWQ3OGU2
NGIwYWFkN2JkZWQwOGJkYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVw
YWludC9maXhlZC1yaWdodC1ib3R0b20taW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSBAQAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmln
aHQtYm90dG9tLWluLXBhZ2Utc2NhbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9m
aXhlZC1yaWdodC1ib3R0b20taW4tcGFnZS1zY2FsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVlZmZhZTE4
MWM3YTU3YjBmMGM3Y2YxNjkwNTQyMjlmMzU1OTQxN2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUuaHRt
bApAQCAtMCwwICsxLDQzIEBACis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAg
Ojotd2Via2l0LXNjcm9sbGJhciB7CisgICAgICAgICAgICB3aWR0aDogMHB4OworICAgICAgICAg
ICAgaGVpZ2h0OiAwcHg7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIDxzY3JpcHQ+Cisg
ICAgICB3aW5kb3cuZW5hYmxlUGl4ZWxUZXN0aW5nID0gdHJ1ZTsKKyAgICAgIGlmICh3aW5kb3cu
aW50ZXJuYWxzKQorICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0Rml4ZWRQb3NpdGlvbkVs
ZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKGRvY3VtZW50LCB0cnVlKTsKKworICAgICAgZnVuY3Rpb24g
c2Nyb2xsKCkgeworICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygxMDAsMTAwKTsKKyAgICAgIH0K
KworICAgICAgZnVuY3Rpb24gc2NhbGVXaXRoRXZlbnRTZW5kZXIoKSB7CisgICAgICAgICAgdmFy
IHNjYWxlRmFjdG9yID0gMi4wOworICAgICAgICAgIHZhciBzY2FsZU9mZnNldCA9IDA7CisgICAg
ICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICAgICAgIGV2ZW50U2VuZGVy
LnNjYWxlUGFnZUJ5KHNjYWxlRmFjdG9yLCBzY2FsZU9mZnNldCwgc2NhbGVPZmZzZXQpOworICAg
ICAgICAgIH0KKyAgICAgIH0KKworICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAgICAgICBk
b2N1bWVudC5ib2R5LnN0eWxlLndpZHRoID0gKGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGggKyAx
MDApICsgInB4IjsKKyAgICAgICAgICBzY2FsZVdpdGhFdmVudFNlbmRlcigpOworICAgICAgICAg
IHNjcm9sbCgpOworICAgICAgfQorICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgc3R5
bGU9ImhlaWdodDogMjAwMHB4OyB3aWR0aDogMjAwMHB4OyBtYXJnaW46MHB4OyIgb25sb2FkPSJ0
ZXN0KCk7Ij4KKyAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogZml4ZWQ7IGJvdHRvbTogMTAwcHg7
IHJpZ2h0OiAxMDBweDsgei1pbmRleDogMSI+CisgICAgICAgIDxkaXYgc3R5bGU9ImxlZnQ6MDsg
dG9wOjA7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNr
Z3JvdW5kOmJsYWNrOyI+PC9kaXY+CisgICAgICAgIDxkaXYgc3R5bGU9ImxlZnQ6MTAwcHg7IHRv
cDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dy
b3VuZDpncmVlbjsiPjwvZGl2PgorCisgICAgICAgIDxkaXYgc3R5bGU9ImxlZnQ6MHB4OyB0b3A6
MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNr
Z3JvdW5kOnllbGxvdzsiPjwvZGl2PgorICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4OyB0
b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBi
YWNrZ3JvdW5kOmJsdWU7Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1pbi1wYWdlLXNj
YWxlLWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1p
bi1wYWdlLXNjYWxlLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMWUzZTBlZDBjMTE5NDg5MGRk
M2QxZGZlOTQ1ZmEzMDMxNjEzNGIwCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAyODcxCnpjbWVB
U0BOPyhvbEh5YHVWQnEhaWEweX55VXsrdllWMmE+aTAqWik9aF5obEElQFdzJGxIYG9rPG19P29U
IXpGSAp6bFRAUSpMekFTR1dSbiFMbCUmKztSNnwyVUJlU0lCbHc/YTJeVy0xWG1LWlpJYUdtc1lh
U1ctTF5ZK0ZAVU1FSyQKelIhNSh3MFhzN3Z2VE0oXkkyLWJUaUN6MnJ5TH1BKjQlUiZYIWprdkoo
elpjKnVSbEtuITthbnFPYml7SUl0JmRuCnpNajR9bEZxI3RSbTx3KmFkSDBmK3E1c1VCeEM2YXF2
U1BPS3FxJVVqQz5rdz4yUHpqcHZMaSRJJEFoQ2E7JUlBTgpodmBJOGp4IV5DdS12KXR8KlBuZyYw
PTklMUpZREA8KTtUM0swUlRRek16I098CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFn
ZS1zY2FsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGIxMzc4OTE3OTFmZTk2OTI3YWQ3OGU2
NGIwYWFkN2JkZWQwOGJkYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVw
YWludC9maXhlZC1yaWdodC1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBA
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1pbi1w
YWdlLXNjYWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4t
cGFnZS1zY2FsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhNzZkZGE4OTliNzU5ZDA1MWY3Y2UwY2ZjNDg4
MGVjYmI0YmFmYmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQv
Zml4ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzxodG1sPgor
PGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKKyAgICAg
ICAgICAgIHdpZHRoOiAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDBweDsKKyAgICAgICAgfQor
ICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdD4KKyAgICAgIHdpbmRvdy5lbmFibGVQaXhlbFRlc3Rp
bmcgPSB0cnVlOworICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgd2luZG93
LmludGVybmFscy5zZXRGaXhlZFBvc2l0aW9uRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoZG9jdW1l
bnQsIHRydWUpOworCisgICAgICBmdW5jdGlvbiBzY3JvbGwoKSB7CisgICAgICAgICAgd2luZG93
LnNjcm9sbFRvKDEwMCwxMDApOworICAgICAgfQorCisgICAgICBmdW5jdGlvbiBzY2FsZVdpdGhF
dmVudFNlbmRlcigpIHsKKyAgICAgICAgICB2YXIgc2NhbGVGYWN0b3IgPSAyLjA7CisgICAgICAg
ICAgdmFyIHNjYWxlT2Zmc2V0ID0gMDsKKyAgICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVy
KSB7CisgICAgICAgICAgICAgZXZlbnRTZW5kZXIuc2NhbGVQYWdlQnkoc2NhbGVGYWN0b3IsIHNj
YWxlT2Zmc2V0LCBzY2FsZU9mZnNldCk7CisgICAgICAgICAgfQorICAgICAgfQorCisgICAgICBm
dW5jdGlvbiB0ZXN0KCkgeworICAgICAgICAgIHNjYWxlV2l0aEV2ZW50U2VuZGVyKCk7CisgICAg
ICAgICAgc2Nyb2xsKCk7CisgICAgICB9CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9
Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eSBzdHlsZT0iaGVpZ2h0OjIwMDBweDsgd2lkdGg6IDIwMDBweDsgbWFyZ2luOjBweDsiIG9ubG9h
ZD0idGVzdCgpOyI+CisgICAgPGRpdiBzdHlsZT0icG9zaXRpb246IGZpeGVkOyB0b3A6IC0xMDBw
eDsgcmlnaHQ6IDEwMHB4OyB6LWluZGV4OiAxIj4KKyAgICAgICAgPGRpdiBzdHlsZT0ibGVmdDow
OyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJh
Y2tncm91bmQ6eWVsbG93OyI+PC9kaXY+CisgICAgICAgIDxkaXYgc3R5bGU9ImxlZnQ6MTAwcHg7
IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFj
a2dyb3VuZDpncmVlbjsiPjwvZGl2PgorCisgICAgICAgIDxkaXYgc3R5bGU9ImxlZnQ6MDsgdG9w
OjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFj
a2dyb3VuZDpibGFjazsiPjwvZGl2PgorICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4OyB0
b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBi
YWNrZ3JvdW5kOmJsdWU7Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJwb3Np
dGlvbjogYWJzb2x1dGU7IHdpZHRoOjMwMHB4OyBoZWlnaHQ6MzAwcHg7IHRvcDogMHB4OyBsZWZ0
OiAzMDBweCIgaWQ9ImdyaWQiPgorICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0
aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBiYWNrZ3JvdW5kOnllbGxvdzsiPjwvZGl2PgorICAgICAg
ICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBiYWNr
Z3JvdW5kOmdyZWVuOyI+PC9kaXY+CisgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdp
ZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IGJhY2tncm91bmQ6Ymx1ZTsiPjwvZGl2PgorCisgICAg
ICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IGJh
Y2tncm91bmQ6IGdyZWVuOyI+PC9kaXY+CisgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7
IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IGJhY2tncm91bmQ6Ymx1ZTsiPjwvZGl2PgorICAg
ICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBi
YWNrZ3JvdW5kOnllbGxvdzsiPjwvZGl2PgorCisgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0Omxl
ZnQ7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IGJhY2tncm91bmQ6Ymx1ZTsiPjwvZGl2Pgor
ICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4
OyBiYWNrZ3JvdW5kOnllbGxvdzsiPjwvZGl2PgorICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDps
ZWZ0OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBiYWNrZ3JvdW5kOmdyZWVuOyI+PC9kaXY+
CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggM2I0M2IzZDcyOTNk
ZjMxNzRjZjUzYzBmYWU1MGIzYmFhMTY3ZmFkNC4uZjI3MjgyODAyMWFiMDZiMjdkMGYxMmQ3MWIw
N2M5ZTFlNmZhNjM5YSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEyIEBACisyMDExLTEwLTMxICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFdoZW4gcGFnZSBzY2FsaW5nIGlzIGluIHVzZSBwb3NpdGlvbjpmaXhl
ZCBoYXMgaW5jb3JyZWN0IHJlc3VsdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTY4NjE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBTb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyOgorCiAyMDEx
LTEwLTI4ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVuYW1l
IEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbi5pbiB0byBET01FeGNlcHRpb25zLmluCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113065</attachid>
            <date>2011-10-31 10:04:37 -0700</date>
            <delta_ts>2011-10-31 13:09:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68617-20111031130435.patch</filename>
            <type>text/plain</type>
            <size>21888</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg4MjgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA1NDJkMmIzZTNkNDVjNGFj
ZmExNDMxNDg0MmYyNGExNjk0YmJhNmQ2Li40YzMzZmE4ODZmNTY2OTQ5NTZmMjhhNzdjZmE5M2Qy
MDdiMTA1ZTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTEtMTAtMzEgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2hlbiBwYWdlIHNjYWxp
bmcgaXMgaW4gdXNlIHBvc2l0aW9uOmZpeGVkIGhhcyBpbmNvcnJlY3QgcmVzdWx0cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MTcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGhlIG9wdGlvbiBm
b3IgcG9zaXRpb246Zml4ZWQgZWxlbWVudHMgdG8gYmUgZml4ZWQgdG9vIHRoZSBmcmFtZQorICAg
ICAgICBpbnN0ZWFkIG9mIHRoZSBsYXlvdXQgcmVjdGFuZ2xlIG9mIHRoZSBkb2N1bWVudC4KKwor
ICAgICAgICBUZXN0czogZmFzdC9yZXBhaW50L2ZpeGVkLWluLXBhZ2Utc2NhbGUuaHRtbAorICAg
ICAgICAgICAgICAgZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxl
Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvcmVwYWludC9maXhlZC1yaWdodC1pbi1wYWdlLXNj
YWxlLmh0bWwKKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIHBhZ2UvRnJh
bWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cmVzZXQpOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzY3JvbGxYRm9yRml4ZWRQb3NpdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OnNjcm9sbFlGb3JGaXhlZFBvc2l0aW9uKToKKyAgICAgICAg
SWYgcG9zaXRpb246Zml4ZWQgZWxlbWVudHMgYXJlIHJlbGF0aXZlIHRvIHRoZSBmcmFtZSwgZGlz
cmVnYXJkIHRoZQorICAgICAgICBkcmFnIGZhY3Rvci4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
Vmlldzo6c2V0TGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZSk6CisgICAgICAgICog
cGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bGF5b3V0Rml4
ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbnRhaW5pbmdCbG9ja0xvZ2lj
YWxXaWR0aEZvclBvc2l0aW9uZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpjb250
YWluaW5nQmxvY2tMb2dpY2FsSGVpZ2h0Rm9yUG9zaXRpb25lZCk6CisgICAgICAgIENvbnRhaW5l
ciBmb3IgcG9zaXRpb246Zml4ZWQgaXMgdGhlIGZyYW1lIGluc3RlYWQgb2YgdGhlIGxheW91dAor
ICAgICAgICByZWN0IG9mIHRoZSBkb2N1bWVudC4gVGhpcyBhbGxvd3MgcHJvcGVyIHBvc2l0aW9u
aW5nIG9mIHRoZXNlIGVsZW1lbnRzCisgICAgICAgIHRvIHRoZSByaWdodCBhbmQgYm90dG9tIGlm
IGZpeGVkIGVsZW1lbnRzIGFyZSByZWxhdGl2ZSB0byB0aGUgZnJhbWUuCisgICAgICAgICogdGVz
dGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXRMYXlv
dXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVy
bmFscy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKyAgICAgICAgQWxsb3cg
ZW5hYmxpbmcgb3IgZGlzYWJsaW5nIHRoZSBuZXcgYmVoYXZpb3IgaW4gbGF5b3V0IHRlc3RzLgor
CiAyMDExLTEwLTI5ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbR1RLXSBTd2l0Y2ggdG8gYSBiYWNraW5nIHN0b3JlIGFwcHJvYWNoIGZvciBwYWlu
dGluZyBXZWJLaXRXZWJWaWV3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDA1ZTM0NTJmOTFmN2Rl
NDQyYWQ5ZTJiOTA5MDcxZTViZmYyYmQ3ODQuLmYwNTQxYjk5ZTEyZWEzMjY4NjVjZjdlMjYxNTU2
MTUwNjJmMWMxZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xMDExLDYgKzEwMTEsNyBAQCBf
X1pON1dlYkNvcmU5RnJhbWVWaWV3MTdzZXRTY3JvbGxQb3NpdGlvbkVSS05TXzhJbnRQb2ludEUK
IF9fWk43V2ViQ29yZTlGcmFtZVZpZXcxN3NldFRyYWNrc1JlcGFpbnRzRWIKIF9fWk43V2ViQ29y
ZTlGcmFtZVZpZXcxOHVwZGF0ZUNvbnRyb2xUaW50c0V2CiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3
MTlzY3JvbGxFbGVtZW50VG9SZWN0RVBOU183RWxlbWVudEVSS05TXzdJbnRSZWN0RQorX19aTjdX
ZWJDb3JlOUZyYW1lVmlldzM5c2V0Rml4ZWRQb3NpdGlvbkVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1l
RWIKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXcyMGVudGVyQ29tcG9zaXRpbmdNb2RlRXYKIF9fWk43
V2ViQ29yZTlGcmFtZVZpZXcyMWZsdXNoRGVmZXJyZWRSZXBhaW50c0V2CiBfX1pON1dlYkNvcmU5
RnJhbWVWaWV3MjJzZXRCYXNlQmFja2dyb3VuZENvbG9yRVJLTlNfNUNvbG9yRQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCmluZGV4IGFlN2U3YzcyYjU5MjU1YmVhNTY4NDI3MmVjNDAzNjgxZDY2
MDU1ZTMuLmUzMmExMmI2OTkwMmM5ZjBkNTA5ZjIyMjBkZTczY2E4MTM3MmY2OGEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTIxMyw2ICsyMTMsNyBAQCB2b2lkIEZyYW1lVmlldzo6
cmVzZXQoKQogICAgIG1fY2Fubm90QmxpdFRvV2luZG93ID0gZmFsc2U7CiAgICAgbV9pc092ZXJs
YXBwZWQgPSBmYWxzZTsKICAgICBtX2NvbnRlbnRJc09wYXF1ZSA9IGZhbHNlOworICAgIG1fbGF5
b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZSA9IGZhbHNlOwogICAgIG1fYm9yZGVyWCA9
IDMwOwogICAgIG1fYm9yZGVyWSA9IDMwOwogICAgIG1fbGF5b3V0VGltZXIuc3RvcCgpOwpAQCAt
MTM4Nyw3ICsxMzg4LDcgQEAgTGF5b3V0VW5pdCBGcmFtZVZpZXc6OnNjcm9sbFhGb3JGaXhlZFBv
c2l0aW9uKCkgY29uc3QKICAgICAvLyBXaGVuIHRoZSBwYWdlIGlzIHNjYWxlZCwgdGhlIHNjYWxl
ZCAidmlld3BvcnQiIHdpdGggcmVzcGVjdCB0byB3aGljaCBmaXhlZCBvYmplY3QgYXJlIHBvc2l0
aW9uZWQKICAgICAvLyBkb2Vzbid0IG1vdmUgYXMgZmFzdCBhcyB0aGUgY29udGVudCB2aWV3LCBz
byB0aGF0IHdoZW4gdGhlIGNvbnRlbnQgaXMgc2Nyb2xsZWQgYWxsIHRoZSB3YXkgdG8gdGhlCiAg
ICAgLy8gZW5kLCB0aGUgYm90dG9tIG9mIHRoZSBzY2FsZWQgInZpZXdwb3J0IiB0b3VjaGVzIHRo
ZSBib3R0b20gb2YgdGhlIHJlYWwgdmlld3BvcnQuCi0gICAgZmxvYXQgZHJhZ0ZhY3RvciA9IChj
b250ZW50c1dpZHRoKCkgLSB2aXNpYmxlQ29udGVudFdpZHRoICogZnJhbWVTY2FsZUZhY3Rvcikg
LyBtYXhYOworICAgIGZsb2F0IGRyYWdGYWN0b3IgPSBsYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRp
dmVUb0ZyYW1lKCkgPyAxIDogKGNvbnRlbnRzV2lkdGgoKSAtIHZpc2libGVDb250ZW50V2lkdGgg
KiBmcmFtZVNjYWxlRmFjdG9yKSAvIG1heFg7CiAKICAgICByZXR1cm4geCAqIGRyYWdGYWN0b3Ig
LyBmcmFtZVNjYWxlRmFjdG9yOwogfQpAQCAtMTM5NSw4ICsxMzk2LDggQEAgTGF5b3V0VW5pdCBG
cmFtZVZpZXc6OnNjcm9sbFhGb3JGaXhlZFBvc2l0aW9uKCkgY29uc3QKIExheW91dFVuaXQgRnJh
bWVWaWV3OjpzY3JvbGxZRm9yRml4ZWRQb3NpdGlvbigpIGNvbnN0CiB7CiAgICAgTGF5b3V0VW5p
dCB2aXNpYmxlQ29udGVudEhlaWdodCA9IHZpc2libGVDb250ZW50UmVjdCgpLmhlaWdodCgpOwot
CiAgICAgTGF5b3V0VW5pdCBtYXhZID0gY29udGVudHNIZWlnaHQoKSAtIHZpc2libGVDb250ZW50
SGVpZ2h0OworCiAgICAgaWYgKG1heFkgPT0gMCkKICAgICAgICAgcmV0dXJuIDA7CiAKQEAgLTE0
MTgsOCArMTQxOSw3IEBAIExheW91dFVuaXQgRnJhbWVWaWV3OjpzY3JvbGxZRm9yRml4ZWRQb3Np
dGlvbigpIGNvbnN0CiAgICAgICAgIHJldHVybiB5OwogCiAgICAgZmxvYXQgZnJhbWVTY2FsZUZh
Y3RvciA9IG1fZnJhbWUtPmZyYW1lU2NhbGVGYWN0b3IoKTsKLSAgICBmbG9hdCBkcmFnRmFjdG9y
ID0gKGNvbnRlbnRzSGVpZ2h0KCkgLSB2aXNpYmxlQ29udGVudEhlaWdodCAqIGZyYW1lU2NhbGVG
YWN0b3IpIC8gbWF4WTsKLQorICAgIGZsb2F0IGRyYWdGYWN0b3IgPSBsYXlvdXRGaXhlZEVsZW1l
bnRzUmVsYXRpdmVUb0ZyYW1lKCkgPyAxIDogKGNvbnRlbnRzSGVpZ2h0KCkgLSB2aXNpYmxlQ29u
dGVudEhlaWdodCAqIGZyYW1lU2NhbGVGYWN0b3IpIC8gbWF4WTsKICAgICByZXR1cm4geSAqIGRy
YWdGYWN0b3IgLyBmcmFtZVNjYWxlRmFjdG9yOwogfQogCkBAIC0xNDI4LDYgKzE0MjgsMTkgQEAg
TGF5b3V0U2l6ZSBGcmFtZVZpZXc6OnNjcm9sbE9mZnNldEZvckZpeGVkUG9zaXRpb24oKSBjb25z
dAogICAgIHJldHVybiBMYXlvdXRTaXplKHNjcm9sbFhGb3JGaXhlZFBvc2l0aW9uKCksIHNjcm9s
bFlGb3JGaXhlZFBvc2l0aW9uKCkpOwogfQogCit2b2lkIEZyYW1lVmlldzo6c2V0TGF5b3V0Rml4
ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZShib29sIGxheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2
ZVRvRnJhbWUpCit7CisgICAgaWYgKGxheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUg
PT0gbV9sYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKQorICAgICAgICByZXR1cm47
CisKKyAgICBtX2xheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUgPSBsYXlvdXRGaXhl
ZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lOworCisgICAgaWYgKCFoYXNGaXhlZE9iamVjdHMoKSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgc2V0TmVlZHNMYXlvdXQoKTsKK30KKwogTGF5b3V0UG9p
bnQgRnJhbWVWaWV3OjpjdXJyZW50TW91c2VQb3NpdGlvbigpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IG1fZnJhbWUgPyBtX2ZyYW1lLT5ldmVudEhhbmRsZXIoKS0+Y3VycmVudE1vdXNlUG9zaXRpb24o
KSA6IEludFBvaW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmll
dy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCBiZjdkM2ZiZDNjM2Vm
YjM5YjBjM2NmMWQ3YzYzNTc5MjRjMWRlM2NhLi5hMTVjMzhiMzM2OGJhNTY3NjcyNWYyMjRiZWY4
ZTg2OWZlOGE1ODZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTE5NSw2ICsxOTUsOSBA
QCBwdWJsaWM6CiAgICAgTGF5b3V0VW5pdCBzY3JvbGxZRm9yRml4ZWRQb3NpdGlvbigpIGNvbnN0
OwogICAgIExheW91dFNpemUgc2Nyb2xsT2Zmc2V0Rm9yRml4ZWRQb3NpdGlvbigpIGNvbnN0Owog
CisgICAgYm9vbCBsYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKCkgY29uc3QgeyBy
ZXR1cm4gbV9sYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lOyB9CisgICAgdm9pZCBz
ZXRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKGJvb2wpOworCiAgICAgdm9pZCBi
ZWdpbkRlZmVycmVkUmVwYWludHMoKTsKICAgICB2b2lkIGVuZERlZmVycmVkUmVwYWludHMoKTsK
ICAgICB2b2lkIGNoZWNrU3RvcERlbGF5aW5nRGVmZXJyZWRSZXBhaW50cygpOwpAQCAtNDA5LDcg
KzQxMiw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2NvbnRlbnRJc09wYXF1ZTsKICAgICB1bnNp
Z25lZCBtX3Nsb3dSZXBhaW50T2JqZWN0Q291bnQ7CiAgICAgdW5zaWduZWQgbV9maXhlZE9iamVj
dENvdW50OwotCisgICAgYm9vbCBtX2xheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWU7
CiAgICAgaW50IG1fYm9yZGVyWDsKICAgICBpbnQgbV9ib3JkZXJZOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IDY5ZDEyNGY3NGU4NjdkMWRmMzQwMDk5YjU3ODg5
MTU2MzE3ZDg4M2IuLjE0NjI3YjcyZTA0ZWVhZDMzMGNkOWY2Yzk1NWU1ZTY0NWNkOGUzZGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC0yMzI4LDYgKzIzMjgsMTIg
QEAgdm9pZCBSZW5kZXJCb3g6OmNvbXB1dGVCbG9ja0RpcmVjdGlvbk1hcmdpbnMoUmVuZGVyQmxv
Y2sqIGNvbnRhaW5pbmdCbG9jaykKIGludCBSZW5kZXJCb3g6OmNvbnRhaW5pbmdCbG9ja0xvZ2lj
YWxXaWR0aEZvclBvc2l0aW9uZWQoY29uc3QgUmVuZGVyQm94TW9kZWxPYmplY3QqIGNvbnRhaW5p
bmdCbG9jaywgUmVuZGVyUmVnaW9uKiByZWdpb24sCiAgICAgTGF5b3V0VW5pdCBvZmZzZXRGcm9t
TG9naWNhbFRvcE9mRmlyc3RQYWdlLCBib29sIGNoZWNrRm9yUGVycGVuZGljdWxhcldyaXRpbmdN
b2RlKSBjb25zdAogeworICAgIC8vIENvbnRhaW5lciBmb3IgcG9zaXRpb246Zml4ZWQgaXMgdGhl
IGZyYW1lLgorICAgIEZyYW1lKiBmcmFtZSA9IHZpZXcoKSA/IHZpZXcoKS0+ZnJhbWUoKTogMDsK
KyAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9IHZpZXcoKSA/IHZpZXcoKS0+ZnJhbWVWaWV3KCkg
OiAwOworICAgIGlmIChzdHlsZSgpICYmIHN0eWxlKCktPnBvc2l0aW9uKCkgPT0gRml4ZWRQb3Np
dGlvbiAmJiBmcmFtZSAmJiBmcmFtZVZpZXcgJiYgZnJhbWVWaWV3LT5sYXlvdXRGaXhlZEVsZW1l
bnRzUmVsYXRpdmVUb0ZyYW1lKCkpCisgICAgICAgIHJldHVybiAodmlldygpLT5pc0hvcml6b250
YWxXcml0aW5nTW9kZSgpID8gZnJhbWVWaWV3LT52aXNpYmxlV2lkdGgoKSA6IGZyYW1lVmlldy0+
dmlzaWJsZUhlaWdodCgpKSAvIGZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCk7CisKICAgICBpZiAo
Y2hlY2tGb3JQZXJwZW5kaWN1bGFyV3JpdGluZ01vZGUgJiYgY29udGFpbmluZ0Jsb2NrLT5pc0hv
cml6b250YWxXcml0aW5nTW9kZSgpICE9IGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCiAgICAg
ICAgIHJldHVybiBjb250YWluaW5nQmxvY2tMb2dpY2FsSGVpZ2h0Rm9yUG9zaXRpb25lZChjb250
YWluaW5nQmxvY2ssIGZhbHNlKTsKIApAQCAtMjM4MCw2ICsyMzg2LDExIEBAIGludCBSZW5kZXJC
b3g6OmNvbnRhaW5pbmdCbG9ja0xvZ2ljYWxXaWR0aEZvclBvc2l0aW9uZWQoY29uc3QgUmVuZGVy
Qm94TW9kZWxPYmplCiAKIGludCBSZW5kZXJCb3g6OmNvbnRhaW5pbmdCbG9ja0xvZ2ljYWxIZWln
aHRGb3JQb3NpdGlvbmVkKGNvbnN0IFJlbmRlckJveE1vZGVsT2JqZWN0KiBjb250YWluaW5nQmxv
Y2ssIGJvb2wgY2hlY2tGb3JQZXJwZW5kaWN1bGFyV3JpdGluZ01vZGUpIGNvbnN0CiB7CisgICAg
RnJhbWUqIGZyYW1lID0gdmlldygpID8gdmlldygpLT5mcmFtZSgpOiAwOworICAgIEZyYW1lVmll
dyogZnJhbWVWaWV3ID0gdmlldygpID8gdmlldygpLT5mcmFtZVZpZXcoKSA6IDA7CisgICAgaWYg
KHN0eWxlKCkgJiYgc3R5bGUoKS0+cG9zaXRpb24oKSA9PSBGaXhlZFBvc2l0aW9uICYmIGZyYW1l
ICYmIGZyYW1lVmlldy0+bGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZSgpKQorICAg
ICAgICByZXR1cm4gKHZpZXcoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGZyYW1lVmll
dy0+dmlzaWJsZUhlaWdodCgpIDogZnJhbWVWaWV3LT52aXNpYmxlV2lkdGgoKSkgLyBmcmFtZS0+
ZnJhbWVTY2FsZUZhY3RvcigpOworCiAgICAgaWYgKGNoZWNrRm9yUGVycGVuZGljdWxhcldyaXRp
bmdNb2RlICYmIGNvbnRhaW5pbmdCbG9jay0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSAhPSBp
c0hvcml6b250YWxXcml0aW5nTW9kZSgpKQogICAgICAgICByZXR1cm4gY29udGFpbmluZ0Jsb2Nr
TG9naWNhbFdpZHRoRm9yUG9zaXRpb25lZChjb250YWluaW5nQmxvY2ssIDAsIDAsIGZhbHNlKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDQ3OWViNTQwNzYwM2Y3ODVi
N2JkYjU5MTAwZjhiMDA3ZjhhMTNmYjMuLjg4YzFlZjlkYTAyYzdiMGQ5YmMwMTNhNDJjMWYwZGNj
OGU0ZDQ1ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTQ4NCw0ICs0
ODQsMTUgQEAgdW5zaWduZWQgSW50ZXJuYWxzOjpsZW5ndGhGcm9tUmFuZ2UoRWxlbWVudCogc2Nv
cGUsIGNvbnN0IFJhbmdlKiByYW5nZSwgRXhjZXB0aW8KICAgICByZXR1cm4gbGVuZ3RoOwogfQog
Cit2b2lkIEludGVybmFsczo6c2V0TGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZShE
b2N1bWVudCogZG9jdW1lbnQsIGJvb2wgZW5hYmxlZCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7Cisg
ICAgaWYgKCFkb2N1bWVudCB8fCAhZG9jdW1lbnQtPnZpZXcoKSkgeworICAgICAgICBlYyA9IElO
VkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEZyYW1lVmll
dyogZnJhbWVWaWV3ID0gZG9jdW1lbnQtPnZpZXcoKTsKKyAgICBmcmFtZVZpZXctPnNldExheW91
dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoZW5hYmxlZCk7Cit9CisKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDgyNmQxMDE2YjM0MTc0ZDBjNWEwMmMzMmNiZWQyOGRl
YzNlODA5NzguLjJjODI4ODg5YTY5NmM2OTMxNjljNzVlMjdjMDk5NDU2Yjc5MTRiOWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtOTgsNiArOTgsNyBAQCBwdWJsaWM6CiAgICAg
UGFzc1JlZlB0cjxSYW5nZT4gcmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGgoRWxlbWVudCogc2Nv
cGUsIGludCByYW5nZUxvY2F0aW9uLCBpbnQgcmFuZ2VMZW5ndGgsIEV4Y2VwdGlvbkNvZGUmKTsK
ICAgICB1bnNpZ25lZCBsb2NhdGlvbkZyb21SYW5nZShFbGVtZW50KiBzY29wZSwgY29uc3QgUmFu
Z2UqLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdW5zaWduZWQgbGVuZ3RoRnJvbVJhbmdlKEVsZW1l
bnQqIHNjb3BlLCBjb25zdCBSYW5nZSosIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHNldExh
eW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoRG9jdW1lbnQqLCBib29sLCBFeGNlcHRp
b25Db2RlJik7CiAKICAgICBzdGF0aWMgY29uc3QgY2hhciogaW50ZXJuYWxzSWQ7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCA1MzZiZTYwMDAzMjRkMDM0ZTEwMGM5OWM5
NWU0ZmQ3ZDczYmQ5MmVkLi43YzA2MTFkYzg3Y2NhYzM3MjNiZjdhMmZiYWVkYWM3ODViMzhiOTM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC03Miw2ICs3Miw4IEBAIG1v
ZHVsZSB3aW5kb3cgewogICAgICAgICBSYW5nZSByYW5nZUZyb21Mb2NhdGlvbkFuZExlbmd0aChp
biBFbGVtZW50IHNjb3BlLCBpbiBsb25nIHJhbmdlTG9jYXRpb24sIGluIGxvbmcgcmFuZ2VMZW5n
dGgpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgdW5zaWduZWQgbG9uZyBsb2NhdGlv
bkZyb21SYW5nZShpbiBFbGVtZW50IHNjb3BlLCBpbiBSYW5nZSByYW5nZSkgcmFpc2VzIChET01F
eGNlcHRpb24pOwogICAgICAgICB1bnNpZ25lZCBsb25nIGxlbmd0aEZyb21SYW5nZShpbiBFbGVt
ZW50IHNjb3BlLCBpbiBSYW5nZSByYW5nZSkgcmFpc2VzIChET01FeGNlcHRpb24pOworCisgICAg
ICAgIHZvaWQgc2V0TGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZShpbiBEb2N1bWVu
dCBkb2N1bWVudCwgaW4gYm9vbGVhbiBlbmFibGVkKSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAg
ICB9OwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggMTFmODI3ZDIzYWQwMDIzZWNkNTc2YTMyOTNjNTEyNzYyN2RmZTI5
Mi4uYWM3MTI1NzA2MjA5MjdhNzU3MWQyNzk1OTkzZWU4ZjRiMTQyZjYwMiAxMDA3NTUKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIwIEBACisyMDExLTEwLTMxICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFdoZW4gcGFnZSBzY2FsaW5nIGlzIGluIHVzZSBwb3NpdGlvbjpmaXhlZCBo
YXMgaW5jb3JyZWN0IHJlc3VsdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTY4NjE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC5w
bmc6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWludC9maXhlZC1pbi1wYWdlLXNjYWxlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L2ZpeGVkLWluLXBhZ2Ut
c2NhbGUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJv
dHRvbS1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogZmFzdC9y
ZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNj
YWxlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWludC9maXhlZC1yaWdodC1pbi1w
YWdlLXNjYWxlLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L2Zp
eGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS5odG1sOiBBZGRlZC4KKwogMjAx
MS0xMC0zMCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1v
dmUgY3Jhc2ggZXhwZWN0YXRpb25zIGZyb20gdGVzdHMgdGhhdCBoYXZlIG5vdCBiZWVuIGNyYXNo
aW5nIG9uIENocm9taXVtLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2Zp
eGVkLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50
L2ZpeGVkLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyMzUzOTk1Mzc5
ZDc2YTk1NTY5YjIwODAxMjVmYmM0YWVmMmFhZDQKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDI4
NjkKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5fnlVeyt2WVYyYT5pMCpaKT1oXmhsQSVAV3MkbEhg
b2s8bX0/b1RuMC1jCnppekVYUjEyZHo8V0spQ1cjM1ZCI1dBajhISGB6NEJDP3okYHhUKD48ayU1
OGh4VGxMX05YNEFESCNZSnoxQGY+dQp6QD9BN3ZSMjB3Nih5ZztFT3s9MUBkRnAhaEtMXmZ5Vj48
VV9MJk5fTWNqT290M1p4b1k4M2NxUTcjSXZrOEtaJFAKem5pQS1rM3BRUnFeTnEhP3E7e0tsIUpe
ODFlVEUtPns5KzZhSl8oRXJNXzVKfnFrJUEqNjZsLUAtcHJjJG1ZMEZTCnd7b19GPGg3THwwaEsz
bWpNajR9bEZxI3RSb0QxJmUtUSF6bl5CfVZhKmJaaiFib0Z5dD1ha1J7MDJTWTkje2Q4VAoKbGl0
ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50
L2ZpeGVkLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBh
aW50L2ZpeGVkLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiMTM3ODkx
NzkxZmU5NjkyN2FkNzhlNjRiMGFhZDdiZGVkMDhiZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSBAQAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQt
aW4tcGFnZS1zY2FsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLWluLXBh
Z2Utc2NhbGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMmU2NjE5OTI3M2YwZWVkOGUxMjY1YmQzYjkwMDVk
YmNkODVhZGRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2Zp
eGVkLWluLXBhZ2Utc2NhbGUuaHRtbApAQCAtMCwwICsxLDU0IEBACis8aHRtbD4KKzxoZWFkPgor
ICAgIDxzdHlsZT4KKyAgICAgICAgOjotd2Via2l0LXNjcm9sbGJhciB7CisgICAgICAgICAgICB3
aWR0aDogMHB4OworICAgICAgICAgICAgaGVpZ2h0OiAwcHg7CisgICAgICAgIH0KKyAgICA8L3N0
eWxlPgorICAgIDxzY3JpcHQ+CisgICAgICB3aW5kb3cuZW5hYmxlUGl4ZWxUZXN0aW5nID0gdHJ1
ZTsKKyAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgIHdpbmRvdy5pbnRlcm5h
bHMuc2V0TGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZShkb2N1bWVudCwgdHJ1ZSk7
CisKKyAgICAgIGZ1bmN0aW9uIHNjcm9sbCgpIHsKKyAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8o
MTAwLDEwMCk7CisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHNjYWxlV2l0aEV2ZW50U2VuZGVy
KCkgeworICAgICAgICAgIHZhciBzY2FsZUZhY3RvciA9IDIuMDsKKyAgICAgICAgICB2YXIgc2Nh
bGVPZmZzZXQgPSAwOworICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAg
ICAgICAgICBldmVudFNlbmRlci5zY2FsZVBhZ2VCeShzY2FsZUZhY3Rvciwgc2NhbGVPZmZzZXQs
IHNjYWxlT2Zmc2V0KTsKKyAgICAgICAgICB9CisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHRl
c3QoKSB7CisgICAgICAgICAgc2NhbGVXaXRoRXZlbnRTZW5kZXIoKTsKKyAgICAgICAgICBzY3Jv
bGwoKTsKKyAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IHN0eWxlPSJ3
aWR0aDoyMDAwcHg7IGhlaWdodDoyMDAwcHg7IG1hcmdpbjowcHg7IiBvbmxvYWQ9InRlc3QoKTsi
PgorICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBmaXhlZDsgdG9wOiAtMTAwcHg7IGxlZnQ6IC0x
MDBweDsgei1pbmRleDogMSI+CisgICAgICAgIDxkaXYgc3R5bGU9ImxlZnQ6MDsgdG9wOjA7IHdp
ZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOnll
bGxvdzsiPjwvZGl2PgorICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4OyB0b3A6MDsgd2lk
dGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Z3Jl
ZW47Ij48L2Rpdj4KKworICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjA7IHRvcDoxMDBweDsgd2lk
dGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Z3Jl
ZW47Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsgdG9wOjEwMHB4OyB3
aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpi
bGFjazsiPjwvZGl2PgorICAgIDwvZGl2PgorCisgICAgPGRpdiBzdHlsZT0ibGVmdDowOyB0b3A6
MDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91
bmQ6eWVsbG93OyI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsgdG9wOjA7IHdp
ZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmdy
ZWVuOyI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0ibGVmdDoyMDBweDsgdG9wOjA7IHdpZHRoOjEw
MHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmJsdWU7Ij48
L2Rpdj4KKworICAgIDxkaXYgc3R5bGU9ImxlZnQ6MDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBweDsg
aGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDogZ3JlZW47Ij48L2Rp
dj4KKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4OyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBo
ZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmJsdWU7Ij48L2Rpdj4K
KyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjIwMHB4OyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWln
aHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOnllbGxvdzsiPjwvZGl2Pgor
CisgICAgPGRpdiBzdHlsZT0ibGVmdDowOyB0b3A6MjAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6
MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmJsdWU7Ij48L2Rpdj4KKyAgICA8
ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4OyB0b3A6MjAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAw
cHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOnllbGxvdzsiPjwvZGl2PgorICAgIDxk
aXYgc3R5bGU9ImxlZnQ6MjAwcHg7IHRvcDoyMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBw
eDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Z3JlZW47Ij48L2Rpdj4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdo
dC1ib3R0b20taW4tcGFnZS1zY2FsZS1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9mYXN0L3Jl
cGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQucG5nCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjcyNWY1YWY1MGVlNjI2ZjY0MjY4Y2RiZDk2ZTA1OWI3MmM0MjFhMWIKR0lUIGJpbmFy
eSBwYXRjaApsaXRlcmFsIDI4NTAKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5fnlVeyt2WVYyYT5p
MCpaKT1oXmhsQSVAV3MkbEhgb2s8bX0/b1RuNXUqCno8MEtPXkxyWmd1Qm55aX5McWo3b0wmRnAh
R1hvMmc2aWMmWSVjUXd3dVZOUyZ4VkN0QElFR1pyZDMpbV49SyV1Jgp6PTdUWEZ8OD1jPmIhMkFE
PG9YaDBAX1lfRUwmTGU8d2hSbXAlJFQ/dDZ4MjJfRmVIc0tNZ3c2cUM1K35SKE9mV14KejNyMD5a
eGNgbFQ7ZjlJdlpRJmdnKmhnIV4oTkA0e1Epci1hIThoaUtVaEpGdj5mKFR7VTxMK0hTM2ozXlA2
PHJfCkRFYjdxRQoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1ib3R0b20taW4tcGFn
ZS1zY2FsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGIxMzc4OTE3OTFmZTk2OTI3YWQ3OGU2
NGIwYWFkN2JkZWQwOGJkYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVw
YWludC9maXhlZC1yaWdodC1ib3R0b20taW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSBAQAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmln
aHQtYm90dG9tLWluLXBhZ2Utc2NhbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9m
aXhlZC1yaWdodC1ib3R0b20taW4tcGFnZS1zY2FsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmZTU1NThl
NTQzNzU5ZTJjMzM5ZWFjMWNmOGUwODNkOTNiYzUwYjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUuaHRt
bApAQCAtMCwwICsxLDQzIEBACis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAg
Ojotd2Via2l0LXNjcm9sbGJhciB7CisgICAgICAgICAgICB3aWR0aDogMHB4OworICAgICAgICAg
ICAgaGVpZ2h0OiAwcHg7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIDxzY3JpcHQ+Cisg
ICAgICB3aW5kb3cuZW5hYmxlUGl4ZWxUZXN0aW5nID0gdHJ1ZTsKKyAgICAgIGlmICh3aW5kb3cu
aW50ZXJuYWxzKQorICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0TGF5b3V0Rml4ZWRFbGVt
ZW50c1JlbGF0aXZlVG9GcmFtZShkb2N1bWVudCwgdHJ1ZSk7CisKKyAgICAgIGZ1bmN0aW9uIHNj
cm9sbCgpIHsKKyAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMTAwLDEwMCk7CisgICAgICB9CisK
KyAgICAgIGZ1bmN0aW9uIHNjYWxlV2l0aEV2ZW50U2VuZGVyKCkgeworICAgICAgICAgIHZhciBz
Y2FsZUZhY3RvciA9IDIuMDsKKyAgICAgICAgICB2YXIgc2NhbGVPZmZzZXQgPSAwOworICAgICAg
ICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgICAgICBldmVudFNlbmRlci5z
Y2FsZVBhZ2VCeShzY2FsZUZhY3Rvciwgc2NhbGVPZmZzZXQsIHNjYWxlT2Zmc2V0KTsKKyAgICAg
ICAgICB9CisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgICAgICAgZG9j
dW1lbnQuYm9keS5zdHlsZS53aWR0aCA9IChkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoICsgMTAw
KSArICJweCI7CisgICAgICAgICAgc2NhbGVXaXRoRXZlbnRTZW5kZXIoKTsKKyAgICAgICAgICBz
Y3JvbGwoKTsKKyAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IHN0eWxl
PSJoZWlnaHQ6IDIwMDBweDsgd2lkdGg6IDIwMDBweDsgbWFyZ2luOjBweDsiIG9ubG9hZD0idGVz
dCgpOyI+CisgICAgPGRpdiBzdHlsZT0icG9zaXRpb246IGZpeGVkOyBib3R0b206IDEwMHB4OyBy
aWdodDogMTAwcHg7IHotaW5kZXg6IDEiPgorICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjA7IHRv
cDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dy
b3VuZDpibGFjazsiPjwvZGl2PgorICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4OyB0b3A6
MDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91
bmQ6Z3JlZW47Ij48L2Rpdj4KKworICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjBweDsgdG9wOjEw
MHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dy
b3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsgdG9w
OjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFj
a2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAgPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFnZS1zY2Fs
ZS1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4t
cGFnZS1zY2FsZS1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDFlM2UwZWQwYzExOTQ4OTBkZDNk
MWRmZTk0NWZhMzAzMTYxMzRiMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjg3MQp6Y21lQVNA
Tj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJhPmkwKlopPWheaGxBJUBXcyRsSGBvazxtfT9vVCF6
RkgKemxUQFEqTHpBU0dXUm4hTGwlJis7UjZ8MlVCZVNJQmx3P2EyXlctMVhtS1paSWFHbXNZYVNX
LUxeWStGQFVNRUskCnpSITUodzBYczd2dlRNKF5JMi1iVGlDejJyeUx9QSo0JVImWCFqa3ZKKHpa
Yyp1UmxLbiE7YW5xT2Jpe0lJdCZkbgp6TWo0fWxGcSN0Um08dyphZEgwZitxNXNVQnhDNmFxdlNQ
T0txcSVVakM+a3c+MlB6anB2TGkkSSRBaENhOyVJQU4KaHZgSThqeCFeQ3Utdil0fCpQbmcmMD05
JTFKWURAPCk7VDNLMFJUUXpNeiNPfAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Ut
c2NhbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiMTM3ODkxNzkxZmU5NjkyN2FkNzhlNjRi
MGFhZDdiZGVkMDhiZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFp
bnQvZml4ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFn
ZS1zY2FsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBh
Z2Utc2NhbGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMGI5ZmIxNTVjZjM5MmE2MjQxY2M3MTliMDk2ZGY4
MGM3ZjYwY2FmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2Zp
eGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUuaHRtbApAQCAtMCwwICsxLDU2IEBACis8aHRtbD4KKzxo
ZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAgOjotd2Via2l0LXNjcm9sbGJhciB7CisgICAgICAg
ICAgICB3aWR0aDogMHB4OworICAgICAgICAgICAgaGVpZ2h0OiAwcHg7CisgICAgICAgIH0KKyAg
ICA8L3N0eWxlPgorICAgIDxzY3JpcHQ+CisgICAgICB3aW5kb3cuZW5hYmxlUGl4ZWxUZXN0aW5n
ID0gdHJ1ZTsKKyAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgIHdpbmRvdy5p
bnRlcm5hbHMuc2V0TGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZShkb2N1bWVudCwg
dHJ1ZSk7CisKKyAgICAgIGZ1bmN0aW9uIHNjcm9sbCgpIHsKKyAgICAgICAgICB3aW5kb3cuc2Ny
b2xsVG8oMTAwLDEwMCk7CisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHNjYWxlV2l0aEV2ZW50
U2VuZGVyKCkgeworICAgICAgICAgIHZhciBzY2FsZUZhY3RvciA9IDIuMDsKKyAgICAgICAgICB2
YXIgc2NhbGVPZmZzZXQgPSAwOworICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsK
KyAgICAgICAgICAgICBldmVudFNlbmRlci5zY2FsZVBhZ2VCeShzY2FsZUZhY3Rvciwgc2NhbGVP
ZmZzZXQsIHNjYWxlT2Zmc2V0KTsKKyAgICAgICAgICB9CisgICAgICB9CisKKyAgICAgIGZ1bmN0
aW9uIHRlc3QoKSB7CisgICAgICAgICAgc2NhbGVXaXRoRXZlbnRTZW5kZXIoKTsKKyAgICAgICAg
ICBzY3JvbGwoKTsKKyAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IHN0
eWxlPSJoZWlnaHQ6MjAwMHB4OyB3aWR0aDogMjAwMHB4OyBtYXJnaW46MHB4OyIgb25sb2FkPSJ0
ZXN0KCk7Ij4KKyAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogZml4ZWQ7IHRvcDogLTEwMHB4OyBy
aWdodDogMTAwcHg7IHotaW5kZXg6IDEiPgorICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjA7IHRv
cDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dy
b3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsgdG9w
OjA7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3Jv
dW5kOmdyZWVuOyI+PC9kaXY+CisKKyAgICAgICAgPGRpdiBzdHlsZT0ibGVmdDowOyB0b3A6MTAw
cHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3Jv
dW5kOmJsYWNrOyI+PC9kaXY+CisgICAgICAgIDxkaXYgc3R5bGU9ImxlZnQ6MTAwcHg7IHRvcDox
MDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tn
cm91bmQ6Ymx1ZTsiPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgc3R5bGU9InBvc2l0aW9u
OiBhYnNvbHV0ZTsgd2lkdGg6MzAwcHg7IGhlaWdodDozMDBweDsgdG9wOiAwcHg7IGxlZnQ6IDMw
MHB4IiBpZD0iZ3JpZCI+CisgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjEw
MHB4OyBoZWlnaHQ6MTAwcHg7IGJhY2tncm91bmQ6eWVsbG93OyI+PC9kaXY+CisgICAgICAgIDxk
aXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IGJhY2tncm91
bmQ6Z3JlZW47Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lkdGg6
MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisKKyAgICAgICAg
PGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dy
b3VuZDogZ3JlZW47Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lk
dGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAgICAg
IDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IGJhY2tn
cm91bmQ6eWVsbG93OyI+PC9kaXY+CisKKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsg
d2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAg
ICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IGJh
Y2tncm91bmQ6eWVsbG93OyI+PC9kaXY+CisgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7
IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IGJhY2tncm91bmQ6Z3JlZW47Ij48L2Rpdj4KKyAg
ICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113076</attachid>
            <date>2011-10-31 13:09:39 -0700</date>
            <delta_ts>2011-10-31 16:24:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68617-20111031160937.patch</filename>
            <type>text/plain</type>
            <size>23413</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg4NjcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzOGRkNmQwNWFkYzg0ZjJj
YWIwOWIzYTlhM2NjMjU5MTA3MWUyMzU1Li4zNjZkZjg3NzIwYTA2NjgzMDI0MTkxMmZiNDE0ZDcx
ZmEzMjdhYmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTEtMTAtMzEgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2hlbiBwYWdlIHNjYWxp
bmcgaXMgaW4gdXNlIHBvc2l0aW9uOmZpeGVkIGhhcyBpbmNvcnJlY3QgcmVzdWx0cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MTcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGhlIG9wdGlvbiBm
b3IgcG9zaXRpb246Zml4ZWQgZWxlbWVudHMgdG8gYmUgZml4ZWQgdG8gdGhlIGZyYW1lCisgICAg
ICAgIGluc3RlYWQgb2YgdGhlIGxheW91dCByZWN0YW5nbGUgb2YgdGhlIGRvY3VtZW50LgorCisg
ICAgICAgIFRlc3RzOiBmYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS5odG1sCisgICAg
ICAgICAgICAgICBmYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUu
aHRtbAorICAgICAgICAgICAgICAgZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2Nh
bGUuaHRtbAorCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVWaWV3OjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNjcm9s
bFhGb3JGaXhlZFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2Nyb2xs
WUZvckZpeGVkUG9zaXRpb24pOgorICAgICAgICAgIElmIHBvc2l0aW9uOmZpeGVkIGVsZW1lbnRz
IGFyZSByZWxhdGl2ZSB0byB0aGUgZnJhbWUsIGRpc3JlZ2FyZCB0aGUKKyAgICAgICAgICBkcmFn
IGZhY3Rvci4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6c2V0TGF5b3V0Rml4ZWRFbGVt
ZW50c1JlbGF0aXZlVG9GcmFtZSk6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFt
ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3g6OmNvbnRhaW5pbmdCbG9ja0xvZ2ljYWxXaWR0aEZvclBvc2l0aW9uZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpjb250YWluaW5nQmxvY2tMb2dpY2FsSGVpZ2h0
Rm9yUG9zaXRpb25lZCk6CisgICAgICAgICAgSWYgcG9zaXRpb246Zml4ZWQgZWxlbWVudHMgYXJl
IHJlbGF0aXZlIHRvIHRoZSBmcmFtZSwgdGhlaXIgY29udGFpbmVyCisgICAgICAgICAgaXMgdGhl
IGZyYW1lIGluc3RlYWQgb2YgdGhlIGxheW91dCByZWN0IG9mIHRoZSBkb2N1bWVudC4gCisgICAg
ICAgICAgVGhpcyBhbGxvd3MgcHJvcGVyIHBvc2l0aW9uaW5nIG9mIHRoZXNlIGVsZW1lbnRzIHRv
IHRoZSByaWdodCBhbmQKKyAgICAgICAgICBib3R0b20uCisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXRMYXlvdXRGaXhlZEVs
ZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgor
ICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKyAgICAgICAgICBBbGxvdyBlbmFibGlu
ZyBhbmQgZGlzYWJsaW5nIHRoZSBuZXcgYmVoYXZpb3IgaW4gbGF5b3V0IHRlc3RzLgorCiAyMDEx
LTEwLTMxICBBbmRyZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0Lm9yZz4KIAogICAgICAgICBDU1NS
dWxlOiBEZXZpcnR1YWxpemUgaW5zZXJ0ZWRJbnRvUGFyZW50KCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBiYmYw
Zjk1OGQyODY0ZDU0ZjI4N2MyODczMDMyYmZiN2JkZGE1NTc2Li4zNmY2MjdhNjk3MGE2ZDJkZTJk
Mjk0ZmY3ZTQyYTZlOGUyMjllZDlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEt
MTAtMzEgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2hl
biBwYWdlIHNjYWxpbmcgaXMgaW4gdXNlIHBvc2l0aW9uOmZpeGVkIGhhcyBpbmNvcnJlY3QgcmVz
dWx0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2
MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdp
bi9XZWJLaXQyLmRlZjoKKyAgICAgICAgKiB3aW4vV2ViS2l0MkNGTGl0ZS5kZWY6CisKIDIwMTEt
MTAtMzEgIEFuZHJhcyBCZWNzaSAgPGFuZHJhcy5iZWNzaUBub2tpYS5jb20+CiAKICAgICAgICAg
W1F0XVtXSzJdIEZpeCBxbWx0ZXN0cyBhZnRlciByOTg0NjAgYWRkZWQgd2lkZ2V0cyBkZXBlbmRl
bmN5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGFlN2U3YzcyYjU5MjU1YmVhNTY4
NDI3MmVjNDAzNjgxZDY2MDU1ZTMuLmUzMmExMmI2OTkwMmM5ZjBkNTA5ZjIyMjBkZTczY2E4MTM3
MmY2OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTIxMyw2ICsyMTMsNyBAQCB2
b2lkIEZyYW1lVmlldzo6cmVzZXQoKQogICAgIG1fY2Fubm90QmxpdFRvV2luZG93ID0gZmFsc2U7
CiAgICAgbV9pc092ZXJsYXBwZWQgPSBmYWxzZTsKICAgICBtX2NvbnRlbnRJc09wYXF1ZSA9IGZh
bHNlOworICAgIG1fbGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZSA9IGZhbHNlOwog
ICAgIG1fYm9yZGVyWCA9IDMwOwogICAgIG1fYm9yZGVyWSA9IDMwOwogICAgIG1fbGF5b3V0VGlt
ZXIuc3RvcCgpOwpAQCAtMTM4Nyw3ICsxMzg4LDcgQEAgTGF5b3V0VW5pdCBGcmFtZVZpZXc6OnNj
cm9sbFhGb3JGaXhlZFBvc2l0aW9uKCkgY29uc3QKICAgICAvLyBXaGVuIHRoZSBwYWdlIGlzIHNj
YWxlZCwgdGhlIHNjYWxlZCAidmlld3BvcnQiIHdpdGggcmVzcGVjdCB0byB3aGljaCBmaXhlZCBv
YmplY3QgYXJlIHBvc2l0aW9uZWQKICAgICAvLyBkb2Vzbid0IG1vdmUgYXMgZmFzdCBhcyB0aGUg
Y29udGVudCB2aWV3LCBzbyB0aGF0IHdoZW4gdGhlIGNvbnRlbnQgaXMgc2Nyb2xsZWQgYWxsIHRo
ZSB3YXkgdG8gdGhlCiAgICAgLy8gZW5kLCB0aGUgYm90dG9tIG9mIHRoZSBzY2FsZWQgInZpZXdw
b3J0IiB0b3VjaGVzIHRoZSBib3R0b20gb2YgdGhlIHJlYWwgdmlld3BvcnQuCi0gICAgZmxvYXQg
ZHJhZ0ZhY3RvciA9IChjb250ZW50c1dpZHRoKCkgLSB2aXNpYmxlQ29udGVudFdpZHRoICogZnJh
bWVTY2FsZUZhY3RvcikgLyBtYXhYOworICAgIGZsb2F0IGRyYWdGYWN0b3IgPSBsYXlvdXRGaXhl
ZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKCkgPyAxIDogKGNvbnRlbnRzV2lkdGgoKSAtIHZpc2li
bGVDb250ZW50V2lkdGggKiBmcmFtZVNjYWxlRmFjdG9yKSAvIG1heFg7CiAKICAgICByZXR1cm4g
eCAqIGRyYWdGYWN0b3IgLyBmcmFtZVNjYWxlRmFjdG9yOwogfQpAQCAtMTM5NSw4ICsxMzk2LDgg
QEAgTGF5b3V0VW5pdCBGcmFtZVZpZXc6OnNjcm9sbFhGb3JGaXhlZFBvc2l0aW9uKCkgY29uc3QK
IExheW91dFVuaXQgRnJhbWVWaWV3OjpzY3JvbGxZRm9yRml4ZWRQb3NpdGlvbigpIGNvbnN0CiB7
CiAgICAgTGF5b3V0VW5pdCB2aXNpYmxlQ29udGVudEhlaWdodCA9IHZpc2libGVDb250ZW50UmVj
dCgpLmhlaWdodCgpOwotCiAgICAgTGF5b3V0VW5pdCBtYXhZID0gY29udGVudHNIZWlnaHQoKSAt
IHZpc2libGVDb250ZW50SGVpZ2h0OworCiAgICAgaWYgKG1heFkgPT0gMCkKICAgICAgICAgcmV0
dXJuIDA7CiAKQEAgLTE0MTgsOCArMTQxOSw3IEBAIExheW91dFVuaXQgRnJhbWVWaWV3OjpzY3Jv
bGxZRm9yRml4ZWRQb3NpdGlvbigpIGNvbnN0CiAgICAgICAgIHJldHVybiB5OwogCiAgICAgZmxv
YXQgZnJhbWVTY2FsZUZhY3RvciA9IG1fZnJhbWUtPmZyYW1lU2NhbGVGYWN0b3IoKTsKLSAgICBm
bG9hdCBkcmFnRmFjdG9yID0gKGNvbnRlbnRzSGVpZ2h0KCkgLSB2aXNpYmxlQ29udGVudEhlaWdo
dCAqIGZyYW1lU2NhbGVGYWN0b3IpIC8gbWF4WTsKLQorICAgIGZsb2F0IGRyYWdGYWN0b3IgPSBs
YXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKCkgPyAxIDogKGNvbnRlbnRzSGVpZ2h0
KCkgLSB2aXNpYmxlQ29udGVudEhlaWdodCAqIGZyYW1lU2NhbGVGYWN0b3IpIC8gbWF4WTsKICAg
ICByZXR1cm4geSAqIGRyYWdGYWN0b3IgLyBmcmFtZVNjYWxlRmFjdG9yOwogfQogCkBAIC0xNDI4
LDYgKzE0MjgsMTkgQEAgTGF5b3V0U2l6ZSBGcmFtZVZpZXc6OnNjcm9sbE9mZnNldEZvckZpeGVk
UG9zaXRpb24oKSBjb25zdAogICAgIHJldHVybiBMYXlvdXRTaXplKHNjcm9sbFhGb3JGaXhlZFBv
c2l0aW9uKCksIHNjcm9sbFlGb3JGaXhlZFBvc2l0aW9uKCkpOwogfQogCit2b2lkIEZyYW1lVmll
dzo6c2V0TGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZShib29sIGxheW91dEZpeGVk
RWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUpCit7CisgICAgaWYgKGxheW91dEZpeGVkRWxlbWVudHNS
ZWxhdGl2ZVRvRnJhbWUgPT0gbV9sYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKQor
ICAgICAgICByZXR1cm47CisKKyAgICBtX2xheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJh
bWUgPSBsYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lOworCisgICAgaWYgKCFoYXNG
aXhlZE9iamVjdHMoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgc2V0TmVlZHNMYXlvdXQoKTsK
K30KKwogTGF5b3V0UG9pbnQgRnJhbWVWaWV3OjpjdXJyZW50TW91c2VQb3NpdGlvbigpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIG1fZnJhbWUgPyBtX2ZyYW1lLT5ldmVudEhhbmRsZXIoKS0+Y3VycmVu
dE1vdXNlUG9zaXRpb24oKSA6IEludFBvaW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRl
eCBiZjdkM2ZiZDNjM2VmYjM5YjBjM2NmMWQ3YzYzNTc5MjRjMWRlM2NhLi5hMTVjMzhiMzM2OGJh
NTY3NjcyNWYyMjRiZWY4ZTg2OWZlOGE1ODZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAg
LTE5NSw2ICsxOTUsOSBAQCBwdWJsaWM6CiAgICAgTGF5b3V0VW5pdCBzY3JvbGxZRm9yRml4ZWRQ
b3NpdGlvbigpIGNvbnN0OwogICAgIExheW91dFNpemUgc2Nyb2xsT2Zmc2V0Rm9yRml4ZWRQb3Np
dGlvbigpIGNvbnN0OwogCisgICAgYm9vbCBsYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0Zy
YW1lKCkgY29uc3QgeyByZXR1cm4gbV9sYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1l
OyB9CisgICAgdm9pZCBzZXRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKGJvb2wp
OworCiAgICAgdm9pZCBiZWdpbkRlZmVycmVkUmVwYWludHMoKTsKICAgICB2b2lkIGVuZERlZmVy
cmVkUmVwYWludHMoKTsKICAgICB2b2lkIGNoZWNrU3RvcERlbGF5aW5nRGVmZXJyZWRSZXBhaW50
cygpOwpAQCAtNDA5LDcgKzQxMiw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2NvbnRlbnRJc09w
YXF1ZTsKICAgICB1bnNpZ25lZCBtX3Nsb3dSZXBhaW50T2JqZWN0Q291bnQ7CiAgICAgdW5zaWdu
ZWQgbV9maXhlZE9iamVjdENvdW50OwotCisgICAgYm9vbCBtX2xheW91dEZpeGVkRWxlbWVudHNS
ZWxhdGl2ZVRvRnJhbWU7CiAgICAgaW50IG1fYm9yZGVyWDsKICAgICBpbnQgbV9ib3JkZXJZOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IDY5ZDEyNGY3NGU4Njdk
MWRmMzQwMDk5YjU3ODg5MTU2MzE3ZDg4M2IuLjE0NjI3YjcyZTA0ZWVhZDMzMGNkOWY2Yzk1NWU1
ZTY0NWNkOGUzZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC0y
MzI4LDYgKzIzMjgsMTIgQEAgdm9pZCBSZW5kZXJCb3g6OmNvbXB1dGVCbG9ja0RpcmVjdGlvbk1h
cmdpbnMoUmVuZGVyQmxvY2sqIGNvbnRhaW5pbmdCbG9jaykKIGludCBSZW5kZXJCb3g6OmNvbnRh
aW5pbmdCbG9ja0xvZ2ljYWxXaWR0aEZvclBvc2l0aW9uZWQoY29uc3QgUmVuZGVyQm94TW9kZWxP
YmplY3QqIGNvbnRhaW5pbmdCbG9jaywgUmVuZGVyUmVnaW9uKiByZWdpb24sCiAgICAgTGF5b3V0
VW5pdCBvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlLCBib29sIGNoZWNrRm9yUGVycGVu
ZGljdWxhcldyaXRpbmdNb2RlKSBjb25zdAogeworICAgIC8vIENvbnRhaW5lciBmb3IgcG9zaXRp
b246Zml4ZWQgaXMgdGhlIGZyYW1lLgorICAgIEZyYW1lKiBmcmFtZSA9IHZpZXcoKSA/IHZpZXco
KS0+ZnJhbWUoKTogMDsKKyAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9IHZpZXcoKSA/IHZpZXco
KS0+ZnJhbWVWaWV3KCkgOiAwOworICAgIGlmIChzdHlsZSgpICYmIHN0eWxlKCktPnBvc2l0aW9u
KCkgPT0gRml4ZWRQb3NpdGlvbiAmJiBmcmFtZSAmJiBmcmFtZVZpZXcgJiYgZnJhbWVWaWV3LT5s
YXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKCkpCisgICAgICAgIHJldHVybiAodmll
dygpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gZnJhbWVWaWV3LT52aXNpYmxlV2lkdGgo
KSA6IGZyYW1lVmlldy0+dmlzaWJsZUhlaWdodCgpKSAvIGZyYW1lLT5mcmFtZVNjYWxlRmFjdG9y
KCk7CisKICAgICBpZiAoY2hlY2tGb3JQZXJwZW5kaWN1bGFyV3JpdGluZ01vZGUgJiYgY29udGFp
bmluZ0Jsb2NrLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpICE9IGlzSG9yaXpvbnRhbFdyaXRp
bmdNb2RlKCkpCiAgICAgICAgIHJldHVybiBjb250YWluaW5nQmxvY2tMb2dpY2FsSGVpZ2h0Rm9y
UG9zaXRpb25lZChjb250YWluaW5nQmxvY2ssIGZhbHNlKTsKIApAQCAtMjM4MCw2ICsyMzg2LDEx
IEBAIGludCBSZW5kZXJCb3g6OmNvbnRhaW5pbmdCbG9ja0xvZ2ljYWxXaWR0aEZvclBvc2l0aW9u
ZWQoY29uc3QgUmVuZGVyQm94TW9kZWxPYmplCiAKIGludCBSZW5kZXJCb3g6OmNvbnRhaW5pbmdC
bG9ja0xvZ2ljYWxIZWlnaHRGb3JQb3NpdGlvbmVkKGNvbnN0IFJlbmRlckJveE1vZGVsT2JqZWN0
KiBjb250YWluaW5nQmxvY2ssIGJvb2wgY2hlY2tGb3JQZXJwZW5kaWN1bGFyV3JpdGluZ01vZGUp
IGNvbnN0CiB7CisgICAgRnJhbWUqIGZyYW1lID0gdmlldygpID8gdmlldygpLT5mcmFtZSgpOiAw
OworICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gdmlldygpID8gdmlldygpLT5mcmFtZVZpZXco
KSA6IDA7CisgICAgaWYgKHN0eWxlKCkgJiYgc3R5bGUoKS0+cG9zaXRpb24oKSA9PSBGaXhlZFBv
c2l0aW9uICYmIGZyYW1lICYmIGZyYW1lVmlldy0+bGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZl
VG9GcmFtZSgpKQorICAgICAgICByZXR1cm4gKHZpZXcoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01v
ZGUoKSA/IGZyYW1lVmlldy0+dmlzaWJsZUhlaWdodCgpIDogZnJhbWVWaWV3LT52aXNpYmxlV2lk
dGgoKSkgLyBmcmFtZS0+ZnJhbWVTY2FsZUZhY3RvcigpOworCiAgICAgaWYgKGNoZWNrRm9yUGVy
cGVuZGljdWxhcldyaXRpbmdNb2RlICYmIGNvbnRhaW5pbmdCbG9jay0+aXNIb3Jpem9udGFsV3Jp
dGluZ01vZGUoKSAhPSBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpKQogICAgICAgICByZXR1cm4g
Y29udGFpbmluZ0Jsb2NrTG9naWNhbFdpZHRoRm9yUG9zaXRpb25lZChjb250YWluaW5nQmxvY2ss
IDAsIDAsIGZhbHNlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IDQ3
OWViNTQwNzYwM2Y3ODViN2JkYjU5MTAwZjhiMDA3ZjhhMTNmYjMuLjg4YzFlZjlkYTAyYzdiMGQ5
YmMwMTNhNDJjMWYwZGNjOGU0ZDQ1ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAKQEAgLTQ4NCw0ICs0ODQsMTUgQEAgdW5zaWduZWQgSW50ZXJuYWxzOjpsZW5ndGhGcm9tUmFu
Z2UoRWxlbWVudCogc2NvcGUsIGNvbnN0IFJhbmdlKiByYW5nZSwgRXhjZXB0aW8KICAgICByZXR1
cm4gbGVuZ3RoOwogfQogCit2b2lkIEludGVybmFsczo6c2V0TGF5b3V0Rml4ZWRFbGVtZW50c1Jl
bGF0aXZlVG9GcmFtZShEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgZW5hYmxlZCwgRXhjZXB0aW9u
Q29kZSYgZWMpCit7CisgICAgaWYgKCFkb2N1bWVudCB8fCAhZG9jdW1lbnQtPnZpZXcoKSkgewor
ICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gZG9jdW1lbnQtPnZpZXcoKTsKKyAgICBmcmFt
ZVZpZXctPnNldExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoZW5hYmxlZCk7Cit9
CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDgyNmQxMDE2YjM0MTc0ZDBj
NWEwMmMzMmNiZWQyOGRlYzNlODA5NzguLjJjODI4ODg5YTY5NmM2OTMxNjljNzVlMjdjMDk5NDU2
Yjc5MTRiOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtOTgsNiArOTgsNyBA
QCBwdWJsaWM6CiAgICAgUGFzc1JlZlB0cjxSYW5nZT4gcmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5n
dGgoRWxlbWVudCogc2NvcGUsIGludCByYW5nZUxvY2F0aW9uLCBpbnQgcmFuZ2VMZW5ndGgsIEV4
Y2VwdGlvbkNvZGUmKTsKICAgICB1bnNpZ25lZCBsb2NhdGlvbkZyb21SYW5nZShFbGVtZW50KiBz
Y29wZSwgY29uc3QgUmFuZ2UqLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdW5zaWduZWQgbGVuZ3Ro
RnJvbVJhbmdlKEVsZW1lbnQqIHNjb3BlLCBjb25zdCBSYW5nZSosIEV4Y2VwdGlvbkNvZGUmKTsK
KyAgICB2b2lkIHNldExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoRG9jdW1lbnQq
LCBib29sLCBFeGNlcHRpb25Db2RlJik7CiAKICAgICBzdGF0aWMgY29uc3QgY2hhciogaW50ZXJu
YWxzSWQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCA1MzZiZTYwMDAz
MjRkMDM0ZTEwMGM5OWM5NWU0ZmQ3ZDczYmQ5MmVkLi43YzA2MTFkYzg3Y2NhYzM3MjNiZjdhMmZi
YWVkYWM3ODViMzhiOTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC03
Miw2ICs3Miw4IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBSYW5nZSByYW5nZUZyb21Mb2Nh
dGlvbkFuZExlbmd0aChpbiBFbGVtZW50IHNjb3BlLCBpbiBsb25nIHJhbmdlTG9jYXRpb24sIGlu
IGxvbmcgcmFuZ2VMZW5ndGgpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgdW5zaWdu
ZWQgbG9uZyBsb2NhdGlvbkZyb21SYW5nZShpbiBFbGVtZW50IHNjb3BlLCBpbiBSYW5nZSByYW5n
ZSkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgICAgICB1bnNpZ25lZCBsb25nIGxlbmd0aEZy
b21SYW5nZShpbiBFbGVtZW50IHNjb3BlLCBpbiBSYW5nZSByYW5nZSkgcmFpc2VzIChET01FeGNl
cHRpb24pOworCisgICAgICAgIHZvaWQgc2V0TGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9G
cmFtZShpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4gYm9vbGVhbiBlbmFibGVkKSByYWlzZXMoRE9N
RXhjZXB0aW9uKTsKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4v
V2ViS2l0Mi5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKaW5kZXggMTc2OTMw
NTY0ODliYmFlNjU3NTA3YjlkNTFhMTFhNTY2NzZiZTEyMS4uZDYzOGQzM2I3MzI0YmYwOTI1ZTBj
ZGU0ZWNkOTE4ZTg4OGI5NThkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktp
dDIuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgpAQCAtMTY4LDYgKzE2
OCw3IEBAIEVYUE9SVFMKICAgICAgICAgP3JhbmdlRnJvbUxvY2F0aW9uQW5kTGVuZ3RoQFRleHRJ
dGVyYXRvckBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWUmFuZ2VAV2ViQ29yZUBAQFdURkBA
UEFWRWxlbWVudEAyQEhIX05AWgogICAgICAgICA/cmVtb3ZlU2hhZG93Um9vdEBFbGVtZW50QFdl
YkNvcmVAQFFBRVhYWgogICAgICAgICA/c2Nyb2xsRWxlbWVudFRvUmVjdEBGcmFtZVZpZXdAV2Vi
Q29yZUBAUUFFWFBBVkVsZW1lbnRAMkBBQlZJbnRSZWN0QDJAQFoKKyAgICAgICAgP3NldExheW91
dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWVARnJhbWVWaWV3QFdlYkNvcmVAQFFBRVhfTkBa
CiAgICAgICAgID9zZXRET01FeGNlcHRpb25AV2ViQ29yZUBAWUFYUEFWRXhlY1N0YXRlQEpTQ0BA
SEBaCiAgICAgICAgID9zZXRSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0c0Zyb21JbnRlcm5hbHNASW5z
cGVjdG9yQ29udHJvbGxlckBXZWJDb3JlQEBRQUVYSEhAWgogICAgICAgICA/c2V0U2Nyb2xsYmFy
c1N1cHByZXNzZWRAU2Nyb2xsVmlld0BXZWJDb3JlQEBRQUVYX04wQFoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9X
ZWJLaXQyQ0ZMaXRlLmRlZgppbmRleCBlYzMxZDhkYzE1YzBlZGM3ZmU3NWJjYWU1NDEwY2IwZTE2
ZmE0YThjLi4wZTFiNDNhNzdiOWYyZjdjMThiNTNiMjgwZGFiZTQ1Yzc0MTIxMzJmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKKysrIGIvU291cmNlL1dl
YktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCkBAIC0xNTksNiArMTU5LDcgQEAgRVhQT1JUUwog
ICAgICAgICA/cmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGhAVGV4dEl0ZXJhdG9yQFdlYkNvcmVA
QFNBP0FWPyRQYXNzUmVmUHRyQFZSYW5nZUBXZWJDb3JlQEBAV1RGQEBQQVZFbGVtZW50QDJASEhf
TkBaCiAgICAgICAgID9yZW1vdmVTaGFkb3dSb290QEVsZW1lbnRAV2ViQ29yZUBAUUFFWFhaCiAg
ICAgICAgID9zY3JvbGxFbGVtZW50VG9SZWN0QEZyYW1lVmlld0BXZWJDb3JlQEBRQUVYUEFWRWxl
bWVudEAyQEFCVkludFJlY3RAMkBAWgorICAgICAgICA/c2V0TGF5b3V0Rml4ZWRFbGVtZW50c1Jl
bGF0aXZlVG9GcmFtZUBGcmFtZVZpZXdAV2ViQ29yZUBAUUFFWF9OQFoKICAgICAgICAgP3NldERP
TUV4Y2VwdGlvbkBXZWJDb3JlQEBZQVhQQVZFeGVjU3RhdGVASlNDQEBIQFoKICAgICAgICAgP3Nl
dFJlc291cmNlc0RhdGFTaXplTGltaXRzRnJvbUludGVybmFsc0BJbnNwZWN0b3JDb250cm9sbGVy
QFdlYkNvcmVAQFFBRVhISEBaCiAgICAgICAgID9zZXRTY3JvbGxiYXJzU3VwcHJlc3NlZEBTY3Jv
bGxWaWV3QFdlYkNvcmVAQFFBRVhfTjBAWgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDAzY2ZhMDQ4ZTU2ZTQ5MDgzZTI2YTUz
ZTNlMmEyNTVkZmUxZTMxYzguLjYyMDZiNjk4MGNlNjZhNTFmMDQ4ZGMyNzc4MjE5YzVmN2Q5NDI2
YTcgMTAwNzU1Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMS0xMC0zMSAgRmFkeSBTYW11ZWwgIDxmc2Ft
dWVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBXaGVuIHBhZ2Ugc2NhbGluZyBpcyBpbiB1c2Ug
cG9zaXRpb246Zml4ZWQgaGFzIGluY29ycmVjdCByZXN1bHRzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODYxNworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9yZXBhaW50L2ZpeGVkLWluLXBhZ2Ut
c2NhbGUtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvZml4ZWQt
aW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWlu
dC9maXhlZC1pbi1wYWdlLXNjYWxlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWlu
dC9maXhlZC1yaWdodC1ib3R0b20taW4tcGFnZS1zY2FsZS1leHBlY3RlZC5wbmc6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvcmVwYWludC9maXhlZC1yaWdodC1ib3R0b20taW4tcGFnZS1zY2FsZS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWludC9maXhlZC1yaWdodC1i
b3R0b20taW4tcGFnZS1zY2FsZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFpbnQv
Zml4ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvcmVwYWludC9maXhlZC1yaWdodC1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUuaHRt
bDogQWRkZWQuCisKIDIwMTEtMTAtMzEgIExlYW5kcm8gUGVyZWlyYSAgPGxlYW5kcm9AcHJvZnVz
aW9uLm1vYmk+CiAKICAgICAgICAgW0VGTF0gVW5yZXZpZXdlZC4gVXBkYXRlIFNraXBwZWQgbGlz
dC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1pbi1wYWdlLXNj
YWxlLWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1pbi1wYWdl
LXNjYWxlLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMjM1Mzk5NTM3OWQ3NmE5NTU2OWIyMDgw
MTI1ZmJjNGFlZjJhYWQ0CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAyODY5CnpjbWVBU0BOPyhv
bEh5YHVWQnEhaWEweX55VXsrdllWMmE+aTAqWik9aF5obEElQFdzJGxIYG9rPG19P29UbjAtYwp6
aXpFWFIxMmR6PFdLKUNXIzNWQiNXQWo4SEhgejRCQz96JGB4VCg+PGslNThoeFRsTF9OWDRBREgj
WUp6MUBmPnUKekA/QTd2UjIwdzYoeWc7RU97PTFAZEZwIWhLTF5meVY+PFVfTCZOX01jak9vdDNa
eG9ZODNjcVE3I0l2azhLWiRQCnpuaUEtazNwUVJxXk5xIT9xO3tLbCFKXjgxZVRFLT57OSs2YUpf
KEVyTV81Sn5xayVBKjY2bC1ALXByYyRtWTBGUwp3e29fRjxoN0x8MGhLM21qTWo0fWxGcSN0Um9E
MSZlLVEhem5eQn1WYSpiWmohYm9GeXQ9YWtSezAyU1k5I3tkOFQKCmxpdGVyYWwgMApIY21WP2Qw
MDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1pbi1wYWdl
LXNjYWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1pbi1w
YWdlLXNjYWxlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YjEzNzg5MTc5MWZlOTY5MjdhZDc4
ZTY0YjBhYWQ3YmRlZDA4YmRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9y
ZXBhaW50L2ZpeGVkLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLWluLXBhZ2Utc2NhbGUu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1pbi1wYWdlLXNjYWxlLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZDJlNjYxOTkyNzNmMGVlZDhlMTI2NWJkM2I5MDA1ZGJjZDg1YWRkZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1pbi1wYWdlLXNj
YWxlLmh0bWwKQEAgLTAsMCArMSw1NCBAQAorPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+Cisg
ICAgICAgIDo6LXdlYmtpdC1zY3JvbGxiYXIgeworICAgICAgICAgICAgd2lkdGg6IDBweDsKKyAg
ICAgICAgICAgIGhlaWdodDogMHB4OworICAgICAgICB9CisgICAgPC9zdHlsZT4KKyAgICA8c2Ny
aXB0PgorICAgICAgd2luZG93LmVuYWJsZVBpeGVsVGVzdGluZyA9IHRydWU7CisgICAgICBpZiAo
d2luZG93LmludGVybmFscykKKyAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldExheW91dEZp
eGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoZG9jdW1lbnQsIHRydWUpOworCisgICAgICBmdW5j
dGlvbiBzY3JvbGwoKSB7CisgICAgICAgICAgd2luZG93LnNjcm9sbFRvKDEwMCwxMDApOworICAg
ICAgfQorCisgICAgICBmdW5jdGlvbiBzY2FsZVdpdGhFdmVudFNlbmRlcigpIHsKKyAgICAgICAg
ICB2YXIgc2NhbGVGYWN0b3IgPSAyLjA7CisgICAgICAgICAgdmFyIHNjYWxlT2Zmc2V0ID0gMDsK
KyAgICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgICAgICAgZXZlbnRT
ZW5kZXIuc2NhbGVQYWdlQnkoc2NhbGVGYWN0b3IsIHNjYWxlT2Zmc2V0LCBzY2FsZU9mZnNldCk7
CisgICAgICAgICAgfQorICAgICAgfQorCisgICAgICBmdW5jdGlvbiB0ZXN0KCkgeworICAgICAg
ICAgIHNjYWxlV2l0aEV2ZW50U2VuZGVyKCk7CisgICAgICAgICAgc2Nyb2xsKCk7CisgICAgICB9
CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBzdHlsZT0id2lkdGg6MjAwMHB4OyBo
ZWlnaHQ6MjAwMHB4OyBtYXJnaW46MHB4OyIgb25sb2FkPSJ0ZXN0KCk7Ij4KKyAgICA8ZGl2IHN0
eWxlPSJwb3NpdGlvbjogZml4ZWQ7IHRvcDogLTEwMHB4OyBsZWZ0OiAtMTAwcHg7IHotaW5kZXg6
IDEiPgorICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjA7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVp
Z2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDp5ZWxsb3c7Ij48L2Rpdj4K
KyAgICAgICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsgdG9wOjA7IHdpZHRoOjEwMHB4OyBoZWln
aHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmdyZWVuOyI+PC9kaXY+CisK
KyAgICAgICAgPGRpdiBzdHlsZT0ibGVmdDowOyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWln
aHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmdyZWVuOyI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgc3R5bGU9ImxlZnQ6MTAwcHg7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhl
aWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6YmxhY2s7Ij48L2Rpdj4K
KyAgICA8L2Rpdj4KKworICAgIDxkaXYgc3R5bGU9ImxlZnQ6MDsgdG9wOjA7IHdpZHRoOjEwMHB4
OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOnllbGxvdzsiPjwv
ZGl2PgorICAgIDxkaXYgc3R5bGU9ImxlZnQ6MTAwcHg7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVp
Z2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpncmVlbjsiPjwvZGl2Pgor
ICAgIDxkaXYgc3R5bGU9ImxlZnQ6MjAwcHg7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEw
MHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisKKyAgICA8
ZGl2IHN0eWxlPSJsZWZ0OjA7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsg
cG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6IGdyZWVuOyI+PC9kaXY+CisgICAgPGRpdiBz
dHlsZT0ibGVmdDoxMDBweDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBw
b3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAgPGRpdiBzdHls
ZT0ibGVmdDoyMDBweDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3Np
dGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKworICAgIDxkaXYgc3R5
bGU9ImxlZnQ6MDsgdG9wOjIwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlv
bjphYnNvbHV0ZTsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0ibGVm
dDoxMDBweDsgdG9wOjIwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjph
YnNvbHV0ZTsgYmFja2dyb3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJsZWZ0
OjIwMHB4OyB0b3A6MjAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFi
c29sdXRlOyBiYWNrZ3JvdW5kOmdyZWVuOyI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBh
Z2Utc2NhbGUtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJp
Z2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MjVmNWFm
NTBlZTYyNmY2NDI2OGNkYmQ5NmUwNTliNzJjNDIxYTFiCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJh
bCAyODUwCnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEweX55VXsrdllWMmE+aTAqWik9aF5obEElQFdz
JGxIYG9rPG19P29UbjV1Kgp6PDBLT15MclpndUJueWl+THFqN29MJkZwIUdYbzJnNmljJlklY1F3
d3VWTlMmeFZDdEBJRUdacmQzKW1ePUsldSYKej03VFhGfDg9Yz5iITJBRDxvWGgwQF9ZX0VMJkxl
PHdoUm1wJSRUP3Q2eDIyX0ZlSHNLTWd3NnFDNSt+UihPZldeCnozcjA+WnhjYGxUO2Y5SXZaUSZn
ZypoZyFeKE5ANHtRKXItYSE4aGlLVWhKRnY+ZihUe1U8TCtIUzNqM15QNjxyXwpERWI3cUUKCmxp
dGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWlu
dC9maXhlZC1yaWdodC1ib3R0b20taW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjhiMTM3ODkxNzkxZmU5NjkyN2FkNzhlNjRiMGFhZDdiZGVkMDhi
ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmln
aHQtYm90dG9tLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1w
YWdlLXNjYWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90
dG9tLWluLXBhZ2Utc2NhbGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZmU1NTU4ZTU0Mzc1OWUyYzMzOWVh
YzFjZjhlMDgzZDkzYmM1MGI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9y
ZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxlLmh0bWwKQEAgLTAsMCArMSw0
MyBAQAorPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgIDo6LXdlYmtpdC1zY3Jv
bGxiYXIgeworICAgICAgICAgICAgd2lkdGg6IDBweDsKKyAgICAgICAgICAgIGhlaWdodDogMHB4
OworICAgICAgICB9CisgICAgPC9zdHlsZT4KKyAgICA8c2NyaXB0PgorICAgICAgd2luZG93LmVu
YWJsZVBpeGVsVGVzdGluZyA9IHRydWU7CisgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAg
ICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRv
RnJhbWUoZG9jdW1lbnQsIHRydWUpOworCisgICAgICBmdW5jdGlvbiBzY3JvbGwoKSB7CisgICAg
ICAgICAgd2luZG93LnNjcm9sbFRvKDEwMCwxMDApOworICAgICAgfQorCisgICAgICBmdW5jdGlv
biBzY2FsZVdpdGhFdmVudFNlbmRlcigpIHsKKyAgICAgICAgICB2YXIgc2NhbGVGYWN0b3IgPSAy
LjA7CisgICAgICAgICAgdmFyIHNjYWxlT2Zmc2V0ID0gMDsKKyAgICAgICAgICBpZiAod2luZG93
LmV2ZW50U2VuZGVyKSB7CisgICAgICAgICAgICAgZXZlbnRTZW5kZXIuc2NhbGVQYWdlQnkoc2Nh
bGVGYWN0b3IsIHNjYWxlT2Zmc2V0LCBzY2FsZU9mZnNldCk7CisgICAgICAgICAgfQorICAgICAg
fQorCisgICAgICBmdW5jdGlvbiB0ZXN0KCkgeworICAgICAgICAgIGRvY3VtZW50LmJvZHkuc3R5
bGUud2lkdGggPSAoZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aCArIDEwMCkgKyAicHgiOworICAg
ICAgICAgIHNjYWxlV2l0aEV2ZW50U2VuZGVyKCk7CisgICAgICAgICAgc2Nyb2xsKCk7CisgICAg
ICB9CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBzdHlsZT0iaGVpZ2h0OiAyMDAw
cHg7IHdpZHRoOiAyMDAwcHg7IG1hcmdpbjowcHg7IiBvbmxvYWQ9InRlc3QoKTsiPgorICAgIDxk
aXYgc3R5bGU9InBvc2l0aW9uOiBmaXhlZDsgYm90dG9tOiAxMDBweDsgcmlnaHQ6IDEwMHB4OyB6
LWluZGV4OiAxIj4KKyAgICAgICAgPGRpdiBzdHlsZT0ibGVmdDowOyB0b3A6MDsgd2lkdGg6MTAw
cHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6YmxhY2s7Ij48
L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsgdG9wOjA7IHdpZHRoOjEwMHB4
OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmdyZWVuOyI+PC9k
aXY+CisKKyAgICAgICAgPGRpdiBzdHlsZT0ibGVmdDowcHg7IHRvcDoxMDBweDsgd2lkdGg6MTAw
cHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6eWVsbG93OyI+
PC9kaXY+CisgICAgICAgIDxkaXYgc3R5bGU9ImxlZnQ6MTAwcHg7IHRvcDoxMDBweDsgd2lkdGg6
MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Ymx1ZTsi
PjwvZGl2PgorICAgIDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQucG5n
IGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUtZXhw
ZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxZTNlMGVkMGMxMTk0ODkwZGQzZDFkZmU5NDVmYTMwMzE2
MTM0YjAKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDI4NzEKemNtZUFTQE4/KG9sSHlgdVZCcSFp
YTB5fnlVeyt2WVYyYT5pMCpaKT1oXmhsQSVAV3MkbEhgb2s8bX0/b1QhekZICnpsVEBRKkx6QVNH
V1JuIUxsJSYrO1I2fDJVQmVTSUJsdz9hMl5XLTFYbUtaWklhR21zWWFTVy1MXlkrRkBVTUVLJAp6
UiE1KHcwWHM3dnZUTSheSTItYlRpQ3oycnlMfUEqNCVSJlghamt2Sih6WmMqdVJsS24hO2FucU9i
aXtJSXQmZG4Kek1qNH1sRnEjdFJtPHcqYWRIMGYrcTVzVUJ4QzZhcXZTUE9LcXElVWpDPmt3PjJQ
empwdkxpJEkkQWhDYTslSUFOCmh2YEk4anghXkN1LXYpdHwqUG5nJjA9OSUxSllEQDwpO1QzSzBS
VFF6TXojT3wKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1pbi1wYWdlLXNjYWxlLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44YjEzNzg5MTc5MWZlOTY5MjdhZDc4ZTY0YjBhYWQ3YmRlZDA4YmRj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0
LWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1pbi1wYWdlLXNjYWxlLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMDBiOWZiMTU1Y2YzOTJhNjI0MWNjNzE5YjA5NmRmODBjN2Y2MGNhZgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1pbi1w
YWdlLXNjYWxlLmh0bWwKQEAgLTAsMCArMSw1NiBAQAorPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5
bGU+CisgICAgICAgIDo6LXdlYmtpdC1zY3JvbGxiYXIgeworICAgICAgICAgICAgd2lkdGg6IDBw
eDsKKyAgICAgICAgICAgIGhlaWdodDogMHB4OworICAgICAgICB9CisgICAgPC9zdHlsZT4KKyAg
ICA8c2NyaXB0PgorICAgICAgd2luZG93LmVuYWJsZVBpeGVsVGVzdGluZyA9IHRydWU7CisgICAg
ICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldExh
eW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoZG9jdW1lbnQsIHRydWUpOworCisgICAg
ICBmdW5jdGlvbiBzY3JvbGwoKSB7CisgICAgICAgICAgd2luZG93LnNjcm9sbFRvKDEwMCwxMDAp
OworICAgICAgfQorCisgICAgICBmdW5jdGlvbiBzY2FsZVdpdGhFdmVudFNlbmRlcigpIHsKKyAg
ICAgICAgICB2YXIgc2NhbGVGYWN0b3IgPSAyLjA7CisgICAgICAgICAgdmFyIHNjYWxlT2Zmc2V0
ID0gMDsKKyAgICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgICAgICAg
ZXZlbnRTZW5kZXIuc2NhbGVQYWdlQnkoc2NhbGVGYWN0b3IsIHNjYWxlT2Zmc2V0LCBzY2FsZU9m
ZnNldCk7CisgICAgICAgICAgfQorICAgICAgfQorCisgICAgICBmdW5jdGlvbiB0ZXN0KCkgewor
ICAgICAgICAgIHNjYWxlV2l0aEV2ZW50U2VuZGVyKCk7CisgICAgICAgICAgc2Nyb2xsKCk7Cisg
ICAgICB9CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBzdHlsZT0iaGVpZ2h0OjIw
MDBweDsgd2lkdGg6IDIwMDBweDsgbWFyZ2luOjBweDsiIG9ubG9hZD0idGVzdCgpOyI+CisgICAg
PGRpdiBzdHlsZT0icG9zaXRpb246IGZpeGVkOyB0b3A6IC0xMDBweDsgcmlnaHQ6IDEwMHB4OyB6
LWluZGV4OiAxIj4KKyAgICAgICAgPGRpdiBzdHlsZT0ibGVmdDowOyB0b3A6MDsgd2lkdGg6MTAw
cHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6eWVsbG93OyI+
PC9kaXY+CisgICAgICAgIDxkaXYgc3R5bGU9ImxlZnQ6MTAwcHg7IHRvcDowOyB3aWR0aDoxMDBw
eDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpncmVlbjsiPjwv
ZGl2PgorCisgICAgICAgIDxkaXYgc3R5bGU9ImxlZnQ6MDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBw
eDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpibGFjazsiPjwv
ZGl2PgorICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4OyB0b3A6MTAwcHg7IHdpZHRoOjEw
MHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmJsdWU7Ij48
L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHdp
ZHRoOjMwMHB4OyBoZWlnaHQ6MzAwcHg7IHRvcDogMHB4OyBsZWZ0OiAzMDBweCIgaWQ9ImdyaWQi
PgorICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEw
MHB4OyBiYWNrZ3JvdW5kOnllbGxvdzsiPjwvZGl2PgorICAgICAgICA8ZGl2IHN0eWxlPSJmbG9h
dDpsZWZ0OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBiYWNrZ3JvdW5kOmdyZWVuOyI+PC9k
aXY+CisgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6
MTAwcHg7IGJhY2tncm91bmQ6Ymx1ZTsiPjwvZGl2PgorCisgICAgICAgIDxkaXYgc3R5bGU9ImZs
b2F0OmxlZnQ7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IGJhY2tncm91bmQ6IGdyZWVuOyI+
PC9kaXY+CisgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjEwMHB4OyBoZWln
aHQ6MTAwcHg7IGJhY2tncm91bmQ6Ymx1ZTsiPjwvZGl2PgorICAgICAgICA8ZGl2IHN0eWxlPSJm
bG9hdDpsZWZ0OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBiYWNrZ3JvdW5kOnllbGxvdzsi
PjwvZGl2PgorCisgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjEwMHB4OyBo
ZWlnaHQ6MTAwcHg7IGJhY2tncm91bmQ6Ymx1ZTsiPjwvZGl2PgorICAgICAgICA8ZGl2IHN0eWxl
PSJmbG9hdDpsZWZ0OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBiYWNrZ3JvdW5kOnllbGxv
dzsiPjwvZGl2PgorICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoxMDBweDsg
aGVpZ2h0OjEwMHB4OyBiYWNrZ3JvdW5kOmdyZWVuOyI+PC9kaXY+CisgICAgPC9kaXY+CisgICAg
PGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113102</attachid>
            <date>2011-10-31 16:24:36 -0700</date>
            <delta_ts>2011-10-31 18:34:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68617-20111031192434.patch</filename>
            <type>text/plain</type>
            <size>25310</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg4NjcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzOGRkNmQwNWFkYzg0ZjJj
YWIwOWIzYTlhM2NjMjU5MTA3MWUyMzU1Li5hOTE5ZmVhNTUxMGQ5OGFiYjgzYTgxZmRmMTlkNzgx
MmMzODUxYjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTEtMTAtMzEgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2hlbiBwYWdlIHNjYWxp
bmcgaXMgaW4gdXNlIHBvc2l0aW9uOmZpeGVkIGhhcyBpbmNvcnJlY3QgcmVzdWx0cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MTcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGhlIG9wdGlvbiBm
b3IgcG9zaXRpb246Zml4ZWQgZWxlbWVudHMgdG8gYmUgZml4ZWQgdG8gdGhlIGZyYW1lCisgICAg
ICAgIGluc3RlYWQgb2YgdGhlIGxheW91dCByZWN0YW5nbGUgb2YgdGhlIGRvY3VtZW50LgorCisg
ICAgICAgIFRlc3RzOiBmYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS5odG1sCisgICAg
ICAgICAgICAgICBmYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUu
aHRtbAorICAgICAgICAgICAgICAgZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2Nh
bGUuaHRtbAorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogcGFnZS9GcmFt
ZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpyZXNldCk6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OnNjcm9sbFhGb3JGaXhlZFBvc2l0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lVmlldzo6c2Nyb2xsWUZvckZpeGVkUG9zaXRpb24pOgorICAgICAgICAg
IElmIHBvc2l0aW9uOmZpeGVkIGVsZW1lbnRzIGFyZSByZWxhdGl2ZSB0byB0aGUgZnJhbWUsIGRp
c3JlZ2FyZCB0aGUKKyAgICAgICAgICBkcmFnIGZhY3Rvci4KKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lVmlldzo6c2V0TGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZSk6CisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6bGF5b3V0
Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbnRhaW5pbmdCbG9ja0xv
Z2ljYWxXaWR0aEZvclBvc2l0aW9uZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpj
b250YWluaW5nQmxvY2tMb2dpY2FsSGVpZ2h0Rm9yUG9zaXRpb25lZCk6CisgICAgICAgICAgSWYg
cG9zaXRpb246Zml4ZWQgZWxlbWVudHMgYXJlIHJlbGF0aXZlIHRvIHRoZSBmcmFtZSwgdGhlaXIg
Y29udGFpbmVyCisgICAgICAgICAgaXMgdGhlIGZyYW1lIGluc3RlYWQgb2YgdGhlIGxheW91dCBy
ZWN0IG9mIHRoZSBkb2N1bWVudC4gCisgICAgICAgICAgVGhpcyBhbGxvd3MgcHJvcGVyIHBvc2l0
aW9uaW5nIG9mIHRoZXNlIGVsZW1lbnRzIHRvIHRoZSByaWdodCBhbmQKKyAgICAgICAgICBib3R0
b20uCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW50ZXJuYWxzOjpzZXRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKToKKyAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlk
bDoKKyAgICAgICAgICBBbGxvdyBlbmFibGluZyBhbmQgZGlzYWJsaW5nIHRoZSBuZXcgYmVoYXZp
b3IgaW4gbGF5b3V0IHRlc3RzLgorCiAyMDExLTEwLTMxICBBbmRyZWFzIEtsaW5nICA8a2xpbmdA
d2Via2l0Lm9yZz4KIAogICAgICAgICBDU1NSdWxlOiBEZXZpcnR1YWxpemUgaW5zZXJ0ZWRJbnRv
UGFyZW50KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwppbmRleCBiYmYwZjk1OGQyODY0ZDU0ZjI4N2MyODczMDMyYmZiN2Jk
ZGE1NTc2Li4zNmY2MjdhNjk3MGE2ZDJkZTJkMjk0ZmY3ZTQyYTZlOGUyMjllZDlhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMTAtMzEgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2hlbiBwYWdlIHNjYWxpbmcgaXMgaW4gdXNlIHBvc2l0
aW9uOmZpeGVkIGhhcyBpbmNvcnJlY3QgcmVzdWx0cworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIHdpbi9XZWJLaXQyLmRlZjoKKyAgICAgICAgKiB3aW4v
V2ViS2l0MkNGTGl0ZS5kZWY6CisKIDIwMTEtMTAtMzEgIEFuZHJhcyBCZWNzaSAgPGFuZHJhcy5i
ZWNzaUBub2tpYS5jb20+CiAKICAgICAgICAgW1F0XVtXSzJdIEZpeCBxbWx0ZXN0cyBhZnRlciBy
OTg0NjAgYWRkZWQgd2lkZ2V0cyBkZXBlbmRlbmN5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCAw
NWUzNDUyZjkxZjdkZTQ0MmFkOWUyYjkwOTA3MWU1YmZmMmJkNzg0Li45OWRkMmJmZGRmYjgxMTli
YTQ1ZTBkZmJlODljMmE1NzBjY2FlNTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTAxMSw2
ICsxMDExLDcgQEAgX19aTjdXZWJDb3JlOUZyYW1lVmlldzE3c2V0U2Nyb2xsUG9zaXRpb25FUktO
U184SW50UG9pbnRFCiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MTdzZXRUcmFja3NSZXBhaW50c0Vi
CiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MTh1cGRhdGVDb250cm9sVGludHNFdgogX19aTjdXZWJD
b3JlOUZyYW1lVmlldzE5c2Nyb2xsRWxlbWVudFRvUmVjdEVQTlNfN0VsZW1lbnRFUktOU183SW50
UmVjdEUKK19fWk43V2ViQ29yZTlGcmFtZVZpZXczN3NldExheW91dEZpeGVkRWxlbWVudHNSZWxh
dGl2ZVRvRnJhbWVFYgogX19aTjdXZWJDb3JlOUZyYW1lVmlldzIwZW50ZXJDb21wb3NpdGluZ01v
ZGVFdgogX19aTjdXZWJDb3JlOUZyYW1lVmlldzIxZmx1c2hEZWZlcnJlZFJlcGFpbnRzRXYKIF9f
Wk43V2ViQ29yZTlGcmFtZVZpZXcyMnNldEJhc2VCYWNrZ3JvdW5kQ29sb3JFUktOU181Q29sb3JF
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggYWU3ZTdjNzJiNTkyNTViZWE1Njg0Mjcy
ZWM0MDM2ODFkNjYwNTVlMy4uZTMyYTEyYjY5OTAyYzlmMGQ1MDlmMjIyMGRlNzNjYTgxMzcyZjY4
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMjEzLDYgKzIxMyw3IEBAIHZvaWQg
RnJhbWVWaWV3OjpyZXNldCgpCiAgICAgbV9jYW5ub3RCbGl0VG9XaW5kb3cgPSBmYWxzZTsKICAg
ICBtX2lzT3ZlcmxhcHBlZCA9IGZhbHNlOwogICAgIG1fY29udGVudElzT3BhcXVlID0gZmFsc2U7
CisgICAgbV9sYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lID0gZmFsc2U7CiAgICAg
bV9ib3JkZXJYID0gMzA7CiAgICAgbV9ib3JkZXJZID0gMzA7CiAgICAgbV9sYXlvdXRUaW1lci5z
dG9wKCk7CkBAIC0xMzg3LDcgKzEzODgsNyBAQCBMYXlvdXRVbml0IEZyYW1lVmlldzo6c2Nyb2xs
WEZvckZpeGVkUG9zaXRpb24oKSBjb25zdAogICAgIC8vIFdoZW4gdGhlIHBhZ2UgaXMgc2NhbGVk
LCB0aGUgc2NhbGVkICJ2aWV3cG9ydCIgd2l0aCByZXNwZWN0IHRvIHdoaWNoIGZpeGVkIG9iamVj
dCBhcmUgcG9zaXRpb25lZAogICAgIC8vIGRvZXNuJ3QgbW92ZSBhcyBmYXN0IGFzIHRoZSBjb250
ZW50IHZpZXcsIHNvIHRoYXQgd2hlbiB0aGUgY29udGVudCBpcyBzY3JvbGxlZCBhbGwgdGhlIHdh
eSB0byB0aGUKICAgICAvLyBlbmQsIHRoZSBib3R0b20gb2YgdGhlIHNjYWxlZCAidmlld3BvcnQi
IHRvdWNoZXMgdGhlIGJvdHRvbSBvZiB0aGUgcmVhbCB2aWV3cG9ydC4KLSAgICBmbG9hdCBkcmFn
RmFjdG9yID0gKGNvbnRlbnRzV2lkdGgoKSAtIHZpc2libGVDb250ZW50V2lkdGggKiBmcmFtZVNj
YWxlRmFjdG9yKSAvIG1heFg7CisgICAgZmxvYXQgZHJhZ0ZhY3RvciA9IGxheW91dEZpeGVkRWxl
bWVudHNSZWxhdGl2ZVRvRnJhbWUoKSA/IDEgOiAoY29udGVudHNXaWR0aCgpIC0gdmlzaWJsZUNv
bnRlbnRXaWR0aCAqIGZyYW1lU2NhbGVGYWN0b3IpIC8gbWF4WDsKIAogICAgIHJldHVybiB4ICog
ZHJhZ0ZhY3RvciAvIGZyYW1lU2NhbGVGYWN0b3I7CiB9CkBAIC0xMzk1LDggKzEzOTYsOCBAQCBM
YXlvdXRVbml0IEZyYW1lVmlldzo6c2Nyb2xsWEZvckZpeGVkUG9zaXRpb24oKSBjb25zdAogTGF5
b3V0VW5pdCBGcmFtZVZpZXc6OnNjcm9sbFlGb3JGaXhlZFBvc2l0aW9uKCkgY29uc3QKIHsKICAg
ICBMYXlvdXRVbml0IHZpc2libGVDb250ZW50SGVpZ2h0ID0gdmlzaWJsZUNvbnRlbnRSZWN0KCku
aGVpZ2h0KCk7Ci0KICAgICBMYXlvdXRVbml0IG1heFkgPSBjb250ZW50c0hlaWdodCgpIC0gdmlz
aWJsZUNvbnRlbnRIZWlnaHQ7CisKICAgICBpZiAobWF4WSA9PSAwKQogICAgICAgICByZXR1cm4g
MDsKIApAQCAtMTQxOCw4ICsxNDE5LDcgQEAgTGF5b3V0VW5pdCBGcmFtZVZpZXc6OnNjcm9sbFlG
b3JGaXhlZFBvc2l0aW9uKCkgY29uc3QKICAgICAgICAgcmV0dXJuIHk7CiAKICAgICBmbG9hdCBm
cmFtZVNjYWxlRmFjdG9yID0gbV9mcmFtZS0+ZnJhbWVTY2FsZUZhY3RvcigpOwotICAgIGZsb2F0
IGRyYWdGYWN0b3IgPSAoY29udGVudHNIZWlnaHQoKSAtIHZpc2libGVDb250ZW50SGVpZ2h0ICog
ZnJhbWVTY2FsZUZhY3RvcikgLyBtYXhZOwotCisgICAgZmxvYXQgZHJhZ0ZhY3RvciA9IGxheW91
dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoKSA/IDEgOiAoY29udGVudHNIZWlnaHQoKSAt
IHZpc2libGVDb250ZW50SGVpZ2h0ICogZnJhbWVTY2FsZUZhY3RvcikgLyBtYXhZOwogICAgIHJl
dHVybiB5ICogZHJhZ0ZhY3RvciAvIGZyYW1lU2NhbGVGYWN0b3I7CiB9CiAKQEAgLTE0MjgsNiAr
MTQyOCwxOSBAQCBMYXlvdXRTaXplIEZyYW1lVmlldzo6c2Nyb2xsT2Zmc2V0Rm9yRml4ZWRQb3Np
dGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIExheW91dFNpemUoc2Nyb2xsWEZvckZpeGVkUG9zaXRp
b24oKSwgc2Nyb2xsWUZvckZpeGVkUG9zaXRpb24oKSk7CiB9CiAKK3ZvaWQgRnJhbWVWaWV3Ojpz
ZXRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKGJvb2wgbGF5b3V0Rml4ZWRFbGVt
ZW50c1JlbGF0aXZlVG9GcmFtZSkKK3sKKyAgICBpZiAobGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0
aXZlVG9GcmFtZSA9PSBtX2xheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUpCisgICAg
ICAgIHJldHVybjsKKworICAgIG1fbGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZSA9
IGxheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWU7CisKKyAgICBpZiAoIWhhc0ZpeGVk
T2JqZWN0cygpKQorICAgICAgICByZXR1cm47CisKKyAgICBzZXROZWVkc0xheW91dCgpOworfQor
CiBMYXlvdXRQb2ludCBGcmFtZVZpZXc6OmN1cnJlbnRNb3VzZVBvc2l0aW9uKCkgY29uc3QKIHsK
ICAgICByZXR1cm4gbV9mcmFtZSA/IG1fZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5jdXJyZW50TW91
c2VQb3NpdGlvbigpIDogSW50UG9pbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IGJm
N2QzZmJkM2MzZWZiMzliMGMzY2YxZDdjNjM1NzkyNGMxZGUzY2EuLmExNWMzOGIzMzY4YmE1Njc2
NzI1ZjIyNGJlZjhlODY5ZmU4YTU4NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWVWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMTk1
LDYgKzE5NSw5IEBAIHB1YmxpYzoKICAgICBMYXlvdXRVbml0IHNjcm9sbFlGb3JGaXhlZFBvc2l0
aW9uKCkgY29uc3Q7CiAgICAgTGF5b3V0U2l6ZSBzY3JvbGxPZmZzZXRGb3JGaXhlZFBvc2l0aW9u
KCkgY29uc3Q7CiAKKyAgICBib29sIGxheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUo
KSBjb25zdCB7IHJldHVybiBtX2xheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWU7IH0K
KyAgICB2b2lkIHNldExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoYm9vbCk7CisK
ICAgICB2b2lkIGJlZ2luRGVmZXJyZWRSZXBhaW50cygpOwogICAgIHZvaWQgZW5kRGVmZXJyZWRS
ZXBhaW50cygpOwogICAgIHZvaWQgY2hlY2tTdG9wRGVsYXlpbmdEZWZlcnJlZFJlcGFpbnRzKCk7
CkBAIC00MDksNyArNDEyLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fY29udGVudElzT3BhcXVl
OwogICAgIHVuc2lnbmVkIG1fc2xvd1JlcGFpbnRPYmplY3RDb3VudDsKICAgICB1bnNpZ25lZCBt
X2ZpeGVkT2JqZWN0Q291bnQ7Ci0KKyAgICBib29sIG1fbGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0
aXZlVG9GcmFtZTsKICAgICBpbnQgbV9ib3JkZXJYOwogICAgIGludCBtX2JvcmRlclk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggNjlkMTI0Zjc0ZTg2N2QxZGYz
NDAwOTliNTc4ODkxNTYzMTdkODgzYi4uMTQ2MjdiNzJlMDRlZWFkMzMwY2Q5ZjZjOTU1ZTVlNjQ1
Y2Q4ZTNkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTIzMjgs
NiArMjMyOCwxMiBAQCB2b2lkIFJlbmRlckJveDo6Y29tcHV0ZUJsb2NrRGlyZWN0aW9uTWFyZ2lu
cyhSZW5kZXJCbG9jayogY29udGFpbmluZ0Jsb2NrKQogaW50IFJlbmRlckJveDo6Y29udGFpbmlu
Z0Jsb2NrTG9naWNhbFdpZHRoRm9yUG9zaXRpb25lZChjb25zdCBSZW5kZXJCb3hNb2RlbE9iamVj
dCogY29udGFpbmluZ0Jsb2NrLCBSZW5kZXJSZWdpb24qIHJlZ2lvbiwKICAgICBMYXlvdXRVbml0
IG9mZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJzdFBhZ2UsIGJvb2wgY2hlY2tGb3JQZXJwZW5kaWN1
bGFyV3JpdGluZ01vZGUpIGNvbnN0CiB7CisgICAgLy8gQ29udGFpbmVyIGZvciBwb3NpdGlvbjpm
aXhlZCBpcyB0aGUgZnJhbWUuCisgICAgRnJhbWUqIGZyYW1lID0gdmlldygpID8gdmlldygpLT5m
cmFtZSgpOiAwOworICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gdmlldygpID8gdmlldygpLT5m
cmFtZVZpZXcoKSA6IDA7CisgICAgaWYgKHN0eWxlKCkgJiYgc3R5bGUoKS0+cG9zaXRpb24oKSA9
PSBGaXhlZFBvc2l0aW9uICYmIGZyYW1lICYmIGZyYW1lVmlldyAmJiBmcmFtZVZpZXctPmxheW91
dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoKSkKKyAgICAgICAgcmV0dXJuICh2aWV3KCkt
PmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBmcmFtZVZpZXctPnZpc2libGVXaWR0aCgpIDog
ZnJhbWVWaWV3LT52aXNpYmxlSGVpZ2h0KCkpIC8gZnJhbWUtPmZyYW1lU2NhbGVGYWN0b3IoKTsK
KwogICAgIGlmIChjaGVja0ZvclBlcnBlbmRpY3VsYXJXcml0aW5nTW9kZSAmJiBjb250YWluaW5n
QmxvY2stPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgIT0gaXNIb3Jpem9udGFsV3JpdGluZ01v
ZGUoKSkKICAgICAgICAgcmV0dXJuIGNvbnRhaW5pbmdCbG9ja0xvZ2ljYWxIZWlnaHRGb3JQb3Np
dGlvbmVkKGNvbnRhaW5pbmdCbG9jaywgZmFsc2UpOwogCkBAIC0yMzgwLDYgKzIzODYsMTEgQEAg
aW50IFJlbmRlckJveDo6Y29udGFpbmluZ0Jsb2NrTG9naWNhbFdpZHRoRm9yUG9zaXRpb25lZChj
b25zdCBSZW5kZXJCb3hNb2RlbE9iamUKIAogaW50IFJlbmRlckJveDo6Y29udGFpbmluZ0Jsb2Nr
TG9naWNhbEhlaWdodEZvclBvc2l0aW9uZWQoY29uc3QgUmVuZGVyQm94TW9kZWxPYmplY3QqIGNv
bnRhaW5pbmdCbG9jaywgYm9vbCBjaGVja0ZvclBlcnBlbmRpY3VsYXJXcml0aW5nTW9kZSkgY29u
c3QKIHsKKyAgICBGcmFtZSogZnJhbWUgPSB2aWV3KCkgPyB2aWV3KCktPmZyYW1lKCk6IDA7Cisg
ICAgRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSB2aWV3KCkgPyB2aWV3KCktPmZyYW1lVmlldygpIDog
MDsKKyAgICBpZiAoc3R5bGUoKSAmJiBzdHlsZSgpLT5wb3NpdGlvbigpID09IEZpeGVkUG9zaXRp
b24gJiYgZnJhbWUgJiYgZnJhbWVWaWV3LT5sYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0Zy
YW1lKCkpCisgICAgICAgIHJldHVybiAodmlldygpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgp
ID8gZnJhbWVWaWV3LT52aXNpYmxlSGVpZ2h0KCkgOiBmcmFtZVZpZXctPnZpc2libGVXaWR0aCgp
KSAvIGZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCk7CisKICAgICBpZiAoY2hlY2tGb3JQZXJwZW5k
aWN1bGFyV3JpdGluZ01vZGUgJiYgY29udGFpbmluZ0Jsb2NrLT5pc0hvcml6b250YWxXcml0aW5n
TW9kZSgpICE9IGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCiAgICAgICAgIHJldHVybiBjb250
YWluaW5nQmxvY2tMb2dpY2FsV2lkdGhGb3JQb3NpdGlvbmVkKGNvbnRhaW5pbmdCbG9jaywgMCwg
MCwgZmFsc2UpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggNDc5ZWI1
NDA3NjAzZjc4NWI3YmRiNTkxMDBmOGIwMDdmOGExM2ZiMy4uODhjMWVmOWRhMDJjN2IwZDliYzAx
M2E0MmMxZjBkY2M4ZTRkNDU4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApA
QCAtNDg0LDQgKzQ4NCwxNSBAQCB1bnNpZ25lZCBJbnRlcm5hbHM6Omxlbmd0aEZyb21SYW5nZShF
bGVtZW50KiBzY29wZSwgY29uc3QgUmFuZ2UqIHJhbmdlLCBFeGNlcHRpbwogICAgIHJldHVybiBs
ZW5ndGg7CiB9CiAKK3ZvaWQgSW50ZXJuYWxzOjpzZXRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRp
dmVUb0ZyYW1lKERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCBlbmFibGVkLCBFeGNlcHRpb25Db2Rl
JiBlYykKK3sKKyAgICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC0+dmlldygpKSB7CisgICAg
ICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSBkb2N1bWVudC0+dmlldygpOworICAgIGZyYW1lVmll
dy0+c2V0TGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZShlbmFibGVkKTsKK30KKwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggODI2ZDEwMTZiMzQxNzRkMGM1YTAy
YzMyY2JlZDI4ZGVjM2U4MDk3OC4uMmM4Mjg4ODlhNjk2YzY5MzE2OWM3NWUyN2MwOTk0NTZiNzkx
NGI5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC05OCw2ICs5OCw3IEBAIHB1
YmxpYzoKICAgICBQYXNzUmVmUHRyPFJhbmdlPiByYW5nZUZyb21Mb2NhdGlvbkFuZExlbmd0aChF
bGVtZW50KiBzY29wZSwgaW50IHJhbmdlTG9jYXRpb24sIGludCByYW5nZUxlbmd0aCwgRXhjZXB0
aW9uQ29kZSYpOwogICAgIHVuc2lnbmVkIGxvY2F0aW9uRnJvbVJhbmdlKEVsZW1lbnQqIHNjb3Bl
LCBjb25zdCBSYW5nZSosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB1bnNpZ25lZCBsZW5ndGhGcm9t
UmFuZ2UoRWxlbWVudCogc2NvcGUsIGNvbnN0IFJhbmdlKiwgRXhjZXB0aW9uQ29kZSYpOworICAg
IHZvaWQgc2V0TGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZShEb2N1bWVudCosIGJv
b2wsIEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgIHN0YXRpYyBjb25zdCBjaGFyKiBpbnRlcm5hbHNJ
ZDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDUzNmJlNjAwMDMyNGQw
MzRlMTAwYzk5Yzk1ZTRmZDdkNzNiZDkyZWQuLjdjMDYxMWRjODdjY2FjMzcyM2JmN2EyZmJhZWRh
Yzc4NWIzOGI5MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTcyLDYg
KzcyLDggQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIFJhbmdlIHJhbmdlRnJvbUxvY2F0aW9u
QW5kTGVuZ3RoKGluIEVsZW1lbnQgc2NvcGUsIGluIGxvbmcgcmFuZ2VMb2NhdGlvbiwgaW4gbG9u
ZyByYW5nZUxlbmd0aCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgICAgICB1bnNpZ25lZCBs
b25nIGxvY2F0aW9uRnJvbVJhbmdlKGluIEVsZW1lbnQgc2NvcGUsIGluIFJhbmdlIHJhbmdlKSBy
YWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHVuc2lnbmVkIGxvbmcgbGVuZ3RoRnJvbVJh
bmdlKGluIEVsZW1lbnQgc2NvcGUsIGluIFJhbmdlIHJhbmdlKSByYWlzZXMgKERPTUV4Y2VwdGlv
bik7CisKKyAgICAgICAgdm9pZCBzZXRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1l
KGluIERvY3VtZW50IGRvY3VtZW50LCBpbiBib29sZWFuIGVuYWJsZWQpIHJhaXNlcyhET01FeGNl
cHRpb24pOwogICAgIH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJL
aXQyLmRlZiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgppbmRleCAxNzY5MzA1NjQ4
OWJiYWU2NTc1MDdiOWQ1MWExMWE1NjY3NmJlMTIxLi5kNjM4ZDMzYjczMjRiZjA5MjVlMGNkZTRl
Y2Q5MThlODg4Yjk1OGRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5k
ZWYKKysrIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCkBAIC0xNjgsNiArMTY4LDcg
QEAgRVhQT1JUUwogICAgICAgICA/cmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGhAVGV4dEl0ZXJh
dG9yQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZSYW5nZUBXZWJDb3JlQEBAV1RGQEBQQVZF
bGVtZW50QDJASEhfTkBaCiAgICAgICAgID9yZW1vdmVTaGFkb3dSb290QEVsZW1lbnRAV2ViQ29y
ZUBAUUFFWFhaCiAgICAgICAgID9zY3JvbGxFbGVtZW50VG9SZWN0QEZyYW1lVmlld0BXZWJDb3Jl
QEBRQUVYUEFWRWxlbWVudEAyQEFCVkludFJlY3RAMkBAWgorICAgICAgICA/c2V0TGF5b3V0Rml4
ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZUBGcmFtZVZpZXdAV2ViQ29yZUBAUUFFWF9OQFoKICAg
ICAgICAgP3NldERPTUV4Y2VwdGlvbkBXZWJDb3JlQEBZQVhQQVZFeGVjU3RhdGVASlNDQEBIQFoK
ICAgICAgICAgP3NldFJlc291cmNlc0RhdGFTaXplTGltaXRzRnJvbUludGVybmFsc0BJbnNwZWN0
b3JDb250cm9sbGVyQFdlYkNvcmVAQFFBRVhISEBaCiAgICAgICAgID9zZXRTY3JvbGxiYXJzU3Vw
cHJlc3NlZEBTY3JvbGxWaWV3QFdlYkNvcmVAQFFBRVhfTjBAWgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktp
dDJDRkxpdGUuZGVmCmluZGV4IGVjMzFkOGRjMTVjMGVkYzdmZTc1YmNhZTU0MTBjYjBlMTZmYTRh
OGMuLjBlMWI0M2E3N2I5ZjJmN2MxOGI1M2IyODBkYWJlNDVjNzQxMjEzMmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgorKysgYi9Tb3VyY2UvV2ViS2l0
Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKQEAgLTE1OSw2ICsxNTksNyBAQCBFWFBPUlRTCiAgICAg
ICAgID9yYW5nZUZyb21Mb2NhdGlvbkFuZExlbmd0aEBUZXh0SXRlcmF0b3JAV2ViQ29yZUBAU0E/
QVY/JFBhc3NSZWZQdHJAVlJhbmdlQFdlYkNvcmVAQEBXVEZAQFBBVkVsZW1lbnRAMkBISF9OQFoK
ICAgICAgICAgP3JlbW92ZVNoYWRvd1Jvb3RARWxlbWVudEBXZWJDb3JlQEBRQUVYWFoKICAgICAg
ICAgP3Njcm9sbEVsZW1lbnRUb1JlY3RARnJhbWVWaWV3QFdlYkNvcmVAQFFBRVhQQVZFbGVtZW50
QDJAQUJWSW50UmVjdEAyQEBaCisgICAgICAgID9zZXRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRp
dmVUb0ZyYW1lQEZyYW1lVmlld0BXZWJDb3JlQEBRQUVYX05AWgogICAgICAgICA/c2V0RE9NRXhj
ZXB0aW9uQFdlYkNvcmVAQFlBWFBBVkV4ZWNTdGF0ZUBKU0NAQEhAWgogICAgICAgICA/c2V0UmVz
b3VyY2VzRGF0YVNpemVMaW1pdHNGcm9tSW50ZXJuYWxzQEluc3BlY3RvckNvbnRyb2xsZXJAV2Vi
Q29yZUBAUUFFWEhIQFoKICAgICAgICAgP3NldFNjcm9sbGJhcnNTdXBwcmVzc2VkQFNjcm9sbFZp
ZXdAV2ViQ29yZUBAUUFFWF9OMEBaCmRpZmYgLS1naXQgYS9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJv
bHMuZmlsdGVyIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgppbmRleCBhMzExMzk2
MTIyMTRiOGU1MDIxMzA0MzU3YzBlN2NmNDBhOTJjOTdlLi5mODdhODJmM2Q3YWZkOTdjNjI3ZTYx
MDc0MjFmZmMzNTE2YTk0NzMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMu
ZmlsdGVyCisrKyBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKQEAgLTgwLDYgKzgw
LDcgQEAgX1pON1dlYkNvcmUxNFNjcm9sbGFibGVBcmVhMjhzZXRTY3JvbGxPZmZzZXRGcm9tSW50
ZXJuYWxzRVJLTlNfOEludFBvaW50RTsKIF9aTjdXZWJDb3JlMTBTY3JvbGxWaWV3MjNzZXRTY3Jv
bGxiYXJzU3VwcHJlc3NlZEViYjsKIF9aTjdXZWJDb3JlOUZyYW1lVmlldzE3cGFpbnRDb250cm9s
VGludHNFdjsKIF9aTjdXZWJDb3JlOUZyYW1lVmlldzE5c2Nyb2xsRWxlbWVudFRvUmVjdEVQTlNf
N0VsZW1lbnRFUktOU183SW50UmVjdEU7CitfWk43V2ViQ29yZTlGcmFtZVZpZXczN3NldExheW91
dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWVFYjsKIGxvY2FsOgogX1oqOwogY3RpKjsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCAwM2NmYTA0OGU1NmU0OTA4M2UyNmE1M2UzZTJhMjU1ZGZlMWUzMWM4Li42MjA2YjY5ODBj
ZTY2YTUxZjA0OGRjMjc3ODIxOWM1ZjdkOTQyNmE3IDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIw
MTEtMTAtMzEgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
V2hlbiBwYWdlIHNjYWxpbmcgaXMgaW4gdXNlIHBvc2l0aW9uOmZpeGVkIGhhcyBpbmNvcnJlY3Qg
cmVzdWx0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Njg2MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGZhc3QvcmVwYWludC9maXhlZC1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnBuZzogQWRkZWQuCisg
ICAgICAgICogZmFzdC9yZXBhaW50L2ZpeGVkLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Ut
c2NhbGUtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvZml4ZWQt
cmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUtZXhw
ZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4t
cGFnZS1zY2FsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWludC9m
aXhlZC1yaWdodC1pbi1wYWdlLXNjYWxlLmh0bWw6IEFkZGVkLgorCiAyMDExLTEwLTMxICBMZWFu
ZHJvIFBlcmVpcmEgIDxsZWFuZHJvQHByb2Z1c2lvbi5tb2JpPgogCiAgICAgICAgIFtFRkxdIFVu
cmV2aWV3ZWQuIFVwZGF0ZSBTa2lwcGVkIGxpc3QuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0
cy9mYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC5wbmcKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzIzNTM5OTUzNzlkNzZhOTU1NjliMjA4MDEyNWZiYzRhZWYyYWFkNApHSVQgYmluYXJ5IHBh
dGNoCmxpdGVyYWwgMjg2OQp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJhPmkwKlop
PWheaGxBJUBXcyRsSGBvazxtfT9vVG4wLWMKeml6RVhSMTJkejxXSylDVyMzVkIjV0FqOEhIYHo0
QkM/eiRgeFQoPjxrJTU4aHhUbExfTlg0QURII1lKejFAZj51CnpAP0E3dlIyMHc2KHlnO0VPez0x
QGRGcCFoS0xeZnlWPjxVX0wmTl9NY2pPb3QzWnhvWTgzY3FRNyNJdms4S1okUAp6bmlBLWszcFFS
cV5OcSE/cTt7S2whSl44MWVURS0+ezkrNmFKXyhFck1fNUp+cWslQSo2NmwtQC1wcmMkbVkwRlMK
d3tvX0Y8aDdMfDBoSzNtak1qNH1sRnEjdFJvRDEmZS1RIXpuXkJ9VmEqYlpqIWJvRnl0PWFrUnsw
MlNZOSN7ZDhUCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOGIxMzc4OTE3OTFmZTk2OTI3YWQ3OGU2NGIwYWFkN2JkZWQwOGJkYwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1pbi1wYWdlLXNjYWxlLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
cmVwYWludC9maXhlZC1pbi1wYWdlLXNjYWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFp
bnQvZml4ZWQtaW4tcGFnZS1zY2FsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQyZTY2MTk5MjczZjBlZWQ4
ZTEyNjViZDNiOTAwNWRiY2Q4NWFkZGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS5odG1sCkBAIC0wLDAgKzEsNTQgQEAKKzxo
dG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyIHsK
KyAgICAgICAgICAgIHdpZHRoOiAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDBweDsKKyAgICAg
ICAgfQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdD4KKyAgICAgIHdpbmRvdy5lbmFibGVQaXhl
bFRlc3RpbmcgPSB0cnVlOworICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAg
d2luZG93LmludGVybmFscy5zZXRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKGRv
Y3VtZW50LCB0cnVlKTsKKworICAgICAgZnVuY3Rpb24gc2Nyb2xsKCkgeworICAgICAgICAgIHdp
bmRvdy5zY3JvbGxUbygxMDAsMTAwKTsKKyAgICAgIH0KKworICAgICAgZnVuY3Rpb24gc2NhbGVX
aXRoRXZlbnRTZW5kZXIoKSB7CisgICAgICAgICAgdmFyIHNjYWxlRmFjdG9yID0gMi4wOworICAg
ICAgICAgIHZhciBzY2FsZU9mZnNldCA9IDA7CisgICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNl
bmRlcikgeworICAgICAgICAgICAgIGV2ZW50U2VuZGVyLnNjYWxlUGFnZUJ5KHNjYWxlRmFjdG9y
LCBzY2FsZU9mZnNldCwgc2NhbGVPZmZzZXQpOworICAgICAgICAgIH0KKyAgICAgIH0KKworICAg
ICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAgICAgICBzY2FsZVdpdGhFdmVudFNlbmRlcigpOwor
ICAgICAgICAgIHNjcm9sbCgpOworICAgICAgfQorICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQg
c3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHkgc3R5bGU9IndpZHRoOjIwMDBweDsgaGVpZ2h0OjIwMDBweDsgbWFyZ2luOjBweDsiIG9u
bG9hZD0idGVzdCgpOyI+CisgICAgPGRpdiBzdHlsZT0icG9zaXRpb246IGZpeGVkOyB0b3A6IC0x
MDBweDsgbGVmdDogLTEwMHB4OyB6LWluZGV4OiAxIj4KKyAgICAgICAgPGRpdiBzdHlsZT0ibGVm
dDowOyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7
IGJhY2tncm91bmQ6eWVsbG93OyI+PC9kaXY+CisgICAgICAgIDxkaXYgc3R5bGU9ImxlZnQ6MTAw
cHg7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsg
YmFja2dyb3VuZDpncmVlbjsiPjwvZGl2PgorCisgICAgICAgIDxkaXYgc3R5bGU9ImxlZnQ6MDsg
dG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsg
YmFja2dyb3VuZDpncmVlbjsiPjwvZGl2PgorICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4
OyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRl
OyBiYWNrZ3JvdW5kOmJsYWNrOyI+PC9kaXY+CisgICAgPC9kaXY+CisKKyAgICA8ZGl2IHN0eWxl
PSJsZWZ0OjA7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNv
bHV0ZTsgYmFja2dyb3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjEw
MHB4OyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7
IGJhY2tncm91bmQ6Z3JlZW47Ij48L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjIwMHB4OyB0
b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tn
cm91bmQ6Ymx1ZTsiPjwvZGl2PgorCisgICAgPGRpdiBzdHlsZT0ibGVmdDowOyB0b3A6MTAwcHg7
IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5k
OiBncmVlbjsiPjwvZGl2PgorICAgIDxkaXYgc3R5bGU9ImxlZnQ6MTAwcHg7IHRvcDoxMDBweDsg
d2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6
Ymx1ZTsiPjwvZGl2PgorICAgIDxkaXYgc3R5bGU9ImxlZnQ6MjAwcHg7IHRvcDoxMDBweDsgd2lk
dGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6eWVs
bG93OyI+PC9kaXY+CisKKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjA7IHRvcDoyMDBweDsgd2lkdGg6
MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Ymx1ZTsi
PjwvZGl2PgorICAgIDxkaXYgc3R5bGU9ImxlZnQ6MTAwcHg7IHRvcDoyMDBweDsgd2lkdGg6MTAw
cHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6eWVsbG93OyI+
PC9kaXY+CisgICAgPGRpdiBzdHlsZT0ibGVmdDoyMDBweDsgdG9wOjIwMHB4OyB3aWR0aDoxMDBw
eDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpncmVlbjsiPjwv
ZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBh
aW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnBuZyBiL0xheW91
dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1ib3R0b20taW4tcGFnZS1zY2FsZS1leHBl
Y3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNzI1ZjVhZjUwZWU2MjZmNjQyNjhjZGJkOTZlMDU5YjcyYzQy
MWExYgpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjg1MAp6Y21lQVNATj8ob2xIeWB1VkJxIWlh
MHl+eVV7K3ZZVjJhPmkwKlopPWheaGxBJUBXcyRsSGBvazxtfT9vVG41dSoKejwwS09eTHJaZ3VC
bnlpfkxxajdvTCZGcCFHWG8yZzZpYyZZJWNRd3d1Vk5TJnhWQ3RASUVHWnJkMyltXj1LJXUmCno9
N1RYRnw4PWM+YiEyQUQ8b1hoMEBfWV9FTCZMZTx3aFJtcCUkVD90NngyMl9GZUhzS01ndzZxQzUr
flIoT2ZXXgp6M3IwPlp4Y2BsVDtmOUl2WlEmZ2cqaGchXihOQDR7USlyLWEhOGhpS1VoSkZ2PmYo
VHtVPEwrSFMzajNeUDY8cl8KREViN3FFCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Ut
c2NhbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0
LWJvdHRvbS1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YjEzNzg5MTc5
MWZlOTY5MjdhZDc4ZTY0YjBhYWQ3YmRlZDA4YmRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxlLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxIEBACisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVw
YWludC9maXhlZC1yaWdodC1ib3R0b20taW4tcGFnZS1zY2FsZS5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxlLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uY2ZlNTU1OGU1NDM3NTllMmMzMzllYWMxY2Y4ZTA4M2Q5M2JjNTBiOQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1ib3R0b20taW4t
cGFnZS1zY2FsZS5odG1sCkBAIC0wLDAgKzEsNDMgQEAKKzxodG1sPgorPGhlYWQ+CisgICAgPHN0
eWxlPgorICAgICAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKKyAgICAgICAgICAgIHdpZHRoOiAw
cHg7CisgICAgICAgICAgICBoZWlnaHQ6IDBweDsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+Cisg
ICAgPHNjcmlwdD4KKyAgICAgIHdpbmRvdy5lbmFibGVQaXhlbFRlc3RpbmcgPSB0cnVlOworICAg
ICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXRM
YXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKGRvY3VtZW50LCB0cnVlKTsKKworICAg
ICAgZnVuY3Rpb24gc2Nyb2xsKCkgeworICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygxMDAsMTAw
KTsKKyAgICAgIH0KKworICAgICAgZnVuY3Rpb24gc2NhbGVXaXRoRXZlbnRTZW5kZXIoKSB7Cisg
ICAgICAgICAgdmFyIHNjYWxlRmFjdG9yID0gMi4wOworICAgICAgICAgIHZhciBzY2FsZU9mZnNl
dCA9IDA7CisgICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICAgICAg
IGV2ZW50U2VuZGVyLnNjYWxlUGFnZUJ5KHNjYWxlRmFjdG9yLCBzY2FsZU9mZnNldCwgc2NhbGVP
ZmZzZXQpOworICAgICAgICAgIH0KKyAgICAgIH0KKworICAgICAgZnVuY3Rpb24gdGVzdCgpIHsK
KyAgICAgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLndpZHRoID0gKGRvY3VtZW50LmJvZHkuY2xp
ZW50V2lkdGggKyAxMDApICsgInB4IjsKKyAgICAgICAgICBzY2FsZVdpdGhFdmVudFNlbmRlcigp
OworICAgICAgICAgIHNjcm9sbCgpOworICAgICAgfQorICAgIDwvc2NyaXB0PgorICAgIDxzY3Jp
cHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHkgc3R5bGU9ImhlaWdodDogMjAwMHB4OyB3aWR0aDogMjAwMHB4OyBtYXJnaW46MHB4
OyIgb25sb2FkPSJ0ZXN0KCk7Ij4KKyAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogZml4ZWQ7IGJv
dHRvbTogMTAwcHg7IHJpZ2h0OiAxMDBweDsgei1pbmRleDogMSI+CisgICAgICAgIDxkaXYgc3R5
bGU9ImxlZnQ6MDsgdG9wOjA7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFi
c29sdXRlOyBiYWNrZ3JvdW5kOmJsYWNrOyI+PC9kaXY+CisgICAgICAgIDxkaXYgc3R5bGU9Imxl
ZnQ6MTAwcHg7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNv
bHV0ZTsgYmFja2dyb3VuZDpncmVlbjsiPjwvZGl2PgorCisgICAgICAgIDxkaXYgc3R5bGU9Imxl
ZnQ6MHB4OyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFi
c29sdXRlOyBiYWNrZ3JvdW5kOnllbGxvdzsiPjwvZGl2PgorICAgICAgICA8ZGl2IHN0eWxlPSJs
ZWZ0OjEwMHB4OyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9u
OmFic29sdXRlOyBiYWNrZ3JvdW5kOmJsdWU7Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdo
dC1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9m
aXhlZC1yaWdodC1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMWUzZTBl
ZDBjMTE5NDg5MGRkM2QxZGZlOTQ1ZmEzMDMxNjEzNGIwCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJh
bCAyODcxCnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEweX55VXsrdllWMmE+aTAqWik9aF5obEElQFdz
JGxIYG9rPG19P29UIXpGSAp6bFRAUSpMekFTR1dSbiFMbCUmKztSNnwyVUJlU0lCbHc/YTJeVy0x
WG1LWlpJYUdtc1lhU1ctTF5ZK0ZAVU1FSyQKelIhNSh3MFhzN3Z2VE0oXkkyLWJUaUN6MnJ5TH1B
KjQlUiZYIWprdkooelpjKnVSbEtuITthbnFPYml7SUl0JmRuCnpNajR9bEZxI3RSbTx3KmFkSDBm
K3E1c1VCeEM2YXF2U1BPS3FxJVVqQz5rdz4yUHpqcHZMaSRJJEFoQ2E7JUlBTgpodmBJOGp4IV5D
dS12KXR8KlBuZyYwPTklMUpZREA8KTtUM0swUlRRek16I098CgpsaXRlcmFsIDAKSGNtVj9kMDAw
MDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4t
cGFnZS1zY2FsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQt
cmlnaHQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGIxMzc4OTE3OTFm
ZTk2OTI3YWQ3OGU2NGIwYWFkN2JkZWQwOGJkYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxIEBACisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhl
ZC1yaWdodC1pbi1wYWdlLXNjYWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4
ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAwYjlmYjE1NWNmMzkyYTYy
NDFjYzcxOWIwOTZkZjgwYzdmNjBjYWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS5odG1sCkBAIC0wLDAgKzEsNTYg
QEAKKzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICA6Oi13ZWJraXQtc2Nyb2xs
YmFyIHsKKyAgICAgICAgICAgIHdpZHRoOiAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDBweDsK
KyAgICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdD4KKyAgICAgIHdpbmRvdy5lbmFi
bGVQaXhlbFRlc3RpbmcgPSB0cnVlOworICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAg
ICAgICAgd2luZG93LmludGVybmFscy5zZXRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0Zy
YW1lKGRvY3VtZW50LCB0cnVlKTsKKworICAgICAgZnVuY3Rpb24gc2Nyb2xsKCkgeworICAgICAg
ICAgIHdpbmRvdy5zY3JvbGxUbygxMDAsMTAwKTsKKyAgICAgIH0KKworICAgICAgZnVuY3Rpb24g
c2NhbGVXaXRoRXZlbnRTZW5kZXIoKSB7CisgICAgICAgICAgdmFyIHNjYWxlRmFjdG9yID0gMi4w
OworICAgICAgICAgIHZhciBzY2FsZU9mZnNldCA9IDA7CisgICAgICAgICAgaWYgKHdpbmRvdy5l
dmVudFNlbmRlcikgeworICAgICAgICAgICAgIGV2ZW50U2VuZGVyLnNjYWxlUGFnZUJ5KHNjYWxl
RmFjdG9yLCBzY2FsZU9mZnNldCwgc2NhbGVPZmZzZXQpOworICAgICAgICAgIH0KKyAgICAgIH0K
KworICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAgICAgICBzY2FsZVdpdGhFdmVudFNlbmRl
cigpOworICAgICAgICAgIHNjcm9sbCgpOworICAgICAgfQorICAgIDwvc2NyaXB0PgorICAgIDxz
Y3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHkgc3R5bGU9ImhlaWdodDoyMDAwcHg7IHdpZHRoOiAyMDAwcHg7IG1hcmdpbjow
cHg7IiBvbmxvYWQ9InRlc3QoKTsiPgorICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBmaXhlZDsg
dG9wOiAtMTAwcHg7IHJpZ2h0OiAxMDBweDsgei1pbmRleDogMSI+CisgICAgICAgIDxkaXYgc3R5
bGU9ImxlZnQ6MDsgdG9wOjA7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFi
c29sdXRlOyBiYWNrZ3JvdW5kOnllbGxvdzsiPjwvZGl2PgorICAgICAgICA8ZGl2IHN0eWxlPSJs
ZWZ0OjEwMHB4OyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJz
b2x1dGU7IGJhY2tncm91bmQ6Z3JlZW47Ij48L2Rpdj4KKworICAgICAgICA8ZGl2IHN0eWxlPSJs
ZWZ0OjA7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJz
b2x1dGU7IGJhY2tncm91bmQ6YmxhY2s7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0ibGVm
dDoxMDBweDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjph
YnNvbHV0ZTsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBz
dHlsZT0icG9zaXRpb246IGFic29sdXRlOyB3aWR0aDozMDBweDsgaGVpZ2h0OjMwMHB4OyB0b3A6
IDBweDsgbGVmdDogMzAwcHgiIGlkPSJncmlkIj4KKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6
bGVmdDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dyb3VuZDp5ZWxsb3c7Ij48L2Rp
dj4KKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lkdGg6MTAwcHg7IGhlaWdodDox
MDBweDsgYmFja2dyb3VuZDpncmVlbjsiPjwvZGl2PgorICAgICAgICA8ZGl2IHN0eWxlPSJmbG9h
dDpsZWZ0OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBiYWNrZ3JvdW5kOmJsdWU7Ij48L2Rp
dj4KKworICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoxMDBweDsgaGVpZ2h0
OjEwMHB4OyBiYWNrZ3JvdW5kOiBncmVlbjsiPjwvZGl2PgorICAgICAgICA8ZGl2IHN0eWxlPSJm
bG9hdDpsZWZ0OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBiYWNrZ3JvdW5kOmJsdWU7Ij48
L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lkdGg6MTAwcHg7IGhlaWdo
dDoxMDBweDsgYmFja2dyb3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKworICAgICAgICA8ZGl2IHN0eWxl
PSJmbG9hdDpsZWZ0OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBiYWNrZ3JvdW5kOmJsdWU7
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lkdGg6MTAwcHg7IGhl
aWdodDoxMDBweDsgYmFja2dyb3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHls
ZT0iZmxvYXQ6bGVmdDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dyb3VuZDpncmVl
bjsiPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDNi
NDNiM2Q3MjkzZGYzMTc0Y2Y1M2MwZmFlNTBiM2JhYTE2N2ZhZDQuLmYyNzI4MjgwMjFhYjA2YjI3
ZDBmMTJkNzFiMDdjOWUxZTZmYTYzOWEgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMS0xMC0zMSAgRmFkeSBTYW11ZWwgIDxmc2FtdWVs
QGNocm9taXVtLm9yZz4KKworICAgICAgICBXaGVuIHBhZ2Ugc2NhbGluZyBpcyBpbiB1c2UgcG9z
aXRpb246Zml4ZWQgaGFzIGluY29ycmVjdCByZXN1bHRzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODYxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRl
cjoKKwogMjAxMS0xMC0yOCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFJlbmFtZSBFeGNlcHRpb25Db2RlRGVzY3JpcHRpb24uaW4gdG8gRE9NRXhjZXB0aW9ucy5p
bgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113120</attachid>
            <date>2011-10-31 18:30:22 -0700</date>
            <delta_ts>2011-11-03 07:22:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68617-20111031213021.patch</filename>
            <type>text/plain</type>
            <size>25546</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg4NjcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzOGRkNmQwNWFkYzg0ZjJj
YWIwOWIzYTlhM2NjMjU5MTA3MWUyMzU1Li5jMTE4ZDJlNDJkNTM0ODk2OTdlYzU3YmM5MjIzMTcw
NTJiYWVlNTI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTEtMTAtMzEgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2hlbiBwYWdlIHNjYWxp
bmcgaXMgaW4gdXNlIHBvc2l0aW9uOmZpeGVkIGhhcyBpbmNvcnJlY3QgcmVzdWx0cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MTcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGhlIG9wdGlvbiBm
b3IgcG9zaXRpb246Zml4ZWQgZWxlbWVudHMgdG8gYmUgZml4ZWQgdG8gdGhlIGZyYW1lCisgICAg
ICAgIGluc3RlYWQgb2YgdGhlIGxheW91dCByZWN0YW5nbGUgb2YgdGhlIGRvY3VtZW50LgorCisg
ICAgICAgIFRlc3RzOiBmYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS5odG1sCisgICAg
ICAgICAgICAgICBmYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUu
aHRtbAorICAgICAgICAgICAgICAgZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2Nh
bGUuaHRtbAorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogcGFnZS9GcmFt
ZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpyZXNldCk6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OnNjcm9sbFhGb3JGaXhlZFBvc2l0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lVmlldzo6c2Nyb2xsWUZvckZpeGVkUG9zaXRpb24pOgorICAgICAgICAg
IElmIHBvc2l0aW9uOmZpeGVkIGVsZW1lbnRzIGFyZSByZWxhdGl2ZSB0byB0aGUgZnJhbWUsIGRp
c3JlZ2FyZCB0aGUKKyAgICAgICAgICBkcmFnIGZhY3Rvci4KKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lVmlldzo6c2V0U2hvdWxkTGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZSk6Cisg
ICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6
c2hvdWxkTGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZSk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbnRh
aW5pbmdCbG9ja0xvZ2ljYWxXaWR0aEZvclBvc2l0aW9uZWQpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQm94Ojpjb250YWluaW5nQmxvY2tMb2dpY2FsSGVpZ2h0Rm9yUG9zaXRpb25lZCk6Cisg
ICAgICAgICAgSWYgcG9zaXRpb246Zml4ZWQgZWxlbWVudHMgYXJlIHJlbGF0aXZlIHRvIHRoZSBm
cmFtZSwgdGhlaXIgY29udGFpbmVyCisgICAgICAgICAgaXMgdGhlIGZyYW1lIGluc3RlYWQgb2Yg
dGhlIGxheW91dCByZWN0IG9mIHRoZSBkb2N1bWVudC4gCisgICAgICAgICAgVGhpcyBhbGxvd3Mg
cHJvcGVyIHBvc2l0aW9uaW5nIG9mIHRoZXNlIGVsZW1lbnRzIHRvIHRoZSByaWdodCBhbmQKKyAg
ICAgICAgICBib3R0b20uCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXRTaG91bGRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRp
dmVUb0ZyYW1lKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRl
c3RpbmcvSW50ZXJuYWxzLmlkbDoKKyAgICAgICAgICBBbGxvdyBlbmFibGluZyBhbmQgZGlzYWJs
aW5nIHRoZSBuZXcgYmVoYXZpb3IgaW4gbGF5b3V0IHRlc3RzLgorCiAyMDExLTEwLTMxICBBbmRy
ZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0Lm9yZz4KIAogICAgICAgICBDU1NSdWxlOiBEZXZpcnR1
YWxpemUgaW5zZXJ0ZWRJbnRvUGFyZW50KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBiYmYwZjk1OGQyODY0ZDU0
ZjI4N2MyODczMDMyYmZiN2JkZGE1NTc2Li4zNmY2MjdhNjk3MGE2ZDJkZTJkMjk0ZmY3ZTQyYTZl
OGUyMjllZDlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMTAtMzEgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2hlbiBwYWdlIHNjYWxp
bmcgaXMgaW4gdXNlIHBvc2l0aW9uOmZpeGVkIGhhcyBpbmNvcnJlY3QgcmVzdWx0cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MTcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdpbi9XZWJLaXQyLmRl
ZjoKKyAgICAgICAgKiB3aW4vV2ViS2l0MkNGTGl0ZS5kZWY6CisKIDIwMTEtMTAtMzEgIEFuZHJh
cyBCZWNzaSAgPGFuZHJhcy5iZWNzaUBub2tpYS5jb20+CiAKICAgICAgICAgW1F0XVtXSzJdIEZp
eCBxbWx0ZXN0cyBhZnRlciByOTg0NjAgYWRkZWQgd2lkZ2V0cyBkZXBlbmRlbmN5LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbgppbmRleCAwNWUzNDUyZjkxZjdkZTQ0MmFkOWUyYjkwOTA3MWU1YmZmMmJkNzg0
Li5kNmEyOTAwMWFkYzNmNjEwNWQ2MmU0NjkyYmFiOWEzNTQ0ZDYyOTE3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgpAQCAtMTAxMSw2ICsxMDExLDcgQEAgX19aTjdXZWJDb3JlOUZyYW1lVmlldzE3c2V0
U2Nyb2xsUG9zaXRpb25FUktOU184SW50UG9pbnRFCiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MTdz
ZXRUcmFja3NSZXBhaW50c0ViCiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MTh1cGRhdGVDb250cm9s
VGludHNFdgogX19aTjdXZWJDb3JlOUZyYW1lVmlldzE5c2Nyb2xsRWxlbWVudFRvUmVjdEVQTlNf
N0VsZW1lbnRFUktOU183SW50UmVjdEUKK19fWk43V2ViQ29yZTlGcmFtZVZpZXc0M3NldFNob3Vs
ZExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWVFYgogX19aTjdXZWJDb3JlOUZyYW1l
VmlldzIwZW50ZXJDb21wb3NpdGluZ01vZGVFdgogX19aTjdXZWJDb3JlOUZyYW1lVmlldzIxZmx1
c2hEZWZlcnJlZFJlcGFpbnRzRXYKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXcyMnNldEJhc2VCYWNr
Z3JvdW5kQ29sb3JFUktOU181Q29sb3JFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXgg
YWU3ZTdjNzJiNTkyNTViZWE1Njg0MjcyZWM0MDM2ODFkNjYwNTVlMy4uOGFkMzA1OTFkMzFiYjI5
OTE2NDNhOWIwOWRjOTU4N2UyODgzNmYzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApA
QCAtMjEzLDYgKzIxMyw3IEBAIHZvaWQgRnJhbWVWaWV3OjpyZXNldCgpCiAgICAgbV9jYW5ub3RC
bGl0VG9XaW5kb3cgPSBmYWxzZTsKICAgICBtX2lzT3ZlcmxhcHBlZCA9IGZhbHNlOwogICAgIG1f
Y29udGVudElzT3BhcXVlID0gZmFsc2U7CisgICAgbV9zaG91bGRMYXlvdXRGaXhlZEVsZW1lbnRz
UmVsYXRpdmVUb0ZyYW1lID0gZmFsc2U7CiAgICAgbV9ib3JkZXJYID0gMzA7CiAgICAgbV9ib3Jk
ZXJZID0gMzA7CiAgICAgbV9sYXlvdXRUaW1lci5zdG9wKCk7CkBAIC0xMzg3LDcgKzEzODgsNyBA
QCBMYXlvdXRVbml0IEZyYW1lVmlldzo6c2Nyb2xsWEZvckZpeGVkUG9zaXRpb24oKSBjb25zdAog
ICAgIC8vIFdoZW4gdGhlIHBhZ2UgaXMgc2NhbGVkLCB0aGUgc2NhbGVkICJ2aWV3cG9ydCIgd2l0
aCByZXNwZWN0IHRvIHdoaWNoIGZpeGVkIG9iamVjdCBhcmUgcG9zaXRpb25lZAogICAgIC8vIGRv
ZXNuJ3QgbW92ZSBhcyBmYXN0IGFzIHRoZSBjb250ZW50IHZpZXcsIHNvIHRoYXQgd2hlbiB0aGUg
Y29udGVudCBpcyBzY3JvbGxlZCBhbGwgdGhlIHdheSB0byB0aGUKICAgICAvLyBlbmQsIHRoZSBi
b3R0b20gb2YgdGhlIHNjYWxlZCAidmlld3BvcnQiIHRvdWNoZXMgdGhlIGJvdHRvbSBvZiB0aGUg
cmVhbCB2aWV3cG9ydC4KLSAgICBmbG9hdCBkcmFnRmFjdG9yID0gKGNvbnRlbnRzV2lkdGgoKSAt
IHZpc2libGVDb250ZW50V2lkdGggKiBmcmFtZVNjYWxlRmFjdG9yKSAvIG1heFg7CisgICAgZmxv
YXQgZHJhZ0ZhY3RvciA9IHNob3VsZExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUo
KSA/IDEgOiAoY29udGVudHNXaWR0aCgpIC0gdmlzaWJsZUNvbnRlbnRXaWR0aCAqIGZyYW1lU2Nh
bGVGYWN0b3IpIC8gbWF4WDsKIAogICAgIHJldHVybiB4ICogZHJhZ0ZhY3RvciAvIGZyYW1lU2Nh
bGVGYWN0b3I7CiB9CkBAIC0xMzk1LDggKzEzOTYsOCBAQCBMYXlvdXRVbml0IEZyYW1lVmlldzo6
c2Nyb2xsWEZvckZpeGVkUG9zaXRpb24oKSBjb25zdAogTGF5b3V0VW5pdCBGcmFtZVZpZXc6OnNj
cm9sbFlGb3JGaXhlZFBvc2l0aW9uKCkgY29uc3QKIHsKICAgICBMYXlvdXRVbml0IHZpc2libGVD
b250ZW50SGVpZ2h0ID0gdmlzaWJsZUNvbnRlbnRSZWN0KCkuaGVpZ2h0KCk7Ci0KICAgICBMYXlv
dXRVbml0IG1heFkgPSBjb250ZW50c0hlaWdodCgpIC0gdmlzaWJsZUNvbnRlbnRIZWlnaHQ7CisK
ICAgICBpZiAobWF4WSA9PSAwKQogICAgICAgICByZXR1cm4gMDsKIApAQCAtMTQxOCw4ICsxNDE5
LDcgQEAgTGF5b3V0VW5pdCBGcmFtZVZpZXc6OnNjcm9sbFlGb3JGaXhlZFBvc2l0aW9uKCkgY29u
c3QKICAgICAgICAgcmV0dXJuIHk7CiAKICAgICBmbG9hdCBmcmFtZVNjYWxlRmFjdG9yID0gbV9m
cmFtZS0+ZnJhbWVTY2FsZUZhY3RvcigpOwotICAgIGZsb2F0IGRyYWdGYWN0b3IgPSAoY29udGVu
dHNIZWlnaHQoKSAtIHZpc2libGVDb250ZW50SGVpZ2h0ICogZnJhbWVTY2FsZUZhY3RvcikgLyBt
YXhZOwotCisgICAgZmxvYXQgZHJhZ0ZhY3RvciA9IHNob3VsZExheW91dEZpeGVkRWxlbWVudHNS
ZWxhdGl2ZVRvRnJhbWUoKSA/IDEgOiAoY29udGVudHNIZWlnaHQoKSAtIHZpc2libGVDb250ZW50
SGVpZ2h0ICogZnJhbWVTY2FsZUZhY3RvcikgLyBtYXhZOwogICAgIHJldHVybiB5ICogZHJhZ0Zh
Y3RvciAvIGZyYW1lU2NhbGVGYWN0b3I7CiB9CiAKQEAgLTE0MjgsNiArMTQyOCwxOSBAQCBMYXlv
dXRTaXplIEZyYW1lVmlldzo6c2Nyb2xsT2Zmc2V0Rm9yRml4ZWRQb3NpdGlvbigpIGNvbnN0CiAg
ICAgcmV0dXJuIExheW91dFNpemUoc2Nyb2xsWEZvckZpeGVkUG9zaXRpb24oKSwgc2Nyb2xsWUZv
ckZpeGVkUG9zaXRpb24oKSk7CiB9CiAKK3ZvaWQgRnJhbWVWaWV3OjpzZXRTaG91bGRMYXlvdXRG
aXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKGJvb2wgc2hvdWxkTGF5b3V0Rml4ZWRFbGVtZW50
c1JlbGF0aXZlVG9GcmFtZSkKK3sKKyAgICBpZiAoc2hvdWxkTGF5b3V0Rml4ZWRFbGVtZW50c1Jl
bGF0aXZlVG9GcmFtZSA9PSBtX3Nob3VsZExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJh
bWUpCisgICAgICAgIHJldHVybjsKKworICAgIG1fc2hvdWxkTGF5b3V0Rml4ZWRFbGVtZW50c1Jl
bGF0aXZlVG9GcmFtZSA9IHNob3VsZExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWU7
CisKKyAgICBpZiAoIWhhc0ZpeGVkT2JqZWN0cygpKQorICAgICAgICByZXR1cm47CisKKyAgICBz
ZXROZWVkc0xheW91dCgpOworfQorCiBMYXlvdXRQb2ludCBGcmFtZVZpZXc6OmN1cnJlbnRNb3Vz
ZVBvc2l0aW9uKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9mcmFtZSA/IG1fZnJhbWUtPmV2ZW50
SGFuZGxlcigpLT5jdXJyZW50TW91c2VQb3NpdGlvbigpIDogSW50UG9pbnQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5oCmluZGV4IGJmN2QzZmJkM2MzZWZiMzliMGMzY2YxZDdjNjM1NzkyNGMxZGUz
Y2EuLjA3NzE2ODc1MWUzOGY0YmJjMjI1YTg3NTRhM2UyMTQxM2NhYWU0MTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9GcmFtZVZpZXcuaApAQCAtMTk1LDYgKzE5NSw5IEBAIHB1YmxpYzoKICAgICBMYXlvdXRVbml0
IHNjcm9sbFlGb3JGaXhlZFBvc2l0aW9uKCkgY29uc3Q7CiAgICAgTGF5b3V0U2l6ZSBzY3JvbGxP
ZmZzZXRGb3JGaXhlZFBvc2l0aW9uKCkgY29uc3Q7CiAKKyAgICBib29sIHNob3VsZExheW91dEZp
eGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZExheW91
dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWU7IH0KKyAgICB2b2lkIHNldFNob3VsZExheW91
dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoYm9vbCk7CisKICAgICB2b2lkIGJlZ2luRGVm
ZXJyZWRSZXBhaW50cygpOwogICAgIHZvaWQgZW5kRGVmZXJyZWRSZXBhaW50cygpOwogICAgIHZv
aWQgY2hlY2tTdG9wRGVsYXlpbmdEZWZlcnJlZFJlcGFpbnRzKCk7CkBAIC00MDksNyArNDEyLDcg
QEAgcHJpdmF0ZToKICAgICBib29sIG1fY29udGVudElzT3BhcXVlOwogICAgIHVuc2lnbmVkIG1f
c2xvd1JlcGFpbnRPYmplY3RDb3VudDsKICAgICB1bnNpZ25lZCBtX2ZpeGVkT2JqZWN0Q291bnQ7
Ci0KKyAgICBib29sIG1fc2hvdWxkTGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZTsK
ICAgICBpbnQgbV9ib3JkZXJYOwogICAgIGludCBtX2JvcmRlclk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggNjlkMTI0Zjc0ZTg2N2QxZGYzNDAwOTliNTc4ODkx
NTYzMTdkODgzYi4uZjE2ZmVjMDlmNzM2NDhhYzRiYmJmYWIxZWQ2M2ZlN2RmNzhjZTE1NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTIzMjgsNiArMjMyOCwxMiBA
QCB2b2lkIFJlbmRlckJveDo6Y29tcHV0ZUJsb2NrRGlyZWN0aW9uTWFyZ2lucyhSZW5kZXJCbG9j
ayogY29udGFpbmluZ0Jsb2NrKQogaW50IFJlbmRlckJveDo6Y29udGFpbmluZ0Jsb2NrTG9naWNh
bFdpZHRoRm9yUG9zaXRpb25lZChjb25zdCBSZW5kZXJCb3hNb2RlbE9iamVjdCogY29udGFpbmlu
Z0Jsb2NrLCBSZW5kZXJSZWdpb24qIHJlZ2lvbiwKICAgICBMYXlvdXRVbml0IG9mZnNldEZyb21M
b2dpY2FsVG9wT2ZGaXJzdFBhZ2UsIGJvb2wgY2hlY2tGb3JQZXJwZW5kaWN1bGFyV3JpdGluZ01v
ZGUpIGNvbnN0CiB7CisgICAgLy8gQ29udGFpbmVyIGZvciBwb3NpdGlvbjpmaXhlZCBpcyB0aGUg
ZnJhbWUuCisgICAgRnJhbWUqIGZyYW1lID0gdmlldygpID8gdmlldygpLT5mcmFtZSgpOiAwOwor
ICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gdmlldygpID8gdmlldygpLT5mcmFtZVZpZXcoKSA6
IDA7CisgICAgaWYgKHN0eWxlKCkgJiYgc3R5bGUoKS0+cG9zaXRpb24oKSA9PSBGaXhlZFBvc2l0
aW9uICYmIGNvbnRhaW5lcigpLT5pc1JlbmRlclZpZXcoKSAmJiBmcmFtZSAmJiBmcmFtZVZpZXcg
JiYgZnJhbWVWaWV3LT5zaG91bGRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKCkp
CisgICAgICAgIHJldHVybiAodmlldygpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gZnJh
bWVWaWV3LT52aXNpYmxlV2lkdGgoKSA6IGZyYW1lVmlldy0+dmlzaWJsZUhlaWdodCgpKSAvIGZy
YW1lLT5mcmFtZVNjYWxlRmFjdG9yKCk7CisKICAgICBpZiAoY2hlY2tGb3JQZXJwZW5kaWN1bGFy
V3JpdGluZ01vZGUgJiYgY29udGFpbmluZ0Jsb2NrLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgp
ICE9IGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCiAgICAgICAgIHJldHVybiBjb250YWluaW5n
QmxvY2tMb2dpY2FsSGVpZ2h0Rm9yUG9zaXRpb25lZChjb250YWluaW5nQmxvY2ssIGZhbHNlKTsK
IApAQCAtMjM4MCw2ICsyMzg2LDExIEBAIGludCBSZW5kZXJCb3g6OmNvbnRhaW5pbmdCbG9ja0xv
Z2ljYWxXaWR0aEZvclBvc2l0aW9uZWQoY29uc3QgUmVuZGVyQm94TW9kZWxPYmplCiAKIGludCBS
ZW5kZXJCb3g6OmNvbnRhaW5pbmdCbG9ja0xvZ2ljYWxIZWlnaHRGb3JQb3NpdGlvbmVkKGNvbnN0
IFJlbmRlckJveE1vZGVsT2JqZWN0KiBjb250YWluaW5nQmxvY2ssIGJvb2wgY2hlY2tGb3JQZXJw
ZW5kaWN1bGFyV3JpdGluZ01vZGUpIGNvbnN0CiB7CisgICAgRnJhbWUqIGZyYW1lID0gdmlldygp
ID8gdmlldygpLT5mcmFtZSgpOiAwOworICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gdmlldygp
ID8gdmlldygpLT5mcmFtZVZpZXcoKSA6IDA7CisgICAgaWYgKHN0eWxlKCkgJiYgc3R5bGUoKS0+
cG9zaXRpb24oKSA9PSBGaXhlZFBvc2l0aW9uICYmIGNvbnRhaW5lcigpLT5pc1JlbmRlclZpZXco
KSAmJiBmcmFtZSAmJiBmcmFtZVZpZXctPnNob3VsZExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2
ZVRvRnJhbWUoKSkKKyAgICAgICAgcmV0dXJuICh2aWV3KCktPmlzSG9yaXpvbnRhbFdyaXRpbmdN
b2RlKCkgPyBmcmFtZVZpZXctPnZpc2libGVIZWlnaHQoKSA6IGZyYW1lVmlldy0+dmlzaWJsZVdp
ZHRoKCkpIC8gZnJhbWUtPmZyYW1lU2NhbGVGYWN0b3IoKTsKKwogICAgIGlmIChjaGVja0ZvclBl
cnBlbmRpY3VsYXJXcml0aW5nTW9kZSAmJiBjb250YWluaW5nQmxvY2stPmlzSG9yaXpvbnRhbFdy
aXRpbmdNb2RlKCkgIT0gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKICAgICAgICAgcmV0dXJu
IGNvbnRhaW5pbmdCbG9ja0xvZ2ljYWxXaWR0aEZvclBvc2l0aW9uZWQoY29udGFpbmluZ0Jsb2Nr
LCAwLCAwLCBmYWxzZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA0
NzllYjU0MDc2MDNmNzg1YjdiZGI1OTEwMGY4YjAwN2Y4YTEzZmIzLi5jMWViZjFlZTZhOTU1NzVj
NzQ4YWE5OTk4YzgxMjIxYTY1ZTRiYTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCkBAIC00ODQsNCArNDg0LDE1IEBAIHVuc2lnbmVkIEludGVybmFsczo6bGVuZ3RoRnJvbVJh
bmdlKEVsZW1lbnQqIHNjb3BlLCBjb25zdCBSYW5nZSogcmFuZ2UsIEV4Y2VwdGlvCiAgICAgcmV0
dXJuIGxlbmd0aDsKIH0KIAordm9pZCBJbnRlcm5hbHM6OnNldFNob3VsZExheW91dEZpeGVkRWxl
bWVudHNSZWxhdGl2ZVRvRnJhbWUoRG9jdW1lbnQqIGRvY3VtZW50LCBib29sIGVuYWJsZWQsIEV4
Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghZG9jdW1lbnQgfHwgIWRvY3VtZW50LT52aWV3
KCkpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9IGRvY3VtZW50LT52aWV3KCk7Cisg
ICAgZnJhbWVWaWV3LT5zZXRTaG91bGRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1l
KGVuYWJsZWQpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCA4MjZk
MTAxNmIzNDE3NGQwYzVhMDJjMzJjYmVkMjhkZWMzZTgwOTc4Li4wNzc2Yjk2NGI1YjFkZmRmYmQw
NmI0N2VkNDIwNzcxZTRlNTJjZDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAg
LTk4LDYgKzk4LDcgQEAgcHVibGljOgogICAgIFBhc3NSZWZQdHI8UmFuZ2U+IHJhbmdlRnJvbUxv
Y2F0aW9uQW5kTGVuZ3RoKEVsZW1lbnQqIHNjb3BlLCBpbnQgcmFuZ2VMb2NhdGlvbiwgaW50IHJh
bmdlTGVuZ3RoLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdW5zaWduZWQgbG9jYXRpb25Gcm9tUmFu
Z2UoRWxlbWVudCogc2NvcGUsIGNvbnN0IFJhbmdlKiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHVu
c2lnbmVkIGxlbmd0aEZyb21SYW5nZShFbGVtZW50KiBzY29wZSwgY29uc3QgUmFuZ2UqLCBFeGNl
cHRpb25Db2RlJik7CisgICAgdm9pZCBzZXRTaG91bGRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRp
dmVUb0ZyYW1lKERvY3VtZW50KiwgYm9vbCwgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgc3RhdGlj
IGNvbnN0IGNoYXIqIGludGVybmFsc0lkOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5p
ZGwKaW5kZXggNTM2YmU2MDAwMzI0ZDAzNGUxMDBjOTljOTVlNGZkN2Q3M2JkOTJlZC4uNjg5MDY0
NmM0ZTEwMDQxODk3OTFiNWVjNjJlMjM2Zjc3MzVjMzY4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmlkbApAQCAtNzIsNiArNzIsOCBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAg
UmFuZ2UgcmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGgoaW4gRWxlbWVudCBzY29wZSwgaW4gbG9u
ZyByYW5nZUxvY2F0aW9uLCBpbiBsb25nIHJhbmdlTGVuZ3RoKSByYWlzZXMgKERPTUV4Y2VwdGlv
bik7CiAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9jYXRpb25Gcm9tUmFuZ2UoaW4gRWxlbWVudCBz
Y29wZSwgaW4gUmFuZ2UgcmFuZ2UpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgdW5z
aWduZWQgbG9uZyBsZW5ndGhGcm9tUmFuZ2UoaW4gRWxlbWVudCBzY29wZSwgaW4gUmFuZ2UgcmFu
Z2UpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKworICAgICAgICB2b2lkIHNldFNob3VsZExheW91
dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIGJv
b2xlYW4gZW5hYmxlZCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgfTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmIGIvU291cmNlL1dlYktpdDIvd2lu
L1dlYktpdDIuZGVmCmluZGV4IDE3NjkzMDU2NDg5YmJhZTY1NzUwN2I5ZDUxYTExYTU2Njc2YmUx
MjEuLjgwNTUzMDg5Njk0NThlOTA4NzNjYTYxM2U5OWJlMGEzMWM1NTAyNTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4v
V2ViS2l0Mi5kZWYKQEAgLTE2OCw2ICsxNjgsNyBAQCBFWFBPUlRTCiAgICAgICAgID9yYW5nZUZy
b21Mb2NhdGlvbkFuZExlbmd0aEBUZXh0SXRlcmF0b3JAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQ
dHJAVlJhbmdlQFdlYkNvcmVAQEBXVEZAQFBBVkVsZW1lbnRAMkBISF9OQFoKICAgICAgICAgP3Jl
bW92ZVNoYWRvd1Jvb3RARWxlbWVudEBXZWJDb3JlQEBRQUVYWFoKICAgICAgICAgP3Njcm9sbEVs
ZW1lbnRUb1JlY3RARnJhbWVWaWV3QFdlYkNvcmVAQFFBRVhQQVZFbGVtZW50QDJAQUJWSW50UmVj
dEAyQEBaCisgICAgICAgID9zZXRTaG91bGRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0Zy
YW1lQEZyYW1lVmlld0BXZWJDb3JlQEBRQUVYX05AWgogICAgICAgICA/c2V0RE9NRXhjZXB0aW9u
QFdlYkNvcmVAQFlBWFBBVkV4ZWNTdGF0ZUBKU0NAQEhAWgogICAgICAgICA/c2V0UmVzb3VyY2Vz
RGF0YVNpemVMaW1pdHNGcm9tSW50ZXJuYWxzQEluc3BlY3RvckNvbnRyb2xsZXJAV2ViQ29yZUBA
UUFFWEhIQFoKICAgICAgICAgP3NldFNjcm9sbGJhcnNTdXBwcmVzc2VkQFNjcm9sbFZpZXdAV2Vi
Q29yZUBAUUFFWF9OMEBaCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNG
TGl0ZS5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKaW5kZXggZWMz
MWQ4ZGMxNWMwZWRjN2ZlNzViY2FlNTQxMGNiMGUxNmZhNGE4Yy4uNWViMzEzYmZlNTdlMjk3YmRi
OTExZDI0N2NkNTdiMDg5NmYwMTMxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dl
YktpdDJDRkxpdGUuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRl
ZgpAQCAtMTU5LDYgKzE1OSw3IEBAIEVYUE9SVFMKICAgICAgICAgP3JhbmdlRnJvbUxvY2F0aW9u
QW5kTGVuZ3RoQFRleHRJdGVyYXRvckBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWUmFuZ2VA
V2ViQ29yZUBAQFdURkBAUEFWRWxlbWVudEAyQEhIX05AWgogICAgICAgICA/cmVtb3ZlU2hhZG93
Um9vdEBFbGVtZW50QFdlYkNvcmVAQFFBRVhYWgogICAgICAgICA/c2Nyb2xsRWxlbWVudFRvUmVj
dEBGcmFtZVZpZXdAV2ViQ29yZUBAUUFFWFBBVkVsZW1lbnRAMkBBQlZJbnRSZWN0QDJAQFoKKyAg
ICAgICAgP3NldFNob3VsZExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWVARnJhbWVW
aWV3QFdlYkNvcmVAQFFBRVhfTkBaCiAgICAgICAgID9zZXRET01FeGNlcHRpb25AV2ViQ29yZUBA
WUFYUEFWRXhlY1N0YXRlQEpTQ0BASEBaCiAgICAgICAgID9zZXRSZXNvdXJjZXNEYXRhU2l6ZUxp
bWl0c0Zyb21JbnRlcm5hbHNASW5zcGVjdG9yQ29udHJvbGxlckBXZWJDb3JlQEBRQUVYSEhAWgog
ICAgICAgICA/c2V0U2Nyb2xsYmFyc1N1cHByZXNzZWRAU2Nyb2xsVmlld0BXZWJDb3JlQEBRQUVY
X04wQFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3Vy
Y2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IGEzMTEzOTYxMjIxNGI4ZTUwMjEzMDQz
NTdjMGU3Y2Y0MGE5MmM5N2UuLmRkZTYzOThkNDA3OThiMDE3MWJhMTkzMmMzZTQxMzZlYmY5ZjQ2
NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291
cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgpAQCAtODAsNiArODAsNyBAQCBfWk43V2ViQ29y
ZTE0U2Nyb2xsYWJsZUFyZWEyOHNldFNjcm9sbE9mZnNldEZyb21JbnRlcm5hbHNFUktOU184SW50
UG9pbnRFOwogX1pON1dlYkNvcmUxMFNjcm9sbFZpZXcyM3NldFNjcm9sbGJhcnNTdXBwcmVzc2Vk
RWJiOwogX1pON1dlYkNvcmU5RnJhbWVWaWV3MTdwYWludENvbnRyb2xUaW50c0V2OwogX1pON1dl
YkNvcmU5RnJhbWVWaWV3MTlzY3JvbGxFbGVtZW50VG9SZWN0RVBOU183RWxlbWVudEVSS05TXzdJ
bnRSZWN0RTsKK19aTjdXZWJDb3JlOUZyYW1lVmlldzQzc2V0U2hvdWxkTGF5b3V0Rml4ZWRFbGVt
ZW50c1JlbGF0aXZlVG9GcmFtZUViOwogbG9jYWw6CiBfWio7CiBjdGkqOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDAzY2Zh
MDQ4ZTU2ZTQ5MDgzZTI2YTUzZTNlMmEyNTVkZmUxZTMxYzguLjYyMDZiNjk4MGNlNjZhNTFmMDQ4
ZGMyNzc4MjE5YzVmN2Q5NDI2YTcgMTAwNzU1Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMS0xMC0zMSAg
RmFkeSBTYW11ZWwgIDxmc2FtdWVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBXaGVuIHBhZ2Ug
c2NhbGluZyBpcyBpbiB1c2UgcG9zaXRpb246Zml4ZWQgaGFzIGluY29ycmVjdCByZXN1bHRzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODYxNworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9yZXBh
aW50L2ZpeGVkLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvcmVwYWludC9maXhlZC1pbi1wYWdlLXNjYWxlLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvcmVwYWludC9maXhlZC1yaWdodC1ib3R0b20taW4tcGFnZS1zY2FsZS1leHBl
Y3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWludC9maXhlZC1yaWdodC1ib3R0
b20taW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVw
YWludC9maXhlZC1yaWdodC1ib3R0b20taW4tcGFnZS1zY2FsZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC5wbmc6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWludC9maXhlZC1yaWdodC1pbi1wYWdlLXNjYWxl
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0
LWluLXBhZ2Utc2NhbGUuaHRtbDogQWRkZWQuCisKIDIwMTEtMTAtMzEgIExlYW5kcm8gUGVyZWly
YSAgPGxlYW5kcm9AcHJvZnVzaW9uLm1vYmk+CiAKICAgICAgICAgW0VGTF0gVW5yZXZpZXdlZC4g
VXBkYXRlIFNraXBwZWQgbGlzdC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWlu
dC9maXhlZC1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL2Zhc3QvcmVw
YWludC9maXhlZC1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMjM1Mzk5
NTM3OWQ3NmE5NTU2OWIyMDgwMTI1ZmJjNGFlZjJhYWQ0CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJh
bCAyODY5CnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEweX55VXsrdllWMmE+aTAqWik9aF5obEElQFdz
JGxIYG9rPG19P29UbjAtYwp6aXpFWFIxMmR6PFdLKUNXIzNWQiNXQWo4SEhgejRCQz96JGB4VCg+
PGslNThoeFRsTF9OWDRBREgjWUp6MUBmPnUKekA/QTd2UjIwdzYoeWc7RU97PTFAZEZwIWhLTF5m
eVY+PFVfTCZOX01jak9vdDNaeG9ZODNjcVE3I0l2azhLWiRQCnpuaUEtazNwUVJxXk5xIT9xO3tL
bCFKXjgxZVRFLT57OSs2YUpfKEVyTV81Sn5xayVBKjY2bC1ALXByYyRtWTBGUwp3e29fRjxoN0x8
MGhLM21qTWo0fWxGcSN0Um9EMSZlLVEhem5eQn1WYSpiWmohYm9GeXQ9YWtSezAyU1k5I3tkOFQK
CmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVw
YWludC9maXhlZC1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
cmVwYWludC9maXhlZC1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YjEz
Nzg5MTc5MWZlOTY5MjdhZDc4ZTY0YjBhYWQ3YmRlZDA4YmRjCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEgQEAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2Zp
eGVkLWluLXBhZ2Utc2NhbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1p
bi1wYWdlLXNjYWxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTk1YzU3Mjg2ODY2MGM1NTNiNjg4N2FlNzA4
NWJmZDQxNWNiMzAwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWlu
dC9maXhlZC1pbi1wYWdlLXNjYWxlLmh0bWwKQEAgLTAsMCArMSw1NCBAQAorPGh0bWw+Cis8aGVh
ZD4KKyAgICA8c3R5bGU+CisgICAgICAgIDo6LXdlYmtpdC1zY3JvbGxiYXIgeworICAgICAgICAg
ICAgd2lkdGg6IDBweDsKKyAgICAgICAgICAgIGhlaWdodDogMHB4OworICAgICAgICB9CisgICAg
PC9zdHlsZT4KKyAgICA8c2NyaXB0PgorICAgICAgd2luZG93LmVuYWJsZVBpeGVsVGVzdGluZyA9
IHRydWU7CisgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICB3aW5kb3cuaW50
ZXJuYWxzLnNldFNob3VsZExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoZG9jdW1l
bnQsIHRydWUpOworCisgICAgICBmdW5jdGlvbiBzY3JvbGwoKSB7CisgICAgICAgICAgd2luZG93
LnNjcm9sbFRvKDEwMCwxMDApOworICAgICAgfQorCisgICAgICBmdW5jdGlvbiBzY2FsZVdpdGhF
dmVudFNlbmRlcigpIHsKKyAgICAgICAgICB2YXIgc2NhbGVGYWN0b3IgPSAyLjA7CisgICAgICAg
ICAgdmFyIHNjYWxlT2Zmc2V0ID0gMDsKKyAgICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVy
KSB7CisgICAgICAgICAgICAgZXZlbnRTZW5kZXIuc2NhbGVQYWdlQnkoc2NhbGVGYWN0b3IsIHNj
YWxlT2Zmc2V0LCBzY2FsZU9mZnNldCk7CisgICAgICAgICAgfQorICAgICAgfQorCisgICAgICBm
dW5jdGlvbiB0ZXN0KCkgeworICAgICAgICAgIHNjYWxlV2l0aEV2ZW50U2VuZGVyKCk7CisgICAg
ICAgICAgc2Nyb2xsKCk7CisgICAgICB9CisgICAgPC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9
Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eSBzdHlsZT0id2lkdGg6MjAwMHB4OyBoZWlnaHQ6MjAwMHB4OyBtYXJnaW46MHB4OyIgb25sb2Fk
PSJ0ZXN0KCk7Ij4KKyAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogZml4ZWQ7IHRvcDogLTEwMHB4
OyBsZWZ0OiAtMTAwcHg7IHotaW5kZXg6IDEiPgorICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjA7
IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFj
a2dyb3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsg
dG9wOjA7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNr
Z3JvdW5kOmdyZWVuOyI+PC9kaXY+CisKKyAgICAgICAgPGRpdiBzdHlsZT0ibGVmdDowOyB0b3A6
MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNr
Z3JvdW5kOmdyZWVuOyI+PC9kaXY+CisgICAgICAgIDxkaXYgc3R5bGU9ImxlZnQ6MTAwcHg7IHRv
cDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJh
Y2tncm91bmQ6YmxhY2s7Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKworICAgIDxkaXYgc3R5bGU9Imxl
ZnQ6MDsgdG9wOjA7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRl
OyBiYWNrZ3JvdW5kOnllbGxvdzsiPjwvZGl2PgorICAgIDxkaXYgc3R5bGU9ImxlZnQ6MTAwcHg7
IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFj
a2dyb3VuZDpncmVlbjsiPjwvZGl2PgorICAgIDxkaXYgc3R5bGU9ImxlZnQ6MjAwcHg7IHRvcDow
OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3Vu
ZDpibHVlOyI+PC9kaXY+CisKKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjA7IHRvcDoxMDBweDsgd2lk
dGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6IGdy
ZWVuOyI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsgdG9wOjEwMHB4OyB3aWR0
aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpibHVl
OyI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0ibGVmdDoyMDBweDsgdG9wOjEwMHB4OyB3aWR0aDox
MDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDp5ZWxsb3c7
Ij48L2Rpdj4KKworICAgIDxkaXYgc3R5bGU9ImxlZnQ6MDsgdG9wOjIwMHB4OyB3aWR0aDoxMDBw
eDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpibHVlOyI+PC9k
aXY+CisgICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsgdG9wOjIwMHB4OyB3aWR0aDoxMDBweDsg
aGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDp5ZWxsb3c7Ij48L2Rp
dj4KKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjIwMHB4OyB0b3A6MjAwcHg7IHdpZHRoOjEwMHB4OyBo
ZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmdyZWVuOyI+PC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQv
Zml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVz
dHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxlLWV4cGVjdGVk
LnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43MjVmNWFmNTBlZTYyNmY2NDI2OGNkYmQ5NmUwNTliNzJjNDIxYTFi
CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAyODUwCnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEweX55
VXsrdllWMmE+aTAqWik9aF5obEElQFdzJGxIYG9rPG19P29UbjV1Kgp6PDBLT15MclpndUJueWl+
THFqN29MJkZwIUdYbzJnNmljJlklY1F3d3VWTlMmeFZDdEBJRUdacmQzKW1ePUsldSYKej03VFhG
fDg9Yz5iITJBRDxvWGgwQF9ZX0VMJkxlPHdoUm1wJSRUP3Q2eDIyX0ZlSHNLTWd3NnFDNSt+UihP
ZldeCnozcjA+WnhjYGxUO2Y5SXZaUSZnZypoZyFeKE5ANHtRKXItYSE4aGlLVWhKRnY+ZihUe1U8
TCtIUzNqM15QNjxyXwpERWI3cUUKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1ib3R0b20taW4tcGFnZS1zY2Fs
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90
dG9tLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiMTM3ODkxNzkxZmU5
NjkyN2FkNzhlNjRiMGFhZDdiZGVkMDhiZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEgQEAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50
L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMmZjNDVhN2NhNzMzODFlZTNjOTM0ZWQ2MThjN2UyMTljNzFiZDdiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdl
LXNjYWxlLmh0bWwKQEAgLTAsMCArMSw0MyBAQAorPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+
CisgICAgICAgIDo6LXdlYmtpdC1zY3JvbGxiYXIgeworICAgICAgICAgICAgd2lkdGg6IDBweDsK
KyAgICAgICAgICAgIGhlaWdodDogMHB4OworICAgICAgICB9CisgICAgPC9zdHlsZT4KKyAgICA8
c2NyaXB0PgorICAgICAgd2luZG93LmVuYWJsZVBpeGVsVGVzdGluZyA9IHRydWU7CisgICAgICBp
ZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldFNob3Vs
ZExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoZG9jdW1lbnQsIHRydWUpOworCisg
ICAgICBmdW5jdGlvbiBzY3JvbGwoKSB7CisgICAgICAgICAgd2luZG93LnNjcm9sbFRvKDEwMCwx
MDApOworICAgICAgfQorCisgICAgICBmdW5jdGlvbiBzY2FsZVdpdGhFdmVudFNlbmRlcigpIHsK
KyAgICAgICAgICB2YXIgc2NhbGVGYWN0b3IgPSAyLjA7CisgICAgICAgICAgdmFyIHNjYWxlT2Zm
c2V0ID0gMDsKKyAgICAgICAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgICAg
ICAgZXZlbnRTZW5kZXIuc2NhbGVQYWdlQnkoc2NhbGVGYWN0b3IsIHNjYWxlT2Zmc2V0LCBzY2Fs
ZU9mZnNldCk7CisgICAgICAgICAgfQorICAgICAgfQorCisgICAgICBmdW5jdGlvbiB0ZXN0KCkg
eworICAgICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUud2lkdGggPSAoZG9jdW1lbnQuYm9keS5j
bGllbnRXaWR0aCArIDEwMCkgKyAicHgiOworICAgICAgICAgIHNjYWxlV2l0aEV2ZW50U2VuZGVy
KCk7CisgICAgICAgICAgc2Nyb2xsKCk7CisgICAgICB9CisgICAgPC9zY3JpcHQ+CisgICAgPHNj
cmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keSBzdHlsZT0iaGVpZ2h0OiAyMDAwcHg7IHdpZHRoOiAyMDAwcHg7IG1hcmdpbjow
cHg7IiBvbmxvYWQ9InRlc3QoKTsiPgorICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBmaXhlZDsg
Ym90dG9tOiAxMDBweDsgcmlnaHQ6IDEwMHB4OyB6LWluZGV4OiAxIj4KKyAgICAgICAgPGRpdiBz
dHlsZT0ibGVmdDowOyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246
YWJzb2x1dGU7IGJhY2tncm91bmQ6YmxhY2s7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0i
bGVmdDoxMDBweDsgdG9wOjA7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFi
c29sdXRlOyBiYWNrZ3JvdW5kOmdyZWVuOyI+PC9kaXY+CisKKyAgICAgICAgPGRpdiBzdHlsZT0i
bGVmdDowcHg7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246
YWJzb2x1dGU7IGJhY2tncm91bmQ6eWVsbG93OyI+PC9kaXY+CisgICAgICAgIDxkaXYgc3R5bGU9
ImxlZnQ6MTAwcHg7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRp
b246YWJzb2x1dGU7IGJhY2tncm91bmQ6Ymx1ZTsiPjwvZGl2PgorICAgIDwvZGl2PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJp
Z2h0LWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50
L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxZTNl
MGVkMGMxMTk0ODkwZGQzZDFkZmU5NDVmYTMwMzE2MTM0YjAKR0lUIGJpbmFyeSBwYXRjaApsaXRl
cmFsIDI4NzEKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5fnlVeyt2WVYyYT5pMCpaKT1oXmhsQSVA
V3MkbEhgb2s8bX0/b1QhekZICnpsVEBRKkx6QVNHV1JuIUxsJSYrO1I2fDJVQmVTSUJsdz9hMl5X
LTFYbUtaWklhR21zWWFTVy1MXlkrRkBVTUVLJAp6UiE1KHcwWHM3dnZUTSheSTItYlRpQ3oycnlM
fUEqNCVSJlghamt2Sih6WmMqdVJsS24hO2FucU9iaXtJSXQmZG4Kek1qNH1sRnEjdFJtPHcqYWRI
MGYrcTVzVUJ4QzZhcXZTUE9LcXElVWpDPmt3PjJQempwdkxpJEkkQWhDYTslSUFOCmh2YEk4angh
XkN1LXYpdHwqUG5nJjA9OSUxSllEQDwpO1QzSzBSVFF6TXojT3wKCmxpdGVyYWwgMApIY21WP2Qw
MDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1p
bi1wYWdlLXNjYWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhl
ZC1yaWdodC1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YjEzNzg5MTc5
MWZlOTY5MjdhZDc4ZTY0YjBhYWQ3YmRlZDA4YmRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEgQEAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2Zp
eGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9m
aXhlZC1yaWdodC1pbi1wYWdlLXNjYWxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTAzODNlODY5YjYwZWRk
Y2EwODIyNTgyMWYxZjBmZjQ1MDQ1MGE2ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1pbi1wYWdlLXNjYWxlLmh0bWwKQEAgLTAsMCArMSw1
NiBAQAorPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+CisgICAgICAgIDo6LXdlYmtpdC1zY3Jv
bGxiYXIgeworICAgICAgICAgICAgd2lkdGg6IDBweDsKKyAgICAgICAgICAgIGhlaWdodDogMHB4
OworICAgICAgICB9CisgICAgPC9zdHlsZT4KKyAgICA8c2NyaXB0PgorICAgICAgd2luZG93LmVu
YWJsZVBpeGVsVGVzdGluZyA9IHRydWU7CisgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAg
ICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldFNob3VsZExheW91dEZpeGVkRWxlbWVudHNSZWxh
dGl2ZVRvRnJhbWUoZG9jdW1lbnQsIHRydWUpOworCisgICAgICBmdW5jdGlvbiBzY3JvbGwoKSB7
CisgICAgICAgICAgd2luZG93LnNjcm9sbFRvKDEwMCwxMDApOworICAgICAgfQorCisgICAgICBm
dW5jdGlvbiBzY2FsZVdpdGhFdmVudFNlbmRlcigpIHsKKyAgICAgICAgICB2YXIgc2NhbGVGYWN0
b3IgPSAyLjA7CisgICAgICAgICAgdmFyIHNjYWxlT2Zmc2V0ID0gMDsKKyAgICAgICAgICBpZiAo
d2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgICAgICAgZXZlbnRTZW5kZXIuc2NhbGVQYWdl
Qnkoc2NhbGVGYWN0b3IsIHNjYWxlT2Zmc2V0LCBzY2FsZU9mZnNldCk7CisgICAgICAgICAgfQor
ICAgICAgfQorCisgICAgICBmdW5jdGlvbiB0ZXN0KCkgeworICAgICAgICAgIHNjYWxlV2l0aEV2
ZW50U2VuZGVyKCk7CisgICAgICAgICAgc2Nyb2xsKCk7CisgICAgICB9CisgICAgPC9zY3JpcHQ+
CisgICAgPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keSBzdHlsZT0iaGVpZ2h0OjIwMDBweDsgd2lkdGg6IDIwMDBweDsg
bWFyZ2luOjBweDsiIG9ubG9hZD0idGVzdCgpOyI+CisgICAgPGRpdiBzdHlsZT0icG9zaXRpb246
IGZpeGVkOyB0b3A6IC0xMDBweDsgcmlnaHQ6IDEwMHB4OyB6LWluZGV4OiAxIj4KKyAgICAgICAg
PGRpdiBzdHlsZT0ibGVmdDowOyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9z
aXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6eWVsbG93OyI+PC9kaXY+CisgICAgICAgIDxkaXYg
c3R5bGU9ImxlZnQ6MTAwcHg7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3Np
dGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpncmVlbjsiPjwvZGl2PgorCisgICAgICAgIDxkaXYg
c3R5bGU9ImxlZnQ6MDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3Np
dGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpibGFjazsiPjwvZGl2PgorICAgICAgICA8ZGl2IHN0
eWxlPSJsZWZ0OjEwMHB4OyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBv
c2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmJsdWU7Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKyAg
ICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOjMwMHB4OyBoZWlnaHQ6MzAw
cHg7IHRvcDogMHB4OyBsZWZ0OiAzMDBweCIgaWQ9ImdyaWQiPgorICAgICAgICA8ZGl2IHN0eWxl
PSJmbG9hdDpsZWZ0OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBiYWNrZ3JvdW5kOnllbGxv
dzsiPjwvZGl2PgorICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoxMDBweDsg
aGVpZ2h0OjEwMHB4OyBiYWNrZ3JvdW5kOmdyZWVuOyI+PC9kaXY+CisgICAgICAgIDxkaXYgc3R5
bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IGJhY2tncm91bmQ6Ymx1
ZTsiPjwvZGl2PgorCisgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjEwMHB4
OyBoZWlnaHQ6MTAwcHg7IGJhY2tncm91bmQ6IGdyZWVuOyI+PC9kaXY+CisgICAgICAgIDxkaXYg
c3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IGJhY2tncm91bmQ6
Ymx1ZTsiPjwvZGl2PgorICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoxMDBw
eDsgaGVpZ2h0OjEwMHB4OyBiYWNrZ3JvdW5kOnllbGxvdzsiPjwvZGl2PgorCisgICAgICAgIDxk
aXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IGJhY2tncm91
bmQ6Ymx1ZTsiPjwvZGl2PgorICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDox
MDBweDsgaGVpZ2h0OjEwMHB4OyBiYWNrZ3JvdW5kOnllbGxvdzsiPjwvZGl2PgorICAgICAgICA8
ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBiYWNrZ3Jv
dW5kOmdyZWVuOyI+PC9kaXY+CisgICAgPC9kaXY+CisgICAgPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cK
aW5kZXggM2I0M2IzZDcyOTNkZjMxNzRjZjUzYzBmYWU1MGIzYmFhMTY3ZmFkNC4uZjI3MjgyODAy
MWFiMDZiMjdkMGYxMmQ3MWIwN2M5ZTFlNmZhNjM5YSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisr
KyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDExLTEwLTMxICBGYWR5IFNhbXVlbCAg
PGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdoZW4gcGFnZSBzY2FsaW5nIGlzIGlu
IHVzZSBwb3NpdGlvbjpmaXhlZCBoYXMgaW5jb3JyZWN0IHJlc3VsdHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjE3CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTb3VyY2UvYXV0b3Rvb2xzL3N5bWJv
bHMuZmlsdGVyOgorCiAyMDExLTEwLTI4ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgUmVuYW1lIEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbi5pbiB0byBET01FeGNl
cHRpb25zLmluCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113486</attachid>
            <date>2011-11-03 07:22:59 -0700</date>
            <delta_ts>2011-12-01 12:09:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68617-20111103102258.patch</filename>
            <type>text/plain</type>
            <size>25528</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkxODIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzNmNiM2U2YjdjMmZlZTE0
NGVlNjMzNWZlZGZlMmMxNzA0YzAwMDAyLi40MjMxOWQzODNjZmFmM2ZhN2Q2MmY0NGVhYTA0YTc3
MWE0OTNhZmI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTEtMTEtMDMgIEZhZHkg
U2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2hlbiBwYWdlIHNjYWxp
bmcgaXMgaW4gdXNlIHBvc2l0aW9uOmZpeGVkIGhhcyBpbmNvcnJlY3QgcmVzdWx0cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MTcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGhlIG9wdGlvbiBm
b3IgcG9zaXRpb246Zml4ZWQgZWxlbWVudHMgdG8gYmUgZml4ZWQgdG8gdGhlIGZyYW1lCisgICAg
ICAgIGluc3RlYWQgb2YgdGhlIGxheW91dCByZWN0YW5nbGUgb2YgdGhlIGRvY3VtZW50LgorCisg
ICAgICAgIFRlc3RzOiBmYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS5odG1sCisgICAg
ICAgICAgICAgICBmYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUu
aHRtbAorICAgICAgICAgICAgICAgZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2Nh
bGUuaHRtbAorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogcGFnZS9GcmFt
ZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpyZXNldCk6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OnNjcm9sbFhGb3JGaXhlZFBvc2l0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lVmlldzo6c2Nyb2xsWUZvckZpeGVkUG9zaXRpb24pOgorICAgICAgICAg
IElmIHBvc2l0aW9uOmZpeGVkIGVsZW1lbnRzIGFyZSByZWxhdGl2ZSB0byB0aGUgZnJhbWUsIGRp
c3JlZ2FyZCB0aGUKKyAgICAgICAgICBkcmFnIGZhY3Rvci4KKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lVmlldzo6c2V0U2hvdWxkTGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZSk6Cisg
ICAgICAgICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6
c2hvdWxkTGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZSk6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbnRh
aW5pbmdCbG9ja0xvZ2ljYWxXaWR0aEZvclBvc2l0aW9uZWQpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQm94Ojpjb250YWluaW5nQmxvY2tMb2dpY2FsSGVpZ2h0Rm9yUG9zaXRpb25lZCk6Cisg
ICAgICAgICAgSWYgcG9zaXRpb246Zml4ZWQgZWxlbWVudHMgYXJlIHJlbGF0aXZlIHRvIHRoZSBm
cmFtZSwgdGhlaXIgY29udGFpbmVyCisgICAgICAgICAgaXMgdGhlIGZyYW1lIGluc3RlYWQgb2Yg
dGhlIGxheW91dCByZWN0IG9mIHRoZSBkb2N1bWVudC4gCisgICAgICAgICAgVGhpcyBhbGxvd3Mg
cHJvcGVyIHBvc2l0aW9uaW5nIG9mIHRoZXNlIGVsZW1lbnRzIHRvIHRoZSByaWdodCBhbmQKKyAg
ICAgICAgICBib3R0b20uCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXRTaG91bGRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRp
dmVUb0ZyYW1lKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRl
c3RpbmcvSW50ZXJuYWxzLmlkbDoKKyAgICAgICAgICBBbGxvdyBlbmFibGluZyBhbmQgZGlzYWJs
aW5nIHRoZSBuZXcgYmVoYXZpb3IgaW4gbGF5b3V0IHRlc3RzLgorCiAyMDExLTExLTAzICBTaW1v
biBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdIEFk
ZCBwYWdlU2NhbGVGYWN0b3IgdG8gdGhlIHNlcmlhbGl6ZWQgaGlzdG9yeSBpdGVtCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
aW5kZXggNDNkYjc2MGQ4MTIwOWE3MGQ2N2MyMWQ5ZjFjMzQ4OTQ4Yzk4M2NhMy4uOWVhNGNlMzg5
NjUzZThmZWE3NjNkMTE1NjM2MDI2YTMwY2QwNzc2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDExLTExLTAzICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFdoZW4gcGFnZSBzY2FsaW5nIGlzIGluIHVzZSBwb3NpdGlvbjpmaXhlZCBoYXMgaW5j
b3JyZWN0IHJlc3VsdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY4NjE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiB3aW4vV2ViS2l0Mi5kZWY6CisgICAgICAgICogd2luL1dlYktpdDJDRkxpdGUuZGVm
OgorCiAyMDExLTExLTAzICBOYXlhbiBLdW1hciBLICA8bmF5YW5ra0Btb3Rvcm9sYS5jb20+CiAK
ICAgICAgICAgW0dUS11bV0VCS0lUMl0gQWRkIHN1cHBvcnQgZm9yIHRpdGxlIHByb3BlcnR5IGlu
IFdlYktpdFdlYlZpZXcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
biBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDVjYTAxN2M5OGY5Mjg3NTg0
ODE5MTY2MzM3YjVkNzEzMTJhYWU4M2QuLmIwY2U5NDFlMmMwNmRhY2I0NzQyNDU0ZDFlMTEyZThj
YzcxNWM3N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xMDExLDYgKzEwMTEsNyBAQCBfX1pO
N1dlYkNvcmU5RnJhbWVWaWV3MTdzZXRTY3JvbGxQb3NpdGlvbkVSS05TXzhJbnRQb2ludEUKIF9f
Wk43V2ViQ29yZTlGcmFtZVZpZXcxN3NldFRyYWNrc1JlcGFpbnRzRWIKIF9fWk43V2ViQ29yZTlG
cmFtZVZpZXcxOHVwZGF0ZUNvbnRyb2xUaW50c0V2CiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MTlz
Y3JvbGxFbGVtZW50VG9SZWN0RVBOU183RWxlbWVudEVSS05TXzdJbnRSZWN0RQorX19aTjdXZWJD
b3JlOUZyYW1lVmlldzQzc2V0U2hvdWxkTGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFt
ZUViCiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MjBlbnRlckNvbXBvc2l0aW5nTW9kZUV2CiBfX1pO
N1dlYkNvcmU5RnJhbWVWaWV3MjFmbHVzaERlZmVycmVkUmVwYWludHNFdgogX19aTjdXZWJDb3Jl
OUZyYW1lVmlldzIyc2V0QmFzZUJhY2tncm91bmRDb2xvckVSS05TXzVDb2xvckUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmNwcAppbmRleCA1NWNjNTc1OTFhMDFlOWYzZDhmNWFjY2EwMWUzYzkxNDgw
MjUyYzJhLi5hMzMwY2QyYjgxMzc3YjI5YjEwNGU0MmM2ZmE5MGZkNTkyZTZmMTkwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0yMTMsNiArMjEzLDcgQEAgdm9pZCBGcmFtZVZpZXc6
OnJlc2V0KCkKICAgICBtX2Nhbm5vdEJsaXRUb1dpbmRvdyA9IGZhbHNlOwogICAgIG1faXNPdmVy
bGFwcGVkID0gZmFsc2U7CiAgICAgbV9jb250ZW50SXNPcGFxdWUgPSBmYWxzZTsKKyAgICBtX3No
b3VsZExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUgPSBmYWxzZTsKICAgICBtX2Jv
cmRlclggPSAzMDsKICAgICBtX2JvcmRlclkgPSAzMDsKICAgICBtX2xheW91dFRpbWVyLnN0b3Ao
KTsKQEAgLTEzODcsNyArMTM4OCw3IEBAIExheW91dFVuaXQgRnJhbWVWaWV3OjpzY3JvbGxYRm9y
Rml4ZWRQb3NpdGlvbigpIGNvbnN0CiAgICAgLy8gV2hlbiB0aGUgcGFnZSBpcyBzY2FsZWQsIHRo
ZSBzY2FsZWQgInZpZXdwb3J0IiB3aXRoIHJlc3BlY3QgdG8gd2hpY2ggZml4ZWQgb2JqZWN0IGFy
ZSBwb3NpdGlvbmVkCiAgICAgLy8gZG9lc24ndCBtb3ZlIGFzIGZhc3QgYXMgdGhlIGNvbnRlbnQg
dmlldywgc28gdGhhdCB3aGVuIHRoZSBjb250ZW50IGlzIHNjcm9sbGVkIGFsbCB0aGUgd2F5IHRv
IHRoZQogICAgIC8vIGVuZCwgdGhlIGJvdHRvbSBvZiB0aGUgc2NhbGVkICJ2aWV3cG9ydCIgdG91
Y2hlcyB0aGUgYm90dG9tIG9mIHRoZSByZWFsIHZpZXdwb3J0LgotICAgIGZsb2F0IGRyYWdGYWN0
b3IgPSAoY29udGVudHNXaWR0aCgpIC0gdmlzaWJsZUNvbnRlbnRXaWR0aCAqIGZyYW1lU2NhbGVG
YWN0b3IpIC8gbWF4WDsKKyAgICBmbG9hdCBkcmFnRmFjdG9yID0gc2hvdWxkTGF5b3V0Rml4ZWRF
bGVtZW50c1JlbGF0aXZlVG9GcmFtZSgpID8gMSA6IChjb250ZW50c1dpZHRoKCkgLSB2aXNpYmxl
Q29udGVudFdpZHRoICogZnJhbWVTY2FsZUZhY3RvcikgLyBtYXhYOwogCiAgICAgcmV0dXJuIHgg
KiBkcmFnRmFjdG9yIC8gZnJhbWVTY2FsZUZhY3RvcjsKIH0KQEAgLTEzOTUsOCArMTM5Niw4IEBA
IExheW91dFVuaXQgRnJhbWVWaWV3OjpzY3JvbGxYRm9yRml4ZWRQb3NpdGlvbigpIGNvbnN0CiBM
YXlvdXRVbml0IEZyYW1lVmlldzo6c2Nyb2xsWUZvckZpeGVkUG9zaXRpb24oKSBjb25zdAogewog
ICAgIExheW91dFVuaXQgdmlzaWJsZUNvbnRlbnRIZWlnaHQgPSB2aXNpYmxlQ29udGVudFJlY3Qo
KS5oZWlnaHQoKTsKLQogICAgIExheW91dFVuaXQgbWF4WSA9IGNvbnRlbnRzSGVpZ2h0KCkgLSB2
aXNpYmxlQ29udGVudEhlaWdodDsKKwogICAgIGlmIChtYXhZID09IDApCiAgICAgICAgIHJldHVy
biAwOwogCkBAIC0xNDE4LDggKzE0MTksNyBAQCBMYXlvdXRVbml0IEZyYW1lVmlldzo6c2Nyb2xs
WUZvckZpeGVkUG9zaXRpb24oKSBjb25zdAogICAgICAgICByZXR1cm4geTsKIAogICAgIGZsb2F0
IGZyYW1lU2NhbGVGYWN0b3IgPSBtX2ZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCk7Ci0gICAgZmxv
YXQgZHJhZ0ZhY3RvciA9IChjb250ZW50c0hlaWdodCgpIC0gdmlzaWJsZUNvbnRlbnRIZWlnaHQg
KiBmcmFtZVNjYWxlRmFjdG9yKSAvIG1heFk7Ci0KKyAgICBmbG9hdCBkcmFnRmFjdG9yID0gc2hv
dWxkTGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZSgpID8gMSA6IChjb250ZW50c0hl
aWdodCgpIC0gdmlzaWJsZUNvbnRlbnRIZWlnaHQgKiBmcmFtZVNjYWxlRmFjdG9yKSAvIG1heFk7
CiAgICAgcmV0dXJuIHkgKiBkcmFnRmFjdG9yIC8gZnJhbWVTY2FsZUZhY3RvcjsKIH0KIApAQCAt
MTQyOCw2ICsxNDI4LDE5IEBAIExheW91dFNpemUgRnJhbWVWaWV3OjpzY3JvbGxPZmZzZXRGb3JG
aXhlZFBvc2l0aW9uKCkgY29uc3QKICAgICByZXR1cm4gTGF5b3V0U2l6ZShzY3JvbGxYRm9yRml4
ZWRQb3NpdGlvbigpLCBzY3JvbGxZRm9yRml4ZWRQb3NpdGlvbigpKTsKIH0KIAordm9pZCBGcmFt
ZVZpZXc6OnNldFNob3VsZExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoYm9vbCBz
aG91bGRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKQoreworICAgIGlmIChzaG91
bGRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lID09IG1fc2hvdWxkTGF5b3V0Rml4
ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9zaG91
bGRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lID0gc2hvdWxkTGF5b3V0Rml4ZWRF
bGVtZW50c1JlbGF0aXZlVG9GcmFtZTsKKworICAgIGlmICghaGFzRml4ZWRPYmplY3RzKCkpCisg
ICAgICAgIHJldHVybjsKKworICAgIHNldE5lZWRzTGF5b3V0KCk7Cit9CisKIExheW91dFBvaW50
IEZyYW1lVmlldzo6Y3VycmVudE1vdXNlUG9zaXRpb24oKSBjb25zdAogewogICAgIHJldHVybiBt
X2ZyYW1lID8gbV9mcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmN1cnJlbnRNb3VzZVBvc2l0aW9uKCkg
OiBJbnRQb2ludCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggMmMwMjk0OTQ3YTI3Nzc3
OWVhMWFlMzVmNWVkODQzOGVkNGU3ZjliZS4uMDM1YmY3ZDc2M2Q1Y2I1OTcxZDJhOGI3Mzk5YmU4
NmE3NTY1MWNiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC0xOTUsNiArMTk1LDkgQEAg
cHVibGljOgogICAgIExheW91dFVuaXQgc2Nyb2xsWUZvckZpeGVkUG9zaXRpb24oKSBjb25zdDsK
ICAgICBMYXlvdXRTaXplIHNjcm9sbE9mZnNldEZvckZpeGVkUG9zaXRpb24oKSBjb25zdDsKIAor
ICAgIGJvb2wgc2hvdWxkTGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZSgpIGNvbnN0
IHsgcmV0dXJuIG1fc2hvdWxkTGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZTsgfQor
ICAgIHZvaWQgc2V0U2hvdWxkTGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZShib29s
KTsKKwogICAgIHZvaWQgYmVnaW5EZWZlcnJlZFJlcGFpbnRzKCk7CiAgICAgdm9pZCBlbmREZWZl
cnJlZFJlcGFpbnRzKCk7CiAgICAgdm9pZCBjaGVja1N0b3BEZWxheWluZ0RlZmVycmVkUmVwYWlu
dHMoKTsKQEAgLTQwOSw3ICs0MTIsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9jb250ZW50SXNP
cGFxdWU7CiAgICAgdW5zaWduZWQgbV9zbG93UmVwYWludE9iamVjdENvdW50OwogICAgIHVuc2ln
bmVkIG1fZml4ZWRPYmplY3RDb3VudDsKLQorICAgIGJvb2wgbV9zaG91bGRMYXlvdXRGaXhlZEVs
ZW1lbnRzUmVsYXRpdmVUb0ZyYW1lOwogICAgIGludCBtX2JvcmRlclg7CiAgICAgaW50IG1fYm9y
ZGVyWTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCA2OWQxMjRm
NzRlODY3ZDFkZjM0MDA5OWI1Nzg4OTE1NjMxN2Q4ODNiLi5mMTZmZWMwOWY3MzY0OGFjNGJiYmZh
YjFlZDYzZmU3ZGY3OGNlMTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cApAQCAtMjMyOCw2ICsyMzI4LDEyIEBAIHZvaWQgUmVuZGVyQm94Ojpjb21wdXRlQmxvY2tEaXJl
Y3Rpb25NYXJnaW5zKFJlbmRlckJsb2NrKiBjb250YWluaW5nQmxvY2spCiBpbnQgUmVuZGVyQm94
Ojpjb250YWluaW5nQmxvY2tMb2dpY2FsV2lkdGhGb3JQb3NpdGlvbmVkKGNvbnN0IFJlbmRlckJv
eE1vZGVsT2JqZWN0KiBjb250YWluaW5nQmxvY2ssIFJlbmRlclJlZ2lvbiogcmVnaW9uLAogICAg
IExheW91dFVuaXQgb2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSwgYm9vbCBjaGVja0Zv
clBlcnBlbmRpY3VsYXJXcml0aW5nTW9kZSkgY29uc3QKIHsKKyAgICAvLyBDb250YWluZXIgZm9y
IHBvc2l0aW9uOmZpeGVkIGlzIHRoZSBmcmFtZS4KKyAgICBGcmFtZSogZnJhbWUgPSB2aWV3KCkg
PyB2aWV3KCktPmZyYW1lKCk6IDA7CisgICAgRnJhbWVWaWV3KiBmcmFtZVZpZXcgPSB2aWV3KCkg
PyB2aWV3KCktPmZyYW1lVmlldygpIDogMDsKKyAgICBpZiAoc3R5bGUoKSAmJiBzdHlsZSgpLT5w
b3NpdGlvbigpID09IEZpeGVkUG9zaXRpb24gJiYgY29udGFpbmVyKCktPmlzUmVuZGVyVmlldygp
ICYmIGZyYW1lICYmIGZyYW1lVmlldyAmJiBmcmFtZVZpZXctPnNob3VsZExheW91dEZpeGVkRWxl
bWVudHNSZWxhdGl2ZVRvRnJhbWUoKSkKKyAgICAgICAgcmV0dXJuICh2aWV3KCktPmlzSG9yaXpv
bnRhbFdyaXRpbmdNb2RlKCkgPyBmcmFtZVZpZXctPnZpc2libGVXaWR0aCgpIDogZnJhbWVWaWV3
LT52aXNpYmxlSGVpZ2h0KCkpIC8gZnJhbWUtPmZyYW1lU2NhbGVGYWN0b3IoKTsKKwogICAgIGlm
IChjaGVja0ZvclBlcnBlbmRpY3VsYXJXcml0aW5nTW9kZSAmJiBjb250YWluaW5nQmxvY2stPmlz
SG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgIT0gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKICAg
ICAgICAgcmV0dXJuIGNvbnRhaW5pbmdCbG9ja0xvZ2ljYWxIZWlnaHRGb3JQb3NpdGlvbmVkKGNv
bnRhaW5pbmdCbG9jaywgZmFsc2UpOwogCkBAIC0yMzgwLDYgKzIzODYsMTEgQEAgaW50IFJlbmRl
ckJveDo6Y29udGFpbmluZ0Jsb2NrTG9naWNhbFdpZHRoRm9yUG9zaXRpb25lZChjb25zdCBSZW5k
ZXJCb3hNb2RlbE9iamUKIAogaW50IFJlbmRlckJveDo6Y29udGFpbmluZ0Jsb2NrTG9naWNhbEhl
aWdodEZvclBvc2l0aW9uZWQoY29uc3QgUmVuZGVyQm94TW9kZWxPYmplY3QqIGNvbnRhaW5pbmdC
bG9jaywgYm9vbCBjaGVja0ZvclBlcnBlbmRpY3VsYXJXcml0aW5nTW9kZSkgY29uc3QKIHsKKyAg
ICBGcmFtZSogZnJhbWUgPSB2aWV3KCkgPyB2aWV3KCktPmZyYW1lKCk6IDA7CisgICAgRnJhbWVW
aWV3KiBmcmFtZVZpZXcgPSB2aWV3KCkgPyB2aWV3KCktPmZyYW1lVmlldygpIDogMDsKKyAgICBp
ZiAoc3R5bGUoKSAmJiBzdHlsZSgpLT5wb3NpdGlvbigpID09IEZpeGVkUG9zaXRpb24gJiYgY29u
dGFpbmVyKCktPmlzUmVuZGVyVmlldygpICYmIGZyYW1lICYmIGZyYW1lVmlldy0+c2hvdWxkTGF5
b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZSgpKQorICAgICAgICByZXR1cm4gKHZpZXco
KS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGZyYW1lVmlldy0+dmlzaWJsZUhlaWdodCgp
IDogZnJhbWVWaWV3LT52aXNpYmxlV2lkdGgoKSkgLyBmcmFtZS0+ZnJhbWVTY2FsZUZhY3Rvcigp
OworCiAgICAgaWYgKGNoZWNrRm9yUGVycGVuZGljdWxhcldyaXRpbmdNb2RlICYmIGNvbnRhaW5p
bmdCbG9jay0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSAhPSBpc0hvcml6b250YWxXcml0aW5n
TW9kZSgpKQogICAgICAgICByZXR1cm4gY29udGFpbmluZ0Jsb2NrTG9naWNhbFdpZHRoRm9yUG9z
aXRpb25lZChjb250YWluaW5nQmxvY2ssIDAsIDAsIGZhbHNlKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwCmluZGV4IGFlZmE0ZDk2M2YzODhjOTk0MzMzYmQyMGFmZDIxYjQwZmNl
NWViNTUuLjRiZjNmZjc4YWQxYWIzOWQyYmUzNWJmYzgxNmNhYjU3OTgwNDQxMzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTQ5NCw0ICs0OTQsMTUgQEAgdW5zaWduZWQg
SW50ZXJuYWxzOjpsZW5ndGhGcm9tUmFuZ2UoRWxlbWVudCogc2NvcGUsIGNvbnN0IFJhbmdlKiBy
YW5nZSwgRXhjZXB0aW8KICAgICByZXR1cm4gbGVuZ3RoOwogfQogCit2b2lkIEludGVybmFsczo6
c2V0U2hvdWxkTGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZShEb2N1bWVudCogZG9j
dW1lbnQsIGJvb2wgZW5hYmxlZCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFkb2N1
bWVudCB8fCAhZG9jdW1lbnQtPnZpZXcoKSkgeworICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNT
X0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEZyYW1lVmlldyogZnJhbWVWaWV3
ID0gZG9jdW1lbnQtPnZpZXcoKTsKKyAgICBmcmFtZVZpZXctPnNldFNob3VsZExheW91dEZpeGVk
RWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoZW5hYmxlZCk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5oCmluZGV4IDE4YjQyMjViZTFmYTcwMTg1ODU1M2JmMzczNGRmZjAzNjU2ZjBl
ODYuLmNmNDQxM2MxZmNiZGViZDNkOWZjYmY3YjM2ZmI2NjRkY2Q3YTc1MDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaApAQCAtOTksNiArOTksNyBAQCBwdWJsaWM6CiAgICAgUGFzc1Jl
ZlB0cjxSYW5nZT4gcmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGgoRWxlbWVudCogc2NvcGUsIGlu
dCByYW5nZUxvY2F0aW9uLCBpbnQgcmFuZ2VMZW5ndGgsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB1
bnNpZ25lZCBsb2NhdGlvbkZyb21SYW5nZShFbGVtZW50KiBzY29wZSwgY29uc3QgUmFuZ2UqLCBF
eGNlcHRpb25Db2RlJik7CiAgICAgdW5zaWduZWQgbGVuZ3RoRnJvbVJhbmdlKEVsZW1lbnQqIHNj
b3BlLCBjb25zdCBSYW5nZSosIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHNldFNob3VsZExh
eW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoRG9jdW1lbnQqLCBib29sLCBFeGNlcHRp
b25Db2RlJik7CiAKICAgICBzdGF0aWMgY29uc3QgY2hhciogaW50ZXJuYWxzSWQ7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCAzODUwYmJiOGZhZjdlZDY3Y2ViYjVlZGZk
MTFmYjM0NWZkMjBkZjY1Li40YWMwNDkyMWI5YjIxMmIxOTYzYTJmZmNmNzBkOWRhYjIxYWE3YWU2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC03Myw2ICs3Myw4IEBAIG1v
ZHVsZSB3aW5kb3cgewogICAgICAgICBSYW5nZSByYW5nZUZyb21Mb2NhdGlvbkFuZExlbmd0aChp
biBFbGVtZW50IHNjb3BlLCBpbiBsb25nIHJhbmdlTG9jYXRpb24sIGluIGxvbmcgcmFuZ2VMZW5n
dGgpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgdW5zaWduZWQgbG9uZyBsb2NhdGlv
bkZyb21SYW5nZShpbiBFbGVtZW50IHNjb3BlLCBpbiBSYW5nZSByYW5nZSkgcmFpc2VzIChET01F
eGNlcHRpb24pOwogICAgICAgICB1bnNpZ25lZCBsb25nIGxlbmd0aEZyb21SYW5nZShpbiBFbGVt
ZW50IHNjb3BlLCBpbiBSYW5nZSByYW5nZSkgcmFpc2VzIChET01FeGNlcHRpb24pOworCisgICAg
ICAgIHZvaWQgc2V0U2hvdWxkTGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZShpbiBE
b2N1bWVudCBkb2N1bWVudCwgaW4gYm9vbGVhbiBlbmFibGVkKSByYWlzZXMoRE9NRXhjZXB0aW9u
KTsKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5k
ZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKaW5kZXggMTc2OTMwNTY0ODliYmFl
NjU3NTA3YjlkNTFhMTFhNTY2NzZiZTEyMS4uODA1NTMwODk2OTQ1OGU5MDg3M2NhNjEzZTk5YmUw
YTMxYzU1MDI1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCisr
KyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgpAQCAtMTY4LDYgKzE2OCw3IEBAIEVY
UE9SVFMKICAgICAgICAgP3JhbmdlRnJvbUxvY2F0aW9uQW5kTGVuZ3RoQFRleHRJdGVyYXRvckBX
ZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWUmFuZ2VAV2ViQ29yZUBAQFdURkBAUEFWRWxlbWVu
dEAyQEhIX05AWgogICAgICAgICA/cmVtb3ZlU2hhZG93Um9vdEBFbGVtZW50QFdlYkNvcmVAQFFB
RVhYWgogICAgICAgICA/c2Nyb2xsRWxlbWVudFRvUmVjdEBGcmFtZVZpZXdAV2ViQ29yZUBAUUFF
WFBBVkVsZW1lbnRAMkBBQlZJbnRSZWN0QDJAQFoKKyAgICAgICAgP3NldFNob3VsZExheW91dEZp
eGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWVARnJhbWVWaWV3QFdlYkNvcmVAQFFBRVhfTkBaCiAg
ICAgICAgID9zZXRET01FeGNlcHRpb25AV2ViQ29yZUBAWUFYUEFWRXhlY1N0YXRlQEpTQ0BASEBa
CiAgICAgICAgID9zZXRSZXNvdXJjZXNEYXRhU2l6ZUxpbWl0c0Zyb21JbnRlcm5hbHNASW5zcGVj
dG9yQ29udHJvbGxlckBXZWJDb3JlQEBRQUVYSEhAWgogICAgICAgICA/c2V0U2Nyb2xsYmFyc1N1
cHByZXNzZWRAU2Nyb2xsVmlld0BXZWJDb3JlQEBRQUVYX04wQFoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJL
aXQyQ0ZMaXRlLmRlZgppbmRleCBlYzMxZDhkYzE1YzBlZGM3ZmU3NWJjYWU1NDEwY2IwZTE2ZmE0
YThjLi41ZWIzMTNiZmU1N2UyOTdiZGI5MTFkMjQ3Y2Q1N2IwODk2ZjAxMzFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKKysrIGIvU291cmNlL1dlYktp
dDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCkBAIC0xNTksNiArMTU5LDcgQEAgRVhQT1JUUwogICAg
ICAgICA/cmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGhAVGV4dEl0ZXJhdG9yQFdlYkNvcmVAQFNB
P0FWPyRQYXNzUmVmUHRyQFZSYW5nZUBXZWJDb3JlQEBAV1RGQEBQQVZFbGVtZW50QDJASEhfTkBa
CiAgICAgICAgID9yZW1vdmVTaGFkb3dSb290QEVsZW1lbnRAV2ViQ29yZUBAUUFFWFhaCiAgICAg
ICAgID9zY3JvbGxFbGVtZW50VG9SZWN0QEZyYW1lVmlld0BXZWJDb3JlQEBRQUVYUEFWRWxlbWVu
dEAyQEFCVkludFJlY3RAMkBAWgorICAgICAgICA/c2V0U2hvdWxkTGF5b3V0Rml4ZWRFbGVtZW50
c1JlbGF0aXZlVG9GcmFtZUBGcmFtZVZpZXdAV2ViQ29yZUBAUUFFWF9OQFoKICAgICAgICAgP3Nl
dERPTUV4Y2VwdGlvbkBXZWJDb3JlQEBZQVhQQVZFeGVjU3RhdGVASlNDQEBIQFoKICAgICAgICAg
P3NldFJlc291cmNlc0RhdGFTaXplTGltaXRzRnJvbUludGVybmFsc0BJbnNwZWN0b3JDb250cm9s
bGVyQFdlYkNvcmVAQFFBRVhISEBaCiAgICAgICAgID9zZXRTY3JvbGxiYXJzU3VwcHJlc3NlZEBT
Y3JvbGxWaWV3QFdlYkNvcmVAQFFBRVhfTjBAWgpkaWZmIC0tZ2l0IGEvU291cmNlL2F1dG90b29s
cy9zeW1ib2xzLmZpbHRlciBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKaW5kZXgg
YTMxMTM5NjEyMjE0YjhlNTAyMTMwNDM1N2MwZTdjZjQwYTkyYzk3ZS4uZGRlNjM5OGQ0MDc5OGIw
MTcxYmExOTMyYzNlNDEzNmViZjlmNDY3MiAxMDA2NDQKLS0tIGEvU291cmNlL2F1dG90b29scy9z
eW1ib2xzLmZpbHRlcgorKysgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCkBAIC04
MCw2ICs4MCw3IEBAIF9aTjdXZWJDb3JlMTRTY3JvbGxhYmxlQXJlYTI4c2V0U2Nyb2xsT2Zmc2V0
RnJvbUludGVybmFsc0VSS05TXzhJbnRQb2ludEU7CiBfWk43V2ViQ29yZTEwU2Nyb2xsVmlldzIz
c2V0U2Nyb2xsYmFyc1N1cHByZXNzZWRFYmI7CiBfWk43V2ViQ29yZTlGcmFtZVZpZXcxN3BhaW50
Q29udHJvbFRpbnRzRXY7CiBfWk43V2ViQ29yZTlGcmFtZVZpZXcxOXNjcm9sbEVsZW1lbnRUb1Jl
Y3RFUE5TXzdFbGVtZW50RVJLTlNfN0ludFJlY3RFOworX1pON1dlYkNvcmU5RnJhbWVWaWV3NDNz
ZXRTaG91bGRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lRWI7CiBsb2NhbDoKIF9a
KjsKIGN0aSo7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggNDhhZjNjYTE2ODgzN2VmYmQ5YjMxMTIzNWE0YzM0OWM5NGYxMTEz
NC4uMDg0OWEyOTU2MzQyNjZkMDY5NTU1MmRjNjg0M2Q4MTgwNjFjYjRkMSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIwIEBACisyMDExLTExLTAzICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFdoZW4gcGFnZSBzY2FsaW5nIGlzIGluIHVzZSBwb3NpdGlvbjpmaXhlZCBo
YXMgaW5jb3JyZWN0IHJlc3VsdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTY4NjE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC5w
bmc6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWludC9maXhlZC1pbi1wYWdlLXNjYWxlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L2ZpeGVkLWluLXBhZ2Ut
c2NhbGUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJv
dHRvbS1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogZmFzdC9y
ZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNj
YWxlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWludC9maXhlZC1yaWdodC1pbi1w
YWdlLXNjYWxlLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L2Zp
eGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS5odG1sOiBBZGRlZC4KKwogMjAx
MS0xMS0wMyAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgc2tpcApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50
L2ZpeGVkLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBh
aW50L2ZpeGVkLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyMzUzOTk1
Mzc5ZDc2YTk1NTY5YjIwODAxMjVmYmM0YWVmMmFhZDQKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFs
IDI4NjkKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5fnlVeyt2WVYyYT5pMCpaKT1oXmhsQSVAV3Mk
bEhgb2s8bX0/b1RuMC1jCnppekVYUjEyZHo8V0spQ1cjM1ZCI1dBajhISGB6NEJDP3okYHhUKD48
ayU1OGh4VGxMX05YNEFESCNZSnoxQGY+dQp6QD9BN3ZSMjB3Nih5ZztFT3s9MUBkRnAhaEtMXmZ5
Vj48VV9MJk5fTWNqT290M1p4b1k4M2NxUTcjSXZrOEtaJFAKem5pQS1rM3BRUnFeTnEhP3E7e0ts
IUpeODFlVEUtPns5KzZhSl8oRXJNXzVKfnFrJUEqNjZsLUAtcHJjJG1ZMEZTCnd7b19GPGg3THww
aEszbWpNajR9bEZxI3RSb0QxJmUtUSF6bl5CfVZhKmJaaiFib0Z5dD1ha1J7MDJTWTkje2Q4VAoK
bGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBh
aW50L2ZpeGVkLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9y
ZXBhaW50L2ZpeGVkLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiMTM3
ODkxNzkxZmU5NjkyN2FkNzhlNjRiMGFhZDdiZGVkMDhiZGMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSBAQAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4
ZWQtaW4tcGFnZS1zY2FsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLWlu
LXBhZ2Utc2NhbGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hOTVjNTcyODY4NjYwYzU1M2I2ODg3YWU3MDg1
YmZkNDE1Y2IzMDBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50
L2ZpeGVkLWluLXBhZ2Utc2NhbGUuaHRtbApAQCAtMCwwICsxLDU0IEBACis8aHRtbD4KKzxoZWFk
PgorICAgIDxzdHlsZT4KKyAgICAgICAgOjotd2Via2l0LXNjcm9sbGJhciB7CisgICAgICAgICAg
ICB3aWR0aDogMHB4OworICAgICAgICAgICAgaGVpZ2h0OiAwcHg7CisgICAgICAgIH0KKyAgICA8
L3N0eWxlPgorICAgIDxzY3JpcHQ+CisgICAgICB3aW5kb3cuZW5hYmxlUGl4ZWxUZXN0aW5nID0g
dHJ1ZTsKKyAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgIHdpbmRvdy5pbnRl
cm5hbHMuc2V0U2hvdWxkTGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZShkb2N1bWVu
dCwgdHJ1ZSk7CisKKyAgICAgIGZ1bmN0aW9uIHNjcm9sbCgpIHsKKyAgICAgICAgICB3aW5kb3cu
c2Nyb2xsVG8oMTAwLDEwMCk7CisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHNjYWxlV2l0aEV2
ZW50U2VuZGVyKCkgeworICAgICAgICAgIHZhciBzY2FsZUZhY3RvciA9IDIuMDsKKyAgICAgICAg
ICB2YXIgc2NhbGVPZmZzZXQgPSAwOworICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIp
IHsKKyAgICAgICAgICAgICBldmVudFNlbmRlci5zY2FsZVBhZ2VCeShzY2FsZUZhY3Rvciwgc2Nh
bGVPZmZzZXQsIHNjYWxlT2Zmc2V0KTsKKyAgICAgICAgICB9CisgICAgICB9CisKKyAgICAgIGZ1
bmN0aW9uIHRlc3QoKSB7CisgICAgICAgICAgc2NhbGVXaXRoRXZlbnRTZW5kZXIoKTsKKyAgICAg
ICAgICBzY3JvbGwoKTsKKyAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0i
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
IHN0eWxlPSJ3aWR0aDoyMDAwcHg7IGhlaWdodDoyMDAwcHg7IG1hcmdpbjowcHg7IiBvbmxvYWQ9
InRlc3QoKTsiPgorICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBmaXhlZDsgdG9wOiAtMTAwcHg7
IGxlZnQ6IC0xMDBweDsgei1pbmRleDogMSI+CisgICAgICAgIDxkaXYgc3R5bGU9ImxlZnQ6MDsg
dG9wOjA7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNr
Z3JvdW5kOnllbGxvdzsiPjwvZGl2PgorICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4OyB0
b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tn
cm91bmQ6Z3JlZW47Ij48L2Rpdj4KKworICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjA7IHRvcDox
MDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tn
cm91bmQ6Z3JlZW47Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsgdG9w
OjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFj
a2dyb3VuZDpibGFjazsiPjwvZGl2PgorICAgIDwvZGl2PgorCisgICAgPGRpdiBzdHlsZT0ibGVm
dDowOyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7
IGJhY2tncm91bmQ6eWVsbG93OyI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsg
dG9wOjA7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNr
Z3JvdW5kOmdyZWVuOyI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0ibGVmdDoyMDBweDsgdG9wOjA7
IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5k
OmJsdWU7Ij48L2Rpdj4KKworICAgIDxkaXYgc3R5bGU9ImxlZnQ6MDsgdG9wOjEwMHB4OyB3aWR0
aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDogZ3Jl
ZW47Ij48L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4OyB0b3A6MTAwcHg7IHdpZHRo
OjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmJsdWU7
Ij48L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjIwMHB4OyB0b3A6MTAwcHg7IHdpZHRoOjEw
MHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOnllbGxvdzsi
PjwvZGl2PgorCisgICAgPGRpdiBzdHlsZT0ibGVmdDowOyB0b3A6MjAwcHg7IHdpZHRoOjEwMHB4
OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmJsdWU7Ij48L2Rp
dj4KKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4OyB0b3A6MjAwcHg7IHdpZHRoOjEwMHB4OyBo
ZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOnllbGxvdzsiPjwvZGl2
PgorICAgIDxkaXYgc3R5bGU9ImxlZnQ6MjAwcHg7IHRvcDoyMDBweDsgd2lkdGg6MTAwcHg7IGhl
aWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Z3JlZW47Ij48L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9m
aXhlZC1yaWdodC1ib3R0b20taW4tcGFnZS1zY2FsZS1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0
cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQu
cG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjcyNWY1YWY1MGVlNjI2ZjY0MjY4Y2RiZDk2ZTA1OWI3MmM0MjFhMWIK
R0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDI4NTAKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5fnlV
eyt2WVYyYT5pMCpaKT1oXmhsQSVAV3MkbEhgb2s8bX0/b1RuNXUqCno8MEtPXkxyWmd1Qm55aX5M
cWo3b0wmRnAhR1hvMmc2aWMmWSVjUXd3dVZOUyZ4VkN0QElFR1pyZDMpbV49SyV1Jgp6PTdUWEZ8
OD1jPmIhMkFEPG9YaDBAX1lfRUwmTGU8d2hSbXAlJFQ/dDZ4MjJfRmVIc0tNZ3c2cUM1K35SKE9m
V14KejNyMD5aeGNgbFQ7ZjlJdlpRJmdnKmhnIV4oTkA0e1Epci1hIThoaUtVaEpGdj5mKFR7VTxM
K0hTM2ozXlA2PHJfCkRFYjdxRQoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1ib3R0
b20taW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGIxMzc4OTE3OTFmZTk2
OTI3YWQ3OGU2NGIwYWFkN2JkZWQwOGJkYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1ib3R0b20taW4tcGFnZS1zY2FsZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSBAQAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQv
Zml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
cmVwYWludC9maXhlZC1yaWdodC1ib3R0b20taW4tcGFnZS1zY2FsZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjEyZmM0NWE3Y2E3MzM4MWVlM2M5MzRlZDYxOGM3ZTIxOWM3MWJkN2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Ut
c2NhbGUuaHRtbApAQCAtMCwwICsxLDQzIEBACis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4K
KyAgICAgICAgOjotd2Via2l0LXNjcm9sbGJhciB7CisgICAgICAgICAgICB3aWR0aDogMHB4Owor
ICAgICAgICAgICAgaGVpZ2h0OiAwcHg7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIDxz
Y3JpcHQ+CisgICAgICB3aW5kb3cuZW5hYmxlUGl4ZWxUZXN0aW5nID0gdHJ1ZTsKKyAgICAgIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0U2hvdWxk
TGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZShkb2N1bWVudCwgdHJ1ZSk7CisKKyAg
ICAgIGZ1bmN0aW9uIHNjcm9sbCgpIHsKKyAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMTAwLDEw
MCk7CisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHNjYWxlV2l0aEV2ZW50U2VuZGVyKCkgewor
ICAgICAgICAgIHZhciBzY2FsZUZhY3RvciA9IDIuMDsKKyAgICAgICAgICB2YXIgc2NhbGVPZmZz
ZXQgPSAwOworICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgICAg
ICBldmVudFNlbmRlci5zY2FsZVBhZ2VCeShzY2FsZUZhY3Rvciwgc2NhbGVPZmZzZXQsIHNjYWxl
T2Zmc2V0KTsKKyAgICAgICAgICB9CisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHRlc3QoKSB7
CisgICAgICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS53aWR0aCA9IChkb2N1bWVudC5ib2R5LmNs
aWVudFdpZHRoICsgMTAwKSArICJweCI7CisgICAgICAgICAgc2NhbGVXaXRoRXZlbnRTZW5kZXIo
KTsKKyAgICAgICAgICBzY3JvbGwoKTsKKyAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8c2Ny
aXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5IHN0eWxlPSJoZWlnaHQ6IDIwMDBweDsgd2lkdGg6IDIwMDBweDsgbWFyZ2luOjBw
eDsiIG9ubG9hZD0idGVzdCgpOyI+CisgICAgPGRpdiBzdHlsZT0icG9zaXRpb246IGZpeGVkOyBi
b3R0b206IDEwMHB4OyByaWdodDogMTAwcHg7IHotaW5kZXg6IDEiPgorICAgICAgICA8ZGl2IHN0
eWxlPSJsZWZ0OjA7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjph
YnNvbHV0ZTsgYmFja2dyb3VuZDpibGFjazsiPjwvZGl2PgorICAgICAgICA8ZGl2IHN0eWxlPSJs
ZWZ0OjEwMHB4OyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJz
b2x1dGU7IGJhY2tncm91bmQ6Z3JlZW47Ij48L2Rpdj4KKworICAgICAgICA8ZGl2IHN0eWxlPSJs
ZWZ0OjBweDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjph
YnNvbHV0ZTsgYmFja2dyb3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0i
bGVmdDoxMDBweDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlv
bjphYnNvbHV0ZTsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAgPC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmln
aHQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQv
Zml4ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDFlM2Uw
ZWQwYzExOTQ4OTBkZDNkMWRmZTk0NWZhMzAzMTYxMzRiMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVy
YWwgMjg3MQp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJhPmkwKlopPWheaGxBJUBX
cyRsSGBvazxtfT9vVCF6RkgKemxUQFEqTHpBU0dXUm4hTGwlJis7UjZ8MlVCZVNJQmx3P2EyXlct
MVhtS1paSWFHbXNZYVNXLUxeWStGQFVNRUskCnpSITUodzBYczd2dlRNKF5JMi1iVGlDejJyeUx9
QSo0JVImWCFqa3ZKKHpaYyp1UmxLbiE7YW5xT2Jpe0lJdCZkbgp6TWo0fWxGcSN0Um08dyphZEgw
ZitxNXNVQnhDNmFxdlNQT0txcSVVakM+a3c+MlB6anB2TGkkSSRBaENhOyVJQU4KaHZgSThqeCFe
Q3Utdil0fCpQbmcmMD05JTFKWURAPCk7VDNLMFJUUXpNeiNPfAoKbGl0ZXJhbCAwCkhjbVY/ZDAw
MDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWlu
LXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVk
LXJpZ2h0LWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiMTM3ODkxNzkx
ZmU5NjkyN2FkNzhlNjRiMGFhZDdiZGVkMDhiZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSBAQAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4
ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2Zp
eGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MDM4M2U4NjliNjBlZGRj
YTA4MjI1ODIxZjFmMGZmNDUwNDUwYTZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUuaHRtbApAQCAtMCwwICsxLDU2
IEBACis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAgOjotd2Via2l0LXNjcm9s
bGJhciB7CisgICAgICAgICAgICB3aWR0aDogMHB4OworICAgICAgICAgICAgaGVpZ2h0OiAwcHg7
CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIDxzY3JpcHQ+CisgICAgICB3aW5kb3cuZW5h
YmxlUGl4ZWxUZXN0aW5nID0gdHJ1ZTsKKyAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAg
ICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0U2hvdWxkTGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0
aXZlVG9GcmFtZShkb2N1bWVudCwgdHJ1ZSk7CisKKyAgICAgIGZ1bmN0aW9uIHNjcm9sbCgpIHsK
KyAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMTAwLDEwMCk7CisgICAgICB9CisKKyAgICAgIGZ1
bmN0aW9uIHNjYWxlV2l0aEV2ZW50U2VuZGVyKCkgeworICAgICAgICAgIHZhciBzY2FsZUZhY3Rv
ciA9IDIuMDsKKyAgICAgICAgICB2YXIgc2NhbGVPZmZzZXQgPSAwOworICAgICAgICAgIGlmICh3
aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgICAgICBldmVudFNlbmRlci5zY2FsZVBhZ2VC
eShzY2FsZUZhY3Rvciwgc2NhbGVPZmZzZXQsIHNjYWxlT2Zmc2V0KTsKKyAgICAgICAgICB9Cisg
ICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgICAgICAgc2NhbGVXaXRoRXZl
bnRTZW5kZXIoKTsKKyAgICAgICAgICBzY3JvbGwoKTsKKyAgICAgIH0KKyAgICA8L3NjcmlwdD4K
KyAgICA8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5IHN0eWxlPSJoZWlnaHQ6MjAwMHB4OyB3aWR0aDogMjAwMHB4OyBt
YXJnaW46MHB4OyIgb25sb2FkPSJ0ZXN0KCk7Ij4KKyAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjog
Zml4ZWQ7IHRvcDogLTEwMHB4OyByaWdodDogMTAwcHg7IHotaW5kZXg6IDEiPgorICAgICAgICA8
ZGl2IHN0eWxlPSJsZWZ0OjA7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3Np
dGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBz
dHlsZT0ibGVmdDoxMDBweDsgdG9wOjA7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0
aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmdyZWVuOyI+PC9kaXY+CisKKyAgICAgICAgPGRpdiBz
dHlsZT0ibGVmdDowOyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0
aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmJsYWNrOyI+PC9kaXY+CisgICAgICAgIDxkaXYgc3R5
bGU9ImxlZnQ6MTAwcHg7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9z
aXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Ymx1ZTsiPjwvZGl2PgorICAgIDwvZGl2PgorICAg
IDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6MzAwcHg7IGhlaWdodDozMDBw
eDsgdG9wOiAwcHg7IGxlZnQ6IDMwMHB4IiBpZD0iZ3JpZCI+CisgICAgICAgIDxkaXYgc3R5bGU9
ImZsb2F0OmxlZnQ7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IGJhY2tncm91bmQ6eWVsbG93
OyI+PC9kaXY+CisgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjEwMHB4OyBo
ZWlnaHQ6MTAwcHg7IGJhY2tncm91bmQ6Z3JlZW47Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHls
ZT0iZmxvYXQ6bGVmdDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dyb3VuZDpibHVl
OyI+PC9kaXY+CisKKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lkdGg6MTAwcHg7
IGhlaWdodDoxMDBweDsgYmFja2dyb3VuZDogZ3JlZW47Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBz
dHlsZT0iZmxvYXQ6bGVmdDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dyb3VuZDpi
bHVlOyI+PC9kaXY+CisgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjEwMHB4
OyBoZWlnaHQ6MTAwcHg7IGJhY2tncm91bmQ6eWVsbG93OyI+PC9kaXY+CisKKyAgICAgICAgPGRp
diBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dyb3Vu
ZDpibHVlOyI+PC9kaXY+CisgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjEw
MHB4OyBoZWlnaHQ6MTAwcHg7IGJhY2tncm91bmQ6eWVsbG93OyI+PC9kaXY+CisgICAgICAgIDxk
aXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IGJhY2tncm91
bmQ6Z3JlZW47Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwpp
bmRleCAwMzQyNzcwYjk0MGNkMGJlMWFjZmY5ZGRjOTlkMTExM2U1MGM1MGI2Li4wYjE3NTU2Yjhk
YzFmNmI0YTM2ODkxZjhkZTE4ZjZkZTlkNGE4NWU0IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysr
IGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMTEtMDMgIEZhZHkgU2FtdWVsICA8
ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2hlbiBwYWdlIHNjYWxpbmcgaXMgaW4g
dXNlIHBvc2l0aW9uOmZpeGVkIGhhcyBpbmNvcnJlY3QgcmVzdWx0cworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MTcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9hdXRvdG9vbHMvc3ltYm9s
cy5maWx0ZXI6CisKIDIwMTEtMTEtMDMgIERvbmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4K
IAogICAgICAgICBbRUZMXSBFbmFibGUgdGhlIFBhZ2UgVmlzaWJpbGl0eSBBUEkuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117454</attachid>
            <date>2011-12-01 12:09:55 -0800</date>
            <delta_ts>2011-12-02 11:39:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68617-20111201150954.patch</filename>
            <type>text/plain</type>
            <size>26575</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMzg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjQwYjk0YjA5N2Q5ODJl
NDI0ZjU1NWRjYzU4Y2M1NzA3MzQzMzdjYS4uZDY1MGIxMGFjZjRlZDNiOTA0YzQwNmJmMjgzNzgy
NjZlZjZhN2YyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDExLTEyLTAxICBGYWR5
IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdoZW4gcGFnZSBzY2Fs
aW5nIGlzIGluIHVzZSBwb3NpdGlvbjpmaXhlZCBoYXMgaW5jb3JyZWN0IHJlc3VsdHMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjE3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRoZSBvcHRpb24g
Zm9yIHBvc2l0aW9uOmZpeGVkIGVsZW1lbnRzIHRvIGJlIGZpeGVkIHRvIHRoZSBmcmFtZQorICAg
ICAgICBpbnN0ZWFkIG9mIHRoZSBsYXlvdXQgcmVjdGFuZ2xlIG9mIHRoZSBkb2N1bWVudC4KKwor
ICAgICAgICBUZXN0czogZmFzdC9yZXBhaW50L2ZpeGVkLWluLXBhZ2Utc2NhbGUuaHRtbAorICAg
ICAgICAgICAgICAgZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxl
Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvcmVwYWludC9maXhlZC1yaWdodC1pbi1wYWdlLXNj
YWxlLmh0bWwKKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIHBhZ2UvRnJh
bWVWaWV3LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cmVzZXQpOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzY3JvbGxYRm9yRml4ZWRQb3NpdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZVZpZXc6OnNjcm9sbFlGb3JGaXhlZFBvc2l0aW9uKToKKyAgICAgICAg
ICBJZiBwb3NpdGlvbjpmaXhlZCBlbGVtZW50cyBhcmUgcmVsYXRpdmUgdG8gdGhlIGZyYW1lLCBk
aXNyZWdhcmQgdGhlCisgICAgICAgICAgZHJhZyBmYWN0b3IuCisgICAgICAgIChXZWJDb3JlOjpG
cmFtZVZpZXc6OnNldFNob3VsZExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUpOgor
ICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6
OnNob3VsZExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpzaG91
bGRMYXlvdXRGaXhlZEVsZW1lbnRSZWxhdGl2ZVRvRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQm94Ojpjb250YWluaW5nQmxvY2tMb2dpY2FsV2lkdGhGb3JQb3NpdGlvbmVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29udGFpbmluZ0Jsb2NrTG9naWNhbEhlaWdodEZv
clBvc2l0aW9uZWQpOgorICAgICAgICAgIElmIHBvc2l0aW9uOmZpeGVkIGVsZW1lbnRzIGFyZSBy
ZWxhdGl2ZSB0byB0aGUgZnJhbWUsIHRoZWlyIGNvbnRhaW5lcgorICAgICAgICAgIGlzIHRoZSBm
cmFtZSBpbnN0ZWFkIG9mIHRoZSBsYXlvdXQgcmVjdCBvZiB0aGUgZG9jdW1lbnQuIAorICAgICAg
ICAgIFRoaXMgYWxsb3dzIHByb3BlciBwb3NpdGlvbmluZyBvZiB0aGVzZSBlbGVtZW50cyB0byB0
aGUgcmlnaHQgYW5kCisgICAgICAgICAgYm90dG9tLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJCb3guaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnRlcm5hbHM6OnNldFNob3VsZExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJh
bWUpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgICogdGVzdGluZy9J
bnRlcm5hbHMuaWRsOgorICAgICAgICAgIEFsbG93IGVuYWJsaW5nIGFuZCBkaXNhYmxpbmcgdGhl
IG5ldyBiZWhhdmlvciBpbiBsYXlvdXQgdGVzdHMuCisKIDIwMTEtMTEtMjggIFZzZXZvbG9kIFZs
YXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogVGV4
dFByb21wdCBzaG91bGQgc2hvdyBzdWdnZXN0IGFib3ZlIG9yIHVuZGVyIHNvIHRoYXQgaXQgaGFz
IG1heGltYWwgaGVpZ2h0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDM4NmYzODViYjA2ODFmNmRhYTU2NDNlYTYy
MzI2MmRlNzg3YjhlMDguLjFlNjRjNTQ3ZjViMDZhZjE2NDRiNDgzYjA4NTgwNjhiZjE2NGI3OTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0xMi0wMSAgRmFkeSBTYW11ZWwgIDxm
c2FtdWVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBXaGVuIHBhZ2Ugc2NhbGluZyBpcyBpbiB1
c2UgcG9zaXRpb246Zml4ZWQgaGFzIGluY29ycmVjdCByZXN1bHRzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODYxNworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2luL1dlYktpdDIuZGVmOgorICAgICAg
ICAqIHdpbi9XZWJLaXQyQ0ZMaXRlLmRlZjoKKwogMjAxMS0xMS0yOSAgQ2FybG9zIEdhcmNpYSBD
YW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gRml4IHRo
ZSBHVEsrIHBvcnQgYnVpbGQgYWZ0ZXIgcjEwMTMwNy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXgg
OTlmZDFjY2U0MWYyOGY5OTM0MjIyYTIyY2I2OTRjOTVjYmQyMWZhZS4uMzkwZDNiMGJhZTI4YmUy
MTVhN2E2NTBhYzBiNzhkOWVkZmI2MWZmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTEwMjgs
NiArMTAyOCw3IEBAIF9fWk43V2ViQ29yZTlGcmFtZVZpZXcxN3NldFNjcm9sbFBvc2l0aW9uRVJL
TlNfOEludFBvaW50RQogX19aTjdXZWJDb3JlOUZyYW1lVmlldzE3c2V0VHJhY2tzUmVwYWludHNF
YgogX19aTjdXZWJDb3JlOUZyYW1lVmlldzE4dXBkYXRlQ29udHJvbFRpbnRzRXYKIF9fWk43V2Vi
Q29yZTlGcmFtZVZpZXcxOXNjcm9sbEVsZW1lbnRUb1JlY3RFUE5TXzdFbGVtZW50RVJLTlNfN0lu
dFJlY3RFCitfX1pON1dlYkNvcmU5RnJhbWVWaWV3NDNzZXRTaG91bGRMYXlvdXRGaXhlZEVsZW1l
bnRzUmVsYXRpdmVUb0ZyYW1lRWIKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXcyMGVudGVyQ29tcG9z
aXRpbmdNb2RlRXYKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXcyMWZsdXNoRGVmZXJyZWRSZXBhaW50
c0V2CiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MjJzZXRCYXNlQmFja2dyb3VuZENvbG9yRVJLTlNf
NUNvbG9yRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IDAzMjhiMDFmYzNkODUxZjgw
OGIwYjEzOTNhOTc1MDkyYmU4ZWY0YWQuLjk3YmQ5ZTRjODNhNGJmZTMwYzVjYzc4ZjVlMjk4ZGQ5
MDAxMTQyMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTIxMyw2ICsyMTMsNyBA
QCB2b2lkIEZyYW1lVmlldzo6cmVzZXQoKQogICAgIG1fY2Fubm90QmxpdFRvV2luZG93ID0gZmFs
c2U7CiAgICAgbV9pc092ZXJsYXBwZWQgPSBmYWxzZTsKICAgICBtX2NvbnRlbnRJc09wYXF1ZSA9
IGZhbHNlOworICAgIG1fc2hvdWxkTGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZSA9
IGZhbHNlOwogICAgIG1fYm9yZGVyWCA9IDMwOwogICAgIG1fYm9yZGVyWSA9IDMwOwogICAgIG1f
bGF5b3V0VGltZXIuc3RvcCgpOwpAQCAtMTM4Miw3ICsxMzgzLDcgQEAgaW50IEZyYW1lVmlldzo6
c2Nyb2xsWEZvckZpeGVkUG9zaXRpb24oKSBjb25zdAogICAgIC8vIFdoZW4gdGhlIHBhZ2UgaXMg
c2NhbGVkLCB0aGUgc2NhbGVkICJ2aWV3cG9ydCIgd2l0aCByZXNwZWN0IHRvIHdoaWNoIGZpeGVk
IG9iamVjdCBhcmUgcG9zaXRpb25lZAogICAgIC8vIGRvZXNuJ3QgbW92ZSBhcyBmYXN0IGFzIHRo
ZSBjb250ZW50IHZpZXcsIHNvIHRoYXQgd2hlbiB0aGUgY29udGVudCBpcyBzY3JvbGxlZCBhbGwg
dGhlIHdheSB0byB0aGUKICAgICAvLyBlbmQsIHRoZSBib3R0b20gb2YgdGhlIHNjYWxlZCAidmll
d3BvcnQiIHRvdWNoZXMgdGhlIGJvdHRvbSBvZiB0aGUgcmVhbCB2aWV3cG9ydC4KLSAgICBmbG9h
dCBkcmFnRmFjdG9yID0gKGNvbnRlbnRzV2lkdGgoKSAtIHZpc2libGVDb250ZW50V2lkdGggKiBm
cmFtZVNjYWxlRmFjdG9yKSAvIG1heFg7CisgICAgZmxvYXQgZHJhZ0ZhY3RvciA9IHNob3VsZExh
eW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoKSA/IDEgOiAoY29udGVudHNXaWR0aCgp
IC0gdmlzaWJsZUNvbnRlbnRXaWR0aCAqIGZyYW1lU2NhbGVGYWN0b3IpIC8gbWF4WDsKIAogICAg
IHJldHVybiB4ICogZHJhZ0ZhY3RvciAvIGZyYW1lU2NhbGVGYWN0b3I7CiB9CkBAIC0xNDEzLDgg
KzE0MTQsNyBAQCBpbnQgRnJhbWVWaWV3OjpzY3JvbGxZRm9yRml4ZWRQb3NpdGlvbigpIGNvbnN0
CiAgICAgICAgIHJldHVybiB5OwogCiAgICAgZmxvYXQgZnJhbWVTY2FsZUZhY3RvciA9IG1fZnJh
bWUtPmZyYW1lU2NhbGVGYWN0b3IoKTsKLSAgICBmbG9hdCBkcmFnRmFjdG9yID0gKGNvbnRlbnRz
SGVpZ2h0KCkgLSB2aXNpYmxlQ29udGVudEhlaWdodCAqIGZyYW1lU2NhbGVGYWN0b3IpIC8gbWF4
WTsKLQorICAgIGZsb2F0IGRyYWdGYWN0b3IgPSBzaG91bGRMYXlvdXRGaXhlZEVsZW1lbnRzUmVs
YXRpdmVUb0ZyYW1lKCkgPyAxIDogKGNvbnRlbnRzSGVpZ2h0KCkgLSB2aXNpYmxlQ29udGVudEhl
aWdodCAqIGZyYW1lU2NhbGVGYWN0b3IpIC8gbWF4WTsKICAgICByZXR1cm4geSAqIGRyYWdGYWN0
b3IgLyBmcmFtZVNjYWxlRmFjdG9yOwogfQogCkBAIC0xNDIzLDYgKzE0MjMsMTggQEAgSW50U2l6
ZSBGcmFtZVZpZXc6OnNjcm9sbE9mZnNldEZvckZpeGVkUG9zaXRpb24oKSBjb25zdAogICAgIHJl
dHVybiBJbnRTaXplKHNjcm9sbFhGb3JGaXhlZFBvc2l0aW9uKCksIHNjcm9sbFlGb3JGaXhlZFBv
c2l0aW9uKCkpOwogfQogCit2b2lkIEZyYW1lVmlldzo6c2V0U2hvdWxkTGF5b3V0Rml4ZWRFbGVt
ZW50c1JlbGF0aXZlVG9GcmFtZShib29sIHNob3VsZExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2
ZVRvRnJhbWUpCit7CisgICAgaWYgKHNob3VsZExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRv
RnJhbWUgPT0gbV9zaG91bGRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKQorICAg
ICAgICByZXR1cm47CisKKyAgICBtX3Nob3VsZExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRv
RnJhbWUgPSBzaG91bGRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lOworCisgICAg
aWYgKCFoYXNGaXhlZE9iamVjdHMoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgc2V0TmVlZHNM
YXlvdXQoKTsKK30KIEludFBvaW50IEZyYW1lVmlldzo6Y3VycmVudE1vdXNlUG9zaXRpb24oKSBj
b25zdAogewogICAgIHJldHVybiBtX2ZyYW1lID8gbV9mcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmN1
cnJlbnRNb3VzZVBvc2l0aW9uKCkgOiBJbnRQb2ludCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgK
aW5kZXggOTZhNTU0Yjg1ZGE1NjkwZWNmNTkyZDNlYTUwMWI0MWYwZWNmMTY3NS4uNTIyYTNjNmQ3
Mzc5ZDhmOWFjY2Y3ZDI5NDc0NmU0M2RjY2VkZjE0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5o
CkBAIC0xOTYsNiArMTk2LDkgQEAgcHVibGljOgogICAgIGludCBzY3JvbGxZRm9yRml4ZWRQb3Np
dGlvbigpIGNvbnN0OwogICAgIEludFNpemUgc2Nyb2xsT2Zmc2V0Rm9yRml4ZWRQb3NpdGlvbigp
IGNvbnN0OwogCisgICAgYm9vbCBzaG91bGRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0Zy
YW1lKCkgY29uc3QgeyByZXR1cm4gbV9zaG91bGRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVU
b0ZyYW1lOyB9CisgICAgdm9pZCBzZXRTaG91bGRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVU
b0ZyYW1lKGJvb2wpOworCiAgICAgdm9pZCBiZWdpbkRlZmVycmVkUmVwYWludHMoKTsKICAgICB2
b2lkIGVuZERlZmVycmVkUmVwYWludHMoKTsKICAgICB2b2lkIGNoZWNrU3RvcERlbGF5aW5nRGVm
ZXJyZWRSZXBhaW50cygpOwpAQCAtNDA5LDkgKzQxMiw5IEBAIHByaXZhdGU6CiAgICAgYm9vbCBt
X2Nhbm5vdEJsaXRUb1dpbmRvdzsKICAgICBib29sIG1faXNPdmVybGFwcGVkOwogICAgIGJvb2wg
bV9jb250ZW50SXNPcGFxdWU7CisgICAgYm9vbCBtX3Nob3VsZExheW91dEZpeGVkRWxlbWVudHNS
ZWxhdGl2ZVRvRnJhbWU7CiAgICAgdW5zaWduZWQgbV9zbG93UmVwYWludE9iamVjdENvdW50Owog
ICAgIHVuc2lnbmVkIG1fZml4ZWRPYmplY3RDb3VudDsKLQogICAgIGludCBtX2JvcmRlclg7CiAg
ICAgaW50IG1fYm9yZGVyWTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApp
bmRleCA1MzFhY2JjMTVhNzIyOGY1ZWZhN2E5NmFiZDVhYTIyNjhmYzBjZGE3Li4yZDJhN2Q2ZDFj
NjMxMzE5MWI1YWRmNDNkNGUzNWU3MjA3MDhmMTcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmNwcApAQCAtNjMxLDYgKzYzMSwxMSBAQCBMYXlvdXRSZWN0IFJlbmRlckJveDo6
cmVmbGVjdGVkUmVjdChjb25zdCBMYXlvdXRSZWN0JiByKSBjb25zdAogICAgIHJldHVybiByZXN1
bHQ7CiB9CiAKK2Jvb2wgUmVuZGVyQm94OjpzaG91bGRMYXlvdXRGaXhlZEVsZW1lbnRSZWxhdGl2
ZVRvRnJhbWUoRnJhbWUqIGZyYW1lLCBGcmFtZVZpZXcqIGZyYW1lVmlldykgY29uc3QKK3sKKyAg
ICByZXR1cm4gc3R5bGUoKSAmJiBzdHlsZSgpLT5wb3NpdGlvbigpID09IEZpeGVkUG9zaXRpb24g
JiYgY29udGFpbmVyKCktPmlzUmVuZGVyVmlldygpICYmIGZyYW1lICYmIGZyYW1lVmlldyAmJiBm
cmFtZVZpZXctPnNob3VsZExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoKTsKK30K
KwogYm9vbCBSZW5kZXJCb3g6OmluY2x1ZGVWZXJ0aWNhbFNjcm9sbGJhclNpemUoKSBjb25zdAog
ewogICAgIHJldHVybiBoYXNPdmVyZmxvd0NsaXAoKSAmJiAhbGF5ZXIoKS0+aGFzT3ZlcmxheVNj
cm9sbGJhcnMoKQpAQCAtMjMyOCw2ICsyMzMzLDEyIEBAIHZvaWQgUmVuZGVyQm94Ojpjb21wdXRl
QmxvY2tEaXJlY3Rpb25NYXJnaW5zKFJlbmRlckJsb2NrKiBjb250YWluaW5nQmxvY2spCiBMYXlv
dXRVbml0IFJlbmRlckJveDo6Y29udGFpbmluZ0Jsb2NrTG9naWNhbFdpZHRoRm9yUG9zaXRpb25l
ZChjb25zdCBSZW5kZXJCb3hNb2RlbE9iamVjdCogY29udGFpbmluZ0Jsb2NrLCBSZW5kZXJSZWdp
b24qIHJlZ2lvbiwKICAgICBMYXlvdXRVbml0IG9mZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJzdFBh
Z2UsIGJvb2wgY2hlY2tGb3JQZXJwZW5kaWN1bGFyV3JpdGluZ01vZGUpIGNvbnN0CiB7CisgICAg
Ly8gQ29udGFpbmVyIGZvciBwb3NpdGlvbjpmaXhlZCBpcyB0aGUgZnJhbWUuCisgICAgRnJhbWUq
IGZyYW1lID0gdmlldygpID8gdmlldygpLT5mcmFtZSgpOiAwOworICAgIEZyYW1lVmlldyogZnJh
bWVWaWV3ID0gdmlldygpID8gdmlldygpLT5mcmFtZVZpZXcoKSA6IDA7CisgICAgaWYgKHNob3Vs
ZExheW91dEZpeGVkRWxlbWVudFJlbGF0aXZlVG9GcmFtZShmcmFtZSwgZnJhbWVWaWV3KSkKKyAg
ICAgICAgcmV0dXJuICh2aWV3KCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBmcmFtZVZp
ZXctPnZpc2libGVXaWR0aCgpIDogZnJhbWVWaWV3LT52aXNpYmxlSGVpZ2h0KCkpIC8gZnJhbWUt
PmZyYW1lU2NhbGVGYWN0b3IoKTsKKwogICAgIGlmIChjaGVja0ZvclBlcnBlbmRpY3VsYXJXcml0
aW5nTW9kZSAmJiBjb250YWluaW5nQmxvY2stPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgIT0g
aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKICAgICAgICAgcmV0dXJuIGNvbnRhaW5pbmdCbG9j
a0xvZ2ljYWxIZWlnaHRGb3JQb3NpdGlvbmVkKGNvbnRhaW5pbmdCbG9jaywgZmFsc2UpOwogCkBA
IC0yMzgwLDYgKzIzOTEsMTEgQEAgTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbnRhaW5pbmdCbG9j
a0xvZ2ljYWxXaWR0aEZvclBvc2l0aW9uZWQoY29uc3QgUmVuZGVyQm94TW8KIAogTGF5b3V0VW5p
dCBSZW5kZXJCb3g6OmNvbnRhaW5pbmdCbG9ja0xvZ2ljYWxIZWlnaHRGb3JQb3NpdGlvbmVkKGNv
bnN0IFJlbmRlckJveE1vZGVsT2JqZWN0KiBjb250YWluaW5nQmxvY2ssIGJvb2wgY2hlY2tGb3JQ
ZXJwZW5kaWN1bGFyV3JpdGluZ01vZGUpIGNvbnN0CiB7CisgICAgRnJhbWUqIGZyYW1lID0gdmll
dygpID8gdmlldygpLT5mcmFtZSgpOiAwOworICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gdmll
dygpID8gdmlldygpLT5mcmFtZVZpZXcoKSA6IDA7CisgICAgaWYgKHNob3VsZExheW91dEZpeGVk
RWxlbWVudFJlbGF0aXZlVG9GcmFtZShmcmFtZSwgZnJhbWVWaWV3KSkKKyAgICAgICAgcmV0dXJu
ICh2aWV3KCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBmcmFtZVZpZXctPnZpc2libGVI
ZWlnaHQoKSA6IGZyYW1lVmlldy0+dmlzaWJsZVdpZHRoKCkpIC8gZnJhbWUtPmZyYW1lU2NhbGVG
YWN0b3IoKTsKKwogICAgIGlmIChjaGVja0ZvclBlcnBlbmRpY3VsYXJXcml0aW5nTW9kZSAmJiBj
b250YWluaW5nQmxvY2stPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgIT0gaXNIb3Jpem9udGFs
V3JpdGluZ01vZGUoKSkKICAgICAgICAgcmV0dXJuIGNvbnRhaW5pbmdCbG9ja0xvZ2ljYWxXaWR0
aEZvclBvc2l0aW9uZWQoY29udGFpbmluZ0Jsb2NrLCAwLCAwLCBmYWxzZSk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3guaAppbmRleCBiYzFmZmQ5ODM0Y2I3OWI0N2Y3MGU3YTJjZGVk
ZmE0ZWRhNzQxMmYwLi5lNGVlZjY1ZGU5YzA5ZDZkNTE4NTk4NTA0NTI2ZWY2Y2U4NDY2NjUyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCkBAIC00NjIsNiArNDYyLDggQEAgcHJv
dGVjdGVkOgogICAgIHZvaWQgcGFpbnRSb290Qm94RmlsbExheWVycyhjb25zdCBQYWludEluZm8m
KTsKIAogcHJpdmF0ZToKKyAgICBib29sIHNob3VsZExheW91dEZpeGVkRWxlbWVudFJlbGF0aXZl
VG9GcmFtZShGcmFtZSosIEZyYW1lVmlldyopIGNvbnN0OworCiAgICAgYm9vbCBpbmNsdWRlVmVy
dGljYWxTY3JvbGxiYXJTaXplKCkgY29uc3Q7CiAgICAgYm9vbCBpbmNsdWRlSG9yaXpvbnRhbFNj
cm9sbGJhclNpemUoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCmlu
ZGV4IGQ1YWI3ODg3ZTM4M2ZiNGI4YTA4OTI5NDdmZmM4ZTE2ZjY0MDJlN2QuLjlmNTEzNmZmZDE2
MmYwNTk0OGRmMWIyNzE3NGMwYWU1ZWMyOGI2OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAKQEAgLTU3Nyw2ICs1NzcsMTcgQEAgdW5zaWduZWQgSW50ZXJuYWxzOjpsZW5ndGhG
cm9tUmFuZ2UoRWxlbWVudCogc2NvcGUsIGNvbnN0IFJhbmdlKiByYW5nZSwgRXhjZXB0aW8KICAg
ICByZXR1cm4gbGVuZ3RoOwogfQogCit2b2lkIEludGVybmFsczo6c2V0U2hvdWxkTGF5b3V0Rml4
ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZShEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgZW5hYmxl
ZCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFkb2N1bWVudCB8fCAhZG9jdW1lbnQt
PnZpZXcoKSkgeworICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gZG9jdW1lbnQtPnZpZXco
KTsKKyAgICBmcmFtZVZpZXctPnNldFNob3VsZExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRv
RnJhbWUoZW5hYmxlZCk7Cit9CisKIHZvaWQgSW50ZXJuYWxzOjpzZXRVbmlmaWVkVGV4dENoZWNr
aW5nRW5hYmxlZChEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgZW5hYmxlZCwgRXhjZXB0aW9uQ29k
ZSYgZWMpCiB7CiAgICAgaWYgKCFkb2N1bWVudCB8fCAhZG9jdW1lbnQtPmZyYW1lKCkgfHwgIWRv
Y3VtZW50LT5mcmFtZSgpLT5zZXR0aW5ncygpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aAppbmRleCBiOTA5ZDcwODljM2QwZWJkNTFkYjY5YWJhM2M5YWEzYjY2NDJkOWFiLi4yOGVmYjRl
MWM5MGNhOGMzYjQ5NmQ0YTE5ODQ1MmViZmE4N2Y2YzE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmgKQEAgLTEwNCw2ICsxMDQsNyBAQCBwdWJsaWM6CiAgICAgUGFzc1JlZlB0cjxSYW5n
ZT4gcmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGgoRWxlbWVudCogc2NvcGUsIGludCByYW5nZUxv
Y2F0aW9uLCBpbnQgcmFuZ2VMZW5ndGgsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB1bnNpZ25lZCBs
b2NhdGlvbkZyb21SYW5nZShFbGVtZW50KiBzY29wZSwgY29uc3QgUmFuZ2UqLCBFeGNlcHRpb25D
b2RlJik7CiAgICAgdW5zaWduZWQgbGVuZ3RoRnJvbVJhbmdlKEVsZW1lbnQqIHNjb3BlLCBjb25z
dCBSYW5nZSosIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHNldFNob3VsZExheW91dEZpeGVk
RWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoRG9jdW1lbnQqLCBib29sLCBFeGNlcHRpb25Db2RlJik7
CiAKICAgICB2b2lkIHNldFVuaWZpZWRUZXh0Q2hlY2tpbmdFbmFibGVkKERvY3VtZW50KiwgYm9v
bCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIGJvb2wgdW5pZmllZFRleHRDaGVja2luZ0VuYWJsZWQo
RG9jdW1lbnQqLCBFeGNlcHRpb25Db2RlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5p
ZGwKaW5kZXggY2NjODkyYzYwMmQ4YmYyZGFiMjZmYjI0OTYzNDRkNDAyNWQyOTEyYy4uZjY2YmI1
NmMxNTU2MDE2M2U5YWMxNGQ0MmJhNmZkMWZiOTI5Yzk0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmlkbApAQCAtNzcsNiArNzcsNyBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAg
dW5zaWduZWQgbG9uZyBsb2NhdGlvbkZyb21SYW5nZShpbiBFbGVtZW50IHNjb3BlLCBpbiBSYW5n
ZSByYW5nZSkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgICAgICB1bnNpZ25lZCBsb25nIGxl
bmd0aEZyb21SYW5nZShpbiBFbGVtZW50IHNjb3BlLCBpbiBSYW5nZSByYW5nZSkgcmFpc2VzIChE
T01FeGNlcHRpb24pOwogCisgICAgICAgIHZvaWQgc2V0U2hvdWxkTGF5b3V0Rml4ZWRFbGVtZW50
c1JlbGF0aXZlVG9GcmFtZShpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4gYm9vbGVhbiBlbmFibGVk
KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKICAgICAgICAgdm9pZCBzZXRVbmlmaWVkVGV4dENoZWNr
aW5nRW5hYmxlZChpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4gYm9vbGVhbiBlbmFibGVkKSByYWlz
ZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIGJvb2xlYW4gdW5pZmllZFRleHRDaGVja2luZ0Vu
YWJsZWQoaW4gRG9jdW1lbnQgZG9jdW1lbnQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmIGIvU291cmNlL1dl
YktpdDIvd2luL1dlYktpdDIuZGVmCmluZGV4IDQ4OWQ1OTcxMWM1Yjg2NjI2MTliZmM0YTRkYjhl
M2Y0OTdhZTFiNmIuLmI0NmYxNTliYThkYWM0YzY5ZmViMDYxYjIzODk2ODE4N2NmZjZjODAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi93aW4vV2ViS2l0Mi5kZWYKQEAgLTE2OSw2ICsxNjksNyBAQCBFWFBPUlRTCiAgICAgICAg
ID9yYW5nZUZyb21Mb2NhdGlvbkFuZExlbmd0aEBUZXh0SXRlcmF0b3JAV2ViQ29yZUBAU0E/QVY/
JFBhc3NSZWZQdHJAVlJhbmdlQFdlYkNvcmVAQEBXVEZAQFBBVkVsZW1lbnRAMkBISF9OQFoKICAg
ICAgICAgP3JlbW92ZVNoYWRvd1Jvb3RARWxlbWVudEBXZWJDb3JlQEBRQUVYWFoKICAgICAgICAg
P3Njcm9sbEVsZW1lbnRUb1JlY3RARnJhbWVWaWV3QFdlYkNvcmVAQFFBRVhQQVZFbGVtZW50QDJA
QUJWSW50UmVjdEAyQEBaCisgICAgICAgID9zZXRTaG91bGRMYXlvdXRGaXhlZEVsZW1lbnRzUmVs
YXRpdmVUb0ZyYW1lQEZyYW1lVmlld0BXZWJDb3JlQEBRQUVYX05AWgogICAgICAgICA/c2V0RE9N
RXhjZXB0aW9uQFdlYkNvcmVAQFlBWFBBVkV4ZWNTdGF0ZUBKU0NAQEhAWgogICAgICAgICA/c2V0
TW9ja1Njcm9sbGJhcnNFbmFibGVkQFNldHRpbmdzQFdlYkNvcmVAQFNBWF9OQFoKICAgICAgICAg
P3NldFBhZ2luYXRpb25AUGFnZUBXZWJDb3JlQEBRQUVYQUJVUGFnaW5hdGlvbkAxMkBAWgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmIGIvU291cmNlL1dl
YktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCmluZGV4IDMwNjViZDhiZTEyZjgyZWExY2YyYTAy
OWQ0NGIxNDA2ZWQ1ZjM4NjYuLmU1N2RjZGI4NmY2ZGE5ODBkNTBjNGUxYjBkNmM4NjU5YTQ0MmM1
M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKQEAgLTE2Miw2ICsxNjIsNyBA
QCBFWFBPUlRTCiAgICAgICAgID9yYW5nZUZyb21Mb2NhdGlvbkFuZExlbmd0aEBUZXh0SXRlcmF0
b3JAV2ViQ29yZUBAU0E/QVY/JFBhc3NSZWZQdHJAVlJhbmdlQFdlYkNvcmVAQEBXVEZAQFBBVkVs
ZW1lbnRAMkBISF9OQFoKICAgICAgICAgP3JlbW92ZVNoYWRvd1Jvb3RARWxlbWVudEBXZWJDb3Jl
QEBRQUVYWFoKICAgICAgICAgP3Njcm9sbEVsZW1lbnRUb1JlY3RARnJhbWVWaWV3QFdlYkNvcmVA
QFFBRVhQQVZFbGVtZW50QDJAQUJWSW50UmVjdEAyQEBaCisgICAgICAgID9zZXRTaG91bGRMYXlv
dXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lQEZyYW1lVmlld0BXZWJDb3JlQEBRQUVYX05A
WgogICAgICAgICA/c2V0RE9NRXhjZXB0aW9uQFdlYkNvcmVAQFlBWFBBVkV4ZWNTdGF0ZUBKU0NA
QEhAWgogICAgICAgICA/c2V0TW9ja1Njcm9sbGJhcnNFbmFibGVkQFNldHRpbmdzQFdlYkNvcmVA
QFNBWF9OQFoKICAgICAgICAgP3NldFBhZ2luYXRpb25AUGFnZUBXZWJDb3JlQEBRQUVYQUJVUGFn
aW5hdGlvbkAxMkBAWgpkaWZmIC0tZ2l0IGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRl
ciBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKaW5kZXggNDM4N2NhOTMwYzhjMzJi
NWNmNTIwOWY0NDdhYWIyNDljNTZjM2I1Ni4uNDBjYjc4YmI1M2ZlNDQ5NjIwNmJhMGYzYTE0OTk5
OGI1ZjlkZDc3OCAxMDA2NDQKLS0tIGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgor
KysgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCkBAIC04Myw2ICs4Myw3IEBAIF9a
TjdXZWJDb3JlMTBTY3JvbGxWaWV3MjNzZXRTY3JvbGxiYXJzU3VwcHJlc3NlZEViYjsKIF9aTjdX
ZWJDb3JlOFNldHRpbmdzMjRzZXRNb2NrU2Nyb2xsYmFyc0VuYWJsZWRFYjsKIF9aTjdXZWJDb3Jl
OUZyYW1lVmlldzE3cGFpbnRDb250cm9sVGludHNFdjsKIF9aTjdXZWJDb3JlOUZyYW1lVmlldzE5
c2Nyb2xsRWxlbWVudFRvUmVjdEVQTlNfN0VsZW1lbnRFUktOU183SW50UmVjdEU7CitfWk43V2Vi
Q29yZTlGcmFtZVZpZXc0M3NldFNob3VsZExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJh
bWVFYjsKIGxvY2FsOgogX1oqOwogY3RpKjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3MzI1ZDA0YWY4ZDAyODJkNmMxNjk4
Mzc1NDI3ZjA1ODlhZjg1ZDQ4Li41ZmQ5Y2VmOTFiNzAxYmY2ZDQ2ZTc3Y2U1ODI5MDQyMzI1MDE1
NmJhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMTItMDEgIEZhZHkgU2FtdWVsICA8ZnNh
bXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2hlbiBwYWdlIHNjYWxpbmcgaXMgaW4gdXNl
IHBvc2l0aW9uOmZpeGVkIGhhcyBpbmNvcnJlY3QgcmVzdWx0cworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2MTcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvcmVwYWludC9maXhlZC1pbi1wYWdl
LXNjYWxlLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L2ZpeGVk
LWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFp
bnQvZml4ZWQtaW4tcGFnZS1zY2FsZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFp
bnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQucG5nOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQt
Ym90dG9tLWluLXBhZ2Utc2NhbGUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50
L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWludC9maXhlZC1yaWdodC1pbi1wYWdlLXNjYWxlLmh0
bWw6IEFkZGVkLgorCiAyMDExLTExLTI5ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtp
dC5vcmc+CiAKICAgICAgICAgW1F0XSBVbnJldmlld2VkIGV2ZW5pbmcgZ2FyZGVuaW5nLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLWluLXBhZ2Utc2NhbGUtZXhw
ZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLWluLXBhZ2Utc2NhbGUt
ZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyMzUzOTk1Mzc5ZDc2YTk1NTY5YjIwODAxMjVmYmM0
YWVmMmFhZDQKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDI4NjkKemNtZUFTQE4/KG9sSHlgdVZC
cSFpYTB5fnlVeyt2WVYyYT5pMCpaKT1oXmhsQSVAV3MkbEhgb2s8bX0/b1RuMC1jCnppekVYUjEy
ZHo8V0spQ1cjM1ZCI1dBajhISGB6NEJDP3okYHhUKD48ayU1OGh4VGxMX05YNEFESCNZSnoxQGY+
dQp6QD9BN3ZSMjB3Nih5ZztFT3s9MUBkRnAhaEtMXmZ5Vj48VV9MJk5fTWNqT290M1p4b1k4M2Nx
UTcjSXZrOEtaJFAKem5pQS1rM3BRUnFeTnEhP3E7e0tsIUpeODFlVEUtPns5KzZhSl8oRXJNXzVK
fnFrJUEqNjZsLUAtcHJjJG1ZMEZTCnd7b19GPGg3THwwaEszbWpNajR9bEZxI3RSb0QxJmUtUSF6
bl5CfVZhKmJaaiFib0Z5dD1ha1J7MDJTWTkje2Q4VAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLWluLXBhZ2Utc2NhbGUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLWluLXBhZ2Utc2Nh
bGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiMTM3ODkxNzkxZmU5NjkyN2FkNzhlNjRiMGFh
ZDdiZGVkMDhiZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQv
Zml4ZWQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLWluLXBhZ2Utc2NhbGUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hOTVjNTcyODY4NjYwYzU1M2I2ODg3YWU3MDg1YmZkNDE1Y2IzMDBiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLWluLXBhZ2Utc2NhbGUuaHRt
bApAQCAtMCwwICsxLDU0IEBACis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAg
Ojotd2Via2l0LXNjcm9sbGJhciB7CisgICAgICAgICAgICB3aWR0aDogMHB4OworICAgICAgICAg
ICAgaGVpZ2h0OiAwcHg7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIDxzY3JpcHQ+Cisg
ICAgICB3aW5kb3cuZW5hYmxlUGl4ZWxUZXN0aW5nID0gdHJ1ZTsKKyAgICAgIGlmICh3aW5kb3cu
aW50ZXJuYWxzKQorICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0U2hvdWxkTGF5b3V0Rml4
ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZShkb2N1bWVudCwgdHJ1ZSk7CisKKyAgICAgIGZ1bmN0
aW9uIHNjcm9sbCgpIHsKKyAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMTAwLDEwMCk7CisgICAg
ICB9CisKKyAgICAgIGZ1bmN0aW9uIHNjYWxlV2l0aEV2ZW50U2VuZGVyKCkgeworICAgICAgICAg
IHZhciBzY2FsZUZhY3RvciA9IDIuMDsKKyAgICAgICAgICB2YXIgc2NhbGVPZmZzZXQgPSAwOwor
ICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgICAgICBldmVudFNl
bmRlci5zY2FsZVBhZ2VCeShzY2FsZUZhY3Rvciwgc2NhbGVPZmZzZXQsIHNjYWxlT2Zmc2V0KTsK
KyAgICAgICAgICB9CisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgICAg
ICAgc2NhbGVXaXRoRXZlbnRTZW5kZXIoKTsKKyAgICAgICAgICBzY3JvbGwoKTsKKyAgICAgIH0K
KyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IHN0eWxlPSJ3aWR0aDoyMDAwcHg7IGhl
aWdodDoyMDAwcHg7IG1hcmdpbjowcHg7IiBvbmxvYWQ9InRlc3QoKTsiPgorICAgIDxkaXYgc3R5
bGU9InBvc2l0aW9uOiBmaXhlZDsgdG9wOiAtMTAwcHg7IGxlZnQ6IC0xMDBweDsgei1pbmRleDog
MSI+CisgICAgICAgIDxkaXYgc3R5bGU9ImxlZnQ6MDsgdG9wOjA7IHdpZHRoOjEwMHB4OyBoZWln
aHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOnllbGxvdzsiPjwvZGl2Pgor
ICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4OyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdo
dDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Z3JlZW47Ij48L2Rpdj4KKwor
ICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjA7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdo
dDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Z3JlZW47Ij48L2Rpdj4KKyAg
ICAgICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVp
Z2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpibGFjazsiPjwvZGl2Pgor
ICAgIDwvZGl2PgorCisgICAgPGRpdiBzdHlsZT0ibGVmdDowOyB0b3A6MDsgd2lkdGg6MTAwcHg7
IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6eWVsbG93OyI+PC9k
aXY+CisgICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsgdG9wOjA7IHdpZHRoOjEwMHB4OyBoZWln
aHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmdyZWVuOyI+PC9kaXY+Cisg
ICAgPGRpdiBzdHlsZT0ibGVmdDoyMDBweDsgdG9wOjA7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAw
cHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmJsdWU7Ij48L2Rpdj4KKworICAgIDxk
aXYgc3R5bGU9ImxlZnQ6MDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBw
b3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDogZ3JlZW47Ij48L2Rpdj4KKyAgICA8ZGl2IHN0
eWxlPSJsZWZ0OjEwMHB4OyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBv
c2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmJsdWU7Ij48L2Rpdj4KKyAgICA8ZGl2IHN0eWxl
PSJsZWZ0OjIwMHB4OyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0
aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOnllbGxvdzsiPjwvZGl2PgorCisgICAgPGRpdiBzdHls
ZT0ibGVmdDowOyB0b3A6MjAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9u
OmFic29sdXRlOyBiYWNrZ3JvdW5kOmJsdWU7Ij48L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJsZWZ0
OjEwMHB4OyB0b3A6MjAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFi
c29sdXRlOyBiYWNrZ3JvdW5kOnllbGxvdzsiPjwvZGl2PgorICAgIDxkaXYgc3R5bGU9ImxlZnQ6
MjAwcHg7IHRvcDoyMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJz
b2x1dGU7IGJhY2tncm91bmQ6Z3JlZW47Ij48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1ib3R0b20taW4tcGFn
ZS1zY2FsZS1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmln
aHQtYm90dG9tLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcyNWY1YWY1
MGVlNjI2ZjY0MjY4Y2RiZDk2ZTA1OWI3MmM0MjFhMWIKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFs
IDI4NTAKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB5fnlVeyt2WVYyYT5pMCpaKT1oXmhsQSVAV3Mk
bEhgb2s8bX0/b1RuNXUqCno8MEtPXkxyWmd1Qm55aX5McWo3b0wmRnAhR1hvMmc2aWMmWSVjUXd3
dVZOUyZ4VkN0QElFR1pyZDMpbV49SyV1Jgp6PTdUWEZ8OD1jPmIhMkFEPG9YaDBAX1lfRUwmTGU8
d2hSbXAlJFQ/dDZ4MjJfRmVIc0tNZ3c2cUM1K35SKE9mV14KejNyMD5aeGNgbFQ7ZjlJdlpRJmdn
KmhnIV4oTkA0e1Epci1hIThoaUtVaEpGdj5mKFR7VTxMK0hTM2ozXlA2PHJfCkRFYjdxRQoKbGl0
ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50
L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1ib3R0b20taW4tcGFnZS1zY2FsZS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOGIxMzc4OTE3OTFmZTk2OTI3YWQ3OGU2NGIwYWFkN2JkZWQwOGJk
YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdo
dC1ib3R0b20taW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBh
Z2Utc2NhbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1ib3R0
b20taW4tcGFnZS1zY2FsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEyZmM0NWE3Y2E3MzM4MWVlM2M5MzRl
ZDYxOGM3ZTIxOWM3MWJkN2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Jl
cGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWluLXBhZ2Utc2NhbGUuaHRtbApAQCAtMCwwICsxLDQz
IEBACis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAgICAgICAgOjotd2Via2l0LXNjcm9s
bGJhciB7CisgICAgICAgICAgICB3aWR0aDogMHB4OworICAgICAgICAgICAgaGVpZ2h0OiAwcHg7
CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIDxzY3JpcHQ+CisgICAgICB3aW5kb3cuZW5h
YmxlUGl4ZWxUZXN0aW5nID0gdHJ1ZTsKKyAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAg
ICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0U2hvdWxkTGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0
aXZlVG9GcmFtZShkb2N1bWVudCwgdHJ1ZSk7CisKKyAgICAgIGZ1bmN0aW9uIHNjcm9sbCgpIHsK
KyAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMTAwLDEwMCk7CisgICAgICB9CisKKyAgICAgIGZ1
bmN0aW9uIHNjYWxlV2l0aEV2ZW50U2VuZGVyKCkgeworICAgICAgICAgIHZhciBzY2FsZUZhY3Rv
ciA9IDIuMDsKKyAgICAgICAgICB2YXIgc2NhbGVPZmZzZXQgPSAwOworICAgICAgICAgIGlmICh3
aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgICAgICBldmVudFNlbmRlci5zY2FsZVBhZ2VC
eShzY2FsZUZhY3Rvciwgc2NhbGVPZmZzZXQsIHNjYWxlT2Zmc2V0KTsKKyAgICAgICAgICB9Cisg
ICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgICAgICAgZG9jdW1lbnQuYm9k
eS5zdHlsZS53aWR0aCA9IChkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoICsgMTAwKSArICJweCI7
CisgICAgICAgICAgc2NhbGVXaXRoRXZlbnRTZW5kZXIoKTsKKyAgICAgICAgICBzY3JvbGwoKTsK
KyAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IHN0eWxlPSJoZWlnaHQ6
IDIwMDBweDsgd2lkdGg6IDIwMDBweDsgbWFyZ2luOjBweDsiIG9ubG9hZD0idGVzdCgpOyI+Cisg
ICAgPGRpdiBzdHlsZT0icG9zaXRpb246IGZpeGVkOyBib3R0b206IDEwMHB4OyByaWdodDogMTAw
cHg7IHotaW5kZXg6IDEiPgorICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjA7IHRvcDowOyB3aWR0
aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpibGFj
azsiPjwvZGl2PgorICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4OyB0b3A6MDsgd2lkdGg6
MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Z3JlZW47
Ij48L2Rpdj4KKworICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjBweDsgdG9wOjEwMHB4OyB3aWR0
aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDp5ZWxs
b3c7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsgdG9wOjEwMHB4OyB3
aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpi
bHVlOyI+PC9kaXY+CisgICAgPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS1leHBlY3Rl
ZC5wbmcgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFnZS1zY2Fs
ZS1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDFlM2UwZWQwYzExOTQ4OTBkZDNkMWRmZTk0NWZh
MzAzMTYxMzRiMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjg3MQp6Y21lQVNATj8ob2xIeWB1
VkJxIWlhMHl+eVV7K3ZZVjJhPmkwKlopPWheaGxBJUBXcyRsSGBvazxtfT9vVCF6RkgKemxUQFEq
THpBU0dXUm4hTGwlJis7UjZ8MlVCZVNJQmx3P2EyXlctMVhtS1paSWFHbXNZYVNXLUxeWStGQFVN
RUskCnpSITUodzBYczd2dlRNKF5JMi1iVGlDejJyeUx9QSo0JVImWCFqa3ZKKHpaYyp1UmxLbiE7
YW5xT2Jpe0lJdCZkbgp6TWo0fWxGcSN0Um08dyphZEgwZitxNXNVQnhDNmFxdlNQT0txcSVVakM+
a3c+MlB6anB2TGkkSSRBaENhOyVJQU4KaHZgSThqeCFeQ3Utdil0fCpQbmcmMD05JTFKWURAPCk7
VDNLMFJUUXpNeiNPfAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiMTM3ODkxNzkxZmU5NjkyN2FkNzhlNjRiMGFhZDdiZGVk
MDhiZGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQt
cmlnaHQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45MDM4M2U4NjliNjBlZGRjYTA4MjI1ODIxZjFmMGZmNDUwNDUwYTZl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0
LWluLXBhZ2Utc2NhbGUuaHRtbApAQCAtMCwwICsxLDU2IEBACis8aHRtbD4KKzxoZWFkPgorICAg
IDxzdHlsZT4KKyAgICAgICAgOjotd2Via2l0LXNjcm9sbGJhciB7CisgICAgICAgICAgICB3aWR0
aDogMHB4OworICAgICAgICAgICAgaGVpZ2h0OiAwcHg7CisgICAgICAgIH0KKyAgICA8L3N0eWxl
PgorICAgIDxzY3JpcHQ+CisgICAgICB3aW5kb3cuZW5hYmxlUGl4ZWxUZXN0aW5nID0gdHJ1ZTsK
KyAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2V0U2hvdWxkTGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZShkb2N1bWVudCwgdHJ1
ZSk7CisKKyAgICAgIGZ1bmN0aW9uIHNjcm9sbCgpIHsKKyAgICAgICAgICB3aW5kb3cuc2Nyb2xs
VG8oMTAwLDEwMCk7CisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHNjYWxlV2l0aEV2ZW50U2Vu
ZGVyKCkgeworICAgICAgICAgIHZhciBzY2FsZUZhY3RvciA9IDIuMDsKKyAgICAgICAgICB2YXIg
c2NhbGVPZmZzZXQgPSAwOworICAgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAg
ICAgICAgICAgICBldmVudFNlbmRlci5zY2FsZVBhZ2VCeShzY2FsZUZhY3Rvciwgc2NhbGVPZmZz
ZXQsIHNjYWxlT2Zmc2V0KTsKKyAgICAgICAgICB9CisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9u
IHRlc3QoKSB7CisgICAgICAgICAgc2NhbGVXaXRoRXZlbnRTZW5kZXIoKTsKKyAgICAgICAgICBz
Y3JvbGwoKTsKKyAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IHN0eWxl
PSJoZWlnaHQ6MjAwMHB4OyB3aWR0aDogMjAwMHB4OyBtYXJnaW46MHB4OyIgb25sb2FkPSJ0ZXN0
KCk7Ij4KKyAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogZml4ZWQ7IHRvcDogLTEwMHB4OyByaWdo
dDogMTAwcHg7IHotaW5kZXg6IDEiPgorICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjA7IHRvcDow
OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3Vu
ZDp5ZWxsb3c7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsgdG9wOjA7
IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5k
OmdyZWVuOyI+PC9kaXY+CisKKyAgICAgICAgPGRpdiBzdHlsZT0ibGVmdDowOyB0b3A6MTAwcHg7
IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5k
OmJsYWNrOyI+PC9kaXY+CisgICAgICAgIDxkaXYgc3R5bGU9ImxlZnQ6MTAwcHg7IHRvcDoxMDBw
eDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91
bmQ6Ymx1ZTsiPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBh
YnNvbHV0ZTsgd2lkdGg6MzAwcHg7IGhlaWdodDozMDBweDsgdG9wOiAwcHg7IGxlZnQ6IDMwMHB4
IiBpZD0iZ3JpZCI+CisgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjEwMHB4
OyBoZWlnaHQ6MTAwcHg7IGJhY2tncm91bmQ6eWVsbG93OyI+PC9kaXY+CisgICAgICAgIDxkaXYg
c3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IGJhY2tncm91bmQ6
Z3JlZW47Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lkdGg6MTAw
cHg7IGhlaWdodDoxMDBweDsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisKKyAgICAgICAgPGRp
diBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dyb3Vu
ZDogZ3JlZW47Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lkdGg6
MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAgICAgIDxk
aXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IGJhY2tncm91
bmQ6eWVsbG93OyI+PC9kaXY+CisKKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lk
dGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAgICAg
IDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IGJhY2tn
cm91bmQ6eWVsbG93OyI+PC9kaXY+CisgICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHdp
ZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IGJhY2tncm91bmQ6Z3JlZW47Ij48L2Rpdj4KKyAgICA8
L2Rpdj4KKyAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBlY2ZkNGE1MzhhYmIxZmY3YjAw
NGRkNGExYzUwZmJkM2RhODIwMTAxLi42ODEwMmRlOWE1NWY2YzcyYTVlOGRjNWQ2MGYyY2YwNWVi
YjM4ZmVhIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTIgQEAKKzIwMTEtMTItMDEgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgV2hlbiBwYWdlIHNjYWxpbmcgaXMgaW4gdXNlIHBvc2l0aW9uOmZpeGVkIGhhcyBp
bmNvcnJlY3QgcmVzdWx0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9Njg2MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFNvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXI6CisKIDIwMTEtMTEtMjkg
IEh5b3dvbiBLaW0gIDxodzEwMDgua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtUZXhtYXBd
W0VGTF0gQWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgc3VwcG9ydCB1c2luZyBUZXh0dXJlTWFwcGVy
IG9uIEVGTCBwb3J0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117661</attachid>
            <date>2011-12-02 11:39:52 -0800</date>
            <delta_ts>2011-12-02 16:05:05 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-68617-20111202143950.patch</filename>
            <type>text/plain</type>
            <size>26516</size>
            <attacher name="Fady Samuel">fsamuel</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxODA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGFlM2M5NTBkZmU0NzZm
NzA0NzRjZmJmNzdjYzBjM2Q3NTgzZWJhMC4uNzMxMDk5YTY4OTE4NGQxNjgzZWQ5OWI4MjVjYTEx
ZDQ5MDBlY2ExNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDExLTEyLTAyICBGYWR5
IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdoZW4gcGFnZSBzY2Fs
aW5nIGlzIGluIHVzZSBwb3NpdGlvbjpmaXhlZCBoYXMgaW5jb3JyZWN0IHJlc3VsdHMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjE3CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIEFkZCB0aGUgb3B0aW9uIGZv
ciBwb3NpdGlvbjpmaXhlZCBlbGVtZW50cyB0byBiZSBmaXhlZCB0byB0aGUgZnJhbWUKKyAgICAg
ICAgaW5zdGVhZCBvZiB0aGUgbGF5b3V0IHJlY3RhbmdsZSBvZiB0aGUgZG9jdW1lbnQuCisKKyAg
ICAgICAgVGVzdHM6IGZhc3QvcmVwYWludC9maXhlZC1pbi1wYWdlLXNjYWxlLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvcmVwYWludC9maXhlZC1yaWdodC1ib3R0b20taW4tcGFnZS1zY2FsZS5o
dG1sCisgICAgICAgICAgICAgICBmYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFnZS1zY2Fs
ZS5odG1sCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBwYWdlL0ZyYW1l
Vmlldy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnJlc2V0KToKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lVmlldzo6c2Nyb2xsWEZvckZpeGVkUG9zaXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVWaWV3OjpzY3JvbGxZRm9yRml4ZWRQb3NpdGlvbik6CisgICAgICAgICAg
SWYgcG9zaXRpb246Zml4ZWQgZWxlbWVudHMgYXJlIHJlbGF0aXZlIHRvIHRoZSBmcmFtZSwgZGlz
cmVnYXJkIHRoZQorICAgICAgICAgIGRyYWcgZmFjdG9yLgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3OjpzZXRTaG91bGRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKToKKyAg
ICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojpz
aG91bGRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6c2hvdWxk
TGF5b3V0Rml4ZWRFbGVtZW50UmVsYXRpdmVUb0ZyYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJveDo6Y29udGFpbmluZ0Jsb2NrTG9naWNhbFdpZHRoRm9yUG9zaXRpb25lZCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbnRhaW5pbmdCbG9ja0xvZ2ljYWxIZWlnaHRGb3JQ
b3NpdGlvbmVkKToKKyAgICAgICAgICBJZiBwb3NpdGlvbjpmaXhlZCBlbGVtZW50cyBhcmUgcmVs
YXRpdmUgdG8gdGhlIGZyYW1lLCB0aGVpciBjb250YWluZXIKKyAgICAgICAgICBpcyB0aGUgZnJh
bWUgaW5zdGVhZCBvZiB0aGUgbGF5b3V0IHJlY3Qgb2YgdGhlIGRvY3VtZW50LiAKKyAgICAgICAg
ICBUaGlzIGFsbG93cyBwcm9wZXIgcG9zaXRpb25pbmcgb2YgdGhlc2UgZWxlbWVudHMgdG8gdGhl
IHJpZ2h0IGFuZAorICAgICAgICAgIGJvdHRvbS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
Qm94Lmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW50ZXJuYWxzOjpzZXRTaG91bGRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1l
KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50
ZXJuYWxzLmlkbDoKKyAgICAgICAgICBBbGxvdyBlbmFibGluZyBhbmQgZGlzYWJsaW5nIHRoZSBu
ZXcgYmVoYXZpb3IgaW4gbGF5b3V0IHRlc3RzLgorCiAyMDExLTEyLTAyICBTdGVwaGVuIENoZW5u
ZXkgIDxzY2hlbm5leUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjkxMTI1
KTogUG9seWxpbmUgdG9vbCBpbiBnb29nbGUgZG9jcyBpcyBicm9rZW4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA2
MmY5Yjk3ODA3ZTIyMGMyODdiYjczYzQ3ZDJkOTU0OTYyNzhhOGFmLi42MjllNDc2NmEwYTAxNmYz
ZTFmMzlhMmQwZTcxY2M3YzFkYTU2NmE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MTEtMTItMDIgIEZhZHkgU2FtdWVsICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
V2hlbiBwYWdlIHNjYWxpbmcgaXMgaW4gdXNlIHBvc2l0aW9uOmZpeGVkIGhhcyBpbmNvcnJlY3Qg
cmVzdWx0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Njg2MTcKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiB3
aW4vV2ViS2l0Mi5kZWY6CisgICAgICAgICogd2luL1dlYktpdDJDRkxpdGUuZGVmOgorCiAyMDEx
LTEyLTAyICBBbmRyYXMgQmVjc2kgIDxhbmRyYXMuYmVjc2lAbm9raWEuY29tPgogCiAgICAgICAg
IFtRdF1bV0syXSBTZXQgZXZlbnQgdGltZXN0YW1wcyBvbiBjdXN0b20gaW5wdXQgZXZlbnRzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluCmluZGV4IDU5NDNiYWI1ODZlOGJmNjE2YmZiY2U1MTk1ZjViNmYwMDhm
NzUxMjEuLmQxYTk4ZDEzZDk2ODM4YzRiZjNiNWQ1YjI0OTRlMWIwZWNhODE0YTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCkBAIC0xMDI4LDYgKzEwMjgsNyBAQCBfX1pON1dlYkNvcmU5RnJhbWVWaWV3
MTdzZXRTY3JvbGxQb3NpdGlvbkVSS05TXzhJbnRQb2ludEUKIF9fWk43V2ViQ29yZTlGcmFtZVZp
ZXcxN3NldFRyYWNrc1JlcGFpbnRzRWIKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXcxOHVwZGF0ZUNv
bnRyb2xUaW50c0V2CiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MTlzY3JvbGxFbGVtZW50VG9SZWN0
RVBOU183RWxlbWVudEVSS05TXzdJbnRSZWN0RQorX19aTjdXZWJDb3JlOUZyYW1lVmlldzQzc2V0
U2hvdWxkTGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZUViCiBfX1pON1dlYkNvcmU5
RnJhbWVWaWV3MjBlbnRlckNvbXBvc2l0aW5nTW9kZUV2CiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3
MjFmbHVzaERlZmVycmVkUmVwYWludHNFdgogX19aTjdXZWJDb3JlOUZyYW1lVmlldzIyc2V0QmFz
ZUJhY2tncm91bmRDb2xvckVSS05TXzVDb2xvckUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApp
bmRleCA1NDNjOGE4MTQ5YzUyMDg2Y2Y1NDM4NzVkZTRlYjk3MGNiZTM4N2MwLi4yMThiMWI4ZWE0
M2NkNjU1ZWRkODhmYzJlNjc5MGNmMDZkNGMyODQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
Y3BwCkBAIC0yMTcsNiArMjE3LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnJlc2V0KCkKICAgICBtX2Nh
bm5vdEJsaXRUb1dpbmRvdyA9IGZhbHNlOwogICAgIG1faXNPdmVybGFwcGVkID0gZmFsc2U7CiAg
ICAgbV9jb250ZW50SXNPcGFxdWUgPSBmYWxzZTsKKyAgICBtX3Nob3VsZExheW91dEZpeGVkRWxl
bWVudHNSZWxhdGl2ZVRvRnJhbWUgPSBmYWxzZTsKICAgICBtX2JvcmRlclggPSAzMDsKICAgICBt
X2JvcmRlclkgPSAzMDsKICAgICBtX2xheW91dFRpbWVyLnN0b3AoKTsKQEAgLTEzOTQsNyArMTM5
NSw3IEBAIGludCBGcmFtZVZpZXc6OnNjcm9sbFhGb3JGaXhlZFBvc2l0aW9uKCkgY29uc3QKICAg
ICAvLyBXaGVuIHRoZSBwYWdlIGlzIHNjYWxlZCwgdGhlIHNjYWxlZCAidmlld3BvcnQiIHdpdGgg
cmVzcGVjdCB0byB3aGljaCBmaXhlZCBvYmplY3QgYXJlIHBvc2l0aW9uZWQKICAgICAvLyBkb2Vz
bid0IG1vdmUgYXMgZmFzdCBhcyB0aGUgY29udGVudCB2aWV3LCBzbyB0aGF0IHdoZW4gdGhlIGNv
bnRlbnQgaXMgc2Nyb2xsZWQgYWxsIHRoZSB3YXkgdG8gdGhlCiAgICAgLy8gZW5kLCB0aGUgYm90
dG9tIG9mIHRoZSBzY2FsZWQgInZpZXdwb3J0IiB0b3VjaGVzIHRoZSBib3R0b20gb2YgdGhlIHJl
YWwgdmlld3BvcnQuCi0gICAgZmxvYXQgZHJhZ0ZhY3RvciA9IChjb250ZW50c1dpZHRoKCkgLSB2
aXNpYmxlQ29udGVudFdpZHRoICogZnJhbWVTY2FsZUZhY3RvcikgLyBtYXhYOworICAgIGZsb2F0
IGRyYWdGYWN0b3IgPSBzaG91bGRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKCkg
PyAxIDogKGNvbnRlbnRzV2lkdGgoKSAtIHZpc2libGVDb250ZW50V2lkdGggKiBmcmFtZVNjYWxl
RmFjdG9yKSAvIG1heFg7CiAKICAgICByZXR1cm4geCAqIGRyYWdGYWN0b3IgLyBmcmFtZVNjYWxl
RmFjdG9yOwogfQpAQCAtMTQyNSw4ICsxNDI2LDcgQEAgaW50IEZyYW1lVmlldzo6c2Nyb2xsWUZv
ckZpeGVkUG9zaXRpb24oKSBjb25zdAogICAgICAgICByZXR1cm4geTsKIAogICAgIGZsb2F0IGZy
YW1lU2NhbGVGYWN0b3IgPSBtX2ZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCk7Ci0gICAgZmxvYXQg
ZHJhZ0ZhY3RvciA9IChjb250ZW50c0hlaWdodCgpIC0gdmlzaWJsZUNvbnRlbnRIZWlnaHQgKiBm
cmFtZVNjYWxlRmFjdG9yKSAvIG1heFk7Ci0KKyAgICBmbG9hdCBkcmFnRmFjdG9yID0gc2hvdWxk
TGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZSgpID8gMSA6IChjb250ZW50c0hlaWdo
dCgpIC0gdmlzaWJsZUNvbnRlbnRIZWlnaHQgKiBmcmFtZVNjYWxlRmFjdG9yKSAvIG1heFk7CiAg
ICAgcmV0dXJuIHkgKiBkcmFnRmFjdG9yIC8gZnJhbWVTY2FsZUZhY3RvcjsKIH0KIApAQCAtMTQz
NSw2ICsxNDM1LDE4IEBAIEludFNpemUgRnJhbWVWaWV3OjpzY3JvbGxPZmZzZXRGb3JGaXhlZFBv
c2l0aW9uKCkgY29uc3QKICAgICByZXR1cm4gSW50U2l6ZShzY3JvbGxYRm9yRml4ZWRQb3NpdGlv
bigpLCBzY3JvbGxZRm9yRml4ZWRQb3NpdGlvbigpKTsKIH0KIAordm9pZCBGcmFtZVZpZXc6OnNl
dFNob3VsZExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoYm9vbCBzaG91bGRMYXlv
dXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKQoreworICAgIGlmIChzaG91bGRMYXlvdXRG
aXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lID09IG1fc2hvdWxkTGF5b3V0Rml4ZWRFbGVtZW50
c1JlbGF0aXZlVG9GcmFtZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9zaG91bGRMYXlvdXRG
aXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lID0gc2hvdWxkTGF5b3V0Rml4ZWRFbGVtZW50c1Jl
bGF0aXZlVG9GcmFtZTsKKworICAgIGlmICghaGFzRml4ZWRPYmplY3RzKCkpCisgICAgICAgIHJl
dHVybjsKKworICAgIHNldE5lZWRzTGF5b3V0KCk7Cit9CiBJbnRQb2ludCBGcmFtZVZpZXc6OmN1
cnJlbnRNb3VzZVBvc2l0aW9uKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9mcmFtZSA/IG1fZnJh
bWUtPmV2ZW50SGFuZGxlcigpLT5jdXJyZW50TW91c2VQb3NpdGlvbigpIDogSW50UG9pbnQoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IDdjNGM4OTRhZjM3ZmFmMTEwZDg2YTRjMGU3ODZk
N2U5ZjYyYjgwM2YuLmRjZDZkMzM0YTU2Yjg3NmZhY2Q1OTQzYzIwZjI5MTkxODU0OTQxY2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtMTk2LDYgKzE5Niw5IEBAIHB1YmxpYzoKICAgICBp
bnQgc2Nyb2xsWUZvckZpeGVkUG9zaXRpb24oKSBjb25zdDsKICAgICBJbnRTaXplIHNjcm9sbE9m
ZnNldEZvckZpeGVkUG9zaXRpb24oKSBjb25zdDsKIAorICAgIGJvb2wgc2hvdWxkTGF5b3V0Rml4
ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2hvdWxkTGF5b3V0
Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZTsgfQorICAgIHZvaWQgc2V0U2hvdWxkTGF5b3V0
Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZShib29sKTsKKwogICAgIHZvaWQgYmVnaW5EZWZl
cnJlZFJlcGFpbnRzKCk7CiAgICAgdm9pZCBlbmREZWZlcnJlZFJlcGFpbnRzKCk7CiAgICAgdm9p
ZCBjaGVja1N0b3BEZWxheWluZ0RlZmVycmVkUmVwYWludHMoKTsKQEAgLTQxMSw5ICs0MTQsOSBA
QCBwcml2YXRlOgogICAgIGJvb2wgbV9jYW5ub3RCbGl0VG9XaW5kb3c7CiAgICAgYm9vbCBtX2lz
T3ZlcmxhcHBlZDsKICAgICBib29sIG1fY29udGVudElzT3BhcXVlOworICAgIGJvb2wgbV9zaG91
bGRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lOwogICAgIHVuc2lnbmVkIG1fc2xv
d1JlcGFpbnRPYmplY3RDb3VudDsKICAgICB1bnNpZ25lZCBtX2ZpeGVkT2JqZWN0Q291bnQ7Ci0K
ICAgICBpbnQgbV9ib3JkZXJYOwogICAgIGludCBtX2JvcmRlclk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggYmNlMDJjZWFjYThhMGM4MTAxYzlhNmM0YWM2ZWRj
MzFjM2YyYTk3MS4uYjljMjVkNmE0NjEyMjgxZTBhOGU0ZWNjODYzMjc1MzdjZmFhMzYwOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTYzMSw2ICs2MzEsMTEgQEAg
TGF5b3V0UmVjdCBSZW5kZXJCb3g6OnJlZmxlY3RlZFJlY3QoY29uc3QgTGF5b3V0UmVjdCYgcikg
Y29uc3QKICAgICByZXR1cm4gcmVzdWx0OwogfQogCitib29sIFJlbmRlckJveDo6c2hvdWxkTGF5
b3V0Rml4ZWRFbGVtZW50UmVsYXRpdmVUb0ZyYW1lKEZyYW1lKiBmcmFtZSwgRnJhbWVWaWV3KiBm
cmFtZVZpZXcpIGNvbnN0Cit7CisgICAgcmV0dXJuIHN0eWxlKCkgJiYgc3R5bGUoKS0+cG9zaXRp
b24oKSA9PSBGaXhlZFBvc2l0aW9uICYmIGNvbnRhaW5lcigpLT5pc1JlbmRlclZpZXcoKSAmJiBm
cmFtZSAmJiBmcmFtZVZpZXcgJiYgZnJhbWVWaWV3LT5zaG91bGRMYXlvdXRGaXhlZEVsZW1lbnRz
UmVsYXRpdmVUb0ZyYW1lKCk7Cit9CisKIGJvb2wgUmVuZGVyQm94OjppbmNsdWRlVmVydGljYWxT
Y3JvbGxiYXJTaXplKCkgY29uc3QKIHsKICAgICByZXR1cm4gaGFzT3ZlcmZsb3dDbGlwKCkgJiYg
IWxheWVyKCktPmhhc092ZXJsYXlTY3JvbGxiYXJzKCkKQEAgLTIzMTcsNiArMjMyMiwxMiBAQCB2
b2lkIFJlbmRlckJveDo6Y29tcHV0ZUJsb2NrRGlyZWN0aW9uTWFyZ2lucyhSZW5kZXJCbG9jayog
Y29udGFpbmluZ0Jsb2NrKQogTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbnRhaW5pbmdCbG9ja0xv
Z2ljYWxXaWR0aEZvclBvc2l0aW9uZWQoY29uc3QgUmVuZGVyQm94TW9kZWxPYmplY3QqIGNvbnRh
aW5pbmdCbG9jaywgUmVuZGVyUmVnaW9uKiByZWdpb24sCiAgICAgTGF5b3V0VW5pdCBvZmZzZXRG
cm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlLCBib29sIGNoZWNrRm9yUGVycGVuZGljdWxhcldyaXRp
bmdNb2RlKSBjb25zdAogeworICAgIC8vIENvbnRhaW5lciBmb3IgcG9zaXRpb246Zml4ZWQgaXMg
dGhlIGZyYW1lLgorICAgIEZyYW1lKiBmcmFtZSA9IHZpZXcoKSA/IHZpZXcoKS0+ZnJhbWUoKTog
MDsKKyAgICBGcmFtZVZpZXcqIGZyYW1lVmlldyA9IHZpZXcoKSA/IHZpZXcoKS0+ZnJhbWVWaWV3
KCkgOiAwOworICAgIGlmIChzaG91bGRMYXlvdXRGaXhlZEVsZW1lbnRSZWxhdGl2ZVRvRnJhbWUo
ZnJhbWUsIGZyYW1lVmlldykpCisgICAgICAgIHJldHVybiAodmlldygpLT5pc0hvcml6b250YWxX
cml0aW5nTW9kZSgpID8gZnJhbWVWaWV3LT52aXNpYmxlV2lkdGgoKSA6IGZyYW1lVmlldy0+dmlz
aWJsZUhlaWdodCgpKSAvIGZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCk7CisKICAgICBpZiAoY2hl
Y2tGb3JQZXJwZW5kaWN1bGFyV3JpdGluZ01vZGUgJiYgY29udGFpbmluZ0Jsb2NrLT5pc0hvcml6
b250YWxXcml0aW5nTW9kZSgpICE9IGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCiAgICAgICAg
IHJldHVybiBjb250YWluaW5nQmxvY2tMb2dpY2FsSGVpZ2h0Rm9yUG9zaXRpb25lZChjb250YWlu
aW5nQmxvY2ssIGZhbHNlKTsKIApAQCAtMjM2OSw2ICsyMzgwLDExIEBAIExheW91dFVuaXQgUmVu
ZGVyQm94Ojpjb250YWluaW5nQmxvY2tMb2dpY2FsV2lkdGhGb3JQb3NpdGlvbmVkKGNvbnN0IFJl
bmRlckJveE1vCiAKIExheW91dFVuaXQgUmVuZGVyQm94Ojpjb250YWluaW5nQmxvY2tMb2dpY2Fs
SGVpZ2h0Rm9yUG9zaXRpb25lZChjb25zdCBSZW5kZXJCb3hNb2RlbE9iamVjdCogY29udGFpbmlu
Z0Jsb2NrLCBib29sIGNoZWNrRm9yUGVycGVuZGljdWxhcldyaXRpbmdNb2RlKSBjb25zdAogewor
ICAgIEZyYW1lKiBmcmFtZSA9IHZpZXcoKSA/IHZpZXcoKS0+ZnJhbWUoKTogMDsKKyAgICBGcmFt
ZVZpZXcqIGZyYW1lVmlldyA9IHZpZXcoKSA/IHZpZXcoKS0+ZnJhbWVWaWV3KCkgOiAwOworICAg
IGlmIChzaG91bGRMYXlvdXRGaXhlZEVsZW1lbnRSZWxhdGl2ZVRvRnJhbWUoZnJhbWUsIGZyYW1l
VmlldykpCisgICAgICAgIHJldHVybiAodmlldygpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgp
ID8gZnJhbWVWaWV3LT52aXNpYmxlSGVpZ2h0KCkgOiBmcmFtZVZpZXctPnZpc2libGVXaWR0aCgp
KSAvIGZyYW1lLT5mcmFtZVNjYWxlRmFjdG9yKCk7CisKICAgICBpZiAoY2hlY2tGb3JQZXJwZW5k
aWN1bGFyV3JpdGluZ01vZGUgJiYgY29udGFpbmluZ0Jsb2NrLT5pc0hvcml6b250YWxXcml0aW5n
TW9kZSgpICE9IGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCiAgICAgICAgIHJldHVybiBjb250
YWluaW5nQmxvY2tMb2dpY2FsV2lkdGhGb3JQb3NpdGlvbmVkKGNvbnRhaW5pbmdCbG9jaywgMCwg
MCwgZmFsc2UpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKaW5kZXggYmMxZmZk
OTgzNGNiNzliNDdmNzBlN2EyY2RlZGZhNGVkYTc0MTJmMC4uZTRlZWY2NWRlOWMwOWQ2ZDUxODU5
ODUwNDUyNmVmNmNlODQ2NjY1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaApA
QCAtNDYyLDYgKzQ2Miw4IEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHBhaW50Um9vdEJveEZpbGxM
YXllcnMoY29uc3QgUGFpbnRJbmZvJik7CiAKIHByaXZhdGU6CisgICAgYm9vbCBzaG91bGRMYXlv
dXRGaXhlZEVsZW1lbnRSZWxhdGl2ZVRvRnJhbWUoRnJhbWUqLCBGcmFtZVZpZXcqKSBjb25zdDsK
KwogICAgIGJvb2wgaW5jbHVkZVZlcnRpY2FsU2Nyb2xsYmFyU2l6ZSgpIGNvbnN0OwogICAgIGJv
b2wgaW5jbHVkZUhvcml6b250YWxTY3JvbGxiYXJTaXplKCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBkNWFiNzg4N2UzODNmYjRiOGEwODkyOTQ3ZmZjOGUx
NmY2NDAyZTdkLi45ZjUxMzZmZmQxNjJmMDU5NDhkZjFiMjcxNzRjMGFlNWVjMjhiNjk2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC01NzcsNiArNTc3LDE3IEBAIHVuc2ln
bmVkIEludGVybmFsczo6bGVuZ3RoRnJvbVJhbmdlKEVsZW1lbnQqIHNjb3BlLCBjb25zdCBSYW5n
ZSogcmFuZ2UsIEV4Y2VwdGlvCiAgICAgcmV0dXJuIGxlbmd0aDsKIH0KIAordm9pZCBJbnRlcm5h
bHM6OnNldFNob3VsZExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoRG9jdW1lbnQq
IGRvY3VtZW50LCBib29sIGVuYWJsZWQsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICgh
ZG9jdW1lbnQgfHwgIWRvY3VtZW50LT52aWV3KCkpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX0FD
Q0VTU19FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBGcmFtZVZpZXcqIGZyYW1l
VmlldyA9IGRvY3VtZW50LT52aWV3KCk7CisgICAgZnJhbWVWaWV3LT5zZXRTaG91bGRMYXlvdXRG
aXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKGVuYWJsZWQpOworfQorCiB2b2lkIEludGVybmFs
czo6c2V0VW5pZmllZFRleHRDaGVja2luZ0VuYWJsZWQoRG9jdW1lbnQqIGRvY3VtZW50LCBib29s
IGVuYWJsZWQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmICghZG9jdW1lbnQgfHwgIWRv
Y3VtZW50LT5mcmFtZSgpIHx8ICFkb2N1bWVudC0+ZnJhbWUoKS0+c2V0dGluZ3MoKSkgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggYjkwOWQ3MDg5YzNkMGViZDUxZGI2OWFiYTNj
OWFhM2I2NjQyZDlhYi4uMjhlZmI0ZTFjOTBjYThjM2I0OTZkNGExOTg0NTJlYmZhODdmNmMxOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0xMDQsNiArMTA0LDcgQEAgcHVibGlj
OgogICAgIFBhc3NSZWZQdHI8UmFuZ2U+IHJhbmdlRnJvbUxvY2F0aW9uQW5kTGVuZ3RoKEVsZW1l
bnQqIHNjb3BlLCBpbnQgcmFuZ2VMb2NhdGlvbiwgaW50IHJhbmdlTGVuZ3RoLCBFeGNlcHRpb25D
b2RlJik7CiAgICAgdW5zaWduZWQgbG9jYXRpb25Gcm9tUmFuZ2UoRWxlbWVudCogc2NvcGUsIGNv
bnN0IFJhbmdlKiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHVuc2lnbmVkIGxlbmd0aEZyb21SYW5n
ZShFbGVtZW50KiBzY29wZSwgY29uc3QgUmFuZ2UqLCBFeGNlcHRpb25Db2RlJik7CisgICAgdm9p
ZCBzZXRTaG91bGRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKERvY3VtZW50Kiwg
Ym9vbCwgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgdm9pZCBzZXRVbmlmaWVkVGV4dENoZWNraW5n
RW5hYmxlZChEb2N1bWVudCosIGJvb2wsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBib29sIHVuaWZp
ZWRUZXh0Q2hlY2tpbmdFbmFibGVkKERvY3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IGNjYzg5MmM2MDJkOGJmMmRhYjI2ZmIyNDk2
MzQ0ZDQwMjVkMjkxMmMuLmY2NmJiNTZjMTU1NjAxNjNlOWFjMTRkNDJiYTZmZDFmYjkyOWM5NGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTc3LDYgKzc3LDcgQEAgbW9k
dWxlIHdpbmRvdyB7CiAgICAgICAgIHVuc2lnbmVkIGxvbmcgbG9jYXRpb25Gcm9tUmFuZ2UoaW4g
RWxlbWVudCBzY29wZSwgaW4gUmFuZ2UgcmFuZ2UpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAg
ICAgICAgdW5zaWduZWQgbG9uZyBsZW5ndGhGcm9tUmFuZ2UoaW4gRWxlbWVudCBzY29wZSwgaW4g
UmFuZ2UgcmFuZ2UpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKIAorICAgICAgICB2b2lkIHNldFNo
b3VsZExheW91dEZpeGVkRWxlbWVudHNSZWxhdGl2ZVRvRnJhbWUoaW4gRG9jdW1lbnQgZG9jdW1l
bnQsIGluIGJvb2xlYW4gZW5hYmxlZCkgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIHZv
aWQgc2V0VW5pZmllZFRleHRDaGVja2luZ0VuYWJsZWQoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGlu
IGJvb2xlYW4gZW5hYmxlZCkgcmFpc2VzIChET01FeGNlcHRpb24pOwogICAgICAgICBib29sZWFu
IHVuaWZpZWRUZXh0Q2hlY2tpbmdFbmFibGVkKGluIERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMg
KERPTUV4Y2VwdGlvbik7CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9X
ZWJLaXQyLmRlZiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgppbmRleCA0ODlkNTk3
MTFjNWI4NjYyNjE5YmZjNGE0ZGI4ZTNmNDk3YWUxYjZiLi5iNDZmMTU5YmE4ZGFjNGM2OWZlYjA2
MWIyMzg5NjgxODdjZmY2YzgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0
Mi5kZWYKKysrIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCkBAIC0xNjksNiArMTY5
LDcgQEAgRVhQT1JUUwogICAgICAgICA/cmFuZ2VGcm9tTG9jYXRpb25BbmRMZW5ndGhAVGV4dEl0
ZXJhdG9yQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZSYW5nZUBXZWJDb3JlQEBAV1RGQEBQ
QVZFbGVtZW50QDJASEhfTkBaCiAgICAgICAgID9yZW1vdmVTaGFkb3dSb290QEVsZW1lbnRAV2Vi
Q29yZUBAUUFFWFhaCiAgICAgICAgID9zY3JvbGxFbGVtZW50VG9SZWN0QEZyYW1lVmlld0BXZWJD
b3JlQEBRQUVYUEFWRWxlbWVudEAyQEFCVkludFJlY3RAMkBAWgorICAgICAgICA/c2V0U2hvdWxk
TGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZUBGcmFtZVZpZXdAV2ViQ29yZUBAUUFF
WF9OQFoKICAgICAgICAgP3NldERPTUV4Y2VwdGlvbkBXZWJDb3JlQEBZQVhQQVZFeGVjU3RhdGVA
SlNDQEBIQFoKICAgICAgICAgP3NldE1vY2tTY3JvbGxiYXJzRW5hYmxlZEBTZXR0aW5nc0BXZWJD
b3JlQEBTQVhfTkBaCiAgICAgICAgID9zZXRQYWdpbmF0aW9uQFBhZ2VAV2ViQ29yZUBAUUFFWEFC
VVBhZ2luYXRpb25AMTJAQFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQy
Q0ZMaXRlLmRlZiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgppbmRleCAz
MDY1YmQ4YmUxMmY4MmVhMWNmMmEwMjlkNDRiMTQwNmVkNWYzODY2Li5lNTdkY2RiODZmNmRhOTgw
ZDUwYzRlMWIwZDZjODY1OWE0NDJjNTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4v
V2ViS2l0MkNGTGl0ZS5kZWYKKysrIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUu
ZGVmCkBAIC0xNjIsNiArMTYyLDcgQEAgRVhQT1JUUwogICAgICAgICA/cmFuZ2VGcm9tTG9jYXRp
b25BbmRMZW5ndGhAVGV4dEl0ZXJhdG9yQFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZSYW5n
ZUBXZWJDb3JlQEBAV1RGQEBQQVZFbGVtZW50QDJASEhfTkBaCiAgICAgICAgID9yZW1vdmVTaGFk
b3dSb290QEVsZW1lbnRAV2ViQ29yZUBAUUFFWFhaCiAgICAgICAgID9zY3JvbGxFbGVtZW50VG9S
ZWN0QEZyYW1lVmlld0BXZWJDb3JlQEBRQUVYUEFWRWxlbWVudEAyQEFCVkludFJlY3RAMkBAWgor
ICAgICAgICA/c2V0U2hvdWxkTGF5b3V0Rml4ZWRFbGVtZW50c1JlbGF0aXZlVG9GcmFtZUBGcmFt
ZVZpZXdAV2ViQ29yZUBAUUFFWF9OQFoKICAgICAgICAgP3NldERPTUV4Y2VwdGlvbkBXZWJDb3Jl
QEBZQVhQQVZFeGVjU3RhdGVASlNDQEBIQFoKICAgICAgICAgP3NldE1vY2tTY3JvbGxiYXJzRW5h
YmxlZEBTZXR0aW5nc0BXZWJDb3JlQEBTQVhfTkBaCiAgICAgICAgID9zZXRQYWdpbmF0aW9uQFBh
Z2VAV2ViQ29yZUBAUUFFWEFCVVBhZ2luYXRpb25AMTJAQFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9h
dXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVy
CmluZGV4IDQzODdjYTkzMGM4YzMyYjVjZjUyMDlmNDQ3YWFiMjQ5YzU2YzNiNTYuLjQwY2I3OGJi
NTNmZTQ0OTYyMDZiYTBmM2ExNDk5OThiNWY5ZGQ3NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9hdXRv
dG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRl
cgpAQCAtODMsNiArODMsNyBAQCBfWk43V2ViQ29yZTEwU2Nyb2xsVmlldzIzc2V0U2Nyb2xsYmFy
c1N1cHByZXNzZWRFYmI7CiBfWk43V2ViQ29yZThTZXR0aW5nczI0c2V0TW9ja1Njcm9sbGJhcnNF
bmFibGVkRWI7CiBfWk43V2ViQ29yZTlGcmFtZVZpZXcxN3BhaW50Q29udHJvbFRpbnRzRXY7CiBf
Wk43V2ViQ29yZTlGcmFtZVZpZXcxOXNjcm9sbEVsZW1lbnRUb1JlY3RFUE5TXzdFbGVtZW50RVJL
TlNfN0ludFJlY3RFOworX1pON1dlYkNvcmU5RnJhbWVWaWV3NDNzZXRTaG91bGRMYXlvdXRGaXhl
ZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lRWI7CiBsb2NhbDoKIF9aKjsKIGN0aSo7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
OTk5YjM1YWU4NzMzZDBhNmU2NDE2ODA2MmZkNmYzZTNjODVlZTU1Yi4uNGVlMjVmMzIyYTkxYmVj
M2I5NDg4MDY3NGUxMTZmYmU5NWM1YzliNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDExLTEy
LTAyICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdoZW4g
cGFnZSBzY2FsaW5nIGlzIGluIHVzZSBwb3NpdGlvbjpmaXhlZCBoYXMgaW5jb3JyZWN0IHJlc3Vs
dHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjE3
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgICogZmFzdC9y
ZXBhaW50L2ZpeGVkLWluLXBhZ2Utc2NhbGUtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvcmVwYWludC9maXhlZC1pbi1wYWdlLXNjYWxlLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvcmVwYWludC9maXhlZC1yaWdodC1ib3R0b20taW4tcGFnZS1zY2FsZS1l
eHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWludC9maXhlZC1yaWdodC1i
b3R0b20taW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
cmVwYWludC9maXhlZC1yaWdodC1ib3R0b20taW4tcGFnZS1zY2FsZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC5w
bmc6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVwYWludC9maXhlZC1yaWdodC1pbi1wYWdlLXNj
YWxlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZXBhaW50L2ZpeGVkLXJp
Z2h0LWluLXBhZ2Utc2NhbGUuaHRtbDogQWRkZWQuCisKIDIwMTEtMTItMDIgIFBoaWxpcHBlIE5v
cm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHNraXAg
ZmFpbGluZyB3ZWJzb2NrZXQgdGVzdCBvbiBHVEsuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0
cy9mYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC5wbmcKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzIzNTM5OTUzNzlkNzZhOTU1NjliMjA4MDEyNWZiYzRhZWYyYWFkNApHSVQgYmluYXJ5IHBh
dGNoCmxpdGVyYWwgMjg2OQp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHl+eVV7K3ZZVjJhPmkwKlop
PWheaGxBJUBXcyRsSGBvazxtfT9vVG4wLWMKeml6RVhSMTJkejxXSylDVyMzVkIjV0FqOEhIYHo0
QkM/eiRgeFQoPjxrJTU4aHhUbExfTlg0QURII1lKejFAZj51CnpAP0E3dlIyMHc2KHlnO0VPez0x
QGRGcCFoS0xeZnlWPjxVX0wmTl9NY2pPb3QzWnhvWTgzY3FRNyNJdms4S1okUAp6bmlBLWszcFFS
cV5OcSE/cTt7S2whSl44MWVURS0+ezkrNmFKXyhFck1fNUp+cWslQSo2NmwtQC1wcmMkbVkwRlMK
d3tvX0Y8aDdMfDBoSzNtak1qNH1sRnEjdFJvRDEmZS1RIXpuXkJ9VmEqYlpqIWJvRnl0PWFrUnsw
MlNZOSN7ZDhUCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOGIxMzc4OTE3OTFmZTk2OTI3YWQ3OGU2NGIwYWFkN2JkZWQwOGJkYwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1pbi1wYWdlLXNjYWxlLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
cmVwYWludC9maXhlZC1pbi1wYWdlLXNjYWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlcGFp
bnQvZml4ZWQtaW4tcGFnZS1zY2FsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE5NWM1NzI4Njg2NjBjNTUz
YjY4ODdhZTcwODViZmQ0MTVjYjMwMGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlcGFpbnQvZml4ZWQtaW4tcGFnZS1zY2FsZS5odG1sCkBAIC0wLDAgKzEsNTQgQEAKKzxo
dG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyIHsK
KyAgICAgICAgICAgIHdpZHRoOiAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDBweDsKKyAgICAg
ICAgfQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdD4KKyAgICAgIHdpbmRvdy5lbmFibGVQaXhl
bFRlc3RpbmcgPSB0cnVlOworICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAg
d2luZG93LmludGVybmFscy5zZXRTaG91bGRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0Zy
YW1lKGRvY3VtZW50LCB0cnVlKTsKKworICAgICAgZnVuY3Rpb24gc2Nyb2xsKCkgeworICAgICAg
ICAgIHdpbmRvdy5zY3JvbGxUbygxMDAsMTAwKTsKKyAgICAgIH0KKworICAgICAgZnVuY3Rpb24g
c2NhbGVXaXRoRXZlbnRTZW5kZXIoKSB7CisgICAgICAgICAgdmFyIHNjYWxlRmFjdG9yID0gMi4w
OworICAgICAgICAgIHZhciBzY2FsZU9mZnNldCA9IDA7CisgICAgICAgICAgaWYgKHdpbmRvdy5l
dmVudFNlbmRlcikgeworICAgICAgICAgICAgIGV2ZW50U2VuZGVyLnNjYWxlUGFnZUJ5KHNjYWxl
RmFjdG9yLCBzY2FsZU9mZnNldCwgc2NhbGVPZmZzZXQpOworICAgICAgICAgIH0KKyAgICAgIH0K
KworICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAgICAgICBzY2FsZVdpdGhFdmVudFNlbmRl
cigpOworICAgICAgICAgIHNjcm9sbCgpOworICAgICAgfQorICAgIDwvc2NyaXB0PgorICAgIDxz
Y3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHkgc3R5bGU9IndpZHRoOjIwMDBweDsgaGVpZ2h0OjIwMDBweDsgbWFyZ2luOjBw
eDsiIG9ubG9hZD0idGVzdCgpOyI+CisgICAgPGRpdiBzdHlsZT0icG9zaXRpb246IGZpeGVkOyB0
b3A6IC0xMDBweDsgbGVmdDogLTEwMHB4OyB6LWluZGV4OiAxIj4KKyAgICAgICAgPGRpdiBzdHls
ZT0ibGVmdDowOyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJz
b2x1dGU7IGJhY2tncm91bmQ6eWVsbG93OyI+PC9kaXY+CisgICAgICAgIDxkaXYgc3R5bGU9Imxl
ZnQ6MTAwcHg7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNv
bHV0ZTsgYmFja2dyb3VuZDpncmVlbjsiPjwvZGl2PgorCisgICAgICAgIDxkaXYgc3R5bGU9Imxl
ZnQ6MDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNv
bHV0ZTsgYmFja2dyb3VuZDpncmVlbjsiPjwvZGl2PgorICAgICAgICA8ZGl2IHN0eWxlPSJsZWZ0
OjEwMHB4OyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFi
c29sdXRlOyBiYWNrZ3JvdW5kOmJsYWNrOyI+PC9kaXY+CisgICAgPC9kaXY+CisKKyAgICA8ZGl2
IHN0eWxlPSJsZWZ0OjA7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlv
bjphYnNvbHV0ZTsgYmFja2dyb3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJs
ZWZ0OjEwMHB4OyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJz
b2x1dGU7IGJhY2tncm91bmQ6Z3JlZW47Ij48L2Rpdj4KKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjIw
MHB4OyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7
IGJhY2tncm91bmQ6Ymx1ZTsiPjwvZGl2PgorCisgICAgPGRpdiBzdHlsZT0ibGVmdDowOyB0b3A6
MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNr
Z3JvdW5kOiBncmVlbjsiPjwvZGl2PgorICAgIDxkaXYgc3R5bGU9ImxlZnQ6MTAwcHg7IHRvcDox
MDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tn
cm91bmQ6Ymx1ZTsiPjwvZGl2PgorICAgIDxkaXYgc3R5bGU9ImxlZnQ6MjAwcHg7IHRvcDoxMDBw
eDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91
bmQ6eWVsbG93OyI+PC9kaXY+CisKKyAgICA8ZGl2IHN0eWxlPSJsZWZ0OjA7IHRvcDoyMDBweDsg
d2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6
Ymx1ZTsiPjwvZGl2PgorICAgIDxkaXYgc3R5bGU9ImxlZnQ6MTAwcHg7IHRvcDoyMDBweDsgd2lk
dGg6MTAwcHg7IGhlaWdodDoxMDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6eWVs
bG93OyI+PC9kaXY+CisgICAgPGRpdiBzdHlsZT0ibGVmdDoyMDBweDsgdG9wOjIwMHB4OyB3aWR0
aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpncmVl
bjsiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnBuZyBi
L0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1ib3R0b20taW4tcGFnZS1zY2Fs
ZS1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzI1ZjVhZjUwZWU2MjZmNjQyNjhjZGJkOTZlMDU5
YjcyYzQyMWExYgpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjg1MAp6Y21lQVNATj8ob2xIeWB1
VkJxIWlhMHl+eVV7K3ZZVjJhPmkwKlopPWheaGxBJUBXcyRsSGBvazxtfT9vVG41dSoKejwwS09e
THJaZ3VCbnlpfkxxajdvTCZGcCFHWG8yZzZpYyZZJWNRd3d1Vk5TJnhWQ3RASUVHWnJkMyltXj1L
JXUmCno9N1RYRnw4PWM+YiEyQUQ8b1hoMEBfWV9FTCZMZTx3aFJtcCUkVD90NngyMl9GZUhzS01n
dzZxQzUrflIoT2ZXXgp6M3IwPlp4Y2BsVDtmOUl2WlEmZ2cqaGchXihOQDR7USlyLWEhOGhpS1Vo
SkZ2PmYoVHtVPEwrSFMzajNeUDY8cl8KREViN3FFCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtYm90dG9tLWlu
LXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVk
LXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YjEz
Nzg5MTc5MWZlOTY5MjdhZDc4ZTY0YjBhYWQ3YmRlZDA4YmRjCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxl
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvcmVwYWludC9maXhlZC1yaWdodC1ib3R0b20taW4tcGFnZS1zY2FsZS5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWJvdHRvbS1pbi1wYWdlLXNjYWxlLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTJmYzQ1YTdjYTczMzgxZWUzYzkzNGVkNjE4YzdlMjE5YzcxYmQ3YgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1ib3R0
b20taW4tcGFnZS1zY2FsZS5odG1sCkBAIC0wLDAgKzEsNDMgQEAKKzxodG1sPgorPGhlYWQ+Cisg
ICAgPHN0eWxlPgorICAgICAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKKyAgICAgICAgICAgIHdp
ZHRoOiAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDBweDsKKyAgICAgICAgfQorICAgIDwvc3R5
bGU+CisgICAgPHNjcmlwdD4KKyAgICAgIHdpbmRvdy5lbmFibGVQaXhlbFRlc3RpbmcgPSB0cnVl
OworICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgd2luZG93LmludGVybmFs
cy5zZXRTaG91bGRMYXlvdXRGaXhlZEVsZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKGRvY3VtZW50LCB0
cnVlKTsKKworICAgICAgZnVuY3Rpb24gc2Nyb2xsKCkgeworICAgICAgICAgIHdpbmRvdy5zY3Jv
bGxUbygxMDAsMTAwKTsKKyAgICAgIH0KKworICAgICAgZnVuY3Rpb24gc2NhbGVXaXRoRXZlbnRT
ZW5kZXIoKSB7CisgICAgICAgICAgdmFyIHNjYWxlRmFjdG9yID0gMi4wOworICAgICAgICAgIHZh
ciBzY2FsZU9mZnNldCA9IDA7CisgICAgICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewor
ICAgICAgICAgICAgIGV2ZW50U2VuZGVyLnNjYWxlUGFnZUJ5KHNjYWxlRmFjdG9yLCBzY2FsZU9m
ZnNldCwgc2NhbGVPZmZzZXQpOworICAgICAgICAgIH0KKyAgICAgIH0KKworICAgICAgZnVuY3Rp
b24gdGVzdCgpIHsKKyAgICAgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLndpZHRoID0gKGRvY3Vt
ZW50LmJvZHkuY2xpZW50V2lkdGggKyAxMDApICsgInB4IjsKKyAgICAgICAgICBzY2FsZVdpdGhF
dmVudFNlbmRlcigpOworICAgICAgICAgIHNjcm9sbCgpOworICAgICAgfQorICAgIDwvc2NyaXB0
PgorICAgIDxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHkgc3R5bGU9ImhlaWdodDogMjAwMHB4OyB3aWR0aDogMjAwMHB4
OyBtYXJnaW46MHB4OyIgb25sb2FkPSJ0ZXN0KCk7Ij4KKyAgICA8ZGl2IHN0eWxlPSJwb3NpdGlv
bjogZml4ZWQ7IGJvdHRvbTogMTAwcHg7IHJpZ2h0OiAxMDBweDsgei1pbmRleDogMSI+CisgICAg
ICAgIDxkaXYgc3R5bGU9ImxlZnQ6MDsgdG9wOjA7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7
IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmJsYWNrOyI+PC9kaXY+CisgICAgICAgIDxk
aXYgc3R5bGU9ImxlZnQ6MTAwcHg7IHRvcDowOyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBw
b3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpncmVlbjsiPjwvZGl2PgorCisgICAgICAgIDxk
aXYgc3R5bGU9ImxlZnQ6MHB4OyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAwcHg7
IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOnllbGxvdzsiPjwvZGl2PgorICAgICAgICA8
ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4OyB0b3A6MTAwcHg7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6MTAw
cHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOmJsdWU7Ij48L2Rpdj4KKyAgICA8L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVwYWlu
dC9maXhlZC1yaWdodC1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL2Zh
c3QvcmVwYWludC9maXhlZC1yaWdodC1pbi1wYWdlLXNjYWxlLWV4cGVjdGVkLnBuZwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wMWUzZTBlZDBjMTE5NDg5MGRkM2QxZGZlOTQ1ZmEzMDMxNjEzNGIwCkdJVCBiaW5hcnkg
cGF0Y2gKbGl0ZXJhbCAyODcxCnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEweX55VXsrdllWMmE+aTAq
Wik9aF5obEElQFdzJGxIYG9rPG19P29UIXpGSAp6bFRAUSpMekFTR1dSbiFMbCUmKztSNnwyVUJl
U0lCbHc/YTJeVy0xWG1LWlpJYUdtc1lhU1ctTF5ZK0ZAVU1FSyQKelIhNSh3MFhzN3Z2VE0oXkky
LWJUaUN6MnJ5TH1BKjQlUiZYIWprdkooelpjKnVSbEtuITthbnFPYml7SUl0JmRuCnpNajR9bEZx
I3RSbTx3KmFkSDBmK3E1c1VCeEM2YXF2U1BPS3FxJVVqQz5rdz4yUHpqcHZMaSRJJEFoQ2E7JUlB
TgpodmBJOGp4IV5DdS12KXR8KlBuZyYwPTklMUpZREA8KTtUM0swUlRRek16I098CgpsaXRlcmFs
IDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4
ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3Jl
cGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OGIxMzc4OTE3OTFmZTk2OTI3YWQ3OGU2NGIwYWFkN2JkZWQwOGJkYwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvcmVwYWludC9maXhlZC1yaWdodC1pbi1wYWdlLXNjYWxlLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
cmVwYWludC9maXhlZC1yaWdodC1pbi1wYWdlLXNjYWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkwMzgz
ZTg2OWI2MGVkZGNhMDgyMjU4MjFmMWYwZmY0NTA0NTBhNmUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3JlcGFpbnQvZml4ZWQtcmlnaHQtaW4tcGFnZS1zY2FsZS5odG1sCkBA
IC0wLDAgKzEsNTYgQEAKKzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICA6Oi13
ZWJraXQtc2Nyb2xsYmFyIHsKKyAgICAgICAgICAgIHdpZHRoOiAwcHg7CisgICAgICAgICAgICBo
ZWlnaHQ6IDBweDsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdD4KKyAgICAg
IHdpbmRvdy5lbmFibGVQaXhlbFRlc3RpbmcgPSB0cnVlOworICAgICAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCisgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXRTaG91bGRMYXlvdXRGaXhlZEVs
ZW1lbnRzUmVsYXRpdmVUb0ZyYW1lKGRvY3VtZW50LCB0cnVlKTsKKworICAgICAgZnVuY3Rpb24g
c2Nyb2xsKCkgeworICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygxMDAsMTAwKTsKKyAgICAgIH0K
KworICAgICAgZnVuY3Rpb24gc2NhbGVXaXRoRXZlbnRTZW5kZXIoKSB7CisgICAgICAgICAgdmFy
IHNjYWxlRmFjdG9yID0gMi4wOworICAgICAgICAgIHZhciBzY2FsZU9mZnNldCA9IDA7CisgICAg
ICAgICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICAgICAgIGV2ZW50U2VuZGVy
LnNjYWxlUGFnZUJ5KHNjYWxlRmFjdG9yLCBzY2FsZU9mZnNldCwgc2NhbGVPZmZzZXQpOworICAg
ICAgICAgIH0KKyAgICAgIH0KKworICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAgICAgICBz
Y2FsZVdpdGhFdmVudFNlbmRlcigpOworICAgICAgICAgIHNjcm9sbCgpOworICAgICAgfQorICAg
IDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgc3R5bGU9ImhlaWdodDoyMDAwcHg7IHdpZHRo
OiAyMDAwcHg7IG1hcmdpbjowcHg7IiBvbmxvYWQ9InRlc3QoKTsiPgorICAgIDxkaXYgc3R5bGU9
InBvc2l0aW9uOiBmaXhlZDsgdG9wOiAtMTAwcHg7IHJpZ2h0OiAxMDBweDsgei1pbmRleDogMSI+
CisgICAgICAgIDxkaXYgc3R5bGU9ImxlZnQ6MDsgdG9wOjA7IHdpZHRoOjEwMHB4OyBoZWlnaHQ6
MTAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyBiYWNrZ3JvdW5kOnllbGxvdzsiPjwvZGl2PgorICAg
ICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjEwMHB4OyB0b3A6MDsgd2lkdGg6MTAwcHg7IGhlaWdodDox
MDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6Z3JlZW47Ij48L2Rpdj4KKworICAg
ICAgICA8ZGl2IHN0eWxlPSJsZWZ0OjA7IHRvcDoxMDBweDsgd2lkdGg6MTAwcHg7IGhlaWdodDox
MDBweDsgcG9zaXRpb246YWJzb2x1dGU7IGJhY2tncm91bmQ6YmxhY2s7Ij48L2Rpdj4KKyAgICAg
ICAgPGRpdiBzdHlsZT0ibGVmdDoxMDBweDsgdG9wOjEwMHB4OyB3aWR0aDoxMDBweDsgaGVpZ2h0
OjEwMHB4OyBwb3NpdGlvbjphYnNvbHV0ZTsgYmFja2dyb3VuZDpibHVlOyI+PC9kaXY+CisgICAg
PC9kaXY+CisgICAgPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB3aWR0aDozMDBweDsg
aGVpZ2h0OjMwMHB4OyB0b3A6IDBweDsgbGVmdDogMzAwcHgiIGlkPSJncmlkIj4KKyAgICAgICAg
PGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dy
b3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lk
dGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dyb3VuZDpncmVlbjsiPjwvZGl2PgorICAgICAg
ICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBiYWNr
Z3JvdW5kOmJsdWU7Ij48L2Rpdj4KKworICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3
aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBiYWNrZ3JvdW5kOiBncmVlbjsiPjwvZGl2PgorICAg
ICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4OyBi
YWNrZ3JvdW5kOmJsdWU7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsg
d2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dyb3VuZDp5ZWxsb3c7Ij48L2Rpdj4KKwor
ICAgICAgICA8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyB3aWR0aDoxMDBweDsgaGVpZ2h0OjEwMHB4
OyBiYWNrZ3JvdW5kOmJsdWU7Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVm
dDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBweDsgYmFja2dyb3VuZDp5ZWxsb3c7Ij48L2Rpdj4K
KyAgICAgICAgPGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgd2lkdGg6MTAwcHg7IGhlaWdodDoxMDBw
eDsgYmFja2dyb3VuZDpncmVlbjsiPjwvZGl2PgorICAgIDwvZGl2PgorICAgIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIv
Q2hhbmdlTG9nCmluZGV4IGI1ZjMxNDZhNTc2OTEzZTFmNGUzZWQ4ZmM3Y2E1NThiNTI4MjYxZWQu
LmViOGU3OTZmNjBkMGUxMjI0MjFlMjI5OGI3OTg3ODFkYjQyNTE2ODUgMTAwNjQ0Ci0tLSBhL0No
YW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMS0xMi0wMiAgRmFk
eSBTYW11ZWwgIDxmc2FtdWVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBXaGVuIHBhZ2Ugc2Nh
bGluZyBpcyBpbiB1c2UgcG9zaXRpb246Zml4ZWQgaGFzIGluY29ycmVjdCByZXN1bHRzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODYxNworCisgICAg
ICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICAqIFNvdXJjZS9hdXRvdG9v
bHMvc3ltYm9scy5maWx0ZXI6CisKIDIwMTEtMTItMDIgIEFsZWphbmRybyBHLiBDYXN0cm8gIDxh
bGV4QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gRml4IFRleHR1cmVNYXBwZXJDYWlybyBj
b21waWxhdGlvbgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>