<?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>30173</bug_id>
          
          <creation_ts>2009-10-07 09:36:54 -0700</creation_ts>
          <short_desc>[Qt] Make it possible to apply the CSS background color to the native painted widgets instead of to the actual element</short_desc>
          <delta_ts>2014-02-03 03:15:50 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>32417</dependson>
    
    <dependson>33035</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Rohde Christiansen">kenneth</reporter>
          <assigned_to name="Carol Szabo">carol</assigned_to>
          <cc>aroben</cc>
    
    <cc>carol</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>hausmann</cc>
    
    <cc>hyatt</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>ossy</cc>
    
    <cc>szledan</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>153075</commentid>
    <comment_count>0</comment_count>
      <attachid>40795</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-10-07 09:36:54 -0700</bug_when>
    <thetext>Created attachment 40795
Image showing the feature in action (the background of all input elements have been changed to yellow)

Qt has very good theming support, so it is possible to paint our Qt Buttons, TextFields etc with the actual CSS background color.

1) We only want to apply the background color if it has been explicitly specified in the CSS or something similar, similar to the style-&gt;backgroundColor() != backgroundColor check in IsControlStyled.
2) We want to apply the color to the native painted widgets and not always to the actual element. Why?

In the case of Qt, our TextField widget doesn&apos;t fill out the whole element, there is some padding plus it has rounded corners. For it to look OK, we set the backgroundColor to transparent in the adjust*Style method.

I have made a patch that implement the feature, but I had to add a method to RenderStyle that I am not particular happy with.

If anyone has input on a better/more proper way of implementing this, please do share.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153077</commentid>
    <comment_count>1</comment_count>
      <attachid>40797</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-10-07 09:37:50 -0700</bug_when>
    <thetext>Created attachment 40797
First try</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153103</commentid>
    <comment_count>2</comment_count>
      <attachid>40797</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2009-10-07 10:22:29 -0700</bug_when>
    <thetext>Comment on attachment 40797
First try

You can&apos;t add a raw member variable to RenderStyle like that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153124</commentid>
    <comment_count>3</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-10-07 11:16:22 -0700</bug_when>
    <thetext>Discussing more with David Hyatt, it seems that what we need is a way to let WebCore not paint the background and let us handle it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153130</commentid>
    <comment_count>4</comment_count>
      <attachid>40806</attachid>
    <who name="Carol Szabo">carol</who>
    <bug_when>2009-10-07 11:26:52 -0700</bug_when>
    <thetext>Created attachment 40806
Working copy of patch attempt

This is kind of raw. I already have some improvements to it, but I sent it so that you have a base for discussion with dhyat.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153146</commentid>
    <comment_count>5</comment_count>
      <attachid>40811</attachid>
    <who name="Carol Szabo">carol</who>
    <bug_when>2009-10-07 12:02:23 -0700</bug_when>
    <thetext>Created attachment 40811
Working copy of patch attempt

Removed style fixes and other unnecessary changes. still a few changes left that address other issues such as box sizing and text positioning. Will clean up those too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153159</commentid>
    <comment_count>6</comment_count>
      <attachid>40816</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-10-07 13:00:15 -0700</bug_when>
    <thetext>Created attachment 40816
WebCore: Add a palette() method that is needed by our RenderTheme.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154196</commentid>
    <comment_count>7</comment_count>
      <attachid>40816</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-12 16:20:40 -0700</bug_when>
    <thetext>Comment on attachment 40816
WebCore: Add a palette() method that is needed by our RenderTheme.

Clearing flags on attachment: 40816

Committed r49483: &lt;http://trac.webkit.org/changeset/49483&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154197</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-12 16:20:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154357</commentid>
    <comment_count>9</comment_count>
      <attachid>41107</attachid>
    <who name="Carol Szabo">carol</who>
    <bug_when>2009-10-13 09:36:03 -0700</bug_when>
    <thetext>Created attachment 41107
Proposed patch (limited changes)

This patch is the first attempt to fix this problem. It relies on Kenneth&apos;s improvement of the PageClient interface to obtain the widget&apos;s palette. Kenneth and I worked on this patch together.
This patch renders form controls in QtWebKit using the current Qt theme (QtStyle) (i.e. gtk, plastique, clearlooks, cde, windows, etc). The palette used for colors is that of the PageClient, except if the author of the page alters the background color of the control, in which case that color is used for the control&apos;s background in the palette, and for controls where the foreground color is relevant, this color is used for the foreground.
Currently there are some themes such as gtk which ignore the palette most of the time, and some others that selectively ignore it. When these themes are selected the changes to the palette may have no effect (which is consistent with the expectations for style from the HTML spec).
As Qt improves, more styles shall be more compliant with the requests made through the palette.
Also, I have a subsequent patch planned to address background images and anotherone for borders.
Currently text in controls where the text is rendered internally by WebKit is not properly aligned, but this is a separate bug that I plan to address.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154359</commentid>
    <comment_count>10</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2009-10-13 09:39:30 -0700</bug_when>
    <thetext>bot accidentaly marked it as FIXED. reopening</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154379</commentid>
    <comment_count>11</comment_count>
      <attachid>41114</attachid>
    <who name="Carol Szabo">carol</who>
    <bug_when>2009-10-13 11:26:01 -0700</bug_when>
    <thetext>Created attachment 41114
Proposed patch - limited

Fixed some errors in reporting changes (ChangeLog) added one more test that is affected by this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155135</commentid>
    <comment_count>12</comment_count>
      <attachid>41114</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-10-16 10:47:28 -0700</bug_when>
    <thetext>Comment on attachment 41114
Proposed patch - limited

Great work! 

&gt; +        * platform/qt/RenderThemeQt.cpp:
&gt; +        (WebCore::RenderThemeQt::isControlStyled):
&gt; +        Specialized for Qt in order to capture the default (non-author altered) background color
&gt; +        such that at paint time we can determine whether to paint the theme defined background or
&gt; +        the author selected background.

Maybe a comment in the code for that function would be a good idea?

&gt; +        (WebCore::RenderThemeQt::adjustCommonOptions):

I would suggest &apos;adjustCommonQStyleOptions)


&gt; +    case SearchFieldCancelButtonPart: {
&gt; +        *(const_cast&lt;QColor*&gt;(&amp;m_defaultButtonBackgroundColor)) = backgroundColor;
&gt; +        break;
&gt; +    }

Why braces here and now below?

&gt; +    case TextAreaPart:
&gt; +        *(const_cast&lt;QColor*&gt;(&amp;m_defaultTextBackgroundColor)) = backgroundColor;
&gt; +        break;
&gt; +    }

Also, please add a comment about the *(const_cast&lt;QColor*&gt;(&amp;m_... line.

&gt; +    return RenderTheme::isControlStyled(style, borderData, fillLayer, backgroundColor);
&gt; +};
&gt;  static int findFrameLineWidth(QStyle* style)

missing newline

&gt; -    style-&gt;setBackgroundColor(Color::transparent);

Good change! was conceptual wrong

&gt; +            if (chromeClient) {
&gt; +                PlatformPageClient pageClient = chromeClient-&gt;platformPageClient();

as this is in the Qt implementation, maybe better to use QWebPageClient and not PlatformPageClient.

&gt; +                if (pageClient)
&gt; +                    option.palette = pageClient-&gt;palette();
&gt; +            }
&gt; +        }
&gt; +    }
&gt; +    RenderStyle* style = o-&gt;style();
&gt; +    if (!style)
&gt; +        return NoControlPart;
&gt; +    ControlPart result = style-&gt;appearance();
&gt; +    if (supportsFocus(result) &amp;&amp; isFocused(o)) {
&gt; +        option.state |= QStyle::State_HasFocus;
&gt; +        option.state |= QStyle::State_KeyboardFocusChange;
&gt; +    }
&gt; +    if (style-&gt;direction() == WebCore::RTL)
&gt;          option.direction = Qt::RightToLeft;

The above part could use a few new lines.

&gt; +        if (backgroundColor != m_defaultTextBackgroundColor) {
&gt; +            option.palette.setColor(QPalette::Button, backgroundColor);
&gt; +            option.palette.setColor(QPalette::Window, backgroundColor);
&gt; +            option.palette.setColor(QPalette::Base, backgroundColor);
&gt; +            option.palette.setColor(QPalette::Text, style-&gt;color());
&gt; +        }

Do you really need the Window? I dont like setting multiply ones, maybe this should go directly into the paint methods</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155169</commentid>
    <comment_count>13</comment_count>
      <attachid>41307</attachid>
    <who name="Carol Szabo">carol</who>
    <bug_when>2009-10-16 12:26:52 -0700</bug_when>
    <thetext>Created attachment 41307
Proposed Patch - best effort fix

Addressed Kenneth&apos;s concerns.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155207</commentid>
    <comment_count>14</comment_count>
      <attachid>41317</attachid>
    <who name="Carol Szabo">carol</who>
    <bug_when>2009-10-16 13:43:39 -0700</bug_when>
    <thetext>Created attachment 41317
Proposed Patch - best effort

Fixed comment style added more info about limitations in change log.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>155213</commentid>
    <comment_count>15</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-10-16 13:49:09 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; Created an attachment (id=41317) [details]
&gt; Proposed Patch - best effort
&gt; 
&gt; Fixed comment style added more info about limitations in change log.

LGTM, just need an officiel reviewer to give it a r+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156320</commentid>
    <comment_count>16</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2009-10-20 15:43:08 -0700</bug_when>
    <thetext>According to David Hyatt it looks good, but he would like a Qt reviewer to give the final word.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156476</commentid>
    <comment_count>17</comment_count>
      <attachid>41317</attachid>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2009-10-21 06:58:09 -0700</bug_when>
    <thetext>Comment on attachment 41317
Proposed Patch - best effort

Clearing review flag for now, needs more discussion</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156481</commentid>
    <comment_count>18</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2009-10-21 07:21:49 -0700</bug_when>
    <thetext>Shouldn&apos;t we _set_ the default background color based on the QWebPageClient&apos;s
palette at some point (in adjust* or extraDefaultStyleSheet), and then always
set the option.palette to the backgroundColor when we paint?

That we don&apos;t have to store the default and check if it&apos;s changed.

I&apos;m assuming we want the behavior of rendering google.com with a yellow
line-edit if the developer has modified the QPalette of either the application
or the widget. This is the behavior of FF on Linux at least. If the site wants
a background color (always white eg.) they set it, we pick it up from the CSS,
and set it on the option palette when rendering.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156483</commentid>
    <comment_count>19</comment_count>
    <who name="Carol Szabo">carol</who>
    <bug_when>2009-10-21 07:27:18 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; Shouldn&apos;t we _set_ the default background color based on the QWebPageClient&apos;s
&gt; palette at some point (in adjust* or extraDefaultStyleSheet), and then always
&gt; set the option.palette to the backgroundColor when we paint?
&gt; 
&gt; That we don&apos;t have to store the default and check if it&apos;s changed.
&gt; 
&gt; I&apos;m assuming we want the behavior of rendering google.com with a yellow
&gt; line-edit if the developer has modified the QPalette of either the application
&gt; or the widget. This is the behavior of FF on Linux at least. If the site wants
&gt; a background color (always white eg.) they set it, we pick it up from the CSS,
&gt; and set it on the option palette when rendering.

For the adjustStyle* functions to work I need to save the defaults so the only purpose they can serve is to make the JS aware of the actual color used for rendering.
I will look into using extraDefaultStyleSheet but for now this brings the behavior closer to FF and IE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>163364</commentid>
    <comment_count>20</comment_count>
      <attachid>43169</attachid>
    <who name="Carol Szabo">carol</who>
    <bug_when>2009-11-13 10:38:30 -0800</bug_when>
    <thetext>Created attachment 43169
Proposed patch

This patch implements about 3 different related issues:
1. Rendering of Text input background does not follow the various shapes that text boxes can have under various Qt styles.
2. The default CSS style sheets do not reflect the default control backgrounds as set through various QStyles and QStyleSheets.
3. When the user uses CSS to change the background and foreground colors of controls, these changes are not accurately reflected in control rendering.
Causing weird things such as invisible text instead of reverse video for some controls such as Search.

My original goal was to just fix the 3rd issue, but after sever rounds of review and discussion it was determined that all three issues need to be addressed for the patch to be accepted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>163715</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-11-14 23:04:23 -0800</bug_when>
    <thetext>Checking style for patch 43169 from bug 30173.
Patch failed to apply and check style
patching file WebCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file WebCore/platform/graphics/qt/GraphicsContextQt.cpp
patching file WebCore/platform/qt/QWebPageClient.h
patching file WebCore/platform/qt/QWebPopup.cpp
patching file WebCore/platform/qt/RenderThemeQt.cpp
patching file WebCore/platform/qt/RenderThemeQt.h
patching file WebCore/rendering/RenderTheme.cpp
patching file LayoutTests/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file LayoutTests/platform/qt/css1/box_properties/acid_test-expected.txt
Hunk #1 FAILED at 23.
1 out of 1 hunk FAILED -- saving rejects to file LayoutTests/platform/qt/css1/box_properties/acid_test-expected.txt.rej
patch -p0 &quot;LayoutTests/platform/qt/css1/box_properties/acid_test-expected.txt&quot; returned 1.  Pass --force to ignore patch failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>163979</commentid>
    <comment_count>22</comment_count>
      <attachid>43303</attachid>
    <who name="Carol Szabo">carol</who>
    <bug_when>2009-11-16 06:33:13 -0800</bug_when>
    <thetext>Created attachment 43303
Proposed Patch

Addresses mainly style issues and optimizations raised by kenneth regarding my previous patch.
This patch is dependent on landing my patch to 31527 first.
https://bugs.webkit.org/show_bug.cgi?id=31527</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>164004</commentid>
    <comment_count>23</comment_count>
      <attachid>43310</attachid>
    <who name="Carol Szabo">carol</who>
    <bug_when>2009-11-16 09:14:53 -0800</bug_when>
    <thetext>Created attachment 43310
Proposed Patch fixes conflict flagged by review bot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165893</commentid>
    <comment_count>24</comment_count>
      <attachid>43310</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-11-23 11:47:55 -0800</bug_when>
    <thetext>Comment on attachment 43310
Proposed Patch fixes conflict flagged by review bot.

As agreed on the phone last week we cannot use the style reliably to draw the background (including popular platforms such as Windows XP). Instead we should use the WebKit fallback if possible.

That would also result in a much smaller patch that is easier to review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166581</commentid>
    <comment_count>25</comment_count>
      <attachid>43879</attachid>
    <who name="Carol Szabo">carol</who>
    <bug_when>2009-11-25 16:47:29 -0800</bug_when>
    <thetext>Created attachment 43879
Patch In Progress Still need to figure out why it breaks DumpRenderTree

Almost done, but need to figure out problems with DumpRenderTree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168169</commentid>
    <comment_count>26</comment_count>
      <attachid>44186</attachid>
    <who name="Carol Szabo">carol</who>
    <bug_when>2009-12-02 14:30:27 -0800</bug_when>
    <thetext>Created attachment 44186
Patch without ChangeLog and LayoutTest changes. Used to figure out impact.

This is for Ossy to help me out with LayoutTest changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168183</commentid>
    <comment_count>27</comment_count>
      <attachid>44188</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2009-12-02 15:15:08 -0800</bug_when>
    <thetext>Created attachment 44188
Layout tests results (affected by patch) on QtBuildBot</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168472</commentid>
    <comment_count>28</comment_count>
      <attachid>44258</attachid>
    <who name="Carol Szabo">carol</who>
    <bug_when>2009-12-03 11:16:11 -0800</bug_when>
    <thetext>Created attachment 44258
Proposed Patch

This patch implements the consensus reached in the Qt patch review meeting on 11/19/2009.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168473</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-03 11:18:20 -0800</bug_when>
    <thetext>Attachment 44258 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/platform/qt/RenderThemeQt.cpp:86:  Missing space before ( in if(  [whitespace/parens] [5]
WebCore/platform/qt/RenderThemeQt.cpp:428:  Declaration has space between type name and * in QWidget *ownerWidget  [whitespace/declaration] [3]
Total errors found: 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168476</commentid>
    <comment_count>30</comment_count>
      <attachid>44260</attachid>
    <who name="Carol Szabo">carol</who>
    <bug_when>2009-12-03 11:22:59 -0800</bug_when>
    <thetext>Created attachment 44260
Proposed Patch

Fixes minor style issues in the previous patch. Only whitespace changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168480</commentid>
    <comment_count>31</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-03 11:24:15 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44260 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168720</commentid>
    <comment_count>32</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2009-12-04 04:41:56 -0800</bug_when>
    <thetext>(In reply to comment #30)
&gt; Created an attachment (id=44260) [details]
&gt; Proposed Patch
I tested your patch on QtBuildbot, it works fine without any additional regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171137</commentid>
    <comment_count>33</comment_count>
      <attachid>44260</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2009-12-12 16:11:35 -0800</bug_when>
    <thetext>Comment on attachment 44260
Proposed Patch

Based on a face-to-face discussion we agreed that the patch is too big to be reviewed. It contains multiple features that should be individual patches. I&apos;ll help with finding a better way of retrieving the palette for widgets from the style without instantiating the widgets.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>610518</commentid>
    <comment_count>34</comment_count>
    <who name="Szilard Ledan">szledan</who>
    <bug_when>2012-04-26 05:36:36 -0700</bug_when>
    <thetext>Sorry for the inconvenience. I would like to know if this bug is still valid, or you plan to fix it. Thank you for your patience and attention in advance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>611184</commentid>
    <comment_count>35</comment_count>
    <who name="Carol Szabo">carol</who>
    <bug_when>2012-04-26 19:29:05 -0700</bug_when>
    <thetext>(In reply to comment #34)
&gt; Sorry for the inconvenience. I would like to know if this bug is still valid, or you plan to fix it. Thank you for your patience and attention in advance.

I am no longer working on this bug. My patch has been disliked by Simon in fundamental ways and Kenneth provided some related fixes.
I do not know if all is fixed now or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>975092</commentid>
    <comment_count>36</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2014-02-03 03:15:50 -0800</bug_when>
    <thetext>=== Bulk closing of Qt bugs ===

If you believe that this bug report is still relevant for a non-Qt port of webkit.org, please re-open it and remove [Qt] from the summary.

If you believe that this is still an important QtWebKit bug, please fill a new report at https://bugreports.qt-project.org and add a link to this issue. See http://qt-project.org/wiki/ReportingBugsInQt for additional guidelines.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>40795</attachid>
            <date>2009-10-07 09:36:54 -0700</date>
            <delta_ts>2009-10-07 09:36:54 -0700</delta_ts>
            <desc>Image showing the feature in action (the background of all input elements have been changed to yellow)</desc>
            <filename>css-theming.png</filename>
            <type>image/png</type>
            <size>54319</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">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
gyIzf6/xXdPa5NxeknjiY1UZWY492/Z1sDM+S+No0tSudbl1lfVdxIa6tzvSDvB8d+4m2wUVlQ3/
91kRn6uNz4o0XW98ds/nUnZfW0G7c9tsO227M/b1WZH61Jf3qj6cXiW2AAATVElEQVRnwefitT7v
TC8YYU2+5jNHrduT+MKOANk4dpG7cYM9DJvS0dTbjm+Jte1tPs3fHuveuFLy+sjGE5+qqVQ1587C
kyxbbv7jwOmqKJ9m2XzRjz7m0OeyzjbH2/aGU9dgz9klKaXegtU5Aw1bbjyk2qGDGoOW0+kkeHVO
9nKvX5h3/TlpcbaNIknDL87/sUDVNDXtyW3m4fsyPHVP8v42Z4v/5LLcNnfSee+lWRLyUpx1OxHP
9vX27Bqf7ZQmvpxqjM9NdtTvb1ZcuLn7tVW53+0OMadc8XTJ6nS306u1eJ9T05/eZh6+L7OuqZrq
GyI2n73cvddXU9UHvikk2HZ8XlzfgT9uSg67qLKoleAVb93+YX59UysvTgqeWbGvxTuFr2E2Puqz
kx7V4d6zy1Wras5yV8qqwnNCNk1Z5j604fzNaupzvKUpeX1Mqa9nqZqmObbmxvulfVio1f3cx7bj
63LfNS1Ozu1lSns7t9VmfXbGV2k8jv1N7a+7z2c2PlrezkgPV/Dyvdr4rGxJk6Z9dc/3+pDnayso
am9um6yiarudqfh2p59px7LyhlGfv1lko8hGkaQLv/c5ltLffN35+1PbLGOKc+v2yA77vT0Tm+za
1cOzKR01ve3wlliW397m02rwMtev85rDfn+vTacv9TQPXqaNDWOvu20a+5bTo/lc1r29rfFqbW84
ziZD0Bz2h3pvmrjYw766c4IXpxo742Sj060fcWnE60v77akcXpLac0ZpwbTpRbvdWmmm1xxlDtXX
H2HunmDwFrlr2rqKVyvL9GhdzF3qLnrQ6/uOtERZfbbjytzhce/OH+JXd4Vm0uTPvRWZHsvpMcue
C9i3MHtS3y3W2B131B9Lb3Iofq/XEG4KrmvKZOjbTRHRinf7aKrZ4XRDkLGbX30HAiN09lyPo5WT
DoYQc4yt/kx3eB+9I8/j1DoyzLY7KYrqXfvi3v6Bm2xx22c9Vr6zRrQ/MRyR6tWzQpU6YVesqT6G
a9rqeA36bjZFRBSdotPpAsxS97OitVVTxajv6t9qsz4746s0ItLYVJOzLK08s05QOyNtu2QHscH6
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
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40797</attachid>
            <date>2009-10-07 09:37:50 -0700</date>
            <delta_ts>2009-11-17 06:51:33 -0800</delta_ts>
            <desc>First try</desc>
            <filename>0001-Qt-has-very-good-theming-support-so-it-is-possible.patch</filename>
            <type>text/plain</type>
            <size>8151</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">RnJvbSBkYmYxOTM0YTRiNjVhN2Q2M2Q4NjgzN2I4YWRmMzAwZTQxMDhhZmQzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3
ZWJraXQub3JnPgpEYXRlOiBXZWQsIDcgT2N0IDIwMDkgMTA6NTE6MTMgLTAzMDAKU3ViamVjdDog
W1BBVENIXSBRdCBoYXMgdmVyeSBnb29kIHRoZW1pbmcgc3VwcG9ydCwgc28gaXQgaXMgcG9zc2li
bGUgdG8gcGFpbnQgb3VyCiBRdCBCdXR0b25zLCBUZXh0RmllbGRzIGV0YyB3aXRoIHRoZSBhY3R1
YWwgQ1NTIGJhY2tncm91bmQgY29sb3IuCgpQYXRjaCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlh
bnNlbiA8a2VubmV0aEB3ZWJraXQub3JnPiBvbiAyMDA5LTEwLTA3ClJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgoKVGhpcyBwYXRjaCBjaGFuZ2VzIGlzQ29udHJvbFN0eWxlZCB0byBub3QgZmFs
bGJhY2sgaW4gY2FzZXMKd2hlcmUgd2UgY2FuIGFjdHVhbGx5IHBhaW50IFF0IFdpZGdldHMgd2l0
aCBzdHlsaW5nLCBieSBhZGRpbmcKYSBmZXcgbW9yZSBjYXNlcyBhbmQgbm90IHRha2luZyB0aGUg
YmFja2dyb3VuZCBjb2xvciBpbnRvCmFjY291bnQgd2hlbiBkZWNpZGluZyB0byBmYWxsYmFjayBv
ciBub3QuCgpXZSBzdGlsbCB1c2UgdGhlIGJhY2tncm91bmQgY29tcGFyaXNvbiB0aG91Z2gsIHRv
IGZpbmQgb3V0IHdoZXRoZXIKd2Ugc2hvdWxkIGFwcGx5IHRoZSBDU1MgY29sb3Igb3Igbm90LCBh
bmQgaWYgdGhhdCBpcyB0aGUgY2FzZSwgdGhlCmNvbG9yIGlzIHN0b3JlZCBpbiB0aGUgc3R5bGUg
YXMgYSBuZXcgc3R5bGVkQ29udHJvbEJhY2tncm91bmRDb2xvci4KClRoaXMgaXMgYWxzbyBuZWVk
ZWQgYXMgd2UsIGluIHRoZSBjYXNlIG9mIHRoZSBUZXh0RmllbGQsIHRvIGFjdHVhbApzZXQgdGhl
IGFjdHVhbCBDU1MgYmFja2dyb3VuZCBjb2xvciB0byBUcmFuc3BhcmVudCwgYXMgb3VyIFRleHRG
aWVsZApRdCB3aWRnZXQgaGFzIHJvdW5kZWQgY29ybmVycywgYW5kIHdlIGRvIG5vdCB3YW50IHRo
b3NlIHRvIGJlCnRyYW5zcGFyZW50LgoKKiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcDoK
KFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmlzQ29udHJvbFN0eWxlZCk6CihXZWJDb3JlOjpSZW5k
ZXJUaGVtZVF0OjpwYWludEJ1dHRvbik6CihXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpwYWludFRl
eHRGaWVsZCk6CiogcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5oOgoqIHJlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5oOgooV2ViQ29yZTo6KToKKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjpz
dHlsZWRDb250cm9sQmFja2dyb3VuZENvbG9yKToKKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjpz
ZXRTdHlsZWRDb250cm9sQmFja2dyb3VuZENvbG9yKToKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAg
ICAgICAgICAgICAgICAgICAgIHwgICAzMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK
IFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAgfCAgIDM0ICsrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKwogV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0
LmggICB8ICAgIDMgKysKIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggfCAg
ICA2ICsrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDc0IGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25z
KC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCA0MDhhZTdlLi44N2RmYmZjIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM2IEBACiAyMDA5LTEwLTA3ICBLZW5uZXRo
IFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KIAorICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBRdCBoYXMgdmVyeSBnb29kIHRoZW1p
bmcgc3VwcG9ydCwgc28gaXQgaXMgcG9zc2libGUgdG8gcGFpbnQgb3VyCisgICAgICAgIFF0IEJ1
dHRvbnMsIFRleHRGaWVsZHMgZXRjIHdpdGggdGhlIGFjdHVhbCBDU1MgYmFja2dyb3VuZCBjb2xv
ci4KKworICAgICAgICBUaGlzIHBhdGNoIGNoYW5nZXMgaXNDb250cm9sU3R5bGVkIHRvIG5vdCBm
YWxsYmFjayBpbiBjYXNlcworICAgICAgICB3aGVyZSB3ZSBjYW4gYWN0dWFsbHkgcGFpbnQgUXQg
V2lkZ2V0cyB3aXRoIHN0eWxpbmcsIGJ5IGFkZGluZworICAgICAgICBhIGZldyBtb3JlIGNhc2Vz
IGFuZCBub3QgdGFraW5nIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGludG8KKyAgICAgICAgYWNjb3Vu
dCB3aGVuIGRlY2lkaW5nIHRvIGZhbGxiYWNrIG9yIG5vdC4KKworICAgICAgICBXZSBzdGlsbCB1
c2UgdGhlIGJhY2tncm91bmQgY29tcGFyaXNvbiB0aG91Z2gsIHRvIGZpbmQgb3V0IHdoZXRoZXIK
KyAgICAgICAgd2Ugc2hvdWxkIGFwcGx5IHRoZSBDU1MgY29sb3Igb3Igbm90LCBhbmQgaWYgdGhh
dCBpcyB0aGUgY2FzZSwgdGhlCisgICAgICAgIGNvbG9yIGlzIHN0b3JlZCBpbiB0aGUgc3R5bGUg
YXMgYSBuZXcgc3R5bGVkQ29udHJvbEJhY2tncm91bmRDb2xvci4KKworICAgICAgICBUaGlzIGlz
IGFsc28gbmVlZGVkIGFzIHdlLCBpbiB0aGUgY2FzZSBvZiB0aGUgVGV4dEZpZWxkLCB0byBhY3R1
YWwKKyAgICAgICAgc2V0IHRoZSBhY3R1YWwgQ1NTIGJhY2tncm91bmQgY29sb3IgdG8gVHJhbnNw
YXJlbnQsIGFzIG91ciBUZXh0RmllbGQKKyAgICAgICAgUXQgd2lkZ2V0IGhhcyByb3VuZGVkIGNv
cm5lcnMsIGFuZCB3ZSBkbyBub3Qgd2FudCB0aG9zZSB0byBiZQorICAgICAgICB0cmFuc3BhcmVu
dC4KKworICAgICAgICAqIHBsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6aXNDb250cm9sU3R5bGVkKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50QnV0dG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRoZW1lUXQ6OnBhaW50VGV4dEZpZWxkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9SZW5kZXJU
aGVtZVF0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAg
ICAgIChXZWJDb3JlOjopOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OnN0eWxl
ZENvbnRyb2xCYWNrZ3JvdW5kQ29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxh
Z3M6OnNldFN0eWxlZENvbnRyb2xCYWNrZ3JvdW5kQ29sb3IpOgorCisyMDA5LTEwLTA3ICBLZW5u
ZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KKwogICAgICAgICBS
ZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KIAogICAgICAgICBEbyBub3QgY3JlYXRlIHZhbGlk
IFFDb2xvcidzIGZvciBpbnZhbGlkIFdlYkNvcmU6OkNvbG9yJ3MuCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9S
ZW5kZXJUaGVtZVF0LmNwcAppbmRleCBiNjFkMzU2Li5iNmUzMTVkIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
cXQvUmVuZGVyVGhlbWVRdC5jcHAKQEAgLTE0MSw2ICsxNDEsMzMgQEAgUmVuZGVyVGhlbWVRdDo6
flJlbmRlclRoZW1lUXQoKQogICAgIGRlbGV0ZSBtX2ZhbGxiYWNrU3R5bGU7CiB9CiAKK2Jvb2wg
UmVuZGVyVGhlbWVRdDo6aXNDb250cm9sU3R5bGVkKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwg
Y29uc3QgQm9yZGVyRGF0YSYgYm9yZGVyLCBjb25zdCBGaWxsTGF5ZXImIGJhY2tncm91bmQsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQ29sb3ImIGJhY2tncm91bmRD
b2xvcikgY29uc3QKK3sKKyAgICBzd2l0Y2ggKHN0eWxlLT5hcHBlYXJhbmNlKCkpIHsKKyAgICAg
ICAgY2FzZSBQdXNoQnV0dG9uUGFydDoKKyAgICAgICAgY2FzZSBTcXVhcmVCdXR0b25QYXJ0Ogor
ICAgICAgICBjYXNlIERlZmF1bHRCdXR0b25QYXJ0OgorICAgICAgICBjYXNlIEJ1dHRvblBhcnQ6
CisgICAgICAgIGNhc2UgUmFkaW9QYXJ0OgorICAgICAgICBjYXNlIExpc3Rib3hQYXJ0OgorICAg
ICAgICBjYXNlIE1lbnVsaXN0UGFydDoKKyAgICAgICAgY2FzZSBTZWFyY2hGaWVsZFBhcnQ6Cisg
ICAgICAgIGNhc2UgVGV4dEZpZWxkUGFydDoKKyAgICAgICAgY2FzZSBUZXh0QXJlYVBhcnQ6Cisg
ICAgICAgICAgICBpZiAoc3R5bGUtPmJhY2tncm91bmRDb2xvcigpICE9IGJhY2tncm91bmRDb2xv
cikgeworICAgICAgICAgICAgICAgIFJlbmRlclN0eWxlKiBzID0gY29uc3RfY2FzdDxSZW5kZXJT
dHlsZSo+KHN0eWxlKTsKKyAgICAgICAgICAgICAgICBzLT5zZXRTdHlsZWRDb250cm9sQmFja2dy
b3VuZENvbG9yKHN0eWxlLT5iYWNrZ3JvdW5kQ29sb3IoKSk7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIC8vIFRlc3QgdGhlIHN0eWxlIHRvIHNlZSBpZiB0aGUgVUEgYm9yZGVyIGFuZCBi
YWNrZ3JvdW5kIG1hdGNoLgorICAgICAgICAgICAgcmV0dXJuIChzdHlsZS0+Ym9yZGVyKCkgIT0g
Ym9yZGVyIHx8CisgICAgICAgICAgICAgICAgICAgICpzdHlsZS0+YmFja2dyb3VuZExheWVycygp
ICE9IGJhY2tncm91bmQpOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIH0KK30KKwogLy8gZm9yIHNvbWUgd2lkZ2V0IHBhaW50aW5nLCB3ZSBuZWVkIHRv
IGZhbGxiYWNrIHRvIFdpbmRvd3Mgc3R5bGUKIFFTdHlsZSogUmVuZGVyVGhlbWVRdDo6ZmFsbGJh
Y2tTdHlsZSgpCiB7CkBAIC00NzYsNiArNTAzLDkgQEAgYm9vbCBSZW5kZXJUaGVtZVF0OjpwYWlu
dEJ1dHRvbihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJgog
ICAgIG9wdGlvbi5zdGF0ZSB8PSBRU3R5bGU6OlN0YXRlX1NtYWxsOwogCiAgICAgQ29udHJvbFBh
cnQgYXBwZWFyYW5jZSA9IGFwcGx5VGhlbWUob3B0aW9uLCBvKTsKKyAgICBRQ29sb3IgYmdDb2xv
ciA9IG8tPnN0eWxlKCktPnN0eWxlZENvbnRyb2xCYWNrZ3JvdW5kQ29sb3IoKTsKKyAgICBpZiAo
YmdDb2xvci5pc1ZhbGlkKCkpCisgICAgICAgIG9wdGlvbi5wYWxldHRlLnNldEJydXNoKFFQYWxl
dHRlOjpCdXR0b24sIGJnQ29sb3IpOwogICAgIGlmIChhcHBlYXJhbmNlID09IFB1c2hCdXR0b25Q
YXJ0IHx8IGFwcGVhcmFuY2UgPT0gQnV0dG9uUGFydCkgewogICAgICAgICBvcHRpb24ucmVjdCA9
IGluZmxhdGVCdXR0b25SZWN0KG9wdGlvbi5yZWN0LCBxU3R5bGUoKSk7CiAgICAgICAgIHAuZHJh
d0NvbnRyb2woUVN0eWxlOjpDRV9QdXNoQnV0dG9uLCBvcHRpb24pOwpAQCAtNTE4LDYgKzU0OCwx
MCBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnBhaW50VGV4dEZpZWxkKFJlbmRlck9iamVjdCogbywg
Y29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZgogICAgICAgICAmJiBhcHBlYXJhbmNlICE9IExp
c3Rib3hQYXJ0KQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAorICAgIFFDb2xvciBiZ0NvbG9yID0g
by0+c3R5bGUoKS0+c3R5bGVkQ29udHJvbEJhY2tncm91bmRDb2xvcigpOworICAgIGlmIChiZ0Nv
bG9yLmlzVmFsaWQoKSkKKyAgICAgICAgcGFuZWwucGFsZXR0ZS5zZXRCcnVzaChRUGFsZXR0ZTo6
QmFzZSwgYmdDb2xvcik7CisKICAgICAvLyBOb3cgcGFpbnQgdGhlIHRleHQgZmllbGQuCiAgICAg
cC5kcmF3UHJpbWl0aXZlKFFTdHlsZTo6UEVfUGFuZWxMaW5lRWRpdCwgcGFuZWwpOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5oCmluZGV4IDYxN2M4NzUuLmVmMWNiNzYgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5oCisrKyBiL1dlYkNvcmUvcGxh
dGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5oCkBAIC03Niw2ICs3Niw5IEBAIHB1YmxpYzoKICNlbmRp
ZgogCiBwcm90ZWN0ZWQ6CisgICAgLy8gV2hldGhlciBvciBub3QgdGhlIGNvbnRyb2wgaGFzIGJl
ZW4gc3R5bGVkIGVub3VnaCBieSB0aGUgYXV0aG9yIHRvIGRpc2FibGUgdGhlIG5hdGl2ZSBhcHBl
YXJhbmNlLgorICAgIHZpcnR1YWwgYm9vbCBpc0NvbnRyb2xTdHlsZWQoY29uc3QgUmVuZGVyU3R5
bGUqLCBjb25zdCBCb3JkZXJEYXRhJiwgY29uc3QgRmlsbExheWVyJiwgY29uc3QgQ29sb3ImIGJh
Y2tncm91bmRDb2xvcikgY29uc3Q7CisKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRDaGVja2JveChS
ZW5kZXJPYmplY3QqIG8sIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBpLCBjb25zdCBJ
bnRSZWN0JiByKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q2hlY2tib3hTaXplKFJlbmRlclN0eWxl
KikgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlLmggYi9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IGMxOWI0
NGYuLmU0ZDFiMjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlLmgKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtMTE4
LDYgKzExOCwxMCBAQCBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBtX2FmZmVjdGVkQnlFbXB0eSA6IDE7
CiAgICAgYm9vbCBtX2VtcHR5U3RhdGUgOiAxOwogCisgICAgLy8gSG9vayB0byBzdG9yZSB0aGUg
Y29sb3IgdG8gYXBwbHkgdG8gcGxhdGZvcm0gY29udHJvbHMsIHN0aWxsIG1ha2luZworICAgIC8v
IGl0IHBvc3NpYmxlIHRvIGNsZWFyIHRoZSBhY3R1YWwgQ1NTU3R5bGUgYmFja2dyb3VuZCBjb2xv
ciBpbiB0aGUgUmVuZGVyVGhlbWUuCisgICAgQ29sb3IgbV9zdHlsZWRDb250cm9sQmFja2dyb3Vu
ZENvbG9yOworCiAgICAgLy8gV2Ugb3B0aW1pemUgZm9yIDpmaXJzdC1jaGlsZCBhbmQgOmxhc3Qt
Y2hpbGQuICBUaGUgb3RoZXIgcG9zaXRpb25hbCBjaGlsZCBzZWxlY3RvcnMgbGlrZSBudGgtY2hp
bGQgb3IKICAgICAvLyAqLWNoaWxkLW9mLXR5cGUsIHdlIHdpbGwganVzdCBnaXZlIHVwIGFuZCBy
ZS1ldmFsdWF0ZSB3aGVuZXZlciBjaGlsZHJlbiBjaGFuZ2UgYXQgYWxsLgogICAgIGJvb2wgbV9j
aGlsZHJlbkFmZmVjdGVkQnlGaXJzdENoaWxkUnVsZXMgOiAxOwpAQCAtNTIwLDYgKzUyNCw3IEBA
IHB1YmxpYzoKICAgICB9CiAKICAgICBjb25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9yKCkgY29u
c3QgeyByZXR1cm4gYmFja2dyb3VuZC0+bV9jb2xvcjsgfQorICAgIGNvbnN0IENvbG9yJiBzdHls
ZWRDb250cm9sQmFja2dyb3VuZENvbG9yKCkgY29uc3QgeyByZXR1cm4gbV9zdHlsZWRDb250cm9s
QmFja2dyb3VuZENvbG9yOyB9CiAgICAgU3R5bGVJbWFnZSogYmFja2dyb3VuZEltYWdlKCkgY29u
c3QgeyByZXR1cm4gYmFja2dyb3VuZC0+bV9iYWNrZ3JvdW5kLm1faW1hZ2UuZ2V0KCk7IH0KICAg
ICBFRmlsbFJlcGVhdCBiYWNrZ3JvdW5kUmVwZWF0WCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19j
YXN0PEVGaWxsUmVwZWF0PihiYWNrZ3JvdW5kLT5tX2JhY2tncm91bmQubV9yZXBlYXRYKTsgfQog
ICAgIEVGaWxsUmVwZWF0IGJhY2tncm91bmRSZXBlYXRZKCkgY29uc3QgeyByZXR1cm4gc3RhdGlj
X2Nhc3Q8RUZpbGxSZXBlYXQ+KGJhY2tncm91bmQtPm1fYmFja2dyb3VuZC5tX3JlcGVhdFkpOyB9
CkBAIC03NTAsNiArNzU1LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCByZXNldE91dGxpbmUoKSB7
IFNFVF9WQVIoYmFja2dyb3VuZCwgbV9vdXRsaW5lLCBPdXRsaW5lVmFsdWUoKSkgfQogCisgICAg
dm9pZCBzZXRTdHlsZWRDb250cm9sQmFja2dyb3VuZENvbG9yKGNvbnN0IENvbG9yJiB2KSB7IG1f
c3R5bGVkQ29udHJvbEJhY2tncm91bmRDb2xvciA9IHY7IH0KICAgICB2b2lkIHNldEJhY2tncm91
bmRDb2xvcihjb25zdCBDb2xvciYgdikgeyBTRVRfVkFSKGJhY2tncm91bmQsIG1fY29sb3IsIHYp
IH0KIAogICAgIHZvaWQgc2V0QmFja2dyb3VuZFhQb3NpdGlvbihMZW5ndGggbCkgeyBTRVRfVkFS
KGJhY2tncm91bmQsIG1fYmFja2dyb3VuZC5tX3hQb3NpdGlvbiwgbCkgfQotLSAKMS42LjAuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40806</attachid>
            <date>2009-10-07 11:26:52 -0700</date>
            <delta_ts>2009-10-07 12:02:23 -0700</delta_ts>
            <desc>Working copy of patch attempt</desc>
            <filename>patchFor30173.patch</filename>
            <type>text/plain</type>
            <size>17392</size>
            <attacher name="Carol Szabo">carol</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcAkocmV2aXNpb24gNDkwOTcp
CisrKyBXZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC03NywzNCArNzcsNDAgQEAgU3R5bGVQYWludGVyOjpTdHlsZVBhaW50ZXIoR3JhcGhpY3ND
b250ZQogCiB2b2lkIFN0eWxlUGFpbnRlcjo6aW5pdChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQp
CiB7Ci0gICAgcGFpbnRlciA9IHN0YXRpY19jYXN0PFFQYWludGVyKj4oY29udGV4dC0+cGxhdGZv
cm1Db250ZXh0KCkpOwotICAgIHdpZGdldCA9IDA7CisgICAgbV9QYWludGVyID0gc3RhdGljX2Nh
c3Q8UVBhaW50ZXIqPihjb250ZXh0LT5wbGF0Zm9ybUNvbnRleHQoKSk7CisgICAgbV9XaWRnZXQg
PSAwOwogICAgIFFQYWludERldmljZSogZGV2ID0gMDsKLSAgICBpZiAocGFpbnRlcikKLSAgICAg
ICAgZGV2ID0gcGFpbnRlci0+ZGV2aWNlKCk7CisgICAgaWYgKG1fUGFpbnRlcikKKyAgICAgICAg
ZGV2ID0gbV9QYWludGVyLT5kZXZpY2UoKTsKICAgICBpZiAoZGV2ICYmIGRldi0+ZGV2VHlwZSgp
ID09IFFJbnRlcm5hbDo6V2lkZ2V0KQotICAgICAgICB3aWRnZXQgPSBzdGF0aWNfY2FzdDxRV2lk
Z2V0Kj4oZGV2KTsKLSAgICBzdHlsZSA9ICh3aWRnZXQgPyB3aWRnZXQtPnN0eWxlKCkgOiBRQXBw
bGljYXRpb246OnN0eWxlKCkpOworICAgICAgICBtX1dpZGdldCA9IHN0YXRpY19jYXN0PFFXaWRn
ZXQqPihkZXYpOworICAgIG1fU3R5bGUgPSAobV9XaWRnZXQgPyBtX1dpZGdldC0+c3R5bGUoKSA6
IFFBcHBsaWNhdGlvbjo6c3R5bGUoKSk7CiAKLSAgICBpZiAocGFpbnRlcikgeworICAgIGlmICht
X1BhaW50ZXIpIHsKICAgICAgICAgLy8gdGhlIHN0eWxlcyBvZnRlbiBhc3N1bWUgYmVpbmcgY2Fs
bGVkIHdpdGggYSBwcmlzdGluZSBwYWludGVyIHdoZXJlIG5vIGJydXNoIGlzIHNldCwKICAgICAg
ICAgLy8gc28gcmVzZXQgaXQgbWFudWFsbHkKLSAgICAgICAgb2xkQnJ1c2ggPSBwYWludGVyLT5i
cnVzaCgpOwotICAgICAgICBwYWludGVyLT5zZXRCcnVzaChRdDo6Tm9CcnVzaCk7CisgICAgICAg
IG1fT2xkQnJ1c2ggPSBtX1BhaW50ZXItPmJydXNoKCk7CisgICAgICAgIG1fUGFpbnRlci0+c2V0
QnJ1c2goUXQ6Ok5vQnJ1c2gpOwogCiAgICAgICAgIC8vIHBhaW50aW5nIHRoZSB3aWRnZXQgd2l0
aCBhbnRpLWFsaWFzaW5nIHdpbGwgbWFrZSBpdCBibHVycnkKICAgICAgICAgLy8gZGlzYWJsZSBp
dCBoZXJlIGFuZCByZXN0b3JlIGl0IGxhdGVyCi0gICAgICAgIG9sZEFudGlhbGlhc2luZyA9IHBh
aW50ZXItPnRlc3RSZW5kZXJIaW50KFFQYWludGVyOjpBbnRpYWxpYXNpbmcpOwotICAgICAgICBw
YWludGVyLT5zZXRSZW5kZXJIaW50KFFQYWludGVyOjpBbnRpYWxpYXNpbmcsIGZhbHNlKTsKKyAg
ICAgICAgbV9PbGRBbnRpYWxpYXNpbmcgPSBtX1BhaW50ZXItPnRlc3RSZW5kZXJIaW50KFFQYWlu
dGVyOjpBbnRpYWxpYXNpbmcpOworICAgICAgICBtX1BhaW50ZXItPnNldFJlbmRlckhpbnQoUVBh
aW50ZXI6OkFudGlhbGlhc2luZywgZmFsc2UpOworLy8gICAgICAgIGlmIChtX1dpZGdldCkgewor
Ly8gICAgICAgICAgICBtX09sZFNldFBhbGV0dGUgPSBtX1dpZGdldC0+dGVzdEF0dHJpYnV0ZShR
dDo6V0FfU2V0UGFsZXR0ZSk7CisvLyAgICAgICAgICAgIG1fV2lkZ2V0LT5zZXRBdHRyaWJ1dGUo
UXQ6OldBX1NldFBhbGV0dGUsIHRydWUpOworLy8gICAgICAgIH0KICAgICB9CiB9CiAKIFN0eWxl
UGFpbnRlcjo6flN0eWxlUGFpbnRlcigpCiB7Ci0gICAgaWYgKHBhaW50ZXIpIHsKLSAgICAgICAg
cGFpbnRlci0+c2V0QnJ1c2gob2xkQnJ1c2gpOwotICAgICAgICBwYWludGVyLT5zZXRSZW5kZXJI
aW50cyhRUGFpbnRlcjo6QW50aWFsaWFzaW5nLCBvbGRBbnRpYWxpYXNpbmcpOworICAgIGlmICht
X1BhaW50ZXIpIHsKKyAgICAgICAgbV9QYWludGVyLT5zZXRCcnVzaChtX09sZEJydXNoKTsKKyAg
ICAgICAgbV9QYWludGVyLT5zZXRSZW5kZXJIaW50cyhRUGFpbnRlcjo6QW50aWFsaWFzaW5nLCBt
X09sZEFudGlhbGlhc2luZyk7CiAgICAgfQorLy8gICAgaWYgKG1fV2lkZ2V0ICYmICFtX09sZFNl
dFBhbGV0dGUpCisvLyAgICAgICAgbV9XaWRnZXQtPnNldEF0dHJpYnV0ZShRdDo6V0FfU2V0UGFs
ZXR0ZSwgZmFsc2UpOwogfQogCiBQYXNzUmVmUHRyPFJlbmRlclRoZW1lPiBSZW5kZXJUaGVtZVF0
OjpjcmVhdGUoUGFnZSogcGFnZSkKQEAgLTIwNiw2ICsyMTIsMTEgQEAgYm9vbCBSZW5kZXJUaGVt
ZVF0OjpzdXBwb3J0c0NvbnRyb2xUaW50cwogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIFJl
bmRlclRoZW1lUXQ6OmlzQ29udHJvbFN0eWxlZChjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNv
bnN0IEJvcmRlckRhdGEmIGJvcmRlckRhdGEsIGNvbnN0IEZpbGxMYXllciYgZmlsbExheWVyLCBj
b25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9yKSBjb25zdAoreworICAgICooY29uc3RfY2FzdDxR
Q29sb3IqPigmbV9kZWZhdWx0QmFja2dyb3VuZENvbG9yKSkgPSBiYWNrZ3JvdW5kQ29sb3I7Cisg
ICAgcmV0dXJuIFJlbmRlclRoZW1lOjppc0NvbnRyb2xTdHlsZWQoc3R5bGUsIGJvcmRlckRhdGEs
IGZpbGxMYXllciwgYmFja2dyb3VuZENvbG9yKTsKK307CiBzdGF0aWMgaW50IGZpbmRGcmFtZUxp
bmVXaWR0aChRU3R5bGUqIHN0eWxlKQogewogICAgIFFMaW5lRWRpdCBsaW5lRWRpdDsKQEAgLTI3
NSw3ICsyODYsNyBAQCBDb2xvciBSZW5kZXJUaGVtZVF0OjpwbGF0Zm9ybUluYWN0aXZlU2VsCiAg
ICAgcmV0dXJuIHBhbC5icnVzaChRUGFsZXR0ZTo6SW5hY3RpdmUsIFFQYWxldHRlOjpIaWdobGln
aHRlZFRleHQpLmNvbG9yKCk7CiB9CiAKLXZvaWQgUmVuZGVyVGhlbWVRdDo6c3lzdGVtRm9udChp
bnQsIEZvbnREZXNjcmlwdGlvbiYpIGNvbnN0Cit2b2lkIFJlbmRlclRoZW1lUXQ6OnN5c3RlbUZv
bnQoaW50IHByb3BJZCwgRm9udERlc2NyaXB0aW9uJiBidWZmZXIpIGNvbnN0CiB7CiAgICAgLy8g
bm8tb3AKIH0KQEAgLTQ2OSw4ICs0ODAsOCBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnBhaW50QnV0
dG9uKFJlbmRlck9iCiAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBRU3R5bGVPcHRpb25CdXR0
b24gb3B0aW9uOwotICAgIGlmIChwLndpZGdldCkKLSAgICAgICBvcHRpb24uaW5pdEZyb20ocC53
aWRnZXQpOworICAgIGlmIChwLm1fV2lkZ2V0KQorICAgICAgIG9wdGlvbi5pbml0RnJvbShwLm1f
V2lkZ2V0KTsKIAogICAgIG9wdGlvbi5yZWN0ID0gcjsKICAgICBvcHRpb24uc3RhdGUgfD0gUVN0
eWxlOjpTdGF0ZV9TbWFsbDsKQEAgLTQ4OSw3ICs1MDAsNyBAQCBib29sIFJlbmRlclRoZW1lUXQ6
OnBhaW50QnV0dG9uKFJlbmRlck9iCiAKIHZvaWQgUmVuZGVyVGhlbWVRdDo6YWRqdXN0VGV4dEZp
ZWxkU3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiBzdHlsZSwgRWxlbWVudCop
IGNvbnN0CiB7Ci0gICAgc3R5bGUtPnNldEJhY2tncm91bmRDb2xvcihDb2xvcjo6dHJhbnNwYXJl
bnQpOworICAgIC8vc3R5bGUtPnNldEJhY2tncm91bmRDb2xvcihDb2xvcjo6dHJhbnNwYXJlbnQp
OwogICAgIHN0eWxlLT5yZXNldEJvcmRlcigpOwogICAgIHN0eWxlLT5yZXNldFBhZGRpbmcoKTsK
ICAgICBjb21wdXRlU2l6ZUJhc2VkT25TdHlsZShzdHlsZSk7CkBAIC01MDIsOCArNTEzLDggQEAg
Ym9vbCBSZW5kZXJUaGVtZVF0OjpwYWludFRleHRGaWVsZChSZW5kZQogICAgICAgICByZXR1cm4g
dHJ1ZTsKIAogICAgIFFTdHlsZU9wdGlvbkZyYW1lVjIgcGFuZWw7Ci0gICAgaWYgKHAud2lkZ2V0
KQotICAgICAgICBwYW5lbC5pbml0RnJvbShwLndpZGdldCk7CisgICAgaWYgKHAubV9XaWRnZXQp
CisgICAgICAgIHBhbmVsLmluaXRGcm9tKHAubV9XaWRnZXQpOwogCiAgICAgcGFuZWwucmVjdCA9
IHI7CiAgICAgcGFuZWwubGluZVdpZHRoID0gZmluZEZyYW1lTGluZVdpZHRoKHFTdHlsZSgpKTsK
QEAgLTUxOSw4ICs1MzAsMTAgQEAgYm9vbCBSZW5kZXJUaGVtZVF0OjpwYWludFRleHRGaWVsZChS
ZW5kZQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIC8vIE5vdyBwYWludCB0aGUgdGV4dCBm
aWVsZC4KKyAgICBpZihwYW5lbC5wYWxldHRlLmNvbG9yKFFQYWxldHRlOjpCYXNlKS5hbHBoYSgp
PDI1NSkgeworICAgICAgICBzdGF0aWNfY2FzdDxSZW5kZXJCb3gqPihvKS0+cGFpbnRGaWxsTGF5
ZXJzKGksIG8tPnN0eWxlKCktPmJhY2tncm91bmRDb2xvcigpLCBvLT5zdHlsZSgpLT5iYWNrZ3Jv
dW5kTGF5ZXJzKCksIHIueCgpLCByLnkoKSwgci53aWR0aCgpLCByLmhlaWdodCgpKTsKKyAgICB9
CiAgICAgcC5kcmF3UHJpbWl0aXZlKFFTdHlsZTo6UEVfUGFuZWxMaW5lRWRpdCwgcGFuZWwpOwot
CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCkBAIC01NzEsMTcgKzU4NCwxNyBAQCBib29sIFJlbmRl
clRoZW1lUXQ6OnBhaW50TWVudUxpc3QoUmVuZGVyCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAg
ICAgUVN0eWxlT3B0aW9uQ29tYm9Cb3ggb3B0OwotICAgIGlmIChwLndpZGdldCkKLSAgICAgICAg
b3B0LmluaXRGcm9tKHAud2lkZ2V0KTsKKyAgICBpZiAocC5tX1dpZGdldCkKKyAgICAgICAgb3B0
LmluaXRGcm9tKHAubV9XaWRnZXQpOwogICAgIGFwcGx5VGhlbWUob3B0LCBvKTsKIAogICAgIGNv
bnN0IFFQb2ludCB0b3BMZWZ0ID0gci50b3BMZWZ0KCk7Ci0gICAgcC5wYWludGVyLT50cmFuc2xh
dGUodG9wTGVmdCk7CisgICAgcC5tX1BhaW50ZXItPnRyYW5zbGF0ZSh0b3BMZWZ0KTsKICAgICBv
cHQucmVjdC5tb3ZlVG8oUVBvaW50KDAsIDApKTsKICAgICBvcHQucmVjdC5zZXRTaXplKHIuc2l6
ZSgpKTsKIAogICAgIHAuZHJhd0NvbXBsZXhDb250cm9sKFFTdHlsZTo6Q0NfQ29tYm9Cb3gsIG9w
dCk7Ci0gICAgcC5wYWludGVyLT50cmFuc2xhdGUoLXRvcExlZnQpOworICAgIHAubV9QYWludGVy
LT50cmFuc2xhdGUoLXRvcExlZnQpOwogICAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAtNjExLDEz
ICs2MjQsMTMgQEAgYm9vbCBSZW5kZXJUaGVtZVF0OjpwYWludE1lbnVMaXN0QnV0dG9uKAogICAg
ICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIFFTdHlsZU9wdGlvbkNvbWJvQm94IG9wdGlvbjsKLSAg
ICBpZiAocC53aWRnZXQpCi0gICAgICAgIG9wdGlvbi5pbml0RnJvbShwLndpZGdldCk7CisgICAg
aWYgKHAubV9XaWRnZXQpCisgICAgICAgIG9wdGlvbi5pbml0RnJvbShwLm1fV2lkZ2V0KTsKICAg
ICBhcHBseVRoZW1lKG9wdGlvbiwgbyk7CiAgICAgb3B0aW9uLnJlY3QgPSByOwogCiAgICAgLy8g
Zm9yIGRyYXdpbmcgdGhlIGNvbWJvIGJveCBhcnJvdywgcmVseSBvbmx5IG9uIHRoZSBmYWxsYmFj
ayBzdHlsZQotICAgIHAuc3R5bGUgPSBmYWxsYmFja1N0eWxlKCk7CisgICAgcC5tX1N0eWxlID0g
ZmFsbGJhY2tTdHlsZSgpOwogICAgIG9wdGlvbi5zdWJDb250cm9scyA9IFFTdHlsZTo6U0NfQ29t
Ym9Cb3hBcnJvdzsKICAgICBwLmRyYXdDb21wbGV4Q29udHJvbChRU3R5bGU6OkNDX0NvbWJvQm94
LCBvcHRpb24pOwogCkBAIC02NDksNyArNjYyLDcgQEAgdm9pZCBSZW5kZXJUaGVtZVF0OjphZGp1
c3RTZWFyY2hGaWVsZFN0eQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEVsZW1lbnQqIGUpIGNvbnN0CiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICBSZW5k
ZXJUaGVtZTo6YWRqdXN0U2VhcmNoRmllbGRTdHlsZShzZWxlY3Rvciwgc3R5bGUsIGUpOworICAg
IGFkanVzdFRleHRGaWVsZFN0eWxlKHNlbGVjdG9yLHN0eWxlLGUpOwogfQogCiB2b2lkIFJlbmRl
clRoZW1lUXQ6OmFkanVzdFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uU3R5bGUoQ1NTU3R5bGVTZWxl
Y3Rvciogc2VsZWN0b3IsIFJlbmRlclN0eWxlKiBzdHlsZSwKQEAgLTcyMywzOSArNzM2LDQzIEBA
IENvbnRyb2xQYXJ0IFJlbmRlclRoZW1lUXQ6OmFwcGx5VGhlbWUoUVMKICAgICAgICAgLy8gUmVh
ZG9ubHkgaXMgc3VwcG9ydGVkIG9uIHRleHRmaWVsZHMuCiAgICAgICAgIG9wdGlvbi5zdGF0ZSB8
PSBRU3R5bGU6OlN0YXRlX1JlYWRPbmx5OwogCi0gICAgaWYgKHN1cHBvcnRzRm9jdXMoby0+c3R5
bGUoKS0+YXBwZWFyYW5jZSgpKSAmJiBpc0ZvY3VzZWQobykpIHsKLSAgICAgICAgb3B0aW9uLnN0
YXRlIHw9IFFTdHlsZTo6U3RhdGVfSGFzRm9jdXM7Ci0gICAgICAgIG9wdGlvbi5zdGF0ZSB8PSBR
U3R5bGU6OlN0YXRlX0tleWJvYXJkRm9jdXNDaGFuZ2U7Ci0gICAgfQorICAgIG9wdGlvbi5kaXJl
Y3Rpb24gPSBRdDo6TGVmdFRvUmlnaHQ7CisgICAgQ29udHJvbFBhcnQgcmVzdWx0ID0gTm9Db250
cm9sUGFydDsKKyAgICBSZW5kZXJTdHlsZSpzdHlsZT1vLT5zdHlsZSgpOwogCiAgICAgaWYgKGlz
SG92ZXJlZChvKSkKICAgICAgICAgb3B0aW9uLnN0YXRlIHw9IFFTdHlsZTo6U3RhdGVfTW91c2VP
dmVyOwogCi0gICAgb3B0aW9uLmRpcmVjdGlvbiA9IFF0OjpMZWZ0VG9SaWdodDsKLSAgICBpZiAo
by0+c3R5bGUoKSAmJiBvLT5zdHlsZSgpLT5kaXJlY3Rpb24oKSA9PSBXZWJDb3JlOjpSVEwpCi0g
ICAgICAgIG9wdGlvbi5kaXJlY3Rpb24gPSBRdDo6UmlnaHRUb0xlZnQ7Ci0KLSAgICBDb250cm9s
UGFydCByZXN1bHQgPSBvLT5zdHlsZSgpLT5hcHBlYXJhbmNlKCk7Ci0KLSAgICBzd2l0Y2ggKHJl
c3VsdCkgewotICAgIGNhc2UgUHVzaEJ1dHRvblBhcnQ6Ci0gICAgY2FzZSBTcXVhcmVCdXR0b25Q
YXJ0OgotICAgIGNhc2UgQnV0dG9uUGFydDoKLSAgICBjYXNlIEJ1dHRvbkJldmVsUGFydDoKLSAg
ICBjYXNlIExpc3RJdGVtUGFydDoKLSAgICBjYXNlIE1lbnVsaXN0QnV0dG9uUGFydDoKLSAgICBj
YXNlIFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvblBhcnQ6Ci0gICAgY2FzZSBTZWFyY2hGaWVsZENh
bmNlbEJ1dHRvblBhcnQ6IHsKLSAgICAgICAgaWYgKGlzUHJlc3NlZChvKSkKLSAgICAgICAgICAg
IG9wdGlvbi5zdGF0ZSB8PSBRU3R5bGU6OlN0YXRlX1N1bmtlbjsKLSAgICAgICAgZWxzZSBpZiAo
cmVzdWx0ID09IFB1c2hCdXR0b25QYXJ0KQotICAgICAgICAgICAgb3B0aW9uLnN0YXRlIHw9IFFT
dHlsZTo6U3RhdGVfUmFpc2VkOwotICAgICAgICBicmVhazsKLSAgICB9CisgICAgaWYoc3R5bGUp
IHsKKyAgICAgICAgcmVzdWx0PXN0eWxlLT5hcHBlYXJhbmNlKCk7CisgICAgICAgIGlmIChzdXBw
b3J0c0ZvY3VzKHJlc3VsdCkgJiYgaXNGb2N1c2VkKG8pKSB7CisgICAgICAgICAgICBvcHRpb24u
c3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9IYXNGb2N1czsKKyAgICAgICAgICAgIG9wdGlvbi5zdGF0
ZSB8PSBRU3R5bGU6OlN0YXRlX0tleWJvYXJkRm9jdXNDaGFuZ2U7CisgICAgICAgIH0KKyAgICAg
ICAgaWYgKHN0eWxlLT5kaXJlY3Rpb24oKSA9PSBXZWJDb3JlOjpSVEwpCisgICAgICAgICAgICBv
cHRpb24uZGlyZWN0aW9uID0gUXQ6OlJpZ2h0VG9MZWZ0OworICAgICAgICBzd2l0Y2ggKHJlc3Vs
dCkgeworICAgICAgICBjYXNlIFB1c2hCdXR0b25QYXJ0OgorICAgICAgICBjYXNlIFNxdWFyZUJ1
dHRvblBhcnQ6CisgICAgICAgIGNhc2UgQnV0dG9uUGFydDoKKyAgICAgICAgY2FzZSBCdXR0b25C
ZXZlbFBhcnQ6CisgICAgICAgIGNhc2UgTGlzdEl0ZW1QYXJ0OgorICAgICAgICBjYXNlIE1lbnVs
aXN0QnV0dG9uUGFydDoKKyAgICAgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25QYXJ0
OgorICAgICAgICBjYXNlIFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uUGFydDogeworICAgICAgICAg
ICAgaWYgKGlzUHJlc3NlZChvKSkKKyAgICAgICAgICAgICAgICBvcHRpb24uc3RhdGUgfD0gUVN0
eWxlOjpTdGF0ZV9TdW5rZW47CisgICAgICAgICAgICBlbHNlIGlmIChyZXN1bHQgPT0gUHVzaEJ1
dHRvblBhcnQpCisgICAgICAgICAgICAgICAgb3B0aW9uLnN0YXRlIHw9IFFTdHlsZTo6U3RhdGVf
UmFpc2VkOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgY2FzZSBSYWRp
b1BhcnQ6CisgICAgICAgIGNhc2UgQ2hlY2tib3hQYXJ0OgorICAgICAgICAgICAgb3B0aW9uLnN0
YXRlIHw9IChpc0NoZWNrZWQobykgPyBRU3R5bGU6OlN0YXRlX09uIDogUVN0eWxlOjpTdGF0ZV9P
ZmYpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICB9CiAKLSAgICBpZiAocmVz
dWx0ID09IFJhZGlvUGFydCB8fCByZXN1bHQgPT0gQ2hlY2tib3hQYXJ0KQotICAgICAgICBvcHRp
b24uc3RhdGUgfD0gKGlzQ2hlY2tlZChvKSA/IFFTdHlsZTo6U3RhdGVfT24gOiBRU3R5bGU6OlN0
YXRlX09mZik7CiAKICAgICAvLyBJZiB0aGUgd2VidmlldyBoYXMgYSBjdXN0b20gcGFsZXR0ZSwg
dXNlIGl0CiAgICAgUGFnZSogcGFnZSA9IG8tPmRvY3VtZW50KCktPnBhZ2UoKTsKQEAgLTc2NCw3
ICs3ODEsMjQgQEAgQ29udHJvbFBhcnQgUmVuZGVyVGhlbWVRdDo6YXBwbHlUaGVtZShRUwogICAg
ICAgICBpZiAodmlldykKICAgICAgICAgICAgIG9wdGlvbi5wYWxldHRlID0gdmlldy0+cGFsZXR0
ZSgpOwogICAgIH0KLQorICAgIFFDb2xvciBiYWNrZ3JvdW5kQ29sb3IoMCwwLDAsMCk7CisgICAg
V2ViQ29yZTo6U3R5bGVJbWFnZSAqcEJhY2tncm91bmRJbWFnZSA9IHN0eWxlLT5iYWNrZ3JvdW5k
SW1hZ2UoKTsKKyAgICBpZiAoIXBCYWNrZ3JvdW5kSW1hZ2UpIHsKKyAgICAgICAgYmFja2dyb3Vu
ZENvbG9yID0gc3R5bGUtPmJhY2tncm91bmRDb2xvcigpOworICAgICAgICBpZihiYWNrZ3JvdW5k
Q29sb3IgPT0gbV9kZWZhdWx0QmFja2dyb3VuZENvbG9yKQorICAgICAgICAgICAgcmV0dXJuIHJl
c3VsdDsKKyAgICB9IGVsc2UgaWYgKCFwQmFja2dyb3VuZEltYWdlLT5jYW5SZW5kZXIoMS4wZikp
CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgZWxzZSB7CisgICAgICAgIEltYWdlICpiYWNr
Z3JvdW5kSW1hZ2UgPSBwQmFja2dyb3VuZEltYWdlLT5pbWFnZShvLCBvLT5hYnNvbHV0ZUJvdW5k
aW5nQm94UmVjdChmYWxzZSkuc2l6ZSgpKTsKKyAgICAgICAgaWYgKCFiYWNrZ3JvdW5kSW1hZ2Up
CisgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICBlbHNlIGlmICghYmFja2dyb3Vu
ZEltYWdlLT5uYXRpdmVJbWFnZUZvckN1cnJlbnRGcmFtZSgpKSAKKyAgICAgICAgICAgIHJldHVy
biByZXN1bHQ7CisgICAgfQorICAgIG9wdGlvbi5wYWxldHRlLnNldENvbG9yKFFQYWxldHRlOjpX
aW5kb3csIGJhY2tncm91bmRDb2xvcik7CisgICAgb3B0aW9uLnBhbGV0dGUuc2V0Q29sb3IoUVBh
bGV0dGU6OkJhc2UsIGJhY2tncm91bmRDb2xvcik7CisgICAgb3B0aW9uLnBhbGV0dGUuc2V0Q29s
b3IoUVBhbGV0dGU6OkJ1dHRvbiwgYmFja2dyb3VuZENvbG9yKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogCkBAIC04MzUsMjAgKzg2OSwyMCBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnBhaW50TWVk
aWFNdXRlQnV0dG9uCiAgICAgaWYgKCFwLmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuIHRydWU7
CiAKLSAgICBwLnBhaW50ZXItPnNldFJlbmRlckhpbnQoUVBhaW50ZXI6OkFudGlhbGlhc2luZywg
dHJ1ZSk7CisgICAgcC5tX1BhaW50ZXItPnNldFJlbmRlckhpbnQoUVBhaW50ZXI6OkFudGlhbGlh
c2luZywgdHJ1ZSk7CiAKLSAgICBwYWludE1lZGlhQmFja2dyb3VuZChwLnBhaW50ZXIsIHIpOwor
ICAgIHBhaW50TWVkaWFCYWNrZ3JvdW5kKHAubV9QYWludGVyLCByKTsKIAotICAgIFdvcmxkTWF0
cml4VHJhbnNmb3JtZXIgdHJhbnNmb3JtZXIocC5wYWludGVyLCBvLCByKTsKKyAgICBXb3JsZE1h
dHJpeFRyYW5zZm9ybWVyIHRyYW5zZm9ybWVyKHAubV9QYWludGVyLCBvLCByKTsKICAgICBjb25z
dCBRUG9pbnRGIHNwZWFrZXJQb2x5Z29uWzZdID0geyBRUG9pbnRGKDIwLCAzMCksIFFQb2ludEYo
NTAsIDMwKSwgUVBvaW50Rig4MCwgMCksCiAgICAgICAgICAgICBRUG9pbnRGKDgwLCAxMDApLCBR
UG9pbnRGKDUwLCA3MCksIFFQb2ludEYoMjAsIDcwKX07CiAKLSAgICBwLnBhaW50ZXItPnNldEJy
dXNoKGdldE1lZGlhQ29udHJvbEZvcmVncm91bmRDb2xvcihvKSk7Ci0gICAgcC5wYWludGVyLT5k
cmF3UG9seWdvbihzcGVha2VyUG9seWdvbiwgNik7CisgICAgcC5tX1BhaW50ZXItPnNldEJydXNo
KGdldE1lZGlhQ29udHJvbEZvcmVncm91bmRDb2xvcihvKSk7CisgICAgcC5tX1BhaW50ZXItPmRy
YXdQb2x5Z29uKHNwZWFrZXJQb2x5Z29uLCA2KTsKIAogICAgIGlmIChtZWRpYUVsZW1lbnQtPm11
dGVkKCkpIHsKLSAgICAgICAgcC5wYWludGVyLT5zZXRQZW4oUXQ6OnJlZCk7Ci0gICAgICAgIHAu
cGFpbnRlci0+ZHJhd0xpbmUoMCwgMTAwLCAxMDAsIDApOworICAgICAgICBwLm1fUGFpbnRlci0+
c2V0UGVuKFF0OjpyZWQpOworICAgICAgICBwLm1fUGFpbnRlci0+ZHJhd0xpbmUoMCwgMTAwLCAx
MDAsIDApOwogICAgIH0KIAogICAgIHJldHVybiBmYWxzZTsKQEAgLTg2NCwxOCArODk4LDE4IEBA
IGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRNZWRpYVBsYXlCdXR0b24KICAgICBpZiAoIXAuaXNW
YWxpZCgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIHAucGFpbnRlci0+c2V0UmVuZGVy
SGludChRUGFpbnRlcjo6QW50aWFsaWFzaW5nLCB0cnVlKTsKKyAgICBwLm1fUGFpbnRlci0+c2V0
UmVuZGVySGludChRUGFpbnRlcjo6QW50aWFsaWFzaW5nLCB0cnVlKTsKIAotICAgIHBhaW50TWVk
aWFCYWNrZ3JvdW5kKHAucGFpbnRlciwgcik7CisgICAgcGFpbnRNZWRpYUJhY2tncm91bmQocC5t
X1BhaW50ZXIsIHIpOwogCi0gICAgV29ybGRNYXRyaXhUcmFuc2Zvcm1lciB0cmFuc2Zvcm1lcihw
LnBhaW50ZXIsIG8sIHIpOwotICAgIHAucGFpbnRlci0+c2V0QnJ1c2goZ2V0TWVkaWFDb250cm9s
Rm9yZWdyb3VuZENvbG9yKG8pKTsKKyAgICBXb3JsZE1hdHJpeFRyYW5zZm9ybWVyIHRyYW5zZm9y
bWVyKHAubV9QYWludGVyLCBvLCByKTsKKyAgICBwLm1fUGFpbnRlci0+c2V0QnJ1c2goZ2V0TWVk
aWFDb250cm9sRm9yZWdyb3VuZENvbG9yKG8pKTsKICAgICBpZiAobWVkaWFFbGVtZW50LT5jYW5Q
bGF5KCkpIHsKICAgICAgICAgY29uc3QgUVBvaW50RiBwbGF5UG9seWdvblszXSA9IHsgUVBvaW50
RigwLCAwKSwgUVBvaW50RigxMDAsIDUwKSwgUVBvaW50RigwLCAxMDApfTsKLSAgICAgICAgcC5w
YWludGVyLT5kcmF3UG9seWdvbihwbGF5UG9seWdvbiwgMyk7CisgICAgICAgIHAubV9QYWludGVy
LT5kcmF3UG9seWdvbihwbGF5UG9seWdvbiwgMyk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgcC5w
YWludGVyLT5kcmF3UmVjdCgwLCAwLCAzMCwgMTAwKTsKLSAgICAgICAgcC5wYWludGVyLT5kcmF3
UmVjdCg3MCwgMCwgMzAsIDEwMCk7CisgICAgICAgIHAubV9QYWludGVyLT5kcmF3UmVjdCgwLCAw
LCAzMCwgMTAwKTsKKyAgICAgICAgcC5tX1BhaW50ZXItPmRyYXdSZWN0KDcwLCAwLCAzMCwgMTAw
KTsKICAgICB9CiAKICAgICByZXR1cm4gZmFsc2U7CkBAIC05MDMsMTcgKzkzNywxNyBAQCBib29s
IFJlbmRlclRoZW1lUXQ6OnBhaW50TWVkaWFTbGlkZXJUcmFjCiAgICAgaWYgKCFwLmlzVmFsaWQo
KSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICBwLnBhaW50ZXItPnNldFJlbmRlckhpbnQo
UVBhaW50ZXI6OkFudGlhbGlhc2luZywgdHJ1ZSk7CisgICAgcC5tX1BhaW50ZXItPnNldFJlbmRl
ckhpbnQoUVBhaW50ZXI6OkFudGlhbGlhc2luZywgdHJ1ZSk7CiAKLSAgICBwYWludE1lZGlhQmFj
a2dyb3VuZChwLnBhaW50ZXIsIHIpOworICAgIHBhaW50TWVkaWFCYWNrZ3JvdW5kKHAubV9QYWlu
dGVyLCByKTsKIAogICAgIGlmIChNZWRpYVBsYXllciogcGxheWVyID0gbWVkaWFFbGVtZW50LT5w
bGF5ZXIoKSkgewogICAgICAgICBpZiAocGxheWVyLT50b3RhbEJ5dGVzS25vd24oKSkgewogICAg
ICAgICAgICAgZmxvYXQgcGVyY2VudExvYWRlZCA9IHN0YXRpY19jYXN0PGZsb2F0PihwbGF5ZXIt
PmJ5dGVzTG9hZGVkKCkpIC8gcGxheWVyLT50b3RhbEJ5dGVzKCk7CiAKLSAgICAgICAgICAgIFdv
cmxkTWF0cml4VHJhbnNmb3JtZXIgdHJhbnNmb3JtZXIocC5wYWludGVyLCBvLCByKTsKLSAgICAg
ICAgICAgIHAucGFpbnRlci0+c2V0QnJ1c2goZ2V0TWVkaWFDb250cm9sRm9yZWdyb3VuZENvbG9y
KCkpOwotICAgICAgICAgICAgcC5wYWludGVyLT5kcmF3UmVjdCgwLCAzNywgMTAwICogcGVyY2Vu
dExvYWRlZCwgMjYpOworICAgICAgICAgICAgV29ybGRNYXRyaXhUcmFuc2Zvcm1lciB0cmFuc2Zv
cm1lcihwLm1fUGFpbnRlciwgbywgcik7CisgICAgICAgICAgICBwLm1fUGFpbnRlci0+c2V0QnJ1
c2goZ2V0TWVkaWFDb250cm9sRm9yZWdyb3VuZENvbG9yKCkpOworICAgICAgICAgICAgcC5tX1Bh
aW50ZXItPmRyYXdSZWN0KDAsIDM3LCAxMDAgKiBwZXJjZW50TG9hZGVkLCAyNik7CiAgICAgICAg
IH0KICAgICB9CiAKQEAgLTkzMCwxMSArOTY0LDExIEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFp
bnRNZWRpYVNsaWRlclRodW0KICAgICBpZiAoIXAuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm4g
dHJ1ZTsKIAotICAgIHAucGFpbnRlci0+c2V0UmVuZGVySGludChRUGFpbnRlcjo6QW50aWFsaWFz
aW5nLCB0cnVlKTsKKyAgICBwLm1fUGFpbnRlci0+c2V0UmVuZGVySGludChRUGFpbnRlcjo6QW50
aWFsaWFzaW5nLCB0cnVlKTsKIAotICAgIHAucGFpbnRlci0+c2V0UGVuKFF0OjpOb1Blbik7Ci0g
ICAgcC5wYWludGVyLT5zZXRCcnVzaChnZXRNZWRpYUNvbnRyb2xGb3JlZ3JvdW5kQ29sb3Iobykp
OwotICAgIHAucGFpbnRlci0+ZHJhd1JlY3Qoci54KCksIHIueSgpLCByLndpZHRoKCksIHIuaGVp
Z2h0KCkpOworICAgIHAubV9QYWludGVyLT5zZXRQZW4oUXQ6Ok5vUGVuKTsKKyAgICBwLm1fUGFp
bnRlci0+c2V0QnJ1c2goZ2V0TWVkaWFDb250cm9sRm9yZWdyb3VuZENvbG9yKG8pKTsKKyAgICBw
Lm1fUGFpbnRlci0+ZHJhd1JlY3Qoci54KCksIHIueSgpLCByLndpZHRoKCksIHIuaGVpZ2h0KCkp
OwogCiAgICAgcmV0dXJuIGZhbHNlOwogfQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5k
ZXJUaGVtZVF0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVt
ZVF0LmgJKHJldmlzaW9uIDQ5MDk3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVt
ZVF0LmgJKHdvcmtpbmcgY29weSkKQEAgLTU1LDYgKzU1LDggQEAgcHVibGljOgogICAgIC8vIEEg
Z2VuZXJhbCBtZXRob2QgYXNraW5nIGlmIGFueSBjb250cm9sIHRpbnRpbmcgaXMgc3VwcG9ydGVk
IGF0IGFsbC4KICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNDb250cm9sVGludHMoKSBjb25zdDsK
IAorICAgIHZpcnR1YWwgYm9vbCBpc0NvbnRyb2xTdHlsZWQoY29uc3QgUmVuZGVyU3R5bGUqLCBj
b25zdCBCb3JkZXJEYXRhJiwgY29uc3QgRmlsbExheWVyJiwgY29uc3QgQ29sb3ImIGJhY2tncm91
bmRDb2xvcikgY29uc3Q7CisKICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0UmVwYWludFJlY3QoY29u
c3QgUmVuZGVyT2JqZWN0KiBvLCBJbnRSZWN0JiByKTsKIAogICAgIC8vIFRoZSBwbGF0Zm9ybSBz
ZWxlY3Rpb24gY29sb3IuCkBAIC0xNDgsNiArMTUwLDcgQEAgcHJpdmF0ZToKICAgICBRU3RyaW5n
IG1fYnV0dG9uRm9udEZhbWlseTsKIAogICAgIFFTdHlsZSogbV9mYWxsYmFja1N0eWxlOworICAg
IFFDb2xvciBtX2RlZmF1bHRCYWNrZ3JvdW5kQ29sb3I7CiB9OwogCiBjbGFzcyBTdHlsZVBhaW50
ZXIgewpAQCAtMTU2LDI0ICsxNTksMjUgQEAgcHVibGljOgogICAgIGV4cGxpY2l0IFN0eWxlUGFp
bnRlcihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQpOwogICAgIH5TdHlsZVBhaW50ZXIoKTsKIAot
ICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIHBhaW50ZXIgJiYgc3R5bGU7IH0KKyAg
ICBib29sIGlzVmFsaWQoKSBjb25zdCB7IHJldHVybiBtX1BhaW50ZXIgJiYgbV9TdHlsZTsgfQog
Ci0gICAgUVBhaW50ZXIqIHBhaW50ZXI7Ci0gICAgUVdpZGdldCogd2lkZ2V0OwotICAgIFFTdHls
ZSogc3R5bGU7CisgICAgUVBhaW50ZXIqIG1fUGFpbnRlcjsKKyAgICBRV2lkZ2V0KiBtX1dpZGdl
dDsKKyAgICBRU3R5bGUqIG1fU3R5bGU7CiAKICAgICB2b2lkIGRyYXdQcmltaXRpdmUoUVN0eWxl
OjpQcmltaXRpdmVFbGVtZW50IHBlLCBjb25zdCBRU3R5bGVPcHRpb24mIG9wdCkKLSAgICB7IHN0
eWxlLT5kcmF3UHJpbWl0aXZlKHBlLCAmb3B0LCBwYWludGVyLCB3aWRnZXQpOyB9CisgICAgeyBt
X1N0eWxlLT5kcmF3UHJpbWl0aXZlKHBlLCAmb3B0LCBtX1BhaW50ZXIsIG1fV2lkZ2V0KTsgfQog
ICAgIHZvaWQgZHJhd0NvbnRyb2woUVN0eWxlOjpDb250cm9sRWxlbWVudCBjZSwgY29uc3QgUVN0
eWxlT3B0aW9uJiBvcHQpCi0gICAgeyBzdHlsZS0+ZHJhd0NvbnRyb2woY2UsICZvcHQsIHBhaW50
ZXIsIHdpZGdldCk7IH0KKyAgICB7IG1fU3R5bGUtPmRyYXdDb250cm9sKGNlLCAmb3B0LCBtX1Bh
aW50ZXIsIG1fV2lkZ2V0KTsgfQogICAgIHZvaWQgZHJhd0NvbXBsZXhDb250cm9sKFFTdHlsZTo6
Q29tcGxleENvbnRyb2wgY2MsIGNvbnN0IFFTdHlsZU9wdGlvbkNvbXBsZXgmIG9wdCkKLSAgICB7
IHN0eWxlLT5kcmF3Q29tcGxleENvbnRyb2woY2MsICZvcHQsIHBhaW50ZXIsIHdpZGdldCk7IH0K
KyAgICB7IG1fU3R5bGUtPmRyYXdDb21wbGV4Q29udHJvbChjYywgJm9wdCwgbV9QYWludGVyLCBt
X1dpZGdldCk7IH0KIAogcHJpdmF0ZToKICAgICB2b2lkIGluaXQoR3JhcGhpY3NDb250ZXh0KiBj
b250ZXh0KTsKIAotICAgIFFCcnVzaCBvbGRCcnVzaDsKLSAgICBib29sIG9sZEFudGlhbGlhc2lu
ZzsKKyAgICBRQnJ1c2ggbV9PbGRCcnVzaDsKKyAgICBib29sIG1fT2xkQW50aWFsaWFzaW5nOwor
ICAgIGJvb2wgbV9PbGRTZXRQYWxldHRlOwogCiAgICAgUV9ESVNBQkxFX0NPUFkoU3R5bGVQYWlu
dGVyKQogfTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vcXQvU2Nyb2xsYmFyVGhlbWVRdC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9xdC9TY3JvbGxiYXJUaGVtZVF0LmNwcAko
cmV2aXNpb24gNDkwOTcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL3F0L1Njcm9sbGJhclRoZW1lUXQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDQsMjUgKzE0NCwyNSBAQCBib29sIFNjcm9sbGJhclRo
ZW1lUXQ6OnBhaW50KFNjcm9sbGJhciogCiAgICAgaWYgKCFwLmlzVmFsaWQoKSkKICAgICAgIHJl
dHVybiB0cnVlOwogCi0gICAgcC5wYWludGVyLT5zYXZlKCk7Ci0gICAgUVN0eWxlT3B0aW9uU2xp
ZGVyKiBvcHQgPSBzdHlsZU9wdGlvblNsaWRlcihzY3JvbGxiYXIsIHAud2lkZ2V0KTsKKyAgICBw
Lm1fUGFpbnRlci0+c2F2ZSgpOworICAgIFFTdHlsZU9wdGlvblNsaWRlciogb3B0ID0gc3R5bGVP
cHRpb25TbGlkZXIoc2Nyb2xsYmFyLCBwLm1fV2lkZ2V0KTsKIAotICAgIHAucGFpbnRlci0+c2V0
Q2xpcFJlY3Qob3B0LT5yZWN0LmludGVyc2VjdGVkKGRhbWFnZVJlY3QpKTsKKyAgICBwLm1fUGFp
bnRlci0+c2V0Q2xpcFJlY3Qob3B0LT5yZWN0LmludGVyc2VjdGVkKGRhbWFnZVJlY3QpKTsKIAog
I2lmZGVmIFFfV1NfTUFDCiAgICAgcC5kcmF3Q29tcGxleENvbnRyb2woUVN0eWxlOjpDQ19TY3Jv
bGxCYXIsICpvcHQpOwogI2Vsc2UKICAgICBjb25zdCBRUG9pbnQgdG9wTGVmdCA9IG9wdC0+cmVj
dC50b3BMZWZ0KCk7Ci0gICAgcC5wYWludGVyLT50cmFuc2xhdGUodG9wTGVmdCk7CisgICAgcC5t
X1BhaW50ZXItPnRyYW5zbGF0ZSh0b3BMZWZ0KTsKICAgICBvcHQtPnJlY3QubW92ZVRvKFFQb2lu
dCgwLCAwKSk7CiAKICAgICAvLyBUaGUgUVN0eWxlIGV4cGVjdHMgdGhlIGJhY2tncm91bmQgdG8g
YmUgYWxyZWFkeSBmaWxsZWQKLSAgICBwLnBhaW50ZXItPmZpbGxSZWN0KG9wdC0+cmVjdCwgb3B0
LT5wYWxldHRlLmJhY2tncm91bmQoKSk7CisgICAgcC5tX1BhaW50ZXItPmZpbGxSZWN0KG9wdC0+
cmVjdCwgb3B0LT5wYWxldHRlLmJhY2tncm91bmQoKSk7CiAKICAgICBwLmRyYXdDb21wbGV4Q29u
dHJvbChRU3R5bGU6OkNDX1Njcm9sbEJhciwgKm9wdCk7CiAgICAgb3B0LT5yZWN0Lm1vdmVUbyh0
b3BMZWZ0KTsKICNlbmRpZgotICAgIHAucGFpbnRlci0+cmVzdG9yZSgpOworICAgIHAubV9QYWlu
dGVyLT5yZXN0b3JlKCk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KSW5kZXg6IFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5oCShyZXZpc2lvbiA0OTA5NykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yOTksNiArMjk5LDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShT
VkcpCiAgICAgdmlydHVhbCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBsb2NhbFRyYW5zZm9ybSgpIGNv
bnN0OwogI2VuZGlmCisgICAgdm9pZCBwYWludEZpbGxMYXllcnMoY29uc3QgUGFpbnRJbmZvJiwg
Y29uc3QgQ29sb3ImLCBjb25zdCBGaWxsTGF5ZXIqLCBpbnQgdHgsIGludCB0eSwgaW50IHdpZHRo
LCBpbnQgaGVpZ2h0LCBDb21wb3NpdGVPcGVyYXRvciA9IENvbXBvc2l0ZVNvdXJjZU92ZXIpOwog
CiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHN0eWxlV2lsbENoYW5nZShTdHlsZURpZmZl
cmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBuZXdTdHlsZSk7CkBAIC0zMDYsNyArMzA3LDYgQEAg
cHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVCb3hNb2RlbEluZm9Gcm9tU3R5bGUo
KTsKIAogICAgIHZvaWQgcGFpbnRGaWxsTGF5ZXIoY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgQ29s
b3ImLCBjb25zdCBGaWxsTGF5ZXIqLCBpbnQgdHgsIGludCB0eSwgaW50IHdpZHRoLCBpbnQgaGVp
Z2h0LCBDb21wb3NpdGVPcGVyYXRvciA9IENvbXBvc2l0ZVNvdXJjZU92ZXIpOwotICAgIHZvaWQg
cGFpbnRGaWxsTGF5ZXJzKGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IENvbG9yJiwgY29uc3QgRmls
bExheWVyKiwgaW50IHR4LCBpbnQgdHksIGludCB3aWR0aCwgaW50IGhlaWdodCwgQ29tcG9zaXRl
T3BlcmF0b3IgPSBDb21wb3NpdGVTb3VyY2VPdmVyKTsKIAogICAgIHZvaWQgcGFpbnRNYXNrSW1h
Z2VzKGNvbnN0IFBhaW50SW5mbyYsIGludCB0eCwgaW50IHR5LCBpbnQgd2lkdGgsIGludCBoZWln
aHQpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40811</attachid>
            <date>2009-10-07 12:02:23 -0700</date>
            <delta_ts>2009-10-13 09:36:03 -0700</delta_ts>
            <desc>Working copy of patch attempt</desc>
            <filename>patchFor30173-2.patch</filename>
            <type>text/plain</type>
            <size>7890</size>
            <attacher name="Carol Szabo">carol</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcAkocmV2aXNpb24gNDkwOTcp
CisrKyBXZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yMDYsNiArMjA2LDExIEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6c3VwcG9ydHNDb250cm9s
VGludHMKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBSZW5kZXJUaGVtZVF0Ojppc0NvbnRy
b2xTdHlsZWQoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBCb3JkZXJEYXRhJiBib3Jk
ZXJEYXRhLCBjb25zdCBGaWxsTGF5ZXImIGZpbGxMYXllciwgY29uc3QgQ29sb3ImIGJhY2tncm91
bmRDb2xvcikgY29uc3QKK3sKKyAgICAqKGNvbnN0X2Nhc3Q8UUNvbG9yKj4oJm1fZGVmYXVsdEJh
Y2tncm91bmRDb2xvcikpID0gYmFja2dyb3VuZENvbG9yOworICAgIHJldHVybiBSZW5kZXJUaGVt
ZTo6aXNDb250cm9sU3R5bGVkKHN0eWxlLCBib3JkZXJEYXRhLCBmaWxsTGF5ZXIsIGJhY2tncm91
bmRDb2xvcik7Cit9Owogc3RhdGljIGludCBmaW5kRnJhbWVMaW5lV2lkdGgoUVN0eWxlKiBzdHls
ZSkKIHsKICAgICBRTGluZUVkaXQgbGluZUVkaXQ7CkBAIC0yNzUsNyArMjgwLDcgQEAgQ29sb3Ig
UmVuZGVyVGhlbWVRdDo6cGxhdGZvcm1JbmFjdGl2ZVNlbAogICAgIHJldHVybiBwYWwuYnJ1c2go
UVBhbGV0dGU6OkluYWN0aXZlLCBRUGFsZXR0ZTo6SGlnaGxpZ2h0ZWRUZXh0KS5jb2xvcigpOwog
fQogCi12b2lkIFJlbmRlclRoZW1lUXQ6OnN5c3RlbUZvbnQoaW50LCBGb250RGVzY3JpcHRpb24m
KSBjb25zdAordm9pZCBSZW5kZXJUaGVtZVF0OjpzeXN0ZW1Gb250KGludCBwcm9wSWQsIEZvbnRE
ZXNjcmlwdGlvbiYgYnVmZmVyKSBjb25zdAogewogICAgIC8vIG5vLW9wCiB9CkBAIC0zNDMsNyAr
MzQ4LDcgQEAgdm9pZCBSZW5kZXJUaGVtZVF0Ojpjb21wdXRlU2l6ZUJhc2VkT25TdAogICAgIGNh
c2UgVGV4dEZpZWxkUGFydDogewogICAgICAgICBjb25zdCBpbnQgdmVydGljYWxNYXJnaW4gPSAx
OwogICAgICAgICBjb25zdCBpbnQgaG9yaXpvbnRhbE1hcmdpbiA9IDI7Ci0gICAgICAgIGludCBo
ID0gcU1heChmbS5saW5lU3BhY2luZygpLCAxNCkgKyAyKnZlcnRpY2FsTWFyZ2luOworICAgICAg
ICBpbnQgaCA9IHFNYXgoZm0ubGluZVNwYWNpbmcoKSwgMTYpICsgMip2ZXJ0aWNhbE1hcmdpbjsK
ICAgICAgICAgaW50IHcgPSBmbS53aWR0aChRTGF0aW4xQ2hhcigneCcpKSAqIDE3ICsgMipob3Jp
em9udGFsTWFyZ2luOwogICAgICAgICBRU3R5bGVPcHRpb25GcmFtZVYyIG9wdDsKICAgICAgICAg
b3B0LmxpbmVXaWR0aCA9IGZpbmRGcmFtZUxpbmVXaWR0aChzdHlsZSk7CkBAIC00ODksNyArNDk0
LDcgQEAgYm9vbCBSZW5kZXJUaGVtZVF0OjpwYWludEJ1dHRvbihSZW5kZXJPYgogCiB2b2lkIFJl
bmRlclRoZW1lUXQ6OmFkanVzdFRleHRGaWVsZFN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5k
ZXJTdHlsZSogc3R5bGUsIEVsZW1lbnQqKSBjb25zdAogewotICAgIHN0eWxlLT5zZXRCYWNrZ3Jv
dW5kQ29sb3IoQ29sb3I6OnRyYW5zcGFyZW50KTsKKyAgICAvL3N0eWxlLT5zZXRCYWNrZ3JvdW5k
Q29sb3IoQ29sb3I6OnRyYW5zcGFyZW50KTsKICAgICBzdHlsZS0+cmVzZXRCb3JkZXIoKTsKICAg
ICBzdHlsZS0+cmVzZXRQYWRkaW5nKCk7CiAgICAgY29tcHV0ZVNpemVCYXNlZE9uU3R5bGUoc3R5
bGUpOwpAQCAtNTE5LDggKzUyNCw5IEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRUZXh0Rmll
bGQoUmVuZGUKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICAvLyBOb3cgcGFpbnQgdGhlIHRl
eHQgZmllbGQuCisgICAgaWYoKHBhbmVsLnBhbGV0dGUuY29sb3IoUVBhbGV0dGU6OkJhc2UpLmFs
cGhhKCkgPCAyNTUpICYmIG8tPmlzQm94KCkpCisgICAgICAgIHRvUmVuZGVyQm94KG8pLT5wYWlu
dEZpbGxMYXllcnMoaSwgby0+c3R5bGUoKS0+YmFja2dyb3VuZENvbG9yKCksIG8tPnN0eWxlKCkt
PmJhY2tncm91bmRMYXllcnMoKSwgci54KCksIHIueSgpLCByLndpZHRoKCksIHIuaGVpZ2h0KCkp
OwogICAgIHAuZHJhd1ByaW1pdGl2ZShRU3R5bGU6OlBFX1BhbmVsTGluZUVkaXQsIHBhbmVsKTsK
LQogICAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAtNjQ5LDcgKzY1NSw3IEBAIHZvaWQgUmVuZGVy
VGhlbWVRdDo6YWRqdXN0U2VhcmNoRmllbGRTdHkKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBFbGVtZW50KiBlKSBjb25zdAogewogICAgIG5vdEltcGxlbWVudGVk
KCk7Ci0gICAgUmVuZGVyVGhlbWU6OmFkanVzdFNlYXJjaEZpZWxkU3R5bGUoc2VsZWN0b3IsIHN0
eWxlLCBlKTsKKyAgICBhZGp1c3RUZXh0RmllbGRTdHlsZShzZWxlY3RvcixzdHlsZSxlKTsKIH0K
IAogdm9pZCBSZW5kZXJUaGVtZVF0OjphZGp1c3RTZWFyY2hGaWVsZENhbmNlbEJ1dHRvblN0eWxl
KENTU1N0eWxlU2VsZWN0b3IqIHNlbGVjdG9yLCBSZW5kZXJTdHlsZSogc3R5bGUsCkBAIC03MjMs
MzkgKzcyOSw0MyBAQCBDb250cm9sUGFydCBSZW5kZXJUaGVtZVF0OjphcHBseVRoZW1lKFFTCiAg
ICAgICAgIC8vIFJlYWRvbmx5IGlzIHN1cHBvcnRlZCBvbiB0ZXh0ZmllbGRzLgogICAgICAgICBv
cHRpb24uc3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9SZWFkT25seTsKIAotICAgIGlmIChzdXBwb3J0
c0ZvY3VzKG8tPnN0eWxlKCktPmFwcGVhcmFuY2UoKSkgJiYgaXNGb2N1c2VkKG8pKSB7Ci0gICAg
ICAgIG9wdGlvbi5zdGF0ZSB8PSBRU3R5bGU6OlN0YXRlX0hhc0ZvY3VzOwotICAgICAgICBvcHRp
b24uc3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9LZXlib2FyZEZvY3VzQ2hhbmdlOwotICAgIH0KKyAg
ICBvcHRpb24uZGlyZWN0aW9uID0gUXQ6OkxlZnRUb1JpZ2h0OworICAgIENvbnRyb2xQYXJ0IHJl
c3VsdCA9IE5vQ29udHJvbFBhcnQ7CisgICAgUmVuZGVyU3R5bGUqc3R5bGU9by0+c3R5bGUoKTsK
IAogICAgIGlmIChpc0hvdmVyZWQobykpCiAgICAgICAgIG9wdGlvbi5zdGF0ZSB8PSBRU3R5bGU6
OlN0YXRlX01vdXNlT3ZlcjsKIAotICAgIG9wdGlvbi5kaXJlY3Rpb24gPSBRdDo6TGVmdFRvUmln
aHQ7Ci0gICAgaWYgKG8tPnN0eWxlKCkgJiYgby0+c3R5bGUoKS0+ZGlyZWN0aW9uKCkgPT0gV2Vi
Q29yZTo6UlRMKQotICAgICAgICBvcHRpb24uZGlyZWN0aW9uID0gUXQ6OlJpZ2h0VG9MZWZ0Owot
Ci0gICAgQ29udHJvbFBhcnQgcmVzdWx0ID0gby0+c3R5bGUoKS0+YXBwZWFyYW5jZSgpOwotCi0g
ICAgc3dpdGNoIChyZXN1bHQpIHsKLSAgICBjYXNlIFB1c2hCdXR0b25QYXJ0OgotICAgIGNhc2Ug
U3F1YXJlQnV0dG9uUGFydDoKLSAgICBjYXNlIEJ1dHRvblBhcnQ6Ci0gICAgY2FzZSBCdXR0b25C
ZXZlbFBhcnQ6Ci0gICAgY2FzZSBMaXN0SXRlbVBhcnQ6Ci0gICAgY2FzZSBNZW51bGlzdEJ1dHRv
blBhcnQ6Ci0gICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25QYXJ0OgotICAgIGNhc2Ug
U2VhcmNoRmllbGRDYW5jZWxCdXR0b25QYXJ0OiB7Ci0gICAgICAgIGlmIChpc1ByZXNzZWQobykp
Ci0gICAgICAgICAgICBvcHRpb24uc3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9TdW5rZW47Ci0gICAg
ICAgIGVsc2UgaWYgKHJlc3VsdCA9PSBQdXNoQnV0dG9uUGFydCkKLSAgICAgICAgICAgIG9wdGlv
bi5zdGF0ZSB8PSBRU3R5bGU6OlN0YXRlX1JhaXNlZDsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQor
ICAgIGlmKHN0eWxlKSB7CisgICAgICAgIHJlc3VsdD1zdHlsZS0+YXBwZWFyYW5jZSgpOworICAg
ICAgICBpZiAoc3VwcG9ydHNGb2N1cyhyZXN1bHQpICYmIGlzRm9jdXNlZChvKSkgeworICAgICAg
ICAgICAgb3B0aW9uLnN0YXRlIHw9IFFTdHlsZTo6U3RhdGVfSGFzRm9jdXM7CisgICAgICAgICAg
ICBvcHRpb24uc3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9LZXlib2FyZEZvY3VzQ2hhbmdlOworICAg
ICAgICB9CisgICAgICAgIGlmIChzdHlsZS0+ZGlyZWN0aW9uKCkgPT0gV2ViQ29yZTo6UlRMKQor
ICAgICAgICAgICAgb3B0aW9uLmRpcmVjdGlvbiA9IFF0OjpSaWdodFRvTGVmdDsKKyAgICAgICAg
c3dpdGNoIChyZXN1bHQpIHsKKyAgICAgICAgY2FzZSBQdXNoQnV0dG9uUGFydDoKKyAgICAgICAg
Y2FzZSBTcXVhcmVCdXR0b25QYXJ0OgorICAgICAgICBjYXNlIEJ1dHRvblBhcnQ6CisgICAgICAg
IGNhc2UgQnV0dG9uQmV2ZWxQYXJ0OgorICAgICAgICBjYXNlIExpc3RJdGVtUGFydDoKKyAgICAg
ICAgY2FzZSBNZW51bGlzdEJ1dHRvblBhcnQ6CisgICAgICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1
bHRzQnV0dG9uUGFydDoKKyAgICAgICAgY2FzZSBTZWFyY2hGaWVsZENhbmNlbEJ1dHRvblBhcnQ6
IHsKKyAgICAgICAgICAgIGlmIChpc1ByZXNzZWQobykpCisgICAgICAgICAgICAgICAgb3B0aW9u
LnN0YXRlIHw9IFFTdHlsZTo6U3RhdGVfU3Vua2VuOworICAgICAgICAgICAgZWxzZSBpZiAocmVz
dWx0ID09IFB1c2hCdXR0b25QYXJ0KQorICAgICAgICAgICAgICAgIG9wdGlvbi5zdGF0ZSB8PSBR
U3R5bGU6OlN0YXRlX1JhaXNlZDsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAg
ICAgIGNhc2UgUmFkaW9QYXJ0OgorICAgICAgICBjYXNlIENoZWNrYm94UGFydDoKKyAgICAgICAg
ICAgIG9wdGlvbi5zdGF0ZSB8PSAoaXNDaGVja2VkKG8pID8gUVN0eWxlOjpTdGF0ZV9PbiA6IFFT
dHlsZTo6U3RhdGVfT2ZmKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAgICAgfQog
Ci0gICAgaWYgKHJlc3VsdCA9PSBSYWRpb1BhcnQgfHwgcmVzdWx0ID09IENoZWNrYm94UGFydCkK
LSAgICAgICAgb3B0aW9uLnN0YXRlIHw9IChpc0NoZWNrZWQobykgPyBRU3R5bGU6OlN0YXRlX09u
IDogUVN0eWxlOjpTdGF0ZV9PZmYpOwogCiAgICAgLy8gSWYgdGhlIHdlYnZpZXcgaGFzIGEgY3Vz
dG9tIHBhbGV0dGUsIHVzZSBpdAogICAgIFBhZ2UqIHBhZ2UgPSBvLT5kb2N1bWVudCgpLT5wYWdl
KCk7CkBAIC03NjQsNyArNzc0LDI0IEBAIENvbnRyb2xQYXJ0IFJlbmRlclRoZW1lUXQ6OmFwcGx5
VGhlbWUoUVMKICAgICAgICAgaWYgKHZpZXcpCiAgICAgICAgICAgICBvcHRpb24ucGFsZXR0ZSA9
IHZpZXctPnBhbGV0dGUoKTsKICAgICB9Ci0KKyAgICBRQ29sb3IgYmFja2dyb3VuZENvbG9yKDAs
MCwwLDApOworICAgIFdlYkNvcmU6OlN0eWxlSW1hZ2UgKnBCYWNrZ3JvdW5kSW1hZ2UgPSBzdHls
ZS0+YmFja2dyb3VuZEltYWdlKCk7CisgICAgaWYgKCFwQmFja2dyb3VuZEltYWdlKSB7CisgICAg
ICAgIGJhY2tncm91bmRDb2xvciA9IHN0eWxlLT5iYWNrZ3JvdW5kQ29sb3IoKTsKKyAgICAgICAg
aWYoYmFja2dyb3VuZENvbG9yID09IG1fZGVmYXVsdEJhY2tncm91bmRDb2xvcikKKyAgICAgICAg
ICAgIHJldHVybiByZXN1bHQ7CisgICAgfSBlbHNlIGlmICghcEJhY2tncm91bmRJbWFnZS0+Y2Fu
UmVuZGVyKDEuMGYpKQorICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIGVsc2UgeworICAgICAg
ICBJbWFnZSAqYmFja2dyb3VuZEltYWdlID0gcEJhY2tncm91bmRJbWFnZS0+aW1hZ2Uobywgby0+
YWJzb2x1dGVCb3VuZGluZ0JveFJlY3QoZmFsc2UpLnNpemUoKSk7CisgICAgICAgIGlmICghYmFj
a2dyb3VuZEltYWdlKQorICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgZWxzZSBp
ZiAoIWJhY2tncm91bmRJbWFnZS0+bmF0aXZlSW1hZ2VGb3JDdXJyZW50RnJhbWUoKSkgCisgICAg
ICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyAgICBvcHRpb24ucGFsZXR0ZS5zZXRDb2xv
cihRUGFsZXR0ZTo6V2luZG93LCBiYWNrZ3JvdW5kQ29sb3IpOworICAgIG9wdGlvbi5wYWxldHRl
LnNldENvbG9yKFFQYWxldHRlOjpCYXNlLCBiYWNrZ3JvdW5kQ29sb3IpOworICAgIG9wdGlvbi5w
YWxldHRlLnNldENvbG9yKFFQYWxldHRlOjpCdXR0b24sIGJhY2tncm91bmRDb2xvcik7CiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVt
ZVF0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmgJ
KHJldmlzaW9uIDQ5MDk3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTU1LDYgKzU1LDggQEAgcHVibGljOgogICAgIC8vIEEgZ2VuZXJh
bCBtZXRob2QgYXNraW5nIGlmIGFueSBjb250cm9sIHRpbnRpbmcgaXMgc3VwcG9ydGVkIGF0IGFs
bC4KICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNDb250cm9sVGludHMoKSBjb25zdDsKIAorICAg
IHZpcnR1YWwgYm9vbCBpc0NvbnRyb2xTdHlsZWQoY29uc3QgUmVuZGVyU3R5bGUqLCBjb25zdCBC
b3JkZXJEYXRhJiwgY29uc3QgRmlsbExheWVyJiwgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xv
cikgY29uc3Q7CisKICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0UmVwYWludFJlY3QoY29uc3QgUmVu
ZGVyT2JqZWN0KiBvLCBJbnRSZWN0JiByKTsKIAogICAgIC8vIFRoZSBwbGF0Zm9ybSBzZWxlY3Rp
b24gY29sb3IuCkBAIC0xNDgsNiArMTUwLDcgQEAgcHJpdmF0ZToKICAgICBRU3RyaW5nIG1fYnV0
dG9uRm9udEZhbWlseTsKIAogICAgIFFTdHlsZSogbV9mYWxsYmFja1N0eWxlOworICAgIFFDb2xv
ciBtX2RlZmF1bHRCYWNrZ3JvdW5kQ29sb3I7CiB9OwogCiBjbGFzcyBTdHlsZVBhaW50ZXIgewpJ
bmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgJKHJldmlzaW9uIDQ5MDk3KQorKysgV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5OSw2ICsyOTksNyBAQCBwdWJs
aWM6CiAjaWYgRU5BQkxFKFNWRykKICAgICB2aXJ0dWFsIFRyYW5zZm9ybWF0aW9uTWF0cml4IGxv
Y2FsVHJhbnNmb3JtKCkgY29uc3Q7CiAjZW5kaWYKKyAgICB2b2lkIHBhaW50RmlsbExheWVycyhj
b25zdCBQYWludEluZm8mLCBjb25zdCBDb2xvciYsIGNvbnN0IEZpbGxMYXllciosIGludCB0eCwg
aW50IHR5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQsIENvbXBvc2l0ZU9wZXJhdG9yID0gQ29tcG9z
aXRlU291cmNlT3Zlcik7CiAKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgc3R5bGVXaWxs
Q2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUqIG5ld1N0eWxlKTsKQEAg
LTMwNiw3ICszMDcsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUJveE1v
ZGVsSW5mb0Zyb21TdHlsZSgpOwogCiAgICAgdm9pZCBwYWludEZpbGxMYXllcihjb25zdCBQYWlu
dEluZm8mLCBjb25zdCBDb2xvciYsIGNvbnN0IEZpbGxMYXllciosIGludCB0eCwgaW50IHR5LCBp
bnQgd2lkdGgsIGludCBoZWlnaHQsIENvbXBvc2l0ZU9wZXJhdG9yID0gQ29tcG9zaXRlU291cmNl
T3Zlcik7Ci0gICAgdm9pZCBwYWludEZpbGxMYXllcnMoY29uc3QgUGFpbnRJbmZvJiwgY29uc3Qg
Q29sb3ImLCBjb25zdCBGaWxsTGF5ZXIqLCBpbnQgdHgsIGludCB0eSwgaW50IHdpZHRoLCBpbnQg
aGVpZ2h0LCBDb21wb3NpdGVPcGVyYXRvciA9IENvbXBvc2l0ZVNvdXJjZU92ZXIpOwogCiAgICAg
dm9pZCBwYWludE1hc2tJbWFnZXMoY29uc3QgUGFpbnRJbmZvJiwgaW50IHR4LCBpbnQgdHksIGlu
dCB3aWR0aCwgaW50IGhlaWdodCk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40816</attachid>
            <date>2009-10-07 13:00:15 -0700</date>
            <delta_ts>2009-11-17 06:51:15 -0800</delta_ts>
            <desc>WebCore: Add a palette() method that is needed by our RenderTheme.</desc>
            <filename>0001-WebCore-Add-a-palette-method-that-is-needed-by-ou.patch</filename>
            <type>text/plain</type>
            <size>3680</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">RnJvbSAzM2QxNDBlZWIyOTI0NzVmMGI1ODI3OWEyYThjMzUyNjIxOWVjY2M2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aEB3
ZWJraXQub3JnPgpEYXRlOiBXZWQsIDcgT2N0IDIwMDkgMTY6NDg6MTMgLTAzMDAKU3ViamVjdDog
W1BBVENIXSBXZWJDb3JlOiBBZGQgYSBwYWxldHRlKCkgbWV0aG9kIHRoYXQgaXMgbmVlZGVkIGJ5
IG91ciBSZW5kZXJUaGVtZS4KClBhdGNoIGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuIDxr
ZW5uZXRoQHdlYmtpdC5vcmc+IG9uIDIwMDktMTAtMDcKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCgoqIHBsYXRmb3JtL3F0L1FXZWJQYWdlQ2xpZW50Lmg6CgpXZWJLaXQvcXQ6IEltcGxlbWVu
dCB0aGUgbmV3IHBhbGV0dGUoKSBtZXRob2RzIG9uIHRoZSBwYWdlIGNsaWVudHMKClBhdGNoIGJ5
IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuIDxrZW5uZXRoQHdlYmtpdC5vcmc+IG9uIDIwMDkt
MTAtMDcKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgoqIEFwaS9xZ3JhcGhpY3N3ZWJ2aWV3
LmNwcDoKKFFHcmFwaGljc1dlYlZpZXdQcml2YXRlOjpwYWxldHRlKToKKiBBcGkvcXdlYnZpZXcu
Y3BwOgooUVdlYlZpZXdQcml2YXRlOjpwYWxldHRlKToKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAg
ICAgICAgICAgICAgICAgICAgfCAgICA4ICsrKysrKysrCiBXZWJDb3JlL3BsYXRmb3JtL3F0L1FX
ZWJQYWdlQ2xpZW50LmggfCAgICAxICsKIFdlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5j
cHAgICB8ICAgIDYgKysrKysrCiBXZWJLaXQvcXQvQXBpL3F3ZWJ2aWV3LmNwcCAgICAgICAgICAg
fCAgICA2ICsrKysrKwogV2ViS2l0L3F0L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgIHwgICAx
MSArKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspLCAwIGRlbGV0
aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggYWNmZjNkYy4uYWQ5MzdlOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMSBAQAorMjAwOS0xMC0wNyAgS2Vu
bmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgcGFsZXR0ZSgpIG1l
dGhvZCB0aGF0IGlzIG5lZWRlZCBieSBvdXIgUmVuZGVyVGhlbWUuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9xdC9RV2ViUGFnZUNsaWVudC5oOgorCiAyMDA5LTEwLTA3ICBBZGFtIFJvYmVuICA8YXJv
YmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggdHlwbyBpbiBQbHVnaW5WaWV3Ojpsb2FkIHRo
YXQgd2FzIGNhdXNpbmcgY3Jvc3Mtb3JpZ2luIGxvYWRzIHRvCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL3F0L1FXZWJQYWdlQ2xpZW50LmggYi9XZWJDb3JlL3BsYXRmb3JtL3F0L1FXZWJQ
YWdlQ2xpZW50LmgKaW5kZXggMDlmNzg4Ni4uNzVlMjVmOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9xdC9RV2ViUGFnZUNsaWVudC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vcXQvUVdl
YlBhZ2VDbGllbnQuaApAQCAtNTIsNiArNTIsNyBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICB9CiAK
KyAgICB2aXJ0dWFsIFFQYWxldHRlIHBhbGV0dGUoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBp
bnQgc2NyZWVuTnVtYmVyKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgV0lkIHdpbklkKCkgY29u
c3QgPSAwOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQXBpL3FncmFwaGljc3dlYnZpZXcuY3Bw
IGIvV2ViS2l0L3F0L0FwaS9xZ3JhcGhpY3N3ZWJ2aWV3LmNwcAppbmRleCBjMjY3NzQ1Li40ZTZl
YjkwIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3FncmFwaGljc3dlYnZpZXcuY3BwCisrKyBi
L1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5jcHAKQEAgLTUwLDYgKzUwLDcgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVDdXJzb3IoY29uc3QgUUN1cnNvciYgY3Vyc29y
KTsKICNlbmRpZgogCisgICAgdmlydHVhbCBRUGFsZXR0ZSBwYWxldHRlKCkgY29uc3Q7CiAgICAg
dmlydHVhbCBpbnQgc2NyZWVuTnVtYmVyKCkgY29uc3Q7CiAgICAgdmlydHVhbCBXSWQgd2luSWQo
KSBjb25zdDsKIApAQCAtMTA4LDYgKzEwOSwxMSBAQCB2b2lkIFFHcmFwaGljc1dlYlZpZXdQcml2
YXRlOjp1cGRhdGVDdXJzb3IoY29uc3QgUUN1cnNvciYgY3Vyc29yKQogfQogI2VuZGlmCiAKK1FQ
YWxldHRlIFFHcmFwaGljc1dlYlZpZXdQcml2YXRlOjpwYWxldHRlKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gcS0+cGFsZXR0ZSgpOworfQorCiBpbnQgUUdyYXBoaWNzV2ViVmlld1ByaXZhdGU6OnNj
cmVlbk51bWJlcigpIGNvbnN0CiB7CiAjaWYgZGVmaW5lZChRX1dTX1gxMSkKZGlmZiAtLWdpdCBh
L1dlYktpdC9xdC9BcGkvcXdlYnZpZXcuY3BwIGIvV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5jcHAK
aW5kZXggY2U4YjkyMy4uZmQ5NjhiOSAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0FwaS9xd2Vidmll
dy5jcHAKKysrIGIvV2ViS2l0L3F0L0FwaS9xd2Vidmlldy5jcHAKQEAgLTUzLDYgKzUzLDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVDdXJzb3IoY29uc3QgUUN1cnNvciYgY3Vy
c29yKTsKICNlbmRpZgogCisgICAgdmlydHVhbCBRUGFsZXR0ZSBwYWxldHRlKCkgY29uc3Q7CiAg
ICAgdmlydHVhbCBpbnQgc2NyZWVuTnVtYmVyKCkgY29uc3Q7CiAgICAgdmlydHVhbCBXSWQgd2lu
SWQoKSBjb25zdDsKIApAQCAtODgsNiArODksMTEgQEAgdm9pZCBRV2ViVmlld1ByaXZhdGU6OnVw
ZGF0ZUN1cnNvcihjb25zdCBRQ3Vyc29yJiBjdXJzb3IpCiB9CiAjZW5kaWYKIAorUVBhbGV0dGUg
UVdlYlZpZXdQcml2YXRlOjpwYWxldHRlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdmlldy0+cGFs
ZXR0ZSgpOworfQorCiBpbnQgUVdlYlZpZXdQcml2YXRlOjpzY3JlZW5OdW1iZXIoKSBjb25zdAog
ewogI2lmIGRlZmluZWQoUV9XU19YMTEpCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvQ2hhbmdlTG9n
IGIvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCBkODBjYmRmLi4zYjg3ZWZjIDEwMDY0NAotLS0g
YS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAwOS0xMC0wNyAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRo
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSW1wbGVtZW50IHRoZSBuZXcgcGFsZXR0ZSgpIG1ldGhvZHMgb24gdGhlIHBhZ2UgY2xp
ZW50cworCisgICAgICAgICogQXBpL3FncmFwaGljc3dlYnZpZXcuY3BwOgorICAgICAgICAoUUdy
YXBoaWNzV2ViVmlld1ByaXZhdGU6OnBhbGV0dGUpOgorICAgICAgICAqIEFwaS9xd2Vidmlldy5j
cHA6CisgICAgICAgIChRV2ViVmlld1ByaXZhdGU6OnBhbGV0dGUpOgorCiAyMDA5LTEwLTA3ICBB
bnRvbmlvIEdvbWVzICA8dG9uaWtpdG9vQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgU2ltb24gSGF1c21hbm4uCi0tIAoxLjYuMC40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41107</attachid>
            <date>2009-10-13 09:36:03 -0700</date>
            <delta_ts>2009-10-13 11:26:01 -0700</delta_ts>
            <desc>Proposed patch (limited changes)</desc>
            <filename>patchFor30173-4.patch</filename>
            <type>text/plain</type>
            <size>20204</size>
            <attacher name="Carol Szabo">carol</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0OTUwMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMDktMTAtMTMgIENhcm9sIFN6YWJvICA8Y2Fyb2wuc3phYm9Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE1ha2UgaXQgcG9zc2libGUgdG8gYXBwbHkgdGhlIENTUyBiYWNrZ3JvdW5kIGNvbG9yIHRvIHRo
ZSBuYXRpdmUKKyAgICAgICAgcGFpbnRlZCB3aWRnZXRzLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAxNzMKKworICAgICAgICAqIHBsYXRmb3JtL3F0
L1JlbmRlclRoZW1lUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6aXND
b250cm9sU3R5bGVkKToKKyAgICAgICAgU3BlY2lhbGl6ZWQgZm9yIFF0IGluIG9yZGVyIHRvIGNh
cHR1cmUgdGhlIGRlZmF1bHQgKG5vbi1hdXRob3IgYWx0ZXJlZCkgYmFja2dyb3VuZCBjb2xvcgor
ICAgICAgICBzdWNoIHRoYXQgYXQgcGFpbnQgdGltZSB3ZSBjYW4gZGV0ZXJtaW5lIHdoZXRoZXIg
dG8gcGFpbnQgdGhlIHRoZW1lIGRlZmluZWQgYmFja2dyb3VuZCBvcgorICAgICAgICB0aGUgYXV0
aG9yIHNlbGVjdGVkIGJhY2tncm91bmQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0
OjphZGp1c3RDb21tb25PcHRpb25zKToKKyAgICAgICAgVGhpcyBmdW5jdGlvbiB3YXMgcmVuYW1l
ZCBmcm9tIGFwcGx5VGhlbWUgYmVjYXVzZSB0aGUgcHJldmlvdXMgbmFtZSB3YXMgbm90IGRlc2Ny
aXB0aXZlIG9mCisgICAgICAgIHdoYXQgdGhlIGZ1bmN0aW9uIGFjdHVhbGx5IGRpZCwgd2hpY2gg
d2FzIChhbmQgY29udGludWVzIHRvIGJlKSB0byBhZGp1c3QgdGhlIG9wdGlvbiBzZXR0aW5ncwor
ICAgICAgICBiYXNlZCBvbiB0aGUgY29udHJvbCdzIHN0eWxlIGFuZCBzdGF0ZS4KKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50QnV0dG9uKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lUXQ6OnBhaW50VGV4dEZpZWxkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRoZW1lUXQ6OnBhaW50TWVudUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVR
dDo6cGFpbnRNZW51TGlzdEJ1dHRvbik6CisgICAgICAgIE1vZGlmaWVkIG9ubHkgZHVlIHRvIHJl
bmFtaW5nIG9mIHRoZSBhcHBseVRoZW1lIG1ldGhvZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRoZW1lUXQ6OmFkanVzdFRleHRGaWVsZFN0eWxlKToKKyAgICAgICAgUmVtb3ZlZCB0aGUgbGlu
ZSB0aGF0IG1ha2VzIHRoZSBiYWNrZ3JvdW5kIHRyYW5zcGFyZW50IGluIG9yZGVyIHRvIGhhdmUg
dGhlIGNvbG9yIGF2YWlsYWJsZSBmb3IKKyAgICAgICAgcGFpbnRpbmcuCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUaGVtZVF0OjphZGp1c3RTZWFyY2hGaWVsZFN0eWxlKToKKyAgICAgICAgQ2hh
bmdlZCB0byB1c2UgdGhlIHNhbWUgbG9naWMgYXMgYWRqdXN0VGV4dEZpZWxkU3R5bGUgc2luY2Ug
dGhlIHNlYXJjaCBmaWVsZCBmb3IgcXQgaXMgbm90aGluZyBidXQKKyAgICAgICAgYSB0ZXh0IGZp
ZWxkIGZvciBub3cuCisgICAgICAgICogcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5oOgorCiAy
MDA5LTEwLTEzICBHaXJpc2ggUmFtYWtyaXNobmFuICA8Z2lyaXNoQGZvcndhcmRiaWFzLmluPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgpJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3Jt
L3F0L1JlbmRlclRoZW1lUXQuY3BwCShyZXZpc2lvbiA0OTUwMikKKysrIFdlYkNvcmUvcGxhdGZv
cm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQyLDcgQEAK
ICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2lu
Y2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJRV2ViUGFnZUNsaWVudC5oIgogI2luY2x1ZGUgIlJl
bmRlckJveC5oIgogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAjaW5jbHVkZSAiVXNlckFnZW50
U3R5bGVTaGVldHMuaCIKQEAgLTIwNiw2ICsyMDcsMzAgQEAgYm9vbCBSZW5kZXJUaGVtZVF0Ojpz
dXBwb3J0c0NvbnRyb2xUaW50cwogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIFJlbmRlclRo
ZW1lUXQ6OmlzQ29udHJvbFN0eWxlZChjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEJv
cmRlckRhdGEmIGJvcmRlckRhdGEsIGNvbnN0IEZpbGxMYXllciYgZmlsbExheWVyLCBjb25zdCBD
b2xvciYgYmFja2dyb3VuZENvbG9yKSBjb25zdAoreworICAgIHN3aXRjaCAoc3R5bGUtPmFwcGVh
cmFuY2UoKSkgeworICAgIGNhc2UgUHVzaEJ1dHRvblBhcnQ6CisgICAgY2FzZSBTcXVhcmVCdXR0
b25QYXJ0OgorICAgIGNhc2UgQnV0dG9uUGFydDoKKyAgICBjYXNlIEJ1dHRvbkJldmVsUGFydDoK
KyAgICBjYXNlIExpc3RJdGVtUGFydDoKKyAgICBjYXNlIE1lbnVsaXN0QnV0dG9uUGFydDoKKyAg
ICBjYXNlIFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvblBhcnQ6CisgICAgY2FzZSBTZWFyY2hGaWVs
ZENhbmNlbEJ1dHRvblBhcnQ6IHsKKyAgICAgICAgKihjb25zdF9jYXN0PFFDb2xvcio+KCZtX2Rl
ZmF1bHRCdXR0b25CYWNrZ3JvdW5kQ29sb3IpKSA9IGJhY2tncm91bmRDb2xvcjsKKyAgICAgICAg
YnJlYWs7CisgICAgfQorICAgIGNhc2UgUmFkaW9QYXJ0OgorICAgIGNhc2UgQ2hlY2tib3hQYXJ0
OgorICAgIGNhc2UgU2VhcmNoRmllbGRQYXJ0OgorICAgIGNhc2UgVGV4dEZpZWxkUGFydDoKKyAg
ICBjYXNlIFRleHRBcmVhUGFydDoKKyAgICAgICAgKihjb25zdF9jYXN0PFFDb2xvcio+KCZtX2Rl
ZmF1bHRUZXh0QmFja2dyb3VuZENvbG9yKSkgPSBiYWNrZ3JvdW5kQ29sb3I7CisgICAgICAgIGJy
ZWFrOworICAgIH0KKyAgICByZXR1cm4gUmVuZGVyVGhlbWU6OmlzQ29udHJvbFN0eWxlZChzdHls
ZSwgYm9yZGVyRGF0YSwgZmlsbExheWVyLCBiYWNrZ3JvdW5kQ29sb3IpOworfTsKIHN0YXRpYyBp
bnQgZmluZEZyYW1lTGluZVdpZHRoKFFTdHlsZSogc3R5bGUpCiB7CiAgICAgUUxpbmVFZGl0IGxp
bmVFZGl0OwpAQCAtNDc1LDcgKzUwMCw3IEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRCdXR0
b24oUmVuZGVyT2IKICAgICBvcHRpb24ucmVjdCA9IHI7CiAgICAgb3B0aW9uLnN0YXRlIHw9IFFT
dHlsZTo6U3RhdGVfU21hbGw7CiAKLSAgICBDb250cm9sUGFydCBhcHBlYXJhbmNlID0gYXBwbHlU
aGVtZShvcHRpb24sIG8pOworICAgIENvbnRyb2xQYXJ0IGFwcGVhcmFuY2UgPSBhZGp1c3RDb21t
b25PcHRpb25zKG9wdGlvbiwgbyk7CiAgICAgaWYgKGFwcGVhcmFuY2UgPT0gUHVzaEJ1dHRvblBh
cnQgfHwgYXBwZWFyYW5jZSA9PSBCdXR0b25QYXJ0KSB7CiAgICAgICAgIG9wdGlvbi5yZWN0ID0g
aW5mbGF0ZUJ1dHRvblJlY3Qob3B0aW9uLnJlY3QsIHFTdHlsZSgpKTsKICAgICAgICAgcC5kcmF3
Q29udHJvbChRU3R5bGU6OkNFX1B1c2hCdXR0b24sIG9wdGlvbik7CkBAIC00ODksNyArNTE0LDYg
QEAgYm9vbCBSZW5kZXJUaGVtZVF0OjpwYWludEJ1dHRvbihSZW5kZXJPYgogCiB2b2lkIFJlbmRl
clRoZW1lUXQ6OmFkanVzdFRleHRGaWVsZFN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5kZXJT
dHlsZSogc3R5bGUsIEVsZW1lbnQqKSBjb25zdAogewotICAgIHN0eWxlLT5zZXRCYWNrZ3JvdW5k
Q29sb3IoQ29sb3I6OnRyYW5zcGFyZW50KTsKICAgICBzdHlsZS0+cmVzZXRCb3JkZXIoKTsKICAg
ICBzdHlsZS0+cmVzZXRQYWRkaW5nKCk7CiAgICAgY29tcHV0ZVNpemVCYXNlZE9uU3R5bGUoc3R5
bGUpOwpAQCAtNTExLDcgKzUzNSw3IEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRUZXh0Rmll
bGQoUmVuZGUKICAgICBwYW5lbC5mZWF0dXJlcyA9IFFTdHlsZU9wdGlvbkZyYW1lVjI6Ok5vbmU7
CiAKICAgICAvLyBHZXQgdGhlIGNvcnJlY3QgdGhlbWUgZGF0YSBmb3IgYSB0ZXh0IGZpZWxkCi0g
ICAgQ29udHJvbFBhcnQgYXBwZWFyYW5jZSA9IGFwcGx5VGhlbWUocGFuZWwsIG8pOworICAgIENv
bnRyb2xQYXJ0IGFwcGVhcmFuY2UgPSBhZGp1c3RDb21tb25PcHRpb25zKHBhbmVsLCBvKTsKICAg
ICBpZiAoYXBwZWFyYW5jZSAhPSBUZXh0RmllbGRQYXJ0CiAgICAgICAgICYmIGFwcGVhcmFuY2Ug
IT0gU2VhcmNoRmllbGRQYXJ0CiAgICAgICAgICYmIGFwcGVhcmFuY2UgIT0gVGV4dEFyZWFQYXJ0
CkBAIC01MjAsNyArNTQ0LDYgQEAgYm9vbCBSZW5kZXJUaGVtZVF0OjpwYWludFRleHRGaWVsZChS
ZW5kZQogCiAgICAgLy8gTm93IHBhaW50IHRoZSB0ZXh0IGZpZWxkLgogICAgIHAuZHJhd1ByaW1p
dGl2ZShRU3R5bGU6OlBFX1BhbmVsTGluZUVkaXQsIHBhbmVsKTsKLQogICAgIHJldHVybiBmYWxz
ZTsKIH0KIApAQCAtNTczLDcgKzU5Niw3IEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRNZW51
TGlzdChSZW5kZXIKICAgICBRU3R5bGVPcHRpb25Db21ib0JveCBvcHQ7CiAgICAgaWYgKHAud2lk
Z2V0KQogICAgICAgICBvcHQuaW5pdEZyb20ocC53aWRnZXQpOwotICAgIGFwcGx5VGhlbWUob3B0
LCBvKTsKKyAgICBhZGp1c3RDb21tb25PcHRpb25zKG9wdCwgbyk7CiAKICAgICBjb25zdCBRUG9p
bnQgdG9wTGVmdCA9IHIudG9wTGVmdCgpOwogICAgIHAucGFpbnRlci0+dHJhbnNsYXRlKHRvcExl
ZnQpOwpAQCAtNjEzLDcgKzYzNiw3IEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRNZW51TGlz
dEJ1dHRvbigKICAgICBRU3R5bGVPcHRpb25Db21ib0JveCBvcHRpb247CiAgICAgaWYgKHAud2lk
Z2V0KQogICAgICAgICBvcHRpb24uaW5pdEZyb20ocC53aWRnZXQpOwotICAgIGFwcGx5VGhlbWUo
b3B0aW9uLCBvKTsKKyAgICBhZGp1c3RDb21tb25PcHRpb25zKG9wdGlvbiwgbyk7CiAgICAgb3B0
aW9uLnJlY3QgPSByOwogCiAgICAgLy8gZm9yIGRyYXdpbmcgdGhlIGNvbWJvIGJveCBhcnJvdywg
cmVseSBvbmx5IG9uIHRoZSBmYWxsYmFjayBzdHlsZQpAQCAtNjQ5LDcgKzY3Miw3IEBAIHZvaWQg
UmVuZGVyVGhlbWVRdDo6YWRqdXN0U2VhcmNoRmllbGRTdHkKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBFbGVtZW50KiBlKSBjb25zdAogewogICAgIG5vdEltcGxl
bWVudGVkKCk7Ci0gICAgUmVuZGVyVGhlbWU6OmFkanVzdFNlYXJjaEZpZWxkU3R5bGUoc2VsZWN0
b3IsIHN0eWxlLCBlKTsKKyAgICBhZGp1c3RUZXh0RmllbGRTdHlsZShzZWxlY3Rvciwgc3R5bGUs
IGUpOwogfQogCiB2b2lkIFJlbmRlclRoZW1lUXQ6OmFkanVzdFNlYXJjaEZpZWxkQ2FuY2VsQnV0
dG9uU3R5bGUoQ1NTU3R5bGVTZWxlY3Rvciogc2VsZWN0b3IsIFJlbmRlclN0eWxlKiBzdHlsZSwK
QEAgLTcxMSw3ICs3MzQsNyBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnN1cHBvcnRzRm9jdXMoQ29u
dHJvCiAgICAgfQogfQogCi1Db250cm9sUGFydCBSZW5kZXJUaGVtZVF0OjphcHBseVRoZW1lKFFT
dHlsZU9wdGlvbiYgb3B0aW9uLCBSZW5kZXJPYmplY3QqIG8pIGNvbnN0CitDb250cm9sUGFydCBS
ZW5kZXJUaGVtZVF0OjphZGp1c3RDb21tb25PcHRpb25zKFFTdHlsZU9wdGlvbiYgb3B0aW9uLCBS
ZW5kZXJPYmplY3QqIG8pIGNvbnN0CiB7CiAgICAgLy8gRGVmYXVsdCBiaXRzOiBubyBmb2N1cywg
bm8gbW91c2Ugb3ZlcgogICAgIG9wdGlvbi5zdGF0ZSAmPSB+KFFTdHlsZTo6U3RhdGVfSGFzRm9j
dXMgfCBRU3R5bGU6OlN0YXRlX01vdXNlT3Zlcik7CkBAIC03MjMsMjAgKzc0NiwzNSBAQCBDb250
cm9sUGFydCBSZW5kZXJUaGVtZVF0OjphcHBseVRoZW1lKFFTCiAgICAgICAgIC8vIFJlYWRvbmx5
IGlzIHN1cHBvcnRlZCBvbiB0ZXh0ZmllbGRzLgogICAgICAgICBvcHRpb24uc3RhdGUgfD0gUVN0
eWxlOjpTdGF0ZV9SZWFkT25seTsKIAotICAgIGlmIChzdXBwb3J0c0ZvY3VzKG8tPnN0eWxlKCkt
PmFwcGVhcmFuY2UoKSkgJiYgaXNGb2N1c2VkKG8pKSB7Ci0gICAgICAgIG9wdGlvbi5zdGF0ZSB8
PSBRU3R5bGU6OlN0YXRlX0hhc0ZvY3VzOwotICAgICAgICBvcHRpb24uc3RhdGUgfD0gUVN0eWxl
OjpTdGF0ZV9LZXlib2FyZEZvY3VzQ2hhbmdlOwotICAgIH0KKyAgICBvcHRpb24uZGlyZWN0aW9u
ID0gUXQ6OkxlZnRUb1JpZ2h0OwogCiAgICAgaWYgKGlzSG92ZXJlZChvKSkKICAgICAgICAgb3B0
aW9uLnN0YXRlIHw9IFFTdHlsZTo6U3RhdGVfTW91c2VPdmVyOwogCi0gICAgb3B0aW9uLmRpcmVj
dGlvbiA9IFF0OjpMZWZ0VG9SaWdodDsKLSAgICBpZiAoby0+c3R5bGUoKSAmJiBvLT5zdHlsZSgp
LT5kaXJlY3Rpb24oKSA9PSBXZWJDb3JlOjpSVEwpCisgICAgLy8gSWYgdGhlIHdlYnZpZXcgaGFz
IGEgY3VzdG9tIHBhbGV0dGUsIHVzZSBpdAorICAgIFBhZ2UqIHBhZ2UgPSBvLT5kb2N1bWVudCgp
LT5wYWdlKCk7CisgICAgaWYgKHBhZ2UpIHsKKyAgICAgICAgQ2hyb21lKiBjaHJvbWUgPSBwYWdl
LT5jaHJvbWUoKTsKKyAgICAgICAgaWYgKGNocm9tZSkgeworICAgICAgICAgICAgQ2hyb21lQ2xp
ZW50KiBjaHJvbWVDbGllbnQgPSBjaHJvbWUtPmNsaWVudCgpOworICAgICAgICAgICAgaWYgKGNo
cm9tZUNsaWVudCkgeworICAgICAgICAgICAgICAgIFBsYXRmb3JtUGFnZUNsaWVudCBwYWdlQ2xp
ZW50ID0gY2hyb21lQ2xpZW50LT5wbGF0Zm9ybVBhZ2VDbGllbnQoKTsKKyAgICAgICAgICAgICAg
ICBpZiAocGFnZUNsaWVudCkKKyAgICAgICAgICAgICAgICAgICAgb3B0aW9uLnBhbGV0dGUgPSBw
YWdlQ2xpZW50LT5wYWxldHRlKCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cisg
ICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gby0+c3R5bGUoKTsKKyAgICBpZiAoIXN0eWxlKQorICAg
ICAgICByZXR1cm4gTm9Db250cm9sUGFydDsKKyAgICBDb250cm9sUGFydCByZXN1bHQgPSBzdHls
ZS0+YXBwZWFyYW5jZSgpOworICAgIGlmIChzdXBwb3J0c0ZvY3VzKHJlc3VsdCkgJiYgaXNGb2N1
c2VkKG8pKSB7CisgICAgICAgIG9wdGlvbi5zdGF0ZSB8PSBRU3R5bGU6OlN0YXRlX0hhc0ZvY3Vz
OworICAgICAgICBvcHRpb24uc3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9LZXlib2FyZEZvY3VzQ2hh
bmdlOworICAgIH0KKyAgICBpZiAoc3R5bGUtPmRpcmVjdGlvbigpID09IFdlYkNvcmU6OlJUTCkK
ICAgICAgICAgb3B0aW9uLmRpcmVjdGlvbiA9IFF0OjpSaWdodFRvTGVmdDsKLQotICAgIENvbnRy
b2xQYXJ0IHJlc3VsdCA9IG8tPnN0eWxlKCktPmFwcGVhcmFuY2UoKTsKLQorICAgIFFDb2xvciBi
YWNrZ3JvdW5kQ29sb3IgPSBzdHlsZS0+YmFja2dyb3VuZENvbG9yKCk7CiAgICAgc3dpdGNoIChy
ZXN1bHQpIHsKICAgICBjYXNlIFB1c2hCdXR0b25QYXJ0OgogICAgIGNhc2UgU3F1YXJlQnV0dG9u
UGFydDoKQEAgLTc1MCwyMSArNzg4LDI3IEBAIENvbnRyb2xQYXJ0IFJlbmRlclRoZW1lUXQ6OmFw
cGx5VGhlbWUoUVMKICAgICAgICAgICAgIG9wdGlvbi5zdGF0ZSB8PSBRU3R5bGU6OlN0YXRlX1N1
bmtlbjsKICAgICAgICAgZWxzZSBpZiAocmVzdWx0ID09IFB1c2hCdXR0b25QYXJ0KQogICAgICAg
ICAgICAgb3B0aW9uLnN0YXRlIHw9IFFTdHlsZTo6U3RhdGVfUmFpc2VkOworICAgICAgICBpZiAo
YmFja2dyb3VuZENvbG9yICE9IG1fZGVmYXVsdEJ1dHRvbkJhY2tncm91bmRDb2xvcikKKyAgICAg
ICAgICAgIG9wdGlvbi5wYWxldHRlLnNldENvbG9yKFFQYWxldHRlOjpCdXR0b24sIGJhY2tncm91
bmRDb2xvcik7CiAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICB9Ci0KLSAgICBpZiAocmVzdWx0
ID09IFJhZGlvUGFydCB8fCByZXN1bHQgPT0gQ2hlY2tib3hQYXJ0KQorICAgIGNhc2UgUmFkaW9Q
YXJ0OgorICAgIGNhc2UgQ2hlY2tib3hQYXJ0OgogICAgICAgICBvcHRpb24uc3RhdGUgfD0gKGlz
Q2hlY2tlZChvKSA/IFFTdHlsZTo6U3RhdGVfT24gOiBRU3R5bGU6OlN0YXRlX09mZik7Ci0KLSAg
ICAvLyBJZiB0aGUgd2VidmlldyBoYXMgYSBjdXN0b20gcGFsZXR0ZSwgdXNlIGl0Ci0gICAgUGFn
ZSogcGFnZSA9IG8tPmRvY3VtZW50KCktPnBhZ2UoKTsKLSAgICBpZiAocGFnZSkgewotICAgICAg
ICBRV2lkZ2V0KiB2aWV3ID0gc3RhdGljX2Nhc3Q8Q2hyb21lQ2xpZW50UXQqPihwYWdlLT5jaHJv
bWUoKS0+Y2xpZW50KCkpLT5tX3dlYlBhZ2UtPnZpZXcoKTsKLSAgICAgICAgaWYgKHZpZXcpCi0g
ICAgICAgICAgICBvcHRpb24ucGFsZXR0ZSA9IHZpZXctPnBhbGV0dGUoKTsKKyAgICAgICAgaWYg
KGJhY2tncm91bmRDb2xvciAhPSBtX2RlZmF1bHRUZXh0QmFja2dyb3VuZENvbG9yKSB7CisgICAg
ICAgICAgICBvcHRpb24ucGFsZXR0ZS5zZXRDb2xvcihRUGFsZXR0ZTo6QnV0dG9uLCBiYWNrZ3Jv
dW5kQ29sb3IpOworICAgICAgICAgICAgb3B0aW9uLnBhbGV0dGUuc2V0Q29sb3IoUVBhbGV0dGU6
OldpbmRvdywgYmFja2dyb3VuZENvbG9yKTsKKyAgICAgICAgICAgIG9wdGlvbi5wYWxldHRlLnNl
dENvbG9yKFFQYWxldHRlOjpCYXNlLCBiYWNrZ3JvdW5kQ29sb3IpOworICAgICAgICAgICAgb3B0
aW9uLnBhbGV0dGUuc2V0Q29sb3IoUVBhbGV0dGU6OlRleHQsIHN0eWxlLT5jb2xvcigpKTsKKyAg
ICAgICAgfQorICAgICAgICBicmVhazsKKyAgICBjYXNlIFNlYXJjaEZpZWxkUGFydDoKKyAgICBj
YXNlIFRleHRGaWVsZFBhcnQ6CisgICAgY2FzZSBUZXh0QXJlYVBhcnQ6CisgICAgICAgIGlmIChi
YWNrZ3JvdW5kQ29sb3IgIT0gbV9kZWZhdWx0VGV4dEJhY2tncm91bmRDb2xvcikKKyAgICAgICAg
ICAgIG9wdGlvbi5wYWxldHRlLnNldENvbG9yKFFQYWxldHRlOjpCYXNlLCBiYWNrZ3JvdW5kQ29s
b3IpOworICAgICAgICBicmVhazsKICAgICB9Ci0KICAgICByZXR1cm4gcmVzdWx0OwogfQogCklu
ZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuaAkocmV2aXNpb24gNDk1MDIpCisrKyBX
ZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuaAkod29ya2luZyBjb3B5KQpAQCAtNTUs
NiArNTUsOCBAQCBwdWJsaWM6CiAgICAgLy8gQSBnZW5lcmFsIG1ldGhvZCBhc2tpbmcgaWYgYW55
IGNvbnRyb2wgdGludGluZyBpcyBzdXBwb3J0ZWQgYXQgYWxsLgogICAgIHZpcnR1YWwgYm9vbCBz
dXBwb3J0c0NvbnRyb2xUaW50cygpIGNvbnN0OwogCisgICAgdmlydHVhbCBib29sIGlzQ29udHJv
bFN0eWxlZChjb25zdCBSZW5kZXJTdHlsZSosIGNvbnN0IEJvcmRlckRhdGEmLCBjb25zdCBGaWxs
TGF5ZXImLCBjb25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9yKSBjb25zdDsKKwogICAgIHZpcnR1
YWwgdm9pZCBhZGp1c3RSZXBhaW50UmVjdChjb25zdCBSZW5kZXJPYmplY3QqIG8sIEludFJlY3Qm
IHIpOwogCiAgICAgLy8gVGhlIHBsYXRmb3JtIHNlbGVjdGlvbiBjb2xvci4KQEAgLTEzMiw3ICsx
MzQsNyBAQCBwcml2YXRlOgogcHJpdmF0ZToKICAgICBib29sIHN1cHBvcnRzRm9jdXMoQ29udHJv
bFBhcnQpIGNvbnN0OwogCi0gICAgQ29udHJvbFBhcnQgYXBwbHlUaGVtZShRU3R5bGVPcHRpb24m
LCBSZW5kZXJPYmplY3QqKSBjb25zdDsKKyAgICBDb250cm9sUGFydCBhZGp1c3RDb21tb25PcHRp
b25zKFFTdHlsZU9wdGlvbiYsIFJlbmRlck9iamVjdCopIGNvbnN0OwogCiAgICAgdm9pZCBzZXRC
dXR0b25QYWRkaW5nKFJlbmRlclN0eWxlKikgY29uc3Q7CiAgICAgdm9pZCBzZXRQb3B1cFBhZGRp
bmcoUmVuZGVyU3R5bGUqKSBjb25zdDsKQEAgLTE0OCw2ICsxNTAsOCBAQCBwcml2YXRlOgogICAg
IFFTdHJpbmcgbV9idXR0b25Gb250RmFtaWx5OwogCiAgICAgUVN0eWxlKiBtX2ZhbGxiYWNrU3R5
bGU7CisgICAgUUNvbG9yIG1fZGVmYXVsdFRleHRCYWNrZ3JvdW5kQ29sb3I7CisgICAgUUNvbG9y
IG1fZGVmYXVsdEJ1dHRvbkJhY2tncm91bmRDb2xvcjsKIH07CiAKIGNsYXNzIFN0eWxlUGFpbnRl
ciB7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA0OTUwMikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDA5LTEwLTEzICBDYXJvbCBTemFibyAg
PGNhcm9sLnN6YWJvQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBOZWVkIGEgc2hvcnQgZGVzY3JpcHRpb24gYW5kIGJ1ZyBVUkwgKE9P
UFMhKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAx
NzMKKworICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvY3NzL3BzZXVkby1jYWNoZS1zdGFsZS1l
eHBlY3RlZC50eHQ6CisgICAgICAgIFVwZGF0ZWQgcmVzdWx0cyBkdWUgdG8gZGlmZmVyZW50IHNp
emUgb2YgdGhlIHNlYXJjaCBjb250cm9sIHNpbmNlCisgICAgICAgIG5vdyBpdCBpcyByZW5kZXJl
ZCBhcyBhIHRleHQgY29udHJvbCBieSB0aGUgcGxhdGZvcm0sIG5vdCBpbnRlcm5hbGx5CisgICAg
ICAgIGJ5IFdlYktpdC4KKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL2lzaW5kZXgt
cGxhY2Vob2xkZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvZm9y
bXMvdGV4dC1zdHlsZS1jb2xvci1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQv
ZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci1wc2V1ZG8tc3R5bGUtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXIt
c2V0LWF0dHJpYnV0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9m
b3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci1zZXQtdmFsdWUtZXhwZWN0ZWQudHh0OgorICAgICAg
ICBVcGRhdGVkIHJlc3VsdHMgdG8gaW5jbHVkZSB0aGUgYmdjb2xvciBhdHRyaWJ1dGUgd2hpY2gg
aXMgbm8gbG9uZ2VyIAorICAgICAgICB0cmFuc3BhcmVudCBhbmQgdGh1cyBpdCBnZXRzIGxvZ2dl
ZC4KKwogMjAwOS0xMC0xMyAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBMYXlvdXQgdGVzdCBmaXgsIHJldmVydGluZyBwcmV2aW91cyBjaGFuZ2UuCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Nzcy9wc2V1ZG8tY2FjaGUtc3RhbGUt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3Qv
Y3NzL3BzZXVkby1jYWNoZS1zdGFsZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQ5NTAyKQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9jc3MvcHNldWRvLWNhY2hlLXN0YWxlLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTIsMTUgKzEyLDE1IEBAIGxheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsNDEpIHNpemUgNzg0
eDIxCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI5OHg0MQogICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDI5ODogIlRoaXMgc2VudGVuY2Ugc2hvdWxk
IGJlIGV4dHJhLWV4dHJhLWxhcmdlLiIKLSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0
ICgwLDYyKSBzaXplIDc4NHgzMQotICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0
ICgyLDIpIHNpemUgMTc3eDI3IFtiZ2NvbG9yPSNGRkZGRkZdIFtib3JkZXI6ICgycHggaW5zZXQg
IzAwMDAwMCldCi0gICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDMsMykgc2l6ZSAxNzF4
MjEKKyAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDYyKSBzaXplIDc4NHgyNQor
ICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyLDIpIHNpemUgMTcxeDIxIFti
Z2NvbG9yPSNGRkZGRkZdCisgICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6
ZSAxNzF4MjEKICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDE2KSBzaXplIDB4
MAogICAgICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDE3MSwxNikgc2l6ZSAweDAKICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAweDAKLWxheWVyIGF0ICgxMyw3NSkgc2l6ZSAxNzF4MjEKK2xheWVy
IGF0ICgxMCw3Mikgc2l6ZSAxNzF4MjEKICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6
ZSAxNzF4MjEgW2NvbG9yPSMwMDgwMDBdCiAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDAp
IHNpemUgMTUweDIxCiAgICAgICB0ZXh0IHJ1biBhdCAoMSwwKSB3aWR0aCAxNTA6ICJUaGlzIHNo
b3VsZCBiZSBncmVlbiIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMv
aXNpbmRleC1wbGFjZWhvbGRlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9pc2luZGV4LXBsYWNlaG9sZGVyLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNDk1MDIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1z
L2lzaW5kZXgtcGxhY2Vob2xkZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xOSw3
ICsxOSw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICBSZW5kZXJCbG9j
ayAoYW5vbnltb3VzKSBhdCAoMCwxMCkgc2l6ZSA3ODR4MzEKICAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsNSkgc2l6ZSAzNjR4MjEKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDUpIHdpZHRoIDM2NDogIlRoaXMgaXMgYSBzZWFyY2hhYmxlIGluZGV4LiBFbnRlciBzZWFyY2gg
a2V5d29yZHM6ICIKLSAgICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2
NiwyKSBzaXplIDE3NXgyNworICAgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJU0lOREVYfSBh
dCAoMzY2LDIpIHNpemUgMTc1eDI3IFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgIFJlbmRlckJs
b2NrIHtIUn0gYXQgKDAsNDkpIHNpemUgNzg0eDIgW2JvcmRlcjogKDFweCBpbnNldCAjMDAwMDAw
KV0KICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDEyNSkgc2l6ZSA3ODR4MjEK
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjY4eDIxCkBAIC0yOSw3
ICsyOSw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICBSZW5kZXJCbG9j
ayAoYW5vbnltb3VzKSBhdCAoMCwxMCkgc2l6ZSA3ODR4MzEKICAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsNSkgc2l6ZSAzNjR4MjEKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDUpIHdpZHRoIDM2NDogIlRoaXMgaXMgYSBzZWFyY2hhYmxlIGluZGV4LiBFbnRlciBzZWFyY2gg
a2V5d29yZHM6ICIKLSAgICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2
NiwyKSBzaXplIDE3NXgyNworICAgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJU0lOREVYfSBh
dCAoMzY2LDIpIHNpemUgMTc1eDI3IFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgIFJlbmRlckJs
b2NrIHtIUn0gYXQgKDAsNDkpIHNpemUgNzg0eDIgW2JvcmRlcjogKDFweCBpbnNldCAjMDAwMDAw
KV0KIGxheWVyIGF0ICgzNzYsODkpIHNpemUgMTcxeDIxCiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICgyLDMpIHNpemUgMTcxeDIxIFtjb2xvcj0jQTlBOUE5XQpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0LXN0eWxlLWNvbG9yLWV4cGVjdGVkLnR4dAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHQtc3R5bGUtY29s
b3ItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0OTUwMikKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L3F0L2Zhc3QvZm9ybXMvdGV4dC1zdHlsZS1jb2xvci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTExLDcgKzExLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAg
IFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDEwKSBzaXplIDc4NHgzMQogICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw1KSBzaXplIDM2NHgyMQogICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsNSkgd2lkdGggMzY0OiAiVGhpcyBpcyBhIHNlYXJjaGFibGUgaW5kZXguIEVu
dGVyIHNlYXJjaCBrZXl3b3JkczogIgotICAgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJU0lO
REVYfSBhdCAoMzY2LDIpIHNpemUgMTc1eDI3CisgICAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wg
e0lTSU5ERVh9IGF0ICgzNjYsMikgc2l6ZSAxNzV4MjcgW2JnY29sb3I9I0ZGRkZGRl0KICAgICAg
ICAgUmVuZGVyQmxvY2sge0hSfSBhdCAoMCw0OSkgc2l6ZSA3ODR4MiBbYm9yZGVyOiAoMXB4IGlu
c2V0ICMwMDAwMDApXQogICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsODgpIHNp
emUgNzg0eDIxCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE2Mngy
MQpAQCAtMjEsNyArMjEsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAg
UmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTApIHNpemUgNzg0eDMxCiAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMzY0eDIxCiAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCw1KSB3aWR0aCAzNjQ6ICJUaGlzIGlzIGEgc2VhcmNoYWJsZSBpbmRleC4gRW50
ZXIgc2VhcmNoIGtleXdvcmRzOiAiCi0gICAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lTSU5E
RVh9IGF0ICgzNjYsMikgc2l6ZSAxNzV4MjcgW2NvbG9yPSNGRjAwMDBdCisgICAgICAgICAgUmVu
ZGVyVGV4dENvbnRyb2wge0lTSU5ERVh9IGF0ICgzNjYsMikgc2l6ZSAxNzV4MjcgW2NvbG9yPSNG
RjAwMDBdIFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgIFJlbmRlckJsb2NrIHtIUn0gYXQgKDAs
NDkpIHNpemUgNzg0eDIgW2JvcmRlcjogKDFweCBpbnNldCAjMDAwMDAwKV0KICAgICAgIFJlbmRl
ckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDE3Nikgc2l6ZSA3ODR4MjEKICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjM3eDIxCkBAIC00NCwxMCArNDQsMTAgQEAgbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lT
SU5ERVh9IGF0ICgzNjYsMikgc2l6ZSAxNzd4MjcgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSMw
MDgwMDBdIFtib3JkZXI6ICgycHggaW5zZXQgI0ZGMDAwMCldCiAgICAgICAgIFJlbmRlckJsb2Nr
IHtIUn0gYXQgKDAsNDkpIHNpemUgNzg0eDIgW2JvcmRlcjogKDFweCBpbnNldCAjMDAwMDAwKV0K
ICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDM1Mikgc2l6ZSA3ODR4MzEKLSAg
ICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiwyKSBzaXplIDE3NXgyNworICAg
ICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyLDIpIHNpemUgMTc1eDI3IFtiZ2Nv
bG9yPSNGRkZGRkZdCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTc5LDUpIHNpemUg
NHgyMQogICAgICAgICAgIHRleHQgcnVuIGF0ICgxNzksNSkgd2lkdGggNDogIiAiCi0gICAgICAg
IFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDE4NSwyKSBzaXplIDE3NXgyNyBbY29sb3I9
I0ZGMDAwMF0KKyAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMTg1LDIpIHNp
emUgMTc1eDI3IFtjb2xvcj0jRkYwMDAwXSBbYmdjb2xvcj0jRkZGRkZGXQogICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDM2Miw1KSBzaXplIDR4MjEKICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMzYyLDUpIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9
IGF0ICgzNjgsMikgc2l6ZSAxNzd4MjcgW2JnY29sb3I9IzAwODAwMF0gW2JvcmRlcjogKDJweCBp
bnNldCAjMDAwMDAwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMv
dGV4dGFyZWEtcGxhY2Vob2xkZXItcHNldWRvLXN0eWxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9s
ZGVyLXBzZXVkby1zdHlsZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQ5NTAyKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci1wc2V1ZG8t
c3R5bGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNCwyMiArMTQsMjIgQEAgbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgIHRleHQgcnVuIGF0ICg1NDgsNTEpIHdp
ZHRoIDQ6ICIgIgogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiBs
YXllciBhdCAoMTAsMzEpIHNpemUgMTc2eDQyCi0gIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJF
QX0gYXQgKDIsMjMpIHNpemUgMTc2eDQyCisgIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0g
YXQgKDIsMjMpIHNpemUgMTc2eDQyIFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgUmVuZGVyQmxvY2sg
e0RJVn0gYXQgKDAsMCkgc2l6ZSAxNzZ4MjEgW2NvbG9yPSM2NDAwMDBdCiAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyNXgyMQogICAgICAgICB0ZXh0IHJ1biBhdCAoMCww
KSB3aWR0aCAyNTogInRleHQiCiBsYXllciBhdCAoMTk0LDMxKSBzaXplIDE3Nng0MgotICBSZW5k
ZXJUZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICgxODYsMjMpIHNpemUgMTc2eDQyCi0gICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxNzZ4MjEgW2NvbG9yPSM2NDAwMDBdCisgIFJl
bmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDE4NiwyMykgc2l6ZSAxNzZ4NDIgW2JnY29s
b3I9I0ZGRkZGRl0KKyAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDE3NngyMSBb
Y29sb3I9I0I4MDAwMF0KICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDkw
eDIxCiAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDkwOiAiZGlzYWJsZWQgdGV4dCIK
IGxheWVyIGF0ICgzNzgsMzEpIHNpemUgMTc2eDQyCi0gIFJlbmRlclRleHRDb250cm9sIHtURVhU
QVJFQX0gYXQgKDM3MCwyMykgc2l6ZSAxNzZ4NDIKKyAgUmVuZGVyVGV4dENvbnRyb2wge1RFWFRB
UkVBfSBhdCAoMzcwLDIzKSBzaXplIDE3Nng0MiBbYmdjb2xvcj0jRkZGRkZGXQogICAgIFJlbmRl
ckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIxIFtjb2xvcj0jQTlBOUE5XQogICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDh4MjEKICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMCkgd2lkdGggNDg6ICJkZWZhdWx0IgogbGF5ZXIgYXQgKDU2MiwzMSkgc2l6ZSAxNzZ4
NDIKLSAgUmVuZGVyVGV4dENvbnRyb2wge1RFWFRBUkVBfSBhdCAoNTU0LDIzKSBzaXplIDE3Nng0
MgotICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIxIFtjb2xvcj0jNTU1
NTU1XQorICBSZW5kZXJUZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICg1NTQsMjMpIHNpemUgMTc2
eDQyIFtiZ2NvbG9yPSNGRkZGRkZdCisgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6
ZSAxNzZ4MjEgW2NvbG9yPSNBOUE5QTldCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAxMTN4MjEKICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTEzOiAiZGVm
YXVsdCBkaXNhYmxlZCIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMv
dGV4dGFyZWEtcGxhY2Vob2xkZXItc2V0LWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhv
bGRlci1zZXQtYXR0cmlidXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDk1MDIpCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXNldC1h
dHRyaWJ1dGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC04LDcgKzgsNyBAQCBsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0
aCA0ODY6ICJJZiB5b3UgY2FuIHNlZSB0aGUgd29yZCBcIlBsYWNlaG9sZGVyXCIgaW4gdGhlIHRl
eHQgYXJlYSwgdGhlbiBhbGwgaXMgd2VsbC4iCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAs
MzcpIHNpemUgNzg0eDQ2CiBsYXllciBhdCAoMTAsNDcpIHNpemUgMTc2eDQyCi0gIFJlbmRlclRl
eHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDIsMikgc2l6ZSAxNzZ4NDIKKyAgUmVuZGVyVGV4dENv
bnRyb2wge1RFWFRBUkVBfSBhdCAoMiwyKSBzaXplIDE3Nng0MiBbYmdjb2xvcj0jRkZGRkZGXQog
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIxIFtjb2xvcj0jQTlBOUE5
XQogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgODZ4MjEKICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODY6ICJQbGFjZWhvbGRlciIKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItc2V0LXZhbHVl
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0
L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXNldC12YWx1ZS1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDQ5NTAyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0YXJl
YS1wbGFjZWhvbGRlci1zZXQtdmFsdWUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
Niw3ICsxNiw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMHgwCiBsYXllciBhdCAoMTAsNDcpIHNpemUgMTc2eDQyCi0gIFJlbmRl
clRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDIsMikgc2l6ZSAxNzZ4NDIKKyAgUmVuZGVyVGV4
dENvbnRyb2wge1RFWFRBUkVBfSBhdCAoMiwyKSBzaXplIDE3Nng0MiBbYmdjb2xvcj0jRkZGRkZG
XQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIxCiAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2MngyMQogICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwwKSB3aWR0aCA2MjogIk5ldyB0ZXh0Igo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41114</attachid>
            <date>2009-10-13 11:26:01 -0700</date>
            <delta_ts>2009-10-16 12:26:52 -0700</delta_ts>
            <desc>Proposed patch - limited</desc>
            <filename>patchFor30173-5.patch</filename>
            <type>text/plain</type>
            <size>21986</size>
            <attacher name="Carol Szabo">carol</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0OTUwMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMDktMTAtMTMgIENhcm9sIFN6YWJvICA8Y2Fyb2wuc3phYm9Abm9r
aWEuY29tPiwgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBN
YWtlIGl0IHBvc3NpYmxlIHRvIGFwcGx5IHRoZSBDU1MgYmFja2dyb3VuZCBjb2xvciB0byB0aGUg
bmF0aXZlCisgICAgICAgIHBhaW50ZWQgd2lkZ2V0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwMTczCisKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9S
ZW5kZXJUaGVtZVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmlzQ29u
dHJvbFN0eWxlZCk6CisgICAgICAgIFNwZWNpYWxpemVkIGZvciBRdCBpbiBvcmRlciB0byBjYXB0
dXJlIHRoZSBkZWZhdWx0IChub24tYXV0aG9yIGFsdGVyZWQpIGJhY2tncm91bmQgY29sb3IKKyAg
ICAgICAgc3VjaCB0aGF0IGF0IHBhaW50IHRpbWUgd2UgY2FuIGRldGVybWluZSB3aGV0aGVyIHRv
IHBhaW50IHRoZSB0aGVtZSBkZWZpbmVkIGJhY2tncm91bmQgb3IKKyAgICAgICAgdGhlIGF1dGhv
ciBzZWxlY3RlZCBiYWNrZ3JvdW5kLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6
YWRqdXN0Q29tbW9uT3B0aW9ucyk6CisgICAgICAgIFRoaXMgZnVuY3Rpb24gd2FzIHJlbmFtZWQg
ZnJvbSBhcHBseVRoZW1lIGJlY2F1c2UgdGhlIHByZXZpb3VzIG5hbWUgd2FzIG5vdCBkZXNjcmlw
dGl2ZSBvZgorICAgICAgICB3aGF0IHRoZSBmdW5jdGlvbiBhY3R1YWxseSBkaWQsIHdoaWNoIHdh
cyAoYW5kIGNvbnRpbnVlcyB0byBiZSkgdG8gYWRqdXN0IHRoZSBvcHRpb24gc2V0dGluZ3MKKyAg
ICAgICAgYmFzZWQgb24gdGhlIGNvbnRyb2wncyBzdHlsZSBhbmQgc3RhdGUuCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpwYWludEJ1dHRvbik6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUaGVtZVF0OjpwYWludFRleHRGaWVsZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
aGVtZVF0OjpwYWludE1lbnVMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6
OnBhaW50TWVudUxpc3RCdXR0b24pOgorICAgICAgICBNb2RpZmllZCBvbmx5IGR1ZSB0byByZW5h
bWluZyBvZiB0aGUgYXBwbHlUaGVtZSBtZXRob2QuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
aGVtZVF0OjphZGp1c3RUZXh0RmllbGRTdHlsZSk6CisgICAgICAgIFJlbW92ZWQgdGhlIGxpbmUg
dGhhdCBtYWtlcyB0aGUgYmFja2dyb3VuZCB0cmFuc3BhcmVudCBpbiBvcmRlciB0byBoYXZlIHRo
ZSBjb2xvciBhdmFpbGFibGUgZm9yCisgICAgICAgIHBhaW50aW5nLgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWVRdDo6YWRqdXN0U2VhcmNoRmllbGRTdHlsZSk6CisgICAgICAgIENoYW5n
ZWQgdG8gdXNlIHRoZSBzYW1lIGxvZ2ljIGFzIGFkanVzdFRleHRGaWVsZFN0eWxlIHNpbmNlIHRo
ZSBzZWFyY2ggZmllbGQgZm9yIHF0IGlzIG5vdGhpbmcgYnV0CisgICAgICAgIGEgdGV4dCBmaWVs
ZCBmb3Igbm93LgorICAgICAgICAqIHBsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuaDoKKwogMjAw
OS0xMC0xMyAgR2lyaXNoIFJhbWFrcmlzaG5hbiAgPGdpcmlzaEBmb3J3YXJkYmlhcy5pbj4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KSW5kZXg6IFdlYkNvcmUvcGxhdGZv
cm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9x
dC9SZW5kZXJUaGVtZVF0LmNwcAkocmV2aXNpb24gNDk1MDIpCisrKyBXZWJDb3JlL3BsYXRmb3Jt
L3F0L1JlbmRlclRoZW1lUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw3IEBACiAj
aW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNs
dWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUVdlYlBhZ2VDbGllbnQuaCIKICNpbmNsdWRlICJSZW5k
ZXJCb3guaCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogI2luY2x1ZGUgIlVzZXJBZ2VudFN0
eWxlU2hlZXRzLmgiCkBAIC0yMDYsNiArMjA3LDMwIEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6c3Vw
cG9ydHNDb250cm9sVGludHMKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9vbCBSZW5kZXJUaGVt
ZVF0Ojppc0NvbnRyb2xTdHlsZWQoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBCb3Jk
ZXJEYXRhJiBib3JkZXJEYXRhLCBjb25zdCBGaWxsTGF5ZXImIGZpbGxMYXllciwgY29uc3QgQ29s
b3ImIGJhY2tncm91bmRDb2xvcikgY29uc3QKK3sKKyAgICBzd2l0Y2ggKHN0eWxlLT5hcHBlYXJh
bmNlKCkpIHsKKyAgICBjYXNlIFB1c2hCdXR0b25QYXJ0OgorICAgIGNhc2UgU3F1YXJlQnV0dG9u
UGFydDoKKyAgICBjYXNlIEJ1dHRvblBhcnQ6CisgICAgY2FzZSBCdXR0b25CZXZlbFBhcnQ6Cisg
ICAgY2FzZSBMaXN0SXRlbVBhcnQ6CisgICAgY2FzZSBNZW51bGlzdEJ1dHRvblBhcnQ6CisgICAg
Y2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25QYXJ0OgorICAgIGNhc2UgU2VhcmNoRmllbGRD
YW5jZWxCdXR0b25QYXJ0OiB7CisgICAgICAgICooY29uc3RfY2FzdDxRQ29sb3IqPigmbV9kZWZh
dWx0QnV0dG9uQmFja2dyb3VuZENvbG9yKSkgPSBiYWNrZ3JvdW5kQ29sb3I7CisgICAgICAgIGJy
ZWFrOworICAgIH0KKyAgICBjYXNlIFJhZGlvUGFydDoKKyAgICBjYXNlIENoZWNrYm94UGFydDoK
KyAgICBjYXNlIFNlYXJjaEZpZWxkUGFydDoKKyAgICBjYXNlIFRleHRGaWVsZFBhcnQ6CisgICAg
Y2FzZSBUZXh0QXJlYVBhcnQ6CisgICAgICAgICooY29uc3RfY2FzdDxRQ29sb3IqPigmbV9kZWZh
dWx0VGV4dEJhY2tncm91bmRDb2xvcikpID0gYmFja2dyb3VuZENvbG9yOworICAgICAgICBicmVh
azsKKyAgICB9CisgICAgcmV0dXJuIFJlbmRlclRoZW1lOjppc0NvbnRyb2xTdHlsZWQoc3R5bGUs
IGJvcmRlckRhdGEsIGZpbGxMYXllciwgYmFja2dyb3VuZENvbG9yKTsKK307CiBzdGF0aWMgaW50
IGZpbmRGcmFtZUxpbmVXaWR0aChRU3R5bGUqIHN0eWxlKQogewogICAgIFFMaW5lRWRpdCBsaW5l
RWRpdDsKQEAgLTQ3NSw3ICs1MDAsNyBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnBhaW50QnV0dG9u
KFJlbmRlck9iCiAgICAgb3B0aW9uLnJlY3QgPSByOwogICAgIG9wdGlvbi5zdGF0ZSB8PSBRU3R5
bGU6OlN0YXRlX1NtYWxsOwogCi0gICAgQ29udHJvbFBhcnQgYXBwZWFyYW5jZSA9IGFwcGx5VGhl
bWUob3B0aW9uLCBvKTsKKyAgICBDb250cm9sUGFydCBhcHBlYXJhbmNlID0gYWRqdXN0Q29tbW9u
T3B0aW9ucyhvcHRpb24sIG8pOwogICAgIGlmIChhcHBlYXJhbmNlID09IFB1c2hCdXR0b25QYXJ0
IHx8IGFwcGVhcmFuY2UgPT0gQnV0dG9uUGFydCkgewogICAgICAgICBvcHRpb24ucmVjdCA9IGlu
ZmxhdGVCdXR0b25SZWN0KG9wdGlvbi5yZWN0LCBxU3R5bGUoKSk7CiAgICAgICAgIHAuZHJhd0Nv
bnRyb2woUVN0eWxlOjpDRV9QdXNoQnV0dG9uLCBvcHRpb24pOwpAQCAtNDg5LDcgKzUxNCw2IEBA
IGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRCdXR0b24oUmVuZGVyT2IKIAogdm9pZCBSZW5kZXJU
aGVtZVF0OjphZGp1c3RUZXh0RmllbGRTdHlsZShDU1NTdHlsZVNlbGVjdG9yKiwgUmVuZGVyU3R5
bGUqIHN0eWxlLCBFbGVtZW50KikgY29uc3QKIHsKLSAgICBzdHlsZS0+c2V0QmFja2dyb3VuZENv
bG9yKENvbG9yOjp0cmFuc3BhcmVudCk7CiAgICAgc3R5bGUtPnJlc2V0Qm9yZGVyKCk7CiAgICAg
c3R5bGUtPnJlc2V0UGFkZGluZygpOwogICAgIGNvbXB1dGVTaXplQmFzZWRPblN0eWxlKHN0eWxl
KTsKQEAgLTUxMSw3ICs1MzUsNyBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnBhaW50VGV4dEZpZWxk
KFJlbmRlCiAgICAgcGFuZWwuZmVhdHVyZXMgPSBRU3R5bGVPcHRpb25GcmFtZVYyOjpOb25lOwog
CiAgICAgLy8gR2V0IHRoZSBjb3JyZWN0IHRoZW1lIGRhdGEgZm9yIGEgdGV4dCBmaWVsZAotICAg
IENvbnRyb2xQYXJ0IGFwcGVhcmFuY2UgPSBhcHBseVRoZW1lKHBhbmVsLCBvKTsKKyAgICBDb250
cm9sUGFydCBhcHBlYXJhbmNlID0gYWRqdXN0Q29tbW9uT3B0aW9ucyhwYW5lbCwgbyk7CiAgICAg
aWYgKGFwcGVhcmFuY2UgIT0gVGV4dEZpZWxkUGFydAogICAgICAgICAmJiBhcHBlYXJhbmNlICE9
IFNlYXJjaEZpZWxkUGFydAogICAgICAgICAmJiBhcHBlYXJhbmNlICE9IFRleHRBcmVhUGFydApA
QCAtNTIwLDcgKzU0NCw2IEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRUZXh0RmllbGQoUmVu
ZGUKIAogICAgIC8vIE5vdyBwYWludCB0aGUgdGV4dCBmaWVsZC4KICAgICBwLmRyYXdQcmltaXRp
dmUoUVN0eWxlOjpQRV9QYW5lbExpbmVFZGl0LCBwYW5lbCk7Ci0KICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKQEAgLTU3Myw3ICs1OTYsNyBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnBhaW50TWVudUxp
c3QoUmVuZGVyCiAgICAgUVN0eWxlT3B0aW9uQ29tYm9Cb3ggb3B0OwogICAgIGlmIChwLndpZGdl
dCkKICAgICAgICAgb3B0LmluaXRGcm9tKHAud2lkZ2V0KTsKLSAgICBhcHBseVRoZW1lKG9wdCwg
byk7CisgICAgYWRqdXN0Q29tbW9uT3B0aW9ucyhvcHQsIG8pOwogCiAgICAgY29uc3QgUVBvaW50
IHRvcExlZnQgPSByLnRvcExlZnQoKTsKICAgICBwLnBhaW50ZXItPnRyYW5zbGF0ZSh0b3BMZWZ0
KTsKQEAgLTYxMyw3ICs2MzYsNyBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnBhaW50TWVudUxpc3RC
dXR0b24oCiAgICAgUVN0eWxlT3B0aW9uQ29tYm9Cb3ggb3B0aW9uOwogICAgIGlmIChwLndpZGdl
dCkKICAgICAgICAgb3B0aW9uLmluaXRGcm9tKHAud2lkZ2V0KTsKLSAgICBhcHBseVRoZW1lKG9w
dGlvbiwgbyk7CisgICAgYWRqdXN0Q29tbW9uT3B0aW9ucyhvcHRpb24sIG8pOwogICAgIG9wdGlv
bi5yZWN0ID0gcjsKIAogICAgIC8vIGZvciBkcmF3aW5nIHRoZSBjb21ibyBib3ggYXJyb3csIHJl
bHkgb25seSBvbiB0aGUgZmFsbGJhY2sgc3R5bGUKQEAgLTY0OSw3ICs2NzIsNyBAQCB2b2lkIFJl
bmRlclRoZW1lUXQ6OmFkanVzdFNlYXJjaEZpZWxkU3R5CiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgRWxlbWVudCogZSkgY29uc3QKIHsKICAgICBub3RJbXBsZW1l
bnRlZCgpOwotICAgIFJlbmRlclRoZW1lOjphZGp1c3RTZWFyY2hGaWVsZFN0eWxlKHNlbGVjdG9y
LCBzdHlsZSwgZSk7CisgICAgYWRqdXN0VGV4dEZpZWxkU3R5bGUoc2VsZWN0b3IsIHN0eWxlLCBl
KTsKIH0KIAogdm9pZCBSZW5kZXJUaGVtZVF0OjphZGp1c3RTZWFyY2hGaWVsZENhbmNlbEJ1dHRv
blN0eWxlKENTU1N0eWxlU2VsZWN0b3IqIHNlbGVjdG9yLCBSZW5kZXJTdHlsZSogc3R5bGUsCkBA
IC03MTEsNyArNzM0LDcgQEAgYm9vbCBSZW5kZXJUaGVtZVF0OjpzdXBwb3J0c0ZvY3VzKENvbnRy
bwogICAgIH0KIH0KIAotQ29udHJvbFBhcnQgUmVuZGVyVGhlbWVRdDo6YXBwbHlUaGVtZShRU3R5
bGVPcHRpb24mIG9wdGlvbiwgUmVuZGVyT2JqZWN0KiBvKSBjb25zdAorQ29udHJvbFBhcnQgUmVu
ZGVyVGhlbWVRdDo6YWRqdXN0Q29tbW9uT3B0aW9ucyhRU3R5bGVPcHRpb24mIG9wdGlvbiwgUmVu
ZGVyT2JqZWN0KiBvKSBjb25zdAogewogICAgIC8vIERlZmF1bHQgYml0czogbm8gZm9jdXMsIG5v
IG1vdXNlIG92ZXIKICAgICBvcHRpb24uc3RhdGUgJj0gfihRU3R5bGU6OlN0YXRlX0hhc0ZvY3Vz
IHwgUVN0eWxlOjpTdGF0ZV9Nb3VzZU92ZXIpOwpAQCAtNzIzLDIwICs3NDYsMzUgQEAgQ29udHJv
bFBhcnQgUmVuZGVyVGhlbWVRdDo6YXBwbHlUaGVtZShRUwogICAgICAgICAvLyBSZWFkb25seSBp
cyBzdXBwb3J0ZWQgb24gdGV4dGZpZWxkcy4KICAgICAgICAgb3B0aW9uLnN0YXRlIHw9IFFTdHls
ZTo6U3RhdGVfUmVhZE9ubHk7CiAKLSAgICBpZiAoc3VwcG9ydHNGb2N1cyhvLT5zdHlsZSgpLT5h
cHBlYXJhbmNlKCkpICYmIGlzRm9jdXNlZChvKSkgewotICAgICAgICBvcHRpb24uc3RhdGUgfD0g
UVN0eWxlOjpTdGF0ZV9IYXNGb2N1czsKLSAgICAgICAgb3B0aW9uLnN0YXRlIHw9IFFTdHlsZTo6
U3RhdGVfS2V5Ym9hcmRGb2N1c0NoYW5nZTsKLSAgICB9CisgICAgb3B0aW9uLmRpcmVjdGlvbiA9
IFF0OjpMZWZ0VG9SaWdodDsKIAogICAgIGlmIChpc0hvdmVyZWQobykpCiAgICAgICAgIG9wdGlv
bi5zdGF0ZSB8PSBRU3R5bGU6OlN0YXRlX01vdXNlT3ZlcjsKIAotICAgIG9wdGlvbi5kaXJlY3Rp
b24gPSBRdDo6TGVmdFRvUmlnaHQ7Ci0gICAgaWYgKG8tPnN0eWxlKCkgJiYgby0+c3R5bGUoKS0+
ZGlyZWN0aW9uKCkgPT0gV2ViQ29yZTo6UlRMKQorICAgIC8vIElmIHRoZSB3ZWJ2aWV3IGhhcyBh
IGN1c3RvbSBwYWxldHRlLCB1c2UgaXQKKyAgICBQYWdlKiBwYWdlID0gby0+ZG9jdW1lbnQoKS0+
cGFnZSgpOworICAgIGlmIChwYWdlKSB7CisgICAgICAgIENocm9tZSogY2hyb21lID0gcGFnZS0+
Y2hyb21lKCk7CisgICAgICAgIGlmIChjaHJvbWUpIHsKKyAgICAgICAgICAgIENocm9tZUNsaWVu
dCogY2hyb21lQ2xpZW50ID0gY2hyb21lLT5jbGllbnQoKTsKKyAgICAgICAgICAgIGlmIChjaHJv
bWVDbGllbnQpIHsKKyAgICAgICAgICAgICAgICBQbGF0Zm9ybVBhZ2VDbGllbnQgcGFnZUNsaWVu
dCA9IGNocm9tZUNsaWVudC0+cGxhdGZvcm1QYWdlQ2xpZW50KCk7CisgICAgICAgICAgICAgICAg
aWYgKHBhZ2VDbGllbnQpCisgICAgICAgICAgICAgICAgICAgIG9wdGlvbi5wYWxldHRlID0gcGFn
ZUNsaWVudC0+cGFsZXR0ZSgpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorICAg
IFJlbmRlclN0eWxlKiBzdHlsZSA9IG8tPnN0eWxlKCk7CisgICAgaWYgKCFzdHlsZSkKKyAgICAg
ICAgcmV0dXJuIE5vQ29udHJvbFBhcnQ7CisgICAgQ29udHJvbFBhcnQgcmVzdWx0ID0gc3R5bGUt
PmFwcGVhcmFuY2UoKTsKKyAgICBpZiAoc3VwcG9ydHNGb2N1cyhyZXN1bHQpICYmIGlzRm9jdXNl
ZChvKSkgeworICAgICAgICBvcHRpb24uc3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9IYXNGb2N1czsK
KyAgICAgICAgb3B0aW9uLnN0YXRlIHw9IFFTdHlsZTo6U3RhdGVfS2V5Ym9hcmRGb2N1c0NoYW5n
ZTsKKyAgICB9CisgICAgaWYgKHN0eWxlLT5kaXJlY3Rpb24oKSA9PSBXZWJDb3JlOjpSVEwpCiAg
ICAgICAgIG9wdGlvbi5kaXJlY3Rpb24gPSBRdDo6UmlnaHRUb0xlZnQ7Ci0KLSAgICBDb250cm9s
UGFydCByZXN1bHQgPSBvLT5zdHlsZSgpLT5hcHBlYXJhbmNlKCk7Ci0KKyAgICBRQ29sb3IgYmFj
a2dyb3VuZENvbG9yID0gc3R5bGUtPmJhY2tncm91bmRDb2xvcigpOwogICAgIHN3aXRjaCAocmVz
dWx0KSB7CiAgICAgY2FzZSBQdXNoQnV0dG9uUGFydDoKICAgICBjYXNlIFNxdWFyZUJ1dHRvblBh
cnQ6CkBAIC03NTAsMjEgKzc4OCwyNyBAQCBDb250cm9sUGFydCBSZW5kZXJUaGVtZVF0OjphcHBs
eVRoZW1lKFFTCiAgICAgICAgICAgICBvcHRpb24uc3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9TdW5r
ZW47CiAgICAgICAgIGVsc2UgaWYgKHJlc3VsdCA9PSBQdXNoQnV0dG9uUGFydCkKICAgICAgICAg
ICAgIG9wdGlvbi5zdGF0ZSB8PSBRU3R5bGU6OlN0YXRlX1JhaXNlZDsKKyAgICAgICAgaWYgKGJh
Y2tncm91bmRDb2xvciAhPSBtX2RlZmF1bHRCdXR0b25CYWNrZ3JvdW5kQ29sb3IpCisgICAgICAg
ICAgICBvcHRpb24ucGFsZXR0ZS5zZXRDb2xvcihRUGFsZXR0ZTo6QnV0dG9uLCBiYWNrZ3JvdW5k
Q29sb3IpOwogICAgICAgICBicmVhazsKICAgICB9Ci0gICAgfQotCi0gICAgaWYgKHJlc3VsdCA9
PSBSYWRpb1BhcnQgfHwgcmVzdWx0ID09IENoZWNrYm94UGFydCkKKyAgICBjYXNlIFJhZGlvUGFy
dDoKKyAgICBjYXNlIENoZWNrYm94UGFydDoKICAgICAgICAgb3B0aW9uLnN0YXRlIHw9IChpc0No
ZWNrZWQobykgPyBRU3R5bGU6OlN0YXRlX09uIDogUVN0eWxlOjpTdGF0ZV9PZmYpOwotCi0gICAg
Ly8gSWYgdGhlIHdlYnZpZXcgaGFzIGEgY3VzdG9tIHBhbGV0dGUsIHVzZSBpdAotICAgIFBhZ2Uq
IHBhZ2UgPSBvLT5kb2N1bWVudCgpLT5wYWdlKCk7Ci0gICAgaWYgKHBhZ2UpIHsKLSAgICAgICAg
UVdpZGdldCogdmlldyA9IHN0YXRpY19jYXN0PENocm9tZUNsaWVudFF0Kj4ocGFnZS0+Y2hyb21l
KCktPmNsaWVudCgpKS0+bV93ZWJQYWdlLT52aWV3KCk7Ci0gICAgICAgIGlmICh2aWV3KQotICAg
ICAgICAgICAgb3B0aW9uLnBhbGV0dGUgPSB2aWV3LT5wYWxldHRlKCk7CisgICAgICAgIGlmIChi
YWNrZ3JvdW5kQ29sb3IgIT0gbV9kZWZhdWx0VGV4dEJhY2tncm91bmRDb2xvcikgeworICAgICAg
ICAgICAgb3B0aW9uLnBhbGV0dGUuc2V0Q29sb3IoUVBhbGV0dGU6OkJ1dHRvbiwgYmFja2dyb3Vu
ZENvbG9yKTsKKyAgICAgICAgICAgIG9wdGlvbi5wYWxldHRlLnNldENvbG9yKFFQYWxldHRlOjpX
aW5kb3csIGJhY2tncm91bmRDb2xvcik7CisgICAgICAgICAgICBvcHRpb24ucGFsZXR0ZS5zZXRD
b2xvcihRUGFsZXR0ZTo6QmFzZSwgYmFja2dyb3VuZENvbG9yKTsKKyAgICAgICAgICAgIG9wdGlv
bi5wYWxldHRlLnNldENvbG9yKFFQYWxldHRlOjpUZXh0LCBzdHlsZS0+Y29sb3IoKSk7CisgICAg
ICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTZWFyY2hGaWVsZFBhcnQ6CisgICAgY2Fz
ZSBUZXh0RmllbGRQYXJ0OgorICAgIGNhc2UgVGV4dEFyZWFQYXJ0OgorICAgICAgICBpZiAoYmFj
a2dyb3VuZENvbG9yICE9IG1fZGVmYXVsdFRleHRCYWNrZ3JvdW5kQ29sb3IpCisgICAgICAgICAg
ICBvcHRpb24ucGFsZXR0ZS5zZXRDb2xvcihRUGFsZXR0ZTo6QmFzZSwgYmFja2dyb3VuZENvbG9y
KTsKKyAgICAgICAgYnJlYWs7CiAgICAgfQotCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApJbmRl
eDogV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmgJKHJldmlzaW9uIDQ5NTAyKQorKysgV2Vi
Q29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmgJKHdvcmtpbmcgY29weSkKQEAgLTU1LDYg
KzU1LDggQEAgcHVibGljOgogICAgIC8vIEEgZ2VuZXJhbCBtZXRob2QgYXNraW5nIGlmIGFueSBj
b250cm9sIHRpbnRpbmcgaXMgc3VwcG9ydGVkIGF0IGFsbC4KICAgICB2aXJ0dWFsIGJvb2wgc3Vw
cG9ydHNDb250cm9sVGludHMoKSBjb25zdDsKIAorICAgIHZpcnR1YWwgYm9vbCBpc0NvbnRyb2xT
dHlsZWQoY29uc3QgUmVuZGVyU3R5bGUqLCBjb25zdCBCb3JkZXJEYXRhJiwgY29uc3QgRmlsbExh
eWVyJiwgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xvcikgY29uc3Q7CisKICAgICB2aXJ0dWFs
IHZvaWQgYWRqdXN0UmVwYWludFJlY3QoY29uc3QgUmVuZGVyT2JqZWN0KiBvLCBJbnRSZWN0JiBy
KTsKIAogICAgIC8vIFRoZSBwbGF0Zm9ybSBzZWxlY3Rpb24gY29sb3IuCkBAIC0xMzIsNyArMTM0
LDcgQEAgcHJpdmF0ZToKIHByaXZhdGU6CiAgICAgYm9vbCBzdXBwb3J0c0ZvY3VzKENvbnRyb2xQ
YXJ0KSBjb25zdDsKIAotICAgIENvbnRyb2xQYXJ0IGFwcGx5VGhlbWUoUVN0eWxlT3B0aW9uJiwg
UmVuZGVyT2JqZWN0KikgY29uc3Q7CisgICAgQ29udHJvbFBhcnQgYWRqdXN0Q29tbW9uT3B0aW9u
cyhRU3R5bGVPcHRpb24mLCBSZW5kZXJPYmplY3QqKSBjb25zdDsKIAogICAgIHZvaWQgc2V0QnV0
dG9uUGFkZGluZyhSZW5kZXJTdHlsZSopIGNvbnN0OwogICAgIHZvaWQgc2V0UG9wdXBQYWRkaW5n
KFJlbmRlclN0eWxlKikgY29uc3Q7CkBAIC0xNDgsNiArMTUwLDggQEAgcHJpdmF0ZToKICAgICBR
U3RyaW5nIG1fYnV0dG9uRm9udEZhbWlseTsKIAogICAgIFFTdHlsZSogbV9mYWxsYmFja1N0eWxl
OworICAgIFFDb2xvciBtX2RlZmF1bHRUZXh0QmFja2dyb3VuZENvbG9yOworICAgIFFDb2xvciBt
X2RlZmF1bHRCdXR0b25CYWNrZ3JvdW5kQ29sb3I7CiB9OwogCiBjbGFzcyBTdHlsZVBhaW50ZXIg
ewpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkocmV2aXNpb24gNDk1MDIpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwyNCBAQAorMjAwOS0xMC0xMyAgQ2Fyb2wgU3phYm8gIDxj
YXJvbC5zemFib0Bub2tpYS5jb20+LCBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5l
dGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBbUXRdIE1ha2UgaXQgcG9zc2libGUgdG8gYXBwbHkgdGhlIENTUyBiYWNrZ3JvdW5k
IGNvbG9yIHRvIHRoZQorICAgICAgICBuYXRpdmUgcGFpbnRlZCB3aWRnZXRzLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAxNzMKKworICAgICAgICAq
IHBsYXRmb3JtL3F0L2Zhc3QvY3NzL3BzZXVkby1jYWNoZS1zdGFsZS1leHBlY3RlZC50eHQ6Cisg
ICAgICAgIFVwZGF0ZWQgcmVzdWx0cyBkdWUgdG8gZGlmZmVyZW50IHNpemUgb2YgdGhlIHNlYXJj
aCBjb250cm9sIHNpbmNlCisgICAgICAgIG5vdyBpdCBpcyByZW5kZXJlZCBhcyBhIHRleHQgY29u
dHJvbCBieSB0aGUgcGxhdGZvcm0sIG5vdCBpbnRlcm5hbGx5CisgICAgICAgIGJ5IFdlYktpdC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL2Jhc2ljLWlucHV0cy1leHBlY3RlZC50
eHQKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL2lzaW5kZXgtcGxhY2Vob2xkZXIt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dC1zdHls
ZS1jb2xvci1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90
ZXh0YXJlYS1wbGFjZWhvbGRlci1wc2V1ZG8tc3R5bGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItc2V0LWF0dHJpYnV0
ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0YXJl
YS1wbGFjZWhvbGRlci1zZXQtdmFsdWUtZXhwZWN0ZWQudHh0OgorICAgICAgICBVcGRhdGVkIHJl
c3VsdHMgdG8gaW5jbHVkZSB0aGUgYmdjb2xvciBhdHRyaWJ1dGUgd2hpY2ggaXMgbm8gbG9uZ2Vy
IAorICAgICAgICB0cmFuc3BhcmVudCBhbmQgdGh1cyBpdCBnZXRzIGxvZ2dlZC4KKwogMjAwOS0x
MC0xMyAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBM
YXlvdXQgdGVzdCBmaXgsIHJldmVydGluZyBwcmV2aW91cyBjaGFuZ2UuCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Nzcy9wc2V1ZG8tY2FjaGUtc3RhbGUtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvY3NzL3BzZXVkby1j
YWNoZS1zdGFsZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQ5NTAyKQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvZmFzdC9jc3MvcHNldWRvLWNhY2hlLXN0YWxlLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMTIsMTUgKzEyLDE1IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsNDEpIHNpemUgNzg0eDIxCiAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI5OHg0MQogICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDI5ODogIlRoaXMgc2VudGVuY2Ugc2hvdWxkIGJlIGV4dHJhLWV4
dHJhLWxhcmdlLiIKLSAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDYyKSBzaXpl
IDc4NHgzMQotICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyLDIpIHNpemUg
MTc3eDI3IFtiZ2NvbG9yPSNGRkZGRkZdIFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCi0g
ICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDMsMykgc2l6ZSAxNzF4MjEKKyAgICAgIFJl
bmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDYyKSBzaXplIDc4NHgyNQorICAgICAgICBSZW5k
ZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyLDIpIHNpemUgMTcxeDIxIFtiZ2NvbG9yPSNGRkZG
RkZdCisgICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxNzF4MjEKICAg
ICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDE2KSBzaXplIDB4MAogICAgICAgICAg
ICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDE3MSwxNikgc2l6ZSAweDAKICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAweDAKLWxheWVyIGF0ICgxMyw3NSkgc2l6ZSAxNzF4MjEKK2xheWVyIGF0ICgxMCw3Mikg
c2l6ZSAxNzF4MjEKICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxNzF4MjEgW2Nv
bG9yPSMwMDgwMDBdCiAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDApIHNpemUgMTUweDIx
CiAgICAgICB0ZXh0IHJ1biBhdCAoMSwwKSB3aWR0aCAxNTA6ICJUaGlzIHNob3VsZCBiZSBncmVl
biIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvYmFzaWMtaW5wdXRz
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0
L2Zvcm1zL2Jhc2ljLWlucHV0cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQ5NTAyKQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9iYXNpYy1pbnB1dHMtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0zNSwxNyArMzUsMTcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMTAsMzY3KSBzaXplIDQ1MHg2NCBb
Ym9yZGVyOiAoMXB4IHNvbGlkICNGRjAwMDApXQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDEsNikgc2l6ZSA5eDIxCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsNikgd2lkdGggOTog
ImEiCi0gICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDEyLDMpIHNpemUgMTc1
eDI3CisgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDEyLDMpIHNpemUgMTc1
eDI3IFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTg5
LDYpIHNpemUgMjl4MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTg5LDYpIHdpZHRoIDI5OiAi
dGV4dCAiCi0gICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDIyMCwzKSBzaXpl
IDE3NXgyNworICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyMjAsMykgc2l6
ZSAxNzV4MjcgW2JnY29sb3I9I0ZGRkZGRl0KICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgzOTcsNikgc2l6ZSAyMngyMQogICAgICAgICAgIHRleHQgcnVuIGF0ICgzOTcsNikgd2lkdGgg
MTM6ICJiICIKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDEwLDYpIHdpZHRoIDk6ICJhIgotICAg
ICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgzLDM0KSBzaXplIDE3NXgyNworICAg
ICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgzLDM0KSBzaXplIDE3NXgyNyBbYmdj
b2xvcj0jRkZGRkZGXQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE4MCwzNykgc2l6
ZSA3M3gyMQogICAgICAgICAgIHRleHQgcnVuIGF0ICgxODAsMzcpIHdpZHRoIDczOiAicGFzc3dv
cmQgIgotICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyNTUsMzQpIHNpemUg
MTc1eDI3CisgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDI1NSwzNCkgc2l6
ZSAxNzV4MjcgW2JnY29sb3I9I0ZGRkZGRl0KICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICg0MzIsMzcpIHNpemUgOXgyMQogICAgICAgICAgIHRleHQgcnVuIGF0ICg0MzIsMzcpIHdpZHRo
IDk6ICJiIgogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEwLDQ0MSkgc2l6ZSA0NTB4MjMg
W2JvcmRlcjogKDFweCBzb2xpZCAjRkYwMDAwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L3F0L2Zhc3QvZm9ybXMvaXNpbmRleC1wbGFjZWhvbGRlci1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9pc2luZGV4LXBsYWNlaG9s
ZGVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDk1MDIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC9mYXN0L2Zvcm1zL2lzaW5kZXgtcGxhY2Vob2xkZXItZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xOSw3ICsxOSw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAg
ICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxMCkgc2l6ZSA3ODR4MzEKICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNSkgc2l6ZSAzNjR4MjEKICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDUpIHdpZHRoIDM2NDogIlRoaXMgaXMgYSBzZWFyY2hhYmxlIGluZGV4
LiBFbnRlciBzZWFyY2gga2V5d29yZHM6ICIKLSAgICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7
SVNJTkRFWH0gYXQgKDM2NiwyKSBzaXplIDE3NXgyNworICAgICAgICAgIFJlbmRlclRleHRDb250
cm9sIHtJU0lOREVYfSBhdCAoMzY2LDIpIHNpemUgMTc1eDI3IFtiZ2NvbG9yPSNGRkZGRkZdCiAg
ICAgICAgIFJlbmRlckJsb2NrIHtIUn0gYXQgKDAsNDkpIHNpemUgNzg0eDIgW2JvcmRlcjogKDFw
eCBpbnNldCAjMDAwMDAwKV0KICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDEy
NSkgc2l6ZSA3ODR4MjEKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MjY4eDIxCkBAIC0yOSw3ICsyOSw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAg
ICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxMCkgc2l6ZSA3ODR4MzEKICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNSkgc2l6ZSAzNjR4MjEKICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDUpIHdpZHRoIDM2NDogIlRoaXMgaXMgYSBzZWFyY2hhYmxlIGluZGV4
LiBFbnRlciBzZWFyY2gga2V5d29yZHM6ICIKLSAgICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7
SVNJTkRFWH0gYXQgKDM2NiwyKSBzaXplIDE3NXgyNworICAgICAgICAgIFJlbmRlclRleHRDb250
cm9sIHtJU0lOREVYfSBhdCAoMzY2LDIpIHNpemUgMTc1eDI3IFtiZ2NvbG9yPSNGRkZGRkZdCiAg
ICAgICAgIFJlbmRlckJsb2NrIHtIUn0gYXQgKDAsNDkpIHNpemUgNzg0eDIgW2JvcmRlcjogKDFw
eCBpbnNldCAjMDAwMDAwKV0KIGxheWVyIGF0ICgzNzYsODkpIHNpemUgMTcxeDIxCiAgIFJlbmRl
ckJsb2NrIHtESVZ9IGF0ICgyLDMpIHNpemUgMTcxeDIxIFtjb2xvcj0jQTlBOUE5XQpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0LXN0eWxlLWNvbG9yLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1z
L3RleHQtc3R5bGUtY29sb3ItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0OTUwMikKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dC1zdHlsZS1jb2xvci1leHBlY3RlZC50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTExLDcgKzExLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCiAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDEwKSBzaXplIDc4
NHgzMQogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw1KSBzaXplIDM2NHgyMQog
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNSkgd2lkdGggMzY0OiAiVGhpcyBpcyBhIHNlYXJj
aGFibGUgaW5kZXguIEVudGVyIHNlYXJjaCBrZXl3b3JkczogIgotICAgICAgICAgIFJlbmRlclRl
eHRDb250cm9sIHtJU0lOREVYfSBhdCAoMzY2LDIpIHNpemUgMTc1eDI3CisgICAgICAgICAgUmVu
ZGVyVGV4dENvbnRyb2wge0lTSU5ERVh9IGF0ICgzNjYsMikgc2l6ZSAxNzV4MjcgW2JnY29sb3I9
I0ZGRkZGRl0KICAgICAgICAgUmVuZGVyQmxvY2sge0hSfSBhdCAoMCw0OSkgc2l6ZSA3ODR4MiBb
Ym9yZGVyOiAoMXB4IGluc2V0ICMwMDAwMDApXQogICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91
cykgYXQgKDAsODgpIHNpemUgNzg0eDIxCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDE2MngyMQpAQCAtMjEsNyArMjEsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTApIHNpemUgNzg0
eDMxCiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMzY0eDIxCiAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1KSB3aWR0aCAzNjQ6ICJUaGlzIGlzIGEgc2VhcmNo
YWJsZSBpbmRleC4gRW50ZXIgc2VhcmNoIGtleXdvcmRzOiAiCi0gICAgICAgICAgUmVuZGVyVGV4
dENvbnRyb2wge0lTSU5ERVh9IGF0ICgzNjYsMikgc2l6ZSAxNzV4MjcgW2NvbG9yPSNGRjAwMDBd
CisgICAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lTSU5ERVh9IGF0ICgzNjYsMikgc2l6ZSAx
NzV4MjcgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgIFJlbmRlckJs
b2NrIHtIUn0gYXQgKDAsNDkpIHNpemUgNzg0eDIgW2JvcmRlcjogKDFweCBpbnNldCAjMDAwMDAw
KV0KICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDE3Nikgc2l6ZSA3ODR4MjEK
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjM3eDIxCkBAIC00NCwx
MCArNDQsMTAgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgUmVuZGVy
VGV4dENvbnRyb2wge0lTSU5ERVh9IGF0ICgzNjYsMikgc2l6ZSAxNzd4MjcgW2NvbG9yPSNGRjAw
MDBdIFtiZ2NvbG9yPSMwMDgwMDBdIFtib3JkZXI6ICgycHggaW5zZXQgI0ZGMDAwMCldCiAgICAg
ICAgIFJlbmRlckJsb2NrIHtIUn0gYXQgKDAsNDkpIHNpemUgNzg0eDIgW2JvcmRlcjogKDFweCBp
bnNldCAjMDAwMDAwKV0KICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDM1Mikg
c2l6ZSA3ODR4MzEKLSAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiwyKSBz
aXplIDE3NXgyNworICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyLDIpIHNp
emUgMTc1eDI3IFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMTc5LDUpIHNpemUgNHgyMQogICAgICAgICAgIHRleHQgcnVuIGF0ICgxNzksNSkgd2lkdGgg
NDogIiAiCi0gICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDE4NSwyKSBzaXpl
IDE3NXgyNyBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVU
fSBhdCAoMTg1LDIpIHNpemUgMTc1eDI3IFtjb2xvcj0jRkYwMDAwXSBbYmdjb2xvcj0jRkZGRkZG
XQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDM2Miw1KSBzaXplIDR4MjEKICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMzYyLDUpIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5kZXJUZXh0
Q29udHJvbCB7SU5QVVR9IGF0ICgzNjgsMikgc2l6ZSAxNzd4MjcgW2JnY29sb3I9IzAwODAwMF0g
W2JvcmRlcjogKDJweCBpbnNldCAjMDAwMDAwKV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L3F0L2Zhc3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItcHNldWRvLXN0eWxlLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3Rl
eHRhcmVhLXBsYWNlaG9sZGVyLXBzZXVkby1zdHlsZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQ5
NTAyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFj
ZWhvbGRlci1wc2V1ZG8tc3R5bGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNCwy
MiArMTQsMjIgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgIHRleHQgcnVu
IGF0ICg1NDgsNTEpIHdpZHRoIDQ6ICIgIgogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMHgwCiBsYXllciBhdCAoMTAsMzEpIHNpemUgMTc2eDQyCi0gIFJlbmRlclRleHRD
b250cm9sIHtURVhUQVJFQX0gYXQgKDIsMjMpIHNpemUgMTc2eDQyCisgIFJlbmRlclRleHRDb250
cm9sIHtURVhUQVJFQX0gYXQgKDIsMjMpIHNpemUgMTc2eDQyIFtiZ2NvbG9yPSNGRkZGRkZdCiAg
ICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxNzZ4MjEgW2NvbG9yPSM2NDAwMDBd
CiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyNXgyMQogICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyNTogInRleHQiCiBsYXllciBhdCAoMTk0LDMxKSBzaXpl
IDE3Nng0MgotICBSZW5kZXJUZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICgxODYsMjMpIHNpemUg
MTc2eDQyCi0gICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxNzZ4MjEgW2NvbG9y
PSM2NDAwMDBdCisgIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDE4NiwyMykgc2l6
ZSAxNzZ4NDIgW2JnY29sb3I9I0ZGRkZGRl0KKyAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCww
KSBzaXplIDE3NngyMSBbY29sb3I9I0I4MDAwMF0KICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDkweDIxCiAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDkwOiAi
ZGlzYWJsZWQgdGV4dCIKIGxheWVyIGF0ICgzNzgsMzEpIHNpemUgMTc2eDQyCi0gIFJlbmRlclRl
eHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDM3MCwyMykgc2l6ZSAxNzZ4NDIKKyAgUmVuZGVyVGV4
dENvbnRyb2wge1RFWFRBUkVBfSBhdCAoMzcwLDIzKSBzaXplIDE3Nng0MiBbYmdjb2xvcj0jRkZG
RkZGXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIxIFtjb2xvcj0j
QTlBOUE5XQogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDh4MjEKICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNDg6ICJkZWZhdWx0IgogbGF5ZXIgYXQgKDU2
MiwzMSkgc2l6ZSAxNzZ4NDIKLSAgUmVuZGVyVGV4dENvbnRyb2wge1RFWFRBUkVBfSBhdCAoNTU0
LDIzKSBzaXplIDE3Nng0MgotICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2
eDIxIFtjb2xvcj0jNTU1NTU1XQorICBSZW5kZXJUZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICg1
NTQsMjMpIHNpemUgMTc2eDQyIFtiZ2NvbG9yPSNGRkZGRkZdCisgICAgUmVuZGVyQmxvY2sge0RJ
Vn0gYXQgKDAsMCkgc2l6ZSAxNzZ4MjEgW2NvbG9yPSNBOUE5QTldCiAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMTN4MjEKICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggMTEzOiAiZGVmYXVsdCBkaXNhYmxlZCIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L3F0L2Zhc3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItc2V0LWF0dHJpYnV0ZS1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90
ZXh0YXJlYS1wbGFjZWhvbGRlci1zZXQtYXR0cmlidXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
NDk1MDIpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBs
YWNlaG9sZGVyLXNldC1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC04
LDcgKzgsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCA0ODY6ICJJZiB5b3UgY2FuIHNlZSB0aGUgd29yZCBcIlBsYWNlaG9s
ZGVyXCIgaW4gdGhlIHRleHQgYXJlYSwgdGhlbiBhbGwgaXMgd2VsbC4iCiAgICAgICBSZW5kZXJC
bG9jayB7UH0gYXQgKDAsMzcpIHNpemUgNzg0eDQ2CiBsYXllciBhdCAoMTAsNDcpIHNpemUgMTc2
eDQyCi0gIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDIsMikgc2l6ZSAxNzZ4NDIK
KyAgUmVuZGVyVGV4dENvbnRyb2wge1RFWFRBUkVBfSBhdCAoMiwyKSBzaXplIDE3Nng0MiBbYmdj
b2xvcj0jRkZGRkZGXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIx
IFtjb2xvcj0jQTlBOUE5XQogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
ODZ4MjEKICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODY6ICJQbGFjZWhvbGRlciIK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vo
b2xkZXItc2V0LXZhbHVlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXNldC12YWx1ZS1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDQ5NTAyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFz
dC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci1zZXQtdmFsdWUtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNiw3ICsxNiw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAog
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiBsYXllciBhdCAoMTAsNDcpIHNpemUg
MTc2eDQyCi0gIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDIsMikgc2l6ZSAxNzZ4
NDIKKyAgUmVuZGVyVGV4dENvbnRyb2wge1RFWFRBUkVBfSBhdCAoMiwyKSBzaXplIDE3Nng0MiBb
Ymdjb2xvcj0jRkZGRkZGXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2
eDIxCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2MngyMQogICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA2MjogIk5ldyB0ZXh0Igo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41307</attachid>
            <date>2009-10-16 12:26:52 -0700</date>
            <delta_ts>2009-10-16 13:43:39 -0700</delta_ts>
            <desc>Proposed Patch - best effort fix</desc>
            <filename>patchFor30173-6.patch</filename>
            <type>text/plain</type>
            <size>23700</size>
            <attacher name="Carol Szabo">carol</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0OTUwMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzkgQEAKKzIwMDktMTAtMTMgIENhcm9sIFN6YWJvICA8Y2Fyb2wuc3phYm9Abm9r
aWEuY29tPiwgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBN
YWtlIGl0IHBvc3NpYmxlIHRvIGFwcGx5IHRoZSBDU1MgYmFja2dyb3VuZCBjb2xvciB0byB0aGUg
bmF0aXZlCisgICAgICAgIHBhaW50ZWQgd2lkZ2V0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwMTczCisKKyAgICAgICAgVGhpcyBpcyBhIGJlc3Qg
ZWZmb3J0IGFwcHJvYWNoLiBJdCBkb2VzIG5vdCB3b3JrIGZvciB0aGUgZ3RrIHN0eWxlCisgICAg
ICAgIHdoaWNoIGlnbm9yZXMgdGhlIHBhbGV0dGUgc2V0dGluZ3MgYnkgZGVmYXVsdC4gU29tZSBv
dGhlciBzdHlsZXMKKyAgICAgICAgaGF2ZSBsaW1pdGF0aW9ucyBvbiB3aGF0IHBhcnRzIG9mIHRo
ZSBzdHlsZSBhcmUgY3VzdG9taXphYmxlLCBidXQKKyAgICAgICAgaXQgd29ya3Mgd2l0aCBtb3N0
IHN0eWxlcyBhbmQgd2l0aCB0aG9zZSBzdHlsZXMgd2hlcmUgaXQgZG9lcyBub3QKKyAgICAgICAg
dGhlIHJlc3VsdHMgYXJlIHRoZSBzYW1lIGFzIHdpdGhvdXQgdGhlIGNoYW5nZS4KKworICAgICAg
ICAqIHBsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyVGhlbWVRdDo6aXNDb250cm9sU3R5bGVkKToKKyAgICAgICAgU3BlY2lhbGl6ZWQgZm9yIFF0
IGluIG9yZGVyIHRvIGNhcHR1cmUgdGhlIGRlZmF1bHQgKG5vbi1hdXRob3IgYWx0ZXJlZCkgYmFj
a2dyb3VuZCBjb2xvcgorICAgICAgICBzdWNoIHRoYXQgYXQgcGFpbnQgdGltZSB3ZSBjYW4gZGV0
ZXJtaW5lIHdoZXRoZXIgdG8gcGFpbnQgdGhlIHRoZW1lIGRlZmluZWQgYmFja2dyb3VuZCBvcgor
ICAgICAgICB0aGUgYXV0aG9yIHNlbGVjdGVkIGJhY2tncm91bmQuCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZVF0OjphZGp1c3RDb21tb25RU3R5bGVPcHRpb25zKToKKyAgICAgICAgVGhp
cyBmdW5jdGlvbiB3YXMgcmVuYW1lZCBmcm9tIGFwcGx5VGhlbWUgYmVjYXVzZSB0aGUgcHJldmlv
dXMgbmFtZSB3YXMgbm90IGRlc2NyaXB0aXZlIG9mCisgICAgICAgIHdoYXQgdGhlIGZ1bmN0aW9u
IGFjdHVhbGx5IGRpZCwgd2hpY2ggd2FzIChhbmQgY29udGludWVzIHRvIGJlKSB0byBhZGp1c3Qg
dGhlIG9wdGlvbiBzZXR0aW5ncworICAgICAgICBiYXNlZCBvbiB0aGUgY29udHJvbCdzIHN0eWxl
IGFuZCBzdGF0ZS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50QnV0dG9u
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50VGV4dEZpZWxkKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50TWVudUxpc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGFpbnRNZW51TGlzdEJ1dHRvbik6CisgICAgICAgIE1v
ZGlmaWVkIG9ubHkgZHVlIHRvIHJlbmFtaW5nIG9mIHRoZSBhcHBseVRoZW1lIG1ldGhvZC4KKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmFkanVzdFRleHRGaWVsZFN0eWxlKToKKyAg
ICAgICAgUmVtb3ZlZCB0aGUgbGluZSB0aGF0IG1ha2VzIHRoZSBiYWNrZ3JvdW5kIHRyYW5zcGFy
ZW50IGluIG9yZGVyIHRvIGhhdmUgdGhlIGNvbG9yIGF2YWlsYWJsZSBmb3IKKyAgICAgICAgcGFp
bnRpbmcuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjphZGp1c3RTZWFyY2hGaWVs
ZFN0eWxlKToKKyAgICAgICAgQ2hhbmdlZCB0byB1c2UgdGhlIHNhbWUgbG9naWMgYXMgYWRqdXN0
VGV4dEZpZWxkU3R5bGUgc2luY2UgdGhlIHNlYXJjaCBmaWVsZCBmb3IgcXQgaXMgbm90aGluZyBi
dXQKKyAgICAgICAgYSB0ZXh0IGZpZWxkIGZvciBub3cuCisgICAgICAgICogcGxhdGZvcm0vcXQv
UmVuZGVyVGhlbWVRdC5oOgorCiAyMDA5LTEwLTEzICBHaXJpc2ggUmFtYWtyaXNobmFuICA8Z2ly
aXNoQGZvcndhcmRiaWFzLmluPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5u
LgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCShyZXZpc2lvbiA0OTUw
MikKKysrIFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJO
b3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJRV2ViUGFnZUNs
aWVudC5oIgogI2luY2x1ZGUgIlJlbmRlckJveC5oIgogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgi
CiAjaW5jbHVkZSAiVXNlckFnZW50U3R5bGVTaGVldHMuaCIKQEAgLTIwNiw2ICsyMDcsMzggQEAg
Ym9vbCBSZW5kZXJUaGVtZVF0OjpzdXBwb3J0c0NvbnRyb2xUaW50cwogICAgIHJldHVybiB0cnVl
OwogfQogCisvLyBUaGlzIG1ldGhvZCwgaW4gYWRkaXRpb24gdG8gaXRzIGRlZmF1bHQgZnVuY3Rp
b24gb2YgZGV0ZXJtaW5pbmcgd2hldGhlciB0aGUgYXV0aG9yIG9mIHRoZSAKKy8vIHBhZ2Ugc3Bl
Y2lmaWVkIHN0eWxpbmcgZm9yIHRoZSBjb250cm9sIHRoYXQgaXMgZGlmZmVyZW50IGZyb20gdGhl
IGRlZmF1bHRzICh3aGljaCBmdW5jdGlvbgorLy8gaXMgc3RpbGwgZGVsZWdhdGVkIHRvIHRoZSBi
YXNlIGNsYXNzKSwgc2F2ZXMgdGhlIGRlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBzbyB0aGF0IHRo
aXMgY2hlY2sKKy8vIGNhbiBiZSByZXBlYXRlZCBhdCBwYWludGluZyB0aW1lIGZvciB0aGUgcHVy
cG9zZSBvZiBvdmVycmlkaW5nIG9yIG5vdCB0aGUgYmFja2dyb3VuZCBjb2xvciBpbgorLy8gdGhl
IGNvbnRyb2wncyBwYWludGluZyBvcHRpb25zLgorLy8gRklYTUU6IHRoaXMgZnVuY3Rpb24gaXMg
ZGVmaW5lZCBjb25zdCBidXQgdGhlcmUgaXMgbm8gb3RoZXIgcGxhY2Ugd2hlcmUgd2UgY291bGQK
Ky8vIGVmZmljaWVudGx5IHNhdmUgdGhlIGRlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhl
IGNvbnRyb2wgc3VjaCB0aGF0IGl0IGlzCisvLyBhdmFpbGFibGUgYXQgcGFpbnRpbmcgdGltZQor
Ym9vbCBSZW5kZXJUaGVtZVF0Ojppc0NvbnRyb2xTdHlsZWQoY29uc3QgUmVuZGVyU3R5bGUqIHN0
eWxlLCBjb25zdCBCb3JkZXJEYXRhJiBib3JkZXJEYXRhLCBjb25zdCBGaWxsTGF5ZXImIGZpbGxM
YXllciwgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xvcikgY29uc3QKK3sKKyAgICBzd2l0Y2gg
KHN0eWxlLT5hcHBlYXJhbmNlKCkpIHsKKyAgICBjYXNlIFB1c2hCdXR0b25QYXJ0OgorICAgIGNh
c2UgU3F1YXJlQnV0dG9uUGFydDoKKyAgICBjYXNlIEJ1dHRvblBhcnQ6CisgICAgY2FzZSBCdXR0
b25CZXZlbFBhcnQ6CisgICAgY2FzZSBMaXN0SXRlbVBhcnQ6CisgICAgY2FzZSBNZW51bGlzdEJ1
dHRvblBhcnQ6CisgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25QYXJ0OgorICAgIGNh
c2UgU2VhcmNoRmllbGRDYW5jZWxCdXR0b25QYXJ0OgorICAgICAgICAqKGNvbnN0X2Nhc3Q8UUNv
bG9yKj4oJm1fZGVmYXVsdEJ1dHRvbkJhY2tncm91bmRDb2xvcikpID0gYmFja2dyb3VuZENvbG9y
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIFJhZGlvUGFydDoKKyAgICBjYXNlIENoZWNrYm94
UGFydDoKKyAgICBjYXNlIFNlYXJjaEZpZWxkUGFydDoKKyAgICBjYXNlIFRleHRGaWVsZFBhcnQ6
CisgICAgY2FzZSBUZXh0QXJlYVBhcnQ6CisgICAgICAgICooY29uc3RfY2FzdDxRQ29sb3IqPigm
bV9kZWZhdWx0VGV4dEJhY2tncm91bmRDb2xvcikpID0gYmFja2dyb3VuZENvbG9yOworICAgICAg
ICBicmVhazsKKyAgICB9CisgICAgcmV0dXJuIFJlbmRlclRoZW1lOjppc0NvbnRyb2xTdHlsZWQo
c3R5bGUsIGJvcmRlckRhdGEsIGZpbGxMYXllciwgYmFja2dyb3VuZENvbG9yKTsKK307CisKIHN0
YXRpYyBpbnQgZmluZEZyYW1lTGluZVdpZHRoKFFTdHlsZSogc3R5bGUpCiB7CiAgICAgUUxpbmVF
ZGl0IGxpbmVFZGl0OwpAQCAtNDc1LDcgKzUwOCw3IEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFp
bnRCdXR0b24oUmVuZGVyT2IKICAgICBvcHRpb24ucmVjdCA9IHI7CiAgICAgb3B0aW9uLnN0YXRl
IHw9IFFTdHlsZTo6U3RhdGVfU21hbGw7CiAKLSAgICBDb250cm9sUGFydCBhcHBlYXJhbmNlID0g
YXBwbHlUaGVtZShvcHRpb24sIG8pOworICAgIENvbnRyb2xQYXJ0IGFwcGVhcmFuY2UgPSBhZGp1
c3RDb21tb25RU3R5bGVPcHRpb25zKG9wdGlvbiwgbyk7CiAgICAgaWYgKGFwcGVhcmFuY2UgPT0g
UHVzaEJ1dHRvblBhcnQgfHwgYXBwZWFyYW5jZSA9PSBCdXR0b25QYXJ0KSB7CiAgICAgICAgIG9w
dGlvbi5yZWN0ID0gaW5mbGF0ZUJ1dHRvblJlY3Qob3B0aW9uLnJlY3QsIHFTdHlsZSgpKTsKICAg
ICAgICAgcC5kcmF3Q29udHJvbChRU3R5bGU6OkNFX1B1c2hCdXR0b24sIG9wdGlvbik7CkBAIC00
ODksNyArNTIyLDYgQEAgYm9vbCBSZW5kZXJUaGVtZVF0OjpwYWludEJ1dHRvbihSZW5kZXJPYgog
CiB2b2lkIFJlbmRlclRoZW1lUXQ6OmFkanVzdFRleHRGaWVsZFN0eWxlKENTU1N0eWxlU2VsZWN0
b3IqLCBSZW5kZXJTdHlsZSogc3R5bGUsIEVsZW1lbnQqKSBjb25zdAogewotICAgIHN0eWxlLT5z
ZXRCYWNrZ3JvdW5kQ29sb3IoQ29sb3I6OnRyYW5zcGFyZW50KTsKICAgICBzdHlsZS0+cmVzZXRC
b3JkZXIoKTsKICAgICBzdHlsZS0+cmVzZXRQYWRkaW5nKCk7CiAgICAgY29tcHV0ZVNpemVCYXNl
ZE9uU3R5bGUoc3R5bGUpOwpAQCAtNTExLDcgKzU0Myw3IEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6
cGFpbnRUZXh0RmllbGQoUmVuZGUKICAgICBwYW5lbC5mZWF0dXJlcyA9IFFTdHlsZU9wdGlvbkZy
YW1lVjI6Ok5vbmU7CiAKICAgICAvLyBHZXQgdGhlIGNvcnJlY3QgdGhlbWUgZGF0YSBmb3IgYSB0
ZXh0IGZpZWxkCi0gICAgQ29udHJvbFBhcnQgYXBwZWFyYW5jZSA9IGFwcGx5VGhlbWUocGFuZWws
IG8pOworICAgIENvbnRyb2xQYXJ0IGFwcGVhcmFuY2UgPSBhZGp1c3RDb21tb25RU3R5bGVPcHRp
b25zKHBhbmVsLCBvKTsKICAgICBpZiAoYXBwZWFyYW5jZSAhPSBUZXh0RmllbGRQYXJ0CiAgICAg
ICAgICYmIGFwcGVhcmFuY2UgIT0gU2VhcmNoRmllbGRQYXJ0CiAgICAgICAgICYmIGFwcGVhcmFu
Y2UgIT0gVGV4dEFyZWFQYXJ0CkBAIC01MjAsNyArNTUyLDYgQEAgYm9vbCBSZW5kZXJUaGVtZVF0
OjpwYWludFRleHRGaWVsZChSZW5kZQogCiAgICAgLy8gTm93IHBhaW50IHRoZSB0ZXh0IGZpZWxk
LgogICAgIHAuZHJhd1ByaW1pdGl2ZShRU3R5bGU6OlBFX1BhbmVsTGluZUVkaXQsIHBhbmVsKTsK
LQogICAgIHJldHVybiBmYWxzZTsKIH0KIApAQCAtNTczLDcgKzYwNCw3IEBAIGJvb2wgUmVuZGVy
VGhlbWVRdDo6cGFpbnRNZW51TGlzdChSZW5kZXIKICAgICBRU3R5bGVPcHRpb25Db21ib0JveCBv
cHQ7CiAgICAgaWYgKHAud2lkZ2V0KQogICAgICAgICBvcHQuaW5pdEZyb20ocC53aWRnZXQpOwot
ICAgIGFwcGx5VGhlbWUob3B0LCBvKTsKKyAgICBhZGp1c3RDb21tb25RU3R5bGVPcHRpb25zKG9w
dCwgbyk7CiAKICAgICBjb25zdCBRUG9pbnQgdG9wTGVmdCA9IHIudG9wTGVmdCgpOwogICAgIHAu
cGFpbnRlci0+dHJhbnNsYXRlKHRvcExlZnQpOwpAQCAtNjEzLDcgKzY0NCw3IEBAIGJvb2wgUmVu
ZGVyVGhlbWVRdDo6cGFpbnRNZW51TGlzdEJ1dHRvbigKICAgICBRU3R5bGVPcHRpb25Db21ib0Jv
eCBvcHRpb247CiAgICAgaWYgKHAud2lkZ2V0KQogICAgICAgICBvcHRpb24uaW5pdEZyb20ocC53
aWRnZXQpOwotICAgIGFwcGx5VGhlbWUob3B0aW9uLCBvKTsKKyAgICBhZGp1c3RDb21tb25RU3R5
bGVPcHRpb25zKG9wdGlvbiwgbyk7CiAgICAgb3B0aW9uLnJlY3QgPSByOwogCiAgICAgLy8gZm9y
IGRyYXdpbmcgdGhlIGNvbWJvIGJveCBhcnJvdywgcmVseSBvbmx5IG9uIHRoZSBmYWxsYmFjayBz
dHlsZQpAQCAtNjQ5LDcgKzY4MCw3IEBAIHZvaWQgUmVuZGVyVGhlbWVRdDo6YWRqdXN0U2VhcmNo
RmllbGRTdHkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbGVt
ZW50KiBlKSBjb25zdAogewogICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgUmVuZGVyVGhlbWU6
OmFkanVzdFNlYXJjaEZpZWxkU3R5bGUoc2VsZWN0b3IsIHN0eWxlLCBlKTsKKyAgICBhZGp1c3RU
ZXh0RmllbGRTdHlsZShzZWxlY3Rvciwgc3R5bGUsIGUpOwogfQogCiB2b2lkIFJlbmRlclRoZW1l
UXQ6OmFkanVzdFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uU3R5bGUoQ1NTU3R5bGVTZWxlY3Rvciog
c2VsZWN0b3IsIFJlbmRlclN0eWxlKiBzdHlsZSwKQEAgLTcxMSw3ICs3NDIsNyBAQCBib29sIFJl
bmRlclRoZW1lUXQ6OnN1cHBvcnRzRm9jdXMoQ29udHJvCiAgICAgfQogfQogCi1Db250cm9sUGFy
dCBSZW5kZXJUaGVtZVF0OjphcHBseVRoZW1lKFFTdHlsZU9wdGlvbiYgb3B0aW9uLCBSZW5kZXJP
YmplY3QqIG8pIGNvbnN0CitDb250cm9sUGFydCBSZW5kZXJUaGVtZVF0OjphZGp1c3RDb21tb25R
U3R5bGVPcHRpb25zKFFTdHlsZU9wdGlvbiYgb3B0aW9uLCBSZW5kZXJPYmplY3QqIG8pIGNvbnN0
CiB7CiAgICAgLy8gRGVmYXVsdCBiaXRzOiBubyBmb2N1cywgbm8gbW91c2Ugb3ZlcgogICAgIG9w
dGlvbi5zdGF0ZSAmPSB+KFFTdHlsZTo6U3RhdGVfSGFzRm9jdXMgfCBRU3R5bGU6OlN0YXRlX01v
dXNlT3Zlcik7CkBAIC03MjMsMjAgKzc1NCwzOCBAQCBDb250cm9sUGFydCBSZW5kZXJUaGVtZVF0
OjphcHBseVRoZW1lKFFTCiAgICAgICAgIC8vIFJlYWRvbmx5IGlzIHN1cHBvcnRlZCBvbiB0ZXh0
ZmllbGRzLgogICAgICAgICBvcHRpb24uc3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9SZWFkT25seTsK
IAotICAgIGlmIChzdXBwb3J0c0ZvY3VzKG8tPnN0eWxlKCktPmFwcGVhcmFuY2UoKSkgJiYgaXNG
b2N1c2VkKG8pKSB7Ci0gICAgICAgIG9wdGlvbi5zdGF0ZSB8PSBRU3R5bGU6OlN0YXRlX0hhc0Zv
Y3VzOwotICAgICAgICBvcHRpb24uc3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9LZXlib2FyZEZvY3Vz
Q2hhbmdlOwotICAgIH0KKyAgICBvcHRpb24uZGlyZWN0aW9uID0gUXQ6OkxlZnRUb1JpZ2h0Owog
CiAgICAgaWYgKGlzSG92ZXJlZChvKSkKICAgICAgICAgb3B0aW9uLnN0YXRlIHw9IFFTdHlsZTo6
U3RhdGVfTW91c2VPdmVyOwogCi0gICAgb3B0aW9uLmRpcmVjdGlvbiA9IFF0OjpMZWZ0VG9SaWdo
dDsKLSAgICBpZiAoby0+c3R5bGUoKSAmJiBvLT5zdHlsZSgpLT5kaXJlY3Rpb24oKSA9PSBXZWJD
b3JlOjpSVEwpCi0gICAgICAgIG9wdGlvbi5kaXJlY3Rpb24gPSBRdDo6UmlnaHRUb0xlZnQ7Cisg
ICAgLy8gSWYgdGhlIHdlYnZpZXcgaGFzIGEgY3VzdG9tIHBhbGV0dGUsIHVzZSBpdAorICAgIFBh
Z2UqIHBhZ2UgPSBvLT5kb2N1bWVudCgpLT5wYWdlKCk7CisgICAgaWYgKHBhZ2UpIHsKKyAgICAg
ICAgQ2hyb21lKiBjaHJvbWUgPSBwYWdlLT5jaHJvbWUoKTsKKyAgICAgICAgaWYgKGNocm9tZSkg
eworICAgICAgICAgICAgQ2hyb21lQ2xpZW50KiBjaHJvbWVDbGllbnQgPSBjaHJvbWUtPmNsaWVu
dCgpOworICAgICAgICAgICAgaWYgKGNocm9tZUNsaWVudCkgeworICAgICAgICAgICAgICAgIFFX
ZWJQYWdlQ2xpZW50ICpwYWdlQ2xpZW50ID0gY2hyb21lQ2xpZW50LT5wbGF0Zm9ybVBhZ2VDbGll
bnQoKTsKKyAgICAgICAgICAgICAgICBpZiAocGFnZUNsaWVudCkKKyAgICAgICAgICAgICAgICAg
ICAgb3B0aW9uLnBhbGV0dGUgPSBwYWdlQ2xpZW50LT5wYWxldHRlKCk7CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKyAgICB9CisgICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gby0+c3R5bGUoKTsK
KyAgICBpZiAoIXN0eWxlKQorICAgICAgICByZXR1cm4gTm9Db250cm9sUGFydDsKKworICAgIENv
bnRyb2xQYXJ0IHJlc3VsdCA9IHN0eWxlLT5hcHBlYXJhbmNlKCk7CisgICAgaWYgKHN1cHBvcnRz
Rm9jdXMocmVzdWx0KSAmJiBpc0ZvY3VzZWQobykpIHsKKyAgICAgICAgb3B0aW9uLnN0YXRlIHw9
IFFTdHlsZTo6U3RhdGVfSGFzRm9jdXM7CisgICAgICAgIG9wdGlvbi5zdGF0ZSB8PSBRU3R5bGU6
OlN0YXRlX0tleWJvYXJkRm9jdXNDaGFuZ2U7CisgICAgfQogCi0gICAgQ29udHJvbFBhcnQgcmVz
dWx0ID0gby0+c3R5bGUoKS0+YXBwZWFyYW5jZSgpOworICAgIGlmIChzdHlsZS0+ZGlyZWN0aW9u
KCkgPT0gV2ViQ29yZTo6UlRMKQorICAgICAgICBvcHRpb24uZGlyZWN0aW9uID0gUXQ6OlJpZ2h0
VG9MZWZ0OwogCisgICAgUUNvbG9yIGJhY2tncm91bmRDb2xvciA9IHN0eWxlLT5iYWNrZ3JvdW5k
Q29sb3IoKTsKICAgICBzd2l0Y2ggKHJlc3VsdCkgewogICAgIGNhc2UgUHVzaEJ1dHRvblBhcnQ6
CiAgICAgY2FzZSBTcXVhcmVCdXR0b25QYXJ0OgpAQCAtNzUwLDIxICs3OTksMzIgQEAgQ29udHJv
bFBhcnQgUmVuZGVyVGhlbWVRdDo6YXBwbHlUaGVtZShRUwogICAgICAgICAgICAgb3B0aW9uLnN0
YXRlIHw9IFFTdHlsZTo6U3RhdGVfU3Vua2VuOwogICAgICAgICBlbHNlIGlmIChyZXN1bHQgPT0g
UHVzaEJ1dHRvblBhcnQpCiAgICAgICAgICAgICBvcHRpb24uc3RhdGUgfD0gUVN0eWxlOjpTdGF0
ZV9SYWlzZWQ7CisgICAgICAgIGlmIChiYWNrZ3JvdW5kQ29sb3IgIT0gbV9kZWZhdWx0QnV0dG9u
QmFja2dyb3VuZENvbG9yKQorICAgICAgICAgICAgb3B0aW9uLnBhbGV0dGUuc2V0Q29sb3IoUVBh
bGV0dGU6OkJ1dHRvbiwgYmFja2dyb3VuZENvbG9yKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQot
ICAgIH0KLQotICAgIGlmIChyZXN1bHQgPT0gUmFkaW9QYXJ0IHx8IHJlc3VsdCA9PSBDaGVja2Jv
eFBhcnQpCisgICAgY2FzZSBSYWRpb1BhcnQ6CisgICAgY2FzZSBDaGVja2JveFBhcnQ6CiAgICAg
ICAgIG9wdGlvbi5zdGF0ZSB8PSAoaXNDaGVja2VkKG8pID8gUVN0eWxlOjpTdGF0ZV9PbiA6IFFT
dHlsZTo6U3RhdGVfT2ZmKTsKLQotICAgIC8vIElmIHRoZSB3ZWJ2aWV3IGhhcyBhIGN1c3RvbSBw
YWxldHRlLCB1c2UgaXQKLSAgICBQYWdlKiBwYWdlID0gby0+ZG9jdW1lbnQoKS0+cGFnZSgpOwot
ICAgIGlmIChwYWdlKSB7Ci0gICAgICAgIFFXaWRnZXQqIHZpZXcgPSBzdGF0aWNfY2FzdDxDaHJv
bWVDbGllbnRRdCo+KHBhZ2UtPmNocm9tZSgpLT5jbGllbnQoKSktPm1fd2ViUGFnZS0+dmlldygp
OwotICAgICAgICBpZiAodmlldykKLSAgICAgICAgICAgIG9wdGlvbi5wYWxldHRlID0gdmlldy0+
cGFsZXR0ZSgpOworICAgICAgICBpZiAoYmFja2dyb3VuZENvbG9yICE9IG1fZGVmYXVsdFRleHRC
YWNrZ3JvdW5kQ29sb3IpIHsKKyAgICAgICAgICAgIC8vIFdlIGFyZSBzZXR0aW5nIGhlcmUgYWxs
IGJhY2tncm91bmQgY29sb3JzIGJlY2F1c2U6CisgICAgICAgICAgICAvLyAxLiBIVE1MIGRvZXMg
bm90IHN1cHBvcnQgbXVsdGlwbGUgYmFja2dyb3VuZCBjb2xvcnMgZm9yIHRoZXNlIGNvbnRyb2xz
CisgICAgICAgICAgICAvLyAgICB0aHVzIGl0IG1ha2VzIHNlbnNlIHRvIHJlZHVjZSBhbGwgYmFj
a2dyb3VuZCBjb2xvcnMgdG8gb25lLgorICAgICAgICAgICAgLy8gMi4gRGlmZmVyZW50IHN0eWxl
cyAoc3VjaCBhcyBtb3RpZiBhbmQgd2luZG93cykgdXNlIGRpZmZlcmVudCBwYWxldHRlCisgICAg
ICAgICAgICAvLyAgICBpbmRleGVzIHRvIHJlbmRlciB0aGUgY29udHJvbCdzIGJhY2tncm91bmQK
KyAgICAgICAgICAgIG9wdGlvbi5wYWxldHRlLnNldENvbG9yKFFQYWxldHRlOjpCdXR0b24sIGJh
Y2tncm91bmRDb2xvcik7CisgICAgICAgICAgICBvcHRpb24ucGFsZXR0ZS5zZXRDb2xvcihRUGFs
ZXR0ZTo6V2luZG93LCBiYWNrZ3JvdW5kQ29sb3IpOworICAgICAgICAgICAgb3B0aW9uLnBhbGV0
dGUuc2V0Q29sb3IoUVBhbGV0dGU6OkJhc2UsIGJhY2tncm91bmRDb2xvcik7CisgICAgICAgICAg
ICBvcHRpb24ucGFsZXR0ZS5zZXRDb2xvcihRUGFsZXR0ZTo6VGV4dCwgc3R5bGUtPmNvbG9yKCkp
OworICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgU2VhcmNoRmllbGRQYXJ0Ogor
ICAgIGNhc2UgVGV4dEZpZWxkUGFydDoKKyAgICBjYXNlIFRleHRBcmVhUGFydDoKKyAgICAgICAg
aWYgKGJhY2tncm91bmRDb2xvciAhPSBtX2RlZmF1bHRUZXh0QmFja2dyb3VuZENvbG9yKQorICAg
ICAgICAgICAgb3B0aW9uLnBhbGV0dGUuc2V0Q29sb3IoUVBhbGV0dGU6OkJhc2UsIGJhY2tncm91
bmRDb2xvcik7CisgICAgICAgIGJyZWFrOwogICAgIH0KLQogICAgIHJldHVybiByZXN1bHQ7CiB9
CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5oCShyZXZpc2lvbiA0OTUwMikK
KysrIFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5oCSh3b3JraW5nIGNvcHkpCkBA
IC01NSw2ICs1NSwxMSBAQCBwdWJsaWM6CiAgICAgLy8gQSBnZW5lcmFsIG1ldGhvZCBhc2tpbmcg
aWYgYW55IGNvbnRyb2wgdGludGluZyBpcyBzdXBwb3J0ZWQgYXQgYWxsLgogICAgIHZpcnR1YWwg
Ym9vbCBzdXBwb3J0c0NvbnRyb2xUaW50cygpIGNvbnN0OwogCisgICAgLy8gRGV0ZXJtaW5lcyB3
aGV0aGVyIHRoZSBjb250cm9sIHRoYXQgUmVuZGVyU3R5bGUqIGFwcGxpZXMgdG8gaGFzIHdlYnBh
Z2UgYXV0aG9yIG1vZGlmaWVkIAorICAgIC8vIGJvcmRlcnMgb3IgYmFja2dyb3VuZCBjb2xvci4g
SXQgYWxzbyBzYXZlcyB0aGUgZGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgY29udHJv
bAorICAgIC8vIHN1Y2ggdGhhdCB0aGlzIHRlc3QgY2FuIGJlIHJlcGVhdGVkIGF0IHBhaW50aW5n
IHRpbWUgKHNlZSBpbXBsZW1lbnRhdGlvbikKKyAgICB2aXJ0dWFsIGJvb2wgaXNDb250cm9sU3R5
bGVkKGNvbnN0IFJlbmRlclN0eWxlKiwgY29uc3QgQm9yZGVyRGF0YSYsIGNvbnN0IEZpbGxMYXll
ciYsIGNvbnN0IENvbG9yJiBiYWNrZ3JvdW5kQ29sb3IpIGNvbnN0OworCiAgICAgdmlydHVhbCB2
b2lkIGFkanVzdFJlcGFpbnRSZWN0KGNvbnN0IFJlbmRlck9iamVjdCogbywgSW50UmVjdCYgcik7
CiAKICAgICAvLyBUaGUgcGxhdGZvcm0gc2VsZWN0aW9uIGNvbG9yLgpAQCAtMTMyLDcgKzEzNyw3
IEBAIHByaXZhdGU6CiBwcml2YXRlOgogICAgIGJvb2wgc3VwcG9ydHNGb2N1cyhDb250cm9sUGFy
dCkgY29uc3Q7CiAKLSAgICBDb250cm9sUGFydCBhcHBseVRoZW1lKFFTdHlsZU9wdGlvbiYsIFJl
bmRlck9iamVjdCopIGNvbnN0OworICAgIENvbnRyb2xQYXJ0IGFkanVzdENvbW1vblFTdHlsZU9w
dGlvbnMoUVN0eWxlT3B0aW9uJiwgUmVuZGVyT2JqZWN0KikgY29uc3Q7CiAKICAgICB2b2lkIHNl
dEJ1dHRvblBhZGRpbmcoUmVuZGVyU3R5bGUqKSBjb25zdDsKICAgICB2b2lkIHNldFBvcHVwUGFk
ZGluZyhSZW5kZXJTdHlsZSopIGNvbnN0OwpAQCAtMTQ4LDYgKzE1Myw4IEBAIHByaXZhdGU6CiAg
ICAgUVN0cmluZyBtX2J1dHRvbkZvbnRGYW1pbHk7CiAKICAgICBRU3R5bGUqIG1fZmFsbGJhY2tT
dHlsZTsKKyAgICBRQ29sb3IgbV9kZWZhdWx0VGV4dEJhY2tncm91bmRDb2xvcjsKKyAgICBRQ29s
b3IgbV9kZWZhdWx0QnV0dG9uQmFja2dyb3VuZENvbG9yOwogfTsKIAogY2xhc3MgU3R5bGVQYWlu
dGVyIHsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ5NTAyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMDktMTAtMTMgIENhcm9sIFN6YWJv
ICA8Y2Fyb2wuc3phYm9Abm9raWEuY29tPiwgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxr
ZW5uZXRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW1F0XSBNYWtlIGl0IHBvc3NpYmxlIHRvIGFwcGx5IHRoZSBDU1MgYmFja2dy
b3VuZCBjb2xvciB0byB0aGUKKyAgICAgICAgbmF0aXZlIHBhaW50ZWQgd2lkZ2V0cy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwMTczCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Nzcy9wc2V1ZG8tY2FjaGUtc3RhbGUtZXhwZWN0ZWQudHh0
OgorICAgICAgICBVcGRhdGVkIHJlc3VsdHMgZHVlIHRvIGRpZmZlcmVudCBzaXplIG9mIHRoZSBz
ZWFyY2ggY29udHJvbCBzaW5jZQorICAgICAgICBub3cgaXQgaXMgcmVuZGVyZWQgYXMgYSB0ZXh0
IGNvbnRyb2wgYnkgdGhlIHBsYXRmb3JtLCBub3QgaW50ZXJuYWxseQorICAgICAgICBieSBXZWJL
aXQuCisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9iYXNpYy1pbnB1dHMtZXhwZWN0
ZWQudHh0CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9pc2luZGV4LXBsYWNlaG9s
ZGVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHQt
c3R5bGUtY29sb3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvZm9y
bXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItcHNldWRvLXN0eWxlLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXNldC1hdHRy
aWJ1dGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4
dGFyZWEtcGxhY2Vob2xkZXItc2V0LXZhbHVlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgVXBkYXRl
ZCByZXN1bHRzIHRvIGluY2x1ZGUgdGhlIGJnY29sb3IgYXR0cmlidXRlIHdoaWNoIGlzIG5vIGxv
bmdlciAKKyAgICAgICAgdHJhbnNwYXJlbnQgYW5kIHRodXMgaXQgZ2V0cyBsb2dnZWQuCisKIDIw
MDktMTAtMTMgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgTGF5b3V0IHRlc3QgZml4LCByZXZlcnRpbmcgcHJldmlvdXMgY2hhbmdlLgpJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9jc3MvcHNldWRvLWNhY2hlLXN0YWxlLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Nzcy9wc2V1
ZG8tY2FjaGUtc3RhbGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0OTUwMikKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL3F0L2Zhc3QvY3NzL3BzZXVkby1jYWNoZS1zdGFsZS1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEyLDE1ICsxMiwxNSBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDQxKSBzaXplIDc4NHgyMQogICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyOTh4NDEKICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyOTg6ICJUaGlzIHNlbnRlbmNlIHNob3VsZCBiZSBleHRy
YS1leHRyYS1sYXJnZS4iCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCw2Mikg
c2l6ZSA3ODR4MzEKLSAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiwyKSBz
aXplIDE3N3gyNyBbYmdjb2xvcj0jRkZGRkZGXSBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAwMDAp
XQotICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgzLDMpIHNpemUgMTcxeDIxCisgICAg
ICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCw2Mikgc2l6ZSA3ODR4MjUKKyAgICAgICAg
UmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiwyKSBzaXplIDE3MXgyMSBbYmdjb2xvcj0j
RkZGRkZGXQorICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTcxeDIx
CiAgICAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwxNikgc2l6ZSAweDAKICAgICAg
ICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxNzEsMTYpIHNpemUgMHgwCiAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMHgwCi1sYXllciBhdCAoMTMsNzUpIHNpemUgMTcxeDIxCitsYXllciBhdCAoMTAs
NzIpIHNpemUgMTcxeDIxCiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTcxeDIx
IFtjb2xvcj0jMDA4MDAwXQogICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwwKSBzaXplIDE1
MHgyMQogICAgICAgdGV4dCBydW4gYXQgKDEsMCkgd2lkdGggMTUwOiAiVGhpcyBzaG91bGQgYmUg
Z3JlZW4iCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL2Jhc2ljLWlu
cHV0cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQv
ZmFzdC9mb3Jtcy9iYXNpYy1pbnB1dHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0OTUwMikKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvYmFzaWMtaW5wdXRzLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzUsMTcgKzM1LDE3IEBAIGxheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEwLDM2Nykgc2l6ZSA0NTB4
NjQgW2JvcmRlcjogKDFweCBzb2xpZCAjRkYwMDAwKV0KICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgxLDYpIHNpemUgOXgyMQogICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDYpIHdpZHRo
IDk6ICJhIgotICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgxMiwzKSBzaXpl
IDE3NXgyNworICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgxMiwzKSBzaXpl
IDE3NXgyNyBbYmdjb2xvcj0jRkZGRkZGXQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDE4OSw2KSBzaXplIDI5eDIxCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDE4OSw2KSB3aWR0aCAy
OTogInRleHQgIgotICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyMjAsMykg
c2l6ZSAxNzV4MjcKKyAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMjIwLDMp
IHNpemUgMTc1eDI3IFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMzk3LDYpIHNpemUgMjJ4MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzk3LDYpIHdp
ZHRoIDEzOiAiYiAiCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDQxMCw2KSB3aWR0aCA5OiAiYSIK
LSAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMywzNCkgc2l6ZSAxNzV4MjcK
KyAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMywzNCkgc2l6ZSAxNzV4Mjcg
W2JnY29sb3I9I0ZGRkZGRl0KICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxODAsMzcp
IHNpemUgNzN4MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTgwLDM3KSB3aWR0aCA3MzogInBh
c3N3b3JkICIKLSAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMjU1LDM0KSBz
aXplIDE3NXgyNworICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyNTUsMzQp
IHNpemUgMTc1eDI3IFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoNDMyLDM3KSBzaXplIDl4MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDMyLDM3KSB3
aWR0aCA5OiAiYiIKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxMCw0NDEpIHNpemUgNDUw
eDIzIFtib3JkZXI6ICgxcHggc29saWQgI0ZGMDAwMCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9xdC9mYXN0L2Zvcm1zL2lzaW5kZXgtcGxhY2Vob2xkZXItZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvaXNpbmRleC1wbGFj
ZWhvbGRlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQ5NTAyKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvZmFzdC9mb3Jtcy9pc2luZGV4LXBsYWNlaG9sZGVyLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMTksNyArMTksNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTApIHNpemUgNzg0eDMxCiAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMzY0eDIxCiAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCw1KSB3aWR0aCAzNjQ6ICJUaGlzIGlzIGEgc2VhcmNoYWJsZSBp
bmRleC4gRW50ZXIgc2VhcmNoIGtleXdvcmRzOiAiCi0gICAgICAgICAgUmVuZGVyVGV4dENvbnRy
b2wge0lTSU5ERVh9IGF0ICgzNjYsMikgc2l6ZSAxNzV4MjcKKyAgICAgICAgICBSZW5kZXJUZXh0
Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2NiwyKSBzaXplIDE3NXgyNyBbYmdjb2xvcj0jRkZGRkZG
XQogICAgICAgICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDQ5KSBzaXplIDc4NHgyIFtib3JkZXI6
ICgxcHggaW5zZXQgIzAwMDAwMCldCiAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAo
MCwxMjUpIHNpemUgNzg0eDIxCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDI2OHgyMQpAQCAtMjksNyArMjksNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTApIHNpemUgNzg0eDMxCiAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMzY0eDIxCiAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCw1KSB3aWR0aCAzNjQ6ICJUaGlzIGlzIGEgc2VhcmNoYWJsZSBp
bmRleC4gRW50ZXIgc2VhcmNoIGtleXdvcmRzOiAiCi0gICAgICAgICAgUmVuZGVyVGV4dENvbnRy
b2wge0lTSU5ERVh9IGF0ICgzNjYsMikgc2l6ZSAxNzV4MjcKKyAgICAgICAgICBSZW5kZXJUZXh0
Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2NiwyKSBzaXplIDE3NXgyNyBbYmdjb2xvcj0jRkZGRkZG
XQogICAgICAgICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDQ5KSBzaXplIDc4NHgyIFtib3JkZXI6
ICgxcHggaW5zZXQgIzAwMDAwMCldCiBsYXllciBhdCAoMzc2LDg5KSBzaXplIDE3MXgyMQogICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMiwzKSBzaXplIDE3MXgyMSBbY29sb3I9I0E5QTlBOV0KSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dC1zdHlsZS1jb2xvci1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9m
b3Jtcy90ZXh0LXN0eWxlLWNvbG9yLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDk1MDIpCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHQtc3R5bGUtY29sb3ItZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xMSw3ICsxMSw3IEBAIGxheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAogICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxMCkgc2l6
ZSA3ODR4MzEKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNSkgc2l6ZSAzNjR4
MjEKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDUpIHdpZHRoIDM2NDogIlRoaXMgaXMgYSBz
ZWFyY2hhYmxlIGluZGV4LiBFbnRlciBzZWFyY2gga2V5d29yZHM6ICIKLSAgICAgICAgICBSZW5k
ZXJUZXh0Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2NiwyKSBzaXplIDE3NXgyNworICAgICAgICAg
IFJlbmRlclRleHRDb250cm9sIHtJU0lOREVYfSBhdCAoMzY2LDIpIHNpemUgMTc1eDI3IFtiZ2Nv
bG9yPSNGRkZGRkZdCiAgICAgICAgIFJlbmRlckJsb2NrIHtIUn0gYXQgKDAsNDkpIHNpemUgNzg0
eDIgW2JvcmRlcjogKDFweCBpbnNldCAjMDAwMDAwKV0KICAgICAgIFJlbmRlckJsb2NrIChhbm9u
eW1vdXMpIGF0ICgwLDg4KSBzaXplIDc4NHgyMQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSAxNjJ4MjEKQEAgLTIxLDcgKzIxLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCiAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDEwKSBzaXpl
IDc4NHgzMQogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw1KSBzaXplIDM2NHgy
MQogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNSkgd2lkdGggMzY0OiAiVGhpcyBpcyBhIHNl
YXJjaGFibGUgaW5kZXguIEVudGVyIHNlYXJjaCBrZXl3b3JkczogIgotICAgICAgICAgIFJlbmRl
clRleHRDb250cm9sIHtJU0lOREVYfSBhdCAoMzY2LDIpIHNpemUgMTc1eDI3IFtjb2xvcj0jRkYw
MDAwXQorICAgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJU0lOREVYfSBhdCAoMzY2LDIpIHNp
emUgMTc1eDI3IFtjb2xvcj0jRkYwMDAwXSBbYmdjb2xvcj0jRkZGRkZGXQogICAgICAgICBSZW5k
ZXJCbG9jayB7SFJ9IGF0ICgwLDQ5KSBzaXplIDc4NHgyIFtib3JkZXI6ICgxcHggaW5zZXQgIzAw
MDAwMCldCiAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxNzYpIHNpemUgNzg0
eDIxCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDIzN3gyMQpAQCAt
NDQsMTAgKzQ0LDEwIEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAgIFJl
bmRlclRleHRDb250cm9sIHtJU0lOREVYfSBhdCAoMzY2LDIpIHNpemUgMTc3eDI3IFtjb2xvcj0j
RkYwMDAwXSBbYmdjb2xvcj0jMDA4MDAwXSBbYm9yZGVyOiAoMnB4IGluc2V0ICNGRjAwMDApXQog
ICAgICAgICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDQ5KSBzaXplIDc4NHgyIFtib3JkZXI6ICgx
cHggaW5zZXQgIzAwMDAwMCldCiAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwz
NTIpIHNpemUgNzg0eDMxCi0gICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDIs
Mikgc2l6ZSAxNzV4MjcKKyAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiwy
KSBzaXplIDE3NXgyNyBbYmdjb2xvcj0jRkZGRkZGXQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDE3OSw1KSBzaXplIDR4MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTc5LDUpIHdp
ZHRoIDQ6ICIgIgotICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgxODUsMikg
c2l6ZSAxNzV4MjcgW2NvbG9yPSNGRjAwMDBdCisgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJ
TlBVVH0gYXQgKDE4NSwyKSBzaXplIDE3NXgyNyBbY29sb3I9I0ZGMDAwMF0gW2JnY29sb3I9I0ZG
RkZGRl0KICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzNjIsNSkgc2l6ZSA0eDIxCiAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDM2Miw1KSB3aWR0aCA0OiAiICIKICAgICAgICAgUmVuZGVy
VGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMzY4LDIpIHNpemUgMTc3eDI3IFtiZ2NvbG9yPSMwMDgw
MDBdIFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXBzZXVkby1zdHlsZS1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jt
cy90ZXh0YXJlYS1wbGFjZWhvbGRlci1wc2V1ZG8tc3R5bGUtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA0OTUwMikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dGFyZWEt
cGxhY2Vob2xkZXItcHNldWRvLXN0eWxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MTQsMjIgKzE0LDIyIEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICB0ZXh0
IHJ1biBhdCAoNTQ4LDUxKSB3aWR0aCA0OiAiICIKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDB4MAogbGF5ZXIgYXQgKDEwLDMxKSBzaXplIDE3Nng0MgotICBSZW5kZXJU
ZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICgyLDIzKSBzaXplIDE3Nng0MgorICBSZW5kZXJUZXh0
Q29udHJvbCB7VEVYVEFSRUF9IGF0ICgyLDIzKSBzaXplIDE3Nng0MiBbYmdjb2xvcj0jRkZGRkZG
XQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIxIFtjb2xvcj0jNjQw
MDAwXQogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjV4MjEKICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjU6ICJ0ZXh0IgogbGF5ZXIgYXQgKDE5NCwzMSkg
c2l6ZSAxNzZ4NDIKLSAgUmVuZGVyVGV4dENvbnRyb2wge1RFWFRBUkVBfSBhdCAoMTg2LDIzKSBz
aXplIDE3Nng0MgotICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIxIFtj
b2xvcj0jNjQwMDAwXQorICBSZW5kZXJUZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICgxODYsMjMp
IHNpemUgMTc2eDQyIFtiZ2NvbG9yPSNGRkZGRkZdCisgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDAsMCkgc2l6ZSAxNzZ4MjEgW2NvbG9yPSNCODAwMDBdCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSA5MHgyMQogICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA5
MDogImRpc2FibGVkIHRleHQiCiBsYXllciBhdCAoMzc4LDMxKSBzaXplIDE3Nng0MgotICBSZW5k
ZXJUZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICgzNzAsMjMpIHNpemUgMTc2eDQyCisgIFJlbmRl
clRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDM3MCwyMykgc2l6ZSAxNzZ4NDIgW2JnY29sb3I9
I0ZGRkZGRl0KICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDE3NngyMSBbY29s
b3I9I0E5QTlBOV0KICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ4eDIx
CiAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQ4OiAiZGVmYXVsdCIKIGxheWVyIGF0
ICg1NjIsMzEpIHNpemUgMTc2eDQyCi0gIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQg
KDU1NCwyMykgc2l6ZSAxNzZ4NDIKLSAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXpl
IDE3NngyMSBbY29sb3I9IzU1NTU1NV0KKyAgUmVuZGVyVGV4dENvbnRyb2wge1RFWFRBUkVBfSBh
dCAoNTU0LDIzKSBzaXplIDE3Nng0MiBbYmdjb2xvcj0jRkZGRkZGXQorICAgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIxIFtjb2xvcj0jQTlBOUE5XQogICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTEzeDIxCiAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDExMzogImRlZmF1bHQgZGlzYWJsZWQiCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXNldC1hdHRyaWJ1dGUtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9y
bXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItc2V0LWF0dHJpYnV0ZS1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDQ5NTAyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0YXJl
YS1wbGFjZWhvbGRlci1zZXQtYXR0cmlidXRlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtOCw3ICs4LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggNDg2OiAiSWYgeW91IGNhbiBzZWUgdGhlIHdvcmQgXCJQbGFj
ZWhvbGRlclwiIGluIHRoZSB0ZXh0IGFyZWEsIHRoZW4gYWxsIGlzIHdlbGwuIgogICAgICAgUmVu
ZGVyQmxvY2sge1B9IGF0ICgwLDM3KSBzaXplIDc4NHg0NgogbGF5ZXIgYXQgKDEwLDQ3KSBzaXpl
IDE3Nng0MgotICBSZW5kZXJUZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICgyLDIpIHNpemUgMTc2
eDQyCisgIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDIsMikgc2l6ZSAxNzZ4NDIg
W2JnY29sb3I9I0ZGRkZGRl0KICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDE3
NngyMSBbY29sb3I9I0E5QTlBOV0KICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDg2eDIxCiAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDg2OiAiUGxhY2Vob2xk
ZXIiCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBs
YWNlaG9sZGVyLXNldC12YWx1ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci1zZXQtdmFsdWUt
ZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0OTUwMikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0
L2Zhc3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItc2V0LXZhbHVlLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMTYsNyArMTYsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogbGF5ZXIgYXQgKDEwLDQ3KSBz
aXplIDE3Nng0MgotICBSZW5kZXJUZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICgyLDIpIHNpemUg
MTc2eDQyCisgIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDIsMikgc2l6ZSAxNzZ4
NDIgW2JnY29sb3I9I0ZGRkZGRl0KICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXpl
IDE3NngyMQogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNjJ4MjEKICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNjI6ICJOZXcgdGV4dCIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41317</attachid>
            <date>2009-10-16 13:43:39 -0700</date>
            <delta_ts>2009-11-13 10:38:30 -0800</delta_ts>
            <desc>Proposed Patch - best effort</desc>
            <filename>patchFor30173-7.patch</filename>
            <type>text/plain</type>
            <size>24036</size>
            <attacher name="Carol Szabo">carol</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0OTUwMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDIgQEAKKzIwMDktMTAtMTMgIENhcm9sIFN6YWJvICA8Y2Fyb2wuc3phYm9Abm9r
aWEuY29tPiwgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBN
YWtlIGl0IHBvc3NpYmxlIHRvIGFwcGx5IHRoZSBDU1MgYmFja2dyb3VuZCBjb2xvciB0byB0aGUg
bmF0aXZlCisgICAgICAgIHBhaW50ZWQgd2lkZ2V0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwMTczCisKKyAgICAgICAgVGhpcyBpcyBhIGJlc3Qg
ZWZmb3J0IGFwcHJvYWNoIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQ1NTIDIuMSBzcGVjCisgICAg
ICAgIChodHRwOi8vd3d3LnczLm9yZy9UUi9DU1MyLykgd2hpY2ggaW4gdGhlIGNvbmZvcm1hbmNl
IHNlY3Rpb24gbGVhdmVzCisgICAgICAgIHVuZGVmaW5lZCB0aGUgcHJvcGVydGllcyB0aGF0IGFw
cGx5IHRvIGZvcm0gY29udHJvbHMgYW5kIGZyYW1lcy4KKyAgICAgICAgQ1NTIGJhY2tncm91bmQg
Y29sb3IgZG9lcyBub3Qgd29yayBmb3IgdGhlIGd0ayBzdHlsZSwgd2hpY2ggaWdub3JlcworICAg
ICAgICB0aGUgcGFsZXR0ZSBzZXR0aW5ncyBieSBkZWZhdWx0LiBTb21lIG90aGVyIHN0eWxlcyBo
YXZlCisgICAgICAgIGxpbWl0YXRpb25zIG9uIHdoYXQgcGFydHMgb2YgdGhlIHN0eWxlIGFyZSBj
dXN0b21pemFibGUsIGJ1dAorICAgICAgICBpdCB3b3JrcyB3aXRoIG1vc3Qgc3R5bGVzIGFuZCB3
aXRoIHRob3NlIHN0eWxlcyB3aGVyZSBpdCBkb2VzIG5vdAorICAgICAgICB0aGUgcmVzdWx0cyBh
cmUgdGhlIHNhbWUgYXMgd2l0aG91dCB0aGUgY2hhbmdlLgorCisgICAgICAgICogcGxhdGZvcm0v
cXQvUmVuZGVyVGhlbWVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0Ojpp
c0NvbnRyb2xTdHlsZWQpOgorICAgICAgICBTcGVjaWFsaXplZCBmb3IgUXQgaW4gb3JkZXIgdG8g
Y2FwdHVyZSB0aGUgZGVmYXVsdCAobm9uLWF1dGhvciBhbHRlcmVkKSBiYWNrZ3JvdW5kIGNvbG9y
CisgICAgICAgIHN1Y2ggdGhhdCBhdCBwYWludCB0aW1lIHdlIGNhbiBkZXRlcm1pbmUgd2hldGhl
ciB0byBwYWludCB0aGUgdGhlbWUgZGVmaW5lZCBiYWNrZ3JvdW5kIG9yCisgICAgICAgIHRoZSBh
dXRob3Igc2VsZWN0ZWQgYmFja2dyb3VuZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1l
UXQ6OmFkanVzdENvbW1vblFTdHlsZU9wdGlvbnMpOgorICAgICAgICBUaGlzIGZ1bmN0aW9uIHdh
cyByZW5hbWVkIGZyb20gYXBwbHlUaGVtZSBiZWNhdXNlIHRoZSBwcmV2aW91cyBuYW1lIHdhcyBu
b3QgZGVzY3JpcHRpdmUgb2YKKyAgICAgICAgd2hhdCB0aGUgZnVuY3Rpb24gYWN0dWFsbHkgZGlk
LCB3aGljaCB3YXMgKGFuZCBjb250aW51ZXMgdG8gYmUpIHRvIGFkanVzdCB0aGUgb3B0aW9uIHNl
dHRpbmdzCisgICAgICAgIGJhc2VkIG9uIHRoZSBjb250cm9sJ3Mgc3R5bGUgYW5kIHN0YXRlLgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGFpbnRCdXR0b24pOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGFpbnRUZXh0RmllbGQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWVRdDo6cGFpbnRNZW51TGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUaGVtZVF0OjpwYWludE1lbnVMaXN0QnV0dG9uKToKKyAgICAgICAgTW9kaWZpZWQgb25seSBk
dWUgdG8gcmVuYW1pbmcgb2YgdGhlIGFwcGx5VGhlbWUgbWV0aG9kLgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWVRdDo6YWRqdXN0VGV4dEZpZWxkU3R5bGUpOgorICAgICAgICBSZW1vdmVk
IHRoZSBsaW5lIHRoYXQgbWFrZXMgdGhlIGJhY2tncm91bmQgdHJhbnNwYXJlbnQgaW4gb3JkZXIg
dG8gaGF2ZSB0aGUgY29sb3IgYXZhaWxhYmxlIGZvcgorICAgICAgICBwYWludGluZy4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmFkanVzdFNlYXJjaEZpZWxkU3R5bGUpOgorICAg
ICAgICBDaGFuZ2VkIHRvIHVzZSB0aGUgc2FtZSBsb2dpYyBhcyBhZGp1c3RUZXh0RmllbGRTdHls
ZSBzaW5jZSB0aGUgc2VhcmNoIGZpZWxkIGZvciBxdCBpcyBub3RoaW5nIGJ1dAorICAgICAgICBh
IHRleHQgZmllbGQgZm9yIG5vdy4KKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0
Lmg6CisKIDIwMDktMTAtMTMgIEdpcmlzaCBSYW1ha3Jpc2huYW4gIDxnaXJpc2hAZm9yd2FyZGJp
YXMuaW4+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCkluZGV4OiBXZWJD
b3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAJKHJldmlzaW9uIDQ5NTAyKQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiAr
NDIsNyBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVk
LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlFXZWJQYWdlQ2xpZW50LmgiCiAjaW5j
bHVkZSAiUmVuZGVyQm94LmgiCiAjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKICNpbmNsdWRlICJV
c2VyQWdlbnRTdHlsZVNoZWV0cy5oIgpAQCAtMjA2LDYgKzIwNywzOSBAQCBib29sIFJlbmRlclRo
ZW1lUXQ6OnN1cHBvcnRzQ29udHJvbFRpbnRzCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKKy8qIFRo
aXMgbWV0aG9kLCBpbiBhZGRpdGlvbiB0byBpdHMgZGVmYXVsdCBmdW5jdGlvbiBvZiBkZXRlcm1p
bmluZyB3aGV0aGVyIHRoZSBhdXRob3Igb2YgdGhlIAorICogcGFnZSBzcGVjaWZpZWQgc3R5bGlu
ZyBmb3IgdGhlIGNvbnRyb2wgdGhhdCBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgZGVmYXVsdHMgKHdo
aWNoIGZ1bmN0aW9uCisgKiBpcyBzdGlsbCBkZWxlZ2F0ZWQgdG8gdGhlIGJhc2UgY2xhc3MpLCBz
YXZlcyB0aGUgZGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIHNvIHRoYXQgdGhpcyBjaGVjaworICog
Y2FuIGJlIHJlcGVhdGVkIGF0IHBhaW50aW5nIHRpbWUgZm9yIHRoZSBwdXJwb3NlIG9mIG92ZXJy
aWRpbmcgb3Igbm90IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGluCisgKiB0aGUgY29udHJvbCdzIHBh
aW50aW5nIG9wdGlvbnMuCisgKiBGSVhNRTogdGhpcyBmdW5jdGlvbiBpcyBkZWZpbmVkIGNvbnN0
IGJ1dCB0aGVyZSBpcyBubyBvdGhlciBwbGFjZSB3aGVyZSB3ZSBjb3VsZAorICogZWZmaWNpZW50
bHkgc2F2ZSB0aGUgZGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgY29udHJvbCBzdWNo
IHRoYXQgaXQgaXMKKyAqIGF2YWlsYWJsZSBhdCBwYWludGluZyB0aW1lCisgKi8KK2Jvb2wgUmVu
ZGVyVGhlbWVRdDo6aXNDb250cm9sU3R5bGVkKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSwgY29u
c3QgQm9yZGVyRGF0YSYgYm9yZGVyRGF0YSwgY29uc3QgRmlsbExheWVyJiBmaWxsTGF5ZXIsIGNv
bnN0IENvbG9yJiBiYWNrZ3JvdW5kQ29sb3IpIGNvbnN0Cit7CisgICAgc3dpdGNoIChzdHlsZS0+
YXBwZWFyYW5jZSgpKSB7CisgICAgY2FzZSBQdXNoQnV0dG9uUGFydDoKKyAgICBjYXNlIFNxdWFy
ZUJ1dHRvblBhcnQ6CisgICAgY2FzZSBCdXR0b25QYXJ0OgorICAgIGNhc2UgQnV0dG9uQmV2ZWxQ
YXJ0OgorICAgIGNhc2UgTGlzdEl0ZW1QYXJ0OgorICAgIGNhc2UgTWVudWxpc3RCdXR0b25QYXJ0
OgorICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uUGFydDoKKyAgICBjYXNlIFNlYXJj
aEZpZWxkQ2FuY2VsQnV0dG9uUGFydDoKKyAgICAgICAgKihjb25zdF9jYXN0PFFDb2xvcio+KCZt
X2RlZmF1bHRCdXR0b25CYWNrZ3JvdW5kQ29sb3IpKSA9IGJhY2tncm91bmRDb2xvcjsKKyAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBSYWRpb1BhcnQ6CisgICAgY2FzZSBDaGVja2JveFBhcnQ6Cisg
ICAgY2FzZSBTZWFyY2hGaWVsZFBhcnQ6CisgICAgY2FzZSBUZXh0RmllbGRQYXJ0OgorICAgIGNh
c2UgVGV4dEFyZWFQYXJ0OgorICAgICAgICAqKGNvbnN0X2Nhc3Q8UUNvbG9yKj4oJm1fZGVmYXVs
dFRleHRCYWNrZ3JvdW5kQ29sb3IpKSA9IGJhY2tncm91bmRDb2xvcjsKKyAgICAgICAgYnJlYWs7
CisgICAgfQorICAgIHJldHVybiBSZW5kZXJUaGVtZTo6aXNDb250cm9sU3R5bGVkKHN0eWxlLCBi
b3JkZXJEYXRhLCBmaWxsTGF5ZXIsIGJhY2tncm91bmRDb2xvcik7Cit9OworCiBzdGF0aWMgaW50
IGZpbmRGcmFtZUxpbmVXaWR0aChRU3R5bGUqIHN0eWxlKQogewogICAgIFFMaW5lRWRpdCBsaW5l
RWRpdDsKQEAgLTQ3NSw3ICs1MDksNyBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnBhaW50QnV0dG9u
KFJlbmRlck9iCiAgICAgb3B0aW9uLnJlY3QgPSByOwogICAgIG9wdGlvbi5zdGF0ZSB8PSBRU3R5
bGU6OlN0YXRlX1NtYWxsOwogCi0gICAgQ29udHJvbFBhcnQgYXBwZWFyYW5jZSA9IGFwcGx5VGhl
bWUob3B0aW9uLCBvKTsKKyAgICBDb250cm9sUGFydCBhcHBlYXJhbmNlID0gYWRqdXN0Q29tbW9u
UVN0eWxlT3B0aW9ucyhvcHRpb24sIG8pOwogICAgIGlmIChhcHBlYXJhbmNlID09IFB1c2hCdXR0
b25QYXJ0IHx8IGFwcGVhcmFuY2UgPT0gQnV0dG9uUGFydCkgewogICAgICAgICBvcHRpb24ucmVj
dCA9IGluZmxhdGVCdXR0b25SZWN0KG9wdGlvbi5yZWN0LCBxU3R5bGUoKSk7CiAgICAgICAgIHAu
ZHJhd0NvbnRyb2woUVN0eWxlOjpDRV9QdXNoQnV0dG9uLCBvcHRpb24pOwpAQCAtNDg5LDcgKzUy
Myw2IEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRCdXR0b24oUmVuZGVyT2IKIAogdm9pZCBS
ZW5kZXJUaGVtZVF0OjphZGp1c3RUZXh0RmllbGRTdHlsZShDU1NTdHlsZVNlbGVjdG9yKiwgUmVu
ZGVyU3R5bGUqIHN0eWxlLCBFbGVtZW50KikgY29uc3QKIHsKLSAgICBzdHlsZS0+c2V0QmFja2dy
b3VuZENvbG9yKENvbG9yOjp0cmFuc3BhcmVudCk7CiAgICAgc3R5bGUtPnJlc2V0Qm9yZGVyKCk7
CiAgICAgc3R5bGUtPnJlc2V0UGFkZGluZygpOwogICAgIGNvbXB1dGVTaXplQmFzZWRPblN0eWxl
KHN0eWxlKTsKQEAgLTUxMSw3ICs1NDQsNyBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnBhaW50VGV4
dEZpZWxkKFJlbmRlCiAgICAgcGFuZWwuZmVhdHVyZXMgPSBRU3R5bGVPcHRpb25GcmFtZVYyOjpO
b25lOwogCiAgICAgLy8gR2V0IHRoZSBjb3JyZWN0IHRoZW1lIGRhdGEgZm9yIGEgdGV4dCBmaWVs
ZAotICAgIENvbnRyb2xQYXJ0IGFwcGVhcmFuY2UgPSBhcHBseVRoZW1lKHBhbmVsLCBvKTsKKyAg
ICBDb250cm9sUGFydCBhcHBlYXJhbmNlID0gYWRqdXN0Q29tbW9uUVN0eWxlT3B0aW9ucyhwYW5l
bCwgbyk7CiAgICAgaWYgKGFwcGVhcmFuY2UgIT0gVGV4dEZpZWxkUGFydAogICAgICAgICAmJiBh
cHBlYXJhbmNlICE9IFNlYXJjaEZpZWxkUGFydAogICAgICAgICAmJiBhcHBlYXJhbmNlICE9IFRl
eHRBcmVhUGFydApAQCAtNTIwLDcgKzU1Myw2IEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRU
ZXh0RmllbGQoUmVuZGUKIAogICAgIC8vIE5vdyBwYWludCB0aGUgdGV4dCBmaWVsZC4KICAgICBw
LmRyYXdQcmltaXRpdmUoUVN0eWxlOjpQRV9QYW5lbExpbmVFZGl0LCBwYW5lbCk7Ci0KICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAKQEAgLTU3Myw3ICs2MDUsNyBAQCBib29sIFJlbmRlclRoZW1lUXQ6
OnBhaW50TWVudUxpc3QoUmVuZGVyCiAgICAgUVN0eWxlT3B0aW9uQ29tYm9Cb3ggb3B0OwogICAg
IGlmIChwLndpZGdldCkKICAgICAgICAgb3B0LmluaXRGcm9tKHAud2lkZ2V0KTsKLSAgICBhcHBs
eVRoZW1lKG9wdCwgbyk7CisgICAgYWRqdXN0Q29tbW9uUVN0eWxlT3B0aW9ucyhvcHQsIG8pOwog
CiAgICAgY29uc3QgUVBvaW50IHRvcExlZnQgPSByLnRvcExlZnQoKTsKICAgICBwLnBhaW50ZXIt
PnRyYW5zbGF0ZSh0b3BMZWZ0KTsKQEAgLTYxMyw3ICs2NDUsNyBAQCBib29sIFJlbmRlclRoZW1l
UXQ6OnBhaW50TWVudUxpc3RCdXR0b24oCiAgICAgUVN0eWxlT3B0aW9uQ29tYm9Cb3ggb3B0aW9u
OwogICAgIGlmIChwLndpZGdldCkKICAgICAgICAgb3B0aW9uLmluaXRGcm9tKHAud2lkZ2V0KTsK
LSAgICBhcHBseVRoZW1lKG9wdGlvbiwgbyk7CisgICAgYWRqdXN0Q29tbW9uUVN0eWxlT3B0aW9u
cyhvcHRpb24sIG8pOwogICAgIG9wdGlvbi5yZWN0ID0gcjsKIAogICAgIC8vIGZvciBkcmF3aW5n
IHRoZSBjb21ibyBib3ggYXJyb3csIHJlbHkgb25seSBvbiB0aGUgZmFsbGJhY2sgc3R5bGUKQEAg
LTY0OSw3ICs2ODEsNyBAQCB2b2lkIFJlbmRlclRoZW1lUXQ6OmFkanVzdFNlYXJjaEZpZWxkU3R5
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxlbWVudCogZSkg
Y29uc3QKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIFJlbmRlclRoZW1lOjphZGp1c3RT
ZWFyY2hGaWVsZFN0eWxlKHNlbGVjdG9yLCBzdHlsZSwgZSk7CisgICAgYWRqdXN0VGV4dEZpZWxk
U3R5bGUoc2VsZWN0b3IsIHN0eWxlLCBlKTsKIH0KIAogdm9pZCBSZW5kZXJUaGVtZVF0OjphZGp1
c3RTZWFyY2hGaWVsZENhbmNlbEJ1dHRvblN0eWxlKENTU1N0eWxlU2VsZWN0b3IqIHNlbGVjdG9y
LCBSZW5kZXJTdHlsZSogc3R5bGUsCkBAIC03MTEsNyArNzQzLDcgQEAgYm9vbCBSZW5kZXJUaGVt
ZVF0OjpzdXBwb3J0c0ZvY3VzKENvbnRybwogICAgIH0KIH0KIAotQ29udHJvbFBhcnQgUmVuZGVy
VGhlbWVRdDo6YXBwbHlUaGVtZShRU3R5bGVPcHRpb24mIG9wdGlvbiwgUmVuZGVyT2JqZWN0KiBv
KSBjb25zdAorQ29udHJvbFBhcnQgUmVuZGVyVGhlbWVRdDo6YWRqdXN0Q29tbW9uUVN0eWxlT3B0
aW9ucyhRU3R5bGVPcHRpb24mIG9wdGlvbiwgUmVuZGVyT2JqZWN0KiBvKSBjb25zdAogewogICAg
IC8vIERlZmF1bHQgYml0czogbm8gZm9jdXMsIG5vIG1vdXNlIG92ZXIKICAgICBvcHRpb24uc3Rh
dGUgJj0gfihRU3R5bGU6OlN0YXRlX0hhc0ZvY3VzIHwgUVN0eWxlOjpTdGF0ZV9Nb3VzZU92ZXIp
OwpAQCAtNzIzLDIwICs3NTUsMzggQEAgQ29udHJvbFBhcnQgUmVuZGVyVGhlbWVRdDo6YXBwbHlU
aGVtZShRUwogICAgICAgICAvLyBSZWFkb25seSBpcyBzdXBwb3J0ZWQgb24gdGV4dGZpZWxkcy4K
ICAgICAgICAgb3B0aW9uLnN0YXRlIHw9IFFTdHlsZTo6U3RhdGVfUmVhZE9ubHk7CiAKLSAgICBp
ZiAoc3VwcG9ydHNGb2N1cyhvLT5zdHlsZSgpLT5hcHBlYXJhbmNlKCkpICYmIGlzRm9jdXNlZChv
KSkgewotICAgICAgICBvcHRpb24uc3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9IYXNGb2N1czsKLSAg
ICAgICAgb3B0aW9uLnN0YXRlIHw9IFFTdHlsZTo6U3RhdGVfS2V5Ym9hcmRGb2N1c0NoYW5nZTsK
LSAgICB9CisgICAgb3B0aW9uLmRpcmVjdGlvbiA9IFF0OjpMZWZ0VG9SaWdodDsKIAogICAgIGlm
IChpc0hvdmVyZWQobykpCiAgICAgICAgIG9wdGlvbi5zdGF0ZSB8PSBRU3R5bGU6OlN0YXRlX01v
dXNlT3ZlcjsKIAotICAgIG9wdGlvbi5kaXJlY3Rpb24gPSBRdDo6TGVmdFRvUmlnaHQ7Ci0gICAg
aWYgKG8tPnN0eWxlKCkgJiYgby0+c3R5bGUoKS0+ZGlyZWN0aW9uKCkgPT0gV2ViQ29yZTo6UlRM
KQotICAgICAgICBvcHRpb24uZGlyZWN0aW9uID0gUXQ6OlJpZ2h0VG9MZWZ0OworICAgIC8vIElm
IHRoZSB3ZWJ2aWV3IGhhcyBhIGN1c3RvbSBwYWxldHRlLCB1c2UgaXQKKyAgICBQYWdlKiBwYWdl
ID0gby0+ZG9jdW1lbnQoKS0+cGFnZSgpOworICAgIGlmIChwYWdlKSB7CisgICAgICAgIENocm9t
ZSogY2hyb21lID0gcGFnZS0+Y2hyb21lKCk7CisgICAgICAgIGlmIChjaHJvbWUpIHsKKyAgICAg
ICAgICAgIENocm9tZUNsaWVudCogY2hyb21lQ2xpZW50ID0gY2hyb21lLT5jbGllbnQoKTsKKyAg
ICAgICAgICAgIGlmIChjaHJvbWVDbGllbnQpIHsKKyAgICAgICAgICAgICAgICBRV2ViUGFnZUNs
aWVudCogcGFnZUNsaWVudCA9IGNocm9tZUNsaWVudC0+cGxhdGZvcm1QYWdlQ2xpZW50KCk7Cisg
ICAgICAgICAgICAgICAgaWYgKHBhZ2VDbGllbnQpCisgICAgICAgICAgICAgICAgICAgIG9wdGlv
bi5wYWxldHRlID0gcGFnZUNsaWVudC0+cGFsZXR0ZSgpOworICAgICAgICAgICAgfQorICAgICAg
ICB9CisgICAgfQorICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IG8tPnN0eWxlKCk7CisgICAgaWYg
KCFzdHlsZSkKKyAgICAgICAgcmV0dXJuIE5vQ29udHJvbFBhcnQ7CisKKyAgICBDb250cm9sUGFy
dCByZXN1bHQgPSBzdHlsZS0+YXBwZWFyYW5jZSgpOworICAgIGlmIChzdXBwb3J0c0ZvY3VzKHJl
c3VsdCkgJiYgaXNGb2N1c2VkKG8pKSB7CisgICAgICAgIG9wdGlvbi5zdGF0ZSB8PSBRU3R5bGU6
OlN0YXRlX0hhc0ZvY3VzOworICAgICAgICBvcHRpb24uc3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9L
ZXlib2FyZEZvY3VzQ2hhbmdlOworICAgIH0KIAotICAgIENvbnRyb2xQYXJ0IHJlc3VsdCA9IG8t
PnN0eWxlKCktPmFwcGVhcmFuY2UoKTsKKyAgICBpZiAoc3R5bGUtPmRpcmVjdGlvbigpID09IFdl
YkNvcmU6OlJUTCkKKyAgICAgICAgb3B0aW9uLmRpcmVjdGlvbiA9IFF0OjpSaWdodFRvTGVmdDsK
IAorICAgIFFDb2xvciBiYWNrZ3JvdW5kQ29sb3IgPSBzdHlsZS0+YmFja2dyb3VuZENvbG9yKCk7
CiAgICAgc3dpdGNoIChyZXN1bHQpIHsKICAgICBjYXNlIFB1c2hCdXR0b25QYXJ0OgogICAgIGNh
c2UgU3F1YXJlQnV0dG9uUGFydDoKQEAgLTc1MCwyMSArODAwLDMyIEBAIENvbnRyb2xQYXJ0IFJl
bmRlclRoZW1lUXQ6OmFwcGx5VGhlbWUoUVMKICAgICAgICAgICAgIG9wdGlvbi5zdGF0ZSB8PSBR
U3R5bGU6OlN0YXRlX1N1bmtlbjsKICAgICAgICAgZWxzZSBpZiAocmVzdWx0ID09IFB1c2hCdXR0
b25QYXJ0KQogICAgICAgICAgICAgb3B0aW9uLnN0YXRlIHw9IFFTdHlsZTo6U3RhdGVfUmFpc2Vk
OworICAgICAgICBpZiAoYmFja2dyb3VuZENvbG9yICE9IG1fZGVmYXVsdEJ1dHRvbkJhY2tncm91
bmRDb2xvcikKKyAgICAgICAgICAgIG9wdGlvbi5wYWxldHRlLnNldENvbG9yKFFQYWxldHRlOjpC
dXR0b24sIGJhY2tncm91bmRDb2xvcik7CiAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICB9Ci0K
LSAgICBpZiAocmVzdWx0ID09IFJhZGlvUGFydCB8fCByZXN1bHQgPT0gQ2hlY2tib3hQYXJ0KQor
ICAgIGNhc2UgUmFkaW9QYXJ0OgorICAgIGNhc2UgQ2hlY2tib3hQYXJ0OgogICAgICAgICBvcHRp
b24uc3RhdGUgfD0gKGlzQ2hlY2tlZChvKSA/IFFTdHlsZTo6U3RhdGVfT24gOiBRU3R5bGU6OlN0
YXRlX09mZik7Ci0KLSAgICAvLyBJZiB0aGUgd2VidmlldyBoYXMgYSBjdXN0b20gcGFsZXR0ZSwg
dXNlIGl0Ci0gICAgUGFnZSogcGFnZSA9IG8tPmRvY3VtZW50KCktPnBhZ2UoKTsKLSAgICBpZiAo
cGFnZSkgewotICAgICAgICBRV2lkZ2V0KiB2aWV3ID0gc3RhdGljX2Nhc3Q8Q2hyb21lQ2xpZW50
UXQqPihwYWdlLT5jaHJvbWUoKS0+Y2xpZW50KCkpLT5tX3dlYlBhZ2UtPnZpZXcoKTsKLSAgICAg
ICAgaWYgKHZpZXcpCi0gICAgICAgICAgICBvcHRpb24ucGFsZXR0ZSA9IHZpZXctPnBhbGV0dGUo
KTsKKyAgICAgICAgaWYgKGJhY2tncm91bmRDb2xvciAhPSBtX2RlZmF1bHRUZXh0QmFja2dyb3Vu
ZENvbG9yKSB7CisgICAgICAgICAgICAvLyBXZSBhcmUgc2V0dGluZyBoZXJlIGFsbCBiYWNrZ3Jv
dW5kIGNvbG9ycyBiZWNhdXNlOgorICAgICAgICAgICAgLy8gMS4gSFRNTCBkb2VzIG5vdCBzdXBw
b3J0IG11bHRpcGxlIGJhY2tncm91bmQgY29sb3JzIGZvciB0aGVzZSBjb250cm9scworICAgICAg
ICAgICAgLy8gICAgdGh1cyBpdCBtYWtlcyBzZW5zZSB0byByZWR1Y2UgYWxsIGJhY2tncm91bmQg
Y29sb3JzIHRvIG9uZS4KKyAgICAgICAgICAgIC8vIDIuIERpZmZlcmVudCBzdHlsZXMgKHN1Y2gg
YXMgbW90aWYgYW5kIHdpbmRvd3MpIHVzZSBkaWZmZXJlbnQgcGFsZXR0ZQorICAgICAgICAgICAg
Ly8gICAgaW5kZXhlcyB0byByZW5kZXIgdGhlIGNvbnRyb2wncyBiYWNrZ3JvdW5kCisgICAgICAg
ICAgICBvcHRpb24ucGFsZXR0ZS5zZXRDb2xvcihRUGFsZXR0ZTo6QnV0dG9uLCBiYWNrZ3JvdW5k
Q29sb3IpOworICAgICAgICAgICAgb3B0aW9uLnBhbGV0dGUuc2V0Q29sb3IoUVBhbGV0dGU6Oldp
bmRvdywgYmFja2dyb3VuZENvbG9yKTsKKyAgICAgICAgICAgIG9wdGlvbi5wYWxldHRlLnNldENv
bG9yKFFQYWxldHRlOjpCYXNlLCBiYWNrZ3JvdW5kQ29sb3IpOworICAgICAgICAgICAgb3B0aW9u
LnBhbGV0dGUuc2V0Q29sb3IoUVBhbGV0dGU6OlRleHQsIHN0eWxlLT5jb2xvcigpKTsKKyAgICAg
ICAgfQorICAgICAgICBicmVhazsKKyAgICBjYXNlIFNlYXJjaEZpZWxkUGFydDoKKyAgICBjYXNl
IFRleHRGaWVsZFBhcnQ6CisgICAgY2FzZSBUZXh0QXJlYVBhcnQ6CisgICAgICAgIGlmIChiYWNr
Z3JvdW5kQ29sb3IgIT0gbV9kZWZhdWx0VGV4dEJhY2tncm91bmRDb2xvcikKKyAgICAgICAgICAg
IG9wdGlvbi5wYWxldHRlLnNldENvbG9yKFFQYWxldHRlOjpCYXNlLCBiYWNrZ3JvdW5kQ29sb3Ip
OworICAgICAgICBicmVhazsKICAgICB9Ci0KICAgICByZXR1cm4gcmVzdWx0OwogfQogCkluZGV4
OiBXZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuaAkocmV2aXNpb24gNDk1MDIpCisrKyBXZWJD
b3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuaAkod29ya2luZyBjb3B5KQpAQCAtNTUsNiAr
NTUsMTIgQEAgcHVibGljOgogICAgIC8vIEEgZ2VuZXJhbCBtZXRob2QgYXNraW5nIGlmIGFueSBj
b250cm9sIHRpbnRpbmcgaXMgc3VwcG9ydGVkIGF0IGFsbC4KICAgICB2aXJ0dWFsIGJvb2wgc3Vw
cG9ydHNDb250cm9sVGludHMoKSBjb25zdDsKIAorICAgIC8qIERldGVybWluZXMgd2hldGhlciB0
aGUgY29udHJvbCB0aGF0IFJlbmRlclN0eWxlKiBhcHBsaWVzIHRvIGhhcyB3ZWJwYWdlIGF1dGhv
ciBtb2RpZmllZCAKKyAgICAgKiBib3JkZXJzIG9yIGJhY2tncm91bmQgY29sb3IuIEl0IGFsc28g
c2F2ZXMgdGhlIGRlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIGNvbnRyb2wKKyAgICAg
KiBzdWNoIHRoYXQgdGhpcyB0ZXN0IGNhbiBiZSByZXBlYXRlZCBhdCBwYWludGluZyB0aW1lIChz
ZWUgaW1wbGVtZW50YXRpb24pCisgICAgICovCisgICAgdmlydHVhbCBib29sIGlzQ29udHJvbFN0
eWxlZChjb25zdCBSZW5kZXJTdHlsZSosIGNvbnN0IEJvcmRlckRhdGEmLCBjb25zdCBGaWxsTGF5
ZXImLCBjb25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9yKSBjb25zdDsKKwogICAgIHZpcnR1YWwg
dm9pZCBhZGp1c3RSZXBhaW50UmVjdChjb25zdCBSZW5kZXJPYmplY3QqIG8sIEludFJlY3QmIHIp
OwogCiAgICAgLy8gVGhlIHBsYXRmb3JtIHNlbGVjdGlvbiBjb2xvci4KQEAgLTEzMiw3ICsxMzgs
NyBAQCBwcml2YXRlOgogcHJpdmF0ZToKICAgICBib29sIHN1cHBvcnRzRm9jdXMoQ29udHJvbFBh
cnQpIGNvbnN0OwogCi0gICAgQ29udHJvbFBhcnQgYXBwbHlUaGVtZShRU3R5bGVPcHRpb24mLCBS
ZW5kZXJPYmplY3QqKSBjb25zdDsKKyAgICBDb250cm9sUGFydCBhZGp1c3RDb21tb25RU3R5bGVP
cHRpb25zKFFTdHlsZU9wdGlvbiYsIFJlbmRlck9iamVjdCopIGNvbnN0OwogCiAgICAgdm9pZCBz
ZXRCdXR0b25QYWRkaW5nKFJlbmRlclN0eWxlKikgY29uc3Q7CiAgICAgdm9pZCBzZXRQb3B1cFBh
ZGRpbmcoUmVuZGVyU3R5bGUqKSBjb25zdDsKQEAgLTE0OCw2ICsxNTQsOCBAQCBwcml2YXRlOgog
ICAgIFFTdHJpbmcgbV9idXR0b25Gb250RmFtaWx5OwogCiAgICAgUVN0eWxlKiBtX2ZhbGxiYWNr
U3R5bGU7CisgICAgUUNvbG9yIG1fZGVmYXVsdFRleHRCYWNrZ3JvdW5kQ29sb3I7CisgICAgUUNv
bG9yIG1fZGVmYXVsdEJ1dHRvbkJhY2tncm91bmRDb2xvcjsKIH07CiAKIGNsYXNzIFN0eWxlUGFp
bnRlciB7CkBAIC0xNzgsNiArMTg2LDYgQEAgcHJpdmF0ZToKICAgICBRX0RJU0FCTEVfQ09QWShT
dHlsZVBhaW50ZXIpCiB9OwogCi19Cit9ICAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYK
SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDQ5NTAyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMDktMTAtMTMgIENhcm9sIFN6YWJvICA8Y2Fy
b2wuc3phYm9Abm9raWEuY29tPiwgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRo
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgW1F0XSBNYWtlIGl0IHBvc3NpYmxlIHRvIGFwcGx5IHRoZSBDU1MgYmFja2dyb3VuZCBj
b2xvciB0byB0aGUKKyAgICAgICAgbmF0aXZlIHBhaW50ZWQgd2lkZ2V0cy4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwMTczCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9xdC9mYXN0L2Nzcy9wc2V1ZG8tY2FjaGUtc3RhbGUtZXhwZWN0ZWQudHh0OgorICAg
ICAgICBVcGRhdGVkIHJlc3VsdHMgZHVlIHRvIGRpZmZlcmVudCBzaXplIG9mIHRoZSBzZWFyY2gg
Y29udHJvbCBzaW5jZQorICAgICAgICBub3cgaXQgaXMgcmVuZGVyZWQgYXMgYSB0ZXh0IGNvbnRy
b2wgYnkgdGhlIHBsYXRmb3JtLCBub3QgaW50ZXJuYWxseQorICAgICAgICBieSBXZWJLaXQuCisg
ICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9iYXNpYy1pbnB1dHMtZXhwZWN0ZWQudHh0
CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9pc2luZGV4LXBsYWNlaG9sZGVyLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHQtc3R5bGUt
Y29sb3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4
dGFyZWEtcGxhY2Vob2xkZXItcHNldWRvLXN0eWxlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXNldC1hdHRyaWJ1dGUt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dGFyZWEt
cGxhY2Vob2xkZXItc2V0LXZhbHVlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgVXBkYXRlZCByZXN1
bHRzIHRvIGluY2x1ZGUgdGhlIGJnY29sb3IgYXR0cmlidXRlIHdoaWNoIGlzIG5vIGxvbmdlciAK
KyAgICAgICAgdHJhbnNwYXJlbnQgYW5kIHRodXMgaXQgZ2V0cyBsb2dnZWQuCisKIDIwMDktMTAt
MTMgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTGF5
b3V0IHRlc3QgZml4LCByZXZlcnRpbmcgcHJldmlvdXMgY2hhbmdlLgpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvZmFzdC9jc3MvcHNldWRvLWNhY2hlLXN0YWxlLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Nzcy9wc2V1ZG8tY2Fj
aGUtc3RhbGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0OTUwMikKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL3F0L2Zhc3QvY3NzL3BzZXVkby1jYWNoZS1zdGFsZS1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTEyLDE1ICsxMiwxNSBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDQxKSBzaXplIDc4NHgyMQogICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyOTh4NDEKICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCAyOTg6ICJUaGlzIHNlbnRlbmNlIHNob3VsZCBiZSBleHRyYS1leHRy
YS1sYXJnZS4iCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCw2Mikgc2l6ZSA3
ODR4MzEKLSAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiwyKSBzaXplIDE3
N3gyNyBbYmdjb2xvcj0jRkZGRkZGXSBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAwMDApXQotICAg
ICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgzLDMpIHNpemUgMTcxeDIxCisgICAgICBSZW5k
ZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCw2Mikgc2l6ZSA3ODR4MjUKKyAgICAgICAgUmVuZGVy
VGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiwyKSBzaXplIDE3MXgyMSBbYmdjb2xvcj0jRkZGRkZG
XQorICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTcxeDIxCiAgICAg
ICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwxNikgc2l6ZSAweDAKICAgICAgICAgICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxNzEsMTYpIHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMHgwCi1sYXllciBhdCAoMTMsNzUpIHNpemUgMTcxeDIxCitsYXllciBhdCAoMTAsNzIpIHNp
emUgMTcxeDIxCiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTcxeDIxIFtjb2xv
cj0jMDA4MDAwXQogICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwwKSBzaXplIDE1MHgyMQog
ICAgICAgdGV4dCBydW4gYXQgKDEsMCkgd2lkdGggMTUwOiAiVGhpcyBzaG91bGQgYmUgZ3JlZW4i
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL2Jhc2ljLWlucHV0cy1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9m
b3Jtcy9iYXNpYy1pbnB1dHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0OTUwMikKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvYmFzaWMtaW5wdXRzLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMzUsMTcgKzM1LDE3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEwLDM2Nykgc2l6ZSA0NTB4NjQgW2Jv
cmRlcjogKDFweCBzb2xpZCAjRkYwMDAwKV0KICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgxLDYpIHNpemUgOXgyMQogICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDYpIHdpZHRoIDk6ICJh
IgotICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgxMiwzKSBzaXplIDE3NXgy
NworICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgxMiwzKSBzaXplIDE3NXgy
NyBbYmdjb2xvcj0jRkZGRkZGXQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE4OSw2
KSBzaXplIDI5eDIxCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDE4OSw2KSB3aWR0aCAyOTogInRl
eHQgIgotICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyMjAsMykgc2l6ZSAx
NzV4MjcKKyAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMjIwLDMpIHNpemUg
MTc1eDI3IFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
Mzk3LDYpIHNpemUgMjJ4MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzk3LDYpIHdpZHRoIDEz
OiAiYiAiCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDQxMCw2KSB3aWR0aCA5OiAiYSIKLSAgICAg
ICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMywzNCkgc2l6ZSAxNzV4MjcKKyAgICAg
ICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMywzNCkgc2l6ZSAxNzV4MjcgW2JnY29s
b3I9I0ZGRkZGRl0KICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxODAsMzcpIHNpemUg
NzN4MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTgwLDM3KSB3aWR0aCA3MzogInBhc3N3b3Jk
ICIKLSAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMjU1LDM0KSBzaXplIDE3
NXgyNworICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyNTUsMzQpIHNpemUg
MTc1eDI3IFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
NDMyLDM3KSBzaXplIDl4MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDMyLDM3KSB3aWR0aCA5
OiAiYiIKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxMCw0NDEpIHNpemUgNDUweDIzIFti
b3JkZXI6ICgxcHggc29saWQgI0ZGMDAwMCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9x
dC9mYXN0L2Zvcm1zL2lzaW5kZXgtcGxhY2Vob2xkZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvaXNpbmRleC1wbGFjZWhvbGRl
ci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQ5NTAyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
cXQvZmFzdC9mb3Jtcy9pc2luZGV4LXBsYWNlaG9sZGVyLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMTksNyArMTksNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAg
ICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTApIHNpemUgNzg0eDMxCiAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMzY0eDIxCiAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCw1KSB3aWR0aCAzNjQ6ICJUaGlzIGlzIGEgc2VhcmNoYWJsZSBpbmRleC4g
RW50ZXIgc2VhcmNoIGtleXdvcmRzOiAiCi0gICAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lT
SU5ERVh9IGF0ICgzNjYsMikgc2l6ZSAxNzV4MjcKKyAgICAgICAgICBSZW5kZXJUZXh0Q29udHJv
bCB7SVNJTkRFWH0gYXQgKDM2NiwyKSBzaXplIDE3NXgyNyBbYmdjb2xvcj0jRkZGRkZGXQogICAg
ICAgICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDQ5KSBzaXplIDc4NHgyIFtib3JkZXI6ICgxcHgg
aW5zZXQgIzAwMDAwMCldCiAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxMjUp
IHNpemUgNzg0eDIxCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI2
OHgyMQpAQCAtMjksNyArMjksNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAg
ICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTApIHNpemUgNzg0eDMxCiAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMzY0eDIxCiAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCw1KSB3aWR0aCAzNjQ6ICJUaGlzIGlzIGEgc2VhcmNoYWJsZSBpbmRleC4g
RW50ZXIgc2VhcmNoIGtleXdvcmRzOiAiCi0gICAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lT
SU5ERVh9IGF0ICgzNjYsMikgc2l6ZSAxNzV4MjcKKyAgICAgICAgICBSZW5kZXJUZXh0Q29udHJv
bCB7SVNJTkRFWH0gYXQgKDM2NiwyKSBzaXplIDE3NXgyNyBbYmdjb2xvcj0jRkZGRkZGXQogICAg
ICAgICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDQ5KSBzaXplIDc4NHgyIFtib3JkZXI6ICgxcHgg
aW5zZXQgIzAwMDAwMCldCiBsYXllciBhdCAoMzc2LDg5KSBzaXplIDE3MXgyMQogICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMiwzKSBzaXplIDE3MXgyMSBbY29sb3I9I0E5QTlBOV0KSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dC1zdHlsZS1jb2xvci1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90
ZXh0LXN0eWxlLWNvbG9yLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDk1MDIpCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHQtc3R5bGUtY29sb3ItZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xMSw3ICsxMSw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAogICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxMCkgc2l6ZSA3ODR4
MzEKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNSkgc2l6ZSAzNjR4MjEKICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDUpIHdpZHRoIDM2NDogIlRoaXMgaXMgYSBzZWFyY2hh
YmxlIGluZGV4LiBFbnRlciBzZWFyY2gga2V5d29yZHM6ICIKLSAgICAgICAgICBSZW5kZXJUZXh0
Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2NiwyKSBzaXplIDE3NXgyNworICAgICAgICAgIFJlbmRl
clRleHRDb250cm9sIHtJU0lOREVYfSBhdCAoMzY2LDIpIHNpemUgMTc1eDI3IFtiZ2NvbG9yPSNG
RkZGRkZdCiAgICAgICAgIFJlbmRlckJsb2NrIHtIUn0gYXQgKDAsNDkpIHNpemUgNzg0eDIgW2Jv
cmRlcjogKDFweCBpbnNldCAjMDAwMDAwKV0KICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMp
IGF0ICgwLDg4KSBzaXplIDc4NHgyMQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAxNjJ4MjEKQEAgLTIxLDcgKzIxLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCiAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDEwKSBzaXplIDc4NHgz
MQogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw1KSBzaXplIDM2NHgyMQogICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsNSkgd2lkdGggMzY0OiAiVGhpcyBpcyBhIHNlYXJjaGFi
bGUgaW5kZXguIEVudGVyIHNlYXJjaCBrZXl3b3JkczogIgotICAgICAgICAgIFJlbmRlclRleHRD
b250cm9sIHtJU0lOREVYfSBhdCAoMzY2LDIpIHNpemUgMTc1eDI3IFtjb2xvcj0jRkYwMDAwXQor
ICAgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJU0lOREVYfSBhdCAoMzY2LDIpIHNpemUgMTc1
eDI3IFtjb2xvcj0jRkYwMDAwXSBbYmdjb2xvcj0jRkZGRkZGXQogICAgICAgICBSZW5kZXJCbG9j
ayB7SFJ9IGF0ICgwLDQ5KSBzaXplIDc4NHgyIFtib3JkZXI6ICgxcHggaW5zZXQgIzAwMDAwMCld
CiAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxNzYpIHNpemUgNzg0eDIxCiAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDIzN3gyMQpAQCAtNDQsMTAg
KzQ0LDEwIEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAgIFJlbmRlclRl
eHRDb250cm9sIHtJU0lOREVYfSBhdCAoMzY2LDIpIHNpemUgMTc3eDI3IFtjb2xvcj0jRkYwMDAw
XSBbYmdjb2xvcj0jMDA4MDAwXSBbYm9yZGVyOiAoMnB4IGluc2V0ICNGRjAwMDApXQogICAgICAg
ICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDQ5KSBzaXplIDc4NHgyIFtib3JkZXI6ICgxcHggaW5z
ZXQgIzAwMDAwMCldCiAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwzNTIpIHNp
emUgNzg0eDMxCi0gICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDIsMikgc2l6
ZSAxNzV4MjcKKyAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiwyKSBzaXpl
IDE3NXgyNyBbYmdjb2xvcj0jRkZGRkZGXQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDE3OSw1KSBzaXplIDR4MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTc5LDUpIHdpZHRoIDQ6
ICIgIgotICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgxODUsMikgc2l6ZSAx
NzV4MjcgW2NvbG9yPSNGRjAwMDBdCisgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0g
YXQgKDE4NSwyKSBzaXplIDE3NXgyNyBbY29sb3I9I0ZGMDAwMF0gW2JnY29sb3I9I0ZGRkZGRl0K
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzNjIsNSkgc2l6ZSA0eDIxCiAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDM2Miw1KSB3aWR0aCA0OiAiICIKICAgICAgICAgUmVuZGVyVGV4dENv
bnRyb2wge0lOUFVUfSBhdCAoMzY4LDIpIHNpemUgMTc3eDI3IFtiZ2NvbG9yPSMwMDgwMDBdIFti
b3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9x
dC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXBzZXVkby1zdHlsZS1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0
YXJlYS1wbGFjZWhvbGRlci1wc2V1ZG8tc3R5bGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0OTUw
MikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vo
b2xkZXItcHNldWRvLXN0eWxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTQsMjIg
KzE0LDIyIEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICB0ZXh0IHJ1biBh
dCAoNTQ4LDUxKSB3aWR0aCA0OiAiICIKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDB4MAogbGF5ZXIgYXQgKDEwLDMxKSBzaXplIDE3Nng0MgotICBSZW5kZXJUZXh0Q29u
dHJvbCB7VEVYVEFSRUF9IGF0ICgyLDIzKSBzaXplIDE3Nng0MgorICBSZW5kZXJUZXh0Q29udHJv
bCB7VEVYVEFSRUF9IGF0ICgyLDIzKSBzaXplIDE3Nng0MiBbYmdjb2xvcj0jRkZGRkZGXQogICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIxIFtjb2xvcj0jNjQwMDAwXQog
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjV4MjEKICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggMjU6ICJ0ZXh0IgogbGF5ZXIgYXQgKDE5NCwzMSkgc2l6ZSAx
NzZ4NDIKLSAgUmVuZGVyVGV4dENvbnRyb2wge1RFWFRBUkVBfSBhdCAoMTg2LDIzKSBzaXplIDE3
Nng0MgotICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIxIFtjb2xvcj0j
NjQwMDAwXQorICBSZW5kZXJUZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICgxODYsMjMpIHNpemUg
MTc2eDQyIFtiZ2NvbG9yPSNGRkZGRkZdCisgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkg
c2l6ZSAxNzZ4MjEgW2NvbG9yPSNCODAwMDBdCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSA5MHgyMQogICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA5MDogImRp
c2FibGVkIHRleHQiCiBsYXllciBhdCAoMzc4LDMxKSBzaXplIDE3Nng0MgotICBSZW5kZXJUZXh0
Q29udHJvbCB7VEVYVEFSRUF9IGF0ICgzNzAsMjMpIHNpemUgMTc2eDQyCisgIFJlbmRlclRleHRD
b250cm9sIHtURVhUQVJFQX0gYXQgKDM3MCwyMykgc2l6ZSAxNzZ4NDIgW2JnY29sb3I9I0ZGRkZG
Rl0KICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDE3NngyMSBbY29sb3I9I0E5
QTlBOV0KICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ4eDIxCiAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQ4OiAiZGVmYXVsdCIKIGxheWVyIGF0ICg1NjIs
MzEpIHNpemUgMTc2eDQyCi0gIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDU1NCwy
Mykgc2l6ZSAxNzZ4NDIKLSAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDE3Nngy
MSBbY29sb3I9IzU1NTU1NV0KKyAgUmVuZGVyVGV4dENvbnRyb2wge1RFWFRBUkVBfSBhdCAoNTU0
LDIzKSBzaXplIDE3Nng0MiBbYmdjb2xvcj0jRkZGRkZGXQorICAgIFJlbmRlckJsb2NrIHtESVZ9
IGF0ICgwLDApIHNpemUgMTc2eDIxIFtjb2xvcj0jQTlBOUE5XQogICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMTEzeDIxCiAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDExMzogImRlZmF1bHQgZGlzYWJsZWQiCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9x
dC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXNldC1hdHRyaWJ1dGUtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4
dGFyZWEtcGxhY2Vob2xkZXItc2V0LWF0dHJpYnV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQ5
NTAyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFj
ZWhvbGRlci1zZXQtYXR0cmlidXRlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtOCw3
ICs4LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMCkgd2lkdGggNDg2OiAiSWYgeW91IGNhbiBzZWUgdGhlIHdvcmQgXCJQbGFjZWhvbGRl
clwiIGluIHRoZSB0ZXh0IGFyZWEsIHRoZW4gYWxsIGlzIHdlbGwuIgogICAgICAgUmVuZGVyQmxv
Y2sge1B9IGF0ICgwLDM3KSBzaXplIDc4NHg0NgogbGF5ZXIgYXQgKDEwLDQ3KSBzaXplIDE3Nng0
MgotICBSZW5kZXJUZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICgyLDIpIHNpemUgMTc2eDQyCisg
IFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDIsMikgc2l6ZSAxNzZ4NDIgW2JnY29s
b3I9I0ZGRkZGRl0KICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDE3NngyMSBb
Y29sb3I9I0E5QTlBOV0KICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDg2
eDIxCiAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDg2OiAiUGxhY2Vob2xkZXIiCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9s
ZGVyLXNldC12YWx1ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci1zZXQtdmFsdWUtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA0OTUwMikKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3Qv
Zm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItc2V0LXZhbHVlLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMTYsNyArMTYsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogbGF5ZXIgYXQgKDEwLDQ3KSBzaXplIDE3
Nng0MgotICBSZW5kZXJUZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICgyLDIpIHNpemUgMTc2eDQy
CisgIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDIsMikgc2l6ZSAxNzZ4NDIgW2Jn
Y29sb3I9I0ZGRkZGRl0KICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDE3Nngy
MQogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNjJ4MjEKICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNjI6ICJOZXcgdGV4dCIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43169</attachid>
            <date>2009-11-13 10:38:30 -0800</date>
            <delta_ts>2009-11-16 06:33:13 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>patchFor30173-8.patch</filename>
            <type>text/plain</type>
            <size>64133</size>
            <attacher name="Carol Szabo">carol</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MDk0MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNzIgQEAKKzIwMDktMTEtMTMgIENhcm9sIFN6YWJvICA8Y2Fyb2wuc3phYm9Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtRdF0gTWFrZSBpdCBwb3NzaWJsZSB0byBhcHBseSB0aGUgQ1NTIGJhY2tncm91bmQgY29sb3Ig
dG8gdGhlIG5hdGl2ZQorICAgICAgICBwYWludGVkIHdpZGdldHMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDE3MworCisgICAgICAgIFRoaXMgaXMg
YSBiZXN0IGVmZm9ydCBhcHByb2FjaCBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIENTUyAyLjEgc3Bl
YworICAgICAgICAoaHR0cDovL3d3dy53My5vcmcvVFIvQ1NTMi8pIHdoaWNoIGluIHRoZSBjb25m
b3JtYW5jZSBzZWN0aW9uIGxlYXZlcworICAgICAgICB1bmRlZmluZWQgdGhlIHByb3BlcnRpZXMg
dGhhdCBhcHBseSB0byBmb3JtIGNvbnRyb2xzIGFuZCBmcmFtZXMuCisgICAgICAgIENTUyBiYWNr
Z3JvdW5kIGNvbG9yIGRvZXMgbm90IHdvcmsgZm9yIHRoZSBndGsgc3R5bGUsIHdoaWNoIGlnbm9y
ZXMKKyAgICAgICAgdGhlIHBhbGV0dGUgc2V0dGluZ3MgYnkgZGVmYXVsdC4gU29tZSBvdGhlciBz
dHlsZXMgaGF2ZQorICAgICAgICBsaW1pdGF0aW9ucyBvbiB3aGF0IHBhcnRzIG9mIHRoZSBzdHls
ZSBhcmUgY3VzdG9taXphYmxlLCBidXQKKyAgICAgICAgaXQgd29ya3Mgd2l0aCBtb3N0IHN0eWxl
cyBhbmQgd2l0aCB0aG9zZSBzdHlsZXMgd2hlcmUgaXQgZG9lcyBub3QKKyAgICAgICAgdGhlIGxp
bWl0YXRpb25zIGFyZSBoYW5kbGVkIGdhY2VmdWxseS4KKworICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dDo6ZmlsbFJlY3QpOgorICAgICAgICBGaXhlZCBwcm9ibGVtIHdpdGggaW52YWxp
ZCBjb2xvciBiZWluZyBwYXNzZWQgYXMgZmlsbCBjb2xvciBjYXVzaW5nIHRoZSByZWN0YW5nbGUg
dG8gYmUgZmlsbGVkIHdpdGggYmxhY2suCisgICAgICAgIFRoaXMgYnVnIHdhcyBub3Qgc2VlbiBi
ZWZvcmUgYmVjYXVzZSBpdCBpcyBhIHZlcnkgcmFyZSBjYXNlIGFuZCBJIGJlbGlldmUgdGhhdCBp
dCB3YXMgbm90IGVuY291bnRlcmVkIAorICAgICAgICBvdXRzaWRlIG9mIGNvbnRyb2wgcmVuZGVy
aW5nIGFuZCBpdCBtYXkgaGF2ZSBiZWVuIGluYXBwYXJlbnQuCisgICAgICAgICogcGxhdGZvcm0v
cXQvUVdlYlBhZ2VDbGllbnQuaDoKKyAgICAgICAgRml4ZWQgbWlzc2VkIGluY2x1c2lvbiBvZiBR
Q3Vyc29yIHdoaWNoIGNhdXNlcyBidWlsZCBlcnJvciB3aGVuIHRoaXMgZmlsZSBpcyBpbmNsdWRl
ZCBlbHNld2hlcmUgYnkgaXRzZWxmCisgICAgICAgICogcGxhdGZvcm0vcXQvUVdlYlBvcHVwLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlFXZWJQb3B1cDo6c2hvd1BvcHVwKToKKyAgICAgICAgQWRk
ZWQgY29kZSB0byByZWZsZWN0IENTUyBzdHlsZSBpbiBjb250cm9sIHN0eWxpbmcuCisgICAgICAg
ICogcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUaGVtZVF0Ojp3ZWJQYWdlQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OmluaXRQYWxldHRl
RnJvbVBhZ2VDbGllbnRJZkV4aXN0cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0
OjphZGRTdHlsZVRleHRJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjphZGRTdHlsZVRleHRG
b3JXaWRnZXQpOgorICAgICAgICBTdXBwb3J0IGZ1bmN0aW9ucworICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVGhlbWVRdDo6ZXh0cmFEZWZhdWx0U3R5bGVTaGVldCk6CisgICAgICAgIEluaXRpYWxp
emUgZGVmYXVsdCBzdHlsZXNoZWV0cyBiYXNlZCBvbiB0aGUgdGhlbWUKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lUXQ6OmlzQ29udHJvbFN0eWxlZCk6CisgICAgICAgIFNwZWNpYWxpemVk
IGZvciBRdCBpbiBvcmRlciB0byBhbGxvdyBhbGwgY29udHJvbHMsIGV2ZW4gd2hlbiBzdHlsZWQK
KyAgICAgICAgdG8gYmUgdGhlbWUgcmVuZGVyZWQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
aGVtZVF0OjphZGp1c3RDb21tb25RU3R5bGVPcHRpb25zKToKKyAgICAgICAgVGhpcyBmdW5jdGlv
biB3YXMgcmVuYW1lZCBmcm9tIGFwcGx5VGhlbWUgYmVjYXVzZSB0aGUgcHJldmlvdXMgbmFtZSB3
YXMKKyAgICAgICAgbm90IGRlc2NyaXB0aXZlIG9mIHdoYXQgdGhlIGZ1bmN0aW9uIGFjdHVhbGx5
IGRpZCwgd2hpY2ggd2FzIChhbmQgCisgICAgICAgIGNvbnRpbnVlcyB0byBiZSkgdG8gYWRqdXN0
IHRoZSBvcHRpb24gc2V0dGluZ3MgYmFzZWQgb24gdGhlIGNvbnRyb2wncworICAgICAgICBzdHls
ZSBhbmQgc3RhdGUuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpzeXN0ZW1Db2xv
cik6CisgICAgICAgIEludHJvZHVjZWQgdG8gYWxsb3cgY3VzdG9taXphdGlvbiBvZiBidXR0b24g
ZmFjZSBjb2xvciBhbmQgb3RoZXIgc3lzdGVtIGNvbG9ycyBhY2NvcmRpbmcgdG8gdGhlIAorICAg
ICAgICB0aGUgY29udGFpbmVyIHdpZGdldCdzIHBhbGV0dGUgYWJkIFFTdHlsZVNoZWV0cy4KKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmFkanVzdEJ1dHRvblN0eWxlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50QnV0dG9uKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lUXQ6OmFkanVzdFRleHRGaWVsZFN0eWxlKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50VGV4dEZpZWxkKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lUXQ6OnBhaW50TWVudUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWVRdDo6cGFpbnRNZW51TGlzdEJ1dHRvbik6CisgICAgICAgIE1vZGlmaWVkIG9ubHkgZHVlIHRv
IHJlbmFtaW5nIG9mIHRoZSBhcHBseVRoZW1lIG1ldGhvZC4KKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lUXQ6OmFkanVzdFRleHRGaWVsZFN0eWxlKToKKyAgICAgICAgUmVtb3ZlZCB0aGUg
bGluZSB0aGF0IG1ha2VzIHRoZSBiYWNrZ3JvdW5kIHRyYW5zcGFyZW50IGluIG9yZGVyIHRvIGhh
dmUgdGhlIGNvbG9yIGF2YWlsYWJsZSBmb3IKKyAgICAgICAgcGFpbnRpbmcuCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjphZGp1c3RTZWFyY2hGaWVsZFN0eWxlKToKKyAgICAgICAg
Q2hhbmdlZCB0byB1c2UgdGhlIHNhbWUgbG9naWMgYXMgYWRqdXN0VGV4dEZpZWxkU3R5bGUgc2lu
Y2UgdGhlIHNlYXJjaCBmaWVsZCBmb3IgcXQgaXMgbm90aGluZyBidXQKKyAgICAgICAgYSB0ZXh0
IGZpZWxkIGZvciBub3cuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjphZGp1c3RD
b21tb25RU3R5bGVPcHRpb25zKToKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0
Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpwYWdlT3duZXJXaWRnZXQpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6KToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGhlbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50KToK
KyAgICAgICAgU2luY2UgdGhpcyBtZXRob2QgaXMgbm90IHZpcnR1YWwgSSBoYWQgdG8gYWRkIFF0
IHNwZWNpZmljIGNoYW5nZXMgaGVyZSB0bworICAgICAgICBlbmFibGUgcmVuZGVyaW5nIGJ5IHRo
ZSB0aGVtZSBvZiB0ZXh0IGlucHV0IGNvbnRyb2xzLiBXaGljaCBpcyBuZWNlc3NhcnkgZm9yCisg
ICAgICAgIGEgbmF0aXZlIGxvb2sgYW5kIGZlZWwuCisKIDIwMDktMTEtMTMgIERpcmsgU2NodWx6
ZSAgPGtyaXRAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBHdXN0YXZvIE5vcm9u
aGEuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNz
Q29udGV4dFF0LmNwcAkocmV2aXNpb24gNTA3ODMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzUzLDcgKzc1
Myw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpmaWxsUmVjdChjb25zdCBGbG8KIAogdm9pZCBH
cmFwaGljc0NvbnRleHQ6OmZpbGxSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwgY29uc3QgQ29s
b3ImIGMsIENvbG9yU3BhY2UgY29sb3JTcGFjZSkKIHsKLSAgICBpZiAocGFpbnRpbmdEaXNhYmxl
ZCgpKQorICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkgfHwgIWMuaXNWYWxpZCgpKQogICAgICAg
ICByZXR1cm47CiAKICAgICBtX2RhdGEtPnNvbGlkQ29sb3Iuc2V0Q29sb3IoYyk7CkluZGV4OiBX
ZWJDb3JlL3BsYXRmb3JtL3F0L1FXZWJQYWdlQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9xdC9RV2ViUGFnZUNsaWVudC5oCShyZXZpc2lvbiA1MDc4MykKKysrIFdlYkNv
cmUvcGxhdGZvcm0vcXQvUVdlYlBhZ2VDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiAr
MjcsOSBAQAogI2RlZmluZSBRV2ViUGFnZUNsaWVudF9oCiAKICNpbmNsdWRlIDxRUmVjdD4KKyNp
Zm5kZWYgUVRfTk9fQ1VSU09SCisjaW5jbHVkZSA8UUN1cnNvcj47CisjZW5kaWYKIAogY2xhc3Mg
UVdlYlBhZ2VDbGllbnQgewogcHVibGljOgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9xdC9RV2Vi
UG9wdXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vcXQvUVdlYlBvcHVwLmNw
cAkocmV2aXNpb24gNTA3ODMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL3F0L1FXZWJQb3B1cC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTIxLDkgKzIxLDExIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiUVdlYlBvcHVwLmgiCiAjaW5jbHVkZSAiUG9wdXBNZW51U3R5bGUuaCIKKyNpbmNs
dWRlICJSZW5kZXJUaGVtZVF0LmgiCiAKICNpbmNsdWRlIDxRQWJzdHJhY3RJdGVtVmlldz4KICNp
bmNsdWRlIDxRQXBwbGljYXRpb24+CisjaW5jbHVkZSA8UUJ5dGVBcnJheT4KICNpbmNsdWRlIDxR
SW5wdXRDb250ZXh0PgogI2luY2x1ZGUgPFFNb3VzZUV2ZW50PgogCkBAIC01MSw2ICs1MywyNyBA
QCB2b2lkIFFXZWJQb3B1cDo6ZXhlYygpCiB2b2lkIFFXZWJQb3B1cDo6c2hvd1BvcHVwKCkKIHsK
ICAgICBRQ29tYm9Cb3g6OnNob3dQb3B1cCgpOworICAgIFBvcHVwTWVudVN0eWxlIHN0eWxlID0g
bV9jbGllbnQtPml0ZW1TdHlsZSgwKTsKKyAgICBRUGFsZXR0ZSB0ZW1wID0gcGFsZXR0ZSgpOwor
ICAgIFFDb2xvciBkZWZhdWx0QmFzZUNvbG9yKHRlbXAuY29sb3IoUVBhbGV0dGU6OkJhc2UpKTsK
KyAgICBRQ29sb3IgZGVmYXVsdFRleHRDb2xvcih0ZW1wLmNvbG9yKFFQYWxldHRlOjpUZXh0KSk7
CisgICAgQ29sb3IgY29sb3IgPSBzdHlsZS5iYWNrZ3JvdW5kQ29sb3IoKTsKKyAgICBpZiAoY29s
b3IuaXNWYWxpZCgpKQorICAgICAgICB0ZW1wLnNldENvbG9yKFFQYWxldHRlOjpCYXNlLCBjb2xv
cik7CisgICAgY29sb3IgPSBzdHlsZS5mb3JlZ3JvdW5kQ29sb3IoKTsKKyAgICBpZiAoY29sb3Iu
aXNWYWxpZCgpKQorICAgICAgICB0ZW1wLnNldENvbG9yKFFQYWxldHRlOjpUZXh0LCBjb2xvcik7
CisgICAgc2V0UGFsZXR0ZSh0ZW1wKTsKKyAgICAvLyBGSVhNRTogUHJvYmFibHkgaGVyZSBzcGVj
aWFsIHN0eWxlcyBmcm9tIHRoZSBvcHRpb25zIHNob3VsZCBiZSB1c2VkIG9yIHNwZWNpYWwgZHJv
cGRvd25saXN0IGF0dHJpYnV0ZXMKKyAgICAvLyBmb3Igbm93IGJvdGggZHJvcGRvd24gbGlzdHMg
YW5kIGxpbmVlZGl0IHNoYXJlIHRoZSBzYW1lIGNvbG9ycy4KKyAgICBpZiAoUUFic3RyYWN0SXRl
bVZpZXcqIGl0ZW1WaWV3ID0gdmlldygpKSB7CisgICAgICAgIFFCeXRlQXJyYXkgYnVmZmVyKGl0
ZW1WaWV3LT5zdHlsZVNoZWV0KCkudG9Bc2NpaSgpKTsKKyAgICAgICAgUUNvbG9yIG5ld0Jhc2Ug
PSB0ZW1wLmNvbG9yKFFQYWxldHRlOjpCYXNlKTsKKyAgICAgICAgUUNvbG9yIG5ld1RleHQgPSB0
ZW1wLmNvbG9yKFFQYWxldHRlOjpUZXh0KTsKKyAgICAgICAgUmVuZGVyVGhlbWVRdDo6YWRkU3R5
bGVUZXh0SWZOZWVkZWQoJm5ld0Jhc2UsIGRlZmF1bHRCYXNlQ29sb3IsICIgYmFja2dyb3VuZC1j
b2xvcjogcmdiYSgiLCAiKTsiLCBidWZmZXIsIGZhbHNlKTsKKyAgICAgICAgUmVuZGVyVGhlbWVR
dDo6YWRkU3R5bGVUZXh0SWZOZWVkZWQoJm5ld1RleHQsIGRlZmF1bHRUZXh0Q29sb3IsICIgY29s
b3I6IHJnYmEoIiwgIik7IiwgYnVmZmVyLCBmYWxzZSk7CisgICAgICAgIGl0ZW1WaWV3LT5zZXRT
dHlsZVNoZWV0KGJ1ZmZlci5jb25zdERhdGEoKSk7CisgICAgfTsKICAgICBtX3BvcHVwVmlzaWJs
ZSA9IHRydWU7CiB9CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcAko
cmV2aXNpb24gNTA3ODMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICszMiw3IEBACiAKICNpbmNsdWRlICJDU1NTdHlsZVNl
bGVjdG9yLmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVTaGVldC5oIgorI2luY2x1ZGUgIkNTU1ZhbHVl
S2V5d29yZHMuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnRRdC5oIgogI2luY2x1ZGUgIkNvbG9y
LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKQEAgLTQ5LDEyICs1MCwxOCBAQAogI2luY2x1ZGUg
InF3ZWJwYWdlLmgiCiAKICNpbmNsdWRlIDxRQXBwbGljYXRpb24+CisjaW5jbHVkZSA8UUNoZWNr
Qm94PgogI2luY2x1ZGUgPFFDb2xvcj4KKyNpbmNsdWRlIDxRQ29tYm9Cb3g+CiAjaW5jbHVkZSA8
UURlYnVnPgogI2luY2x1ZGUgPFFGaWxlPgogI2luY2x1ZGUgPFFMaW5lRWRpdD4KKyNpbmNsdWRl
IDxRTGlzdFdpZGdldD4KKyNpbmNsdWRlIDxRTWVudT4KICNpbmNsdWRlIDxRUGFpbnRlcj4KICNp
bmNsdWRlIDxRUHVzaEJ1dHRvbj4KKyNpbmNsdWRlIDxRUmFkaW9CdXR0b24+CisjaW5jbHVkZSA8
UVNjcm9sbEJhcj4KICNpbmNsdWRlIDxRU3R5bGVGYWN0b3J5PgogI2luY2x1ZGUgPFFTdHlsZU9w
dGlvbkJ1dHRvbj4KICNpbmNsdWRlIDxRU3R5bGVPcHRpb25GcmFtZVYyPgpAQCAtNjUsNiArNzIs
NTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwog
CitRQ29sb3IgUmVuZGVyVGhlbWVRdDo6bURlZmF1bHRRTGluZUlucHV0QmFja2dyb3VuZENvbG9y
W1JlbmRlclRoZW1lUXQ6OkNPTlRST0xfU1RBVEVfQ05UXTsKK1FDb2xvciBSZW5kZXJUaGVtZVF0
OjptRGVmYXVsdFFQdXNoQnV0dG9uQmFja2dyb3VuZENvbG9yW1JlbmRlclRoZW1lUXQ6OkNPTlRS
T0xfU1RBVEVfQ05UXTsKK1FDb2xvciBSZW5kZXJUaGVtZVF0OjptRGVmYXVsdFFDaGVja0JveEJh
Y2tncm91bmRDb2xvcltSZW5kZXJUaGVtZVF0OjpDT05UUk9MX1NUQVRFX0NOVF07CitRQ29sb3Ig
UmVuZGVyVGhlbWVRdDo6bURlZmF1bHRRUmFkaW9CdXR0b25CYWNrZ3JvdW5kQ29sb3JbUmVuZGVy
VGhlbWVRdDo6Q09OVFJPTF9TVEFURV9DTlRdOworUUNvbG9yIFJlbmRlclRoZW1lUXQ6Om1EZWZh
dWx0UUxpc3RCb3hCYWNrZ3JvdW5kQ29sb3JbUmVuZGVyVGhlbWVRdDo6Q09OVFJPTF9TVEFURV9D
TlRdOworUUNvbG9yIFJlbmRlclRoZW1lUXQ6Om1EZWZhdWx0UUNvbWJvQm94QmFja2dyb3VuZENv
bG9yW1JlbmRlclRoZW1lUXQ6OkNPTlRST0xfU1RBVEVfQ05UXTsKKworUVdlYlBhZ2VDbGllbnQq
IFJlbmRlclRoZW1lUXQ6OndlYlBhZ2VDbGllbnQoTm9kZSogbikgY29uc3QKK3sKKyAgICBQYWdl
KiBwOworICAgIGlmIChuKSB7CisgICAgICAgIERvY3VtZW50KiBkID0gbi0+ZG9jdW1lbnQoKTsK
KyAgICAgICAgaWYgKGQpCisgICAgICAgICAgICBwID0gZC0+cGFnZSgpOworICAgICAgICBlbHNl
CisgICAgICAgICAgICBwID0gbV9wYWdlOworICAgIH0gZWxzZQorICAgICAgICBwID0gbV9wYWdl
OworICAgIGlmICghcCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgQ2hyb21lKiBjaHJvbWUgPSBw
LT5jaHJvbWUoKTsKKyAgICBpZiAoIWNocm9tZSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgQ2hy
b21lQ2xpZW50KiBjaHJvbWVDbGllbnQgPSBjaHJvbWUtPmNsaWVudCgpOworICAgIGlmIChjaHJv
bWVDbGllbnQpCisgICAgICAgIHJldHVybiBjaHJvbWVDbGllbnQtPnBsYXRmb3JtUGFnZUNsaWVu
dCgpOworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBpbml0UGFsZXR0ZUZyb21QYWdl
Q2xpZW50SWZFeGlzdHMoUVBhbGV0dGUgJnBhbGV0dGUsIGNvbnN0IFJlbmRlck9iamVjdCAqbykK
K3sKKyAgICAvLyBJZiB0aGUgd2VidmlldyBoYXMgYSBjdXN0b20gcGFsZXR0ZSwgdXNlIGl0Cisg
ICAgUGFnZSogcGFnZSA9IG8tPmRvY3VtZW50KCktPnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisg
ICAgICAgIHJldHVybjsKKyAgICBDaHJvbWUqIGNocm9tZSA9IHBhZ2UtPmNocm9tZSgpOworICAg
IGlmICghY2hyb21lKQorICAgICAgICByZXR1cm47CisgICAgQ2hyb21lQ2xpZW50KiBjaHJvbWVD
bGllbnQgPSBjaHJvbWUtPmNsaWVudCgpOworICAgIGlmICghY2hyb21lQ2xpZW50KQorICAgICAg
ICByZXR1cm47CisgICAgUVdlYlBhZ2VDbGllbnQqIHBhZ2VDbGllbnQgPSBjaHJvbWVDbGllbnQt
PnBsYXRmb3JtUGFnZUNsaWVudCgpOworICAgIGlmICghcGFnZUNsaWVudCkKKyAgICAgICAgcmV0
dXJuOworICAgIHBhbGV0dGUgPSBwYWdlQ2xpZW50LT5wYWxldHRlKCk7Cit9CiAKIFN0eWxlUGFp
bnRlcjo6U3R5bGVQYWludGVyKGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBwYWludElu
Zm8pCiB7CkBAIC0yMDcsNiArMjYwLDcxIEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6c3VwcG9ydHND
b250cm9sVGludHMKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBSZW5kZXJUaGVtZVF0Ojph
ZGRTdHlsZVRleHRJZk5lZWRlZChRQ29sb3IqIGNvbG9yLCBRQ29sb3ImIGRlZmF1bHRDb2xvciwK
KyAgICBjb25zdCBjaGFyKiBwcmVmaXgsIGNvbnN0IGNoYXIqIHN1ZmZpeCwgUUJ5dGVBcnJheSYg
YnVmZmVyLCBib29sIHNjYWxlQWxwaGEpCit7CisgICAgaWYgKCpjb2xvciA9PSBkZWZhdWx0Q29s
b3IpCisgICAgICAgIHJldHVybjsKKyAgICBRTG9jYWxlIGxvY2FsZShRTG9jYWxlOjpDKTsKKyAg
ICBidWZmZXIuYXBwZW5kKHByZWZpeCkuYXBwZW5kKGxvY2FsZS50b1N0cmluZyhjb2xvci0+cmVk
KCkpKS5hcHBlbmQoJywnKQorICAgICAgICAuYXBwZW5kKGxvY2FsZS50b1N0cmluZyhjb2xvci0+
Z3JlZW4oKSkpLmFwcGVuZCgnLCcpCisgICAgICAgIC5hcHBlbmQobG9jYWxlLnRvU3RyaW5nKGNv
bG9yLT5ibHVlKCkpKS5hcHBlbmQoJywnKQorICAgICAgICAuYXBwZW5kKHNjYWxlQWxwaGEgPyBs
b2NhbGUudG9TdHJpbmcoc3RhdGljX2Nhc3Q8ZmxvYXQ+KGNvbG9yLT5hbHBoYSgpKSAvIDI1NSwg
J2YnLCA0KSA6IGxvY2FsZS50b1N0cmluZyhjb2xvci0+YWxwaGEoKSkpCisgICAgICAgIC5hcHBl
bmQoc3VmZml4KTsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgV2lkZ2V0VHlwZT4KK3N0YXRpYyBp
bmxpbmUgdm9pZCBhZGRTdHlsZVRleHRGb3JXaWRnZXQoUmVuZGVyVGhlbWVRdCogcmVuZGVyVGhl
bWUsIFFDb2xvciogY29sb3JBcnJheSwgUUNvbG9yJiBkZWZhdWx0Q29sb3IsIGNvbnN0IGNoYXIq
IHByZWZpeCwgY29uc3QgY2hhciogZGlzYWJsZWRQcmVmaXgsIFFCeXRlQXJyYXkmIGJ1ZmZlcikK
K3sKKyAgICBpZiAoIWNvbG9yQXJyYXlbUmVuZGVyVGhlbWVRdDo6Tk9STUFMX0lOREVYXS5pc1Zh
bGlkKCkpIHsKKyAgICAgICAgV2lkZ2V0VHlwZSB3aWRnZXQocmVuZGVyVGhlbWUtPnBhZ2VPd25l
cldpZGdldCgpKTsKKyAgICAgICAgd2lkZ2V0LnNldEF0dHJpYnV0ZShRdDo6V0FfRG9udFNob3dP
blNjcmVlbik7CisgICAgICAgIHdpZGdldC5zaG93KCk7CisgICAgICAgIFFQYWxldHRlIHBhbGV0
dGUgPSB3aWRnZXQucGFsZXR0ZSgpOworICAgICAgICBRUGFsZXR0ZTo6Q29sb3JSb2xlIGNvbG9y
Um9sZSA9IHdpZGdldC5iYWNrZ3JvdW5kUm9sZSgpOworICAgICAgICBjb2xvckFycmF5W1JlbmRl
clRoZW1lUXQ6OkRJU0FCTEVEX0lOREVYXSA9CisgICAgICAgICAgICBwYWxldHRlLmNvbG9yKFFQ
YWxldHRlOjpEaXNhYmxlZCwgY29sb3JSb2xlKTsKKyAgICAgICAgY29sb3JBcnJheVtSZW5kZXJU
aGVtZVF0OjpOT1JNQUxfSU5ERVhdID0KKyAgICAgICAgICAgIHBhbGV0dGUuY29sb3IoUVBhbGV0
dGU6Ok5vcm1hbCwgY29sb3JSb2xlKTsKKyAgICB9CisgICAgUmVuZGVyVGhlbWVRdDo6YWRkU3R5
bGVUZXh0SWZOZWVkZWQoY29sb3JBcnJheSArIFJlbmRlclRoZW1lUXQ6Ok5PUk1BTF9JTkRFWCwg
ZGVmYXVsdENvbG9yLCBwcmVmaXgsICAiKTt9XHJcbiIsIGJ1ZmZlciwgdHJ1ZSk7CisgICAgUmVu
ZGVyVGhlbWVRdDo6YWRkU3R5bGVUZXh0SWZOZWVkZWQoY29sb3JBcnJheSArIFJlbmRlclRoZW1l
UXQ6OkRJU0FCTEVEX0lOREVYLCBkZWZhdWx0Q29sb3IsIGRpc2FibGVkUHJlZml4LCAiKTt9XHJc
biIsIGJ1ZmZlciwgdHJ1ZSk7Cit9CisKKy8vIFRoZXNlIHN0cmluZ3MgbmVlZCB0byBiZSBrZXB0
IGluIHN5bmsgd2l0aCBodG1sLmNzcworc3RhdGljIGNvbnN0IGNoYXIgcUxpbmVFZGl0U3R5bGVQ
cmVmaXhbXSA9ICJpbnB1dDpub3QoW3R5cGVdKSwgaW5wdXRbdHlwZT1cInRleHRcIl0sIGlucHV0
W3R5cGU9XCJwYXNzd29yZFwiXSwgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgaW5wdXRbdHlwZT1c
ImZpbGVcIl0sIHRleHRhcmVhIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgiOworc3RhdGljIGNv
bnN0IGNoYXIgcUxpbmVFZGl0RGlzYWJsZWRTdHlsZVByZWZpeFtdID0gImlucHV0Om5vdChbdHlw
ZV0pOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwidGV4dFwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1c
InBhc3N3b3JkXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmRpc2FibGVkLCBp
bnB1dFt0eXBlPVwiZmlsZVwiXTpkaXNhYmxlZCwgdGV4dGFyZWE6ZGlzYWJsZWQgeyBiYWNrZ3Jv
dW5kLWNvbG9yOiByZ2JhKCI7CitzdGF0aWMgY29uc3QgY2hhciBxQ2hlY2tCb3hTdHlsZVByZWZp
eFtdID0gImlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEo
IjsKK3N0YXRpYyBjb25zdCBjaGFyIHFDaGVja0JveERpc2FibGVkU3R5bGVQcmVmaXhbXSA9ICJp
bnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2Jh
KCI7CitzdGF0aWMgY29uc3QgY2hhciBxUmFkaW9CdXR0b25TdHlsZVByZWZpeFtdID0gImlucHV0
W3R5cGU9XCJyYWRpb1wiXSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoIjsKK3N0YXRpYyBjb25z
dCBjaGFyIHFSYWRpb0J1dHRvbkRpc2FibGVkU3R5bGVQcmVmaXhbXSA9ICJpbnB1dFt0eXBlPVwi
cmFkaW9cIl06ZGlzYWJsZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCI7CitzdGF0aWMgY29u
c3QgY2hhciBxTGlzdEJveFN0eWxlUHJlZml4W10gPSAic2VsZWN0W3NpemVdLCBzZWxlY3RbbXVs
dGlwbGVdLCBzZWxlY3Rbc2l6ZV1bbXVsdGlwbGVdLCBzZWxlY3Rbc2l6ZV0gb3B0aW9uLCBzZWxl
Y3RbbXVsdGlwbGVdIG9wdGlvbiwgc2VsZWN0W3NpemVdW211bHRpcGxlXSBvcHRpb24gIHsgYmFj
a2dyb3VuZC1jb2xvcjogcmdiYSgiOworc3RhdGljIGNvbnN0IGNoYXIgcUxpc3RCb3hEaXNhYmxl
ZFN0eWxlUHJlZml4W10gPSAic2VsZWN0W3NpemVdOmRpc2FibGVkLCBzZWxlY3RbbXVsdGlwbGVd
OmRpc2FibGVkLCBzZWxlY3Rbc2l6ZV1bbXVsdGlwbGVdOmRpc2FibGVkIHsgYmFja2dyb3VuZC1j
b2xvcjogcmdiYSgiOworc3RhdGljIGNvbnN0IGNoYXIgcUNvbWJvQm94U3R5bGVQcmVmaXhbXSA9
ICJzZWxlY3QsIGtleWdlbiwgc2VsZWN0W3NpemU9XCIwXCJdLCBzZWxlY3Rbc2l6ZT1cIjFcIl0g
eyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCI7CitzdGF0aWMgY29uc3QgY2hhciBxQ29tYm9Cb3hE
aXNhYmxlZFN0eWxlUHJlZml4W10gPSAic2VsZWN0OmRpc2FibGVkLCBrZXlnZW46ZGlzYWJsZWQs
IHNlbGVjdFtzaXplPVwiMFwiXTpkaXNhYmxlZCwgc2VsZWN0W3NpemU9XCIxXCJdOmRpc2FibGVk
IHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgiOworCitTdHJpbmcgUmVuZGVyVGhlbWVRdDo6ZXh0
cmFEZWZhdWx0U3R5bGVTaGVldCgpCit7CisgICAgUUJ5dGVBcnJheSBidWZmZXI7CisgICAgUUNv
bG9yIHdoaXRlKDI1NSwgMjU1LCAyNTUpOworICAgIFFDb2xvciBpbml0aWFsOworICAgIGFkZFN0
eWxlVGV4dEZvcldpZGdldDxRTGluZUVkaXQ+KHRoaXMsIG1EZWZhdWx0UUxpbmVJbnB1dEJhY2tn
cm91bmRDb2xvciwgd2hpdGUsICBxTGluZUVkaXRTdHlsZVByZWZpeCwgcUxpbmVFZGl0RGlzYWJs
ZWRTdHlsZVByZWZpeCwgYnVmZmVyKTsKKyAgICBhZGRTdHlsZVRleHRGb3JXaWRnZXQ8UUNoZWNr
Qm94Pih0aGlzLCBtRGVmYXVsdFFDaGVja0JveEJhY2tncm91bmRDb2xvciwgaW5pdGlhbCwKKyAg
ICAgICAgcUNoZWNrQm94U3R5bGVQcmVmaXgsIHFDaGVja0JveERpc2FibGVkU3R5bGVQcmVmaXgs
IGJ1ZmZlcik7CisgICAgYWRkU3R5bGVUZXh0Rm9yV2lkZ2V0PFFSYWRpb0J1dHRvbj4odGhpcywg
bURlZmF1bHRRUmFkaW9CdXR0b25CYWNrZ3JvdW5kQ29sb3IsIGluaXRpYWwsCisgICAgICAgIHFS
YWRpb0J1dHRvblN0eWxlUHJlZml4LCBxUmFkaW9CdXR0b25EaXNhYmxlZFN0eWxlUHJlZml4LCBi
dWZmZXIpOworICAgIGFkZFN0eWxlVGV4dEZvcldpZGdldDxRQ29tYm9Cb3g+KHRoaXMsIG1EZWZh
dWx0UUNvbWJvQm94QmFja2dyb3VuZENvbG9yLCB3aGl0ZSwKKyAgICAgICAgcUNvbWJvQm94U3R5
bGVQcmVmaXgsIHFDb21ib0JveERpc2FibGVkU3R5bGVQcmVmaXgsIGJ1ZmZlcik7CisgICAgYWRk
U3R5bGVUZXh0Rm9yV2lkZ2V0PFFMaXN0V2lkZ2V0Pih0aGlzLCBtRGVmYXVsdFFMaXN0Qm94QmFj
a2dyb3VuZENvbG9yLCBpbml0aWFsLAorICAgICAgICBxTGlzdEJveFN0eWxlUHJlZml4LCBxTGlz
dEJveERpc2FibGVkU3R5bGVQcmVmaXgsIGJ1ZmZlcik7CisgICAgcmV0dXJuIFN0cmluZyhidWZm
ZXIuY29uc3REYXRhKCkpOworfQorCitib29sIFJlbmRlclRoZW1lUXQ6OmlzQ29udHJvbFN0eWxl
ZChjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEJvcmRlckRhdGEmIGJvcmRlckRhdGEs
IGNvbnN0IEZpbGxMYXllciYgZmlsbExheWVyLCBjb25zdCBDb2xvciYgYmFja2dyb3VuZENvbG9y
KSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK307CisKIHN0YXRpYyBpbnQgZmluZEZyYW1l
TGluZVdpZHRoKFFTdHlsZSogc3R5bGUpCiB7CiAgICAgUUxpbmVFZGl0IGxpbmVFZGl0OwpAQCAt
MjgxLDYgKzM5OSw4MyBAQCB2b2lkIFJlbmRlclRoZW1lUXQ6OnN5c3RlbUZvbnQoaW50LCBGb250
CiAgICAgLy8gbm8tb3AKIH0KIAorQ29sb3IgUmVuZGVyVGhlbWVRdDo6c3lzdGVtQ29sb3IoaW50
IGNzc1ZhbHVlSWQpIGNvbnN0Cit7CisgICAgUVBhbGV0dGUgcGFsZXR0ZShRQXBwbGljYXRpb246
OnBhbGV0dGUocGFnZU93bmVyV2lkZ2V0KCkpKTsKKyAgICBzd2l0Y2ggKGNzc1ZhbHVlSWQpIHsK
KyAgICBjYXNlIENTU1ZhbHVlQWN0aXZlYm9yZGVyOgorICAgICAgICByZXR1cm4gMHhGRkZGRkZG
RjsKKyAgICBjYXNlIENTU1ZhbHVlQWN0aXZlY2FwdGlvbjoKKyAgICAgICAgcmV0dXJuIDB4RkZD
Q0NDQ0M7CisgICAgY2FzZSBDU1NWYWx1ZUFwcHdvcmtzcGFjZToKKyAgICAgICAgcmV0dXJuIDB4
RkZGRkZGRkY7CisgICAgY2FzZSBDU1NWYWx1ZUJhY2tncm91bmQ6CisgICAgICAgIHJldHVybiAw
eEZGNjM2M0NFOworICAgIGNhc2UgQ1NTVmFsdWVCdXR0b25mYWNlOgorICAgICAgICBpZiAoIW1E
ZWZhdWx0UVB1c2hCdXR0b25CYWNrZ3JvdW5kQ29sb3JbTk9STUFMX0lOREVYXS5pc1ZhbGlkKCkp
IHsKKyAgICAgICAgICAgIFFQdXNoQnV0dG9uIHB1c2hCdXR0b24ocGFnZU93bmVyV2lkZ2V0KCkp
OworICAgICAgICAgICAgUVBhbGV0dGUgcGFsZXR0ZSA9IFFBcHBsaWNhdGlvbjo6cGFsZXR0ZSgm
cHVzaEJ1dHRvbik7CisgICAgICAgICAgICBtRGVmYXVsdFFQdXNoQnV0dG9uQmFja2dyb3VuZENv
bG9yW0RJU0FCTEVEX0lOREVYXSA9CisgICAgICAgICAgICAgICAgcGFsZXR0ZS5jb2xvcihRUGFs
ZXR0ZTo6RGlzYWJsZWQsIFFQYWxldHRlOjpCdXR0b24pOworICAgICAgICAgICAgbURlZmF1bHRR
UHVzaEJ1dHRvbkJhY2tncm91bmRDb2xvcltOT1JNQUxfSU5ERVhdID0KKyAgICAgICAgICAgICAg
ICBwYWxldHRlLmNvbG9yKFFQYWxldHRlOjpOb3JtYWwsIFFQYWxldHRlOjpCdXR0b24pOworICAg
ICAgICB9CisgICAgICAgIHJldHVybiBtRGVmYXVsdFFQdXNoQnV0dG9uQmFja2dyb3VuZENvbG9y
W05PUk1BTF9JTkRFWF07CisgICAgY2FzZSBDU1NWYWx1ZUJ1dHRvbmhpZ2hsaWdodDoKKyAgICAg
ICAgcmV0dXJuIHBhbGV0dGUuY29sb3IoUVBhbGV0dGU6OkxpZ2h0KTsKKyAgICBjYXNlIENTU1Zh
bHVlQnV0dG9uc2hhZG93OgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6
U2hhZG93KTsKKyAgICBjYXNlIENTU1ZhbHVlQnV0dG9udGV4dDoKKyAgICAgICAgcmV0dXJuIHBh
bGV0dGUuY29sb3IoUVBhbGV0dGU6OkJ1dHRvblRleHQpOworICAgIGNhc2UgQ1NTVmFsdWVDYXB0
aW9udGV4dDoKKyAgICAgICAgcmV0dXJuIHBhbGV0dGUuY29sb3IoUVBhbGV0dGU6OldpbmRvd1Rl
eHQpOworICAgIGNhc2UgQ1NTVmFsdWVHcmF5dGV4dDoKKyAgICAgICAgcmV0dXJuIHBhbGV0dGUu
Y29sb3IoUVBhbGV0dGU6OkRpc2FibGVkLCBRUGFsZXR0ZTo6VGV4dCk7CisgICAgY2FzZSBDU1NW
YWx1ZUhpZ2hsaWdodDoKKyAgICAgICAgcmV0dXJuIHBhbGV0dGUuY29sb3IoUVBhbGV0dGU6Okhp
Z2hsaWdodCk7CisgICAgY2FzZSBDU1NWYWx1ZUhpZ2hsaWdodHRleHQ6CisgICAgICAgIHJldHVy
biBwYWxldHRlLmNvbG9yKFFQYWxldHRlOjpIaWdobGlnaHRlZFRleHQpOworICAgIGNhc2UgQ1NT
VmFsdWVJbmFjdGl2ZWJvcmRlcjoKKyAgICAgICAgcmV0dXJuIDB4RkZGRkZGRkY7CisgICAgY2Fz
ZSBDU1NWYWx1ZUluYWN0aXZlY2FwdGlvbjoKKyAgICAgICAgcmV0dXJuIDB4RkZGRkZGRkY7Cisg
ICAgY2FzZSBDU1NWYWx1ZUluYWN0aXZlY2FwdGlvbnRleHQ6CisgICAgICAgIHJldHVybiAweEZG
N0Y3RjdGOworICAgIGNhc2UgQ1NTVmFsdWVJbmZvYmFja2dyb3VuZDoKKyAgICAgICAgcmV0dXJu
IHBhbGV0dGUuY29sb3IoUVBhbGV0dGU6OkluYWN0aXZlLCBRUGFsZXR0ZTo6VG9vbFRpcEJhc2Up
OworICAgIGNhc2UgQ1NTVmFsdWVJbmZvdGV4dDoKKyAgICAgICAgcmV0dXJuIHBhbGV0dGUuY29s
b3IoUVBhbGV0dGU6OkluYWN0aXZlLCBRUGFsZXR0ZTo6VG9vbFRpcFRleHQpOworICAgIGNhc2Ug
Q1NTVmFsdWVNZW51OgorICAgICAgICBwYWxldHRlID0gUUFwcGxpY2F0aW9uOjpwYWxldHRlKCZR
TWVudShwYWdlT3duZXJXaWRnZXQoKSkpOworICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihR
UGFsZXR0ZTo6QmFzZSk7CisgICAgY2FzZSBDU1NWYWx1ZU1lbnV0ZXh0OgorICAgICAgICBwYWxl
dHRlID0gUUFwcGxpY2F0aW9uOjpwYWxldHRlKCZRTWVudShwYWdlT3duZXJXaWRnZXQoKSkpOwor
ICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6VGV4dCk7CisgICAgY2FzZSBD
U1NWYWx1ZVNjcm9sbGJhcjoKKyAgICAgICAgcGFsZXR0ZSA9IFFBcHBsaWNhdGlvbjo6cGFsZXR0
ZSgmUVNjcm9sbEJhcihwYWdlT3duZXJXaWRnZXQoKSkpOworICAgICAgICByZXR1cm4gcGFsZXR0
ZS5jb2xvcihRUGFsZXR0ZTo6QmFzZSk7CisgICAgY2FzZSBDU1NWYWx1ZVRleHQ6CisgICAgICAg
IHJldHVybiBwYWxldHRlLmNvbG9yKFFQYWxldHRlOjpUZXh0KTsKKyAgICBjYXNlIENTU1ZhbHVl
VGhyZWVkZGFya3NoYWRvdzoKKyAgICAgICAgcmV0dXJuIHBhbGV0dGUuY29sb3IoUVBhbGV0dGU6
OkRhcmspOworICAgIGNhc2UgQ1NTVmFsdWVUaHJlZWRmYWNlOgorICAgICAgICByZXR1cm4gcGFs
ZXR0ZS5jb2xvcihRUGFsZXR0ZTo6QnV0dG9uKTsKKyAgICBjYXNlIENTU1ZhbHVlVGhyZWVkaGln
aGxpZ2h0OgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6TGlnaHQpOwor
ICAgIGNhc2UgQ1NTVmFsdWVUaHJlZWRsaWdodHNoYWRvdzoKKyAgICAgICAgcmV0dXJuIHBhbGV0
dGUuY29sb3IoUVBhbGV0dGU6Ok1pZGxpZ2h0KTsKKyAgICBjYXNlIENTU1ZhbHVlVGhyZWVkc2hh
ZG93OgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6TWlkKTsKKyAgICBj
YXNlIENTU1ZhbHVlV2luZG93OgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0
ZTo6V2luZG93KTsKKyAgICBjYXNlIENTU1ZhbHVlV2luZG93ZnJhbWU6CisgICAgICAgIHJldHVy
biAweEZGQ0NDQ0NDOworICAgIGNhc2UgQ1NTVmFsdWVXaW5kb3d0ZXh0OgorICAgICAgICByZXR1
cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6V2luZG93VGV4dCk7CisgICAgfQorICAgIHJldHVy
biBDb2xvcigpOworfQorCiBpbnQgUmVuZGVyVGhlbWVRdDo6bWluaW11bU1lbnVMaXN0U2l6ZShS
ZW5kZXJTdHlsZSopIGNvbnN0CiB7CiAgICAgY29uc3QgUUZvbnRNZXRyaWNzICZmbSA9IFFBcHBs
aWNhdGlvbjo6Zm9udE1ldHJpY3MoKTsKQEAgLTQ3Niw3ICs2NzEsNyBAQCBib29sIFJlbmRlclRo
ZW1lUXQ6OnBhaW50QnV0dG9uKFJlbmRlck9iCiAgICAgb3B0aW9uLnJlY3QgPSByOwogICAgIG9w
dGlvbi5zdGF0ZSB8PSBRU3R5bGU6OlN0YXRlX1NtYWxsOwogCi0gICAgQ29udHJvbFBhcnQgYXBw
ZWFyYW5jZSA9IGFwcGx5VGhlbWUob3B0aW9uLCBvKTsKKyAgICBDb250cm9sUGFydCBhcHBlYXJh
bmNlID0gYWRqdXN0Q29tbW9uUVN0eWxlT3B0aW9ucyhvcHRpb24sIG8pOwogICAgIGlmIChhcHBl
YXJhbmNlID09IFB1c2hCdXR0b25QYXJ0IHx8IGFwcGVhcmFuY2UgPT0gQnV0dG9uUGFydCkgewog
ICAgICAgICBvcHRpb24ucmVjdCA9IGluZmxhdGVCdXR0b25SZWN0KG9wdGlvbi5yZWN0LCBxU3R5
bGUoKSk7CiAgICAgICAgIHAuZHJhd0NvbnRyb2woUVN0eWxlOjpDRV9QdXNoQnV0dG9uLCBvcHRp
b24pOwpAQCAtNDkwLDcgKzY4NSw2IEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRCdXR0b24o
UmVuZGVyT2IKIAogdm9pZCBSZW5kZXJUaGVtZVF0OjphZGp1c3RUZXh0RmllbGRTdHlsZShDU1NT
dHlsZVNlbGVjdG9yKiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBFbGVtZW50KikgY29uc3QKIHsKLSAg
ICBzdHlsZS0+c2V0QmFja2dyb3VuZENvbG9yKENvbG9yOjp0cmFuc3BhcmVudCk7CiAgICAgc3R5
bGUtPnJlc2V0Qm9yZGVyKCk7CiAgICAgc3R5bGUtPnJlc2V0UGFkZGluZygpOwogICAgIGNvbXB1
dGVTaXplQmFzZWRPblN0eWxlKHN0eWxlKTsKQEAgLTUxMiw3ICs3MDYsNyBAQCBib29sIFJlbmRl
clRoZW1lUXQ6OnBhaW50VGV4dEZpZWxkKFJlbmRlCiAgICAgcGFuZWwuZmVhdHVyZXMgPSBRU3R5
bGVPcHRpb25GcmFtZVYyOjpOb25lOwogCiAgICAgLy8gR2V0IHRoZSBjb3JyZWN0IHRoZW1lIGRh
dGEgZm9yIGEgdGV4dCBmaWVsZAotICAgIENvbnRyb2xQYXJ0IGFwcGVhcmFuY2UgPSBhcHBseVRo
ZW1lKHBhbmVsLCBvKTsKKyAgICBDb250cm9sUGFydCBhcHBlYXJhbmNlID0gYWRqdXN0Q29tbW9u
UVN0eWxlT3B0aW9ucyhwYW5lbCwgbyk7CiAgICAgaWYgKGFwcGVhcmFuY2UgIT0gVGV4dEZpZWxk
UGFydAogICAgICAgICAmJiBhcHBlYXJhbmNlICE9IFNlYXJjaEZpZWxkUGFydAogICAgICAgICAm
JiBhcHBlYXJhbmNlICE9IFRleHRBcmVhUGFydApAQCAtNTc0LDcgKzc2OCw3IEBAIGJvb2wgUmVu
ZGVyVGhlbWVRdDo6cGFpbnRNZW51TGlzdChSZW5kZXIKICAgICBRU3R5bGVPcHRpb25Db21ib0Jv
eCBvcHQ7CiAgICAgaWYgKHAud2lkZ2V0KQogICAgICAgICBvcHQuaW5pdEZyb20ocC53aWRnZXQp
OwotICAgIGFwcGx5VGhlbWUob3B0LCBvKTsKKyAgICBhZGp1c3RDb21tb25RU3R5bGVPcHRpb25z
KG9wdCwgbyk7CiAKICAgICBjb25zdCBRUG9pbnQgdG9wTGVmdCA9IHIudG9wTGVmdCgpOwogICAg
IHAucGFpbnRlci0+dHJhbnNsYXRlKHRvcExlZnQpOwpAQCAtNjE0LDcgKzgwOCw3IEBAIGJvb2wg
UmVuZGVyVGhlbWVRdDo6cGFpbnRNZW51TGlzdEJ1dHRvbigKICAgICBRU3R5bGVPcHRpb25Db21i
b0JveCBvcHRpb247CiAgICAgaWYgKHAud2lkZ2V0KQogICAgICAgICBvcHRpb24uaW5pdEZyb20o
cC53aWRnZXQpOwotICAgIGFwcGx5VGhlbWUob3B0aW9uLCBvKTsKKyAgICBhZGp1c3RDb21tb25R
U3R5bGVPcHRpb25zKG9wdGlvbiwgbyk7CiAgICAgb3B0aW9uLnJlY3QgPSByOwogCiAgICAgLy8g
Zm9yIGRyYXdpbmcgdGhlIGNvbWJvIGJveCBhcnJvdywgcmVseSBvbmx5IG9uIHRoZSBmYWxsYmFj
ayBzdHlsZQpAQCAtNjUwLDcgKzg0NCw3IEBAIHZvaWQgUmVuZGVyVGhlbWVRdDo6YWRqdXN0U2Vh
cmNoRmllbGRTdHkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBF
bGVtZW50KiBlKSBjb25zdAogewogICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgUmVuZGVyVGhl
bWU6OmFkanVzdFNlYXJjaEZpZWxkU3R5bGUoc2VsZWN0b3IsIHN0eWxlLCBlKTsKKyAgICBhZGp1
c3RUZXh0RmllbGRTdHlsZShzZWxlY3Rvciwgc3R5bGUsIGUpOwogfQogCiB2b2lkIFJlbmRlclRo
ZW1lUXQ6OmFkanVzdFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uU3R5bGUoQ1NTU3R5bGVTZWxlY3Rv
ciogc2VsZWN0b3IsIFJlbmRlclN0eWxlKiBzdHlsZSwKQEAgLTcxMiw3ICs5MDYsNyBAQCBib29s
IFJlbmRlclRoZW1lUXQ6OnN1cHBvcnRzRm9jdXMoQ29udHJvCiAgICAgfQogfQogCi1Db250cm9s
UGFydCBSZW5kZXJUaGVtZVF0OjphcHBseVRoZW1lKFFTdHlsZU9wdGlvbiYgb3B0aW9uLCBSZW5k
ZXJPYmplY3QqIG8pIGNvbnN0CitDb250cm9sUGFydCBSZW5kZXJUaGVtZVF0OjphZGp1c3RDb21t
b25RU3R5bGVPcHRpb25zKFFTdHlsZU9wdGlvbiYgb3B0aW9uLCBSZW5kZXJPYmplY3QqIG8pIGNv
bnN0CiB7CiAgICAgLy8gRGVmYXVsdCBiaXRzOiBubyBmb2N1cywgbm8gbW91c2Ugb3ZlcgogICAg
IG9wdGlvbi5zdGF0ZSAmPSB+KFFTdHlsZTo6U3RhdGVfSGFzRm9jdXMgfCBRU3R5bGU6OlN0YXRl
X01vdXNlT3Zlcik7CkBAIC03MjQsMjAgKzkxOCwyNiBAQCBDb250cm9sUGFydCBSZW5kZXJUaGVt
ZVF0OjphcHBseVRoZW1lKFFTCiAgICAgICAgIC8vIFJlYWRvbmx5IGlzIHN1cHBvcnRlZCBvbiB0
ZXh0ZmllbGRzLgogICAgICAgICBvcHRpb24uc3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9SZWFkT25s
eTsKIAotICAgIGlmIChzdXBwb3J0c0ZvY3VzKG8tPnN0eWxlKCktPmFwcGVhcmFuY2UoKSkgJiYg
aXNGb2N1c2VkKG8pKSB7Ci0gICAgICAgIG9wdGlvbi5zdGF0ZSB8PSBRU3R5bGU6OlN0YXRlX0hh
c0ZvY3VzOwotICAgICAgICBvcHRpb24uc3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9LZXlib2FyZEZv
Y3VzQ2hhbmdlOwotICAgIH0KKyAgICBvcHRpb24uZGlyZWN0aW9uID0gUXQ6OkxlZnRUb1JpZ2h0
OwogCiAgICAgaWYgKGlzSG92ZXJlZChvKSkKICAgICAgICAgb3B0aW9uLnN0YXRlIHw9IFFTdHls
ZTo6U3RhdGVfTW91c2VPdmVyOwogCi0gICAgb3B0aW9uLmRpcmVjdGlvbiA9IFF0OjpMZWZ0VG9S
aWdodDsKLSAgICBpZiAoby0+c3R5bGUoKSAmJiBvLT5zdHlsZSgpLT5kaXJlY3Rpb24oKSA9PSBX
ZWJDb3JlOjpSVEwpCi0gICAgICAgIG9wdGlvbi5kaXJlY3Rpb24gPSBRdDo6UmlnaHRUb0xlZnQ7
CisgICAgaW5pdFBhbGV0dGVGcm9tUGFnZUNsaWVudElmRXhpc3RzKG9wdGlvbi5wYWxldHRlLCBv
KTsKKyAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSBvLT5zdHlsZSgpOworICAgIGlmICghc3R5bGUp
CisgICAgICAgIHJldHVybiBOb0NvbnRyb2xQYXJ0OworCisgICAgQ29udHJvbFBhcnQgcmVzdWx0
ID0gc3R5bGUtPmFwcGVhcmFuY2UoKTsKKyAgICBpZiAoc3VwcG9ydHNGb2N1cyhyZXN1bHQpICYm
IGlzRm9jdXNlZChvKSkgeworICAgICAgICBvcHRpb24uc3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9I
YXNGb2N1czsKKyAgICAgICAgb3B0aW9uLnN0YXRlIHw9IFFTdHlsZTo6U3RhdGVfS2V5Ym9hcmRG
b2N1c0NoYW5nZTsKKyAgICB9CiAKLSAgICBDb250cm9sUGFydCByZXN1bHQgPSBvLT5zdHlsZSgp
LT5hcHBlYXJhbmNlKCk7CisgICAgaWYgKHN0eWxlLT5kaXJlY3Rpb24oKSA9PSBXZWJDb3JlOjpS
VEwpCisgICAgICAgIG9wdGlvbi5kaXJlY3Rpb24gPSBRdDo6UmlnaHRUb0xlZnQ7CiAKKyAgICBR
Q29sb3IgYmFja2dyb3VuZENvbG9yID0gc3R5bGUtPmJhY2tncm91bmRDb2xvcigpOwogICAgIHN3
aXRjaCAocmVzdWx0KSB7CiAgICAgY2FzZSBQdXNoQnV0dG9uUGFydDoKICAgICBjYXNlIFNxdWFy
ZUJ1dHRvblBhcnQ6CkBAIC03NTEsMjAgKzk1MSwzMCBAQCBDb250cm9sUGFydCBSZW5kZXJUaGVt
ZVF0OjphcHBseVRoZW1lKFFTCiAgICAgICAgICAgICBvcHRpb24uc3RhdGUgfD0gUVN0eWxlOjpT
dGF0ZV9TdW5rZW47CiAgICAgICAgIGVsc2UgaWYgKHJlc3VsdCA9PSBQdXNoQnV0dG9uUGFydCkK
ICAgICAgICAgICAgIG9wdGlvbi5zdGF0ZSB8PSBRU3R5bGU6OlN0YXRlX1JhaXNlZDsKKyAgICAg
ICAgICAgIG9wdGlvbi5wYWxldHRlLnNldENvbG9yKFFQYWxldHRlOjpCdXR0b24sIGJhY2tncm91
bmRDb2xvcik7CiAgICAgICAgIGJyZWFrOwogICAgIH0KLSAgICB9Ci0KLSAgICBpZiAocmVzdWx0
ID09IFJhZGlvUGFydCB8fCByZXN1bHQgPT0gQ2hlY2tib3hQYXJ0KQorICAgIGNhc2UgUmFkaW9Q
YXJ0OgorICAgIGNhc2UgQ2hlY2tib3hQYXJ0OgogICAgICAgICBvcHRpb24uc3RhdGUgfD0gKGlz
Q2hlY2tlZChvKSA/IFFTdHlsZTo6U3RhdGVfT24gOiBRU3R5bGU6OlN0YXRlX09mZik7Ci0KLSAg
ICAvLyBJZiB0aGUgb3duZXIgd2lkZ2V0IGhhcyBhIGN1c3RvbSBwYWxldHRlLCB1c2UgaXQKLSAg
ICBQYWdlKiBwYWdlID0gby0+ZG9jdW1lbnQoKS0+cGFnZSgpOwotICAgIGlmIChwYWdlKSB7Ci0g
ICAgICAgIENocm9tZUNsaWVudCogY2xpZW50ID0gcGFnZS0+Y2hyb21lKCktPmNsaWVudCgpOwot
ICAgICAgICBRV2ViUGFnZUNsaWVudCogcGFnZUNsaWVudCA9IGNsaWVudC0+cGxhdGZvcm1QYWdl
Q2xpZW50KCk7Ci0gICAgICAgIGlmIChwYWdlQ2xpZW50KQotICAgICAgICAgICAgb3B0aW9uLnBh
bGV0dGUgPSBwYWdlQ2xpZW50LT5wYWxldHRlKCk7CisgICAgY2FzZSBNZW51bGlzdFBhcnQ6Cisg
ICAgICAgIC8vIFdlIGFyZSBzZXR0aW5nIGhlcmUgYWxsIGJhY2tncm91bmQgY29sb3JzIGJlY2F1
c2U6CisgICAgICAgIC8vIDEuIEhUTUwgZG9lcyBub3Qgc3VwcG9ydCBtdWx0aXBsZSBiYWNrZ3Jv
dW5kIGNvbG9ycyBmb3IgdGhlc2UgY29udHJvbHMKKyAgICAgICAgLy8gICAgdGh1cyBpdCBtYWtl
cyBzZW5zZSB0byByZWR1Y2UgYWxsIGJhY2tncm91bmQgY29sb3JzIHRvIG9uZS4KKyAgICAgICAg
Ly8gMi4gRGlmZmVyZW50IHN0eWxlcyAoc3VjaCBhcyBtb3RpZiBhbmQgd2luZG93cykgdXNlIGRp
ZmZlcmVudCBwYWxldHRlCisgICAgICAgIC8vICAgIGluZGV4ZXMgdG8gcmVuZGVyIHRoZSBjb250
cm9sJ3MgYmFja2dyb3VuZAorICAgICAgICBvcHRpb24ucGFsZXR0ZS5zZXRDb2xvcihRUGFsZXR0
ZTo6QnV0dG9uLCBiYWNrZ3JvdW5kQ29sb3IpOworICAgICAgICBvcHRpb24ucGFsZXR0ZS5zZXRD
b2xvcihRUGFsZXR0ZTo6V2luZG93LCBiYWNrZ3JvdW5kQ29sb3IpOworICAgICAgICBvcHRpb24u
cGFsZXR0ZS5zZXRDb2xvcihRUGFsZXR0ZTo6QmFzZSwgYmFja2dyb3VuZENvbG9yKTsKKyAgICAg
ICAgb3B0aW9uLnBhbGV0dGUuc2V0Q29sb3IoUVBhbGV0dGU6OlRleHQsIHN0eWxlLT5jb2xvcigp
KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBMaXN0Ym94UGFydDoKKyAgICAgICAgb3B0aW9u
LnBhbGV0dGUuc2V0Q29sb3IoUVBhbGV0dGU6OlRleHQsIHN0eWxlLT5jb2xvcigpKTsKKyAgICBj
YXNlIFNlYXJjaEZpZWxkUGFydDoKKyAgICBjYXNlIFRleHRGaWVsZFBhcnQ6CisgICAgY2FzZSBU
ZXh0QXJlYVBhcnQ6CisgICAgICAgIG9wdGlvbi5wYWxldHRlLnNldENvbG9yKFFQYWxldHRlOjpC
YXNlLCBiYWNrZ3JvdW5kQ29sb3IpOworICAgICAgICBicmVhazsKICAgICB9CiAKICAgICByZXR1
cm4gcmVzdWx0OwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmgJKHJldmlzaW9u
IDUwNzgzKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTIyLDYgKzIyLDcgQEAKICNpZm5kZWYgUmVuZGVyVGhlbWVRdF9ICiAjZGVmaW5l
IFJlbmRlclRoZW1lUXRfSAogCisjaW5jbHVkZSAiUVdlYlBhZ2VDbGllbnQuaCIKICNpbmNsdWRl
ICJSZW5kZXJUaGVtZS5oIgogCiAjaW5jbHVkZSA8UVN0eWxlPgpAQCAtNDMsNiArNDQsNyBAQCBw
cml2YXRlOgogCiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8UmVuZGVyVGhlbWU+IGNy
ZWF0ZShQYWdlKik7CisgICAgc3RhdGljIHZvaWQgYWRkU3R5bGVUZXh0SWZOZWVkZWQoUUNvbG9y
KiBjb2xvciwgUUNvbG9yJiBkZWZhdWx0Q29sb3IsIGNvbnN0IGNoYXIqIHByZWZpeCwgY29uc3Qg
Y2hhciogc3VmZml4LCBRQnl0ZUFycmF5JiBidWZmZXIsIGJvb2wgc2NhbGVBbHBoYSk7CiAKICAg
ICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNIb3Zlcihjb25zdCBSZW5kZXJTdHlsZSopIGNvbnN0Owog
ICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0ZvY3VzUmluZyhjb25zdCBSZW5kZXJTdHlsZSogc3R5
bGUpIGNvbnN0OwpAQCAtNTUsNiArNTcsMTMgQEAgcHVibGljOgogICAgIC8vIEEgZ2VuZXJhbCBt
ZXRob2QgYXNraW5nIGlmIGFueSBjb250cm9sIHRpbnRpbmcgaXMgc3VwcG9ydGVkIGF0IGFsbC4K
ICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNDb250cm9sVGludHMoKSBjb25zdDsKIAorICAgIC8q
IERldGVybWluZXMgd2hldGhlciB0aGUgY29udHJvbCBzaG91bGQgYmUgcGFpbnRlZCBieSB0aGUg
dGhlbWUgb3Igbm90CisgICAgICogSWYgdGhpcyBmdW5jdGlvbiByZXR1cm5zIHRydWUgV2ViS2l0
IHdpbGwgdHJ5IHRvIHBhaW50IHRoZSBjb250cm9sIAorICAgICAqIGlmIGl0IGNhbi4gSW4gUXQg
d2UgYWx3YXlzIHJldHVybiBmYWxzZSB0byBpbmRpY2F0ZSB0aGF0IFF0IHVzIAorICAgICAqIGNh
cGFibGUgb2YgcGFpbnRpbmcgc3R5bGVkIGNvbnRyb2xzLgorICAgICAqLworICAgIHZpcnR1YWwg
Ym9vbCBpc0NvbnRyb2xTdHlsZWQoY29uc3QgUmVuZGVyU3R5bGUqLCBjb25zdCBCb3JkZXJEYXRh
JiwgY29uc3QgRmlsbExheWVyJiwgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xvcikgY29uc3Q7
CisKICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0UmVwYWludFJlY3QoY29uc3QgUmVuZGVyT2JqZWN0
KiBvLCBJbnRSZWN0JiByKTsKIAogICAgIC8vIFRoZSBwbGF0Zm9ybSBzZWxlY3Rpb24gY29sb3Iu
CkBAIC02NCw2ICs3Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIENvbG9yIHBsYXRmb3JtSW5h
Y3RpdmVTZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3IoKSBjb25zdDsKIAogICAgIHZpcnR1YWwgdm9p
ZCBzeXN0ZW1Gb250KGludCBwcm9wSWQsIEZvbnREZXNjcmlwdGlvbiYpIGNvbnN0OworICAgIHZp
cnR1YWwgQ29sb3Igc3lzdGVtQ29sb3IoaW50IGNzc1ZhbHVlSWQpIGNvbnN0OwogCiAgICAgdmly
dHVhbCBpbnQgbWluaW11bU1lbnVMaXN0U2l6ZShSZW5kZXJTdHlsZSopIGNvbnN0OwogCkBAIC03
MSwxMCArODEsMjMgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBkb3VibGUgY2FyZXRCbGlua0lu
dGVydmFsKCkgY29uc3Q7CiAKKworICAgIC8qIFRoZXNlIG1ldGhvZHMgcmV0dXJuIHRoZSB0aGVt
ZSdzIGV4dHJhIHN0eWxlIHNoZWV0cyBydWxlcywgdG8gbGV0IGVhY2ggcGxhdGZvcm0KKyAgICAg
KiBhZGp1c3QgdGhlIGRlZmF1bHQgQ1NTIHJ1bGVzIGluIGh0bWwuY3NzLCBxdWlya3MuY3NzLCBv
ciBtZWRpYUNvbnRyb2xzLmNzcworICAgICAqLworICAgIHZpcnR1YWwgU3RyaW5nIGV4dHJhRGVm
YXVsdFN0eWxlU2hlZXQoKTsKICNpZiBFTkFCTEUoVklERU8pCiAgICAgdmlydHVhbCBTdHJpbmcg
ZXh0cmFNZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpOwogI2VuZGlmCiAKKyAgICAvKiBHZXRzIG93
bmVyIHdpZGdldCBmb3IgdGhlIHBhZ2UKKyAgICAgKi8KKyAgICBRV2lkZ2V0KiBwYWdlT3duZXJX
aWRnZXQoTm9kZSogbiA9IDApIGNvbnN0CisgICAgeworICAgICAgICBRV2ViUGFnZUNsaWVudCog
cCA9IHdlYlBhZ2VDbGllbnQobik7CisgICAgICAgIHJldHVybiBwID8gcC0+b3duZXJXaWRnZXQo
KSA6IDA7CisgICAgfQorCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBib29sIHBhaW50Q2hlY2ti
b3goUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgaSwgY29u
c3QgSW50UmVjdCYgcik7CiAgICAgdmlydHVhbCB2b2lkIHNldENoZWNrYm94U2l6ZShSZW5kZXJT
dHlsZSopIGNvbnN0OwpAQCAtMTEzLDYgKzEzNiwxMSBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVh
bCB2b2lkIGFkanVzdFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25TdHlsZShDU1NTdHlsZVNl
bGVjdG9yKiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50KikgY29uc3Q7CiAgICAgdmlydHVhbCBib29s
IHBhaW50U2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvbihSZW5kZXJPYmplY3QqLCBjb25zdCBS
ZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKIAorICAgIC8qIEdldHMg
dGhlIFFXZWJQYWdlQ2xpZW50IGZvciB0aGUgcGFnZSBjb250YWluaW5nIG4KKyAgICAgKiBpZiBu
ID09IDAgZm9yIG1fcGFnZQorICAgICAqLworICAgIFFXZWJQYWdlQ2xpZW50KiB3ZWJQYWdlQ2xp
ZW50KE5vZGUqIG4gPSAwKSBjb25zdDsKKwogI2lmIEVOQUJMRShWSURFTykKICAgICB2aXJ0dWFs
IGJvb2wgcGFpbnRNZWRpYUZ1bGxzY3JlZW5CdXR0b24oUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVu
ZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CiAgICAgdmlydHVhbCBib29s
IHBhaW50TWVkaWFQbGF5QnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVjdDo6
UGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOwpAQCAtMTMyLDcgKzE2MCw3IEBAIHByaXZhdGU6
CiBwcml2YXRlOgogICAgIGJvb2wgc3VwcG9ydHNGb2N1cyhDb250cm9sUGFydCkgY29uc3Q7CiAK
LSAgICBDb250cm9sUGFydCBhcHBseVRoZW1lKFFTdHlsZU9wdGlvbiYsIFJlbmRlck9iamVjdCop
IGNvbnN0OworICAgIENvbnRyb2xQYXJ0IGFkanVzdENvbW1vblFTdHlsZU9wdGlvbnMoUVN0eWxl
T3B0aW9uJiwgUmVuZGVyT2JqZWN0KikgY29uc3Q7CiAKICAgICB2b2lkIHNldEJ1dHRvblBhZGRp
bmcoUmVuZGVyU3R5bGUqKSBjb25zdDsKICAgICB2b2lkIHNldFBvcHVwUGFkZGluZyhSZW5kZXJT
dHlsZSopIGNvbnN0OwpAQCAtMTQ4LDYgKzE3NiwzNyBAQCBwcml2YXRlOgogICAgIFFTdHJpbmcg
bV9idXR0b25Gb250RmFtaWx5OwogCiAgICAgUVN0eWxlKiBtX2ZhbGxiYWNrU3R5bGU7CisKKyAg
ICBlbnVtIHsKKyAgICAgICAgTk9STUFMX0lOREVYID0gMCwKKyAgICAgICAgRElTQUJMRURfSU5E
RVgsCisgICAgICAgIENPTlRST0xfU1RBVEVfQ05UCisgICAgfSBDb250cm9sU3RhdGU7CisgICAg
LyogVGhlIGZvbGxvd2luZyB2YXJpYWJsZXMgc3RvcmUgdGhlIGRlZmF1bHQgYmFja2dyb3VuZCBj
b2xvcnMgZm9yCisgICAgICogdmFyaW91cyBjb250cm9scy4KKyAgICAgKiBFYWNoIHZhcmlhYmxl
IGlzIGEgQ09OVFJPTF9TVEFURV9DTlQgZWxlbWVudCBhcnJheS4KKyAgICAgKiBUaGUgZWxlbWVu
dHMgb2YgdGhlIGFycmF5IGluZGljYXRlIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgCisg
ICAgICogY29ycmVzcG9uZGluZyBzdGF0ZSBvZiB0aGUgY29udHJvbCBhcyBpbmRpY2F0ZWQgYnkg
dGhlIENvbnRyb2xTdGF0ZQorICAgICAqIGVudW1lcmF0aW9uLgorICAgICAqLworICAgIC8qIFRo
ZSBkZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIFRleHRJbnB1dCBjb250cm9scworICAgICAq
LworICAgIHN0YXRpYyBRQ29sb3IgbURlZmF1bHRRTGluZUlucHV0QmFja2dyb3VuZENvbG9yW0NP
TlRST0xfU1RBVEVfQ05UXTsKKyAgICAvKiBUaGUgZGVmYXVsdCBjb2xvciBmb3IgcHVzaCBidXR0
b25zCisgICAgICovCisgICAgc3RhdGljIFFDb2xvciBtRGVmYXVsdFFQdXNoQnV0dG9uQmFja2dy
b3VuZENvbG9yW0NPTlRST0xfU1RBVEVfQ05UXTsKKyAgICAvKiBUaGUgZGVmYXVsdCBjb2xvciBm
b3IgY2hlY2tib3hlcworICAgICAqLworICAgIHN0YXRpYyBRQ29sb3IgbURlZmF1bHRRQ2hlY2tC
b3hCYWNrZ3JvdW5kQ29sb3JbQ09OVFJPTF9TVEFURV9DTlRdOworICAgIC8qIFRoZSBkZWZhdWx0
IGNvbG9yIGZvciByYWRpb2J1dHRvbnMKKyAgICAgKi8KKyAgICBzdGF0aWMgUUNvbG9yIG1EZWZh
dWx0UVJhZGlvQnV0dG9uQmFja2dyb3VuZENvbG9yW0NPTlRST0xfU1RBVEVfQ05UXTsKKyAgICAv
KiBUaGUgZGVmYXVsdCBjb2xvciBmb3IgbGlzdGJveAorICAgICAqLworICAgIHN0YXRpYyBRQ29s
b3IgbURlZmF1bHRRTGlzdEJveEJhY2tncm91bmRDb2xvcltDT05UUk9MX1NUQVRFX0NOVF07Cisg
ICAgLyogVGhlIGRlZmF1bHQgY29sb3IgZm9yIGNvbWJvYm94CisgICAgICovCisgICAgc3RhdGlj
IFFDb2xvciBtRGVmYXVsdFFDb21ib0JveEJhY2tncm91bmRDb2xvcltDT05UUk9MX1NUQVRFX0NO
VF07CiB9OwogCiBjbGFzcyBTdHlsZVBhaW50ZXIgewpAQCAtMTc4LDYgKzIzNyw2IEBAIHByaXZh
dGU6CiAgICAgUV9ESVNBQkxFX0NPUFkoU3R5bGVQYWludGVyKQogfTsKIAotfQorfSAgLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3Bw
CShyZXZpc2lvbiA1MDc4MykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjk4LDExICsyOTgsMTYgQEAgYm9vbCBSZW5kZXJUaGVtZTo6cGFp
bnQoUmVuZGVyT2JqZWN0KiBvLAogICAgICAgICAgICAgcmV0dXJuIHBhaW50TWVkaWFDdXJyZW50
VGltZShvLCBwYWludEluZm8sIHIpOwogICAgICAgICBjYXNlIE1lZGlhQ29udHJvbHNCYWNrZ3Jv
dW5kUGFydDoKICAgICAgICAgICAgIHJldHVybiBwYWludE1lZGlhQ29udHJvbHNCYWNrZ3JvdW5k
KG8sIHBhaW50SW5mbywgcik7Ci0gICAgICAgIGNhc2UgTWVudWxpc3RCdXR0b25QYXJ0OgorI2lm
IFBMQVRGT1JNKFFUKQogICAgICAgICBjYXNlIFRleHRGaWVsZFBhcnQ6CisgICAgICAgICAgICBy
ZXR1cm4gcGFpbnRUZXh0RmllbGQobywgcGFpbnRJbmZvLCByKTsKICAgICAgICAgY2FzZSBUZXh0
QXJlYVBhcnQ6CisgICAgICAgICAgICByZXR1cm4gcGFpbnRUZXh0QXJlYShvLCBwYWludEluZm8s
IHIpOworI2Vsc2UKKyAgICAgICAgY2FzZSBNZW51bGlzdEJ1dHRvblBhcnQ6CiAgICAgICAgIGNh
c2UgTGlzdGJveFBhcnQ6CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyNlbmRpZgogICAgICAg
ICBjYXNlIFNlYXJjaEZpZWxkUGFydDoKICAgICAgICAgICAgIHJldHVybiBwYWludFNlYXJjaEZp
ZWxkKG8sIHBhaW50SW5mbywgcik7CiAgICAgICAgIGNhc2UgU2VhcmNoRmllbGRDYW5jZWxCdXR0
b25QYXJ0OgpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNTA5NDMpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyOCBAQAorMjAwOS0xMS0xMyAgQ2Fyb2wgU3ph
Ym8gIDxjYXJvbC5zemFib0Bub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTmVlZCBhIHNob3J0IGRlc2NyaXB0aW9uIGFuZCBidWcgVVJM
IChPT1BTISkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTMwMTczCisKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9jc3MxL2JveF9wcm9wZXJ0aWVzL2FjaWRf
dGVzdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9jc3MvcHNldWRv
LWNhY2hlLXN0YWxlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Nz
cy90ZXh0LWlucHV0LXdpdGgtd2Via2l0LWJvcmRlci1yYWRpdXMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxUYWJsZUNvbEVsZW1lbnQvcmVzaXplLXRh
YmxlLXVzaW5nLWNvbC13aWR0aC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQv
ZmFzdC9mb3Jtcy9iYXNpYy1idXR0b25zLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9xdC9mYXN0L2Zvcm1zL2Jhc2ljLWlucHV0cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vcXQvZmFzdC9mb3Jtcy9idXR0b24tc3R5bGUtY29sb3ItZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvaXNpbmRleC1wbGFjZWhvbGRlci1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9tZW51bGlzdC1zdHlsZS1j
b2xvci1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0
LXN0eWxlLWNvbG9yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Zv
cm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXBzZXVkby1zdHlsZS1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci1zZXQtYXR0
cmlidXRlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3Rl
eHRhcmVhLXBsYWNlaG9sZGVyLXNldC12YWx1ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vcXQvdGFibGVzL21vemlsbGEvYnVncy9idWc5MjY0Ny0yLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgQ2hhbmdlZCB0aGVzZSB0ZXN0cyB0byBhY2NvbW9kYXRlIHRoZSBuYXRpdmUgY29sb3Jz
IHRoYXQgYXJlIG5vdyByZWZsZWN0ZWQKKyAgICAgICAgaW4gZGVmYXVsdCBzdHlsZXMuIEFsc28g
c29tZWJvcmRlcnMgYXJlIG5vdyByZW5kZXJlZCBuYXRpdmVseSBzbyB0aGV5IGRvIG5vdCBzaG93
IHVwCisgICAgICAgIGluIHRoZSBkdW1wIGFueW1vcmUuCisKIDIwMDktMTEtMTMgIERpcmsgU2No
dWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBHdXN0YXZvIE5v
cm9uaGEuCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9jc3MxL2JveF9wcm9wZXJ0aWVz
L2FjaWRfdGVzdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvY3NzMS9ib3hfcHJvcGVydGllcy9hY2lkX3Rlc3QtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA1MDc4MykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2NzczEvYm94X3Byb3BlcnRpZXMv
YWNpZF90ZXN0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjMsMTIgKzIzLDEyIEBA
IGxheWVyIGF0ICgwLDApIHNpemUgODAweDQyMAogICAgICAgICAgICAgICAgIFJlbmRlckJsb2Nr
IHtQfSBhdCAoMCwwKSBzaXplIDEzOXgxOQogICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDMpIHNpemUgMjd4MTMKICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMykgd2lkdGggMjc6ICJiYW5nICIKLSAgICAgICAgICAgICAgICAgIFJlbmRlckJsb2Nr
IHtJTlBVVH0gYXQgKDI5LDMpIHNpemUgMTJ4MTIgW2NvbG9yPSMwMDAwMDBdCisgICAgICAgICAg
ICAgICAgICBSZW5kZXJCbG9jayB7SU5QVVR9IGF0ICgyOSwzKSBzaXplIDEyeDEyIFtjb2xvcj0j
MDAwMDAwXSBbYmdjb2xvcj0jRUZFQkU3XQogICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9
IGF0ICgwLDE5KSBzaXplIDEzOXgxOQogICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDMpIHNpemUgNDF4MTMKICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMykgd2lkdGggNDE6ICJ3aGltcGVyICIKLSAgICAgICAgICAgICAgICAgIFJlbmRlckJsb2Nr
IHtJTlBVVH0gYXQgKDQzLDMpIHNpemUgMTJ4MTIgW2NvbG9yPSMwMDAwMDBdCisgICAgICAgICAg
ICAgICAgICBSZW5kZXJCbG9jayB7SU5QVVR9IGF0ICg0MywzKSBzaXplIDEyeDEyIFtjb2xvcj0j
MDAwMDAwXSBbYmdjb2xvcj0jRUZFQkU3XQogICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9u
eW1vdXMpIGF0ICgxMCw1OCkgc2l6ZSAxMzl4MAogICAgICAgICAgICAgICAgIFJlbmRlcklubGlu
ZSB7Rk9STX0gYXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0
L2Zhc3QvY3NzL3BzZXVkby1jYWNoZS1zdGFsZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9jc3MvcHNldWRvLWNhY2hlLXN0YWxlLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gNTA3ODMpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0
L2Nzcy9wc2V1ZG8tY2FjaGUtc3RhbGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0x
MiwxNSArMTIsMTUgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMCw0MSkgc2l6ZSA3ODR4MjEKICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMjk4eDQxCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lk
dGggMjk4OiAiVGhpcyBzZW50ZW5jZSBzaG91bGQgYmUgZXh0cmEtZXh0cmEtbGFyZ2UuIgotICAg
ICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsNjIpIHNpemUgNzg0eDMxCi0gICAgICAg
IFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDIsMikgc2l6ZSAxNzd4MjcgW2JnY29sb3I9
I0ZGRkZGRl0gW2JvcmRlcjogKDJweCBpbnNldCAjMDAwMDAwKV0KLSAgICAgICAgICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMywzKSBzaXplIDE3MXgyMQorICAgICAgUmVuZGVyQmxvY2sgKGFub255
bW91cykgYXQgKDAsNjIpIHNpemUgNzg0eDI1CisgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJ
TlBVVH0gYXQgKDIsMikgc2l6ZSAxNzF4MjEgW2JnY29sb3I9I0ZGRkZGRl0KKyAgICAgICAgICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDE3MXgyMQogICAgICAgICAgICAgUmVuZGVy
QmxvY2sge0RJVn0gYXQgKDAsMTYpIHNpemUgMHgwCiAgICAgICAgICAgICBSZW5kZXJCbG9jayB7
RElWfSBhdCAoMTcxLDE2KSBzaXplIDB4MAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIg
YXQgKDEzLDc1KSBzaXplIDE3MXgyMQorbGF5ZXIgYXQgKDEwLDcyKSBzaXplIDE3MXgyMQogICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDE3MXgyMSBbY29sb3I9IzAwODAwMF0KICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMCkgc2l6ZSAxNTB4MjEKICAgICAgIHRleHQgcnVu
IGF0ICgxLDApIHdpZHRoIDE1MDogIlRoaXMgc2hvdWxkIGJlIGdyZWVuIgpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9jc3MvdGV4dC1pbnB1dC13aXRoLXdlYmtpdC1ib3JkZXIt
cmFkaXVzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9x
dC9mYXN0L2Nzcy90ZXh0LWlucHV0LXdpdGgtd2Via2l0LWJvcmRlci1yYWRpdXMtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA1MDc4MykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvY3Nz
L3RleHQtaW5wdXQtd2l0aC13ZWJraXQtYm9yZGVyLXJhZGl1cy1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTE1LDEyICsxNSwxMiBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHgxNDMK
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNjgweDIxCiAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNjgwOiAiSWYgdGhlIHRlc3QgcGFzc2VzLCB5b3Ug
d2lsbCBzZWUgYSB0ZXh0IGVudHJ5IGZpZWxkIGNvbnRhaW5pbmcgXCJkZWZhdWx0IHRleHRcIiBp
bnNpZGUgdGhlIGdyZXkgZGl2IGJlbG93LiIKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgw
LDc0KSBzaXplIDE2M3g0NSBbYmdjb2xvcj0jODg4ODg4XQotICAgICAgICBSZW5kZXJUZXh0Q29u
dHJvbCB7SU5QVVR9IGF0ICgxMSw5KSBzaXplIDEzM3gyNyBbYmdjb2xvcj0jMDBGRjAwXSBbYm9y
ZGVyOiAoMnB4IGluc2V0ICMwMDAwMDApXQotICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICgzLDMpIHNpemUgMTI3eDIxCisgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQg
KDExLDkpIHNpemUgMTMzeDIxIFtiZ2NvbG9yPSMwMEZGMDBdCisgICAgICAgICAgUmVuZGVyQmxv
Y2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMzN4MjEKICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgwLDE2KSBzaXplIDB4MAotICAgICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDEyNywxNikgc2l6ZSAweDAKKyAgICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxMzMs
MTYpIHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4
MAotbGF5ZXIgYXQgKDIyLDEwMikgc2l6ZSAxMjd4MjEKLSAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDAsMCkgc2l6ZSAxMjd4MjEKK2xheWVyIGF0ICgxOSw5OSkgc2l6ZSAxMzN4MjEKKyAgUmVuZGVy
QmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMzN4MjEKICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDEsMCkgc2l6ZSA3N3gyMQogICAgICAgdGV4dCBydW4gYXQgKDEsMCkgd2lkdGggNzc6ICJk
ZWZhdWx0IHRleHQiCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1M
VGFibGVDb2xFbGVtZW50L3Jlc2l6ZS10YWJsZS11c2luZy1jb2wtd2lkdGgtZXhwZWN0ZWQudHh0
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxUYWJs
ZUNvbEVsZW1lbnQvcmVzaXplLXRhYmxlLXVzaW5nLWNvbC13aWR0aC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDUwNzgzKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTFRh
YmxlQ29sRWxlbWVudC9yZXNpemUtdGFibGUtdXNpbmctY29sLXdpZHRoLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyLDIpIHNpemUgNzd4MjEK
ICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMiwyKSB3aWR0aCA3NzogImNvbCAzIHJvdyAz
IgogICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsNTgpIHNpemUgNzg0eDM2Ci0g
ICAgICAgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMiwyKSBzaXplIDQ3MHgzMiBbYmdjb2xv
cj0jQzBDMEMwXQorICAgICAgICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDIsMikgc2l6ZSA0
NzB4MzIgW2NvbG9yPSMxMDEwMTBdIFtiZ2NvbG9yPSNFRkVCRTddCiAgICAgICAgICAgUmVuZGVy
QmxvY2sgKGFub255bW91cykgYXQgKDYsNikgc2l6ZSA0NTh4MjEKICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ1OHgyMQogICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCA0NTg6ICJDbGljayBtZSB0byB0ZXN0IG1hbnVhbGx5LiBUaGUgZmly
c3QgY29sdW1uIHNob3VsZCBncm93IHRvIDUwMHB4LiIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL3F0L2Zhc3QvZm9ybXMvYmFzaWMtYnV0dG9ucy1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9iYXNpYy1idXR0b25zLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gNTA3ODMpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0
L2Zvcm1zL2Jhc2ljLWJ1dHRvbnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zNywx
NCArMzcsMTQgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4Mzg5CiAgICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDU4eDIxCiAgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDEsMSkgd2lkdGggNTg6ICIoZGVmYXVsdCkiCiAgICAgICAgICAgICBSZW5kZXJU
YWJsZUNlbGwge1REfSBhdCAoMTg0LDIzKSBzaXplIDY0eDM4IFtyPTEgYz0xIHJzPTEgY3M9MV0K
LSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUgMjJ4MzIg
W2JnY29sb3I9I0MwQzBDMF0KKyAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0
ICgzLDMpIHNpemUgMjJ4MzIgW2NvbG9yPSMxMDEwMTBdIFtiZ2NvbG9yPSNFRkVCRTddCiAgICAg
ICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYsNikgc2l6ZSAxMHgyMQog
ICAgICAgICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsNikgc2l6ZSAxMHgxMAog
ICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDI0OCwzMCkgc2l6ZSAxNjR4MjMg
W3I9MSBjPTIgcnM9MSBjcz0xXQogICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDEsMSkgc2l6ZSAxMTJ4MjEKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0
aCAxMTI6ICIoMzIsIDEyKSAoMzIsIDEyKSIKICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7
VER9IGF0ICg0MTIsMjMpIHNpemUgMTQyeDM4IFtyPTEgYz0zIHJzPTEgY3M9MV0KLSAgICAgICAg
ICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDMsMykgc2l6ZSAzNHgzMiBbYmdjb2xvcj0j
QzBDMEMwXQorICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMywzKSBzaXpl
IDM0eDMyIFtjb2xvcj0jMTAxMDEwXSBbYmdjb2xvcj0jRUZFQkU3XQogICAgICAgICAgICAgICAg
IFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNpemUgMjJ4MjEKICAgICAgICAgICAg
ICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSAyMngyMQogICAgICAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMjogImZvbyIKQEAgLTU2LDE0ICs1NiwxNCBAQCBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHgzODkKICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgxLDEpIHNpemUgNzV4MjEKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwx
KSB3aWR0aCA3NTogInBhZGRpbmc6IDAiCiAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1RE
fSBhdCAoMTg0LDYxKSBzaXplIDY0eDM4IFtyPTIgYz0xIHJzPTEgY3M9MV0KLSAgICAgICAgICAg
ICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUgMjJ4MzIgW2JnY29sb3I9I0Mw
QzBDMF0KKyAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUg
MjJ4MzIgW2NvbG9yPSMxMDEwMTBdIFtiZ2NvbG9yPSNFRkVCRTddCiAgICAgICAgICAgICAgICAg
UmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYsNikgc2l6ZSAxMHgyMQogICAgICAgICAgICAg
ICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsNikgc2l6ZSAxMHgxMAogICAgICAgICAgICAg
UmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDI0OCw2OCkgc2l6ZSAxNjR4MjMgW3I9MiBjPTIgcnM9
MSBjcz0xXQogICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAx
MTJ4MjEKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAxMTI6ICIoMzIs
IDEyKSAoMzIsIDEyKSIKICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg0MTIs
NjEpIHNpemUgMTQyeDM4IFtyPTIgYz0zIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVy
QnV0dG9uIHtJTlBVVH0gYXQgKDMsMykgc2l6ZSAzNHgzMiBbYmdjb2xvcj0jQzBDMEMwXQorICAg
ICAgICAgICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMywzKSBzaXplIDM0eDMyIFtjb2xv
cj0jMTAxMDEwXSBbYmdjb2xvcj0jRUZFQkU3XQogICAgICAgICAgICAgICAgIFJlbmRlckJsb2Nr
IChhbm9ueW1vdXMpIGF0ICg2LDYpIHNpemUgMjJ4MjEKICAgICAgICAgICAgICAgICAgIFJlbmRl
clRleHQgYXQgKDAsMCkgc2l6ZSAyMngyMQogICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwwKSB3aWR0aCAyMjogImZvbyIKQEAgLTc1LDE0ICs3NSwxNCBAQCBsYXllciBhdCAoMCww
KSBzaXplIDgwMHgzODkKICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEp
IHNpemUgOTh4MjEKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCA5ODog
InBhZGRpbmc6IDEwJSIKICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgxODQs
OTkpIHNpemUgNjR4MzggW3I9MyBjPTEgcnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJC
dXR0b24ge0JVVFRPTn0gYXQgKDMsMykgc2l6ZSAyMngzMiBbYmdjb2xvcj0jQzBDMEMwXQorICAg
ICAgICAgICAgICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDMsMykgc2l6ZSAyMngzMiBbY29s
b3I9IzEwMTAxMF0gW2JnY29sb3I9I0VGRUJFN10KICAgICAgICAgICAgICAgICBSZW5kZXJCbG9j
ayAoYW5vbnltb3VzKSBhdCAoNiw2KSBzaXplIDEweDIxCiAgICAgICAgICAgICAgICAgICBSZW5k
ZXJJbWFnZSB7SU1HfSBhdCAoMCw2KSBzaXplIDEweDEwCiAgICAgICAgICAgICBSZW5kZXJUYWJs
ZUNlbGwge1REfSBhdCAoMjQ4LDEwNikgc2l6ZSAxNjR4MjMgW3I9MyBjPTIgcnM9MSBjcz0xXQog
ICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxMTJ4MjEKICAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAxMTI6ICIoMzIsIDEyKSAoMzIs
IDEyKSIKICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg0MTIsOTkpIHNpemUg
MTQyeDM4IFtyPTMgYz0zIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtJ
TlBVVH0gYXQgKDMsMykgc2l6ZSAzNHgzMiBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICAgICAg
ICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMywzKSBzaXplIDM0eDMyIFtjb2xvcj0jMTAxMDEw
XSBbYmdjb2xvcj0jRUZFQkU3XQogICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1v
dXMpIGF0ICg2LDYpIHNpemUgMjJ4MjEKICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgYXQg
KDAsMCkgc2l6ZSAyMngyMQogICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3
aWR0aCAyMjogImZvbyIKQEAgLTk0LDE0ICs5NCwxNCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgw
MHgzODkKICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgOTJ4
MjEKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCA5MjogInBhZGRpbmc6
IDJweCIKICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgxODQsMTM3KSBzaXpl
IDY0eDM4IFtyPTQgYz0xIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtC
VVRUT059IGF0ICgzLDMpIHNpemUgMjJ4MzIgW2JnY29sb3I9I0MwQzBDMF0KKyAgICAgICAgICAg
ICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUgMjJ4MzIgW2NvbG9yPSMxMDEw
MTBdIFtiZ2NvbG9yPSNFRkVCRTddCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255
bW91cykgYXQgKDYsNikgc2l6ZSAxMHgyMQogICAgICAgICAgICAgICAgICAgUmVuZGVySW1hZ2Ug
e0lNR30gYXQgKDAsNikgc2l6ZSAxMHgxMAogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtU
RH0gYXQgKDI0OCwxNDQpIHNpemUgMTY0eDIzIFtyPTQgYz0yIHJzPTEgY3M9MV0KICAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMTEyeDIxCiAgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggMTEyOiAiKDMyLCAxMikgKDMyLCAxMikiCiAg
ICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNDEyLDEzNykgc2l6ZSAxNDJ4Mzgg
W3I9NCBjPTMgcnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBh
dCAoMywzKSBzaXplIDM0eDMyIFtiZ2NvbG9yPSNDMEMwQzBdCisgICAgICAgICAgICAgIFJlbmRl
ckJ1dHRvbiB7SU5QVVR9IGF0ICgzLDMpIHNpemUgMzR4MzIgW2NvbG9yPSMxMDEwMTBdIFtiZ2Nv
bG9yPSNFRkVCRTddCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQg
KDYsNikgc2l6ZSAyMngyMQogICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBz
aXplIDIyeDIxCiAgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDIy
OiAiZm9vIgpAQCAtMTEzLDE0ICsxMTMsMTQgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4Mzg5
CiAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDE4MngyMQog
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDE4MjogInBhZGRpbmc6IDJw
eCA2cHggM3B4IDZweCIKICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgxODQs
MTc1KSBzaXplIDY0eDM4IFtyPTUgYz0xIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVy
QnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUgMjJ4MzIgW2JnY29sb3I9I0MwQzBDMF0KKyAg
ICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUgMjJ4MzIgW2Nv
bG9yPSMxMDEwMTBdIFtiZ2NvbG9yPSNFRkVCRTddCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxv
Y2sgKGFub255bW91cykgYXQgKDYsNikgc2l6ZSAxMHgyMQogICAgICAgICAgICAgICAgICAgUmVu
ZGVySW1hZ2Uge0lNR30gYXQgKDAsNikgc2l6ZSAxMHgxMAogICAgICAgICAgICAgUmVuZGVyVGFi
bGVDZWxsIHtURH0gYXQgKDI0OCwxODIpIHNpemUgMTY0eDIzIFtyPTUgYz0yIHJzPTEgY3M9MV0K
ICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMTEyeDIxCiAg
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggMTEyOiAiKDMyLCAxMikgKDMy
LCAxMikiCiAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNDEyLDE3NSkgc2l6
ZSAxNDJ4MzggW3I9NSBjPTMgcnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJCdXR0b24g
e0lOUFVUfSBhdCAoMywzKSBzaXplIDM0eDMyIFtiZ2NvbG9yPSNDMEMwQzBdCisgICAgICAgICAg
ICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgzLDMpIHNpemUgMzR4MzIgW2NvbG9yPSMxMDEw
MTBdIFtiZ2NvbG9yPSNFRkVCRTddCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255
bW91cykgYXQgKDYsNikgc2l6ZSAyMngyMQogICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCBh
dCAoMCwwKSBzaXplIDIyeDIxCiAgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDIyOiAiZm9vIgpAQCAtMTMyLDE0ICsxMzIsMTQgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4Mzg5CiAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXpl
IDEyMngyMQogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDEyMjogInBh
ZGRpbmc6IDNweCA3cHgiCiAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMTg0
LDIxMykgc2l6ZSA2NHgzOCBbcj02IGM9MSBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRl
ckJ1dHRvbiB7QlVUVE9OfSBhdCAoMywzKSBzaXplIDIyeDMyIFtiZ2NvbG9yPSNDMEMwQzBdCisg
ICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMywzKSBzaXplIDIyeDMyIFtj
b2xvcj0jMTAxMDEwXSBbYmdjb2xvcj0jRUZFQkU3XQogICAgICAgICAgICAgICAgIFJlbmRlckJs
b2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNpemUgMTB4MjEKICAgICAgICAgICAgICAgICAgIFJl
bmRlckltYWdlIHtJTUd9IGF0ICgwLDYpIHNpemUgMTB4MTAKICAgICAgICAgICAgIFJlbmRlclRh
YmxlQ2VsbCB7VER9IGF0ICgyNDgsMjIwKSBzaXplIDE2NHgyMyBbcj02IGM9MiBycz0xIGNzPTFd
CiAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDExMngyMQog
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDExMjogIigzMiwgMTIpICgz
MiwgMTIpIgogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDQxMiwyMTMpIHNp
emUgMTQyeDM4IFtyPTYgYz0zIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9u
IHtJTlBVVH0gYXQgKDMsMykgc2l6ZSAzNHgzMiBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICAg
ICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMywzKSBzaXplIDM0eDMyIFtjb2xvcj0jMTAx
MDEwXSBbYmdjb2xvcj0jRUZFQkU3XQogICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9u
eW1vdXMpIGF0ICg2LDYpIHNpemUgMjJ4MjEKICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQg
YXQgKDAsMCkgc2l6ZSAyMngyMQogICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCww
KSB3aWR0aCAyMjogImZvbyIKQEAgLTE1MSwxNCArMTUxLDE0IEBAIGxheWVyIGF0ICgwLDApIHNp
emUgODAweDM4OQogICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6
ZSAxMDF4MjEKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAxMDE6ICJw
YWRkaW5nOiAyMHB4IgogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDE4NCwy
NTEpIHNpemUgNjR4MzggW3I9NyBjPTEgcnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJC
dXR0b24ge0JVVFRPTn0gYXQgKDMsMykgc2l6ZSAyMngzMiBbYmdjb2xvcj0jQzBDMEMwXQorICAg
ICAgICAgICAgICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDMsMykgc2l6ZSAyMngzMiBbY29s
b3I9IzEwMTAxMF0gW2JnY29sb3I9I0VGRUJFN10KICAgICAgICAgICAgICAgICBSZW5kZXJCbG9j
ayAoYW5vbnltb3VzKSBhdCAoNiw2KSBzaXplIDEweDIxCiAgICAgICAgICAgICAgICAgICBSZW5k
ZXJJbWFnZSB7SU1HfSBhdCAoMCw2KSBzaXplIDEweDEwCiAgICAgICAgICAgICBSZW5kZXJUYWJs
ZUNlbGwge1REfSBhdCAoMjQ4LDI1OCkgc2l6ZSAxNjR4MjMgW3I9NyBjPTIgcnM9MSBjcz0xXQog
ICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxMTJ4MjEKICAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAxMTI6ICIoMzIsIDEyKSAoMzIs
IDEyKSIKICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg0MTIsMjUxKSBzaXpl
IDE0MngzOCBbcj03IGM9MyBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7
SU5QVVR9IGF0ICgzLDMpIHNpemUgMzR4MzIgW2JnY29sb3I9I0MwQzBDMF0KKyAgICAgICAgICAg
ICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDMsMykgc2l6ZSAzNHgzMiBbY29sb3I9IzEwMTAx
MF0gW2JnY29sb3I9I0VGRUJFN10KICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnlt
b3VzKSBhdCAoNiw2KSBzaXplIDIyeDIxCiAgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IGF0
ICgwLDApIHNpemUgMjJ4MjEKICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggMjI6ICJmb28iCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1z
L2Jhc2ljLWlucHV0cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvZmFzdC9mb3Jtcy9iYXNpYy1pbnB1dHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1
MDc4MykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvYmFzaWMtaW5wdXRz
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzUsMzUgKzM1LDM1IEBAIGxheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAogICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEwLDM2Nykg
c2l6ZSA0NTB4NjQgW2JvcmRlcjogKDFweCBzb2xpZCAjRkYwMDAwKV0KICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgxLDYpIHNpemUgOXgyMQogICAgICAgICAgIHRleHQgcnVuIGF0ICgx
LDYpIHdpZHRoIDk6ICJhIgotICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgx
MiwzKSBzaXplIDE3NXgyNworICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgx
MiwzKSBzaXplIDE3NXgyNyBbYmdjb2xvcj0jRkZGRkZGXQogICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDE4OSw2KSBzaXplIDI5eDIxCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDE4OSw2
KSB3aWR0aCAyOTogInRleHQgIgotICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0
ICgyMjAsMykgc2l6ZSAxNzV4MjcKKyAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBh
dCAoMjIwLDMpIHNpemUgMTc1eDI3IFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMzk3LDYpIHNpemUgMjJ4MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
Mzk3LDYpIHdpZHRoIDEzOiAiYiAiCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDQxMCw2KSB3aWR0
aCA5OiAiYSIKLSAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMywzNCkgc2l6
ZSAxNzV4MjcKKyAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMywzNCkgc2l6
ZSAxNzV4MjcgW2JnY29sb3I9I0ZGRkZGRl0KICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgxODAsMzcpIHNpemUgNzN4MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTgwLDM3KSB3aWR0
aCA3MzogInBhc3N3b3JkICIKLSAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAo
MjU1LDM0KSBzaXplIDE3NXgyNworICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0
ICgyNTUsMzQpIHNpemUgMTc1eDI3IFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoNDMyLDM3KSBzaXplIDl4MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
NDMyLDM3KSB3aWR0aCA5OiAiYiIKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxMCw0NDEp
IHNpemUgNDUweDIzIFtib3JkZXI6ICgxcHggc29saWQgI0ZGMDAwMCldCiAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDl4MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MSwxKSB3aWR0aCA5OiAiYSIKLSAgICAgICAgUmVuZGVyQmxvY2sge0lOUFVUfSBhdCAoMTQsNikg
c2l6ZSAxM3gxMworICAgICAgICBSZW5kZXJCbG9jayB7SU5QVVR9IGF0ICgxNCw2KSBzaXplIDEz
eDEzIFtiZ2NvbG9yPSNFRkVCRTddCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzEs
MSkgc2l6ZSA3MngyMQogICAgICAgICAgIHRleHQgcnVuIGF0ICgzMSwxKSB3aWR0aCA3MjogImNo
ZWNrYm94ICIKLSAgICAgICAgUmVuZGVyQmxvY2sge0lOUFVUfSBhdCAoMTA3LDYpIHNpemUgMTN4
MTMKKyAgICAgICAgUmVuZGVyQmxvY2sge0lOUFVUfSBhdCAoMTA3LDYpIHNpemUgMTN4MTMgW2Jn
Y29sb3I9I0VGRUJFN10KICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMjQsMSkgc2l6
ZSA5eDIxCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyNCwxKSB3aWR0aCA5OiAiYiIKICAgICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxMCw0NzQpIHNpemUgNDUweDIzIFtib3JkZXI6ICgxcHgg
c29saWQgI0ZGMDAwMCldCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXpl
IDl4MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCA5OiAiYSIKLSAgICAgICAg
UmVuZGVyQmxvY2sge0lOUFVUfSBhdCAoMTQsNykgc2l6ZSAxMngxMgorICAgICAgICBSZW5kZXJC
bG9jayB7SU5QVVR9IGF0ICgxNCw3KSBzaXplIDEyeDEyIFtiZ2NvbG9yPSNFRkVCRTddCiAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzAsMSkgc2l6ZSA0MHgyMQogICAgICAgICAgIHRl
eHQgcnVuIGF0ICgzMCwxKSB3aWR0aCA0MDogInJhZGlvICIKLSAgICAgICAgUmVuZGVyQmxvY2sg
e0lOUFVUfSBhdCAoNzQsNykgc2l6ZSAxMngxMgorICAgICAgICBSZW5kZXJCbG9jayB7SU5QVVR9
IGF0ICg3NCw3KSBzaXplIDEyeDEyIFtiZ2NvbG9yPSNFRkVCRTddCiAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoOTAsMSkgc2l6ZSA5eDIxCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDkw
LDEpIHdpZHRoIDk6ICJiIgogbGF5ZXIgYXQgKDMyLDM4MSkgc2l6ZSAxNzF4MjEgc2Nyb2xsV2lk
dGggMjE1CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL2J1dHRvbi1z
dHlsZS1jb2xvci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvZmFzdC9mb3Jtcy9idXR0b24tc3R5bGUtY29sb3ItZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA1MDc4MykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvYnV0dG9uLXN0
eWxlLWNvbG9yLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMyw1MCArMyw1MCBAQCBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAog
ICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgUmVuZGVyQm9k
eSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0Ci0gICAgICBSZW5kZXJCdXR0b24ge0JVVFRP
Tn0gYXQgKDIsMikgc2l6ZSA5M3gzMiBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgUmVuZGVyQnV0
dG9uIHtCVVRUT059IGF0ICgyLDIpIHNpemUgOTN4MzIgW2NvbG9yPSMxMDEwMTBdIFtiZ2NvbG9y
PSNFRkVCRTddCiAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNpemUg
ODF4MjEKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA4MXgyMQog
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODE6ICJUZXN0IEJ1dHRvbiIKICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoOTcsOCkgc2l6ZSA0eDIxCiAgICAgICAgIHRleHQg
cnVuIGF0ICg5Nyw4KSB3aWR0aCA0OiAiICIKLSAgICAgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBh
dCAoMTAzLDIpIHNpemUgOTN4MzIgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSNDMEMwQzBdCisg
ICAgICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDEwMywyKSBzaXplIDkzeDMyIFtjb2xvcj0j
RkYwMDAwXSBbYmdjb2xvcj0jRUZFQkU3XQogICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3Vz
KSBhdCAoNiw2KSBzaXplIDgxeDIxCiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgODF4MjEKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDgxOiAi
VGVzdCBCdXR0b24iCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE5OCw4KSBzaXplIDR4
MjEKICAgICAgICAgdGV4dCBydW4gYXQgKDE5OCw4KSB3aWR0aCA0OiAiICIKLSAgICAgIFJlbmRl
ckJ1dHRvbiB7QlVUVE9OfSBhdCAoMjA0LDQpIHNpemUgOTd4MzAgW2JnY29sb3I9IzAwODAwMF0g
W2JvcmRlcjogKDJweCBvdXRzZXQgI0MwQzBDMCldCi0gICAgICAgIFJlbmRlckJsb2NrIChhbm9u
eW1vdXMpIGF0ICg4LDQpIHNpemUgODF4MjEKKyAgICAgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBh
dCAoMjA0LDIpIHNpemUgOTN4MzIgW2NvbG9yPSMxMDEwMTBdIFtiZ2NvbG9yPSMwMDgwMDBdCisg
ICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNpemUgODF4MjEKICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA4MXgyMQogICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODE6ICJUZXN0IEJ1dHRvbiIKLSAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMzAzLDgpIHNpemUgNHgyMQotICAgICAgICB0ZXh0IHJ1biBhdCAoMzAz
LDgpIHdpZHRoIDQ6ICIgIgotICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzMDksNCkg
c2l6ZSA5N3gzMCBbY29sb3I9I0ZGMDAwMF0gW2JnY29sb3I9IzAwODAwMF0gW2JvcmRlcjogKDJw
eCBvdXRzZXQgI0MwQzBDMCldCi0gICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg4
LDQpIHNpemUgODF4MjEKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjk5LDgpIHNpemUg
NHgyMQorICAgICAgICB0ZXh0IHJ1biBhdCAoMjk5LDgpIHdpZHRoIDQ6ICIgIgorICAgICAgUmVu
ZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzMDUsMikgc2l6ZSA5M3gzMiBbY29sb3I9I0ZGMDAwMF0g
W2JnY29sb3I9IzAwODAwMF0KKyAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYs
Nikgc2l6ZSA4MXgyMQogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDgxeDIxCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4MTogIlRlc3QgQnV0
dG9uIgotICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0MDgsOCkgc2l6ZSA0eDIxCi0gICAg
ICAgIHRleHQgcnVuIGF0ICg0MDgsOCkgd2lkdGggNDogIiAiCi0gICAgICBSZW5kZXJCdXR0b24g
e0lOUFVUfSBhdCAoNDE0LDIpIHNpemUgOTN4MzIgW2JnY29sb3I9I0MwQzBDMF0KKyAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoNDAwLDgpIHNpemUgNHgyMQorICAgICAgICB0ZXh0IHJ1biBh
dCAoNDAwLDgpIHdpZHRoIDQ6ICIgIgorICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDQw
NiwyKSBzaXplIDkzeDMyIFtjb2xvcj0jMTAxMDEwXSBbYmdjb2xvcj0jRUZFQkU3XQogICAgICAg
ICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2KSBzaXplIDgxeDIxCiAgICAgICAgICAg
UmVuZGVyVGV4dCBhdCAoMCwwKSBzaXplIDgxeDIxCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwwKSB3aWR0aCA4MTogIlRlc3QgQnV0dG9uIgotICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICg1MDksOCkgc2l6ZSA0eDIxCi0gICAgICAgIHRleHQgcnVuIGF0ICg1MDksOCkgd2lkdGggNDog
IiAiCi0gICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoNTE1LDIpIHNpemUgOTN4MzIgW2Nv
bG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSNDMEMwQzBdCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDUwMSw4KSBzaXplIDR4MjEKKyAgICAgICAgdGV4dCBydW4gYXQgKDUwMSw4KSB3aWR0aCA0
OiAiICIKKyAgICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICg1MDcsMikgc2l6ZSA5M3gzMiBb
Y29sb3I9I0ZGMDAwMF0gW2JnY29sb3I9I0VGRUJFN10KICAgICAgICAgUmVuZGVyQmxvY2sgKGFu
b255bW91cykgYXQgKDYsNikgc2l6ZSA4MXgyMQogICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAs
MCkgc2l6ZSA4MXgyMQogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODE6ICJU
ZXN0IEJ1dHRvbiIKLSAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNjEwLDgpIHNpemUgNHgy
MQotICAgICAgICB0ZXh0IHJ1biBhdCAoNjEwLDgpIHdpZHRoIDQ6ICIgIgotICAgICAgUmVuZGVy
QnV0dG9uIHtJTlBVVH0gYXQgKDYxNiw0KSBzaXplIDk3eDMwIFtiZ2NvbG9yPSMwMDgwMDBdIFti
b3JkZXI6ICgycHggb3V0c2V0ICNDMEMwQzApXQotICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnlt
b3VzKSBhdCAoOCw0KSBzaXplIDgxeDIxCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDYw
Miw4KSBzaXplIDR4MjEKKyAgICAgICAgdGV4dCBydW4gYXQgKDYwMiw4KSB3aWR0aCA0OiAiICIK
KyAgICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICg2MDgsMikgc2l6ZSA5M3gzMiBbY29sb3I9
IzEwMTAxMF0gW2JnY29sb3I9IzAwODAwMF0KKyAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91
cykgYXQgKDYsNikgc2l6ZSA4MXgyMQogICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6
ZSA4MXgyMQogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODE6ICJUZXN0IEJ1
dHRvbiIKLSAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNzE1LDgpIHNpemUgNHgyMQotICAg
ICAgICB0ZXh0IHJ1biBhdCAoNzE1LDgpIHdpZHRoIDQ6ICIgIgotICAgICAgUmVuZGVyQnV0dG9u
IHtJTlBVVH0gYXQgKDIsMzgpIHNpemUgOTd4MzAgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSMw
MDgwMDBdIFtib3JkZXI6ICgycHggb3V0c2V0ICNDMEMwQzApXQotICAgICAgICBSZW5kZXJCbG9j
ayAoYW5vbnltb3VzKSBhdCAoOCw0KSBzaXplIDgxeDIxCisgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDcwMyw4KSBzaXplIDR4MjEKKyAgICAgICAgdGV4dCBydW4gYXQgKDcwMyw4KSB3aWR0
aCA0OiAiICIKKyAgICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgyLDM4KSBzaXplIDkzeDMy
IFtjb2xvcj0jRkYwMDAwXSBbYmdjb2xvcj0jMDA4MDAwXQorICAgICAgICBSZW5kZXJCbG9jayAo
YW5vbnltb3VzKSBhdCAoNiw2KSBzaXplIDgxeDIxCiAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAo
MCwwKSBzaXplIDgxeDIxCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4MTog
IlRlc3QgQnV0dG9uIgogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgw
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL2lzaW5kZXgtcGxhY2Vo
b2xkZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0
L2Zhc3QvZm9ybXMvaXNpbmRleC1wbGFjZWhvbGRlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDUw
NzgzKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9pc2luZGV4LXBsYWNl
aG9sZGVyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTksNyArMTksNyBAQCBsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykg
YXQgKDAsMTApIHNpemUgNzg0eDMxCiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDUpIHNpemUgMzY0eDIxCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1KSB3aWR0aCAzNjQ6
ICJUaGlzIGlzIGEgc2VhcmNoYWJsZSBpbmRleC4gRW50ZXIgc2VhcmNoIGtleXdvcmRzOiAiCi0g
ICAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lTSU5ERVh9IGF0ICgzNjYsMikgc2l6ZSAxNzV4
MjcKKyAgICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2NiwyKSBzaXpl
IDE3NXgyNyBbYmdjb2xvcj0jRkZGRkZGXQogICAgICAgICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgw
LDQ5KSBzaXplIDc4NHgyIFtib3JkZXI6ICgxcHggaW5zZXQgIzAwMDAwMCldCiAgICAgICBSZW5k
ZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxMjUpIHNpemUgNzg0eDIxCiAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI2OHgyMQpAQCAtMjksNyArMjksNyBAQCBsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykg
YXQgKDAsMTApIHNpemUgNzg0eDMxCiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDUpIHNpemUgMzY0eDIxCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1KSB3aWR0aCAzNjQ6
ICJUaGlzIGlzIGEgc2VhcmNoYWJsZSBpbmRleC4gRW50ZXIgc2VhcmNoIGtleXdvcmRzOiAiCi0g
ICAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lTSU5ERVh9IGF0ICgzNjYsMikgc2l6ZSAxNzV4
MjcKKyAgICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2NiwyKSBzaXpl
IDE3NXgyNyBbYmdjb2xvcj0jRkZGRkZGXQogICAgICAgICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgw
LDQ5KSBzaXplIDc4NHgyIFtib3JkZXI6ICgxcHggaW5zZXQgIzAwMDAwMCldCiBsYXllciBhdCAo
Mzc2LDg5KSBzaXplIDE3MXgyMQogICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwzKSBzaXplIDE3
MXgyMSBbY29sb3I9I0E5QTlBOV0KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3Qv
Zm9ybXMvbWVudWxpc3Qtc3R5bGUtY29sb3ItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvbWVudWxpc3Qtc3R5bGUtY29sb3ItZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA1MDc4MykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zh
c3QvZm9ybXMvbWVudWxpc3Qtc3R5bGUtY29sb3ItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC0zLDI2ICszLDI2IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKLSAgICAg
IFJlbmRlck1lbnVMaXN0IHtTRUxFQ1R9IGF0ICgyLDIpIHNpemUgODN4MjcgW2JnY29sb3I9I0ZG
RkZGRl0KKyAgICAgIFJlbmRlck1lbnVMaXN0IHtTRUxFQ1R9IGF0ICgyLDIpIHNpemUgODN4Mjcg
W2JnY29sb3I9I0VGRUJFN10KICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDgs
NCkgc2l6ZSA1MXgyMQogICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSA1MXgyMQog
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNTE6ICJEZWZhdWx0IgogICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICg4Nyw2KSBzaXplIDR4MjEKICAgICAgICAgdGV4dCBydW4g
YXQgKDg3LDYpIHdpZHRoIDQ6ICIgIgotICAgICAgUmVuZGVyTWVudUxpc3Qge1NFTEVDVH0gYXQg
KDkzLDIpIHNpemUgNzR4MjcgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSNGRkZGRkZdCisgICAg
ICBSZW5kZXJNZW51TGlzdCB7U0VMRUNUfSBhdCAoOTMsMikgc2l6ZSA3NHgyNyBbY29sb3I9I0ZG
MDAwMF0gW2JnY29sb3I9I0VGRUJFN10KICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykg
YXQgKDgsNCkgc2l6ZSA0MngyMQogICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSAz
MHgyMQogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzA6ICJSZWQiCiAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE2OSw2KSBzaXplIDR4MjEKICAgICAgICAgdGV4dCBy
dW4gYXQgKDE2OSw2KSB3aWR0aCA0OiAiICIKLSAgICAgIFJlbmRlck1lbnVMaXN0IHtTRUxFQ1R9
IGF0ICgxNzUsMykgc2l6ZSAxNTJ4MjUgW2JnY29sb3I9IzAwODAwMF0gW2JvcmRlcjogKDFweCBz
b2xpZCAjMDAwMDAwKV0KLSAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDksMykg
c2l6ZSAxMTh4MjEKKyAgICAgIFJlbmRlck1lbnVMaXN0IHtTRUxFQ1R9IGF0ICgxNzUsMikgc2l6
ZSAxNTB4MjcgW2JnY29sb3I9IzAwODAwMF0KKyAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91
cykgYXQgKDgsNCkgc2l6ZSAxMTh4MjEKICAgICAgICAgICBSZW5kZXJUZXh0IGF0ICgwLDApIHNp
emUgMTE4eDIxCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMTg6ICJEZWZh
dWx0IG9uIGdyZWVuIgotICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzMjksNikgc2l6ZSA0
eDIxCi0gICAgICAgIHRleHQgcnVuIGF0ICgzMjksNikgd2lkdGggNDogIiAiCi0gICAgICBSZW5k
ZXJNZW51TGlzdCB7U0VMRUNUfSBhdCAoMzM1LDMpIHNpemUgMTMxeDI1IFtjb2xvcj0jRkYwMDAw
XSBbYmdjb2xvcj0jMDA4MDAwXSBbYm9yZGVyOiAoMXB4IHNvbGlkICNGRjAwMDApXQotICAgICAg
ICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoOSwzKSBzaXplIDk3eDIxCisgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDMyNyw2KSBzaXplIDR4MjEKKyAgICAgICAgdGV4dCBydW4gYXQg
KDMyNyw2KSB3aWR0aCA0OiAiICIKKyAgICAgIFJlbmRlck1lbnVMaXN0IHtTRUxFQ1R9IGF0ICgz
MzMsMikgc2l6ZSAxMjl4MjcgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSMwMDgwMDBdCisgICAg
ICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg4LDQpIHNpemUgOTd4MjEKICAgICAgICAg
ICBSZW5kZXJUZXh0IGF0ICgwLDApIHNpemUgOTd4MjEKICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDk3OiAiUmVkIG9uIGdyZWVuIgogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zv
cm1zL3RleHQtc3R5bGUtY29sb3ItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dC1zdHlsZS1jb2xvci1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDUwNzgzKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90
ZXh0LXN0eWxlLWNvbG9yLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTEsNyArMTEs
NyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgUmVuZGVyQmxvY2sgKGFu
b255bW91cykgYXQgKDAsMTApIHNpemUgNzg0eDMxCiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDUpIHNpemUgMzY0eDIxCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1KSB3
aWR0aCAzNjQ6ICJUaGlzIGlzIGEgc2VhcmNoYWJsZSBpbmRleC4gRW50ZXIgc2VhcmNoIGtleXdv
cmRzOiAiCi0gICAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lTSU5ERVh9IGF0ICgzNjYsMikg
c2l6ZSAxNzV4MjcKKyAgICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2
NiwyKSBzaXplIDE3NXgyNyBbYmdjb2xvcj0jRkZGRkZGXQogICAgICAgICBSZW5kZXJCbG9jayB7
SFJ9IGF0ICgwLDQ5KSBzaXplIDc4NHgyIFtib3JkZXI6ICgxcHggaW5zZXQgIzAwMDAwMCldCiAg
ICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCw4OCkgc2l6ZSA3ODR4MjEKICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTYyeDIxCkBAIC0yMSw3ICsyMSw3
IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICBSZW5kZXJCbG9jayAoYW5v
bnltb3VzKSBhdCAoMCwxMCkgc2l6ZSA3ODR4MzEKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsNSkgc2l6ZSAzNjR4MjEKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDUpIHdp
ZHRoIDM2NDogIlRoaXMgaXMgYSBzZWFyY2hhYmxlIGluZGV4LiBFbnRlciBzZWFyY2gga2V5d29y
ZHM6ICIKLSAgICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2NiwyKSBz
aXplIDE3NXgyNyBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7
SVNJTkRFWH0gYXQgKDM2NiwyKSBzaXplIDE3NXgyNyBbY29sb3I9I0ZGMDAwMF0gW2JnY29sb3I9
I0ZGRkZGRl0KICAgICAgICAgUmVuZGVyQmxvY2sge0hSfSBhdCAoMCw0OSkgc2l6ZSA3ODR4MiBb
Ym9yZGVyOiAoMXB4IGluc2V0ICMwMDAwMDApXQogICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91
cykgYXQgKDAsMTc2KSBzaXplIDc4NHgyMQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAyMzd4MjEKQEAgLTMxLDcgKzMxLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCiAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDEwKSBzaXplIDc4
NHgzMQogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw1KSBzaXplIDM2NHgyMQog
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNSkgd2lkdGggMzY0OiAiVGhpcyBpcyBhIHNlYXJj
aGFibGUgaW5kZXguIEVudGVyIHNlYXJjaCBrZXl3b3JkczogIgotICAgICAgICAgIFJlbmRlclRl
eHRDb250cm9sIHtJU0lOREVYfSBhdCAoMzY2LDIpIHNpemUgMTc3eDI3IFtiZ2NvbG9yPSMwMDgw
MDBdIFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCisgICAgICAgICAgUmVuZGVyVGV4dENv
bnRyb2wge0lTSU5ERVh9IGF0ICgzNjYsMikgc2l6ZSAxNzV4MjcgW2JnY29sb3I9IzAwODAwMF0K
ICAgICAgICAgUmVuZGVyQmxvY2sge0hSfSBhdCAoMCw0OSkgc2l6ZSA3ODR4MiBbYm9yZGVyOiAo
MXB4IGluc2V0ICMwMDAwMDApXQogICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAs
MjY0KSBzaXplIDc4NHgyMQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAyMzJ4MjEKQEAgLTQxLDE5ICs0MSwxOSBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTApIHNpemUgNzg0eDMxCiAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMzY0eDIxCiAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCw1KSB3aWR0aCAzNjQ6ICJUaGlzIGlzIGEgc2VhcmNoYWJsZSBp
bmRleC4gRW50ZXIgc2VhcmNoIGtleXdvcmRzOiAiCi0gICAgICAgICAgUmVuZGVyVGV4dENvbnRy
b2wge0lTSU5ERVh9IGF0ICgzNjYsMikgc2l6ZSAxNzd4MjcgW2NvbG9yPSNGRjAwMDBdIFtiZ2Nv
bG9yPSMwMDgwMDBdIFtib3JkZXI6ICgycHggaW5zZXQgI0ZGMDAwMCldCisgICAgICAgICAgUmVu
ZGVyVGV4dENvbnRyb2wge0lTSU5ERVh9IGF0ICgzNjYsMikgc2l6ZSAxNzV4MjcgW2NvbG9yPSNG
RjAwMDBdIFtiZ2NvbG9yPSMwMDgwMDBdCiAgICAgICAgIFJlbmRlckJsb2NrIHtIUn0gYXQgKDAs
NDkpIHNpemUgNzg0eDIgW2JvcmRlcjogKDFweCBpbnNldCAjMDAwMDAwKV0KICAgICAgIFJlbmRl
ckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDM1Mikgc2l6ZSA3ODR4MzEKLSAgICAgICAgUmVuZGVy
VGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiwyKSBzaXplIDE3NXgyNworICAgICAgICBSZW5kZXJU
ZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyLDIpIHNpemUgMTc1eDI3IFtiZ2NvbG9yPSNGRkZGRkZd
CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTc5LDUpIHNpemUgNHgyMQogICAgICAg
ICAgIHRleHQgcnVuIGF0ICgxNzksNSkgd2lkdGggNDogIiAiCi0gICAgICAgIFJlbmRlclRleHRD
b250cm9sIHtJTlBVVH0gYXQgKDE4NSwyKSBzaXplIDE3NXgyNyBbY29sb3I9I0ZGMDAwMF0KKyAg
ICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMTg1LDIpIHNpemUgMTc1eDI3IFtj
b2xvcj0jRkYwMDAwXSBbYmdjb2xvcj0jRkZGRkZGXQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDM2Miw1KSBzaXplIDR4MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzYyLDUpIHdp
ZHRoIDQ6ICIgIgotICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgzNjgsMikg
c2l6ZSAxNzd4MjcgW2JnY29sb3I9IzAwODAwMF0gW2JvcmRlcjogKDJweCBpbnNldCAjMDAwMDAw
KV0KLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1NDcsNSkgc2l6ZSA0eDIxCi0gICAg
ICAgICAgdGV4dCBydW4gYXQgKDU0Nyw1KSB3aWR0aCA0OiAiICIKLSAgICAgICAgUmVuZGVyVGV4
dENvbnRyb2wge0lOUFVUfSBhdCAoNTUzLDIpIHNpemUgMTc3eDI3IFtjb2xvcj0jRkYwMDAwXSBb
Ymdjb2xvcj0jMDA4MDAwXSBbYm9yZGVyOiAoMnB4IGluc2V0ICNGRjAwMDApXQorICAgICAgICBS
ZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgzNjgsMikgc2l6ZSAxNzV4MjcgW2JnY29sb3I9
IzAwODAwMF0KKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1NDUsNSkgc2l6ZSA0eDIx
CisgICAgICAgICAgdGV4dCBydW4gYXQgKDU0NSw1KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVu
ZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoNTUxLDIpIHNpemUgMTc1eDI3IFtjb2xvcj0jRkYw
MDAwXSBbYmdjb2xvcj0jMDA4MDAwXQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAweDAKIGxheWVyIGF0ICgzNzYsNTIpIHNpemUgMTcxeDIxCiAgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgyLDMpIHNpemUgMTcxeDIxCkBAIC02MywxMiArNjMsMTIgQEAgbGF5ZXIgYXQg
KDM3NiwxNDApIHNpemUgMTcxeDIxCiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDMpIHNpemUg
MTcxeDIxCiAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDApIHNpemUgMjN4MjEKICAgICAg
IHRleHQgcnVuIGF0ICgxLDApIHdpZHRoIDIzOiAicmVkIgotbGF5ZXIgYXQgKDM3NywyMjgpIHNp
emUgMTcxeDIxCi0gIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgzLDMpIHNpemUgMTcxeDIxCitsYXll
ciBhdCAoMzc2LDIyOCkgc2l6ZSAxNzF4MjEKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMykg
c2l6ZSAxNzF4MjEKICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMCkgc2l6ZSAxMTV4MjEK
ICAgICAgIHRleHQgcnVuIGF0ICgxLDApIHdpZHRoIDExNTogImRlZmF1bHQgb24gZ3JlZW4iCi1s
YXllciBhdCAoMzc3LDMxNikgc2l6ZSAxNzF4MjEKLSAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDMs
Mykgc2l6ZSAxNzF4MjEKK2xheWVyIGF0ICgzNzYsMzE2KSBzaXplIDE3MXgyMQorICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMiwzKSBzaXplIDE3MXgyMQogICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMSwwKSBzaXplIDkweDIxCiAgICAgICB0ZXh0IHJ1biBhdCAoMSwwKSB3aWR0aCA5MDogInJl
ZCBvbiBncmVlbiIKIGxheWVyIGF0ICgxMiwzNjUpIHNpemUgMTcxeDIxCkBAIC03OSwxMSArNzks
MTEgQEAgbGF5ZXIgYXQgKDE5NSwzNjUpIHNpemUgMTcxeDIxCiAgIFJlbmRlckJsb2NrIHtESVZ9
IGF0ICgyLDMpIHNpemUgMTcxeDIxCiAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDApIHNp
emUgMjN4MjEKICAgICAgIHRleHQgcnVuIGF0ICgxLDApIHdpZHRoIDIzOiAicmVkIgotbGF5ZXIg
YXQgKDM3OSwzNjUpIHNpemUgMTcxeDIxCi0gIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgzLDMpIHNp
emUgMTcxeDIxCitsYXllciBhdCAoMzc4LDM2NSkgc2l6ZSAxNzF4MjEKKyAgUmVuZGVyQmxvY2sg
e0RJVn0gYXQgKDIsMykgc2l6ZSAxNzF4MjEKICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEs
MCkgc2l6ZSAxMTV4MjEKICAgICAgIHRleHQgcnVuIGF0ICgxLDApIHdpZHRoIDExNTogImRlZmF1
bHQgb24gZ3JlZW4iCi1sYXllciBhdCAoNTY0LDM2NSkgc2l6ZSAxNzF4MjEKLSAgUmVuZGVyQmxv
Y2sge0RJVn0gYXQgKDMsMykgc2l6ZSAxNzF4MjEKK2xheWVyIGF0ICg1NjEsMzY1KSBzaXplIDE3
MXgyMQorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwzKSBzaXplIDE3MXgyMQogICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMSwwKSBzaXplIDkweDIxCiAgICAgICB0ZXh0IHJ1biBhdCAoMSww
KSB3aWR0aCA5MDogInJlZCBvbiBncmVlbiIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0
L2Zhc3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItcHNldWRvLXN0eWxlLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRh
cmVhLXBsYWNlaG9sZGVyLXBzZXVkby1zdHlsZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDUwNzgz
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhv
bGRlci1wc2V1ZG8tc3R5bGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNCwyMiAr
MTQsMjIgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgIHRleHQgcnVuIGF0
ICg1NDgsNTEpIHdpZHRoIDQ6ICIgIgogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMHgwCiBsYXllciBhdCAoMTAsMzEpIHNpemUgMTc2eDQyCi0gIFJlbmRlclRleHRDb250
cm9sIHtURVhUQVJFQX0gYXQgKDIsMjMpIHNpemUgMTc2eDQyCisgIFJlbmRlclRleHRDb250cm9s
IHtURVhUQVJFQX0gYXQgKDIsMjMpIHNpemUgMTc2eDQyIFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxNzZ4MjEgW2NvbG9yPSM2NDAwMDBdCiAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyNXgyMQogICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCAyNTogInRleHQiCiBsYXllciBhdCAoMTk0LDMxKSBzaXplIDE3
Nng0MgotICBSZW5kZXJUZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICgxODYsMjMpIHNpemUgMTc2
eDQyCi0gICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxNzZ4MjEgW2NvbG9yPSM2
NDAwMDBdCisgIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDE4NiwyMykgc2l6ZSAx
NzZ4NDIgW2JnY29sb3I9I0ZGRkZGRl0KKyAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBz
aXplIDE3NngyMSBbY29sb3I9I0I4MDAwMF0KICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDkweDIxCiAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDkwOiAiZGlz
YWJsZWQgdGV4dCIKIGxheWVyIGF0ICgzNzgsMzEpIHNpemUgMTc2eDQyCi0gIFJlbmRlclRleHRD
b250cm9sIHtURVhUQVJFQX0gYXQgKDM3MCwyMykgc2l6ZSAxNzZ4NDIKKyAgUmVuZGVyVGV4dENv
bnRyb2wge1RFWFRBUkVBfSBhdCAoMzcwLDIzKSBzaXplIDE3Nng0MiBbYmdjb2xvcj0jRkZGRkZG
XQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIxIFtjb2xvcj0jQTlB
OUE5XQogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDh4MjEKICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNDg6ICJkZWZhdWx0IgogbGF5ZXIgYXQgKDU2Miwz
MSkgc2l6ZSAxNzZ4NDIKLSAgUmVuZGVyVGV4dENvbnRyb2wge1RFWFRBUkVBfSBhdCAoNTU0LDIz
KSBzaXplIDE3Nng0MgotICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIx
IFtjb2xvcj0jNTU1NTU1XQorICBSZW5kZXJUZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICg1NTQs
MjMpIHNpemUgMTc2eDQyIFtiZ2NvbG9yPSNGRkZGRkZdCisgICAgUmVuZGVyQmxvY2sge0RJVn0g
YXQgKDAsMCkgc2l6ZSAxNzZ4MjEgW2NvbG9yPSNBOUE5QTldCiAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAxMTN4MjEKICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lk
dGggMTEzOiAiZGVmYXVsdCBkaXNhYmxlZCIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0
L2Zhc3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItc2V0LWF0dHJpYnV0ZS1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0
YXJlYS1wbGFjZWhvbGRlci1zZXQtYXR0cmlidXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTA3
ODMpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNl
aG9sZGVyLXNldC1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC04LDcg
KzgsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwwKSB3aWR0aCA0ODY6ICJJZiB5b3UgY2FuIHNlZSB0aGUgd29yZCBcIlBsYWNlaG9sZGVy
XCIgaW4gdGhlIHRleHQgYXJlYSwgdGhlbiBhbGwgaXMgd2VsbC4iCiAgICAgICBSZW5kZXJCbG9j
ayB7UH0gYXQgKDAsMzcpIHNpemUgNzg0eDQ2CiBsYXllciBhdCAoMTAsNDcpIHNpemUgMTc2eDQy
Ci0gIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDIsMikgc2l6ZSAxNzZ4NDIKKyAg
UmVuZGVyVGV4dENvbnRyb2wge1RFWFRBUkVBfSBhdCAoMiwyKSBzaXplIDE3Nng0MiBbYmdjb2xv
cj0jRkZGRkZGXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIxIFtj
b2xvcj0jQTlBOUE5XQogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgODZ4
MjEKICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODY6ICJQbGFjZWhvbGRlciIKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xk
ZXItc2V0LXZhbHVlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXNldC12YWx1ZS1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDUwNzgzKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9m
b3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci1zZXQtdmFsdWUtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0xNiw3ICsxNiw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiBsYXllciBhdCAoMTAsNDcpIHNpemUgMTc2
eDQyCi0gIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDIsMikgc2l6ZSAxNzZ4NDIK
KyAgUmVuZGVyVGV4dENvbnRyb2wge1RFWFRBUkVBfSBhdCAoMiwyKSBzaXplIDE3Nng0MiBbYmdj
b2xvcj0jRkZGRkZGXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIx
CiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2MngyMQogICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA2MjogIk5ldyB0ZXh0IgpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvdGFibGVzL21vemlsbGEvYnVncy9idWc5MjY0Ny0yLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC90YWJsZXMvbW96aWxsYS9idWdz
L2J1ZzkyNjQ3LTItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1MDc4MykKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnOTI2NDctMi1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEyLDUgKzEyLDUgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCiAgICAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDIpIHNpemUg
MzZ4NDAKICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDIsMjAp
IHNpemUgNHg0IFtib3JkZXI6ICgxcHggaW5zZXQgIzgwODA4MCldIFtyPTAgYz0wIHJzPTEgY3M9
MV0KICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDgsMikgc2l6
ZSAyMHg0MCBbYm9yZGVyOiAoMXB4IGluc2V0ICM4MDgwODApXSBbcj0wIGM9MSBycz0xIGNzPTFd
Ci0gICAgICAgICAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDQsNCkgc2l6
ZSAxMngzMiBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICAgICAgICAgICAgICAgIFJlbmRlckJ1
dHRvbiB7SU5QVVR9IGF0ICg0LDQpIHNpemUgMTJ4MzIgW2NvbG9yPSMxMDEwMTBdIFtiZ2NvbG9y
PSNFRkVCRTddCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgz
MCwyMCkgc2l6ZSA0eDQgW2JvcmRlcjogKDFweCBpbnNldCAjODA4MDgwKV0gW3I9MCBjPTIgcnM9
MSBjcz0xXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43303</attachid>
            <date>2009-11-16 06:33:13 -0800</date>
            <delta_ts>2009-11-16 09:14:53 -0800</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>patchFor30173-10.patch</filename>
            <type>text/plain</type>
            <size>63542</size>
            <attacher name="Carol Szabo">carol</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MDk0MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNjIgQEAKKzIwMDktMTEtMTMgIENhcm9sIFN6YWJvICA8Y2Fyb2wuc3phYm9Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtRdF0gTWFrZSBpdCBwb3NzaWJsZSB0byBhcHBseSB0aGUgQ1NTIGJhY2tncm91bmQgY29sb3Ig
dG8gdGhlIG5hdGl2ZQorICAgICAgICBwYWludGVkIHdpZGdldHMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDE3MworCisgICAgICAgIFRoaXMgaXMg
YSBiZXN0IGVmZm9ydCBhcHByb2FjaCBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIENTUyAyLjEgc3Bl
YworICAgICAgICAoaHR0cDovL3d3dy53My5vcmcvVFIvQ1NTMi8pIHdoaWNoIGluIHRoZSBjb25m
b3JtYW5jZSBzZWN0aW9uIGxlYXZlcworICAgICAgICB1bmRlZmluZWQgdGhlIHByb3BlcnRpZXMg
dGhhdCBhcHBseSB0byBmb3JtIGNvbnRyb2xzIGFuZCBmcmFtZXMuCisgICAgICAgIENTUyBiYWNr
Z3JvdW5kIGNvbG9yIGRvZXMgbm90IHdvcmsgZm9yIHRoZSBndGsgc3R5bGUsIHdoaWNoIGlnbm9y
ZXMKKyAgICAgICAgdGhlIHBhbGV0dGUgc2V0dGluZ3MgYnkgZGVmYXVsdC4gU29tZSBvdGhlciBz
dHlsZXMgaGF2ZQorICAgICAgICBsaW1pdGF0aW9ucyBvbiB3aGF0IHBhcnRzIG9mIHRoZSBzdHls
ZSBhcmUgY3VzdG9taXphYmxlLCBidXQKKyAgICAgICAgaXQgd29ya3Mgd2l0aCBtb3N0IHN0eWxl
cyBhbmQgd2l0aCB0aG9zZSBzdHlsZXMgd2hlcmUgaXQgZG9lcyBub3QKKyAgICAgICAgdGhlIGxp
bWl0YXRpb25zIGFyZSBoYW5kbGVkIGdhY2VmdWxseS4KKworICAgICAgICAqIHBsYXRmb3JtL3F0
L1FXZWJQb3B1cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpRV2ViUG9wdXA6OnNob3dQb3B1cCk6
CisgICAgICAgIEFkZGVkIGNvZGUgdG8gcmVmbGVjdCBDU1Mgc3R5bGUgaW4gY29udHJvbCBzdHls
aW5nLgorICAgICAgICAqIHBsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGFnZU93bmVyV2lkZ2V0KToKKyAgICAgICAgKFdlYkNv
cmU6OmluaXRQYWxldHRlRnJvbVBhZ2VDbGllbnRJZkV4aXN0cyk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZVF0OjphZGRTdHlsZVRleHRJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3Jl
OjphZGRTdHlsZVRleHRGb3JXaWRnZXQpOgorICAgICAgICBTdXBwb3J0IGZ1bmN0aW9ucworICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6ZXh0cmFEZWZhdWx0U3R5bGVTaGVldCk6Cisg
ICAgICAgIEluaXRpYWxpemUgZGVmYXVsdCBzdHlsZXNoZWV0cyBiYXNlZCBvbiB0aGUgdGhlbWUK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmlzQ29udHJvbFN0eWxlZCk6CisgICAg
ICAgIFNwZWNpYWxpemVkIGZvciBRdCBpbiBvcmRlciB0byBhbGxvdyBhbGwgY29udHJvbHMsIGV2
ZW4gd2hlbiBzdHlsZWQKKyAgICAgICAgdG8gYmUgdGhlbWUgcmVuZGVyZWQuCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjphZGp1c3RDb21tb25RU3R5bGVPcHRpb25zKToKKyAgICAg
ICAgVGhpcyBmdW5jdGlvbiB3YXMgcmVuYW1lZCBmcm9tIGFwcGx5VGhlbWUgYmVjYXVzZSB0aGUg
cHJldmlvdXMgbmFtZSB3YXMKKyAgICAgICAgbm90IGRlc2NyaXB0aXZlIG9mIHdoYXQgdGhlIGZ1
bmN0aW9uIGFjdHVhbGx5IGRpZCwgd2hpY2ggd2FzIChhbmQgCisgICAgICAgIGNvbnRpbnVlcyB0
byBiZSkgdG8gYWRqdXN0IHRoZSBvcHRpb24gc2V0dGluZ3MgYmFzZWQgb24gdGhlIGNvbnRyb2wn
cworICAgICAgICBzdHlsZSBhbmQgc3RhdGUuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZVF0OjpzeXN0ZW1Db2xvcik6CisgICAgICAgIEludHJvZHVjZWQgdG8gYWxsb3cgY3VzdG9taXph
dGlvbiBvZiBidXR0b24gZmFjZSBjb2xvciBhbmQgb3RoZXIgc3lzdGVtIGNvbG9ycyBhY2NvcmRp
bmcgdG8gdGhlIAorICAgICAgICB0aGUgY29udGFpbmVyIHdpZGdldCdzIHBhbGV0dGUgYWJkIFFT
dHlsZVNoZWV0cy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmFkanVzdEJ1dHRv
blN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50QnV0dG9uKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmFkanVzdFRleHRGaWVsZFN0eWxlKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50VGV4dEZpZWxkKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50TWVudUxpc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVRdDo6cGFpbnRNZW51TGlzdEJ1dHRvbik6CisgICAgICAgIE1vZGlm
aWVkIG9ubHkgZHVlIHRvIHJlbmFtaW5nIG9mIHRoZSBhcHBseVRoZW1lIG1ldGhvZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmFkanVzdFRleHRGaWVsZFN0eWxlKToKKyAgICAg
ICAgUmVtb3ZlZCB0aGUgbGluZSB0aGF0IG1ha2VzIHRoZSBiYWNrZ3JvdW5kIHRyYW5zcGFyZW50
IGluIG9yZGVyIHRvIGhhdmUgdGhlIGNvbG9yIGF2YWlsYWJsZSBmb3IKKyAgICAgICAgcGFpbnRp
bmcuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjphZGp1c3RTZWFyY2hGaWVsZFN0
eWxlKToKKyAgICAgICAgQ2hhbmdlZCB0byB1c2UgdGhlIHNhbWUgbG9naWMgYXMgYWRqdXN0VGV4
dEZpZWxkU3R5bGUgc2luY2UgdGhlIHNlYXJjaCBmaWVsZCBmb3IgcXQgaXMgbm90aGluZyBidXQK
KyAgICAgICAgYSB0ZXh0IGZpZWxkIGZvciBub3cuCisgICAgICAgICogcGxhdGZvcm0vcXQvUmVu
ZGVyVGhlbWVRdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6cGFpbnQpOgorICAgICAgICBTaW5jZSB0aGlzIG1l
dGhvZCBpcyBub3QgdmlydHVhbCBJIGhhZCB0byBhZGQgUXQgc3BlY2lmaWMgY2hhbmdlcyBoZXJl
IHRvCisgICAgICAgIGVuYWJsZSByZW5kZXJpbmcgYnkgdGhlIHRoZW1lIG9mIHRleHQgaW5wdXQg
Y29udHJvbHMuIFdoaWNoIGlzIG5lY2Vzc2FyeSBmb3IKKyAgICAgICAgYSBuYXRpdmUgbG9vayBh
bmQgZmVlbC4KKwogMjAwOS0xMS0xMyAgRGlyayBTY2h1bHplICA8a3JpdEB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEd1c3Rhdm8gTm9yb25oYS4KSW5kZXg6IFdlYkNvcmUvcGxh
dGZvcm0vcXQvUVdlYlBvcHVwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3F0
L1FXZWJQb3B1cC5jcHAJKHJldmlzaW9uIDUwNzgzKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9xdC9R
V2ViUG9wdXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw5ICsyMSwxMSBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIlFXZWJQb3B1cC5oIgogI2luY2x1ZGUgIlBvcHVwTWVudVN0
eWxlLmgiCisjaW5jbHVkZSAiUmVuZGVyVGhlbWVRdC5oIgogCiAjaW5jbHVkZSA8UUFic3RyYWN0
SXRlbVZpZXc+CiAjaW5jbHVkZSA8UUFwcGxpY2F0aW9uPgorI2luY2x1ZGUgPFFCeXRlQXJyYXk+
CiAjaW5jbHVkZSA8UUlucHV0Q29udGV4dD4KICNpbmNsdWRlIDxRTW91c2VFdmVudD4KIApAQCAt
NTEsNiArNTMsMjcgQEAgdm9pZCBRV2ViUG9wdXA6OmV4ZWMoKQogdm9pZCBRV2ViUG9wdXA6OnNo
b3dQb3B1cCgpCiB7CiAgICAgUUNvbWJvQm94OjpzaG93UG9wdXAoKTsKKyAgICBQb3B1cE1lbnVT
dHlsZSBzdHlsZSA9IG1fY2xpZW50LT5pdGVtU3R5bGUoMCk7CisgICAgUVBhbGV0dGUgYmFzZVBh
bGV0dGUgPSBwYWxldHRlKCk7CisgICAgUUNvbG9yIGRlZmF1bHRCYXNlQ29sb3IoYmFzZVBhbGV0
dGUuY29sb3IoUVBhbGV0dGU6OkJhc2UpKTsKKyAgICBRQ29sb3IgZGVmYXVsdFRleHRDb2xvcihi
YXNlUGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6VGV4dCkpOworICAgIENvbG9yIGNvbG9yID0gc3R5
bGUuYmFja2dyb3VuZENvbG9yKCk7CisgICAgaWYgKGNvbG9yLmlzVmFsaWQoKSkKKyAgICAgICAg
YmFzZVBhbGV0dGUuc2V0Q29sb3IoUVBhbGV0dGU6OkJhc2UsIGNvbG9yKTsKKyAgICBjb2xvciA9
IHN0eWxlLmZvcmVncm91bmRDb2xvcigpOworICAgIGlmIChjb2xvci5pc1ZhbGlkKCkpCisgICAg
ICAgIGJhc2VQYWxldHRlLnNldENvbG9yKFFQYWxldHRlOjpUZXh0LCBjb2xvcik7CisgICAgc2V0
UGFsZXR0ZShiYXNlUGFsZXR0ZSk7CisgICAgLy8gRklYTUU6IFByb2JhYmx5IGhlcmUgc3BlY2lh
bCBzdHlsZXMgZnJvbSB0aGUgb3B0aW9ucyBzaG91bGQgYmUgdXNlZCBvciBzcGVjaWFsIGRyb3Bk
b3dubGlzdCBhdHRyaWJ1dGVzCisgICAgLy8gZm9yIG5vdyBib3RoIGRyb3Bkb3duIGxpc3RzIGFu
ZCBsaW5lZWRpdCBzaGFyZSB0aGUgc2FtZSBjb2xvcnMuCisgICAgaWYgKFFBYnN0cmFjdEl0ZW1W
aWV3KiBpdGVtVmlldyA9IHZpZXcoKSkgeworICAgICAgICBRQnl0ZUFycmF5IGJ1ZmZlcihpdGVt
Vmlldy0+c3R5bGVTaGVldCgpLnRvQXNjaWkoKSk7CisgICAgICAgIFFDb2xvciBuZXdCYXNlID0g
YmFzZVBhbGV0dGUuY29sb3IoUVBhbGV0dGU6OkJhc2UpOworICAgICAgICBRQ29sb3IgbmV3VGV4
dCA9IGJhc2VQYWxldHRlLmNvbG9yKFFQYWxldHRlOjpUZXh0KTsKKyAgICAgICAgUmVuZGVyVGhl
bWVRdDo6YWRkU3R5bGVUZXh0SWZOZWVkZWQoJm5ld0Jhc2UsIGRlZmF1bHRCYXNlQ29sb3IsICIg
YmFja2dyb3VuZC1jb2xvcjogcmdiYSgiLCAiKTsiLCBidWZmZXIsIGZhbHNlKTsKKyAgICAgICAg
UmVuZGVyVGhlbWVRdDo6YWRkU3R5bGVUZXh0SWZOZWVkZWQoJm5ld1RleHQsIGRlZmF1bHRUZXh0
Q29sb3IsICIgY29sb3I6IHJnYmEoIiwgIik7IiwgYnVmZmVyLCBmYWxzZSk7CisgICAgICAgIGl0
ZW1WaWV3LT5zZXRTdHlsZVNoZWV0KGJ1ZmZlci5jb25zdERhdGEoKSk7CisgICAgfTsKICAgICBt
X3BvcHVwVmlzaWJsZSA9IHRydWU7CiB9CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVu
ZGVyVGhlbWVRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJU
aGVtZVF0LmNwcAkocmV2aXNpb24gNTA3ODMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRl
clRoZW1lUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICszMiw3IEBACiAKICNpbmNsdWRl
ICJDU1NTdHlsZVNlbGVjdG9yLmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVTaGVldC5oIgorI2luY2x1
ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnRRdC5oIgogI2lu
Y2x1ZGUgIkNvbG9yLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKQEAgLTQ5LDEyICs1MCwxOCBA
QAogI2luY2x1ZGUgInF3ZWJwYWdlLmgiCiAKICNpbmNsdWRlIDxRQXBwbGljYXRpb24+CisjaW5j
bHVkZSA8UUNoZWNrQm94PgogI2luY2x1ZGUgPFFDb2xvcj4KKyNpbmNsdWRlIDxRQ29tYm9Cb3g+
CiAjaW5jbHVkZSA8UURlYnVnPgogI2luY2x1ZGUgPFFGaWxlPgogI2luY2x1ZGUgPFFMaW5lRWRp
dD4KKyNpbmNsdWRlIDxRTGlzdFdpZGdldD4KKyNpbmNsdWRlIDxRTWVudT4KICNpbmNsdWRlIDxR
UGFpbnRlcj4KICNpbmNsdWRlIDxRUHVzaEJ1dHRvbj4KKyNpbmNsdWRlIDxRUmFkaW9CdXR0b24+
CisjaW5jbHVkZSA8UVNjcm9sbEJhcj4KICNpbmNsdWRlIDxRU3R5bGVGYWN0b3J5PgogI2luY2x1
ZGUgPFFTdHlsZU9wdGlvbkJ1dHRvbj4KICNpbmNsdWRlIDxRU3R5bGVPcHRpb25GcmFtZVYyPgpA
QCAtNjUsNiArNzIsMzkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2Ug
SFRNTE5hbWVzOwogCitRV2lkZ2V0KiBSZW5kZXJUaGVtZVF0OjpwYWdlT3duZXJXaWRnZXQoKSBj
b25zdAoreworICAgIGlmICghbV9wYWdlKQorICAgICAgICByZXR1cm4gMDsKKyAgICBDaHJvbWUq
IGNocm9tZSA9IG1fcGFnZS0+Y2hyb21lKCk7CisgICAgaWYgKCFjaHJvbWUpCisgICAgICAgIHJl
dHVybiAwOworICAgIENocm9tZUNsaWVudCogY2hyb21lQ2xpZW50ID0gY2hyb21lLT5jbGllbnQo
KTsKKyAgICBpZiAoIWNocm9tZUNsaWVudCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgUVdlYlBh
Z2VDbGllbnQqIHBhZ2VDbGllbnQgPSBjaHJvbWVDbGllbnQtPnBsYXRmb3JtUGFnZUNsaWVudCgp
OworICAgIGlmKCFwYWdlQ2xpZW50KQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gcGFn
ZUNsaWVudC0+b3duZXJXaWRnZXQoKTsKK30KKworc3RhdGljIHZvaWQgaW5pdFBhbGV0dGVGcm9t
UGFnZUNsaWVudElmRXhpc3RzKFFQYWxldHRlICZwYWxldHRlLCBjb25zdCBSZW5kZXJPYmplY3Qg
Km8pCit7CisgICAgLy8gSWYgdGhlIHdlYnZpZXcgaGFzIGEgY3VzdG9tIHBhbGV0dGUsIHVzZSBp
dAorICAgIFBhZ2UqIHBhZ2UgPSBvLT5kb2N1bWVudCgpLT5wYWdlKCk7CisgICAgaWYgKCFwYWdl
KQorICAgICAgICByZXR1cm47CisgICAgQ2hyb21lKiBjaHJvbWUgPSBwYWdlLT5jaHJvbWUoKTsK
KyAgICBpZiAoIWNocm9tZSkKKyAgICAgICAgcmV0dXJuOworICAgIENocm9tZUNsaWVudCogY2hy
b21lQ2xpZW50ID0gY2hyb21lLT5jbGllbnQoKTsKKyAgICBpZiAoIWNocm9tZUNsaWVudCkKKyAg
ICAgICAgcmV0dXJuOworICAgIFFXZWJQYWdlQ2xpZW50KiBwYWdlQ2xpZW50ID0gY2hyb21lQ2xp
ZW50LT5wbGF0Zm9ybVBhZ2VDbGllbnQoKTsKKyAgICBpZiAoIXBhZ2VDbGllbnQpCisgICAgICAg
IHJldHVybjsKKyAgICBwYWxldHRlID0gcGFnZUNsaWVudC0+cGFsZXR0ZSgpOworfQogCiBTdHls
ZVBhaW50ZXI6OlN0eWxlUGFpbnRlcihjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgcGFp
bnRJbmZvKQogewpAQCAtMjA3LDYgKzI0Nyw3NSBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnN1cHBv
cnRzQ29udHJvbFRpbnRzCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3ZvaWQgUmVuZGVyVGhlbWVR
dDo6YWRkU3R5bGVUZXh0SWZOZWVkZWQoY29uc3QgUUNvbG9yKiBjb2xvciwgY29uc3QgUUNvbG9y
JiBkZWZhdWx0Q29sb3IsCisgICAgY29uc3QgY2hhciogcHJlZml4LCBjb25zdCBjaGFyKiBzdWZm
aXgsIFFCeXRlQXJyYXkmIGJ1ZmZlciwgYm9vbCBzY2FsZUFscGhhKQoreworICAgIGlmICgqY29s
b3IgPT0gZGVmYXVsdENvbG9yKQorICAgICAgICByZXR1cm47CisgICAgUUxvY2FsZSBsb2NhbGUo
UUxvY2FsZTo6YygpKTsKKyAgICBidWZmZXIuYXBwZW5kKHByZWZpeCkuYXBwZW5kKGxvY2FsZS50
b1N0cmluZyhjb2xvci0+cmVkKCkpKS5hcHBlbmQoJywnKQorICAgICAgICAuYXBwZW5kKGxvY2Fs
ZS50b1N0cmluZyhjb2xvci0+Z3JlZW4oKSkpLmFwcGVuZCgnLCcpCisgICAgICAgIC5hcHBlbmQo
bG9jYWxlLnRvU3RyaW5nKGNvbG9yLT5ibHVlKCkpKS5hcHBlbmQoJywnKQorICAgICAgICAuYXBw
ZW5kKHNjYWxlQWxwaGEgPyBsb2NhbGUudG9TdHJpbmcoc3RhdGljX2Nhc3Q8ZmxvYXQ+KGNvbG9y
LT5hbHBoYSgpKSAvIDI1NSwgJ2YnLCA0KSA6IGxvY2FsZS50b1N0cmluZyhjb2xvci0+YWxwaGEo
KSkpCisgICAgICAgIC5hcHBlbmQoc3VmZml4KTsKK30KKworLy8gVGhpcyBmdW5jdGlvbiB3YXMg
ZGVzaWduZWQgZm9yIHRoZSBzcGVjaWZpYyBwdXJwb3NlIG9mIHByb2Nlc3Npbmcgc3R5bGVzIAor
Ly8gZm9yIHZhcmlvdXMgd2lkZ2V0IHR5cGVzIGR1cmluZyB0aGUgY2FsbCB0byBSZW5kZXJUaGVt
ZVF0OjpleHRyYURlZmF1bHRTdHlsZVNoZWV0KCkKKy8vIEl0IGRlbGV0ZXMgdGhlIHdpZGdldCBw
YXNzZWQgaW4uCitzdGF0aWMgdm9pZCBhZGRTdHlsZVRleHRGb3JXaWRnZXQoUVdpZGdldCogd2lk
Z2V0LCBRQ29sb3ImIGRlZmF1bHRDb2xvciwgY29uc3QgY2hhciogcHJlZml4LCBjb25zdCBjaGFy
KiBkaXNhYmxlZFByZWZpeCwgUUJ5dGVBcnJheSYgYnVmZmVyKQoreworICAgIHdpZGdldC0+c2V0
QXR0cmlidXRlKFF0OjpXQV9Eb250U2hvd09uU2NyZWVuKTsKKyAgICB3aWRnZXQtPnNob3coKTsK
KyAgICBRUGFsZXR0ZSBwYWxldHRlID0gd2lkZ2V0LT5wYWxldHRlKCk7CisgICAgUVBhbGV0dGU6
OkNvbG9yUm9sZSBjb2xvclJvbGUgPSB3aWRnZXQtPmJhY2tncm91bmRSb2xlKCk7CisgICAgZGVs
ZXRlIHdpZGdldDsKKyAgICBSZW5kZXJUaGVtZVF0OjphZGRTdHlsZVRleHRJZk5lZWRlZCgmcGFs
ZXR0ZS5jb2xvcihRUGFsZXR0ZTo6Tm9ybWFsLCBjb2xvclJvbGUpLCBkZWZhdWx0Q29sb3IsIHBy
ZWZpeCwgICIpO31cclxuIiwgYnVmZmVyLCB0cnVlKTsKKyAgICBSZW5kZXJUaGVtZVF0OjphZGRT
dHlsZVRleHRJZk5lZWRlZCgmcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6RGlzYWJsZWQsIGNvbG9y
Um9sZSksIGRlZmF1bHRDb2xvciwgZGlzYWJsZWRQcmVmaXgsICIpO31cclxuIiwgYnVmZmVyLCB0
cnVlKTsKK30KKworLy8gVGhlc2Ugc3RyaW5ncyBuZWVkIHRvIGJlIGtlcHQgaW4gc3luayB3aXRo
IGh0bWwuY3NzCitzdGF0aWMgY29uc3QgY2hhciBxTGluZUVkaXRTdHlsZVByZWZpeFtdID0gImlu
cHV0Om5vdChbdHlwZV0pLCBpbnB1dFt0eXBlPVwidGV4dFwiXSwgaW5wdXRbdHlwZT1cInBhc3N3
b3JkXCJdLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLCBpbnB1dFt0eXBlPVwiZmlsZVwiXSwgdGV4
dGFyZWEgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCI7CitzdGF0aWMgY29uc3QgY2hhciBxTGlu
ZUVkaXREaXNhYmxlZFN0eWxlUHJlZml4W10gPSAiaW5wdXQ6bm90KFt0eXBlXSk6ZGlzYWJsZWQs
IGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06
ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJm
aWxlXCJdOmRpc2FibGVkLCB0ZXh0YXJlYTpkaXNhYmxlZCB7IGJhY2tncm91bmQtY29sb3I6IHJn
YmEoIjsKK3N0YXRpYyBjb25zdCBjaGFyIHFDaGVja0JveFN0eWxlUHJlZml4W10gPSAiaW5wdXRb
dHlwZT1cImNoZWNrYm94XCJdIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgiOworc3RhdGljIGNv
bnN0IGNoYXIgcUNoZWNrQm94RGlzYWJsZWRTdHlsZVByZWZpeFtdID0gImlucHV0W3R5cGU9XCJj
aGVja2JveFwiXTpkaXNhYmxlZCB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoIjsKK3N0YXRpYyBj
b25zdCBjaGFyIHFSYWRpb0J1dHRvblN0eWxlUHJlZml4W10gPSAiaW5wdXRbdHlwZT1cInJhZGlv
XCJdIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgiOworc3RhdGljIGNvbnN0IGNoYXIgcVJhZGlv
QnV0dG9uRGlzYWJsZWRTdHlsZVByZWZpeFtdID0gImlucHV0W3R5cGU9XCJyYWRpb1wiXTpkaXNh
YmxlZCB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoIjsKK3N0YXRpYyBjb25zdCBjaGFyIHFMaXN0
Qm94U3R5bGVQcmVmaXhbXSA9ICJzZWxlY3Rbc2l6ZV0sIHNlbGVjdFttdWx0aXBsZV0sIHNlbGVj
dFtzaXplXVttdWx0aXBsZV0sIHNlbGVjdFtzaXplXSBvcHRpb24sIHNlbGVjdFttdWx0aXBsZV0g
b3B0aW9uLCBzZWxlY3Rbc2l6ZV1bbXVsdGlwbGVdIG9wdGlvbiAgeyBiYWNrZ3JvdW5kLWNvbG9y
OiByZ2JhKCI7CitzdGF0aWMgY29uc3QgY2hhciBxTGlzdEJveERpc2FibGVkU3R5bGVQcmVmaXhb
XSA9ICJzZWxlY3Rbc2l6ZV06ZGlzYWJsZWQsIHNlbGVjdFttdWx0aXBsZV06ZGlzYWJsZWQsIHNl
bGVjdFtzaXplXVttdWx0aXBsZV06ZGlzYWJsZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCI7
CitzdGF0aWMgY29uc3QgY2hhciBxQ29tYm9Cb3hTdHlsZVByZWZpeFtdID0gInNlbGVjdCwga2V5
Z2VuLCBzZWxlY3Rbc2l6ZT1cIjBcIl0sIHNlbGVjdFtzaXplPVwiMVwiXSB7IGJhY2tncm91bmQt
Y29sb3I6IHJnYmEoIjsKK3N0YXRpYyBjb25zdCBjaGFyIHFDb21ib0JveERpc2FibGVkU3R5bGVQ
cmVmaXhbXSA9ICJzZWxlY3Q6ZGlzYWJsZWQsIGtleWdlbjpkaXNhYmxlZCwgc2VsZWN0W3NpemU9
XCIwXCJdOmRpc2FibGVkLCBzZWxlY3Rbc2l6ZT1cIjFcIl06ZGlzYWJsZWQgeyBiYWNrZ3JvdW5k
LWNvbG9yOiByZ2JhKCI7CisKK1N0cmluZyBSZW5kZXJUaGVtZVF0OjpleHRyYURlZmF1bHRTdHls
ZVNoZWV0KCkKK3sKKyAgICBRQnl0ZUFycmF5IGJ1ZmZlcjsKKyAgICBRQ29sb3IgaW5pdGlhbDsK
KyAgICBRQ29sb3Igd2hpdGUoUXQ6OndoaXRlKTsKKyAgICAvLyB0aGUgbmV3IFFMaW5lRWRpdCBz
aGFsbCBiZSBkZWxldGVkIGJ5IGFkZFN0eWxlVGV4dEZvcldpZGdldAorICAgIGFkZFN0eWxlVGV4
dEZvcldpZGdldChuZXcgUUxpbmVFZGl0KHBhZ2VPd25lcldpZGdldCgpKSwgd2hpdGUsICBxTGlu
ZUVkaXRTdHlsZVByZWZpeCwgcUxpbmVFZGl0RGlzYWJsZWRTdHlsZVByZWZpeCwgYnVmZmVyKTsK
KyAgICAvLyB0aGUgbmV3IFFDaGVja0JveCBzaGFsbCBiZSBkZWxldGVkIGJ5IGFkZFN0eWxlVGV4
dEZvcldpZGdldAorICAgIGFkZFN0eWxlVGV4dEZvcldpZGdldChuZXcgUUNoZWNrQm94KHBhZ2VP
d25lcldpZGdldCgpKSwgaW5pdGlhbCwKKyAgICAgICAgcUNoZWNrQm94U3R5bGVQcmVmaXgsIHFD
aGVja0JveERpc2FibGVkU3R5bGVQcmVmaXgsIGJ1ZmZlcik7CisgICAgLy8gdGhlIG5ldyBRUmFk
aW9CdXR0b24gc2hhbGwgYmUgZGVsZXRlZCBieSBhZGRTdHlsZVRleHRGb3JXaWRnZXQKKyAgICBh
ZGRTdHlsZVRleHRGb3JXaWRnZXQobmV3IFFSYWRpb0J1dHRvbihwYWdlT3duZXJXaWRnZXQoKSks
IGluaXRpYWwsCisgICAgICAgIHFSYWRpb0J1dHRvblN0eWxlUHJlZml4LCBxUmFkaW9CdXR0b25E
aXNhYmxlZFN0eWxlUHJlZml4LCBidWZmZXIpOworICAgIC8vIHRoZSBuZXcgUUNvbWJvQm94IHNo
YWxsIGJlIGRlbGV0ZWQgYnkgYWRkU3R5bGVUZXh0Rm9yV2lkZ2V0CisgICAgYWRkU3R5bGVUZXh0
Rm9yV2lkZ2V0KG5ldyBRQ29tYm9Cb3gocGFnZU93bmVyV2lkZ2V0KCkpLCB3aGl0ZSwKKyAgICAg
ICAgcUNvbWJvQm94U3R5bGVQcmVmaXgsIHFDb21ib0JveERpc2FibGVkU3R5bGVQcmVmaXgsIGJ1
ZmZlcik7CisgICAgLy8gdGhlIG5ldyBRTGlzdFdpZGdldCBzaGFsbCBiZSBkZWxldGVkIGJ5IGFk
ZFN0eWxlVGV4dEZvcldpZGdldAorICAgIGFkZFN0eWxlVGV4dEZvcldpZGdldChuZXcgUUxpc3RX
aWRnZXQocGFnZU93bmVyV2lkZ2V0KCkpLCBpbml0aWFsLAorICAgICAgICBxTGlzdEJveFN0eWxl
UHJlZml4LCBxTGlzdEJveERpc2FibGVkU3R5bGVQcmVmaXgsIGJ1ZmZlcik7CisgICAgcmV0dXJu
IFN0cmluZyhidWZmZXIuY29uc3REYXRhKCkpOworfQorCitib29sIFJlbmRlclRoZW1lUXQ6Omlz
Q29udHJvbFN0eWxlZChjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEJvcmRlckRhdGEm
IGJvcmRlckRhdGEsIGNvbnN0IEZpbGxMYXllciYgZmlsbExheWVyLCBjb25zdCBDb2xvciYgYmFj
a2dyb3VuZENvbG9yKSBjb25zdAoreworICAgIC8vIFF0IHdhbnRzIHRvIHJlbmRlciBhbGwgY29u
dHJvbHMgbmF0aXZlbHkgcmVnYXJkbGVzcyBvZiBDU1Mgc3R5bGluZworICAgIC8vIGJlY2F1c2Ug
bW9zdCBvZiB0aGUgdGltZSBpdCBjYW4gZGVsaXZlciB0aGVtIHByZXR0eSBjbG9zZSB0byB0aGUg
CisgICAgLy8gV2ViIFBhZ2UgYXV0aG9ycyBpbnRlbmRlZCBsb29rLiAKKyAgICByZXR1cm4gZmFs
c2U7Cit9OworCiBzdGF0aWMgaW50IGZpbmRGcmFtZUxpbmVXaWR0aChRU3R5bGUqIHN0eWxlKQog
ewogICAgIFFMaW5lRWRpdCBsaW5lRWRpdDsKQEAgLTI4MSw2ICszOTAsMTM5IEBAIHZvaWQgUmVu
ZGVyVGhlbWVRdDo6c3lzdGVtRm9udChpbnQsIEZvbnQKICAgICAvLyBuby1vcAogfQogCisKK2Vu
dW0geworICAgIE5vcm1hbEluZGV4ID0gMCwKKyAgICBEaXNhYmxlZEluZGV4LAorICAgIENvbnRy
b2xTdGF0ZUNvdW50Cit9IENvbnRyb2xTdGF0ZTsKKworLyogVGhlIGZvbGxvd2luZyB2YXJpYWJs
ZXMgc3RvcmUgdGhlIGRlZmF1bHQgY29sb3JzIGZvciB2YXJpb3VzIHdpZGdldHMKKyAgICAqIEVh
Y2ggb2YgdGhlIHZhcmlhYmxlcyBpcyBhbiBhcnJheSB3aXRoIENvbnRyb2xTdGF0ZUNvdW50IGVs
ZW1lbnRzIC4KKyAgICAqIEVhY2ggb2YgdGhlIGVsZW1lbnRzIGluIHRoZSBhcnJheSBjb250YWlu
cyB0aGUgY29sb3IgZm9yIHRoZSAKKyAgICAqIGNvcnJlc3BvbmRpbmcgc3RhdGUgb2YgdGhlIGNv
bnRyb2wgYXMgaW5kaWNhdGVkIGJ5IHRoZSBDb250cm9sU3RhdGUKKyAgICAqIGVudW1lcmF0aW9u
LgorICAgICovCitzdGF0aWMgUUNvbG9yIGRlZmF1bHRRUHVzaEJ1dHRvbkJhY2tncm91bmRDb2xv
cltDb250cm9sU3RhdGVDb3VudF07CitzdGF0aWMgUUNvbG9yIGRlZmF1bHRRUHVzaEJ1dHRvblRl
eHRDb2xvcltDb250cm9sU3RhdGVDb3VudF07CitzdGF0aWMgUUNvbG9yIGRlZmF1bHRRTWVudUJh
Y2tncm91bmRDb2xvcltDb250cm9sU3RhdGVDb3VudF07CitzdGF0aWMgUUNvbG9yIGRlZmF1bHRR
TWVudVRleHRDb2xvcltDb250cm9sU3RhdGVDb3VudF07CitzdGF0aWMgUUNvbG9yIGRlZmF1bHRR
U2Nyb2xsYmFyQmFja2dyb3VuZENvbG9yW0NvbnRyb2xTdGF0ZUNvdW50XTsKKworLy8gVGhpcyBm
dW5jdGlvbiBpcyBkZXNpZ25lZCBzcGVjaWZpY2FsbHkgdG8gcmVkdWNlIGNvZGUgc2l6ZSBpbiBS
ZW5kZXJUaGVtZVF0OjpzeXN0ZW1Db2xvciwgdGhlcmVmb3JlIGl0IGRvZXMgbm90IGhhdmUgYSBu
aWNlIGludGVyZmFjZQorLy8gSXQgZGVsZXRlcyB0aGUgd2lkZ2V0IHBhc3NlZCBpbi4KK3N0YXRp
YyB2b2lkIHNldFdpZGdldENvbG9ycyhRV2lkZ2V0KiB3aWRnZXQsIFFDb2xvciogYmFja2dyb3Vu
ZENvbG9ycywgUVBhbGV0dGU6OkNvbG9yUm9sZSBiYWNrZ3JvdW5kUm9sZSwgUUNvbG9yKiBmb3Jl
Z3JvdW5kQ29sb3JzLCBRUGFsZXR0ZTo6Q29sb3JSb2xlIGZvcmVncm91bmRSb2xlKQoreworICAg
IHdpZGdldC0+c2V0QXR0cmlidXRlKFF0OjpXQV9Eb250U2hvd09uU2NyZWVuKTsKKyAgICB3aWRn
ZXQtPnNob3coKTsKKyAgICBRUGFsZXR0ZSBwYWxldHRlKHdpZGdldC0+cGFsZXR0ZSgpKTsKKyAg
ICBkZWxldGUgd2lkZ2V0OworICAgIGJhY2tncm91bmRDb2xvcnNbRGlzYWJsZWRJbmRleF0gPSBw
YWxldHRlLmNvbG9yKFFQYWxldHRlOjpEaXNhYmxlZCwgYmFja2dyb3VuZFJvbGUpOworICAgIGJh
Y2tncm91bmRDb2xvcnNbTm9ybWFsSW5kZXhdID0gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6Tm9y
bWFsLCBiYWNrZ3JvdW5kUm9sZSk7CisgICAgaWYgKGZvcmVncm91bmRDb2xvcnMpIHsKKyAgICAg
ICAgZm9yZWdyb3VuZENvbG9yc1tEaXNhYmxlZEluZGV4XSA9IHBhbGV0dGUuY29sb3IoUVBhbGV0
dGU6OkRpc2FibGVkLCBmb3JlZ3JvdW5kUm9sZSk7CisgICAgICAgIGZvcmVncm91bmRDb2xvcnNb
Tm9ybWFsSW5kZXhdID0gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6Tm9ybWFsLCBmb3JlZ3JvdW5k
Um9sZSk7CisgICAgfQorfQorCisvLyBUaGlzIGZ1bmN0aW9uIGlzIGNvcGllZCBmcm9tIFJlbmRl
clRoZW1lLmNwcC5hbmQgdXBkYXRlZCB0byByZXR1cm4gdmFsdWVzIHRoYXQKKy8vIG1hdGNoIHRo
ZSB0aGUgUXQgc3R5bGUgKyBRU3R5bGVTaGVldHMuIFRoZSBoYXJkY29kZWQgY29uc3RhbnRzIGZv
dW5kIGluIHRoZSAKKy8vIGdlbmVyaWMgaW1wbGVtZW50YXRpb24gaGF2ZSBiZWVuIGtlcHQgd2hl
cmUgbm8gUVN0eWxlIG9yIFFQYWxldHRlIGVxdWl2YWxlbnQKKy8vIGNvbG9yIHJvbGUgaGFzIGJl
ZW4gZm91bmQuCitDb2xvciBSZW5kZXJUaGVtZVF0OjpzeXN0ZW1Db2xvcihpbnQgY3NzVmFsdWVJ
ZCkgY29uc3QKK3sKKyAgICBRV2lkZ2V0ICpvd25lcldpZGdldCA9IHBhZ2VPd25lcldpZGdldCgp
OworICAgIFFQYWxldHRlIHBhbGV0dGUob3duZXJXaWRnZXQgPyBvd25lcldpZGdldC0+cGFsZXR0
ZSgpIDogUUFwcGxpY2F0aW9uOjpwYWxldHRlKCkpOworICAgIHN3aXRjaCAoY3NzVmFsdWVJZCkg
eworICAgIGNhc2UgQ1NTVmFsdWVBY3RpdmVib3JkZXI6CisgICAgICAgIHJldHVybiAweEZGRkZG
RkZGOworICAgIGNhc2UgQ1NTVmFsdWVBY3RpdmVjYXB0aW9uOgorICAgICAgICByZXR1cm4gMHhG
RkNDQ0NDQzsKKyAgICBjYXNlIENTU1ZhbHVlQXBwd29ya3NwYWNlOgorICAgICAgICByZXR1cm4g
MHhGRkZGRkZGRjsKKyAgICBjYXNlIENTU1ZhbHVlQmFja2dyb3VuZDoKKyAgICAgICAgcmV0dXJu
IDB4RkY2MzYzQ0U7CisgICAgY2FzZSBDU1NWYWx1ZUJ1dHRvbmZhY2U6CisgICAgICAgIC8vIHVz
ZSB0aGUgY2FjaGVkIHZhbHVlIGlmIHdlIGhhdmUgb25lCisgICAgICAgIGlmICghZGVmYXVsdFFQ
dXNoQnV0dG9uQmFja2dyb3VuZENvbG9yW05vcm1hbEluZGV4XS5pc1ZhbGlkKCkpIHsKKyAgICAg
ICAgICAgIC8vdGhlIG5ldyBRUHVzaEJ1dHRvbiBpcyBkZWxldGVkIGluIHNldFdpZGdldENvbG9y
cygpCisgICAgICAgICAgICBzZXRXaWRnZXRDb2xvcnMoIG5ldyBRUHVzaEJ1dHRvbihwYWdlT3du
ZXJXaWRnZXQoKSksIGRlZmF1bHRRUHVzaEJ1dHRvbkJhY2tncm91bmRDb2xvciwgUVBhbGV0dGU6
OkJ1dHRvbiwgZGVmYXVsdFFQdXNoQnV0dG9uVGV4dENvbG9yLCBRUGFsZXR0ZTo6VGV4dCk7Cisg
ICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGRlZmF1bHRRUHVzaEJ1dHRvbkJhY2tncm91bmRDb2xv
cltOb3JtYWxJbmRleF07CisgICAgY2FzZSBDU1NWYWx1ZUJ1dHRvbmhpZ2hsaWdodDoKKyAgICAg
ICAgcmV0dXJuIHBhbGV0dGUuY29sb3IoUVBhbGV0dGU6OkxpZ2h0KTsKKyAgICBjYXNlIENTU1Zh
bHVlQnV0dG9uc2hhZG93OgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6
U2hhZG93KTsKKyAgICBjYXNlIENTU1ZhbHVlQnV0dG9udGV4dDoKKyAgICAgICAgLy8gdXNlIHRo
ZSBjYWNoZWQgdmFsdWUgaWYgd2UgaGF2ZSBvbmUKKyAgICAgICAgaWYgKCFkZWZhdWx0UVB1c2hC
dXR0b25UZXh0Q29sb3JbTm9ybWFsSW5kZXhdLmlzVmFsaWQoKSkgeworICAgICAgICAgICAgLy90
aGUgbmV3IFFQdXNoQnV0dG9uIGlzIGRlbGV0ZWQgaW4gc2V0V2lkZ2V0Q29sb3JzKCkKKyAgICAg
ICAgICAgIHNldFdpZGdldENvbG9ycyggbmV3IFFQdXNoQnV0dG9uKHBhZ2VPd25lcldpZGdldCgp
KSwgZGVmYXVsdFFQdXNoQnV0dG9uQmFja2dyb3VuZENvbG9yLCBRUGFsZXR0ZTo6QnV0dG9uLCBk
ZWZhdWx0UVB1c2hCdXR0b25UZXh0Q29sb3IsIFFQYWxldHRlOjpUZXh0KTsKKyAgICAgICAgfQor
ICAgICAgICByZXR1cm4gZGVmYXVsdFFQdXNoQnV0dG9uVGV4dENvbG9yW05vcm1hbEluZGV4XTsK
KyAgICBjYXNlIENTU1ZhbHVlQ2FwdGlvbnRleHQ6CisgICAgICAgIHJldHVybiBwYWxldHRlLmNv
bG9yKFFQYWxldHRlOjpXaW5kb3dUZXh0KTsKKyAgICBjYXNlIENTU1ZhbHVlR3JheXRleHQ6Cisg
ICAgICAgIHJldHVybiBwYWxldHRlLmNvbG9yKFFQYWxldHRlOjpEaXNhYmxlZCwgUVBhbGV0dGU6
OlRleHQpOworICAgIGNhc2UgQ1NTVmFsdWVIaWdobGlnaHQ6CisgICAgICAgIHJldHVybiBwYWxl
dHRlLmNvbG9yKFFQYWxldHRlOjpIaWdobGlnaHQpOworICAgIGNhc2UgQ1NTVmFsdWVIaWdobGln
aHR0ZXh0OgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6SGlnaGxpZ2h0
ZWRUZXh0KTsKKyAgICBjYXNlIENTU1ZhbHVlSW5hY3RpdmVib3JkZXI6CisgICAgICAgIHJldHVy
biAweEZGRkZGRkZGOworICAgIGNhc2UgQ1NTVmFsdWVJbmFjdGl2ZWNhcHRpb246CisgICAgICAg
IHJldHVybiAweEZGRkZGRkZGOworICAgIGNhc2UgQ1NTVmFsdWVJbmFjdGl2ZWNhcHRpb250ZXh0
OgorICAgICAgICByZXR1cm4gMHhGRjdGN0Y3RjsKKyAgICBjYXNlIENTU1ZhbHVlSW5mb2JhY2tn
cm91bmQ6CisgICAgICAgIHJldHVybiBwYWxldHRlLmNvbG9yKFFQYWxldHRlOjpJbmFjdGl2ZSwg
UVBhbGV0dGU6OlRvb2xUaXBCYXNlKTsKKyAgICBjYXNlIENTU1ZhbHVlSW5mb3RleHQ6CisgICAg
ICAgIHJldHVybiBwYWxldHRlLmNvbG9yKFFQYWxldHRlOjpJbmFjdGl2ZSwgUVBhbGV0dGU6OlRv
b2xUaXBUZXh0KTsKKyAgICBjYXNlIENTU1ZhbHVlTWVudToKKyAgICAgICAgLy8gdXNlIHRoZSBj
YWNoZWQgdmFsdWUgaWYgd2UgaGF2ZSBvbmUKKyAgICAgICAgaWYgKCFkZWZhdWx0UU1lbnVCYWNr
Z3JvdW5kQ29sb3JbTm9ybWFsSW5kZXhdLmlzVmFsaWQoKSkgeworICAgICAgICAgICAgLy90aGUg
bmV3IFFNZW51IGlzIGRlbGV0ZWQgaW4gc2V0V2lkZ2V0Q29sb3JzKCkKKyAgICAgICAgICAgIHNl
dFdpZGdldENvbG9ycyggbmV3IFFNZW51KHBhZ2VPd25lcldpZGdldCgpKSwgZGVmYXVsdFFNZW51
QmFja2dyb3VuZENvbG9yLCBRUGFsZXR0ZTo6QmFzZSwgZGVmYXVsdFFNZW51VGV4dENvbG9yLCBR
UGFsZXR0ZTo6VGV4dCk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGRlZmF1bHRRTWVudUJh
Y2tncm91bmRDb2xvcltOb3JtYWxJbmRleF07CisgICAgY2FzZSBDU1NWYWx1ZU1lbnV0ZXh0Ogor
ICAgICAgICAvLyB1c2UgdGhlIGNhY2hlZCB2YWx1ZSBpZiB3ZSBoYXZlIG9uZQorICAgICAgICBp
ZiAoIWRlZmF1bHRRTWVudVRleHRDb2xvcltOb3JtYWxJbmRleF0uaXNWYWxpZCgpKSB7CisgICAg
ICAgICAgICAvL3RoZSBuZXcgUU1lbnUgaXMgZGVsZXRlZCBpbiBzZXRXaWRnZXRDb2xvcnMoKQor
ICAgICAgICAgICAgc2V0V2lkZ2V0Q29sb3JzKCBuZXcgUU1lbnUocGFnZU93bmVyV2lkZ2V0KCkp
LCBkZWZhdWx0UU1lbnVCYWNrZ3JvdW5kQ29sb3IsIFFQYWxldHRlOjpCYXNlLCBkZWZhdWx0UU1l
bnVUZXh0Q29sb3IsIFFQYWxldHRlOjpUZXh0KTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4g
ZGVmYXVsdFFNZW51QmFja2dyb3VuZENvbG9yW05vcm1hbEluZGV4XTsKKyAgICBjYXNlIENTU1Zh
bHVlU2Nyb2xsYmFyOgorICAgICAgICAvLyB1c2UgdGhlIGNhY2hlZCB2YWx1ZSBpZiB3ZSBoYXZl
IG9uZQorICAgICAgICBpZiAoIWRlZmF1bHRRU2Nyb2xsYmFyQmFja2dyb3VuZENvbG9yW05vcm1h
bEluZGV4XS5pc1ZhbGlkKCkpIHsKKyAgICAgICAgICAgIC8vdGhlIG5ldyBRU2Nyb2xsQmFyIGlz
IGRlbGV0ZWQgaW4gc2V0V2lkZ2V0Q29sb3JzKCkKKyAgICAgICAgICAgIHNldFdpZGdldENvbG9y
cyggbmV3IFFTY3JvbGxCYXIocGFnZU93bmVyV2lkZ2V0KCkpLCBkZWZhdWx0UVNjcm9sbGJhckJh
Y2tncm91bmRDb2xvciwgUVBhbGV0dGU6OkJhc2UsIDAsIFFQYWxldHRlOjpOb1JvbGUpOworICAg
ICAgICB9CisgICAgICAgIHJldHVybiBkZWZhdWx0UVNjcm9sbGJhckJhY2tncm91bmRDb2xvcltO
b3JtYWxJbmRleF07CisgICAgY2FzZSBDU1NWYWx1ZVRleHQ6CisgICAgICAgIHJldHVybiBwYWxl
dHRlLmNvbG9yKFFQYWxldHRlOjpUZXh0KTsKKyAgICBjYXNlIENTU1ZhbHVlVGhyZWVkZGFya3No
YWRvdzoKKyAgICAgICAgcmV0dXJuIHBhbGV0dGUuY29sb3IoUVBhbGV0dGU6OkRhcmspOworICAg
IGNhc2UgQ1NTVmFsdWVUaHJlZWRmYWNlOgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihR
UGFsZXR0ZTo6QnV0dG9uKTsKKyAgICBjYXNlIENTU1ZhbHVlVGhyZWVkaGlnaGxpZ2h0OgorICAg
ICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6TGlnaHQpOworICAgIGNhc2UgQ1NT
VmFsdWVUaHJlZWRsaWdodHNoYWRvdzoKKyAgICAgICAgcmV0dXJuIHBhbGV0dGUuY29sb3IoUVBh
bGV0dGU6Ok1pZGxpZ2h0KTsKKyAgICBjYXNlIENTU1ZhbHVlVGhyZWVkc2hhZG93OgorICAgICAg
ICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6TWlkKTsKKyAgICBjYXNlIENTU1ZhbHVl
V2luZG93OgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6V2luZG93KTsK
KyAgICBjYXNlIENTU1ZhbHVlV2luZG93ZnJhbWU6CisgICAgICAgIHJldHVybiAweEZGQ0NDQ0ND
OworICAgIGNhc2UgQ1NTVmFsdWVXaW5kb3d0ZXh0OgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5j
b2xvcihRUGFsZXR0ZTo6V2luZG93VGV4dCk7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisgICAgfQorICAgIHJldHVybiBDb2xvcigpOworfQorCiBpbnQgUmVu
ZGVyVGhlbWVRdDo6bWluaW11bU1lbnVMaXN0U2l6ZShSZW5kZXJTdHlsZSopIGNvbnN0CiB7CiAg
ICAgY29uc3QgUUZvbnRNZXRyaWNzICZmbSA9IFFBcHBsaWNhdGlvbjo6Zm9udE1ldHJpY3MoKTsK
QEAgLTQ3Niw3ICs3MTgsNyBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnBhaW50QnV0dG9uKFJlbmRl
ck9iCiAgICAgb3B0aW9uLnJlY3QgPSByOwogICAgIG9wdGlvbi5zdGF0ZSB8PSBRU3R5bGU6OlN0
YXRlX1NtYWxsOwogCi0gICAgQ29udHJvbFBhcnQgYXBwZWFyYW5jZSA9IGFwcGx5VGhlbWUob3B0
aW9uLCBvKTsKKyAgICBDb250cm9sUGFydCBhcHBlYXJhbmNlID0gYWRqdXN0Q29tbW9uUVN0eWxl
T3B0aW9ucyhvcHRpb24sIG8pOwogICAgIGlmIChhcHBlYXJhbmNlID09IFB1c2hCdXR0b25QYXJ0
IHx8IGFwcGVhcmFuY2UgPT0gQnV0dG9uUGFydCkgewogICAgICAgICBvcHRpb24ucmVjdCA9IGlu
ZmxhdGVCdXR0b25SZWN0KG9wdGlvbi5yZWN0LCBxU3R5bGUoKSk7CiAgICAgICAgIHAuZHJhd0Nv
bnRyb2woUVN0eWxlOjpDRV9QdXNoQnV0dG9uLCBvcHRpb24pOwpAQCAtNDkwLDcgKzczMiw2IEBA
IGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRCdXR0b24oUmVuZGVyT2IKIAogdm9pZCBSZW5kZXJU
aGVtZVF0OjphZGp1c3RUZXh0RmllbGRTdHlsZShDU1NTdHlsZVNlbGVjdG9yKiwgUmVuZGVyU3R5
bGUqIHN0eWxlLCBFbGVtZW50KikgY29uc3QKIHsKLSAgICBzdHlsZS0+c2V0QmFja2dyb3VuZENv
bG9yKENvbG9yOjp0cmFuc3BhcmVudCk7CiAgICAgc3R5bGUtPnJlc2V0Qm9yZGVyKCk7CiAgICAg
c3R5bGUtPnJlc2V0UGFkZGluZygpOwogICAgIGNvbXB1dGVTaXplQmFzZWRPblN0eWxlKHN0eWxl
KTsKQEAgLTUxMiw3ICs3NTMsNyBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnBhaW50VGV4dEZpZWxk
KFJlbmRlCiAgICAgcGFuZWwuZmVhdHVyZXMgPSBRU3R5bGVPcHRpb25GcmFtZVYyOjpOb25lOwog
CiAgICAgLy8gR2V0IHRoZSBjb3JyZWN0IHRoZW1lIGRhdGEgZm9yIGEgdGV4dCBmaWVsZAotICAg
IENvbnRyb2xQYXJ0IGFwcGVhcmFuY2UgPSBhcHBseVRoZW1lKHBhbmVsLCBvKTsKKyAgICBDb250
cm9sUGFydCBhcHBlYXJhbmNlID0gYWRqdXN0Q29tbW9uUVN0eWxlT3B0aW9ucyhwYW5lbCwgbyk7
CiAgICAgaWYgKGFwcGVhcmFuY2UgIT0gVGV4dEZpZWxkUGFydAogICAgICAgICAmJiBhcHBlYXJh
bmNlICE9IFNlYXJjaEZpZWxkUGFydAogICAgICAgICAmJiBhcHBlYXJhbmNlICE9IFRleHRBcmVh
UGFydApAQCAtNTc0LDcgKzgxNSw3IEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRNZW51TGlz
dChSZW5kZXIKICAgICBRU3R5bGVPcHRpb25Db21ib0JveCBvcHQ7CiAgICAgaWYgKHAud2lkZ2V0
KQogICAgICAgICBvcHQuaW5pdEZyb20ocC53aWRnZXQpOwotICAgIGFwcGx5VGhlbWUob3B0LCBv
KTsKKyAgICBhZGp1c3RDb21tb25RU3R5bGVPcHRpb25zKG9wdCwgbyk7CiAKICAgICBjb25zdCBR
UG9pbnQgdG9wTGVmdCA9IHIudG9wTGVmdCgpOwogICAgIHAucGFpbnRlci0+dHJhbnNsYXRlKHRv
cExlZnQpOwpAQCAtNjE0LDcgKzg1NSw3IEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRNZW51
TGlzdEJ1dHRvbigKICAgICBRU3R5bGVPcHRpb25Db21ib0JveCBvcHRpb247CiAgICAgaWYgKHAu
d2lkZ2V0KQogICAgICAgICBvcHRpb24uaW5pdEZyb20ocC53aWRnZXQpOwotICAgIGFwcGx5VGhl
bWUob3B0aW9uLCBvKTsKKyAgICBhZGp1c3RDb21tb25RU3R5bGVPcHRpb25zKG9wdGlvbiwgbyk7
CiAgICAgb3B0aW9uLnJlY3QgPSByOwogCiAgICAgLy8gZm9yIGRyYXdpbmcgdGhlIGNvbWJvIGJv
eCBhcnJvdywgcmVseSBvbmx5IG9uIHRoZSBmYWxsYmFjayBzdHlsZQpAQCAtNjUwLDcgKzg5MSw3
IEBAIHZvaWQgUmVuZGVyVGhlbWVRdDo6YWRqdXN0U2VhcmNoRmllbGRTdHkKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbGVtZW50KiBlKSBjb25zdAogewogICAg
IG5vdEltcGxlbWVudGVkKCk7Ci0gICAgUmVuZGVyVGhlbWU6OmFkanVzdFNlYXJjaEZpZWxkU3R5
bGUoc2VsZWN0b3IsIHN0eWxlLCBlKTsKKyAgICBhZGp1c3RUZXh0RmllbGRTdHlsZShzZWxlY3Rv
ciwgc3R5bGUsIGUpOwogfQogCiB2b2lkIFJlbmRlclRoZW1lUXQ6OmFkanVzdFNlYXJjaEZpZWxk
Q2FuY2VsQnV0dG9uU3R5bGUoQ1NTU3R5bGVTZWxlY3Rvciogc2VsZWN0b3IsIFJlbmRlclN0eWxl
KiBzdHlsZSwKQEAgLTcxMiw3ICs5NTMsNyBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnN1cHBvcnRz
Rm9jdXMoQ29udHJvCiAgICAgfQogfQogCi1Db250cm9sUGFydCBSZW5kZXJUaGVtZVF0OjphcHBs
eVRoZW1lKFFTdHlsZU9wdGlvbiYgb3B0aW9uLCBSZW5kZXJPYmplY3QqIG8pIGNvbnN0CitDb250
cm9sUGFydCBSZW5kZXJUaGVtZVF0OjphZGp1c3RDb21tb25RU3R5bGVPcHRpb25zKFFTdHlsZU9w
dGlvbiYgb3B0aW9uLCBSZW5kZXJPYmplY3QqIG8pIGNvbnN0CiB7CiAgICAgLy8gRGVmYXVsdCBi
aXRzOiBubyBmb2N1cywgbm8gbW91c2Ugb3ZlcgogICAgIG9wdGlvbi5zdGF0ZSAmPSB+KFFTdHls
ZTo6U3RhdGVfSGFzRm9jdXMgfCBRU3R5bGU6OlN0YXRlX01vdXNlT3Zlcik7CkBAIC03MjQsMjAg
Kzk2NSwyNiBAQCBDb250cm9sUGFydCBSZW5kZXJUaGVtZVF0OjphcHBseVRoZW1lKFFTCiAgICAg
ICAgIC8vIFJlYWRvbmx5IGlzIHN1cHBvcnRlZCBvbiB0ZXh0ZmllbGRzLgogICAgICAgICBvcHRp
b24uc3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9SZWFkT25seTsKIAotICAgIGlmIChzdXBwb3J0c0Zv
Y3VzKG8tPnN0eWxlKCktPmFwcGVhcmFuY2UoKSkgJiYgaXNGb2N1c2VkKG8pKSB7Ci0gICAgICAg
IG9wdGlvbi5zdGF0ZSB8PSBRU3R5bGU6OlN0YXRlX0hhc0ZvY3VzOwotICAgICAgICBvcHRpb24u
c3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9LZXlib2FyZEZvY3VzQ2hhbmdlOwotICAgIH0KKyAgICBv
cHRpb24uZGlyZWN0aW9uID0gUXQ6OkxlZnRUb1JpZ2h0OwogCiAgICAgaWYgKGlzSG92ZXJlZChv
KSkKICAgICAgICAgb3B0aW9uLnN0YXRlIHw9IFFTdHlsZTo6U3RhdGVfTW91c2VPdmVyOwogCi0g
ICAgb3B0aW9uLmRpcmVjdGlvbiA9IFF0OjpMZWZ0VG9SaWdodDsKLSAgICBpZiAoby0+c3R5bGUo
KSAmJiBvLT5zdHlsZSgpLT5kaXJlY3Rpb24oKSA9PSBXZWJDb3JlOjpSVEwpCi0gICAgICAgIG9w
dGlvbi5kaXJlY3Rpb24gPSBRdDo6UmlnaHRUb0xlZnQ7CisgICAgaW5pdFBhbGV0dGVGcm9tUGFn
ZUNsaWVudElmRXhpc3RzKG9wdGlvbi5wYWxldHRlLCBvKTsKKyAgICBSZW5kZXJTdHlsZSogc3R5
bGUgPSBvLT5zdHlsZSgpOworICAgIGlmICghc3R5bGUpCisgICAgICAgIHJldHVybiBOb0NvbnRy
b2xQYXJ0OwogCi0gICAgQ29udHJvbFBhcnQgcmVzdWx0ID0gby0+c3R5bGUoKS0+YXBwZWFyYW5j
ZSgpOworICAgIENvbnRyb2xQYXJ0IHJlc3VsdCA9IHN0eWxlLT5hcHBlYXJhbmNlKCk7CisgICAg
aWYgKHN1cHBvcnRzRm9jdXMocmVzdWx0KSAmJiBpc0ZvY3VzZWQobykpIHsKKyAgICAgICAgb3B0
aW9uLnN0YXRlIHw9IFFTdHlsZTo6U3RhdGVfSGFzRm9jdXM7CisgICAgICAgIG9wdGlvbi5zdGF0
ZSB8PSBRU3R5bGU6OlN0YXRlX0tleWJvYXJkRm9jdXNDaGFuZ2U7CisgICAgfQogCisgICAgaWYg
KHN0eWxlLT5kaXJlY3Rpb24oKSA9PSBXZWJDb3JlOjpSVEwpCisgICAgICAgIG9wdGlvbi5kaXJl
Y3Rpb24gPSBRdDo6UmlnaHRUb0xlZnQ7CisKKyAgICBRQ29sb3IgYmFja2dyb3VuZENvbG9yID0g
c3R5bGUtPmJhY2tncm91bmRDb2xvcigpOwogICAgIHN3aXRjaCAocmVzdWx0KSB7CiAgICAgY2Fz
ZSBQdXNoQnV0dG9uUGFydDoKICAgICBjYXNlIFNxdWFyZUJ1dHRvblBhcnQ6CkBAIC03NTEsMjAg
Kzk5OCwzMCBAQCBDb250cm9sUGFydCBSZW5kZXJUaGVtZVF0OjphcHBseVRoZW1lKFFTCiAgICAg
ICAgICAgICBvcHRpb24uc3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9TdW5rZW47CiAgICAgICAgIGVs
c2UgaWYgKHJlc3VsdCA9PSBQdXNoQnV0dG9uUGFydCkKICAgICAgICAgICAgIG9wdGlvbi5zdGF0
ZSB8PSBRU3R5bGU6OlN0YXRlX1JhaXNlZDsKKyAgICAgICAgICAgIG9wdGlvbi5wYWxldHRlLnNl
dENvbG9yKFFQYWxldHRlOjpCdXR0b24sIGJhY2tncm91bmRDb2xvcik7CiAgICAgICAgIGJyZWFr
OwogICAgIH0KLSAgICB9Ci0KLSAgICBpZiAocmVzdWx0ID09IFJhZGlvUGFydCB8fCByZXN1bHQg
PT0gQ2hlY2tib3hQYXJ0KQorICAgIGNhc2UgUmFkaW9QYXJ0OgorICAgIGNhc2UgQ2hlY2tib3hQ
YXJ0OgogICAgICAgICBvcHRpb24uc3RhdGUgfD0gKGlzQ2hlY2tlZChvKSA/IFFTdHlsZTo6U3Rh
dGVfT24gOiBRU3R5bGU6OlN0YXRlX09mZik7Ci0KLSAgICAvLyBJZiB0aGUgb3duZXIgd2lkZ2V0
IGhhcyBhIGN1c3RvbSBwYWxldHRlLCB1c2UgaXQKLSAgICBQYWdlKiBwYWdlID0gby0+ZG9jdW1l
bnQoKS0+cGFnZSgpOwotICAgIGlmIChwYWdlKSB7Ci0gICAgICAgIENocm9tZUNsaWVudCogY2xp
ZW50ID0gcGFnZS0+Y2hyb21lKCktPmNsaWVudCgpOwotICAgICAgICBRV2ViUGFnZUNsaWVudCog
cGFnZUNsaWVudCA9IGNsaWVudC0+cGxhdGZvcm1QYWdlQ2xpZW50KCk7Ci0gICAgICAgIGlmIChw
YWdlQ2xpZW50KQotICAgICAgICAgICAgb3B0aW9uLnBhbGV0dGUgPSBwYWdlQ2xpZW50LT5wYWxl
dHRlKCk7CisgICAgY2FzZSBNZW51bGlzdFBhcnQ6CisgICAgICAgIC8vIFdlIGFyZSBzZXR0aW5n
IGhlcmUgYWxsIGJhY2tncm91bmQgY29sb3JzIGJlY2F1c2U6CisgICAgICAgIC8vIDEuIEhUTUwg
ZG9lcyBub3Qgc3VwcG9ydCBtdWx0aXBsZSBiYWNrZ3JvdW5kIGNvbG9ycyBmb3IgdGhlc2UgY29u
dHJvbHMKKyAgICAgICAgLy8gICAgdGh1cyBpdCBtYWtlcyBzZW5zZSB0byByZWR1Y2UgYWxsIGJh
Y2tncm91bmQgY29sb3JzIHRvIG9uZS4KKyAgICAgICAgLy8gMi4gRGlmZmVyZW50IHN0eWxlcyAo
c3VjaCBhcyBtb3RpZiBhbmQgd2luZG93cykgdXNlIGRpZmZlcmVudCBwYWxldHRlCisgICAgICAg
IC8vICAgIGluZGV4ZXMgdG8gcmVuZGVyIHRoZSBjb250cm9sJ3MgYmFja2dyb3VuZAorICAgICAg
ICBvcHRpb24ucGFsZXR0ZS5zZXRDb2xvcihRUGFsZXR0ZTo6QnV0dG9uLCBiYWNrZ3JvdW5kQ29s
b3IpOworICAgICAgICBvcHRpb24ucGFsZXR0ZS5zZXRDb2xvcihRUGFsZXR0ZTo6V2luZG93LCBi
YWNrZ3JvdW5kQ29sb3IpOworICAgICAgICBvcHRpb24ucGFsZXR0ZS5zZXRDb2xvcihRUGFsZXR0
ZTo6QmFzZSwgYmFja2dyb3VuZENvbG9yKTsKKyAgICAgICAgb3B0aW9uLnBhbGV0dGUuc2V0Q29s
b3IoUVBhbGV0dGU6OlRleHQsIHN0eWxlLT5jb2xvcigpKTsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBMaXN0Ym94UGFydDoKKyAgICAgICAgb3B0aW9uLnBhbGV0dGUuc2V0Q29sb3IoUVBhbGV0
dGU6OlRleHQsIHN0eWxlLT5jb2xvcigpKTsKKyAgICBjYXNlIFNlYXJjaEZpZWxkUGFydDoKKyAg
ICBjYXNlIFRleHRGaWVsZFBhcnQ6CisgICAgY2FzZSBUZXh0QXJlYVBhcnQ6CisgICAgICAgIG9w
dGlvbi5wYWxldHRlLnNldENvbG9yKFFQYWxldHRlOjpCYXNlLCBiYWNrZ3JvdW5kQ29sb3IpOwor
ICAgICAgICBicmVhazsKICAgICB9CiAKICAgICByZXR1cm4gcmVzdWx0OwpJbmRleDogV2ViQ29y
ZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0
Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmgJKHJldmlzaW9uIDUwNzgzKQorKysgV2ViQ29yZS9wbGF0
Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDYgKzIyLDcgQEAK
ICNpZm5kZWYgUmVuZGVyVGhlbWVRdF9ICiAjZGVmaW5lIFJlbmRlclRoZW1lUXRfSAogCisjaW5j
bHVkZSAiUVdlYlBhZ2VDbGllbnQuaCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogCiAjaW5j
bHVkZSA8UVN0eWxlPgpAQCAtNDMsNiArNDQsNyBAQCBwcml2YXRlOgogCiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8UmVuZGVyVGhlbWU+IGNyZWF0ZShQYWdlKik7CisgICAgc3RhdGlj
IHZvaWQgYWRkU3R5bGVUZXh0SWZOZWVkZWQoY29uc3QgUUNvbG9yKiBjb2xvciwgY29uc3QgUUNv
bG9yJiBkZWZhdWx0Q29sb3IsIGNvbnN0IGNoYXIqIHByZWZpeCwgY29uc3QgY2hhciogc3VmZml4
LCBRQnl0ZUFycmF5JiBidWZmZXIsIGJvb2wgc2NhbGVBbHBoYSk7CiAKICAgICB2aXJ0dWFsIGJv
b2wgc3VwcG9ydHNIb3Zlcihjb25zdCBSZW5kZXJTdHlsZSopIGNvbnN0OwogICAgIHZpcnR1YWwg
Ym9vbCBzdXBwb3J0c0ZvY3VzUmluZyhjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUpIGNvbnN0OwpA
QCAtNTUsNiArNTcsMTMgQEAgcHVibGljOgogICAgIC8vIEEgZ2VuZXJhbCBtZXRob2QgYXNraW5n
IGlmIGFueSBjb250cm9sIHRpbnRpbmcgaXMgc3VwcG9ydGVkIGF0IGFsbC4KICAgICB2aXJ0dWFs
IGJvb2wgc3VwcG9ydHNDb250cm9sVGludHMoKSBjb25zdDsKIAorICAgIC8qIERldGVybWluZXMg
d2hldGhlciB0aGUgY29udHJvbCBzaG91bGQgYmUgcGFpbnRlZCBieSB0aGUgdGhlbWUgb3Igbm90
CisgICAgICogSWYgdGhpcyBmdW5jdGlvbiByZXR1cm5zIHRydWUgV2ViS2l0IHdpbGwgdHJ5IHRv
IHBhaW50IHRoZSBjb250cm9sIAorICAgICAqIGlmIGl0IGNhbi4gSW4gUXQgd2UgYWx3YXlzIHJl
dHVybiBmYWxzZSB0byBpbmRpY2F0ZSB0aGF0IFF0IHVzIAorICAgICAqIGNhcGFibGUgb2YgcGFp
bnRpbmcgc3R5bGVkIGNvbnRyb2xzLgorICAgICAqLworICAgIHZpcnR1YWwgYm9vbCBpc0NvbnRy
b2xTdHlsZWQoY29uc3QgUmVuZGVyU3R5bGUqLCBjb25zdCBCb3JkZXJEYXRhJiwgY29uc3QgRmls
bExheWVyJiwgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xvcikgY29uc3Q7CisKICAgICB2aXJ0
dWFsIHZvaWQgYWRqdXN0UmVwYWludFJlY3QoY29uc3QgUmVuZGVyT2JqZWN0KiBvLCBJbnRSZWN0
JiByKTsKIAogICAgIC8vIFRoZSBwbGF0Zm9ybSBzZWxlY3Rpb24gY29sb3IuCkBAIC02NCw2ICs3
Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIENvbG9yIHBsYXRmb3JtSW5hY3RpdmVTZWxlY3Rp
b25Gb3JlZ3JvdW5kQ29sb3IoKSBjb25zdDsKIAogICAgIHZpcnR1YWwgdm9pZCBzeXN0ZW1Gb250
KGludCBwcm9wSWQsIEZvbnREZXNjcmlwdGlvbiYpIGNvbnN0OworICAgIHZpcnR1YWwgQ29sb3Ig
c3lzdGVtQ29sb3IoaW50IGNzc1ZhbHVlSWQpIGNvbnN0OwogCiAgICAgdmlydHVhbCBpbnQgbWlu
aW11bU1lbnVMaXN0U2l6ZShSZW5kZXJTdHlsZSopIGNvbnN0OwogCkBAIC03MSw2ICs4MSwxMSBA
QCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGRvdWJsZSBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25z
dDsKIAorCisgICAgLyogVGhlc2UgbWV0aG9kcyByZXR1cm4gdGhlIHRoZW1lJ3MgZXh0cmEgc3R5
bGUgc2hlZXRzIHJ1bGVzLCB0byBsZXQgZWFjaCBwbGF0Zm9ybQorICAgICAqIGFkanVzdCB0aGUg
ZGVmYXVsdCBDU1MgcnVsZXMgaW4gaHRtbC5jc3MsIHF1aXJrcy5jc3MsIG9yIG1lZGlhQ29udHJv
bHMuY3NzCisgICAgICovCisgICAgdmlydHVhbCBTdHJpbmcgZXh0cmFEZWZhdWx0U3R5bGVTaGVl
dCgpOwogI2lmIEVOQUJMRShWSURFTykKICAgICB2aXJ0dWFsIFN0cmluZyBleHRyYU1lZGlhQ29u
dHJvbHNTdHlsZVNoZWV0KCk7CiAjZW5kaWYKQEAgLTExMyw2ICsxMjgsMTEgQEAgcHJvdGVjdGVk
OgogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uU3R5
bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0OwogICAg
IHZpcnR1YWwgYm9vbCBwYWludFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb24oUmVuZGVyT2Jq
ZWN0KiwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CiAK
KyAgICAvKiBHZXRzIG93bmVyIHdpZGdldCBmb3IgbV9wYWdlCisgICAgICogSWYgbV9wYWdlIGlz
IDAgcGFnZU93bmVyV2lkZ2V0IHJldHVybnMgMC4KKyAgICAgKi8KKyAgICBRV2lkZ2V0KiBwYWdl
T3duZXJXaWRnZXQoKSBjb25zdDsKKwogI2lmIEVOQUJMRShWSURFTykKICAgICB2aXJ0dWFsIGJv
b2wgcGFpbnRNZWRpYUZ1bGxzY3JlZW5CdXR0b24oUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVy
T2JqZWN0OjpQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CiAgICAgdmlydHVhbCBib29sIHBh
aW50TWVkaWFQbGF5QnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVjdDo6UGFp
bnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOwpAQCAtMTMyLDcgKzE1Miw3IEBAIHByaXZhdGU6CiBw
cml2YXRlOgogICAgIGJvb2wgc3VwcG9ydHNGb2N1cyhDb250cm9sUGFydCkgY29uc3Q7CiAKLSAg
ICBDb250cm9sUGFydCBhcHBseVRoZW1lKFFTdHlsZU9wdGlvbiYsIFJlbmRlck9iamVjdCopIGNv
bnN0OworICAgIENvbnRyb2xQYXJ0IGFkanVzdENvbW1vblFTdHlsZU9wdGlvbnMoUVN0eWxlT3B0
aW9uJiwgUmVuZGVyT2JqZWN0KikgY29uc3Q7CiAKICAgICB2b2lkIHNldEJ1dHRvblBhZGRpbmco
UmVuZGVyU3R5bGUqKSBjb25zdDsKICAgICB2b2lkIHNldFBvcHVwUGFkZGluZyhSZW5kZXJTdHls
ZSopIGNvbnN0OwpAQCAtMTc4LDYgKzE5OCw2IEBAIHByaXZhdGU6CiAgICAgUV9ESVNBQkxFX0NP
UFkoU3R5bGVQYWludGVyKQogfTsKIAotfQorfSAgLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCShyZXZpc2lvbiA1MDc4MykKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjk4
LDExICsyOTgsMTYgQEAgYm9vbCBSZW5kZXJUaGVtZTo6cGFpbnQoUmVuZGVyT2JqZWN0KiBvLAog
ICAgICAgICAgICAgcmV0dXJuIHBhaW50TWVkaWFDdXJyZW50VGltZShvLCBwYWludEluZm8sIHIp
OwogICAgICAgICBjYXNlIE1lZGlhQ29udHJvbHNCYWNrZ3JvdW5kUGFydDoKICAgICAgICAgICAg
IHJldHVybiBwYWludE1lZGlhQ29udHJvbHNCYWNrZ3JvdW5kKG8sIHBhaW50SW5mbywgcik7Ci0g
ICAgICAgIGNhc2UgTWVudWxpc3RCdXR0b25QYXJ0OgorI2lmIFBMQVRGT1JNKFFUKQogICAgICAg
ICBjYXNlIFRleHRGaWVsZFBhcnQ6CisgICAgICAgICAgICByZXR1cm4gcGFpbnRUZXh0RmllbGQo
bywgcGFpbnRJbmZvLCByKTsKICAgICAgICAgY2FzZSBUZXh0QXJlYVBhcnQ6CisgICAgICAgICAg
ICByZXR1cm4gcGFpbnRUZXh0QXJlYShvLCBwYWludEluZm8sIHIpOworI2Vsc2UKKyAgICAgICAg
Y2FzZSBNZW51bGlzdEJ1dHRvblBhcnQ6CiAgICAgICAgIGNhc2UgTGlzdGJveFBhcnQ6CiAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyNlbmRpZgogICAgICAgICBjYXNlIFNlYXJjaEZpZWxkUGFy
dDoKICAgICAgICAgICAgIHJldHVybiBwYWludFNlYXJjaEZpZWxkKG8sIHBhaW50SW5mbywgcik7
CiAgICAgICAgIGNhc2UgU2VhcmNoRmllbGRDYW5jZWxCdXR0b25QYXJ0OgpJbmRleDogTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2
aXNpb24gNTA5NDMpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwyOCBAQAorMjAwOS0xMS0xMyAgQ2Fyb2wgU3phYm8gIDxjYXJvbC5zemFib0Bub2tp
YS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TmVlZCBhIHNob3J0IGRlc2NyaXB0aW9uIGFuZCBidWcgVVJMIChPT1BTISkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwMTczCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9xdC9jc3MxL2JveF9wcm9wZXJ0aWVzL2FjaWRfdGVzdC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9jc3MvcHNldWRvLWNhY2hlLXN0YWxlLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Nzcy90ZXh0LWlucHV0LXdpdGgtd2Vi
a2l0LWJvcmRlci1yYWRpdXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zh
c3QvZG9tL0hUTUxUYWJsZUNvbEVsZW1lbnQvcmVzaXplLXRhYmxlLXVzaW5nLWNvbC13aWR0aC1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9iYXNpYy1idXR0
b25zLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL2Jhc2lj
LWlucHV0cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9i
dXR0b24tc3R5bGUtY29sb3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zh
c3QvZm9ybXMvaXNpbmRleC1wbGFjZWhvbGRlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vcXQvZmFzdC9mb3Jtcy9tZW51bGlzdC1zdHlsZS1jb2xvci1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0LXN0eWxlLWNvbG9yLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9s
ZGVyLXBzZXVkby1zdHlsZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFz
dC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci1zZXQtYXR0cmlidXRlLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXNl
dC12YWx1ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvdGFibGVzL21vemls
bGEvYnVncy9idWc5MjY0Ny0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgQ2hhbmdlZCB0aGVzZSB0
ZXN0cyB0byBhY2NvbW9kYXRlIHRoZSBuYXRpdmUgY29sb3JzIHRoYXQgYXJlIG5vdyByZWZsZWN0
ZWQKKyAgICAgICAgaW4gZGVmYXVsdCBzdHlsZXMuIEFsc28gc29tZWJvcmRlcnMgYXJlIG5vdyBy
ZW5kZXJlZCBuYXRpdmVseSBzbyB0aGV5IGRvIG5vdCBzaG93IHVwCisgICAgICAgIGluIHRoZSBk
dW1wIGFueW1vcmUuCisKIDIwMDktMTEtMTMgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBHdXN0YXZvIE5vcm9uaGEuCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9jc3MxL2JveF9wcm9wZXJ0aWVzL2FjaWRfdGVzdC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvY3NzMS9ib3hfcHJvcGVy
dGllcy9hY2lkX3Rlc3QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1MDc4MykKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL3F0L2NzczEvYm94X3Byb3BlcnRpZXMvYWNpZF90ZXN0LWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMjMsMTIgKzIzLDEyIEBAIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDQyMAogICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDEz
OXgxOQogICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDMpIHNpemUg
Mjd4MTMKICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMykgd2lkdGggMjc6ICJi
YW5nICIKLSAgICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtJTlBVVH0gYXQgKDI5LDMpIHNp
emUgMTJ4MTIgW2NvbG9yPSMwMDAwMDBdCisgICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7
SU5QVVR9IGF0ICgyOSwzKSBzaXplIDEyeDEyIFtjb2xvcj0jMDAwMDAwXSBbYmdjb2xvcj0jRUZF
QkU3XQogICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDE5KSBzaXplIDEzOXgx
OQogICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDMpIHNpemUgNDF4
MTMKICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMykgd2lkdGggNDE6ICJ3aGlt
cGVyICIKLSAgICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtJTlBVVH0gYXQgKDQzLDMpIHNp
emUgMTJ4MTIgW2NvbG9yPSMwMDAwMDBdCisgICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7
SU5QVVR9IGF0ICg0MywzKSBzaXplIDEyeDEyIFtjb2xvcj0jMDAwMDAwXSBbYmdjb2xvcj0jRUZF
QkU3XQogICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCiAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgxMCw1OCkgc2l6
ZSAxMzl4MAogICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7Rk9STX0gYXQgKDAsMCkgc2l6
ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvY3NzL3BzZXVkby1jYWNo
ZS1zdGFsZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
cXQvZmFzdC9jc3MvcHNldWRvLWNhY2hlLXN0YWxlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTA3
ODMpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Nzcy9wc2V1ZG8tY2FjaGUtc3Rh
bGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xMiwxNSArMTIsMTUgQEAgbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCw0MSkg
c2l6ZSA3ODR4MjEKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjk4
eDQxCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjk4OiAiVGhpcyBzZW50ZW5j
ZSBzaG91bGQgYmUgZXh0cmEtZXh0cmEtbGFyZ2UuIgotICAgICAgUmVuZGVyQmxvY2sgKGFub255
bW91cykgYXQgKDAsNjIpIHNpemUgNzg0eDMxCi0gICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJ
TlBVVH0gYXQgKDIsMikgc2l6ZSAxNzd4MjcgW2JnY29sb3I9I0ZGRkZGRl0gW2JvcmRlcjogKDJw
eCBpbnNldCAjMDAwMDAwKV0KLSAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMywzKSBz
aXplIDE3MXgyMQorICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsNjIpIHNpemUg
Nzg0eDI1CisgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDIsMikgc2l6ZSAx
NzF4MjEgW2JnY29sb3I9I0ZGRkZGRl0KKyAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MCwwKSBzaXplIDE3MXgyMQogICAgICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMTYp
IHNpemUgMHgwCiAgICAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMTcxLDE2KSBzaXpl
IDB4MAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIgYXQgKDEzLDc1KSBzaXplIDE3MXgy
MQorbGF5ZXIgYXQgKDEwLDcyKSBzaXplIDE3MXgyMQogICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MCwwKSBzaXplIDE3MXgyMSBbY29sb3I9IzAwODAwMF0KICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDEsMCkgc2l6ZSAxNTB4MjEKICAgICAgIHRleHQgcnVuIGF0ICgxLDApIHdpZHRoIDE1MDog
IlRoaXMgc2hvdWxkIGJlIGdyZWVuIgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFz
dC9jc3MvdGV4dC1pbnB1dC13aXRoLXdlYmtpdC1ib3JkZXItcmFkaXVzLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Nzcy90ZXh0LWlucHV0
LXdpdGgtd2Via2l0LWJvcmRlci1yYWRpdXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1MDc4MykK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvY3NzL3RleHQtaW5wdXQtd2l0aC13ZWJr
aXQtYm9yZGVyLXJhZGl1cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE1LDEyICsx
NSwxMiBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHgxNDMKICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgNjgweDIxCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggNjgwOiAiSWYgdGhlIHRlc3QgcGFzc2VzLCB5b3Ugd2lsbCBzZWUgYSB0ZXh0IGVudHJ5
IGZpZWxkIGNvbnRhaW5pbmcgXCJkZWZhdWx0IHRleHRcIiBpbnNpZGUgdGhlIGdyZXkgZGl2IGJl
bG93LiIKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDc0KSBzaXplIDE2M3g0NSBbYmdj
b2xvcj0jODg4ODg4XQotICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgxMSw5
KSBzaXplIDEzM3gyNyBbYmdjb2xvcj0jMDBGRjAwXSBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAw
MDApXQotICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgzLDMpIHNpemUgMTI3eDIxCisg
ICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDExLDkpIHNpemUgMTMzeDIxIFti
Z2NvbG9yPSMwMEZGMDBdCisgICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6
ZSAxMzN4MjEKICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDE2KSBzaXplIDB4
MAotICAgICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEyNywxNikgc2l6ZSAweDAKKyAg
ICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxMzMsMTYpIHNpemUgMHgwCiAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIgYXQgKDIyLDEwMikg
c2l6ZSAxMjd4MjEKLSAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMjd4MjEKK2xh
eWVyIGF0ICgxOSw5OSkgc2l6ZSAxMzN4MjEKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkg
c2l6ZSAxMzN4MjEKICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMCkgc2l6ZSA3N3gyMQog
ICAgICAgdGV4dCBydW4gYXQgKDEsMCkgd2lkdGggNzc6ICJkZWZhdWx0IHRleHQiCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MVGFibGVDb2xFbGVtZW50L3Jlc2l6
ZS10YWJsZS11c2luZy1jb2wtd2lkdGgtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxUYWJsZUNvbEVsZW1lbnQvcmVzaXplLXRh
YmxlLXVzaW5nLWNvbC13aWR0aC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDUwNzgzKQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTFRhYmxlQ29sRWxlbWVudC9yZXNpemUt
dGFibGUtdXNpbmctY29sLXdpZHRoLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzAs
NyArMzAsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgyLDIpIHNpemUgNzd4MjEKICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMiwyKSB3aWR0aCA3NzogImNvbCAzIHJvdyAzIgogICAgICAgUmVuZGVyQmxvY2sg
KGFub255bW91cykgYXQgKDAsNTgpIHNpemUgNzg0eDM2Ci0gICAgICAgIFJlbmRlckJ1dHRvbiB7
QlVUVE9OfSBhdCAoMiwyKSBzaXplIDQ3MHgzMiBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICBS
ZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDIsMikgc2l6ZSA0NzB4MzIgW2NvbG9yPSMxQTFBMUFd
IFtiZ2NvbG9yPSNFRkVCRTddCiAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQg
KDYsNikgc2l6ZSA0NTh4MjEKICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDQ1OHgyMQogICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0NTg6
ICJDbGljayBtZSB0byB0ZXN0IG1hbnVhbGx5LiBUaGUgZmlyc3QgY29sdW1uIHNob3VsZCBncm93
IHRvIDUwMHB4LiIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvYmFz
aWMtYnV0dG9ucy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvZmFzdC9mb3Jtcy9iYXNpYy1idXR0b25zLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTA3
ODMpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL2Jhc2ljLWJ1dHRvbnMt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zNywxNCArMzcsMTQgQEAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4Mzg5CiAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MSwxKSBzaXplIDU4eDIxCiAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGgg
NTg6ICIoZGVmYXVsdCkiCiAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMTg0
LDIzKSBzaXplIDY0eDM4IFtyPTEgYz0xIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVy
QnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUgMjJ4MzIgW2JnY29sb3I9I0MwQzBDMF0KKyAg
ICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUgMjJ4MzIgW2Nv
bG9yPSMxQTFBMUFdIFtiZ2NvbG9yPSNFRkVCRTddCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxv
Y2sgKGFub255bW91cykgYXQgKDYsNikgc2l6ZSAxMHgyMQogICAgICAgICAgICAgICAgICAgUmVu
ZGVySW1hZ2Uge0lNR30gYXQgKDAsNikgc2l6ZSAxMHgxMAogICAgICAgICAgICAgUmVuZGVyVGFi
bGVDZWxsIHtURH0gYXQgKDI0OCwzMCkgc2l6ZSAxNjR4MjMgW3I9MSBjPTIgcnM9MSBjcz0xXQog
ICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxMTJ4MjEKICAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAxMTI6ICIoMzIsIDEyKSAoMzIs
IDEyKSIKICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg0MTIsMjMpIHNpemUg
MTQyeDM4IFtyPTEgYz0zIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtJ
TlBVVH0gYXQgKDMsMykgc2l6ZSAzNHgzMiBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICAgICAg
ICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMywzKSBzaXplIDM0eDMyIFtjb2xvcj0jMUExQTFB
XSBbYmdjb2xvcj0jRUZFQkU3XQogICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1v
dXMpIGF0ICg2LDYpIHNpemUgMjJ4MjEKICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgYXQg
KDAsMCkgc2l6ZSAyMngyMQogICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3
aWR0aCAyMjogImZvbyIKQEAgLTU2LDE0ICs1NiwxNCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgw
MHgzODkKICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgNzV4
MjEKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCA3NTogInBhZGRpbmc6
IDAiCiAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMTg0LDYxKSBzaXplIDY0
eDM4IFtyPTIgYz0xIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtCVVRU
T059IGF0ICgzLDMpIHNpemUgMjJ4MzIgW2JnY29sb3I9I0MwQzBDMF0KKyAgICAgICAgICAgICAg
UmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUgMjJ4MzIgW2NvbG9yPSMxQTFBMUFd
IFtiZ2NvbG9yPSNFRkVCRTddCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91
cykgYXQgKDYsNikgc2l6ZSAxMHgyMQogICAgICAgICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lN
R30gYXQgKDAsNikgc2l6ZSAxMHgxMAogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0g
YXQgKDI0OCw2OCkgc2l6ZSAxNjR4MjMgW3I9MiBjPTIgcnM9MSBjcz0xXQogICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxMTJ4MjEKICAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAxMTI6ICIoMzIsIDEyKSAoMzIsIDEyKSIKICAgICAg
ICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg0MTIsNjEpIHNpemUgMTQyeDM4IFtyPTIg
Yz0zIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDMs
Mykgc2l6ZSAzNHgzMiBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICAgICAgICBSZW5kZXJCdXR0
b24ge0lOUFVUfSBhdCAoMywzKSBzaXplIDM0eDMyIFtjb2xvcj0jMUExQTFBXSBbYmdjb2xvcj0j
RUZFQkU3XQogICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYp
IHNpemUgMjJ4MjEKICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSAy
MngyMQogICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMjogImZv
byIKQEAgLTc1LDE0ICs3NSwxNCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzODkKICAgICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgOTh4MjEKICAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCA5ODogInBhZGRpbmc6IDEwJSIKICAgICAg
ICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgxODQsOTkpIHNpemUgNjR4MzggW3I9MyBj
PTEgcnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDMs
Mykgc2l6ZSAyMngzMiBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICAgICAgICBSZW5kZXJCdXR0
b24ge0JVVFRPTn0gYXQgKDMsMykgc2l6ZSAyMngzMiBbY29sb3I9IzFBMUExQV0gW2JnY29sb3I9
I0VGRUJFN10KICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2
KSBzaXplIDEweDIxCiAgICAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCw2
KSBzaXplIDEweDEwCiAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMjQ4LDEw
Nikgc2l6ZSAxNjR4MjMgW3I9MyBjPTIgcnM9MSBjcz0xXQogICAgICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxMTJ4MjEKICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMSwxKSB3aWR0aCAxMTI6ICIoMzIsIDEyKSAoMzIsIDEyKSIKICAgICAgICAgICAgIFJl
bmRlclRhYmxlQ2VsbCB7VER9IGF0ICg0MTIsOTkpIHNpemUgMTQyeDM4IFtyPTMgYz0zIHJzPTEg
Y3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDMsMykgc2l6ZSAz
NHgzMiBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0lOUFVU
fSBhdCAoMywzKSBzaXplIDM0eDMyIFtjb2xvcj0jMUExQTFBXSBbYmdjb2xvcj0jRUZFQkU3XQog
ICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNpemUgMjJ4
MjEKICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSAyMngyMQogICAg
ICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMjogImZvbyIKQEAgLTk0
LDE0ICs5NCwxNCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzODkKICAgICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgOTJ4MjEKICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCA5MjogInBhZGRpbmc6IDJweCIKICAgICAgICAgICAgIFJl
bmRlclRhYmxlQ2VsbCB7VER9IGF0ICgxODQsMTM3KSBzaXplIDY0eDM4IFtyPTQgYz0xIHJzPTEg
Y3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUg
MjJ4MzIgW2JnY29sb3I9I0MwQzBDMF0KKyAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtCVVRU
T059IGF0ICgzLDMpIHNpemUgMjJ4MzIgW2NvbG9yPSMxQTFBMUFdIFtiZ2NvbG9yPSNFRkVCRTdd
CiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYsNikgc2l6ZSAx
MHgyMQogICAgICAgICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsNikgc2l6ZSAx
MHgxMAogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDI0OCwxNDQpIHNpemUg
MTY0eDIzIFtyPTQgYz0yIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgxLDEpIHNpemUgMTEyeDIxCiAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEs
MSkgd2lkdGggMTEyOiAiKDMyLCAxMikgKDMyLCAxMikiCiAgICAgICAgICAgICBSZW5kZXJUYWJs
ZUNlbGwge1REfSBhdCAoNDEyLDEzNykgc2l6ZSAxNDJ4MzggW3I9NCBjPTMgcnM9MSBjcz0xXQot
ICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMywzKSBzaXplIDM0eDMyIFti
Z2NvbG9yPSNDMEMwQzBdCisgICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgz
LDMpIHNpemUgMzR4MzIgW2NvbG9yPSMxQTFBMUFdIFtiZ2NvbG9yPSNFRkVCRTddCiAgICAgICAg
ICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYsNikgc2l6ZSAyMngyMQogICAg
ICAgICAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBzaXplIDIyeDIxCiAgICAgICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDIyOiAiZm9vIgpAQCAtMTEzLDE0ICsx
MTMsMTQgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4Mzg5CiAgICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDE4MngyMQogICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgxLDEpIHdpZHRoIDE4MjogInBhZGRpbmc6IDJweCA2cHggM3B4IDZweCIKICAgICAg
ICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgxODQsMTc1KSBzaXplIDY0eDM4IFtyPTUg
Yz0xIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgz
LDMpIHNpemUgMjJ4MzIgW2JnY29sb3I9I0MwQzBDMF0KKyAgICAgICAgICAgICAgUmVuZGVyQnV0
dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUgMjJ4MzIgW2NvbG9yPSMxQTFBMUFdIFtiZ2NvbG9y
PSNFRkVCRTddCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYs
Nikgc2l6ZSAxMHgyMQogICAgICAgICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAs
Nikgc2l6ZSAxMHgxMAogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDI0OCwx
ODIpIHNpemUgMTY0eDIzIFtyPTUgYz0yIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMTEyeDIxCiAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDEsMSkgd2lkdGggMTEyOiAiKDMyLCAxMikgKDMyLCAxMikiCiAgICAgICAgICAgICBS
ZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNDEyLDE3NSkgc2l6ZSAxNDJ4MzggW3I9NSBjPTMgcnM9
MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMywzKSBzaXpl
IDM0eDMyIFtiZ2NvbG9yPSNDMEMwQzBdCisgICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7SU5Q
VVR9IGF0ICgzLDMpIHNpemUgMzR4MzIgW2NvbG9yPSMxQTFBMUFdIFtiZ2NvbG9yPSNFRkVCRTdd
CiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYsNikgc2l6ZSAy
MngyMQogICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBzaXplIDIyeDIxCiAg
ICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDIyOiAiZm9vIgpAQCAt
MTMyLDE0ICsxMzIsMTQgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4Mzg5CiAgICAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDEyMngyMQogICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDEyMjogInBhZGRpbmc6IDNweCA3cHgiCiAgICAg
ICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMTg0LDIxMykgc2l6ZSA2NHgzOCBbcj02
IGM9MSBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAo
MywzKSBzaXplIDIyeDMyIFtiZ2NvbG9yPSNDMEMwQzBdCisgICAgICAgICAgICAgIFJlbmRlckJ1
dHRvbiB7QlVUVE9OfSBhdCAoMywzKSBzaXplIDIyeDMyIFtjb2xvcj0jMUExQTFBXSBbYmdjb2xv
cj0jRUZFQkU3XQogICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2
LDYpIHNpemUgMTB4MjEKICAgICAgICAgICAgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgw
LDYpIHNpemUgMTB4MTAKICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgyNDgs
MjIwKSBzaXplIDE2NHgyMyBbcj02IGM9MiBycz0xIGNzPTFdCiAgICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDExMngyMQogICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgxLDEpIHdpZHRoIDExMjogIigzMiwgMTIpICgzMiwgMTIpIgogICAgICAgICAgICAg
UmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDQxMiwyMTMpIHNpemUgMTQyeDM4IFtyPTYgYz0zIHJz
PTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDMsMykgc2l6
ZSAzNHgzMiBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0lO
UFVUfSBhdCAoMywzKSBzaXplIDM0eDMyIFtjb2xvcj0jMUExQTFBXSBbYmdjb2xvcj0jRUZFQkU3
XQogICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNpemUg
MjJ4MjEKICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSAyMngyMQog
ICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMjogImZvbyIKQEAg
LTE1MSwxNCArMTUxLDE0IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDM4OQogICAgICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxMDF4MjEKICAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAxMDE6ICJwYWRkaW5nOiAyMHB4IgogICAgICAg
ICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDE4NCwyNTEpIHNpemUgNjR4MzggW3I9NyBj
PTEgcnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDMs
Mykgc2l6ZSAyMngzMiBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICAgICAgICBSZW5kZXJCdXR0
b24ge0JVVFRPTn0gYXQgKDMsMykgc2l6ZSAyMngzMiBbY29sb3I9IzFBMUExQV0gW2JnY29sb3I9
I0VGRUJFN10KICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2
KSBzaXplIDEweDIxCiAgICAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCw2
KSBzaXplIDEweDEwCiAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMjQ4LDI1
OCkgc2l6ZSAxNjR4MjMgW3I9NyBjPTIgcnM9MSBjcz0xXQogICAgICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxMTJ4MjEKICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMSwxKSB3aWR0aCAxMTI6ICIoMzIsIDEyKSAoMzIsIDEyKSIKICAgICAgICAgICAgIFJl
bmRlclRhYmxlQ2VsbCB7VER9IGF0ICg0MTIsMjUxKSBzaXplIDE0MngzOCBbcj03IGM9MyBycz0x
IGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgzLDMpIHNpemUg
MzR4MzIgW2JnY29sb3I9I0MwQzBDMF0KKyAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtJTlBV
VH0gYXQgKDMsMykgc2l6ZSAzNHgzMiBbY29sb3I9IzFBMUExQV0gW2JnY29sb3I9I0VGRUJFN10K
ICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2KSBzaXplIDIy
eDIxCiAgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IGF0ICgwLDApIHNpemUgMjJ4MjEKICAg
ICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjI6ICJmb28iCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL2Jhc2ljLWlucHV0cy1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9i
YXNpYy1pbnB1dHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1MDc4MykKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvYmFzaWMtaW5wdXRzLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMzUsMzUgKzM1LDM1IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAog
ICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEwLDM2Nykgc2l6ZSA0NTB4NjQgW2JvcmRlcjog
KDFweCBzb2xpZCAjRkYwMDAwKV0KICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDYp
IHNpemUgOXgyMQogICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDYpIHdpZHRoIDk6ICJhIgotICAg
ICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgxMiwzKSBzaXplIDE3NXgyNworICAg
ICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgxMiwzKSBzaXplIDE3NXgyNyBbYmdj
b2xvcj0jRkZGRkZGXQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE4OSw2KSBzaXpl
IDI5eDIxCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDE4OSw2KSB3aWR0aCAyOTogInRleHQgIgot
ICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyMjAsMykgc2l6ZSAxNzV4MjcK
KyAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMjIwLDMpIHNpemUgMTc1eDI3
IFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzk3LDYp
IHNpemUgMjJ4MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzk3LDYpIHdpZHRoIDEzOiAiYiAi
CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDQxMCw2KSB3aWR0aCA5OiAiYSIKLSAgICAgICAgUmVu
ZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMywzNCkgc2l6ZSAxNzV4MjcKKyAgICAgICAgUmVu
ZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMywzNCkgc2l6ZSAxNzV4MjcgW2JnY29sb3I9I0ZG
RkZGRl0KICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxODAsMzcpIHNpemUgNzN4MjEK
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTgwLDM3KSB3aWR0aCA3MzogInBhc3N3b3JkICIKLSAg
ICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMjU1LDM0KSBzaXplIDE3NXgyNwor
ICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyNTUsMzQpIHNpemUgMTc1eDI3
IFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNDMyLDM3
KSBzaXplIDl4MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDMyLDM3KSB3aWR0aCA5OiAiYiIK
ICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxMCw0NDEpIHNpemUgNDUweDIzIFtib3JkZXI6
ICgxcHggc29saWQgI0ZGMDAwMCldCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwx
KSBzaXplIDl4MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCA5OiAiYSIKLSAg
ICAgICAgUmVuZGVyQmxvY2sge0lOUFVUfSBhdCAoMTQsNikgc2l6ZSAxM3gxMworICAgICAgICBS
ZW5kZXJCbG9jayB7SU5QVVR9IGF0ICgxNCw2KSBzaXplIDEzeDEzIFtiZ2NvbG9yPSNFRkVCRTdd
CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzEsMSkgc2l6ZSA3MngyMQogICAgICAg
ICAgIHRleHQgcnVuIGF0ICgzMSwxKSB3aWR0aCA3MjogImNoZWNrYm94ICIKLSAgICAgICAgUmVu
ZGVyQmxvY2sge0lOUFVUfSBhdCAoMTA3LDYpIHNpemUgMTN4MTMKKyAgICAgICAgUmVuZGVyQmxv
Y2sge0lOUFVUfSBhdCAoMTA3LDYpIHNpemUgMTN4MTMgW2JnY29sb3I9I0VGRUJFN10KICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMjQsMSkgc2l6ZSA5eDIxCiAgICAgICAgICAgdGV4
dCBydW4gYXQgKDEyNCwxKSB3aWR0aCA5OiAiYiIKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICgxMCw0NzQpIHNpemUgNDUweDIzIFtib3JkZXI6ICgxcHggc29saWQgI0ZGMDAwMCldCiAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDl4MjEKICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMSwxKSB3aWR0aCA5OiAiYSIKLSAgICAgICAgUmVuZGVyQmxvY2sge0lOUFVUfSBh
dCAoMTQsNykgc2l6ZSAxMngxMgorICAgICAgICBSZW5kZXJCbG9jayB7SU5QVVR9IGF0ICgxNCw3
KSBzaXplIDEyeDEyIFtiZ2NvbG9yPSNFRkVCRTddCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMzAsMSkgc2l6ZSA0MHgyMQogICAgICAgICAgIHRleHQgcnVuIGF0ICgzMCwxKSB3aWR0
aCA0MDogInJhZGlvICIKLSAgICAgICAgUmVuZGVyQmxvY2sge0lOUFVUfSBhdCAoNzQsNykgc2l6
ZSAxMngxMgorICAgICAgICBSZW5kZXJCbG9jayB7SU5QVVR9IGF0ICg3NCw3KSBzaXplIDEyeDEy
IFtiZ2NvbG9yPSNFRkVCRTddCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoOTAsMSkg
c2l6ZSA5eDIxCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDkwLDEpIHdpZHRoIDk6ICJiIgogbGF5
ZXIgYXQgKDMyLDM4MSkgc2l6ZSAxNzF4MjEgc2Nyb2xsV2lkdGggMjE1CkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL2J1dHRvbi1zdHlsZS1jb2xvci1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9idXR0
b24tc3R5bGUtY29sb3ItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1MDc4MykKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvYnV0dG9uLXN0eWxlLWNvbG9yLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMyw1MCArMyw1MCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJCbG9jayB7SFRNTH0g
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6
ZSA3ODR4NTg0Ci0gICAgICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDIsMikgc2l6ZSA5M3gz
MiBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgyLDIp
IHNpemUgOTN4MzIgW2NvbG9yPSMxQTFBMUFdIFtiZ2NvbG9yPSNFRkVCRTddCiAgICAgICAgIFJl
bmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNpemUgODF4MjEKICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA4MXgyMQogICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMCkgd2lkdGggODE6ICJUZXN0IEJ1dHRvbiIKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoOTcsOCkgc2l6ZSA0eDIxCiAgICAgICAgIHRleHQgcnVuIGF0ICg5Nyw4KSB3aWR0aCA0
OiAiICIKLSAgICAgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMTAzLDIpIHNpemUgOTN4MzIg
W2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSNDMEMwQzBdCisgICAgICBSZW5kZXJCdXR0b24ge0JV
VFRPTn0gYXQgKDEwMywyKSBzaXplIDkzeDMyIFtjb2xvcj0jRkYwMDAwXSBbYmdjb2xvcj0jRUZF
QkU3XQogICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2KSBzaXplIDgxeDIx
CiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgODF4MjEKICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDgxOiAiVGVzdCBCdXR0b24iCiAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE5OCw4KSBzaXplIDR4MjEKICAgICAgICAgdGV4dCBydW4g
YXQgKDE5OCw4KSB3aWR0aCA0OiAiICIKLSAgICAgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAo
MjA0LDQpIHNpemUgOTd4MzAgW2JnY29sb3I9IzAwODAwMF0gW2JvcmRlcjogKDJweCBvdXRzZXQg
I0MwQzBDMCldCi0gICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg4LDQpIHNpemUg
ODF4MjEKKyAgICAgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMjA0LDIpIHNpemUgOTN4MzIg
W2NvbG9yPSMxQTFBMUFdIFtiZ2NvbG9yPSMwMDgwMDBdCisgICAgICAgIFJlbmRlckJsb2NrIChh
bm9ueW1vdXMpIGF0ICg2LDYpIHNpemUgODF4MjEKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSA4MXgyMQogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lk
dGggODE6ICJUZXN0IEJ1dHRvbiIKLSAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzAzLDgp
IHNpemUgNHgyMQotICAgICAgICB0ZXh0IHJ1biBhdCAoMzAzLDgpIHdpZHRoIDQ6ICIgIgotICAg
ICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzMDksNCkgc2l6ZSA5N3gzMCBbY29sb3I9I0ZG
MDAwMF0gW2JnY29sb3I9IzAwODAwMF0gW2JvcmRlcjogKDJweCBvdXRzZXQgI0MwQzBDMCldCi0g
ICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg4LDQpIHNpemUgODF4MjEKKyAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjk5LDgpIHNpemUgNHgyMQorICAgICAgICB0ZXh0IHJ1
biBhdCAoMjk5LDgpIHdpZHRoIDQ6ICIgIgorICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0
ICgzMDUsMikgc2l6ZSA5M3gzMiBbY29sb3I9I0ZGMDAwMF0gW2JnY29sb3I9IzAwODAwMF0KKyAg
ICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYsNikgc2l6ZSA4MXgyMQogICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDgxeDIxCiAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4MTogIlRlc3QgQnV0dG9uIgotICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICg0MDgsOCkgc2l6ZSA0eDIxCi0gICAgICAgIHRleHQgcnVuIGF0ICg0MDgs
OCkgd2lkdGggNDogIiAiCi0gICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoNDE0LDIpIHNp
emUgOTN4MzIgW2JnY29sb3I9I0MwQzBDMF0KKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
NDAwLDgpIHNpemUgNHgyMQorICAgICAgICB0ZXh0IHJ1biBhdCAoNDAwLDgpIHdpZHRoIDQ6ICIg
IgorICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDQwNiwyKSBzaXplIDkzeDMyIFtjb2xv
cj0jMUExQTFBXSBbYmdjb2xvcj0jRUZFQkU3XQogICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnlt
b3VzKSBhdCAoNiw2KSBzaXplIDgxeDIxCiAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBz
aXplIDgxeDIxCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4MTogIlRlc3Qg
QnV0dG9uIgotICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1MDksOCkgc2l6ZSA0eDIxCi0g
ICAgICAgIHRleHQgcnVuIGF0ICg1MDksOCkgd2lkdGggNDogIiAiCi0gICAgICBSZW5kZXJCdXR0
b24ge0lOUFVUfSBhdCAoNTE1LDIpIHNpemUgOTN4MzIgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9y
PSNDMEMwQzBdCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDUwMSw4KSBzaXplIDR4MjEK
KyAgICAgICAgdGV4dCBydW4gYXQgKDUwMSw4KSB3aWR0aCA0OiAiICIKKyAgICAgIFJlbmRlckJ1
dHRvbiB7SU5QVVR9IGF0ICg1MDcsMikgc2l6ZSA5M3gzMiBbY29sb3I9I0ZGMDAwMF0gW2JnY29s
b3I9I0VGRUJFN10KICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYsNikgc2l6
ZSA4MXgyMQogICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSA4MXgyMQogICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODE6ICJUZXN0IEJ1dHRvbiIKLSAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoNjEwLDgpIHNpemUgNHgyMQotICAgICAgICB0ZXh0IHJ1biBh
dCAoNjEwLDgpIHdpZHRoIDQ6ICIgIgotICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDYx
Niw0KSBzaXplIDk3eDMwIFtiZ2NvbG9yPSMwMDgwMDBdIFtib3JkZXI6ICgycHggb3V0c2V0ICND
MEMwQzApXQotICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoOCw0KSBzaXplIDgx
eDIxCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDYwMiw4KSBzaXplIDR4MjEKKyAgICAg
ICAgdGV4dCBydW4gYXQgKDYwMiw4KSB3aWR0aCA0OiAiICIKKyAgICAgIFJlbmRlckJ1dHRvbiB7
SU5QVVR9IGF0ICg2MDgsMikgc2l6ZSA5M3gzMiBbY29sb3I9IzFBMUExQV0gW2JnY29sb3I9IzAw
ODAwMF0KKyAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYsNikgc2l6ZSA4MXgy
MQogICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSA4MXgyMQogICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODE6ICJUZXN0IEJ1dHRvbiIKLSAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoNzE1LDgpIHNpemUgNHgyMQotICAgICAgICB0ZXh0IHJ1biBhdCAoNzE1
LDgpIHdpZHRoIDQ6ICIgIgotICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDIsMzgpIHNp
emUgOTd4MzAgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSMwMDgwMDBdIFtib3JkZXI6ICgycHgg
b3V0c2V0ICNDMEMwQzApXQotICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoOCw0
KSBzaXplIDgxeDIxCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcwMyw4KSBzaXplIDR4
MjEKKyAgICAgICAgdGV4dCBydW4gYXQgKDcwMyw4KSB3aWR0aCA0OiAiICIKKyAgICAgIFJlbmRl
ckJ1dHRvbiB7SU5QVVR9IGF0ICgyLDM4KSBzaXplIDkzeDMyIFtjb2xvcj0jRkYwMDAwXSBbYmdj
b2xvcj0jMDA4MDAwXQorICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2KSBz
aXplIDgxeDIxCiAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBzaXplIDgxeDIxCiAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4MTogIlRlc3QgQnV0dG9uIgogICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL2lzaW5kZXgtcGxhY2Vob2xkZXItZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvaXNpbmRleC1w
bGFjZWhvbGRlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDUwNzgzKQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9pc2luZGV4LXBsYWNlaG9sZGVyLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMTksNyArMTksNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTApIHNpemUgNzg0eDMx
CiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMzY0eDIxCiAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1KSB3aWR0aCAzNjQ6ICJUaGlzIGlzIGEgc2VhcmNoYWJs
ZSBpbmRleC4gRW50ZXIgc2VhcmNoIGtleXdvcmRzOiAiCi0gICAgICAgICAgUmVuZGVyVGV4dENv
bnRyb2wge0lTSU5ERVh9IGF0ICgzNjYsMikgc2l6ZSAxNzV4MjcKKyAgICAgICAgICBSZW5kZXJU
ZXh0Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2NiwyKSBzaXplIDE3NXgyNyBbYmdjb2xvcj0jRkZG
RkZGXQogICAgICAgICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDQ5KSBzaXplIDc4NHgyIFtib3Jk
ZXI6ICgxcHggaW5zZXQgIzAwMDAwMCldCiAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBh
dCAoMCwxMjUpIHNpemUgNzg0eDIxCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDI2OHgyMQpAQCAtMjksNyArMjksNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTApIHNpemUgNzg0eDMx
CiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMzY0eDIxCiAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1KSB3aWR0aCAzNjQ6ICJUaGlzIGlzIGEgc2VhcmNoYWJs
ZSBpbmRleC4gRW50ZXIgc2VhcmNoIGtleXdvcmRzOiAiCi0gICAgICAgICAgUmVuZGVyVGV4dENv
bnRyb2wge0lTSU5ERVh9IGF0ICgzNjYsMikgc2l6ZSAxNzV4MjcKKyAgICAgICAgICBSZW5kZXJU
ZXh0Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2NiwyKSBzaXplIDE3NXgyNyBbYmdjb2xvcj0jRkZG
RkZGXQogICAgICAgICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDQ5KSBzaXplIDc4NHgyIFtib3Jk
ZXI6ICgxcHggaW5zZXQgIzAwMDAwMCldCiBsYXllciBhdCAoMzc2LDg5KSBzaXplIDE3MXgyMQog
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwzKSBzaXplIDE3MXgyMSBbY29sb3I9I0E5QTlBOV0K
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvbWVudWxpc3Qtc3R5bGUt
Y29sb3ItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0
L2Zhc3QvZm9ybXMvbWVudWxpc3Qtc3R5bGUtY29sb3ItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1
MDc4MykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvbWVudWxpc3Qtc3R5
bGUtY29sb3ItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zLDI2ICszLDI2IEBAIGxh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAg
IFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICBSZW5kZXJCb2R5
IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKLSAgICAgIFJlbmRlck1lbnVMaXN0IHtTRUxF
Q1R9IGF0ICgyLDIpIHNpemUgODN4MjcgW2JnY29sb3I9I0ZGRkZGRl0KKyAgICAgIFJlbmRlck1l
bnVMaXN0IHtTRUxFQ1R9IGF0ICgyLDIpIHNpemUgODN4MjcgW2JnY29sb3I9I0VGRUJFN10KICAg
ICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDgsNCkgc2l6ZSA1MXgyMQogICAgICAg
ICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSA1MXgyMQogICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMCkgd2lkdGggNTE6ICJEZWZhdWx0IgogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICg4Nyw2KSBzaXplIDR4MjEKICAgICAgICAgdGV4dCBydW4gYXQgKDg3LDYpIHdpZHRoIDQ6ICIg
IgotICAgICAgUmVuZGVyTWVudUxpc3Qge1NFTEVDVH0gYXQgKDkzLDIpIHNpemUgNzR4MjcgW2Nv
bG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSNGRkZGRkZdCisgICAgICBSZW5kZXJNZW51TGlzdCB7U0VM
RUNUfSBhdCAoOTMsMikgc2l6ZSA3NHgyNyBbY29sb3I9I0ZGMDAwMF0gW2JnY29sb3I9I0VGRUJF
N10KICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDgsNCkgc2l6ZSA0MngyMQog
ICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSAzMHgyMQogICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggMzA6ICJSZWQiCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDE2OSw2KSBzaXplIDR4MjEKICAgICAgICAgdGV4dCBydW4gYXQgKDE2OSw2KSB3aWR0aCA0
OiAiICIKLSAgICAgIFJlbmRlck1lbnVMaXN0IHtTRUxFQ1R9IGF0ICgxNzUsMykgc2l6ZSAxNTJ4
MjUgW2JnY29sb3I9IzAwODAwMF0gW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KLSAgICAg
ICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDksMykgc2l6ZSAxMTh4MjEKKyAgICAgIFJl
bmRlck1lbnVMaXN0IHtTRUxFQ1R9IGF0ICgxNzUsMikgc2l6ZSAxNTB4MjcgW2JnY29sb3I9IzAw
ODAwMF0KKyAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDgsNCkgc2l6ZSAxMTh4
MjEKICAgICAgICAgICBSZW5kZXJUZXh0IGF0ICgwLDApIHNpemUgMTE4eDIxCiAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMTg6ICJEZWZhdWx0IG9uIGdyZWVuIgotICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzMjksNikgc2l6ZSA0eDIxCi0gICAgICAgIHRleHQgcnVu
IGF0ICgzMjksNikgd2lkdGggNDogIiAiCi0gICAgICBSZW5kZXJNZW51TGlzdCB7U0VMRUNUfSBh
dCAoMzM1LDMpIHNpemUgMTMxeDI1IFtjb2xvcj0jRkYwMDAwXSBbYmdjb2xvcj0jMDA4MDAwXSBb
Ym9yZGVyOiAoMXB4IHNvbGlkICNGRjAwMDApXQotICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnlt
b3VzKSBhdCAoOSwzKSBzaXplIDk3eDIxCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMy
Nyw2KSBzaXplIDR4MjEKKyAgICAgICAgdGV4dCBydW4gYXQgKDMyNyw2KSB3aWR0aCA0OiAiICIK
KyAgICAgIFJlbmRlck1lbnVMaXN0IHtTRUxFQ1R9IGF0ICgzMzMsMikgc2l6ZSAxMjl4MjcgW2Nv
bG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSMwMDgwMDBdCisgICAgICAgIFJlbmRlckJsb2NrIChhbm9u
eW1vdXMpIGF0ICg4LDQpIHNpemUgOTd4MjEKICAgICAgICAgICBSZW5kZXJUZXh0IGF0ICgwLDAp
IHNpemUgOTd4MjEKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDk3OiAiUmVk
IG9uIGdyZWVuIgogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHQtc3R5bGUtY29sb3It
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3Qv
Zm9ybXMvdGV4dC1zdHlsZS1jb2xvci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDUwNzgzKQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0LXN0eWxlLWNvbG9yLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTEsNyArMTEsNyBAQCBsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTApIHNp
emUgNzg0eDMxCiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMzY0
eDIxCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1KSB3aWR0aCAzNjQ6ICJUaGlzIGlzIGEg
c2VhcmNoYWJsZSBpbmRleC4gRW50ZXIgc2VhcmNoIGtleXdvcmRzOiAiCi0gICAgICAgICAgUmVu
ZGVyVGV4dENvbnRyb2wge0lTSU5ERVh9IGF0ICgzNjYsMikgc2l6ZSAxNzV4MjcKKyAgICAgICAg
ICBSZW5kZXJUZXh0Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2NiwyKSBzaXplIDE3NXgyNyBbYmdj
b2xvcj0jRkZGRkZGXQogICAgICAgICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDQ5KSBzaXplIDc4
NHgyIFtib3JkZXI6ICgxcHggaW5zZXQgIzAwMDAwMCldCiAgICAgICBSZW5kZXJCbG9jayAoYW5v
bnltb3VzKSBhdCAoMCw4OCkgc2l6ZSA3ODR4MjEKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMTYyeDIxCkBAIC0yMSw3ICsyMSw3IEBAIGxheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAogICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxMCkgc2l6
ZSA3ODR4MzEKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNSkgc2l6ZSAzNjR4
MjEKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDUpIHdpZHRoIDM2NDogIlRoaXMgaXMgYSBz
ZWFyY2hhYmxlIGluZGV4LiBFbnRlciBzZWFyY2gga2V5d29yZHM6ICIKLSAgICAgICAgICBSZW5k
ZXJUZXh0Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2NiwyKSBzaXplIDE3NXgyNyBbY29sb3I9I0ZG
MDAwMF0KKyAgICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2NiwyKSBz
aXplIDE3NXgyNyBbY29sb3I9I0ZGMDAwMF0gW2JnY29sb3I9I0ZGRkZGRl0KICAgICAgICAgUmVu
ZGVyQmxvY2sge0hSfSBhdCAoMCw0OSkgc2l6ZSA3ODR4MiBbYm9yZGVyOiAoMXB4IGluc2V0ICMw
MDAwMDApXQogICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTc2KSBzaXplIDc4
NHgyMQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyMzd4MjEKQEAg
LTMxLDcgKzMxLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgIFJlbmRl
ckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDEwKSBzaXplIDc4NHgzMQogICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCw1KSBzaXplIDM2NHgyMQogICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsNSkgd2lkdGggMzY0OiAiVGhpcyBpcyBhIHNlYXJjaGFibGUgaW5kZXguIEVudGVyIHNl
YXJjaCBrZXl3b3JkczogIgotICAgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJU0lOREVYfSBh
dCAoMzY2LDIpIHNpemUgMTc3eDI3IFtiZ2NvbG9yPSMwMDgwMDBdIFtib3JkZXI6ICgycHggaW5z
ZXQgIzAwMDAwMCldCisgICAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lTSU5ERVh9IGF0ICgz
NjYsMikgc2l6ZSAxNzV4MjcgW2JnY29sb3I9IzAwODAwMF0KICAgICAgICAgUmVuZGVyQmxvY2sg
e0hSfSBhdCAoMCw0OSkgc2l6ZSA3ODR4MiBbYm9yZGVyOiAoMXB4IGluc2V0ICMwMDAwMDApXQog
ICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMjY0KSBzaXplIDc4NHgyMQogICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyMzJ4MjEKQEAgLTQxLDE5ICs0
MSwxOSBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgUmVuZGVyQmxvY2sg
KGFub255bW91cykgYXQgKDAsMTApIHNpemUgNzg0eDMxCiAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDUpIHNpemUgMzY0eDIxCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1
KSB3aWR0aCAzNjQ6ICJUaGlzIGlzIGEgc2VhcmNoYWJsZSBpbmRleC4gRW50ZXIgc2VhcmNoIGtl
eXdvcmRzOiAiCi0gICAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lTSU5ERVh9IGF0ICgzNjYs
Mikgc2l6ZSAxNzd4MjcgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSMwMDgwMDBdIFtib3JkZXI6
ICgycHggaW5zZXQgI0ZGMDAwMCldCisgICAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lTSU5E
RVh9IGF0ICgzNjYsMikgc2l6ZSAxNzV4MjcgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSMwMDgw
MDBdCiAgICAgICAgIFJlbmRlckJsb2NrIHtIUn0gYXQgKDAsNDkpIHNpemUgNzg0eDIgW2JvcmRl
cjogKDFweCBpbnNldCAjMDAwMDAwKV0KICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0
ICgwLDM1Mikgc2l6ZSA3ODR4MzEKLSAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBh
dCAoMiwyKSBzaXplIDE3NXgyNworICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0
ICgyLDIpIHNpemUgMTc1eDI3IFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMTc5LDUpIHNpemUgNHgyMQogICAgICAgICAgIHRleHQgcnVuIGF0ICgxNzks
NSkgd2lkdGggNDogIiAiCi0gICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDE4
NSwyKSBzaXplIDE3NXgyNyBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgUmVuZGVyVGV4dENvbnRy
b2wge0lOUFVUfSBhdCAoMTg1LDIpIHNpemUgMTc1eDI3IFtjb2xvcj0jRkYwMDAwXSBbYmdjb2xv
cj0jRkZGRkZGXQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDM2Miw1KSBzaXplIDR4
MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzYyLDUpIHdpZHRoIDQ6ICIgIgotICAgICAgICBS
ZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgzNjgsMikgc2l6ZSAxNzd4MjcgW2JnY29sb3I9
IzAwODAwMF0gW2JvcmRlcjogKDJweCBpbnNldCAjMDAwMDAwKV0KLSAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICg1NDcsNSkgc2l6ZSA0eDIxCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDU0
Nyw1KSB3aWR0aCA0OiAiICIKLSAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAo
NTUzLDIpIHNpemUgMTc3eDI3IFtjb2xvcj0jRkYwMDAwXSBbYmdjb2xvcj0jMDA4MDAwXSBbYm9y
ZGVyOiAoMnB4IGluc2V0ICNGRjAwMDApXQorICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5Q
VVR9IGF0ICgzNjgsMikgc2l6ZSAxNzV4MjcgW2JnY29sb3I9IzAwODAwMF0KKyAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICg1NDUsNSkgc2l6ZSA0eDIxCisgICAgICAgICAgdGV4dCBydW4g
YXQgKDU0NSw1KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVU
fSBhdCAoNTUxLDIpIHNpemUgMTc1eDI3IFtjb2xvcj0jRkYwMDAwXSBbYmdjb2xvcj0jMDA4MDAw
XQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKIGxheWVyIGF0
ICgzNzYsNTIpIHNpemUgMTcxeDIxCiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDMpIHNpemUg
MTcxeDIxCkBAIC02MywxMiArNjMsMTIgQEAgbGF5ZXIgYXQgKDM3NiwxNDApIHNpemUgMTcxeDIx
CiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDMpIHNpemUgMTcxeDIxCiAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgxLDApIHNpemUgMjN4MjEKICAgICAgIHRleHQgcnVuIGF0ICgxLDApIHdp
ZHRoIDIzOiAicmVkIgotbGF5ZXIgYXQgKDM3NywyMjgpIHNpemUgMTcxeDIxCi0gIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgzLDMpIHNpemUgMTcxeDIxCitsYXllciBhdCAoMzc2LDIyOCkgc2l6ZSAx
NzF4MjEKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMykgc2l6ZSAxNzF4MjEKICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDEsMCkgc2l6ZSAxMTV4MjEKICAgICAgIHRleHQgcnVuIGF0ICgx
LDApIHdpZHRoIDExNTogImRlZmF1bHQgb24gZ3JlZW4iCi1sYXllciBhdCAoMzc3LDMxNikgc2l6
ZSAxNzF4MjEKLSAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDMsMykgc2l6ZSAxNzF4MjEKK2xheWVy
IGF0ICgzNzYsMzE2KSBzaXplIDE3MXgyMQorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwzKSBz
aXplIDE3MXgyMQogICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwwKSBzaXplIDkweDIxCiAg
ICAgICB0ZXh0IHJ1biBhdCAoMSwwKSB3aWR0aCA5MDogInJlZCBvbiBncmVlbiIKIGxheWVyIGF0
ICgxMiwzNjUpIHNpemUgMTcxeDIxCkBAIC03OSwxMSArNzksMTEgQEAgbGF5ZXIgYXQgKDE5NSwz
NjUpIHNpemUgMTcxeDIxCiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDMpIHNpemUgMTcxeDIx
CiAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDApIHNpemUgMjN4MjEKICAgICAgIHRleHQg
cnVuIGF0ICgxLDApIHdpZHRoIDIzOiAicmVkIgotbGF5ZXIgYXQgKDM3OSwzNjUpIHNpemUgMTcx
eDIxCi0gIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgzLDMpIHNpemUgMTcxeDIxCitsYXllciBhdCAo
Mzc4LDM2NSkgc2l6ZSAxNzF4MjEKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMykgc2l6ZSAx
NzF4MjEKICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMCkgc2l6ZSAxMTV4MjEKICAgICAg
IHRleHQgcnVuIGF0ICgxLDApIHdpZHRoIDExNTogImRlZmF1bHQgb24gZ3JlZW4iCi1sYXllciBh
dCAoNTY0LDM2NSkgc2l6ZSAxNzF4MjEKLSAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDMsMykgc2l6
ZSAxNzF4MjEKK2xheWVyIGF0ICg1NjEsMzY1KSBzaXplIDE3MXgyMQorICBSZW5kZXJCbG9jayB7
RElWfSBhdCAoMiwzKSBzaXplIDE3MXgyMQogICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSww
KSBzaXplIDkweDIxCiAgICAgICB0ZXh0IHJ1biBhdCAoMSwwKSB3aWR0aCA5MDogInJlZCBvbiBn
cmVlbiIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dGFyZWEt
cGxhY2Vob2xkZXItcHNldWRvLXN0eWxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXBzZXVk
by1zdHlsZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDUwNzgzKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci1wc2V1ZG8tc3R5bGUtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNCwyMiArMTQsMjIgQEAgbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgIHRleHQgcnVuIGF0ICg1NDgsNTEpIHdpZHRoIDQ6ICIg
IgogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiBsYXllciBhdCAo
MTAsMzEpIHNpemUgMTc2eDQyCi0gIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDIs
MjMpIHNpemUgMTc2eDQyCisgIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDIsMjMp
IHNpemUgMTc2eDQyIFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDAsMCkgc2l6ZSAxNzZ4MjEgW2NvbG9yPSM2NDAwMDBdCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAyNXgyMQogICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAy
NTogInRleHQiCiBsYXllciBhdCAoMTk0LDMxKSBzaXplIDE3Nng0MgotICBSZW5kZXJUZXh0Q29u
dHJvbCB7VEVYVEFSRUF9IGF0ICgxODYsMjMpIHNpemUgMTc2eDQyCi0gICAgUmVuZGVyQmxvY2sg
e0RJVn0gYXQgKDAsMCkgc2l6ZSAxNzZ4MjEgW2NvbG9yPSM2NDAwMDBdCisgIFJlbmRlclRleHRD
b250cm9sIHtURVhUQVJFQX0gYXQgKDE4NiwyMykgc2l6ZSAxNzZ4NDIgW2JnY29sb3I9I0ZGRkZG
Rl0KKyAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDE3NngyMSBbY29sb3I9I0I4
MDAwMF0KICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDkweDIxCiAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDkwOiAiZGlzYWJsZWQgdGV4dCIKIGxheWVyIGF0
ICgzNzgsMzEpIHNpemUgMTc2eDQyCi0gIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQg
KDM3MCwyMykgc2l6ZSAxNzZ4NDIKKyAgUmVuZGVyVGV4dENvbnRyb2wge1RFWFRBUkVBfSBhdCAo
MzcwLDIzKSBzaXplIDE3Nng0MiBbYmdjb2xvcj0jRkZGRkZGXQogICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgwLDApIHNpemUgMTc2eDIxIFtjb2xvcj0jQTlBOUE5XQogICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDh4MjEKICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggNDg6ICJkZWZhdWx0IgogbGF5ZXIgYXQgKDU2MiwzMSkgc2l6ZSAxNzZ4NDIKLSAgUmVu
ZGVyVGV4dENvbnRyb2wge1RFWFRBUkVBfSBhdCAoNTU0LDIzKSBzaXplIDE3Nng0MgotICAgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIxIFtjb2xvcj0jNTU1NTU1XQorICBS
ZW5kZXJUZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICg1NTQsMjMpIHNpemUgMTc2eDQyIFtiZ2Nv
bG9yPSNGRkZGRkZdCisgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxNzZ4MjEg
W2NvbG9yPSNBOUE5QTldCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAx
MTN4MjEKICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTEzOiAiZGVmYXVsdCBkaXNh
YmxlZCIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dGFyZWEt
cGxhY2Vob2xkZXItc2V0LWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci1zZXQt
YXR0cmlidXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTA3ODMpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXNldC1hdHRyaWJ1dGUt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC04LDcgKzgsNyBAQCBsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0ODY6ICJJ
ZiB5b3UgY2FuIHNlZSB0aGUgd29yZCBcIlBsYWNlaG9sZGVyXCIgaW4gdGhlIHRleHQgYXJlYSwg
dGhlbiBhbGwgaXMgd2VsbC4iCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMzcpIHNpemUg
Nzg0eDQ2CiBsYXllciBhdCAoMTAsNDcpIHNpemUgMTc2eDQyCi0gIFJlbmRlclRleHRDb250cm9s
IHtURVhUQVJFQX0gYXQgKDIsMikgc2l6ZSAxNzZ4NDIKKyAgUmVuZGVyVGV4dENvbnRyb2wge1RF
WFRBUkVBfSBhdCAoMiwyKSBzaXplIDE3Nng0MiBbYmdjb2xvcj0jRkZGRkZGXQogICAgIFJlbmRl
ckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIxIFtjb2xvcj0jQTlBOUE5XQogICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgODZ4MjEKICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMCkgd2lkdGggODY6ICJQbGFjZWhvbGRlciIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL3F0L2Zhc3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItc2V0LXZhbHVlLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3Rl
eHRhcmVhLXBsYWNlaG9sZGVyLXNldC12YWx1ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDUwNzgz
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhv
bGRlci1zZXQtdmFsdWUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNiw3ICsxNiw3
IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMHgwCiBsYXllciBhdCAoMTAsNDcpIHNpemUgMTc2eDQyCi0gIFJlbmRlclRleHRDb250
cm9sIHtURVhUQVJFQX0gYXQgKDIsMikgc2l6ZSAxNzZ4NDIKKyAgUmVuZGVyVGV4dENvbnRyb2wg
e1RFWFRBUkVBfSBhdCAoMiwyKSBzaXplIDE3Nng0MiBbYmdjb2xvcj0jRkZGRkZGXQogICAgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIxCiAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSA2MngyMQogICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0
aCA2MjogIk5ldyB0ZXh0IgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvdGFibGVzL21v
emlsbGEvYnVncy9idWc5MjY0Ny0yLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzkyNjQ3LTItZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA1MDc4MykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L3RhYmxlcy9t
b3ppbGxhL2J1Z3MvYnVnOTI2NDctMi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEy
LDUgKzEyLDUgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgICAgICAg
ICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDIpIHNpemUgMzZ4NDAKICAgICAgICAgICAgICAg
ICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDIsMjApIHNpemUgNHg0IFtib3JkZXI6ICgx
cHggaW5zZXQgIzgwODA4MCldIFtyPTAgYz0wIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgICAg
ICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDgsMikgc2l6ZSAyMHg0MCBbYm9yZGVyOiAoMXB4
IGluc2V0ICM4MDgwODApXSBbcj0wIGM9MSBycz0xIGNzPTFdCi0gICAgICAgICAgICAgICAgICAg
ICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDQsNCkgc2l6ZSAxMngzMiBbYmdjb2xvcj0jQzBD
MEMwXQorICAgICAgICAgICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICg0LDQp
IHNpemUgMTJ4MzIgW2NvbG9yPSMxQTFBMUFdIFtiZ2NvbG9yPSNFRkVCRTddCiAgICAgICAgICAg
ICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgzMCwyMCkgc2l6ZSA0eDQgW2JvcmRl
cjogKDFweCBpbnNldCAjODA4MDgwKV0gW3I9MCBjPTIgcnM9MSBjcz0xXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43310</attachid>
            <date>2009-11-16 09:14:53 -0800</date>
            <delta_ts>2009-11-25 16:47:29 -0800</delta_ts>
            <desc>Proposed Patch fixes conflict flagged by review bot.</desc>
            <filename>patchFor30173-11.patch</filename>
            <type>text/plain</type>
            <size>63542</size>
            <attacher name="Carol Szabo">carol</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MDk0MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNjIgQEAKKzIwMDktMTEtMTMgIENhcm9sIFN6YWJvICA8Y2Fyb2wuc3phYm9Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtRdF0gTWFrZSBpdCBwb3NzaWJsZSB0byBhcHBseSB0aGUgQ1NTIGJhY2tncm91bmQgY29sb3Ig
dG8gdGhlIG5hdGl2ZQorICAgICAgICBwYWludGVkIHdpZGdldHMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDE3MworCisgICAgICAgIFRoaXMgaXMg
YSBiZXN0IGVmZm9ydCBhcHByb2FjaCBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIENTUyAyLjEgc3Bl
YworICAgICAgICAoaHR0cDovL3d3dy53My5vcmcvVFIvQ1NTMi8pIHdoaWNoIGluIHRoZSBjb25m
b3JtYW5jZSBzZWN0aW9uIGxlYXZlcworICAgICAgICB1bmRlZmluZWQgdGhlIHByb3BlcnRpZXMg
dGhhdCBhcHBseSB0byBmb3JtIGNvbnRyb2xzIGFuZCBmcmFtZXMuCisgICAgICAgIENTUyBiYWNr
Z3JvdW5kIGNvbG9yIGRvZXMgbm90IHdvcmsgZm9yIHRoZSBndGsgc3R5bGUsIHdoaWNoIGlnbm9y
ZXMKKyAgICAgICAgdGhlIHBhbGV0dGUgc2V0dGluZ3MgYnkgZGVmYXVsdC4gU29tZSBvdGhlciBz
dHlsZXMgaGF2ZQorICAgICAgICBsaW1pdGF0aW9ucyBvbiB3aGF0IHBhcnRzIG9mIHRoZSBzdHls
ZSBhcmUgY3VzdG9taXphYmxlLCBidXQKKyAgICAgICAgaXQgd29ya3Mgd2l0aCBtb3N0IHN0eWxl
cyBhbmQgd2l0aCB0aG9zZSBzdHlsZXMgd2hlcmUgaXQgZG9lcyBub3QKKyAgICAgICAgdGhlIGxp
bWl0YXRpb25zIGFyZSBoYW5kbGVkIGdhY2VmdWxseS4KKworICAgICAgICAqIHBsYXRmb3JtL3F0
L1FXZWJQb3B1cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpRV2ViUG9wdXA6OnNob3dQb3B1cCk6
CisgICAgICAgIEFkZGVkIGNvZGUgdG8gcmVmbGVjdCBDU1Mgc3R5bGUgaW4gY29udHJvbCBzdHls
aW5nLgorICAgICAgICAqIHBsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGFnZU93bmVyV2lkZ2V0KToKKyAgICAgICAgKFdlYkNv
cmU6OmluaXRQYWxldHRlRnJvbVBhZ2VDbGllbnRJZkV4aXN0cyk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZVF0OjphZGRTdHlsZVRleHRJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3Jl
OjphZGRTdHlsZVRleHRGb3JXaWRnZXQpOgorICAgICAgICBTdXBwb3J0IGZ1bmN0aW9ucworICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6ZXh0cmFEZWZhdWx0U3R5bGVTaGVldCk6Cisg
ICAgICAgIEluaXRpYWxpemUgZGVmYXVsdCBzdHlsZXNoZWV0cyBiYXNlZCBvbiB0aGUgdGhlbWUK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmlzQ29udHJvbFN0eWxlZCk6CisgICAg
ICAgIFNwZWNpYWxpemVkIGZvciBRdCBpbiBvcmRlciB0byBhbGxvdyBhbGwgY29udHJvbHMsIGV2
ZW4gd2hlbiBzdHlsZWQKKyAgICAgICAgdG8gYmUgdGhlbWUgcmVuZGVyZWQuCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjphZGp1c3RDb21tb25RU3R5bGVPcHRpb25zKToKKyAgICAg
ICAgVGhpcyBmdW5jdGlvbiB3YXMgcmVuYW1lZCBmcm9tIGFwcGx5VGhlbWUgYmVjYXVzZSB0aGUg
cHJldmlvdXMgbmFtZSB3YXMKKyAgICAgICAgbm90IGRlc2NyaXB0aXZlIG9mIHdoYXQgdGhlIGZ1
bmN0aW9uIGFjdHVhbGx5IGRpZCwgd2hpY2ggd2FzIChhbmQgCisgICAgICAgIGNvbnRpbnVlcyB0
byBiZSkgdG8gYWRqdXN0IHRoZSBvcHRpb24gc2V0dGluZ3MgYmFzZWQgb24gdGhlIGNvbnRyb2wn
cworICAgICAgICBzdHlsZSBhbmQgc3RhdGUuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZVF0OjpzeXN0ZW1Db2xvcik6CisgICAgICAgIEludHJvZHVjZWQgdG8gYWxsb3cgY3VzdG9taXph
dGlvbiBvZiBidXR0b24gZmFjZSBjb2xvciBhbmQgb3RoZXIgc3lzdGVtIGNvbG9ycyBhY2NvcmRp
bmcgdG8gdGhlIAorICAgICAgICB0aGUgY29udGFpbmVyIHdpZGdldCdzIHBhbGV0dGUgYWJkIFFT
dHlsZVNoZWV0cy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmFkanVzdEJ1dHRv
blN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50QnV0dG9uKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmFkanVzdFRleHRGaWVsZFN0eWxlKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50VGV4dEZpZWxkKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50TWVudUxpc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVRdDo6cGFpbnRNZW51TGlzdEJ1dHRvbik6CisgICAgICAgIE1vZGlm
aWVkIG9ubHkgZHVlIHRvIHJlbmFtaW5nIG9mIHRoZSBhcHBseVRoZW1lIG1ldGhvZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmFkanVzdFRleHRGaWVsZFN0eWxlKToKKyAgICAg
ICAgUmVtb3ZlZCB0aGUgbGluZSB0aGF0IG1ha2VzIHRoZSBiYWNrZ3JvdW5kIHRyYW5zcGFyZW50
IGluIG9yZGVyIHRvIGhhdmUgdGhlIGNvbG9yIGF2YWlsYWJsZSBmb3IKKyAgICAgICAgcGFpbnRp
bmcuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjphZGp1c3RTZWFyY2hGaWVsZFN0
eWxlKToKKyAgICAgICAgQ2hhbmdlZCB0byB1c2UgdGhlIHNhbWUgbG9naWMgYXMgYWRqdXN0VGV4
dEZpZWxkU3R5bGUgc2luY2UgdGhlIHNlYXJjaCBmaWVsZCBmb3IgcXQgaXMgbm90aGluZyBidXQK
KyAgICAgICAgYSB0ZXh0IGZpZWxkIGZvciBub3cuCisgICAgICAgICogcGxhdGZvcm0vcXQvUmVu
ZGVyVGhlbWVRdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6cGFpbnQpOgorICAgICAgICBTaW5jZSB0aGlzIG1l
dGhvZCBpcyBub3QgdmlydHVhbCBJIGhhZCB0byBhZGQgUXQgc3BlY2lmaWMgY2hhbmdlcyBoZXJl
IHRvCisgICAgICAgIGVuYWJsZSByZW5kZXJpbmcgYnkgdGhlIHRoZW1lIG9mIHRleHQgaW5wdXQg
Y29udHJvbHMuIFdoaWNoIGlzIG5lY2Vzc2FyeSBmb3IKKyAgICAgICAgYSBuYXRpdmUgbG9vayBh
bmQgZmVlbC4KKwogMjAwOS0xMS0xMyAgRGlyayBTY2h1bHplICA8a3JpdEB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEd1c3Rhdm8gTm9yb25oYS4KSW5kZXg6IFdlYkNvcmUvcGxh
dGZvcm0vcXQvUVdlYlBvcHVwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3F0
L1FXZWJQb3B1cC5jcHAJKHJldmlzaW9uIDUwNzgzKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9xdC9R
V2ViUG9wdXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw5ICsyMSwxMSBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIlFXZWJQb3B1cC5oIgogI2luY2x1ZGUgIlBvcHVwTWVudVN0
eWxlLmgiCisjaW5jbHVkZSAiUmVuZGVyVGhlbWVRdC5oIgogCiAjaW5jbHVkZSA8UUFic3RyYWN0
SXRlbVZpZXc+CiAjaW5jbHVkZSA8UUFwcGxpY2F0aW9uPgorI2luY2x1ZGUgPFFCeXRlQXJyYXk+
CiAjaW5jbHVkZSA8UUlucHV0Q29udGV4dD4KICNpbmNsdWRlIDxRTW91c2VFdmVudD4KIApAQCAt
NTEsNiArNTMsMjcgQEAgdm9pZCBRV2ViUG9wdXA6OmV4ZWMoKQogdm9pZCBRV2ViUG9wdXA6OnNo
b3dQb3B1cCgpCiB7CiAgICAgUUNvbWJvQm94OjpzaG93UG9wdXAoKTsKKyAgICBQb3B1cE1lbnVT
dHlsZSBzdHlsZSA9IG1fY2xpZW50LT5pdGVtU3R5bGUoMCk7CisgICAgUVBhbGV0dGUgYmFzZVBh
bGV0dGUgPSBwYWxldHRlKCk7CisgICAgUUNvbG9yIGRlZmF1bHRCYXNlQ29sb3IoYmFzZVBhbGV0
dGUuY29sb3IoUVBhbGV0dGU6OkJhc2UpKTsKKyAgICBRQ29sb3IgZGVmYXVsdFRleHRDb2xvcihi
YXNlUGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6VGV4dCkpOworICAgIENvbG9yIGNvbG9yID0gc3R5
bGUuYmFja2dyb3VuZENvbG9yKCk7CisgICAgaWYgKGNvbG9yLmlzVmFsaWQoKSkKKyAgICAgICAg
YmFzZVBhbGV0dGUuc2V0Q29sb3IoUVBhbGV0dGU6OkJhc2UsIGNvbG9yKTsKKyAgICBjb2xvciA9
IHN0eWxlLmZvcmVncm91bmRDb2xvcigpOworICAgIGlmIChjb2xvci5pc1ZhbGlkKCkpCisgICAg
ICAgIGJhc2VQYWxldHRlLnNldENvbG9yKFFQYWxldHRlOjpUZXh0LCBjb2xvcik7CisgICAgc2V0
UGFsZXR0ZShiYXNlUGFsZXR0ZSk7CisgICAgLy8gRklYTUU6IFByb2JhYmx5IGhlcmUgc3BlY2lh
bCBzdHlsZXMgZnJvbSB0aGUgb3B0aW9ucyBzaG91bGQgYmUgdXNlZCBvciBzcGVjaWFsIGRyb3Bk
b3dubGlzdCBhdHRyaWJ1dGVzCisgICAgLy8gZm9yIG5vdyBib3RoIGRyb3Bkb3duIGxpc3RzIGFu
ZCBsaW5lZWRpdCBzaGFyZSB0aGUgc2FtZSBjb2xvcnMuCisgICAgaWYgKFFBYnN0cmFjdEl0ZW1W
aWV3KiBpdGVtVmlldyA9IHZpZXcoKSkgeworICAgICAgICBRQnl0ZUFycmF5IGJ1ZmZlcihpdGVt
Vmlldy0+c3R5bGVTaGVldCgpLnRvQXNjaWkoKSk7CisgICAgICAgIFFDb2xvciBuZXdCYXNlID0g
YmFzZVBhbGV0dGUuY29sb3IoUVBhbGV0dGU6OkJhc2UpOworICAgICAgICBRQ29sb3IgbmV3VGV4
dCA9IGJhc2VQYWxldHRlLmNvbG9yKFFQYWxldHRlOjpUZXh0KTsKKyAgICAgICAgUmVuZGVyVGhl
bWVRdDo6YWRkU3R5bGVUZXh0SWZOZWVkZWQoJm5ld0Jhc2UsIGRlZmF1bHRCYXNlQ29sb3IsICIg
YmFja2dyb3VuZC1jb2xvcjogcmdiYSgiLCAiKTsiLCBidWZmZXIsIGZhbHNlKTsKKyAgICAgICAg
UmVuZGVyVGhlbWVRdDo6YWRkU3R5bGVUZXh0SWZOZWVkZWQoJm5ld1RleHQsIGRlZmF1bHRUZXh0
Q29sb3IsICIgY29sb3I6IHJnYmEoIiwgIik7IiwgYnVmZmVyLCBmYWxzZSk7CisgICAgICAgIGl0
ZW1WaWV3LT5zZXRTdHlsZVNoZWV0KGJ1ZmZlci5jb25zdERhdGEoKSk7CisgICAgfTsKICAgICBt
X3BvcHVwVmlzaWJsZSA9IHRydWU7CiB9CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVu
ZGVyVGhlbWVRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJU
aGVtZVF0LmNwcAkocmV2aXNpb24gNTA3ODMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRl
clRoZW1lUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICszMiw3IEBACiAKICNpbmNsdWRl
ICJDU1NTdHlsZVNlbGVjdG9yLmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVTaGVldC5oIgorI2luY2x1
ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnRRdC5oIgogI2lu
Y2x1ZGUgIkNvbG9yLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKQEAgLTQ5LDEyICs1MCwxOCBA
QAogI2luY2x1ZGUgInF3ZWJwYWdlLmgiCiAKICNpbmNsdWRlIDxRQXBwbGljYXRpb24+CisjaW5j
bHVkZSA8UUNoZWNrQm94PgogI2luY2x1ZGUgPFFDb2xvcj4KKyNpbmNsdWRlIDxRQ29tYm9Cb3g+
CiAjaW5jbHVkZSA8UURlYnVnPgogI2luY2x1ZGUgPFFGaWxlPgogI2luY2x1ZGUgPFFMaW5lRWRp
dD4KKyNpbmNsdWRlIDxRTGlzdFdpZGdldD4KKyNpbmNsdWRlIDxRTWVudT4KICNpbmNsdWRlIDxR
UGFpbnRlcj4KICNpbmNsdWRlIDxRUHVzaEJ1dHRvbj4KKyNpbmNsdWRlIDxRUmFkaW9CdXR0b24+
CisjaW5jbHVkZSA8UVNjcm9sbEJhcj4KICNpbmNsdWRlIDxRU3R5bGVGYWN0b3J5PgogI2luY2x1
ZGUgPFFTdHlsZU9wdGlvbkJ1dHRvbj4KICNpbmNsdWRlIDxRU3R5bGVPcHRpb25GcmFtZVYyPgpA
QCAtNjUsNiArNzIsMzkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2Ug
SFRNTE5hbWVzOwogCitRV2lkZ2V0KiBSZW5kZXJUaGVtZVF0OjpwYWdlT3duZXJXaWRnZXQoKSBj
b25zdAoreworICAgIGlmICghbV9wYWdlKQorICAgICAgICByZXR1cm4gMDsKKyAgICBDaHJvbWUq
IGNocm9tZSA9IG1fcGFnZS0+Y2hyb21lKCk7CisgICAgaWYgKCFjaHJvbWUpCisgICAgICAgIHJl
dHVybiAwOworICAgIENocm9tZUNsaWVudCogY2hyb21lQ2xpZW50ID0gY2hyb21lLT5jbGllbnQo
KTsKKyAgICBpZiAoIWNocm9tZUNsaWVudCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgUVdlYlBh
Z2VDbGllbnQqIHBhZ2VDbGllbnQgPSBjaHJvbWVDbGllbnQtPnBsYXRmb3JtUGFnZUNsaWVudCgp
OworICAgIGlmKCFwYWdlQ2xpZW50KQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gcGFn
ZUNsaWVudC0+b3duZXJXaWRnZXQoKTsKK30KKworc3RhdGljIHZvaWQgaW5pdFBhbGV0dGVGcm9t
UGFnZUNsaWVudElmRXhpc3RzKFFQYWxldHRlICZwYWxldHRlLCBjb25zdCBSZW5kZXJPYmplY3Qg
Km8pCit7CisgICAgLy8gSWYgdGhlIHdlYnZpZXcgaGFzIGEgY3VzdG9tIHBhbGV0dGUsIHVzZSBp
dAorICAgIFBhZ2UqIHBhZ2UgPSBvLT5kb2N1bWVudCgpLT5wYWdlKCk7CisgICAgaWYgKCFwYWdl
KQorICAgICAgICByZXR1cm47CisgICAgQ2hyb21lKiBjaHJvbWUgPSBwYWdlLT5jaHJvbWUoKTsK
KyAgICBpZiAoIWNocm9tZSkKKyAgICAgICAgcmV0dXJuOworICAgIENocm9tZUNsaWVudCogY2hy
b21lQ2xpZW50ID0gY2hyb21lLT5jbGllbnQoKTsKKyAgICBpZiAoIWNocm9tZUNsaWVudCkKKyAg
ICAgICAgcmV0dXJuOworICAgIFFXZWJQYWdlQ2xpZW50KiBwYWdlQ2xpZW50ID0gY2hyb21lQ2xp
ZW50LT5wbGF0Zm9ybVBhZ2VDbGllbnQoKTsKKyAgICBpZiAoIXBhZ2VDbGllbnQpCisgICAgICAg
IHJldHVybjsKKyAgICBwYWxldHRlID0gcGFnZUNsaWVudC0+cGFsZXR0ZSgpOworfQogCiBTdHls
ZVBhaW50ZXI6OlN0eWxlUGFpbnRlcihjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYgcGFp
bnRJbmZvKQogewpAQCAtMjA3LDYgKzI0Nyw3NSBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnN1cHBv
cnRzQ29udHJvbFRpbnRzCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3ZvaWQgUmVuZGVyVGhlbWVR
dDo6YWRkU3R5bGVUZXh0SWZOZWVkZWQoY29uc3QgUUNvbG9yKiBjb2xvciwgY29uc3QgUUNvbG9y
JiBkZWZhdWx0Q29sb3IsCisgICAgY29uc3QgY2hhciogcHJlZml4LCBjb25zdCBjaGFyKiBzdWZm
aXgsIFFCeXRlQXJyYXkmIGJ1ZmZlciwgYm9vbCBzY2FsZUFscGhhKQoreworICAgIGlmICgqY29s
b3IgPT0gZGVmYXVsdENvbG9yKQorICAgICAgICByZXR1cm47CisgICAgUUxvY2FsZSBsb2NhbGUo
UUxvY2FsZTo6YygpKTsKKyAgICBidWZmZXIuYXBwZW5kKHByZWZpeCkuYXBwZW5kKGxvY2FsZS50
b1N0cmluZyhjb2xvci0+cmVkKCkpKS5hcHBlbmQoJywnKQorICAgICAgICAuYXBwZW5kKGxvY2Fs
ZS50b1N0cmluZyhjb2xvci0+Z3JlZW4oKSkpLmFwcGVuZCgnLCcpCisgICAgICAgIC5hcHBlbmQo
bG9jYWxlLnRvU3RyaW5nKGNvbG9yLT5ibHVlKCkpKS5hcHBlbmQoJywnKQorICAgICAgICAuYXBw
ZW5kKHNjYWxlQWxwaGEgPyBsb2NhbGUudG9TdHJpbmcoc3RhdGljX2Nhc3Q8ZmxvYXQ+KGNvbG9y
LT5hbHBoYSgpKSAvIDI1NSwgJ2YnLCA0KSA6IGxvY2FsZS50b1N0cmluZyhjb2xvci0+YWxwaGEo
KSkpCisgICAgICAgIC5hcHBlbmQoc3VmZml4KTsKK30KKworLy8gVGhpcyBmdW5jdGlvbiB3YXMg
ZGVzaWduZWQgZm9yIHRoZSBzcGVjaWZpYyBwdXJwb3NlIG9mIHByb2Nlc3Npbmcgc3R5bGVzIAor
Ly8gZm9yIHZhcmlvdXMgd2lkZ2V0IHR5cGVzIGR1cmluZyB0aGUgY2FsbCB0byBSZW5kZXJUaGVt
ZVF0OjpleHRyYURlZmF1bHRTdHlsZVNoZWV0KCkKKy8vIEl0IGRlbGV0ZXMgdGhlIHdpZGdldCBw
YXNzZWQgaW4uCitzdGF0aWMgdm9pZCBhZGRTdHlsZVRleHRGb3JXaWRnZXQoUVdpZGdldCogd2lk
Z2V0LCBRQ29sb3ImIGRlZmF1bHRDb2xvciwgY29uc3QgY2hhciogcHJlZml4LCBjb25zdCBjaGFy
KiBkaXNhYmxlZFByZWZpeCwgUUJ5dGVBcnJheSYgYnVmZmVyKQoreworICAgIHdpZGdldC0+c2V0
QXR0cmlidXRlKFF0OjpXQV9Eb250U2hvd09uU2NyZWVuKTsKKyAgICB3aWRnZXQtPnNob3coKTsK
KyAgICBRUGFsZXR0ZSBwYWxldHRlID0gd2lkZ2V0LT5wYWxldHRlKCk7CisgICAgUVBhbGV0dGU6
OkNvbG9yUm9sZSBjb2xvclJvbGUgPSB3aWRnZXQtPmJhY2tncm91bmRSb2xlKCk7CisgICAgZGVs
ZXRlIHdpZGdldDsKKyAgICBSZW5kZXJUaGVtZVF0OjphZGRTdHlsZVRleHRJZk5lZWRlZCgmcGFs
ZXR0ZS5jb2xvcihRUGFsZXR0ZTo6Tm9ybWFsLCBjb2xvclJvbGUpLCBkZWZhdWx0Q29sb3IsIHBy
ZWZpeCwgICIpO31cclxuIiwgYnVmZmVyLCB0cnVlKTsKKyAgICBSZW5kZXJUaGVtZVF0OjphZGRT
dHlsZVRleHRJZk5lZWRlZCgmcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6RGlzYWJsZWQsIGNvbG9y
Um9sZSksIGRlZmF1bHRDb2xvciwgZGlzYWJsZWRQcmVmaXgsICIpO31cclxuIiwgYnVmZmVyLCB0
cnVlKTsKK30KKworLy8gVGhlc2Ugc3RyaW5ncyBuZWVkIHRvIGJlIGtlcHQgaW4gc3luayB3aXRo
IGh0bWwuY3NzCitzdGF0aWMgY29uc3QgY2hhciBxTGluZUVkaXRTdHlsZVByZWZpeFtdID0gImlu
cHV0Om5vdChbdHlwZV0pLCBpbnB1dFt0eXBlPVwidGV4dFwiXSwgaW5wdXRbdHlwZT1cInBhc3N3
b3JkXCJdLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLCBpbnB1dFt0eXBlPVwiZmlsZVwiXSwgdGV4
dGFyZWEgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCI7CitzdGF0aWMgY29uc3QgY2hhciBxTGlu
ZUVkaXREaXNhYmxlZFN0eWxlUHJlZml4W10gPSAiaW5wdXQ6bm90KFt0eXBlXSk6ZGlzYWJsZWQs
IGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06
ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJm
aWxlXCJdOmRpc2FibGVkLCB0ZXh0YXJlYTpkaXNhYmxlZCB7IGJhY2tncm91bmQtY29sb3I6IHJn
YmEoIjsKK3N0YXRpYyBjb25zdCBjaGFyIHFDaGVja0JveFN0eWxlUHJlZml4W10gPSAiaW5wdXRb
dHlwZT1cImNoZWNrYm94XCJdIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgiOworc3RhdGljIGNv
bnN0IGNoYXIgcUNoZWNrQm94RGlzYWJsZWRTdHlsZVByZWZpeFtdID0gImlucHV0W3R5cGU9XCJj
aGVja2JveFwiXTpkaXNhYmxlZCB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoIjsKK3N0YXRpYyBj
b25zdCBjaGFyIHFSYWRpb0J1dHRvblN0eWxlUHJlZml4W10gPSAiaW5wdXRbdHlwZT1cInJhZGlv
XCJdIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgiOworc3RhdGljIGNvbnN0IGNoYXIgcVJhZGlv
QnV0dG9uRGlzYWJsZWRTdHlsZVByZWZpeFtdID0gImlucHV0W3R5cGU9XCJyYWRpb1wiXTpkaXNh
YmxlZCB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoIjsKK3N0YXRpYyBjb25zdCBjaGFyIHFMaXN0
Qm94U3R5bGVQcmVmaXhbXSA9ICJzZWxlY3Rbc2l6ZV0sIHNlbGVjdFttdWx0aXBsZV0sIHNlbGVj
dFtzaXplXVttdWx0aXBsZV0sIHNlbGVjdFtzaXplXSBvcHRpb24sIHNlbGVjdFttdWx0aXBsZV0g
b3B0aW9uLCBzZWxlY3Rbc2l6ZV1bbXVsdGlwbGVdIG9wdGlvbiAgeyBiYWNrZ3JvdW5kLWNvbG9y
OiByZ2JhKCI7CitzdGF0aWMgY29uc3QgY2hhciBxTGlzdEJveERpc2FibGVkU3R5bGVQcmVmaXhb
XSA9ICJzZWxlY3Rbc2l6ZV06ZGlzYWJsZWQsIHNlbGVjdFttdWx0aXBsZV06ZGlzYWJsZWQsIHNl
bGVjdFtzaXplXVttdWx0aXBsZV06ZGlzYWJsZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCI7
CitzdGF0aWMgY29uc3QgY2hhciBxQ29tYm9Cb3hTdHlsZVByZWZpeFtdID0gInNlbGVjdCwga2V5
Z2VuLCBzZWxlY3Rbc2l6ZT1cIjBcIl0sIHNlbGVjdFtzaXplPVwiMVwiXSB7IGJhY2tncm91bmQt
Y29sb3I6IHJnYmEoIjsKK3N0YXRpYyBjb25zdCBjaGFyIHFDb21ib0JveERpc2FibGVkU3R5bGVQ
cmVmaXhbXSA9ICJzZWxlY3Q6ZGlzYWJsZWQsIGtleWdlbjpkaXNhYmxlZCwgc2VsZWN0W3NpemU9
XCIwXCJdOmRpc2FibGVkLCBzZWxlY3Rbc2l6ZT1cIjFcIl06ZGlzYWJsZWQgeyBiYWNrZ3JvdW5k
LWNvbG9yOiByZ2JhKCI7CisKK1N0cmluZyBSZW5kZXJUaGVtZVF0OjpleHRyYURlZmF1bHRTdHls
ZVNoZWV0KCkKK3sKKyAgICBRQnl0ZUFycmF5IGJ1ZmZlcjsKKyAgICBRQ29sb3IgaW5pdGlhbDsK
KyAgICBRQ29sb3Igd2hpdGUoUXQ6OndoaXRlKTsKKyAgICAvLyB0aGUgbmV3IFFMaW5lRWRpdCBz
aGFsbCBiZSBkZWxldGVkIGJ5IGFkZFN0eWxlVGV4dEZvcldpZGdldAorICAgIGFkZFN0eWxlVGV4
dEZvcldpZGdldChuZXcgUUxpbmVFZGl0KHBhZ2VPd25lcldpZGdldCgpKSwgd2hpdGUsICBxTGlu
ZUVkaXRTdHlsZVByZWZpeCwgcUxpbmVFZGl0RGlzYWJsZWRTdHlsZVByZWZpeCwgYnVmZmVyKTsK
KyAgICAvLyB0aGUgbmV3IFFDaGVja0JveCBzaGFsbCBiZSBkZWxldGVkIGJ5IGFkZFN0eWxlVGV4
dEZvcldpZGdldAorICAgIGFkZFN0eWxlVGV4dEZvcldpZGdldChuZXcgUUNoZWNrQm94KHBhZ2VP
d25lcldpZGdldCgpKSwgaW5pdGlhbCwKKyAgICAgICAgcUNoZWNrQm94U3R5bGVQcmVmaXgsIHFD
aGVja0JveERpc2FibGVkU3R5bGVQcmVmaXgsIGJ1ZmZlcik7CisgICAgLy8gdGhlIG5ldyBRUmFk
aW9CdXR0b24gc2hhbGwgYmUgZGVsZXRlZCBieSBhZGRTdHlsZVRleHRGb3JXaWRnZXQKKyAgICBh
ZGRTdHlsZVRleHRGb3JXaWRnZXQobmV3IFFSYWRpb0J1dHRvbihwYWdlT3duZXJXaWRnZXQoKSks
IGluaXRpYWwsCisgICAgICAgIHFSYWRpb0J1dHRvblN0eWxlUHJlZml4LCBxUmFkaW9CdXR0b25E
aXNhYmxlZFN0eWxlUHJlZml4LCBidWZmZXIpOworICAgIC8vIHRoZSBuZXcgUUNvbWJvQm94IHNo
YWxsIGJlIGRlbGV0ZWQgYnkgYWRkU3R5bGVUZXh0Rm9yV2lkZ2V0CisgICAgYWRkU3R5bGVUZXh0
Rm9yV2lkZ2V0KG5ldyBRQ29tYm9Cb3gocGFnZU93bmVyV2lkZ2V0KCkpLCB3aGl0ZSwKKyAgICAg
ICAgcUNvbWJvQm94U3R5bGVQcmVmaXgsIHFDb21ib0JveERpc2FibGVkU3R5bGVQcmVmaXgsIGJ1
ZmZlcik7CisgICAgLy8gdGhlIG5ldyBRTGlzdFdpZGdldCBzaGFsbCBiZSBkZWxldGVkIGJ5IGFk
ZFN0eWxlVGV4dEZvcldpZGdldAorICAgIGFkZFN0eWxlVGV4dEZvcldpZGdldChuZXcgUUxpc3RX
aWRnZXQocGFnZU93bmVyV2lkZ2V0KCkpLCBpbml0aWFsLAorICAgICAgICBxTGlzdEJveFN0eWxl
UHJlZml4LCBxTGlzdEJveERpc2FibGVkU3R5bGVQcmVmaXgsIGJ1ZmZlcik7CisgICAgcmV0dXJu
IFN0cmluZyhidWZmZXIuY29uc3REYXRhKCkpOworfQorCitib29sIFJlbmRlclRoZW1lUXQ6Omlz
Q29udHJvbFN0eWxlZChjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUsIGNvbnN0IEJvcmRlckRhdGEm
IGJvcmRlckRhdGEsIGNvbnN0IEZpbGxMYXllciYgZmlsbExheWVyLCBjb25zdCBDb2xvciYgYmFj
a2dyb3VuZENvbG9yKSBjb25zdAoreworICAgIC8vIFF0IHdhbnRzIHRvIHJlbmRlciBhbGwgY29u
dHJvbHMgbmF0aXZlbHkgcmVnYXJkbGVzcyBvZiBDU1Mgc3R5bGluZworICAgIC8vIGJlY2F1c2Ug
bW9zdCBvZiB0aGUgdGltZSBpdCBjYW4gZGVsaXZlciB0aGVtIHByZXR0eSBjbG9zZSB0byB0aGUg
CisgICAgLy8gV2ViIFBhZ2UgYXV0aG9ycyBpbnRlbmRlZCBsb29rLiAKKyAgICByZXR1cm4gZmFs
c2U7Cit9OworCiBzdGF0aWMgaW50IGZpbmRGcmFtZUxpbmVXaWR0aChRU3R5bGUqIHN0eWxlKQog
ewogICAgIFFMaW5lRWRpdCBsaW5lRWRpdDsKQEAgLTI4MSw2ICszOTAsMTM5IEBAIHZvaWQgUmVu
ZGVyVGhlbWVRdDo6c3lzdGVtRm9udChpbnQsIEZvbnQKICAgICAvLyBuby1vcAogfQogCisKK2Vu
dW0geworICAgIE5vcm1hbEluZGV4ID0gMCwKKyAgICBEaXNhYmxlZEluZGV4LAorICAgIENvbnRy
b2xTdGF0ZUNvdW50Cit9IENvbnRyb2xTdGF0ZTsKKworLyogVGhlIGZvbGxvd2luZyB2YXJpYWJs
ZXMgc3RvcmUgdGhlIGRlZmF1bHQgY29sb3JzIGZvciB2YXJpb3VzIHdpZGdldHMKKyAgICAqIEVh
Y2ggb2YgdGhlIHZhcmlhYmxlcyBpcyBhbiBhcnJheSB3aXRoIENvbnRyb2xTdGF0ZUNvdW50IGVs
ZW1lbnRzIC4KKyAgICAqIEVhY2ggb2YgdGhlIGVsZW1lbnRzIGluIHRoZSBhcnJheSBjb250YWlu
cyB0aGUgY29sb3IgZm9yIHRoZSAKKyAgICAqIGNvcnJlc3BvbmRpbmcgc3RhdGUgb2YgdGhlIGNv
bnRyb2wgYXMgaW5kaWNhdGVkIGJ5IHRoZSBDb250cm9sU3RhdGUKKyAgICAqIGVudW1lcmF0aW9u
LgorICAgICovCitzdGF0aWMgUUNvbG9yIGRlZmF1bHRRUHVzaEJ1dHRvbkJhY2tncm91bmRDb2xv
cltDb250cm9sU3RhdGVDb3VudF07CitzdGF0aWMgUUNvbG9yIGRlZmF1bHRRUHVzaEJ1dHRvblRl
eHRDb2xvcltDb250cm9sU3RhdGVDb3VudF07CitzdGF0aWMgUUNvbG9yIGRlZmF1bHRRTWVudUJh
Y2tncm91bmRDb2xvcltDb250cm9sU3RhdGVDb3VudF07CitzdGF0aWMgUUNvbG9yIGRlZmF1bHRR
TWVudVRleHRDb2xvcltDb250cm9sU3RhdGVDb3VudF07CitzdGF0aWMgUUNvbG9yIGRlZmF1bHRR
U2Nyb2xsYmFyQmFja2dyb3VuZENvbG9yW0NvbnRyb2xTdGF0ZUNvdW50XTsKKworLy8gVGhpcyBm
dW5jdGlvbiBpcyBkZXNpZ25lZCBzcGVjaWZpY2FsbHkgdG8gcmVkdWNlIGNvZGUgc2l6ZSBpbiBS
ZW5kZXJUaGVtZVF0OjpzeXN0ZW1Db2xvciwgdGhlcmVmb3JlIGl0IGRvZXMgbm90IGhhdmUgYSBu
aWNlIGludGVyZmFjZQorLy8gSXQgZGVsZXRlcyB0aGUgd2lkZ2V0IHBhc3NlZCBpbi4KK3N0YXRp
YyB2b2lkIHNldFdpZGdldENvbG9ycyhRV2lkZ2V0KiB3aWRnZXQsIFFDb2xvciogYmFja2dyb3Vu
ZENvbG9ycywgUVBhbGV0dGU6OkNvbG9yUm9sZSBiYWNrZ3JvdW5kUm9sZSwgUUNvbG9yKiBmb3Jl
Z3JvdW5kQ29sb3JzLCBRUGFsZXR0ZTo6Q29sb3JSb2xlIGZvcmVncm91bmRSb2xlKQoreworICAg
IHdpZGdldC0+c2V0QXR0cmlidXRlKFF0OjpXQV9Eb250U2hvd09uU2NyZWVuKTsKKyAgICB3aWRn
ZXQtPnNob3coKTsKKyAgICBRUGFsZXR0ZSBwYWxldHRlKHdpZGdldC0+cGFsZXR0ZSgpKTsKKyAg
ICBkZWxldGUgd2lkZ2V0OworICAgIGJhY2tncm91bmRDb2xvcnNbRGlzYWJsZWRJbmRleF0gPSBw
YWxldHRlLmNvbG9yKFFQYWxldHRlOjpEaXNhYmxlZCwgYmFja2dyb3VuZFJvbGUpOworICAgIGJh
Y2tncm91bmRDb2xvcnNbTm9ybWFsSW5kZXhdID0gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6Tm9y
bWFsLCBiYWNrZ3JvdW5kUm9sZSk7CisgICAgaWYgKGZvcmVncm91bmRDb2xvcnMpIHsKKyAgICAg
ICAgZm9yZWdyb3VuZENvbG9yc1tEaXNhYmxlZEluZGV4XSA9IHBhbGV0dGUuY29sb3IoUVBhbGV0
dGU6OkRpc2FibGVkLCBmb3JlZ3JvdW5kUm9sZSk7CisgICAgICAgIGZvcmVncm91bmRDb2xvcnNb
Tm9ybWFsSW5kZXhdID0gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6Tm9ybWFsLCBmb3JlZ3JvdW5k
Um9sZSk7CisgICAgfQorfQorCisvLyBUaGlzIGZ1bmN0aW9uIGlzIGNvcGllZCBmcm9tIFJlbmRl
clRoZW1lLmNwcC5hbmQgdXBkYXRlZCB0byByZXR1cm4gdmFsdWVzIHRoYXQKKy8vIG1hdGNoIHRo
ZSB0aGUgUXQgc3R5bGUgKyBRU3R5bGVTaGVldHMuIFRoZSBoYXJkY29kZWQgY29uc3RhbnRzIGZv
dW5kIGluIHRoZSAKKy8vIGdlbmVyaWMgaW1wbGVtZW50YXRpb24gaGF2ZSBiZWVuIGtlcHQgd2hl
cmUgbm8gUVN0eWxlIG9yIFFQYWxldHRlIGVxdWl2YWxlbnQKKy8vIGNvbG9yIHJvbGUgaGFzIGJl
ZW4gZm91bmQuCitDb2xvciBSZW5kZXJUaGVtZVF0OjpzeXN0ZW1Db2xvcihpbnQgY3NzVmFsdWVJ
ZCkgY29uc3QKK3sKKyAgICBRV2lkZ2V0ICpvd25lcldpZGdldCA9IHBhZ2VPd25lcldpZGdldCgp
OworICAgIFFQYWxldHRlIHBhbGV0dGUob3duZXJXaWRnZXQgPyBvd25lcldpZGdldC0+cGFsZXR0
ZSgpIDogUUFwcGxpY2F0aW9uOjpwYWxldHRlKCkpOworICAgIHN3aXRjaCAoY3NzVmFsdWVJZCkg
eworICAgIGNhc2UgQ1NTVmFsdWVBY3RpdmVib3JkZXI6CisgICAgICAgIHJldHVybiAweEZGRkZG
RkZGOworICAgIGNhc2UgQ1NTVmFsdWVBY3RpdmVjYXB0aW9uOgorICAgICAgICByZXR1cm4gMHhG
RkNDQ0NDQzsKKyAgICBjYXNlIENTU1ZhbHVlQXBwd29ya3NwYWNlOgorICAgICAgICByZXR1cm4g
MHhGRkZGRkZGRjsKKyAgICBjYXNlIENTU1ZhbHVlQmFja2dyb3VuZDoKKyAgICAgICAgcmV0dXJu
IDB4RkY2MzYzQ0U7CisgICAgY2FzZSBDU1NWYWx1ZUJ1dHRvbmZhY2U6CisgICAgICAgIC8vIHVz
ZSB0aGUgY2FjaGVkIHZhbHVlIGlmIHdlIGhhdmUgb25lCisgICAgICAgIGlmICghZGVmYXVsdFFQ
dXNoQnV0dG9uQmFja2dyb3VuZENvbG9yW05vcm1hbEluZGV4XS5pc1ZhbGlkKCkpIHsKKyAgICAg
ICAgICAgIC8vdGhlIG5ldyBRUHVzaEJ1dHRvbiBpcyBkZWxldGVkIGluIHNldFdpZGdldENvbG9y
cygpCisgICAgICAgICAgICBzZXRXaWRnZXRDb2xvcnMoIG5ldyBRUHVzaEJ1dHRvbihwYWdlT3du
ZXJXaWRnZXQoKSksIGRlZmF1bHRRUHVzaEJ1dHRvbkJhY2tncm91bmRDb2xvciwgUVBhbGV0dGU6
OkJ1dHRvbiwgZGVmYXVsdFFQdXNoQnV0dG9uVGV4dENvbG9yLCBRUGFsZXR0ZTo6VGV4dCk7Cisg
ICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGRlZmF1bHRRUHVzaEJ1dHRvbkJhY2tncm91bmRDb2xv
cltOb3JtYWxJbmRleF07CisgICAgY2FzZSBDU1NWYWx1ZUJ1dHRvbmhpZ2hsaWdodDoKKyAgICAg
ICAgcmV0dXJuIHBhbGV0dGUuY29sb3IoUVBhbGV0dGU6OkxpZ2h0KTsKKyAgICBjYXNlIENTU1Zh
bHVlQnV0dG9uc2hhZG93OgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6
U2hhZG93KTsKKyAgICBjYXNlIENTU1ZhbHVlQnV0dG9udGV4dDoKKyAgICAgICAgLy8gdXNlIHRo
ZSBjYWNoZWQgdmFsdWUgaWYgd2UgaGF2ZSBvbmUKKyAgICAgICAgaWYgKCFkZWZhdWx0UVB1c2hC
dXR0b25UZXh0Q29sb3JbTm9ybWFsSW5kZXhdLmlzVmFsaWQoKSkgeworICAgICAgICAgICAgLy90
aGUgbmV3IFFQdXNoQnV0dG9uIGlzIGRlbGV0ZWQgaW4gc2V0V2lkZ2V0Q29sb3JzKCkKKyAgICAg
ICAgICAgIHNldFdpZGdldENvbG9ycyggbmV3IFFQdXNoQnV0dG9uKHBhZ2VPd25lcldpZGdldCgp
KSwgZGVmYXVsdFFQdXNoQnV0dG9uQmFja2dyb3VuZENvbG9yLCBRUGFsZXR0ZTo6QnV0dG9uLCBk
ZWZhdWx0UVB1c2hCdXR0b25UZXh0Q29sb3IsIFFQYWxldHRlOjpUZXh0KTsKKyAgICAgICAgfQor
ICAgICAgICByZXR1cm4gZGVmYXVsdFFQdXNoQnV0dG9uVGV4dENvbG9yW05vcm1hbEluZGV4XTsK
KyAgICBjYXNlIENTU1ZhbHVlQ2FwdGlvbnRleHQ6CisgICAgICAgIHJldHVybiBwYWxldHRlLmNv
bG9yKFFQYWxldHRlOjpXaW5kb3dUZXh0KTsKKyAgICBjYXNlIENTU1ZhbHVlR3JheXRleHQ6Cisg
ICAgICAgIHJldHVybiBwYWxldHRlLmNvbG9yKFFQYWxldHRlOjpEaXNhYmxlZCwgUVBhbGV0dGU6
OlRleHQpOworICAgIGNhc2UgQ1NTVmFsdWVIaWdobGlnaHQ6CisgICAgICAgIHJldHVybiBwYWxl
dHRlLmNvbG9yKFFQYWxldHRlOjpIaWdobGlnaHQpOworICAgIGNhc2UgQ1NTVmFsdWVIaWdobGln
aHR0ZXh0OgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6SGlnaGxpZ2h0
ZWRUZXh0KTsKKyAgICBjYXNlIENTU1ZhbHVlSW5hY3RpdmVib3JkZXI6CisgICAgICAgIHJldHVy
biAweEZGRkZGRkZGOworICAgIGNhc2UgQ1NTVmFsdWVJbmFjdGl2ZWNhcHRpb246CisgICAgICAg
IHJldHVybiAweEZGRkZGRkZGOworICAgIGNhc2UgQ1NTVmFsdWVJbmFjdGl2ZWNhcHRpb250ZXh0
OgorICAgICAgICByZXR1cm4gMHhGRjdGN0Y3RjsKKyAgICBjYXNlIENTU1ZhbHVlSW5mb2JhY2tn
cm91bmQ6CisgICAgICAgIHJldHVybiBwYWxldHRlLmNvbG9yKFFQYWxldHRlOjpJbmFjdGl2ZSwg
UVBhbGV0dGU6OlRvb2xUaXBCYXNlKTsKKyAgICBjYXNlIENTU1ZhbHVlSW5mb3RleHQ6CisgICAg
ICAgIHJldHVybiBwYWxldHRlLmNvbG9yKFFQYWxldHRlOjpJbmFjdGl2ZSwgUVBhbGV0dGU6OlRv
b2xUaXBUZXh0KTsKKyAgICBjYXNlIENTU1ZhbHVlTWVudToKKyAgICAgICAgLy8gdXNlIHRoZSBj
YWNoZWQgdmFsdWUgaWYgd2UgaGF2ZSBvbmUKKyAgICAgICAgaWYgKCFkZWZhdWx0UU1lbnVCYWNr
Z3JvdW5kQ29sb3JbTm9ybWFsSW5kZXhdLmlzVmFsaWQoKSkgeworICAgICAgICAgICAgLy90aGUg
bmV3IFFNZW51IGlzIGRlbGV0ZWQgaW4gc2V0V2lkZ2V0Q29sb3JzKCkKKyAgICAgICAgICAgIHNl
dFdpZGdldENvbG9ycyggbmV3IFFNZW51KHBhZ2VPd25lcldpZGdldCgpKSwgZGVmYXVsdFFNZW51
QmFja2dyb3VuZENvbG9yLCBRUGFsZXR0ZTo6QmFzZSwgZGVmYXVsdFFNZW51VGV4dENvbG9yLCBR
UGFsZXR0ZTo6VGV4dCk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGRlZmF1bHRRTWVudUJh
Y2tncm91bmRDb2xvcltOb3JtYWxJbmRleF07CisgICAgY2FzZSBDU1NWYWx1ZU1lbnV0ZXh0Ogor
ICAgICAgICAvLyB1c2UgdGhlIGNhY2hlZCB2YWx1ZSBpZiB3ZSBoYXZlIG9uZQorICAgICAgICBp
ZiAoIWRlZmF1bHRRTWVudVRleHRDb2xvcltOb3JtYWxJbmRleF0uaXNWYWxpZCgpKSB7CisgICAg
ICAgICAgICAvL3RoZSBuZXcgUU1lbnUgaXMgZGVsZXRlZCBpbiBzZXRXaWRnZXRDb2xvcnMoKQor
ICAgICAgICAgICAgc2V0V2lkZ2V0Q29sb3JzKCBuZXcgUU1lbnUocGFnZU93bmVyV2lkZ2V0KCkp
LCBkZWZhdWx0UU1lbnVCYWNrZ3JvdW5kQ29sb3IsIFFQYWxldHRlOjpCYXNlLCBkZWZhdWx0UU1l
bnVUZXh0Q29sb3IsIFFQYWxldHRlOjpUZXh0KTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4g
ZGVmYXVsdFFNZW51QmFja2dyb3VuZENvbG9yW05vcm1hbEluZGV4XTsKKyAgICBjYXNlIENTU1Zh
bHVlU2Nyb2xsYmFyOgorICAgICAgICAvLyB1c2UgdGhlIGNhY2hlZCB2YWx1ZSBpZiB3ZSBoYXZl
IG9uZQorICAgICAgICBpZiAoIWRlZmF1bHRRU2Nyb2xsYmFyQmFja2dyb3VuZENvbG9yW05vcm1h
bEluZGV4XS5pc1ZhbGlkKCkpIHsKKyAgICAgICAgICAgIC8vdGhlIG5ldyBRU2Nyb2xsQmFyIGlz
IGRlbGV0ZWQgaW4gc2V0V2lkZ2V0Q29sb3JzKCkKKyAgICAgICAgICAgIHNldFdpZGdldENvbG9y
cyggbmV3IFFTY3JvbGxCYXIocGFnZU93bmVyV2lkZ2V0KCkpLCBkZWZhdWx0UVNjcm9sbGJhckJh
Y2tncm91bmRDb2xvciwgUVBhbGV0dGU6OkJhc2UsIDAsIFFQYWxldHRlOjpOb1JvbGUpOworICAg
ICAgICB9CisgICAgICAgIHJldHVybiBkZWZhdWx0UVNjcm9sbGJhckJhY2tncm91bmRDb2xvcltO
b3JtYWxJbmRleF07CisgICAgY2FzZSBDU1NWYWx1ZVRleHQ6CisgICAgICAgIHJldHVybiBwYWxl
dHRlLmNvbG9yKFFQYWxldHRlOjpUZXh0KTsKKyAgICBjYXNlIENTU1ZhbHVlVGhyZWVkZGFya3No
YWRvdzoKKyAgICAgICAgcmV0dXJuIHBhbGV0dGUuY29sb3IoUVBhbGV0dGU6OkRhcmspOworICAg
IGNhc2UgQ1NTVmFsdWVUaHJlZWRmYWNlOgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihR
UGFsZXR0ZTo6QnV0dG9uKTsKKyAgICBjYXNlIENTU1ZhbHVlVGhyZWVkaGlnaGxpZ2h0OgorICAg
ICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6TGlnaHQpOworICAgIGNhc2UgQ1NT
VmFsdWVUaHJlZWRsaWdodHNoYWRvdzoKKyAgICAgICAgcmV0dXJuIHBhbGV0dGUuY29sb3IoUVBh
bGV0dGU6Ok1pZGxpZ2h0KTsKKyAgICBjYXNlIENTU1ZhbHVlVGhyZWVkc2hhZG93OgorICAgICAg
ICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6TWlkKTsKKyAgICBjYXNlIENTU1ZhbHVl
V2luZG93OgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6V2luZG93KTsK
KyAgICBjYXNlIENTU1ZhbHVlV2luZG93ZnJhbWU6CisgICAgICAgIHJldHVybiAweEZGQ0NDQ0ND
OworICAgIGNhc2UgQ1NTVmFsdWVXaW5kb3d0ZXh0OgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5j
b2xvcihRUGFsZXR0ZTo6V2luZG93VGV4dCk7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisgICAgfQorICAgIHJldHVybiBDb2xvcigpOworfQorCiBpbnQgUmVu
ZGVyVGhlbWVRdDo6bWluaW11bU1lbnVMaXN0U2l6ZShSZW5kZXJTdHlsZSopIGNvbnN0CiB7CiAg
ICAgY29uc3QgUUZvbnRNZXRyaWNzICZmbSA9IFFBcHBsaWNhdGlvbjo6Zm9udE1ldHJpY3MoKTsK
QEAgLTQ3Niw3ICs3MTgsNyBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnBhaW50QnV0dG9uKFJlbmRl
ck9iCiAgICAgb3B0aW9uLnJlY3QgPSByOwogICAgIG9wdGlvbi5zdGF0ZSB8PSBRU3R5bGU6OlN0
YXRlX1NtYWxsOwogCi0gICAgQ29udHJvbFBhcnQgYXBwZWFyYW5jZSA9IGFwcGx5VGhlbWUob3B0
aW9uLCBvKTsKKyAgICBDb250cm9sUGFydCBhcHBlYXJhbmNlID0gYWRqdXN0Q29tbW9uUVN0eWxl
T3B0aW9ucyhvcHRpb24sIG8pOwogICAgIGlmIChhcHBlYXJhbmNlID09IFB1c2hCdXR0b25QYXJ0
IHx8IGFwcGVhcmFuY2UgPT0gQnV0dG9uUGFydCkgewogICAgICAgICBvcHRpb24ucmVjdCA9IGlu
ZmxhdGVCdXR0b25SZWN0KG9wdGlvbi5yZWN0LCBxU3R5bGUoKSk7CiAgICAgICAgIHAuZHJhd0Nv
bnRyb2woUVN0eWxlOjpDRV9QdXNoQnV0dG9uLCBvcHRpb24pOwpAQCAtNDkwLDcgKzczMiw2IEBA
IGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRCdXR0b24oUmVuZGVyT2IKIAogdm9pZCBSZW5kZXJU
aGVtZVF0OjphZGp1c3RUZXh0RmllbGRTdHlsZShDU1NTdHlsZVNlbGVjdG9yKiwgUmVuZGVyU3R5
bGUqIHN0eWxlLCBFbGVtZW50KikgY29uc3QKIHsKLSAgICBzdHlsZS0+c2V0QmFja2dyb3VuZENv
bG9yKENvbG9yOjp0cmFuc3BhcmVudCk7CiAgICAgc3R5bGUtPnJlc2V0Qm9yZGVyKCk7CiAgICAg
c3R5bGUtPnJlc2V0UGFkZGluZygpOwogICAgIGNvbXB1dGVTaXplQmFzZWRPblN0eWxlKHN0eWxl
KTsKQEAgLTUxMiw3ICs3NTMsNyBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnBhaW50VGV4dEZpZWxk
KFJlbmRlCiAgICAgcGFuZWwuZmVhdHVyZXMgPSBRU3R5bGVPcHRpb25GcmFtZVYyOjpOb25lOwog
CiAgICAgLy8gR2V0IHRoZSBjb3JyZWN0IHRoZW1lIGRhdGEgZm9yIGEgdGV4dCBmaWVsZAotICAg
IENvbnRyb2xQYXJ0IGFwcGVhcmFuY2UgPSBhcHBseVRoZW1lKHBhbmVsLCBvKTsKKyAgICBDb250
cm9sUGFydCBhcHBlYXJhbmNlID0gYWRqdXN0Q29tbW9uUVN0eWxlT3B0aW9ucyhwYW5lbCwgbyk7
CiAgICAgaWYgKGFwcGVhcmFuY2UgIT0gVGV4dEZpZWxkUGFydAogICAgICAgICAmJiBhcHBlYXJh
bmNlICE9IFNlYXJjaEZpZWxkUGFydAogICAgICAgICAmJiBhcHBlYXJhbmNlICE9IFRleHRBcmVh
UGFydApAQCAtNTc0LDcgKzgxNSw3IEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRNZW51TGlz
dChSZW5kZXIKICAgICBRU3R5bGVPcHRpb25Db21ib0JveCBvcHQ7CiAgICAgaWYgKHAud2lkZ2V0
KQogICAgICAgICBvcHQuaW5pdEZyb20ocC53aWRnZXQpOwotICAgIGFwcGx5VGhlbWUob3B0LCBv
KTsKKyAgICBhZGp1c3RDb21tb25RU3R5bGVPcHRpb25zKG9wdCwgbyk7CiAKICAgICBjb25zdCBR
UG9pbnQgdG9wTGVmdCA9IHIudG9wTGVmdCgpOwogICAgIHAucGFpbnRlci0+dHJhbnNsYXRlKHRv
cExlZnQpOwpAQCAtNjE0LDcgKzg1NSw3IEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRNZW51
TGlzdEJ1dHRvbigKICAgICBRU3R5bGVPcHRpb25Db21ib0JveCBvcHRpb247CiAgICAgaWYgKHAu
d2lkZ2V0KQogICAgICAgICBvcHRpb24uaW5pdEZyb20ocC53aWRnZXQpOwotICAgIGFwcGx5VGhl
bWUob3B0aW9uLCBvKTsKKyAgICBhZGp1c3RDb21tb25RU3R5bGVPcHRpb25zKG9wdGlvbiwgbyk7
CiAgICAgb3B0aW9uLnJlY3QgPSByOwogCiAgICAgLy8gZm9yIGRyYXdpbmcgdGhlIGNvbWJvIGJv
eCBhcnJvdywgcmVseSBvbmx5IG9uIHRoZSBmYWxsYmFjayBzdHlsZQpAQCAtNjUwLDcgKzg5MSw3
IEBAIHZvaWQgUmVuZGVyVGhlbWVRdDo6YWRqdXN0U2VhcmNoRmllbGRTdHkKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbGVtZW50KiBlKSBjb25zdAogewogICAg
IG5vdEltcGxlbWVudGVkKCk7Ci0gICAgUmVuZGVyVGhlbWU6OmFkanVzdFNlYXJjaEZpZWxkU3R5
bGUoc2VsZWN0b3IsIHN0eWxlLCBlKTsKKyAgICBhZGp1c3RUZXh0RmllbGRTdHlsZShzZWxlY3Rv
ciwgc3R5bGUsIGUpOwogfQogCiB2b2lkIFJlbmRlclRoZW1lUXQ6OmFkanVzdFNlYXJjaEZpZWxk
Q2FuY2VsQnV0dG9uU3R5bGUoQ1NTU3R5bGVTZWxlY3Rvciogc2VsZWN0b3IsIFJlbmRlclN0eWxl
KiBzdHlsZSwKQEAgLTcxMiw3ICs5NTMsNyBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnN1cHBvcnRz
Rm9jdXMoQ29udHJvCiAgICAgfQogfQogCi1Db250cm9sUGFydCBSZW5kZXJUaGVtZVF0OjphcHBs
eVRoZW1lKFFTdHlsZU9wdGlvbiYgb3B0aW9uLCBSZW5kZXJPYmplY3QqIG8pIGNvbnN0CitDb250
cm9sUGFydCBSZW5kZXJUaGVtZVF0OjphZGp1c3RDb21tb25RU3R5bGVPcHRpb25zKFFTdHlsZU9w
dGlvbiYgb3B0aW9uLCBSZW5kZXJPYmplY3QqIG8pIGNvbnN0CiB7CiAgICAgLy8gRGVmYXVsdCBi
aXRzOiBubyBmb2N1cywgbm8gbW91c2Ugb3ZlcgogICAgIG9wdGlvbi5zdGF0ZSAmPSB+KFFTdHls
ZTo6U3RhdGVfSGFzRm9jdXMgfCBRU3R5bGU6OlN0YXRlX01vdXNlT3Zlcik7CkBAIC03MjQsMjAg
Kzk2NSwyNiBAQCBDb250cm9sUGFydCBSZW5kZXJUaGVtZVF0OjphcHBseVRoZW1lKFFTCiAgICAg
ICAgIC8vIFJlYWRvbmx5IGlzIHN1cHBvcnRlZCBvbiB0ZXh0ZmllbGRzLgogICAgICAgICBvcHRp
b24uc3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9SZWFkT25seTsKIAotICAgIGlmIChzdXBwb3J0c0Zv
Y3VzKG8tPnN0eWxlKCktPmFwcGVhcmFuY2UoKSkgJiYgaXNGb2N1c2VkKG8pKSB7Ci0gICAgICAg
IG9wdGlvbi5zdGF0ZSB8PSBRU3R5bGU6OlN0YXRlX0hhc0ZvY3VzOwotICAgICAgICBvcHRpb24u
c3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9LZXlib2FyZEZvY3VzQ2hhbmdlOwotICAgIH0KKyAgICBv
cHRpb24uZGlyZWN0aW9uID0gUXQ6OkxlZnRUb1JpZ2h0OwogCiAgICAgaWYgKGlzSG92ZXJlZChv
KSkKICAgICAgICAgb3B0aW9uLnN0YXRlIHw9IFFTdHlsZTo6U3RhdGVfTW91c2VPdmVyOwogCi0g
ICAgb3B0aW9uLmRpcmVjdGlvbiA9IFF0OjpMZWZ0VG9SaWdodDsKLSAgICBpZiAoby0+c3R5bGUo
KSAmJiBvLT5zdHlsZSgpLT5kaXJlY3Rpb24oKSA9PSBXZWJDb3JlOjpSVEwpCi0gICAgICAgIG9w
dGlvbi5kaXJlY3Rpb24gPSBRdDo6UmlnaHRUb0xlZnQ7CisgICAgaW5pdFBhbGV0dGVGcm9tUGFn
ZUNsaWVudElmRXhpc3RzKG9wdGlvbi5wYWxldHRlLCBvKTsKKyAgICBSZW5kZXJTdHlsZSogc3R5
bGUgPSBvLT5zdHlsZSgpOworICAgIGlmICghc3R5bGUpCisgICAgICAgIHJldHVybiBOb0NvbnRy
b2xQYXJ0OwogCi0gICAgQ29udHJvbFBhcnQgcmVzdWx0ID0gby0+c3R5bGUoKS0+YXBwZWFyYW5j
ZSgpOworICAgIENvbnRyb2xQYXJ0IHJlc3VsdCA9IHN0eWxlLT5hcHBlYXJhbmNlKCk7CisgICAg
aWYgKHN1cHBvcnRzRm9jdXMocmVzdWx0KSAmJiBpc0ZvY3VzZWQobykpIHsKKyAgICAgICAgb3B0
aW9uLnN0YXRlIHw9IFFTdHlsZTo6U3RhdGVfSGFzRm9jdXM7CisgICAgICAgIG9wdGlvbi5zdGF0
ZSB8PSBRU3R5bGU6OlN0YXRlX0tleWJvYXJkRm9jdXNDaGFuZ2U7CisgICAgfQogCisgICAgaWYg
KHN0eWxlLT5kaXJlY3Rpb24oKSA9PSBXZWJDb3JlOjpSVEwpCisgICAgICAgIG9wdGlvbi5kaXJl
Y3Rpb24gPSBRdDo6UmlnaHRUb0xlZnQ7CisKKyAgICBRQ29sb3IgYmFja2dyb3VuZENvbG9yID0g
c3R5bGUtPmJhY2tncm91bmRDb2xvcigpOwogICAgIHN3aXRjaCAocmVzdWx0KSB7CiAgICAgY2Fz
ZSBQdXNoQnV0dG9uUGFydDoKICAgICBjYXNlIFNxdWFyZUJ1dHRvblBhcnQ6CkBAIC03NTEsMjAg
Kzk5OCwzMCBAQCBDb250cm9sUGFydCBSZW5kZXJUaGVtZVF0OjphcHBseVRoZW1lKFFTCiAgICAg
ICAgICAgICBvcHRpb24uc3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9TdW5rZW47CiAgICAgICAgIGVs
c2UgaWYgKHJlc3VsdCA9PSBQdXNoQnV0dG9uUGFydCkKICAgICAgICAgICAgIG9wdGlvbi5zdGF0
ZSB8PSBRU3R5bGU6OlN0YXRlX1JhaXNlZDsKKyAgICAgICAgICAgIG9wdGlvbi5wYWxldHRlLnNl
dENvbG9yKFFQYWxldHRlOjpCdXR0b24sIGJhY2tncm91bmRDb2xvcik7CiAgICAgICAgIGJyZWFr
OwogICAgIH0KLSAgICB9Ci0KLSAgICBpZiAocmVzdWx0ID09IFJhZGlvUGFydCB8fCByZXN1bHQg
PT0gQ2hlY2tib3hQYXJ0KQorICAgIGNhc2UgUmFkaW9QYXJ0OgorICAgIGNhc2UgQ2hlY2tib3hQ
YXJ0OgogICAgICAgICBvcHRpb24uc3RhdGUgfD0gKGlzQ2hlY2tlZChvKSA/IFFTdHlsZTo6U3Rh
dGVfT24gOiBRU3R5bGU6OlN0YXRlX09mZik7Ci0KLSAgICAvLyBJZiB0aGUgb3duZXIgd2lkZ2V0
IGhhcyBhIGN1c3RvbSBwYWxldHRlLCB1c2UgaXQKLSAgICBQYWdlKiBwYWdlID0gby0+ZG9jdW1l
bnQoKS0+cGFnZSgpOwotICAgIGlmIChwYWdlKSB7Ci0gICAgICAgIENocm9tZUNsaWVudCogY2xp
ZW50ID0gcGFnZS0+Y2hyb21lKCktPmNsaWVudCgpOwotICAgICAgICBRV2ViUGFnZUNsaWVudCog
cGFnZUNsaWVudCA9IGNsaWVudC0+cGxhdGZvcm1QYWdlQ2xpZW50KCk7Ci0gICAgICAgIGlmIChw
YWdlQ2xpZW50KQotICAgICAgICAgICAgb3B0aW9uLnBhbGV0dGUgPSBwYWdlQ2xpZW50LT5wYWxl
dHRlKCk7CisgICAgY2FzZSBNZW51bGlzdFBhcnQ6CisgICAgICAgIC8vIFdlIGFyZSBzZXR0aW5n
IGhlcmUgYWxsIGJhY2tncm91bmQgY29sb3JzIGJlY2F1c2U6CisgICAgICAgIC8vIDEuIEhUTUwg
ZG9lcyBub3Qgc3VwcG9ydCBtdWx0aXBsZSBiYWNrZ3JvdW5kIGNvbG9ycyBmb3IgdGhlc2UgY29u
dHJvbHMKKyAgICAgICAgLy8gICAgdGh1cyBpdCBtYWtlcyBzZW5zZSB0byByZWR1Y2UgYWxsIGJh
Y2tncm91bmQgY29sb3JzIHRvIG9uZS4KKyAgICAgICAgLy8gMi4gRGlmZmVyZW50IHN0eWxlcyAo
c3VjaCBhcyBtb3RpZiBhbmQgd2luZG93cykgdXNlIGRpZmZlcmVudCBwYWxldHRlCisgICAgICAg
IC8vICAgIGluZGV4ZXMgdG8gcmVuZGVyIHRoZSBjb250cm9sJ3MgYmFja2dyb3VuZAorICAgICAg
ICBvcHRpb24ucGFsZXR0ZS5zZXRDb2xvcihRUGFsZXR0ZTo6QnV0dG9uLCBiYWNrZ3JvdW5kQ29s
b3IpOworICAgICAgICBvcHRpb24ucGFsZXR0ZS5zZXRDb2xvcihRUGFsZXR0ZTo6V2luZG93LCBi
YWNrZ3JvdW5kQ29sb3IpOworICAgICAgICBvcHRpb24ucGFsZXR0ZS5zZXRDb2xvcihRUGFsZXR0
ZTo6QmFzZSwgYmFja2dyb3VuZENvbG9yKTsKKyAgICAgICAgb3B0aW9uLnBhbGV0dGUuc2V0Q29s
b3IoUVBhbGV0dGU6OlRleHQsIHN0eWxlLT5jb2xvcigpKTsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBMaXN0Ym94UGFydDoKKyAgICAgICAgb3B0aW9uLnBhbGV0dGUuc2V0Q29sb3IoUVBhbGV0
dGU6OlRleHQsIHN0eWxlLT5jb2xvcigpKTsKKyAgICBjYXNlIFNlYXJjaEZpZWxkUGFydDoKKyAg
ICBjYXNlIFRleHRGaWVsZFBhcnQ6CisgICAgY2FzZSBUZXh0QXJlYVBhcnQ6CisgICAgICAgIG9w
dGlvbi5wYWxldHRlLnNldENvbG9yKFFQYWxldHRlOjpCYXNlLCBiYWNrZ3JvdW5kQ29sb3IpOwor
ICAgICAgICBicmVhazsKICAgICB9CiAKICAgICByZXR1cm4gcmVzdWx0OwpJbmRleDogV2ViQ29y
ZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0
Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmgJKHJldmlzaW9uIDUwNzgzKQorKysgV2ViQ29yZS9wbGF0
Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDYgKzIyLDcgQEAK
ICNpZm5kZWYgUmVuZGVyVGhlbWVRdF9ICiAjZGVmaW5lIFJlbmRlclRoZW1lUXRfSAogCisjaW5j
bHVkZSAiUVdlYlBhZ2VDbGllbnQuaCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogCiAjaW5j
bHVkZSA8UVN0eWxlPgpAQCAtNDMsNiArNDQsNyBAQCBwcml2YXRlOgogCiBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NSZWZQdHI8UmVuZGVyVGhlbWU+IGNyZWF0ZShQYWdlKik7CisgICAgc3RhdGlj
IHZvaWQgYWRkU3R5bGVUZXh0SWZOZWVkZWQoY29uc3QgUUNvbG9yKiBjb2xvciwgY29uc3QgUUNv
bG9yJiBkZWZhdWx0Q29sb3IsIGNvbnN0IGNoYXIqIHByZWZpeCwgY29uc3QgY2hhciogc3VmZml4
LCBRQnl0ZUFycmF5JiBidWZmZXIsIGJvb2wgc2NhbGVBbHBoYSk7CiAKICAgICB2aXJ0dWFsIGJv
b2wgc3VwcG9ydHNIb3Zlcihjb25zdCBSZW5kZXJTdHlsZSopIGNvbnN0OwogICAgIHZpcnR1YWwg
Ym9vbCBzdXBwb3J0c0ZvY3VzUmluZyhjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUpIGNvbnN0OwpA
QCAtNTUsNiArNTcsMTMgQEAgcHVibGljOgogICAgIC8vIEEgZ2VuZXJhbCBtZXRob2QgYXNraW5n
IGlmIGFueSBjb250cm9sIHRpbnRpbmcgaXMgc3VwcG9ydGVkIGF0IGFsbC4KICAgICB2aXJ0dWFs
IGJvb2wgc3VwcG9ydHNDb250cm9sVGludHMoKSBjb25zdDsKIAorICAgIC8qIERldGVybWluZXMg
d2hldGhlciB0aGUgY29udHJvbCBzaG91bGQgYmUgcGFpbnRlZCBieSB0aGUgdGhlbWUgb3Igbm90
CisgICAgICogSWYgdGhpcyBmdW5jdGlvbiByZXR1cm5zIHRydWUgV2ViS2l0IHdpbGwgdHJ5IHRv
IHBhaW50IHRoZSBjb250cm9sIAorICAgICAqIGlmIGl0IGNhbi4gSW4gUXQgd2UgYWx3YXlzIHJl
dHVybiBmYWxzZSB0byBpbmRpY2F0ZSB0aGF0IFF0IHVzIAorICAgICAqIGNhcGFibGUgb2YgcGFp
bnRpbmcgc3R5bGVkIGNvbnRyb2xzLgorICAgICAqLworICAgIHZpcnR1YWwgYm9vbCBpc0NvbnRy
b2xTdHlsZWQoY29uc3QgUmVuZGVyU3R5bGUqLCBjb25zdCBCb3JkZXJEYXRhJiwgY29uc3QgRmls
bExheWVyJiwgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xvcikgY29uc3Q7CisKICAgICB2aXJ0
dWFsIHZvaWQgYWRqdXN0UmVwYWludFJlY3QoY29uc3QgUmVuZGVyT2JqZWN0KiBvLCBJbnRSZWN0
JiByKTsKIAogICAgIC8vIFRoZSBwbGF0Zm9ybSBzZWxlY3Rpb24gY29sb3IuCkBAIC02NCw2ICs3
Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIENvbG9yIHBsYXRmb3JtSW5hY3RpdmVTZWxlY3Rp
b25Gb3JlZ3JvdW5kQ29sb3IoKSBjb25zdDsKIAogICAgIHZpcnR1YWwgdm9pZCBzeXN0ZW1Gb250
KGludCBwcm9wSWQsIEZvbnREZXNjcmlwdGlvbiYpIGNvbnN0OworICAgIHZpcnR1YWwgQ29sb3Ig
c3lzdGVtQ29sb3IoaW50IGNzc1ZhbHVlSWQpIGNvbnN0OwogCiAgICAgdmlydHVhbCBpbnQgbWlu
aW11bU1lbnVMaXN0U2l6ZShSZW5kZXJTdHlsZSopIGNvbnN0OwogCkBAIC03MSw2ICs4MSwxMSBA
QCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGRvdWJsZSBjYXJldEJsaW5rSW50ZXJ2YWwoKSBjb25z
dDsKIAorCisgICAgLyogVGhlc2UgbWV0aG9kcyByZXR1cm4gdGhlIHRoZW1lJ3MgZXh0cmEgc3R5
bGUgc2hlZXRzIHJ1bGVzLCB0byBsZXQgZWFjaCBwbGF0Zm9ybQorICAgICAqIGFkanVzdCB0aGUg
ZGVmYXVsdCBDU1MgcnVsZXMgaW4gaHRtbC5jc3MsIHF1aXJrcy5jc3MsIG9yIG1lZGlhQ29udHJv
bHMuY3NzCisgICAgICovCisgICAgdmlydHVhbCBTdHJpbmcgZXh0cmFEZWZhdWx0U3R5bGVTaGVl
dCgpOwogI2lmIEVOQUJMRShWSURFTykKICAgICB2aXJ0dWFsIFN0cmluZyBleHRyYU1lZGlhQ29u
dHJvbHNTdHlsZVNoZWV0KCk7CiAjZW5kaWYKQEAgLTExMyw2ICsxMjgsMTEgQEAgcHJvdGVjdGVk
OgogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uU3R5
bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0OwogICAg
IHZpcnR1YWwgYm9vbCBwYWludFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb24oUmVuZGVyT2Jq
ZWN0KiwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CiAK
KyAgICAvKiBHZXRzIG93bmVyIHdpZGdldCBmb3IgbV9wYWdlCisgICAgICogSWYgbV9wYWdlIGlz
IDAgcGFnZU93bmVyV2lkZ2V0IHJldHVybnMgMC4KKyAgICAgKi8KKyAgICBRV2lkZ2V0KiBwYWdl
T3duZXJXaWRnZXQoKSBjb25zdDsKKwogI2lmIEVOQUJMRShWSURFTykKICAgICB2aXJ0dWFsIGJv
b2wgcGFpbnRNZWRpYUZ1bGxzY3JlZW5CdXR0b24oUmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVy
T2JqZWN0OjpQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CiAgICAgdmlydHVhbCBib29sIHBh
aW50TWVkaWFQbGF5QnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVjdDo6UGFp
bnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOwpAQCAtMTMyLDcgKzE1Miw3IEBAIHByaXZhdGU6CiBw
cml2YXRlOgogICAgIGJvb2wgc3VwcG9ydHNGb2N1cyhDb250cm9sUGFydCkgY29uc3Q7CiAKLSAg
ICBDb250cm9sUGFydCBhcHBseVRoZW1lKFFTdHlsZU9wdGlvbiYsIFJlbmRlck9iamVjdCopIGNv
bnN0OworICAgIENvbnRyb2xQYXJ0IGFkanVzdENvbW1vblFTdHlsZU9wdGlvbnMoUVN0eWxlT3B0
aW9uJiwgUmVuZGVyT2JqZWN0KikgY29uc3Q7CiAKICAgICB2b2lkIHNldEJ1dHRvblBhZGRpbmco
UmVuZGVyU3R5bGUqKSBjb25zdDsKICAgICB2b2lkIHNldFBvcHVwUGFkZGluZyhSZW5kZXJTdHls
ZSopIGNvbnN0OwpAQCAtMTc4LDYgKzE5OCw2IEBAIHByaXZhdGU6CiAgICAgUV9ESVNBQkxFX0NP
UFkoU3R5bGVQYWludGVyKQogfTsKIAotfQorfSAgLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCShyZXZpc2lvbiA1MDc4MykKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjk4
LDExICsyOTgsMTYgQEAgYm9vbCBSZW5kZXJUaGVtZTo6cGFpbnQoUmVuZGVyT2JqZWN0KiBvLAog
ICAgICAgICAgICAgcmV0dXJuIHBhaW50TWVkaWFDdXJyZW50VGltZShvLCBwYWludEluZm8sIHIp
OwogICAgICAgICBjYXNlIE1lZGlhQ29udHJvbHNCYWNrZ3JvdW5kUGFydDoKICAgICAgICAgICAg
IHJldHVybiBwYWludE1lZGlhQ29udHJvbHNCYWNrZ3JvdW5kKG8sIHBhaW50SW5mbywgcik7Ci0g
ICAgICAgIGNhc2UgTWVudWxpc3RCdXR0b25QYXJ0OgorI2lmIFBMQVRGT1JNKFFUKQogICAgICAg
ICBjYXNlIFRleHRGaWVsZFBhcnQ6CisgICAgICAgICAgICByZXR1cm4gcGFpbnRUZXh0RmllbGQo
bywgcGFpbnRJbmZvLCByKTsKICAgICAgICAgY2FzZSBUZXh0QXJlYVBhcnQ6CisgICAgICAgICAg
ICByZXR1cm4gcGFpbnRUZXh0QXJlYShvLCBwYWludEluZm8sIHIpOworI2Vsc2UKKyAgICAgICAg
Y2FzZSBNZW51bGlzdEJ1dHRvblBhcnQ6CiAgICAgICAgIGNhc2UgTGlzdGJveFBhcnQ6CiAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyNlbmRpZgogICAgICAgICBjYXNlIFNlYXJjaEZpZWxkUGFy
dDoKICAgICAgICAgICAgIHJldHVybiBwYWludFNlYXJjaEZpZWxkKG8sIHBhaW50SW5mbywgcik7
CiAgICAgICAgIGNhc2UgU2VhcmNoRmllbGRDYW5jZWxCdXR0b25QYXJ0OgpJbmRleDogTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2
aXNpb24gNTA5NDMpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwyOCBAQAorMjAwOS0xMS0xMyAgQ2Fyb2wgU3phYm8gIDxjYXJvbC5zemFib0Bub2tp
YS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TmVlZCBhIHNob3J0IGRlc2NyaXB0aW9uIGFuZCBidWcgVVJMIChPT1BTISkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwMTczCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9xdC9jc3MxL2JveF9wcm9wZXJ0aWVzL2FjaWRfdGVzdC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9jc3MvcHNldWRvLWNhY2hlLXN0YWxlLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Nzcy90ZXh0LWlucHV0LXdpdGgtd2Vi
a2l0LWJvcmRlci1yYWRpdXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zh
c3QvZG9tL0hUTUxUYWJsZUNvbEVsZW1lbnQvcmVzaXplLXRhYmxlLXVzaW5nLWNvbC13aWR0aC1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9iYXNpYy1idXR0
b25zLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL2Jhc2lj
LWlucHV0cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9i
dXR0b24tc3R5bGUtY29sb3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zh
c3QvZm9ybXMvaXNpbmRleC1wbGFjZWhvbGRlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vcXQvZmFzdC9mb3Jtcy9tZW51bGlzdC1zdHlsZS1jb2xvci1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0LXN0eWxlLWNvbG9yLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9s
ZGVyLXBzZXVkby1zdHlsZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFz
dC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci1zZXQtYXR0cmlidXRlLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXNl
dC12YWx1ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvdGFibGVzL21vemls
bGEvYnVncy9idWc5MjY0Ny0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgQ2hhbmdlZCB0aGVzZSB0
ZXN0cyB0byBhY2NvbW9kYXRlIHRoZSBuYXRpdmUgY29sb3JzIHRoYXQgYXJlIG5vdyByZWZsZWN0
ZWQKKyAgICAgICAgaW4gZGVmYXVsdCBzdHlsZXMuIEFsc28gc29tZWJvcmRlcnMgYXJlIG5vdyBy
ZW5kZXJlZCBuYXRpdmVseSBzbyB0aGV5IGRvIG5vdCBzaG93IHVwCisgICAgICAgIGluIHRoZSBk
dW1wIGFueW1vcmUuCisKIDIwMDktMTEtMTMgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBHdXN0YXZvIE5vcm9uaGEuCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9jc3MxL2JveF9wcm9wZXJ0aWVzL2FjaWRfdGVzdC1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvY3NzMS9ib3hfcHJvcGVy
dGllcy9hY2lkX3Rlc3QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1MTAzNikKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL3F0L2NzczEvYm94X3Byb3BlcnRpZXMvYWNpZF90ZXN0LWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMjMsMTIgKzIzLDEyIEBAIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDQyMAogICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDEz
OXgxOQogICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDMpIHNpemUg
Mjd4MTIKICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMykgd2lkdGggMjc6ICJi
YW5nICIKLSAgICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtJTlBVVH0gYXQgKDI5LDMpIHNp
emUgMTJ4MTIgW2NvbG9yPSMwMDAwMDBdCisgICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7
SU5QVVR9IGF0ICgyOSwzKSBzaXplIDEyeDEyIFtjb2xvcj0jMDAwMDAwXSBbYmdjb2xvcj0jRUZF
QkU3XQogICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDE5KSBzaXplIDEzOXgx
OQogICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDMpIHNpemUgNDF4
MTIKICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMykgd2lkdGggNDE6ICJ3aGlt
cGVyICIKLSAgICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtJTlBVVH0gYXQgKDQzLDMpIHNp
emUgMTJ4MTIgW2NvbG9yPSMwMDAwMDBdCisgICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7
SU5QVVR9IGF0ICg0MywzKSBzaXplIDEyeDEyIFtjb2xvcj0jMDAwMDAwXSBbYmdjb2xvcj0jRUZF
QkU3XQogICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCiAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgxMCw1OCkgc2l6
ZSAxMzl4MAogICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7Rk9STX0gYXQgKDAsMCkgc2l6
ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvY3NzL3BzZXVkby1jYWNo
ZS1zdGFsZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
cXQvZmFzdC9jc3MvcHNldWRvLWNhY2hlLXN0YWxlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTA3
ODMpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Nzcy9wc2V1ZG8tY2FjaGUtc3Rh
bGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xMiwxNSArMTIsMTUgQEAgbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCw0MSkg
c2l6ZSA3ODR4MjEKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjk4
eDQxCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjk4OiAiVGhpcyBzZW50ZW5j
ZSBzaG91bGQgYmUgZXh0cmEtZXh0cmEtbGFyZ2UuIgotICAgICAgUmVuZGVyQmxvY2sgKGFub255
bW91cykgYXQgKDAsNjIpIHNpemUgNzg0eDMxCi0gICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJ
TlBVVH0gYXQgKDIsMikgc2l6ZSAxNzd4MjcgW2JnY29sb3I9I0ZGRkZGRl0gW2JvcmRlcjogKDJw
eCBpbnNldCAjMDAwMDAwKV0KLSAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMywzKSBz
aXplIDE3MXgyMQorICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsNjIpIHNpemUg
Nzg0eDI1CisgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDIsMikgc2l6ZSAx
NzF4MjEgW2JnY29sb3I9I0ZGRkZGRl0KKyAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MCwwKSBzaXplIDE3MXgyMQogICAgICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMTYp
IHNpemUgMHgwCiAgICAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMTcxLDE2KSBzaXpl
IDB4MAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIgYXQgKDEzLDc1KSBzaXplIDE3MXgy
MQorbGF5ZXIgYXQgKDEwLDcyKSBzaXplIDE3MXgyMQogICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MCwwKSBzaXplIDE3MXgyMSBbY29sb3I9IzAwODAwMF0KICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDEsMCkgc2l6ZSAxNTB4MjEKICAgICAgIHRleHQgcnVuIGF0ICgxLDApIHdpZHRoIDE1MDog
IlRoaXMgc2hvdWxkIGJlIGdyZWVuIgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFz
dC9jc3MvdGV4dC1pbnB1dC13aXRoLXdlYmtpdC1ib3JkZXItcmFkaXVzLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Nzcy90ZXh0LWlucHV0
LXdpdGgtd2Via2l0LWJvcmRlci1yYWRpdXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1MDc4MykK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvY3NzL3RleHQtaW5wdXQtd2l0aC13ZWJr
aXQtYm9yZGVyLXJhZGl1cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE1LDEyICsx
NSwxMiBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHgxNDMKICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgNjgweDIxCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggNjgwOiAiSWYgdGhlIHRlc3QgcGFzc2VzLCB5b3Ugd2lsbCBzZWUgYSB0ZXh0IGVudHJ5
IGZpZWxkIGNvbnRhaW5pbmcgXCJkZWZhdWx0IHRleHRcIiBpbnNpZGUgdGhlIGdyZXkgZGl2IGJl
bG93LiIKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDc0KSBzaXplIDE2M3g0NSBbYmdj
b2xvcj0jODg4ODg4XQotICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgxMSw5
KSBzaXplIDEzM3gyNyBbYmdjb2xvcj0jMDBGRjAwXSBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAw
MDApXQotICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgzLDMpIHNpemUgMTI3eDIxCisg
ICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDExLDkpIHNpemUgMTMzeDIxIFti
Z2NvbG9yPSMwMEZGMDBdCisgICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6
ZSAxMzN4MjEKICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDE2KSBzaXplIDB4
MAotICAgICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEyNywxNikgc2l6ZSAweDAKKyAg
ICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxMzMsMTYpIHNpemUgMHgwCiAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIgYXQgKDIyLDEwMikg
c2l6ZSAxMjd4MjEKLSAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMjd4MjEKK2xh
eWVyIGF0ICgxOSw5OSkgc2l6ZSAxMzN4MjEKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkg
c2l6ZSAxMzN4MjEKICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMCkgc2l6ZSA3N3gyMQog
ICAgICAgdGV4dCBydW4gYXQgKDEsMCkgd2lkdGggNzc6ICJkZWZhdWx0IHRleHQiCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MVGFibGVDb2xFbGVtZW50L3Jlc2l6
ZS10YWJsZS11c2luZy1jb2wtd2lkdGgtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxUYWJsZUNvbEVsZW1lbnQvcmVzaXplLXRh
YmxlLXVzaW5nLWNvbC13aWR0aC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDUwNzgzKQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTFRhYmxlQ29sRWxlbWVudC9yZXNpemUt
dGFibGUtdXNpbmctY29sLXdpZHRoLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzAs
NyArMzAsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgyLDIpIHNpemUgNzd4MjEKICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMiwyKSB3aWR0aCA3NzogImNvbCAzIHJvdyAzIgogICAgICAgUmVuZGVyQmxvY2sg
KGFub255bW91cykgYXQgKDAsNTgpIHNpemUgNzg0eDM2Ci0gICAgICAgIFJlbmRlckJ1dHRvbiB7
QlVUVE9OfSBhdCAoMiwyKSBzaXplIDQ3MHgzMiBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICBS
ZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDIsMikgc2l6ZSA0NzB4MzIgW2NvbG9yPSMxQTFBMUFd
IFtiZ2NvbG9yPSNFRkVCRTddCiAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQg
KDYsNikgc2l6ZSA0NTh4MjEKICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDQ1OHgyMQogICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0NTg6
ICJDbGljayBtZSB0byB0ZXN0IG1hbnVhbGx5LiBUaGUgZmlyc3QgY29sdW1uIHNob3VsZCBncm93
IHRvIDUwMHB4LiIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvYmFz
aWMtYnV0dG9ucy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvZmFzdC9mb3Jtcy9iYXNpYy1idXR0b25zLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTA3
ODMpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL2Jhc2ljLWJ1dHRvbnMt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zNywxNCArMzcsMTQgQEAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4Mzg5CiAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MSwxKSBzaXplIDU4eDIxCiAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGgg
NTg6ICIoZGVmYXVsdCkiCiAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMTg0
LDIzKSBzaXplIDY0eDM4IFtyPTEgYz0xIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVy
QnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUgMjJ4MzIgW2JnY29sb3I9I0MwQzBDMF0KKyAg
ICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUgMjJ4MzIgW2Nv
bG9yPSMxQTFBMUFdIFtiZ2NvbG9yPSNFRkVCRTddCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxv
Y2sgKGFub255bW91cykgYXQgKDYsNikgc2l6ZSAxMHgyMQogICAgICAgICAgICAgICAgICAgUmVu
ZGVySW1hZ2Uge0lNR30gYXQgKDAsNikgc2l6ZSAxMHgxMAogICAgICAgICAgICAgUmVuZGVyVGFi
bGVDZWxsIHtURH0gYXQgKDI0OCwzMCkgc2l6ZSAxNjR4MjMgW3I9MSBjPTIgcnM9MSBjcz0xXQog
ICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxMTJ4MjEKICAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAxMTI6ICIoMzIsIDEyKSAoMzIs
IDEyKSIKICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg0MTIsMjMpIHNpemUg
MTQyeDM4IFtyPTEgYz0zIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtJ
TlBVVH0gYXQgKDMsMykgc2l6ZSAzNHgzMiBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICAgICAg
ICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMywzKSBzaXplIDM0eDMyIFtjb2xvcj0jMUExQTFB
XSBbYmdjb2xvcj0jRUZFQkU3XQogICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1v
dXMpIGF0ICg2LDYpIHNpemUgMjJ4MjEKICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgYXQg
KDAsMCkgc2l6ZSAyMngyMQogICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3
aWR0aCAyMjogImZvbyIKQEAgLTU2LDE0ICs1NiwxNCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgw
MHgzODkKICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgNzV4
MjEKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCA3NTogInBhZGRpbmc6
IDAiCiAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMTg0LDYxKSBzaXplIDY0
eDM4IFtyPTIgYz0xIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtCVVRU
T059IGF0ICgzLDMpIHNpemUgMjJ4MzIgW2JnY29sb3I9I0MwQzBDMF0KKyAgICAgICAgICAgICAg
UmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUgMjJ4MzIgW2NvbG9yPSMxQTFBMUFd
IFtiZ2NvbG9yPSNFRkVCRTddCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91
cykgYXQgKDYsNikgc2l6ZSAxMHgyMQogICAgICAgICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lN
R30gYXQgKDAsNikgc2l6ZSAxMHgxMAogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0g
YXQgKDI0OCw2OCkgc2l6ZSAxNjR4MjMgW3I9MiBjPTIgcnM9MSBjcz0xXQogICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxMTJ4MjEKICAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAxMTI6ICIoMzIsIDEyKSAoMzIsIDEyKSIKICAgICAg
ICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg0MTIsNjEpIHNpemUgMTQyeDM4IFtyPTIg
Yz0zIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDMs
Mykgc2l6ZSAzNHgzMiBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICAgICAgICBSZW5kZXJCdXR0
b24ge0lOUFVUfSBhdCAoMywzKSBzaXplIDM0eDMyIFtjb2xvcj0jMUExQTFBXSBbYmdjb2xvcj0j
RUZFQkU3XQogICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYp
IHNpemUgMjJ4MjEKICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSAy
MngyMQogICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMjogImZv
byIKQEAgLTc1LDE0ICs3NSwxNCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzODkKICAgICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgOTh4MjEKICAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCA5ODogInBhZGRpbmc6IDEwJSIKICAgICAg
ICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgxODQsOTkpIHNpemUgNjR4MzggW3I9MyBj
PTEgcnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDMs
Mykgc2l6ZSAyMngzMiBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICAgICAgICBSZW5kZXJCdXR0
b24ge0JVVFRPTn0gYXQgKDMsMykgc2l6ZSAyMngzMiBbY29sb3I9IzFBMUExQV0gW2JnY29sb3I9
I0VGRUJFN10KICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2
KSBzaXplIDEweDIxCiAgICAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCw2
KSBzaXplIDEweDEwCiAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMjQ4LDEw
Nikgc2l6ZSAxNjR4MjMgW3I9MyBjPTIgcnM9MSBjcz0xXQogICAgICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxMTJ4MjEKICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMSwxKSB3aWR0aCAxMTI6ICIoMzIsIDEyKSAoMzIsIDEyKSIKICAgICAgICAgICAgIFJl
bmRlclRhYmxlQ2VsbCB7VER9IGF0ICg0MTIsOTkpIHNpemUgMTQyeDM4IFtyPTMgYz0zIHJzPTEg
Y3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDMsMykgc2l6ZSAz
NHgzMiBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0lOUFVU
fSBhdCAoMywzKSBzaXplIDM0eDMyIFtjb2xvcj0jMUExQTFBXSBbYmdjb2xvcj0jRUZFQkU3XQog
ICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNpemUgMjJ4
MjEKICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSAyMngyMQogICAg
ICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMjogImZvbyIKQEAgLTk0
LDE0ICs5NCwxNCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzODkKICAgICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgOTJ4MjEKICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCA5MjogInBhZGRpbmc6IDJweCIKICAgICAgICAgICAgIFJl
bmRlclRhYmxlQ2VsbCB7VER9IGF0ICgxODQsMTM3KSBzaXplIDY0eDM4IFtyPTQgYz0xIHJzPTEg
Y3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUg
MjJ4MzIgW2JnY29sb3I9I0MwQzBDMF0KKyAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtCVVRU
T059IGF0ICgzLDMpIHNpemUgMjJ4MzIgW2NvbG9yPSMxQTFBMUFdIFtiZ2NvbG9yPSNFRkVCRTdd
CiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYsNikgc2l6ZSAx
MHgyMQogICAgICAgICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsNikgc2l6ZSAx
MHgxMAogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDI0OCwxNDQpIHNpemUg
MTY0eDIzIFtyPTQgYz0yIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgxLDEpIHNpemUgMTEyeDIxCiAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEs
MSkgd2lkdGggMTEyOiAiKDMyLCAxMikgKDMyLCAxMikiCiAgICAgICAgICAgICBSZW5kZXJUYWJs
ZUNlbGwge1REfSBhdCAoNDEyLDEzNykgc2l6ZSAxNDJ4MzggW3I9NCBjPTMgcnM9MSBjcz0xXQot
ICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMywzKSBzaXplIDM0eDMyIFti
Z2NvbG9yPSNDMEMwQzBdCisgICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgz
LDMpIHNpemUgMzR4MzIgW2NvbG9yPSMxQTFBMUFdIFtiZ2NvbG9yPSNFRkVCRTddCiAgICAgICAg
ICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYsNikgc2l6ZSAyMngyMQogICAg
ICAgICAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBzaXplIDIyeDIxCiAgICAgICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDIyOiAiZm9vIgpAQCAtMTEzLDE0ICsx
MTMsMTQgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4Mzg5CiAgICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDE4MngyMQogICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgxLDEpIHdpZHRoIDE4MjogInBhZGRpbmc6IDJweCA2cHggM3B4IDZweCIKICAgICAg
ICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgxODQsMTc1KSBzaXplIDY0eDM4IFtyPTUg
Yz0xIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgz
LDMpIHNpemUgMjJ4MzIgW2JnY29sb3I9I0MwQzBDMF0KKyAgICAgICAgICAgICAgUmVuZGVyQnV0
dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUgMjJ4MzIgW2NvbG9yPSMxQTFBMUFdIFtiZ2NvbG9y
PSNFRkVCRTddCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYs
Nikgc2l6ZSAxMHgyMQogICAgICAgICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAs
Nikgc2l6ZSAxMHgxMAogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDI0OCwx
ODIpIHNpemUgMTY0eDIzIFtyPTUgYz0yIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMTEyeDIxCiAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDEsMSkgd2lkdGggMTEyOiAiKDMyLCAxMikgKDMyLCAxMikiCiAgICAgICAgICAgICBS
ZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNDEyLDE3NSkgc2l6ZSAxNDJ4MzggW3I9NSBjPTMgcnM9
MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMywzKSBzaXpl
IDM0eDMyIFtiZ2NvbG9yPSNDMEMwQzBdCisgICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7SU5Q
VVR9IGF0ICgzLDMpIHNpemUgMzR4MzIgW2NvbG9yPSMxQTFBMUFdIFtiZ2NvbG9yPSNFRkVCRTdd
CiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYsNikgc2l6ZSAy
MngyMQogICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBzaXplIDIyeDIxCiAg
ICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDIyOiAiZm9vIgpAQCAt
MTMyLDE0ICsxMzIsMTQgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4Mzg5CiAgICAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDEyMngyMQogICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDEyMjogInBhZGRpbmc6IDNweCA3cHgiCiAgICAg
ICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMTg0LDIxMykgc2l6ZSA2NHgzOCBbcj02
IGM9MSBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAo
MywzKSBzaXplIDIyeDMyIFtiZ2NvbG9yPSNDMEMwQzBdCisgICAgICAgICAgICAgIFJlbmRlckJ1
dHRvbiB7QlVUVE9OfSBhdCAoMywzKSBzaXplIDIyeDMyIFtjb2xvcj0jMUExQTFBXSBbYmdjb2xv
cj0jRUZFQkU3XQogICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2
LDYpIHNpemUgMTB4MjEKICAgICAgICAgICAgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgw
LDYpIHNpemUgMTB4MTAKICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgyNDgs
MjIwKSBzaXplIDE2NHgyMyBbcj02IGM9MiBycz0xIGNzPTFdCiAgICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDExMngyMQogICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgxLDEpIHdpZHRoIDExMjogIigzMiwgMTIpICgzMiwgMTIpIgogICAgICAgICAgICAg
UmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDQxMiwyMTMpIHNpemUgMTQyeDM4IFtyPTYgYz0zIHJz
PTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDMsMykgc2l6
ZSAzNHgzMiBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0lO
UFVUfSBhdCAoMywzKSBzaXplIDM0eDMyIFtjb2xvcj0jMUExQTFBXSBbYmdjb2xvcj0jRUZFQkU3
XQogICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNpemUg
MjJ4MjEKICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSAyMngyMQog
ICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMjogImZvbyIKQEAg
LTE1MSwxNCArMTUxLDE0IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDM4OQogICAgICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxMDF4MjEKICAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAxMDE6ICJwYWRkaW5nOiAyMHB4IgogICAgICAg
ICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDE4NCwyNTEpIHNpemUgNjR4MzggW3I9NyBj
PTEgcnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDMs
Mykgc2l6ZSAyMngzMiBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICAgICAgICBSZW5kZXJCdXR0
b24ge0JVVFRPTn0gYXQgKDMsMykgc2l6ZSAyMngzMiBbY29sb3I9IzFBMUExQV0gW2JnY29sb3I9
I0VGRUJFN10KICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2
KSBzaXplIDEweDIxCiAgICAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCw2
KSBzaXplIDEweDEwCiAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMjQ4LDI1
OCkgc2l6ZSAxNjR4MjMgW3I9NyBjPTIgcnM9MSBjcz0xXQogICAgICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxMTJ4MjEKICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMSwxKSB3aWR0aCAxMTI6ICIoMzIsIDEyKSAoMzIsIDEyKSIKICAgICAgICAgICAgIFJl
bmRlclRhYmxlQ2VsbCB7VER9IGF0ICg0MTIsMjUxKSBzaXplIDE0MngzOCBbcj03IGM9MyBycz0x
IGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgzLDMpIHNpemUg
MzR4MzIgW2JnY29sb3I9I0MwQzBDMF0KKyAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtJTlBV
VH0gYXQgKDMsMykgc2l6ZSAzNHgzMiBbY29sb3I9IzFBMUExQV0gW2JnY29sb3I9I0VGRUJFN10K
ICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2KSBzaXplIDIy
eDIxCiAgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IGF0ICgwLDApIHNpemUgMjJ4MjEKICAg
ICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjI6ICJmb28iCkluZGV4
OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL2Jhc2ljLWlucHV0cy1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9i
YXNpYy1pbnB1dHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1MDc4MykKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvYmFzaWMtaW5wdXRzLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMzUsMzUgKzM1LDM1IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAog
ICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEwLDM2Nykgc2l6ZSA0NTB4NjQgW2JvcmRlcjog
KDFweCBzb2xpZCAjRkYwMDAwKV0KICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDYp
IHNpemUgOXgyMQogICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDYpIHdpZHRoIDk6ICJhIgotICAg
ICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgxMiwzKSBzaXplIDE3NXgyNworICAg
ICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgxMiwzKSBzaXplIDE3NXgyNyBbYmdj
b2xvcj0jRkZGRkZGXQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE4OSw2KSBzaXpl
IDI5eDIxCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDE4OSw2KSB3aWR0aCAyOTogInRleHQgIgot
ICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyMjAsMykgc2l6ZSAxNzV4MjcK
KyAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMjIwLDMpIHNpemUgMTc1eDI3
IFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzk3LDYp
IHNpemUgMjJ4MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzk3LDYpIHdpZHRoIDEzOiAiYiAi
CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDQxMCw2KSB3aWR0aCA5OiAiYSIKLSAgICAgICAgUmVu
ZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMywzNCkgc2l6ZSAxNzV4MjcKKyAgICAgICAgUmVu
ZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMywzNCkgc2l6ZSAxNzV4MjcgW2JnY29sb3I9I0ZG
RkZGRl0KICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxODAsMzcpIHNpemUgNzN4MjEK
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTgwLDM3KSB3aWR0aCA3MzogInBhc3N3b3JkICIKLSAg
ICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMjU1LDM0KSBzaXplIDE3NXgyNwor
ICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyNTUsMzQpIHNpemUgMTc1eDI3
IFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNDMyLDM3
KSBzaXplIDl4MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDMyLDM3KSB3aWR0aCA5OiAiYiIK
ICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxMCw0NDEpIHNpemUgNDUweDIzIFtib3JkZXI6
ICgxcHggc29saWQgI0ZGMDAwMCldCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwx
KSBzaXplIDl4MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCA5OiAiYSIKLSAg
ICAgICAgUmVuZGVyQmxvY2sge0lOUFVUfSBhdCAoMTQsNikgc2l6ZSAxM3gxMworICAgICAgICBS
ZW5kZXJCbG9jayB7SU5QVVR9IGF0ICgxNCw2KSBzaXplIDEzeDEzIFtiZ2NvbG9yPSNFRkVCRTdd
CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzEsMSkgc2l6ZSA3MngyMQogICAgICAg
ICAgIHRleHQgcnVuIGF0ICgzMSwxKSB3aWR0aCA3MjogImNoZWNrYm94ICIKLSAgICAgICAgUmVu
ZGVyQmxvY2sge0lOUFVUfSBhdCAoMTA3LDYpIHNpemUgMTN4MTMKKyAgICAgICAgUmVuZGVyQmxv
Y2sge0lOUFVUfSBhdCAoMTA3LDYpIHNpemUgMTN4MTMgW2JnY29sb3I9I0VGRUJFN10KICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMjQsMSkgc2l6ZSA5eDIxCiAgICAgICAgICAgdGV4
dCBydW4gYXQgKDEyNCwxKSB3aWR0aCA5OiAiYiIKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0
ICgxMCw0NzQpIHNpemUgNDUweDIzIFtib3JkZXI6ICgxcHggc29saWQgI0ZGMDAwMCldCiAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDl4MjEKICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMSwxKSB3aWR0aCA5OiAiYSIKLSAgICAgICAgUmVuZGVyQmxvY2sge0lOUFVUfSBh
dCAoMTQsNykgc2l6ZSAxMngxMgorICAgICAgICBSZW5kZXJCbG9jayB7SU5QVVR9IGF0ICgxNCw3
KSBzaXplIDEyeDEyIFtiZ2NvbG9yPSNFRkVCRTddCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMzAsMSkgc2l6ZSA0MHgyMQogICAgICAgICAgIHRleHQgcnVuIGF0ICgzMCwxKSB3aWR0
aCA0MDogInJhZGlvICIKLSAgICAgICAgUmVuZGVyQmxvY2sge0lOUFVUfSBhdCAoNzQsNykgc2l6
ZSAxMngxMgorICAgICAgICBSZW5kZXJCbG9jayB7SU5QVVR9IGF0ICg3NCw3KSBzaXplIDEyeDEy
IFtiZ2NvbG9yPSNFRkVCRTddCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoOTAsMSkg
c2l6ZSA5eDIxCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDkwLDEpIHdpZHRoIDk6ICJiIgogbGF5
ZXIgYXQgKDMyLDM4MSkgc2l6ZSAxNzF4MjEgc2Nyb2xsV2lkdGggMjE1CkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL2J1dHRvbi1zdHlsZS1jb2xvci1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9idXR0
b24tc3R5bGUtY29sb3ItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1MDc4MykKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvYnV0dG9uLXN0eWxlLWNvbG9yLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMyw1MCArMyw1MCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJCbG9jayB7SFRNTH0g
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6
ZSA3ODR4NTg0Ci0gICAgICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDIsMikgc2l6ZSA5M3gz
MiBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgyLDIp
IHNpemUgOTN4MzIgW2NvbG9yPSMxQTFBMUFdIFtiZ2NvbG9yPSNFRkVCRTddCiAgICAgICAgIFJl
bmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNpemUgODF4MjEKICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA4MXgyMQogICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMCkgd2lkdGggODE6ICJUZXN0IEJ1dHRvbiIKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoOTcsOCkgc2l6ZSA0eDIxCiAgICAgICAgIHRleHQgcnVuIGF0ICg5Nyw4KSB3aWR0aCA0
OiAiICIKLSAgICAgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMTAzLDIpIHNpemUgOTN4MzIg
W2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSNDMEMwQzBdCisgICAgICBSZW5kZXJCdXR0b24ge0JV
VFRPTn0gYXQgKDEwMywyKSBzaXplIDkzeDMyIFtjb2xvcj0jRkYwMDAwXSBbYmdjb2xvcj0jRUZF
QkU3XQogICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2KSBzaXplIDgxeDIx
CiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgODF4MjEKICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDgxOiAiVGVzdCBCdXR0b24iCiAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE5OCw4KSBzaXplIDR4MjEKICAgICAgICAgdGV4dCBydW4g
YXQgKDE5OCw4KSB3aWR0aCA0OiAiICIKLSAgICAgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAo
MjA0LDQpIHNpemUgOTd4MzAgW2JnY29sb3I9IzAwODAwMF0gW2JvcmRlcjogKDJweCBvdXRzZXQg
I0MwQzBDMCldCi0gICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg4LDQpIHNpemUg
ODF4MjEKKyAgICAgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMjA0LDIpIHNpemUgOTN4MzIg
W2NvbG9yPSMxQTFBMUFdIFtiZ2NvbG9yPSMwMDgwMDBdCisgICAgICAgIFJlbmRlckJsb2NrIChh
bm9ueW1vdXMpIGF0ICg2LDYpIHNpemUgODF4MjEKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSA4MXgyMQogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lk
dGggODE6ICJUZXN0IEJ1dHRvbiIKLSAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzAzLDgp
IHNpemUgNHgyMQotICAgICAgICB0ZXh0IHJ1biBhdCAoMzAzLDgpIHdpZHRoIDQ6ICIgIgotICAg
ICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzMDksNCkgc2l6ZSA5N3gzMCBbY29sb3I9I0ZG
MDAwMF0gW2JnY29sb3I9IzAwODAwMF0gW2JvcmRlcjogKDJweCBvdXRzZXQgI0MwQzBDMCldCi0g
ICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg4LDQpIHNpemUgODF4MjEKKyAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjk5LDgpIHNpemUgNHgyMQorICAgICAgICB0ZXh0IHJ1
biBhdCAoMjk5LDgpIHdpZHRoIDQ6ICIgIgorICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0
ICgzMDUsMikgc2l6ZSA5M3gzMiBbY29sb3I9I0ZGMDAwMF0gW2JnY29sb3I9IzAwODAwMF0KKyAg
ICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYsNikgc2l6ZSA4MXgyMQogICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDgxeDIxCiAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4MTogIlRlc3QgQnV0dG9uIgotICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICg0MDgsOCkgc2l6ZSA0eDIxCi0gICAgICAgIHRleHQgcnVuIGF0ICg0MDgs
OCkgd2lkdGggNDogIiAiCi0gICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoNDE0LDIpIHNp
emUgOTN4MzIgW2JnY29sb3I9I0MwQzBDMF0KKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
NDAwLDgpIHNpemUgNHgyMQorICAgICAgICB0ZXh0IHJ1biBhdCAoNDAwLDgpIHdpZHRoIDQ6ICIg
IgorICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDQwNiwyKSBzaXplIDkzeDMyIFtjb2xv
cj0jMUExQTFBXSBbYmdjb2xvcj0jRUZFQkU3XQogICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnlt
b3VzKSBhdCAoNiw2KSBzaXplIDgxeDIxCiAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBz
aXplIDgxeDIxCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4MTogIlRlc3Qg
QnV0dG9uIgotICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1MDksOCkgc2l6ZSA0eDIxCi0g
ICAgICAgIHRleHQgcnVuIGF0ICg1MDksOCkgd2lkdGggNDogIiAiCi0gICAgICBSZW5kZXJCdXR0
b24ge0lOUFVUfSBhdCAoNTE1LDIpIHNpemUgOTN4MzIgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9y
PSNDMEMwQzBdCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDUwMSw4KSBzaXplIDR4MjEK
KyAgICAgICAgdGV4dCBydW4gYXQgKDUwMSw4KSB3aWR0aCA0OiAiICIKKyAgICAgIFJlbmRlckJ1
dHRvbiB7SU5QVVR9IGF0ICg1MDcsMikgc2l6ZSA5M3gzMiBbY29sb3I9I0ZGMDAwMF0gW2JnY29s
b3I9I0VGRUJFN10KICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYsNikgc2l6
ZSA4MXgyMQogICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSA4MXgyMQogICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODE6ICJUZXN0IEJ1dHRvbiIKLSAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoNjEwLDgpIHNpemUgNHgyMQotICAgICAgICB0ZXh0IHJ1biBh
dCAoNjEwLDgpIHdpZHRoIDQ6ICIgIgotICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDYx
Niw0KSBzaXplIDk3eDMwIFtiZ2NvbG9yPSMwMDgwMDBdIFtib3JkZXI6ICgycHggb3V0c2V0ICND
MEMwQzApXQotICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoOCw0KSBzaXplIDgx
eDIxCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDYwMiw4KSBzaXplIDR4MjEKKyAgICAg
ICAgdGV4dCBydW4gYXQgKDYwMiw4KSB3aWR0aCA0OiAiICIKKyAgICAgIFJlbmRlckJ1dHRvbiB7
SU5QVVR9IGF0ICg2MDgsMikgc2l6ZSA5M3gzMiBbY29sb3I9IzFBMUExQV0gW2JnY29sb3I9IzAw
ODAwMF0KKyAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYsNikgc2l6ZSA4MXgy
MQogICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSA4MXgyMQogICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODE6ICJUZXN0IEJ1dHRvbiIKLSAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoNzE1LDgpIHNpemUgNHgyMQotICAgICAgICB0ZXh0IHJ1biBhdCAoNzE1
LDgpIHdpZHRoIDQ6ICIgIgotICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDIsMzgpIHNp
emUgOTd4MzAgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSMwMDgwMDBdIFtib3JkZXI6ICgycHgg
b3V0c2V0ICNDMEMwQzApXQotICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoOCw0
KSBzaXplIDgxeDIxCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcwMyw4KSBzaXplIDR4
MjEKKyAgICAgICAgdGV4dCBydW4gYXQgKDcwMyw4KSB3aWR0aCA0OiAiICIKKyAgICAgIFJlbmRl
ckJ1dHRvbiB7SU5QVVR9IGF0ICgyLDM4KSBzaXplIDkzeDMyIFtjb2xvcj0jRkYwMDAwXSBbYmdj
b2xvcj0jMDA4MDAwXQorICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2KSBz
aXplIDgxeDIxCiAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBzaXplIDgxeDIxCiAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4MTogIlRlc3QgQnV0dG9uIgogICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL2lzaW5kZXgtcGxhY2Vob2xkZXItZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvaXNpbmRleC1w
bGFjZWhvbGRlci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDUwNzgzKQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9pc2luZGV4LXBsYWNlaG9sZGVyLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMTksNyArMTksNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTApIHNpemUgNzg0eDMx
CiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMzY0eDIxCiAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1KSB3aWR0aCAzNjQ6ICJUaGlzIGlzIGEgc2VhcmNoYWJs
ZSBpbmRleC4gRW50ZXIgc2VhcmNoIGtleXdvcmRzOiAiCi0gICAgICAgICAgUmVuZGVyVGV4dENv
bnRyb2wge0lTSU5ERVh9IGF0ICgzNjYsMikgc2l6ZSAxNzV4MjcKKyAgICAgICAgICBSZW5kZXJU
ZXh0Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2NiwyKSBzaXplIDE3NXgyNyBbYmdjb2xvcj0jRkZG
RkZGXQogICAgICAgICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDQ5KSBzaXplIDc4NHgyIFtib3Jk
ZXI6ICgxcHggaW5zZXQgIzAwMDAwMCldCiAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBh
dCAoMCwxMjUpIHNpemUgNzg0eDIxCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDI2OHgyMQpAQCAtMjksNyArMjksNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTApIHNpemUgNzg0eDMx
CiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMzY0eDIxCiAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1KSB3aWR0aCAzNjQ6ICJUaGlzIGlzIGEgc2VhcmNoYWJs
ZSBpbmRleC4gRW50ZXIgc2VhcmNoIGtleXdvcmRzOiAiCi0gICAgICAgICAgUmVuZGVyVGV4dENv
bnRyb2wge0lTSU5ERVh9IGF0ICgzNjYsMikgc2l6ZSAxNzV4MjcKKyAgICAgICAgICBSZW5kZXJU
ZXh0Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2NiwyKSBzaXplIDE3NXgyNyBbYmdjb2xvcj0jRkZG
RkZGXQogICAgICAgICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDQ5KSBzaXplIDc4NHgyIFtib3Jk
ZXI6ICgxcHggaW5zZXQgIzAwMDAwMCldCiBsYXllciBhdCAoMzc2LDg5KSBzaXplIDE3MXgyMQog
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwzKSBzaXplIDE3MXgyMSBbY29sb3I9I0E5QTlBOV0K
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvbWVudWxpc3Qtc3R5bGUt
Y29sb3ItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0
L2Zhc3QvZm9ybXMvbWVudWxpc3Qtc3R5bGUtY29sb3ItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1
MDc4MykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvbWVudWxpc3Qtc3R5
bGUtY29sb3ItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zLDI2ICszLDI2IEBAIGxh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAg
IFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICBSZW5kZXJCb2R5
IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKLSAgICAgIFJlbmRlck1lbnVMaXN0IHtTRUxF
Q1R9IGF0ICgyLDIpIHNpemUgODN4MjcgW2JnY29sb3I9I0ZGRkZGRl0KKyAgICAgIFJlbmRlck1l
bnVMaXN0IHtTRUxFQ1R9IGF0ICgyLDIpIHNpemUgODN4MjcgW2JnY29sb3I9I0VGRUJFN10KICAg
ICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDgsNCkgc2l6ZSA1MXgyMQogICAgICAg
ICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSA1MXgyMQogICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMCkgd2lkdGggNTE6ICJEZWZhdWx0IgogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICg4Nyw2KSBzaXplIDR4MjEKICAgICAgICAgdGV4dCBydW4gYXQgKDg3LDYpIHdpZHRoIDQ6ICIg
IgotICAgICAgUmVuZGVyTWVudUxpc3Qge1NFTEVDVH0gYXQgKDkzLDIpIHNpemUgNzR4MjcgW2Nv
bG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSNGRkZGRkZdCisgICAgICBSZW5kZXJNZW51TGlzdCB7U0VM
RUNUfSBhdCAoOTMsMikgc2l6ZSA3NHgyNyBbY29sb3I9I0ZGMDAwMF0gW2JnY29sb3I9I0VGRUJF
N10KICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDgsNCkgc2l6ZSA0MngyMQog
ICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSAzMHgyMQogICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggMzA6ICJSZWQiCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDE2OSw2KSBzaXplIDR4MjEKICAgICAgICAgdGV4dCBydW4gYXQgKDE2OSw2KSB3aWR0aCA0
OiAiICIKLSAgICAgIFJlbmRlck1lbnVMaXN0IHtTRUxFQ1R9IGF0ICgxNzUsMykgc2l6ZSAxNTJ4
MjUgW2JnY29sb3I9IzAwODAwMF0gW2JvcmRlcjogKDFweCBzb2xpZCAjMDAwMDAwKV0KLSAgICAg
ICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDksMykgc2l6ZSAxMTh4MjEKKyAgICAgIFJl
bmRlck1lbnVMaXN0IHtTRUxFQ1R9IGF0ICgxNzUsMikgc2l6ZSAxNTB4MjcgW2JnY29sb3I9IzAw
ODAwMF0KKyAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDgsNCkgc2l6ZSAxMTh4
MjEKICAgICAgICAgICBSZW5kZXJUZXh0IGF0ICgwLDApIHNpemUgMTE4eDIxCiAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMTg6ICJEZWZhdWx0IG9uIGdyZWVuIgotICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzMjksNikgc2l6ZSA0eDIxCi0gICAgICAgIHRleHQgcnVu
IGF0ICgzMjksNikgd2lkdGggNDogIiAiCi0gICAgICBSZW5kZXJNZW51TGlzdCB7U0VMRUNUfSBh
dCAoMzM1LDMpIHNpemUgMTMxeDI1IFtjb2xvcj0jRkYwMDAwXSBbYmdjb2xvcj0jMDA4MDAwXSBb
Ym9yZGVyOiAoMXB4IHNvbGlkICNGRjAwMDApXQotICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnlt
b3VzKSBhdCAoOSwzKSBzaXplIDk3eDIxCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMy
Nyw2KSBzaXplIDR4MjEKKyAgICAgICAgdGV4dCBydW4gYXQgKDMyNyw2KSB3aWR0aCA0OiAiICIK
KyAgICAgIFJlbmRlck1lbnVMaXN0IHtTRUxFQ1R9IGF0ICgzMzMsMikgc2l6ZSAxMjl4MjcgW2Nv
bG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSMwMDgwMDBdCisgICAgICAgIFJlbmRlckJsb2NrIChhbm9u
eW1vdXMpIGF0ICg4LDQpIHNpemUgOTd4MjEKICAgICAgICAgICBSZW5kZXJUZXh0IGF0ICgwLDAp
IHNpemUgOTd4MjEKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDk3OiAiUmVk
IG9uIGdyZWVuIgogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHQtc3R5bGUtY29sb3It
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3Qv
Zm9ybXMvdGV4dC1zdHlsZS1jb2xvci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDUwNzgzKQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0LXN0eWxlLWNvbG9yLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTEsNyArMTEsNyBAQCBsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTApIHNp
emUgNzg0eDMxCiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMzY0
eDIxCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1KSB3aWR0aCAzNjQ6ICJUaGlzIGlzIGEg
c2VhcmNoYWJsZSBpbmRleC4gRW50ZXIgc2VhcmNoIGtleXdvcmRzOiAiCi0gICAgICAgICAgUmVu
ZGVyVGV4dENvbnRyb2wge0lTSU5ERVh9IGF0ICgzNjYsMikgc2l6ZSAxNzV4MjcKKyAgICAgICAg
ICBSZW5kZXJUZXh0Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2NiwyKSBzaXplIDE3NXgyNyBbYmdj
b2xvcj0jRkZGRkZGXQogICAgICAgICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDQ5KSBzaXplIDc4
NHgyIFtib3JkZXI6ICgxcHggaW5zZXQgIzAwMDAwMCldCiAgICAgICBSZW5kZXJCbG9jayAoYW5v
bnltb3VzKSBhdCAoMCw4OCkgc2l6ZSA3ODR4MjEKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMTYyeDIxCkBAIC0yMSw3ICsyMSw3IEBAIGxheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAogICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxMCkgc2l6
ZSA3ODR4MzEKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNSkgc2l6ZSAzNjR4
MjEKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDUpIHdpZHRoIDM2NDogIlRoaXMgaXMgYSBz
ZWFyY2hhYmxlIGluZGV4LiBFbnRlciBzZWFyY2gga2V5d29yZHM6ICIKLSAgICAgICAgICBSZW5k
ZXJUZXh0Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2NiwyKSBzaXplIDE3NXgyNyBbY29sb3I9I0ZG
MDAwMF0KKyAgICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2NiwyKSBz
aXplIDE3NXgyNyBbY29sb3I9I0ZGMDAwMF0gW2JnY29sb3I9I0ZGRkZGRl0KICAgICAgICAgUmVu
ZGVyQmxvY2sge0hSfSBhdCAoMCw0OSkgc2l6ZSA3ODR4MiBbYm9yZGVyOiAoMXB4IGluc2V0ICMw
MDAwMDApXQogICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTc2KSBzaXplIDc4
NHgyMQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyMzd4MjEKQEAg
LTMxLDcgKzMxLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgIFJlbmRl
ckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDEwKSBzaXplIDc4NHgzMQogICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCw1KSBzaXplIDM2NHgyMQogICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsNSkgd2lkdGggMzY0OiAiVGhpcyBpcyBhIHNlYXJjaGFibGUgaW5kZXguIEVudGVyIHNl
YXJjaCBrZXl3b3JkczogIgotICAgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJU0lOREVYfSBh
dCAoMzY2LDIpIHNpemUgMTc3eDI3IFtiZ2NvbG9yPSMwMDgwMDBdIFtib3JkZXI6ICgycHggaW5z
ZXQgIzAwMDAwMCldCisgICAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lTSU5ERVh9IGF0ICgz
NjYsMikgc2l6ZSAxNzV4MjcgW2JnY29sb3I9IzAwODAwMF0KICAgICAgICAgUmVuZGVyQmxvY2sg
e0hSfSBhdCAoMCw0OSkgc2l6ZSA3ODR4MiBbYm9yZGVyOiAoMXB4IGluc2V0ICMwMDAwMDApXQog
ICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMjY0KSBzaXplIDc4NHgyMQogICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyMzJ4MjEKQEAgLTQxLDE5ICs0
MSwxOSBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgUmVuZGVyQmxvY2sg
KGFub255bW91cykgYXQgKDAsMTApIHNpemUgNzg0eDMxCiAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDUpIHNpemUgMzY0eDIxCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1
KSB3aWR0aCAzNjQ6ICJUaGlzIGlzIGEgc2VhcmNoYWJsZSBpbmRleC4gRW50ZXIgc2VhcmNoIGtl
eXdvcmRzOiAiCi0gICAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lTSU5ERVh9IGF0ICgzNjYs
Mikgc2l6ZSAxNzd4MjcgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSMwMDgwMDBdIFtib3JkZXI6
ICgycHggaW5zZXQgI0ZGMDAwMCldCisgICAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lTSU5E
RVh9IGF0ICgzNjYsMikgc2l6ZSAxNzV4MjcgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSMwMDgw
MDBdCiAgICAgICAgIFJlbmRlckJsb2NrIHtIUn0gYXQgKDAsNDkpIHNpemUgNzg0eDIgW2JvcmRl
cjogKDFweCBpbnNldCAjMDAwMDAwKV0KICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0
ICgwLDM1Mikgc2l6ZSA3ODR4MzEKLSAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBh
dCAoMiwyKSBzaXplIDE3NXgyNworICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0
ICgyLDIpIHNpemUgMTc1eDI3IFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMTc5LDUpIHNpemUgNHgyMQogICAgICAgICAgIHRleHQgcnVuIGF0ICgxNzks
NSkgd2lkdGggNDogIiAiCi0gICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDE4
NSwyKSBzaXplIDE3NXgyNyBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgUmVuZGVyVGV4dENvbnRy
b2wge0lOUFVUfSBhdCAoMTg1LDIpIHNpemUgMTc1eDI3IFtjb2xvcj0jRkYwMDAwXSBbYmdjb2xv
cj0jRkZGRkZGXQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDM2Miw1KSBzaXplIDR4
MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzYyLDUpIHdpZHRoIDQ6ICIgIgotICAgICAgICBS
ZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgzNjgsMikgc2l6ZSAxNzd4MjcgW2JnY29sb3I9
IzAwODAwMF0gW2JvcmRlcjogKDJweCBpbnNldCAjMDAwMDAwKV0KLSAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICg1NDcsNSkgc2l6ZSA0eDIxCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDU0
Nyw1KSB3aWR0aCA0OiAiICIKLSAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAo
NTUzLDIpIHNpemUgMTc3eDI3IFtjb2xvcj0jRkYwMDAwXSBbYmdjb2xvcj0jMDA4MDAwXSBbYm9y
ZGVyOiAoMnB4IGluc2V0ICNGRjAwMDApXQorICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5Q
VVR9IGF0ICgzNjgsMikgc2l6ZSAxNzV4MjcgW2JnY29sb3I9IzAwODAwMF0KKyAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICg1NDUsNSkgc2l6ZSA0eDIxCisgICAgICAgICAgdGV4dCBydW4g
YXQgKDU0NSw1KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVU
fSBhdCAoNTUxLDIpIHNpemUgMTc1eDI3IFtjb2xvcj0jRkYwMDAwXSBbYmdjb2xvcj0jMDA4MDAw
XQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKIGxheWVyIGF0
ICgzNzYsNTIpIHNpemUgMTcxeDIxCiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDMpIHNpemUg
MTcxeDIxCkBAIC02MywxMiArNjMsMTIgQEAgbGF5ZXIgYXQgKDM3NiwxNDApIHNpemUgMTcxeDIx
CiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDMpIHNpemUgMTcxeDIxCiAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgxLDApIHNpemUgMjN4MjEKICAgICAgIHRleHQgcnVuIGF0ICgxLDApIHdp
ZHRoIDIzOiAicmVkIgotbGF5ZXIgYXQgKDM3NywyMjgpIHNpemUgMTcxeDIxCi0gIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgzLDMpIHNpemUgMTcxeDIxCitsYXllciBhdCAoMzc2LDIyOCkgc2l6ZSAx
NzF4MjEKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMykgc2l6ZSAxNzF4MjEKICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDEsMCkgc2l6ZSAxMTV4MjEKICAgICAgIHRleHQgcnVuIGF0ICgx
LDApIHdpZHRoIDExNTogImRlZmF1bHQgb24gZ3JlZW4iCi1sYXllciBhdCAoMzc3LDMxNikgc2l6
ZSAxNzF4MjEKLSAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDMsMykgc2l6ZSAxNzF4MjEKK2xheWVy
IGF0ICgzNzYsMzE2KSBzaXplIDE3MXgyMQorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwzKSBz
aXplIDE3MXgyMQogICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwwKSBzaXplIDkweDIxCiAg
ICAgICB0ZXh0IHJ1biBhdCAoMSwwKSB3aWR0aCA5MDogInJlZCBvbiBncmVlbiIKIGxheWVyIGF0
ICgxMiwzNjUpIHNpemUgMTcxeDIxCkBAIC03OSwxMSArNzksMTEgQEAgbGF5ZXIgYXQgKDE5NSwz
NjUpIHNpemUgMTcxeDIxCiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDMpIHNpemUgMTcxeDIx
CiAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDApIHNpemUgMjN4MjEKICAgICAgIHRleHQg
cnVuIGF0ICgxLDApIHdpZHRoIDIzOiAicmVkIgotbGF5ZXIgYXQgKDM3OSwzNjUpIHNpemUgMTcx
eDIxCi0gIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgzLDMpIHNpemUgMTcxeDIxCitsYXllciBhdCAo
Mzc4LDM2NSkgc2l6ZSAxNzF4MjEKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMykgc2l6ZSAx
NzF4MjEKICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMCkgc2l6ZSAxMTV4MjEKICAgICAg
IHRleHQgcnVuIGF0ICgxLDApIHdpZHRoIDExNTogImRlZmF1bHQgb24gZ3JlZW4iCi1sYXllciBh
dCAoNTY0LDM2NSkgc2l6ZSAxNzF4MjEKLSAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDMsMykgc2l6
ZSAxNzF4MjEKK2xheWVyIGF0ICg1NjEsMzY1KSBzaXplIDE3MXgyMQorICBSZW5kZXJCbG9jayB7
RElWfSBhdCAoMiwzKSBzaXplIDE3MXgyMQogICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSww
KSBzaXplIDkweDIxCiAgICAgICB0ZXh0IHJ1biBhdCAoMSwwKSB3aWR0aCA5MDogInJlZCBvbiBn
cmVlbiIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dGFyZWEt
cGxhY2Vob2xkZXItcHNldWRvLXN0eWxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXBzZXVk
by1zdHlsZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDUwNzgzKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci1wc2V1ZG8tc3R5bGUtZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNCwyMiArMTQsMjIgQEAgbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgIHRleHQgcnVuIGF0ICg1NDgsNTEpIHdpZHRoIDQ6ICIg
IgogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiBsYXllciBhdCAo
MTAsMzEpIHNpemUgMTc2eDQyCi0gIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDIs
MjMpIHNpemUgMTc2eDQyCisgIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDIsMjMp
IHNpemUgMTc2eDQyIFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDAsMCkgc2l6ZSAxNzZ4MjEgW2NvbG9yPSM2NDAwMDBdCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAyNXgyMQogICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAy
NTogInRleHQiCiBsYXllciBhdCAoMTk0LDMxKSBzaXplIDE3Nng0MgotICBSZW5kZXJUZXh0Q29u
dHJvbCB7VEVYVEFSRUF9IGF0ICgxODYsMjMpIHNpemUgMTc2eDQyCi0gICAgUmVuZGVyQmxvY2sg
e0RJVn0gYXQgKDAsMCkgc2l6ZSAxNzZ4MjEgW2NvbG9yPSM2NDAwMDBdCisgIFJlbmRlclRleHRD
b250cm9sIHtURVhUQVJFQX0gYXQgKDE4NiwyMykgc2l6ZSAxNzZ4NDIgW2JnY29sb3I9I0ZGRkZG
Rl0KKyAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDE3NngyMSBbY29sb3I9I0I4
MDAwMF0KICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDkweDIxCiAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDkwOiAiZGlzYWJsZWQgdGV4dCIKIGxheWVyIGF0
ICgzNzgsMzEpIHNpemUgMTc2eDQyCi0gIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQg
KDM3MCwyMykgc2l6ZSAxNzZ4NDIKKyAgUmVuZGVyVGV4dENvbnRyb2wge1RFWFRBUkVBfSBhdCAo
MzcwLDIzKSBzaXplIDE3Nng0MiBbYmdjb2xvcj0jRkZGRkZGXQogICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgwLDApIHNpemUgMTc2eDIxIFtjb2xvcj0jQTlBOUE5XQogICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDh4MjEKICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggNDg6ICJkZWZhdWx0IgogbGF5ZXIgYXQgKDU2MiwzMSkgc2l6ZSAxNzZ4NDIKLSAgUmVu
ZGVyVGV4dENvbnRyb2wge1RFWFRBUkVBfSBhdCAoNTU0LDIzKSBzaXplIDE3Nng0MgotICAgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIxIFtjb2xvcj0jNTU1NTU1XQorICBS
ZW5kZXJUZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICg1NTQsMjMpIHNpemUgMTc2eDQyIFtiZ2Nv
bG9yPSNGRkZGRkZdCisgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxNzZ4MjEg
W2NvbG9yPSNBOUE5QTldCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAx
MTN4MjEKICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTEzOiAiZGVmYXVsdCBkaXNh
YmxlZCIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dGFyZWEt
cGxhY2Vob2xkZXItc2V0LWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci1zZXQt
YXR0cmlidXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTA3ODMpCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXNldC1hdHRyaWJ1dGUt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC04LDcgKzgsNyBAQCBsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0ODY6ICJJ
ZiB5b3UgY2FuIHNlZSB0aGUgd29yZCBcIlBsYWNlaG9sZGVyXCIgaW4gdGhlIHRleHQgYXJlYSwg
dGhlbiBhbGwgaXMgd2VsbC4iCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMzcpIHNpemUg
Nzg0eDQ2CiBsYXllciBhdCAoMTAsNDcpIHNpemUgMTc2eDQyCi0gIFJlbmRlclRleHRDb250cm9s
IHtURVhUQVJFQX0gYXQgKDIsMikgc2l6ZSAxNzZ4NDIKKyAgUmVuZGVyVGV4dENvbnRyb2wge1RF
WFRBUkVBfSBhdCAoMiwyKSBzaXplIDE3Nng0MiBbYmdjb2xvcj0jRkZGRkZGXQogICAgIFJlbmRl
ckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIxIFtjb2xvcj0jQTlBOUE5XQogICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgODZ4MjEKICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMCkgd2lkdGggODY6ICJQbGFjZWhvbGRlciIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRm
b3JtL3F0L2Zhc3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItc2V0LXZhbHVlLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3Rl
eHRhcmVhLXBsYWNlaG9sZGVyLXNldC12YWx1ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDUwNzgz
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhv
bGRlci1zZXQtdmFsdWUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNiw3ICsxNiw3
IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMHgwCiBsYXllciBhdCAoMTAsNDcpIHNpemUgMTc2eDQyCi0gIFJlbmRlclRleHRDb250
cm9sIHtURVhUQVJFQX0gYXQgKDIsMikgc2l6ZSAxNzZ4NDIKKyAgUmVuZGVyVGV4dENvbnRyb2wg
e1RFWFRBUkVBfSBhdCAoMiwyKSBzaXplIDE3Nng0MiBbYmdjb2xvcj0jRkZGRkZGXQogICAgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIxCiAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSA2MngyMQogICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0
aCA2MjogIk5ldyB0ZXh0IgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvdGFibGVzL21v
emlsbGEvYnVncy9idWc5MjY0Ny0yLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzkyNjQ3LTItZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA1MDc4MykKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L3RhYmxlcy9t
b3ppbGxhL2J1Z3MvYnVnOTI2NDctMi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEy
LDUgKzEyLDUgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgICAgICAg
ICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDIpIHNpemUgMzZ4NDAKICAgICAgICAgICAgICAg
ICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDIsMjApIHNpemUgNHg0IFtib3JkZXI6ICgx
cHggaW5zZXQgIzgwODA4MCldIFtyPTAgYz0wIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgICAg
ICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDgsMikgc2l6ZSAyMHg0MCBbYm9yZGVyOiAoMXB4
IGluc2V0ICM4MDgwODApXSBbcj0wIGM9MSBycz0xIGNzPTFdCi0gICAgICAgICAgICAgICAgICAg
ICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDQsNCkgc2l6ZSAxMngzMiBbYmdjb2xvcj0jQzBD
MEMwXQorICAgICAgICAgICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICg0LDQp
IHNpemUgMTJ4MzIgW2NvbG9yPSMxQTFBMUFdIFtiZ2NvbG9yPSNFRkVCRTddCiAgICAgICAgICAg
ICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgzMCwyMCkgc2l6ZSA0eDQgW2JvcmRl
cjogKDFweCBpbnNldCAjODA4MDgwKV0gW3I9MCBjPTIgcnM9MSBjcz0xXQo=
</data>
<flag name="review"
          id="25009"
          type_id="1"
          status="-"
          setter="hausmann"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43879</attachid>
            <date>2009-11-25 16:47:29 -0800</date>
            <delta_ts>2009-12-02 14:30:27 -0800</delta_ts>
            <desc>Patch In Progress Still need to figure out why it breaks DumpRenderTree</desc>
            <filename>patchFor30173-12.patch</filename>
            <type>text/plain</type>
            <size>100910</size>
            <attacher name="Carol Szabo">carol</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTMxMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNjIgQEAKKzIwMDktMTEtMjUgIENhcm9sIFN6YWJvICA8Y2Fyb2wuc3phYm9Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtRdF0gTWFrZSBpdCBwb3NzaWJsZSB0byBhcHBseSB0aGUgQ1NTIGJhY2tncm91bmQgY29sb3Ig
dG8gdGhlIG5hdGl2ZQorICAgICAgICBwYWludGVkIHdpZGdldHMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDE3MworCisgICAgICAgIFRoaXMgaXMg
YSBiZXN0IGVmZm9ydCBhcHByb2FjaCBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIENTUyAyLjEgc3Bl
YworICAgICAgICAoaHR0cDovL3d3dy53My5vcmcvVFIvQ1NTMi8pIHdoaWNoIGluIHRoZSBjb25m
b3JtYW5jZSBzZWN0aW9uIGxlYXZlcworICAgICAgICB1bmRlZmluZWQgdGhlIHByb3BlcnRpZXMg
dGhhdCBhcHBseSB0byBmb3JtIGNvbnRyb2xzIGFuZCBmcmFtZXMuCisgICAgICAgIENTUyBiYWNr
Z3JvdW5kIGNvbG9yIGRvZXMgbm90IHdvcmsgZm9yIHRoZSBndGsgc3R5bGUsIHdoaWNoIGlnbm9y
ZXMKKyAgICAgICAgdGhlIHBhbGV0dGUgc2V0dGluZ3MgYnkgZGVmYXVsdC4gU29tZSBvdGhlciBz
dHlsZXMgaGF2ZQorICAgICAgICBsaW1pdGF0aW9ucyBvbiB3aGF0IHBhcnRzIG9mIHRoZSBzdHls
ZSBhcmUgY3VzdG9taXphYmxlLCBidXQKKyAgICAgICAgaXQgd29ya3Mgd2l0aCBtb3N0IHN0eWxl
cyBhbmQgd2l0aCB0aG9zZSBzdHlsZXMgd2hlcmUgaXQgZG9lcyBub3QKKyAgICAgICAgdGhlIGxp
bWl0YXRpb25zIGFyZSBoYW5kbGVkIGdhY2VmdWxseS4KKworICAgICAgICAqIHBsYXRmb3JtL3F0
L1FXZWJQb3B1cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpRV2ViUG9wdXA6OnNob3dQb3B1cCk6
CisgICAgICAgIEFkZGVkIGNvZGUgdG8gcmVmbGVjdCBDU1Mgc3R5bGUgaW4gY29udHJvbCBzdHls
aW5nLgorICAgICAgICAqIHBsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6cGFnZU93bmVyV2lkZ2V0KToKKyAgICAgICAgKFdlYkNv
cmU6OmluaXRQYWxldHRlRnJvbVBhZ2VDbGllbnRJZkV4aXN0cyk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZVF0OjphZGRTdHlsZVRleHRJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3Jl
OjphZGRTdHlsZVRleHRGb3JXaWRnZXQpOgorICAgICAgICBTdXBwb3J0IGZ1bmN0aW9ucworICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6ZXh0cmFEZWZhdWx0U3R5bGVTaGVldCk6Cisg
ICAgICAgIEluaXRpYWxpemUgZGVmYXVsdCBzdHlsZXNoZWV0cyBiYXNlZCBvbiB0aGUgdGhlbWUK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmlzQ29udHJvbFN0eWxlZCk6CisgICAg
ICAgIFNwZWNpYWxpemVkIGZvciBRdCBpbiBvcmRlciB0byBhbGxvdyBhbGwgY29udHJvbHMsIGV2
ZW4gd2hlbiBzdHlsZWQKKyAgICAgICAgdG8gYmUgdGhlbWUgcmVuZGVyZWQuCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjphZGp1c3RDb21tb25RU3R5bGVPcHRpb25zKToKKyAgICAg
ICAgVGhpcyBmdW5jdGlvbiB3YXMgcmVuYW1lZCBmcm9tIGFwcGx5VGhlbWUgYmVjYXVzZSB0aGUg
cHJldmlvdXMgbmFtZSB3YXMKKyAgICAgICAgbm90IGRlc2NyaXB0aXZlIG9mIHdoYXQgdGhlIGZ1
bmN0aW9uIGFjdHVhbGx5IGRpZCwgd2hpY2ggd2FzIChhbmQgCisgICAgICAgIGNvbnRpbnVlcyB0
byBiZSkgdG8gYWRqdXN0IHRoZSBvcHRpb24gc2V0dGluZ3MgYmFzZWQgb24gdGhlIGNvbnRyb2wn
cworICAgICAgICBzdHlsZSBhbmQgc3RhdGUuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZVF0OjpzeXN0ZW1Db2xvcik6CisgICAgICAgIEludHJvZHVjZWQgdG8gYWxsb3cgY3VzdG9taXph
dGlvbiBvZiBidXR0b24gZmFjZSBjb2xvciBhbmQgb3RoZXIgc3lzdGVtIGNvbG9ycyBhY2NvcmRp
bmcgdG8gdGhlIAorICAgICAgICB0aGUgY29udGFpbmVyIHdpZGdldCdzIHBhbGV0dGUgYWJkIFFT
dHlsZVNoZWV0cy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmFkanVzdEJ1dHRv
blN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50QnV0dG9uKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmFkanVzdFRleHRGaWVsZFN0eWxlKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50VGV4dEZpZWxkKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50TWVudUxpc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVRdDo6cGFpbnRNZW51TGlzdEJ1dHRvbik6CisgICAgICAgIE1vZGlm
aWVkIG9ubHkgZHVlIHRvIHJlbmFtaW5nIG9mIHRoZSBhcHBseVRoZW1lIG1ldGhvZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmFkanVzdFRleHRGaWVsZFN0eWxlKToKKyAgICAg
ICAgUmVtb3ZlZCB0aGUgbGluZSB0aGF0IG1ha2VzIHRoZSBiYWNrZ3JvdW5kIHRyYW5zcGFyZW50
IGluIG9yZGVyIHRvIGhhdmUgdGhlIGNvbG9yIGF2YWlsYWJsZSBmb3IKKyAgICAgICAgcGFpbnRp
bmcuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjphZGp1c3RTZWFyY2hGaWVsZFN0
eWxlKToKKyAgICAgICAgQ2hhbmdlZCB0byB1c2UgdGhlIHNhbWUgbG9naWMgYXMgYWRqdXN0VGV4
dEZpZWxkU3R5bGUgc2luY2UgdGhlIHNlYXJjaCBmaWVsZCBmb3IgcXQgaXMgbm90aGluZyBidXQK
KyAgICAgICAgYSB0ZXh0IGZpZWxkIGZvciBub3cuCisgICAgICAgICogcGxhdGZvcm0vcXQvUmVu
ZGVyVGhlbWVRdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6cGFpbnQpOgorICAgICAgICBTaW5jZSB0aGlzIG1l
dGhvZCBpcyBub3QgdmlydHVhbCBJIGhhZCB0byBhZGQgUXQgc3BlY2lmaWMgY2hhbmdlcyBoZXJl
IHRvCisgICAgICAgIGVuYWJsZSByZW5kZXJpbmcgYnkgdGhlIHRoZW1lIG9mIHRleHQgaW5wdXQg
Y29udHJvbHMuIFdoaWNoIGlzIG5lY2Vzc2FyeSBmb3IKKyAgICAgICAgYSBuYXRpdmUgbG9vayBh
bmQgZmVlbC4KKwogMjAwOS0xMS0yMyAgRGlyayBTY2h1bHplICA8a3JpdEB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IE5pa29sYXMgWmltbWVybWFubi4KSW5kZXg6IFdlYkNvcmUv
cGxhdGZvcm0vcXQvUVdlYlBvcHVwLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3Jt
L3F0L1FXZWJQb3B1cC5jcHAJKHJldmlzaW9uIDUxMzEwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9x
dC9RV2ViUG9wdXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw5ICsyMSwxMSBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlFXZWJQb3B1cC5oIgogI2luY2x1ZGUgIlBvcHVwTWVu
dVN0eWxlLmgiCisjaW5jbHVkZSAiUmVuZGVyVGhlbWVRdC5oIgogCiAjaW5jbHVkZSA8UUFic3Ry
YWN0SXRlbVZpZXc+CiAjaW5jbHVkZSA8UUFwcGxpY2F0aW9uPgorI2luY2x1ZGUgPFFCeXRlQXJy
YXk+CiAjaW5jbHVkZSA8UUlucHV0Q29udGV4dD4KICNpbmNsdWRlIDxRTW91c2VFdmVudD4KIApA
QCAtNTEsNiArNTMsMjcgQEAgdm9pZCBRV2ViUG9wdXA6OmV4ZWMoKQogdm9pZCBRV2ViUG9wdXA6
OnNob3dQb3B1cCgpCiB7CiAgICAgUUNvbWJvQm94OjpzaG93UG9wdXAoKTsKKyAgICBQb3B1cE1l
bnVTdHlsZSBzdHlsZSA9IG1fY2xpZW50LT5pdGVtU3R5bGUoMCk7CisgICAgUVBhbGV0dGUgYmFz
ZVBhbGV0dGUgPSBwYWxldHRlKCk7CisgICAgUUNvbG9yIGRlZmF1bHRCYXNlQ29sb3IoYmFzZVBh
bGV0dGUuY29sb3IoUVBhbGV0dGU6OkJhc2UpKTsKKyAgICBRQ29sb3IgZGVmYXVsdFRleHRDb2xv
cihiYXNlUGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6VGV4dCkpOworICAgIENvbG9yIGNvbG9yID0g
c3R5bGUuYmFja2dyb3VuZENvbG9yKCk7CisgICAgaWYgKGNvbG9yLmlzVmFsaWQoKSkKKyAgICAg
ICAgYmFzZVBhbGV0dGUuc2V0Q29sb3IoUVBhbGV0dGU6OkJhc2UsIGNvbG9yKTsKKyAgICBjb2xv
ciA9IHN0eWxlLmZvcmVncm91bmRDb2xvcigpOworICAgIGlmIChjb2xvci5pc1ZhbGlkKCkpCisg
ICAgICAgIGJhc2VQYWxldHRlLnNldENvbG9yKFFQYWxldHRlOjpUZXh0LCBjb2xvcik7CisgICAg
c2V0UGFsZXR0ZShiYXNlUGFsZXR0ZSk7CisgICAgLy8gRklYTUU6IFByb2JhYmx5IGhlcmUgc3Bl
Y2lhbCBzdHlsZXMgZnJvbSB0aGUgb3B0aW9ucyBzaG91bGQgYmUgdXNlZCBvciBzcGVjaWFsIGRy
b3Bkb3dubGlzdCBhdHRyaWJ1dGVzCisgICAgLy8gZm9yIG5vdyBib3RoIGRyb3Bkb3duIGxpc3Rz
IGFuZCBsaW5lZWRpdCBzaGFyZSB0aGUgc2FtZSBjb2xvcnMuCisgICAgaWYgKFFBYnN0cmFjdEl0
ZW1WaWV3KiBpdGVtVmlldyA9IHZpZXcoKSkgeworICAgICAgICBRQnl0ZUFycmF5IGJ1ZmZlcihp
dGVtVmlldy0+c3R5bGVTaGVldCgpLnRvQXNjaWkoKSk7CisgICAgICAgIFFDb2xvciBuZXdCYXNl
ID0gYmFzZVBhbGV0dGUuY29sb3IoUVBhbGV0dGU6OkJhc2UpOworICAgICAgICBRQ29sb3IgbmV3
VGV4dCA9IGJhc2VQYWxldHRlLmNvbG9yKFFQYWxldHRlOjpUZXh0KTsKKyAgICAgICAgUmVuZGVy
VGhlbWVRdDo6YWRkU3R5bGVUZXh0SWZOZWVkZWQoJm5ld0Jhc2UsIGRlZmF1bHRCYXNlQ29sb3Is
ICIgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgiLCAiKTsiLCBidWZmZXIsIGZhbHNlKTsKKyAgICAg
ICAgUmVuZGVyVGhlbWVRdDo6YWRkU3R5bGVUZXh0SWZOZWVkZWQoJm5ld1RleHQsIGRlZmF1bHRU
ZXh0Q29sb3IsICIgY29sb3I6IHJnYmEoIiwgIik7IiwgYnVmZmVyLCBmYWxzZSk7CisgICAgICAg
IGl0ZW1WaWV3LT5zZXRTdHlsZVNoZWV0KGJ1ZmZlci5jb25zdERhdGEoKSk7CisgICAgfTsKICAg
ICBtX3BvcHVwVmlzaWJsZSA9IHRydWU7CiB9CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vcXQv
UmVuZGVyVGhlbWVRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5k
ZXJUaGVtZVF0LmNwcAkocmV2aXNpb24gNTEzMTApCisrKyBXZWJDb3JlL3BsYXRmb3JtL3F0L1Jl
bmRlclRoZW1lUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICszMiw3IEBACiAKICNpbmNs
dWRlICJDU1NTdHlsZVNlbGVjdG9yLmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVTaGVldC5oIgorI2lu
Y2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnRRdC5oIgog
I2luY2x1ZGUgIkNvbG9yLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKQEAgLTQ5LDEyICs1MCwx
OCBAQAogI2luY2x1ZGUgInF3ZWJwYWdlLmgiCiAKICNpbmNsdWRlIDxRQXBwbGljYXRpb24+Cisj
aW5jbHVkZSA8UUNoZWNrQm94PgogI2luY2x1ZGUgPFFDb2xvcj4KKyNpbmNsdWRlIDxRQ29tYm9C
b3g+CiAjaW5jbHVkZSA8UURlYnVnPgogI2luY2x1ZGUgPFFGaWxlPgogI2luY2x1ZGUgPFFMaW5l
RWRpdD4KKyNpbmNsdWRlIDxRTGlzdFdpZGdldD4KKyNpbmNsdWRlIDxRTWVudT4KICNpbmNsdWRl
IDxRUGFpbnRlcj4KICNpbmNsdWRlIDxRUHVzaEJ1dHRvbj4KKyNpbmNsdWRlIDxRUmFkaW9CdXR0
b24+CisjaW5jbHVkZSA8UVNjcm9sbEJhcj4KICNpbmNsdWRlIDxRU3R5bGVGYWN0b3J5PgogI2lu
Y2x1ZGUgPFFTdHlsZU9wdGlvbkJ1dHRvbj4KICNpbmNsdWRlIDxRU3R5bGVPcHRpb25GcmFtZVYy
PgpAQCAtNjUsNiArNzIsMzkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3Bh
Y2UgSFRNTE5hbWVzOwogCitRV2lkZ2V0KiBSZW5kZXJUaGVtZVF0OjpwYWdlT3duZXJXaWRnZXQo
KSBjb25zdAoreworICAgIGlmICghbV9wYWdlKQorICAgICAgICByZXR1cm4gMDsKKyAgICBDaHJv
bWUqIGNocm9tZSA9IG1fcGFnZS0+Y2hyb21lKCk7CisgICAgaWYgKCFjaHJvbWUpCisgICAgICAg
IHJldHVybiAwOworICAgIENocm9tZUNsaWVudCogY2hyb21lQ2xpZW50ID0gY2hyb21lLT5jbGll
bnQoKTsKKyAgICBpZiAoIWNocm9tZUNsaWVudCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgUVdl
YlBhZ2VDbGllbnQqIHBhZ2VDbGllbnQgPSBjaHJvbWVDbGllbnQtPnBsYXRmb3JtUGFnZUNsaWVu
dCgpOworICAgIGlmKCFwYWdlQ2xpZW50KQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4g
cGFnZUNsaWVudC0+b3duZXJXaWRnZXQoKTsKK30KKworc3RhdGljIHZvaWQgaW5pdFBhbGV0dGVG
cm9tUGFnZUNsaWVudElmRXhpc3RzKFFQYWxldHRlICZwYWxldHRlLCBjb25zdCBSZW5kZXJPYmpl
Y3QgKm8pCit7CisgICAgLy8gSWYgdGhlIHdlYnZpZXcgaGFzIGEgY3VzdG9tIHBhbGV0dGUsIHVz
ZSBpdAorICAgIFBhZ2UqIHBhZ2UgPSBvLT5kb2N1bWVudCgpLT5wYWdlKCk7CisgICAgaWYgKCFw
YWdlKQorICAgICAgICByZXR1cm47CisgICAgQ2hyb21lKiBjaHJvbWUgPSBwYWdlLT5jaHJvbWUo
KTsKKyAgICBpZiAoIWNocm9tZSkKKyAgICAgICAgcmV0dXJuOworICAgIENocm9tZUNsaWVudCog
Y2hyb21lQ2xpZW50ID0gY2hyb21lLT5jbGllbnQoKTsKKyAgICBpZiAoIWNocm9tZUNsaWVudCkK
KyAgICAgICAgcmV0dXJuOworICAgIFFXZWJQYWdlQ2xpZW50KiBwYWdlQ2xpZW50ID0gY2hyb21l
Q2xpZW50LT5wbGF0Zm9ybVBhZ2VDbGllbnQoKTsKKyAgICBpZiAoIXBhZ2VDbGllbnQpCisgICAg
ICAgIHJldHVybjsKKyAgICBwYWxldHRlID0gcGFnZUNsaWVudC0+cGFsZXR0ZSgpOworfQogCiBT
dHlsZVBhaW50ZXI6OlN0eWxlUGFpbnRlcihjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYg
cGFpbnRJbmZvKQogewpAQCAtMjA3LDYgKzI0Nyw4OSBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnN1
cHBvcnRzQ29udHJvbFRpbnRzCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3ZvaWQgUmVuZGVyVGhl
bWVRdDo6YWRkU3R5bGVUZXh0SWZOZWVkZWQoY29uc3QgUUNvbG9yKiBjb2xvciwgY29uc3QgUUNv
bG9yJiBkZWZhdWx0Q29sb3IsCisgICAgY29uc3QgY2hhciogcHJlZml4LCBjb25zdCBjaGFyKiBz
dWZmaXgsIFFCeXRlQXJyYXkmIGJ1ZmZlciwgYm9vbCBzY2FsZUFscGhhKQoreworICAgIGlmICgq
Y29sb3IgPT0gZGVmYXVsdENvbG9yKQorICAgICAgICByZXR1cm47CisgICAgUUxvY2FsZSBsb2Nh
bGUoUUxvY2FsZTo6YygpKTsKKyAgICBidWZmZXIuYXBwZW5kKHByZWZpeCkuYXBwZW5kKGxvY2Fs
ZS50b1N0cmluZyhjb2xvci0+cmVkKCkpKS5hcHBlbmQoJywnKQorICAgICAgICAuYXBwZW5kKGxv
Y2FsZS50b1N0cmluZyhjb2xvci0+Z3JlZW4oKSkpLmFwcGVuZCgnLCcpCisgICAgICAgIC5hcHBl
bmQobG9jYWxlLnRvU3RyaW5nKGNvbG9yLT5ibHVlKCkpKS5hcHBlbmQoJywnKQorICAgICAgICAu
YXBwZW5kKHNjYWxlQWxwaGEgPyBsb2NhbGUudG9TdHJpbmcoc3RhdGljX2Nhc3Q8ZmxvYXQ+KGNv
bG9yLT5hbHBoYSgpKSAvIDI1NSwgJ2YnLCA0KSA6IGxvY2FsZS50b1N0cmluZyhjb2xvci0+YWxw
aGEoKSkpCisgICAgICAgIC5hcHBlbmQoc3VmZml4KTsKK30KKworLy8gVGhpcyBmdW5jdGlvbiB3
YXMgZGVzaWduZWQgZm9yIHRoZSBzcGVjaWZpYyBwdXJwb3NlIG9mIHByb2Nlc3Npbmcgc3R5bGVz
IAorLy8gZm9yIHZhcmlvdXMgd2lkZ2V0IHR5cGVzIGR1cmluZyB0aGUgY2FsbCB0byBSZW5kZXJU
aGVtZVF0OjpleHRyYURlZmF1bHRTdHlsZVNoZWV0KCkKKy8vIEl0IGRlbGV0ZXMgdGhlIHdpZGdl
dCBwYXNzZWQgaW4uCitzdGF0aWMgdm9pZCBhZGRTdHlsZVRleHRGb3JXaWRnZXQoUVdpZGdldCog
d2lkZ2V0LCBRQ29sb3ImIGRlZmF1bHRDb2xvciwgY29uc3QgY2hhciogcHJlZml4LCBjb25zdCBj
aGFyKiBkaXNhYmxlZFByZWZpeCwgUUJ5dGVBcnJheSYgYnVmZmVyKQoreworICAgIHdpZGdldC0+
c2V0QXR0cmlidXRlKFF0OjpXQV9Eb250U2hvd09uU2NyZWVuKTsKKyAgICB3aWRnZXQtPnNob3co
KTsKKyAgICBRUGFsZXR0ZSBwYWxldHRlID0gd2lkZ2V0LT5wYWxldHRlKCk7CisgICAgUVBhbGV0
dGU6OkNvbG9yUm9sZSBjb2xvclJvbGUgPSB3aWRnZXQtPmJhY2tncm91bmRSb2xlKCk7CisgICAg
ZGVsZXRlIHdpZGdldDsKKyAgICBSZW5kZXJUaGVtZVF0OjphZGRTdHlsZVRleHRJZk5lZWRlZCgm
cGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6Tm9ybWFsLCBjb2xvclJvbGUpLCBkZWZhdWx0Q29sb3Is
IHByZWZpeCwgICIpO31cclxuIiwgYnVmZmVyLCB0cnVlKTsKKyAgICBSZW5kZXJUaGVtZVF0Ojph
ZGRTdHlsZVRleHRJZk5lZWRlZCgmcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6RGlzYWJsZWQsIGNv
bG9yUm9sZSksIGRlZmF1bHRDb2xvciwgZGlzYWJsZWRQcmVmaXgsICIpO31cclxuIiwgYnVmZmVy
LCB0cnVlKTsKK30KKworLy8gVGhlc2Ugc3RyaW5ncyBuZWVkIHRvIGJlIGtlcHQgaW4gc3luayB3
aXRoIGh0bWwuY3NzCitzdGF0aWMgY29uc3QgY2hhciBxTGluZUVkaXRTdHlsZVByZWZpeFtdID0g
ImlucHV0Om5vdChbdHlwZV0pLCBpbnB1dFt0eXBlPVwidGV4dFwiXSwgaW5wdXRbdHlwZT1cInBh
c3N3b3JkXCJdLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLCBpbnB1dFt0eXBlPVwiZmlsZVwiXSwg
dGV4dGFyZWEgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCI7CitzdGF0aWMgY29uc3QgY2hhciBx
TGluZUVkaXREaXNhYmxlZFN0eWxlUHJlZml4W10gPSAiaW5wdXQ6bm90KFt0eXBlXSk6ZGlzYWJs
ZWQsIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRc
Il06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9
XCJmaWxlXCJdOmRpc2FibGVkLCB0ZXh0YXJlYTpkaXNhYmxlZCB7IGJhY2tncm91bmQtY29sb3I6
IHJnYmEoIjsKK3N0YXRpYyBjb25zdCBjaGFyIHFDaGVja0JveFN0eWxlUHJlZml4W10gPSAiaW5w
dXRbdHlwZT1cImNoZWNrYm94XCJdIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgiOworc3RhdGlj
IGNvbnN0IGNoYXIgcUNoZWNrQm94RGlzYWJsZWRTdHlsZVByZWZpeFtdID0gImlucHV0W3R5cGU9
XCJjaGVja2JveFwiXTpkaXNhYmxlZCB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoIjsKK3N0YXRp
YyBjb25zdCBjaGFyIHFSYWRpb0J1dHRvblN0eWxlUHJlZml4W10gPSAiaW5wdXRbdHlwZT1cInJh
ZGlvXCJdIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgiOworc3RhdGljIGNvbnN0IGNoYXIgcVJh
ZGlvQnV0dG9uRGlzYWJsZWRTdHlsZVByZWZpeFtdID0gImlucHV0W3R5cGU9XCJyYWRpb1wiXTpk
aXNhYmxlZCB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoIjsKK3N0YXRpYyBjb25zdCBjaGFyIHFM
aXN0Qm94U3R5bGVQcmVmaXhbXSA9ICJzZWxlY3Rbc2l6ZV0sIHNlbGVjdFttdWx0aXBsZV0sIHNl
bGVjdFtzaXplXVttdWx0aXBsZV0sIHNlbGVjdFtzaXplXSBvcHRpb24sIHNlbGVjdFttdWx0aXBs
ZV0gb3B0aW9uLCBzZWxlY3Rbc2l6ZV1bbXVsdGlwbGVdIG9wdGlvbiAgeyBiYWNrZ3JvdW5kLWNv
bG9yOiByZ2JhKCI7CitzdGF0aWMgY29uc3QgY2hhciBxTGlzdEJveERpc2FibGVkU3R5bGVQcmVm
aXhbXSA9ICJzZWxlY3Rbc2l6ZV06ZGlzYWJsZWQsIHNlbGVjdFttdWx0aXBsZV06ZGlzYWJsZWQs
IHNlbGVjdFtzaXplXVttdWx0aXBsZV06ZGlzYWJsZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2Jh
KCI7CitzdGF0aWMgY29uc3QgY2hhciBxQ29tYm9Cb3hTdHlsZVByZWZpeFtdID0gInNlbGVjdCwg
a2V5Z2VuLCBzZWxlY3Rbc2l6ZT1cIjBcIl0sIHNlbGVjdFtzaXplPVwiMVwiXSB7IGJhY2tncm91
bmQtY29sb3I6IHJnYmEoIjsKK3N0YXRpYyBjb25zdCBjaGFyIHFDb21ib0JveERpc2FibGVkU3R5
bGVQcmVmaXhbXSA9ICJzZWxlY3Q6ZGlzYWJsZWQsIGtleWdlbjpkaXNhYmxlZCwgc2VsZWN0W3Np
emU9XCIwXCJdOmRpc2FibGVkLCBzZWxlY3Rbc2l6ZT1cIjFcIl06ZGlzYWJsZWQgeyBiYWNrZ3Jv
dW5kLWNvbG9yOiByZ2JhKCI7CisKK1N0cmluZyBSZW5kZXJUaGVtZVF0OjpleHRyYURlZmF1bHRT
dHlsZVNoZWV0KCkKK3sKKyAgICBRQnl0ZUFycmF5IGJ1ZmZlciA9ICJpbnB1dFt0eXBlPVwic2Vh
cmNoXCJdIHstd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZH1cclxuaW5wdXRbdHlwZT1cInNl
YXJjaFwiXTpmb2N1cyB7b3V0bGluZS1vZmZzZXQ6IC0ycHh9XHJcbiI7CisgICAgUUNvbG9yIGlu
aXRpYWw7CisgICAgUUNvbG9yIHdoaXRlKFF0Ojp3aGl0ZSk7CisgICAgLy8gdGhlIG5ldyBRTGlu
ZUVkaXQgc2hhbGwgYmUgZGVsZXRlZCBieSBhZGRTdHlsZVRleHRGb3JXaWRnZXQKKyAgICBhZGRT
dHlsZVRleHRGb3JXaWRnZXQobmV3IFFMaW5lRWRpdChwYWdlT3duZXJXaWRnZXQoKSksIHdoaXRl
LCAgcUxpbmVFZGl0U3R5bGVQcmVmaXgsIHFMaW5lRWRpdERpc2FibGVkU3R5bGVQcmVmaXgsIGJ1
ZmZlcik7CisgICAgLy8gdGhlIG5ldyBRQ2hlY2tCb3ggc2hhbGwgYmUgZGVsZXRlZCBieSBhZGRT
dHlsZVRleHRGb3JXaWRnZXQKKyAgICBhZGRTdHlsZVRleHRGb3JXaWRnZXQobmV3IFFDaGVja0Jv
eChwYWdlT3duZXJXaWRnZXQoKSksIGluaXRpYWwsCisgICAgICAgIHFDaGVja0JveFN0eWxlUHJl
Zml4LCBxQ2hlY2tCb3hEaXNhYmxlZFN0eWxlUHJlZml4LCBidWZmZXIpOworICAgIC8vIHRoZSBu
ZXcgUVJhZGlvQnV0dG9uIHNoYWxsIGJlIGRlbGV0ZWQgYnkgYWRkU3R5bGVUZXh0Rm9yV2lkZ2V0
CisgICAgYWRkU3R5bGVUZXh0Rm9yV2lkZ2V0KG5ldyBRUmFkaW9CdXR0b24ocGFnZU93bmVyV2lk
Z2V0KCkpLCBpbml0aWFsLAorICAgICAgICBxUmFkaW9CdXR0b25TdHlsZVByZWZpeCwgcVJhZGlv
QnV0dG9uRGlzYWJsZWRTdHlsZVByZWZpeCwgYnVmZmVyKTsKKyAgICAvLyB0aGUgbmV3IFFDb21i
b0JveCBzaGFsbCBiZSBkZWxldGVkIGJ5IGFkZFN0eWxlVGV4dEZvcldpZGdldAorICAgIGFkZFN0
eWxlVGV4dEZvcldpZGdldChuZXcgUUNvbWJvQm94KHBhZ2VPd25lcldpZGdldCgpKSwgd2hpdGUs
CisgICAgICAgIHFDb21ib0JveFN0eWxlUHJlZml4LCBxQ29tYm9Cb3hEaXNhYmxlZFN0eWxlUHJl
Zml4LCBidWZmZXIpOworICAgIC8vIHRoZSBuZXcgUUxpc3RXaWRnZXQgc2hhbGwgYmUgZGVsZXRl
ZCBieSBhZGRTdHlsZVRleHRGb3JXaWRnZXQKKyAgICBhZGRTdHlsZVRleHRGb3JXaWRnZXQobmV3
IFFMaXN0V2lkZ2V0KHBhZ2VPd25lcldpZGdldCgpKSwgaW5pdGlhbCwKKyAgICAgICAgcUxpc3RC
b3hTdHlsZVByZWZpeCwgcUxpc3RCb3hEaXNhYmxlZFN0eWxlUHJlZml4LCBidWZmZXIpOworICAg
IHJldHVybiBTdHJpbmcoYnVmZmVyLmNvbnN0RGF0YSgpKTsKK30KKworYm9vbCBSZW5kZXJUaGVt
ZVF0Ojppc0NvbnRyb2xTdHlsZWQoY29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBCb3Jk
ZXJEYXRhJiBib3JkZXIsIGNvbnN0IEZpbGxMYXllciYgYmFja2dyb3VuZCwgY29uc3QgQ29sb3Im
IGJhY2tncm91bmRDb2xvcikgY29uc3QKK3sKKyAgICBzd2l0Y2ggKHN0eWxlLT5hcHBlYXJhbmNl
KCkpIHsKKyAgICAgICAgY2FzZSBQdXNoQnV0dG9uUGFydDoKKyAgICAgICAgY2FzZSBTcXVhcmVC
dXR0b25QYXJ0OgorICAgICAgICBjYXNlIERlZmF1bHRCdXR0b25QYXJ0OgorICAgICAgICBjYXNl
IEJ1dHRvblBhcnQ6CisgICAgICAgIGNhc2UgTGlzdGJveFBhcnQ6CisgICAgICAgIGNhc2UgTWVu
dWxpc3RQYXJ0OgorICAgICAgICAvLyBGSVhNRTogVW5jb21tZW50IHRoaXMgd2hlbiBtYWtpbmcg
c2VhcmNoIGZpZWxkcyBzdHlsZS1hYmxlLgorICAgICAgICAvLyBjYXNlIFNlYXJjaEZpZWxkUGFy
dDoKKyAgICAgICAgY2FzZSBUZXh0RmllbGRQYXJ0OgorICAgICAgICBjYXNlIFRleHRBcmVhUGFy
dDoKKyAgICAgICAgICAgIC8vIFRlc3QgdGhlIHN0eWxlIHRvIHNlZSBpZiB0aGUgVUEgYm9yZGVy
IGFuZCBiYWNrZ3JvdW5kIG1hdGNoLgorICAgICAgICAgICAgcmV0dXJuIChzdHlsZS0+Ym9yZGVy
KCkgIT0gYm9yZGVyIHx8CisgICAgICAgICAgICAgICAgICAgICpzdHlsZS0+YmFja2dyb3VuZExh
eWVycygpICE9IGJhY2tncm91bmQgfHwKKyAgICAgICAgICAgICAgICAgICAgc3R5bGUtPmJhY2tn
cm91bmRDb2xvcigpICE9IGJhY2tncm91bmRDb2xvcik7CisgICAgICAgIGRlZmF1bHQ6CisgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfTsKKwogc3RhdGljIGludCBmaW5kRnJhbWVM
aW5lV2lkdGgoUVN0eWxlKiBzdHlsZSkKIHsKICAgICBRTGluZUVkaXQgbGluZUVkaXQ7CkBAIC0y
ODEsNiArNDA0LDEzOSBAQCB2b2lkIFJlbmRlclRoZW1lUXQ6OnN5c3RlbUZvbnQoaW50LCBGb250
CiAgICAgLy8gbm8tb3AKIH0KIAorCitlbnVtIHsKKyAgICBOb3JtYWxJbmRleCA9IDAsCisgICAg
RGlzYWJsZWRJbmRleCwKKyAgICBDb250cm9sU3RhdGVDb3VudAorfSBDb250cm9sU3RhdGU7CisK
Ky8qIFRoZSBmb2xsb3dpbmcgdmFyaWFibGVzIHN0b3JlIHRoZSBkZWZhdWx0IGNvbG9ycyBmb3Ig
dmFyaW91cyB3aWRnZXRzCisgICAgKiBFYWNoIG9mIHRoZSB2YXJpYWJsZXMgaXMgYW4gYXJyYXkg
d2l0aCBDb250cm9sU3RhdGVDb3VudCBlbGVtZW50cyAuCisgICAgKiBFYWNoIG9mIHRoZSBlbGVt
ZW50cyBpbiB0aGUgYXJyYXkgY29udGFpbnMgdGhlIGNvbG9yIGZvciB0aGUgCisgICAgKiBjb3Jy
ZXNwb25kaW5nIHN0YXRlIG9mIHRoZSBjb250cm9sIGFzIGluZGljYXRlZCBieSB0aGUgQ29udHJv
bFN0YXRlCisgICAgKiBlbnVtZXJhdGlvbi4KKyAgICAqLworc3RhdGljIFFDb2xvciBkZWZhdWx0
UVB1c2hCdXR0b25CYWNrZ3JvdW5kQ29sb3JbQ29udHJvbFN0YXRlQ291bnRdOworc3RhdGljIFFD
b2xvciBkZWZhdWx0UVB1c2hCdXR0b25UZXh0Q29sb3JbQ29udHJvbFN0YXRlQ291bnRdOworc3Rh
dGljIFFDb2xvciBkZWZhdWx0UU1lbnVCYWNrZ3JvdW5kQ29sb3JbQ29udHJvbFN0YXRlQ291bnRd
Oworc3RhdGljIFFDb2xvciBkZWZhdWx0UU1lbnVUZXh0Q29sb3JbQ29udHJvbFN0YXRlQ291bnRd
Oworc3RhdGljIFFDb2xvciBkZWZhdWx0UVNjcm9sbGJhckJhY2tncm91bmRDb2xvcltDb250cm9s
U3RhdGVDb3VudF07CisKKy8vIFRoaXMgZnVuY3Rpb24gaXMgZGVzaWduZWQgc3BlY2lmaWNhbGx5
IHRvIHJlZHVjZSBjb2RlIHNpemUgaW4gUmVuZGVyVGhlbWVRdDo6c3lzdGVtQ29sb3IsIHRoZXJl
Zm9yZSBpdCBkb2VzIG5vdCBoYXZlIGEgbmljZSBpbnRlcmZhY2UKKy8vIEl0IGRlbGV0ZXMgdGhl
IHdpZGdldCBwYXNzZWQgaW4uCitzdGF0aWMgdm9pZCBzZXRXaWRnZXRDb2xvcnMoUVdpZGdldCog
d2lkZ2V0LCBRQ29sb3IqIGJhY2tncm91bmRDb2xvcnMsIFFQYWxldHRlOjpDb2xvclJvbGUgYmFj
a2dyb3VuZFJvbGUsIFFDb2xvciogZm9yZWdyb3VuZENvbG9ycywgUVBhbGV0dGU6OkNvbG9yUm9s
ZSBmb3JlZ3JvdW5kUm9sZSkKK3sKKyAgICB3aWRnZXQtPnNldEF0dHJpYnV0ZShRdDo6V0FfRG9u
dFNob3dPblNjcmVlbik7CisgICAgd2lkZ2V0LT5zaG93KCk7CisgICAgUVBhbGV0dGUgcGFsZXR0
ZSh3aWRnZXQtPnBhbGV0dGUoKSk7CisgICAgZGVsZXRlIHdpZGdldDsKKyAgICBiYWNrZ3JvdW5k
Q29sb3JzW0Rpc2FibGVkSW5kZXhdID0gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6RGlzYWJsZWQs
IGJhY2tncm91bmRSb2xlKTsKKyAgICBiYWNrZ3JvdW5kQ29sb3JzW05vcm1hbEluZGV4XSA9IHBh
bGV0dGUuY29sb3IoUVBhbGV0dGU6Ok5vcm1hbCwgYmFja2dyb3VuZFJvbGUpOworICAgIGlmIChm
b3JlZ3JvdW5kQ29sb3JzKSB7CisgICAgICAgIGZvcmVncm91bmRDb2xvcnNbRGlzYWJsZWRJbmRl
eF0gPSBwYWxldHRlLmNvbG9yKFFQYWxldHRlOjpEaXNhYmxlZCwgZm9yZWdyb3VuZFJvbGUpOwor
ICAgICAgICBmb3JlZ3JvdW5kQ29sb3JzW05vcm1hbEluZGV4XSA9IHBhbGV0dGUuY29sb3IoUVBh
bGV0dGU6Ok5vcm1hbCwgZm9yZWdyb3VuZFJvbGUpOworICAgIH0KK30KKworLy8gVGhpcyBmdW5j
dGlvbiBpcyBjb3BpZWQgZnJvbSBSZW5kZXJUaGVtZS5jcHAuYW5kIHVwZGF0ZWQgdG8gcmV0dXJu
IHZhbHVlcyB0aGF0CisvLyBtYXRjaCB0aGUgdGhlIFF0IHN0eWxlICsgUVN0eWxlU2hlZXRzLiBU
aGUgaGFyZGNvZGVkIGNvbnN0YW50cyBmb3VuZCBpbiB0aGUgCisvLyBnZW5lcmljIGltcGxlbWVu
dGF0aW9uIGhhdmUgYmVlbiBrZXB0IHdoZXJlIG5vIFFTdHlsZSBvciBRUGFsZXR0ZSBlcXVpdmFs
ZW50CisvLyBjb2xvciByb2xlIGhhcyBiZWVuIGZvdW5kLgorQ29sb3IgUmVuZGVyVGhlbWVRdDo6
c3lzdGVtQ29sb3IoaW50IGNzc1ZhbHVlSWQpIGNvbnN0Cit7CisgICAgUVdpZGdldCAqb3duZXJX
aWRnZXQgPSBwYWdlT3duZXJXaWRnZXQoKTsKKyAgICBRUGFsZXR0ZSBwYWxldHRlKG93bmVyV2lk
Z2V0ID8gb3duZXJXaWRnZXQtPnBhbGV0dGUoKSA6IFFBcHBsaWNhdGlvbjo6cGFsZXR0ZSgpKTsK
KyAgICBzd2l0Y2ggKGNzc1ZhbHVlSWQpIHsKKyAgICBjYXNlIENTU1ZhbHVlQWN0aXZlYm9yZGVy
OgorICAgICAgICByZXR1cm4gMHhGRkZGRkZGRjsKKyAgICBjYXNlIENTU1ZhbHVlQWN0aXZlY2Fw
dGlvbjoKKyAgICAgICAgcmV0dXJuIDB4RkZDQ0NDQ0M7CisgICAgY2FzZSBDU1NWYWx1ZUFwcHdv
cmtzcGFjZToKKyAgICAgICAgcmV0dXJuIDB4RkZGRkZGRkY7CisgICAgY2FzZSBDU1NWYWx1ZUJh
Y2tncm91bmQ6CisgICAgICAgIHJldHVybiAweEZGNjM2M0NFOworICAgIGNhc2UgQ1NTVmFsdWVC
dXR0b25mYWNlOgorICAgICAgICAvLyB1c2UgdGhlIGNhY2hlZCB2YWx1ZSBpZiB3ZSBoYXZlIG9u
ZQorICAgICAgICBpZiAoIWRlZmF1bHRRUHVzaEJ1dHRvbkJhY2tncm91bmRDb2xvcltOb3JtYWxJ
bmRleF0uaXNWYWxpZCgpKSB7CisgICAgICAgICAgICAvL3RoZSBuZXcgUVB1c2hCdXR0b24gaXMg
ZGVsZXRlZCBpbiBzZXRXaWRnZXRDb2xvcnMoKQorICAgICAgICAgICAgc2V0V2lkZ2V0Q29sb3Jz
KCBuZXcgUVB1c2hCdXR0b24ocGFnZU93bmVyV2lkZ2V0KCkpLCBkZWZhdWx0UVB1c2hCdXR0b25C
YWNrZ3JvdW5kQ29sb3IsIFFQYWxldHRlOjpCdXR0b24sIGRlZmF1bHRRUHVzaEJ1dHRvblRleHRD
b2xvciwgUVBhbGV0dGU6OlRleHQpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBkZWZhdWx0
UVB1c2hCdXR0b25CYWNrZ3JvdW5kQ29sb3JbTm9ybWFsSW5kZXhdOworICAgIGNhc2UgQ1NTVmFs
dWVCdXR0b25oaWdobGlnaHQ6CisgICAgICAgIHJldHVybiBwYWxldHRlLmNvbG9yKFFQYWxldHRl
OjpMaWdodCk7CisgICAgY2FzZSBDU1NWYWx1ZUJ1dHRvbnNoYWRvdzoKKyAgICAgICAgcmV0dXJu
IHBhbGV0dGUuY29sb3IoUVBhbGV0dGU6OlNoYWRvdyk7CisgICAgY2FzZSBDU1NWYWx1ZUJ1dHRv
bnRleHQ6CisgICAgICAgIC8vIHVzZSB0aGUgY2FjaGVkIHZhbHVlIGlmIHdlIGhhdmUgb25lCisg
ICAgICAgIGlmICghZGVmYXVsdFFQdXNoQnV0dG9uVGV4dENvbG9yW05vcm1hbEluZGV4XS5pc1Zh
bGlkKCkpIHsKKyAgICAgICAgICAgIC8vdGhlIG5ldyBRUHVzaEJ1dHRvbiBpcyBkZWxldGVkIGlu
IHNldFdpZGdldENvbG9ycygpCisgICAgICAgICAgICBzZXRXaWRnZXRDb2xvcnMoIG5ldyBRUHVz
aEJ1dHRvbihwYWdlT3duZXJXaWRnZXQoKSksIGRlZmF1bHRRUHVzaEJ1dHRvbkJhY2tncm91bmRD
b2xvciwgUVBhbGV0dGU6OkJ1dHRvbiwgZGVmYXVsdFFQdXNoQnV0dG9uVGV4dENvbG9yLCBRUGFs
ZXR0ZTo6VGV4dCk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGRlZmF1bHRRUHVzaEJ1dHRv
blRleHRDb2xvcltOb3JtYWxJbmRleF07CisgICAgY2FzZSBDU1NWYWx1ZUNhcHRpb250ZXh0Ogor
ICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6V2luZG93VGV4dCk7CisgICAg
Y2FzZSBDU1NWYWx1ZUdyYXl0ZXh0OgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFs
ZXR0ZTo6RGlzYWJsZWQsIFFQYWxldHRlOjpUZXh0KTsKKyAgICBjYXNlIENTU1ZhbHVlSGlnaGxp
Z2h0OgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6SGlnaGxpZ2h0KTsK
KyAgICBjYXNlIENTU1ZhbHVlSGlnaGxpZ2h0dGV4dDoKKyAgICAgICAgcmV0dXJuIHBhbGV0dGUu
Y29sb3IoUVBhbGV0dGU6OkhpZ2hsaWdodGVkVGV4dCk7CisgICAgY2FzZSBDU1NWYWx1ZUluYWN0
aXZlYm9yZGVyOgorICAgICAgICByZXR1cm4gMHhGRkZGRkZGRjsKKyAgICBjYXNlIENTU1ZhbHVl
SW5hY3RpdmVjYXB0aW9uOgorICAgICAgICByZXR1cm4gMHhGRkZGRkZGRjsKKyAgICBjYXNlIENT
U1ZhbHVlSW5hY3RpdmVjYXB0aW9udGV4dDoKKyAgICAgICAgcmV0dXJuIDB4RkY3RjdGN0Y7Cisg
ICAgY2FzZSBDU1NWYWx1ZUluZm9iYWNrZ3JvdW5kOgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5j
b2xvcihRUGFsZXR0ZTo6SW5hY3RpdmUsIFFQYWxldHRlOjpUb29sVGlwQmFzZSk7CisgICAgY2Fz
ZSBDU1NWYWx1ZUluZm90ZXh0OgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0
ZTo6SW5hY3RpdmUsIFFQYWxldHRlOjpUb29sVGlwVGV4dCk7CisgICAgY2FzZSBDU1NWYWx1ZU1l
bnU6CisgICAgICAgIC8vIHVzZSB0aGUgY2FjaGVkIHZhbHVlIGlmIHdlIGhhdmUgb25lCisgICAg
ICAgIGlmICghZGVmYXVsdFFNZW51QmFja2dyb3VuZENvbG9yW05vcm1hbEluZGV4XS5pc1ZhbGlk
KCkpIHsKKyAgICAgICAgICAgIC8vdGhlIG5ldyBRTWVudSBpcyBkZWxldGVkIGluIHNldFdpZGdl
dENvbG9ycygpCisgICAgICAgICAgICBzZXRXaWRnZXRDb2xvcnMoIG5ldyBRTWVudShwYWdlT3du
ZXJXaWRnZXQoKSksIGRlZmF1bHRRTWVudUJhY2tncm91bmRDb2xvciwgUVBhbGV0dGU6OkJhc2Us
IGRlZmF1bHRRTWVudVRleHRDb2xvciwgUVBhbGV0dGU6OlRleHQpOworICAgICAgICB9CisgICAg
ICAgIHJldHVybiBkZWZhdWx0UU1lbnVCYWNrZ3JvdW5kQ29sb3JbTm9ybWFsSW5kZXhdOworICAg
IGNhc2UgQ1NTVmFsdWVNZW51dGV4dDoKKyAgICAgICAgLy8gdXNlIHRoZSBjYWNoZWQgdmFsdWUg
aWYgd2UgaGF2ZSBvbmUKKyAgICAgICAgaWYgKCFkZWZhdWx0UU1lbnVUZXh0Q29sb3JbTm9ybWFs
SW5kZXhdLmlzVmFsaWQoKSkgeworICAgICAgICAgICAgLy90aGUgbmV3IFFNZW51IGlzIGRlbGV0
ZWQgaW4gc2V0V2lkZ2V0Q29sb3JzKCkKKyAgICAgICAgICAgIHNldFdpZGdldENvbG9ycyggbmV3
IFFNZW51KHBhZ2VPd25lcldpZGdldCgpKSwgZGVmYXVsdFFNZW51QmFja2dyb3VuZENvbG9yLCBR
UGFsZXR0ZTo6QmFzZSwgZGVmYXVsdFFNZW51VGV4dENvbG9yLCBRUGFsZXR0ZTo6VGV4dCk7Cisg
ICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGRlZmF1bHRRTWVudUJhY2tncm91bmRDb2xvcltOb3Jt
YWxJbmRleF07CisgICAgY2FzZSBDU1NWYWx1ZVNjcm9sbGJhcjoKKyAgICAgICAgLy8gdXNlIHRo
ZSBjYWNoZWQgdmFsdWUgaWYgd2UgaGF2ZSBvbmUKKyAgICAgICAgaWYgKCFkZWZhdWx0UVNjcm9s
bGJhckJhY2tncm91bmRDb2xvcltOb3JtYWxJbmRleF0uaXNWYWxpZCgpKSB7CisgICAgICAgICAg
ICAvL3RoZSBuZXcgUVNjcm9sbEJhciBpcyBkZWxldGVkIGluIHNldFdpZGdldENvbG9ycygpCisg
ICAgICAgICAgICBzZXRXaWRnZXRDb2xvcnMoIG5ldyBRU2Nyb2xsQmFyKHBhZ2VPd25lcldpZGdl
dCgpKSwgZGVmYXVsdFFTY3JvbGxiYXJCYWNrZ3JvdW5kQ29sb3IsIFFQYWxldHRlOjpCYXNlLCAw
LCBRUGFsZXR0ZTo6Tm9Sb2xlKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gZGVmYXVsdFFT
Y3JvbGxiYXJCYWNrZ3JvdW5kQ29sb3JbTm9ybWFsSW5kZXhdOworICAgIGNhc2UgQ1NTVmFsdWVU
ZXh0OgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6VGV4dCk7CisgICAg
Y2FzZSBDU1NWYWx1ZVRocmVlZGRhcmtzaGFkb3c6CisgICAgICAgIHJldHVybiBwYWxldHRlLmNv
bG9yKFFQYWxldHRlOjpEYXJrKTsKKyAgICBjYXNlIENTU1ZhbHVlVGhyZWVkZmFjZToKKyAgICAg
ICAgcmV0dXJuIHBhbGV0dGUuY29sb3IoUVBhbGV0dGU6OkJ1dHRvbik7CisgICAgY2FzZSBDU1NW
YWx1ZVRocmVlZGhpZ2hsaWdodDoKKyAgICAgICAgcmV0dXJuIHBhbGV0dGUuY29sb3IoUVBhbGV0
dGU6OkxpZ2h0KTsKKyAgICBjYXNlIENTU1ZhbHVlVGhyZWVkbGlnaHRzaGFkb3c6CisgICAgICAg
IHJldHVybiBwYWxldHRlLmNvbG9yKFFQYWxldHRlOjpNaWRsaWdodCk7CisgICAgY2FzZSBDU1NW
YWx1ZVRocmVlZHNoYWRvdzoKKyAgICAgICAgcmV0dXJuIHBhbGV0dGUuY29sb3IoUVBhbGV0dGU6
Ok1pZCk7CisgICAgY2FzZSBDU1NWYWx1ZVdpbmRvdzoKKyAgICAgICAgcmV0dXJuIHBhbGV0dGUu
Y29sb3IoUVBhbGV0dGU6OldpbmRvdyk7CisgICAgY2FzZSBDU1NWYWx1ZVdpbmRvd2ZyYW1lOgor
ICAgICAgICByZXR1cm4gMHhGRkNDQ0NDQzsKKyAgICBjYXNlIENTU1ZhbHVlV2luZG93dGV4dDoK
KyAgICAgICAgcmV0dXJuIHBhbGV0dGUuY29sb3IoUVBhbGV0dGU6OldpbmRvd1RleHQpOworICAg
IGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KKyAgICByZXR1
cm4gQ29sb3IoKTsKK30KKwogaW50IFJlbmRlclRoZW1lUXQ6Om1pbmltdW1NZW51TGlzdFNpemUo
UmVuZGVyU3R5bGUqKSBjb25zdAogewogICAgIGNvbnN0IFFGb250TWV0cmljcyAmZm0gPSBRQXBw
bGljYXRpb246OmZvbnRNZXRyaWNzKCk7CkBAIC00NzYsNyArNzMyLDcgQEAgYm9vbCBSZW5kZXJU
aGVtZVF0OjpwYWludEJ1dHRvbihSZW5kZXJPYgogICAgIG9wdGlvbi5yZWN0ID0gcjsKICAgICBv
cHRpb24uc3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9TbWFsbDsKIAotICAgIENvbnRyb2xQYXJ0IGFw
cGVhcmFuY2UgPSBhcHBseVRoZW1lKG9wdGlvbiwgbyk7CisgICAgQ29udHJvbFBhcnQgYXBwZWFy
YW5jZSA9IGFkanVzdENvbW1vblFTdHlsZU9wdGlvbnMob3B0aW9uLCBvKTsKICAgICBpZiAoYXBw
ZWFyYW5jZSA9PSBQdXNoQnV0dG9uUGFydCB8fCBhcHBlYXJhbmNlID09IEJ1dHRvblBhcnQpIHsK
ICAgICAgICAgb3B0aW9uLnJlY3QgPSBpbmZsYXRlQnV0dG9uUmVjdChvcHRpb24ucmVjdCwgcVN0
eWxlKCkpOwogICAgICAgICBwLmRyYXdDb250cm9sKFFTdHlsZTo6Q0VfUHVzaEJ1dHRvbiwgb3B0
aW9uKTsKQEAgLTQ5MCw3ICs3NDYsNiBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnBhaW50QnV0dG9u
KFJlbmRlck9iCiAKIHZvaWQgUmVuZGVyVGhlbWVRdDo6YWRqdXN0VGV4dEZpZWxkU3R5bGUoQ1NT
U3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiBzdHlsZSwgRWxlbWVudCopIGNvbnN0CiB7Ci0g
ICAgc3R5bGUtPnNldEJhY2tncm91bmRDb2xvcihDb2xvcjo6dHJhbnNwYXJlbnQpOwogICAgIHN0
eWxlLT5yZXNldEJvcmRlcigpOwogICAgIHN0eWxlLT5yZXNldFBhZGRpbmcoKTsKICAgICBjb21w
dXRlU2l6ZUJhc2VkT25TdHlsZShzdHlsZSk7CkBAIC01MTIsNyArNzY3LDcgQEAgYm9vbCBSZW5k
ZXJUaGVtZVF0OjpwYWludFRleHRGaWVsZChSZW5kZQogICAgIHBhbmVsLmZlYXR1cmVzID0gUVN0
eWxlT3B0aW9uRnJhbWVWMjo6Tm9uZTsKIAogICAgIC8vIEdldCB0aGUgY29ycmVjdCB0aGVtZSBk
YXRhIGZvciBhIHRleHQgZmllbGQKLSAgICBDb250cm9sUGFydCBhcHBlYXJhbmNlID0gYXBwbHlU
aGVtZShwYW5lbCwgbyk7CisgICAgQ29udHJvbFBhcnQgYXBwZWFyYW5jZSA9IGFkanVzdENvbW1v
blFTdHlsZU9wdGlvbnMocGFuZWwsIG8pOwogICAgIGlmIChhcHBlYXJhbmNlICE9IFRleHRGaWVs
ZFBhcnQKICAgICAgICAgJiYgYXBwZWFyYW5jZSAhPSBTZWFyY2hGaWVsZFBhcnQKICAgICAgICAg
JiYgYXBwZWFyYW5jZSAhPSBUZXh0QXJlYVBhcnQKQEAgLTU3NCw3ICs4MjksNyBAQCBib29sIFJl
bmRlclRoZW1lUXQ6OnBhaW50TWVudUxpc3QoUmVuZGVyCiAgICAgUVN0eWxlT3B0aW9uQ29tYm9C
b3ggb3B0OwogICAgIGlmIChwLndpZGdldCkKICAgICAgICAgb3B0LmluaXRGcm9tKHAud2lkZ2V0
KTsKLSAgICBhcHBseVRoZW1lKG9wdCwgbyk7CisgICAgYWRqdXN0Q29tbW9uUVN0eWxlT3B0aW9u
cyhvcHQsIG8pOwogCiAgICAgY29uc3QgUVBvaW50IHRvcExlZnQgPSByLnRvcExlZnQoKTsKICAg
ICBwLnBhaW50ZXItPnRyYW5zbGF0ZSh0b3BMZWZ0KTsKQEAgLTYxNCw3ICs4NjksNyBAQCBib29s
IFJlbmRlclRoZW1lUXQ6OnBhaW50TWVudUxpc3RCdXR0b24oCiAgICAgUVN0eWxlT3B0aW9uQ29t
Ym9Cb3ggb3B0aW9uOwogICAgIGlmIChwLndpZGdldCkKICAgICAgICAgb3B0aW9uLmluaXRGcm9t
KHAud2lkZ2V0KTsKLSAgICBhcHBseVRoZW1lKG9wdGlvbiwgbyk7CisgICAgYWRqdXN0Q29tbW9u
UVN0eWxlT3B0aW9ucyhvcHRpb24sIG8pOwogICAgIG9wdGlvbi5yZWN0ID0gcjsKIAogICAgIC8v
IGZvciBkcmF3aW5nIHRoZSBjb21ibyBib3ggYXJyb3csIHJlbHkgb25seSBvbiB0aGUgZmFsbGJh
Y2sgc3R5bGUKQEAgLTY0MiwxNSArODk3LDE1IEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRT
bGlkZXJUaHVtYihSZW4KIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRTZWFyY2hGaWVsZChSZW5k
ZXJPYmplY3QqIG8sIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBwaSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRSZWN0JiByKQogewotICAgIHBh
aW50VGV4dEZpZWxkKG8sIHBpLCByKTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgLy8gVGhpcyBj
YXVzZXMgd2Via2l0IHRvIGRyYXcgdGhlIGJhY2tncm91bmQgYW5kIHRoZSBib3JkZXIgaXRzZWxm
LCBqdXN0IGFzIGZvciB0aGUgZWRpdCBjb250cm9sLgorICAgIC8vIEl0IGlzIHRoZSBleHRyYVN0
eWxlU2hlZXQgZnVuY3Rpb24gdGhhdCBnaXZlcyB0aGUgc2VhcmNoIGNvbnRyb2wgdGhlIG5pY2Ug
cm91bmRlZCBsb29rLgorICAgIHJldHVybiB0cnVlOwogfQogCiB2b2lkIFJlbmRlclRoZW1lUXQ6
OmFkanVzdFNlYXJjaEZpZWxkU3R5bGUoQ1NTU3R5bGVTZWxlY3Rvciogc2VsZWN0b3IsIFJlbmRl
clN0eWxlKiBzdHlsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBFbGVtZW50KiBlKSBjb25zdAogewogICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgUmVuZGVy
VGhlbWU6OmFkanVzdFNlYXJjaEZpZWxkU3R5bGUoc2VsZWN0b3IsIHN0eWxlLCBlKTsKIH0KIAog
dm9pZCBSZW5kZXJUaGVtZVF0OjphZGp1c3RTZWFyY2hGaWVsZENhbmNlbEJ1dHRvblN0eWxlKENT
U1N0eWxlU2VsZWN0b3IqIHNlbGVjdG9yLCBSZW5kZXJTdHlsZSogc3R5bGUsCkBAIC03MTIsNyAr
OTY3LDcgQEAgYm9vbCBSZW5kZXJUaGVtZVF0OjpzdXBwb3J0c0ZvY3VzKENvbnRybwogICAgIH0K
IH0KIAotQ29udHJvbFBhcnQgUmVuZGVyVGhlbWVRdDo6YXBwbHlUaGVtZShRU3R5bGVPcHRpb24m
IG9wdGlvbiwgUmVuZGVyT2JqZWN0KiBvKSBjb25zdAorQ29udHJvbFBhcnQgUmVuZGVyVGhlbWVR
dDo6YWRqdXN0Q29tbW9uUVN0eWxlT3B0aW9ucyhRU3R5bGVPcHRpb24mIG9wdGlvbiwgUmVuZGVy
T2JqZWN0KiBvKSBjb25zdAogewogICAgIC8vIERlZmF1bHQgYml0czogbm8gZm9jdXMsIG5vIG1v
dXNlIG92ZXIKICAgICBvcHRpb24uc3RhdGUgJj0gfihRU3R5bGU6OlN0YXRlX0hhc0ZvY3VzIHwg
UVN0eWxlOjpTdGF0ZV9Nb3VzZU92ZXIpOwpAQCAtNzI0LDIwICs5NzksMjYgQEAgQ29udHJvbFBh
cnQgUmVuZGVyVGhlbWVRdDo6YXBwbHlUaGVtZShRUwogICAgICAgICAvLyBSZWFkb25seSBpcyBz
dXBwb3J0ZWQgb24gdGV4dGZpZWxkcy4KICAgICAgICAgb3B0aW9uLnN0YXRlIHw9IFFTdHlsZTo6
U3RhdGVfUmVhZE9ubHk7CiAKLSAgICBpZiAoc3VwcG9ydHNGb2N1cyhvLT5zdHlsZSgpLT5hcHBl
YXJhbmNlKCkpICYmIGlzRm9jdXNlZChvKSkgewotICAgICAgICBvcHRpb24uc3RhdGUgfD0gUVN0
eWxlOjpTdGF0ZV9IYXNGb2N1czsKLSAgICAgICAgb3B0aW9uLnN0YXRlIHw9IFFTdHlsZTo6U3Rh
dGVfS2V5Ym9hcmRGb2N1c0NoYW5nZTsKLSAgICB9CisgICAgb3B0aW9uLmRpcmVjdGlvbiA9IFF0
OjpMZWZ0VG9SaWdodDsKIAogICAgIGlmIChpc0hvdmVyZWQobykpCiAgICAgICAgIG9wdGlvbi5z
dGF0ZSB8PSBRU3R5bGU6OlN0YXRlX01vdXNlT3ZlcjsKIAotICAgIG9wdGlvbi5kaXJlY3Rpb24g
PSBRdDo6TGVmdFRvUmlnaHQ7Ci0gICAgaWYgKG8tPnN0eWxlKCkgJiYgby0+c3R5bGUoKS0+ZGly
ZWN0aW9uKCkgPT0gV2ViQ29yZTo6UlRMKQotICAgICAgICBvcHRpb24uZGlyZWN0aW9uID0gUXQ6
OlJpZ2h0VG9MZWZ0OworICAgIGluaXRQYWxldHRlRnJvbVBhZ2VDbGllbnRJZkV4aXN0cyhvcHRp
b24ucGFsZXR0ZSwgbyk7CisgICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gby0+c3R5bGUoKTsKKyAg
ICBpZiAoIXN0eWxlKQorICAgICAgICByZXR1cm4gTm9Db250cm9sUGFydDsKKworICAgIENvbnRy
b2xQYXJ0IHJlc3VsdCA9IHN0eWxlLT5hcHBlYXJhbmNlKCk7CisgICAgaWYgKHN1cHBvcnRzRm9j
dXMocmVzdWx0KSAmJiBpc0ZvY3VzZWQobykpIHsKKyAgICAgICAgb3B0aW9uLnN0YXRlIHw9IFFT
dHlsZTo6U3RhdGVfSGFzRm9jdXM7CisgICAgICAgIG9wdGlvbi5zdGF0ZSB8PSBRU3R5bGU6OlN0
YXRlX0tleWJvYXJkRm9jdXNDaGFuZ2U7CisgICAgfQogCi0gICAgQ29udHJvbFBhcnQgcmVzdWx0
ID0gby0+c3R5bGUoKS0+YXBwZWFyYW5jZSgpOworICAgIGlmIChzdHlsZS0+ZGlyZWN0aW9uKCkg
PT0gV2ViQ29yZTo6UlRMKQorICAgICAgICBvcHRpb24uZGlyZWN0aW9uID0gUXQ6OlJpZ2h0VG9M
ZWZ0OwogCisgICAgUUNvbG9yIGJhY2tncm91bmRDb2xvciA9IHN0eWxlLT5iYWNrZ3JvdW5kQ29s
b3IoKTsKICAgICBzd2l0Y2ggKHJlc3VsdCkgewogICAgIGNhc2UgUHVzaEJ1dHRvblBhcnQ6CiAg
ICAgY2FzZSBTcXVhcmVCdXR0b25QYXJ0OgpAQCAtNzUxLDIwICsxMDEyLDMwIEBAIENvbnRyb2xQ
YXJ0IFJlbmRlclRoZW1lUXQ6OmFwcGx5VGhlbWUoUVMKICAgICAgICAgICAgIG9wdGlvbi5zdGF0
ZSB8PSBRU3R5bGU6OlN0YXRlX1N1bmtlbjsKICAgICAgICAgZWxzZSBpZiAocmVzdWx0ID09IFB1
c2hCdXR0b25QYXJ0KQogICAgICAgICAgICAgb3B0aW9uLnN0YXRlIHw9IFFTdHlsZTo6U3RhdGVf
UmFpc2VkOworICAgICAgICAgICAgb3B0aW9uLnBhbGV0dGUuc2V0Q29sb3IoUVBhbGV0dGU6OkJ1
dHRvbiwgYmFja2dyb3VuZENvbG9yKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIH0KLQot
ICAgIGlmIChyZXN1bHQgPT0gUmFkaW9QYXJ0IHx8IHJlc3VsdCA9PSBDaGVja2JveFBhcnQpCisg
ICAgY2FzZSBSYWRpb1BhcnQ6CisgICAgY2FzZSBDaGVja2JveFBhcnQ6CiAgICAgICAgIG9wdGlv
bi5zdGF0ZSB8PSAoaXNDaGVja2VkKG8pID8gUVN0eWxlOjpTdGF0ZV9PbiA6IFFTdHlsZTo6U3Rh
dGVfT2ZmKTsKLQotICAgIC8vIElmIHRoZSBvd25lciB3aWRnZXQgaGFzIGEgY3VzdG9tIHBhbGV0
dGUsIHVzZSBpdAotICAgIFBhZ2UqIHBhZ2UgPSBvLT5kb2N1bWVudCgpLT5wYWdlKCk7Ci0gICAg
aWYgKHBhZ2UpIHsKLSAgICAgICAgQ2hyb21lQ2xpZW50KiBjbGllbnQgPSBwYWdlLT5jaHJvbWUo
KS0+Y2xpZW50KCk7Ci0gICAgICAgIFFXZWJQYWdlQ2xpZW50KiBwYWdlQ2xpZW50ID0gY2xpZW50
LT5wbGF0Zm9ybVBhZ2VDbGllbnQoKTsKLSAgICAgICAgaWYgKHBhZ2VDbGllbnQpCi0gICAgICAg
ICAgICBvcHRpb24ucGFsZXR0ZSA9IHBhZ2VDbGllbnQtPnBhbGV0dGUoKTsKKyAgICBjYXNlIE1l
bnVsaXN0UGFydDoKKyAgICAgICAgLy8gV2UgYXJlIHNldHRpbmcgaGVyZSBhbGwgYmFja2dyb3Vu
ZCBjb2xvcnMgYmVjYXVzZToKKyAgICAgICAgLy8gMS4gSFRNTCBkb2VzIG5vdCBzdXBwb3J0IG11
bHRpcGxlIGJhY2tncm91bmQgY29sb3JzIGZvciB0aGVzZSBjb250cm9scworICAgICAgICAvLyAg
ICB0aHVzIGl0IG1ha2VzIHNlbnNlIHRvIHJlZHVjZSBhbGwgYmFja2dyb3VuZCBjb2xvcnMgdG8g
b25lLgorICAgICAgICAvLyAyLiBEaWZmZXJlbnQgc3R5bGVzIChzdWNoIGFzIG1vdGlmIGFuZCB3
aW5kb3dzKSB1c2UgZGlmZmVyZW50IHBhbGV0dGUKKyAgICAgICAgLy8gICAgaW5kZXhlcyB0byBy
ZW5kZXIgdGhlIGNvbnRyb2wncyBiYWNrZ3JvdW5kCisgICAgICAgIG9wdGlvbi5wYWxldHRlLnNl
dENvbG9yKFFQYWxldHRlOjpCdXR0b24sIGJhY2tncm91bmRDb2xvcik7CisgICAgICAgIG9wdGlv
bi5wYWxldHRlLnNldENvbG9yKFFQYWxldHRlOjpXaW5kb3csIGJhY2tncm91bmRDb2xvcik7Cisg
ICAgICAgIG9wdGlvbi5wYWxldHRlLnNldENvbG9yKFFQYWxldHRlOjpCYXNlLCBiYWNrZ3JvdW5k
Q29sb3IpOworICAgICAgICBvcHRpb24ucGFsZXR0ZS5zZXRDb2xvcihRUGFsZXR0ZTo6VGV4dCwg
c3R5bGUtPmNvbG9yKCkpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIExpc3Rib3hQYXJ0Ogor
ICAgICAgICBvcHRpb24ucGFsZXR0ZS5zZXRDb2xvcihRUGFsZXR0ZTo6VGV4dCwgc3R5bGUtPmNv
bG9yKCkpOworICAgIGNhc2UgU2VhcmNoRmllbGRQYXJ0OgorICAgIGNhc2UgVGV4dEZpZWxkUGFy
dDoKKyAgICBjYXNlIFRleHRBcmVhUGFydDoKKyAgICAgICAgb3B0aW9uLnBhbGV0dGUuc2V0Q29s
b3IoUVBhbGV0dGU6OkJhc2UsIGJhY2tncm91bmRDb2xvcik7CisgICAgICAgIGJyZWFrOwogICAg
IH0KIAogICAgIHJldHVybiByZXN1bHQ7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRl
clRoZW1lUXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1l
UXQuaAkocmV2aXNpb24gNTEzMTApCisrKyBXZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1l
UXQuaAkod29ya2luZyBjb3B5KQpAQCAtMjIsNiArMjIsNyBAQAogI2lmbmRlZiBSZW5kZXJUaGVt
ZVF0X0gKICNkZWZpbmUgUmVuZGVyVGhlbWVRdF9ICiAKKyNpbmNsdWRlICJRV2ViUGFnZUNsaWVu
dC5oIgogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAKICNpbmNsdWRlIDxRU3R5bGU+CkBAIC00
Myw2ICs0NCw3IEBAIHByaXZhdGU6CiAKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxS
ZW5kZXJUaGVtZT4gY3JlYXRlKFBhZ2UqKTsKKyAgICBzdGF0aWMgdm9pZCBhZGRTdHlsZVRleHRJ
Zk5lZWRlZChjb25zdCBRQ29sb3IqIGNvbG9yLCBjb25zdCBRQ29sb3ImIGRlZmF1bHRDb2xvciwg
Y29uc3QgY2hhciogcHJlZml4LCBjb25zdCBjaGFyKiBzdWZmaXgsIFFCeXRlQXJyYXkmIGJ1ZmZl
ciwgYm9vbCBzY2FsZUFscGhhKTsKIAogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0hvdmVyKGNv
bnN0IFJlbmRlclN0eWxlKikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRm9jdXNS
aW5nKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSkgY29uc3Q7CkBAIC01NSw2ICs1NywxMyBAQCBw
dWJsaWM6CiAgICAgLy8gQSBnZW5lcmFsIG1ldGhvZCBhc2tpbmcgaWYgYW55IGNvbnRyb2wgdGlu
dGluZyBpcyBzdXBwb3J0ZWQgYXQgYWxsLgogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0NvbnRy
b2xUaW50cygpIGNvbnN0OwogCisgICAgLyogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBjb250cm9s
IHNob3VsZCBiZSBwYWludGVkIGJ5IHRoZSB0aGVtZSBvciBub3QKKyAgICAgKiBJZiB0aGlzIGZ1
bmN0aW9uIHJldHVybnMgdHJ1ZSBXZWJLaXQgd2lsbCB0cnkgdG8gcGFpbnQgdGhlIGNvbnRyb2wg
CisgICAgICogaWYgaXQgY2FuLiBJbiBRdCB3ZSBhbHdheXMgcmV0dXJuIGZhbHNlIHRvIGluZGlj
YXRlIHRoYXQgUXQgdXMgCisgICAgICogY2FwYWJsZSBvZiBwYWludGluZyBzdHlsZWQgY29udHJv
bHMuCisgICAgICovCisgICAgdmlydHVhbCBib29sIGlzQ29udHJvbFN0eWxlZChjb25zdCBSZW5k
ZXJTdHlsZSosIGNvbnN0IEJvcmRlckRhdGEmLCBjb25zdCBGaWxsTGF5ZXImLCBjb25zdCBDb2xv
ciYgYmFja2dyb3VuZENvbG9yKSBjb25zdDsKKwogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RSZXBh
aW50UmVjdChjb25zdCBSZW5kZXJPYmplY3QqIG8sIEludFJlY3QmIHIpOwogCiAgICAgLy8gVGhl
IHBsYXRmb3JtIHNlbGVjdGlvbiBjb2xvci4KQEAgLTY0LDYgKzczLDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgQ29sb3IgcGxhdGZvcm1JbmFjdGl2ZVNlbGVjdGlvbkZvcmVncm91bmRDb2xvcigp
IGNvbnN0OwogCiAgICAgdmlydHVhbCB2b2lkIHN5c3RlbUZvbnQoaW50IHByb3BJZCwgRm9udERl
c2NyaXB0aW9uJikgY29uc3Q7CisgICAgdmlydHVhbCBDb2xvciBzeXN0ZW1Db2xvcihpbnQgY3Nz
VmFsdWVJZCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIGludCBtaW5pbXVtTWVudUxpc3RTaXplKFJl
bmRlclN0eWxlKikgY29uc3Q7CiAKQEAgLTcxLDYgKzgxLDExIEBAIHB1YmxpYzoKIAogICAgIHZp
cnR1YWwgZG91YmxlIGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0OwogCisKKyAgICAvKiBUaGVz
ZSBtZXRob2RzIHJldHVybiB0aGUgdGhlbWUncyBleHRyYSBzdHlsZSBzaGVldHMgcnVsZXMsIHRv
IGxldCBlYWNoIHBsYXRmb3JtCisgICAgICogYWRqdXN0IHRoZSBkZWZhdWx0IENTUyBydWxlcyBp
biBodG1sLmNzcywgcXVpcmtzLmNzcywgb3IgbWVkaWFDb250cm9scy5jc3MKKyAgICAgKi8KKyAg
ICB2aXJ0dWFsIFN0cmluZyBleHRyYURlZmF1bHRTdHlsZVNoZWV0KCk7CiAjaWYgRU5BQkxFKFZJ
REVPKQogICAgIHZpcnR1YWwgU3RyaW5nIGV4dHJhTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKTsK
ICNlbmRpZgpAQCAtMTEzLDYgKzEyOCwxMSBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lk
IGFkanVzdFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25TdHlsZShDU1NTdHlsZVNlbGVjdG9y
KiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50KikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHBhaW50
U2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvbihSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJP
YmplY3Q6OlBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKIAorICAgIC8qIEdldHMgb3duZXIg
d2lkZ2V0IGZvciBtX3BhZ2UKKyAgICAgKiBJZiBtX3BhZ2UgaXMgMCBwYWdlT3duZXJXaWRnZXQg
cmV0dXJucyAwLgorICAgICAqLworICAgIFFXaWRnZXQqIHBhZ2VPd25lcldpZGdldCgpIGNvbnN0
OworCiAjaWYgRU5BQkxFKFZJREVPKQogICAgIHZpcnR1YWwgYm9vbCBwYWludE1lZGlhRnVsbHNj
cmVlbkJ1dHRvbihSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYs
IGNvbnN0IEludFJlY3QmKTsKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZWRpYVBsYXlCdXR0b24o
UmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25zdCBJbnRS
ZWN0Jik7CkBAIC0xMzIsNyArMTUyLDcgQEAgcHJpdmF0ZToKIHByaXZhdGU6CiAgICAgYm9vbCBz
dXBwb3J0c0ZvY3VzKENvbnRyb2xQYXJ0KSBjb25zdDsKIAotICAgIENvbnRyb2xQYXJ0IGFwcGx5
VGhlbWUoUVN0eWxlT3B0aW9uJiwgUmVuZGVyT2JqZWN0KikgY29uc3Q7CisgICAgQ29udHJvbFBh
cnQgYWRqdXN0Q29tbW9uUVN0eWxlT3B0aW9ucyhRU3R5bGVPcHRpb24mLCBSZW5kZXJPYmplY3Qq
KSBjb25zdDsKIAogICAgIHZvaWQgc2V0QnV0dG9uUGFkZGluZyhSZW5kZXJTdHlsZSopIGNvbnN0
OwogICAgIHZvaWQgc2V0UG9wdXBQYWRkaW5nKFJlbmRlclN0eWxlKikgY29uc3Q7CkBAIC0xNzgs
NiArMTk4LDYgQEAgcHJpdmF0ZToKICAgICBRX0RJU0FCTEVfQ09QWShTdHlsZVBhaW50ZXIpCiB9
OwogCi19Cit9ICAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKSW5kZXg6IFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZS5jcHAJKHJldmlzaW9uIDUxMzEwKQorKysgV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMDAsMTEgKzMwMCwxNiBAQCBib29s
IFJlbmRlclRoZW1lOjpwYWludChSZW5kZXJPYmplY3QqIG8sCiAgICAgICAgICAgICByZXR1cm4g
cGFpbnRNZWRpYUN1cnJlbnRUaW1lKG8sIHBhaW50SW5mbywgcik7CiAgICAgICAgIGNhc2UgTWVk
aWFDb250cm9sc0JhY2tncm91bmRQYXJ0OgogICAgICAgICAgICAgcmV0dXJuIHBhaW50TWVkaWFD
b250cm9sc0JhY2tncm91bmQobywgcGFpbnRJbmZvLCByKTsKLSAgICAgICAgY2FzZSBNZW51bGlz
dEJ1dHRvblBhcnQ6CisjaWYgUExBVEZPUk0oUVQpCiAgICAgICAgIGNhc2UgVGV4dEZpZWxkUGFy
dDoKKyAgICAgICAgICAgIHJldHVybiBwYWludFRleHRGaWVsZChvLCBwYWludEluZm8sIHIpOwog
ICAgICAgICBjYXNlIFRleHRBcmVhUGFydDoKKyAgICAgICAgICAgIHJldHVybiBwYWludFRleHRB
cmVhKG8sIHBhaW50SW5mbywgcik7CisjZWxzZQorICAgICAgICBjYXNlIE1lbnVsaXN0QnV0dG9u
UGFydDoKICAgICAgICAgY2FzZSBMaXN0Ym94UGFydDoKICAgICAgICAgICAgIHJldHVybiB0cnVl
OworI2VuZGlmCiAgICAgICAgIGNhc2UgU2VhcmNoRmllbGRQYXJ0OgogICAgICAgICAgICAgcmV0
dXJuIHBhaW50U2VhcmNoRmllbGQobywgcGFpbnRJbmZvLCByKTsKICAgICAgICAgY2FzZSBTZWFy
Y2hGaWVsZENhbmNlbEJ1dHRvblBhcnQ6CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1MTMxMCkKKysrIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDA5
LTExLTI1ICBDYXJvbCBTemFibyAgPGNhcm9sLnN6YWJvQG5va2lhLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZWVkIGEgc2hvcnQgZGVzY3Jp
cHRpb24gYW5kIGJ1ZyBVUkwgKE9PUFMhKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzAxNzMKKworICAgICAgICAqIHBsYXRmb3JtL3F0L2NzczEvYm94
X3Byb3BlcnRpZXMvYWNpZF90ZXN0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9x
dC9mYXN0L2Nzcy9wc2V1ZG8tY2FjaGUtc3RhbGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL3F0L2Zhc3QvY3NzL3RleHQtaW5wdXQtd2l0aC13ZWJraXQtYm9yZGVyLXJhZGl1cy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTFRhYmxlQ29s
RWxlbWVudC9yZXNpemUtdGFibGUtdXNpbmctY29sLXdpZHRoLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL2Jhc2ljLWJ1dHRvbnMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvYmFzaWMtaW5wdXRzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL2J1dHRvbi1zdHlsZS1jb2xvci1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9pc2luZGV4LXBs
YWNlaG9sZGVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Zvcm1z
L21lbnVsaXN0LXN0eWxlLWNvbG9yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9x
dC9mYXN0L2Zvcm1zL3RleHQtc3R5bGUtY29sb3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItcHNldWRvLXN0eWxlLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBs
YWNlaG9sZGVyLXNldC1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L3F0L2Zhc3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItc2V0LXZhbHVlLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzkyNjQ3LTIt
ZXhwZWN0ZWQudHh0OgorICAgICAgICBDaGFuZ2VkIHRoZXNlIHRlc3RzIHRvIGFjY29tb2RhdGUg
dGhlIG5hdGl2ZSBjb2xvcnMgdGhhdCBhcmUgbm93IHJlZmxlY3RlZAorICAgICAgICBpbiBkZWZh
dWx0IHN0eWxlcy4gQWxzbyBzb21lYm9yZGVycyBhcmUgbm93IHJlbmRlcmVkIG5hdGl2ZWx5IHNv
IHRoZXkgZG8gbm90IHNob3cgdXAKKyAgICAgICAgaW4gdGhlIGR1bXAgYW55bW9yZS4KKwogMjAw
OS0xMS0yMiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IE9saXZlciBIdW50LgpJbmRleDogTGF5b3V0VGVzdHMvY3NzMS9ib3hfcHJv
cGVydGllcy9ib3JkZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9jc3MxL2JveF9w
cm9wZXJ0aWVzL2JvcmRlci5odG1sCShyZXZpc2lvbiA1MTMxMCkKKysrIExheW91dFRlc3RzL2Nz
czEvYm94X3Byb3BlcnRpZXMvYm9yZGVyLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTUsOCArNSw4
IEBACiA8TUVUQSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsg
Y2hhcnNldD1pc28tODg1OS0xIj4KIDxNRVRBIGh0dHAtZXF1aXY9IkNvbnRlbnQtU3R5bGUtVHlw
ZSIgY29udGVudD0idGV4dC9jc3MiPgogCi08TElOSyByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRl
eHQvY3NzIiBtZWRpYT0ic2NyZWVuIiBocmVmPSIuLi9yZXNvdXJjZXMvYmFzZS5jc3MiPgotPFNU
WUxFIHR5cGU9InRleHQvY3NzIj4KKzwhLS08TElOSyByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRl
eHQvY3NzIiBtZWRpYT0ic2NyZWVuIiBocmVmPSIuLi9yZXNvdXJjZXMvYmFzZS5jc3MiPgorLS0+
PFNUWUxFIHR5cGU9InRleHQvY3NzIj4KIC5vbmUge2JvcmRlcjogbWVkaXVtIGJsYWNrIHNvbGlk
O30KIC50d28ge2JvcmRlcjogdGhpbiBtYXJvb24gcmlkZ2U7fQogLnRocmVlIHtib3JkZXI6IDEw
cHggdGVhbCBvdXRzZXQ7fQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvY3NzMS9ib3hf
cHJvcGVydGllcy9hY2lkX3Rlc3QtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL3F0L2NzczEvYm94X3Byb3BlcnRpZXMvYWNpZF90ZXN0LWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNTEzMTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9jc3MxL2JveF9w
cm9wZXJ0aWVzL2FjaWRfdGVzdC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIzLDEy
ICsyMywxMiBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg0MjAKICAgICAgICAgICAgICAgICBS
ZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSAxMzl4MTkKICAgICAgICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwzKSBzaXplIDI3eDEyCiAgICAgICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDMpIHdpZHRoIDI3OiAiYmFuZyAiCi0gICAgICAgICAgICAgICAgICBS
ZW5kZXJCbG9jayB7SU5QVVR9IGF0ICgyOSwzKSBzaXplIDEyeDEyIFtjb2xvcj0jMDAwMDAwXQor
ICAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge0lOUFVUfSBhdCAoMjksMykgc2l6ZSAxMngx
MiBbY29sb3I9IzAwMDAwMF0gW2JnY29sb3I9I0VGRUJFN10KICAgICAgICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICAgICAgICAgIFJlbmRl
ckJsb2NrIHtQfSBhdCAoMCwxOSkgc2l6ZSAxMzl4MTkKICAgICAgICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwzKSBzaXplIDQxeDEyCiAgICAgICAgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDMpIHdpZHRoIDQxOiAid2hpbXBlciAiCi0gICAgICAgICAgICAgICAgICBS
ZW5kZXJCbG9jayB7SU5QVVR9IGF0ICg0MywzKSBzaXplIDEyeDEyIFtjb2xvcj0jMDAwMDAwXQor
ICAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge0lOUFVUfSBhdCAoNDMsMykgc2l6ZSAxMngx
MiBbY29sb3I9IzAwMDAwMF0gW2JnY29sb3I9I0VGRUJFN10KICAgICAgICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICAgICAgICBSZW5kZXJC
bG9jayAoYW5vbnltb3VzKSBhdCAoMTAsNTgpIHNpemUgMTM5eDAKICAgICAgICAgICAgICAgICBS
ZW5kZXJJbmxpbmUge0ZPUk19IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9xdC9mYXN0L2Nzcy9wc2V1ZG8tY2FjaGUtc3RhbGUtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvY3NzL3BzZXVkby1jYWNoZS1z
dGFsZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDUxMzEwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvZmFzdC9jc3MvcHNldWRvLWNhY2hlLXN0YWxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMywyNCArMywyNCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0Ci0g
ICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDc4NHg0MAotICAgICAgICBSZW5k
ZXJJbmxpbmUgKGdlbmVyYXRlZCkgYXQgKDAsMCkgc2l6ZSAyMHg0MAotICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDIweDQwCisgICAgICBSZW5kZXJCbG9jayB7RElW
fSBhdCAoMCwwKSBzaXplIDc4NHg0MQorICAgICAgICBSZW5kZXJJbmxpbmUgKGdlbmVyYXRlZCkg
YXQgKDAsMCkgc2l6ZSAyMHg0MQorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDIweDQxCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMDogIlQi
Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjAsMTUpIHNpemUgNDE1eDIwCisgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjAsMTUpIHNpemUgNDE1eDIxCiAgICAgICAgICAg
dGV4dCBydW4gYXQgKDIwLDE1KSB3aWR0aCA0MTU6ICJoZSBmaXJzdCBsZXR0ZXIgaW4gdGhpcyBz
ZW50ZW5jZSBzaG91bGQgYmUgbGFyZ2VyIHRoYW4gdGhlIHJlc3QuIgotICAgICAgUmVuZGVyQmxv
Y2sge0RJVn0gYXQgKDAsNDApIHNpemUgNzg0eDIwCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDI5OHg0MAorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsNDEp
IHNpemUgNzg0eDIxCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI5
OHg0MQogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDI5ODogIlRoaXMgc2VudGVu
Y2Ugc2hvdWxkIGJlIGV4dHJhLWV4dHJhLWxhcmdlLiIKLSAgICAgIFJlbmRlckJsb2NrIChhbm9u
eW1vdXMpIGF0ICgwLDYwKSBzaXplIDc4NHgzMAotICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7
SU5QVVR9IGF0ICgyLDIpIHNpemUgMTc3eDI2IFtiZ2NvbG9yPSNGRkZGRkZdIFtib3JkZXI6ICgy
cHggaW5zZXQgIzAwMDAwMCldCi0gICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDMsMykg
c2l6ZSAxNzF4MjAKKyAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDYyKSBzaXpl
IDc4NHgyNQorICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyLDIpIHNpemUg
MTcxeDIxIFtiZ2NvbG9yPSNGRkZGRkZdCisgICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDAsMCkgc2l6ZSAxNzF4MjEKICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDE2
KSBzaXplIDB4MAogICAgICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDE3MSwxNikgc2l6
ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLWxheWVyIGF0ICgxMyw3Mykgc2l6ZSAxNzF4
MjAKLSAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxNzF4MjAgW2NvbG9yPSMwMDgw
MDBdCi0gICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDApIHNpemUgMTUweDIwCitsYXllciBh
dCAoMTAsNzIpIHNpemUgMTcxeDIxCisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUg
MTcxeDIxIFtjb2xvcj0jMDA4MDAwXQorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwwKSBz
aXplIDE1MHgyMQogICAgICAgdGV4dCBydW4gYXQgKDEsMCkgd2lkdGggMTUwOiAiVGhpcyBzaG91
bGQgYmUgZ3JlZW4iCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Nzcy90ZXh0
LWlucHV0LXdpdGgtd2Via2l0LWJvcmRlci1yYWRpdXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvY3NzL3RleHQtaW5wdXQtd2l0aC13ZWJr
aXQtYm9yZGVyLXJhZGl1cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDUxMzEwKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9jc3MvdGV4dC1pbnB1dC13aXRoLXdlYmtpdC1ib3JkZXIt
cmFkaXVzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwyNiArMSwyNiBAQAogbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHgxNDEKLSAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgODAweDE0MQotICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDE2KSBzaXpl
IDc4NHgxMTcKLSAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgyMAotICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzMzd4MjAKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDE0MworICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4
MTQzCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsMTYpIHNpemUgNzg0eDExOQorICAgICAg
UmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDIxCisgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDMzN3gyMQogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDMzNzogIlRoaXMgdGVzdCBjaGVja3MgdGhhdCB0ZXh0IGlucHV0IGZpZWxkcyBoYW5k
bGUgdGhlICIKLSAgICAgICAgUmVuZGVySW5saW5lIHtDT0RFfSBhdCAoMCwwKSBzaXplIDEyMHgx
NgotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzM3LDMpIHNpemUgMTIweDE2Cisg
ICAgICAgIFJlbmRlcklubGluZSB7Q09ERX0gYXQgKDAsMCkgc2l6ZSAxMjB4MTcKKyAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMzNywzKSBzaXplIDEyMHgxNwogICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDMzNywzKSB3aWR0aCAxMjA6ICItd2Via2l0LWJvcmRlci1yYWRpdXMiCi0g
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNDU3LDApIHNpemUgMzI2eDIwCisgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNDU3LDApIHNpemUgMzI2eDIxCiAgICAgICAgICAgdGV4
dCBydW4gYXQgKDQ1NywwKSB3aWR0aCAzMjY6ICIgQ1NTIHByb3BlcnR5IGNvcnJlY3RseSwgb3Ig
ZGVncmFkZSBncmFjZWZ1bGx5LiIKLSAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwzNikgc2l6
ZSA3ODR4MjAKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNjgweDIw
CisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMzcpIHNpemUgNzg0eDIxCisgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDY4MHgyMQogICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDApIHdpZHRoIDY4MDogIklmIHRoZSB0ZXN0IHBhc3NlcywgeW91IHdpbGwgc2VlIGEg
dGV4dCBlbnRyeSBmaWVsZCBjb250YWluaW5nIFwiZGVmYXVsdCB0ZXh0XCIgaW5zaWRlIHRoZSBn
cmV5IGRpdiBiZWxvdy4iCi0gICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCw3Mikgc2l6ZSAx
NjN4NDUgW2JnY29sb3I9Izg4ODg4OF0KLSAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVU
fSBhdCAoMTEsOSkgc2l6ZSAxMzN4MjYgW2JnY29sb3I9IzAwRkYwMF0gW2JvcmRlcjogKDJweCBp
bnNldCAjMDAwMDAwKV0KLSAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMywzKSBzaXpl
IDEyN3gyMAorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsNzQpIHNpemUgMTYzeDQ1IFti
Z2NvbG9yPSM4ODg4ODhdCisgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDEx
LDkpIHNpemUgMTMzeDIxIFtiZ2NvbG9yPSMwMEZGMDBdCisgICAgICAgICAgUmVuZGVyQmxvY2sg
e0RJVn0gYXQgKDAsMCkgc2l6ZSAxMzN4MjEKICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9
IGF0ICgwLDE2KSBzaXplIDB4MAotICAgICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEy
NywxNikgc2l6ZSAweDAKKyAgICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxMzMsMTYp
IHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAot
bGF5ZXIgYXQgKDIyLDEwMCkgc2l6ZSAxMjd4MjAKLSAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAs
MCkgc2l6ZSAxMjd4MjAKLSAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMCkgc2l6ZSA3N3gy
MAorbGF5ZXIgYXQgKDE5LDk5KSBzaXplIDEzM3gyMQorICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MCwwKSBzaXplIDEzM3gyMQorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwwKSBzaXplIDc3
eDIxCiAgICAgICB0ZXh0IHJ1biBhdCAoMSwwKSB3aWR0aCA3NzogImRlZmF1bHQgdGV4dCIKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxUYWJsZUNvbEVsZW1lbnQv
cmVzaXplLXRhYmxlLXVzaW5nLWNvbC13aWR0aC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTFRhYmxlQ29sRWxlbWVudC9yZXNp
emUtdGFibGUtdXNpbmctY29sLXdpZHRoLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTEzMTApCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MVGFibGVDb2xFbGVtZW50L3Jl
c2l6ZS10YWJsZS11c2luZy1jb2wtd2lkdGgtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0zLDM2ICszLDM2IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKLSAgICAgIFJl
bmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSA2NzJ4NTYgW2JvcmRlcjogKDFweCBvdXRz
ZXQgIzgwODA4MCldCisgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgNjcy
eDU4IFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQogICAgICAgICBSZW5kZXJUYWJsZUNv
bCB7Q09MR1JPVVB9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgICAgUmVuZGVyVGFibGVDb2wg
e0NPTH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgICBSZW5kZXJUYWJsZUNvbCB7Q09MfSBh
dCAoMCwwKSBzaXplIDB4MAogICAgICAgICAgIFJlbmRlclRhYmxlQ29sIHtDT0x9IGF0ICgwLDAp
IHNpemUgMHgwCi0gICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiB7VEJPRFl9IGF0ICgxLDEpIHNp
emUgNjcweDU0Ci0gICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCwyKSBzaXplIDY3
MHgyNAotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDIsMikgc2l6ZSA1MDB4
MjQgW2JvcmRlcjogKDFweCBpbnNldCAjODA4MDgwKV0gW3I9MCBjPTAgcnM9MSBjcz0xXQotICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIsMikgc2l6ZSA3N3gyMAorICAgICAg
ICBSZW5kZXJUYWJsZVNlY3Rpb24ge1RCT0RZfSBhdCAoMSwxKSBzaXplIDY3MHg1NgorICAgICAg
ICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMikgc2l6ZSA2NzB4MjUKKyAgICAgICAgICAg
IFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgyLDIpIHNpemUgNTAweDI1IFtib3JkZXI6ICgxcHgg
aW5zZXQgIzgwODA4MCldIFtyPTAgYz0wIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgyLDIpIHNpemUgNzd4MjEKICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMiwyKSB3aWR0aCA3NzogImNvbCAxIHJvdyAxIgotICAgICAgICAgICAgUmVuZGVyVGFi
bGVDZWxsIHtURH0gYXQgKDUwNCwyKSBzaXplIDgxeDI0IFtib3JkZXI6ICgxcHggaW5zZXQgIzgw
ODA4MCldIFtyPTAgYz0xIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgyLDIpIHNpemUgNzd4MjAKKyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9
IGF0ICg1MDQsMikgc2l6ZSA4MXgyNSBbYm9yZGVyOiAoMXB4IGluc2V0ICM4MDgwODApXSBbcj0w
IGM9MSBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMiwy
KSBzaXplIDc3eDIxCiAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDIsMikgd2lkdGggNzc6
ICJjb2wgMiByb3cgMSIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg1ODcs
Mikgc2l6ZSA4MXgyNCBbYm9yZGVyOiAoMXB4IGluc2V0ICM4MDgwODApXSBbcj0wIGM9MiBycz0x
IGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMiwyKSBzaXplIDc3
eDIwCisgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNTg3LDIpIHNpemUgODF4
MjUgW2JvcmRlcjogKDFweCBpbnNldCAjODA4MDgwKV0gW3I9MCBjPTIgcnM9MSBjcz0xXQorICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIsMikgc2l6ZSA3N3gyMQogICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgyLDIpIHdpZHRoIDc3OiAiY29sIDMgcm93IDEiCi0gICAg
ICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCwyOCkgc2l6ZSA2NzB4MjQKLSAgICAgICAg
ICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgyLDI4KSBzaXplIDUwMHgyNCBbYm9yZGVyOiAo
MXB4IGluc2V0ICM4MDgwODApXSBbcj0xIGM9MCBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMiwyKSBzaXplIDc3eDIwCisgICAgICAgICAgUmVuZGVyVGFi
bGVSb3cge1RSfSBhdCAoMCwyOSkgc2l6ZSA2NzB4MjUKKyAgICAgICAgICAgIFJlbmRlclRhYmxl
Q2VsbCB7VER9IGF0ICgyLDI5KSBzaXplIDUwMHgyNSBbYm9yZGVyOiAoMXB4IGluc2V0ICM4MDgw
ODApXSBbcj0xIGM9MCBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMiwyKSBzaXplIDc3eDIxCiAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDIsMikg
d2lkdGggNzc6ICJjb2wgMSByb3cgMiIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9
IGF0ICg1MDQsMjgpIHNpemUgODF4MjQgW2JvcmRlcjogKDFweCBpbnNldCAjODA4MDgwKV0gW3I9
MSBjPTEgcnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIs
Mikgc2l6ZSA3N3gyMAorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDUwNCwy
OSkgc2l6ZSA4MXgyNSBbYm9yZGVyOiAoMXB4IGluc2V0ICM4MDgwODApXSBbcj0xIGM9MSBycz0x
IGNzPTFdCisgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMiwyKSBzaXplIDc3
eDIxCiAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDIsMikgd2lkdGggNzc6ICJjb2wgMiBy
b3cgMiIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg1ODcsMjgpIHNpemUg
ODF4MjQgW2JvcmRlcjogKDFweCBpbnNldCAjODA4MDgwKV0gW3I9MSBjPTIgcnM9MSBjcz0xXQot
ICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIsMikgc2l6ZSA3N3gyMAorICAg
ICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDU4NywyOSkgc2l6ZSA4MXgyNSBbYm9y
ZGVyOiAoMXB4IGluc2V0ICM4MDgwODApXSBbcj0xIGM9MiBycz0xIGNzPTFdCisgICAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMiwyKSBzaXplIDc3eDIxCiAgICAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDIsMikgd2lkdGggNzc6ICJjb2wgMyByb3cgMyIKLSAgICAgIFJlbmRl
ckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDU2KSBzaXplIDc4NHgzNQotICAgICAgICBSZW5kZXJC
dXR0b24ge0JVVFRPTn0gYXQgKDIsMikgc2l6ZSA0NzB4MzEgW2JnY29sb3I9I0MwQzBDMF0KLSAg
ICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2KSBzaXplIDQ1OHgyMAotICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDU4eDIwCisgICAgICBS
ZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCw1OCkgc2l6ZSA3ODR4MzYKKyAgICAgICAgUmVu
ZGVyQnV0dG9uIHtCVVRUT059IGF0ICgyLDIpIHNpemUgNDcweDMyIFtjb2xvcj0jMUExQTFBXSBb
Ymdjb2xvcj0jRUZFQkU3XQorICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2
LDYpIHNpemUgNDU4eDIxCisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSA0NTh4MjEKICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNDU4OiAi
Q2xpY2sgbWUgdG8gdGVzdCBtYW51YWxseS4gVGhlIGZpcnN0IGNvbHVtbiBzaG91bGQgZ3JvdyB0
byA1MDBweC4iCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAog
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvYmFzaWMtYnV0dG9ucy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9iYXNpYy1i
dXR0b25zLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTEzMTApCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9xdC9mYXN0L2Zvcm1zL2Jhc2ljLWJ1dHRvbnMtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC0xLDE2NyArMSwxNjcgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBS
ZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
Mzc3Ci0gIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgzNzcKLSAgICBSZW5k
ZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHgzNjEKLSAgICAgIFJlbmRlckJsb2NrIChh
bm9ueW1vdXMpIGF0ICgwLDApIHNpemUgNzg0eDgwCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDYwN3gyMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4Mzg5CisgIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHgzODkKKyAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDc4NHgzNzMKKyAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMp
IGF0ICgwLDApIHNpemUgNzg0eDg0CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDYwN3gyMQogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDYwNzogIlRl
c3RzIGZvciBiYXNpYyBidXR0b24gcmVuZGVyaW5nLiBDcmVhdGVzIGEgdGFibGUgd2l0aCBzZXZl
biBjb2x1bW5zIGFuZCBzZXZlbiByb3dzLiAiCi0gICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDYw
NywwKSBzaXplIDB4MjAKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDIwKSBzaXpl
IDU2OHgyMAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIwKSB3aWR0aCA1Njg6ICJDcmVhdGVz
IHR3byBkaWZmZXJlbnQgdHlwZXMgb2YgYnV0dG9ucywgb25lIHdpdGggYW4gaW1hZ2UgKGEgcmVk
IGRvdCkgYW5kIGFub3RoZXIgIgotICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICg1NjgsMjApIHNp
emUgMHgyMAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNDApIHNpemUgNzE4eDIw
Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsNDApIHdpZHRoIDcxODogIndpdGggdGV4dCAoXCJm
b29cIikgYW5kIHRoZW4gdXNlcyBzaXggZGlmZmVyZW50IHBhZGRpbmdzIHRvIG1ha2Ugc3VyZSBl
YWNoIG9mIHRoZSBidXR0b25zIHJlbmRlciBwcm9wZXJseS4gIgotICAgICAgICBSZW5kZXJCUiB7
QlJ9IGF0ICg3MTgsNDApIHNpemUgMHgyMAotICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgwLDYw
KSBzaXplIDB4MjAKLSAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsODApIHNpemUgNzI3
eDI4MQotICAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24ge1RCT0RZfSBhdCAoMCwwKSBzaXplIDcy
N3gyODEKLSAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDApIHNpemUgNzI3eDIy
Ci0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMCwwKSBzaXplIDE4NHgyMiBb
cj0wIGM9MCBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MSwxKSBzaXplIDQ2eDIwCisgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDYwNywwKSBzaXplIDB4
MjEKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDIxKSBzaXplIDU2OHgyMQorICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDIxKSB3aWR0aCA1Njg6ICJDcmVhdGVzIHR3byBkaWZmZXJl
bnQgdHlwZXMgb2YgYnV0dG9ucywgb25lIHdpdGggYW4gaW1hZ2UgKGEgcmVkIGRvdCkgYW5kIGFu
b3RoZXIgIgorICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICg1NjgsMjEpIHNpemUgMHgyMQorICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNDIpIHNpemUgNzE4eDIxCisgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsNDIpIHdpZHRoIDcxODogIndpdGggdGV4dCAoXCJmb29cIikgYW5kIHRo
ZW4gdXNlcyBzaXggZGlmZmVyZW50IHBhZGRpbmdzIHRvIG1ha2Ugc3VyZSBlYWNoIG9mIHRoZSBi
dXR0b25zIHJlbmRlciBwcm9wZXJseS4gIgorICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICg3MTgs
NDIpIHNpemUgMHgyMQorICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgwLDYzKSBzaXplIDB4MjEK
KyAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsODQpIHNpemUgNzI3eDI4OQorICAgICAg
ICBSZW5kZXJUYWJsZVNlY3Rpb24ge1RCT0RZfSBhdCAoMCwwKSBzaXplIDcyN3gyODkKKyAgICAg
ICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDApIHNpemUgNzI3eDIzCisgICAgICAgICAg
ICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMCwwKSBzaXplIDE4NHgyMyBbcj0wIGM9MCBycz0x
IGNzPTFdCisgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDQ2
eDIxCiAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggNDY6ICJzdHlsaW5n
IgotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDE4NCwwKSBzaXplIDY0eDIy
IFtyPTAgYz0xIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgxLDEpIHNpemUgNjJ4MjAKKyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgx
ODQsMCkgc2l6ZSA2NHgyMyBbcj0wIGM9MSBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDYyeDIxCiAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDEsMSkgd2lkdGggNjI6ICI8YnV0dG9uPiIKLSAgICAgICAgICAgIFJlbmRlclRhYmxl
Q2VsbCB7VER9IGF0ICgyNDgsMCkgc2l6ZSAxNjR4MjIgW3I9MCBjPTIgcnM9MSBjcz0xXQotICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxNjJ4MjAKKyAgICAg
ICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgyNDgsMCkgc2l6ZSAxNjR4MjMgW3I9MCBj
PTIgcnM9MSBjcz0xXQorICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkg
c2l6ZSAxNjJ4MjEKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAxNjI6
ICIob2Zmc2V0SCxXKSAoY2xpZW50SCxXKSIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7
VER9IGF0ICg0MTIsMCkgc2l6ZSAxNDJ4MjIgW3I9MCBjPTMgcnM9MSBjcz0xXQotICAgICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxNDB4MjAKKyAgICAgICAgICAg
IFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg0MTIsMCkgc2l6ZSAxNDJ4MjMgW3I9MCBjPTMgcnM9
MSBjcz0xXQorICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAx
NDB4MjEKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAxNDA6ICI8aW5w
dXQgdHlwZT1idXR0b24+IgotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDU1
NCwwKSBzaXplIDE3M3gyMiBbcj0wIGM9NCBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDE3MXgyMAorICAgICAgICAgICAgUmVuZGVyVGFi
bGVDZWxsIHtURH0gYXQgKDU1NCwwKSBzaXplIDE3M3gyMyBbcj0wIGM9NCBycz0xIGNzPTFdCisg
ICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDE3MXgyMQogICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDE3MTogIihvZmZzZXRILFcpIChj
bGllbnRILCAtVykiCi0gICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCwyMikgc2l6
ZSA3Mjd4MzcKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgwLDI5KSBzaXpl
IDE4NHgyMiBbcj0xIGM9MCBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMSwxKSBzaXplIDU4eDIwCisgICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBh
dCAoMCwyMykgc2l6ZSA3Mjd4MzgKKyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0
ICgwLDMwKSBzaXplIDE4NHgyMyBbcj0xIGM9MCBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDU4eDIxCiAgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDEsMSkgd2lkdGggNTg6ICIoZGVmYXVsdCkiCi0gICAgICAgICAgICBSZW5kZXJU
YWJsZUNlbGwge1REfSBhdCAoMTg0LDIyKSBzaXplIDY0eDM3IFtyPTEgYz0xIHJzPTEgY3M9MV0K
LSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUgMjJ4MzEg
W2JnY29sb3I9I0MwQzBDMF0KLSAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3Vz
KSBhdCAoNiw2KSBzaXplIDEweDIwCi0gICAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1H
fSBhdCAoMCw2KSBzaXplIDEweDEwCi0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBh
dCAoMjQ4LDI5KSBzaXplIDE2NHgyMiBbcj0xIGM9MiBycz0xIGNzPTFdCi0gICAgICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDExMngyMAotICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDExMjogIigzMSwgMTIpICgzMSwgMTIpIgotICAgICAg
ICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDQxMiwyMikgc2l6ZSAxNDJ4MzcgW3I9MSBj
PTMgcnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMywz
KSBzaXplIDM0eDMxIFtiZ2NvbG9yPSNDMEMwQzBdCi0gICAgICAgICAgICAgICAgUmVuZGVyQmxv
Y2sgKGFub255bW91cykgYXQgKDYsNikgc2l6ZSAyMngyMAotICAgICAgICAgICAgICAgICAgUmVu
ZGVyVGV4dCBhdCAoMCwwKSBzaXplIDIyeDIwCi0gICAgICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDApIHdpZHRoIDIyOiAiZm9vIgotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtU
RH0gYXQgKDU1NCwyOSkgc2l6ZSAxNzN4MjIgW3I9MSBjPTQgcnM9MSBjcz0xXQotICAgICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxMTJ4MjAKLSAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAxMTI6ICIoMzEsIDM0KSAoMzEsIDM0KSIKLSAg
ICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDU5KSBzaXplIDcyN3gzNwotICAgICAg
ICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDAsNjYpIHNpemUgMTg0eDIyIFtyPTIgYz0w
IHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNp
emUgNzV4MjAKKyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgxODQsMjMpIHNp
emUgNjR4MzggW3I9MSBjPTEgcnM9MSBjcz0xXQorICAgICAgICAgICAgICBSZW5kZXJCdXR0b24g
e0JVVFRPTn0gYXQgKDMsMykgc2l6ZSAyMngzMiBbY29sb3I9IzFBMUExQV0gW2JnY29sb3I9I0VG
RUJFN10KKyAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2KSBz
aXplIDEweDIxCisgICAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCw2KSBz
aXplIDEweDEwCisgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMjQ4LDMwKSBz
aXplIDE2NHgyMyBbcj0xIGM9MiBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMSwxKSBzaXplIDExMngyMQorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgxLDEpIHdpZHRoIDExMjogIigzMiwgMTIpICgzMiwgMTIpIgorICAgICAgICAgICAgUmVuZGVy
VGFibGVDZWxsIHtURH0gYXQgKDQxMiwyMykgc2l6ZSAxNDJ4MzggW3I9MSBjPTMgcnM9MSBjcz0x
XQorICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMywzKSBzaXplIDM0eDMy
IFtjb2xvcj0jMUExQTFBXSBbYmdjb2xvcj0jRUZFQkU3XQorICAgICAgICAgICAgICAgIFJlbmRl
ckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNpemUgMjJ4MjEKKyAgICAgICAgICAgICAgICAg
IFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSAyMngyMQorICAgICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCAyMjogImZvbyIKKyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2Vs
bCB7VER9IGF0ICg1NTQsMzApIHNpemUgMTczeDIzIFtyPTEgYz00IHJzPTEgY3M9MV0KKyAgICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMTEyeDIxCisgICAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggMTEyOiAiKDMyLCAzNCkgKDMyLCAzNCki
CisgICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCw2MSkgc2l6ZSA3Mjd4MzgKKyAg
ICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgwLDY4KSBzaXplIDE4NHgyMyBbcj0y
IGM9MCBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwx
KSBzaXplIDc1eDIxCiAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggNzU6
ICJwYWRkaW5nOiAwIgotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDE4NCw1
OSkgc2l6ZSA2NHgzNyBbcj0yIGM9MSBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlckJ1
dHRvbiB7QlVUVE9OfSBhdCAoMywzKSBzaXplIDIyeDMxIFtiZ2NvbG9yPSNDMEMwQzBdCi0gICAg
ICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYsNikgc2l6ZSAxMHgyMAot
ICAgICAgICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsNikgc2l6ZSAxMHgxMAot
ICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDI0OCw2Nikgc2l6ZSAxNjR4MjIg
W3I9MiBjPTIgcnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDEsMSkgc2l6ZSAxMTJ4MjAKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0
aCAxMTI6ICIoMzEsIDEyKSAoMzEsIDEyKSIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7
VER9IGF0ICg0MTIsNTkpIHNpemUgMTQyeDM3IFtyPTIgYz0zIHJzPTEgY3M9MV0KLSAgICAgICAg
ICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDMsMykgc2l6ZSAzNHgzMSBbYmdjb2xvcj0j
QzBDMEMwXQotICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYp
IHNpemUgMjJ4MjAKLSAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSAy
MngyMAotICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMjogImZv
byIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg1NTQsNjYpIHNpemUgMTcz
eDIyIFtyPTIgYz00IHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgxLDEpIHNpemUgMTEyeDIwCi0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkg
d2lkdGggMTEyOiAiKDMxLCAzNCkgKDMxLCAzNCkiCi0gICAgICAgICAgUmVuZGVyVGFibGVSb3cg
e1RSfSBhdCAoMCw5Nikgc2l6ZSA3Mjd4MzcKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7
VER9IGF0ICgwLDEwMykgc2l6ZSAxODR4MjIgW3I9MyBjPTAgcnM9MSBjcz0xXQotICAgICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSA5OHgyMAorICAgICAgICAgICAg
UmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDE4NCw2MSkgc2l6ZSA2NHgzOCBbcj0yIGM9MSBycz0x
IGNzPTFdCisgICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMywzKSBzaXpl
IDIyeDMyIFtjb2xvcj0jMUExQTFBXSBbYmdjb2xvcj0jRUZFQkU3XQorICAgICAgICAgICAgICAg
IFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNpemUgMTB4MjEKKyAgICAgICAgICAg
ICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDYpIHNpemUgMTB4MTAKKyAgICAgICAgICAg
IFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgyNDgsNjgpIHNpemUgMTY0eDIzIFtyPTIgYz0yIHJz
PTEgY3M9MV0KKyAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUg
MTEyeDIxCisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggMTEyOiAiKDMy
LCAxMikgKDMyLCAxMikiCisgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNDEy
LDYxKSBzaXplIDE0MngzOCBbcj0yIGM9MyBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJlbmRl
ckJ1dHRvbiB7SU5QVVR9IGF0ICgzLDMpIHNpemUgMzR4MzIgW2NvbG9yPSMxQTFBMUFdIFtiZ2Nv
bG9yPSNFRkVCRTddCisgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQg
KDYsNikgc2l6ZSAyMngyMQorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBz
aXplIDIyeDIxCisgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDIy
OiAiZm9vIgorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDU1NCw2OCkgc2l6
ZSAxNzN4MjMgW3I9MiBjPTQgcnM9MSBjcz0xXQorICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDEsMSkgc2l6ZSAxMTJ4MjEKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MSwxKSB3aWR0aCAxMTI6ICIoMzIsIDM0KSAoMzIsIDM0KSIKKyAgICAgICAgICBSZW5kZXJUYWJs
ZVJvdyB7VFJ9IGF0ICgwLDk5KSBzaXplIDcyN3gzOAorICAgICAgICAgICAgUmVuZGVyVGFibGVD
ZWxsIHtURH0gYXQgKDAsMTA2KSBzaXplIDE4NHgyMyBbcj0zIGM9MCBycz0xIGNzPTFdCisgICAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDk4eDIxCiAgICAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggOTg6ICJwYWRkaW5nOiAxMCUiCi0gICAg
ICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMTg0LDk2KSBzaXplIDY0eDM3IFtyPTMg
Yz0xIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgz
LDMpIHNpemUgMjJ4MzEgW2JnY29sb3I9I0MwQzBDMF0KLSAgICAgICAgICAgICAgICBSZW5kZXJC
bG9jayAoYW5vbnltb3VzKSBhdCAoNiw2KSBzaXplIDEweDIwCi0gICAgICAgICAgICAgICAgICBS
ZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCw2KSBzaXplIDEweDEwCi0gICAgICAgICAgICBSZW5kZXJU
YWJsZUNlbGwge1REfSBhdCAoMjQ4LDEwMykgc2l6ZSAxNjR4MjIgW3I9MyBjPTIgcnM9MSBjcz0x
XQotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxMTJ4MjAK
LSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAxMTI6ICIoMzEsIDEyKSAo
MzEsIDEyKSIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg0MTIsOTYpIHNp
emUgMTQyeDM3IFtyPTMgYz0zIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9u
IHtJTlBVVH0gYXQgKDMsMykgc2l6ZSAzNHgzMSBbYmdjb2xvcj0jQzBDMEMwXQotICAgICAgICAg
ICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNpemUgMjJ4MjAKLSAgICAg
ICAgICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSAyMngyMAotICAgICAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMjogImZvbyIKLSAgICAgICAgICAgIFJl
bmRlclRhYmxlQ2VsbCB7VER9IGF0ICg1NTQsMTAzKSBzaXplIDE3M3gyMiBbcj0zIGM9NCBycz0x
IGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDEx
MngyMAotICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDExMjogIigzMSwg
MzQpICgzMSwgMzQpIgotICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMTMzKSBz
aXplIDcyN3gzNwotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDAsMTQwKSBz
aXplIDE4NHgyMiBbcj00IGM9MCBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMSwxKSBzaXplIDkyeDIwCisgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwg
e1REfSBhdCAoMTg0LDk5KSBzaXplIDY0eDM4IFtyPTMgYz0xIHJzPTEgY3M9MV0KKyAgICAgICAg
ICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUgMjJ4MzIgW2NvbG9yPSMx
QTFBMUFdIFtiZ2NvbG9yPSNFRkVCRTddCisgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFu
b255bW91cykgYXQgKDYsNikgc2l6ZSAxMHgyMQorICAgICAgICAgICAgICAgICAgUmVuZGVySW1h
Z2Uge0lNR30gYXQgKDAsNikgc2l6ZSAxMHgxMAorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxs
IHtURH0gYXQgKDI0OCwxMDYpIHNpemUgMTY0eDIzIFtyPTMgYz0yIHJzPTEgY3M9MV0KKyAgICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMTEyeDIxCisgICAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggMTEyOiAiKDMyLCAxMikgKDMyLCAxMiki
CisgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNDEyLDk5KSBzaXplIDE0Mngz
OCBbcj0zIGM9MyBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9
IGF0ICgzLDMpIHNpemUgMzR4MzIgW2NvbG9yPSMxQTFBMUFdIFtiZ2NvbG9yPSNFRkVCRTddCisg
ICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYsNikgc2l6ZSAyMngy
MQorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBzaXplIDIyeDIxCisgICAg
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDIyOiAiZm9vIgorICAgICAg
ICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDU1NCwxMDYpIHNpemUgMTczeDIzIFtyPTMg
Yz00IHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEp
IHNpemUgMTEyeDIxCisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggMTEy
OiAiKDMyLCAzNCkgKDMyLCAzNCkiCisgICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAo
MCwxMzcpIHNpemUgNzI3eDM4CisgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAo
MCwxNDQpIHNpemUgMTg0eDIzIFtyPTQgYz0wIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgOTJ4MjEKICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMSwxKSB3aWR0aCA5MjogInBhZGRpbmc6IDJweCIKLSAgICAgICAgICAgIFJlbmRl
clRhYmxlQ2VsbCB7VER9IGF0ICgxODQsMTMzKSBzaXplIDY0eDM3IFtyPTQgYz0xIHJzPTEgY3M9
MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUgMjJ4
MzEgW2JnY29sb3I9I0MwQzBDMF0KLSAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnlt
b3VzKSBhdCAoNiw2KSBzaXplIDEweDIwCi0gICAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7
SU1HfSBhdCAoMCw2KSBzaXplIDEweDEwCi0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1RE
fSBhdCAoMjQ4LDE0MCkgc2l6ZSAxNjR4MjIgW3I9NCBjPTIgcnM9MSBjcz0xXQotICAgICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxMTJ4MjAKLSAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAxMTI6ICIoMzEsIDEyKSAoMzEsIDEyKSIKLSAg
ICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg0MTIsMTMzKSBzaXplIDE0MngzNyBb
cj00IGM9MyBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0
ICgzLDMpIHNpemUgMzR4MzEgW2JnY29sb3I9I0MwQzBDMF0KLSAgICAgICAgICAgICAgICBSZW5k
ZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2KSBzaXplIDIyeDIwCi0gICAgICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IGF0ICgwLDApIHNpemUgMjJ4MjAKLSAgICAgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggMjI6ICJmb28iCi0gICAgICAgICAgICBSZW5kZXJUYWJsZUNl
bGwge1REfSBhdCAoNTU0LDE0MCkgc2l6ZSAxNzN4MjIgW3I9NCBjPTQgcnM9MSBjcz0xXQotICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxMTJ4MjAKLSAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAxMTI6ICIoMzEsIDM0KSAoMzEsIDM0
KSIKLSAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDE3MCkgc2l6ZSA3Mjd4MzcK
LSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgwLDE3Nykgc2l6ZSAxODR4MjIg
W3I9NSBjPTAgcnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDEsMSkgc2l6ZSAxODJ4MjAKKyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgx
ODQsMTM3KSBzaXplIDY0eDM4IFtyPTQgYz0xIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgUmVu
ZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUgMjJ4MzIgW2NvbG9yPSMxQTFBMUFdIFti
Z2NvbG9yPSNFRkVCRTddCisgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykg
YXQgKDYsNikgc2l6ZSAxMHgyMQorICAgICAgICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30g
YXQgKDAsNikgc2l6ZSAxMHgxMAorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQg
KDI0OCwxNDQpIHNpemUgMTY0eDIzIFtyPTQgYz0yIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMTEyeDIxCisgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDEsMSkgd2lkdGggMTEyOiAiKDMyLCAxMikgKDMyLCAxMikiCisgICAgICAg
ICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNDEyLDEzNykgc2l6ZSAxNDJ4MzggW3I9NCBj
PTMgcnM9MSBjcz0xXQorICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMywz
KSBzaXplIDM0eDMyIFtjb2xvcj0jMUExQTFBXSBbYmdjb2xvcj0jRUZFQkU3XQorICAgICAgICAg
ICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNpemUgMjJ4MjEKKyAgICAg
ICAgICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSAyMngyMQorICAgICAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMjogImZvbyIKKyAgICAgICAgICAgIFJl
bmRlclRhYmxlQ2VsbCB7VER9IGF0ICg1NTQsMTQ0KSBzaXplIDE3M3gyMyBbcj00IGM9NCBycz0x
IGNzPTFdCisgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDEx
MngyMQorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDExMjogIigzMiwg
MzQpICgzMiwgMzQpIgorICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMTc1KSBz
aXplIDcyN3gzOAorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDAsMTgyKSBz
aXplIDE4NHgyMyBbcj01IGM9MCBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMSwxKSBzaXplIDE4MngyMQogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgxLDEpIHdpZHRoIDE4MjogInBhZGRpbmc6IDJweCA2cHggM3B4IDZweCIKLSAgICAgICAgICAg
IFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgxODQsMTcwKSBzaXplIDY0eDM3IFtyPTUgYz0xIHJz
PTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNp
emUgMjJ4MzEgW2JnY29sb3I9I0MwQzBDMF0KLSAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayAo
YW5vbnltb3VzKSBhdCAoNiw2KSBzaXplIDEweDIwCi0gICAgICAgICAgICAgICAgICBSZW5kZXJJ
bWFnZSB7SU1HfSBhdCAoMCw2KSBzaXplIDEweDEwCi0gICAgICAgICAgICBSZW5kZXJUYWJsZUNl
bGwge1REfSBhdCAoMjQ4LDE3Nykgc2l6ZSAxNjR4MjIgW3I9NSBjPTIgcnM9MSBjcz0xXQotICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxMTJ4MjAKLSAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAxMTI6ICIoMzEsIDEyKSAoMzEsIDEy
KSIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg0MTIsMTcwKSBzaXplIDE0
MngzNyBbcj01IGM9MyBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7SU5Q
VVR9IGF0ICgzLDMpIHNpemUgMzR4MzEgW2JnY29sb3I9I0MwQzBDMF0KLSAgICAgICAgICAgICAg
ICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2KSBzaXplIDIyeDIwCi0gICAgICAgICAg
ICAgICAgICBSZW5kZXJUZXh0IGF0ICgwLDApIHNpemUgMjJ4MjAKLSAgICAgICAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjI6ICJmb28iCi0gICAgICAgICAgICBSZW5kZXJU
YWJsZUNlbGwge1REfSBhdCAoNTU0LDE3Nykgc2l6ZSAxNzN4MjIgW3I9NSBjPTQgcnM9MSBjcz0x
XQotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxMTJ4MjAK
LSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAxMTI6ICIoMzEsIDM0KSAo
MzEsIDM0KSIKLSAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDIwNykgc2l6ZSA3
Mjd4MzcKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgwLDIxNCkgc2l6ZSAx
ODR4MjIgW3I9NiBjPTAgcnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDEsMSkgc2l6ZSAxMjJ4MjAKKyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9
IGF0ICgxODQsMTc1KSBzaXplIDY0eDM4IFtyPTUgYz0xIHJzPTEgY3M9MV0KKyAgICAgICAgICAg
ICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUgMjJ4MzIgW2NvbG9yPSMxQTFB
MUFdIFtiZ2NvbG9yPSNFRkVCRTddCisgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255
bW91cykgYXQgKDYsNikgc2l6ZSAxMHgyMQorICAgICAgICAgICAgICAgICAgUmVuZGVySW1hZ2Ug
e0lNR30gYXQgKDAsNikgc2l6ZSAxMHgxMAorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtU
RH0gYXQgKDI0OCwxODIpIHNpemUgMTY0eDIzIFtyPTUgYz0yIHJzPTEgY3M9MV0KKyAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMTEyeDIxCisgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggMTEyOiAiKDMyLCAxMikgKDMyLCAxMikiCisg
ICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNDEyLDE3NSkgc2l6ZSAxNDJ4Mzgg
W3I9NSBjPTMgcnM9MSBjcz0xXQorICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBh
dCAoMywzKSBzaXplIDM0eDMyIFtjb2xvcj0jMUExQTFBXSBbYmdjb2xvcj0jRUZFQkU3XQorICAg
ICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNpemUgMjJ4MjEK
KyAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSAyMngyMQorICAgICAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMjogImZvbyIKKyAgICAgICAg
ICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg1NTQsMTgyKSBzaXplIDE3M3gyMyBbcj01IGM9
NCBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBz
aXplIDExMngyMQorICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDExMjog
IigzMiwgMzQpICgzMiwgMzQpIgorICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAs
MjEzKSBzaXplIDcyN3gzOAorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDAs
MjIwKSBzaXplIDE4NHgyMyBbcj02IGM9MCBycz0xIGNzPTFdCisgICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDEyMngyMQogICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgxLDEpIHdpZHRoIDEyMjogInBhZGRpbmc6IDNweCA3cHgiCi0gICAgICAgICAgICBS
ZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMTg0LDIwNykgc2l6ZSA2NHgzNyBbcj02IGM9MSBycz0x
IGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMywzKSBzaXpl
IDIyeDMxIFtiZ2NvbG9yPSNDMEMwQzBdCi0gICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFu
b255bW91cykgYXQgKDYsNikgc2l6ZSAxMHgyMAotICAgICAgICAgICAgICAgICAgUmVuZGVySW1h
Z2Uge0lNR30gYXQgKDAsNikgc2l6ZSAxMHgxMAotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxs
IHtURH0gYXQgKDI0OCwyMTQpIHNpemUgMTY0eDIyIFtyPTYgYz0yIHJzPTEgY3M9MV0KLSAgICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMTEyeDIwCi0gICAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggMTEyOiAiKDMxLCAxMikgKDMxLCAxMiki
Ci0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNDEyLDIwNykgc2l6ZSAxNDJ4
MzcgW3I9NiBjPTMgcnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0lOUFVU
fSBhdCAoMywzKSBzaXplIDM0eDMxIFtiZ2NvbG9yPSNDMEMwQzBdCi0gICAgICAgICAgICAgICAg
UmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYsNikgc2l6ZSAyMngyMAotICAgICAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBzaXplIDIyeDIwCi0gICAgICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDIyOiAiZm9vIgotICAgICAgICAgICAgUmVuZGVyVGFi
bGVDZWxsIHtURH0gYXQgKDU1NCwyMTQpIHNpemUgMTczeDIyIFtyPTYgYz00IHJzPTEgY3M9MV0K
LSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMTEyeDIwCi0g
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggMTEyOiAiKDMxLCAzNCkgKDMx
LCAzNCkiCi0gICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCwyNDQpIHNpemUgNzI3
eDM3Ci0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMCwyNTEpIHNpemUgMTg0
eDIyIFtyPTcgYz0wIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgxLDEpIHNpemUgMTAxeDIwCisgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBh
dCAoMTg0LDIxMykgc2l6ZSA2NHgzOCBbcj02IGM9MSBycz0xIGNzPTFdCisgICAgICAgICAgICAg
IFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMywzKSBzaXplIDIyeDMyIFtjb2xvcj0jMUExQTFB
XSBbYmdjb2xvcj0jRUZFQkU3XQorICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1v
dXMpIGF0ICg2LDYpIHNpemUgMTB4MjEKKyAgICAgICAgICAgICAgICAgIFJlbmRlckltYWdlIHtJ
TUd9IGF0ICgwLDYpIHNpemUgMTB4MTAKKyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9
IGF0ICgyNDgsMjIwKSBzaXplIDE2NHgyMyBbcj02IGM9MiBycz0xIGNzPTFdCisgICAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDExMngyMQorICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDExMjogIigzMiwgMTIpICgzMiwgMTIpIgorICAg
ICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDQxMiwyMTMpIHNpemUgMTQyeDM4IFty
PTYgYz0zIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQg
KDMsMykgc2l6ZSAzNHgzMiBbY29sb3I9IzFBMUExQV0gW2JnY29sb3I9I0VGRUJFN10KKyAgICAg
ICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2KSBzaXplIDIyeDIxCisg
ICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IGF0ICgwLDApIHNpemUgMjJ4MjEKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjI6ICJmb28iCisgICAgICAgICAg
ICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNTU0LDIyMCkgc2l6ZSAxNzN4MjMgW3I9NiBjPTQg
cnM9MSBjcz0xXQorICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6
ZSAxMTJ4MjEKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAxMTI6ICIo
MzIsIDM0KSAoMzIsIDM0KSIKKyAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDI1
MSkgc2l6ZSA3Mjd4MzgKKyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgwLDI1
OCkgc2l6ZSAxODR4MjMgW3I9NyBjPTAgcnM9MSBjcz0xXQorICAgICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxMDF4MjEKICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMSwxKSB3aWR0aCAxMDE6ICJwYWRkaW5nOiAyMHB4IgotICAgICAgICAgICAgUmVuZGVy
VGFibGVDZWxsIHtURH0gYXQgKDE4NCwyNDQpIHNpemUgNjR4MzcgW3I9NyBjPTEgcnM9MSBjcz0x
XQotICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDMsMykgc2l6ZSAyMngz
MSBbYmdjb2xvcj0jQzBDMEMwXQotICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1v
dXMpIGF0ICg2LDYpIHNpemUgMTB4MjAKLSAgICAgICAgICAgICAgICAgIFJlbmRlckltYWdlIHtJ
TUd9IGF0ICgwLDYpIHNpemUgMTB4MTAKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9
IGF0ICgyNDgsMjUxKSBzaXplIDE2NHgyMiBbcj03IGM9MiBycz0xIGNzPTFdCi0gICAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDExMngyMAotICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDExMjogIigzMSwgMTIpICgzMSwgMTIpIgotICAg
ICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDQxMiwyNDQpIHNpemUgMTQyeDM3IFty
PTcgYz0zIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQg
KDMsMykgc2l6ZSAzNHgzMSBbYmdjb2xvcj0jQzBDMEMwXQotICAgICAgICAgICAgICAgIFJlbmRl
ckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNpemUgMjJ4MjAKLSAgICAgICAgICAgICAgICAg
IFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSAyMngyMAotICAgICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCAyMjogImZvbyIKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2Vs
bCB7VER9IGF0ICg1NTQsMjUxKSBzaXplIDE3M3gyMiBbcj03IGM9NCBycz0xIGNzPTFdCi0gICAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDExMngyMAotICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDExMjogIigzMSwgMzQpICgzMSwgMzQp
IgorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDE4NCwyNTEpIHNpemUgNjR4
MzggW3I9NyBjPTEgcnM9MSBjcz0xXQorICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0JVVFRP
Tn0gYXQgKDMsMykgc2l6ZSAyMngzMiBbY29sb3I9IzFBMUExQV0gW2JnY29sb3I9I0VGRUJFN10K
KyAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2KSBzaXplIDEw
eDIxCisgICAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCw2KSBzaXplIDEw
eDEwCisgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMjQ4LDI1OCkgc2l6ZSAx
NjR4MjMgW3I9NyBjPTIgcnM9MSBjcz0xXQorICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDEsMSkgc2l6ZSAxMTJ4MjEKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwx
KSB3aWR0aCAxMTI6ICIoMzIsIDEyKSAoMzIsIDEyKSIKKyAgICAgICAgICAgIFJlbmRlclRhYmxl
Q2VsbCB7VER9IGF0ICg0MTIsMjUxKSBzaXplIDE0MngzOCBbcj03IGM9MyBycz0xIGNzPTFdCisg
ICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgzLDMpIHNpemUgMzR4MzIgW2Nv
bG9yPSMxQTFBMUFdIFtiZ2NvbG9yPSNFRkVCRTddCisgICAgICAgICAgICAgICAgUmVuZGVyQmxv
Y2sgKGFub255bW91cykgYXQgKDYsNikgc2l6ZSAyMngyMQorICAgICAgICAgICAgICAgICAgUmVu
ZGVyVGV4dCBhdCAoMCwwKSBzaXplIDIyeDIxCisgICAgICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDApIHdpZHRoIDIyOiAiZm9vIgorICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtU
RH0gYXQgKDU1NCwyNTgpIHNpemUgMTczeDIzIFtyPTcgYz00IHJzPTEgY3M9MV0KKyAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMTEyeDIxCisgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggMTEyOiAiKDMyLCAzNCkgKDMyLCAzNCkiCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL2Jhc2ljLWlucHV0cy1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jt
cy9iYXNpYy1pbnB1dHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1MTMxMCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvYmFzaWMtaW5wdXRzLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMyw4MiArMyw4MiBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
IGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA0NzB4
NTgyCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDQ3MHgzNDAK
LSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzY5eDIwCisgICAgICBS
ZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDQ3MHgzNTcKKyAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzY5eDIxCiAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMCkgd2lkdGggMzY5OiAiVGhpcyB0ZXN0cyBiYXNpYyBpbnB1dHMuIEhlcmUncyB3aGF0
IHlvdSBzaG91bGQgc2VlOiAiCiAgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDM2OSwxNikgc2l6
ZSAweDAKLSAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMCwyMCkgc2l6ZSAweDIwCi0gICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw0MCkgc2l6ZSA0NjJ4NjAKLSAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCw0MCkgd2lkdGggNDAxOiAiZmlyc3QgbGluZTogdGhlIGxldHRlciBcImFcIiBh
bmQgdGhlbiBhIHRleHQgaW5wdXQgZmllbGQgZmlsbGVkIHdpdGgiCi0gICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsNjApIHdpZHRoIDE2MjogInJlcGVhdGluZyBcImZvb2JhcmJhelwiLCAiCi0gICAg
ICAgICAgdGV4dCBydW4gYXQgKDE2Miw2MCkgd2lkdGggMzAwOiAidGhlbiB0aGUgd29yZCBcInRl
eHRcIiBmb2xsb3dlZCBieSBhIGRpc2FibGVkIgotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDgw
KSB3aWR0aCA0NTg6ICJ0ZXh0IGlucHV0IGZpZWxkIGZpbGxlZCB3aXRoIFwiZm9vXCIgYW5kIHRo
ZW4gdGhlIGxldHRlciBcImJcIiBhbmQgdGhlbiBcImFcIiAiCi0gICAgICAgIFJlbmRlckJSIHtC
Un0gYXQgKDQ1OCw5Nikgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMCwxMDAp
IHNpemUgMHgyMAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMTIwKSBzaXplIDQ1
Nng2MAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEyMCkgd2lkdGggNDU2OiAic2Vjb25kIGxp
bmU6IGFuZCB0aGVuIGEgcGFzc3dvcmQgaW5wdXQgZmllbGQgdGhhdCdzIGZpbGxlZCBhbmQgdGhl
biIKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxNDApIHdpZHRoIDQzODogInRoZSB3b3JkIFwi
cGFzc3dvcmRcIiBhbmQgdGhlbiBhIGRpc2FibGVkIHBhc3N3b3JkIGZpZWxkIHRoYXQncyIKLSAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxNjApIHdpZHRoIDE5NDogImZpbGxlZCBhbmQgdGhlbiB0
aGUgbGV0dGVyIFwiYlwiICIKLSAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMTk0LDE3Nikgc2l6
ZSAweDAKLSAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMCwxODApIHNpemUgMHgyMAotICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMjAwKSBzaXplIDQ1N3g0MAotICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDIwMCkgd2lkdGggNDU3OiAidGhpcmQgbGluZTogdGhlIGxldHRlciBcImFc
IiBhbmQgdGhlbiBhIGNoZWNrYm94ICh1bmNoZWNrZWQpIHdpdGggdGhlIgotICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDIyMCkgd2lkdGggNDM0OiAid29yZCBcImNoZWNrYm94XCIgYW5kIHRoZW4g
YSBkaXNhYmxlZCBjaGVja2JveCBhbmQgbGV0dGVyIFwiYlwiICIKLSAgICAgICAgUmVuZGVyQlIg
e0JSfSBhdCAoNDM0LDIzNikgc2l6ZSAweDAKLSAgICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMCwy
NDApIHNpemUgMHgyMAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMjYwKSBzaXpl
IDQ1NXg2MAotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDI2MCkgd2lkdGggNDQ2OiAiZm91cnRo
IGxpbmU6IHRoZSBsYXN0IGxpbmUgaGFzIHRoZSBsZXR0ZXIgXCJhXCIgYW5kIHRoZW4gYSByZWRp
byBidXR0b24iCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjgwKSB3aWR0aCA0NTU6ICIodW5z
ZWxlY3RlZCkgYW5kIHRoZW4gdGhlIHdvcmQgXCJyYWRpb1wiIGFuZCB0aGVuIGEgZGlzYWJsZWQg
cmFkaW8iCi0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMzAwKSB3aWR0aCAxNjk6ICJidXR0b24g
YW5kIHRoZSBsZXR0ZXIgXCJiXCIgIgotICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgxNjksMzE2
KSBzaXplIDB4MAotICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgwLDMyMCkgc2l6ZSAweDIwCi0g
ICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMTAsMzUwKSBzaXplIDQ1MHg2MiBbYm9yZGVyOiAo
MXB4IHNvbGlkICNGRjAwMDApXQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsNikg
c2l6ZSA5eDIwCisgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDAsMjEpIHNpemUgMHgyMQorICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNDIpIHNpemUgNDYyeDYzCisgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsNDIpIHdpZHRoIDQwMTogImZpcnN0IGxpbmU6IHRoZSBsZXR0ZXIgXCJh
XCIgYW5kIHRoZW4gYSB0ZXh0IGlucHV0IGZpZWxkIGZpbGxlZCB3aXRoIgorICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDYzKSB3aWR0aCAxNjI6ICJyZXBlYXRpbmcgXCJmb29iYXJiYXpcIiwgIgor
ICAgICAgICAgIHRleHQgcnVuIGF0ICgxNjIsNjMpIHdpZHRoIDMwMDogInRoZW4gdGhlIHdvcmQg
XCJ0ZXh0XCIgZm9sbG93ZWQgYnkgYSBkaXNhYmxlZCIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCw4NCkgd2lkdGggNDU4OiAidGV4dCBpbnB1dCBmaWVsZCBmaWxsZWQgd2l0aCBcImZvb1wiIGFu
ZCB0aGVuIHRoZSBsZXR0ZXIgXCJiXCIgYW5kIHRoZW4gXCJhXCIgIgorICAgICAgICBSZW5kZXJC
UiB7QlJ9IGF0ICg0NTgsMTAwKSBzaXplIDB4MAorICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgw
LDEwNSkgc2l6ZSAweDIxCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxMjYpIHNp
emUgNDU2eDYzCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTI2KSB3aWR0aCA0NTY6ICJzZWNv
bmQgbGluZTogYW5kIHRoZW4gYSBwYXNzd29yZCBpbnB1dCBmaWVsZCB0aGF0J3MgZmlsbGVkIGFu
ZCB0aGVuIgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE0Nykgd2lkdGggNDM4OiAidGhlIHdv
cmQgXCJwYXNzd29yZFwiIGFuZCB0aGVuIGEgZGlzYWJsZWQgcGFzc3dvcmQgZmllbGQgdGhhdCdz
IgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE2OCkgd2lkdGggMTk0OiAiZmlsbGVkIGFuZCB0
aGVuIHRoZSBsZXR0ZXIgXCJiXCIgIgorICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgxOTQsMTg0
KSBzaXplIDB4MAorICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgwLDE4OSkgc2l6ZSAweDIxCisg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwyMTApIHNpemUgNDU3eDQyCisgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMjEwKSB3aWR0aCA0NTc6ICJ0aGlyZCBsaW5lOiB0aGUgbGV0dGVy
IFwiYVwiIGFuZCB0aGVuIGEgY2hlY2tib3ggKHVuY2hlY2tlZCkgd2l0aCB0aGUiCisgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMjMxKSB3aWR0aCA0MzQ6ICJ3b3JkIFwiY2hlY2tib3hcIiBhbmQg
dGhlbiBhIGRpc2FibGVkIGNoZWNrYm94IGFuZCBsZXR0ZXIgXCJiXCIgIgorICAgICAgICBSZW5k
ZXJCUiB7QlJ9IGF0ICg0MzQsMjQ3KSBzaXplIDB4MAorICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0
ICgwLDI1Mikgc2l6ZSAweDIxCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwyNzMp
IHNpemUgNDU1eDYzCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjczKSB3aWR0aCA0NDY6ICJm
b3VydGggbGluZTogdGhlIGxhc3QgbGluZSBoYXMgdGhlIGxldHRlciBcImFcIiBhbmQgdGhlbiBh
IHJlZGlvIGJ1dHRvbiIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyOTQpIHdpZHRoIDQ1NTog
Iih1bnNlbGVjdGVkKSBhbmQgdGhlbiB0aGUgd29yZCBcInJhZGlvXCIgYW5kIHRoZW4gYSBkaXNh
YmxlZCByYWRpbyIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzMTUpIHdpZHRoIDE2OTogImJ1
dHRvbiBhbmQgdGhlIGxldHRlciBcImJcIiAiCisgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDE2
OSwzMzEpIHNpemUgMHgwCisgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDAsMzM2KSBzaXplIDB4
MjEKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxMCwzNjcpIHNpemUgNDUweDY0IFtib3Jk
ZXI6ICgxcHggc29saWQgI0ZGMDAwMCldCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MSw2KSBzaXplIDl4MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSw2KSB3aWR0aCA5OiAiYSIK
LSAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMTIsMykgc2l6ZSAxNzV4MjYK
LSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxODksNikgc2l6ZSAyOXgyMAorICAgICAg
ICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgxMiwzKSBzaXplIDE3NXgyNyBbYmdjb2xv
cj0jRkZGRkZGXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE4OSw2KSBzaXplIDI5
eDIxCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDE4OSw2KSB3aWR0aCAyOTogInRleHQgIgotICAg
ICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyMjAsMykgc2l6ZSAxNzV4MjYKLSAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzOTcsNikgc2l6ZSAyMngyMAorICAgICAgICBS
ZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyMjAsMykgc2l6ZSAxNzV4MjcgW2JnY29sb3I9
I0ZGRkZGRl0KKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzOTcsNikgc2l6ZSAyMngy
MQogICAgICAgICAgIHRleHQgcnVuIGF0ICgzOTcsNikgd2lkdGggMTM6ICJiICIKICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoNDEwLDYpIHdpZHRoIDk6ICJhIgotICAgICAgICBSZW5kZXJUZXh0Q29u
dHJvbCB7SU5QVVR9IGF0ICgzLDMzKSBzaXplIDE3NXgyNgotICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDE4MCwzNikgc2l6ZSA3M3gyMAotICAgICAgICAgIHRleHQgcnVuIGF0ICgxODAs
MzYpIHdpZHRoIDczOiAicGFzc3dvcmQgIgotICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5Q
VVR9IGF0ICgyNTUsMzMpIHNpemUgMTc1eDI2Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoNDMyLDM2KSBzaXplIDl4MjAKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDMyLDM2KSB3aWR0
aCA5OiAiYiIKLSAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxMCw0MjIpIHNpemUgNDUweDIz
IFtib3JkZXI6ICgxcHggc29saWQgI0ZGMDAwMCldCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMSwxKSBzaXplIDl4MjAKKyAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBh
dCAoMywzNCkgc2l6ZSAxNzV4MjcgW2JnY29sb3I9I0ZGRkZGRl0KKyAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgxODAsMzcpIHNpemUgNzN4MjEKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MTgwLDM3KSB3aWR0aCA3MzogInBhc3N3b3JkICIKKyAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wg
e0lOUFVUfSBhdCAoMjU1LDM0KSBzaXplIDE3NXgyNyBbYmdjb2xvcj0jRkZGRkZGXQorICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDQzMiwzNykgc2l6ZSA5eDIxCisgICAgICAgICAgdGV4
dCBydW4gYXQgKDQzMiwzNykgd2lkdGggOTogImIiCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBh
dCAoMTAsNDQxKSBzaXplIDQ1MHgyMyBbYm9yZGVyOiAoMXB4IHNvbGlkICNGRjAwMDApXQorICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSA5eDIxCiAgICAgICAgICAgdGV4
dCBydW4gYXQgKDEsMSkgd2lkdGggOTogImEiCi0gICAgICAgIFJlbmRlckJsb2NrIHtJTlBVVH0g
YXQgKDE0LDYpIHNpemUgMTN4MTMKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzMSwx
KSBzaXplIDcyeDIwCisgICAgICAgIFJlbmRlckJsb2NrIHtJTlBVVH0gYXQgKDE0LDYpIHNpemUg
MTN4MTMgW2JnY29sb3I9I0VGRUJFN10KKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgz
MSwxKSBzaXplIDcyeDIxCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDMxLDEpIHdpZHRoIDcyOiAi
Y2hlY2tib3ggIgotICAgICAgICBSZW5kZXJCbG9jayB7SU5QVVR9IGF0ICgxMDcsNikgc2l6ZSAx
M3gxMwotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEyNCwxKSBzaXplIDl4MjAKKyAg
ICAgICAgUmVuZGVyQmxvY2sge0lOUFVUfSBhdCAoMTA3LDYpIHNpemUgMTN4MTMgW2JnY29sb3I9
I0VGRUJFN10KKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMjQsMSkgc2l6ZSA5eDIx
CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyNCwxKSB3aWR0aCA5OiAiYiIKLSAgICAgIFJlbmRl
ckJsb2NrIHtESVZ9IGF0ICgxMCw0NTUpIHNpemUgNDUweDIzIFtib3JkZXI6ICgxcHggc29saWQg
I0ZGMDAwMCldCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDl4MjAK
KyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxMCw0NzQpIHNpemUgNDUweDIzIFtib3JkZXI6
ICgxcHggc29saWQgI0ZGMDAwMCldCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwx
KSBzaXplIDl4MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCA5OiAiYSIKLSAg
ICAgICAgUmVuZGVyQmxvY2sge0lOUFVUfSBhdCAoMTQsNykgc2l6ZSAxMngxMgotICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMwLDEpIHNpemUgNDB4MjAKKyAgICAgICAgUmVuZGVyQmxv
Y2sge0lOUFVUfSBhdCAoMTQsNykgc2l6ZSAxMngxMiBbYmdjb2xvcj0jRUZFQkU3XQorICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMwLDEpIHNpemUgNDB4MjEKICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMzAsMSkgd2lkdGggNDA6ICJyYWRpbyAiCi0gICAgICAgIFJlbmRlckJsb2NrIHtJ
TlBVVH0gYXQgKDc0LDcpIHNpemUgMTJ4MTIKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICg5MCwxKSBzaXplIDl4MjAKKyAgICAgICAgUmVuZGVyQmxvY2sge0lOUFVUfSBhdCAoNzQsNykg
c2l6ZSAxMngxMiBbYmdjb2xvcj0jRUZFQkU3XQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDkwLDEpIHNpemUgOXgyMQogICAgICAgICAgIHRleHQgcnVuIGF0ICg5MCwxKSB3aWR0aCA5
OiAiYiIKLWxheWVyIGF0ICgzMiwzNjQpIHNpemUgMTcxeDIwIHNjcm9sbFdpZHRoIDIxNQotICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMiwzKSBzaXplIDE3MXgyMAotICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMSwwKSBzaXplIDIxM3gyMAorbGF5ZXIgYXQgKDMyLDM4MSkgc2l6ZSAxNzF4MjEg
c2Nyb2xsV2lkdGggMjE1CisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDMpIHNpemUgMTcxeDIx
CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDApIHNpemUgMjEzeDIxCiAgICAgICB0ZXh0
IHJ1biBhdCAoMSwwKSB3aWR0aCAyMTM6ICJmb29iYXJiYXpmb29iYXJiYXpmb29iYXJiYXoiCi1s
YXllciBhdCAoMjQwLDM2NCkgc2l6ZSAxNzF4MjAKLSAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIs
Mykgc2l6ZSAxNzF4MjAgW2NvbG9yPSM1NDU0NTRdCi0gICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgxLDApIHNpemUgMjJ4MjAKK2xheWVyIGF0ICgyNDAsMzgxKSBzaXplIDE3MXgyMQorICBSZW5k
ZXJCbG9jayB7RElWfSBhdCAoMiwzKSBzaXplIDE3MXgyMSBbY29sb3I9IzU0NTQ1NF0KKyAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMCkgc2l6ZSAyMngyMQogICAgICAgdGV4dCBydW4gYXQg
KDEsMCkgd2lkdGggMjI6ICJmb28iCi1sYXllciBhdCAoMjMsMzk0KSBzaXplIDE3MXgyMAotICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMiwzKSBzaXplIDE3MXgyMAotICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMSwwKSBzaXplIDE4eDIwCitsYXllciBhdCAoMjMsNDEyKSBzaXplIDE3MXgyMQor
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwzKSBzaXplIDE3MXgyMQorICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMSwwKSBzaXplIDE4eDIxCiAgICAgICB0ZXh0IHJ1biBhdCAoMSwwKSB3aWR0
aCAxODogIlx4ezIwMjJ9XHh7MjAyMn1ceHsyMDIyfSIKLWxheWVyIGF0ICgyNzUsMzk0KSBzaXpl
IDE3MXgyMAotICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwzKSBzaXplIDE3MXgyMCBbY29sb3I9
IzU0NTQ1NF0KLSAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMCkgc2l6ZSAxOHgyMAorbGF5
ZXIgYXQgKDI3NSw0MTIpIHNpemUgMTcxeDIxCisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDMp
IHNpemUgMTcxeDIxIFtjb2xvcj0jNTQ1NDU0XQorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MSwwKSBzaXplIDE4eDIxCiAgICAgICB0ZXh0IHJ1biBhdCAoMSwwKSB3aWR0aCAxODogIlx4ezIw
MjJ9XHh7MjAyMn1ceHsyMDIyfSIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3Qv
Zm9ybXMvYnV0dG9uLXN0eWxlLWNvbG9yLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL2J1dHRvbi1zdHlsZS1jb2xvci1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDUxMzEwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9m
b3Jtcy9idXR0b24tc3R5bGUtY29sb3ItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0z
LDUwICszLDUwIEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKLSAgICAgIFJlbmRl
ckJ1dHRvbiB7QlVUVE9OfSBhdCAoMiwyKSBzaXplIDkzeDMxIFtiZ2NvbG9yPSNDMEMwQzBdCi0g
ICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNpemUgODF4MjAKLSAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA4MXgyMAorICAgICAgUmVuZGVy
QnV0dG9uIHtCVVRUT059IGF0ICgyLDIpIHNpemUgOTN4MzIgW2NvbG9yPSMxQTFBMUFdIFtiZ2Nv
bG9yPSNFRkVCRTddCisgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNp
emUgODF4MjEKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA4MXgy
MQogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODE6ICJUZXN0IEJ1dHRvbiIK
LSAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoOTcsOCkgc2l6ZSA0eDIwCisgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDk3LDgpIHNpemUgNHgyMQogICAgICAgICB0ZXh0IHJ1biBhdCAo
OTcsOCkgd2lkdGggNDogIiAiCi0gICAgICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDEwMywy
KSBzaXplIDkzeDMxIFtjb2xvcj0jRkYwMDAwXSBbYmdjb2xvcj0jQzBDMEMwXQotICAgICAgICBS
ZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2KSBzaXplIDgxeDIwCi0gICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgODF4MjAKKyAgICAgIFJlbmRlckJ1dHRvbiB7
QlVUVE9OfSBhdCAoMTAzLDIpIHNpemUgOTN4MzIgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSNF
RkVCRTddCisgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNpemUgODF4
MjEKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA4MXgyMQogICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODE6ICJUZXN0IEJ1dHRvbiIKLSAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTk4LDgpIHNpemUgNHgyMAorICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgxOTgsOCkgc2l6ZSA0eDIxCiAgICAgICAgIHRleHQgcnVuIGF0ICgxOTgs
OCkgd2lkdGggNDogIiAiCi0gICAgICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDIwNCw0KSBz
aXplIDk3eDI5IFtiZ2NvbG9yPSMwMDgwMDBdIFtib3JkZXI6ICgycHggb3V0c2V0ICNDMEMwQzAp
XQotICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoOCw0KSBzaXplIDgxeDIwCi0g
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgODF4MjAKLSAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDgxOiAiVGVzdCBCdXR0b24iCi0gICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDMwMyw4KSBzaXplIDR4MjAKLSAgICAgICAgdGV4dCBydW4gYXQg
KDMwMyw4KSB3aWR0aCA0OiAiICIKLSAgICAgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMzA5
LDQpIHNpemUgOTd4MjkgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSMwMDgwMDBdIFtib3JkZXI6
ICgycHggb3V0c2V0ICNDMEMwQzApXQotICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBh
dCAoOCw0KSBzaXplIDgxeDIwCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgODF4MjAKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDgxOiAiVGVz
dCBCdXR0b24iCi0gICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDQwOCw4KSBzaXplIDR4MjAK
LSAgICAgICAgdGV4dCBydW4gYXQgKDQwOCw4KSB3aWR0aCA0OiAiICIKLSAgICAgIFJlbmRlckJ1
dHRvbiB7SU5QVVR9IGF0ICg0MTQsMikgc2l6ZSA5M3gzMSBbYmdjb2xvcj0jQzBDMEMwXQotICAg
ICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2KSBzaXplIDgxeDIwCi0gICAgICAg
ICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBzaXplIDgxeDIwCi0gICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwwKSB3aWR0aCA4MTogIlRlc3QgQnV0dG9uIgotICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICg1MDksOCkgc2l6ZSA0eDIwCi0gICAgICAgIHRleHQgcnVuIGF0ICg1MDksOCkgd2lkdGgg
NDogIiAiCi0gICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoNTE1LDIpIHNpemUgOTN4MzEg
W2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSNDMEMwQzBdCi0gICAgICAgIFJlbmRlckJsb2NrIChh
bm9ueW1vdXMpIGF0ICg2LDYpIHNpemUgODF4MjAKLSAgICAgICAgICBSZW5kZXJUZXh0IGF0ICgw
LDApIHNpemUgODF4MjAKLSAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDgxOiAi
VGVzdCBCdXR0b24iCi0gICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDYxMCw4KSBzaXplIDR4
MjAKLSAgICAgICAgdGV4dCBydW4gYXQgKDYxMCw4KSB3aWR0aCA0OiAiICIKLSAgICAgIFJlbmRl
ckJ1dHRvbiB7SU5QVVR9IGF0ICg2MTYsNCkgc2l6ZSA5N3gyOSBbYmdjb2xvcj0jMDA4MDAwXSBb
Ym9yZGVyOiAoMnB4IG91dHNldCAjQzBDMEMwKV0KLSAgICAgICAgUmVuZGVyQmxvY2sgKGFub255
bW91cykgYXQgKDgsNCkgc2l6ZSA4MXgyMAotICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkg
c2l6ZSA4MXgyMAotICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODE6ICJUZXN0
IEJ1dHRvbiIKLSAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNzE1LDgpIHNpemUgNHgyMAot
ICAgICAgICB0ZXh0IHJ1biBhdCAoNzE1LDgpIHdpZHRoIDQ6ICIgIgotICAgICAgUmVuZGVyQnV0
dG9uIHtJTlBVVH0gYXQgKDIsMzcpIHNpemUgOTd4MjkgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9y
PSMwMDgwMDBdIFtib3JkZXI6ICgycHggb3V0c2V0ICNDMEMwQzApXQotICAgICAgICBSZW5kZXJC
bG9jayAoYW5vbnltb3VzKSBhdCAoOCw0KSBzaXplIDgxeDIwCi0gICAgICAgICAgUmVuZGVyVGV4
dCBhdCAoMCwwKSBzaXplIDgxeDIwCisgICAgICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDIw
NCwyKSBzaXplIDkzeDMyIFtjb2xvcj0jMUExQTFBXSBbYmdjb2xvcj0jMDA4MDAwXQorICAgICAg
ICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2KSBzaXplIDgxeDIxCisgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgODF4MjEKKyAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDgxOiAiVGVzdCBCdXR0b24iCisgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDI5OSw4KSBzaXplIDR4MjEKKyAgICAgICAgdGV4dCBydW4gYXQgKDI5OSw4KSB3
aWR0aCA0OiAiICIKKyAgICAgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMzA1LDIpIHNpemUg
OTN4MzIgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSMwMDgwMDBdCisgICAgICAgIFJlbmRlckJs
b2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNpemUgODF4MjEKKyAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA4MXgyMQorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggODE6ICJUZXN0IEJ1dHRvbiIKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
NDAwLDgpIHNpemUgNHgyMQorICAgICAgICB0ZXh0IHJ1biBhdCAoNDAwLDgpIHdpZHRoIDQ6ICIg
IgorICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDQwNiwyKSBzaXplIDkzeDMyIFtjb2xv
cj0jMUExQTFBXSBbYmdjb2xvcj0jRUZFQkU3XQorICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnlt
b3VzKSBhdCAoNiw2KSBzaXplIDgxeDIxCisgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBz
aXplIDgxeDIxCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4MTogIlRlc3Qg
QnV0dG9uIgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1MDEsOCkgc2l6ZSA0eDIxCisg
ICAgICAgIHRleHQgcnVuIGF0ICg1MDEsOCkgd2lkdGggNDogIiAiCisgICAgICBSZW5kZXJCdXR0
b24ge0lOUFVUfSBhdCAoNTA3LDIpIHNpemUgOTN4MzIgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9y
PSNFRkVCRTddCisgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNpemUg
ODF4MjEKKyAgICAgICAgICBSZW5kZXJUZXh0IGF0ICgwLDApIHNpemUgODF4MjEKKyAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDgxOiAiVGVzdCBCdXR0b24iCisgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDYwMiw4KSBzaXplIDR4MjEKKyAgICAgICAgdGV4dCBydW4gYXQg
KDYwMiw4KSB3aWR0aCA0OiAiICIKKyAgICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICg2MDgs
Mikgc2l6ZSA5M3gzMiBbY29sb3I9IzFBMUExQV0gW2JnY29sb3I9IzAwODAwMF0KKyAgICAgICAg
UmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYsNikgc2l6ZSA4MXgyMQorICAgICAgICAgIFJl
bmRlclRleHQgYXQgKDAsMCkgc2l6ZSA4MXgyMQorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggODE6ICJUZXN0IEJ1dHRvbiIKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
NzAzLDgpIHNpemUgNHgyMQorICAgICAgICB0ZXh0IHJ1biBhdCAoNzAzLDgpIHdpZHRoIDQ6ICIg
IgorICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDIsMzgpIHNpemUgOTN4MzIgW2NvbG9y
PSNGRjAwMDBdIFtiZ2NvbG9yPSMwMDgwMDBdCisgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1v
dXMpIGF0ICg2LDYpIHNpemUgODF4MjEKKyAgICAgICAgICBSZW5kZXJUZXh0IGF0ICgwLDApIHNp
emUgODF4MjEKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDgxOiAiVGVzdCBC
dXR0b24iCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvaXNpbmRleC1wbGFjZWhvbGRlci1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9m
b3Jtcy9pc2luZGV4LXBsYWNlaG9sZGVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTEzMTApCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL2lzaW5kZXgtcGxhY2Vob2xkZXIt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zLDM5ICszLDM5IEBAIGxheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDc4NHg1ODQKLSAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXpl
IDc4NHgyMAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzNXgyMAor
ICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDIxCisgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDM1eDIxCiAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMCkgd2lkdGggMzU6ICJUZXN0ICIKLSAgICAgICAgUmVuZGVySW5saW5lIHtUVH0gYXQgKDAs
MCkgc2l6ZSA1N3gxNgotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzUsMykgc2l6
ZSA1N3gxNgorICAgICAgICBSZW5kZXJJbmxpbmUge1RUfSBhdCAoMCwwKSBzaXplIDU3eDE3Cisg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzNSwzKSBzaXplIDU3eDE3CiAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMzUsMykgd2lkdGggNTc6ICI8aXNpbmRleD4iCi0gICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoOTIsMCkgc2l6ZSAxNDJ4MjAKKyAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICg5MiwwKSBzaXplIDE0MngyMQogICAgICAgICAgIHRleHQgcnVuIGF0ICg5
MiwwKSB3aWR0aCAxNDI6ICIgcGxhY2Vob2xkZXIgc3R5bGluZy4iCi0gICAgICBSZW5kZXJCbG9j
ayAoYW5vbnltb3VzKSBhdCAoMCwzNikgc2l6ZSA3ODR4MjAKLSAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMjU4eDIwCisgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3Vz
KSBhdCAoMCwzNykgc2l6ZSA3ODR4MjEKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMjU4eDIxCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjU4OiAi
VGhlIHBsYWNlaG9sZGVyIHRleHQgc2hvdWxkIGJlIGdyYXk6IgotICAgICAgUmVuZGVyQmxvY2sg
e0RJVn0gYXQgKDAsNjQpIHNpemUgNzg0eDUwCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MCw2Nikgc2l6ZSA3ODR4NTEKICAgICAgICAgUmVuZGVyQmxvY2sge0hSfSBhdCAoMCwwKSBzaXpl
IDc4NHgyIFtib3JkZXI6ICgxcHggaW5zZXQgIzAwMDAwMCldCi0gICAgICAgIFJlbmRlckJsb2Nr
IChhbm9ueW1vdXMpIGF0ICgwLDEwKSBzaXplIDc4NHgzMAotICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCw1KSBzaXplIDM2NHgyMAorICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnlt
b3VzKSBhdCAoMCwxMCkgc2l6ZSA3ODR4MzEKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsNSkgc2l6ZSAzNjR4MjEKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDUpIHdpZHRo
IDM2NDogIlRoaXMgaXMgYSBzZWFyY2hhYmxlIGluZGV4LiBFbnRlciBzZWFyY2gga2V5d29yZHM6
ICIKLSAgICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2NiwyKSBzaXpl
IDE3NXgyNgotICAgICAgICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDQ4KSBzaXplIDc4NHgyIFti
b3JkZXI6ICgxcHggaW5zZXQgIzAwMDAwMCldCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3Vz
KSBhdCAoMCwxMjIpIHNpemUgNzg0eDIwCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDI2OHgyMAorICAgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJU0lOREVYfSBh
dCAoMzY2LDIpIHNpemUgMTc1eDI3IFtiZ2NvbG9yPSNGRkZGRkZdCisgICAgICAgIFJlbmRlckJs
b2NrIHtIUn0gYXQgKDAsNDkpIHNpemUgNzg0eDIgW2JvcmRlcjogKDFweCBpbnNldCAjMDAwMDAw
KV0KKyAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDEyNSkgc2l6ZSA3ODR4MjEK
KyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjY4eDIxCiAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjY4OiAiVGhlIHBsYWNlaG9sZGVyIHRleHQgc2hv
dWxkIGJlIGdyZWVuOiIKLSAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDE1MCkgc2l6ZSA3
ODR4NTAKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDE1NCkgc2l6ZSA3ODR4NTEKICAg
ICAgICAgUmVuZGVyQmxvY2sge0hSfSBhdCAoMCwwKSBzaXplIDc4NHgyIFtib3JkZXI6ICgxcHgg
aW5zZXQgIzAwMDAwMCldCi0gICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDEw
KSBzaXplIDc4NHgzMAotICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw1KSBzaXpl
IDM2NHgyMAorICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxMCkgc2l6ZSA3
ODR4MzEKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNSkgc2l6ZSAzNjR4MjEK
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDUpIHdpZHRoIDM2NDogIlRoaXMgaXMgYSBzZWFy
Y2hhYmxlIGluZGV4LiBFbnRlciBzZWFyY2gga2V5d29yZHM6ICIKLSAgICAgICAgICBSZW5kZXJU
ZXh0Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2NiwyKSBzaXplIDE3NXgyNgotICAgICAgICBSZW5k
ZXJCbG9jayB7SFJ9IGF0ICgwLDQ4KSBzaXplIDc4NHgyIFtib3JkZXI6ICgxcHggaW5zZXQgIzAw
MDAwMCldCi1sYXllciBhdCAoMzc2LDg3KSBzaXplIDE3MXgyMAotICBSZW5kZXJCbG9jayB7RElW
fSBhdCAoMiwzKSBzaXplIDE3MXgyMCBbY29sb3I9I0E5QTlBOV0KLSAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDEsMCkgc2l6ZSA4NHgyMAorICAgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJ
U0lOREVYfSBhdCAoMzY2LDIpIHNpemUgMTc1eDI3IFtiZ2NvbG9yPSNGRkZGRkZdCisgICAgICAg
IFJlbmRlckJsb2NrIHtIUn0gYXQgKDAsNDkpIHNpemUgNzg0eDIgW2JvcmRlcjogKDFweCBpbnNl
dCAjMDAwMDAwKV0KK2xheWVyIGF0ICgzNzYsODkpIHNpemUgMTcxeDIxCisgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgyLDMpIHNpemUgMTcxeDIxIFtjb2xvcj0jQTlBOUE5XQorICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMSwwKSBzaXplIDg0eDIxCiAgICAgICB0ZXh0IHJ1biBhdCAoMSwwKSB3
aWR0aCA4NDogInBsYWNlaG9sZGVyIgotbGF5ZXIgYXQgKDM3NiwxNzMpIHNpemUgMTcxeDIwCi0g
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDMpIHNpemUgMTcxeDIwIFtjb2xvcj0jMDA4MDAwXQot
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwwKSBzaXplIDg0eDIwCitsYXllciBhdCAoMzc2
LDE3Nykgc2l6ZSAxNzF4MjEKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMykgc2l6ZSAxNzF4
MjEgW2NvbG9yPSMwMDgwMDBdCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDApIHNpemUg
ODR4MjEKICAgICAgIHRleHQgcnVuIGF0ICgxLDApIHdpZHRoIDg0OiAicGxhY2Vob2xkZXIiCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL21lbnVsaXN0LXN0eWxlLWNv
bG9yLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9m
YXN0L2Zvcm1zL21lbnVsaXN0LXN0eWxlLWNvbG9yLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTEz
MTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL21lbnVsaXN0LXN0eWxl
LWNvbG9yLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMywyNiArMywyNiBAQCBsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBS
ZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgUmVuZGVyQm9keSB7
Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0Ci0gICAgICBSZW5kZXJNZW51TGlzdCB7U0VMRUNU
fSBhdCAoMiwyKSBzaXplIDgzeDI2IFtiZ2NvbG9yPSNGRkZGRkZdCi0gICAgICAgIFJlbmRlckJs
b2NrIChhbm9ueW1vdXMpIGF0ICg4LDQpIHNpemUgNTF4MjAKLSAgICAgICAgICBSZW5kZXJUZXh0
IGF0ICgwLDApIHNpemUgNTF4MjAKKyAgICAgIFJlbmRlck1lbnVMaXN0IHtTRUxFQ1R9IGF0ICgy
LDIpIHNpemUgODN4MjcgW2JnY29sb3I9I0VGRUJFN10KKyAgICAgICAgUmVuZGVyQmxvY2sgKGFu
b255bW91cykgYXQgKDgsNCkgc2l6ZSA1MXgyMQorICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAs
MCkgc2l6ZSA1MXgyMQogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNTE6ICJE
ZWZhdWx0IgotICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg4Nyw2KSBzaXplIDR4MjAKKyAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoODcsNikgc2l6ZSA0eDIxCiAgICAgICAgIHRleHQg
cnVuIGF0ICg4Nyw2KSB3aWR0aCA0OiAiICIKLSAgICAgIFJlbmRlck1lbnVMaXN0IHtTRUxFQ1R9
IGF0ICg5MywyKSBzaXplIDc0eDI2IFtjb2xvcj0jRkYwMDAwXSBbYmdjb2xvcj0jRkZGRkZGXQot
ICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoOCw0KSBzaXplIDQyeDIwCi0gICAg
ICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBzaXplIDMweDIwCisgICAgICBSZW5kZXJNZW51TGlz
dCB7U0VMRUNUfSBhdCAoOTMsMikgc2l6ZSA3NHgyNyBbY29sb3I9I0ZGMDAwMF0gW2JnY29sb3I9
I0VGRUJFN10KKyAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDgsNCkgc2l6ZSA0
MngyMQorICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSAzMHgyMQogICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzA6ICJSZWQiCi0gICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDE2OSw2KSBzaXplIDR4MjAKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MTY5LDYpIHNpemUgNHgyMQogICAgICAgICB0ZXh0IHJ1biBhdCAoMTY5LDYpIHdpZHRoIDQ6ICIg
IgotICAgICAgUmVuZGVyTWVudUxpc3Qge1NFTEVDVH0gYXQgKDE3NSwzKSBzaXplIDE1MngyNCBb
Ymdjb2xvcj0jMDA4MDAwXSBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQotICAgICAgICBS
ZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoOSwzKSBzaXplIDExOHgyMAotICAgICAgICAgIFJl
bmRlclRleHQgYXQgKDAsMCkgc2l6ZSAxMTh4MjAKKyAgICAgIFJlbmRlck1lbnVMaXN0IHtTRUxF
Q1R9IGF0ICgxNzUsMikgc2l6ZSAxNTB4MjcgW2JnY29sb3I9IzAwODAwMF0KKyAgICAgICAgUmVu
ZGVyQmxvY2sgKGFub255bW91cykgYXQgKDgsNCkgc2l6ZSAxMTh4MjEKKyAgICAgICAgICBSZW5k
ZXJUZXh0IGF0ICgwLDApIHNpemUgMTE4eDIxCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCww
KSB3aWR0aCAxMTg6ICJEZWZhdWx0IG9uIGdyZWVuIgotICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgzMjksNikgc2l6ZSA0eDIwCi0gICAgICAgIHRleHQgcnVuIGF0ICgzMjksNikgd2lkdGgg
NDogIiAiCi0gICAgICBSZW5kZXJNZW51TGlzdCB7U0VMRUNUfSBhdCAoMzM1LDMpIHNpemUgMTMx
eDI0IFtjb2xvcj0jRkYwMDAwXSBbYmdjb2xvcj0jMDA4MDAwXSBbYm9yZGVyOiAoMXB4IHNvbGlk
ICNGRjAwMDApXQotICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoOSwzKSBzaXpl
IDk3eDIwCi0gICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBzaXplIDk3eDIwCisgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMyNyw2KSBzaXplIDR4MjEKKyAgICAgICAgdGV4dCBydW4g
YXQgKDMyNyw2KSB3aWR0aCA0OiAiICIKKyAgICAgIFJlbmRlck1lbnVMaXN0IHtTRUxFQ1R9IGF0
ICgzMzMsMikgc2l6ZSAxMjl4MjcgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSMwMDgwMDBdCisg
ICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg4LDQpIHNpemUgOTd4MjEKKyAgICAg
ICAgICBSZW5kZXJUZXh0IGF0ICgwLDApIHNpemUgOTd4MjEKICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDApIHdpZHRoIDk3OiAiUmVkIG9uIGdyZWVuIgogICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMHgwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0
L2Zvcm1zL3RleHQtc3R5bGUtY29sb3ItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dC1zdHlsZS1jb2xvci1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDUxMzEwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jt
cy90ZXh0LXN0eWxlLWNvbG9yLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMyw4NyAr
Myw4NyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAg
UmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0Ci0gICAgICBSZW5kZXJCbG9j
ayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDc4NHgyMAotICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAxODd4MjAKKyAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMp
IGF0ICgwLDApIHNpemUgNzg0eDIxCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDE4N3gyMQogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE4NzogIlRo
ZSB0ZXh0IHNob3VsZCBiZSBkZWZhdWx0OiIKLSAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgw
LDI4KSBzaXplIDc4NHg1MAorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMjkpIHNpemUg
Nzg0eDUxCiAgICAgICAgIFJlbmRlckJsb2NrIHtIUn0gYXQgKDAsMCkgc2l6ZSA3ODR4MiBbYm9y
ZGVyOiAoMXB4IGluc2V0ICMwMDAwMDApXQotICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3Vz
KSBhdCAoMCwxMCkgc2l6ZSA3ODR4MzAKLSAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsNSkgc2l6ZSAzNjR4MjAKKyAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAs
MTApIHNpemUgNzg0eDMxCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNp
emUgMzY0eDIxCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1KSB3aWR0aCAzNjQ6ICJUaGlz
IGlzIGEgc2VhcmNoYWJsZSBpbmRleC4gRW50ZXIgc2VhcmNoIGtleXdvcmRzOiAiCi0gICAgICAg
ICAgUmVuZGVyVGV4dENvbnRyb2wge0lTSU5ERVh9IGF0ICgzNjYsMikgc2l6ZSAxNzV4MjYKLSAg
ICAgICAgUmVuZGVyQmxvY2sge0hSfSBhdCAoMCw0OCkgc2l6ZSA3ODR4MiBbYm9yZGVyOiAoMXB4
IGluc2V0ICMwMDAwMDApXQotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsODYp
IHNpemUgNzg0eDIwCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE2
MngyMAorICAgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJU0lOREVYfSBhdCAoMzY2LDIpIHNp
emUgMTc1eDI3IFtiZ2NvbG9yPSNGRkZGRkZdCisgICAgICAgIFJlbmRlckJsb2NrIHtIUn0gYXQg
KDAsNDkpIHNpemUgNzg0eDIgW2JvcmRlcjogKDFweCBpbnNldCAjMDAwMDAwKV0KKyAgICAgIFJl
bmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDg4KSBzaXplIDc4NHgyMQorICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxNjJ4MjEKICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwwKSB3aWR0aCAxNjI6ICJUaGUgdGV4dCBzaG91bGQgYmUgcmVkOiIKLSAgICAgIFJlbmRl
ckJsb2NrIHtESVZ9IGF0ICgwLDExNCkgc2l6ZSA3ODR4NTAKKyAgICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgwLDExNykgc2l6ZSA3ODR4NTEKICAgICAgICAgUmVuZGVyQmxvY2sge0hSfSBhdCAo
MCwwKSBzaXplIDc4NHgyIFtib3JkZXI6ICgxcHggaW5zZXQgIzAwMDAwMCldCi0gICAgICAgIFJl
bmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDEwKSBzaXplIDc4NHgzMAotICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCw1KSBzaXplIDM2NHgyMAorICAgICAgICBSZW5kZXJCbG9j
ayAoYW5vbnltb3VzKSBhdCAoMCwxMCkgc2l6ZSA3ODR4MzEKKyAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsNSkgc2l6ZSAzNjR4MjEKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDUpIHdpZHRoIDM2NDogIlRoaXMgaXMgYSBzZWFyY2hhYmxlIGluZGV4LiBFbnRlciBzZWFyY2gg
a2V5d29yZHM6ICIKLSAgICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2
NiwyKSBzaXplIDE3NXgyNiBbY29sb3I9I0ZGMDAwMF0KLSAgICAgICAgUmVuZGVyQmxvY2sge0hS
fSBhdCAoMCw0OCkgc2l6ZSA3ODR4MiBbYm9yZGVyOiAoMXB4IGluc2V0ICMwMDAwMDApXQotICAg
ICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTcyKSBzaXplIDc4NHgyMAotICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyMzd4MjAKKyAgICAgICAgICBSZW5k
ZXJUZXh0Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2NiwyKSBzaXplIDE3NXgyNyBbY29sb3I9I0ZG
MDAwMF0gW2JnY29sb3I9I0ZGRkZGRl0KKyAgICAgICAgUmVuZGVyQmxvY2sge0hSfSBhdCAoMCw0
OSkgc2l6ZSA3ODR4MiBbYm9yZGVyOiAoMXB4IGluc2V0ICMwMDAwMDApXQorICAgICAgUmVuZGVy
QmxvY2sgKGFub255bW91cykgYXQgKDAsMTc2KSBzaXplIDc4NHgyMQorICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyMzd4MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwwKSB3aWR0aCAyMzc6ICJUaGUgdGV4dCBzaG91bGQgYmUgZ3JheSBvbiBncmVlbjoiCi0gICAg
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwyMDApIHNpemUgNzg0eDUwCisgICAgICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMCwyMDUpIHNpemUgNzg0eDUxCiAgICAgICAgIFJlbmRlckJsb2NrIHtI
Un0gYXQgKDAsMCkgc2l6ZSA3ODR4MiBbYm9yZGVyOiAoMXB4IGluc2V0ICMwMDAwMDApXQotICAg
ICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxMCkgc2l6ZSA3ODR4MzAKLSAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNSkgc2l6ZSAzNjR4MjAKKyAgICAgICAgUmVu
ZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTApIHNpemUgNzg0eDMxCisgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMzY0eDIxCiAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCw1KSB3aWR0aCAzNjQ6ICJUaGlzIGlzIGEgc2VhcmNoYWJsZSBpbmRleC4gRW50ZXIg
c2VhcmNoIGtleXdvcmRzOiAiCi0gICAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lTSU5ERVh9
IGF0ICgzNjYsMikgc2l6ZSAxNzd4MjYgW2JnY29sb3I9IzAwODAwMF0gW2JvcmRlcjogKDJweCBp
bnNldCAjMDAwMDAwKV0KLSAgICAgICAgUmVuZGVyQmxvY2sge0hSfSBhdCAoMCw0OCkgc2l6ZSA3
ODR4MiBbYm9yZGVyOiAoMXB4IGluc2V0ICMwMDAwMDApXQotICAgICAgUmVuZGVyQmxvY2sgKGFu
b255bW91cykgYXQgKDAsMjU4KSBzaXplIDc4NHgyMAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAyMzJ4MjAKKyAgICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SVNJ
TkRFWH0gYXQgKDM2NiwyKSBzaXplIDE3NXgyNyBbYmdjb2xvcj0jMDA4MDAwXQorICAgICAgICBS
ZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDQ5KSBzaXplIDc4NHgyIFtib3JkZXI6ICgxcHggaW5zZXQg
IzAwMDAwMCldCisgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwyNjQpIHNpemUg
Nzg0eDIxCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDIzMngyMQog
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDIzMjogIlRoZSB0ZXh0IHNob3VsZCBi
ZSByZWQgb24gR3JlZW46IgotICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMjg2KSBzaXpl
IDc4NHg1MAorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMjkzKSBzaXplIDc4NHg1MQog
ICAgICAgICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDApIHNpemUgNzg0eDIgW2JvcmRlcjogKDFw
eCBpbnNldCAjMDAwMDAwKV0KLSAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAs
MTApIHNpemUgNzg0eDMwCi0gICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNp
emUgMzY0eDIwCisgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDEwKSBzaXpl
IDc4NHgzMQorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw1KSBzaXplIDM2NHgy
MQogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNSkgd2lkdGggMzY0OiAiVGhpcyBpcyBhIHNl
YXJjaGFibGUgaW5kZXguIEVudGVyIHNlYXJjaCBrZXl3b3JkczogIgotICAgICAgICAgIFJlbmRl
clRleHRDb250cm9sIHtJU0lOREVYfSBhdCAoMzY2LDIpIHNpemUgMTc3eDI2IFtjb2xvcj0jRkYw
MDAwXSBbYmdjb2xvcj0jMDA4MDAwXSBbYm9yZGVyOiAoMnB4IGluc2V0ICNGRjAwMDApXQotICAg
ICAgICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDQ4KSBzaXplIDc4NHgyIFtib3JkZXI6ICgxcHgg
aW5zZXQgIzAwMDAwMCldCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwzNDQp
IHNpemUgNzg0eDMwCi0gICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDIsMikg
c2l6ZSAxNzV4MjYKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxNzksNSkgc2l6ZSA0
eDIwCisgICAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lTSU5ERVh9IGF0ICgzNjYsMikgc2l6
ZSAxNzV4MjcgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSMwMDgwMDBdCisgICAgICAgIFJlbmRl
ckJsb2NrIHtIUn0gYXQgKDAsNDkpIHNpemUgNzg0eDIgW2JvcmRlcjogKDFweCBpbnNldCAjMDAw
MDAwKV0KKyAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDM1Mikgc2l6ZSA3ODR4
MzEKKyAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiwyKSBzaXplIDE3NXgy
NyBbYmdjb2xvcj0jRkZGRkZGXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE3OSw1
KSBzaXplIDR4MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTc5LDUpIHdpZHRoIDQ6ICIgIgot
ICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgxODUsMikgc2l6ZSAxNzV4MjYg
W2NvbG9yPSNGRjAwMDBdCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzYyLDUpIHNp
emUgNHgyMAorICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgxODUsMikgc2l6
ZSAxNzV4MjcgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSNGRkZGRkZdCisgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMzYyLDUpIHNpemUgNHgyMQogICAgICAgICAgIHRleHQgcnVuIGF0
ICgzNjIsNSkgd2lkdGggNDogIiAiCi0gICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0g
YXQgKDM2OCwyKSBzaXplIDE3N3gyNiBbYmdjb2xvcj0jMDA4MDAwXSBbYm9yZGVyOiAoMnB4IGlu
c2V0ICMwMDAwMDApXQotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDU0Nyw1KSBzaXpl
IDR4MjAKLSAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTQ3LDUpIHdpZHRoIDQ6ICIgIgotICAgICAg
ICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICg1NTMsMikgc2l6ZSAxNzd4MjYgW2NvbG9y
PSNGRjAwMDBdIFtiZ2NvbG9yPSMwMDgwMDBdIFtib3JkZXI6ICgycHggaW5zZXQgI0ZGMDAwMCld
CisgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDM2OCwyKSBzaXplIDE3NXgy
NyBbYmdjb2xvcj0jMDA4MDAwXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDU0NSw1
KSBzaXplIDR4MjEKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTQ1LDUpIHdpZHRoIDQ6ICIgIgor
ICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICg1NTEsMikgc2l6ZSAxNzV4Mjcg
W2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSMwMDgwMDBdCiAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIgYXQgKDM3Niw1MSkgc2l6ZSAxNzF4MjAKLSAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMykgc2l6ZSAxNzF4MjAKLSAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDEsMCkgc2l6ZSA0OHgyMAorbGF5ZXIgYXQgKDM3Niw1Mikgc2l6ZSAxNzF4MjEK
KyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMykgc2l6ZSAxNzF4MjEKKyAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDEsMCkgc2l6ZSA0OHgyMQogICAgICAgdGV4dCBydW4gYXQgKDEsMCkgd2lk
dGggNDg6ICJkZWZhdWx0IgotbGF5ZXIgYXQgKDM3NiwxMzcpIHNpemUgMTcxeDIwCi0gIFJlbmRl
ckJsb2NrIHtESVZ9IGF0ICgyLDMpIHNpemUgMTcxeDIwCi0gICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgxLDApIHNpemUgMjN4MjAKK2xheWVyIGF0ICgzNzYsMTQwKSBzaXplIDE3MXgyMQorICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMiwzKSBzaXplIDE3MXgyMQorICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMSwwKSBzaXplIDIzeDIxCiAgICAgICB0ZXh0IHJ1biBhdCAoMSwwKSB3aWR0aCAy
MzogInJlZCIKLWxheWVyIGF0ICgzNzcsMjIzKSBzaXplIDE3MXgyMAotICBSZW5kZXJCbG9jayB7
RElWfSBhdCAoMywzKSBzaXplIDE3MXgyMAotICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSww
KSBzaXplIDExNXgyMAorbGF5ZXIgYXQgKDM3NiwyMjgpIHNpemUgMTcxeDIxCisgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgyLDMpIHNpemUgMTcxeDIxCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgxLDApIHNpemUgMTE1eDIxCiAgICAgICB0ZXh0IHJ1biBhdCAoMSwwKSB3aWR0aCAxMTU6ICJk
ZWZhdWx0IG9uIGdyZWVuIgotbGF5ZXIgYXQgKDM3NywzMDkpIHNpemUgMTcxeDIwCi0gIFJlbmRl
ckJsb2NrIHtESVZ9IGF0ICgzLDMpIHNpemUgMTcxeDIwCi0gICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgxLDApIHNpemUgOTB4MjAKK2xheWVyIGF0ICgzNzYsMzE2KSBzaXplIDE3MXgyMQorICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMiwzKSBzaXplIDE3MXgyMQorICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMSwwKSBzaXplIDkweDIxCiAgICAgICB0ZXh0IHJ1biBhdCAoMSwwKSB3aWR0aCA5
MDogInJlZCBvbiBncmVlbiIKLWxheWVyIGF0ICgxMiwzNTcpIHNpemUgMTcxeDIwCi0gIFJlbmRl
ckJsb2NrIHtESVZ9IGF0ICgyLDMpIHNpemUgMTcxeDIwCi0gICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgxLDApIHNpemUgNDh4MjAKK2xheWVyIGF0ICgxMiwzNjUpIHNpemUgMTcxeDIxCisgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICgyLDMpIHNpemUgMTcxeDIxCisgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgxLDApIHNpemUgNDh4MjEKICAgICAgIHRleHQgcnVuIGF0ICgxLDApIHdpZHRoIDQ4
OiAiZGVmYXVsdCIKLWxheWVyIGF0ICgxOTUsMzU3KSBzaXplIDE3MXgyMAotICBSZW5kZXJCbG9j
ayB7RElWfSBhdCAoMiwzKSBzaXplIDE3MXgyMAotICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MSwwKSBzaXplIDIzeDIwCitsYXllciBhdCAoMTk1LDM2NSkgc2l6ZSAxNzF4MjEKKyAgUmVuZGVy
QmxvY2sge0RJVn0gYXQgKDIsMykgc2l6ZSAxNzF4MjEKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDEsMCkgc2l6ZSAyM3gyMQogICAgICAgdGV4dCBydW4gYXQgKDEsMCkgd2lkdGggMjM6ICJy
ZWQiCi1sYXllciBhdCAoMzc5LDM1Nykgc2l6ZSAxNzF4MjAKLSAgUmVuZGVyQmxvY2sge0RJVn0g
YXQgKDMsMykgc2l6ZSAxNzF4MjAKLSAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMCkgc2l6
ZSAxMTV4MjAKK2xheWVyIGF0ICgzNzgsMzY1KSBzaXplIDE3MXgyMQorICBSZW5kZXJCbG9jayB7
RElWfSBhdCAoMiwzKSBzaXplIDE3MXgyMQorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSww
KSBzaXplIDExNXgyMQogICAgICAgdGV4dCBydW4gYXQgKDEsMCkgd2lkdGggMTE1OiAiZGVmYXVs
dCBvbiBncmVlbiIKLWxheWVyIGF0ICg1NjQsMzU3KSBzaXplIDE3MXgyMAotICBSZW5kZXJCbG9j
ayB7RElWfSBhdCAoMywzKSBzaXplIDE3MXgyMAotICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MSwwKSBzaXplIDkweDIwCitsYXllciBhdCAoNTYxLDM2NSkgc2l6ZSAxNzF4MjEKKyAgUmVuZGVy
QmxvY2sge0RJVn0gYXQgKDIsMykgc2l6ZSAxNzF4MjEKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDEsMCkgc2l6ZSA5MHgyMQogICAgICAgdGV4dCBydW4gYXQgKDEsMCkgd2lkdGggOTA6ICJy
ZWQgb24gZ3JlZW4iCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3Rl
eHRhcmVhLXBsYWNlaG9sZGVyLXBzZXVkby1zdHlsZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRl
ci1wc2V1ZG8tc3R5bGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1MTMxMCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItcHNldWRvLXN0
eWxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMywzMyArMywzMyBAQCBsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5k
ZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgUmVuZGVyQm9keSB7Qk9E
WX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0Ci0gICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAzNjl4MjAKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDM2
OXgyMQogICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzNjk6ICJUaGlzIHRlc3RzIHRo
YXQgeW91IGNhbiBzZXQgdGhlIHBsYWNlaG9sZGVyIHRleHQgY29sb3IuIgogICAgICAgUmVuZGVy
QlIge0JSfSBhdCAoMzY5LDE2KSBzaXplIDB4MAotICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgxODAsNDgpIHNpemUgNHgyMAotICAgICAgICB0ZXh0IHJ1biBhdCAoMTgwLDQ4KSB3aWR0aCA0
OiAiICIKLSAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzY0LDQ4KSBzaXplIDR4MjAKLSAg
ICAgICAgdGV4dCBydW4gYXQgKDM2NCw0OCkgd2lkdGggNDogIiAiCi0gICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDU0OCw0OCkgc2l6ZSA0eDIwCi0gICAgICAgIHRleHQgcnVuIGF0ICg1NDgs
NDgpIHdpZHRoIDQ6ICIgIgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxODAsNTEpIHNp
emUgNHgyMQorICAgICAgICB0ZXh0IHJ1biBhdCAoMTgwLDUxKSB3aWR0aCA0OiAiICIKKyAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzY0LDUxKSBzaXplIDR4MjEKKyAgICAgICAgdGV4dCBy
dW4gYXQgKDM2NCw1MSkgd2lkdGggNDogIiAiCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDU0OCw1MSkgc2l6ZSA0eDIxCisgICAgICAgIHRleHQgcnVuIGF0ICg1NDgsNTEpIHdpZHRoIDQ6
ICIgIgogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi1sYXllciBh
dCAoMTAsMzApIHNpemUgMTc2eDQwCi0gIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQg
KDIsMjIpIHNpemUgMTc2eDQwCi0gICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAx
NzZ4MjAgW2NvbG9yPSM2NDAwMDBdCi0gICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAyNXgyMAorbGF5ZXIgYXQgKDEwLDMxKSBzaXplIDE3Nng0MgorICBSZW5kZXJUZXh0Q29u
dHJvbCB7VEVYVEFSRUF9IGF0ICgyLDIzKSBzaXplIDE3Nng0MiBbYmdjb2xvcj0jRkZGRkZGXQor
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIxIFtjb2xvcj0jNjQwMDAw
XQorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjV4MjEKICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjU6ICJ0ZXh0IgotbGF5ZXIgYXQgKDE5NCwzMCkgc2l6
ZSAxNzZ4NDAKLSAgUmVuZGVyVGV4dENvbnRyb2wge1RFWFRBUkVBfSBhdCAoMTg2LDIyKSBzaXpl
IDE3Nng0MAotICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIwIFtjb2xv
cj0jNjQwMDAwXQotICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgOTB4MjAK
K2xheWVyIGF0ICgxOTQsMzEpIHNpemUgMTc2eDQyCisgIFJlbmRlclRleHRDb250cm9sIHtURVhU
QVJFQX0gYXQgKDE4NiwyMykgc2l6ZSAxNzZ4NDIgW2JnY29sb3I9I0ZGRkZGRl0KKyAgICBSZW5k
ZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDE3NngyMSBbY29sb3I9I0I4MDAwMF0KKyAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDkweDIxCiAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDApIHdpZHRoIDkwOiAiZGlzYWJsZWQgdGV4dCIKLWxheWVyIGF0ICgzNzgsMzApIHNp
emUgMTc2eDQwCi0gIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDM3MCwyMikgc2l6
ZSAxNzZ4NDAKLSAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDE3NngyMCBbY29s
b3I9I0E5QTlBOV0KLSAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ4eDIw
CitsYXllciBhdCAoMzc4LDMxKSBzaXplIDE3Nng0MgorICBSZW5kZXJUZXh0Q29udHJvbCB7VEVY
VEFSRUF9IGF0ICgzNzAsMjMpIHNpemUgMTc2eDQyIFtiZ2NvbG9yPSNGRkZGRkZdCisgICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxNzZ4MjEgW2NvbG9yPSNBOUE5QTldCisgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0OHgyMQogICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCA0ODogImRlZmF1bHQiCi1sYXllciBhdCAoNTYyLDMwKSBzaXplIDE3
Nng0MAotICBSZW5kZXJUZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICg1NTQsMjIpIHNpemUgMTc2
eDQwCi0gICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxNzZ4MjAgW2NvbG9yPSM1
NTU1NTVdCi0gICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMTN4MjAKK2xh
eWVyIGF0ICg1NjIsMzEpIHNpemUgMTc2eDQyCisgIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJF
QX0gYXQgKDU1NCwyMykgc2l6ZSAxNzZ4NDIgW2JnY29sb3I9I0ZGRkZGRl0KKyAgICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDE3NngyMSBbY29sb3I9I0E5QTlBOV0KKyAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDExM3gyMQogICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwwKSB3aWR0aCAxMTM6ICJkZWZhdWx0IGRpc2FibGVkIgpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci1zZXQtYXR0cmlidXRl
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0
L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXNldC1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiA1MTMxMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4
dGFyZWEtcGxhY2Vob2xkZXItc2V0LWF0dHJpYnV0ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTMsMTIgKzMsMTIgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUg
ODAweDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU3NgotICAg
ICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUgNzg0eDIwCi0gICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ4NngyMAorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0
ICgwLDApIHNpemUgNzg0eDIxCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDQ4NngyMQogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQ4NjogIklmIHlv
dSBjYW4gc2VlIHRoZSB3b3JkIFwiUGxhY2Vob2xkZXJcIiBpbiB0aGUgdGV4dCBhcmVhLCB0aGVu
IGFsbCBpcyB3ZWxsLiIKLSAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwzNikgc2l6ZSA3ODR4
NDQKLWxheWVyIGF0ICgxMCw0Nikgc2l6ZSAxNzZ4NDAKLSAgUmVuZGVyVGV4dENvbnRyb2wge1RF
WFRBUkVBfSBhdCAoMiwyKSBzaXplIDE3Nng0MAotICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgw
LDApIHNpemUgMTc2eDIwIFtjb2xvcj0jQTlBOUE5XQotICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgODZ4MjAKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwzNykgc2l6
ZSA3ODR4NDYKK2xheWVyIGF0ICgxMCw0Nykgc2l6ZSAxNzZ4NDIKKyAgUmVuZGVyVGV4dENvbnRy
b2wge1RFWFRBUkVBfSBhdCAoMiwyKSBzaXplIDE3Nng0MiBbYmdjb2xvcj0jRkZGRkZGXQorICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIxIFtjb2xvcj0jQTlBOUE5XQor
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgODZ4MjEKICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggODY6ICJQbGFjZWhvbGRlciIKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItc2V0LXZhbHVlLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zv
cm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXNldC12YWx1ZS1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDUxMzEwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0YXJlYS1w
bGFjZWhvbGRlci1zZXQtdmFsdWUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zLDIw
ICszLDIwIEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCiAgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAg
ICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKLSAgICAgIFJlbmRlckJs
b2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgyMAotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSA1N3gyMAorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDApIHNpemUg
Nzg0eDIxCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDU3eDIxCiAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNTc6ICJUZXN0IGZvciAiCi0gICAgICAg
IFJlbmRlcklubGluZSB7QX0gYXQgKDAsMCkgc2l6ZSAzMzd4MjAgW2NvbG9yPSMwMDAwRUVdCi0g
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1NywwKSBzaXplIDMzN3gyMAorICAgICAg
ICBSZW5kZXJJbmxpbmUge0F9IGF0ICgwLDApIHNpemUgMzM3eDIxIFtjb2xvcj0jMDAwMEVFXQor
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTcsMCkgc2l6ZSAzMzd4MjEKICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICg1NywwKSB3aWR0aCAzMzc6ICJodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyNDgiCi0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMzk0LDApIHNpemUgNHgyMAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDM5NCww
KSBzaXplIDR4MjEKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzk0LDApIHdpZHRoIDQ6ICIuIgot
ICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMzYpIHNpemUgNzg0eDQ0CisgICAg
ICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwzNykgc2l6ZSA3ODR4NDYKICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAweDAKLWxheWVyIGF0ICgxMCw0Nikgc2l6ZSAxNzZ4NDAKLSAgUmVuZGVyVGV4
dENvbnRyb2wge1RFWFRBUkVBfSBhdCAoMiwyKSBzaXplIDE3Nng0MAotICAgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIwCi0gICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSA2MngyMAorbGF5ZXIgYXQgKDEwLDQ3KSBzaXplIDE3Nng0MgorICBSZW5kZXJU
ZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICgyLDIpIHNpemUgMTc2eDQyIFtiZ2NvbG9yPSNGRkZG
RkZdCisgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxNzZ4MjEKKyAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDYyeDIxCiAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDYyOiAiTmV3IHRleHQiCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9x
dC90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzkyNjQ3LTItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnOTI2NDct
Mi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDUxMzEwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
cXQvdGFibGVzL21vemlsbGEvYnVncy9idWc5MjY0Ny0yLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMywxNCArMywxNCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0Ci0g
ICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgNDh4NTUgW2JvcmRlcjogKDFw
eCBvdXRzZXQgIzgwODA4MCldCi0gICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiB7VEJPRFl9IGF0
ICgxLDEpIHNpemUgNDZ4NTMKLSAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDIp
IHNpemUgNDZ4NDkKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgyLDIpIHNp
emUgNDJ4NDkgW2JvcmRlcjogKDFweCBpbnNldCAjODA4MDgwKV0gW3I9MCBjPTAgcnM9MSBjcz0x
XQotICAgICAgICAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgyLDIpIHNpemUgMzh4NDUg
W2JvcmRlcjogKDFweCBvdXRzZXQgIzgwODA4MCldCi0gICAgICAgICAgICAgICAgUmVuZGVyVGFi
bGVTZWN0aW9uIHtUQk9EWX0gYXQgKDEsMSkgc2l6ZSAzNng0MwotICAgICAgICAgICAgICAgICAg
UmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCwyKSBzaXplIDM2eDM5Ci0gICAgICAgICAgICAgICAg
ICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgyLDE5KSBzaXplIDR4NCBbYm9yZGVyOiAoMXB4
IGluc2V0ICM4MDgwODApXSBbcj0wIGM9MCBycz0xIGNzPTFdCi0gICAgICAgICAgICAgICAgICAg
IFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg4LDIpIHNpemUgMjB4MzkgW2JvcmRlcjogKDFweCBp
bnNldCAjODA4MDgwKV0gW3I9MCBjPTEgcnM9MSBjcz0xXQotICAgICAgICAgICAgICAgICAgICAg
IFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICg0LDQpIHNpemUgMTJ4MzEgW2JnY29sb3I9I0MwQzBD
MF0KLSAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDMwLDE5KSBz
aXplIDR4NCBbYm9yZGVyOiAoMXB4IGluc2V0ICM4MDgwODApXSBbcj0wIGM9MiBycz0xIGNzPTFd
CisgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgNDh4NTYgW2JvcmRlcjog
KDFweCBvdXRzZXQgIzgwODA4MCldCisgICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiB7VEJPRFl9
IGF0ICgxLDEpIHNpemUgNDZ4NTQKKyAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgw
LDIpIHNpemUgNDZ4NTAKKyAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgyLDIp
IHNpemUgNDJ4NTAgW2JvcmRlcjogKDFweCBpbnNldCAjODA4MDgwKV0gW3I9MCBjPTAgcnM9MSBj
cz0xXQorICAgICAgICAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgyLDIpIHNpemUgMzh4
NDYgW2JvcmRlcjogKDFweCBvdXRzZXQgIzgwODA4MCldCisgICAgICAgICAgICAgICAgUmVuZGVy
VGFibGVTZWN0aW9uIHtUQk9EWX0gYXQgKDEsMSkgc2l6ZSAzNng0NAorICAgICAgICAgICAgICAg
ICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCwyKSBzaXplIDM2eDQwCisgICAgICAgICAgICAg
ICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgyLDIwKSBzaXplIDR4NCBbYm9yZGVyOiAo
MXB4IGluc2V0ICM4MDgwODApXSBbcj0wIGM9MCBycz0xIGNzPTFdCisgICAgICAgICAgICAgICAg
ICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg4LDIpIHNpemUgMjB4NDAgW2JvcmRlcjogKDFw
eCBpbnNldCAjODA4MDgwKV0gW3I9MCBjPTEgcnM9MSBjcz0xXQorICAgICAgICAgICAgICAgICAg
ICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICg0LDQpIHNpemUgMTJ4MzIgW2NvbG9yPSMxQTFB
MUFdIFtiZ2NvbG9yPSNFRkVCRTddCisgICAgICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2Vs
bCB7VER9IGF0ICgzMCwyMCkgc2l6ZSA0eDQgW2JvcmRlcjogKDFweCBpbnNldCAjODA4MDgwKV0g
W3I9MCBjPTIgcnM9MSBjcz0xXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44186</attachid>
            <date>2009-12-02 14:30:27 -0800</date>
            <delta_ts>2010-06-10 20:12:19 -0700</delta_ts>
            <desc>Patch without ChangeLog and LayoutTest changes. Used to figure out impact.</desc>
            <filename>patchFor30173-13.patch</filename>
            <type>text/plain</type>
            <size>25618</size>
            <attacher name="Carol Szabo">carol</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vcXQvUVdlYlBvcHVwLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BsYXRmb3JtL3F0L1FXZWJQb3B1cC5jcHAJKHJldmlzaW9uIDUxMzEwKQorKysgV2Vi
Q29yZS9wbGF0Zm9ybS9xdC9RV2ViUG9wdXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw5ICsy
MSwxMSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlFXZWJQb3B1cC5oIgogI2lu
Y2x1ZGUgIlBvcHVwTWVudVN0eWxlLmgiCisjaW5jbHVkZSAiUmVuZGVyVGhlbWVRdC5oIgogCiAj
aW5jbHVkZSA8UUFic3RyYWN0SXRlbVZpZXc+CiAjaW5jbHVkZSA8UUFwcGxpY2F0aW9uPgorI2lu
Y2x1ZGUgPFFCeXRlQXJyYXk+CiAjaW5jbHVkZSA8UUlucHV0Q29udGV4dD4KICNpbmNsdWRlIDxR
TW91c2VFdmVudD4KIApAQCAtNTEsNiArNTMsMjcgQEAgdm9pZCBRV2ViUG9wdXA6OmV4ZWMoKQog
dm9pZCBRV2ViUG9wdXA6OnNob3dQb3B1cCgpCiB7CiAgICAgUUNvbWJvQm94OjpzaG93UG9wdXAo
KTsKKyAgICBQb3B1cE1lbnVTdHlsZSBzdHlsZSA9IG1fY2xpZW50LT5pdGVtU3R5bGUoMCk7Cisg
ICAgUVBhbGV0dGUgYmFzZVBhbGV0dGUgPSBwYWxldHRlKCk7CisgICAgUUNvbG9yIGRlZmF1bHRC
YXNlQ29sb3IoYmFzZVBhbGV0dGUuY29sb3IoUVBhbGV0dGU6OkJhc2UpKTsKKyAgICBRQ29sb3Ig
ZGVmYXVsdFRleHRDb2xvcihiYXNlUGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6VGV4dCkpOworICAg
IENvbG9yIGNvbG9yID0gc3R5bGUuYmFja2dyb3VuZENvbG9yKCk7CisgICAgaWYgKGNvbG9yLmlz
VmFsaWQoKSkKKyAgICAgICAgYmFzZVBhbGV0dGUuc2V0Q29sb3IoUVBhbGV0dGU6OkJhc2UsIGNv
bG9yKTsKKyAgICBjb2xvciA9IHN0eWxlLmZvcmVncm91bmRDb2xvcigpOworICAgIGlmIChjb2xv
ci5pc1ZhbGlkKCkpCisgICAgICAgIGJhc2VQYWxldHRlLnNldENvbG9yKFFQYWxldHRlOjpUZXh0
LCBjb2xvcik7CisgICAgc2V0UGFsZXR0ZShiYXNlUGFsZXR0ZSk7CisgICAgLy8gRklYTUU6IFBy
b2JhYmx5IGhlcmUgc3BlY2lhbCBzdHlsZXMgZnJvbSB0aGUgb3B0aW9ucyBzaG91bGQgYmUgdXNl
ZCBvciBzcGVjaWFsIGRyb3Bkb3dubGlzdCBhdHRyaWJ1dGVzCisgICAgLy8gZm9yIG5vdyBib3Ro
IGRyb3Bkb3duIGxpc3RzIGFuZCBsaW5lZWRpdCBzaGFyZSB0aGUgc2FtZSBjb2xvcnMuCisgICAg
aWYgKFFBYnN0cmFjdEl0ZW1WaWV3KiBpdGVtVmlldyA9IHZpZXcoKSkgeworICAgICAgICBRQnl0
ZUFycmF5IGJ1ZmZlcihpdGVtVmlldy0+c3R5bGVTaGVldCgpLnRvQXNjaWkoKSk7CisgICAgICAg
IFFDb2xvciBuZXdCYXNlID0gYmFzZVBhbGV0dGUuY29sb3IoUVBhbGV0dGU6OkJhc2UpOworICAg
ICAgICBRQ29sb3IgbmV3VGV4dCA9IGJhc2VQYWxldHRlLmNvbG9yKFFQYWxldHRlOjpUZXh0KTsK
KyAgICAgICAgUmVuZGVyVGhlbWVRdDo6YWRkU3R5bGVUZXh0SWZOZWVkZWQoJm5ld0Jhc2UsIGRl
ZmF1bHRCYXNlQ29sb3IsICIgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgiLCAiKTsiLCBidWZmZXIs
IGZhbHNlKTsKKyAgICAgICAgUmVuZGVyVGhlbWVRdDo6YWRkU3R5bGVUZXh0SWZOZWVkZWQoJm5l
d1RleHQsIGRlZmF1bHRUZXh0Q29sb3IsICIgY29sb3I6IHJnYmEoIiwgIik7IiwgYnVmZmVyLCBm
YWxzZSk7CisgICAgICAgIGl0ZW1WaWV3LT5zZXRTdHlsZVNoZWV0KGJ1ZmZlci5jb25zdERhdGEo
KSk7CisgICAgfTsKICAgICBtX3BvcHVwVmlzaWJsZSA9IHRydWU7CiB9CiAKSW5kZXg6IFdlYkNv
cmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcAkocmV2aXNpb24gNTEzMTApCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICsz
Miw3IEBACiAKICNpbmNsdWRlICJDU1NTdHlsZVNlbGVjdG9yLmgiCiAjaW5jbHVkZSAiQ1NTU3R5
bGVTaGVldC5oIgorI2luY2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKICNpbmNsdWRlICJDaHJv
bWVDbGllbnRRdC5oIgogI2luY2x1ZGUgIkNvbG9yLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
QEAgLTQ5LDEyICs1MCwxOCBAQAogI2luY2x1ZGUgInF3ZWJwYWdlLmgiCiAKICNpbmNsdWRlIDxR
QXBwbGljYXRpb24+CisjaW5jbHVkZSA8UUNoZWNrQm94PgogI2luY2x1ZGUgPFFDb2xvcj4KKyNp
bmNsdWRlIDxRQ29tYm9Cb3g+CiAjaW5jbHVkZSA8UURlYnVnPgogI2luY2x1ZGUgPFFGaWxlPgog
I2luY2x1ZGUgPFFMaW5lRWRpdD4KKyNpbmNsdWRlIDxRTGlzdFdpZGdldD4KKyNpbmNsdWRlIDxR
TWVudT4KICNpbmNsdWRlIDxRUGFpbnRlcj4KICNpbmNsdWRlIDxRUHVzaEJ1dHRvbj4KKyNpbmNs
dWRlIDxRUmFkaW9CdXR0b24+CisjaW5jbHVkZSA8UVNjcm9sbEJhcj4KICNpbmNsdWRlIDxRU3R5
bGVGYWN0b3J5PgogI2luY2x1ZGUgPFFTdHlsZU9wdGlvbkJ1dHRvbj4KICNpbmNsdWRlIDxRU3R5
bGVPcHRpb25GcmFtZVYyPgpAQCAtNjUsNiArNzIsMzkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCitRV2lkZ2V0KiBSZW5kZXJUaGVtZVF0Ojpw
YWdlT3duZXJXaWRnZXQoKSBjb25zdAoreworICAgIGlmICghbV9wYWdlKQorICAgICAgICByZXR1
cm4gMDsKKyAgICBDaHJvbWUqIGNocm9tZSA9IG1fcGFnZS0+Y2hyb21lKCk7CisgICAgaWYgKCFj
aHJvbWUpCisgICAgICAgIHJldHVybiAwOworICAgIENocm9tZUNsaWVudCogY2hyb21lQ2xpZW50
ID0gY2hyb21lLT5jbGllbnQoKTsKKyAgICBpZiAoIWNocm9tZUNsaWVudCkKKyAgICAgICAgcmV0
dXJuIDA7CisgICAgUVdlYlBhZ2VDbGllbnQqIHBhZ2VDbGllbnQgPSBjaHJvbWVDbGllbnQtPnBs
YXRmb3JtUGFnZUNsaWVudCgpOworICAgIGlmKCFwYWdlQ2xpZW50KQorICAgICAgICByZXR1cm4g
MDsKKyAgICByZXR1cm4gcGFnZUNsaWVudC0+b3duZXJXaWRnZXQoKTsKK30KKworc3RhdGljIHZv
aWQgaW5pdFBhbGV0dGVGcm9tUGFnZUNsaWVudElmRXhpc3RzKFFQYWxldHRlICZwYWxldHRlLCBj
b25zdCBSZW5kZXJPYmplY3QgKm8pCit7CisgICAgLy8gSWYgdGhlIHdlYnZpZXcgaGFzIGEgY3Vz
dG9tIHBhbGV0dGUsIHVzZSBpdAorICAgIFBhZ2UqIHBhZ2UgPSBvLT5kb2N1bWVudCgpLT5wYWdl
KCk7CisgICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm47CisgICAgQ2hyb21lKiBjaHJvbWUg
PSBwYWdlLT5jaHJvbWUoKTsKKyAgICBpZiAoIWNocm9tZSkKKyAgICAgICAgcmV0dXJuOworICAg
IENocm9tZUNsaWVudCogY2hyb21lQ2xpZW50ID0gY2hyb21lLT5jbGllbnQoKTsKKyAgICBpZiAo
IWNocm9tZUNsaWVudCkKKyAgICAgICAgcmV0dXJuOworICAgIFFXZWJQYWdlQ2xpZW50KiBwYWdl
Q2xpZW50ID0gY2hyb21lQ2xpZW50LT5wbGF0Zm9ybVBhZ2VDbGllbnQoKTsKKyAgICBpZiAoIXBh
Z2VDbGllbnQpCisgICAgICAgIHJldHVybjsKKyAgICBwYWxldHRlID0gcGFnZUNsaWVudC0+cGFs
ZXR0ZSgpOworfQogCiBTdHlsZVBhaW50ZXI6OlN0eWxlUGFpbnRlcihjb25zdCBSZW5kZXJPYmpl
Y3Q6OlBhaW50SW5mbyYgcGFpbnRJbmZvKQogewpAQCAtMjA3LDYgKzI0Nyw5MCBAQCBib29sIFJl
bmRlclRoZW1lUXQ6OnN1cHBvcnRzQ29udHJvbFRpbnRzCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
K3ZvaWQgUmVuZGVyVGhlbWVRdDo6YWRkU3R5bGVUZXh0SWZOZWVkZWQoY29uc3QgUUNvbG9yKiBj
b2xvciwgY29uc3QgUUNvbG9yJiBkZWZhdWx0Q29sb3IsCisgICAgY29uc3QgY2hhciogcHJlZml4
LCBjb25zdCBjaGFyKiBzdWZmaXgsIFFCeXRlQXJyYXkmIGJ1ZmZlciwgYm9vbCBzY2FsZUFscGhh
KQoreworICAgIGlmICgqY29sb3IgPT0gZGVmYXVsdENvbG9yKQorICAgICAgICByZXR1cm47Cisg
ICAgUUxvY2FsZSBsb2NhbGUoUUxvY2FsZTo6YygpKTsKKyAgICBidWZmZXIuYXBwZW5kKHByZWZp
eCkuYXBwZW5kKGxvY2FsZS50b1N0cmluZyhjb2xvci0+cmVkKCkpKS5hcHBlbmQoJywnKQorICAg
ICAgICAuYXBwZW5kKGxvY2FsZS50b1N0cmluZyhjb2xvci0+Z3JlZW4oKSkpLmFwcGVuZCgnLCcp
CisgICAgICAgIC5hcHBlbmQobG9jYWxlLnRvU3RyaW5nKGNvbG9yLT5ibHVlKCkpKS5hcHBlbmQo
JywnKQorICAgICAgICAuYXBwZW5kKHNjYWxlQWxwaGEgPyBsb2NhbGUudG9TdHJpbmcoc3RhdGlj
X2Nhc3Q8ZmxvYXQ+KGNvbG9yLT5hbHBoYSgpKSAvIDI1NSwgJ2YnLCA0KSA6IGxvY2FsZS50b1N0
cmluZyhjb2xvci0+YWxwaGEoKSkpCisgICAgICAgIC5hcHBlbmQoc3VmZml4KTsKK30KKworLy8g
VGhpcyBmdW5jdGlvbiB3YXMgZGVzaWduZWQgZm9yIHRoZSBzcGVjaWZpYyBwdXJwb3NlIG9mIHBy
b2Nlc3Npbmcgc3R5bGVzIAorLy8gZm9yIHZhcmlvdXMgd2lkZ2V0IHR5cGVzIGR1cmluZyB0aGUg
Y2FsbCB0byBSZW5kZXJUaGVtZVF0OjpleHRyYURlZmF1bHRTdHlsZVNoZWV0KCkKKy8vIEl0IGRl
bGV0ZXMgdGhlIHdpZGdldCBwYXNzZWQgaW4uCitzdGF0aWMgdm9pZCBhZGRTdHlsZVRleHRGb3JX
aWRnZXQoUVdpZGdldCogd2lkZ2V0LCBRQ29sb3ImIGRlZmF1bHRDb2xvciwgY29uc3QgY2hhciog
cHJlZml4LCBjb25zdCBjaGFyKiBkaXNhYmxlZFByZWZpeCwgUUJ5dGVBcnJheSYgYnVmZmVyKQor
eworICAgIHdpZGdldC0+c2V0QXR0cmlidXRlKFF0OjpXQV9Eb250U2hvd09uU2NyZWVuKTsKKyAg
ICB3aWRnZXQtPnNob3coKTsKKyAgICBRUGFsZXR0ZSBwYWxldHRlID0gd2lkZ2V0LT5wYWxldHRl
KCk7CisgICAgUVBhbGV0dGU6OkNvbG9yUm9sZSBjb2xvclJvbGUgPSB3aWRnZXQtPmJhY2tncm91
bmRSb2xlKCk7CisgICAgd2lkZ2V0LT5oaWRlKCk7CisgICAgZGVsZXRlIHdpZGdldDsKKyAgICBS
ZW5kZXJUaGVtZVF0OjphZGRTdHlsZVRleHRJZk5lZWRlZCgmcGFsZXR0ZS5jb2xvcihRUGFsZXR0
ZTo6Tm9ybWFsLCBjb2xvclJvbGUpLCBkZWZhdWx0Q29sb3IsIHByZWZpeCwgICIpO31cclxuIiwg
YnVmZmVyLCB0cnVlKTsKKyAgICBSZW5kZXJUaGVtZVF0OjphZGRTdHlsZVRleHRJZk5lZWRlZCgm
cGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6RGlzYWJsZWQsIGNvbG9yUm9sZSksIGRlZmF1bHRDb2xv
ciwgZGlzYWJsZWRQcmVmaXgsICIpO31cclxuIiwgYnVmZmVyLCB0cnVlKTsKK30KKworLy8gVGhl
c2Ugc3RyaW5ncyBuZWVkIHRvIGJlIGtlcHQgaW4gc3luayB3aXRoIGh0bWwuY3NzCitzdGF0aWMg
Y29uc3QgY2hhciBxTGluZUVkaXRTdHlsZVByZWZpeFtdID0gImlucHV0Om5vdChbdHlwZV0pLCBp
bnB1dFt0eXBlPVwidGV4dFwiXSwgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLCBpbnB1dFt0eXBl
PVwic2VhcmNoXCJdLCBpbnB1dFt0eXBlPVwiZmlsZVwiXSwgdGV4dGFyZWEgeyBiYWNrZ3JvdW5k
LWNvbG9yOiByZ2JhKCI7CitzdGF0aWMgY29uc3QgY2hhciBxTGluZUVkaXREaXNhYmxlZFN0eWxl
UHJlZml4W10gPSAiaW5wdXQ6bm90KFt0eXBlXSk6ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJ0ZXh0
XCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06ZGlzYWJsZWQsIGlucHV0W3R5
cGU9XCJzZWFyY2hcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJmaWxlXCJdOmRpc2FibGVkLCB0
ZXh0YXJlYTpkaXNhYmxlZCB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoIjsKK3N0YXRpYyBjb25z
dCBjaGFyIHFDaGVja0JveFN0eWxlUHJlZml4W10gPSAiaW5wdXRbdHlwZT1cImNoZWNrYm94XCJd
IHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgiOworc3RhdGljIGNvbnN0IGNoYXIgcUNoZWNrQm94
RGlzYWJsZWRTdHlsZVByZWZpeFtdID0gImlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxl
ZCB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoIjsKK3N0YXRpYyBjb25zdCBjaGFyIHFSYWRpb0J1
dHRvblN0eWxlUHJlZml4W10gPSAiaW5wdXRbdHlwZT1cInJhZGlvXCJdIHsgYmFja2dyb3VuZC1j
b2xvcjogcmdiYSgiOworc3RhdGljIGNvbnN0IGNoYXIgcVJhZGlvQnV0dG9uRGlzYWJsZWRTdHls
ZVByZWZpeFtdID0gImlucHV0W3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZCB7IGJhY2tncm91bmQt
Y29sb3I6IHJnYmEoIjsKK3N0YXRpYyBjb25zdCBjaGFyIHFMaXN0Qm94U3R5bGVQcmVmaXhbXSA9
ICJzZWxlY3Rbc2l6ZV0sIHNlbGVjdFttdWx0aXBsZV0sIHNlbGVjdFtzaXplXVttdWx0aXBsZV0s
IHNlbGVjdFtzaXplXSBvcHRpb24sIHNlbGVjdFttdWx0aXBsZV0gb3B0aW9uLCBzZWxlY3Rbc2l6
ZV1bbXVsdGlwbGVdIG9wdGlvbiAgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCI7CitzdGF0aWMg
Y29uc3QgY2hhciBxTGlzdEJveERpc2FibGVkU3R5bGVQcmVmaXhbXSA9ICJzZWxlY3Rbc2l6ZV06
ZGlzYWJsZWQsIHNlbGVjdFttdWx0aXBsZV06ZGlzYWJsZWQsIHNlbGVjdFtzaXplXVttdWx0aXBs
ZV06ZGlzYWJsZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCI7CitzdGF0aWMgY29uc3QgY2hh
ciBxQ29tYm9Cb3hTdHlsZVByZWZpeFtdID0gInNlbGVjdCwga2V5Z2VuLCBzZWxlY3Rbc2l6ZT1c
IjBcIl0sIHNlbGVjdFtzaXplPVwiMVwiXSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoIjsKK3N0
YXRpYyBjb25zdCBjaGFyIHFDb21ib0JveERpc2FibGVkU3R5bGVQcmVmaXhbXSA9ICJzZWxlY3Q6
ZGlzYWJsZWQsIGtleWdlbjpkaXNhYmxlZCwgc2VsZWN0W3NpemU9XCIwXCJdOmRpc2FibGVkLCBz
ZWxlY3Rbc2l6ZT1cIjFcIl06ZGlzYWJsZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCI7CisK
K1N0cmluZyBSZW5kZXJUaGVtZVF0OjpleHRyYURlZmF1bHRTdHlsZVNoZWV0KCkKK3sKKyAgICBR
Qnl0ZUFycmF5IGJ1ZmZlciA9ICJpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHstd2Via2l0LWFwcGVh
cmFuY2U6IHRleHRmaWVsZH1cclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyB7b3V0bGlu
ZS1vZmZzZXQ6IC0ycHh9XHJcbiI7CisgICAgUUNvbG9yIGluaXRpYWw7CisgICAgUUNvbG9yIHdo
aXRlKFF0Ojp3aGl0ZSk7CisgICAgLy8gdGhlIG5ldyBRTGluZUVkaXQgc2hhbGwgYmUgZGVsZXRl
ZCBieSBhZGRTdHlsZVRleHRGb3JXaWRnZXQKKyAgICBhZGRTdHlsZVRleHRGb3JXaWRnZXQobmV3
IFFMaW5lRWRpdChwYWdlT3duZXJXaWRnZXQoKSksIHdoaXRlLCAgcUxpbmVFZGl0U3R5bGVQcmVm
aXgsIHFMaW5lRWRpdERpc2FibGVkU3R5bGVQcmVmaXgsIGJ1ZmZlcik7CisgICAgLy8gdGhlIG5l
dyBRQ2hlY2tCb3ggc2hhbGwgYmUgZGVsZXRlZCBieSBhZGRTdHlsZVRleHRGb3JXaWRnZXQKKyAg
ICBhZGRTdHlsZVRleHRGb3JXaWRnZXQobmV3IFFDaGVja0JveChwYWdlT3duZXJXaWRnZXQoKSks
IGluaXRpYWwsCisgICAgICAgIHFDaGVja0JveFN0eWxlUHJlZml4LCBxQ2hlY2tCb3hEaXNhYmxl
ZFN0eWxlUHJlZml4LCBidWZmZXIpOworICAgIC8vIHRoZSBuZXcgUVJhZGlvQnV0dG9uIHNoYWxs
IGJlIGRlbGV0ZWQgYnkgYWRkU3R5bGVUZXh0Rm9yV2lkZ2V0CisgICAgYWRkU3R5bGVUZXh0Rm9y
V2lkZ2V0KG5ldyBRUmFkaW9CdXR0b24ocGFnZU93bmVyV2lkZ2V0KCkpLCBpbml0aWFsLAorICAg
ICAgICBxUmFkaW9CdXR0b25TdHlsZVByZWZpeCwgcVJhZGlvQnV0dG9uRGlzYWJsZWRTdHlsZVBy
ZWZpeCwgYnVmZmVyKTsKKyAgICAvLyB0aGUgbmV3IFFDb21ib0JveCBzaGFsbCBiZSBkZWxldGVk
IGJ5IGFkZFN0eWxlVGV4dEZvcldpZGdldAorICAgIGFkZFN0eWxlVGV4dEZvcldpZGdldChuZXcg
UUNvbWJvQm94KHBhZ2VPd25lcldpZGdldCgpKSwgd2hpdGUsCisgICAgICAgIHFDb21ib0JveFN0
eWxlUHJlZml4LCBxQ29tYm9Cb3hEaXNhYmxlZFN0eWxlUHJlZml4LCBidWZmZXIpOworICAgIC8v
IHRoZSBuZXcgUUxpc3RXaWRnZXQgc2hhbGwgYmUgZGVsZXRlZCBieSBhZGRTdHlsZVRleHRGb3JX
aWRnZXQKKyAgICBhZGRTdHlsZVRleHRGb3JXaWRnZXQobmV3IFFMaXN0V2lkZ2V0KHBhZ2VPd25l
cldpZGdldCgpKSwgaW5pdGlhbCwKKyAgICAgICAgcUxpc3RCb3hTdHlsZVByZWZpeCwgcUxpc3RC
b3hEaXNhYmxlZFN0eWxlUHJlZml4LCBidWZmZXIpOworICAgIHJldHVybiBTdHJpbmcoYnVmZmVy
LmNvbnN0RGF0YSgpKTsKK30KKworYm9vbCBSZW5kZXJUaGVtZVF0Ojppc0NvbnRyb2xTdHlsZWQo
Y29uc3QgUmVuZGVyU3R5bGUqIHN0eWxlLCBjb25zdCBCb3JkZXJEYXRhJiBib3JkZXIsIGNvbnN0
IEZpbGxMYXllciYgYmFja2dyb3VuZCwgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xvcikgY29u
c3QKK3sKKyAgICBzd2l0Y2ggKHN0eWxlLT5hcHBlYXJhbmNlKCkpIHsKKyAgICAgICAgY2FzZSBQ
dXNoQnV0dG9uUGFydDoKKyAgICAgICAgY2FzZSBTcXVhcmVCdXR0b25QYXJ0OgorICAgICAgICBj
YXNlIERlZmF1bHRCdXR0b25QYXJ0OgorICAgICAgICBjYXNlIEJ1dHRvblBhcnQ6CisgICAgICAg
IGNhc2UgTGlzdGJveFBhcnQ6CisgICAgICAgIGNhc2UgTWVudWxpc3RQYXJ0OgorICAgICAgICAv
LyBGSVhNRTogVW5jb21tZW50IHRoaXMgd2hlbiBtYWtpbmcgc2VhcmNoIGZpZWxkcyBzdHlsZS1h
YmxlLgorICAgICAgICAvLyBjYXNlIFNlYXJjaEZpZWxkUGFydDoKKyAgICAgICAgY2FzZSBUZXh0
RmllbGRQYXJ0OgorICAgICAgICBjYXNlIFRleHRBcmVhUGFydDoKKyAgICAgICAgICAgIC8vIFRl
c3QgdGhlIHN0eWxlIHRvIHNlZSBpZiB0aGUgVUEgYm9yZGVyIGFuZCBiYWNrZ3JvdW5kIG1hdGNo
LgorICAgICAgICAgICAgcmV0dXJuIChzdHlsZS0+Ym9yZGVyKCkgIT0gYm9yZGVyIHx8CisgICAg
ICAgICAgICAgICAgICAgICpzdHlsZS0+YmFja2dyb3VuZExheWVycygpICE9IGJhY2tncm91bmQg
fHwKKyAgICAgICAgICAgICAgICAgICAgc3R5bGUtPmJhY2tncm91bmRDb2xvcigpICE9IGJhY2tn
cm91bmRDb2xvcik7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgfQorfTsKKwogc3RhdGljIGludCBmaW5kRnJhbWVMaW5lV2lkdGgoUVN0eWxlKiBzdHls
ZSkKIHsKICAgICBRTGluZUVkaXQgbGluZUVkaXQ7CkBAIC0yODEsNiArNDA1LDE0MCBAQCB2b2lk
IFJlbmRlclRoZW1lUXQ6OnN5c3RlbUZvbnQoaW50LCBGb250CiAgICAgLy8gbm8tb3AKIH0KIAor
CitlbnVtIHsKKyAgICBOb3JtYWxJbmRleCA9IDAsCisgICAgRGlzYWJsZWRJbmRleCwKKyAgICBD
b250cm9sU3RhdGVDb3VudAorfSBDb250cm9sU3RhdGU7CisKKy8qIFRoZSBmb2xsb3dpbmcgdmFy
aWFibGVzIHN0b3JlIHRoZSBkZWZhdWx0IGNvbG9ycyBmb3IgdmFyaW91cyB3aWRnZXRzCisgICAg
KiBFYWNoIG9mIHRoZSB2YXJpYWJsZXMgaXMgYW4gYXJyYXkgd2l0aCBDb250cm9sU3RhdGVDb3Vu
dCBlbGVtZW50cyAuCisgICAgKiBFYWNoIG9mIHRoZSBlbGVtZW50cyBpbiB0aGUgYXJyYXkgY29u
dGFpbnMgdGhlIGNvbG9yIGZvciB0aGUgCisgICAgKiBjb3JyZXNwb25kaW5nIHN0YXRlIG9mIHRo
ZSBjb250cm9sIGFzIGluZGljYXRlZCBieSB0aGUgQ29udHJvbFN0YXRlCisgICAgKiBlbnVtZXJh
dGlvbi4KKyAgICAqLworc3RhdGljIFFDb2xvciBkZWZhdWx0UVB1c2hCdXR0b25CYWNrZ3JvdW5k
Q29sb3JbQ29udHJvbFN0YXRlQ291bnRdOworc3RhdGljIFFDb2xvciBkZWZhdWx0UVB1c2hCdXR0
b25UZXh0Q29sb3JbQ29udHJvbFN0YXRlQ291bnRdOworc3RhdGljIFFDb2xvciBkZWZhdWx0UU1l
bnVCYWNrZ3JvdW5kQ29sb3JbQ29udHJvbFN0YXRlQ291bnRdOworc3RhdGljIFFDb2xvciBkZWZh
dWx0UU1lbnVUZXh0Q29sb3JbQ29udHJvbFN0YXRlQ291bnRdOworc3RhdGljIFFDb2xvciBkZWZh
dWx0UVNjcm9sbGJhckJhY2tncm91bmRDb2xvcltDb250cm9sU3RhdGVDb3VudF07CisKKy8vIFRo
aXMgZnVuY3Rpb24gaXMgZGVzaWduZWQgc3BlY2lmaWNhbGx5IHRvIHJlZHVjZSBjb2RlIHNpemUg
aW4gUmVuZGVyVGhlbWVRdDo6c3lzdGVtQ29sb3IsIHRoZXJlZm9yZSBpdCBkb2VzIG5vdCBoYXZl
IGEgbmljZSBpbnRlcmZhY2UKKy8vIEl0IGRlbGV0ZXMgdGhlIHdpZGdldCBwYXNzZWQgaW4uCitz
dGF0aWMgdm9pZCBzZXRXaWRnZXRDb2xvcnMoUVdpZGdldCogd2lkZ2V0LCBRQ29sb3IqIGJhY2tn
cm91bmRDb2xvcnMsIFFQYWxldHRlOjpDb2xvclJvbGUgYmFja2dyb3VuZFJvbGUsIFFDb2xvciog
Zm9yZWdyb3VuZENvbG9ycywgUVBhbGV0dGU6OkNvbG9yUm9sZSBmb3JlZ3JvdW5kUm9sZSkKK3sK
KyAgICB3aWRnZXQtPnNldEF0dHJpYnV0ZShRdDo6V0FfRG9udFNob3dPblNjcmVlbik7CisgICAg
d2lkZ2V0LT5zaG93KCk7CisgICAgUVBhbGV0dGUgcGFsZXR0ZSh3aWRnZXQtPnBhbGV0dGUoKSk7
CisgICAgd2lkZ2V0LT5oaWRlKCk7CisgICAgZGVsZXRlIHdpZGdldDsKKyAgICBiYWNrZ3JvdW5k
Q29sb3JzW0Rpc2FibGVkSW5kZXhdID0gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6RGlzYWJsZWQs
IGJhY2tncm91bmRSb2xlKTsKKyAgICBiYWNrZ3JvdW5kQ29sb3JzW05vcm1hbEluZGV4XSA9IHBh
bGV0dGUuY29sb3IoUVBhbGV0dGU6Ok5vcm1hbCwgYmFja2dyb3VuZFJvbGUpOworICAgIGlmIChm
b3JlZ3JvdW5kQ29sb3JzKSB7CisgICAgICAgIGZvcmVncm91bmRDb2xvcnNbRGlzYWJsZWRJbmRl
eF0gPSBwYWxldHRlLmNvbG9yKFFQYWxldHRlOjpEaXNhYmxlZCwgZm9yZWdyb3VuZFJvbGUpOwor
ICAgICAgICBmb3JlZ3JvdW5kQ29sb3JzW05vcm1hbEluZGV4XSA9IHBhbGV0dGUuY29sb3IoUVBh
bGV0dGU6Ok5vcm1hbCwgZm9yZWdyb3VuZFJvbGUpOworICAgIH0KK30KKworLy8gVGhpcyBmdW5j
dGlvbiBpcyBjb3BpZWQgZnJvbSBSZW5kZXJUaGVtZS5jcHAuYW5kIHVwZGF0ZWQgdG8gcmV0dXJu
IHZhbHVlcyB0aGF0CisvLyBtYXRjaCB0aGUgdGhlIFF0IHN0eWxlICsgUVN0eWxlU2hlZXRzLiBU
aGUgaGFyZGNvZGVkIGNvbnN0YW50cyBmb3VuZCBpbiB0aGUgCisvLyBnZW5lcmljIGltcGxlbWVu
dGF0aW9uIGhhdmUgYmVlbiBrZXB0IHdoZXJlIG5vIFFTdHlsZSBvciBRUGFsZXR0ZSBlcXVpdmFs
ZW50CisvLyBjb2xvciByb2xlIGhhcyBiZWVuIGZvdW5kLgorQ29sb3IgUmVuZGVyVGhlbWVRdDo6
c3lzdGVtQ29sb3IoaW50IGNzc1ZhbHVlSWQpIGNvbnN0Cit7CisgICAgUVdpZGdldCAqb3duZXJX
aWRnZXQgPSBwYWdlT3duZXJXaWRnZXQoKTsKKyAgICBRUGFsZXR0ZSBwYWxldHRlKG93bmVyV2lk
Z2V0ID8gb3duZXJXaWRnZXQtPnBhbGV0dGUoKSA6IFFBcHBsaWNhdGlvbjo6cGFsZXR0ZSgpKTsK
KyAgICBzd2l0Y2ggKGNzc1ZhbHVlSWQpIHsKKyAgICBjYXNlIENTU1ZhbHVlQWN0aXZlYm9yZGVy
OgorICAgICAgICByZXR1cm4gMHhGRkZGRkZGRjsKKyAgICBjYXNlIENTU1ZhbHVlQWN0aXZlY2Fw
dGlvbjoKKyAgICAgICAgcmV0dXJuIDB4RkZDQ0NDQ0M7CisgICAgY2FzZSBDU1NWYWx1ZUFwcHdv
cmtzcGFjZToKKyAgICAgICAgcmV0dXJuIDB4RkZGRkZGRkY7CisgICAgY2FzZSBDU1NWYWx1ZUJh
Y2tncm91bmQ6CisgICAgICAgIHJldHVybiAweEZGNjM2M0NFOworICAgIGNhc2UgQ1NTVmFsdWVC
dXR0b25mYWNlOgorICAgICAgICAvLyB1c2UgdGhlIGNhY2hlZCB2YWx1ZSBpZiB3ZSBoYXZlIG9u
ZQorICAgICAgICBpZiAoIWRlZmF1bHRRUHVzaEJ1dHRvbkJhY2tncm91bmRDb2xvcltOb3JtYWxJ
bmRleF0uaXNWYWxpZCgpKSB7CisgICAgICAgICAgICAvL3RoZSBuZXcgUVB1c2hCdXR0b24gaXMg
ZGVsZXRlZCBpbiBzZXRXaWRnZXRDb2xvcnMoKQorICAgICAgICAgICAgc2V0V2lkZ2V0Q29sb3Jz
KCBuZXcgUVB1c2hCdXR0b24ocGFnZU93bmVyV2lkZ2V0KCkpLCBkZWZhdWx0UVB1c2hCdXR0b25C
YWNrZ3JvdW5kQ29sb3IsIFFQYWxldHRlOjpCdXR0b24sIGRlZmF1bHRRUHVzaEJ1dHRvblRleHRD
b2xvciwgUVBhbGV0dGU6OlRleHQpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBkZWZhdWx0
UVB1c2hCdXR0b25CYWNrZ3JvdW5kQ29sb3JbTm9ybWFsSW5kZXhdOworICAgIGNhc2UgQ1NTVmFs
dWVCdXR0b25oaWdobGlnaHQ6CisgICAgICAgIHJldHVybiBwYWxldHRlLmNvbG9yKFFQYWxldHRl
OjpMaWdodCk7CisgICAgY2FzZSBDU1NWYWx1ZUJ1dHRvbnNoYWRvdzoKKyAgICAgICAgcmV0dXJu
IHBhbGV0dGUuY29sb3IoUVBhbGV0dGU6OlNoYWRvdyk7CisgICAgY2FzZSBDU1NWYWx1ZUJ1dHRv
bnRleHQ6CisgICAgICAgIC8vIHVzZSB0aGUgY2FjaGVkIHZhbHVlIGlmIHdlIGhhdmUgb25lCisg
ICAgICAgIGlmICghZGVmYXVsdFFQdXNoQnV0dG9uVGV4dENvbG9yW05vcm1hbEluZGV4XS5pc1Zh
bGlkKCkpIHsKKyAgICAgICAgICAgIC8vdGhlIG5ldyBRUHVzaEJ1dHRvbiBpcyBkZWxldGVkIGlu
IHNldFdpZGdldENvbG9ycygpCisgICAgICAgICAgICBzZXRXaWRnZXRDb2xvcnMoIG5ldyBRUHVz
aEJ1dHRvbihwYWdlT3duZXJXaWRnZXQoKSksIGRlZmF1bHRRUHVzaEJ1dHRvbkJhY2tncm91bmRD
b2xvciwgUVBhbGV0dGU6OkJ1dHRvbiwgZGVmYXVsdFFQdXNoQnV0dG9uVGV4dENvbG9yLCBRUGFs
ZXR0ZTo6VGV4dCk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGRlZmF1bHRRUHVzaEJ1dHRv
blRleHRDb2xvcltOb3JtYWxJbmRleF07CisgICAgY2FzZSBDU1NWYWx1ZUNhcHRpb250ZXh0Ogor
ICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6V2luZG93VGV4dCk7CisgICAg
Y2FzZSBDU1NWYWx1ZUdyYXl0ZXh0OgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFs
ZXR0ZTo6RGlzYWJsZWQsIFFQYWxldHRlOjpUZXh0KTsKKyAgICBjYXNlIENTU1ZhbHVlSGlnaGxp
Z2h0OgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6SGlnaGxpZ2h0KTsK
KyAgICBjYXNlIENTU1ZhbHVlSGlnaGxpZ2h0dGV4dDoKKyAgICAgICAgcmV0dXJuIHBhbGV0dGUu
Y29sb3IoUVBhbGV0dGU6OkhpZ2hsaWdodGVkVGV4dCk7CisgICAgY2FzZSBDU1NWYWx1ZUluYWN0
aXZlYm9yZGVyOgorICAgICAgICByZXR1cm4gMHhGRkZGRkZGRjsKKyAgICBjYXNlIENTU1ZhbHVl
SW5hY3RpdmVjYXB0aW9uOgorICAgICAgICByZXR1cm4gMHhGRkZGRkZGRjsKKyAgICBjYXNlIENT
U1ZhbHVlSW5hY3RpdmVjYXB0aW9udGV4dDoKKyAgICAgICAgcmV0dXJuIDB4RkY3RjdGN0Y7Cisg
ICAgY2FzZSBDU1NWYWx1ZUluZm9iYWNrZ3JvdW5kOgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5j
b2xvcihRUGFsZXR0ZTo6SW5hY3RpdmUsIFFQYWxldHRlOjpUb29sVGlwQmFzZSk7CisgICAgY2Fz
ZSBDU1NWYWx1ZUluZm90ZXh0OgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0
ZTo6SW5hY3RpdmUsIFFQYWxldHRlOjpUb29sVGlwVGV4dCk7CisgICAgY2FzZSBDU1NWYWx1ZU1l
bnU6CisgICAgICAgIC8vIHVzZSB0aGUgY2FjaGVkIHZhbHVlIGlmIHdlIGhhdmUgb25lCisgICAg
ICAgIGlmICghZGVmYXVsdFFNZW51QmFja2dyb3VuZENvbG9yW05vcm1hbEluZGV4XS5pc1ZhbGlk
KCkpIHsKKyAgICAgICAgICAgIC8vdGhlIG5ldyBRTWVudSBpcyBkZWxldGVkIGluIHNldFdpZGdl
dENvbG9ycygpCisgICAgICAgICAgICBzZXRXaWRnZXRDb2xvcnMoIG5ldyBRTWVudShwYWdlT3du
ZXJXaWRnZXQoKSksIGRlZmF1bHRRTWVudUJhY2tncm91bmRDb2xvciwgUVBhbGV0dGU6OkJhc2Us
IGRlZmF1bHRRTWVudVRleHRDb2xvciwgUVBhbGV0dGU6OlRleHQpOworICAgICAgICB9CisgICAg
ICAgIHJldHVybiBkZWZhdWx0UU1lbnVCYWNrZ3JvdW5kQ29sb3JbTm9ybWFsSW5kZXhdOworICAg
IGNhc2UgQ1NTVmFsdWVNZW51dGV4dDoKKyAgICAgICAgLy8gdXNlIHRoZSBjYWNoZWQgdmFsdWUg
aWYgd2UgaGF2ZSBvbmUKKyAgICAgICAgaWYgKCFkZWZhdWx0UU1lbnVUZXh0Q29sb3JbTm9ybWFs
SW5kZXhdLmlzVmFsaWQoKSkgeworICAgICAgICAgICAgLy90aGUgbmV3IFFNZW51IGlzIGRlbGV0
ZWQgaW4gc2V0V2lkZ2V0Q29sb3JzKCkKKyAgICAgICAgICAgIHNldFdpZGdldENvbG9ycyggbmV3
IFFNZW51KHBhZ2VPd25lcldpZGdldCgpKSwgZGVmYXVsdFFNZW51QmFja2dyb3VuZENvbG9yLCBR
UGFsZXR0ZTo6QmFzZSwgZGVmYXVsdFFNZW51VGV4dENvbG9yLCBRUGFsZXR0ZTo6VGV4dCk7Cisg
ICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGRlZmF1bHRRTWVudUJhY2tncm91bmRDb2xvcltOb3Jt
YWxJbmRleF07CisgICAgY2FzZSBDU1NWYWx1ZVNjcm9sbGJhcjoKKyAgICAgICAgLy8gdXNlIHRo
ZSBjYWNoZWQgdmFsdWUgaWYgd2UgaGF2ZSBvbmUKKyAgICAgICAgaWYgKCFkZWZhdWx0UVNjcm9s
bGJhckJhY2tncm91bmRDb2xvcltOb3JtYWxJbmRleF0uaXNWYWxpZCgpKSB7CisgICAgICAgICAg
ICAvL3RoZSBuZXcgUVNjcm9sbEJhciBpcyBkZWxldGVkIGluIHNldFdpZGdldENvbG9ycygpCisg
ICAgICAgICAgICBzZXRXaWRnZXRDb2xvcnMoIG5ldyBRU2Nyb2xsQmFyKHBhZ2VPd25lcldpZGdl
dCgpKSwgZGVmYXVsdFFTY3JvbGxiYXJCYWNrZ3JvdW5kQ29sb3IsIFFQYWxldHRlOjpCYXNlLCAw
LCBRUGFsZXR0ZTo6Tm9Sb2xlKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gZGVmYXVsdFFT
Y3JvbGxiYXJCYWNrZ3JvdW5kQ29sb3JbTm9ybWFsSW5kZXhdOworICAgIGNhc2UgQ1NTVmFsdWVU
ZXh0OgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6VGV4dCk7CisgICAg
Y2FzZSBDU1NWYWx1ZVRocmVlZGRhcmtzaGFkb3c6CisgICAgICAgIHJldHVybiBwYWxldHRlLmNv
bG9yKFFQYWxldHRlOjpEYXJrKTsKKyAgICBjYXNlIENTU1ZhbHVlVGhyZWVkZmFjZToKKyAgICAg
ICAgcmV0dXJuIHBhbGV0dGUuY29sb3IoUVBhbGV0dGU6OkJ1dHRvbik7CisgICAgY2FzZSBDU1NW
YWx1ZVRocmVlZGhpZ2hsaWdodDoKKyAgICAgICAgcmV0dXJuIHBhbGV0dGUuY29sb3IoUVBhbGV0
dGU6OkxpZ2h0KTsKKyAgICBjYXNlIENTU1ZhbHVlVGhyZWVkbGlnaHRzaGFkb3c6CisgICAgICAg
IHJldHVybiBwYWxldHRlLmNvbG9yKFFQYWxldHRlOjpNaWRsaWdodCk7CisgICAgY2FzZSBDU1NW
YWx1ZVRocmVlZHNoYWRvdzoKKyAgICAgICAgcmV0dXJuIHBhbGV0dGUuY29sb3IoUVBhbGV0dGU6
Ok1pZCk7CisgICAgY2FzZSBDU1NWYWx1ZVdpbmRvdzoKKyAgICAgICAgcmV0dXJuIHBhbGV0dGUu
Y29sb3IoUVBhbGV0dGU6OldpbmRvdyk7CisgICAgY2FzZSBDU1NWYWx1ZVdpbmRvd2ZyYW1lOgor
ICAgICAgICByZXR1cm4gMHhGRkNDQ0NDQzsKKyAgICBjYXNlIENTU1ZhbHVlV2luZG93dGV4dDoK
KyAgICAgICAgcmV0dXJuIHBhbGV0dGUuY29sb3IoUVBhbGV0dGU6OldpbmRvd1RleHQpOworICAg
IGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KKyAgICByZXR1
cm4gQ29sb3IoKTsKK30KKwogaW50IFJlbmRlclRoZW1lUXQ6Om1pbmltdW1NZW51TGlzdFNpemUo
UmVuZGVyU3R5bGUqKSBjb25zdAogewogICAgIGNvbnN0IFFGb250TWV0cmljcyAmZm0gPSBRQXBw
bGljYXRpb246OmZvbnRNZXRyaWNzKCk7CkBAIC00NzYsNyArNzM0LDcgQEAgYm9vbCBSZW5kZXJU
aGVtZVF0OjpwYWludEJ1dHRvbihSZW5kZXJPYgogICAgIG9wdGlvbi5yZWN0ID0gcjsKICAgICBv
cHRpb24uc3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9TbWFsbDsKIAotICAgIENvbnRyb2xQYXJ0IGFw
cGVhcmFuY2UgPSBhcHBseVRoZW1lKG9wdGlvbiwgbyk7CisgICAgQ29udHJvbFBhcnQgYXBwZWFy
YW5jZSA9IGFkanVzdENvbW1vblFTdHlsZU9wdGlvbnMob3B0aW9uLCBvKTsKICAgICBpZiAoYXBw
ZWFyYW5jZSA9PSBQdXNoQnV0dG9uUGFydCB8fCBhcHBlYXJhbmNlID09IEJ1dHRvblBhcnQpIHsK
ICAgICAgICAgb3B0aW9uLnJlY3QgPSBpbmZsYXRlQnV0dG9uUmVjdChvcHRpb24ucmVjdCwgcVN0
eWxlKCkpOwogICAgICAgICBwLmRyYXdDb250cm9sKFFTdHlsZTo6Q0VfUHVzaEJ1dHRvbiwgb3B0
aW9uKTsKQEAgLTQ5MCw3ICs3NDgsNiBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnBhaW50QnV0dG9u
KFJlbmRlck9iCiAKIHZvaWQgUmVuZGVyVGhlbWVRdDo6YWRqdXN0VGV4dEZpZWxkU3R5bGUoQ1NT
U3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiBzdHlsZSwgRWxlbWVudCopIGNvbnN0CiB7Ci0g
ICAgc3R5bGUtPnNldEJhY2tncm91bmRDb2xvcihDb2xvcjo6dHJhbnNwYXJlbnQpOwogICAgIHN0
eWxlLT5yZXNldEJvcmRlcigpOwogICAgIHN0eWxlLT5yZXNldFBhZGRpbmcoKTsKICAgICBjb21w
dXRlU2l6ZUJhc2VkT25TdHlsZShzdHlsZSk7CkBAIC01MTIsNyArNzY5LDcgQEAgYm9vbCBSZW5k
ZXJUaGVtZVF0OjpwYWludFRleHRGaWVsZChSZW5kZQogICAgIHBhbmVsLmZlYXR1cmVzID0gUVN0
eWxlT3B0aW9uRnJhbWVWMjo6Tm9uZTsKIAogICAgIC8vIEdldCB0aGUgY29ycmVjdCB0aGVtZSBk
YXRhIGZvciBhIHRleHQgZmllbGQKLSAgICBDb250cm9sUGFydCBhcHBlYXJhbmNlID0gYXBwbHlU
aGVtZShwYW5lbCwgbyk7CisgICAgQ29udHJvbFBhcnQgYXBwZWFyYW5jZSA9IGFkanVzdENvbW1v
blFTdHlsZU9wdGlvbnMocGFuZWwsIG8pOwogICAgIGlmIChhcHBlYXJhbmNlICE9IFRleHRGaWVs
ZFBhcnQKICAgICAgICAgJiYgYXBwZWFyYW5jZSAhPSBTZWFyY2hGaWVsZFBhcnQKICAgICAgICAg
JiYgYXBwZWFyYW5jZSAhPSBUZXh0QXJlYVBhcnQKQEAgLTU3NCw3ICs4MzEsNyBAQCBib29sIFJl
bmRlclRoZW1lUXQ6OnBhaW50TWVudUxpc3QoUmVuZGVyCiAgICAgUVN0eWxlT3B0aW9uQ29tYm9C
b3ggb3B0OwogICAgIGlmIChwLndpZGdldCkKICAgICAgICAgb3B0LmluaXRGcm9tKHAud2lkZ2V0
KTsKLSAgICBhcHBseVRoZW1lKG9wdCwgbyk7CisgICAgYWRqdXN0Q29tbW9uUVN0eWxlT3B0aW9u
cyhvcHQsIG8pOwogCiAgICAgY29uc3QgUVBvaW50IHRvcExlZnQgPSByLnRvcExlZnQoKTsKICAg
ICBwLnBhaW50ZXItPnRyYW5zbGF0ZSh0b3BMZWZ0KTsKQEAgLTYxNCw3ICs4NzEsNyBAQCBib29s
IFJlbmRlclRoZW1lUXQ6OnBhaW50TWVudUxpc3RCdXR0b24oCiAgICAgUVN0eWxlT3B0aW9uQ29t
Ym9Cb3ggb3B0aW9uOwogICAgIGlmIChwLndpZGdldCkKICAgICAgICAgb3B0aW9uLmluaXRGcm9t
KHAud2lkZ2V0KTsKLSAgICBhcHBseVRoZW1lKG9wdGlvbiwgbyk7CisgICAgYWRqdXN0Q29tbW9u
UVN0eWxlT3B0aW9ucyhvcHRpb24sIG8pOwogICAgIG9wdGlvbi5yZWN0ID0gcjsKIAogICAgIC8v
IGZvciBkcmF3aW5nIHRoZSBjb21ibyBib3ggYXJyb3csIHJlbHkgb25seSBvbiB0aGUgZmFsbGJh
Y2sgc3R5bGUKQEAgLTY0MiwxNSArODk5LDE1IEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRT
bGlkZXJUaHVtYihSZW4KIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRTZWFyY2hGaWVsZChSZW5k
ZXJPYmplY3QqIG8sIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBwaSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBJbnRSZWN0JiByKQogewotICAgIHBh
aW50VGV4dEZpZWxkKG8sIHBpLCByKTsKLSAgICByZXR1cm4gZmFsc2U7CisgICAgLy8gVGhpcyBj
YXVzZXMgd2Via2l0IHRvIGRyYXcgdGhlIGJhY2tncm91bmQgYW5kIHRoZSBib3JkZXIgaXRzZWxm
LCBqdXN0IGFzIGZvciB0aGUgZWRpdCBjb250cm9sLgorICAgIC8vIEl0IGlzIHRoZSBleHRyYVN0
eWxlU2hlZXQgZnVuY3Rpb24gdGhhdCBnaXZlcyB0aGUgc2VhcmNoIGNvbnRyb2wgdGhlIG5pY2Ug
cm91bmRlZCBsb29rLgorICAgIHJldHVybiB0cnVlOwogfQogCiB2b2lkIFJlbmRlclRoZW1lUXQ6
OmFkanVzdFNlYXJjaEZpZWxkU3R5bGUoQ1NTU3R5bGVTZWxlY3Rvciogc2VsZWN0b3IsIFJlbmRl
clN0eWxlKiBzdHlsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBFbGVtZW50KiBlKSBjb25zdAogewogICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgUmVuZGVy
VGhlbWU6OmFkanVzdFNlYXJjaEZpZWxkU3R5bGUoc2VsZWN0b3IsIHN0eWxlLCBlKTsKIH0KIAog
dm9pZCBSZW5kZXJUaGVtZVF0OjphZGp1c3RTZWFyY2hGaWVsZENhbmNlbEJ1dHRvblN0eWxlKENT
U1N0eWxlU2VsZWN0b3IqIHNlbGVjdG9yLCBSZW5kZXJTdHlsZSogc3R5bGUsCkBAIC03MTIsNyAr
OTY5LDcgQEAgYm9vbCBSZW5kZXJUaGVtZVF0OjpzdXBwb3J0c0ZvY3VzKENvbnRybwogICAgIH0K
IH0KIAotQ29udHJvbFBhcnQgUmVuZGVyVGhlbWVRdDo6YXBwbHlUaGVtZShRU3R5bGVPcHRpb24m
IG9wdGlvbiwgUmVuZGVyT2JqZWN0KiBvKSBjb25zdAorQ29udHJvbFBhcnQgUmVuZGVyVGhlbWVR
dDo6YWRqdXN0Q29tbW9uUVN0eWxlT3B0aW9ucyhRU3R5bGVPcHRpb24mIG9wdGlvbiwgUmVuZGVy
T2JqZWN0KiBvKSBjb25zdAogewogICAgIC8vIERlZmF1bHQgYml0czogbm8gZm9jdXMsIG5vIG1v
dXNlIG92ZXIKICAgICBvcHRpb24uc3RhdGUgJj0gfihRU3R5bGU6OlN0YXRlX0hhc0ZvY3VzIHwg
UVN0eWxlOjpTdGF0ZV9Nb3VzZU92ZXIpOwpAQCAtNzI0LDIwICs5ODEsMjYgQEAgQ29udHJvbFBh
cnQgUmVuZGVyVGhlbWVRdDo6YXBwbHlUaGVtZShRUwogICAgICAgICAvLyBSZWFkb25seSBpcyBz
dXBwb3J0ZWQgb24gdGV4dGZpZWxkcy4KICAgICAgICAgb3B0aW9uLnN0YXRlIHw9IFFTdHlsZTo6
U3RhdGVfUmVhZE9ubHk7CiAKLSAgICBpZiAoc3VwcG9ydHNGb2N1cyhvLT5zdHlsZSgpLT5hcHBl
YXJhbmNlKCkpICYmIGlzRm9jdXNlZChvKSkgewotICAgICAgICBvcHRpb24uc3RhdGUgfD0gUVN0
eWxlOjpTdGF0ZV9IYXNGb2N1czsKLSAgICAgICAgb3B0aW9uLnN0YXRlIHw9IFFTdHlsZTo6U3Rh
dGVfS2V5Ym9hcmRGb2N1c0NoYW5nZTsKLSAgICB9CisgICAgb3B0aW9uLmRpcmVjdGlvbiA9IFF0
OjpMZWZ0VG9SaWdodDsKIAogICAgIGlmIChpc0hvdmVyZWQobykpCiAgICAgICAgIG9wdGlvbi5z
dGF0ZSB8PSBRU3R5bGU6OlN0YXRlX01vdXNlT3ZlcjsKIAotICAgIG9wdGlvbi5kaXJlY3Rpb24g
PSBRdDo6TGVmdFRvUmlnaHQ7Ci0gICAgaWYgKG8tPnN0eWxlKCkgJiYgby0+c3R5bGUoKS0+ZGly
ZWN0aW9uKCkgPT0gV2ViQ29yZTo6UlRMKQotICAgICAgICBvcHRpb24uZGlyZWN0aW9uID0gUXQ6
OlJpZ2h0VG9MZWZ0OworICAgIGluaXRQYWxldHRlRnJvbVBhZ2VDbGllbnRJZkV4aXN0cyhvcHRp
b24ucGFsZXR0ZSwgbyk7CisgICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gby0+c3R5bGUoKTsKKyAg
ICBpZiAoIXN0eWxlKQorICAgICAgICByZXR1cm4gTm9Db250cm9sUGFydDsKKworICAgIENvbnRy
b2xQYXJ0IHJlc3VsdCA9IHN0eWxlLT5hcHBlYXJhbmNlKCk7CisgICAgaWYgKHN1cHBvcnRzRm9j
dXMocmVzdWx0KSAmJiBpc0ZvY3VzZWQobykpIHsKKyAgICAgICAgb3B0aW9uLnN0YXRlIHw9IFFT
dHlsZTo6U3RhdGVfSGFzRm9jdXM7CisgICAgICAgIG9wdGlvbi5zdGF0ZSB8PSBRU3R5bGU6OlN0
YXRlX0tleWJvYXJkRm9jdXNDaGFuZ2U7CisgICAgfQogCi0gICAgQ29udHJvbFBhcnQgcmVzdWx0
ID0gby0+c3R5bGUoKS0+YXBwZWFyYW5jZSgpOworICAgIGlmIChzdHlsZS0+ZGlyZWN0aW9uKCkg
PT0gV2ViQ29yZTo6UlRMKQorICAgICAgICBvcHRpb24uZGlyZWN0aW9uID0gUXQ6OlJpZ2h0VG9M
ZWZ0OwogCisgICAgUUNvbG9yIGJhY2tncm91bmRDb2xvciA9IHN0eWxlLT5iYWNrZ3JvdW5kQ29s
b3IoKTsKICAgICBzd2l0Y2ggKHJlc3VsdCkgewogICAgIGNhc2UgUHVzaEJ1dHRvblBhcnQ6CiAg
ICAgY2FzZSBTcXVhcmVCdXR0b25QYXJ0OgpAQCAtNzUxLDIwICsxMDE0LDMwIEBAIENvbnRyb2xQ
YXJ0IFJlbmRlclRoZW1lUXQ6OmFwcGx5VGhlbWUoUVMKICAgICAgICAgICAgIG9wdGlvbi5zdGF0
ZSB8PSBRU3R5bGU6OlN0YXRlX1N1bmtlbjsKICAgICAgICAgZWxzZSBpZiAocmVzdWx0ID09IFB1
c2hCdXR0b25QYXJ0KQogICAgICAgICAgICAgb3B0aW9uLnN0YXRlIHw9IFFTdHlsZTo6U3RhdGVf
UmFpc2VkOworICAgICAgICAgICAgb3B0aW9uLnBhbGV0dGUuc2V0Q29sb3IoUVBhbGV0dGU6OkJ1
dHRvbiwgYmFja2dyb3VuZENvbG9yKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIH0KLQot
ICAgIGlmIChyZXN1bHQgPT0gUmFkaW9QYXJ0IHx8IHJlc3VsdCA9PSBDaGVja2JveFBhcnQpCisg
ICAgY2FzZSBSYWRpb1BhcnQ6CisgICAgY2FzZSBDaGVja2JveFBhcnQ6CiAgICAgICAgIG9wdGlv
bi5zdGF0ZSB8PSAoaXNDaGVja2VkKG8pID8gUVN0eWxlOjpTdGF0ZV9PbiA6IFFTdHlsZTo6U3Rh
dGVfT2ZmKTsKLQotICAgIC8vIElmIHRoZSBvd25lciB3aWRnZXQgaGFzIGEgY3VzdG9tIHBhbGV0
dGUsIHVzZSBpdAotICAgIFBhZ2UqIHBhZ2UgPSBvLT5kb2N1bWVudCgpLT5wYWdlKCk7Ci0gICAg
aWYgKHBhZ2UpIHsKLSAgICAgICAgQ2hyb21lQ2xpZW50KiBjbGllbnQgPSBwYWdlLT5jaHJvbWUo
KS0+Y2xpZW50KCk7Ci0gICAgICAgIFFXZWJQYWdlQ2xpZW50KiBwYWdlQ2xpZW50ID0gY2xpZW50
LT5wbGF0Zm9ybVBhZ2VDbGllbnQoKTsKLSAgICAgICAgaWYgKHBhZ2VDbGllbnQpCi0gICAgICAg
ICAgICBvcHRpb24ucGFsZXR0ZSA9IHBhZ2VDbGllbnQtPnBhbGV0dGUoKTsKKyAgICBjYXNlIE1l
bnVsaXN0UGFydDoKKyAgICAgICAgLy8gV2UgYXJlIHNldHRpbmcgaGVyZSBhbGwgYmFja2dyb3Vu
ZCBjb2xvcnMgYmVjYXVzZToKKyAgICAgICAgLy8gMS4gSFRNTCBkb2VzIG5vdCBzdXBwb3J0IG11
bHRpcGxlIGJhY2tncm91bmQgY29sb3JzIGZvciB0aGVzZSBjb250cm9scworICAgICAgICAvLyAg
ICB0aHVzIGl0IG1ha2VzIHNlbnNlIHRvIHJlZHVjZSBhbGwgYmFja2dyb3VuZCBjb2xvcnMgdG8g
b25lLgorICAgICAgICAvLyAyLiBEaWZmZXJlbnQgc3R5bGVzIChzdWNoIGFzIG1vdGlmIGFuZCB3
aW5kb3dzKSB1c2UgZGlmZmVyZW50IHBhbGV0dGUKKyAgICAgICAgLy8gICAgaW5kZXhlcyB0byBy
ZW5kZXIgdGhlIGNvbnRyb2wncyBiYWNrZ3JvdW5kCisgICAgICAgIG9wdGlvbi5wYWxldHRlLnNl
dENvbG9yKFFQYWxldHRlOjpCdXR0b24sIGJhY2tncm91bmRDb2xvcik7CisgICAgICAgIG9wdGlv
bi5wYWxldHRlLnNldENvbG9yKFFQYWxldHRlOjpXaW5kb3csIGJhY2tncm91bmRDb2xvcik7Cisg
ICAgICAgIG9wdGlvbi5wYWxldHRlLnNldENvbG9yKFFQYWxldHRlOjpCYXNlLCBiYWNrZ3JvdW5k
Q29sb3IpOworICAgICAgICBvcHRpb24ucGFsZXR0ZS5zZXRDb2xvcihRUGFsZXR0ZTo6VGV4dCwg
c3R5bGUtPmNvbG9yKCkpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIExpc3Rib3hQYXJ0Ogor
ICAgICAgICBvcHRpb24ucGFsZXR0ZS5zZXRDb2xvcihRUGFsZXR0ZTo6VGV4dCwgc3R5bGUtPmNv
bG9yKCkpOworICAgIGNhc2UgU2VhcmNoRmllbGRQYXJ0OgorICAgIGNhc2UgVGV4dEZpZWxkUGFy
dDoKKyAgICBjYXNlIFRleHRBcmVhUGFydDoKKyAgICAgICAgb3B0aW9uLnBhbGV0dGUuc2V0Q29s
b3IoUVBhbGV0dGU6OkJhc2UsIGJhY2tncm91bmRDb2xvcik7CisgICAgICAgIGJyZWFrOwogICAg
IH0KIAogICAgIHJldHVybiByZXN1bHQ7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRl
clRoZW1lUXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1l
UXQuaAkocmV2aXNpb24gNTEzMTApCisrKyBXZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1l
UXQuaAkod29ya2luZyBjb3B5KQpAQCAtMjIsNiArMjIsNyBAQAogI2lmbmRlZiBSZW5kZXJUaGVt
ZVF0X0gKICNkZWZpbmUgUmVuZGVyVGhlbWVRdF9ICiAKKyNpbmNsdWRlICJRV2ViUGFnZUNsaWVu
dC5oIgogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAKICNpbmNsdWRlIDxRU3R5bGU+CkBAIC00
Myw2ICs0NCw3IEBAIHByaXZhdGU6CiAKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxS
ZW5kZXJUaGVtZT4gY3JlYXRlKFBhZ2UqKTsKKyAgICBzdGF0aWMgdm9pZCBhZGRTdHlsZVRleHRJ
Zk5lZWRlZChjb25zdCBRQ29sb3IqIGNvbG9yLCBjb25zdCBRQ29sb3ImIGRlZmF1bHRDb2xvciwg
Y29uc3QgY2hhciogcHJlZml4LCBjb25zdCBjaGFyKiBzdWZmaXgsIFFCeXRlQXJyYXkmIGJ1ZmZl
ciwgYm9vbCBzY2FsZUFscGhhKTsKIAogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0hvdmVyKGNv
bnN0IFJlbmRlclN0eWxlKikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzRm9jdXNS
aW5nKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSkgY29uc3Q7CkBAIC01NSw2ICs1NywxMyBAQCBw
dWJsaWM6CiAgICAgLy8gQSBnZW5lcmFsIG1ldGhvZCBhc2tpbmcgaWYgYW55IGNvbnRyb2wgdGlu
dGluZyBpcyBzdXBwb3J0ZWQgYXQgYWxsLgogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0NvbnRy
b2xUaW50cygpIGNvbnN0OwogCisgICAgLyogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoZSBjb250cm9s
IHNob3VsZCBiZSBwYWludGVkIGJ5IHRoZSB0aGVtZSBvciBub3QKKyAgICAgKiBJZiB0aGlzIGZ1
bmN0aW9uIHJldHVybnMgdHJ1ZSBXZWJLaXQgd2lsbCB0cnkgdG8gcGFpbnQgdGhlIGNvbnRyb2wg
CisgICAgICogaWYgaXQgY2FuLiBJbiBRdCB3ZSBhbHdheXMgcmV0dXJuIGZhbHNlIHRvIGluZGlj
YXRlIHRoYXQgUXQgdXMgCisgICAgICogY2FwYWJsZSBvZiBwYWludGluZyBzdHlsZWQgY29udHJv
bHMuCisgICAgICovCisgICAgdmlydHVhbCBib29sIGlzQ29udHJvbFN0eWxlZChjb25zdCBSZW5k
ZXJTdHlsZSosIGNvbnN0IEJvcmRlckRhdGEmLCBjb25zdCBGaWxsTGF5ZXImLCBjb25zdCBDb2xv
ciYgYmFja2dyb3VuZENvbG9yKSBjb25zdDsKKwogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RSZXBh
aW50UmVjdChjb25zdCBSZW5kZXJPYmplY3QqIG8sIEludFJlY3QmIHIpOwogCiAgICAgLy8gVGhl
IHBsYXRmb3JtIHNlbGVjdGlvbiBjb2xvci4KQEAgLTY0LDYgKzczLDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgQ29sb3IgcGxhdGZvcm1JbmFjdGl2ZVNlbGVjdGlvbkZvcmVncm91bmRDb2xvcigp
IGNvbnN0OwogCiAgICAgdmlydHVhbCB2b2lkIHN5c3RlbUZvbnQoaW50IHByb3BJZCwgRm9udERl
c2NyaXB0aW9uJikgY29uc3Q7CisgICAgdmlydHVhbCBDb2xvciBzeXN0ZW1Db2xvcihpbnQgY3Nz
VmFsdWVJZCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIGludCBtaW5pbXVtTWVudUxpc3RTaXplKFJl
bmRlclN0eWxlKikgY29uc3Q7CiAKQEAgLTcxLDYgKzgxLDExIEBAIHB1YmxpYzoKIAogICAgIHZp
cnR1YWwgZG91YmxlIGNhcmV0QmxpbmtJbnRlcnZhbCgpIGNvbnN0OwogCisKKyAgICAvKiBUaGVz
ZSBtZXRob2RzIHJldHVybiB0aGUgdGhlbWUncyBleHRyYSBzdHlsZSBzaGVldHMgcnVsZXMsIHRv
IGxldCBlYWNoIHBsYXRmb3JtCisgICAgICogYWRqdXN0IHRoZSBkZWZhdWx0IENTUyBydWxlcyBp
biBodG1sLmNzcywgcXVpcmtzLmNzcywgb3IgbWVkaWFDb250cm9scy5jc3MKKyAgICAgKi8KKyAg
ICB2aXJ0dWFsIFN0cmluZyBleHRyYURlZmF1bHRTdHlsZVNoZWV0KCk7CiAjaWYgRU5BQkxFKFZJ
REVPKQogICAgIHZpcnR1YWwgU3RyaW5nIGV4dHJhTWVkaWFDb250cm9sc1N0eWxlU2hlZXQoKTsK
ICNlbmRpZgpAQCAtMTEzLDYgKzEyOCwxMSBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lk
IGFkanVzdFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25TdHlsZShDU1NTdHlsZVNlbGVjdG9y
KiwgUmVuZGVyU3R5bGUqLCBFbGVtZW50KikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHBhaW50
U2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvbihSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJP
YmplY3Q6OlBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKIAorICAgIC8qIEdldHMgb3duZXIg
d2lkZ2V0IGZvciBtX3BhZ2UKKyAgICAgKiBJZiBtX3BhZ2UgaXMgMCBwYWdlT3duZXJXaWRnZXQg
cmV0dXJucyAwLgorICAgICAqLworICAgIFFXaWRnZXQqIHBhZ2VPd25lcldpZGdldCgpIGNvbnN0
OworCiAjaWYgRU5BQkxFKFZJREVPKQogICAgIHZpcnR1YWwgYm9vbCBwYWludE1lZGlhRnVsbHNj
cmVlbkJ1dHRvbihSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyYs
IGNvbnN0IEludFJlY3QmKTsKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRNZWRpYVBsYXlCdXR0b24o
UmVuZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25zdCBJbnRS
ZWN0Jik7CkBAIC0xMzIsNyArMTUyLDcgQEAgcHJpdmF0ZToKIHByaXZhdGU6CiAgICAgYm9vbCBz
dXBwb3J0c0ZvY3VzKENvbnRyb2xQYXJ0KSBjb25zdDsKIAotICAgIENvbnRyb2xQYXJ0IGFwcGx5
VGhlbWUoUVN0eWxlT3B0aW9uJiwgUmVuZGVyT2JqZWN0KikgY29uc3Q7CisgICAgQ29udHJvbFBh
cnQgYWRqdXN0Q29tbW9uUVN0eWxlT3B0aW9ucyhRU3R5bGVPcHRpb24mLCBSZW5kZXJPYmplY3Qq
KSBjb25zdDsKIAogICAgIHZvaWQgc2V0QnV0dG9uUGFkZGluZyhSZW5kZXJTdHlsZSopIGNvbnN0
OwogICAgIHZvaWQgc2V0UG9wdXBQYWRkaW5nKFJlbmRlclN0eWxlKikgY29uc3Q7CkBAIC0xNzgs
NiArMTk4LDYgQEAgcHJpdmF0ZToKICAgICBRX0RJU0FCTEVfQ09QWShTdHlsZVBhaW50ZXIpCiB9
OwogCi19Cit9ICAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKSW5kZXg6IFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZS5jcHAJKHJldmlzaW9uIDUxMzEwKQorKysgV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMDAsMTEgKzMwMCwxNiBAQCBib29s
IFJlbmRlclRoZW1lOjpwYWludChSZW5kZXJPYmplY3QqIG8sCiAgICAgICAgICAgICByZXR1cm4g
cGFpbnRNZWRpYUN1cnJlbnRUaW1lKG8sIHBhaW50SW5mbywgcik7CiAgICAgICAgIGNhc2UgTWVk
aWFDb250cm9sc0JhY2tncm91bmRQYXJ0OgogICAgICAgICAgICAgcmV0dXJuIHBhaW50TWVkaWFD
b250cm9sc0JhY2tncm91bmQobywgcGFpbnRJbmZvLCByKTsKLSAgICAgICAgY2FzZSBNZW51bGlz
dEJ1dHRvblBhcnQ6CisjaWYgUExBVEZPUk0oUVQpCiAgICAgICAgIGNhc2UgVGV4dEZpZWxkUGFy
dDoKKyAgICAgICAgICAgIHJldHVybiBwYWludFRleHRGaWVsZChvLCBwYWludEluZm8sIHIpOwog
ICAgICAgICBjYXNlIFRleHRBcmVhUGFydDoKKyAgICAgICAgICAgIHJldHVybiBwYWludFRleHRB
cmVhKG8sIHBhaW50SW5mbywgcik7CisjZWxzZQorICAgICAgICBjYXNlIE1lbnVsaXN0QnV0dG9u
UGFydDoKICAgICAgICAgY2FzZSBMaXN0Ym94UGFydDoKICAgICAgICAgICAgIHJldHVybiB0cnVl
OworI2VuZGlmCiAgICAgICAgIGNhc2UgU2VhcmNoRmllbGRQYXJ0OgogICAgICAgICAgICAgcmV0
dXJuIHBhaW50U2VhcmNoRmllbGQobywgcGFpbnRJbmZvLCByKTsKICAgICAgICAgY2FzZSBTZWFy
Y2hGaWVsZENhbmNlbEJ1dHRvblBhcnQ6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>44188</attachid>
            <date>2009-12-02 15:15:08 -0800</date>
            <delta_ts>2009-12-02 15:15:08 -0800</delta_ts>
            <desc>Layout tests results (affected by patch) on QtBuildBot</desc>
            <filename>layout-test-results.tar.gz</filename>
            <type>application/octet-stream</type>
            <size>17505</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">H4sIAG4LF0sAA+w9a3PbtrL5evwrOO7c02QsOXjy4aY5aZO0JzNteiZNzz132swdWqJtTWTJV6Qb
pZn+9wvwTYqPBUlRdgq4lRQJBBbYxe5id7FYuh/Xt8E08PxguvH822XgP34wcEGiWJzLd2xxkn9P
ygOMKeIm4oxZDxCmJmUPDD40IFXl1g/cjWE8WPv+x6Z6bb/f07KswH/gni+9AclAAf+UciTwz0V9
jf8xSgP+r9d/LJZLtz8dqOPfFHxA43+MAsD/+e1lP2agjn+LI43/UQoU/+LFISazpmTqzoJbd3ka
bANgHxLBpljQNfgnyCJF/BOKmOD/aK8jj4vGv7cx3MB4iCbokeEv/vAMG6GtidCRYbzxVnNv8++F
96GmCuTxb5fr2Xvj0z/f/vjDn7VV08rr+Ufj07c/vfifqK49seO6ls223GZh3aT2W0mpxqe333z7
w8ty28zecm78er7eiIpnxkN8szUEqfteYHxhI/n36F3cWKG5n71ZsFivRKsZFHiCk1bNLafpY4UH
36w/iIfeJHCQ7Anm5J4oPPPcWy7FQy+ih0j2EBEPlYBfrAqwG79uvkbGTPy/8b/Gxky8vCt0Uz9J
WT/U3jLwJClPFhVDpzuPQyZNPEmdiicbJw87yextWe+5a+nNTkElSIAK6w63dZeugtsgkLP66vW/
fnkbdcgmLO4Qky3FosPL2Xq53nz9xQv2Aj23FeGnqMN0kTz8h+ZcugxROsj/+eLiwlcQ/23yHzNa
0v8IMU2m5f8YZTqdGo+D65vHHQjB294I9u/NJS38jSDkTDGZImJg+4ziM2qepuq9MUVSzJ+cnHTu
LNM6QV09e2aIKhNunISvz55Vscc+cmhkQbRPSTQdTBQ9R/Lv3dHJKMJNS7f+pcNKvNl4QfAxFAOn
V8H1srWPFv7PCS/v/xg2seb/Y5QnfvBx6T09OlsuVu8nxtnvC38hWLrxKVxxgbcNpnNvtt64Us0/
M1brlfdV+FO0oqbna7GYr88Mua7m4rM3/+roz6Oj0+8WS++FoJC4oXN39v5ys75dzafhwj4zvriw
5V++sagVf71czI0v5vN59NvFehVML9zrxfLjmXG9Xq39G3cWA3Htbi4XAiziXRvoZht2fYXjPpOO
KKUVLfnuyp/63mZxkftRMgwBhXedb3669C6CMwOdcvl91EM8XfJTccbiTherK9F0kFa/Wv8u9slF
uDjnX9VNjud50TzKOUw3WTW1P1wJAIoTWZ7EGFsfFvPgKprmZLpOxUi817fX5yl8leDMa7Eed+U4
BVxON4vLq6Aao0mrjLHoi/nCvxGMSE6bhGZ6Li0G0U837ny+WF1GDfEI7gj2lD7d5eJS0EDYYfS1
mOtgMXOXyU8RuNFv8RTQGJensol44HFfMb550kk4vdOQ6s4Mwfyqv51+2Lg3UZOLa/fSSyYzRghJ
5+F86crByYozQXOi+4mRfDJ2sZFMls2cWmq58C6iBsUA6pE4v5hntYQMrK/peE5ufnfXv2xk410L
mm5Y3vN5oeLcWzbQl9PW4ZPHMaM6ejJf/G7Mlq7vf/1lwmW+fHr05Ao/7a9bPnksmil0kVuAXxZ/
+UGgSn4laGCVfHexWV8bGQ6/fIqJgFxUeFqoFqyrKxUbk5Px5dNGtadJbU3bfCyA7gI6hYBOlUDf
o9rce7gMMlw21HB7q+0t4zWiddc+bA4Y9t9X5/7NV4pD76TvPxF84ulzMSbxFn4OdxTRv1uHLBhb
63gLQ2lENR9lvALTT8Um58lj+SH8l9jvRP/qT9ImZJzmUCTde9dVHm/h7dCa8udZepp9QH108P9R
S/v/Rina/1duTvv/tP+vvbc75P9LjK5K8GsLqS6yVMn/C9cPhgwCVor/xfgBwkx81PFfY5Ra/M/8
wSKAVfBPaRj/K9VAjf8RSiP+b3zvdr6eztzZlTcV87T01JX/B+36PzNZqv9juf6F/s8trf+PUe63
/h83/eLVv8sty9oMlfT7V6F7wXh46a28jSuo+FHpKaHL5R5K1afQRfCFtIiUuyk/EFmwjc3tKqsY
ehxEzTPj+O1xecdRbpoIvYwnehnmW5JvvdB2XDNqXVQVzV95xsVi4wfG0gsCgZfFygiuFr7he6vA
W808w79a3y7nxrlnLN3NpagRXLmyjrQW+sHpccvksvzskvLsNk2TYxfnqXaWHFtOUw3Q4qGNO41e
wwFUQvzQXa1XH6/Xt36CXjMPN62C+/l6FWzWy4LGne2SsGVtiZlTub8Ly7uc1kwyrTniaoV9U/WE
0glNO8BFTNfjAJvxM2gLeUC0XP1IK872WzljHJhOrJ15aFveUUXj1xgfSGxTULwFqukeZ89ylE12
gRBxRoiiUkqIKf1dbjxvdfxZ7XxU5b9y8P8DgPwnZln+I6Ltf6MULf+1/Nfyv1X+80r53yrhiZbw
EkKiJfxdLaryXzn480Gb/MfIMmlJ/jPMdPznKEXHf+r4Tx3/qeM/P+/4T9iOdvjgz8EiKIEa9l2K
gWxU8f/+f7fr4Cu4nh/V7z08SKwjIO5PabcxVJwmJJYPHKcJ3/mEQZhWFIBZuQkKKzRbQuNwzoEm
who2YLV6IxKOikaAlzZx40ahQqIzFbAp40p5FF5ajc1RB2f1wZAcA4mGooahdhKzIcDbwLhZyD6/
N8QOBGKnF8RlQ0NfmFM8NcGcQ2YP6TgEtBgCLb4r0EKOnRDIsZMBoIVydgJRl1o5e87uVGDi1gG5
OGnS8fIA53maGsDtswvR7UizbtfNaNcbcojaRtrUNqDVsDewED2NtEv1RrNlXn0u2i6rFeX6gxSq
uyXl5B8P2v1/BPGS/Y+YjGj73xilMf8HNBCslJGD2GfcUkv+Adugg/oJM3/QCWbGSfSWz/2h7qka
3FWl6Kua7oK+l2CVXBIQYLTKiTpkNW60k7a+G/1o6o40VU+amndsH7WnjfEyJy2+tj7ONkVvm3a3
3a9Sy4zn6+uDxH+H+b/DNx3/PUJpxL8M2YnODq2XL5fetRBzXWhCAf8UU4F/ghExNf7HKMr4F5UE
05+GZ4Snt770lwmpEXkWa04HtOj/jFtmEf8UI0S1/j9Gud/xf03nf02LbLnZ4QDwc6nAPv/ph+/f
/PTLvxpVt6qnDvsA+GiuaaEtZ9Ud1ZzJlY8QVlCkASeZOZJPDXWUeSdcMu1H7npKWn5ZGw0rR9qo
ZQllVPAtAxsbMVp8DBsWRyzt0MbgcTWc+93XuIjauGyry7jI+OOiu+NqoFy7G+nairSLD0m7RIV2
bTUk40MSL3hgkng7DOxg1EthUcvczEk+yks8PkkR8O0vb9/+9Honf4Qg+JYkAU2dm5Okb8bt6rjl
BoNFxTP1ZjRRWUzO8+VCgHHtGcHakLqoce2ubt3l8uOp8TaNahdDub1eJeaDSzmVorpYpDfb09bA
+rHCnpUqH1r7G1r/r44ObtH/uZnL/xPr/9zU9v9Rio7/1fG/Ov5Xx//+BeJ/O0m0PUYHU0j8E4XE
PzVqHCWltW98A4XEQVFIHFSlZljSmqNwhpzqPEwgMIWER9H28CglBX6gKCk6SJRUkWgUNxN3J0kr
hQfPq45xn4lZKSQWi8Li7FX2cb3hhkRiUWjiXOBGsjfQkIgsCs+C27iTjfhT7+2sahhX5zKstKyO
DmvZ/2HGrdL+DxEL6f3fGKU9/qu3I7ActeWcYadDdFhP9Q0EhYwdo2hiGSfh6+6tUR0Ng8qWQUXT
YClIrKNt8KRXKxU3NXU2MXa0Me7fyHjo5Tp42ddyy/eh7v8X32n//yhF+/932tP+f+3/1/5/7f/X
/n/t//9s/P+72rn2/x++8qG1vwb9/2K9uR4oA7xS/LfJZPy/hbGO/x6jtOA/9MeFnrfIV7eP/G/c
zN3/G+KfMIp0/rdRio7/0PEfOv5Dx3/8BeI/aiTaPvO/QWIlMDxnTN1OAStlHBv1zuJaNThJck1N
NkTGpkHvKi7tVdIs2wLWQu4N8Z9r+J67mV2FhsiFGOv21Hi5ksm3o++N997HD4IH+MmDQ2VBg0QQ
KGdBK57h//nV6xcv/xOf/jfN0jn+cTOFqcRCKI1CxnNUpUELoz7uSL7BsiU9NXCxvHGcVJs9kgwP
d+Uy4WZWZueNHgPwBUiyQFAautb9PDZJBcDx2/lmUMEydDKykQTLcFnJRhMsoJxkjem97plgAaUJ
26tgSdOQfPed5FzjBhS2JEAbcFT7FDzDZEy7I4JnqIxqLazOIoNKHgKRPGQQyUNoVWD3fiQPg7AH
to9FZFUsotz6iXMWVWe5iqr3J0UGWVfsnqwrBllXrO+6ooyp6BBQMcUGzQKtlsFsVIHE1FgECP59
ih4GyZ3MILmT6xKPWU6q4w3BqBkkdTKDpU4u6HcxoLGbM1HThtXWOOQM0UDLANv8LmlqXC0zdMcR
7XOpcMgujvdIKU1NMuhS4ZD9G4ft3wpLJQa001JphxqyheNqt3BUURM17foknI3qSZ1E38N5j3Lp
bi2H99Hi/8XMLPn/iXjT/t9Ryv2O/61TOrveU4ntUlxXXdSSqBhmM/WiGllG07l34YpFdNZ2lSYp
DKsM4s6+AMG3BZVNtZr2duMp2yxrhfiuRsPWcQebVkWAp5KxpfaqzgE2XiASLBmyFWgwtCNDaNAk
1TS48eat9Ce4ribAfRJgraHiUARZNnDBKTKyLwEoUlSspsjLjfvRWK+ifM/tvBEhTZv7oc0uWuno
lEq43ZlSgbxTVKzlnZJQv4cRaoHJa0IdnFD7WXtHJ9yyrbOCcHteNA60idWtgLJJ6tioipvvZipR
h7psnqiDumwdgEPdf0veNgbOLNAY4nodxsA53e+6aDmjkG3xqGVOOE5BabzIvfLGjjrqzU6O5A6O
FAk3d2BEnheJt1nHJegwtfYJHqHt4BEqwBNSpAiaNSFkp8dq0HbuWQGBhjEHXHmPeTZ3qT5WhpQi
Z5+QOqgdUAdFk1gJIxbI43vFcx8yxA7fN3jdydCBg3ZQMuQm2zekHcnw0Pa6oQvA/utuPHd6s3Rn
3tV6KUP74zu6IrMw4EBQ2/kfhKyS/dfiJtf23zGKPv+jz//o8z/6/M9f6vxPs0Tb54EgSPQc6KxD
aXNph8aM/fjPhzrFANltHv6QQk6TR2IrlGqW5pYNFbsGOpQACNqpsBu8ffmft9+8eflNalgiSgMY
9sxOc+RaB+j3elYHEreG2+LW6izFeTrKXbRpMkjcVDvskBA23B7C1m5f50NERkNi1ggkuqvWus8T
FihrDMMF+x+5ydsI2J5YC+iEzRCsBdumKnOBDmGw/NaKizHMZG2yKI31AU6eNMfNdcJIiWHGSYBA
DHPgwbWF16niSo7g2zgd9yA8FHTuCXA6qJWHhoanu3PAp46HSttXxDnF7ky6+ubGgMy095GevFXT
3hczHUtPoxY6qKbWcgypE/x7Pd4G0dXIwLraN478689nILoaGUBXY4Pkzh/sjpI6PsPSpPmxQ2Cg
Gz56X1OS90aQPXEY0D0kQ3AYztme1LXhriPpoq7xsBzk5pGe6loVRu6MutZ6rUoXde27l/Lvjt2g
0h6Oi+mdujilNhoY0xIjNRLFbbTLRHS5d6XFWn7trW6XC79fDsgW/6/4ozn/L36ACMeUaf/vGEX7
f7X/V/t/tf/3L+P/rZRo+7zlE6L4gbahO8cme2c+gCQ+AOxy2g949j7CDTnBDduytJ0vHWhbDDFw
AvMyRID/KOj2B0G3xqefX/7w8vnO0QGbFqPbw+1xZHU7xPYYmjZGeVjxtZzD3cUJMfLCc7BUHw2x
J8nBEI4H2E1CzJ+QDCuF7W9x4Q4CJ8TUCUusUr/v5TjZ9r4Y0n6IIYZP3G74rLEv2FZ2w8YQaS4H
SzRcmOYIyr0msAHlGh6AUTrZIRqLNZ+hOTDnBCRWHmqgg/PS4dIww7gpq0q5erigvAZ+Sofw+g6X
T7iJo9LU8/tG2w4/99IlWtb3gunv7vLWA2YDarb/IYIwLp3/4BbW93+OUj6H/D+fdm7pVM0bwIEJ
LniY30LeTyaWx84J3leh9cr49E25eRom0EglsST6ly9372LbPVxslZqoP60fVY0ZeJiG4yoIbvyz
x4/Pby/90w/e+ftFcLreXD72r9Yf/ld8eTq7XPxjMf+aYMLs1uvTqMOyyIKms9pRveyc8ynssjua
z6TAGBx1+72grRANzsyCu/YI4OXNH+2Xz9Qckoe5U4+AgBcTCNXRcpg96LVY2bLC53ewURdQ6X1a
xtveeLPAmzcoAS3yn2LCy+c/hVag5f8Y5X7L/wYmSE0HwgVFtSS1jVwD4vVK1BBrwpiJvZNMmxFc
eUaO+qOWQh5eFm1vBOBvksQjzgSbO1Kn7lS6nUtGw2rBTqpVJBGpzbDCIA0n1eANJyfOWhreOZjW
2nCD+C2F4AHFLyk/1PWQDhRuwiF0J4+oHEeSt/FcCGSUFZH/I4wzn0ChOYz8uBBBXsxIsRO7DRlw
RbxxlwHHEb3QATMbMuC6vCAVQaSQoVaECXYZahQnCR5qFPTWOtYw5uy4HG6mdcl7VFr0v/PwlvGC
r1yGfflKCaBb9D+roP9xKvM/i6L1vzHKdDo1IGETFYSQ1/z/RhBypphMETGwfUacM4pOUVKMKZJa
3snJSde+MkMjqKdnz4wpnTDHOAlfnz07Mpo1VTVVFayrTgv6YTgs8cAvb9/+9LpsH3DoluKceeA5
kn/vjk66NxHHj2emmiYTjJk6JG1csjS1ioudJ+pFho0TC1o0ltTwVNOJY00q1cxiB1GtgpbZOvUY
0fLM1XrKwMhQafRzQA92bAh+4mpqCCKIpY4+x9oSpzXPoWAqYaLDCF2PIIuncx8R9h4B0Ze5LO8U
+qggVwD64mpq6KPIKU+tYtpKdXQO1+dngV6GQKszrtaO3lxWUoZZN9EFbGMPzHG0aeeCCgHTHldT
mnaO+TBCq2Ob9xktJkYQtMTVlNBiYnMvomqQLvbBykZDmiWIE4C0uJoS0sgkzRa8T/m0jx7vOEoP
vanVBVzatuKuv5hNF6sbQXgQV19laTn/h5GVi/+R3xNiMkvbf8Yo98f/xyy05TYBRZOg3DOUKcR8
lLyGCn7DcKUY0Uo5Nf7pbbwvfeND4kyMLxjxPe9sJ2wI4DesqirvyUkrQoKdWDorJhGzXj9Iljkz
kOTtF4uNYO4ytuks9IYuvUDe9vHbsfvbseGu5vJL8WzUTDgDxsXCE8O9WCyl1+fDIrg6ru/OLN1o
tfFuPDdYrC5FDxfr9bm7OXf/+O14YtS2IZ7LtUKR9DmFMElo5VUkoiX5gAD3Yr1crj8IoM4/Cogz
l0UtdHY2GdyOfXZ1g4wAzk9KYbrO879Es9dEC6K/iQOlBYzUiAGnxMO42UgNYc1kBkwxA743W4tR
RPSQQ/+N6/vhZOdnR7rTxUKIJymp3TDfOEd91I4QmeAw6aFIdql3MQUg33VTVznKc1hI6AUod7HX
hC7pvMUWGF+2Gr6yO7EYt7asAV9hzQRfVjiBi80csHxnV97s/fl6azy8XYWfvfmjiKxFhYZpJDkC
oXIaY2wl7dVgK+1O/gieZdHDhFAwh2SKs2xms8wbVwXJaIcxuSou1rcb8Y/cNLsx0zSuXL9x4jfe
fLE2zov7oYou86xIhg8IPPneMlTJHhWJNsbAxhUN10x/+FtDbxTl2LKUdRF8SVsK60KINAqWabRK
qFU7u2VICM/wJTSJ8h1O8cFz6L03OLVXNCkBODsTJafFBd+glL/sQ16g1AqO7aQAkUaIoopxYImT
CCkoYGL9KkJGnez4Gmm6cS2uGJORDBY4r5fiTCC029TSCVWd2nzEMW2c26hmBJUlh5CKGfAEc64K
IKMkA7AJ90nFbNbOm2+tk3HMaUCJXDWE9l01GLRqcCNqYzDz64WlNIbpFtNWoswAsRppMgeKJfXN
VBABYEKWGlCYMNj0RPWUsMj5/cBieo0P2WLSikWUAsJQExZRBgoLr+mR8gyAQksRIAeBZsZBO/jL
hbnJNcpSBiBNa4Y/E2xi+d8Rz8a8vFvue0UUhtwRFXLkdIu1+yE/BqFK7QwCDHQWh8bk3zvgIAhg
DCQaQgFUIQ+cjpDCIMOAC8Kw3Lz8tv1EECF/lt8L4Fq8O7zdZnYA+A9tuNJlkAKy/0aqv98h9C8s
LfZfC5m0bP+lROd/G6WA4/8KhLC/0L9CN12i/qwJZsZJ9Cbj/oqlVfvh9o7fq0kLCk2CD+MI6EfH
R1Wdyf32c28pQ7tfJNuPXFC3ybbUMn7dfI2Nmfh/48sP4uVd4sAsaTRVYS+pUBAisykUo09TO67/
Kk2rPgQAo8qJTR5/FeVMe/Xj94klIPcgRsCJJcyekPT2UnnBNUlmluRnVpUqMCZKZCHqS7oQWw2h
ZD4ykg9Q+mA4f3CFkRyBUDCBFPfHiX+DdaAPUEs9yaNsRqjCTdFVU/tEw6GbVFmUrIKbIauI3jqw
Cosr0YTFQ9tBnM4QqfAK7pR5BdG8YgheYZo7vILcQ16R0kfGK4jmFUPyCrFFk7wieuvAKxw1tcKx
87wCo/9S4RapzzDlFlRziyG4BUZ0h13Qe8guUgLJ2AXV7GJIdiFdwYJdRG9d2IUaTTgkzy7IzVaF
XeDUNZHyC6b5xSD8IvU+Z/yC3UN+kVFIxjCYZhhDMgyMacgx4vcOLAPbinRhl5mGYYr/afSuxEAs
VGYgXDOQQRiIZe0wEH4fGUhKIRkD4ZqBDMpAKIkYSPTehYHUwFBLF6TAQCTjsNQYB0FWmXGYmnEM
YgPFbIdxmPeQcWQUkjEOUzOOQRkHxxHjiN67MA60e1aokS7CoPJM80CKXIOxMtewNNcYhGtwvMM1
rPvINVIKybiGpbnGUFzj0C5rXQYsXW5LUg0Dac//bZXu/6Mm1/k/RynQ+I9KQmgJA7E6h4G0XNIF
6ivKAYWpzAElXu9GDijV646SJNEnfRpRStpQuqooLyRqxclOzebreo5fJOkRdxtuuCTnqLrx0iU1
Oyf/e1+TooADhVY7IoWVJXctUuiu2liHFHnjx/EbnbnxL1g6h/0p9NEs/wnjtBz/SRHV8n+Usqfz
/9SyyiHsdQI1qgqTp9TEFcdi6s//y2dsheP/JgJeBCIqxklP/PAqkOj0//+396zNbdxI7tf1r5jS
1W3sEqkMHvNSvN44tnObuuwm53gfV5WtLYocSaxQpI6kYnld+98PmCfmhWnMYEakBKgSyRI402g0
Gv3uJEVyG71mub46s95swxk7Wzw5nuuqcTrtLvw1XPMS4nc3612UUBn/Zrv5uDuT5lKy1wr1sWF5
w+kd7frSpeVJvGwmW1sK+f7jxuICf8hWtbf2n27Z7zaXyVJ3E2uzTlY1W1tx49vnUUYr7wYdZ6Wy
3dlfh9V2KeLC2Ds7lzPwkHxleUK5F+U0xCnNfM7zJF9fyJ6927H17Zb3wpoTSxVDxca6mf0SWru7
bWiFs/k1RwTPhU2QkWy8dbvd3Ibb1Sf5XjJgJrL05GJerFszUzCCWJ8/vP7m+3fp7Cy53MOMoH1U
xib/SNZV+kN+2oSTU/pg4aPvNx/Zx97XfgYXRI5GO41Qa9pPbU22NWf/NdqaWk1N1K2zajQZmqKs
ba5fsL09gQHNzY+CrzOHGvWA2q21xTRBHVXIeBkT3Csg2Ny2V41EsOWWvXbDnhrgcW2P55vLy124
/+Pkby+s5/PVkp0v/jNwIdy4J3oS84WQPgspJxq2LCRKN3wZF7ng/PD3arvBK7rnVdqJsAjaZxFe
rRG+cREeatoNa1rcj+Zzn4Wo84NPPOjBzwP0fTFAv8/Jr8/a6JK0IXc9tOds1AHezfFQXk0/Z4G6
r0DuKlBOsujqKOjlJ5C7CQAZFrLtVHISdNvNJjt9B8N+u10fhLioH0VQYV+oL/vqvPmEJpvPfoCx
rSxaXo1t5bkCvpgr0Idt1WeQdEogkfItQP5IHeSPkG+pJ3wcHt+CZHvItvPJ8q188zO+hY+Ib2Vh
+2p8S8ha8MWshT6Mqz6dpWM2i5R1AZJZ6mB/hKyrQ/bJ4fEuSOqJbD+fLO8Sdj9jXuSImFeeQ6DI
vWjVTkT7ci+lZbck18hD4wG5NXXAP0b2pZ4Mc3jsC5QJI9vQp8u/aNXmRY+Jf3l2N/6Vp3D4YgpH
H/7VkOqjI9NHzs0AiT51S3mM3Ew9M+cAuRkkLUe2oU+Xm+Xbn3Ez54i4WZ5XoWi6z/NKfDGvpBc3
q9+xPmlHciM+IOuobgmPkIt1SBM6PC4GyhGSbeiT5WLC9mdczD0mLpbleShysTzPxRfzXHpxsfok
qM45UHIWBkiBqoP/MbIw9ZylA2RhkIQl2YY+XRaWb3/GwrwDYWEPHdoJGi3xv8vdkmHrfnq7ms3D
682KYU49Crgl/4di4pbyfyjyXBP/O8Y4nv5faT5NlWl9/rESiegXEkYaY0izXImSI74xUcJJWx2W
Izu/W0etXj5/+FB+tuPdI7cqz5SBIU7GuMufKJe+j2YmoUxeFIsWn9JXZaAqLwlK8XPN5eyxUAic
cgZnCSzASsImz+qaFFSjsfNOG4rbgstxXY03RxTS9eE6LEAZzU46r12E1tV29ulc3laBiSFUJLdK
TG5CytXQV76yUgeG5Trq1RkzuUoHhiZkIfGRxG4nHHuS9oEgLi1fXCWEOXn7Opq2r1vy6PRdONvO
r6NI4oiUzqx3a97eJ/699Uv4iXc82Z1bNZJ5KHY9+em7P7999/eEpF03S4eqbXtSQSf1lfHZgs08
RlGV9lri5XPac0G0F4brVuJDjm2o70ioT+ju4bkTP7cHdmvf8DrgX8D2DSIpl8TSvCsvR7FAkScl
iJm83BPkpEXxkCA/tHT0+EeL/M+3arYNZwUF4HYX3i02SW42oBhAi/xPCLIF+Z/Nwy72bCP/jzGg
+f/thCAvBkC794Rof7WsMkDNi6OyRzya3zqNv4lFjwrMyaF+dCsUssuhEkTU6jBnurxdYe4Dd3kP
z2ntLfbh3d8/vH7/7nXKfvM49fhTp10+VZPPLhVFREgFnu9SO+P5ICmqqFg1y+9J08KTAsYC2gll
yHcrSJv2WCwE4TXvrEn2P+0AxTe+GsoDG4TygGcxZd1AK7gnnt8J98SzOxFszec0kawoWUHwR30Q
/iiX+hdZIYscc46LO2EuMmdqoFonGjCqrXmnJqr99h3/gmMdIQJCO4p61iV4F/p3P/Q9eqyjg/1X
uQtYW/0napftv4S6jpH/xhhQ+a/NEaC1/FPdyzpUf0LBxGMiHv+/KOF1tYB0MoEMYQOZ1oEENoKc
9vl0051cuSF62fS6GvXAVj1OHTiiDmyo44ioo83o1tXq9tBc+OEGQPduLPkHfYf8/mc3v1O2/7Df
eOb+H2M8Bv+vvP6TitMH+cD6T2xi4vQpOXoSzaTV1YMLyzKengP29ECw6Xd1cVeq6DRSXFQ/p4bi
tuGi3bGIjFt7QHIrl/kc383tdXZzEyDHYxPr6Y+HVVibNdDFzXQ3Q4nDUKJXlMAT96yAMwzE2ZCU
ih2/M6UCOSWb2MgpOaH+F4xQCyzdEKp2Qm2sjCwl3Hj6AxAuobR+O+rWnodjY7lkUo2Y8IJsF6mE
3pN5dY7JFoiQ76hdX9VQRReDYEzmdYCR8HKgOhlbZQ0O9UBrSOZ1WIPjkGFpvsX1XLSVCHHyStE+
sOge0WfWFN1TdJiVgpFIx/gpGHiYtIOHuV9py11JImjeBGNgnBTpBBpCTjtsbJLg9EplrTKkxA6G
hFT0KzcBGjmVk2u2AiNim+cMus99yBAFztDgdSfDAA7ag5Kh49KhIe1Ihg9tZzvU0a8RC+wdbf5f
l9By/o9NjP93lHHc9t++nXBkIn9zI5zGlMdqH5wmHbWuDU4D62vqglN4dE0TnHY89ehWA0NcOcWo
EXHVXjVNiMtb1UiRhtwAgLVkliLaGO/Kby6HLZFKBXmucO42q+VC0QAQ5C8pNzhoxGNlpiyQys9J
ULgopWglGILWZJYiWomQAYcIitCqoC8JaJbaCJrRHHhALJcnSoIsvZhaofgtanAj8X94/x/Viz8Z
8vu/rv8PdmzT/2eUYfr/iPNN/x/T/8f0/6n7YOGjpv+P6f9j+v+Y/j+m/88A/X+amsHLJB7T/+dQ
+//0280DLbpl+v+Y/j/HybdM/58nzLdM/x/T/+d4WZfp//OUeZfp/2P6/xw3+zL9f540/zL9f0z/
n0fEzUz/nyfNzUz/H9P/5/i5mOn/86S5mOn/Y/r/HD0LM/1/njQLM/1/+g3V+k/KxR9/A+j/g8T6
j1H9J/ZbE/87xlCp/91YCEx7ue+GdDN4dW8UVX5EprZfwhuPoLYfZIuayiw1b1CpzlJU+DEiDmyI
o7i9pRoQPYmlMXPnAcuGNhVJaqeepEoSpx7KfXHWafxNpB9VPGmtCDEeFit1UKay5UsKoZx2+1w7
KVVFu+aaKu1FVYDLA1RVAS64/UkdUCAp2QKv2dICuIaiLQ8tDT290Zb/FymYBXHsdhvu958iReDs
en+zan+HXP4ntusgIf+P8Px/F5v8v1HGy2hrXz07Xy3Xv0ys81+XuyWT6q3Pz1LWMF2E8812xnOF
zi12G4RfRX+Kz/H0YsMI5Obc4vfJgv0cLr569u9nz86+Xa7Ct4xEkgddzOa/XG03d+tFTEXn1n9c
+vxLfFj8lCSJd7FYxH+7ZKxmejm7Wa4+nVs3m/VmdzubJ0DczLZXSwYWDm8s+/Y+evU1St6ZvogQ
UvOk3Wy9m+7C7fJS+CPnXQyK8EZ8/HQVXu7PLfvM4b+P35Cgi/9UxFjy0uX6mj16n02/3vzKhLYi
XI7jfNWEnDAMYzxyHGaZWg2zP14zAIqILCMx2a2IrcdoTtF1xvuW/vnu5iKDrxacReOuJ68KgsJe
TrfLq+t9/Y6mT6WUxr9YLHe3jBFxtHFophdc9oj/lIcNsgc5Mdwx7Bl9zlbLK0YD0QvjXzNc75fz
2Sr9Uwxu/LcEBSTZy7Po9vssvivZbyd9SYTeaUR15xbjfvW/nX7czm7jR8ZpkJ8LG4IzPFysZnxx
fOKc0Rx7/cRKf7Kqu5Eiy6dBI7VchpfxA9kCmjdxcbnIZ7Gbt3lmEAYCfqvnnz9kG94wmpYc78Wi
MHERriT0FbS98OWXCaN69nKx/NWar2a73e+/SLnMF6+evbxGryDmhZobLTcwvPySPaXwBuH8fVH8
y/dsp/ivGAms099dbjc3Vr6FX7wiDG7291eFWftN7ZziozgmvnglSc/OPvUlA6oDaBQAGpWAVtY5
msu79IXUAUDqSCHNYG2rLtMCqhUTcyvELgDi360vdrdftYAt89zkmlFAipb+l+ywvXrD1sC+RT/b
b9hX/O9/tC2RcYfW9RVgly3SHWZ9jHu9ekvfvvyS/xD9y37jx/9qW1/r2jzAsrzWZUHdKj53G/YF
2QeA7ANABlhCtMAbAOANQPA2O5N8dG797v/uNvuvon7tMYHFv+gLPrIB8CMbSPoVZAdexpWoBmQj
BIEWAdBdQHUMZWYniDFrgRAM5aIIj8FGkU3KjKbR3HI4jDXDzeBLHpLXIoh8hGQC0gNwWwSRnJBc
dBqX3yKIBIXaRKiH5LgQgQpBhY2qgTjw9bJciAyBIEJE0Twdgzksz4XIEv1FV5tmRQJ5NbWg1VLM
VLrIVCzjwC9GZsHtItUgGJAw5FYMtO8/RDZDEOFMxpHzEpFa+BuGCGS4XSAbjyNjiFCGIULZA3Fk
DJHNMFRIqfqrmISikyNjiKCBIYJG0VsWgzkoR8YQcaM3RyZ2UOZHiq7pA+TQuF0IGwUjg3JsDBHu
MES4G5NjQwQ63C7QjcixITIdhsh0D8WxIZIdhso0FXRTW68MjSGCCIYIIgVcJ2AOyrEJRBzpxLGF
aAuK6BHYfwnUCqa6wiGtEgQinBGIcDaiVYJABDLSLpCVjvgAnJSAnGIQWeyBOCmBSGQEKntUOKnD
BA+dnJRABAQCERAKuE7AHJaTDuZIExt1IecIDcBE1bXWdcWDclqIUEUOzNtGIIIUUfa3DcFpITIU
OWBPG4VIUrSzp81FtlZOSyGCA1V2tSVgDspp6WC+NoHvuMg9frMvVfW86UHAoDYEChHJaF8/nGYb
AgVFMCn74QbgwxQigdED9r9RiBxGO/vfPCaPaOXDELGCKvvfEjCH5cOD+d8KOTVZv9VHY+ulqt64
QfAxLJeGiHP0wHxzDkSEc5R9cwNwaQcivTkj+uQK3wbK/+jS/1NM/Ya8o0P/T+Ka/p+jjKfV/7Oc
Lgnjg6b/Z0fEmf6fpv+n6f95zP0/l7uo6sT0djWbh9ebFc/sU04Alt//yHY9p3z/ey4x9/8Yw+T/
mvxfk/9r8n+fTP5v3Y02YALwOPHUlfpURxFRXayPddAh1cX6XIn9Rr1Il97AYI0uu+I+Qct8jRvM
qxq7BF4Ft85Wdd3EhnswgecaKnz1XgzE4wYPum5iZbhYp+3QAqQlWhuOmqw32HEvtlpvFn0BsqPe
LKDgWEDY6Ig3i7540CO5WUCxpI/nZlGOij2Im0VfGO0B3Cz9Q2pzTwTx3Imf92fREkinIYS2gOW3
3/01cz0XIM1snq8D/lVBrG6fIKAY82wbzooGwF14t9gkLsFcd2p8R4v/j2DilOp/u9Qx9b9HGcft
/5OIYsQNGh0Uoj/JDdJ6y/wMsP9fsxnsTFhzdoQ5j9tfh5ZA/fGTokN6VrTmf/OeAf4+vQuCCXIF
W74UauQL3FbirkqmNTpWqv4al0IenE6DP9ihPuTB6TT4g4sekJy8kD0heQdB957m9FW4kT+8+/uH
1+/fvc48wbjwoQaXZj1vFvxq7MMCb3ZpXNEXqhU4EErEvL07/+OJuOyAdlk38l3JysVGIIor/8ZX
WnlgQ1YecJ/uYrnjYu7CKqOAeH4XFBDPHmbzk4sZigLqQ1BAuTN2kcYD5It3XNxl8VFrlCH2/9t3
/Au8eHarQ1bPpuXLt1JKOJIOKsc9ush/7Faczvb77fLibg8RAFvkP4QdUpb/XISM/DfGODL5z3OL
Ilf86B/Lzy01eAAwabcY0tHMp13Gqb67FCTEMJIQuRnG+vnkx/yY/HzClOTob9HD+Cma8H+yZ65W
3LrzMVytyiJkaT1E7HdCaVEeom4Xeejhb8QirhvjZDmiBXSa22CQ0VYtebZbzqdxzeRdh9L/0ZDz
f3amiS3U/8e8/5eLPMP/xxgm/sfE/5j4HxP/82Tif4o32pCl/7XVNpDKVXnfUqfO9/yQxQ1qBDyh
b6rjp17L54nm/0JTeRatVQ8StDc0Yk7F6awPMyr1YdaVFqqxpFRxZWo9oQ+n/gmg6kOvhQ5Z9kRf
nYjSEiE9uXsDDwkOABRJqILf0hT8cIocSPlC1JU8SAHPmpKjUlPyQ6p+ALpe4rbYh1UKQXa/RH25
kwum3Jv9sKoitBBU1CE+s9tkDeJRqUG8rpsGIrb0umlAzeoP6KJRFdHU1jnoPQMR5gCFE1TvGayF
U2irdlDL5EouWh0Q6yx10MDfRH9xxt4uNxtpAQHNgacOhO05ULYHuHl4LF3/zYHwNQd+1psvHs9J
NyYzXth6LhwHcp4d6HmWajZOUNZs8DCajQM55k9Ks3HgPO3gNBsXwgJdFRY4ombjQtQyV0UtG0mz
cSEqmQtVyaSajetWNBusWbNxIXqaC9XTRtNsXIhC5sIVsofUbFyIluZCtTSpZpNdNLlmg4fRbFyN
xYTrGfCRaTauqox2OJqNC5HmXBVpbkTNxoWIca6KWja0ZuNChDRXTRc7QM3Gg7A9D26car15Ah0u
Gw/C1zz4WW++eAK/otkg+z/1XDkeqO8u9ERLdZvALes2ZBjdxtNYzLOeEx+bbuPBudrB6TYehAl6
KkxwRN3GhyhmvpptahTdxocoZT5UKZPqNsgmFeWGaFZufIiq5sO9ZyMpNz5EJ/PhOtlDKjc+RFHz
oYqaVLnJbppcuSHDKDc+RHR5SsqNryqmHY5y40MEOl9FoBtRufEhcpyvopkNrdz4ECnNV1PHDlC5
CSBsL9AYMBDo2JwAwtcCHfECAa4oN/j2Xs+VE0BOdNA7UoArN4iQsnZDh9FugsEjBY5Nuwm6hgoc
gHYTQLhgoD9WQIt2E0BUs6BLrMDA2g2yIXpZPquffkPtin5DNes3yIboa/msg9FwkA3RzPJZh63j
MFUWtJre0Y5cy8mvnFzNocOoOcjW2A29nhcfmZ6TY+T4FB1kQ6S7fNaBqTrIhoh1+axDUHaQDZHa
8llHq+4gBOKASGccga9lhxCExeWzel1Efq3SY7nsPxJ/13QfIdBJR71DCiIVyLPLKpAzjAqE0OAx
BcemA+UoOUIlCCEQd0T6Awu0qEEIQZS4fNYhKUKwQumgSulSBhEpQp5XUYQc3YoQqIQ6AtZQh90/
ehQhUCF1BK6kLr1/hleEQFXSEbC4eJsilF08uSLkDKQIgQqLPylFCFRFvftCB713QJXVEaC0uuq9
o0epAJVYR6Aa67X8bghFCIOUN6ymvB2iIgSq5o2ARbBhF5GeHQJVuEagEtetFxGuKkJcAfK0KUCg
CtdIWuIadA9FZQlsr6wAuQMpQKDK2E9LAWqpA957pYNeRATEFYn+4AM9ChCo6ApSqLqSL2BoBQhU
eQWBS6/I6xMgWlGAXN0KEKgOCwIXYhlPAQIVW0EKBUgeVAECFRtB4Goj8jIF2cWTK0DuQAoQqA7J
k1KAFIquHJwCBCrOgsDVWeD3jh5RFVSNBSmUYynxuyEUIFApFqRUi6XC6g5CAXJAHNDRGZJg6+g6
gxyQ5uZoCUmwUdUTZGvTfhzQ8XZ6hyNE2g+lZe3HG0j7cQaPRjg67cfpGo5wCNqPA2KJjv54BD3a
D6gyC1IozZIvYGjtB1SeBYHrs8i1HwdVtB9Pt/YDqtWCwMVaxtN+QAVZkEKRkgfVfkAFSRC4Iolc
+8kunlz78QbSfkC1Sp6U9qNQmOXgtB9QARcEruACv3f0aBKgii1IoWRLid8Nof2AyrUgpXotFVbX
SfvR1toRNPr3/2lvCtHS/8dxiFvq/+N5BJv+D2MM0//B9H9I+Z3p/2D6Pzz6/g+AG23AphCgVGOQ
yNEkaEQdymIBo7FNWfxnsVdZ/BtIwzJNCbEAPLRrmKCmab0lRViGngRYWdc2XfqgJnVQuYPcuDqe
XMVTB55rb9UeeImO1zvADBRf1kLk3Vrx9ffdg1z3wANasVmVegH292SBHFkAttrEVHOeKjDNA9Li
uo/+tyVX/Hay9q+t/V8Jtcv9Xymxjf43xphOp5YmsSm8v2WCUbjgtPBbbNvBFOGpjS3kn+PgnNpn
djqsqc27vp6enup6dy6ygd789dfW1J941in/39dfC41fx+/8Cmz9akl7v0473H7PTvV1jO3XMla1
Z6xpGqttgLrlLde3d/sdgNPXjzb7ny32/476v2LEphv+P8KA8v8CIcg5PenO6QtvkfH0mndwnk6c
CXGs0/hbztfrmRNjo8TJOoA79r2LGXdL7DXPBcPVt9/y17z4R85/Gn2xKVsOiu3Eyx5QNys6xfjV
7ISz7/KDM34suKcQzvxTiDdFcTkL7/TBJjYuW5wf5G4j+frimYnjgy8x+jN4mRjbHddZ/aSw0Lf0
rf3Gb18oCbyif6xxocnMxJlN2EIvrJPG2RTZXTeeTEg3hFQ+2GnjRWmEyHc+npo0wuEYuWVqViQi
wbffcbout+ajHQiAEpwvWErp6cx8Ty/qxTqR6dCsmRtnOpj0ZjoIxnSQnPYSSEWuQfMgH3KPSHkX
2j/R5fQJfZ/kh09suYTZkubX4fyXi819ldJqALU95bWVP9JhcQhT4G7FE9XoynGOhq6yNAF8jzCI
rgqf6EJXdrYeakvpys5XRG22pO1ssdxAiMpTXlf5Ex3WFdiwfQrsKkHlKmXEx7LoJY9HL1u7OWOv
q7/FtzhyjCr1GIeKQN4e6VE/5PofZpd2Wf8jlHhG/xtjmPgPE/9h4j9M/MeTif9oMDFpj/QAFUYA
lArQZLvq62MF1QUAlQUA2c56gwtJJwGWAZDY7mIX8AwUEwMN5QDVAQBH9ivaBUcN5wDVMlBdwJAh
HaCKBqCCBlAba1+IQaUMgJUM5Dbe+AxEc7QeB1D5Ak3HoWo+HvU8gGowKK+gdCASu4KeAwGqwQAq
SwC1xfeGGBLZBCwzIPcFxKfgAnYa2uGGxDgB6wtIvRJDXGmgSgOaznDF4zHuEYakBqsuYMgrjULk
OtpHrqt4j3qDDJHtaBfZruK9SgsiJC4svYdiRDmvxi827rHoL+nVLWHQqw0i69Eesl7Fy9gXYgci
6zkdZL2KlzO52vTcbKDqLIDiLJr8rb2XAxGJQCVbQH653uBC5CFgXRaJX3AIqUJv8RWoS3tUvgkq
pgKGfEh2CaqcAiqcAowL6A0wRPABlkqRxiXENJ8FJ+g9Alpb8IEjH8Y9AxBJDg76oIcAItKBSr4A
40d6AwwRcoClXqTxK1olBlBNF0BJF02RNL2XAxGAQNVNRpEYQLVKgKVKRpYYQHVKdEgMhaCeUbkl
qMgKGPIhmSWoAAuo/gow4qs3wBARx4XVhpNGnMU0H4ed6aV/rd2qoEFt49I/3FQFgHxQ+ofIbi5c
+GmLDOwNL0S4cTsULyhFJuoVFSACjisTcJRiJMvgHn4ycNfUy19nqztI7Sc+2vK/iFvO//Vs4pr4
vzGGif8z8X8m/s/E/z2Z+L+WG23AiEBQr1hQ99TWdHn7vn9RFVBB5h7iqV5oQdWWZcLpGEWaIMLo
8RdpkpsLD6tIE6hJa2uPVljxi96wQuyEgLasrefR1eFfAfVdBbVdLSiLQrEPN3Ou/Dn8GM16FBWZ
xh1t0fJRjexpdPfGt7VwQ0Lf0ar/IVTO/3JsYvS/MUZ+7QnFdmz7nlfUSFnFX5fsfNVPgXw84Yt/
/PCn7ytlfbKp2eTN4pP1+Zsf3v5vPNef+EIdJMenzwomvJreIfn9EZBiDfdySi2sRLqPimm17bWK
Sh+QlCtC59bJB3b0rHghJ8+krwi8DBlUfEXRmhZNSozJ7PHWSSvGkE3KOMvuWn5A//GIcIgCH4DE
ZJYSFrFNJ6l1MPDucSBgzbb9BI+pH5Hrg4zxMsXDSnD6AoZUP3vJ4SCVMAJqR2oySwmpxA7KSG0k
zUeOZGpDKDeZ1YpkwetBER2PZY6ELIfRTTuyklkqyHKQ83C8ciTkuUwDbkdeMksFeS5yD4ZFjoRL
j9FLOy6TWSq4xBPiHShjHAm1BQOSUey6jRb9b7lbMtzfF4ylygpgi/5HiY0F/x/i+p9LTf3fUcaR
63+lorm2MFdgOq0MhDhFHtXEoYiTcqiT0sO/izxX1ucPH8rPdrx75LZLkLxmZcMnynJ0NDMGyPEY
QC+TU/qqDFRVg8S5TZJiyZrjiUkyI+XV1SyBBVjcHrRcX52d1OxG+coolTJW2Rbs+LB9YRP5xlyH
BSij2bvrzd1qYV2E1tV29um8DmLRZJsFeETkVoY1JeX3tQRXChNdrqP7NWZywPvVniDxkQSkeqTB
qsSlLVetkxGySyOELXe8HvXM2oWz7fyatzW0IlI6s96t93yjo99bv4SfeALc7rxQ3rIuYeun7/78
9t3fE5J2XcGW31J9sgHB1FfGcAt+s2wgZWp0odTogqgxDNet5Igc29Dj0dKjEDvmuRM/iy30EpG4
ftfFkhaoqWh6Y6h3drUKuC+FWecCN0f6rVguvQgx8khPkBPVY0iQH1qCOu7RrVqS2jvk8j+T/Cv+
H0yQqf8+yjge+Z96NpP/MeiSt4XPEKqiCLgBUBNwg/TC4mdnZ0UnxYpPypn1x3AbfrGzPl6zj/GG
Icm9vwvD84rq8M17tuD36RUVTFAqLnOzRvNUe4Jz+wdEjqEZVlzMsN68SJo3PbG5SeZyuWUaD9dv
zqOuJqtwz+/in09mP59Ys/Ui6W0SPybCgHW5DNlyL5erVbhgz9pfnzS/zs01De7SP9mGt+Fsz9QL
9obLzeZitr2Y/evnk4nV+Az2OeEpxOZVeyOYhP4s/AMM3MvNarX5yIC6+MQgXix3XMZYSKDzc2RE
SoZskTHAIlIK6LoQ/xJjT0YL7H2TAEoLyFYjBpQRD3VcKTVEM1MM8P4qu3C+YauI6UHY/qxMhoid
PTsB7CAkSEpnS/CNBOojfryR6R6mbyiSXbqJOQDiq2WvEigvoBGhF6Cs7p5su9gjmMAE3i9fbb+w
ne+Xd08l+xXNTPfLixC43C4AxzdLUX5+t45+DhcvYrJmEyRoxAKBEI7GZLfS5zXsVvY6/kcwltkb
JpiAOSRVxLKbY9mRngqc0w6l/FRcbu627B8CmmcJ07SuZzsp4rchz/S6KNi8614psiJuiGL7tAtX
USeWF0WiTXYgSiFrQH/0N8nbiC2w5ahgeOyDSJ6lcC7YlUbAdxqpu9Q01cBs2//G9i0lZaTcxKP6
2L49WKDlARthbOrAAgNVqY0KtHJbE6xtTVSK7u2aHiqwNal0QgGXsmrGv6wPCnATlHqZQIsMNSK2
uZOJpsI67aevoY9B6fSV200UH9urJwmw9EgjJUs6krRCqdBdBFgcohGFjb1FNBVEeMCdhnbTAKaM
N+50U4+QNhAVGn7AsnobHTjVdh9q3T6gpj6YaQ8j0m7bwxH3z1S+6g/iGphoV1mEun3SofwLaJ8U
r7HGNeB4CQVQ2d0TdIQUBhny2yFDXJn6+f4ztjH+d/l7AVzP6Q5vN8xqgP+hDWlHOtTj/8Xmj7B3
qMf/U5uY+P9RxvHYf/vH/7+x+dfxxq4fQvz/sePwEOP/Y5wecWj6McT/Hz2SHyT+X/txHwlZBxH/
f6zIO8D4f/2ndyRcHn78/9Gi1sT/axhdq6XM9vvtkmmHIUAfbNH/ECaoXP8LEcfof2OMI9P/PPdZ
lUn1j/+nvgsL+2ETGY/67jIK6pnP1jyiR/S4/pgfk59PrGXsjY0exk/RJPHCrlY8yvVjuFrVRtDn
6ylEzlP6TFak5pm4TmBtlWeVVzdWL6mNQoXIw27jrSeyfo7WH01Y5+ijX7UsmC2wjf97rlfi/y52
TfznKOPI+P9A+V+OB2P/UTxVJKGy49GYA/a6ElVKvGJQvG2/e/ePeuG5oMV6pUc0i9Hx1CQAknAw
r/f72935l19e3F3tzj6GF78s92eb7dWXu+vNx3+yX57Nr5Z/WC5+jxGmfmvmGAlofltKozmocFsy
MLrkiFEK37pqQJHOyQ944UIvWBdDLtgosjatkyXcrv34Py/8u2t1BLXK/3a5/q/jEMP/RxnT6dTS
UDZTFAR+y/YzmCI8tTF32uLgnNpndjqsqc05/unpqY735ikpoLd+/bU1Re7Es06j/3/9dc7GlHgH
cLaUe0y7sI/TDh9qCnRTYkOqfEiZEZnxIKPu+M13O/SlxnfwA+g5ThP/5yPl/w5G6Dc2otTDv7Ec
jTA0jifO/xv3/2Jz/8/b7eaWl9IOd73IQWH/iW2z+5/9ld//Zv+HH9D9n82Xi39Gs3TH/yDb8VBx
/3n8j2fkvzHGQPo/rYYMNun/VNCME/mk4Luy7VRiqbcQIGeCsujkwL4nQY3EI/i+nDxgWVI44vPb
BFgnK2dAffse1VdgeH652kQpiy/YBz+UP+gF9wSJQL15k7ro2oGSyF585ak7Dgf3CDebB5KpYkLI
5upqFdZHLBeW8zYJPsrXQxgi4gVlQeA2AP4EsX/5Po2XyRNYCS1I1xJwvv+uSkNs5UXjStH9+e23
HN9wbAMxTtwyxuVYJ26azDj7dKK01kCQyR22zwVaStZbC3/RPIaEYh6IBCIttyzbnkzTmHPXr1t1
RdyfZsHnrpDDuVpY7AW7EwmwZcsQEqiEA90Ec2p7+/aH93+Sam7ta23+mAqgxG+AtMlmGW1JoAJo
GnmNvfo9qeb0ZRyAGwgvZusrq7wXFTjFkIMgD/aOkxekNNgRyU14QkFvRFGkiijKQxI+Xi9vmByk
hCtKxsBVC0E6/gAnRxnMNvaGneDBmTmlasycctP20rrabj5am9VCjZ8zWibZqcfJikEMvboGexI0
SgDVJUSzBSHgdnW32f+hWkOpCvs33//w5r//5y8/fHiXZvUWilOxRVC1basRGTiOa36J62a27Xrh
XL5++/b9u59+SuWyjE87dvUSbL8Cae0V2HgBUj/itVvrZrZc7CYQZP8RJSeDikiGkUo7oQT4Hpfh
bySTgJvrdrwYx35j3YQTK9yytdyEZV5YfgDKnoA4oS2W82tZqIMjJH5zOdt1GhlmezCH6xVv38Zg
DpcUio4x/rkL1zveOcxabOZ3N+F6P+F5+dbu03o/m0c9xVafrF9nnO64PmPRM/vMer1aWci2/3M6
36y51Xq23ltvfvoJWbMr9gRpBYr8onH5lZyXh4tKnzGUb6PVRmEkKUhWuAr5dwbyBe+stecLuJ1t
Z1fb2e01r5e23HFCulvueAW1T9Zz9hz+gNvlfbh6IaswkCUARyUfo54u0dPBns6Alu86kKOT4ujd
+SOaNZlkakKdNKoXcxkyNM3DBFls6ZNWfyYibv5K6iEJxaRTEzFejM6smRuIcwkXH56H9/Pwdh91
GLS2s92egfivqL1ZVEyBUwyffxXudy9iYmIbON+Gt7P1fBnu8pqBsmoN2XFja+EC93Y2D1MaimiR
iTAx2cRvZg/d7uebG4as3Zn1A8ceD2m6njGCulyuGemETFjnTpa4FM8+rXQ0SUOfJNA4OJP+o+TY
cH+3XVsJFYJpiZdB7UBLbvz+/BHNtOSKoEa+fXaM+Am7ZSe3nYSQl7+JFF9UJIpkYk5AZwfj+FC3
/8F8vuKQ2/9sjLyS/RcTgk385yhD6v+FG4LL3lfvnPpqPl/5u5r9vLVv4n5eTCaMfZzG30RPb/FY
K6vjffRxkEI+bXplB438VN+zJKUKIMiRGmO6avx9VH6ozq+wHa1Kv8J2tD1ruO3oZ1QAWhUemu+Z
EQ91Vgzr+S6ONv+fTXDZ/+ci0/9hlGH6v5v+76b/u+n//rj7v0OVC+093zGBdEEmgC7IddJZk9bS
u3czhUBNFaCGak29IXcgkDtKkMu1trjndKS61bef7tgsHrt6msVL6UdB/Ru1h3y2+IHXVGotnyhS
mlrLe5CFenoOkaBa9Ybbh8Dt92ZZJe2+N9gBBOxAL8+KrAt9ISc2AHJia+JZ3LoRM6rUxKGVbRE0
LttqM5OMyrayxQ+8piHZFsGQheKDY1sEImkRuKSlZAXrDTxE4CIqAhfIClcGu/DtoS0TZowx+mhL
0He02f9c4pT9f46x/40zTPy/if+XL8fE/5v4fxP/rwzoE4z/B7mkTUbAyNgzOQImR8DkCNTtuskR
MDkCDVtjcgSawDE5ArXUbHIETI7AY80RMMMMM8wwwwwzzDDDDDPMMMMMM8wwwwwzzDDj+Mb/A+Nf
x2IAwAMA
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44258</attachid>
            <date>2009-12-03 11:16:11 -0800</date>
            <delta_ts>2009-12-03 11:22:59 -0800</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>patchFor30173-14.patch</filename>
            <type>text/plain</type>
            <size>57571</size>
            <attacher name="Carol Szabo">carol</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTY0MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNjYgQEAKKzIwMDktMTItMDMgIENhcm9sIFN6YWJvICA8Y2Fyb2wuc3phYm9Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtRdF0gTWFrZSBpdCBwb3NzaWJsZSB0byBhcHBseSB0aGUgQ1NTIGJhY2tncm91bmQgY29sb3Ig
dG8gdGhlIG5hdGl2ZSBwYWludGVkIHdpZGdldHMgaW5zdGVhZCBvZiB0byB0aGUgYWN0dWFsIGVs
ZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMw
MTczCisKKyAgICAgICAgVGhpcyBpcyBhIGJlc3QgZWZmb3J0IGFwcHJvYWNoIGluIGFjY29yZGFu
Y2Ugd2l0aCB0aGUgQ1NTIDIuMSBzcGVjCisgICAgICAgIChodHRwOi8vd3d3LnczLm9yZy9UUi9D
U1MyLykgd2hpY2ggaW4gdGhlIGNvbmZvcm1hbmNlIHNlY3Rpb24gbGVhdmVzCisgICAgICAgIHVu
ZGVmaW5lZCB0aGUgc3R5bGUgcHJvcGVydGllcyB0aGF0IGFwcGx5IHRvIGZvcm0gY29udHJvbHMg
YW5kIGZyYW1lcy4KKyAgICAgICAgSW4gYWNjb3JkYW5jZSB3aXRoIFRvciBBcm5lJ3MgcmVxdWVz
dCB0aGlzIHBhdGNoIGFsc28gZW5zdXJlcyB0aGF0IHRoZQorICAgICAgICBkZWZhdWx0IGJhY2tn
cm91bmQgY29sb3IgZm9yIGNvbnRyb2xzIG1hdGNoZXMgdGhlIG9uZSBzcGVjaWZpZWQgYnkgdGhl
CisgICAgICAgIHBsYXRmb3JtIGFzIGNsb3NlIGFzIHBvc3NpYmxlLiBUaGlzIHBhdGNoIGRvZXMg
bm90IHByb3ZpZGUgZm9yIHVwZGF0aW5nCisgICAgICAgIHRoZSBkZWZhdWx0IGJhY2tncm91bmQg
Y29sb3Igb25jZSBpdCBoYXMgYmVlbiBlc3RhYmxpc2hlZCAoaW4gcmVzcG9uc2UgdG8KKyAgICAg
ICAgUVN0eWxlIGFuZCBRU3R5bGVTaGVldCBjaGFuZ2VzKS4KKyAgICAgICAgSW4gYWNjb3JkYW5j
ZSB3aXRoIHRoZSBjb25zZW5zdXMgcmVhY2hlZCBvbiBhIHBhdGNoIHJldmlldyBtZWV0aW5nIG9u
IDExLzE5LzIwMDkKKyAgICAgICAgdG8gcHJvdGVjdCBhZ2FpbnN0IHRoZSBlZmZlY3Qgb2Ygbm9u
IChvciBwb29ybHkpIGN1c3RvbWl6YWJsZSBwb3B1bGFyIHN0eWxlcyBzdWNoCisgICAgICAgIGFz
IHdpbmRvd3N4cCwgZXZlbiBmb3Igc3R5bGVzIHRoYXQgc3VwcG9ydCBmdWxsIGN1c3RvbWl6YXRp
b24gc3VjaCBhcyBwbGFzdGlxdWUsCisgICAgICAgIGZvciBub3csIGNvbnRyb2wgcGFpbnRpbmcg
c2hhbGwgYmUgZGVmZXJyZWQgdG8gd2Via2l0J3MgaW50ZXJuYWwgaW1wbGVtZW50YXRpb24KKyAg
ICAgICAgaWYgaXQgZXhpc3RzIGFuZCB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgYSBjb250cm9s
IGlzIGNoYW5nZWQgZnJvbSB0aGUgZGVmYXVsdC4KKworICAgICAgICAqIHBsYXRmb3JtL3F0L1FX
ZWJQb3B1cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpRV2ViUG9wdXA6OnNob3dQb3B1cCk6Cisg
ICAgICAgIEFkZGVkIGNvZGUgdG8gcmVmbGVjdCBDU1Mgc3R5bGUgaW4gY29udHJvbCBzdHlsaW5n
LgorICAgICAgICAqIHBsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVRdDo6cGFnZU93bmVyV2lkZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6
OmluaXRQYWxldHRlRnJvbVBhZ2VDbGllbnRJZkV4aXN0cyk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUaGVtZVF0OjphZGRTdHlsZVRleHRJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjph
ZGRTdHlsZVRleHRGb3JXaWRnZXQpOgorICAgICAgICAoV2ViQ29yZTo6c2V0V2lkZ2V0Q29sb3Jz
KToKKyAgICAgICAgU3VwcG9ydCBmdW5jdGlvbnMKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRo
ZW1lUXQ6OmV4dHJhRGVmYXVsdFN0eWxlU2hlZXQpOgorICAgICAgICBJbml0aWFsaXplIGRlZmF1
bHQgc3R5bGVzaGVldHMgYmFzZWQgb24gdGhlIHRoZW1lCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUaGVtZVF0OjphZGp1c3RDb21tb25RU3R5bGVPcHRpb25zKToKKyAgICAgICAgVGhpcyBmdW5j
dGlvbiB3YXMgcmVuYW1lZCBmcm9tIGFwcGx5VGhlbWUgYmVjYXVzZSB0aGUgcHJldmlvdXMgbmFt
ZSB3YXMKKyAgICAgICAgbm90IGRlc2NyaXB0aXZlIG9mIHdoYXQgdGhlIGZ1bmN0aW9uIGFjdHVh
bGx5IGRpZCwgd2hpY2ggd2FzIChhbmQgCisgICAgICAgIGNvbnRpbnVlcyB0byBiZSkgdG8gYWRq
dXN0IHRoZSBvcHRpb24gc2V0dGluZ3MgYmFzZWQgb24gdGhlIGNvbnRyb2wncworICAgICAgICBz
dHlsZSBhbmQgc3RhdGUuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpzeXN0ZW1D
b2xvcik6CisgICAgICAgIEludHJvZHVjZWQgdG8gYWxsb3cgY3VzdG9taXphdGlvbiBvZiBidXR0
b24gZmFjZSBjb2xvciBhbmQgb3RoZXIgc3lzdGVtIGNvbG9ycyBhY2NvcmRpbmcgdG8gdGhlIAor
ICAgICAgICB0aGUgY29udGFpbmVyIHdpZGdldCdzIHBhbGV0dGUgYW5kIFFTdHlsZVNoZWV0cy4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmFkanVzdEJ1dHRvblN0eWxlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50QnV0dG9uKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50VGV4dEZpZWxkKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lUXQ6OnBhaW50TWVudUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWVRdDo6cGFpbnRNZW51TGlzdEJ1dHRvbik6CisgICAgICAgIE1vZGlmaWVkIG9ubHkgZHVl
IHRvIHJlbmFtaW5nIG9mIHRoZSBhcHBseVRoZW1lIG1ldGhvZC4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lUXQ6OmFkanVzdFRleHRGaWVsZFN0eWxlKToKKyAgICAgICAgUmVtb3ZlZCB0
aGUgbGluZSB0aGF0IG1ha2VzIHRoZSBiYWNrZ3JvdW5kIHRyYW5zcGFyZW50IGluIG9yZGVyIHRv
IGhhdmUgdGhlIGNvbG9yIGF2YWlsYWJsZSBmb3IKKyAgICAgICAgcGFpbnRpbmcuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpwYWludFNlYXJjaEZpZWxkKToKKyAgICAgICAgQ2hh
bmdlZCB0byBjYXVzZSB0aGUgcGFpbnRpbmcgYmUgZG9uZSBieSB3ZWJraXQgYXMgYSB0ZXh0IGZp
ZWxkLiBUaGlzIGlzIGEgdGVtcG9yYXJ5IHNvbHV0aW9uIHRoYXQgaW1wcm92ZXMKKyAgICAgICAg
dGhlIGN1cnJlbnQgc3RhdGUgd2hpY2ggY2F1c2VzIHRoZSBTZWFyY2ggaW5wdXQgdG8gYmUgcGFp
bnRlZCBhcyBhIHRleHQgZmllbGQgYnkgUXQgd2l0aG91dCBjdXN0b21pemF0aW9ucworICAgICAg
ICBzdWNoIGFzIGN1c3RvbSBiYWNrZ3JvdW5kIGNvbG9yIHdoaWNoIGlzIHRoZSBmb2N1cyBvZiB0
aGlzIHBhdGNoLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6YWRqdXN0U2VhcmNo
RmllbGRTdHlsZSk6CisgICAgICAgIENoYW5nZWQgdG8gZG8gbm90aGluZyBhcyBhbGwgY3VzdG9t
aXphdGlvbnMgYXJlIHN1cHBvcnRlZCBieSB3ZWJraXQgaGVuY2Ugbm8gYWRqdXN0bWVudCBpcyBu
ZWVkZWQuCisgICAgICAgICogcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZTo6cGFpbnQpOgorICAgICAgICBTaW5jZSB0aGlzIG1ldGhvZCBpcyBub3QgdmlydHVhbCBJIGhh
ZCB0byBhZGQgUXQgc3BlY2lmaWMgY2hhbmdlcyBoZXJlIHRvCisgICAgICAgIGVuYWJsZSByZW5k
ZXJpbmcgYnkgdGhlIHRoZW1lIG9mIHRleHQgaW5wdXQgY29udHJvbHMuIFdoaWNoIGlzIG5lY2Vz
c2FyeSBmb3IKKyAgICAgICAgYSBuYXRpdmUgbG9vayBhbmQgZmVlbCBhcyByZXF1aXJlZCBieSBU
aG9yIEFybmUgZm9yIHRoaXMgcGF0Y2guCisKIDIwMDktMTItMDMgIFBhdmVsIEZlbGRtYW4gIDxw
ZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTm90IHJldmlld2VkOiBjaHJvbWl1bSBi
dWlsZCBmaXguCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3F0L1FXZWJQb3B1cC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9xdC9RV2ViUG9wdXAuY3BwCShyZXZpc2lvbiA1MTMx
MCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vcXQvUVdlYlBvcHVwLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjEsOSArMjEsMTEgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJRV2ViUG9w
dXAuaCIKICNpbmNsdWRlICJQb3B1cE1lbnVTdHlsZS5oIgorI2luY2x1ZGUgIlJlbmRlclRoZW1l
UXQuaCIKIAogI2luY2x1ZGUgPFFBYnN0cmFjdEl0ZW1WaWV3PgogI2luY2x1ZGUgPFFBcHBsaWNh
dGlvbj4KKyNpbmNsdWRlIDxRQnl0ZUFycmF5PgogI2luY2x1ZGUgPFFJbnB1dENvbnRleHQ+CiAj
aW5jbHVkZSA8UU1vdXNlRXZlbnQ+CiAKQEAgLTUxLDYgKzUzLDI3IEBAIHZvaWQgUVdlYlBvcHVw
OjpleGVjKCkKIHZvaWQgUVdlYlBvcHVwOjpzaG93UG9wdXAoKQogewogICAgIFFDb21ib0JveDo6
c2hvd1BvcHVwKCk7CisgICAgUG9wdXBNZW51U3R5bGUgc3R5bGUgPSBtX2NsaWVudC0+aXRlbVN0
eWxlKDApOworICAgIFFQYWxldHRlIGJhc2VQYWxldHRlID0gcGFsZXR0ZSgpOworICAgIFFDb2xv
ciBkZWZhdWx0QmFzZUNvbG9yKGJhc2VQYWxldHRlLmNvbG9yKFFQYWxldHRlOjpCYXNlKSk7Cisg
ICAgUUNvbG9yIGRlZmF1bHRUZXh0Q29sb3IoYmFzZVBhbGV0dGUuY29sb3IoUVBhbGV0dGU6OlRl
eHQpKTsKKyAgICBDb2xvciBjb2xvciA9IHN0eWxlLmJhY2tncm91bmRDb2xvcigpOworICAgIGlm
IChjb2xvci5pc1ZhbGlkKCkpCisgICAgICAgIGJhc2VQYWxldHRlLnNldENvbG9yKFFQYWxldHRl
OjpCYXNlLCBjb2xvcik7CisgICAgY29sb3IgPSBzdHlsZS5mb3JlZ3JvdW5kQ29sb3IoKTsKKyAg
ICBpZiAoY29sb3IuaXNWYWxpZCgpKQorICAgICAgICBiYXNlUGFsZXR0ZS5zZXRDb2xvcihRUGFs
ZXR0ZTo6VGV4dCwgY29sb3IpOworICAgIHNldFBhbGV0dGUoYmFzZVBhbGV0dGUpOworICAgIC8v
IEZJWE1FOiBQcm9iYWJseSBoZXJlIHNwZWNpYWwgc3R5bGVzIGZyb20gdGhlIG9wdGlvbnMgc2hv
dWxkIGJlIHVzZWQgb3Igc3BlY2lhbCBkcm9wZG93bmxpc3QgYXR0cmlidXRlcworICAgIC8vIGZv
ciBub3cgYm90aCBkcm9wZG93biBsaXN0cyBhbmQgbGluZWVkaXQgc2hhcmUgdGhlIHNhbWUgY29s
b3JzLgorICAgIGlmIChRQWJzdHJhY3RJdGVtVmlldyogaXRlbVZpZXcgPSB2aWV3KCkpIHsKKyAg
ICAgICAgUUJ5dGVBcnJheSBidWZmZXIoaXRlbVZpZXctPnN0eWxlU2hlZXQoKS50b0FzY2lpKCkp
OworICAgICAgICBRQ29sb3IgbmV3QmFzZSA9IGJhc2VQYWxldHRlLmNvbG9yKFFQYWxldHRlOjpC
YXNlKTsKKyAgICAgICAgUUNvbG9yIG5ld1RleHQgPSBiYXNlUGFsZXR0ZS5jb2xvcihRUGFsZXR0
ZTo6VGV4dCk7CisgICAgICAgIFJlbmRlclRoZW1lUXQ6OmFkZFN0eWxlVGV4dElmTmVlZGVkKCZu
ZXdCYXNlLCBkZWZhdWx0QmFzZUNvbG9yLCAiIGJhY2tncm91bmQtY29sb3I6IHJnYmEoIiwgIik7
IiwgYnVmZmVyLCBmYWxzZSk7CisgICAgICAgIFJlbmRlclRoZW1lUXQ6OmFkZFN0eWxlVGV4dElm
TmVlZGVkKCZuZXdUZXh0LCBkZWZhdWx0VGV4dENvbG9yLCAiIGNvbG9yOiByZ2JhKCIsICIpOyIs
IGJ1ZmZlciwgZmFsc2UpOworICAgICAgICBpdGVtVmlldy0+c2V0U3R5bGVTaGVldChidWZmZXIu
Y29uc3REYXRhKCkpOworICAgIH07CiAgICAgbV9wb3B1cFZpc2libGUgPSB0cnVlOwogfQogCklu
ZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAJKHJldmlzaW9uIDUxMzEwKQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzIsNiArMzIsNyBAQAogCiAjaW5jbHVkZSAiQ1NTU3R5bGVTZWxlY3Rvci5oIgogI2luY2x1
ZGUgIkNTU1N0eWxlU2hlZXQuaCIKKyNpbmNsdWRlICJDU1NWYWx1ZUtleXdvcmRzLmgiCiAjaW5j
bHVkZSAiQ2hyb21lQ2xpZW50UXQuaCIKICNpbmNsdWRlICJDb2xvci5oIgogI2luY2x1ZGUgIkRv
Y3VtZW50LmgiCkBAIC00OSwxMiArNTAsMTggQEAKICNpbmNsdWRlICJxd2VicGFnZS5oIgogCiAj
aW5jbHVkZSA8UUFwcGxpY2F0aW9uPgorI2luY2x1ZGUgPFFDaGVja0JveD4KICNpbmNsdWRlIDxR
Q29sb3I+CisjaW5jbHVkZSA8UUNvbWJvQm94PgogI2luY2x1ZGUgPFFEZWJ1Zz4KICNpbmNsdWRl
IDxRRmlsZT4KICNpbmNsdWRlIDxRTGluZUVkaXQ+CisjaW5jbHVkZSA8UUxpc3RXaWRnZXQ+Cisj
aW5jbHVkZSA8UU1lbnU+CiAjaW5jbHVkZSA8UVBhaW50ZXI+CiAjaW5jbHVkZSA8UVB1c2hCdXR0
b24+CisjaW5jbHVkZSA8UVJhZGlvQnV0dG9uPgorI2luY2x1ZGUgPFFTY3JvbGxCYXI+CiAjaW5j
bHVkZSA8UVN0eWxlRmFjdG9yeT4KICNpbmNsdWRlIDxRU3R5bGVPcHRpb25CdXR0b24+CiAjaW5j
bHVkZSA8UVN0eWxlT3B0aW9uRnJhbWVWMj4KQEAgLTY1LDYgKzcyLDM5IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAorUVdpZGdldCogUmVuZGVy
VGhlbWVRdDo6cGFnZU93bmVyV2lkZ2V0KCkgY29uc3QKK3sKKyAgICBpZiAoIW1fcGFnZSkKKyAg
ICAgICAgcmV0dXJuIDA7CisgICAgQ2hyb21lKiBjaHJvbWUgPSBtX3BhZ2UtPmNocm9tZSgpOwor
ICAgIGlmICghY2hyb21lKQorICAgICAgICByZXR1cm4gMDsKKyAgICBDaHJvbWVDbGllbnQqIGNo
cm9tZUNsaWVudCA9IGNocm9tZS0+Y2xpZW50KCk7CisgICAgaWYgKCFjaHJvbWVDbGllbnQpCisg
ICAgICAgIHJldHVybiAwOworICAgIFFXZWJQYWdlQ2xpZW50KiBwYWdlQ2xpZW50ID0gY2hyb21l
Q2xpZW50LT5wbGF0Zm9ybVBhZ2VDbGllbnQoKTsKKyAgICBpZighcGFnZUNsaWVudCkKKyAgICAg
ICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHBhZ2VDbGllbnQtPm93bmVyV2lkZ2V0KCk7Cit9CisK
K3N0YXRpYyB2b2lkIGluaXRQYWxldHRlRnJvbVBhZ2VDbGllbnRJZkV4aXN0cyhRUGFsZXR0ZSAm
cGFsZXR0ZSwgY29uc3QgUmVuZGVyT2JqZWN0ICpvKQoreworICAgIC8vIElmIHRoZSB3ZWJ2aWV3
IGhhcyBhIGN1c3RvbSBwYWxldHRlLCB1c2UgaXQKKyAgICBQYWdlKiBwYWdlID0gby0+ZG9jdW1l
bnQoKS0+cGFnZSgpOworICAgIGlmICghcGFnZSkKKyAgICAgICAgcmV0dXJuOworICAgIENocm9t
ZSogY2hyb21lID0gcGFnZS0+Y2hyb21lKCk7CisgICAgaWYgKCFjaHJvbWUpCisgICAgICAgIHJl
dHVybjsKKyAgICBDaHJvbWVDbGllbnQqIGNocm9tZUNsaWVudCA9IGNocm9tZS0+Y2xpZW50KCk7
CisgICAgaWYgKCFjaHJvbWVDbGllbnQpCisgICAgICAgIHJldHVybjsKKyAgICBRV2ViUGFnZUNs
aWVudCogcGFnZUNsaWVudCA9IGNocm9tZUNsaWVudC0+cGxhdGZvcm1QYWdlQ2xpZW50KCk7Cisg
ICAgaWYgKCFwYWdlQ2xpZW50KQorICAgICAgICByZXR1cm47CisgICAgcGFsZXR0ZSA9IHBhZ2VD
bGllbnQtPnBhbGV0dGUoKTsKK30KIAogU3R5bGVQYWludGVyOjpTdHlsZVBhaW50ZXIoY29uc3Qg
UmVuZGVyT2JqZWN0OjpQYWludEluZm8mIHBhaW50SW5mbykKIHsKQEAgLTIwNyw2ICsyNDcsNjgg
QEAgYm9vbCBSZW5kZXJUaGVtZVF0OjpzdXBwb3J0c0NvbnRyb2xUaW50cwogICAgIHJldHVybiB0
cnVlOwogfQogCit2b2lkIFJlbmRlclRoZW1lUXQ6OmFkZFN0eWxlVGV4dElmTmVlZGVkKGNvbnN0
IFFDb2xvciogY29sb3IsIGNvbnN0IFFDb2xvciYgZGVmYXVsdENvbG9yLAorICAgIGNvbnN0IGNo
YXIqIHByZWZpeCwgY29uc3QgY2hhciogc3VmZml4LCBRQnl0ZUFycmF5JiBidWZmZXIsIGJvb2wg
c2NhbGVBbHBoYSkKK3sKKyAgICBpZiAoKmNvbG9yID09IGRlZmF1bHRDb2xvcikKKyAgICAgICAg
cmV0dXJuOworICAgIFFMb2NhbGUgbG9jYWxlKFFMb2NhbGU6OmMoKSk7CisgICAgYnVmZmVyLmFw
cGVuZChwcmVmaXgpLmFwcGVuZChsb2NhbGUudG9TdHJpbmcoY29sb3ItPnJlZCgpKSkuYXBwZW5k
KCcsJykKKyAgICAgICAgLmFwcGVuZChsb2NhbGUudG9TdHJpbmcoY29sb3ItPmdyZWVuKCkpKS5h
cHBlbmQoJywnKQorICAgICAgICAuYXBwZW5kKGxvY2FsZS50b1N0cmluZyhjb2xvci0+Ymx1ZSgp
KSkuYXBwZW5kKCcsJykKKyAgICAgICAgLmFwcGVuZChzY2FsZUFscGhhID8gbG9jYWxlLnRvU3Ry
aW5nKHN0YXRpY19jYXN0PGZsb2F0Pihjb2xvci0+YWxwaGEoKSkgLyAyNTUsICdmJywgNCkgOiBs
b2NhbGUudG9TdHJpbmcoY29sb3ItPmFscGhhKCkpKQorICAgICAgICAuYXBwZW5kKHN1ZmZpeCk7
Cit9CisKKy8vIFRoaXMgZnVuY3Rpb24gd2FzIGRlc2lnbmVkIGZvciB0aGUgc3BlY2lmaWMgcHVy
cG9zZSBvZiBwcm9jZXNzaW5nIHN0eWxlcyAKKy8vIGZvciB2YXJpb3VzIHdpZGdldCB0eXBlcyBk
dXJpbmcgdGhlIGNhbGwgdG8gUmVuZGVyVGhlbWVRdDo6ZXh0cmFEZWZhdWx0U3R5bGVTaGVldCgp
CisvLyBJdCBkZWxldGVzIHRoZSB3aWRnZXQgcGFzc2VkIGluLgorc3RhdGljIHZvaWQgYWRkU3R5
bGVUZXh0Rm9yV2lkZ2V0KFFXaWRnZXQqIHdpZGdldCwgUUNvbG9yJiBkZWZhdWx0Q29sb3IsIGNv
bnN0IGNoYXIqIHByZWZpeCwgY29uc3QgY2hhciogZGlzYWJsZWRQcmVmaXgsIFFCeXRlQXJyYXkm
IGJ1ZmZlcikKK3sKKyAgICB3aWRnZXQtPnNldEF0dHJpYnV0ZShRdDo6V0FfRG9udFNob3dPblNj
cmVlbik7CisgICAgd2lkZ2V0LT5zaG93KCk7CisgICAgUVBhbGV0dGUgcGFsZXR0ZSA9IHdpZGdl
dC0+cGFsZXR0ZSgpOworICAgIFFQYWxldHRlOjpDb2xvclJvbGUgY29sb3JSb2xlID0gd2lkZ2V0
LT5iYWNrZ3JvdW5kUm9sZSgpOworICAgIHdpZGdldC0+aGlkZSgpOworICAgIGRlbGV0ZSB3aWRn
ZXQ7CisgICAgUmVuZGVyVGhlbWVRdDo6YWRkU3R5bGVUZXh0SWZOZWVkZWQoJnBhbGV0dGUuY29s
b3IoUVBhbGV0dGU6Ok5vcm1hbCwgY29sb3JSb2xlKSwgZGVmYXVsdENvbG9yLCBwcmVmaXgsICAi
KTt9XHJcbiIsIGJ1ZmZlciwgdHJ1ZSk7CisgICAgUmVuZGVyVGhlbWVRdDo6YWRkU3R5bGVUZXh0
SWZOZWVkZWQoJnBhbGV0dGUuY29sb3IoUVBhbGV0dGU6OkRpc2FibGVkLCBjb2xvclJvbGUpLCBk
ZWZhdWx0Q29sb3IsIGRpc2FibGVkUHJlZml4LCAiKTt9XHJcbiIsIGJ1ZmZlciwgdHJ1ZSk7Cit9
CisKKy8vIFRoZXNlIHN0cmluZ3MgbmVlZCB0byBiZSBrZXB0IGluIHN5bmsgd2l0aCBodG1sLmNz
cworc3RhdGljIGNvbnN0IGNoYXIgcUxpbmVFZGl0U3R5bGVQcmVmaXhbXSA9ICJpbnB1dDpub3Qo
W3R5cGVdKSwgaW5wdXRbdHlwZT1cInRleHRcIl0sIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSwg
aW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgaW5wdXRbdHlwZT1cImZpbGVcIl0sIHRleHRhcmVhIHsg
YmFja2dyb3VuZC1jb2xvcjogcmdiYSgiOworc3RhdGljIGNvbnN0IGNoYXIgcUxpbmVFZGl0RGlz
YWJsZWRTdHlsZVByZWZpeFtdID0gImlucHV0Om5vdChbdHlwZV0pOmRpc2FibGVkLCBpbnB1dFt0
eXBlPVwidGV4dFwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmRpc2FibGVk
LCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpk
aXNhYmxlZCwgdGV4dGFyZWE6ZGlzYWJsZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCI7Citz
dGF0aWMgY29uc3QgY2hhciBxQ2hlY2tCb3hTdHlsZVByZWZpeFtdID0gImlucHV0W3R5cGU9XCJj
aGVja2JveFwiXSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoIjsKK3N0YXRpYyBjb25zdCBjaGFy
IHFDaGVja0JveERpc2FibGVkU3R5bGVQcmVmaXhbXSA9ICJpbnB1dFt0eXBlPVwiY2hlY2tib3hc
Il06ZGlzYWJsZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCI7CitzdGF0aWMgY29uc3QgY2hh
ciBxUmFkaW9CdXR0b25TdHlsZVByZWZpeFtdID0gImlucHV0W3R5cGU9XCJyYWRpb1wiXSB7IGJh
Y2tncm91bmQtY29sb3I6IHJnYmEoIjsKK3N0YXRpYyBjb25zdCBjaGFyIHFSYWRpb0J1dHRvbkRp
c2FibGVkU3R5bGVQcmVmaXhbXSA9ICJpbnB1dFt0eXBlPVwicmFkaW9cIl06ZGlzYWJsZWQgeyBi
YWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCI7CitzdGF0aWMgY29uc3QgY2hhciBxTGlzdEJveFN0eWxl
UHJlZml4W10gPSAic2VsZWN0W3NpemVdLCBzZWxlY3RbbXVsdGlwbGVdLCBzZWxlY3Rbc2l6ZV1b
bXVsdGlwbGVdLCBzZWxlY3Rbc2l6ZV0gb3B0aW9uLCBzZWxlY3RbbXVsdGlwbGVdIG9wdGlvbiwg
c2VsZWN0W3NpemVdW211bHRpcGxlXSBvcHRpb24gIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgi
Oworc3RhdGljIGNvbnN0IGNoYXIgcUxpc3RCb3hEaXNhYmxlZFN0eWxlUHJlZml4W10gPSAic2Vs
ZWN0W3NpemVdOmRpc2FibGVkLCBzZWxlY3RbbXVsdGlwbGVdOmRpc2FibGVkLCBzZWxlY3Rbc2l6
ZV1bbXVsdGlwbGVdOmRpc2FibGVkIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgiOworc3RhdGlj
IGNvbnN0IGNoYXIgcUNvbWJvQm94U3R5bGVQcmVmaXhbXSA9ICJzZWxlY3QsIGtleWdlbiwgc2Vs
ZWN0W3NpemU9XCIwXCJdLCBzZWxlY3Rbc2l6ZT1cIjFcIl0geyBiYWNrZ3JvdW5kLWNvbG9yOiBy
Z2JhKCI7CitzdGF0aWMgY29uc3QgY2hhciBxQ29tYm9Cb3hEaXNhYmxlZFN0eWxlUHJlZml4W10g
PSAic2VsZWN0OmRpc2FibGVkLCBrZXlnZW46ZGlzYWJsZWQsIHNlbGVjdFtzaXplPVwiMFwiXTpk
aXNhYmxlZCwgc2VsZWN0W3NpemU9XCIxXCJdOmRpc2FibGVkIHsgYmFja2dyb3VuZC1jb2xvcjog
cmdiYSgiOworCitTdHJpbmcgUmVuZGVyVGhlbWVRdDo6ZXh0cmFEZWZhdWx0U3R5bGVTaGVldCgp
Cit7CisgICAgUUJ5dGVBcnJheSBidWZmZXIgPSAiaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7LXdl
YmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGR9XHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9j
dXMge291dGxpbmUtb2Zmc2V0OiAtMnB4fVxyXG4iOworICAgIFFDb2xvciBpbml0aWFsOworICAg
IFFDb2xvciB3aGl0ZShRdDo6d2hpdGUpOworICAgIC8vIHRoZSBuZXcgUUxpbmVFZGl0IHNoYWxs
IGJlIGRlbGV0ZWQgYnkgYWRkU3R5bGVUZXh0Rm9yV2lkZ2V0CisgICAgYWRkU3R5bGVUZXh0Rm9y
V2lkZ2V0KG5ldyBRTGluZUVkaXQocGFnZU93bmVyV2lkZ2V0KCkpLCB3aGl0ZSwgIHFMaW5lRWRp
dFN0eWxlUHJlZml4LCBxTGluZUVkaXREaXNhYmxlZFN0eWxlUHJlZml4LCBidWZmZXIpOworICAg
IC8vIHRoZSBuZXcgUUNoZWNrQm94IHNoYWxsIGJlIGRlbGV0ZWQgYnkgYWRkU3R5bGVUZXh0Rm9y
V2lkZ2V0CisgICAgYWRkU3R5bGVUZXh0Rm9yV2lkZ2V0KG5ldyBRQ2hlY2tCb3gocGFnZU93bmVy
V2lkZ2V0KCkpLCBpbml0aWFsLAorICAgICAgICBxQ2hlY2tCb3hTdHlsZVByZWZpeCwgcUNoZWNr
Qm94RGlzYWJsZWRTdHlsZVByZWZpeCwgYnVmZmVyKTsKKyAgICAvLyB0aGUgbmV3IFFSYWRpb0J1
dHRvbiBzaGFsbCBiZSBkZWxldGVkIGJ5IGFkZFN0eWxlVGV4dEZvcldpZGdldAorICAgIGFkZFN0
eWxlVGV4dEZvcldpZGdldChuZXcgUVJhZGlvQnV0dG9uKHBhZ2VPd25lcldpZGdldCgpKSwgaW5p
dGlhbCwKKyAgICAgICAgcVJhZGlvQnV0dG9uU3R5bGVQcmVmaXgsIHFSYWRpb0J1dHRvbkRpc2Fi
bGVkU3R5bGVQcmVmaXgsIGJ1ZmZlcik7CisgICAgLy8gdGhlIG5ldyBRQ29tYm9Cb3ggc2hhbGwg
YmUgZGVsZXRlZCBieSBhZGRTdHlsZVRleHRGb3JXaWRnZXQKKyAgICBhZGRTdHlsZVRleHRGb3JX
aWRnZXQobmV3IFFDb21ib0JveChwYWdlT3duZXJXaWRnZXQoKSksIHdoaXRlLAorICAgICAgICBx
Q29tYm9Cb3hTdHlsZVByZWZpeCwgcUNvbWJvQm94RGlzYWJsZWRTdHlsZVByZWZpeCwgYnVmZmVy
KTsKKyAgICAvLyB0aGUgbmV3IFFMaXN0V2lkZ2V0IHNoYWxsIGJlIGRlbGV0ZWQgYnkgYWRkU3R5
bGVUZXh0Rm9yV2lkZ2V0CisgICAgYWRkU3R5bGVUZXh0Rm9yV2lkZ2V0KG5ldyBRTGlzdFdpZGdl
dChwYWdlT3duZXJXaWRnZXQoKSksIGluaXRpYWwsCisgICAgICAgIHFMaXN0Qm94U3R5bGVQcmVm
aXgsIHFMaXN0Qm94RGlzYWJsZWRTdHlsZVByZWZpeCwgYnVmZmVyKTsKKyAgICByZXR1cm4gU3Ry
aW5nKGJ1ZmZlci5jb25zdERhdGEoKSk7Cit9CisKIHN0YXRpYyBpbnQgZmluZEZyYW1lTGluZVdp
ZHRoKFFTdHlsZSogc3R5bGUpCiB7CiAgICAgUUxpbmVFZGl0IGxpbmVFZGl0OwpAQCAtMjgxLDYg
KzM4MywxNDAgQEAgdm9pZCBSZW5kZXJUaGVtZVF0OjpzeXN0ZW1Gb250KGludCwgRm9udAogICAg
IC8vIG5vLW9wCiB9CiAKKworZW51bSB7CisgICAgTm9ybWFsSW5kZXggPSAwLAorICAgIERpc2Fi
bGVkSW5kZXgsCisgICAgQ29udHJvbFN0YXRlQ291bnQKK30gQ29udHJvbFN0YXRlOworCisvKiBU
aGUgZm9sbG93aW5nIHZhcmlhYmxlcyBzdG9yZSB0aGUgZGVmYXVsdCBjb2xvcnMgZm9yIHZhcmlv
dXMgd2lkZ2V0cworICAgICogRWFjaCBvZiB0aGUgdmFyaWFibGVzIGlzIGFuIGFycmF5IHdpdGgg
Q29udHJvbFN0YXRlQ291bnQgZWxlbWVudHMgLgorICAgICogRWFjaCBvZiB0aGUgZWxlbWVudHMg
aW4gdGhlIGFycmF5IGNvbnRhaW5zIHRoZSBjb2xvciBmb3IgdGhlIAorICAgICogY29ycmVzcG9u
ZGluZyBzdGF0ZSBvZiB0aGUgY29udHJvbCBhcyBpbmRpY2F0ZWQgYnkgdGhlIENvbnRyb2xTdGF0
ZQorICAgICogZW51bWVyYXRpb24uCisgICAgKi8KK3N0YXRpYyBRQ29sb3IgZGVmYXVsdFFQdXNo
QnV0dG9uQmFja2dyb3VuZENvbG9yW0NvbnRyb2xTdGF0ZUNvdW50XTsKK3N0YXRpYyBRQ29sb3Ig
ZGVmYXVsdFFQdXNoQnV0dG9uVGV4dENvbG9yW0NvbnRyb2xTdGF0ZUNvdW50XTsKK3N0YXRpYyBR
Q29sb3IgZGVmYXVsdFFNZW51QmFja2dyb3VuZENvbG9yW0NvbnRyb2xTdGF0ZUNvdW50XTsKK3N0
YXRpYyBRQ29sb3IgZGVmYXVsdFFNZW51VGV4dENvbG9yW0NvbnRyb2xTdGF0ZUNvdW50XTsKK3N0
YXRpYyBRQ29sb3IgZGVmYXVsdFFTY3JvbGxiYXJCYWNrZ3JvdW5kQ29sb3JbQ29udHJvbFN0YXRl
Q291bnRdOworCisvLyBUaGlzIGZ1bmN0aW9uIGlzIGRlc2lnbmVkIHNwZWNpZmljYWxseSB0byBy
ZWR1Y2UgY29kZSBzaXplIGluIFJlbmRlclRoZW1lUXQ6OnN5c3RlbUNvbG9yLCB0aGVyZWZvcmUg
aXQgZG9lcyBub3QgaGF2ZSBhIG5pY2UgaW50ZXJmYWNlCisvLyBJdCBkZWxldGVzIHRoZSB3aWRn
ZXQgcGFzc2VkIGluLgorc3RhdGljIHZvaWQgc2V0V2lkZ2V0Q29sb3JzKFFXaWRnZXQqIHdpZGdl
dCwgUUNvbG9yKiBiYWNrZ3JvdW5kQ29sb3JzLCBRUGFsZXR0ZTo6Q29sb3JSb2xlIGJhY2tncm91
bmRSb2xlLCBRQ29sb3IqIGZvcmVncm91bmRDb2xvcnMsIFFQYWxldHRlOjpDb2xvclJvbGUgZm9y
ZWdyb3VuZFJvbGUpCit7CisgICAgd2lkZ2V0LT5zZXRBdHRyaWJ1dGUoUXQ6OldBX0RvbnRTaG93
T25TY3JlZW4pOworICAgIHdpZGdldC0+c2hvdygpOworICAgIFFQYWxldHRlIHBhbGV0dGUod2lk
Z2V0LT5wYWxldHRlKCkpOworICAgIHdpZGdldC0+aGlkZSgpOworICAgIGRlbGV0ZSB3aWRnZXQ7
CisgICAgYmFja2dyb3VuZENvbG9yc1tEaXNhYmxlZEluZGV4XSA9IHBhbGV0dGUuY29sb3IoUVBh
bGV0dGU6OkRpc2FibGVkLCBiYWNrZ3JvdW5kUm9sZSk7CisgICAgYmFja2dyb3VuZENvbG9yc1tO
b3JtYWxJbmRleF0gPSBwYWxldHRlLmNvbG9yKFFQYWxldHRlOjpOb3JtYWwsIGJhY2tncm91bmRS
b2xlKTsKKyAgICBpZiAoZm9yZWdyb3VuZENvbG9ycykgeworICAgICAgICBmb3JlZ3JvdW5kQ29s
b3JzW0Rpc2FibGVkSW5kZXhdID0gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6RGlzYWJsZWQsIGZv
cmVncm91bmRSb2xlKTsKKyAgICAgICAgZm9yZWdyb3VuZENvbG9yc1tOb3JtYWxJbmRleF0gPSBw
YWxldHRlLmNvbG9yKFFQYWxldHRlOjpOb3JtYWwsIGZvcmVncm91bmRSb2xlKTsKKyAgICB9Cit9
CisKKy8vIFRoaXMgZnVuY3Rpb24gaXMgY29waWVkIGZyb20gUmVuZGVyVGhlbWUuY3BwLmFuZCB1
cGRhdGVkIHRvIHJldHVybiB2YWx1ZXMgdGhhdAorLy8gbWF0Y2ggdGhlIHRoZSBRdCBzdHlsZSAr
IFFTdHlsZVNoZWV0cy4gVGhlIGhhcmRjb2RlZCBjb25zdGFudHMgZm91bmQgaW4gdGhlIAorLy8g
Z2VuZXJpYyBpbXBsZW1lbnRhdGlvbiBoYXZlIGJlZW4ga2VwdCB3aGVyZSBubyBRU3R5bGUgb3Ig
UVBhbGV0dGUgZXF1aXZhbGVudAorLy8gY29sb3Igcm9sZSBoYXMgYmVlbiBmb3VuZC4KK0NvbG9y
IFJlbmRlclRoZW1lUXQ6OnN5c3RlbUNvbG9yKGludCBjc3NWYWx1ZUlkKSBjb25zdAoreworICAg
IFFXaWRnZXQgKm93bmVyV2lkZ2V0ID0gcGFnZU93bmVyV2lkZ2V0KCk7CisgICAgUVBhbGV0dGUg
cGFsZXR0ZShvd25lcldpZGdldCA/IG93bmVyV2lkZ2V0LT5wYWxldHRlKCkgOiBRQXBwbGljYXRp
b246OnBhbGV0dGUoKSk7CisgICAgc3dpdGNoIChjc3NWYWx1ZUlkKSB7CisgICAgY2FzZSBDU1NW
YWx1ZUFjdGl2ZWJvcmRlcjoKKyAgICAgICAgcmV0dXJuIDB4RkZGRkZGRkY7CisgICAgY2FzZSBD
U1NWYWx1ZUFjdGl2ZWNhcHRpb246CisgICAgICAgIHJldHVybiAweEZGQ0NDQ0NDOworICAgIGNh
c2UgQ1NTVmFsdWVBcHB3b3Jrc3BhY2U6CisgICAgICAgIHJldHVybiAweEZGRkZGRkZGOworICAg
IGNhc2UgQ1NTVmFsdWVCYWNrZ3JvdW5kOgorICAgICAgICByZXR1cm4gMHhGRjYzNjNDRTsKKyAg
ICBjYXNlIENTU1ZhbHVlQnV0dG9uZmFjZToKKyAgICAgICAgLy8gdXNlIHRoZSBjYWNoZWQgdmFs
dWUgaWYgd2UgaGF2ZSBvbmUKKyAgICAgICAgaWYgKCFkZWZhdWx0UVB1c2hCdXR0b25CYWNrZ3Jv
dW5kQ29sb3JbTm9ybWFsSW5kZXhdLmlzVmFsaWQoKSkgeworICAgICAgICAgICAgLy90aGUgbmV3
IFFQdXNoQnV0dG9uIGlzIGRlbGV0ZWQgaW4gc2V0V2lkZ2V0Q29sb3JzKCkKKyAgICAgICAgICAg
IHNldFdpZGdldENvbG9ycyggbmV3IFFQdXNoQnV0dG9uKHBhZ2VPd25lcldpZGdldCgpKSwgZGVm
YXVsdFFQdXNoQnV0dG9uQmFja2dyb3VuZENvbG9yLCBRUGFsZXR0ZTo6QnV0dG9uLCBkZWZhdWx0
UVB1c2hCdXR0b25UZXh0Q29sb3IsIFFQYWxldHRlOjpUZXh0KTsKKyAgICAgICAgfQorICAgICAg
ICByZXR1cm4gZGVmYXVsdFFQdXNoQnV0dG9uQmFja2dyb3VuZENvbG9yW05vcm1hbEluZGV4XTsK
KyAgICBjYXNlIENTU1ZhbHVlQnV0dG9uaGlnaGxpZ2h0OgorICAgICAgICByZXR1cm4gcGFsZXR0
ZS5jb2xvcihRUGFsZXR0ZTo6TGlnaHQpOworICAgIGNhc2UgQ1NTVmFsdWVCdXR0b25zaGFkb3c6
CisgICAgICAgIHJldHVybiBwYWxldHRlLmNvbG9yKFFQYWxldHRlOjpTaGFkb3cpOworICAgIGNh
c2UgQ1NTVmFsdWVCdXR0b250ZXh0OgorICAgICAgICAvLyB1c2UgdGhlIGNhY2hlZCB2YWx1ZSBp
ZiB3ZSBoYXZlIG9uZQorICAgICAgICBpZiAoIWRlZmF1bHRRUHVzaEJ1dHRvblRleHRDb2xvcltO
b3JtYWxJbmRleF0uaXNWYWxpZCgpKSB7CisgICAgICAgICAgICAvL3RoZSBuZXcgUVB1c2hCdXR0
b24gaXMgZGVsZXRlZCBpbiBzZXRXaWRnZXRDb2xvcnMoKQorICAgICAgICAgICAgc2V0V2lkZ2V0
Q29sb3JzKCBuZXcgUVB1c2hCdXR0b24ocGFnZU93bmVyV2lkZ2V0KCkpLCBkZWZhdWx0UVB1c2hC
dXR0b25CYWNrZ3JvdW5kQ29sb3IsIFFQYWxldHRlOjpCdXR0b24sIGRlZmF1bHRRUHVzaEJ1dHRv
blRleHRDb2xvciwgUVBhbGV0dGU6OlRleHQpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBk
ZWZhdWx0UVB1c2hCdXR0b25UZXh0Q29sb3JbTm9ybWFsSW5kZXhdOworICAgIGNhc2UgQ1NTVmFs
dWVDYXB0aW9udGV4dDoKKyAgICAgICAgcmV0dXJuIHBhbGV0dGUuY29sb3IoUVBhbGV0dGU6Oldp
bmRvd1RleHQpOworICAgIGNhc2UgQ1NTVmFsdWVHcmF5dGV4dDoKKyAgICAgICAgcmV0dXJuIHBh
bGV0dGUuY29sb3IoUVBhbGV0dGU6OkRpc2FibGVkLCBRUGFsZXR0ZTo6VGV4dCk7CisgICAgY2Fz
ZSBDU1NWYWx1ZUhpZ2hsaWdodDoKKyAgICAgICAgcmV0dXJuIHBhbGV0dGUuY29sb3IoUVBhbGV0
dGU6OkhpZ2hsaWdodCk7CisgICAgY2FzZSBDU1NWYWx1ZUhpZ2hsaWdodHRleHQ6CisgICAgICAg
IHJldHVybiBwYWxldHRlLmNvbG9yKFFQYWxldHRlOjpIaWdobGlnaHRlZFRleHQpOworICAgIGNh
c2UgQ1NTVmFsdWVJbmFjdGl2ZWJvcmRlcjoKKyAgICAgICAgcmV0dXJuIDB4RkZGRkZGRkY7Cisg
ICAgY2FzZSBDU1NWYWx1ZUluYWN0aXZlY2FwdGlvbjoKKyAgICAgICAgcmV0dXJuIDB4RkZGRkZG
RkY7CisgICAgY2FzZSBDU1NWYWx1ZUluYWN0aXZlY2FwdGlvbnRleHQ6CisgICAgICAgIHJldHVy
biAweEZGN0Y3RjdGOworICAgIGNhc2UgQ1NTVmFsdWVJbmZvYmFja2dyb3VuZDoKKyAgICAgICAg
cmV0dXJuIHBhbGV0dGUuY29sb3IoUVBhbGV0dGU6OkluYWN0aXZlLCBRUGFsZXR0ZTo6VG9vbFRp
cEJhc2UpOworICAgIGNhc2UgQ1NTVmFsdWVJbmZvdGV4dDoKKyAgICAgICAgcmV0dXJuIHBhbGV0
dGUuY29sb3IoUVBhbGV0dGU6OkluYWN0aXZlLCBRUGFsZXR0ZTo6VG9vbFRpcFRleHQpOworICAg
IGNhc2UgQ1NTVmFsdWVNZW51OgorICAgICAgICAvLyB1c2UgdGhlIGNhY2hlZCB2YWx1ZSBpZiB3
ZSBoYXZlIG9uZQorICAgICAgICBpZiAoIWRlZmF1bHRRTWVudUJhY2tncm91bmRDb2xvcltOb3Jt
YWxJbmRleF0uaXNWYWxpZCgpKSB7CisgICAgICAgICAgICAvL3RoZSBuZXcgUU1lbnUgaXMgZGVs
ZXRlZCBpbiBzZXRXaWRnZXRDb2xvcnMoKQorICAgICAgICAgICAgc2V0V2lkZ2V0Q29sb3JzKCBu
ZXcgUU1lbnUocGFnZU93bmVyV2lkZ2V0KCkpLCBkZWZhdWx0UU1lbnVCYWNrZ3JvdW5kQ29sb3Is
IFFQYWxldHRlOjpCYXNlLCBkZWZhdWx0UU1lbnVUZXh0Q29sb3IsIFFQYWxldHRlOjpUZXh0KTsK
KyAgICAgICAgfQorICAgICAgICByZXR1cm4gZGVmYXVsdFFNZW51QmFja2dyb3VuZENvbG9yW05v
cm1hbEluZGV4XTsKKyAgICBjYXNlIENTU1ZhbHVlTWVudXRleHQ6CisgICAgICAgIC8vIHVzZSB0
aGUgY2FjaGVkIHZhbHVlIGlmIHdlIGhhdmUgb25lCisgICAgICAgIGlmICghZGVmYXVsdFFNZW51
VGV4dENvbG9yW05vcm1hbEluZGV4XS5pc1ZhbGlkKCkpIHsKKyAgICAgICAgICAgIC8vdGhlIG5l
dyBRTWVudSBpcyBkZWxldGVkIGluIHNldFdpZGdldENvbG9ycygpCisgICAgICAgICAgICBzZXRX
aWRnZXRDb2xvcnMoIG5ldyBRTWVudShwYWdlT3duZXJXaWRnZXQoKSksIGRlZmF1bHRRTWVudUJh
Y2tncm91bmRDb2xvciwgUVBhbGV0dGU6OkJhc2UsIGRlZmF1bHRRTWVudVRleHRDb2xvciwgUVBh
bGV0dGU6OlRleHQpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBkZWZhdWx0UU1lbnVCYWNr
Z3JvdW5kQ29sb3JbTm9ybWFsSW5kZXhdOworICAgIGNhc2UgQ1NTVmFsdWVTY3JvbGxiYXI6Cisg
ICAgICAgIC8vIHVzZSB0aGUgY2FjaGVkIHZhbHVlIGlmIHdlIGhhdmUgb25lCisgICAgICAgIGlm
ICghZGVmYXVsdFFTY3JvbGxiYXJCYWNrZ3JvdW5kQ29sb3JbTm9ybWFsSW5kZXhdLmlzVmFsaWQo
KSkgeworICAgICAgICAgICAgLy90aGUgbmV3IFFTY3JvbGxCYXIgaXMgZGVsZXRlZCBpbiBzZXRX
aWRnZXRDb2xvcnMoKQorICAgICAgICAgICAgc2V0V2lkZ2V0Q29sb3JzKCBuZXcgUVNjcm9sbEJh
cihwYWdlT3duZXJXaWRnZXQoKSksIGRlZmF1bHRRU2Nyb2xsYmFyQmFja2dyb3VuZENvbG9yLCBR
UGFsZXR0ZTo6QmFzZSwgMCwgUVBhbGV0dGU6Ok5vUm9sZSk7CisgICAgICAgIH0KKyAgICAgICAg
cmV0dXJuIGRlZmF1bHRRU2Nyb2xsYmFyQmFja2dyb3VuZENvbG9yW05vcm1hbEluZGV4XTsKKyAg
ICBjYXNlIENTU1ZhbHVlVGV4dDoKKyAgICAgICAgcmV0dXJuIHBhbGV0dGUuY29sb3IoUVBhbGV0
dGU6OlRleHQpOworICAgIGNhc2UgQ1NTVmFsdWVUaHJlZWRkYXJrc2hhZG93OgorICAgICAgICBy
ZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6RGFyayk7CisgICAgY2FzZSBDU1NWYWx1ZVRo
cmVlZGZhY2U6CisgICAgICAgIHJldHVybiBwYWxldHRlLmNvbG9yKFFQYWxldHRlOjpCdXR0b24p
OworICAgIGNhc2UgQ1NTVmFsdWVUaHJlZWRoaWdobGlnaHQ6CisgICAgICAgIHJldHVybiBwYWxl
dHRlLmNvbG9yKFFQYWxldHRlOjpMaWdodCk7CisgICAgY2FzZSBDU1NWYWx1ZVRocmVlZGxpZ2h0
c2hhZG93OgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6TWlkbGlnaHQp
OworICAgIGNhc2UgQ1NTVmFsdWVUaHJlZWRzaGFkb3c6CisgICAgICAgIHJldHVybiBwYWxldHRl
LmNvbG9yKFFQYWxldHRlOjpNaWQpOworICAgIGNhc2UgQ1NTVmFsdWVXaW5kb3c6CisgICAgICAg
IHJldHVybiBwYWxldHRlLmNvbG9yKFFQYWxldHRlOjpXaW5kb3cpOworICAgIGNhc2UgQ1NTVmFs
dWVXaW5kb3dmcmFtZToKKyAgICAgICAgcmV0dXJuIDB4RkZDQ0NDQ0M7CisgICAgY2FzZSBDU1NW
YWx1ZVdpbmRvd3RleHQ6CisgICAgICAgIHJldHVybiBwYWxldHRlLmNvbG9yKFFQYWxldHRlOjpX
aW5kb3dUZXh0KTsKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICB9CisgICAgcmV0dXJuIENvbG9yKCk7Cit9CisKIGludCBSZW5kZXJUaGVtZVF0OjptaW5p
bXVtTWVudUxpc3RTaXplKFJlbmRlclN0eWxlKikgY29uc3QKIHsKICAgICBjb25zdCBRRm9udE1l
dHJpY3MgJmZtID0gUUFwcGxpY2F0aW9uOjpmb250TWV0cmljcygpOwpAQCAtNDc2LDcgKzcxMiw3
IEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRCdXR0b24oUmVuZGVyT2IKICAgICBvcHRpb24u
cmVjdCA9IHI7CiAgICAgb3B0aW9uLnN0YXRlIHw9IFFTdHlsZTo6U3RhdGVfU21hbGw7CiAKLSAg
ICBDb250cm9sUGFydCBhcHBlYXJhbmNlID0gYXBwbHlUaGVtZShvcHRpb24sIG8pOworICAgIENv
bnRyb2xQYXJ0IGFwcGVhcmFuY2UgPSBhZGp1c3RDb21tb25RU3R5bGVPcHRpb25zKG9wdGlvbiwg
byk7CiAgICAgaWYgKGFwcGVhcmFuY2UgPT0gUHVzaEJ1dHRvblBhcnQgfHwgYXBwZWFyYW5jZSA9
PSBCdXR0b25QYXJ0KSB7CiAgICAgICAgIG9wdGlvbi5yZWN0ID0gaW5mbGF0ZUJ1dHRvblJlY3Qo
b3B0aW9uLnJlY3QsIHFTdHlsZSgpKTsKICAgICAgICAgcC5kcmF3Q29udHJvbChRU3R5bGU6OkNF
X1B1c2hCdXR0b24sIG9wdGlvbik7CkBAIC00OTAsNyArNzI2LDYgQEAgYm9vbCBSZW5kZXJUaGVt
ZVF0OjpwYWludEJ1dHRvbihSZW5kZXJPYgogCiB2b2lkIFJlbmRlclRoZW1lUXQ6OmFkanVzdFRl
eHRGaWVsZFN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5kZXJTdHlsZSogc3R5bGUsIEVsZW1l
bnQqKSBjb25zdAogewotICAgIHN0eWxlLT5zZXRCYWNrZ3JvdW5kQ29sb3IoQ29sb3I6OnRyYW5z
cGFyZW50KTsKICAgICBzdHlsZS0+cmVzZXRCb3JkZXIoKTsKICAgICBzdHlsZS0+cmVzZXRQYWRk
aW5nKCk7CiAgICAgY29tcHV0ZVNpemVCYXNlZE9uU3R5bGUoc3R5bGUpOwpAQCAtNTEyLDcgKzc0
Nyw3IEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRUZXh0RmllbGQoUmVuZGUKICAgICBwYW5l
bC5mZWF0dXJlcyA9IFFTdHlsZU9wdGlvbkZyYW1lVjI6Ok5vbmU7CiAKICAgICAvLyBHZXQgdGhl
IGNvcnJlY3QgdGhlbWUgZGF0YSBmb3IgYSB0ZXh0IGZpZWxkCi0gICAgQ29udHJvbFBhcnQgYXBw
ZWFyYW5jZSA9IGFwcGx5VGhlbWUocGFuZWwsIG8pOworICAgIENvbnRyb2xQYXJ0IGFwcGVhcmFu
Y2UgPSBhZGp1c3RDb21tb25RU3R5bGVPcHRpb25zKHBhbmVsLCBvKTsKICAgICBpZiAoYXBwZWFy
YW5jZSAhPSBUZXh0RmllbGRQYXJ0CiAgICAgICAgICYmIGFwcGVhcmFuY2UgIT0gU2VhcmNoRmll
bGRQYXJ0CiAgICAgICAgICYmIGFwcGVhcmFuY2UgIT0gVGV4dEFyZWFQYXJ0CkBAIC01NzQsNyAr
ODA5LDcgQEAgYm9vbCBSZW5kZXJUaGVtZVF0OjpwYWludE1lbnVMaXN0KFJlbmRlcgogICAgIFFT
dHlsZU9wdGlvbkNvbWJvQm94IG9wdDsKICAgICBpZiAocC53aWRnZXQpCiAgICAgICAgIG9wdC5p
bml0RnJvbShwLndpZGdldCk7Ci0gICAgYXBwbHlUaGVtZShvcHQsIG8pOworICAgIGFkanVzdENv
bW1vblFTdHlsZU9wdGlvbnMob3B0LCBvKTsKIAogICAgIGNvbnN0IFFQb2ludCB0b3BMZWZ0ID0g
ci50b3BMZWZ0KCk7CiAgICAgcC5wYWludGVyLT50cmFuc2xhdGUodG9wTGVmdCk7CkBAIC02MTQs
NyArODQ5LDcgQEAgYm9vbCBSZW5kZXJUaGVtZVF0OjpwYWludE1lbnVMaXN0QnV0dG9uKAogICAg
IFFTdHlsZU9wdGlvbkNvbWJvQm94IG9wdGlvbjsKICAgICBpZiAocC53aWRnZXQpCiAgICAgICAg
IG9wdGlvbi5pbml0RnJvbShwLndpZGdldCk7Ci0gICAgYXBwbHlUaGVtZShvcHRpb24sIG8pOwor
ICAgIGFkanVzdENvbW1vblFTdHlsZU9wdGlvbnMob3B0aW9uLCBvKTsKICAgICBvcHRpb24ucmVj
dCA9IHI7CiAKICAgICAvLyBmb3IgZHJhd2luZyB0aGUgY29tYm8gYm94IGFycm93LCByZWx5IG9u
bHkgb24gdGhlIGZhbGxiYWNrIHN0eWxlCkBAIC02NDIsMTUgKzg3NywxNSBAQCBib29sIFJlbmRl
clRoZW1lUXQ6OnBhaW50U2xpZGVyVGh1bWIoUmVuCiBib29sIFJlbmRlclRoZW1lUXQ6OnBhaW50
U2VhcmNoRmllbGQoUmVuZGVyT2JqZWN0KiBvLCBjb25zdCBSZW5kZXJPYmplY3Q6OlBhaW50SW5m
byYgcGksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50UmVj
dCYgcikKIHsKLSAgICBwYWludFRleHRGaWVsZChvLCBwaSwgcik7Ci0gICAgcmV0dXJuIGZhbHNl
OworICAgIC8vIFRoaXMgY2F1c2VzIHdlYmtpdCB0byBkcmF3IHRoZSBiYWNrZ3JvdW5kIGFuZCB0
aGUgYm9yZGVyIGl0c2VsZiwganVzdCBhcyBmb3IgdGhlIGVkaXQgY29udHJvbC4KKyAgICAvLyBJ
dCBpcyB0aGUgZXh0cmFTdHlsZVNoZWV0IGZ1bmN0aW9uIHRoYXQgZ2l2ZXMgdGhlIHNlYXJjaCBj
b250cm9sIHRoZSBuaWNlIHJvdW5kZWQgbG9vay4KKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogdm9p
ZCBSZW5kZXJUaGVtZVF0OjphZGp1c3RTZWFyY2hGaWVsZFN0eWxlKENTU1N0eWxlU2VsZWN0b3Iq
IHNlbGVjdG9yLCBSZW5kZXJTdHlsZSogc3R5bGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgRWxlbWVudCogZSkgY29uc3QKIHsKICAgICBub3RJbXBsZW1lbnRl
ZCgpOwotICAgIFJlbmRlclRoZW1lOjphZGp1c3RTZWFyY2hGaWVsZFN0eWxlKHNlbGVjdG9yLCBz
dHlsZSwgZSk7CiB9CiAKIHZvaWQgUmVuZGVyVGhlbWVRdDo6YWRqdXN0U2VhcmNoRmllbGRDYW5j
ZWxCdXR0b25TdHlsZShDU1NTdHlsZVNlbGVjdG9yKiBzZWxlY3RvciwgUmVuZGVyU3R5bGUqIHN0
eWxlLApAQCAtNzEyLDcgKzk0Nyw3IEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6c3VwcG9ydHNGb2N1
cyhDb250cm8KICAgICB9CiB9CiAKLUNvbnRyb2xQYXJ0IFJlbmRlclRoZW1lUXQ6OmFwcGx5VGhl
bWUoUVN0eWxlT3B0aW9uJiBvcHRpb24sIFJlbmRlck9iamVjdCogbykgY29uc3QKK0NvbnRyb2xQ
YXJ0IFJlbmRlclRoZW1lUXQ6OmFkanVzdENvbW1vblFTdHlsZU9wdGlvbnMoUVN0eWxlT3B0aW9u
JiBvcHRpb24sIFJlbmRlck9iamVjdCogbykgY29uc3QKIHsKICAgICAvLyBEZWZhdWx0IGJpdHM6
IG5vIGZvY3VzLCBubyBtb3VzZSBvdmVyCiAgICAgb3B0aW9uLnN0YXRlICY9IH4oUVN0eWxlOjpT
dGF0ZV9IYXNGb2N1cyB8IFFTdHlsZTo6U3RhdGVfTW91c2VPdmVyKTsKQEAgLTcyNCwyMCArOTU5
LDI2IEBAIENvbnRyb2xQYXJ0IFJlbmRlclRoZW1lUXQ6OmFwcGx5VGhlbWUoUVMKICAgICAgICAg
Ly8gUmVhZG9ubHkgaXMgc3VwcG9ydGVkIG9uIHRleHRmaWVsZHMuCiAgICAgICAgIG9wdGlvbi5z
dGF0ZSB8PSBRU3R5bGU6OlN0YXRlX1JlYWRPbmx5OwogCi0gICAgaWYgKHN1cHBvcnRzRm9jdXMo
by0+c3R5bGUoKS0+YXBwZWFyYW5jZSgpKSAmJiBpc0ZvY3VzZWQobykpIHsKLSAgICAgICAgb3B0
aW9uLnN0YXRlIHw9IFFTdHlsZTo6U3RhdGVfSGFzRm9jdXM7Ci0gICAgICAgIG9wdGlvbi5zdGF0
ZSB8PSBRU3R5bGU6OlN0YXRlX0tleWJvYXJkRm9jdXNDaGFuZ2U7Ci0gICAgfQorICAgIG9wdGlv
bi5kaXJlY3Rpb24gPSBRdDo6TGVmdFRvUmlnaHQ7CiAKICAgICBpZiAoaXNIb3ZlcmVkKG8pKQog
ICAgICAgICBvcHRpb24uc3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9Nb3VzZU92ZXI7CiAKLSAgICBv
cHRpb24uZGlyZWN0aW9uID0gUXQ6OkxlZnRUb1JpZ2h0OwotICAgIGlmIChvLT5zdHlsZSgpICYm
IG8tPnN0eWxlKCktPmRpcmVjdGlvbigpID09IFdlYkNvcmU6OlJUTCkKLSAgICAgICAgb3B0aW9u
LmRpcmVjdGlvbiA9IFF0OjpSaWdodFRvTGVmdDsKKyAgICBpbml0UGFsZXR0ZUZyb21QYWdlQ2xp
ZW50SWZFeGlzdHMob3B0aW9uLnBhbGV0dGUsIG8pOworICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9
IG8tPnN0eWxlKCk7CisgICAgaWYgKCFzdHlsZSkKKyAgICAgICAgcmV0dXJuIE5vQ29udHJvbFBh
cnQ7CisKKyAgICBDb250cm9sUGFydCByZXN1bHQgPSBzdHlsZS0+YXBwZWFyYW5jZSgpOworICAg
IGlmIChzdXBwb3J0c0ZvY3VzKHJlc3VsdCkgJiYgaXNGb2N1c2VkKG8pKSB7CisgICAgICAgIG9w
dGlvbi5zdGF0ZSB8PSBRU3R5bGU6OlN0YXRlX0hhc0ZvY3VzOworICAgICAgICBvcHRpb24uc3Rh
dGUgfD0gUVN0eWxlOjpTdGF0ZV9LZXlib2FyZEZvY3VzQ2hhbmdlOworICAgIH0KIAotICAgIENv
bnRyb2xQYXJ0IHJlc3VsdCA9IG8tPnN0eWxlKCktPmFwcGVhcmFuY2UoKTsKKyAgICBpZiAoc3R5
bGUtPmRpcmVjdGlvbigpID09IFdlYkNvcmU6OlJUTCkKKyAgICAgICAgb3B0aW9uLmRpcmVjdGlv
biA9IFF0OjpSaWdodFRvTGVmdDsKIAorICAgIFFDb2xvciBiYWNrZ3JvdW5kQ29sb3IgPSBzdHls
ZS0+YmFja2dyb3VuZENvbG9yKCk7CiAgICAgc3dpdGNoIChyZXN1bHQpIHsKICAgICBjYXNlIFB1
c2hCdXR0b25QYXJ0OgogICAgIGNhc2UgU3F1YXJlQnV0dG9uUGFydDoKQEAgLTc1MSwyMCArOTky
LDMwIEBAIENvbnRyb2xQYXJ0IFJlbmRlclRoZW1lUXQ6OmFwcGx5VGhlbWUoUVMKICAgICAgICAg
ICAgIG9wdGlvbi5zdGF0ZSB8PSBRU3R5bGU6OlN0YXRlX1N1bmtlbjsKICAgICAgICAgZWxzZSBp
ZiAocmVzdWx0ID09IFB1c2hCdXR0b25QYXJ0KQogICAgICAgICAgICAgb3B0aW9uLnN0YXRlIHw9
IFFTdHlsZTo6U3RhdGVfUmFpc2VkOworICAgICAgICAgICAgb3B0aW9uLnBhbGV0dGUuc2V0Q29s
b3IoUVBhbGV0dGU6OkJ1dHRvbiwgYmFja2dyb3VuZENvbG9yKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgfQotICAgIH0KLQotICAgIGlmIChyZXN1bHQgPT0gUmFkaW9QYXJ0IHx8IHJlc3VsdCA9PSBD
aGVja2JveFBhcnQpCisgICAgY2FzZSBSYWRpb1BhcnQ6CisgICAgY2FzZSBDaGVja2JveFBhcnQ6
CiAgICAgICAgIG9wdGlvbi5zdGF0ZSB8PSAoaXNDaGVja2VkKG8pID8gUVN0eWxlOjpTdGF0ZV9P
biA6IFFTdHlsZTo6U3RhdGVfT2ZmKTsKLQotICAgIC8vIElmIHRoZSBvd25lciB3aWRnZXQgaGFz
IGEgY3VzdG9tIHBhbGV0dGUsIHVzZSBpdAotICAgIFBhZ2UqIHBhZ2UgPSBvLT5kb2N1bWVudCgp
LT5wYWdlKCk7Ci0gICAgaWYgKHBhZ2UpIHsKLSAgICAgICAgQ2hyb21lQ2xpZW50KiBjbGllbnQg
PSBwYWdlLT5jaHJvbWUoKS0+Y2xpZW50KCk7Ci0gICAgICAgIFFXZWJQYWdlQ2xpZW50KiBwYWdl
Q2xpZW50ID0gY2xpZW50LT5wbGF0Zm9ybVBhZ2VDbGllbnQoKTsKLSAgICAgICAgaWYgKHBhZ2VD
bGllbnQpCi0gICAgICAgICAgICBvcHRpb24ucGFsZXR0ZSA9IHBhZ2VDbGllbnQtPnBhbGV0dGUo
KTsKKyAgICBjYXNlIE1lbnVsaXN0UGFydDoKKyAgICAgICAgLy8gV2UgYXJlIHNldHRpbmcgaGVy
ZSBhbGwgYmFja2dyb3VuZCBjb2xvcnMgYmVjYXVzZToKKyAgICAgICAgLy8gMS4gSFRNTCBkb2Vz
IG5vdCBzdXBwb3J0IG11bHRpcGxlIGJhY2tncm91bmQgY29sb3JzIGZvciB0aGVzZSBjb250cm9s
cworICAgICAgICAvLyAgICB0aHVzIGl0IG1ha2VzIHNlbnNlIHRvIHJlZHVjZSBhbGwgYmFja2dy
b3VuZCBjb2xvcnMgdG8gb25lLgorICAgICAgICAvLyAyLiBEaWZmZXJlbnQgc3R5bGVzIChzdWNo
IGFzIG1vdGlmIGFuZCB3aW5kb3dzKSB1c2UgZGlmZmVyZW50IHBhbGV0dGUKKyAgICAgICAgLy8g
ICAgaW5kZXhlcyB0byByZW5kZXIgdGhlIGNvbnRyb2wncyBiYWNrZ3JvdW5kCisgICAgICAgIG9w
dGlvbi5wYWxldHRlLnNldENvbG9yKFFQYWxldHRlOjpCdXR0b24sIGJhY2tncm91bmRDb2xvcik7
CisgICAgICAgIG9wdGlvbi5wYWxldHRlLnNldENvbG9yKFFQYWxldHRlOjpXaW5kb3csIGJhY2tn
cm91bmRDb2xvcik7CisgICAgICAgIG9wdGlvbi5wYWxldHRlLnNldENvbG9yKFFQYWxldHRlOjpC
YXNlLCBiYWNrZ3JvdW5kQ29sb3IpOworICAgICAgICBvcHRpb24ucGFsZXR0ZS5zZXRDb2xvcihR
UGFsZXR0ZTo6VGV4dCwgc3R5bGUtPmNvbG9yKCkpOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IExpc3Rib3hQYXJ0OgorICAgICAgICBvcHRpb24ucGFsZXR0ZS5zZXRDb2xvcihRUGFsZXR0ZTo6
VGV4dCwgc3R5bGUtPmNvbG9yKCkpOworICAgIGNhc2UgU2VhcmNoRmllbGRQYXJ0OgorICAgIGNh
c2UgVGV4dEZpZWxkUGFydDoKKyAgICBjYXNlIFRleHRBcmVhUGFydDoKKyAgICAgICAgb3B0aW9u
LnBhbGV0dGUuc2V0Q29sb3IoUVBhbGV0dGU6OkJhc2UsIGJhY2tncm91bmRDb2xvcik7CisgICAg
ICAgIGJyZWFrOwogICAgIH0KIAogICAgIHJldHVybiByZXN1bHQ7CkluZGV4OiBXZWJDb3JlL3Bs
YXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3Jt
L3F0L1JlbmRlclRoZW1lUXQuaAkocmV2aXNpb24gNTEzMTApCisrKyBXZWJDb3JlL3BsYXRmb3Jt
L3F0L1JlbmRlclRoZW1lUXQuaAkod29ya2luZyBjb3B5KQpAQCAtMjIsNiArMjIsNyBAQAogI2lm
bmRlZiBSZW5kZXJUaGVtZVF0X0gKICNkZWZpbmUgUmVuZGVyVGhlbWVRdF9ICiAKKyNpbmNsdWRl
ICJRV2ViUGFnZUNsaWVudC5oIgogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAKICNpbmNsdWRl
IDxRU3R5bGU+CkBAIC00Myw2ICs0NCw3IEBAIHByaXZhdGU6CiAKIHB1YmxpYzoKICAgICBzdGF0
aWMgUGFzc1JlZlB0cjxSZW5kZXJUaGVtZT4gY3JlYXRlKFBhZ2UqKTsKKyAgICBzdGF0aWMgdm9p
ZCBhZGRTdHlsZVRleHRJZk5lZWRlZChjb25zdCBRQ29sb3IqIGNvbG9yLCBjb25zdCBRQ29sb3Im
IGRlZmF1bHRDb2xvciwgY29uc3QgY2hhciogcHJlZml4LCBjb25zdCBjaGFyKiBzdWZmaXgsIFFC
eXRlQXJyYXkmIGJ1ZmZlciwgYm9vbCBzY2FsZUFscGhhKTsKIAogICAgIHZpcnR1YWwgYm9vbCBz
dXBwb3J0c0hvdmVyKGNvbnN0IFJlbmRlclN0eWxlKikgY29uc3Q7CiAgICAgdmlydHVhbCBib29s
IHN1cHBvcnRzRm9jdXNSaW5nKGNvbnN0IFJlbmRlclN0eWxlKiBzdHlsZSkgY29uc3Q7CkBAIC02
NCw2ICs2Niw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIENvbG9yIHBsYXRmb3JtSW5hY3RpdmVT
ZWxlY3Rpb25Gb3JlZ3JvdW5kQ29sb3IoKSBjb25zdDsKIAogICAgIHZpcnR1YWwgdm9pZCBzeXN0
ZW1Gb250KGludCBwcm9wSWQsIEZvbnREZXNjcmlwdGlvbiYpIGNvbnN0OworICAgIHZpcnR1YWwg
Q29sb3Igc3lzdGVtQ29sb3IoaW50IGNzc1ZhbHVlSWQpIGNvbnN0OwogCiAgICAgdmlydHVhbCBp
bnQgbWluaW11bU1lbnVMaXN0U2l6ZShSZW5kZXJTdHlsZSopIGNvbnN0OwogCkBAIC03MSw2ICs3
NCwxMSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGRvdWJsZSBjYXJldEJsaW5rSW50ZXJ2YWwo
KSBjb25zdDsKIAorCisgICAgLyogVGhlc2UgbWV0aG9kcyByZXR1cm4gdGhlIHRoZW1lJ3MgZXh0
cmEgc3R5bGUgc2hlZXRzIHJ1bGVzLCB0byBsZXQgZWFjaCBwbGF0Zm9ybQorICAgICAqIGFkanVz
dCB0aGUgZGVmYXVsdCBDU1MgcnVsZXMgaW4gaHRtbC5jc3MsIHF1aXJrcy5jc3MsIG9yIG1lZGlh
Q29udHJvbHMuY3NzCisgICAgICovCisgICAgdmlydHVhbCBTdHJpbmcgZXh0cmFEZWZhdWx0U3R5
bGVTaGVldCgpOwogI2lmIEVOQUJMRShWSURFTykKICAgICB2aXJ0dWFsIFN0cmluZyBleHRyYU1l
ZGlhQ29udHJvbHNTdHlsZVNoZWV0KCk7CiAjZW5kaWYKQEAgLTExMyw2ICsxMjEsMTEgQEAgcHJv
dGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0
aW9uU3R5bGUoQ1NTU3R5bGVTZWxlY3RvciosIFJlbmRlclN0eWxlKiwgRWxlbWVudCopIGNvbnN0
OwogICAgIHZpcnR1YWwgYm9vbCBwYWludFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb24oUmVu
ZGVyT2JqZWN0KiwgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25zdCBJbnRSZWN0
Jik7CiAKKyAgICAvKiBHZXRzIG93bmVyIHdpZGdldCBmb3IgbV9wYWdlCisgICAgICogSWYgbV9w
YWdlIGlzIDAgcGFnZU93bmVyV2lkZ2V0IHJldHVybnMgMC4KKyAgICAgKi8KKyAgICBRV2lkZ2V0
KiBwYWdlT3duZXJXaWRnZXQoKSBjb25zdDsKKwogI2lmIEVOQUJMRShWSURFTykKICAgICB2aXJ0
dWFsIGJvb2wgcGFpbnRNZWRpYUZ1bGxzY3JlZW5CdXR0b24oUmVuZGVyT2JqZWN0KiwgY29uc3Qg
UmVuZGVyT2JqZWN0OjpQYWludEluZm8mLCBjb25zdCBJbnRSZWN0Jik7CiAgICAgdmlydHVhbCBi
b29sIHBhaW50TWVkaWFQbGF5QnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVj
dDo6UGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOwpAQCAtMTMyLDcgKzE0NSw3IEBAIHByaXZh
dGU6CiBwcml2YXRlOgogICAgIGJvb2wgc3VwcG9ydHNGb2N1cyhDb250cm9sUGFydCkgY29uc3Q7
CiAKLSAgICBDb250cm9sUGFydCBhcHBseVRoZW1lKFFTdHlsZU9wdGlvbiYsIFJlbmRlck9iamVj
dCopIGNvbnN0OworICAgIENvbnRyb2xQYXJ0IGFkanVzdENvbW1vblFTdHlsZU9wdGlvbnMoUVN0
eWxlT3B0aW9uJiwgUmVuZGVyT2JqZWN0KikgY29uc3Q7CiAKICAgICB2b2lkIHNldEJ1dHRvblBh
ZGRpbmcoUmVuZGVyU3R5bGUqKSBjb25zdDsKICAgICB2b2lkIHNldFBvcHVwUGFkZGluZyhSZW5k
ZXJTdHlsZSopIGNvbnN0OwpAQCAtMTc4LDYgKzE5MSw2IEBAIHByaXZhdGU6CiAgICAgUV9ESVNB
QkxFX0NPUFkoU3R5bGVQYWludGVyKQogfTsKIAotfQorfSAgLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAogI2VuZGlmCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCShyZXZpc2lvbiA1MTMx
MCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzAwLDExICszMDAsMTYgQEAgYm9vbCBSZW5kZXJUaGVtZTo6cGFpbnQoUmVuZGVyT2JqZWN0
KiBvLAogICAgICAgICAgICAgcmV0dXJuIHBhaW50TWVkaWFDdXJyZW50VGltZShvLCBwYWludElu
Zm8sIHIpOwogICAgICAgICBjYXNlIE1lZGlhQ29udHJvbHNCYWNrZ3JvdW5kUGFydDoKICAgICAg
ICAgICAgIHJldHVybiBwYWludE1lZGlhQ29udHJvbHNCYWNrZ3JvdW5kKG8sIHBhaW50SW5mbywg
cik7Ci0gICAgICAgIGNhc2UgTWVudWxpc3RCdXR0b25QYXJ0OgorI2lmIFBMQVRGT1JNKFFUKQog
ICAgICAgICBjYXNlIFRleHRGaWVsZFBhcnQ6CisgICAgICAgICAgICByZXR1cm4gcGFpbnRUZXh0
RmllbGQobywgcGFpbnRJbmZvLCByKTsKICAgICAgICAgY2FzZSBUZXh0QXJlYVBhcnQ6CisgICAg
ICAgICAgICByZXR1cm4gcGFpbnRUZXh0QXJlYShvLCBwYWludEluZm8sIHIpOworI2Vsc2UKKyAg
ICAgICAgY2FzZSBNZW51bGlzdEJ1dHRvblBhcnQ6CiAgICAgICAgIGNhc2UgTGlzdGJveFBhcnQ6
CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyNlbmRpZgogICAgICAgICBjYXNlIFNlYXJjaEZp
ZWxkUGFydDoKICAgICAgICAgICAgIHJldHVybiBwYWludFNlYXJjaEZpZWxkKG8sIHBhaW50SW5m
bywgcik7CiAgICAgICAgIGNhc2UgU2VhcmNoRmllbGRDYW5jZWxCdXR0b25QYXJ0OgpJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gNTE2NDIpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwyOCBAQAorMjAwOS0xMi0wMyAgQ2Fyb2wgU3phYm8gIDxjYXJvbC5zemFi
b0Bub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgW1F0XSBNYWtlIGl0IHBvc3NpYmxlIHRvIGFwcGx5IHRoZSBDU1MgYmFja2dyb3VuZCBj
b2xvciB0byB0aGUgbmF0aXZlIHBhaW50ZWQgd2lkZ2V0cyBpbnN0ZWFkIG9mIHRvIHRoZSBhY3R1
YWwgZWxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MzAxNzMKKworICAgICAgICAqIHBsYXRmb3JtL3F0L2NzczEvYm94X3Byb3BlcnRpZXMvYWNp
ZF90ZXN0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Nzcy9wc2V1
ZG8tY2FjaGUtc3RhbGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3Qv
ZG9tL0hUTUxUYWJsZUNvbEVsZW1lbnQvcmVzaXplLXRhYmxlLXVzaW5nLWNvbC13aWR0aC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9iYXNpYy1idXR0b25z
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL2Jhc2ljLWlu
cHV0cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9idXR0
b24tc3R5bGUtY29sb3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3Qv
Zm9ybXMvaXNpbmRleC1wbGFjZWhvbGRlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZv
cm0vcXQvZmFzdC9mb3Jtcy9tZW51bGlzdC1zdHlsZS1jb2xvci1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0LXN0eWxlLWNvbG9yLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVy
LXBzZXVkby1zdHlsZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9m
b3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci1zZXQtYXR0cmlidXRlLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXNldC12
YWx1ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvdGFibGVzL21vemlsbGEv
YnVncy9idWc5MjY0Ny0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgVXBkYXRlZCB0aGUgdGVzdHMg
dG8gbWF0Y2ggdGhlIGV4cGVjdGVkIGNvbG9yIGZvciBmb3JtIGNvbnRyb2xzIHdpdGgKKyAgICAg
ICAgdGhlIGRlZmF1bHQgbmF0aXZlIGNvbG9yIGZvciB0aGUgd2luZG93cyB0aGVtZSB3aGljaCBp
cyB1c2VkIGZvciAKKyAgICAgICAgcnVubmluZyB0aGUgdGVzdHMuIEZvciBzb21lIGNvbnRyb2xz
IHNvbWUgc2l6ZSBjaGFyYWN0ZXJpc3RpY3MgYWxzbworICAgICAgICBuZWVkZWQgdXBkYXRlcyBp
biBzb21lIHRlc3RzIGR1ZSB0byBiZWluZyByZW5kZXJlZCBieSB0aGUgdGhlbWUuCisKIDIwMDkt
MTItMDMgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGd1c3Rhdm8ubm9yb25oYUBjb2xsYWJvcmEu
Y28udWs+CiAKICAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgT2xpdmVyIEh1bnQuCkluZGV4OiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9jc3MxL2JveF9wcm9wZXJ0aWVzL2FjaWRfdGVzdC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvY3NzMS9ib3hf
cHJvcGVydGllcy9hY2lkX3Rlc3QtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1MTMxMCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL3F0L2NzczEvYm94X3Byb3BlcnRpZXMvYWNpZF90ZXN0LWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjMsMTIgKzIzLDEyIEBAIGxheWVyIGF0ICgwLDAp
IHNpemUgODAweDQyMAogICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBz
aXplIDEzOXgxOQogICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDMp
IHNpemUgMjd4MTIKICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMykgd2lkdGgg
Mjc6ICJiYW5nICIKLSAgICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtJTlBVVH0gYXQgKDI5
LDMpIHNpemUgMTJ4MTIgW2NvbG9yPSMwMDAwMDBdCisgICAgICAgICAgICAgICAgICBSZW5kZXJC
bG9jayB7SU5QVVR9IGF0ICgyOSwzKSBzaXplIDEyeDEyIFtjb2xvcj0jMDAwMDAwXSBbYmdjb2xv
cj0jRDREMEM4XQogICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMHgwCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDE5KSBzaXpl
IDEzOXgxOQogICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDMpIHNp
emUgNDF4MTIKICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMykgd2lkdGggNDE6
ICJ3aGltcGVyICIKLSAgICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtJTlBVVH0gYXQgKDQz
LDMpIHNpemUgMTJ4MTIgW2NvbG9yPSMwMDAwMDBdCisgICAgICAgICAgICAgICAgICBSZW5kZXJC
bG9jayB7SU5QVVR9IGF0ICg0MywzKSBzaXplIDEyeDEyIFtjb2xvcj0jMDAwMDAwXSBbYmdjb2xv
cj0jRDREMEM4XQogICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMHgwCiAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgxMCw1
OCkgc2l6ZSAxMzl4MAogICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7Rk9STX0gYXQgKDAs
MCkgc2l6ZSAweDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvY3NzL3BzZXVk
by1jYWNoZS1zdGFsZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvZmFzdC9jc3MvcHNldWRvLWNhY2hlLXN0YWxlLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gNTEzMTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Nzcy9wc2V1ZG8tY2Fj
aGUtc3RhbGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xMywxNCArMTMsMTQgQEAg
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDI5OHg0MAogICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDI5
ODogIlRoaXMgc2VudGVuY2Ugc2hvdWxkIGJlIGV4dHJhLWV4dHJhLWxhcmdlLiIKICAgICAgIFJl
bmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDYwKSBzaXplIDc4NHgzMAotICAgICAgICBSZW5k
ZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyLDIpIHNpemUgMTc3eDI2IFtiZ2NvbG9yPSNGRkZG
RkZdIFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCi0gICAgICAgICAgUmVuZGVyQmxvY2sg
e0RJVn0gYXQgKDMsMykgc2l6ZSAxNzF4MjAKKyAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lO
UFVUfSBhdCAoMiwyKSBzaXplIDE3NXgyNiBbYmdjb2xvcj0jRkZGRkZGXQorICAgICAgICAgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICgyLDMpIHNpemUgMTcxeDIwCiAgICAgICAgICAgICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMCwxNikgc2l6ZSAweDAKICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgxNzEsMTYpIHNpemUgMHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAw
eDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi1sYXllciBh
dCAoMTMsNzMpIHNpemUgMTcxeDIwCitsYXllciBhdCAoMTIsNzMpIHNpemUgMTcxeDIwCiAgIFJl
bmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTcxeDIwIFtjb2xvcj0jMDA4MDAwXQogICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwwKSBzaXplIDE1MHgyMAogICAgICAgdGV4dCBydW4g
YXQgKDEsMCkgd2lkdGggMTUwOiAiVGhpcyBzaG91bGQgYmUgZ3JlZW4iCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MVGFibGVDb2xFbGVtZW50L3Jlc2l6ZS10YWJs
ZS11c2luZy1jb2wtd2lkdGgtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxUYWJsZUNvbEVsZW1lbnQvcmVzaXplLXRhYmxlLXVz
aW5nLWNvbC13aWR0aC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDUxMzEwKQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTFRhYmxlQ29sRWxlbWVudC9yZXNpemUtdGFibGUt
dXNpbmctY29sLXdpZHRoLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAs
NyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgyLDIpIHNpemUgNzd4MjAKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMiwyKSB3aWR0aCA3NzogImNvbCAzIHJvdyAzIgogICAgICAgUmVuZGVyQmxvY2sgKGFub255
bW91cykgYXQgKDAsNTYpIHNpemUgNzg0eDM1Ci0gICAgICAgIFJlbmRlckJ1dHRvbiB7QlVUVE9O
fSBhdCAoMiwyKSBzaXplIDQ3MHgzMSBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICBSZW5kZXJC
dXR0b24ge0JVVFRPTn0gYXQgKDIsMikgc2l6ZSA0NzB4MzEgW2JnY29sb3I9I0Q0RDBDOF0KICAg
ICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2KSBzaXplIDQ1OHgyMAogICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDU4eDIwCiAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQ1ODogIkNsaWNrIG1lIHRvIHRlc3QgbWFu
dWFsbHkuIFRoZSBmaXJzdCBjb2x1bW4gc2hvdWxkIGdyb3cgdG8gNTAwcHguIgpJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9iYXNpYy1idXR0b25zLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL2Jhc2lj
LWJ1dHRvbnMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1MTMxMCkKKysrIExheW91dFRlc3RzL3Bs
YXRmb3JtL3F0L2Zhc3QvZm9ybXMvYmFzaWMtYnV0dG9ucy1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTM3LDE0ICszNywxNCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzNzcKICAg
ICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgNTh4MjAKICAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCA1ODogIihkZWZhdWx0KSIKICAgICAg
ICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgxODQsMjIpIHNpemUgNjR4MzcgW3I9MSBj
PTEgcnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDMs
Mykgc2l6ZSAyMngzMSBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICAgICAgICBSZW5kZXJCdXR0
b24ge0JVVFRPTn0gYXQgKDMsMykgc2l6ZSAyMngzMSBbYmdjb2xvcj0jRDREMEM4XQogICAgICAg
ICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNpemUgMTB4MjAKICAg
ICAgICAgICAgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDYpIHNpemUgMTB4MTAKICAg
ICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgyNDgsMjkpIHNpemUgMTY0eDIyIFty
PTEgYz0yIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgx
LDEpIHNpemUgMTEyeDIwCiAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGgg
MTEyOiAiKDMxLCAxMikgKDMxLCAxMikiCiAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1RE
fSBhdCAoNDEyLDIyKSBzaXplIDE0MngzNyBbcj0xIGM9MyBycz0xIGNzPTFdCi0gICAgICAgICAg
ICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgzLDMpIHNpemUgMzR4MzEgW2JnY29sb3I9I0Mw
QzBDMF0KKyAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDMsMykgc2l6ZSAz
NHgzMSBbYmdjb2xvcj0jRDREMEM4XQogICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9u
eW1vdXMpIGF0ICg2LDYpIHNpemUgMjJ4MjAKICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQg
YXQgKDAsMCkgc2l6ZSAyMngyMAogICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCww
KSB3aWR0aCAyMjogImZvbyIKQEAgLTU2LDE0ICs1NiwxNCBAQCBsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHgzNzcKICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUg
NzV4MjAKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCA3NTogInBhZGRp
bmc6IDAiCiAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMTg0LDU5KSBzaXpl
IDY0eDM3IFtyPTIgYz0xIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtC
VVRUT059IGF0ICgzLDMpIHNpemUgMjJ4MzEgW2JnY29sb3I9I0MwQzBDMF0KKyAgICAgICAgICAg
ICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUgMjJ4MzEgW2JnY29sb3I9I0Q0
RDBDOF0KICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2KSBz
aXplIDEweDIwCiAgICAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCw2KSBz
aXplIDEweDEwCiAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMjQ4LDY2KSBz
aXplIDE2NHgyMiBbcj0yIGM9MiBycz0xIGNzPTFdCiAgICAgICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMSwxKSBzaXplIDExMngyMAogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgxLDEpIHdpZHRoIDExMjogIigzMSwgMTIpICgzMSwgMTIpIgogICAgICAgICAgICAgUmVuZGVy
VGFibGVDZWxsIHtURH0gYXQgKDQxMiw1OSkgc2l6ZSAxNDJ4MzcgW3I9MiBjPTMgcnM9MSBjcz0x
XQotICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMywzKSBzaXplIDM0eDMx
IFtiZ2NvbG9yPSNDMEMwQzBdCisgICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0
ICgzLDMpIHNpemUgMzR4MzEgW2JnY29sb3I9I0Q0RDBDOF0KICAgICAgICAgICAgICAgICBSZW5k
ZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2KSBzaXplIDIyeDIwCiAgICAgICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IGF0ICgwLDApIHNpemUgMjJ4MjAKICAgICAgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggMjI6ICJmb28iCkBAIC03NSwxNCArNzUsMTQgQEAgbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4Mzc3CiAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMSwxKSBzaXplIDk4eDIwCiAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lk
dGggOTg6ICJwYWRkaW5nOiAxMCUiCiAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBh
dCAoMTg0LDk2KSBzaXplIDY0eDM3IFtyPTMgYz0xIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAg
UmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUgMjJ4MzEgW2JnY29sb3I9I0MwQzBD
MF0KKyAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUgMjJ4
MzEgW2JnY29sb3I9I0Q0RDBDOF0KICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnlt
b3VzKSBhdCAoNiw2KSBzaXplIDEweDIwCiAgICAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7
SU1HfSBhdCAoMCw2KSBzaXplIDEweDEwCiAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1RE
fSBhdCAoMjQ4LDEwMykgc2l6ZSAxNjR4MjIgW3I9MyBjPTIgcnM9MSBjcz0xXQogICAgICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxMTJ4MjAKICAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAxMTI6ICIoMzEsIDEyKSAoMzEsIDEyKSIKICAg
ICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg0MTIsOTYpIHNpemUgMTQyeDM3IFty
PTMgYz0zIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQg
KDMsMykgc2l6ZSAzNHgzMSBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICAgICAgICBSZW5kZXJC
dXR0b24ge0lOUFVUfSBhdCAoMywzKSBzaXplIDM0eDMxIFtiZ2NvbG9yPSNENEQwQzhdCiAgICAg
ICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYsNikgc2l6ZSAyMngyMAog
ICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBzaXplIDIyeDIwCiAgICAgICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDIyOiAiZm9vIgpAQCAtOTQsMTQg
Kzk0LDE0IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDM3NwogICAgICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSA5MngyMAogICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgxLDEpIHdpZHRoIDkyOiAicGFkZGluZzogMnB4IgogICAgICAgICAgICAgUmVuZGVy
VGFibGVDZWxsIHtURH0gYXQgKDE4NCwxMzMpIHNpemUgNjR4MzcgW3I9NCBjPTEgcnM9MSBjcz0x
XQotICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDMsMykgc2l6ZSAyMngz
MSBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0JVVFRPTn0g
YXQgKDMsMykgc2l6ZSAyMngzMSBbYmdjb2xvcj0jRDREMEM4XQogICAgICAgICAgICAgICAgIFJl
bmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNpemUgMTB4MjAKICAgICAgICAgICAgICAg
ICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDYpIHNpemUgMTB4MTAKICAgICAgICAgICAgIFJl
bmRlclRhYmxlQ2VsbCB7VER9IGF0ICgyNDgsMTQwKSBzaXplIDE2NHgyMiBbcj00IGM9MiBycz0x
IGNzPTFdCiAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDEx
MngyMAogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDExMjogIigzMSwg
MTIpICgzMSwgMTIpIgogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDQxMiwx
MzMpIHNpemUgMTQyeDM3IFtyPTQgYz0zIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVy
QnV0dG9uIHtJTlBVVH0gYXQgKDMsMykgc2l6ZSAzNHgzMSBbYmdjb2xvcj0jQzBDMEMwXQorICAg
ICAgICAgICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMywzKSBzaXplIDM0eDMxIFtiZ2Nv
bG9yPSNENEQwQzhdCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQg
KDYsNikgc2l6ZSAyMngyMAogICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBz
aXplIDIyeDIwCiAgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDIy
OiAiZm9vIgpAQCAtMTEzLDE0ICsxMTMsMTQgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4Mzc3
CiAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDE4MngyMAog
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDE4MjogInBhZGRpbmc6IDJw
eCA2cHggM3B4IDZweCIKICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgxODQs
MTcwKSBzaXplIDY0eDM3IFtyPTUgYz0xIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVy
QnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUgMjJ4MzEgW2JnY29sb3I9I0MwQzBDMF0KKyAg
ICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUgMjJ4MzEgW2Jn
Y29sb3I9I0Q0RDBDOF0KICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBh
dCAoNiw2KSBzaXplIDEweDIwCiAgICAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBh
dCAoMCw2KSBzaXplIDEweDEwCiAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAo
MjQ4LDE3Nykgc2l6ZSAxNjR4MjIgW3I9NSBjPTIgcnM9MSBjcz0xXQogICAgICAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxMTJ4MjAKICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAxMTI6ICIoMzEsIDEyKSAoMzEsIDEyKSIKICAgICAgICAg
ICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg0MTIsMTcwKSBzaXplIDE0MngzNyBbcj01IGM9
MyBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgzLDMp
IHNpemUgMzR4MzEgW2JnY29sb3I9I0MwQzBDMF0KKyAgICAgICAgICAgICAgUmVuZGVyQnV0dG9u
IHtJTlBVVH0gYXQgKDMsMykgc2l6ZSAzNHgzMSBbYmdjb2xvcj0jRDREMEM4XQogICAgICAgICAg
ICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNpemUgMjJ4MjAKICAgICAg
ICAgICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSAyMngyMAogICAgICAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMjogImZvbyIKQEAgLTEzMiwxNCArMTMy
LDE0IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDM3NwogICAgICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxMjJ4MjAKICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMSwxKSB3aWR0aCAxMjI6ICJwYWRkaW5nOiAzcHggN3B4IgogICAgICAgICAgICAgUmVu
ZGVyVGFibGVDZWxsIHtURH0gYXQgKDE4NCwyMDcpIHNpemUgNjR4MzcgW3I9NiBjPTEgcnM9MSBj
cz0xXQotICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDMsMykgc2l6ZSAy
MngzMSBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0JVVFRP
Tn0gYXQgKDMsMykgc2l6ZSAyMngzMSBbYmdjb2xvcj0jRDREMEM4XQogICAgICAgICAgICAgICAg
IFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNpemUgMTB4MjAKICAgICAgICAgICAg
ICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDYpIHNpemUgMTB4MTAKICAgICAgICAgICAg
IFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgyNDgsMjE0KSBzaXplIDE2NHgyMiBbcj02IGM9MiBy
cz0xIGNzPTFdCiAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXpl
IDExMngyMAogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDExMjogIigz
MSwgMTIpICgzMSwgMTIpIgogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDQx
MiwyMDcpIHNpemUgMTQyeDM3IFtyPTYgYz0zIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVu
ZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDMsMykgc2l6ZSAzNHgzMSBbYmdjb2xvcj0jQzBDMEMwXQor
ICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMywzKSBzaXplIDM0eDMxIFti
Z2NvbG9yPSNENEQwQzhdCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykg
YXQgKDYsNikgc2l6ZSAyMngyMAogICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCww
KSBzaXplIDIyeDIwCiAgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRo
IDIyOiAiZm9vIgpAQCAtMTUxLDE0ICsxNTEsMTQgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
Mzc3CiAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDEwMXgy
MAogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDEwMTogInBhZGRpbmc6
IDIwcHgiCiAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMTg0LDI0NCkgc2l6
ZSA2NHgzNyBbcj03IGM9MSBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7
QlVUVE9OfSBhdCAoMywzKSBzaXplIDIyeDMxIFtiZ2NvbG9yPSNDMEMwQzBdCisgICAgICAgICAg
ICAgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMywzKSBzaXplIDIyeDMxIFtiZ2NvbG9yPSNE
NEQwQzhdCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYsNikg
c2l6ZSAxMHgyMAogICAgICAgICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsNikg
c2l6ZSAxMHgxMAogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDI0OCwyNTEp
IHNpemUgMTY0eDIyIFtyPTcgYz0yIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMTEyeDIwCiAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDEsMSkgd2lkdGggMTEyOiAiKDMxLCAxMikgKDMxLCAxMikiCiAgICAgICAgICAgICBSZW5k
ZXJUYWJsZUNlbGwge1REfSBhdCAoNDEyLDI0NCkgc2l6ZSAxNDJ4MzcgW3I9NyBjPTMgcnM9MSBj
cz0xXQotICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMywzKSBzaXplIDM0
eDMxIFtiZ2NvbG9yPSNDMEMwQzBdCisgICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9
IGF0ICgzLDMpIHNpemUgMzR4MzEgW2JnY29sb3I9I0Q0RDBDOF0KICAgICAgICAgICAgICAgICBS
ZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2KSBzaXplIDIyeDIwCiAgICAgICAgICAgICAg
ICAgICBSZW5kZXJUZXh0IGF0ICgwLDApIHNpemUgMjJ4MjAKICAgICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjI6ICJmb28iCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9xdC9mYXN0L2Zvcm1zL2Jhc2ljLWlucHV0cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9iYXNpYy1pbnB1dHMtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA1MTMxMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3Qv
Zm9ybXMvYmFzaWMtaW5wdXRzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzUsMzUg
KzM1LDM1IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgUmVuZGVyQmxvY2sg
e0RJVn0gYXQgKDEwLDM1MCkgc2l6ZSA0NTB4NjIgW2JvcmRlcjogKDFweCBzb2xpZCAjRkYwMDAw
KV0KICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDYpIHNpemUgOXgyMAogICAgICAg
ICAgIHRleHQgcnVuIGF0ICgxLDYpIHdpZHRoIDk6ICJhIgotICAgICAgICBSZW5kZXJUZXh0Q29u
dHJvbCB7SU5QVVR9IGF0ICgxMiwzKSBzaXplIDE3NXgyNgorICAgICAgICBSZW5kZXJUZXh0Q29u
dHJvbCB7SU5QVVR9IGF0ICgxMiwzKSBzaXplIDE3NXgyNiBbYmdjb2xvcj0jRkZGRkZGXQogICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE4OSw2KSBzaXplIDI5eDIwCiAgICAgICAgICAg
dGV4dCBydW4gYXQgKDE4OSw2KSB3aWR0aCAyOTogInRleHQgIgotICAgICAgICBSZW5kZXJUZXh0
Q29udHJvbCB7SU5QVVR9IGF0ICgyMjAsMykgc2l6ZSAxNzV4MjYKKyAgICAgICAgUmVuZGVyVGV4
dENvbnRyb2wge0lOUFVUfSBhdCAoMjIwLDMpIHNpemUgMTc1eDI2IFtiZ2NvbG9yPSNENEQwQzhd
CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzk3LDYpIHNpemUgMjJ4MjAKICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMzk3LDYpIHdpZHRoIDEzOiAiYiAiCiAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDQxMCw2KSB3aWR0aCA5OiAiYSIKLSAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lO
UFVUfSBhdCAoMywzMykgc2l6ZSAxNzV4MjYKKyAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lO
UFVUfSBhdCAoMywzMykgc2l6ZSAxNzV4MjYgW2JnY29sb3I9I0ZGRkZGRl0KICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgxODAsMzYpIHNpemUgNzN4MjAKICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMTgwLDM2KSB3aWR0aCA3MzogInBhc3N3b3JkICIKLSAgICAgICAgUmVuZGVyVGV4dENv
bnRyb2wge0lOUFVUfSBhdCAoMjU1LDMzKSBzaXplIDE3NXgyNgorICAgICAgICBSZW5kZXJUZXh0
Q29udHJvbCB7SU5QVVR9IGF0ICgyNTUsMzMpIHNpemUgMTc1eDI2IFtiZ2NvbG9yPSNENEQwQzhd
CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNDMyLDM2KSBzaXplIDl4MjAKICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoNDMyLDM2KSB3aWR0aCA5OiAiYiIKICAgICAgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgxMCw0MjIpIHNpemUgNDUweDIzIFtib3JkZXI6ICgxcHggc29saWQgI0ZGMDAw
MCldCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDl4MjAKICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCA5OiAiYSIKLSAgICAgICAgUmVuZGVyQmxvY2sg
e0lOUFVUfSBhdCAoMTQsNikgc2l6ZSAxM3gxMworICAgICAgICBSZW5kZXJCbG9jayB7SU5QVVR9
IGF0ICgxNCw2KSBzaXplIDEzeDEzIFtiZ2NvbG9yPSNENEQwQzhdCiAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMzEsMSkgc2l6ZSA3MngyMAogICAgICAgICAgIHRleHQgcnVuIGF0ICgz
MSwxKSB3aWR0aCA3MjogImNoZWNrYm94ICIKLSAgICAgICAgUmVuZGVyQmxvY2sge0lOUFVUfSBh
dCAoMTA3LDYpIHNpemUgMTN4MTMKKyAgICAgICAgUmVuZGVyQmxvY2sge0lOUFVUfSBhdCAoMTA3
LDYpIHNpemUgMTN4MTMgW2JnY29sb3I9I0Q0RDBDOF0KICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgxMjQsMSkgc2l6ZSA5eDIwCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyNCwxKSB3
aWR0aCA5OiAiYiIKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxMCw0NTUpIHNpemUgNDUw
eDIzIFtib3JkZXI6ICgxcHggc29saWQgI0ZGMDAwMCldCiAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMSwxKSBzaXplIDl4MjAKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0
aCA5OiAiYSIKLSAgICAgICAgUmVuZGVyQmxvY2sge0lOUFVUfSBhdCAoMTQsNykgc2l6ZSAxMngx
MgorICAgICAgICBSZW5kZXJCbG9jayB7SU5QVVR9IGF0ICgxNCw3KSBzaXplIDEyeDEyIFtiZ2Nv
bG9yPSNENEQwQzhdCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzAsMSkgc2l6ZSA0
MHgyMAogICAgICAgICAgIHRleHQgcnVuIGF0ICgzMCwxKSB3aWR0aCA0MDogInJhZGlvICIKLSAg
ICAgICAgUmVuZGVyQmxvY2sge0lOUFVUfSBhdCAoNzQsNykgc2l6ZSAxMngxMgorICAgICAgICBS
ZW5kZXJCbG9jayB7SU5QVVR9IGF0ICg3NCw3KSBzaXplIDEyeDEyIFtiZ2NvbG9yPSNENEQwQzhd
CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoOTAsMSkgc2l6ZSA5eDIwCiAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDkwLDEpIHdpZHRoIDk6ICJiIgogbGF5ZXIgYXQgKDMyLDM2NCkgc2l6
ZSAxNzF4MjAgc2Nyb2xsV2lkdGggMjE1CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9m
YXN0L2Zvcm1zL2J1dHRvbi1zdHlsZS1jb2xvci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9idXR0b24tc3R5bGUtY29sb3ItZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA1MTMxMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zh
c3QvZm9ybXMvYnV0dG9uLXN0eWxlLWNvbG9yLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMyw0OSArMyw0OSBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0Ci0gICAgICBS
ZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDIsMikgc2l6ZSA5M3gzMSBbYmdjb2xvcj0jQzBDMEMw
XQorICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgyLDIpIHNpemUgOTN4MzEgW2JnY29s
b3I9I0Q0RDBDOF0KICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYsNikgc2l6
ZSA4MXgyMAogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDgxeDIw
CiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4MTogIlRlc3QgQnV0dG9uIgog
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg5Nyw4KSBzaXplIDR4MjAKICAgICAgICAgdGV4
dCBydW4gYXQgKDk3LDgpIHdpZHRoIDQ6ICIgIgotICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059
IGF0ICgxMDMsMikgc2l6ZSA5M3gzMSBbY29sb3I9I0ZGMDAwMF0gW2JnY29sb3I9I0MwQzBDMF0K
KyAgICAgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMTAzLDIpIHNpemUgOTN4MzEgW2NvbG9y
PSNGRjAwMDBdIFtiZ2NvbG9yPSNENEQwQzhdCiAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1v
dXMpIGF0ICg2LDYpIHNpemUgODF4MjAKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSA4MXgyMAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODE6
ICJUZXN0IEJ1dHRvbiIKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTk4LDgpIHNpemUg
NHgyMAogICAgICAgICB0ZXh0IHJ1biBhdCAoMTk4LDgpIHdpZHRoIDQ6ICIgIgotICAgICAgUmVu
ZGVyQnV0dG9uIHtCVVRUT059IGF0ICgyMDQsNCkgc2l6ZSA5N3gyOSBbYmdjb2xvcj0jMDA4MDAw
XSBbYm9yZGVyOiAoMnB4IG91dHNldCAjQzBDMEMwKV0KKyAgICAgIFJlbmRlckJ1dHRvbiB7QlVU
VE9OfSBhdCAoMjA0LDQpIHNpemUgOTd4MjkgW2JnY29sb3I9IzAwODAwMF0gW2JvcmRlcjogKDJw
eCBvdXRzZXQgI0Q0RDBDOCldCiAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg4
LDQpIHNpemUgODF4MjAKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSA4MXgyMAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODE6ICJUZXN0IEJ1
dHRvbiIKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzAzLDgpIHNpemUgNHgyMAogICAg
ICAgICB0ZXh0IHJ1biBhdCAoMzAzLDgpIHdpZHRoIDQ6ICIgIgotICAgICAgUmVuZGVyQnV0dG9u
IHtCVVRUT059IGF0ICgzMDksNCkgc2l6ZSA5N3gyOSBbY29sb3I9I0ZGMDAwMF0gW2JnY29sb3I9
IzAwODAwMF0gW2JvcmRlcjogKDJweCBvdXRzZXQgI0MwQzBDMCldCisgICAgICBSZW5kZXJCdXR0
b24ge0JVVFRPTn0gYXQgKDMwOSw0KSBzaXplIDk3eDI5IFtjb2xvcj0jRkYwMDAwXSBbYmdjb2xv
cj0jMDA4MDAwXSBbYm9yZGVyOiAoMnB4IG91dHNldCAjRDREMEM4KV0KICAgICAgICAgUmVuZGVy
QmxvY2sgKGFub255bW91cykgYXQgKDgsNCkgc2l6ZSA4MXgyMAogICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDgxeDIwCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwwKSB3aWR0aCA4MTogIlRlc3QgQnV0dG9uIgogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICg0MDgsOCkgc2l6ZSA0eDIwCiAgICAgICAgIHRleHQgcnVuIGF0ICg0MDgsOCkgd2lkdGggNDog
IiAiCi0gICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoNDE0LDIpIHNpemUgOTN4MzEgW2Jn
Y29sb3I9I0MwQzBDMF0KKyAgICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICg0MTQsMikgc2l6
ZSA5M3gzMSBbYmdjb2xvcj0jRDREMEM4XQogICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3Vz
KSBhdCAoNiw2KSBzaXplIDgxeDIwCiAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBzaXpl
IDgxeDIwCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4MTogIlRlc3QgQnV0
dG9uIgogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1MDksOCkgc2l6ZSA0eDIwCiAgICAg
ICAgIHRleHQgcnVuIGF0ICg1MDksOCkgd2lkdGggNDogIiAiCi0gICAgICBSZW5kZXJCdXR0b24g
e0lOUFVUfSBhdCAoNTE1LDIpIHNpemUgOTN4MzEgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSND
MEMwQzBdCisgICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoNTE1LDIpIHNpemUgOTN4MzEg
W2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSNENEQwQzhdCiAgICAgICAgIFJlbmRlckJsb2NrIChh
bm9ueW1vdXMpIGF0ICg2LDYpIHNpemUgODF4MjAKICAgICAgICAgICBSZW5kZXJUZXh0IGF0ICgw
LDApIHNpemUgODF4MjAKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDgxOiAi
VGVzdCBCdXR0b24iCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDYxMCw4KSBzaXplIDR4
MjAKICAgICAgICAgdGV4dCBydW4gYXQgKDYxMCw4KSB3aWR0aCA0OiAiICIKLSAgICAgIFJlbmRl
ckJ1dHRvbiB7SU5QVVR9IGF0ICg2MTYsNCkgc2l6ZSA5N3gyOSBbYmdjb2xvcj0jMDA4MDAwXSBb
Ym9yZGVyOiAoMnB4IG91dHNldCAjQzBDMEMwKV0KKyAgICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9
IGF0ICg2MTYsNCkgc2l6ZSA5N3gyOSBbYmdjb2xvcj0jMDA4MDAwXSBbYm9yZGVyOiAoMnB4IG91
dHNldCAjRDREMEM4KV0KICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDgsNCkg
c2l6ZSA4MXgyMAogICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSA4MXgyMAogICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODE6ICJUZXN0IEJ1dHRvbiIKICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNzE1LDgpIHNpemUgNHgyMAogICAgICAgICB0ZXh0IHJ1
biBhdCAoNzE1LDgpIHdpZHRoIDQ6ICIgIgotICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQg
KDIsMzcpIHNpemUgOTd4MjkgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSMwMDgwMDBdIFtib3Jk
ZXI6ICgycHggb3V0c2V0ICNDMEMwQzApXQorICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQg
KDIsMzcpIHNpemUgOTd4MjkgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSMwMDgwMDBdIFtib3Jk
ZXI6ICgycHggb3V0c2V0ICNENEQwQzgpXQogICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3Vz
KSBhdCAoOCw0KSBzaXplIDgxeDIwCiAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBzaXpl
IDgxeDIwCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4MTogIlRlc3QgQnV0
dG9uIgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9pc2luZGV4LXBs
YWNlaG9sZGVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC9mYXN0L2Zvcm1zL2lzaW5kZXgtcGxhY2Vob2xkZXItZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA1MTMxMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvaXNpbmRleC1w
bGFjZWhvbGRlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE5LDcgKzE5LDcgQEAg
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1v
dXMpIGF0ICgwLDEwKSBzaXplIDc4NHgzMAogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCw1KSBzaXplIDM2NHgyMAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNSkgd2lkdGgg
MzY0OiAiVGhpcyBpcyBhIHNlYXJjaGFibGUgaW5kZXguIEVudGVyIHNlYXJjaCBrZXl3b3Jkczog
IgotICAgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJU0lOREVYfSBhdCAoMzY2LDIpIHNpemUg
MTc1eDI2CisgICAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lTSU5ERVh9IGF0ICgzNjYsMikg
c2l6ZSAxNzV4MjYgW2JnY29sb3I9I0ZGRkZGRl0KICAgICAgICAgUmVuZGVyQmxvY2sge0hSfSBh
dCAoMCw0OCkgc2l6ZSA3ODR4MiBbYm9yZGVyOiAoMXB4IGluc2V0ICMwMDAwMDApXQogICAgICAg
UmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTIyKSBzaXplIDc4NHgyMAogICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyNjh4MjAKQEAgLTI5LDcgKzI5LDcgQEAg
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1v
dXMpIGF0ICgwLDEwKSBzaXplIDc4NHgzMAogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCw1KSBzaXplIDM2NHgyMAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNSkgd2lkdGgg
MzY0OiAiVGhpcyBpcyBhIHNlYXJjaGFibGUgaW5kZXguIEVudGVyIHNlYXJjaCBrZXl3b3Jkczog
IgotICAgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJU0lOREVYfSBhdCAoMzY2LDIpIHNpemUg
MTc1eDI2CisgICAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lTSU5ERVh9IGF0ICgzNjYsMikg
c2l6ZSAxNzV4MjYgW2JnY29sb3I9I0ZGRkZGRl0KICAgICAgICAgUmVuZGVyQmxvY2sge0hSfSBh
dCAoMCw0OCkgc2l6ZSA3ODR4MiBbYm9yZGVyOiAoMXB4IGluc2V0ICMwMDAwMDApXQogbGF5ZXIg
YXQgKDM3Niw4Nykgc2l6ZSAxNzF4MjAKICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMykgc2l6
ZSAxNzF4MjAgW2NvbG9yPSNBOUE5QTldCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9m
YXN0L2Zvcm1zL21lbnVsaXN0LXN0eWxlLWNvbG9yLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL21lbnVsaXN0LXN0eWxlLWNvbG9y
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTEzMTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9x
dC9mYXN0L2Zvcm1zL21lbnVsaXN0LXN0eWxlLWNvbG9yLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMywxMyArMywxMyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCiAgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0Ci0g
ICAgICBSZW5kZXJNZW51TGlzdCB7U0VMRUNUfSBhdCAoMiwyKSBzaXplIDgzeDI2IFtiZ2NvbG9y
PSNGRkZGRkZdCisgICAgICBSZW5kZXJNZW51TGlzdCB7U0VMRUNUfSBhdCAoMiwyKSBzaXplIDgz
eDI2IFtiZ2NvbG9yPSNENEQwQzhdCiAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0
ICg4LDQpIHNpemUgNTF4MjAKICAgICAgICAgICBSZW5kZXJUZXh0IGF0ICgwLDApIHNpemUgNTF4
MjAKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDUxOiAiRGVmYXVsdCIKICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoODcsNikgc2l6ZSA0eDIwCiAgICAgICAgIHRleHQg
cnVuIGF0ICg4Nyw2KSB3aWR0aCA0OiAiICIKLSAgICAgIFJlbmRlck1lbnVMaXN0IHtTRUxFQ1R9
IGF0ICg5MywyKSBzaXplIDc0eDI2IFtjb2xvcj0jRkYwMDAwXSBbYmdjb2xvcj0jRkZGRkZGXQor
ICAgICAgUmVuZGVyTWVudUxpc3Qge1NFTEVDVH0gYXQgKDkzLDIpIHNpemUgNzR4MjYgW2NvbG9y
PSNGRjAwMDBdIFtiZ2NvbG9yPSNENEQwQzhdCiAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1v
dXMpIGF0ICg4LDQpIHNpemUgNDJ4MjAKICAgICAgICAgICBSZW5kZXJUZXh0IGF0ICgwLDApIHNp
emUgMzB4MjAKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDMwOiAiUmVkIgpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0LXN0eWxlLWNvbG9y
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0
L2Zvcm1zL3RleHQtc3R5bGUtY29sb3ItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1MTMxMCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dC1zdHlsZS1jb2xvci1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTExLDcgKzExLDcgQEAgbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDEwKSBz
aXplIDc4NHgzMAogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw1KSBzaXplIDM2
NHgyMAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNSkgd2lkdGggMzY0OiAiVGhpcyBpcyBh
IHNlYXJjaGFibGUgaW5kZXguIEVudGVyIHNlYXJjaCBrZXl3b3JkczogIgotICAgICAgICAgIFJl
bmRlclRleHRDb250cm9sIHtJU0lOREVYfSBhdCAoMzY2LDIpIHNpemUgMTc1eDI2CisgICAgICAg
ICAgUmVuZGVyVGV4dENvbnRyb2wge0lTSU5ERVh9IGF0ICgzNjYsMikgc2l6ZSAxNzV4MjYgW2Jn
Y29sb3I9I0ZGRkZGRl0KICAgICAgICAgUmVuZGVyQmxvY2sge0hSfSBhdCAoMCw0OCkgc2l6ZSA3
ODR4MiBbYm9yZGVyOiAoMXB4IGluc2V0ICMwMDAwMDApXQogICAgICAgUmVuZGVyQmxvY2sgKGFu
b255bW91cykgYXQgKDAsODYpIHNpemUgNzg0eDIwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDE2MngyMApAQCAtMjEsNyArMjEsNyBAQCBsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTApIHNp
emUgNzg0eDMwCiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDUpIHNpemUgMzY0
eDIwCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1KSB3aWR0aCAzNjQ6ICJUaGlzIGlzIGEg
c2VhcmNoYWJsZSBpbmRleC4gRW50ZXIgc2VhcmNoIGtleXdvcmRzOiAiCi0gICAgICAgICAgUmVu
ZGVyVGV4dENvbnRyb2wge0lTSU5ERVh9IGF0ICgzNjYsMikgc2l6ZSAxNzV4MjYgW2NvbG9yPSNG
RjAwMDBdCisgICAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lTSU5ERVh9IGF0ICgzNjYsMikg
c2l6ZSAxNzV4MjYgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgIFJl
bmRlckJsb2NrIHtIUn0gYXQgKDAsNDgpIHNpemUgNzg0eDIgW2JvcmRlcjogKDFweCBpbnNldCAj
MDAwMDAwKV0KICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDE3Mikgc2l6ZSA3
ODR4MjAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjM3eDIwCkBA
IC00NCwxMCArNDQsMTAgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAg
UmVuZGVyVGV4dENvbnRyb2wge0lTSU5ERVh9IGF0ICgzNjYsMikgc2l6ZSAxNzd4MjYgW2NvbG9y
PSNGRjAwMDBdIFtiZ2NvbG9yPSMwMDgwMDBdIFtib3JkZXI6ICgycHggaW5zZXQgI0ZGMDAwMCld
CiAgICAgICAgIFJlbmRlckJsb2NrIHtIUn0gYXQgKDAsNDgpIHNpemUgNzg0eDIgW2JvcmRlcjog
KDFweCBpbnNldCAjMDAwMDAwKV0KICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgw
LDM0NCkgc2l6ZSA3ODR4MzAKLSAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAo
MiwyKSBzaXplIDE3NXgyNgorICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgy
LDIpIHNpemUgMTc1eDI2IFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMTc5LDUpIHNpemUgNHgyMAogICAgICAgICAgIHRleHQgcnVuIGF0ICgxNzksNSkg
d2lkdGggNDogIiAiCi0gICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDE4NSwy
KSBzaXplIDE3NXgyNiBbY29sb3I9I0ZGMDAwMF0KKyAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wg
e0lOUFVUfSBhdCAoMTg1LDIpIHNpemUgMTc1eDI2IFtjb2xvcj0jRkYwMDAwXSBbYmdjb2xvcj0j
RkZGRkZGXQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDM2Miw1KSBzaXplIDR4MjAK
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzYyLDUpIHdpZHRoIDQ6ICIgIgogICAgICAgICBSZW5k
ZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgzNjgsMikgc2l6ZSAxNzd4MjYgW2JnY29sb3I9IzAw
ODAwMF0gW2JvcmRlcjogKDJweCBpbnNldCAjMDAwMDAwKV0KSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItcHNldWRvLXN0eWxlLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zv
cm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXBzZXVkby1zdHlsZS1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDUxMzEwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0YXJl
YS1wbGFjZWhvbGRlci1wc2V1ZG8tc3R5bGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xNCwyMiArMTQsMjIgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgIHRl
eHQgcnVuIGF0ICg1NDgsNDgpIHdpZHRoIDQ6ICIgIgogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMHgwCiBsYXllciBhdCAoMTAsMzApIHNpemUgMTc2eDQwCi0gIFJlbmRl
clRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDIsMjIpIHNpemUgMTc2eDQwCisgIFJlbmRlclRl
eHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDIsMjIpIHNpemUgMTc2eDQwIFtiZ2NvbG9yPSNGRkZG
RkZdCiAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxNzZ4MjAgW2NvbG9yPSM2
NDAwMDBdCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyNXgyMAogICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyNTogInRleHQiCiBsYXllciBhdCAoMTk0LDMw
KSBzaXplIDE3Nng0MAotICBSZW5kZXJUZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICgxODYsMjIp
IHNpemUgMTc2eDQwCi0gICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxNzZ4MjAg
W2NvbG9yPSM2NDAwMDBdCisgIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDE4Niwy
Mikgc2l6ZSAxNzZ4NDAgW2JnY29sb3I9I0Q0RDBDOF0KKyAgICBSZW5kZXJCbG9jayB7RElWfSBh
dCAoMCwwKSBzaXplIDE3NngyMCBbY29sb3I9I0I4MDAwMF0KICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDkweDIwCiAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRo
IDkwOiAiZGlzYWJsZWQgdGV4dCIKIGxheWVyIGF0ICgzNzgsMzApIHNpemUgMTc2eDQwCi0gIFJl
bmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDM3MCwyMikgc2l6ZSAxNzZ4NDAKKyAgUmVu
ZGVyVGV4dENvbnRyb2wge1RFWFRBUkVBfSBhdCAoMzcwLDIyKSBzaXplIDE3Nng0MCBbYmdjb2xv
cj0jRkZGRkZGXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIwIFtj
b2xvcj0jQTlBOUE5XQogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDh4
MjAKICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNDg6ICJkZWZhdWx0IgogbGF5ZXIg
YXQgKDU2MiwzMCkgc2l6ZSAxNzZ4NDAKLSAgUmVuZGVyVGV4dENvbnRyb2wge1RFWFRBUkVBfSBh
dCAoNTU0LDIyKSBzaXplIDE3Nng0MAotICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNp
emUgMTc2eDIwIFtjb2xvcj0jNTU1NTU1XQorICBSZW5kZXJUZXh0Q29udHJvbCB7VEVYVEFSRUF9
IGF0ICg1NTQsMjIpIHNpemUgMTc2eDQwIFtiZ2NvbG9yPSNENEQwQzhdCisgICAgUmVuZGVyQmxv
Y2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxNzZ4MjAgW2NvbG9yPSNGRUZFRkVdCiAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMTN4MjAKICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMCkgd2lkdGggMTEzOiAiZGVmYXVsdCBkaXNhYmxlZCIKSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItc2V0LWF0dHJpYnV0ZS1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9m
b3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci1zZXQtYXR0cmlidXRlLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gNTEzMTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRh
cmVhLXBsYWNlaG9sZGVyLXNldC1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC04LDcgKzgsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0ODY6ICJJZiB5b3UgY2FuIHNlZSB0aGUgd29yZCBcIlBs
YWNlaG9sZGVyXCIgaW4gdGhlIHRleHQgYXJlYSwgdGhlbiBhbGwgaXMgd2VsbC4iCiAgICAgICBS
ZW5kZXJCbG9jayB7UH0gYXQgKDAsMzYpIHNpemUgNzg0eDQ0CiBsYXllciBhdCAoMTAsNDYpIHNp
emUgMTc2eDQwCi0gIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDIsMikgc2l6ZSAx
NzZ4NDAKKyAgUmVuZGVyVGV4dENvbnRyb2wge1RFWFRBUkVBfSBhdCAoMiwyKSBzaXplIDE3Nng0
MCBbYmdjb2xvcj0jRkZGRkZGXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUg
MTc2eDIwIFtjb2xvcj0jQTlBOUE5XQogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgODZ4MjAKICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODY6ICJQbGFjZWhv
bGRlciIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dGFyZWEt
cGxhY2Vob2xkZXItc2V0LXZhbHVlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXNldC12YWx1
ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDUxMzEwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
cXQvZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci1zZXQtdmFsdWUtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xNiw3ICsxNiw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiBsYXllciBhdCAoMTAsNDYp
IHNpemUgMTc2eDQwCi0gIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDIsMikgc2l6
ZSAxNzZ4NDAKKyAgUmVuZGVyVGV4dENvbnRyb2wge1RFWFRBUkVBfSBhdCAoMiwyKSBzaXplIDE3
Nng0MCBbYmdjb2xvcj0jRkZGRkZGXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNp
emUgMTc2eDIwCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2MngyMAog
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA2MjogIk5ldyB0ZXh0IgpJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vcXQvdGFibGVzL21vemlsbGEvYnVncy9idWc5MjY0Ny0yLWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC90YWJsZXMvbW96
aWxsYS9idWdzL2J1ZzkyNjQ3LTItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1MTMxMCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL3F0L3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnOTI2NDctMi1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEyLDUgKzEyLDUgQEAgbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiAgICAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgw
LDIpIHNpemUgMzZ4MzkKICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0g
YXQgKDIsMTkpIHNpemUgNHg0IFtib3JkZXI6ICgxcHggaW5zZXQgIzgwODA4MCldIFtyPTAgYz0w
IHJzPTEgY3M9MV0KICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQg
KDgsMikgc2l6ZSAyMHgzOSBbYm9yZGVyOiAoMXB4IGluc2V0ICM4MDgwODApXSBbcj0wIGM9MSBy
cz0xIGNzPTFdCi0gICAgICAgICAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQg
KDQsNCkgc2l6ZSAxMngzMSBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICAgICAgICAgICAgICAg
IFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICg0LDQpIHNpemUgMTJ4MzEgW2JnY29sb3I9I0Q0RDBD
OF0KICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDMwLDE5KSBz
aXplIDR4NCBbYm9yZGVyOiAoMXB4IGluc2V0ICM4MDgwODApXSBbcj0wIGM9MiBycz0xIGNzPTFd
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44260</attachid>
            <date>2009-12-03 11:22:59 -0800</date>
            <delta_ts>2010-01-09 16:00:32 -0800</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>patchFor30173-15.patch</filename>
            <type>text/plain</type>
            <size>57572</size>
            <attacher name="Carol Szabo">carol</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTY0MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNjYgQEAKKzIwMDktMTItMDMgIENhcm9sIFN6YWJvICA8Y2Fyb2wuc3phYm9Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtRdF0gTWFrZSBpdCBwb3NzaWJsZSB0byBhcHBseSB0aGUgQ1NTIGJhY2tncm91bmQgY29sb3Ig
dG8gdGhlIG5hdGl2ZSBwYWludGVkIHdpZGdldHMgaW5zdGVhZCBvZiB0byB0aGUgYWN0dWFsIGVs
ZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMw
MTczCisKKyAgICAgICAgVGhpcyBpcyBhIGJlc3QgZWZmb3J0IGFwcHJvYWNoIGluIGFjY29yZGFu
Y2Ugd2l0aCB0aGUgQ1NTIDIuMSBzcGVjCisgICAgICAgIChodHRwOi8vd3d3LnczLm9yZy9UUi9D
U1MyLykgd2hpY2ggaW4gdGhlIGNvbmZvcm1hbmNlIHNlY3Rpb24gbGVhdmVzCisgICAgICAgIHVu
ZGVmaW5lZCB0aGUgc3R5bGUgcHJvcGVydGllcyB0aGF0IGFwcGx5IHRvIGZvcm0gY29udHJvbHMg
YW5kIGZyYW1lcy4KKyAgICAgICAgSW4gYWNjb3JkYW5jZSB3aXRoIFRvciBBcm5lJ3MgcmVxdWVz
dCB0aGlzIHBhdGNoIGFsc28gZW5zdXJlcyB0aGF0IHRoZQorICAgICAgICBkZWZhdWx0IGJhY2tn
cm91bmQgY29sb3IgZm9yIGNvbnRyb2xzIG1hdGNoZXMgdGhlIG9uZSBzcGVjaWZpZWQgYnkgdGhl
CisgICAgICAgIHBsYXRmb3JtIGFzIGNsb3NlIGFzIHBvc3NpYmxlLiBUaGlzIHBhdGNoIGRvZXMg
bm90IHByb3ZpZGUgZm9yIHVwZGF0aW5nCisgICAgICAgIHRoZSBkZWZhdWx0IGJhY2tncm91bmQg
Y29sb3Igb25jZSBpdCBoYXMgYmVlbiBlc3RhYmxpc2hlZCAoaW4gcmVzcG9uc2UgdG8KKyAgICAg
ICAgUVN0eWxlIGFuZCBRU3R5bGVTaGVldCBjaGFuZ2VzKS4KKyAgICAgICAgSW4gYWNjb3JkYW5j
ZSB3aXRoIHRoZSBjb25zZW5zdXMgcmVhY2hlZCBvbiBhIHBhdGNoIHJldmlldyBtZWV0aW5nIG9u
IDExLzE5LzIwMDkKKyAgICAgICAgdG8gcHJvdGVjdCBhZ2FpbnN0IHRoZSBlZmZlY3Qgb2Ygbm9u
IChvciBwb29ybHkpIGN1c3RvbWl6YWJsZSBwb3B1bGFyIHN0eWxlcyBzdWNoCisgICAgICAgIGFz
IHdpbmRvd3N4cCwgZXZlbiBmb3Igc3R5bGVzIHRoYXQgc3VwcG9ydCBmdWxsIGN1c3RvbWl6YXRp
b24gc3VjaCBhcyBwbGFzdGlxdWUsCisgICAgICAgIGZvciBub3csIGNvbnRyb2wgcGFpbnRpbmcg
c2hhbGwgYmUgZGVmZXJyZWQgdG8gd2Via2l0J3MgaW50ZXJuYWwgaW1wbGVtZW50YXRpb24KKyAg
ICAgICAgaWYgaXQgZXhpc3RzIGFuZCB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgYSBjb250cm9s
IGlzIGNoYW5nZWQgZnJvbSB0aGUgZGVmYXVsdC4KKworICAgICAgICAqIHBsYXRmb3JtL3F0L1FX
ZWJQb3B1cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpRV2ViUG9wdXA6OnNob3dQb3B1cCk6Cisg
ICAgICAgIEFkZGVkIGNvZGUgdG8gcmVmbGVjdCBDU1Mgc3R5bGUgaW4gY29udHJvbCBzdHlsaW5n
LgorICAgICAgICAqIHBsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVRdDo6cGFnZU93bmVyV2lkZ2V0KToKKyAgICAgICAgKFdlYkNvcmU6
OmluaXRQYWxldHRlRnJvbVBhZ2VDbGllbnRJZkV4aXN0cyk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUaGVtZVF0OjphZGRTdHlsZVRleHRJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjph
ZGRTdHlsZVRleHRGb3JXaWRnZXQpOgorICAgICAgICAoV2ViQ29yZTo6c2V0V2lkZ2V0Q29sb3Jz
KToKKyAgICAgICAgU3VwcG9ydCBmdW5jdGlvbnMKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRo
ZW1lUXQ6OmV4dHJhRGVmYXVsdFN0eWxlU2hlZXQpOgorICAgICAgICBJbml0aWFsaXplIGRlZmF1
bHQgc3R5bGVzaGVldHMgYmFzZWQgb24gdGhlIHRoZW1lCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJUaGVtZVF0OjphZGp1c3RDb21tb25RU3R5bGVPcHRpb25zKToKKyAgICAgICAgVGhpcyBmdW5j
dGlvbiB3YXMgcmVuYW1lZCBmcm9tIGFwcGx5VGhlbWUgYmVjYXVzZSB0aGUgcHJldmlvdXMgbmFt
ZSB3YXMKKyAgICAgICAgbm90IGRlc2NyaXB0aXZlIG9mIHdoYXQgdGhlIGZ1bmN0aW9uIGFjdHVh
bGx5IGRpZCwgd2hpY2ggd2FzIChhbmQgCisgICAgICAgIGNvbnRpbnVlcyB0byBiZSkgdG8gYWRq
dXN0IHRoZSBvcHRpb24gc2V0dGluZ3MgYmFzZWQgb24gdGhlIGNvbnRyb2wncworICAgICAgICBz
dHlsZSBhbmQgc3RhdGUuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpzeXN0ZW1D
b2xvcik6CisgICAgICAgIEludHJvZHVjZWQgdG8gYWxsb3cgY3VzdG9taXphdGlvbiBvZiBidXR0
b24gZmFjZSBjb2xvciBhbmQgb3RoZXIgc3lzdGVtIGNvbG9ycyBhY2NvcmRpbmcgdG8gdGhlIAor
ICAgICAgICB0aGUgY29udGFpbmVyIHdpZGdldCdzIHBhbGV0dGUgYW5kIFFTdHlsZVNoZWV0cy4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OmFkanVzdEJ1dHRvblN0eWxlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50QnV0dG9uKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclRoZW1lUXQ6OnBhaW50VGV4dEZpZWxkKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lUXQ6OnBhaW50TWVudUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWVRdDo6cGFpbnRNZW51TGlzdEJ1dHRvbik6CisgICAgICAgIE1vZGlmaWVkIG9ubHkgZHVl
IHRvIHJlbmFtaW5nIG9mIHRoZSBhcHBseVRoZW1lIG1ldGhvZC4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lUXQ6OmFkanVzdFRleHRGaWVsZFN0eWxlKToKKyAgICAgICAgUmVtb3ZlZCB0
aGUgbGluZSB0aGF0IG1ha2VzIHRoZSBiYWNrZ3JvdW5kIHRyYW5zcGFyZW50IGluIG9yZGVyIHRv
IGhhdmUgdGhlIGNvbG9yIGF2YWlsYWJsZSBmb3IKKyAgICAgICAgcGFpbnRpbmcuCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZVF0OjpwYWludFNlYXJjaEZpZWxkKToKKyAgICAgICAgQ2hh
bmdlZCB0byBjYXVzZSB0aGUgcGFpbnRpbmcgYmUgZG9uZSBieSB3ZWJraXQgYXMgYSB0ZXh0IGZp
ZWxkLiBUaGlzIGlzIGEgdGVtcG9yYXJ5IHNvbHV0aW9uIHRoYXQgaW1wcm92ZXMKKyAgICAgICAg
dGhlIGN1cnJlbnQgc3RhdGUgd2hpY2ggY2F1c2VzIHRoZSBTZWFyY2ggaW5wdXQgdG8gYmUgcGFp
bnRlZCBhcyBhIHRleHQgZmllbGQgYnkgUXQgd2l0aG91dCBjdXN0b21pemF0aW9ucworICAgICAg
ICBzdWNoIGFzIGN1c3RvbSBiYWNrZ3JvdW5kIGNvbG9yIHdoaWNoIGlzIHRoZSBmb2N1cyBvZiB0
aGlzIHBhdGNoLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVRdDo6YWRqdXN0U2VhcmNo
RmllbGRTdHlsZSk6CisgICAgICAgIENoYW5nZWQgdG8gZG8gbm90aGluZyBhcyBhbGwgY3VzdG9t
aXphdGlvbnMgYXJlIHN1cHBvcnRlZCBieSB3ZWJraXQgaGVuY2Ugbm8gYWRqdXN0bWVudCBpcyBu
ZWVkZWQuCisgICAgICAgICogcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZTo6cGFpbnQpOgorICAgICAgICBTaW5jZSB0aGlzIG1ldGhvZCBpcyBub3QgdmlydHVhbCBJIGhh
ZCB0byBhZGQgUXQgc3BlY2lmaWMgY2hhbmdlcyBoZXJlIHRvCisgICAgICAgIGVuYWJsZSByZW5k
ZXJpbmcgYnkgdGhlIHRoZW1lIG9mIHRleHQgaW5wdXQgY29udHJvbHMuIFdoaWNoIGlzIG5lY2Vz
c2FyeSBmb3IKKyAgICAgICAgYSBuYXRpdmUgbG9vayBhbmQgZmVlbCBhcyByZXF1aXJlZCBieSBU
aG9yIEFybmUgZm9yIHRoaXMgcGF0Y2guCisKIDIwMDktMTItMDMgIFBhdmVsIEZlbGRtYW4gIDxw
ZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTm90IHJldmlld2VkOiBjaHJvbWl1bSBi
dWlsZCBmaXguCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3F0L1FXZWJQb3B1cC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9xdC9RV2ViUG9wdXAuY3BwCShyZXZpc2lvbiA1MTMx
MCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vcXQvUVdlYlBvcHVwLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjEsOSArMjEsMTEgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJRV2ViUG9w
dXAuaCIKICNpbmNsdWRlICJQb3B1cE1lbnVTdHlsZS5oIgorI2luY2x1ZGUgIlJlbmRlclRoZW1l
UXQuaCIKIAogI2luY2x1ZGUgPFFBYnN0cmFjdEl0ZW1WaWV3PgogI2luY2x1ZGUgPFFBcHBsaWNh
dGlvbj4KKyNpbmNsdWRlIDxRQnl0ZUFycmF5PgogI2luY2x1ZGUgPFFJbnB1dENvbnRleHQ+CiAj
aW5jbHVkZSA8UU1vdXNlRXZlbnQ+CiAKQEAgLTUxLDYgKzUzLDI3IEBAIHZvaWQgUVdlYlBvcHVw
OjpleGVjKCkKIHZvaWQgUVdlYlBvcHVwOjpzaG93UG9wdXAoKQogewogICAgIFFDb21ib0JveDo6
c2hvd1BvcHVwKCk7CisgICAgUG9wdXBNZW51U3R5bGUgc3R5bGUgPSBtX2NsaWVudC0+aXRlbVN0
eWxlKDApOworICAgIFFQYWxldHRlIGJhc2VQYWxldHRlID0gcGFsZXR0ZSgpOworICAgIFFDb2xv
ciBkZWZhdWx0QmFzZUNvbG9yKGJhc2VQYWxldHRlLmNvbG9yKFFQYWxldHRlOjpCYXNlKSk7Cisg
ICAgUUNvbG9yIGRlZmF1bHRUZXh0Q29sb3IoYmFzZVBhbGV0dGUuY29sb3IoUVBhbGV0dGU6OlRl
eHQpKTsKKyAgICBDb2xvciBjb2xvciA9IHN0eWxlLmJhY2tncm91bmRDb2xvcigpOworICAgIGlm
IChjb2xvci5pc1ZhbGlkKCkpCisgICAgICAgIGJhc2VQYWxldHRlLnNldENvbG9yKFFQYWxldHRl
OjpCYXNlLCBjb2xvcik7CisgICAgY29sb3IgPSBzdHlsZS5mb3JlZ3JvdW5kQ29sb3IoKTsKKyAg
ICBpZiAoY29sb3IuaXNWYWxpZCgpKQorICAgICAgICBiYXNlUGFsZXR0ZS5zZXRDb2xvcihRUGFs
ZXR0ZTo6VGV4dCwgY29sb3IpOworICAgIHNldFBhbGV0dGUoYmFzZVBhbGV0dGUpOworICAgIC8v
IEZJWE1FOiBQcm9iYWJseSBoZXJlIHNwZWNpYWwgc3R5bGVzIGZyb20gdGhlIG9wdGlvbnMgc2hv
dWxkIGJlIHVzZWQgb3Igc3BlY2lhbCBkcm9wZG93bmxpc3QgYXR0cmlidXRlcworICAgIC8vIGZv
ciBub3cgYm90aCBkcm9wZG93biBsaXN0cyBhbmQgbGluZWVkaXQgc2hhcmUgdGhlIHNhbWUgY29s
b3JzLgorICAgIGlmIChRQWJzdHJhY3RJdGVtVmlldyogaXRlbVZpZXcgPSB2aWV3KCkpIHsKKyAg
ICAgICAgUUJ5dGVBcnJheSBidWZmZXIoaXRlbVZpZXctPnN0eWxlU2hlZXQoKS50b0FzY2lpKCkp
OworICAgICAgICBRQ29sb3IgbmV3QmFzZSA9IGJhc2VQYWxldHRlLmNvbG9yKFFQYWxldHRlOjpC
YXNlKTsKKyAgICAgICAgUUNvbG9yIG5ld1RleHQgPSBiYXNlUGFsZXR0ZS5jb2xvcihRUGFsZXR0
ZTo6VGV4dCk7CisgICAgICAgIFJlbmRlclRoZW1lUXQ6OmFkZFN0eWxlVGV4dElmTmVlZGVkKCZu
ZXdCYXNlLCBkZWZhdWx0QmFzZUNvbG9yLCAiIGJhY2tncm91bmQtY29sb3I6IHJnYmEoIiwgIik7
IiwgYnVmZmVyLCBmYWxzZSk7CisgICAgICAgIFJlbmRlclRoZW1lUXQ6OmFkZFN0eWxlVGV4dElm
TmVlZGVkKCZuZXdUZXh0LCBkZWZhdWx0VGV4dENvbG9yLCAiIGNvbG9yOiByZ2JhKCIsICIpOyIs
IGJ1ZmZlciwgZmFsc2UpOworICAgICAgICBpdGVtVmlldy0+c2V0U3R5bGVTaGVldChidWZmZXIu
Y29uc3REYXRhKCkpOworICAgIH07CiAgICAgbV9wb3B1cFZpc2libGUgPSB0cnVlOwogfQogCklu
ZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAJKHJldmlzaW9uIDUxMzEwKQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzIsNiArMzIsNyBAQAogCiAjaW5jbHVkZSAiQ1NTU3R5bGVTZWxlY3Rvci5oIgogI2luY2x1
ZGUgIkNTU1N0eWxlU2hlZXQuaCIKKyNpbmNsdWRlICJDU1NWYWx1ZUtleXdvcmRzLmgiCiAjaW5j
bHVkZSAiQ2hyb21lQ2xpZW50UXQuaCIKICNpbmNsdWRlICJDb2xvci5oIgogI2luY2x1ZGUgIkRv
Y3VtZW50LmgiCkBAIC00OSwxMiArNTAsMTggQEAKICNpbmNsdWRlICJxd2VicGFnZS5oIgogCiAj
aW5jbHVkZSA8UUFwcGxpY2F0aW9uPgorI2luY2x1ZGUgPFFDaGVja0JveD4KICNpbmNsdWRlIDxR
Q29sb3I+CisjaW5jbHVkZSA8UUNvbWJvQm94PgogI2luY2x1ZGUgPFFEZWJ1Zz4KICNpbmNsdWRl
IDxRRmlsZT4KICNpbmNsdWRlIDxRTGluZUVkaXQ+CisjaW5jbHVkZSA8UUxpc3RXaWRnZXQ+Cisj
aW5jbHVkZSA8UU1lbnU+CiAjaW5jbHVkZSA8UVBhaW50ZXI+CiAjaW5jbHVkZSA8UVB1c2hCdXR0
b24+CisjaW5jbHVkZSA8UVJhZGlvQnV0dG9uPgorI2luY2x1ZGUgPFFTY3JvbGxCYXI+CiAjaW5j
bHVkZSA8UVN0eWxlRmFjdG9yeT4KICNpbmNsdWRlIDxRU3R5bGVPcHRpb25CdXR0b24+CiAjaW5j
bHVkZSA8UVN0eWxlT3B0aW9uRnJhbWVWMj4KQEAgLTY1LDYgKzcyLDM5IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIAorUVdpZGdldCogUmVuZGVy
VGhlbWVRdDo6cGFnZU93bmVyV2lkZ2V0KCkgY29uc3QKK3sKKyAgICBpZiAoIW1fcGFnZSkKKyAg
ICAgICAgcmV0dXJuIDA7CisgICAgQ2hyb21lKiBjaHJvbWUgPSBtX3BhZ2UtPmNocm9tZSgpOwor
ICAgIGlmICghY2hyb21lKQorICAgICAgICByZXR1cm4gMDsKKyAgICBDaHJvbWVDbGllbnQqIGNo
cm9tZUNsaWVudCA9IGNocm9tZS0+Y2xpZW50KCk7CisgICAgaWYgKCFjaHJvbWVDbGllbnQpCisg
ICAgICAgIHJldHVybiAwOworICAgIFFXZWJQYWdlQ2xpZW50KiBwYWdlQ2xpZW50ID0gY2hyb21l
Q2xpZW50LT5wbGF0Zm9ybVBhZ2VDbGllbnQoKTsKKyAgICBpZiAoIXBhZ2VDbGllbnQpCisgICAg
ICAgIHJldHVybiAwOworICAgIHJldHVybiBwYWdlQ2xpZW50LT5vd25lcldpZGdldCgpOworfQor
CitzdGF0aWMgdm9pZCBpbml0UGFsZXR0ZUZyb21QYWdlQ2xpZW50SWZFeGlzdHMoUVBhbGV0dGUg
JnBhbGV0dGUsIGNvbnN0IFJlbmRlck9iamVjdCAqbykKK3sKKyAgICAvLyBJZiB0aGUgd2Vidmll
dyBoYXMgYSBjdXN0b20gcGFsZXR0ZSwgdXNlIGl0CisgICAgUGFnZSogcGFnZSA9IG8tPmRvY3Vt
ZW50KCktPnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybjsKKyAgICBDaHJv
bWUqIGNocm9tZSA9IHBhZ2UtPmNocm9tZSgpOworICAgIGlmICghY2hyb21lKQorICAgICAgICBy
ZXR1cm47CisgICAgQ2hyb21lQ2xpZW50KiBjaHJvbWVDbGllbnQgPSBjaHJvbWUtPmNsaWVudCgp
OworICAgIGlmICghY2hyb21lQ2xpZW50KQorICAgICAgICByZXR1cm47CisgICAgUVdlYlBhZ2VD
bGllbnQqIHBhZ2VDbGllbnQgPSBjaHJvbWVDbGllbnQtPnBsYXRmb3JtUGFnZUNsaWVudCgpOwor
ICAgIGlmICghcGFnZUNsaWVudCkKKyAgICAgICAgcmV0dXJuOworICAgIHBhbGV0dGUgPSBwYWdl
Q2xpZW50LT5wYWxldHRlKCk7Cit9CiAKIFN0eWxlUGFpbnRlcjo6U3R5bGVQYWludGVyKGNvbnN0
IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiBwYWludEluZm8pCiB7CkBAIC0yMDcsNiArMjQ3LDY4
IEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6c3VwcG9ydHNDb250cm9sVGludHMKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAordm9pZCBSZW5kZXJUaGVtZVF0OjphZGRTdHlsZVRleHRJZk5lZWRlZChjb25z
dCBRQ29sb3IqIGNvbG9yLCBjb25zdCBRQ29sb3ImIGRlZmF1bHRDb2xvciwKKyAgICBjb25zdCBj
aGFyKiBwcmVmaXgsIGNvbnN0IGNoYXIqIHN1ZmZpeCwgUUJ5dGVBcnJheSYgYnVmZmVyLCBib29s
IHNjYWxlQWxwaGEpCit7CisgICAgaWYgKCpjb2xvciA9PSBkZWZhdWx0Q29sb3IpCisgICAgICAg
IHJldHVybjsKKyAgICBRTG9jYWxlIGxvY2FsZShRTG9jYWxlOjpjKCkpOworICAgIGJ1ZmZlci5h
cHBlbmQocHJlZml4KS5hcHBlbmQobG9jYWxlLnRvU3RyaW5nKGNvbG9yLT5yZWQoKSkpLmFwcGVu
ZCgnLCcpCisgICAgICAgIC5hcHBlbmQobG9jYWxlLnRvU3RyaW5nKGNvbG9yLT5ncmVlbigpKSku
YXBwZW5kKCcsJykKKyAgICAgICAgLmFwcGVuZChsb2NhbGUudG9TdHJpbmcoY29sb3ItPmJsdWUo
KSkpLmFwcGVuZCgnLCcpCisgICAgICAgIC5hcHBlbmQoc2NhbGVBbHBoYSA/IGxvY2FsZS50b1N0
cmluZyhzdGF0aWNfY2FzdDxmbG9hdD4oY29sb3ItPmFscGhhKCkpIC8gMjU1LCAnZicsIDQpIDog
bG9jYWxlLnRvU3RyaW5nKGNvbG9yLT5hbHBoYSgpKSkKKyAgICAgICAgLmFwcGVuZChzdWZmaXgp
OworfQorCisvLyBUaGlzIGZ1bmN0aW9uIHdhcyBkZXNpZ25lZCBmb3IgdGhlIHNwZWNpZmljIHB1
cnBvc2Ugb2YgcHJvY2Vzc2luZyBzdHlsZXMgCisvLyBmb3IgdmFyaW91cyB3aWRnZXQgdHlwZXMg
ZHVyaW5nIHRoZSBjYWxsIHRvIFJlbmRlclRoZW1lUXQ6OmV4dHJhRGVmYXVsdFN0eWxlU2hlZXQo
KQorLy8gSXQgZGVsZXRlcyB0aGUgd2lkZ2V0IHBhc3NlZCBpbi4KK3N0YXRpYyB2b2lkIGFkZFN0
eWxlVGV4dEZvcldpZGdldChRV2lkZ2V0KiB3aWRnZXQsIFFDb2xvciYgZGVmYXVsdENvbG9yLCBj
b25zdCBjaGFyKiBwcmVmaXgsIGNvbnN0IGNoYXIqIGRpc2FibGVkUHJlZml4LCBRQnl0ZUFycmF5
JiBidWZmZXIpCit7CisgICAgd2lkZ2V0LT5zZXRBdHRyaWJ1dGUoUXQ6OldBX0RvbnRTaG93T25T
Y3JlZW4pOworICAgIHdpZGdldC0+c2hvdygpOworICAgIFFQYWxldHRlIHBhbGV0dGUgPSB3aWRn
ZXQtPnBhbGV0dGUoKTsKKyAgICBRUGFsZXR0ZTo6Q29sb3JSb2xlIGNvbG9yUm9sZSA9IHdpZGdl
dC0+YmFja2dyb3VuZFJvbGUoKTsKKyAgICB3aWRnZXQtPmhpZGUoKTsKKyAgICBkZWxldGUgd2lk
Z2V0OworICAgIFJlbmRlclRoZW1lUXQ6OmFkZFN0eWxlVGV4dElmTmVlZGVkKCZwYWxldHRlLmNv
bG9yKFFQYWxldHRlOjpOb3JtYWwsIGNvbG9yUm9sZSksIGRlZmF1bHRDb2xvciwgcHJlZml4LCAg
Iik7fVxyXG4iLCBidWZmZXIsIHRydWUpOworICAgIFJlbmRlclRoZW1lUXQ6OmFkZFN0eWxlVGV4
dElmTmVlZGVkKCZwYWxldHRlLmNvbG9yKFFQYWxldHRlOjpEaXNhYmxlZCwgY29sb3JSb2xlKSwg
ZGVmYXVsdENvbG9yLCBkaXNhYmxlZFByZWZpeCwgIik7fVxyXG4iLCBidWZmZXIsIHRydWUpOwor
fQorCisvLyBUaGVzZSBzdHJpbmdzIG5lZWQgdG8gYmUga2VwdCBpbiBzeW5rIHdpdGggaHRtbC5j
c3MKK3N0YXRpYyBjb25zdCBjaGFyIHFMaW5lRWRpdFN0eWxlUHJlZml4W10gPSAiaW5wdXQ6bm90
KFt0eXBlXSksIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0s
IGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sIGlucHV0W3R5cGU9XCJmaWxlXCJdLCB0ZXh0YXJlYSB7
IGJhY2tncm91bmQtY29sb3I6IHJnYmEoIjsKK3N0YXRpYyBjb25zdCBjaGFyIHFMaW5lRWRpdERp
c2FibGVkU3R5bGVQcmVmaXhbXSA9ICJpbnB1dDpub3QoW3R5cGVdKTpkaXNhYmxlZCwgaW5wdXRb
dHlwZT1cInRleHRcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpkaXNhYmxl
ZCwgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cImZpbGVcIl06
ZGlzYWJsZWQsIHRleHRhcmVhOmRpc2FibGVkIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgiOwor
c3RhdGljIGNvbnN0IGNoYXIgcUNoZWNrQm94U3R5bGVQcmVmaXhbXSA9ICJpbnB1dFt0eXBlPVwi
Y2hlY2tib3hcIl0geyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCI7CitzdGF0aWMgY29uc3QgY2hh
ciBxQ2hlY2tCb3hEaXNhYmxlZFN0eWxlUHJlZml4W10gPSAiaW5wdXRbdHlwZT1cImNoZWNrYm94
XCJdOmRpc2FibGVkIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgiOworc3RhdGljIGNvbnN0IGNo
YXIgcVJhZGlvQnV0dG9uU3R5bGVQcmVmaXhbXSA9ICJpbnB1dFt0eXBlPVwicmFkaW9cIl0geyBi
YWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCI7CitzdGF0aWMgY29uc3QgY2hhciBxUmFkaW9CdXR0b25E
aXNhYmxlZFN0eWxlUHJlZml4W10gPSAiaW5wdXRbdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkIHsg
YmFja2dyb3VuZC1jb2xvcjogcmdiYSgiOworc3RhdGljIGNvbnN0IGNoYXIgcUxpc3RCb3hTdHls
ZVByZWZpeFtdID0gInNlbGVjdFtzaXplXSwgc2VsZWN0W211bHRpcGxlXSwgc2VsZWN0W3NpemVd
W211bHRpcGxlXSwgc2VsZWN0W3NpemVdIG9wdGlvbiwgc2VsZWN0W211bHRpcGxlXSBvcHRpb24s
IHNlbGVjdFtzaXplXVttdWx0aXBsZV0gb3B0aW9uICB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEo
IjsKK3N0YXRpYyBjb25zdCBjaGFyIHFMaXN0Qm94RGlzYWJsZWRTdHlsZVByZWZpeFtdID0gInNl
bGVjdFtzaXplXTpkaXNhYmxlZCwgc2VsZWN0W211bHRpcGxlXTpkaXNhYmxlZCwgc2VsZWN0W3Np
emVdW211bHRpcGxlXTpkaXNhYmxlZCB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoIjsKK3N0YXRp
YyBjb25zdCBjaGFyIHFDb21ib0JveFN0eWxlUHJlZml4W10gPSAic2VsZWN0LCBrZXlnZW4sIHNl
bGVjdFtzaXplPVwiMFwiXSwgc2VsZWN0W3NpemU9XCIxXCJdIHsgYmFja2dyb3VuZC1jb2xvcjog
cmdiYSgiOworc3RhdGljIGNvbnN0IGNoYXIgcUNvbWJvQm94RGlzYWJsZWRTdHlsZVByZWZpeFtd
ID0gInNlbGVjdDpkaXNhYmxlZCwga2V5Z2VuOmRpc2FibGVkLCBzZWxlY3Rbc2l6ZT1cIjBcIl06
ZGlzYWJsZWQsIHNlbGVjdFtzaXplPVwiMVwiXTpkaXNhYmxlZCB7IGJhY2tncm91bmQtY29sb3I6
IHJnYmEoIjsKKworU3RyaW5nIFJlbmRlclRoZW1lUXQ6OmV4dHJhRGVmYXVsdFN0eWxlU2hlZXQo
KQoreworICAgIFFCeXRlQXJyYXkgYnVmZmVyID0gImlucHV0W3R5cGU9XCJzZWFyY2hcIl0gey13
ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkfVxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZv
Y3VzIHtvdXRsaW5lLW9mZnNldDogLTJweH1cclxuIjsKKyAgICBRQ29sb3IgaW5pdGlhbDsKKyAg
ICBRQ29sb3Igd2hpdGUoUXQ6OndoaXRlKTsKKyAgICAvLyB0aGUgbmV3IFFMaW5lRWRpdCBzaGFs
bCBiZSBkZWxldGVkIGJ5IGFkZFN0eWxlVGV4dEZvcldpZGdldAorICAgIGFkZFN0eWxlVGV4dEZv
cldpZGdldChuZXcgUUxpbmVFZGl0KHBhZ2VPd25lcldpZGdldCgpKSwgd2hpdGUsICBxTGluZUVk
aXRTdHlsZVByZWZpeCwgcUxpbmVFZGl0RGlzYWJsZWRTdHlsZVByZWZpeCwgYnVmZmVyKTsKKyAg
ICAvLyB0aGUgbmV3IFFDaGVja0JveCBzaGFsbCBiZSBkZWxldGVkIGJ5IGFkZFN0eWxlVGV4dEZv
cldpZGdldAorICAgIGFkZFN0eWxlVGV4dEZvcldpZGdldChuZXcgUUNoZWNrQm94KHBhZ2VPd25l
cldpZGdldCgpKSwgaW5pdGlhbCwKKyAgICAgICAgcUNoZWNrQm94U3R5bGVQcmVmaXgsIHFDaGVj
a0JveERpc2FibGVkU3R5bGVQcmVmaXgsIGJ1ZmZlcik7CisgICAgLy8gdGhlIG5ldyBRUmFkaW9C
dXR0b24gc2hhbGwgYmUgZGVsZXRlZCBieSBhZGRTdHlsZVRleHRGb3JXaWRnZXQKKyAgICBhZGRT
dHlsZVRleHRGb3JXaWRnZXQobmV3IFFSYWRpb0J1dHRvbihwYWdlT3duZXJXaWRnZXQoKSksIGlu
aXRpYWwsCisgICAgICAgIHFSYWRpb0J1dHRvblN0eWxlUHJlZml4LCBxUmFkaW9CdXR0b25EaXNh
YmxlZFN0eWxlUHJlZml4LCBidWZmZXIpOworICAgIC8vIHRoZSBuZXcgUUNvbWJvQm94IHNoYWxs
IGJlIGRlbGV0ZWQgYnkgYWRkU3R5bGVUZXh0Rm9yV2lkZ2V0CisgICAgYWRkU3R5bGVUZXh0Rm9y
V2lkZ2V0KG5ldyBRQ29tYm9Cb3gocGFnZU93bmVyV2lkZ2V0KCkpLCB3aGl0ZSwKKyAgICAgICAg
cUNvbWJvQm94U3R5bGVQcmVmaXgsIHFDb21ib0JveERpc2FibGVkU3R5bGVQcmVmaXgsIGJ1ZmZl
cik7CisgICAgLy8gdGhlIG5ldyBRTGlzdFdpZGdldCBzaGFsbCBiZSBkZWxldGVkIGJ5IGFkZFN0
eWxlVGV4dEZvcldpZGdldAorICAgIGFkZFN0eWxlVGV4dEZvcldpZGdldChuZXcgUUxpc3RXaWRn
ZXQocGFnZU93bmVyV2lkZ2V0KCkpLCBpbml0aWFsLAorICAgICAgICBxTGlzdEJveFN0eWxlUHJl
Zml4LCBxTGlzdEJveERpc2FibGVkU3R5bGVQcmVmaXgsIGJ1ZmZlcik7CisgICAgcmV0dXJuIFN0
cmluZyhidWZmZXIuY29uc3REYXRhKCkpOworfQorCiBzdGF0aWMgaW50IGZpbmRGcmFtZUxpbmVX
aWR0aChRU3R5bGUqIHN0eWxlKQogewogICAgIFFMaW5lRWRpdCBsaW5lRWRpdDsKQEAgLTI4MSw2
ICszODMsMTQwIEBAIHZvaWQgUmVuZGVyVGhlbWVRdDo6c3lzdGVtRm9udChpbnQsIEZvbnQKICAg
ICAvLyBuby1vcAogfQogCisKK2VudW0geworICAgIE5vcm1hbEluZGV4ID0gMCwKKyAgICBEaXNh
YmxlZEluZGV4LAorICAgIENvbnRyb2xTdGF0ZUNvdW50Cit9IENvbnRyb2xTdGF0ZTsKKworLyog
VGhlIGZvbGxvd2luZyB2YXJpYWJsZXMgc3RvcmUgdGhlIGRlZmF1bHQgY29sb3JzIGZvciB2YXJp
b3VzIHdpZGdldHMKKyAgICAqIEVhY2ggb2YgdGhlIHZhcmlhYmxlcyBpcyBhbiBhcnJheSB3aXRo
IENvbnRyb2xTdGF0ZUNvdW50IGVsZW1lbnRzIC4KKyAgICAqIEVhY2ggb2YgdGhlIGVsZW1lbnRz
IGluIHRoZSBhcnJheSBjb250YWlucyB0aGUgY29sb3IgZm9yIHRoZSAKKyAgICAqIGNvcnJlc3Bv
bmRpbmcgc3RhdGUgb2YgdGhlIGNvbnRyb2wgYXMgaW5kaWNhdGVkIGJ5IHRoZSBDb250cm9sU3Rh
dGUKKyAgICAqIGVudW1lcmF0aW9uLgorICAgICovCitzdGF0aWMgUUNvbG9yIGRlZmF1bHRRUHVz
aEJ1dHRvbkJhY2tncm91bmRDb2xvcltDb250cm9sU3RhdGVDb3VudF07CitzdGF0aWMgUUNvbG9y
IGRlZmF1bHRRUHVzaEJ1dHRvblRleHRDb2xvcltDb250cm9sU3RhdGVDb3VudF07CitzdGF0aWMg
UUNvbG9yIGRlZmF1bHRRTWVudUJhY2tncm91bmRDb2xvcltDb250cm9sU3RhdGVDb3VudF07Citz
dGF0aWMgUUNvbG9yIGRlZmF1bHRRTWVudVRleHRDb2xvcltDb250cm9sU3RhdGVDb3VudF07Citz
dGF0aWMgUUNvbG9yIGRlZmF1bHRRU2Nyb2xsYmFyQmFja2dyb3VuZENvbG9yW0NvbnRyb2xTdGF0
ZUNvdW50XTsKKworLy8gVGhpcyBmdW5jdGlvbiBpcyBkZXNpZ25lZCBzcGVjaWZpY2FsbHkgdG8g
cmVkdWNlIGNvZGUgc2l6ZSBpbiBSZW5kZXJUaGVtZVF0OjpzeXN0ZW1Db2xvciwgdGhlcmVmb3Jl
IGl0IGRvZXMgbm90IGhhdmUgYSBuaWNlIGludGVyZmFjZQorLy8gSXQgZGVsZXRlcyB0aGUgd2lk
Z2V0IHBhc3NlZCBpbi4KK3N0YXRpYyB2b2lkIHNldFdpZGdldENvbG9ycyhRV2lkZ2V0KiB3aWRn
ZXQsIFFDb2xvciogYmFja2dyb3VuZENvbG9ycywgUVBhbGV0dGU6OkNvbG9yUm9sZSBiYWNrZ3Jv
dW5kUm9sZSwgUUNvbG9yKiBmb3JlZ3JvdW5kQ29sb3JzLCBRUGFsZXR0ZTo6Q29sb3JSb2xlIGZv
cmVncm91bmRSb2xlKQoreworICAgIHdpZGdldC0+c2V0QXR0cmlidXRlKFF0OjpXQV9Eb250U2hv
d09uU2NyZWVuKTsKKyAgICB3aWRnZXQtPnNob3coKTsKKyAgICBRUGFsZXR0ZSBwYWxldHRlKHdp
ZGdldC0+cGFsZXR0ZSgpKTsKKyAgICB3aWRnZXQtPmhpZGUoKTsKKyAgICBkZWxldGUgd2lkZ2V0
OworICAgIGJhY2tncm91bmRDb2xvcnNbRGlzYWJsZWRJbmRleF0gPSBwYWxldHRlLmNvbG9yKFFQ
YWxldHRlOjpEaXNhYmxlZCwgYmFja2dyb3VuZFJvbGUpOworICAgIGJhY2tncm91bmRDb2xvcnNb
Tm9ybWFsSW5kZXhdID0gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6Tm9ybWFsLCBiYWNrZ3JvdW5k
Um9sZSk7CisgICAgaWYgKGZvcmVncm91bmRDb2xvcnMpIHsKKyAgICAgICAgZm9yZWdyb3VuZENv
bG9yc1tEaXNhYmxlZEluZGV4XSA9IHBhbGV0dGUuY29sb3IoUVBhbGV0dGU6OkRpc2FibGVkLCBm
b3JlZ3JvdW5kUm9sZSk7CisgICAgICAgIGZvcmVncm91bmRDb2xvcnNbTm9ybWFsSW5kZXhdID0g
cGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6Tm9ybWFsLCBmb3JlZ3JvdW5kUm9sZSk7CisgICAgfQor
fQorCisvLyBUaGlzIGZ1bmN0aW9uIGlzIGNvcGllZCBmcm9tIFJlbmRlclRoZW1lLmNwcC5hbmQg
dXBkYXRlZCB0byByZXR1cm4gdmFsdWVzIHRoYXQKKy8vIG1hdGNoIHRoZSB0aGUgUXQgc3R5bGUg
KyBRU3R5bGVTaGVldHMuIFRoZSBoYXJkY29kZWQgY29uc3RhbnRzIGZvdW5kIGluIHRoZSAKKy8v
IGdlbmVyaWMgaW1wbGVtZW50YXRpb24gaGF2ZSBiZWVuIGtlcHQgd2hlcmUgbm8gUVN0eWxlIG9y
IFFQYWxldHRlIGVxdWl2YWxlbnQKKy8vIGNvbG9yIHJvbGUgaGFzIGJlZW4gZm91bmQuCitDb2xv
ciBSZW5kZXJUaGVtZVF0OjpzeXN0ZW1Db2xvcihpbnQgY3NzVmFsdWVJZCkgY29uc3QKK3sKKyAg
ICBRV2lkZ2V0KiBvd25lcldpZGdldCA9IHBhZ2VPd25lcldpZGdldCgpOworICAgIFFQYWxldHRl
IHBhbGV0dGUob3duZXJXaWRnZXQgPyBvd25lcldpZGdldC0+cGFsZXR0ZSgpIDogUUFwcGxpY2F0
aW9uOjpwYWxldHRlKCkpOworICAgIHN3aXRjaCAoY3NzVmFsdWVJZCkgeworICAgIGNhc2UgQ1NT
VmFsdWVBY3RpdmVib3JkZXI6CisgICAgICAgIHJldHVybiAweEZGRkZGRkZGOworICAgIGNhc2Ug
Q1NTVmFsdWVBY3RpdmVjYXB0aW9uOgorICAgICAgICByZXR1cm4gMHhGRkNDQ0NDQzsKKyAgICBj
YXNlIENTU1ZhbHVlQXBwd29ya3NwYWNlOgorICAgICAgICByZXR1cm4gMHhGRkZGRkZGRjsKKyAg
ICBjYXNlIENTU1ZhbHVlQmFja2dyb3VuZDoKKyAgICAgICAgcmV0dXJuIDB4RkY2MzYzQ0U7Cisg
ICAgY2FzZSBDU1NWYWx1ZUJ1dHRvbmZhY2U6CisgICAgICAgIC8vIHVzZSB0aGUgY2FjaGVkIHZh
bHVlIGlmIHdlIGhhdmUgb25lCisgICAgICAgIGlmICghZGVmYXVsdFFQdXNoQnV0dG9uQmFja2dy
b3VuZENvbG9yW05vcm1hbEluZGV4XS5pc1ZhbGlkKCkpIHsKKyAgICAgICAgICAgIC8vdGhlIG5l
dyBRUHVzaEJ1dHRvbiBpcyBkZWxldGVkIGluIHNldFdpZGdldENvbG9ycygpCisgICAgICAgICAg
ICBzZXRXaWRnZXRDb2xvcnMoIG5ldyBRUHVzaEJ1dHRvbihwYWdlT3duZXJXaWRnZXQoKSksIGRl
ZmF1bHRRUHVzaEJ1dHRvbkJhY2tncm91bmRDb2xvciwgUVBhbGV0dGU6OkJ1dHRvbiwgZGVmYXVs
dFFQdXNoQnV0dG9uVGV4dENvbG9yLCBRUGFsZXR0ZTo6VGV4dCk7CisgICAgICAgIH0KKyAgICAg
ICAgcmV0dXJuIGRlZmF1bHRRUHVzaEJ1dHRvbkJhY2tncm91bmRDb2xvcltOb3JtYWxJbmRleF07
CisgICAgY2FzZSBDU1NWYWx1ZUJ1dHRvbmhpZ2hsaWdodDoKKyAgICAgICAgcmV0dXJuIHBhbGV0
dGUuY29sb3IoUVBhbGV0dGU6OkxpZ2h0KTsKKyAgICBjYXNlIENTU1ZhbHVlQnV0dG9uc2hhZG93
OgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6U2hhZG93KTsKKyAgICBj
YXNlIENTU1ZhbHVlQnV0dG9udGV4dDoKKyAgICAgICAgLy8gdXNlIHRoZSBjYWNoZWQgdmFsdWUg
aWYgd2UgaGF2ZSBvbmUKKyAgICAgICAgaWYgKCFkZWZhdWx0UVB1c2hCdXR0b25UZXh0Q29sb3Jb
Tm9ybWFsSW5kZXhdLmlzVmFsaWQoKSkgeworICAgICAgICAgICAgLy90aGUgbmV3IFFQdXNoQnV0
dG9uIGlzIGRlbGV0ZWQgaW4gc2V0V2lkZ2V0Q29sb3JzKCkKKyAgICAgICAgICAgIHNldFdpZGdl
dENvbG9ycyggbmV3IFFQdXNoQnV0dG9uKHBhZ2VPd25lcldpZGdldCgpKSwgZGVmYXVsdFFQdXNo
QnV0dG9uQmFja2dyb3VuZENvbG9yLCBRUGFsZXR0ZTo6QnV0dG9uLCBkZWZhdWx0UVB1c2hCdXR0
b25UZXh0Q29sb3IsIFFQYWxldHRlOjpUZXh0KTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4g
ZGVmYXVsdFFQdXNoQnV0dG9uVGV4dENvbG9yW05vcm1hbEluZGV4XTsKKyAgICBjYXNlIENTU1Zh
bHVlQ2FwdGlvbnRleHQ6CisgICAgICAgIHJldHVybiBwYWxldHRlLmNvbG9yKFFQYWxldHRlOjpX
aW5kb3dUZXh0KTsKKyAgICBjYXNlIENTU1ZhbHVlR3JheXRleHQ6CisgICAgICAgIHJldHVybiBw
YWxldHRlLmNvbG9yKFFQYWxldHRlOjpEaXNhYmxlZCwgUVBhbGV0dGU6OlRleHQpOworICAgIGNh
c2UgQ1NTVmFsdWVIaWdobGlnaHQ6CisgICAgICAgIHJldHVybiBwYWxldHRlLmNvbG9yKFFQYWxl
dHRlOjpIaWdobGlnaHQpOworICAgIGNhc2UgQ1NTVmFsdWVIaWdobGlnaHR0ZXh0OgorICAgICAg
ICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6SGlnaGxpZ2h0ZWRUZXh0KTsKKyAgICBj
YXNlIENTU1ZhbHVlSW5hY3RpdmVib3JkZXI6CisgICAgICAgIHJldHVybiAweEZGRkZGRkZGOwor
ICAgIGNhc2UgQ1NTVmFsdWVJbmFjdGl2ZWNhcHRpb246CisgICAgICAgIHJldHVybiAweEZGRkZG
RkZGOworICAgIGNhc2UgQ1NTVmFsdWVJbmFjdGl2ZWNhcHRpb250ZXh0OgorICAgICAgICByZXR1
cm4gMHhGRjdGN0Y3RjsKKyAgICBjYXNlIENTU1ZhbHVlSW5mb2JhY2tncm91bmQ6CisgICAgICAg
IHJldHVybiBwYWxldHRlLmNvbG9yKFFQYWxldHRlOjpJbmFjdGl2ZSwgUVBhbGV0dGU6OlRvb2xU
aXBCYXNlKTsKKyAgICBjYXNlIENTU1ZhbHVlSW5mb3RleHQ6CisgICAgICAgIHJldHVybiBwYWxl
dHRlLmNvbG9yKFFQYWxldHRlOjpJbmFjdGl2ZSwgUVBhbGV0dGU6OlRvb2xUaXBUZXh0KTsKKyAg
ICBjYXNlIENTU1ZhbHVlTWVudToKKyAgICAgICAgLy8gdXNlIHRoZSBjYWNoZWQgdmFsdWUgaWYg
d2UgaGF2ZSBvbmUKKyAgICAgICAgaWYgKCFkZWZhdWx0UU1lbnVCYWNrZ3JvdW5kQ29sb3JbTm9y
bWFsSW5kZXhdLmlzVmFsaWQoKSkgeworICAgICAgICAgICAgLy90aGUgbmV3IFFNZW51IGlzIGRl
bGV0ZWQgaW4gc2V0V2lkZ2V0Q29sb3JzKCkKKyAgICAgICAgICAgIHNldFdpZGdldENvbG9ycygg
bmV3IFFNZW51KHBhZ2VPd25lcldpZGdldCgpKSwgZGVmYXVsdFFNZW51QmFja2dyb3VuZENvbG9y
LCBRUGFsZXR0ZTo6QmFzZSwgZGVmYXVsdFFNZW51VGV4dENvbG9yLCBRUGFsZXR0ZTo6VGV4dCk7
CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGRlZmF1bHRRTWVudUJhY2tncm91bmRDb2xvcltO
b3JtYWxJbmRleF07CisgICAgY2FzZSBDU1NWYWx1ZU1lbnV0ZXh0OgorICAgICAgICAvLyB1c2Ug
dGhlIGNhY2hlZCB2YWx1ZSBpZiB3ZSBoYXZlIG9uZQorICAgICAgICBpZiAoIWRlZmF1bHRRTWVu
dVRleHRDb2xvcltOb3JtYWxJbmRleF0uaXNWYWxpZCgpKSB7CisgICAgICAgICAgICAvL3RoZSBu
ZXcgUU1lbnUgaXMgZGVsZXRlZCBpbiBzZXRXaWRnZXRDb2xvcnMoKQorICAgICAgICAgICAgc2V0
V2lkZ2V0Q29sb3JzKCBuZXcgUU1lbnUocGFnZU93bmVyV2lkZ2V0KCkpLCBkZWZhdWx0UU1lbnVC
YWNrZ3JvdW5kQ29sb3IsIFFQYWxldHRlOjpCYXNlLCBkZWZhdWx0UU1lbnVUZXh0Q29sb3IsIFFQ
YWxldHRlOjpUZXh0KTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gZGVmYXVsdFFNZW51QmFj
a2dyb3VuZENvbG9yW05vcm1hbEluZGV4XTsKKyAgICBjYXNlIENTU1ZhbHVlU2Nyb2xsYmFyOgor
ICAgICAgICAvLyB1c2UgdGhlIGNhY2hlZCB2YWx1ZSBpZiB3ZSBoYXZlIG9uZQorICAgICAgICBp
ZiAoIWRlZmF1bHRRU2Nyb2xsYmFyQmFja2dyb3VuZENvbG9yW05vcm1hbEluZGV4XS5pc1ZhbGlk
KCkpIHsKKyAgICAgICAgICAgIC8vdGhlIG5ldyBRU2Nyb2xsQmFyIGlzIGRlbGV0ZWQgaW4gc2V0
V2lkZ2V0Q29sb3JzKCkKKyAgICAgICAgICAgIHNldFdpZGdldENvbG9ycyggbmV3IFFTY3JvbGxC
YXIocGFnZU93bmVyV2lkZ2V0KCkpLCBkZWZhdWx0UVNjcm9sbGJhckJhY2tncm91bmRDb2xvciwg
UVBhbGV0dGU6OkJhc2UsIDAsIFFQYWxldHRlOjpOb1JvbGUpOworICAgICAgICB9CisgICAgICAg
IHJldHVybiBkZWZhdWx0UVNjcm9sbGJhckJhY2tncm91bmRDb2xvcltOb3JtYWxJbmRleF07Cisg
ICAgY2FzZSBDU1NWYWx1ZVRleHQ6CisgICAgICAgIHJldHVybiBwYWxldHRlLmNvbG9yKFFQYWxl
dHRlOjpUZXh0KTsKKyAgICBjYXNlIENTU1ZhbHVlVGhyZWVkZGFya3NoYWRvdzoKKyAgICAgICAg
cmV0dXJuIHBhbGV0dGUuY29sb3IoUVBhbGV0dGU6OkRhcmspOworICAgIGNhc2UgQ1NTVmFsdWVU
aHJlZWRmYWNlOgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6QnV0dG9u
KTsKKyAgICBjYXNlIENTU1ZhbHVlVGhyZWVkaGlnaGxpZ2h0OgorICAgICAgICByZXR1cm4gcGFs
ZXR0ZS5jb2xvcihRUGFsZXR0ZTo6TGlnaHQpOworICAgIGNhc2UgQ1NTVmFsdWVUaHJlZWRsaWdo
dHNoYWRvdzoKKyAgICAgICAgcmV0dXJuIHBhbGV0dGUuY29sb3IoUVBhbGV0dGU6Ok1pZGxpZ2h0
KTsKKyAgICBjYXNlIENTU1ZhbHVlVGhyZWVkc2hhZG93OgorICAgICAgICByZXR1cm4gcGFsZXR0
ZS5jb2xvcihRUGFsZXR0ZTo6TWlkKTsKKyAgICBjYXNlIENTU1ZhbHVlV2luZG93OgorICAgICAg
ICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6V2luZG93KTsKKyAgICBjYXNlIENTU1Zh
bHVlV2luZG93ZnJhbWU6CisgICAgICAgIHJldHVybiAweEZGQ0NDQ0NDOworICAgIGNhc2UgQ1NT
VmFsdWVXaW5kb3d0ZXh0OgorICAgICAgICByZXR1cm4gcGFsZXR0ZS5jb2xvcihRUGFsZXR0ZTo6
V2luZG93VGV4dCk7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgfQorICAgIHJldHVybiBDb2xvcigpOworfQorCiBpbnQgUmVuZGVyVGhlbWVRdDo6bWlu
aW11bU1lbnVMaXN0U2l6ZShSZW5kZXJTdHlsZSopIGNvbnN0CiB7CiAgICAgY29uc3QgUUZvbnRN
ZXRyaWNzICZmbSA9IFFBcHBsaWNhdGlvbjo6Zm9udE1ldHJpY3MoKTsKQEAgLTQ3Niw3ICs3MTIs
NyBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnBhaW50QnV0dG9uKFJlbmRlck9iCiAgICAgb3B0aW9u
LnJlY3QgPSByOwogICAgIG9wdGlvbi5zdGF0ZSB8PSBRU3R5bGU6OlN0YXRlX1NtYWxsOwogCi0g
ICAgQ29udHJvbFBhcnQgYXBwZWFyYW5jZSA9IGFwcGx5VGhlbWUob3B0aW9uLCBvKTsKKyAgICBD
b250cm9sUGFydCBhcHBlYXJhbmNlID0gYWRqdXN0Q29tbW9uUVN0eWxlT3B0aW9ucyhvcHRpb24s
IG8pOwogICAgIGlmIChhcHBlYXJhbmNlID09IFB1c2hCdXR0b25QYXJ0IHx8IGFwcGVhcmFuY2Ug
PT0gQnV0dG9uUGFydCkgewogICAgICAgICBvcHRpb24ucmVjdCA9IGluZmxhdGVCdXR0b25SZWN0
KG9wdGlvbi5yZWN0LCBxU3R5bGUoKSk7CiAgICAgICAgIHAuZHJhd0NvbnRyb2woUVN0eWxlOjpD
RV9QdXNoQnV0dG9uLCBvcHRpb24pOwpAQCAtNDkwLDcgKzcyNiw2IEBAIGJvb2wgUmVuZGVyVGhl
bWVRdDo6cGFpbnRCdXR0b24oUmVuZGVyT2IKIAogdm9pZCBSZW5kZXJUaGVtZVF0OjphZGp1c3RU
ZXh0RmllbGRTdHlsZShDU1NTdHlsZVNlbGVjdG9yKiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBFbGVt
ZW50KikgY29uc3QKIHsKLSAgICBzdHlsZS0+c2V0QmFja2dyb3VuZENvbG9yKENvbG9yOjp0cmFu
c3BhcmVudCk7CiAgICAgc3R5bGUtPnJlc2V0Qm9yZGVyKCk7CiAgICAgc3R5bGUtPnJlc2V0UGFk
ZGluZygpOwogICAgIGNvbXB1dGVTaXplQmFzZWRPblN0eWxlKHN0eWxlKTsKQEAgLTUxMiw3ICs3
NDcsNyBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnBhaW50VGV4dEZpZWxkKFJlbmRlCiAgICAgcGFu
ZWwuZmVhdHVyZXMgPSBRU3R5bGVPcHRpb25GcmFtZVYyOjpOb25lOwogCiAgICAgLy8gR2V0IHRo
ZSBjb3JyZWN0IHRoZW1lIGRhdGEgZm9yIGEgdGV4dCBmaWVsZAotICAgIENvbnRyb2xQYXJ0IGFw
cGVhcmFuY2UgPSBhcHBseVRoZW1lKHBhbmVsLCBvKTsKKyAgICBDb250cm9sUGFydCBhcHBlYXJh
bmNlID0gYWRqdXN0Q29tbW9uUVN0eWxlT3B0aW9ucyhwYW5lbCwgbyk7CiAgICAgaWYgKGFwcGVh
cmFuY2UgIT0gVGV4dEZpZWxkUGFydAogICAgICAgICAmJiBhcHBlYXJhbmNlICE9IFNlYXJjaEZp
ZWxkUGFydAogICAgICAgICAmJiBhcHBlYXJhbmNlICE9IFRleHRBcmVhUGFydApAQCAtNTc0LDcg
KzgwOSw3IEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRNZW51TGlzdChSZW5kZXIKICAgICBR
U3R5bGVPcHRpb25Db21ib0JveCBvcHQ7CiAgICAgaWYgKHAud2lkZ2V0KQogICAgICAgICBvcHQu
aW5pdEZyb20ocC53aWRnZXQpOwotICAgIGFwcGx5VGhlbWUob3B0LCBvKTsKKyAgICBhZGp1c3RD
b21tb25RU3R5bGVPcHRpb25zKG9wdCwgbyk7CiAKICAgICBjb25zdCBRUG9pbnQgdG9wTGVmdCA9
IHIudG9wTGVmdCgpOwogICAgIHAucGFpbnRlci0+dHJhbnNsYXRlKHRvcExlZnQpOwpAQCAtNjE0
LDcgKzg0OSw3IEBAIGJvb2wgUmVuZGVyVGhlbWVRdDo6cGFpbnRNZW51TGlzdEJ1dHRvbigKICAg
ICBRU3R5bGVPcHRpb25Db21ib0JveCBvcHRpb247CiAgICAgaWYgKHAud2lkZ2V0KQogICAgICAg
ICBvcHRpb24uaW5pdEZyb20ocC53aWRnZXQpOwotICAgIGFwcGx5VGhlbWUob3B0aW9uLCBvKTsK
KyAgICBhZGp1c3RDb21tb25RU3R5bGVPcHRpb25zKG9wdGlvbiwgbyk7CiAgICAgb3B0aW9uLnJl
Y3QgPSByOwogCiAgICAgLy8gZm9yIGRyYXdpbmcgdGhlIGNvbWJvIGJveCBhcnJvdywgcmVseSBv
bmx5IG9uIHRoZSBmYWxsYmFjayBzdHlsZQpAQCAtNjQyLDE1ICs4NzcsMTUgQEAgYm9vbCBSZW5k
ZXJUaGVtZVF0OjpwYWludFNsaWRlclRodW1iKFJlbgogYm9vbCBSZW5kZXJUaGVtZVF0OjpwYWlu
dFNlYXJjaEZpZWxkKFJlbmRlck9iamVjdCogbywgY29uc3QgUmVuZGVyT2JqZWN0OjpQYWludElu
Zm8mIHBpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEludFJl
Y3QmIHIpCiB7Ci0gICAgcGFpbnRUZXh0RmllbGQobywgcGksIHIpOwotICAgIHJldHVybiBmYWxz
ZTsKKyAgICAvLyBUaGlzIGNhdXNlcyB3ZWJraXQgdG8gZHJhdyB0aGUgYmFja2dyb3VuZCBhbmQg
dGhlIGJvcmRlciBpdHNlbGYsIGp1c3QgYXMgZm9yIHRoZSBlZGl0IGNvbnRyb2wuCisgICAgLy8g
SXQgaXMgdGhlIGV4dHJhU3R5bGVTaGVldCBmdW5jdGlvbiB0aGF0IGdpdmVzIHRoZSBzZWFyY2gg
Y29udHJvbCB0aGUgbmljZSByb3VuZGVkIGxvb2suCisgICAgcmV0dXJuIHRydWU7CiB9CiAKIHZv
aWQgUmVuZGVyVGhlbWVRdDo6YWRqdXN0U2VhcmNoRmllbGRTdHlsZShDU1NTdHlsZVNlbGVjdG9y
KiBzZWxlY3RvciwgUmVuZGVyU3R5bGUqIHN0eWxlLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEVsZW1lbnQqIGUpIGNvbnN0CiB7CiAgICAgbm90SW1wbGVtZW50
ZWQoKTsKLSAgICBSZW5kZXJUaGVtZTo6YWRqdXN0U2VhcmNoRmllbGRTdHlsZShzZWxlY3Rvciwg
c3R5bGUsIGUpOwogfQogCiB2b2lkIFJlbmRlclRoZW1lUXQ6OmFkanVzdFNlYXJjaEZpZWxkQ2Fu
Y2VsQnV0dG9uU3R5bGUoQ1NTU3R5bGVTZWxlY3Rvciogc2VsZWN0b3IsIFJlbmRlclN0eWxlKiBz
dHlsZSwKQEAgLTcxMiw3ICs5NDcsNyBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnN1cHBvcnRzRm9j
dXMoQ29udHJvCiAgICAgfQogfQogCi1Db250cm9sUGFydCBSZW5kZXJUaGVtZVF0OjphcHBseVRo
ZW1lKFFTdHlsZU9wdGlvbiYgb3B0aW9uLCBSZW5kZXJPYmplY3QqIG8pIGNvbnN0CitDb250cm9s
UGFydCBSZW5kZXJUaGVtZVF0OjphZGp1c3RDb21tb25RU3R5bGVPcHRpb25zKFFTdHlsZU9wdGlv
biYgb3B0aW9uLCBSZW5kZXJPYmplY3QqIG8pIGNvbnN0CiB7CiAgICAgLy8gRGVmYXVsdCBiaXRz
OiBubyBmb2N1cywgbm8gbW91c2Ugb3ZlcgogICAgIG9wdGlvbi5zdGF0ZSAmPSB+KFFTdHlsZTo6
U3RhdGVfSGFzRm9jdXMgfCBRU3R5bGU6OlN0YXRlX01vdXNlT3Zlcik7CkBAIC03MjQsMjAgKzk1
OSwyNiBAQCBDb250cm9sUGFydCBSZW5kZXJUaGVtZVF0OjphcHBseVRoZW1lKFFTCiAgICAgICAg
IC8vIFJlYWRvbmx5IGlzIHN1cHBvcnRlZCBvbiB0ZXh0ZmllbGRzLgogICAgICAgICBvcHRpb24u
c3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9SZWFkT25seTsKIAotICAgIGlmIChzdXBwb3J0c0ZvY3Vz
KG8tPnN0eWxlKCktPmFwcGVhcmFuY2UoKSkgJiYgaXNGb2N1c2VkKG8pKSB7Ci0gICAgICAgIG9w
dGlvbi5zdGF0ZSB8PSBRU3R5bGU6OlN0YXRlX0hhc0ZvY3VzOwotICAgICAgICBvcHRpb24uc3Rh
dGUgfD0gUVN0eWxlOjpTdGF0ZV9LZXlib2FyZEZvY3VzQ2hhbmdlOwotICAgIH0KKyAgICBvcHRp
b24uZGlyZWN0aW9uID0gUXQ6OkxlZnRUb1JpZ2h0OwogCiAgICAgaWYgKGlzSG92ZXJlZChvKSkK
ICAgICAgICAgb3B0aW9uLnN0YXRlIHw9IFFTdHlsZTo6U3RhdGVfTW91c2VPdmVyOwogCi0gICAg
b3B0aW9uLmRpcmVjdGlvbiA9IFF0OjpMZWZ0VG9SaWdodDsKLSAgICBpZiAoby0+c3R5bGUoKSAm
JiBvLT5zdHlsZSgpLT5kaXJlY3Rpb24oKSA9PSBXZWJDb3JlOjpSVEwpCi0gICAgICAgIG9wdGlv
bi5kaXJlY3Rpb24gPSBRdDo6UmlnaHRUb0xlZnQ7CisgICAgaW5pdFBhbGV0dGVGcm9tUGFnZUNs
aWVudElmRXhpc3RzKG9wdGlvbi5wYWxldHRlLCBvKTsKKyAgICBSZW5kZXJTdHlsZSogc3R5bGUg
PSBvLT5zdHlsZSgpOworICAgIGlmICghc3R5bGUpCisgICAgICAgIHJldHVybiBOb0NvbnRyb2xQ
YXJ0OworCisgICAgQ29udHJvbFBhcnQgcmVzdWx0ID0gc3R5bGUtPmFwcGVhcmFuY2UoKTsKKyAg
ICBpZiAoc3VwcG9ydHNGb2N1cyhyZXN1bHQpICYmIGlzRm9jdXNlZChvKSkgeworICAgICAgICBv
cHRpb24uc3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9IYXNGb2N1czsKKyAgICAgICAgb3B0aW9uLnN0
YXRlIHw9IFFTdHlsZTo6U3RhdGVfS2V5Ym9hcmRGb2N1c0NoYW5nZTsKKyAgICB9CiAKLSAgICBD
b250cm9sUGFydCByZXN1bHQgPSBvLT5zdHlsZSgpLT5hcHBlYXJhbmNlKCk7CisgICAgaWYgKHN0
eWxlLT5kaXJlY3Rpb24oKSA9PSBXZWJDb3JlOjpSVEwpCisgICAgICAgIG9wdGlvbi5kaXJlY3Rp
b24gPSBRdDo6UmlnaHRUb0xlZnQ7CiAKKyAgICBRQ29sb3IgYmFja2dyb3VuZENvbG9yID0gc3R5
bGUtPmJhY2tncm91bmRDb2xvcigpOwogICAgIHN3aXRjaCAocmVzdWx0KSB7CiAgICAgY2FzZSBQ
dXNoQnV0dG9uUGFydDoKICAgICBjYXNlIFNxdWFyZUJ1dHRvblBhcnQ6CkBAIC03NTEsMjAgKzk5
MiwzMCBAQCBDb250cm9sUGFydCBSZW5kZXJUaGVtZVF0OjphcHBseVRoZW1lKFFTCiAgICAgICAg
ICAgICBvcHRpb24uc3RhdGUgfD0gUVN0eWxlOjpTdGF0ZV9TdW5rZW47CiAgICAgICAgIGVsc2Ug
aWYgKHJlc3VsdCA9PSBQdXNoQnV0dG9uUGFydCkKICAgICAgICAgICAgIG9wdGlvbi5zdGF0ZSB8
PSBRU3R5bGU6OlN0YXRlX1JhaXNlZDsKKyAgICAgICAgICAgIG9wdGlvbi5wYWxldHRlLnNldENv
bG9yKFFQYWxldHRlOjpCdXR0b24sIGJhY2tncm91bmRDb2xvcik7CiAgICAgICAgIGJyZWFrOwog
ICAgIH0KLSAgICB9Ci0KLSAgICBpZiAocmVzdWx0ID09IFJhZGlvUGFydCB8fCByZXN1bHQgPT0g
Q2hlY2tib3hQYXJ0KQorICAgIGNhc2UgUmFkaW9QYXJ0OgorICAgIGNhc2UgQ2hlY2tib3hQYXJ0
OgogICAgICAgICBvcHRpb24uc3RhdGUgfD0gKGlzQ2hlY2tlZChvKSA/IFFTdHlsZTo6U3RhdGVf
T24gOiBRU3R5bGU6OlN0YXRlX09mZik7Ci0KLSAgICAvLyBJZiB0aGUgb3duZXIgd2lkZ2V0IGhh
cyBhIGN1c3RvbSBwYWxldHRlLCB1c2UgaXQKLSAgICBQYWdlKiBwYWdlID0gby0+ZG9jdW1lbnQo
KS0+cGFnZSgpOwotICAgIGlmIChwYWdlKSB7Ci0gICAgICAgIENocm9tZUNsaWVudCogY2xpZW50
ID0gcGFnZS0+Y2hyb21lKCktPmNsaWVudCgpOwotICAgICAgICBRV2ViUGFnZUNsaWVudCogcGFn
ZUNsaWVudCA9IGNsaWVudC0+cGxhdGZvcm1QYWdlQ2xpZW50KCk7Ci0gICAgICAgIGlmIChwYWdl
Q2xpZW50KQotICAgICAgICAgICAgb3B0aW9uLnBhbGV0dGUgPSBwYWdlQ2xpZW50LT5wYWxldHRl
KCk7CisgICAgY2FzZSBNZW51bGlzdFBhcnQ6CisgICAgICAgIC8vIFdlIGFyZSBzZXR0aW5nIGhl
cmUgYWxsIGJhY2tncm91bmQgY29sb3JzIGJlY2F1c2U6CisgICAgICAgIC8vIDEuIEhUTUwgZG9l
cyBub3Qgc3VwcG9ydCBtdWx0aXBsZSBiYWNrZ3JvdW5kIGNvbG9ycyBmb3IgdGhlc2UgY29udHJv
bHMKKyAgICAgICAgLy8gICAgdGh1cyBpdCBtYWtlcyBzZW5zZSB0byByZWR1Y2UgYWxsIGJhY2tn
cm91bmQgY29sb3JzIHRvIG9uZS4KKyAgICAgICAgLy8gMi4gRGlmZmVyZW50IHN0eWxlcyAoc3Vj
aCBhcyBtb3RpZiBhbmQgd2luZG93cykgdXNlIGRpZmZlcmVudCBwYWxldHRlCisgICAgICAgIC8v
ICAgIGluZGV4ZXMgdG8gcmVuZGVyIHRoZSBjb250cm9sJ3MgYmFja2dyb3VuZAorICAgICAgICBv
cHRpb24ucGFsZXR0ZS5zZXRDb2xvcihRUGFsZXR0ZTo6QnV0dG9uLCBiYWNrZ3JvdW5kQ29sb3Ip
OworICAgICAgICBvcHRpb24ucGFsZXR0ZS5zZXRDb2xvcihRUGFsZXR0ZTo6V2luZG93LCBiYWNr
Z3JvdW5kQ29sb3IpOworICAgICAgICBvcHRpb24ucGFsZXR0ZS5zZXRDb2xvcihRUGFsZXR0ZTo6
QmFzZSwgYmFja2dyb3VuZENvbG9yKTsKKyAgICAgICAgb3B0aW9uLnBhbGV0dGUuc2V0Q29sb3Io
UVBhbGV0dGU6OlRleHQsIHN0eWxlLT5jb2xvcigpKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBMaXN0Ym94UGFydDoKKyAgICAgICAgb3B0aW9uLnBhbGV0dGUuc2V0Q29sb3IoUVBhbGV0dGU6
OlRleHQsIHN0eWxlLT5jb2xvcigpKTsKKyAgICBjYXNlIFNlYXJjaEZpZWxkUGFydDoKKyAgICBj
YXNlIFRleHRGaWVsZFBhcnQ6CisgICAgY2FzZSBUZXh0QXJlYVBhcnQ6CisgICAgICAgIG9wdGlv
bi5wYWxldHRlLnNldENvbG9yKFFQYWxldHRlOjpCYXNlLCBiYWNrZ3JvdW5kQ29sb3IpOworICAg
ICAgICBicmVhazsKICAgICB9CiAKICAgICByZXR1cm4gcmVzdWx0OwpJbmRleDogV2ViQ29yZS9w
bGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9xdC9SZW5kZXJUaGVtZVF0LmgJKHJldmlzaW9uIDUxMzEwKQorKysgV2ViQ29yZS9wbGF0Zm9y
bS9xdC9SZW5kZXJUaGVtZVF0LmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDYgKzIyLDcgQEAKICNp
Zm5kZWYgUmVuZGVyVGhlbWVRdF9ICiAjZGVmaW5lIFJlbmRlclRoZW1lUXRfSAogCisjaW5jbHVk
ZSAiUVdlYlBhZ2VDbGllbnQuaCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogCiAjaW5jbHVk
ZSA8UVN0eWxlPgpAQCAtNDMsNiArNDQsNyBAQCBwcml2YXRlOgogCiBwdWJsaWM6CiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8UmVuZGVyVGhlbWU+IGNyZWF0ZShQYWdlKik7CisgICAgc3RhdGljIHZv
aWQgYWRkU3R5bGVUZXh0SWZOZWVkZWQoY29uc3QgUUNvbG9yKiBjb2xvciwgY29uc3QgUUNvbG9y
JiBkZWZhdWx0Q29sb3IsIGNvbnN0IGNoYXIqIHByZWZpeCwgY29uc3QgY2hhciogc3VmZml4LCBR
Qnl0ZUFycmF5JiBidWZmZXIsIGJvb2wgc2NhbGVBbHBoYSk7CiAKICAgICB2aXJ0dWFsIGJvb2wg
c3VwcG9ydHNIb3Zlcihjb25zdCBSZW5kZXJTdHlsZSopIGNvbnN0OwogICAgIHZpcnR1YWwgYm9v
bCBzdXBwb3J0c0ZvY3VzUmluZyhjb25zdCBSZW5kZXJTdHlsZSogc3R5bGUpIGNvbnN0OwpAQCAt
NjQsNiArNjYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBDb2xvciBwbGF0Zm9ybUluYWN0aXZl
U2VsZWN0aW9uRm9yZWdyb3VuZENvbG9yKCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIHZvaWQgc3lz
dGVtRm9udChpbnQgcHJvcElkLCBGb250RGVzY3JpcHRpb24mKSBjb25zdDsKKyAgICB2aXJ0dWFs
IENvbG9yIHN5c3RlbUNvbG9yKGludCBjc3NWYWx1ZUlkKSBjb25zdDsKIAogICAgIHZpcnR1YWwg
aW50IG1pbmltdW1NZW51TGlzdFNpemUoUmVuZGVyU3R5bGUqKSBjb25zdDsKIApAQCAtNzEsNiAr
NzQsMTEgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBkb3VibGUgY2FyZXRCbGlua0ludGVydmFs
KCkgY29uc3Q7CiAKKworICAgIC8qIFRoZXNlIG1ldGhvZHMgcmV0dXJuIHRoZSB0aGVtZSdzIGV4
dHJhIHN0eWxlIHNoZWV0cyBydWxlcywgdG8gbGV0IGVhY2ggcGxhdGZvcm0KKyAgICAgKiBhZGp1
c3QgdGhlIGRlZmF1bHQgQ1NTIHJ1bGVzIGluIGh0bWwuY3NzLCBxdWlya3MuY3NzLCBvciBtZWRp
YUNvbnRyb2xzLmNzcworICAgICAqLworICAgIHZpcnR1YWwgU3RyaW5nIGV4dHJhRGVmYXVsdFN0
eWxlU2hlZXQoKTsKICNpZiBFTkFCTEUoVklERU8pCiAgICAgdmlydHVhbCBTdHJpbmcgZXh0cmFN
ZWRpYUNvbnRyb2xzU3R5bGVTaGVldCgpOwogI2VuZGlmCkBAIC0xMTMsNiArMTIxLDExIEBAIHBy
b3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0U2VhcmNoRmllbGRSZXN1bHRzRGVjb3Jh
dGlvblN0eWxlKENTU1N0eWxlU2VsZWN0b3IqLCBSZW5kZXJTdHlsZSosIEVsZW1lbnQqKSBjb25z
dDsKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uKFJl
bmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwgY29uc3QgSW50UmVj
dCYpOwogCisgICAgLyogR2V0cyBvd25lciB3aWRnZXQgZm9yIG1fcGFnZQorICAgICAqIElmIG1f
cGFnZSBpcyAwIHBhZ2VPd25lcldpZGdldCByZXR1cm5zIDAuCisgICAgICovCisgICAgUVdpZGdl
dCogcGFnZU93bmVyV2lkZ2V0KCkgY29uc3Q7CisKICNpZiBFTkFCTEUoVklERU8pCiAgICAgdmly
dHVhbCBib29sIHBhaW50TWVkaWFGdWxsc2NyZWVuQnV0dG9uKFJlbmRlck9iamVjdCosIGNvbnN0
IFJlbmRlck9iamVjdDo6UGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpOwogICAgIHZpcnR1YWwg
Ym9vbCBwYWludE1lZGlhUGxheUJ1dHRvbihSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJPYmpl
Y3Q6OlBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKQEAgLTEzMiw3ICsxNDUsNyBAQCBwcml2
YXRlOgogcHJpdmF0ZToKICAgICBib29sIHN1cHBvcnRzRm9jdXMoQ29udHJvbFBhcnQpIGNvbnN0
OwogCi0gICAgQ29udHJvbFBhcnQgYXBwbHlUaGVtZShRU3R5bGVPcHRpb24mLCBSZW5kZXJPYmpl
Y3QqKSBjb25zdDsKKyAgICBDb250cm9sUGFydCBhZGp1c3RDb21tb25RU3R5bGVPcHRpb25zKFFT
dHlsZU9wdGlvbiYsIFJlbmRlck9iamVjdCopIGNvbnN0OwogCiAgICAgdm9pZCBzZXRCdXR0b25Q
YWRkaW5nKFJlbmRlclN0eWxlKikgY29uc3Q7CiAgICAgdm9pZCBzZXRQb3B1cFBhZGRpbmcoUmVu
ZGVyU3R5bGUqKSBjb25zdDsKQEAgLTE3OCw2ICsxOTEsNiBAQCBwcml2YXRlOgogICAgIFFfRElT
QUJMRV9DT1BZKFN0eWxlUGFpbnRlcikKIH07CiAKLX0KK30gIC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKICNlbmRpZgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAkocmV2aXNpb24gNTEz
MTApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMwMCwxMSArMzAwLDE2IEBAIGJvb2wgUmVuZGVyVGhlbWU6OnBhaW50KFJlbmRlck9iamVj
dCogbywKICAgICAgICAgICAgIHJldHVybiBwYWludE1lZGlhQ3VycmVudFRpbWUobywgcGFpbnRJ
bmZvLCByKTsKICAgICAgICAgY2FzZSBNZWRpYUNvbnRyb2xzQmFja2dyb3VuZFBhcnQ6CiAgICAg
ICAgICAgICByZXR1cm4gcGFpbnRNZWRpYUNvbnRyb2xzQmFja2dyb3VuZChvLCBwYWludEluZm8s
IHIpOwotICAgICAgICBjYXNlIE1lbnVsaXN0QnV0dG9uUGFydDoKKyNpZiBQTEFURk9STShRVCkK
ICAgICAgICAgY2FzZSBUZXh0RmllbGRQYXJ0OgorICAgICAgICAgICAgcmV0dXJuIHBhaW50VGV4
dEZpZWxkKG8sIHBhaW50SW5mbywgcik7CiAgICAgICAgIGNhc2UgVGV4dEFyZWFQYXJ0OgorICAg
ICAgICAgICAgcmV0dXJuIHBhaW50VGV4dEFyZWEobywgcGFpbnRJbmZvLCByKTsKKyNlbHNlCisg
ICAgICAgIGNhc2UgTWVudWxpc3RCdXR0b25QYXJ0OgogICAgICAgICBjYXNlIExpc3Rib3hQYXJ0
OgogICAgICAgICAgICAgcmV0dXJuIHRydWU7CisjZW5kaWYKICAgICAgICAgY2FzZSBTZWFyY2hG
aWVsZFBhcnQ6CiAgICAgICAgICAgICByZXR1cm4gcGFpbnRTZWFyY2hGaWVsZChvLCBwYWludElu
Zm8sIHIpOwogICAgICAgICBjYXNlIFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uUGFydDoKSW5kZXg6
IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDUxNjQyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMDktMTItMDMgIENhcm9sIFN6YWJvICA8Y2Fyb2wuc3ph
Ym9Abm9raWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFtRdF0gTWFrZSBpdCBwb3NzaWJsZSB0byBhcHBseSB0aGUgQ1NTIGJhY2tncm91bmQg
Y29sb3IgdG8gdGhlIG5hdGl2ZSBwYWludGVkIHdpZGdldHMgaW5zdGVhZCBvZiB0byB0aGUgYWN0
dWFsIGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTMwMTczCisKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9jc3MxL2JveF9wcm9wZXJ0aWVzL2Fj
aWRfdGVzdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9jc3MvcHNl
dWRvLWNhY2hlLXN0YWxlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0
L2RvbS9IVE1MVGFibGVDb2xFbGVtZW50L3Jlc2l6ZS10YWJsZS11c2luZy1jb2wtd2lkdGgtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvYmFzaWMtYnV0dG9u
cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9iYXNpYy1p
bnB1dHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvYnV0
dG9uLXN0eWxlLWNvbG9yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9mYXN0
L2Zvcm1zL2lzaW5kZXgtcGxhY2Vob2xkZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL3F0L2Zhc3QvZm9ybXMvbWVudWxpc3Qtc3R5bGUtY29sb3ItZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dC1zdHlsZS1jb2xvci1leHBlY3RlZC50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRl
ci1wc2V1ZG8tc3R5bGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3F0L2Zhc3Qv
Zm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItc2V0LWF0dHJpYnV0ZS1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci1zZXQt
dmFsdWUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL3F0L3RhYmxlcy9tb3ppbGxh
L2J1Z3MvYnVnOTI2NDctMi1leHBlY3RlZC50eHQ6CisgICAgICAgIFVwZGF0ZWQgdGhlIHRlc3Rz
IHRvIG1hdGNoIHRoZSBleHBlY3RlZCBjb2xvciBmb3IgZm9ybSBjb250cm9scyB3aXRoCisgICAg
ICAgIHRoZSBkZWZhdWx0IG5hdGl2ZSBjb2xvciBmb3IgdGhlIHdpbmRvd3MgdGhlbWUgd2hpY2gg
aXMgdXNlZCBmb3IgCisgICAgICAgIHJ1bm5pbmcgdGhlIHRlc3RzLiBGb3Igc29tZSBjb250cm9s
cyBzb21lIHNpemUgY2hhcmFjdGVyaXN0aWNzIGFsc28KKyAgICAgICAgbmVlZGVkIHVwZGF0ZXMg
aW4gc29tZSB0ZXN0cyBkdWUgdG8gYmVpbmcgcmVuZGVyZWQgYnkgdGhlIHRoZW1lLgorCiAyMDA5
LTEyLTAzICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0YXZvLm5vcm9uaGFAY29sbGFib3Jh
LmNvLnVrPgogCiAgICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IE9saXZlciBIdW50LgpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvY3NzMS9ib3hfcHJvcGVydGllcy9hY2lkX3Rlc3QtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2NzczEvYm94
X3Byb3BlcnRpZXMvYWNpZF90ZXN0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTEzMTApCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9jc3MxL2JveF9wcm9wZXJ0aWVzL2FjaWRfdGVzdC1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIzLDEyICsyMywxMiBAQCBsYXllciBhdCAoMCww
KSBzaXplIDgwMHg0MjAKICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkg
c2l6ZSAxMzl4MTkKICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwz
KSBzaXplIDI3eDEyCiAgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDMpIHdpZHRo
IDI3OiAiYmFuZyAiCi0gICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7SU5QVVR9IGF0ICgy
OSwzKSBzaXplIDEyeDEyIFtjb2xvcj0jMDAwMDAwXQorICAgICAgICAgICAgICAgICAgUmVuZGVy
QmxvY2sge0lOUFVUfSBhdCAoMjksMykgc2l6ZSAxMngxMiBbY29sb3I9IzAwMDAwMF0gW2JnY29s
b3I9I0Q0RDBDOF0KICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDB4MAogICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwxOSkgc2l6
ZSAxMzl4MTkKICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwzKSBz
aXplIDQxeDEyCiAgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDMpIHdpZHRoIDQx
OiAid2hpbXBlciAiCi0gICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7SU5QVVR9IGF0ICg0
MywzKSBzaXplIDEyeDEyIFtjb2xvcj0jMDAwMDAwXQorICAgICAgICAgICAgICAgICAgUmVuZGVy
QmxvY2sge0lOUFVUfSBhdCAoNDMsMykgc2l6ZSAxMngxMiBbY29sb3I9IzAwMDAwMF0gW2JnY29s
b3I9I0Q0RDBDOF0KICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDB4MAogICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMTAs
NTgpIHNpemUgMTM5eDAKICAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge0ZPUk19IGF0ICgw
LDApIHNpemUgMHgwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Nzcy9wc2V1
ZG8tY2FjaGUtc3RhbGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL3F0L2Zhc3QvY3NzL3BzZXVkby1jYWNoZS1zdGFsZS1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDUxMzEwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9jc3MvcHNldWRvLWNh
Y2hlLXN0YWxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTMsMTQgKzEzLDE0IEBA
IGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSAyOTh4NDAKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAy
OTg6ICJUaGlzIHNlbnRlbmNlIHNob3VsZCBiZSBleHRyYS1leHRyYS1sYXJnZS4iCiAgICAgICBS
ZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCw2MCkgc2l6ZSA3ODR4MzAKLSAgICAgICAgUmVu
ZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiwyKSBzaXplIDE3N3gyNiBbYmdjb2xvcj0jRkZG
RkZGXSBbYm9yZGVyOiAoMnB4IGluc2V0ICMwMDAwMDApXQotICAgICAgICAgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgzLDMpIHNpemUgMTcxeDIwCisgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJ
TlBVVH0gYXQgKDIsMikgc2l6ZSAxNzV4MjYgW2JnY29sb3I9I0ZGRkZGRl0KKyAgICAgICAgICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMiwzKSBzaXplIDE3MXgyMAogICAgICAgICAgICAgUmVuZGVy
QmxvY2sge0RJVn0gYXQgKDAsMTYpIHNpemUgMHgwCiAgICAgICAgICAgICBSZW5kZXJCbG9jayB7
RElWfSBhdCAoMTcxLDE2KSBzaXplIDB4MAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIg
YXQgKDEzLDczKSBzaXplIDE3MXgyMAorbGF5ZXIgYXQgKDEyLDczKSBzaXplIDE3MXgyMAogICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDE3MXgyMCBbY29sb3I9IzAwODAwMF0KICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMCkgc2l6ZSAxNTB4MjAKICAgICAgIHRleHQgcnVu
IGF0ICgxLDApIHdpZHRoIDE1MDogIlRoaXMgc2hvdWxkIGJlIGdyZWVuIgpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9kb20vSFRNTFRhYmxlQ29sRWxlbWVudC9yZXNpemUtdGFi
bGUtdXNpbmctY29sLXdpZHRoLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9mYXN0L2RvbS9IVE1MVGFibGVDb2xFbGVtZW50L3Jlc2l6ZS10YWJsZS11
c2luZy1jb2wtd2lkdGgtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1MTMxMCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL3F0L2Zhc3QvZG9tL0hUTUxUYWJsZUNvbEVsZW1lbnQvcmVzaXplLXRhYmxl
LXVzaW5nLWNvbC13aWR0aC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMw
LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMiwyKSBzaXplIDc3eDIwCiAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDIsMikgd2lkdGggNzc6ICJjb2wgMyByb3cgMyIKICAgICAgIFJlbmRlckJsb2NrIChhbm9u
eW1vdXMpIGF0ICgwLDU2KSBzaXplIDc4NHgzNQotICAgICAgICBSZW5kZXJCdXR0b24ge0JVVFRP
Tn0gYXQgKDIsMikgc2l6ZSA0NzB4MzEgW2JnY29sb3I9I0MwQzBDMF0KKyAgICAgICAgUmVuZGVy
QnV0dG9uIHtCVVRUT059IGF0ICgyLDIpIHNpemUgNDcweDMxIFtiZ2NvbG9yPSNENEQwQzhdCiAg
ICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYsNikgc2l6ZSA0NTh4MjAKICAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ1OHgyMAogICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0NTg6ICJDbGljayBtZSB0byB0ZXN0IG1h
bnVhbGx5LiBUaGUgZmlyc3QgY29sdW1uIHNob3VsZCBncm93IHRvIDUwMHB4LiIKSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvYmFzaWMtYnV0dG9ucy1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9iYXNp
Yy1idXR0b25zLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTEzMTApCisrKyBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL2Jhc2ljLWJ1dHRvbnMtZXhwZWN0ZWQudHh0CSh3b3JraW5n
IGNvcHkpCkBAIC0zNywxNCArMzcsMTQgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4Mzc3CiAg
ICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDU4eDIwCiAgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggNTg6ICIoZGVmYXVsdCkiCiAgICAg
ICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMTg0LDIyKSBzaXplIDY0eDM3IFtyPTEg
Yz0xIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgz
LDMpIHNpemUgMjJ4MzEgW2JnY29sb3I9I0MwQzBDMF0KKyAgICAgICAgICAgICAgUmVuZGVyQnV0
dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUgMjJ4MzEgW2JnY29sb3I9I0Q0RDBDOF0KICAgICAg
ICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2KSBzaXplIDEweDIwCiAg
ICAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCw2KSBzaXplIDEweDEwCiAg
ICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMjQ4LDI5KSBzaXplIDE2NHgyMiBb
cj0xIGM9MiBycz0xIGNzPTFdCiAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MSwxKSBzaXplIDExMngyMAogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRo
IDExMjogIigzMSwgMTIpICgzMSwgMTIpIgogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtU
RH0gYXQgKDQxMiwyMikgc2l6ZSAxNDJ4MzcgW3I9MSBjPTMgcnM9MSBjcz0xXQotICAgICAgICAg
ICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMywzKSBzaXplIDM0eDMxIFtiZ2NvbG9yPSND
MEMwQzBdCisgICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgzLDMpIHNpemUg
MzR4MzEgW2JnY29sb3I9I0Q0RDBDOF0KICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5v
bnltb3VzKSBhdCAoNiw2KSBzaXplIDIyeDIwCiAgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0
IGF0ICgwLDApIHNpemUgMjJ4MjAKICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggMjI6ICJmb28iCkBAIC01NiwxNCArNTYsMTQgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4Mzc3CiAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXpl
IDc1eDIwCiAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggNzU6ICJwYWRk
aW5nOiAwIgogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDE4NCw1OSkgc2l6
ZSA2NHgzNyBbcj0yIGM9MSBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7
QlVUVE9OfSBhdCAoMywzKSBzaXplIDIyeDMxIFtiZ2NvbG9yPSNDMEMwQzBdCisgICAgICAgICAg
ICAgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMywzKSBzaXplIDIyeDMxIFtiZ2NvbG9yPSNE
NEQwQzhdCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYsNikg
c2l6ZSAxMHgyMAogICAgICAgICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsNikg
c2l6ZSAxMHgxMAogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDI0OCw2Nikg
c2l6ZSAxNjR4MjIgW3I9MiBjPTIgcnM9MSBjcz0xXQogICAgICAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxMTJ4MjAKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMSwxKSB3aWR0aCAxMTI6ICIoMzEsIDEyKSAoMzEsIDEyKSIKICAgICAgICAgICAgIFJlbmRl
clRhYmxlQ2VsbCB7VER9IGF0ICg0MTIsNTkpIHNpemUgMTQyeDM3IFtyPTIgYz0zIHJzPTEgY3M9
MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDMsMykgc2l6ZSAzNHgz
MSBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBh
dCAoMywzKSBzaXplIDM0eDMxIFtiZ2NvbG9yPSNENEQwQzhdCiAgICAgICAgICAgICAgICAgUmVu
ZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYsNikgc2l6ZSAyMngyMAogICAgICAgICAgICAgICAg
ICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBzaXplIDIyeDIwCiAgICAgICAgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDApIHdpZHRoIDIyOiAiZm9vIgpAQCAtNzUsMTQgKzc1LDE0IEBAIGxheWVy
IGF0ICgwLDApIHNpemUgODAweDM3NwogICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDEsMSkgc2l6ZSA5OHgyMAogICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdp
ZHRoIDk4OiAicGFkZGluZzogMTAlIgogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0g
YXQgKDE4NCw5Nikgc2l6ZSA2NHgzNyBbcj0zIGM9MSBycz0xIGNzPTFdCi0gICAgICAgICAgICAg
IFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMywzKSBzaXplIDIyeDMxIFtiZ2NvbG9yPSNDMEMw
QzBdCisgICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMywzKSBzaXplIDIy
eDMxIFtiZ2NvbG9yPSNENEQwQzhdCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255
bW91cykgYXQgKDYsNikgc2l6ZSAxMHgyMAogICAgICAgICAgICAgICAgICAgUmVuZGVySW1hZ2Ug
e0lNR30gYXQgKDAsNikgc2l6ZSAxMHgxMAogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtU
RH0gYXQgKDI0OCwxMDMpIHNpemUgMTY0eDIyIFtyPTMgYz0yIHJzPTEgY3M9MV0KICAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMTEyeDIwCiAgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggMTEyOiAiKDMxLCAxMikgKDMxLCAxMikiCiAg
ICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNDEyLDk2KSBzaXplIDE0MngzNyBb
cj0zIGM9MyBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0
ICgzLDMpIHNpemUgMzR4MzEgW2JnY29sb3I9I0MwQzBDMF0KKyAgICAgICAgICAgICAgUmVuZGVy
QnV0dG9uIHtJTlBVVH0gYXQgKDMsMykgc2l6ZSAzNHgzMSBbYmdjb2xvcj0jRDREMEM4XQogICAg
ICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNpemUgMjJ4MjAK
ICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6ZSAyMngyMAogICAgICAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMjogImZvbyIKQEAgLTk0LDE0
ICs5NCwxNCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzNzcKICAgICAgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgOTJ4MjAKICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMSwxKSB3aWR0aCA5MjogInBhZGRpbmc6IDJweCIKICAgICAgICAgICAgIFJlbmRl
clRhYmxlQ2VsbCB7VER9IGF0ICgxODQsMTMzKSBzaXplIDY0eDM3IFtyPTQgYz0xIHJzPTEgY3M9
MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUgMjJ4
MzEgW2JnY29sb3I9I0MwQzBDMF0KKyAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059
IGF0ICgzLDMpIHNpemUgMjJ4MzEgW2JnY29sb3I9I0Q0RDBDOF0KICAgICAgICAgICAgICAgICBS
ZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2KSBzaXplIDEweDIwCiAgICAgICAgICAgICAg
ICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCw2KSBzaXplIDEweDEwCiAgICAgICAgICAgICBS
ZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMjQ4LDE0MCkgc2l6ZSAxNjR4MjIgW3I9NCBjPTIgcnM9
MSBjcz0xXQogICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAx
MTJ4MjAKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAxMTI6ICIoMzEs
IDEyKSAoMzEsIDEyKSIKICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg0MTIs
MTMzKSBzaXplIDE0MngzNyBbcj00IGM9MyBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRl
ckJ1dHRvbiB7SU5QVVR9IGF0ICgzLDMpIHNpemUgMzR4MzEgW2JnY29sb3I9I0MwQzBDMF0KKyAg
ICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDMsMykgc2l6ZSAzNHgzMSBbYmdj
b2xvcj0jRDREMEM4XQogICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0
ICg2LDYpIHNpemUgMjJ4MjAKICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkg
c2l6ZSAyMngyMAogICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAy
MjogImZvbyIKQEAgLTExMywxNCArMTEzLDE0IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDM3
NwogICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxODJ4MjAK
ICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAxODI6ICJwYWRkaW5nOiAy
cHggNnB4IDNweCA2cHgiCiAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMTg0
LDE3MCkgc2l6ZSA2NHgzNyBbcj01IGM9MSBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRl
ckJ1dHRvbiB7QlVUVE9OfSBhdCAoMywzKSBzaXplIDIyeDMxIFtiZ2NvbG9yPSNDMEMwQzBdCisg
ICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMywzKSBzaXplIDIyeDMxIFti
Z2NvbG9yPSNENEQwQzhdCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykg
YXQgKDYsNikgc2l6ZSAxMHgyMAogICAgICAgICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30g
YXQgKDAsNikgc2l6ZSAxMHgxMAogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQg
KDI0OCwxNzcpIHNpemUgMTY0eDIyIFtyPTUgYz0yIHJzPTEgY3M9MV0KICAgICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMTEyeDIwCiAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDEsMSkgd2lkdGggMTEyOiAiKDMxLCAxMikgKDMxLCAxMikiCiAgICAgICAg
ICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoNDEyLDE3MCkgc2l6ZSAxNDJ4MzcgW3I9NSBj
PTMgcnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoMywz
KSBzaXplIDM0eDMxIFtiZ2NvbG9yPSNDMEMwQzBdCisgICAgICAgICAgICAgIFJlbmRlckJ1dHRv
biB7SU5QVVR9IGF0ICgzLDMpIHNpemUgMzR4MzEgW2JnY29sb3I9I0Q0RDBDOF0KICAgICAgICAg
ICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2KSBzaXplIDIyeDIwCiAgICAg
ICAgICAgICAgICAgICBSZW5kZXJUZXh0IGF0ICgwLDApIHNpemUgMjJ4MjAKICAgICAgICAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjI6ICJmb28iCkBAIC0xMzIsMTQgKzEz
MiwxNCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzNzcKICAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMTIyeDIwCiAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDEsMSkgd2lkdGggMTIyOiAicGFkZGluZzogM3B4IDdweCIKICAgICAgICAgICAgIFJl
bmRlclRhYmxlQ2VsbCB7VER9IGF0ICgxODQsMjA3KSBzaXplIDY0eDM3IFtyPTYgYz0xIHJzPTEg
Y3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgzLDMpIHNpemUg
MjJ4MzEgW2JnY29sb3I9I0MwQzBDMF0KKyAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtCVVRU
T059IGF0ICgzLDMpIHNpemUgMjJ4MzEgW2JnY29sb3I9I0Q0RDBDOF0KICAgICAgICAgICAgICAg
ICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoNiw2KSBzaXplIDEweDIwCiAgICAgICAgICAg
ICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCw2KSBzaXplIDEweDEwCiAgICAgICAgICAg
ICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMjQ4LDIxNCkgc2l6ZSAxNjR4MjIgW3I9NiBjPTIg
cnM9MSBjcz0xXQogICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6
ZSAxMTJ4MjAKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAxMTI6ICIo
MzEsIDEyKSAoMzEsIDEyKSIKICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICg0
MTIsMjA3KSBzaXplIDE0MngzNyBbcj02IGM9MyBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJl
bmRlckJ1dHRvbiB7SU5QVVR9IGF0ICgzLDMpIHNpemUgMzR4MzEgW2JnY29sb3I9I0MwQzBDMF0K
KyAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDMsMykgc2l6ZSAzNHgzMSBb
Ymdjb2xvcj0jRDREMEM4XQogICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMp
IGF0ICg2LDYpIHNpemUgMjJ4MjAKICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAs
MCkgc2l6ZSAyMngyMAogICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0
aCAyMjogImZvbyIKQEAgLTE1MSwxNCArMTUxLDE0IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAw
eDM3NwogICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxMDF4
MjAKICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCAxMDE6ICJwYWRkaW5n
OiAyMHB4IgogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDE4NCwyNDQpIHNp
emUgNjR4MzcgW3I9NyBjPTEgcnM9MSBjcz0xXQotICAgICAgICAgICAgICBSZW5kZXJCdXR0b24g
e0JVVFRPTn0gYXQgKDMsMykgc2l6ZSAyMngzMSBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICAg
ICAgICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDMsMykgc2l6ZSAyMngzMSBbYmdjb2xvcj0j
RDREMEM4XQogICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYp
IHNpemUgMTB4MjAKICAgICAgICAgICAgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDYp
IHNpemUgMTB4MTAKICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgyNDgsMjUx
KSBzaXplIDE2NHgyMiBbcj03IGM9MiBycz0xIGNzPTFdCiAgICAgICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDExMngyMAogICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgxLDEpIHdpZHRoIDExMjogIigzMSwgMTIpICgzMSwgMTIpIgogICAgICAgICAgICAgUmVu
ZGVyVGFibGVDZWxsIHtURH0gYXQgKDQxMiwyNDQpIHNpemUgMTQyeDM3IFtyPTcgYz0zIHJzPTEg
Y3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDMsMykgc2l6ZSAz
NHgzMSBbYmdjb2xvcj0jQzBDMEMwXQorICAgICAgICAgICAgICBSZW5kZXJCdXR0b24ge0lOUFVU
fSBhdCAoMywzKSBzaXplIDM0eDMxIFtiZ2NvbG9yPSNENEQwQzhdCiAgICAgICAgICAgICAgICAg
UmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDYsNikgc2l6ZSAyMngyMAogICAgICAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBzaXplIDIyeDIwCiAgICAgICAgICAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDIyOiAiZm9vIgpJbmRleDogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvZmFzdC9mb3Jtcy9iYXNpYy1pbnB1dHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvYmFzaWMtaW5wdXRzLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gNTEzMTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0
L2Zvcm1zL2Jhc2ljLWlucHV0cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTM1LDM1
ICszNSwzNSBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgxMCwzNTApIHNpemUgNDUweDYyIFtib3JkZXI6ICgxcHggc29saWQgI0ZGMDAw
MCldCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSw2KSBzaXplIDl4MjAKICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMSw2KSB3aWR0aCA5OiAiYSIKLSAgICAgICAgUmVuZGVyVGV4dENv
bnRyb2wge0lOUFVUfSBhdCAoMTIsMykgc2l6ZSAxNzV4MjYKKyAgICAgICAgUmVuZGVyVGV4dENv
bnRyb2wge0lOUFVUfSBhdCAoMTIsMykgc2l6ZSAxNzV4MjYgW2JnY29sb3I9I0ZGRkZGRl0KICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxODksNikgc2l6ZSAyOXgyMAogICAgICAgICAg
IHRleHQgcnVuIGF0ICgxODksNikgd2lkdGggMjk6ICJ0ZXh0ICIKLSAgICAgICAgUmVuZGVyVGV4
dENvbnRyb2wge0lOUFVUfSBhdCAoMjIwLDMpIHNpemUgMTc1eDI2CisgICAgICAgIFJlbmRlclRl
eHRDb250cm9sIHtJTlBVVH0gYXQgKDIyMCwzKSBzaXplIDE3NXgyNiBbYmdjb2xvcj0jRDREMEM4
XQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDM5Nyw2KSBzaXplIDIyeDIwCiAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDM5Nyw2KSB3aWR0aCAxMzogImIgIgogICAgICAgICAgIHRleHQg
cnVuIGF0ICg0MTAsNikgd2lkdGggOTogImEiCi0gICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJ
TlBVVH0gYXQgKDMsMzMpIHNpemUgMTc1eDI2CisgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJ
TlBVVH0gYXQgKDMsMzMpIHNpemUgMTc1eDI2IFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMTgwLDM2KSBzaXplIDczeDIwCiAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDE4MCwzNikgd2lkdGggNzM6ICJwYXNzd29yZCAiCi0gICAgICAgIFJlbmRlclRleHRD
b250cm9sIHtJTlBVVH0gYXQgKDI1NSwzMykgc2l6ZSAxNzV4MjYKKyAgICAgICAgUmVuZGVyVGV4
dENvbnRyb2wge0lOUFVUfSBhdCAoMjU1LDMzKSBzaXplIDE3NXgyNiBbYmdjb2xvcj0jRDREMEM4
XQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDQzMiwzNikgc2l6ZSA5eDIwCiAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDQzMiwzNikgd2lkdGggOTogImIiCiAgICAgICBSZW5kZXJCbG9j
ayB7RElWfSBhdCAoMTAsNDIyKSBzaXplIDQ1MHgyMyBbYm9yZGVyOiAoMXB4IHNvbGlkICNGRjAw
MDApXQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSA5eDIwCiAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggOTogImEiCi0gICAgICAgIFJlbmRlckJsb2Nr
IHtJTlBVVH0gYXQgKDE0LDYpIHNpemUgMTN4MTMKKyAgICAgICAgUmVuZGVyQmxvY2sge0lOUFVU
fSBhdCAoMTQsNikgc2l6ZSAxM3gxMyBbYmdjb2xvcj0jRDREMEM4XQogICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDMxLDEpIHNpemUgNzJ4MjAKICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MzEsMSkgd2lkdGggNzI6ICJjaGVja2JveCAiCi0gICAgICAgIFJlbmRlckJsb2NrIHtJTlBVVH0g
YXQgKDEwNyw2KSBzaXplIDEzeDEzCisgICAgICAgIFJlbmRlckJsb2NrIHtJTlBVVH0gYXQgKDEw
Nyw2KSBzaXplIDEzeDEzIFtiZ2NvbG9yPSNENEQwQzhdCiAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMTI0LDEpIHNpemUgOXgyMAogICAgICAgICAgIHRleHQgcnVuIGF0ICgxMjQsMSkg
d2lkdGggOTogImIiCiAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMTAsNDU1KSBzaXplIDQ1
MHgyMyBbYm9yZGVyOiAoMXB4IHNvbGlkICNGRjAwMDApXQogICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDEsMSkgc2l6ZSA5eDIwCiAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lk
dGggOTogImEiCi0gICAgICAgIFJlbmRlckJsb2NrIHtJTlBVVH0gYXQgKDE0LDcpIHNpemUgMTJ4
MTIKKyAgICAgICAgUmVuZGVyQmxvY2sge0lOUFVUfSBhdCAoMTQsNykgc2l6ZSAxMngxMiBbYmdj
b2xvcj0jRDREMEM4XQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMwLDEpIHNpemUg
NDB4MjAKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzAsMSkgd2lkdGggNDA6ICJyYWRpbyAiCi0g
ICAgICAgIFJlbmRlckJsb2NrIHtJTlBVVH0gYXQgKDc0LDcpIHNpemUgMTJ4MTIKKyAgICAgICAg
UmVuZGVyQmxvY2sge0lOUFVUfSBhdCAoNzQsNykgc2l6ZSAxMngxMiBbYmdjb2xvcj0jRDREMEM4
XQogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDkwLDEpIHNpemUgOXgyMAogICAgICAg
ICAgIHRleHQgcnVuIGF0ICg5MCwxKSB3aWR0aCA5OiAiYiIKIGxheWVyIGF0ICgzMiwzNjQpIHNp
emUgMTcxeDIwIHNjcm9sbFdpZHRoIDIxNQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQv
ZmFzdC9mb3Jtcy9idXR0b24tc3R5bGUtY29sb3ItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvYnV0dG9uLXN0eWxlLWNvbG9yLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gNTEzMTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9m
YXN0L2Zvcm1zL2J1dHRvbi1zdHlsZS1jb2xvci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTMsNDkgKzMsNDkgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAw
eDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAotICAgICAg
UmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgyLDIpIHNpemUgOTN4MzEgW2JnY29sb3I9I0MwQzBD
MF0KKyAgICAgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMiwyKSBzaXplIDkzeDMxIFtiZ2Nv
bG9yPSNENEQwQzhdCiAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg2LDYpIHNp
emUgODF4MjAKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA4MXgy
MAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODE6ICJUZXN0IEJ1dHRvbiIK
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoOTcsOCkgc2l6ZSA0eDIwCiAgICAgICAgIHRl
eHQgcnVuIGF0ICg5Nyw4KSB3aWR0aCA0OiAiICIKLSAgICAgIFJlbmRlckJ1dHRvbiB7QlVUVE9O
fSBhdCAoMTAzLDIpIHNpemUgOTN4MzEgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9yPSNDMEMwQzBd
CisgICAgICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDEwMywyKSBzaXplIDkzeDMxIFtjb2xv
cj0jRkYwMDAwXSBbYmdjb2xvcj0jRDREMEM4XQogICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnlt
b3VzKSBhdCAoNiw2KSBzaXplIDgxeDIwCiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgODF4MjAKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDgx
OiAiVGVzdCBCdXR0b24iCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE5OCw4KSBzaXpl
IDR4MjAKICAgICAgICAgdGV4dCBydW4gYXQgKDE5OCw4KSB3aWR0aCA0OiAiICIKLSAgICAgIFJl
bmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMjA0LDQpIHNpemUgOTd4MjkgW2JnY29sb3I9IzAwODAw
MF0gW2JvcmRlcjogKDJweCBvdXRzZXQgI0MwQzBDMCldCisgICAgICBSZW5kZXJCdXR0b24ge0JV
VFRPTn0gYXQgKDIwNCw0KSBzaXplIDk3eDI5IFtiZ2NvbG9yPSMwMDgwMDBdIFtib3JkZXI6ICgy
cHggb3V0c2V0ICNENEQwQzgpXQogICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAo
OCw0KSBzaXplIDgxeDIwCiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgODF4MjAKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDgxOiAiVGVzdCBC
dXR0b24iCiAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMwMyw4KSBzaXplIDR4MjAKICAg
ICAgICAgdGV4dCBydW4gYXQgKDMwMyw4KSB3aWR0aCA0OiAiICIKLSAgICAgIFJlbmRlckJ1dHRv
biB7QlVUVE9OfSBhdCAoMzA5LDQpIHNpemUgOTd4MjkgW2NvbG9yPSNGRjAwMDBdIFtiZ2NvbG9y
PSMwMDgwMDBdIFtib3JkZXI6ICgycHggb3V0c2V0ICNDMEMwQzApXQorICAgICAgUmVuZGVyQnV0
dG9uIHtCVVRUT059IGF0ICgzMDksNCkgc2l6ZSA5N3gyOSBbY29sb3I9I0ZGMDAwMF0gW2JnY29s
b3I9IzAwODAwMF0gW2JvcmRlcjogKDJweCBvdXRzZXQgI0Q0RDBDOCldCiAgICAgICAgIFJlbmRl
ckJsb2NrIChhbm9ueW1vdXMpIGF0ICg4LDQpIHNpemUgODF4MjAKICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA4MXgyMAogICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMCkgd2lkdGggODE6ICJUZXN0IEJ1dHRvbiIKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoNDA4LDgpIHNpemUgNHgyMAogICAgICAgICB0ZXh0IHJ1biBhdCAoNDA4LDgpIHdpZHRoIDQ6
ICIgIgotICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDQxNCwyKSBzaXplIDkzeDMxIFti
Z2NvbG9yPSNDMEMwQzBdCisgICAgICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoNDE0LDIpIHNp
emUgOTN4MzEgW2JnY29sb3I9I0Q0RDBDOF0KICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91
cykgYXQgKDYsNikgc2l6ZSA4MXgyMAogICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6
ZSA4MXgyMAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODE6ICJUZXN0IEJ1
dHRvbiIKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTA5LDgpIHNpemUgNHgyMAogICAg
ICAgICB0ZXh0IHJ1biBhdCAoNTA5LDgpIHdpZHRoIDQ6ICIgIgotICAgICAgUmVuZGVyQnV0dG9u
IHtJTlBVVH0gYXQgKDUxNSwyKSBzaXplIDkzeDMxIFtjb2xvcj0jRkYwMDAwXSBbYmdjb2xvcj0j
QzBDMEMwXQorICAgICAgUmVuZGVyQnV0dG9uIHtJTlBVVH0gYXQgKDUxNSwyKSBzaXplIDkzeDMx
IFtjb2xvcj0jRkYwMDAwXSBbYmdjb2xvcj0jRDREMEM4XQogICAgICAgICBSZW5kZXJCbG9jayAo
YW5vbnltb3VzKSBhdCAoNiw2KSBzaXplIDgxeDIwCiAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAo
MCwwKSBzaXplIDgxeDIwCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4MTog
IlRlc3QgQnV0dG9uIgogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2MTAsOCkgc2l6ZSA0
eDIwCiAgICAgICAgIHRleHQgcnVuIGF0ICg2MTAsOCkgd2lkdGggNDogIiAiCi0gICAgICBSZW5k
ZXJCdXR0b24ge0lOUFVUfSBhdCAoNjE2LDQpIHNpemUgOTd4MjkgW2JnY29sb3I9IzAwODAwMF0g
W2JvcmRlcjogKDJweCBvdXRzZXQgI0MwQzBDMCldCisgICAgICBSZW5kZXJCdXR0b24ge0lOUFVU
fSBhdCAoNjE2LDQpIHNpemUgOTd4MjkgW2JnY29sb3I9IzAwODAwMF0gW2JvcmRlcjogKDJweCBv
dXRzZXQgI0Q0RDBDOCldCiAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICg4LDQp
IHNpemUgODF4MjAKICAgICAgICAgICBSZW5kZXJUZXh0IGF0ICgwLDApIHNpemUgODF4MjAKICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDgxOiAiVGVzdCBCdXR0b24iCiAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcxNSw4KSBzaXplIDR4MjAKICAgICAgICAgdGV4dCBy
dW4gYXQgKDcxNSw4KSB3aWR0aCA0OiAiICIKLSAgICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0
ICgyLDM3KSBzaXplIDk3eDI5IFtjb2xvcj0jRkYwMDAwXSBbYmdjb2xvcj0jMDA4MDAwXSBbYm9y
ZGVyOiAoMnB4IG91dHNldCAjQzBDMEMwKV0KKyAgICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0
ICgyLDM3KSBzaXplIDk3eDI5IFtjb2xvcj0jRkYwMDAwXSBbYmdjb2xvcj0jMDA4MDAwXSBbYm9y
ZGVyOiAoMnB4IG91dHNldCAjRDREMEM4KV0KICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91
cykgYXQgKDgsNCkgc2l6ZSA4MXgyMAogICAgICAgICAgIFJlbmRlclRleHQgYXQgKDAsMCkgc2l6
ZSA4MXgyMAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODE6ICJUZXN0IEJ1
dHRvbiIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvaXNpbmRleC1w
bGFjZWhvbGRlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvZmFzdC9mb3Jtcy9pc2luZGV4LXBsYWNlaG9sZGVyLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gNTEzMTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL2lzaW5kZXgt
cGxhY2Vob2xkZXItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xOSw3ICsxOSw3IEBA
IGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnlt
b3VzKSBhdCAoMCwxMCkgc2l6ZSA3ODR4MzAKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsNSkgc2l6ZSAzNjR4MjAKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDUpIHdpZHRo
IDM2NDogIlRoaXMgaXMgYSBzZWFyY2hhYmxlIGluZGV4LiBFbnRlciBzZWFyY2gga2V5d29yZHM6
ICIKLSAgICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2NiwyKSBzaXpl
IDE3NXgyNgorICAgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJU0lOREVYfSBhdCAoMzY2LDIp
IHNpemUgMTc1eDI2IFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgIFJlbmRlckJsb2NrIHtIUn0g
YXQgKDAsNDgpIHNpemUgNzg0eDIgW2JvcmRlcjogKDFweCBpbnNldCAjMDAwMDAwKV0KICAgICAg
IFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDEyMikgc2l6ZSA3ODR4MjAKICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjY4eDIwCkBAIC0yOSw3ICsyOSw3IEBA
IGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnlt
b3VzKSBhdCAoMCwxMCkgc2l6ZSA3ODR4MzAKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsNSkgc2l6ZSAzNjR4MjAKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDUpIHdpZHRo
IDM2NDogIlRoaXMgaXMgYSBzZWFyY2hhYmxlIGluZGV4LiBFbnRlciBzZWFyY2gga2V5d29yZHM6
ICIKLSAgICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2NiwyKSBzaXpl
IDE3NXgyNgorICAgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJU0lOREVYfSBhdCAoMzY2LDIp
IHNpemUgMTc1eDI2IFtiZ2NvbG9yPSNGRkZGRkZdCiAgICAgICAgIFJlbmRlckJsb2NrIHtIUn0g
YXQgKDAsNDgpIHNpemUgNzg0eDIgW2JvcmRlcjogKDFweCBpbnNldCAjMDAwMDAwKV0KIGxheWVy
IGF0ICgzNzYsODcpIHNpemUgMTcxeDIwCiAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDMpIHNp
emUgMTcxeDIwIFtjb2xvcj0jQTlBOUE5XQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQv
ZmFzdC9mb3Jtcy9tZW51bGlzdC1zdHlsZS1jb2xvci1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy9tZW51bGlzdC1zdHlsZS1jb2xv
ci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDUxMzEwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
cXQvZmFzdC9mb3Jtcy9tZW51bGlzdC1zdHlsZS1jb2xvci1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTMsMTMgKzMsMTMgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNp
emUgODAweDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAot
ICAgICAgUmVuZGVyTWVudUxpc3Qge1NFTEVDVH0gYXQgKDIsMikgc2l6ZSA4M3gyNiBbYmdjb2xv
cj0jRkZGRkZGXQorICAgICAgUmVuZGVyTWVudUxpc3Qge1NFTEVDVH0gYXQgKDIsMikgc2l6ZSA4
M3gyNiBbYmdjb2xvcj0jRDREMEM4XQogICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBh
dCAoOCw0KSBzaXplIDUxeDIwCiAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBzaXplIDUx
eDIwCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA1MTogIkRlZmF1bHQiCiAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDg3LDYpIHNpemUgNHgyMAogICAgICAgICB0ZXh0
IHJ1biBhdCAoODcsNikgd2lkdGggNDogIiAiCi0gICAgICBSZW5kZXJNZW51TGlzdCB7U0VMRUNU
fSBhdCAoOTMsMikgc2l6ZSA3NHgyNiBbY29sb3I9I0ZGMDAwMF0gW2JnY29sb3I9I0ZGRkZGRl0K
KyAgICAgIFJlbmRlck1lbnVMaXN0IHtTRUxFQ1R9IGF0ICg5MywyKSBzaXplIDc0eDI2IFtjb2xv
cj0jRkYwMDAwXSBbYmdjb2xvcj0jRDREMEM4XQogICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnlt
b3VzKSBhdCAoOCw0KSBzaXplIDQyeDIwCiAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoMCwwKSBz
aXplIDMweDIwCiAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzMDogIlJlZCIK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dC1zdHlsZS1jb2xv
ci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFz
dC9mb3Jtcy90ZXh0LXN0eWxlLWNvbG9yLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTEzMTApCisr
KyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHQtc3R5bGUtY29sb3ItZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xMSw3ICsxMSw3IEBAIGxheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAogICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxMCkg
c2l6ZSA3ODR4MzAKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNSkgc2l6ZSAz
NjR4MjAKICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDUpIHdpZHRoIDM2NDogIlRoaXMgaXMg
YSBzZWFyY2hhYmxlIGluZGV4LiBFbnRlciBzZWFyY2gga2V5d29yZHM6ICIKLSAgICAgICAgICBS
ZW5kZXJUZXh0Q29udHJvbCB7SVNJTkRFWH0gYXQgKDM2NiwyKSBzaXplIDE3NXgyNgorICAgICAg
ICAgIFJlbmRlclRleHRDb250cm9sIHtJU0lOREVYfSBhdCAoMzY2LDIpIHNpemUgMTc1eDI2IFti
Z2NvbG9yPSNGRkZGRkZdCiAgICAgICAgIFJlbmRlckJsb2NrIHtIUn0gYXQgKDAsNDgpIHNpemUg
Nzg0eDIgW2JvcmRlcjogKDFweCBpbnNldCAjMDAwMDAwKV0KICAgICAgIFJlbmRlckJsb2NrIChh
bm9ueW1vdXMpIGF0ICgwLDg2KSBzaXplIDc4NHgyMAogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAxNjJ4MjAKQEAgLTIxLDcgKzIxLDcgQEAgbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDEwKSBz
aXplIDc4NHgzMAogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw1KSBzaXplIDM2
NHgyMAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNSkgd2lkdGggMzY0OiAiVGhpcyBpcyBh
IHNlYXJjaGFibGUgaW5kZXguIEVudGVyIHNlYXJjaCBrZXl3b3JkczogIgotICAgICAgICAgIFJl
bmRlclRleHRDb250cm9sIHtJU0lOREVYfSBhdCAoMzY2LDIpIHNpemUgMTc1eDI2IFtjb2xvcj0j
RkYwMDAwXQorICAgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJU0lOREVYfSBhdCAoMzY2LDIp
IHNpemUgMTc1eDI2IFtjb2xvcj0jRkYwMDAwXSBbYmdjb2xvcj0jRkZGRkZGXQogICAgICAgICBS
ZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDQ4KSBzaXplIDc4NHgyIFtib3JkZXI6ICgxcHggaW5zZXQg
IzAwMDAwMCldCiAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxNzIpIHNpemUg
Nzg0eDIwCiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDIzN3gyMApA
QCAtNDQsMTAgKzQ0LDEwIEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAg
IFJlbmRlclRleHRDb250cm9sIHtJU0lOREVYfSBhdCAoMzY2LDIpIHNpemUgMTc3eDI2IFtjb2xv
cj0jRkYwMDAwXSBbYmdjb2xvcj0jMDA4MDAwXSBbYm9yZGVyOiAoMnB4IGluc2V0ICNGRjAwMDAp
XQogICAgICAgICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDQ4KSBzaXplIDc4NHgyIFtib3JkZXI6
ICgxcHggaW5zZXQgIzAwMDAwMCldCiAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAo
MCwzNDQpIHNpemUgNzg0eDMwCi0gICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQg
KDIsMikgc2l6ZSAxNzV4MjYKKyAgICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAo
MiwyKSBzaXplIDE3NXgyNiBbYmdjb2xvcj0jRkZGRkZGXQogICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDE3OSw1KSBzaXplIDR4MjAKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTc5LDUp
IHdpZHRoIDQ6ICIgIgotICAgICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgxODUs
Mikgc2l6ZSAxNzV4MjYgW2NvbG9yPSNGRjAwMDBdCisgICAgICAgIFJlbmRlclRleHRDb250cm9s
IHtJTlBVVH0gYXQgKDE4NSwyKSBzaXplIDE3NXgyNiBbY29sb3I9I0ZGMDAwMF0gW2JnY29sb3I9
I0ZGRkZGRl0KICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzNjIsNSkgc2l6ZSA0eDIw
CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDM2Miw1KSB3aWR0aCA0OiAiICIKICAgICAgICAgUmVu
ZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMzY4LDIpIHNpemUgMTc3eDI2IFtiZ2NvbG9yPSMw
MDgwMDBdIFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXBzZXVkby1zdHlsZS1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9m
b3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci1wc2V1ZG8tc3R5bGUtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiA1MTMxMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3QvZm9ybXMvdGV4dGFy
ZWEtcGxhY2Vob2xkZXItcHNldWRvLXN0eWxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMTQsMjIgKzE0LDIyIEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICB0
ZXh0IHJ1biBhdCAoNTQ4LDQ4KSB3aWR0aCA0OiAiICIKICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDB4MAogbGF5ZXIgYXQgKDEwLDMwKSBzaXplIDE3Nng0MAotICBSZW5k
ZXJUZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICgyLDIyKSBzaXplIDE3Nng0MAorICBSZW5kZXJU
ZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICgyLDIyKSBzaXplIDE3Nng0MCBbYmdjb2xvcj0jRkZG
RkZGXQogICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIwIFtjb2xvcj0j
NjQwMDAwXQogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjV4MjAKICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjU6ICJ0ZXh0IgogbGF5ZXIgYXQgKDE5NCwz
MCkgc2l6ZSAxNzZ4NDAKLSAgUmVuZGVyVGV4dENvbnRyb2wge1RFWFRBUkVBfSBhdCAoMTg2LDIy
KSBzaXplIDE3Nng0MAotICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIw
IFtjb2xvcj0jNjQwMDAwXQorICBSZW5kZXJUZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICgxODYs
MjIpIHNpemUgMTc2eDQwIFtiZ2NvbG9yPSNENEQwQzhdCisgICAgUmVuZGVyQmxvY2sge0RJVn0g
YXQgKDAsMCkgc2l6ZSAxNzZ4MjAgW2NvbG9yPSNCODAwMDBdCiAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSA5MHgyMAogICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0
aCA5MDogImRpc2FibGVkIHRleHQiCiBsYXllciBhdCAoMzc4LDMwKSBzaXplIDE3Nng0MAotICBS
ZW5kZXJUZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICgzNzAsMjIpIHNpemUgMTc2eDQwCisgIFJl
bmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDM3MCwyMikgc2l6ZSAxNzZ4NDAgW2JnY29s
b3I9I0ZGRkZGRl0KICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDE3NngyMCBb
Y29sb3I9I0E5QTlBOV0KICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ4
eDIwCiAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQ4OiAiZGVmYXVsdCIKIGxheWVy
IGF0ICg1NjIsMzApIHNpemUgMTc2eDQwCi0gIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0g
YXQgKDU1NCwyMikgc2l6ZSAxNzZ4NDAKLSAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBz
aXplIDE3NngyMCBbY29sb3I9IzU1NTU1NV0KKyAgUmVuZGVyVGV4dENvbnRyb2wge1RFWFRBUkVB
fSBhdCAoNTU0LDIyKSBzaXplIDE3Nng0MCBbYmdjb2xvcj0jRDREMEM4XQorICAgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMTc2eDIwIFtjb2xvcj0jRkVGRUZFXQogICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTEzeDIwCiAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDExMzogImRlZmF1bHQgZGlzYWJsZWQiCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVhLXBsYWNlaG9sZGVyLXNldC1hdHRyaWJ1dGUt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L2Zhc3Qv
Zm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItc2V0LWF0dHJpYnV0ZS1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDUxMzEwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0
YXJlYS1wbGFjZWhvbGRlci1zZXQtYXR0cmlidXRlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtOCw3ICs4LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNDg2OiAiSWYgeW91IGNhbiBzZWUgdGhlIHdvcmQgXCJQ
bGFjZWhvbGRlclwiIGluIHRoZSB0ZXh0IGFyZWEsIHRoZW4gYWxsIGlzIHdlbGwuIgogICAgICAg
UmVuZGVyQmxvY2sge1B9IGF0ICgwLDM2KSBzaXplIDc4NHg0NAogbGF5ZXIgYXQgKDEwLDQ2KSBz
aXplIDE3Nng0MAotICBSZW5kZXJUZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICgyLDIpIHNpemUg
MTc2eDQwCisgIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDIsMikgc2l6ZSAxNzZ4
NDAgW2JnY29sb3I9I0ZGRkZGRl0KICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXpl
IDE3NngyMCBbY29sb3I9I0E5QTlBOV0KICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDg2eDIwCiAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDg2OiAiUGxhY2Vo
b2xkZXIiCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9mYXN0L2Zvcm1zL3RleHRhcmVh
LXBsYWNlaG9sZGVyLXNldC12YWx1ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vcXQvZmFzdC9mb3Jtcy90ZXh0YXJlYS1wbGFjZWhvbGRlci1zZXQtdmFs
dWUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1MTMxMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L3F0L2Zhc3QvZm9ybXMvdGV4dGFyZWEtcGxhY2Vob2xkZXItc2V0LXZhbHVlLWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMTYsNyArMTYsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogbGF5ZXIgYXQgKDEwLDQ2
KSBzaXplIDE3Nng0MAotICBSZW5kZXJUZXh0Q29udHJvbCB7VEVYVEFSRUF9IGF0ICgyLDIpIHNp
emUgMTc2eDQwCisgIFJlbmRlclRleHRDb250cm9sIHtURVhUQVJFQX0gYXQgKDIsMikgc2l6ZSAx
NzZ4NDAgW2JnY29sb3I9I0ZGRkZGRl0KICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBz
aXplIDE3NngyMAogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNjJ4MjAK
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNjI6ICJOZXcgdGV4dCIKSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL3F0L3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnOTI2NDctMi1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvdGFibGVzL21v
emlsbGEvYnVncy9idWc5MjY0Ny0yLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTEzMTApCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzkyNjQ3LTItZXhw
ZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xMiw1ICsxMiw1IEBAIGxheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAogICAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAo
MCwyKSBzaXplIDM2eDM5CiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9
IGF0ICgyLDE5KSBzaXplIDR4NCBbYm9yZGVyOiAoMXB4IGluc2V0ICM4MDgwODApXSBbcj0wIGM9
MCBycz0xIGNzPTFdCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0
ICg4LDIpIHNpemUgMjB4MzkgW2JvcmRlcjogKDFweCBpbnNldCAjODA4MDgwKV0gW3I9MCBjPTEg
cnM9MSBjcz0xXQotICAgICAgICAgICAgICAgICAgICAgIFJlbmRlckJ1dHRvbiB7SU5QVVR9IGF0
ICg0LDQpIHNpemUgMTJ4MzEgW2JnY29sb3I9I0MwQzBDMF0KKyAgICAgICAgICAgICAgICAgICAg
ICBSZW5kZXJCdXR0b24ge0lOUFVUfSBhdCAoNCw0KSBzaXplIDEyeDMxIFtiZ2NvbG9yPSNENEQw
QzhdCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgzMCwxOSkg
c2l6ZSA0eDQgW2JvcmRlcjogKDFweCBpbnNldCAjODA4MDgwKV0gW3I9MCBjPTIgcnM9MSBjcz0x
XQo=
</data>
<flag name="review"
          id="26066"
          type_id="1"
          status="-"
          setter="hausmann"
    />
          </attachment>
      

    </bug>

</bugzilla>