<?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>39168</bug_id>
          
          <creation_ts>2010-05-15 13:22:55 -0700</creation_ts>
          <short_desc>Canvas: 2d.fillStyle.parse.system.html fails</short_desc>
          <delta_ts>2011-02-13 16:25:48 -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>Canvas</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HTML5</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>20553</blocked>
    
    <blocked>45482</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chang Shu">cshu</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>excors</cc>
    
    <cc>heldercorreia</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>jhanssen</cc>
    
    <cc>kling</cc>
    
    <cc>krit</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>mdelaney7</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>226318</commentid>
    <comment_count>0</comment_count>
    <who name="Chang Shu">cshu</who>
    <bug_when>2010-05-15 13:22:55 -0700</bug_when>
    <thetext>The above test case fails on all platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226322</commentid>
    <comment_count>1</comment_count>
    <who name="Chang Shu">cshu</who>
    <bug_when>2010-05-15 13:25:40 -0700</bug_when>
    <thetext>The problem of this test case is actually because of ThreeDDarkShadow, which is not supported in WebKit. If changing it to some other named colors, the test case would work. I am wondering if Philip can make a change to the test case. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229823</commentid>
    <comment_count>2</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-05-24 11:23:14 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; The problem of this test case is actually because of ThreeDDarkShadow, which is not supported in WebKit. If changing it to some other named colors, the test case would work. I am wondering if Philip can make a change to the test case. :)

I doubt that he&apos;ll make a change, since the test checks what a browser is doing on setting an invalid string to fillStyle :-) And fillStyle (as well as strokeStyle) should ignore this value, we don&apos;t do it but replace the current style with the invalid string and validate it later. Thats why we give back transparent black.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241590</commentid>
    <comment_count>3</comment_count>
      <attachid>59458</attachid>
    <who name="Jan Erik Hanssen">jhanssen</who>
    <bug_when>2010-06-22 18:40:24 -0700</bug_when>
    <thetext>Created attachment 59458
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241883</commentid>
    <comment_count>4</comment_count>
      <attachid>59458</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-06-23 09:18:58 -0700</bug_when>
    <thetext>Comment on attachment 59458
Proposed patch

Looks pretty good, and needs a bit of work.

&gt; -static PassRefPtr&lt;CanvasStyle&gt; toHTMLCanvasStyle(ExecState* exec, JSValue value)
&gt; +static PassRefPtr&lt;CanvasStyle&gt; toHTMLCanvasStyle(ExecState* exec, JSValue value, CanvasRenderingContext2D* ctx)

Please use words, not abbreviations, for argument and variable names in new code. Hence this would be named &quot;context&quot; rather than &quot;ctx&quot;.

This is too much code to have in a JavaScript binding function like toHTMLCanvasStyle. The code should be structured so that the conversion from JavaScript data structures to WebCore ones is done quickly, and then a function called that is outside the binding to do the work. The binding handles only JavaScript-specific issues, not language independent ones.

The old code fit this structure, with the function being CanvasStyle::create. The new code still should be calling only a single function that creates a CanvasStyle object. It can be one that takes more arguments and does more work.

In fact, I think all this code belongs inside CanvasStyle::create, which should be changed to take an additional argument.

&gt; +        String colorString(ustringToString(asString(value)-&gt;value(exec)));
&gt; +        RefPtr&lt;CanvasStyle&gt; style = CanvasStyle::create(colorString);
&gt; +        if (!style) {

The WebKit project uses early return style. So this would be:

    if (style)
        return style.release();

rather than nesting the next section of the function inside braces.

&gt; +            Page* page = 0;
&gt; +            Document* doc = ctx-&gt;canvas()-&gt;document();
&gt; +            if (doc)
&gt; +                page = doc-&gt;page();

Again, please use words rather than abbreviations. Specifically please use &quot;document&quot; rather than &quot;doc&quot;. The way we normally write the code to get to a document and then its page is:

    Document* document = context-&gt;canvas()-&gt;document();
    Page* page = document ? document-&gt;page() : 0;

&gt; +            RefPtr&lt;RenderTheme&gt; theme = RenderTheme::themeForPage(page);

I see, of course, that this test suite includes a test for uses of system colors in canvas. I&apos;m a bit surprised that system colors are supported, though. Are you sure this is the correct behavior? Could you point me to HTML5 canvas documentation that makes this clear?

&gt; +                CSSParserString cssColor;
&gt; +                cssColor.characters = const_cast&lt;UChar*&gt;(colorString.characters());
&gt; +                cssColor.length = colorString.length();
&gt; +                int id = cssValueKeywordID(cssColor);
&gt; +                if (id &gt; 0) {
&gt; +                    Color color = theme-&gt;systemColor(id);
&gt; +                    return CanvasStyle::create(color.rgb());
&gt; +                }

The details of how CSS parsing works should be inside the CSSParser class. Perhaps we can add a new function called parseSystemColor. Or a new version of parseColor that handles system colors as well and is given an additional argument. Calling cssValueKeywordID directly is not a good separation of responsibilities here.

&gt; -    int RGBValue;
&gt; +    int ARGBValue;

Since these values are now going to fill all 32 bits I think the type should be unsigned rather than int.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>242224</commentid>
    <comment_count>5</comment_count>
    <who name="Jan Erik Hanssen">jhanssen</who>
    <bug_when>2010-06-23 18:26:07 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 59458 [details])
&gt; Looks pretty good, and needs a bit of work.

Thanks for the constructive feedback, I&apos;ll propose an updated patch shortly.

&gt; I see, of course, that this test suite includes a test for uses of system 
&gt; colors in canvas. I&apos;m a bit surprised that system colors are supported, though. 
&gt; Are you sure this is the correct behavior? Could you point me to HTML5 canvas 
&gt; documentation that makes this clear?

The documentation in question is located at http://philip.html5.org/tests/canvas/suite/tests/spec.html#dom-context-2d-fillstyle specifically in the part that reads &quot;On setting, strings must be parsed as CSS &lt;color&gt; values and the color assigned&quot;, and afaik CSS color values includes system colors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>242225</commentid>
    <comment_count>6</comment_count>
      <attachid>59595</attachid>
    <who name="Jan Erik Hanssen">jhanssen</who>
    <bug_when>2010-06-23 18:29:07 -0700</bug_when>
    <thetext>Created attachment 59595
Proposed patch (updated)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>242426</commentid>
    <comment_count>7</comment_count>
    <who name="Philip Taylor">excors</who>
    <bug_when>2010-06-24 04:21:06 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (In reply to comment #1)
&gt; &gt; The problem of this test case is actually because of ThreeDDarkShadow, which is not supported in WebKit. If changing it to some other named colors, the test case would work. I am wondering if Philip can make a change to the test case. :)
&gt; 
&gt; I doubt that he&apos;ll make a change, since the test checks what a browser is doing on setting an invalid string to fillStyle :-)

It&apos;s not testing invalid strings - it&apos;s testing that ThreeDDarkShadow is a valid colour keyword, and that it&apos;s not ignored when assigning to fillStyle (by testing that fillStyle doesn&apos;t remain as #FF0000 or #ff0000 or #f00 after the assignment).

(This would give an incorrect &apos;fail&apos; if the browser decided that ThreeDDarkShadow should be a bright red colour, which would be legitimate for the browser but rather improbable.)

HTML5 just says it should be a CSS3 &lt;color&gt; value, which is defined in http://www.w3.org/TR/css3-color/#colorunits . No profile is specified, so I believe all the different &lt;color&gt; types must be supported, which includes the (deprecated) System Colors.

(I don&apos;t see this as a useful feature and I wouldn&apos;t care if the canvas spec was updated to exclude system colours, but for consistency with HTML and CSS it seems better to include them.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264489</commentid>
    <comment_count>8</comment_count>
      <attachid>64372</attachid>
    <who name="Jan Erik Hanssen">jhanssen</who>
    <bug_when>2010-08-13 13:50:53 -0700</bug_when>
    <thetext>Created attachment 64372
Proposed patch v3

Completely forgot about this bug, updated the patch to work with the changes made to CanvasRenderingContext2D since the last patch upload.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264659</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-14 01:37:48 -0700</bug_when>
    <thetext>Attachment 64372 did not build on chromium:
Build output: http://queues.webkit.org/results/3744159</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266302</commentid>
    <comment_count>10</comment_count>
      <attachid>64752</attachid>
    <who name="Jan Erik Hanssen">jhanssen</who>
    <bug_when>2010-08-18 12:13:21 -0700</bug_when>
    <thetext>Created attachment 64752
Proposed patch v4

Fix a Chrome build issue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>266327</commentid>
    <comment_count>11</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-08-18 13:01:57 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Created an attachment (id=64752) [details]
&gt; Proposed patch v4

This is looking pretty sane, but should be split into two separate changes IMO. (System colors and the &quot;transparent&quot; issue.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271206</commentid>
    <comment_count>12</comment_count>
      <attachid>64752</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-08-29 13:31:24 -0700</bug_when>
    <thetext>Comment on attachment 64752
Proposed patch v4

Nice work. Getting closer.

&gt;      if (value-&gt;cssValueType() == CSSValue::CSS_PRIMITIVE_VALUE) {
&gt;          CSSPrimitiveValue* primitiveValue = static_cast&lt;CSSPrimitiveValue*&gt;(value);
&gt; -        color = primitiveValue-&gt;getRGBA32Value();
&gt; +        if (primitiveValue-&gt;primitiveType() == CSSPrimitiveValue::CSS_RGBCOLOR) {
&gt; +            color = primitiveValue-&gt;getRGBA32Value();
&gt; +            return true;
&gt; +        }
&gt; +        return false;
&gt;      }
&gt;  
&gt;      return true;

It seems strange that if the value type is not a primitive the function returns true, but if it&apos;s a primitive that is not an RGB color it returns false. Is that correct? Are both code paths covered by a test case?

Our normal style is to use early return, rather than nested ifs.

&gt; +bool CSSParser::parseSystemColor(RGBA32&amp; color, const String&amp; string, PassRefPtr&lt;RenderTheme&gt; theme)

The theme argument should be a raw pointer, not a PassRefPtr, because this function uses the theme, but does not take ownership of it.

&gt; +    RefPtr&lt;RenderTheme&gt; renderTheme(theme);

And there&apos;s no need for this local variable.

&gt; +    int id = cssValueKeywordID(cssColor);
&gt; +    if (id &gt; 0) {
&gt; +        color = renderTheme-&gt;systemColor(id).rgb();
&gt; +        return true;
&gt; +    }
&gt; +    return false;

We&apos;d normally do early return here, rather than nesting the success case inside an if statement.

&gt; +        static bool parseSystemColor(RGBA32&amp; color, const String&amp;, PassRefPtr&lt;RenderTheme&gt; theme);

There&apos;s no need for the argument names &quot;color and &quot;theme&quot; here. The types make them clear without names.

&gt; +    Document* document = canvas()-&gt;document();
&gt; +    Page* page = document ? document-&gt;page() : 0;
&gt; +    RefPtr&lt;RenderTheme&gt; theme = RenderTheme::themeForPage(page);
&gt; +    setStrokeStyle(CanvasStyle::createFromString(color, theme.release()));

Creating a new RenderTheme here every time this function is called is a massive performance mistake that will make our canvas a lot slower. What we need to do is call page-&gt;theme() instead.

&gt; +PassRefPtr&lt;CanvasStyle&gt; CanvasStyle::createFromString(const String&amp; color, PassRefPtr&lt;RenderTheme&gt; theme)

This argument should be a raw pointer, not a PassRefPtr. This function does not take ownership of a theme.

For best performance, the functions should not go from the Document* to the theme. Instead, we should pass a Document* in rather than a RenderTheme*. The code to go from the document to the page and then to the theme should be inside the CSSParser::parseSystemColor function.

&gt; -    int RGBValue;
&gt; +    unsigned int ARGBValue;

We use just &quot;unsigned&quot;, not &quot;unsigned int&quot;. Another possibility would be &quot;uint32_t&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273198</commentid>
    <comment_count>13</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2010-09-01 21:29:07 -0700</bug_when>
    <thetext>Taking the bug as I started to work on a fix (taking Darin&apos;s comments into account).

I intend to split the &apos;transparent&apos; part as suggested by Andrea. This would enable testing both changes as CSSParser::parseColor would not lie about whether it parsed the color or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275401</commentid>
    <comment_count>14</comment_count>
      <attachid>66790</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2010-09-07 16:53:51 -0700</bug_when>
    <thetext>Created attachment 66790
New iteration: Taking Andreas and Darin&apos;s comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275402</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-07 16:55:52 -0700</bug_when>
    <thetext>Attachment 66790 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebCore/css/CSSParser.cpp:67:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275439</commentid>
    <comment_count>16</comment_count>
      <attachid>66803</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2010-09-07 17:34:05 -0700</bug_when>
    <thetext>Created attachment 66803
Same as previously without the style issue (added #include not in the right order)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277091</commentid>
    <comment_count>17</comment_count>
      <attachid>66803</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-09-10 02:59:39 -0700</bug_when>
    <thetext>Comment on attachment 66803
Same as previously without the style issue (added #include not in the right order)

&gt; +    color = document-&gt;page()-&gt;theme()-&gt;systemColor(id).rgb();

There&apos;s no way page() can be NULL here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277595</commentid>
    <comment_count>18</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2010-09-10 18:50:45 -0700</bug_when>
    <thetext>&gt; &gt; +    color = document-&gt;page()-&gt;theme()-&gt;systemColor(id).rgb();
&gt; 
&gt; There&apos;s no way page() can be NULL here?

You are right. I thought we always had a frame - thus a page - but it looks like there is some case where this is not the case. I will modify the code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277602</commentid>
    <comment_count>19</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-10 19:07:37 -0700</bug_when>
    <thetext>&gt; You are right. I thought we always had a frame - thus a page - but it looks like there is some case where this is not the case. I will modify the code.

Note that, in theory, Frame can outlive Page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277604</commentid>
    <comment_count>20</comment_count>
      <attachid>67286</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2010-09-10 19:11:09 -0700</bug_when>
    <thetext>Created attachment 67286
Another iteration: Added the page NULL-check as suggested by Andreas</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>277707</commentid>
    <comment_count>21</comment_count>
      <attachid>67286</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-09-11 07:26:51 -0700</bug_when>
    <thetext>Comment on attachment 67286
Another iteration: Added the page NULL-check as suggested by Andreas

This looks very good.
r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279789</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-09-15 15:57:03 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/67570 might have broken Qt Linux Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279790</commentid>
    <comment_count>23</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2010-09-15 16:00:15 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; http://trac.webkit.org/changeset/67570 might have broken Qt Linux Release

Indeed, reverted the patch in r67574 as it also broke those 2 tests on Gtk:

- fast/canvas/canvas-color-serialization.html
- fast/canvas/set-colors.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279791</commentid>
    <comment_count>24</comment_count>
      <attachid>67286</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2010-09-15 16:01:11 -0700</bug_when>
    <thetext>Comment on attachment 67286
Another iteration: Added the page NULL-check as suggested by Andreas

Clearing the review flag while I investigate the failing tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279831</commentid>
    <comment_count>25</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-15 17:02:28 -0700</bug_when>
    <thetext>Bots appear still borked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>283467</commentid>
    <comment_count>26</comment_count>
      <attachid>68492</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2010-09-22 19:16:12 -0700</bug_when>
    <thetext>Created attachment 68492
Another iteration: Same as previously but added a work-around for the lack of &apos;transparent&apos; color support

&gt; Bots appear still borked.

This was due to a bad revert on my side. I will use sheriff-bot next time, sorry for the breakage...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>290820</commentid>
    <comment_count>27</comment_count>
      <attachid>68492</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-10-06 23:00:39 -0700</bug_when>
    <thetext>Comment on attachment 68492
Another iteration: Same as previously but added a work-around for the lack of &apos;transparent&apos; color support

Removing from review queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350408</commentid>
    <comment_count>28</comment_count>
      <attachid>82267</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-02-13 10:10:25 -0800</bug_when>
    <thetext>Created attachment 82267
Proposed patch

Updated patch based on the work by Julien and Jan-Erik.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350439</commentid>
    <comment_count>29</comment_count>
      <attachid>82273</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-02-13 13:11:22 -0800</bug_when>
    <thetext>Created attachment 82273
Proposed patch v2

Updated with adjustments from Dirk Schulze (IRC):
- Pass Document* rather than HTMLCanvasElement* to parseColor().
- Avoid unnecessary RenderTheme.h include in CanvasRenderingContext2D.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350440</commentid>
    <comment_count>30</comment_count>
      <attachid>82274</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-02-13 13:13:06 -0800</bug_when>
    <thetext>Created attachment 82274
Proposed patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350452</commentid>
    <comment_count>31</comment_count>
      <attachid>82274</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-02-13 13:34:38 -0800</bug_when>
    <thetext>Comment on attachment 82274
Proposed patch v2

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350455</commentid>
    <comment_count>32</comment_count>
      <attachid>82274</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-02-13 13:41:28 -0800</bug_when>
    <thetext>Comment on attachment 82274
Proposed patch v2

Clearing flags on attachment: 82274

Committed r78442: &lt;http://trac.webkit.org/changeset/78442&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350456</commentid>
    <comment_count>33</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-02-13 13:41:39 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350469</commentid>
    <comment_count>34</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-13 15:37:09 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/78442 might have broken SnowLeopard Intel Release (Tests)
The following tests are not passing:
canvas/philip/tests/2d.fillStyle.parse.system.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350481</commentid>
    <comment_count>35</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-02-13 16:25:48 -0800</bug_when>
    <thetext>(In reply to comment #34)
&gt; http://trac.webkit.org/changeset/78442 might have broken SnowLeopard Intel Release (Tests)
&gt; The following tests are not passing:
&gt; canvas/philip/tests/2d.fillStyle.parse.system.html

Fix landed in &lt;http://trac.webkit.org/changeset/78446&gt; (mac platform was tracking failures.)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59458</attachid>
            <date>2010-06-22 18:40:24 -0700</date>
            <delta_ts>2010-06-23 18:29:07 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>15489</size>
            <attacher name="Jan Erik Hanssen">jhanssen</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MTYzOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMTAtMDYtMjIgIEphbiBFcmlrIEhhbnNzZW4gIDxqaGFuc3NlbkBj
b2RlYXVyb3JhLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBFbnN1cmUgdGhhdCBzeXN0ZW0gY29sb3JzIGFyZSBwcm9wZXJseSBwYXJzZWQgaW4g
dGhlIEhUTUw1IGNhbnZhcyBjb250ZXh0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzkxNjgKKworICAgICAgICBUaGlzIGNoYW5nZSByZXF1aXJlcyBD
U1NQYXJzZXI6OnBhcnNlQ29sb3IoKSB0byByZXR1cm4gJ3RydWUnIG9ubHkgd2hlbgorICAgICAg
ICBhbiBhY3R1YWwgY29sb3IgaGFzIGJlZW4gcGFyc2VkLiBJbiB0aGUgcHJvY2VzcyBvZiBtYWtp
bmcgdGhpcyBjaGFuZ2UKKyAgICAgICAgYW5vdGhlciBidWcgY2FtZSB1cCwgd2hlcmUgJ3RyYW5z
cGFyZW50JyBvbmx5IGhhcHBlbnMgdG8gYmUgcGFyc2VkIGFzCisgICAgICAgICcwJyBieSBDU1NQ
YXJzZXI6OnBhcnNlQ29sb3IoKSBiZWNhdXNlIHRoYXQncyB0aGUgZGVmYXVsdCByZXR1cm4gdmFs
dWUKKyAgICAgICAgZnJvbSBDU1NQcmltaXRpdmVWYWx1ZTo6Z2V0UkdCQTMyVmFsdWUoKSB3aGVu
IHRoZSBwcmltaXRpdmUgaXMgbm90IGEKKyAgICAgICAgQ1NTX1JHQkNPTE9SLCBzbyB0aGUgcGF0
Y2ggZW5zdXJlcyB0aGF0ICd0cmFuc3BhcmVudCcgaXMgcGFyc2VkIGFzIGEKKyAgICAgICAgcHJv
cGVyIGNvbG9yIGJ5IGFkZGluZyBpdCB0byB0aGUgQ29sb3JEYXRhLmdwZXJmIGZpbGUuCisKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREN1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjp0b0hUTUxDYW52YXNTdHlsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6c2V0U3Ryb2tlU3R5bGUpOgorICAgICAgICAo
V2ViQ29yZTo6SlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnNldEZpbGxTdHlsZSk6CisgICAg
ICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBh
cnNlQ29sb3IpOgorICAgICAgICAqIHBsYXRmb3JtL0NvbG9yRGF0YS5ncGVyZjoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb2xvcjo6
Q29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6Q29sb3I6OnNldE5hbWVkQ29sb3IpOgorCiAyMDEw
LTA2LTIyICBUb255IEdlbnRpbGNvcmUgIDx0b255Z0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEQ3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQ3VzdG9tLmNwcAkocmV2aXNpb24g
NjE2MzEpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmln
aHQgKEMpIDIwMDYsIDIwMDcsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDEwIEphbiBFcmlrIEhhbnNzZW4gKGpoYW5zc2VuQGNvZGVhdXJv
cmEub3JnKQogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yMCw2ICsyMSw3IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaCIKIAorI2lu
Y2x1ZGUgIkNTU1BhcnNlci5oIgogI2luY2x1ZGUgIkNhbnZhc0dyYWRpZW50LmgiCiAjaW5jbHVk
ZSAiQ2FudmFzUGF0dGVybi5oIgogI2luY2x1ZGUgIkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5o
IgpAQCAtMzYsNiArMzgsNyBAQAogI2luY2x1ZGUgIkpTSFRNTEltYWdlRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkpTSFRNTFZpZGVvRWxlbWVudC5oIgogI2luY2x1ZGUgIkpTSW1hZ2VEYXRhLmgiCisj
aW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKICNpbmNsdWRlIDxydW50aW1lL0Vycm9yLmg+CiAKIHVz
aW5nIG5hbWVzcGFjZSBKU0M7CkBAIC01MSwxMCArNTQsMzAgQEAgc3RhdGljIEpTVmFsdWUgdG9K
UyhFeGVjU3RhdGUqIGV4ZWMsIENhbgogICAgIHJldHVybiBqc1N0cmluZyhleGVjLCBzdHlsZS0+
Y29sb3IoKSk7CiB9CiAKLXN0YXRpYyBQYXNzUmVmUHRyPENhbnZhc1N0eWxlPiB0b0hUTUxDYW52
YXNTdHlsZShFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgdmFsdWUpCitzdGF0aWMgUGFzc1JlZlB0
cjxDYW52YXNTdHlsZT4gdG9IVE1MQ2FudmFzU3R5bGUoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVl
IHZhbHVlLCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQqIGN0eCkKIHsKLSAgICBpZiAodmFsdWUu
aXNTdHJpbmcoKSkKLSAgICAgICAgcmV0dXJuIENhbnZhc1N0eWxlOjpjcmVhdGUodXN0cmluZ1Rv
U3RyaW5nKGFzU3RyaW5nKHZhbHVlKS0+dmFsdWUoZXhlYykpKTsKKyAgICBpZiAodmFsdWUuaXNT
dHJpbmcoKSkgeworICAgICAgICBTdHJpbmcgY29sb3JTdHJpbmcodXN0cmluZ1RvU3RyaW5nKGFz
U3RyaW5nKHZhbHVlKS0+dmFsdWUoZXhlYykpKTsKKyAgICAgICAgUmVmUHRyPENhbnZhc1N0eWxl
PiBzdHlsZSA9IENhbnZhc1N0eWxlOjpjcmVhdGUoY29sb3JTdHJpbmcpOworICAgICAgICBpZiAo
IXN0eWxlKSB7CisgICAgICAgICAgICBQYWdlKiBwYWdlID0gMDsKKyAgICAgICAgICAgIERvY3Vt
ZW50KiBkb2MgPSBjdHgtPmNhbnZhcygpLT5kb2N1bWVudCgpOworICAgICAgICAgICAgaWYgKGRv
YykKKyAgICAgICAgICAgICAgICBwYWdlID0gZG9jLT5wYWdlKCk7CisgICAgICAgICAgICBSZWZQ
dHI8UmVuZGVyVGhlbWU+IHRoZW1lID0gUmVuZGVyVGhlbWU6OnRoZW1lRm9yUGFnZShwYWdlKTsK
KyAgICAgICAgICAgIGlmICh0aGVtZSkgeworICAgICAgICAgICAgICAgIENTU1BhcnNlclN0cmlu
ZyBjc3NDb2xvcjsKKyAgICAgICAgICAgICAgICBjc3NDb2xvci5jaGFyYWN0ZXJzID0gY29uc3Rf
Y2FzdDxVQ2hhcio+KGNvbG9yU3RyaW5nLmNoYXJhY3RlcnMoKSk7CisgICAgICAgICAgICAgICAg
Y3NzQ29sb3IubGVuZ3RoID0gY29sb3JTdHJpbmcubGVuZ3RoKCk7CisgICAgICAgICAgICAgICAg
aW50IGlkID0gY3NzVmFsdWVLZXl3b3JkSUQoY3NzQ29sb3IpOworICAgICAgICAgICAgICAgIGlm
IChpZCA+IDApIHsKKyAgICAgICAgICAgICAgICAgICAgQ29sb3IgY29sb3IgPSB0aGVtZS0+c3lz
dGVtQ29sb3IoaWQpOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gQ2FudmFzU3R5bGU6OmNy
ZWF0ZShjb2xvci5yZ2IoKSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgICAgIHJldHVybiBzdHlsZS5yZWxlYXNlKCk7CisgICAgfQogICAgIGlmICgh
dmFsdWUuaXNPYmplY3QoKSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgSlNPYmplY3QqIG9iamVj
dCA9IGFzT2JqZWN0KHZhbHVlKTsKQEAgLTc0LDcgKzk3LDcgQEAgSlNWYWx1ZSBKU0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRDo6c3Rybwogdm9pZCBKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6
c2V0U3Ryb2tlU3R5bGUoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHZhbHVlKQogewogICAgIENh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRCogY29udGV4dCA9IHN0YXRpY19jYXN0PENhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRCo+KGltcGwoKSk7Ci0gICAgY29udGV4dC0+c2V0U3Ryb2tlU3R5bGUodG9I
VE1MQ2FudmFzU3R5bGUoZXhlYywgdmFsdWUpKTsKKyAgICBjb250ZXh0LT5zZXRTdHJva2VTdHls
ZSh0b0hUTUxDYW52YXNTdHlsZShleGVjLCB2YWx1ZSwgY29udGV4dCkpOwogfQogCiBKU1ZhbHVl
IEpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpmaWxsU3R5bGUoRXhlY1N0YXRlKiBleGVjKSBj
b25zdApAQCAtODYsNyArMTA5LDcgQEAgSlNWYWx1ZSBKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RDo6ZmlsbAogdm9pZCBKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6c2V0RmlsbFN0eWxlKEV4
ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSB2YWx1ZSkKIHsKICAgICBDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQqIGNvbnRleHQgPSBzdGF0aWNfY2FzdDxDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQqPihp
bXBsKCkpOwotICAgIGNvbnRleHQtPnNldEZpbGxTdHlsZSh0b0hUTUxDYW52YXNTdHlsZShleGVj
LCB2YWx1ZSkpOworICAgIGNvbnRleHQtPnNldEZpbGxTdHlsZSh0b0hUTUxDYW52YXNTdHlsZShl
eGVjLCB2YWx1ZSwgY29udGV4dCkpOwogfQogCiBKU1ZhbHVlIEpTQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEOjpzZXRGaWxsQ29sb3IoRXhlY1N0YXRlKiBleGVjKQpJbmRleDogV2ViQ29yZS9jc3Mv
Q1NTUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCShy
ZXZpc2lvbiA2MTYzMSkKKysrIFdlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTMwMSwxMCArMzAxLDEzIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUNvbG9yKFJHQkEz
MiYgY29sb3IKICAgICAgICAgICAgIENTU1ZhbHVlKiB2YWx1ZSA9IHBhcnNlci5tX3BhcnNlZFBy
b3BlcnRpZXNbMF0tPnZhbHVlKCk7CiAgICAgICAgICAgICBpZiAodmFsdWUtPmNzc1ZhbHVlVHlw
ZSgpID09IENTU1ZhbHVlOjpDU1NfUFJJTUlUSVZFX1ZBTFVFKSB7CiAgICAgICAgICAgICAgICAg
Q1NTUHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0
aXZlVmFsdWUqPih2YWx1ZSk7Ci0gICAgICAgICAgICAgICAgY29sb3IgPSBwcmltaXRpdmVWYWx1
ZS0+Z2V0UkdCQTMyVmFsdWUoKTsKKyAgICAgICAgICAgICAgICBpZiAocHJpbWl0aXZlVmFsdWUt
PnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1JHQkNPTE9SKSB7Cisg
ICAgICAgICAgICAgICAgICAgIGNvbG9yID0gcHJpbWl0aXZlVmFsdWUtPmdldFJHQkEzMlZhbHVl
KCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAogICAgIHJldHVybiB0
cnVlOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9Db2xvckRhdGEuZ3BlcmYKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9Db2xvckRhdGEuZ3BlcmYJKHJldmlzaW9uIDYxNjMxKQorKysg
V2ViQ29yZS9wbGF0Zm9ybS9Db2xvckRhdGEuZ3BlcmYJKHdvcmtpbmcgY29weSkKQEAgLTEsNyAr
MSw3IEBACiAlc3RydWN0LXR5cGUKIHN0cnVjdCBOYW1lZENvbG9yIHsKICAgICBjb25zdCBjaGFy
ICpuYW1lOwotICAgIGludCBSR0JWYWx1ZTsKKyAgICBpbnQgQVJHQlZhbHVlOwogfTsKICVsYW5n
dWFnZT1BTlNJLUMKICVyZWFkb25seS10YWJsZXMKQEAgLTEyLDE1MiArMTIsMTUzIEBAIHN0cnVj
dCBOYW1lZENvbG9yIHsKICVpbmNsdWRlcwogJWVudW0KICUlCi1hbGljZWJsdWUsIDB4ZjBmOGZm
Ci1hbnRpcXVld2hpdGUsIDB4ZmFlYmQ3Ci1hcXVhLCAweDAwZmZmZgotYXF1YW1hcmluZSwgMHg3
ZmZmZDQKLWF6dXJlLCAweGYwZmZmZgotYmVpZ2UsIDB4ZjVmNWRjCi1iaXNxdWUsIDB4ZmZlNGM0
Ci1ibGFjaywgMHgwMDAwMDAKLWJsYW5jaGVkYWxtb25kLCAweGZmZWJjZAotYmx1ZSwgMHgwMDAw
ZmYKLWJsdWV2aW9sZXQsIDB4OGEyYmUyCi1icm93biwgMHhhNTJhMmEKLWJ1cmx5d29vZCwgMHhk
ZWI4ODcKLWNhZGV0Ymx1ZSwgMHg1ZjllYTAKLWNoYXJ0cmV1c2UsIDB4N2ZmZjAwCi1jaG9jb2xh
dGUsIDB4ZDI2OTFlCi1jb3JhbCwgMHhmZjdmNTAKLWNvcm5mbG93ZXJibHVlLCAweDY0OTVlZAot
Y29ybnNpbGssIDB4ZmZmOGRjCi1jcmltc29uLCAweGRjMTQzYwotY3lhbiwgMHgwMGZmZmYKLWRh
cmtibHVlLCAweDAwMDA4YgotZGFya2N5YW4sIDB4MDA4YjhiCi1kYXJrZ29sZGVucm9kLCAweGI4
ODYwYgotZGFya2dyYXksIDB4YTlhOWE5Ci1kYXJrZ3JleSwgMHhhOWE5YTkKLWRhcmtncmVlbiwg
MHgwMDY0MDAKLWRhcmtraGFraSwgMHhiZGI3NmIKLWRhcmttYWdlbnRhLCAweDhiMDA4YgotZGFy
a29saXZlZ3JlZW4sIDB4NTU2YjJmCi1kYXJrb3JhbmdlLCAweGZmOGMwMAotZGFya29yY2hpZCwg
MHg5OTMyY2MKLWRhcmtyZWQsIDB4OGIwMDAwCi1kYXJrc2FsbW9uLCAweGU5OTY3YQotZGFya3Nl
YWdyZWVuLCAweDhmYmM4ZgotZGFya3NsYXRlYmx1ZSwgMHg0ODNkOGIKLWRhcmtzbGF0ZWdyYXks
IDB4MmY0ZjRmCi1kYXJrc2xhdGVncmV5LCAweDJmNGY0ZgotZGFya3R1cnF1b2lzZSwgMHgwMGNl
ZDEKLWRhcmt2aW9sZXQsIDB4OTQwMGQzCi1kZWVwcGluaywgMHhmZjE0OTMKLWRlZXBza3libHVl
LCAweDAwYmZmZgotZGltZ3JheSwgMHg2OTY5NjkKLWRpbWdyZXksIDB4Njk2OTY5Ci1kb2RnZXJi
bHVlLCAweDFlOTBmZgotZmlyZWJyaWNrLCAweGIyMjIyMgotZmxvcmFsd2hpdGUsIDB4ZmZmYWYw
Ci1mb3Jlc3RncmVlbiwgMHgyMjhiMjIKLWZ1Y2hzaWEsIDB4ZmYwMGZmCi1nYWluc2Jvcm8sIDB4
ZGNkY2RjCi1naG9zdHdoaXRlLCAweGY4ZjhmZgotZ29sZCwgMHhmZmQ3MDAKLWdvbGRlbnJvZCwg
MHhkYWE1MjAKLWdyYXksIDB4ODA4MDgwCi1ncmV5LCAweDgwODA4MAotZ3JlZW4sIDB4MDA4MDAw
Ci1ncmVlbnllbGxvdywgMHhhZGZmMmYKLWhvbmV5ZGV3LCAweGYwZmZmMAotaG90cGluaywgMHhm
ZjY5YjQKLWluZGlhbnJlZCwgMHhjZDVjNWMKLWluZGlnbywgMHg0YjAwODIKLWl2b3J5LCAweGZm
ZmZmMAota2hha2ksIDB4ZjBlNjhjCi1sYXZlbmRlciwgMHhlNmU2ZmEKLWxhdmVuZGVyYmx1c2gs
IDB4ZmZmMGY1Ci1sYXduZ3JlZW4sIDB4N2NmYzAwCi1sZW1vbmNoaWZmb24sIDB4ZmZmYWNkCi1s
aWdodGJsdWUsIDB4YWRkOGU2Ci1saWdodGNvcmFsLCAweGYwODA4MAotbGlnaHRjeWFuLCAweGUw
ZmZmZgotbGlnaHRnb2xkZW5yb2R5ZWxsb3csIDB4ZmFmYWQyCi1saWdodGdyYXksIDB4ZDNkM2Qz
Ci1saWdodGdyZXksIDB4ZDNkM2QzCi1saWdodGdyZWVuLCAweDkwZWU5MAotbGlnaHRwaW5rLCAw
eGZmYjZjMQotbGlnaHRzYWxtb24sIDB4ZmZhMDdhCi1saWdodHNlYWdyZWVuLCAweDIwYjJhYQot
bGlnaHRza3libHVlLCAweDg3Y2VmYQotbGlnaHRzbGF0ZWJsdWUsIDB4ODQ3MGZmCi1saWdodHNs
YXRlZ3JheSwgMHg3Nzg4OTkKLWxpZ2h0c2xhdGVncmV5LCAweDc3ODg5OQotbGlnaHRzdGVlbGJs
dWUsIDB4YjBjNGRlCi1saWdodHllbGxvdywgMHhmZmZmZTAKLWxpbWUsIDB4MDBmZjAwCi1saW1l
Z3JlZW4sIDB4MzJjZDMyCi1saW5lbiwgMHhmYWYwZTYKLW1hZ2VudGEsIDB4ZmYwMGZmCi1tYXJv
b24sIDB4ODAwMDAwCi1tZWRpdW1hcXVhbWFyaW5lLCAweDY2Y2RhYQotbWVkaXVtYmx1ZSwgMHgw
MDAwY2QKLW1lZGl1bW9yY2hpZCwgMHhiYTU1ZDMKLW1lZGl1bXB1cnBsZSwgMHg5MzcwZDgKLW1l
ZGl1bXNlYWdyZWVuLCAweDNjYjM3MQotbWVkaXVtc2xhdGVibHVlLCAweDdiNjhlZQotbWVkaXVt
c3ByaW5nZ3JlZW4sIDB4MDBmYTlhCi1tZWRpdW10dXJxdW9pc2UsIDB4NDhkMWNjCi1tZWRpdW12
aW9sZXRyZWQsIDB4YzcxNTg1Ci1taWRuaWdodGJsdWUsIDB4MTkxOTcwCi1taW50Y3JlYW0sIDB4
ZjVmZmZhCi1taXN0eXJvc2UsIDB4ZmZlNGUxCi1tb2NjYXNpbiwgMHhmZmU0YjUKLW5hdmFqb3do
aXRlLCAweGZmZGVhZAotbmF2eSwgMHgwMDAwODAKLW9sZGxhY2UsIDB4ZmRmNWU2Ci1vbGl2ZSwg
MHg4MDgwMDAKLW9saXZlZHJhYiwgMHg2YjhlMjMKLW9yYW5nZSwgMHhmZmE1MDAKLW9yYW5nZXJl
ZCwgMHhmZjQ1MDAKLW9yY2hpZCwgMHhkYTcwZDYKLXBhbGVnb2xkZW5yb2QsIDB4ZWVlOGFhCi1w
YWxlZ3JlZW4sIDB4OThmYjk4Ci1wYWxldHVycXVvaXNlLCAweGFmZWVlZQotcGFsZXZpb2xldHJl
ZCwgMHhkODcwOTMKLXBhcGF5YXdoaXAsIDB4ZmZlZmQ1Ci1wZWFjaHB1ZmYsIDB4ZmZkYWI5Ci1w
ZXJ1LCAweGNkODUzZgotcGluaywgMHhmZmMwY2IKLXBsdW0sIDB4ZGRhMGRkCi1wb3dkZXJibHVl
LCAweGIwZTBlNgotcHVycGxlLCAweDgwMDA4MAotcmVkLCAweGZmMDAwMAotcm9zeWJyb3duLCAw
eGJjOGY4Zgotcm95YWxibHVlLCAweDQxNjllMQotc2FkZGxlYnJvd24sIDB4OGI0NTEzCi1zYWxt
b24sIDB4ZmE4MDcyCi1zYW5keWJyb3duLCAweGY0YTQ2MAotc2VhZ3JlZW4sIDB4MmU4YjU3Ci1z
ZWFzaGVsbCwgMHhmZmY1ZWUKLXNpZW5uYSwgMHhhMDUyMmQKLXNpbHZlciwgMHhjMGMwYzAKLXNr
eWJsdWUsIDB4ODdjZWViCi1zbGF0ZWJsdWUsIDB4NmE1YWNkCi1zbGF0ZWdyYXksIDB4NzA4MDkw
Ci1zbGF0ZWdyZXksIDB4NzA4MDkwCi1zbm93LCAweGZmZmFmYQotc3ByaW5nZ3JlZW4sIDB4MDBm
ZjdmCi1zdGVlbGJsdWUsIDB4NDY4MmI0Ci10YW4sIDB4ZDJiNDhjCi10ZWFsLCAweDAwODA4MAot
dGhpc3RsZSwgMHhkOGJmZDgKLXRvbWF0bywgMHhmZjYzNDcKLXR1cnF1b2lzZSwgMHg0MGUwZDAK
LXZpb2xldCwgMHhlZTgyZWUKLXZpb2xldHJlZCwgMHhkMDIwOTAKLXdoZWF0LCAweGY1ZGViMwot
d2hpdGUsIDB4ZmZmZmZmCi13aGl0ZXNtb2tlLCAweGY1ZjVmNQoteWVsbG93LCAweGZmZmYwMAot
eWVsbG93Z3JlZW4sIDB4OWFjZDMyCithbGljZWJsdWUsIDB4ZmZmMGY4ZmYKK2FudGlxdWV3aGl0
ZSwgMHhmZmZhZWJkNworYXF1YSwgMHhmZjAwZmZmZgorYXF1YW1hcmluZSwgMHhmZjdmZmZkNAor
YXp1cmUsIDB4ZmZmMGZmZmYKK2JlaWdlLCAweGZmZjVmNWRjCitiaXNxdWUsIDB4ZmZmZmU0YzQK
K2JsYWNrLCAweGZmMDAwMDAwCitibGFuY2hlZGFsbW9uZCwgMHhmZmZmZWJjZAorYmx1ZSwgMHhm
ZjAwMDBmZgorYmx1ZXZpb2xldCwgMHhmZjhhMmJlMgorYnJvd24sIDB4ZmZhNTJhMmEKK2J1cmx5
d29vZCwgMHhmZmRlYjg4NworY2FkZXRibHVlLCAweGZmNWY5ZWEwCitjaGFydHJldXNlLCAweGZm
N2ZmZjAwCitjaG9jb2xhdGUsIDB4ZmZkMjY5MWUKK2NvcmFsLCAweGZmZmY3ZjUwCitjb3JuZmxv
d2VyYmx1ZSwgMHhmZjY0OTVlZAorY29ybnNpbGssIDB4ZmZmZmY4ZGMKK2NyaW1zb24sIDB4ZmZk
YzE0M2MKK2N5YW4sIDB4ZmYwMGZmZmYKK2RhcmtibHVlLCAweGZmMDAwMDhiCitkYXJrY3lhbiwg
MHhmZjAwOGI4YgorZGFya2dvbGRlbnJvZCwgMHhmZmI4ODYwYgorZGFya2dyYXksIDB4ZmZhOWE5
YTkKK2RhcmtncmV5LCAweGZmYTlhOWE5CitkYXJrZ3JlZW4sIDB4ZmYwMDY0MDAKK2RhcmtraGFr
aSwgMHhmZmJkYjc2YgorZGFya21hZ2VudGEsIDB4ZmY4YjAwOGIKK2RhcmtvbGl2ZWdyZWVuLCAw
eGZmNTU2YjJmCitkYXJrb3JhbmdlLCAweGZmZmY4YzAwCitkYXJrb3JjaGlkLCAweGZmOTkzMmNj
CitkYXJrcmVkLCAweGZmOGIwMDAwCitkYXJrc2FsbW9uLCAweGZmZTk5NjdhCitkYXJrc2VhZ3Jl
ZW4sIDB4ZmY4ZmJjOGYKK2RhcmtzbGF0ZWJsdWUsIDB4ZmY0ODNkOGIKK2RhcmtzbGF0ZWdyYXks
IDB4ZmYyZjRmNGYKK2RhcmtzbGF0ZWdyZXksIDB4ZmYyZjRmNGYKK2Rhcmt0dXJxdW9pc2UsIDB4
ZmYwMGNlZDEKK2Rhcmt2aW9sZXQsIDB4ZmY5NDAwZDMKK2RlZXBwaW5rLCAweGZmZmYxNDkzCitk
ZWVwc2t5Ymx1ZSwgMHhmZjAwYmZmZgorZGltZ3JheSwgMHhmZjY5Njk2OQorZGltZ3JleSwgMHhm
ZjY5Njk2OQorZG9kZ2VyYmx1ZSwgMHhmZjFlOTBmZgorZmlyZWJyaWNrLCAweGZmYjIyMjIyCitm
bG9yYWx3aGl0ZSwgMHhmZmZmZmFmMAorZm9yZXN0Z3JlZW4sIDB4ZmYyMjhiMjIKK2Z1Y2hzaWEs
IDB4ZmZmZjAwZmYKK2dhaW5zYm9ybywgMHhmZmRjZGNkYworZ2hvc3R3aGl0ZSwgMHhmZmY4Zjhm
ZgorZ29sZCwgMHhmZmZmZDcwMAorZ29sZGVucm9kLCAweGZmZGFhNTIwCitncmF5LCAweGZmODA4
MDgwCitncmV5LCAweGZmODA4MDgwCitncmVlbiwgMHhmZjAwODAwMAorZ3JlZW55ZWxsb3csIDB4
ZmZhZGZmMmYKK2hvbmV5ZGV3LCAweGZmZjBmZmYwCitob3RwaW5rLCAweGZmZmY2OWI0CitpbmRp
YW5yZWQsIDB4ZmZjZDVjNWMKK2luZGlnbywgMHhmZjRiMDA4MgoraXZvcnksIDB4ZmZmZmZmZjAK
K2toYWtpLCAweGZmZjBlNjhjCitsYXZlbmRlciwgMHhmZmU2ZTZmYQorbGF2ZW5kZXJibHVzaCwg
MHhmZmZmZjBmNQorbGF3bmdyZWVuLCAweGZmN2NmYzAwCitsZW1vbmNoaWZmb24sIDB4ZmZmZmZh
Y2QKK2xpZ2h0Ymx1ZSwgMHhmZmFkZDhlNgorbGlnaHRjb3JhbCwgMHhmZmYwODA4MAorbGlnaHRj
eWFuLCAweGZmZTBmZmZmCitsaWdodGdvbGRlbnJvZHllbGxvdywgMHhmZmZhZmFkMgorbGlnaHRn
cmF5LCAweGZmZDNkM2QzCitsaWdodGdyZXksIDB4ZmZkM2QzZDMKK2xpZ2h0Z3JlZW4sIDB4ZmY5
MGVlOTAKK2xpZ2h0cGluaywgMHhmZmZmYjZjMQorbGlnaHRzYWxtb24sIDB4ZmZmZmEwN2EKK2xp
Z2h0c2VhZ3JlZW4sIDB4ZmYyMGIyYWEKK2xpZ2h0c2t5Ymx1ZSwgMHhmZjg3Y2VmYQorbGlnaHRz
bGF0ZWJsdWUsIDB4ZmY4NDcwZmYKK2xpZ2h0c2xhdGVncmF5LCAweGZmNzc4ODk5CitsaWdodHNs
YXRlZ3JleSwgMHhmZjc3ODg5OQorbGlnaHRzdGVlbGJsdWUsIDB4ZmZiMGM0ZGUKK2xpZ2h0eWVs
bG93LCAweGZmZmZmZmUwCitsaW1lLCAweGZmMDBmZjAwCitsaW1lZ3JlZW4sIDB4ZmYzMmNkMzIK
K2xpbmVuLCAweGZmZmFmMGU2CittYWdlbnRhLCAweGZmZmYwMGZmCittYXJvb24sIDB4ZmY4MDAw
MDAKK21lZGl1bWFxdWFtYXJpbmUsIDB4ZmY2NmNkYWEKK21lZGl1bWJsdWUsIDB4ZmYwMDAwY2QK
K21lZGl1bW9yY2hpZCwgMHhmZmJhNTVkMworbWVkaXVtcHVycGxlLCAweGZmOTM3MGQ4CittZWRp
dW1zZWFncmVlbiwgMHhmZjNjYjM3MQorbWVkaXVtc2xhdGVibHVlLCAweGZmN2I2OGVlCittZWRp
dW1zcHJpbmdncmVlbiwgMHhmZjAwZmE5YQorbWVkaXVtdHVycXVvaXNlLCAweGZmNDhkMWNjCitt
ZWRpdW12aW9sZXRyZWQsIDB4ZmZjNzE1ODUKK21pZG5pZ2h0Ymx1ZSwgMHhmZjE5MTk3MAorbWlu
dGNyZWFtLCAweGZmZjVmZmZhCittaXN0eXJvc2UsIDB4ZmZmZmU0ZTEKK21vY2Nhc2luLCAweGZm
ZmZlNGI1CituYXZham93aGl0ZSwgMHhmZmZmZGVhZAorbmF2eSwgMHhmZjAwMDA4MAorb2xkbGFj
ZSwgMHhmZmZkZjVlNgorb2xpdmUsIDB4ZmY4MDgwMDAKK29saXZlZHJhYiwgMHhmZjZiOGUyMwor
b3JhbmdlLCAweGZmZmZhNTAwCitvcmFuZ2VyZWQsIDB4ZmZmZjQ1MDAKK29yY2hpZCwgMHhmZmRh
NzBkNgorcGFsZWdvbGRlbnJvZCwgMHhmZmVlZThhYQorcGFsZWdyZWVuLCAweGZmOThmYjk4Citw
YWxldHVycXVvaXNlLCAweGZmYWZlZWVlCitwYWxldmlvbGV0cmVkLCAweGZmZDg3MDkzCitwYXBh
eWF3aGlwLCAweGZmZmZlZmQ1CitwZWFjaHB1ZmYsIDB4ZmZmZmRhYjkKK3BlcnUsIDB4ZmZjZDg1
M2YKK3BpbmssIDB4ZmZmZmMwY2IKK3BsdW0sIDB4ZmZkZGEwZGQKK3Bvd2RlcmJsdWUsIDB4ZmZi
MGUwZTYKK3B1cnBsZSwgMHhmZjgwMDA4MAorcmVkLCAweGZmZmYwMDAwCityb3N5YnJvd24sIDB4
ZmZiYzhmOGYKK3JveWFsYmx1ZSwgMHhmZjQxNjllMQorc2FkZGxlYnJvd24sIDB4ZmY4YjQ1MTMK
K3NhbG1vbiwgMHhmZmZhODA3Mgorc2FuZHlicm93biwgMHhmZmY0YTQ2MAorc2VhZ3JlZW4sIDB4
ZmYyZThiNTcKK3NlYXNoZWxsLCAweGZmZmZmNWVlCitzaWVubmEsIDB4ZmZhMDUyMmQKK3NpbHZl
ciwgMHhmZmMwYzBjMAorc2t5Ymx1ZSwgMHhmZjg3Y2VlYgorc2xhdGVibHVlLCAweGZmNmE1YWNk
CitzbGF0ZWdyYXksIDB4ZmY3MDgwOTAKK3NsYXRlZ3JleSwgMHhmZjcwODA5MAorc25vdywgMHhm
ZmZmZmFmYQorc3ByaW5nZ3JlZW4sIDB4ZmYwMGZmN2YKK3N0ZWVsYmx1ZSwgMHhmZjQ2ODJiNAor
dGFuLCAweGZmZDJiNDhjCit0ZWFsLCAweGZmMDA4MDgwCit0aGlzdGxlLCAweGZmZDhiZmQ4Cit0
b21hdG8sIDB4ZmZmZjYzNDcKK3RyYW5zcGFyZW50LCAweDAwMDAwMDAwCit0dXJxdW9pc2UsIDB4
ZmY0MGUwZDAKK3Zpb2xldCwgMHhmZmVlODJlZQordmlvbGV0cmVkLCAweGZmZDAyMDkwCit3aGVh
dCwgMHhmZmY1ZGViMword2hpdGUsIDB4ZmZmZmZmZmYKK3doaXRlc21va2UsIDB4ZmZmNWY1ZjUK
K3llbGxvdywgMHhmZmZmZmYwMAoreWVsbG93Z3JlZW4sIDB4ZmY5YWNkMzIKSW5kZXg6IFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvQ29sb3IuY3BwCShyZXZpc2lvbiA2MTYzMSkKKysrIFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvQ29sb3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzIsOCArMTcyLDcg
QEAgQ29sb3I6OkNvbG9yKGNvbnN0IGNoYXIqIG5hbWUpCiAgICAgICAgIG1fdmFsaWQgPSBwYXJz
ZUhleENvbG9yKCZuYW1lWzFdLCBtX2NvbG9yKTsKICAgICBlbHNlIHsKICAgICAgICAgY29uc3Qg
TmFtZWRDb2xvciogZm91bmRDb2xvciA9IGZpbmRDb2xvcihuYW1lLCBzdHJsZW4obmFtZSkpOwot
ICAgICAgICBtX2NvbG9yID0gZm91bmRDb2xvciA/IGZvdW5kQ29sb3ItPlJHQlZhbHVlIDogMDsK
LSAgICAgICAgbV9jb2xvciB8PSAweEZGMDAwMDAwOworICAgICAgICBtX2NvbG9yID0gZm91bmRD
b2xvciA/IGZvdW5kQ29sb3ItPkFSR0JWYWx1ZSA6IDA7CiAgICAgICAgIG1fdmFsaWQgPSBmb3Vu
ZENvbG9yOwogICAgIH0KIH0KQEAgLTIxNiw4ICsyMTUsNyBAQCBzdGF0aWMgaW5saW5lIGNvbnN0
IE5hbWVkQ29sb3IqIGZpbmROYW1lCiB2b2lkIENvbG9yOjpzZXROYW1lZENvbG9yKGNvbnN0IFN0
cmluZyYgbmFtZSkKIHsKICAgICBjb25zdCBOYW1lZENvbG9yKiBmb3VuZENvbG9yID0gZmluZE5h
bWVkQ29sb3IobmFtZSk7Ci0gICAgbV9jb2xvciA9IGZvdW5kQ29sb3IgPyBmb3VuZENvbG9yLT5S
R0JWYWx1ZSA6IDA7Ci0gICAgbV9jb2xvciB8PSAweEZGMDAwMDAwOworICAgIG1fY29sb3IgPSBm
b3VuZENvbG9yID8gZm91bmRDb2xvci0+QVJHQlZhbHVlIDogMDsKICAgICBtX3ZhbGlkID0gZm91
bmRDb2xvcjsKIH0KIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNjE2MzgpCisrKyBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0wNi0yMiAgSmFu
IEVyaWsgSGFuc3NlbiAgPGpoYW5zc2VuQGNvZGVhdXJvcmEub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuYWJsZSB0aGUgY2FudmFzL3BoaWxp
cC90ZXN0cy8yZC5maWxsU3R5bGUucGFyc2Uuc3lzdGVtLmh0bWwgdGVzdAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzkxNjgKKworICAgICAgICAqIHBs
YXRmb3JtL21hYy9Ta2lwcGVkOgorICAgICAgICAqIHBsYXRmb3JtL3F0L1NraXBwZWQ6CisKIDIw
MTAtMDYtMjIgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IEFkYW0gQmFydGguCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBl
ZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAkocmV2aXNp
b24gNjE2MzEpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAkod29ya2luZyBj
b3B5KQpAQCAtMjEyLDcgKzIxMiw2IEBAIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZmlsbFN0eWxl
LnBhcnNlLmMKIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFt
cC0zLmh0bWwKIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFt
cC00Lmh0bWwKIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFt
cC01Lmh0bWwKLWNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZmlsbFN0eWxlLnBhcnNlLnN5c3RlbS5o
dG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmZyb250Lmh0
bWwKIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUudG9wLmh0bWwK
IGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTIuaHRtbApJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCShyZXZpc2lvbiA2MTYzMSkKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTUyNTIsNyArNTI1Miw2IEBA
IGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZmlsbFN0eWxlLnBhcnNlLmMKIGNhbnZhcy9waGlsaXAv
dGVzdHMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC0zLmh0bWwKIGNhbnZhcy9waGlsaXAv
dGVzdHMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC00Lmh0bWwKIGNhbnZhcy9waGlsaXAv
dGVzdHMvMmQuZmlsbFN0eWxlLnBhcnNlLnJnYi1jbGFtcC01Lmh0bWwKLWNhbnZhcy9waGlsaXAv
dGVzdHMvMmQuZmlsbFN0eWxlLnBhcnNlLnN5c3RlbS5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3Rz
LzJkLmdyYWRpZW50LmludGVycG9sYXRlLmNvbG91cmFscGhhLmh0bWwKIGNhbnZhcy9waGlsaXAv
dGVzdHMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYmVoaW5kLmh0bWwKIGNhbnZhcy9waGlsaXAv
dGVzdHMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuYmVzaWRlLmh0bWwK
</data>
<flag name="review"
          id="46321"
          type_id="1"
          status="-"
          setter="darin"
    />
    <flag name="commit-queue"
          id="46322"
          type_id="3"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59595</attachid>
            <date>2010-06-23 18:29:07 -0700</date>
            <delta_ts>2010-08-13 13:50:53 -0700</delta_ts>
            <desc>Proposed patch (updated)</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>18214</size>
            <attacher name="Jan Erik Hanssen">jhanssen</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MTcwNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzQgQEAKKzIwMTAtMDYtMjMgIEphbiBFcmlrIEhhbnNzZW4gIDxqaGFuc3NlbkBj
b2RlYXVyb3JhLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBFbnN1cmUgdGhhdCBzeXN0ZW0gY29sb3JzIGFyZSBwcm9wZXJseSBwYXJzZWQgaW4g
dGhlIEhUTUw1IGNhbnZhcyBjb250ZXh0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzkxNjgKKworICAgICAgICBUaGlzIGNoYW5nZSByZXF1aXJlcyBD
U1NQYXJzZXI6OnBhcnNlQ29sb3IoKSB0byByZXR1cm4gJ3RydWUnIG9ubHkgd2hlbgorICAgICAg
ICBhbiBhY3R1YWwgY29sb3IgaGFzIGJlZW4gcGFyc2VkLiBJbiB0aGUgcHJvY2VzcyBvZiBtYWtp
bmcgdGhpcyBjaGFuZ2UKKyAgICAgICAgYW5vdGhlciBidWcgY2FtZSB1cCwgd2hlcmUgJ3RyYW5z
cGFyZW50JyBvbmx5IGhhcHBlbnMgdG8gYmUgcGFyc2VkIGFzCisgICAgICAgICcwJyBieSBDU1NQ
YXJzZXI6OnBhcnNlQ29sb3IoKSBiZWNhdXNlIHRoYXQncyB0aGUgZGVmYXVsdCByZXR1cm4gdmFs
dWUKKyAgICAgICAgZnJvbSBDU1NQcmltaXRpdmVWYWx1ZTo6Z2V0UkdCQTMyVmFsdWUoKSB3aGVu
IHRoZSBwcmltaXRpdmUgaXMgbm90IGEKKyAgICAgICAgQ1NTX1JHQkNPTE9SLCBzbyB0aGUgcGF0
Y2ggZW5zdXJlcyB0aGF0ICd0cmFuc3BhcmVudCcgaXMgcGFyc2VkIGFzIGEKKyAgICAgICAgcHJv
cGVyIGNvbG9yIGJ5IGFkZGluZyBpdCB0byB0aGUgQ29sb3JEYXRhLmdwZXJmIGZpbGUuCisKKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREN1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjp0b0hUTUxDYW52YXNTdHlsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6c2V0U3Ryb2tlU3R5bGUpOgorICAgICAgICAo
V2ViQ29yZTo6SlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnNldEZpbGxTdHlsZSk6CisgICAg
ICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBh
cnNlQ29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVN5c3RlbUNvbG9y
KToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2Fu
dmFzU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzU3R5bGU6OmNyZWF0ZSk6Cisg
ICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9D
b2xvckRhdGEuZ3BlcmY6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q29sb3I6OkNvbG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbG9y
OjpzZXROYW1lZENvbG9yKToKKwogMjAxMC0wNi0yMyAgR3VzdGF2byBOb3JvbmhhIFNpbHZhICA8
Z3VzdGF2by5ub3JvbmhhQGNvbGxhYm9yYS5jby51az4KIAogICAgICAgICBSZXZpZXdlZCBieSBY
YW4gTG9wZXouCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEQ3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEQ3VzdG9tLmNwcAkocmV2aXNpb24gNjE3MDUpCisrKyBXZWJD
b3JlL2JpbmRpbmdzL2pzL0pTQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQ3VzdG9tLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIkpTSFRNTEltYWdlRWxlbWVu
dC5oIgogI2luY2x1ZGUgIkpTSFRNTFZpZGVvRWxlbWVudC5oIgogI2luY2x1ZGUgIkpTSW1hZ2VE
YXRhLmgiCisjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKICNpbmNsdWRlIDxydW50aW1lL0Vycm9y
Lmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CkBAIC01MSwxMCArNTIsMTUgQEAgc3RhdGljIEpT
VmFsdWUgdG9KUyhFeGVjU3RhdGUqIGV4ZWMsIENhbgogICAgIHJldHVybiBqc1N0cmluZyhleGVj
LCBzdHlsZS0+Y29sb3IoKSk7CiB9CiAKLXN0YXRpYyBQYXNzUmVmUHRyPENhbnZhc1N0eWxlPiB0
b0hUTUxDYW52YXNTdHlsZShFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgdmFsdWUpCitzdGF0aWMg
UGFzc1JlZlB0cjxDYW52YXNTdHlsZT4gdG9IVE1MQ2FudmFzU3R5bGUoRXhlY1N0YXRlKiBleGVj
LCBKU1ZhbHVlIHZhbHVlLCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQqIGNvbnRleHQpCiB7Ci0g
ICAgaWYgKHZhbHVlLmlzU3RyaW5nKCkpCi0gICAgICAgIHJldHVybiBDYW52YXNTdHlsZTo6Y3Jl
YXRlKHVzdHJpbmdUb1N0cmluZyhhc1N0cmluZyh2YWx1ZSktPnZhbHVlKGV4ZWMpKSk7CisgICAg
aWYgKHZhbHVlLmlzU3RyaW5nKCkpIHsKKyAgICAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gY29u
dGV4dC0+Y2FudmFzKCktPmRvY3VtZW50KCk7CisgICAgICAgIFBhZ2UqIHBhZ2UgPSBkb2N1bWVu
dCA/IGRvY3VtZW50LT5wYWdlKCkgOiAwOworICAgICAgICBSZWZQdHI8UmVuZGVyVGhlbWU+IHRo
ZW1lID0gUmVuZGVyVGhlbWU6OnRoZW1lRm9yUGFnZShwYWdlKTsKKworICAgICAgICByZXR1cm4g
Q2FudmFzU3R5bGU6OmNyZWF0ZSh1c3RyaW5nVG9TdHJpbmcoYXNTdHJpbmcodmFsdWUpLT52YWx1
ZShleGVjKSksIHRoZW1lLnJlbGVhc2UoKSk7CisgICAgfQogICAgIGlmICghdmFsdWUuaXNPYmpl
Y3QoKSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgSlNPYmplY3QqIG9iamVjdCA9IGFzT2JqZWN0
KHZhbHVlKTsKQEAgLTc0LDcgKzgwLDcgQEAgSlNWYWx1ZSBKU0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRDo6c3Rybwogdm9pZCBKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6c2V0U3Ryb2tlU3R5
bGUoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHZhbHVlKQogewogICAgIENhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRCogY29udGV4dCA9IHN0YXRpY19jYXN0PENhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RCo+KGltcGwoKSk7Ci0gICAgY29udGV4dC0+c2V0U3Ryb2tlU3R5bGUodG9IVE1MQ2FudmFzU3R5
bGUoZXhlYywgdmFsdWUpKTsKKyAgICBjb250ZXh0LT5zZXRTdHJva2VTdHlsZSh0b0hUTUxDYW52
YXNTdHlsZShleGVjLCB2YWx1ZSwgY29udGV4dCkpOwogfQogCiBKU1ZhbHVlIEpTQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEOjpmaWxsU3R5bGUoRXhlY1N0YXRlKiBleGVjKSBjb25zdApAQCAtODYs
NyArOTIsNyBAQCBKU1ZhbHVlIEpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpmaWxsCiB2b2lk
IEpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpzZXRGaWxsU3R5bGUoRXhlY1N0YXRlKiBleGVj
LCBKU1ZhbHVlIHZhbHVlKQogewogICAgIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCogY29udGV4
dCA9IHN0YXRpY19jYXN0PENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCo+KGltcGwoKSk7Ci0gICAg
Y29udGV4dC0+c2V0RmlsbFN0eWxlKHRvSFRNTENhbnZhc1N0eWxlKGV4ZWMsIHZhbHVlKSk7Cisg
ICAgY29udGV4dC0+c2V0RmlsbFN0eWxlKHRvSFRNTENhbnZhc1N0eWxlKGV4ZWMsIHZhbHVlLCBj
b250ZXh0KSk7CiB9CiAKIEpTVmFsdWUgSlNDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnNldEZp
bGxDb2xvcihFeGVjU3RhdGUqIGV4ZWMpCkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAJKHJldmlzaW9uIDYxNzA1
KQorKysgV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAxLDEw
ICszMDEsMTMgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlQ29sb3IoUkdCQTMyJiBjb2xvcgogICAg
ICAgICAgICAgQ1NTVmFsdWUqIHZhbHVlID0gcGFyc2VyLm1fcGFyc2VkUHJvcGVydGllc1swXS0+
dmFsdWUoKTsKICAgICAgICAgICAgIGlmICh2YWx1ZS0+Y3NzVmFsdWVUeXBlKCkgPT0gQ1NTVmFs
dWU6OkNTU19QUklNSVRJVkVfVkFMVUUpIHsKICAgICAgICAgICAgICAgICBDU1NQcmltaXRpdmVW
YWx1ZSogcHJpbWl0aXZlVmFsdWUgPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KHZh
bHVlKTsKLSAgICAgICAgICAgICAgICBjb2xvciA9IHByaW1pdGl2ZVZhbHVlLT5nZXRSR0JBMzJW
YWx1ZSgpOworICAgICAgICAgICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZS0+cHJpbWl0aXZlVHlw
ZSgpID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUkdCQ09MT1IpIHsKKyAgICAgICAgICAgICAg
ICAgICAgY29sb3IgPSBwcmltaXRpdmVWYWx1ZS0+Z2V0UkdCQTMyVmFsdWUoKTsKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
fQotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQor
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCiAgICAgcmV0dXJuIHRydWU7CkBAIC0zMjIs
NiArMzI1LDIxIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUNvbG9yKENTU011dGFibGVTdHkKICAg
ICByZXR1cm4gKG1fbnVtUGFyc2VkUHJvcGVydGllcyAmJiBtX3BhcnNlZFByb3BlcnRpZXNbMF0t
Pm1faWQgPT0gQ1NTUHJvcGVydHlDb2xvcik7CiB9CiAKK2Jvb2wgQ1NTUGFyc2VyOjpwYXJzZVN5
c3RlbUNvbG9yKFJHQkEzMiYgY29sb3IsIGNvbnN0IFN0cmluZyYgc3RyaW5nLCBQYXNzUmVmUHRy
PFJlbmRlclRoZW1lPiB0aGVtZSkKK3sKKyAgICBSZWZQdHI8UmVuZGVyVGhlbWU+IHJlbmRlclRo
ZW1lKHRoZW1lKTsKKworICAgIENTU1BhcnNlclN0cmluZyBjc3NDb2xvcjsKKyAgICBjc3NDb2xv
ci5jaGFyYWN0ZXJzID0gY29uc3RfY2FzdDxVQ2hhcio+KHN0cmluZy5jaGFyYWN0ZXJzKCkpOwor
ICAgIGNzc0NvbG9yLmxlbmd0aCA9IHN0cmluZy5sZW5ndGgoKTsKKyAgICBpbnQgaWQgPSBjc3NW
YWx1ZUtleXdvcmRJRChjc3NDb2xvcik7CisgICAgaWYgKGlkID4gMCkgeworICAgICAgICBjb2xv
ciA9IHJlbmRlclRoZW1lLT5zeXN0ZW1Db2xvcihpZCkucmdiKCk7CisgICAgICAgIHJldHVybiB0
cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQgQ1NTUGFyc2VyOjpwYXJz
ZVNlbGVjdG9yKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBEb2N1bWVudCogZG9jLCBDU1NTZWxlY3Rv
ckxpc3QmIHNlbGVjdG9yTGlzdCkKIHsKICAgICBSZWZQdHI8Q1NTU3R5bGVTaGVldD4gZHVtbXlT
dHlsZVNoZWV0ID0gQ1NTU3R5bGVTaGVldDo6Y3JlYXRlKGRvYyk7CkluZGV4OiBXZWJDb3JlL2Nz
cy9DU1NQYXJzZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAkocmV2
aXNpb24gNjE3MDUpCisrKyBXZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAkod29ya2luZyBjb3B5KQpA
QCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkNTU1BhcnNlclZhbHVlcy5oIgogI2luY2x1ZGUg
IkNTU1NlbGVjdG9yTGlzdC5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnkuaCIKKyNpbmNsdWRlICJS
ZW5kZXJUaGVtZS5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC02NSw2ICs2Niw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgUGFzc1JlZlB0cjxDU1NSdWxlPiBwYXJzZUtleWZyYW1l
UnVsZShDU1NTdHlsZVNoZWV0KiwgY29uc3QgU3RyaW5nJik7CiAgICAgICAgIGJvb2wgcGFyc2VW
YWx1ZShDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbiosIGludCBwcm9wSWQsIGNvbnN0IFN0cmlu
ZyYsIGJvb2wgaW1wb3J0YW50KTsKICAgICAgICAgc3RhdGljIGJvb2wgcGFyc2VDb2xvcihSR0JB
MzImIGNvbG9yLCBjb25zdCBTdHJpbmcmLCBib29sIHN0cmljdCA9IGZhbHNlKTsKKyAgICAgICAg
c3RhdGljIGJvb2wgcGFyc2VTeXN0ZW1Db2xvcihSR0JBMzImIGNvbG9yLCBjb25zdCBTdHJpbmcm
LCBQYXNzUmVmUHRyPFJlbmRlclRoZW1lPiB0aGVtZSk7CiAgICAgICAgIGJvb2wgcGFyc2VDb2xv
cihDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbiosIGNvbnN0IFN0cmluZyYpOwogICAgICAgICBi
b29sIHBhcnNlRGVjbGFyYXRpb24oQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qLCBjb25zdCBT
dHJpbmcmKTsKICAgICAgICAgYm9vbCBwYXJzZU1lZGlhUXVlcnkoTWVkaWFMaXN0KiwgY29uc3Qg
U3RyaW5nJik7CkluZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcAkocmV2aXNpb24g
NjE3MDUpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtOTEsMTEgKzkxLDEzIEBAIENhbnZhc1N0eWxlOjpDYW52YXNTdHlsZShQYXNzUmVm
UHRyPENhbnYKIHsKIH0KIAotUGFzc1JlZlB0cjxDYW52YXNTdHlsZT4gQ2FudmFzU3R5bGU6OmNy
ZWF0ZShjb25zdCBTdHJpbmcmIGNvbG9yKQorUGFzc1JlZlB0cjxDYW52YXNTdHlsZT4gQ2FudmFz
U3R5bGU6OmNyZWF0ZShjb25zdCBTdHJpbmcmIGNvbG9yLCBQYXNzUmVmUHRyPFJlbmRlclRoZW1l
PiB0aGVtZSkKIHsKICAgICBSR0JBMzIgcmdiYTsKLSAgICBpZiAoIUNTU1BhcnNlcjo6cGFyc2VD
b2xvcihyZ2JhLCBjb2xvcikpCi0gICAgICAgIHJldHVybiAwOworICAgIGlmICghQ1NTUGFyc2Vy
OjpwYXJzZUNvbG9yKHJnYmEsIGNvbG9yKSkgeworICAgICAgICBpZiAoIXRoZW1lIHx8ICFDU1NQ
YXJzZXI6OnBhcnNlU3lzdGVtQ29sb3IocmdiYSwgY29sb3IsIHRoZW1lKSkKKyAgICAgICAgICAg
IHJldHVybiAwOworICAgIH0KICAgICByZXR1cm4gYWRvcHRSZWYobmV3IENhbnZhc1N0eWxlKHJn
YmEpKTsKIH0KIApJbmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaAkocmV2aXNpb24gNjE3
MDUpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkNvbG9yLmgiCiAjaW5jbHVkZSAiUGxhdGZv
cm1TdHJpbmcuaCIKKyNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKQEAgLTM5LDcgKzQwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIENh
bnZhc1N0eWxlIDogcHVibGljIFJlZkNvdW50ZWQ8Q2FudmFzU3R5bGU+IHsKICAgICBwdWJsaWM6
CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENhbnZhc1N0eWxlPiBjcmVhdGUoUkdCQTMyIHJn
YmEpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYW52YXNTdHlsZShyZ2JhKSk7IH0KLSAgICAgICAg
c3RhdGljIFBhc3NSZWZQdHI8Q2FudmFzU3R5bGU+IGNyZWF0ZShjb25zdCBTdHJpbmcmIGNvbG9y
KTsKKyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2FudmFzU3R5bGU+IGNyZWF0ZShjb25zdCBT
dHJpbmcmIGNvbG9yLCBQYXNzUmVmUHRyPFJlbmRlclRoZW1lPiB0aGVtZSA9IDApOwogICAgICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxDYW52YXNTdHlsZT4gY3JlYXRlKGNvbnN0IFN0cmluZyYgY29s
b3IsIGZsb2F0IGFscGhhKTsKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2FudmFzU3R5bGU+
IGNyZWF0ZShmbG9hdCBncmF5TGV2ZWwpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYW52YXNTdHls
ZShncmF5TGV2ZWwpKTsgfQogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDYW52YXNTdHlsZT4g
Y3JlYXRlKGZsb2F0IGdyYXlMZXZlbCwgZmxvYXQgYWxwaGEpIHsgcmV0dXJuIGFkb3B0UmVmKG5l
dyBDYW52YXNTdHlsZShncmF5TGV2ZWwsIGFscGhhKSk7IH0KSW5kZXg6IFdlYkNvcmUvcGxhdGZv
cm0vQ29sb3JEYXRhLmdwZXJmCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vQ29sb3JE
YXRhLmdwZXJmCShyZXZpc2lvbiA2MTcwNSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vQ29sb3JEYXRh
LmdwZXJmCSh3b3JraW5nIGNvcHkpCkBAIC0xLDcgKzEsNyBAQAogJXN0cnVjdC10eXBlCiBzdHJ1
Y3QgTmFtZWRDb2xvciB7CiAgICAgY29uc3QgY2hhciAqbmFtZTsKLSAgICBpbnQgUkdCVmFsdWU7
CisgICAgdW5zaWduZWQgaW50IEFSR0JWYWx1ZTsKIH07CiAlbGFuZ3VhZ2U9QU5TSS1DCiAlcmVh
ZG9ubHktdGFibGVzCkBAIC0xMiwxNTIgKzEyLDE1MyBAQCBzdHJ1Y3QgTmFtZWRDb2xvciB7CiAl
aW5jbHVkZXMKICVlbnVtCiAlJQotYWxpY2VibHVlLCAweGYwZjhmZgotYW50aXF1ZXdoaXRlLCAw
eGZhZWJkNwotYXF1YSwgMHgwMGZmZmYKLWFxdWFtYXJpbmUsIDB4N2ZmZmQ0Ci1henVyZSwgMHhm
MGZmZmYKLWJlaWdlLCAweGY1ZjVkYwotYmlzcXVlLCAweGZmZTRjNAotYmxhY2ssIDB4MDAwMDAw
Ci1ibGFuY2hlZGFsbW9uZCwgMHhmZmViY2QKLWJsdWUsIDB4MDAwMGZmCi1ibHVldmlvbGV0LCAw
eDhhMmJlMgotYnJvd24sIDB4YTUyYTJhCi1idXJseXdvb2QsIDB4ZGViODg3Ci1jYWRldGJsdWUs
IDB4NWY5ZWEwCi1jaGFydHJldXNlLCAweDdmZmYwMAotY2hvY29sYXRlLCAweGQyNjkxZQotY29y
YWwsIDB4ZmY3ZjUwCi1jb3JuZmxvd2VyYmx1ZSwgMHg2NDk1ZWQKLWNvcm5zaWxrLCAweGZmZjhk
YwotY3JpbXNvbiwgMHhkYzE0M2MKLWN5YW4sIDB4MDBmZmZmCi1kYXJrYmx1ZSwgMHgwMDAwOGIK
LWRhcmtjeWFuLCAweDAwOGI4YgotZGFya2dvbGRlbnJvZCwgMHhiODg2MGIKLWRhcmtncmF5LCAw
eGE5YTlhOQotZGFya2dyZXksIDB4YTlhOWE5Ci1kYXJrZ3JlZW4sIDB4MDA2NDAwCi1kYXJra2hh
a2ksIDB4YmRiNzZiCi1kYXJrbWFnZW50YSwgMHg4YjAwOGIKLWRhcmtvbGl2ZWdyZWVuLCAweDU1
NmIyZgotZGFya29yYW5nZSwgMHhmZjhjMDAKLWRhcmtvcmNoaWQsIDB4OTkzMmNjCi1kYXJrcmVk
LCAweDhiMDAwMAotZGFya3NhbG1vbiwgMHhlOTk2N2EKLWRhcmtzZWFncmVlbiwgMHg4ZmJjOGYK
LWRhcmtzbGF0ZWJsdWUsIDB4NDgzZDhiCi1kYXJrc2xhdGVncmF5LCAweDJmNGY0ZgotZGFya3Ns
YXRlZ3JleSwgMHgyZjRmNGYKLWRhcmt0dXJxdW9pc2UsIDB4MDBjZWQxCi1kYXJrdmlvbGV0LCAw
eDk0MDBkMwotZGVlcHBpbmssIDB4ZmYxNDkzCi1kZWVwc2t5Ymx1ZSwgMHgwMGJmZmYKLWRpbWdy
YXksIDB4Njk2OTY5Ci1kaW1ncmV5LCAweDY5Njk2OQotZG9kZ2VyYmx1ZSwgMHgxZTkwZmYKLWZp
cmVicmljaywgMHhiMjIyMjIKLWZsb3JhbHdoaXRlLCAweGZmZmFmMAotZm9yZXN0Z3JlZW4sIDB4
MjI4YjIyCi1mdWNoc2lhLCAweGZmMDBmZgotZ2FpbnNib3JvLCAweGRjZGNkYwotZ2hvc3R3aGl0
ZSwgMHhmOGY4ZmYKLWdvbGQsIDB4ZmZkNzAwCi1nb2xkZW5yb2QsIDB4ZGFhNTIwCi1ncmF5LCAw
eDgwODA4MAotZ3JleSwgMHg4MDgwODAKLWdyZWVuLCAweDAwODAwMAotZ3JlZW55ZWxsb3csIDB4
YWRmZjJmCi1ob25leWRldywgMHhmMGZmZjAKLWhvdHBpbmssIDB4ZmY2OWI0Ci1pbmRpYW5yZWQs
IDB4Y2Q1YzVjCi1pbmRpZ28sIDB4NGIwMDgyCi1pdm9yeSwgMHhmZmZmZjAKLWtoYWtpLCAweGYw
ZTY4YwotbGF2ZW5kZXIsIDB4ZTZlNmZhCi1sYXZlbmRlcmJsdXNoLCAweGZmZjBmNQotbGF3bmdy
ZWVuLCAweDdjZmMwMAotbGVtb25jaGlmZm9uLCAweGZmZmFjZAotbGlnaHRibHVlLCAweGFkZDhl
NgotbGlnaHRjb3JhbCwgMHhmMDgwODAKLWxpZ2h0Y3lhbiwgMHhlMGZmZmYKLWxpZ2h0Z29sZGVu
cm9keWVsbG93LCAweGZhZmFkMgotbGlnaHRncmF5LCAweGQzZDNkMwotbGlnaHRncmV5LCAweGQz
ZDNkMwotbGlnaHRncmVlbiwgMHg5MGVlOTAKLWxpZ2h0cGluaywgMHhmZmI2YzEKLWxpZ2h0c2Fs
bW9uLCAweGZmYTA3YQotbGlnaHRzZWFncmVlbiwgMHgyMGIyYWEKLWxpZ2h0c2t5Ymx1ZSwgMHg4
N2NlZmEKLWxpZ2h0c2xhdGVibHVlLCAweDg0NzBmZgotbGlnaHRzbGF0ZWdyYXksIDB4Nzc4ODk5
Ci1saWdodHNsYXRlZ3JleSwgMHg3Nzg4OTkKLWxpZ2h0c3RlZWxibHVlLCAweGIwYzRkZQotbGln
aHR5ZWxsb3csIDB4ZmZmZmUwCi1saW1lLCAweDAwZmYwMAotbGltZWdyZWVuLCAweDMyY2QzMgot
bGluZW4sIDB4ZmFmMGU2Ci1tYWdlbnRhLCAweGZmMDBmZgotbWFyb29uLCAweDgwMDAwMAotbWVk
aXVtYXF1YW1hcmluZSwgMHg2NmNkYWEKLW1lZGl1bWJsdWUsIDB4MDAwMGNkCi1tZWRpdW1vcmNo
aWQsIDB4YmE1NWQzCi1tZWRpdW1wdXJwbGUsIDB4OTM3MGQ4Ci1tZWRpdW1zZWFncmVlbiwgMHgz
Y2IzNzEKLW1lZGl1bXNsYXRlYmx1ZSwgMHg3YjY4ZWUKLW1lZGl1bXNwcmluZ2dyZWVuLCAweDAw
ZmE5YQotbWVkaXVtdHVycXVvaXNlLCAweDQ4ZDFjYwotbWVkaXVtdmlvbGV0cmVkLCAweGM3MTU4
NQotbWlkbmlnaHRibHVlLCAweDE5MTk3MAotbWludGNyZWFtLCAweGY1ZmZmYQotbWlzdHlyb3Nl
LCAweGZmZTRlMQotbW9jY2FzaW4sIDB4ZmZlNGI1Ci1uYXZham93aGl0ZSwgMHhmZmRlYWQKLW5h
dnksIDB4MDAwMDgwCi1vbGRsYWNlLCAweGZkZjVlNgotb2xpdmUsIDB4ODA4MDAwCi1vbGl2ZWRy
YWIsIDB4NmI4ZTIzCi1vcmFuZ2UsIDB4ZmZhNTAwCi1vcmFuZ2VyZWQsIDB4ZmY0NTAwCi1vcmNo
aWQsIDB4ZGE3MGQ2Ci1wYWxlZ29sZGVucm9kLCAweGVlZThhYQotcGFsZWdyZWVuLCAweDk4ZmI5
OAotcGFsZXR1cnF1b2lzZSwgMHhhZmVlZWUKLXBhbGV2aW9sZXRyZWQsIDB4ZDg3MDkzCi1wYXBh
eWF3aGlwLCAweGZmZWZkNQotcGVhY2hwdWZmLCAweGZmZGFiOQotcGVydSwgMHhjZDg1M2YKLXBp
bmssIDB4ZmZjMGNiCi1wbHVtLCAweGRkYTBkZAotcG93ZGVyYmx1ZSwgMHhiMGUwZTYKLXB1cnBs
ZSwgMHg4MDAwODAKLXJlZCwgMHhmZjAwMDAKLXJvc3licm93biwgMHhiYzhmOGYKLXJveWFsYmx1
ZSwgMHg0MTY5ZTEKLXNhZGRsZWJyb3duLCAweDhiNDUxMwotc2FsbW9uLCAweGZhODA3Mgotc2Fu
ZHlicm93biwgMHhmNGE0NjAKLXNlYWdyZWVuLCAweDJlOGI1Nwotc2Vhc2hlbGwsIDB4ZmZmNWVl
Ci1zaWVubmEsIDB4YTA1MjJkCi1zaWx2ZXIsIDB4YzBjMGMwCi1za3libHVlLCAweDg3Y2VlYgot
c2xhdGVibHVlLCAweDZhNWFjZAotc2xhdGVncmF5LCAweDcwODA5MAotc2xhdGVncmV5LCAweDcw
ODA5MAotc25vdywgMHhmZmZhZmEKLXNwcmluZ2dyZWVuLCAweDAwZmY3Zgotc3RlZWxibHVlLCAw
eDQ2ODJiNAotdGFuLCAweGQyYjQ4YwotdGVhbCwgMHgwMDgwODAKLXRoaXN0bGUsIDB4ZDhiZmQ4
Ci10b21hdG8sIDB4ZmY2MzQ3Ci10dXJxdW9pc2UsIDB4NDBlMGQwCi12aW9sZXQsIDB4ZWU4MmVl
Ci12aW9sZXRyZWQsIDB4ZDAyMDkwCi13aGVhdCwgMHhmNWRlYjMKLXdoaXRlLCAweGZmZmZmZgot
d2hpdGVzbW9rZSwgMHhmNWY1ZjUKLXllbGxvdywgMHhmZmZmMDAKLXllbGxvd2dyZWVuLCAweDlh
Y2QzMgorYWxpY2VibHVlLCAweGZmZjBmOGZmCithbnRpcXVld2hpdGUsIDB4ZmZmYWViZDcKK2Fx
dWEsIDB4ZmYwMGZmZmYKK2FxdWFtYXJpbmUsIDB4ZmY3ZmZmZDQKK2F6dXJlLCAweGZmZjBmZmZm
CitiZWlnZSwgMHhmZmY1ZjVkYworYmlzcXVlLCAweGZmZmZlNGM0CitibGFjaywgMHhmZjAwMDAw
MAorYmxhbmNoZWRhbG1vbmQsIDB4ZmZmZmViY2QKK2JsdWUsIDB4ZmYwMDAwZmYKK2JsdWV2aW9s
ZXQsIDB4ZmY4YTJiZTIKK2Jyb3duLCAweGZmYTUyYTJhCitidXJseXdvb2QsIDB4ZmZkZWI4ODcK
K2NhZGV0Ymx1ZSwgMHhmZjVmOWVhMAorY2hhcnRyZXVzZSwgMHhmZjdmZmYwMAorY2hvY29sYXRl
LCAweGZmZDI2OTFlCitjb3JhbCwgMHhmZmZmN2Y1MAorY29ybmZsb3dlcmJsdWUsIDB4ZmY2NDk1
ZWQKK2Nvcm5zaWxrLCAweGZmZmZmOGRjCitjcmltc29uLCAweGZmZGMxNDNjCitjeWFuLCAweGZm
MDBmZmZmCitkYXJrYmx1ZSwgMHhmZjAwMDA4YgorZGFya2N5YW4sIDB4ZmYwMDhiOGIKK2Rhcmtn
b2xkZW5yb2QsIDB4ZmZiODg2MGIKK2RhcmtncmF5LCAweGZmYTlhOWE5CitkYXJrZ3JleSwgMHhm
ZmE5YTlhOQorZGFya2dyZWVuLCAweGZmMDA2NDAwCitkYXJra2hha2ksIDB4ZmZiZGI3NmIKK2Rh
cmttYWdlbnRhLCAweGZmOGIwMDhiCitkYXJrb2xpdmVncmVlbiwgMHhmZjU1NmIyZgorZGFya29y
YW5nZSwgMHhmZmZmOGMwMAorZGFya29yY2hpZCwgMHhmZjk5MzJjYworZGFya3JlZCwgMHhmZjhi
MDAwMAorZGFya3NhbG1vbiwgMHhmZmU5OTY3YQorZGFya3NlYWdyZWVuLCAweGZmOGZiYzhmCitk
YXJrc2xhdGVibHVlLCAweGZmNDgzZDhiCitkYXJrc2xhdGVncmF5LCAweGZmMmY0ZjRmCitkYXJr
c2xhdGVncmV5LCAweGZmMmY0ZjRmCitkYXJrdHVycXVvaXNlLCAweGZmMDBjZWQxCitkYXJrdmlv
bGV0LCAweGZmOTQwMGQzCitkZWVwcGluaywgMHhmZmZmMTQ5MworZGVlcHNreWJsdWUsIDB4ZmYw
MGJmZmYKK2RpbWdyYXksIDB4ZmY2OTY5NjkKK2RpbWdyZXksIDB4ZmY2OTY5NjkKK2RvZGdlcmJs
dWUsIDB4ZmYxZTkwZmYKK2ZpcmVicmljaywgMHhmZmIyMjIyMgorZmxvcmFsd2hpdGUsIDB4ZmZm
ZmZhZjAKK2ZvcmVzdGdyZWVuLCAweGZmMjI4YjIyCitmdWNoc2lhLCAweGZmZmYwMGZmCitnYWlu
c2Jvcm8sIDB4ZmZkY2RjZGMKK2dob3N0d2hpdGUsIDB4ZmZmOGY4ZmYKK2dvbGQsIDB4ZmZmZmQ3
MDAKK2dvbGRlbnJvZCwgMHhmZmRhYTUyMAorZ3JheSwgMHhmZjgwODA4MAorZ3JleSwgMHhmZjgw
ODA4MAorZ3JlZW4sIDB4ZmYwMDgwMDAKK2dyZWVueWVsbG93LCAweGZmYWRmZjJmCitob25leWRl
dywgMHhmZmYwZmZmMAoraG90cGluaywgMHhmZmZmNjliNAoraW5kaWFucmVkLCAweGZmY2Q1YzVj
CitpbmRpZ28sIDB4ZmY0YjAwODIKK2l2b3J5LCAweGZmZmZmZmYwCitraGFraSwgMHhmZmYwZTY4
YworbGF2ZW5kZXIsIDB4ZmZlNmU2ZmEKK2xhdmVuZGVyYmx1c2gsIDB4ZmZmZmYwZjUKK2xhd25n
cmVlbiwgMHhmZjdjZmMwMAorbGVtb25jaGlmZm9uLCAweGZmZmZmYWNkCitsaWdodGJsdWUsIDB4
ZmZhZGQ4ZTYKK2xpZ2h0Y29yYWwsIDB4ZmZmMDgwODAKK2xpZ2h0Y3lhbiwgMHhmZmUwZmZmZgor
bGlnaHRnb2xkZW5yb2R5ZWxsb3csIDB4ZmZmYWZhZDIKK2xpZ2h0Z3JheSwgMHhmZmQzZDNkMwor
bGlnaHRncmV5LCAweGZmZDNkM2QzCitsaWdodGdyZWVuLCAweGZmOTBlZTkwCitsaWdodHBpbmss
IDB4ZmZmZmI2YzEKK2xpZ2h0c2FsbW9uLCAweGZmZmZhMDdhCitsaWdodHNlYWdyZWVuLCAweGZm
MjBiMmFhCitsaWdodHNreWJsdWUsIDB4ZmY4N2NlZmEKK2xpZ2h0c2xhdGVibHVlLCAweGZmODQ3
MGZmCitsaWdodHNsYXRlZ3JheSwgMHhmZjc3ODg5OQorbGlnaHRzbGF0ZWdyZXksIDB4ZmY3Nzg4
OTkKK2xpZ2h0c3RlZWxibHVlLCAweGZmYjBjNGRlCitsaWdodHllbGxvdywgMHhmZmZmZmZlMAor
bGltZSwgMHhmZjAwZmYwMAorbGltZWdyZWVuLCAweGZmMzJjZDMyCitsaW5lbiwgMHhmZmZhZjBl
NgorbWFnZW50YSwgMHhmZmZmMDBmZgorbWFyb29uLCAweGZmODAwMDAwCittZWRpdW1hcXVhbWFy
aW5lLCAweGZmNjZjZGFhCittZWRpdW1ibHVlLCAweGZmMDAwMGNkCittZWRpdW1vcmNoaWQsIDB4
ZmZiYTU1ZDMKK21lZGl1bXB1cnBsZSwgMHhmZjkzNzBkOAorbWVkaXVtc2VhZ3JlZW4sIDB4ZmYz
Y2IzNzEKK21lZGl1bXNsYXRlYmx1ZSwgMHhmZjdiNjhlZQorbWVkaXVtc3ByaW5nZ3JlZW4sIDB4
ZmYwMGZhOWEKK21lZGl1bXR1cnF1b2lzZSwgMHhmZjQ4ZDFjYworbWVkaXVtdmlvbGV0cmVkLCAw
eGZmYzcxNTg1CittaWRuaWdodGJsdWUsIDB4ZmYxOTE5NzAKK21pbnRjcmVhbSwgMHhmZmY1ZmZm
YQorbWlzdHlyb3NlLCAweGZmZmZlNGUxCittb2NjYXNpbiwgMHhmZmZmZTRiNQorbmF2YWpvd2hp
dGUsIDB4ZmZmZmRlYWQKK25hdnksIDB4ZmYwMDAwODAKK29sZGxhY2UsIDB4ZmZmZGY1ZTYKK29s
aXZlLCAweGZmODA4MDAwCitvbGl2ZWRyYWIsIDB4ZmY2YjhlMjMKK29yYW5nZSwgMHhmZmZmYTUw
MAorb3JhbmdlcmVkLCAweGZmZmY0NTAwCitvcmNoaWQsIDB4ZmZkYTcwZDYKK3BhbGVnb2xkZW5y
b2QsIDB4ZmZlZWU4YWEKK3BhbGVncmVlbiwgMHhmZjk4ZmI5OAorcGFsZXR1cnF1b2lzZSwgMHhm
ZmFmZWVlZQorcGFsZXZpb2xldHJlZCwgMHhmZmQ4NzA5MworcGFwYXlhd2hpcCwgMHhmZmZmZWZk
NQorcGVhY2hwdWZmLCAweGZmZmZkYWI5CitwZXJ1LCAweGZmY2Q4NTNmCitwaW5rLCAweGZmZmZj
MGNiCitwbHVtLCAweGZmZGRhMGRkCitwb3dkZXJibHVlLCAweGZmYjBlMGU2CitwdXJwbGUsIDB4
ZmY4MDAwODAKK3JlZCwgMHhmZmZmMDAwMAorcm9zeWJyb3duLCAweGZmYmM4ZjhmCityb3lhbGJs
dWUsIDB4ZmY0MTY5ZTEKK3NhZGRsZWJyb3duLCAweGZmOGI0NTEzCitzYWxtb24sIDB4ZmZmYTgw
NzIKK3NhbmR5YnJvd24sIDB4ZmZmNGE0NjAKK3NlYWdyZWVuLCAweGZmMmU4YjU3CitzZWFzaGVs
bCwgMHhmZmZmZjVlZQorc2llbm5hLCAweGZmYTA1MjJkCitzaWx2ZXIsIDB4ZmZjMGMwYzAKK3Nr
eWJsdWUsIDB4ZmY4N2NlZWIKK3NsYXRlYmx1ZSwgMHhmZjZhNWFjZAorc2xhdGVncmF5LCAweGZm
NzA4MDkwCitzbGF0ZWdyZXksIDB4ZmY3MDgwOTAKK3Nub3csIDB4ZmZmZmZhZmEKK3NwcmluZ2dy
ZWVuLCAweGZmMDBmZjdmCitzdGVlbGJsdWUsIDB4ZmY0NjgyYjQKK3RhbiwgMHhmZmQyYjQ4Ywor
dGVhbCwgMHhmZjAwODA4MAordGhpc3RsZSwgMHhmZmQ4YmZkOAordG9tYXRvLCAweGZmZmY2MzQ3
Cit0cmFuc3BhcmVudCwgMHgwMDAwMDAwMAordHVycXVvaXNlLCAweGZmNDBlMGQwCit2aW9sZXQs
IDB4ZmZlZTgyZWUKK3Zpb2xldHJlZCwgMHhmZmQwMjA5MAord2hlYXQsIDB4ZmZmNWRlYjMKK3do
aXRlLCAweGZmZmZmZmZmCit3aGl0ZXNtb2tlLCAweGZmZjVmNWY1Cit5ZWxsb3csIDB4ZmZmZmZm
MDAKK3llbGxvd2dyZWVuLCAweGZmOWFjZDMyCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0NvbG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Nv
bG9yLmNwcAkocmV2aXNpb24gNjE3MDUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Nv
bG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTcyLDggKzE3Miw3IEBAIENvbG9yOjpDb2xvcihj
b25zdCBjaGFyKiBuYW1lKQogICAgICAgICBtX3ZhbGlkID0gcGFyc2VIZXhDb2xvcigmbmFtZVsx
XSwgbV9jb2xvcik7CiAgICAgZWxzZSB7CiAgICAgICAgIGNvbnN0IE5hbWVkQ29sb3IqIGZvdW5k
Q29sb3IgPSBmaW5kQ29sb3IobmFtZSwgc3RybGVuKG5hbWUpKTsKLSAgICAgICAgbV9jb2xvciA9
IGZvdW5kQ29sb3IgPyBmb3VuZENvbG9yLT5SR0JWYWx1ZSA6IDA7Ci0gICAgICAgIG1fY29sb3Ig
fD0gMHhGRjAwMDAwMDsKKyAgICAgICAgbV9jb2xvciA9IGZvdW5kQ29sb3IgPyBmb3VuZENvbG9y
LT5BUkdCVmFsdWUgOiAwOwogICAgICAgICBtX3ZhbGlkID0gZm91bmRDb2xvcjsKICAgICB9CiB9
CkBAIC0yMTYsOCArMjE1LDcgQEAgc3RhdGljIGlubGluZSBjb25zdCBOYW1lZENvbG9yKiBmaW5k
TmFtZQogdm9pZCBDb2xvcjo6c2V0TmFtZWRDb2xvcihjb25zdCBTdHJpbmcmIG5hbWUpCiB7CiAg
ICAgY29uc3QgTmFtZWRDb2xvciogZm91bmRDb2xvciA9IGZpbmROYW1lZENvbG9yKG5hbWUpOwot
ICAgIG1fY29sb3IgPSBmb3VuZENvbG9yID8gZm91bmRDb2xvci0+UkdCVmFsdWUgOiAwOwotICAg
IG1fY29sb3IgfD0gMHhGRjAwMDAwMDsKKyAgICBtX2NvbG9yID0gZm91bmRDb2xvciA/IGZvdW5k
Q29sb3ItPkFSR0JWYWx1ZSA6IDA7CiAgICAgbV92YWxpZCA9IGZvdW5kQ29sb3I7CiB9CiAKSW5k
ZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDYxNzA2KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMDYtMjMgIEphbiBFcmlrIEhhbnNzZW4gIDxq
aGFuc3NlbkBjb2RlYXVyb3JhLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBFbmFibGUgdGhlIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZmlsbFN0
eWxlLnBhcnNlLnN5c3RlbS5odG1sIHRlc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTM5MTY4CisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2tpcHBl
ZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgorCiAyMDEwLTA2LTIzICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMg
U2VpZGVsLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQJKHJldmlzaW9uIDYxNzA1KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTIx
Miw3ICsyMTIsNiBAQCBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmZpbGxTdHlsZS5wYXJzZS5jCiBj
YW52YXMvcGhpbGlwL3Rlc3RzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMy5odG1sCiBj
YW52YXMvcGhpbGlwL3Rlc3RzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtNC5odG1sCiBj
YW52YXMvcGhpbGlwL3Rlc3RzLzJkLmZpbGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtNS5odG1sCi1j
YW52YXMvcGhpbGlwL3Rlc3RzLzJkLmZpbGxTdHlsZS5wYXJzZS5zeXN0ZW0uaHRtbAogY2FudmFz
L3BoaWxpcC90ZXN0cy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5mcm9udC5odG1sCiBjYW52YXMv
cGhpbGlwL3Rlc3RzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnRvcC5odG1sCiBjYW52YXMvcGhp
bGlwL3Rlc3RzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUyLmh0bWwKSW5kZXg6IExheW91dFRl
c3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvU2tpcHBlZAkocmV2aXNpb24gNjE3MDUpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9x
dC9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC01MjU4LDcgKzUyNTgsNiBAQCBjYW52YXMvcGhp
bGlwL3Rlc3RzLzJkLmZpbGxTdHlsZS5wYXJzZS5jCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmZp
bGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtMy5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmZp
bGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtNC5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmZp
bGxTdHlsZS5wYXJzZS5yZ2ItY2xhbXAtNS5odG1sCi1jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmZp
bGxTdHlsZS5wYXJzZS5zeXN0ZW0uaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5ncmFkaWVu
dC5pbnRlcnBvbGF0ZS5jb2xvdXJhbHBoYS5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmdy
YWRpZW50LnJhZGlhbC5jb25lLmJlaGluZC5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmdy
YWRpZW50LnJhZGlhbC5jb25lLmJlc2lkZS5odG1sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64372</attachid>
            <date>2010-08-13 13:50:53 -0700</date>
            <delta_ts>2010-08-18 12:13:21 -0700</delta_ts>
            <desc>Proposed patch v3</desc>
            <filename>39168.patch</filename>
            <type>text/plain</type>
            <size>17617</size>
            <attacher name="Jan Erik Hanssen">jhanssen</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NTMzNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTAtMDgtMTMgIEphbiBFcmlrIEhhbnNzZW4gIDxqaGFuc3NlbkBj
b2RlYXVyb3JhLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBQYXJzZSBzeXN0ZW0gY29sb3JzIGluIHRoZSBIVE1MNSBjYW52YXMgY29udGV4dC4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5MTY4CisK
KyAgICAgICAgVGhpcyBjaGFuZ2UgcmVxdWlyZXMgQ1NTUGFyc2VyOjpwYXJzZUNvbG9yKCkgdG8g
cmV0dXJuICd0cnVlJyBvbmx5IHdoZW4KKyAgICAgICAgYW4gYWN0dWFsIGNvbG9yIGhhcyBiZWVu
IHBhcnNlZC4gSW4gdGhlIHByb2Nlc3Mgb2YgbWFraW5nIHRoaXMgY2hhbmdlCisgICAgICAgIGFu
b3RoZXIgYnVnIGNhbWUgdXAsIHdoZXJlICd0cmFuc3BhcmVudCcgb25seSBoYXBwZW5zIHRvIGJl
IHBhcnNlZCBhcworICAgICAgICAnMCcgYnkgQ1NTUGFyc2VyOjpwYXJzZUNvbG9yKCkgYmVjYXVz
ZSB0aGF0J3MgdGhlIGRlZmF1bHQgcmV0dXJuIHZhbHVlCisgICAgICAgIGZyb20gQ1NTUHJpbWl0
aXZlVmFsdWU6OmdldFJHQkEzMlZhbHVlKCkgd2hlbiB0aGUgcHJpbWl0aXZlIGlzIG5vdCBhCisg
ICAgICAgIENTU19SR0JDT0xPUiwgc28gdGhlIHBhdGNoIGVuc3VyZXMgdGhhdCAndHJhbnNwYXJl
bnQnIGlzIHBhcnNlZCBhcyBhCisgICAgICAgIHByb3BlciBjb2xvciBieSBhZGRpbmcgaXQgdG8g
dGhlIENvbG9yRGF0YS5ncGVyZiBmaWxlLgorCisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlQ29sb3IpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjpwYXJzZVN5c3RlbUNvbG9yKToKKyAgICAgICAgKiBjc3MvQ1NTUGFy
c2VyLmg6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6c2V0U3Ryb2tl
Q29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpzZXRG
aWxsQ29sb3IpOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNhbnZhc1N0eWxlOjpjcmVhdGUpOgorICAgICAgICAqIGh0bWwvY2FudmFz
L0NhbnZhc1N0eWxlLmg6CisgICAgICAgICogcGxhdGZvcm0vQ29sb3JEYXRhLmdwZXJmOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNv
bG9yOjpDb2xvcik6CisgICAgICAgIChXZWJDb3JlOjpDb2xvcjo6c2V0TmFtZWRDb2xvcik6CisK
IDIwMTAtMDgtMTMgIExlYW5kcm8gUGVyZWlyYSAgPGxlYW5kcm9AcHJvZnVzaW9uLm1vYmk+CiAK
ICAgICAgICAgW0VGTF0gVW5yZXZpZXdlZCBidWlsZCBmaXguCkluZGV4OiBXZWJDb3JlL2Nzcy9D
U1NQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAJKHJl
dmlzaW9uIDY1MzM0KQorKysgV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNjUsNiArNjUsNyBAQAogI2luY2x1ZGUgIk1lZGlhUXVlcnlFeHAuaCIKICNpbmNsdWRl
ICJQYWlyLmgiCiAjaW5jbHVkZSAiUmVjdC5oIgorI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAj
aW5jbHVkZSAiU2hhZG93VmFsdWUuaCIKICNpbmNsdWRlICJXZWJLaXRDU1NLZXlmcmFtZVJ1bGUu
aCIKICNpbmNsdWRlICJXZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmgiCkBAIC0zMDUsNyArMzA2LDEx
IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUNvbG9yKFJHQkEzMiYgY29sb3IKICAgICBDU1NWYWx1
ZSogdmFsdWUgPSBwYXJzZXIubV9wYXJzZWRQcm9wZXJ0aWVzWzBdLT52YWx1ZSgpOwogICAgIGlm
ICh2YWx1ZS0+Y3NzVmFsdWVUeXBlKCkgPT0gQ1NTVmFsdWU6OkNTU19QUklNSVRJVkVfVkFMVUUp
IHsKICAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVlID0gc3RhdGljX2Nh
c3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPih2YWx1ZSk7Ci0gICAgICAgIGNvbG9yID0gcHJpbWl0aXZl
VmFsdWUtPmdldFJHQkEzMlZhbHVlKCk7CisgICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZS0+cHJp
bWl0aXZlVHlwZSgpID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUkdCQ09MT1IpIHsKKyAgICAg
ICAgICAgIGNvbG9yID0gcHJpbWl0aXZlVmFsdWUtPmdldFJHQkEzMlZhbHVlKCk7CisgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
fQogCiAgICAgcmV0dXJuIHRydWU7CkBAIC0zMjMsNiArMzI4LDIxIEBAIGJvb2wgQ1NTUGFyc2Vy
OjpwYXJzZUNvbG9yKENTU011dGFibGVTdHkKICAgICByZXR1cm4gKG1fbnVtUGFyc2VkUHJvcGVy
dGllcyAmJiBtX3BhcnNlZFByb3BlcnRpZXNbMF0tPm1faWQgPT0gQ1NTUHJvcGVydHlDb2xvcik7
CiB9CiAKK2Jvb2wgQ1NTUGFyc2VyOjpwYXJzZVN5c3RlbUNvbG9yKFJHQkEzMiYgY29sb3IsIGNv
bnN0IFN0cmluZyYgc3RyaW5nLCBQYXNzUmVmUHRyPFJlbmRlclRoZW1lPiB0aGVtZSkKK3sKKyAg
ICBSZWZQdHI8UmVuZGVyVGhlbWU+IHJlbmRlclRoZW1lKHRoZW1lKTsKKworICAgIENTU1BhcnNl
clN0cmluZyBjc3NDb2xvcjsKKyAgICBjc3NDb2xvci5jaGFyYWN0ZXJzID0gY29uc3RfY2FzdDxV
Q2hhcio+KHN0cmluZy5jaGFyYWN0ZXJzKCkpOworICAgIGNzc0NvbG9yLmxlbmd0aCA9IHN0cmlu
Zy5sZW5ndGgoKTsKKyAgICBpbnQgaWQgPSBjc3NWYWx1ZUtleXdvcmRJRChjc3NDb2xvcik7Cisg
ICAgaWYgKGlkID4gMCkgeworICAgICAgICBjb2xvciA9IHJlbmRlclRoZW1lLT5zeXN0ZW1Db2xv
cihpZCkucmdiKCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKIHZvaWQgQ1NTUGFyc2VyOjpwYXJzZVNlbGVjdG9yKGNvbnN0IFN0cmluZyYgc3Ry
aW5nLCBEb2N1bWVudCogZG9jLCBDU1NTZWxlY3Rvckxpc3QmIHNlbGVjdG9yTGlzdCkKIHsKICAg
ICBSZWZQdHI8Q1NTU3R5bGVTaGVldD4gZHVtbXlTdHlsZVNoZWV0ID0gQ1NTU3R5bGVTaGVldDo6
Y3JlYXRlKGRvYyk7CkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAkocmV2aXNpb24gNjUzMzQpCisrKyBXZWJDb3JlL2Nz
cy9DU1NQYXJzZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsNiArNDgsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgY2xhc3MgRG9jdW1lbnQ7CiAgICAgY2xhc3MgTWVkaWFMaXN0OwogICAg
IGNsYXNzIE1lZGlhUXVlcnlFeHA7CisgICAgY2xhc3MgUmVuZGVyVGhlbWU7CiAgICAgY2xhc3Mg
U3R5bGVCYXNlOwogICAgIGNsYXNzIFN0eWxlTGlzdDsKICAgICBjbGFzcyBXZWJLaXRDU1NLZXlm
cmFtZVJ1bGU7CkBAIC02NSw2ICs2Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
UGFzc1JlZlB0cjxDU1NSdWxlPiBwYXJzZUtleWZyYW1lUnVsZShDU1NTdHlsZVNoZWV0KiwgY29u
c3QgU3RyaW5nJik7CiAgICAgICAgIGJvb2wgcGFyc2VWYWx1ZShDU1NNdXRhYmxlU3R5bGVEZWNs
YXJhdGlvbiosIGludCBwcm9wSWQsIGNvbnN0IFN0cmluZyYsIGJvb2wgaW1wb3J0YW50KTsKICAg
ICAgICAgc3RhdGljIGJvb2wgcGFyc2VDb2xvcihSR0JBMzImIGNvbG9yLCBjb25zdCBTdHJpbmcm
LCBib29sIHN0cmljdCA9IGZhbHNlKTsKKyAgICAgICAgc3RhdGljIGJvb2wgcGFyc2VTeXN0ZW1D
b2xvcihSR0JBMzImIGNvbG9yLCBjb25zdCBTdHJpbmcmLCBQYXNzUmVmUHRyPFJlbmRlclRoZW1l
PiB0aGVtZSk7CiAgICAgICAgIGJvb2wgcGFyc2VDb2xvcihDU1NNdXRhYmxlU3R5bGVEZWNsYXJh
dGlvbiosIGNvbnN0IFN0cmluZyYpOwogICAgICAgICBib29sIHBhcnNlRGVjbGFyYXRpb24oQ1NT
TXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qLCBjb25zdCBTdHJpbmcmKTsKICAgICAgICAgYm9vbCBw
YXJzZU1lZGlhUXVlcnkoTWVkaWFMaXN0KiwgY29uc3QgU3RyaW5nJik7CkluZGV4OiBXZWJDb3Jl
L2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lv
biA2NTMzNCkKKysrIFdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTMsNiArNTMsNyBAQAogI2luY2x1ZGUgIktVUkwuaCIK
ICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVySFRNTENhbnZhcy5oIgorI2luY2x1
ZGUgIlJlbmRlclRoZW1lLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRl
ICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN0cm9rZVN0eWxlQXBwbGllci5oIgpAQCAtNTUwLDcg
KzU1MSwxMCBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6c2V0U3Ryb2tlCiB7CiAg
ICAgaWYgKGNvbG9yID09IHN0YXRlKCkubV91bnBhcnNlZFN0cm9rZUNvbG9yKQogICAgICAgICBy
ZXR1cm47Ci0gICAgc2V0U3Ryb2tlU3R5bGUoQ2FudmFzU3R5bGU6OmNyZWF0ZShjb2xvcikpOwor
ICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGNhbnZhcygpLT5kb2N1bWVudCgpOworICAgIFBhZ2Uq
IHBhZ2UgPSBkb2N1bWVudCA/IGRvY3VtZW50LT5wYWdlKCkgOiAwOworICAgIFJlZlB0cjxSZW5k
ZXJUaGVtZT4gdGhlbWUgPSBSZW5kZXJUaGVtZTo6dGhlbWVGb3JQYWdlKHBhZ2UpOworICAgIHNl
dFN0cm9rZVN0eWxlKENhbnZhc1N0eWxlOjpjcmVhdGUoY29sb3IsIHRoZW1lLnJlbGVhc2UoKSkp
OwogICAgIHN0YXRlKCkubV91bnBhcnNlZFN0cm9rZUNvbG9yID0gY29sb3I7CiB9CiAKQEAgLTU5
MSw3ICs1OTUsMTAgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnNldEZpbGxDbwog
ewogICAgIGlmIChjb2xvciA9PSBzdGF0ZSgpLm1fdW5wYXJzZWRGaWxsQ29sb3IpCiAgICAgICAg
IHJldHVybjsKLSAgICBzZXRGaWxsU3R5bGUoQ2FudmFzU3R5bGU6OmNyZWF0ZShjb2xvcikpOwor
ICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGNhbnZhcygpLT5kb2N1bWVudCgpOworICAgIFBhZ2Uq
IHBhZ2UgPSBkb2N1bWVudCA/IGRvY3VtZW50LT5wYWdlKCkgOiAwOworICAgIFJlZlB0cjxSZW5k
ZXJUaGVtZT4gdGhlbWUgPSBSZW5kZXJUaGVtZTo6dGhlbWVGb3JQYWdlKHBhZ2UpOworICAgIHNl
dEZpbGxTdHlsZShDYW52YXNTdHlsZTo6Y3JlYXRlKGNvbG9yLCB0aGVtZS5yZWxlYXNlKCkpKTsK
ICAgICBzdGF0ZSgpLm1fdW5wYXJzZWRGaWxsQ29sb3IgPSBjb2xvcjsKIH0KIApJbmRleDogV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9o
dG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHAJKHJldmlzaW9uIDY1MzM0KQorKysgV2ViQ29yZS9o
dG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcg
QEAKICNpbmNsdWRlICJDYW52YXNHcmFkaWVudC5oIgogI2luY2x1ZGUgIkNhbnZhc1BhdHRlcm4u
aCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKKyNpbmNsdWRlICJSZW5kZXJUaGVtZS5o
IgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KIApAQCAtOTIsMTEgKzkzLDEzIEBAIENhbnZhc1N0eWxlOjpDYW52YXNTdHlsZShQYXNzUmVm
UHRyPENhbnYKIHsKIH0KIAotUGFzc1JlZlB0cjxDYW52YXNTdHlsZT4gQ2FudmFzU3R5bGU6OmNy
ZWF0ZShjb25zdCBTdHJpbmcmIGNvbG9yKQorUGFzc1JlZlB0cjxDYW52YXNTdHlsZT4gQ2FudmFz
U3R5bGU6OmNyZWF0ZShjb25zdCBTdHJpbmcmIGNvbG9yLCBQYXNzUmVmUHRyPFJlbmRlclRoZW1l
PiB0aGVtZSkKIHsKICAgICBSR0JBMzIgcmdiYTsKLSAgICBpZiAoIUNTU1BhcnNlcjo6cGFyc2VD
b2xvcihyZ2JhLCBjb2xvcikpCi0gICAgICAgIHJldHVybiAwOworICAgIGlmICghQ1NTUGFyc2Vy
OjpwYXJzZUNvbG9yKHJnYmEsIGNvbG9yKSkgeworICAgICAgICBpZiAoIXRoZW1lIHx8ICFDU1NQ
YXJzZXI6OnBhcnNlU3lzdGVtQ29sb3IocmdiYSwgY29sb3IsIHRoZW1lKSkKKyAgICAgICAgICAg
IHJldHVybiAwOworICAgIH0KICAgICByZXR1cm4gYWRvcHRSZWYobmV3IENhbnZhc1N0eWxlKHJn
YmEpKTsKIH0KIApJbmRleDogV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaAkocmV2aXNpb24gNjUz
MzQpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTM1LDExICszNSwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQ2FudmFz
R3JhZGllbnQ7CiAgICAgY2xhc3MgQ2FudmFzUGF0dGVybjsKICAgICBjbGFzcyBHcmFwaGljc0Nv
bnRleHQ7CisgICAgY2xhc3MgUmVuZGVyVGhlbWU7CiAKICAgICBjbGFzcyBDYW52YXNTdHlsZSA6
IHB1YmxpYyBSZWZDb3VudGVkPENhbnZhc1N0eWxlPiB7CiAgICAgcHVibGljOgogICAgICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxDYW52YXNTdHlsZT4gY3JlYXRlKFJHQkEzMiByZ2JhKSB7IHJldHVy
biBhZG9wdFJlZihuZXcgQ2FudmFzU3R5bGUocmdiYSkpOyB9Ci0gICAgICAgIHN0YXRpYyBQYXNz
UmVmUHRyPENhbnZhc1N0eWxlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBjb2xvcik7CisgICAgICAg
IHN0YXRpYyBQYXNzUmVmUHRyPENhbnZhc1N0eWxlPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBjb2xv
ciwgUGFzc1JlZlB0cjxSZW5kZXJUaGVtZT4gdGhlbWUgPSAwKTsKICAgICAgICAgc3RhdGljIFBh
c3NSZWZQdHI8Q2FudmFzU3R5bGU+IGNyZWF0ZShjb25zdCBTdHJpbmcmIGNvbG9yLCBmbG9hdCBh
bHBoYSk7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENhbnZhc1N0eWxlPiBjcmVhdGUoZmxv
YXQgZ3JheUxldmVsKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ2FudmFzU3R5bGUoZ3JheUxldmVs
KSk7IH0KICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2FudmFzU3R5bGU+IGNyZWF0ZShmbG9h
dCBncmF5TGV2ZWwsIGZsb2F0IGFscGhhKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ2FudmFzU3R5
bGUoZ3JheUxldmVsLCBhbHBoYSkpOyB9CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL0NvbG9yRGF0
YS5ncGVyZgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL0NvbG9yRGF0YS5ncGVyZgko
cmV2aXNpb24gNjUzMzQpCisrKyBXZWJDb3JlL3BsYXRmb3JtL0NvbG9yRGF0YS5ncGVyZgkod29y
a2luZyBjb3B5KQpAQCAtMSw3ICsxLDcgQEAKICVzdHJ1Y3QtdHlwZQogc3RydWN0IE5hbWVkQ29s
b3IgewogICAgIGNvbnN0IGNoYXIgKm5hbWU7Ci0gICAgaW50IFJHQlZhbHVlOworICAgIHVuc2ln
bmVkIGludCBBUkdCVmFsdWU7CiB9OwogJWxhbmd1YWdlPUFOU0ktQwogJXJlYWRvbmx5LXRhYmxl
cwpAQCAtMTIsMTUyICsxMiwxNTMgQEAgc3RydWN0IE5hbWVkQ29sb3IgewogJWluY2x1ZGVzCiAl
ZW51bQogJSUKLWFsaWNlYmx1ZSwgMHhmMGY4ZmYKLWFudGlxdWV3aGl0ZSwgMHhmYWViZDcKLWFx
dWEsIDB4MDBmZmZmCi1hcXVhbWFyaW5lLCAweDdmZmZkNAotYXp1cmUsIDB4ZjBmZmZmCi1iZWln
ZSwgMHhmNWY1ZGMKLWJpc3F1ZSwgMHhmZmU0YzQKLWJsYWNrLCAweDAwMDAwMAotYmxhbmNoZWRh
bG1vbmQsIDB4ZmZlYmNkCi1ibHVlLCAweDAwMDBmZgotYmx1ZXZpb2xldCwgMHg4YTJiZTIKLWJy
b3duLCAweGE1MmEyYQotYnVybHl3b29kLCAweGRlYjg4NwotY2FkZXRibHVlLCAweDVmOWVhMAot
Y2hhcnRyZXVzZSwgMHg3ZmZmMDAKLWNob2NvbGF0ZSwgMHhkMjY5MWUKLWNvcmFsLCAweGZmN2Y1
MAotY29ybmZsb3dlcmJsdWUsIDB4NjQ5NWVkCi1jb3Juc2lsaywgMHhmZmY4ZGMKLWNyaW1zb24s
IDB4ZGMxNDNjCi1jeWFuLCAweDAwZmZmZgotZGFya2JsdWUsIDB4MDAwMDhiCi1kYXJrY3lhbiwg
MHgwMDhiOGIKLWRhcmtnb2xkZW5yb2QsIDB4Yjg4NjBiCi1kYXJrZ3JheSwgMHhhOWE5YTkKLWRh
cmtncmV5LCAweGE5YTlhOQotZGFya2dyZWVuLCAweDAwNjQwMAotZGFya2toYWtpLCAweGJkYjc2
YgotZGFya21hZ2VudGEsIDB4OGIwMDhiCi1kYXJrb2xpdmVncmVlbiwgMHg1NTZiMmYKLWRhcmtv
cmFuZ2UsIDB4ZmY4YzAwCi1kYXJrb3JjaGlkLCAweDk5MzJjYwotZGFya3JlZCwgMHg4YjAwMDAK
LWRhcmtzYWxtb24sIDB4ZTk5NjdhCi1kYXJrc2VhZ3JlZW4sIDB4OGZiYzhmCi1kYXJrc2xhdGVi
bHVlLCAweDQ4M2Q4YgotZGFya3NsYXRlZ3JheSwgMHgyZjRmNGYKLWRhcmtzbGF0ZWdyZXksIDB4
MmY0ZjRmCi1kYXJrdHVycXVvaXNlLCAweDAwY2VkMQotZGFya3Zpb2xldCwgMHg5NDAwZDMKLWRl
ZXBwaW5rLCAweGZmMTQ5MwotZGVlcHNreWJsdWUsIDB4MDBiZmZmCi1kaW1ncmF5LCAweDY5Njk2
OQotZGltZ3JleSwgMHg2OTY5NjkKLWRvZGdlcmJsdWUsIDB4MWU5MGZmCi1maXJlYnJpY2ssIDB4
YjIyMjIyCi1mbG9yYWx3aGl0ZSwgMHhmZmZhZjAKLWZvcmVzdGdyZWVuLCAweDIyOGIyMgotZnVj
aHNpYSwgMHhmZjAwZmYKLWdhaW5zYm9ybywgMHhkY2RjZGMKLWdob3N0d2hpdGUsIDB4ZjhmOGZm
Ci1nb2xkLCAweGZmZDcwMAotZ29sZGVucm9kLCAweGRhYTUyMAotZ3JheSwgMHg4MDgwODAKLWdy
ZXksIDB4ODA4MDgwCi1ncmVlbiwgMHgwMDgwMDAKLWdyZWVueWVsbG93LCAweGFkZmYyZgotaG9u
ZXlkZXcsIDB4ZjBmZmYwCi1ob3RwaW5rLCAweGZmNjliNAotaW5kaWFucmVkLCAweGNkNWM1Ywot
aW5kaWdvLCAweDRiMDA4MgotaXZvcnksIDB4ZmZmZmYwCi1raGFraSwgMHhmMGU2OGMKLWxhdmVu
ZGVyLCAweGU2ZTZmYQotbGF2ZW5kZXJibHVzaCwgMHhmZmYwZjUKLWxhd25ncmVlbiwgMHg3Y2Zj
MDAKLWxlbW9uY2hpZmZvbiwgMHhmZmZhY2QKLWxpZ2h0Ymx1ZSwgMHhhZGQ4ZTYKLWxpZ2h0Y29y
YWwsIDB4ZjA4MDgwCi1saWdodGN5YW4sIDB4ZTBmZmZmCi1saWdodGdvbGRlbnJvZHllbGxvdywg
MHhmYWZhZDIKLWxpZ2h0Z3JheSwgMHhkM2QzZDMKLWxpZ2h0Z3JleSwgMHhkM2QzZDMKLWxpZ2h0
Z3JlZW4sIDB4OTBlZTkwCi1saWdodHBpbmssIDB4ZmZiNmMxCi1saWdodHNhbG1vbiwgMHhmZmEw
N2EKLWxpZ2h0c2VhZ3JlZW4sIDB4MjBiMmFhCi1saWdodHNreWJsdWUsIDB4ODdjZWZhCi1saWdo
dHNsYXRlYmx1ZSwgMHg4NDcwZmYKLWxpZ2h0c2xhdGVncmF5LCAweDc3ODg5OQotbGlnaHRzbGF0
ZWdyZXksIDB4Nzc4ODk5Ci1saWdodHN0ZWVsYmx1ZSwgMHhiMGM0ZGUKLWxpZ2h0eWVsbG93LCAw
eGZmZmZlMAotbGltZSwgMHgwMGZmMDAKLWxpbWVncmVlbiwgMHgzMmNkMzIKLWxpbmVuLCAweGZh
ZjBlNgotbWFnZW50YSwgMHhmZjAwZmYKLW1hcm9vbiwgMHg4MDAwMDAKLW1lZGl1bWFxdWFtYXJp
bmUsIDB4NjZjZGFhCi1tZWRpdW1ibHVlLCAweDAwMDBjZAotbWVkaXVtb3JjaGlkLCAweGJhNTVk
MwotbWVkaXVtcHVycGxlLCAweDkzNzBkOAotbWVkaXVtc2VhZ3JlZW4sIDB4M2NiMzcxCi1tZWRp
dW1zbGF0ZWJsdWUsIDB4N2I2OGVlCi1tZWRpdW1zcHJpbmdncmVlbiwgMHgwMGZhOWEKLW1lZGl1
bXR1cnF1b2lzZSwgMHg0OGQxY2MKLW1lZGl1bXZpb2xldHJlZCwgMHhjNzE1ODUKLW1pZG5pZ2h0
Ymx1ZSwgMHgxOTE5NzAKLW1pbnRjcmVhbSwgMHhmNWZmZmEKLW1pc3R5cm9zZSwgMHhmZmU0ZTEK
LW1vY2Nhc2luLCAweGZmZTRiNQotbmF2YWpvd2hpdGUsIDB4ZmZkZWFkCi1uYXZ5LCAweDAwMDA4
MAotb2xkbGFjZSwgMHhmZGY1ZTYKLW9saXZlLCAweDgwODAwMAotb2xpdmVkcmFiLCAweDZiOGUy
Mwotb3JhbmdlLCAweGZmYTUwMAotb3JhbmdlcmVkLCAweGZmNDUwMAotb3JjaGlkLCAweGRhNzBk
NgotcGFsZWdvbGRlbnJvZCwgMHhlZWU4YWEKLXBhbGVncmVlbiwgMHg5OGZiOTgKLXBhbGV0dXJx
dW9pc2UsIDB4YWZlZWVlCi1wYWxldmlvbGV0cmVkLCAweGQ4NzA5MwotcGFwYXlhd2hpcCwgMHhm
ZmVmZDUKLXBlYWNocHVmZiwgMHhmZmRhYjkKLXBlcnUsIDB4Y2Q4NTNmCi1waW5rLCAweGZmYzBj
YgotcGx1bSwgMHhkZGEwZGQKLXBvd2RlcmJsdWUsIDB4YjBlMGU2Ci1wdXJwbGUsIDB4ODAwMDgw
Ci1yZWQsIDB4ZmYwMDAwCi1yb3N5YnJvd24sIDB4YmM4ZjhmCi1yb3lhbGJsdWUsIDB4NDE2OWUx
Ci1zYWRkbGVicm93biwgMHg4YjQ1MTMKLXNhbG1vbiwgMHhmYTgwNzIKLXNhbmR5YnJvd24sIDB4
ZjRhNDYwCi1zZWFncmVlbiwgMHgyZThiNTcKLXNlYXNoZWxsLCAweGZmZjVlZQotc2llbm5hLCAw
eGEwNTIyZAotc2lsdmVyLCAweGMwYzBjMAotc2t5Ymx1ZSwgMHg4N2NlZWIKLXNsYXRlYmx1ZSwg
MHg2YTVhY2QKLXNsYXRlZ3JheSwgMHg3MDgwOTAKLXNsYXRlZ3JleSwgMHg3MDgwOTAKLXNub3cs
IDB4ZmZmYWZhCi1zcHJpbmdncmVlbiwgMHgwMGZmN2YKLXN0ZWVsYmx1ZSwgMHg0NjgyYjQKLXRh
biwgMHhkMmI0OGMKLXRlYWwsIDB4MDA4MDgwCi10aGlzdGxlLCAweGQ4YmZkOAotdG9tYXRvLCAw
eGZmNjM0NwotdHVycXVvaXNlLCAweDQwZTBkMAotdmlvbGV0LCAweGVlODJlZQotdmlvbGV0cmVk
LCAweGQwMjA5MAotd2hlYXQsIDB4ZjVkZWIzCi13aGl0ZSwgMHhmZmZmZmYKLXdoaXRlc21va2Us
IDB4ZjVmNWY1Ci15ZWxsb3csIDB4ZmZmZjAwCi15ZWxsb3dncmVlbiwgMHg5YWNkMzIKK2FsaWNl
Ymx1ZSwgMHhmZmYwZjhmZgorYW50aXF1ZXdoaXRlLCAweGZmZmFlYmQ3CithcXVhLCAweGZmMDBm
ZmZmCithcXVhbWFyaW5lLCAweGZmN2ZmZmQ0CithenVyZSwgMHhmZmYwZmZmZgorYmVpZ2UsIDB4
ZmZmNWY1ZGMKK2Jpc3F1ZSwgMHhmZmZmZTRjNAorYmxhY2ssIDB4ZmYwMDAwMDAKK2JsYW5jaGVk
YWxtb25kLCAweGZmZmZlYmNkCitibHVlLCAweGZmMDAwMGZmCitibHVldmlvbGV0LCAweGZmOGEy
YmUyCiticm93biwgMHhmZmE1MmEyYQorYnVybHl3b29kLCAweGZmZGViODg3CitjYWRldGJsdWUs
IDB4ZmY1ZjllYTAKK2NoYXJ0cmV1c2UsIDB4ZmY3ZmZmMDAKK2Nob2NvbGF0ZSwgMHhmZmQyNjkx
ZQorY29yYWwsIDB4ZmZmZjdmNTAKK2Nvcm5mbG93ZXJibHVlLCAweGZmNjQ5NWVkCitjb3Juc2ls
aywgMHhmZmZmZjhkYworY3JpbXNvbiwgMHhmZmRjMTQzYworY3lhbiwgMHhmZjAwZmZmZgorZGFy
a2JsdWUsIDB4ZmYwMDAwOGIKK2RhcmtjeWFuLCAweGZmMDA4YjhiCitkYXJrZ29sZGVucm9kLCAw
eGZmYjg4NjBiCitkYXJrZ3JheSwgMHhmZmE5YTlhOQorZGFya2dyZXksIDB4ZmZhOWE5YTkKK2Rh
cmtncmVlbiwgMHhmZjAwNjQwMAorZGFya2toYWtpLCAweGZmYmRiNzZiCitkYXJrbWFnZW50YSwg
MHhmZjhiMDA4YgorZGFya29saXZlZ3JlZW4sIDB4ZmY1NTZiMmYKK2RhcmtvcmFuZ2UsIDB4ZmZm
ZjhjMDAKK2RhcmtvcmNoaWQsIDB4ZmY5OTMyY2MKK2RhcmtyZWQsIDB4ZmY4YjAwMDAKK2Rhcmtz
YWxtb24sIDB4ZmZlOTk2N2EKK2RhcmtzZWFncmVlbiwgMHhmZjhmYmM4ZgorZGFya3NsYXRlYmx1
ZSwgMHhmZjQ4M2Q4YgorZGFya3NsYXRlZ3JheSwgMHhmZjJmNGY0ZgorZGFya3NsYXRlZ3JleSwg
MHhmZjJmNGY0ZgorZGFya3R1cnF1b2lzZSwgMHhmZjAwY2VkMQorZGFya3Zpb2xldCwgMHhmZjk0
MDBkMworZGVlcHBpbmssIDB4ZmZmZjE0OTMKK2RlZXBza3libHVlLCAweGZmMDBiZmZmCitkaW1n
cmF5LCAweGZmNjk2OTY5CitkaW1ncmV5LCAweGZmNjk2OTY5Citkb2RnZXJibHVlLCAweGZmMWU5
MGZmCitmaXJlYnJpY2ssIDB4ZmZiMjIyMjIKK2Zsb3JhbHdoaXRlLCAweGZmZmZmYWYwCitmb3Jl
c3RncmVlbiwgMHhmZjIyOGIyMgorZnVjaHNpYSwgMHhmZmZmMDBmZgorZ2FpbnNib3JvLCAweGZm
ZGNkY2RjCitnaG9zdHdoaXRlLCAweGZmZjhmOGZmCitnb2xkLCAweGZmZmZkNzAwCitnb2xkZW5y
b2QsIDB4ZmZkYWE1MjAKK2dyYXksIDB4ZmY4MDgwODAKK2dyZXksIDB4ZmY4MDgwODAKK2dyZWVu
LCAweGZmMDA4MDAwCitncmVlbnllbGxvdywgMHhmZmFkZmYyZgoraG9uZXlkZXcsIDB4ZmZmMGZm
ZjAKK2hvdHBpbmssIDB4ZmZmZjY5YjQKK2luZGlhbnJlZCwgMHhmZmNkNWM1YworaW5kaWdvLCAw
eGZmNGIwMDgyCitpdm9yeSwgMHhmZmZmZmZmMAora2hha2ksIDB4ZmZmMGU2OGMKK2xhdmVuZGVy
LCAweGZmZTZlNmZhCitsYXZlbmRlcmJsdXNoLCAweGZmZmZmMGY1CitsYXduZ3JlZW4sIDB4ZmY3
Y2ZjMDAKK2xlbW9uY2hpZmZvbiwgMHhmZmZmZmFjZAorbGlnaHRibHVlLCAweGZmYWRkOGU2Cits
aWdodGNvcmFsLCAweGZmZjA4MDgwCitsaWdodGN5YW4sIDB4ZmZlMGZmZmYKK2xpZ2h0Z29sZGVu
cm9keWVsbG93LCAweGZmZmFmYWQyCitsaWdodGdyYXksIDB4ZmZkM2QzZDMKK2xpZ2h0Z3JleSwg
MHhmZmQzZDNkMworbGlnaHRncmVlbiwgMHhmZjkwZWU5MAorbGlnaHRwaW5rLCAweGZmZmZiNmMx
CitsaWdodHNhbG1vbiwgMHhmZmZmYTA3YQorbGlnaHRzZWFncmVlbiwgMHhmZjIwYjJhYQorbGln
aHRza3libHVlLCAweGZmODdjZWZhCitsaWdodHNsYXRlYmx1ZSwgMHhmZjg0NzBmZgorbGlnaHRz
bGF0ZWdyYXksIDB4ZmY3Nzg4OTkKK2xpZ2h0c2xhdGVncmV5LCAweGZmNzc4ODk5CitsaWdodHN0
ZWVsYmx1ZSwgMHhmZmIwYzRkZQorbGlnaHR5ZWxsb3csIDB4ZmZmZmZmZTAKK2xpbWUsIDB4ZmYw
MGZmMDAKK2xpbWVncmVlbiwgMHhmZjMyY2QzMgorbGluZW4sIDB4ZmZmYWYwZTYKK21hZ2VudGEs
IDB4ZmZmZjAwZmYKK21hcm9vbiwgMHhmZjgwMDAwMAorbWVkaXVtYXF1YW1hcmluZSwgMHhmZjY2
Y2RhYQorbWVkaXVtYmx1ZSwgMHhmZjAwMDBjZAorbWVkaXVtb3JjaGlkLCAweGZmYmE1NWQzCitt
ZWRpdW1wdXJwbGUsIDB4ZmY5MzcwZDgKK21lZGl1bXNlYWdyZWVuLCAweGZmM2NiMzcxCittZWRp
dW1zbGF0ZWJsdWUsIDB4ZmY3YjY4ZWUKK21lZGl1bXNwcmluZ2dyZWVuLCAweGZmMDBmYTlhCitt
ZWRpdW10dXJxdW9pc2UsIDB4ZmY0OGQxY2MKK21lZGl1bXZpb2xldHJlZCwgMHhmZmM3MTU4NQor
bWlkbmlnaHRibHVlLCAweGZmMTkxOTcwCittaW50Y3JlYW0sIDB4ZmZmNWZmZmEKK21pc3R5cm9z
ZSwgMHhmZmZmZTRlMQorbW9jY2FzaW4sIDB4ZmZmZmU0YjUKK25hdmFqb3doaXRlLCAweGZmZmZk
ZWFkCituYXZ5LCAweGZmMDAwMDgwCitvbGRsYWNlLCAweGZmZmRmNWU2CitvbGl2ZSwgMHhmZjgw
ODAwMAorb2xpdmVkcmFiLCAweGZmNmI4ZTIzCitvcmFuZ2UsIDB4ZmZmZmE1MDAKK29yYW5nZXJl
ZCwgMHhmZmZmNDUwMAorb3JjaGlkLCAweGZmZGE3MGQ2CitwYWxlZ29sZGVucm9kLCAweGZmZWVl
OGFhCitwYWxlZ3JlZW4sIDB4ZmY5OGZiOTgKK3BhbGV0dXJxdW9pc2UsIDB4ZmZhZmVlZWUKK3Bh
bGV2aW9sZXRyZWQsIDB4ZmZkODcwOTMKK3BhcGF5YXdoaXAsIDB4ZmZmZmVmZDUKK3BlYWNocHVm
ZiwgMHhmZmZmZGFiOQorcGVydSwgMHhmZmNkODUzZgorcGluaywgMHhmZmZmYzBjYgorcGx1bSwg
MHhmZmRkYTBkZAorcG93ZGVyYmx1ZSwgMHhmZmIwZTBlNgorcHVycGxlLCAweGZmODAwMDgwCity
ZWQsIDB4ZmZmZjAwMDAKK3Jvc3licm93biwgMHhmZmJjOGY4Zgorcm95YWxibHVlLCAweGZmNDE2
OWUxCitzYWRkbGVicm93biwgMHhmZjhiNDUxMworc2FsbW9uLCAweGZmZmE4MDcyCitzYW5keWJy
b3duLCAweGZmZjRhNDYwCitzZWFncmVlbiwgMHhmZjJlOGI1Nworc2Vhc2hlbGwsIDB4ZmZmZmY1
ZWUKK3NpZW5uYSwgMHhmZmEwNTIyZAorc2lsdmVyLCAweGZmYzBjMGMwCitza3libHVlLCAweGZm
ODdjZWViCitzbGF0ZWJsdWUsIDB4ZmY2YTVhY2QKK3NsYXRlZ3JheSwgMHhmZjcwODA5MAorc2xh
dGVncmV5LCAweGZmNzA4MDkwCitzbm93LCAweGZmZmZmYWZhCitzcHJpbmdncmVlbiwgMHhmZjAw
ZmY3Zgorc3RlZWxibHVlLCAweGZmNDY4MmI0Cit0YW4sIDB4ZmZkMmI0OGMKK3RlYWwsIDB4ZmYw
MDgwODAKK3RoaXN0bGUsIDB4ZmZkOGJmZDgKK3RvbWF0bywgMHhmZmZmNjM0NwordHJhbnNwYXJl
bnQsIDB4MDAwMDAwMDAKK3R1cnF1b2lzZSwgMHhmZjQwZTBkMAordmlvbGV0LCAweGZmZWU4MmVl
Cit2aW9sZXRyZWQsIDB4ZmZkMDIwOTAKK3doZWF0LCAweGZmZjVkZWIzCit3aGl0ZSwgMHhmZmZm
ZmZmZgord2hpdGVzbW9rZSwgMHhmZmY1ZjVmNQoreWVsbG93LCAweGZmZmZmZjAwCit5ZWxsb3dn
cmVlbiwgMHhmZjlhY2QzMgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5jcHAJKHJl
dmlzaW9uIDY1MzM0KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE3Niw4ICsxNzYsNyBAQCBDb2xvcjo6Q29sb3IoY29uc3QgY2hhciog
bmFtZSkKICAgICAgICAgbV92YWxpZCA9IHBhcnNlSGV4Q29sb3IoJm5hbWVbMV0sIG1fY29sb3Ip
OwogICAgIGVsc2UgewogICAgICAgICBjb25zdCBOYW1lZENvbG9yKiBmb3VuZENvbG9yID0gZmlu
ZENvbG9yKG5hbWUsIHN0cmxlbihuYW1lKSk7Ci0gICAgICAgIG1fY29sb3IgPSBmb3VuZENvbG9y
ID8gZm91bmRDb2xvci0+UkdCVmFsdWUgOiAwOwotICAgICAgICBtX2NvbG9yIHw9IDB4RkYwMDAw
MDA7CisgICAgICAgIG1fY29sb3IgPSBmb3VuZENvbG9yID8gZm91bmRDb2xvci0+QVJHQlZhbHVl
IDogMDsKICAgICAgICAgbV92YWxpZCA9IGZvdW5kQ29sb3I7CiAgICAgfQogfQpAQCAtMjIwLDgg
KzIxOSw3IEBAIHN0YXRpYyBpbmxpbmUgY29uc3QgTmFtZWRDb2xvciogZmluZE5hbWUKIHZvaWQg
Q29sb3I6OnNldE5hbWVkQ29sb3IoY29uc3QgU3RyaW5nJiBuYW1lKQogewogICAgIGNvbnN0IE5h
bWVkQ29sb3IqIGZvdW5kQ29sb3IgPSBmaW5kTmFtZWRDb2xvcihuYW1lKTsKLSAgICBtX2NvbG9y
ID0gZm91bmRDb2xvciA/IGZvdW5kQ29sb3ItPlJHQlZhbHVlIDogMDsKLSAgICBtX2NvbG9yIHw9
IDB4RkYwMDAwMDA7CisgICAgbV9jb2xvciA9IGZvdW5kQ29sb3IgPyBmb3VuZENvbG9yLT5BUkdC
VmFsdWUgOiAwOwogICAgIG1fdmFsaWQgPSBmb3VuZENvbG9yOwogfQogCkluZGV4OiBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiA2NTMzNykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDEzIEBACisyMDEwLTA4LTEzICBKYW4gRXJpayBIYW5zc2VuICA8amhhbnNzZW5AY29k
ZWF1cm9yYS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRW5hYmxlIHRoZSBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmZpbGxTdHlsZS5wYXJzZS5z
eXN0ZW0uaHRtbCB0ZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zOTE2OAorCisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6CisgICAgICAg
ICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKwogMjAxMC0wOC0xMyAgQ2hyaXMgRmxlaXphY2ggIDxj
ZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBpc05hdGl2ZUNoZWNrYm94IGRvZXMg
bm90IHdvcmsgYXMgYWR2ZXJ0aXNlZApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Nr
aXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQJKHJl
dmlzaW9uIDY1MzM0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQJKHdvcmtp
bmcgY29weSkKQEAgLTE4NSw3ICsxODUsNiBAQCBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmRyYXdJ
bWFnZS5udWxsLmh0CiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmZpbGxTdHlsZS5wYXJzZS5jdXJy
ZW50LmJhc2ljLmh0bWwKIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZmlsbFN0eWxlLnBhcnNlLmN1
cnJlbnQuY2hhbmdlZC5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5jdXJyZW50LnJlbW92ZWQuaHRtbAotY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5maWxsU3R5bGUu
cGFyc2Uuc3lzdGVtLmh0bWwKIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZ3JhZGllbnQucmFkaWFs
LmNvbmUuZnJvbnQuaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5ncmFkaWVudC5yYWRpYWwu
Y29uZS50b3AuaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5ncmFkaWVudC5yYWRpYWwuaW5z
aWRlMi5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQJKHJldmlzaW9uIDY1MzM0KQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAkod29ya2luZyBjb3B5KQpAQCAtNTI2
MCw3ICs1MjYwLDYgQEAgY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5kcmF3SW1hZ2UubnVsbC5odAog
Y2FudmFzL3BoaWxpcC90ZXN0cy8yZC5maWxsU3R5bGUucGFyc2UuY3VycmVudC5iYXNpYy5odG1s
CiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmZpbGxTdHlsZS5wYXJzZS5jdXJyZW50LmNoYW5nZWQu
aHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5maWxsU3R5bGUucGFyc2UuY3VycmVudC5yZW1v
dmVkLmh0bWwKLWNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZmlsbFN0eWxlLnBhcnNlLnN5c3RlbS5o
dG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJlaGluZC5o
dG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJlc2lkZS5o
dG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJvdHRvbS5o
dG1sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64752</attachid>
            <date>2010-08-18 12:13:21 -0700</date>
            <delta_ts>2010-09-07 16:53:51 -0700</delta_ts>
            <desc>Proposed patch v4</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>18395</size>
            <attacher name="Jan Erik Hanssen">jhanssen</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NTYyMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzQgQEAKKzIwMTAtMDgtMTggIEphbiBFcmlrIEhhbnNzZW4gIDxqaGFuc3NlbkBj
b2RlYXVyb3JhLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBQYXJzZSBzeXN0ZW0gY29sb3JzIGluIHRoZSBIVE1MNSBjYW52YXMgY29udGV4dC4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5MTY4CisK
KyAgICAgICAgVGhpcyBjaGFuZ2UgcmVxdWlyZXMgQ1NTUGFyc2VyOjpwYXJzZUNvbG9yKCkgdG8g
cmV0dXJuICd0cnVlJyBvbmx5IHdoZW4KKyAgICAgICAgYW4gYWN0dWFsIGNvbG9yIGhhcyBiZWVu
IHBhcnNlZC4gSW4gdGhlIHByb2Nlc3Mgb2YgbWFraW5nIHRoaXMgY2hhbmdlCisgICAgICAgIGFu
b3RoZXIgYnVnIGNhbWUgdXAsIHdoZXJlICd0cmFuc3BhcmVudCcgb25seSBoYXBwZW5zIHRvIGJl
IHBhcnNlZCBhcworICAgICAgICAnMCcgYnkgQ1NTUGFyc2VyOjpwYXJzZUNvbG9yKCkgYmVjYXVz
ZSB0aGF0J3MgdGhlIGRlZmF1bHQgcmV0dXJuIHZhbHVlCisgICAgICAgIGZyb20gQ1NTUHJpbWl0
aXZlVmFsdWU6OmdldFJHQkEzMlZhbHVlKCkgd2hlbiB0aGUgcHJpbWl0aXZlIGlzIG5vdCBhCisg
ICAgICAgIENTU19SR0JDT0xPUiwgc28gdGhlIHBhdGNoIGVuc3VyZXMgdGhhdCAndHJhbnNwYXJl
bnQnIGlzIHBhcnNlZCBhcyBhCisgICAgICAgIHByb3BlciBjb2xvciBieSBhZGRpbmcgaXQgdG8g
dGhlIENvbG9yRGF0YS5ncGVyZiBmaWxlLgorCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9t
L1Y4Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQ3VzdG9tLmNwcDoKKyAgICAgICAgKiBjc3MvQ1NT
UGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VDb2xvcik6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlU3lzdGVtQ29sb3IpOgorICAgICAgICAq
IGNzcy9DU1NQYXJzZXIuaDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
OjpzZXRTdHJva2VDb2xvcik6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQ6OnNldEZpbGxDb2xvcik6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzU3R5bGU6OmNyZWF0ZUZyb21TdHJpbmcpOgor
ICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmg6CisgICAgICAgICogcGxhdGZvcm0v
Q29sb3JEYXRhLmdwZXJmOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNvbG9yOjpDb2xvcik6CisgICAgICAgIChXZWJDb3JlOjpDb2xv
cjo6c2V0TmFtZWRDb2xvcik6CisKIDIwMTAtMDgtMTcgIFN0ZXBoZW4gV2hpdGUgIDxzZW5vcmJs
YW5jb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgpJ
bmRleDogV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkRDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQ3VzdG9tLmNwcAkocmV2aXNpb24gNjU2MTgpCisrKyBX
ZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREN1c3Rv
bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJDYW52YXNT
dHlsZS5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJGbG9hdFJlY3Qu
aCIKKyNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogCiAjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCiAj
aW5jbHVkZSAiVjhDYW52YXNHcmFkaWVudC5oIgpJbmRleDogV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCShyZXZpc2lvbiA2
NTYxOCkKKysrIFdlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY1
LDYgKzY1LDcgQEAKICNpbmNsdWRlICJNZWRpYVF1ZXJ5RXhwLmgiCiAjaW5jbHVkZSAiUGFpci5o
IgogI2luY2x1ZGUgIlJlY3QuaCIKKyNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogI2luY2x1ZGUg
IlNoYWRvd1ZhbHVlLmgiCiAjaW5jbHVkZSAiV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5j
bHVkZSAiV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5oIgpAQCAtMzA1LDcgKzMwNiwxMSBAQCBib29s
IENTU1BhcnNlcjo6cGFyc2VDb2xvcihSR0JBMzImIGNvbG9yCiAgICAgQ1NTVmFsdWUqIHZhbHVl
ID0gcGFyc2VyLm1fcGFyc2VkUHJvcGVydGllc1swXS0+dmFsdWUoKTsKICAgICBpZiAodmFsdWUt
PmNzc1ZhbHVlVHlwZSgpID09IENTU1ZhbHVlOjpDU1NfUFJJTUlUSVZFX1ZBTFVFKSB7CiAgICAg
ICAgIENTU1ByaW1pdGl2ZVZhbHVlKiBwcmltaXRpdmVWYWx1ZSA9IHN0YXRpY19jYXN0PENTU1By
aW1pdGl2ZVZhbHVlKj4odmFsdWUpOwotICAgICAgICBjb2xvciA9IHByaW1pdGl2ZVZhbHVlLT5n
ZXRSR0JBMzJWYWx1ZSgpOworICAgICAgICBpZiAocHJpbWl0aXZlVmFsdWUtPnByaW1pdGl2ZVR5
cGUoKSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1JHQkNPTE9SKSB7CisgICAgICAgICAgICBj
b2xvciA9IHByaW1pdGl2ZVZhbHVlLT5nZXRSR0JBMzJWYWx1ZSgpOworICAgICAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAogICAg
IHJldHVybiB0cnVlOwpAQCAtMzIzLDYgKzMyOCwyMSBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VD
b2xvcihDU1NNdXRhYmxlU3R5CiAgICAgcmV0dXJuIChtX251bVBhcnNlZFByb3BlcnRpZXMgJiYg
bV9wYXJzZWRQcm9wZXJ0aWVzWzBdLT5tX2lkID09IENTU1Byb3BlcnR5Q29sb3IpOwogfQogCiti
b29sIENTU1BhcnNlcjo6cGFyc2VTeXN0ZW1Db2xvcihSR0JBMzImIGNvbG9yLCBjb25zdCBTdHJp
bmcmIHN0cmluZywgUGFzc1JlZlB0cjxSZW5kZXJUaGVtZT4gdGhlbWUpCit7CisgICAgUmVmUHRy
PFJlbmRlclRoZW1lPiByZW5kZXJUaGVtZSh0aGVtZSk7CisKKyAgICBDU1NQYXJzZXJTdHJpbmcg
Y3NzQ29sb3I7CisgICAgY3NzQ29sb3IuY2hhcmFjdGVycyA9IGNvbnN0X2Nhc3Q8VUNoYXIqPihz
dHJpbmcuY2hhcmFjdGVycygpKTsKKyAgICBjc3NDb2xvci5sZW5ndGggPSBzdHJpbmcubGVuZ3Ro
KCk7CisgICAgaW50IGlkID0gY3NzVmFsdWVLZXl3b3JkSUQoY3NzQ29sb3IpOworICAgIGlmIChp
ZCA+IDApIHsKKyAgICAgICAgY29sb3IgPSByZW5kZXJUaGVtZS0+c3lzdGVtQ29sb3IoaWQpLnJn
YigpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQor
CiB2b2lkIENTU1BhcnNlcjo6cGFyc2VTZWxlY3Rvcihjb25zdCBTdHJpbmcmIHN0cmluZywgRG9j
dW1lbnQqIGRvYywgQ1NTU2VsZWN0b3JMaXN0JiBzZWxlY3Rvckxpc3QpCiB7CiAgICAgUmVmUHRy
PENTU1N0eWxlU2hlZXQ+IGR1bW15U3R5bGVTaGVldCA9IENTU1N0eWxlU2hlZXQ6OmNyZWF0ZShk
b2MpOwpJbmRleDogV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9jc3MvQ1NTUGFyc2VyLmgJKHJldmlzaW9uIDY1NjE4KQorKysgV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDYgKzQ4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGNsYXNzIERvY3VtZW50OwogICAgIGNsYXNzIE1lZGlhTGlzdDsKICAgICBjbGFzcyBN
ZWRpYVF1ZXJ5RXhwOworICAgIGNsYXNzIFJlbmRlclRoZW1lOwogICAgIGNsYXNzIFN0eWxlQmFz
ZTsKICAgICBjbGFzcyBTdHlsZUxpc3Q7CiAgICAgY2xhc3MgV2ViS2l0Q1NTS2V5ZnJhbWVSdWxl
OwpAQCAtNjUsNiArNjYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFBhc3NSZWZQ
dHI8Q1NTUnVsZT4gcGFyc2VLZXlmcmFtZVJ1bGUoQ1NTU3R5bGVTaGVldCosIGNvbnN0IFN0cmlu
ZyYpOwogICAgICAgICBib29sIHBhcnNlVmFsdWUoQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24q
LCBpbnQgcHJvcElkLCBjb25zdCBTdHJpbmcmLCBib29sIGltcG9ydGFudCk7CiAgICAgICAgIHN0
YXRpYyBib29sIHBhcnNlQ29sb3IoUkdCQTMyJiBjb2xvciwgY29uc3QgU3RyaW5nJiwgYm9vbCBz
dHJpY3QgPSBmYWxzZSk7CisgICAgICAgIHN0YXRpYyBib29sIHBhcnNlU3lzdGVtQ29sb3IoUkdC
QTMyJiBjb2xvciwgY29uc3QgU3RyaW5nJiwgUGFzc1JlZlB0cjxSZW5kZXJUaGVtZT4gdGhlbWUp
OwogICAgICAgICBib29sIHBhcnNlQ29sb3IoQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qLCBj
b25zdCBTdHJpbmcmKTsKICAgICAgICAgYm9vbCBwYXJzZURlY2xhcmF0aW9uKENTU011dGFibGVT
dHlsZURlY2xhcmF0aW9uKiwgY29uc3QgU3RyaW5nJik7CiAgICAgICAgIGJvb2wgcGFyc2VNZWRp
YVF1ZXJ5KE1lZGlhTGlzdCosIGNvbnN0IFN0cmluZyYpOwpJbmRleDogV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
aHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAkocmV2aXNpb24gNjU2MTgp
CisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTUzLDYgKzUzLDcgQEAKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVk
ZSAiUGFnZS5oIgogI2luY2x1ZGUgIlJlbmRlckhUTUxDYW52YXMuaCIKKyNpbmNsdWRlICJSZW5k
ZXJUaGVtZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2V0dGlu
Z3MuaCIKICNpbmNsdWRlICJTdHJva2VTdHlsZUFwcGxpZXIuaCIKQEAgLTU1MCw3ICs1NTEsMTAg
QEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnNldFN0cm9rZQogewogICAgIGlmIChj
b2xvciA9PSBzdGF0ZSgpLm1fdW5wYXJzZWRTdHJva2VDb2xvcikKICAgICAgICAgcmV0dXJuOwot
ICAgIHNldFN0cm9rZVN0eWxlKENhbnZhc1N0eWxlOjpjcmVhdGVGcm9tU3RyaW5nKGNvbG9yKSk7
CisgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gY2FudmFzKCktPmRvY3VtZW50KCk7CisgICAgUGFn
ZSogcGFnZSA9IGRvY3VtZW50ID8gZG9jdW1lbnQtPnBhZ2UoKSA6IDA7CisgICAgUmVmUHRyPFJl
bmRlclRoZW1lPiB0aGVtZSA9IFJlbmRlclRoZW1lOjp0aGVtZUZvclBhZ2UocGFnZSk7CisgICAg
c2V0U3Ryb2tlU3R5bGUoQ2FudmFzU3R5bGU6OmNyZWF0ZUZyb21TdHJpbmcoY29sb3IsIHRoZW1l
LnJlbGVhc2UoKSkpOwogICAgIHN0YXRlKCkubV91bnBhcnNlZFN0cm9rZUNvbG9yID0gY29sb3I7
CiB9CiAKQEAgLTU5MSw3ICs1OTUsMTAgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6
OnNldEZpbGxDbwogewogICAgIGlmIChjb2xvciA9PSBzdGF0ZSgpLm1fdW5wYXJzZWRGaWxsQ29s
b3IpCiAgICAgICAgIHJldHVybjsKLSAgICBzZXRGaWxsU3R5bGUoQ2FudmFzU3R5bGU6OmNyZWF0
ZUZyb21TdHJpbmcoY29sb3IpKTsKKyAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBjYW52YXMoKS0+
ZG9jdW1lbnQoKTsKKyAgICBQYWdlKiBwYWdlID0gZG9jdW1lbnQgPyBkb2N1bWVudC0+cGFnZSgp
IDogMDsKKyAgICBSZWZQdHI8UmVuZGVyVGhlbWU+IHRoZW1lID0gUmVuZGVyVGhlbWU6OnRoZW1l
Rm9yUGFnZShwYWdlKTsKKyAgICBzZXRGaWxsU3R5bGUoQ2FudmFzU3R5bGU6OmNyZWF0ZUZyb21T
dHJpbmcoY29sb3IsIHRoZW1lLnJlbGVhc2UoKSkpOwogICAgIHN0YXRlKCkubV91bnBhcnNlZEZp
bGxDb2xvciA9IGNvbG9yOwogfQogCkluZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0
eWxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNw
cAkocmV2aXNpb24gNjU2MTgpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkNhbnZhc0dyYWRp
ZW50LmgiCiAjaW5jbHVkZSAiQ2FudmFzUGF0dGVybi5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29u
dGV4dC5oIgorI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlv
bnMuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCkBAIC04NiwxMSArODcsMTMgQEAg
Q2FudmFzU3R5bGU6OkNhbnZhc1N0eWxlKFBhc3NSZWZQdHI8Q2FudgogewogfQogCi1QYXNzUmVm
UHRyPENhbnZhc1N0eWxlPiBDYW52YXNTdHlsZTo6Y3JlYXRlRnJvbVN0cmluZyhjb25zdCBTdHJp
bmcmIGNvbG9yKQorUGFzc1JlZlB0cjxDYW52YXNTdHlsZT4gQ2FudmFzU3R5bGU6OmNyZWF0ZUZy
b21TdHJpbmcoY29uc3QgU3RyaW5nJiBjb2xvciwgUGFzc1JlZlB0cjxSZW5kZXJUaGVtZT4gdGhl
bWUpCiB7CiAgICAgUkdCQTMyIHJnYmE7Ci0gICAgaWYgKCFDU1NQYXJzZXI6OnBhcnNlQ29sb3Io
cmdiYSwgY29sb3IpKQotICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAoIUNTU1BhcnNlcjo6cGFy
c2VDb2xvcihyZ2JhLCBjb2xvcikpIHsKKyAgICAgICAgaWYgKCF0aGVtZSB8fCAhQ1NTUGFyc2Vy
OjpwYXJzZVN5c3RlbUNvbG9yKHJnYmEsIGNvbG9yLCB0aGVtZSkpCisgICAgICAgICAgICByZXR1
cm4gMDsKKyAgICB9CiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYW52YXNTdHlsZShyZ2JhKSk7
CiB9CiAKSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmgJKHJldmlzaW9uIDY1NjE4KQor
KysgV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0z
NSwxMSArMzUsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIENhbnZhc0dyYWRp
ZW50OwogICAgIGNsYXNzIENhbnZhc1BhdHRlcm47CiAgICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0
OworICAgIGNsYXNzIFJlbmRlclRoZW1lOwogCiAgICAgY2xhc3MgQ2FudmFzU3R5bGUgOiBwdWJs
aWMgUmVmQ291bnRlZDxDYW52YXNTdHlsZT4gewogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8Q2FudmFzU3R5bGU+IGNyZWF0ZUZyb21SR0JBKFJHQkEzMiByZ2JhKSB7IHJl
dHVybiBhZG9wdFJlZihuZXcgQ2FudmFzU3R5bGUocmdiYSkpOyB9Ci0gICAgICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPENhbnZhc1N0eWxlPiBjcmVhdGVGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgY29s
b3IpOworICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDYW52YXNTdHlsZT4gY3JlYXRlRnJvbVN0
cmluZyhjb25zdCBTdHJpbmcmIGNvbG9yLCBQYXNzUmVmUHRyPFJlbmRlclRoZW1lPiB0aGVtZSA9
IDApOwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDYW52YXNTdHlsZT4gY3JlYXRlRnJvbVN0
cmluZ1dpdGhPdmVycmlkZUFscGhhKGNvbnN0IFN0cmluZyYgY29sb3IsIGZsb2F0IGFscGhhKTsK
ICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2FudmFzU3R5bGU+IGNyZWF0ZUZyb21HcmF5TGV2
ZWxXaXRoQWxwaGEoZmxvYXQgZ3JheUxldmVsLCBmbG9hdCBhbHBoYSkgeyByZXR1cm4gYWRvcHRS
ZWYobmV3IENhbnZhc1N0eWxlKGdyYXlMZXZlbCwgYWxwaGEpKTsgfQogICAgICAgICBzdGF0aWMg
UGFzc1JlZlB0cjxDYW52YXNTdHlsZT4gY3JlYXRlRnJvbVJHQkFDaGFubmVscyhmbG9hdCByLCBm
bG9hdCBnLCBmbG9hdCBiLCBmbG9hdCBhKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ2FudmFzU3R5
bGUociwgZywgYiwgYSkpOyB9CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL0NvbG9yRGF0YS5ncGVy
Zgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL0NvbG9yRGF0YS5ncGVyZgkocmV2aXNp
b24gNjU2MTgpCisrKyBXZWJDb3JlL3BsYXRmb3JtL0NvbG9yRGF0YS5ncGVyZgkod29ya2luZyBj
b3B5KQpAQCAtMSw3ICsxLDcgQEAKICVzdHJ1Y3QtdHlwZQogc3RydWN0IE5hbWVkQ29sb3Igewog
ICAgIGNvbnN0IGNoYXIgKm5hbWU7Ci0gICAgaW50IFJHQlZhbHVlOworICAgIHVuc2lnbmVkIGlu
dCBBUkdCVmFsdWU7CiB9OwogJWxhbmd1YWdlPUFOU0ktQwogJXJlYWRvbmx5LXRhYmxlcwpAQCAt
MTIsMTUyICsxMiwxNTMgQEAgc3RydWN0IE5hbWVkQ29sb3IgewogJWluY2x1ZGVzCiAlZW51bQog
JSUKLWFsaWNlYmx1ZSwgMHhmMGY4ZmYKLWFudGlxdWV3aGl0ZSwgMHhmYWViZDcKLWFxdWEsIDB4
MDBmZmZmCi1hcXVhbWFyaW5lLCAweDdmZmZkNAotYXp1cmUsIDB4ZjBmZmZmCi1iZWlnZSwgMHhm
NWY1ZGMKLWJpc3F1ZSwgMHhmZmU0YzQKLWJsYWNrLCAweDAwMDAwMAotYmxhbmNoZWRhbG1vbmQs
IDB4ZmZlYmNkCi1ibHVlLCAweDAwMDBmZgotYmx1ZXZpb2xldCwgMHg4YTJiZTIKLWJyb3duLCAw
eGE1MmEyYQotYnVybHl3b29kLCAweGRlYjg4NwotY2FkZXRibHVlLCAweDVmOWVhMAotY2hhcnRy
ZXVzZSwgMHg3ZmZmMDAKLWNob2NvbGF0ZSwgMHhkMjY5MWUKLWNvcmFsLCAweGZmN2Y1MAotY29y
bmZsb3dlcmJsdWUsIDB4NjQ5NWVkCi1jb3Juc2lsaywgMHhmZmY4ZGMKLWNyaW1zb24sIDB4ZGMx
NDNjCi1jeWFuLCAweDAwZmZmZgotZGFya2JsdWUsIDB4MDAwMDhiCi1kYXJrY3lhbiwgMHgwMDhi
OGIKLWRhcmtnb2xkZW5yb2QsIDB4Yjg4NjBiCi1kYXJrZ3JheSwgMHhhOWE5YTkKLWRhcmtncmV5
LCAweGE5YTlhOQotZGFya2dyZWVuLCAweDAwNjQwMAotZGFya2toYWtpLCAweGJkYjc2YgotZGFy
a21hZ2VudGEsIDB4OGIwMDhiCi1kYXJrb2xpdmVncmVlbiwgMHg1NTZiMmYKLWRhcmtvcmFuZ2Us
IDB4ZmY4YzAwCi1kYXJrb3JjaGlkLCAweDk5MzJjYwotZGFya3JlZCwgMHg4YjAwMDAKLWRhcmtz
YWxtb24sIDB4ZTk5NjdhCi1kYXJrc2VhZ3JlZW4sIDB4OGZiYzhmCi1kYXJrc2xhdGVibHVlLCAw
eDQ4M2Q4YgotZGFya3NsYXRlZ3JheSwgMHgyZjRmNGYKLWRhcmtzbGF0ZWdyZXksIDB4MmY0ZjRm
Ci1kYXJrdHVycXVvaXNlLCAweDAwY2VkMQotZGFya3Zpb2xldCwgMHg5NDAwZDMKLWRlZXBwaW5r
LCAweGZmMTQ5MwotZGVlcHNreWJsdWUsIDB4MDBiZmZmCi1kaW1ncmF5LCAweDY5Njk2OQotZGlt
Z3JleSwgMHg2OTY5NjkKLWRvZGdlcmJsdWUsIDB4MWU5MGZmCi1maXJlYnJpY2ssIDB4YjIyMjIy
Ci1mbG9yYWx3aGl0ZSwgMHhmZmZhZjAKLWZvcmVzdGdyZWVuLCAweDIyOGIyMgotZnVjaHNpYSwg
MHhmZjAwZmYKLWdhaW5zYm9ybywgMHhkY2RjZGMKLWdob3N0d2hpdGUsIDB4ZjhmOGZmCi1nb2xk
LCAweGZmZDcwMAotZ29sZGVucm9kLCAweGRhYTUyMAotZ3JheSwgMHg4MDgwODAKLWdyZXksIDB4
ODA4MDgwCi1ncmVlbiwgMHgwMDgwMDAKLWdyZWVueWVsbG93LCAweGFkZmYyZgotaG9uZXlkZXcs
IDB4ZjBmZmYwCi1ob3RwaW5rLCAweGZmNjliNAotaW5kaWFucmVkLCAweGNkNWM1YwotaW5kaWdv
LCAweDRiMDA4MgotaXZvcnksIDB4ZmZmZmYwCi1raGFraSwgMHhmMGU2OGMKLWxhdmVuZGVyLCAw
eGU2ZTZmYQotbGF2ZW5kZXJibHVzaCwgMHhmZmYwZjUKLWxhd25ncmVlbiwgMHg3Y2ZjMDAKLWxl
bW9uY2hpZmZvbiwgMHhmZmZhY2QKLWxpZ2h0Ymx1ZSwgMHhhZGQ4ZTYKLWxpZ2h0Y29yYWwsIDB4
ZjA4MDgwCi1saWdodGN5YW4sIDB4ZTBmZmZmCi1saWdodGdvbGRlbnJvZHllbGxvdywgMHhmYWZh
ZDIKLWxpZ2h0Z3JheSwgMHhkM2QzZDMKLWxpZ2h0Z3JleSwgMHhkM2QzZDMKLWxpZ2h0Z3JlZW4s
IDB4OTBlZTkwCi1saWdodHBpbmssIDB4ZmZiNmMxCi1saWdodHNhbG1vbiwgMHhmZmEwN2EKLWxp
Z2h0c2VhZ3JlZW4sIDB4MjBiMmFhCi1saWdodHNreWJsdWUsIDB4ODdjZWZhCi1saWdodHNsYXRl
Ymx1ZSwgMHg4NDcwZmYKLWxpZ2h0c2xhdGVncmF5LCAweDc3ODg5OQotbGlnaHRzbGF0ZWdyZXks
IDB4Nzc4ODk5Ci1saWdodHN0ZWVsYmx1ZSwgMHhiMGM0ZGUKLWxpZ2h0eWVsbG93LCAweGZmZmZl
MAotbGltZSwgMHgwMGZmMDAKLWxpbWVncmVlbiwgMHgzMmNkMzIKLWxpbmVuLCAweGZhZjBlNgot
bWFnZW50YSwgMHhmZjAwZmYKLW1hcm9vbiwgMHg4MDAwMDAKLW1lZGl1bWFxdWFtYXJpbmUsIDB4
NjZjZGFhCi1tZWRpdW1ibHVlLCAweDAwMDBjZAotbWVkaXVtb3JjaGlkLCAweGJhNTVkMwotbWVk
aXVtcHVycGxlLCAweDkzNzBkOAotbWVkaXVtc2VhZ3JlZW4sIDB4M2NiMzcxCi1tZWRpdW1zbGF0
ZWJsdWUsIDB4N2I2OGVlCi1tZWRpdW1zcHJpbmdncmVlbiwgMHgwMGZhOWEKLW1lZGl1bXR1cnF1
b2lzZSwgMHg0OGQxY2MKLW1lZGl1bXZpb2xldHJlZCwgMHhjNzE1ODUKLW1pZG5pZ2h0Ymx1ZSwg
MHgxOTE5NzAKLW1pbnRjcmVhbSwgMHhmNWZmZmEKLW1pc3R5cm9zZSwgMHhmZmU0ZTEKLW1vY2Nh
c2luLCAweGZmZTRiNQotbmF2YWpvd2hpdGUsIDB4ZmZkZWFkCi1uYXZ5LCAweDAwMDA4MAotb2xk
bGFjZSwgMHhmZGY1ZTYKLW9saXZlLCAweDgwODAwMAotb2xpdmVkcmFiLCAweDZiOGUyMwotb3Jh
bmdlLCAweGZmYTUwMAotb3JhbmdlcmVkLCAweGZmNDUwMAotb3JjaGlkLCAweGRhNzBkNgotcGFs
ZWdvbGRlbnJvZCwgMHhlZWU4YWEKLXBhbGVncmVlbiwgMHg5OGZiOTgKLXBhbGV0dXJxdW9pc2Us
IDB4YWZlZWVlCi1wYWxldmlvbGV0cmVkLCAweGQ4NzA5MwotcGFwYXlhd2hpcCwgMHhmZmVmZDUK
LXBlYWNocHVmZiwgMHhmZmRhYjkKLXBlcnUsIDB4Y2Q4NTNmCi1waW5rLCAweGZmYzBjYgotcGx1
bSwgMHhkZGEwZGQKLXBvd2RlcmJsdWUsIDB4YjBlMGU2Ci1wdXJwbGUsIDB4ODAwMDgwCi1yZWQs
IDB4ZmYwMDAwCi1yb3N5YnJvd24sIDB4YmM4ZjhmCi1yb3lhbGJsdWUsIDB4NDE2OWUxCi1zYWRk
bGVicm93biwgMHg4YjQ1MTMKLXNhbG1vbiwgMHhmYTgwNzIKLXNhbmR5YnJvd24sIDB4ZjRhNDYw
Ci1zZWFncmVlbiwgMHgyZThiNTcKLXNlYXNoZWxsLCAweGZmZjVlZQotc2llbm5hLCAweGEwNTIy
ZAotc2lsdmVyLCAweGMwYzBjMAotc2t5Ymx1ZSwgMHg4N2NlZWIKLXNsYXRlYmx1ZSwgMHg2YTVh
Y2QKLXNsYXRlZ3JheSwgMHg3MDgwOTAKLXNsYXRlZ3JleSwgMHg3MDgwOTAKLXNub3csIDB4ZmZm
YWZhCi1zcHJpbmdncmVlbiwgMHgwMGZmN2YKLXN0ZWVsYmx1ZSwgMHg0NjgyYjQKLXRhbiwgMHhk
MmI0OGMKLXRlYWwsIDB4MDA4MDgwCi10aGlzdGxlLCAweGQ4YmZkOAotdG9tYXRvLCAweGZmNjM0
NwotdHVycXVvaXNlLCAweDQwZTBkMAotdmlvbGV0LCAweGVlODJlZQotdmlvbGV0cmVkLCAweGQw
MjA5MAotd2hlYXQsIDB4ZjVkZWIzCi13aGl0ZSwgMHhmZmZmZmYKLXdoaXRlc21va2UsIDB4ZjVm
NWY1Ci15ZWxsb3csIDB4ZmZmZjAwCi15ZWxsb3dncmVlbiwgMHg5YWNkMzIKK2FsaWNlYmx1ZSwg
MHhmZmYwZjhmZgorYW50aXF1ZXdoaXRlLCAweGZmZmFlYmQ3CithcXVhLCAweGZmMDBmZmZmCith
cXVhbWFyaW5lLCAweGZmN2ZmZmQ0CithenVyZSwgMHhmZmYwZmZmZgorYmVpZ2UsIDB4ZmZmNWY1
ZGMKK2Jpc3F1ZSwgMHhmZmZmZTRjNAorYmxhY2ssIDB4ZmYwMDAwMDAKK2JsYW5jaGVkYWxtb25k
LCAweGZmZmZlYmNkCitibHVlLCAweGZmMDAwMGZmCitibHVldmlvbGV0LCAweGZmOGEyYmUyCiti
cm93biwgMHhmZmE1MmEyYQorYnVybHl3b29kLCAweGZmZGViODg3CitjYWRldGJsdWUsIDB4ZmY1
ZjllYTAKK2NoYXJ0cmV1c2UsIDB4ZmY3ZmZmMDAKK2Nob2NvbGF0ZSwgMHhmZmQyNjkxZQorY29y
YWwsIDB4ZmZmZjdmNTAKK2Nvcm5mbG93ZXJibHVlLCAweGZmNjQ5NWVkCitjb3Juc2lsaywgMHhm
ZmZmZjhkYworY3JpbXNvbiwgMHhmZmRjMTQzYworY3lhbiwgMHhmZjAwZmZmZgorZGFya2JsdWUs
IDB4ZmYwMDAwOGIKK2RhcmtjeWFuLCAweGZmMDA4YjhiCitkYXJrZ29sZGVucm9kLCAweGZmYjg4
NjBiCitkYXJrZ3JheSwgMHhmZmE5YTlhOQorZGFya2dyZXksIDB4ZmZhOWE5YTkKK2RhcmtncmVl
biwgMHhmZjAwNjQwMAorZGFya2toYWtpLCAweGZmYmRiNzZiCitkYXJrbWFnZW50YSwgMHhmZjhi
MDA4YgorZGFya29saXZlZ3JlZW4sIDB4ZmY1NTZiMmYKK2RhcmtvcmFuZ2UsIDB4ZmZmZjhjMDAK
K2RhcmtvcmNoaWQsIDB4ZmY5OTMyY2MKK2RhcmtyZWQsIDB4ZmY4YjAwMDAKK2RhcmtzYWxtb24s
IDB4ZmZlOTk2N2EKK2RhcmtzZWFncmVlbiwgMHhmZjhmYmM4ZgorZGFya3NsYXRlYmx1ZSwgMHhm
ZjQ4M2Q4YgorZGFya3NsYXRlZ3JheSwgMHhmZjJmNGY0ZgorZGFya3NsYXRlZ3JleSwgMHhmZjJm
NGY0ZgorZGFya3R1cnF1b2lzZSwgMHhmZjAwY2VkMQorZGFya3Zpb2xldCwgMHhmZjk0MDBkMwor
ZGVlcHBpbmssIDB4ZmZmZjE0OTMKK2RlZXBza3libHVlLCAweGZmMDBiZmZmCitkaW1ncmF5LCAw
eGZmNjk2OTY5CitkaW1ncmV5LCAweGZmNjk2OTY5Citkb2RnZXJibHVlLCAweGZmMWU5MGZmCitm
aXJlYnJpY2ssIDB4ZmZiMjIyMjIKK2Zsb3JhbHdoaXRlLCAweGZmZmZmYWYwCitmb3Jlc3RncmVl
biwgMHhmZjIyOGIyMgorZnVjaHNpYSwgMHhmZmZmMDBmZgorZ2FpbnNib3JvLCAweGZmZGNkY2Rj
CitnaG9zdHdoaXRlLCAweGZmZjhmOGZmCitnb2xkLCAweGZmZmZkNzAwCitnb2xkZW5yb2QsIDB4
ZmZkYWE1MjAKK2dyYXksIDB4ZmY4MDgwODAKK2dyZXksIDB4ZmY4MDgwODAKK2dyZWVuLCAweGZm
MDA4MDAwCitncmVlbnllbGxvdywgMHhmZmFkZmYyZgoraG9uZXlkZXcsIDB4ZmZmMGZmZjAKK2hv
dHBpbmssIDB4ZmZmZjY5YjQKK2luZGlhbnJlZCwgMHhmZmNkNWM1YworaW5kaWdvLCAweGZmNGIw
MDgyCitpdm9yeSwgMHhmZmZmZmZmMAora2hha2ksIDB4ZmZmMGU2OGMKK2xhdmVuZGVyLCAweGZm
ZTZlNmZhCitsYXZlbmRlcmJsdXNoLCAweGZmZmZmMGY1CitsYXduZ3JlZW4sIDB4ZmY3Y2ZjMDAK
K2xlbW9uY2hpZmZvbiwgMHhmZmZmZmFjZAorbGlnaHRibHVlLCAweGZmYWRkOGU2CitsaWdodGNv
cmFsLCAweGZmZjA4MDgwCitsaWdodGN5YW4sIDB4ZmZlMGZmZmYKK2xpZ2h0Z29sZGVucm9keWVs
bG93LCAweGZmZmFmYWQyCitsaWdodGdyYXksIDB4ZmZkM2QzZDMKK2xpZ2h0Z3JleSwgMHhmZmQz
ZDNkMworbGlnaHRncmVlbiwgMHhmZjkwZWU5MAorbGlnaHRwaW5rLCAweGZmZmZiNmMxCitsaWdo
dHNhbG1vbiwgMHhmZmZmYTA3YQorbGlnaHRzZWFncmVlbiwgMHhmZjIwYjJhYQorbGlnaHRza3li
bHVlLCAweGZmODdjZWZhCitsaWdodHNsYXRlYmx1ZSwgMHhmZjg0NzBmZgorbGlnaHRzbGF0ZWdy
YXksIDB4ZmY3Nzg4OTkKK2xpZ2h0c2xhdGVncmV5LCAweGZmNzc4ODk5CitsaWdodHN0ZWVsYmx1
ZSwgMHhmZmIwYzRkZQorbGlnaHR5ZWxsb3csIDB4ZmZmZmZmZTAKK2xpbWUsIDB4ZmYwMGZmMDAK
K2xpbWVncmVlbiwgMHhmZjMyY2QzMgorbGluZW4sIDB4ZmZmYWYwZTYKK21hZ2VudGEsIDB4ZmZm
ZjAwZmYKK21hcm9vbiwgMHhmZjgwMDAwMAorbWVkaXVtYXF1YW1hcmluZSwgMHhmZjY2Y2RhYQor
bWVkaXVtYmx1ZSwgMHhmZjAwMDBjZAorbWVkaXVtb3JjaGlkLCAweGZmYmE1NWQzCittZWRpdW1w
dXJwbGUsIDB4ZmY5MzcwZDgKK21lZGl1bXNlYWdyZWVuLCAweGZmM2NiMzcxCittZWRpdW1zbGF0
ZWJsdWUsIDB4ZmY3YjY4ZWUKK21lZGl1bXNwcmluZ2dyZWVuLCAweGZmMDBmYTlhCittZWRpdW10
dXJxdW9pc2UsIDB4ZmY0OGQxY2MKK21lZGl1bXZpb2xldHJlZCwgMHhmZmM3MTU4NQorbWlkbmln
aHRibHVlLCAweGZmMTkxOTcwCittaW50Y3JlYW0sIDB4ZmZmNWZmZmEKK21pc3R5cm9zZSwgMHhm
ZmZmZTRlMQorbW9jY2FzaW4sIDB4ZmZmZmU0YjUKK25hdmFqb3doaXRlLCAweGZmZmZkZWFkCitu
YXZ5LCAweGZmMDAwMDgwCitvbGRsYWNlLCAweGZmZmRmNWU2CitvbGl2ZSwgMHhmZjgwODAwMAor
b2xpdmVkcmFiLCAweGZmNmI4ZTIzCitvcmFuZ2UsIDB4ZmZmZmE1MDAKK29yYW5nZXJlZCwgMHhm
ZmZmNDUwMAorb3JjaGlkLCAweGZmZGE3MGQ2CitwYWxlZ29sZGVucm9kLCAweGZmZWVlOGFhCitw
YWxlZ3JlZW4sIDB4ZmY5OGZiOTgKK3BhbGV0dXJxdW9pc2UsIDB4ZmZhZmVlZWUKK3BhbGV2aW9s
ZXRyZWQsIDB4ZmZkODcwOTMKK3BhcGF5YXdoaXAsIDB4ZmZmZmVmZDUKK3BlYWNocHVmZiwgMHhm
ZmZmZGFiOQorcGVydSwgMHhmZmNkODUzZgorcGluaywgMHhmZmZmYzBjYgorcGx1bSwgMHhmZmRk
YTBkZAorcG93ZGVyYmx1ZSwgMHhmZmIwZTBlNgorcHVycGxlLCAweGZmODAwMDgwCityZWQsIDB4
ZmZmZjAwMDAKK3Jvc3licm93biwgMHhmZmJjOGY4Zgorcm95YWxibHVlLCAweGZmNDE2OWUxCitz
YWRkbGVicm93biwgMHhmZjhiNDUxMworc2FsbW9uLCAweGZmZmE4MDcyCitzYW5keWJyb3duLCAw
eGZmZjRhNDYwCitzZWFncmVlbiwgMHhmZjJlOGI1Nworc2Vhc2hlbGwsIDB4ZmZmZmY1ZWUKK3Np
ZW5uYSwgMHhmZmEwNTIyZAorc2lsdmVyLCAweGZmYzBjMGMwCitza3libHVlLCAweGZmODdjZWVi
CitzbGF0ZWJsdWUsIDB4ZmY2YTVhY2QKK3NsYXRlZ3JheSwgMHhmZjcwODA5MAorc2xhdGVncmV5
LCAweGZmNzA4MDkwCitzbm93LCAweGZmZmZmYWZhCitzcHJpbmdncmVlbiwgMHhmZjAwZmY3Zgor
c3RlZWxibHVlLCAweGZmNDY4MmI0Cit0YW4sIDB4ZmZkMmI0OGMKK3RlYWwsIDB4ZmYwMDgwODAK
K3RoaXN0bGUsIDB4ZmZkOGJmZDgKK3RvbWF0bywgMHhmZmZmNjM0NwordHJhbnNwYXJlbnQsIDB4
MDAwMDAwMDAKK3R1cnF1b2lzZSwgMHhmZjQwZTBkMAordmlvbGV0LCAweGZmZWU4MmVlCit2aW9s
ZXRyZWQsIDB4ZmZkMDIwOTAKK3doZWF0LCAweGZmZjVkZWIzCit3aGl0ZSwgMHhmZmZmZmZmZgor
d2hpdGVzbW9rZSwgMHhmZmY1ZjVmNQoreWVsbG93LCAweGZmZmZmZjAwCit5ZWxsb3dncmVlbiwg
MHhmZjlhY2QzMgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5jcHAJKHJldmlzaW9u
IDY1NjE4KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE3Niw4ICsxNzYsNyBAQCBDb2xvcjo6Q29sb3IoY29uc3QgY2hhciogbmFtZSkK
ICAgICAgICAgbV92YWxpZCA9IHBhcnNlSGV4Q29sb3IoJm5hbWVbMV0sIG1fY29sb3IpOwogICAg
IGVsc2UgewogICAgICAgICBjb25zdCBOYW1lZENvbG9yKiBmb3VuZENvbG9yID0gZmluZENvbG9y
KG5hbWUsIHN0cmxlbihuYW1lKSk7Ci0gICAgICAgIG1fY29sb3IgPSBmb3VuZENvbG9yID8gZm91
bmRDb2xvci0+UkdCVmFsdWUgOiAwOwotICAgICAgICBtX2NvbG9yIHw9IDB4RkYwMDAwMDA7Cisg
ICAgICAgIG1fY29sb3IgPSBmb3VuZENvbG9yID8gZm91bmRDb2xvci0+QVJHQlZhbHVlIDogMDsK
ICAgICAgICAgbV92YWxpZCA9IGZvdW5kQ29sb3I7CiAgICAgfQogfQpAQCAtMjIwLDggKzIxOSw3
IEBAIHN0YXRpYyBpbmxpbmUgY29uc3QgTmFtZWRDb2xvciogZmluZE5hbWUKIHZvaWQgQ29sb3I6
OnNldE5hbWVkQ29sb3IoY29uc3QgU3RyaW5nJiBuYW1lKQogewogICAgIGNvbnN0IE5hbWVkQ29s
b3IqIGZvdW5kQ29sb3IgPSBmaW5kTmFtZWRDb2xvcihuYW1lKTsKLSAgICBtX2NvbG9yID0gZm91
bmRDb2xvciA/IGZvdW5kQ29sb3ItPlJHQlZhbHVlIDogMDsKLSAgICBtX2NvbG9yIHw9IDB4RkYw
MDAwMDA7CisgICAgbV9jb2xvciA9IGZvdW5kQ29sb3IgPyBmb3VuZENvbG9yLT5BUkdCVmFsdWUg
OiAwOwogICAgIG1fdmFsaWQgPSBmb3VuZENvbG9yOwogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA2
NTYyMCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDEzIEBACisyMDEwLTA4LTE4ICBKYW4gRXJpayBIYW5zc2VuICA8amhhbnNzZW5AY29kZWF1cm9y
YS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
RW5hYmxlIHRoZSBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmZpbGxTdHlsZS5wYXJzZS5zeXN0ZW0u
aHRtbCB0ZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zOTE2OAorCisgICAgICAgICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6CisgICAgICAgICogcGxh
dGZvcm0vcXQvU2tpcHBlZDoKKwogMjAxMC0wOC0xOCAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuICBNb3ZlIHNvbWUgdGVzdCBleHBl
Y3RhdGlvbnMgdGhhdCBhcmUgbm90IHBsYXRmb3JtIHNwZWNpZmljIHRvIHRoZSByaWdodCBwbGFj
ZS4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCShyZXZpc2lvbiA2NTYxOCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC0xODUsNyAr
MTg1LDYgQEAgY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5kcmF3SW1hZ2UubnVsbC5odAogY2FudmFz
L3BoaWxpcC90ZXN0cy8yZC5maWxsU3R5bGUucGFyc2UuY3VycmVudC5iYXNpYy5odG1sCiBjYW52
YXMvcGhpbGlwL3Rlc3RzLzJkLmZpbGxTdHlsZS5wYXJzZS5jdXJyZW50LmNoYW5nZWQuaHRtbAog
Y2FudmFzL3BoaWxpcC90ZXN0cy8yZC5maWxsU3R5bGUucGFyc2UuY3VycmVudC5yZW1vdmVkLmh0
bWwKLWNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZmlsbFN0eWxlLnBhcnNlLnN5c3RlbS5odG1sCiBj
YW52YXMvcGhpbGlwL3Rlc3RzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmZyb250Lmh0bWwKIGNh
bnZhcy9waGlsaXAvdGVzdHMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUudG9wLmh0bWwKIGNhbnZh
cy9waGlsaXAvdGVzdHMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTIuaHRtbApJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9xdC9Ta2lwcGVkCShyZXZpc2lvbiA2NTYxOCkKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL3F0L1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTUyNDYsNyArNTI0Niw2IEBAIGNhbnZh
cy9waGlsaXAvdGVzdHMvMmQuZHJhd0ltYWdlLm51bGwuaHQKIGNhbnZhcy9waGlsaXAvdGVzdHMv
MmQuZmlsbFN0eWxlLnBhcnNlLmN1cnJlbnQuYmFzaWMuaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0
cy8yZC5maWxsU3R5bGUucGFyc2UuY3VycmVudC5jaGFuZ2VkLmh0bWwKIGNhbnZhcy9waGlsaXAv
dGVzdHMvMmQuZmlsbFN0eWxlLnBhcnNlLmN1cnJlbnQucmVtb3ZlZC5odG1sCi1jYW52YXMvcGhp
bGlwL3Rlc3RzLzJkLmZpbGxTdHlsZS5wYXJzZS5zeXN0ZW0uaHRtbAogY2FudmFzL3BoaWxpcC90
ZXN0cy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZWhpbmQuaHRtbAogY2FudmFzL3BoaWxpcC90
ZXN0cy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZXNpZGUuaHRtbAogY2FudmFzL3BoaWxpcC90
ZXN0cy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5ib3R0b20uaHRtbAo=
</data>
<flag name="review"
          id="53379"
          type_id="1"
          status="-"
          setter="darin"
    />
    <flag name="commit-queue"
          id="53380"
          type_id="3"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66790</attachid>
            <date>2010-09-07 16:53:51 -0700</date>
            <delta_ts>2010-09-07 17:34:05 -0700</delta_ts>
            <desc>New iteration: Taking Andreas and Darin&apos;s comments</desc>
            <filename>bug39168-philip.parse.system.diff</filename>
            <type>text/plain</type>
            <size>9632</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1YzVmMjI2Li5kNTZlYTEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMDkt
MDcgIEp1bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QGNvZGVhdXJvcmEub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3QgZm9yOiBQYXJz
ZSBzeXN0ZW0gY29sb3JzIGluIHRoZSBIVE1MNSBjYW52YXMgY29udGV4dC4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5MTY4CisKKyAgICAgICAgVGhp
cyB0ZXN0cyB0aGF0IHN2ZyBjb2xvciwgZGVwcmVjYXRlZCBzeXN0ZW0gY29sb3IgYW5kIGRpZmZl
cmVudAorICAgICAgICB0eXBlIG9mIGNvbG9ycyBhbmQgaW52YWxpZCBpbnB1dHMgYXJlIHN0aWxs
IHBhcnNlZCBhcyBzdWNoLgorCisgICAgICAgICogZmFzdC9jc3MvdGVzdC1zZXR0aW5nLWNhbnZh
cy1jb2xvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL3Rlc3Qtc2V0
dGluZy1jYW52YXMtY29sb3IuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1Nr
aXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKwogMjAxMC0wOS0wNyAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBDaHJpcyBNYXJyaW4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tp
cHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCmluZGV4IDhkYTU3MTkuLmM1
OWFkOGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCkBAIC0xODgsNyArMTg4LDYgQEAgY2Fu
dmFzL3BoaWxpcC90ZXN0cy8yZC5kcmF3SW1hZ2UubnVsbC5odG1sCiBjYW52YXMvcGhpbGlwL3Rl
c3RzLzJkLmZpbGxTdHlsZS5wYXJzZS5jdXJyZW50LmJhc2ljLmh0bWwKIGNhbnZhcy9waGlsaXAv
dGVzdHMvMmQuZmlsbFN0eWxlLnBhcnNlLmN1cnJlbnQuY2hhbmdlZC5odG1sCiBjYW52YXMvcGhp
bGlwL3Rlc3RzLzJkLmZpbGxTdHlsZS5wYXJzZS5jdXJyZW50LnJlbW92ZWQuaHRtbAotY2FudmFz
L3BoaWxpcC90ZXN0cy8yZC5maWxsU3R5bGUucGFyc2Uuc3lzdGVtLmh0bWwKIGNhbnZhcy9waGls
aXAvdGVzdHMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuZnJvbnQuaHRtbAogY2FudmFzL3BoaWxp
cC90ZXN0cy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS50b3AuaHRtbAogY2FudmFzL3BoaWxpcC90
ZXN0cy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMi5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBl
ZAppbmRleCAyYzMyYjRjLi43YTk2MWQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTUy
MjcsNyArNTIyNyw2IEBAIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZHJhd0ltYWdlLm51bGwuaHRt
bAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5maWxsU3R5bGUucGFyc2UuY3VycmVudC5iYXNpYy5o
dG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmZpbGxTdHlsZS5wYXJzZS5jdXJyZW50LmNoYW5n
ZWQuaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5maWxsU3R5bGUucGFyc2UuY3VycmVudC5y
ZW1vdmVkLmh0bWwKLWNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZmlsbFN0eWxlLnBhcnNlLnN5c3Rl
bS5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJlaGlu
ZC5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJlc2lk
ZS5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJvdHRv
bS5odG1sCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IDc1ZDBjMGIuLjUyYWQ0ZjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTAtMDktMDcgIEp1bGll
biBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QGNvZGVhdXJvcmEub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhcnNlIHN5c3RlbSBjb2xvcnMgaW4g
dGhlIEhUTUw1IGNhbnZhcyBjb250ZXh0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzkxNjgKKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy90ZXN0LXNl
dHRpbmctY2FudmFzLWNvbG9yLmh0bWwKKworICAgICAgICBCYXNlZCBvbiBwcmV2aW91cyB3b3Jr
IGJ5IEphbiBFcmlrIEhhbnNzZW4gIDxqaGFuc3NlbkBjb2RlYXVyb3JhLm9yZz4KKworICAgICAg
ICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJz
ZUNvbG9yKTogQ2hhbmdlZCB0aGUgZnVuY3Rpb24gdG8gYmV0dGVyIG1hdGNoIG91cgorICAgICAg
ICBlYXJseSByZXR1cm4gcG9saWN5LiBBbHNvIHdlIG5vdyByZXR1cm4gZmFsc2Ugd2hlbiB3ZSBk
b24ndCBwYXJzZSB0aGUgY29sb3IuCisgICAgICAgIFRoaXMgaXMgbmVlZGVkIGZvciBjcmVhdGVG
cm9tU3RyaW5nIHRvIGZhbGxiYWNrIHRvIHVzaW5nIHBhcnNlU3lzdGVtQ29sb3IuCisKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VTeXN0ZW1Db2xvcik6IE1hZGUgdXNlIG9mIHRo
ZSBSZW5kZXJUaGVtZSB0byBnZXQKKyAgICAgICAgdGhlIHN5c3RlbSBjb2xvcnMuCisKKyAgICAg
ICAgKiBjc3MvQ1NTUGFyc2VyLmg6IEFkZGVkIHRoZSBuZXcgcGFyc2VTeXN0ZW1Db2xvciBtZXRo
b2QuCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpzZXRTdHJva2VD
b2xvcik6IFBhc3MgdGhlIGRvY3VtZW50IHRvIGNyZWF0ZUZyb21TdHJpbmcuCisgICAgICAgIChX
ZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnNldEZpbGxDb2xvcik6IERpdHRvLgor
ICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNhbnZhc1N0eWxlOjpjcmVhdGVGcm9tU3RyaW5nKTogVHJ5IHRvIHBhcnNlIHRoZSBjb2xvciB1
c2luZyBDU1NQYXJzZXI6OnBhcnNlQ29sb3IKKyAgICAgICAgYW5kIGZhbGwgYmFjayB0byBwYXJz
ZVN5c3RlbUNvbG9yIGlmIGl0IGRpZCBub3Qgd29yay4KKworICAgICAgICAqIGh0bWwvY2FudmFz
L0NhbnZhc1N0eWxlLmg6IEFkZGVkIHRoZSBuZXcgRG9jdW1lbnQqIHBhcmFtZXRlciB0byBjcmVh
dGVGcm9tU3RyaW5nLgorCiAyMDEwLTA5LTA3ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25A
YXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAK
aW5kZXggNjg3MjM1Zi4uY2E1NDFjYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
LmNwcAorKysgYi9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC02NCw3ICs2NCw5IEBACiAj
aW5jbHVkZSAiTWVkaWFMaXN0LmgiCiAjaW5jbHVkZSAiTWVkaWFRdWVyeUV4cC5oIgogI2luY2x1
ZGUgIlBhaXIuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVjdC5oIgorI2luY2x1
ZGUgIlJlbmRlclRoZW1lLmgiCiAjaW5jbHVkZSAiU2hhZG93VmFsdWUuaCIKICNpbmNsdWRlICJX
ZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaCIKICNpbmNsdWRlICJXZWJLaXRDU1NLZXlmcmFtZXNSdWxl
LmgiCkBAIC0yOTUsMTIgKzI5NywxNSBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VDb2xvcihSR0JB
MzImIGNvbG9yLCBjb25zdCBTdHJpbmcmIHN0cmluZywgYm9vbCBzdHJpY3QpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAogICAgIENTU1ZhbHVlKiB2YWx1ZSA9IHBhcnNlci5tX3BhcnNlZFByb3Bl
cnRpZXNbMF0tPnZhbHVlKCk7Ci0gICAgaWYgKHZhbHVlLT5jc3NWYWx1ZVR5cGUoKSA9PSBDU1NW
YWx1ZTo6Q1NTX1BSSU1JVElWRV9WQUxVRSkgewotICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZSog
cHJpbWl0aXZlVmFsdWUgPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KHZhbHVlKTsK
KyAgICBpZiAodmFsdWUtPmNzc1ZhbHVlVHlwZSgpICE9IENTU1ZhbHVlOjpDU1NfUFJJTUlUSVZF
X1ZBTFVFKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBDU1NQcmltaXRpdmVWYWx1ZSog
cHJpbWl0aXZlVmFsdWUgPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KHZhbHVlKTsK
KyAgICBpZiAocHJpbWl0aXZlVmFsdWUtPnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX1JHQkNPTE9SKSB7CiAgICAgICAgIGNvbG9yID0gcHJpbWl0aXZlVmFsdWUtPmdl
dFJHQkEzMlZhbHVlKCk7CisgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KLQotICAgIHJldHVy
biB0cnVlOworICAgIHJldHVybiBmYWxzZTsKIH0KIAogYm9vbCBDU1NQYXJzZXI6OnBhcnNlQ29s
b3IoQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qIGRlY2xhcmF0aW9uLCBjb25zdCBTdHJpbmcm
IHN0cmluZykKQEAgLTMxNSw2ICszMjAsMjIgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlQ29sb3Io
Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qIGRlY2xhcmF0aW9uLCBjb25zdCBTdHJpbmcKICAg
ICByZXR1cm4gKG1fbnVtUGFyc2VkUHJvcGVydGllcyAmJiBtX3BhcnNlZFByb3BlcnRpZXNbMF0t
Pm1faWQgPT0gQ1NTUHJvcGVydHlDb2xvcik7CiB9CiAKK2Jvb2wgQ1NTUGFyc2VyOjpwYXJzZVN5
c3RlbUNvbG9yKFJHQkEzMiYgY29sb3IsIGNvbnN0IFN0cmluZyYgc3RyaW5nLCBEb2N1bWVudCog
ZG9jdW1lbnQpCit7CisgICAgaWYgKCFkb2N1bWVudCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgQ1NTUGFyc2VyU3RyaW5nIGNzc0NvbG9yOworICAgIGNzc0NvbG9yLmNoYXJhY3RlcnMg
PSBjb25zdF9jYXN0PFVDaGFyKj4oc3RyaW5nLmNoYXJhY3RlcnMoKSk7CisgICAgY3NzQ29sb3Iu
bGVuZ3RoID0gc3RyaW5nLmxlbmd0aCgpOworICAgIGludCBpZCA9IGNzc1ZhbHVlS2V5d29yZElE
KGNzc0NvbG9yKTsKKyAgICBpZiAoaWQgPD0gMCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgY29sb3IgPSBkb2N1bWVudC0+cGFnZSgpLT50aGVtZSgpLT5zeXN0ZW1Db2xvcihpZCkucmdi
KCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIHZvaWQgQ1NTUGFyc2VyOjpwYXJzZVNlbGVjdG9y
KGNvbnN0IFN0cmluZyYgc3RyaW5nLCBEb2N1bWVudCogZG9jLCBDU1NTZWxlY3Rvckxpc3QmIHNl
bGVjdG9yTGlzdCkKIHsKICAgICBSZWZQdHI8Q1NTU3R5bGVTaGVldD4gZHVtbXlTdHlsZVNoZWV0
ID0gQ1NTU3R5bGVTaGVldDo6Y3JlYXRlKGRvYyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9D
U1NQYXJzZXIuaCBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IDYyMTFlNjIuLjFiNTM1
YTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCisrKyBiL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlci5oCkBAIC02NSw2ICs2NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgUGFzc1JlZlB0cjxDU1NSdWxlPiBwYXJzZUtleWZyYW1lUnVsZShDU1NTdHlsZVNoZWV0Kiwg
Y29uc3QgU3RyaW5nJik7CiAgICAgICAgIGJvb2wgcGFyc2VWYWx1ZShDU1NNdXRhYmxlU3R5bGVE
ZWNsYXJhdGlvbiosIGludCBwcm9wSWQsIGNvbnN0IFN0cmluZyYsIGJvb2wgaW1wb3J0YW50KTsK
ICAgICAgICAgc3RhdGljIGJvb2wgcGFyc2VDb2xvcihSR0JBMzImIGNvbG9yLCBjb25zdCBTdHJp
bmcmLCBib29sIHN0cmljdCA9IGZhbHNlKTsKKyAgICAgICAgc3RhdGljIGJvb2wgcGFyc2VTeXN0
ZW1Db2xvcihSR0JBMzImIGNvbG9yLCBjb25zdCBTdHJpbmcmLCBEb2N1bWVudCopOwogICAgICAg
ICBib29sIHBhcnNlQ29sb3IoQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qLCBjb25zdCBTdHJp
bmcmKTsKICAgICAgICAgYm9vbCBwYXJzZURlY2xhcmF0aW9uKENTU011dGFibGVTdHlsZURlY2xh
cmF0aW9uKiwgY29uc3QgU3RyaW5nJik7CiAgICAgICAgIGJvb2wgcGFyc2VNZWRpYVF1ZXJ5KE1l
ZGlhTGlzdCosIGNvbnN0IFN0cmluZyYpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCmluZGV4IDQ5ZjU0ZmIuLjk0NmEzYTggMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAorKysg
Yi9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKQEAgLTUz
LDYgKzUzLDcgQEAKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1
ZGUgIlJlbmRlckhUTUxDYW52YXMuaCIKKyNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogI2luY2x1
ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJT
dHJva2VTdHlsZUFwcGxpZXIuaCIKQEAgLTU2OSw3ICs1NzAsNyBAQCB2b2lkIENhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRDo6c2V0U3Ryb2tlQ29sb3IoY29uc3QgU3RyaW5nJiBjb2xvcikKIHsKICAg
ICBpZiAoY29sb3IgPT0gc3RhdGUoKS5tX3VucGFyc2VkU3Ryb2tlQ29sb3IpCiAgICAgICAgIHJl
dHVybjsKLSAgICBzZXRTdHJva2VTdHlsZShDYW52YXNTdHlsZTo6Y3JlYXRlRnJvbVN0cmluZyhj
b2xvcikpOworICAgIHNldFN0cm9rZVN0eWxlKENhbnZhc1N0eWxlOjpjcmVhdGVGcm9tU3RyaW5n
KGNvbG9yLCBjYW52YXMoKS0+ZG9jdW1lbnQoKSkpOwogICAgIHN0YXRlKCkubV91bnBhcnNlZFN0
cm9rZUNvbG9yID0gY29sb3I7CiB9CiAKQEAgLTYxMCw3ICs2MTEsNyBAQCB2b2lkIENhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRDo6c2V0RmlsbENvbG9yKGNvbnN0IFN0cmluZyYgY29sb3IpCiB7CiAg
ICAgaWYgKGNvbG9yID09IHN0YXRlKCkubV91bnBhcnNlZEZpbGxDb2xvcikKICAgICAgICAgcmV0
dXJuOwotICAgIHNldEZpbGxTdHlsZShDYW52YXNTdHlsZTo6Y3JlYXRlRnJvbVN0cmluZyhjb2xv
cikpOworICAgIHNldEZpbGxTdHlsZShDYW52YXNTdHlsZTo6Y3JlYXRlRnJvbVN0cmluZyhjb2xv
ciwgY2FudmFzKCktPmRvY3VtZW50KCkpKTsKICAgICBzdGF0ZSgpLm1fdW5wYXJzZWRGaWxsQ29s
b3IgPSBjb2xvcjsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNT
dHlsZS5jcHAgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcAppbmRleCBmZDNj
NmU1Li4wYjEzOWE0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxl
LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcApAQCAtODYsMTIg
Kzg2LDE2IEBAIENhbnZhc1N0eWxlOjpDYW52YXNTdHlsZShQYXNzUmVmUHRyPENhbnZhc1BhdHRl
cm4+IHBhdHRlcm4pCiB7CiB9CiAKLVBhc3NSZWZQdHI8Q2FudmFzU3R5bGU+IENhbnZhc1N0eWxl
OjpjcmVhdGVGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgY29sb3IpCitQYXNzUmVmUHRyPENhbnZh
c1N0eWxlPiBDYW52YXNTdHlsZTo6Y3JlYXRlRnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIGNvbG9y
LCBEb2N1bWVudCogZG9jdW1lbnQpCiB7CiAgICAgUkdCQTMyIHJnYmE7Ci0gICAgaWYgKCFDU1NQ
YXJzZXI6OnBhcnNlQ29sb3IocmdiYSwgY29sb3IpKQotICAgICAgICByZXR1cm4gMDsKLSAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IENhbnZhc1N0eWxlKHJnYmEpKTsKKyAgICBpZiAoQ1NTUGFyc2Vy
OjpwYXJzZUNvbG9yKHJnYmEsIGNvbG9yKSkKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBD
YW52YXNTdHlsZShyZ2JhKSk7CisKKyAgICBpZiAoQ1NTUGFyc2VyOjpwYXJzZVN5c3RlbUNvbG9y
KHJnYmEsIGNvbG9yLCBkb2N1bWVudCkpCisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ2Fu
dmFzU3R5bGUocmdiYSkpOworCisgICAgcmV0dXJuIDA7CiB9CiAKIFBhc3NSZWZQdHI8Q2FudmFz
U3R5bGU+IENhbnZhc1N0eWxlOjpjcmVhdGVGcm9tU3RyaW5nV2l0aE92ZXJyaWRlQWxwaGEoY29u
c3QgU3RyaW5nJiBjb2xvciwgZmxvYXQgYWxwaGEpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1N0eWxlLmggYi9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmgK
aW5kZXggM2NhNzYwYS4uYjQ2M2MzZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL2NhbnZhcy9D
YW52YXNTdHlsZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaApAQCAt
MzQsMTIgKzM0LDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIENhbnZhc0dy
YWRpZW50OwogICAgIGNsYXNzIENhbnZhc1BhdHRlcm47CisgICAgY2xhc3MgRG9jdW1lbnQ7CiAg
ICAgY2xhc3MgR3JhcGhpY3NDb250ZXh0OwogCiAgICAgY2xhc3MgQ2FudmFzU3R5bGUgOiBwdWJs
aWMgUmVmQ291bnRlZDxDYW52YXNTdHlsZT4gewogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8Q2FudmFzU3R5bGU+IGNyZWF0ZUZyb21SR0JBKFJHQkEzMiByZ2JhKSB7IHJl
dHVybiBhZG9wdFJlZihuZXcgQ2FudmFzU3R5bGUocmdiYSkpOyB9Ci0gICAgICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPENhbnZhc1N0eWxlPiBjcmVhdGVGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgY29s
b3IpOworICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDYW52YXNTdHlsZT4gY3JlYXRlRnJvbVN0
cmluZyhjb25zdCBTdHJpbmcmIGNvbG9yLCBEb2N1bWVudCogPSAwKTsKICAgICAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8Q2FudmFzU3R5bGU+IGNyZWF0ZUZyb21TdHJpbmdXaXRoT3ZlcnJpZGVBbHBo
YShjb25zdCBTdHJpbmcmIGNvbG9yLCBmbG9hdCBhbHBoYSk7CiAgICAgICAgIHN0YXRpYyBQYXNz
UmVmUHRyPENhbnZhc1N0eWxlPiBjcmVhdGVGcm9tR3JheUxldmVsV2l0aEFscGhhKGZsb2F0IGdy
YXlMZXZlbCwgZmxvYXQgYWxwaGEpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYW52YXNTdHlsZShn
cmF5TGV2ZWwsIGFscGhhKSk7IH0KICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2FudmFzU3R5
bGU+IGNyZWF0ZUZyb21SR0JBQ2hhbm5lbHMoZmxvYXQgciwgZmxvYXQgZywgZmxvYXQgYiwgZmxv
YXQgYSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENhbnZhc1N0eWxlKHIsIGcsIGIsIGEpKTsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>66803</attachid>
            <date>2010-09-07 17:34:05 -0700</date>
            <delta_ts>2010-09-10 19:11:09 -0700</delta_ts>
            <desc>Same as previously without the style issue (added #include not in the right order)</desc>
            <filename>bug39168-philip.parse.system.diff</filename>
            <type>text/plain</type>
            <size>9657</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1YzVmMjI2Li5kNTZlYTEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMDkt
MDcgIEp1bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QGNvZGVhdXJvcmEub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3QgZm9yOiBQYXJz
ZSBzeXN0ZW0gY29sb3JzIGluIHRoZSBIVE1MNSBjYW52YXMgY29udGV4dC4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5MTY4CisKKyAgICAgICAgVGhp
cyB0ZXN0cyB0aGF0IHN2ZyBjb2xvciwgZGVwcmVjYXRlZCBzeXN0ZW0gY29sb3IgYW5kIGRpZmZl
cmVudAorICAgICAgICB0eXBlIG9mIGNvbG9ycyBhbmQgaW52YWxpZCBpbnB1dHMgYXJlIHN0aWxs
IHBhcnNlZCBhcyBzdWNoLgorCisgICAgICAgICogZmFzdC9jc3MvdGVzdC1zZXR0aW5nLWNhbnZh
cy1jb2xvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL3Rlc3Qtc2V0
dGluZy1jYW52YXMtY29sb3IuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1Nr
aXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKwogMjAxMC0wOS0wNyAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBDaHJpcyBNYXJyaW4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tp
cHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCmluZGV4IDhkYTU3MTkuLmM1
OWFkOGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCkBAIC0xODgsNyArMTg4LDYgQEAgY2Fu
dmFzL3BoaWxpcC90ZXN0cy8yZC5kcmF3SW1hZ2UubnVsbC5odG1sCiBjYW52YXMvcGhpbGlwL3Rl
c3RzLzJkLmZpbGxTdHlsZS5wYXJzZS5jdXJyZW50LmJhc2ljLmh0bWwKIGNhbnZhcy9waGlsaXAv
dGVzdHMvMmQuZmlsbFN0eWxlLnBhcnNlLmN1cnJlbnQuY2hhbmdlZC5odG1sCiBjYW52YXMvcGhp
bGlwL3Rlc3RzLzJkLmZpbGxTdHlsZS5wYXJzZS5jdXJyZW50LnJlbW92ZWQuaHRtbAotY2FudmFz
L3BoaWxpcC90ZXN0cy8yZC5maWxsU3R5bGUucGFyc2Uuc3lzdGVtLmh0bWwKIGNhbnZhcy9waGls
aXAvdGVzdHMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuZnJvbnQuaHRtbAogY2FudmFzL3BoaWxp
cC90ZXN0cy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS50b3AuaHRtbAogY2FudmFzL3BoaWxpcC90
ZXN0cy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMi5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBl
ZAppbmRleCAyYzMyYjRjLi43YTk2MWQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTUy
MjcsNyArNTIyNyw2IEBAIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZHJhd0ltYWdlLm51bGwuaHRt
bAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5maWxsU3R5bGUucGFyc2UuY3VycmVudC5iYXNpYy5o
dG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmZpbGxTdHlsZS5wYXJzZS5jdXJyZW50LmNoYW5n
ZWQuaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5maWxsU3R5bGUucGFyc2UuY3VycmVudC5y
ZW1vdmVkLmh0bWwKLWNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZmlsbFN0eWxlLnBhcnNlLnN5c3Rl
bS5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJlaGlu
ZC5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJlc2lk
ZS5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmJvdHRv
bS5odG1sCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IDc1ZDBjMGIuLjUyYWQ0ZjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTAtMDktMDcgIEp1bGll
biBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QGNvZGVhdXJvcmEub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhcnNlIHN5c3RlbSBjb2xvcnMgaW4g
dGhlIEhUTUw1IGNhbnZhcyBjb250ZXh0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzkxNjgKKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy90ZXN0LXNl
dHRpbmctY2FudmFzLWNvbG9yLmh0bWwKKworICAgICAgICBCYXNlZCBvbiBwcmV2aW91cyB3b3Jr
IGJ5IEphbiBFcmlrIEhhbnNzZW4gIDxqaGFuc3NlbkBjb2RlYXVyb3JhLm9yZz4KKworICAgICAg
ICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJz
ZUNvbG9yKTogQ2hhbmdlZCB0aGUgZnVuY3Rpb24gdG8gYmV0dGVyIG1hdGNoIG91cgorICAgICAg
ICBlYXJseSByZXR1cm4gcG9saWN5LiBBbHNvIHdlIG5vdyByZXR1cm4gZmFsc2Ugd2hlbiB3ZSBk
b24ndCBwYXJzZSB0aGUgY29sb3IuCisgICAgICAgIFRoaXMgaXMgbmVlZGVkIGZvciBjcmVhdGVG
cm9tU3RyaW5nIHRvIGZhbGxiYWNrIHRvIHVzaW5nIHBhcnNlU3lzdGVtQ29sb3IuCisKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VTeXN0ZW1Db2xvcik6IE1hZGUgdXNlIG9mIHRo
ZSBSZW5kZXJUaGVtZSB0byBnZXQKKyAgICAgICAgdGhlIHN5c3RlbSBjb2xvcnMuCisKKyAgICAg
ICAgKiBjc3MvQ1NTUGFyc2VyLmg6IEFkZGVkIHRoZSBuZXcgcGFyc2VTeXN0ZW1Db2xvciBtZXRo
b2QuCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpzZXRTdHJva2VD
b2xvcik6IFBhc3MgdGhlIGRvY3VtZW50IHRvIGNyZWF0ZUZyb21TdHJpbmcuCisgICAgICAgIChX
ZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnNldEZpbGxDb2xvcik6IERpdHRvLgor
ICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNhbnZhc1N0eWxlOjpjcmVhdGVGcm9tU3RyaW5nKTogVHJ5IHRvIHBhcnNlIHRoZSBjb2xvciB1
c2luZyBDU1NQYXJzZXI6OnBhcnNlQ29sb3IKKyAgICAgICAgYW5kIGZhbGwgYmFjayB0byBwYXJz
ZVN5c3RlbUNvbG9yIGlmIGl0IGRpZCBub3Qgd29yay4KKworICAgICAgICAqIGh0bWwvY2FudmFz
L0NhbnZhc1N0eWxlLmg6IEFkZGVkIHRoZSBuZXcgRG9jdW1lbnQqIHBhcmFtZXRlciB0byBjcmVh
dGVGcm9tU3RyaW5nLgorCiAyMDEwLTA5LTA3ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25A
YXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAK
aW5kZXggNjg3MjM1Zi4uMjI1YTg1MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
LmNwcAorKysgYi9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC02Myw4ICs2MywxMCBAQAog
I2luY2x1ZGUgIkZvbnRWYWx1ZS5oIgogI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgogI2luY2x1ZGUg
Ik1lZGlhUXVlcnlFeHAuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFpci5oIgog
I2luY2x1ZGUgIlJlY3QuaCIKKyNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogI2luY2x1ZGUgIlNo
YWRvd1ZhbHVlLmgiCiAjaW5jbHVkZSAiV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVk
ZSAiV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5oIgpAQCAtMjk1LDEyICsyOTcsMTUgQEAgYm9vbCBD
U1NQYXJzZXI6OnBhcnNlQ29sb3IoUkdCQTMyJiBjb2xvciwgY29uc3QgU3RyaW5nJiBzdHJpbmcs
IGJvb2wgc3RyaWN0KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBDU1NWYWx1ZSogdmFs
dWUgPSBwYXJzZXIubV9wYXJzZWRQcm9wZXJ0aWVzWzBdLT52YWx1ZSgpOwotICAgIGlmICh2YWx1
ZS0+Y3NzVmFsdWVUeXBlKCkgPT0gQ1NTVmFsdWU6OkNTU19QUklNSVRJVkVfVkFMVUUpIHsKLSAg
ICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NT
UHJpbWl0aXZlVmFsdWUqPih2YWx1ZSk7CisgICAgaWYgKHZhbHVlLT5jc3NWYWx1ZVR5cGUoKSAh
PSBDU1NWYWx1ZTo6Q1NTX1BSSU1JVElWRV9WQUxVRSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgQ1NTUHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NT
UHJpbWl0aXZlVmFsdWUqPih2YWx1ZSk7CisgICAgaWYgKHByaW1pdGl2ZVZhbHVlLT5wcmltaXRp
dmVUeXBlKCkgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19SR0JDT0xPUikgewogICAgICAgICBj
b2xvciA9IHByaW1pdGl2ZVZhbHVlLT5nZXRSR0JBMzJWYWx1ZSgpOworICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICB9Ci0KLSAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAK
IGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUNvbG9yKENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBk
ZWNsYXJhdGlvbiwgY29uc3QgU3RyaW5nJiBzdHJpbmcpCkBAIC0zMTUsNiArMzIwLDIyIEBAIGJv
b2wgQ1NTUGFyc2VyOjpwYXJzZUNvbG9yKENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBkZWNs
YXJhdGlvbiwgY29uc3QgU3RyaW5nCiAgICAgcmV0dXJuIChtX251bVBhcnNlZFByb3BlcnRpZXMg
JiYgbV9wYXJzZWRQcm9wZXJ0aWVzWzBdLT5tX2lkID09IENTU1Byb3BlcnR5Q29sb3IpOwogfQog
Citib29sIENTU1BhcnNlcjo6cGFyc2VTeXN0ZW1Db2xvcihSR0JBMzImIGNvbG9yLCBjb25zdCBT
dHJpbmcmIHN0cmluZywgRG9jdW1lbnQqIGRvY3VtZW50KQoreworICAgIGlmICghZG9jdW1lbnQp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIENTU1BhcnNlclN0cmluZyBjc3NDb2xvcjsK
KyAgICBjc3NDb2xvci5jaGFyYWN0ZXJzID0gY29uc3RfY2FzdDxVQ2hhcio+KHN0cmluZy5jaGFy
YWN0ZXJzKCkpOworICAgIGNzc0NvbG9yLmxlbmd0aCA9IHN0cmluZy5sZW5ndGgoKTsKKyAgICBp
bnQgaWQgPSBjc3NWYWx1ZUtleXdvcmRJRChjc3NDb2xvcik7CisgICAgaWYgKGlkIDw9IDApCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGNvbG9yID0gZG9jdW1lbnQtPnBhZ2UoKS0+dGhl
bWUoKS0+c3lzdGVtQ29sb3IoaWQpLnJnYigpOworICAgIHJldHVybiB0cnVlOworfQorCiB2b2lk
IENTU1BhcnNlcjo6cGFyc2VTZWxlY3Rvcihjb25zdCBTdHJpbmcmIHN0cmluZywgRG9jdW1lbnQq
IGRvYywgQ1NTU2VsZWN0b3JMaXN0JiBzZWxlY3Rvckxpc3QpCiB7CiAgICAgUmVmUHRyPENTU1N0
eWxlU2hlZXQ+IGR1bW15U3R5bGVTaGVldCA9IENTU1N0eWxlU2hlZXQ6OmNyZWF0ZShkb2MpOwpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmggYi9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuaAppbmRleCA2MjExZTYyLi4xYjUzNWEwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NQ
YXJzZXIuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApAQCAtNjUsNiArNjUsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFBhc3NSZWZQdHI8Q1NTUnVsZT4gcGFyc2VLZXlm
cmFtZVJ1bGUoQ1NTU3R5bGVTaGVldCosIGNvbnN0IFN0cmluZyYpOwogICAgICAgICBib29sIHBh
cnNlVmFsdWUoQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qLCBpbnQgcHJvcElkLCBjb25zdCBT
dHJpbmcmLCBib29sIGltcG9ydGFudCk7CiAgICAgICAgIHN0YXRpYyBib29sIHBhcnNlQ29sb3Io
UkdCQTMyJiBjb2xvciwgY29uc3QgU3RyaW5nJiwgYm9vbCBzdHJpY3QgPSBmYWxzZSk7CisgICAg
ICAgIHN0YXRpYyBib29sIHBhcnNlU3lzdGVtQ29sb3IoUkdCQTMyJiBjb2xvciwgY29uc3QgU3Ry
aW5nJiwgRG9jdW1lbnQqKTsKICAgICAgICAgYm9vbCBwYXJzZUNvbG9yKENTU011dGFibGVTdHls
ZURlY2xhcmF0aW9uKiwgY29uc3QgU3RyaW5nJik7CiAgICAgICAgIGJvb2wgcGFyc2VEZWNsYXJh
dGlvbihDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbiosIGNvbnN0IFN0cmluZyYpOwogICAgICAg
ICBib29sIHBhcnNlTWVkaWFRdWVyeShNZWRpYUxpc3QqLCBjb25zdCBTdHJpbmcmKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcCBi
L1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAppbmRleCA0
OWY1NGZiLi45NDZhM2E4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQuY3BwCkBAIC01Myw2ICs1Myw3IEBACiAjaW5jbHVkZSAiS1VSTC5oIgog
I2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJIVE1MQ2FudmFzLmgiCisjaW5jbHVk
ZSAiUmVuZGVyVGhlbWUuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUg
IlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU3Ryb2tlU3R5bGVBcHBsaWVyLmgiCkBAIC01NjksNyAr
NTcwLDcgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnNldFN0cm9rZUNvbG9yKGNv
bnN0IFN0cmluZyYgY29sb3IpCiB7CiAgICAgaWYgKGNvbG9yID09IHN0YXRlKCkubV91bnBhcnNl
ZFN0cm9rZUNvbG9yKQogICAgICAgICByZXR1cm47Ci0gICAgc2V0U3Ryb2tlU3R5bGUoQ2FudmFz
U3R5bGU6OmNyZWF0ZUZyb21TdHJpbmcoY29sb3IpKTsKKyAgICBzZXRTdHJva2VTdHlsZShDYW52
YXNTdHlsZTo6Y3JlYXRlRnJvbVN0cmluZyhjb2xvciwgY2FudmFzKCktPmRvY3VtZW50KCkpKTsK
ICAgICBzdGF0ZSgpLm1fdW5wYXJzZWRTdHJva2VDb2xvciA9IGNvbG9yOwogfQogCkBAIC02MTAs
NyArNjExLDcgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnNldEZpbGxDb2xvcihj
b25zdCBTdHJpbmcmIGNvbG9yKQogewogICAgIGlmIChjb2xvciA9PSBzdGF0ZSgpLm1fdW5wYXJz
ZWRGaWxsQ29sb3IpCiAgICAgICAgIHJldHVybjsKLSAgICBzZXRGaWxsU3R5bGUoQ2FudmFzU3R5
bGU6OmNyZWF0ZUZyb21TdHJpbmcoY29sb3IpKTsKKyAgICBzZXRGaWxsU3R5bGUoQ2FudmFzU3R5
bGU6OmNyZWF0ZUZyb21TdHJpbmcoY29sb3IsIGNhbnZhcygpLT5kb2N1bWVudCgpKSk7CiAgICAg
c3RhdGUoKS5tX3VucGFyc2VkRmlsbENvbG9yID0gY29sb3I7CiB9CiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuY3BwIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9D
YW52YXNTdHlsZS5jcHAKaW5kZXggZmQzYzZlNS4uMGIxMzlhNCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHAKKysrIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9D
YW52YXNTdHlsZS5jcHAKQEAgLTg2LDEyICs4NiwxNiBAQCBDYW52YXNTdHlsZTo6Q2FudmFzU3R5
bGUoUGFzc1JlZlB0cjxDYW52YXNQYXR0ZXJuPiBwYXR0ZXJuKQogewogfQogCi1QYXNzUmVmUHRy
PENhbnZhc1N0eWxlPiBDYW52YXNTdHlsZTo6Y3JlYXRlRnJvbVN0cmluZyhjb25zdCBTdHJpbmcm
IGNvbG9yKQorUGFzc1JlZlB0cjxDYW52YXNTdHlsZT4gQ2FudmFzU3R5bGU6OmNyZWF0ZUZyb21T
dHJpbmcoY29uc3QgU3RyaW5nJiBjb2xvciwgRG9jdW1lbnQqIGRvY3VtZW50KQogewogICAgIFJH
QkEzMiByZ2JhOwotICAgIGlmICghQ1NTUGFyc2VyOjpwYXJzZUNvbG9yKHJnYmEsIGNvbG9yKSkK
LSAgICAgICAgcmV0dXJuIDA7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYW52YXNTdHlsZShy
Z2JhKSk7CisgICAgaWYgKENTU1BhcnNlcjo6cGFyc2VDb2xvcihyZ2JhLCBjb2xvcikpCisgICAg
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ2FudmFzU3R5bGUocmdiYSkpOworCisgICAgaWYgKENT
U1BhcnNlcjo6cGFyc2VTeXN0ZW1Db2xvcihyZ2JhLCBjb2xvciwgZG9jdW1lbnQpKQorICAgICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IENhbnZhc1N0eWxlKHJnYmEpKTsKKworICAgIHJldHVybiAw
OwogfQogCiBQYXNzUmVmUHRyPENhbnZhc1N0eWxlPiBDYW52YXNTdHlsZTo6Y3JlYXRlRnJvbVN0
cmluZ1dpdGhPdmVycmlkZUFscGhhKGNvbnN0IFN0cmluZyYgY29sb3IsIGZsb2F0IGFscGhhKQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5oIGIvV2ViQ29yZS9o
dG1sL2NhbnZhcy9DYW52YXNTdHlsZS5oCmluZGV4IDNjYTc2MGEuLmI0NjNjM2YgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaAorKysgYi9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1N0eWxlLmgKQEAgLTM0LDEyICszNCwxMyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICAgICBjbGFzcyBDYW52YXNHcmFkaWVudDsKICAgICBjbGFzcyBDYW52YXNQYXR0ZXJu
OworICAgIGNsYXNzIERvY3VtZW50OwogICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIAogICAg
IGNsYXNzIENhbnZhc1N0eWxlIDogcHVibGljIFJlZkNvdW50ZWQ8Q2FudmFzU3R5bGU+IHsKICAg
ICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENhbnZhc1N0eWxlPiBjcmVhdGVG
cm9tUkdCQShSR0JBMzIgcmdiYSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENhbnZhc1N0eWxlKHJn
YmEpKTsgfQotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDYW52YXNTdHlsZT4gY3JlYXRlRnJv
bVN0cmluZyhjb25zdCBTdHJpbmcmIGNvbG9yKTsKKyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8
Q2FudmFzU3R5bGU+IGNyZWF0ZUZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBjb2xvciwgRG9jdW1l
bnQqID0gMCk7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENhbnZhc1N0eWxlPiBjcmVhdGVG
cm9tU3RyaW5nV2l0aE92ZXJyaWRlQWxwaGEoY29uc3QgU3RyaW5nJiBjb2xvciwgZmxvYXQgYWxw
aGEpOwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDYW52YXNTdHlsZT4gY3JlYXRlRnJvbUdy
YXlMZXZlbFdpdGhBbHBoYShmbG9hdCBncmF5TGV2ZWwsIGZsb2F0IGFscGhhKSB7IHJldHVybiBh
ZG9wdFJlZihuZXcgQ2FudmFzU3R5bGUoZ3JheUxldmVsLCBhbHBoYSkpOyB9CiAgICAgICAgIHN0
YXRpYyBQYXNzUmVmUHRyPENhbnZhc1N0eWxlPiBjcmVhdGVGcm9tUkdCQUNoYW5uZWxzKGZsb2F0
IHIsIGZsb2F0IGcsIGZsb2F0IGIsIGZsb2F0IGEpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYW52
YXNTdHlsZShyLCBnLCBiLCBhKSk7IH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67286</attachid>
            <date>2010-09-10 19:11:09 -0700</date>
            <delta_ts>2010-09-22 19:16:12 -0700</delta_ts>
            <desc>Another iteration: Added the page NULL-check as suggested by Andreas</desc>
            <filename>bug39168-philip.parse.system.diff</filename>
            <type>text/plain</type>
            <size>28750</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA3MjRiZGQ3YzRjYzI1MGEzY2UyZTdjN2RiN2EyN2Q3N2I2OGFhMDg3Li5iMmNmMDQ5
NTZhNzlmODIwNjJiMzA3MzBkN2EzMmQ4NmVhODQ5YjgzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTAtMDktMTAgIEp1bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QGNvZGVhdXJvcmEub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Qg
Zm9yOiBQYXJzZSBzeXN0ZW0gY29sb3JzIGluIHRoZSBIVE1MNSBjYW52YXMgY29udGV4dC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5MTY4CisKKyAg
ICAgICAgVGhpcyB0ZXN0cyB0aGF0IHN2ZyBjb2xvciwgZGVwcmVjYXRlZCBzeXN0ZW0gY29sb3Ig
YW5kIGRpZmZlcmVudAorICAgICAgICB0eXBlIG9mIGNvbG9ycyBhbmQgaW52YWxpZCBpbnB1dHMg
YXJlIHN0aWxsIHBhcnNlZCBhcyBzdWNoLgorCisgICAgICAgICogZmFzdC9jc3MvdGVzdC1zZXR0
aW5nLWNhbnZhcy1jb2xvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3Nz
L3Rlc3Qtc2V0dGluZy1jYW52YXMtY29sb3IuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vbWFjL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKwogMjAxMC0w
OS0xMCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZS1lbmFibGUgc29tZSBXaW5kb3dzIGNvbXBvc2l0aW5nIHRlc3RzIHRoYXQgbm8gbG9uZ2VyIGFz
c2VydC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3Rlc3Qtc2V0dGluZy1jYW52
YXMtY29sb3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvdGVzdC1zZXR0aW5n
LWNhbnZhcy1jb2xvci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWEyYjg5ZGQ2M2MyZWQ1ZmEx
OTdkMzllMmEzNGJmOWNjODRjNjZhZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvY3NzL3Rlc3Qtc2V0dGluZy1jYW52YXMtY29sb3ItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MjIxIEBACitUZXN0IGNhc2UgZm9yIGJ1ZyAzOTE2OC4gVGhpcyB0ZXN0cyB0aGUgQ1NTIGNvbG9y
IHBhcnNpbmcgY29kZSB1c2luZyA8Y2FudmFzPi4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1MgU2V0dGluZyBjb2xvciB0byBBY3RpdmVCb3JkZXIgd2FzIHN1Y2Nlc3NmdWxs
eSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gYWN0aXZlYm9yZGVyIHdhcyBzdWNjZXNzZnVs
bHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIEFjdGl2ZUNhcHRpb24gd2FzIHN1Y2Nlc3Nm
dWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gYWN0aXZlY2FwdGlvbiB3YXMgc3VjY2Vz
c2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBBcHBXb3Jrc3BhY2Ugd2FzIHN1Y2Nl
c3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gYXBwd29ya3NwYWNlIHdhcyBzdWNj
ZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIEJhY2tncm91bmQgd2FzIHN1Y2Nl
c3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gYmFja2dyb3VuZCB3YXMgc3VjY2Vz
c2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBCdXR0b25GYWNlIHdhcyBzdWNjZXNz
ZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGJ1dHRvbmZhY2Ugd2FzIHN1Y2Nlc3Nm
dWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gQnV0dG9uSGlnaGxpZ2h0IHdhcyBzdWNj
ZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGJ1dHRvbmhpZ2hsaWdodCB3YXMg
c3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBCdXR0b25TaGFkb3cgd2Fz
IHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gYnV0dG9uc2hhZG93IHdh
cyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIEJ1dHRvblRleHQgd2Fz
IHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gYnV0dG9udGV4dCB3YXMg
c3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBDYXB0aW9uVGV4dCB3YXMg
c3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBjYXB0aW9udGV4dCB3YXMg
c3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBHcmF5VGV4dCB3YXMgc3Vj
Y2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBncmF5dGV4dCB3YXMgc3VjY2Vz
c2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBIaWdobGlnaHQgd2FzIHN1Y2Nlc3Nm
dWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gaGlnaGxpZ2h0IHdhcyBzdWNjZXNzZnVs
bHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIEhpZ2hsaWdodFRleHQgd2FzIHN1Y2Nlc3Nm
dWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gaGlnaGxpZ2h0dGV4dCB3YXMgc3VjY2Vz
c2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBJbmFjdGl2ZUJvcmRlciB3YXMgc3Vj
Y2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBpbmFjdGl2ZWJvcmRlciB3YXMg
c3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBJbmFjdGl2ZUNhcHRpb24g
d2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gaW5hY3RpdmVjYXB0
aW9uIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIEluYWN0aXZl
Q2FwdGlvblRleHQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8g
aW5hY3RpdmVjYXB0aW9udGV4dCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBj
b2xvciB0byBJbmZvQmFja2dyb3VuZCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGlu
ZyBjb2xvciB0byBpbmZvYmFja2dyb3VuZCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0
dGluZyBjb2xvciB0byBJbmZvVGV4dCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGlu
ZyBjb2xvciB0byBpbmZvdGV4dCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBj
b2xvciB0byBNZW51IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRv
IG1lbnUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gTWVudVRl
eHQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbWVudXRleHQg
d2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gU2Nyb2xsYmFyIHdh
cyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHNjcm9sbGJhciB3YXMg
c3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBUaHJlZUREYXJrU2hhZG93
IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHRocmVlZGRhcmtz
aGFkb3cgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gVGhyZWVE
RmFjZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byB0aHJlZWRm
YWNlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIFRocmVlREhp
Z2hsaWdodCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byB0aHJl
ZWRoaWdobGlnaHQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8g
VGhyZWVETGlnaHRTaGFkb3cgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29s
b3IgdG8gdGhyZWVkbGlnaHRzaGFkb3cgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRp
bmcgY29sb3IgdG8gVGhyZWVEU2hhZG93IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0
aW5nIGNvbG9yIHRvIHRocmVlZHNoYWRvdyB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0
dGluZyBjb2xvciB0byBXaW5kb3cgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcg
Y29sb3IgdG8gd2luZG93IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9y
IHRvIFdpbmRvd0ZyYW1lIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9y
IHRvIHdpbmRvd2ZyYW1lIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9y
IHRvIFdpbmRvd1RleHQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3Ig
dG8gd2luZG93dGV4dCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0
byBhbGljZWJsdWUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8g
YW50aXF1ZXdoaXRlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRv
IGFxdWEgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gYXF1YW1h
cmluZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBhenVyZSB3
YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBiZWlnZSB3YXMgc3Vj
Y2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBiaXNxdWUgd2FzIHN1Y2Nlc3Nm
dWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gYmxhY2sgd2FzIHN1Y2Nlc3NmdWxseSBz
ZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gYmxhbmNoZWRhbG1vbmQgd2FzIHN1Y2Nlc3NmdWxs
eSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gYmx1ZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4K
K1BBU1MgU2V0dGluZyBjb2xvciB0byBibHVldmlvbGV0IHdhcyBzdWNjZXNzZnVsbHkgc2V0Lgor
UEFTUyBTZXR0aW5nIGNvbG9yIHRvIGJyb3duIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBT
ZXR0aW5nIGNvbG9yIHRvIGJ1cmx5d29vZCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0
dGluZyBjb2xvciB0byBjYWRldGJsdWUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRp
bmcgY29sb3IgdG8gY2hhcnRyZXVzZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGlu
ZyBjb2xvciB0byBjaG9jb2xhdGUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcg
Y29sb3IgdG8gY29yYWwgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3Ig
dG8gY29ybmZsb3dlcmJsdWUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29s
b3IgdG8gY29ybnNpbGsgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3Ig
dG8gY3JpbXNvbiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBj
eWFuIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGRhcmtibHVl
IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGRhcmtjeWFuIHdh
cyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGRhcmtnb2xkZW5yb2Qg
d2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gZGFya2dyYXkgd2Fz
IHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gZGFya2dyZWVuIHdhcyBz
dWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGRhcmtncmV5IHdhcyBzdWNj
ZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGRhcmtraGFraSB3YXMgc3VjY2Vz
c2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBkYXJrbWFnZW50YSB3YXMgc3VjY2Vz
c2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBkYXJrb2xpdmVncmVlbiB3YXMgc3Vj
Y2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBkYXJrb3JhbmdlIHdhcyBzdWNj
ZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGRhcmtvcmNoaWQgd2FzIHN1Y2Nl
c3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gZGFya3JlZCB3YXMgc3VjY2Vzc2Z1
bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBkYXJrc2FsbW9uIHdhcyBzdWNjZXNzZnVs
bHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGRhcmtzZWFncmVlbiB3YXMgc3VjY2Vzc2Z1
bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBkYXJrc2xhdGVibHVlIHdhcyBzdWNjZXNz
ZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGRhcmtzbGF0ZWdyYXkgd2FzIHN1Y2Nl
c3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gZGFya3NsYXRlZ3JleSB3YXMgc3Vj
Y2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBkYXJrdHVycXVvaXNlIHdhcyBz
dWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGRhcmt2aW9sZXQgd2FzIHN1
Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gZGVlcHBpbmsgd2FzIHN1Y2Nl
c3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gZGVlcHNreWJsdWUgd2FzIHN1Y2Nl
c3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gZGltZ3JheSB3YXMgc3VjY2Vzc2Z1
bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBkaW1ncmV5IHdhcyBzdWNjZXNzZnVsbHkg
c2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGRvZGdlcmJsdWUgd2FzIHN1Y2Nlc3NmdWxseSBz
ZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gZmlyZWJyaWNrIHdhcyBzdWNjZXNzZnVsbHkgc2V0
LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGZsb3JhbHdoaXRlIHdhcyBzdWNjZXNzZnVsbHkgc2V0
LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGZvcmVzdGdyZWVuIHdhcyBzdWNjZXNzZnVsbHkgc2V0
LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGZ1Y2hzaWEgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQ
QVNTIFNldHRpbmcgY29sb3IgdG8gZ2FpbnNib3JvIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFT
UyBTZXR0aW5nIGNvbG9yIHRvIGdob3N0d2hpdGUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNT
IFNldHRpbmcgY29sb3IgdG8gZ29sZCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGlu
ZyBjb2xvciB0byBnb2xkZW5yb2Qgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcg
Y29sb3IgdG8gZ3JheSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0
byBncmVlbiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBncmVl
bnllbGxvdyB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBncmV5
IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGhvbmV5ZGV3IHdh
cyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGhvdHBpbmsgd2FzIHN1
Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gaW5kaWFucmVkIHdhcyBzdWNj
ZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGluZGlnbyB3YXMgc3VjY2Vzc2Z1
bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBpdm9yeSB3YXMgc3VjY2Vzc2Z1bGx5IHNl
dC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBraGFraSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BB
U1MgU2V0dGluZyBjb2xvciB0byBsYXZlbmRlciB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1Mg
U2V0dGluZyBjb2xvciB0byBsYXZlbmRlcmJsdXNoIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFT
UyBTZXR0aW5nIGNvbG9yIHRvIGxhd25ncmVlbiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1Mg
U2V0dGluZyBjb2xvciB0byBsZW1vbmNoaWZmb24gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNT
IFNldHRpbmcgY29sb3IgdG8gbGlnaHRibHVlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBT
ZXR0aW5nIGNvbG9yIHRvIGxpZ2h0Y29yYWwgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNl
dHRpbmcgY29sb3IgdG8gbGlnaHRjeWFuIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0
aW5nIGNvbG9yIHRvIGxpZ2h0Z29sZGVucm9keWVsbG93IHdhcyBzdWNjZXNzZnVsbHkgc2V0Lgor
UEFTUyBTZXR0aW5nIGNvbG9yIHRvIGxpZ2h0Z3JheSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BB
U1MgU2V0dGluZyBjb2xvciB0byBsaWdodGdyZWVuIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFT
UyBTZXR0aW5nIGNvbG9yIHRvIGxpZ2h0Z3JleSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1Mg
U2V0dGluZyBjb2xvciB0byBsaWdodHBpbmsgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNl
dHRpbmcgY29sb3IgdG8gbGlnaHRzYWxtb24gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNl
dHRpbmcgY29sb3IgdG8gbGlnaHRzZWFncmVlbiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1Mg
U2V0dGluZyBjb2xvciB0byBsaWdodHNreWJsdWUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNT
IFNldHRpbmcgY29sb3IgdG8gbGlnaHRzbGF0ZWdyYXkgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQ
QVNTIFNldHRpbmcgY29sb3IgdG8gbGlnaHRzbGF0ZWdyZXkgd2FzIHN1Y2Nlc3NmdWxseSBzZXQu
CitQQVNTIFNldHRpbmcgY29sb3IgdG8gbGlnaHRzdGVlbGJsdWUgd2FzIHN1Y2Nlc3NmdWxseSBz
ZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbGlnaHR5ZWxsb3cgd2FzIHN1Y2Nlc3NmdWxseSBz
ZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbGltZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BB
U1MgU2V0dGluZyBjb2xvciB0byBsaW1lZ3JlZW4gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNT
IFNldHRpbmcgY29sb3IgdG8gbGluZW4gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRp
bmcgY29sb3IgdG8gbWFnZW50YSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBj
b2xvciB0byBtYXJvb24gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3Ig
dG8gbWVkaXVtYXF1YW1hcmluZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBj
b2xvciB0byBtZWRpdW1ibHVlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNv
bG9yIHRvIG1lZGl1bW9yY2hpZCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBj
b2xvciB0byBtZWRpdW1wdXJwbGUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcg
Y29sb3IgdG8gbWVkaXVtc2VhZ3JlZW4gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRp
bmcgY29sb3IgdG8gbWVkaXVtc2xhdGVibHVlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBT
ZXR0aW5nIGNvbG9yIHRvIG1lZGl1bXNwcmluZ2dyZWVuIHdhcyBzdWNjZXNzZnVsbHkgc2V0Lgor
UEFTUyBTZXR0aW5nIGNvbG9yIHRvIG1lZGl1bXR1cnF1b2lzZSB3YXMgc3VjY2Vzc2Z1bGx5IHNl
dC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBtZWRpdW12aW9sZXRyZWQgd2FzIHN1Y2Nlc3NmdWxs
eSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbWlkbmlnaHRibHVlIHdhcyBzdWNjZXNzZnVs
bHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIG1pbnRjcmVhbSB3YXMgc3VjY2Vzc2Z1bGx5
IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBtaXN0eXJvc2Ugd2FzIHN1Y2Nlc3NmdWxseSBz
ZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbW9jY2FzaW4gd2FzIHN1Y2Nlc3NmdWxseSBzZXQu
CitQQVNTIFNldHRpbmcgY29sb3IgdG8gbmF2YWpvd2hpdGUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQu
CitQQVNTIFNldHRpbmcgY29sb3IgdG8gbmF2eSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1Mg
U2V0dGluZyBjb2xvciB0byBvbGRsYWNlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0
aW5nIGNvbG9yIHRvIG9saXZlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNv
bG9yIHRvIG9saXZlZHJhYiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xv
ciB0byBvcmFuZ2Ugd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8g
b3JhbmdlcmVkIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIG9y
Y2hpZCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBwYWxlZ29s
ZGVucm9kIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHBhbGVn
cmVlbiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBwYWxldHVy
cXVvaXNlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHBhbGV2
aW9sZXRyZWQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gcGFw
YXlhd2hpcCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBwZWFj
aHB1ZmYgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gcGVydSB3
YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBwaW5rIHdhcyBzdWNj
ZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHBsdW0gd2FzIHN1Y2Nlc3NmdWxs
eSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gcG93ZGVyYmx1ZSB3YXMgc3VjY2Vzc2Z1bGx5
IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBwdXJwbGUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQu
CitQQVNTIFNldHRpbmcgY29sb3IgdG8gcm9zeWJyb3duIHdhcyBzdWNjZXNzZnVsbHkgc2V0Lgor
UEFTUyBTZXR0aW5nIGNvbG9yIHRvIHJveWFsYmx1ZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BB
U1MgU2V0dGluZyBjb2xvciB0byBzYWRkbGVicm93biB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BB
U1MgU2V0dGluZyBjb2xvciB0byBzYWxtb24gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNl
dHRpbmcgY29sb3IgdG8gc2FuZHlicm93biB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0
dGluZyBjb2xvciB0byBzZWFncmVlbiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGlu
ZyBjb2xvciB0byBzZWFzaGVsbCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBj
b2xvciB0byBzaWVubmEgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3Ig
dG8gc2lsdmVyIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHNr
eWJsdWUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gc2xhdGVi
bHVlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHNsYXRlZ3Jh
eSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBzbGF0ZWdyZXkg
d2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gc25vdyB3YXMgc3Vj
Y2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBzcHJpbmdncmVlbiB3YXMgc3Vj
Y2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBzdGVlbGJsdWUgd2FzIHN1Y2Nl
c3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gdGFuIHdhcyBzdWNjZXNzZnVsbHkg
c2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHRlYWwgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQ
QVNTIFNldHRpbmcgY29sb3IgdG8gdGhpc3RsZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1Mg
U2V0dGluZyBjb2xvciB0byB0b21hdG8gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRp
bmcgY29sb3IgdG8gdHVycXVvaXNlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5n
IGNvbG9yIHRvIHZpb2xldCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xv
ciB0byB3aGVhdCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byB3
aGl0ZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byB3aGl0ZXNt
b2tlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHllbGxvdyB3
YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byB5ZWxsb3dncmVlbiB3
YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byAjMGYwIHdhcyBzdWNj
ZXNzZnVsbHkgc2V0LgorRkFJTCBTZXR0aW5nIGNvbG9yIHRvICMwZjAsICNmMDAgd2FzIG5vdCBz
ZXQgYnV0IHNob3VsZCEKK1BBU1MgU2V0dGluZyBjb2xvciB0byBoc2woMTIwLCAxMDAlLCA1MCUp
IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGZvb2JhciB3YXMg
bm90IHNldCAoYXMgZXhwZWN0ZWQpLgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGNvdW50ZXIoZm9v
YmFyKSB3YXMgbm90IHNldCAoYXMgZXhwZWN0ZWQpLgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHVy
bChodHRwOi8vMTI3LjAuMC4xOjgwODAvKSB3YXMgbm90IHNldCAoYXMgZXhwZWN0ZWQpLgorUEFT
UyBTZXR0aW5nIGNvbG9yIHRvIGluaGVyaXRlZCB3YXMgbm90IHNldCAoYXMgZXhwZWN0ZWQpLgor
UEFTUyBTZXR0aW5nIGNvbG9yIHRvICMxMDAlIHdhcyBub3Qgc2V0IChhcyBleHBlY3RlZCkuCitQ
QVNTIFNldHRpbmcgY29sb3IgdG8gIzEwMHB4IHdhcyBub3Qgc2V0IChhcyBleHBlY3RlZCkuCitQ
QVNTIFNldHRpbmcgY29sb3IgdG8gLXdlYmtpdC12YXIoInRlc3QiKSB3YXMgbm90IHNldCAoYXMg
ZXhwZWN0ZWQpLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL3Rlc3Qtc2V0dGluZy1jYW52
YXMtY29sb3IuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3Rlc3Qtc2V0dGluZy1jYW52YXMt
Y29sb3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMWJiMjNmNGUwYTUxOTlhN2ZlZjdkYzdlN2MyNTA4NGI0
YzE5OGUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvdGVzdC1zZXR0
aW5nLWNhbnZhcy1jb2xvci5odG1sCkBAIC0wLDAgKzEsMjUzIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZhcyI+
Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3QgY2FzZSBmb3IgYnVnIDM5MTY4LiBUaGlzIHRl
c3RzIHRoZSBDU1MgY29sb3IgcGFyc2luZyBjb2RlIHVzaW5nICZsdDtjYW52YXMmZ3Q7LiIpOwor
CitmdW5jdGlvbiBsb2cobWVzc2FnZSkgeworICAgIHZhciBjb25zb2xlID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnNvbGUiKTsKKyAgICBjb25zb2xlLmFwcGVuZENoaWxkKGRvY3VtZW50
LmNyZWF0ZVRleHROb2RlKG1lc3NhZ2UpKTsKKyAgICBjb25zb2xlLmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoIkJSIikpOworfQorCit2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNhbnZhcyIpOwordmFyIGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCIyZCIp
OworCitmdW5jdGlvbiBzaG91bGRTdWNjZXNzZnVsbHlQYXJzZShjb2xvcikgeworICAgIGN0eC5m
aWxsU3R5bGUgPSAiI2YwMCI7CisgICAgY3R4LmZpbGxTdHlsZSA9IGNvbG9yOworICAgIC8vIENo
ZWNrIHRoYXQgdGhlcmUgaXMgbm8gcmVkLgorICAgIGlmIChjdHguZmlsbFN0eWxlLm1hdGNoKC9e
Iyg/IShGRjAwMDB8ZmYwMDAwfGYwMCkkKS8pKQorICAgICAgICB0ZXN0UGFzc2VkKCJTZXR0aW5n
IGNvbG9yIHRvICIgKyBjb2xvciArICIgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuIik7CisgICAgZWxz
ZQorICAgICAgICB0ZXN0RmFpbGVkKCJTZXR0aW5nIGNvbG9yIHRvICIgKyBjb2xvciArICIgd2Fz
IG5vdCBzZXQgYnV0IHNob3VsZCEiKTsKK30KKworZnVuY3Rpb24gc2hvdWxkTm90U3VjY2Vzc2Z1
bGx5UGFyc2UoY29sb3IpIHsKKyAgICBjdHguZmlsbFN0eWxlID0gIiMwZjAiOworICAgIGN0eC5m
aWxsU3R5bGUgPSBjb2xvcjsKKyAgICAvLyBDaGVjayB0aGF0IHRoZSBjb2xvciBpcyBzdGlsbCBn
cmVlbi4KKyAgICBpZiAoY3R4LmZpbGxTdHlsZS5tYXRjaCgvXiMoMDBGRjAwfDAwZmYwMHwwZjAp
JC8pKQorICAgICAgICB0ZXN0UGFzc2VkKCJTZXR0aW5nIGNvbG9yIHRvICIgKyBjb2xvciArICIg
d2FzIG5vdCBzZXQgKGFzIGV4cGVjdGVkKS4iKTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWls
ZWQoIlNldHRpbmcgY29sb3IgdG8gIiArIGNvbG9yICsgIiB3YXMgc3VjY2Vzc2Z1bGx5IHNldCBi
dXQgc2hvdWxkIG5vdCEiKTsKK30KKworLy8gVGFrZW4gZnJvbSBDU1MgMyBjb2xvci4KK3ZhciBk
ZXByZWNhdGVkU3lzdGVtQ29sb3JzID0gWworICAgICJBY3RpdmVCb3JkZXIiLAorICAgICJBY3Rp
dmVDYXB0aW9uIiwKKyAgICAiQXBwV29ya3NwYWNlIiwKKyAgICAiQmFja2dyb3VuZCIsCisgICAg
IkJ1dHRvbkZhY2UiLAorICAgICJCdXR0b25IaWdobGlnaHQiLAorICAgICJCdXR0b25TaGFkb3ci
LAorICAgICJCdXR0b25UZXh0IiwKKyAgICAiQ2FwdGlvblRleHQiLAorICAgICJHcmF5VGV4dCIs
CisgICAgIkhpZ2hsaWdodCIsCisgICAgIkhpZ2hsaWdodFRleHQiLAorICAgICJJbmFjdGl2ZUJv
cmRlciIsCisgICAgIkluYWN0aXZlQ2FwdGlvbiIsCisgICAgIkluYWN0aXZlQ2FwdGlvblRleHQi
LAorICAgICJJbmZvQmFja2dyb3VuZCIsCisgICAgIkluZm9UZXh0IiwKKyAgICAiTWVudSIsCisg
ICAgIk1lbnVUZXh0IiwKKyAgICAiU2Nyb2xsYmFyIiwKKyAgICAiVGhyZWVERGFya1NoYWRvdyIs
CisgICAgIlRocmVlREZhY2UiLAorICAgICJUaHJlZURIaWdobGlnaHQiLAorICAgICJUaHJlZURM
aWdodFNoYWRvdyIsCisgICAgIlRocmVlRFNoYWRvdyIsCisgICAgIldpbmRvdyIsCisgICAgIldp
bmRvd0ZyYW1lIiwKKyAgICAiV2luZG93VGV4dCIKK107CisKKy8vIFZhbGlkIHZhbHVlcyBwYXNz
ZWQgaW4gY29sb3IgbWF0Y2hpbmcuCitmb3IgKHZhciBpID0gMDsgaSA8IGRlcHJlY2F0ZWRTeXN0
ZW1Db2xvcnMubGVuZ3RoOyArK2kpIHsKKyAgICBzaG91bGRTdWNjZXNzZnVsbHlQYXJzZShkZXBy
ZWNhdGVkU3lzdGVtQ29sb3JzW2ldKTsKKyAgICBzaG91bGRTdWNjZXNzZnVsbHlQYXJzZShkZXBy
ZWNhdGVkU3lzdGVtQ29sb3JzW2ldLnRvTG93ZXJDYXNlKCkpOworfQorCisvLyBUYWtlbiBmcm9t
IENTUyAzIGNvbG9yLgordmFyIHN2Z0NvbG9ycyA9IFsKKyAgICAiYWxpY2VibHVlIiwKKyAgICAi
YW50aXF1ZXdoaXRlIiwKKyAgICAiYXF1YSIsCisgICAgImFxdWFtYXJpbmUiLAorICAgICJhenVy
ZSIsCisgICAgImJlaWdlIiwKKyAgICAiYmlzcXVlIiwKKyAgICAiYmxhY2siLAorICAgICJibGFu
Y2hlZGFsbW9uZCIsCisgICAgImJsdWUiLAorICAgICJibHVldmlvbGV0IiwKKyAgICAiYnJvd24i
LAorICAgICJidXJseXdvb2QiLAorICAgICJjYWRldGJsdWUiLAorICAgICJjaGFydHJldXNlIiwK
KyAgICAiY2hvY29sYXRlIiwKKyAgICAiY29yYWwiLAorICAgICJjb3JuZmxvd2VyYmx1ZSIsCisg
ICAgImNvcm5zaWxrIiwKKyAgICAiY3JpbXNvbiIsCisgICAgImN5YW4iLAorICAgICJkYXJrYmx1
ZSIsCisgICAgImRhcmtjeWFuIiwKKyAgICAiZGFya2dvbGRlbnJvZCIsCisgICAgImRhcmtncmF5
IiwKKyAgICAiZGFya2dyZWVuIiwKKyAgICAiZGFya2dyZXkiLAorICAgICJkYXJra2hha2kiLAor
ICAgICJkYXJrbWFnZW50YSIsCisgICAgImRhcmtvbGl2ZWdyZWVuIiwKKyAgICAiZGFya29yYW5n
ZSIsCisgICAgImRhcmtvcmNoaWQiLAorICAgICJkYXJrcmVkIiwKKyAgICAiZGFya3NhbG1vbiIs
CisgICAgImRhcmtzZWFncmVlbiIsCisgICAgImRhcmtzbGF0ZWJsdWUiLAorICAgICJkYXJrc2xh
dGVncmF5IiwKKyAgICAiZGFya3NsYXRlZ3JleSIsCisgICAgImRhcmt0dXJxdW9pc2UiLAorICAg
ICJkYXJrdmlvbGV0IiwKKyAgICAiZGVlcHBpbmsiLAorICAgICJkZWVwc2t5Ymx1ZSIsCisgICAg
ImRpbWdyYXkiLAorICAgICJkaW1ncmV5IiwKKyAgICAiZG9kZ2VyYmx1ZSIsCisgICAgImZpcmVi
cmljayIsCisgICAgImZsb3JhbHdoaXRlIiwKKyAgICAiZm9yZXN0Z3JlZW4iLAorICAgICJmdWNo
c2lhIiwKKyAgICAiZ2FpbnNib3JvIiwKKyAgICAiZ2hvc3R3aGl0ZSIsCisgICAgImdvbGQiLAor
ICAgICJnb2xkZW5yb2QiLAorICAgICJncmF5IiwKKyAgICAiZ3JlZW4iLAorICAgICJncmVlbnll
bGxvdyIsCisgICAgImdyZXkiLAorICAgICJob25leWRldyIsCisgICAgImhvdHBpbmsiLAorICAg
ICJpbmRpYW5yZWQiLAorICAgICJpbmRpZ28iLAorICAgICJpdm9yeSIsCisgICAgImtoYWtpIiwK
KyAgICAibGF2ZW5kZXIiLAorICAgICJsYXZlbmRlcmJsdXNoIiwKKyAgICAibGF3bmdyZWVuIiwK
KyAgICAibGVtb25jaGlmZm9uIiwKKyAgICAibGlnaHRibHVlIiwKKyAgICAibGlnaHRjb3JhbCIs
CisgICAgImxpZ2h0Y3lhbiIsCisgICAgImxpZ2h0Z29sZGVucm9keWVsbG93IiwKKyAgICAibGln
aHRncmF5IiwKKyAgICAibGlnaHRncmVlbiIsCisgICAgImxpZ2h0Z3JleSIsCisgICAgImxpZ2h0
cGluayIsCisgICAgImxpZ2h0c2FsbW9uIiwKKyAgICAibGlnaHRzZWFncmVlbiIsCisgICAgImxp
Z2h0c2t5Ymx1ZSIsCisgICAgImxpZ2h0c2xhdGVncmF5IiwKKyAgICAibGlnaHRzbGF0ZWdyZXki
LAorICAgICJsaWdodHN0ZWVsYmx1ZSIsCisgICAgImxpZ2h0eWVsbG93IiwKKyAgICAibGltZSIs
CisgICAgImxpbWVncmVlbiIsCisgICAgImxpbmVuIiwKKyAgICAibWFnZW50YSIsCisgICAgIm1h
cm9vbiIsCisgICAgIm1lZGl1bWFxdWFtYXJpbmUiLAorICAgICJtZWRpdW1ibHVlIiwKKyAgICAi
bWVkaXVtb3JjaGlkIiwKKyAgICAibWVkaXVtcHVycGxlIiwKKyAgICAibWVkaXVtc2VhZ3JlZW4i
LAorICAgICJtZWRpdW1zbGF0ZWJsdWUiLAorICAgICJtZWRpdW1zcHJpbmdncmVlbiIsCisgICAg
Im1lZGl1bXR1cnF1b2lzZSIsCisgICAgIm1lZGl1bXZpb2xldHJlZCIsCisgICAgIm1pZG5pZ2h0
Ymx1ZSIsCisgICAgIm1pbnRjcmVhbSIsCisgICAgIm1pc3R5cm9zZSIsCisgICAgIm1vY2Nhc2lu
IiwKKyAgICAibmF2YWpvd2hpdGUiLAorICAgICJuYXZ5IiwKKyAgICAib2xkbGFjZSIsCisgICAg
Im9saXZlIiwKKyAgICAib2xpdmVkcmFiIiwKKyAgICAib3JhbmdlIiwKKyAgICAib3JhbmdlcmVk
IiwKKyAgICAib3JjaGlkIiwKKyAgICAicGFsZWdvbGRlbnJvZCIsCisgICAgInBhbGVncmVlbiIs
CisgICAgInBhbGV0dXJxdW9pc2UiLAorICAgICJwYWxldmlvbGV0cmVkIiwKKyAgICAicGFwYXlh
d2hpcCIsCisgICAgInBlYWNocHVmZiIsCisgICAgInBlcnUiLAorICAgICJwaW5rIiwKKyAgICAi
cGx1bSIsCisgICAgInBvd2RlcmJsdWUiLAorICAgICJwdXJwbGUiLAorICAgIC8vIFdlIGRvIG5v
dCB0ZXN0IHJlZC4KKyAgICAicm9zeWJyb3duIiwKKyAgICAicm95YWxibHVlIiwKKyAgICAic2Fk
ZGxlYnJvd24iLAorICAgICJzYWxtb24iLAorICAgICJzYW5keWJyb3duIiwKKyAgICAic2VhZ3Jl
ZW4iLAorICAgICJzZWFzaGVsbCIsCisgICAgInNpZW5uYSIsCisgICAgInNpbHZlciIsCisgICAg
InNreWJsdWUiLAorICAgICJzbGF0ZWJsdWUiLAorICAgICJzbGF0ZWdyYXkiLAorICAgICJzbGF0
ZWdyZXkiLAorICAgICJzbm93IiwKKyAgICAic3ByaW5nZ3JlZW4iLAorICAgICJzdGVlbGJsdWUi
LAorICAgICJ0YW4iLAorICAgICJ0ZWFsIiwKKyAgICAidGhpc3RsZSIsCisgICAgInRvbWF0byIs
CisgICAgInR1cnF1b2lzZSIsCisgICAgInZpb2xldCIsCisgICAgIndoZWF0IiwKKyAgICAid2hp
dGUiLAorICAgICJ3aGl0ZXNtb2tlIiwKKyAgICAieWVsbG93IiwKKyAgICAieWVsbG93Z3JlZW4i
CitdOworCisvLyBWYWxpZCB2YWx1ZXMgcGFzc2VkIGluIGNvbG9yIG1hdGNoaW5nLgorZm9yICh2
YXIgaSA9IDA7IGkgPCBzdmdDb2xvcnMubGVuZ3RoOyArK2kpCisgICAgc2hvdWxkU3VjY2Vzc2Z1
bGx5UGFyc2Uoc3ZnQ29sb3JzW2ldKTsKKworCitzaG91bGRTdWNjZXNzZnVsbHlQYXJzZSgiIzBm
MCIpOworc2hvdWxkU3VjY2Vzc2Z1bGx5UGFyc2UoIiMwZjAsICNmMDAiKTsKK3Nob3VsZFN1Y2Nl
c3NmdWxseVBhcnNlKCJoc2woMTIwLCAxMDAlLCA1MCUpIik7IC8vIEdyZWVuIEhTTAorCisvLyBJ
bnZhbGlkIHZhbHVlcy4KK3Nob3VsZE5vdFN1Y2Nlc3NmdWxseVBhcnNlKCJmb29iYXIiKTsKK3No
b3VsZE5vdFN1Y2Nlc3NmdWxseVBhcnNlKCJjb3VudGVyKGZvb2JhcikiKTsKK3Nob3VsZE5vdFN1
Y2Nlc3NmdWxseVBhcnNlKCJ1cmwoaHR0cDovLzEyNy4wLjAuMTo4MDgwLykiKTsKK3Nob3VsZE5v
dFN1Y2Nlc3NmdWxseVBhcnNlKCJpbmhlcml0ZWQiKTsKK3Nob3VsZE5vdFN1Y2Nlc3NmdWxseVBh
cnNlKCIjMTAwJSIpOworc2hvdWxkTm90U3VjY2Vzc2Z1bGx5UGFyc2UoIiMxMDBweCIpOworc2hv
dWxkTm90U3VjY2Vzc2Z1bGx5UGFyc2UoJy13ZWJraXQtdmFyKCJ0ZXN0IiknKTsKKworc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
U2tpcHBlZAppbmRleCA5OThjN2M0Yzg5NGQ4YmFkZjY1MTM0Y2FiNjQzZWM0MDNhZWFiY2ZhLi5h
YzU4YTViN2MzM2I1OTFhNjFkNTM4ZWQyMWNiNDk5NDA0MjZkOTg3IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvU2tpcHBlZApAQCAtMTg4LDcgKzE4OCw2IEBAIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZHJh
d0ltYWdlLm51bGwuaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5maWxsU3R5bGUucGFyc2Uu
Y3VycmVudC5iYXNpYy5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmZpbGxTdHlsZS5wYXJz
ZS5jdXJyZW50LmNoYW5nZWQuaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5maWxsU3R5bGUu
cGFyc2UuY3VycmVudC5yZW1vdmVkLmh0bWwKLWNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZmlsbFN0
eWxlLnBhcnNlLnN5c3RlbS5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmdyYWRpZW50LnJh
ZGlhbC5jb25lLmZyb250Lmh0bWwKIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZ3JhZGllbnQucmFk
aWFsLmNvbmUudG9wLmh0bWwKIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZ3JhZGllbnQucmFkaWFs
Lmluc2lkZTIuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBl
ZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggMmMzZjRjODYxYjA0NDFh
M2FlZTc5YmJhMzA2NDIwOWZkYjI4NTczOC4uNjIxNWE1MzFmYjRiOTAwZGNjZjlmZTZmN2RjNzY3
MWFjMzU3ZDc0YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC01MjI2LDcgKzUyMjYsNiBA
QCBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmRyYXdJbWFnZS5udWxsLmh0bWwKIGNhbnZhcy9waGls
aXAvdGVzdHMvMmQuZmlsbFN0eWxlLnBhcnNlLmN1cnJlbnQuYmFzaWMuaHRtbAogY2FudmFzL3Bo
aWxpcC90ZXN0cy8yZC5maWxsU3R5bGUucGFyc2UuY3VycmVudC5jaGFuZ2VkLmh0bWwKIGNhbnZh
cy9waGlsaXAvdGVzdHMvMmQuZmlsbFN0eWxlLnBhcnNlLmN1cnJlbnQucmVtb3ZlZC5odG1sCi1j
YW52YXMvcGhpbGlwL3Rlc3RzLzJkLmZpbGxTdHlsZS5wYXJzZS5zeXN0ZW0uaHRtbAogY2FudmFz
L3BoaWxpcC90ZXN0cy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZWhpbmQuaHRtbAogY2FudmFz
L3BoaWxpcC90ZXN0cy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZXNpZGUuaHRtbAogY2FudmFz
L3BoaWxpcC90ZXN0cy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5ib3R0b20uaHRtbApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxMzk5NmYx
OGYzZWZjZTNjZmY0ZjNjMGZlMTk3ODM0ZDE0MjQ3MjM2Li5mYmJlNTQ3ODA5YzA0YTEzMzBmY2Nk
NzZkNTA4N2UyZWZiMjJiMjVlIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEwLTA5LTEwICBKdWxpZW4gQ2hh
ZmZyYWl4ICA8amNoYWZmcmFpeEBjb2RlYXVyb3JhLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXJzZSBzeXN0ZW0gY29sb3JzIGluIHRoZSBI
VE1MNSBjYW52YXMgY29udGV4dC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM5MTY4CisKKyAgICAgICAgVGVzdDogZmFzdC9jc3MvdGVzdC1zZXR0aW5n
LWNhbnZhcy1jb2xvci5odG1sCisKKyAgICAgICAgQmFzZWQgb24gcHJldmlvdXMgd29yayBieSBK
YW4gRXJpayBIYW5zc2VuICA8amhhbnNzZW5AY29kZWF1cm9yYS5vcmc+CisKKyAgICAgICAgKiBj
c3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VDb2xv
cik6IENoYW5nZWQgdGhlIGZ1bmN0aW9uIHRvIGJldHRlciBtYXRjaCBvdXIKKyAgICAgICAgZWFy
bHkgcmV0dXJuIHBvbGljeS4gQWxzbyB3ZSBub3cgcmV0dXJuIGZhbHNlIHdoZW4gd2UgZG9uJ3Qg
cGFyc2UgdGhlIGNvbG9yLgorICAgICAgICBUaGlzIGlzIG5lZWRlZCBmb3IgY3JlYXRlRnJvbVN0
cmluZyB0byBmYWxsYmFjayB0byB1c2luZyBwYXJzZVN5c3RlbUNvbG9yLgorCisgICAgICAgIChX
ZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlU3lzdGVtQ29sb3IpOiBNYWRlIHVzZSBvZiB0aGUgUmVu
ZGVyVGhlbWUgdG8gZ2V0CisgICAgICAgIHRoZSBzeXN0ZW0gY29sb3JzLgorCisgICAgICAgICog
Y3NzL0NTU1BhcnNlci5oOiBBZGRlZCB0aGUgbmV3IHBhcnNlU3lzdGVtQ29sb3IgbWV0aG9kLgor
CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6c2V0U3Ryb2tlQ29sb3Ip
OiBQYXNzIHRoZSBkb2N1bWVudCB0byBjcmVhdGVGcm9tU3RyaW5nLgorICAgICAgICAoV2ViQ29y
ZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpzZXRGaWxsQ29sb3IpOiBEaXR0by4KKyAgICAg
ICAgKiBodG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYW52
YXNTdHlsZTo6Y3JlYXRlRnJvbVN0cmluZyk6IFRyeSB0byBwYXJzZSB0aGUgY29sb3IgdXNpbmcg
Q1NTUGFyc2VyOjpwYXJzZUNvbG9yCisgICAgICAgIGFuZCBmYWxsIGJhY2sgdG8gcGFyc2VTeXN0
ZW1Db2xvciBpZiBpdCBkaWQgbm90IHdvcmsuCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52
YXNTdHlsZS5oOiBBZGRlZCB0aGUgbmV3IERvY3VtZW50KiBwYXJhbWV0ZXIgdG8gY3JlYXRlRnJv
bVN0cmluZy4KKwogMjAxMC0wOS0xMCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmNwcCBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggN2MzNTcz
OWU5ZjRiNjgxYTc1MGNlY2YwMWY3NTg5NTVhYWFhYjI0YS4uMjc0NTY2MDYxZDQ2N2RhMDYxNmE0
YWZkNjA2YWQzZGRjOTA0YTljMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNw
cAorKysgYi9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC02Myw4ICs2MywxMCBAQAogI2lu
Y2x1ZGUgIkZvbnRWYWx1ZS5oIgogI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgogI2luY2x1ZGUgIk1l
ZGlhUXVlcnlFeHAuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUGFpci5oIgogI2lu
Y2x1ZGUgIlJlY3QuaCIKKyNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogI2luY2x1ZGUgIlNoYWRv
d1ZhbHVlLmgiCiAjaW5jbHVkZSAiV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAi
V2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5oIgpAQCAtMjkzLDEyICsyOTUsMTUgQEAgYm9vbCBDU1NQ
YXJzZXI6OnBhcnNlQ29sb3IoUkdCQTMyJiBjb2xvciwgY29uc3QgU3RyaW5nJiBzdHJpbmcsIGJv
b2wgc3RyaWN0KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBDU1NWYWx1ZSogdmFsdWUg
PSBwYXJzZXIubV9wYXJzZWRQcm9wZXJ0aWVzWzBdLT52YWx1ZSgpOwotICAgIGlmICh2YWx1ZS0+
Y3NzVmFsdWVUeXBlKCkgPT0gQ1NTVmFsdWU6OkNTU19QUklNSVRJVkVfVkFMVUUpIHsKLSAgICAg
ICAgQ1NTUHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NTUHJp
bWl0aXZlVmFsdWUqPih2YWx1ZSk7CisgICAgaWYgKHZhbHVlLT5jc3NWYWx1ZVR5cGUoKSAhPSBD
U1NWYWx1ZTo6Q1NTX1BSSU1JVElWRV9WQUxVRSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgQ1NTUHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NTUHJp
bWl0aXZlVmFsdWUqPih2YWx1ZSk7CisgICAgaWYgKHByaW1pdGl2ZVZhbHVlLT5wcmltaXRpdmVU
eXBlKCkgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19SR0JDT0xPUikgewogICAgICAgICBjb2xv
ciA9IHByaW1pdGl2ZVZhbHVlLT5nZXRSR0JBMzJWYWx1ZSgpOworICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9Ci0KLSAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIGJv
b2wgQ1NTUGFyc2VyOjpwYXJzZUNvbG9yKENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBkZWNs
YXJhdGlvbiwgY29uc3QgU3RyaW5nJiBzdHJpbmcpCkBAIC0zMTMsNiArMzE4LDIyIEBAIGJvb2wg
Q1NTUGFyc2VyOjpwYXJzZUNvbG9yKENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBkZWNsYXJh
dGlvbiwgY29uc3QgU3RyaW5nCiAgICAgcmV0dXJuIChtX251bVBhcnNlZFByb3BlcnRpZXMgJiYg
bV9wYXJzZWRQcm9wZXJ0aWVzWzBdLT5tX2lkID09IENTU1Byb3BlcnR5Q29sb3IpOwogfQogCiti
b29sIENTU1BhcnNlcjo6cGFyc2VTeXN0ZW1Db2xvcihSR0JBMzImIGNvbG9yLCBjb25zdCBTdHJp
bmcmIHN0cmluZywgRG9jdW1lbnQqIGRvY3VtZW50KQoreworICAgIGlmICghZG9jdW1lbnQgfHwg
IWRvY3VtZW50LT5wYWdlKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIENTU1BhcnNl
clN0cmluZyBjc3NDb2xvcjsKKyAgICBjc3NDb2xvci5jaGFyYWN0ZXJzID0gY29uc3RfY2FzdDxV
Q2hhcio+KHN0cmluZy5jaGFyYWN0ZXJzKCkpOworICAgIGNzc0NvbG9yLmxlbmd0aCA9IHN0cmlu
Zy5sZW5ndGgoKTsKKyAgICBpbnQgaWQgPSBjc3NWYWx1ZUtleXdvcmRJRChjc3NDb2xvcik7Cisg
ICAgaWYgKGlkIDw9IDApCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGNvbG9yID0gZG9j
dW1lbnQtPnBhZ2UoKS0+dGhlbWUoKS0+c3lzdGVtQ29sb3IoaWQpLnJnYigpOworICAgIHJldHVy
biB0cnVlOworfQorCiB2b2lkIENTU1BhcnNlcjo6cGFyc2VTZWxlY3Rvcihjb25zdCBTdHJpbmcm
IHN0cmluZywgRG9jdW1lbnQqIGRvYywgQ1NTU2VsZWN0b3JMaXN0JiBzZWxlY3Rvckxpc3QpCiB7
CiAgICAgUmVmUHRyPENTU1N0eWxlU2hlZXQ+IGR1bW15U3R5bGVTaGVldCA9IENTU1N0eWxlU2hl
ZXQ6OmNyZWF0ZShkb2MpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmggYi9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCA0N2YwYmVkNjY2MmM4NzE0NWNmMWM1NmVmNWJh
ZDdlZGMyYzgwNDBjLi5mZmY0ZWZlYWU1NjJjM2E4NzUwMzcyNmJiODRlYTliYTkwNTBlMmZlIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NQ
YXJzZXIuaApAQCAtNjUsNiArNjUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFBh
c3NSZWZQdHI8Q1NTUnVsZT4gcGFyc2VLZXlmcmFtZVJ1bGUoQ1NTU3R5bGVTaGVldCosIGNvbnN0
IFN0cmluZyYpOwogICAgICAgICBib29sIHBhcnNlVmFsdWUoQ1NTTXV0YWJsZVN0eWxlRGVjbGFy
YXRpb24qLCBpbnQgcHJvcElkLCBjb25zdCBTdHJpbmcmLCBib29sIGltcG9ydGFudCk7CiAgICAg
ICAgIHN0YXRpYyBib29sIHBhcnNlQ29sb3IoUkdCQTMyJiBjb2xvciwgY29uc3QgU3RyaW5nJiwg
Ym9vbCBzdHJpY3QgPSBmYWxzZSk7CisgICAgICAgIHN0YXRpYyBib29sIHBhcnNlU3lzdGVtQ29s
b3IoUkdCQTMyJiBjb2xvciwgY29uc3QgU3RyaW5nJiwgRG9jdW1lbnQqKTsKICAgICAgICAgYm9v
bCBwYXJzZUNvbG9yKENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiwgY29uc3QgU3RyaW5nJik7
CiAgICAgICAgIGJvb2wgcGFyc2VEZWNsYXJhdGlvbihDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlv
biosIGNvbnN0IFN0cmluZyYpOwogICAgICAgICBib29sIHBhcnNlTWVkaWFRdWVyeShNZWRpYUxp
c3QqLCBjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJELmNwcAppbmRleCAzMzg5NjBjNmFmMmM0NDJjZTcxYTAwMjUzMTcxMTc0
ODdiNjQ3NjZkLi42MjEwNzk3NGUwM2JjMTcwMGU2NzA3ZDEzYmIxZjhiY2I1Nzc1N2ZlIDEwMDc1
NQotLS0gYS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAK
KysrIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCkBA
IC01Myw2ICs1Myw3IEBACiAjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNp
bmNsdWRlICJSZW5kZXJIVE1MQ2FudmFzLmgiCisjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKICNp
bmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVk
ZSAiU3Ryb2tlU3R5bGVBcHBsaWVyLmgiCkBAIC01NjksNyArNTcwLDcgQEAgdm9pZCBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQ6OnNldFN0cm9rZUNvbG9yKGNvbnN0IFN0cmluZyYgY29sb3IpCiB7
CiAgICAgaWYgKGNvbG9yID09IHN0YXRlKCkubV91bnBhcnNlZFN0cm9rZUNvbG9yKQogICAgICAg
ICByZXR1cm47Ci0gICAgc2V0U3Ryb2tlU3R5bGUoQ2FudmFzU3R5bGU6OmNyZWF0ZUZyb21TdHJp
bmcoY29sb3IpKTsKKyAgICBzZXRTdHJva2VTdHlsZShDYW52YXNTdHlsZTo6Y3JlYXRlRnJvbVN0
cmluZyhjb2xvciwgY2FudmFzKCktPmRvY3VtZW50KCkpKTsKICAgICBzdGF0ZSgpLm1fdW5wYXJz
ZWRTdHJva2VDb2xvciA9IGNvbG9yOwogfQogCkBAIC02MTAsNyArNjExLDcgQEAgdm9pZCBDYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnNldEZpbGxDb2xvcihjb25zdCBTdHJpbmcmIGNvbG9yKQog
ewogICAgIGlmIChjb2xvciA9PSBzdGF0ZSgpLm1fdW5wYXJzZWRGaWxsQ29sb3IpCiAgICAgICAg
IHJldHVybjsKLSAgICBzZXRGaWxsU3R5bGUoQ2FudmFzU3R5bGU6OmNyZWF0ZUZyb21TdHJpbmco
Y29sb3IpKTsKKyAgICBzZXRGaWxsU3R5bGUoQ2FudmFzU3R5bGU6OmNyZWF0ZUZyb21TdHJpbmco
Y29sb3IsIGNhbnZhcygpLT5kb2N1bWVudCgpKSk7CiAgICAgc3RhdGUoKS5tX3VucGFyc2VkRmls
bENvbG9yID0gY29sb3I7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2Fu
dmFzU3R5bGUuY3BwIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHAKaW5kZXgg
ZmQzYzZlNWEzMjNjMWI3NDZlMDU1Y2NhZjc3YTE3ODdmZmI1YTFhNy4uMGIxMzlhNGE0OWE4NzA1
OGIyZTE5MTc4ZDQyYzczZTRlMzU0MTZmMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNTdHlsZS5jcHAKKysrIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5j
cHAKQEAgLTg2LDEyICs4NiwxNiBAQCBDYW52YXNTdHlsZTo6Q2FudmFzU3R5bGUoUGFzc1JlZlB0
cjxDYW52YXNQYXR0ZXJuPiBwYXR0ZXJuKQogewogfQogCi1QYXNzUmVmUHRyPENhbnZhc1N0eWxl
PiBDYW52YXNTdHlsZTo6Y3JlYXRlRnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIGNvbG9yKQorUGFz
c1JlZlB0cjxDYW52YXNTdHlsZT4gQ2FudmFzU3R5bGU6OmNyZWF0ZUZyb21TdHJpbmcoY29uc3Qg
U3RyaW5nJiBjb2xvciwgRG9jdW1lbnQqIGRvY3VtZW50KQogewogICAgIFJHQkEzMiByZ2JhOwot
ICAgIGlmICghQ1NTUGFyc2VyOjpwYXJzZUNvbG9yKHJnYmEsIGNvbG9yKSkKLSAgICAgICAgcmV0
dXJuIDA7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYW52YXNTdHlsZShyZ2JhKSk7CisgICAg
aWYgKENTU1BhcnNlcjo6cGFyc2VDb2xvcihyZ2JhLCBjb2xvcikpCisgICAgICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgQ2FudmFzU3R5bGUocmdiYSkpOworCisgICAgaWYgKENTU1BhcnNlcjo6cGFy
c2VTeXN0ZW1Db2xvcihyZ2JhLCBjb2xvciwgZG9jdW1lbnQpKQorICAgICAgICByZXR1cm4gYWRv
cHRSZWYobmV3IENhbnZhc1N0eWxlKHJnYmEpKTsKKworICAgIHJldHVybiAwOwogfQogCiBQYXNz
UmVmUHRyPENhbnZhc1N0eWxlPiBDYW52YXNTdHlsZTo6Y3JlYXRlRnJvbVN0cmluZ1dpdGhPdmVy
cmlkZUFscGhhKGNvbnN0IFN0cmluZyYgY29sb3IsIGZsb2F0IGFscGhhKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5oIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9D
YW52YXNTdHlsZS5oCmluZGV4IDNjYTc2MGE2OGQwYWZkNTJiYTNkNWUyZDI2OTg0NDBkMjgxNTA3
NzEuLmI0NjNjM2YwYTUxM2ZjZmQ2NjI5NDIzOTAxMDk1Y2VlMWNmMGZjNDQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaAorKysgYi9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0NhbnZhc1N0eWxlLmgKQEAgLTM0LDEyICszNCwxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKICAgICBjbGFzcyBDYW52YXNHcmFkaWVudDsKICAgICBjbGFzcyBDYW52YXNQYXR0ZXJuOwor
ICAgIGNsYXNzIERvY3VtZW50OwogICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIAogICAgIGNs
YXNzIENhbnZhc1N0eWxlIDogcHVibGljIFJlZkNvdW50ZWQ8Q2FudmFzU3R5bGU+IHsKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENhbnZhc1N0eWxlPiBjcmVhdGVGcm9t
UkdCQShSR0JBMzIgcmdiYSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENhbnZhc1N0eWxlKHJnYmEp
KTsgfQotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDYW52YXNTdHlsZT4gY3JlYXRlRnJvbVN0
cmluZyhjb25zdCBTdHJpbmcmIGNvbG9yKTsKKyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2Fu
dmFzU3R5bGU+IGNyZWF0ZUZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBjb2xvciwgRG9jdW1lbnQq
ID0gMCk7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENhbnZhc1N0eWxlPiBjcmVhdGVGcm9t
U3RyaW5nV2l0aE92ZXJyaWRlQWxwaGEoY29uc3QgU3RyaW5nJiBjb2xvciwgZmxvYXQgYWxwaGEp
OwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDYW52YXNTdHlsZT4gY3JlYXRlRnJvbUdyYXlM
ZXZlbFdpdGhBbHBoYShmbG9hdCBncmF5TGV2ZWwsIGZsb2F0IGFscGhhKSB7IHJldHVybiBhZG9w
dFJlZihuZXcgQ2FudmFzU3R5bGUoZ3JheUxldmVsLCBhbHBoYSkpOyB9CiAgICAgICAgIHN0YXRp
YyBQYXNzUmVmUHRyPENhbnZhc1N0eWxlPiBjcmVhdGVGcm9tUkdCQUNoYW5uZWxzKGZsb2F0IHIs
IGZsb2F0IGcsIGZsb2F0IGIsIGZsb2F0IGEpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYW52YXNT
dHlsZShyLCBnLCBiLCBhKSk7IH0KCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68492</attachid>
            <date>2010-09-22 19:16:12 -0700</date>
            <delta_ts>2011-02-13 10:10:25 -0800</delta_ts>
            <desc>Another iteration: Same as previously but added a work-around for the lack of &apos;transparent&apos; color support</desc>
            <filename>bug39168-philip.parse.system-updated-2.diff</filename>
            <type>text/plain</type>
            <size>30040</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5NjEwMTA4NDdlMTU2N2M0ZGY4MzA2ZDIwYjQ3Yjk5YTk4OTFmZDRhLi4zY2Q0YWZi
ZDc3MGVhMjIxNGE0Yzc2MTAxNjkwMTllNWY2MDgxMzcwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTAtMDktMjAgIEp1bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QGNvZGVhdXJvcmEub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Qg
Zm9yOiBQYXJzZSBzeXN0ZW0gY29sb3JzIGluIHRoZSBIVE1MNSBjYW52YXMgY29udGV4dC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5MTY4CisKKyAg
ICAgICAgVGhpcyB0ZXN0cyB0aGF0IHN2ZyBjb2xvciwgZGVwcmVjYXRlZCBzeXN0ZW0gY29sb3Ig
YW5kIGRpZmZlcmVudAorICAgICAgICB0eXBlIG9mIGNvbG9ycyBhbmQgaW52YWxpZCBpbnB1dHMg
YXJlIHN0aWxsIHBhcnNlZCBhcyBzdWNoLgorCisgICAgICAgICogZmFzdC9jc3MvdGVzdC1zZXR0
aW5nLWNhbnZhcy1jb2xvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3Nz
L3Rlc3Qtc2V0dGluZy1jYW52YXMtY29sb3IuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vbWFjL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKwogMjAxMC0w
OS0yMCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9j
c3MvdGVzdC1zZXR0aW5nLWNhbnZhcy1jb2xvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy90ZXN0LXNldHRpbmctY2FudmFzLWNvbG9yLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hYTJiODlkZDYzYzJlZDVmYTE5N2QzOWUyYTM0YmY5Y2M4NGM2NmFmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvdGVzdC1zZXR0aW5nLWNhbnZhcy1jb2xvci1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwyMjEgQEAKK1Rlc3QgY2FzZSBmb3IgYnVnIDM5MTY4LiBUaGlz
IHRlc3RzIHRoZSBDU1MgY29sb3IgcGFyc2luZyBjb2RlIHVzaW5nIDxjYW52YXM+LgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBTZXR0aW5nIGNvbG9yIHRvIEFjdGl2ZUJv
cmRlciB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBhY3RpdmVi
b3JkZXIgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gQWN0aXZl
Q2FwdGlvbiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBhY3Rp
dmVjYXB0aW9uIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIEFw
cFdvcmtzcGFjZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBh
cHB3b3Jrc3BhY2Ugd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8g
QmFja2dyb3VuZCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBi
YWNrZ3JvdW5kIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIEJ1
dHRvbkZhY2Ugd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gYnV0
dG9uZmFjZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBCdXR0
b25IaWdobGlnaHQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8g
YnV0dG9uaGlnaGxpZ2h0IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9y
IHRvIEJ1dHRvblNoYWRvdyB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xv
ciB0byBidXR0b25zaGFkb3cgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29s
b3IgdG8gQnV0dG9uVGV4dCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xv
ciB0byBidXR0b250ZXh0IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9y
IHRvIENhcHRpb25UZXh0IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9y
IHRvIGNhcHRpb250ZXh0IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9y
IHRvIEdyYXlUZXh0IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRv
IGdyYXl0ZXh0IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIEhp
Z2hsaWdodCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBoaWdo
bGlnaHQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gSGlnaGxp
Z2h0VGV4dCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBoaWdo
bGlnaHR0ZXh0IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIElu
YWN0aXZlQm9yZGVyIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRv
IGluYWN0aXZlYm9yZGVyIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9y
IHRvIEluYWN0aXZlQ2FwdGlvbiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBj
b2xvciB0byBpbmFjdGl2ZWNhcHRpb24gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRp
bmcgY29sb3IgdG8gSW5hY3RpdmVDYXB0aW9uVGV4dCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BB
U1MgU2V0dGluZyBjb2xvciB0byBpbmFjdGl2ZWNhcHRpb250ZXh0IHdhcyBzdWNjZXNzZnVsbHkg
c2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIEluZm9CYWNrZ3JvdW5kIHdhcyBzdWNjZXNzZnVs
bHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGluZm9iYWNrZ3JvdW5kIHdhcyBzdWNjZXNz
ZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIEluZm9UZXh0IHdhcyBzdWNjZXNzZnVs
bHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGluZm90ZXh0IHdhcyBzdWNjZXNzZnVsbHkg
c2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIE1lbnUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQ
QVNTIFNldHRpbmcgY29sb3IgdG8gbWVudSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0
dGluZyBjb2xvciB0byBNZW51VGV4dCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGlu
ZyBjb2xvciB0byBtZW51dGV4dCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBj
b2xvciB0byBTY3JvbGxiYXIgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29s
b3IgdG8gc2Nyb2xsYmFyIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9y
IHRvIFRocmVlRERhcmtTaGFkb3cgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcg
Y29sb3IgdG8gdGhyZWVkZGFya3NoYWRvdyB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0
dGluZyBjb2xvciB0byBUaHJlZURGYWNlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0
aW5nIGNvbG9yIHRvIHRocmVlZGZhY2Ugd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRp
bmcgY29sb3IgdG8gVGhyZWVESGlnaGxpZ2h0IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBT
ZXR0aW5nIGNvbG9yIHRvIHRocmVlZGhpZ2hsaWdodCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BB
U1MgU2V0dGluZyBjb2xvciB0byBUaHJlZURMaWdodFNoYWRvdyB3YXMgc3VjY2Vzc2Z1bGx5IHNl
dC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byB0aHJlZWRsaWdodHNoYWRvdyB3YXMgc3VjY2Vzc2Z1
bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBUaHJlZURTaGFkb3cgd2FzIHN1Y2Nlc3Nm
dWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gdGhyZWVkc2hhZG93IHdhcyBzdWNjZXNz
ZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIFdpbmRvdyB3YXMgc3VjY2Vzc2Z1bGx5
IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byB3aW5kb3cgd2FzIHN1Y2Nlc3NmdWxseSBzZXQu
CitQQVNTIFNldHRpbmcgY29sb3IgdG8gV2luZG93RnJhbWUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQu
CitQQVNTIFNldHRpbmcgY29sb3IgdG8gd2luZG93ZnJhbWUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQu
CitQQVNTIFNldHRpbmcgY29sb3IgdG8gV2luZG93VGV4dCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4K
K1BBU1MgU2V0dGluZyBjb2xvciB0byB3aW5kb3d0ZXh0IHdhcyBzdWNjZXNzZnVsbHkgc2V0Lgor
UEFTUyBTZXR0aW5nIGNvbG9yIHRvIGFsaWNlYmx1ZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BB
U1MgU2V0dGluZyBjb2xvciB0byBhbnRpcXVld2hpdGUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQ
QVNTIFNldHRpbmcgY29sb3IgdG8gYXF1YSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0
dGluZyBjb2xvciB0byBhcXVhbWFyaW5lIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0
aW5nIGNvbG9yIHRvIGF6dXJlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNv
bG9yIHRvIGJlaWdlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRv
IGJpc3F1ZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBibGFj
ayB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBibGFuY2hlZGFs
bW9uZCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBibHVlIHdh
cyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGJsdWV2aW9sZXQgd2Fz
IHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gYnJvd24gd2FzIHN1Y2Nl
c3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gYnVybHl3b29kIHdhcyBzdWNjZXNz
ZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGNhZGV0Ymx1ZSB3YXMgc3VjY2Vzc2Z1
bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBjaGFydHJldXNlIHdhcyBzdWNjZXNzZnVs
bHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGNob2NvbGF0ZSB3YXMgc3VjY2Vzc2Z1bGx5
IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBjb3JhbCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4K
K1BBU1MgU2V0dGluZyBjb2xvciB0byBjb3JuZmxvd2VyYmx1ZSB3YXMgc3VjY2Vzc2Z1bGx5IHNl
dC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBjb3Juc2lsayB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4K
K1BBU1MgU2V0dGluZyBjb2xvciB0byBjcmltc29uIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFT
UyBTZXR0aW5nIGNvbG9yIHRvIGN5YW4gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRp
bmcgY29sb3IgdG8gZGFya2JsdWUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcg
Y29sb3IgdG8gZGFya2N5YW4gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29s
b3IgdG8gZGFya2dvbGRlbnJvZCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBj
b2xvciB0byBkYXJrZ3JheSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xv
ciB0byBkYXJrZ3JlZW4gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3Ig
dG8gZGFya2dyZXkgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8g
ZGFya2toYWtpIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGRh
cmttYWdlbnRhIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGRh
cmtvbGl2ZWdyZWVuIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRv
IGRhcmtvcmFuZ2Ugd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8g
ZGFya29yY2hpZCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBk
YXJrcmVkIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGRhcmtz
YWxtb24gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gZGFya3Nl
YWdyZWVuIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGRhcmtz
bGF0ZWJsdWUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gZGFy
a3NsYXRlZ3JheSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBk
YXJrc2xhdGVncmV5IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRv
IGRhcmt0dXJxdW9pc2Ugd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3Ig
dG8gZGFya3Zpb2xldCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0
byBkZWVwcGluayB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBk
ZWVwc2t5Ymx1ZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBk
aW1ncmF5IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGRpbWdy
ZXkgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gZG9kZ2VyYmx1
ZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBmaXJlYnJpY2sg
d2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gZmxvcmFsd2hpdGUg
d2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gZm9yZXN0Z3JlZW4g
d2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gZnVjaHNpYSB3YXMg
c3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBnYWluc2Jvcm8gd2FzIHN1
Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gZ2hvc3R3aGl0ZSB3YXMgc3Vj
Y2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBnb2xkIHdhcyBzdWNjZXNzZnVs
bHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGdvbGRlbnJvZCB3YXMgc3VjY2Vzc2Z1bGx5
IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBncmF5IHdhcyBzdWNjZXNzZnVsbHkgc2V0Lgor
UEFTUyBTZXR0aW5nIGNvbG9yIHRvIGdyZWVuIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBT
ZXR0aW5nIGNvbG9yIHRvIGdyZWVueWVsbG93IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBT
ZXR0aW5nIGNvbG9yIHRvIGdyZXkgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcg
Y29sb3IgdG8gaG9uZXlkZXcgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29s
b3IgdG8gaG90cGluayB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0
byBpbmRpYW5yZWQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8g
aW5kaWdvIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGl2b3J5
IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGtoYWtpIHdhcyBz
dWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGxhdmVuZGVyIHdhcyBzdWNj
ZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGxhdmVuZGVyYmx1c2ggd2FzIHN1
Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbGF3bmdyZWVuIHdhcyBzdWNj
ZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGxlbW9uY2hpZmZvbiB3YXMgc3Vj
Y2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBsaWdodGJsdWUgd2FzIHN1Y2Nl
c3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbGlnaHRjb3JhbCB3YXMgc3VjY2Vz
c2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBsaWdodGN5YW4gd2FzIHN1Y2Nlc3Nm
dWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbGlnaHRnb2xkZW5yb2R5ZWxsb3cgd2Fz
IHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbGlnaHRncmF5IHdhcyBz
dWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGxpZ2h0Z3JlZW4gd2FzIHN1
Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbGlnaHRncmV5IHdhcyBzdWNj
ZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGxpZ2h0cGluayB3YXMgc3VjY2Vz
c2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBsaWdodHNhbG1vbiB3YXMgc3VjY2Vz
c2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBsaWdodHNlYWdyZWVuIHdhcyBzdWNj
ZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGxpZ2h0c2t5Ymx1ZSB3YXMgc3Vj
Y2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBsaWdodHNsYXRlZ3JheSB3YXMg
c3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBsaWdodHNsYXRlZ3JleSB3
YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBsaWdodHN0ZWVsYmx1
ZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBsaWdodHllbGxv
dyB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBsaW1lIHdhcyBz
dWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGxpbWVncmVlbiB3YXMgc3Vj
Y2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBsaW5lbiB3YXMgc3VjY2Vzc2Z1
bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBtYWdlbnRhIHdhcyBzdWNjZXNzZnVsbHkg
c2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIG1hcm9vbiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4K
K1BBU1MgU2V0dGluZyBjb2xvciB0byBtZWRpdW1hcXVhbWFyaW5lIHdhcyBzdWNjZXNzZnVsbHkg
c2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIG1lZGl1bWJsdWUgd2FzIHN1Y2Nlc3NmdWxseSBz
ZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbWVkaXVtb3JjaGlkIHdhcyBzdWNjZXNzZnVsbHkg
c2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIG1lZGl1bXB1cnBsZSB3YXMgc3VjY2Vzc2Z1bGx5
IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBtZWRpdW1zZWFncmVlbiB3YXMgc3VjY2Vzc2Z1
bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBtZWRpdW1zbGF0ZWJsdWUgd2FzIHN1Y2Nl
c3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbWVkaXVtc3ByaW5nZ3JlZW4gd2Fz
IHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbWVkaXVtdHVycXVvaXNl
IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIG1lZGl1bXZpb2xl
dHJlZCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBtaWRuaWdo
dGJsdWUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbWludGNy
ZWFtIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIG1pc3R5cm9z
ZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBtb2NjYXNpbiB3
YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBuYXZham93aGl0ZSB3
YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBuYXZ5IHdhcyBzdWNj
ZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIG9sZGxhY2Ugd2FzIHN1Y2Nlc3Nm
dWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gb2xpdmUgd2FzIHN1Y2Nlc3NmdWxseSBz
ZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gb2xpdmVkcmFiIHdhcyBzdWNjZXNzZnVsbHkgc2V0
LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIG9yYW5nZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BB
U1MgU2V0dGluZyBjb2xvciB0byBvcmFuZ2VyZWQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNT
IFNldHRpbmcgY29sb3IgdG8gb3JjaGlkIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0
aW5nIGNvbG9yIHRvIHBhbGVnb2xkZW5yb2Qgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNl
dHRpbmcgY29sb3IgdG8gcGFsZWdyZWVuIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0
aW5nIGNvbG9yIHRvIHBhbGV0dXJxdW9pc2Ugd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNl
dHRpbmcgY29sb3IgdG8gcGFsZXZpb2xldHJlZCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1Mg
U2V0dGluZyBjb2xvciB0byBwYXBheWF3aGlwIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBT
ZXR0aW5nIGNvbG9yIHRvIHBlYWNocHVmZiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0
dGluZyBjb2xvciB0byBwZXJ1IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNv
bG9yIHRvIHBpbmsgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8g
cGx1bSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBwb3dkZXJi
bHVlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHB1cnBsZSB3
YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byByb3N5YnJvd24gd2Fz
IHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gcm95YWxibHVlIHdhcyBz
dWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHNhZGRsZWJyb3duIHdhcyBz
dWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHNhbG1vbiB3YXMgc3VjY2Vz
c2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBzYW5keWJyb3duIHdhcyBzdWNjZXNz
ZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHNlYWdyZWVuIHdhcyBzdWNjZXNzZnVs
bHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHNlYXNoZWxsIHdhcyBzdWNjZXNzZnVsbHkg
c2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHNpZW5uYSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4K
K1BBU1MgU2V0dGluZyBjb2xvciB0byBzaWx2ZXIgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNT
IFNldHRpbmcgY29sb3IgdG8gc2t5Ymx1ZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0
dGluZyBjb2xvciB0byBzbGF0ZWJsdWUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRp
bmcgY29sb3IgdG8gc2xhdGVncmF5IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5n
IGNvbG9yIHRvIHNsYXRlZ3JleSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBj
b2xvciB0byBzbm93IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRv
IHNwcmluZ2dyZWVuIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRv
IHN0ZWVsYmx1ZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byB0
YW4gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gdGVhbCB3YXMg
c3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byB0aGlzdGxlIHdhcyBzdWNj
ZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHRvbWF0byB3YXMgc3VjY2Vzc2Z1
bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byB0dXJxdW9pc2Ugd2FzIHN1Y2Nlc3NmdWxs
eSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gdmlvbGV0IHdhcyBzdWNjZXNzZnVsbHkgc2V0
LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHdoZWF0IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFT
UyBTZXR0aW5nIGNvbG9yIHRvIHdoaXRlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0
aW5nIGNvbG9yIHRvIHdoaXRlc21va2Ugd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRp
bmcgY29sb3IgdG8geWVsbG93IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNv
bG9yIHRvIHllbGxvd2dyZWVuIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNv
bG9yIHRvICMwZjAgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitGQUlMIFNldHRpbmcgY29sb3IgdG8g
IzBmMCwgI2YwMCB3YXMgbm90IHNldCBidXQgc2hvdWxkIQorUEFTUyBTZXR0aW5nIGNvbG9yIHRv
IGhzbCgxMjAsIDEwMCUsIDUwJSkgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcg
Y29sb3IgdG8gZm9vYmFyIHdhcyBub3Qgc2V0IChhcyBleHBlY3RlZCkuCitQQVNTIFNldHRpbmcg
Y29sb3IgdG8gY291bnRlcihmb29iYXIpIHdhcyBub3Qgc2V0IChhcyBleHBlY3RlZCkuCitQQVNT
IFNldHRpbmcgY29sb3IgdG8gdXJsKGh0dHA6Ly8xMjcuMC4wLjE6ODA4MC8pIHdhcyBub3Qgc2V0
IChhcyBleHBlY3RlZCkuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gaW5oZXJpdGVkIHdhcyBub3Qg
c2V0IChhcyBleHBlY3RlZCkuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gIzEwMCUgd2FzIG5vdCBz
ZXQgKGFzIGV4cGVjdGVkKS4KK1BBU1MgU2V0dGluZyBjb2xvciB0byAjMTAwcHggd2FzIG5vdCBz
ZXQgKGFzIGV4cGVjdGVkKS4KK1BBU1MgU2V0dGluZyBjb2xvciB0byAtd2Via2l0LXZhcigidGVz
dCIpIHdhcyBub3Qgc2V0IChhcyBleHBlY3RlZCkuCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9j
c3MvdGVzdC1zZXR0aW5nLWNhbnZhcy1jb2xvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
dGVzdC1zZXR0aW5nLWNhbnZhcy1jb2xvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxYmIyM2Y0ZTBhNTE5
OWE3ZmVmN2RjN2U3YzI1MDg0YjRjMTk4ZTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy90ZXN0LXNldHRpbmctY2FudmFzLWNvbG9yLmh0bWwKQEAgLTAsMCArMSwyNTMg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3Jj
PSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
PGNhbnZhcyBpZD0iY2FudmFzIj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCBjYXNlIGZv
ciBidWcgMzkxNjguIFRoaXMgdGVzdHMgdGhlIENTUyBjb2xvciBwYXJzaW5nIGNvZGUgdXNpbmcg
Jmx0O2NhbnZhcyZndDsuIik7CisKK2Z1bmN0aW9uIGxvZyhtZXNzYWdlKSB7CisgICAgdmFyIGNv
bnNvbGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpOworICAgIGNvbnNvbGUu
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobWVzc2FnZSkpOworICAgIGNvbnNv
bGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiQlIiKSk7Cit9CisKK3ZhciBj
YW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2FudmFzIik7Cit2YXIgY3R4ID0gY2Fu
dmFzLmdldENvbnRleHQoIjJkIik7CisKK2Z1bmN0aW9uIHNob3VsZFN1Y2Nlc3NmdWxseVBhcnNl
KGNvbG9yKSB7CisgICAgY3R4LmZpbGxTdHlsZSA9ICIjZjAwIjsKKyAgICBjdHguZmlsbFN0eWxl
ID0gY29sb3I7CisgICAgLy8gQ2hlY2sgdGhhdCB0aGVyZSBpcyBubyByZWQuCisgICAgaWYgKGN0
eC5maWxsU3R5bGUubWF0Y2goL14jKD8hKEZGMDAwMHxmZjAwMDB8ZjAwKSQpLykpCisgICAgICAg
IHRlc3RQYXNzZWQoIlNldHRpbmcgY29sb3IgdG8gIiArIGNvbG9yICsgIiB3YXMgc3VjY2Vzc2Z1
bGx5IHNldC4iKTsKKyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQoIlNldHRpbmcgY29sb3Ig
dG8gIiArIGNvbG9yICsgIiB3YXMgbm90IHNldCBidXQgc2hvdWxkISIpOworfQorCitmdW5jdGlv
biBzaG91bGROb3RTdWNjZXNzZnVsbHlQYXJzZShjb2xvcikgeworICAgIGN0eC5maWxsU3R5bGUg
PSAiIzBmMCI7CisgICAgY3R4LmZpbGxTdHlsZSA9IGNvbG9yOworICAgIC8vIENoZWNrIHRoYXQg
dGhlIGNvbG9yIGlzIHN0aWxsIGdyZWVuLgorICAgIGlmIChjdHguZmlsbFN0eWxlLm1hdGNoKC9e
IygwMEZGMDB8MDBmZjAwfDBmMCkkLykpCisgICAgICAgIHRlc3RQYXNzZWQoIlNldHRpbmcgY29s
b3IgdG8gIiArIGNvbG9yICsgIiB3YXMgbm90IHNldCAoYXMgZXhwZWN0ZWQpLiIpOworICAgIGVs
c2UKKyAgICAgICAgdGVzdEZhaWxlZCgiU2V0dGluZyBjb2xvciB0byAiICsgY29sb3IgKyAiIHdh
cyBzdWNjZXNzZnVsbHkgc2V0IGJ1dCBzaG91bGQgbm90ISIpOworfQorCisvLyBUYWtlbiBmcm9t
IENTUyAzIGNvbG9yLgordmFyIGRlcHJlY2F0ZWRTeXN0ZW1Db2xvcnMgPSBbCisgICAgIkFjdGl2
ZUJvcmRlciIsCisgICAgIkFjdGl2ZUNhcHRpb24iLAorICAgICJBcHBXb3Jrc3BhY2UiLAorICAg
ICJCYWNrZ3JvdW5kIiwKKyAgICAiQnV0dG9uRmFjZSIsCisgICAgIkJ1dHRvbkhpZ2hsaWdodCIs
CisgICAgIkJ1dHRvblNoYWRvdyIsCisgICAgIkJ1dHRvblRleHQiLAorICAgICJDYXB0aW9uVGV4
dCIsCisgICAgIkdyYXlUZXh0IiwKKyAgICAiSGlnaGxpZ2h0IiwKKyAgICAiSGlnaGxpZ2h0VGV4
dCIsCisgICAgIkluYWN0aXZlQm9yZGVyIiwKKyAgICAiSW5hY3RpdmVDYXB0aW9uIiwKKyAgICAi
SW5hY3RpdmVDYXB0aW9uVGV4dCIsCisgICAgIkluZm9CYWNrZ3JvdW5kIiwKKyAgICAiSW5mb1Rl
eHQiLAorICAgICJNZW51IiwKKyAgICAiTWVudVRleHQiLAorICAgICJTY3JvbGxiYXIiLAorICAg
ICJUaHJlZUREYXJrU2hhZG93IiwKKyAgICAiVGhyZWVERmFjZSIsCisgICAgIlRocmVlREhpZ2hs
aWdodCIsCisgICAgIlRocmVlRExpZ2h0U2hhZG93IiwKKyAgICAiVGhyZWVEU2hhZG93IiwKKyAg
ICAiV2luZG93IiwKKyAgICAiV2luZG93RnJhbWUiLAorICAgICJXaW5kb3dUZXh0IgorXTsKKwor
Ly8gVmFsaWQgdmFsdWVzIHBhc3NlZCBpbiBjb2xvciBtYXRjaGluZy4KK2ZvciAodmFyIGkgPSAw
OyBpIDwgZGVwcmVjYXRlZFN5c3RlbUNvbG9ycy5sZW5ndGg7ICsraSkgeworICAgIHNob3VsZFN1
Y2Nlc3NmdWxseVBhcnNlKGRlcHJlY2F0ZWRTeXN0ZW1Db2xvcnNbaV0pOworICAgIHNob3VsZFN1
Y2Nlc3NmdWxseVBhcnNlKGRlcHJlY2F0ZWRTeXN0ZW1Db2xvcnNbaV0udG9Mb3dlckNhc2UoKSk7
Cit9CisKKy8vIFRha2VuIGZyb20gQ1NTIDMgY29sb3IuCit2YXIgc3ZnQ29sb3JzID0gWworICAg
ICJhbGljZWJsdWUiLAorICAgICJhbnRpcXVld2hpdGUiLAorICAgICJhcXVhIiwKKyAgICAiYXF1
YW1hcmluZSIsCisgICAgImF6dXJlIiwKKyAgICAiYmVpZ2UiLAorICAgICJiaXNxdWUiLAorICAg
ICJibGFjayIsCisgICAgImJsYW5jaGVkYWxtb25kIiwKKyAgICAiYmx1ZSIsCisgICAgImJsdWV2
aW9sZXQiLAorICAgICJicm93biIsCisgICAgImJ1cmx5d29vZCIsCisgICAgImNhZGV0Ymx1ZSIs
CisgICAgImNoYXJ0cmV1c2UiLAorICAgICJjaG9jb2xhdGUiLAorICAgICJjb3JhbCIsCisgICAg
ImNvcm5mbG93ZXJibHVlIiwKKyAgICAiY29ybnNpbGsiLAorICAgICJjcmltc29uIiwKKyAgICAi
Y3lhbiIsCisgICAgImRhcmtibHVlIiwKKyAgICAiZGFya2N5YW4iLAorICAgICJkYXJrZ29sZGVu
cm9kIiwKKyAgICAiZGFya2dyYXkiLAorICAgICJkYXJrZ3JlZW4iLAorICAgICJkYXJrZ3JleSIs
CisgICAgImRhcmtraGFraSIsCisgICAgImRhcmttYWdlbnRhIiwKKyAgICAiZGFya29saXZlZ3Jl
ZW4iLAorICAgICJkYXJrb3JhbmdlIiwKKyAgICAiZGFya29yY2hpZCIsCisgICAgImRhcmtyZWQi
LAorICAgICJkYXJrc2FsbW9uIiwKKyAgICAiZGFya3NlYWdyZWVuIiwKKyAgICAiZGFya3NsYXRl
Ymx1ZSIsCisgICAgImRhcmtzbGF0ZWdyYXkiLAorICAgICJkYXJrc2xhdGVncmV5IiwKKyAgICAi
ZGFya3R1cnF1b2lzZSIsCisgICAgImRhcmt2aW9sZXQiLAorICAgICJkZWVwcGluayIsCisgICAg
ImRlZXBza3libHVlIiwKKyAgICAiZGltZ3JheSIsCisgICAgImRpbWdyZXkiLAorICAgICJkb2Rn
ZXJibHVlIiwKKyAgICAiZmlyZWJyaWNrIiwKKyAgICAiZmxvcmFsd2hpdGUiLAorICAgICJmb3Jl
c3RncmVlbiIsCisgICAgImZ1Y2hzaWEiLAorICAgICJnYWluc2Jvcm8iLAorICAgICJnaG9zdHdo
aXRlIiwKKyAgICAiZ29sZCIsCisgICAgImdvbGRlbnJvZCIsCisgICAgImdyYXkiLAorICAgICJn
cmVlbiIsCisgICAgImdyZWVueWVsbG93IiwKKyAgICAiZ3JleSIsCisgICAgImhvbmV5ZGV3IiwK
KyAgICAiaG90cGluayIsCisgICAgImluZGlhbnJlZCIsCisgICAgImluZGlnbyIsCisgICAgIml2
b3J5IiwKKyAgICAia2hha2kiLAorICAgICJsYXZlbmRlciIsCisgICAgImxhdmVuZGVyYmx1c2gi
LAorICAgICJsYXduZ3JlZW4iLAorICAgICJsZW1vbmNoaWZmb24iLAorICAgICJsaWdodGJsdWUi
LAorICAgICJsaWdodGNvcmFsIiwKKyAgICAibGlnaHRjeWFuIiwKKyAgICAibGlnaHRnb2xkZW5y
b2R5ZWxsb3ciLAorICAgICJsaWdodGdyYXkiLAorICAgICJsaWdodGdyZWVuIiwKKyAgICAibGln
aHRncmV5IiwKKyAgICAibGlnaHRwaW5rIiwKKyAgICAibGlnaHRzYWxtb24iLAorICAgICJsaWdo
dHNlYWdyZWVuIiwKKyAgICAibGlnaHRza3libHVlIiwKKyAgICAibGlnaHRzbGF0ZWdyYXkiLAor
ICAgICJsaWdodHNsYXRlZ3JleSIsCisgICAgImxpZ2h0c3RlZWxibHVlIiwKKyAgICAibGlnaHR5
ZWxsb3ciLAorICAgICJsaW1lIiwKKyAgICAibGltZWdyZWVuIiwKKyAgICAibGluZW4iLAorICAg
ICJtYWdlbnRhIiwKKyAgICAibWFyb29uIiwKKyAgICAibWVkaXVtYXF1YW1hcmluZSIsCisgICAg
Im1lZGl1bWJsdWUiLAorICAgICJtZWRpdW1vcmNoaWQiLAorICAgICJtZWRpdW1wdXJwbGUiLAor
ICAgICJtZWRpdW1zZWFncmVlbiIsCisgICAgIm1lZGl1bXNsYXRlYmx1ZSIsCisgICAgIm1lZGl1
bXNwcmluZ2dyZWVuIiwKKyAgICAibWVkaXVtdHVycXVvaXNlIiwKKyAgICAibWVkaXVtdmlvbGV0
cmVkIiwKKyAgICAibWlkbmlnaHRibHVlIiwKKyAgICAibWludGNyZWFtIiwKKyAgICAibWlzdHly
b3NlIiwKKyAgICAibW9jY2FzaW4iLAorICAgICJuYXZham93aGl0ZSIsCisgICAgIm5hdnkiLAor
ICAgICJvbGRsYWNlIiwKKyAgICAib2xpdmUiLAorICAgICJvbGl2ZWRyYWIiLAorICAgICJvcmFu
Z2UiLAorICAgICJvcmFuZ2VyZWQiLAorICAgICJvcmNoaWQiLAorICAgICJwYWxlZ29sZGVucm9k
IiwKKyAgICAicGFsZWdyZWVuIiwKKyAgICAicGFsZXR1cnF1b2lzZSIsCisgICAgInBhbGV2aW9s
ZXRyZWQiLAorICAgICJwYXBheWF3aGlwIiwKKyAgICAicGVhY2hwdWZmIiwKKyAgICAicGVydSIs
CisgICAgInBpbmsiLAorICAgICJwbHVtIiwKKyAgICAicG93ZGVyYmx1ZSIsCisgICAgInB1cnBs
ZSIsCisgICAgLy8gV2UgZG8gbm90IHRlc3QgcmVkLgorICAgICJyb3N5YnJvd24iLAorICAgICJy
b3lhbGJsdWUiLAorICAgICJzYWRkbGVicm93biIsCisgICAgInNhbG1vbiIsCisgICAgInNhbmR5
YnJvd24iLAorICAgICJzZWFncmVlbiIsCisgICAgInNlYXNoZWxsIiwKKyAgICAic2llbm5hIiwK
KyAgICAic2lsdmVyIiwKKyAgICAic2t5Ymx1ZSIsCisgICAgInNsYXRlYmx1ZSIsCisgICAgInNs
YXRlZ3JheSIsCisgICAgInNsYXRlZ3JleSIsCisgICAgInNub3ciLAorICAgICJzcHJpbmdncmVl
biIsCisgICAgInN0ZWVsYmx1ZSIsCisgICAgInRhbiIsCisgICAgInRlYWwiLAorICAgICJ0aGlz
dGxlIiwKKyAgICAidG9tYXRvIiwKKyAgICAidHVycXVvaXNlIiwKKyAgICAidmlvbGV0IiwKKyAg
ICAid2hlYXQiLAorICAgICJ3aGl0ZSIsCisgICAgIndoaXRlc21va2UiLAorICAgICJ5ZWxsb3ci
LAorICAgICJ5ZWxsb3dncmVlbiIKK107CisKKy8vIFZhbGlkIHZhbHVlcyBwYXNzZWQgaW4gY29s
b3IgbWF0Y2hpbmcuCitmb3IgKHZhciBpID0gMDsgaSA8IHN2Z0NvbG9ycy5sZW5ndGg7ICsraSkK
KyAgICBzaG91bGRTdWNjZXNzZnVsbHlQYXJzZShzdmdDb2xvcnNbaV0pOworCisKK3Nob3VsZFN1
Y2Nlc3NmdWxseVBhcnNlKCIjMGYwIik7CitzaG91bGRTdWNjZXNzZnVsbHlQYXJzZSgiIzBmMCwg
I2YwMCIpOworc2hvdWxkU3VjY2Vzc2Z1bGx5UGFyc2UoImhzbCgxMjAsIDEwMCUsIDUwJSkiKTsg
Ly8gR3JlZW4gSFNMCisKKy8vIEludmFsaWQgdmFsdWVzLgorc2hvdWxkTm90U3VjY2Vzc2Z1bGx5
UGFyc2UoImZvb2JhciIpOworc2hvdWxkTm90U3VjY2Vzc2Z1bGx5UGFyc2UoImNvdW50ZXIoZm9v
YmFyKSIpOworc2hvdWxkTm90U3VjY2Vzc2Z1bGx5UGFyc2UoInVybChodHRwOi8vMTI3LjAuMC4x
OjgwODAvKSIpOworc2hvdWxkTm90U3VjY2Vzc2Z1bGx5UGFyc2UoImluaGVyaXRlZCIpOworc2hv
dWxkTm90U3VjY2Vzc2Z1bGx5UGFyc2UoIiMxMDAlIik7CitzaG91bGROb3RTdWNjZXNzZnVsbHlQ
YXJzZSgiIzEwMHB4Iik7CitzaG91bGROb3RTdWNjZXNzZnVsbHlQYXJzZSgnLXdlYmtpdC12YXIo
InRlc3QiKScpOworCitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvU2tpcHBlZCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCmluZGV4IGI4Y2E1MjgxZDE0MDkyYzFjZTMyZTli
NzE5YTkyNGY0MzRlNmFhMjQuLjg4OGI3YjBlNTM4MWU4NjZiY2Y2YjUzOTE4ZmMzNmQ2YmJiYzhh
ZGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9Ta2lwcGVkCkBAIC0xODgsNyArMTg4LDYgQEAgY2FudmFz
L3BoaWxpcC90ZXN0cy8yZC5kcmF3SW1hZ2UubnVsbC5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3Rz
LzJkLmZpbGxTdHlsZS5wYXJzZS5jdXJyZW50LmJhc2ljLmh0bWwKIGNhbnZhcy9waGlsaXAvdGVz
dHMvMmQuZmlsbFN0eWxlLnBhcnNlLmN1cnJlbnQuY2hhbmdlZC5odG1sCiBjYW52YXMvcGhpbGlw
L3Rlc3RzLzJkLmZpbGxTdHlsZS5wYXJzZS5jdXJyZW50LnJlbW92ZWQuaHRtbAotY2FudmFzL3Bo
aWxpcC90ZXN0cy8yZC5maWxsU3R5bGUucGFyc2Uuc3lzdGVtLmh0bWwKIGNhbnZhcy9waGlsaXAv
dGVzdHMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUuZnJvbnQuaHRtbAogY2FudmFzL3BoaWxpcC90
ZXN0cy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS50b3AuaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0
cy8yZC5ncmFkaWVudC5yYWRpYWwuaW5zaWRlMi5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZApp
bmRleCA0MjlmMTVlNjczMTViNjVjMGI5ZmQ4YzU3M2NhMGQ3OGU1MmNkNTBmLi41M2UzYTQxOGM4
NGU1NzU1YmE0OTQ1ODMzNDM0MzM1MjdlNDY1ZDczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQK
QEAgLTUyMjQsNyArNTIyNCw2IEBAIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZHJhd0ltYWdlLm51
bGwuaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5maWxsU3R5bGUucGFyc2UuY3VycmVudC5i
YXNpYy5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmZpbGxTdHlsZS5wYXJzZS5jdXJyZW50
LmNoYW5nZWQuaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5maWxsU3R5bGUucGFyc2UuY3Vy
cmVudC5yZW1vdmVkLmh0bWwKLWNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZmlsbFN0eWxlLnBhcnNl
LnN5c3RlbS5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25l
LmJlaGluZC5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25l
LmJlc2lkZS5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25l
LmJvdHRvbS5odG1sCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IGQyMDRmY2ZkYTI3YjJmMGFhYWJlNTRhZTNjYzUzNWFhZjgwZmQxNjkuLjRm
NzNiYzBhZTI2ZWViMzcyMTllNDBkYzZiOTlkODE2NDFkNzAyNGQgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIw
MTAtMDktMjAgIEp1bGllbiBDaGFmZnJhaXggIDxqY2hhZmZyYWl4QGNvZGVhdXJvcmEub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhcnNlIHN5
c3RlbSBjb2xvcnMgaW4gdGhlIEhUTUw1IGNhbnZhcyBjb250ZXh0LgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzkxNjgKKworICAgICAgICBUZXN0OiBm
YXN0L2Nzcy90ZXN0LXNldHRpbmctY2FudmFzLWNvbG9yLmh0bWwKKworICAgICAgICBCYXNlZCBv
biBwcmV2aW91cyB3b3JrIGJ5IEphbiBFcmlrIEhhbnNzZW4gIDxqaGFuc3NlbkBjb2RlYXVyb3Jh
Lm9yZz4KKworICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUGFyc2VyOjpwYXJzZUNvbG9yKTogQ2hhbmdlZCB0aGUgZnVuY3Rpb24gdG8gYmV0dGVyIG1h
dGNoIG91cgorICAgICAgICBlYXJseSByZXR1cm4gcG9saWN5LiBBbHNvIHdlIG5vdyByZXR1cm4g
ZmFsc2Ugd2hlbiB3ZSBkb24ndCBwYXJzZSB0aGUgY29sb3IuCisgICAgICAgIFRoaXMgaXMgbmVl
ZGVkIGZvciBjcmVhdGVGcm9tU3RyaW5nIHRvIGZhbGxiYWNrIHRvIHVzaW5nIHBhcnNlU3lzdGVt
Q29sb3IuCisKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VTeXN0ZW1Db2xvcik6
IE1hZGUgdXNlIG9mIHRoZSBSZW5kZXJUaGVtZSB0byBnZXQKKyAgICAgICAgdGhlIHN5c3RlbSBj
b2xvcnMuCisKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6IEFkZGVkIHRoZSBuZXcgcGFyc2VT
eXN0ZW1Db2xvciBtZXRob2QuCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJp
bmdDb250ZXh0MkQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEOjpzZXRTdHJva2VDb2xvcik6IFBhc3MgdGhlIGRvY3VtZW50IHRvIGNyZWF0ZUZyb21TdHJp
bmcuCisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnNldEZpbGxD
b2xvcik6IERpdHRvLgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhbnZhc1N0eWxlOjpjcmVhdGVGcm9tU3RyaW5nKTogVHJ5IHRvIHBh
cnNlIHRoZSBjb2xvciB1c2luZyBDU1NQYXJzZXI6OnBhcnNlQ29sb3IKKyAgICAgICAgYW5kIGZh
bGwgYmFjayB0byBwYXJzZVN5c3RlbUNvbG9yIGlmIGl0IGRpZCBub3Qgd29yay4KKworICAgICAg
ICAqIGh0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmg6IEFkZGVkIHRoZSBuZXcgRG9jdW1lbnQqIHBh
cmFtZXRlciB0byBjcmVhdGVGcm9tU3RyaW5nLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvQ29sb3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29sb3I6OkNvbG9yKToKKyAgICAgICAg
KFdlYkNvcmU6OkNvbG9yOjpzZXROYW1lZENvbG9yKTogQWRkZWQgYSB3b3JrLWFyb3VuZCBmb3Ig
dGhlIGxhY2sgb2YgJ3RyYW5zcGFyZW50JworICAgICAgICBrZXl3b3JkIHN1cHBvcnQuCisKKwog
MjAxMC0wOS0yMCAgTWloYWkgUGFycGFyaXRhICA8bWloYWlwQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBVbnJldmlld2VkOyBhbiBhdHRlbXB0IHRvIGZpeCBXaW5kb3dzIGJ1aWxkLgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5j
cHAKaW5kZXggODZiY2QwZDBkZTA4MTMyMGJhZGQ2NjMwNWQwMGJmYzI0MGU4ZTliOS4uZDk3YzFl
ZTcxNGUxMTlkNTRmOTM1NDZlM2VmMTg5MTBhNzNjNGU2MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmNwcAorKysgYi9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC02NCw4
ICs2NCwxMCBAQAogI2luY2x1ZGUgIkZvbnRWYWx1ZS5oIgogI2luY2x1ZGUgIk1lZGlhTGlzdC5o
IgogI2luY2x1ZGUgIk1lZGlhUXVlcnlFeHAuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVk
ZSAiUGFpci5oIgogI2luY2x1ZGUgIlJlY3QuaCIKKyNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgog
I2luY2x1ZGUgIlNoYWRvd1ZhbHVlLmgiCiAjaW5jbHVkZSAiV2ViS2l0Q1NTS2V5ZnJhbWVSdWxl
LmgiCiAjaW5jbHVkZSAiV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5oIgpAQCAtMzAxLDExICszMDMs
MTQgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlQ29sb3IoUkdCQTMyJiBjb2xvciwgY29uc3QgU3Ry
aW5nJiBzdHJpbmcsIGJvb2wgc3RyaWN0KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBD
U1NWYWx1ZSogdmFsdWUgPSBwYXJzZXIubV9wYXJzZWRQcm9wZXJ0aWVzWzBdLT52YWx1ZSgpOwot
ICAgIGlmICh2YWx1ZS0+Y3NzVmFsdWVUeXBlKCkgPT0gQ1NTVmFsdWU6OkNTU19QUklNSVRJVkVf
VkFMVUUpIHsKLSAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVlID0gc3Rh
dGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPih2YWx1ZSk7Ci0gICAgICAgIGNvbG9yID0gcHJp
bWl0aXZlVmFsdWUtPmdldFJHQkEzMlZhbHVlKCk7Ci0gICAgfQorICAgIGlmICh2YWx1ZS0+Y3Nz
VmFsdWVUeXBlKCkgIT0gQ1NTVmFsdWU6OkNTU19QUklNSVRJVkVfVkFMVUUpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIENTU1ByaW1pdGl2ZVZhbHVlKiBwcmltaXRpdmVWYWx1ZSA9IHN0
YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4odmFsdWUpOworICAgIGlmIChwcmltaXRpdmVW
YWx1ZS0+cHJpbWl0aXZlVHlwZSgpICE9IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUkdCQ09MT1Ip
CisgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIGNvbG9yID0gcHJpbWl0aXZlVmFsdWUtPmdl
dFJHQkEzMlZhbHVlKCk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTMyMSw2ICszMjYsMjIg
QEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlQ29sb3IoQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24q
IGRlY2xhcmF0aW9uLCBjb25zdCBTdHJpbmcKICAgICByZXR1cm4gKG1fbnVtUGFyc2VkUHJvcGVy
dGllcyAmJiBtX3BhcnNlZFByb3BlcnRpZXNbMF0tPm1faWQgPT0gQ1NTUHJvcGVydHlDb2xvcik7
CiB9CiAKK2Jvb2wgQ1NTUGFyc2VyOjpwYXJzZVN5c3RlbUNvbG9yKFJHQkEzMiYgY29sb3IsIGNv
bnN0IFN0cmluZyYgc3RyaW5nLCBEb2N1bWVudCogZG9jdW1lbnQpCit7CisgICAgaWYgKCFkb2N1
bWVudCB8fCAhZG9jdW1lbnQtPnBhZ2UoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
Q1NTUGFyc2VyU3RyaW5nIGNzc0NvbG9yOworICAgIGNzc0NvbG9yLmNoYXJhY3RlcnMgPSBjb25z
dF9jYXN0PFVDaGFyKj4oc3RyaW5nLmNoYXJhY3RlcnMoKSk7CisgICAgY3NzQ29sb3IubGVuZ3Ro
ID0gc3RyaW5nLmxlbmd0aCgpOworICAgIGludCBpZCA9IGNzc1ZhbHVlS2V5d29yZElEKGNzc0Nv
bG9yKTsKKyAgICBpZiAoaWQgPD0gMCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgY29s
b3IgPSBkb2N1bWVudC0+cGFnZSgpLT50aGVtZSgpLT5zeXN0ZW1Db2xvcihpZCkucmdiKCk7Cisg
ICAgcmV0dXJuIHRydWU7Cit9CisKIHZvaWQgQ1NTUGFyc2VyOjpwYXJzZVNlbGVjdG9yKGNvbnN0
IFN0cmluZyYgc3RyaW5nLCBEb2N1bWVudCogZG9jLCBDU1NTZWxlY3Rvckxpc3QmIHNlbGVjdG9y
TGlzdCkKIHsKICAgICBSZWZQdHI8Q1NTU3R5bGVTaGVldD4gZHVtbXlTdHlsZVNoZWV0ID0gQ1NT
U3R5bGVTaGVldDo6Y3JlYXRlKGRvYyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuaCBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IGY4YjI0ZGY2Y2ZkZmU5YjYxZjJi
OGIwMjA1NWMzNjgxZDBjZDhkMTguLmNjMjMzNWRiNDZhM2I0ODM1MzBlZDYzMDkwMjc2M2M4ZGVi
MWQ0OGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCisrKyBiL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlci5oCkBAIC02NCw2ICs2NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgUGFzc1JlZlB0cjxDU1NSdWxlPiBwYXJzZUtleWZyYW1lUnVsZShDU1NTdHlsZVNoZWV0
KiwgY29uc3QgU3RyaW5nJik7CiAgICAgICAgIGJvb2wgcGFyc2VWYWx1ZShDU1NNdXRhYmxlU3R5
bGVEZWNsYXJhdGlvbiosIGludCBwcm9wSWQsIGNvbnN0IFN0cmluZyYsIGJvb2wgaW1wb3J0YW50
KTsKICAgICAgICAgc3RhdGljIGJvb2wgcGFyc2VDb2xvcihSR0JBMzImIGNvbG9yLCBjb25zdCBT
dHJpbmcmLCBib29sIHN0cmljdCA9IGZhbHNlKTsKKyAgICAgICAgc3RhdGljIGJvb2wgcGFyc2VT
eXN0ZW1Db2xvcihSR0JBMzImIGNvbG9yLCBjb25zdCBTdHJpbmcmLCBEb2N1bWVudCopOwogICAg
ICAgICBib29sIHBhcnNlQ29sb3IoQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qLCBjb25zdCBT
dHJpbmcmKTsKICAgICAgICAgYm9vbCBwYXJzZURlY2xhcmF0aW9uKENTU011dGFibGVTdHlsZURl
Y2xhcmF0aW9uKiwgY29uc3QgU3RyaW5nJiwgQ1NTU3R5bGVTb3VyY2VEYXRhKiBzdHlsZVNvdXJj
ZURhdGEgPSAwKTsKICAgICAgICAgYm9vbCBwYXJzZU1lZGlhUXVlcnkoTWVkaWFMaXN0KiwgY29u
c3QgU3RyaW5nJik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRC5jcHAgYi9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRC5jcHAKaW5kZXggMGZiN2VkNTBlNTQ4ZTcyYTM2ZWQzMTUyMmE5ZGI0NTA4NWRmNGYz
MS4uNDgyMjU5NjU3NzdhNzY2Y2M0Zjk2ZDMyOGYwMmRiNDVmODQwMGY2MiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCisrKyBiL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcApAQCAtNTMsNiAr
NTMsNyBAQAogI2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAi
UmVuZGVySFRNTENhbnZhcy5oIgorI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAjaW5jbHVkZSAi
U2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN0cm9r
ZVN0eWxlQXBwbGllci5oIgpAQCAtNTY5LDcgKzU3MCw3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEOjpzZXRTdHJva2VDb2xvcihjb25zdCBTdHJpbmcmIGNvbG9yKQogewogICAgIGlm
IChjb2xvciA9PSBzdGF0ZSgpLm1fdW5wYXJzZWRTdHJva2VDb2xvcikKICAgICAgICAgcmV0dXJu
OwotICAgIHNldFN0cm9rZVN0eWxlKENhbnZhc1N0eWxlOjpjcmVhdGVGcm9tU3RyaW5nKGNvbG9y
KSk7CisgICAgc2V0U3Ryb2tlU3R5bGUoQ2FudmFzU3R5bGU6OmNyZWF0ZUZyb21TdHJpbmcoY29s
b3IsIGNhbnZhcygpLT5kb2N1bWVudCgpKSk7CiAgICAgc3RhdGUoKS5tX3VucGFyc2VkU3Ryb2tl
Q29sb3IgPSBjb2xvcjsKIH0KIApAQCAtNjEwLDcgKzYxMSw3IEBAIHZvaWQgQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEOjpzZXRGaWxsQ29sb3IoY29uc3QgU3RyaW5nJiBjb2xvcikKIHsKICAgICBp
ZiAoY29sb3IgPT0gc3RhdGUoKS5tX3VucGFyc2VkRmlsbENvbG9yKQogICAgICAgICByZXR1cm47
Ci0gICAgc2V0RmlsbFN0eWxlKENhbnZhc1N0eWxlOjpjcmVhdGVGcm9tU3RyaW5nKGNvbG9yKSk7
CisgICAgc2V0RmlsbFN0eWxlKENhbnZhc1N0eWxlOjpjcmVhdGVGcm9tU3RyaW5nKGNvbG9yLCBj
YW52YXMoKS0+ZG9jdW1lbnQoKSkpOwogICAgIHN0YXRlKCkubV91bnBhcnNlZEZpbGxDb2xvciA9
IGNvbG9yOwogfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxl
LmNwcCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuY3BwCmluZGV4IGZkM2M2ZTVh
MzIzYzFiNzQ2ZTA1NWNjYWY3N2ExNzg3ZmZiNWExYTcuLjBiMTM5YTRhNDlhODcwNThiMmUxOTE3
OGQ0MmM3M2U0ZTM1NDE2ZjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFz
U3R5bGUuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuY3BwCkBAIC04
NiwxMiArODYsMTYgQEAgQ2FudmFzU3R5bGU6OkNhbnZhc1N0eWxlKFBhc3NSZWZQdHI8Q2FudmFz
UGF0dGVybj4gcGF0dGVybikKIHsKIH0KIAotUGFzc1JlZlB0cjxDYW52YXNTdHlsZT4gQ2FudmFz
U3R5bGU6OmNyZWF0ZUZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBjb2xvcikKK1Bhc3NSZWZQdHI8
Q2FudmFzU3R5bGU+IENhbnZhc1N0eWxlOjpjcmVhdGVGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYg
Y29sb3IsIERvY3VtZW50KiBkb2N1bWVudCkKIHsKICAgICBSR0JBMzIgcmdiYTsKLSAgICBpZiAo
IUNTU1BhcnNlcjo6cGFyc2VDb2xvcihyZ2JhLCBjb2xvcikpCi0gICAgICAgIHJldHVybiAwOwot
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ2FudmFzU3R5bGUocmdiYSkpOworICAgIGlmIChDU1NQ
YXJzZXI6OnBhcnNlQ29sb3IocmdiYSwgY29sb3IpKQorICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IENhbnZhc1N0eWxlKHJnYmEpKTsKKworICAgIGlmIChDU1NQYXJzZXI6OnBhcnNlU3lzdGVt
Q29sb3IocmdiYSwgY29sb3IsIGRvY3VtZW50KSkKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5l
dyBDYW52YXNTdHlsZShyZ2JhKSk7CisKKyAgICByZXR1cm4gMDsKIH0KIAogUGFzc1JlZlB0cjxD
YW52YXNTdHlsZT4gQ2FudmFzU3R5bGU6OmNyZWF0ZUZyb21TdHJpbmdXaXRoT3ZlcnJpZGVBbHBo
YShjb25zdCBTdHJpbmcmIGNvbG9yLCBmbG9hdCBhbHBoYSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaCBiL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5
bGUuaAppbmRleCAzY2E3NjBhNjhkMGFmZDUyYmEzZDVlMmQyNjk4NDQwZDI4MTUwNzcxLi5iNDYz
YzNmMGE1MTNmY2ZkNjYyOTQyMzkwMTA5NWNlZTFjZjBmYzQ0IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmgKKysrIGIvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52
YXNTdHlsZS5oCkBAIC0zNCwxMiArMzQsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAg
Y2xhc3MgQ2FudmFzR3JhZGllbnQ7CiAgICAgY2xhc3MgQ2FudmFzUGF0dGVybjsKKyAgICBjbGFz
cyBEb2N1bWVudDsKICAgICBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiAKICAgICBjbGFzcyBDYW52
YXNTdHlsZSA6IHB1YmxpYyBSZWZDb3VudGVkPENhbnZhc1N0eWxlPiB7CiAgICAgcHVibGljOgog
ICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDYW52YXNTdHlsZT4gY3JlYXRlRnJvbVJHQkEoUkdC
QTMyIHJnYmEpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYW52YXNTdHlsZShyZ2JhKSk7IH0KLSAg
ICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2FudmFzU3R5bGU+IGNyZWF0ZUZyb21TdHJpbmcoY29u
c3QgU3RyaW5nJiBjb2xvcik7CisgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENhbnZhc1N0eWxl
PiBjcmVhdGVGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgY29sb3IsIERvY3VtZW50KiA9IDApOwog
ICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDYW52YXNTdHlsZT4gY3JlYXRlRnJvbVN0cmluZ1dp
dGhPdmVycmlkZUFscGhhKGNvbnN0IFN0cmluZyYgY29sb3IsIGZsb2F0IGFscGhhKTsKICAgICAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8Q2FudmFzU3R5bGU+IGNyZWF0ZUZyb21HcmF5TGV2ZWxXaXRo
QWxwaGEoZmxvYXQgZ3JheUxldmVsLCBmbG9hdCBhbHBoYSkgeyByZXR1cm4gYWRvcHRSZWYobmV3
IENhbnZhc1N0eWxlKGdyYXlMZXZlbCwgYWxwaGEpKTsgfQogICAgICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxDYW52YXNTdHlsZT4gY3JlYXRlRnJvbVJHQkFDaGFubmVscyhmbG9hdCByLCBmbG9hdCBn
LCBmbG9hdCBiLCBmbG9hdCBhKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ2FudmFzU3R5bGUociwg
ZywgYiwgYSkpOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9y
LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuY3BwCmluZGV4IDgwYzgyODZh
NTZiZDc2ODhlNzNhNjQ3OGJmM2ZhZDJlMjhiMTVmMTIuLmI2N2ZkZWVkYTQ5ZDhjMjFkMWY5YjU0
ZDhmMjUzZjM5ZjM3NTk0M2UgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Q29sb3IuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29sb3IuY3BwCkBAIC0x
NzksNiArMTc5LDEyIEBAIENvbG9yOjpDb2xvcihjb25zdCBjaGFyKiBuYW1lKQogICAgICAgICBt
X2NvbG9yID0gZm91bmRDb2xvciA/IGZvdW5kQ29sb3ItPlJHQlZhbHVlIDogMDsKICAgICAgICAg
bV9jb2xvciB8PSAweEZGMDAwMDAwOwogICAgICAgICBtX3ZhbGlkID0gZm91bmRDb2xvcjsKKyAg
ICAgICAgLy8gRklYTUU6IFRlbXBvcmFyeSB3b3JrIGFyb3VuZCB0aGUgZmFjdCB0aGF0ICd0cmFu
c3BhcmVudCcgaXMgbm90IGEgdmFsaWQgY29sb3IuCisgICAgICAgIC8vIFNlZSBidWcgNDU0ODIg
Zm9yIHRoZSBmaXguCisgICAgICAgIGlmICghc3RybmNtcChuYW1lLCAidHJhbnNwYXJlbnQiLCBz
dHJsZW4obmFtZSkpKSB7CisgICAgICAgICAgICBtX2NvbG9yID0gMDsKKyAgICAgICAgICAgIG1f
dmFsaWQgPSB0cnVlOworICAgICAgICB9CiAgICAgfQogfQogCkBAIC0yMjMsNiArMjI5LDEyIEBA
IHZvaWQgQ29sb3I6OnNldE5hbWVkQ29sb3IoY29uc3QgU3RyaW5nJiBuYW1lKQogICAgIG1fY29s
b3IgPSBmb3VuZENvbG9yID8gZm91bmRDb2xvci0+UkdCVmFsdWUgOiAwOwogICAgIG1fY29sb3Ig
fD0gMHhGRjAwMDAwMDsKICAgICBtX3ZhbGlkID0gZm91bmRDb2xvcjsKKyAgICAvLyBGSVhNRTog
VGVtcG9yYXJ5IHdvcmsgYXJvdW5kIHRoZSBmYWN0IHRoYXQgJ3RyYW5zcGFyZW50JyBpcyBub3Qg
YSB2YWxpZCBjb2xvci4KKyAgICAvLyBTZWUgYnVnIDQ1NDgyIGZvciB0aGUgZml4LgorICAgIGlm
IChuYW1lID09ICJ0cmFuc3BhcmVudCIpIHsKKyAgICAgICAgbV9jb2xvciA9IDA7CisgICAgICAg
IG1fdmFsaWQgPSB0cnVlOworICAgIH0KIH0KIAogQ29sb3IgQ29sb3I6OmxpZ2h0KCkgY29uc3QK
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82267</attachid>
            <date>2011-02-13 10:10:25 -0800</date>
            <delta_ts>2011-02-13 13:11:22 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>bug-39168.diff</filename>
            <type>text/plain</type>
            <size>29801</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1NWI0NGE2Li45YTAxYWE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDIt
MTMgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENhbnZhczogMmQuZmlsbFN0eWxlLnBhcnNl
LnN5c3RlbS5odG1sIGZhaWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zOTE2OAorCisgICAgICAgICogZmFzdC9jc3MvdGVzdC1zZXR0aW5nLWNhbnZh
cy1jb2xvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL3Rlc3Qtc2V0
dGluZy1jYW52YXMtY29sb3IuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvU2tpcHBlZDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgorCiAyMDExLTAyLTEzICBTaGluaWNoaXJvIEhhbWFqaSAg
PGhhbWFqaUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVXBkYXRlIGNocm9taXVtJ3MgdGVzdCBl
eHBlY3RhdGlvbnMgZm9yIGZhc3QvaW5saW5lL2lubGluZS1ib3gtYmFja2dyb3VuZC0qCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy90ZXN0LXNldHRpbmctY2FudmFzLWNvbG9yLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3Rlc3Qtc2V0dGluZy1jYW52YXMtY29s
b3ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyOWNm
MmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy90ZXN0LXNldHRpbmct
Y2FudmFzLWNvbG9yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIyMCBAQAorVGVzdCBjYXNlIGZv
ciBidWcgMzkxNjguIFRoaXMgdGVzdHMgdGhlIENTUyBjb2xvciBwYXJzaW5nIGNvZGUgdXNpbmcg
PGNhbnZhcz4uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIFNldHRpbmcg
Y29sb3IgdG8gQWN0aXZlQm9yZGVyIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5n
IGNvbG9yIHRvIGFjdGl2ZWJvcmRlciB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGlu
ZyBjb2xvciB0byBBY3RpdmVDYXB0aW9uIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0
aW5nIGNvbG9yIHRvIGFjdGl2ZWNhcHRpb24gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNl
dHRpbmcgY29sb3IgdG8gQXBwV29ya3NwYWNlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBT
ZXR0aW5nIGNvbG9yIHRvIGFwcHdvcmtzcGFjZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1Mg
U2V0dGluZyBjb2xvciB0byBCYWNrZ3JvdW5kIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBT
ZXR0aW5nIGNvbG9yIHRvIGJhY2tncm91bmQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNl
dHRpbmcgY29sb3IgdG8gQnV0dG9uRmFjZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0
dGluZyBjb2xvciB0byBidXR0b25mYWNlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0
aW5nIGNvbG9yIHRvIEJ1dHRvbkhpZ2hsaWdodCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1Mg
U2V0dGluZyBjb2xvciB0byBidXR0b25oaWdobGlnaHQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQ
QVNTIFNldHRpbmcgY29sb3IgdG8gQnV0dG9uU2hhZG93IHdhcyBzdWNjZXNzZnVsbHkgc2V0Lgor
UEFTUyBTZXR0aW5nIGNvbG9yIHRvIGJ1dHRvbnNoYWRvdyB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4K
K1BBU1MgU2V0dGluZyBjb2xvciB0byBCdXR0b25UZXh0IHdhcyBzdWNjZXNzZnVsbHkgc2V0Lgor
UEFTUyBTZXR0aW5nIGNvbG9yIHRvIGJ1dHRvbnRleHQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQ
QVNTIFNldHRpbmcgY29sb3IgdG8gQ2FwdGlvblRleHQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQ
QVNTIFNldHRpbmcgY29sb3IgdG8gY2FwdGlvbnRleHQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQ
QVNTIFNldHRpbmcgY29sb3IgdG8gR3JheVRleHQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNT
IFNldHRpbmcgY29sb3IgdG8gZ3JheXRleHQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNl
dHRpbmcgY29sb3IgdG8gSGlnaGxpZ2h0IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0
aW5nIGNvbG9yIHRvIGhpZ2hsaWdodCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGlu
ZyBjb2xvciB0byBIaWdobGlnaHRUZXh0IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0
aW5nIGNvbG9yIHRvIGhpZ2hsaWdodHRleHQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNl
dHRpbmcgY29sb3IgdG8gSW5hY3RpdmVCb3JkZXIgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNT
IFNldHRpbmcgY29sb3IgdG8gaW5hY3RpdmVib3JkZXIgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQ
QVNTIFNldHRpbmcgY29sb3IgdG8gSW5hY3RpdmVDYXB0aW9uIHdhcyBzdWNjZXNzZnVsbHkgc2V0
LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGluYWN0aXZlY2FwdGlvbiB3YXMgc3VjY2Vzc2Z1bGx5
IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBJbmFjdGl2ZUNhcHRpb25UZXh0IHdhcyBzdWNj
ZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGluYWN0aXZlY2FwdGlvbnRleHQg
d2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gSW5mb0JhY2tncm91
bmQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gaW5mb2JhY2tn
cm91bmQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gSW5mb1Rl
eHQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gaW5mb3RleHQg
d2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gTWVudSB3YXMgc3Vj
Y2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBtZW51IHdhcyBzdWNjZXNzZnVs
bHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIE1lbnVUZXh0IHdhcyBzdWNjZXNzZnVsbHkg
c2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIG1lbnV0ZXh0IHdhcyBzdWNjZXNzZnVsbHkgc2V0
LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIFNjcm9sbGJhciB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4K
K1BBU1MgU2V0dGluZyBjb2xvciB0byBzY3JvbGxiYXIgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQ
QVNTIFNldHRpbmcgY29sb3IgdG8gVGhyZWVERGFya1NoYWRvdyB3YXMgc3VjY2Vzc2Z1bGx5IHNl
dC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byB0aHJlZWRkYXJrc2hhZG93IHdhcyBzdWNjZXNzZnVs
bHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIFRocmVlREZhY2Ugd2FzIHN1Y2Nlc3NmdWxs
eSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gdGhyZWVkZmFjZSB3YXMgc3VjY2Vzc2Z1bGx5
IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBUaHJlZURIaWdobGlnaHQgd2FzIHN1Y2Nlc3Nm
dWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gdGhyZWVkaGlnaGxpZ2h0IHdhcyBzdWNj
ZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIFRocmVlRExpZ2h0U2hhZG93IHdh
cyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHRocmVlZGxpZ2h0c2hh
ZG93IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIFRocmVlRFNo
YWRvdyB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byB0aHJlZWRz
aGFkb3cgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gV2luZG93
IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHdpbmRvdyB3YXMg
c3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBXaW5kb3dGcmFtZSB3YXMg
c3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byB3aW5kb3dmcmFtZSB3YXMg
c3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBXaW5kb3dUZXh0IHdhcyBz
dWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHdpbmRvd3RleHQgd2FzIHN1
Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gYWxpY2VibHVlIHdhcyBzdWNj
ZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGFudGlxdWV3aGl0ZSB3YXMgc3Vj
Y2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBhcXVhIHdhcyBzdWNjZXNzZnVs
bHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGFxdWFtYXJpbmUgd2FzIHN1Y2Nlc3NmdWxs
eSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gYXp1cmUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQu
CitQQVNTIFNldHRpbmcgY29sb3IgdG8gYmVpZ2Ugd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNT
IFNldHRpbmcgY29sb3IgdG8gYmlzcXVlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0
aW5nIGNvbG9yIHRvIGJsYWNrIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNv
bG9yIHRvIGJsYW5jaGVkYWxtb25kIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5n
IGNvbG9yIHRvIGJsdWUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3Ig
dG8gYmx1ZXZpb2xldCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0
byBicm93biB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBidXJs
eXdvb2Qgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gY2FkZXRi
bHVlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGNoYXJ0cmV1
c2Ugd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gY2hvY29sYXRl
IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGNvcmFsIHdhcyBz
dWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGNvcm5mbG93ZXJibHVlIHdh
cyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGNvcm5zaWxrIHdhcyBz
dWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGNyaW1zb24gd2FzIHN1Y2Nl
c3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gY3lhbiB3YXMgc3VjY2Vzc2Z1bGx5
IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBkYXJrYmx1ZSB3YXMgc3VjY2Vzc2Z1bGx5IHNl
dC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBkYXJrY3lhbiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4K
K1BBU1MgU2V0dGluZyBjb2xvciB0byBkYXJrZ29sZGVucm9kIHdhcyBzdWNjZXNzZnVsbHkgc2V0
LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGRhcmtncmF5IHdhcyBzdWNjZXNzZnVsbHkgc2V0Lgor
UEFTUyBTZXR0aW5nIGNvbG9yIHRvIGRhcmtncmVlbiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BB
U1MgU2V0dGluZyBjb2xvciB0byBkYXJrZ3JleSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1Mg
U2V0dGluZyBjb2xvciB0byBkYXJra2hha2kgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNl
dHRpbmcgY29sb3IgdG8gZGFya21hZ2VudGEgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNl
dHRpbmcgY29sb3IgdG8gZGFya29saXZlZ3JlZW4gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNT
IFNldHRpbmcgY29sb3IgdG8gZGFya29yYW5nZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1Mg
U2V0dGluZyBjb2xvciB0byBkYXJrb3JjaGlkIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBT
ZXR0aW5nIGNvbG9yIHRvIGRhcmtyZWQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRp
bmcgY29sb3IgdG8gZGFya3NhbG1vbiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGlu
ZyBjb2xvciB0byBkYXJrc2VhZ3JlZW4gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRp
bmcgY29sb3IgdG8gZGFya3NsYXRlYmx1ZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0
dGluZyBjb2xvciB0byBkYXJrc2xhdGVncmF5IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBT
ZXR0aW5nIGNvbG9yIHRvIGRhcmtzbGF0ZWdyZXkgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNT
IFNldHRpbmcgY29sb3IgdG8gZGFya3R1cnF1b2lzZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BB
U1MgU2V0dGluZyBjb2xvciB0byBkYXJrdmlvbGV0IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFT
UyBTZXR0aW5nIGNvbG9yIHRvIGRlZXBwaW5rIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBT
ZXR0aW5nIGNvbG9yIHRvIGRlZXBza3libHVlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBT
ZXR0aW5nIGNvbG9yIHRvIGRpbWdyYXkgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRp
bmcgY29sb3IgdG8gZGltZ3JleSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBj
b2xvciB0byBkb2RnZXJibHVlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNv
bG9yIHRvIGZpcmVicmljayB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xv
ciB0byBmbG9yYWx3aGl0ZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xv
ciB0byBmb3Jlc3RncmVlbiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xv
ciB0byBmdWNoc2lhIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRv
IGdhaW5zYm9ybyB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBn
aG9zdHdoaXRlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGdv
bGQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gZ29sZGVucm9k
IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGdyYXkgd2FzIHN1
Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gZ3JlZW4gd2FzIHN1Y2Nlc3Nm
dWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gZ3JlZW55ZWxsb3cgd2FzIHN1Y2Nlc3Nm
dWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gZ3JleSB3YXMgc3VjY2Vzc2Z1bGx5IHNl
dC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBob25leWRldyB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4K
K1BBU1MgU2V0dGluZyBjb2xvciB0byBob3RwaW5rIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFT
UyBTZXR0aW5nIGNvbG9yIHRvIGluZGlhbnJlZCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1Mg
U2V0dGluZyBjb2xvciB0byBpbmRpZ28gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRp
bmcgY29sb3IgdG8gaXZvcnkgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29s
b3IgdG8ga2hha2kgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8g
bGF2ZW5kZXIgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbGF2
ZW5kZXJibHVzaCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBs
YXduZ3JlZW4gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbGVt
b25jaGlmZm9uIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGxp
Z2h0Ymx1ZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBsaWdo
dGNvcmFsIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGxpZ2h0
Y3lhbiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBsaWdodGdv
bGRlbnJvZHllbGxvdyB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0
byBsaWdodGdyYXkgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8g
bGlnaHRncmVlbiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBs
aWdodGdyZXkgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbGln
aHRwaW5rIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGxpZ2h0
c2FsbW9uIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGxpZ2h0
c2VhZ3JlZW4gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbGln
aHRza3libHVlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGxp
Z2h0c2xhdGVncmF5IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRv
IGxpZ2h0c2xhdGVncmV5IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9y
IHRvIGxpZ2h0c3RlZWxibHVlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNv
bG9yIHRvIGxpZ2h0eWVsbG93IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNv
bG9yIHRvIGxpbWUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8g
bGltZWdyZWVuIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGxp
bmVuIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIG1hZ2VudGEg
d2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbWFyb29uIHdhcyBz
dWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIG1lZGl1bWFxdWFtYXJpbmUg
d2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbWVkaXVtYmx1ZSB3
YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBtZWRpdW1vcmNoaWQg
d2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbWVkaXVtcHVycGxl
IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIG1lZGl1bXNlYWdy
ZWVuIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIG1lZGl1bXNs
YXRlYmx1ZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBtZWRp
dW1zcHJpbmdncmVlbiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0
byBtZWRpdW10dXJxdW9pc2Ugd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29s
b3IgdG8gbWVkaXVtdmlvbGV0cmVkIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5n
IGNvbG9yIHRvIG1pZG5pZ2h0Ymx1ZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGlu
ZyBjb2xvciB0byBtaW50Y3JlYW0gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcg
Y29sb3IgdG8gbWlzdHlyb3NlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNv
bG9yIHRvIG1vY2Nhc2luIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9y
IHRvIG5hdmFqb3doaXRlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9y
IHRvIG5hdnkgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gb2xk
bGFjZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBvbGl2ZSB3
YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBvbGl2ZWRyYWIgd2Fz
IHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gb3JhbmdlIHdhcyBzdWNj
ZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIG9yYW5nZXJlZCB3YXMgc3VjY2Vz
c2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBvcmNoaWQgd2FzIHN1Y2Nlc3NmdWxs
eSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gcGFsZWdvbGRlbnJvZCB3YXMgc3VjY2Vzc2Z1
bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBwYWxlZ3JlZW4gd2FzIHN1Y2Nlc3NmdWxs
eSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gcGFsZXR1cnF1b2lzZSB3YXMgc3VjY2Vzc2Z1
bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBwYWxldmlvbGV0cmVkIHdhcyBzdWNjZXNz
ZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHBhcGF5YXdoaXAgd2FzIHN1Y2Nlc3Nm
dWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gcGVhY2hwdWZmIHdhcyBzdWNjZXNzZnVs
bHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHBlcnUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQu
CitQQVNTIFNldHRpbmcgY29sb3IgdG8gcGluayB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1Mg
U2V0dGluZyBjb2xvciB0byBwbHVtIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5n
IGNvbG9yIHRvIHBvd2RlcmJsdWUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcg
Y29sb3IgdG8gcHVycGxlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9y
IHRvIHJvc3licm93biB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0
byByb3lhbGJsdWUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8g
c2FkZGxlYnJvd24gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8g
c2FsbW9uIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHNhbmR5
YnJvd24gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gc2VhZ3Jl
ZW4gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gc2Vhc2hlbGwg
d2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gc2llbm5hIHdhcyBz
dWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHNpbHZlciB3YXMgc3VjY2Vz
c2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBza3libHVlIHdhcyBzdWNjZXNzZnVs
bHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHNsYXRlYmx1ZSB3YXMgc3VjY2Vzc2Z1bGx5
IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBzbGF0ZWdyYXkgd2FzIHN1Y2Nlc3NmdWxseSBz
ZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gc2xhdGVncmV5IHdhcyBzdWNjZXNzZnVsbHkgc2V0
LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHNub3cgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNT
IFNldHRpbmcgY29sb3IgdG8gc3ByaW5nZ3JlZW4gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNT
IFNldHRpbmcgY29sb3IgdG8gc3RlZWxibHVlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBT
ZXR0aW5nIGNvbG9yIHRvIHRhbiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBj
b2xvciB0byB0ZWFsIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRv
IHRoaXN0bGUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gdG9t
YXRvIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHR1cnF1b2lz
ZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byB2aW9sZXQgd2Fz
IHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gd2hlYXQgd2FzIHN1Y2Nl
c3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gd2hpdGUgd2FzIHN1Y2Nlc3NmdWxs
eSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gd2hpdGVzbW9rZSB3YXMgc3VjY2Vzc2Z1bGx5
IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byB5ZWxsb3cgd2FzIHN1Y2Nlc3NmdWxseSBzZXQu
CitQQVNTIFNldHRpbmcgY29sb3IgdG8geWVsbG93Z3JlZW4gd2FzIHN1Y2Nlc3NmdWxseSBzZXQu
CitQQVNTIFNldHRpbmcgY29sb3IgdG8gIzBmMCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1Mg
U2V0dGluZyBjb2xvciB0byBoc2woMTIwLCAxMDAlLCA1MCUpIHdhcyBzdWNjZXNzZnVsbHkgc2V0
LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGZvb2JhciB3YXMgbm90IHNldCAoYXMgZXhwZWN0ZWQp
LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGNvdW50ZXIoZm9vYmFyKSB3YXMgbm90IHNldCAoYXMg
ZXhwZWN0ZWQpLgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHVybChodHRwOi8vMTI3LjAuMC4xOjgw
ODAvKSB3YXMgbm90IHNldCAoYXMgZXhwZWN0ZWQpLgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGlu
aGVyaXRlZCB3YXMgbm90IHNldCAoYXMgZXhwZWN0ZWQpLgorUEFTUyBTZXR0aW5nIGNvbG9yIHRv
ICMxMDAlIHdhcyBub3Qgc2V0IChhcyBleHBlY3RlZCkuCitQQVNTIFNldHRpbmcgY29sb3IgdG8g
IzEwMHB4IHdhcyBub3Qgc2V0IChhcyBleHBlY3RlZCkuCitQQVNTIFNldHRpbmcgY29sb3IgdG8g
LXdlYmtpdC12YXIoInRlc3QiKSB3YXMgbm90IHNldCAoYXMgZXhwZWN0ZWQpLgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL3Rlc3Qtc2V0dGluZy1jYW52YXMtY29sb3IuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvY3NzL3Rlc3Qtc2V0dGluZy1jYW52YXMtY29sb3IuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTg1YTEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3MvdGVzdC1zZXR0aW5nLWNhbnZhcy1jb2xvci5odG1sCkBAIC0wLDAg
KzEsMjUyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2Ny
aXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZhcyI+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3Qg
Y2FzZSBmb3IgYnVnIDM5MTY4LiBUaGlzIHRlc3RzIHRoZSBDU1MgY29sb3IgcGFyc2luZyBjb2Rl
IHVzaW5nICZsdDtjYW52YXMmZ3Q7LiIpOworCitmdW5jdGlvbiBsb2cobWVzc2FnZSkgeworICAg
IHZhciBjb25zb2xlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKTsKKyAgICBj
b25zb2xlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1lc3NhZ2UpKTsKKyAg
ICBjb25zb2xlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIkJSIikpOworfQor
Cit2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwordmFyIGN0
eCA9IGNhbnZhcy5nZXRDb250ZXh0KCIyZCIpOworCitmdW5jdGlvbiBzaG91bGRTdWNjZXNzZnVs
bHlQYXJzZShjb2xvcikgeworICAgIGN0eC5maWxsU3R5bGUgPSAiI2YwMCI7CisgICAgY3R4LmZp
bGxTdHlsZSA9IGNvbG9yOworICAgIC8vIENoZWNrIHRoYXQgdGhlcmUgaXMgbm8gcmVkLgorICAg
IGlmIChjdHguZmlsbFN0eWxlLm1hdGNoKC9eIyg/IShGRjAwMDB8ZmYwMDAwfGYwMCkkKS8pKQor
ICAgICAgICB0ZXN0UGFzc2VkKCJTZXR0aW5nIGNvbG9yIHRvICIgKyBjb2xvciArICIgd2FzIHN1
Y2Nlc3NmdWxseSBzZXQuIik7CisgICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKCJTZXR0aW5n
IGNvbG9yIHRvICIgKyBjb2xvciArICIgd2FzIG5vdCBzZXQgYnV0IHNob3VsZCEiKTsKK30KKwor
ZnVuY3Rpb24gc2hvdWxkTm90U3VjY2Vzc2Z1bGx5UGFyc2UoY29sb3IpIHsKKyAgICBjdHguZmls
bFN0eWxlID0gIiMwZjAiOworICAgIGN0eC5maWxsU3R5bGUgPSBjb2xvcjsKKyAgICAvLyBDaGVj
ayB0aGF0IHRoZSBjb2xvciBpcyBzdGlsbCBncmVlbi4KKyAgICBpZiAoY3R4LmZpbGxTdHlsZS5t
YXRjaCgvXiMoMDBGRjAwfDAwZmYwMHwwZjApJC8pKQorICAgICAgICB0ZXN0UGFzc2VkKCJTZXR0
aW5nIGNvbG9yIHRvICIgKyBjb2xvciArICIgd2FzIG5vdCBzZXQgKGFzIGV4cGVjdGVkKS4iKTsK
KyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQoIlNldHRpbmcgY29sb3IgdG8gIiArIGNvbG9y
ICsgIiB3YXMgc3VjY2Vzc2Z1bGx5IHNldCBidXQgc2hvdWxkIG5vdCEiKTsKK30KKworLy8gVGFr
ZW4gZnJvbSBDU1MgMyBjb2xvci4KK3ZhciBkZXByZWNhdGVkU3lzdGVtQ29sb3JzID0gWworICAg
ICJBY3RpdmVCb3JkZXIiLAorICAgICJBY3RpdmVDYXB0aW9uIiwKKyAgICAiQXBwV29ya3NwYWNl
IiwKKyAgICAiQmFja2dyb3VuZCIsCisgICAgIkJ1dHRvbkZhY2UiLAorICAgICJCdXR0b25IaWdo
bGlnaHQiLAorICAgICJCdXR0b25TaGFkb3ciLAorICAgICJCdXR0b25UZXh0IiwKKyAgICAiQ2Fw
dGlvblRleHQiLAorICAgICJHcmF5VGV4dCIsCisgICAgIkhpZ2hsaWdodCIsCisgICAgIkhpZ2hs
aWdodFRleHQiLAorICAgICJJbmFjdGl2ZUJvcmRlciIsCisgICAgIkluYWN0aXZlQ2FwdGlvbiIs
CisgICAgIkluYWN0aXZlQ2FwdGlvblRleHQiLAorICAgICJJbmZvQmFja2dyb3VuZCIsCisgICAg
IkluZm9UZXh0IiwKKyAgICAiTWVudSIsCisgICAgIk1lbnVUZXh0IiwKKyAgICAiU2Nyb2xsYmFy
IiwKKyAgICAiVGhyZWVERGFya1NoYWRvdyIsCisgICAgIlRocmVlREZhY2UiLAorICAgICJUaHJl
ZURIaWdobGlnaHQiLAorICAgICJUaHJlZURMaWdodFNoYWRvdyIsCisgICAgIlRocmVlRFNoYWRv
dyIsCisgICAgIldpbmRvdyIsCisgICAgIldpbmRvd0ZyYW1lIiwKKyAgICAiV2luZG93VGV4dCIK
K107CisKKy8vIFZhbGlkIHZhbHVlcyBwYXNzZWQgaW4gY29sb3IgbWF0Y2hpbmcuCitmb3IgKHZh
ciBpID0gMDsgaSA8IGRlcHJlY2F0ZWRTeXN0ZW1Db2xvcnMubGVuZ3RoOyArK2kpIHsKKyAgICBz
aG91bGRTdWNjZXNzZnVsbHlQYXJzZShkZXByZWNhdGVkU3lzdGVtQ29sb3JzW2ldKTsKKyAgICBz
aG91bGRTdWNjZXNzZnVsbHlQYXJzZShkZXByZWNhdGVkU3lzdGVtQ29sb3JzW2ldLnRvTG93ZXJD
YXNlKCkpOworfQorCisvLyBUYWtlbiBmcm9tIENTUyAzIGNvbG9yLgordmFyIHN2Z0NvbG9ycyA9
IFsKKyAgICAiYWxpY2VibHVlIiwKKyAgICAiYW50aXF1ZXdoaXRlIiwKKyAgICAiYXF1YSIsCisg
ICAgImFxdWFtYXJpbmUiLAorICAgICJhenVyZSIsCisgICAgImJlaWdlIiwKKyAgICAiYmlzcXVl
IiwKKyAgICAiYmxhY2siLAorICAgICJibGFuY2hlZGFsbW9uZCIsCisgICAgImJsdWUiLAorICAg
ICJibHVldmlvbGV0IiwKKyAgICAiYnJvd24iLAorICAgICJidXJseXdvb2QiLAorICAgICJjYWRl
dGJsdWUiLAorICAgICJjaGFydHJldXNlIiwKKyAgICAiY2hvY29sYXRlIiwKKyAgICAiY29yYWwi
LAorICAgICJjb3JuZmxvd2VyYmx1ZSIsCisgICAgImNvcm5zaWxrIiwKKyAgICAiY3JpbXNvbiIs
CisgICAgImN5YW4iLAorICAgICJkYXJrYmx1ZSIsCisgICAgImRhcmtjeWFuIiwKKyAgICAiZGFy
a2dvbGRlbnJvZCIsCisgICAgImRhcmtncmF5IiwKKyAgICAiZGFya2dyZWVuIiwKKyAgICAiZGFy
a2dyZXkiLAorICAgICJkYXJra2hha2kiLAorICAgICJkYXJrbWFnZW50YSIsCisgICAgImRhcmtv
bGl2ZWdyZWVuIiwKKyAgICAiZGFya29yYW5nZSIsCisgICAgImRhcmtvcmNoaWQiLAorICAgICJk
YXJrcmVkIiwKKyAgICAiZGFya3NhbG1vbiIsCisgICAgImRhcmtzZWFncmVlbiIsCisgICAgImRh
cmtzbGF0ZWJsdWUiLAorICAgICJkYXJrc2xhdGVncmF5IiwKKyAgICAiZGFya3NsYXRlZ3JleSIs
CisgICAgImRhcmt0dXJxdW9pc2UiLAorICAgICJkYXJrdmlvbGV0IiwKKyAgICAiZGVlcHBpbmsi
LAorICAgICJkZWVwc2t5Ymx1ZSIsCisgICAgImRpbWdyYXkiLAorICAgICJkaW1ncmV5IiwKKyAg
ICAiZG9kZ2VyYmx1ZSIsCisgICAgImZpcmVicmljayIsCisgICAgImZsb3JhbHdoaXRlIiwKKyAg
ICAiZm9yZXN0Z3JlZW4iLAorICAgICJmdWNoc2lhIiwKKyAgICAiZ2FpbnNib3JvIiwKKyAgICAi
Z2hvc3R3aGl0ZSIsCisgICAgImdvbGQiLAorICAgICJnb2xkZW5yb2QiLAorICAgICJncmF5IiwK
KyAgICAiZ3JlZW4iLAorICAgICJncmVlbnllbGxvdyIsCisgICAgImdyZXkiLAorICAgICJob25l
eWRldyIsCisgICAgImhvdHBpbmsiLAorICAgICJpbmRpYW5yZWQiLAorICAgICJpbmRpZ28iLAor
ICAgICJpdm9yeSIsCisgICAgImtoYWtpIiwKKyAgICAibGF2ZW5kZXIiLAorICAgICJsYXZlbmRl
cmJsdXNoIiwKKyAgICAibGF3bmdyZWVuIiwKKyAgICAibGVtb25jaGlmZm9uIiwKKyAgICAibGln
aHRibHVlIiwKKyAgICAibGlnaHRjb3JhbCIsCisgICAgImxpZ2h0Y3lhbiIsCisgICAgImxpZ2h0
Z29sZGVucm9keWVsbG93IiwKKyAgICAibGlnaHRncmF5IiwKKyAgICAibGlnaHRncmVlbiIsCisg
ICAgImxpZ2h0Z3JleSIsCisgICAgImxpZ2h0cGluayIsCisgICAgImxpZ2h0c2FsbW9uIiwKKyAg
ICAibGlnaHRzZWFncmVlbiIsCisgICAgImxpZ2h0c2t5Ymx1ZSIsCisgICAgImxpZ2h0c2xhdGVn
cmF5IiwKKyAgICAibGlnaHRzbGF0ZWdyZXkiLAorICAgICJsaWdodHN0ZWVsYmx1ZSIsCisgICAg
ImxpZ2h0eWVsbG93IiwKKyAgICAibGltZSIsCisgICAgImxpbWVncmVlbiIsCisgICAgImxpbmVu
IiwKKyAgICAibWFnZW50YSIsCisgICAgIm1hcm9vbiIsCisgICAgIm1lZGl1bWFxdWFtYXJpbmUi
LAorICAgICJtZWRpdW1ibHVlIiwKKyAgICAibWVkaXVtb3JjaGlkIiwKKyAgICAibWVkaXVtcHVy
cGxlIiwKKyAgICAibWVkaXVtc2VhZ3JlZW4iLAorICAgICJtZWRpdW1zbGF0ZWJsdWUiLAorICAg
ICJtZWRpdW1zcHJpbmdncmVlbiIsCisgICAgIm1lZGl1bXR1cnF1b2lzZSIsCisgICAgIm1lZGl1
bXZpb2xldHJlZCIsCisgICAgIm1pZG5pZ2h0Ymx1ZSIsCisgICAgIm1pbnRjcmVhbSIsCisgICAg
Im1pc3R5cm9zZSIsCisgICAgIm1vY2Nhc2luIiwKKyAgICAibmF2YWpvd2hpdGUiLAorICAgICJu
YXZ5IiwKKyAgICAib2xkbGFjZSIsCisgICAgIm9saXZlIiwKKyAgICAib2xpdmVkcmFiIiwKKyAg
ICAib3JhbmdlIiwKKyAgICAib3JhbmdlcmVkIiwKKyAgICAib3JjaGlkIiwKKyAgICAicGFsZWdv
bGRlbnJvZCIsCisgICAgInBhbGVncmVlbiIsCisgICAgInBhbGV0dXJxdW9pc2UiLAorICAgICJw
YWxldmlvbGV0cmVkIiwKKyAgICAicGFwYXlhd2hpcCIsCisgICAgInBlYWNocHVmZiIsCisgICAg
InBlcnUiLAorICAgICJwaW5rIiwKKyAgICAicGx1bSIsCisgICAgInBvd2RlcmJsdWUiLAorICAg
ICJwdXJwbGUiLAorICAgIC8vIFdlIGRvIG5vdCB0ZXN0IHJlZC4KKyAgICAicm9zeWJyb3duIiwK
KyAgICAicm95YWxibHVlIiwKKyAgICAic2FkZGxlYnJvd24iLAorICAgICJzYWxtb24iLAorICAg
ICJzYW5keWJyb3duIiwKKyAgICAic2VhZ3JlZW4iLAorICAgICJzZWFzaGVsbCIsCisgICAgInNp
ZW5uYSIsCisgICAgInNpbHZlciIsCisgICAgInNreWJsdWUiLAorICAgICJzbGF0ZWJsdWUiLAor
ICAgICJzbGF0ZWdyYXkiLAorICAgICJzbGF0ZWdyZXkiLAorICAgICJzbm93IiwKKyAgICAic3By
aW5nZ3JlZW4iLAorICAgICJzdGVlbGJsdWUiLAorICAgICJ0YW4iLAorICAgICJ0ZWFsIiwKKyAg
ICAidGhpc3RsZSIsCisgICAgInRvbWF0byIsCisgICAgInR1cnF1b2lzZSIsCisgICAgInZpb2xl
dCIsCisgICAgIndoZWF0IiwKKyAgICAid2hpdGUiLAorICAgICJ3aGl0ZXNtb2tlIiwKKyAgICAi
eWVsbG93IiwKKyAgICAieWVsbG93Z3JlZW4iCitdOworCisvLyBWYWxpZCB2YWx1ZXMgcGFzc2Vk
IGluIGNvbG9yIG1hdGNoaW5nLgorZm9yICh2YXIgaSA9IDA7IGkgPCBzdmdDb2xvcnMubGVuZ3Ro
OyArK2kpCisgICAgc2hvdWxkU3VjY2Vzc2Z1bGx5UGFyc2Uoc3ZnQ29sb3JzW2ldKTsKKworCitz
aG91bGRTdWNjZXNzZnVsbHlQYXJzZSgiIzBmMCIpOworc2hvdWxkU3VjY2Vzc2Z1bGx5UGFyc2Uo
ImhzbCgxMjAsIDEwMCUsIDUwJSkiKTsgLy8gR3JlZW4gSFNMCisKKy8vIEludmFsaWQgdmFsdWVz
Lgorc2hvdWxkTm90U3VjY2Vzc2Z1bGx5UGFyc2UoImZvb2JhciIpOworc2hvdWxkTm90U3VjY2Vz
c2Z1bGx5UGFyc2UoImNvdW50ZXIoZm9vYmFyKSIpOworc2hvdWxkTm90U3VjY2Vzc2Z1bGx5UGFy
c2UoInVybChodHRwOi8vMTI3LjAuMC4xOjgwODAvKSIpOworc2hvdWxkTm90U3VjY2Vzc2Z1bGx5
UGFyc2UoImluaGVyaXRlZCIpOworc2hvdWxkTm90U3VjY2Vzc2Z1bGx5UGFyc2UoIiMxMDAlIik7
CitzaG91bGROb3RTdWNjZXNzZnVsbHlQYXJzZSgiIzEwMHB4Iik7CitzaG91bGROb3RTdWNjZXNz
ZnVsbHlQYXJzZSgnLXdlYmtpdC12YXIoInRlc3QiKScpOworCitzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCmluZGV4
IDA2OTVlMDkuLmIzNGEwNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9T
a2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCkBAIC0yMDkzLDcg
KzIwOTMsNiBAQCBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0
dGVybi5zb3VyY2UtaW4uaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUudW5j
b3ZlcmVkLnBhdHRlcm4uc291cmNlLW91dC5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmRy
YXdJbWFnZS5icm9rZW4uaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5kcmF3SW1hZ2UubnVs
bC5odG1sCi1jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmZpbGxTdHlsZS5wYXJzZS5zeXN0ZW0uaHRt
bAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5mcm9udC5odG1s
CiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnRvcC5odG1sCiBj
YW52YXMvcGhpbGlwL3Rlc3RzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUyLmh0bWwKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL1NraXBwZWQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9Ta2lwcGVkCmluZGV4IDNmOWRkYmEuLjI2MWNiOWYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL1NraXBwZWQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvU2tpcHBlZApAQCAtMTI2LDcgKzEy
Niw2IEBAIHBsYXRmb3JtL21hYy9lZGl0aW5nL3NwZWxsaW5nL21vdmUtY3Vyc29yLXRvLWJlZ2lu
bmluZy1vZi1hdXRvY29ycmVjdGVkLXdvcmQuaHRtCiAjIFNraXBwaW5nIGZhaWxpbmcgcGhpbGlw
IGNhbnZhcyB0ZXN0cyBmcm9tIGh0dHA6Ly9waGlsaXAuaHRtbDUub3JnL3Rlc3RzL2NhbnZhcy9z
dWl0ZS90ZXN0cy8KIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZHJhd0ltYWdlLmJyb2tlbi5odG1s
CiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmRyYXdJbWFnZS5udWxsLmh0bWwKLWNhbnZhcy9waGls
aXAvdGVzdHMvMmQuZmlsbFN0eWxlLnBhcnNlLnN5c3RlbS5odG1sCiBjYW52YXMvcGhpbGlwL3Rl
c3RzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmZyb250Lmh0bWwKIGNhbnZhcy9waGlsaXAvdGVz
dHMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUudG9wLmh0bWwKIGNhbnZhcy9waGlsaXAvdGVzdHMv
MmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTIuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5k
ZXggNzBlMTFmNC4uNDlmMzcwYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQv
U2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC00NjIyLDcg
KzQ2MjIsNiBAQCBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0
dGVybi5zb3VyY2UtaW4uaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUudW5j
b3ZlcmVkLnBhdHRlcm4uc291cmNlLW91dC5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmRy
YXdJbWFnZS5icm9rZW4uaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5kcmF3SW1hZ2UubnVs
bC5odG1sCi1jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmZpbGxTdHlsZS5wYXJzZS5zeXN0ZW0uaHRt
bAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZWhpbmQuaHRt
bAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZXNpZGUuaHRt
bAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5ib3R0b20uaHRt
bApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IDEzMDZkNjQuLmM1MTM0ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
NSBAQAorMjAxMS0wMi0xMyAgQW5kcmVhcyBLbGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2FudmFzOiAyZC5m
aWxsU3R5bGUucGFyc2Uuc3lzdGVtLmh0bWwgZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5MTY4CisKKyAgICAgICAgQmFzZWQgb24gcHJldmlv
dXMgd29yayBieSBKdWxpZW4gQ2hhZmZyYWl4IDxqY2hhZmZyYWl4QGNvZGVhdXJvcmEub3JnPgor
ICAgICAgICBhbmQgSmFuIEVyaWsgSGFuc3NlbiA8amhhbnNzZW5Ac2VuY2hhLmNvbT4KKworICAg
ICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpw
YXJzZUNvbG9yKTogQ2hhbmdlZCB0aGUgZnVuY3Rpb24gdG8gYmV0dGVyIG1hdGNoIG91cgorICAg
ICAgICBlYXJseSByZXR1cm4gcG9saWN5LiBBbHNvIHdlIG5vdyByZXR1cm4gZmFsc2Ugd2hlbiB3
ZSBkb24ndCBwYXJzZSB0aGUgY29sb3IuCisgICAgICAgIFRoaXMgaXMgbmVlZGVkIGZvciBjcmVh
dGVGcm9tU3RyaW5nIHRvIGZhbGxiYWNrIHRvIHVzaW5nIHBhcnNlU3lzdGVtQ29sb3IuCisKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VTeXN0ZW1Db2xvcik6IE1hZGUgdXNlIG9m
IHRoZSBSZW5kZXJUaGVtZSB0byBnZXQKKyAgICAgICAgdGhlIHN5c3RlbSBjb2xvcnMuCisKKyAg
ICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6IEFkZGVkIHRoZSBuZXcgcGFyc2VTeXN0ZW1Db2xvciBt
ZXRob2QuCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpzZXRTdHJv
a2VDb2xvcik6IFBhc3MgdGhlIGNhbnZhcyB0byBjcmVhdGVGcm9tU3RyaW5nLgorICAgICAgICAo
V2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpzZXRGaWxsQ29sb3IpOiBEaXR0by4K
KworICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnBhcnNlQ29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VDb2xvck9yQ3VycmVudENv
bG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1N0eWxlOjpjcmVhdGVGcm9tU3RyaW5nKTog
VHJ5IHRvIHBhcnNlIHRoZSBjb2xvciB1c2luZyBDU1NQYXJzZXI6OnBhcnNlQ29sb3IKKyAgICAg
ICAgYW5kIGZhbGwgYmFjayB0byBwYXJzZVN5c3RlbUNvbG9yIGlmIGl0IGRpZCBub3Qgd29yay4K
KworICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmg6IEFkZGVkIHRoZSBuZXcgSFRN
TENhbnZhc0VsZW1lbnQqIHBhcmFtZXRlciB0byBjcmVhdGVGcm9tU3RyaW5nLgorCiAyMDExLTAy
LTEyICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RGFuIEJlcm5zdGVpbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggMWFlNDVmNS4uZTQ5
Zjc5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTYyLDggKzYyLDEwIEBACiAjaW5j
bHVkZSAiSGFzaFRvb2xzLmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCiAjaW5jbHVkZSAiTWVk
aWFRdWVyeUV4cC5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWlyLmgiCiAjaW5j
bHVkZSAiUmVjdC5oIgorI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAjaW5jbHVkZSAiU2hhZG93
VmFsdWUuaCIKICNpbmNsdWRlICJXZWJLaXRDU1NLZXlmcmFtZVJ1bGUuaCIKICNpbmNsdWRlICJX
ZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmgiCkBAIC0yOTQsMTEgKzI5NiwxNCBAQCBib29sIENTU1Bh
cnNlcjo6cGFyc2VDb2xvcihSR0JBMzImIGNvbG9yLCBjb25zdCBTdHJpbmcmIHN0cmluZywgYm9v
bCBzdHJpY3QpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIENTU1ZhbHVlKiB2YWx1ZSA9
IHBhcnNlci5tX3BhcnNlZFByb3BlcnRpZXNbMF0tPnZhbHVlKCk7Ci0gICAgaWYgKHZhbHVlLT5j
c3NWYWx1ZVR5cGUoKSA9PSBDU1NWYWx1ZTo6Q1NTX1BSSU1JVElWRV9WQUxVRSkgewotICAgICAg
ICBDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUgPSBzdGF0aWNfY2FzdDxDU1NQcmlt
aXRpdmVWYWx1ZSo+KHZhbHVlKTsKLSAgICAgICAgY29sb3IgPSBwcmltaXRpdmVWYWx1ZS0+Z2V0
UkdCQTMyVmFsdWUoKTsKLSAgICB9CisgICAgaWYgKHZhbHVlLT5jc3NWYWx1ZVR5cGUoKSAhPSBD
U1NWYWx1ZTo6Q1NTX1BSSU1JVElWRV9WQUxVRSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgQ1NTUHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NTUHJp
bWl0aXZlVmFsdWUqPih2YWx1ZSk7CisgICAgaWYgKHByaW1pdGl2ZVZhbHVlLT5wcmltaXRpdmVU
eXBlKCkgIT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19SR0JDT0xPUikKKyAgICAgICAgcmV0dXJu
IGZhbHNlOwogCisgICAgY29sb3IgPSBwcmltaXRpdmVWYWx1ZS0+Z2V0UkdCQTMyVmFsdWUoKTsK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMzE0LDYgKzMxOSwyMiBAQCBib29sIENTU1BhcnNl
cjo6cGFyc2VDb2xvcihDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbiogZGVjbGFyYXRpb24sIGNv
bnN0IFN0cmluZwogICAgIHJldHVybiAobV9udW1QYXJzZWRQcm9wZXJ0aWVzICYmIG1fcGFyc2Vk
UHJvcGVydGllc1swXS0+bV9pZCA9PSBDU1NQcm9wZXJ0eUNvbG9yKTsKIH0KIAorYm9vbCBDU1NQ
YXJzZXI6OnBhcnNlU3lzdGVtQ29sb3IoUkdCQTMyJiBjb2xvciwgY29uc3QgU3RyaW5nJiBzdHJp
bmcsIERvY3VtZW50KiBkb2N1bWVudCkKK3sKKyAgICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVu
dC0+cGFnZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBDU1NQYXJzZXJTdHJpbmcg
Y3NzQ29sb3I7CisgICAgY3NzQ29sb3IuY2hhcmFjdGVycyA9IGNvbnN0X2Nhc3Q8VUNoYXIqPihz
dHJpbmcuY2hhcmFjdGVycygpKTsKKyAgICBjc3NDb2xvci5sZW5ndGggPSBzdHJpbmcubGVuZ3Ro
KCk7CisgICAgaW50IGlkID0gY3NzVmFsdWVLZXl3b3JkSUQoY3NzQ29sb3IpOworICAgIGlmIChp
ZCA8PSAwKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBjb2xvciA9IGRvY3VtZW50LT5w
YWdlKCktPnRoZW1lKCktPnN5c3RlbUNvbG9yKGlkKS5yZ2IoKTsKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKwogdm9pZCBDU1NQYXJzZXI6OnBhcnNlU2VsZWN0b3IoY29uc3QgU3RyaW5nJiBzdHJpbmcs
IERvY3VtZW50KiBkb2MsIENTU1NlbGVjdG9yTGlzdCYgc2VsZWN0b3JMaXN0KQogewogICAgIFJl
ZlB0cjxDU1NTdHlsZVNoZWV0PiBkdW1teVN0eWxlU2hlZXQgPSBDU1NTdHlsZVNoZWV0OjpjcmVh
dGUoZG9jKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCBkMWIyMDYxLi42Y2NmYmUyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5oCkBAIC02NCw2ICs2NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgUGFzc1JlZlB0cjxDU1NSdWxlPiBwYXJzZUtleWZyYW1lUnVsZShDU1NTdHlsZVNo
ZWV0KiwgY29uc3QgU3RyaW5nJik7CiAgICAgICAgIGJvb2wgcGFyc2VWYWx1ZShDU1NNdXRhYmxl
U3R5bGVEZWNsYXJhdGlvbiosIGludCBwcm9wSWQsIGNvbnN0IFN0cmluZyYsIGJvb2wgaW1wb3J0
YW50KTsKICAgICAgICAgc3RhdGljIGJvb2wgcGFyc2VDb2xvcihSR0JBMzImIGNvbG9yLCBjb25z
dCBTdHJpbmcmLCBib29sIHN0cmljdCA9IGZhbHNlKTsKKyAgICAgICAgc3RhdGljIGJvb2wgcGFy
c2VTeXN0ZW1Db2xvcihSR0JBMzImIGNvbG9yLCBjb25zdCBTdHJpbmcmLCBEb2N1bWVudCopOwog
ICAgICAgICBib29sIHBhcnNlQ29sb3IoQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qLCBjb25z
dCBTdHJpbmcmKTsKICAgICAgICAgYm9vbCBwYXJzZURlY2xhcmF0aW9uKENTU011dGFibGVTdHls
ZURlY2xhcmF0aW9uKiwgY29uc3QgU3RyaW5nJiwgUmVmUHRyPENTU1N0eWxlU291cmNlRGF0YT4q
IHN0eWxlU291cmNlRGF0YSA9IDApOwogICAgICAgICBib29sIHBhcnNlTWVkaWFRdWVyeShNZWRp
YUxpc3QqLCBjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCmluZGV4IDQ1OGExNjguLjUwZmUy
ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmlu
Z0NvbnRleHQyRC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJELmNwcApAQCAtNTMsNiArNTMsNyBAQAogI2luY2x1ZGUgIktVUkwuaCIK
ICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmVuZGVySFRNTENhbnZhcy5oIgorI2luY2x1
ZGUgIlJlbmRlclRoZW1lLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRl
ICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN0cm9rZVN0eWxlQXBwbGllci5oIgpAQCAtNTc0LDcg
KzU3NSw3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpzZXRTdHJva2VDb2xvcihj
b25zdCBTdHJpbmcmIGNvbG9yKQogewogICAgIGlmIChjb2xvciA9PSBzdGF0ZSgpLm1fdW5wYXJz
ZWRTdHJva2VDb2xvcikKICAgICAgICAgcmV0dXJuOwotICAgIHNldFN0cm9rZVN0eWxlKENhbnZh
c1N0eWxlOjpjcmVhdGVGcm9tU3RyaW5nKGNvbG9yKSk7CisgICAgc2V0U3Ryb2tlU3R5bGUoQ2Fu
dmFzU3R5bGU6OmNyZWF0ZUZyb21TdHJpbmcoY29sb3IsIGNhbnZhcygpKSk7CiAgICAgc3RhdGUo
KS5tX3VucGFyc2VkU3Ryb2tlQ29sb3IgPSBjb2xvcjsKIH0KIApAQCAtNjE1LDcgKzYxNiw3IEBA
IHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpzZXRGaWxsQ29sb3IoY29uc3QgU3RyaW5n
JiBjb2xvcikKIHsKICAgICBpZiAoY29sb3IgPT0gc3RhdGUoKS5tX3VucGFyc2VkRmlsbENvbG9y
KQogICAgICAgICByZXR1cm47Ci0gICAgc2V0RmlsbFN0eWxlKENhbnZhc1N0eWxlOjpjcmVhdGVG
cm9tU3RyaW5nKGNvbG9yKSk7CisgICAgc2V0RmlsbFN0eWxlKENhbnZhc1N0eWxlOjpjcmVhdGVG
cm9tU3RyaW5nKGNvbG9yLCBjYW52YXMoKSkpOwogICAgIHN0YXRlKCkubV91bnBhcnNlZEZpbGxD
b2xvciA9IGNvbG9yOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHls
ZS5jcHAKaW5kZXggYTRlODdlMy4uNDY3OTI0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0NhbnZhc1N0eWxlLmNwcApAQCAtNTEsMTQgKzUxLDE2IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotZW51bSBDb2xvclBhcnNlUmVzdWx0IHsgUGFyc2VkUkdCQSwgUGFyc2VkQ3VycmVu
dENvbG9yLCBQYXJzZUZhaWxlZCB9OworZW51bSBDb2xvclBhcnNlUmVzdWx0IHsgUGFyc2VkUkdC
QSwgUGFyc2VkQ3VycmVudENvbG9yLCBQYXJzZWRTeXN0ZW1Db2xvciwgUGFyc2VGYWlsZWQgfTsK
IAotc3RhdGljIENvbG9yUGFyc2VSZXN1bHQgcGFyc2VDb2xvcihSR0JBMzImIHBhcnNlZENvbG9y
LCBjb25zdCBTdHJpbmcmIGNvbG9yU3RyaW5nKQorc3RhdGljIENvbG9yUGFyc2VSZXN1bHQgcGFy
c2VDb2xvcihSR0JBMzImIHBhcnNlZENvbG9yLCBjb25zdCBTdHJpbmcmIGNvbG9yU3RyaW5nLCBI
VE1MQ2FudmFzRWxlbWVudCogY2FudmFzID0gMCkKIHsKICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nh
c2UoY29sb3JTdHJpbmcsICJjdXJyZW50Y29sb3IiKSkKICAgICAgICAgcmV0dXJuIFBhcnNlZEN1
cnJlbnRDb2xvcjsKICAgICBpZiAoQ1NTUGFyc2VyOjpwYXJzZUNvbG9yKHBhcnNlZENvbG9yLCBj
b2xvclN0cmluZykpCiAgICAgICAgIHJldHVybiBQYXJzZWRSR0JBOworICAgIGlmIChDU1NQYXJz
ZXI6OnBhcnNlU3lzdGVtQ29sb3IocGFyc2VkQ29sb3IsIGNvbG9yU3RyaW5nLCBjYW52YXMgPyBj
YW52YXMtPmRvY3VtZW50KCkgOiAwKSkKKyAgICAgICAgcmV0dXJuIFBhcnNlZFN5c3RlbUNvbG9y
OwogICAgIHJldHVybiBQYXJzZUZhaWxlZDsKIH0KIApAQCAtNzMsOSArNzUsMTAgQEAgUkdCQTMy
IGN1cnJlbnRDb2xvcihIVE1MQ2FudmFzRWxlbWVudCogY2FudmFzKQogCiBib29sIHBhcnNlQ29s
b3JPckN1cnJlbnRDb2xvcihSR0JBMzImIHBhcnNlZENvbG9yLCBjb25zdCBTdHJpbmcmIGNvbG9y
U3RyaW5nLCBIVE1MQ2FudmFzRWxlbWVudCogY2FudmFzKQogewotICAgIENvbG9yUGFyc2VSZXN1
bHQgcGFyc2VSZXN1bHQgPSBwYXJzZUNvbG9yKHBhcnNlZENvbG9yLCBjb2xvclN0cmluZyk7Cisg
ICAgQ29sb3JQYXJzZVJlc3VsdCBwYXJzZVJlc3VsdCA9IHBhcnNlQ29sb3IocGFyc2VkQ29sb3Is
IGNvbG9yU3RyaW5nLCBjYW52YXMpOwogICAgIHN3aXRjaCAocGFyc2VSZXN1bHQpIHsKICAgICBj
YXNlIFBhcnNlZFJHQkE6CisgICAgY2FzZSBQYXJzZWRTeXN0ZW1Db2xvcjoKICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgY2FzZSBQYXJzZWRDdXJyZW50Q29sb3I6CiAgICAgICAgIHBhcnNlZENv
bG9yID0gY3VycmVudENvbG9yKGNhbnZhcyk7CkBAIC0xMzEsMTIgKzEzNCwxMyBAQCBDYW52YXNT
dHlsZTo6Q2FudmFzU3R5bGUoUGFzc1JlZlB0cjxDYW52YXNQYXR0ZXJuPiBwYXR0ZXJuKQogewog
fQogCi1QYXNzUmVmUHRyPENhbnZhc1N0eWxlPiBDYW52YXNTdHlsZTo6Y3JlYXRlRnJvbVN0cmlu
Zyhjb25zdCBTdHJpbmcmIGNvbG9yKQorUGFzc1JlZlB0cjxDYW52YXNTdHlsZT4gQ2FudmFzU3R5
bGU6OmNyZWF0ZUZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBjb2xvciwgSFRNTENhbnZhc0VsZW1l
bnQqIGNhbnZhcykKIHsKICAgICBSR0JBMzIgcmdiYTsKLSAgICBDb2xvclBhcnNlUmVzdWx0IHBh
cnNlUmVzdWx0ID0gcGFyc2VDb2xvcihyZ2JhLCBjb2xvcik7CisgICAgQ29sb3JQYXJzZVJlc3Vs
dCBwYXJzZVJlc3VsdCA9IHBhcnNlQ29sb3IocmdiYSwgY29sb3IsIGNhbnZhcyk7CiAgICAgc3dp
dGNoIChwYXJzZVJlc3VsdCkgewogICAgIGNhc2UgUGFyc2VkUkdCQToKKyAgICBjYXNlIFBhcnNl
ZFN5c3RlbUNvbG9yOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IENhbnZhc1N0eWxlKHJn
YmEpKTsKICAgICBjYXNlIFBhcnNlZEN1cnJlbnRDb2xvcjoKICAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBDYW52YXNTdHlsZShDdXJyZW50Q29sb3IpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNTdHlsZS5oCmluZGV4IDkxZGM5MjMuLjdjMGYyMDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaApAQCAtNDEsNyArNDEsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgY2xhc3MgQ2FudmFzU3R5bGUgOiBwdWJsaWMgUmVmQ291bnRlZDxDYW52
YXNTdHlsZT4gewogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2FudmFz
U3R5bGU+IGNyZWF0ZUZyb21SR0JBKFJHQkEzMiByZ2JhKSB7IHJldHVybiBhZG9wdFJlZihuZXcg
Q2FudmFzU3R5bGUocmdiYSkpOyB9Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENhbnZhc1N0
eWxlPiBjcmVhdGVGcm9tU3RyaW5nKGNvbnN0IFN0cmluZyYgY29sb3IpOworICAgICAgICBzdGF0
aWMgUGFzc1JlZlB0cjxDYW52YXNTdHlsZT4gY3JlYXRlRnJvbVN0cmluZyhjb25zdCBTdHJpbmcm
IGNvbG9yLCBIVE1MQ2FudmFzRWxlbWVudCogPSAwKTsKICAgICAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8Q2FudmFzU3R5bGU+IGNyZWF0ZUZyb21TdHJpbmdXaXRoT3ZlcnJpZGVBbHBoYShjb25zdCBT
dHJpbmcmIGNvbG9yLCBmbG9hdCBhbHBoYSk7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENh
bnZhc1N0eWxlPiBjcmVhdGVGcm9tR3JheUxldmVsV2l0aEFscGhhKGZsb2F0IGdyYXlMZXZlbCwg
ZmxvYXQgYWxwaGEpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYW52YXNTdHlsZShncmF5TGV2ZWws
IGFscGhhKSk7IH0KICAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2FudmFzU3R5bGU+IGNyZWF0
ZUZyb21SR0JBQ2hhbm5lbHMoZmxvYXQgciwgZmxvYXQgZywgZmxvYXQgYiwgZmxvYXQgYSkgeyBy
ZXR1cm4gYWRvcHRSZWYobmV3IENhbnZhc1N0eWxlKHIsIGcsIGIsIGEpKTsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82273</attachid>
            <date>2011-02-13 13:11:22 -0800</date>
            <delta_ts>2011-02-13 13:13:06 -0800</delta_ts>
            <desc>Proposed patch v2</desc>
            <filename>bug-39168-v2.diff</filename>
            <type>text/plain</type>
            <size>11523</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1NWI0NGE2Li45YTAxYWE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDIt
MTMgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENhbnZhczogMmQuZmlsbFN0eWxlLnBhcnNl
LnN5c3RlbS5odG1sIGZhaWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zOTE2OAorCisgICAgICAgICogZmFzdC9jc3MvdGVzdC1zZXR0aW5nLWNhbnZh
cy1jb2xvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL3Rlc3Qtc2V0
dGluZy1jYW52YXMtY29sb3IuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvU2tpcHBlZDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgorCiAyMDExLTAyLTEzICBTaGluaWNoaXJvIEhhbWFqaSAg
PGhhbWFqaUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVXBkYXRlIGNocm9taXVtJ3MgdGVzdCBl
eHBlY3RhdGlvbnMgZm9yIGZhc3QvaW5saW5lL2lubGluZS1ib3gtYmFja2dyb3VuZC0qCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9Ta2lwcGVkCmluZGV4IDA2OTVlMDkuLmIzNGEwNjYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9Ta2lwcGVkCkBAIC0yMDkzLDcgKzIwOTMsNiBAQCBjYW52YXMvcGhpbGlwL3Rlc3RzLzJk
LmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5zb3VyY2UtaW4uaHRtbAogY2FudmFzL3BoaWxp
cC90ZXN0cy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uc291cmNlLW91dC5odG1sCiBj
YW52YXMvcGhpbGlwL3Rlc3RzLzJkLmRyYXdJbWFnZS5icm9rZW4uaHRtbAogY2FudmFzL3BoaWxp
cC90ZXN0cy8yZC5kcmF3SW1hZ2UubnVsbC5odG1sCi1jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmZp
bGxTdHlsZS5wYXJzZS5zeXN0ZW0uaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5ncmFkaWVu
dC5yYWRpYWwuY29uZS5mcm9udC5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmdyYWRpZW50
LnJhZGlhbC5jb25lLnRvcC5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmdyYWRpZW50LnJh
ZGlhbC5pbnNpZGUyLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1s
ZW9wYXJkL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9Ta2lwcGVk
CmluZGV4IDNmOWRkYmEuLjI2MWNiOWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy1sZW9wYXJkL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3Bh
cmQvU2tpcHBlZApAQCAtMTI2LDcgKzEyNiw2IEBAIHBsYXRmb3JtL21hYy9lZGl0aW5nL3NwZWxs
aW5nL21vdmUtY3Vyc29yLXRvLWJlZ2lubmluZy1vZi1hdXRvY29ycmVjdGVkLXdvcmQuaHRtCiAj
IFNraXBwaW5nIGZhaWxpbmcgcGhpbGlwIGNhbnZhcyB0ZXN0cyBmcm9tIGh0dHA6Ly9waGlsaXAu
aHRtbDUub3JnL3Rlc3RzL2NhbnZhcy9zdWl0ZS90ZXN0cy8KIGNhbnZhcy9waGlsaXAvdGVzdHMv
MmQuZHJhd0ltYWdlLmJyb2tlbi5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmRyYXdJbWFn
ZS5udWxsLmh0bWwKLWNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZmlsbFN0eWxlLnBhcnNlLnN5c3Rl
bS5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmZyb250
Lmh0bWwKIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUudG9wLmh0
bWwKIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTIuaHRtbApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggNzBlMTFmNC4uNDlmMzcwYSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC9Ta2lwcGVkCkBAIC00NjIyLDcgKzQ2MjIsNiBAQCBjYW52YXMvcGhpbGlwL3Rlc3RzLzJk
LmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0dGVybi5zb3VyY2UtaW4uaHRtbAogY2FudmFzL3BoaWxp
cC90ZXN0cy8yZC5jb21wb3NpdGUudW5jb3ZlcmVkLnBhdHRlcm4uc291cmNlLW91dC5odG1sCiBj
YW52YXMvcGhpbGlwL3Rlc3RzLzJkLmRyYXdJbWFnZS5icm9rZW4uaHRtbAogY2FudmFzL3BoaWxp
cC90ZXN0cy8yZC5kcmF3SW1hZ2UubnVsbC5odG1sCi1jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmZp
bGxTdHlsZS5wYXJzZS5zeXN0ZW0uaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5ncmFkaWVu
dC5yYWRpYWwuY29uZS5iZWhpbmQuaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5ncmFkaWVu
dC5yYWRpYWwuY29uZS5iZXNpZGUuaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5ncmFkaWVu
dC5yYWRpYWwuY29uZS5ib3R0b20uaHRtbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDYwODg4NDMuLjFiOWE4MzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxMS0wMi0xMyAgQW5kcmVhcyBLbGluZyAg
PGtsaW5nQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQ2FudmFzOiAyZC5maWxsU3R5bGUucGFyc2Uuc3lzdGVtLmh0bWwgZmFpbHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5MTY4CisK
KyAgICAgICAgQmFzZWQgb24gcHJldmlvdXMgd29yayBieSBKdWxpZW4gQ2hhZmZyYWl4IDxqY2hh
ZmZyYWl4QGNvZGVhdXJvcmEub3JnPgorICAgICAgICBhbmQgSmFuIEVyaWsgSGFuc3NlbiA8amhh
bnNzZW5Ac2VuY2hhLmNvbT4KKworICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUNvbG9yKTogQ2hhbmdlZCB0aGUgZnVuY3Rpb24g
dG8gYmV0dGVyIG1hdGNoIG91cgorICAgICAgICBlYXJseSByZXR1cm4gcG9saWN5LiBBbHNvIHdl
IG5vdyByZXR1cm4gZmFsc2Ugd2hlbiB3ZSBkb24ndCBwYXJzZSB0aGUgY29sb3IuCisgICAgICAg
IFRoaXMgaXMgbmVlZGVkIGZvciBjcmVhdGVGcm9tU3RyaW5nIHRvIGZhbGxiYWNrIHRvIHVzaW5n
IHBhcnNlU3lzdGVtQ29sb3IuCisKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VT
eXN0ZW1Db2xvcik6IE1hZGUgdXNlIG9mIHRoZSBSZW5kZXJUaGVtZSB0byBnZXQKKyAgICAgICAg
dGhlIHN5c3RlbSBjb2xvcnMuCisKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6IEFkZGVkIHRo
ZSBuZXcgcGFyc2VTeXN0ZW1Db2xvciBtZXRob2QuCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9D
YW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEOjpzZXRTdHJva2VDb2xvcik6IFBhc3MgdGhlIGRvY3VtZW50IHRvIGNy
ZWF0ZUZyb21TdHJpbmcuCisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQ6OnNldEZpbGxDb2xvcik6IERpdHRvLgorCisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFz
U3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VDb2xvcik6CisgICAgICAgIChXZWJD
b3JlOjpwYXJzZUNvbG9yT3JDdXJyZW50Q29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFz
U3R5bGU6OmNyZWF0ZUZyb21TdHJpbmcpOiBUcnkgdG8gcGFyc2UgdGhlIGNvbG9yIHVzaW5nIENT
U1BhcnNlcjo6cGFyc2VDb2xvcgorICAgICAgICBhbmQgZmFsbCBiYWNrIHRvIHBhcnNlU3lzdGVt
Q29sb3IgaWYgaXQgZGlkIG5vdCB3b3JrLgorCisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFz
U3R5bGUuaDogQWRkZWQgdGhlIG5ldyBEb2N1bWVudCogcGFyYW1ldGVyIHRvIGNyZWF0ZUZyb21T
dHJpbmcuCisKIDIwMTEtMDItMTMgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApp
bmRleCAxYWU0NWY1Li5lNDlmNzkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtNjIs
OCArNjIsMTAgQEAKICNpbmNsdWRlICJIYXNoVG9vbHMuaCIKICNpbmNsdWRlICJNZWRpYUxpc3Qu
aCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5RXhwLmgiCisjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1
ZGUgIlBhaXIuaCIKICNpbmNsdWRlICJSZWN0LmgiCisjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIK
ICNpbmNsdWRlICJTaGFkb3dWYWx1ZS5oIgogI2luY2x1ZGUgIldlYktpdENTU0tleWZyYW1lUnVs
ZS5oIgogI2luY2x1ZGUgIldlYktpdENTU0tleWZyYW1lc1J1bGUuaCIKQEAgLTI5NCwxMSArMjk2
LDE0IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUNvbG9yKFJHQkEzMiYgY29sb3IsIGNvbnN0IFN0
cmluZyYgc3RyaW5nLCBib29sIHN0cmljdCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAg
Q1NTVmFsdWUqIHZhbHVlID0gcGFyc2VyLm1fcGFyc2VkUHJvcGVydGllc1swXS0+dmFsdWUoKTsK
LSAgICBpZiAodmFsdWUtPmNzc1ZhbHVlVHlwZSgpID09IENTU1ZhbHVlOjpDU1NfUFJJTUlUSVZF
X1ZBTFVFKSB7Ci0gICAgICAgIENTU1ByaW1pdGl2ZVZhbHVlKiBwcmltaXRpdmVWYWx1ZSA9IHN0
YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4odmFsdWUpOwotICAgICAgICBjb2xvciA9IHBy
aW1pdGl2ZVZhbHVlLT5nZXRSR0JBMzJWYWx1ZSgpOwotICAgIH0KKyAgICBpZiAodmFsdWUtPmNz
c1ZhbHVlVHlwZSgpICE9IENTU1ZhbHVlOjpDU1NfUFJJTUlUSVZFX1ZBTFVFKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICBDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUgPSBz
dGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KHZhbHVlKTsKKyAgICBpZiAocHJpbWl0aXZl
VmFsdWUtPnByaW1pdGl2ZVR5cGUoKSAhPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1JHQkNPTE9S
KQorICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBjb2xvciA9IHByaW1pdGl2ZVZhbHVlLT5n
ZXRSR0JBMzJWYWx1ZSgpOwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC0zMTQsNiArMzE5LDIy
IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUNvbG9yKENTU011dGFibGVTdHlsZURlY2xhcmF0aW9u
KiBkZWNsYXJhdGlvbiwgY29uc3QgU3RyaW5nCiAgICAgcmV0dXJuIChtX251bVBhcnNlZFByb3Bl
cnRpZXMgJiYgbV9wYXJzZWRQcm9wZXJ0aWVzWzBdLT5tX2lkID09IENTU1Byb3BlcnR5Q29sb3Ip
OwogfQogCitib29sIENTU1BhcnNlcjo6cGFyc2VTeXN0ZW1Db2xvcihSR0JBMzImIGNvbG9yLCBj
b25zdCBTdHJpbmcmIHN0cmluZywgRG9jdW1lbnQqIGRvY3VtZW50KQoreworICAgIGlmICghZG9j
dW1lbnQgfHwgIWRvY3VtZW50LT5wYWdlKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
IENTU1BhcnNlclN0cmluZyBjc3NDb2xvcjsKKyAgICBjc3NDb2xvci5jaGFyYWN0ZXJzID0gY29u
c3RfY2FzdDxVQ2hhcio+KHN0cmluZy5jaGFyYWN0ZXJzKCkpOworICAgIGNzc0NvbG9yLmxlbmd0
aCA9IHN0cmluZy5sZW5ndGgoKTsKKyAgICBpbnQgaWQgPSBjc3NWYWx1ZUtleXdvcmRJRChjc3ND
b2xvcik7CisgICAgaWYgKGlkIDw9IDApCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGNv
bG9yID0gZG9jdW1lbnQtPnBhZ2UoKS0+dGhlbWUoKS0+c3lzdGVtQ29sb3IoaWQpLnJnYigpOwor
ICAgIHJldHVybiB0cnVlOworfQorCiB2b2lkIENTU1BhcnNlcjo6cGFyc2VTZWxlY3Rvcihjb25z
dCBTdHJpbmcmIHN0cmluZywgRG9jdW1lbnQqIGRvYywgQ1NTU2VsZWN0b3JMaXN0JiBzZWxlY3Rv
ckxpc3QpCiB7CiAgICAgUmVmUHRyPENTU1N0eWxlU2hlZXQ+IGR1bW15U3R5bGVTaGVldCA9IENT
U1N0eWxlU2hlZXQ6OmNyZWF0ZShkb2MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IGQxYjIw
NjEuLjZjY2ZiZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKQEAgLTY0LDYgKzY0LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBQYXNzUmVmUHRyPENTU1J1bGU+IHBhcnNlS2V5ZnJh
bWVSdWxlKENTU1N0eWxlU2hlZXQqLCBjb25zdCBTdHJpbmcmKTsKICAgICAgICAgYm9vbCBwYXJz
ZVZhbHVlKENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiwgaW50IHByb3BJZCwgY29uc3QgU3Ry
aW5nJiwgYm9vbCBpbXBvcnRhbnQpOwogICAgICAgICBzdGF0aWMgYm9vbCBwYXJzZUNvbG9yKFJH
QkEzMiYgY29sb3IsIGNvbnN0IFN0cmluZyYsIGJvb2wgc3RyaWN0ID0gZmFsc2UpOworICAgICAg
ICBzdGF0aWMgYm9vbCBwYXJzZVN5c3RlbUNvbG9yKFJHQkEzMiYgY29sb3IsIGNvbnN0IFN0cmlu
ZyYsIERvY3VtZW50Kik7CiAgICAgICAgIGJvb2wgcGFyc2VDb2xvcihDU1NNdXRhYmxlU3R5bGVE
ZWNsYXJhdGlvbiosIGNvbnN0IFN0cmluZyYpOwogICAgICAgICBib29sIHBhcnNlRGVjbGFyYXRp
b24oQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qLCBjb25zdCBTdHJpbmcmLCBSZWZQdHI8Q1NT
U3R5bGVTb3VyY2VEYXRhPiogc3R5bGVTb3VyY2VEYXRhID0gMCk7CiAgICAgICAgIGJvb2wgcGFy
c2VNZWRpYVF1ZXJ5KE1lZGlhTGlzdCosIGNvbnN0IFN0cmluZyYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKaW5k
ZXggNDU4YTE2OC4uOWVmMmRiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCkBAIC01NzQsNyArNTc0LDcgQEAg
dm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnNldFN0cm9rZUNvbG9yKGNvbnN0IFN0cmlu
ZyYgY29sb3IpCiB7CiAgICAgaWYgKGNvbG9yID09IHN0YXRlKCkubV91bnBhcnNlZFN0cm9rZUNv
bG9yKQogICAgICAgICByZXR1cm47Ci0gICAgc2V0U3Ryb2tlU3R5bGUoQ2FudmFzU3R5bGU6OmNy
ZWF0ZUZyb21TdHJpbmcoY29sb3IpKTsKKyAgICBzZXRTdHJva2VTdHlsZShDYW52YXNTdHlsZTo6
Y3JlYXRlRnJvbVN0cmluZyhjb2xvciwgY2FudmFzKCktPmRvY3VtZW50KCkpKTsKICAgICBzdGF0
ZSgpLm1fdW5wYXJzZWRTdHJva2VDb2xvciA9IGNvbG9yOwogfQogCkBAIC02MTUsNyArNjE1LDcg
QEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnNldEZpbGxDb2xvcihjb25zdCBTdHJp
bmcmIGNvbG9yKQogewogICAgIGlmIChjb2xvciA9PSBzdGF0ZSgpLm1fdW5wYXJzZWRGaWxsQ29s
b3IpCiAgICAgICAgIHJldHVybjsKLSAgICBzZXRGaWxsU3R5bGUoQ2FudmFzU3R5bGU6OmNyZWF0
ZUZyb21TdHJpbmcoY29sb3IpKTsKKyAgICBzZXRGaWxsU3R5bGUoQ2FudmFzU3R5bGU6OmNyZWF0
ZUZyb21TdHJpbmcoY29sb3IsIGNhbnZhcygpLT5kb2N1bWVudCgpKSk7CiAgICAgc3RhdGUoKS5t
X3VucGFyc2VkRmlsbENvbG9yID0gY29sb3I7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0NhbnZhc1N0eWxlLmNwcAppbmRleCBhNGU4N2UzLi5lZTg1NjdjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuY3BwCkBAIC01MSwxNCArNTEsMTYgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIENvbG9yUGFyc2VSZXN1bHQgeyBQYXJzZWRSR0JB
LCBQYXJzZWRDdXJyZW50Q29sb3IsIFBhcnNlRmFpbGVkIH07CitlbnVtIENvbG9yUGFyc2VSZXN1
bHQgeyBQYXJzZWRSR0JBLCBQYXJzZWRDdXJyZW50Q29sb3IsIFBhcnNlZFN5c3RlbUNvbG9yLCBQ
YXJzZUZhaWxlZCB9OwogCi1zdGF0aWMgQ29sb3JQYXJzZVJlc3VsdCBwYXJzZUNvbG9yKFJHQkEz
MiYgcGFyc2VkQ29sb3IsIGNvbnN0IFN0cmluZyYgY29sb3JTdHJpbmcpCitzdGF0aWMgQ29sb3JQ
YXJzZVJlc3VsdCBwYXJzZUNvbG9yKFJHQkEzMiYgcGFyc2VkQ29sb3IsIGNvbnN0IFN0cmluZyYg
Y29sb3JTdHJpbmcsIERvY3VtZW50KiBkb2N1bWVudCA9IDApCiB7CiAgICAgaWYgKGVxdWFsSWdu
b3JpbmdDYXNlKGNvbG9yU3RyaW5nLCAiY3VycmVudGNvbG9yIikpCiAgICAgICAgIHJldHVybiBQ
YXJzZWRDdXJyZW50Q29sb3I7CiAgICAgaWYgKENTU1BhcnNlcjo6cGFyc2VDb2xvcihwYXJzZWRD
b2xvciwgY29sb3JTdHJpbmcpKQogICAgICAgICByZXR1cm4gUGFyc2VkUkdCQTsKKyAgICBpZiAo
Q1NTUGFyc2VyOjpwYXJzZVN5c3RlbUNvbG9yKHBhcnNlZENvbG9yLCBjb2xvclN0cmluZywgZG9j
dW1lbnQpKQorICAgICAgICByZXR1cm4gUGFyc2VkU3lzdGVtQ29sb3I7CiAgICAgcmV0dXJuIFBh
cnNlRmFpbGVkOwogfQogCkBAIC03Myw5ICs3NSwxMCBAQCBSR0JBMzIgY3VycmVudENvbG9yKEhU
TUxDYW52YXNFbGVtZW50KiBjYW52YXMpCiAKIGJvb2wgcGFyc2VDb2xvck9yQ3VycmVudENvbG9y
KFJHQkEzMiYgcGFyc2VkQ29sb3IsIGNvbnN0IFN0cmluZyYgY29sb3JTdHJpbmcsIEhUTUxDYW52
YXNFbGVtZW50KiBjYW52YXMpCiB7Ci0gICAgQ29sb3JQYXJzZVJlc3VsdCBwYXJzZVJlc3VsdCA9
IHBhcnNlQ29sb3IocGFyc2VkQ29sb3IsIGNvbG9yU3RyaW5nKTsKKyAgICBDb2xvclBhcnNlUmVz
dWx0IHBhcnNlUmVzdWx0ID0gcGFyc2VDb2xvcihwYXJzZWRDb2xvciwgY29sb3JTdHJpbmcsIGNh
bnZhcyA/IGNhbnZhcy0+ZG9jdW1lbnQoKSA6IDApOwogICAgIHN3aXRjaCAocGFyc2VSZXN1bHQp
IHsKICAgICBjYXNlIFBhcnNlZFJHQkE6CisgICAgY2FzZSBQYXJzZWRTeXN0ZW1Db2xvcjoKICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgY2FzZSBQYXJzZWRDdXJyZW50Q29sb3I6CiAgICAgICAg
IHBhcnNlZENvbG9yID0gY3VycmVudENvbG9yKGNhbnZhcyk7CkBAIC0xMzEsMTIgKzEzNCwxMyBA
QCBDYW52YXNTdHlsZTo6Q2FudmFzU3R5bGUoUGFzc1JlZlB0cjxDYW52YXNQYXR0ZXJuPiBwYXR0
ZXJuKQogewogfQogCi1QYXNzUmVmUHRyPENhbnZhc1N0eWxlPiBDYW52YXNTdHlsZTo6Y3JlYXRl
RnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIGNvbG9yKQorUGFzc1JlZlB0cjxDYW52YXNTdHlsZT4g
Q2FudmFzU3R5bGU6OmNyZWF0ZUZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBjb2xvciwgRG9jdW1l
bnQqIGRvY3VtZW50KQogewogICAgIFJHQkEzMiByZ2JhOwotICAgIENvbG9yUGFyc2VSZXN1bHQg
cGFyc2VSZXN1bHQgPSBwYXJzZUNvbG9yKHJnYmEsIGNvbG9yKTsKKyAgICBDb2xvclBhcnNlUmVz
dWx0IHBhcnNlUmVzdWx0ID0gcGFyc2VDb2xvcihyZ2JhLCBjb2xvciwgZG9jdW1lbnQpOwogICAg
IHN3aXRjaCAocGFyc2VSZXN1bHQpIHsKICAgICBjYXNlIFBhcnNlZFJHQkE6CisgICAgY2FzZSBQ
YXJzZWRTeXN0ZW1Db2xvcjoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYW52YXNTdHls
ZShyZ2JhKSk7CiAgICAgY2FzZSBQYXJzZWRDdXJyZW50Q29sb3I6CiAgICAgICAgIHJldHVybiBh
ZG9wdFJlZihuZXcgQ2FudmFzU3R5bGUoQ3VycmVudENvbG9yKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvQ2FudmFzU3R5bGUuaAppbmRleCA5MWRjOTIzLi4xYzEzNmQzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNTdHlsZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmgKQEAgLTM1LDEzICszNSwxNCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBDYW52YXNHcmFkaWVudDsKICAgICBjbGFzcyBD
YW52YXNQYXR0ZXJuOworICAgIGNsYXNzIERvY3VtZW50OwogICAgIGNsYXNzIEdyYXBoaWNzQ29u
dGV4dDsKICAgICBjbGFzcyBIVE1MQ2FudmFzRWxlbWVudDsKIAogICAgIGNsYXNzIENhbnZhc1N0
eWxlIDogcHVibGljIFJlZkNvdW50ZWQ8Q2FudmFzU3R5bGU+IHsKICAgICBwdWJsaWM6CiAgICAg
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPENhbnZhc1N0eWxlPiBjcmVhdGVGcm9tUkdCQShSR0JBMzIg
cmdiYSkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENhbnZhc1N0eWxlKHJnYmEpKTsgfQotICAgICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxDYW52YXNTdHlsZT4gY3JlYXRlRnJvbVN0cmluZyhjb25zdCBT
dHJpbmcmIGNvbG9yKTsKKyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2FudmFzU3R5bGU+IGNy
ZWF0ZUZyb21TdHJpbmcoY29uc3QgU3RyaW5nJiBjb2xvciwgRG9jdW1lbnQqID0gMCk7CiAgICAg
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPENhbnZhc1N0eWxlPiBjcmVhdGVGcm9tU3RyaW5nV2l0aE92
ZXJyaWRlQWxwaGEoY29uc3QgU3RyaW5nJiBjb2xvciwgZmxvYXQgYWxwaGEpOwogICAgICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxDYW52YXNTdHlsZT4gY3JlYXRlRnJvbUdyYXlMZXZlbFdpdGhBbHBo
YShmbG9hdCBncmF5TGV2ZWwsIGZsb2F0IGFscGhhKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ2Fu
dmFzU3R5bGUoZ3JheUxldmVsLCBhbHBoYSkpOyB9CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRy
PENhbnZhc1N0eWxlPiBjcmVhdGVGcm9tUkdCQUNoYW5uZWxzKGZsb2F0IHIsIGZsb2F0IGcsIGZs
b2F0IGIsIGZsb2F0IGEpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYW52YXNTdHlsZShyLCBnLCBi
LCBhKSk7IH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82274</attachid>
            <date>2011-02-13 13:13:06 -0800</date>
            <delta_ts>2011-02-13 13:41:28 -0800</delta_ts>
            <desc>Proposed patch v2</desc>
            <filename>bug-39168-v2.1.diff</filename>
            <type>text/plain</type>
            <size>29739</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1NWI0NGE2Li45YTAxYWE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDIt
MTMgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENhbnZhczogMmQuZmlsbFN0eWxlLnBhcnNl
LnN5c3RlbS5odG1sIGZhaWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zOTE2OAorCisgICAgICAgICogZmFzdC9jc3MvdGVzdC1zZXR0aW5nLWNhbnZh
cy1jb2xvci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL3Rlc3Qtc2V0
dGluZy1jYW52YXMtY29sb3IuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvU2tpcHBlZDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgorCiAyMDExLTAyLTEzICBTaGluaWNoaXJvIEhhbWFqaSAg
PGhhbWFqaUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVXBkYXRlIGNocm9taXVtJ3MgdGVzdCBl
eHBlY3RhdGlvbnMgZm9yIGZhc3QvaW5saW5lL2lubGluZS1ib3gtYmFja2dyb3VuZC0qCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy90ZXN0LXNldHRpbmctY2FudmFzLWNvbG9yLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL3Rlc3Qtc2V0dGluZy1jYW52YXMtY29s
b3ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyOWNm
MmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy90ZXN0LXNldHRpbmct
Y2FudmFzLWNvbG9yLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIyMCBAQAorVGVzdCBjYXNlIGZv
ciBidWcgMzkxNjguIFRoaXMgdGVzdHMgdGhlIENTUyBjb2xvciBwYXJzaW5nIGNvZGUgdXNpbmcg
PGNhbnZhcz4uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIFNldHRpbmcg
Y29sb3IgdG8gQWN0aXZlQm9yZGVyIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5n
IGNvbG9yIHRvIGFjdGl2ZWJvcmRlciB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGlu
ZyBjb2xvciB0byBBY3RpdmVDYXB0aW9uIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0
aW5nIGNvbG9yIHRvIGFjdGl2ZWNhcHRpb24gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNl
dHRpbmcgY29sb3IgdG8gQXBwV29ya3NwYWNlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBT
ZXR0aW5nIGNvbG9yIHRvIGFwcHdvcmtzcGFjZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1Mg
U2V0dGluZyBjb2xvciB0byBCYWNrZ3JvdW5kIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBT
ZXR0aW5nIGNvbG9yIHRvIGJhY2tncm91bmQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNl
dHRpbmcgY29sb3IgdG8gQnV0dG9uRmFjZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0
dGluZyBjb2xvciB0byBidXR0b25mYWNlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0
aW5nIGNvbG9yIHRvIEJ1dHRvbkhpZ2hsaWdodCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1Mg
U2V0dGluZyBjb2xvciB0byBidXR0b25oaWdobGlnaHQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQ
QVNTIFNldHRpbmcgY29sb3IgdG8gQnV0dG9uU2hhZG93IHdhcyBzdWNjZXNzZnVsbHkgc2V0Lgor
UEFTUyBTZXR0aW5nIGNvbG9yIHRvIGJ1dHRvbnNoYWRvdyB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4K
K1BBU1MgU2V0dGluZyBjb2xvciB0byBCdXR0b25UZXh0IHdhcyBzdWNjZXNzZnVsbHkgc2V0Lgor
UEFTUyBTZXR0aW5nIGNvbG9yIHRvIGJ1dHRvbnRleHQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQ
QVNTIFNldHRpbmcgY29sb3IgdG8gQ2FwdGlvblRleHQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQ
QVNTIFNldHRpbmcgY29sb3IgdG8gY2FwdGlvbnRleHQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQ
QVNTIFNldHRpbmcgY29sb3IgdG8gR3JheVRleHQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNT
IFNldHRpbmcgY29sb3IgdG8gZ3JheXRleHQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNl
dHRpbmcgY29sb3IgdG8gSGlnaGxpZ2h0IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0
aW5nIGNvbG9yIHRvIGhpZ2hsaWdodCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGlu
ZyBjb2xvciB0byBIaWdobGlnaHRUZXh0IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0
aW5nIGNvbG9yIHRvIGhpZ2hsaWdodHRleHQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNl
dHRpbmcgY29sb3IgdG8gSW5hY3RpdmVCb3JkZXIgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNT
IFNldHRpbmcgY29sb3IgdG8gaW5hY3RpdmVib3JkZXIgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQ
QVNTIFNldHRpbmcgY29sb3IgdG8gSW5hY3RpdmVDYXB0aW9uIHdhcyBzdWNjZXNzZnVsbHkgc2V0
LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGluYWN0aXZlY2FwdGlvbiB3YXMgc3VjY2Vzc2Z1bGx5
IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBJbmFjdGl2ZUNhcHRpb25UZXh0IHdhcyBzdWNj
ZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGluYWN0aXZlY2FwdGlvbnRleHQg
d2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gSW5mb0JhY2tncm91
bmQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gaW5mb2JhY2tn
cm91bmQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gSW5mb1Rl
eHQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gaW5mb3RleHQg
d2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gTWVudSB3YXMgc3Vj
Y2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBtZW51IHdhcyBzdWNjZXNzZnVs
bHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIE1lbnVUZXh0IHdhcyBzdWNjZXNzZnVsbHkg
c2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIG1lbnV0ZXh0IHdhcyBzdWNjZXNzZnVsbHkgc2V0
LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIFNjcm9sbGJhciB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4K
K1BBU1MgU2V0dGluZyBjb2xvciB0byBzY3JvbGxiYXIgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQ
QVNTIFNldHRpbmcgY29sb3IgdG8gVGhyZWVERGFya1NoYWRvdyB3YXMgc3VjY2Vzc2Z1bGx5IHNl
dC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byB0aHJlZWRkYXJrc2hhZG93IHdhcyBzdWNjZXNzZnVs
bHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIFRocmVlREZhY2Ugd2FzIHN1Y2Nlc3NmdWxs
eSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gdGhyZWVkZmFjZSB3YXMgc3VjY2Vzc2Z1bGx5
IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBUaHJlZURIaWdobGlnaHQgd2FzIHN1Y2Nlc3Nm
dWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gdGhyZWVkaGlnaGxpZ2h0IHdhcyBzdWNj
ZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIFRocmVlRExpZ2h0U2hhZG93IHdh
cyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHRocmVlZGxpZ2h0c2hh
ZG93IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIFRocmVlRFNo
YWRvdyB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byB0aHJlZWRz
aGFkb3cgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gV2luZG93
IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHdpbmRvdyB3YXMg
c3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBXaW5kb3dGcmFtZSB3YXMg
c3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byB3aW5kb3dmcmFtZSB3YXMg
c3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBXaW5kb3dUZXh0IHdhcyBz
dWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHdpbmRvd3RleHQgd2FzIHN1
Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gYWxpY2VibHVlIHdhcyBzdWNj
ZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGFudGlxdWV3aGl0ZSB3YXMgc3Vj
Y2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBhcXVhIHdhcyBzdWNjZXNzZnVs
bHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGFxdWFtYXJpbmUgd2FzIHN1Y2Nlc3NmdWxs
eSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gYXp1cmUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQu
CitQQVNTIFNldHRpbmcgY29sb3IgdG8gYmVpZ2Ugd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNT
IFNldHRpbmcgY29sb3IgdG8gYmlzcXVlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0
aW5nIGNvbG9yIHRvIGJsYWNrIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNv
bG9yIHRvIGJsYW5jaGVkYWxtb25kIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5n
IGNvbG9yIHRvIGJsdWUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3Ig
dG8gYmx1ZXZpb2xldCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0
byBicm93biB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBidXJs
eXdvb2Qgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gY2FkZXRi
bHVlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGNoYXJ0cmV1
c2Ugd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gY2hvY29sYXRl
IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGNvcmFsIHdhcyBz
dWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGNvcm5mbG93ZXJibHVlIHdh
cyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGNvcm5zaWxrIHdhcyBz
dWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGNyaW1zb24gd2FzIHN1Y2Nl
c3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gY3lhbiB3YXMgc3VjY2Vzc2Z1bGx5
IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBkYXJrYmx1ZSB3YXMgc3VjY2Vzc2Z1bGx5IHNl
dC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBkYXJrY3lhbiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4K
K1BBU1MgU2V0dGluZyBjb2xvciB0byBkYXJrZ29sZGVucm9kIHdhcyBzdWNjZXNzZnVsbHkgc2V0
LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGRhcmtncmF5IHdhcyBzdWNjZXNzZnVsbHkgc2V0Lgor
UEFTUyBTZXR0aW5nIGNvbG9yIHRvIGRhcmtncmVlbiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BB
U1MgU2V0dGluZyBjb2xvciB0byBkYXJrZ3JleSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1Mg
U2V0dGluZyBjb2xvciB0byBkYXJra2hha2kgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNl
dHRpbmcgY29sb3IgdG8gZGFya21hZ2VudGEgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNl
dHRpbmcgY29sb3IgdG8gZGFya29saXZlZ3JlZW4gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNT
IFNldHRpbmcgY29sb3IgdG8gZGFya29yYW5nZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1Mg
U2V0dGluZyBjb2xvciB0byBkYXJrb3JjaGlkIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBT
ZXR0aW5nIGNvbG9yIHRvIGRhcmtyZWQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRp
bmcgY29sb3IgdG8gZGFya3NhbG1vbiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGlu
ZyBjb2xvciB0byBkYXJrc2VhZ3JlZW4gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRp
bmcgY29sb3IgdG8gZGFya3NsYXRlYmx1ZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0
dGluZyBjb2xvciB0byBkYXJrc2xhdGVncmF5IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBT
ZXR0aW5nIGNvbG9yIHRvIGRhcmtzbGF0ZWdyZXkgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNT
IFNldHRpbmcgY29sb3IgdG8gZGFya3R1cnF1b2lzZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BB
U1MgU2V0dGluZyBjb2xvciB0byBkYXJrdmlvbGV0IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFT
UyBTZXR0aW5nIGNvbG9yIHRvIGRlZXBwaW5rIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBT
ZXR0aW5nIGNvbG9yIHRvIGRlZXBza3libHVlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBT
ZXR0aW5nIGNvbG9yIHRvIGRpbWdyYXkgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRp
bmcgY29sb3IgdG8gZGltZ3JleSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBj
b2xvciB0byBkb2RnZXJibHVlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNv
bG9yIHRvIGZpcmVicmljayB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xv
ciB0byBmbG9yYWx3aGl0ZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xv
ciB0byBmb3Jlc3RncmVlbiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xv
ciB0byBmdWNoc2lhIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRv
IGdhaW5zYm9ybyB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBn
aG9zdHdoaXRlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGdv
bGQgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gZ29sZGVucm9k
IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGdyYXkgd2FzIHN1
Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gZ3JlZW4gd2FzIHN1Y2Nlc3Nm
dWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gZ3JlZW55ZWxsb3cgd2FzIHN1Y2Nlc3Nm
dWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gZ3JleSB3YXMgc3VjY2Vzc2Z1bGx5IHNl
dC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBob25leWRldyB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4K
K1BBU1MgU2V0dGluZyBjb2xvciB0byBob3RwaW5rIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFT
UyBTZXR0aW5nIGNvbG9yIHRvIGluZGlhbnJlZCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1Mg
U2V0dGluZyBjb2xvciB0byBpbmRpZ28gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRp
bmcgY29sb3IgdG8gaXZvcnkgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29s
b3IgdG8ga2hha2kgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8g
bGF2ZW5kZXIgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbGF2
ZW5kZXJibHVzaCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBs
YXduZ3JlZW4gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbGVt
b25jaGlmZm9uIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGxp
Z2h0Ymx1ZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBsaWdo
dGNvcmFsIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGxpZ2h0
Y3lhbiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBsaWdodGdv
bGRlbnJvZHllbGxvdyB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0
byBsaWdodGdyYXkgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8g
bGlnaHRncmVlbiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBs
aWdodGdyZXkgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbGln
aHRwaW5rIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGxpZ2h0
c2FsbW9uIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGxpZ2h0
c2VhZ3JlZW4gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbGln
aHRza3libHVlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGxp
Z2h0c2xhdGVncmF5IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRv
IGxpZ2h0c2xhdGVncmV5IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9y
IHRvIGxpZ2h0c3RlZWxibHVlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNv
bG9yIHRvIGxpZ2h0eWVsbG93IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNv
bG9yIHRvIGxpbWUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8g
bGltZWdyZWVuIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGxp
bmVuIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIG1hZ2VudGEg
d2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbWFyb29uIHdhcyBz
dWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIG1lZGl1bWFxdWFtYXJpbmUg
d2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbWVkaXVtYmx1ZSB3
YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBtZWRpdW1vcmNoaWQg
d2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gbWVkaXVtcHVycGxl
IHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIG1lZGl1bXNlYWdy
ZWVuIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIG1lZGl1bXNs
YXRlYmx1ZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBtZWRp
dW1zcHJpbmdncmVlbiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0
byBtZWRpdW10dXJxdW9pc2Ugd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29s
b3IgdG8gbWVkaXVtdmlvbGV0cmVkIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5n
IGNvbG9yIHRvIG1pZG5pZ2h0Ymx1ZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGlu
ZyBjb2xvciB0byBtaW50Y3JlYW0gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcg
Y29sb3IgdG8gbWlzdHlyb3NlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNv
bG9yIHRvIG1vY2Nhc2luIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9y
IHRvIG5hdmFqb3doaXRlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9y
IHRvIG5hdnkgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gb2xk
bGFjZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBvbGl2ZSB3
YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBvbGl2ZWRyYWIgd2Fz
IHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gb3JhbmdlIHdhcyBzdWNj
ZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIG9yYW5nZXJlZCB3YXMgc3VjY2Vz
c2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBvcmNoaWQgd2FzIHN1Y2Nlc3NmdWxs
eSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gcGFsZWdvbGRlbnJvZCB3YXMgc3VjY2Vzc2Z1
bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBwYWxlZ3JlZW4gd2FzIHN1Y2Nlc3NmdWxs
eSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gcGFsZXR1cnF1b2lzZSB3YXMgc3VjY2Vzc2Z1
bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBwYWxldmlvbGV0cmVkIHdhcyBzdWNjZXNz
ZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHBhcGF5YXdoaXAgd2FzIHN1Y2Nlc3Nm
dWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gcGVhY2hwdWZmIHdhcyBzdWNjZXNzZnVs
bHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHBlcnUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQu
CitQQVNTIFNldHRpbmcgY29sb3IgdG8gcGluayB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1Mg
U2V0dGluZyBjb2xvciB0byBwbHVtIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5n
IGNvbG9yIHRvIHBvd2RlcmJsdWUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcg
Y29sb3IgdG8gcHVycGxlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9y
IHRvIHJvc3licm93biB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0
byByb3lhbGJsdWUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8g
c2FkZGxlYnJvd24gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8g
c2FsbW9uIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHNhbmR5
YnJvd24gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gc2VhZ3Jl
ZW4gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gc2Vhc2hlbGwg
d2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gc2llbm5hIHdhcyBz
dWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHNpbHZlciB3YXMgc3VjY2Vz
c2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBza3libHVlIHdhcyBzdWNjZXNzZnVs
bHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHNsYXRlYmx1ZSB3YXMgc3VjY2Vzc2Z1bGx5
IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byBzbGF0ZWdyYXkgd2FzIHN1Y2Nlc3NmdWxseSBz
ZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gc2xhdGVncmV5IHdhcyBzdWNjZXNzZnVsbHkgc2V0
LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHNub3cgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNT
IFNldHRpbmcgY29sb3IgdG8gc3ByaW5nZ3JlZW4gd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNT
IFNldHRpbmcgY29sb3IgdG8gc3RlZWxibHVlIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBT
ZXR0aW5nIGNvbG9yIHRvIHRhbiB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBj
b2xvciB0byB0ZWFsIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRv
IHRoaXN0bGUgd2FzIHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gdG9t
YXRvIHdhcyBzdWNjZXNzZnVsbHkgc2V0LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHR1cnF1b2lz
ZSB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byB2aW9sZXQgd2Fz
IHN1Y2Nlc3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gd2hlYXQgd2FzIHN1Y2Nl
c3NmdWxseSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gd2hpdGUgd2FzIHN1Y2Nlc3NmdWxs
eSBzZXQuCitQQVNTIFNldHRpbmcgY29sb3IgdG8gd2hpdGVzbW9rZSB3YXMgc3VjY2Vzc2Z1bGx5
IHNldC4KK1BBU1MgU2V0dGluZyBjb2xvciB0byB5ZWxsb3cgd2FzIHN1Y2Nlc3NmdWxseSBzZXQu
CitQQVNTIFNldHRpbmcgY29sb3IgdG8geWVsbG93Z3JlZW4gd2FzIHN1Y2Nlc3NmdWxseSBzZXQu
CitQQVNTIFNldHRpbmcgY29sb3IgdG8gIzBmMCB3YXMgc3VjY2Vzc2Z1bGx5IHNldC4KK1BBU1Mg
U2V0dGluZyBjb2xvciB0byBoc2woMTIwLCAxMDAlLCA1MCUpIHdhcyBzdWNjZXNzZnVsbHkgc2V0
LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGZvb2JhciB3YXMgbm90IHNldCAoYXMgZXhwZWN0ZWQp
LgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGNvdW50ZXIoZm9vYmFyKSB3YXMgbm90IHNldCAoYXMg
ZXhwZWN0ZWQpLgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIHVybChodHRwOi8vMTI3LjAuMC4xOjgw
ODAvKSB3YXMgbm90IHNldCAoYXMgZXhwZWN0ZWQpLgorUEFTUyBTZXR0aW5nIGNvbG9yIHRvIGlu
aGVyaXRlZCB3YXMgbm90IHNldCAoYXMgZXhwZWN0ZWQpLgorUEFTUyBTZXR0aW5nIGNvbG9yIHRv
ICMxMDAlIHdhcyBub3Qgc2V0IChhcyBleHBlY3RlZCkuCitQQVNTIFNldHRpbmcgY29sb3IgdG8g
IzEwMHB4IHdhcyBub3Qgc2V0IChhcyBleHBlY3RlZCkuCitQQVNTIFNldHRpbmcgY29sb3IgdG8g
LXdlYmtpdC12YXIoInRlc3QiKSB3YXMgbm90IHNldCAoYXMgZXhwZWN0ZWQpLgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL3Rlc3Qtc2V0dGluZy1jYW52YXMtY29sb3IuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvY3NzL3Rlc3Qtc2V0dGluZy1jYW52YXMtY29sb3IuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYTg1YTEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3MvdGVzdC1zZXR0aW5nLWNhbnZhcy1jb2xvci5odG1sCkBAIC0wLDAg
KzEsMjUyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2Ny
aXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxjYW52YXMgaWQ9ImNhbnZhcyI+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3Qg
Y2FzZSBmb3IgYnVnIDM5MTY4LiBUaGlzIHRlc3RzIHRoZSBDU1MgY29sb3IgcGFyc2luZyBjb2Rl
IHVzaW5nICZsdDtjYW52YXMmZ3Q7LiIpOworCitmdW5jdGlvbiBsb2cobWVzc2FnZSkgeworICAg
IHZhciBjb25zb2xlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKTsKKyAgICBj
b25zb2xlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1lc3NhZ2UpKTsKKyAg
ICBjb25zb2xlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIkJSIikpOworfQor
Cit2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNhbnZhcyIpOwordmFyIGN0
eCA9IGNhbnZhcy5nZXRDb250ZXh0KCIyZCIpOworCitmdW5jdGlvbiBzaG91bGRTdWNjZXNzZnVs
bHlQYXJzZShjb2xvcikgeworICAgIGN0eC5maWxsU3R5bGUgPSAiI2YwMCI7CisgICAgY3R4LmZp
bGxTdHlsZSA9IGNvbG9yOworICAgIC8vIENoZWNrIHRoYXQgdGhlcmUgaXMgbm8gcmVkLgorICAg
IGlmIChjdHguZmlsbFN0eWxlLm1hdGNoKC9eIyg/IShGRjAwMDB8ZmYwMDAwfGYwMCkkKS8pKQor
ICAgICAgICB0ZXN0UGFzc2VkKCJTZXR0aW5nIGNvbG9yIHRvICIgKyBjb2xvciArICIgd2FzIHN1
Y2Nlc3NmdWxseSBzZXQuIik7CisgICAgZWxzZQorICAgICAgICB0ZXN0RmFpbGVkKCJTZXR0aW5n
IGNvbG9yIHRvICIgKyBjb2xvciArICIgd2FzIG5vdCBzZXQgYnV0IHNob3VsZCEiKTsKK30KKwor
ZnVuY3Rpb24gc2hvdWxkTm90U3VjY2Vzc2Z1bGx5UGFyc2UoY29sb3IpIHsKKyAgICBjdHguZmls
bFN0eWxlID0gIiMwZjAiOworICAgIGN0eC5maWxsU3R5bGUgPSBjb2xvcjsKKyAgICAvLyBDaGVj
ayB0aGF0IHRoZSBjb2xvciBpcyBzdGlsbCBncmVlbi4KKyAgICBpZiAoY3R4LmZpbGxTdHlsZS5t
YXRjaCgvXiMoMDBGRjAwfDAwZmYwMHwwZjApJC8pKQorICAgICAgICB0ZXN0UGFzc2VkKCJTZXR0
aW5nIGNvbG9yIHRvICIgKyBjb2xvciArICIgd2FzIG5vdCBzZXQgKGFzIGV4cGVjdGVkKS4iKTsK
KyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQoIlNldHRpbmcgY29sb3IgdG8gIiArIGNvbG9y
ICsgIiB3YXMgc3VjY2Vzc2Z1bGx5IHNldCBidXQgc2hvdWxkIG5vdCEiKTsKK30KKworLy8gVGFr
ZW4gZnJvbSBDU1MgMyBjb2xvci4KK3ZhciBkZXByZWNhdGVkU3lzdGVtQ29sb3JzID0gWworICAg
ICJBY3RpdmVCb3JkZXIiLAorICAgICJBY3RpdmVDYXB0aW9uIiwKKyAgICAiQXBwV29ya3NwYWNl
IiwKKyAgICAiQmFja2dyb3VuZCIsCisgICAgIkJ1dHRvbkZhY2UiLAorICAgICJCdXR0b25IaWdo
bGlnaHQiLAorICAgICJCdXR0b25TaGFkb3ciLAorICAgICJCdXR0b25UZXh0IiwKKyAgICAiQ2Fw
dGlvblRleHQiLAorICAgICJHcmF5VGV4dCIsCisgICAgIkhpZ2hsaWdodCIsCisgICAgIkhpZ2hs
aWdodFRleHQiLAorICAgICJJbmFjdGl2ZUJvcmRlciIsCisgICAgIkluYWN0aXZlQ2FwdGlvbiIs
CisgICAgIkluYWN0aXZlQ2FwdGlvblRleHQiLAorICAgICJJbmZvQmFja2dyb3VuZCIsCisgICAg
IkluZm9UZXh0IiwKKyAgICAiTWVudSIsCisgICAgIk1lbnVUZXh0IiwKKyAgICAiU2Nyb2xsYmFy
IiwKKyAgICAiVGhyZWVERGFya1NoYWRvdyIsCisgICAgIlRocmVlREZhY2UiLAorICAgICJUaHJl
ZURIaWdobGlnaHQiLAorICAgICJUaHJlZURMaWdodFNoYWRvdyIsCisgICAgIlRocmVlRFNoYWRv
dyIsCisgICAgIldpbmRvdyIsCisgICAgIldpbmRvd0ZyYW1lIiwKKyAgICAiV2luZG93VGV4dCIK
K107CisKKy8vIFZhbGlkIHZhbHVlcyBwYXNzZWQgaW4gY29sb3IgbWF0Y2hpbmcuCitmb3IgKHZh
ciBpID0gMDsgaSA8IGRlcHJlY2F0ZWRTeXN0ZW1Db2xvcnMubGVuZ3RoOyArK2kpIHsKKyAgICBz
aG91bGRTdWNjZXNzZnVsbHlQYXJzZShkZXByZWNhdGVkU3lzdGVtQ29sb3JzW2ldKTsKKyAgICBz
aG91bGRTdWNjZXNzZnVsbHlQYXJzZShkZXByZWNhdGVkU3lzdGVtQ29sb3JzW2ldLnRvTG93ZXJD
YXNlKCkpOworfQorCisvLyBUYWtlbiBmcm9tIENTUyAzIGNvbG9yLgordmFyIHN2Z0NvbG9ycyA9
IFsKKyAgICAiYWxpY2VibHVlIiwKKyAgICAiYW50aXF1ZXdoaXRlIiwKKyAgICAiYXF1YSIsCisg
ICAgImFxdWFtYXJpbmUiLAorICAgICJhenVyZSIsCisgICAgImJlaWdlIiwKKyAgICAiYmlzcXVl
IiwKKyAgICAiYmxhY2siLAorICAgICJibGFuY2hlZGFsbW9uZCIsCisgICAgImJsdWUiLAorICAg
ICJibHVldmlvbGV0IiwKKyAgICAiYnJvd24iLAorICAgICJidXJseXdvb2QiLAorICAgICJjYWRl
dGJsdWUiLAorICAgICJjaGFydHJldXNlIiwKKyAgICAiY2hvY29sYXRlIiwKKyAgICAiY29yYWwi
LAorICAgICJjb3JuZmxvd2VyYmx1ZSIsCisgICAgImNvcm5zaWxrIiwKKyAgICAiY3JpbXNvbiIs
CisgICAgImN5YW4iLAorICAgICJkYXJrYmx1ZSIsCisgICAgImRhcmtjeWFuIiwKKyAgICAiZGFy
a2dvbGRlbnJvZCIsCisgICAgImRhcmtncmF5IiwKKyAgICAiZGFya2dyZWVuIiwKKyAgICAiZGFy
a2dyZXkiLAorICAgICJkYXJra2hha2kiLAorICAgICJkYXJrbWFnZW50YSIsCisgICAgImRhcmtv
bGl2ZWdyZWVuIiwKKyAgICAiZGFya29yYW5nZSIsCisgICAgImRhcmtvcmNoaWQiLAorICAgICJk
YXJrcmVkIiwKKyAgICAiZGFya3NhbG1vbiIsCisgICAgImRhcmtzZWFncmVlbiIsCisgICAgImRh
cmtzbGF0ZWJsdWUiLAorICAgICJkYXJrc2xhdGVncmF5IiwKKyAgICAiZGFya3NsYXRlZ3JleSIs
CisgICAgImRhcmt0dXJxdW9pc2UiLAorICAgICJkYXJrdmlvbGV0IiwKKyAgICAiZGVlcHBpbmsi
LAorICAgICJkZWVwc2t5Ymx1ZSIsCisgICAgImRpbWdyYXkiLAorICAgICJkaW1ncmV5IiwKKyAg
ICAiZG9kZ2VyYmx1ZSIsCisgICAgImZpcmVicmljayIsCisgICAgImZsb3JhbHdoaXRlIiwKKyAg
ICAiZm9yZXN0Z3JlZW4iLAorICAgICJmdWNoc2lhIiwKKyAgICAiZ2FpbnNib3JvIiwKKyAgICAi
Z2hvc3R3aGl0ZSIsCisgICAgImdvbGQiLAorICAgICJnb2xkZW5yb2QiLAorICAgICJncmF5IiwK
KyAgICAiZ3JlZW4iLAorICAgICJncmVlbnllbGxvdyIsCisgICAgImdyZXkiLAorICAgICJob25l
eWRldyIsCisgICAgImhvdHBpbmsiLAorICAgICJpbmRpYW5yZWQiLAorICAgICJpbmRpZ28iLAor
ICAgICJpdm9yeSIsCisgICAgImtoYWtpIiwKKyAgICAibGF2ZW5kZXIiLAorICAgICJsYXZlbmRl
cmJsdXNoIiwKKyAgICAibGF3bmdyZWVuIiwKKyAgICAibGVtb25jaGlmZm9uIiwKKyAgICAibGln
aHRibHVlIiwKKyAgICAibGlnaHRjb3JhbCIsCisgICAgImxpZ2h0Y3lhbiIsCisgICAgImxpZ2h0
Z29sZGVucm9keWVsbG93IiwKKyAgICAibGlnaHRncmF5IiwKKyAgICAibGlnaHRncmVlbiIsCisg
ICAgImxpZ2h0Z3JleSIsCisgICAgImxpZ2h0cGluayIsCisgICAgImxpZ2h0c2FsbW9uIiwKKyAg
ICAibGlnaHRzZWFncmVlbiIsCisgICAgImxpZ2h0c2t5Ymx1ZSIsCisgICAgImxpZ2h0c2xhdGVn
cmF5IiwKKyAgICAibGlnaHRzbGF0ZWdyZXkiLAorICAgICJsaWdodHN0ZWVsYmx1ZSIsCisgICAg
ImxpZ2h0eWVsbG93IiwKKyAgICAibGltZSIsCisgICAgImxpbWVncmVlbiIsCisgICAgImxpbmVu
IiwKKyAgICAibWFnZW50YSIsCisgICAgIm1hcm9vbiIsCisgICAgIm1lZGl1bWFxdWFtYXJpbmUi
LAorICAgICJtZWRpdW1ibHVlIiwKKyAgICAibWVkaXVtb3JjaGlkIiwKKyAgICAibWVkaXVtcHVy
cGxlIiwKKyAgICAibWVkaXVtc2VhZ3JlZW4iLAorICAgICJtZWRpdW1zbGF0ZWJsdWUiLAorICAg
ICJtZWRpdW1zcHJpbmdncmVlbiIsCisgICAgIm1lZGl1bXR1cnF1b2lzZSIsCisgICAgIm1lZGl1
bXZpb2xldHJlZCIsCisgICAgIm1pZG5pZ2h0Ymx1ZSIsCisgICAgIm1pbnRjcmVhbSIsCisgICAg
Im1pc3R5cm9zZSIsCisgICAgIm1vY2Nhc2luIiwKKyAgICAibmF2YWpvd2hpdGUiLAorICAgICJu
YXZ5IiwKKyAgICAib2xkbGFjZSIsCisgICAgIm9saXZlIiwKKyAgICAib2xpdmVkcmFiIiwKKyAg
ICAib3JhbmdlIiwKKyAgICAib3JhbmdlcmVkIiwKKyAgICAib3JjaGlkIiwKKyAgICAicGFsZWdv
bGRlbnJvZCIsCisgICAgInBhbGVncmVlbiIsCisgICAgInBhbGV0dXJxdW9pc2UiLAorICAgICJw
YWxldmlvbGV0cmVkIiwKKyAgICAicGFwYXlhd2hpcCIsCisgICAgInBlYWNocHVmZiIsCisgICAg
InBlcnUiLAorICAgICJwaW5rIiwKKyAgICAicGx1bSIsCisgICAgInBvd2RlcmJsdWUiLAorICAg
ICJwdXJwbGUiLAorICAgIC8vIFdlIGRvIG5vdCB0ZXN0IHJlZC4KKyAgICAicm9zeWJyb3duIiwK
KyAgICAicm95YWxibHVlIiwKKyAgICAic2FkZGxlYnJvd24iLAorICAgICJzYWxtb24iLAorICAg
ICJzYW5keWJyb3duIiwKKyAgICAic2VhZ3JlZW4iLAorICAgICJzZWFzaGVsbCIsCisgICAgInNp
ZW5uYSIsCisgICAgInNpbHZlciIsCisgICAgInNreWJsdWUiLAorICAgICJzbGF0ZWJsdWUiLAor
ICAgICJzbGF0ZWdyYXkiLAorICAgICJzbGF0ZWdyZXkiLAorICAgICJzbm93IiwKKyAgICAic3By
aW5nZ3JlZW4iLAorICAgICJzdGVlbGJsdWUiLAorICAgICJ0YW4iLAorICAgICJ0ZWFsIiwKKyAg
ICAidGhpc3RsZSIsCisgICAgInRvbWF0byIsCisgICAgInR1cnF1b2lzZSIsCisgICAgInZpb2xl
dCIsCisgICAgIndoZWF0IiwKKyAgICAid2hpdGUiLAorICAgICJ3aGl0ZXNtb2tlIiwKKyAgICAi
eWVsbG93IiwKKyAgICAieWVsbG93Z3JlZW4iCitdOworCisvLyBWYWxpZCB2YWx1ZXMgcGFzc2Vk
IGluIGNvbG9yIG1hdGNoaW5nLgorZm9yICh2YXIgaSA9IDA7IGkgPCBzdmdDb2xvcnMubGVuZ3Ro
OyArK2kpCisgICAgc2hvdWxkU3VjY2Vzc2Z1bGx5UGFyc2Uoc3ZnQ29sb3JzW2ldKTsKKworCitz
aG91bGRTdWNjZXNzZnVsbHlQYXJzZSgiIzBmMCIpOworc2hvdWxkU3VjY2Vzc2Z1bGx5UGFyc2Uo
ImhzbCgxMjAsIDEwMCUsIDUwJSkiKTsgLy8gR3JlZW4gSFNMCisKKy8vIEludmFsaWQgdmFsdWVz
Lgorc2hvdWxkTm90U3VjY2Vzc2Z1bGx5UGFyc2UoImZvb2JhciIpOworc2hvdWxkTm90U3VjY2Vz
c2Z1bGx5UGFyc2UoImNvdW50ZXIoZm9vYmFyKSIpOworc2hvdWxkTm90U3VjY2Vzc2Z1bGx5UGFy
c2UoInVybChodHRwOi8vMTI3LjAuMC4xOjgwODAvKSIpOworc2hvdWxkTm90U3VjY2Vzc2Z1bGx5
UGFyc2UoImluaGVyaXRlZCIpOworc2hvdWxkTm90U3VjY2Vzc2Z1bGx5UGFyc2UoIiMxMDAlIik7
CitzaG91bGROb3RTdWNjZXNzZnVsbHlQYXJzZSgiIzEwMHB4Iik7CitzaG91bGROb3RTdWNjZXNz
ZnVsbHlQYXJzZSgnLXdlYmtpdC12YXIoInRlc3QiKScpOworCitzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCmluZGV4
IDA2OTVlMDkuLmIzNGEwNjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9T
a2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCkBAIC0yMDkzLDcg
KzIwOTMsNiBAQCBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0
dGVybi5zb3VyY2UtaW4uaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUudW5j
b3ZlcmVkLnBhdHRlcm4uc291cmNlLW91dC5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmRy
YXdJbWFnZS5icm9rZW4uaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5kcmF3SW1hZ2UubnVs
bC5odG1sCi1jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmZpbGxTdHlsZS5wYXJzZS5zeXN0ZW0uaHRt
bAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5mcm9udC5odG1s
CiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLnRvcC5odG1sCiBj
YW52YXMvcGhpbGlwL3Rlc3RzLzJkLmdyYWRpZW50LnJhZGlhbC5pbnNpZGUyLmh0bWwKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL1NraXBwZWQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9Ta2lwcGVkCmluZGV4IDNmOWRkYmEuLjI2MWNiOWYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL1NraXBwZWQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvU2tpcHBlZApAQCAtMTI2LDcgKzEy
Niw2IEBAIHBsYXRmb3JtL21hYy9lZGl0aW5nL3NwZWxsaW5nL21vdmUtY3Vyc29yLXRvLWJlZ2lu
bmluZy1vZi1hdXRvY29ycmVjdGVkLXdvcmQuaHRtCiAjIFNraXBwaW5nIGZhaWxpbmcgcGhpbGlw
IGNhbnZhcyB0ZXN0cyBmcm9tIGh0dHA6Ly9waGlsaXAuaHRtbDUub3JnL3Rlc3RzL2NhbnZhcy9z
dWl0ZS90ZXN0cy8KIGNhbnZhcy9waGlsaXAvdGVzdHMvMmQuZHJhd0ltYWdlLmJyb2tlbi5odG1s
CiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmRyYXdJbWFnZS5udWxsLmh0bWwKLWNhbnZhcy9waGls
aXAvdGVzdHMvMmQuZmlsbFN0eWxlLnBhcnNlLnN5c3RlbS5odG1sCiBjYW52YXMvcGhpbGlwL3Rl
c3RzLzJkLmdyYWRpZW50LnJhZGlhbC5jb25lLmZyb250Lmh0bWwKIGNhbnZhcy9waGlsaXAvdGVz
dHMvMmQuZ3JhZGllbnQucmFkaWFsLmNvbmUudG9wLmh0bWwKIGNhbnZhcy9waGlsaXAvdGVzdHMv
MmQuZ3JhZGllbnQucmFkaWFsLmluc2lkZTIuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5k
ZXggNzBlMTFmNC4uNDlmMzcwYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQv
U2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC00NjIyLDcg
KzQ2MjIsNiBAQCBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS51bmNvdmVyZWQucGF0
dGVybi5zb3VyY2UtaW4uaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUudW5j
b3ZlcmVkLnBhdHRlcm4uc291cmNlLW91dC5odG1sCiBjYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmRy
YXdJbWFnZS5icm9rZW4uaHRtbAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5kcmF3SW1hZ2UubnVs
bC5odG1sCi1jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmZpbGxTdHlsZS5wYXJzZS5zeXN0ZW0uaHRt
bAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZWhpbmQuaHRt
bAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5iZXNpZGUuaHRt
bAogY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5ncmFkaWVudC5yYWRpYWwuY29uZS5ib3R0b20uaHRt
bApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IDYwODg4NDMuLjFiOWE4MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
NSBAQAorMjAxMS0wMi0xMyAgQW5kcmVhcyBLbGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2FudmFzOiAyZC5m
aWxsU3R5bGUucGFyc2Uuc3lzdGVtLmh0bWwgZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5MTY4CisKKyAgICAgICAgQmFzZWQgb24gcHJldmlv
dXMgd29yayBieSBKdWxpZW4gQ2hhZmZyYWl4IDxqY2hhZmZyYWl4QGNvZGVhdXJvcmEub3JnPgor
ICAgICAgICBhbmQgSmFuIEVyaWsgSGFuc3NlbiA8amhhbnNzZW5Ac2VuY2hhLmNvbT4KKworICAg
ICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpw
YXJzZUNvbG9yKTogQ2hhbmdlZCB0aGUgZnVuY3Rpb24gdG8gYmV0dGVyIG1hdGNoIG91cgorICAg
ICAgICBlYXJseSByZXR1cm4gcG9saWN5LiBBbHNvIHdlIG5vdyByZXR1cm4gZmFsc2Ugd2hlbiB3
ZSBkb24ndCBwYXJzZSB0aGUgY29sb3IuCisgICAgICAgIFRoaXMgaXMgbmVlZGVkIGZvciBjcmVh
dGVGcm9tU3RyaW5nIHRvIGZhbGxiYWNrIHRvIHVzaW5nIHBhcnNlU3lzdGVtQ29sb3IuCisKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VTeXN0ZW1Db2xvcik6IE1hZGUgdXNlIG9m
IHRoZSBSZW5kZXJUaGVtZSB0byBnZXQKKyAgICAgICAgdGhlIHN5c3RlbSBjb2xvcnMuCisKKyAg
ICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6IEFkZGVkIHRoZSBuZXcgcGFyc2VTeXN0ZW1Db2xvciBt
ZXRob2QuCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpzZXRTdHJv
a2VDb2xvcik6IFBhc3MgdGhlIGRvY3VtZW50IHRvIGNyZWF0ZUZyb21TdHJpbmcuCisgICAgICAg
IChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnNldEZpbGxDb2xvcik6IERpdHRv
LgorCisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6cGFyc2VDb2xvcik6CisgICAgICAgIChXZWJDb3JlOjpwYXJzZUNvbG9yT3JDdXJyZW50
Q29sb3IpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzU3R5bGU6OmNyZWF0ZUZyb21TdHJpbmcp
OiBUcnkgdG8gcGFyc2UgdGhlIGNvbG9yIHVzaW5nIENTU1BhcnNlcjo6cGFyc2VDb2xvcgorICAg
ICAgICBhbmQgZmFsbCBiYWNrIHRvIHBhcnNlU3lzdGVtQ29sb3IgaWYgaXQgZGlkIG5vdCB3b3Jr
LgorCisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaDogQWRkZWQgdGhlIG5ldyBE
b2N1bWVudCogcGFyYW1ldGVyIHRvIGNyZWF0ZUZyb21TdHJpbmcuCisKIDIwMTEtMDItMTMgIFNh
bSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVy
bnN0ZWluLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCAxYWU0NWY1Li5lNDlmNzkyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtNjIsOCArNjIsMTAgQEAKICNpbmNsdWRlICJI
YXNoVG9vbHMuaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5
RXhwLmgiCisjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlBhaXIuaCIKICNpbmNsdWRlICJS
ZWN0LmgiCisjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKICNpbmNsdWRlICJTaGFkb3dWYWx1ZS5o
IgogI2luY2x1ZGUgIldlYktpdENTU0tleWZyYW1lUnVsZS5oIgogI2luY2x1ZGUgIldlYktpdENT
U0tleWZyYW1lc1J1bGUuaCIKQEAgLTI5NCwxMSArMjk2LDE0IEBAIGJvb2wgQ1NTUGFyc2VyOjpw
YXJzZUNvbG9yKFJHQkEzMiYgY29sb3IsIGNvbnN0IFN0cmluZyYgc3RyaW5nLCBib29sIHN0cmlj
dCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgQ1NTVmFsdWUqIHZhbHVlID0gcGFyc2Vy
Lm1fcGFyc2VkUHJvcGVydGllc1swXS0+dmFsdWUoKTsKLSAgICBpZiAodmFsdWUtPmNzc1ZhbHVl
VHlwZSgpID09IENTU1ZhbHVlOjpDU1NfUFJJTUlUSVZFX1ZBTFVFKSB7Ci0gICAgICAgIENTU1By
aW1pdGl2ZVZhbHVlKiBwcmltaXRpdmVWYWx1ZSA9IHN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZh
bHVlKj4odmFsdWUpOwotICAgICAgICBjb2xvciA9IHByaW1pdGl2ZVZhbHVlLT5nZXRSR0JBMzJW
YWx1ZSgpOwotICAgIH0KKyAgICBpZiAodmFsdWUtPmNzc1ZhbHVlVHlwZSgpICE9IENTU1ZhbHVl
OjpDU1NfUFJJTUlUSVZFX1ZBTFVFKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBDU1NQ
cmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUgPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVW
YWx1ZSo+KHZhbHVlKTsKKyAgICBpZiAocHJpbWl0aXZlVmFsdWUtPnByaW1pdGl2ZVR5cGUoKSAh
PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1JHQkNPTE9SKQorICAgICAgICByZXR1cm4gZmFsc2U7
CiAKKyAgICBjb2xvciA9IHByaW1pdGl2ZVZhbHVlLT5nZXRSR0JBMzJWYWx1ZSgpOwogICAgIHJl
dHVybiB0cnVlOwogfQogCkBAIC0zMTQsNiArMzE5LDIyIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJz
ZUNvbG9yKENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBkZWNsYXJhdGlvbiwgY29uc3QgU3Ry
aW5nCiAgICAgcmV0dXJuIChtX251bVBhcnNlZFByb3BlcnRpZXMgJiYgbV9wYXJzZWRQcm9wZXJ0
aWVzWzBdLT5tX2lkID09IENTU1Byb3BlcnR5Q29sb3IpOwogfQogCitib29sIENTU1BhcnNlcjo6
cGFyc2VTeXN0ZW1Db2xvcihSR0JBMzImIGNvbG9yLCBjb25zdCBTdHJpbmcmIHN0cmluZywgRG9j
dW1lbnQqIGRvY3VtZW50KQoreworICAgIGlmICghZG9jdW1lbnQgfHwgIWRvY3VtZW50LT5wYWdl
KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIENTU1BhcnNlclN0cmluZyBjc3NDb2xv
cjsKKyAgICBjc3NDb2xvci5jaGFyYWN0ZXJzID0gY29uc3RfY2FzdDxVQ2hhcio+KHN0cmluZy5j
aGFyYWN0ZXJzKCkpOworICAgIGNzc0NvbG9yLmxlbmd0aCA9IHN0cmluZy5sZW5ndGgoKTsKKyAg
ICBpbnQgaWQgPSBjc3NWYWx1ZUtleXdvcmRJRChjc3NDb2xvcik7CisgICAgaWYgKGlkIDw9IDAp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGNvbG9yID0gZG9jdW1lbnQtPnBhZ2UoKS0+
dGhlbWUoKS0+c3lzdGVtQ29sb3IoaWQpLnJnYigpOworICAgIHJldHVybiB0cnVlOworfQorCiB2
b2lkIENTU1BhcnNlcjo6cGFyc2VTZWxlY3Rvcihjb25zdCBTdHJpbmcmIHN0cmluZywgRG9jdW1l
bnQqIGRvYywgQ1NTU2VsZWN0b3JMaXN0JiBzZWxlY3Rvckxpc3QpCiB7CiAgICAgUmVmUHRyPENT
U1N0eWxlU2hlZXQ+IGR1bW15U3R5bGVTaGVldCA9IENTU1N0eWxlU2hlZXQ6OmNyZWF0ZShkb2Mp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IGQxYjIwNjEuLjZjY2ZiZTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUGFyc2VyLmgKQEAgLTY0LDYgKzY0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICBQYXNzUmVmUHRyPENTU1J1bGU+IHBhcnNlS2V5ZnJhbWVSdWxlKENTU1N0eWxlU2hlZXQqLCBj
b25zdCBTdHJpbmcmKTsKICAgICAgICAgYm9vbCBwYXJzZVZhbHVlKENTU011dGFibGVTdHlsZURl
Y2xhcmF0aW9uKiwgaW50IHByb3BJZCwgY29uc3QgU3RyaW5nJiwgYm9vbCBpbXBvcnRhbnQpOwog
ICAgICAgICBzdGF0aWMgYm9vbCBwYXJzZUNvbG9yKFJHQkEzMiYgY29sb3IsIGNvbnN0IFN0cmlu
ZyYsIGJvb2wgc3RyaWN0ID0gZmFsc2UpOworICAgICAgICBzdGF0aWMgYm9vbCBwYXJzZVN5c3Rl
bUNvbG9yKFJHQkEzMiYgY29sb3IsIGNvbnN0IFN0cmluZyYsIERvY3VtZW50Kik7CiAgICAgICAg
IGJvb2wgcGFyc2VDb2xvcihDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbiosIGNvbnN0IFN0cmlu
ZyYpOwogICAgICAgICBib29sIHBhcnNlRGVjbGFyYXRpb24oQ1NTTXV0YWJsZVN0eWxlRGVjbGFy
YXRpb24qLCBjb25zdCBTdHJpbmcmLCBSZWZQdHI8Q1NTU3R5bGVTb3VyY2VEYXRhPiogc3R5bGVT
b3VyY2VEYXRhID0gMCk7CiAgICAgICAgIGJvb2wgcGFyc2VNZWRpYVF1ZXJ5KE1lZGlhTGlzdCos
IGNvbnN0IFN0cmluZyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKaW5kZXggNDU4YTE2OC4uOWVmMmRiYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJELmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQuY3BwCkBAIC01NzQsNyArNTc0LDcgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQ6OnNldFN0cm9rZUNvbG9yKGNvbnN0IFN0cmluZyYgY29sb3IpCiB7CiAgICAgaWYgKGNv
bG9yID09IHN0YXRlKCkubV91bnBhcnNlZFN0cm9rZUNvbG9yKQogICAgICAgICByZXR1cm47Ci0g
ICAgc2V0U3Ryb2tlU3R5bGUoQ2FudmFzU3R5bGU6OmNyZWF0ZUZyb21TdHJpbmcoY29sb3IpKTsK
KyAgICBzZXRTdHJva2VTdHlsZShDYW52YXNTdHlsZTo6Y3JlYXRlRnJvbVN0cmluZyhjb2xvciwg
Y2FudmFzKCktPmRvY3VtZW50KCkpKTsKICAgICBzdGF0ZSgpLm1fdW5wYXJzZWRTdHJva2VDb2xv
ciA9IGNvbG9yOwogfQogCkBAIC02MTUsNyArNjE1LDcgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQ6OnNldEZpbGxDb2xvcihjb25zdCBTdHJpbmcmIGNvbG9yKQogewogICAgIGlmIChj
b2xvciA9PSBzdGF0ZSgpLm1fdW5wYXJzZWRGaWxsQ29sb3IpCiAgICAgICAgIHJldHVybjsKLSAg
ICBzZXRGaWxsU3R5bGUoQ2FudmFzU3R5bGU6OmNyZWF0ZUZyb21TdHJpbmcoY29sb3IpKTsKKyAg
ICBzZXRGaWxsU3R5bGUoQ2FudmFzU3R5bGU6OmNyZWF0ZUZyb21TdHJpbmcoY29sb3IsIGNhbnZh
cygpLT5kb2N1bWVudCgpKSk7CiAgICAgc3RhdGUoKS5tX3VucGFyc2VkRmlsbENvbG9yID0gY29s
b3I7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0
eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1N0eWxlLmNwcAppbmRl
eCBhNGU4N2UzLi5lZTg1NjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNTdHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFz
U3R5bGUuY3BwCkBAIC01MSwxNCArNTEsMTYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1l
bnVtIENvbG9yUGFyc2VSZXN1bHQgeyBQYXJzZWRSR0JBLCBQYXJzZWRDdXJyZW50Q29sb3IsIFBh
cnNlRmFpbGVkIH07CitlbnVtIENvbG9yUGFyc2VSZXN1bHQgeyBQYXJzZWRSR0JBLCBQYXJzZWRD
dXJyZW50Q29sb3IsIFBhcnNlZFN5c3RlbUNvbG9yLCBQYXJzZUZhaWxlZCB9OwogCi1zdGF0aWMg
Q29sb3JQYXJzZVJlc3VsdCBwYXJzZUNvbG9yKFJHQkEzMiYgcGFyc2VkQ29sb3IsIGNvbnN0IFN0
cmluZyYgY29sb3JTdHJpbmcpCitzdGF0aWMgQ29sb3JQYXJzZVJlc3VsdCBwYXJzZUNvbG9yKFJH
QkEzMiYgcGFyc2VkQ29sb3IsIGNvbnN0IFN0cmluZyYgY29sb3JTdHJpbmcsIERvY3VtZW50KiBk
b2N1bWVudCA9IDApCiB7CiAgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKGNvbG9yU3RyaW5nLCAi
Y3VycmVudGNvbG9yIikpCiAgICAgICAgIHJldHVybiBQYXJzZWRDdXJyZW50Q29sb3I7CiAgICAg
aWYgKENTU1BhcnNlcjo6cGFyc2VDb2xvcihwYXJzZWRDb2xvciwgY29sb3JTdHJpbmcpKQogICAg
ICAgICByZXR1cm4gUGFyc2VkUkdCQTsKKyAgICBpZiAoQ1NTUGFyc2VyOjpwYXJzZVN5c3RlbUNv
bG9yKHBhcnNlZENvbG9yLCBjb2xvclN0cmluZywgZG9jdW1lbnQpKQorICAgICAgICByZXR1cm4g
UGFyc2VkU3lzdGVtQ29sb3I7CiAgICAgcmV0dXJuIFBhcnNlRmFpbGVkOwogfQogCkBAIC03Myw5
ICs3NSwxMCBAQCBSR0JBMzIgY3VycmVudENvbG9yKEhUTUxDYW52YXNFbGVtZW50KiBjYW52YXMp
CiAKIGJvb2wgcGFyc2VDb2xvck9yQ3VycmVudENvbG9yKFJHQkEzMiYgcGFyc2VkQ29sb3IsIGNv
bnN0IFN0cmluZyYgY29sb3JTdHJpbmcsIEhUTUxDYW52YXNFbGVtZW50KiBjYW52YXMpCiB7Ci0g
ICAgQ29sb3JQYXJzZVJlc3VsdCBwYXJzZVJlc3VsdCA9IHBhcnNlQ29sb3IocGFyc2VkQ29sb3Is
IGNvbG9yU3RyaW5nKTsKKyAgICBDb2xvclBhcnNlUmVzdWx0IHBhcnNlUmVzdWx0ID0gcGFyc2VD
b2xvcihwYXJzZWRDb2xvciwgY29sb3JTdHJpbmcsIGNhbnZhcyA/IGNhbnZhcy0+ZG9jdW1lbnQo
KSA6IDApOwogICAgIHN3aXRjaCAocGFyc2VSZXN1bHQpIHsKICAgICBjYXNlIFBhcnNlZFJHQkE6
CisgICAgY2FzZSBQYXJzZWRTeXN0ZW1Db2xvcjoKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
Y2FzZSBQYXJzZWRDdXJyZW50Q29sb3I6CiAgICAgICAgIHBhcnNlZENvbG9yID0gY3VycmVudENv
bG9yKGNhbnZhcyk7CkBAIC0xMzEsMTIgKzEzNCwxMyBAQCBDYW52YXNTdHlsZTo6Q2FudmFzU3R5
bGUoUGFzc1JlZlB0cjxDYW52YXNQYXR0ZXJuPiBwYXR0ZXJuKQogewogfQogCi1QYXNzUmVmUHRy
PENhbnZhc1N0eWxlPiBDYW52YXNTdHlsZTo6Y3JlYXRlRnJvbVN0cmluZyhjb25zdCBTdHJpbmcm
IGNvbG9yKQorUGFzc1JlZlB0cjxDYW52YXNTdHlsZT4gQ2FudmFzU3R5bGU6OmNyZWF0ZUZyb21T
dHJpbmcoY29uc3QgU3RyaW5nJiBjb2xvciwgRG9jdW1lbnQqIGRvY3VtZW50KQogewogICAgIFJH
QkEzMiByZ2JhOwotICAgIENvbG9yUGFyc2VSZXN1bHQgcGFyc2VSZXN1bHQgPSBwYXJzZUNvbG9y
KHJnYmEsIGNvbG9yKTsKKyAgICBDb2xvclBhcnNlUmVzdWx0IHBhcnNlUmVzdWx0ID0gcGFyc2VD
b2xvcihyZ2JhLCBjb2xvciwgZG9jdW1lbnQpOwogICAgIHN3aXRjaCAocGFyc2VSZXN1bHQpIHsK
ICAgICBjYXNlIFBhcnNlZFJHQkE6CisgICAgY2FzZSBQYXJzZWRTeXN0ZW1Db2xvcjoKICAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYW52YXNTdHlsZShyZ2JhKSk7CiAgICAgY2FzZSBQYXJz
ZWRDdXJyZW50Q29sb3I6CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ2FudmFzU3R5bGUo
Q3VycmVudENvbG9yKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9D
YW52YXNTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzU3R5bGUuaApp
bmRleCA5MWRjOTIzLi4xYzEzNmQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZh
c1N0eWxlLmgKQEAgLTM1LDEzICszNSwxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBj
bGFzcyBDYW52YXNHcmFkaWVudDsKICAgICBjbGFzcyBDYW52YXNQYXR0ZXJuOworICAgIGNsYXNz
IERvY3VtZW50OwogICAgIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKICAgICBjbGFzcyBIVE1MQ2Fu
dmFzRWxlbWVudDsKIAogICAgIGNsYXNzIENhbnZhc1N0eWxlIDogcHVibGljIFJlZkNvdW50ZWQ8
Q2FudmFzU3R5bGU+IHsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENh
bnZhc1N0eWxlPiBjcmVhdGVGcm9tUkdCQShSR0JBMzIgcmdiYSkgeyByZXR1cm4gYWRvcHRSZWYo
bmV3IENhbnZhc1N0eWxlKHJnYmEpKTsgfQotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDYW52
YXNTdHlsZT4gY3JlYXRlRnJvbVN0cmluZyhjb25zdCBTdHJpbmcmIGNvbG9yKTsKKyAgICAgICAg
c3RhdGljIFBhc3NSZWZQdHI8Q2FudmFzU3R5bGU+IGNyZWF0ZUZyb21TdHJpbmcoY29uc3QgU3Ry
aW5nJiBjb2xvciwgRG9jdW1lbnQqID0gMCk7CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENh
bnZhc1N0eWxlPiBjcmVhdGVGcm9tU3RyaW5nV2l0aE92ZXJyaWRlQWxwaGEoY29uc3QgU3RyaW5n
JiBjb2xvciwgZmxvYXQgYWxwaGEpOwogICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDYW52YXNT
dHlsZT4gY3JlYXRlRnJvbUdyYXlMZXZlbFdpdGhBbHBoYShmbG9hdCBncmF5TGV2ZWwsIGZsb2F0
IGFscGhhKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ2FudmFzU3R5bGUoZ3JheUxldmVsLCBhbHBo
YSkpOyB9CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPENhbnZhc1N0eWxlPiBjcmVhdGVGcm9t
UkdCQUNoYW5uZWxzKGZsb2F0IHIsIGZsb2F0IGcsIGZsb2F0IGIsIGZsb2F0IGEpIHsgcmV0dXJu
IGFkb3B0UmVmKG5ldyBDYW52YXNTdHlsZShyLCBnLCBiLCBhKSk7IH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>