<?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>100059</bug_id>
          
          <creation_ts>2012-10-22 18:27:05 -0700</creation_ts>
          <short_desc>custom CSS cursors ignore hotspot values embedded in CUR files</short_desc>
          <delta_ts>2012-11-16 22:51:22 -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>CSS</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>WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>100550</dependson>
    
    <dependson>101501</dependson>
          <blocked>102398</blocked>
    
    <blocked>101811</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Rick Byers">rbyers</reporter>
          <assigned_to name="Rick Byers">rbyers</assigned_to>
          <cc>abarth</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>dglazkov</cc>
    
    <cc>jamesr</cc>
    
    <cc>kbr</cc>
    
    <cc>pkasting</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>748160</commentid>
    <comment_count>0</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-10-22 18:27:05 -0700</bug_when>
    <thetext>http://www.w3.org/TR/css3-ui/#cursor says this about specified hotspot values:

&quot;If the values are unspecified, then the intrinsic hotspot defined inside the image resource itself is used. If both the values are unspecific and the referenced cursor has no defined hotspot, the effect is as if a value of &quot;0 0&quot; were specified.&quot;

WebKit has code for this in platform/Cursor.cpp  in determineHotSpot, but the chromium port (ChromiumCursor.cpp) never calls this code.  Instead, when a hotspot isn&apos;t explicitly specified, we just get a value of (-1,-1) which in WebCursor::ClampHotspot gets clamped to (0,0).

On other ports (eg. those using LAZY_NATIVE_CURSOR) we fall back to determineHotSpot whenever the hotspot value is out-of-range, including the -1,-1 we get when there is none provided.  We should either do the same on chromium, or we should plumb a &apos;has hotspot&apos; flag through.  See bug 99530 for some related discussion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748581</commentid>
    <comment_count>1</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-10-23 06:40:32 -0700</bug_when>
    <thetext>We currently have no infrastructure to allow us to test any fix for this, but I plan on adding some in bug 99493 so I&apos;ll block on that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762176</commentid>
    <comment_count>2</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-08 14:27:06 -0800</bug_when>
    <thetext>It looks like the existing code in WebKit for this is actually incomplete - ImageSource::getHotSpot always returns false, and ICOImageDecoder assumes that CUR and ICO files are exactly the same format (when in fact their directory structure is slightly different - see http://en.wikipedia.org/wiki/ICO_(file_format) ).

Regardless this seems easy to fix.  I&apos;ve got it working for chromium at least, but I&apos;ll wait for bug 100550 and bug 101501 to land first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762181</commentid>
    <comment_count>3</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-08 14:30:42 -0800</bug_when>
    <thetext>I verified that Safari on Mac does handle CUR file hotspots correctly.  My guess is that on some platforms, the CUR file is being handed directly to the OS.  On chromium we decode the file in webkit and send a raw bitmap to the browser process (due to chromium&apos;s standboxing model).

Anyway technically this fix isn&apos;t specific to chromium, but I&apos;m not sure exactly which ports will benefit from it other than chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762990</commentid>
    <comment_count>4</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-09 07:19:36 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; I verified that Safari on Mac does handle CUR file hotspots correctly.  My guess is that on some platforms, the CUR file is being handed directly to the OS.  

Oh, I see now - mac has it&apos;s own implementation of ImageSource in platform/graphics/cg/ImageSourceCG.cpp, and in that implementation getHotSpot is implemented.  In all other ports we use  the base platform/graphics/ImageSource.cpp where it is stubbed out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762992</commentid>
    <comment_count>5</comment_count>
      <attachid>173302</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-09 07:22:51 -0800</bug_when>
    <thetext>Created attachment 173302
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>762993</commentid>
    <comment_count>6</comment_count>
      <attachid>173303</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-09 07:23:35 -0800</bug_when>
    <thetext>Created attachment 173303
Combined with fixes for 100550 and 101501 for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763004</commentid>
    <comment_count>7</comment_count>
      <attachid>173303</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-09 07:32:10 -0800</bug_when>
    <thetext>Comment on attachment 173303
Combined with fixes for 100550 and 101501 for EWS

Attachment 173303 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/14766982</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763007</commentid>
    <comment_count>8</comment_count>
      <attachid>173303</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-09 07:33:34 -0800</bug_when>
    <thetext>Comment on attachment 173303
Combined with fixes for 100550 and 101501 for EWS

Attachment 173303 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/14788169</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763015</commentid>
    <comment_count>9</comment_count>
      <attachid>173309</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-09 07:44:35 -0800</bug_when>
    <thetext>Created attachment 173309
Combined with fixes for 100550 and 101501 for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763156</commentid>
    <comment_count>10</comment_count>
      <attachid>173309</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-11-09 10:47:40 -0800</bug_when>
    <thetext>Comment on attachment 173309
Combined with fixes for 100550 and 101501 for EWS

Attachment 173309 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14786252

New failing tests:
fast/events/mouse-cursor.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763454</commentid>
    <comment_count>11</comment_count>
      <attachid>173400</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-09 16:42:17 -0800</bug_when>
    <thetext>Created attachment 173400
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763456</commentid>
    <comment_count>12</comment_count>
      <attachid>173402</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-09 16:44:31 -0800</bug_when>
    <thetext>Created attachment 173402
Combined with fixes for 100550 and 101501 for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763462</commentid>
    <comment_count>13</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-09 16:50:46 -0800</bug_when>
    <thetext>Peter, It looks like you&apos;ve done a lot of work on the image decoders, can you please review this for me?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763471</commentid>
    <comment_count>14</comment_count>
      <attachid>173405</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-09 17:03:39 -0800</bug_when>
    <thetext>Created attachment 173405
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763472</commentid>
    <comment_count>15</comment_count>
      <attachid>173406</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-09 17:04:07 -0800</bug_when>
    <thetext>Created attachment 173406
Combined with fixes for 100550 and 101501 for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763492</commentid>
    <comment_count>16</comment_count>
      <attachid>173406</attachid>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2012-11-09 17:33:51 -0800</bug_when>
    <thetext>Comment on attachment 173406
Combined with fixes for 100550 and 101501 for EWS

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

I&apos;m not a WebKit reviewer, so I can&apos;t r+ this.

In general the image decoder bits seem reasonable.

&gt; Source/WebCore/platform/image-decoders/ImageDecoder.h:382
&gt; +        virtual bool hotSpotAtIndex(size_t, IntPoint&amp;) const { return false; }

It doesn&apos;t seem like anyone external ever calls hotSpotAtIndex().  Why add it?

&gt; Source/WebCore/platform/image-decoders/ico/ICOImageDecoder.cpp:139
&gt; +    // in processDirectoryEntries.

More critical is being consistent with the frame that gets chosen when someone says &quot;use this .cur file&quot;.  Can we instead refer to whatever code does that (which presumably takes the first frame of the image)?

&gt; Source/WebCore/platform/image-decoders/ico/ICOImageDecoder.cpp:309
&gt; +        entry.m_hotSpotY = readUint16(6);

What about a hotspot coordinate outside the image bounds?  Should we clamp to the image bounds (as Mozilla&apos;s docs claim to do, see https://developer.mozilla.org/en-US/docs/CSS/Using_URL_values_for_the_cursor_property ; I haven&apos;t checked their source code)?

&gt; Source/WebCore/platform/image-decoders/ico/ICOImageDecoder.h:78
&gt; +            uint16_t m_hotSpotY;

Can we just make a single IntPoint m_hotSpot member?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763569</commentid>
    <comment_count>17</comment_count>
      <attachid>173406</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-09 20:26:29 -0800</bug_when>
    <thetext>Comment on attachment 173406
Combined with fixes for 100550 and 101501 for EWS

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

&gt;&gt; Source/WebCore/platform/image-decoders/ImageDecoder.h:382
&gt;&gt; +        virtual bool hotSpotAtIndex(size_t, IntPoint&amp;) const { return false; }
&gt; 
&gt; It doesn&apos;t seem like anyone external ever calls hotSpotAtIndex().  Why add it?

I was just trying to be consistent with all the other functions which provide both frame-by-frame access and a default frame-unspecified access.  But I guess I shouldn&apos;t bother until it&apos;s actually needed.

&gt;&gt; Source/WebCore/platform/image-decoders/ico/ICOImageDecoder.cpp:139
&gt;&gt; +    // in processDirectoryEntries.
&gt; 
&gt; More critical is being consistent with the frame that gets chosen when someone says &quot;use this .cur file&quot;.  Can we instead refer to whatever code does that (which presumably takes the first frame of the image)?

Yep, I was just being lazy in not tracking that down.  Done.

&gt;&gt; Source/WebCore/platform/image-decoders/ico/ICOImageDecoder.cpp:309
&gt;&gt; +        entry.m_hotSpotY = readUint16(6);
&gt; 
&gt; What about a hotspot coordinate outside the image bounds?  Should we clamp to the image bounds (as Mozilla&apos;s docs claim to do, see https://developer.mozilla.org/en-US/docs/CSS/Using_URL_values_for_the_cursor_property ; I haven&apos;t checked their source code)?

The only caller of this code ultimately accepts only values inside the image bounds (and falls back to 0,0 otherwise).  See determineHotSpot in WebCore/platform/Cursor.cpp.  I guess I should add a test case for that though - thanks.

&gt;&gt; Source/WebCore/platform/image-decoders/ico/ICOImageDecoder.h:78
&gt;&gt; +            uint16_t m_hotSpotY;
&gt; 
&gt; Can we just make a single IntPoint m_hotSpot member?

Done, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763570</commentid>
    <comment_count>18</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-09 20:29:24 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; &gt; What about a hotspot coordinate outside the image bounds?  Should we clamp to the image bounds (as Mozilla&apos;s docs claim to do, see https://developer.mozilla.org/en-US/docs/CSS/Using_URL_values_for_the_cursor_property ; I haven&apos;t checked their source code)?
&gt; 
&gt; The only caller of this code ultimately accepts only values inside the image bounds (and falls back to 0,0 otherwise).  See determineHotSpot in WebCore/platform/Cursor.cpp.  I guess I should add a test case for that though - thanks.

Nevermind, I do already have this test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763576</commentid>
    <comment_count>19</comment_count>
      <attachid>173431</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-09 20:44:27 -0800</bug_when>
    <thetext>Created attachment 173431
Tweaks based on pkastings review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763577</commentid>
    <comment_count>20</comment_count>
      <attachid>173432</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-09 20:45:56 -0800</bug_when>
    <thetext>Created attachment 173432
Combined with fix for 101501</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763578</commentid>
    <comment_count>21</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-09 20:48:18 -0800</bug_when>
    <thetext>Kenneth, it looks like you&apos;ve reviewed a bunch of the image decoder changes in the past.  Can you please review this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763619</commentid>
    <comment_count>22</comment_count>
      <attachid>173431</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-10 00:42:14 -0800</bug_when>
    <thetext>Comment on attachment 173431
Tweaks based on pkastings review

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

New failing tests:
inspector-protocol/debugger-terminate-dedicated-worker-while-paused.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763630</commentid>
    <comment_count>23</comment_count>
      <attachid>173443</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-10 04:33:55 -0800</bug_when>
    <thetext>Created attachment 173443
merge with ToT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763680</commentid>
    <comment_count>24</comment_count>
      <attachid>173406</attachid>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2012-11-10 10:48:20 -0800</bug_when>
    <thetext>Comment on attachment 173406
Combined with fixes for 100550 and 101501 for EWS

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

&gt;&gt;&gt; Source/WebCore/platform/image-decoders/ico/ICOImageDecoder.cpp:309
&gt;&gt;&gt; +        entry.m_hotSpotY = readUint16(6);
&gt;&gt; 
&gt;&gt; What about a hotspot coordinate outside the image bounds?  Should we clamp to the image bounds (as Mozilla&apos;s docs claim to do, see https://developer.mozilla.org/en-US/docs/CSS/Using_URL_values_for_the_cursor_property ; I haven&apos;t checked their source code)?
&gt; 
&gt; The only caller of this code ultimately accepts only values inside the image bounds (and falls back to 0,0 otherwise).  See determineHotSpot in WebCore/platform/Cursor.cpp.  I guess I should add a test case for that though - thanks.

That sounds as if Mozilla will clamp to the nearest point on the boundary, whereas we&apos;ll clamp to the origin.  I don&apos;t think we should differ.  It would be nice to check their behavior as well as the Windows native behavior and try and be maximally consistent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763698</commentid>
    <comment_count>25</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-10 12:20:17 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; (From update of attachment 173406 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=173406&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/platform/image-decoders/ico/ICOImageDecoder.cpp:309
&gt; &gt;&gt;&gt; +        entry.m_hotSpotY = readUint16(6);
&gt; &gt;&gt; 
&gt; &gt;&gt; What about a hotspot coordinate outside the image bounds?  Should we clamp to the image bounds (as Mozilla&apos;s docs claim to do, see https://developer.mozilla.org/en-US/docs/CSS/Using_URL_values_for_the_cursor_property ; I haven&apos;t checked their source code)?
&gt; &gt; 
&gt; &gt; The only caller of this code ultimately accepts only values inside the image bounds (and falls back to 0,0 otherwise).  See determineHotSpot in WebCore/platform/Cursor.cpp.  I guess I should add a test case for that though - thanks.
&gt; 
&gt; That sounds as if Mozilla will clamp to the nearest point on the boundary, whereas we&apos;ll clamp to the origin.  I don&apos;t think we should differ.  It would be nice to check their behavior as well as the Windows native behavior and try and be maximally consistent.

Sure, I&apos;ll look into that.  What about consistency with user-specified (via CSS) hotspots?  WebKit has ignored (rather than clamped) out-of-range hot-spots for awhile - not sure I should be changing WebKit behavior in order to be consistent with Firefox. 

There&apos;s also code in chrome that clamps hotspots to the image boundary (WebCursor::ClampHotspot), but now that we&apos;re using this codepath (as of bug 101501) we may be ignoring out-of-range hotspots first (so in an effort to unify webkit code, I may have regressed chrome here).

Anyway, I&apos;ll collect some more details on this so we can make a better informed decision.  Perhaps it should be a separate bug though since it&apos;s potentially changing existing (as opposed to this new) behavior?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763742</commentid>
    <comment_count>26</comment_count>
      <attachid>173406</attachid>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2012-11-10 15:02:52 -0800</bug_when>
    <thetext>Comment on attachment 173406
Combined with fixes for 100550 and 101501 for EWS

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

&gt;&gt;&gt;&gt;&gt; Source/WebCore/platform/image-decoders/ico/ICOImageDecoder.cpp:309
&gt;&gt;&gt;&gt;&gt; +        entry.m_hotSpotY = readUint16(6);
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; What about a hotspot coordinate outside the image bounds?  Should we clamp to the image bounds (as Mozilla&apos;s docs claim to do, see https://developer.mozilla.org/en-US/docs/CSS/Using_URL_values_for_the_cursor_property ; I haven&apos;t checked their source code)?
&gt;&gt;&gt; 
&gt;&gt;&gt; The only caller of this code ultimately accepts only values inside the image bounds (and falls back to 0,0 otherwise).  See determineHotSpot in WebCore/platform/Cursor.cpp.  I guess I should add a test case for that though - thanks.
&gt;&gt; 
&gt;&gt; That sounds as if Mozilla will clamp to the nearest point on the boundary, whereas we&apos;ll clamp to the origin.  I don&apos;t think we should differ.  It would be nice to check their behavior as well as the Windows native behavior and try and be maximally consistent.
&gt; 
&gt; Sure, I&apos;ll look into that.  What about consistency with user-specified (via CSS) hotspots?  WebKit has ignored (rather than clamped) out-of-range hot-spots for awhile - not sure I should be changing WebKit behavior in order to be consistent with Firefox. 
&gt; 
&gt; There&apos;s also code in chrome that clamps hotspots to the image boundary (WebCursor::ClampHotspot), but now that we&apos;re using this codepath (as of bug 101501) we may be ignoring out-of-range hotspots first (so in an effort to unify webkit code, I may have regressed chrome here).
&gt; 
&gt; Anyway, I&apos;ll collect some more details on this so we can make a better informed decision.  Perhaps it should be a separate bug though since it&apos;s potentially changing existing (as opposed to this new) behavior?

Let&apos;s figure out what other people do first and that will tell us whether we need to also change our existing behavior.  Then we can file new bugs as needed.

If it came down to &quot;consistency with everyone else versus consistency with past WebKit behavior&quot; I&apos;d definitely pick the first one, but I don&apos;t know that it will.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764642</commentid>
    <comment_count>27</comment_count>
      <attachid>173443</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-11-12 12:01:50 -0800</bug_when>
    <thetext>Comment on attachment 173443
merge with ToT

This looks good overall thanks to Peter&apos;s careful review, except for the issue of clamping the hotspot within the icon image. Despite the fact that the spec http://www.w3.org/TR/css3-ui/#cursor0 doesn&apos;t state what happens if the hotspot is outside the cursor&apos;s image, I think clamping it is the safer behavior to make the behavior of badly formed cursors less surprising. CC&apos;ing abarth for an opinion of whether my concern is unfounded; if so, I&apos;m willing to r+ this as is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764719</commentid>
    <comment_count>28</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-12 13:06:08 -0800</bug_when>
    <thetext>&gt; I think clamping it is the safer behavior to make the behavior of badly formed cursors less surprising.

That makes sense, but it&apos;s not that big an issue.  The web page can always just hide the cursor and draw a fake cursor using an image element or whatever.

Another thing to consider if transparent regions of the cursor image.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>764736</commentid>
    <comment_count>29</comment_count>
      <attachid>173443</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-11-12 13:18:01 -0800</bug_when>
    <thetext>Comment on attachment 173443
merge with ToT

Adam, thanks for your input. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768162</commentid>
    <comment_count>30</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-15 09:15:11 -0800</bug_when>
    <thetext>I&apos;ve filed bug 102398 to track changing the hotspot clamping behavior, and included a bunch of data there on current browser behavior (and how I&apos;ve changed it).  I propose we land this patch as is (once bug 100550 lands again), and deal with this question in the other bug (this bug doesn&apos;t really make things much/any worse, if anything bug 101501 did and should be the main point of contention).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768275</commentid>
    <comment_count>31</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2012-11-15 10:40:33 -0800</bug_when>
    <thetext>(In reply to comment #30)
&gt; I&apos;ve filed bug 102398 to track changing the hotspot clamping behavior, and included a bunch of data there on current browser behavior (and how I&apos;ve changed it).  I propose we land this patch as is (once bug 100550 lands again), and deal with this question in the other bug (this bug doesn&apos;t really make things much/any worse, if anything bug 101501 did and should be the main point of contention).

Please mark the patch cq? (Details link) if you would like it submitted to the commit queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768380</commentid>
    <comment_count>32</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-15 12:19:20 -0800</bug_when>
    <thetext>(In reply to comment #31)
&gt; (In reply to comment #30)
&gt; &gt; I&apos;ve filed bug 102398 to track changing the hotspot clamping behavior, and included a bunch of data there on current browser behavior (and how I&apos;ve changed it).  I propose we land this patch as is (once bug 100550 lands again), and deal with this question in the other bug (this bug doesn&apos;t really make things much/any worse, if anything bug 101501 did and should be the main point of contention).
&gt; 
&gt; Please mark the patch cq? (Details link) if you would like it submitted to the commit queue.

Yep, I was just waiting to verify that the change for bug 100550 (on which this depends) has passed all the builders.  Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768417</commentid>
    <comment_count>33</comment_count>
      <attachid>174504</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2012-11-15 13:07:24 -0800</bug_when>
    <thetext>Created attachment 174504
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768587</commentid>
    <comment_count>34</comment_count>
      <attachid>174504</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-15 15:46:38 -0800</bug_when>
    <thetext>Comment on attachment 174504
Patch for landing

Rejecting attachment 174504 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
ICOImageDecoder.cpp
	M	Source/WebCore/platform/image-decoders/ico/ICOImageDecoder.h
Merge conflict during commit: Conflict at &apos;/trunk/Source/WebCore/ChangeLog&apos; at /usr/lib/git-core/git-svn line 570


Failed to run &quot;[u&apos;git&apos;, u&apos;svn&apos;, u&apos;dcommit&apos;]&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue
eue/Source/WebKit/chromium&apos;

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...
Total errors found: 0 in 1 files

Full output: http://queues.webkit.org/results/14834920</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768805</commentid>
    <comment_count>35</comment_count>
      <attachid>174504</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-15 18:28:34 -0800</bug_when>
    <thetext>Comment on attachment 174504
Patch for landing

Clearing flags on attachment: 174504

Committed r134874: &lt;http://trac.webkit.org/changeset/134874&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>768806</commentid>
    <comment_count>36</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-15 18:28:41 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173302</attachid>
            <date>2012-11-09 07:22:51 -0800</date>
            <delta_ts>2012-11-09 07:23:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100059-20121109102058.patch</filename>
            <type>text/plain</type>
            <size>13946</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MDU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDEwY2M2MmJkZjczZGRm
NGFlM2NkOWM1NTFmZTk2N2UzYzliYmFlZS4uYzkxNTI3ODE3ZGNkZmZmZWQ2OGQzY2I0OWY3ZmU1
NzIxYjBhMzNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTExLTA5ICBSaWNr
IEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBjdXN0b20gQ1NTIGN1cnNv
cnMgaWdub3JlIGhvdHNwb3QgdmFsdWVzIGVtYmVkZGVkIGluIENVUiBmaWxlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMDU5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHJlYWRpbmcgdGhlIGhv
dHNwb3QgdmFsdWVzIHRvIHRoZSBJQ09JbWFnZURlY29kZXIgKGZvciBDVVIgZmlsZXMgb25seSks
CisgICAgICAgIGFuZCBwbHVtYiBpdCB0aHJvdWdoIHNvIHRoYXQgdGhlIGV4aXN0aW5nIGNhbGxz
IHRvIEltYWdlU291cmNlOjpnZXRIb3RTcG90CisgICAgICAgIGFjdHVhbGx5IHJldHVybiB0aGUg
aG90IHNwb3QgdmFsdWUgd2hlbiB0aGVyZSBpcyBvbmUuCisKKyAgICAgICAgVGVzdDogZmFzdC9l
dmVudHMvbW91c2UtY3Vyc29yLmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0lt
YWdlU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlU291cmNlOjpnZXRIb3RTcG90
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVj
b2Rlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZWZlcnJlZEltYWdlRGVjb2Rlcjo6aG90U3Bv
dCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkRlZmVycmVkSW1hZ2VE
ZWNvZGVyOjpob3RTcG90QXRJbmRleCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuaDoKKyAgICAgICAgKERlZmVycmVkSW1hZ2VEZWNv
ZGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkltYWdlRGVjb2Rlcjo6aG90U3BvdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZURlY29kZXI6OmhvdFNwb3RBdEluZGV4KToKKyAgICAgICAgKEltYWdlRGVjb2Rl
cik6CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6OmhvdFNwb3QpOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6OmhvdFNw
b3RBdEluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OklDT0ltYWdlRGVjb2Rlcjo6cHJvY2Vzc0Rp
cmVjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6OnJlYWREaXJlY3Rv
cnlFbnRyeSk6CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdl
RGVjb2Rlci5oOgorICAgICAgICAoSUNPSW1hZ2VEZWNvZGVyKToKKyAgICAgICAgKEljb25EaXJl
Y3RvcnlFbnRyeSk6CisKIDIwMTItMTEtMDggIFJpY2sgQnllcnMgIDxyYnllcnNAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIE1vdmUgY2hyb21pdW0gdG8gVVNFKExBWllfTkFUSVZFX0NVUlNPUikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmNwcApp
bmRleCA1Njg1N2E0M2Y1NDg0MjNlOGJkOTJkMzIyZDk2ZDgxMGMyYmI2NzlhLi4wZjQ2ZDcwM2M3
YThjNmRiZGJkMmQ4OTY1MDIxMWMzNDNlZjBiMGNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3BwCkBAIC0xMjEsOSArMTIxLDkgQEAgSW50
U2l6ZSBJbWFnZVNvdXJjZTo6ZnJhbWVTaXplQXRJbmRleChzaXplX3QgaW5kZXgsIFJlc3BlY3RJ
bWFnZU9yaWVudGF0aW9uRW51bQogICAgIHJldHVybiBzaXplOwogfQogCi1ib29sIEltYWdlU291
cmNlOjpnZXRIb3RTcG90KEludFBvaW50JikgY29uc3QKK2Jvb2wgSW1hZ2VTb3VyY2U6OmdldEhv
dFNwb3QoSW50UG9pbnQmIGhvdFNwb3QpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGZhbHNlOworICAg
IHJldHVybiBtX2RlY29kZXIgPyBtX2RlY29kZXItPmhvdFNwb3QoaG90U3BvdCkgOiBmYWxzZTsK
IH0KIAogc2l6ZV90IEltYWdlU291cmNlOjpieXRlc0RlY29kZWRUb0RldGVybWluZVByb3BlcnRp
ZXMoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuY3BwCmluZGV4IDg2M2Nh
MTI3ZTAyOWRiMjZlMjBlZDhlYzY3NDdmZjk1NzFmMjE3YmQuLjFkOGJiODIzYjBiNzEzZDdjZDIw
M2E0N2RhNTljNmJhYWU1NWU1YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0RlZmVycmVkSW1hZ2VEZWNvZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVjb2Rlci5j
cHAKQEAgLTE1OCw0ICsxNTgsMTQgQEAgSW1hZ2VPcmllbnRhdGlvbiBEZWZlcnJlZEltYWdlRGVj
b2Rlcjo6b3JpZW50YXRpb24oKSBjb25zdAogICAgIHJldHVybiBtX2FjdHVhbERlY29kZXIgPyBt
X2FjdHVhbERlY29kZXItPm9yaWVudGF0aW9uKCkgOiBtX29yaWVudGF0aW9uOwogfQogCitib29s
IERlZmVycmVkSW1hZ2VEZWNvZGVyOjpob3RTcG90KEludFBvaW50JiBob3RTcG90KSBjb25zdAor
eworICAgIHJldHVybiBtX2FjdHVhbERlY29kZXIgPyBtX2FjdHVhbERlY29kZXItPmhvdFNwb3Qo
aG90U3BvdCkgOiBmYWxzZTsKK30KKworYm9vbCBEZWZlcnJlZEltYWdlRGVjb2Rlcjo6aG90U3Bv
dEF0SW5kZXgoc2l6ZV90IGluZGV4LCBJbnRQb2ludCYgaG90U3BvdCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbV9hY3R1YWxEZWNvZGVyID8gbV9hY3R1YWxEZWNvZGVyLT5ob3RTcG90QXRJbmRleChp
bmRleCwgaG90U3BvdCkgOiBmYWxzZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRGVmZXJy
ZWRJbWFnZURlY29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0RlZmVycmVkSW1hZ2VEZWNvZGVyLmgKaW5kZXggNjBkOGNjMTA4ODk5NjI5NmJjYzBkNTA1
MjhiYTM2MzAxM2Q0Y2Q4OC4uNzFjZmE1NzcwMjY0Y2Q0MTVjOTIwYjcwNjIwZmJhOWQ1YTYzZmRj
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
RGVmZXJyZWRJbWFnZURlY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVjb2Rlci5oCkBAIC01Nyw2ICs1Nyw4IEBAIHB1
YmxpYzoKICAgICBib29sIGZyYW1lSGFzQWxwaGFBdEluZGV4KHNpemVfdCBpbmRleCkgY29uc3Q7
CiAgICAgdW5zaWduZWQgZnJhbWVCeXRlc0F0SW5kZXgoc2l6ZV90IGluZGV4KSBjb25zdDsKICAg
ICBJbWFnZU9yaWVudGF0aW9uIG9yaWVudGF0aW9uKCkgY29uc3Q7CisgICAgYm9vbCBob3RTcG90
KEludFBvaW50JikgY29uc3Q7CisgICAgYm9vbCBob3RTcG90QXRJbmRleChzaXplX3QsIEludFBv
aW50JikgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgRGVmZXJyZWRJbWFnZURlY29k
ZXIoSW1hZ2VEZWNvZGVyKiBhY3R1YWxEZWNvZGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKaW5kZXggOGMwZGIzOTI5
ZjU0MjA4YjQ3ZmEzNjM4MjczNmJmYjMxNTY0N2Y1Ny4uMWNmN2ZhODM5NWMyNmFlMDVkZGZmMzE1
NGM3YjZmMGNhYTIzZjUwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1h
Z2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKQEAgLTM3OCw2ICszNzgsOSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1l
bW9yeU9iamVjdEluZm8qKSBjb25zdDsKIAorICAgICAgICB2aXJ0dWFsIGJvb2wgaG90U3BvdChJ
bnRQb2ludCYpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgICAgIHZpcnR1YWwgYm9vbCBo
b3RTcG90QXRJbmRleChzaXplX3QsIEludFBvaW50JikgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
KwogICAgIHByb3RlY3RlZDoKICAgICAgICAgdm9pZCBwcmVwYXJlU2NhbGVEYXRhSWZOZWNlc3Nh
cnkoKTsKICAgICAgICAgaW50IHVwcGVyQm91bmRTY2FsZWRYKGludCBvcmlnWCwgaW50IHNlYXJj
aFN0YXJ0ID0gMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1k
ZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuY3BwCmluZGV4IDJkYjNlY2Y2Y2U3
ZmNjNzMyY2UyNDM1ZGRlNGRjOTc5OGM2ODYzMDguLjIyOTNiYTY0NmQ4OTYyYjVjMmM1NjViN2Nj
NTg0NjQyYTU3ZDBjMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdl
LWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuY3BwCkBAIC0xMzMsNiAr
MTMzLDI0IEBAIGJvb2wgSUNPSW1hZ2VEZWNvZGVyOjpzZXRGYWlsZWQoKQogICAgIHJldHVybiBJ
bWFnZURlY29kZXI6OnNldEZhaWxlZCgpOwogfQogCitib29sIElDT0ltYWdlRGVjb2Rlcjo6aG90
U3BvdChJbnRQb2ludCYgaG90U3BvdCkgY29uc3QKK3sKKyAgICAvLyBXaGVuIHVuc3BlY2lmaWVk
LCB1c2UgdGhlIGxhcmdlc3QgZnJhbWUgdG8gYmUgY29uc2lzdGVudCB3aXRoIHRoZSBzaXplCisg
ICAgLy8gaW4gcHJvY2Vzc0RpcmVjdG9yeUVudHJpZXMuCisgICAgcmV0dXJuIGhvdFNwb3RBdElu
ZGV4KDAsIGhvdFNwb3QpOworfQorCitib29sIElDT0ltYWdlRGVjb2Rlcjo6aG90U3BvdEF0SW5k
ZXgoc2l6ZV90IGluZGV4LCBJbnRQb2ludCYgaG90U3BvdCkgY29uc3QKK3sKKyAgICBpZiAoaW5k
ZXggPCAwIHx8IGluZGV4ID49IG1fZGlyRW50cmllcy5zaXplKCkgfHwgbV9maWxlVHlwZSAhPSBD
VVJTT1IpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGNvbnN0IEljb25EaXJlY3RvcnlF
bnRyeSYgZGlyRW50cnkgPSBtX2RpckVudHJpZXNbaW5kZXhdOworICAgIGhvdFNwb3QgPSBJbnRQ
b2ludChkaXJFbnRyeS5tX2hvdFNwb3RYLCBkaXJFbnRyeS5tX2hvdFNwb3RZKTsKKyAgICByZXR1
cm4gdHJ1ZTsKK30KKworCiAvLyBzdGF0aWMKIGJvb2wgSUNPSW1hZ2VEZWNvZGVyOjpjb21wYXJl
RW50cmllcyhjb25zdCBJY29uRGlyZWN0b3J5RW50cnkmIGEsIGNvbnN0IEljb25EaXJlY3RvcnlF
bnRyeSYgYikKIHsKQEAgLTIzMiwxMyArMjUwLDExIEBAIGJvb2wgSUNPSW1hZ2VEZWNvZGVyOjpw
cm9jZXNzRGlyZWN0b3J5KCkKIAogICAgIC8vIFNlZSBpZiB0aGlzIGlzIGFuIGljb24gZmlsZXR5
cGUgd2UgdW5kZXJzdGFuZCwgYW5kIG1ha2Ugc3VyZSB3ZSBoYXZlIGF0CiAgICAgLy8gbGVhc3Qg
b25lIGVudHJ5IGluIHRoZSBkaXJlY3RvcnkuCi0gICAgZW51bSB7Ci0gICAgICAgIElDT04gPSAx
LAotICAgICAgICBDVVJTT1IgPSAyLAotICAgIH07CiAgICAgaWYgKCgoZmlsZVR5cGUgIT0gSUNP
TikgJiYgKGZpbGVUeXBlICE9IENVUlNPUikpIHx8ICghaWRDb3VudCkpCiAgICAgICAgIHJldHVy
biBzZXRGYWlsZWQoKTsKIAorICAgIG1fZmlsZVR5cGUgPSBzdGF0aWNfY2FzdDxGaWxlVHlwZT4o
ZmlsZVR5cGUpOworCiAgICAgLy8gRW5sYXJnZSBtZW1iZXIgdmVjdG9ycyB0byBob2xkIGFsbCB0
aGUgZW50cmllcy4KICAgICBtX2RpckVudHJpZXMucmVzaXplKGlkQ291bnQpOwogICAgIG1fYm1w
UmVhZGVycy5yZXNpemUoaWRDb3VudCk7CkBAIC0yODcsNyArMzAzLDE1IEBAIElDT0ltYWdlRGVj
b2Rlcjo6SWNvbkRpcmVjdG9yeUVudHJ5IElDT0ltYWdlRGVjb2Rlcjo6cmVhZERpcmVjdG9yeUVu
dHJ5KCkKICAgICAgICAgaGVpZ2h0ID0gMjU2OwogICAgIEljb25EaXJlY3RvcnlFbnRyeSBlbnRy
eTsKICAgICBlbnRyeS5tX3NpemUgPSBJbnRTaXplKHdpZHRoLCBoZWlnaHQpOwotICAgIGVudHJ5
Lm1fYml0Q291bnQgPSByZWFkVWludDE2KDYpOworICAgIGlmIChtX2ZpbGVUeXBlID09IENVUlNP
UikgeworICAgICAgICBlbnRyeS5tX2JpdENvdW50ID0gMDsKKyAgICAgICAgZW50cnkubV9ob3RT
cG90WCA9IHJlYWRVaW50MTYoNCk7CisgICAgICAgIGVudHJ5Lm1faG90U3BvdFkgPSByZWFkVWlu
dDE2KDYpOworICAgIH0gZWxzZSB7CisgICAgICAgIGVudHJ5Lm1fYml0Q291bnQgPSByZWFkVWlu
dDE2KDYpOworICAgICAgICBlbnRyeS5tX2hvdFNwb3RYID0gMDsKKyAgICAgICAgZW50cnkubV9o
b3RTcG90WSA9IDA7CisgICAgfQogICAgIGVudHJ5Lm1faW1hZ2VPZmZzZXQgPSByZWFkVWludDMy
KDEyKTsKIAogICAgIC8vIFNvbWUgaWNvbnMgZG9uJ3QgaGF2ZSBhIGJpdCBkZXB0aCwgb25seSBh
IGNvbG9yIGNvdW50LiAgQ29udmVydCB0aGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuaAppbmRleCAz
MWQ5MWM4MTkwMmZiMGQyYzY5ZGMwYTM2MThjYmRjNTRiZjZiNzEzLi4wZGViYWQwMTc3YWE0OTMx
N2IyZDlhZjI0NTM3ZTA1NjkwZDkxNmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5oCkBAIC01
Niw2ICs1Niw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gYXZvaWQgYWNjZXNz
aW5nIGRlbGV0ZWQgbWVtb3J5LCBlc3BlY2lhbGx5IHdoZW4gY2FsbGluZyB0aGlzIGZyb20KICAg
ICAgICAgLy8gaW5zaWRlIEJNUEltYWdlUmVhZGVyIQogICAgICAgICB2aXJ0dWFsIGJvb2wgc2V0
RmFpbGVkKCk7CisgICAgICAgIHZpcnR1YWwgYm9vbCBob3RTcG90KEludFBvaW50JikgY29uc3Q7
CisgICAgICAgIHZpcnR1YWwgYm9vbCBob3RTcG90QXRJbmRleChzaXplX3QsIEludFBvaW50Jikg
Y29uc3Q7CiAKICAgICBwcml2YXRlOgogICAgICAgICBlbnVtIEltYWdlVHlwZSB7CkBAIC02NCw5
ICs2NiwxNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBQTkcsCiAgICAgICAg
IH07CiAKKyAgICAgICAgZW51bSBGaWxlVHlwZSB7CisgICAgICAgICAgICBJQ09OID0gMSwKKyAg
ICAgICAgICAgIENVUlNPUiA9IDIsCisgICAgICAgIH07CisKICAgICAgICAgc3RydWN0IEljb25E
aXJlY3RvcnlFbnRyeSB7CiAgICAgICAgICAgICBJbnRTaXplIG1fc2l6ZTsKICAgICAgICAgICAg
IHVpbnQxNl90IG1fYml0Q291bnQ7CisgICAgICAgICAgICB1aW50MTZfdCBtX2hvdFNwb3RYOwor
ICAgICAgICAgICAgdWludDE2X3QgbV9ob3RTcG90WTsKICAgICAgICAgICAgIHVpbnQzMl90IG1f
aW1hZ2VPZmZzZXQ7CiAgICAgICAgIH07CiAKQEAgLTEyMiw2ICsxMzEsOSBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIC8vIEJNUEltYWdlUmVhZGVyIHRha2VzIG92ZXIgdGhpcyB3aWxs
IG5vdCBiZSB1cGRhdGVkIGZ1cnRoZXIuCiAgICAgICAgIHNpemVfdCBtX2RlY29kZWRPZmZzZXQ7
CiAKKyAgICAgICAgLy8gV2hpY2ggdHlwZSBvZiBmaWxlIChJQ08vQ1VSKSB0aGlzIGlzLgorICAg
ICAgICBGaWxlVHlwZSBtX2ZpbGVUeXBlOworCiAgICAgICAgIC8vIFRoZSBoZWFkZXJzIGZvciB0
aGUgSUNPLgogICAgICAgICB0eXBlZGVmIFZlY3RvcjxJY29uRGlyZWN0b3J5RW50cnk+IEljb25E
aXJlY3RvcnlFbnRyaWVzOwogICAgICAgICBJY29uRGlyZWN0b3J5RW50cmllcyBtX2RpckVudHJp
ZXM7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggMmFkY2U0Y2ZkYmNkMWMxYWYyZjlhNWFiOWY1ZjI2MzNlNDg4MzFlNy4uNDFl
NzI5NjAwM2I0NzEyNDI4NzE4MjE4ZWEyNmI2ODFhODliYWUxNiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIw
IEBACiAyMDEyLTExLTA5ICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KIAorICAg
ICAgICBjdXN0b20gQ1NTIGN1cnNvcnMgaWdub3JlIGhvdHNwb3QgdmFsdWVzIGVtYmVkZGVkIGlu
IENVUiBmaWxlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTAwMDU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIG1vdXNlIGN1cnNvciB0ZXN0IGNhc2VzIHRoYXQgdXNlIENVUiBmaWxlcyB0aGF0IGhh
dmUgZW1iZWRkZWQgaG90c3BvdCB2YWx1ZXMuCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9tb3Vz
ZS1jdXJzb3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNv
ci5odG1sOgorICAgICAgICAqIGZhc3QvZXZlbnRzL3Jlc291cmNlcy9ncmVlbmJveC0zZnJhbWVz
LmN1cjogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LWhv
dHNwb3QzNS00LmN1cjogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dy
ZWVuYm94LWhvdHNwb3Q1LTQuY3VyOiBBZGRlZC4KKworMjAxMi0xMS0wOSAgUmljayBCeWVycyAg
PHJieWVyc0BjaHJvbWl1bS5vcmc+CisKICAgICAgICAgTm8gdGVzdHMgZm9yIGNoYW5naW5nIG1v
dXNlIGN1cnNvcnMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwMDU1MAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1j
dXJzb3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29y
LWV4cGVjdGVkLnR4dAppbmRleCA4YzE1YTkxYjQ0MzAzODZiZTMxODE1MDQxYTNiMDljNmE5YWZi
MzlmLi44MmU1ZDYwNGQ2YWZlNDIzODY2MDc1ODQ5MmU4ZTFmYWU4MDdjZTcxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1leHBlY3RlZC50eHQKQEAgLTQ1
LDYgKzQ1LDE4IEBAIEN1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3BvdD0wLDAgaW1h
Z2U9MjV4MjUKIFRFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBvdXRzaWRl
IGltYWdlIGF0ICgzMCwzMCkKIEN1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3BvdD0w
LDAgaW1hZ2U9MjV4MjUKIAorVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGltcGxpY2l0IGhvdCBzcG90
IGF0ICg1LDQpCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9NSw0IGltYWdl
PTI1eDI1CisKK1RFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMjAs
MTApIG92ZXJyaWRpbmcgaW1wbGljaXQgaG90IHNwb3QKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVD
dXN0b20gaG90U3BvdD0yMCwxMCBpbWFnZT0yNXgyNQorCitURVNUIENBU0U6IEltYWdlIHdpdGgg
aW1wbGljaXQgaG90IHNwb3Qgb3V0c2lkZSBpbWFnZSBhdCAoMzUsNCkKK0N1cnNvciBJbmZvOiB0
eXBlPVR5cGVDdXN0b20gaG90U3BvdD0wLDAgaW1hZ2U9MjV4MjUKKworVEVTVCBDQVNFOiBDVVIg
ZmlsZSB3aXRoIDMgZnJhbWVzLCBsYXJnZXN0IG9mIHdoaWNoICgybmQgZnJhbWUpIGlzIDIweDEy
IHdpdGggaG90c3BvdCBhdCAoMTgsMTEpCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhv
dFNwb3Q9MTgsMTEgaW1hZ2U9MjB4MTIKKwogVEVTVCBDQVNFOiBPdmVyIGxhcmdlIGltYWdlIHdp
dGggZmFsbGJhY2sgdG8gcG9pbnRlcgogQ3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQgaG90U3Bv
dD0wLDAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29y
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbAppbmRleCBi
YTQ4Y2IzNjIwNzk0N2ZjMTVhY2ZjYjQ3YmVhNDlhM2Q0M2Y2N2RhLi5lMjJkYjJmNGM0ZjBjN2Fm
YWMzOTg3NDRjZGZkMWM0Mjg3MjQ0N2U0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9tb3VzZS1jdXJzb3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3Vz
ZS1jdXJzb3IuaHRtbApAQCAtMjgsNiArMjgsMTAgQEAKICAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1
cmwocmVzb3VyY2VzL2dyZWVuYm94LnBuZykgMjAgMTAsIHBvaW50ZXInPkltYWdlIHdpdGggZXhw
bGljaXQgaG90IHNwb3QgYXQgKDIwLDEwKTwvZGl2PgogICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVy
bChyZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSAtMSAtMSwgcG9pbnRlcic+SW1hZ2Ugd2l0aCBleHBs
aWNpdCBob3Qgc3BvdCBhdCAoLTEsLTEpPC9kaXY+CiAgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJs
KHJlc291cmNlcy9ncmVlbmJveC5wbmcpIDMwIDMwLCBwb2ludGVyJz5JbWFnZSB3aXRoIGV4cGxp
Y2l0IGhvdCBzcG90IG91dHNpZGUgaW1hZ2UgYXQgKDMwLDMwKTwvZGl2PgorICA8ZGl2IHN0eWxl
PSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gtaG90c3BvdDUtNC5jdXIpLCBwb2ludGVy
Jz5JbWFnZSB3aXRoIGltcGxpY2l0IGhvdCBzcG90IGF0ICg1LDQpPC9kaXY+CisgIDxkaXYgc3R5
bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC1ob3RzcG90NS00LmN1cikgMjAgMTAs
IHBvaW50ZXInPkltYWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKDIwLDEwKSBvdmVycmlk
aW5nIGltcGxpY2l0IGhvdCBzcG90PC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJl
c291cmNlcy9ncmVlbmJveC1ob3RzcG90MzUtNC5jdXIpLCBwb2ludGVyJz5JbWFnZSB3aXRoIGlt
cGxpY2l0IGhvdCBzcG90IG91dHNpZGUgaW1hZ2UgYXQgKDM1LDQpPC9kaXY+CisgIDxkaXYgc3R5
bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC0zZnJhbWVzLmN1ciksIHBvaW50ZXIn
PkNVUiBmaWxlIHdpdGggMyBmcmFtZXMsIGxhcmdlc3Qgb2Ygd2hpY2ggKDJuZCBmcmFtZSkgaXMg
MjB4MTIgd2l0aCBob3RzcG90IGF0ICgxOCwxMSk8L2Rpdj4KICAgPGRpdiBzdHlsZT0nY3Vyc29y
OiB1cmwocmVzb3VyY2VzL29ubG9hZC1pbWFnZS5wbmcpLCBwb2ludGVyJz5PdmVyIGxhcmdlIGlt
YWdlIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcjwvZGl2PgogICA8ZGl2IHN0eWxlPSdjdXJzb3I6
IHVybCgjZ3JlZW5ib3gpLCBwb2ludGVyJz5TVkcgY3Vyc29yPC9kaXY+CiAgIDxkaXYgc3R5bGU9
J2N1cnNvcjogdXJsKG1vdXNlLWN1cnNvci5odG1sKSwgdXJsKHVua25vd24tc2NoZW1lOmN1cnNv
ci5wbmcpLCBwb2ludGVyJz5NdWx0aXBsZSBpbnZhbGlkIGN1cnNvcnMgd2l0aCBmYWxsYmFjayB0
byBwb2ludGVyPC9kaXY+CkBAIC05Nyw2ICsxMDEsOSBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKIC8vIFdpdGhvdXQgdGhpcyB3ZSBjYW4gZ2V0IG51bGwgaW1hZ2VzIGluIHRoZSBjdXJzb3Jz
IC0gZWcuIG5vIGtub3duIHNpemUuCiB2YXIgaW1hZ2VzVG9Mb2FkID0gWwogICAgIHsgdXJsOiAn
cmVzb3VyY2VzL2dyZWVuYm94LnBuZycgfSwKKyAgICB7IHVybDogJ3Jlc291cmNlcy9ncmVlbmJv
eC1ob3RzcG90NS00LmN1cicgfSwKKyAgICB7IHVybDogJ3Jlc291cmNlcy9ncmVlbmJveC1ob3Rz
cG90MzUtNC5jdXInIH0sCisgICAgeyB1cmw6ICdyZXNvdXJjZXMvZ3JlZW5ib3gtM2ZyYW1lcy5j
dXInIH0sCiAgICAgeyB1cmw6ICdkb2VzbnRleGlzdC5wbmcnLCBlcnJvcjogdHJ1ZSB9LAogICAg
IHsgdXJsOiAndW5rbm93bi1zY2hlbWU6Y3Vyc29yLnBuZycsIGVycm9yOiB0cnVlIH0sCiAgICAg
eyB1cmw6ICdtb3VzZS1jdXJzb3IuaHRtbCcsIGVycm9yOiB0cnVlIH0sCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvZ3JlZW5ib3gtM2ZyYW1lcy5jdXIgYi9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvZ3JlZW5ib3gtM2ZyYW1lcy5jdXIKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMmIwOWQ2NDE2Y2I1Nzc3YzNlMDdlNDZhZmYwYTRjNDMyZjRhZWQ0NgpHSVQgYmlu
YXJ5IHBhdGNoCmxpdGVyYWwgMzkwCnpjbVpRelV9OWlxOzlfTkI7OXl7M2grdHF+RmF1JXs5d3I3
TTI1eUU0S3oxSnheUnFLQ0BHYEo1V0J9UTZqMF9BSwp6SyQ7N1I4NXd7QUtwK0FwQXB7ZVF7VTY0
X0xmZDFDZnlAUCZCTFQhUGF9QUpgNW9Jb3RkUTJ1aXJWdCh4a2I2S24KVl88JEpaOXZMTHtCKUpD
P09ofiNCT2FOPU8yVGNGfgoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3QzNS00LmN1ciBi
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy9ncmVlbmJveC1ob3RzcG90MzUtNC5j
dXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOTIyMjZjNTFlMjQ1ZDNmODQ2OGFmNjgyODlkNTMxN2ZkZTY5MmVkMApH
SVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjcwCnpjbVpRelV9OWlva2QkTyVQLWI5Wl9gJCV5QU9e
JTVLcjlLd01uS0Y2Z2RtVXRDTHNoOWpRdDxScGJLM35ZZysmfApDdjspS2QKCmxpdGVyYWwgMApI
Y21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNl
cy9ncmVlbmJveC1ob3RzcG90NS00LmN1ciBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291
cmNlcy9ncmVlbmJveC1ob3RzcG90NS00LmN1cgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YWU3YzljMjcwNjk4YzNl
YjVmZTY5MDYwNjc1YThjN2JlZjc5NDA2CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAyNzAKemNt
WlF6VX05aW9rZCRPJVV9YSFvX2AkJXlBT14lNUtyOUt3TW5LRjZnZG1VdENMc2g5alF0PFJwYksz
fllnKyZxCkNKT2ljeAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173303</attachid>
            <date>2012-11-09 07:23:35 -0800</date>
            <delta_ts>2012-11-09 07:44:32 -0800</delta_ts>
            <desc>Combined with fixes for 100550 and 101501 for EWS</desc>
            <filename>bug-100059-20121109102142.patch</filename>
            <type>text/plain</type>
            <size>62373</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MDU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDE0Y2JlNzM1MzBhZjlk
ODM1ZTk2MzJjYWY1NDE4MTU2MTVhZWJiZS4uYzkxNTI3ODE3ZGNkZmZmZWQ2OGQzY2I0OWY3ZmU1
NzIxYjBhMzNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkyIEBACisyMDEyLTExLTA5ICBSaWNr
IEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBjdXN0b20gQ1NTIGN1cnNv
cnMgaWdub3JlIGhvdHNwb3QgdmFsdWVzIGVtYmVkZGVkIGluIENVUiBmaWxlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMDU5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHJlYWRpbmcgdGhlIGhv
dHNwb3QgdmFsdWVzIHRvIHRoZSBJQ09JbWFnZURlY29kZXIgKGZvciBDVVIgZmlsZXMgb25seSks
CisgICAgICAgIGFuZCBwbHVtYiBpdCB0aHJvdWdoIHNvIHRoYXQgdGhlIGV4aXN0aW5nIGNhbGxz
IHRvIEltYWdlU291cmNlOjpnZXRIb3RTcG90CisgICAgICAgIGFjdHVhbGx5IHJldHVybiB0aGUg
aG90IHNwb3QgdmFsdWUgd2hlbiB0aGVyZSBpcyBvbmUuCisKKyAgICAgICAgVGVzdDogZmFzdC9l
dmVudHMvbW91c2UtY3Vyc29yLmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0lt
YWdlU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlU291cmNlOjpnZXRIb3RTcG90
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVj
b2Rlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZWZlcnJlZEltYWdlRGVjb2Rlcjo6aG90U3Bv
dCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkRlZmVycmVkSW1hZ2VE
ZWNvZGVyOjpob3RTcG90QXRJbmRleCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuaDoKKyAgICAgICAgKERlZmVycmVkSW1hZ2VEZWNv
ZGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkltYWdlRGVjb2Rlcjo6aG90U3BvdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZURlY29kZXI6OmhvdFNwb3RBdEluZGV4KToKKyAgICAgICAgKEltYWdlRGVjb2Rl
cik6CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6OmhvdFNwb3QpOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6OmhvdFNw
b3RBdEluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OklDT0ltYWdlRGVjb2Rlcjo6cHJvY2Vzc0Rp
cmVjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6OnJlYWREaXJlY3Rv
cnlFbnRyeSk6CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdl
RGVjb2Rlci5oOgorICAgICAgICAoSUNPSW1hZ2VEZWNvZGVyKToKKyAgICAgICAgKEljb25EaXJl
Y3RvcnlFbnRyeSk6CisKKzIwMTItMTEtMDggIFJpY2sgQnllcnMgIDxyYnllcnNAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIE1vdmUgY2hyb21pdW0gdG8gVVNFKExBWllfTkFUSVZFX0NVUlNPUikK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTUwMQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgc2lt
cGxpZmllcyBjdXJzb3IgaGFuZGxpbmcgaW4gY2hyb21pdW0gYW5kIHVuaWZpZXMgaXQgd2l0aCBv
dGhlcgorICAgICAgICBwb3J0cyBmb3IgZWFzaWVyIGNvZGUgc2hhcmluZyBhbmQgdGVzdGluZyBi
eSBtb3ZpbmcgdG8gdGhlCisgICAgICAgIFVTRV9MQVpZX0NVUlNPUiBtb2RlbCBhbmQgZWxpbWlu
YXRpbmcgUGxhdGZvcm1DdXJzb3IgZW50aXJlbHkuCisKKyAgICAgICAgUGxhdGZvcm1DdXJzb3Ig
YWRkcyBubyB2YWx1ZSBpbiBjaHJvbWl1bSBzaW5jZSB0aGUgc2FuZGJveGluZyBtb2RlbAorICAg
ICAgICByZXF1aXJlcyB0aGUgY3Vyc29yIGluZm9ybWF0aW9uIGJlIG1hcnNoYWxsZWQgdG8gdGhl
IGJyb3dzZXIgcHJvY2VzcworICAgICAgICBiZWZvcmUgYmVpbmcgdHVybmVkIGludG8gYSByZWFs
IE9TIGN1cnNvci4KKworICAgICAgICBUaGlzIGFsc28gY2hhbmdlcyBob3RzcG90IGJlaGF2aW9y
IGluIGNocm9taXVtIHRvIG1hdGNoIHRoYXQgb2Ygb3RoZXIKKyAgICAgICAgcG9ydHMgKHJlYWQg
aG90c3BvdCBmcm9tIGN1ciBmaWxlcywgZXRjLikuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogcGxhdGZvcm0vQ3Vy
c29yLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9D
dXJzb3JDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDdXJzb3I6OkN1cnNvcik6Cisg
ICAgICAgIChXZWJDb3JlOjpDdXJzb3I6Om9wZXJhdG9yPSk6CisgICAgICAgIChXZWJDb3JlOjpD
dXJzb3I6On5DdXJzb3IpOgorICAgICAgICAoV2ViQ29yZTo6Q3Vyc29yOjplbnN1cmVQbGF0Zm9y
bUN1cnNvcik6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1DdXJzb3IuaDog
UmVtb3ZlZC4KKworMjAxMi0xMS0wOSAgUmljayBCeWVycyAgPHJieWVyc0BjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgTm8gdGVzdHMgZm9yIGNoYW5naW5nIG1vdXNlIGN1cnNvcnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDU1MAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBpbmZyYXN0cnVjdHVy
ZSB0byBrZWVwIHRyYWNrIG9mIHRoZSBsYXN0IHNldCBtb3VzZSBjdXJzb3IsCisgICAgICAgIGFu
ZCB0aGVuIHRvIHF1ZXJ5IGl0IGZyb20gRHVtcFJlbmRlclRyZWUuCisKKyAgICAgICAgVGVzdDog
ZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWwKKworICAgICAgICAqIFdlYkNvcmUuZXhwLmlu
OiBBZGQgQ3Vyc29yIGNvcHkgY3RvciBleHBvcnQKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlTW92ZUV2
ZW50KTogS2VlcCB0cmFjayBvZiBsYXN0IHNldCBtb3VzZSBjdXJzb3IKKyAgICAgICAgKiBwYWdl
L0V2ZW50SGFuZGxlci5oOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpjdXJyZW50
TW91c2VDdXJzb3IpOiBOZXcgZ2V0dGVyIGZvciBsYXN0IHNldCBtb3VzZSBjdXJzb3IKKyAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjdXJzb3JUeXBl
VG9TdHJpbmcpOiBIZWxwZXIgdG8gY29udmVydCBjdXJzb3IgdHlwZSB0byBlbnVtCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6Z2V0Q3VycmVudEN1cnNv
ckluZm8pOiBOZXcgZnVuY3Rpb24gdG8gcmV0dXJuIGEgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIGxh
c3Qgc2V0IG1vdXNlIGN1cnNvcgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6IERlY2xh
cmUgZ2V0Q3VycmVudEN1cnNvckluZm8KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6
IERlY2xhcmUgZ2V0Q3VycmVudEN1cnNvckluZm8KKwogMjAxMi0xMS0wNyAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiB3cm9u
ZyBvdXRwdXQgZm9yIGVtcHR5IG9iamVjdCB7fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRl
eCBkNTg2ZmJhNDMyMjM5MmRlY2JiNzUzY2M0ZGMwYjRhMDAxNDgxYWRiLi43MTZjNGJlZjNhODlm
NjYxMDdiMzhiMjljYjRlYTA0N2JjNWNhM2RlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpA
QCAtMzE1LDYgKzMxNSwyMCBAQAogCiAgICAgICAgICogc3JjL0xpbmtIaWdobGlnaHQuY3BwOgog
CisyMDEyLTExLTA4ICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBNb3ZlIGNocm9taXVtIHRvIFVTRShMQVpZX05BVElWRV9DVVJTT1IpCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE1MDEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgY29udmVyc2lvbiBmcm9t
IEN1cnNvciB0byBXZWJDdXJzb3JJbmZvIHRvIHJlbW92ZSB0aGUKKyAgICAgICAgaW50ZXJtZWRp
YXRlIChhbmQgdXNlbGVzcykgc3RlcCBvZiBQbGF0Zm9ybUN1cnNvci4KKworICAgICAgICAqIHNy
Yy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcDoKKyAgICAgICAgKiBzcmMvV2ViQ3Vyc29ySW5mby5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYkN1cnNvckluZm86OldlYkN1cnNvckluZm8pOgorCiAy
MDEyLTExLTA3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkLiAgUm9sbGVkIERFUFMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjUwMTE2ODRk
MGYxOWQ5YTVkMzFlYzk3YTBjOTRjMmZjZWM5NzljMi4uYTE2NjkxMGU4ZWYzYWM2NzNlM2JmMjhl
ZDM4YzI1NzAwOWRjNWRiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTExLTA5
ICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBObyB0ZXN0cyBm
b3IgY2hhbmdpbmcgbW91c2UgY3Vyc29ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIG5lY2Vzc2FyeSBleHBvcnRzIGZvciBJbnRlcm5hbHM6Omdl
dEN1cnJlbnRDdXJzb3JJbmZvCisKKyAgICAgICAgKiB3aW4vV2ViS2l0Mi5kZWY6CisgICAgICAg
ICogd2luL1dlYktpdDJDRkxpdGUuZGVmOgorCiAyMDEyLTExLTA5ICBZYWVsIEFoYXJvbiAgPHlh
ZWwuYWhhcm9uQGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXVtXSzJdW0FDXSBSYW5kb20gY3Jh
c2hlcyBpbiBsYXlvdXQgdGVzdHMgb24gdGhlIGJvdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCBh
NWYyMzY3YWIxMmU1NTRkNDhmOGFjMTQ1NTJhZGEwY2U2M2ZhMWNhLi5mMjFkZDAyMDNjYmJiZTM5
ZWFhYTQ4ZjBhMDBhYTUwNjhkYzNjZGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTcxMSw2
ICsxNzExLDcgQEAgX19aTjdXZWJDb3JlNFBhZ2UyMXdpbmRvd1NjcmVlbkRpZENoYW5nZUVqCiBf
X1pON1dlYkNvcmU1RnJhbWU5bm9kZUltYWdlRVBOU180Tm9kZUUKIF9fWk43V2ViQ29yZTZDdXJz
b3I4ZnJvbVR5cGVFTlMwXzRUeXBlRQogX19aTjdXZWJDb3JlNkN1cnNvckMxRVBOU181SW1hZ2VF
UktOU184SW50UG9pbnRFCitfX1pON1dlYkNvcmU2Q3Vyc29yQzFFUktTMF8KIF9fWk43V2ViQ29y
ZTZDdXJzb3JEMUV2CiBfX1pON1dlYkNvcmU2Q3Vyc29yYVNFUktTMF8KIF9fWk43V2ViQ29yZTZF
ZGl0b3IxM2NhbkRIVE1MUGFzdGVFdgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGM0NjU2MDY5NTBmY2U2
Y2Q2ZDE2NDU5ZmMyYjA5ZGJjZTlhMGQ4NmMuLjJiM2VmZWJhODlmYWQwZmVlMDRjODMwZjE2ZDY3
N2QxNGQxNzMwMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTQ2OTEsNyArNDY5MSw2IEBACiAgICAg
ICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vTUlNRVR5cGVSZWdpc3RyeUNocm9taXVtLmNwcCcs
CiAgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vUGFnZUNsaWVudENocm9taXVtLmgnLAog
ICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1Bhc3RlYm9hcmRDaHJvbWl1bS5jcHAnLAot
ICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtQ3Vyc29yLmgnLAogICAgICAg
ICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudENocm9taXVtLmNw
cCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TY3JlZW5DaHJvbWl1
bS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5o
JywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCAwN2UxYjczYWI5ODIzMmIw
ZjgzNDQxOTY0NWYzOGQ1Yzk2NWZjNGFhLi43ZDc4ODgzZjQ2MjQyMjc1MDQ2YzIwNTM2MDQ3YmYy
MmNiMDZlNWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0xNTI2LDcg
KzE1MjYsNyBAQCBPcHRpb25hbEN1cnNvciBFdmVudEhhbmRsZXI6OnNlbGVjdEN1cnNvcihjb25z
dCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiBldgogICAgIH0KICAgICByZXR1cm4gcG9p
bnRlckN1cnNvcigpOwogfQotICAgIAorCiBzdGF0aWMgTGF5b3V0UG9pbnQgZG9jdW1lbnRQb2lu
dEZvcldpbmRvd1BvaW50KEZyYW1lKiBmcmFtZSwgY29uc3QgSW50UG9pbnQmIHdpbmRvd1BvaW50
KQogewogICAgIEZyYW1lVmlldyogdmlldyA9IGZyYW1lLT52aWV3KCk7CkBAIC0xODYyLDcgKzE4
NjIsOCBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VNb3ZlRXZlbnQoY29uc3QgUGxh
dGZvcm1Nb3VzZUV2ZW50JiBtb3VzZUV2ZW50LCBIaQogICAgICAgICBpZiAoRnJhbWVWaWV3KiB2
aWV3ID0gbV9mcmFtZS0+dmlldygpKSB7CiAgICAgICAgICAgICBPcHRpb25hbEN1cnNvciBvcHRp
b25hbEN1cnNvciA9IHNlbGVjdEN1cnNvcihtZXYsIHNjcm9sbGJhcik7CiAgICAgICAgICAgICBp
ZiAob3B0aW9uYWxDdXJzb3IuaXNDdXJzb3JDaGFuZ2UoKSkKLSAgICAgICAgICAgICAgICB2aWV3
LT5zZXRDdXJzb3Iob3B0aW9uYWxDdXJzb3IuY3Vyc29yKCkpOworICAgICAgICAgICAgICAgIG1f
Y3VycmVudE1vdXNlQ3Vyc29yID0gb3B0aW9uYWxDdXJzb3IuY3Vyc29yKCk7CisgICAgICAgICAg
ICAgICAgdmlldy0+c2V0Q3Vyc29yKG1fY3VycmVudE1vdXNlQ3Vyc29yKTsKICAgICAgICAgfQog
ICAgIH0KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IDkzYzZiMTBlYjk4
NzQ0ZmJmNTY3YTgxOWYyODE2OGYzMjJhMWMxYzguLjJjMWI1MWVhMTg4MmM5NjBlZmE4NDFiYzMz
MTlhNDFlY2Y2ZmY5YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtMjYsNiAr
MjYsNyBAQAogI2lmbmRlZiBFdmVudEhhbmRsZXJfaAogI2RlZmluZSBFdmVudEhhbmRsZXJfaAog
CisjaW5jbHVkZSAiQ3Vyc29yLmgiCiAjaW5jbHVkZSAiRHJhZ0FjdGlvbnMuaCIKICNpbmNsdWRl
ICJEcmFnU3RhdGUuaCIKICNpbmNsdWRlICJGb2N1c0RpcmVjdGlvbi5oIgpAQCAtMTQxLDYgKzE0
Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlc2l6ZUxheWVyRGVzdHJveWVkKCk7CiAKICAgICBJ
bnRQb2ludCBjdXJyZW50TW91c2VQb3NpdGlvbigpIGNvbnN0OworICAgIEN1cnNvciBjdXJyZW50
TW91c2VDdXJzb3IoKSBjb25zdCB7IHJldHVybiBtX2N1cnJlbnRNb3VzZUN1cnNvcjsgfQogCiAg
ICAgc3RhdGljIEZyYW1lKiBzdWJmcmFtZUZvclRhcmdldE5vZGUoTm9kZSopOwogICAgIHN0YXRp
YyBGcmFtZSogc3ViZnJhbWVGb3JIaXRUZXN0UmVzdWx0KGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0
VGVzdFJlc3VsdHMmKTsKQEAgLTQyMCw2ICs0MjIsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxO
b2RlPiBtX2xhc3ROb2RlVW5kZXJNb3VzZTsKICAgICBSZWZQdHI8RnJhbWU+IG1fbGFzdE1vdXNl
TW92ZUV2ZW50U3ViZnJhbWU7CiAgICAgUmVmUHRyPFNjcm9sbGJhcj4gbV9sYXN0U2Nyb2xsYmFy
VW5kZXJNb3VzZTsKKyAgICBDdXJzb3IgbV9jdXJyZW50TW91c2VDdXJzb3I7CiAKICAgICBpbnQg
bV9jbGlja0NvdW50OwogICAgIFJlZlB0cjxOb2RlPiBtX2NsaWNrTm9kZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0N1cnNvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vQ3Vyc29yLmgKaW5kZXggM2IwZTVmZWFjZWQ0OTJkMzFkNWFlMTVmNzE4ZGQ0NGI4YTdmNTI3
NS4uZGVmMWU1NDY2YTUwMjczYzU0MWEyMDc0OGU5MWU1NjkzNTY3ZGI5ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ3Vyc29yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vQ3Vyc29yLmgKQEAgLTQxLDggKzQxLDYgQEAgdHlwZWRlZiBISUNPTiBIQ1VSU09SOwog
I2luY2x1ZGUgIkdSZWZQdHJHdGsuaCIKICNlbGlmIFBMQVRGT1JNKFFUKQogI2luY2x1ZGUgPFFD
dXJzb3I+Ci0jZWxpZiBQTEFURk9STShDSFJPTUlVTSkKLSNpbmNsdWRlICJQbGF0Zm9ybUN1cnNv
ci5oIgogI2VsaWYgUExBVEZPUk0oQkxBQ0tCRVJSWSkKICNpbmNsdWRlIDxCbGFja0JlcnJ5UGxh
dGZvcm1DdXJzb3IuaD4KICNlbmRpZgpAQCAtNjAsNyArNTgsOSBAQCB0eXBlZGVmIHN0cnVjdCBI
SUNPTl9fICpISUNPTjsKIHR5cGVkZWYgSElDT04gSENVUlNPUjsKICNlbmRpZgogCi0jaWYgUExB
VEZPUk0oV0lOKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0o
UVQpIHx8IFBMQVRGT1JNKEVGTCkKKy8vIEZJWE1FOiBNYXliZSB3ZSdyZSBwYXN0IHRoZSBwb2lu
dCBvZiBvcHRpbmcgaW4sIGJ1dCBzaG91bGQgaW5zdGVhZCBvcHQtb3V0LgorLy8gTG9va3MgbGlr
ZSBpdCdzIGp1c3QgUExBVEZPUk0oV1gpIGFuZCBQTEFURk9STShCTEFDS0JFUlJZKSBzdGlsbCBu
b3QgdXNpbmcgdGhpcz8KKyNpZiBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKE1BQykgfHwgUExB
VEZPUk0oR1RLKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShD
SFJPTUlVTSkKICNkZWZpbmUgV1RGX1VTRV9MQVpZX05BVElWRV9DVVJTT1IgMQogI2VuZGlmCiAK
QEAgLTkwLDggKzkwLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgUUN1cnNv
ciogUGxhdGZvcm1DdXJzb3I7CiAjZWxpZiBQTEFURk9STShXWCkKICAgICB0eXBlZGVmIHd4Q3Vy
c29yKiBQbGF0Zm9ybUN1cnNvcjsKLSNlbGlmIFBMQVRGT1JNKENIUk9NSVVNKQotICAgIC8vIFNl
ZSBQbGF0Zm9ybUN1cnNvci5oCiAjZWxpZiBQTEFURk9STShCTEFDS0JFUlJZKQogICAgIHR5cGVk
ZWYgQmxhY2tCZXJyeTo6UGxhdGZvcm06OkJsYWNrQmVycnlDdXJzb3IgUGxhdGZvcm1DdXJzb3I7
CiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ3Vy
c29yQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ3Vyc29y
Q2hyb21pdW0uY3BwCmluZGV4IDM0ZDE2ZDQyNmRhNDBmMDk3N2ZiZTA3M2EwYWFmYzRlYmUwNmYx
NmYuLjlkZjdmMjNmNjE2NzYyNzUzZjhmMDczODEyZTAzMzFlZjg5NjZlYzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0N1cnNvckNocm9taXVtLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DdXJzb3JDaHJvbWl1bS5jcHAKQEAg
LTM2LDMzNCArMzYsMzAgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogQ3Vyc29yOjpDdXJzb3Io
Y29uc3QgQ3Vyc29yJiBvdGhlcikKLSAgICA6IG1fcGxhdGZvcm1DdXJzb3Iob3RoZXIubV9wbGF0
Zm9ybUN1cnNvcikKLXsKLX0KLQotQ3Vyc29yOjpDdXJzb3IoSW1hZ2UqIGltYWdlLCBjb25zdCBJ
bnRQb2ludCYgaG90U3BvdCkKLSAgICA6IG1fcGxhdGZvcm1DdXJzb3IoaW1hZ2UsIGhvdFNwb3Qp
Ci17Ci19Ci0KLUN1cnNvcjo6fkN1cnNvcigpCisgICAgOiBtX3R5cGUob3RoZXIubV90eXBlKQor
ICAgICwgbV9pbWFnZShvdGhlci5tX2ltYWdlKQorICAgICwgbV9ob3RTcG90KG90aGVyLm1faG90
U3BvdCkKKyAgICAsIG1fcGxhdGZvcm1DdXJzb3Iob3RoZXIubV9wbGF0Zm9ybUN1cnNvcikKIHsK
IH0KIAogQ3Vyc29yJiBDdXJzb3I6Om9wZXJhdG9yPShjb25zdCBDdXJzb3ImIG90aGVyKQogewor
ICAgIG1fdHlwZSA9IG90aGVyLm1fdHlwZTsKKyAgICBtX2ltYWdlID0gb3RoZXIubV9pbWFnZTsK
KyAgICBtX2hvdFNwb3QgPSBvdGhlci5tX2hvdFNwb3Q7CiAgICAgbV9wbGF0Zm9ybUN1cnNvciA9
IG90aGVyLm1fcGxhdGZvcm1DdXJzb3I7CiAgICAgcmV0dXJuICp0aGlzOwogfQogCi1DdXJzb3I6
OkN1cnNvcihQbGF0Zm9ybUN1cnNvciBjKQotICAgIDogbV9wbGF0Zm9ybUN1cnNvcihjKQotewot
fQotCi1jb25zdCBDdXJzb3ImIHBvaW50ZXJDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNf
TE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVQb2ludGVyKSk7Ci0gICAgcmV0
dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgY3Jvc3NDdXJzb3IoKQotewotICAgIERFRklORV9T
VEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVDcm9zcykpOwotICAg
IHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIGhhbmRDdXJzb3IoKQotewotICAgIERFRklO
RV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVIYW5kKSk7Ci0g
ICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgaUJlYW1DdXJzb3IoKQotewotICAgIERF
RklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVJQmVhbSkp
OwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIHdhaXRDdXJzb3IoKQotewotICAg
IERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVXYWl0
KSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgaGVscEN1cnNvcigpCi17Ci0g
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZUhl
bHApKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBlYXN0UmVzaXplQ3Vyc29y
KCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29y
OjpUeXBlRWFzdFJlc2l6ZSkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIG5v
cnRoUmVzaXplQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywg
KFBsYXRmb3JtQ3Vyc29yOjpUeXBlTm9ydGhSZXNpemUpKTsKLSAgICByZXR1cm4gYzsKLX0KLQot
Y29uc3QgQ3Vyc29yJiBub3J0aEVhc3RSZXNpemVDdXJzb3IoKQotewotICAgIERFRklORV9TVEFU
SUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVOb3J0aEVhc3RSZXNpemUp
KTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBub3J0aFdlc3RSZXNpemVDdXJz
b3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJz
b3I6OlR5cGVOb3J0aFdlc3RSZXNpemUpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vy
c29yJiBzb3V0aFJlc2l6ZUN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJz
b3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZVNvdXRoUmVzaXplKSk7Ci0gICAgcmV0dXJuIGM7
Ci19Ci0KLWNvbnN0IEN1cnNvciYgc291dGhFYXN0UmVzaXplQ3Vyc29yKCkKLXsKLSAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlU291dGhFYXN0
UmVzaXplKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgc291dGhXZXN0UmVz
aXplQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRm
b3JtQ3Vyc29yOjpUeXBlU291dGhXZXN0UmVzaXplKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNv
bnN0IEN1cnNvciYgd2VzdFJlc2l6ZUN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NB
TChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZVdlc3RSZXNpemUpKTsKLSAgICByZXR1
cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBub3J0aFNvdXRoUmVzaXplQ3Vyc29yKCkKLXsKLSAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlTm9y
dGhTb3V0aFJlc2l6ZSkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIGVhc3RX
ZXN0UmVzaXplQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywg
KFBsYXRmb3JtQ3Vyc29yOjpUeXBlRWFzdFdlc3RSZXNpemUpKTsKLSAgICByZXR1cm4gYzsKLX0K
LQotY29uc3QgQ3Vyc29yJiBub3J0aEVhc3RTb3V0aFdlc3RSZXNpemVDdXJzb3IoKQotewotICAg
IERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVOb3J0
aEVhc3RTb3V0aFdlc3RSZXNpemUpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29y
JiBub3J0aFdlc3RTb3V0aEVhc3RSZXNpemVDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNf
TE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVOb3J0aFdlc3RTb3V0aEVhc3RS
ZXNpemUpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBjb2x1bW5SZXNpemVD
dXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1D
dXJzb3I6OlR5cGVDb2x1bW5SZXNpemUpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vy
c29yJiByb3dSZXNpemVDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29y
LCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVSb3dSZXNpemUpKTsKLSAgICByZXR1cm4gYzsKLX0K
LQotY29uc3QgQ3Vyc29yJiBtaWRkbGVQYW5uaW5nQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlTWlkZGxlUGFubmluZykp
OwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIGVhc3RQYW5uaW5nQ3Vyc29yKCkK
LXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpU
eXBlRWFzdFBhbm5pbmcpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBub3J0
aFBhbm5pbmdDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAo
UGxhdGZvcm1DdXJzb3I6OlR5cGVOb3J0aFBhbm5pbmcpKTsKLSAgICByZXR1cm4gYzsKLX0KLQot
Y29uc3QgQ3Vyc29yJiBub3J0aEVhc3RQYW5uaW5nQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlTm9ydGhFYXN0UGFubmlu
ZykpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIG5vcnRoV2VzdFBhbm5pbmdD
dXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1D
dXJzb3I6OlR5cGVOb3J0aFdlc3RQYW5uaW5nKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0
IEN1cnNvciYgc291dGhQYW5uaW5nQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlU291dGhQYW5uaW5nKSk7Ci0gICAgcmV0
dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgc291dGhFYXN0UGFubmluZ0N1cnNvcigpCi17Ci0g
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZVNv
dXRoRWFzdFBhbm5pbmcpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBzb3V0
aFdlc3RQYW5uaW5nQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwg
YywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlU291dGhXZXN0UGFubmluZykpOwotICAgIHJldHVybiBj
OwotfQotCi1jb25zdCBDdXJzb3ImIHdlc3RQYW5uaW5nQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlV2VzdFBhbm5pbmcp
KTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBtb3ZlQ3Vyc29yKCkgCi17Ci0g
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZU1v
dmUpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiB2ZXJ0aWNhbFRleHRDdXJz
b3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJz
b3I6OlR5cGVWZXJ0aWNhbFRleHQpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29y
JiBjZWxsQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBs
YXRmb3JtQ3Vyc29yOjpUeXBlQ2VsbCkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJz
b3ImIGNvbnRleHRNZW51Q3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNv
ciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlQ29udGV4dE1lbnUpKTsKLSAgICByZXR1cm4gYzsK
LX0KLQotY29uc3QgQ3Vyc29yJiBhbGlhc0N1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19M
T0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZUFsaWFzKSk7Ci0gICAgcmV0dXJu
IGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgcHJvZ3Jlc3NDdXJzb3IoKQotewotICAgIERFRklORV9T
VEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVQcm9ncmVzcykpOwot
ICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIG5vRHJvcEN1cnNvcigpCi17Ci0gICAg
REVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZU5vRHJv
cCkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIGNvcHlDdXJzb3IoKQotewot
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVD
b3B5KSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9uZUN1cnNvcigpCi17
Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlw
ZU5vbmUpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBub3RBbGxvd2VkQ3Vy
c29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vy
c29yOjpUeXBlTm90QWxsb3dlZCkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3Im
IHpvb21JbkN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQ
bGF0Zm9ybUN1cnNvcjo6VHlwZVpvb21JbikpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBD
dXJzb3ImIHpvb21PdXRDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29y
LCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVab29tT3V0KSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0K
LWNvbnN0IEN1cnNvciYgZ3JhYkN1cnNvcigpCitDdXJzb3I6On5DdXJzb3IoKQogewotICAgIERF
RklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVHcmFiKSk7
Ci0gICAgcmV0dXJuIGM7CiB9CiAKLWNvbnN0IEN1cnNvciYgZ3JhYmJpbmdDdXJzb3IoKQordm9p
ZCBDdXJzb3I6OmVuc3VyZVBsYXRmb3JtQ3Vyc29yKCkgY29uc3QKIHsKLSAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlR3JhYmJpbmcpKTsKLSAg
ICByZXR1cm4gYzsKKyAgICAvLyBDaHJvbWl1bSBoYXMgbm8gUGxhdGZvcm1DdXJzb3IuCisgICAg
VU5SRUFDSEFCTEVfRk9SX1BMQVRGT1JNKCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
LQotI2RlZmluZSBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKGN1cnNvcl9uYW1lLCBwbGF0
Zm9ybV9jdXJzb3JfbmFtZSkgXAotICAgIENPTVBJTEVfQVNTRVJUKGludChXZWJDb3JlOjpDdXJz
b3I6OmN1cnNvcl9uYW1lKSA9PSBpbnQoV2ViQ29yZTo6UGxhdGZvcm1DdXJzb3I6OnBsYXRmb3Jt
X2N1cnNvcl9uYW1lKSwgbWlzbWF0Y2hpbmdfZW51bXMpCi0KLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oUG9pbnRlciwgVHlwZVBvaW50ZXIpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShDcm9zcywgVHlwZUNyb3NzKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oSGFu
ZCwgVHlwZUhhbmQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShJQmVhbSwgVHlwZUlC
ZWFtKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2FpdCwgVHlwZVdhaXQpOwotQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShIZWxwLCBUeXBlSGVscCk7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVhc3RSZXNpemUsIFR5cGVFYXN0UmVzaXplKTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oTm9ydGhSZXNpemUsIFR5cGVOb3J0aFJlc2l6ZSk7Ci1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKE5vcnRoRWFzdFJlc2l6ZSwgVHlwZU5vcnRoRWFzdFJlc2l6
ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKE5vcnRoV2VzdFJlc2l6ZSwgVHlwZU5v
cnRoV2VzdFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFNvdXRoUmVzaXpl
LCBUeXBlU291dGhSZXNpemUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShTb3V0aEVh
c3RSZXNpemUsIFR5cGVTb3V0aEVhc3RSZXNpemUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShTb3V0aFdlc3RSZXNpemUsIFR5cGVTb3V0aFdlc3RSZXNpemUpOwotQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShXZXN0UmVzaXplLCBUeXBlV2VzdFJlc2l6ZSk7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKE5vcnRoU291dGhSZXNpemUsIFR5cGVOb3J0aFNvdXRoUmVzaXpl
KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRWFzdFdlc3RSZXNpemUsIFR5cGVFYXN0
V2VzdFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKE5vcnRoRWFzdFNvdXRo
V2VzdFJlc2l6ZSwgVHlwZU5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKE5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZSwgVHlwZU5vcnRoV2VzdFNv
dXRoRWFzdFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKENvbHVtblJlc2l6
ZSwgVHlwZUNvbHVtblJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFJvd1Jl
c2l6ZSwgVHlwZVJvd1Jlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKE1pZGRs
ZVBhbm5pbmcsIFR5cGVNaWRkbGVQYW5uaW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRWFzdFBhbm5pbmcsIFR5cGVFYXN0UGFubmluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKE5vcnRoUGFubmluZywgVHlwZU5vcnRoUGFubmluZyk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKE5vcnRoRWFzdFBhbm5pbmcsIFR5cGVOb3J0aEVhc3RQYW5uaW5nKTsKLUNP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTm9ydGhXZXN0UGFubmluZywgVHlwZU5vcnRoV2Vz
dFBhbm5pbmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShTb3V0aFBhbm5pbmcsIFR5
cGVTb3V0aFBhbm5pbmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShTb3V0aEVhc3RQ
YW5uaW5nLCBUeXBlU291dGhFYXN0UGFubmluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFNvdXRoV2VzdFBhbm5pbmcsIFR5cGVTb3V0aFdlc3RQYW5uaW5nKTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oV2VzdFBhbm5pbmcsIFR5cGVXZXN0UGFubmluZyk7Ci1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKE1vdmUsIFR5cGVNb3ZlKTsKLUNPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oVmVydGljYWxUZXh0LCBUeXBlVmVydGljYWxUZXh0KTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oQ2VsbCwgVHlwZUNlbGwpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShDb250ZXh0TWVudSwgVHlwZUNvbnRleHRNZW51KTsKLUNPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oQWxpYXMsIFR5cGVBbGlhcyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFByb2dyZXNzLCBUeXBlUHJvZ3Jlc3MpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShOb0Ryb3AsIFR5cGVOb0Ryb3ApOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShDb3B5
LCBUeXBlQ29weSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKE5vbmUsIFR5cGVOb25l
KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTm90QWxsb3dlZCwgVHlwZU5vdEFsbG93
ZWQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShab29tSW4sIFR5cGVab29tSW4pOwot
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShab29tT3V0LCBUeXBlWm9vbU91dCk7Ci1DT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEdyYWIsIFR5cGVHcmFiKTsKLUNPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oR3JhYmJpbmcsIFR5cGVHcmFiYmluZyk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEN1c3RvbSwgVHlwZUN1c3RvbSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybUN1cnNvci5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1DdXJzb3IuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggM2QxZWJiZDA2NTBkNjhmMjJhNzU3NTkzNDRmNGY0ZDIxMTBhYmVlZS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybUN1cnNvci5oCisrKyAvZGV2L251bGwKQEAgLTEsMTEx
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKGMpIDIwMDgsIDIwMDksIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKiAKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQot
ICogbWV0OgotICogCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
LSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCi0gKiAKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBQbGF0Zm9ybUN1cnNvcl9oCi0jZGVmaW5lIFBsYXRm
b3JtQ3Vyc29yX2gKLQotI2luY2x1ZGUgIkltYWdlLmgiCi0jaW5jbHVkZSAiSW50UG9pbnQuaCIK
LSNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotICAgIGNs
YXNzIFBsYXRmb3JtQ3Vyc29yIHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIGVudW0gVHlwZSB7Ci0g
ICAgICAgICAgICBUeXBlUG9pbnRlciwKLSAgICAgICAgICAgIFR5cGVDcm9zcywKLSAgICAgICAg
ICAgIFR5cGVIYW5kLAotICAgICAgICAgICAgVHlwZUlCZWFtLAotICAgICAgICAgICAgVHlwZVdh
aXQsCi0gICAgICAgICAgICBUeXBlSGVscCwKLSAgICAgICAgICAgIFR5cGVFYXN0UmVzaXplLAot
ICAgICAgICAgICAgVHlwZU5vcnRoUmVzaXplLAotICAgICAgICAgICAgVHlwZU5vcnRoRWFzdFJl
c2l6ZSwKLSAgICAgICAgICAgIFR5cGVOb3J0aFdlc3RSZXNpemUsCi0gICAgICAgICAgICBUeXBl
U291dGhSZXNpemUsCi0gICAgICAgICAgICBUeXBlU291dGhFYXN0UmVzaXplLAotICAgICAgICAg
ICAgVHlwZVNvdXRoV2VzdFJlc2l6ZSwKLSAgICAgICAgICAgIFR5cGVXZXN0UmVzaXplLAotICAg
ICAgICAgICAgVHlwZU5vcnRoU291dGhSZXNpemUsCi0gICAgICAgICAgICBUeXBlRWFzdFdlc3RS
ZXNpemUsCi0gICAgICAgICAgICBUeXBlTm9ydGhFYXN0U291dGhXZXN0UmVzaXplLAotICAgICAg
ICAgICAgVHlwZU5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZSwKLSAgICAgICAgICAgIFR5cGVDb2x1
bW5SZXNpemUsCi0gICAgICAgICAgICBUeXBlUm93UmVzaXplLAotICAgICAgICAgICAgVHlwZU1p
ZGRsZVBhbm5pbmcsCi0gICAgICAgICAgICBUeXBlRWFzdFBhbm5pbmcsCi0gICAgICAgICAgICBU
eXBlTm9ydGhQYW5uaW5nLAotICAgICAgICAgICAgVHlwZU5vcnRoRWFzdFBhbm5pbmcsCi0gICAg
ICAgICAgICBUeXBlTm9ydGhXZXN0UGFubmluZywKLSAgICAgICAgICAgIFR5cGVTb3V0aFBhbm5p
bmcsCi0gICAgICAgICAgICBUeXBlU291dGhFYXN0UGFubmluZywKLSAgICAgICAgICAgIFR5cGVT
b3V0aFdlc3RQYW5uaW5nLAotICAgICAgICAgICAgVHlwZVdlc3RQYW5uaW5nLAotICAgICAgICAg
ICAgVHlwZU1vdmUsCi0gICAgICAgICAgICBUeXBlVmVydGljYWxUZXh0LAotICAgICAgICAgICAg
VHlwZUNlbGwsCi0gICAgICAgICAgICBUeXBlQ29udGV4dE1lbnUsCi0gICAgICAgICAgICBUeXBl
QWxpYXMsCi0gICAgICAgICAgICBUeXBlUHJvZ3Jlc3MsCi0gICAgICAgICAgICBUeXBlTm9Ecm9w
LAotICAgICAgICAgICAgVHlwZUNvcHksCi0gICAgICAgICAgICBUeXBlTm9uZSwKLSAgICAgICAg
ICAgIFR5cGVOb3RBbGxvd2VkLAotICAgICAgICAgICAgVHlwZVpvb21JbiwKLSAgICAgICAgICAg
IFR5cGVab29tT3V0LAotICAgICAgICAgICAgVHlwZUdyYWIsCi0gICAgICAgICAgICBUeXBlR3Jh
YmJpbmcsCi0gICAgICAgICAgICBUeXBlQ3VzdG9tCi0gICAgICAgIH07Ci0KLSAgICAgICAgLy8g
Q3Vyc29yLmggYXNzdW1lcyB0aGF0IGl0IGNhbiBpbml0aWFsaXplIHVzIHRvIDAuCi0gICAgICAg
IGV4cGxpY2l0IFBsYXRmb3JtQ3Vyc29yKGludCB0eXBlID0gMCkgOiBtX3R5cGUoVHlwZVBvaW50
ZXIpIHt9Ci0gICAgICAgIAotICAgICAgICBQbGF0Zm9ybUN1cnNvcihUeXBlIHR5cGUpIDogbV90
eXBlKHR5cGUpIHt9Ci0KLSAgICAgICAgUGxhdGZvcm1DdXJzb3IoSW1hZ2UqIGltYWdlLCBjb25z
dCBJbnRQb2ludCYgaG90U3BvdCkKLSAgICAgICAgICAgIDogbV9pbWFnZShpbWFnZSkKLSAgICAg
ICAgICAgICwgbV9ob3RTcG90KGhvdFNwb3QpCi0gICAgICAgICAgICAsIG1fdHlwZShUeXBlQ3Vz
dG9tKSB7fQotCi0gICAgICAgIFBhc3NSZWZQdHI8SW1hZ2U+IGN1c3RvbUltYWdlKCkgY29uc3Qg
eyByZXR1cm4gbV9pbWFnZTsgfQotICAgICAgICBjb25zdCBJbnRQb2ludCYgaG90U3BvdCgpIGNv
bnN0IHsgcmV0dXJuIG1faG90U3BvdDsgfQotICAgICAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJl
dHVybiBtX3R5cGU7IH0KLQotICAgIHByaXZhdGU6Ci0gICAgICAgIFJlZlB0cjxJbWFnZT4gbV9p
bWFnZTsKLSAgICAgICAgSW50UG9pbnQgbV9ob3RTcG90OwotICAgICAgICBUeXBlIG1fdHlwZTsK
LSAgICB9OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3BwCmluZGV4IDU2ODU3YTQz
ZjU0ODQyM2U4YmQ5MmQzMjJkOTZkODEwYzJiYjY3OWEuLjBmNDZkNzAzYzdhOGM2ZGJkYmQyZDg5
NjUwMjExYzM0M2VmMGIwY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ltYWdlU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZVNvdXJjZS5jcHAKQEAgLTEyMSw5ICsxMjEsOSBAQCBJbnRTaXplIEltYWdlU291
cmNlOjpmcmFtZVNpemVBdEluZGV4KHNpemVfdCBpbmRleCwgUmVzcGVjdEltYWdlT3JpZW50YXRp
b25FbnVtCiAgICAgcmV0dXJuIHNpemU7CiB9CiAKLWJvb2wgSW1hZ2VTb3VyY2U6OmdldEhvdFNw
b3QoSW50UG9pbnQmKSBjb25zdAorYm9vbCBJbWFnZVNvdXJjZTo6Z2V0SG90U3BvdChJbnRQb2lu
dCYgaG90U3BvdCkgY29uc3QKIHsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIG1fZGVj
b2RlciA/IG1fZGVjb2Rlci0+aG90U3BvdChob3RTcG90KSA6IGZhbHNlOwogfQogCiBzaXplX3Qg
SW1hZ2VTb3VyY2U6OmJ5dGVzRGVjb2RlZFRvRGV0ZXJtaW5lUHJvcGVydGllcygpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EZWZl
cnJlZEltYWdlRGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9EZWZlcnJlZEltYWdlRGVjb2Rlci5jcHAKaW5kZXggODYzY2ExMjdlMDI5ZGIyNmUy
MGVkOGVjNjc0N2ZmOTU3MWYyMTdiZC4uMWQ4YmI4MjNiMGI3MTNkN2NkMjAzYTQ3ZGE1OWM2YmFh
ZTU1ZTVhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0RlZmVycmVkSW1hZ2VEZWNvZGVyLmNwcApAQCAtMTU4LDQg
KzE1OCwxNCBAQCBJbWFnZU9yaWVudGF0aW9uIERlZmVycmVkSW1hZ2VEZWNvZGVyOjpvcmllbnRh
dGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIG1fYWN0dWFsRGVjb2RlciA/IG1fYWN0dWFsRGVjb2Rl
ci0+b3JpZW50YXRpb24oKSA6IG1fb3JpZW50YXRpb247CiB9CiAKK2Jvb2wgRGVmZXJyZWRJbWFn
ZURlY29kZXI6OmhvdFNwb3QoSW50UG9pbnQmIGhvdFNwb3QpIGNvbnN0Cit7CisgICAgcmV0dXJu
IG1fYWN0dWFsRGVjb2RlciA/IG1fYWN0dWFsRGVjb2Rlci0+aG90U3BvdChob3RTcG90KSA6IGZh
bHNlOworfQorCitib29sIERlZmVycmVkSW1hZ2VEZWNvZGVyOjpob3RTcG90QXRJbmRleChzaXpl
X3QgaW5kZXgsIEludFBvaW50JiBob3RTcG90KSBjb25zdAoreworICAgIHJldHVybiBtX2FjdHVh
bERlY29kZXIgPyBtX2FjdHVhbERlY29kZXItPmhvdFNwb3RBdEluZGV4KGluZGV4LCBob3RTcG90
KSA6IGZhbHNlOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVjb2Rl
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJ
bWFnZURlY29kZXIuaAppbmRleCA2MGQ4Y2MxMDg4OTk2Mjk2YmNjMGQ1MDUyOGJhMzYzMDEzZDRj
ZDg4Li43MWNmYTU3NzAyNjRjZDQxNWM5MjBiNzA2MjBmYmE5ZDVhNjNmZGMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdl
RGVjb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0RlZmVycmVkSW1hZ2VEZWNvZGVyLmgKQEAgLTU3LDYgKzU3LDggQEAgcHVibGljOgogICAgIGJv
b2wgZnJhbWVIYXNBbHBoYUF0SW5kZXgoc2l6ZV90IGluZGV4KSBjb25zdDsKICAgICB1bnNpZ25l
ZCBmcmFtZUJ5dGVzQXRJbmRleChzaXplX3QgaW5kZXgpIGNvbnN0OwogICAgIEltYWdlT3JpZW50
YXRpb24gb3JpZW50YXRpb24oKSBjb25zdDsKKyAgICBib29sIGhvdFNwb3QoSW50UG9pbnQmKSBj
b25zdDsKKyAgICBib29sIGhvdFNwb3RBdEluZGV4KHNpemVfdCwgSW50UG9pbnQmKSBjb25zdDsK
IAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBEZWZlcnJlZEltYWdlRGVjb2RlcihJbWFnZURlY29k
ZXIqIGFjdHVhbERlY29kZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
bWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaAppbmRleCA4YzBkYjM5MjlmNTQyMDhiNDdmYTM2
MzgyNzM2YmZiMzE1NjQ3ZjU3Li4xY2Y3ZmE4Mzk1YzI2YWUwNWRkZmYzMTU0YzdiNmYwY2FhMjNm
NTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9J
bWFnZURlY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVy
cy9JbWFnZURlY29kZXIuaApAQCAtMzc4LDYgKzM3OCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byopIGNvbnN0OwogCisgICAgICAgIHZpcnR1YWwgYm9vbCBob3RTcG90KEludFBvaW50JikgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICAgICAgdmlydHVhbCBib29sIGhvdFNwb3RBdEluZGV4
KHNpemVfdCwgSW50UG9pbnQmKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorCiAgICAgcHJvdGVj
dGVkOgogICAgICAgICB2b2lkIHByZXBhcmVTY2FsZURhdGFJZk5lY2Vzc2FyeSgpOwogICAgICAg
ICBpbnQgdXBwZXJCb3VuZFNjYWxlZFgoaW50IG9yaWdYLCBpbnQgc2VhcmNoU3RhcnQgPSAwKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9J
Q09JbWFnZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2Rl
cnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5jcHAKaW5kZXggMmRiM2VjZjZjZTdmY2M3MzJjZTI0MzVk
ZGU0ZGM5Nzk4YzY4NjMwOC4uMjI5M2JhNjQ2ZDg5NjJiNWMyYzU2NWI3Y2M1ODQ2NDJhNTdkMGMw
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNv
L0lDT0ltYWdlRGVjb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2Ut
ZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5jcHAKQEAgLTEzMyw2ICsxMzMsMjQgQEAgYm9v
bCBJQ09JbWFnZURlY29kZXI6OnNldEZhaWxlZCgpCiAgICAgcmV0dXJuIEltYWdlRGVjb2Rlcjo6
c2V0RmFpbGVkKCk7CiB9CiAKK2Jvb2wgSUNPSW1hZ2VEZWNvZGVyOjpob3RTcG90KEludFBvaW50
JiBob3RTcG90KSBjb25zdAoreworICAgIC8vIFdoZW4gdW5zcGVjaWZpZWQsIHVzZSB0aGUgbGFy
Z2VzdCBmcmFtZSB0byBiZSBjb25zaXN0ZW50IHdpdGggdGhlIHNpemUKKyAgICAvLyBpbiBwcm9j
ZXNzRGlyZWN0b3J5RW50cmllcy4KKyAgICByZXR1cm4gaG90U3BvdEF0SW5kZXgoMCwgaG90U3Bv
dCk7Cit9CisKK2Jvb2wgSUNPSW1hZ2VEZWNvZGVyOjpob3RTcG90QXRJbmRleChzaXplX3QgaW5k
ZXgsIEludFBvaW50JiBob3RTcG90KSBjb25zdAoreworICAgIGlmIChpbmRleCA8IDAgfHwgaW5k
ZXggPj0gbV9kaXJFbnRyaWVzLnNpemUoKSB8fCBtX2ZpbGVUeXBlICE9IENVUlNPUikKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgY29uc3QgSWNvbkRpcmVjdG9yeUVudHJ5JiBkaXJFbnRy
eSA9IG1fZGlyRW50cmllc1tpbmRleF07CisgICAgaG90U3BvdCA9IEludFBvaW50KGRpckVudHJ5
Lm1faG90U3BvdFgsIGRpckVudHJ5Lm1faG90U3BvdFkpOworICAgIHJldHVybiB0cnVlOworfQor
CisKIC8vIHN0YXRpYwogYm9vbCBJQ09JbWFnZURlY29kZXI6OmNvbXBhcmVFbnRyaWVzKGNvbnN0
IEljb25EaXJlY3RvcnlFbnRyeSYgYSwgY29uc3QgSWNvbkRpcmVjdG9yeUVudHJ5JiBiKQogewpA
QCAtMjMyLDEzICsyNTAsMTEgQEAgYm9vbCBJQ09JbWFnZURlY29kZXI6OnByb2Nlc3NEaXJlY3Rv
cnkoKQogCiAgICAgLy8gU2VlIGlmIHRoaXMgaXMgYW4gaWNvbiBmaWxldHlwZSB3ZSB1bmRlcnN0
YW5kLCBhbmQgbWFrZSBzdXJlIHdlIGhhdmUgYXQKICAgICAvLyBsZWFzdCBvbmUgZW50cnkgaW4g
dGhlIGRpcmVjdG9yeS4KLSAgICBlbnVtIHsKLSAgICAgICAgSUNPTiA9IDEsCi0gICAgICAgIENV
UlNPUiA9IDIsCi0gICAgfTsKICAgICBpZiAoKChmaWxlVHlwZSAhPSBJQ09OKSAmJiAoZmlsZVR5
cGUgIT0gQ1VSU09SKSkgfHwgKCFpZENvdW50KSkKICAgICAgICAgcmV0dXJuIHNldEZhaWxlZCgp
OwogCisgICAgbV9maWxlVHlwZSA9IHN0YXRpY19jYXN0PEZpbGVUeXBlPihmaWxlVHlwZSk7CisK
ICAgICAvLyBFbmxhcmdlIG1lbWJlciB2ZWN0b3JzIHRvIGhvbGQgYWxsIHRoZSBlbnRyaWVzLgog
ICAgIG1fZGlyRW50cmllcy5yZXNpemUoaWRDb3VudCk7CiAgICAgbV9ibXBSZWFkZXJzLnJlc2l6
ZShpZENvdW50KTsKQEAgLTI4Nyw3ICszMDMsMTUgQEAgSUNPSW1hZ2VEZWNvZGVyOjpJY29uRGly
ZWN0b3J5RW50cnkgSUNPSW1hZ2VEZWNvZGVyOjpyZWFkRGlyZWN0b3J5RW50cnkoKQogICAgICAg
ICBoZWlnaHQgPSAyNTY7CiAgICAgSWNvbkRpcmVjdG9yeUVudHJ5IGVudHJ5OwogICAgIGVudHJ5
Lm1fc2l6ZSA9IEludFNpemUod2lkdGgsIGhlaWdodCk7Ci0gICAgZW50cnkubV9iaXRDb3VudCA9
IHJlYWRVaW50MTYoNik7CisgICAgaWYgKG1fZmlsZVR5cGUgPT0gQ1VSU09SKSB7CisgICAgICAg
IGVudHJ5Lm1fYml0Q291bnQgPSAwOworICAgICAgICBlbnRyeS5tX2hvdFNwb3RYID0gcmVhZFVp
bnQxNig0KTsKKyAgICAgICAgZW50cnkubV9ob3RTcG90WSA9IHJlYWRVaW50MTYoNik7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgZW50cnkubV9iaXRDb3VudCA9IHJlYWRVaW50MTYoNik7CisgICAg
ICAgIGVudHJ5Lm1faG90U3BvdFggPSAwOworICAgICAgICBlbnRyeS5tX2hvdFNwb3RZID0gMDsK
KyAgICB9CiAgICAgZW50cnkubV9pbWFnZU9mZnNldCA9IHJlYWRVaW50MzIoMTIpOwogCiAgICAg
Ly8gU29tZSBpY29ucyBkb24ndCBoYXZlIGEgYml0IGRlcHRoLCBvbmx5IGEgY29sb3IgY291bnQu
ICBDb252ZXJ0IHRoZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2Ut
ZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5oCmluZGV4IDMxZDkxYzgxOTAyZmIw
ZDJjNjlkYzBhMzYxOGNiZGM1NGJmNmI3MTMuLjBkZWJhZDAxNzdhYTQ5MzE3YjJkOWFmMjQ1Mzdl
MDU2OTBkOTE2YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRl
Y29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmgKQEAgLTU2LDYgKzU2LDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyBhdm9pZCBhY2Nlc3NpbmcgZGVsZXRlZCBt
ZW1vcnksIGVzcGVjaWFsbHkgd2hlbiBjYWxsaW5nIHRoaXMgZnJvbQogICAgICAgICAvLyBpbnNp
ZGUgQk1QSW1hZ2VSZWFkZXIhCiAgICAgICAgIHZpcnR1YWwgYm9vbCBzZXRGYWlsZWQoKTsKKyAg
ICAgICAgdmlydHVhbCBib29sIGhvdFNwb3QoSW50UG9pbnQmKSBjb25zdDsKKyAgICAgICAgdmly
dHVhbCBib29sIGhvdFNwb3RBdEluZGV4KHNpemVfdCwgSW50UG9pbnQmKSBjb25zdDsKIAogICAg
IHByaXZhdGU6CiAgICAgICAgIGVudW0gSW1hZ2VUeXBlIHsKQEAgLTY0LDkgKzY2LDE2IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIFBORywKICAgICAgICAgfTsKIAorICAgICAg
ICBlbnVtIEZpbGVUeXBlIHsKKyAgICAgICAgICAgIElDT04gPSAxLAorICAgICAgICAgICAgQ1VS
U09SID0gMiwKKyAgICAgICAgfTsKKwogICAgICAgICBzdHJ1Y3QgSWNvbkRpcmVjdG9yeUVudHJ5
IHsKICAgICAgICAgICAgIEludFNpemUgbV9zaXplOwogICAgICAgICAgICAgdWludDE2X3QgbV9i
aXRDb3VudDsKKyAgICAgICAgICAgIHVpbnQxNl90IG1faG90U3BvdFg7CisgICAgICAgICAgICB1
aW50MTZfdCBtX2hvdFNwb3RZOwogICAgICAgICAgICAgdWludDMyX3QgbV9pbWFnZU9mZnNldDsK
ICAgICAgICAgfTsKIApAQCAtMTIyLDYgKzEzMSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgLy8gQk1QSW1hZ2VSZWFkZXIgdGFrZXMgb3ZlciB0aGlzIHdpbGwgbm90IGJlIHVwZGF0
ZWQgZnVydGhlci4KICAgICAgICAgc2l6ZV90IG1fZGVjb2RlZE9mZnNldDsKIAorICAgICAgICAv
LyBXaGljaCB0eXBlIG9mIGZpbGUgKElDTy9DVVIpIHRoaXMgaXMuCisgICAgICAgIEZpbGVUeXBl
IG1fZmlsZVR5cGU7CisKICAgICAgICAgLy8gVGhlIGhlYWRlcnMgZm9yIHRoZSBJQ08uCiAgICAg
ICAgIHR5cGVkZWYgVmVjdG9yPEljb25EaXJlY3RvcnlFbnRyeT4gSWNvbkRpcmVjdG9yeUVudHJp
ZXM7CiAgICAgICAgIEljb25EaXJlY3RvcnlFbnRyaWVzIG1fZGlyRW50cmllczsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBlNGQzMDg0MTBhMDYzMzY4ZmNlYzYwYzJkZWMz
OTJiZjdlMmU5ZGE3Li4zMWYyZjFmMGNhNWIyMGYzOTQyYjdjZGI4ZTQ2NDA3YmJkZmVlZmY1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAjaW5j
bHVkZSAiQ2xpZW50UmVjdC5oIgogI2luY2x1ZGUgIkNsaWVudFJlY3RMaXN0LmgiCiAjaW5jbHVk
ZSAiQ29tcG9zZWRTaGFkb3dUcmVlV2Fsa2VyLmgiCisjaW5jbHVkZSAiQ3Vyc29yLmgiCiAjaW5j
bHVkZSAiRE9NU3RyaW5nTGlzdC5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgogI2luY2x1ZGUg
IkRvY3VtZW50LmgiCkBAIC0zOCw2ICszOSw3IEBACiAjaW5jbHVkZSAiRG9jdW1lbnRNYXJrZXJD
b250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkVsZW1lbnRTaGFk
b3cuaCIKKyNpbmNsdWRlICJFdmVudEhhbmRsZXIuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2Rl
LmgiCiAjaW5jbHVkZSAiRm9ybUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJGcmFtZS5oIgpAQCAt
OTMsNyArOTUsNiBAQAogI2VuZGlmCiAKICNpZiBFTkFCTEUoVE9VQ0hfQURKVVNUTUVOVCkKLSNp
bmNsdWRlICJFdmVudEhhbmRsZXIuaCIKICNpbmNsdWRlICJXZWJLaXRQb2ludC5oIgogI2VuZGlm
CiAKQEAgLTE0NzcsNCArMTQ3OCw4MCBAQCB2b2lkIEludGVybmFsczo6c3RvcFRyYWNraW5nUmVw
YWludHMoRG9jdW1lbnQqIGRvY3VtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICBmcmFtZVZp
ZXctPnNldFRyYWNrc1JlcGFpbnRzKGZhbHNlKTsKIH0KIAorI2lmIFVTRShMQVpZX05BVElWRV9D
VVJTT1IpCitzdGF0aWMgY29uc3QgY2hhciogY3Vyc29yVHlwZVRvU3RyaW5nKEN1cnNvcjo6VHlw
ZSBjdXJzb3JUeXBlKQoreworICAgIHN3aXRjaCAoY3Vyc29yVHlwZSkgeworICAgIGNhc2UgQ3Vy
c29yOjpQb2ludGVyOiByZXR1cm4gIlR5cGVQb2ludGVyIjsKKyAgICBjYXNlIEN1cnNvcjo6Q3Jv
c3M6IHJldHVybiAiVHlwZUNyb3NzIjsKKyAgICBjYXNlIEN1cnNvcjo6SGFuZDogcmV0dXJuICJU
eXBlSGFuZCI7CisgICAgY2FzZSBDdXJzb3I6OklCZWFtOiByZXR1cm4gIlR5cGVJQmVhbSI7Cisg
ICAgY2FzZSBDdXJzb3I6OldhaXQ6IHJldHVybiAiVHlwZVdhaXQiOworICAgIGNhc2UgQ3Vyc29y
OjpIZWxwOiByZXR1cm4gIlR5cGVIZWxwIjsKKyAgICBjYXNlIEN1cnNvcjo6RWFzdFJlc2l6ZTog
cmV0dXJuICJUeXBlRWFzdFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRoUmVzaXplOiBy
ZXR1cm4gIlR5cGVOb3J0aFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRoRWFzdFJlc2l6
ZTogcmV0dXJuICJUeXBlTm9ydGhFYXN0UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhX
ZXN0UmVzaXplOiByZXR1cm4gIlR5cGVOb3J0aFdlc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29y
OjpTb3V0aFJlc2l6ZTogcmV0dXJuICJUeXBlU291dGhSZXNpemUiOworICAgIGNhc2UgQ3Vyc29y
OjpTb3V0aEVhc3RSZXNpemU6IHJldHVybiAiVHlwZVNvdXRoRWFzdFJlc2l6ZSI7CisgICAgY2Fz
ZSBDdXJzb3I6OlNvdXRoV2VzdFJlc2l6ZTogcmV0dXJuICJUeXBlU291dGhXZXN0UmVzaXplIjsK
KyAgICBjYXNlIEN1cnNvcjo6V2VzdFJlc2l6ZTogcmV0dXJuICJUeXBlV2VzdFJlc2l6ZSI7Cisg
ICAgY2FzZSBDdXJzb3I6Ok5vcnRoU291dGhSZXNpemU6IHJldHVybiAiVHlwZU5vcnRoU291dGhS
ZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpFYXN0V2VzdFJlc2l6ZTogcmV0dXJuICJUeXBlRWFz
dFdlc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aEVhc3RTb3V0aFdlc3RSZXNpemU6
IHJldHVybiAiVHlwZU5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6
Ok5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZTogcmV0dXJuICJUeXBlTm9ydGhXZXN0U291dGhFYXN0
UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6Q29sdW1uUmVzaXplOiByZXR1cm4gIlR5cGVDb2x1
bW5SZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpSb3dSZXNpemU6IHJldHVybiAiVHlwZVJvd1Jl
c2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6Ok1pZGRsZVBhbm5pbmc6IHJldHVybiAiVHlwZU1pZGRs
ZVBhbm5pbmciOworICAgIGNhc2UgQ3Vyc29yOjpFYXN0UGFubmluZzogcmV0dXJuICJUeXBlRWFz
dFBhbm5pbmciOworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aFBhbm5pbmc6IHJldHVybiAiVHlwZU5v
cnRoUGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRoRWFzdFBhbm5pbmc6IHJldHVybiAi
VHlwZU5vcnRoRWFzdFBhbm5pbmciOworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aFdlc3RQYW5uaW5n
OiByZXR1cm4gIlR5cGVOb3J0aFdlc3RQYW5uaW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6U291dGhQ
YW5uaW5nOiByZXR1cm4gIlR5cGVTb3V0aFBhbm5pbmciOworICAgIGNhc2UgQ3Vyc29yOjpTb3V0
aEVhc3RQYW5uaW5nOiByZXR1cm4gIlR5cGVTb3V0aEVhc3RQYW5uaW5nIjsKKyAgICBjYXNlIEN1
cnNvcjo6U291dGhXZXN0UGFubmluZzogcmV0dXJuICJUeXBlU291dGhXZXN0UGFubmluZyI7Cisg
ICAgY2FzZSBDdXJzb3I6Oldlc3RQYW5uaW5nOiByZXR1cm4gIlR5cGVXZXN0UGFubmluZyI7Cisg
ICAgY2FzZSBDdXJzb3I6Ok1vdmU6IHJldHVybiAiVHlwZU1vdmUiOworICAgIGNhc2UgQ3Vyc29y
OjpWZXJ0aWNhbFRleHQ6IHJldHVybiAiVHlwZVZlcnRpY2FsVGV4dCI7CisgICAgY2FzZSBDdXJz
b3I6OkNlbGw6IHJldHVybiAiVHlwZUNlbGwiOworICAgIGNhc2UgQ3Vyc29yOjpDb250ZXh0TWVu
dTogcmV0dXJuICJUeXBlQ29udGV4dE1lbnUiOworICAgIGNhc2UgQ3Vyc29yOjpBbGlhczogcmV0
dXJuICJUeXBlQWxpYXMiOworICAgIGNhc2UgQ3Vyc29yOjpQcm9ncmVzczogcmV0dXJuICJUeXBl
UHJvZ3Jlc3MiOworICAgIGNhc2UgQ3Vyc29yOjpOb0Ryb3A6IHJldHVybiAiVHlwZU5vRHJvcCI7
CisgICAgY2FzZSBDdXJzb3I6OkNvcHk6IHJldHVybiAiVHlwZUNvcHkiOworICAgIGNhc2UgQ3Vy
c29yOjpOb25lOiByZXR1cm4gIlR5cGVOb25lIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm90QWxsb3dl
ZDogcmV0dXJuICJUeXBlTm90QWxsb3dlZCI7CisgICAgY2FzZSBDdXJzb3I6Olpvb21JbjogcmV0
dXJuICJUeXBlWm9vbUluIjsKKyAgICBjYXNlIEN1cnNvcjo6Wm9vbU91dDogcmV0dXJuICJUeXBl
Wm9vbU91dCI7CisgICAgY2FzZSBDdXJzb3I6OkdyYWI6IHJldHVybiAiVHlwZUdyYWIiOworICAg
IGNhc2UgQ3Vyc29yOjpHcmFiYmluZzogcmV0dXJuICJUeXBlR3JhYmJpbmciOworICAgIGNhc2Ug
Q3Vyc29yOjpDdXN0b206IHJldHVybiAiVHlwZUN1c3RvbSI7CisgICAgfQorCisgICAgcmV0dXJu
ICJVTktOT1dOIjsKK30KKyNlbmRpZgorCitTdHJpbmcgSW50ZXJuYWxzOjpnZXRDdXJyZW50Q3Vy
c29ySW5mbyhEb2N1bWVudCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlm
ICghZG9jdW1lbnQgfHwgIWRvY3VtZW50LT5mcmFtZSgpKSB7CisgICAgICAgIGVjID0gSU5WQUxJ
RF9BQ0NFU1NfRVJSOworICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgfQorCisgICAgQ3Vy
c29yIGN1cnNvciA9IGRvY3VtZW50LT5mcmFtZSgpLT5ldmVudEhhbmRsZXIoKS0+Y3VycmVudE1v
dXNlQ3Vyc29yKCk7CisKKyNpZiBVU0UoTEFaWV9OQVRJVkVfQ1VSU09SKQorICAgIFN0cmluZyBy
ZXN1bHQgPSBTdHJpbmcoInR5cGU9IikgKyBjdXJzb3JUeXBlVG9TdHJpbmcoY3Vyc29yLnR5cGUo
KSkKKyAgICAgICAgKyAiIGhvdFNwb3Q9IiArIFN0cmluZzo6bnVtYmVyKGN1cnNvci5ob3RTcG90
KCkueCgpKSArICIsIiArIFN0cmluZzo6bnVtYmVyKGN1cnNvci5ob3RTcG90KCkueSgpKTsKKyAg
ICBpZiAoY3Vyc29yLmltYWdlKCkpIHsKKyAgICAgICAgSW50U2l6ZSBzaXplID0gY3Vyc29yLmlt
YWdlKCktPnNpemUoKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZCgiIGltYWdlPSIgKyBTdHJpbmc6
Om51bWJlcihzaXplLndpZHRoKCkpICsgIngiICsgU3RyaW5nOjpudW1iZXIoc2l6ZS5oZWlnaHQo
KSkpOworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0OworI2Vsc2UKKyAgICByZXR1cm4gIkZBSUw6
IEN1cnNvciBkZXRhaWxzIG5vdCBhdmFpbGFibGUgb24gdGhpcyBwbGF0Zm9ybS4iOworI2VuZGlm
Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDIxMTE3Mzk3YzgxMWM4
NThmM2IxZjQ5ZmM1N2QxNmFjMjVhNzExMjEuLjg0ZmEwMTJkYzIwNmMxYTk3NjkxYzNkZmNiZmQ5
NDdjOGZlYWZhNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtMjQyLDYgKzI0
Miw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHN0YXJ0VHJhY2tpbmdSZXBhaW50cyhEb2N1bWVudCos
IEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHN0b3BUcmFja2luZ1JlcGFpbnRzKERvY3VtZW50
KiwgRXhjZXB0aW9uQ29kZSYpOwogCisgICAgU3RyaW5nIGdldEN1cnJlbnRDdXJzb3JJbmZvKERv
Y3VtZW50KiwgRXhjZXB0aW9uQ29kZSYpOworCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEludGVy
bmFscyhEb2N1bWVudCopOwogICAgIERvY3VtZW50KiBjb250ZXh0RG9jdW1lbnQoKSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCA3YTVhYjdiOTBlZGI2NGI2NTBk
YzM0MzdiNDNhMWQ2OTk3MWIwMWFkLi4wNjRkMDExOGYwOWM2OGU0ODQxMGEwMzY1OWRkYzRjZTU5
MjZjNmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC0yMTAsNCArMjEw
LDcgQEAKICAgICAvLyAgc3RhcnRUcmFja2luZ1JlcGFpbnRzLCByZXBhaW50UmVjdHNBc1RleHQs
IHN0b3BUcmFja2luZ1JlcGFpbnRzLgogICAgIHZvaWQgc3RhcnRUcmFja2luZ1JlcGFpbnRzKGlu
IERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgdm9pZCBzdG9w
VHJhY2tpbmdSZXBhaW50cyhpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2VzIChET01FeGNlcHRp
b24pOworCisgICAgLy8gUmV0dXJucyBhIHN0cmluZyB3aXRoIGluZm9ybWF0aW9uIGFib3V0IHRo
ZSBtb3VzZSBjdXJzb3IgdXNlZCBhdCB0aGUgc3BlY2lmaWVkIGNsaWVudCBsb2NhdGlvbi4KKyAg
ICBET01TdHJpbmcgZ2V0Q3VycmVudEN1cnNvckluZm8oaW4gRG9jdW1lbnQgZG9jdW1lbnQpIHJh
aXNlcyAoRE9NRXhjZXB0aW9uKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCmluZGV4IGYzZTc4NTllZWI5ODUwNjUxZGJjZmU0
MTg0NzQ1MjMwZWNjNDc1NmUuLjVmZGIxNjlmMTE5ZDNlNWQ5YTYzYjc2YjYxNWRjN2RjMjQxNWJi
NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5n
RW51bXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5n
RW51bXMuY3BwCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVj
dC5oIgogI2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2FjaGVIb3N0LmgiCiAjaW5jbHVkZSAiQ29udGVu
dFNlY3VyaXR5UG9saWN5LmgiCisjaW5jbHVkZSAiQ3Vyc29yLmgiCiAjaW5jbHVkZSAiRG9jdW1l
bnRNYXJrZXIuaCIKICNpbmNsdWRlICJFZGl0b3JJbnNlcnRBY3Rpb24uaCIKICNpbmNsdWRlICJF
eGNlcHRpb25Db2RlLmgiCkBAIC02Niw3ICs2Nyw2IEBACiAjaW5jbHVkZSAiTm90aWZpY2F0aW9u
Q2xpZW50LmgiCiAjaW5jbHVkZSAiUGFnZVZpc2liaWxpdHlTdGF0ZS5oIgogI2luY2x1ZGUgIlBl
ZXJDb25uZWN0aW9uMDAuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUN1cnNvci5oIgogI2luY2x1ZGUg
IlJUQ0RhdGFDaGFubmVsRGVzY3JpcHRvci5oIgogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9u
SGFuZGxlckNsaWVudC5oIgogI2luY2x1ZGUgIlJlZmVycmVyUG9saWN5LmgiCkBAIC0yODUsNTAg
KzI4NSw1MCBAQCBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFwcGxpY2F0aW9uQ2Fj
aGVIb3N0OjpVcGRhdGVSZWFkeUV2ZW50LCBBcHBsaWNhdAogQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdDo6Q2FjaGVkRXZlbnQsIEFwcGxpY2F0aW9u
Q2FjaGVIb3N0OjpDQUNIRURfRVZFTlQpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShX
ZWJBcHBsaWNhdGlvbkNhY2hlSG9zdDo6T2Jzb2xldGVFdmVudCwgQXBwbGljYXRpb25DYWNoZUhv
c3Q6Ok9CU09MRVRFX0VWRU5UKTsKIAotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJD
dXJzb3JJbmZvOjpUeXBlUG9pbnRlciwgUGxhdGZvcm1DdXJzb3I6OlR5cGVQb2ludGVyKTsKLUNP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUNyb3NzLCBQbGF0
Zm9ybUN1cnNvcjo6VHlwZUNyb3NzKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2Vi
Q3Vyc29ySW5mbzo6VHlwZUhhbmQsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlSGFuZCk7Ci1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVJQmVhbSwgUGxhdGZvcm1D
dXJzb3I6OlR5cGVJQmVhbSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNv
ckluZm86OlR5cGVXYWl0LCBQbGF0Zm9ybUN1cnNvcjo6VHlwZVdhaXQpOwotQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlSGVscCwgUGxhdGZvcm1DdXJzb3I6
OlR5cGVIZWxwKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6
VHlwZUVhc3RSZXNpemUsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlRWFzdFJlc2l6ZSk7Ci1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVOb3J0aFJlc2l6ZSwgUGxh
dGZvcm1DdXJzb3I6OlR5cGVOb3J0aFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFdlYkN1cnNvckluZm86OlR5cGVOb3J0aEVhc3RSZXNpemUsIFBsYXRmb3JtQ3Vyc29yOjpU
eXBlTm9ydGhFYXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vy
c29ySW5mbzo6VHlwZU5vcnRoV2VzdFJlc2l6ZSwgUGxhdGZvcm1DdXJzb3I6OlR5cGVOb3J0aFdl
c3RSZXNpemUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpU
eXBlU291dGhSZXNpemUsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlU291dGhSZXNpemUpOwotQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlU291dGhFYXN0UmVzaXpl
LCBQbGF0Zm9ybUN1cnNvcjo6VHlwZVNvdXRoRWFzdFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVTb3V0aFdlc3RSZXNpemUsIFBsYXRmb3Jt
Q3Vyc29yOjpUeXBlU291dGhXZXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oV2ViQ3Vyc29ySW5mbzo6VHlwZVdlc3RSZXNpemUsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlV2Vz
dFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5
cGVOb3J0aFNvdXRoUmVzaXplLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZU5vcnRoU291dGhSZXNpemUp
OwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlRWFzdFdl
c3RSZXNpemUsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlRWFzdFdlc3RSZXNpemUpOwotQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTm9ydGhFYXN0U291dGhXZXN0
UmVzaXplLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZU5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZSk7Ci1D
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVOb3J0aFdlc3RT
b3V0aEVhc3RSZXNpemUsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlTm9ydGhXZXN0U291dGhFYXN0UmVz
aXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUNv
bHVtblJlc2l6ZSwgUGxhdGZvcm1DdXJzb3I6OlR5cGVDb2x1bW5SZXNpemUpOwotQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlUm93UmVzaXplLCBQbGF0Zm9y
bUN1cnNvcjo6VHlwZVJvd1Jlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdl
YkN1cnNvckluZm86OlR5cGVNaWRkbGVQYW5uaW5nLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZU1pZGRs
ZVBhbm5pbmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpU
eXBlRWFzdFBhbm5pbmcsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlRWFzdFBhbm5pbmcpOwotQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTm9ydGhQYW5uaW5nLCBQ
bGF0Zm9ybUN1cnNvcjo6VHlwZU5vcnRoUGFubmluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVOb3J0aEVhc3RQYW5uaW5nLCBQbGF0Zm9ybUN1cnNv
cjo6VHlwZU5vcnRoRWFzdFBhbm5pbmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShX
ZWJDdXJzb3JJbmZvOjpUeXBlTm9ydGhXZXN0UGFubmluZywgUGxhdGZvcm1DdXJzb3I6OlR5cGVO
b3J0aFdlc3RQYW5uaW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29y
SW5mbzo6VHlwZVNvdXRoUGFubmluZywgUGxhdGZvcm1DdXJzb3I6OlR5cGVTb3V0aFBhbm5pbmcp
OwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlU291dGhF
YXN0UGFubmluZywgUGxhdGZvcm1DdXJzb3I6OlR5cGVTb3V0aEVhc3RQYW5uaW5nKTsKLUNPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZVNvdXRoV2VzdFBhbm5p
bmcsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlU291dGhXZXN0UGFubmluZyk7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVXZXN0UGFubmluZywgUGxhdGZvcm1D
dXJzb3I6OlR5cGVXZXN0UGFubmluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdl
YkN1cnNvckluZm86OlR5cGVNb3ZlLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZU1vdmUpOwotQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlVmVydGljYWxUZXh0LCBQ
bGF0Zm9ybUN1cnNvcjo6VHlwZVZlcnRpY2FsVGV4dCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVDZWxsLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZUNlbGwp
OwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlQ29udGV4
dE1lbnUsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlQ29udGV4dE1lbnUpOwotQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlQWxpYXMsIFBsYXRmb3JtQ3Vyc29yOjpU
eXBlQWxpYXMpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpU
eXBlUHJvZ3Jlc3MsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlUHJvZ3Jlc3MpOwotQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTm9Ecm9wLCBQbGF0Zm9ybUN1cnNv
cjo6VHlwZU5vRHJvcCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvcklu
Zm86OlR5cGVDb3B5LCBQbGF0Zm9ybUN1cnNvcjo6VHlwZUNvcHkpOwotQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTm9uZSwgUGxhdGZvcm1DdXJzb3I6OlR5
cGVOb25lKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlw
ZU5vdEFsbG93ZWQsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlTm90QWxsb3dlZCk7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVab29tSW4sIFBsYXRmb3JtQ3Vy
c29yOjpUeXBlWm9vbUluKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29y
SW5mbzo6VHlwZVpvb21PdXQsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlWm9vbU91dCk7Ci1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVHcmFiLCBQbGF0Zm9ybUN1
cnNvcjo6VHlwZUdyYWIpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJ
bmZvOjpUeXBlR3JhYmJpbmcsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlR3JhYmJpbmcpOwotQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlQ3VzdG9tLCBQbGF0Zm9y
bUN1cnNvcjo6VHlwZUN1c3RvbSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1
cnNvckluZm86OlR5cGVQb2ludGVyLCBDdXJzb3I6OlBvaW50ZXIpOworQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlQ3Jvc3MsIEN1cnNvcjo6Q3Jvc3MpOwor
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlSGFuZCwgQ3Vy
c29yOjpIYW5kKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6
VHlwZUlCZWFtLCBDdXJzb3I6OklCZWFtKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
V2ViQ3Vyc29ySW5mbzo6VHlwZVdhaXQsIEN1cnNvcjo6V2FpdCk7CitDT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVIZWxwLCBDdXJzb3I6OkhlbHApOworQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlRWFzdFJlc2l6ZSwg
Q3Vyc29yOjpFYXN0UmVzaXplKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vy
c29ySW5mbzo6VHlwZU5vcnRoUmVzaXplLCBDdXJzb3I6Ok5vcnRoUmVzaXplKTsKK0NPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRoRWFzdFJlc2l6ZSwg
Q3Vyc29yOjpOb3J0aEVhc3RSZXNpemUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShX
ZWJDdXJzb3JJbmZvOjpUeXBlTm9ydGhXZXN0UmVzaXplLCBDdXJzb3I6Ok5vcnRoV2VzdFJlc2l6
ZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVTb3V0
aFJlc2l6ZSwgQ3Vyc29yOjpTb3V0aFJlc2l6ZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFdlYkN1cnNvckluZm86OlR5cGVTb3V0aEVhc3RSZXNpemUsIEN1cnNvcjo6U291dGhFYXN0
UmVzaXplKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlw
ZVNvdXRoV2VzdFJlc2l6ZSwgQ3Vyc29yOjpTb3V0aFdlc3RSZXNpemUpOworQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlV2VzdFJlc2l6ZSwgQ3Vyc29yOjpX
ZXN0UmVzaXplKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6
VHlwZU5vcnRoU291dGhSZXNpemUsIEN1cnNvcjo6Tm9ydGhTb3V0aFJlc2l6ZSk7CitDT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVFYXN0V2VzdFJlc2l6ZSwg
Q3Vyc29yOjpFYXN0V2VzdFJlc2l6ZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdl
YkN1cnNvckluZm86OlR5cGVOb3J0aEVhc3RTb3V0aFdlc3RSZXNpemUsIEN1cnNvcjo6Tm9ydGhF
YXN0U291dGhXZXN0UmVzaXplKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vy
c29ySW5mbzo6VHlwZU5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZSwgQ3Vyc29yOjpOb3J0aFdlc3RT
b3V0aEVhc3RSZXNpemUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJ
bmZvOjpUeXBlQ29sdW1uUmVzaXplLCBDdXJzb3I6OkNvbHVtblJlc2l6ZSk7CitDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVSb3dSZXNpemUsIEN1cnNvcjo6
Um93UmVzaXplKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6
VHlwZU1pZGRsZVBhbm5pbmcsIEN1cnNvcjo6TWlkZGxlUGFubmluZyk7CitDT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVFYXN0UGFubmluZywgQ3Vyc29yOjpF
YXN0UGFubmluZyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86
OlR5cGVOb3J0aFBhbm5pbmcsIEN1cnNvcjo6Tm9ydGhQYW5uaW5nKTsKK0NPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRoRWFzdFBhbm5pbmcsIEN1cnNv
cjo6Tm9ydGhFYXN0UGFubmluZyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1
cnNvckluZm86OlR5cGVOb3J0aFdlc3RQYW5uaW5nLCBDdXJzb3I6Ok5vcnRoV2VzdFBhbm5pbmcp
OworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlU291dGhQ
YW5uaW5nLCBDdXJzb3I6OlNvdXRoUGFubmluZyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFdlYkN1cnNvckluZm86OlR5cGVTb3V0aEVhc3RQYW5uaW5nLCBDdXJzb3I6OlNvdXRoRWFz
dFBhbm5pbmcpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpU
eXBlU291dGhXZXN0UGFubmluZywgQ3Vyc29yOjpTb3V0aFdlc3RQYW5uaW5nKTsKK0NPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZVdlc3RQYW5uaW5nLCBDdXJz
b3I6Oldlc3RQYW5uaW5nKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29y
SW5mbzo6VHlwZU1vdmUsIEN1cnNvcjo6TW92ZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFdlYkN1cnNvckluZm86OlR5cGVWZXJ0aWNhbFRleHQsIEN1cnNvcjo6VmVydGljYWxUZXh0
KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUNlbGws
IEN1cnNvcjo6Q2VsbCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvcklu
Zm86OlR5cGVDb250ZXh0TWVudSwgQ3Vyc29yOjpDb250ZXh0TWVudSk7CitDT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVBbGlhcywgQ3Vyc29yOjpBbGlhcyk7
CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVQcm9ncmVz
cywgQ3Vyc29yOjpQcm9ncmVzcyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1
cnNvckluZm86OlR5cGVOb0Ryb3AsIEN1cnNvcjo6Tm9Ecm9wKTsKK0NPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUNvcHksIEN1cnNvcjo6Q29weSk7CitDT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVOb25lLCBDdXJzb3I6
Ok5vbmUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBl
Tm90QWxsb3dlZCwgQ3Vyc29yOjpOb3RBbGxvd2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZVpvb21JbiwgQ3Vyc29yOjpab29tSW4pOworQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlWm9vbU91dCwgQ3Vyc29y
Ojpab29tT3V0KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6
VHlwZUdyYWIsIEN1cnNvcjo6R3JhYik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdl
YkN1cnNvckluZm86OlR5cGVHcmFiYmluZywgQ3Vyc29yOjpHcmFiYmluZyk7CitDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVDdXN0b20sIEN1cnNvcjo6Q3Vz
dG9tKTsKIAogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJFZGl0aW5nQWN0aW9uVHlw
ZWQsIEVkaXRvckluc2VydEFjdGlvblR5cGVkKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oV2ViRWRpdGluZ0FjdGlvblBhc3RlZCwgRWRpdG9ySW5zZXJ0QWN0aW9uUGFzdGVkKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkN1cnNvckluZm8uY3BwIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ3Vyc29ySW5mby5jcHAKaW5kZXggZDRiMGY4
MWZhZmE5OWIwNWJiMjUyYjM5ZTk0OGE5Mzg0MDdkZTU3My4uNjBiZTVkYmNhZjEwZjAxMGFhMjY4
M2Q3ZWFlNmE5YjczNDAwN2RhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViQ3Vyc29ySW5mby5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
Q3Vyc29ySW5mby5jcHAKQEAgLTM5LDkgKzM5LDkgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIFdl
YkN1cnNvckluZm86OldlYkN1cnNvckluZm8oY29uc3QgQ3Vyc29yJiBjdXJzb3IpCiB7Ci0gICAg
dHlwZSA9IHN0YXRpY19jYXN0PFR5cGU+KGN1cnNvci5pbXBsKCkudHlwZSgpKTsKLSAgICBob3RT
cG90ID0gY3Vyc29yLmltcGwoKS5ob3RTcG90KCk7Ci0gICAgY3VzdG9tSW1hZ2UgPSBjdXJzb3Iu
aW1wbCgpLmN1c3RvbUltYWdlKCk7CisgICAgdHlwZSA9IHN0YXRpY19jYXN0PFR5cGU+KGN1cnNv
ci50eXBlKCkpOworICAgIGhvdFNwb3QgPSBjdXJzb3IuaG90U3BvdCgpOworICAgIGN1c3RvbUlt
YWdlID0gY3Vyc29yLmltYWdlKCk7CiAjaWZkZWYgV0lOMzIKICAgICBleHRlcm5hbEhhbmRsZSA9
IDA7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZiBi
L1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgppbmRleCA5NjYyODJmOThjNGY3N2RmMTg5
MWNlMWU5ZjEwNTNlYWE5MTIwYmYwLi4yMjlkYTc1NmYzYmM5YWFkYTZkNDZhMDIwNjBmNDFhYzMx
NjY5ZDhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKKysrIGIv
U291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCkBAIC0xNTMsNiArMTUzLDggQEAgRVhQT1JU
UwogICAgICAgICA/PzBDbGllbnRSZWN0TGlzdEBXZWJDb3JlQEBBQUVAWFoKICAgICAgICAgPz8w
Q2xpZW50UmVjdExpc3RAV2ViQ29yZUBAQUFFQEFCVj8kVmVjdG9yQFZGbG9hdFF1YWRAV2ViQ29y
ZUBAJDBBQEBXVEZAQEBaCiAgICAgICAgID8/MUNsaWVudFJlY3RMaXN0QFdlYkNvcmVAQFFBRUBY
WgorICAgICAgICA/PzFDdXJzb3JAV2ViQ29yZUBAUUFFQFhaCisgICAgICAgID8/MEN1cnNvckBX
ZWJDb3JlQEBRQUVAQUJWMDFAQFoKICAgICAgICAgPz8wU3RyaW5nQFdURkBAUUFFQFBCREBaCiAg
ICAgICAgID8/MFN0cmluZ0BXVEZAQFFBRUBQQl9XQFoKICAgICAgICAgP2Fic29sdXRlQm91bmRp
bmdCb3hSZWN0QFJlbmRlck9iamVjdEBXZWJDb3JlQEBRQkU/QVZJbnRSZWN0QDJAX05AWgpAQCAt
MTYxLDYgKzE2Myw3IEBAIEVYUE9SVFMKICAgICAgICAgP2FkZEBBdG9taWNTdHJpbmdAV1RGQEBD
QT9BVj8kUGFzc1JlZlB0ckBWU3RyaW5nSW1wbEBXVEZAQEAyQFBCREBaCiAgICAgICAgID9hZGRA
QXRvbWljU3RyaW5nQFdURkBAQ0E/QVY/JFBhc3NSZWZQdHJAVlN0cmluZ0ltcGxAV1RGQEBAMkBQ
QkVAWgogICAgICAgICA/YWRkU2xvd0Nhc2VAQXRvbWljU3RyaW5nQFdURkBAQ0E/QVY/JFBhc3NS
ZWZQdHJAVlN0cmluZ0ltcGxAV1RGQEBAMkBQQVZTdHJpbmdJbXBsQDJAQFoKKyAgICAgICAgP2Fw
cGVuZEBTdHJpbmdAV1RGQEBRQUVYQUJWMTJAQFoKICAgICAgICAgP2NhY2hlRE9NU3RydWN0dXJl
QFdlYkNvcmVAQFlBUEFWU3RydWN0dXJlQEpTQ0BAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVYy
M0BQQlVDbGFzc0luZm9AM0BAWgogICAgICAgICA/Y2hpbGRJdGVtV2l0aFRhcmdldEBIaXN0b3J5
SXRlbUBXZWJDb3JlQEBRQkVQQVYxMkBBQlZTdHJpbmdAV1RGQEBAWgogICAgICAgICA/Y3JlYXRl
QEhUTUxDb250ZW50RWxlbWVudEBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWSFRNTENvbnRl
bnRFbGVtZW50QFdlYkNvcmVAQEBXVEZAQFBBVkRvY3VtZW50QDJAQFoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9X
ZWJLaXQyQ0ZMaXRlLmRlZgppbmRleCBjNzk2YjYwMTYxMTg2YTExNDM3NGY3ZDAyOGRhMTM4NWQz
ZGU2YTY2Li41ZWYwN2VhYmViYWQ3YjJjNzA0ODllMTRjYjYyOTg3Nzk0YzIzMDgwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKKysrIGIvU291cmNlL1dl
YktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCkBAIC0xNDYsNiArMTQ2LDggQEAgRVhQT1JUUwog
ICAgICAgICA/PzBDbGllbnRSZWN0TGlzdEBXZWJDb3JlQEBBQUVAWFoKICAgICAgICAgPz8wQ2xp
ZW50UmVjdExpc3RAV2ViQ29yZUBAQUFFQEFCVj8kVmVjdG9yQFZGbG9hdFF1YWRAV2ViQ29yZUBA
JDBBQEBXVEZAQEBaCiAgICAgICAgID8/MUNsaWVudFJlY3RMaXN0QFdlYkNvcmVAQFFBRUBYWgor
ICAgICAgICA/PzFDdXJzb3JAV2ViQ29yZUBAUUFFQFhaCisgICAgICAgID8/MEN1cnNvckBXZWJD
b3JlQEBRQUVAQUJWMDFAQFoKICAgICAgICAgPz8wU3RyaW5nQFdURkBAUUFFQFBCREBaCiAgICAg
ICAgID8/MFN0cmluZ0BXVEZAQFFBRUBQQl9XQFoKICAgICAgICAgP2Fic29sdXRlQm91bmRpbmdC
b3hSZWN0QFJlbmRlck9iamVjdEBXZWJDb3JlQEBRQkU/QVZJbnRSZWN0QDJAX05AWgpAQCAtMTU0
LDYgKzE1Niw3IEBAIEVYUE9SVFMKICAgICAgICAgP2FkZEBBdG9taWNTdHJpbmdAV1RGQEBDQT9B
Vj8kUGFzc1JlZlB0ckBWU3RyaW5nSW1wbEBXVEZAQEAyQFBCREBaCiAgICAgICAgID9hZGRAQXRv
bWljU3RyaW5nQFdURkBAQ0E/QVY/JFBhc3NSZWZQdHJAVlN0cmluZ0ltcGxAV1RGQEBAMkBQQkVA
WgogICAgICAgICA/YWRkU2xvd0Nhc2VAQXRvbWljU3RyaW5nQFdURkBAQ0E/QVY/JFBhc3NSZWZQ
dHJAVlN0cmluZ0ltcGxAV1RGQEBAMkBQQVZTdHJpbmdJbXBsQDJAQFoKKyAgICAgICAgP2FwcGVu
ZEBTdHJpbmdAV1RGQEBRQUVYQUJWMTJAQFoKICAgICAgICAgP2NhY2hlRE9NU3RydWN0dXJlQFdl
YkNvcmVAQFlBUEFWU3RydWN0dXJlQEpTQ0BAUEFWSlNET01HbG9iYWxPYmplY3RAMUBQQVYyM0BQ
QlVDbGFzc0luZm9AM0BAWgogICAgICAgICA/Y2hpbGRJdGVtV2l0aFRhcmdldEBIaXN0b3J5SXRl
bUBXZWJDb3JlQEBRQkVQQVYxMkBBQlZTdHJpbmdAV1RGQEBAWgogICAgICAgICA/Y3JlYXRlQEhU
TUxDb250ZW50RWxlbWVudEBXZWJDb3JlQEBTQT9BVj8kUGFzc1JlZlB0ckBWSFRNTENvbnRlbnRF
bGVtZW50QFdlYkNvcmVAQEBXVEZAQFBBVkRvY3VtZW50QDJAQFoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmls
dGVyCmluZGV4IGQ4MmYxNzk4NTExYzI2ZDQ3YmY1NDU0NTA0ZmMwNjY1ZmVjOTZiZTkuLmExNjlh
ODlkNzhlZTY5OGM5MTRkYjkzMzViZmMxNjFlZmMwYjFiZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9h
dXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZp
bHRlcgpAQCAtMTYyLDYgKzE2Miw4IEBAIF9aTjdXZWJDb3JlMTRTY3JvbGxhYmxlQXJlYTI4c2V0
U2Nyb2xsT2Zmc2V0RnJvbUludGVybmFsc0VSS05TXzhJbnRQb2ludEU7CiBfWk43V2ViQ29yZTEw
U2Nyb2xsVmlldzIzc2V0U2Nyb2xsYmFyc1N1cHByZXNzZWRFYmI7CiBfWk43V2ViQ29yZTEwU2Ny
b2xsVmlldzIxc2V0RGVsZWdhdGVzU2Nyb2xsaW5nRWI7CiBfWk43V2ViQ29yZTROb2RlMTRyZW1v
dmVkTGFzdFJlZkV2OworX1pON1dlYkNvcmU2Q3Vyc29yQzFFUktTMF87CitfWk43V2ViQ29yZTZD
dXJzb3JEMUV2OwogX1pON1dlYkNvcmU4U2V0dGluZ3MxNnNldEltYWdlc0VuYWJsZWRFYjsKIF9a
TjdXZWJDb3JlOFNldHRpbmdzMThzZXRGaXhlZEZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3Ry
aW5nRTExVVNjcmlwdENvZGU7CiBfWk43V2ViQ29yZThTZXR0aW5nczE4c2V0U2VyaWZGb250RmFt
aWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0UxMVVTY3JpcHRDb2RlOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDhmNjNhMjgw
ZjZiODVhYWZkMmQxMjFmYTNjNWU0MTMxZDExMTJmZWMuLjQxZTcyOTYwMDNiNDcxMjQyODcxODIx
OGVhMjZiNjgxYTg5YmFlMTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAxMi0xMS0wOSAgUmlj
ayBCeWVycyAgPHJieWVyc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgY3VzdG9tIENTUyBjdXJz
b3JzIGlnbm9yZSBob3RzcG90IHZhbHVlcyBlbWJlZGRlZCBpbiBDVVIgZmlsZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDA1OQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBtb3VzZSBjdXJzb3Ig
dGVzdCBjYXNlcyB0aGF0IHVzZSBDVVIgZmlsZXMgdGhhdCBoYXZlIGVtYmVkZGVkIGhvdHNwb3Qg
dmFsdWVzLgorCisgICAgICAgICogZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbDoKKyAgICAgICAgKiBm
YXN0L2V2ZW50cy9yZXNvdXJjZXMvZ3JlZW5ib3gtM2ZyYW1lcy5jdXI6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZXZlbnRzL3Jlc291cmNlcy9ncmVlbmJveC1ob3RzcG90MzUtNC5jdXI6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZXZlbnRzL3Jlc291cmNlcy9ncmVlbmJveC1ob3RzcG90NS00LmN1
cjogQWRkZWQuCisKKzIwMTItMTEtMDkgIFJpY2sgQnllcnMgIDxyYnllcnNAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIE5vIHRlc3RzIGZvciBjaGFuZ2luZyBtb3VzZSBjdXJzb3JzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA1NTAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBzaW1wbGUgdGVz
dCBjb3ZlcmluZyB0aGUgYmFzaWMgc2NlbmFyaW9zIG9mIGNoYW5naW5nIGEgbW91c2UKKyAgICAg
ICAgY3Vyc29yIHdpdGggQ1NTLiAgVGhpcyBpbmNsdWRlcyBtb3N0IG9mIHRoZSBjYXNlcyBjdXJy
ZW50bHkgY292ZXJlZAorICAgICAgICBieSBNYW51YWxUZXN0cy8qY3Vyc29yKi4KKworICAgICAg
ICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOiBBZGQgZmFpbHVyZSBleHBlY3RhdGlvbi4K
KwogMjAxMi0xMS0wOSAgQmFsYXpzIEtlbGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgW1F0XSBQaXhlbCB0ZXN0cyBuZWVkIHJlYmFzZWxpbmUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyZTVk
NjA0ZDZhZmU0MjM4NjYwNzU4NDkyZThlMWZhZTgwN2NlNzEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsODQgQEAKK1Rlc3QgdGhhdCBtb3VzZSBjdXJzb3JzIGFyZSBhcHBsaWVkIGNvcnJlY3RseS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0J1ZyAxMDA1NTAKKworIAorVEVTVCBD
QVNFOiBJbXBsaWNpdCBkZWZhdWx0IGN1cnNvcgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUlCZWFt
IGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogRXhwbGljaXQgZGVmYXVsdAorQ3Vyc29yIEluZm86
IHR5cGU9VHlwZVBvaW50ZXIgaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBFeHBsaWNpdCBhdXRv
CitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSUJlYW0gaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBO
byBjdXJzb3IKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVOb25lIGhvdFNwb3Q9MCwwCisKK1RFU1Qg
Q0FTRTogUG9pbnRlcgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAKKwor
VEVTVCBDQVNFOiAtd2Via2l0LWdyYWJiaW5nCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlR3JhYmJp
bmcgaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBFeGlzdGluZyAyNXgyNSBpbWFnZQorQ3Vyc29y
IEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBpbWFnZT0yNXgyNQorCitURVNUIENB
U0U6IEludmFsaWQgVVJMIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcgorQ3Vyc29yIEluZm86IHR5
cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBJbnZhbGlkIHdpdGggZmFsbGJh
Y2sgdG8gMjV4MjUgaW1hZ2UKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3BvdD0w
LDAgaW1hZ2U9MjV4MjUKKworVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90
IGF0ICgwLDApCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MCwwIGltYWdl
PTI1eDI1CisKK1RFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMjAs
MTApCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MjAsMTAgaW1hZ2U9MjV4
MjUKKworVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgtMSwtMSkK
K0N1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3BvdD0wLDAgaW1hZ2U9MjV4MjUKKwor
VEVTVCBDQVNFOiBJbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IG91dHNpZGUgaW1hZ2UgYXQg
KDMwLDMwKQorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBpbWFnZT0y
NXgyNQorCitURVNUIENBU0U6IEltYWdlIHdpdGggaW1wbGljaXQgaG90IHNwb3QgYXQgKDUsNCkK
K0N1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3BvdD01LDQgaW1hZ2U9MjV4MjUKKwor
VEVTVCBDQVNFOiBJbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgyMCwxMCkgb3ZlcnJp
ZGluZyBpbXBsaWNpdCBob3Qgc3BvdAorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RT
cG90PTIwLDEwIGltYWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBpbXBsaWNpdCBo
b3Qgc3BvdCBvdXRzaWRlIGltYWdlIGF0ICgzNSw0KQorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1
c3RvbSBob3RTcG90PTAsMCBpbWFnZT0yNXgyNQorCitURVNUIENBU0U6IENVUiBmaWxlIHdpdGgg
MyBmcmFtZXMsIGxhcmdlc3Qgb2Ygd2hpY2ggKDJuZCBmcmFtZSkgaXMgMjB4MTIgd2l0aCBob3Rz
cG90IGF0ICgxOCwxMSkKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3BvdD0xOCwx
MSBpbWFnZT0yMHgxMgorCitURVNUIENBU0U6IE92ZXIgbGFyZ2UgaW1hZ2Ugd2l0aCBmYWxsYmFj
ayB0byBwb2ludGVyCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSGFuZCBob3RTcG90PTAsMAorCitU
RVNUIENBU0U6IFNWRyBjdXJzb3IKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3Bv
dD0wLDAgaW1hZ2U9MjV4MjUKKworVEVTVCBDQVNFOiBNdWx0aXBsZSBpbnZhbGlkIGN1cnNvcnMg
d2l0aCBmYWxsYmFjayB0byBwb2ludGVyCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSGFuZCBob3RT
cG90PTAsMAorCitURVNUIENBU0U6IE5vbmV4aXN0ZW50IFNWRyBjdXJzb3Igd2l0aCBmYWxsYmFj
ayB0byBwb2ludGVyCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSGFuZCBob3RTcG90PTAsMAorCitU
RVNUIENBU0U6IEEgbGluayB3aXRoIGRlZmF1bHQgY3Vyc29yCitDdXJzb3IgSW5mbzogdHlwZT1U
eXBlSGFuZCBob3RTcG90PTAsMAorCitURVNUIENBU0U6IExpbmsgd2l0aCBkZWZhdWx0IGN1cnNv
ciBvdmVycmlkaW5nIHdhaXQKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCww
CisKK1RFU1QgQ0FTRTogV2FpdCBjdXJzb3Igd2hpY2ggc2hvdWxkIG5vdCBiZSBhZmZlY3RlZCBi
eSB1bmtub3duIGN1cnNvciBydWxlCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlV2FpdCBob3RTcG90
PTAsMAorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
MjJkYjJmNGM0ZjBjN2FmYWMzOTg3NDRjZGZkMWM0Mjg3MjQ0N2U0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWwKQEAgLTAsMCArMSwx
MjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHN0eWxlIHR5cGU9InRleHQv
Y3NzIj4KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9w
PgorPHA+PGEgaHJlZj1odHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAw
NTUwPkJ1ZyAxMDA1NTA8L2E+PC9wPgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAw
MC9zdmciIAorICAgICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIg
d2lkdGg9IjAiIGhlaWdodD0iMCI+CisgIDxkZWZzPgorICAgIDxjdXJzb3IgaWQ9ImdyZWVuYm94
IiB4bGluazpocmVmPSJyZXNvdXJjZXMvZ3JlZW5ib3gucG5nIiB4PSIwIiB5PSIwIi8+CisgIDwv
ZGVmcz4KKzwvc3ZnPgorPGRpdiBpZD0idGVzdC1jb250YWluZXIiPgorICA8ZGl2PkltcGxpY2l0
IGRlZmF1bHQgY3Vyc29yPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogZGVmYXVsdCc+RXhw
bGljaXQgZGVmYXVsdDwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IGF1dG8nPkV4cGxpY2l0
IGF1dG88L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiBub25lJz5ObyBjdXJzb3I8L2Rpdj4K
KyAgPGRpdiBzdHlsZT0nY3Vyc29yOiBwb2ludGVyJz5Qb2ludGVyPC9kaXY+CisgIDxkaXYgc3R5
bGU9J2N1cnNvcjogLXdlYmtpdC1ncmFiYmluZyc+LXdlYmtpdC1ncmFiYmluZzwvZGl2PgorICA8
ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSwgaGFuZCc+RXhp
c3RpbmcgMjV4MjUgaW1hZ2U8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwoZG9lc250
ZXhpc3QucG5nKSwgcG9pbnRlcic+SW52YWxpZCBVUkwgd2l0aCBmYWxsYmFjayB0byBwb2ludGVy
PC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKGRvZXNudGV4aXN0LnBuZyksIHVybChy
ZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSwgcG9pbnRlcic+SW52YWxpZCB3aXRoIGZhbGxiYWNrIHRv
IDI1eDI1IGltYWdlPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9n
cmVlbmJveC5wbmcpIDAgMCwgcG9pbnRlcic+SW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBh
dCAoMCwwKTwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5i
b3gucG5nKSAyMCAxMCwgcG9pbnRlcic+SW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAo
MjAsMTApPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJv
eC5wbmcpIC0xIC0xLCBwb2ludGVyJz5JbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgt
MSwtMSk8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94
LnBuZykgMzAgMzAsIHBvaW50ZXInPkltYWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3Qgb3V0c2lk
ZSBpbWFnZSBhdCAoMzAsMzApPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291
cmNlcy9ncmVlbmJveC1ob3RzcG90NS00LmN1ciksIHBvaW50ZXInPkltYWdlIHdpdGggaW1wbGlj
aXQgaG90IHNwb3QgYXQgKDUsNCk8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVz
b3VyY2VzL2dyZWVuYm94LWhvdHNwb3Q1LTQuY3VyKSAyMCAxMCwgcG9pbnRlcic+SW1hZ2Ugd2l0
aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMjAsMTApIG92ZXJyaWRpbmcgaW1wbGljaXQgaG90IHNw
b3Q8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LWhv
dHNwb3QzNS00LmN1ciksIHBvaW50ZXInPkltYWdlIHdpdGggaW1wbGljaXQgaG90IHNwb3Qgb3V0
c2lkZSBpbWFnZSBhdCAoMzUsNCk8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVz
b3VyY2VzL2dyZWVuYm94LTNmcmFtZXMuY3VyKSwgcG9pbnRlcic+Q1VSIGZpbGUgd2l0aCAzIGZy
YW1lcywgbGFyZ2VzdCBvZiB3aGljaCAoMm5kIGZyYW1lKSBpcyAyMHgxMiB3aXRoIGhvdHNwb3Qg
YXQgKDE4LDExKTwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvb25s
b2FkLWltYWdlLnBuZyksIHBvaW50ZXInPk92ZXIgbGFyZ2UgaW1hZ2Ugd2l0aCBmYWxsYmFjayB0
byBwb2ludGVyPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKCNncmVlbmJveCksIHBv
aW50ZXInPlNWRyBjdXJzb3I8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwobW91c2Ut
Y3Vyc29yLmh0bWwpLCB1cmwodW5rbm93bi1zY2hlbWU6Y3Vyc29yLnBuZyksIHBvaW50ZXInPk11
bHRpcGxlIGludmFsaWQgY3Vyc29ycyB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXI8L2Rpdj4KKyAg
PGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwoI25vbmV4aXN0ZW50KSwgcG9pbnRlcic+Tm9uZXhpc3Rl
bnQgU1ZHIGN1cnNvciB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXI8L2Rpdj4KKyAgPGRpdj48YSBo
cmVmPScjJz5BIGxpbmsgd2l0aCBkZWZhdWx0IGN1cnNvcjwvYT48L2Rpdj4KKyAgPGRpdiBzdHls
ZT0nY3Vyc29yOiB3YWl0Jz48YSBocmVmPScjJz5MaW5rIHdpdGggZGVmYXVsdCBjdXJzb3Igb3Zl
cnJpZGluZyB3YWl0PC9hPjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHdhaXQnPjxkaXYg
c3R5bGU9J2N1cnNvcjogZG9lc250ZXhpc3QnPldhaXQgY3Vyc29yIHdoaWNoIHNob3VsZCBub3Qg
YmUgYWZmZWN0ZWQgYnkgdW5rbm93biBjdXJzb3IgcnVsZTwvZGl2PjwvZGl2PgorPC9kaXY+Cis8
YnIvPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgordmFyIGltYWdlc0xlZnRU
b0xvYWQgPSAwOworCitmdW5jdGlvbiBvbkltYWdlTG9hZChlKSB7CisKKyAgICAvLyBUaGlzIGRl
YnVnIG91dHB1dCBpcyBub24tZGV0ZXJtaW5pc3RpYyBhbmQgY29udGFpbnMgYWJzb2x1dGUgVVJM
cyAtIG9ubHkgc2hvdyB3aGVuCisgICAgLy8gbm90IHJ1bm5pbmcgaW4gRFJUCisgICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgZGVidWcoICdFdmVudCAiJyArIGUudHlwZSArICci
OiAnICsgZS50YXJnZXQuc3JjKTsKKyAgICAgICAgCisgICAgaW1hZ2VzTGVmdFRvTG9hZC0tOwor
ICAgIGlmIChpbWFnZXNMZWZ0VG9Mb2FkID09IDApCisgICAgICAgIHJ1blRlc3RzKCk7CisgICAg
aWYgKGltYWdlc0xlZnRUb0xvYWQgPCAwKQorICAgICAgICB0ZXN0RmFpbGVkKCdHb3QgbW9yZSBs
b2FkL2Vycm9yIGNhbGxiYWNrIHRoYW4gZXhwZWN0ZWQuJyk7Cit9CisKK2Z1bmN0aW9uIG9uSW1h
Z2VVbmV4cGVjdGVkKGUpIHsKKwlpbWFnZXNMZWZ0VG9Mb2FkLS07CisgICAgdGVzdEZhaWxlZCgn
R290IHVuZXhwZWN0ZWQgXCcnICsgZS50eXBlICsgJ1wnIGV2ZW50IGZvciBpbWFnZTogJyArIGUu
dGFyZ2V0LnNyYyk7IAorfQorCitmdW5jdGlvbiBydW5UZXN0cygpIHsKKyAgICAvLyBDYW4ndCBk
byBhbnl0aGluZyB1c2VmdWwgaGVyZSB3aXRob3V0IGV2ZW50U2VuZGVyCisgICAgaWYgKHdpbmRv
dy5ldmVudFNlbmRlcikgeworICAgICAgICB2YXIgbm9kZXNUb1Rlc3QgPSBkb2N1bWVudC5xdWVy
eVNlbGVjdG9yQWxsKCcjdGVzdC1jb250YWluZXIgPiBkaXYnKTsKKyAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBub2Rlc1RvVGVzdC5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgdmFyIG5v
ZGUgPSBub2Rlc1RvVGVzdFtpXTsKKyAgICAgICAgICAgIGRlYnVnKCdURVNUIENBU0U6ICcgKyBu
b2RlLnRleHRDb250ZW50KTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKG5v
ZGUub2Zmc2V0TGVmdCArIDMsIG5vZGUub2Zmc2V0VG9wICsgMyk7CisgICAgICAgICAgICAvLyBO
b3RlIHRoYXQgd2UgY291bGQgcmV0dXJuIHN0cnVjdHVyZWQgZGF0YSB3aGljaCB3ZSB0aGVuIHZh
bGlkYXRlLCBidXQgdGhhdCdzIGEgbG90IG1vcmUKKyAgICAgICAgICAgIC8vIHdvcmsgYW5kIGlz
IHJlZHVuZGFudCB3aXRoIHJlbHlpbmcgb24gdGhlIGV4cGVjdGVkIG91dHB1dCBhbnl3YXkuICBC
ZXR0ZXIgdG8ganVzdCBkdW1wCisgICAgICAgICAgICAvLyBpdCBhbmQgaW5zcGVjdCB0aGF0IGl0
IG1hdGNoZXMgdGhlIGRlc2NyaXB0aW9uLgorICAgICAgICAgICAgZGVidWcoJ0N1cnNvciBJbmZv
OiAnICsgd2luZG93LmludGVybmFscy5nZXRDdXJyZW50Q3Vyc29ySW5mbyhkb2N1bWVudCkpOwor
ICAgICAgICAgICAgZGVidWcoJycpOworICAgICAgICB9CisgICAgICAgIC8vIFRoaXMgdGV4dCBp
cyByZWR1bmRhbnQgd2l0aCB0aGUgdGVzdCBvdXRwdXQgLSBoaWRlIGl0CisgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0LWNvbnRhaW5lcicpLnN0eWxlLmRpc3BsYXkgPSAnbm9u
ZSc7CisgICAgfQorICAgIAorICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitkZXNjcmlwdGlvbigi
VGVzdCB0aGF0IG1vdXNlIGN1cnNvcnMgYXJlIGFwcGxpZWQgY29ycmVjdGx5LiIpOworCitpZiAo
IXdpbmRvdy5ldmVudFNlbmRlcikgeworICAgIHRlc3RGYWlsZWQoJ1RoaXMgdGVzdCByZXF1aXJl
cyBEdW1wUmVuZGVyVHJlZScpOworfQorCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
KyAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit9CisKKy8vIE5vdyB3YWl0IGZvciBl
YWNoIGltYWdlIHRvIGxvYWQgb3IgZmFpbCB0byBsb2FkIGJlZm9yZSBzdGFydGluZyB0ZXN0cy4K
Ky8vIFdpdGhvdXQgdGhpcyB3ZSBjYW4gZ2V0IG51bGwgaW1hZ2VzIGluIHRoZSBjdXJzb3JzIC0g
ZWcuIG5vIGtub3duIHNpemUuCit2YXIgaW1hZ2VzVG9Mb2FkID0gWworICAgIHsgdXJsOiAncmVz
b3VyY2VzL2dyZWVuYm94LnBuZycgfSwKKyAgICB7IHVybDogJ3Jlc291cmNlcy9ncmVlbmJveC1o
b3RzcG90NS00LmN1cicgfSwKKyAgICB7IHVybDogJ3Jlc291cmNlcy9ncmVlbmJveC1ob3RzcG90
MzUtNC5jdXInIH0sCisgICAgeyB1cmw6ICdyZXNvdXJjZXMvZ3JlZW5ib3gtM2ZyYW1lcy5jdXIn
IH0sCisgICAgeyB1cmw6ICdkb2VzbnRleGlzdC5wbmcnLCBlcnJvcjogdHJ1ZSB9LAorICAgIHsg
dXJsOiAndW5rbm93bi1zY2hlbWU6Y3Vyc29yLnBuZycsIGVycm9yOiB0cnVlIH0sCisgICAgeyB1
cmw6ICdtb3VzZS1jdXJzb3IuaHRtbCcsIGVycm9yOiB0cnVlIH0sCisgICAgeyB1cmw6ICcjbm9u
ZXhpc3RlbnQnLCBlcnJvcjogdHJ1ZSB9IF07CitpbWFnZXNMZWZ0VG9Mb2FkID0gaW1hZ2VzVG9M
b2FkLmxlbmd0aDsKK2ZvciAodmFyIGkgPSAwOyBpIDwgaW1hZ2VzVG9Mb2FkLmxlbmd0aDsgaSsr
KSB7CisgICAgdmFyIGltZyA9IG5ldyBJbWFnZSgpOworICAgIHZhciBleHBlY3RFcnJvciA9IGlt
YWdlc1RvTG9hZFtpXS5lcnJvcjsgCisgICAgaW1nLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBl
eHBlY3RFcnJvciA/IG9uSW1hZ2VVbmV4cGVjdGVkIDogb25JbWFnZUxvYWQpOworICAgIGltZy5h
ZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIGV4cGVjdEVycm9yID8gb25JbWFnZUxvYWQgOiBvbklt
YWdlVW5leHBlY3RlZCk7CisgICAgaW1nLnNyYyA9IGltYWdlc1RvTG9hZFtpXS51cmw7Cit9CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvZ3JlZW5ib3gtM2ZyYW1lcy5jdXIgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvZ3JlZW5ib3gtM2ZyYW1lcy5jdXIKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMmIwOWQ2NDE2Y2I1Nzc3YzNlMDdlNDZhZmYwYTRjNDMyZjRhZWQ0NgpHSVQgYmluYXJ5IHBh
dGNoCmxpdGVyYWwgMzkwCnpjbVpRelV9OWlxOzlfTkI7OXl7M2grdHF+RmF1JXs5d3I3TTI1eUU0
S3oxSnheUnFLQ0BHYEo1V0J9UTZqMF9BSwp6SyQ7N1I4NXd7QUtwK0FwQXB7ZVF7VTY0X0xmZDFD
ZnlAUCZCTFQhUGF9QUpgNW9Jb3RkUTJ1aXJWdCh4a2I2S24KVl88JEpaOXZMTHtCKUpDP09ofiNC
T2FOPU8yVGNGfgoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3QzNS00LmN1ciBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy9ncmVlbmJveC1ob3RzcG90MzUtNC5jdXIKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOTIyMjZjNTFlMjQ1ZDNmODQ2OGFmNjgyODlkNTMxN2ZkZTY5MmVkMApHSVQgYmlu
YXJ5IHBhdGNoCmxpdGVyYWwgMjcwCnpjbVpRelV9OWlva2QkTyVQLWI5Wl9gJCV5QU9eJTVLcjlL
d01uS0Y2Z2RtVXRDTHNoOWpRdDxScGJLM35ZZysmfApDdjspS2QKCmxpdGVyYWwgMApIY21WP2Qw
MDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy9ncmVl
bmJveC1ob3RzcG90NS00LmN1ciBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy9n
cmVlbmJveC1ob3RzcG90NS00LmN1cgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YWU3YzljMjcwNjk4YzNlYjVmZTY5
MDYwNjc1YThjN2JlZjc5NDA2CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAyNzAKemNtWlF6VX05
aW9rZCRPJVV9YSFvX2AkJXlBT14lNUtyOUt3TW5LRjZnZG1VdENMc2g5alF0PFJwYkszfllnKyZx
CkNKT2ljeAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYTFmOGFhN2JmMWEwZGZiM2ZhMjhlMzU3
YjMyYTM4ZjBhYzBkMjRiYS4uMDZlOGU1ZGNmYjY2ZTQ4NzhiZGFhZTE2ZmEyZjM0ZTBkMzBlMDAy
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25z
CkBAIC00MjkxLDMgKzQyOTEsNiBAQCB3ZWJraXQub3JnL2IvMTAxNTQ3IHN2Zy9jdXN0b20vZm9y
ZWlnbk9iamVjdC1jcmFzaC1vbi1ob3Zlci54bWwgWyBJbWFnZU9ubHlGYWlsdQogd2Via2l0Lm9y
Zy9iLzEwMTU0NyBzdmcvY3VzdG9tL2hpdC10ZXN0LXVuY2xvc2VkLXN1YnBhdGhzLnN2ZyBbIElt
YWdlT25seUZhaWx1cmUgXQogIyBUaGUgZm9sbG93aW5nIHRlc3QgaGFzIHByaW9yIGV4cGVjdGF0
aW9ucyB3aGljaCB3ZXJlIGRpc2FibGVkLiBSZS1lbmFibGUgd2hlbiByZW1vdmluZyB0aGlzOgog
d2Via2l0Lm9yZy9iLzEwMTU0NyBzdmcvY3VzdG9tL2hpdC10ZXN0LXdpdGgtYnIueGh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KKworIyBUaGlzIHRlc3Qgd2lsbCBiZSBlbmFibGVkIHNob3J0bHkg
d2hlbiBjaHJvbWl1bSBtb3ZlcyB0byB0aGUgVVNFKExBWllfTkFUSVZFX0NVUlNPUikgaW5mcmFz
dHJ1Y3R1cmUKK3dlYmtpdC5vcmcvYi8xMDE1MDEgZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLmh0
bWwgWyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBh
ZjZkOTc2ZmYwMzUxYTk5MTMyN2FmNzM1Y2I5ZDg5ZTUwZTZmNjRhLi4zZTQ0ODJjODQ2NGQyZDBk
MDU5NDFlZGNiZmQ5NWUxNjRjYjA2ZmFjIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMTEtMDkgIFJpY2sgQnllcnMgIDxyYnllcnNA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIE5vIHRlc3RzIGZvciBjaGFuZ2luZyBtb3VzZSBjdXJz
b3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA1
NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
bmVjZXNzYXJ5IGV4cG9ydHMgZm9yIEludGVybmFsczo6Z2V0Q3VycmVudEN1cnNvckluZm8KKwor
ICAgICAgICAqIFNvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXI6CisKIDIwMTItMTEtMDgg
IFJhcGhhZWwgS3VibyBkYSBDb3N0YSAgPHJhcGhhZWwua3Viby5kYS5jb3N0YUBpbnRlbC5jb20+
CiAKICAgICAgICAgW0VGTF0gVHVybiBXVEZfVVNFX1RJTEVEX0JBQ0tJTkdfU1RPUkUgaW4gT3B0
aW9uc0VmbC5jbWFrZS4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173309</attachid>
            <date>2012-11-09 07:44:35 -0800</date>
            <delta_ts>2012-11-09 16:42:14 -0800</delta_ts>
            <desc>Combined with fixes for 100550 and 101501 for EWS</desc>
            <filename>bug-100059-20121109104242.patch</filename>
            <type>text/plain</type>
            <size>62360</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MDU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDE0Y2JlNzM1MzBhZjlk
ODM1ZTk2MzJjYWY1NDE4MTU2MTVhZWJiZS4uYzkxNTI3ODE3ZGNkZmZmZWQ2OGQzY2I0OWY3ZmU1
NzIxYjBhMzNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkyIEBACisyMDEyLTExLTA5ICBSaWNr
IEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBjdXN0b20gQ1NTIGN1cnNv
cnMgaWdub3JlIGhvdHNwb3QgdmFsdWVzIGVtYmVkZGVkIGluIENVUiBmaWxlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMDU5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHJlYWRpbmcgdGhlIGhv
dHNwb3QgdmFsdWVzIHRvIHRoZSBJQ09JbWFnZURlY29kZXIgKGZvciBDVVIgZmlsZXMgb25seSks
CisgICAgICAgIGFuZCBwbHVtYiBpdCB0aHJvdWdoIHNvIHRoYXQgdGhlIGV4aXN0aW5nIGNhbGxz
IHRvIEltYWdlU291cmNlOjpnZXRIb3RTcG90CisgICAgICAgIGFjdHVhbGx5IHJldHVybiB0aGUg
aG90IHNwb3QgdmFsdWUgd2hlbiB0aGVyZSBpcyBvbmUuCisKKyAgICAgICAgVGVzdDogZmFzdC9l
dmVudHMvbW91c2UtY3Vyc29yLmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0lt
YWdlU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlU291cmNlOjpnZXRIb3RTcG90
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVj
b2Rlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZWZlcnJlZEltYWdlRGVjb2Rlcjo6aG90U3Bv
dCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkRlZmVycmVkSW1hZ2VE
ZWNvZGVyOjpob3RTcG90QXRJbmRleCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuaDoKKyAgICAgICAgKERlZmVycmVkSW1hZ2VEZWNv
ZGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkltYWdlRGVjb2Rlcjo6aG90U3BvdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZURlY29kZXI6OmhvdFNwb3RBdEluZGV4KToKKyAgICAgICAgKEltYWdlRGVjb2Rl
cik6CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6OmhvdFNwb3QpOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6OmhvdFNw
b3RBdEluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OklDT0ltYWdlRGVjb2Rlcjo6cHJvY2Vzc0Rp
cmVjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6OnJlYWREaXJlY3Rv
cnlFbnRyeSk6CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdl
RGVjb2Rlci5oOgorICAgICAgICAoSUNPSW1hZ2VEZWNvZGVyKToKKyAgICAgICAgKEljb25EaXJl
Y3RvcnlFbnRyeSk6CisKKzIwMTItMTEtMDggIFJpY2sgQnllcnMgIDxyYnllcnNAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIE1vdmUgY2hyb21pdW0gdG8gVVNFKExBWllfTkFUSVZFX0NVUlNPUikK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTUwMQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgc2lt
cGxpZmllcyBjdXJzb3IgaGFuZGxpbmcgaW4gY2hyb21pdW0gYW5kIHVuaWZpZXMgaXQgd2l0aCBv
dGhlcgorICAgICAgICBwb3J0cyBmb3IgZWFzaWVyIGNvZGUgc2hhcmluZyBhbmQgdGVzdGluZyBi
eSBtb3ZpbmcgdG8gdGhlCisgICAgICAgIFVTRV9MQVpZX0NVUlNPUiBtb2RlbCBhbmQgZWxpbWlu
YXRpbmcgUGxhdGZvcm1DdXJzb3IgZW50aXJlbHkuCisKKyAgICAgICAgUGxhdGZvcm1DdXJzb3Ig
YWRkcyBubyB2YWx1ZSBpbiBjaHJvbWl1bSBzaW5jZSB0aGUgc2FuZGJveGluZyBtb2RlbAorICAg
ICAgICByZXF1aXJlcyB0aGUgY3Vyc29yIGluZm9ybWF0aW9uIGJlIG1hcnNoYWxsZWQgdG8gdGhl
IGJyb3dzZXIgcHJvY2VzcworICAgICAgICBiZWZvcmUgYmVpbmcgdHVybmVkIGludG8gYSByZWFs
IE9TIGN1cnNvci4KKworICAgICAgICBUaGlzIGFsc28gY2hhbmdlcyBob3RzcG90IGJlaGF2aW9y
IGluIGNocm9taXVtIHRvIG1hdGNoIHRoYXQgb2Ygb3RoZXIKKyAgICAgICAgcG9ydHMgKHJlYWQg
aG90c3BvdCBmcm9tIGN1ciBmaWxlcywgZXRjLikuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogcGxhdGZvcm0vQ3Vy
c29yLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9D
dXJzb3JDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDdXJzb3I6OkN1cnNvcik6Cisg
ICAgICAgIChXZWJDb3JlOjpDdXJzb3I6Om9wZXJhdG9yPSk6CisgICAgICAgIChXZWJDb3JlOjpD
dXJzb3I6On5DdXJzb3IpOgorICAgICAgICAoV2ViQ29yZTo6Q3Vyc29yOjplbnN1cmVQbGF0Zm9y
bUN1cnNvcik6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1DdXJzb3IuaDog
UmVtb3ZlZC4KKworMjAxMi0xMS0wOSAgUmljayBCeWVycyAgPHJieWVyc0BjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgTm8gdGVzdHMgZm9yIGNoYW5naW5nIG1vdXNlIGN1cnNvcnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDU1MAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBpbmZyYXN0cnVjdHVy
ZSB0byBrZWVwIHRyYWNrIG9mIHRoZSBsYXN0IHNldCBtb3VzZSBjdXJzb3IsCisgICAgICAgIGFu
ZCB0aGVuIHRvIHF1ZXJ5IGl0IGZyb20gRHVtcFJlbmRlclRyZWUuCisKKyAgICAgICAgVGVzdDog
ZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWwKKworICAgICAgICAqIFdlYkNvcmUuZXhwLmlu
OiBBZGQgQ3Vyc29yIGNvcHkgY3RvciBleHBvcnQKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlTW92ZUV2
ZW50KTogS2VlcCB0cmFjayBvZiBsYXN0IHNldCBtb3VzZSBjdXJzb3IKKyAgICAgICAgKiBwYWdl
L0V2ZW50SGFuZGxlci5oOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpjdXJyZW50
TW91c2VDdXJzb3IpOiBOZXcgZ2V0dGVyIGZvciBsYXN0IHNldCBtb3VzZSBjdXJzb3IKKyAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjdXJzb3JUeXBl
VG9TdHJpbmcpOiBIZWxwZXIgdG8gY29udmVydCBjdXJzb3IgdHlwZSB0byBlbnVtCisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6Z2V0Q3VycmVudEN1cnNv
ckluZm8pOiBOZXcgZnVuY3Rpb24gdG8gcmV0dXJuIGEgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIGxh
c3Qgc2V0IG1vdXNlIGN1cnNvcgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6IERlY2xh
cmUgZ2V0Q3VycmVudEN1cnNvckluZm8KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6
IERlY2xhcmUgZ2V0Q3VycmVudEN1cnNvckluZm8KKwogMjAxMi0xMS0wNyAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiB3cm9u
ZyBvdXRwdXQgZm9yIGVtcHR5IG9iamVjdCB7fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRl
eCBkNTg2ZmJhNDMyMjM5MmRlY2JiNzUzY2M0ZGMwYjRhMDAxNDgxYWRiLi43MTZjNGJlZjNhODlm
NjYxMDdiMzhiMjljYjRlYTA0N2JjNWNhM2RlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpA
QCAtMzE1LDYgKzMxNSwyMCBAQAogCiAgICAgICAgICogc3JjL0xpbmtIaWdobGlnaHQuY3BwOgog
CisyMDEyLTExLTA4ICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBNb3ZlIGNocm9taXVtIHRvIFVTRShMQVpZX05BVElWRV9DVVJTT1IpCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE1MDEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgY29udmVyc2lvbiBmcm9t
IEN1cnNvciB0byBXZWJDdXJzb3JJbmZvIHRvIHJlbW92ZSB0aGUKKyAgICAgICAgaW50ZXJtZWRp
YXRlIChhbmQgdXNlbGVzcykgc3RlcCBvZiBQbGF0Zm9ybUN1cnNvci4KKworICAgICAgICAqIHNy
Yy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcDoKKyAgICAgICAgKiBzcmMvV2ViQ3Vyc29ySW5mby5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYkN1cnNvckluZm86OldlYkN1cnNvckluZm8pOgorCiAy
MDEyLTExLTA3ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkLiAgUm9sbGVkIERFUFMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjUwMTE2ODRk
MGYxOWQ5YTVkMzFlYzk3YTBjOTRjMmZjZWM5NzljMi4uYTE2NjkxMGU4ZWYzYWM2NzNlM2JmMjhl
ZDM4YzI1NzAwOWRjNWRiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTExLTA5
ICBSaWNrIEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBObyB0ZXN0cyBm
b3IgY2hhbmdpbmcgbW91c2UgY3Vyc29ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIG5lY2Vzc2FyeSBleHBvcnRzIGZvciBJbnRlcm5hbHM6Omdl
dEN1cnJlbnRDdXJzb3JJbmZvCisKKyAgICAgICAgKiB3aW4vV2ViS2l0Mi5kZWY6CisgICAgICAg
ICogd2luL1dlYktpdDJDRkxpdGUuZGVmOgorCiAyMDEyLTExLTA5ICBZYWVsIEFoYXJvbiAgPHlh
ZWwuYWhhcm9uQGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXVtXSzJdW0FDXSBSYW5kb20gY3Jh
c2hlcyBpbiBsYXlvdXQgdGVzdHMgb24gdGhlIGJvdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCBh
NWYyMzY3YWIxMmU1NTRkNDhmOGFjMTQ1NTJhZGEwY2U2M2ZhMWNhLi5mMjFkZDAyMDNjYmJiZTM5
ZWFhYTQ4ZjBhMDBhYTUwNjhkYzNjZGFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTcxMSw2
ICsxNzExLDcgQEAgX19aTjdXZWJDb3JlNFBhZ2UyMXdpbmRvd1NjcmVlbkRpZENoYW5nZUVqCiBf
X1pON1dlYkNvcmU1RnJhbWU5bm9kZUltYWdlRVBOU180Tm9kZUUKIF9fWk43V2ViQ29yZTZDdXJz
b3I4ZnJvbVR5cGVFTlMwXzRUeXBlRQogX19aTjdXZWJDb3JlNkN1cnNvckMxRVBOU181SW1hZ2VF
UktOU184SW50UG9pbnRFCitfX1pON1dlYkNvcmU2Q3Vyc29yQzFFUktTMF8KIF9fWk43V2ViQ29y
ZTZDdXJzb3JEMUV2CiBfX1pON1dlYkNvcmU2Q3Vyc29yYVNFUktTMF8KIF9fWk43V2ViQ29yZTZF
ZGl0b3IxM2NhbkRIVE1MUGFzdGVFdgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGM0NjU2MDY5NTBmY2U2
Y2Q2ZDE2NDU5ZmMyYjA5ZGJjZTlhMGQ4NmMuLjJiM2VmZWJhODlmYWQwZmVlMDRjODMwZjE2ZDY3
N2QxNGQxNzMwMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTQ2OTEsNyArNDY5MSw2IEBACiAgICAg
ICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vTUlNRVR5cGVSZWdpc3RyeUNocm9taXVtLmNwcCcs
CiAgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vUGFnZUNsaWVudENocm9taXVtLmgnLAog
ICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1Bhc3RlYm9hcmRDaHJvbWl1bS5jcHAnLAot
ICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtQ3Vyc29yLmgnLAogICAgICAg
ICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtS2V5Ym9hcmRFdmVudENocm9taXVtLmNw
cCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1TY3JlZW5DaHJvbWl1
bS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU3VwcG9ydC5o
JywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCAwN2UxYjczYWI5ODIzMmIw
ZjgzNDQxOTY0NWYzOGQ1Yzk2NWZjNGFhLi43ZDc4ODgzZjQ2MjQyMjc1MDQ2YzIwNTM2MDQ3YmYy
MmNiMDZlNWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0xNTI2LDcg
KzE1MjYsNyBAQCBPcHRpb25hbEN1cnNvciBFdmVudEhhbmRsZXI6OnNlbGVjdEN1cnNvcihjb25z
dCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiBldgogICAgIH0KICAgICByZXR1cm4gcG9p
bnRlckN1cnNvcigpOwogfQotICAgIAorCiBzdGF0aWMgTGF5b3V0UG9pbnQgZG9jdW1lbnRQb2lu
dEZvcldpbmRvd1BvaW50KEZyYW1lKiBmcmFtZSwgY29uc3QgSW50UG9pbnQmIHdpbmRvd1BvaW50
KQogewogICAgIEZyYW1lVmlldyogdmlldyA9IGZyYW1lLT52aWV3KCk7CkBAIC0xODYyLDcgKzE4
NjIsOCBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VNb3ZlRXZlbnQoY29uc3QgUGxh
dGZvcm1Nb3VzZUV2ZW50JiBtb3VzZUV2ZW50LCBIaQogICAgICAgICBpZiAoRnJhbWVWaWV3KiB2
aWV3ID0gbV9mcmFtZS0+dmlldygpKSB7CiAgICAgICAgICAgICBPcHRpb25hbEN1cnNvciBvcHRp
b25hbEN1cnNvciA9IHNlbGVjdEN1cnNvcihtZXYsIHNjcm9sbGJhcik7CiAgICAgICAgICAgICBp
ZiAob3B0aW9uYWxDdXJzb3IuaXNDdXJzb3JDaGFuZ2UoKSkKLSAgICAgICAgICAgICAgICB2aWV3
LT5zZXRDdXJzb3Iob3B0aW9uYWxDdXJzb3IuY3Vyc29yKCkpOworICAgICAgICAgICAgICAgIG1f
Y3VycmVudE1vdXNlQ3Vyc29yID0gb3B0aW9uYWxDdXJzb3IuY3Vyc29yKCk7CisgICAgICAgICAg
ICAgICAgdmlldy0+c2V0Q3Vyc29yKG1fY3VycmVudE1vdXNlQ3Vyc29yKTsKICAgICAgICAgfQog
ICAgIH0KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IDkzYzZiMTBlYjk4
NzQ0ZmJmNTY3YTgxOWYyODE2OGYzMjJhMWMxYzguLjJjMWI1MWVhMTg4MmM5NjBlZmE4NDFiYzMz
MTlhNDFlY2Y2ZmY5YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtMjYsNiAr
MjYsNyBAQAogI2lmbmRlZiBFdmVudEhhbmRsZXJfaAogI2RlZmluZSBFdmVudEhhbmRsZXJfaAog
CisjaW5jbHVkZSAiQ3Vyc29yLmgiCiAjaW5jbHVkZSAiRHJhZ0FjdGlvbnMuaCIKICNpbmNsdWRl
ICJEcmFnU3RhdGUuaCIKICNpbmNsdWRlICJGb2N1c0RpcmVjdGlvbi5oIgpAQCAtMTQxLDYgKzE0
Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlc2l6ZUxheWVyRGVzdHJveWVkKCk7CiAKICAgICBJ
bnRQb2ludCBjdXJyZW50TW91c2VQb3NpdGlvbigpIGNvbnN0OworICAgIEN1cnNvciBjdXJyZW50
TW91c2VDdXJzb3IoKSBjb25zdCB7IHJldHVybiBtX2N1cnJlbnRNb3VzZUN1cnNvcjsgfQogCiAg
ICAgc3RhdGljIEZyYW1lKiBzdWJmcmFtZUZvclRhcmdldE5vZGUoTm9kZSopOwogICAgIHN0YXRp
YyBGcmFtZSogc3ViZnJhbWVGb3JIaXRUZXN0UmVzdWx0KGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0
VGVzdFJlc3VsdHMmKTsKQEAgLTQyMCw2ICs0MjIsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxO
b2RlPiBtX2xhc3ROb2RlVW5kZXJNb3VzZTsKICAgICBSZWZQdHI8RnJhbWU+IG1fbGFzdE1vdXNl
TW92ZUV2ZW50U3ViZnJhbWU7CiAgICAgUmVmUHRyPFNjcm9sbGJhcj4gbV9sYXN0U2Nyb2xsYmFy
VW5kZXJNb3VzZTsKKyAgICBDdXJzb3IgbV9jdXJyZW50TW91c2VDdXJzb3I7CiAKICAgICBpbnQg
bV9jbGlja0NvdW50OwogICAgIFJlZlB0cjxOb2RlPiBtX2NsaWNrTm9kZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0N1cnNvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vQ3Vyc29yLmgKaW5kZXggM2IwZTVmZWFjZWQ0OTJkMzFkNWFlMTVmNzE4ZGQ0NGI4YTdmNTI3
NS4uZGVmMWU1NDY2YTUwMjczYzU0MWEyMDc0OGU5MWU1NjkzNTY3ZGI5ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ3Vyc29yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vQ3Vyc29yLmgKQEAgLTQxLDggKzQxLDYgQEAgdHlwZWRlZiBISUNPTiBIQ1VSU09SOwog
I2luY2x1ZGUgIkdSZWZQdHJHdGsuaCIKICNlbGlmIFBMQVRGT1JNKFFUKQogI2luY2x1ZGUgPFFD
dXJzb3I+Ci0jZWxpZiBQTEFURk9STShDSFJPTUlVTSkKLSNpbmNsdWRlICJQbGF0Zm9ybUN1cnNv
ci5oIgogI2VsaWYgUExBVEZPUk0oQkxBQ0tCRVJSWSkKICNpbmNsdWRlIDxCbGFja0JlcnJ5UGxh
dGZvcm1DdXJzb3IuaD4KICNlbmRpZgpAQCAtNjAsNyArNTgsOSBAQCB0eXBlZGVmIHN0cnVjdCBI
SUNPTl9fICpISUNPTjsKIHR5cGVkZWYgSElDT04gSENVUlNPUjsKICNlbmRpZgogCi0jaWYgUExB
VEZPUk0oV0lOKSB8fCBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0o
UVQpIHx8IFBMQVRGT1JNKEVGTCkKKy8vIEZJWE1FOiBNYXliZSB3ZSdyZSBwYXN0IHRoZSBwb2lu
dCBvZiBvcHRpbmcgaW4sIGJ1dCBzaG91bGQgaW5zdGVhZCBvcHQtb3V0LgorLy8gTG9va3MgbGlr
ZSBpdCdzIGp1c3QgUExBVEZPUk0oV1gpIGFuZCBQTEFURk9STShCTEFDS0JFUlJZKSBzdGlsbCBu
b3QgdXNpbmcgdGhpcz8KKyNpZiBQTEFURk9STShXSU4pIHx8IFBMQVRGT1JNKE1BQykgfHwgUExB
VEZPUk0oR1RLKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShD
SFJPTUlVTSkKICNkZWZpbmUgV1RGX1VTRV9MQVpZX05BVElWRV9DVVJTT1IgMQogI2VuZGlmCiAK
QEAgLTkwLDggKzkwLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgUUN1cnNv
ciogUGxhdGZvcm1DdXJzb3I7CiAjZWxpZiBQTEFURk9STShXWCkKICAgICB0eXBlZGVmIHd4Q3Vy
c29yKiBQbGF0Zm9ybUN1cnNvcjsKLSNlbGlmIFBMQVRGT1JNKENIUk9NSVVNKQotICAgIC8vIFNl
ZSBQbGF0Zm9ybUN1cnNvci5oCiAjZWxpZiBQTEFURk9STShCTEFDS0JFUlJZKQogICAgIHR5cGVk
ZWYgQmxhY2tCZXJyeTo6UGxhdGZvcm06OkJsYWNrQmVycnlDdXJzb3IgUGxhdGZvcm1DdXJzb3I7
CiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ3Vy
c29yQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ3Vyc29y
Q2hyb21pdW0uY3BwCmluZGV4IDM0ZDE2ZDQyNmRhNDBmMDk3N2ZiZTA3M2EwYWFmYzRlYmUwNmYx
NmYuLjlkZjdmMjNmNjE2NzYyNzUzZjhmMDczODEyZTAzMzFlZjg5NjZlYzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0N1cnNvckNocm9taXVtLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DdXJzb3JDaHJvbWl1bS5jcHAKQEAg
LTM2LDMzNCArMzYsMzAgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogQ3Vyc29yOjpDdXJzb3Io
Y29uc3QgQ3Vyc29yJiBvdGhlcikKLSAgICA6IG1fcGxhdGZvcm1DdXJzb3Iob3RoZXIubV9wbGF0
Zm9ybUN1cnNvcikKLXsKLX0KLQotQ3Vyc29yOjpDdXJzb3IoSW1hZ2UqIGltYWdlLCBjb25zdCBJ
bnRQb2ludCYgaG90U3BvdCkKLSAgICA6IG1fcGxhdGZvcm1DdXJzb3IoaW1hZ2UsIGhvdFNwb3Qp
Ci17Ci19Ci0KLUN1cnNvcjo6fkN1cnNvcigpCisgICAgOiBtX3R5cGUob3RoZXIubV90eXBlKQor
ICAgICwgbV9pbWFnZShvdGhlci5tX2ltYWdlKQorICAgICwgbV9ob3RTcG90KG90aGVyLm1faG90
U3BvdCkKKyAgICAsIG1fcGxhdGZvcm1DdXJzb3Iob3RoZXIubV9wbGF0Zm9ybUN1cnNvcikKIHsK
IH0KIAogQ3Vyc29yJiBDdXJzb3I6Om9wZXJhdG9yPShjb25zdCBDdXJzb3ImIG90aGVyKQogewor
ICAgIG1fdHlwZSA9IG90aGVyLm1fdHlwZTsKKyAgICBtX2ltYWdlID0gb3RoZXIubV9pbWFnZTsK
KyAgICBtX2hvdFNwb3QgPSBvdGhlci5tX2hvdFNwb3Q7CiAgICAgbV9wbGF0Zm9ybUN1cnNvciA9
IG90aGVyLm1fcGxhdGZvcm1DdXJzb3I7CiAgICAgcmV0dXJuICp0aGlzOwogfQogCi1DdXJzb3I6
OkN1cnNvcihQbGF0Zm9ybUN1cnNvciBjKQotICAgIDogbV9wbGF0Zm9ybUN1cnNvcihjKQotewot
fQotCi1jb25zdCBDdXJzb3ImIHBvaW50ZXJDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNf
TE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVQb2ludGVyKSk7Ci0gICAgcmV0
dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgY3Jvc3NDdXJzb3IoKQotewotICAgIERFRklORV9T
VEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVDcm9zcykpOwotICAg
IHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIGhhbmRDdXJzb3IoKQotewotICAgIERFRklO
RV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVIYW5kKSk7Ci0g
ICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgaUJlYW1DdXJzb3IoKQotewotICAgIERF
RklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVJQmVhbSkp
OwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIHdhaXRDdXJzb3IoKQotewotICAg
IERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVXYWl0
KSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgaGVscEN1cnNvcigpCi17Ci0g
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZUhl
bHApKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBlYXN0UmVzaXplQ3Vyc29y
KCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29y
OjpUeXBlRWFzdFJlc2l6ZSkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIG5v
cnRoUmVzaXplQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywg
KFBsYXRmb3JtQ3Vyc29yOjpUeXBlTm9ydGhSZXNpemUpKTsKLSAgICByZXR1cm4gYzsKLX0KLQot
Y29uc3QgQ3Vyc29yJiBub3J0aEVhc3RSZXNpemVDdXJzb3IoKQotewotICAgIERFRklORV9TVEFU
SUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVOb3J0aEVhc3RSZXNpemUp
KTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBub3J0aFdlc3RSZXNpemVDdXJz
b3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJz
b3I6OlR5cGVOb3J0aFdlc3RSZXNpemUpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vy
c29yJiBzb3V0aFJlc2l6ZUN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJz
b3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZVNvdXRoUmVzaXplKSk7Ci0gICAgcmV0dXJuIGM7
Ci19Ci0KLWNvbnN0IEN1cnNvciYgc291dGhFYXN0UmVzaXplQ3Vyc29yKCkKLXsKLSAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlU291dGhFYXN0
UmVzaXplKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgc291dGhXZXN0UmVz
aXplQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRm
b3JtQ3Vyc29yOjpUeXBlU291dGhXZXN0UmVzaXplKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNv
bnN0IEN1cnNvciYgd2VzdFJlc2l6ZUN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NB
TChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZVdlc3RSZXNpemUpKTsKLSAgICByZXR1
cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBub3J0aFNvdXRoUmVzaXplQ3Vyc29yKCkKLXsKLSAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlTm9y
dGhTb3V0aFJlc2l6ZSkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIGVhc3RX
ZXN0UmVzaXplQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywg
KFBsYXRmb3JtQ3Vyc29yOjpUeXBlRWFzdFdlc3RSZXNpemUpKTsKLSAgICByZXR1cm4gYzsKLX0K
LQotY29uc3QgQ3Vyc29yJiBub3J0aEVhc3RTb3V0aFdlc3RSZXNpemVDdXJzb3IoKQotewotICAg
IERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVOb3J0
aEVhc3RTb3V0aFdlc3RSZXNpemUpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29y
JiBub3J0aFdlc3RTb3V0aEVhc3RSZXNpemVDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNf
TE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVOb3J0aFdlc3RTb3V0aEVhc3RS
ZXNpemUpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBjb2x1bW5SZXNpemVD
dXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1D
dXJzb3I6OlR5cGVDb2x1bW5SZXNpemUpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vy
c29yJiByb3dSZXNpemVDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29y
LCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVSb3dSZXNpemUpKTsKLSAgICByZXR1cm4gYzsKLX0K
LQotY29uc3QgQ3Vyc29yJiBtaWRkbGVQYW5uaW5nQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlTWlkZGxlUGFubmluZykp
OwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIGVhc3RQYW5uaW5nQ3Vyc29yKCkK
LXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpU
eXBlRWFzdFBhbm5pbmcpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBub3J0
aFBhbm5pbmdDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAo
UGxhdGZvcm1DdXJzb3I6OlR5cGVOb3J0aFBhbm5pbmcpKTsKLSAgICByZXR1cm4gYzsKLX0KLQot
Y29uc3QgQ3Vyc29yJiBub3J0aEVhc3RQYW5uaW5nQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlTm9ydGhFYXN0UGFubmlu
ZykpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIG5vcnRoV2VzdFBhbm5pbmdD
dXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1D
dXJzb3I6OlR5cGVOb3J0aFdlc3RQYW5uaW5nKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0
IEN1cnNvciYgc291dGhQYW5uaW5nQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlU291dGhQYW5uaW5nKSk7Ci0gICAgcmV0
dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgc291dGhFYXN0UGFubmluZ0N1cnNvcigpCi17Ci0g
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZVNv
dXRoRWFzdFBhbm5pbmcpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBzb3V0
aFdlc3RQYW5uaW5nQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwg
YywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlU291dGhXZXN0UGFubmluZykpOwotICAgIHJldHVybiBj
OwotfQotCi1jb25zdCBDdXJzb3ImIHdlc3RQYW5uaW5nQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlV2VzdFBhbm5pbmcp
KTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBtb3ZlQ3Vyc29yKCkgCi17Ci0g
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZU1v
dmUpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiB2ZXJ0aWNhbFRleHRDdXJz
b3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJz
b3I6OlR5cGVWZXJ0aWNhbFRleHQpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29y
JiBjZWxsQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBs
YXRmb3JtQ3Vyc29yOjpUeXBlQ2VsbCkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJz
b3ImIGNvbnRleHRNZW51Q3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNv
ciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlQ29udGV4dE1lbnUpKTsKLSAgICByZXR1cm4gYzsK
LX0KLQotY29uc3QgQ3Vyc29yJiBhbGlhc0N1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19M
T0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZUFsaWFzKSk7Ci0gICAgcmV0dXJu
IGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgcHJvZ3Jlc3NDdXJzb3IoKQotewotICAgIERFRklORV9T
VEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVQcm9ncmVzcykpOwot
ICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIG5vRHJvcEN1cnNvcigpCi17Ci0gICAg
REVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZU5vRHJv
cCkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIGNvcHlDdXJzb3IoKQotewot
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVD
b3B5KSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9uZUN1cnNvcigpCi17
Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlw
ZU5vbmUpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBub3RBbGxvd2VkQ3Vy
c29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vy
c29yOjpUeXBlTm90QWxsb3dlZCkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3Im
IHpvb21JbkN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQ
bGF0Zm9ybUN1cnNvcjo6VHlwZVpvb21JbikpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBD
dXJzb3ImIHpvb21PdXRDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29y
LCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVab29tT3V0KSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0K
LWNvbnN0IEN1cnNvciYgZ3JhYkN1cnNvcigpCitDdXJzb3I6On5DdXJzb3IoKQogewotICAgIERF
RklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVHcmFiKSk7
Ci0gICAgcmV0dXJuIGM7CiB9CiAKLWNvbnN0IEN1cnNvciYgZ3JhYmJpbmdDdXJzb3IoKQordm9p
ZCBDdXJzb3I6OmVuc3VyZVBsYXRmb3JtQ3Vyc29yKCkgY29uc3QKIHsKLSAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlR3JhYmJpbmcpKTsKLSAg
ICByZXR1cm4gYzsKKyAgICAvLyBDaHJvbWl1bSBoYXMgbm8gUGxhdGZvcm1DdXJzb3IuCisgICAg
VU5SRUFDSEFCTEVfRk9SX1BMQVRGT1JNKCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
LQotI2RlZmluZSBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKGN1cnNvcl9uYW1lLCBwbGF0
Zm9ybV9jdXJzb3JfbmFtZSkgXAotICAgIENPTVBJTEVfQVNTRVJUKGludChXZWJDb3JlOjpDdXJz
b3I6OmN1cnNvcl9uYW1lKSA9PSBpbnQoV2ViQ29yZTo6UGxhdGZvcm1DdXJzb3I6OnBsYXRmb3Jt
X2N1cnNvcl9uYW1lKSwgbWlzbWF0Y2hpbmdfZW51bXMpCi0KLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oUG9pbnRlciwgVHlwZVBvaW50ZXIpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShDcm9zcywgVHlwZUNyb3NzKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oSGFu
ZCwgVHlwZUhhbmQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShJQmVhbSwgVHlwZUlC
ZWFtKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2FpdCwgVHlwZVdhaXQpOwotQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShIZWxwLCBUeXBlSGVscCk7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVhc3RSZXNpemUsIFR5cGVFYXN0UmVzaXplKTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oTm9ydGhSZXNpemUsIFR5cGVOb3J0aFJlc2l6ZSk7Ci1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKE5vcnRoRWFzdFJlc2l6ZSwgVHlwZU5vcnRoRWFzdFJlc2l6
ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKE5vcnRoV2VzdFJlc2l6ZSwgVHlwZU5v
cnRoV2VzdFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFNvdXRoUmVzaXpl
LCBUeXBlU291dGhSZXNpemUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShTb3V0aEVh
c3RSZXNpemUsIFR5cGVTb3V0aEVhc3RSZXNpemUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShTb3V0aFdlc3RSZXNpemUsIFR5cGVTb3V0aFdlc3RSZXNpemUpOwotQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShXZXN0UmVzaXplLCBUeXBlV2VzdFJlc2l6ZSk7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKE5vcnRoU291dGhSZXNpemUsIFR5cGVOb3J0aFNvdXRoUmVzaXpl
KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRWFzdFdlc3RSZXNpemUsIFR5cGVFYXN0
V2VzdFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKE5vcnRoRWFzdFNvdXRo
V2VzdFJlc2l6ZSwgVHlwZU5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKE5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZSwgVHlwZU5vcnRoV2VzdFNv
dXRoRWFzdFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKENvbHVtblJlc2l6
ZSwgVHlwZUNvbHVtblJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFJvd1Jl
c2l6ZSwgVHlwZVJvd1Jlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKE1pZGRs
ZVBhbm5pbmcsIFR5cGVNaWRkbGVQYW5uaW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRWFzdFBhbm5pbmcsIFR5cGVFYXN0UGFubmluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKE5vcnRoUGFubmluZywgVHlwZU5vcnRoUGFubmluZyk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKE5vcnRoRWFzdFBhbm5pbmcsIFR5cGVOb3J0aEVhc3RQYW5uaW5nKTsKLUNP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTm9ydGhXZXN0UGFubmluZywgVHlwZU5vcnRoV2Vz
dFBhbm5pbmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShTb3V0aFBhbm5pbmcsIFR5
cGVTb3V0aFBhbm5pbmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShTb3V0aEVhc3RQ
YW5uaW5nLCBUeXBlU291dGhFYXN0UGFubmluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFNvdXRoV2VzdFBhbm5pbmcsIFR5cGVTb3V0aFdlc3RQYW5uaW5nKTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oV2VzdFBhbm5pbmcsIFR5cGVXZXN0UGFubmluZyk7Ci1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKE1vdmUsIFR5cGVNb3ZlKTsKLUNPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oVmVydGljYWxUZXh0LCBUeXBlVmVydGljYWxUZXh0KTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oQ2VsbCwgVHlwZUNlbGwpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShDb250ZXh0TWVudSwgVHlwZUNvbnRleHRNZW51KTsKLUNPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oQWxpYXMsIFR5cGVBbGlhcyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFByb2dyZXNzLCBUeXBlUHJvZ3Jlc3MpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShOb0Ryb3AsIFR5cGVOb0Ryb3ApOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShDb3B5
LCBUeXBlQ29weSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKE5vbmUsIFR5cGVOb25l
KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTm90QWxsb3dlZCwgVHlwZU5vdEFsbG93
ZWQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShab29tSW4sIFR5cGVab29tSW4pOwot
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShab29tT3V0LCBUeXBlWm9vbU91dCk7Ci1DT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEdyYWIsIFR5cGVHcmFiKTsKLUNPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oR3JhYmJpbmcsIFR5cGVHcmFiYmluZyk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEN1c3RvbSwgVHlwZUN1c3RvbSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybUN1cnNvci5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1DdXJzb3IuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggM2QxZWJiZDA2NTBkNjhmMjJhNzU3NTkzNDRmNGY0ZDIxMTBhYmVlZS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybUN1cnNvci5oCisrKyAvZGV2L251bGwKQEAgLTEsMTEx
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKGMpIDIwMDgsIDIwMDksIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKiAKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQot
ICogbWV0OgotICogCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
LSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCi0gKiAKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBQbGF0Zm9ybUN1cnNvcl9oCi0jZGVmaW5lIFBsYXRm
b3JtQ3Vyc29yX2gKLQotI2luY2x1ZGUgIkltYWdlLmgiCi0jaW5jbHVkZSAiSW50UG9pbnQuaCIK
LSNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotICAgIGNs
YXNzIFBsYXRmb3JtQ3Vyc29yIHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIGVudW0gVHlwZSB7Ci0g
ICAgICAgICAgICBUeXBlUG9pbnRlciwKLSAgICAgICAgICAgIFR5cGVDcm9zcywKLSAgICAgICAg
ICAgIFR5cGVIYW5kLAotICAgICAgICAgICAgVHlwZUlCZWFtLAotICAgICAgICAgICAgVHlwZVdh
aXQsCi0gICAgICAgICAgICBUeXBlSGVscCwKLSAgICAgICAgICAgIFR5cGVFYXN0UmVzaXplLAot
ICAgICAgICAgICAgVHlwZU5vcnRoUmVzaXplLAotICAgICAgICAgICAgVHlwZU5vcnRoRWFzdFJl
c2l6ZSwKLSAgICAgICAgICAgIFR5cGVOb3J0aFdlc3RSZXNpemUsCi0gICAgICAgICAgICBUeXBl
U291dGhSZXNpemUsCi0gICAgICAgICAgICBUeXBlU291dGhFYXN0UmVzaXplLAotICAgICAgICAg
ICAgVHlwZVNvdXRoV2VzdFJlc2l6ZSwKLSAgICAgICAgICAgIFR5cGVXZXN0UmVzaXplLAotICAg
ICAgICAgICAgVHlwZU5vcnRoU291dGhSZXNpemUsCi0gICAgICAgICAgICBUeXBlRWFzdFdlc3RS
ZXNpemUsCi0gICAgICAgICAgICBUeXBlTm9ydGhFYXN0U291dGhXZXN0UmVzaXplLAotICAgICAg
ICAgICAgVHlwZU5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZSwKLSAgICAgICAgICAgIFR5cGVDb2x1
bW5SZXNpemUsCi0gICAgICAgICAgICBUeXBlUm93UmVzaXplLAotICAgICAgICAgICAgVHlwZU1p
ZGRsZVBhbm5pbmcsCi0gICAgICAgICAgICBUeXBlRWFzdFBhbm5pbmcsCi0gICAgICAgICAgICBU
eXBlTm9ydGhQYW5uaW5nLAotICAgICAgICAgICAgVHlwZU5vcnRoRWFzdFBhbm5pbmcsCi0gICAg
ICAgICAgICBUeXBlTm9ydGhXZXN0UGFubmluZywKLSAgICAgICAgICAgIFR5cGVTb3V0aFBhbm5p
bmcsCi0gICAgICAgICAgICBUeXBlU291dGhFYXN0UGFubmluZywKLSAgICAgICAgICAgIFR5cGVT
b3V0aFdlc3RQYW5uaW5nLAotICAgICAgICAgICAgVHlwZVdlc3RQYW5uaW5nLAotICAgICAgICAg
ICAgVHlwZU1vdmUsCi0gICAgICAgICAgICBUeXBlVmVydGljYWxUZXh0LAotICAgICAgICAgICAg
VHlwZUNlbGwsCi0gICAgICAgICAgICBUeXBlQ29udGV4dE1lbnUsCi0gICAgICAgICAgICBUeXBl
QWxpYXMsCi0gICAgICAgICAgICBUeXBlUHJvZ3Jlc3MsCi0gICAgICAgICAgICBUeXBlTm9Ecm9w
LAotICAgICAgICAgICAgVHlwZUNvcHksCi0gICAgICAgICAgICBUeXBlTm9uZSwKLSAgICAgICAg
ICAgIFR5cGVOb3RBbGxvd2VkLAotICAgICAgICAgICAgVHlwZVpvb21JbiwKLSAgICAgICAgICAg
IFR5cGVab29tT3V0LAotICAgICAgICAgICAgVHlwZUdyYWIsCi0gICAgICAgICAgICBUeXBlR3Jh
YmJpbmcsCi0gICAgICAgICAgICBUeXBlQ3VzdG9tCi0gICAgICAgIH07Ci0KLSAgICAgICAgLy8g
Q3Vyc29yLmggYXNzdW1lcyB0aGF0IGl0IGNhbiBpbml0aWFsaXplIHVzIHRvIDAuCi0gICAgICAg
IGV4cGxpY2l0IFBsYXRmb3JtQ3Vyc29yKGludCB0eXBlID0gMCkgOiBtX3R5cGUoVHlwZVBvaW50
ZXIpIHt9Ci0gICAgICAgIAotICAgICAgICBQbGF0Zm9ybUN1cnNvcihUeXBlIHR5cGUpIDogbV90
eXBlKHR5cGUpIHt9Ci0KLSAgICAgICAgUGxhdGZvcm1DdXJzb3IoSW1hZ2UqIGltYWdlLCBjb25z
dCBJbnRQb2ludCYgaG90U3BvdCkKLSAgICAgICAgICAgIDogbV9pbWFnZShpbWFnZSkKLSAgICAg
ICAgICAgICwgbV9ob3RTcG90KGhvdFNwb3QpCi0gICAgICAgICAgICAsIG1fdHlwZShUeXBlQ3Vz
dG9tKSB7fQotCi0gICAgICAgIFBhc3NSZWZQdHI8SW1hZ2U+IGN1c3RvbUltYWdlKCkgY29uc3Qg
eyByZXR1cm4gbV9pbWFnZTsgfQotICAgICAgICBjb25zdCBJbnRQb2ludCYgaG90U3BvdCgpIGNv
bnN0IHsgcmV0dXJuIG1faG90U3BvdDsgfQotICAgICAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJl
dHVybiBtX3R5cGU7IH0KLQotICAgIHByaXZhdGU6Ci0gICAgICAgIFJlZlB0cjxJbWFnZT4gbV9p
bWFnZTsKLSAgICAgICAgSW50UG9pbnQgbV9ob3RTcG90OwotICAgICAgICBUeXBlIG1fdHlwZTsK
LSAgICB9OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3BwCmluZGV4IDU2ODU3YTQz
ZjU0ODQyM2U4YmQ5MmQzMjJkOTZkODEwYzJiYjY3OWEuLjBmNDZkNzAzYzdhOGM2ZGJkYmQyZDg5
NjUwMjExYzM0M2VmMGIwY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ltYWdlU291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9JbWFnZVNvdXJjZS5jcHAKQEAgLTEyMSw5ICsxMjEsOSBAQCBJbnRTaXplIEltYWdlU291
cmNlOjpmcmFtZVNpemVBdEluZGV4KHNpemVfdCBpbmRleCwgUmVzcGVjdEltYWdlT3JpZW50YXRp
b25FbnVtCiAgICAgcmV0dXJuIHNpemU7CiB9CiAKLWJvb2wgSW1hZ2VTb3VyY2U6OmdldEhvdFNw
b3QoSW50UG9pbnQmKSBjb25zdAorYm9vbCBJbWFnZVNvdXJjZTo6Z2V0SG90U3BvdChJbnRQb2lu
dCYgaG90U3BvdCkgY29uc3QKIHsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIG1fZGVj
b2RlciA/IG1fZGVjb2Rlci0+aG90U3BvdChob3RTcG90KSA6IGZhbHNlOwogfQogCiBzaXplX3Qg
SW1hZ2VTb3VyY2U6OmJ5dGVzRGVjb2RlZFRvRGV0ZXJtaW5lUHJvcGVydGllcygpIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EZWZl
cnJlZEltYWdlRGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9EZWZlcnJlZEltYWdlRGVjb2Rlci5jcHAKaW5kZXggODYzY2ExMjdlMDI5ZGIyNmUy
MGVkOGVjNjc0N2ZmOTU3MWYyMTdiZC4uMWQ4YmI4MjNiMGI3MTNkN2NkMjAzYTQ3ZGE1OWM2YmFh
ZTU1ZTVhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL0RlZmVycmVkSW1hZ2VEZWNvZGVyLmNwcApAQCAtMTU4LDQg
KzE1OCwxNCBAQCBJbWFnZU9yaWVudGF0aW9uIERlZmVycmVkSW1hZ2VEZWNvZGVyOjpvcmllbnRh
dGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIG1fYWN0dWFsRGVjb2RlciA/IG1fYWN0dWFsRGVjb2Rl
ci0+b3JpZW50YXRpb24oKSA6IG1fb3JpZW50YXRpb247CiB9CiAKK2Jvb2wgRGVmZXJyZWRJbWFn
ZURlY29kZXI6OmhvdFNwb3QoSW50UG9pbnQmIGhvdFNwb3QpIGNvbnN0Cit7CisgICAgcmV0dXJu
IG1fYWN0dWFsRGVjb2RlciA/IG1fYWN0dWFsRGVjb2Rlci0+aG90U3BvdChob3RTcG90KSA6IGZh
bHNlOworfQorCitib29sIERlZmVycmVkSW1hZ2VEZWNvZGVyOjpob3RTcG90QXRJbmRleChzaXpl
X3QgaW5kZXgsIEludFBvaW50JiBob3RTcG90KSBjb25zdAoreworICAgIHJldHVybiBtX2FjdHVh
bERlY29kZXIgPyBtX2FjdHVhbERlY29kZXItPmhvdFNwb3RBdEluZGV4KGluZGV4LCBob3RTcG90
KSA6IGZhbHNlOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVjb2Rl
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJ
bWFnZURlY29kZXIuaAppbmRleCA2MGQ4Y2MxMDg4OTk2Mjk2YmNjMGQ1MDUyOGJhMzYzMDEzZDRj
ZDg4Li43MWNmYTU3NzAyNjRjZDQxNWM5MjBiNzA2MjBmYmE5ZDVhNjNmZGMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdl
RGVjb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0RlZmVycmVkSW1hZ2VEZWNvZGVyLmgKQEAgLTU3LDYgKzU3LDggQEAgcHVibGljOgogICAgIGJv
b2wgZnJhbWVIYXNBbHBoYUF0SW5kZXgoc2l6ZV90IGluZGV4KSBjb25zdDsKICAgICB1bnNpZ25l
ZCBmcmFtZUJ5dGVzQXRJbmRleChzaXplX3QgaW5kZXgpIGNvbnN0OwogICAgIEltYWdlT3JpZW50
YXRpb24gb3JpZW50YXRpb24oKSBjb25zdDsKKyAgICBib29sIGhvdFNwb3QoSW50UG9pbnQmKSBj
b25zdDsKKyAgICBib29sIGhvdFNwb3RBdEluZGV4KHNpemVfdCwgSW50UG9pbnQmKSBjb25zdDsK
IAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBEZWZlcnJlZEltYWdlRGVjb2RlcihJbWFnZURlY29k
ZXIqIGFjdHVhbERlY29kZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
bWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaAppbmRleCA4YzBkYjM5MjlmNTQyMDhiNDdmYTM2
MzgyNzM2YmZiMzE1NjQ3ZjU3Li4xY2Y3ZmE4Mzk1YzI2YWUwNWRkZmYzMTU0YzdiNmYwY2FhMjNm
NTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9J
bWFnZURlY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVy
cy9JbWFnZURlY29kZXIuaApAQCAtMzc4LDYgKzM3OCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byopIGNvbnN0OwogCisgICAgICAgIHZpcnR1YWwgYm9vbCBob3RTcG90KEludFBvaW50JikgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICAgICAgdmlydHVhbCBib29sIGhvdFNwb3RBdEluZGV4
KHNpemVfdCwgSW50UG9pbnQmKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorCiAgICAgcHJvdGVj
dGVkOgogICAgICAgICB2b2lkIHByZXBhcmVTY2FsZURhdGFJZk5lY2Vzc2FyeSgpOwogICAgICAg
ICBpbnQgdXBwZXJCb3VuZFNjYWxlZFgoaW50IG9yaWdYLCBpbnQgc2VhcmNoU3RhcnQgPSAwKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9J
Q09JbWFnZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2Rl
cnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5jcHAKaW5kZXggMmRiM2VjZjZjZTdmY2M3MzJjZTI0MzVk
ZGU0ZGM5Nzk4YzY4NjMwOC4uZDY3NWJlNjg1MmI4MDlkNmVhYzk5OTkwYjU0NWFlYWFhYjAyN2Nm
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNv
L0lDT0ltYWdlRGVjb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2Ut
ZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5jcHAKQEAgLTEzMyw2ICsxMzMsMjQgQEAgYm9v
bCBJQ09JbWFnZURlY29kZXI6OnNldEZhaWxlZCgpCiAgICAgcmV0dXJuIEltYWdlRGVjb2Rlcjo6
c2V0RmFpbGVkKCk7CiB9CiAKK2Jvb2wgSUNPSW1hZ2VEZWNvZGVyOjpob3RTcG90KEludFBvaW50
JiBob3RTcG90KSBjb25zdAoreworICAgIC8vIFdoZW4gdW5zcGVjaWZpZWQsIHVzZSB0aGUgbGFy
Z2VzdCBmcmFtZSB0byBiZSBjb25zaXN0ZW50IHdpdGggdGhlIHNpemUKKyAgICAvLyBpbiBwcm9j
ZXNzRGlyZWN0b3J5RW50cmllcy4KKyAgICByZXR1cm4gaG90U3BvdEF0SW5kZXgoMCwgaG90U3Bv
dCk7Cit9CisKK2Jvb2wgSUNPSW1hZ2VEZWNvZGVyOjpob3RTcG90QXRJbmRleChzaXplX3QgaW5k
ZXgsIEludFBvaW50JiBob3RTcG90KSBjb25zdAoreworICAgIGlmIChpbmRleCA+PSBtX2RpckVu
dHJpZXMuc2l6ZSgpIHx8IG1fZmlsZVR5cGUgIT0gQ1VSU09SKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICBjb25zdCBJY29uRGlyZWN0b3J5RW50cnkmIGRpckVudHJ5ID0gbV9kaXJFbnRy
aWVzW2luZGV4XTsKKyAgICBob3RTcG90ID0gSW50UG9pbnQoZGlyRW50cnkubV9ob3RTcG90WCwg
ZGlyRW50cnkubV9ob3RTcG90WSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKwogLy8gc3RhdGlj
CiBib29sIElDT0ltYWdlRGVjb2Rlcjo6Y29tcGFyZUVudHJpZXMoY29uc3QgSWNvbkRpcmVjdG9y
eUVudHJ5JiBhLCBjb25zdCBJY29uRGlyZWN0b3J5RW50cnkmIGIpCiB7CkBAIC0yMzIsMTMgKzI1
MCwxMSBAQCBib29sIElDT0ltYWdlRGVjb2Rlcjo6cHJvY2Vzc0RpcmVjdG9yeSgpCiAKICAgICAv
LyBTZWUgaWYgdGhpcyBpcyBhbiBpY29uIGZpbGV0eXBlIHdlIHVuZGVyc3RhbmQsIGFuZCBtYWtl
IHN1cmUgd2UgaGF2ZSBhdAogICAgIC8vIGxlYXN0IG9uZSBlbnRyeSBpbiB0aGUgZGlyZWN0b3J5
LgotICAgIGVudW0gewotICAgICAgICBJQ09OID0gMSwKLSAgICAgICAgQ1VSU09SID0gMiwKLSAg
ICB9OwogICAgIGlmICgoKGZpbGVUeXBlICE9IElDT04pICYmIChmaWxlVHlwZSAhPSBDVVJTT1Ip
KSB8fCAoIWlkQ291bnQpKQogICAgICAgICByZXR1cm4gc2V0RmFpbGVkKCk7CiAKKyAgICBtX2Zp
bGVUeXBlID0gc3RhdGljX2Nhc3Q8RmlsZVR5cGU+KGZpbGVUeXBlKTsKKwogICAgIC8vIEVubGFy
Z2UgbWVtYmVyIHZlY3RvcnMgdG8gaG9sZCBhbGwgdGhlIGVudHJpZXMuCiAgICAgbV9kaXJFbnRy
aWVzLnJlc2l6ZShpZENvdW50KTsKICAgICBtX2JtcFJlYWRlcnMucmVzaXplKGlkQ291bnQpOwpA
QCAtMjg3LDcgKzMwMywxNSBAQCBJQ09JbWFnZURlY29kZXI6Okljb25EaXJlY3RvcnlFbnRyeSBJ
Q09JbWFnZURlY29kZXI6OnJlYWREaXJlY3RvcnlFbnRyeSgpCiAgICAgICAgIGhlaWdodCA9IDI1
NjsKICAgICBJY29uRGlyZWN0b3J5RW50cnkgZW50cnk7CiAgICAgZW50cnkubV9zaXplID0gSW50
U2l6ZSh3aWR0aCwgaGVpZ2h0KTsKLSAgICBlbnRyeS5tX2JpdENvdW50ID0gcmVhZFVpbnQxNig2
KTsKKyAgICBpZiAobV9maWxlVHlwZSA9PSBDVVJTT1IpIHsKKyAgICAgICAgZW50cnkubV9iaXRD
b3VudCA9IDA7CisgICAgICAgIGVudHJ5Lm1faG90U3BvdFggPSByZWFkVWludDE2KDQpOworICAg
ICAgICBlbnRyeS5tX2hvdFNwb3RZID0gcmVhZFVpbnQxNig2KTsKKyAgICB9IGVsc2UgeworICAg
ICAgICBlbnRyeS5tX2JpdENvdW50ID0gcmVhZFVpbnQxNig2KTsKKyAgICAgICAgZW50cnkubV9o
b3RTcG90WCA9IDA7CisgICAgICAgIGVudHJ5Lm1faG90U3BvdFkgPSAwOworICAgIH0KICAgICBl
bnRyeS5tX2ltYWdlT2Zmc2V0ID0gcmVhZFVpbnQzMigxMik7CiAKICAgICAvLyBTb21lIGljb25z
IGRvbid0IGhhdmUgYSBiaXQgZGVwdGgsIG9ubHkgYSBjb2xvciBjb3VudC4gIENvbnZlcnQgdGhl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9pY28v
SUNPSW1hZ2VEZWNvZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVy
cy9pY28vSUNPSW1hZ2VEZWNvZGVyLmgKaW5kZXggMzFkOTFjODE5MDJmYjBkMmM2OWRjMGEzNjE4
Y2JkYzU0YmY2YjcxMy4uMGRlYmFkMDE3N2FhNDkzMTdiMmQ5YWYyNDUzN2UwNTY5MGQ5MTZhMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lD
T0ltYWdlRGVjb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29k
ZXJzL2ljby9JQ09JbWFnZURlY29kZXIuaApAQCAtNTYsNiArNTYsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIC8vIGF2b2lkIGFjY2Vzc2luZyBkZWxldGVkIG1lbW9yeSwgZXNwZWNp
YWxseSB3aGVuIGNhbGxpbmcgdGhpcyBmcm9tCiAgICAgICAgIC8vIGluc2lkZSBCTVBJbWFnZVJl
YWRlciEKICAgICAgICAgdmlydHVhbCBib29sIHNldEZhaWxlZCgpOworICAgICAgICB2aXJ0dWFs
IGJvb2wgaG90U3BvdChJbnRQb2ludCYpIGNvbnN0OworICAgICAgICB2aXJ0dWFsIGJvb2wgaG90
U3BvdEF0SW5kZXgoc2l6ZV90LCBJbnRQb2ludCYpIGNvbnN0OwogCiAgICAgcHJpdmF0ZToKICAg
ICAgICAgZW51bSBJbWFnZVR5cGUgewpAQCAtNjQsOSArNjYsMTYgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgICAgICAgICAgUE5HLAogICAgICAgICB9OwogCisgICAgICAgIGVudW0gRmlsZVR5
cGUgeworICAgICAgICAgICAgSUNPTiA9IDEsCisgICAgICAgICAgICBDVVJTT1IgPSAyLAorICAg
ICAgICB9OworCiAgICAgICAgIHN0cnVjdCBJY29uRGlyZWN0b3J5RW50cnkgewogICAgICAgICAg
ICAgSW50U2l6ZSBtX3NpemU7CiAgICAgICAgICAgICB1aW50MTZfdCBtX2JpdENvdW50OworICAg
ICAgICAgICAgdWludDE2X3QgbV9ob3RTcG90WDsKKyAgICAgICAgICAgIHVpbnQxNl90IG1faG90
U3BvdFk7CiAgICAgICAgICAgICB1aW50MzJfdCBtX2ltYWdlT2Zmc2V0OwogICAgICAgICB9Owog
CkBAIC0xMjIsNiArMTMxLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyBCTVBJ
bWFnZVJlYWRlciB0YWtlcyBvdmVyIHRoaXMgd2lsbCBub3QgYmUgdXBkYXRlZCBmdXJ0aGVyLgog
ICAgICAgICBzaXplX3QgbV9kZWNvZGVkT2Zmc2V0OwogCisgICAgICAgIC8vIFdoaWNoIHR5cGUg
b2YgZmlsZSAoSUNPL0NVUikgdGhpcyBpcy4KKyAgICAgICAgRmlsZVR5cGUgbV9maWxlVHlwZTsK
KwogICAgICAgICAvLyBUaGUgaGVhZGVycyBmb3IgdGhlIElDTy4KICAgICAgICAgdHlwZWRlZiBW
ZWN0b3I8SWNvbkRpcmVjdG9yeUVudHJ5PiBJY29uRGlyZWN0b3J5RW50cmllczsKICAgICAgICAg
SWNvbkRpcmVjdG9yeUVudHJpZXMgbV9kaXJFbnRyaWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCmluZGV4IGU0ZDMwODQxMGEwNjMzNjhmY2VjNjBjMmRlYzM5MmJmN2UyZTlkYTcu
LjMxZjJmMWYwY2E1YjIwZjM5NDJiN2NkYjhlNDY0MDdiYmRmZWVmZjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJDbGllbnRS
ZWN0LmgiCiAjaW5jbHVkZSAiQ2xpZW50UmVjdExpc3QuaCIKICNpbmNsdWRlICJDb21wb3NlZFNo
YWRvd1RyZWVXYWxrZXIuaCIKKyNpbmNsdWRlICJDdXJzb3IuaCIKICNpbmNsdWRlICJET01TdHJp
bmdMaXN0LmgiCiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
QEAgLTM4LDYgKzM5LDcgQEAKICNpbmNsdWRlICJEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaCIK
ICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudFNoYWRvdy5oIgorI2luY2x1
ZGUgIkV2ZW50SGFuZGxlci5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRl
ICJGb3JtQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCkBAIC05Myw3ICs5NSw2IEBA
CiAjZW5kaWYKIAogI2lmIEVOQUJMRShUT1VDSF9BREpVU1RNRU5UKQotI2luY2x1ZGUgIkV2ZW50
SGFuZGxlci5oIgogI2luY2x1ZGUgIldlYktpdFBvaW50LmgiCiAjZW5kaWYKIApAQCAtMTQ3Nyw0
ICsxNDc4LDgwIEBAIHZvaWQgSW50ZXJuYWxzOjpzdG9wVHJhY2tpbmdSZXBhaW50cyhEb2N1bWVu
dCogZG9jdW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgIGZyYW1lVmlldy0+c2V0VHJhY2tz
UmVwYWludHMoZmFsc2UpOwogfQogCisjaWYgVVNFKExBWllfTkFUSVZFX0NVUlNPUikKK3N0YXRp
YyBjb25zdCBjaGFyKiBjdXJzb3JUeXBlVG9TdHJpbmcoQ3Vyc29yOjpUeXBlIGN1cnNvclR5cGUp
Cit7CisgICAgc3dpdGNoIChjdXJzb3JUeXBlKSB7CisgICAgY2FzZSBDdXJzb3I6OlBvaW50ZXI6
IHJldHVybiAiVHlwZVBvaW50ZXIiOworICAgIGNhc2UgQ3Vyc29yOjpDcm9zczogcmV0dXJuICJU
eXBlQ3Jvc3MiOworICAgIGNhc2UgQ3Vyc29yOjpIYW5kOiByZXR1cm4gIlR5cGVIYW5kIjsKKyAg
ICBjYXNlIEN1cnNvcjo6SUJlYW06IHJldHVybiAiVHlwZUlCZWFtIjsKKyAgICBjYXNlIEN1cnNv
cjo6V2FpdDogcmV0dXJuICJUeXBlV2FpdCI7CisgICAgY2FzZSBDdXJzb3I6OkhlbHA6IHJldHVy
biAiVHlwZUhlbHAiOworICAgIGNhc2UgQ3Vyc29yOjpFYXN0UmVzaXplOiByZXR1cm4gIlR5cGVF
YXN0UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhSZXNpemU6IHJldHVybiAiVHlwZU5v
cnRoUmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhFYXN0UmVzaXplOiByZXR1cm4gIlR5
cGVOb3J0aEVhc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aFdlc3RSZXNpemU6IHJl
dHVybiAiVHlwZU5vcnRoV2VzdFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6OlNvdXRoUmVzaXpl
OiByZXR1cm4gIlR5cGVTb3V0aFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6OlNvdXRoRWFzdFJl
c2l6ZTogcmV0dXJuICJUeXBlU291dGhFYXN0UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6U291
dGhXZXN0UmVzaXplOiByZXR1cm4gIlR5cGVTb3V0aFdlc3RSZXNpemUiOworICAgIGNhc2UgQ3Vy
c29yOjpXZXN0UmVzaXplOiByZXR1cm4gIlR5cGVXZXN0UmVzaXplIjsKKyAgICBjYXNlIEN1cnNv
cjo6Tm9ydGhTb3V0aFJlc2l6ZTogcmV0dXJuICJUeXBlTm9ydGhTb3V0aFJlc2l6ZSI7CisgICAg
Y2FzZSBDdXJzb3I6OkVhc3RXZXN0UmVzaXplOiByZXR1cm4gIlR5cGVFYXN0V2VzdFJlc2l6ZSI7
CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZTogcmV0dXJuICJUeXBl
Tm9ydGhFYXN0U291dGhXZXN0UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhXZXN0U291
dGhFYXN0UmVzaXplOiByZXR1cm4gIlR5cGVOb3J0aFdlc3RTb3V0aEVhc3RSZXNpemUiOworICAg
IGNhc2UgQ3Vyc29yOjpDb2x1bW5SZXNpemU6IHJldHVybiAiVHlwZUNvbHVtblJlc2l6ZSI7Cisg
ICAgY2FzZSBDdXJzb3I6OlJvd1Jlc2l6ZTogcmV0dXJuICJUeXBlUm93UmVzaXplIjsKKyAgICBj
YXNlIEN1cnNvcjo6TWlkZGxlUGFubmluZzogcmV0dXJuICJUeXBlTWlkZGxlUGFubmluZyI7Cisg
ICAgY2FzZSBDdXJzb3I6OkVhc3RQYW5uaW5nOiByZXR1cm4gIlR5cGVFYXN0UGFubmluZyI7Cisg
ICAgY2FzZSBDdXJzb3I6Ok5vcnRoUGFubmluZzogcmV0dXJuICJUeXBlTm9ydGhQYW5uaW5nIjsK
KyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhFYXN0UGFubmluZzogcmV0dXJuICJUeXBlTm9ydGhFYXN0
UGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRoV2VzdFBhbm5pbmc6IHJldHVybiAiVHlw
ZU5vcnRoV2VzdFBhbm5pbmciOworICAgIGNhc2UgQ3Vyc29yOjpTb3V0aFBhbm5pbmc6IHJldHVy
biAiVHlwZVNvdXRoUGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6OlNvdXRoRWFzdFBhbm5pbmc6
IHJldHVybiAiVHlwZVNvdXRoRWFzdFBhbm5pbmciOworICAgIGNhc2UgQ3Vyc29yOjpTb3V0aFdl
c3RQYW5uaW5nOiByZXR1cm4gIlR5cGVTb3V0aFdlc3RQYW5uaW5nIjsKKyAgICBjYXNlIEN1cnNv
cjo6V2VzdFBhbm5pbmc6IHJldHVybiAiVHlwZVdlc3RQYW5uaW5nIjsKKyAgICBjYXNlIEN1cnNv
cjo6TW92ZTogcmV0dXJuICJUeXBlTW92ZSI7CisgICAgY2FzZSBDdXJzb3I6OlZlcnRpY2FsVGV4
dDogcmV0dXJuICJUeXBlVmVydGljYWxUZXh0IjsKKyAgICBjYXNlIEN1cnNvcjo6Q2VsbDogcmV0
dXJuICJUeXBlQ2VsbCI7CisgICAgY2FzZSBDdXJzb3I6OkNvbnRleHRNZW51OiByZXR1cm4gIlR5
cGVDb250ZXh0TWVudSI7CisgICAgY2FzZSBDdXJzb3I6OkFsaWFzOiByZXR1cm4gIlR5cGVBbGlh
cyI7CisgICAgY2FzZSBDdXJzb3I6OlByb2dyZXNzOiByZXR1cm4gIlR5cGVQcm9ncmVzcyI7Cisg
ICAgY2FzZSBDdXJzb3I6Ok5vRHJvcDogcmV0dXJuICJUeXBlTm9Ecm9wIjsKKyAgICBjYXNlIEN1
cnNvcjo6Q29weTogcmV0dXJuICJUeXBlQ29weSI7CisgICAgY2FzZSBDdXJzb3I6Ok5vbmU6IHJl
dHVybiAiVHlwZU5vbmUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3RBbGxvd2VkOiByZXR1cm4gIlR5
cGVOb3RBbGxvd2VkIjsKKyAgICBjYXNlIEN1cnNvcjo6Wm9vbUluOiByZXR1cm4gIlR5cGVab29t
SW4iOworICAgIGNhc2UgQ3Vyc29yOjpab29tT3V0OiByZXR1cm4gIlR5cGVab29tT3V0IjsKKyAg
ICBjYXNlIEN1cnNvcjo6R3JhYjogcmV0dXJuICJUeXBlR3JhYiI7CisgICAgY2FzZSBDdXJzb3I6
OkdyYWJiaW5nOiByZXR1cm4gIlR5cGVHcmFiYmluZyI7CisgICAgY2FzZSBDdXJzb3I6OkN1c3Rv
bTogcmV0dXJuICJUeXBlQ3VzdG9tIjsKKyAgICB9CisKKyAgICByZXR1cm4gIlVOS05PV04iOwor
fQorI2VuZGlmCisKK1N0cmluZyBJbnRlcm5hbHM6OmdldEN1cnJlbnRDdXJzb3JJbmZvKERvY3Vt
ZW50KiBkb2N1bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFkb2N1bWVudCB8
fCAhZG9jdW1lbnQtPmZyYW1lKCkpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7
CisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICB9CisKKyAgICBDdXJzb3IgY3Vyc29yID0g
ZG9jdW1lbnQtPmZyYW1lKCktPmV2ZW50SGFuZGxlcigpLT5jdXJyZW50TW91c2VDdXJzb3IoKTsK
KworI2lmIFVTRShMQVpZX05BVElWRV9DVVJTT1IpCisgICAgU3RyaW5nIHJlc3VsdCA9IFN0cmlu
ZygidHlwZT0iKSArIGN1cnNvclR5cGVUb1N0cmluZyhjdXJzb3IudHlwZSgpKQorICAgICAgICAr
ICIgaG90U3BvdD0iICsgU3RyaW5nOjpudW1iZXIoY3Vyc29yLmhvdFNwb3QoKS54KCkpICsgIiwi
ICsgU3RyaW5nOjpudW1iZXIoY3Vyc29yLmhvdFNwb3QoKS55KCkpOworICAgIGlmIChjdXJzb3Iu
aW1hZ2UoKSkgeworICAgICAgICBJbnRTaXplIHNpemUgPSBjdXJzb3IuaW1hZ2UoKS0+c2l6ZSgp
OworICAgICAgICByZXN1bHQuYXBwZW5kKCIgaW1hZ2U9IiArIFN0cmluZzo6bnVtYmVyKHNpemUu
d2lkdGgoKSkgKyAieCIgKyBTdHJpbmc6Om51bWJlcihzaXplLmhlaWdodCgpKSk7CisgICAgfQor
ICAgIHJldHVybiByZXN1bHQ7CisjZWxzZQorICAgIHJldHVybiAiRkFJTDogQ3Vyc29yIGRldGFp
bHMgbm90IGF2YWlsYWJsZSBvbiB0aGlzIHBsYXRmb3JtLiI7CisjZW5kaWYKK30KKwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggMjExMTczOTdjODExYzg1OGYzYjFmNDlmYzU3
ZDE2YWMyNWE3MTEyMS4uODRmYTAxMmRjMjA2YzFhOTc2OTFjM2RmY2JmZDk0N2M4ZmVhZmE1YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0yNDIsNiArMjQyLDggQEAgcHVibGlj
OgogICAgIHZvaWQgc3RhcnRUcmFja2luZ1JlcGFpbnRzKERvY3VtZW50KiwgRXhjZXB0aW9uQ29k
ZSYpOwogICAgIHZvaWQgc3RvcFRyYWNraW5nUmVwYWludHMoRG9jdW1lbnQqLCBFeGNlcHRpb25D
b2RlJik7CiAKKyAgICBTdHJpbmcgZ2V0Q3VycmVudEN1cnNvckluZm8oRG9jdW1lbnQqLCBFeGNl
cHRpb25Db2RlJik7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgSW50ZXJuYWxzKERvY3VtZW50
Kik7CiAgICAgRG9jdW1lbnQqIGNvbnRleHREb2N1bWVudCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDdhNWFiN2I5MGVkYjY0YjY1MGRjMzQzN2I0M2ExZDY5
OTcxYjAxYWQuLjA2NGQwMTE4ZjA5YzY4ZTQ4NDEwYTAzNjU5ZGRjNGNlNTkyNmM2ZTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTIxMCw0ICsyMTAsNyBAQAogICAgIC8v
ICBzdGFydFRyYWNraW5nUmVwYWludHMsIHJlcGFpbnRSZWN0c0FzVGV4dCwgc3RvcFRyYWNraW5n
UmVwYWludHMuCiAgICAgdm9pZCBzdGFydFRyYWNraW5nUmVwYWludHMoaW4gRG9jdW1lbnQgZG9j
dW1lbnQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKICAgICB2b2lkIHN0b3BUcmFja2luZ1JlcGFp
bnRzKGluIERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CisKKyAgICAv
LyBSZXR1cm5zIGEgc3RyaW5nIHdpdGggaW5mb3JtYXRpb24gYWJvdXQgdGhlIG1vdXNlIGN1cnNv
ciB1c2VkIGF0IHRoZSBzcGVjaWZpZWQgY2xpZW50IGxvY2F0aW9uLgorICAgIERPTVN0cmluZyBn
ZXRDdXJyZW50Q3Vyc29ySW5mbyhpbiBEb2N1bWVudCBkb2N1bWVudCkgcmFpc2VzIChET01FeGNl
cHRpb24pOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2Vy
dE1hdGNoaW5nRW51bXMuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0
Y2hpbmdFbnVtcy5jcHAKaW5kZXggZjNlNzg1OWVlYjk4NTA2NTFkYmNmZTQxODQ3NDUyMzBlY2M0
NzU2ZS4uNWZkYjE2OWYxMTlkM2U1ZDlhNjNiNzZiNjE1ZGM3ZGMyNDE1YmI1NSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKQEAg
LTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVk
ZSAiQXBwbGljYXRpb25DYWNoZUhvc3QuaCIKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xp
Y3kuaCIKKyNpbmNsdWRlICJDdXJzb3IuaCIKICNpbmNsdWRlICJEb2N1bWVudE1hcmtlci5oIgog
I2luY2x1ZGUgIkVkaXRvckluc2VydEFjdGlvbi5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUu
aCIKQEAgLTY2LDcgKzY3LDYgQEAKICNpbmNsdWRlICJOb3RpZmljYXRpb25DbGllbnQuaCIKICNp
bmNsdWRlICJQYWdlVmlzaWJpbGl0eVN0YXRlLmgiCiAjaW5jbHVkZSAiUGVlckNvbm5lY3Rpb24w
MC5oIgotI2luY2x1ZGUgIlBsYXRmb3JtQ3Vyc29yLmgiCiAjaW5jbHVkZSAiUlRDRGF0YUNoYW5u
ZWxEZXNjcmlwdG9yLmgiCiAjaW5jbHVkZSAiUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50
LmgiCiAjaW5jbHVkZSAiUmVmZXJyZXJQb2xpY3kuaCIKQEAgLTI4NSw1MCArMjg1LDUwIEBAIENP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQXBwbGljYXRpb25DYWNoZUhvc3Q6OlVwZGF0
ZVJlYWR5RXZlbnQsIEFwcGxpY2F0CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFw
cGxpY2F0aW9uQ2FjaGVIb3N0OjpDYWNoZWRFdmVudCwgQXBwbGljYXRpb25DYWNoZUhvc3Q6OkNB
Q0hFRF9FVkVOVCk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFwcGxpY2F0aW9u
Q2FjaGVIb3N0OjpPYnNvbGV0ZUV2ZW50LCBBcHBsaWNhdGlvbkNhY2hlSG9zdDo6T0JTT0xFVEVf
RVZFTlQpOwogCi1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5
cGVQb2ludGVyLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZVBvaW50ZXIpOwotQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlQ3Jvc3MsIFBsYXRmb3JtQ3Vyc29yOjpU
eXBlQ3Jvc3MpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpU
eXBlSGFuZCwgUGxhdGZvcm1DdXJzb3I6OlR5cGVIYW5kKTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUlCZWFtLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZUlC
ZWFtKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZVdh
aXQsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlV2FpdCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFdlYkN1cnNvckluZm86OlR5cGVIZWxwLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZUhlbHApOwot
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlRWFzdFJlc2l6
ZSwgUGxhdGZvcm1DdXJzb3I6OlR5cGVFYXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRoUmVzaXplLCBQbGF0Zm9ybUN1cnNvcjo6
VHlwZU5vcnRoUmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29y
SW5mbzo6VHlwZU5vcnRoRWFzdFJlc2l6ZSwgUGxhdGZvcm1DdXJzb3I6OlR5cGVOb3J0aEVhc3RS
ZXNpemUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBl
Tm9ydGhXZXN0UmVzaXplLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZU5vcnRoV2VzdFJlc2l6ZSk7Ci1D
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVTb3V0aFJlc2l6
ZSwgUGxhdGZvcm1DdXJzb3I6OlR5cGVTb3V0aFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVTb3V0aEVhc3RSZXNpemUsIFBsYXRmb3JtQ3Vy
c29yOjpUeXBlU291dGhFYXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
V2ViQ3Vyc29ySW5mbzo6VHlwZVNvdXRoV2VzdFJlc2l6ZSwgUGxhdGZvcm1DdXJzb3I6OlR5cGVT
b3V0aFdlc3RSZXNpemUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJ
bmZvOjpUeXBlV2VzdFJlc2l6ZSwgUGxhdGZvcm1DdXJzb3I6OlR5cGVXZXN0UmVzaXplKTsKLUNP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRoU291dGhS
ZXNpemUsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlTm9ydGhTb3V0aFJlc2l6ZSk7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVFYXN0V2VzdFJlc2l6ZSwgUGxh
dGZvcm1DdXJzb3I6OlR5cGVFYXN0V2VzdFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVOb3J0aEVhc3RTb3V0aFdlc3RSZXNpemUsIFBsYXRm
b3JtQ3Vyc29yOjpUeXBlTm9ydGhFYXN0U291dGhXZXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6
ZSwgUGxhdGZvcm1DdXJzb3I6OlR5cGVOb3J0aFdlc3RTb3V0aEVhc3RSZXNpemUpOwotQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlQ29sdW1uUmVzaXplLCBQ
bGF0Zm9ybUN1cnNvcjo6VHlwZUNvbHVtblJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVSb3dSZXNpemUsIFBsYXRmb3JtQ3Vyc29yOjpUeXBl
Um93UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6
VHlwZU1pZGRsZVBhbm5pbmcsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlTWlkZGxlUGFubmluZyk7Ci1D
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVFYXN0UGFubmlu
ZywgUGxhdGZvcm1DdXJzb3I6OlR5cGVFYXN0UGFubmluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVOb3J0aFBhbm5pbmcsIFBsYXRmb3JtQ3Vyc29y
OjpUeXBlTm9ydGhQYW5uaW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vy
c29ySW5mbzo6VHlwZU5vcnRoRWFzdFBhbm5pbmcsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlTm9ydGhF
YXN0UGFubmluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86
OlR5cGVOb3J0aFdlc3RQYW5uaW5nLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZU5vcnRoV2VzdFBhbm5p
bmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlU291
dGhQYW5uaW5nLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZVNvdXRoUGFubmluZyk7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVTb3V0aEVhc3RQYW5uaW5nLCBQ
bGF0Zm9ybUN1cnNvcjo6VHlwZVNvdXRoRWFzdFBhbm5pbmcpOwotQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlU291dGhXZXN0UGFubmluZywgUGxhdGZvcm1D
dXJzb3I6OlR5cGVTb3V0aFdlc3RQYW5uaW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oV2ViQ3Vyc29ySW5mbzo6VHlwZVdlc3RQYW5uaW5nLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZVdl
c3RQYW5uaW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6
VHlwZU1vdmUsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlTW92ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVWZXJ0aWNhbFRleHQsIFBsYXRmb3JtQ3Vyc29y
OjpUeXBlVmVydGljYWxUZXh0KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vy
c29ySW5mbzo6VHlwZUNlbGwsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlQ2VsbCk7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVDb250ZXh0TWVudSwgUGxhdGZv
cm1DdXJzb3I6OlR5cGVDb250ZXh0TWVudSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KFdlYkN1cnNvckluZm86OlR5cGVBbGlhcywgUGxhdGZvcm1DdXJzb3I6OlR5cGVBbGlhcyk7Ci1D
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVQcm9ncmVzcywg
UGxhdGZvcm1DdXJzb3I6OlR5cGVQcm9ncmVzcyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFdlYkN1cnNvckluZm86OlR5cGVOb0Ryb3AsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlTm9Ecm9w
KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUNvcHks
IFBsYXRmb3JtQ3Vyc29yOjpUeXBlQ29weSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KFdlYkN1cnNvckluZm86OlR5cGVOb25lLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZU5vbmUpOwotQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTm90QWxsb3dlZCwg
UGxhdGZvcm1DdXJzb3I6OlR5cGVOb3RBbGxvd2VkKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZVpvb21JbiwgUGxhdGZvcm1DdXJzb3I6OlR5cGVab29t
SW4pOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlWm9v
bU91dCwgUGxhdGZvcm1DdXJzb3I6OlR5cGVab29tT3V0KTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUdyYWIsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlR3Jh
Yik7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVHcmFi
YmluZywgUGxhdGZvcm1DdXJzb3I6OlR5cGVHcmFiYmluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVDdXN0b20sIFBsYXRmb3JtQ3Vyc29yOjpUeXBl
Q3VzdG9tKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlw
ZVBvaW50ZXIsIEN1cnNvcjo6UG9pbnRlcik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KFdlYkN1cnNvckluZm86OlR5cGVDcm9zcywgQ3Vyc29yOjpDcm9zcyk7CitDT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVIYW5kLCBDdXJzb3I6OkhhbmQpOwor
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlSUJlYW0sIEN1
cnNvcjo6SUJlYW0pOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZv
OjpUeXBlV2FpdCwgQ3Vyc29yOjpXYWl0KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
V2ViQ3Vyc29ySW5mbzo6VHlwZUhlbHAsIEN1cnNvcjo6SGVscCk7CitDT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVFYXN0UmVzaXplLCBDdXJzb3I6OkVhc3RS
ZXNpemUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBl
Tm9ydGhSZXNpemUsIEN1cnNvcjo6Tm9ydGhSZXNpemUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTm9ydGhFYXN0UmVzaXplLCBDdXJzb3I6Ok5vcnRo
RWFzdFJlc2l6ZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86
OlR5cGVOb3J0aFdlc3RSZXNpemUsIEN1cnNvcjo6Tm9ydGhXZXN0UmVzaXplKTsKK0NPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZVNvdXRoUmVzaXplLCBDdXJz
b3I6OlNvdXRoUmVzaXplKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29y
SW5mbzo6VHlwZVNvdXRoRWFzdFJlc2l6ZSwgQ3Vyc29yOjpTb3V0aEVhc3RSZXNpemUpOworQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlU291dGhXZXN0UmVz
aXplLCBDdXJzb3I6OlNvdXRoV2VzdFJlc2l6ZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFdlYkN1cnNvckluZm86OlR5cGVXZXN0UmVzaXplLCBDdXJzb3I6Oldlc3RSZXNpemUpOwor
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTm9ydGhTb3V0
aFJlc2l6ZSwgQ3Vyc29yOjpOb3J0aFNvdXRoUmVzaXplKTsKK0NPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUVhc3RXZXN0UmVzaXplLCBDdXJzb3I6OkVhc3RX
ZXN0UmVzaXplKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6
VHlwZU5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZSwgQ3Vyc29yOjpOb3J0aEVhc3RTb3V0aFdlc3RS
ZXNpemUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBl
Tm9ydGhXZXN0U291dGhFYXN0UmVzaXplLCBDdXJzb3I6Ok5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6
ZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVDb2x1
bW5SZXNpemUsIEN1cnNvcjo6Q29sdW1uUmVzaXplKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZVJvd1Jlc2l6ZSwgQ3Vyc29yOjpSb3dSZXNpemUpOwor
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTWlkZGxlUGFu
bmluZywgQ3Vyc29yOjpNaWRkbGVQYW5uaW5nKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUVhc3RQYW5uaW5nLCBDdXJzb3I6OkVhc3RQYW5uaW5nKTsK
K0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRoUGFu
bmluZywgQ3Vyc29yOjpOb3J0aFBhbm5pbmcpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShXZWJDdXJzb3JJbmZvOjpUeXBlTm9ydGhFYXN0UGFubmluZywgQ3Vyc29yOjpOb3J0aEVhc3RQ
YW5uaW5nKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlw
ZU5vcnRoV2VzdFBhbm5pbmcsIEN1cnNvcjo6Tm9ydGhXZXN0UGFubmluZyk7CitDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVTb3V0aFBhbm5pbmcsIEN1cnNv
cjo6U291dGhQYW5uaW5nKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29y
SW5mbzo6VHlwZVNvdXRoRWFzdFBhbm5pbmcsIEN1cnNvcjo6U291dGhFYXN0UGFubmluZyk7CitD
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVTb3V0aFdlc3RQ
YW5uaW5nLCBDdXJzb3I6OlNvdXRoV2VzdFBhbm5pbmcpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlV2VzdFBhbm5pbmcsIEN1cnNvcjo6V2VzdFBhbm5p
bmcpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTW92
ZSwgQ3Vyc29yOjpNb3ZlKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29y
SW5mbzo6VHlwZVZlcnRpY2FsVGV4dCwgQ3Vyc29yOjpWZXJ0aWNhbFRleHQpOworQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlQ2VsbCwgQ3Vyc29yOjpDZWxs
KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUNvbnRl
eHRNZW51LCBDdXJzb3I6OkNvbnRleHRNZW51KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUFsaWFzLCBDdXJzb3I6OkFsaWFzKTsKK0NPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZVByb2dyZXNzLCBDdXJzb3I6OlBy
b2dyZXNzKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlw
ZU5vRHJvcCwgQ3Vyc29yOjpOb0Ryb3ApOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShX
ZWJDdXJzb3JJbmZvOjpUeXBlQ29weSwgQ3Vyc29yOjpDb3B5KTsKK0NPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU5vbmUsIEN1cnNvcjo6Tm9uZSk7CitDT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVOb3RBbGxvd2VkLCBD
dXJzb3I6Ok5vdEFsbG93ZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJz
b3JJbmZvOjpUeXBlWm9vbUluLCBDdXJzb3I6Olpvb21Jbik7CitDT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVab29tT3V0LCBDdXJzb3I6Olpvb21PdXQpOwor
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlR3JhYiwgQ3Vy
c29yOjpHcmFiKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6
VHlwZUdyYWJiaW5nLCBDdXJzb3I6OkdyYWJiaW5nKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUN1c3RvbSwgQ3Vyc29yOjpDdXN0b20pOwogCiBDT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkVkaXRpbmdBY3Rpb25UeXBlZCwgRWRpdG9ySW5z
ZXJ0QWN0aW9uVHlwZWQpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJFZGl0aW5n
QWN0aW9uUGFzdGVkLCBFZGl0b3JJbnNlcnRBY3Rpb25QYXN0ZWQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ3Vyc29ySW5mby5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJDdXJzb3JJbmZvLmNwcAppbmRleCBkNGIwZjgxZmFmYTk5YjA1YmIy
NTJiMzllOTQ4YTkzODQwN2RlNTczLi42MGJlNWRiY2FmMTBmMDEwYWEyNjgzZDdlYWU2YTliNzM0
MDA3ZGE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDdXJzb3JJ
bmZvLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDdXJzb3JJbmZvLmNw
cApAQCAtMzksOSArMzksOSBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogV2ViQ3Vyc29ySW5mbzo6
V2ViQ3Vyc29ySW5mbyhjb25zdCBDdXJzb3ImIGN1cnNvcikKIHsKLSAgICB0eXBlID0gc3RhdGlj
X2Nhc3Q8VHlwZT4oY3Vyc29yLmltcGwoKS50eXBlKCkpOwotICAgIGhvdFNwb3QgPSBjdXJzb3Iu
aW1wbCgpLmhvdFNwb3QoKTsKLSAgICBjdXN0b21JbWFnZSA9IGN1cnNvci5pbXBsKCkuY3VzdG9t
SW1hZ2UoKTsKKyAgICB0eXBlID0gc3RhdGljX2Nhc3Q8VHlwZT4oY3Vyc29yLnR5cGUoKSk7Cisg
ICAgaG90U3BvdCA9IGN1cnNvci5ob3RTcG90KCk7CisgICAgY3VzdG9tSW1hZ2UgPSBjdXJzb3Iu
aW1hZ2UoKTsKICNpZmRlZiBXSU4zMgogICAgIGV4dGVybmFsSGFuZGxlID0gMDsKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmIGIvU291cmNlL1dlYktp
dDIvd2luL1dlYktpdDIuZGVmCmluZGV4IDk2NjI4MmY5OGM0Zjc3ZGYxODkxY2UxZTlmMTA1M2Vh
YTkxMjBiZjAuLjIyOWRhNzU2ZjNiYzlhYWRhNmQ0NmEwMjA2MGY0MWFjMzE2NjlkOGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgorKysgYi9Tb3VyY2UvV2ViS2l0
Mi93aW4vV2ViS2l0Mi5kZWYKQEAgLTE1Myw2ICsxNTMsOCBAQCBFWFBPUlRTCiAgICAgICAgID8/
MENsaWVudFJlY3RMaXN0QFdlYkNvcmVAQEFBRUBYWgogICAgICAgICA/PzBDbGllbnRSZWN0TGlz
dEBXZWJDb3JlQEBBQUVAQUJWPyRWZWN0b3JAVkZsb2F0UXVhZEBXZWJDb3JlQEAkMEFAQFdURkBA
QFoKICAgICAgICAgPz8xQ2xpZW50UmVjdExpc3RAV2ViQ29yZUBAUUFFQFhaCisgICAgICAgID8/
MUN1cnNvckBXZWJDb3JlQEBRQUVAWFoKKyAgICAgICAgPz8wQ3Vyc29yQFdlYkNvcmVAQFFBRUBB
QlYwMUBAWgogICAgICAgICA/PzBTdHJpbmdAV1RGQEBRQUVAUEJEQFoKICAgICAgICAgPz8wU3Ry
aW5nQFdURkBAUUFFQFBCX1dAWgogICAgICAgICA/YWJzb2x1dGVCb3VuZGluZ0JveFJlY3RAUmVu
ZGVyT2JqZWN0QFdlYkNvcmVAQFFCRT9BVkludFJlY3RAMkBfTkBaCkBAIC0xNjEsNiArMTYzLDcg
QEAgRVhQT1JUUwogICAgICAgICA/YWRkQEF0b21pY1N0cmluZ0BXVEZAQENBP0FWPyRQYXNzUmVm
UHRyQFZTdHJpbmdJbXBsQFdURkBAQDJAUEJEQFoKICAgICAgICAgP2FkZEBBdG9taWNTdHJpbmdA
V1RGQEBDQT9BVj8kUGFzc1JlZlB0ckBWU3RyaW5nSW1wbEBXVEZAQEAyQFBCRUBaCiAgICAgICAg
ID9hZGRTbG93Q2FzZUBBdG9taWNTdHJpbmdAV1RGQEBDQT9BVj8kUGFzc1JlZlB0ckBWU3RyaW5n
SW1wbEBXVEZAQEAyQFBBVlN0cmluZ0ltcGxAMkBAWgorICAgICAgICA/YXBwZW5kQFN0cmluZ0BX
VEZAQFFBRVhBQlYxMkBAWgogICAgICAgICA/Y2FjaGVET01TdHJ1Y3R1cmVAV2ViQ29yZUBAWUFQ
QVZTdHJ1Y3R1cmVASlNDQEBQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVjIzQFBCVUNsYXNzSW5m
b0AzQEBaCiAgICAgICAgID9jaGlsZEl0ZW1XaXRoVGFyZ2V0QEhpc3RvcnlJdGVtQFdlYkNvcmVA
QFFCRVBBVjEyQEFCVlN0cmluZ0BXVEZAQEBaCiAgICAgICAgID9jcmVhdGVASFRNTENvbnRlbnRF
bGVtZW50QFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZIVE1MQ29udGVudEVsZW1lbnRAV2Vi
Q29yZUBAQFdURkBAUEFWRG9jdW1lbnRAMkBAWgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
d2luL1dlYktpdDJDRkxpdGUuZGVmIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUu
ZGVmCmluZGV4IGM3OTZiNjAxNjExODZhMTE0Mzc0ZjdkMDI4ZGExMzg1ZDNkZTZhNjYuLjVlZjA3
ZWFiZWJhZDdiMmM3MDQ4OWUxNGNiNjI5ODc3OTRjMjMwODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2Vi
S2l0MkNGTGl0ZS5kZWYKQEAgLTE0Niw2ICsxNDYsOCBAQCBFWFBPUlRTCiAgICAgICAgID8/MENs
aWVudFJlY3RMaXN0QFdlYkNvcmVAQEFBRUBYWgogICAgICAgICA/PzBDbGllbnRSZWN0TGlzdEBX
ZWJDb3JlQEBBQUVAQUJWPyRWZWN0b3JAVkZsb2F0UXVhZEBXZWJDb3JlQEAkMEFAQFdURkBAQFoK
ICAgICAgICAgPz8xQ2xpZW50UmVjdExpc3RAV2ViQ29yZUBAUUFFQFhaCisgICAgICAgID8/MUN1
cnNvckBXZWJDb3JlQEBRQUVAWFoKKyAgICAgICAgPz8wQ3Vyc29yQFdlYkNvcmVAQFFBRUBBQlYw
MUBAWgogICAgICAgICA/PzBTdHJpbmdAV1RGQEBRQUVAUEJEQFoKICAgICAgICAgPz8wU3RyaW5n
QFdURkBAUUFFQFBCX1dAWgogICAgICAgICA/YWJzb2x1dGVCb3VuZGluZ0JveFJlY3RAUmVuZGVy
T2JqZWN0QFdlYkNvcmVAQFFCRT9BVkludFJlY3RAMkBfTkBaCkBAIC0xNTQsNiArMTU2LDcgQEAg
RVhQT1JUUwogICAgICAgICA/YWRkQEF0b21pY1N0cmluZ0BXVEZAQENBP0FWPyRQYXNzUmVmUHRy
QFZTdHJpbmdJbXBsQFdURkBAQDJAUEJEQFoKICAgICAgICAgP2FkZEBBdG9taWNTdHJpbmdAV1RG
QEBDQT9BVj8kUGFzc1JlZlB0ckBWU3RyaW5nSW1wbEBXVEZAQEAyQFBCRUBaCiAgICAgICAgID9h
ZGRTbG93Q2FzZUBBdG9taWNTdHJpbmdAV1RGQEBDQT9BVj8kUGFzc1JlZlB0ckBWU3RyaW5nSW1w
bEBXVEZAQEAyQFBBVlN0cmluZ0ltcGxAMkBAWgorICAgICAgICA/YXBwZW5kQFN0cmluZ0BXVEZA
QFFBRVhBQlYxMkBAWgogICAgICAgICA/Y2FjaGVET01TdHJ1Y3R1cmVAV2ViQ29yZUBAWUFQQVZT
dHJ1Y3R1cmVASlNDQEBQQVZKU0RPTUdsb2JhbE9iamVjdEAxQFBBVjIzQFBCVUNsYXNzSW5mb0Az
QEBaCiAgICAgICAgID9jaGlsZEl0ZW1XaXRoVGFyZ2V0QEhpc3RvcnlJdGVtQFdlYkNvcmVAQFFC
RVBBVjEyQEFCVlN0cmluZ0BXVEZAQEBaCiAgICAgICAgID9jcmVhdGVASFRNTENvbnRlbnRFbGVt
ZW50QFdlYkNvcmVAQFNBP0FWPyRQYXNzUmVmUHRyQFZIVE1MQ29udGVudEVsZW1lbnRAV2ViQ29y
ZUBAQFdURkBAUEFWRG9jdW1lbnRAMkBAWgpkaWZmIC0tZ2l0IGEvU291cmNlL2F1dG90b29scy9z
eW1ib2xzLmZpbHRlciBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKaW5kZXggZDgy
ZjE3OTg1MTFjMjZkNDdiZjU0NTQ1MDRmYzA2NjVmZWM5NmJlOS4uYTE2OWE4OWQ3OGVlNjk4Yzkx
NGRiOTMzNWJmYzE2MWVmYzBiMWJmNyAxMDA2NDQKLS0tIGEvU291cmNlL2F1dG90b29scy9zeW1i
b2xzLmZpbHRlcgorKysgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCkBAIC0xNjIs
NiArMTYyLDggQEAgX1pON1dlYkNvcmUxNFNjcm9sbGFibGVBcmVhMjhzZXRTY3JvbGxPZmZzZXRG
cm9tSW50ZXJuYWxzRVJLTlNfOEludFBvaW50RTsKIF9aTjdXZWJDb3JlMTBTY3JvbGxWaWV3MjNz
ZXRTY3JvbGxiYXJzU3VwcHJlc3NlZEViYjsKIF9aTjdXZWJDb3JlMTBTY3JvbGxWaWV3MjFzZXRE
ZWxlZ2F0ZXNTY3JvbGxpbmdFYjsKIF9aTjdXZWJDb3JlNE5vZGUxNHJlbW92ZWRMYXN0UmVmRXY7
CitfWk43V2ViQ29yZTZDdXJzb3JDMUVSS1MwXzsKK19aTjdXZWJDb3JlNkN1cnNvckQxRXY7CiBf
Wk43V2ViQ29yZThTZXR0aW5nczE2c2V0SW1hZ2VzRW5hYmxlZEViOwogX1pON1dlYkNvcmU4U2V0
dGluZ3MxOHNldEZpeGVkRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFMTFVU2NyaXB0
Q29kZTsKIF9aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRTZXJpZkZvbnRGYW1pbHlFUktOM1dURjEy
QXRvbWljU3RyaW5nRTExVVNjcmlwdENvZGU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGY2M2EyODBmNmI4NWFhZmQyZDEy
MWZhM2M1ZTQxMzFkMTExMmZlYy4uNDFlNzI5NjAwM2I0NzEyNDI4NzE4MjE4ZWEyNmI2ODFhODli
YWUxNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTExLTA5ICBSaWNrIEJ5ZXJzICA8cmJ5
ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBjdXN0b20gQ1NTIGN1cnNvcnMgaWdub3JlIGhv
dHNwb3QgdmFsdWVzIGVtYmVkZGVkIGluIENVUiBmaWxlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMDU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG1vdXNlIGN1cnNvciB0ZXN0IGNhc2VzIHRo
YXQgdXNlIENVUiBmaWxlcyB0aGF0IGhhdmUgZW1iZWRkZWQgaG90c3BvdCB2YWx1ZXMuCisKKyAg
ICAgICAgKiBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sOgorICAgICAgICAqIGZhc3QvZXZlbnRzL3Jl
c291cmNlcy9ncmVlbmJveC0zZnJhbWVzLmN1cjogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVu
dHMvcmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3QzNS00LmN1cjogQWRkZWQuCisgICAgICAgICog
ZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3Q1LTQuY3VyOiBBZGRlZC4KKwor
MjAxMi0xMS0wOSAgUmljayBCeWVycyAgPHJieWVyc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
Tm8gdGVzdHMgZm9yIGNoYW5naW5nIG1vdXNlIGN1cnNvcnMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDU1MAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHNpbXBsZSB0ZXN0IGNvdmVyaW5nIHRo
ZSBiYXNpYyBzY2VuYXJpb3Mgb2YgY2hhbmdpbmcgYSBtb3VzZQorICAgICAgICBjdXJzb3Igd2l0
aCBDU1MuICBUaGlzIGluY2x1ZGVzIG1vc3Qgb2YgdGhlIGNhc2VzIGN1cnJlbnRseSBjb3ZlcmVk
CisgICAgICAgIGJ5IE1hbnVhbFRlc3RzLypjdXJzb3IqLgorCisgICAgICAgICogZmFzdC9ldmVu
dHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVu
dHMvbW91c2UtY3Vyc29yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L1Rlc3RFeHBlY3RhdGlvbnM6IEFkZCBmYWlsdXJlIGV4cGVjdGF0aW9uLgorCiAyMDEyLTExLTA5
ICBCYWxhenMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbUXRdIFBp
eGVsIHRlc3RzIG5lZWQgcmViYXNlbGluZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L21vdXNlLWN1cnNvci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODJlNWQ2MDRkNmFmZTQyMzg2
NjA3NTg0OTJlOGUxZmFlODA3Y2U3MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL21vdXNlLWN1cnNvci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4NCBAQAorVGVz
dCB0aGF0IG1vdXNlIGN1cnNvcnMgYXJlIGFwcGxpZWQgY29ycmVjdGx5LgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworQnVnIDEwMDU1MAorCisgCitURVNUIENBU0U6IEltcGxpY2l0
IGRlZmF1bHQgY3Vyc29yCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSUJlYW0gaG90U3BvdD0wLDAK
KworVEVTVCBDQVNFOiBFeHBsaWNpdCBkZWZhdWx0CitDdXJzb3IgSW5mbzogdHlwZT1UeXBlUG9p
bnRlciBob3RTcG90PTAsMAorCitURVNUIENBU0U6IEV4cGxpY2l0IGF1dG8KK0N1cnNvciBJbmZv
OiB0eXBlPVR5cGVJQmVhbSBob3RTcG90PTAsMAorCitURVNUIENBU0U6IE5vIGN1cnNvcgorQ3Vy
c29yIEluZm86IHR5cGU9VHlwZU5vbmUgaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBQb2ludGVy
CitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSGFuZCBob3RTcG90PTAsMAorCitURVNUIENBU0U6IC13
ZWJraXQtZ3JhYmJpbmcKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVHcmFiYmluZyBob3RTcG90PTAs
MAorCitURVNUIENBU0U6IEV4aXN0aW5nIDI1eDI1IGltYWdlCitDdXJzb3IgSW5mbzogdHlwZT1U
eXBlQ3VzdG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogSW52YWxpZCBV
Ukwgd2l0aCBmYWxsYmFjayB0byBwb2ludGVyCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSGFuZCBo
b3RTcG90PTAsMAorCitURVNUIENBU0U6IEludmFsaWQgd2l0aCBmYWxsYmFjayB0byAyNXgyNSBp
bWFnZQorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBpbWFnZT0yNXgy
NQorCitURVNUIENBU0U6IEltYWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKDAsMCkKK0N1
cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3BvdD0wLDAgaW1hZ2U9MjV4MjUKKworVEVT
VCBDQVNFOiBJbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgyMCwxMCkKK0N1cnNvciBJ
bmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3BvdD0yMCwxMCBpbWFnZT0yNXgyNQorCitURVNUIENB
U0U6IEltYWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKC0xLC0xKQorQ3Vyc29yIEluZm86
IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBpbWFnZT0yNXgyNQorCitURVNUIENBU0U6IElt
YWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3Qgb3V0c2lkZSBpbWFnZSBhdCAoMzAsMzApCitDdXJz
b3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CisKK1RFU1Qg
Q0FTRTogSW1hZ2Ugd2l0aCBpbXBsaWNpdCBob3Qgc3BvdCBhdCAoNSw0KQorQ3Vyc29yIEluZm86
IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTUsNCBpbWFnZT0yNXgyNQorCitURVNUIENBU0U6IElt
YWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKDIwLDEwKSBvdmVycmlkaW5nIGltcGxpY2l0
IGhvdCBzcG90CitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MjAsMTAgaW1h
Z2U9MjV4MjUKKworVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGltcGxpY2l0IGhvdCBzcG90IG91dHNp
ZGUgaW1hZ2UgYXQgKDM1LDQpCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9
MCwwIGltYWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogQ1VSIGZpbGUgd2l0aCAzIGZyYW1lcywgbGFy
Z2VzdCBvZiB3aGljaCAoMm5kIGZyYW1lKSBpcyAyMHgxMiB3aXRoIGhvdHNwb3QgYXQgKDE4LDEx
KQorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTE4LDExIGltYWdlPTIweDEy
CisKK1RFU1QgQ0FTRTogT3ZlciBsYXJnZSBpbWFnZSB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXIK
K0N1cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogU1ZH
IGN1cnNvcgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBpbWFnZT0y
NXgyNQorCitURVNUIENBU0U6IE11bHRpcGxlIGludmFsaWQgY3Vyc29ycyB3aXRoIGZhbGxiYWNr
IHRvIHBvaW50ZXIKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCwwCisKK1RF
U1QgQ0FTRTogTm9uZXhpc3RlbnQgU1ZHIGN1cnNvciB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXIK
K0N1cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogQSBs
aW5rIHdpdGggZGVmYXVsdCBjdXJzb3IKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNw
b3Q9MCwwCisKK1RFU1QgQ0FTRTogTGluayB3aXRoIGRlZmF1bHQgY3Vyc29yIG92ZXJyaWRpbmcg
d2FpdAorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAKKworVEVTVCBDQVNF
OiBXYWl0IGN1cnNvciB3aGljaCBzaG91bGQgbm90IGJlIGFmZmVjdGVkIGJ5IHVua25vd24gY3Vy
c29yIHJ1bGUKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVXYWl0IGhvdFNwb3Q9MCwwCisKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUyMmRiMmY0YzRmMGM3
YWZhYzM5ODc0NGNkZmQxYzQyODcyNDQ3ZTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbApAQCAtMCwwICsxLDEyMyBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8cD48YSBocmVm
PWh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA1NTA+QnVnIDEwMDU1
MDwvYT48L3A+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgCisgICAg
IHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMCIgaGVp
Z2h0PSIwIj4KKyAgPGRlZnM+CisgICAgPGN1cnNvciBpZD0iZ3JlZW5ib3giIHhsaW5rOmhyZWY9
InJlc291cmNlcy9ncmVlbmJveC5wbmciIHg9IjAiIHk9IjAiLz4KKyAgPC9kZWZzPgorPC9zdmc+
Cis8ZGl2IGlkPSJ0ZXN0LWNvbnRhaW5lciI+CisgIDxkaXY+SW1wbGljaXQgZGVmYXVsdCBjdXJz
b3I8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiBkZWZhdWx0Jz5FeHBsaWNpdCBkZWZhdWx0
PC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogYXV0byc+RXhwbGljaXQgYXV0bzwvZGl2Pgor
ICA8ZGl2IHN0eWxlPSdjdXJzb3I6IG5vbmUnPk5vIGN1cnNvcjwvZGl2PgorICA8ZGl2IHN0eWxl
PSdjdXJzb3I6IHBvaW50ZXInPlBvaW50ZXI8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiAt
d2Via2l0LWdyYWJiaW5nJz4td2Via2l0LWdyYWJiaW5nPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1
cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC5wbmcpLCBoYW5kJz5FeGlzdGluZyAyNXgyNSBp
bWFnZTwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChkb2VzbnRleGlzdC5wbmcpLCBw
b2ludGVyJz5JbnZhbGlkIFVSTCB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXI8L2Rpdj4KKyAgPGRp
diBzdHlsZT0nY3Vyc29yOiB1cmwoZG9lc250ZXhpc3QucG5nKSwgdXJsKHJlc291cmNlcy9ncmVl
bmJveC5wbmcpLCBwb2ludGVyJz5JbnZhbGlkIHdpdGggZmFsbGJhY2sgdG8gMjV4MjUgaW1hZ2U8
L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LnBuZykg
MCAwLCBwb2ludGVyJz5JbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgwLDApPC9kaXY+
CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC5wbmcpIDIwIDEw
LCBwb2ludGVyJz5JbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgyMCwxMCk8L2Rpdj4K
KyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LnBuZykgLTEgLTEs
IHBvaW50ZXInPkltYWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKC0xLC0xKTwvZGl2Pgor
ICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSAzMCAzMCwg
cG9pbnRlcic+SW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBvdXRzaWRlIGltYWdlIGF0ICgz
MCwzMCk8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94
LWhvdHNwb3Q1LTQuY3VyKSwgcG9pbnRlcic+SW1hZ2Ugd2l0aCBpbXBsaWNpdCBob3Qgc3BvdCBh
dCAoNSw0KTwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5i
b3gtaG90c3BvdDUtNC5jdXIpIDIwIDEwLCBwb2ludGVyJz5JbWFnZSB3aXRoIGV4cGxpY2l0IGhv
dCBzcG90IGF0ICgyMCwxMCkgb3ZlcnJpZGluZyBpbXBsaWNpdCBob3Qgc3BvdDwvZGl2PgorICA8
ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gtaG90c3BvdDM1LTQuY3Vy
KSwgcG9pbnRlcic+SW1hZ2Ugd2l0aCBpbXBsaWNpdCBob3Qgc3BvdCBvdXRzaWRlIGltYWdlIGF0
ICgzNSw0KTwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5i
b3gtM2ZyYW1lcy5jdXIpLCBwb2ludGVyJz5DVVIgZmlsZSB3aXRoIDMgZnJhbWVzLCBsYXJnZXN0
IG9mIHdoaWNoICgybmQgZnJhbWUpIGlzIDIweDEyIHdpdGggaG90c3BvdCBhdCAoMTgsMTEpPC9k
aXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9vbmxvYWQtaW1hZ2UucG5n
KSwgcG9pbnRlcic+T3ZlciBsYXJnZSBpbWFnZSB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXI8L2Rp
dj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwoI2dyZWVuYm94KSwgcG9pbnRlcic+U1ZHIGN1
cnNvcjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChtb3VzZS1jdXJzb3IuaHRtbCks
IHVybCh1bmtub3duLXNjaGVtZTpjdXJzb3IucG5nKSwgcG9pbnRlcic+TXVsdGlwbGUgaW52YWxp
ZCBjdXJzb3JzIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcjwvZGl2PgorICA8ZGl2IHN0eWxlPSdj
dXJzb3I6IHVybCgjbm9uZXhpc3RlbnQpLCBwb2ludGVyJz5Ob25leGlzdGVudCBTVkcgY3Vyc29y
IHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcjwvZGl2PgorICA8ZGl2PjxhIGhyZWY9JyMnPkEgbGlu
ayB3aXRoIGRlZmF1bHQgY3Vyc29yPC9hPjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHdh
aXQnPjxhIGhyZWY9JyMnPkxpbmsgd2l0aCBkZWZhdWx0IGN1cnNvciBvdmVycmlkaW5nIHdhaXQ8
L2E+PC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogd2FpdCc+PGRpdiBzdHlsZT0nY3Vyc29y
OiBkb2VzbnRleGlzdCc+V2FpdCBjdXJzb3Igd2hpY2ggc2hvdWxkIG5vdCBiZSBhZmZlY3RlZCBi
eSB1bmtub3duIGN1cnNvciBydWxlPC9kaXY+PC9kaXY+Cis8L2Rpdj4KKzxici8+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgaW1hZ2VzTGVmdFRvTG9hZCA9IDA7CisK
K2Z1bmN0aW9uIG9uSW1hZ2VMb2FkKGUpIHsKKworICAgIC8vIFRoaXMgZGVidWcgb3V0cHV0IGlz
IG5vbi1kZXRlcm1pbmlzdGljIGFuZCBjb250YWlucyBhYnNvbHV0ZSBVUkxzIC0gb25seSBzaG93
IHdoZW4KKyAgICAvLyBub3QgcnVubmluZyBpbiBEUlQKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVu
bmVyKQorICAgICAgICBkZWJ1ZyggJ0V2ZW50ICInICsgZS50eXBlICsgJyI6ICcgKyBlLnRhcmdl
dC5zcmMpOworICAgICAgICAKKyAgICBpbWFnZXNMZWZ0VG9Mb2FkLS07CisgICAgaWYgKGltYWdl
c0xlZnRUb0xvYWQgPT0gMCkKKyAgICAgICAgcnVuVGVzdHMoKTsKKyAgICBpZiAoaW1hZ2VzTGVm
dFRvTG9hZCA8IDApCisgICAgICAgIHRlc3RGYWlsZWQoJ0dvdCBtb3JlIGxvYWQvZXJyb3IgY2Fs
bGJhY2sgdGhhbiBleHBlY3RlZC4nKTsKK30KKworZnVuY3Rpb24gb25JbWFnZVVuZXhwZWN0ZWQo
ZSkgeworCWltYWdlc0xlZnRUb0xvYWQtLTsKKyAgICB0ZXN0RmFpbGVkKCdHb3QgdW5leHBlY3Rl
ZCBcJycgKyBlLnR5cGUgKyAnXCcgZXZlbnQgZm9yIGltYWdlOiAnICsgZS50YXJnZXQuc3JjKTsg
Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3RzKCkgeworICAgIC8vIENhbid0IGRvIGFueXRoaW5nIHVz
ZWZ1bCBoZXJlIHdpdGhvdXQgZXZlbnRTZW5kZXIKKyAgICBpZiAod2luZG93LmV2ZW50U2VuZGVy
KSB7CisgICAgICAgIHZhciBub2Rlc1RvVGVzdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwo
JyN0ZXN0LWNvbnRhaW5lciA+IGRpdicpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5v
ZGVzVG9UZXN0Lmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICB2YXIgbm9kZSA9IG5vZGVzVG9U
ZXN0W2ldOworICAgICAgICAgICAgZGVidWcoJ1RFU1QgQ0FTRTogJyArIG5vZGUudGV4dENvbnRl
bnQpOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8obm9kZS5vZmZzZXRMZWZ0
ICsgMywgbm9kZS5vZmZzZXRUb3AgKyAzKTsKKyAgICAgICAgICAgIC8vIE5vdGUgdGhhdCB3ZSBj
b3VsZCByZXR1cm4gc3RydWN0dXJlZCBkYXRhIHdoaWNoIHdlIHRoZW4gdmFsaWRhdGUsIGJ1dCB0
aGF0J3MgYSBsb3QgbW9yZQorICAgICAgICAgICAgLy8gd29yayBhbmQgaXMgcmVkdW5kYW50IHdp
dGggcmVseWluZyBvbiB0aGUgZXhwZWN0ZWQgb3V0cHV0IGFueXdheS4gIEJldHRlciB0byBqdXN0
IGR1bXAKKyAgICAgICAgICAgIC8vIGl0IGFuZCBpbnNwZWN0IHRoYXQgaXQgbWF0Y2hlcyB0aGUg
ZGVzY3JpcHRpb24uCisgICAgICAgICAgICBkZWJ1ZygnQ3Vyc29yIEluZm86ICcgKyB3aW5kb3cu
aW50ZXJuYWxzLmdldEN1cnJlbnRDdXJzb3JJbmZvKGRvY3VtZW50KSk7CisgICAgICAgICAgICBk
ZWJ1ZygnJyk7CisgICAgICAgIH0KKyAgICAgICAgLy8gVGhpcyB0ZXh0IGlzIHJlZHVuZGFudCB3
aXRoIHRoZSB0ZXN0IG91dHB1dCAtIGhpZGUgaXQKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3Rlc3QtY29udGFpbmVyJykuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKKyAgICB9Cisg
ICAgCisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK2Rlc2NyaXB0aW9uKCJUZXN0IHRoYXQgbW91
c2UgY3Vyc29ycyBhcmUgYXBwbGllZCBjb3JyZWN0bHkuIik7CisKK2lmICghd2luZG93LmV2ZW50
U2VuZGVyKSB7CisgICAgdGVzdEZhaWxlZCgnVGhpcyB0ZXN0IHJlcXVpcmVzIER1bXBSZW5kZXJU
cmVlJyk7Cit9CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHdpbmRvdy5q
c1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK30KKworLy8gTm93IHdhaXQgZm9yIGVhY2ggaW1hZ2UgdG8g
bG9hZCBvciBmYWlsIHRvIGxvYWQgYmVmb3JlIHN0YXJ0aW5nIHRlc3RzLgorLy8gV2l0aG91dCB0
aGlzIHdlIGNhbiBnZXQgbnVsbCBpbWFnZXMgaW4gdGhlIGN1cnNvcnMgLSBlZy4gbm8ga25vd24g
c2l6ZS4KK3ZhciBpbWFnZXNUb0xvYWQgPSBbCisgICAgeyB1cmw6ICdyZXNvdXJjZXMvZ3JlZW5i
b3gucG5nJyB9LAorICAgIHsgdXJsOiAncmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3Q1LTQuY3Vy
JyB9LAorICAgIHsgdXJsOiAncmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3QzNS00LmN1cicgfSwK
KyAgICB7IHVybDogJ3Jlc291cmNlcy9ncmVlbmJveC0zZnJhbWVzLmN1cicgfSwKKyAgICB7IHVy
bDogJ2RvZXNudGV4aXN0LnBuZycsIGVycm9yOiB0cnVlIH0sCisgICAgeyB1cmw6ICd1bmtub3du
LXNjaGVtZTpjdXJzb3IucG5nJywgZXJyb3I6IHRydWUgfSwKKyAgICB7IHVybDogJ21vdXNlLWN1
cnNvci5odG1sJywgZXJyb3I6IHRydWUgfSwKKyAgICB7IHVybDogJyNub25leGlzdGVudCcsIGVy
cm9yOiB0cnVlIH0gXTsKK2ltYWdlc0xlZnRUb0xvYWQgPSBpbWFnZXNUb0xvYWQubGVuZ3RoOwor
Zm9yICh2YXIgaSA9IDA7IGkgPCBpbWFnZXNUb0xvYWQubGVuZ3RoOyBpKyspIHsKKyAgICB2YXIg
aW1nID0gbmV3IEltYWdlKCk7CisgICAgdmFyIGV4cGVjdEVycm9yID0gaW1hZ2VzVG9Mb2FkW2ld
LmVycm9yOyAKKyAgICBpbWcuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGV4cGVjdEVycm9yID8g
b25JbWFnZVVuZXhwZWN0ZWQgOiBvbkltYWdlTG9hZCk7CisgICAgaW1nLmFkZEV2ZW50TGlzdGVu
ZXIoJ2Vycm9yJywgZXhwZWN0RXJyb3IgPyBvbkltYWdlTG9hZCA6IG9uSW1hZ2VVbmV4cGVjdGVk
KTsKKyAgICBpbWcuc3JjID0gaW1hZ2VzVG9Mb2FkW2ldLnVybDsKK30KKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3Jlc291cmNlcy9ncmVlbmJveC0zZnJhbWVzLmN1ciBiL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3Jlc291cmNlcy9ncmVlbmJveC0zZnJhbWVzLmN1cgpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYjA5ZDY0MTZj
YjU3NzdjM2UwN2U0NmFmZjBhNGM0MzJmNGFlZDQ2CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAz
OTAKemNtWlF6VX05aXE7OV9OQjs5eXszaCt0cX5GYXUlezl3cjdNMjV5RTRLejFKeF5ScUtDQEdg
SjVXQn1RNmowX0FLCnpLJDs3Ujg1d3tBS3ArQXBBcHtlUXtVNjRfTGZkMUNmeUBQJkJMVCFQYX1B
SmA1b0lvdGRRMnVpclZ0KHhrYjZLbgpWXzwkSlo5dkxMe0IpSkM/T2h+I0JPYU49TzJUY0Z+Cgps
aXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9yZXNvdXJjZXMvZ3JlZW5ib3gtaG90c3BvdDM1LTQuY3VyIGIvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3QzNS00LmN1cgpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MjIy
NmM1MWUyNDVkM2Y4NDY4YWY2ODI4OWQ1MzE3ZmRlNjkyZWQwCkdJVCBiaW5hcnkgcGF0Y2gKbGl0
ZXJhbCAyNzAKemNtWlF6VX05aW9rZCRPJVAtYjlaX2AkJXlBT14lNUtyOUt3TW5LRjZnZG1VdENM
c2g5alF0PFJwYkszfllnKyZ8CkN2OylLZAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3Q1
LTQuY3VyIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LWhvdHNw
b3Q1LTQuY3VyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhZTdjOWMyNzA2OThjM2ViNWZlNjkwNjA2NzVhOGM3YmVm
Nzk0MDYKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDI3MAp6Y21aUXpVfTlpb2tkJE8lVX1hIW9f
YCQleUFPXiU1S3I5S3dNbktGNmdkbVV0Q0xzaDlqUXQ8UnBiSzN+WWcrJnEKQ0pPaWN4CgpsaXRl
cmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVz
dEV4cGVjdGF0aW9ucwppbmRleCBhMWY4YWE3YmYxYTBkZmIzZmEyOGUzNTdiMzJhMzhmMGFjMGQy
NGJhLi4wNmU4ZTVkY2ZiNjZlNDg3OGJkYWFlMTZmYTJmMzRlMGQzMGUwMDIwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQyOTEsMyAr
NDI5MSw2IEBAIHdlYmtpdC5vcmcvYi8xMDE1NDcgc3ZnL2N1c3RvbS9mb3JlaWduT2JqZWN0LWNy
YXNoLW9uLWhvdmVyLnhtbCBbIEltYWdlT25seUZhaWx1CiB3ZWJraXQub3JnL2IvMTAxNTQ3IHN2
Zy9jdXN0b20vaGl0LXRlc3QtdW5jbG9zZWQtc3VicGF0aHMuc3ZnIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCiAjIFRoZSBmb2xsb3dpbmcgdGVzdCBoYXMgcHJpb3IgZXhwZWN0YXRpb25zIHdoaWNoIHdl
cmUgZGlzYWJsZWQuIFJlLWVuYWJsZSB3aGVuIHJlbW92aW5nIHRoaXM6CiB3ZWJraXQub3JnL2Iv
MTAxNTQ3IHN2Zy9jdXN0b20vaGl0LXRlc3Qtd2l0aC1ici54aHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQorCisjIFRoaXMgdGVzdCB3aWxsIGJlIGVuYWJsZWQgc2hvcnRseSB3aGVuIGNocm9taXVt
IG1vdmVzIHRvIHRoZSBVU0UoTEFaWV9OQVRJVkVfQ1VSU09SKSBpbmZyYXN0cnVjdHVyZQord2Vi
a2l0Lm9yZy9iLzEwMTUwMSBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbCBbIEZhaWx1cmUg
XQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGFmNmQ5NzZmZjAzNTFh
OTkxMzI3YWY3MzVjYjlkODllNTBlNmY2NGEuLjNlNDQ4MmM4NDY0ZDJkMGQwNTk0MWVkY2JmZDk1
ZTE2NGNiMDZmYWMgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxMi0xMS0wOSAgUmljayBCeWVycyAgPHJieWVyc0BjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgTm8gdGVzdHMgZm9yIGNoYW5naW5nIG1vdXNlIGN1cnNvcnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDU1MAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBuZWNlc3NhcnkgZXhw
b3J0cyBmb3IgSW50ZXJuYWxzOjpnZXRDdXJyZW50Q3Vyc29ySW5mbworCisgICAgICAgICogU291
cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcjoKKwogMjAxMi0xMS0wOCAgUmFwaGFlbCBLdWJv
IGRhIENvc3RhICA8cmFwaGFlbC5rdWJvLmRhLmNvc3RhQGludGVsLmNvbT4KIAogICAgICAgICBb
RUZMXSBUdXJuIFdURl9VU0VfVElMRURfQkFDS0lOR19TVE9SRSBpbiBPcHRpb25zRWZsLmNtYWtl
Lgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173400</attachid>
            <date>2012-11-09 16:42:17 -0800</date>
            <delta_ts>2012-11-09 17:03:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100059-20121109194024.patch</filename>
            <type>text/plain</type>
            <size>19905</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTYyYTMxMDcxYWVjYTRl
NmMzNWU5N2Q0NjcwNjAzNzNmNzBhOTQzNS4uODg4NTgwYTYzNzA5MmE2N2RlNmY1YWVjY2E3YzUz
NmQ3YWNmYTRhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTExLTA5ICBSaWNr
IEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBjdXN0b20gQ1NTIGN1cnNv
cnMgaWdub3JlIGhvdHNwb3QgdmFsdWVzIGVtYmVkZGVkIGluIENVUiBmaWxlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMDU5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHJlYWRpbmcgdGhlIGhv
dHNwb3QgdmFsdWVzIHRvIHRoZSBJQ09JbWFnZURlY29kZXIgKGZvciBDVVIgZmlsZXMgb25seSks
CisgICAgICAgIGFuZCBwbHVtYiBpdCB0aHJvdWdoIHNvIHRoYXQgdGhlIGV4aXN0aW5nIGNhbGxz
IHRvIEltYWdlU291cmNlOjpnZXRIb3RTcG90CisgICAgICAgIGFjdHVhbGx5IHJldHVybiB0aGUg
aG90IHNwb3QgdmFsdWUgd2hlbiB0aGVyZSBpcyBvbmUuCisKKyAgICAgICAgVGVzdHM6IGZhc3Qv
ZXZlbnRzL21vdXNlLWN1cnNvci5odG1sLCBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItbXVsdGlm
cmFtZWN1ci5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVNvdXJjZTo6Z2V0SG90U3BvdCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RGVmZXJyZWRJbWFnZURlY29kZXI6OmhvdFNwb3QpOgorICAgICAg
ICAoV2ViQ29yZTo6RGVmZXJyZWRJbWFnZURlY29kZXI6OmhvdFNwb3RBdEluZGV4KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVjb2Rlci5oOgor
ICAgICAgICAoRGVmZXJyZWRJbWFnZURlY29kZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2ltYWdl
LWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VEZWNvZGVy
Ojpob3RTcG90KToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlRGVjb2Rlcjo6aG90U3BvdEF0SW5k
ZXgpOgorICAgICAgICAoSW1hZ2VEZWNvZGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1k
ZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklDT0lt
YWdlRGVjb2Rlcjo6aG90U3BvdCk6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6
OmhvdFNwb3RBdEluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OklDT0ltYWdlRGVjb2Rlcjo6cHJv
Y2Vzc0RpcmVjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6OnJlYWRE
aXJlY3RvcnlFbnRyeSk6CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lD
T0ltYWdlRGVjb2Rlci5oOgorICAgICAgICAoSUNPSW1hZ2VEZWNvZGVyKToKKyAgICAgICAgKElj
b25EaXJlY3RvcnlFbnRyeSk6CisKIDIwMTItMTEtMDggIFJpY2sgQnllcnMgIDxyYnllcnNAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIE1vdmUgY2hyb21pdW0gdG8gVVNFKExBWllfTkFUSVZFX0NV
UlNPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdl
U291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNl
LmNwcAppbmRleCA1Njg1N2E0M2Y1NDg0MjNlOGJkOTJkMzIyZDk2ZDgxMGMyYmI2NzlhLi4wZjQ2
ZDcwM2M3YThjNmRiZGJkMmQ4OTY1MDIxMWMzNDNlZjBiMGNkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3BwCkBAIC0xMjEsOSArMTIxLDkg
QEAgSW50U2l6ZSBJbWFnZVNvdXJjZTo6ZnJhbWVTaXplQXRJbmRleChzaXplX3QgaW5kZXgsIFJl
c3BlY3RJbWFnZU9yaWVudGF0aW9uRW51bQogICAgIHJldHVybiBzaXplOwogfQogCi1ib29sIElt
YWdlU291cmNlOjpnZXRIb3RTcG90KEludFBvaW50JikgY29uc3QKK2Jvb2wgSW1hZ2VTb3VyY2U6
OmdldEhvdFNwb3QoSW50UG9pbnQmIGhvdFNwb3QpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGZhbHNl
OworICAgIHJldHVybiBtX2RlY29kZXIgPyBtX2RlY29kZXItPmhvdFNwb3QoaG90U3BvdCkgOiBm
YWxzZTsKIH0KIAogc2l6ZV90IEltYWdlU291cmNlOjpieXRlc0RlY29kZWRUb0RldGVybWluZVBy
b3BlcnRpZXMoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuY3BwCmluZGV4
IDg2M2NhMTI3ZTAyOWRiMjZlMjBlZDhlYzY3NDdmZjk1NzFmMjE3YmQuLjFkOGJiODIzYjBiNzEz
ZDdjZDIwM2E0N2RhNTljNmJhYWU1NWU1YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0RlZmVycmVkSW1hZ2VEZWNvZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVj
b2Rlci5jcHAKQEAgLTE1OCw0ICsxNTgsMTQgQEAgSW1hZ2VPcmllbnRhdGlvbiBEZWZlcnJlZElt
YWdlRGVjb2Rlcjo6b3JpZW50YXRpb24oKSBjb25zdAogICAgIHJldHVybiBtX2FjdHVhbERlY29k
ZXIgPyBtX2FjdHVhbERlY29kZXItPm9yaWVudGF0aW9uKCkgOiBtX29yaWVudGF0aW9uOwogfQog
Citib29sIERlZmVycmVkSW1hZ2VEZWNvZGVyOjpob3RTcG90KEludFBvaW50JiBob3RTcG90KSBj
b25zdAoreworICAgIHJldHVybiBtX2FjdHVhbERlY29kZXIgPyBtX2FjdHVhbERlY29kZXItPmhv
dFNwb3QoaG90U3BvdCkgOiBmYWxzZTsKK30KKworYm9vbCBEZWZlcnJlZEltYWdlRGVjb2Rlcjo6
aG90U3BvdEF0SW5kZXgoc2l6ZV90IGluZGV4LCBJbnRQb2ludCYgaG90U3BvdCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbV9hY3R1YWxEZWNvZGVyID8gbV9hY3R1YWxEZWNvZGVyLT5ob3RTcG90QXRJ
bmRleChpbmRleCwgaG90U3BvdCkgOiBmYWxzZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
RGVmZXJyZWRJbWFnZURlY29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0RlZmVycmVkSW1hZ2VEZWNvZGVyLmgKaW5kZXggNjBkOGNjMTA4ODk5NjI5NmJj
YzBkNTA1MjhiYTM2MzAxM2Q0Y2Q4OC4uNzFjZmE1NzcwMjY0Y2Q0MTVjOTIwYjcwNjIwZmJhOWQ1
YTYzZmRjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVjb2Rlci5oCkBAIC01Nyw2ICs1Nyw4
IEBAIHB1YmxpYzoKICAgICBib29sIGZyYW1lSGFzQWxwaGFBdEluZGV4KHNpemVfdCBpbmRleCkg
Y29uc3Q7CiAgICAgdW5zaWduZWQgZnJhbWVCeXRlc0F0SW5kZXgoc2l6ZV90IGluZGV4KSBjb25z
dDsKICAgICBJbWFnZU9yaWVudGF0aW9uIG9yaWVudGF0aW9uKCkgY29uc3Q7CisgICAgYm9vbCBo
b3RTcG90KEludFBvaW50JikgY29uc3Q7CisgICAgYm9vbCBob3RTcG90QXRJbmRleChzaXplX3Qs
IEludFBvaW50JikgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgRGVmZXJyZWRJbWFn
ZURlY29kZXIoSW1hZ2VEZWNvZGVyKiBhY3R1YWxEZWNvZGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKaW5kZXggOGMw
ZGIzOTI5ZjU0MjA4YjQ3ZmEzNjM4MjczNmJmYjMxNTY0N2Y1Ny4uMWNmN2ZhODM5NWMyNmFlMDVk
ZGZmMzE1NGM3YjZmMGNhYTIzZjUwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKQEAgLTM3OCw2ICszNzgsOSBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIHJlcG9ydE1lbW9yeVVz
YWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdDsKIAorICAgICAgICB2aXJ0dWFsIGJvb2wgaG90
U3BvdChJbnRQb2ludCYpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgICAgIHZpcnR1YWwg
Ym9vbCBob3RTcG90QXRJbmRleChzaXplX3QsIEludFBvaW50JikgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KKwogICAgIHByb3RlY3RlZDoKICAgICAgICAgdm9pZCBwcmVwYXJlU2NhbGVEYXRhSWZO
ZWNlc3NhcnkoKTsKICAgICAgICAgaW50IHVwcGVyQm91bmRTY2FsZWRYKGludCBvcmlnWCwgaW50
IHNlYXJjaFN0YXJ0ID0gMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
bWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuY3BwCmluZGV4IDJkYjNl
Y2Y2Y2U3ZmNjNzMyY2UyNDM1ZGRlNGRjOTc5OGM2ODYzMDguLmQ2NzViZTY4NTJiODA5ZDZlYWM5
OTk5MGI1NDVhZWFhYWIwMjdjZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuY3BwCkBAIC0x
MzMsNiArMTMzLDI0IEBAIGJvb2wgSUNPSW1hZ2VEZWNvZGVyOjpzZXRGYWlsZWQoKQogICAgIHJl
dHVybiBJbWFnZURlY29kZXI6OnNldEZhaWxlZCgpOwogfQogCitib29sIElDT0ltYWdlRGVjb2Rl
cjo6aG90U3BvdChJbnRQb2ludCYgaG90U3BvdCkgY29uc3QKK3sKKyAgICAvLyBXaGVuIHVuc3Bl
Y2lmaWVkLCB1c2UgdGhlIGxhcmdlc3QgZnJhbWUgdG8gYmUgY29uc2lzdGVudCB3aXRoIHRoZSBz
aXplCisgICAgLy8gaW4gcHJvY2Vzc0RpcmVjdG9yeUVudHJpZXMuCisgICAgcmV0dXJuIGhvdFNw
b3RBdEluZGV4KDAsIGhvdFNwb3QpOworfQorCitib29sIElDT0ltYWdlRGVjb2Rlcjo6aG90U3Bv
dEF0SW5kZXgoc2l6ZV90IGluZGV4LCBJbnRQb2ludCYgaG90U3BvdCkgY29uc3QKK3sKKyAgICBp
ZiAoaW5kZXggPj0gbV9kaXJFbnRyaWVzLnNpemUoKSB8fCBtX2ZpbGVUeXBlICE9IENVUlNPUikK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgY29uc3QgSWNvbkRpcmVjdG9yeUVudHJ5JiBk
aXJFbnRyeSA9IG1fZGlyRW50cmllc1tpbmRleF07CisgICAgaG90U3BvdCA9IEludFBvaW50KGRp
ckVudHJ5Lm1faG90U3BvdFgsIGRpckVudHJ5Lm1faG90U3BvdFkpOworICAgIHJldHVybiB0cnVl
OworfQorCisKIC8vIHN0YXRpYwogYm9vbCBJQ09JbWFnZURlY29kZXI6OmNvbXBhcmVFbnRyaWVz
KGNvbnN0IEljb25EaXJlY3RvcnlFbnRyeSYgYSwgY29uc3QgSWNvbkRpcmVjdG9yeUVudHJ5JiBi
KQogewpAQCAtMjMyLDEzICsyNTAsMTEgQEAgYm9vbCBJQ09JbWFnZURlY29kZXI6OnByb2Nlc3NE
aXJlY3RvcnkoKQogCiAgICAgLy8gU2VlIGlmIHRoaXMgaXMgYW4gaWNvbiBmaWxldHlwZSB3ZSB1
bmRlcnN0YW5kLCBhbmQgbWFrZSBzdXJlIHdlIGhhdmUgYXQKICAgICAvLyBsZWFzdCBvbmUgZW50
cnkgaW4gdGhlIGRpcmVjdG9yeS4KLSAgICBlbnVtIHsKLSAgICAgICAgSUNPTiA9IDEsCi0gICAg
ICAgIENVUlNPUiA9IDIsCi0gICAgfTsKICAgICBpZiAoKChmaWxlVHlwZSAhPSBJQ09OKSAmJiAo
ZmlsZVR5cGUgIT0gQ1VSU09SKSkgfHwgKCFpZENvdW50KSkKICAgICAgICAgcmV0dXJuIHNldEZh
aWxlZCgpOwogCisgICAgbV9maWxlVHlwZSA9IHN0YXRpY19jYXN0PEZpbGVUeXBlPihmaWxlVHlw
ZSk7CisKICAgICAvLyBFbmxhcmdlIG1lbWJlciB2ZWN0b3JzIHRvIGhvbGQgYWxsIHRoZSBlbnRy
aWVzLgogICAgIG1fZGlyRW50cmllcy5yZXNpemUoaWRDb3VudCk7CiAgICAgbV9ibXBSZWFkZXJz
LnJlc2l6ZShpZENvdW50KTsKQEAgLTI4Nyw3ICszMDMsMTUgQEAgSUNPSW1hZ2VEZWNvZGVyOjpJ
Y29uRGlyZWN0b3J5RW50cnkgSUNPSW1hZ2VEZWNvZGVyOjpyZWFkRGlyZWN0b3J5RW50cnkoKQog
ICAgICAgICBoZWlnaHQgPSAyNTY7CiAgICAgSWNvbkRpcmVjdG9yeUVudHJ5IGVudHJ5OwogICAg
IGVudHJ5Lm1fc2l6ZSA9IEludFNpemUod2lkdGgsIGhlaWdodCk7Ci0gICAgZW50cnkubV9iaXRD
b3VudCA9IHJlYWRVaW50MTYoNik7CisgICAgaWYgKG1fZmlsZVR5cGUgPT0gQ1VSU09SKSB7Cisg
ICAgICAgIGVudHJ5Lm1fYml0Q291bnQgPSAwOworICAgICAgICBlbnRyeS5tX2hvdFNwb3RYID0g
cmVhZFVpbnQxNig0KTsKKyAgICAgICAgZW50cnkubV9ob3RTcG90WSA9IHJlYWRVaW50MTYoNik7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgZW50cnkubV9iaXRDb3VudCA9IHJlYWRVaW50MTYoNik7
CisgICAgICAgIGVudHJ5Lm1faG90U3BvdFggPSAwOworICAgICAgICBlbnRyeS5tX2hvdFNwb3RZ
ID0gMDsKKyAgICB9CiAgICAgZW50cnkubV9pbWFnZU9mZnNldCA9IHJlYWRVaW50MzIoMTIpOwog
CiAgICAgLy8gU29tZSBpY29ucyBkb24ndCBoYXZlIGEgYml0IGRlcHRoLCBvbmx5IGEgY29sb3Ig
Y291bnQuICBDb252ZXJ0IHRoZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5oCmluZGV4IDMxZDkxYzgx
OTAyZmIwZDJjNjlkYzBhMzYxOGNiZGM1NGJmNmI3MTMuLjBkZWJhZDAxNzdhYTQ5MzE3YjJkOWFm
MjQ1MzdlMDU2OTBkOTE2YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lt
YWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmgKQEAgLTU2LDYgKzU2
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyBhdm9pZCBhY2Nlc3NpbmcgZGVs
ZXRlZCBtZW1vcnksIGVzcGVjaWFsbHkgd2hlbiBjYWxsaW5nIHRoaXMgZnJvbQogICAgICAgICAv
LyBpbnNpZGUgQk1QSW1hZ2VSZWFkZXIhCiAgICAgICAgIHZpcnR1YWwgYm9vbCBzZXRGYWlsZWQo
KTsKKyAgICAgICAgdmlydHVhbCBib29sIGhvdFNwb3QoSW50UG9pbnQmKSBjb25zdDsKKyAgICAg
ICAgdmlydHVhbCBib29sIGhvdFNwb3RBdEluZGV4KHNpemVfdCwgSW50UG9pbnQmKSBjb25zdDsK
IAogICAgIHByaXZhdGU6CiAgICAgICAgIGVudW0gSW1hZ2VUeXBlIHsKQEAgLTY0LDkgKzY2LDE2
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIFBORywKICAgICAgICAgfTsKIAor
ICAgICAgICBlbnVtIEZpbGVUeXBlIHsKKyAgICAgICAgICAgIElDT04gPSAxLAorICAgICAgICAg
ICAgQ1VSU09SID0gMiwKKyAgICAgICAgfTsKKwogICAgICAgICBzdHJ1Y3QgSWNvbkRpcmVjdG9y
eUVudHJ5IHsKICAgICAgICAgICAgIEludFNpemUgbV9zaXplOwogICAgICAgICAgICAgdWludDE2
X3QgbV9iaXRDb3VudDsKKyAgICAgICAgICAgIHVpbnQxNl90IG1faG90U3BvdFg7CisgICAgICAg
ICAgICB1aW50MTZfdCBtX2hvdFNwb3RZOwogICAgICAgICAgICAgdWludDMyX3QgbV9pbWFnZU9m
ZnNldDsKICAgICAgICAgfTsKIApAQCAtMTIyLDYgKzEzMSw5IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgLy8gQk1QSW1hZ2VSZWFkZXIgdGFrZXMgb3ZlciB0aGlzIHdpbGwgbm90IGJl
IHVwZGF0ZWQgZnVydGhlci4KICAgICAgICAgc2l6ZV90IG1fZGVjb2RlZE9mZnNldDsKIAorICAg
ICAgICAvLyBXaGljaCB0eXBlIG9mIGZpbGUgKElDTy9DVVIpIHRoaXMgaXMuCisgICAgICAgIEZp
bGVUeXBlIG1fZmlsZVR5cGU7CisKICAgICAgICAgLy8gVGhlIGhlYWRlcnMgZm9yIHRoZSBJQ08u
CiAgICAgICAgIHR5cGVkZWYgVmVjdG9yPEljb25EaXJlY3RvcnlFbnRyeT4gSWNvbkRpcmVjdG9y
eUVudHJpZXM7CiAgICAgICAgIEljb25EaXJlY3RvcnlFbnRyaWVzIG1fZGlyRW50cmllczsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCBhNmMwYzBkMTVhYjAyZmVkMDM4YzVkZTQxOGMwOWIwZmE5OTBkMWU2Li5iZmFkNWExNTli
NDFlMWVkMWNjYjA1YWE3ZWM4Zjk4MWQyNWNhOTU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjMgQEAKIDIw
MTItMTEtMDkgIFJpY2sgQnllcnMgIDxyYnllcnNAY2hyb21pdW0ub3JnPgogCisgICAgICAgIGN1
c3RvbSBDU1MgY3Vyc29ycyBpZ25vcmUgaG90c3BvdCB2YWx1ZXMgZW1iZWRkZWQgaW4gQ1VSIGZp
bGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAw
NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
bW91c2UgY3Vyc29yIHRlc3QgY2FzZXMgdGhhdCB1c2UgQ1VSIGZpbGVzIHRoYXQgaGF2ZSBlbWJl
ZGRlZCBob3RzcG90IHZhbHVlcy4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNv
ci1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLW11bHRp
ZnJhbWVjdXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9tb3Vz
ZS1jdXJzb3ItbXVsdGlmcmFtZWN1ci5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9tb3VzZS1j
dXJzb3IuaHRtbDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9yZXNvdXJjZXMvZ3JlZW5ib3gtM2Zy
YW1lcy5jdXI6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3Jlc291cmNlcy9ncmVlbmJv
eC1ob3RzcG90MzUtNC5jdXI6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3Jlc291cmNl
cy9ncmVlbmJveC1ob3RzcG90NS00LmN1cjogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFj
L1Rlc3RFeHBlY3RhdGlvbnM6IFNraXAgdGhlIG11bHRpLWZyYW1lIGNhc2Ugb24gbWFjIGR1ZSB0
byBhbiBhcHBhcmVudCBDRyBoYW5nCisKKzIwMTItMTEtMDkgIFJpY2sgQnllcnMgIDxyYnllcnNA
Y2hyb21pdW0ub3JnPgorCiAgICAgICAgIFtjaHJvbWl1bV0gTW92ZSB0byBVU0UoTEFaWV9OQVRJ
VkVfQ1VSU09SKQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTAxNTAxCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1
cnNvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3It
ZXhwZWN0ZWQudHh0CmluZGV4IDhjMTVhOTFiNDQzMDM4NmJlMzE4MTUwNDFhM2IwOWM2YTlhZmIz
OWYuLjEwNTRlZjQxMDNhZjc4ZDc2ZDlkNzFhZGI2YzdlZTZlOWQ2NThkZjggMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4dApAQCAtNDUs
NiArNDUsMTUgQEAgQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBpbWFn
ZT0yNXgyNQogVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IG91dHNpZGUg
aW1hZ2UgYXQgKDMwLDMwKQogQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAs
MCBpbWFnZT0yNXgyNQogCitURVNUIENBU0U6IEltYWdlIHdpdGggaW1wbGljaXQgaG90IHNwb3Qg
YXQgKDUsNCkKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3BvdD01LDQgaW1hZ2U9
MjV4MjUKKworVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgyMCwx
MCkgb3ZlcnJpZGluZyBpbXBsaWNpdCBob3Qgc3BvdAorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1
c3RvbSBob3RTcG90PTIwLDEwIGltYWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBp
bXBsaWNpdCBob3Qgc3BvdCBvdXRzaWRlIGltYWdlIGF0ICgzNSw0KQorQ3Vyc29yIEluZm86IHR5
cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBpbWFnZT0yNXgyNQorCiBURVNUIENBU0U6IE92ZXIg
bGFyZ2UgaW1hZ2Ugd2l0aCBmYWxsYmFjayB0byBwb2ludGVyCiBDdXJzb3IgSW5mbzogdHlwZT1U
eXBlSGFuZCBob3RTcG90PTAsMAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9tb3VzZS1jdXJzb3ItbXVsdGlmcmFtZWN1ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItbXVsdGlmcmFtZWN1ci1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjIzNzgzZTIyZjFiNjAyZDM5NzY0MjAxNDc5ODI1ZTljYTQ0ZTZjYQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1tdWx0aWZyYW1l
Y3VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBACitUZXN0IHRoYXQgbW91c2UgY3Vyc29y
cyBhcmUgYXBwbGllZCBjb3JyZWN0bHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitCdWcgMTAwMDU5CisKKworVEVTVCBDQVNFOiBJbXBsaWNpdCBkZWZhdWx0IGN1cnNvcgorQ3Vy
c29yIEluZm86IHR5cGU9VHlwZUlCZWFtIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogQ1VSIGZp
bGUgd2l0aCAzIGZyYW1lcywgbGFyZ2VzdCBvZiB3aGljaCAoMm5kIGZyYW1lKSBpcyAyMHgxMiB3
aXRoIGhvdHNwb3QgYXQgKDE4LDExKS4KK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90
U3BvdD0xOCwxMSBpbWFnZT0yMHgxMgorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
bW91c2UtY3Vyc29yLW11bHRpZnJhbWVjdXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L21vdXNlLWN1cnNvci1tdWx0aWZyYW1lY3VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmM2ZTZmNGIwNzg3
YWE5NTMxNWFjYjcyNDIxODZmYTJmNmZhZjE3NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1tdWx0aWZyYW1lY3VyLmh0bWwKQEAgLTAsMCAr
MSw5MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c3R5bGUgdHlwZT0idGV4
dC9jc3MiPgorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8cD48YSBocmVmPWh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDA1NTA+QnVnIDEwMDA1OTwvYT48L3A+Cis8ZGl2IGlkPSJ0ZXN0LWNvbnRhaW5lciI+CisgIDxk
aXY+SW1wbGljaXQgZGVmYXVsdCBjdXJzb3I8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1
cmwocmVzb3VyY2VzL2dyZWVuYm94LTNmcmFtZXMuY3VyKSwgcG9pbnRlcic+Q1VSIGZpbGUgd2l0
aCAzIGZyYW1lcywgbGFyZ2VzdCBvZiB3aGljaCAoMm5kIGZyYW1lKSBpcyAyMHgxMiB3aXRoIGhv
dHNwb3QgYXQgKDE4LDExKS48L2Rpdj4KKzwvZGl2PgorPGJyLz4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KK3ZhciBpbWFnZXNMZWZ0VG9Mb2FkID0gMDsKKworZnVuY3Rpb24g
b25JbWFnZUxvYWQoZSkgeworCisgICAgLy8gVGhpcyBkZWJ1ZyBvdXRwdXQgaXMgbm9uLWRldGVy
bWluaXN0aWMgYW5kIGNvbnRhaW5zIGFic29sdXRlIFVSTHMgLSBvbmx5IHNob3cgd2hlbgorICAg
IC8vIG5vdCBydW5uaW5nIGluIERSVAorICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIGRlYnVnKCAnRXZlbnQgIicgKyBlLnR5cGUgKyAnIjogJyArIGUudGFyZ2V0LnNyYyk7Cisg
ICAgICAgIAorICAgIGltYWdlc0xlZnRUb0xvYWQtLTsKKyAgICBpZiAoaW1hZ2VzTGVmdFRvTG9h
ZCA9PSAwKQorICAgICAgICBydW5UZXN0cygpOworICAgIGlmIChpbWFnZXNMZWZ0VG9Mb2FkIDwg
MCkKKyAgICAgICAgdGVzdEZhaWxlZCgnR290IG1vcmUgbG9hZC9lcnJvciBjYWxsYmFjayB0aGFu
IGV4cGVjdGVkLicpOworfQorCitmdW5jdGlvbiBvbkltYWdlVW5leHBlY3RlZChlKSB7CisJaW1h
Z2VzTGVmdFRvTG9hZC0tOworICAgIHRlc3RGYWlsZWQoJ0dvdCB1bmV4cGVjdGVkIFwnJyArIGUu
dHlwZSArICdcJyBldmVudCBmb3IgaW1hZ2U6ICcgKyBlLnRhcmdldC5zcmMpOyAKK30KKworZnVu
Y3Rpb24gcnVuVGVzdHMoKSB7CisgICAgLy8gQ2FuJ3QgZG8gYW55dGhpbmcgdXNlZnVsIGhlcmUg
d2l0aG91dCBldmVudFNlbmRlcgorICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAg
ICAgdmFyIG5vZGVzVG9UZXN0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI3Rlc3QtY29u
dGFpbmVyID4gZGl2Jyk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZXNUb1Rlc3Qu
bGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgIHZhciBub2RlID0gbm9kZXNUb1Rlc3RbaV07Cisg
ICAgICAgICAgICBkZWJ1ZygnVEVTVCBDQVNFOiAnICsgbm9kZS50ZXh0Q29udGVudCk7CisKKyAg
ICAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgbm9kZSBpcyB2aXNpYmxlIGFuZCBtb3ZlIHRoZSBt
b3VzZSBvdmVyIHRvcCBvZiBpdC4KKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9w
ID0gbm9kZS5vZmZzZXRUb3AgLSA1MDsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92
ZVRvKG5vZGUub2Zmc2V0TGVmdCArIDMsIG5vZGUub2Zmc2V0VG9wIC0gZG9jdW1lbnQuYm9keS5z
Y3JvbGxUb3AgKyAzKTsKKworICAgICAgICAgICAgLy8gR2V0IGRldGFpbHMgb2YgdGhlIGN1cnJl
bnQgbW91c2UgY3Vyc29yLgorICAgICAgICAgICAgLy8gTm90ZSB0aGF0IHdlIGNvdWxkIHJldHVy
biBzdHJ1Y3R1cmVkIGRhdGEgd2hpY2ggd2UgdGhlbiB2YWxpZGF0ZSwgYnV0IHRoYXQncyBhIGxv
dCBtb3JlCisgICAgICAgICAgICAvLyB3b3JrIGFuZCBpcyByZWR1bmRhbnQgd2l0aCByZWx5aW5n
IG9uIHRoZSBleHBlY3RlZCBvdXRwdXQgYW55d2F5LiAgQmV0dGVyIHRvIGp1c3QgZHVtcAorICAg
ICAgICAgICAgLy8gaXQgYW5kIGluc3BlY3QgdGhhdCBpdCBtYXRjaGVzIHRoZSBkZXNjcmlwdGlv
bi4KKyAgICAgICAgICAgIGRlYnVnKCdDdXJzb3IgSW5mbzogJyArIHdpbmRvdy5pbnRlcm5hbHMu
Z2V0Q3VycmVudEN1cnNvckluZm8oZG9jdW1lbnQpKTsKKyAgICAgICAgICAgIGRlYnVnKCcnKTsK
KyAgICAgICAgfQorICAgICAgICAvLyBUaGlzIHRleHQgaXMgcmVkdW5kYW50IHdpdGggdGhlIHRl
c3Qgb3V0cHV0IC0gaGlkZSBpdAorICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVz
dC1jb250YWluZXInKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOworICAgIH0KKyAgICAKKyAgICBm
aW5pc2hKU1Rlc3QoKTsKK30KKworZGVzY3JpcHRpb24oIlRlc3QgdGhhdCBtb3VzZSBjdXJzb3Jz
IGFyZSBhcHBsaWVkIGNvcnJlY3RseS4iKTsKKworaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpIHsK
KyAgICB0ZXN0RmFpbGVkKCdUaGlzIHRlc3QgcmVxdWlyZXMgRHVtcFJlbmRlclRyZWUnKTsKK30K
KworaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgd2luZG93LmpzVGVzdElzQXN5
bmMgPSB0cnVlOworfQorCisvLyBOb3cgd2FpdCBmb3IgZWFjaCBpbWFnZSB0byBsb2FkIG9yIGZh
aWwgdG8gbG9hZCBiZWZvcmUgc3RhcnRpbmcgdGVzdHMuCisvLyBXaXRob3V0IHRoaXMgd2UgY2Fu
IGdldCBudWxsIGltYWdlcyBpbiB0aGUgY3Vyc29ycyAtIGVnLiBubyBrbm93biBzaXplLgordmFy
IGltYWdlc1RvTG9hZCA9IFsKKyAgICB7IHVybDogJ3Jlc291cmNlcy9ncmVlbmJveC0zZnJhbWVz
LmN1cicgfSBdOworaW1hZ2VzTGVmdFRvTG9hZCA9IGltYWdlc1RvTG9hZC5sZW5ndGg7Citmb3Ig
KHZhciBpID0gMDsgaSA8IGltYWdlc1RvTG9hZC5sZW5ndGg7IGkrKykgeworICAgIHZhciBpbWcg
PSBuZXcgSW1hZ2UoKTsKKyAgICB2YXIgZXhwZWN0RXJyb3IgPSBpbWFnZXNUb0xvYWRbaV0uZXJy
b3I7IAorICAgIGltZy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZXhwZWN0RXJyb3IgPyBvbklt
YWdlVW5leHBlY3RlZCA6IG9uSW1hZ2VMb2FkKTsKKyAgICBpbWcuYWRkRXZlbnRMaXN0ZW5lcign
ZXJyb3InLCBleHBlY3RFcnJvciA/IG9uSW1hZ2VMb2FkIDogb25JbWFnZVVuZXhwZWN0ZWQpOwor
ICAgIGltZy5zcmMgPSBpbWFnZXNUb0xvYWRbaV0udXJsOworfQorCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
bW91c2UtY3Vyc29yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3Iu
aHRtbAppbmRleCAxNjdkNzg1ZmY5ZjVkOWU0ZjI3OGI2MWY4MGM0YjI0ZDZkYjJkMmEzLi40ZmYz
MDM2NTY2NGVmZGUyZjQzMTc5NWEyNTRmNjk2MWNhYzhkYmUzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbApAQCAtMjgsNiArMjgsOSBAQAogICA8ZGl2IHN0eWxl
PSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSAyMCAxMCwgcG9pbnRlcic+SW1h
Z2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMjAsMTApPC9kaXY+CiAgIDxkaXYgc3R5bGU9
J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC5wbmcpIC0xIC0xLCBwb2ludGVyJz5JbWFn
ZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgtMSwtMSk8L2Rpdj4KICAgPGRpdiBzdHlsZT0n
Y3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LnBuZykgMzAgMzAsIHBvaW50ZXInPkltYWdl
IHdpdGggZXhwbGljaXQgaG90IHNwb3Qgb3V0c2lkZSBpbWFnZSBhdCAoMzAsMzApPC9kaXY+Cisg
IDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC1ob3RzcG90NS00LmN1
ciksIHBvaW50ZXInPkltYWdlIHdpdGggaW1wbGljaXQgaG90IHNwb3QgYXQgKDUsNCk8L2Rpdj4K
KyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3Q1LTQu
Y3VyKSAyMCAxMCwgcG9pbnRlcic+SW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMjAs
MTApIG92ZXJyaWRpbmcgaW1wbGljaXQgaG90IHNwb3Q8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vy
c29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3QzNS00LmN1ciksIHBvaW50ZXInPklt
YWdlIHdpdGggaW1wbGljaSAgdCBob3Qgc3BvdCBvdXRzaWRlIGltYWdlIGF0ICgzNSw0KTwvZGl2
PgogICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvb25sb2FkLWltYWdlLnBuZyks
IHBvaW50ZXInPk92ZXIgbGFyZ2UgaW1hZ2Ugd2l0aCBmYWxsYmFjayB0byBwb2ludGVyPC9kaXY+
CiAgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKCNncmVlbmJveCksIHBvaW50ZXInPlNWRyBjdXJz
b3I8L2Rpdj4KICAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwobW91c2UtY3Vyc29yLmh0bWwpLCB1
cmwodW5rbm93bi1zY2hlbWU6Y3Vyc29yLnBuZyksIHBvaW50ZXInPk11bHRpcGxlIGludmFsaWQg
Y3Vyc29ycyB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXI8L2Rpdj4KQEAgLTY3LDcgKzcwLDEyIEBA
IGZ1bmN0aW9uIHJ1blRlc3RzKCkgewogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGVz
VG9UZXN0Lmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICB2YXIgbm9kZSA9IG5vZGVzVG9UZXN0
W2ldOwogICAgICAgICAgICAgZGVidWcoJ1RFU1QgQ0FTRTogJyArIG5vZGUudGV4dENvbnRlbnQp
OwotICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8obm9kZS5vZmZzZXRMZWZ0ICsg
Mywgbm9kZS5vZmZzZXRUb3AgKyAzKTsKKworICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBu
b2RlIGlzIHZpc2libGUgYW5kIG1vdmUgdGhlIG1vdXNlIG92ZXIgdG9wIG9mIGl0LgorICAgICAg
ICAgICAgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgPSBub2RlLm9mZnNldFRvcCAtIDUwOworICAg
ICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8obm9kZS5vZmZzZXRMZWZ0ICsgMywgbm9k
ZS5vZmZzZXRUb3AgLSBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCArIDMpOworCisgICAgICAgICAg
ICAvLyBHZXQgZGV0YWlscyBvZiB0aGUgY3VycmVudCBtb3VzZSBjdXJzb3IuCiAgICAgICAgICAg
ICAvLyBOb3RlIHRoYXQgd2UgY291bGQgcmV0dXJuIHN0cnVjdHVyZWQgZGF0YSB3aGljaCB3ZSB0
aGVuIHZhbGlkYXRlLCBidXQgdGhhdCdzIGEgbG90IG1vcmUKICAgICAgICAgICAgIC8vIHdvcmsg
YW5kIGlzIHJlZHVuZGFudCB3aXRoIHJlbHlpbmcgb24gdGhlIGV4cGVjdGVkIG91dHB1dCBhbnl3
YXkuICBCZXR0ZXIgdG8ganVzdCBkdW1wCiAgICAgICAgICAgICAvLyBpdCBhbmQgaW5zcGVjdCB0
aGF0IGl0IG1hdGNoZXMgdGhlIGRlc2NyaXB0aW9uLgpAQCAtOTgsNiArMTA2LDggQEAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7CiB2YXIgaW1hZ2VzVG9Mb2FkID0gWwogICAgIHsgdXJsOiAncmVz
b3VyY2VzL2dyZWVuYm94LnBuZycgfSwKICAgICB7IHVybDogJ3Jlc291cmNlcy9vbmxvYWQtaW1h
Z2UucG5nJyB9LAorICAgIHsgdXJsOiAncmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3Q1LTQuY3Vy
JyB9LAorICAgIHsgdXJsOiAncmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3QzNS00LmN1cicgfSwK
ICAgICB7IHVybDogJ2RvZXNudGV4aXN0LnBuZycsIGVycm9yOiB0cnVlIH0sCiAgICAgeyB1cmw6
ICd1bmtub3duLXNjaGVtZTpjdXJzb3IucG5nJywgZXJyb3I6IHRydWUgfSwKICAgICB7IHVybDog
J21vdXNlLWN1cnNvci5odG1sJywgZXJyb3I6IHRydWUgfSwKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy9ncmVlbmJveC0zZnJhbWVzLmN1ciBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy9ncmVlbmJveC0zZnJhbWVzLmN1cgpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yYjA5ZDY0MTZjYjU3NzdjM2UwN2U0NmFmZjBhNGM0MzJmNGFlZDQ2CkdJVCBiaW5hcnkgcGF0
Y2gKbGl0ZXJhbCAzOTAKemNtWlF6VX05aXE7OV9OQjs5eXszaCt0cX5GYXUlezl3cjdNMjV5RTRL
ejFKeF5ScUtDQEdgSjVXQn1RNmowX0FLCnpLJDs3Ujg1d3tBS3ArQXBBcHtlUXtVNjRfTGZkMUNm
eUBQJkJMVCFQYX1BSmA1b0lvdGRRMnVpclZ0KHhrYjZLbgpWXzwkSlo5dkxMe0IpSkM/T2h+I0JP
YU49TzJUY0Z+CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvZ3JlZW5ib3gtaG90c3BvdDM1LTQuY3VyIGIvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3QzNS00LmN1cgpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45MjIyNmM1MWUyNDVkM2Y4NDY4YWY2ODI4OWQ1MzE3ZmRlNjkyZWQwCkdJVCBiaW5h
cnkgcGF0Y2gKbGl0ZXJhbCAyNzAKemNtWlF6VX05aW9rZCRPJVAtYjlaX2AkJXlBT14lNUtyOUt3
TW5LRjZnZG1VdENMc2g5alF0PFJwYkszfllnKyZ8CkN2OylLZAoKbGl0ZXJhbCAwCkhjbVY/ZDAw
MDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVu
Ym94LWhvdHNwb3Q1LTQuY3VyIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dy
ZWVuYm94LWhvdHNwb3Q1LTQuY3VyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhZTdjOWMyNzA2OThjM2ViNWZlNjkw
NjA2NzVhOGM3YmVmNzk0MDYKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDI3MAp6Y21aUXpVfTlp
b2tkJE8lVX1hIW9fYCQleUFPXiU1S3I5S3dNbktGNmdkbVV0Q0xzaDlqUXQ8UnBiSzN+WWcrJnEK
Q0pPaWN4CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDQ2NWI2ZjkyMzIyYTkzMTM4NGMyZGUyYjA0ZDkzY2RlYTgy
MDEzMzMuLjA2Yzc0MjUxZDBhOThmOTYyNmYzYjYxODBjNzBiYjQyMzM0YWI1MDAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMTcxLDMgKzExNzEsNiBA
QCB3ZWJraXQub3JnL2IvMTAwODQ2IGluc3BlY3Rvci1wcm90b2NvbC9kZWJ1Z2dlci10ZXJtaW5h
dGUtZGVkaWNhdGVkLXdvcmtlci13aGlsZQogd2Via2l0Lm9yZy9iLzEwMDE0MiBjc3MzL2ZpbHRl
cnMvZWZmZWN0LXJlZmVyZW5jZS1ody5odG1sIFsgRmFpbCBdCiB3ZWJraXQub3JnL2IvMTAwMTQy
IGNzczMvZmlsdGVycy9lZmZlY3QtcmVmZXJlbmNlLW9yZGVyaW5nLWh3Lmh0bWwgWyBGYWlsIF0K
IHdlYmtpdC5vcmcvYi8xMDAxNDIgY3NzMy9maWx0ZXJzL2VmZmVjdC1yZWZlcmVuY2UuaHRtbCBb
IEZhaWwgXQorCisjIEhhbmdzIHNhZmFyaSBhcHBhcmVudGx5IGR1ZSB0byBhbiBpc3N1ZSB3aXRo
IENvcmVHcmFwaGljcyBhbmQgd2VpcmQgbXVsdGktZnJhbWUgQ1VSIGltYWdlIGZpbGVzCit3ZWJr
aXQub3JnL2IvMTAxODExIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1tdWx0aWZyYW1lY3VyLmh0
bWwgWyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173402</attachid>
            <date>2012-11-09 16:44:31 -0800</date>
            <delta_ts>2012-11-09 17:03:34 -0800</delta_ts>
            <desc>Combined with fixes for 100550 and 101501 for EWS</desc>
            <filename>bug-100059-20121109194238.patch</filename>
            <type>text/plain</type>
            <size>66246</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjI1NTRmYTAwNGI2OGUx
YzdjY2RkMmM5MGFlZTMzYTRhYTEwYzVhYS4uODg4NTgwYTYzNzA5MmE2N2RlNmY1YWVjY2E3YzUz
NmQ3YWNmYTRhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg3IEBACisyMDEyLTExLTA5ICBSaWNr
IEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBjdXN0b20gQ1NTIGN1cnNv
cnMgaWdub3JlIGhvdHNwb3QgdmFsdWVzIGVtYmVkZGVkIGluIENVUiBmaWxlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMDU5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHJlYWRpbmcgdGhlIGhv
dHNwb3QgdmFsdWVzIHRvIHRoZSBJQ09JbWFnZURlY29kZXIgKGZvciBDVVIgZmlsZXMgb25seSks
CisgICAgICAgIGFuZCBwbHVtYiBpdCB0aHJvdWdoIHNvIHRoYXQgdGhlIGV4aXN0aW5nIGNhbGxz
IHRvIEltYWdlU291cmNlOjpnZXRIb3RTcG90CisgICAgICAgIGFjdHVhbGx5IHJldHVybiB0aGUg
aG90IHNwb3QgdmFsdWUgd2hlbiB0aGVyZSBpcyBvbmUuCisKKyAgICAgICAgVGVzdHM6IGZhc3Qv
ZXZlbnRzL21vdXNlLWN1cnNvci5odG1sLCBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItbXVsdGlm
cmFtZWN1ci5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVNvdXJjZTo6Z2V0SG90U3BvdCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RGVmZXJyZWRJbWFnZURlY29kZXI6OmhvdFNwb3QpOgorICAgICAg
ICAoV2ViQ29yZTo6RGVmZXJyZWRJbWFnZURlY29kZXI6OmhvdFNwb3RBdEluZGV4KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVjb2Rlci5oOgor
ICAgICAgICAoRGVmZXJyZWRJbWFnZURlY29kZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2ltYWdl
LWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VEZWNvZGVy
Ojpob3RTcG90KToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlRGVjb2Rlcjo6aG90U3BvdEF0SW5k
ZXgpOgorICAgICAgICAoSW1hZ2VEZWNvZGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1k
ZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklDT0lt
YWdlRGVjb2Rlcjo6aG90U3BvdCk6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6
OmhvdFNwb3RBdEluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OklDT0ltYWdlRGVjb2Rlcjo6cHJv
Y2Vzc0RpcmVjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6OnJlYWRE
aXJlY3RvcnlFbnRyeSk6CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lD
T0ltYWdlRGVjb2Rlci5oOgorICAgICAgICAoSUNPSW1hZ2VEZWNvZGVyKToKKyAgICAgICAgKElj
b25EaXJlY3RvcnlFbnRyeSk6CisKKzIwMTItMTEtMDggIFJpY2sgQnllcnMgIDxyYnllcnNAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIE1vdmUgY2hyb21pdW0gdG8gVVNFKExBWllfTkFUSVZFX0NV
UlNPUikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
MTUwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
aXMgc2ltcGxpZmllcyBjdXJzb3IgaGFuZGxpbmcgaW4gY2hyb21pdW0gYW5kIHVuaWZpZXMgaXQg
d2l0aCBvdGhlcgorICAgICAgICBwb3J0cyBmb3IgZWFzaWVyIGNvZGUgc2hhcmluZyBhbmQgdGVz
dGluZyBieSBtb3ZpbmcgdG8gdGhlCisgICAgICAgIFVTRV9MQVpZX0NVUlNPUiBtb2RlbCBhbmQg
ZWxpbWluYXRpbmcgUGxhdGZvcm1DdXJzb3IgZW50aXJlbHkuCisKKyAgICAgICAgUGxhdGZvcm1D
dXJzb3IgYWRkcyBubyB2YWx1ZSBpbiBjaHJvbWl1bSBzaW5jZSB0aGUgc2FuZGJveGluZyBtb2Rl
bAorICAgICAgICByZXF1aXJlcyB0aGUgY3Vyc29yIGluZm9ybWF0aW9uIGJlIG1hcnNoYWxsZWQg
dG8gdGhlIGJyb3dzZXIgcHJvY2VzcworICAgICAgICBiZWZvcmUgYmVpbmcgdHVybmVkIGludG8g
YSByZWFsIE9TIGN1cnNvci4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9tb3VzZS1jdXJz
b3IuaHRtbAorCisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIHBsYXRmb3JtL0N1
cnNvci5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
Q3Vyc29yQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3Vyc29yOjpDdXJzb3IpOgor
ICAgICAgICAoV2ViQ29yZTo6Q3Vyc29yOjpvcGVyYXRvcj0pOgorICAgICAgICAoV2ViQ29yZTo6
Q3Vyc29yOjp+Q3Vyc29yKToKKyAgICAgICAgKFdlYkNvcmU6OkN1cnNvcjo6ZW5zdXJlUGxhdGZv
cm1DdXJzb3IpOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtQ3Vyc29yLmg6
IFJlbW92ZWQuCisKKzIwMTItMTEtMDkgIFJpY2sgQnllcnMgIDxyYnllcnNAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIE5vIHRlc3RzIGZvciBjaGFuZ2luZyBtb3VzZSBjdXJzb3JzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA1NTAKKworICAgICAg
ICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIEFkZCBpbmZyYXN0cnVjdHVyZSB0
byBrZWVwIHRyYWNrIG9mIHRoZSBsYXN0IHNldCBtb3VzZSBjdXJzb3IsCisgICAgICAgIGFuZCB0
aGVuIHRvIHF1ZXJ5IGl0IGZyb20gRHVtcFJlbmRlclRyZWUuCisKKyAgICAgICAgVGVzdDogZmFz
dC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWwKKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOiBB
ZGQgQ3Vyc29yIGNvcHkgY3RvciBleHBvcnQKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlTW92ZUV2ZW50
KTogS2VlcCB0cmFjayBvZiBsYXN0IHNldCBtb3VzZSBjdXJzb3IKKyAgICAgICAgKiBwYWdlL0V2
ZW50SGFuZGxlci5oOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpjdXJyZW50TW91
c2VDdXJzb3IpOiBOZXcgZ2V0dGVyIGZvciBsYXN0IHNldCBtb3VzZSBjdXJzb3IKKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjdXJzb3JUeXBlVG9T
dHJpbmcpOiBIZWxwZXIgdG8gY29udmVydCBjdXJzb3IgdHlwZSB0byBlbnVtCisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6Z2V0Q3VycmVudEN1cnNvcklu
Zm8pOiBOZXcgZnVuY3Rpb24gdG8gcmV0dXJuIGEgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIGxhc3Qg
c2V0IG1vdXNlIGN1cnNvcgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6IERlY2xhcmUg
Z2V0Q3VycmVudEN1cnNvckluZm8KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6IERl
Y2xhcmUgZ2V0Q3VycmVudEN1cnNvckluZm8KKwogMjAxMi0xMS0wOSAgVGllbi1SZW4gQ2hlbiAg
PHRyY2hlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ29ycmVjdCBoaXQtdGVzdCBwb2ludCBz
Y2FsaW5nIGZvciBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCmluZGV4IDA3NjAzOTg3OWExN2EzYzVlMDc1MGQzZTg5ZGU4NjE5MDZhODdhMGEuLjUwNjc1
NWRjNjIyYjQ3ZGE1Yjg3NzFhODRkYWE4MDViYzY1MjdmYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTEtMDggIFJpY2sgQnllcnMgIDxyYnllcnNA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIE1vdmUgY2hyb21pdW0gdG8gVVNFKExBWllfTkFUSVZF
X0NVUlNPUikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwMTUwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFVwZGF0ZSBjb252ZXJzaW9uIGZyb20gQ3Vyc29yIHRvIFdlYkN1cnNvckluZm8gdG8gcmVtb3Zl
IHRoZQorICAgICAgICBpbnRlcm1lZGlhdGUgKGFuZCB1c2VsZXNzKSBzdGVwIG9mIFBsYXRmb3Jt
Q3Vyc29yLgorCisgICAgICAgICogc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwOgorICAgICAg
ICAqIHNyYy9XZWJDdXJzb3JJbmZvLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ3Vyc29ySW5m
bzo6V2ViQ3Vyc29ySW5mbyk6CisKIDIwMTItMTEtMDkgIEFsZWMgRmxldHQgIDxhbGVjZmxldHRA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIEluZGV4ZWREQjogQ29tYmluZSBJREJCYWNraW5nU3Rv
cmUgYW5kIElEQkxldmVsREJCYWNraW5nU3RvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAyMDUxNDc5ZTBjMmQ1
ZTk1YmY1ZmM3OGVkOGEzMTEyMzU4ODkwM2QyLi4wMzU1N2NiZGJjZDlkOTQxNjYzOGQ0MzZkMmM3
NjU1ZDA0MjU1MWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMTEtMDkgIFJp
Y2sgQnllcnMgIDxyYnllcnNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE5vIHRlc3RzIGZvciBj
aGFuZ2luZyBtb3VzZSBjdXJzb3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDA1NTAKKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgor
CisgICAgICAgIEFkZCBuZWNlc3NhcnkgZXhwb3J0cyBmb3IgSW50ZXJuYWxzOjpnZXRDdXJyZW50
Q3Vyc29ySW5mbworCisgICAgICAgICogd2luL1dlYktpdDIuZGVmOgorICAgICAgICAqIHdpbi9X
ZWJLaXQyQ0ZMaXRlLmRlZjoKKwogMjAxMi0xMS0wOSAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9y
dG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBQREZQbHVnaW4gc2hvdWxkIHN1cHBvcnQgY2xpY2tp
bmcgb24gZXh0ZXJuYWwgbGlua3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggYTVmMjM2N2FiMTJl
NTU0ZDQ4ZjhhYzE0NTUyYWRhMGNlNjNmYTFjYS4uZjIxZGQwMjAzY2JiYmUzOWVhYWE0OGYwYTAw
YWE1MDY4ZGMzY2RhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4K
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE3MTEsNiArMTcxMSw3IEBA
IF9fWk43V2ViQ29yZTRQYWdlMjF3aW5kb3dTY3JlZW5EaWRDaGFuZ2VFagogX19aTjdXZWJDb3Jl
NUZyYW1lOW5vZGVJbWFnZUVQTlNfNE5vZGVFCiBfX1pON1dlYkNvcmU2Q3Vyc29yOGZyb21UeXBl
RU5TMF80VHlwZUUKIF9fWk43V2ViQ29yZTZDdXJzb3JDMUVQTlNfNUltYWdlRVJLTlNfOEludFBv
aW50RQorX19aTjdXZWJDb3JlNkN1cnNvckMxRVJLUzBfCiBfX1pON1dlYkNvcmU2Q3Vyc29yRDFF
dgogX19aTjdXZWJDb3JlNkN1cnNvcmFTRVJLUzBfCiBfX1pON1dlYkNvcmU2RWRpdG9yMTNjYW5E
SFRNTFBhc3RlRXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA1YzIxYzU5ZTM3OWYxODVjNmYzZjZkOGEy
YjdmNTA1NTdmODUxMjJlLi4wYTdjY2FhZjYyZjMwMzliOWIwN2VhYTE5MTMwYTRjMjRjM2IyZGRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpCkBAIC00NjcxLDcgKzQ2NzEsNiBAQAogICAgICAgICAgICAgJ3Bs
YXRmb3JtL2Nocm9taXVtL01JTUVUeXBlUmVnaXN0cnlDaHJvbWl1bS5jcHAnLAogICAgICAgICAg
ICAgJ3BsYXRmb3JtL2Nocm9taXVtL1BhZ2VDbGllbnRDaHJvbWl1bS5oJywKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9jaHJvbWl1bS9QYXN0ZWJvYXJkQ2hyb21pdW0uY3BwJywKLSAgICAgICAgICAg
ICdwbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybUN1cnNvci5oJywKICAgICAgICAgICAgICdwbGF0
Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybUtleWJvYXJkRXZlbnRDaHJvbWl1bS5jcHAnLAogICAgICAg
ICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU2NyZWVuQ2hyb21pdW0uY3BwJywKICAg
ICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaCcsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggMDdlMWI3M2FiOTgyMzJiMGY4MzQ0MTk2NDVm
MzhkNWM5NjVmYzRhYS4uN2Q3ODg4M2Y0NjI0MjI3NTA0NmMyMDUzNjA0N2JmMjJjYjA2ZTViMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMTUyNiw3ICsxNTI2LDcgQEAg
T3B0aW9uYWxDdXJzb3IgRXZlbnRIYW5kbGVyOjpzZWxlY3RDdXJzb3IoY29uc3QgTW91c2VFdmVu
dFdpdGhIaXRUZXN0UmVzdWx0cyYgZXYKICAgICB9CiAgICAgcmV0dXJuIHBvaW50ZXJDdXJzb3Io
KTsKIH0KLSAgICAKKwogc3RhdGljIExheW91dFBvaW50IGRvY3VtZW50UG9pbnRGb3JXaW5kb3dQ
b2ludChGcmFtZSogZnJhbWUsIGNvbnN0IEludFBvaW50JiB3aW5kb3dQb2ludCkKIHsKICAgICBG
cmFtZVZpZXcqIHZpZXcgPSBmcmFtZS0+dmlldygpOwpAQCAtMTg2Miw3ICsxODYyLDggQEAgYm9v
bCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlTW92ZUV2ZW50KGNvbnN0IFBsYXRmb3JtTW91c2VF
dmVudCYgbW91c2VFdmVudCwgSGkKICAgICAgICAgaWYgKEZyYW1lVmlldyogdmlldyA9IG1fZnJh
bWUtPnZpZXcoKSkgewogICAgICAgICAgICAgT3B0aW9uYWxDdXJzb3Igb3B0aW9uYWxDdXJzb3Ig
PSBzZWxlY3RDdXJzb3IobWV2LCBzY3JvbGxiYXIpOwogICAgICAgICAgICAgaWYgKG9wdGlvbmFs
Q3Vyc29yLmlzQ3Vyc29yQ2hhbmdlKCkpCi0gICAgICAgICAgICAgICAgdmlldy0+c2V0Q3Vyc29y
KG9wdGlvbmFsQ3Vyc29yLmN1cnNvcigpKTsKKyAgICAgICAgICAgICAgICBtX2N1cnJlbnRNb3Vz
ZUN1cnNvciA9IG9wdGlvbmFsQ3Vyc29yLmN1cnNvcigpOworICAgICAgICAgICAgICAgIHZpZXct
PnNldEN1cnNvcihtX2N1cnJlbnRNb3VzZUN1cnNvcik7CiAgICAgICAgIH0KICAgICB9CiAgICAg
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCA5M2M2YjEwZWI5ODc0NGZiZjU2N2E4
MTlmMjgxNjhmMzIyYTFjMWM4Li4yYzFiNTFlYTE4ODJjOTYwZWZhODQxYmMzMzE5YTQxZWNmNmZm
OWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNp
Zm5kZWYgRXZlbnRIYW5kbGVyX2gKICNkZWZpbmUgRXZlbnRIYW5kbGVyX2gKIAorI2luY2x1ZGUg
IkN1cnNvci5oIgogI2luY2x1ZGUgIkRyYWdBY3Rpb25zLmgiCiAjaW5jbHVkZSAiRHJhZ1N0YXRl
LmgiCiAjaW5jbHVkZSAiRm9jdXNEaXJlY3Rpb24uaCIKQEAgLTE0MSw2ICsxNDIsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCByZXNpemVMYXllckRlc3Ryb3llZCgpOwogCiAgICAgSW50UG9pbnQgY3Vy
cmVudE1vdXNlUG9zaXRpb24oKSBjb25zdDsKKyAgICBDdXJzb3IgY3VycmVudE1vdXNlQ3Vyc29y
KCkgY29uc3QgeyByZXR1cm4gbV9jdXJyZW50TW91c2VDdXJzb3I7IH0KIAogICAgIHN0YXRpYyBG
cmFtZSogc3ViZnJhbWVGb3JUYXJnZXROb2RlKE5vZGUqKTsKICAgICBzdGF0aWMgRnJhbWUqIHN1
YmZyYW1lRm9ySGl0VGVzdFJlc3VsdChjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRz
Jik7CkBAIC00MjAsNiArNDIyLDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8Tm9kZT4gbV9sYXN0
Tm9kZVVuZGVyTW91c2U7CiAgICAgUmVmUHRyPEZyYW1lPiBtX2xhc3RNb3VzZU1vdmVFdmVudFN1
YmZyYW1lOwogICAgIFJlZlB0cjxTY3JvbGxiYXI+IG1fbGFzdFNjcm9sbGJhclVuZGVyTW91c2U7
CisgICAgQ3Vyc29yIG1fY3VycmVudE1vdXNlQ3Vyc29yOwogCiAgICAgaW50IG1fY2xpY2tDb3Vu
dDsKICAgICBSZWZQdHI8Tm9kZT4gbV9jbGlja05vZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9DdXJzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0N1cnNvci5o
CmluZGV4IDNiMGU1ZmVhY2VkNDkyZDMxZDVhZTE1ZjcxOGRkNDRiOGE3ZjUyNzUuLjcyZDhjOTUx
YWMxNzE2MWViNTMyNjQ3OGFjZDE4ZDZkNjJiYWM2NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0N1cnNvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0N1cnNv
ci5oCkBAIC00MSw4ICs0MSw2IEBAIHR5cGVkZWYgSElDT04gSENVUlNPUjsKICNpbmNsdWRlICJH
UmVmUHRyR3RrLmgiCiAjZWxpZiBQTEFURk9STShRVCkKICNpbmNsdWRlIDxRQ3Vyc29yPgotI2Vs
aWYgUExBVEZPUk0oQ0hST01JVU0pCi0jaW5jbHVkZSAiUGxhdGZvcm1DdXJzb3IuaCIKICNlbGlm
IFBMQVRGT1JNKEJMQUNLQkVSUlkpCiAjaW5jbHVkZSA8QmxhY2tCZXJyeVBsYXRmb3JtQ3Vyc29y
Lmg+CiAjZW5kaWYKQEAgLTYwLDcgKzU4LDggQEAgdHlwZWRlZiBzdHJ1Y3QgSElDT05fXyAqSElD
T047CiB0eXBlZGVmIEhJQ09OIEhDVVJTT1I7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKFdJTikg
fHwgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFU
Rk9STShFRkwpCisvLyBMb29rcyBsaWtlIGl0J3MganVzdCBQTEFURk9STShXWCkgYW5kIFBMQVRG
T1JNKEJMQUNLQkVSUlkpIHN0aWxsIG5vdCB1c2luZyB0aGlzPworI2lmIFBMQVRGT1JNKFdJTikg
fHwgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFU
Rk9STShFRkwpIHx8IFBMQVRGT1JNKENIUk9NSVVNKQogI2RlZmluZSBXVEZfVVNFX0xBWllfTkFU
SVZFX0NVUlNPUiAxCiAjZW5kaWYKIApAQCAtOTAsOCArODksNiBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgdHlwZWRlZiBRQ3Vyc29yKiBQbGF0Zm9ybUN1cnNvcjsKICNlbGlmIFBMQVRGT1JN
KFdYKQogICAgIHR5cGVkZWYgd3hDdXJzb3IqIFBsYXRmb3JtQ3Vyc29yOwotI2VsaWYgUExBVEZP
Uk0oQ0hST01JVU0pCi0gICAgLy8gU2VlIFBsYXRmb3JtQ3Vyc29yLmgKICNlbGlmIFBMQVRGT1JN
KEJMQUNLQkVSUlkpCiAgICAgdHlwZWRlZiBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6QmxhY2tCZXJy
eUN1cnNvciBQbGF0Zm9ybUN1cnNvcjsKICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jaHJvbWl1bS9DdXJzb3JDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jaHJvbWl1bS9DdXJzb3JDaHJvbWl1bS5jcHAKaW5kZXggMzRkMTZkNDI2ZGE0MGYw
OTc3ZmJlMDczYTBhYWZjNGViZTA2ZjE2Zi4uOWRmN2YyM2Y2MTY3NjI3NTNmOGYwNzM4MTJlMDMz
MWVmODk2NmVjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0v
Q3Vyc29yQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L0N1cnNvckNocm9taXVtLmNwcApAQCAtMzYsMzM0ICszNiwzMCBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBDdXJzb3I6OkN1cnNvcihjb25zdCBDdXJzb3ImIG90aGVyKQotICAgIDogbV9wbGF0
Zm9ybUN1cnNvcihvdGhlci5tX3BsYXRmb3JtQ3Vyc29yKQotewotfQotCi1DdXJzb3I6OkN1cnNv
cihJbWFnZSogaW1hZ2UsIGNvbnN0IEludFBvaW50JiBob3RTcG90KQotICAgIDogbV9wbGF0Zm9y
bUN1cnNvcihpbWFnZSwgaG90U3BvdCkKLXsKLX0KLQotQ3Vyc29yOjp+Q3Vyc29yKCkKKyAgICA6
IG1fdHlwZShvdGhlci5tX3R5cGUpCisgICAgLCBtX2ltYWdlKG90aGVyLm1faW1hZ2UpCisgICAg
LCBtX2hvdFNwb3Qob3RoZXIubV9ob3RTcG90KQorICAgICwgbV9wbGF0Zm9ybUN1cnNvcihvdGhl
ci5tX3BsYXRmb3JtQ3Vyc29yKQogewogfQogCiBDdXJzb3ImIEN1cnNvcjo6b3BlcmF0b3I9KGNv
bnN0IEN1cnNvciYgb3RoZXIpCiB7CisgICAgbV90eXBlID0gb3RoZXIubV90eXBlOworICAgIG1f
aW1hZ2UgPSBvdGhlci5tX2ltYWdlOworICAgIG1faG90U3BvdCA9IG90aGVyLm1faG90U3BvdDsK
ICAgICBtX3BsYXRmb3JtQ3Vyc29yID0gb3RoZXIubV9wbGF0Zm9ybUN1cnNvcjsKICAgICByZXR1
cm4gKnRoaXM7CiB9CiAKLUN1cnNvcjo6Q3Vyc29yKFBsYXRmb3JtQ3Vyc29yIGMpCi0gICAgOiBt
X3BsYXRmb3JtQ3Vyc29yKGMpCi17Ci19Ci0KLWNvbnN0IEN1cnNvciYgcG9pbnRlckN1cnNvcigp
Ci17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6
VHlwZVBvaW50ZXIpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBjcm9zc0N1
cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1
cnNvcjo6VHlwZUNyb3NzKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgaGFu
ZEN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9y
bUN1cnNvcjo6VHlwZUhhbmQpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBp
QmVhbUN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0
Zm9ybUN1cnNvcjo6VHlwZUlCZWFtKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNv
ciYgd2FpdEN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQ
bGF0Zm9ybUN1cnNvcjo6VHlwZVdhaXQpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vy
c29yJiBoZWxwQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywg
KFBsYXRmb3JtQ3Vyc29yOjpUeXBlSGVscCkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBD
dXJzb3ImIGVhc3RSZXNpemVDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vy
c29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVFYXN0UmVzaXplKSk7Ci0gICAgcmV0dXJuIGM7
Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhSZXNpemVDdXJzb3IoKQotewotICAgIERFRklORV9T
VEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVOb3J0aFJlc2l6ZSkp
OwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIG5vcnRoRWFzdFJlc2l6ZUN1cnNv
cigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNv
cjo6VHlwZU5vcnRoRWFzdFJlc2l6ZSkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJz
b3ImIG5vcnRoV2VzdFJlc2l6ZUN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChD
dXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZU5vcnRoV2VzdFJlc2l6ZSkpOwotICAgIHJl
dHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIHNvdXRoUmVzaXplQ3Vyc29yKCkKLXsKLSAgICBE
RUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlU291dGhS
ZXNpemUpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBzb3V0aEVhc3RSZXNp
emVDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZv
cm1DdXJzb3I6OlR5cGVTb3V0aEVhc3RSZXNpemUpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29u
c3QgQ3Vyc29yJiBzb3V0aFdlc3RSZXNpemVDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNf
TE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVTb3V0aFdlc3RSZXNpemUpKTsK
LSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiB3ZXN0UmVzaXplQ3Vyc29yKCkKLXsK
LSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBl
V2VzdFJlc2l6ZSkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIG5vcnRoU291
dGhSZXNpemVDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAo
UGxhdGZvcm1DdXJzb3I6OlR5cGVOb3J0aFNvdXRoUmVzaXplKSk7Ci0gICAgcmV0dXJuIGM7Ci19
Ci0KLWNvbnN0IEN1cnNvciYgZWFzdFdlc3RSZXNpemVDdXJzb3IoKQotewotICAgIERFRklORV9T
VEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVFYXN0V2VzdFJlc2l6
ZSkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIG5vcnRoRWFzdFNvdXRoV2Vz
dFJlc2l6ZUN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQ
bGF0Zm9ybUN1cnNvcjo6VHlwZU5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZSkpOwotICAgIHJldHVy
biBjOwotfQotCi1jb25zdCBDdXJzb3ImIG5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZUN1cnNvcigp
Ci17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6
VHlwZU5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZSkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25z
dCBDdXJzb3ImIGNvbHVtblJlc2l6ZUN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NB
TChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZUNvbHVtblJlc2l6ZSkpOwotICAgIHJl
dHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIHJvd1Jlc2l6ZUN1cnNvcigpCi17Ci0gICAgREVG
SU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZVJvd1Jlc2l6
ZSkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIG1pZGRsZVBhbm5pbmdDdXJz
b3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJz
b3I6OlR5cGVNaWRkbGVQYW5uaW5nKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNv
ciYgZWFzdFBhbm5pbmdDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29y
LCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVFYXN0UGFubmluZykpOwotICAgIHJldHVybiBjOwot
fQotCi1jb25zdCBDdXJzb3ImIG5vcnRoUGFubmluZ0N1cnNvcigpCi17Ci0gICAgREVGSU5FX1NU
QVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZU5vcnRoUGFubmluZykp
OwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIG5vcnRoRWFzdFBhbm5pbmdDdXJz
b3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJz
b3I6OlR5cGVOb3J0aEVhc3RQYW5uaW5nKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1
cnNvciYgbm9ydGhXZXN0UGFubmluZ0N1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NB
TChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZU5vcnRoV2VzdFBhbm5pbmcpKTsKLSAg
ICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBzb3V0aFBhbm5pbmdDdXJzb3IoKQotewot
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVT
b3V0aFBhbm5pbmcpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBzb3V0aEVh
c3RQYW5uaW5nQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywg
KFBsYXRmb3JtQ3Vyc29yOjpUeXBlU291dGhFYXN0UGFubmluZykpOwotICAgIHJldHVybiBjOwot
fQotCi1jb25zdCBDdXJzb3ImIHNvdXRoV2VzdFBhbm5pbmdDdXJzb3IoKQotewotICAgIERFRklO
RV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVTb3V0aFdlc3RQ
YW5uaW5nKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgd2VzdFBhbm5pbmdD
dXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1D
dXJzb3I6OlR5cGVXZXN0UGFubmluZykpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJz
b3ImIG1vdmVDdXJzb3IoKSAKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywg
KFBsYXRmb3JtQ3Vyc29yOjpUeXBlTW92ZSkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBD
dXJzb3ImIHZlcnRpY2FsVGV4dEN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChD
dXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZVZlcnRpY2FsVGV4dCkpOwotICAgIHJldHVy
biBjOwotfQotCi1jb25zdCBDdXJzb3ImIGNlbGxDdXJzb3IoKQotewotICAgIERFRklORV9TVEFU
SUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVDZWxsKSk7Ci0gICAgcmV0
dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgY29udGV4dE1lbnVDdXJzb3IoKQotewotICAgIERF
RklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVDb250ZXh0
TWVudSkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIGFsaWFzQ3Vyc29yKCkK
LXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpU
eXBlQWxpYXMpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBwcm9ncmVzc0N1
cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1
cnNvcjo6VHlwZVByb2dyZXNzKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYg
bm9Ecm9wQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBs
YXRmb3JtQ3Vyc29yOjpUeXBlTm9Ecm9wKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1
cnNvciYgY29weUN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMs
IChQbGF0Zm9ybUN1cnNvcjo6VHlwZUNvcHkpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3Qg
Q3Vyc29yJiBub25lQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwg
YywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlTm9uZSkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25z
dCBDdXJzb3ImIG5vdEFsbG93ZWRDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwo
Q3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVOb3RBbGxvd2VkKSk7Ci0gICAgcmV0dXJu
IGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgem9vbUluQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlWm9vbUluKSk7Ci0gICAg
cmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgem9vbU91dEN1cnNvcigpCi17Ci0gICAgREVG
SU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZVpvb21PdXQp
KTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBncmFiQ3Vyc29yKCkKK0N1cnNv
cjo6fkN1cnNvcigpCiB7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0
Zm9ybUN1cnNvcjo6VHlwZUdyYWIpKTsKLSAgICByZXR1cm4gYzsKIH0KIAotY29uc3QgQ3Vyc29y
JiBncmFiYmluZ0N1cnNvcigpCit2b2lkIEN1cnNvcjo6ZW5zdXJlUGxhdGZvcm1DdXJzb3IoKSBj
b25zdAogewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJz
b3I6OlR5cGVHcmFiYmluZykpOwotICAgIHJldHVybiBjOworICAgIC8vIENocm9taXVtIGhhcyBu
byBQbGF0Zm9ybUN1cnNvci4KKyAgICBVTlJFQUNIQUJMRV9GT1JfUExBVEZPUk0oKTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZGVmaW5lIENPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oY3Vyc29yX25hbWUsIHBsYXRmb3JtX2N1cnNvcl9uYW1lKSBcCi0gICAgQ09NUElMRV9B
U1NFUlQoaW50KFdlYkNvcmU6OkN1cnNvcjo6Y3Vyc29yX25hbWUpID09IGludChXZWJDb3JlOjpQ
bGF0Zm9ybUN1cnNvcjo6cGxhdGZvcm1fY3Vyc29yX25hbWUpLCBtaXNtYXRjaGluZ19lbnVtcykK
LQotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShQb2ludGVyLCBUeXBlUG9pbnRlcik7Ci1D
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKENyb3NzLCBUeXBlQ3Jvc3MpOwotQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShIYW5kLCBUeXBlSGFuZCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKElCZWFtLCBUeXBlSUJlYW0pOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShXYWl0LCBUeXBlV2FpdCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEhlbHAsIFR5
cGVIZWxwKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRWFzdFJlc2l6ZSwgVHlwZUVh
c3RSZXNpemUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShOb3J0aFJlc2l6ZSwgVHlw
ZU5vcnRoUmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTm9ydGhFYXN0UmVz
aXplLCBUeXBlTm9ydGhFYXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
Tm9ydGhXZXN0UmVzaXplLCBUeXBlTm9ydGhXZXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oU291dGhSZXNpemUsIFR5cGVTb3V0aFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKFNvdXRoRWFzdFJlc2l6ZSwgVHlwZVNvdXRoRWFzdFJlc2l6ZSk7Ci1D
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFNvdXRoV2VzdFJlc2l6ZSwgVHlwZVNvdXRoV2Vz
dFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlc3RSZXNpemUsIFR5cGVX
ZXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTm9ydGhTb3V0aFJlc2l6
ZSwgVHlwZU5vcnRoU291dGhSZXNpemUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
YXN0V2VzdFJlc2l6ZSwgVHlwZUVhc3RXZXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oTm9ydGhFYXN0U291dGhXZXN0UmVzaXplLCBUeXBlTm9ydGhFYXN0U291dGhXZXN0
UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTm9ydGhXZXN0U291dGhFYXN0
UmVzaXplLCBUeXBlTm9ydGhXZXN0U291dGhFYXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oQ29sdW1uUmVzaXplLCBUeXBlQ29sdW1uUmVzaXplKTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oUm93UmVzaXplLCBUeXBlUm93UmVzaXplKTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oTWlkZGxlUGFubmluZywgVHlwZU1pZGRsZVBhbm5pbmcpOwotQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFYXN0UGFubmluZywgVHlwZUVhc3RQYW5uaW5nKTsK
LUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTm9ydGhQYW5uaW5nLCBUeXBlTm9ydGhQYW5u
aW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTm9ydGhFYXN0UGFubmluZywgVHlw
ZU5vcnRoRWFzdFBhbm5pbmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShOb3J0aFdl
c3RQYW5uaW5nLCBUeXBlTm9ydGhXZXN0UGFubmluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKFNvdXRoUGFubmluZywgVHlwZVNvdXRoUGFubmluZyk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKFNvdXRoRWFzdFBhbm5pbmcsIFR5cGVTb3V0aEVhc3RQYW5uaW5nKTsKLUNP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oU291dGhXZXN0UGFubmluZywgVHlwZVNvdXRoV2Vz
dFBhbm5pbmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZXN0UGFubmluZywgVHlw
ZVdlc3RQYW5uaW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTW92ZSwgVHlwZU1v
dmUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShWZXJ0aWNhbFRleHQsIFR5cGVWZXJ0
aWNhbFRleHQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShDZWxsLCBUeXBlQ2VsbCk7
Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKENvbnRleHRNZW51LCBUeXBlQ29udGV4dE1l
bnUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShBbGlhcywgVHlwZUFsaWFzKTsKLUNP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oUHJvZ3Jlc3MsIFR5cGVQcm9ncmVzcyk7Ci1DT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKE5vRHJvcCwgVHlwZU5vRHJvcCk7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKENvcHksIFR5cGVDb3B5KTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oTm9uZSwgVHlwZU5vbmUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShO
b3RBbGxvd2VkLCBUeXBlTm90QWxsb3dlZCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KFpvb21JbiwgVHlwZVpvb21Jbik7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFpvb21P
dXQsIFR5cGVab29tT3V0KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oR3JhYiwgVHlw
ZUdyYWIpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShHcmFiYmluZywgVHlwZUdyYWJi
aW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oQ3VzdG9tLCBUeXBlQ3VzdG9tKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtQ3Vy
c29yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybUN1cnNvci5o
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZDFlYmJkMDY1MGQ2OGYyMmE3NTc1OTM0
NGY0ZjRkMjExMGFiZWVlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtQ3Vyc29yLmgK
KysrIC9kZXYvbnVsbApAQCAtMSwxMTEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoYykgMjAw
OCwgMjAwOSwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIAotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKiAKLSAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24u
Ci0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqIAotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFBsYXRmb3Jt
Q3Vyc29yX2gKLSNkZWZpbmUgUGxhdGZvcm1DdXJzb3JfaAotCi0jaW5jbHVkZSAiSW1hZ2UuaCIK
LSNpbmNsdWRlICJJbnRQb2ludC5oIgotI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KLQotbmFtZXNw
YWNlIFdlYkNvcmUgewotCi0gICAgY2xhc3MgUGxhdGZvcm1DdXJzb3IgewotICAgIHB1YmxpYzoK
LSAgICAgICAgZW51bSBUeXBlIHsKLSAgICAgICAgICAgIFR5cGVQb2ludGVyLAotICAgICAgICAg
ICAgVHlwZUNyb3NzLAotICAgICAgICAgICAgVHlwZUhhbmQsCi0gICAgICAgICAgICBUeXBlSUJl
YW0sCi0gICAgICAgICAgICBUeXBlV2FpdCwKLSAgICAgICAgICAgIFR5cGVIZWxwLAotICAgICAg
ICAgICAgVHlwZUVhc3RSZXNpemUsCi0gICAgICAgICAgICBUeXBlTm9ydGhSZXNpemUsCi0gICAg
ICAgICAgICBUeXBlTm9ydGhFYXN0UmVzaXplLAotICAgICAgICAgICAgVHlwZU5vcnRoV2VzdFJl
c2l6ZSwKLSAgICAgICAgICAgIFR5cGVTb3V0aFJlc2l6ZSwKLSAgICAgICAgICAgIFR5cGVTb3V0
aEVhc3RSZXNpemUsCi0gICAgICAgICAgICBUeXBlU291dGhXZXN0UmVzaXplLAotICAgICAgICAg
ICAgVHlwZVdlc3RSZXNpemUsCi0gICAgICAgICAgICBUeXBlTm9ydGhTb3V0aFJlc2l6ZSwKLSAg
ICAgICAgICAgIFR5cGVFYXN0V2VzdFJlc2l6ZSwKLSAgICAgICAgICAgIFR5cGVOb3J0aEVhc3RT
b3V0aFdlc3RSZXNpemUsCi0gICAgICAgICAgICBUeXBlTm9ydGhXZXN0U291dGhFYXN0UmVzaXpl
LAotICAgICAgICAgICAgVHlwZUNvbHVtblJlc2l6ZSwKLSAgICAgICAgICAgIFR5cGVSb3dSZXNp
emUsCi0gICAgICAgICAgICBUeXBlTWlkZGxlUGFubmluZywKLSAgICAgICAgICAgIFR5cGVFYXN0
UGFubmluZywKLSAgICAgICAgICAgIFR5cGVOb3J0aFBhbm5pbmcsCi0gICAgICAgICAgICBUeXBl
Tm9ydGhFYXN0UGFubmluZywKLSAgICAgICAgICAgIFR5cGVOb3J0aFdlc3RQYW5uaW5nLAotICAg
ICAgICAgICAgVHlwZVNvdXRoUGFubmluZywKLSAgICAgICAgICAgIFR5cGVTb3V0aEVhc3RQYW5u
aW5nLAotICAgICAgICAgICAgVHlwZVNvdXRoV2VzdFBhbm5pbmcsCi0gICAgICAgICAgICBUeXBl
V2VzdFBhbm5pbmcsCi0gICAgICAgICAgICBUeXBlTW92ZSwKLSAgICAgICAgICAgIFR5cGVWZXJ0
aWNhbFRleHQsCi0gICAgICAgICAgICBUeXBlQ2VsbCwKLSAgICAgICAgICAgIFR5cGVDb250ZXh0
TWVudSwKLSAgICAgICAgICAgIFR5cGVBbGlhcywKLSAgICAgICAgICAgIFR5cGVQcm9ncmVzcywK
LSAgICAgICAgICAgIFR5cGVOb0Ryb3AsCi0gICAgICAgICAgICBUeXBlQ29weSwKLSAgICAgICAg
ICAgIFR5cGVOb25lLAotICAgICAgICAgICAgVHlwZU5vdEFsbG93ZWQsCi0gICAgICAgICAgICBU
eXBlWm9vbUluLAotICAgICAgICAgICAgVHlwZVpvb21PdXQsCi0gICAgICAgICAgICBUeXBlR3Jh
YiwKLSAgICAgICAgICAgIFR5cGVHcmFiYmluZywKLSAgICAgICAgICAgIFR5cGVDdXN0b20KLSAg
ICAgICAgfTsKLQotICAgICAgICAvLyBDdXJzb3IuaCBhc3N1bWVzIHRoYXQgaXQgY2FuIGluaXRp
YWxpemUgdXMgdG8gMC4KLSAgICAgICAgZXhwbGljaXQgUGxhdGZvcm1DdXJzb3IoaW50IHR5cGUg
PSAwKSA6IG1fdHlwZShUeXBlUG9pbnRlcikge30KLSAgICAgICAgCi0gICAgICAgIFBsYXRmb3Jt
Q3Vyc29yKFR5cGUgdHlwZSkgOiBtX3R5cGUodHlwZSkge30KLQotICAgICAgICBQbGF0Zm9ybUN1
cnNvcihJbWFnZSogaW1hZ2UsIGNvbnN0IEludFBvaW50JiBob3RTcG90KQotICAgICAgICAgICAg
OiBtX2ltYWdlKGltYWdlKQotICAgICAgICAgICAgLCBtX2hvdFNwb3QoaG90U3BvdCkKLSAgICAg
ICAgICAgICwgbV90eXBlKFR5cGVDdXN0b20pIHt9Ci0KLSAgICAgICAgUGFzc1JlZlB0cjxJbWFn
ZT4gY3VzdG9tSW1hZ2UoKSBjb25zdCB7IHJldHVybiBtX2ltYWdlOyB9Ci0gICAgICAgIGNvbnN0
IEludFBvaW50JiBob3RTcG90KCkgY29uc3QgeyByZXR1cm4gbV9ob3RTcG90OyB9Ci0gICAgICAg
IFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQotCi0gICAgcHJpdmF0ZToKLSAg
ICAgICAgUmVmUHRyPEltYWdlPiBtX2ltYWdlOwotICAgICAgICBJbnRQb2ludCBtX2hvdFNwb3Q7
Ci0gICAgICAgIFR5cGUgbV90eXBlOwotICAgIH07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
LQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
bWFnZVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNv
dXJjZS5jcHAKaW5kZXggNTY4NTdhNDNmNTQ4NDIzZThiZDkyZDMyMmQ5NmQ4MTBjMmJiNjc5YS4u
MGY0NmQ3MDNjN2E4YzZkYmRiZDJkODk2NTAyMTFjMzQzZWYwYjBjZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmNwcApAQCAtMTIxLDkgKzEy
MSw5IEBAIEludFNpemUgSW1hZ2VTb3VyY2U6OmZyYW1lU2l6ZUF0SW5kZXgoc2l6ZV90IGluZGV4
LCBSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbkVudW0KICAgICByZXR1cm4gc2l6ZTsKIH0KIAotYm9v
bCBJbWFnZVNvdXJjZTo6Z2V0SG90U3BvdChJbnRQb2ludCYpIGNvbnN0Citib29sIEltYWdlU291
cmNlOjpnZXRIb3RTcG90KEludFBvaW50JiBob3RTcG90KSBjb25zdAogewotICAgIHJldHVybiBm
YWxzZTsKKyAgICByZXR1cm4gbV9kZWNvZGVyID8gbV9kZWNvZGVyLT5ob3RTcG90KGhvdFNwb3Qp
IDogZmFsc2U7CiB9CiAKIHNpemVfdCBJbWFnZVNvdXJjZTo6Ynl0ZXNEZWNvZGVkVG9EZXRlcm1p
bmVQcm9wZXJ0aWVzKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0RlZmVycmVkSW1hZ2VEZWNvZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0RlZmVycmVkSW1hZ2VEZWNvZGVyLmNwcApp
bmRleCA4NjNjYTEyN2UwMjlkYjI2ZTIwZWQ4ZWM2NzQ3ZmY5NTcxZjIxN2JkLi4xZDhiYjgyM2Iw
YjcxM2Q3Y2QyMDNhNDdkYTU5YzZiYWFlNTVlNWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVjb2Rlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJbWFn
ZURlY29kZXIuY3BwCkBAIC0xNTgsNCArMTU4LDE0IEBAIEltYWdlT3JpZW50YXRpb24gRGVmZXJy
ZWRJbWFnZURlY29kZXI6Om9yaWVudGF0aW9uKCkgY29uc3QKICAgICByZXR1cm4gbV9hY3R1YWxE
ZWNvZGVyID8gbV9hY3R1YWxEZWNvZGVyLT5vcmllbnRhdGlvbigpIDogbV9vcmllbnRhdGlvbjsK
IH0KIAorYm9vbCBEZWZlcnJlZEltYWdlRGVjb2Rlcjo6aG90U3BvdChJbnRQb2ludCYgaG90U3Bv
dCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9hY3R1YWxEZWNvZGVyID8gbV9hY3R1YWxEZWNvZGVy
LT5ob3RTcG90KGhvdFNwb3QpIDogZmFsc2U7Cit9CisKK2Jvb2wgRGVmZXJyZWRJbWFnZURlY29k
ZXI6OmhvdFNwb3RBdEluZGV4KHNpemVfdCBpbmRleCwgSW50UG9pbnQmIGhvdFNwb3QpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG1fYWN0dWFsRGVjb2RlciA/IG1fYWN0dWFsRGVjb2Rlci0+aG90U3Bv
dEF0SW5kZXgoaW5kZXgsIGhvdFNwb3QpIDogZmFsc2U7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0RlZmVycmVkSW1hZ2VEZWNvZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVjb2Rlci5oCmluZGV4IDYwZDhjYzEwODg5OTYy
OTZiY2MwZDUwNTI4YmEzNjMwMTNkNGNkODguLjcxY2ZhNTc3MDI2NGNkNDE1YzkyMGI3MDYyMGZi
YTlkNWE2M2ZkYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0RlZmVycmVkSW1hZ2VEZWNvZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuaApAQCAtNTcsNiAr
NTcsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBmcmFtZUhhc0FscGhhQXRJbmRleChzaXplX3QgaW5k
ZXgpIGNvbnN0OwogICAgIHVuc2lnbmVkIGZyYW1lQnl0ZXNBdEluZGV4KHNpemVfdCBpbmRleCkg
Y29uc3Q7CiAgICAgSW1hZ2VPcmllbnRhdGlvbiBvcmllbnRhdGlvbigpIGNvbnN0OworICAgIGJv
b2wgaG90U3BvdChJbnRQb2ludCYpIGNvbnN0OworICAgIGJvb2wgaG90U3BvdEF0SW5kZXgoc2l6
ZV90LCBJbnRQb2ludCYpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IERlZmVycmVk
SW1hZ2VEZWNvZGVyKEltYWdlRGVjb2RlciogYWN0dWFsRGVjb2Rlcik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oCmluZGV4
IDhjMGRiMzkyOWY1NDIwOGI0N2ZhMzYzODI3MzZiZmIzMTU2NDdmNTcuLjFjZjdmYTgzOTVjMjZh
ZTA1ZGRmZjMxNTRjN2I2ZjBjYWEyM2Y1MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oCkBAIC0zNzgsNiArMzc4LDkg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHZpcnR1YWwgdm9pZCByZXBvcnRNZW1v
cnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7CiAKKyAgICAgICAgdmlydHVhbCBib29s
IGhvdFNwb3QoSW50UG9pbnQmKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorICAgICAgICB2aXJ0
dWFsIGJvb2wgaG90U3BvdEF0SW5kZXgoc2l6ZV90LCBJbnRQb2ludCYpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CisKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIHZvaWQgcHJlcGFyZVNjYWxlRGF0
YUlmTmVjZXNzYXJ5KCk7CiAgICAgICAgIGludCB1cHBlckJvdW5kU2NhbGVkWChpbnQgb3JpZ1gs
IGludCBzZWFyY2hTdGFydCA9IDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcAppbmRleCAy
ZGIzZWNmNmNlN2ZjYzczMmNlMjQzNWRkZTRkYzk3OThjNjg2MzA4Li5kNjc1YmU2ODUyYjgwOWQ2
ZWFjOTk5OTBiNTQ1YWVhYWFiMDI3Y2ZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcApA
QCAtMTMzLDYgKzEzMywyNCBAQCBib29sIElDT0ltYWdlRGVjb2Rlcjo6c2V0RmFpbGVkKCkKICAg
ICByZXR1cm4gSW1hZ2VEZWNvZGVyOjpzZXRGYWlsZWQoKTsKIH0KIAorYm9vbCBJQ09JbWFnZURl
Y29kZXI6OmhvdFNwb3QoSW50UG9pbnQmIGhvdFNwb3QpIGNvbnN0Cit7CisgICAgLy8gV2hlbiB1
bnNwZWNpZmllZCwgdXNlIHRoZSBsYXJnZXN0IGZyYW1lIHRvIGJlIGNvbnNpc3RlbnQgd2l0aCB0
aGUgc2l6ZQorICAgIC8vIGluIHByb2Nlc3NEaXJlY3RvcnlFbnRyaWVzLgorICAgIHJldHVybiBo
b3RTcG90QXRJbmRleCgwLCBob3RTcG90KTsKK30KKworYm9vbCBJQ09JbWFnZURlY29kZXI6Omhv
dFNwb3RBdEluZGV4KHNpemVfdCBpbmRleCwgSW50UG9pbnQmIGhvdFNwb3QpIGNvbnN0Cit7Cisg
ICAgaWYgKGluZGV4ID49IG1fZGlyRW50cmllcy5zaXplKCkgfHwgbV9maWxlVHlwZSAhPSBDVVJT
T1IpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGNvbnN0IEljb25EaXJlY3RvcnlFbnRy
eSYgZGlyRW50cnkgPSBtX2RpckVudHJpZXNbaW5kZXhdOworICAgIGhvdFNwb3QgPSBJbnRQb2lu
dChkaXJFbnRyeS5tX2hvdFNwb3RYLCBkaXJFbnRyeS5tX2hvdFNwb3RZKTsKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKworCiAvLyBzdGF0aWMKIGJvb2wgSUNPSW1hZ2VEZWNvZGVyOjpjb21wYXJlRW50
cmllcyhjb25zdCBJY29uRGlyZWN0b3J5RW50cnkmIGEsIGNvbnN0IEljb25EaXJlY3RvcnlFbnRy
eSYgYikKIHsKQEAgLTIzMiwxMyArMjUwLDExIEBAIGJvb2wgSUNPSW1hZ2VEZWNvZGVyOjpwcm9j
ZXNzRGlyZWN0b3J5KCkKIAogICAgIC8vIFNlZSBpZiB0aGlzIGlzIGFuIGljb24gZmlsZXR5cGUg
d2UgdW5kZXJzdGFuZCwgYW5kIG1ha2Ugc3VyZSB3ZSBoYXZlIGF0CiAgICAgLy8gbGVhc3Qgb25l
IGVudHJ5IGluIHRoZSBkaXJlY3RvcnkuCi0gICAgZW51bSB7Ci0gICAgICAgIElDT04gPSAxLAot
ICAgICAgICBDVVJTT1IgPSAyLAotICAgIH07CiAgICAgaWYgKCgoZmlsZVR5cGUgIT0gSUNPTikg
JiYgKGZpbGVUeXBlICE9IENVUlNPUikpIHx8ICghaWRDb3VudCkpCiAgICAgICAgIHJldHVybiBz
ZXRGYWlsZWQoKTsKIAorICAgIG1fZmlsZVR5cGUgPSBzdGF0aWNfY2FzdDxGaWxlVHlwZT4oZmls
ZVR5cGUpOworCiAgICAgLy8gRW5sYXJnZSBtZW1iZXIgdmVjdG9ycyB0byBob2xkIGFsbCB0aGUg
ZW50cmllcy4KICAgICBtX2RpckVudHJpZXMucmVzaXplKGlkQ291bnQpOwogICAgIG1fYm1wUmVh
ZGVycy5yZXNpemUoaWRDb3VudCk7CkBAIC0yODcsNyArMzAzLDE1IEBAIElDT0ltYWdlRGVjb2Rl
cjo6SWNvbkRpcmVjdG9yeUVudHJ5IElDT0ltYWdlRGVjb2Rlcjo6cmVhZERpcmVjdG9yeUVudHJ5
KCkKICAgICAgICAgaGVpZ2h0ID0gMjU2OwogICAgIEljb25EaXJlY3RvcnlFbnRyeSBlbnRyeTsK
ICAgICBlbnRyeS5tX3NpemUgPSBJbnRTaXplKHdpZHRoLCBoZWlnaHQpOwotICAgIGVudHJ5Lm1f
Yml0Q291bnQgPSByZWFkVWludDE2KDYpOworICAgIGlmIChtX2ZpbGVUeXBlID09IENVUlNPUikg
eworICAgICAgICBlbnRyeS5tX2JpdENvdW50ID0gMDsKKyAgICAgICAgZW50cnkubV9ob3RTcG90
WCA9IHJlYWRVaW50MTYoNCk7CisgICAgICAgIGVudHJ5Lm1faG90U3BvdFkgPSByZWFkVWludDE2
KDYpOworICAgIH0gZWxzZSB7CisgICAgICAgIGVudHJ5Lm1fYml0Q291bnQgPSByZWFkVWludDE2
KDYpOworICAgICAgICBlbnRyeS5tX2hvdFNwb3RYID0gMDsKKyAgICAgICAgZW50cnkubV9ob3RT
cG90WSA9IDA7CisgICAgfQogICAgIGVudHJ5Lm1faW1hZ2VPZmZzZXQgPSByZWFkVWludDMyKDEy
KTsKIAogICAgIC8vIFNvbWUgaWNvbnMgZG9uJ3QgaGF2ZSBhIGJpdCBkZXB0aCwgb25seSBhIGNv
bG9yIGNvdW50LiAgQ29udmVydCB0aGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuaAppbmRleCAzMWQ5
MWM4MTkwMmZiMGQyYzY5ZGMwYTM2MThjYmRjNTRiZjZiNzEzLi4wZGViYWQwMTc3YWE0OTMxN2Iy
ZDlhZjI0NTM3ZTA1NjkwZDkxNmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5oCkBAIC01Niw2
ICs1Niw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gYXZvaWQgYWNjZXNzaW5n
IGRlbGV0ZWQgbWVtb3J5LCBlc3BlY2lhbGx5IHdoZW4gY2FsbGluZyB0aGlzIGZyb20KICAgICAg
ICAgLy8gaW5zaWRlIEJNUEltYWdlUmVhZGVyIQogICAgICAgICB2aXJ0dWFsIGJvb2wgc2V0RmFp
bGVkKCk7CisgICAgICAgIHZpcnR1YWwgYm9vbCBob3RTcG90KEludFBvaW50JikgY29uc3Q7Cisg
ICAgICAgIHZpcnR1YWwgYm9vbCBob3RTcG90QXRJbmRleChzaXplX3QsIEludFBvaW50JikgY29u
c3Q7CiAKICAgICBwcml2YXRlOgogICAgICAgICBlbnVtIEltYWdlVHlwZSB7CkBAIC02NCw5ICs2
NiwxNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBQTkcsCiAgICAgICAgIH07
CiAKKyAgICAgICAgZW51bSBGaWxlVHlwZSB7CisgICAgICAgICAgICBJQ09OID0gMSwKKyAgICAg
ICAgICAgIENVUlNPUiA9IDIsCisgICAgICAgIH07CisKICAgICAgICAgc3RydWN0IEljb25EaXJl
Y3RvcnlFbnRyeSB7CiAgICAgICAgICAgICBJbnRTaXplIG1fc2l6ZTsKICAgICAgICAgICAgIHVp
bnQxNl90IG1fYml0Q291bnQ7CisgICAgICAgICAgICB1aW50MTZfdCBtX2hvdFNwb3RYOworICAg
ICAgICAgICAgdWludDE2X3QgbV9ob3RTcG90WTsKICAgICAgICAgICAgIHVpbnQzMl90IG1faW1h
Z2VPZmZzZXQ7CiAgICAgICAgIH07CiAKQEAgLTEyMiw2ICsxMzEsOSBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIC8vIEJNUEltYWdlUmVhZGVyIHRha2VzIG92ZXIgdGhpcyB3aWxsIG5v
dCBiZSB1cGRhdGVkIGZ1cnRoZXIuCiAgICAgICAgIHNpemVfdCBtX2RlY29kZWRPZmZzZXQ7CiAK
KyAgICAgICAgLy8gV2hpY2ggdHlwZSBvZiBmaWxlIChJQ08vQ1VSKSB0aGlzIGlzLgorICAgICAg
ICBGaWxlVHlwZSBtX2ZpbGVUeXBlOworCiAgICAgICAgIC8vIFRoZSBoZWFkZXJzIGZvciB0aGUg
SUNPLgogICAgICAgICB0eXBlZGVmIFZlY3RvcjxJY29uRGlyZWN0b3J5RW50cnk+IEljb25EaXJl
Y3RvcnlFbnRyaWVzOwogICAgICAgICBJY29uRGlyZWN0b3J5RW50cmllcyBtX2RpckVudHJpZXM7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggZTRkMzA4NDEwYTA2MzM2OGZj
ZWM2MGMyZGVjMzkyYmY3ZTJlOWRhNy4uNzkwMWI2MzBlMzk4NTJlZjg2YzkwYzNmZmQ5YWVjNmI4
ZGQ0NDFlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMzEsNiArMzEs
NyBAQAogI2luY2x1ZGUgIkNsaWVudFJlY3QuaCIKICNpbmNsdWRlICJDbGllbnRSZWN0TGlzdC5o
IgogI2luY2x1ZGUgIkNvbXBvc2VkU2hhZG93VHJlZVdhbGtlci5oIgorI2luY2x1ZGUgIkN1cnNv
ci5oIgogI2luY2x1ZGUgIkRPTVN0cmluZ0xpc3QuaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIK
ICNpbmNsdWRlICJEb2N1bWVudC5oIgpAQCAtMzgsNiArMzksNyBAQAogI2luY2x1ZGUgIkRvY3Vt
ZW50TWFya2VyQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJF
bGVtZW50U2hhZG93LmgiCisjaW5jbHVkZSAiRXZlbnRIYW5kbGVyLmgiCiAjaW5jbHVkZSAiRXhj
ZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIkZvcm1Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRnJh
bWUuaCIKQEAgLTc0LDYgKzc2LDggQEAKICNpbmNsdWRlICJUZXh0SXRlcmF0b3IuaCIKICNpbmNs
dWRlICJUcmVlU2NvcGUuaCIKICNpbmNsdWRlICJWaWV3cG9ydEFyZ3VtZW50cy5oIgorI2luY2x1
ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oPgorCiAKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9D
T0xPUikKICNpbmNsdWRlICJDb2xvckNob29zZXIuaCIKQEAgLTkzLDcgKzk3LDYgQEAKICNlbmRp
ZgogCiAjaWYgRU5BQkxFKFRPVUNIX0FESlVTVE1FTlQpCi0jaW5jbHVkZSAiRXZlbnRIYW5kbGVy
LmgiCiAjaW5jbHVkZSAiV2ViS2l0UG9pbnQuaCIKICNlbmRpZgogCkBAIC0xNDc3LDQgKzE0ODAs
ODkgQEAgdm9pZCBJbnRlcm5hbHM6OnN0b3BUcmFja2luZ1JlcGFpbnRzKERvY3VtZW50KiBkb2N1
bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgZnJhbWVWaWV3LT5zZXRUcmFja3NSZXBhaW50
cyhmYWxzZSk7CiB9CiAKKyNpZiBVU0UoTEFaWV9OQVRJVkVfQ1VSU09SKQorc3RhdGljIGNvbnN0
IGNoYXIqIGN1cnNvclR5cGVUb1N0cmluZyhDdXJzb3I6OlR5cGUgY3Vyc29yVHlwZSkKK3sKKyAg
ICBzd2l0Y2ggKGN1cnNvclR5cGUpIHsKKyAgICBjYXNlIEN1cnNvcjo6UG9pbnRlcjogcmV0dXJu
ICJUeXBlUG9pbnRlciI7CisgICAgY2FzZSBDdXJzb3I6OkNyb3NzOiByZXR1cm4gIlR5cGVDcm9z
cyI7CisgICAgY2FzZSBDdXJzb3I6OkhhbmQ6IHJldHVybiAiVHlwZUhhbmQiOworICAgIGNhc2Ug
Q3Vyc29yOjpJQmVhbTogcmV0dXJuICJUeXBlSUJlYW0iOworICAgIGNhc2UgQ3Vyc29yOjpXYWl0
OiByZXR1cm4gIlR5cGVXYWl0IjsKKyAgICBjYXNlIEN1cnNvcjo6SGVscDogcmV0dXJuICJUeXBl
SGVscCI7CisgICAgY2FzZSBDdXJzb3I6OkVhc3RSZXNpemU6IHJldHVybiAiVHlwZUVhc3RSZXNp
emUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aFJlc2l6ZTogcmV0dXJuICJUeXBlTm9ydGhSZXNp
emUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aEVhc3RSZXNpemU6IHJldHVybiAiVHlwZU5vcnRo
RWFzdFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRoV2VzdFJlc2l6ZTogcmV0dXJuICJU
eXBlTm9ydGhXZXN0UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6U291dGhSZXNpemU6IHJldHVy
biAiVHlwZVNvdXRoUmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6U291dGhFYXN0UmVzaXplOiBy
ZXR1cm4gIlR5cGVTb3V0aEVhc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpTb3V0aFdlc3RS
ZXNpemU6IHJldHVybiAiVHlwZVNvdXRoV2VzdFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6Oldl
c3RSZXNpemU6IHJldHVybiAiVHlwZVdlc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3J0
aFNvdXRoUmVzaXplOiByZXR1cm4gIlR5cGVOb3J0aFNvdXRoUmVzaXplIjsKKyAgICBjYXNlIEN1
cnNvcjo6RWFzdFdlc3RSZXNpemU6IHJldHVybiAiVHlwZUVhc3RXZXN0UmVzaXplIjsKKyAgICBj
YXNlIEN1cnNvcjo6Tm9ydGhFYXN0U291dGhXZXN0UmVzaXplOiByZXR1cm4gIlR5cGVOb3J0aEVh
c3RTb3V0aFdlc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aFdlc3RTb3V0aEVhc3RS
ZXNpemU6IHJldHVybiAiVHlwZU5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZSI7CisgICAgY2FzZSBD
dXJzb3I6OkNvbHVtblJlc2l6ZTogcmV0dXJuICJUeXBlQ29sdW1uUmVzaXplIjsKKyAgICBjYXNl
IEN1cnNvcjo6Um93UmVzaXplOiByZXR1cm4gIlR5cGVSb3dSZXNpemUiOworICAgIGNhc2UgQ3Vy
c29yOjpNaWRkbGVQYW5uaW5nOiByZXR1cm4gIlR5cGVNaWRkbGVQYW5uaW5nIjsKKyAgICBjYXNl
IEN1cnNvcjo6RWFzdFBhbm5pbmc6IHJldHVybiAiVHlwZUVhc3RQYW5uaW5nIjsKKyAgICBjYXNl
IEN1cnNvcjo6Tm9ydGhQYW5uaW5nOiByZXR1cm4gIlR5cGVOb3J0aFBhbm5pbmciOworICAgIGNh
c2UgQ3Vyc29yOjpOb3J0aEVhc3RQYW5uaW5nOiByZXR1cm4gIlR5cGVOb3J0aEVhc3RQYW5uaW5n
IjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhXZXN0UGFubmluZzogcmV0dXJuICJUeXBlTm9ydGhX
ZXN0UGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6OlNvdXRoUGFubmluZzogcmV0dXJuICJUeXBl
U291dGhQYW5uaW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6U291dGhFYXN0UGFubmluZzogcmV0dXJu
ICJUeXBlU291dGhFYXN0UGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6OlNvdXRoV2VzdFBhbm5p
bmc6IHJldHVybiAiVHlwZVNvdXRoV2VzdFBhbm5pbmciOworICAgIGNhc2UgQ3Vyc29yOjpXZXN0
UGFubmluZzogcmV0dXJuICJUeXBlV2VzdFBhbm5pbmciOworICAgIGNhc2UgQ3Vyc29yOjpNb3Zl
OiByZXR1cm4gIlR5cGVNb3ZlIjsKKyAgICBjYXNlIEN1cnNvcjo6VmVydGljYWxUZXh0OiByZXR1
cm4gIlR5cGVWZXJ0aWNhbFRleHQiOworICAgIGNhc2UgQ3Vyc29yOjpDZWxsOiByZXR1cm4gIlR5
cGVDZWxsIjsKKyAgICBjYXNlIEN1cnNvcjo6Q29udGV4dE1lbnU6IHJldHVybiAiVHlwZUNvbnRl
eHRNZW51IjsKKyAgICBjYXNlIEN1cnNvcjo6QWxpYXM6IHJldHVybiAiVHlwZUFsaWFzIjsKKyAg
ICBjYXNlIEN1cnNvcjo6UHJvZ3Jlc3M6IHJldHVybiAiVHlwZVByb2dyZXNzIjsKKyAgICBjYXNl
IEN1cnNvcjo6Tm9Ecm9wOiByZXR1cm4gIlR5cGVOb0Ryb3AiOworICAgIGNhc2UgQ3Vyc29yOjpD
b3B5OiByZXR1cm4gIlR5cGVDb3B5IjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9uZTogcmV0dXJuICJU
eXBlTm9uZSI7CisgICAgY2FzZSBDdXJzb3I6Ok5vdEFsbG93ZWQ6IHJldHVybiAiVHlwZU5vdEFs
bG93ZWQiOworICAgIGNhc2UgQ3Vyc29yOjpab29tSW46IHJldHVybiAiVHlwZVpvb21JbiI7Cisg
ICAgY2FzZSBDdXJzb3I6Olpvb21PdXQ6IHJldHVybiAiVHlwZVpvb21PdXQiOworICAgIGNhc2Ug
Q3Vyc29yOjpHcmFiOiByZXR1cm4gIlR5cGVHcmFiIjsKKyAgICBjYXNlIEN1cnNvcjo6R3JhYmJp
bmc6IHJldHVybiAiVHlwZUdyYWJiaW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6Q3VzdG9tOiByZXR1
cm4gIlR5cGVDdXN0b20iOworICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
IHJldHVybiAiVU5LTk9XTiI7Cit9CisjZW5kaWYKKworU3RyaW5nIEludGVybmFsczo6Z2V0Q3Vy
cmVudEN1cnNvckluZm8oRG9jdW1lbnQqIGRvY3VtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKK3sK
KyAgICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC0+ZnJhbWUoKSkgeworICAgICAgICBlYyA9
IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIH0KKwor
ICAgIEN1cnNvciBjdXJzb3IgPSBkb2N1bWVudC0+ZnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPmN1
cnJlbnRNb3VzZUN1cnNvcigpOworCisjaWYgVVNFKExBWllfTkFUSVZFX0NVUlNPUikKKyAgICBT
dHJpbmdCdWlsZGVyIHJlc3VsdDsKKyAgICByZXN1bHQuYXBwZW5kKCJ0eXBlPSIpOworICAgIHJl
c3VsdC5hcHBlbmQoY3Vyc29yVHlwZVRvU3RyaW5nKGN1cnNvci50eXBlKCkpKTsKKyAgICByZXN1
bHQuYXBwZW5kKCIgaG90U3BvdD0iKTsKKyAgICByZXN1bHQuYXBwZW5kTnVtYmVyKGN1cnNvci5o
b3RTcG90KCkueCgpKTsKKyAgICByZXN1bHQuYXBwZW5kKCIsIik7CisgICAgcmVzdWx0LmFwcGVu
ZE51bWJlcihjdXJzb3IuaG90U3BvdCgpLnkoKSk7CisgICAgaWYgKGN1cnNvci5pbWFnZSgpKSB7
CisgICAgICAgIEludFNpemUgc2l6ZSA9IGN1cnNvci5pbWFnZSgpLT5zaXplKCk7CisgICAgICAg
IHJlc3VsdC5hcHBlbmQoIiBpbWFnZT0iKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZE51bWJlcihz
aXplLndpZHRoKCkpOworICAgICAgICByZXN1bHQuYXBwZW5kKCJ4Iik7CisgICAgICAgIHJlc3Vs
dC5hcHBlbmROdW1iZXIoc2l6ZS5oZWlnaHQoKSk7CisgICAgfQorICAgIHJldHVybiByZXN1bHQu
dG9TdHJpbmcoKTsKKyNlbHNlCisgICAgcmV0dXJuICJGQUlMOiBDdXJzb3IgZGV0YWlscyBub3Qg
YXZhaWxhYmxlIG9uIHRoaXMgcGxhdGZvcm0uIjsKKyNlbmRpZgorfQorCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaAppbmRleCAyMTExNzM5N2M4MTFjODU4ZjNiMWY0OWZjNTdkMTZhYzI1
YTcxMTIxLi44NGZhMDEyZGMyMDZjMWE5NzY5MWMzZGZjYmZkOTQ3YzhmZWFmYTVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTI0Miw2ICsyNDIsOCBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzdGFydFRyYWNraW5nUmVwYWludHMoRG9jdW1lbnQqLCBFeGNlcHRpb25Db2RlJik7CiAg
ICAgdm9pZCBzdG9wVHJhY2tpbmdSZXBhaW50cyhEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUmKTsK
IAorICAgIFN0cmluZyBnZXRDdXJyZW50Q3Vyc29ySW5mbyhEb2N1bWVudCosIEV4Y2VwdGlvbkNv
ZGUmKTsKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBJbnRlcm5hbHMoRG9jdW1lbnQqKTsKICAg
ICBEb2N1bWVudCogY29udGV4dERvY3VtZW50KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5pZGwKaW5kZXggN2E1YWI3YjkwZWRiNjRiNjUwZGMzNDM3YjQzYTFkNjk5NzFiMDFh
ZC4uMDY0ZDAxMThmMDljNjhlNDg0MTBhMDM2NTlkZGM0Y2U1OTI2YzZlNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMjEwLDQgKzIxMCw3IEBACiAgICAgLy8gIHN0YXJ0
VHJhY2tpbmdSZXBhaW50cywgcmVwYWludFJlY3RzQXNUZXh0LCBzdG9wVHJhY2tpbmdSZXBhaW50
cy4KICAgICB2b2lkIHN0YXJ0VHJhY2tpbmdSZXBhaW50cyhpbiBEb2N1bWVudCBkb2N1bWVudCkg
cmFpc2VzIChET01FeGNlcHRpb24pOwogICAgIHZvaWQgc3RvcFRyYWNraW5nUmVwYWludHMoaW4g
RG9jdW1lbnQgZG9jdW1lbnQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKworICAgIC8vIFJldHVy
bnMgYSBzdHJpbmcgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbW91c2UgY3Vyc29yIHVzZWQg
YXQgdGhlIHNwZWNpZmllZCBjbGllbnQgbG9jYXRpb24uCisgICAgRE9NU3RyaW5nIGdldEN1cnJl
bnRDdXJzb3JJbmZvKGluIERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hp
bmdFbnVtcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0Vu
dW1zLmNwcAppbmRleCA4NGQyYjhhNGQ5NTFmNjZlYWQ5NmM5MWQwYWZhMzVlMWE2MjkxM2Y3Li4z
ODVhZTdlZWFkZDE2NjdlZGQ1YmM5OThlODFjZDYzYzYyMDEyOWFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcApAQCAtMzcsNiAr
MzcsNyBAQAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlICJBcHBs
aWNhdGlvbkNhY2hlSG9zdC5oIgogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeS5oIgor
I2luY2x1ZGUgIkN1cnNvci5oIgogI2luY2x1ZGUgIkRvY3VtZW50TWFya2VyLmgiCiAjaW5jbHVk
ZSAiRWRpdG9ySW5zZXJ0QWN0aW9uLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgpAQCAt
NjQsNyArNjUsNiBAQAogI2luY2x1ZGUgIk1lZGlhU3RyZWFtU291cmNlLmgiCiAjaW5jbHVkZSAi
Tm90aWZpY2F0aW9uQ2xpZW50LmgiCiAjaW5jbHVkZSAiUGFnZVZpc2liaWxpdHlTdGF0ZS5oIgot
I2luY2x1ZGUgIlBsYXRmb3JtQ3Vyc29yLmgiCiAjaW5jbHVkZSAiUlRDRGF0YUNoYW5uZWxEZXNj
cmlwdG9yLmgiCiAjaW5jbHVkZSAiUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmgiCiAj
aW5jbHVkZSAiUmVmZXJyZXJQb2xpY3kuaCIKQEAgLTI4MCw1MCArMjgwLDUwIEBAIENPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oV2ViQXBwbGljYXRpb25DYWNoZUhvc3Q6OlVwZGF0ZVJlYWR5
RXZlbnQsIEFwcGxpY2F0CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFwcGxpY2F0
aW9uQ2FjaGVIb3N0OjpDYWNoZWRFdmVudCwgQXBwbGljYXRpb25DYWNoZUhvc3Q6OkNBQ0hFRF9F
VkVOVCk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFwcGxpY2F0aW9uQ2FjaGVI
b3N0OjpPYnNvbGV0ZUV2ZW50LCBBcHBsaWNhdGlvbkNhY2hlSG9zdDo6T0JTT0xFVEVfRVZFTlQp
OwogCi1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVQb2lu
dGVyLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZVBvaW50ZXIpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlQ3Jvc3MsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlQ3Jv
c3MpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlSGFu
ZCwgUGxhdGZvcm1DdXJzb3I6OlR5cGVIYW5kKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUlCZWFtLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZUlCZWFtKTsK
LUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZVdhaXQsIFBs
YXRmb3JtQ3Vyc29yOjpUeXBlV2FpdCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdl
YkN1cnNvckluZm86OlR5cGVIZWxwLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZUhlbHApOwotQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlRWFzdFJlc2l6ZSwgUGxh
dGZvcm1DdXJzb3I6OlR5cGVFYXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRoUmVzaXplLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZU5v
cnRoUmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6
VHlwZU5vcnRoRWFzdFJlc2l6ZSwgUGxhdGZvcm1DdXJzb3I6OlR5cGVOb3J0aEVhc3RSZXNpemUp
OwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTm9ydGhX
ZXN0UmVzaXplLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZU5vcnRoV2VzdFJlc2l6ZSk7Ci1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVTb3V0aFJlc2l6ZSwgUGxh
dGZvcm1DdXJzb3I6OlR5cGVTb3V0aFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFdlYkN1cnNvckluZm86OlR5cGVTb3V0aEVhc3RSZXNpemUsIFBsYXRmb3JtQ3Vyc29yOjpU
eXBlU291dGhFYXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vy
c29ySW5mbzo6VHlwZVNvdXRoV2VzdFJlc2l6ZSwgUGxhdGZvcm1DdXJzb3I6OlR5cGVTb3V0aFdl
c3RSZXNpemUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpU
eXBlV2VzdFJlc2l6ZSwgUGxhdGZvcm1DdXJzb3I6OlR5cGVXZXN0UmVzaXplKTsKLUNPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRoU291dGhSZXNpemUs
IFBsYXRmb3JtQ3Vyc29yOjpUeXBlTm9ydGhTb3V0aFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVFYXN0V2VzdFJlc2l6ZSwgUGxhdGZvcm1D
dXJzb3I6OlR5cGVFYXN0V2VzdFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KFdlYkN1cnNvckluZm86OlR5cGVOb3J0aEVhc3RTb3V0aFdlc3RSZXNpemUsIFBsYXRmb3JtQ3Vy
c29yOjpUeXBlTm9ydGhFYXN0U291dGhXZXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZSwgUGxh
dGZvcm1DdXJzb3I6OlR5cGVOb3J0aFdlc3RTb3V0aEVhc3RSZXNpemUpOwotQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlQ29sdW1uUmVzaXplLCBQbGF0Zm9y
bUN1cnNvcjo6VHlwZUNvbHVtblJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KFdlYkN1cnNvckluZm86OlR5cGVSb3dSZXNpemUsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlUm93UmVz
aXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU1p
ZGRsZVBhbm5pbmcsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlTWlkZGxlUGFubmluZyk7Ci1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVFYXN0UGFubmluZywgUGxh
dGZvcm1DdXJzb3I6OlR5cGVFYXN0UGFubmluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFdlYkN1cnNvckluZm86OlR5cGVOb3J0aFBhbm5pbmcsIFBsYXRmb3JtQ3Vyc29yOjpUeXBl
Tm9ydGhQYW5uaW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5m
bzo6VHlwZU5vcnRoRWFzdFBhbm5pbmcsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlTm9ydGhFYXN0UGFu
bmluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVO
b3J0aFdlc3RQYW5uaW5nLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZU5vcnRoV2VzdFBhbm5pbmcpOwot
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlU291dGhQYW5u
aW5nLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZVNvdXRoUGFubmluZyk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVTb3V0aEVhc3RQYW5uaW5nLCBQbGF0Zm9y
bUN1cnNvcjo6VHlwZVNvdXRoRWFzdFBhbm5pbmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlU291dGhXZXN0UGFubmluZywgUGxhdGZvcm1DdXJzb3I6
OlR5cGVTb3V0aFdlc3RQYW5uaW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2Vi
Q3Vyc29ySW5mbzo6VHlwZVdlc3RQYW5uaW5nLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZVdlc3RQYW5u
aW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU1v
dmUsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlTW92ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFdlYkN1cnNvckluZm86OlR5cGVWZXJ0aWNhbFRleHQsIFBsYXRmb3JtQ3Vyc29yOjpUeXBl
VmVydGljYWxUZXh0KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5m
bzo6VHlwZUNlbGwsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlQ2VsbCk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVDb250ZXh0TWVudSwgUGxhdGZvcm1DdXJz
b3I6OlR5cGVDb250ZXh0TWVudSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1
cnNvckluZm86OlR5cGVBbGlhcywgUGxhdGZvcm1DdXJzb3I6OlR5cGVBbGlhcyk7Ci1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVQcm9ncmVzcywgUGxhdGZv
cm1DdXJzb3I6OlR5cGVQcm9ncmVzcyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdl
YkN1cnNvckluZm86OlR5cGVOb0Ryb3AsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlTm9Ecm9wKTsKLUNP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUNvcHksIFBsYXRm
b3JtQ3Vyc29yOjpUeXBlQ29weSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1
cnNvckluZm86OlR5cGVOb25lLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZU5vbmUpOwotQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTm90QWxsb3dlZCwgUGxhdGZv
cm1DdXJzb3I6OlR5cGVOb3RBbGxvd2VkKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
V2ViQ3Vyc29ySW5mbzo6VHlwZVpvb21JbiwgUGxhdGZvcm1DdXJzb3I6OlR5cGVab29tSW4pOwot
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlWm9vbU91dCwg
UGxhdGZvcm1DdXJzb3I6OlR5cGVab29tT3V0KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUdyYWIsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlR3JhYik7Ci1D
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVHcmFiYmluZywg
UGxhdGZvcm1DdXJzb3I6OlR5cGVHcmFiYmluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFdlYkN1cnNvckluZm86OlR5cGVDdXN0b20sIFBsYXRmb3JtQ3Vyc29yOjpUeXBlQ3VzdG9t
KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZVBvaW50
ZXIsIEN1cnNvcjo6UG9pbnRlcik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1
cnNvckluZm86OlR5cGVDcm9zcywgQ3Vyc29yOjpDcm9zcyk7CitDT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVIYW5kLCBDdXJzb3I6OkhhbmQpOworQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlSUJlYW0sIEN1cnNvcjo6
SUJlYW0pOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBl
V2FpdCwgQ3Vyc29yOjpXYWl0KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vy
c29ySW5mbzo6VHlwZUhlbHAsIEN1cnNvcjo6SGVscCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVFYXN0UmVzaXplLCBDdXJzb3I6OkVhc3RSZXNpemUp
OworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTm9ydGhS
ZXNpemUsIEN1cnNvcjo6Tm9ydGhSZXNpemUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShXZWJDdXJzb3JJbmZvOjpUeXBlTm9ydGhFYXN0UmVzaXplLCBDdXJzb3I6Ok5vcnRoRWFzdFJl
c2l6ZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVO
b3J0aFdlc3RSZXNpemUsIEN1cnNvcjo6Tm9ydGhXZXN0UmVzaXplKTsKK0NPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZVNvdXRoUmVzaXplLCBDdXJzb3I6OlNv
dXRoUmVzaXplKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6
VHlwZVNvdXRoRWFzdFJlc2l6ZSwgQ3Vyc29yOjpTb3V0aEVhc3RSZXNpemUpOworQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlU291dGhXZXN0UmVzaXplLCBD
dXJzb3I6OlNvdXRoV2VzdFJlc2l6ZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdl
YkN1cnNvckluZm86OlR5cGVXZXN0UmVzaXplLCBDdXJzb3I6Oldlc3RSZXNpemUpOworQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTm9ydGhTb3V0aFJlc2l6
ZSwgQ3Vyc29yOjpOb3J0aFNvdXRoUmVzaXplKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUVhc3RXZXN0UmVzaXplLCBDdXJzb3I6OkVhc3RXZXN0UmVz
aXplKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU5v
cnRoRWFzdFNvdXRoV2VzdFJlc2l6ZSwgQ3Vyc29yOjpOb3J0aEVhc3RTb3V0aFdlc3RSZXNpemUp
OworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTm9ydGhX
ZXN0U291dGhFYXN0UmVzaXplLCBDdXJzb3I6Ok5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZSk7CitD
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVDb2x1bW5SZXNp
emUsIEN1cnNvcjo6Q29sdW1uUmVzaXplKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
V2ViQ3Vyc29ySW5mbzo6VHlwZVJvd1Jlc2l6ZSwgQ3Vyc29yOjpSb3dSZXNpemUpOworQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTWlkZGxlUGFubmluZywg
Q3Vyc29yOjpNaWRkbGVQYW5uaW5nKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2Vi
Q3Vyc29ySW5mbzo6VHlwZUVhc3RQYW5uaW5nLCBDdXJzb3I6OkVhc3RQYW5uaW5nKTsKK0NPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRoUGFubmluZywg
Q3Vyc29yOjpOb3J0aFBhbm5pbmcpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJD
dXJzb3JJbmZvOjpUeXBlTm9ydGhFYXN0UGFubmluZywgQ3Vyc29yOjpOb3J0aEVhc3RQYW5uaW5n
KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRo
V2VzdFBhbm5pbmcsIEN1cnNvcjo6Tm9ydGhXZXN0UGFubmluZyk7CitDT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVTb3V0aFBhbm5pbmcsIEN1cnNvcjo6U291
dGhQYW5uaW5nKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6
VHlwZVNvdXRoRWFzdFBhbm5pbmcsIEN1cnNvcjo6U291dGhFYXN0UGFubmluZyk7CitDT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVTb3V0aFdlc3RQYW5uaW5n
LCBDdXJzb3I6OlNvdXRoV2VzdFBhbm5pbmcpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShXZWJDdXJzb3JJbmZvOjpUeXBlV2VzdFBhbm5pbmcsIEN1cnNvcjo6V2VzdFBhbm5pbmcpOwor
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTW92ZSwgQ3Vy
c29yOjpNb3ZlKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6
VHlwZVZlcnRpY2FsVGV4dCwgQ3Vyc29yOjpWZXJ0aWNhbFRleHQpOworQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlQ2VsbCwgQ3Vyc29yOjpDZWxsKTsKK0NP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUNvbnRleHRNZW51
LCBDdXJzb3I6OkNvbnRleHRNZW51KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2Vi
Q3Vyc29ySW5mbzo6VHlwZUFsaWFzLCBDdXJzb3I6OkFsaWFzKTsKK0NPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZVByb2dyZXNzLCBDdXJzb3I6OlByb2dyZXNz
KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU5vRHJv
cCwgQ3Vyc29yOjpOb0Ryb3ApOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJz
b3JJbmZvOjpUeXBlQ29weSwgQ3Vyc29yOjpDb3B5KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU5vbmUsIEN1cnNvcjo6Tm9uZSk7CitDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVOb3RBbGxvd2VkLCBDdXJzb3I6
Ok5vdEFsbG93ZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZv
OjpUeXBlWm9vbUluLCBDdXJzb3I6Olpvb21Jbik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFdlYkN1cnNvckluZm86OlR5cGVab29tT3V0LCBDdXJzb3I6Olpvb21PdXQpOworQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlR3JhYiwgQ3Vyc29yOjpH
cmFiKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUdy
YWJiaW5nLCBDdXJzb3I6OkdyYWJiaW5nKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
V2ViQ3Vyc29ySW5mbzo6VHlwZUN1c3RvbSwgQ3Vyc29yOjpDdXN0b20pOwogCiBDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKFdlYkVkaXRpbmdBY3Rpb25UeXBlZCwgRWRpdG9ySW5zZXJ0QWN0
aW9uVHlwZWQpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJFZGl0aW5nQWN0aW9u
UGFzdGVkLCBFZGl0b3JJbnNlcnRBY3Rpb25QYXN0ZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViQ3Vyc29ySW5mby5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJDdXJzb3JJbmZvLmNwcAppbmRleCBkNGIwZjgxZmFmYTk5YjA1YmIyNTJiMzll
OTQ4YTkzODQwN2RlNTczLi42MGJlNWRiY2FmMTBmMDEwYWEyNjgzZDdlYWU2YTliNzM0MDA3ZGE3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDdXJzb3JJbmZvLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDdXJzb3JJbmZvLmNwcApAQCAt
MzksOSArMzksOSBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogV2ViQ3Vyc29ySW5mbzo6V2ViQ3Vy
c29ySW5mbyhjb25zdCBDdXJzb3ImIGN1cnNvcikKIHsKLSAgICB0eXBlID0gc3RhdGljX2Nhc3Q8
VHlwZT4oY3Vyc29yLmltcGwoKS50eXBlKCkpOwotICAgIGhvdFNwb3QgPSBjdXJzb3IuaW1wbCgp
LmhvdFNwb3QoKTsKLSAgICBjdXN0b21JbWFnZSA9IGN1cnNvci5pbXBsKCkuY3VzdG9tSW1hZ2Uo
KTsKKyAgICB0eXBlID0gc3RhdGljX2Nhc3Q8VHlwZT4oY3Vyc29yLnR5cGUoKSk7CisgICAgaG90
U3BvdCA9IGN1cnNvci5ob3RTcG90KCk7CisgICAgY3VzdG9tSW1hZ2UgPSBjdXJzb3IuaW1hZ2Uo
KTsKICNpZmRlZiBXSU4zMgogICAgIGV4dGVybmFsSGFuZGxlID0gMDsKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmIGIvU291cmNlL1dlYktpdDIvd2lu
L1dlYktpdDIuZGVmCmluZGV4IDk2NjI4MmY5OGM0Zjc3ZGYxODkxY2UxZTlmMTA1M2VhYTkxMjBi
ZjAuLjcyNTY2ZmU3NjFkMTMzZDM4Yzc3MTY2NDgxY2E0OWM0NjFhNGQ0ZGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4v
V2ViS2l0Mi5kZWYKQEAgLTE1Myw2ICsxNTMsOCBAQCBFWFBPUlRTCiAgICAgICAgID8/MENsaWVu
dFJlY3RMaXN0QFdlYkNvcmVAQEFBRUBYWgogICAgICAgICA/PzBDbGllbnRSZWN0TGlzdEBXZWJD
b3JlQEBBQUVAQUJWPyRWZWN0b3JAVkZsb2F0UXVhZEBXZWJDb3JlQEAkMEFAQFdURkBAQFoKICAg
ICAgICAgPz8xQ2xpZW50UmVjdExpc3RAV2ViQ29yZUBAUUFFQFhaCisgICAgICAgID8/MUN1cnNv
ckBXZWJDb3JlQEBRQUVAWFoKKyAgICAgICAgPz8wQ3Vyc29yQFdlYkNvcmVAQFFBRUBBQlYwMUBA
WgogICAgICAgICA/PzBTdHJpbmdAV1RGQEBRQUVAUEJEQFoKICAgICAgICAgPz8wU3RyaW5nQFdU
RkBAUUFFQFBCX1dAWgogICAgICAgICA/YWJzb2x1dGVCb3VuZGluZ0JveFJlY3RAUmVuZGVyT2Jq
ZWN0QFdlYkNvcmVAQFFCRT9BVkludFJlY3RAMkBfTkBaCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNG
TGl0ZS5kZWYKaW5kZXggYjE1MTYzODVkZDNhZjU2Njg4MTU2MGIyNWVjMzM0MzYyMTQ0NWNiNC4u
YzI5ZDgxODhhY2ZjOTNjZjkzZDQ4OWQ4MTdkNDcwNjcwM2Q0ZjZmOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dp
bi9XZWJLaXQyQ0ZMaXRlLmRlZgpAQCAtMTQ2LDYgKzE0Niw4IEBAIEVYUE9SVFMKICAgICAgICAg
Pz8wQ2xpZW50UmVjdExpc3RAV2ViQ29yZUBAQUFFQFhaCiAgICAgICAgID8/MENsaWVudFJlY3RM
aXN0QFdlYkNvcmVAQEFBRUBBQlY/JFZlY3RvckBWRmxvYXRRdWFkQFdlYkNvcmVAQCQwQUBAV1RG
QEBAWgogICAgICAgICA/PzFDbGllbnRSZWN0TGlzdEBXZWJDb3JlQEBRQUVAWFoKKyAgICAgICAg
Pz8xQ3Vyc29yQFdlYkNvcmVAQFFBRUBYWgorICAgICAgICA/PzBDdXJzb3JAV2ViQ29yZUBAUUFF
QEFCVjAxQEBaCiAgICAgICAgID8/MFN0cmluZ0BXVEZAQFFBRUBQQkRAWgogICAgICAgICA/PzBT
dHJpbmdAV1RGQEBRQUVAUEJfV0BaCiAgICAgICAgID9hYnNvbHV0ZUJvdW5kaW5nQm94UmVjdEBS
ZW5kZXJPYmplY3RAV2ViQ29yZUBAUUJFP0FWSW50UmVjdEAyQF9OQFoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMu
ZmlsdGVyCmluZGV4IGQ4MmYxNzk4NTExYzI2ZDQ3YmY1NDU0NTA0ZmMwNjY1ZmVjOTZiZTkuLmEx
NjlhODlkNzhlZTY5OGM5MTRkYjkzMzViZmMxNjFlZmMwYjFiZjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xz
LmZpbHRlcgpAQCAtMTYyLDYgKzE2Miw4IEBAIF9aTjdXZWJDb3JlMTRTY3JvbGxhYmxlQXJlYTI4
c2V0U2Nyb2xsT2Zmc2V0RnJvbUludGVybmFsc0VSS05TXzhJbnRQb2ludEU7CiBfWk43V2ViQ29y
ZTEwU2Nyb2xsVmlldzIzc2V0U2Nyb2xsYmFyc1N1cHByZXNzZWRFYmI7CiBfWk43V2ViQ29yZTEw
U2Nyb2xsVmlldzIxc2V0RGVsZWdhdGVzU2Nyb2xsaW5nRWI7CiBfWk43V2ViQ29yZTROb2RlMTRy
ZW1vdmVkTGFzdFJlZkV2OworX1pON1dlYkNvcmU2Q3Vyc29yQzFFUktTMF87CitfWk43V2ViQ29y
ZTZDdXJzb3JEMUV2OwogX1pON1dlYkNvcmU4U2V0dGluZ3MxNnNldEltYWdlc0VuYWJsZWRFYjsK
IF9aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRGaXhlZEZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWlj
U3RyaW5nRTExVVNjcmlwdENvZGU7CiBfWk43V2ViQ29yZThTZXR0aW5nczE4c2V0U2VyaWZGb250
RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0UxMVVTY3JpcHRDb2RlOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGE4MGMw
NjFmMTllYjQ0NDc5ZWZiNjEzODYzZTIzYjY5NDMzNjFjYmQuLmJmYWQ1YTE1OWI0MWUxZWQxY2Ni
MDVhYTdlYzhmOTgxZDI1Y2E5NTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OCBAQAorMjAxMi0xMS0wOSAg
UmljayBCeWVycyAgPHJieWVyc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgY3VzdG9tIENTUyBj
dXJzb3JzIGlnbm9yZSBob3RzcG90IHZhbHVlcyBlbWJlZGRlZCBpbiBDVVIgZmlsZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDA1OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBtb3VzZSBjdXJz
b3IgdGVzdCBjYXNlcyB0aGF0IHVzZSBDVVIgZmlsZXMgdGhhdCBoYXZlIGVtYmVkZGVkIGhvdHNw
b3QgdmFsdWVzLgorCisgICAgICAgICogZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItbXVsdGlmcmFtZWN1ci1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1t
dWx0aWZyYW1lY3VyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21v
dXNlLWN1cnNvci5odG1sLgorICAgICAgICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1s
OgorICAgICAgICAqIGZhc3QvZXZlbnRzL3Jlc291cmNlcy9ncmVlbmJveC0zZnJhbWVzLmN1cjog
QWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3Qz
NS00LmN1cjogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94
LWhvdHNwb3Q1LTQuY3VyOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVj
dGF0aW9uczogU2tpcCB0aGUgbXVsdGktZnJhbWUgY2FzZSBvbiBtYWMgZHVlIHRvIGFuIGFwcGFy
ZW50IENHIGhhbmcKKworMjAxMi0xMS0wOSAgUmljayBCeWVycyAgPHJieWVyc0BjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBNb3ZlIHRvIFVTRShMQVpZX05BVElWRV9DVVJTT1Ip
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE1MDEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUg
ZmFpbHVyZSBleHBlY3RhdGlvbiBmb3IgZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWwgbm93
IHRoYXQKKyAgICAgICAgY2hyb21pdW0gdXNlcyB0aGUgc2FtZSBjdXJzb3IgYXJjaGl0ZWN0dXJl
IGFzIG90aGVyIHBvcnRzLgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVj
dGF0aW9uczoKKworMjAxMi0xMS0wOSAgUmljayBCeWVycyAgPHJieWVyc0BjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgTm8gdGVzdHMgZm9yIGNoYW5naW5nIG1vdXNlIGN1cnNvcnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDU1MAorCisgICAgICAg
IFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgQWRkIGEgc2ltcGxlIHRlc3QgY292
ZXJpbmcgdGhlIGJhc2ljIHNjZW5hcmlvcyBvZiBjaGFuZ2luZyBhIG1vdXNlCisgICAgICAgIGN1
cnNvciB3aXRoIENTUy4gIFRoaXMgaW5jbHVkZXMgbW9zdCBvZiB0aGUgY2FzZXMgY3VycmVudGx5
IGNvdmVyZWQKKyAgICAgICAgYnkgTWFudWFsVGVzdHMvKmN1cnNvciouCisKKyAgICAgICAgKiBm
YXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
Y2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczogQWRkIGZhaWx1cmUgZXhwZWN0YXRpb24uCisKIDIw
MTItMTEtMDkgIFRpZW4tUmVuIENoZW4gIDx0cmNoZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IENvcnJlY3QgaGl0LXRlc3QgcG9pbnQgc2NhbGluZyBmb3IgZG9jdW1lbnQuZWxlbWVudEZyb21Q
b2ludApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTA1NGVmNDEwM2FmNzhkNzZkOWQ3MWFkYjZjN2VlNmU5ZDY1OGRm
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNv
ci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4MSBAQAorVGVzdCB0aGF0IG1vdXNlIGN1cnNvcnMg
YXJlIGFwcGxpZWQgY29ycmVjdGx5LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
QnVnIDEwMDU1MAorCisgCitURVNUIENBU0U6IEltcGxpY2l0IGRlZmF1bHQgY3Vyc29yCitDdXJz
b3IgSW5mbzogdHlwZT1UeXBlSUJlYW0gaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBFeHBsaWNp
dCBkZWZhdWx0CitDdXJzb3IgSW5mbzogdHlwZT1UeXBlUG9pbnRlciBob3RTcG90PTAsMAorCitU
RVNUIENBU0U6IEV4cGxpY2l0IGF1dG8KK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVJQmVhbSBob3RT
cG90PTAsMAorCitURVNUIENBU0U6IE5vIGN1cnNvcgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZU5v
bmUgaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBQb2ludGVyCitDdXJzb3IgSW5mbzogdHlwZT1U
eXBlSGFuZCBob3RTcG90PTAsMAorCitURVNUIENBU0U6IC13ZWJraXQtZ3JhYmJpbmcKK0N1cnNv
ciBJbmZvOiB0eXBlPVR5cGVHcmFiYmluZyBob3RTcG90PTAsMAorCitURVNUIENBU0U6IEV4aXN0
aW5nIDI1eDI1IGltYWdlCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MCww
IGltYWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogSW52YWxpZCBVUkwgd2l0aCBmYWxsYmFjayB0byBw
b2ludGVyCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSGFuZCBob3RTcG90PTAsMAorCitURVNUIENB
U0U6IEludmFsaWQgd2l0aCBmYWxsYmFjayB0byAyNXgyNSBpbWFnZQorQ3Vyc29yIEluZm86IHR5
cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBpbWFnZT0yNXgyNQorCitURVNUIENBU0U6IEltYWdl
IHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKDAsMCkKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVD
dXN0b20gaG90U3BvdD0wLDAgaW1hZ2U9MjV4MjUKKworVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGV4
cGxpY2l0IGhvdCBzcG90IGF0ICgyMCwxMCkKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20g
aG90U3BvdD0yMCwxMCBpbWFnZT0yNXgyNQorCitURVNUIENBU0U6IEltYWdlIHdpdGggZXhwbGlj
aXQgaG90IHNwb3QgYXQgKC0xLC0xKQorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RT
cG90PTAsMCBpbWFnZT0yNXgyNQorCitURVNUIENBU0U6IEltYWdlIHdpdGggZXhwbGljaXQgaG90
IHNwb3Qgb3V0c2lkZSBpbWFnZSBhdCAoMzAsMzApCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3Vz
dG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBpbXBs
aWNpdCBob3Qgc3BvdCBhdCAoNSw0KQorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RT
cG90PTUsNCBpbWFnZT0yNXgyNQorCitURVNUIENBU0U6IEltYWdlIHdpdGggZXhwbGljaXQgaG90
IHNwb3QgYXQgKDIwLDEwKSBvdmVycmlkaW5nIGltcGxpY2l0IGhvdCBzcG90CitDdXJzb3IgSW5m
bzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MjAsMTAgaW1hZ2U9MjV4MjUKKworVEVTVCBDQVNF
OiBJbWFnZSB3aXRoIGltcGxpY2l0IGhvdCBzcG90IG91dHNpZGUgaW1hZ2UgYXQgKDM1LDQpCitD
dXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CisKK1RF
U1QgQ0FTRTogT3ZlciBsYXJnZSBpbWFnZSB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXIKK0N1cnNv
ciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogU1ZHIGN1cnNv
cgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBpbWFnZT0yNXgyNQor
CitURVNUIENBU0U6IE11bHRpcGxlIGludmFsaWQgY3Vyc29ycyB3aXRoIGZhbGxiYWNrIHRvIHBv
aW50ZXIKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FT
RTogTm9uZXhpc3RlbnQgU1ZHIGN1cnNvciB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXIKK0N1cnNv
ciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogQSBsaW5rIHdp
dGggZGVmYXVsdCBjdXJzb3IKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCww
CisKK1RFU1QgQ0FTRTogTGluayB3aXRoIGRlZmF1bHQgY3Vyc29yIG92ZXJyaWRpbmcgd2FpdAor
Q3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBXYWl0
IGN1cnNvciB3aGljaCBzaG91bGQgbm90IGJlIGFmZmVjdGVkIGJ5IHVua25vd24gY3Vyc29yIHJ1
bGUKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVXYWl0IGhvdFNwb3Q9MCwwCisKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItbXVsdGlmcmFtZWN1ci1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItbXVsdGlmcmFtZWN1ci1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjIzNzgzZTIyZjFiNjAyZDM5NzY0MjAxNDc5ODI1ZTlj
YTQ0ZTZjYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNl
LWN1cnNvci1tdWx0aWZyYW1lY3VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBACitUZXN0
IHRoYXQgbW91c2UgY3Vyc29ycyBhcmUgYXBwbGllZCBjb3JyZWN0bHkuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitCdWcgMTAwMDU5CisKKworVEVTVCBDQVNFOiBJbXBsaWNpdCBk
ZWZhdWx0IGN1cnNvcgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUlCZWFtIGhvdFNwb3Q9MCwwCisK
K1RFU1QgQ0FTRTogQ1VSIGZpbGUgd2l0aCAzIGZyYW1lcywgbGFyZ2VzdCBvZiB3aGljaCAoMm5k
IGZyYW1lKSBpcyAyMHgxMiB3aXRoIGhvdHNwb3QgYXQgKDE4LDExKS4KK0N1cnNvciBJbmZvOiB0
eXBlPVR5cGVDdXN0b20gaG90U3BvdD0xOCwxMSBpbWFnZT0yMHgxMgorCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLW11bHRpZnJhbWVjdXIuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1tdWx0aWZyYW1lY3VyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZmM2ZTZmNGIwNzg3YWE5NTMxNWFjYjcyNDIxODZmYTJmNmZhZjE3NQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1tdWx0aWZyYW1l
Y3VyLmh0bWwKQEAgLTAsMCArMSw5MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8cD48YSBocmVmPWh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDA1NTA+QnVnIDEwMDA1OTwvYT48L3A+Cis8ZGl2IGlkPSJ0ZXN0
LWNvbnRhaW5lciI+CisgIDxkaXY+SW1wbGljaXQgZGVmYXVsdCBjdXJzb3I8L2Rpdj4KKyAgPGRp
diBzdHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LTNmcmFtZXMuY3VyKSwgcG9p
bnRlcic+Q1VSIGZpbGUgd2l0aCAzIGZyYW1lcywgbGFyZ2VzdCBvZiB3aGljaCAoMm5kIGZyYW1l
KSBpcyAyMHgxMiB3aXRoIGhvdHNwb3QgYXQgKDE4LDExKS48L2Rpdj4KKzwvZGl2PgorPGJyLz4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK3ZhciBpbWFnZXNMZWZ0VG9Mb2Fk
ID0gMDsKKworZnVuY3Rpb24gb25JbWFnZUxvYWQoZSkgeworCisgICAgLy8gVGhpcyBkZWJ1ZyBv
dXRwdXQgaXMgbm9uLWRldGVybWluaXN0aWMgYW5kIGNvbnRhaW5zIGFic29sdXRlIFVSTHMgLSBv
bmx5IHNob3cgd2hlbgorICAgIC8vIG5vdCBydW5uaW5nIGluIERSVAorICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIGRlYnVnKCAnRXZlbnQgIicgKyBlLnR5cGUgKyAnIjogJyAr
IGUudGFyZ2V0LnNyYyk7CisgICAgICAgIAorICAgIGltYWdlc0xlZnRUb0xvYWQtLTsKKyAgICBp
ZiAoaW1hZ2VzTGVmdFRvTG9hZCA9PSAwKQorICAgICAgICBydW5UZXN0cygpOworICAgIGlmIChp
bWFnZXNMZWZ0VG9Mb2FkIDwgMCkKKyAgICAgICAgdGVzdEZhaWxlZCgnR290IG1vcmUgbG9hZC9l
cnJvciBjYWxsYmFjayB0aGFuIGV4cGVjdGVkLicpOworfQorCitmdW5jdGlvbiBvbkltYWdlVW5l
eHBlY3RlZChlKSB7CisJaW1hZ2VzTGVmdFRvTG9hZC0tOworICAgIHRlc3RGYWlsZWQoJ0dvdCB1
bmV4cGVjdGVkIFwnJyArIGUudHlwZSArICdcJyBldmVudCBmb3IgaW1hZ2U6ICcgKyBlLnRhcmdl
dC5zcmMpOyAKK30KKworZnVuY3Rpb24gcnVuVGVzdHMoKSB7CisgICAgLy8gQ2FuJ3QgZG8gYW55
dGhpbmcgdXNlZnVsIGhlcmUgd2l0aG91dCBldmVudFNlbmRlcgorICAgIGlmICh3aW5kb3cuZXZl
bnRTZW5kZXIpIHsKKyAgICAgICAgdmFyIG5vZGVzVG9UZXN0ID0gZG9jdW1lbnQucXVlcnlTZWxl
Y3RvckFsbCgnI3Rlc3QtY29udGFpbmVyID4gZGl2Jyk7CisgICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgbm9kZXNUb1Rlc3QubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgIHZhciBub2RlID0g
bm9kZXNUb1Rlc3RbaV07CisgICAgICAgICAgICBkZWJ1ZygnVEVTVCBDQVNFOiAnICsgbm9kZS50
ZXh0Q29udGVudCk7CisKKyAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgbm9kZSBpcyB2aXNp
YmxlIGFuZCBtb3ZlIHRoZSBtb3VzZSBvdmVyIHRvcCBvZiBpdC4KKyAgICAgICAgICAgIGRvY3Vt
ZW50LmJvZHkuc2Nyb2xsVG9wID0gbm9kZS5vZmZzZXRUb3AgLSA1MDsKKyAgICAgICAgICAgIGV2
ZW50U2VuZGVyLm1vdXNlTW92ZVRvKG5vZGUub2Zmc2V0TGVmdCArIDMsIG5vZGUub2Zmc2V0VG9w
IC0gZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgKyAzKTsKKworICAgICAgICAgICAgLy8gR2V0IGRl
dGFpbHMgb2YgdGhlIGN1cnJlbnQgbW91c2UgY3Vyc29yLgorICAgICAgICAgICAgLy8gTm90ZSB0
aGF0IHdlIGNvdWxkIHJldHVybiBzdHJ1Y3R1cmVkIGRhdGEgd2hpY2ggd2UgdGhlbiB2YWxpZGF0
ZSwgYnV0IHRoYXQncyBhIGxvdCBtb3JlCisgICAgICAgICAgICAvLyB3b3JrIGFuZCBpcyByZWR1
bmRhbnQgd2l0aCByZWx5aW5nIG9uIHRoZSBleHBlY3RlZCBvdXRwdXQgYW55d2F5LiAgQmV0dGVy
IHRvIGp1c3QgZHVtcAorICAgICAgICAgICAgLy8gaXQgYW5kIGluc3BlY3QgdGhhdCBpdCBtYXRj
aGVzIHRoZSBkZXNjcmlwdGlvbi4KKyAgICAgICAgICAgIGRlYnVnKCdDdXJzb3IgSW5mbzogJyAr
IHdpbmRvdy5pbnRlcm5hbHMuZ2V0Q3VycmVudEN1cnNvckluZm8oZG9jdW1lbnQpKTsKKyAgICAg
ICAgICAgIGRlYnVnKCcnKTsKKyAgICAgICAgfQorICAgICAgICAvLyBUaGlzIHRleHQgaXMgcmVk
dW5kYW50IHdpdGggdGhlIHRlc3Qgb3V0cHV0IC0gaGlkZSBpdAorICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgndGVzdC1jb250YWluZXInKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwor
ICAgIH0KKyAgICAKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworZGVzY3JpcHRpb24oIlRlc3Qg
dGhhdCBtb3VzZSBjdXJzb3JzIGFyZSBhcHBsaWVkIGNvcnJlY3RseS4iKTsKKworaWYgKCF3aW5k
b3cuZXZlbnRTZW5kZXIpIHsKKyAgICB0ZXN0RmFpbGVkKCdUaGlzIHRlc3QgcmVxdWlyZXMgRHVt
cFJlbmRlclRyZWUnKTsKK30KKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAg
d2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworfQorCisvLyBOb3cgd2FpdCBmb3IgZWFjaCBp
bWFnZSB0byBsb2FkIG9yIGZhaWwgdG8gbG9hZCBiZWZvcmUgc3RhcnRpbmcgdGVzdHMuCisvLyBX
aXRob3V0IHRoaXMgd2UgY2FuIGdldCBudWxsIGltYWdlcyBpbiB0aGUgY3Vyc29ycyAtIGVnLiBu
byBrbm93biBzaXplLgordmFyIGltYWdlc1RvTG9hZCA9IFsKKyAgICB7IHVybDogJ3Jlc291cmNl
cy9ncmVlbmJveC0zZnJhbWVzLmN1cicgfSBdOworaW1hZ2VzTGVmdFRvTG9hZCA9IGltYWdlc1Rv
TG9hZC5sZW5ndGg7Citmb3IgKHZhciBpID0gMDsgaSA8IGltYWdlc1RvTG9hZC5sZW5ndGg7IGkr
KykgeworICAgIHZhciBpbWcgPSBuZXcgSW1hZ2UoKTsKKyAgICB2YXIgZXhwZWN0RXJyb3IgPSBp
bWFnZXNUb0xvYWRbaV0uZXJyb3I7IAorICAgIGltZy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywg
ZXhwZWN0RXJyb3IgPyBvbkltYWdlVW5leHBlY3RlZCA6IG9uSW1hZ2VMb2FkKTsKKyAgICBpbWcu
YWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCBleHBlY3RFcnJvciA/IG9uSW1hZ2VMb2FkIDogb25J
bWFnZVVuZXhwZWN0ZWQpOworICAgIGltZy5zcmMgPSBpbWFnZXNUb0xvYWRbaV0udXJsOworfQor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9tb3VzZS1jdXJzb3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZmYzMDM2NTY2NGVmZGUyZjQzMTc5
NWEyNTRmNjk2MWNhYzhkYmUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvbW91c2UtY3Vyc29yLmh0bWwKQEAgLTAsMCArMSwxMjcgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPHA+PGEgaHJlZj1odHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNTUwPkJ1ZyAxMDA1NTA8L2E+PC9w
PgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIAorICAgICB4bWxuczp4
bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjAiIGhlaWdodD0iMCI+
CisgIDxkZWZzPgorICAgIDxjdXJzb3IgaWQ9ImdyZWVuYm94IiB4bGluazpocmVmPSJyZXNvdXJj
ZXMvZ3JlZW5ib3gucG5nIiB4PSIwIiB5PSIwIi8+CisgIDwvZGVmcz4KKzwvc3ZnPgorPGRpdiBp
ZD0idGVzdC1jb250YWluZXIiPgorICA8ZGl2PkltcGxpY2l0IGRlZmF1bHQgY3Vyc29yPC9kaXY+
CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogZGVmYXVsdCc+RXhwbGljaXQgZGVmYXVsdDwvZGl2Pgor
ICA8ZGl2IHN0eWxlPSdjdXJzb3I6IGF1dG8nPkV4cGxpY2l0IGF1dG88L2Rpdj4KKyAgPGRpdiBz
dHlsZT0nY3Vyc29yOiBub25lJz5ObyBjdXJzb3I8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29y
OiBwb2ludGVyJz5Qb2ludGVyPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogLXdlYmtpdC1n
cmFiYmluZyc+LXdlYmtpdC1ncmFiYmluZzwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVy
bChyZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSwgaGFuZCc+RXhpc3RpbmcgMjV4MjUgaW1hZ2U8L2Rp
dj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwoZG9lc250ZXhpc3QucG5nKSwgcG9pbnRlcic+
SW52YWxpZCBVUkwgd2l0aCBmYWxsYmFjayB0byBwb2ludGVyPC9kaXY+CisgIDxkaXYgc3R5bGU9
J2N1cnNvcjogdXJsKGRvZXNudGV4aXN0LnBuZyksIHVybChyZXNvdXJjZXMvZ3JlZW5ib3gucG5n
KSwgcG9pbnRlcic+SW52YWxpZCB3aXRoIGZhbGxiYWNrIHRvIDI1eDI1IGltYWdlPC9kaXY+Cisg
IDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC5wbmcpIDAgMCwgcG9p
bnRlcic+SW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMCwwKTwvZGl2PgorICA8ZGl2
IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSAyMCAxMCwgcG9pbnRl
cic+SW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMjAsMTApPC9kaXY+CisgIDxkaXYg
c3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC5wbmcpIC0xIC0xLCBwb2ludGVy
Jz5JbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgtMSwtMSk8L2Rpdj4KKyAgPGRpdiBz
dHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LnBuZykgMzAgMzAsIHBvaW50ZXIn
PkltYWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3Qgb3V0c2lkZSBpbWFnZSBhdCAoMzAsMzApPC9k
aXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC1ob3RzcG90
NS00LmN1ciksIHBvaW50ZXInPkltYWdlIHdpdGggaW1wbGljaXQgaG90IHNwb3QgYXQgKDUsNCk8
L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LWhvdHNw
b3Q1LTQuY3VyKSAyMCAxMCwgcG9pbnRlcic+SW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBh
dCAoMjAsMTApIG92ZXJyaWRpbmcgaW1wbGljaXQgaG90IHNwb3Q8L2Rpdj4KKyAgPGRpdiBzdHls
ZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3QzNS00LmN1ciksIHBvaW50
ZXInPkltYWdlIHdpdGggaW1wbGljaSAgdCBob3Qgc3BvdCBvdXRzaWRlIGltYWdlIGF0ICgzNSw0
KTwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvb25sb2FkLWltYWdl
LnBuZyksIHBvaW50ZXInPk92ZXIgbGFyZ2UgaW1hZ2Ugd2l0aCBmYWxsYmFjayB0byBwb2ludGVy
PC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKCNncmVlbmJveCksIHBvaW50ZXInPlNW
RyBjdXJzb3I8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwobW91c2UtY3Vyc29yLmh0
bWwpLCB1cmwodW5rbm93bi1zY2hlbWU6Y3Vyc29yLnBuZyksIHBvaW50ZXInPk11bHRpcGxlIGlu
dmFsaWQgY3Vyc29ycyB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXI8L2Rpdj4KKyAgPGRpdiBzdHls
ZT0nY3Vyc29yOiB1cmwoI25vbmV4aXN0ZW50KSwgcG9pbnRlcic+Tm9uZXhpc3RlbnQgU1ZHIGN1
cnNvciB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXI8L2Rpdj4KKyAgPGRpdj48YSBocmVmPScjJz5B
IGxpbmsgd2l0aCBkZWZhdWx0IGN1cnNvcjwvYT48L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29y
OiB3YWl0Jz48YSBocmVmPScjJz5MaW5rIHdpdGggZGVmYXVsdCBjdXJzb3Igb3ZlcnJpZGluZyB3
YWl0PC9hPjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHdhaXQnPjxkaXYgc3R5bGU9J2N1
cnNvcjogZG9lc250ZXhpc3QnPldhaXQgY3Vyc29yIHdoaWNoIHNob3VsZCBub3QgYmUgYWZmZWN0
ZWQgYnkgdW5rbm93biBjdXJzb3IgcnVsZTwvZGl2PjwvZGl2PgorPC9kaXY+Cis8YnIvPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgordmFyIGltYWdlc0xlZnRUb0xvYWQgPSAw
OworCitmdW5jdGlvbiBvbkltYWdlTG9hZChlKSB7CisKKyAgICAvLyBUaGlzIGRlYnVnIG91dHB1
dCBpcyBub24tZGV0ZXJtaW5pc3RpYyBhbmQgY29udGFpbnMgYWJzb2x1dGUgVVJMcyAtIG9ubHkg
c2hvdyB3aGVuCisgICAgLy8gbm90IHJ1bm5pbmcgaW4gRFJUCisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgZGVidWcoICdFdmVudCAiJyArIGUudHlwZSArICciOiAnICsgZS50
YXJnZXQuc3JjKTsKKyAgICAgICAgCisgICAgaW1hZ2VzTGVmdFRvTG9hZC0tOworICAgIGlmIChp
bWFnZXNMZWZ0VG9Mb2FkID09IDApCisgICAgICAgIHJ1blRlc3RzKCk7CisgICAgaWYgKGltYWdl
c0xlZnRUb0xvYWQgPCAwKQorICAgICAgICB0ZXN0RmFpbGVkKCdHb3QgbW9yZSBsb2FkL2Vycm9y
IGNhbGxiYWNrIHRoYW4gZXhwZWN0ZWQuJyk7Cit9CisKK2Z1bmN0aW9uIG9uSW1hZ2VVbmV4cGVj
dGVkKGUpIHsKKwlpbWFnZXNMZWZ0VG9Mb2FkLS07CisgICAgdGVzdEZhaWxlZCgnR290IHVuZXhw
ZWN0ZWQgXCcnICsgZS50eXBlICsgJ1wnIGV2ZW50IGZvciBpbWFnZTogJyArIGUudGFyZ2V0LnNy
Yyk7IAorfQorCitmdW5jdGlvbiBydW5UZXN0cygpIHsKKyAgICAvLyBDYW4ndCBkbyBhbnl0aGlu
ZyB1c2VmdWwgaGVyZSB3aXRob3V0IGV2ZW50U2VuZGVyCisgICAgaWYgKHdpbmRvdy5ldmVudFNl
bmRlcikgeworICAgICAgICB2YXIgbm9kZXNUb1Rlc3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9y
QWxsKCcjdGVzdC1jb250YWluZXIgPiBkaXYnKTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBub2Rlc1RvVGVzdC5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgdmFyIG5vZGUgPSBub2Rl
c1RvVGVzdFtpXTsKKyAgICAgICAgICAgIGRlYnVnKCdURVNUIENBU0U6ICcgKyBub2RlLnRleHRD
b250ZW50KTsKKworICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBub2RlIGlzIHZpc2libGUg
YW5kIG1vdmUgdGhlIG1vdXNlIG92ZXIgdG9wIG9mIGl0LgorICAgICAgICAgICAgZG9jdW1lbnQu
Ym9keS5zY3JvbGxUb3AgPSBub2RlLm9mZnNldFRvcCAtIDUwOworICAgICAgICAgICAgZXZlbnRT
ZW5kZXIubW91c2VNb3ZlVG8obm9kZS5vZmZzZXRMZWZ0ICsgMywgbm9kZS5vZmZzZXRUb3AgLSBk
b2N1bWVudC5ib2R5LnNjcm9sbFRvcCArIDMpOworCisgICAgICAgICAgICAvLyBHZXQgZGV0YWls
cyBvZiB0aGUgY3VycmVudCBtb3VzZSBjdXJzb3IuCisgICAgICAgICAgICAvLyBOb3RlIHRoYXQg
d2UgY291bGQgcmV0dXJuIHN0cnVjdHVyZWQgZGF0YSB3aGljaCB3ZSB0aGVuIHZhbGlkYXRlLCBi
dXQgdGhhdCdzIGEgbG90IG1vcmUKKyAgICAgICAgICAgIC8vIHdvcmsgYW5kIGlzIHJlZHVuZGFu
dCB3aXRoIHJlbHlpbmcgb24gdGhlIGV4cGVjdGVkIG91dHB1dCBhbnl3YXkuICBCZXR0ZXIgdG8g
anVzdCBkdW1wCisgICAgICAgICAgICAvLyBpdCBhbmQgaW5zcGVjdCB0aGF0IGl0IG1hdGNoZXMg
dGhlIGRlc2NyaXB0aW9uLgorICAgICAgICAgICAgZGVidWcoJ0N1cnNvciBJbmZvOiAnICsgd2lu
ZG93LmludGVybmFscy5nZXRDdXJyZW50Q3Vyc29ySW5mbyhkb2N1bWVudCkpOworICAgICAgICAg
ICAgZGVidWcoJycpOworICAgICAgICB9CisgICAgICAgIC8vIFRoaXMgdGV4dCBpcyByZWR1bmRh
bnQgd2l0aCB0aGUgdGVzdCBvdXRwdXQgLSBoaWRlIGl0CisgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCd0ZXN0LWNvbnRhaW5lcicpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CisgICAg
fQorICAgIAorICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitkZXNjcmlwdGlvbigiVGVzdCB0aGF0
IG1vdXNlIGN1cnNvcnMgYXJlIGFwcGxpZWQgY29ycmVjdGx5LiIpOworCitpZiAoIXdpbmRvdy5l
dmVudFNlbmRlcikgeworICAgIHRlc3RGYWlsZWQoJ1RoaXMgdGVzdCByZXF1aXJlcyBEdW1wUmVu
ZGVyVHJlZScpOworfQorCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB3aW5k
b3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit9CisKKy8vIE5vdyB3YWl0IGZvciBlYWNoIGltYWdl
IHRvIGxvYWQgb3IgZmFpbCB0byBsb2FkIGJlZm9yZSBzdGFydGluZyB0ZXN0cy4KKy8vIFdpdGhv
dXQgdGhpcyB3ZSBjYW4gZ2V0IG51bGwgaW1hZ2VzIGluIHRoZSBjdXJzb3JzIC0gZWcuIG5vIGtu
b3duIHNpemUuCit2YXIgaW1hZ2VzVG9Mb2FkID0gWworICAgIHsgdXJsOiAncmVzb3VyY2VzL2dy
ZWVuYm94LnBuZycgfSwKKyAgICB7IHVybDogJ3Jlc291cmNlcy9vbmxvYWQtaW1hZ2UucG5nJyB9
LAorICAgIHsgdXJsOiAncmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3Q1LTQuY3VyJyB9LAorICAg
IHsgdXJsOiAncmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3QzNS00LmN1cicgfSwKKyAgICB7IHVy
bDogJ2RvZXNudGV4aXN0LnBuZycsIGVycm9yOiB0cnVlIH0sCisgICAgeyB1cmw6ICd1bmtub3du
LXNjaGVtZTpjdXJzb3IucG5nJywgZXJyb3I6IHRydWUgfSwKKyAgICB7IHVybDogJ21vdXNlLWN1
cnNvci5odG1sJywgZXJyb3I6IHRydWUgfSwKKyAgICB7IHVybDogJyNub25leGlzdGVudCcsIGVy
cm9yOiB0cnVlIH0gXTsKK2ltYWdlc0xlZnRUb0xvYWQgPSBpbWFnZXNUb0xvYWQubGVuZ3RoOwor
Zm9yICh2YXIgaSA9IDA7IGkgPCBpbWFnZXNUb0xvYWQubGVuZ3RoOyBpKyspIHsKKyAgICB2YXIg
aW1nID0gbmV3IEltYWdlKCk7CisgICAgdmFyIGV4cGVjdEVycm9yID0gaW1hZ2VzVG9Mb2FkW2ld
LmVycm9yOyAKKyAgICBpbWcuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGV4cGVjdEVycm9yID8g
b25JbWFnZVVuZXhwZWN0ZWQgOiBvbkltYWdlTG9hZCk7CisgICAgaW1nLmFkZEV2ZW50TGlzdGVu
ZXIoJ2Vycm9yJywgZXhwZWN0RXJyb3IgPyBvbkltYWdlTG9hZCA6IG9uSW1hZ2VVbmV4cGVjdGVk
KTsKKyAgICBpbWcuc3JjID0gaW1hZ2VzVG9Mb2FkW2ldLnVybDsKK30KKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3Jlc291cmNlcy9ncmVlbmJveC0zZnJhbWVzLmN1ciBiL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3Jlc291cmNlcy9ncmVlbmJveC0zZnJhbWVzLmN1cgpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYjA5ZDY0MTZj
YjU3NzdjM2UwN2U0NmFmZjBhNGM0MzJmNGFlZDQ2CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAz
OTAKemNtWlF6VX05aXE7OV9OQjs5eXszaCt0cX5GYXUlezl3cjdNMjV5RTRLejFKeF5ScUtDQEdg
SjVXQn1RNmowX0FLCnpLJDs3Ujg1d3tBS3ArQXBBcHtlUXtVNjRfTGZkMUNmeUBQJkJMVCFQYX1B
SmA1b0lvdGRRMnVpclZ0KHhrYjZLbgpWXzwkSlo5dkxMe0IpSkM/T2h+I0JPYU49TzJUY0Z+Cgps
aXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9yZXNvdXJjZXMvZ3JlZW5ib3gtaG90c3BvdDM1LTQuY3VyIGIvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3QzNS00LmN1cgpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MjIy
NmM1MWUyNDVkM2Y4NDY4YWY2ODI4OWQ1MzE3ZmRlNjkyZWQwCkdJVCBiaW5hcnkgcGF0Y2gKbGl0
ZXJhbCAyNzAKemNtWlF6VX05aW9rZCRPJVAtYjlaX2AkJXlBT14lNUtyOUt3TW5LRjZnZG1VdENM
c2g5alF0PFJwYkszfllnKyZ8CkN2OylLZAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3Q1
LTQuY3VyIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LWhvdHNw
b3Q1LTQuY3VyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhZTdjOWMyNzA2OThjM2ViNWZlNjkwNjA2NzVhOGM3YmVm
Nzk0MDYKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDI3MAp6Y21aUXpVfTlpb2tkJE8lVX1hIW9f
YCQleUFPXiU1S3I5S3dNbktGNmdkbVV0Q0xzaDlqUXQ8UnBiSzN+WWcrJnEKQ0pPaWN4CgpsaXRl
cmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
VGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IDQ2NWI2ZjkyMzIyYTkzMTM4NGMyZGUyYjA0ZDkzY2RlYTgyMDEzMzMuLjA2Yzc0
MjUxZDBhOThmOTYyNmYzYjYxODBjNzBiYjQyMzM0YWI1MDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMTcxLDMgKzExNzEsNiBAQCB3ZWJraXQub3Jn
L2IvMTAwODQ2IGluc3BlY3Rvci1wcm90b2NvbC9kZWJ1Z2dlci10ZXJtaW5hdGUtZGVkaWNhdGVk
LXdvcmtlci13aGlsZQogd2Via2l0Lm9yZy9iLzEwMDE0MiBjc3MzL2ZpbHRlcnMvZWZmZWN0LXJl
ZmVyZW5jZS1ody5odG1sIFsgRmFpbCBdCiB3ZWJraXQub3JnL2IvMTAwMTQyIGNzczMvZmlsdGVy
cy9lZmZlY3QtcmVmZXJlbmNlLW9yZGVyaW5nLWh3Lmh0bWwgWyBGYWlsIF0KIHdlYmtpdC5vcmcv
Yi8xMDAxNDIgY3NzMy9maWx0ZXJzL2VmZmVjdC1yZWZlcmVuY2UuaHRtbCBbIEZhaWwgXQorCisj
IEhhbmdzIHNhZmFyaSBhcHBhcmVudGx5IGR1ZSB0byBhbiBpc3N1ZSB3aXRoIENvcmVHcmFwaGlj
cyBhbmQgd2VpcmQgbXVsdGktZnJhbWUgQ1VSIGltYWdlIGZpbGVzCit3ZWJraXQub3JnL2IvMTAx
ODExIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1tdWx0aWZyYW1lY3VyLmh0bWwgWyBTa2lwIF0K
ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA4Nzg5OWFhYzc0NTVhNzA1
ZTk4Yzk2ZjRmZmEwMGI1OGJjMjdkZTU2Li45MGFhODFiNGEwNzc0ODFhNTA4YTAwN2JkY2FhMzM0
ZGQ4NjIzY2Y0IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTItMTEtMDkgIFJpY2sgQnllcnMgIDxyYnllcnNAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIE5vIHRlc3RzIGZvciBjaGFuZ2luZyBtb3VzZSBjdXJzb3JzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA1NTAKKworICAgICAgICBS
ZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIEFkZCBuZWNlc3NhcnkgZXhwb3J0cyBm
b3IgSW50ZXJuYWxzOjpnZXRDdXJyZW50Q3Vyc29ySW5mbworCisgICAgICAgICogU291cmNlL2F1
dG90b29scy9zeW1ib2xzLmZpbHRlcjoKKwogMjAxMi0xMS0wOSAgTGFzemxvIEdvbWJvcyAgPGwu
Z29tYm9zQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdIEVuYWJsZSAtV2Vycm9yIGZvciB0
aGUgRUZMIHBvcnQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173405</attachid>
            <date>2012-11-09 17:03:39 -0800</date>
            <delta_ts>2012-11-09 20:44:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100059-20121109200146.patch</filename>
            <type>text/plain</type>
            <size>19905</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTYyYTMxMDcxYWVjYTRl
NmMzNWU5N2Q0NjcwNjAzNzNmNzBhOTQzNS4uODg4NTgwYTYzNzA5MmE2N2RlNmY1YWVjY2E3YzUz
NmQ3YWNmYTRhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTExLTA5ICBSaWNr
IEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBjdXN0b20gQ1NTIGN1cnNv
cnMgaWdub3JlIGhvdHNwb3QgdmFsdWVzIGVtYmVkZGVkIGluIENVUiBmaWxlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMDU5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHJlYWRpbmcgdGhlIGhv
dHNwb3QgdmFsdWVzIHRvIHRoZSBJQ09JbWFnZURlY29kZXIgKGZvciBDVVIgZmlsZXMgb25seSks
CisgICAgICAgIGFuZCBwbHVtYiBpdCB0aHJvdWdoIHNvIHRoYXQgdGhlIGV4aXN0aW5nIGNhbGxz
IHRvIEltYWdlU291cmNlOjpnZXRIb3RTcG90CisgICAgICAgIGFjdHVhbGx5IHJldHVybiB0aGUg
aG90IHNwb3QgdmFsdWUgd2hlbiB0aGVyZSBpcyBvbmUuCisKKyAgICAgICAgVGVzdHM6IGZhc3Qv
ZXZlbnRzL21vdXNlLWN1cnNvci5odG1sLCBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItbXVsdGlm
cmFtZWN1ci5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVNvdXJjZTo6Z2V0SG90U3BvdCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RGVmZXJyZWRJbWFnZURlY29kZXI6OmhvdFNwb3QpOgorICAgICAg
ICAoV2ViQ29yZTo6RGVmZXJyZWRJbWFnZURlY29kZXI6OmhvdFNwb3RBdEluZGV4KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVjb2Rlci5oOgor
ICAgICAgICAoRGVmZXJyZWRJbWFnZURlY29kZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2ltYWdl
LWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VEZWNvZGVy
Ojpob3RTcG90KToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlRGVjb2Rlcjo6aG90U3BvdEF0SW5k
ZXgpOgorICAgICAgICAoSW1hZ2VEZWNvZGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1k
ZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklDT0lt
YWdlRGVjb2Rlcjo6aG90U3BvdCk6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6
OmhvdFNwb3RBdEluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OklDT0ltYWdlRGVjb2Rlcjo6cHJv
Y2Vzc0RpcmVjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6OnJlYWRE
aXJlY3RvcnlFbnRyeSk6CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lD
T0ltYWdlRGVjb2Rlci5oOgorICAgICAgICAoSUNPSW1hZ2VEZWNvZGVyKToKKyAgICAgICAgKElj
b25EaXJlY3RvcnlFbnRyeSk6CisKIDIwMTItMTEtMDggIFJpY2sgQnllcnMgIDxyYnllcnNAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIE1vdmUgY2hyb21pdW0gdG8gVVNFKExBWllfTkFUSVZFX0NV
UlNPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdl
U291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNl
LmNwcAppbmRleCA1Njg1N2E0M2Y1NDg0MjNlOGJkOTJkMzIyZDk2ZDgxMGMyYmI2NzlhLi4wZjQ2
ZDcwM2M3YThjNmRiZGJkMmQ4OTY1MDIxMWMzNDNlZjBiMGNkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3BwCkBAIC0xMjEsOSArMTIxLDkg
QEAgSW50U2l6ZSBJbWFnZVNvdXJjZTo6ZnJhbWVTaXplQXRJbmRleChzaXplX3QgaW5kZXgsIFJl
c3BlY3RJbWFnZU9yaWVudGF0aW9uRW51bQogICAgIHJldHVybiBzaXplOwogfQogCi1ib29sIElt
YWdlU291cmNlOjpnZXRIb3RTcG90KEludFBvaW50JikgY29uc3QKK2Jvb2wgSW1hZ2VTb3VyY2U6
OmdldEhvdFNwb3QoSW50UG9pbnQmIGhvdFNwb3QpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGZhbHNl
OworICAgIHJldHVybiBtX2RlY29kZXIgPyBtX2RlY29kZXItPmhvdFNwb3QoaG90U3BvdCkgOiBm
YWxzZTsKIH0KIAogc2l6ZV90IEltYWdlU291cmNlOjpieXRlc0RlY29kZWRUb0RldGVybWluZVBy
b3BlcnRpZXMoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuY3BwCmluZGV4
IDg2M2NhMTI3ZTAyOWRiMjZlMjBlZDhlYzY3NDdmZjk1NzFmMjE3YmQuLjFkOGJiODIzYjBiNzEz
ZDdjZDIwM2E0N2RhNTljNmJhYWU1NWU1YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0RlZmVycmVkSW1hZ2VEZWNvZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVj
b2Rlci5jcHAKQEAgLTE1OCw0ICsxNTgsMTQgQEAgSW1hZ2VPcmllbnRhdGlvbiBEZWZlcnJlZElt
YWdlRGVjb2Rlcjo6b3JpZW50YXRpb24oKSBjb25zdAogICAgIHJldHVybiBtX2FjdHVhbERlY29k
ZXIgPyBtX2FjdHVhbERlY29kZXItPm9yaWVudGF0aW9uKCkgOiBtX29yaWVudGF0aW9uOwogfQog
Citib29sIERlZmVycmVkSW1hZ2VEZWNvZGVyOjpob3RTcG90KEludFBvaW50JiBob3RTcG90KSBj
b25zdAoreworICAgIHJldHVybiBtX2FjdHVhbERlY29kZXIgPyBtX2FjdHVhbERlY29kZXItPmhv
dFNwb3QoaG90U3BvdCkgOiBmYWxzZTsKK30KKworYm9vbCBEZWZlcnJlZEltYWdlRGVjb2Rlcjo6
aG90U3BvdEF0SW5kZXgoc2l6ZV90IGluZGV4LCBJbnRQb2ludCYgaG90U3BvdCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbV9hY3R1YWxEZWNvZGVyID8gbV9hY3R1YWxEZWNvZGVyLT5ob3RTcG90QXRJ
bmRleChpbmRleCwgaG90U3BvdCkgOiBmYWxzZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
RGVmZXJyZWRJbWFnZURlY29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0RlZmVycmVkSW1hZ2VEZWNvZGVyLmgKaW5kZXggNjBkOGNjMTA4ODk5NjI5NmJj
YzBkNTA1MjhiYTM2MzAxM2Q0Y2Q4OC4uNzFjZmE1NzcwMjY0Y2Q0MTVjOTIwYjcwNjIwZmJhOWQ1
YTYzZmRjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVjb2Rlci5oCkBAIC01Nyw2ICs1Nyw4
IEBAIHB1YmxpYzoKICAgICBib29sIGZyYW1lSGFzQWxwaGFBdEluZGV4KHNpemVfdCBpbmRleCkg
Y29uc3Q7CiAgICAgdW5zaWduZWQgZnJhbWVCeXRlc0F0SW5kZXgoc2l6ZV90IGluZGV4KSBjb25z
dDsKICAgICBJbWFnZU9yaWVudGF0aW9uIG9yaWVudGF0aW9uKCkgY29uc3Q7CisgICAgYm9vbCBo
b3RTcG90KEludFBvaW50JikgY29uc3Q7CisgICAgYm9vbCBob3RTcG90QXRJbmRleChzaXplX3Qs
IEludFBvaW50JikgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgRGVmZXJyZWRJbWFn
ZURlY29kZXIoSW1hZ2VEZWNvZGVyKiBhY3R1YWxEZWNvZGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKaW5kZXggOGMw
ZGIzOTI5ZjU0MjA4YjQ3ZmEzNjM4MjczNmJmYjMxNTY0N2Y1Ny4uMWNmN2ZhODM5NWMyNmFlMDVk
ZGZmMzE1NGM3YjZmMGNhYTIzZjUwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKQEAgLTM3OCw2ICszNzgsOSBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIHJlcG9ydE1lbW9yeVVz
YWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdDsKIAorICAgICAgICB2aXJ0dWFsIGJvb2wgaG90
U3BvdChJbnRQb2ludCYpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgICAgIHZpcnR1YWwg
Ym9vbCBob3RTcG90QXRJbmRleChzaXplX3QsIEludFBvaW50JikgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KKwogICAgIHByb3RlY3RlZDoKICAgICAgICAgdm9pZCBwcmVwYXJlU2NhbGVEYXRhSWZO
ZWNlc3NhcnkoKTsKICAgICAgICAgaW50IHVwcGVyQm91bmRTY2FsZWRYKGludCBvcmlnWCwgaW50
IHNlYXJjaFN0YXJ0ID0gMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
bWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuY3BwCmluZGV4IDJkYjNl
Y2Y2Y2U3ZmNjNzMyY2UyNDM1ZGRlNGRjOTc5OGM2ODYzMDguLmQ2NzViZTY4NTJiODA5ZDZlYWM5
OTk5MGI1NDVhZWFhYWIwMjdjZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuY3BwCkBAIC0x
MzMsNiArMTMzLDI0IEBAIGJvb2wgSUNPSW1hZ2VEZWNvZGVyOjpzZXRGYWlsZWQoKQogICAgIHJl
dHVybiBJbWFnZURlY29kZXI6OnNldEZhaWxlZCgpOwogfQogCitib29sIElDT0ltYWdlRGVjb2Rl
cjo6aG90U3BvdChJbnRQb2ludCYgaG90U3BvdCkgY29uc3QKK3sKKyAgICAvLyBXaGVuIHVuc3Bl
Y2lmaWVkLCB1c2UgdGhlIGxhcmdlc3QgZnJhbWUgdG8gYmUgY29uc2lzdGVudCB3aXRoIHRoZSBz
aXplCisgICAgLy8gaW4gcHJvY2Vzc0RpcmVjdG9yeUVudHJpZXMuCisgICAgcmV0dXJuIGhvdFNw
b3RBdEluZGV4KDAsIGhvdFNwb3QpOworfQorCitib29sIElDT0ltYWdlRGVjb2Rlcjo6aG90U3Bv
dEF0SW5kZXgoc2l6ZV90IGluZGV4LCBJbnRQb2ludCYgaG90U3BvdCkgY29uc3QKK3sKKyAgICBp
ZiAoaW5kZXggPj0gbV9kaXJFbnRyaWVzLnNpemUoKSB8fCBtX2ZpbGVUeXBlICE9IENVUlNPUikK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgY29uc3QgSWNvbkRpcmVjdG9yeUVudHJ5JiBk
aXJFbnRyeSA9IG1fZGlyRW50cmllc1tpbmRleF07CisgICAgaG90U3BvdCA9IEludFBvaW50KGRp
ckVudHJ5Lm1faG90U3BvdFgsIGRpckVudHJ5Lm1faG90U3BvdFkpOworICAgIHJldHVybiB0cnVl
OworfQorCisKIC8vIHN0YXRpYwogYm9vbCBJQ09JbWFnZURlY29kZXI6OmNvbXBhcmVFbnRyaWVz
KGNvbnN0IEljb25EaXJlY3RvcnlFbnRyeSYgYSwgY29uc3QgSWNvbkRpcmVjdG9yeUVudHJ5JiBi
KQogewpAQCAtMjMyLDEzICsyNTAsMTEgQEAgYm9vbCBJQ09JbWFnZURlY29kZXI6OnByb2Nlc3NE
aXJlY3RvcnkoKQogCiAgICAgLy8gU2VlIGlmIHRoaXMgaXMgYW4gaWNvbiBmaWxldHlwZSB3ZSB1
bmRlcnN0YW5kLCBhbmQgbWFrZSBzdXJlIHdlIGhhdmUgYXQKICAgICAvLyBsZWFzdCBvbmUgZW50
cnkgaW4gdGhlIGRpcmVjdG9yeS4KLSAgICBlbnVtIHsKLSAgICAgICAgSUNPTiA9IDEsCi0gICAg
ICAgIENVUlNPUiA9IDIsCi0gICAgfTsKICAgICBpZiAoKChmaWxlVHlwZSAhPSBJQ09OKSAmJiAo
ZmlsZVR5cGUgIT0gQ1VSU09SKSkgfHwgKCFpZENvdW50KSkKICAgICAgICAgcmV0dXJuIHNldEZh
aWxlZCgpOwogCisgICAgbV9maWxlVHlwZSA9IHN0YXRpY19jYXN0PEZpbGVUeXBlPihmaWxlVHlw
ZSk7CisKICAgICAvLyBFbmxhcmdlIG1lbWJlciB2ZWN0b3JzIHRvIGhvbGQgYWxsIHRoZSBlbnRy
aWVzLgogICAgIG1fZGlyRW50cmllcy5yZXNpemUoaWRDb3VudCk7CiAgICAgbV9ibXBSZWFkZXJz
LnJlc2l6ZShpZENvdW50KTsKQEAgLTI4Nyw3ICszMDMsMTUgQEAgSUNPSW1hZ2VEZWNvZGVyOjpJ
Y29uRGlyZWN0b3J5RW50cnkgSUNPSW1hZ2VEZWNvZGVyOjpyZWFkRGlyZWN0b3J5RW50cnkoKQog
ICAgICAgICBoZWlnaHQgPSAyNTY7CiAgICAgSWNvbkRpcmVjdG9yeUVudHJ5IGVudHJ5OwogICAg
IGVudHJ5Lm1fc2l6ZSA9IEludFNpemUod2lkdGgsIGhlaWdodCk7Ci0gICAgZW50cnkubV9iaXRD
b3VudCA9IHJlYWRVaW50MTYoNik7CisgICAgaWYgKG1fZmlsZVR5cGUgPT0gQ1VSU09SKSB7Cisg
ICAgICAgIGVudHJ5Lm1fYml0Q291bnQgPSAwOworICAgICAgICBlbnRyeS5tX2hvdFNwb3RYID0g
cmVhZFVpbnQxNig0KTsKKyAgICAgICAgZW50cnkubV9ob3RTcG90WSA9IHJlYWRVaW50MTYoNik7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgZW50cnkubV9iaXRDb3VudCA9IHJlYWRVaW50MTYoNik7
CisgICAgICAgIGVudHJ5Lm1faG90U3BvdFggPSAwOworICAgICAgICBlbnRyeS5tX2hvdFNwb3RZ
ID0gMDsKKyAgICB9CiAgICAgZW50cnkubV9pbWFnZU9mZnNldCA9IHJlYWRVaW50MzIoMTIpOwog
CiAgICAgLy8gU29tZSBpY29ucyBkb24ndCBoYXZlIGEgYml0IGRlcHRoLCBvbmx5IGEgY29sb3Ig
Y291bnQuICBDb252ZXJ0IHRoZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
aW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5oCmluZGV4IDMxZDkxYzgx
OTAyZmIwZDJjNjlkYzBhMzYxOGNiZGM1NGJmNmI3MTMuLjBkZWJhZDAxNzdhYTQ5MzE3YjJkOWFm
MjQ1MzdlMDU2OTBkOTE2YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lt
YWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmgKQEAgLTU2LDYgKzU2
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyBhdm9pZCBhY2Nlc3NpbmcgZGVs
ZXRlZCBtZW1vcnksIGVzcGVjaWFsbHkgd2hlbiBjYWxsaW5nIHRoaXMgZnJvbQogICAgICAgICAv
LyBpbnNpZGUgQk1QSW1hZ2VSZWFkZXIhCiAgICAgICAgIHZpcnR1YWwgYm9vbCBzZXRGYWlsZWQo
KTsKKyAgICAgICAgdmlydHVhbCBib29sIGhvdFNwb3QoSW50UG9pbnQmKSBjb25zdDsKKyAgICAg
ICAgdmlydHVhbCBib29sIGhvdFNwb3RBdEluZGV4KHNpemVfdCwgSW50UG9pbnQmKSBjb25zdDsK
IAogICAgIHByaXZhdGU6CiAgICAgICAgIGVudW0gSW1hZ2VUeXBlIHsKQEAgLTY0LDkgKzY2LDE2
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIFBORywKICAgICAgICAgfTsKIAor
ICAgICAgICBlbnVtIEZpbGVUeXBlIHsKKyAgICAgICAgICAgIElDT04gPSAxLAorICAgICAgICAg
ICAgQ1VSU09SID0gMiwKKyAgICAgICAgfTsKKwogICAgICAgICBzdHJ1Y3QgSWNvbkRpcmVjdG9y
eUVudHJ5IHsKICAgICAgICAgICAgIEludFNpemUgbV9zaXplOwogICAgICAgICAgICAgdWludDE2
X3QgbV9iaXRDb3VudDsKKyAgICAgICAgICAgIHVpbnQxNl90IG1faG90U3BvdFg7CisgICAgICAg
ICAgICB1aW50MTZfdCBtX2hvdFNwb3RZOwogICAgICAgICAgICAgdWludDMyX3QgbV9pbWFnZU9m
ZnNldDsKICAgICAgICAgfTsKIApAQCAtMTIyLDYgKzEzMSw5IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgLy8gQk1QSW1hZ2VSZWFkZXIgdGFrZXMgb3ZlciB0aGlzIHdpbGwgbm90IGJl
IHVwZGF0ZWQgZnVydGhlci4KICAgICAgICAgc2l6ZV90IG1fZGVjb2RlZE9mZnNldDsKIAorICAg
ICAgICAvLyBXaGljaCB0eXBlIG9mIGZpbGUgKElDTy9DVVIpIHRoaXMgaXMuCisgICAgICAgIEZp
bGVUeXBlIG1fZmlsZVR5cGU7CisKICAgICAgICAgLy8gVGhlIGhlYWRlcnMgZm9yIHRoZSBJQ08u
CiAgICAgICAgIHR5cGVkZWYgVmVjdG9yPEljb25EaXJlY3RvcnlFbnRyeT4gSWNvbkRpcmVjdG9y
eUVudHJpZXM7CiAgICAgICAgIEljb25EaXJlY3RvcnlFbnRyaWVzIG1fZGlyRW50cmllczsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCBhNmMwYzBkMTVhYjAyZmVkMDM4YzVkZTQxOGMwOWIwZmE5OTBkMWU2Li5iZmFkNWExNTli
NDFlMWVkMWNjYjA1YWE3ZWM4Zjk4MWQyNWNhOTU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjMgQEAKIDIw
MTItMTEtMDkgIFJpY2sgQnllcnMgIDxyYnllcnNAY2hyb21pdW0ub3JnPgogCisgICAgICAgIGN1
c3RvbSBDU1MgY3Vyc29ycyBpZ25vcmUgaG90c3BvdCB2YWx1ZXMgZW1iZWRkZWQgaW4gQ1VSIGZp
bGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAw
NTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
bW91c2UgY3Vyc29yIHRlc3QgY2FzZXMgdGhhdCB1c2UgQ1VSIGZpbGVzIHRoYXQgaGF2ZSBlbWJl
ZGRlZCBob3RzcG90IHZhbHVlcy4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNv
ci1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLW11bHRp
ZnJhbWVjdXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9tb3Vz
ZS1jdXJzb3ItbXVsdGlmcmFtZWN1ci5odG1sOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9tb3VzZS1j
dXJzb3IuaHRtbDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9yZXNvdXJjZXMvZ3JlZW5ib3gtM2Zy
YW1lcy5jdXI6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3Jlc291cmNlcy9ncmVlbmJv
eC1ob3RzcG90MzUtNC5jdXI6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3Jlc291cmNl
cy9ncmVlbmJveC1ob3RzcG90NS00LmN1cjogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFj
L1Rlc3RFeHBlY3RhdGlvbnM6IFNraXAgdGhlIG11bHRpLWZyYW1lIGNhc2Ugb24gbWFjIGR1ZSB0
byBhbiBhcHBhcmVudCBDRyBoYW5nCisKKzIwMTItMTEtMDkgIFJpY2sgQnllcnMgIDxyYnllcnNA
Y2hyb21pdW0ub3JnPgorCiAgICAgICAgIFtjaHJvbWl1bV0gTW92ZSB0byBVU0UoTEFaWV9OQVRJ
VkVfQ1VSU09SKQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTAxNTAxCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1
cnNvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3It
ZXhwZWN0ZWQudHh0CmluZGV4IDhjMTVhOTFiNDQzMDM4NmJlMzE4MTUwNDFhM2IwOWM2YTlhZmIz
OWYuLjEwNTRlZjQxMDNhZjc4ZDc2ZDlkNzFhZGI2YzdlZTZlOWQ2NThkZjggMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4dApAQCAtNDUs
NiArNDUsMTUgQEAgQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBpbWFn
ZT0yNXgyNQogVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IG91dHNpZGUg
aW1hZ2UgYXQgKDMwLDMwKQogQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAs
MCBpbWFnZT0yNXgyNQogCitURVNUIENBU0U6IEltYWdlIHdpdGggaW1wbGljaXQgaG90IHNwb3Qg
YXQgKDUsNCkKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3BvdD01LDQgaW1hZ2U9
MjV4MjUKKworVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgyMCwx
MCkgb3ZlcnJpZGluZyBpbXBsaWNpdCBob3Qgc3BvdAorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1
c3RvbSBob3RTcG90PTIwLDEwIGltYWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBp
bXBsaWNpdCBob3Qgc3BvdCBvdXRzaWRlIGltYWdlIGF0ICgzNSw0KQorQ3Vyc29yIEluZm86IHR5
cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBpbWFnZT0yNXgyNQorCiBURVNUIENBU0U6IE92ZXIg
bGFyZ2UgaW1hZ2Ugd2l0aCBmYWxsYmFjayB0byBwb2ludGVyCiBDdXJzb3IgSW5mbzogdHlwZT1U
eXBlSGFuZCBob3RTcG90PTAsMAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9tb3VzZS1jdXJzb3ItbXVsdGlmcmFtZWN1ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItbXVsdGlmcmFtZWN1ci1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjIzNzgzZTIyZjFiNjAyZDM5NzY0MjAxNDc5ODI1ZTljYTQ0ZTZjYQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1tdWx0aWZyYW1l
Y3VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBACitUZXN0IHRoYXQgbW91c2UgY3Vyc29y
cyBhcmUgYXBwbGllZCBjb3JyZWN0bHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitCdWcgMTAwMDU5CisKKworVEVTVCBDQVNFOiBJbXBsaWNpdCBkZWZhdWx0IGN1cnNvcgorQ3Vy
c29yIEluZm86IHR5cGU9VHlwZUlCZWFtIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogQ1VSIGZp
bGUgd2l0aCAzIGZyYW1lcywgbGFyZ2VzdCBvZiB3aGljaCAoMm5kIGZyYW1lKSBpcyAyMHgxMiB3
aXRoIGhvdHNwb3QgYXQgKDE4LDExKS4KK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90
U3BvdD0xOCwxMSBpbWFnZT0yMHgxMgorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
bW91c2UtY3Vyc29yLW11bHRpZnJhbWVjdXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L21vdXNlLWN1cnNvci1tdWx0aWZyYW1lY3VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmM2ZTZmNGIwNzg3
YWE5NTMxNWFjYjcyNDIxODZmYTJmNmZhZjE3NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1tdWx0aWZyYW1lY3VyLmh0bWwKQEAgLTAsMCAr
MSw5MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c3R5bGUgdHlwZT0idGV4
dC9jc3MiPgorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48
L3A+Cis8cD48YSBocmVmPWh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDA1NTA+QnVnIDEwMDA1OTwvYT48L3A+Cis8ZGl2IGlkPSJ0ZXN0LWNvbnRhaW5lciI+CisgIDxk
aXY+SW1wbGljaXQgZGVmYXVsdCBjdXJzb3I8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1
cmwocmVzb3VyY2VzL2dyZWVuYm94LTNmcmFtZXMuY3VyKSwgcG9pbnRlcic+Q1VSIGZpbGUgd2l0
aCAzIGZyYW1lcywgbGFyZ2VzdCBvZiB3aGljaCAoMm5kIGZyYW1lKSBpcyAyMHgxMiB3aXRoIGhv
dHNwb3QgYXQgKDE4LDExKS48L2Rpdj4KKzwvZGl2PgorPGJyLz4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdD4KK3ZhciBpbWFnZXNMZWZ0VG9Mb2FkID0gMDsKKworZnVuY3Rpb24g
b25JbWFnZUxvYWQoZSkgeworCisgICAgLy8gVGhpcyBkZWJ1ZyBvdXRwdXQgaXMgbm9uLWRldGVy
bWluaXN0aWMgYW5kIGNvbnRhaW5zIGFic29sdXRlIFVSTHMgLSBvbmx5IHNob3cgd2hlbgorICAg
IC8vIG5vdCBydW5uaW5nIGluIERSVAorICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgIGRlYnVnKCAnRXZlbnQgIicgKyBlLnR5cGUgKyAnIjogJyArIGUudGFyZ2V0LnNyYyk7Cisg
ICAgICAgIAorICAgIGltYWdlc0xlZnRUb0xvYWQtLTsKKyAgICBpZiAoaW1hZ2VzTGVmdFRvTG9h
ZCA9PSAwKQorICAgICAgICBydW5UZXN0cygpOworICAgIGlmIChpbWFnZXNMZWZ0VG9Mb2FkIDwg
MCkKKyAgICAgICAgdGVzdEZhaWxlZCgnR290IG1vcmUgbG9hZC9lcnJvciBjYWxsYmFjayB0aGFu
IGV4cGVjdGVkLicpOworfQorCitmdW5jdGlvbiBvbkltYWdlVW5leHBlY3RlZChlKSB7CisJaW1h
Z2VzTGVmdFRvTG9hZC0tOworICAgIHRlc3RGYWlsZWQoJ0dvdCB1bmV4cGVjdGVkIFwnJyArIGUu
dHlwZSArICdcJyBldmVudCBmb3IgaW1hZ2U6ICcgKyBlLnRhcmdldC5zcmMpOyAKK30KKworZnVu
Y3Rpb24gcnVuVGVzdHMoKSB7CisgICAgLy8gQ2FuJ3QgZG8gYW55dGhpbmcgdXNlZnVsIGhlcmUg
d2l0aG91dCBldmVudFNlbmRlcgorICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAg
ICAgdmFyIG5vZGVzVG9UZXN0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnI3Rlc3QtY29u
dGFpbmVyID4gZGl2Jyk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZXNUb1Rlc3Qu
bGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgIHZhciBub2RlID0gbm9kZXNUb1Rlc3RbaV07Cisg
ICAgICAgICAgICBkZWJ1ZygnVEVTVCBDQVNFOiAnICsgbm9kZS50ZXh0Q29udGVudCk7CisKKyAg
ICAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgbm9kZSBpcyB2aXNpYmxlIGFuZCBtb3ZlIHRoZSBt
b3VzZSBvdmVyIHRvcCBvZiBpdC4KKyAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9w
ID0gbm9kZS5vZmZzZXRUb3AgLSA1MDsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92
ZVRvKG5vZGUub2Zmc2V0TGVmdCArIDMsIG5vZGUub2Zmc2V0VG9wIC0gZG9jdW1lbnQuYm9keS5z
Y3JvbGxUb3AgKyAzKTsKKworICAgICAgICAgICAgLy8gR2V0IGRldGFpbHMgb2YgdGhlIGN1cnJl
bnQgbW91c2UgY3Vyc29yLgorICAgICAgICAgICAgLy8gTm90ZSB0aGF0IHdlIGNvdWxkIHJldHVy
biBzdHJ1Y3R1cmVkIGRhdGEgd2hpY2ggd2UgdGhlbiB2YWxpZGF0ZSwgYnV0IHRoYXQncyBhIGxv
dCBtb3JlCisgICAgICAgICAgICAvLyB3b3JrIGFuZCBpcyByZWR1bmRhbnQgd2l0aCByZWx5aW5n
IG9uIHRoZSBleHBlY3RlZCBvdXRwdXQgYW55d2F5LiAgQmV0dGVyIHRvIGp1c3QgZHVtcAorICAg
ICAgICAgICAgLy8gaXQgYW5kIGluc3BlY3QgdGhhdCBpdCBtYXRjaGVzIHRoZSBkZXNjcmlwdGlv
bi4KKyAgICAgICAgICAgIGRlYnVnKCdDdXJzb3IgSW5mbzogJyArIHdpbmRvdy5pbnRlcm5hbHMu
Z2V0Q3VycmVudEN1cnNvckluZm8oZG9jdW1lbnQpKTsKKyAgICAgICAgICAgIGRlYnVnKCcnKTsK
KyAgICAgICAgfQorICAgICAgICAvLyBUaGlzIHRleHQgaXMgcmVkdW5kYW50IHdpdGggdGhlIHRl
c3Qgb3V0cHV0IC0gaGlkZSBpdAorICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVz
dC1jb250YWluZXInKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOworICAgIH0KKyAgICAKKyAgICBm
aW5pc2hKU1Rlc3QoKTsKK30KKworZGVzY3JpcHRpb24oIlRlc3QgdGhhdCBtb3VzZSBjdXJzb3Jz
IGFyZSBhcHBsaWVkIGNvcnJlY3RseS4iKTsKKworaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpIHsK
KyAgICB0ZXN0RmFpbGVkKCdUaGlzIHRlc3QgcmVxdWlyZXMgRHVtcFJlbmRlclRyZWUnKTsKK30K
KworaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgd2luZG93LmpzVGVzdElzQXN5
bmMgPSB0cnVlOworfQorCisvLyBOb3cgd2FpdCBmb3IgZWFjaCBpbWFnZSB0byBsb2FkIG9yIGZh
aWwgdG8gbG9hZCBiZWZvcmUgc3RhcnRpbmcgdGVzdHMuCisvLyBXaXRob3V0IHRoaXMgd2UgY2Fu
IGdldCBudWxsIGltYWdlcyBpbiB0aGUgY3Vyc29ycyAtIGVnLiBubyBrbm93biBzaXplLgordmFy
IGltYWdlc1RvTG9hZCA9IFsKKyAgICB7IHVybDogJ3Jlc291cmNlcy9ncmVlbmJveC0zZnJhbWVz
LmN1cicgfSBdOworaW1hZ2VzTGVmdFRvTG9hZCA9IGltYWdlc1RvTG9hZC5sZW5ndGg7Citmb3Ig
KHZhciBpID0gMDsgaSA8IGltYWdlc1RvTG9hZC5sZW5ndGg7IGkrKykgeworICAgIHZhciBpbWcg
PSBuZXcgSW1hZ2UoKTsKKyAgICB2YXIgZXhwZWN0RXJyb3IgPSBpbWFnZXNUb0xvYWRbaV0uZXJy
b3I7IAorICAgIGltZy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZXhwZWN0RXJyb3IgPyBvbklt
YWdlVW5leHBlY3RlZCA6IG9uSW1hZ2VMb2FkKTsKKyAgICBpbWcuYWRkRXZlbnRMaXN0ZW5lcign
ZXJyb3InLCBleHBlY3RFcnJvciA/IG9uSW1hZ2VMb2FkIDogb25JbWFnZVVuZXhwZWN0ZWQpOwor
ICAgIGltZy5zcmMgPSBpbWFnZXNUb0xvYWRbaV0udXJsOworfQorCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
bW91c2UtY3Vyc29yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3Iu
aHRtbAppbmRleCAxNjdkNzg1ZmY5ZjVkOWU0ZjI3OGI2MWY4MGM0YjI0ZDZkYjJkMmEzLi40ZmYz
MDM2NTY2NGVmZGUyZjQzMTc5NWEyNTRmNjk2MWNhYzhkYmUzIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbApAQCAtMjgsNiArMjgsOSBAQAogICA8ZGl2IHN0eWxl
PSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSAyMCAxMCwgcG9pbnRlcic+SW1h
Z2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMjAsMTApPC9kaXY+CiAgIDxkaXYgc3R5bGU9
J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC5wbmcpIC0xIC0xLCBwb2ludGVyJz5JbWFn
ZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgtMSwtMSk8L2Rpdj4KICAgPGRpdiBzdHlsZT0n
Y3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LnBuZykgMzAgMzAsIHBvaW50ZXInPkltYWdl
IHdpdGggZXhwbGljaXQgaG90IHNwb3Qgb3V0c2lkZSBpbWFnZSBhdCAoMzAsMzApPC9kaXY+Cisg
IDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC1ob3RzcG90NS00LmN1
ciksIHBvaW50ZXInPkltYWdlIHdpdGggaW1wbGljaXQgaG90IHNwb3QgYXQgKDUsNCk8L2Rpdj4K
KyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3Q1LTQu
Y3VyKSAyMCAxMCwgcG9pbnRlcic+SW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMjAs
MTApIG92ZXJyaWRpbmcgaW1wbGljaXQgaG90IHNwb3Q8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vy
c29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3QzNS00LmN1ciksIHBvaW50ZXInPklt
YWdlIHdpdGggaW1wbGljaSAgdCBob3Qgc3BvdCBvdXRzaWRlIGltYWdlIGF0ICgzNSw0KTwvZGl2
PgogICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvb25sb2FkLWltYWdlLnBuZyks
IHBvaW50ZXInPk92ZXIgbGFyZ2UgaW1hZ2Ugd2l0aCBmYWxsYmFjayB0byBwb2ludGVyPC9kaXY+
CiAgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKCNncmVlbmJveCksIHBvaW50ZXInPlNWRyBjdXJz
b3I8L2Rpdj4KICAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwobW91c2UtY3Vyc29yLmh0bWwpLCB1
cmwodW5rbm93bi1zY2hlbWU6Y3Vyc29yLnBuZyksIHBvaW50ZXInPk11bHRpcGxlIGludmFsaWQg
Y3Vyc29ycyB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXI8L2Rpdj4KQEAgLTY3LDcgKzcwLDEyIEBA
IGZ1bmN0aW9uIHJ1blRlc3RzKCkgewogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGVz
VG9UZXN0Lmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICB2YXIgbm9kZSA9IG5vZGVzVG9UZXN0
W2ldOwogICAgICAgICAgICAgZGVidWcoJ1RFU1QgQ0FTRTogJyArIG5vZGUudGV4dENvbnRlbnQp
OwotICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8obm9kZS5vZmZzZXRMZWZ0ICsg
Mywgbm9kZS5vZmZzZXRUb3AgKyAzKTsKKworICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBu
b2RlIGlzIHZpc2libGUgYW5kIG1vdmUgdGhlIG1vdXNlIG92ZXIgdG9wIG9mIGl0LgorICAgICAg
ICAgICAgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgPSBub2RlLm9mZnNldFRvcCAtIDUwOworICAg
ICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8obm9kZS5vZmZzZXRMZWZ0ICsgMywgbm9k
ZS5vZmZzZXRUb3AgLSBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCArIDMpOworCisgICAgICAgICAg
ICAvLyBHZXQgZGV0YWlscyBvZiB0aGUgY3VycmVudCBtb3VzZSBjdXJzb3IuCiAgICAgICAgICAg
ICAvLyBOb3RlIHRoYXQgd2UgY291bGQgcmV0dXJuIHN0cnVjdHVyZWQgZGF0YSB3aGljaCB3ZSB0
aGVuIHZhbGlkYXRlLCBidXQgdGhhdCdzIGEgbG90IG1vcmUKICAgICAgICAgICAgIC8vIHdvcmsg
YW5kIGlzIHJlZHVuZGFudCB3aXRoIHJlbHlpbmcgb24gdGhlIGV4cGVjdGVkIG91dHB1dCBhbnl3
YXkuICBCZXR0ZXIgdG8ganVzdCBkdW1wCiAgICAgICAgICAgICAvLyBpdCBhbmQgaW5zcGVjdCB0
aGF0IGl0IG1hdGNoZXMgdGhlIGRlc2NyaXB0aW9uLgpAQCAtOTgsNiArMTA2LDggQEAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7CiB2YXIgaW1hZ2VzVG9Mb2FkID0gWwogICAgIHsgdXJsOiAncmVz
b3VyY2VzL2dyZWVuYm94LnBuZycgfSwKICAgICB7IHVybDogJ3Jlc291cmNlcy9vbmxvYWQtaW1h
Z2UucG5nJyB9LAorICAgIHsgdXJsOiAncmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3Q1LTQuY3Vy
JyB9LAorICAgIHsgdXJsOiAncmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3QzNS00LmN1cicgfSwK
ICAgICB7IHVybDogJ2RvZXNudGV4aXN0LnBuZycsIGVycm9yOiB0cnVlIH0sCiAgICAgeyB1cmw6
ICd1bmtub3duLXNjaGVtZTpjdXJzb3IucG5nJywgZXJyb3I6IHRydWUgfSwKICAgICB7IHVybDog
J21vdXNlLWN1cnNvci5odG1sJywgZXJyb3I6IHRydWUgfSwKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy9ncmVlbmJveC0zZnJhbWVzLmN1ciBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy9ncmVlbmJveC0zZnJhbWVzLmN1cgpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yYjA5ZDY0MTZjYjU3NzdjM2UwN2U0NmFmZjBhNGM0MzJmNGFlZDQ2CkdJVCBiaW5hcnkgcGF0
Y2gKbGl0ZXJhbCAzOTAKemNtWlF6VX05aXE7OV9OQjs5eXszaCt0cX5GYXUlezl3cjdNMjV5RTRL
ejFKeF5ScUtDQEdgSjVXQn1RNmowX0FLCnpLJDs3Ujg1d3tBS3ArQXBBcHtlUXtVNjRfTGZkMUNm
eUBQJkJMVCFQYX1BSmA1b0lvdGRRMnVpclZ0KHhrYjZLbgpWXzwkSlo5dkxMe0IpSkM/T2h+I0JP
YU49TzJUY0Z+CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvZ3JlZW5ib3gtaG90c3BvdDM1LTQuY3VyIGIvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3QzNS00LmN1cgpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45MjIyNmM1MWUyNDVkM2Y4NDY4YWY2ODI4OWQ1MzE3ZmRlNjkyZWQwCkdJVCBiaW5h
cnkgcGF0Y2gKbGl0ZXJhbCAyNzAKemNtWlF6VX05aW9rZCRPJVAtYjlaX2AkJXlBT14lNUtyOUt3
TW5LRjZnZG1VdENMc2g5alF0PFJwYkszfllnKyZ8CkN2OylLZAoKbGl0ZXJhbCAwCkhjbVY/ZDAw
MDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVu
Ym94LWhvdHNwb3Q1LTQuY3VyIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dy
ZWVuYm94LWhvdHNwb3Q1LTQuY3VyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhZTdjOWMyNzA2OThjM2ViNWZlNjkw
NjA2NzVhOGM3YmVmNzk0MDYKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDI3MAp6Y21aUXpVfTlp
b2tkJE8lVX1hIW9fYCQleUFPXiU1S3I5S3dNbktGNmdkbVV0Q0xzaDlqUXQ8UnBiSzN+WWcrJnEK
Q0pPaWN4CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDQ2NWI2ZjkyMzIyYTkzMTM4NGMyZGUyYjA0ZDkzY2RlYTgy
MDEzMzMuLjA2Yzc0MjUxZDBhOThmOTYyNmYzYjYxODBjNzBiYjQyMzM0YWI1MDAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMTcxLDMgKzExNzEsNiBA
QCB3ZWJraXQub3JnL2IvMTAwODQ2IGluc3BlY3Rvci1wcm90b2NvbC9kZWJ1Z2dlci10ZXJtaW5h
dGUtZGVkaWNhdGVkLXdvcmtlci13aGlsZQogd2Via2l0Lm9yZy9iLzEwMDE0MiBjc3MzL2ZpbHRl
cnMvZWZmZWN0LXJlZmVyZW5jZS1ody5odG1sIFsgRmFpbCBdCiB3ZWJraXQub3JnL2IvMTAwMTQy
IGNzczMvZmlsdGVycy9lZmZlY3QtcmVmZXJlbmNlLW9yZGVyaW5nLWh3Lmh0bWwgWyBGYWlsIF0K
IHdlYmtpdC5vcmcvYi8xMDAxNDIgY3NzMy9maWx0ZXJzL2VmZmVjdC1yZWZlcmVuY2UuaHRtbCBb
IEZhaWwgXQorCisjIEhhbmdzIHNhZmFyaSBhcHBhcmVudGx5IGR1ZSB0byBhbiBpc3N1ZSB3aXRo
IENvcmVHcmFwaGljcyBhbmQgd2VpcmQgbXVsdGktZnJhbWUgQ1VSIGltYWdlIGZpbGVzCit3ZWJr
aXQub3JnL2IvMTAxODExIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1tdWx0aWZyYW1lY3VyLmh0
bWwgWyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173406</attachid>
            <date>2012-11-09 17:04:07 -0800</date>
            <delta_ts>2012-11-10 15:02:52 -0800</delta_ts>
            <desc>Combined with fixes for 100550 and 101501 for EWS</desc>
            <filename>bug-100059-20121109200214.patch</filename>
            <type>text/plain</type>
            <size>66246</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjI1NTRmYTAwNGI2OGUx
YzdjY2RkMmM5MGFlZTMzYTRhYTEwYzVhYS4uODg4NTgwYTYzNzA5MmE2N2RlNmY1YWVjY2E3YzUz
NmQ3YWNmYTRhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg3IEBACisyMDEyLTExLTA5ICBSaWNr
IEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBjdXN0b20gQ1NTIGN1cnNv
cnMgaWdub3JlIGhvdHNwb3QgdmFsdWVzIGVtYmVkZGVkIGluIENVUiBmaWxlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMDU5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHJlYWRpbmcgdGhlIGhv
dHNwb3QgdmFsdWVzIHRvIHRoZSBJQ09JbWFnZURlY29kZXIgKGZvciBDVVIgZmlsZXMgb25seSks
CisgICAgICAgIGFuZCBwbHVtYiBpdCB0aHJvdWdoIHNvIHRoYXQgdGhlIGV4aXN0aW5nIGNhbGxz
IHRvIEltYWdlU291cmNlOjpnZXRIb3RTcG90CisgICAgICAgIGFjdHVhbGx5IHJldHVybiB0aGUg
aG90IHNwb3QgdmFsdWUgd2hlbiB0aGVyZSBpcyBvbmUuCisKKyAgICAgICAgVGVzdHM6IGZhc3Qv
ZXZlbnRzL21vdXNlLWN1cnNvci5odG1sLCBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItbXVsdGlm
cmFtZWN1ci5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVNvdXJjZTo6Z2V0SG90U3BvdCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RGVmZXJyZWRJbWFnZURlY29kZXI6OmhvdFNwb3QpOgorICAgICAg
ICAoV2ViQ29yZTo6RGVmZXJyZWRJbWFnZURlY29kZXI6OmhvdFNwb3RBdEluZGV4KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVjb2Rlci5oOgor
ICAgICAgICAoRGVmZXJyZWRJbWFnZURlY29kZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2ltYWdl
LWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VEZWNvZGVy
Ojpob3RTcG90KToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlRGVjb2Rlcjo6aG90U3BvdEF0SW5k
ZXgpOgorICAgICAgICAoSW1hZ2VEZWNvZGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1k
ZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklDT0lt
YWdlRGVjb2Rlcjo6aG90U3BvdCk6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6
OmhvdFNwb3RBdEluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OklDT0ltYWdlRGVjb2Rlcjo6cHJv
Y2Vzc0RpcmVjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6OnJlYWRE
aXJlY3RvcnlFbnRyeSk6CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lD
T0ltYWdlRGVjb2Rlci5oOgorICAgICAgICAoSUNPSW1hZ2VEZWNvZGVyKToKKyAgICAgICAgKElj
b25EaXJlY3RvcnlFbnRyeSk6CisKKzIwMTItMTEtMDggIFJpY2sgQnllcnMgIDxyYnllcnNAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIE1vdmUgY2hyb21pdW0gdG8gVVNFKExBWllfTkFUSVZFX0NV
UlNPUikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
MTUwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
aXMgc2ltcGxpZmllcyBjdXJzb3IgaGFuZGxpbmcgaW4gY2hyb21pdW0gYW5kIHVuaWZpZXMgaXQg
d2l0aCBvdGhlcgorICAgICAgICBwb3J0cyBmb3IgZWFzaWVyIGNvZGUgc2hhcmluZyBhbmQgdGVz
dGluZyBieSBtb3ZpbmcgdG8gdGhlCisgICAgICAgIFVTRV9MQVpZX0NVUlNPUiBtb2RlbCBhbmQg
ZWxpbWluYXRpbmcgUGxhdGZvcm1DdXJzb3IgZW50aXJlbHkuCisKKyAgICAgICAgUGxhdGZvcm1D
dXJzb3IgYWRkcyBubyB2YWx1ZSBpbiBjaHJvbWl1bSBzaW5jZSB0aGUgc2FuZGJveGluZyBtb2Rl
bAorICAgICAgICByZXF1aXJlcyB0aGUgY3Vyc29yIGluZm9ybWF0aW9uIGJlIG1hcnNoYWxsZWQg
dG8gdGhlIGJyb3dzZXIgcHJvY2VzcworICAgICAgICBiZWZvcmUgYmVpbmcgdHVybmVkIGludG8g
YSByZWFsIE9TIGN1cnNvci4KKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9tb3VzZS1jdXJz
b3IuaHRtbAorCisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIHBsYXRmb3JtL0N1
cnNvci5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
Q3Vyc29yQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3Vyc29yOjpDdXJzb3IpOgor
ICAgICAgICAoV2ViQ29yZTo6Q3Vyc29yOjpvcGVyYXRvcj0pOgorICAgICAgICAoV2ViQ29yZTo6
Q3Vyc29yOjp+Q3Vyc29yKToKKyAgICAgICAgKFdlYkNvcmU6OkN1cnNvcjo6ZW5zdXJlUGxhdGZv
cm1DdXJzb3IpOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtQ3Vyc29yLmg6
IFJlbW92ZWQuCisKKzIwMTItMTEtMDkgIFJpY2sgQnllcnMgIDxyYnllcnNAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIE5vIHRlc3RzIGZvciBjaGFuZ2luZyBtb3VzZSBjdXJzb3JzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA1NTAKKworICAgICAg
ICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIEFkZCBpbmZyYXN0cnVjdHVyZSB0
byBrZWVwIHRyYWNrIG9mIHRoZSBsYXN0IHNldCBtb3VzZSBjdXJzb3IsCisgICAgICAgIGFuZCB0
aGVuIHRvIHF1ZXJ5IGl0IGZyb20gRHVtcFJlbmRlclRyZWUuCisKKyAgICAgICAgVGVzdDogZmFz
dC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWwKKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOiBB
ZGQgQ3Vyc29yIGNvcHkgY3RvciBleHBvcnQKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlTW92ZUV2ZW50
KTogS2VlcCB0cmFjayBvZiBsYXN0IHNldCBtb3VzZSBjdXJzb3IKKyAgICAgICAgKiBwYWdlL0V2
ZW50SGFuZGxlci5oOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpjdXJyZW50TW91
c2VDdXJzb3IpOiBOZXcgZ2V0dGVyIGZvciBsYXN0IHNldCBtb3VzZSBjdXJzb3IKKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjdXJzb3JUeXBlVG9T
dHJpbmcpOiBIZWxwZXIgdG8gY29udmVydCBjdXJzb3IgdHlwZSB0byBlbnVtCisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6Z2V0Q3VycmVudEN1cnNvcklu
Zm8pOiBOZXcgZnVuY3Rpb24gdG8gcmV0dXJuIGEgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIGxhc3Qg
c2V0IG1vdXNlIGN1cnNvcgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6IERlY2xhcmUg
Z2V0Q3VycmVudEN1cnNvckluZm8KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6IERl
Y2xhcmUgZ2V0Q3VycmVudEN1cnNvckluZm8KKwogMjAxMi0xMS0wOSAgVGllbi1SZW4gQ2hlbiAg
PHRyY2hlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ29ycmVjdCBoaXQtdGVzdCBwb2ludCBz
Y2FsaW5nIGZvciBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCmluZGV4IDA3NjAzOTg3OWExN2EzYzVlMDc1MGQzZTg5ZGU4NjE5MDZhODdhMGEuLjUwNjc1
NWRjNjIyYjQ3ZGE1Yjg3NzFhODRkYWE4MDViYzY1MjdmYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTEtMDggIFJpY2sgQnllcnMgIDxyYnllcnNA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIE1vdmUgY2hyb21pdW0gdG8gVVNFKExBWllfTkFUSVZF
X0NVUlNPUikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwMTUwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFVwZGF0ZSBjb252ZXJzaW9uIGZyb20gQ3Vyc29yIHRvIFdlYkN1cnNvckluZm8gdG8gcmVtb3Zl
IHRoZQorICAgICAgICBpbnRlcm1lZGlhdGUgKGFuZCB1c2VsZXNzKSBzdGVwIG9mIFBsYXRmb3Jt
Q3Vyc29yLgorCisgICAgICAgICogc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwOgorICAgICAg
ICAqIHNyYy9XZWJDdXJzb3JJbmZvLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ3Vyc29ySW5m
bzo6V2ViQ3Vyc29ySW5mbyk6CisKIDIwMTItMTEtMDkgIEFsZWMgRmxldHQgIDxhbGVjZmxldHRA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIEluZGV4ZWREQjogQ29tYmluZSBJREJCYWNraW5nU3Rv
cmUgYW5kIElEQkxldmVsREJCYWNraW5nU3RvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAyMDUxNDc5ZTBjMmQ1
ZTk1YmY1ZmM3OGVkOGEzMTEyMzU4ODkwM2QyLi4wMzU1N2NiZGJjZDlkOTQxNjYzOGQ0MzZkMmM3
NjU1ZDA0MjU1MWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMTEtMDkgIFJp
Y2sgQnllcnMgIDxyYnllcnNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE5vIHRlc3RzIGZvciBj
aGFuZ2luZyBtb3VzZSBjdXJzb3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDA1NTAKKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgor
CisgICAgICAgIEFkZCBuZWNlc3NhcnkgZXhwb3J0cyBmb3IgSW50ZXJuYWxzOjpnZXRDdXJyZW50
Q3Vyc29ySW5mbworCisgICAgICAgICogd2luL1dlYktpdDIuZGVmOgorICAgICAgICAqIHdpbi9X
ZWJLaXQyQ0ZMaXRlLmRlZjoKKwogMjAxMi0xMS0wOSAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9y
dG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBQREZQbHVnaW4gc2hvdWxkIHN1cHBvcnQgY2xpY2tp
bmcgb24gZXh0ZXJuYWwgbGlua3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggYTVmMjM2N2FiMTJl
NTU0ZDQ4ZjhhYzE0NTUyYWRhMGNlNjNmYTFjYS4uZjIxZGQwMjAzY2JiYmUzOWVhYWE0OGYwYTAw
YWE1MDY4ZGMzY2RhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4K
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE3MTEsNiArMTcxMSw3IEBA
IF9fWk43V2ViQ29yZTRQYWdlMjF3aW5kb3dTY3JlZW5EaWRDaGFuZ2VFagogX19aTjdXZWJDb3Jl
NUZyYW1lOW5vZGVJbWFnZUVQTlNfNE5vZGVFCiBfX1pON1dlYkNvcmU2Q3Vyc29yOGZyb21UeXBl
RU5TMF80VHlwZUUKIF9fWk43V2ViQ29yZTZDdXJzb3JDMUVQTlNfNUltYWdlRVJLTlNfOEludFBv
aW50RQorX19aTjdXZWJDb3JlNkN1cnNvckMxRVJLUzBfCiBfX1pON1dlYkNvcmU2Q3Vyc29yRDFF
dgogX19aTjdXZWJDb3JlNkN1cnNvcmFTRVJLUzBfCiBfX1pON1dlYkNvcmU2RWRpdG9yMTNjYW5E
SFRNTFBhc3RlRXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA1YzIxYzU5ZTM3OWYxODVjNmYzZjZkOGEy
YjdmNTA1NTdmODUxMjJlLi4wYTdjY2FhZjYyZjMwMzliOWIwN2VhYTE5MTMwYTRjMjRjM2IyZGRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpCkBAIC00NjcxLDcgKzQ2NzEsNiBAQAogICAgICAgICAgICAgJ3Bs
YXRmb3JtL2Nocm9taXVtL01JTUVUeXBlUmVnaXN0cnlDaHJvbWl1bS5jcHAnLAogICAgICAgICAg
ICAgJ3BsYXRmb3JtL2Nocm9taXVtL1BhZ2VDbGllbnRDaHJvbWl1bS5oJywKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9jaHJvbWl1bS9QYXN0ZWJvYXJkQ2hyb21pdW0uY3BwJywKLSAgICAgICAgICAg
ICdwbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybUN1cnNvci5oJywKICAgICAgICAgICAgICdwbGF0
Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybUtleWJvYXJkRXZlbnRDaHJvbWl1bS5jcHAnLAogICAgICAg
ICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtU2NyZWVuQ2hyb21pdW0uY3BwJywKICAg
ICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybVN1cHBvcnQuaCcsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggMDdlMWI3M2FiOTgyMzJiMGY4MzQ0MTk2NDVm
MzhkNWM5NjVmYzRhYS4uN2Q3ODg4M2Y0NjI0MjI3NTA0NmMyMDUzNjA0N2JmMjJjYjA2ZTViMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMTUyNiw3ICsxNTI2LDcgQEAg
T3B0aW9uYWxDdXJzb3IgRXZlbnRIYW5kbGVyOjpzZWxlY3RDdXJzb3IoY29uc3QgTW91c2VFdmVu
dFdpdGhIaXRUZXN0UmVzdWx0cyYgZXYKICAgICB9CiAgICAgcmV0dXJuIHBvaW50ZXJDdXJzb3Io
KTsKIH0KLSAgICAKKwogc3RhdGljIExheW91dFBvaW50IGRvY3VtZW50UG9pbnRGb3JXaW5kb3dQ
b2ludChGcmFtZSogZnJhbWUsIGNvbnN0IEludFBvaW50JiB3aW5kb3dQb2ludCkKIHsKICAgICBG
cmFtZVZpZXcqIHZpZXcgPSBmcmFtZS0+dmlldygpOwpAQCAtMTg2Miw3ICsxODYyLDggQEAgYm9v
bCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlTW92ZUV2ZW50KGNvbnN0IFBsYXRmb3JtTW91c2VF
dmVudCYgbW91c2VFdmVudCwgSGkKICAgICAgICAgaWYgKEZyYW1lVmlldyogdmlldyA9IG1fZnJh
bWUtPnZpZXcoKSkgewogICAgICAgICAgICAgT3B0aW9uYWxDdXJzb3Igb3B0aW9uYWxDdXJzb3Ig
PSBzZWxlY3RDdXJzb3IobWV2LCBzY3JvbGxiYXIpOwogICAgICAgICAgICAgaWYgKG9wdGlvbmFs
Q3Vyc29yLmlzQ3Vyc29yQ2hhbmdlKCkpCi0gICAgICAgICAgICAgICAgdmlldy0+c2V0Q3Vyc29y
KG9wdGlvbmFsQ3Vyc29yLmN1cnNvcigpKTsKKyAgICAgICAgICAgICAgICBtX2N1cnJlbnRNb3Vz
ZUN1cnNvciA9IG9wdGlvbmFsQ3Vyc29yLmN1cnNvcigpOworICAgICAgICAgICAgICAgIHZpZXct
PnNldEN1cnNvcihtX2N1cnJlbnRNb3VzZUN1cnNvcik7CiAgICAgICAgIH0KICAgICB9CiAgICAg
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAppbmRleCA5M2M2YjEwZWI5ODc0NGZiZjU2N2E4
MTlmMjgxNjhmMzIyYTFjMWM4Li4yYzFiNTFlYTE4ODJjOTYwZWZhODQxYmMzMzE5YTQxZWNmNmZm
OWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNp
Zm5kZWYgRXZlbnRIYW5kbGVyX2gKICNkZWZpbmUgRXZlbnRIYW5kbGVyX2gKIAorI2luY2x1ZGUg
IkN1cnNvci5oIgogI2luY2x1ZGUgIkRyYWdBY3Rpb25zLmgiCiAjaW5jbHVkZSAiRHJhZ1N0YXRl
LmgiCiAjaW5jbHVkZSAiRm9jdXNEaXJlY3Rpb24uaCIKQEAgLTE0MSw2ICsxNDIsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCByZXNpemVMYXllckRlc3Ryb3llZCgpOwogCiAgICAgSW50UG9pbnQgY3Vy
cmVudE1vdXNlUG9zaXRpb24oKSBjb25zdDsKKyAgICBDdXJzb3IgY3VycmVudE1vdXNlQ3Vyc29y
KCkgY29uc3QgeyByZXR1cm4gbV9jdXJyZW50TW91c2VDdXJzb3I7IH0KIAogICAgIHN0YXRpYyBG
cmFtZSogc3ViZnJhbWVGb3JUYXJnZXROb2RlKE5vZGUqKTsKICAgICBzdGF0aWMgRnJhbWUqIHN1
YmZyYW1lRm9ySGl0VGVzdFJlc3VsdChjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRz
Jik7CkBAIC00MjAsNiArNDIyLDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8Tm9kZT4gbV9sYXN0
Tm9kZVVuZGVyTW91c2U7CiAgICAgUmVmUHRyPEZyYW1lPiBtX2xhc3RNb3VzZU1vdmVFdmVudFN1
YmZyYW1lOwogICAgIFJlZlB0cjxTY3JvbGxiYXI+IG1fbGFzdFNjcm9sbGJhclVuZGVyTW91c2U7
CisgICAgQ3Vyc29yIG1fY3VycmVudE1vdXNlQ3Vyc29yOwogCiAgICAgaW50IG1fY2xpY2tDb3Vu
dDsKICAgICBSZWZQdHI8Tm9kZT4gbV9jbGlja05vZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9DdXJzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0N1cnNvci5o
CmluZGV4IDNiMGU1ZmVhY2VkNDkyZDMxZDVhZTE1ZjcxOGRkNDRiOGE3ZjUyNzUuLjcyZDhjOTUx
YWMxNzE2MWViNTMyNjQ3OGFjZDE4ZDZkNjJiYWM2NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0N1cnNvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0N1cnNv
ci5oCkBAIC00MSw4ICs0MSw2IEBAIHR5cGVkZWYgSElDT04gSENVUlNPUjsKICNpbmNsdWRlICJH
UmVmUHRyR3RrLmgiCiAjZWxpZiBQTEFURk9STShRVCkKICNpbmNsdWRlIDxRQ3Vyc29yPgotI2Vs
aWYgUExBVEZPUk0oQ0hST01JVU0pCi0jaW5jbHVkZSAiUGxhdGZvcm1DdXJzb3IuaCIKICNlbGlm
IFBMQVRGT1JNKEJMQUNLQkVSUlkpCiAjaW5jbHVkZSA8QmxhY2tCZXJyeVBsYXRmb3JtQ3Vyc29y
Lmg+CiAjZW5kaWYKQEAgLTYwLDcgKzU4LDggQEAgdHlwZWRlZiBzdHJ1Y3QgSElDT05fXyAqSElD
T047CiB0eXBlZGVmIEhJQ09OIEhDVVJTT1I7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKFdJTikg
fHwgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFU
Rk9STShFRkwpCisvLyBMb29rcyBsaWtlIGl0J3MganVzdCBQTEFURk9STShXWCkgYW5kIFBMQVRG
T1JNKEJMQUNLQkVSUlkpIHN0aWxsIG5vdCB1c2luZyB0aGlzPworI2lmIFBMQVRGT1JNKFdJTikg
fHwgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFU
Rk9STShFRkwpIHx8IFBMQVRGT1JNKENIUk9NSVVNKQogI2RlZmluZSBXVEZfVVNFX0xBWllfTkFU
SVZFX0NVUlNPUiAxCiAjZW5kaWYKIApAQCAtOTAsOCArODksNiBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgdHlwZWRlZiBRQ3Vyc29yKiBQbGF0Zm9ybUN1cnNvcjsKICNlbGlmIFBMQVRGT1JN
KFdYKQogICAgIHR5cGVkZWYgd3hDdXJzb3IqIFBsYXRmb3JtQ3Vyc29yOwotI2VsaWYgUExBVEZP
Uk0oQ0hST01JVU0pCi0gICAgLy8gU2VlIFBsYXRmb3JtQ3Vyc29yLmgKICNlbGlmIFBMQVRGT1JN
KEJMQUNLQkVSUlkpCiAgICAgdHlwZWRlZiBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6QmxhY2tCZXJy
eUN1cnNvciBQbGF0Zm9ybUN1cnNvcjsKICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jaHJvbWl1bS9DdXJzb3JDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jaHJvbWl1bS9DdXJzb3JDaHJvbWl1bS5jcHAKaW5kZXggMzRkMTZkNDI2ZGE0MGYw
OTc3ZmJlMDczYTBhYWZjNGViZTA2ZjE2Zi4uOWRmN2YyM2Y2MTY3NjI3NTNmOGYwNzM4MTJlMDMz
MWVmODk2NmVjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0v
Q3Vyc29yQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L0N1cnNvckNocm9taXVtLmNwcApAQCAtMzYsMzM0ICszNiwzMCBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBDdXJzb3I6OkN1cnNvcihjb25zdCBDdXJzb3ImIG90aGVyKQotICAgIDogbV9wbGF0
Zm9ybUN1cnNvcihvdGhlci5tX3BsYXRmb3JtQ3Vyc29yKQotewotfQotCi1DdXJzb3I6OkN1cnNv
cihJbWFnZSogaW1hZ2UsIGNvbnN0IEludFBvaW50JiBob3RTcG90KQotICAgIDogbV9wbGF0Zm9y
bUN1cnNvcihpbWFnZSwgaG90U3BvdCkKLXsKLX0KLQotQ3Vyc29yOjp+Q3Vyc29yKCkKKyAgICA6
IG1fdHlwZShvdGhlci5tX3R5cGUpCisgICAgLCBtX2ltYWdlKG90aGVyLm1faW1hZ2UpCisgICAg
LCBtX2hvdFNwb3Qob3RoZXIubV9ob3RTcG90KQorICAgICwgbV9wbGF0Zm9ybUN1cnNvcihvdGhl
ci5tX3BsYXRmb3JtQ3Vyc29yKQogewogfQogCiBDdXJzb3ImIEN1cnNvcjo6b3BlcmF0b3I9KGNv
bnN0IEN1cnNvciYgb3RoZXIpCiB7CisgICAgbV90eXBlID0gb3RoZXIubV90eXBlOworICAgIG1f
aW1hZ2UgPSBvdGhlci5tX2ltYWdlOworICAgIG1faG90U3BvdCA9IG90aGVyLm1faG90U3BvdDsK
ICAgICBtX3BsYXRmb3JtQ3Vyc29yID0gb3RoZXIubV9wbGF0Zm9ybUN1cnNvcjsKICAgICByZXR1
cm4gKnRoaXM7CiB9CiAKLUN1cnNvcjo6Q3Vyc29yKFBsYXRmb3JtQ3Vyc29yIGMpCi0gICAgOiBt
X3BsYXRmb3JtQ3Vyc29yKGMpCi17Ci19Ci0KLWNvbnN0IEN1cnNvciYgcG9pbnRlckN1cnNvcigp
Ci17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6
VHlwZVBvaW50ZXIpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBjcm9zc0N1
cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1
cnNvcjo6VHlwZUNyb3NzKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgaGFu
ZEN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9y
bUN1cnNvcjo6VHlwZUhhbmQpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBp
QmVhbUN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0
Zm9ybUN1cnNvcjo6VHlwZUlCZWFtKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNv
ciYgd2FpdEN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQ
bGF0Zm9ybUN1cnNvcjo6VHlwZVdhaXQpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vy
c29yJiBoZWxwQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywg
KFBsYXRmb3JtQ3Vyc29yOjpUeXBlSGVscCkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBD
dXJzb3ImIGVhc3RSZXNpemVDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vy
c29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVFYXN0UmVzaXplKSk7Ci0gICAgcmV0dXJuIGM7
Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhSZXNpemVDdXJzb3IoKQotewotICAgIERFRklORV9T
VEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVOb3J0aFJlc2l6ZSkp
OwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIG5vcnRoRWFzdFJlc2l6ZUN1cnNv
cigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNv
cjo6VHlwZU5vcnRoRWFzdFJlc2l6ZSkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJz
b3ImIG5vcnRoV2VzdFJlc2l6ZUN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChD
dXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZU5vcnRoV2VzdFJlc2l6ZSkpOwotICAgIHJl
dHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIHNvdXRoUmVzaXplQ3Vyc29yKCkKLXsKLSAgICBE
RUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlU291dGhS
ZXNpemUpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBzb3V0aEVhc3RSZXNp
emVDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZv
cm1DdXJzb3I6OlR5cGVTb3V0aEVhc3RSZXNpemUpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29u
c3QgQ3Vyc29yJiBzb3V0aFdlc3RSZXNpemVDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNf
TE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVTb3V0aFdlc3RSZXNpemUpKTsK
LSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiB3ZXN0UmVzaXplQ3Vyc29yKCkKLXsK
LSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBl
V2VzdFJlc2l6ZSkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIG5vcnRoU291
dGhSZXNpemVDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAo
UGxhdGZvcm1DdXJzb3I6OlR5cGVOb3J0aFNvdXRoUmVzaXplKSk7Ci0gICAgcmV0dXJuIGM7Ci19
Ci0KLWNvbnN0IEN1cnNvciYgZWFzdFdlc3RSZXNpemVDdXJzb3IoKQotewotICAgIERFRklORV9T
VEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVFYXN0V2VzdFJlc2l6
ZSkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIG5vcnRoRWFzdFNvdXRoV2Vz
dFJlc2l6ZUN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQ
bGF0Zm9ybUN1cnNvcjo6VHlwZU5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZSkpOwotICAgIHJldHVy
biBjOwotfQotCi1jb25zdCBDdXJzb3ImIG5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZUN1cnNvcigp
Ci17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6
VHlwZU5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZSkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25z
dCBDdXJzb3ImIGNvbHVtblJlc2l6ZUN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NB
TChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZUNvbHVtblJlc2l6ZSkpOwotICAgIHJl
dHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIHJvd1Jlc2l6ZUN1cnNvcigpCi17Ci0gICAgREVG
SU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZVJvd1Jlc2l6
ZSkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIG1pZGRsZVBhbm5pbmdDdXJz
b3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJz
b3I6OlR5cGVNaWRkbGVQYW5uaW5nKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNv
ciYgZWFzdFBhbm5pbmdDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29y
LCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVFYXN0UGFubmluZykpOwotICAgIHJldHVybiBjOwot
fQotCi1jb25zdCBDdXJzb3ImIG5vcnRoUGFubmluZ0N1cnNvcigpCi17Ci0gICAgREVGSU5FX1NU
QVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZU5vcnRoUGFubmluZykp
OwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIG5vcnRoRWFzdFBhbm5pbmdDdXJz
b3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJz
b3I6OlR5cGVOb3J0aEVhc3RQYW5uaW5nKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1
cnNvciYgbm9ydGhXZXN0UGFubmluZ0N1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NB
TChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZU5vcnRoV2VzdFBhbm5pbmcpKTsKLSAg
ICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBzb3V0aFBhbm5pbmdDdXJzb3IoKQotewot
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVT
b3V0aFBhbm5pbmcpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBzb3V0aEVh
c3RQYW5uaW5nQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywg
KFBsYXRmb3JtQ3Vyc29yOjpUeXBlU291dGhFYXN0UGFubmluZykpOwotICAgIHJldHVybiBjOwot
fQotCi1jb25zdCBDdXJzb3ImIHNvdXRoV2VzdFBhbm5pbmdDdXJzb3IoKQotewotICAgIERFRklO
RV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVTb3V0aFdlc3RQ
YW5uaW5nKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgd2VzdFBhbm5pbmdD
dXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1D
dXJzb3I6OlR5cGVXZXN0UGFubmluZykpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJz
b3ImIG1vdmVDdXJzb3IoKSAKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywg
KFBsYXRmb3JtQ3Vyc29yOjpUeXBlTW92ZSkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBD
dXJzb3ImIHZlcnRpY2FsVGV4dEN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChD
dXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZVZlcnRpY2FsVGV4dCkpOwotICAgIHJldHVy
biBjOwotfQotCi1jb25zdCBDdXJzb3ImIGNlbGxDdXJzb3IoKQotewotICAgIERFRklORV9TVEFU
SUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVDZWxsKSk7Ci0gICAgcmV0
dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgY29udGV4dE1lbnVDdXJzb3IoKQotewotICAgIERF
RklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVDb250ZXh0
TWVudSkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIGFsaWFzQ3Vyc29yKCkK
LXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpU
eXBlQWxpYXMpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBwcm9ncmVzc0N1
cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1
cnNvcjo6VHlwZVByb2dyZXNzKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYg
bm9Ecm9wQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBs
YXRmb3JtQ3Vyc29yOjpUeXBlTm9Ecm9wKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1
cnNvciYgY29weUN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMs
IChQbGF0Zm9ybUN1cnNvcjo6VHlwZUNvcHkpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3Qg
Q3Vyc29yJiBub25lQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwg
YywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlTm9uZSkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25z
dCBDdXJzb3ImIG5vdEFsbG93ZWRDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwo
Q3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVOb3RBbGxvd2VkKSk7Ci0gICAgcmV0dXJu
IGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgem9vbUluQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlWm9vbUluKSk7Ci0gICAg
cmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgem9vbU91dEN1cnNvcigpCi17Ci0gICAgREVG
SU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZVpvb21PdXQp
KTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBncmFiQ3Vyc29yKCkKK0N1cnNv
cjo6fkN1cnNvcigpCiB7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0
Zm9ybUN1cnNvcjo6VHlwZUdyYWIpKTsKLSAgICByZXR1cm4gYzsKIH0KIAotY29uc3QgQ3Vyc29y
JiBncmFiYmluZ0N1cnNvcigpCit2b2lkIEN1cnNvcjo6ZW5zdXJlUGxhdGZvcm1DdXJzb3IoKSBj
b25zdAogewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJz
b3I6OlR5cGVHcmFiYmluZykpOwotICAgIHJldHVybiBjOworICAgIC8vIENocm9taXVtIGhhcyBu
byBQbGF0Zm9ybUN1cnNvci4KKyAgICBVTlJFQUNIQUJMRV9GT1JfUExBVEZPUk0oKTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZGVmaW5lIENPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oY3Vyc29yX25hbWUsIHBsYXRmb3JtX2N1cnNvcl9uYW1lKSBcCi0gICAgQ09NUElMRV9B
U1NFUlQoaW50KFdlYkNvcmU6OkN1cnNvcjo6Y3Vyc29yX25hbWUpID09IGludChXZWJDb3JlOjpQ
bGF0Zm9ybUN1cnNvcjo6cGxhdGZvcm1fY3Vyc29yX25hbWUpLCBtaXNtYXRjaGluZ19lbnVtcykK
LQotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShQb2ludGVyLCBUeXBlUG9pbnRlcik7Ci1D
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKENyb3NzLCBUeXBlQ3Jvc3MpOwotQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShIYW5kLCBUeXBlSGFuZCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKElCZWFtLCBUeXBlSUJlYW0pOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShXYWl0LCBUeXBlV2FpdCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEhlbHAsIFR5
cGVIZWxwKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRWFzdFJlc2l6ZSwgVHlwZUVh
c3RSZXNpemUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShOb3J0aFJlc2l6ZSwgVHlw
ZU5vcnRoUmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTm9ydGhFYXN0UmVz
aXplLCBUeXBlTm9ydGhFYXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
Tm9ydGhXZXN0UmVzaXplLCBUeXBlTm9ydGhXZXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oU291dGhSZXNpemUsIFR5cGVTb3V0aFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKFNvdXRoRWFzdFJlc2l6ZSwgVHlwZVNvdXRoRWFzdFJlc2l6ZSk7Ci1D
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFNvdXRoV2VzdFJlc2l6ZSwgVHlwZVNvdXRoV2Vz
dFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlc3RSZXNpemUsIFR5cGVX
ZXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTm9ydGhTb3V0aFJlc2l6
ZSwgVHlwZU5vcnRoU291dGhSZXNpemUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
YXN0V2VzdFJlc2l6ZSwgVHlwZUVhc3RXZXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oTm9ydGhFYXN0U291dGhXZXN0UmVzaXplLCBUeXBlTm9ydGhFYXN0U291dGhXZXN0
UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTm9ydGhXZXN0U291dGhFYXN0
UmVzaXplLCBUeXBlTm9ydGhXZXN0U291dGhFYXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oQ29sdW1uUmVzaXplLCBUeXBlQ29sdW1uUmVzaXplKTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oUm93UmVzaXplLCBUeXBlUm93UmVzaXplKTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oTWlkZGxlUGFubmluZywgVHlwZU1pZGRsZVBhbm5pbmcpOwotQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFYXN0UGFubmluZywgVHlwZUVhc3RQYW5uaW5nKTsK
LUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTm9ydGhQYW5uaW5nLCBUeXBlTm9ydGhQYW5u
aW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTm9ydGhFYXN0UGFubmluZywgVHlw
ZU5vcnRoRWFzdFBhbm5pbmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShOb3J0aFdl
c3RQYW5uaW5nLCBUeXBlTm9ydGhXZXN0UGFubmluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKFNvdXRoUGFubmluZywgVHlwZVNvdXRoUGFubmluZyk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKFNvdXRoRWFzdFBhbm5pbmcsIFR5cGVTb3V0aEVhc3RQYW5uaW5nKTsKLUNP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oU291dGhXZXN0UGFubmluZywgVHlwZVNvdXRoV2Vz
dFBhbm5pbmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZXN0UGFubmluZywgVHlw
ZVdlc3RQYW5uaW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTW92ZSwgVHlwZU1v
dmUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShWZXJ0aWNhbFRleHQsIFR5cGVWZXJ0
aWNhbFRleHQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShDZWxsLCBUeXBlQ2VsbCk7
Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKENvbnRleHRNZW51LCBUeXBlQ29udGV4dE1l
bnUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShBbGlhcywgVHlwZUFsaWFzKTsKLUNP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oUHJvZ3Jlc3MsIFR5cGVQcm9ncmVzcyk7Ci1DT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKE5vRHJvcCwgVHlwZU5vRHJvcCk7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKENvcHksIFR5cGVDb3B5KTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oTm9uZSwgVHlwZU5vbmUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShO
b3RBbGxvd2VkLCBUeXBlTm90QWxsb3dlZCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KFpvb21JbiwgVHlwZVpvb21Jbik7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFpvb21P
dXQsIFR5cGVab29tT3V0KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oR3JhYiwgVHlw
ZUdyYWIpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShHcmFiYmluZywgVHlwZUdyYWJi
aW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oQ3VzdG9tLCBUeXBlQ3VzdG9tKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtQ3Vy
c29yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybUN1cnNvci5o
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZDFlYmJkMDY1MGQ2OGYyMmE3NTc1OTM0
NGY0ZjRkMjExMGFiZWVlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtQ3Vyc29yLmgK
KysrIC9kZXYvbnVsbApAQCAtMSwxMTEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoYykgMjAw
OCwgMjAwOSwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIAotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKiAKLSAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24u
Ci0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqIAotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFBsYXRmb3Jt
Q3Vyc29yX2gKLSNkZWZpbmUgUGxhdGZvcm1DdXJzb3JfaAotCi0jaW5jbHVkZSAiSW1hZ2UuaCIK
LSNpbmNsdWRlICJJbnRQb2ludC5oIgotI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KLQotbmFtZXNw
YWNlIFdlYkNvcmUgewotCi0gICAgY2xhc3MgUGxhdGZvcm1DdXJzb3IgewotICAgIHB1YmxpYzoK
LSAgICAgICAgZW51bSBUeXBlIHsKLSAgICAgICAgICAgIFR5cGVQb2ludGVyLAotICAgICAgICAg
ICAgVHlwZUNyb3NzLAotICAgICAgICAgICAgVHlwZUhhbmQsCi0gICAgICAgICAgICBUeXBlSUJl
YW0sCi0gICAgICAgICAgICBUeXBlV2FpdCwKLSAgICAgICAgICAgIFR5cGVIZWxwLAotICAgICAg
ICAgICAgVHlwZUVhc3RSZXNpemUsCi0gICAgICAgICAgICBUeXBlTm9ydGhSZXNpemUsCi0gICAg
ICAgICAgICBUeXBlTm9ydGhFYXN0UmVzaXplLAotICAgICAgICAgICAgVHlwZU5vcnRoV2VzdFJl
c2l6ZSwKLSAgICAgICAgICAgIFR5cGVTb3V0aFJlc2l6ZSwKLSAgICAgICAgICAgIFR5cGVTb3V0
aEVhc3RSZXNpemUsCi0gICAgICAgICAgICBUeXBlU291dGhXZXN0UmVzaXplLAotICAgICAgICAg
ICAgVHlwZVdlc3RSZXNpemUsCi0gICAgICAgICAgICBUeXBlTm9ydGhTb3V0aFJlc2l6ZSwKLSAg
ICAgICAgICAgIFR5cGVFYXN0V2VzdFJlc2l6ZSwKLSAgICAgICAgICAgIFR5cGVOb3J0aEVhc3RT
b3V0aFdlc3RSZXNpemUsCi0gICAgICAgICAgICBUeXBlTm9ydGhXZXN0U291dGhFYXN0UmVzaXpl
LAotICAgICAgICAgICAgVHlwZUNvbHVtblJlc2l6ZSwKLSAgICAgICAgICAgIFR5cGVSb3dSZXNp
emUsCi0gICAgICAgICAgICBUeXBlTWlkZGxlUGFubmluZywKLSAgICAgICAgICAgIFR5cGVFYXN0
UGFubmluZywKLSAgICAgICAgICAgIFR5cGVOb3J0aFBhbm5pbmcsCi0gICAgICAgICAgICBUeXBl
Tm9ydGhFYXN0UGFubmluZywKLSAgICAgICAgICAgIFR5cGVOb3J0aFdlc3RQYW5uaW5nLAotICAg
ICAgICAgICAgVHlwZVNvdXRoUGFubmluZywKLSAgICAgICAgICAgIFR5cGVTb3V0aEVhc3RQYW5u
aW5nLAotICAgICAgICAgICAgVHlwZVNvdXRoV2VzdFBhbm5pbmcsCi0gICAgICAgICAgICBUeXBl
V2VzdFBhbm5pbmcsCi0gICAgICAgICAgICBUeXBlTW92ZSwKLSAgICAgICAgICAgIFR5cGVWZXJ0
aWNhbFRleHQsCi0gICAgICAgICAgICBUeXBlQ2VsbCwKLSAgICAgICAgICAgIFR5cGVDb250ZXh0
TWVudSwKLSAgICAgICAgICAgIFR5cGVBbGlhcywKLSAgICAgICAgICAgIFR5cGVQcm9ncmVzcywK
LSAgICAgICAgICAgIFR5cGVOb0Ryb3AsCi0gICAgICAgICAgICBUeXBlQ29weSwKLSAgICAgICAg
ICAgIFR5cGVOb25lLAotICAgICAgICAgICAgVHlwZU5vdEFsbG93ZWQsCi0gICAgICAgICAgICBU
eXBlWm9vbUluLAotICAgICAgICAgICAgVHlwZVpvb21PdXQsCi0gICAgICAgICAgICBUeXBlR3Jh
YiwKLSAgICAgICAgICAgIFR5cGVHcmFiYmluZywKLSAgICAgICAgICAgIFR5cGVDdXN0b20KLSAg
ICAgICAgfTsKLQotICAgICAgICAvLyBDdXJzb3IuaCBhc3N1bWVzIHRoYXQgaXQgY2FuIGluaXRp
YWxpemUgdXMgdG8gMC4KLSAgICAgICAgZXhwbGljaXQgUGxhdGZvcm1DdXJzb3IoaW50IHR5cGUg
PSAwKSA6IG1fdHlwZShUeXBlUG9pbnRlcikge30KLSAgICAgICAgCi0gICAgICAgIFBsYXRmb3Jt
Q3Vyc29yKFR5cGUgdHlwZSkgOiBtX3R5cGUodHlwZSkge30KLQotICAgICAgICBQbGF0Zm9ybUN1
cnNvcihJbWFnZSogaW1hZ2UsIGNvbnN0IEludFBvaW50JiBob3RTcG90KQotICAgICAgICAgICAg
OiBtX2ltYWdlKGltYWdlKQotICAgICAgICAgICAgLCBtX2hvdFNwb3QoaG90U3BvdCkKLSAgICAg
ICAgICAgICwgbV90eXBlKFR5cGVDdXN0b20pIHt9Ci0KLSAgICAgICAgUGFzc1JlZlB0cjxJbWFn
ZT4gY3VzdG9tSW1hZ2UoKSBjb25zdCB7IHJldHVybiBtX2ltYWdlOyB9Ci0gICAgICAgIGNvbnN0
IEludFBvaW50JiBob3RTcG90KCkgY29uc3QgeyByZXR1cm4gbV9ob3RTcG90OyB9Ci0gICAgICAg
IFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQotCi0gICAgcHJpdmF0ZToKLSAg
ICAgICAgUmVmUHRyPEltYWdlPiBtX2ltYWdlOwotICAgICAgICBJbnRQb2ludCBtX2hvdFNwb3Q7
Ci0gICAgICAgIFR5cGUgbV90eXBlOwotICAgIH07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
LQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
bWFnZVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNv
dXJjZS5jcHAKaW5kZXggNTY4NTdhNDNmNTQ4NDIzZThiZDkyZDMyMmQ5NmQ4MTBjMmJiNjc5YS4u
MGY0NmQ3MDNjN2E4YzZkYmRiZDJkODk2NTAyMTFjMzQzZWYwYjBjZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmNwcApAQCAtMTIxLDkgKzEy
MSw5IEBAIEludFNpemUgSW1hZ2VTb3VyY2U6OmZyYW1lU2l6ZUF0SW5kZXgoc2l6ZV90IGluZGV4
LCBSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbkVudW0KICAgICByZXR1cm4gc2l6ZTsKIH0KIAotYm9v
bCBJbWFnZVNvdXJjZTo6Z2V0SG90U3BvdChJbnRQb2ludCYpIGNvbnN0Citib29sIEltYWdlU291
cmNlOjpnZXRIb3RTcG90KEludFBvaW50JiBob3RTcG90KSBjb25zdAogewotICAgIHJldHVybiBm
YWxzZTsKKyAgICByZXR1cm4gbV9kZWNvZGVyID8gbV9kZWNvZGVyLT5ob3RTcG90KGhvdFNwb3Qp
IDogZmFsc2U7CiB9CiAKIHNpemVfdCBJbWFnZVNvdXJjZTo6Ynl0ZXNEZWNvZGVkVG9EZXRlcm1p
bmVQcm9wZXJ0aWVzKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0RlZmVycmVkSW1hZ2VEZWNvZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0RlZmVycmVkSW1hZ2VEZWNvZGVyLmNwcApp
bmRleCA4NjNjYTEyN2UwMjlkYjI2ZTIwZWQ4ZWM2NzQ3ZmY5NTcxZjIxN2JkLi4xZDhiYjgyM2Iw
YjcxM2Q3Y2QyMDNhNDdkYTU5YzZiYWFlNTVlNWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVjb2Rlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJbWFn
ZURlY29kZXIuY3BwCkBAIC0xNTgsNCArMTU4LDE0IEBAIEltYWdlT3JpZW50YXRpb24gRGVmZXJy
ZWRJbWFnZURlY29kZXI6Om9yaWVudGF0aW9uKCkgY29uc3QKICAgICByZXR1cm4gbV9hY3R1YWxE
ZWNvZGVyID8gbV9hY3R1YWxEZWNvZGVyLT5vcmllbnRhdGlvbigpIDogbV9vcmllbnRhdGlvbjsK
IH0KIAorYm9vbCBEZWZlcnJlZEltYWdlRGVjb2Rlcjo6aG90U3BvdChJbnRQb2ludCYgaG90U3Bv
dCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9hY3R1YWxEZWNvZGVyID8gbV9hY3R1YWxEZWNvZGVy
LT5ob3RTcG90KGhvdFNwb3QpIDogZmFsc2U7Cit9CisKK2Jvb2wgRGVmZXJyZWRJbWFnZURlY29k
ZXI6OmhvdFNwb3RBdEluZGV4KHNpemVfdCBpbmRleCwgSW50UG9pbnQmIGhvdFNwb3QpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG1fYWN0dWFsRGVjb2RlciA/IG1fYWN0dWFsRGVjb2Rlci0+aG90U3Bv
dEF0SW5kZXgoaW5kZXgsIGhvdFNwb3QpIDogZmFsc2U7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0RlZmVycmVkSW1hZ2VEZWNvZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVjb2Rlci5oCmluZGV4IDYwZDhjYzEwODg5OTYy
OTZiY2MwZDUwNTI4YmEzNjMwMTNkNGNkODguLjcxY2ZhNTc3MDI2NGNkNDE1YzkyMGI3MDYyMGZi
YTlkNWE2M2ZkYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0RlZmVycmVkSW1hZ2VEZWNvZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuaApAQCAtNTcsNiAr
NTcsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBmcmFtZUhhc0FscGhhQXRJbmRleChzaXplX3QgaW5k
ZXgpIGNvbnN0OwogICAgIHVuc2lnbmVkIGZyYW1lQnl0ZXNBdEluZGV4KHNpemVfdCBpbmRleCkg
Y29uc3Q7CiAgICAgSW1hZ2VPcmllbnRhdGlvbiBvcmllbnRhdGlvbigpIGNvbnN0OworICAgIGJv
b2wgaG90U3BvdChJbnRQb2ludCYpIGNvbnN0OworICAgIGJvb2wgaG90U3BvdEF0SW5kZXgoc2l6
ZV90LCBJbnRQb2ludCYpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IERlZmVycmVk
SW1hZ2VEZWNvZGVyKEltYWdlRGVjb2RlciogYWN0dWFsRGVjb2Rlcik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oCmluZGV4
IDhjMGRiMzkyOWY1NDIwOGI0N2ZhMzYzODI3MzZiZmIzMTU2NDdmNTcuLjFjZjdmYTgzOTVjMjZh
ZTA1ZGRmZjMxNTRjN2I2ZjBjYWEyM2Y1MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oCkBAIC0zNzgsNiArMzc4LDkg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHZpcnR1YWwgdm9pZCByZXBvcnRNZW1v
cnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7CiAKKyAgICAgICAgdmlydHVhbCBib29s
IGhvdFNwb3QoSW50UG9pbnQmKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorICAgICAgICB2aXJ0
dWFsIGJvb2wgaG90U3BvdEF0SW5kZXgoc2l6ZV90LCBJbnRQb2ludCYpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CisKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIHZvaWQgcHJlcGFyZVNjYWxlRGF0
YUlmTmVjZXNzYXJ5KCk7CiAgICAgICAgIGludCB1cHBlckJvdW5kU2NhbGVkWChpbnQgb3JpZ1gs
IGludCBzZWFyY2hTdGFydCA9IDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcAppbmRleCAy
ZGIzZWNmNmNlN2ZjYzczMmNlMjQzNWRkZTRkYzk3OThjNjg2MzA4Li5kNjc1YmU2ODUyYjgwOWQ2
ZWFjOTk5OTBiNTQ1YWVhYWFiMDI3Y2ZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcApA
QCAtMTMzLDYgKzEzMywyNCBAQCBib29sIElDT0ltYWdlRGVjb2Rlcjo6c2V0RmFpbGVkKCkKICAg
ICByZXR1cm4gSW1hZ2VEZWNvZGVyOjpzZXRGYWlsZWQoKTsKIH0KIAorYm9vbCBJQ09JbWFnZURl
Y29kZXI6OmhvdFNwb3QoSW50UG9pbnQmIGhvdFNwb3QpIGNvbnN0Cit7CisgICAgLy8gV2hlbiB1
bnNwZWNpZmllZCwgdXNlIHRoZSBsYXJnZXN0IGZyYW1lIHRvIGJlIGNvbnNpc3RlbnQgd2l0aCB0
aGUgc2l6ZQorICAgIC8vIGluIHByb2Nlc3NEaXJlY3RvcnlFbnRyaWVzLgorICAgIHJldHVybiBo
b3RTcG90QXRJbmRleCgwLCBob3RTcG90KTsKK30KKworYm9vbCBJQ09JbWFnZURlY29kZXI6Omhv
dFNwb3RBdEluZGV4KHNpemVfdCBpbmRleCwgSW50UG9pbnQmIGhvdFNwb3QpIGNvbnN0Cit7Cisg
ICAgaWYgKGluZGV4ID49IG1fZGlyRW50cmllcy5zaXplKCkgfHwgbV9maWxlVHlwZSAhPSBDVVJT
T1IpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGNvbnN0IEljb25EaXJlY3RvcnlFbnRy
eSYgZGlyRW50cnkgPSBtX2RpckVudHJpZXNbaW5kZXhdOworICAgIGhvdFNwb3QgPSBJbnRQb2lu
dChkaXJFbnRyeS5tX2hvdFNwb3RYLCBkaXJFbnRyeS5tX2hvdFNwb3RZKTsKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKworCiAvLyBzdGF0aWMKIGJvb2wgSUNPSW1hZ2VEZWNvZGVyOjpjb21wYXJlRW50
cmllcyhjb25zdCBJY29uRGlyZWN0b3J5RW50cnkmIGEsIGNvbnN0IEljb25EaXJlY3RvcnlFbnRy
eSYgYikKIHsKQEAgLTIzMiwxMyArMjUwLDExIEBAIGJvb2wgSUNPSW1hZ2VEZWNvZGVyOjpwcm9j
ZXNzRGlyZWN0b3J5KCkKIAogICAgIC8vIFNlZSBpZiB0aGlzIGlzIGFuIGljb24gZmlsZXR5cGUg
d2UgdW5kZXJzdGFuZCwgYW5kIG1ha2Ugc3VyZSB3ZSBoYXZlIGF0CiAgICAgLy8gbGVhc3Qgb25l
IGVudHJ5IGluIHRoZSBkaXJlY3RvcnkuCi0gICAgZW51bSB7Ci0gICAgICAgIElDT04gPSAxLAot
ICAgICAgICBDVVJTT1IgPSAyLAotICAgIH07CiAgICAgaWYgKCgoZmlsZVR5cGUgIT0gSUNPTikg
JiYgKGZpbGVUeXBlICE9IENVUlNPUikpIHx8ICghaWRDb3VudCkpCiAgICAgICAgIHJldHVybiBz
ZXRGYWlsZWQoKTsKIAorICAgIG1fZmlsZVR5cGUgPSBzdGF0aWNfY2FzdDxGaWxlVHlwZT4oZmls
ZVR5cGUpOworCiAgICAgLy8gRW5sYXJnZSBtZW1iZXIgdmVjdG9ycyB0byBob2xkIGFsbCB0aGUg
ZW50cmllcy4KICAgICBtX2RpckVudHJpZXMucmVzaXplKGlkQ291bnQpOwogICAgIG1fYm1wUmVh
ZGVycy5yZXNpemUoaWRDb3VudCk7CkBAIC0yODcsNyArMzAzLDE1IEBAIElDT0ltYWdlRGVjb2Rl
cjo6SWNvbkRpcmVjdG9yeUVudHJ5IElDT0ltYWdlRGVjb2Rlcjo6cmVhZERpcmVjdG9yeUVudHJ5
KCkKICAgICAgICAgaGVpZ2h0ID0gMjU2OwogICAgIEljb25EaXJlY3RvcnlFbnRyeSBlbnRyeTsK
ICAgICBlbnRyeS5tX3NpemUgPSBJbnRTaXplKHdpZHRoLCBoZWlnaHQpOwotICAgIGVudHJ5Lm1f
Yml0Q291bnQgPSByZWFkVWludDE2KDYpOworICAgIGlmIChtX2ZpbGVUeXBlID09IENVUlNPUikg
eworICAgICAgICBlbnRyeS5tX2JpdENvdW50ID0gMDsKKyAgICAgICAgZW50cnkubV9ob3RTcG90
WCA9IHJlYWRVaW50MTYoNCk7CisgICAgICAgIGVudHJ5Lm1faG90U3BvdFkgPSByZWFkVWludDE2
KDYpOworICAgIH0gZWxzZSB7CisgICAgICAgIGVudHJ5Lm1fYml0Q291bnQgPSByZWFkVWludDE2
KDYpOworICAgICAgICBlbnRyeS5tX2hvdFNwb3RYID0gMDsKKyAgICAgICAgZW50cnkubV9ob3RT
cG90WSA9IDA7CisgICAgfQogICAgIGVudHJ5Lm1faW1hZ2VPZmZzZXQgPSByZWFkVWludDMyKDEy
KTsKIAogICAgIC8vIFNvbWUgaWNvbnMgZG9uJ3QgaGF2ZSBhIGJpdCBkZXB0aCwgb25seSBhIGNv
bG9yIGNvdW50LiAgQ29udmVydCB0aGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuaAppbmRleCAzMWQ5
MWM4MTkwMmZiMGQyYzY5ZGMwYTM2MThjYmRjNTRiZjZiNzEzLi4wZGViYWQwMTc3YWE0OTMxN2Iy
ZDlhZjI0NTM3ZTA1NjkwZDkxNmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5oCkBAIC01Niw2
ICs1Niw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gYXZvaWQgYWNjZXNzaW5n
IGRlbGV0ZWQgbWVtb3J5LCBlc3BlY2lhbGx5IHdoZW4gY2FsbGluZyB0aGlzIGZyb20KICAgICAg
ICAgLy8gaW5zaWRlIEJNUEltYWdlUmVhZGVyIQogICAgICAgICB2aXJ0dWFsIGJvb2wgc2V0RmFp
bGVkKCk7CisgICAgICAgIHZpcnR1YWwgYm9vbCBob3RTcG90KEludFBvaW50JikgY29uc3Q7Cisg
ICAgICAgIHZpcnR1YWwgYm9vbCBob3RTcG90QXRJbmRleChzaXplX3QsIEludFBvaW50JikgY29u
c3Q7CiAKICAgICBwcml2YXRlOgogICAgICAgICBlbnVtIEltYWdlVHlwZSB7CkBAIC02NCw5ICs2
NiwxNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBQTkcsCiAgICAgICAgIH07
CiAKKyAgICAgICAgZW51bSBGaWxlVHlwZSB7CisgICAgICAgICAgICBJQ09OID0gMSwKKyAgICAg
ICAgICAgIENVUlNPUiA9IDIsCisgICAgICAgIH07CisKICAgICAgICAgc3RydWN0IEljb25EaXJl
Y3RvcnlFbnRyeSB7CiAgICAgICAgICAgICBJbnRTaXplIG1fc2l6ZTsKICAgICAgICAgICAgIHVp
bnQxNl90IG1fYml0Q291bnQ7CisgICAgICAgICAgICB1aW50MTZfdCBtX2hvdFNwb3RYOworICAg
ICAgICAgICAgdWludDE2X3QgbV9ob3RTcG90WTsKICAgICAgICAgICAgIHVpbnQzMl90IG1faW1h
Z2VPZmZzZXQ7CiAgICAgICAgIH07CiAKQEAgLTEyMiw2ICsxMzEsOSBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIC8vIEJNUEltYWdlUmVhZGVyIHRha2VzIG92ZXIgdGhpcyB3aWxsIG5v
dCBiZSB1cGRhdGVkIGZ1cnRoZXIuCiAgICAgICAgIHNpemVfdCBtX2RlY29kZWRPZmZzZXQ7CiAK
KyAgICAgICAgLy8gV2hpY2ggdHlwZSBvZiBmaWxlIChJQ08vQ1VSKSB0aGlzIGlzLgorICAgICAg
ICBGaWxlVHlwZSBtX2ZpbGVUeXBlOworCiAgICAgICAgIC8vIFRoZSBoZWFkZXJzIGZvciB0aGUg
SUNPLgogICAgICAgICB0eXBlZGVmIFZlY3RvcjxJY29uRGlyZWN0b3J5RW50cnk+IEljb25EaXJl
Y3RvcnlFbnRyaWVzOwogICAgICAgICBJY29uRGlyZWN0b3J5RW50cmllcyBtX2RpckVudHJpZXM7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggZTRkMzA4NDEwYTA2MzM2OGZj
ZWM2MGMyZGVjMzkyYmY3ZTJlOWRhNy4uNzkwMWI2MzBlMzk4NTJlZjg2YzkwYzNmZmQ5YWVjNmI4
ZGQ0NDFlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMzEsNiArMzEs
NyBAQAogI2luY2x1ZGUgIkNsaWVudFJlY3QuaCIKICNpbmNsdWRlICJDbGllbnRSZWN0TGlzdC5o
IgogI2luY2x1ZGUgIkNvbXBvc2VkU2hhZG93VHJlZVdhbGtlci5oIgorI2luY2x1ZGUgIkN1cnNv
ci5oIgogI2luY2x1ZGUgIkRPTVN0cmluZ0xpc3QuaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIK
ICNpbmNsdWRlICJEb2N1bWVudC5oIgpAQCAtMzgsNiArMzksNyBAQAogI2luY2x1ZGUgIkRvY3Vt
ZW50TWFya2VyQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJF
bGVtZW50U2hhZG93LmgiCisjaW5jbHVkZSAiRXZlbnRIYW5kbGVyLmgiCiAjaW5jbHVkZSAiRXhj
ZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIkZvcm1Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRnJh
bWUuaCIKQEAgLTc0LDYgKzc2LDggQEAKICNpbmNsdWRlICJUZXh0SXRlcmF0b3IuaCIKICNpbmNs
dWRlICJUcmVlU2NvcGUuaCIKICNpbmNsdWRlICJWaWV3cG9ydEFyZ3VtZW50cy5oIgorI2luY2x1
ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oPgorCiAKICNpZiBFTkFCTEUoSU5QVVRfVFlQRV9D
T0xPUikKICNpbmNsdWRlICJDb2xvckNob29zZXIuaCIKQEAgLTkzLDcgKzk3LDYgQEAKICNlbmRp
ZgogCiAjaWYgRU5BQkxFKFRPVUNIX0FESlVTVE1FTlQpCi0jaW5jbHVkZSAiRXZlbnRIYW5kbGVy
LmgiCiAjaW5jbHVkZSAiV2ViS2l0UG9pbnQuaCIKICNlbmRpZgogCkBAIC0xNDc3LDQgKzE0ODAs
ODkgQEAgdm9pZCBJbnRlcm5hbHM6OnN0b3BUcmFja2luZ1JlcGFpbnRzKERvY3VtZW50KiBkb2N1
bWVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCiAgICAgZnJhbWVWaWV3LT5zZXRUcmFja3NSZXBhaW50
cyhmYWxzZSk7CiB9CiAKKyNpZiBVU0UoTEFaWV9OQVRJVkVfQ1VSU09SKQorc3RhdGljIGNvbnN0
IGNoYXIqIGN1cnNvclR5cGVUb1N0cmluZyhDdXJzb3I6OlR5cGUgY3Vyc29yVHlwZSkKK3sKKyAg
ICBzd2l0Y2ggKGN1cnNvclR5cGUpIHsKKyAgICBjYXNlIEN1cnNvcjo6UG9pbnRlcjogcmV0dXJu
ICJUeXBlUG9pbnRlciI7CisgICAgY2FzZSBDdXJzb3I6OkNyb3NzOiByZXR1cm4gIlR5cGVDcm9z
cyI7CisgICAgY2FzZSBDdXJzb3I6OkhhbmQ6IHJldHVybiAiVHlwZUhhbmQiOworICAgIGNhc2Ug
Q3Vyc29yOjpJQmVhbTogcmV0dXJuICJUeXBlSUJlYW0iOworICAgIGNhc2UgQ3Vyc29yOjpXYWl0
OiByZXR1cm4gIlR5cGVXYWl0IjsKKyAgICBjYXNlIEN1cnNvcjo6SGVscDogcmV0dXJuICJUeXBl
SGVscCI7CisgICAgY2FzZSBDdXJzb3I6OkVhc3RSZXNpemU6IHJldHVybiAiVHlwZUVhc3RSZXNp
emUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aFJlc2l6ZTogcmV0dXJuICJUeXBlTm9ydGhSZXNp
emUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aEVhc3RSZXNpemU6IHJldHVybiAiVHlwZU5vcnRo
RWFzdFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6Ok5vcnRoV2VzdFJlc2l6ZTogcmV0dXJuICJU
eXBlTm9ydGhXZXN0UmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6U291dGhSZXNpemU6IHJldHVy
biAiVHlwZVNvdXRoUmVzaXplIjsKKyAgICBjYXNlIEN1cnNvcjo6U291dGhFYXN0UmVzaXplOiBy
ZXR1cm4gIlR5cGVTb3V0aEVhc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpTb3V0aFdlc3RS
ZXNpemU6IHJldHVybiAiVHlwZVNvdXRoV2VzdFJlc2l6ZSI7CisgICAgY2FzZSBDdXJzb3I6Oldl
c3RSZXNpemU6IHJldHVybiAiVHlwZVdlc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3J0
aFNvdXRoUmVzaXplOiByZXR1cm4gIlR5cGVOb3J0aFNvdXRoUmVzaXplIjsKKyAgICBjYXNlIEN1
cnNvcjo6RWFzdFdlc3RSZXNpemU6IHJldHVybiAiVHlwZUVhc3RXZXN0UmVzaXplIjsKKyAgICBj
YXNlIEN1cnNvcjo6Tm9ydGhFYXN0U291dGhXZXN0UmVzaXplOiByZXR1cm4gIlR5cGVOb3J0aEVh
c3RTb3V0aFdlc3RSZXNpemUiOworICAgIGNhc2UgQ3Vyc29yOjpOb3J0aFdlc3RTb3V0aEVhc3RS
ZXNpemU6IHJldHVybiAiVHlwZU5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZSI7CisgICAgY2FzZSBD
dXJzb3I6OkNvbHVtblJlc2l6ZTogcmV0dXJuICJUeXBlQ29sdW1uUmVzaXplIjsKKyAgICBjYXNl
IEN1cnNvcjo6Um93UmVzaXplOiByZXR1cm4gIlR5cGVSb3dSZXNpemUiOworICAgIGNhc2UgQ3Vy
c29yOjpNaWRkbGVQYW5uaW5nOiByZXR1cm4gIlR5cGVNaWRkbGVQYW5uaW5nIjsKKyAgICBjYXNl
IEN1cnNvcjo6RWFzdFBhbm5pbmc6IHJldHVybiAiVHlwZUVhc3RQYW5uaW5nIjsKKyAgICBjYXNl
IEN1cnNvcjo6Tm9ydGhQYW5uaW5nOiByZXR1cm4gIlR5cGVOb3J0aFBhbm5pbmciOworICAgIGNh
c2UgQ3Vyc29yOjpOb3J0aEVhc3RQYW5uaW5nOiByZXR1cm4gIlR5cGVOb3J0aEVhc3RQYW5uaW5n
IjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9ydGhXZXN0UGFubmluZzogcmV0dXJuICJUeXBlTm9ydGhX
ZXN0UGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6OlNvdXRoUGFubmluZzogcmV0dXJuICJUeXBl
U291dGhQYW5uaW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6U291dGhFYXN0UGFubmluZzogcmV0dXJu
ICJUeXBlU291dGhFYXN0UGFubmluZyI7CisgICAgY2FzZSBDdXJzb3I6OlNvdXRoV2VzdFBhbm5p
bmc6IHJldHVybiAiVHlwZVNvdXRoV2VzdFBhbm5pbmciOworICAgIGNhc2UgQ3Vyc29yOjpXZXN0
UGFubmluZzogcmV0dXJuICJUeXBlV2VzdFBhbm5pbmciOworICAgIGNhc2UgQ3Vyc29yOjpNb3Zl
OiByZXR1cm4gIlR5cGVNb3ZlIjsKKyAgICBjYXNlIEN1cnNvcjo6VmVydGljYWxUZXh0OiByZXR1
cm4gIlR5cGVWZXJ0aWNhbFRleHQiOworICAgIGNhc2UgQ3Vyc29yOjpDZWxsOiByZXR1cm4gIlR5
cGVDZWxsIjsKKyAgICBjYXNlIEN1cnNvcjo6Q29udGV4dE1lbnU6IHJldHVybiAiVHlwZUNvbnRl
eHRNZW51IjsKKyAgICBjYXNlIEN1cnNvcjo6QWxpYXM6IHJldHVybiAiVHlwZUFsaWFzIjsKKyAg
ICBjYXNlIEN1cnNvcjo6UHJvZ3Jlc3M6IHJldHVybiAiVHlwZVByb2dyZXNzIjsKKyAgICBjYXNl
IEN1cnNvcjo6Tm9Ecm9wOiByZXR1cm4gIlR5cGVOb0Ryb3AiOworICAgIGNhc2UgQ3Vyc29yOjpD
b3B5OiByZXR1cm4gIlR5cGVDb3B5IjsKKyAgICBjYXNlIEN1cnNvcjo6Tm9uZTogcmV0dXJuICJU
eXBlTm9uZSI7CisgICAgY2FzZSBDdXJzb3I6Ok5vdEFsbG93ZWQ6IHJldHVybiAiVHlwZU5vdEFs
bG93ZWQiOworICAgIGNhc2UgQ3Vyc29yOjpab29tSW46IHJldHVybiAiVHlwZVpvb21JbiI7Cisg
ICAgY2FzZSBDdXJzb3I6Olpvb21PdXQ6IHJldHVybiAiVHlwZVpvb21PdXQiOworICAgIGNhc2Ug
Q3Vyc29yOjpHcmFiOiByZXR1cm4gIlR5cGVHcmFiIjsKKyAgICBjYXNlIEN1cnNvcjo6R3JhYmJp
bmc6IHJldHVybiAiVHlwZUdyYWJiaW5nIjsKKyAgICBjYXNlIEN1cnNvcjo6Q3VzdG9tOiByZXR1
cm4gIlR5cGVDdXN0b20iOworICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
IHJldHVybiAiVU5LTk9XTiI7Cit9CisjZW5kaWYKKworU3RyaW5nIEludGVybmFsczo6Z2V0Q3Vy
cmVudEN1cnNvckluZm8oRG9jdW1lbnQqIGRvY3VtZW50LCBFeGNlcHRpb25Db2RlJiBlYykKK3sK
KyAgICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC0+ZnJhbWUoKSkgeworICAgICAgICBlYyA9
IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIH0KKwor
ICAgIEN1cnNvciBjdXJzb3IgPSBkb2N1bWVudC0+ZnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPmN1
cnJlbnRNb3VzZUN1cnNvcigpOworCisjaWYgVVNFKExBWllfTkFUSVZFX0NVUlNPUikKKyAgICBT
dHJpbmdCdWlsZGVyIHJlc3VsdDsKKyAgICByZXN1bHQuYXBwZW5kKCJ0eXBlPSIpOworICAgIHJl
c3VsdC5hcHBlbmQoY3Vyc29yVHlwZVRvU3RyaW5nKGN1cnNvci50eXBlKCkpKTsKKyAgICByZXN1
bHQuYXBwZW5kKCIgaG90U3BvdD0iKTsKKyAgICByZXN1bHQuYXBwZW5kTnVtYmVyKGN1cnNvci5o
b3RTcG90KCkueCgpKTsKKyAgICByZXN1bHQuYXBwZW5kKCIsIik7CisgICAgcmVzdWx0LmFwcGVu
ZE51bWJlcihjdXJzb3IuaG90U3BvdCgpLnkoKSk7CisgICAgaWYgKGN1cnNvci5pbWFnZSgpKSB7
CisgICAgICAgIEludFNpemUgc2l6ZSA9IGN1cnNvci5pbWFnZSgpLT5zaXplKCk7CisgICAgICAg
IHJlc3VsdC5hcHBlbmQoIiBpbWFnZT0iKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZE51bWJlcihz
aXplLndpZHRoKCkpOworICAgICAgICByZXN1bHQuYXBwZW5kKCJ4Iik7CisgICAgICAgIHJlc3Vs
dC5hcHBlbmROdW1iZXIoc2l6ZS5oZWlnaHQoKSk7CisgICAgfQorICAgIHJldHVybiByZXN1bHQu
dG9TdHJpbmcoKTsKKyNlbHNlCisgICAgcmV0dXJuICJGQUlMOiBDdXJzb3IgZGV0YWlscyBub3Qg
YXZhaWxhYmxlIG9uIHRoaXMgcGxhdGZvcm0uIjsKKyNlbmRpZgorfQorCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaAppbmRleCAyMTExNzM5N2M4MTFjODU4ZjNiMWY0OWZjNTdkMTZhYzI1
YTcxMTIxLi44NGZhMDEyZGMyMDZjMWE5NzY5MWMzZGZjYmZkOTQ3YzhmZWFmYTVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTI0Miw2ICsyNDIsOCBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzdGFydFRyYWNraW5nUmVwYWludHMoRG9jdW1lbnQqLCBFeGNlcHRpb25Db2RlJik7CiAg
ICAgdm9pZCBzdG9wVHJhY2tpbmdSZXBhaW50cyhEb2N1bWVudCosIEV4Y2VwdGlvbkNvZGUmKTsK
IAorICAgIFN0cmluZyBnZXRDdXJyZW50Q3Vyc29ySW5mbyhEb2N1bWVudCosIEV4Y2VwdGlvbkNv
ZGUmKTsKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBJbnRlcm5hbHMoRG9jdW1lbnQqKTsKICAg
ICBEb2N1bWVudCogY29udGV4dERvY3VtZW50KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5pZGwKaW5kZXggN2E1YWI3YjkwZWRiNjRiNjUwZGMzNDM3YjQzYTFkNjk5NzFiMDFh
ZC4uMDY0ZDAxMThmMDljNjhlNDg0MTBhMDM2NTlkZGM0Y2U1OTI2YzZlNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMjEwLDQgKzIxMCw3IEBACiAgICAgLy8gIHN0YXJ0
VHJhY2tpbmdSZXBhaW50cywgcmVwYWludFJlY3RzQXNUZXh0LCBzdG9wVHJhY2tpbmdSZXBhaW50
cy4KICAgICB2b2lkIHN0YXJ0VHJhY2tpbmdSZXBhaW50cyhpbiBEb2N1bWVudCBkb2N1bWVudCkg
cmFpc2VzIChET01FeGNlcHRpb24pOwogICAgIHZvaWQgc3RvcFRyYWNraW5nUmVwYWludHMoaW4g
RG9jdW1lbnQgZG9jdW1lbnQpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKKworICAgIC8vIFJldHVy
bnMgYSBzdHJpbmcgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbW91c2UgY3Vyc29yIHVzZWQg
YXQgdGhlIHNwZWNpZmllZCBjbGllbnQgbG9jYXRpb24uCisgICAgRE9NU3RyaW5nIGdldEN1cnJl
bnRDdXJzb3JJbmZvKGluIERvY3VtZW50IGRvY3VtZW50KSByYWlzZXMgKERPTUV4Y2VwdGlvbik7
CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hp
bmdFbnVtcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0Vu
dW1zLmNwcAppbmRleCA4NGQyYjhhNGQ5NTFmNjZlYWQ5NmM5MWQwYWZhMzVlMWE2MjkxM2Y3Li4z
ODVhZTdlZWFkZDE2NjdlZGQ1YmM5OThlODFjZDYzYzYyMDEyOWFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcApAQCAtMzcsNiAr
MzcsNyBAQAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlICJBcHBs
aWNhdGlvbkNhY2hlSG9zdC5oIgogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeS5oIgor
I2luY2x1ZGUgIkN1cnNvci5oIgogI2luY2x1ZGUgIkRvY3VtZW50TWFya2VyLmgiCiAjaW5jbHVk
ZSAiRWRpdG9ySW5zZXJ0QWN0aW9uLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgpAQCAt
NjQsNyArNjUsNiBAQAogI2luY2x1ZGUgIk1lZGlhU3RyZWFtU291cmNlLmgiCiAjaW5jbHVkZSAi
Tm90aWZpY2F0aW9uQ2xpZW50LmgiCiAjaW5jbHVkZSAiUGFnZVZpc2liaWxpdHlTdGF0ZS5oIgot
I2luY2x1ZGUgIlBsYXRmb3JtQ3Vyc29yLmgiCiAjaW5jbHVkZSAiUlRDRGF0YUNoYW5uZWxEZXNj
cmlwdG9yLmgiCiAjaW5jbHVkZSAiUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmgiCiAj
aW5jbHVkZSAiUmVmZXJyZXJQb2xpY3kuaCIKQEAgLTI4MCw1MCArMjgwLDUwIEBAIENPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oV2ViQXBwbGljYXRpb25DYWNoZUhvc3Q6OlVwZGF0ZVJlYWR5
RXZlbnQsIEFwcGxpY2F0CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFwcGxpY2F0
aW9uQ2FjaGVIb3N0OjpDYWNoZWRFdmVudCwgQXBwbGljYXRpb25DYWNoZUhvc3Q6OkNBQ0hFRF9F
VkVOVCk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFwcGxpY2F0aW9uQ2FjaGVI
b3N0OjpPYnNvbGV0ZUV2ZW50LCBBcHBsaWNhdGlvbkNhY2hlSG9zdDo6T0JTT0xFVEVfRVZFTlQp
OwogCi1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVQb2lu
dGVyLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZVBvaW50ZXIpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlQ3Jvc3MsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlQ3Jv
c3MpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlSGFu
ZCwgUGxhdGZvcm1DdXJzb3I6OlR5cGVIYW5kKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUlCZWFtLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZUlCZWFtKTsK
LUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZVdhaXQsIFBs
YXRmb3JtQ3Vyc29yOjpUeXBlV2FpdCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdl
YkN1cnNvckluZm86OlR5cGVIZWxwLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZUhlbHApOwotQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlRWFzdFJlc2l6ZSwgUGxh
dGZvcm1DdXJzb3I6OlR5cGVFYXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRoUmVzaXplLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZU5v
cnRoUmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6
VHlwZU5vcnRoRWFzdFJlc2l6ZSwgUGxhdGZvcm1DdXJzb3I6OlR5cGVOb3J0aEVhc3RSZXNpemUp
OwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTm9ydGhX
ZXN0UmVzaXplLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZU5vcnRoV2VzdFJlc2l6ZSk7Ci1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVTb3V0aFJlc2l6ZSwgUGxh
dGZvcm1DdXJzb3I6OlR5cGVTb3V0aFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFdlYkN1cnNvckluZm86OlR5cGVTb3V0aEVhc3RSZXNpemUsIFBsYXRmb3JtQ3Vyc29yOjpU
eXBlU291dGhFYXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vy
c29ySW5mbzo6VHlwZVNvdXRoV2VzdFJlc2l6ZSwgUGxhdGZvcm1DdXJzb3I6OlR5cGVTb3V0aFdl
c3RSZXNpemUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpU
eXBlV2VzdFJlc2l6ZSwgUGxhdGZvcm1DdXJzb3I6OlR5cGVXZXN0UmVzaXplKTsKLUNPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRoU291dGhSZXNpemUs
IFBsYXRmb3JtQ3Vyc29yOjpUeXBlTm9ydGhTb3V0aFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVFYXN0V2VzdFJlc2l6ZSwgUGxhdGZvcm1D
dXJzb3I6OlR5cGVFYXN0V2VzdFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KFdlYkN1cnNvckluZm86OlR5cGVOb3J0aEVhc3RTb3V0aFdlc3RSZXNpemUsIFBsYXRmb3JtQ3Vy
c29yOjpUeXBlTm9ydGhFYXN0U291dGhXZXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZSwgUGxh
dGZvcm1DdXJzb3I6OlR5cGVOb3J0aFdlc3RTb3V0aEVhc3RSZXNpemUpOwotQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlQ29sdW1uUmVzaXplLCBQbGF0Zm9y
bUN1cnNvcjo6VHlwZUNvbHVtblJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KFdlYkN1cnNvckluZm86OlR5cGVSb3dSZXNpemUsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlUm93UmVz
aXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU1p
ZGRsZVBhbm5pbmcsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlTWlkZGxlUGFubmluZyk7Ci1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVFYXN0UGFubmluZywgUGxh
dGZvcm1DdXJzb3I6OlR5cGVFYXN0UGFubmluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFdlYkN1cnNvckluZm86OlR5cGVOb3J0aFBhbm5pbmcsIFBsYXRmb3JtQ3Vyc29yOjpUeXBl
Tm9ydGhQYW5uaW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5m
bzo6VHlwZU5vcnRoRWFzdFBhbm5pbmcsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlTm9ydGhFYXN0UGFu
bmluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVO
b3J0aFdlc3RQYW5uaW5nLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZU5vcnRoV2VzdFBhbm5pbmcpOwot
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlU291dGhQYW5u
aW5nLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZVNvdXRoUGFubmluZyk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVTb3V0aEVhc3RQYW5uaW5nLCBQbGF0Zm9y
bUN1cnNvcjo6VHlwZVNvdXRoRWFzdFBhbm5pbmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlU291dGhXZXN0UGFubmluZywgUGxhdGZvcm1DdXJzb3I6
OlR5cGVTb3V0aFdlc3RQYW5uaW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2Vi
Q3Vyc29ySW5mbzo6VHlwZVdlc3RQYW5uaW5nLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZVdlc3RQYW5u
aW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU1v
dmUsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlTW92ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFdlYkN1cnNvckluZm86OlR5cGVWZXJ0aWNhbFRleHQsIFBsYXRmb3JtQ3Vyc29yOjpUeXBl
VmVydGljYWxUZXh0KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5m
bzo6VHlwZUNlbGwsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlQ2VsbCk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVDb250ZXh0TWVudSwgUGxhdGZvcm1DdXJz
b3I6OlR5cGVDb250ZXh0TWVudSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1
cnNvckluZm86OlR5cGVBbGlhcywgUGxhdGZvcm1DdXJzb3I6OlR5cGVBbGlhcyk7Ci1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVQcm9ncmVzcywgUGxhdGZv
cm1DdXJzb3I6OlR5cGVQcm9ncmVzcyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdl
YkN1cnNvckluZm86OlR5cGVOb0Ryb3AsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlTm9Ecm9wKTsKLUNP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUNvcHksIFBsYXRm
b3JtQ3Vyc29yOjpUeXBlQ29weSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1
cnNvckluZm86OlR5cGVOb25lLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZU5vbmUpOwotQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTm90QWxsb3dlZCwgUGxhdGZv
cm1DdXJzb3I6OlR5cGVOb3RBbGxvd2VkKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
V2ViQ3Vyc29ySW5mbzo6VHlwZVpvb21JbiwgUGxhdGZvcm1DdXJzb3I6OlR5cGVab29tSW4pOwot
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlWm9vbU91dCwg
UGxhdGZvcm1DdXJzb3I6OlR5cGVab29tT3V0KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUdyYWIsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlR3JhYik7Ci1D
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVHcmFiYmluZywg
UGxhdGZvcm1DdXJzb3I6OlR5cGVHcmFiYmluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFdlYkN1cnNvckluZm86OlR5cGVDdXN0b20sIFBsYXRmb3JtQ3Vyc29yOjpUeXBlQ3VzdG9t
KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZVBvaW50
ZXIsIEN1cnNvcjo6UG9pbnRlcik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1
cnNvckluZm86OlR5cGVDcm9zcywgQ3Vyc29yOjpDcm9zcyk7CitDT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVIYW5kLCBDdXJzb3I6OkhhbmQpOworQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlSUJlYW0sIEN1cnNvcjo6
SUJlYW0pOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBl
V2FpdCwgQ3Vyc29yOjpXYWl0KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vy
c29ySW5mbzo6VHlwZUhlbHAsIEN1cnNvcjo6SGVscCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVFYXN0UmVzaXplLCBDdXJzb3I6OkVhc3RSZXNpemUp
OworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTm9ydGhS
ZXNpemUsIEN1cnNvcjo6Tm9ydGhSZXNpemUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShXZWJDdXJzb3JJbmZvOjpUeXBlTm9ydGhFYXN0UmVzaXplLCBDdXJzb3I6Ok5vcnRoRWFzdFJl
c2l6ZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVO
b3J0aFdlc3RSZXNpemUsIEN1cnNvcjo6Tm9ydGhXZXN0UmVzaXplKTsKK0NPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZVNvdXRoUmVzaXplLCBDdXJzb3I6OlNv
dXRoUmVzaXplKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6
VHlwZVNvdXRoRWFzdFJlc2l6ZSwgQ3Vyc29yOjpTb3V0aEVhc3RSZXNpemUpOworQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlU291dGhXZXN0UmVzaXplLCBD
dXJzb3I6OlNvdXRoV2VzdFJlc2l6ZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdl
YkN1cnNvckluZm86OlR5cGVXZXN0UmVzaXplLCBDdXJzb3I6Oldlc3RSZXNpemUpOworQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTm9ydGhTb3V0aFJlc2l6
ZSwgQ3Vyc29yOjpOb3J0aFNvdXRoUmVzaXplKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUVhc3RXZXN0UmVzaXplLCBDdXJzb3I6OkVhc3RXZXN0UmVz
aXplKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU5v
cnRoRWFzdFNvdXRoV2VzdFJlc2l6ZSwgQ3Vyc29yOjpOb3J0aEVhc3RTb3V0aFdlc3RSZXNpemUp
OworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTm9ydGhX
ZXN0U291dGhFYXN0UmVzaXplLCBDdXJzb3I6Ok5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZSk7CitD
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVDb2x1bW5SZXNp
emUsIEN1cnNvcjo6Q29sdW1uUmVzaXplKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
V2ViQ3Vyc29ySW5mbzo6VHlwZVJvd1Jlc2l6ZSwgQ3Vyc29yOjpSb3dSZXNpemUpOworQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTWlkZGxlUGFubmluZywg
Q3Vyc29yOjpNaWRkbGVQYW5uaW5nKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2Vi
Q3Vyc29ySW5mbzo6VHlwZUVhc3RQYW5uaW5nLCBDdXJzb3I6OkVhc3RQYW5uaW5nKTsKK0NPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRoUGFubmluZywg
Q3Vyc29yOjpOb3J0aFBhbm5pbmcpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJD
dXJzb3JJbmZvOjpUeXBlTm9ydGhFYXN0UGFubmluZywgQ3Vyc29yOjpOb3J0aEVhc3RQYW5uaW5n
KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRo
V2VzdFBhbm5pbmcsIEN1cnNvcjo6Tm9ydGhXZXN0UGFubmluZyk7CitDT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVTb3V0aFBhbm5pbmcsIEN1cnNvcjo6U291
dGhQYW5uaW5nKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6
VHlwZVNvdXRoRWFzdFBhbm5pbmcsIEN1cnNvcjo6U291dGhFYXN0UGFubmluZyk7CitDT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVTb3V0aFdlc3RQYW5uaW5n
LCBDdXJzb3I6OlNvdXRoV2VzdFBhbm5pbmcpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShXZWJDdXJzb3JJbmZvOjpUeXBlV2VzdFBhbm5pbmcsIEN1cnNvcjo6V2VzdFBhbm5pbmcpOwor
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTW92ZSwgQ3Vy
c29yOjpNb3ZlKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6
VHlwZVZlcnRpY2FsVGV4dCwgQ3Vyc29yOjpWZXJ0aWNhbFRleHQpOworQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlQ2VsbCwgQ3Vyc29yOjpDZWxsKTsKK0NP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUNvbnRleHRNZW51
LCBDdXJzb3I6OkNvbnRleHRNZW51KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2Vi
Q3Vyc29ySW5mbzo6VHlwZUFsaWFzLCBDdXJzb3I6OkFsaWFzKTsKK0NPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZVByb2dyZXNzLCBDdXJzb3I6OlByb2dyZXNz
KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU5vRHJv
cCwgQ3Vyc29yOjpOb0Ryb3ApOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJz
b3JJbmZvOjpUeXBlQ29weSwgQ3Vyc29yOjpDb3B5KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU5vbmUsIEN1cnNvcjo6Tm9uZSk7CitDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVOb3RBbGxvd2VkLCBDdXJzb3I6
Ok5vdEFsbG93ZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZv
OjpUeXBlWm9vbUluLCBDdXJzb3I6Olpvb21Jbik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFdlYkN1cnNvckluZm86OlR5cGVab29tT3V0LCBDdXJzb3I6Olpvb21PdXQpOworQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlR3JhYiwgQ3Vyc29yOjpH
cmFiKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUdy
YWJiaW5nLCBDdXJzb3I6OkdyYWJiaW5nKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
V2ViQ3Vyc29ySW5mbzo6VHlwZUN1c3RvbSwgQ3Vyc29yOjpDdXN0b20pOwogCiBDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKFdlYkVkaXRpbmdBY3Rpb25UeXBlZCwgRWRpdG9ySW5zZXJ0QWN0
aW9uVHlwZWQpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJFZGl0aW5nQWN0aW9u
UGFzdGVkLCBFZGl0b3JJbnNlcnRBY3Rpb25QYXN0ZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViQ3Vyc29ySW5mby5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJDdXJzb3JJbmZvLmNwcAppbmRleCBkNGIwZjgxZmFmYTk5YjA1YmIyNTJiMzll
OTQ4YTkzODQwN2RlNTczLi42MGJlNWRiY2FmMTBmMDEwYWEyNjgzZDdlYWU2YTliNzM0MDA3ZGE3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDdXJzb3JJbmZvLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDdXJzb3JJbmZvLmNwcApAQCAt
MzksOSArMzksOSBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogV2ViQ3Vyc29ySW5mbzo6V2ViQ3Vy
c29ySW5mbyhjb25zdCBDdXJzb3ImIGN1cnNvcikKIHsKLSAgICB0eXBlID0gc3RhdGljX2Nhc3Q8
VHlwZT4oY3Vyc29yLmltcGwoKS50eXBlKCkpOwotICAgIGhvdFNwb3QgPSBjdXJzb3IuaW1wbCgp
LmhvdFNwb3QoKTsKLSAgICBjdXN0b21JbWFnZSA9IGN1cnNvci5pbXBsKCkuY3VzdG9tSW1hZ2Uo
KTsKKyAgICB0eXBlID0gc3RhdGljX2Nhc3Q8VHlwZT4oY3Vyc29yLnR5cGUoKSk7CisgICAgaG90
U3BvdCA9IGN1cnNvci5ob3RTcG90KCk7CisgICAgY3VzdG9tSW1hZ2UgPSBjdXJzb3IuaW1hZ2Uo
KTsKICNpZmRlZiBXSU4zMgogICAgIGV4dGVybmFsSGFuZGxlID0gMDsKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmIGIvU291cmNlL1dlYktpdDIvd2lu
L1dlYktpdDIuZGVmCmluZGV4IDk2NjI4MmY5OGM0Zjc3ZGYxODkxY2UxZTlmMTA1M2VhYTkxMjBi
ZjAuLjcyNTY2ZmU3NjFkMTMzZDM4Yzc3MTY2NDgxY2E0OWM0NjFhNGQ0ZGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4v
V2ViS2l0Mi5kZWYKQEAgLTE1Myw2ICsxNTMsOCBAQCBFWFBPUlRTCiAgICAgICAgID8/MENsaWVu
dFJlY3RMaXN0QFdlYkNvcmVAQEFBRUBYWgogICAgICAgICA/PzBDbGllbnRSZWN0TGlzdEBXZWJD
b3JlQEBBQUVAQUJWPyRWZWN0b3JAVkZsb2F0UXVhZEBXZWJDb3JlQEAkMEFAQFdURkBAQFoKICAg
ICAgICAgPz8xQ2xpZW50UmVjdExpc3RAV2ViQ29yZUBAUUFFQFhaCisgICAgICAgID8/MUN1cnNv
ckBXZWJDb3JlQEBRQUVAWFoKKyAgICAgICAgPz8wQ3Vyc29yQFdlYkNvcmVAQFFBRUBBQlYwMUBA
WgogICAgICAgICA/PzBTdHJpbmdAV1RGQEBRQUVAUEJEQFoKICAgICAgICAgPz8wU3RyaW5nQFdU
RkBAUUFFQFBCX1dAWgogICAgICAgICA/YWJzb2x1dGVCb3VuZGluZ0JveFJlY3RAUmVuZGVyT2Jq
ZWN0QFdlYkNvcmVAQFFCRT9BVkludFJlY3RAMkBfTkBaCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNG
TGl0ZS5kZWYKaW5kZXggYjE1MTYzODVkZDNhZjU2Njg4MTU2MGIyNWVjMzM0MzYyMTQ0NWNiNC4u
YzI5ZDgxODhhY2ZjOTNjZjkzZDQ4OWQ4MTdkNDcwNjcwM2Q0ZjZmOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dp
bi9XZWJLaXQyQ0ZMaXRlLmRlZgpAQCAtMTQ2LDYgKzE0Niw4IEBAIEVYUE9SVFMKICAgICAgICAg
Pz8wQ2xpZW50UmVjdExpc3RAV2ViQ29yZUBAQUFFQFhaCiAgICAgICAgID8/MENsaWVudFJlY3RM
aXN0QFdlYkNvcmVAQEFBRUBBQlY/JFZlY3RvckBWRmxvYXRRdWFkQFdlYkNvcmVAQCQwQUBAV1RG
QEBAWgogICAgICAgICA/PzFDbGllbnRSZWN0TGlzdEBXZWJDb3JlQEBRQUVAWFoKKyAgICAgICAg
Pz8xQ3Vyc29yQFdlYkNvcmVAQFFBRUBYWgorICAgICAgICA/PzBDdXJzb3JAV2ViQ29yZUBAUUFF
QEFCVjAxQEBaCiAgICAgICAgID8/MFN0cmluZ0BXVEZAQFFBRUBQQkRAWgogICAgICAgICA/PzBT
dHJpbmdAV1RGQEBRQUVAUEJfV0BaCiAgICAgICAgID9hYnNvbHV0ZUJvdW5kaW5nQm94UmVjdEBS
ZW5kZXJPYmplY3RAV2ViQ29yZUBAUUJFP0FWSW50UmVjdEAyQF9OQFoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMu
ZmlsdGVyCmluZGV4IGQ4MmYxNzk4NTExYzI2ZDQ3YmY1NDU0NTA0ZmMwNjY1ZmVjOTZiZTkuLmEx
NjlhODlkNzhlZTY5OGM5MTRkYjkzMzViZmMxNjFlZmMwYjFiZjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xz
LmZpbHRlcgpAQCAtMTYyLDYgKzE2Miw4IEBAIF9aTjdXZWJDb3JlMTRTY3JvbGxhYmxlQXJlYTI4
c2V0U2Nyb2xsT2Zmc2V0RnJvbUludGVybmFsc0VSS05TXzhJbnRQb2ludEU7CiBfWk43V2ViQ29y
ZTEwU2Nyb2xsVmlldzIzc2V0U2Nyb2xsYmFyc1N1cHByZXNzZWRFYmI7CiBfWk43V2ViQ29yZTEw
U2Nyb2xsVmlldzIxc2V0RGVsZWdhdGVzU2Nyb2xsaW5nRWI7CiBfWk43V2ViQ29yZTROb2RlMTRy
ZW1vdmVkTGFzdFJlZkV2OworX1pON1dlYkNvcmU2Q3Vyc29yQzFFUktTMF87CitfWk43V2ViQ29y
ZTZDdXJzb3JEMUV2OwogX1pON1dlYkNvcmU4U2V0dGluZ3MxNnNldEltYWdlc0VuYWJsZWRFYjsK
IF9aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRGaXhlZEZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWlj
U3RyaW5nRTExVVNjcmlwdENvZGU7CiBfWk43V2ViQ29yZThTZXR0aW5nczE4c2V0U2VyaWZGb250
RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0UxMVVTY3JpcHRDb2RlOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGE4MGMw
NjFmMTllYjQ0NDc5ZWZiNjEzODYzZTIzYjY5NDMzNjFjYmQuLmJmYWQ1YTE1OWI0MWUxZWQxY2Ni
MDVhYTdlYzhmOTgxZDI1Y2E5NTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OCBAQAorMjAxMi0xMS0wOSAg
UmljayBCeWVycyAgPHJieWVyc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgY3VzdG9tIENTUyBj
dXJzb3JzIGlnbm9yZSBob3RzcG90IHZhbHVlcyBlbWJlZGRlZCBpbiBDVVIgZmlsZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDA1OQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBtb3VzZSBjdXJz
b3IgdGVzdCBjYXNlcyB0aGF0IHVzZSBDVVIgZmlsZXMgdGhhdCBoYXZlIGVtYmVkZGVkIGhvdHNw
b3QgdmFsdWVzLgorCisgICAgICAgICogZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItbXVsdGlmcmFtZWN1ci1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1t
dWx0aWZyYW1lY3VyLmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21v
dXNlLWN1cnNvci5odG1sLgorICAgICAgICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1s
OgorICAgICAgICAqIGZhc3QvZXZlbnRzL3Jlc291cmNlcy9ncmVlbmJveC0zZnJhbWVzLmN1cjog
QWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3Qz
NS00LmN1cjogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94
LWhvdHNwb3Q1LTQuY3VyOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVj
dGF0aW9uczogU2tpcCB0aGUgbXVsdGktZnJhbWUgY2FzZSBvbiBtYWMgZHVlIHRvIGFuIGFwcGFy
ZW50IENHIGhhbmcKKworMjAxMi0xMS0wOSAgUmljayBCeWVycyAgPHJieWVyc0BjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBNb3ZlIHRvIFVTRShMQVpZX05BVElWRV9DVVJTT1Ip
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE1MDEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUg
ZmFpbHVyZSBleHBlY3RhdGlvbiBmb3IgZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWwgbm93
IHRoYXQKKyAgICAgICAgY2hyb21pdW0gdXNlcyB0aGUgc2FtZSBjdXJzb3IgYXJjaGl0ZWN0dXJl
IGFzIG90aGVyIHBvcnRzLgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVj
dGF0aW9uczoKKworMjAxMi0xMS0wOSAgUmljayBCeWVycyAgPHJieWVyc0BjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgTm8gdGVzdHMgZm9yIGNoYW5naW5nIG1vdXNlIGN1cnNvcnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDU1MAorCisgICAgICAg
IFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgQWRkIGEgc2ltcGxlIHRlc3QgY292
ZXJpbmcgdGhlIGJhc2ljIHNjZW5hcmlvcyBvZiBjaGFuZ2luZyBhIG1vdXNlCisgICAgICAgIGN1
cnNvciB3aXRoIENTUy4gIFRoaXMgaW5jbHVkZXMgbW9zdCBvZiB0aGUgY2FzZXMgY3VycmVudGx5
IGNvdmVyZWQKKyAgICAgICAgYnkgTWFudWFsVGVzdHMvKmN1cnNvciouCisKKyAgICAgICAgKiBm
YXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
Y2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczogQWRkIGZhaWx1cmUgZXhwZWN0YXRpb24uCisKIDIw
MTItMTEtMDkgIFRpZW4tUmVuIENoZW4gIDx0cmNoZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IENvcnJlY3QgaGl0LXRlc3QgcG9pbnQgc2NhbGluZyBmb3IgZG9jdW1lbnQuZWxlbWVudEZyb21Q
b2ludApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTA1NGVmNDEwM2FmNzhkNzZkOWQ3MWFkYjZjN2VlNmU5ZDY1OGRm
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNv
ci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4MSBAQAorVGVzdCB0aGF0IG1vdXNlIGN1cnNvcnMg
YXJlIGFwcGxpZWQgY29ycmVjdGx5LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
QnVnIDEwMDU1MAorCisgCitURVNUIENBU0U6IEltcGxpY2l0IGRlZmF1bHQgY3Vyc29yCitDdXJz
b3IgSW5mbzogdHlwZT1UeXBlSUJlYW0gaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBFeHBsaWNp
dCBkZWZhdWx0CitDdXJzb3IgSW5mbzogdHlwZT1UeXBlUG9pbnRlciBob3RTcG90PTAsMAorCitU
RVNUIENBU0U6IEV4cGxpY2l0IGF1dG8KK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVJQmVhbSBob3RT
cG90PTAsMAorCitURVNUIENBU0U6IE5vIGN1cnNvcgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZU5v
bmUgaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBQb2ludGVyCitDdXJzb3IgSW5mbzogdHlwZT1U
eXBlSGFuZCBob3RTcG90PTAsMAorCitURVNUIENBU0U6IC13ZWJraXQtZ3JhYmJpbmcKK0N1cnNv
ciBJbmZvOiB0eXBlPVR5cGVHcmFiYmluZyBob3RTcG90PTAsMAorCitURVNUIENBU0U6IEV4aXN0
aW5nIDI1eDI1IGltYWdlCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MCww
IGltYWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogSW52YWxpZCBVUkwgd2l0aCBmYWxsYmFjayB0byBw
b2ludGVyCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSGFuZCBob3RTcG90PTAsMAorCitURVNUIENB
U0U6IEludmFsaWQgd2l0aCBmYWxsYmFjayB0byAyNXgyNSBpbWFnZQorQ3Vyc29yIEluZm86IHR5
cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBpbWFnZT0yNXgyNQorCitURVNUIENBU0U6IEltYWdl
IHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKDAsMCkKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVD
dXN0b20gaG90U3BvdD0wLDAgaW1hZ2U9MjV4MjUKKworVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGV4
cGxpY2l0IGhvdCBzcG90IGF0ICgyMCwxMCkKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20g
aG90U3BvdD0yMCwxMCBpbWFnZT0yNXgyNQorCitURVNUIENBU0U6IEltYWdlIHdpdGggZXhwbGlj
aXQgaG90IHNwb3QgYXQgKC0xLC0xKQorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RT
cG90PTAsMCBpbWFnZT0yNXgyNQorCitURVNUIENBU0U6IEltYWdlIHdpdGggZXhwbGljaXQgaG90
IHNwb3Qgb3V0c2lkZSBpbWFnZSBhdCAoMzAsMzApCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3Vz
dG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CisKK1RFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBpbXBs
aWNpdCBob3Qgc3BvdCBhdCAoNSw0KQorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RT
cG90PTUsNCBpbWFnZT0yNXgyNQorCitURVNUIENBU0U6IEltYWdlIHdpdGggZXhwbGljaXQgaG90
IHNwb3QgYXQgKDIwLDEwKSBvdmVycmlkaW5nIGltcGxpY2l0IGhvdCBzcG90CitDdXJzb3IgSW5m
bzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MjAsMTAgaW1hZ2U9MjV4MjUKKworVEVTVCBDQVNF
OiBJbWFnZSB3aXRoIGltcGxpY2l0IGhvdCBzcG90IG91dHNpZGUgaW1hZ2UgYXQgKDM1LDQpCitD
dXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CisKK1RF
U1QgQ0FTRTogT3ZlciBsYXJnZSBpbWFnZSB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXIKK0N1cnNv
ciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogU1ZHIGN1cnNv
cgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTAsMCBpbWFnZT0yNXgyNQor
CitURVNUIENBU0U6IE11bHRpcGxlIGludmFsaWQgY3Vyc29ycyB3aXRoIGZhbGxiYWNrIHRvIHBv
aW50ZXIKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FT
RTogTm9uZXhpc3RlbnQgU1ZHIGN1cnNvciB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXIKK0N1cnNv
ciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCwwCisKK1RFU1QgQ0FTRTogQSBsaW5rIHdp
dGggZGVmYXVsdCBjdXJzb3IKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCww
CisKK1RFU1QgQ0FTRTogTGluayB3aXRoIGRlZmF1bHQgY3Vyc29yIG92ZXJyaWRpbmcgd2FpdAor
Q3Vyc29yIEluZm86IHR5cGU9VHlwZUhhbmQgaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBXYWl0
IGN1cnNvciB3aGljaCBzaG91bGQgbm90IGJlIGFmZmVjdGVkIGJ5IHVua25vd24gY3Vyc29yIHJ1
bGUKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVXYWl0IGhvdFNwb3Q9MCwwCisKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItbXVsdGlmcmFtZWN1ci1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItbXVsdGlmcmFtZWN1ci1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjIzNzgzZTIyZjFiNjAyZDM5NzY0MjAxNDc5ODI1ZTlj
YTQ0ZTZjYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNl
LWN1cnNvci1tdWx0aWZyYW1lY3VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBACitUZXN0
IHRoYXQgbW91c2UgY3Vyc29ycyBhcmUgYXBwbGllZCBjb3JyZWN0bHkuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitCdWcgMTAwMDU5CisKKworVEVTVCBDQVNFOiBJbXBsaWNpdCBk
ZWZhdWx0IGN1cnNvcgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUlCZWFtIGhvdFNwb3Q9MCwwCisK
K1RFU1QgQ0FTRTogQ1VSIGZpbGUgd2l0aCAzIGZyYW1lcywgbGFyZ2VzdCBvZiB3aGljaCAoMm5k
IGZyYW1lKSBpcyAyMHgxMiB3aXRoIGhvdHNwb3QgYXQgKDE4LDExKS4KK0N1cnNvciBJbmZvOiB0
eXBlPVR5cGVDdXN0b20gaG90U3BvdD0xOCwxMSBpbWFnZT0yMHgxMgorCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLW11bHRpZnJhbWVjdXIuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1tdWx0aWZyYW1lY3VyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZmM2ZTZmNGIwNzg3YWE5NTMxNWFjYjcyNDIxODZmYTJmNmZhZjE3NQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1tdWx0aWZyYW1l
Y3VyLmh0bWwKQEAgLTAsMCArMSw5MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8cD48YSBocmVmPWh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDA1NTA+QnVnIDEwMDA1OTwvYT48L3A+Cis8ZGl2IGlkPSJ0ZXN0
LWNvbnRhaW5lciI+CisgIDxkaXY+SW1wbGljaXQgZGVmYXVsdCBjdXJzb3I8L2Rpdj4KKyAgPGRp
diBzdHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LTNmcmFtZXMuY3VyKSwgcG9p
bnRlcic+Q1VSIGZpbGUgd2l0aCAzIGZyYW1lcywgbGFyZ2VzdCBvZiB3aGljaCAoMm5kIGZyYW1l
KSBpcyAyMHgxMiB3aXRoIGhvdHNwb3QgYXQgKDE4LDExKS48L2Rpdj4KKzwvZGl2PgorPGJyLz4K
KzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KK3ZhciBpbWFnZXNMZWZ0VG9Mb2Fk
ID0gMDsKKworZnVuY3Rpb24gb25JbWFnZUxvYWQoZSkgeworCisgICAgLy8gVGhpcyBkZWJ1ZyBv
dXRwdXQgaXMgbm9uLWRldGVybWluaXN0aWMgYW5kIGNvbnRhaW5zIGFic29sdXRlIFVSTHMgLSBv
bmx5IHNob3cgd2hlbgorICAgIC8vIG5vdCBydW5uaW5nIGluIERSVAorICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIpCisgICAgICAgIGRlYnVnKCAnRXZlbnQgIicgKyBlLnR5cGUgKyAnIjogJyAr
IGUudGFyZ2V0LnNyYyk7CisgICAgICAgIAorICAgIGltYWdlc0xlZnRUb0xvYWQtLTsKKyAgICBp
ZiAoaW1hZ2VzTGVmdFRvTG9hZCA9PSAwKQorICAgICAgICBydW5UZXN0cygpOworICAgIGlmIChp
bWFnZXNMZWZ0VG9Mb2FkIDwgMCkKKyAgICAgICAgdGVzdEZhaWxlZCgnR290IG1vcmUgbG9hZC9l
cnJvciBjYWxsYmFjayB0aGFuIGV4cGVjdGVkLicpOworfQorCitmdW5jdGlvbiBvbkltYWdlVW5l
eHBlY3RlZChlKSB7CisJaW1hZ2VzTGVmdFRvTG9hZC0tOworICAgIHRlc3RGYWlsZWQoJ0dvdCB1
bmV4cGVjdGVkIFwnJyArIGUudHlwZSArICdcJyBldmVudCBmb3IgaW1hZ2U6ICcgKyBlLnRhcmdl
dC5zcmMpOyAKK30KKworZnVuY3Rpb24gcnVuVGVzdHMoKSB7CisgICAgLy8gQ2FuJ3QgZG8gYW55
dGhpbmcgdXNlZnVsIGhlcmUgd2l0aG91dCBldmVudFNlbmRlcgorICAgIGlmICh3aW5kb3cuZXZl
bnRTZW5kZXIpIHsKKyAgICAgICAgdmFyIG5vZGVzVG9UZXN0ID0gZG9jdW1lbnQucXVlcnlTZWxl
Y3RvckFsbCgnI3Rlc3QtY29udGFpbmVyID4gZGl2Jyk7CisgICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgbm9kZXNUb1Rlc3QubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgIHZhciBub2RlID0g
bm9kZXNUb1Rlc3RbaV07CisgICAgICAgICAgICBkZWJ1ZygnVEVTVCBDQVNFOiAnICsgbm9kZS50
ZXh0Q29udGVudCk7CisKKyAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgbm9kZSBpcyB2aXNp
YmxlIGFuZCBtb3ZlIHRoZSBtb3VzZSBvdmVyIHRvcCBvZiBpdC4KKyAgICAgICAgICAgIGRvY3Vt
ZW50LmJvZHkuc2Nyb2xsVG9wID0gbm9kZS5vZmZzZXRUb3AgLSA1MDsKKyAgICAgICAgICAgIGV2
ZW50U2VuZGVyLm1vdXNlTW92ZVRvKG5vZGUub2Zmc2V0TGVmdCArIDMsIG5vZGUub2Zmc2V0VG9w
IC0gZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgKyAzKTsKKworICAgICAgICAgICAgLy8gR2V0IGRl
dGFpbHMgb2YgdGhlIGN1cnJlbnQgbW91c2UgY3Vyc29yLgorICAgICAgICAgICAgLy8gTm90ZSB0
aGF0IHdlIGNvdWxkIHJldHVybiBzdHJ1Y3R1cmVkIGRhdGEgd2hpY2ggd2UgdGhlbiB2YWxpZGF0
ZSwgYnV0IHRoYXQncyBhIGxvdCBtb3JlCisgICAgICAgICAgICAvLyB3b3JrIGFuZCBpcyByZWR1
bmRhbnQgd2l0aCByZWx5aW5nIG9uIHRoZSBleHBlY3RlZCBvdXRwdXQgYW55d2F5LiAgQmV0dGVy
IHRvIGp1c3QgZHVtcAorICAgICAgICAgICAgLy8gaXQgYW5kIGluc3BlY3QgdGhhdCBpdCBtYXRj
aGVzIHRoZSBkZXNjcmlwdGlvbi4KKyAgICAgICAgICAgIGRlYnVnKCdDdXJzb3IgSW5mbzogJyAr
IHdpbmRvdy5pbnRlcm5hbHMuZ2V0Q3VycmVudEN1cnNvckluZm8oZG9jdW1lbnQpKTsKKyAgICAg
ICAgICAgIGRlYnVnKCcnKTsKKyAgICAgICAgfQorICAgICAgICAvLyBUaGlzIHRleHQgaXMgcmVk
dW5kYW50IHdpdGggdGhlIHRlc3Qgb3V0cHV0IC0gaGlkZSBpdAorICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgndGVzdC1jb250YWluZXInKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwor
ICAgIH0KKyAgICAKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworZGVzY3JpcHRpb24oIlRlc3Qg
dGhhdCBtb3VzZSBjdXJzb3JzIGFyZSBhcHBsaWVkIGNvcnJlY3RseS4iKTsKKworaWYgKCF3aW5k
b3cuZXZlbnRTZW5kZXIpIHsKKyAgICB0ZXN0RmFpbGVkKCdUaGlzIHRlc3QgcmVxdWlyZXMgRHVt
cFJlbmRlclRyZWUnKTsKK30KKworaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAg
d2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworfQorCisvLyBOb3cgd2FpdCBmb3IgZWFjaCBp
bWFnZSB0byBsb2FkIG9yIGZhaWwgdG8gbG9hZCBiZWZvcmUgc3RhcnRpbmcgdGVzdHMuCisvLyBX
aXRob3V0IHRoaXMgd2UgY2FuIGdldCBudWxsIGltYWdlcyBpbiB0aGUgY3Vyc29ycyAtIGVnLiBu
byBrbm93biBzaXplLgordmFyIGltYWdlc1RvTG9hZCA9IFsKKyAgICB7IHVybDogJ3Jlc291cmNl
cy9ncmVlbmJveC0zZnJhbWVzLmN1cicgfSBdOworaW1hZ2VzTGVmdFRvTG9hZCA9IGltYWdlc1Rv
TG9hZC5sZW5ndGg7Citmb3IgKHZhciBpID0gMDsgaSA8IGltYWdlc1RvTG9hZC5sZW5ndGg7IGkr
KykgeworICAgIHZhciBpbWcgPSBuZXcgSW1hZ2UoKTsKKyAgICB2YXIgZXhwZWN0RXJyb3IgPSBp
bWFnZXNUb0xvYWRbaV0uZXJyb3I7IAorICAgIGltZy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywg
ZXhwZWN0RXJyb3IgPyBvbkltYWdlVW5leHBlY3RlZCA6IG9uSW1hZ2VMb2FkKTsKKyAgICBpbWcu
YWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCBleHBlY3RFcnJvciA/IG9uSW1hZ2VMb2FkIDogb25J
bWFnZVVuZXhwZWN0ZWQpOworICAgIGltZy5zcmMgPSBpbWFnZXNUb0xvYWRbaV0udXJsOworfQor
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9tb3VzZS1jdXJzb3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZmYzMDM2NTY2NGVmZGUyZjQzMTc5
NWEyNTRmNjk2MWNhYzhkYmUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvbW91c2UtY3Vyc29yLmh0bWwKQEAgLTAsMCArMSwxMjcgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPHA+PGEgaHJlZj1odHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNTUwPkJ1ZyAxMDA1NTA8L2E+PC9w
PgorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIAorICAgICB4bWxuczp4
bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjAiIGhlaWdodD0iMCI+
CisgIDxkZWZzPgorICAgIDxjdXJzb3IgaWQ9ImdyZWVuYm94IiB4bGluazpocmVmPSJyZXNvdXJj
ZXMvZ3JlZW5ib3gucG5nIiB4PSIwIiB5PSIwIi8+CisgIDwvZGVmcz4KKzwvc3ZnPgorPGRpdiBp
ZD0idGVzdC1jb250YWluZXIiPgorICA8ZGl2PkltcGxpY2l0IGRlZmF1bHQgY3Vyc29yPC9kaXY+
CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogZGVmYXVsdCc+RXhwbGljaXQgZGVmYXVsdDwvZGl2Pgor
ICA8ZGl2IHN0eWxlPSdjdXJzb3I6IGF1dG8nPkV4cGxpY2l0IGF1dG88L2Rpdj4KKyAgPGRpdiBz
dHlsZT0nY3Vyc29yOiBub25lJz5ObyBjdXJzb3I8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29y
OiBwb2ludGVyJz5Qb2ludGVyPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogLXdlYmtpdC1n
cmFiYmluZyc+LXdlYmtpdC1ncmFiYmluZzwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVy
bChyZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSwgaGFuZCc+RXhpc3RpbmcgMjV4MjUgaW1hZ2U8L2Rp
dj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwoZG9lc250ZXhpc3QucG5nKSwgcG9pbnRlcic+
SW52YWxpZCBVUkwgd2l0aCBmYWxsYmFjayB0byBwb2ludGVyPC9kaXY+CisgIDxkaXYgc3R5bGU9
J2N1cnNvcjogdXJsKGRvZXNudGV4aXN0LnBuZyksIHVybChyZXNvdXJjZXMvZ3JlZW5ib3gucG5n
KSwgcG9pbnRlcic+SW52YWxpZCB3aXRoIGZhbGxiYWNrIHRvIDI1eDI1IGltYWdlPC9kaXY+Cisg
IDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC5wbmcpIDAgMCwgcG9p
bnRlcic+SW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMCwwKTwvZGl2PgorICA8ZGl2
IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSAyMCAxMCwgcG9pbnRl
cic+SW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMjAsMTApPC9kaXY+CisgIDxkaXYg
c3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC5wbmcpIC0xIC0xLCBwb2ludGVy
Jz5JbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgtMSwtMSk8L2Rpdj4KKyAgPGRpdiBz
dHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LnBuZykgMzAgMzAsIHBvaW50ZXIn
PkltYWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3Qgb3V0c2lkZSBpbWFnZSBhdCAoMzAsMzApPC9k
aXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC1ob3RzcG90
NS00LmN1ciksIHBvaW50ZXInPkltYWdlIHdpdGggaW1wbGljaXQgaG90IHNwb3QgYXQgKDUsNCk8
L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LWhvdHNw
b3Q1LTQuY3VyKSAyMCAxMCwgcG9pbnRlcic+SW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBh
dCAoMjAsMTApIG92ZXJyaWRpbmcgaW1wbGljaXQgaG90IHNwb3Q8L2Rpdj4KKyAgPGRpdiBzdHls
ZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3QzNS00LmN1ciksIHBvaW50
ZXInPkltYWdlIHdpdGggaW1wbGljaSAgdCBob3Qgc3BvdCBvdXRzaWRlIGltYWdlIGF0ICgzNSw0
KTwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvb25sb2FkLWltYWdl
LnBuZyksIHBvaW50ZXInPk92ZXIgbGFyZ2UgaW1hZ2Ugd2l0aCBmYWxsYmFjayB0byBwb2ludGVy
PC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKCNncmVlbmJveCksIHBvaW50ZXInPlNW
RyBjdXJzb3I8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwobW91c2UtY3Vyc29yLmh0
bWwpLCB1cmwodW5rbm93bi1zY2hlbWU6Y3Vyc29yLnBuZyksIHBvaW50ZXInPk11bHRpcGxlIGlu
dmFsaWQgY3Vyc29ycyB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXI8L2Rpdj4KKyAgPGRpdiBzdHls
ZT0nY3Vyc29yOiB1cmwoI25vbmV4aXN0ZW50KSwgcG9pbnRlcic+Tm9uZXhpc3RlbnQgU1ZHIGN1
cnNvciB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXI8L2Rpdj4KKyAgPGRpdj48YSBocmVmPScjJz5B
IGxpbmsgd2l0aCBkZWZhdWx0IGN1cnNvcjwvYT48L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29y
OiB3YWl0Jz48YSBocmVmPScjJz5MaW5rIHdpdGggZGVmYXVsdCBjdXJzb3Igb3ZlcnJpZGluZyB3
YWl0PC9hPjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHdhaXQnPjxkaXYgc3R5bGU9J2N1
cnNvcjogZG9lc250ZXhpc3QnPldhaXQgY3Vyc29yIHdoaWNoIHNob3VsZCBub3QgYmUgYWZmZWN0
ZWQgYnkgdW5rbm93biBjdXJzb3IgcnVsZTwvZGl2PjwvZGl2PgorPC9kaXY+Cis8YnIvPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgordmFyIGltYWdlc0xlZnRUb0xvYWQgPSAw
OworCitmdW5jdGlvbiBvbkltYWdlTG9hZChlKSB7CisKKyAgICAvLyBUaGlzIGRlYnVnIG91dHB1
dCBpcyBub24tZGV0ZXJtaW5pc3RpYyBhbmQgY29udGFpbnMgYWJzb2x1dGUgVVJMcyAtIG9ubHkg
c2hvdyB3aGVuCisgICAgLy8gbm90IHJ1bm5pbmcgaW4gRFJUCisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgZGVidWcoICdFdmVudCAiJyArIGUudHlwZSArICciOiAnICsgZS50
YXJnZXQuc3JjKTsKKyAgICAgICAgCisgICAgaW1hZ2VzTGVmdFRvTG9hZC0tOworICAgIGlmIChp
bWFnZXNMZWZ0VG9Mb2FkID09IDApCisgICAgICAgIHJ1blRlc3RzKCk7CisgICAgaWYgKGltYWdl
c0xlZnRUb0xvYWQgPCAwKQorICAgICAgICB0ZXN0RmFpbGVkKCdHb3QgbW9yZSBsb2FkL2Vycm9y
IGNhbGxiYWNrIHRoYW4gZXhwZWN0ZWQuJyk7Cit9CisKK2Z1bmN0aW9uIG9uSW1hZ2VVbmV4cGVj
dGVkKGUpIHsKKwlpbWFnZXNMZWZ0VG9Mb2FkLS07CisgICAgdGVzdEZhaWxlZCgnR290IHVuZXhw
ZWN0ZWQgXCcnICsgZS50eXBlICsgJ1wnIGV2ZW50IGZvciBpbWFnZTogJyArIGUudGFyZ2V0LnNy
Yyk7IAorfQorCitmdW5jdGlvbiBydW5UZXN0cygpIHsKKyAgICAvLyBDYW4ndCBkbyBhbnl0aGlu
ZyB1c2VmdWwgaGVyZSB3aXRob3V0IGV2ZW50U2VuZGVyCisgICAgaWYgKHdpbmRvdy5ldmVudFNl
bmRlcikgeworICAgICAgICB2YXIgbm9kZXNUb1Rlc3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9y
QWxsKCcjdGVzdC1jb250YWluZXIgPiBkaXYnKTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBub2Rlc1RvVGVzdC5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgdmFyIG5vZGUgPSBub2Rl
c1RvVGVzdFtpXTsKKyAgICAgICAgICAgIGRlYnVnKCdURVNUIENBU0U6ICcgKyBub2RlLnRleHRD
b250ZW50KTsKKworICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBub2RlIGlzIHZpc2libGUg
YW5kIG1vdmUgdGhlIG1vdXNlIG92ZXIgdG9wIG9mIGl0LgorICAgICAgICAgICAgZG9jdW1lbnQu
Ym9keS5zY3JvbGxUb3AgPSBub2RlLm9mZnNldFRvcCAtIDUwOworICAgICAgICAgICAgZXZlbnRT
ZW5kZXIubW91c2VNb3ZlVG8obm9kZS5vZmZzZXRMZWZ0ICsgMywgbm9kZS5vZmZzZXRUb3AgLSBk
b2N1bWVudC5ib2R5LnNjcm9sbFRvcCArIDMpOworCisgICAgICAgICAgICAvLyBHZXQgZGV0YWls
cyBvZiB0aGUgY3VycmVudCBtb3VzZSBjdXJzb3IuCisgICAgICAgICAgICAvLyBOb3RlIHRoYXQg
d2UgY291bGQgcmV0dXJuIHN0cnVjdHVyZWQgZGF0YSB3aGljaCB3ZSB0aGVuIHZhbGlkYXRlLCBi
dXQgdGhhdCdzIGEgbG90IG1vcmUKKyAgICAgICAgICAgIC8vIHdvcmsgYW5kIGlzIHJlZHVuZGFu
dCB3aXRoIHJlbHlpbmcgb24gdGhlIGV4cGVjdGVkIG91dHB1dCBhbnl3YXkuICBCZXR0ZXIgdG8g
anVzdCBkdW1wCisgICAgICAgICAgICAvLyBpdCBhbmQgaW5zcGVjdCB0aGF0IGl0IG1hdGNoZXMg
dGhlIGRlc2NyaXB0aW9uLgorICAgICAgICAgICAgZGVidWcoJ0N1cnNvciBJbmZvOiAnICsgd2lu
ZG93LmludGVybmFscy5nZXRDdXJyZW50Q3Vyc29ySW5mbyhkb2N1bWVudCkpOworICAgICAgICAg
ICAgZGVidWcoJycpOworICAgICAgICB9CisgICAgICAgIC8vIFRoaXMgdGV4dCBpcyByZWR1bmRh
bnQgd2l0aCB0aGUgdGVzdCBvdXRwdXQgLSBoaWRlIGl0CisgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCd0ZXN0LWNvbnRhaW5lcicpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CisgICAg
fQorICAgIAorICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitkZXNjcmlwdGlvbigiVGVzdCB0aGF0
IG1vdXNlIGN1cnNvcnMgYXJlIGFwcGxpZWQgY29ycmVjdGx5LiIpOworCitpZiAoIXdpbmRvdy5l
dmVudFNlbmRlcikgeworICAgIHRlc3RGYWlsZWQoJ1RoaXMgdGVzdCByZXF1aXJlcyBEdW1wUmVu
ZGVyVHJlZScpOworfQorCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB3aW5k
b3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit9CisKKy8vIE5vdyB3YWl0IGZvciBlYWNoIGltYWdl
IHRvIGxvYWQgb3IgZmFpbCB0byBsb2FkIGJlZm9yZSBzdGFydGluZyB0ZXN0cy4KKy8vIFdpdGhv
dXQgdGhpcyB3ZSBjYW4gZ2V0IG51bGwgaW1hZ2VzIGluIHRoZSBjdXJzb3JzIC0gZWcuIG5vIGtu
b3duIHNpemUuCit2YXIgaW1hZ2VzVG9Mb2FkID0gWworICAgIHsgdXJsOiAncmVzb3VyY2VzL2dy
ZWVuYm94LnBuZycgfSwKKyAgICB7IHVybDogJ3Jlc291cmNlcy9vbmxvYWQtaW1hZ2UucG5nJyB9
LAorICAgIHsgdXJsOiAncmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3Q1LTQuY3VyJyB9LAorICAg
IHsgdXJsOiAncmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3QzNS00LmN1cicgfSwKKyAgICB7IHVy
bDogJ2RvZXNudGV4aXN0LnBuZycsIGVycm9yOiB0cnVlIH0sCisgICAgeyB1cmw6ICd1bmtub3du
LXNjaGVtZTpjdXJzb3IucG5nJywgZXJyb3I6IHRydWUgfSwKKyAgICB7IHVybDogJ21vdXNlLWN1
cnNvci5odG1sJywgZXJyb3I6IHRydWUgfSwKKyAgICB7IHVybDogJyNub25leGlzdGVudCcsIGVy
cm9yOiB0cnVlIH0gXTsKK2ltYWdlc0xlZnRUb0xvYWQgPSBpbWFnZXNUb0xvYWQubGVuZ3RoOwor
Zm9yICh2YXIgaSA9IDA7IGkgPCBpbWFnZXNUb0xvYWQubGVuZ3RoOyBpKyspIHsKKyAgICB2YXIg
aW1nID0gbmV3IEltYWdlKCk7CisgICAgdmFyIGV4cGVjdEVycm9yID0gaW1hZ2VzVG9Mb2FkW2ld
LmVycm9yOyAKKyAgICBpbWcuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGV4cGVjdEVycm9yID8g
b25JbWFnZVVuZXhwZWN0ZWQgOiBvbkltYWdlTG9hZCk7CisgICAgaW1nLmFkZEV2ZW50TGlzdGVu
ZXIoJ2Vycm9yJywgZXhwZWN0RXJyb3IgPyBvbkltYWdlTG9hZCA6IG9uSW1hZ2VVbmV4cGVjdGVk
KTsKKyAgICBpbWcuc3JjID0gaW1hZ2VzVG9Mb2FkW2ldLnVybDsKK30KKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3Jlc291cmNlcy9ncmVlbmJveC0zZnJhbWVzLmN1ciBiL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3Jlc291cmNlcy9ncmVlbmJveC0zZnJhbWVzLmN1cgpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYjA5ZDY0MTZj
YjU3NzdjM2UwN2U0NmFmZjBhNGM0MzJmNGFlZDQ2CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAz
OTAKemNtWlF6VX05aXE7OV9OQjs5eXszaCt0cX5GYXUlezl3cjdNMjV5RTRLejFKeF5ScUtDQEdg
SjVXQn1RNmowX0FLCnpLJDs3Ujg1d3tBS3ArQXBBcHtlUXtVNjRfTGZkMUNmeUBQJkJMVCFQYX1B
SmA1b0lvdGRRMnVpclZ0KHhrYjZLbgpWXzwkSlo5dkxMe0IpSkM/T2h+I0JPYU49TzJUY0Z+Cgps
aXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9yZXNvdXJjZXMvZ3JlZW5ib3gtaG90c3BvdDM1LTQuY3VyIGIvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3QzNS00LmN1cgpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MjIy
NmM1MWUyNDVkM2Y4NDY4YWY2ODI4OWQ1MzE3ZmRlNjkyZWQwCkdJVCBiaW5hcnkgcGF0Y2gKbGl0
ZXJhbCAyNzAKemNtWlF6VX05aW9rZCRPJVAtYjlaX2AkJXlBT14lNUtyOUt3TW5LRjZnZG1VdENM
c2g5alF0PFJwYkszfllnKyZ8CkN2OylLZAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3Q1
LTQuY3VyIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LWhvdHNw
b3Q1LTQuY3VyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhZTdjOWMyNzA2OThjM2ViNWZlNjkwNjA2NzVhOGM3YmVm
Nzk0MDYKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDI3MAp6Y21aUXpVfTlpb2tkJE8lVX1hIW9f
YCQleUFPXiU1S3I5S3dNbktGNmdkbVV0Q0xzaDlqUXQ8UnBiSzN+WWcrJnEKQ0pPaWN4CgpsaXRl
cmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
VGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IDQ2NWI2ZjkyMzIyYTkzMTM4NGMyZGUyYjA0ZDkzY2RlYTgyMDEzMzMuLjA2Yzc0
MjUxZDBhOThmOTYyNmYzYjYxODBjNzBiYjQyMzM0YWI1MDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMTcxLDMgKzExNzEsNiBAQCB3ZWJraXQub3Jn
L2IvMTAwODQ2IGluc3BlY3Rvci1wcm90b2NvbC9kZWJ1Z2dlci10ZXJtaW5hdGUtZGVkaWNhdGVk
LXdvcmtlci13aGlsZQogd2Via2l0Lm9yZy9iLzEwMDE0MiBjc3MzL2ZpbHRlcnMvZWZmZWN0LXJl
ZmVyZW5jZS1ody5odG1sIFsgRmFpbCBdCiB3ZWJraXQub3JnL2IvMTAwMTQyIGNzczMvZmlsdGVy
cy9lZmZlY3QtcmVmZXJlbmNlLW9yZGVyaW5nLWh3Lmh0bWwgWyBGYWlsIF0KIHdlYmtpdC5vcmcv
Yi8xMDAxNDIgY3NzMy9maWx0ZXJzL2VmZmVjdC1yZWZlcmVuY2UuaHRtbCBbIEZhaWwgXQorCisj
IEhhbmdzIHNhZmFyaSBhcHBhcmVudGx5IGR1ZSB0byBhbiBpc3N1ZSB3aXRoIENvcmVHcmFwaGlj
cyBhbmQgd2VpcmQgbXVsdGktZnJhbWUgQ1VSIGltYWdlIGZpbGVzCit3ZWJraXQub3JnL2IvMTAx
ODExIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1tdWx0aWZyYW1lY3VyLmh0bWwgWyBTa2lwIF0K
ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA4Nzg5OWFhYzc0NTVhNzA1
ZTk4Yzk2ZjRmZmEwMGI1OGJjMjdkZTU2Li45MGFhODFiNGEwNzc0ODFhNTA4YTAwN2JkY2FhMzM0
ZGQ4NjIzY2Y0IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTItMTEtMDkgIFJpY2sgQnllcnMgIDxyYnllcnNAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIE5vIHRlc3RzIGZvciBjaGFuZ2luZyBtb3VzZSBjdXJzb3JzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA1NTAKKworICAgICAgICBS
ZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIEFkZCBuZWNlc3NhcnkgZXhwb3J0cyBm
b3IgSW50ZXJuYWxzOjpnZXRDdXJyZW50Q3Vyc29ySW5mbworCisgICAgICAgICogU291cmNlL2F1
dG90b29scy9zeW1ib2xzLmZpbHRlcjoKKwogMjAxMi0xMS0wOSAgTGFzemxvIEdvbWJvcyAgPGwu
Z29tYm9zQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdIEVuYWJsZSAtV2Vycm9yIGZvciB0
aGUgRUZMIHBvcnQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173431</attachid>
            <date>2012-11-09 20:44:27 -0800</date>
            <delta_ts>2012-11-10 04:33:48 -0800</delta_ts>
            <desc>Tweaks based on pkastings review</desc>
            <filename>bug-100059-20121109234233.patch</filename>
            <type>text/plain</type>
            <size>19995</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjdiMWQxODYyMjE4ODMx
Mzg3MGQwNzRlYjY1NmUzZWYyNWYxZTYyOC4uZTNjNGU5MTYyYzA1OGJmNjY2MzVlYzNmMmVmZGU4
YTkxMzFjNTkyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTExLTA5ICBSaWNr
IEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBjdXN0b20gQ1NTIGN1cnNv
cnMgaWdub3JlIGhvdHNwb3QgdmFsdWVzIGVtYmVkZGVkIGluIENVUiBmaWxlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMDU5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHJlYWRpbmcgdGhlIGhv
dHNwb3QgdmFsdWVzIHRvIHRoZSBJQ09JbWFnZURlY29kZXIgKGZvciBDVVIgZmlsZXMgb25seSks
CisgICAgICAgIGFuZCBwbHVtYiBpdCB0aHJvdWdoIHNvIHRoYXQgdGhlIGV4aXN0aW5nIGNhbGxz
IHRvIEltYWdlU291cmNlOjpnZXRIb3RTcG90CisgICAgICAgIGFjdHVhbGx5IHJldHVybiB0aGUg
aG90IHNwb3QgdmFsdWUgd2hlbiB0aGVyZSBpcyBvbmUuCisKKyAgICAgICAgVGVzdHM6IGZhc3Qv
ZXZlbnRzL21vdXNlLWN1cnNvci5odG1sLCBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItbXVsdGlm
cmFtZWN1ci5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVNvdXJjZTo6Z2V0SG90U3BvdCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RGVmZXJyZWRJbWFnZURlY29kZXI6OmhvdFNwb3QpOgorICAgICAg
ICAoV2ViQ29yZTo6RGVmZXJyZWRJbWFnZURlY29kZXI6OmhvdFNwb3RBdEluZGV4KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVjb2Rlci5oOgor
ICAgICAgICAoRGVmZXJyZWRJbWFnZURlY29kZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2ltYWdl
LWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VEZWNvZGVy
Ojpob3RTcG90KToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlRGVjb2Rlcjo6aG90U3BvdEF0SW5k
ZXgpOgorICAgICAgICAoSW1hZ2VEZWNvZGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1k
ZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklDT0lt
YWdlRGVjb2Rlcjo6aG90U3BvdCk6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6
OmhvdFNwb3RBdEluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OklDT0ltYWdlRGVjb2Rlcjo6cHJv
Y2Vzc0RpcmVjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6OnJlYWRE
aXJlY3RvcnlFbnRyeSk6CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lD
T0ltYWdlRGVjb2Rlci5oOgorICAgICAgICAoSUNPSW1hZ2VEZWNvZGVyKToKKyAgICAgICAgKElj
b25EaXJlY3RvcnlFbnRyeSk6CisKIDIwMTItMTEtMDggIFJpY2sgQnllcnMgIDxyYnllcnNAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIE1vdmUgY2hyb21pdW0gdG8gVVNFKExBWllfTkFUSVZFX0NV
UlNPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdl
U291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNl
LmNwcAppbmRleCA1Njg1N2E0M2Y1NDg0MjNlOGJkOTJkMzIyZDk2ZDgxMGMyYmI2NzlhLi4wZjQ2
ZDcwM2M3YThjNmRiZGJkMmQ4OTY1MDIxMWMzNDNlZjBiMGNkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3BwCkBAIC0xMjEsOSArMTIxLDkg
QEAgSW50U2l6ZSBJbWFnZVNvdXJjZTo6ZnJhbWVTaXplQXRJbmRleChzaXplX3QgaW5kZXgsIFJl
c3BlY3RJbWFnZU9yaWVudGF0aW9uRW51bQogICAgIHJldHVybiBzaXplOwogfQogCi1ib29sIElt
YWdlU291cmNlOjpnZXRIb3RTcG90KEludFBvaW50JikgY29uc3QKK2Jvb2wgSW1hZ2VTb3VyY2U6
OmdldEhvdFNwb3QoSW50UG9pbnQmIGhvdFNwb3QpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGZhbHNl
OworICAgIHJldHVybiBtX2RlY29kZXIgPyBtX2RlY29kZXItPmhvdFNwb3QoaG90U3BvdCkgOiBm
YWxzZTsKIH0KIAogc2l6ZV90IEltYWdlU291cmNlOjpieXRlc0RlY29kZWRUb0RldGVybWluZVBy
b3BlcnRpZXMoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuY3BwCmluZGV4
IDg2M2NhMTI3ZTAyOWRiMjZlMjBlZDhlYzY3NDdmZjk1NzFmMjE3YmQuLjMzY2I4Y2Y4NGUxYzQy
YzY3YjEyZjY3NWYxYmI3NzM5MjlmNTk2YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0RlZmVycmVkSW1hZ2VEZWNvZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVj
b2Rlci5jcHAKQEAgLTE1OCw0ICsxNTgsOSBAQCBJbWFnZU9yaWVudGF0aW9uIERlZmVycmVkSW1h
Z2VEZWNvZGVyOjpvcmllbnRhdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIG1fYWN0dWFsRGVjb2Rl
ciA/IG1fYWN0dWFsRGVjb2Rlci0+b3JpZW50YXRpb24oKSA6IG1fb3JpZW50YXRpb247CiB9CiAK
K2Jvb2wgRGVmZXJyZWRJbWFnZURlY29kZXI6OmhvdFNwb3QoSW50UG9pbnQmIGhvdFNwb3QpIGNv
bnN0Cit7CisgICAgcmV0dXJuIG1fYWN0dWFsRGVjb2RlciA/IG1fYWN0dWFsRGVjb2Rlci0+aG90
U3BvdChob3RTcG90KSA6IGZhbHNlOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EZWZlcnJl
ZEltYWdlRGVjb2Rlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vRGVmZXJyZWRJbWFnZURlY29kZXIuaAppbmRleCA2MGQ4Y2MxMDg4OTk2Mjk2YmNjMGQ1MDUy
OGJhMzYzMDEzZDRjZDg4Li5jZDkwMWZlZTQ2MThiOGEwMzFmYmQwNzdkMjJiODFkMTkzMTA3ZDVm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9E
ZWZlcnJlZEltYWdlRGVjb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0RlZmVycmVkSW1hZ2VEZWNvZGVyLmgKQEAgLTU3LDYgKzU3LDcgQEAgcHVi
bGljOgogICAgIGJvb2wgZnJhbWVIYXNBbHBoYUF0SW5kZXgoc2l6ZV90IGluZGV4KSBjb25zdDsK
ICAgICB1bnNpZ25lZCBmcmFtZUJ5dGVzQXRJbmRleChzaXplX3QgaW5kZXgpIGNvbnN0OwogICAg
IEltYWdlT3JpZW50YXRpb24gb3JpZW50YXRpb24oKSBjb25zdDsKKyAgICBib29sIGhvdFNwb3Qo
SW50UG9pbnQmKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBEZWZlcnJlZEltYWdl
RGVjb2RlcihJbWFnZURlY29kZXIqIGFjdHVhbERlY29kZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaAppbmRleCA4YzBk
YjM5MjlmNTQyMDhiNDdmYTM2MzgyNzM2YmZiMzE1NjQ3ZjU3Li4yYjVjOTgzNmEzOWQyMTNlODli
NjM5YjY2OGRlYTEyNWViNjljYTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaApAQCAtMzc2LDYgKzM3NiwxMCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0TWF4TnVtUGl4ZWxzKGludCBtKSB7
IG1fbWF4TnVtUGl4ZWxzID0gbTsgfQogI2VuZGlmCiAKKyAgICAgICAgLy8gSWYgdGhlIGltYWdl
IGhhcyBhIGN1cnNvciBob3Qtc3BvdCwgc3RvcmVzIGl0IGluIHRoZSBhcmd1bWVudAorICAgICAg
ICAvLyBhbmQgcmV0dXJucyB0cnVlLiBPdGhlcndpc2UgcmV0dXJucyBmYWxzZS4KKyAgICAgICAg
dmlydHVhbCBib29sIGhvdFNwb3QoSW50UG9pbnQmKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQor
CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZv
KikgY29uc3Q7CiAKICAgICBwcm90ZWN0ZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuY3BwCmlu
ZGV4IDJkYjNlY2Y2Y2U3ZmNjNzMyY2UyNDM1ZGRlNGRjOTc5OGM2ODYzMDguLmEzZTI5NTI2NDhh
MTk4ODg4ZTY2ZTQ3ZDFmYzE5MmU2ODI2MWRhMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIu
Y3BwCkBAIC0xMzMsNiArMTMzLDI0IEBAIGJvb2wgSUNPSW1hZ2VEZWNvZGVyOjpzZXRGYWlsZWQo
KQogICAgIHJldHVybiBJbWFnZURlY29kZXI6OnNldEZhaWxlZCgpOwogfQogCitib29sIElDT0lt
YWdlRGVjb2Rlcjo6aG90U3BvdChJbnRQb2ludCYgaG90U3BvdCkgY29uc3QKK3sKKyAgICAvLyBX
aGVuIHVuc3BlY2lmaWVkLCB0aGUgZGVmYXVsdCBmcmFtZSBpcyBhbHdheXMgZnJhbWUgMC4gVGhp
cyBpcyBjb25zaXN0ZW50IHdpdGgKKyAgICAvLyBCaXRtYXBJbWFnZSB3aGVyZSBjdXJyZW50RnJh
bWUoKSBzdGFydHMgYXQgMCBhbmQgb25seSBpbmNyZWFzZXMgd2hlbiBhbmltYXRpb24gaXMKKyAg
ICAvLyByZXF1ZXN0ZWQuCisgICAgcmV0dXJuIGhvdFNwb3RBdEluZGV4KDAsIGhvdFNwb3QpOwor
fQorCitib29sIElDT0ltYWdlRGVjb2Rlcjo6aG90U3BvdEF0SW5kZXgoc2l6ZV90IGluZGV4LCBJ
bnRQb2ludCYgaG90U3BvdCkgY29uc3QKK3sKKyAgICBpZiAoaW5kZXggPj0gbV9kaXJFbnRyaWVz
LnNpemUoKSB8fCBtX2ZpbGVUeXBlICE9IENVUlNPUikKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgaG90U3BvdCA9IG1fZGlyRW50cmllc1tpbmRleF0ubV9ob3RTcG90OworICAgIHJldHVy
biB0cnVlOworfQorCisKIC8vIHN0YXRpYwogYm9vbCBJQ09JbWFnZURlY29kZXI6OmNvbXBhcmVF
bnRyaWVzKGNvbnN0IEljb25EaXJlY3RvcnlFbnRyeSYgYSwgY29uc3QgSWNvbkRpcmVjdG9yeUVu
dHJ5JiBiKQogewpAQCAtMjMyLDEzICsyNTAsMTEgQEAgYm9vbCBJQ09JbWFnZURlY29kZXI6OnBy
b2Nlc3NEaXJlY3RvcnkoKQogCiAgICAgLy8gU2VlIGlmIHRoaXMgaXMgYW4gaWNvbiBmaWxldHlw
ZSB3ZSB1bmRlcnN0YW5kLCBhbmQgbWFrZSBzdXJlIHdlIGhhdmUgYXQKICAgICAvLyBsZWFzdCBv
bmUgZW50cnkgaW4gdGhlIGRpcmVjdG9yeS4KLSAgICBlbnVtIHsKLSAgICAgICAgSUNPTiA9IDEs
Ci0gICAgICAgIENVUlNPUiA9IDIsCi0gICAgfTsKICAgICBpZiAoKChmaWxlVHlwZSAhPSBJQ09O
KSAmJiAoZmlsZVR5cGUgIT0gQ1VSU09SKSkgfHwgKCFpZENvdW50KSkKICAgICAgICAgcmV0dXJu
IHNldEZhaWxlZCgpOwogCisgICAgbV9maWxlVHlwZSA9IHN0YXRpY19jYXN0PEZpbGVUeXBlPihm
aWxlVHlwZSk7CisKICAgICAvLyBFbmxhcmdlIG1lbWJlciB2ZWN0b3JzIHRvIGhvbGQgYWxsIHRo
ZSBlbnRyaWVzLgogICAgIG1fZGlyRW50cmllcy5yZXNpemUoaWRDb3VudCk7CiAgICAgbV9ibXBS
ZWFkZXJzLnJlc2l6ZShpZENvdW50KTsKQEAgLTI4Nyw3ICszMDMsMTMgQEAgSUNPSW1hZ2VEZWNv
ZGVyOjpJY29uRGlyZWN0b3J5RW50cnkgSUNPSW1hZ2VEZWNvZGVyOjpyZWFkRGlyZWN0b3J5RW50
cnkoKQogICAgICAgICBoZWlnaHQgPSAyNTY7CiAgICAgSWNvbkRpcmVjdG9yeUVudHJ5IGVudHJ5
OwogICAgIGVudHJ5Lm1fc2l6ZSA9IEludFNpemUod2lkdGgsIGhlaWdodCk7Ci0gICAgZW50cnku
bV9iaXRDb3VudCA9IHJlYWRVaW50MTYoNik7CisgICAgaWYgKG1fZmlsZVR5cGUgPT0gQ1VSU09S
KSB7CisgICAgICAgIGVudHJ5Lm1fYml0Q291bnQgPSAwOworICAgICAgICBlbnRyeS5tX2hvdFNw
b3QgPSBJbnRQb2ludChyZWFkVWludDE2KDQpLCByZWFkVWludDE2KDYpKTsKKyAgICB9IGVsc2Ug
eworICAgICAgICBlbnRyeS5tX2JpdENvdW50ID0gcmVhZFVpbnQxNig2KTsKKyAgICAgICAgZW50
cnkubV9ob3RTcG90ID0gSW50UG9pbnQoKTsKKyAgICB9CiAgICAgZW50cnkubV9pbWFnZU9mZnNl
dCA9IHJlYWRVaW50MzIoMTIpOwogCiAgICAgLy8gU29tZSBpY29ucyBkb24ndCBoYXZlIGEgYml0
IGRlcHRoLCBvbmx5IGEgY29sb3IgY291bnQuICBDb252ZXJ0IHRoZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVj
b2Rlci5oCmluZGV4IDMxZDkxYzgxOTAyZmIwZDJjNjlkYzBhMzYxOGNiZGM1NGJmNmI3MTMuLmE5
MDlkZWI4MDgzNWU4MmQ1OGE4OGE4OTU2YzMzNzg3MjRjZDlmMmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VE
ZWNvZGVyLmgKQEAgLTU2LDYgKzU2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAv
LyBhdm9pZCBhY2Nlc3NpbmcgZGVsZXRlZCBtZW1vcnksIGVzcGVjaWFsbHkgd2hlbiBjYWxsaW5n
IHRoaXMgZnJvbQogICAgICAgICAvLyBpbnNpZGUgQk1QSW1hZ2VSZWFkZXIhCiAgICAgICAgIHZp
cnR1YWwgYm9vbCBzZXRGYWlsZWQoKTsKKyAgICAgICAgdmlydHVhbCBib29sIGhvdFNwb3QoSW50
UG9pbnQmKSBjb25zdDsKIAogICAgIHByaXZhdGU6CiAgICAgICAgIGVudW0gSW1hZ2VUeXBlIHsK
QEAgLTY0LDkgKzY1LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIFBORywK
ICAgICAgICAgfTsKIAorICAgICAgICBlbnVtIEZpbGVUeXBlIHsKKyAgICAgICAgICAgIElDT04g
PSAxLAorICAgICAgICAgICAgQ1VSU09SID0gMiwKKyAgICAgICAgfTsKKwogICAgICAgICBzdHJ1
Y3QgSWNvbkRpcmVjdG9yeUVudHJ5IHsKICAgICAgICAgICAgIEludFNpemUgbV9zaXplOwogICAg
ICAgICAgICAgdWludDE2X3QgbV9iaXRDb3VudDsKKyAgICAgICAgICAgIEludFBvaW50IG1faG90
U3BvdDsKICAgICAgICAgICAgIHVpbnQzMl90IG1faW1hZ2VPZmZzZXQ7CiAgICAgICAgIH07CiAK
QEAgLTEwOSw2ICsxMTYsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyBjb3Vs
ZCBiZSBkZWNvZGVkLgogICAgICAgICBib29sIHByb2Nlc3NEaXJlY3RvcnlFbnRyaWVzKCk7CiAK
KyAgICAgICAgLy8gU3RvcmVzIHRoZSBob3Qtc3BvdCBmb3IgfGluZGV4fCBpbiB8aG90U3BvdHwg
YW5kIHJldHVybnMgdHJ1ZSwKKyAgICAgICAgLy8gb3IgcmV0dXJucyBmYWxzZSBpZiB0aGVyZSBp
cyBub25lLgorICAgICAgICBib29sIGhvdFNwb3RBdEluZGV4KHNpemVfdCBpbmRleCwgSW50UG9p
bnQmIGhvdFNwb3QpIGNvbnN0OworCiAgICAgICAgIC8vIFJlYWRzIGFuZCByZXR1cm5zIGEgZGly
ZWN0b3J5IGVudHJ5IGZyb20gdGhlIGN1cnJlbnQgb2Zmc2V0IGludG8KICAgICAgICAgLy8gfGRh
dGF8LgogICAgICAgICBJY29uRGlyZWN0b3J5RW50cnkgcmVhZERpcmVjdG9yeUVudHJ5KCk7CkBA
IC0xMjIsNiArMTMzLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyBCTVBJbWFn
ZVJlYWRlciB0YWtlcyBvdmVyIHRoaXMgd2lsbCBub3QgYmUgdXBkYXRlZCBmdXJ0aGVyLgogICAg
ICAgICBzaXplX3QgbV9kZWNvZGVkT2Zmc2V0OwogCisgICAgICAgIC8vIFdoaWNoIHR5cGUgb2Yg
ZmlsZSAoSUNPL0NVUikgdGhpcyBpcy4KKyAgICAgICAgRmlsZVR5cGUgbV9maWxlVHlwZTsKKwog
ICAgICAgICAvLyBUaGUgaGVhZGVycyBmb3IgdGhlIElDTy4KICAgICAgICAgdHlwZWRlZiBWZWN0
b3I8SWNvbkRpcmVjdG9yeUVudHJ5PiBJY29uRGlyZWN0b3J5RW50cmllczsKICAgICAgICAgSWNv
bkRpcmVjdG9yeUVudHJpZXMgbV9kaXJFbnRyaWVzOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDdiYmQyZjg5YTc4NTkzZDc5
YjczNTczOTI2NDZmZGUxNTU5MjgzNmQuLmRhNzQ3ZjkyOGRhZTYzY2NjMmYxZDExN2NiNzIwY2Uw
Mjk3YjljMzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMyBAQAogMjAxMi0xMS0wOSAgUmljayBCeWVycyAg
PHJieWVyc0BjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgY3VzdG9tIENTUyBjdXJzb3JzIGlnbm9y
ZSBob3RzcG90IHZhbHVlcyBlbWJlZGRlZCBpbiBDVVIgZmlsZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDA1OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBtb3VzZSBjdXJzb3IgdGVzdCBjYXNl
cyB0aGF0IHVzZSBDVVIgZmlsZXMgdGhhdCBoYXZlIGVtYmVkZGVkIGhvdHNwb3QgdmFsdWVzLgor
CisgICAgICAgICogZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItbXVsdGlmcmFtZWN1ci1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1tdWx0aWZyYW1lY3Vy
Lmh0bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5o
dG1sLgorICAgICAgICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sOgorICAgICAgICAq
IGZhc3QvZXZlbnRzL3Jlc291cmNlcy9ncmVlbmJveC0zZnJhbWVzLmN1cjogQWRkZWQuCisgICAg
ICAgICogZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3QzNS00LmN1cjogQWRk
ZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3Q1LTQu
Y3VyOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczogU2tp
cCB0aGUgbXVsdGktZnJhbWUgY2FzZSBvbiBtYWMgZHVlIHRvIGFuIGFwcGFyZW50IENHIGhhbmcK
KworMjAxMi0xMS0wOSAgUmljayBCeWVycyAgPHJieWVyc0BjaHJvbWl1bS5vcmc+CisKICAgICAg
ICAgW2Nocm9taXVtXSBNb3ZlIHRvIFVTRShMQVpZX05BVElWRV9DVVJTT1IpCiAgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE1MDEKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1leHBlY3RlZC50eHQKaW5kZXggOGMx
NWE5MWI0NDMwMzg2YmUzMTgxNTA0MWEzYjA5YzZhOWFmYjM5Zi4uMTA1NGVmNDEwM2FmNzhkNzZk
OWQ3MWFkYjZjN2VlNmU5ZDY1OGRmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0CkBAIC00NSw2ICs0NSwxNSBAQCBDdXJzb3IgSW5m
bzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CiBURVNUIENBU0U6IElt
YWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3Qgb3V0c2lkZSBpbWFnZSBhdCAoMzAsMzApCiBDdXJz
b3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CiAKK1RFU1Qg
Q0FTRTogSW1hZ2Ugd2l0aCBpbXBsaWNpdCBob3Qgc3BvdCBhdCAoNSw0KQorQ3Vyc29yIEluZm86
IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTUsNCBpbWFnZT0yNXgyNQorCitURVNUIENBU0U6IElt
YWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKDIwLDEwKSBvdmVycmlkaW5nIGltcGxpY2l0
IGhvdCBzcG90CitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MjAsMTAgaW1h
Z2U9MjV4MjUKKworVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGltcGxpY2l0IGhvdCBzcG90IG91dHNp
ZGUgaW1hZ2UgYXQgKDM1LDQpCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9
MCwwIGltYWdlPTI1eDI1CisKIFRFU1QgQ0FTRTogT3ZlciBsYXJnZSBpbWFnZSB3aXRoIGZhbGxi
YWNrIHRvIHBvaW50ZXIKIEN1cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCwwCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1tdWx0aWZy
YW1lY3VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNv
ci1tdWx0aWZyYW1lY3VyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMjM3ODNlMjJmMWI2MDJk
Mzk3NjQyMDE0Nzk4MjVlOWNhNDRlNmNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLW11bHRpZnJhbWVjdXItZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMTggQEAKK1Rlc3QgdGhhdCBtb3VzZSBjdXJzb3JzIGFyZSBhcHBsaWVkIGNvcnJlY3Rs
eS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0J1ZyAxMDAwNTkKKworCitURVNU
IENBU0U6IEltcGxpY2l0IGRlZmF1bHQgY3Vyc29yCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSUJl
YW0gaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBDVVIgZmlsZSB3aXRoIDMgZnJhbWVzLCBsYXJn
ZXN0IG9mIHdoaWNoICgybmQgZnJhbWUpIGlzIDIweDEyIHdpdGggaG90c3BvdCBhdCAoMTgsMTEp
LgorQ3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTE4LDExIGltYWdlPTIweDEy
CisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItbXVsdGlmcmFt
ZWN1ci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLW11bHRpZnJh
bWVjdXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYzZlNmY0YjA3ODdhYTk1MzE1YWNiNzI0MjE4NmZhMmY2
ZmFmMTc1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2Ut
Y3Vyc29yLW11bHRpZnJhbWVjdXIuaHRtbApAQCAtMCwwICsxLDkzIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxwPjxhIGhyZWY9aHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDU1MD5CdWcgMTAwMDU5PC9hPjwv
cD4KKzxkaXYgaWQ9InRlc3QtY29udGFpbmVyIj4KKyAgPGRpdj5JbXBsaWNpdCBkZWZhdWx0IGN1
cnNvcjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gt
M2ZyYW1lcy5jdXIpLCBwb2ludGVyJz5DVVIgZmlsZSB3aXRoIDMgZnJhbWVzLCBsYXJnZXN0IG9m
IHdoaWNoICgybmQgZnJhbWUpIGlzIDIweDEyIHdpdGggaG90c3BvdCBhdCAoMTgsMTEpLjwvZGl2
PgorPC9kaXY+Cis8YnIvPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgordmFy
IGltYWdlc0xlZnRUb0xvYWQgPSAwOworCitmdW5jdGlvbiBvbkltYWdlTG9hZChlKSB7CisKKyAg
ICAvLyBUaGlzIGRlYnVnIG91dHB1dCBpcyBub24tZGV0ZXJtaW5pc3RpYyBhbmQgY29udGFpbnMg
YWJzb2x1dGUgVVJMcyAtIG9ubHkgc2hvdyB3aGVuCisgICAgLy8gbm90IHJ1bm5pbmcgaW4gRFJU
CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgZGVidWcoICdFdmVudCAiJyAr
IGUudHlwZSArICciOiAnICsgZS50YXJnZXQuc3JjKTsKKyAgICAgICAgCisgICAgaW1hZ2VzTGVm
dFRvTG9hZC0tOworICAgIGlmIChpbWFnZXNMZWZ0VG9Mb2FkID09IDApCisgICAgICAgIHJ1blRl
c3RzKCk7CisgICAgaWYgKGltYWdlc0xlZnRUb0xvYWQgPCAwKQorICAgICAgICB0ZXN0RmFpbGVk
KCdHb3QgbW9yZSBsb2FkL2Vycm9yIGNhbGxiYWNrIHRoYW4gZXhwZWN0ZWQuJyk7Cit9CisKK2Z1
bmN0aW9uIG9uSW1hZ2VVbmV4cGVjdGVkKGUpIHsKKwlpbWFnZXNMZWZ0VG9Mb2FkLS07CisgICAg
dGVzdEZhaWxlZCgnR290IHVuZXhwZWN0ZWQgXCcnICsgZS50eXBlICsgJ1wnIGV2ZW50IGZvciBp
bWFnZTogJyArIGUudGFyZ2V0LnNyYyk7IAorfQorCitmdW5jdGlvbiBydW5UZXN0cygpIHsKKyAg
ICAvLyBDYW4ndCBkbyBhbnl0aGluZyB1c2VmdWwgaGVyZSB3aXRob3V0IGV2ZW50U2VuZGVyCisg
ICAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICB2YXIgbm9kZXNUb1Rlc3QgPSBk
b2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjdGVzdC1jb250YWluZXIgPiBkaXYnKTsKKyAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2Rlc1RvVGVzdC5sZW5ndGg7IGkrKykgeworICAgICAg
ICAgICAgdmFyIG5vZGUgPSBub2Rlc1RvVGVzdFtpXTsKKyAgICAgICAgICAgIGRlYnVnKCdURVNU
IENBU0U6ICcgKyBub2RlLnRleHRDb250ZW50KTsKKworICAgICAgICAgICAgLy8gTWFrZSBzdXJl
IHRoZSBub2RlIGlzIHZpc2libGUgYW5kIG1vdmUgdGhlIG1vdXNlIG92ZXIgdG9wIG9mIGl0Lgor
ICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgPSBub2RlLm9mZnNldFRvcCAtIDUw
OworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8obm9kZS5vZmZzZXRMZWZ0ICsg
Mywgbm9kZS5vZmZzZXRUb3AgLSBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCArIDMpOworCisgICAg
ICAgICAgICAvLyBHZXQgZGV0YWlscyBvZiB0aGUgY3VycmVudCBtb3VzZSBjdXJzb3IuCisgICAg
ICAgICAgICAvLyBOb3RlIHRoYXQgd2UgY291bGQgcmV0dXJuIHN0cnVjdHVyZWQgZGF0YSB3aGlj
aCB3ZSB0aGVuIHZhbGlkYXRlLCBidXQgdGhhdCdzIGEgbG90IG1vcmUKKyAgICAgICAgICAgIC8v
IHdvcmsgYW5kIGlzIHJlZHVuZGFudCB3aXRoIHJlbHlpbmcgb24gdGhlIGV4cGVjdGVkIG91dHB1
dCBhbnl3YXkuICBCZXR0ZXIgdG8ganVzdCBkdW1wCisgICAgICAgICAgICAvLyBpdCBhbmQgaW5z
cGVjdCB0aGF0IGl0IG1hdGNoZXMgdGhlIGRlc2NyaXB0aW9uLgorICAgICAgICAgICAgZGVidWco
J0N1cnNvciBJbmZvOiAnICsgd2luZG93LmludGVybmFscy5nZXRDdXJyZW50Q3Vyc29ySW5mbyhk
b2N1bWVudCkpOworICAgICAgICAgICAgZGVidWcoJycpOworICAgICAgICB9CisgICAgICAgIC8v
IFRoaXMgdGV4dCBpcyByZWR1bmRhbnQgd2l0aCB0aGUgdGVzdCBvdXRwdXQgLSBoaWRlIGl0Cisg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0LWNvbnRhaW5lcicpLnN0eWxlLmRp
c3BsYXkgPSAnbm9uZSc7CisgICAgfQorICAgIAorICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitk
ZXNjcmlwdGlvbigiVGVzdCB0aGF0IG1vdXNlIGN1cnNvcnMgYXJlIGFwcGxpZWQgY29ycmVjdGx5
LiIpOworCitpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikgeworICAgIHRlc3RGYWlsZWQoJ1RoaXMg
dGVzdCByZXF1aXJlcyBEdW1wUmVuZGVyVHJlZScpOworfQorCitpZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRV
bnRpbERvbmUoKTsKKyAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit9CisKKy8vIE5v
dyB3YWl0IGZvciBlYWNoIGltYWdlIHRvIGxvYWQgb3IgZmFpbCB0byBsb2FkIGJlZm9yZSBzdGFy
dGluZyB0ZXN0cy4KKy8vIFdpdGhvdXQgdGhpcyB3ZSBjYW4gZ2V0IG51bGwgaW1hZ2VzIGluIHRo
ZSBjdXJzb3JzIC0gZWcuIG5vIGtub3duIHNpemUuCit2YXIgaW1hZ2VzVG9Mb2FkID0gWworICAg
IHsgdXJsOiAncmVzb3VyY2VzL2dyZWVuYm94LTNmcmFtZXMuY3VyJyB9IF07CitpbWFnZXNMZWZ0
VG9Mb2FkID0gaW1hZ2VzVG9Mb2FkLmxlbmd0aDsKK2ZvciAodmFyIGkgPSAwOyBpIDwgaW1hZ2Vz
VG9Mb2FkLmxlbmd0aDsgaSsrKSB7CisgICAgdmFyIGltZyA9IG5ldyBJbWFnZSgpOworICAgIHZh
ciBleHBlY3RFcnJvciA9IGltYWdlc1RvTG9hZFtpXS5lcnJvcjsgCisgICAgaW1nLmFkZEV2ZW50
TGlzdGVuZXIoJ2xvYWQnLCBleHBlY3RFcnJvciA/IG9uSW1hZ2VVbmV4cGVjdGVkIDogb25JbWFn
ZUxvYWQpOworICAgIGltZy5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIGV4cGVjdEVycm9yID8g
b25JbWFnZUxvYWQgOiBvbkltYWdlVW5leHBlY3RlZCk7CisgICAgaW1nLnNyYyA9IGltYWdlc1Rv
TG9hZFtpXS51cmw7Cit9CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sCmluZGV4IDE2N2Q3ODVmZjlm
NWQ5ZTRmMjc4YjYxZjgwYzRiMjRkNmRiMmQyYTMuLjRlNTY2YTc2NGUyZmNiYmYzNzFiYjMwMTg4
ZGQ5NjgyYzQ4NGRjN2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNl
LWN1cnNvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5o
dG1sCkBAIC0yOCw2ICsyOCw5IEBACiAgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNl
cy9ncmVlbmJveC5wbmcpIDIwIDEwLCBwb2ludGVyJz5JbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBz
cG90IGF0ICgyMCwxMCk8L2Rpdj4KICAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2Vz
L2dyZWVuYm94LnBuZykgLTEgLTEsIHBvaW50ZXInPkltYWdlIHdpdGggZXhwbGljaXQgaG90IHNw
b3QgYXQgKC0xLC0xKTwvZGl2PgogICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMv
Z3JlZW5ib3gucG5nKSAzMCAzMCwgcG9pbnRlcic+SW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3Bv
dCBvdXRzaWRlIGltYWdlIGF0ICgzMCwzMCk8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1
cmwocmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3Q1LTQuY3VyKSwgcG9pbnRlcic+SW1hZ2Ugd2l0
aCBpbXBsaWNpdCBob3Qgc3BvdCBhdCAoNSw0KTwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6
IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gtaG90c3BvdDUtNC5jdXIpIDIwIDEwLCBwb2ludGVyJz5J
bWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgyMCwxMCkgb3ZlcnJpZGluZyBpbXBsaWNp
dCBob3Qgc3BvdDwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3Jl
ZW5ib3gtaG90c3BvdDM1LTQuY3VyKSwgcG9pbnRlcic+SW1hZ2Ugd2l0aCBpbXBsaWNpdCBob3Qg
c3BvdCBvdXRzaWRlIGltYWdlIGF0ICgzNSw0KTwvZGl2PgogICA8ZGl2IHN0eWxlPSdjdXJzb3I6
IHVybChyZXNvdXJjZXMvb25sb2FkLWltYWdlLnBuZyksIHBvaW50ZXInPk92ZXIgbGFyZ2UgaW1h
Z2Ugd2l0aCBmYWxsYmFjayB0byBwb2ludGVyPC9kaXY+CiAgIDxkaXYgc3R5bGU9J2N1cnNvcjog
dXJsKCNncmVlbmJveCksIHBvaW50ZXInPlNWRyBjdXJzb3I8L2Rpdj4KICAgPGRpdiBzdHlsZT0n
Y3Vyc29yOiB1cmwobW91c2UtY3Vyc29yLmh0bWwpLCB1cmwodW5rbm93bi1zY2hlbWU6Y3Vyc29y
LnBuZyksIHBvaW50ZXInPk11bHRpcGxlIGludmFsaWQgY3Vyc29ycyB3aXRoIGZhbGxiYWNrIHRv
IHBvaW50ZXI8L2Rpdj4KQEAgLTY3LDcgKzcwLDEyIEBAIGZ1bmN0aW9uIHJ1blRlc3RzKCkgewog
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGVzVG9UZXN0Lmxlbmd0aDsgaSsrKSB7CiAg
ICAgICAgICAgICB2YXIgbm9kZSA9IG5vZGVzVG9UZXN0W2ldOwogICAgICAgICAgICAgZGVidWco
J1RFU1QgQ0FTRTogJyArIG5vZGUudGV4dENvbnRlbnQpOwotICAgICAgICAgICAgZXZlbnRTZW5k
ZXIubW91c2VNb3ZlVG8obm9kZS5vZmZzZXRMZWZ0ICsgMywgbm9kZS5vZmZzZXRUb3AgKyAzKTsK
KworICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBub2RlIGlzIHZpc2libGUgYW5kIG1vdmUg
dGhlIG1vdXNlIG92ZXIgdG9wIG9mIGl0LgorICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5zY3Jv
bGxUb3AgPSBub2RlLm9mZnNldFRvcCAtIDUwOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91
c2VNb3ZlVG8obm9kZS5vZmZzZXRMZWZ0ICsgMywgbm9kZS5vZmZzZXRUb3AgLSBkb2N1bWVudC5i
b2R5LnNjcm9sbFRvcCArIDMpOworCisgICAgICAgICAgICAvLyBHZXQgZGV0YWlscyBvZiB0aGUg
Y3VycmVudCBtb3VzZSBjdXJzb3IuCiAgICAgICAgICAgICAvLyBOb3RlIHRoYXQgd2UgY291bGQg
cmV0dXJuIHN0cnVjdHVyZWQgZGF0YSB3aGljaCB3ZSB0aGVuIHZhbGlkYXRlLCBidXQgdGhhdCdz
IGEgbG90IG1vcmUKICAgICAgICAgICAgIC8vIHdvcmsgYW5kIGlzIHJlZHVuZGFudCB3aXRoIHJl
bHlpbmcgb24gdGhlIGV4cGVjdGVkIG91dHB1dCBhbnl3YXkuICBCZXR0ZXIgdG8ganVzdCBkdW1w
CiAgICAgICAgICAgICAvLyBpdCBhbmQgaW5zcGVjdCB0aGF0IGl0IG1hdGNoZXMgdGhlIGRlc2Ny
aXB0aW9uLgpAQCAtOTgsNiArMTA2LDggQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiB2YXIg
aW1hZ2VzVG9Mb2FkID0gWwogICAgIHsgdXJsOiAncmVzb3VyY2VzL2dyZWVuYm94LnBuZycgfSwK
ICAgICB7IHVybDogJ3Jlc291cmNlcy9vbmxvYWQtaW1hZ2UucG5nJyB9LAorICAgIHsgdXJsOiAn
cmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3Q1LTQuY3VyJyB9LAorICAgIHsgdXJsOiAncmVzb3Vy
Y2VzL2dyZWVuYm94LWhvdHNwb3QzNS00LmN1cicgfSwKICAgICB7IHVybDogJ2RvZXNudGV4aXN0
LnBuZycsIGVycm9yOiB0cnVlIH0sCiAgICAgeyB1cmw6ICd1bmtub3duLXNjaGVtZTpjdXJzb3Iu
cG5nJywgZXJyb3I6IHRydWUgfSwKICAgICB7IHVybDogJ21vdXNlLWN1cnNvci5odG1sJywgZXJy
b3I6IHRydWUgfSwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNl
cy9ncmVlbmJveC0zZnJhbWVzLmN1ciBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNl
cy9ncmVlbmJveC0zZnJhbWVzLmN1cgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYjA5ZDY0MTZjYjU3NzdjM2UwN2U0
NmFmZjBhNGM0MzJmNGFlZDQ2CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAzOTAKemNtWlF6VX05
aXE7OV9OQjs5eXszaCt0cX5GYXUlezl3cjdNMjV5RTRLejFKeF5ScUtDQEdgSjVXQn1RNmowX0FL
CnpLJDs3Ujg1d3tBS3ArQXBBcHtlUXtVNjRfTGZkMUNmeUBQJkJMVCFQYX1BSmA1b0lvdGRRMnVp
clZ0KHhrYjZLbgpWXzwkSlo5dkxMe0IpSkM/T2h+I0JPYU49TzJUY0Z+CgpsaXRlcmFsIDAKSGNt
Vj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMv
Z3JlZW5ib3gtaG90c3BvdDM1LTQuY3VyIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3Vy
Y2VzL2dyZWVuYm94LWhvdHNwb3QzNS00LmN1cgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MjIyNmM1MWUyNDVkM2Y4
NDY4YWY2ODI4OWQ1MzE3ZmRlNjkyZWQwCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAyNzAKemNt
WlF6VX05aW9rZCRPJVAtYjlaX2AkJXlBT14lNUtyOUt3TW5LRjZnZG1VdENMc2g5alF0PFJwYksz
fllnKyZ8CkN2OylLZAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3Q1LTQuY3VyIGIvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3Q1LTQuY3VyCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjVhZTdjOWMyNzA2OThjM2ViNWZlNjkwNjA2NzVhOGM3YmVmNzk0MDYKR0lUIGJp
bmFyeSBwYXRjaApsaXRlcmFsIDI3MAp6Y21aUXpVfTlpb2tkJE8lVX1hIW9fYCQleUFPXiU1S3I5
S3dNbktGNmdkbVV0Q0xzaDlqUXQ8UnBiSzN+WWcrJnEKQ0pPaWN4CgpsaXRlcmFsIDAKSGNtVj9k
MDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0
aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDQ2
NWI2ZjkyMzIyYTkzMTM4NGMyZGUyYjA0ZDkzY2RlYTgyMDEzMzMuLjA2Yzc0MjUxZDBhOThmOTYy
NmYzYjYxODBjNzBiYjQyMzM0YWI1MDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0
RXhwZWN0YXRpb25zCkBAIC0xMTcxLDMgKzExNzEsNiBAQCB3ZWJraXQub3JnL2IvMTAwODQ2IGlu
c3BlY3Rvci1wcm90b2NvbC9kZWJ1Z2dlci10ZXJtaW5hdGUtZGVkaWNhdGVkLXdvcmtlci13aGls
ZQogd2Via2l0Lm9yZy9iLzEwMDE0MiBjc3MzL2ZpbHRlcnMvZWZmZWN0LXJlZmVyZW5jZS1ody5o
dG1sIFsgRmFpbCBdCiB3ZWJraXQub3JnL2IvMTAwMTQyIGNzczMvZmlsdGVycy9lZmZlY3QtcmVm
ZXJlbmNlLW9yZGVyaW5nLWh3Lmh0bWwgWyBGYWlsIF0KIHdlYmtpdC5vcmcvYi8xMDAxNDIgY3Nz
My9maWx0ZXJzL2VmZmVjdC1yZWZlcmVuY2UuaHRtbCBbIEZhaWwgXQorCisjIEhhbmdzIHNhZmFy
aSBhcHBhcmVudGx5IGR1ZSB0byBhbiBpc3N1ZSB3aXRoIENvcmVHcmFwaGljcyBhbmQgd2VpcmQg
bXVsdGktZnJhbWUgQ1VSIGltYWdlIGZpbGVzCit3ZWJraXQub3JnL2IvMTAxODExIGZhc3QvZXZl
bnRzL21vdXNlLWN1cnNvci1tdWx0aWZyYW1lY3VyLmh0bWwgWyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173432</attachid>
            <date>2012-11-09 20:45:56 -0800</date>
            <delta_ts>2012-11-10 04:33:51 -0800</delta_ts>
            <desc>Combined with fix for 101501</desc>
            <filename>bug-100059-20121109234403.patch</filename>
            <type>text/plain</type>
            <size>48464</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTQxODE3YzZmZjRmZWRj
MDYxZjMzMmU1NDEyN2EwMmMxNjY4ZWM0YS4uZTNjNGU5MTYyYzA1OGJmNjY2MzVlYzNmMmVmZGU4
YTkxMzFjNTkyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDEyLTExLTA5ICBSaWNr
IEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBjdXN0b20gQ1NTIGN1cnNv
cnMgaWdub3JlIGhvdHNwb3QgdmFsdWVzIGVtYmVkZGVkIGluIENVUiBmaWxlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMDU5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHJlYWRpbmcgdGhlIGhv
dHNwb3QgdmFsdWVzIHRvIHRoZSBJQ09JbWFnZURlY29kZXIgKGZvciBDVVIgZmlsZXMgb25seSks
CisgICAgICAgIGFuZCBwbHVtYiBpdCB0aHJvdWdoIHNvIHRoYXQgdGhlIGV4aXN0aW5nIGNhbGxz
IHRvIEltYWdlU291cmNlOjpnZXRIb3RTcG90CisgICAgICAgIGFjdHVhbGx5IHJldHVybiB0aGUg
aG90IHNwb3QgdmFsdWUgd2hlbiB0aGVyZSBpcyBvbmUuCisKKyAgICAgICAgVGVzdHM6IGZhc3Qv
ZXZlbnRzL21vdXNlLWN1cnNvci5odG1sLCBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItbXVsdGlm
cmFtZWN1ci5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVNvdXJjZTo6Z2V0SG90U3BvdCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RGVmZXJyZWRJbWFnZURlY29kZXI6OmhvdFNwb3QpOgorICAgICAg
ICAoV2ViQ29yZTo6RGVmZXJyZWRJbWFnZURlY29kZXI6OmhvdFNwb3RBdEluZGV4KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVjb2Rlci5oOgor
ICAgICAgICAoRGVmZXJyZWRJbWFnZURlY29kZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2ltYWdl
LWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VEZWNvZGVy
Ojpob3RTcG90KToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlRGVjb2Rlcjo6aG90U3BvdEF0SW5k
ZXgpOgorICAgICAgICAoSW1hZ2VEZWNvZGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1k
ZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklDT0lt
YWdlRGVjb2Rlcjo6aG90U3BvdCk6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6
OmhvdFNwb3RBdEluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OklDT0ltYWdlRGVjb2Rlcjo6cHJv
Y2Vzc0RpcmVjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6OnJlYWRE
aXJlY3RvcnlFbnRyeSk6CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lD
T0ltYWdlRGVjb2Rlci5oOgorICAgICAgICAoSUNPSW1hZ2VEZWNvZGVyKToKKyAgICAgICAgKElj
b25EaXJlY3RvcnlFbnRyeSk6CisKKzIwMTItMTEtMDggIFJpY2sgQnllcnMgIDxyYnllcnNAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIE1vdmUgY2hyb21pdW0gdG8gVVNFKExBWllfTkFUSVZFX0NV
UlNPUikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
MTUwMQorCisgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgVGhpcyBz
aW1wbGlmaWVzIGN1cnNvciBoYW5kbGluZyBpbiBjaHJvbWl1bSBhbmQgdW5pZmllcyBpdCB3aXRo
IG90aGVyCisgICAgICAgIHBvcnRzIGZvciBlYXNpZXIgY29kZSBzaGFyaW5nIGFuZCB0ZXN0aW5n
IGJ5IG1vdmluZyB0byB0aGUKKyAgICAgICAgVVNFX0xBWllfQ1VSU09SIG1vZGVsIGFuZCBlbGlt
aW5hdGluZyBQbGF0Zm9ybUN1cnNvciBlbnRpcmVseS4KKworICAgICAgICBQbGF0Zm9ybUN1cnNv
ciBhZGRzIG5vIHZhbHVlIGluIGNocm9taXVtIHNpbmNlIHRoZSBzYW5kYm94aW5nIG1vZGVsCisg
ICAgICAgIHJlcXVpcmVzIHRoZSBjdXJzb3IgaW5mb3JtYXRpb24gYmUgbWFyc2hhbGxlZCB0byB0
aGUgYnJvd3NlciBwcm9jZXNzCisgICAgICAgIGJlZm9yZSBiZWluZyB0dXJuZWQgaW50byBhIHJl
YWwgT1MgY3Vyc29yLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5o
dG1sCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogcGxhdGZvcm0vQ3Vyc29y
Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9DdXJz
b3JDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDdXJzb3I6OkN1cnNvcik6CisgICAg
ICAgIChXZWJDb3JlOjpDdXJzb3I6Om9wZXJhdG9yPSk6CisgICAgICAgIChXZWJDb3JlOjpDdXJz
b3I6On5DdXJzb3IpOgorICAgICAgICAoV2ViQ29yZTo6Q3Vyc29yOjplbnN1cmVQbGF0Zm9ybUN1
cnNvcik6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1DdXJzb3IuaDogUmVt
b3ZlZC4KKwogMjAxMi0xMS0wOSAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAg
ICAgICAgIFNpbXBsZUZvbnREYXRhOjpnZXRDRlN0cmluZ0F0dHJpYnV0ZXMgc2V0cyBzb21lIGF0
dHJpYnV0ZXMgdG8gdGhlaXIgZGVmYXVsdCB2YWx1ZXMsIGJ1dCBzaG91bGRu4oCZdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwppbmRleCAwNzYwMzk4NzlhMTdhM2M1ZTA3NTBkM2U4OWRlODYxOTA2
YTg3YTBhLi5jYmIwYWY5MTA0M2E3NTRlYzVhYjk0M2UzN2ZiZTc3ZDc5ZDUzNjI1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTExLTA4ICBSaWNrIEJ5
ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBNb3ZlIGNocm9taXVtIHRvIFVT
RShMQVpZX05BVElWRV9DVVJTT1IpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDE1MDEKKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgor
CisgICAgICAgIFVwZGF0ZSBjb252ZXJzaW9uIGZyb20gQ3Vyc29yIHRvIFdlYkN1cnNvckluZm8g
dG8gcmVtb3ZlIHRoZQorICAgICAgICBpbnRlcm1lZGlhdGUgKGFuZCB1c2VsZXNzKSBzdGVwIG9m
IFBsYXRmb3JtQ3Vyc29yLgorCisgICAgICAgICogc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3Bw
OgorICAgICAgICAqIHNyYy9XZWJDdXJzb3JJbmZvLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
Q3Vyc29ySW5mbzo6V2ViQ3Vyc29ySW5mbyk6CisKIDIwMTItMTEtMDkgIEFsZWMgRmxldHQgIDxh
bGVjZmxldHRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEluZGV4ZWREQjogQ29tYmluZSBJREJC
YWNraW5nU3RvcmUgYW5kIElEQkxldmVsREJCYWNraW5nU3RvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRl
eCA1YzIxYzU5ZTM3OWYxODVjNmYzZjZkOGEyYjdmNTA1NTdmODUxMjJlLi4wYTdjY2FhZjYyZjMw
MzliOWIwN2VhYTE5MTMwYTRjMjRjM2IyZGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC00NjcxLDcg
KzQ2NzEsNiBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL01JTUVUeXBlUmVnaXN0
cnlDaHJvbWl1bS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1BhZ2VDbGll
bnRDaHJvbWl1bS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9QYXN0ZWJvYXJk
Q2hyb21pdW0uY3BwJywKLSAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybUN1
cnNvci5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybUtleWJvYXJk
RXZlbnRDaHJvbWl1bS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2Nocm9taXVtL1BsYXRm
b3JtU2NyZWVuQ2hyb21pdW0uY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9jaHJvbWl1bS9Q
bGF0Zm9ybVN1cHBvcnQuaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9D
dXJzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0N1cnNvci5oCmluZGV4IDNiMGU1ZmVh
Y2VkNDkyZDMxZDVhZTE1ZjcxOGRkNDRiOGE3ZjUyNzUuLjcyZDhjOTUxYWMxNzE2MWViNTMyNjQ3
OGFjZDE4ZDZkNjJiYWM2NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0N1
cnNvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0N1cnNvci5oCkBAIC00MSw4ICs0
MSw2IEBAIHR5cGVkZWYgSElDT04gSENVUlNPUjsKICNpbmNsdWRlICJHUmVmUHRyR3RrLmgiCiAj
ZWxpZiBQTEFURk9STShRVCkKICNpbmNsdWRlIDxRQ3Vyc29yPgotI2VsaWYgUExBVEZPUk0oQ0hS
T01JVU0pCi0jaW5jbHVkZSAiUGxhdGZvcm1DdXJzb3IuaCIKICNlbGlmIFBMQVRGT1JNKEJMQUNL
QkVSUlkpCiAjaW5jbHVkZSA8QmxhY2tCZXJyeVBsYXRmb3JtQ3Vyc29yLmg+CiAjZW5kaWYKQEAg
LTYwLDcgKzU4LDggQEAgdHlwZWRlZiBzdHJ1Y3QgSElDT05fXyAqSElDT047CiB0eXBlZGVmIEhJ
Q09OIEhDVVJTT1I7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oTUFD
KSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpCisvLyBM
b29rcyBsaWtlIGl0J3MganVzdCBQTEFURk9STShXWCkgYW5kIFBMQVRGT1JNKEJMQUNLQkVSUlkp
IHN0aWxsIG5vdCB1c2luZyB0aGlzPworI2lmIFBMQVRGT1JNKFdJTikgfHwgUExBVEZPUk0oTUFD
KSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShFRkwpIHx8IFBM
QVRGT1JNKENIUk9NSVVNKQogI2RlZmluZSBXVEZfVVNFX0xBWllfTkFUSVZFX0NVUlNPUiAxCiAj
ZW5kaWYKIApAQCAtOTAsOCArODksNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgdHlwZWRl
ZiBRQ3Vyc29yKiBQbGF0Zm9ybUN1cnNvcjsKICNlbGlmIFBMQVRGT1JNKFdYKQogICAgIHR5cGVk
ZWYgd3hDdXJzb3IqIFBsYXRmb3JtQ3Vyc29yOwotI2VsaWYgUExBVEZPUk0oQ0hST01JVU0pCi0g
ICAgLy8gU2VlIFBsYXRmb3JtQ3Vyc29yLmgKICNlbGlmIFBMQVRGT1JNKEJMQUNLQkVSUlkpCiAg
ICAgdHlwZWRlZiBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6QmxhY2tCZXJyeUN1cnNvciBQbGF0Zm9y
bUN1cnNvcjsKICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJv
bWl1bS9DdXJzb3JDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9DdXJzb3JDaHJvbWl1bS5jcHAKaW5kZXggMzRkMTZkNDI2ZGE0MGYwOTc3ZmJlMDczYTBhYWZj
NGViZTA2ZjE2Zi4uOWRmN2YyM2Y2MTY3NjI3NTNmOGYwNzM4MTJlMDMzMWVmODk2NmVjMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ3Vyc29yQ2hyb21pdW0u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0N1cnNvckNocm9taXVt
LmNwcApAQCAtMzYsMzM0ICszNiwzMCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBDdXJzb3I6
OkN1cnNvcihjb25zdCBDdXJzb3ImIG90aGVyKQotICAgIDogbV9wbGF0Zm9ybUN1cnNvcihvdGhl
ci5tX3BsYXRmb3JtQ3Vyc29yKQotewotfQotCi1DdXJzb3I6OkN1cnNvcihJbWFnZSogaW1hZ2Us
IGNvbnN0IEludFBvaW50JiBob3RTcG90KQotICAgIDogbV9wbGF0Zm9ybUN1cnNvcihpbWFnZSwg
aG90U3BvdCkKLXsKLX0KLQotQ3Vyc29yOjp+Q3Vyc29yKCkKKyAgICA6IG1fdHlwZShvdGhlci5t
X3R5cGUpCisgICAgLCBtX2ltYWdlKG90aGVyLm1faW1hZ2UpCisgICAgLCBtX2hvdFNwb3Qob3Ro
ZXIubV9ob3RTcG90KQorICAgICwgbV9wbGF0Zm9ybUN1cnNvcihvdGhlci5tX3BsYXRmb3JtQ3Vy
c29yKQogewogfQogCiBDdXJzb3ImIEN1cnNvcjo6b3BlcmF0b3I9KGNvbnN0IEN1cnNvciYgb3Ro
ZXIpCiB7CisgICAgbV90eXBlID0gb3RoZXIubV90eXBlOworICAgIG1faW1hZ2UgPSBvdGhlci5t
X2ltYWdlOworICAgIG1faG90U3BvdCA9IG90aGVyLm1faG90U3BvdDsKICAgICBtX3BsYXRmb3Jt
Q3Vyc29yID0gb3RoZXIubV9wbGF0Zm9ybUN1cnNvcjsKICAgICByZXR1cm4gKnRoaXM7CiB9CiAK
LUN1cnNvcjo6Q3Vyc29yKFBsYXRmb3JtQ3Vyc29yIGMpCi0gICAgOiBtX3BsYXRmb3JtQ3Vyc29y
KGMpCi17Ci19Ci0KLWNvbnN0IEN1cnNvciYgcG9pbnRlckN1cnNvcigpCi17Ci0gICAgREVGSU5F
X1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZVBvaW50ZXIpKTsK
LSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBjcm9zc0N1cnNvcigpCi17Ci0gICAg
REVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZUNyb3Nz
KSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgaGFuZEN1cnNvcigpCi17Ci0g
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZUhh
bmQpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBpQmVhbUN1cnNvcigpCi17
Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlw
ZUlCZWFtKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgd2FpdEN1cnNvcigp
Ci17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6
VHlwZVdhaXQpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBoZWxwQ3Vyc29y
KCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29y
OjpUeXBlSGVscCkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIGVhc3RSZXNp
emVDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZv
cm1DdXJzb3I6OlR5cGVFYXN0UmVzaXplKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1
cnNvciYgbm9ydGhSZXNpemVDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vy
c29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVOb3J0aFJlc2l6ZSkpOwotICAgIHJldHVybiBj
OwotfQotCi1jb25zdCBDdXJzb3ImIG5vcnRoRWFzdFJlc2l6ZUN1cnNvcigpCi17Ci0gICAgREVG
SU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZU5vcnRoRWFz
dFJlc2l6ZSkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIG5vcnRoV2VzdFJl
c2l6ZUN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0
Zm9ybUN1cnNvcjo6VHlwZU5vcnRoV2VzdFJlc2l6ZSkpOwotICAgIHJldHVybiBjOwotfQotCi1j
b25zdCBDdXJzb3ImIHNvdXRoUmVzaXplQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xP
Q0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlU291dGhSZXNpemUpKTsKLSAgICBy
ZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBzb3V0aEVhc3RSZXNpemVDdXJzb3IoKQotewot
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVT
b3V0aEVhc3RSZXNpemUpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBzb3V0
aFdlc3RSZXNpemVDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBj
LCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVTb3V0aFdlc3RSZXNpemUpKTsKLSAgICByZXR1cm4gYzsK
LX0KLQotY29uc3QgQ3Vyc29yJiB3ZXN0UmVzaXplQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlV2VzdFJlc2l6ZSkpOwot
ICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIG5vcnRoU291dGhSZXNpemVDdXJzb3Io
KQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6
OlR5cGVOb3J0aFNvdXRoUmVzaXplKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNv
ciYgZWFzdFdlc3RSZXNpemVDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vy
c29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVFYXN0V2VzdFJlc2l6ZSkpOwotICAgIHJldHVy
biBjOwotfQotCi1jb25zdCBDdXJzb3ImIG5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZUN1cnNvcigp
Ci17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6
VHlwZU5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZSkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25z
dCBDdXJzb3ImIG5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZUN1cnNvcigpCi17Ci0gICAgREVGSU5F
X1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZU5vcnRoV2VzdFNv
dXRoRWFzdFJlc2l6ZSkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIGNvbHVt
blJlc2l6ZUN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQ
bGF0Zm9ybUN1cnNvcjo6VHlwZUNvbHVtblJlc2l6ZSkpOwotICAgIHJldHVybiBjOwotfQotCi1j
b25zdCBDdXJzb3ImIHJvd1Jlc2l6ZUN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NB
TChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZVJvd1Jlc2l6ZSkpOwotICAgIHJldHVy
biBjOwotfQotCi1jb25zdCBDdXJzb3ImIG1pZGRsZVBhbm5pbmdDdXJzb3IoKQotewotICAgIERF
RklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVNaWRkbGVQ
YW5uaW5nKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgZWFzdFBhbm5pbmdD
dXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1D
dXJzb3I6OlR5cGVFYXN0UGFubmluZykpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJz
b3ImIG5vcnRoUGFubmluZ0N1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJz
b3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZU5vcnRoUGFubmluZykpOwotICAgIHJldHVybiBj
OwotfQotCi1jb25zdCBDdXJzb3ImIG5vcnRoRWFzdFBhbm5pbmdDdXJzb3IoKQotewotICAgIERF
RklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVOb3J0aEVh
c3RQYW5uaW5nKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9ydGhXZXN0
UGFubmluZ0N1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQ
bGF0Zm9ybUN1cnNvcjo6VHlwZU5vcnRoV2VzdFBhbm5pbmcpKTsKLSAgICByZXR1cm4gYzsKLX0K
LQotY29uc3QgQ3Vyc29yJiBzb3V0aFBhbm5pbmdDdXJzb3IoKQotewotICAgIERFRklORV9TVEFU
SUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVTb3V0aFBhbm5pbmcpKTsK
LSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBzb3V0aEVhc3RQYW5uaW5nQ3Vyc29y
KCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29y
OjpUeXBlU291dGhFYXN0UGFubmluZykpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJz
b3ImIHNvdXRoV2VzdFBhbm5pbmdDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwo
Q3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVTb3V0aFdlc3RQYW5uaW5nKSk7Ci0gICAg
cmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgd2VzdFBhbm5pbmdDdXJzb3IoKQotewotICAg
IERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVXZXN0
UGFubmluZykpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIG1vdmVDdXJzb3Io
KSAKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29y
OjpUeXBlTW92ZSkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIHZlcnRpY2Fs
VGV4dEN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0
Zm9ybUN1cnNvcjo6VHlwZVZlcnRpY2FsVGV4dCkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25z
dCBDdXJzb3ImIGNlbGxDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29y
LCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVDZWxsKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNv
bnN0IEN1cnNvciYgY29udGV4dE1lbnVDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9D
QUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVDb250ZXh0TWVudSkpOwotICAgIHJl
dHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIGFsaWFzQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlQWxpYXMpKTsKLSAg
ICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBwcm9ncmVzc0N1cnNvcigpCi17Ci0gICAg
REVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZVByb2dy
ZXNzKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgbm9Ecm9wQ3Vyc29yKCkK
LXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpU
eXBlTm9Ecm9wKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0IEN1cnNvciYgY29weUN1cnNv
cigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNv
cjo6VHlwZUNvcHkpKTsKLSAgICByZXR1cm4gYzsKLX0KLQotY29uc3QgQ3Vyc29yJiBub25lQ3Vy
c29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNvciwgYywgKFBsYXRmb3JtQ3Vy
c29yOjpUeXBlTm9uZSkpOwotICAgIHJldHVybiBjOwotfQotCi1jb25zdCBDdXJzb3ImIG5vdEFs
bG93ZWRDdXJzb3IoKQotewotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxh
dGZvcm1DdXJzb3I6OlR5cGVOb3RBbGxvd2VkKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0KLWNvbnN0
IEN1cnNvciYgem9vbUluQ3Vyc29yKCkKLXsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEN1cnNv
ciwgYywgKFBsYXRmb3JtQ3Vyc29yOjpUeXBlWm9vbUluKSk7Ci0gICAgcmV0dXJuIGM7Ci19Ci0K
LWNvbnN0IEN1cnNvciYgem9vbU91dEN1cnNvcigpCi17Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NB
TChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlwZVpvb21PdXQpKTsKLSAgICByZXR1cm4g
YzsKLX0KLQotY29uc3QgQ3Vyc29yJiBncmFiQ3Vyc29yKCkKK0N1cnNvcjo6fkN1cnNvcigpCiB7
Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChDdXJzb3IsIGMsIChQbGF0Zm9ybUN1cnNvcjo6VHlw
ZUdyYWIpKTsKLSAgICByZXR1cm4gYzsKIH0KIAotY29uc3QgQ3Vyc29yJiBncmFiYmluZ0N1cnNv
cigpCit2b2lkIEN1cnNvcjo6ZW5zdXJlUGxhdGZvcm1DdXJzb3IoKSBjb25zdAogewotICAgIERF
RklORV9TVEFUSUNfTE9DQUwoQ3Vyc29yLCBjLCAoUGxhdGZvcm1DdXJzb3I6OlR5cGVHcmFiYmlu
ZykpOwotICAgIHJldHVybiBjOworICAgIC8vIENocm9taXVtIGhhcyBubyBQbGF0Zm9ybUN1cnNv
ci4KKyAgICBVTlJFQUNIQUJMRV9GT1JfUExBVEZPUk0oKTsKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQotCi0jZGVmaW5lIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oY3Vyc29yX25h
bWUsIHBsYXRmb3JtX2N1cnNvcl9uYW1lKSBcCi0gICAgQ09NUElMRV9BU1NFUlQoaW50KFdlYkNv
cmU6OkN1cnNvcjo6Y3Vyc29yX25hbWUpID09IGludChXZWJDb3JlOjpQbGF0Zm9ybUN1cnNvcjo6
cGxhdGZvcm1fY3Vyc29yX25hbWUpLCBtaXNtYXRjaGluZ19lbnVtcykKLQotQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShQb2ludGVyLCBUeXBlUG9pbnRlcik7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKENyb3NzLCBUeXBlQ3Jvc3MpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShIYW5kLCBUeXBlSGFuZCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKElCZWFt
LCBUeXBlSUJlYW0pOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXYWl0LCBUeXBlV2Fp
dCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEhlbHAsIFR5cGVIZWxwKTsKLUNPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oRWFzdFJlc2l6ZSwgVHlwZUVhc3RSZXNpemUpOwotQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShOb3J0aFJlc2l6ZSwgVHlwZU5vcnRoUmVzaXplKTsK
LUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTm9ydGhFYXN0UmVzaXplLCBUeXBlTm9ydGhF
YXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTm9ydGhXZXN0UmVzaXpl
LCBUeXBlTm9ydGhXZXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oU291
dGhSZXNpemUsIFR5cGVTb3V0aFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KFNvdXRoRWFzdFJlc2l6ZSwgVHlwZVNvdXRoRWFzdFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKFNvdXRoV2VzdFJlc2l6ZSwgVHlwZVNvdXRoV2VzdFJlc2l6ZSk7Ci1DT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlc3RSZXNpemUsIFR5cGVXZXN0UmVzaXplKTsKLUNP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTm9ydGhTb3V0aFJlc2l6ZSwgVHlwZU5vcnRoU291
dGhSZXNpemUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFYXN0V2VzdFJlc2l6ZSwg
VHlwZUVhc3RXZXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTm9ydGhF
YXN0U291dGhXZXN0UmVzaXplLCBUeXBlTm9ydGhFYXN0U291dGhXZXN0UmVzaXplKTsKLUNPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oTm9ydGhXZXN0U291dGhFYXN0UmVzaXplLCBUeXBlTm9y
dGhXZXN0U291dGhFYXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oQ29s
dW1uUmVzaXplLCBUeXBlQ29sdW1uUmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oUm93UmVzaXplLCBUeXBlUm93UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oTWlkZGxlUGFubmluZywgVHlwZU1pZGRsZVBhbm5pbmcpOwotQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFYXN0UGFubmluZywgVHlwZUVhc3RQYW5uaW5nKTsKLUNPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oTm9ydGhQYW5uaW5nLCBUeXBlTm9ydGhQYW5uaW5nKTsKLUNPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oTm9ydGhFYXN0UGFubmluZywgVHlwZU5vcnRoRWFzdFBhbm5p
bmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShOb3J0aFdlc3RQYW5uaW5nLCBUeXBl
Tm9ydGhXZXN0UGFubmluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFNvdXRoUGFu
bmluZywgVHlwZVNvdXRoUGFubmluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFNv
dXRoRWFzdFBhbm5pbmcsIFR5cGVTb3V0aEVhc3RQYW5uaW5nKTsKLUNPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oU291dGhXZXN0UGFubmluZywgVHlwZVNvdXRoV2VzdFBhbm5pbmcpOwotQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZXN0UGFubmluZywgVHlwZVdlc3RQYW5uaW5nKTsK
LUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTW92ZSwgVHlwZU1vdmUpOwotQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShWZXJ0aWNhbFRleHQsIFR5cGVWZXJ0aWNhbFRleHQpOwotQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShDZWxsLCBUeXBlQ2VsbCk7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKENvbnRleHRNZW51LCBUeXBlQ29udGV4dE1lbnUpOwotQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShBbGlhcywgVHlwZUFsaWFzKTsKLUNPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oUHJvZ3Jlc3MsIFR5cGVQcm9ncmVzcyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKE5vRHJvcCwgVHlwZU5vRHJvcCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKENvcHksIFR5cGVDb3B5KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oTm9uZSwg
VHlwZU5vbmUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShOb3RBbGxvd2VkLCBUeXBl
Tm90QWxsb3dlZCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFpvb21JbiwgVHlwZVpv
b21Jbik7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFpvb21PdXQsIFR5cGVab29tT3V0
KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oR3JhYiwgVHlwZUdyYWIpOwotQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShHcmFiYmluZywgVHlwZUdyYWJiaW5nKTsKLUNPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oQ3VzdG9tLCBUeXBlQ3VzdG9tKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtQ3Vyc29yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybUN1cnNvci5oCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAzZDFlYmJkMDY1MGQ2OGYyMmE3NTc1OTM0NGY0ZjRkMjExMGFiZWVl
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtQ3Vyc29yLmgKKysrIC9kZXYvbnVsbApA
QCAtMSwxMTEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoYykgMjAwOCwgMjAwOSwgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIAotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCi0gKiBtZXQ6Ci0gKiAKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0g
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KLSAqIAotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFBsYXRmb3JtQ3Vyc29yX2gKLSNkZWZp
bmUgUGxhdGZvcm1DdXJzb3JfaAotCi0jaW5jbHVkZSAiSW1hZ2UuaCIKLSNpbmNsdWRlICJJbnRQ
b2ludC5oIgotI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewot
Ci0gICAgY2xhc3MgUGxhdGZvcm1DdXJzb3IgewotICAgIHB1YmxpYzoKLSAgICAgICAgZW51bSBU
eXBlIHsKLSAgICAgICAgICAgIFR5cGVQb2ludGVyLAotICAgICAgICAgICAgVHlwZUNyb3NzLAot
ICAgICAgICAgICAgVHlwZUhhbmQsCi0gICAgICAgICAgICBUeXBlSUJlYW0sCi0gICAgICAgICAg
ICBUeXBlV2FpdCwKLSAgICAgICAgICAgIFR5cGVIZWxwLAotICAgICAgICAgICAgVHlwZUVhc3RS
ZXNpemUsCi0gICAgICAgICAgICBUeXBlTm9ydGhSZXNpemUsCi0gICAgICAgICAgICBUeXBlTm9y
dGhFYXN0UmVzaXplLAotICAgICAgICAgICAgVHlwZU5vcnRoV2VzdFJlc2l6ZSwKLSAgICAgICAg
ICAgIFR5cGVTb3V0aFJlc2l6ZSwKLSAgICAgICAgICAgIFR5cGVTb3V0aEVhc3RSZXNpemUsCi0g
ICAgICAgICAgICBUeXBlU291dGhXZXN0UmVzaXplLAotICAgICAgICAgICAgVHlwZVdlc3RSZXNp
emUsCi0gICAgICAgICAgICBUeXBlTm9ydGhTb3V0aFJlc2l6ZSwKLSAgICAgICAgICAgIFR5cGVF
YXN0V2VzdFJlc2l6ZSwKLSAgICAgICAgICAgIFR5cGVOb3J0aEVhc3RTb3V0aFdlc3RSZXNpemUs
Ci0gICAgICAgICAgICBUeXBlTm9ydGhXZXN0U291dGhFYXN0UmVzaXplLAotICAgICAgICAgICAg
VHlwZUNvbHVtblJlc2l6ZSwKLSAgICAgICAgICAgIFR5cGVSb3dSZXNpemUsCi0gICAgICAgICAg
ICBUeXBlTWlkZGxlUGFubmluZywKLSAgICAgICAgICAgIFR5cGVFYXN0UGFubmluZywKLSAgICAg
ICAgICAgIFR5cGVOb3J0aFBhbm5pbmcsCi0gICAgICAgICAgICBUeXBlTm9ydGhFYXN0UGFubmlu
ZywKLSAgICAgICAgICAgIFR5cGVOb3J0aFdlc3RQYW5uaW5nLAotICAgICAgICAgICAgVHlwZVNv
dXRoUGFubmluZywKLSAgICAgICAgICAgIFR5cGVTb3V0aEVhc3RQYW5uaW5nLAotICAgICAgICAg
ICAgVHlwZVNvdXRoV2VzdFBhbm5pbmcsCi0gICAgICAgICAgICBUeXBlV2VzdFBhbm5pbmcsCi0g
ICAgICAgICAgICBUeXBlTW92ZSwKLSAgICAgICAgICAgIFR5cGVWZXJ0aWNhbFRleHQsCi0gICAg
ICAgICAgICBUeXBlQ2VsbCwKLSAgICAgICAgICAgIFR5cGVDb250ZXh0TWVudSwKLSAgICAgICAg
ICAgIFR5cGVBbGlhcywKLSAgICAgICAgICAgIFR5cGVQcm9ncmVzcywKLSAgICAgICAgICAgIFR5
cGVOb0Ryb3AsCi0gICAgICAgICAgICBUeXBlQ29weSwKLSAgICAgICAgICAgIFR5cGVOb25lLAot
ICAgICAgICAgICAgVHlwZU5vdEFsbG93ZWQsCi0gICAgICAgICAgICBUeXBlWm9vbUluLAotICAg
ICAgICAgICAgVHlwZVpvb21PdXQsCi0gICAgICAgICAgICBUeXBlR3JhYiwKLSAgICAgICAgICAg
IFR5cGVHcmFiYmluZywKLSAgICAgICAgICAgIFR5cGVDdXN0b20KLSAgICAgICAgfTsKLQotICAg
ICAgICAvLyBDdXJzb3IuaCBhc3N1bWVzIHRoYXQgaXQgY2FuIGluaXRpYWxpemUgdXMgdG8gMC4K
LSAgICAgICAgZXhwbGljaXQgUGxhdGZvcm1DdXJzb3IoaW50IHR5cGUgPSAwKSA6IG1fdHlwZShU
eXBlUG9pbnRlcikge30KLSAgICAgICAgCi0gICAgICAgIFBsYXRmb3JtQ3Vyc29yKFR5cGUgdHlw
ZSkgOiBtX3R5cGUodHlwZSkge30KLQotICAgICAgICBQbGF0Zm9ybUN1cnNvcihJbWFnZSogaW1h
Z2UsIGNvbnN0IEludFBvaW50JiBob3RTcG90KQotICAgICAgICAgICAgOiBtX2ltYWdlKGltYWdl
KQotICAgICAgICAgICAgLCBtX2hvdFNwb3QoaG90U3BvdCkKLSAgICAgICAgICAgICwgbV90eXBl
KFR5cGVDdXN0b20pIHt9Ci0KLSAgICAgICAgUGFzc1JlZlB0cjxJbWFnZT4gY3VzdG9tSW1hZ2Uo
KSBjb25zdCB7IHJldHVybiBtX2ltYWdlOyB9Ci0gICAgICAgIGNvbnN0IEludFBvaW50JiBob3RT
cG90KCkgY29uc3QgeyByZXR1cm4gbV9ob3RTcG90OyB9Ci0gICAgICAgIFR5cGUgdHlwZSgpIGNv
bnN0IHsgcmV0dXJuIG1fdHlwZTsgfQotCi0gICAgcHJpdmF0ZToKLSAgICAgICAgUmVmUHRyPElt
YWdlPiBtX2ltYWdlOwotICAgICAgICBJbnRQb2ludCBtX2hvdFNwb3Q7Ci0gICAgICAgIFR5cGUg
bV90eXBlOwotICAgIH07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5jcHAKaW5kZXgg
NTY4NTdhNDNmNTQ4NDIzZThiZDkyZDMyMmQ5NmQ4MTBjMmJiNjc5YS4uMGY0NmQ3MDNjN2E4YzZk
YmRiZDJkODk2NTAyMTFjMzQzZWYwYjBjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmNwcApAQCAtMTIxLDkgKzEyMSw5IEBAIEludFNpemUg
SW1hZ2VTb3VyY2U6OmZyYW1lU2l6ZUF0SW5kZXgoc2l6ZV90IGluZGV4LCBSZXNwZWN0SW1hZ2VP
cmllbnRhdGlvbkVudW0KICAgICByZXR1cm4gc2l6ZTsKIH0KIAotYm9vbCBJbWFnZVNvdXJjZTo6
Z2V0SG90U3BvdChJbnRQb2ludCYpIGNvbnN0Citib29sIEltYWdlU291cmNlOjpnZXRIb3RTcG90
KEludFBvaW50JiBob3RTcG90KSBjb25zdAogewotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1
cm4gbV9kZWNvZGVyID8gbV9kZWNvZGVyLT5ob3RTcG90KGhvdFNwb3QpIDogZmFsc2U7CiB9CiAK
IHNpemVfdCBJbWFnZVNvdXJjZTo6Ynl0ZXNEZWNvZGVkVG9EZXRlcm1pbmVQcm9wZXJ0aWVzKCkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0RlZmVycmVkSW1hZ2VEZWNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0RlZmVycmVkSW1hZ2VEZWNvZGVyLmNwcAppbmRleCA4NjNjYTEyN2Uw
MjlkYjI2ZTIwZWQ4ZWM2NzQ3ZmY5NTcxZjIxN2JkLi4zM2NiOGNmODRlMWM0MmM2N2IxMmY2NzVm
MWJiNzczOTI5ZjU5NmI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVjb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuY3BwCkBA
IC0xNTgsNCArMTU4LDkgQEAgSW1hZ2VPcmllbnRhdGlvbiBEZWZlcnJlZEltYWdlRGVjb2Rlcjo6
b3JpZW50YXRpb24oKSBjb25zdAogICAgIHJldHVybiBtX2FjdHVhbERlY29kZXIgPyBtX2FjdHVh
bERlY29kZXItPm9yaWVudGF0aW9uKCkgOiBtX29yaWVudGF0aW9uOwogfQogCitib29sIERlZmVy
cmVkSW1hZ2VEZWNvZGVyOjpob3RTcG90KEludFBvaW50JiBob3RTcG90KSBjb25zdAoreworICAg
IHJldHVybiBtX2FjdHVhbERlY29kZXIgPyBtX2FjdHVhbERlY29kZXItPmhvdFNwb3QoaG90U3Bv
dCkgOiBmYWxzZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJbWFnZURlY29k
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0RlZmVycmVk
SW1hZ2VEZWNvZGVyLmgKaW5kZXggNjBkOGNjMTA4ODk5NjI5NmJjYzBkNTA1MjhiYTM2MzAxM2Q0
Y2Q4OC4uY2Q5MDFmZWU0NjE4YjhhMDMxZmJkMDc3ZDIyYjgxZDE5MzEwN2Q1ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJbWFn
ZURlY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9EZWZlcnJlZEltYWdlRGVjb2Rlci5oCkBAIC01Nyw2ICs1Nyw3IEBAIHB1YmxpYzoKICAgICBi
b29sIGZyYW1lSGFzQWxwaGFBdEluZGV4KHNpemVfdCBpbmRleCkgY29uc3Q7CiAgICAgdW5zaWdu
ZWQgZnJhbWVCeXRlc0F0SW5kZXgoc2l6ZV90IGluZGV4KSBjb25zdDsKICAgICBJbWFnZU9yaWVu
dGF0aW9uIG9yaWVudGF0aW9uKCkgY29uc3Q7CisgICAgYm9vbCBob3RTcG90KEludFBvaW50Jikg
Y29uc3Q7CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgRGVmZXJyZWRJbWFnZURlY29kZXIoSW1h
Z2VEZWNvZGVyKiBhY3R1YWxEZWNvZGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW1hZ2UtZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKaW5kZXggOGMwZGIzOTI5ZjU0MjA4
YjQ3ZmEzNjM4MjczNmJmYjMxNTY0N2Y1Ny4uMmI1Yzk4MzZhMzlkMjEzZTg5YjYzOWI2NjhkZWEx
MjVlYjY5Y2E5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVj
b2RlcnMvSW1hZ2VEZWNvZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2Ut
ZGVjb2RlcnMvSW1hZ2VEZWNvZGVyLmgKQEAgLTM3Niw2ICszNzYsMTAgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICB2b2lkIHNldE1heE51bVBpeGVscyhpbnQgbSkgeyBtX21heE51bVBp
eGVscyA9IG07IH0KICNlbmRpZgogCisgICAgICAgIC8vIElmIHRoZSBpbWFnZSBoYXMgYSBjdXJz
b3IgaG90LXNwb3QsIHN0b3JlcyBpdCBpbiB0aGUgYXJndW1lbnQKKyAgICAgICAgLy8gYW5kIHJl
dHVybnMgdHJ1ZS4gT3RoZXJ3aXNlIHJldHVybnMgZmFsc2UuCisgICAgICAgIHZpcnR1YWwgYm9v
bCBob3RTcG90KEludFBvaW50JikgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKwogICAgICAgICB2
aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0Owog
CiAgICAgcHJvdGVjdGVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1h
Z2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcAppbmRleCAyZGIzZWNm
NmNlN2ZjYzczMmNlMjQzNWRkZTRkYzk3OThjNjg2MzA4Li5hM2UyOTUyNjQ4YTE5ODg4OGU2NmU0
N2QxZmMxOTJlNjgyNjFkYTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
bWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcApAQCAtMTMz
LDYgKzEzMywyNCBAQCBib29sIElDT0ltYWdlRGVjb2Rlcjo6c2V0RmFpbGVkKCkKICAgICByZXR1
cm4gSW1hZ2VEZWNvZGVyOjpzZXRGYWlsZWQoKTsKIH0KIAorYm9vbCBJQ09JbWFnZURlY29kZXI6
OmhvdFNwb3QoSW50UG9pbnQmIGhvdFNwb3QpIGNvbnN0Cit7CisgICAgLy8gV2hlbiB1bnNwZWNp
ZmllZCwgdGhlIGRlZmF1bHQgZnJhbWUgaXMgYWx3YXlzIGZyYW1lIDAuIFRoaXMgaXMgY29uc2lz
dGVudCB3aXRoCisgICAgLy8gQml0bWFwSW1hZ2Ugd2hlcmUgY3VycmVudEZyYW1lKCkgc3RhcnRz
IGF0IDAgYW5kIG9ubHkgaW5jcmVhc2VzIHdoZW4gYW5pbWF0aW9uIGlzCisgICAgLy8gcmVxdWVz
dGVkLgorICAgIHJldHVybiBob3RTcG90QXRJbmRleCgwLCBob3RTcG90KTsKK30KKworYm9vbCBJ
Q09JbWFnZURlY29kZXI6OmhvdFNwb3RBdEluZGV4KHNpemVfdCBpbmRleCwgSW50UG9pbnQmIGhv
dFNwb3QpIGNvbnN0Cit7CisgICAgaWYgKGluZGV4ID49IG1fZGlyRW50cmllcy5zaXplKCkgfHwg
bV9maWxlVHlwZSAhPSBDVVJTT1IpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGhvdFNw
b3QgPSBtX2RpckVudHJpZXNbaW5kZXhdLm1faG90U3BvdDsKKyAgICByZXR1cm4gdHJ1ZTsKK30K
KworCiAvLyBzdGF0aWMKIGJvb2wgSUNPSW1hZ2VEZWNvZGVyOjpjb21wYXJlRW50cmllcyhjb25z
dCBJY29uRGlyZWN0b3J5RW50cnkmIGEsIGNvbnN0IEljb25EaXJlY3RvcnlFbnRyeSYgYikKIHsK
QEAgLTIzMiwxMyArMjUwLDExIEBAIGJvb2wgSUNPSW1hZ2VEZWNvZGVyOjpwcm9jZXNzRGlyZWN0
b3J5KCkKIAogICAgIC8vIFNlZSBpZiB0aGlzIGlzIGFuIGljb24gZmlsZXR5cGUgd2UgdW5kZXJz
dGFuZCwgYW5kIG1ha2Ugc3VyZSB3ZSBoYXZlIGF0CiAgICAgLy8gbGVhc3Qgb25lIGVudHJ5IGlu
IHRoZSBkaXJlY3RvcnkuCi0gICAgZW51bSB7Ci0gICAgICAgIElDT04gPSAxLAotICAgICAgICBD
VVJTT1IgPSAyLAotICAgIH07CiAgICAgaWYgKCgoZmlsZVR5cGUgIT0gSUNPTikgJiYgKGZpbGVU
eXBlICE9IENVUlNPUikpIHx8ICghaWRDb3VudCkpCiAgICAgICAgIHJldHVybiBzZXRGYWlsZWQo
KTsKIAorICAgIG1fZmlsZVR5cGUgPSBzdGF0aWNfY2FzdDxGaWxlVHlwZT4oZmlsZVR5cGUpOwor
CiAgICAgLy8gRW5sYXJnZSBtZW1iZXIgdmVjdG9ycyB0byBob2xkIGFsbCB0aGUgZW50cmllcy4K
ICAgICBtX2RpckVudHJpZXMucmVzaXplKGlkQ291bnQpOwogICAgIG1fYm1wUmVhZGVycy5yZXNp
emUoaWRDb3VudCk7CkBAIC0yODcsNyArMzAzLDEzIEBAIElDT0ltYWdlRGVjb2Rlcjo6SWNvbkRp
cmVjdG9yeUVudHJ5IElDT0ltYWdlRGVjb2Rlcjo6cmVhZERpcmVjdG9yeUVudHJ5KCkKICAgICAg
ICAgaGVpZ2h0ID0gMjU2OwogICAgIEljb25EaXJlY3RvcnlFbnRyeSBlbnRyeTsKICAgICBlbnRy
eS5tX3NpemUgPSBJbnRTaXplKHdpZHRoLCBoZWlnaHQpOwotICAgIGVudHJ5Lm1fYml0Q291bnQg
PSByZWFkVWludDE2KDYpOworICAgIGlmIChtX2ZpbGVUeXBlID09IENVUlNPUikgeworICAgICAg
ICBlbnRyeS5tX2JpdENvdW50ID0gMDsKKyAgICAgICAgZW50cnkubV9ob3RTcG90ID0gSW50UG9p
bnQocmVhZFVpbnQxNig0KSwgcmVhZFVpbnQxNig2KSk7CisgICAgfSBlbHNlIHsKKyAgICAgICAg
ZW50cnkubV9iaXRDb3VudCA9IHJlYWRVaW50MTYoNik7CisgICAgICAgIGVudHJ5Lm1faG90U3Bv
dCA9IEludFBvaW50KCk7CisgICAgfQogICAgIGVudHJ5Lm1faW1hZ2VPZmZzZXQgPSByZWFkVWlu
dDMyKDEyKTsKIAogICAgIC8vIFNvbWUgaWNvbnMgZG9uJ3QgaGF2ZSBhIGJpdCBkZXB0aCwgb25s
eSBhIGNvbG9yIGNvdW50LiAgQ29udmVydCB0aGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuaAppbmRl
eCAzMWQ5MWM4MTkwMmZiMGQyYzY5ZGMwYTM2MThjYmRjNTRiZjZiNzEzLi5hOTA5ZGViODA4MzVl
ODJkNThhODhhODk1NmMzMzc4NzI0Y2Q5ZjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5oCkBA
IC01Niw2ICs1Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gYXZvaWQgYWNj
ZXNzaW5nIGRlbGV0ZWQgbWVtb3J5LCBlc3BlY2lhbGx5IHdoZW4gY2FsbGluZyB0aGlzIGZyb20K
ICAgICAgICAgLy8gaW5zaWRlIEJNUEltYWdlUmVhZGVyIQogICAgICAgICB2aXJ0dWFsIGJvb2wg
c2V0RmFpbGVkKCk7CisgICAgICAgIHZpcnR1YWwgYm9vbCBob3RTcG90KEludFBvaW50JikgY29u
c3Q7CiAKICAgICBwcml2YXRlOgogICAgICAgICBlbnVtIEltYWdlVHlwZSB7CkBAIC02NCw5ICs2
NSwxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBQTkcsCiAgICAgICAgIH07
CiAKKyAgICAgICAgZW51bSBGaWxlVHlwZSB7CisgICAgICAgICAgICBJQ09OID0gMSwKKyAgICAg
ICAgICAgIENVUlNPUiA9IDIsCisgICAgICAgIH07CisKICAgICAgICAgc3RydWN0IEljb25EaXJl
Y3RvcnlFbnRyeSB7CiAgICAgICAgICAgICBJbnRTaXplIG1fc2l6ZTsKICAgICAgICAgICAgIHVp
bnQxNl90IG1fYml0Q291bnQ7CisgICAgICAgICAgICBJbnRQb2ludCBtX2hvdFNwb3Q7CiAgICAg
ICAgICAgICB1aW50MzJfdCBtX2ltYWdlT2Zmc2V0OwogICAgICAgICB9OwogCkBAIC0xMDksNiAr
MTE2LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gY291bGQgYmUgZGVjb2Rl
ZC4KICAgICAgICAgYm9vbCBwcm9jZXNzRGlyZWN0b3J5RW50cmllcygpOwogCisgICAgICAgIC8v
IFN0b3JlcyB0aGUgaG90LXNwb3QgZm9yIHxpbmRleHwgaW4gfGhvdFNwb3R8IGFuZCByZXR1cm5z
IHRydWUsCisgICAgICAgIC8vIG9yIHJldHVybnMgZmFsc2UgaWYgdGhlcmUgaXMgbm9uZS4KKyAg
ICAgICAgYm9vbCBob3RTcG90QXRJbmRleChzaXplX3QgaW5kZXgsIEludFBvaW50JiBob3RTcG90
KSBjb25zdDsKKwogICAgICAgICAvLyBSZWFkcyBhbmQgcmV0dXJucyBhIGRpcmVjdG9yeSBlbnRy
eSBmcm9tIHRoZSBjdXJyZW50IG9mZnNldCBpbnRvCiAgICAgICAgIC8vIHxkYXRhfC4KICAgICAg
ICAgSWNvbkRpcmVjdG9yeUVudHJ5IHJlYWREaXJlY3RvcnlFbnRyeSgpOwpAQCAtMTIyLDYgKzEz
Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgLy8gQk1QSW1hZ2VSZWFkZXIgdGFr
ZXMgb3ZlciB0aGlzIHdpbGwgbm90IGJlIHVwZGF0ZWQgZnVydGhlci4KICAgICAgICAgc2l6ZV90
IG1fZGVjb2RlZE9mZnNldDsKIAorICAgICAgICAvLyBXaGljaCB0eXBlIG9mIGZpbGUgKElDTy9D
VVIpIHRoaXMgaXMuCisgICAgICAgIEZpbGVUeXBlIG1fZmlsZVR5cGU7CisKICAgICAgICAgLy8g
VGhlIGhlYWRlcnMgZm9yIHRoZSBJQ08uCiAgICAgICAgIHR5cGVkZWYgVmVjdG9yPEljb25EaXJl
Y3RvcnlFbnRyeT4gSWNvbkRpcmVjdG9yeUVudHJpZXM7CiAgICAgICAgIEljb25EaXJlY3RvcnlF
bnRyaWVzIG1fZGlyRW50cmllczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
QXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKaW5kZXggODRkMmI4YTRkOTUxZjY2ZWFkOTZjOTFkMGFm
YTM1ZTFhNjI5MTNmNy4uMzg1YWU3ZWVhZGQxNjY3ZWRkNWJjOTk4ZTgxY2Q2M2M2MjAxMjlhYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVt
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVt
cy5jcHAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0Lmgi
CiAjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZUhvc3QuaCIKICNpbmNsdWRlICJDb250ZW50U2Vj
dXJpdHlQb2xpY3kuaCIKKyNpbmNsdWRlICJDdXJzb3IuaCIKICNpbmNsdWRlICJEb2N1bWVudE1h
cmtlci5oIgogI2luY2x1ZGUgIkVkaXRvckluc2VydEFjdGlvbi5oIgogI2luY2x1ZGUgIkV4Y2Vw
dGlvbkNvZGUuaCIKQEAgLTY0LDcgKzY1LDYgQEAKICNpbmNsdWRlICJNZWRpYVN0cmVhbVNvdXJj
ZS5oIgogI2luY2x1ZGUgIk5vdGlmaWNhdGlvbkNsaWVudC5oIgogI2luY2x1ZGUgIlBhZ2VWaXNp
YmlsaXR5U3RhdGUuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybUN1cnNvci5oIgogI2luY2x1ZGUgIlJU
Q0RhdGFDaGFubmVsRGVzY3JpcHRvci5oIgogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9uSGFu
ZGxlckNsaWVudC5oIgogI2luY2x1ZGUgIlJlZmVycmVyUG9saWN5LmgiCkBAIC0yODAsNTAgKzI4
MCw1MCBAQCBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkFwcGxpY2F0aW9uQ2FjaGVI
b3N0OjpVcGRhdGVSZWFkeUV2ZW50LCBBcHBsaWNhdAogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdDo6Q2FjaGVkRXZlbnQsIEFwcGxpY2F0aW9uQ2Fj
aGVIb3N0OjpDQUNIRURfRVZFTlQpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJB
cHBsaWNhdGlvbkNhY2hlSG9zdDo6T2Jzb2xldGVFdmVudCwgQXBwbGljYXRpb25DYWNoZUhvc3Q6
Ok9CU09MRVRFX0VWRU5UKTsKIAotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJz
b3JJbmZvOjpUeXBlUG9pbnRlciwgUGxhdGZvcm1DdXJzb3I6OlR5cGVQb2ludGVyKTsKLUNPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUNyb3NzLCBQbGF0Zm9y
bUN1cnNvcjo6VHlwZUNyb3NzKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vy
c29ySW5mbzo6VHlwZUhhbmQsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlSGFuZCk7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVJQmVhbSwgUGxhdGZvcm1DdXJz
b3I6OlR5cGVJQmVhbSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvcklu
Zm86OlR5cGVXYWl0LCBQbGF0Zm9ybUN1cnNvcjo6VHlwZVdhaXQpOwotQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlSGVscCwgUGxhdGZvcm1DdXJzb3I6OlR5
cGVIZWxwKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlw
ZUVhc3RSZXNpemUsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlRWFzdFJlc2l6ZSk7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVOb3J0aFJlc2l6ZSwgUGxhdGZv
cm1DdXJzb3I6OlR5cGVOb3J0aFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KFdlYkN1cnNvckluZm86OlR5cGVOb3J0aEVhc3RSZXNpemUsIFBsYXRmb3JtQ3Vyc29yOjpUeXBl
Tm9ydGhFYXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29y
SW5mbzo6VHlwZU5vcnRoV2VzdFJlc2l6ZSwgUGxhdGZvcm1DdXJzb3I6OlR5cGVOb3J0aFdlc3RS
ZXNpemUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBl
U291dGhSZXNpemUsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlU291dGhSZXNpemUpOwotQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlU291dGhFYXN0UmVzaXplLCBQ
bGF0Zm9ybUN1cnNvcjo6VHlwZVNvdXRoRWFzdFJlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVTb3V0aFdlc3RSZXNpemUsIFBsYXRmb3JtQ3Vy
c29yOjpUeXBlU291dGhXZXN0UmVzaXplKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
V2ViQ3Vyc29ySW5mbzo6VHlwZVdlc3RSZXNpemUsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlV2VzdFJl
c2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVO
b3J0aFNvdXRoUmVzaXplLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZU5vcnRoU291dGhSZXNpemUpOwot
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlRWFzdFdlc3RS
ZXNpemUsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlRWFzdFdlc3RSZXNpemUpOwotQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTm9ydGhFYXN0U291dGhXZXN0UmVz
aXplLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZU5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZSk7Ci1DT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVOb3J0aFdlc3RTb3V0
aEVhc3RSZXNpemUsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlTm9ydGhXZXN0U291dGhFYXN0UmVzaXpl
KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUNvbHVt
blJlc2l6ZSwgUGxhdGZvcm1DdXJzb3I6OlR5cGVDb2x1bW5SZXNpemUpOwotQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlUm93UmVzaXplLCBQbGF0Zm9ybUN1
cnNvcjo6VHlwZVJvd1Jlc2l6ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1
cnNvckluZm86OlR5cGVNaWRkbGVQYW5uaW5nLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZU1pZGRsZVBh
bm5pbmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBl
RWFzdFBhbm5pbmcsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlRWFzdFBhbm5pbmcpOwotQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTm9ydGhQYW5uaW5nLCBQbGF0
Zm9ybUN1cnNvcjo6VHlwZU5vcnRoUGFubmluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFdlYkN1cnNvckluZm86OlR5cGVOb3J0aEVhc3RQYW5uaW5nLCBQbGF0Zm9ybUN1cnNvcjo6
VHlwZU5vcnRoRWFzdFBhbm5pbmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJD
dXJzb3JJbmZvOjpUeXBlTm9ydGhXZXN0UGFubmluZywgUGxhdGZvcm1DdXJzb3I6OlR5cGVOb3J0
aFdlc3RQYW5uaW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5m
bzo6VHlwZVNvdXRoUGFubmluZywgUGxhdGZvcm1DdXJzb3I6OlR5cGVTb3V0aFBhbm5pbmcpOwot
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlU291dGhFYXN0
UGFubmluZywgUGxhdGZvcm1DdXJzb3I6OlR5cGVTb3V0aEVhc3RQYW5uaW5nKTsKLUNPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZVNvdXRoV2VzdFBhbm5pbmcs
IFBsYXRmb3JtQ3Vyc29yOjpUeXBlU291dGhXZXN0UGFubmluZyk7Ci1DT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVXZXN0UGFubmluZywgUGxhdGZvcm1DdXJz
b3I6OlR5cGVXZXN0UGFubmluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1
cnNvckluZm86OlR5cGVNb3ZlLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZU1vdmUpOwotQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlVmVydGljYWxUZXh0LCBQbGF0
Zm9ybUN1cnNvcjo6VHlwZVZlcnRpY2FsVGV4dCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKFdlYkN1cnNvckluZm86OlR5cGVDZWxsLCBQbGF0Zm9ybUN1cnNvcjo6VHlwZUNlbGwpOwot
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlQ29udGV4dE1l
bnUsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlQ29udGV4dE1lbnUpOwotQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlQWxpYXMsIFBsYXRmb3JtQ3Vyc29yOjpUeXBl
QWxpYXMpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBl
UHJvZ3Jlc3MsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlUHJvZ3Jlc3MpOwotQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTm9Ecm9wLCBQbGF0Zm9ybUN1cnNvcjo6
VHlwZU5vRHJvcCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86
OlR5cGVDb3B5LCBQbGF0Zm9ybUN1cnNvcjo6VHlwZUNvcHkpOwotQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTm9uZSwgUGxhdGZvcm1DdXJzb3I6OlR5cGVO
b25lKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU5v
dEFsbG93ZWQsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlTm90QWxsb3dlZCk7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVab29tSW4sIFBsYXRmb3JtQ3Vyc29y
OjpUeXBlWm9vbUluKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5m
bzo6VHlwZVpvb21PdXQsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlWm9vbU91dCk7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVHcmFiLCBQbGF0Zm9ybUN1cnNv
cjo6VHlwZUdyYWIpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZv
OjpUeXBlR3JhYmJpbmcsIFBsYXRmb3JtQ3Vyc29yOjpUeXBlR3JhYmJpbmcpOwotQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlQ3VzdG9tLCBQbGF0Zm9ybUN1
cnNvcjo6VHlwZUN1c3RvbSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNv
ckluZm86OlR5cGVQb2ludGVyLCBDdXJzb3I6OlBvaW50ZXIpOworQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlQ3Jvc3MsIEN1cnNvcjo6Q3Jvc3MpOworQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlSGFuZCwgQ3Vyc29y
OjpIYW5kKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlw
ZUlCZWFtLCBDdXJzb3I6OklCZWFtKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2Vi
Q3Vyc29ySW5mbzo6VHlwZVdhaXQsIEN1cnNvcjo6V2FpdCk7CitDT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVIZWxwLCBDdXJzb3I6OkhlbHApOworQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlRWFzdFJlc2l6ZSwgQ3Vy
c29yOjpFYXN0UmVzaXplKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29y
SW5mbzo6VHlwZU5vcnRoUmVzaXplLCBDdXJzb3I6Ok5vcnRoUmVzaXplKTsKK0NPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRoRWFzdFJlc2l6ZSwgQ3Vy
c29yOjpOb3J0aEVhc3RSZXNpemUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJD
dXJzb3JJbmZvOjpUeXBlTm9ydGhXZXN0UmVzaXplLCBDdXJzb3I6Ok5vcnRoV2VzdFJlc2l6ZSk7
CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVTb3V0aFJl
c2l6ZSwgQ3Vyc29yOjpTb3V0aFJlc2l6ZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KFdlYkN1cnNvckluZm86OlR5cGVTb3V0aEVhc3RSZXNpemUsIEN1cnNvcjo6U291dGhFYXN0UmVz
aXplKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZVNv
dXRoV2VzdFJlc2l6ZSwgQ3Vyc29yOjpTb3V0aFdlc3RSZXNpemUpOworQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlV2VzdFJlc2l6ZSwgQ3Vyc29yOjpXZXN0
UmVzaXplKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlw
ZU5vcnRoU291dGhSZXNpemUsIEN1cnNvcjo6Tm9ydGhTb3V0aFJlc2l6ZSk7CitDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVFYXN0V2VzdFJlc2l6ZSwgQ3Vy
c29yOjpFYXN0V2VzdFJlc2l6ZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1
cnNvckluZm86OlR5cGVOb3J0aEVhc3RTb3V0aFdlc3RSZXNpemUsIEN1cnNvcjo6Tm9ydGhFYXN0
U291dGhXZXN0UmVzaXplKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29y
SW5mbzo6VHlwZU5vcnRoV2VzdFNvdXRoRWFzdFJlc2l6ZSwgQ3Vyc29yOjpOb3J0aFdlc3RTb3V0
aEVhc3RSZXNpemUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZv
OjpUeXBlQ29sdW1uUmVzaXplLCBDdXJzb3I6OkNvbHVtblJlc2l6ZSk7CitDT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVSb3dSZXNpemUsIEN1cnNvcjo6Um93
UmVzaXplKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlw
ZU1pZGRsZVBhbm5pbmcsIEN1cnNvcjo6TWlkZGxlUGFubmluZyk7CitDT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVFYXN0UGFubmluZywgQ3Vyc29yOjpFYXN0
UGFubmluZyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5
cGVOb3J0aFBhbm5pbmcsIEN1cnNvcjo6Tm9ydGhQYW5uaW5nKTsKK0NPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZU5vcnRoRWFzdFBhbm5pbmcsIEN1cnNvcjo6
Tm9ydGhFYXN0UGFubmluZyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNv
ckluZm86OlR5cGVOb3J0aFdlc3RQYW5uaW5nLCBDdXJzb3I6Ok5vcnRoV2VzdFBhbm5pbmcpOwor
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlU291dGhQYW5u
aW5nLCBDdXJzb3I6OlNvdXRoUGFubmluZyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KFdlYkN1cnNvckluZm86OlR5cGVTb3V0aEVhc3RQYW5uaW5nLCBDdXJzb3I6OlNvdXRoRWFzdFBh
bm5pbmcpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBl
U291dGhXZXN0UGFubmluZywgQ3Vyc29yOjpTb3V0aFdlc3RQYW5uaW5nKTsKK0NPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZVdlc3RQYW5uaW5nLCBDdXJzb3I6
Oldlc3RQYW5uaW5nKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5m
bzo6VHlwZU1vdmUsIEN1cnNvcjo6TW92ZSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KFdlYkN1cnNvckluZm86OlR5cGVWZXJ0aWNhbFRleHQsIEN1cnNvcjo6VmVydGljYWxUZXh0KTsK
K0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUNlbGwsIEN1
cnNvcjo6Q2VsbCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86
OlR5cGVDb250ZXh0TWVudSwgQ3Vyc29yOjpDb250ZXh0TWVudSk7CitDT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVBbGlhcywgQ3Vyc29yOjpBbGlhcyk7CitD
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVQcm9ncmVzcywg
Q3Vyc29yOjpQcm9ncmVzcyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNv
ckluZm86OlR5cGVOb0Ryb3AsIEN1cnNvcjo6Tm9Ecm9wKTsKK0NPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlwZUNvcHksIEN1cnNvcjo6Q29weSk7CitDT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVOb25lLCBDdXJzb3I6Ok5v
bmUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlTm90
QWxsb3dlZCwgQ3Vyc29yOjpOb3RBbGxvd2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oV2ViQ3Vyc29ySW5mbzo6VHlwZVpvb21JbiwgQ3Vyc29yOjpab29tSW4pOworQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJDdXJzb3JJbmZvOjpUeXBlWm9vbU91dCwgQ3Vyc29yOjpa
b29tT3V0KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViQ3Vyc29ySW5mbzo6VHlw
ZUdyYWIsIEN1cnNvcjo6R3JhYik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkN1
cnNvckluZm86OlR5cGVHcmFiYmluZywgQ3Vyc29yOjpHcmFiYmluZyk7CitDT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKFdlYkN1cnNvckluZm86OlR5cGVDdXN0b20sIEN1cnNvcjo6Q3VzdG9t
KTsKIAogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJFZGl0aW5nQWN0aW9uVHlwZWQs
IEVkaXRvckluc2VydEFjdGlvblR5cGVkKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
V2ViRWRpdGluZ0FjdGlvblBhc3RlZCwgRWRpdG9ySW5zZXJ0QWN0aW9uUGFzdGVkKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkN1cnNvckluZm8uY3BwIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ3Vyc29ySW5mby5jcHAKaW5kZXggZDRiMGY4MWZh
ZmE5OWIwNWJiMjUyYjM5ZTk0OGE5Mzg0MDdkZTU3My4uNjBiZTVkYmNhZjEwZjAxMGFhMjY4M2Q3
ZWFlNmE5YjczNDAwN2RhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViQ3Vyc29ySW5mby5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ3Vy
c29ySW5mby5jcHAKQEAgLTM5LDkgKzM5LDkgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIFdlYkN1
cnNvckluZm86OldlYkN1cnNvckluZm8oY29uc3QgQ3Vyc29yJiBjdXJzb3IpCiB7Ci0gICAgdHlw
ZSA9IHN0YXRpY19jYXN0PFR5cGU+KGN1cnNvci5pbXBsKCkudHlwZSgpKTsKLSAgICBob3RTcG90
ID0gY3Vyc29yLmltcGwoKS5ob3RTcG90KCk7Ci0gICAgY3VzdG9tSW1hZ2UgPSBjdXJzb3IuaW1w
bCgpLmN1c3RvbUltYWdlKCk7CisgICAgdHlwZSA9IHN0YXRpY19jYXN0PFR5cGU+KGN1cnNvci50
eXBlKCkpOworICAgIGhvdFNwb3QgPSBjdXJzb3IuaG90U3BvdCgpOworICAgIGN1c3RvbUltYWdl
ID0gY3Vyc29yLmltYWdlKCk7CiAjaWZkZWYgV0lOMzIKICAgICBleHRlcm5hbEhhbmRsZSA9IDA7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA5MDM1OTZjMmEyOTY5OTM0ZWViMTdjNjIyMTY0ZjEwNzZhNmQwOTRj
Li5kYTc0N2Y5MjhkYWU2M2NjYzJmMWQxMTdjYjcyMGNlMDI5N2I5YzM4IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUg
KzEsMzUgQEAKIDIwMTItMTEtMDkgIFJpY2sgQnllcnMgIDxyYnllcnNAY2hyb21pdW0ub3JnPgog
CisgICAgICAgIGN1c3RvbSBDU1MgY3Vyc29ycyBpZ25vcmUgaG90c3BvdCB2YWx1ZXMgZW1iZWRk
ZWQgaW4gQ1VSIGZpbGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDAwNTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgbW91c2UgY3Vyc29yIHRlc3QgY2FzZXMgdGhhdCB1c2UgQ1VSIGZpbGVzIHRo
YXQgaGF2ZSBlbWJlZGRlZCBob3RzcG90IHZhbHVlcy4KKworICAgICAgICAqIGZhc3QvZXZlbnRz
L21vdXNlLWN1cnNvci1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9ldmVudHMvbW91c2Ut
Y3Vyc29yLW11bHRpZnJhbWVjdXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2V2ZW50cy9tb3VzZS1jdXJzb3ItbXVsdGlmcmFtZWN1ci5odG1sOiBDb3BpZWQgZnJvbSBMYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbC4KKyAgICAgICAgKiBmYXN0L2V2
ZW50cy9tb3VzZS1jdXJzb3IuaHRtbDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9yZXNvdXJjZXMv
Z3JlZW5ib3gtM2ZyYW1lcy5jdXI6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3Jlc291
cmNlcy9ncmVlbmJveC1ob3RzcG90MzUtNC5jdXI6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZl
bnRzL3Jlc291cmNlcy9ncmVlbmJveC1ob3RzcG90NS00LmN1cjogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6IFNraXAgdGhlIG11bHRpLWZyYW1lIGNhc2Ug
b24gbWFjIGR1ZSB0byBhbiBhcHBhcmVudCBDRyBoYW5nCisKKzIwMTItMTEtMDkgIFJpY2sgQnll
cnMgIDxyYnllcnNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gTW92ZSB0byBV
U0UoTEFaWV9OQVRJVkVfQ1VSU09SKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTAxNTAxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4K
KworICAgICAgICBSZW1vdmUgZmFpbHVyZSBleHBlY3RhdGlvbiBmb3IgZmFzdC9ldmVudHMvbW91
c2UtY3Vyc29yLmh0bWwgbm93IHRoYXQKKyAgICAgICAgY2hyb21pdW0gdXNlcyB0aGUgc2FtZSBj
dXJzb3IgYXJjaGl0ZWN0dXJlIGFzIG90aGVyIHBvcnRzLgorCisgICAgICAgICogcGxhdGZvcm0v
Y2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczoKKworMjAxMi0xMS0wOSAgUmljayBCeWVycyAgPHJi
eWVyc0BjaHJvbWl1bS5vcmc+CisKICAgICAgICAgTm8gdGVzdHMgZm9yIGNoYW5naW5nIG1vdXNl
IGN1cnNvcnMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwMDU1MAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJz
b3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4
cGVjdGVkLnR4dAppbmRleCA4YzE1YTkxYjQ0MzAzODZiZTMxODE1MDQxYTNiMDljNmE5YWZiMzlm
Li4xMDU0ZWY0MTAzYWY3OGQ3NmQ5ZDcxYWRiNmM3ZWU2ZTlkNjU4ZGY4IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1leHBlY3RlZC50eHQKQEAgLTQ1LDYg
KzQ1LDE1IEBAIEN1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3BvdD0wLDAgaW1hZ2U9
MjV4MjUKIFRFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBvdXRzaWRlIGlt
YWdlIGF0ICgzMCwzMCkKIEN1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0b20gaG90U3BvdD0wLDAg
aW1hZ2U9MjV4MjUKIAorVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGltcGxpY2l0IGhvdCBzcG90IGF0
ICg1LDQpCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9NSw0IGltYWdlPTI1
eDI1CisKK1RFU1QgQ0FTRTogSW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoMjAsMTAp
IG92ZXJyaWRpbmcgaW1wbGljaXQgaG90IHNwb3QKK0N1cnNvciBJbmZvOiB0eXBlPVR5cGVDdXN0
b20gaG90U3BvdD0yMCwxMCBpbWFnZT0yNXgyNQorCitURVNUIENBU0U6IEltYWdlIHdpdGggaW1w
bGljaXQgaG90IHNwb3Qgb3V0c2lkZSBpbWFnZSBhdCAoMzUsNCkKK0N1cnNvciBJbmZvOiB0eXBl
PVR5cGVDdXN0b20gaG90U3BvdD0wLDAgaW1hZ2U9MjV4MjUKKwogVEVTVCBDQVNFOiBPdmVyIGxh
cmdlIGltYWdlIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcgogQ3Vyc29yIEluZm86IHR5cGU9VHlw
ZUhhbmQgaG90U3BvdD0wLDAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
bW91c2UtY3Vyc29yLW11bHRpZnJhbWVjdXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvbW91c2UtY3Vyc29yLW11bHRpZnJhbWVjdXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIyMzc4M2UyMmYxYjYwMmQzOTc2NDIwMTQ3OTgyNWU5Y2E0NGU2Y2EKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItbXVsdGlmcmFtZWN1
ci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorVGVzdCB0aGF0IG1vdXNlIGN1cnNvcnMg
YXJlIGFwcGxpZWQgY29ycmVjdGx5LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
QnVnIDEwMDA1OQorCisKK1RFU1QgQ0FTRTogSW1wbGljaXQgZGVmYXVsdCBjdXJzb3IKK0N1cnNv
ciBJbmZvOiB0eXBlPVR5cGVJQmVhbSBob3RTcG90PTAsMAorCitURVNUIENBU0U6IENVUiBmaWxl
IHdpdGggMyBmcmFtZXMsIGxhcmdlc3Qgb2Ygd2hpY2ggKDJuZCBmcmFtZSkgaXMgMjB4MTIgd2l0
aCBob3RzcG90IGF0ICgxOCwxMSkuCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNw
b3Q9MTgsMTEgaW1hZ2U9MjB4MTIKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21v
dXNlLWN1cnNvci1tdWx0aWZyYW1lY3VyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9t
b3VzZS1jdXJzb3ItbXVsdGlmcmFtZWN1ci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjNmU2ZjRiMDc4N2Fh
OTUzMTVhY2I3MjQyMTg2ZmEyZjZmYWYxNzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItbXVsdGlmcmFtZWN1ci5odG1sCkBAIC0wLDAgKzEs
OTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHN0eWxlIHR5cGU9InRleHQv
Y3NzIj4KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9w
PgorPHA+PGEgaHJlZj1odHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAw
NTUwPkJ1ZyAxMDAwNTk8L2E+PC9wPgorPGRpdiBpZD0idGVzdC1jb250YWluZXIiPgorICA8ZGl2
PkltcGxpY2l0IGRlZmF1bHQgY3Vyc29yPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJs
KHJlc291cmNlcy9ncmVlbmJveC0zZnJhbWVzLmN1ciksIHBvaW50ZXInPkNVUiBmaWxlIHdpdGgg
MyBmcmFtZXMsIGxhcmdlc3Qgb2Ygd2hpY2ggKDJuZCBmcmFtZSkgaXMgMjB4MTIgd2l0aCBob3Rz
cG90IGF0ICgxOCwxMSkuPC9kaXY+Cis8L2Rpdj4KKzxici8+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQ+Cit2YXIgaW1hZ2VzTGVmdFRvTG9hZCA9IDA7CisKK2Z1bmN0aW9uIG9u
SW1hZ2VMb2FkKGUpIHsKKworICAgIC8vIFRoaXMgZGVidWcgb3V0cHV0IGlzIG5vbi1kZXRlcm1p
bmlzdGljIGFuZCBjb250YWlucyBhYnNvbHV0ZSBVUkxzIC0gb25seSBzaG93IHdoZW4KKyAgICAv
LyBub3QgcnVubmluZyBpbiBEUlQKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICBkZWJ1ZyggJ0V2ZW50ICInICsgZS50eXBlICsgJyI6ICcgKyBlLnRhcmdldC5zcmMpOworICAg
ICAgICAKKyAgICBpbWFnZXNMZWZ0VG9Mb2FkLS07CisgICAgaWYgKGltYWdlc0xlZnRUb0xvYWQg
PT0gMCkKKyAgICAgICAgcnVuVGVzdHMoKTsKKyAgICBpZiAoaW1hZ2VzTGVmdFRvTG9hZCA8IDAp
CisgICAgICAgIHRlc3RGYWlsZWQoJ0dvdCBtb3JlIGxvYWQvZXJyb3IgY2FsbGJhY2sgdGhhbiBl
eHBlY3RlZC4nKTsKK30KKworZnVuY3Rpb24gb25JbWFnZVVuZXhwZWN0ZWQoZSkgeworCWltYWdl
c0xlZnRUb0xvYWQtLTsKKyAgICB0ZXN0RmFpbGVkKCdHb3QgdW5leHBlY3RlZCBcJycgKyBlLnR5
cGUgKyAnXCcgZXZlbnQgZm9yIGltYWdlOiAnICsgZS50YXJnZXQuc3JjKTsgCit9CisKK2Z1bmN0
aW9uIHJ1blRlc3RzKCkgeworICAgIC8vIENhbid0IGRvIGFueXRoaW5nIHVzZWZ1bCBoZXJlIHdp
dGhvdXQgZXZlbnRTZW5kZXIKKyAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAg
IHZhciBub2Rlc1RvVGVzdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyN0ZXN0LWNvbnRh
aW5lciA+IGRpdicpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGVzVG9UZXN0Lmxl
bmd0aDsgaSsrKSB7CisgICAgICAgICAgICB2YXIgbm9kZSA9IG5vZGVzVG9UZXN0W2ldOworICAg
ICAgICAgICAgZGVidWcoJ1RFU1QgQ0FTRTogJyArIG5vZGUudGV4dENvbnRlbnQpOworCisgICAg
ICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIG5vZGUgaXMgdmlzaWJsZSBhbmQgbW92ZSB0aGUgbW91
c2Ugb3ZlciB0b3Agb2YgaXQuCisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCA9
IG5vZGUub2Zmc2V0VG9wIC0gNTA7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVU
byhub2RlLm9mZnNldExlZnQgKyAzLCBub2RlLm9mZnNldFRvcCAtIGRvY3VtZW50LmJvZHkuc2Ny
b2xsVG9wICsgMyk7CisKKyAgICAgICAgICAgIC8vIEdldCBkZXRhaWxzIG9mIHRoZSBjdXJyZW50
IG1vdXNlIGN1cnNvci4KKyAgICAgICAgICAgIC8vIE5vdGUgdGhhdCB3ZSBjb3VsZCByZXR1cm4g
c3RydWN0dXJlZCBkYXRhIHdoaWNoIHdlIHRoZW4gdmFsaWRhdGUsIGJ1dCB0aGF0J3MgYSBsb3Qg
bW9yZQorICAgICAgICAgICAgLy8gd29yayBhbmQgaXMgcmVkdW5kYW50IHdpdGggcmVseWluZyBv
biB0aGUgZXhwZWN0ZWQgb3V0cHV0IGFueXdheS4gIEJldHRlciB0byBqdXN0IGR1bXAKKyAgICAg
ICAgICAgIC8vIGl0IGFuZCBpbnNwZWN0IHRoYXQgaXQgbWF0Y2hlcyB0aGUgZGVzY3JpcHRpb24u
CisgICAgICAgICAgICBkZWJ1ZygnQ3Vyc29yIEluZm86ICcgKyB3aW5kb3cuaW50ZXJuYWxzLmdl
dEN1cnJlbnRDdXJzb3JJbmZvKGRvY3VtZW50KSk7CisgICAgICAgICAgICBkZWJ1ZygnJyk7Cisg
ICAgICAgIH0KKyAgICAgICAgLy8gVGhpcyB0ZXh0IGlzIHJlZHVuZGFudCB3aXRoIHRoZSB0ZXN0
IG91dHB1dCAtIGhpZGUgaXQKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3Qt
Y29udGFpbmVyJykuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKKyAgICB9CisgICAgCisgICAgZmlu
aXNoSlNUZXN0KCk7Cit9CisKK2Rlc2NyaXB0aW9uKCJUZXN0IHRoYXQgbW91c2UgY3Vyc29ycyBh
cmUgYXBwbGllZCBjb3JyZWN0bHkuIik7CisKK2lmICghd2luZG93LmV2ZW50U2VuZGVyKSB7Cisg
ICAgdGVzdEZhaWxlZCgnVGhpcyB0ZXN0IHJlcXVpcmVzIER1bXBSZW5kZXJUcmVlJyk7Cit9CisK
K2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwor
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5j
ID0gdHJ1ZTsKK30KKworLy8gTm93IHdhaXQgZm9yIGVhY2ggaW1hZ2UgdG8gbG9hZCBvciBmYWls
IHRvIGxvYWQgYmVmb3JlIHN0YXJ0aW5nIHRlc3RzLgorLy8gV2l0aG91dCB0aGlzIHdlIGNhbiBn
ZXQgbnVsbCBpbWFnZXMgaW4gdGhlIGN1cnNvcnMgLSBlZy4gbm8ga25vd24gc2l6ZS4KK3ZhciBp
bWFnZXNUb0xvYWQgPSBbCisgICAgeyB1cmw6ICdyZXNvdXJjZXMvZ3JlZW5ib3gtM2ZyYW1lcy5j
dXInIH0gXTsKK2ltYWdlc0xlZnRUb0xvYWQgPSBpbWFnZXNUb0xvYWQubGVuZ3RoOworZm9yICh2
YXIgaSA9IDA7IGkgPCBpbWFnZXNUb0xvYWQubGVuZ3RoOyBpKyspIHsKKyAgICB2YXIgaW1nID0g
bmV3IEltYWdlKCk7CisgICAgdmFyIGV4cGVjdEVycm9yID0gaW1hZ2VzVG9Mb2FkW2ldLmVycm9y
OyAKKyAgICBpbWcuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGV4cGVjdEVycm9yID8gb25JbWFn
ZVVuZXhwZWN0ZWQgOiBvbkltYWdlTG9hZCk7CisgICAgaW1nLmFkZEV2ZW50TGlzdGVuZXIoJ2Vy
cm9yJywgZXhwZWN0RXJyb3IgPyBvbkltYWdlTG9hZCA6IG9uSW1hZ2VVbmV4cGVjdGVkKTsKKyAg
ICBpbWcuc3JjID0gaW1hZ2VzVG9Mb2FkW2ldLnVybDsKK30KKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21v
dXNlLWN1cnNvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLmh0
bWwKaW5kZXggMTY3ZDc4NWZmOWY1ZDllNGYyNzhiNjFmODBjNGIyNGQ2ZGIyZDJhMy4uNGU1NjZh
NzY0ZTJmY2JiZjM3MWJiMzAxODhkZDk2ODJjNDg0ZGM3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvbW91c2UtY3Vyc29yLmh0bWwKQEAgLTI4LDYgKzI4LDkgQEAKICAgPGRpdiBzdHlsZT0n
Y3Vyc29yOiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LnBuZykgMjAgMTAsIHBvaW50ZXInPkltYWdl
IHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKDIwLDEwKTwvZGl2PgogICA8ZGl2IHN0eWxlPSdj
dXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSAtMSAtMSwgcG9pbnRlcic+SW1hZ2Ug
d2l0aCBleHBsaWNpdCBob3Qgc3BvdCBhdCAoLTEsLTEpPC9kaXY+CiAgIDxkaXYgc3R5bGU9J2N1
cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC5wbmcpIDMwIDMwLCBwb2ludGVyJz5JbWFnZSB3
aXRoIGV4cGxpY2l0IGhvdCBzcG90IG91dHNpZGUgaW1hZ2UgYXQgKDMwLDMwKTwvZGl2PgorICA8
ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gtaG90c3BvdDUtNC5jdXIp
LCBwb2ludGVyJz5JbWFnZSB3aXRoIGltcGxpY2l0IGhvdCBzcG90IGF0ICg1LDQpPC9kaXY+Cisg
IDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC1ob3RzcG90NS00LmN1
cikgMjAgMTAsIHBvaW50ZXInPkltYWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKDIwLDEw
KSBvdmVycmlkaW5nIGltcGxpY2l0IGhvdCBzcG90PC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNv
cjogdXJsKHJlc291cmNlcy9ncmVlbmJveC1ob3RzcG90MzUtNC5jdXIpLCBwb2ludGVyJz5JbWFn
ZSB3aXRoIGltcGxpY2l0IGhvdCBzcG90IG91dHNpZGUgaW1hZ2UgYXQgKDM1LDQpPC9kaXY+CiAg
IDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9vbmxvYWQtaW1hZ2UucG5nKSwgcG9p
bnRlcic+T3ZlciBsYXJnZSBpbWFnZSB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXI8L2Rpdj4KICAg
PGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwoI2dyZWVuYm94KSwgcG9pbnRlcic+U1ZHIGN1cnNvcjwv
ZGl2PgogICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChtb3VzZS1jdXJzb3IuaHRtbCksIHVybCh1
bmtub3duLXNjaGVtZTpjdXJzb3IucG5nKSwgcG9pbnRlcic+TXVsdGlwbGUgaW52YWxpZCBjdXJz
b3JzIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcjwvZGl2PgpAQCAtNjcsNyArNzAsMTIgQEAgZnVu
Y3Rpb24gcnVuVGVzdHMoKSB7CiAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZXNUb1Rl
c3QubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgIHZhciBub2RlID0gbm9kZXNUb1Rlc3RbaV07
CiAgICAgICAgICAgICBkZWJ1ZygnVEVTVCBDQVNFOiAnICsgbm9kZS50ZXh0Q29udGVudCk7Ci0g
ICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhub2RlLm9mZnNldExlZnQgKyAzLCBu
b2RlLm9mZnNldFRvcCArIDMpOworCisgICAgICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIG5vZGUg
aXMgdmlzaWJsZSBhbmQgbW92ZSB0aGUgbW91c2Ugb3ZlciB0b3Agb2YgaXQuCisgICAgICAgICAg
ICBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCA9IG5vZGUub2Zmc2V0VG9wIC0gNTA7CisgICAgICAg
ICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhub2RlLm9mZnNldExlZnQgKyAzLCBub2RlLm9m
ZnNldFRvcCAtIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wICsgMyk7CisKKyAgICAgICAgICAgIC8v
IEdldCBkZXRhaWxzIG9mIHRoZSBjdXJyZW50IG1vdXNlIGN1cnNvci4KICAgICAgICAgICAgIC8v
IE5vdGUgdGhhdCB3ZSBjb3VsZCByZXR1cm4gc3RydWN0dXJlZCBkYXRhIHdoaWNoIHdlIHRoZW4g
dmFsaWRhdGUsIGJ1dCB0aGF0J3MgYSBsb3QgbW9yZQogICAgICAgICAgICAgLy8gd29yayBhbmQg
aXMgcmVkdW5kYW50IHdpdGggcmVseWluZyBvbiB0aGUgZXhwZWN0ZWQgb3V0cHV0IGFueXdheS4g
IEJldHRlciB0byBqdXN0IGR1bXAKICAgICAgICAgICAgIC8vIGl0IGFuZCBpbnNwZWN0IHRoYXQg
aXQgbWF0Y2hlcyB0aGUgZGVzY3JpcHRpb24uCkBAIC05OCw2ICsxMDYsOCBAQCBpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKIHZhciBpbWFnZXNUb0xvYWQgPSBbCiAgICAgeyB1cmw6ICdyZXNvdXJj
ZXMvZ3JlZW5ib3gucG5nJyB9LAogICAgIHsgdXJsOiAncmVzb3VyY2VzL29ubG9hZC1pbWFnZS5w
bmcnIH0sCisgICAgeyB1cmw6ICdyZXNvdXJjZXMvZ3JlZW5ib3gtaG90c3BvdDUtNC5jdXInIH0s
CisgICAgeyB1cmw6ICdyZXNvdXJjZXMvZ3JlZW5ib3gtaG90c3BvdDM1LTQuY3VyJyB9LAogICAg
IHsgdXJsOiAnZG9lc250ZXhpc3QucG5nJywgZXJyb3I6IHRydWUgfSwKICAgICB7IHVybDogJ3Vu
a25vd24tc2NoZW1lOmN1cnNvci5wbmcnLCBlcnJvcjogdHJ1ZSB9LAogICAgIHsgdXJsOiAnbW91
c2UtY3Vyc29yLmh0bWwnLCBlcnJvcjogdHJ1ZSB9LApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LTNmcmFtZXMuY3VyIGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LTNmcmFtZXMuY3VyCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJi
MDlkNjQxNmNiNTc3N2MzZTA3ZTQ2YWZmMGE0YzQzMmY0YWVkNDYKR0lUIGJpbmFyeSBwYXRjaAps
aXRlcmFsIDM5MAp6Y21aUXpVfTlpcTs5X05COzl5ezNoK3RxfkZhdSV7OXdyN00yNXlFNEt6MUp4
XlJxS0NAR2BKNVdCfVE2ajBfQUsKekskOzdSODV3e0FLcCtBcEFwe2VRe1U2NF9MZmQxQ2Z5QFAm
QkxUIVBhfUFKYDVvSW90ZFEydWlyVnQoeGtiNktuClZfPCRKWjl2TEx7QilKQz9PaH4jQk9hTj1P
MlRjRn4KCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL3Jlc291cmNlcy9ncmVlbmJveC1ob3RzcG90MzUtNC5jdXIgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvZ3JlZW5ib3gtaG90c3BvdDM1LTQuY3VyCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjkyMjI2YzUxZTI0NWQzZjg0NjhhZjY4Mjg5ZDUzMTdmZGU2OTJlZDAKR0lUIGJpbmFyeSBw
YXRjaApsaXRlcmFsIDI3MAp6Y21aUXpVfTlpb2tkJE8lUC1iOVpfYCQleUFPXiU1S3I5S3dNbktG
NmdkbVV0Q0xzaDlqUXQ8UnBiSzN+WWcrJnwKQ3Y7KUtkCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEK
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvZ3JlZW5ib3gt
aG90c3BvdDUtNC5jdXIgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvZ3JlZW5i
b3gtaG90c3BvdDUtNC5jdXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWFlN2M5YzI3MDY5OGMzZWI1ZmU2OTA2MDY3
NWE4YzdiZWY3OTQwNgpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjcwCnpjbVpRelV9OWlva2Qk
TyVVfWEhb19gJCV5QU9eJTVLcjlLd01uS0Y2Z2RtVXRDTHNoOWpRdDxScGJLM35ZZysmcQpDSk9p
Y3gKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGQxNTBkYjE1ZWMwMmY0N2RlMTc2MTRkNzFjOTE1
M2MyYmU0NDU3NWMuLjkwZGQ3MWJiNjRlMmQyYzVlYzIyOGRhNDc0Njg2YWU3Zjg3N2U1NWQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAt
NDIwMiw5ICs0MjAyLDYgQEAgd2Via2l0Lm9yZy9iLzEwMTUzOSBbIExpbnV4IFdpbiBdIGVkaXRp
bmcvZXhlY0NvbW1hbmQvc3dpdGNoLWxpc3QtdHlwZS13aXRoLW9ycGgKIAogd2Via2l0Lm9yZy9i
LzEwMTYxOCBbIFdpbjcgRGVidWcgXSBodHRwL3Rlc3RzL2luc3BlY3Rvci9pbmRleGVkZGIvZGF0
YWJhc2UtZGF0YS5odG1sIFsgQ3Jhc2ggXQogCi0jIFRoaXMgdGVzdCB3aWxsIGJlIGVuYWJsZWQg
c2hvcnRseSB3aGVuIGNocm9taXVtIG1vdmVzIHRvIHRoZSBVU0UoTEFaWV9OQVRJVkVfQ1VSU09S
KSBpbmZyYXN0cnVjdHVyZQotd2Via2l0Lm9yZy9iLzEwMTUwMSBmYXN0L2V2ZW50cy9tb3VzZS1j
dXJzb3IuaHRtbCBbIEZhaWx1cmUgXQotCiAjIEZhaWx1cmVzIGZvbGxvd2luZyByMTMzODQwOgog
d2Via2l0Lm9yZy9iLzEwMTU0NyBmYXN0L3JlcGFpbnQvNDc3NDM1NC5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTAxNTQ3IGZhc3QvcmVwYWludC9jYXJldC1vdXRzaWRl
LWJsb2NrLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNDY1YjZmOTIzMjJhOTMxMzg0YzJkZTJiMDRkOTNjZGVh
ODIwMTMzMy4uMDZjNzQyNTFkMGE5OGY5NjI2ZjNiNjE4MGM3MGJiNDIzMzRhYjUwMCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTExNzEsMyArMTE3MSw2
IEBAIHdlYmtpdC5vcmcvYi8xMDA4NDYgaW5zcGVjdG9yLXByb3RvY29sL2RlYnVnZ2VyLXRlcm1p
bmF0ZS1kZWRpY2F0ZWQtd29ya2VyLXdoaWxlCiB3ZWJraXQub3JnL2IvMTAwMTQyIGNzczMvZmls
dGVycy9lZmZlY3QtcmVmZXJlbmNlLWh3Lmh0bWwgWyBGYWlsIF0KIHdlYmtpdC5vcmcvYi8xMDAx
NDIgY3NzMy9maWx0ZXJzL2VmZmVjdC1yZWZlcmVuY2Utb3JkZXJpbmctaHcuaHRtbCBbIEZhaWwg
XQogd2Via2l0Lm9yZy9iLzEwMDE0MiBjc3MzL2ZpbHRlcnMvZWZmZWN0LXJlZmVyZW5jZS5odG1s
IFsgRmFpbCBdCisKKyMgSGFuZ3Mgc2FmYXJpIGFwcGFyZW50bHkgZHVlIHRvIGFuIGlzc3VlIHdp
dGggQ29yZUdyYXBoaWNzIGFuZCB3ZWlyZCBtdWx0aS1mcmFtZSBDVVIgaW1hZ2UgZmlsZXMKK3dl
YmtpdC5vcmcvYi8xMDE4MTEgZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLW11bHRpZnJhbWVjdXIu
aHRtbCBbIFNraXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173443</attachid>
            <date>2012-11-10 04:33:55 -0800</date>
            <delta_ts>2012-11-15 13:07:19 -0800</delta_ts>
            <desc>merge with ToT</desc>
            <filename>bug-100059-20121110073201.patch</filename>
            <type>text/plain</type>
            <size>19992</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzU1YzMwZjU2ZDcwOTEx
YjhmN2Q0ZGE4NDE1MTNlMDAyNTQ3YzVmMi4uNDcxYzJhMGI2NWY4Njc5Y2RhNjVmM2QyN2ZjNzNj
YjUwN2MwYTk3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTExLTA5ICBSaWNr
IEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBjdXN0b20gQ1NTIGN1cnNv
cnMgaWdub3JlIGhvdHNwb3QgdmFsdWVzIGVtYmVkZGVkIGluIENVUiBmaWxlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMDU5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHJlYWRpbmcgdGhlIGhv
dHNwb3QgdmFsdWVzIHRvIHRoZSBJQ09JbWFnZURlY29kZXIgKGZvciBDVVIgZmlsZXMgb25seSks
CisgICAgICAgIGFuZCBwbHVtYiBpdCB0aHJvdWdoIHNvIHRoYXQgdGhlIGV4aXN0aW5nIGNhbGxz
IHRvIEltYWdlU291cmNlOjpnZXRIb3RTcG90CisgICAgICAgIGFjdHVhbGx5IHJldHVybiB0aGUg
aG90IHNwb3QgdmFsdWUgd2hlbiB0aGVyZSBpcyBvbmUuCisKKyAgICAgICAgVGVzdHM6IGZhc3Qv
ZXZlbnRzL21vdXNlLWN1cnNvci5odG1sLCBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItbXVsdGlm
cmFtZWN1ci5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZVNvdXJjZTo6Z2V0SG90U3BvdCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RGVmZXJyZWRJbWFnZURlY29kZXI6OmhvdFNwb3QpOgorICAgICAg
ICAoV2ViQ29yZTo6RGVmZXJyZWRJbWFnZURlY29kZXI6OmhvdFNwb3RBdEluZGV4KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVjb2Rlci5oOgor
ICAgICAgICAoRGVmZXJyZWRJbWFnZURlY29kZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2ltYWdl
LWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VEZWNvZGVy
Ojpob3RTcG90KToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlRGVjb2Rlcjo6aG90U3BvdEF0SW5k
ZXgpOgorICAgICAgICAoSW1hZ2VEZWNvZGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1k
ZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklDT0lt
YWdlRGVjb2Rlcjo6aG90U3BvdCk6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6
OmhvdFNwb3RBdEluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OklDT0ltYWdlRGVjb2Rlcjo6cHJv
Y2Vzc0RpcmVjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6OnJlYWRE
aXJlY3RvcnlFbnRyeSk6CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lD
T0ltYWdlRGVjb2Rlci5oOgorICAgICAgICAoSUNPSW1hZ2VEZWNvZGVyKToKKyAgICAgICAgKElj
b25EaXJlY3RvcnlFbnRyeSk6CisKIDIwMTItMTEtMDkgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBw
bGUuY29tPgogCiAgICAgICAgIFN1cHBvcnQgbGlzdCBvZiB0cmFja3MgaW4gY2FwdGlvbiBtZWRp
YSBjb250cm9scwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW1hZ2VTb3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VT
b3VyY2UuY3BwCmluZGV4IDU2ODU3YTQzZjU0ODQyM2U4YmQ5MmQzMjJkOTZkODEwYzJiYjY3OWEu
LjBmNDZkNzAzYzdhOGM2ZGJkYmQyZDg5NjUwMjExYzM0M2VmMGIwY2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5jcHAKQEAgLTEyMSw5ICsx
MjEsOSBAQCBJbnRTaXplIEltYWdlU291cmNlOjpmcmFtZVNpemVBdEluZGV4KHNpemVfdCBpbmRl
eCwgUmVzcGVjdEltYWdlT3JpZW50YXRpb25FbnVtCiAgICAgcmV0dXJuIHNpemU7CiB9CiAKLWJv
b2wgSW1hZ2VTb3VyY2U6OmdldEhvdFNwb3QoSW50UG9pbnQmKSBjb25zdAorYm9vbCBJbWFnZVNv
dXJjZTo6Z2V0SG90U3BvdChJbnRQb2ludCYgaG90U3BvdCkgY29uc3QKIHsKLSAgICByZXR1cm4g
ZmFsc2U7CisgICAgcmV0dXJuIG1fZGVjb2RlciA/IG1fZGVjb2Rlci0+aG90U3BvdChob3RTcG90
KSA6IGZhbHNlOwogfQogCiBzaXplX3QgSW1hZ2VTb3VyY2U6OmJ5dGVzRGVjb2RlZFRvRGV0ZXJt
aW5lUHJvcGVydGllcygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVjb2Rlci5jcHAK
aW5kZXggODYzY2ExMjdlMDI5ZGIyNmUyMGVkOGVjNjc0N2ZmOTU3MWYyMTdiZC4uMzNjYjhjZjg0
ZTFjNDJjNjdiMTJmNjc1ZjFiYjc3MzkyOWY1OTZiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0RlZmVycmVkSW1h
Z2VEZWNvZGVyLmNwcApAQCAtMTU4LDQgKzE1OCw5IEBAIEltYWdlT3JpZW50YXRpb24gRGVmZXJy
ZWRJbWFnZURlY29kZXI6Om9yaWVudGF0aW9uKCkgY29uc3QKICAgICByZXR1cm4gbV9hY3R1YWxE
ZWNvZGVyID8gbV9hY3R1YWxEZWNvZGVyLT5vcmllbnRhdGlvbigpIDogbV9vcmllbnRhdGlvbjsK
IH0KIAorYm9vbCBEZWZlcnJlZEltYWdlRGVjb2Rlcjo6aG90U3BvdChJbnRQb2ludCYgaG90U3Bv
dCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9hY3R1YWxEZWNvZGVyID8gbV9hY3R1YWxEZWNvZGVy
LT5ob3RTcG90KGhvdFNwb3QpIDogZmFsc2U7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0Rl
ZmVycmVkSW1hZ2VEZWNvZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9EZWZlcnJlZEltYWdlRGVjb2Rlci5oCmluZGV4IDYwZDhjYzEwODg5OTYyOTZiY2Mw
ZDUwNTI4YmEzNjMwMTNkNGNkODguLmNkOTAxZmVlNDYxOGI4YTAzMWZiZDA3N2QyMmI4MWQxOTMx
MDdkNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0RlZmVycmVkSW1hZ2VEZWNvZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuaApAQCAtNTcsNiArNTcsNyBA
QCBwdWJsaWM6CiAgICAgYm9vbCBmcmFtZUhhc0FscGhhQXRJbmRleChzaXplX3QgaW5kZXgpIGNv
bnN0OwogICAgIHVuc2lnbmVkIGZyYW1lQnl0ZXNBdEluZGV4KHNpemVfdCBpbmRleCkgY29uc3Q7
CiAgICAgSW1hZ2VPcmllbnRhdGlvbiBvcmllbnRhdGlvbigpIGNvbnN0OworICAgIGJvb2wgaG90
U3BvdChJbnRQb2ludCYpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IERlZmVycmVk
SW1hZ2VEZWNvZGVyKEltYWdlRGVjb2RlciogYWN0dWFsRGVjb2Rlcik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oCmluZGV4
IDhjMGRiMzkyOWY1NDIwOGI0N2ZhMzYzODI3MzZiZmIzMTU2NDdmNTcuLjJiNWM5ODM2YTM5ZDIx
M2U4OWI2MzliNjY4ZGVhMTI1ZWI2OWNhOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oCkBAIC0zNzYsNiArMzc2LDEw
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBzZXRNYXhOdW1QaXhlbHMoaW50
IG0pIHsgbV9tYXhOdW1QaXhlbHMgPSBtOyB9CiAjZW5kaWYKIAorICAgICAgICAvLyBJZiB0aGUg
aW1hZ2UgaGFzIGEgY3Vyc29yIGhvdC1zcG90LCBzdG9yZXMgaXQgaW4gdGhlIGFyZ3VtZW50Cisg
ICAgICAgIC8vIGFuZCByZXR1cm5zIHRydWUuIE90aGVyd2lzZSByZXR1cm5zIGZhbHNlLgorICAg
ICAgICB2aXJ0dWFsIGJvb2wgaG90U3BvdChJbnRQb2ludCYpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CisKICAgICAgICAgdmlydHVhbCB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVj
dEluZm8qKSBjb25zdDsKIAogICAgIHByb3RlY3RlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5j
cHAKaW5kZXggMmRiM2VjZjZjZTdmY2M3MzJjZTI0MzVkZGU0ZGM5Nzk4YzY4NjMwOC4uYTNlMjk1
MjY0OGExOTg4ODhlNjZlNDdkMWZjMTkyZTY4MjYxZGExZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVj
b2Rlci5jcHAKQEAgLTEzMyw2ICsxMzMsMjQgQEAgYm9vbCBJQ09JbWFnZURlY29kZXI6OnNldEZh
aWxlZCgpCiAgICAgcmV0dXJuIEltYWdlRGVjb2Rlcjo6c2V0RmFpbGVkKCk7CiB9CiAKK2Jvb2wg
SUNPSW1hZ2VEZWNvZGVyOjpob3RTcG90KEludFBvaW50JiBob3RTcG90KSBjb25zdAoreworICAg
IC8vIFdoZW4gdW5zcGVjaWZpZWQsIHRoZSBkZWZhdWx0IGZyYW1lIGlzIGFsd2F5cyBmcmFtZSAw
LiBUaGlzIGlzIGNvbnNpc3RlbnQgd2l0aAorICAgIC8vIEJpdG1hcEltYWdlIHdoZXJlIGN1cnJl
bnRGcmFtZSgpIHN0YXJ0cyBhdCAwIGFuZCBvbmx5IGluY3JlYXNlcyB3aGVuIGFuaW1hdGlvbiBp
cworICAgIC8vIHJlcXVlc3RlZC4KKyAgICByZXR1cm4gaG90U3BvdEF0SW5kZXgoMCwgaG90U3Bv
dCk7Cit9CisKK2Jvb2wgSUNPSW1hZ2VEZWNvZGVyOjpob3RTcG90QXRJbmRleChzaXplX3QgaW5k
ZXgsIEludFBvaW50JiBob3RTcG90KSBjb25zdAoreworICAgIGlmIChpbmRleCA+PSBtX2RpckVu
dHJpZXMuc2l6ZSgpIHx8IG1fZmlsZVR5cGUgIT0gQ1VSU09SKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICBob3RTcG90ID0gbV9kaXJFbnRyaWVzW2luZGV4XS5tX2hvdFNwb3Q7CisgICAg
cmV0dXJuIHRydWU7Cit9CisKKwogLy8gc3RhdGljCiBib29sIElDT0ltYWdlRGVjb2Rlcjo6Y29t
cGFyZUVudHJpZXMoY29uc3QgSWNvbkRpcmVjdG9yeUVudHJ5JiBhLCBjb25zdCBJY29uRGlyZWN0
b3J5RW50cnkmIGIpCiB7CkBAIC0yMzIsMTMgKzI1MCwxMSBAQCBib29sIElDT0ltYWdlRGVjb2Rl
cjo6cHJvY2Vzc0RpcmVjdG9yeSgpCiAKICAgICAvLyBTZWUgaWYgdGhpcyBpcyBhbiBpY29uIGZp
bGV0eXBlIHdlIHVuZGVyc3RhbmQsIGFuZCBtYWtlIHN1cmUgd2UgaGF2ZSBhdAogICAgIC8vIGxl
YXN0IG9uZSBlbnRyeSBpbiB0aGUgZGlyZWN0b3J5LgotICAgIGVudW0gewotICAgICAgICBJQ09O
ID0gMSwKLSAgICAgICAgQ1VSU09SID0gMiwKLSAgICB9OwogICAgIGlmICgoKGZpbGVUeXBlICE9
IElDT04pICYmIChmaWxlVHlwZSAhPSBDVVJTT1IpKSB8fCAoIWlkQ291bnQpKQogICAgICAgICBy
ZXR1cm4gc2V0RmFpbGVkKCk7CiAKKyAgICBtX2ZpbGVUeXBlID0gc3RhdGljX2Nhc3Q8RmlsZVR5
cGU+KGZpbGVUeXBlKTsKKwogICAgIC8vIEVubGFyZ2UgbWVtYmVyIHZlY3RvcnMgdG8gaG9sZCBh
bGwgdGhlIGVudHJpZXMuCiAgICAgbV9kaXJFbnRyaWVzLnJlc2l6ZShpZENvdW50KTsKICAgICBt
X2JtcFJlYWRlcnMucmVzaXplKGlkQ291bnQpOwpAQCAtMjg3LDcgKzMwMywxMyBAQCBJQ09JbWFn
ZURlY29kZXI6Okljb25EaXJlY3RvcnlFbnRyeSBJQ09JbWFnZURlY29kZXI6OnJlYWREaXJlY3Rv
cnlFbnRyeSgpCiAgICAgICAgIGhlaWdodCA9IDI1NjsKICAgICBJY29uRGlyZWN0b3J5RW50cnkg
ZW50cnk7CiAgICAgZW50cnkubV9zaXplID0gSW50U2l6ZSh3aWR0aCwgaGVpZ2h0KTsKLSAgICBl
bnRyeS5tX2JpdENvdW50ID0gcmVhZFVpbnQxNig2KTsKKyAgICBpZiAobV9maWxlVHlwZSA9PSBD
VVJTT1IpIHsKKyAgICAgICAgZW50cnkubV9iaXRDb3VudCA9IDA7CisgICAgICAgIGVudHJ5Lm1f
aG90U3BvdCA9IEludFBvaW50KHJlYWRVaW50MTYoNCksIHJlYWRVaW50MTYoNikpOworICAgIH0g
ZWxzZSB7CisgICAgICAgIGVudHJ5Lm1fYml0Q291bnQgPSByZWFkVWludDE2KDYpOworICAgICAg
ICBlbnRyeS5tX2hvdFNwb3QgPSBJbnRQb2ludCgpOworICAgIH0KICAgICBlbnRyeS5tX2ltYWdl
T2Zmc2V0ID0gcmVhZFVpbnQzMigxMik7CiAKICAgICAvLyBTb21lIGljb25zIGRvbid0IGhhdmUg
YSBiaXQgZGVwdGgsIG9ubHkgYSBjb2xvciBjb3VudC4gIENvbnZlcnQgdGhlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNv
ZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1h
Z2VEZWNvZGVyLmgKaW5kZXggMzFkOTFjODE5MDJmYjBkMmM2OWRjMGEzNjE4Y2JkYzU0YmY2Yjcx
My4uYTkwOWRlYjgwODM1ZTgyZDU4YTg4YTg5NTZjMzM3ODcyNGNkOWYyZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09J
bWFnZURlY29kZXIuaApAQCAtNTYsNiArNTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIC8vIGF2b2lkIGFjY2Vzc2luZyBkZWxldGVkIG1lbW9yeSwgZXNwZWNpYWxseSB3aGVuIGNh
bGxpbmcgdGhpcyBmcm9tCiAgICAgICAgIC8vIGluc2lkZSBCTVBJbWFnZVJlYWRlciEKICAgICAg
ICAgdmlydHVhbCBib29sIHNldEZhaWxlZCgpOworICAgICAgICB2aXJ0dWFsIGJvb2wgaG90U3Bv
dChJbnRQb2ludCYpIGNvbnN0OwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgZW51bSBJbWFnZVR5
cGUgewpAQCAtNjQsOSArNjUsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAg
UE5HLAogICAgICAgICB9OwogCisgICAgICAgIGVudW0gRmlsZVR5cGUgeworICAgICAgICAgICAg
SUNPTiA9IDEsCisgICAgICAgICAgICBDVVJTT1IgPSAyLAorICAgICAgICB9OworCiAgICAgICAg
IHN0cnVjdCBJY29uRGlyZWN0b3J5RW50cnkgewogICAgICAgICAgICAgSW50U2l6ZSBtX3NpemU7
CiAgICAgICAgICAgICB1aW50MTZfdCBtX2JpdENvdW50OworICAgICAgICAgICAgSW50UG9pbnQg
bV9ob3RTcG90OwogICAgICAgICAgICAgdWludDMyX3QgbV9pbWFnZU9mZnNldDsKICAgICAgICAg
fTsKIApAQCAtMTA5LDYgKzExNiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8v
IGNvdWxkIGJlIGRlY29kZWQuCiAgICAgICAgIGJvb2wgcHJvY2Vzc0RpcmVjdG9yeUVudHJpZXMo
KTsKIAorICAgICAgICAvLyBTdG9yZXMgdGhlIGhvdC1zcG90IGZvciB8aW5kZXh8IGluIHxob3RT
cG90fCBhbmQgcmV0dXJucyB0cnVlLAorICAgICAgICAvLyBvciByZXR1cm5zIGZhbHNlIGlmIHRo
ZXJlIGlzIG5vbmUuCisgICAgICAgIGJvb2wgaG90U3BvdEF0SW5kZXgoc2l6ZV90IGluZGV4LCBJ
bnRQb2ludCYgaG90U3BvdCkgY29uc3Q7CisKICAgICAgICAgLy8gUmVhZHMgYW5kIHJldHVybnMg
YSBkaXJlY3RvcnkgZW50cnkgZnJvbSB0aGUgY3VycmVudCBvZmZzZXQgaW50bwogICAgICAgICAv
LyB8ZGF0YXwuCiAgICAgICAgIEljb25EaXJlY3RvcnlFbnRyeSByZWFkRGlyZWN0b3J5RW50cnko
KTsKQEAgLTEyMiw2ICsxMzMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8vIEJN
UEltYWdlUmVhZGVyIHRha2VzIG92ZXIgdGhpcyB3aWxsIG5vdCBiZSB1cGRhdGVkIGZ1cnRoZXIu
CiAgICAgICAgIHNpemVfdCBtX2RlY29kZWRPZmZzZXQ7CiAKKyAgICAgICAgLy8gV2hpY2ggdHlw
ZSBvZiBmaWxlIChJQ08vQ1VSKSB0aGlzIGlzLgorICAgICAgICBGaWxlVHlwZSBtX2ZpbGVUeXBl
OworCiAgICAgICAgIC8vIFRoZSBoZWFkZXJzIGZvciB0aGUgSUNPLgogICAgICAgICB0eXBlZGVm
IFZlY3RvcjxJY29uRGlyZWN0b3J5RW50cnk+IEljb25EaXJlY3RvcnlFbnRyaWVzOwogICAgICAg
ICBJY29uRGlyZWN0b3J5RW50cmllcyBtX2RpckVudHJpZXM7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTJiYjM4Y2IxMTdi
YjI1MmQzNTVjYmZmMmE2YmMwZGY4MDc4ZmFjNS4uNWEwY2I4OTQxNjMxNDVmNzY5Y2MwOGYyYTM2
MDUyMWQ1YzEzN2JmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTExLTA5ICBSaWNrIEJ5
ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBjdXN0b20gQ1NTIGN1cnNvcnMg
aWdub3JlIGhvdHNwb3QgdmFsdWVzIGVtYmVkZGVkIGluIENVUiBmaWxlcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMDU5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIG1vdXNlIGN1cnNvciB0ZXN0
IGNhc2VzIHRoYXQgdXNlIENVUiBmaWxlcyB0aGF0IGhhdmUgZW1iZWRkZWQgaG90c3BvdCB2YWx1
ZXMuCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1tdWx0aWZyYW1lY3VyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLW11bHRpZnJh
bWVjdXIuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vy
c29yLmh0bWwuCisgICAgICAgICogZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWw6CisgICAg
ICAgICogZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LTNmcmFtZXMuY3VyOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2V2ZW50cy9yZXNvdXJjZXMvZ3JlZW5ib3gtaG90c3BvdDM1LTQuY3Vy
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9yZXNvdXJjZXMvZ3JlZW5ib3gtaG90c3Bv
dDUtNC5jdXI6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25z
OiBTa2lwIHRoZSBtdWx0aS1mcmFtZSBjYXNlIG9uIG1hYyBiZWNhdXNlIGl0IGNhdXNlcyBhIGhh
bmcKKwogMjAxMi0xMS0wOSAgT2phbiBWYWZhaSAgPG9qYW5AY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFNob3VsZCBvbmx5IGZpcmUgYSBzaW5nbGUgc2V0IG9mIG1vdXNlIGV2ZW50cyBhbmQgdXBk
YXRlIGhvdmVyIHN0YXRlIG9uY2Ugd2hlbiBzY3JvbGxpbmcgaXMgZG9uZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1leHBlY3RlZC50eHQKaW5kZXggOGMxNWE5
MWI0NDMwMzg2YmUzMTgxNTA0MWEzYjA5YzZhOWFmYjM5Zi4uMTA1NGVmNDEwM2FmNzhkNzZkOWQ3
MWFkYjZjN2VlNmU5ZDY1OGRmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
bW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9t
b3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0CkBAIC00NSw2ICs0NSwxNSBAQCBDdXJzb3IgSW5mbzog
dHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CiBURVNUIENBU0U6IEltYWdl
IHdpdGggZXhwbGljaXQgaG90IHNwb3Qgb3V0c2lkZSBpbWFnZSBhdCAoMzAsMzApCiBDdXJzb3Ig
SW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CiAKK1RFU1QgQ0FT
RTogSW1hZ2Ugd2l0aCBpbXBsaWNpdCBob3Qgc3BvdCBhdCAoNSw0KQorQ3Vyc29yIEluZm86IHR5
cGU9VHlwZUN1c3RvbSBob3RTcG90PTUsNCBpbWFnZT0yNXgyNQorCitURVNUIENBU0U6IEltYWdl
IHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKDIwLDEwKSBvdmVycmlkaW5nIGltcGxpY2l0IGhv
dCBzcG90CitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MjAsMTAgaW1hZ2U9
MjV4MjUKKworVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGltcGxpY2l0IGhvdCBzcG90IG91dHNpZGUg
aW1hZ2UgYXQgKDM1LDQpCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlQ3VzdG9tIGhvdFNwb3Q9MCww
IGltYWdlPTI1eDI1CisKIFRFU1QgQ0FTRTogT3ZlciBsYXJnZSBpbWFnZSB3aXRoIGZhbGxiYWNr
IHRvIHBvaW50ZXIKIEN1cnNvciBJbmZvOiB0eXBlPVR5cGVIYW5kIGhvdFNwb3Q9MCwwCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1tdWx0aWZyYW1l
Y3VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1t
dWx0aWZyYW1lY3VyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMjM3ODNlMjJmMWI2MDJkMzk3
NjQyMDE0Nzk4MjVlOWNhNDRlNmNhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvbW91c2UtY3Vyc29yLW11bHRpZnJhbWVjdXItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTggQEAKK1Rlc3QgdGhhdCBtb3VzZSBjdXJzb3JzIGFyZSBhcHBsaWVkIGNvcnJlY3RseS4K
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0J1ZyAxMDAwNTkKKworCitURVNUIENB
U0U6IEltcGxpY2l0IGRlZmF1bHQgY3Vyc29yCitDdXJzb3IgSW5mbzogdHlwZT1UeXBlSUJlYW0g
aG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBDVVIgZmlsZSB3aXRoIDMgZnJhbWVzLCBsYXJnZXN0
IG9mIHdoaWNoICgybmQgZnJhbWUpIGlzIDIweDEyIHdpdGggaG90c3BvdCBhdCAoMTgsMTEpLgor
Q3Vyc29yIEluZm86IHR5cGU9VHlwZUN1c3RvbSBob3RTcG90PTE4LDExIGltYWdlPTIweDEyCisK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItbXVsdGlmcmFtZWN1
ci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLW11bHRpZnJhbWVj
dXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mYzZlNmY0YjA3ODdhYTk1MzE1YWNiNzI0MjE4NmZhMmY2ZmFm
MTc1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vy
c29yLW11bHRpZnJhbWVjdXIuaHRtbApAQCAtMCwwICsxLDkzIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxwPjxhIGhyZWY9aHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDU1MD5CdWcgMTAwMDU5PC9hPjwvcD4K
KzxkaXYgaWQ9InRlc3QtY29udGFpbmVyIj4KKyAgPGRpdj5JbXBsaWNpdCBkZWZhdWx0IGN1cnNv
cjwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gtM2Zy
YW1lcy5jdXIpLCBwb2ludGVyJz5DVVIgZmlsZSB3aXRoIDMgZnJhbWVzLCBsYXJnZXN0IG9mIHdo
aWNoICgybmQgZnJhbWUpIGlzIDIweDEyIHdpdGggaG90c3BvdCBhdCAoMTgsMTEpLjwvZGl2Pgor
PC9kaXY+Cis8YnIvPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgordmFyIGlt
YWdlc0xlZnRUb0xvYWQgPSAwOworCitmdW5jdGlvbiBvbkltYWdlTG9hZChlKSB7CisKKyAgICAv
LyBUaGlzIGRlYnVnIG91dHB1dCBpcyBub24tZGV0ZXJtaW5pc3RpYyBhbmQgY29udGFpbnMgYWJz
b2x1dGUgVVJMcyAtIG9ubHkgc2hvdyB3aGVuCisgICAgLy8gbm90IHJ1bm5pbmcgaW4gRFJUCisg
ICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgZGVidWcoICdFdmVudCAiJyArIGUu
dHlwZSArICciOiAnICsgZS50YXJnZXQuc3JjKTsKKyAgICAgICAgCisgICAgaW1hZ2VzTGVmdFRv
TG9hZC0tOworICAgIGlmIChpbWFnZXNMZWZ0VG9Mb2FkID09IDApCisgICAgICAgIHJ1blRlc3Rz
KCk7CisgICAgaWYgKGltYWdlc0xlZnRUb0xvYWQgPCAwKQorICAgICAgICB0ZXN0RmFpbGVkKCdH
b3QgbW9yZSBsb2FkL2Vycm9yIGNhbGxiYWNrIHRoYW4gZXhwZWN0ZWQuJyk7Cit9CisKK2Z1bmN0
aW9uIG9uSW1hZ2VVbmV4cGVjdGVkKGUpIHsKKwlpbWFnZXNMZWZ0VG9Mb2FkLS07CisgICAgdGVz
dEZhaWxlZCgnR290IHVuZXhwZWN0ZWQgXCcnICsgZS50eXBlICsgJ1wnIGV2ZW50IGZvciBpbWFn
ZTogJyArIGUudGFyZ2V0LnNyYyk7IAorfQorCitmdW5jdGlvbiBydW5UZXN0cygpIHsKKyAgICAv
LyBDYW4ndCBkbyBhbnl0aGluZyB1c2VmdWwgaGVyZSB3aXRob3V0IGV2ZW50U2VuZGVyCisgICAg
aWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICB2YXIgbm9kZXNUb1Rlc3QgPSBkb2N1
bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcjdGVzdC1jb250YWluZXIgPiBkaXYnKTsKKyAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBub2Rlc1RvVGVzdC5sZW5ndGg7IGkrKykgeworICAgICAgICAg
ICAgdmFyIG5vZGUgPSBub2Rlc1RvVGVzdFtpXTsKKyAgICAgICAgICAgIGRlYnVnKCdURVNUIENB
U0U6ICcgKyBub2RlLnRleHRDb250ZW50KTsKKworICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRo
ZSBub2RlIGlzIHZpc2libGUgYW5kIG1vdmUgdGhlIG1vdXNlIG92ZXIgdG9wIG9mIGl0LgorICAg
ICAgICAgICAgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgPSBub2RlLm9mZnNldFRvcCAtIDUwOwor
ICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8obm9kZS5vZmZzZXRMZWZ0ICsgMywg
bm9kZS5vZmZzZXRUb3AgLSBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCArIDMpOworCisgICAgICAg
ICAgICAvLyBHZXQgZGV0YWlscyBvZiB0aGUgY3VycmVudCBtb3VzZSBjdXJzb3IuCisgICAgICAg
ICAgICAvLyBOb3RlIHRoYXQgd2UgY291bGQgcmV0dXJuIHN0cnVjdHVyZWQgZGF0YSB3aGljaCB3
ZSB0aGVuIHZhbGlkYXRlLCBidXQgdGhhdCdzIGEgbG90IG1vcmUKKyAgICAgICAgICAgIC8vIHdv
cmsgYW5kIGlzIHJlZHVuZGFudCB3aXRoIHJlbHlpbmcgb24gdGhlIGV4cGVjdGVkIG91dHB1dCBh
bnl3YXkuICBCZXR0ZXIgdG8ganVzdCBkdW1wCisgICAgICAgICAgICAvLyBpdCBhbmQgaW5zcGVj
dCB0aGF0IGl0IG1hdGNoZXMgdGhlIGRlc2NyaXB0aW9uLgorICAgICAgICAgICAgZGVidWcoJ0N1
cnNvciBJbmZvOiAnICsgd2luZG93LmludGVybmFscy5nZXRDdXJyZW50Q3Vyc29ySW5mbyhkb2N1
bWVudCkpOworICAgICAgICAgICAgZGVidWcoJycpOworICAgICAgICB9CisgICAgICAgIC8vIFRo
aXMgdGV4dCBpcyByZWR1bmRhbnQgd2l0aCB0aGUgdGVzdCBvdXRwdXQgLSBoaWRlIGl0CisgICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0LWNvbnRhaW5lcicpLnN0eWxlLmRpc3Bs
YXkgPSAnbm9uZSc7CisgICAgfQorICAgIAorICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitkZXNj
cmlwdGlvbigiVGVzdCB0aGF0IG1vdXNlIGN1cnNvcnMgYXJlIGFwcGxpZWQgY29ycmVjdGx5LiIp
OworCitpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikgeworICAgIHRlc3RGYWlsZWQoJ1RoaXMgdGVz
dCByZXF1aXJlcyBEdW1wUmVuZGVyVHJlZScpOworfQorCitpZiAod2luZG93LnRlc3RSdW5uZXIp
IHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKKyAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Cit9CisKKy8vIE5vdyB3
YWl0IGZvciBlYWNoIGltYWdlIHRvIGxvYWQgb3IgZmFpbCB0byBsb2FkIGJlZm9yZSBzdGFydGlu
ZyB0ZXN0cy4KKy8vIFdpdGhvdXQgdGhpcyB3ZSBjYW4gZ2V0IG51bGwgaW1hZ2VzIGluIHRoZSBj
dXJzb3JzIC0gZWcuIG5vIGtub3duIHNpemUuCit2YXIgaW1hZ2VzVG9Mb2FkID0gWworICAgIHsg
dXJsOiAncmVzb3VyY2VzL2dyZWVuYm94LTNmcmFtZXMuY3VyJyB9IF07CitpbWFnZXNMZWZ0VG9M
b2FkID0gaW1hZ2VzVG9Mb2FkLmxlbmd0aDsKK2ZvciAodmFyIGkgPSAwOyBpIDwgaW1hZ2VzVG9M
b2FkLmxlbmd0aDsgaSsrKSB7CisgICAgdmFyIGltZyA9IG5ldyBJbWFnZSgpOworICAgIHZhciBl
eHBlY3RFcnJvciA9IGltYWdlc1RvTG9hZFtpXS5lcnJvcjsgCisgICAgaW1nLmFkZEV2ZW50TGlz
dGVuZXIoJ2xvYWQnLCBleHBlY3RFcnJvciA/IG9uSW1hZ2VVbmV4cGVjdGVkIDogb25JbWFnZUxv
YWQpOworICAgIGltZy5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIGV4cGVjdEVycm9yID8gb25J
bWFnZUxvYWQgOiBvbkltYWdlVW5leHBlY3RlZCk7CisgICAgaW1nLnNyYyA9IGltYWdlc1RvTG9h
ZFtpXS51cmw7Cit9CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sCmluZGV4IDE2N2Q3ODVmZjlmNWQ5
ZTRmMjc4YjYxZjgwYzRiMjRkNmRiMmQyYTMuLjRlNTY2YTc2NGUyZmNiYmYzNzFiYjMwMTg4ZGQ5
NjgyYzQ4NGRjN2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1
cnNvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1s
CkBAIC0yOCw2ICsyOCw5IEBACiAgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9n
cmVlbmJveC5wbmcpIDIwIDEwLCBwb2ludGVyJz5JbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90
IGF0ICgyMCwxMCk8L2Rpdj4KICAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwocmVzb3VyY2VzL2dy
ZWVuYm94LnBuZykgLTEgLTEsIHBvaW50ZXInPkltYWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3Qg
YXQgKC0xLC0xKTwvZGl2PgogICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3Jl
ZW5ib3gucG5nKSAzMCAzMCwgcG9pbnRlcic+SW1hZ2Ugd2l0aCBleHBsaWNpdCBob3Qgc3BvdCBv
dXRzaWRlIGltYWdlIGF0ICgzMCwzMCk8L2Rpdj4KKyAgPGRpdiBzdHlsZT0nY3Vyc29yOiB1cmwo
cmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3Q1LTQuY3VyKSwgcG9pbnRlcic+SW1hZ2Ugd2l0aCBp
bXBsaWNpdCBob3Qgc3BvdCBhdCAoNSw0KTwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVy
bChyZXNvdXJjZXMvZ3JlZW5ib3gtaG90c3BvdDUtNC5jdXIpIDIwIDEwLCBwb2ludGVyJz5JbWFn
ZSB3aXRoIGV4cGxpY2l0IGhvdCBzcG90IGF0ICgyMCwxMCkgb3ZlcnJpZGluZyBpbXBsaWNpdCBo
b3Qgc3BvdDwvZGl2PgorICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5i
b3gtaG90c3BvdDM1LTQuY3VyKSwgcG9pbnRlcic+SW1hZ2Ugd2l0aCBpbXBsaWNpdCBob3Qgc3Bv
dCBvdXRzaWRlIGltYWdlIGF0ICgzNSw0KTwvZGl2PgogICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVy
bChyZXNvdXJjZXMvb25sb2FkLWltYWdlLnBuZyksIHBvaW50ZXInPk92ZXIgbGFyZ2UgaW1hZ2Ug
d2l0aCBmYWxsYmFjayB0byBwb2ludGVyPC9kaXY+CiAgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJs
KCNncmVlbmJveCksIHBvaW50ZXInPlNWRyBjdXJzb3I8L2Rpdj4KICAgPGRpdiBzdHlsZT0nY3Vy
c29yOiB1cmwobW91c2UtY3Vyc29yLmh0bWwpLCB1cmwodW5rbm93bi1zY2hlbWU6Y3Vyc29yLnBu
ZyksIHBvaW50ZXInPk11bHRpcGxlIGludmFsaWQgY3Vyc29ycyB3aXRoIGZhbGxiYWNrIHRvIHBv
aW50ZXI8L2Rpdj4KQEAgLTY3LDcgKzcwLDEyIEBAIGZ1bmN0aW9uIHJ1blRlc3RzKCkgewogICAg
ICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGVzVG9UZXN0Lmxlbmd0aDsgaSsrKSB7CiAgICAg
ICAgICAgICB2YXIgbm9kZSA9IG5vZGVzVG9UZXN0W2ldOwogICAgICAgICAgICAgZGVidWcoJ1RF
U1QgQ0FTRTogJyArIG5vZGUudGV4dENvbnRlbnQpOwotICAgICAgICAgICAgZXZlbnRTZW5kZXIu
bW91c2VNb3ZlVG8obm9kZS5vZmZzZXRMZWZ0ICsgMywgbm9kZS5vZmZzZXRUb3AgKyAzKTsKKwor
ICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBub2RlIGlzIHZpc2libGUgYW5kIG1vdmUgdGhl
IG1vdXNlIG92ZXIgdG9wIG9mIGl0LgorICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5zY3JvbGxU
b3AgPSBub2RlLm9mZnNldFRvcCAtIDUwOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VN
b3ZlVG8obm9kZS5vZmZzZXRMZWZ0ICsgMywgbm9kZS5vZmZzZXRUb3AgLSBkb2N1bWVudC5ib2R5
LnNjcm9sbFRvcCArIDMpOworCisgICAgICAgICAgICAvLyBHZXQgZGV0YWlscyBvZiB0aGUgY3Vy
cmVudCBtb3VzZSBjdXJzb3IuCiAgICAgICAgICAgICAvLyBOb3RlIHRoYXQgd2UgY291bGQgcmV0
dXJuIHN0cnVjdHVyZWQgZGF0YSB3aGljaCB3ZSB0aGVuIHZhbGlkYXRlLCBidXQgdGhhdCdzIGEg
bG90IG1vcmUKICAgICAgICAgICAgIC8vIHdvcmsgYW5kIGlzIHJlZHVuZGFudCB3aXRoIHJlbHlp
bmcgb24gdGhlIGV4cGVjdGVkIG91dHB1dCBhbnl3YXkuICBCZXR0ZXIgdG8ganVzdCBkdW1wCiAg
ICAgICAgICAgICAvLyBpdCBhbmQgaW5zcGVjdCB0aGF0IGl0IG1hdGNoZXMgdGhlIGRlc2NyaXB0
aW9uLgpAQCAtOTgsNiArMTA2LDggQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiB2YXIgaW1h
Z2VzVG9Mb2FkID0gWwogICAgIHsgdXJsOiAncmVzb3VyY2VzL2dyZWVuYm94LnBuZycgfSwKICAg
ICB7IHVybDogJ3Jlc291cmNlcy9vbmxvYWQtaW1hZ2UucG5nJyB9LAorICAgIHsgdXJsOiAncmVz
b3VyY2VzL2dyZWVuYm94LWhvdHNwb3Q1LTQuY3VyJyB9LAorICAgIHsgdXJsOiAncmVzb3VyY2Vz
L2dyZWVuYm94LWhvdHNwb3QzNS00LmN1cicgfSwKICAgICB7IHVybDogJ2RvZXNudGV4aXN0LnBu
ZycsIGVycm9yOiB0cnVlIH0sCiAgICAgeyB1cmw6ICd1bmtub3duLXNjaGVtZTpjdXJzb3IucG5n
JywgZXJyb3I6IHRydWUgfSwKICAgICB7IHVybDogJ21vdXNlLWN1cnNvci5odG1sJywgZXJyb3I6
IHRydWUgfSwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy9n
cmVlbmJveC0zZnJhbWVzLmN1ciBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy9n
cmVlbmJveC0zZnJhbWVzLmN1cgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYjA5ZDY0MTZjYjU3NzdjM2UwN2U0NmFm
ZjBhNGM0MzJmNGFlZDQ2CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAzOTAKemNtWlF6VX05aXE7
OV9OQjs5eXszaCt0cX5GYXUlezl3cjdNMjV5RTRLejFKeF5ScUtDQEdgSjVXQn1RNmowX0FLCnpL
JDs3Ujg1d3tBS3ArQXBBcHtlUXtVNjRfTGZkMUNmeUBQJkJMVCFQYX1BSmA1b0lvdGRRMnVpclZ0
KHhrYjZLbgpWXzwkSlo5dkxMe0IpSkM/T2h+I0JPYU49TzJUY0Z+CgpsaXRlcmFsIDAKSGNtVj9k
MDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvZ3Jl
ZW5ib3gtaG90c3BvdDM1LTQuY3VyIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2Vz
L2dyZWVuYm94LWhvdHNwb3QzNS00LmN1cgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MjIyNmM1MWUyNDVkM2Y4NDY4
YWY2ODI4OWQ1MzE3ZmRlNjkyZWQwCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAyNzAKemNtWlF6
VX05aW9rZCRPJVAtYjlaX2AkJXlBT14lNUtyOUt3TW5LRjZnZG1VdENMc2g5alF0PFJwYkszflln
KyZ8CkN2OylLZAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3Q1LTQuY3VyIGIvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3Q1LTQuY3VyCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjVhZTdjOWMyNzA2OThjM2ViNWZlNjkwNjA2NzVhOGM3YmVmNzk0MDYKR0lUIGJpbmFy
eSBwYXRjaApsaXRlcmFsIDI3MAp6Y21aUXpVfTlpb2tkJE8lVX1hIW9fYCQleUFPXiU1S3I5S3dN
bktGNmdkbVV0Q0xzaDlqUXQ8UnBiSzN+WWcrJnEKQ0pPaWN4CgpsaXRlcmFsIDAKSGNtVj9kMDAw
MDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGU2Nzc1
YmQzNDFlODQ5ZWVjMDA4MzBlNjQ5MmM2MjgzNzA4N2EzZTIuLjMwODI5YTRiNzE1MmZmNThjY2I4
MzQ3ODllNzNmMGRlMzM3MjhkYWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhw
ZWN0YXRpb25zCkBAIC0xMTc0LDMgKzExNzQsNiBAQCB3ZWJraXQub3JnL2IvMTAwODQ2IGluc3Bl
Y3Rvci1wcm90b2NvbC9kZWJ1Z2dlci10ZXJtaW5hdGUtZGVkaWNhdGVkLXdvcmtlci13aGlsZQog
d2Via2l0Lm9yZy9iLzEwMDE0MiBjc3MzL2ZpbHRlcnMvZWZmZWN0LXJlZmVyZW5jZS1ody5odG1s
IFsgRmFpbCBdCiB3ZWJraXQub3JnL2IvMTAwMTQyIGNzczMvZmlsdGVycy9lZmZlY3QtcmVmZXJl
bmNlLW9yZGVyaW5nLWh3Lmh0bWwgWyBGYWlsIF0KIHdlYmtpdC5vcmcvYi8xMDAxNDIgY3NzMy9m
aWx0ZXJzL2VmZmVjdC1yZWZlcmVuY2UuaHRtbCBbIEZhaWwgXQorCisjIEhhbmdzIHNhZmFyaSBh
cHBhcmVudGx5IGR1ZSB0byBhbiBpc3N1ZSB3aXRoIENvcmVHcmFwaGljcyBhbmQgd2VpcmQgbXVs
dGktZnJhbWUgQ1VSIGltYWdlIGZpbGVzCit3ZWJraXQub3JnL2IvMTAxODExIGZhc3QvZXZlbnRz
L21vdXNlLWN1cnNvci1tdWx0aWZyYW1lY3VyLmh0bWwgWyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174504</attachid>
            <date>2012-11-15 13:07:24 -0800</date>
            <delta_ts>2012-11-15 18:28:34 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-100059-20121115160521.patch</filename>
            <type>text/plain</type>
            <size>19796</size>
            <attacher name="Rick Byers">rbyers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0ODIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGFhY2JjMzRjMzM1NzI5
YzczYjc5YTFjNTJlYzJhNGNjMmYyOTJkNS4uOTI3ZjdkY2M3YzRlZTAxNjgwNGUxNTMxYWE3ZTY4
NDQ0NTBhZTM3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTExLTA5ICBSaWNr
IEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBjdXN0b20gQ1NTIGN1cnNv
cnMgaWdub3JlIGhvdHNwb3QgdmFsdWVzIGVtYmVkZGVkIGluIENVUiBmaWxlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMDU5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgorCisgICAgICAgIEFkZCByZWFkaW5nIHRoZSBo
b3RzcG90IHZhbHVlcyB0byB0aGUgSUNPSW1hZ2VEZWNvZGVyIChmb3IgQ1VSIGZpbGVzIG9ubHkp
LAorICAgICAgICBhbmQgcGx1bWIgaXQgdGhyb3VnaCBzbyB0aGF0IHRoZSBleGlzdGluZyBjYWxs
cyB0byBJbWFnZVNvdXJjZTo6Z2V0SG90U3BvdAorICAgICAgICBhY3R1YWxseSByZXR1cm4gdGhl
IGhvdCBzcG90IHZhbHVlIHdoZW4gdGhlcmUgaXMgb25lLgorCisgICAgICAgIFRlc3RzOiBmYXN0
L2V2ZW50cy9tb3VzZS1jdXJzb3IuaHRtbCwgZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLW11bHRp
ZnJhbWVjdXIuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VTb3VyY2U6OmdldEhvdFNwb3QpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0RlZmVycmVkSW1hZ2VEZWNvZGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRlZmVycmVkSW1hZ2VEZWNvZGVyOjpob3RTcG90KToKKyAgICAg
ICAgKFdlYkNvcmU6OkRlZmVycmVkSW1hZ2VEZWNvZGVyOjpob3RTcG90QXRJbmRleCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuaDoK
KyAgICAgICAgKERlZmVycmVkSW1hZ2VEZWNvZGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pbWFn
ZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlRGVjb2Rl
cjo6aG90U3BvdCk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZURlY29kZXI6OmhvdFNwb3RBdElu
ZGV4KToKKyAgICAgICAgKEltYWdlRGVjb2Rlcik6CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2Ut
ZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJQ09J
bWFnZURlY29kZXI6OmhvdFNwb3QpOgorICAgICAgICAoV2ViQ29yZTo6SUNPSW1hZ2VEZWNvZGVy
Ojpob3RTcG90QXRJbmRleCk6CisgICAgICAgIChXZWJDb3JlOjpJQ09JbWFnZURlY29kZXI6OnBy
b2Nlc3NEaXJlY3RvcnkpOgorICAgICAgICAoV2ViQ29yZTo6SUNPSW1hZ2VEZWNvZGVyOjpyZWFk
RGlyZWN0b3J5RW50cnkpOgorICAgICAgICAqIHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9J
Q09JbWFnZURlY29kZXIuaDoKKyAgICAgICAgKElDT0ltYWdlRGVjb2Rlcik6CisgICAgICAgIChJ
Y29uRGlyZWN0b3J5RW50cnkpOgorCiAyMDEyLTExLTE1ICBBbHBoYSBMYW0gIDxoY2xhbUBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBSZWZhY3RvcmluZyB0byBtb3ZlIGxvZ2lj
IG9mIGNyZWF0aW5nIGxhenkgZGVjb2RlZCBTa0JpdG1hcCBpbnRvIERlZmVycmVkSW1hZ2VEZWNv
ZGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNv
dXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZVNvdXJjZS5j
cHAKaW5kZXggNTY4NTdhNDNmNTQ4NDIzZThiZDkyZDMyMmQ5NmQ4MTBjMmJiNjc5YS4uMGY0NmQ3
MDNjN2E4YzZkYmRiZDJkODk2NTAyMTFjMzQzZWYwYjBjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlU291cmNlLmNwcApAQCAtMTIxLDkgKzEyMSw5IEBA
IEludFNpemUgSW1hZ2VTb3VyY2U6OmZyYW1lU2l6ZUF0SW5kZXgoc2l6ZV90IGluZGV4LCBSZXNw
ZWN0SW1hZ2VPcmllbnRhdGlvbkVudW0KICAgICByZXR1cm4gc2l6ZTsKIH0KIAotYm9vbCBJbWFn
ZVNvdXJjZTo6Z2V0SG90U3BvdChJbnRQb2ludCYpIGNvbnN0Citib29sIEltYWdlU291cmNlOjpn
ZXRIb3RTcG90KEludFBvaW50JiBob3RTcG90KSBjb25zdAogewotICAgIHJldHVybiBmYWxzZTsK
KyAgICByZXR1cm4gbV9kZWNvZGVyID8gbV9kZWNvZGVyLT5ob3RTcG90KGhvdFNwb3QpIDogZmFs
c2U7CiB9CiAKIHNpemVfdCBJbWFnZVNvdXJjZTo6Ynl0ZXNEZWNvZGVkVG9EZXRlcm1pbmVQcm9w
ZXJ0aWVzKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0RlZmVycmVkSW1hZ2VEZWNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0RlZmVycmVkSW1hZ2VEZWNvZGVyLmNwcAppbmRleCBj
Y2JiMzM1N2E3NWUwZjViYjJjZGFlMTc0ZjJjNGJmMGU2M2U5OTg1Li4zM2Q5NDk2MDRkZWViZDZk
NTY2ZjM4YThiMDExNDE4MDAyYjA2ZmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9EZWZlcnJlZEltYWdlRGVjb2Rlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRGVmZXJyZWRJbWFnZURlY29k
ZXIuY3BwCkBAIC0yMTksNCArMjE5LDkgQEAgU2tCaXRtYXAgRGVmZXJyZWRJbWFnZURlY29kZXI6
OmNyZWF0ZUxhenlEZWNvZGluZ0JpdG1hcCgpCiAgICAgcmV0dXJuIGJpdG1hcDsKIH0KIAorYm9v
bCBEZWZlcnJlZEltYWdlRGVjb2Rlcjo6aG90U3BvdChJbnRQb2ludCYgaG90U3BvdCkgY29uc3QK
K3sKKyAgICByZXR1cm4gbV9hY3R1YWxEZWNvZGVyID8gbV9hY3R1YWxEZWNvZGVyLT5ob3RTcG90
KGhvdFNwb3QpIDogZmFsc2U7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0RlZmVycmVkSW1h
Z2VEZWNvZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9E
ZWZlcnJlZEltYWdlRGVjb2Rlci5oCmluZGV4IDMzNzA5ZDliNTk4OTkyMTEwODY2M2UzYWZjMGY3
MTVhNGQ1ZTMxNWUuLmI3OTUwNDlmMGM4M2FkODg2MDIyNDM0ODM2Y2Q3NzIyZWYwY2Y1NGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0RlZmVy
cmVkSW1hZ2VEZWNvZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vRGVmZXJyZWRJbWFnZURlY29kZXIuaApAQCAtNjIsNiArNjIsNyBAQCBwdWJsaWM6
CiAgICAgYm9vbCBmcmFtZUhhc0FscGhhQXRJbmRleChzaXplX3QgaW5kZXgpIGNvbnN0OwogICAg
IHVuc2lnbmVkIGZyYW1lQnl0ZXNBdEluZGV4KHNpemVfdCBpbmRleCkgY29uc3Q7CiAgICAgSW1h
Z2VPcmllbnRhdGlvbiBvcmllbnRhdGlvbigpIGNvbnN0OworICAgIGJvb2wgaG90U3BvdChJbnRQ
b2ludCYpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IERlZmVycmVkSW1hZ2VEZWNv
ZGVyKEltYWdlRGVjb2RlciogYWN0dWFsRGVjb2Rlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9JbWFnZURlY29kZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oCmluZGV4IDhjMGRiMzky
OWY1NDIwOGI0N2ZhMzYzODI3MzZiZmIzMTU2NDdmNTcuLjJiNWM5ODM2YTM5ZDIxM2U4OWI2Mzli
NjY4ZGVhMTI1ZWI2OWNhOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lt
YWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2ltYWdlLWRlY29kZXJzL0ltYWdlRGVjb2Rlci5oCkBAIC0zNzYsNiArMzc2LDEwIEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBzZXRNYXhOdW1QaXhlbHMoaW50IG0pIHsgbV9t
YXhOdW1QaXhlbHMgPSBtOyB9CiAjZW5kaWYKIAorICAgICAgICAvLyBJZiB0aGUgaW1hZ2UgaGFz
IGEgY3Vyc29yIGhvdC1zcG90LCBzdG9yZXMgaXQgaW4gdGhlIGFyZ3VtZW50CisgICAgICAgIC8v
IGFuZCByZXR1cm5zIHRydWUuIE90aGVyd2lzZSByZXR1cm5zIGZhbHNlLgorICAgICAgICB2aXJ0
dWFsIGJvb2wgaG90U3BvdChJbnRQb2ludCYpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisKICAg
ICAgICAgdmlydHVhbCB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBj
b25zdDsKIAogICAgIHByb3RlY3RlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5jcHAKaW5kZXgg
MmRiM2VjZjZjZTdmY2M3MzJjZTI0MzVkZGU0ZGM5Nzk4YzY4NjMwOC4uYTNlMjk1MjY0OGExOTg4
ODhlNjZlNDdkMWZjMTkyZTY4MjYxZGExZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5jcHAK
QEAgLTEzMyw2ICsxMzMsMjQgQEAgYm9vbCBJQ09JbWFnZURlY29kZXI6OnNldEZhaWxlZCgpCiAg
ICAgcmV0dXJuIEltYWdlRGVjb2Rlcjo6c2V0RmFpbGVkKCk7CiB9CiAKK2Jvb2wgSUNPSW1hZ2VE
ZWNvZGVyOjpob3RTcG90KEludFBvaW50JiBob3RTcG90KSBjb25zdAoreworICAgIC8vIFdoZW4g
dW5zcGVjaWZpZWQsIHRoZSBkZWZhdWx0IGZyYW1lIGlzIGFsd2F5cyBmcmFtZSAwLiBUaGlzIGlz
IGNvbnNpc3RlbnQgd2l0aAorICAgIC8vIEJpdG1hcEltYWdlIHdoZXJlIGN1cnJlbnRGcmFtZSgp
IHN0YXJ0cyBhdCAwIGFuZCBvbmx5IGluY3JlYXNlcyB3aGVuIGFuaW1hdGlvbiBpcworICAgIC8v
IHJlcXVlc3RlZC4KKyAgICByZXR1cm4gaG90U3BvdEF0SW5kZXgoMCwgaG90U3BvdCk7Cit9CisK
K2Jvb2wgSUNPSW1hZ2VEZWNvZGVyOjpob3RTcG90QXRJbmRleChzaXplX3QgaW5kZXgsIEludFBv
aW50JiBob3RTcG90KSBjb25zdAoreworICAgIGlmIChpbmRleCA+PSBtX2RpckVudHJpZXMuc2l6
ZSgpIHx8IG1fZmlsZVR5cGUgIT0gQ1VSU09SKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBob3RTcG90ID0gbV9kaXJFbnRyaWVzW2luZGV4XS5tX2hvdFNwb3Q7CisgICAgcmV0dXJuIHRy
dWU7Cit9CisKKwogLy8gc3RhdGljCiBib29sIElDT0ltYWdlRGVjb2Rlcjo6Y29tcGFyZUVudHJp
ZXMoY29uc3QgSWNvbkRpcmVjdG9yeUVudHJ5JiBhLCBjb25zdCBJY29uRGlyZWN0b3J5RW50cnkm
IGIpCiB7CkBAIC0yMzIsMTMgKzI1MCwxMSBAQCBib29sIElDT0ltYWdlRGVjb2Rlcjo6cHJvY2Vz
c0RpcmVjdG9yeSgpCiAKICAgICAvLyBTZWUgaWYgdGhpcyBpcyBhbiBpY29uIGZpbGV0eXBlIHdl
IHVuZGVyc3RhbmQsIGFuZCBtYWtlIHN1cmUgd2UgaGF2ZSBhdAogICAgIC8vIGxlYXN0IG9uZSBl
bnRyeSBpbiB0aGUgZGlyZWN0b3J5LgotICAgIGVudW0gewotICAgICAgICBJQ09OID0gMSwKLSAg
ICAgICAgQ1VSU09SID0gMiwKLSAgICB9OwogICAgIGlmICgoKGZpbGVUeXBlICE9IElDT04pICYm
IChmaWxlVHlwZSAhPSBDVVJTT1IpKSB8fCAoIWlkQ291bnQpKQogICAgICAgICByZXR1cm4gc2V0
RmFpbGVkKCk7CiAKKyAgICBtX2ZpbGVUeXBlID0gc3RhdGljX2Nhc3Q8RmlsZVR5cGU+KGZpbGVU
eXBlKTsKKwogICAgIC8vIEVubGFyZ2UgbWVtYmVyIHZlY3RvcnMgdG8gaG9sZCBhbGwgdGhlIGVu
dHJpZXMuCiAgICAgbV9kaXJFbnRyaWVzLnJlc2l6ZShpZENvdW50KTsKICAgICBtX2JtcFJlYWRl
cnMucmVzaXplKGlkQ291bnQpOwpAQCAtMjg3LDcgKzMwMywxMyBAQCBJQ09JbWFnZURlY29kZXI6
Okljb25EaXJlY3RvcnlFbnRyeSBJQ09JbWFnZURlY29kZXI6OnJlYWREaXJlY3RvcnlFbnRyeSgp
CiAgICAgICAgIGhlaWdodCA9IDI1NjsKICAgICBJY29uRGlyZWN0b3J5RW50cnkgZW50cnk7CiAg
ICAgZW50cnkubV9zaXplID0gSW50U2l6ZSh3aWR0aCwgaGVpZ2h0KTsKLSAgICBlbnRyeS5tX2Jp
dENvdW50ID0gcmVhZFVpbnQxNig2KTsKKyAgICBpZiAobV9maWxlVHlwZSA9PSBDVVJTT1IpIHsK
KyAgICAgICAgZW50cnkubV9iaXRDb3VudCA9IDA7CisgICAgICAgIGVudHJ5Lm1faG90U3BvdCA9
IEludFBvaW50KHJlYWRVaW50MTYoNCksIHJlYWRVaW50MTYoNikpOworICAgIH0gZWxzZSB7Cisg
ICAgICAgIGVudHJ5Lm1fYml0Q291bnQgPSByZWFkVWludDE2KDYpOworICAgICAgICBlbnRyeS5t
X2hvdFNwb3QgPSBJbnRQb2ludCgpOworICAgIH0KICAgICBlbnRyeS5tX2ltYWdlT2Zmc2V0ID0g
cmVhZFVpbnQzMigxMik7CiAKICAgICAvLyBTb21lIGljb25zIGRvbid0IGhhdmUgYSBiaXQgZGVw
dGgsIG9ubHkgYSBjb2xvciBjb3VudC4gIENvbnZlcnQgdGhlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9pY28vSUNPSW1hZ2VEZWNvZGVy
LmgKaW5kZXggMzFkOTFjODE5MDJmYjBkMmM2OWRjMGEzNjE4Y2JkYzU0YmY2YjcxMy4uYTkwOWRl
YjgwODM1ZTgyZDU4YTg4YTg5NTZjMzM3ODcyNGNkOWYyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvaWNvL0lDT0ltYWdlRGVjb2Rlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2ljby9JQ09JbWFnZURlY29k
ZXIuaApAQCAtNTYsNiArNTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8vIGF2
b2lkIGFjY2Vzc2luZyBkZWxldGVkIG1lbW9yeSwgZXNwZWNpYWxseSB3aGVuIGNhbGxpbmcgdGhp
cyBmcm9tCiAgICAgICAgIC8vIGluc2lkZSBCTVBJbWFnZVJlYWRlciEKICAgICAgICAgdmlydHVh
bCBib29sIHNldEZhaWxlZCgpOworICAgICAgICB2aXJ0dWFsIGJvb2wgaG90U3BvdChJbnRQb2lu
dCYpIGNvbnN0OwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgZW51bSBJbWFnZVR5cGUgewpAQCAt
NjQsOSArNjUsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgUE5HLAogICAg
ICAgICB9OwogCisgICAgICAgIGVudW0gRmlsZVR5cGUgeworICAgICAgICAgICAgSUNPTiA9IDEs
CisgICAgICAgICAgICBDVVJTT1IgPSAyLAorICAgICAgICB9OworCiAgICAgICAgIHN0cnVjdCBJ
Y29uRGlyZWN0b3J5RW50cnkgewogICAgICAgICAgICAgSW50U2l6ZSBtX3NpemU7CiAgICAgICAg
ICAgICB1aW50MTZfdCBtX2JpdENvdW50OworICAgICAgICAgICAgSW50UG9pbnQgbV9ob3RTcG90
OwogICAgICAgICAgICAgdWludDMyX3QgbV9pbWFnZU9mZnNldDsKICAgICAgICAgfTsKIApAQCAt
MTA5LDYgKzExNiwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8vIGNvdWxkIGJl
IGRlY29kZWQuCiAgICAgICAgIGJvb2wgcHJvY2Vzc0RpcmVjdG9yeUVudHJpZXMoKTsKIAorICAg
ICAgICAvLyBTdG9yZXMgdGhlIGhvdC1zcG90IGZvciB8aW5kZXh8IGluIHxob3RTcG90fCBhbmQg
cmV0dXJucyB0cnVlLAorICAgICAgICAvLyBvciByZXR1cm5zIGZhbHNlIGlmIHRoZXJlIGlzIG5v
bmUuCisgICAgICAgIGJvb2wgaG90U3BvdEF0SW5kZXgoc2l6ZV90IGluZGV4LCBJbnRQb2ludCYg
aG90U3BvdCkgY29uc3Q7CisKICAgICAgICAgLy8gUmVhZHMgYW5kIHJldHVybnMgYSBkaXJlY3Rv
cnkgZW50cnkgZnJvbSB0aGUgY3VycmVudCBvZmZzZXQgaW50bwogICAgICAgICAvLyB8ZGF0YXwu
CiAgICAgICAgIEljb25EaXJlY3RvcnlFbnRyeSByZWFkRGlyZWN0b3J5RW50cnkoKTsKQEAgLTEy
Miw2ICsxMzMsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8vIEJNUEltYWdlUmVh
ZGVyIHRha2VzIG92ZXIgdGhpcyB3aWxsIG5vdCBiZSB1cGRhdGVkIGZ1cnRoZXIuCiAgICAgICAg
IHNpemVfdCBtX2RlY29kZWRPZmZzZXQ7CiAKKyAgICAgICAgLy8gV2hpY2ggdHlwZSBvZiBmaWxl
IChJQ08vQ1VSKSB0aGlzIGlzLgorICAgICAgICBGaWxlVHlwZSBtX2ZpbGVUeXBlOworCiAgICAg
ICAgIC8vIFRoZSBoZWFkZXJzIGZvciB0aGUgSUNPLgogICAgICAgICB0eXBlZGVmIFZlY3RvcjxJ
Y29uRGlyZWN0b3J5RW50cnk+IEljb25EaXJlY3RvcnlFbnRyaWVzOwogICAgICAgICBJY29uRGly
ZWN0b3J5RW50cmllcyBtX2RpckVudHJpZXM7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGY3MjYzZWE2NTJmZGE0ZjA5NWY4
ZGEyOTg0ODRhY2UzNTJlNzVkZi4uMjkwMTYwNjg0MTYyMDBkNjA4MmZjYTdhYWU3Yzk2NDA0MzRh
NDQxNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTExLTA5ICBSaWNrIEJ5ZXJzICA8cmJ5
ZXJzQGNocm9taXVtLm9yZz4KKworICAgICAgICBjdXN0b20gQ1NTIGN1cnNvcnMgaWdub3JlIGhv
dHNwb3QgdmFsdWVzIGVtYmVkZGVkIGluIENVUiBmaWxlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMDU5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
S2VubmV0aCBSdXNzZWxsLgorCisgICAgICAgIEFkZCBtb3VzZSBjdXJzb3IgdGVzdCBjYXNlcyB0
aGF0IHVzZSBDVVIgZmlsZXMgdGhhdCBoYXZlIGVtYmVkZGVkIGhvdHNwb3QgdmFsdWVzLgorCisg
ICAgICAgICogZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItbXVsdGlmcmFtZWN1ci1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1tdWx0aWZyYW1lY3VyLmh0
bWw6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1s
LgorICAgICAgICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci5odG1sOgorICAgICAgICAqIGZh
c3QvZXZlbnRzL3Jlc291cmNlcy9ncmVlbmJveC0zZnJhbWVzLmN1cjogQWRkZWQuCisgICAgICAg
ICogZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3QzNS00LmN1cjogQWRkZWQu
CisgICAgICAgICogZmFzdC9ldmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3Q1LTQuY3Vy
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczogU2tpcCB0
aGUgbXVsdGktZnJhbWUgY2FzZSBvbiBtYWMgYmVjYXVzZSBpdCBjYXVzZXMgYSBoYW5nCisKIDIw
MTItMTEtMTUgIERhdmlkIEdyb2dhbiAgPGRncm9nYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IEluZGV4ZWREQiB0ZXN0IGNvbnZlcnNpb25zIGJhdGNoIDUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItZXhwZWN0ZWQudHh0CmluZGV4IGI1NThlOTVlZTQwNjk2
NTdmYTMzZWM2ZWY5ZDA0NDRhZDY3MTM3M2UuLjdlMGYyYTYxY2ZkOGI0MGY0OWZlNTQ0YjhlMzQ0
NmE0MTZkZDVmZTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1
cnNvci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vy
c29yLWV4cGVjdGVkLnR4dApAQCAtNDUsNiArNDUsMTUgQEAgQ3Vyc29yIEluZm86IHR5cGU9Q3Vz
dG9tIGhvdFNwb3Q9MCwwIGltYWdlPTI1eDI1CiBURVNUIENBU0U6IEltYWdlIHdpdGggZXhwbGlj
aXQgaG90IHNwb3Qgb3V0c2lkZSBpbWFnZSBhdCAoMzAsMzApCiBDdXJzb3IgSW5mbzogdHlwZT1D
dXN0b20gaG90U3BvdD0wLDAgaW1hZ2U9MjV4MjUKIAorVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGlt
cGxpY2l0IGhvdCBzcG90IGF0ICg1LDQpCitDdXJzb3IgSW5mbzogdHlwZT1DdXN0b20gaG90U3Bv
dD01LDQgaW1hZ2U9MjV4MjUKKworVEVTVCBDQVNFOiBJbWFnZSB3aXRoIGV4cGxpY2l0IGhvdCBz
cG90IGF0ICgyMCwxMCkgb3ZlcnJpZGluZyBpbXBsaWNpdCBob3Qgc3BvdAorQ3Vyc29yIEluZm86
IHR5cGU9Q3VzdG9tIGhvdFNwb3Q9MjAsMTAgaW1hZ2U9MjV4MjUKKworVEVTVCBDQVNFOiBJbWFn
ZSB3aXRoIGltcGxpY2l0IGhvdCBzcG90IG91dHNpZGUgaW1hZ2UgYXQgKDM1LDQpCitDdXJzb3Ig
SW5mbzogdHlwZT1DdXN0b20gaG90U3BvdD0wLDAgaW1hZ2U9MjV4MjUKKwogVEVTVCBDQVNFOiBP
dmVyIGxhcmdlIGltYWdlIHdpdGggZmFsbGJhY2sgdG8gcG9pbnRlcgogQ3Vyc29yIEluZm86IHR5
cGU9SGFuZCBob3RTcG90PTAsMAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9tb3VzZS1jdXJzb3ItbXVsdGlmcmFtZWN1ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9tb3VzZS1jdXJzb3ItbXVsdGlmcmFtZWN1ci1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYmIwNTgwMzVlNjNhZjk4NDBmNWEzOWM5NThlMDFkMTlkMDk1ZDk2MQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1tdWx0aWZyYW1l
Y3VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBACitUZXN0IHRoYXQgbW91c2UgY3Vyc29y
cyBhcmUgYXBwbGllZCBjb3JyZWN0bHkuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitCdWcgMTAwMDU5CisKKworVEVTVCBDQVNFOiBJbXBsaWNpdCBkZWZhdWx0IGN1cnNvcgorQ3Vy
c29yIEluZm86IHR5cGU9SUJlYW0gaG90U3BvdD0wLDAKKworVEVTVCBDQVNFOiBDVVIgZmlsZSB3
aXRoIDMgZnJhbWVzLCBsYXJnZXN0IG9mIHdoaWNoICgybmQgZnJhbWUpIGlzIDIweDEyIHdpdGgg
aG90c3BvdCBhdCAoMTgsMTEpLgorQ3Vyc29yIEluZm86IHR5cGU9Q3VzdG9tIGhvdFNwb3Q9MTgs
MTEgaW1hZ2U9MjB4MTIKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1
cnNvci1tdWx0aWZyYW1lY3VyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1j
dXJzb3ItbXVsdGlmcmFtZWN1ci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjNmU2ZjRiMDc4N2FhOTUzMTVh
Y2I3MjQyMTg2ZmEyZjZmYWYxNzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9tb3VzZS1jdXJzb3ItbXVsdGlmcmFtZWN1ci5odG1sCkBAIC0wLDAgKzEsOTMgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPHA+
PGEgaHJlZj1odHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwNTUwPkJ1
ZyAxMDAwNTk8L2E+PC9wPgorPGRpdiBpZD0idGVzdC1jb250YWluZXIiPgorICA8ZGl2PkltcGxp
Y2l0IGRlZmF1bHQgY3Vyc29yPC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJsKHJlc291
cmNlcy9ncmVlbmJveC0zZnJhbWVzLmN1ciksIHBvaW50ZXInPkNVUiBmaWxlIHdpdGggMyBmcmFt
ZXMsIGxhcmdlc3Qgb2Ygd2hpY2ggKDJuZCBmcmFtZSkgaXMgMjB4MTIgd2l0aCBob3RzcG90IGF0
ICgxOCwxMSkuPC9kaXY+Cis8L2Rpdj4KKzxici8+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQ+Cit2YXIgaW1hZ2VzTGVmdFRvTG9hZCA9IDA7CisKK2Z1bmN0aW9uIG9uSW1hZ2VM
b2FkKGUpIHsKKworICAgIC8vIFRoaXMgZGVidWcgb3V0cHV0IGlzIG5vbi1kZXRlcm1pbmlzdGlj
IGFuZCBjb250YWlucyBhYnNvbHV0ZSBVUkxzIC0gb25seSBzaG93IHdoZW4KKyAgICAvLyBub3Qg
cnVubmluZyBpbiBEUlQKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICBkZWJ1
ZyggJ0V2ZW50ICInICsgZS50eXBlICsgJyI6ICcgKyBlLnRhcmdldC5zcmMpOworICAgICAgICAK
KyAgICBpbWFnZXNMZWZ0VG9Mb2FkLS07CisgICAgaWYgKGltYWdlc0xlZnRUb0xvYWQgPT0gMCkK
KyAgICAgICAgcnVuVGVzdHMoKTsKKyAgICBpZiAoaW1hZ2VzTGVmdFRvTG9hZCA8IDApCisgICAg
ICAgIHRlc3RGYWlsZWQoJ0dvdCBtb3JlIGxvYWQvZXJyb3IgY2FsbGJhY2sgdGhhbiBleHBlY3Rl
ZC4nKTsKK30KKworZnVuY3Rpb24gb25JbWFnZVVuZXhwZWN0ZWQoZSkgeworCWltYWdlc0xlZnRU
b0xvYWQtLTsKKyAgICB0ZXN0RmFpbGVkKCdHb3QgdW5leHBlY3RlZCBcJycgKyBlLnR5cGUgKyAn
XCcgZXZlbnQgZm9yIGltYWdlOiAnICsgZS50YXJnZXQuc3JjKTsgCit9CisKK2Z1bmN0aW9uIHJ1
blRlc3RzKCkgeworICAgIC8vIENhbid0IGRvIGFueXRoaW5nIHVzZWZ1bCBoZXJlIHdpdGhvdXQg
ZXZlbnRTZW5kZXIKKyAgICBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgIHZhciBu
b2Rlc1RvVGVzdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyN0ZXN0LWNvbnRhaW5lciA+
IGRpdicpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGVzVG9UZXN0Lmxlbmd0aDsg
aSsrKSB7CisgICAgICAgICAgICB2YXIgbm9kZSA9IG5vZGVzVG9UZXN0W2ldOworICAgICAgICAg
ICAgZGVidWcoJ1RFU1QgQ0FTRTogJyArIG5vZGUudGV4dENvbnRlbnQpOworCisgICAgICAgICAg
ICAvLyBNYWtlIHN1cmUgdGhlIG5vZGUgaXMgdmlzaWJsZSBhbmQgbW92ZSB0aGUgbW91c2Ugb3Zl
ciB0b3Agb2YgaXQuCisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCA9IG5vZGUu
b2Zmc2V0VG9wIC0gNTA7CisgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhub2Rl
Lm9mZnNldExlZnQgKyAzLCBub2RlLm9mZnNldFRvcCAtIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9w
ICsgMyk7CisKKyAgICAgICAgICAgIC8vIEdldCBkZXRhaWxzIG9mIHRoZSBjdXJyZW50IG1vdXNl
IGN1cnNvci4KKyAgICAgICAgICAgIC8vIE5vdGUgdGhhdCB3ZSBjb3VsZCByZXR1cm4gc3RydWN0
dXJlZCBkYXRhIHdoaWNoIHdlIHRoZW4gdmFsaWRhdGUsIGJ1dCB0aGF0J3MgYSBsb3QgbW9yZQor
ICAgICAgICAgICAgLy8gd29yayBhbmQgaXMgcmVkdW5kYW50IHdpdGggcmVseWluZyBvbiB0aGUg
ZXhwZWN0ZWQgb3V0cHV0IGFueXdheS4gIEJldHRlciB0byBqdXN0IGR1bXAKKyAgICAgICAgICAg
IC8vIGl0IGFuZCBpbnNwZWN0IHRoYXQgaXQgbWF0Y2hlcyB0aGUgZGVzY3JpcHRpb24uCisgICAg
ICAgICAgICBkZWJ1ZygnQ3Vyc29yIEluZm86ICcgKyB3aW5kb3cuaW50ZXJuYWxzLmdldEN1cnJl
bnRDdXJzb3JJbmZvKGRvY3VtZW50KSk7CisgICAgICAgICAgICBkZWJ1ZygnJyk7CisgICAgICAg
IH0KKyAgICAgICAgLy8gVGhpcyB0ZXh0IGlzIHJlZHVuZGFudCB3aXRoIHRoZSB0ZXN0IG91dHB1
dCAtIGhpZGUgaXQKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QtY29udGFp
bmVyJykuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKKyAgICB9CisgICAgCisgICAgZmluaXNoSlNU
ZXN0KCk7Cit9CisKK2Rlc2NyaXB0aW9uKCJUZXN0IHRoYXQgbW91c2UgY3Vyc29ycyBhcmUgYXBw
bGllZCBjb3JyZWN0bHkuIik7CisKK2lmICghd2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgdGVz
dEZhaWxlZCgnVGhpcyB0ZXN0IHJlcXVpcmVzIER1bXBSZW5kZXJUcmVlJyk7Cit9CisKK2lmICh3
aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1
ZTsKK30KKworLy8gTm93IHdhaXQgZm9yIGVhY2ggaW1hZ2UgdG8gbG9hZCBvciBmYWlsIHRvIGxv
YWQgYmVmb3JlIHN0YXJ0aW5nIHRlc3RzLgorLy8gV2l0aG91dCB0aGlzIHdlIGNhbiBnZXQgbnVs
bCBpbWFnZXMgaW4gdGhlIGN1cnNvcnMgLSBlZy4gbm8ga25vd24gc2l6ZS4KK3ZhciBpbWFnZXNU
b0xvYWQgPSBbCisgICAgeyB1cmw6ICdyZXNvdXJjZXMvZ3JlZW5ib3gtM2ZyYW1lcy5jdXInIH0g
XTsKK2ltYWdlc0xlZnRUb0xvYWQgPSBpbWFnZXNUb0xvYWQubGVuZ3RoOworZm9yICh2YXIgaSA9
IDA7IGkgPCBpbWFnZXNUb0xvYWQubGVuZ3RoOyBpKyspIHsKKyAgICB2YXIgaW1nID0gbmV3IElt
YWdlKCk7CisgICAgdmFyIGV4cGVjdEVycm9yID0gaW1hZ2VzVG9Mb2FkW2ldLmVycm9yOyAKKyAg
ICBpbWcuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGV4cGVjdEVycm9yID8gb25JbWFnZVVuZXhw
ZWN0ZWQgOiBvbkltYWdlTG9hZCk7CisgICAgaW1nLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywg
ZXhwZWN0RXJyb3IgPyBvbkltYWdlTG9hZCA6IG9uSW1hZ2VVbmV4cGVjdGVkKTsKKyAgICBpbWcu
c3JjID0gaW1hZ2VzVG9Mb2FkW2ldLnVybDsKK30KKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1
cnNvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWwKaW5k
ZXggZjgyMWQ5M2I0M2I3ZjMzNDY0YTE3OGVkMWRmNTNiOTNmM2Y4M2I3OS4uNjM0ZDJkNmQ1Mzk0
ZDVhNjg4N2MzNjY0NDM5YzE5NWIzZGIyNWRmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvbW91c2UtY3Vyc29yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
bW91c2UtY3Vyc29yLmh0bWwKQEAgLTI4LDYgKzI4LDkgQEAKICAgPGRpdiBzdHlsZT0nY3Vyc29y
OiB1cmwocmVzb3VyY2VzL2dyZWVuYm94LnBuZykgMjAgMTAsIHBvaW50ZXInPkltYWdlIHdpdGgg
ZXhwbGljaXQgaG90IHNwb3QgYXQgKDIwLDEwKTwvZGl2PgogICA8ZGl2IHN0eWxlPSdjdXJzb3I6
IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gucG5nKSAtMSAtMSwgcG9pbnRlcic+SW1hZ2Ugd2l0aCBl
eHBsaWNpdCBob3Qgc3BvdCBhdCAoLTEsLTEpPC9kaXY+CiAgIDxkaXYgc3R5bGU9J2N1cnNvcjog
dXJsKHJlc291cmNlcy9ncmVlbmJveC5wbmcpIDMwIDMwLCBwb2ludGVyJz5JbWFnZSB3aXRoIGV4
cGxpY2l0IGhvdCBzcG90IG91dHNpZGUgaW1hZ2UgYXQgKDMwLDMwKTwvZGl2PgorICA8ZGl2IHN0
eWxlPSdjdXJzb3I6IHVybChyZXNvdXJjZXMvZ3JlZW5ib3gtaG90c3BvdDUtNC5jdXIpLCBwb2lu
dGVyJz5JbWFnZSB3aXRoIGltcGxpY2l0IGhvdCBzcG90IGF0ICg1LDQpPC9kaXY+CisgIDxkaXYg
c3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9ncmVlbmJveC1ob3RzcG90NS00LmN1cikgMjAg
MTAsIHBvaW50ZXInPkltYWdlIHdpdGggZXhwbGljaXQgaG90IHNwb3QgYXQgKDIwLDEwKSBvdmVy
cmlkaW5nIGltcGxpY2l0IGhvdCBzcG90PC9kaXY+CisgIDxkaXYgc3R5bGU9J2N1cnNvcjogdXJs
KHJlc291cmNlcy9ncmVlbmJveC1ob3RzcG90MzUtNC5jdXIpLCBwb2ludGVyJz5JbWFnZSB3aXRo
IGltcGxpY2l0IGhvdCBzcG90IG91dHNpZGUgaW1hZ2UgYXQgKDM1LDQpPC9kaXY+CiAgIDxkaXYg
c3R5bGU9J2N1cnNvcjogdXJsKHJlc291cmNlcy9vbmxvYWQtaW1hZ2UucG5nKSwgcG9pbnRlcic+
T3ZlciBsYXJnZSBpbWFnZSB3aXRoIGZhbGxiYWNrIHRvIHBvaW50ZXI8L2Rpdj4KICAgPGRpdiBz
dHlsZT0nY3Vyc29yOiB1cmwoI2dyZWVuYm94KSwgcG9pbnRlcic+U1ZHIGN1cnNvcjwvZGl2Pgog
ICA8ZGl2IHN0eWxlPSdjdXJzb3I6IHVybChtb3VzZS1jdXJzb3IuaHRtbCksIHVybCh1bmtub3du
LXNjaGVtZTpjdXJzb3IucG5nKSwgcG9pbnRlcic+TXVsdGlwbGUgaW52YWxpZCBjdXJzb3JzIHdp
dGggZmFsbGJhY2sgdG8gcG9pbnRlcjwvZGl2PgpAQCAtNjcsNyArNzAsMTIgQEAgZnVuY3Rpb24g
cnVuVGVzdHMoKSB7CiAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZXNUb1Rlc3QubGVu
Z3RoOyBpKyspIHsKICAgICAgICAgICAgIHZhciBub2RlID0gbm9kZXNUb1Rlc3RbaV07CiAgICAg
ICAgICAgICBkZWJ1ZygnVEVTVCBDQVNFOiAnICsgbm9kZS50ZXh0Q29udGVudCk7Ci0gICAgICAg
ICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhub2RlLm9mZnNldExlZnQgKyAzLCBub2RlLm9m
ZnNldFRvcCArIDMpOworCisgICAgICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIG5vZGUgaXMgdmlz
aWJsZSBhbmQgbW92ZSB0aGUgbW91c2Ugb3ZlciB0b3Agb2YgaXQuCisgICAgICAgICAgICBkb2N1
bWVudC5ib2R5LnNjcm9sbFRvcCA9IG5vZGUub2Zmc2V0VG9wIC0gNTA7CisgICAgICAgICAgICBl
dmVudFNlbmRlci5tb3VzZU1vdmVUbyhub2RlLm9mZnNldExlZnQgKyAzLCBub2RlLm9mZnNldFRv
cCAtIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wICsgMyk7CisKKyAgICAgICAgICAgIC8vIEdldCBk
ZXRhaWxzIG9mIHRoZSBjdXJyZW50IG1vdXNlIGN1cnNvci4KICAgICAgICAgICAgIC8vIE5vdGUg
dGhhdCB3ZSBjb3VsZCByZXR1cm4gc3RydWN0dXJlZCBkYXRhIHdoaWNoIHdlIHRoZW4gdmFsaWRh
dGUsIGJ1dCB0aGF0J3MgYSBsb3QgbW9yZQogICAgICAgICAgICAgLy8gd29yayBhbmQgaXMgcmVk
dW5kYW50IHdpdGggcmVseWluZyBvbiB0aGUgZXhwZWN0ZWQgb3V0cHV0IGFueXdheS4gIEJldHRl
ciB0byBqdXN0IGR1bXAKICAgICAgICAgICAgIC8vIGl0IGFuZCBpbnNwZWN0IHRoYXQgaXQgbWF0
Y2hlcyB0aGUgZGVzY3JpcHRpb24uCkBAIC05OCw2ICsxMDYsOCBAQCBpZiAod2luZG93LnRlc3RS
dW5uZXIpIHsKIHZhciBpbWFnZXNUb0xvYWQgPSBbCiAgICAgeyB1cmw6ICdyZXNvdXJjZXMvZ3Jl
ZW5ib3gucG5nJyB9LAogICAgIHsgdXJsOiAncmVzb3VyY2VzL29ubG9hZC1pbWFnZS5wbmcnIH0s
CisgICAgeyB1cmw6ICdyZXNvdXJjZXMvZ3JlZW5ib3gtaG90c3BvdDUtNC5jdXInIH0sCisgICAg
eyB1cmw6ICdyZXNvdXJjZXMvZ3JlZW5ib3gtaG90c3BvdDM1LTQuY3VyJyB9LAogICAgIHsgdXJs
OiAnZG9lc250ZXhpc3QucG5nJywgZXJyb3I6IHRydWUgfSwKICAgICB7IHVybDogJ3Vua25vd24t
c2NoZW1lOmN1cnNvci5wbmcnLCBlcnJvcjogdHJ1ZSB9LAogICAgIHsgdXJsOiAnbW91c2UtY3Vy
c29yLmh0bWwnLCBlcnJvcjogdHJ1ZSB9LApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LTNmcmFtZXMuY3VyIGIvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LTNmcmFtZXMuY3VyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiMDlkNjQx
NmNiNTc3N2MzZTA3ZTQ2YWZmMGE0YzQzMmY0YWVkNDYKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFs
IDM5MAp6Y21aUXpVfTlpcTs5X05COzl5ezNoK3RxfkZhdSV7OXdyN00yNXlFNEt6MUp4XlJxS0NA
R2BKNVdCfVE2ajBfQUsKekskOzdSODV3e0FLcCtBcEFwe2VRe1U2NF9MZmQxQ2Z5QFAmQkxUIVBh
fUFKYDVvSW90ZFEydWlyVnQoeGtiNktuClZfPCRKWjl2TEx7QilKQz9PaH4jQk9hTj1PMlRjRn4K
CmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3Jlc291cmNlcy9ncmVlbmJveC1ob3RzcG90MzUtNC5jdXIgYi9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9yZXNvdXJjZXMvZ3JlZW5ib3gtaG90c3BvdDM1LTQuY3VyCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjky
MjI2YzUxZTI0NWQzZjg0NjhhZjY4Mjg5ZDUzMTdmZGU2OTJlZDAKR0lUIGJpbmFyeSBwYXRjaAps
aXRlcmFsIDI3MAp6Y21aUXpVfTlpb2tkJE8lUC1iOVpfYCQleUFPXiU1S3I5S3dNbktGNmdkbVV0
Q0xzaDlqUXQ8UnBiSzN+WWcrJnwKQ3Y7KUtkCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvZ3JlZW5ib3gtaG90c3Bv
dDUtNC5jdXIgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvZ3JlZW5ib3gtaG90
c3BvdDUtNC5jdXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWFlN2M5YzI3MDY5OGMzZWI1ZmU2OTA2MDY3NWE4Yzdi
ZWY3OTQwNgpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjcwCnpjbVpRelV9OWlva2QkTyVVfWEh
b19gJCV5QU9eJTVLcjlLd01uS0Y2Z2RtVXRDTHNoOWpRdDxScGJLM35ZZysmcQpDSk9pY3gKCmxp
dGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggZDJkMWI4NTA3YjBmNDgzNGQyODdmYTQ3OWEwNGE3ZGU5NDgyZDJiYy4uN2U2
MWQ1M2Q2NjFkYzFiODYxNmNmNTI4N2NkNDM4YWU2ZDk4MGFlMiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTExODUsMyArMTE4NSw2IEBAIHdlYmtpdC5v
cmcvYi8xMDAxNDIgY3NzMy9maWx0ZXJzL2VmZmVjdC1yZWZlcmVuY2UuaHRtbCBbIEZhaWwgXQog
CiAjIE1vdW50YWluIExpb24gYW5kIHByaW9yIGRvIG5vdCBzdXBwb3J0IGN1c3RvbSBtZWRpYSBk
YXRhIGxvYWRpbmcKIEJ1ZyhqZXJub2JsZSkgWyBNb3VudGFpbkxpb24gTGlvbiBTbm93TGVvcGFy
ZCBdIG1lZGlhL3ZpZGVvLXNyYy1ibG9iLmh0bWwKKworIyBIYW5ncyBzYWZhcmkgYXBwYXJlbnRs
eSBkdWUgdG8gYW4gaXNzdWUgd2l0aCB3ZWlyZCBtdWx0aS1mcmFtZSBDVVIgaW1hZ2UgZmlsZXMK
K3dlYmtpdC5vcmcvYi8xMDE4MTEgZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLW11bHRpZnJhbWVj
dXIuaHRtbCBbIFNraXAgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>