<?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>102562</bug_id>
          
          <creation_ts>2012-11-16 14:32:20 -0800</creation_ts>
          <short_desc>Text Autosizing: Clusters should use width of LCA of their text nodes</short_desc>
          <delta_ts>2012-11-28 13:03:27 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>84186</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="John Mellor">johnme</reporter>
          <assigned_to name="Anton Vayvod">avayvod</assigned_to>
          <cc>eric</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>johnme</cc>
    
    <cc>kenneth</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>769680</commentid>
    <comment_count>0</comment_count>
    <who name="John Mellor">johnme</who>
    <bug_when>2012-11-16 14:32:20 -0800</bug_when>
    <thetext>Text Autosizing divides the page into clusters (see bug 97025). The contents of each cluster is autosized according to the width of the cluster. But sometimes the actual text within a cluster only occupies part of the width of the cluster. A particularly frequent example, is that the RenderView itself is often the cluster that contains much of the text on a page; yet many pages have borders or a max-width assigned, hence the actual text content within that page is significantly narrower than the RenderView. Thus you can zoom in on just the text content without needing to pan horizontally, so there is no need to multiply the font size by as much.

To solve this, when calculating the width of a cluster, we should first determine the &quot;lowest common ancestor&quot; of the first and last descendant text node of the cluster (i.e. the deepest wrapper block that contains all the text), and use its width instead of the width of the actual cluster node.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776575</commentid>
    <comment_count>1</comment_count>
      <attachid>176221</attachid>
    <who name="Anton Vayvod">avayvod</who>
    <bug_when>2012-11-27 03:34:32 -0800</bug_when>
    <thetext>Created attachment 176221
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776585</commentid>
    <comment_count>2</comment_count>
      <attachid>176221</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-11-27 03:50:30 -0800</bug_when>
    <thetext>Comment on attachment 176221
Patch

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

Please fix style first, so style comments for now

&gt; Source/WebCore/rendering/TextAutosizer.cpp:345
&gt; +        blockWithAllText = lower-&gt;containingBlock();
&gt; +    ASSERT(blockWithAllText-&gt;isDescendantOf(cluster));
&gt; +    return blockWithAllText;

I would add a newline after the if-else block and one before return

&gt; Source/WebCore/rendering/TextAutosizer.cpp:351
&gt; +    return findFinalTextLeafNotInCluster(
&gt; +        parent, depth, &amp;RenderObject::firstChild, &amp;RenderObject::nextSibling);

put that on one line, following normal coding style

&gt; Source/WebCore/rendering/TextAutosizer.cpp:357
&gt; +    return findFinalTextLeafNotInCluster(
&gt; +        parent, depth, &amp;RenderObject::lastChild, &amp;RenderObject::previousSibling);

same

&gt; Source/WebCore/rendering/TextAutosizer.cpp:364
&gt; +RenderObject* TextAutosizer::findFinalTextLeafNotInCluster(
&gt; +    RenderObject* parent,
&gt; +    size_t&amp; depth,
&gt; +    RenderObject* (RenderObject::*getFirstChildMethod)() const,
&gt; +    RenderObject* (RenderObject::*getNextSiblingMethod)() const)

this HAS to be on one line according to style

&gt; Source/WebCore/rendering/TextAutosizer.cpp:375
&gt; +        RenderObject* leaf = findFinalTextLeafNotInCluster(
&gt; +            child, depth, getFirstChildMethod, getNextSiblingMethod);

same

&gt; Source/WebCore/rendering/TextAutosizer.h:88
&gt; +    static RenderObject* findFirstTextLeafNotInCluster(
&gt; +        RenderObject* parent, size_t&amp; depth);
&gt; +    // Finds the last leaf text node child that doesn&apos;t belong to any cluster.
&gt; +    static RenderObject* findLastTextLeafNotInCluster(
&gt; +        RenderObject* parent, size_t&amp; depth);
&gt; +    static RenderObject* findFinalTextLeafNotInCluster(
&gt; +        RenderObject* parent,
&gt; +        size_t&amp; depth,
&gt; +        RenderObject* (RenderObject::*getFirstChildMethod)() const,
&gt; +        RenderObject* (RenderObject::*getNextSiblingMethod)() const);

Wrong coding style. These should be on one line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776592</commentid>
    <comment_count>3</comment_count>
      <attachid>176226</attachid>
    <who name="Anton Vayvod">avayvod</who>
    <bug_when>2012-11-27 03:57:24 -0800</bug_when>
    <thetext>Created attachment 176226
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776594</commentid>
    <comment_count>4</comment_count>
      <attachid>176221</attachid>
    <who name="Anton Vayvod">avayvod</who>
    <bug_when>2012-11-27 04:00:28 -0800</bug_when>
    <thetext>Comment on attachment 176221
Patch

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

Fixed.

&gt;&gt; Source/WebCore/rendering/TextAutosizer.cpp:345
&gt;&gt; +    return blockWithAllText;
&gt; 
&gt; I would add a newline after the if-else block and one before return

Done.

&gt;&gt; Source/WebCore/rendering/TextAutosizer.cpp:351
&gt;&gt; +        parent, depth, &amp;RenderObject::firstChild, &amp;RenderObject::nextSibling);
&gt; 
&gt; put that on one line, following normal coding style

Done.

&gt;&gt; Source/WebCore/rendering/TextAutosizer.cpp:357
&gt;&gt; +        parent, depth, &amp;RenderObject::lastChild, &amp;RenderObject::previousSibling);
&gt; 
&gt; same

Done.

&gt;&gt; Source/WebCore/rendering/TextAutosizer.cpp:364
&gt;&gt; +    RenderObject* (RenderObject::*getNextSiblingMethod)() const)
&gt; 
&gt; this HAS to be on one line according to style

Done.

&gt;&gt; Source/WebCore/rendering/TextAutosizer.cpp:375
&gt;&gt; +            child, depth, getFirstChildMethod, getNextSiblingMethod);
&gt; 
&gt; same

Done.

&gt;&gt; Source/WebCore/rendering/TextAutosizer.h:88
&gt;&gt; +        RenderObject* (RenderObject::*getNextSiblingMethod)() const);
&gt; 
&gt; Wrong coding style. These should be on one line.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776640</commentid>
    <comment_count>5</comment_count>
      <attachid>176221</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-11-27 05:04:12 -0800</bug_when>
    <thetext>Comment on attachment 176221
Patch

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

&gt; Source/WebCore/rendering/TextAutosizer.cpp:302
&gt; +RenderBlock* TextAutosizer::findDeepestBlockWithAllText(RenderBlock* cluster)

ContainingAllText ?

&gt; Source/WebCore/rendering/TextAutosizer.cpp:319
&gt; +    // Determine which node is lower.
&gt; +    RenderObject* lower = firstTextLeaf;
&gt; +    RenderObject* higher = lastTextLeaf;

I am not sure the lower,higher terminology is that clear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776651</commentid>
    <comment_count>6</comment_count>
      <attachid>176242</attachid>
    <who name="Anton Vayvod">avayvod</who>
    <bug_when>2012-11-27 05:21:39 -0800</bug_when>
    <thetext>Created attachment 176242
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776652</commentid>
    <comment_count>7</comment_count>
      <attachid>176221</attachid>
    <who name="Anton Vayvod">avayvod</who>
    <bug_when>2012-11-27 05:23:13 -0800</bug_when>
    <thetext>Comment on attachment 176221
Patch

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

&gt;&gt; Source/WebCore/rendering/TextAutosizer.cpp:302
&gt;&gt; +RenderBlock* TextAutosizer::findDeepestBlockWithAllText(RenderBlock* cluster)
&gt; 
&gt; ContainingAllText ?

Done.

&gt;&gt; Source/WebCore/rendering/TextAutosizer.cpp:319
&gt;&gt; +    RenderObject* higher = lastTextLeaf;
&gt; 
&gt; I am not sure the lower,higher terminology is that clear

Changed to deep/shallow</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776655</commentid>
    <comment_count>8</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-11-27 05:24:31 -0800</bug_when>
    <thetext>did John look at this yet?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776703</commentid>
    <comment_count>9</comment_count>
    <who name="John Mellor">johnme</who>
    <bug_when>2012-11-27 06:25:58 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; did John look at this yet?

I discussed this several times during implementation but I&apos;m still reviewing the code itself. Thanks for responding quickly as always!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776743</commentid>
    <comment_count>10</comment_count>
      <attachid>176242</attachid>
    <who name="John Mellor">johnme</who>
    <bug_when>2012-11-27 07:48:12 -0800</bug_when>
    <thetext>Comment on attachment 176242
Patch

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

General approach looks great; got some minor nits on the code. I haven&apos;t yet reviewed the tests - I&apos;m doing that now.

&gt; Source/WebCore/rendering/TextAutosizer.cpp:98
&gt; +    // RenderView,instead of just taking the width of |cluster| we should find

Nits:
    s/RenderView,instead/RenderView, instead/
    s/we should find/we find/

&gt; Source/WebCore/rendering/TextAutosizer.cpp:-105
&gt; -    if (clusterShouldBeAutosized(lowestCommonAncestor, commonAncestorWidth)) {

Why did you change this? Presumably all the text within the cluster will be in the subtree descending from the LCA, so when we traverse the cluster looking for text we may as well only traverse that subtree?

&gt; Source/WebCore/rendering/TextAutosizer.cpp:-229
&gt; -    ASSERT(isAutosizingContainer(renderer));

What was the reason for changing this to a check? If this is just for the sake of findFinalTextLeafNotInCluster, I&apos;ve left a comment below showing how you could tweak that so this ASSERT remains true.

&gt; Source/WebCore/rendering/TextAutosizer.cpp:305
&gt; +    if (cluster-&gt;isEmpty())

This isEmpty check seems unnecessary, since the next thing you do is call findFirstTextLeafNotInCluster which immediately returns 0 anyway (also causing you to return the cluster).

&gt; Source/WebCore/rendering/TextAutosizer.cpp:322
&gt; +    if (firstDepth &lt; lastDepth) {

Rather than determining which node is deeper, it might be simpler to just repeat the equalizing depths code, e.g.:

// Equalize the depths if necessary.
while (firstDepth &gt; lastDepth) {
    firstTextLeaf = firstTextLeaf-&gt;parent();
    --firstDepth;
}
while (firstDepth &lt; lastDepth) {
    lastTextLeaf = lastTextLeaf-&gt;parent();
    --lastDepth;
}

You&apos;d save 6 lines of code (and a dependency on std::swap) ;)
If you prefer not to do this, would you mind adding a #include &lt;algorithm&gt; in the spirit of http://code.google.com/p/include-what-you-use/wiki/WhyIWYU ?

&gt; Source/WebCore/rendering/TextAutosizer.cpp:345
&gt; +    ASSERT(blockContainingAllText-&gt;isDescendantOf(cluster));

Ultra minor nit: you could save a few lines by reordering this section:

ASSERT(deepNode-&gt;isDescendantOf(cluster));
if (deepNode-&gt;isRenderBlock())
    return toRenderBlock(deepNode);
else
    return deepNode-&gt;containingBlock();

But I don&apos;t mind if you think it was clearer the other way...

&gt; Source/WebCore/rendering/TextAutosizer.cpp:360
&gt; +const RenderObject* TextAutosizer::findFinalTextLeafNotInCluster(const RenderObject* parent, size_t&amp; depth, RenderObject* (RenderObject::*getFirstChildMethod)() const, RenderObject* (RenderObject::*getNextSiblingMethod)() const)

The function pointers are a neat solution. But I wonder if it might be easier to read without them. Something like:

const RenderObject* TextAutosizer::findFirstTextLeafNotInCluster(const RenderObject* parent, size_t&amp; depth, bool firstNotLast)
{
    ...
    const RenderObject* child = firstNotLast ? parent-&gt;firstChild() : parent-&gt;lastChild();
    while (child) {
        ...
        child = firstNotLast ? child-&gt;nextSibling() : child-&gt;previousSibling()
    }
    ....
}

&gt; Source/WebCore/rendering/TextAutosizer.cpp:367
&gt; +        if (child-&gt;isRenderBlock() &amp;&amp; isAutosizingCluster(toRenderBlock(child)))

You can use:

if (isAutosizingContainer(child) &amp;&amp; isAutosizingCluster(toRenderBlock(child)))

to avoid changing the ASSERT in isAutosizingCluster.

&gt; LayoutTests/ChangeLog:9
&gt; +        RenderView,instead of just taking the width of |cluster| we should find

Nit: s/RenderView,instead/RenderView, instead/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776807</commentid>
    <comment_count>11</comment_count>
      <attachid>176278</attachid>
    <who name="Anton Vayvod">avayvod</who>
    <bug_when>2012-11-27 08:47:25 -0800</bug_when>
    <thetext>Created attachment 176278
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776816</commentid>
    <comment_count>12</comment_count>
      <attachid>176242</attachid>
    <who name="Anton Vayvod">avayvod</who>
    <bug_when>2012-11-27 08:56:43 -0800</bug_when>
    <thetext>Comment on attachment 176242
Patch

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

&gt;&gt; Source/WebCore/rendering/TextAutosizer.cpp:98
&gt;&gt; +    // RenderView,instead of just taking the width of |cluster| we should find
&gt; 
&gt; Nits:
&gt;     s/RenderView,instead/RenderView, instead/
&gt;     s/we should find/we find/

Done.

&gt;&gt; Source/WebCore/rendering/TextAutosizer.cpp:-105
&gt;&gt; -    if (clusterShouldBeAutosized(lowestCommonAncestor, commonAncestorWidth)) {
&gt; 
&gt; Why did you change this? Presumably all the text within the cluster will be in the subtree descending from the LCA, so when we traverse the cluster looking for text we may as well only traverse that subtree?

I misinterpreted the code here.

&gt;&gt; Source/WebCore/rendering/TextAutosizer.cpp:-229
&gt;&gt; -    ASSERT(isAutosizingContainer(renderer));
&gt; 
&gt; What was the reason for changing this to a check? If this is just for the sake of findFinalTextLeafNotInCluster, I&apos;ve left a comment below showing how you could tweak that so this ASSERT remains true.

The reason was also for the sake of less coupling (one always have to check for autosizing container before checking for cluster).
Since in some places it actually saves a check for container, changed it back.

&gt;&gt; Source/WebCore/rendering/TextAutosizer.cpp:305
&gt;&gt; +    if (cluster-&gt;isEmpty())
&gt; 
&gt; This isEmpty check seems unnecessary, since the next thing you do is call findFirstTextLeafNotInCluster which immediately returns 0 anyway (also causing you to return the cluster).

Removed.

&gt;&gt; Source/WebCore/rendering/TextAutosizer.cpp:322
&gt;&gt; +    if (firstDepth &lt; lastDepth) {
&gt; 
&gt; Rather than determining which node is deeper, it might be simpler to just repeat the equalizing depths code, e.g.:
&gt; 
&gt; // Equalize the depths if necessary.
&gt; while (firstDepth &gt; lastDepth) {
&gt;     firstTextLeaf = firstTextLeaf-&gt;parent();
&gt;     --firstDepth;
&gt; }
&gt; while (firstDepth &lt; lastDepth) {
&gt;     lastTextLeaf = lastTextLeaf-&gt;parent();
&gt;     --lastDepth;
&gt; }
&gt; 
&gt; You&apos;d save 6 lines of code (and a dependency on std::swap) ;)
&gt; If you prefer not to do this, would you mind adding a #include &lt;algorithm&gt; in the spirit of http://code.google.com/p/include-what-you-use/wiki/WhyIWYU ?

Makes things shorter though less obvious that only one loop will actually execute (added a comment for that).
&lt;algorithm&gt; still needed since std::min and std::max are used.

&gt;&gt; Source/WebCore/rendering/TextAutosizer.cpp:345
&gt;&gt; +    ASSERT(blockContainingAllText-&gt;isDescendantOf(cluster));
&gt; 
&gt; Ultra minor nit: you could save a few lines by reordering this section:
&gt; 
&gt; ASSERT(deepNode-&gt;isDescendantOf(cluster));
&gt; if (deepNode-&gt;isRenderBlock())
&gt;     return toRenderBlock(deepNode);
&gt; else
&gt;     return deepNode-&gt;containingBlock();
&gt; 
&gt; But I don&apos;t mind if you think it was clearer the other way...

The assertion was to catch an case when containingBlock goes beyond the cluster, hence it&apos;s called after we may use this method.
I removed it completely (else return then triggered a warning so else went away as well).

&gt;&gt; Source/WebCore/rendering/TextAutosizer.cpp:360
&gt;&gt; +const RenderObject* TextAutosizer::findFinalTextLeafNotInCluster(const RenderObject* parent, size_t&amp; depth, RenderObject* (RenderObject::*getFirstChildMethod)() const, RenderObject* (RenderObject::*getNextSiblingMethod)() const)
&gt; 
&gt; The function pointers are a neat solution. But I wonder if it might be easier to read without them. Something like:
&gt; 
&gt; const RenderObject* TextAutosizer::findFirstTextLeafNotInCluster(const RenderObject* parent, size_t&amp; depth, bool firstNotLast)
&gt; {
&gt;     ...
&gt;     const RenderObject* child = firstNotLast ? parent-&gt;firstChild() : parent-&gt;lastChild();
&gt;     while (child) {
&gt;         ...
&gt;         child = firstNotLast ? child-&gt;nextSibling() : child-&gt;previousSibling()
&gt;     }
&gt;     ....
&gt; }

Done. I used an enum instead of bool in an attempt to follow the style-guide:
http://www.webkit.org/coding/coding-style.html#names-enum-to-bool
I also used wrapper functions instead of ternary operator.

&gt;&gt; Source/WebCore/rendering/TextAutosizer.cpp:367
&gt;&gt; +        if (child-&gt;isRenderBlock() &amp;&amp; isAutosizingCluster(toRenderBlock(child)))
&gt; 
&gt; You can use:
&gt; 
&gt; if (isAutosizingContainer(child) &amp;&amp; isAutosizingCluster(toRenderBlock(child)))
&gt; 
&gt; to avoid changing the ASSERT in isAutosizingCluster.

Done.

&gt;&gt; LayoutTests/ChangeLog:9
&gt;&gt; +        RenderView,instead of just taking the width of |cluster| we should find
&gt; 
&gt; Nit: s/RenderView,instead/RenderView, instead/

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776819</commentid>
    <comment_count>13</comment_count>
      <attachid>176280</attachid>
    <who name="Anton Vayvod">avayvod</who>
    <bug_when>2012-11-27 08:57:40 -0800</bug_when>
    <thetext>Created attachment 176280
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776865</commentid>
    <comment_count>14</comment_count>
      <attachid>176288</attachid>
    <who name="Anton Vayvod">avayvod</who>
    <bug_when>2012-11-27 09:35:14 -0800</bug_when>
    <thetext>Created attachment 176288
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777001</commentid>
    <comment_count>15</comment_count>
    <who name="John Mellor">johnme</who>
    <bug_when>2012-11-27 11:13:13 -0800</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=176242&amp;action=review

Some minor nits on the comments too. Thanks!

&gt; LayoutTests/fast/text-autosizing/cluster-wide-in-narrow.html:29
&gt; +    &lt;div style=&quot;width: 600px&quot;&gt;

I&apos;m not quite sure why you&apos;re making this change now, since this patch doesn&apos;t affect this test (though I suspect your follow-on patch will :)

&gt; LayoutTests/fast/text-autosizing/cluster-with-narrow-lca.html:23
&gt; +&lt;div style=&quot;width: 400px&quot; &gt;

Nit: s/&quot; &gt;/&quot;&gt;/

&gt; LayoutTests/fast/text-autosizing/cluster-with-narrow-lca.html:25
&gt; +    This text should be autosized to just 20px computed font size (16 * 400/320), since the width of the least common ancestor is used for multiplier calculation.

It&apos;s not quite clear what least common ancestor refers to; perhaps &quot;the width of the least common ancestor of the cluster&apos;s text descendants&quot; would be clearer?

&gt; LayoutTests/fast/text-autosizing/cluster-with-wide-lca.html:25
&gt; +    This text should be autosized to 40px computed font size (16 * 800/320).

Please explain briefly why (ditto below).

&gt; LayoutTests/fast/text-autosizing/em-margin-border-padding.html:24
&gt; +    This text should get autosized to 35.2px computed font size (16 * 704/320), but the 1em margins, borders and padding should remain just 16px. While debatable, this generally looks more consistent than having them be scaled.&lt;br&gt;

Thanks for adding the equation here. It&apos;s mildly unfortunate that we have a fractional size though; if you can think of an easy way of tweaking the numbers so it comes out integral that would be nice (as it would reduce the likelihood of rounding bugs on different platforms). Though when changing this, please make sure the multiplier remains expressible in a small finite number of decimal places (not e.g. 2.3333333333).

&gt; LayoutTests/fast/text-autosizing/wide-child-expected.html:15
&gt; +	This text should not be autosized.

Nit: please add &quot;, as this div is the lowest common ancestor of the root cluster, and this div is narrow&quot; or similar. Also, a subtle gotcha with these tests is that Text Autosizing only autosizes clusters with enough text, so whenever you&apos;re asserting that something shouldn&apos;t be autosized, it&apos;s best for that something to have a decent amount of text so prevent passing the test for the wrong reason (i.e. accidentally passing the test because there wasn&apos;t enough text). So you might want to add a Lorem...aliqua line underneath this one (after a &lt;br&gt;).

&gt; LayoutTests/fast/text-autosizing/wide-child-expected.html:17
&gt; +    	This text should not be autosized as well since its width doesn&apos;t affect the width of the parent block.

Please explain why the parent block is significant.

&gt; LayoutTests/fast/text-autosizing/wide-in-narrow-overflow-scroll.html:26
&gt; +        This text should be autosized to 20px computed font size (16 * 400/320), since its scroll width is 400px.&lt;br&gt;

Could you clarify this. Something like &quot;since this is part of the root cluster, whose text descendants are all contained within the 400px wide grandparent of this div.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777238</commentid>
    <comment_count>16</comment_count>
    <who name="Anton Vayvod">avayvod</who>
    <bug_when>2012-11-27 14:40:04 -0800</bug_when>
    <thetext>Since I failed to find these last comments in patch, answering in plain text:

&gt; &gt; LayoutTests/fast/text-autosizing/cluster-wide-in-narrow.html:29
&gt; &gt; +    &lt;div style=&quot;width: 600px&quot;&gt;
&gt;
&gt; I&apos;m not quite sure why you&apos;re making this change now, since this patch doesn&apos;t affect this test (though I suspect your follow-on patch will :)

Reverted.

&gt;
&gt; &gt; LayoutTests/fast/text-autosizing/cluster-with-narrow-lca.html:23
&gt; &gt; +&lt;div style=&quot;width: 400px&quot; &gt;
&gt;
&gt; Nit: s/&quot; &gt;/&quot;&gt;/

Done.

&gt;
&gt; &gt; LayoutTests/fast/text-autosizing/cluster-with-narrow-lca.html:25
&gt; &gt; +    This text should be autosized to just 20px computed font size (16 * 400/320), since the width of the least common ancestor is used for multiplier calculation.
&gt;
&gt; It&apos;s not quite clear what least common ancestor refers to; perhaps &quot;the width of the least common ancestor of the cluster&apos;s text descendants&quot; would be clearer?

Agree. Done.

&gt;
&gt; &gt; LayoutTests/fast/text-autosizing/cluster-with-wide-lca.html:25
&gt; &gt; +    This text should be autosized to 40px computed font size (16 * 800/320).
&gt;
&gt; Please explain briefly why (ditto below).

Done.

&gt;
&gt; &gt; LayoutTests/fast/text-autosizing/em-margin-border-padding.html:24
&gt; &gt; +    This text should get autosized to 35.2px computed font size (16 * 704/320), but the 1em margins, borders and padding should remain just 16px. While debatable, this generally looks more consistent than having them be scaled.&lt;br&gt;
&gt;
&gt; Thanks for adding the equation here. It&apos;s mildly unfortunate that we have a fractional size though; if you can think of an easy way of tweaking the numbers so it comes out integral that would be nice (as it would reduce the likelihood of rounding bugs on different platforms). Though when changing this, please make sure the multiplier remains expressible in a small finite number of decimal places (not e.g. 2.3333333333).

Increased body width to 896 so that div width is 800.

&gt;
&gt; &gt; LayoutTests/fast/text-autosizing/wide-child-expected.html:15
&gt; &gt; +     This text should not be autosized.
&gt;
&gt; Nit: please add &quot;, as this div is the lowest common ancestor of the root cluster, and this div is narrow&quot; or similar. Also, a subtle gotcha with these tests is that Text Autosizing only autosizes clusters with enough text, so whenever you&apos;re asserting that something shouldn&apos;t be autosized, it&apos;s best for that something to have a decent amount of text so prevent passing the test for the wrong reason (i.e. accidentally passing the test because there wasn&apos;t enough text). So you might want to add a Lorem...aliqua line underneath this one (after a &lt;br&gt;).

Done.
There actually was additional text, but after child div. Moved it to the front.
&gt;
&gt; &gt; LayoutTests/fast/text-autosizing/wide-child-expected.html:17
&gt; &gt; +     This text should not be autosized as well since its width doesn&apos;t affect the width of the parent block.
&gt;
&gt; Please explain why the parent block is significant.

Done.
&gt;
&gt; &gt; LayoutTests/fast/text-autosizing/wide-in-narrow-overflow-scroll.html:26
&gt; &gt; +        This text should be autosized to 20px computed font size (16 * 400/320), since its scroll width is 400px.&lt;br&gt;
&gt;
&gt; Could you clarify this. Something like &quot;since this is part of the root cluster, whose text descendants are all contained within the 400px wide grandparent of this div.&quot;

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777240</commentid>
    <comment_count>17</comment_count>
      <attachid>176342</attachid>
    <who name="Anton Vayvod">avayvod</who>
    <bug_when>2012-11-27 14:42:05 -0800</bug_when>
    <thetext>Created attachment 176342
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777920</commentid>
    <comment_count>18</comment_count>
      <attachid>176342</attachid>
    <who name="John Mellor">johnme</who>
    <bug_when>2012-11-28 08:12:31 -0800</bug_when>
    <thetext>Comment on attachment 176342
Patch

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

Looking good. Final minor nits:

&gt; Source/WebCore/ChangeLog:21
&gt; +        (WebCore::TextAutosizer::isAutosizingCluster): replaced assertion for being autosizing container with a check

This comment is stale.

&gt; Source/WebCore/rendering/TextAutosizer.cpp:337
&gt; +    // We assume that containingBlock() can&apos;t skip the cluster, since as of now (11/27/2012) it skips

I just realized that this assumption isn&apos;t currently true - my bad for telling you it was earlier! For this to hold, you&apos;ll need to adjust isAutosizingContainer so that it returns true if renderer-&gt;isRenderBlock() &amp;&amp; renderer-&gt;isOutOfFlowPositioned(), even if it is a list item.

Nit: I&apos;d reword this comment to:

// containingBlock() should never leave the cluster, since it only skips ancestors when finding the
// container of position:absolute/fixed blocks, and those cannot exist within a cluster as
// isAutosizingCluster would have made them into their own independent cluster.

&gt; Source/WebCore/rendering/TextAutosizer.cpp:374
&gt; +const RenderObject* TextAutosizer::firstChild(const RenderObject* object, TraversalDirection direction)

These methods are confusingly named - it sounds like it returns the first child of the TextAutosizer (whatever that would mean).

Nit: They&apos;re also kinda verbose; it would probably be sufficient to do:

const RenderObject* child = direction == FirstToLast ? parent-&gt;firstChild() : parent-&gt;lastChild();

(since the enum lives in TextAutosizer.h, I wouldn&apos;t worry about people adding new entries to the enum without taking into account the uses in TextAutosizer.cpp)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777923</commentid>
    <comment_count>19</comment_count>
      <attachid>176342</attachid>
    <who name="John Mellor">johnme</who>
    <bug_when>2012-11-28 08:17:47 -0800</bug_when>
    <thetext>Comment on attachment 176342
Patch

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

&gt; LayoutTests/fast/text-autosizing/cluster-with-narrow-lca-and-cluster-expected.html:14
&gt; +&lt;div style=&quot;width: 400px&quot; &gt;

Nit: please don&apos;t leave spaces between &quot; and &gt;, here and in your other test files (probably best to grep for /&quot; &gt;$/).

&gt; LayoutTests/fast/text-autosizing/cluster-with-narrow-lca-and-cluster-expected.html:25
&gt; +    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Nit: please indent this the same as &quot;This ...&quot;. And you probably want a &lt;br&gt; after &quot;another cluster.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778023</commentid>
    <comment_count>20</comment_count>
      <attachid>176512</attachid>
    <who name="Anton Vayvod">avayvod</who>
    <bug_when>2012-11-28 10:19:37 -0800</bug_when>
    <thetext>Created attachment 176512
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778070</commentid>
    <comment_count>21</comment_count>
      <attachid>176523</attachid>
    <who name="Anton Vayvod">avayvod</who>
    <bug_when>2012-11-28 10:55:55 -0800</bug_when>
    <thetext>Created attachment 176523
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778077</commentid>
    <comment_count>22</comment_count>
      <attachid>176342</attachid>
    <who name="Anton Vayvod">avayvod</who>
    <bug_when>2012-11-28 10:58:45 -0800</bug_when>
    <thetext>Comment on attachment 176342
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:21
&gt;&gt; +        (WebCore::TextAutosizer::isAutosizingCluster): replaced assertion for being autosizing container with a check
&gt; 
&gt; This comment is stale.

Thanks! Fixed.

&gt;&gt; Source/WebCore/rendering/TextAutosizer.cpp:337
&gt;&gt; +    // We assume that containingBlock() can&apos;t skip the cluster, since as of now (11/27/2012) it skips
&gt; 
&gt; I just realized that this assumption isn&apos;t currently true - my bad for telling you it was earlier! For this to hold, you&apos;ll need to adjust isAutosizingContainer so that it returns true if renderer-&gt;isRenderBlock() &amp;&amp; renderer-&gt;isOutOfFlowPositioned(), even if it is a list item.
&gt; 
&gt; Nit: I&apos;d reword this comment to:
&gt; 
&gt; // containingBlock() should never leave the cluster, since it only skips ancestors when finding the
&gt; // container of position:absolute/fixed blocks, and those cannot exist within a cluster as
&gt; // isAutosizingCluster would have made them into their own independent cluster.

Fixed. Added a test for this case.

&gt;&gt; Source/WebCore/rendering/TextAutosizer.cpp:374
&gt;&gt; +const RenderObject* TextAutosizer::firstChild(const RenderObject* object, TraversalDirection direction)
&gt; 
&gt; These methods are confusingly named - it sounds like it returns the first child of the TextAutosizer (whatever that would mean).
&gt; 
&gt; Nit: They&apos;re also kinda verbose; it would probably be sufficient to do:
&gt; 
&gt; const RenderObject* child = direction == FirstToLast ? parent-&gt;firstChild() : parent-&gt;lastChild();
&gt; 
&gt; (since the enum lives in TextAutosizer.h, I wouldn&apos;t worry about people adding new entries to the enum without taking into account the uses in TextAutosizer.cpp)

I guess I kept trying to keep this optimized (i.e. with __builtin_unreachable or __assume).
Inlined them in the calling function.

&gt;&gt; LayoutTests/fast/text-autosizing/cluster-with-narrow-lca-and-cluster-expected.html:14
&gt;&gt; +&lt;div style=&quot;width: 400px&quot; &gt;
&gt; 
&gt; Nit: please don&apos;t leave spaces between &quot; and &gt;, here and in your other test files (probably best to grep for /&quot; &gt;$/).

Done.

&gt;&gt; LayoutTests/fast/text-autosizing/cluster-with-narrow-lca-and-cluster-expected.html:25
&gt;&gt; +    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
&gt; 
&gt; Nit: please indent this the same as &quot;This ...&quot;. And you probably want a &lt;br&gt; after &quot;another cluster.&quot;

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778197</commentid>
    <comment_count>23</comment_count>
      <attachid>176523</attachid>
    <who name="John Mellor">johnme</who>
    <bug_when>2012-11-28 12:34:30 -0800</bug_when>
    <thetext>Comment on attachment 176523
Patch

Patch looks good to me. Kenneth/Julien, is this ready for r+ ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778210</commentid>
    <comment_count>24</comment_count>
      <attachid>176523</attachid>
    <who name="Anton Vayvod">avayvod</who>
    <bug_when>2012-11-28 12:40:20 -0800</bug_when>
    <thetext>Comment on attachment 176523
Patch

Could someone cq+ this, please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778244</commentid>
    <comment_count>25</comment_count>
      <attachid>176523</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-28 13:03:21 -0800</bug_when>
    <thetext>Comment on attachment 176523
Patch

Clearing flags on attachment: 176523

Committed r136047: &lt;http://trac.webkit.org/changeset/136047&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>778246</commentid>
    <comment_count>26</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-28 13:03:27 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176221</attachid>
            <date>2012-11-27 03:34:32 -0800</date>
            <delta_ts>2012-11-27 05:23:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102562-20121127113209.patch</filename>
            <type>text/plain</type>
            <size>30432</size>
            <attacher name="Anton Vayvod">avayvod</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGM5MmVmNDJkYTJhNDA2
ZDg3MmE5YTBjMzdiYjgxYWVlNDNmOWQ1NS4uNTg0YTU2ZDY4MDAxZThkYTk5MjgxMGNmMjVlMWMx
ZjRlMWQyMjliMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTExLTI3ICBBbnRv
biBWYXl2b2QgIDxhdmF5dm9kQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0IEF1dG9zaXpp
bmc6IENsdXN0ZXJzIHNob3VsZCB1c2Ugd2lkdGggb2YgTENBIG9mIHRoZWlyIHRleHQgbm9kZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjU2Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1hbnkgcGFn
ZXMgc2V0IGEgbWF4LXdpZHRoIG9uIHRoZWlyIGNvbnRlbnQuIFNvIGVzcGVjaWFsbHkgZm9yIHRo
ZQorICAgICAgICBSZW5kZXJWaWV3LCBpbnN0ZWFkIG9mIGp1c3QgdGFraW5nIHRoZSB3aWR0aCBv
ZiB8Y2x1c3Rlcnwgd2Ugc2hvdWxkIGZpbmQKKyAgICAgICAgdGhlIGxvd2VzdCBjb21tb24gYW5j
ZXN0b3Igb2YgdGhlIGZpcnN0IGFuZCBsYXN0IGRlc2NlbmRhbnQgdGV4dCBub2RlIG9mCisgICAg
ICAgIHRoZSBjbHVzdGVyIChpLmUuIHRoZSBkZWVwZXN0IHdyYXBwZXIgYmxvY2sgdGhhdCBjb250
YWlucyBhbGwgdGhlIHRleHQpLAorICAgICAgICBhbmQgdXNlIGl0cyB3aWR0aCBpbnN0ZWFkLgor
CisgICAgICAgIFRlc3RzOiBmYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93
LWxjYS1hbmQtY2x1c3Rlci5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQtYXV0b3Npemlu
Zy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQt
YXV0b3NpemluZy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EuaHRtbAorICAgICAgICAgICAgICAgZmFz
dC90ZXh0LWF1dG9zaXppbmcvd2lkZS1pbi1uYXJyb3ctb3ZlcmZsb3ctc2Nyb2xsLmh0bWwKKwor
ICAgICAgICAqIHJlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRleHRBdXRvc2l6ZXI6OnByb2Nlc3NDbHVzdGVyKTogdXNlIHRleHQgbm9kZXMgTENBIGluc3Rl
YWQgb2YgY2x1c3RlciBmb3Igd2lkdGggY2FsY3VsYXRpb24KKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRBdXRvc2l6ZXI6OmlzQXV0b3NpemluZ0NsdXN0ZXIpOiByZXBsYWNlZCBhc3NlcnRpb24gZm9y
IGJlaW5nIGF1dG9zaXppbmcgY29udGFpbmVyIHdpdGggYSBjaGVjaworICAgICAgICAoV2ViQ29y
ZTo6VGV4dEF1dG9zaXplcjo6ZmluZERlZXBlc3RCbG9ja1dpdGhBbGxUZXh0KTogc2VhcmNoZXMg
Zm9yIExDQSBvZiB0ZXh0IG5vZGVzIGlnbm9yaW5nIGRlc2NlbmRhbnQgY2x1c3RlcnMKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRBdXRvc2l6ZXI6OmZpbmRGaXJzdFRleHRMZWFmTm90SW5DbHVzdGVy
KTogc2VhcmNoZXMgZm9yIHRoZSBmaXJzdCB0ZXh0IG5vZGUgaW4tb3JkZXIgaWdub3JpbmcgYW55
IGRlc2NlbmRhbnQgY2x1c3RlcnMKKyAgICAgICAgKFdlYkNvcmU6OlRleHRBdXRvc2l6ZXI6OmZp
bmRMYXN0VGV4dExlYWZOb3RJbkNsdXN0ZXIpOiBzZWFyY2hlcyBmb3IgdGhlIGxhc3QgdGV4dCBu
b2RlIGluLW9yZGVyIGlnbm9yaW5nIGFueSBkZXNjZW5kYW50IGNsdXN0ZXJzCisgICAgICAgIChX
ZWJDb3JlOjpUZXh0QXV0b3NpemVyOjpmaW5kRmluYWxUZXh0TGVhZk5vdEluQ2x1c3Rlcik6IGhl
bHBlciBmdW5jdGlvbiByZWR1Y2luZyBjb2RlIGR1cGxpY2F0aW9uCisgICAgICAgICogcmVuZGVy
aW5nL1RleHRBdXRvc2l6ZXIuaDogbmV3IHByaXZhdGUgbWV0aG9kcyBkZWNsYXJhdGlvbnMKKwog
MjAxMi0xMS0yNiAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBVbnJldmlld2VkLiBGaXggUXQgbWluaW1hbCBjb21waWxhdGlvbiBhZnRlciByMTM1NzEz
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3BwCmluZGV4IDM2MDY3
ZmQ3ODA5ZTljMzg0ZWQ3OGRkMmJmNmMxY2UzNWEyNmI3YjYuLjU3ODkwZGUyNGNiNWE4OGYzM2Uz
OWNiMjgxYTAzMDI2MTRkOWNmOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9UZXh0QXV0b3NpemVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1
dG9zaXplci5jcHAKQEAgLTk0LDE1ICs5NCwxNiBAQCB2b2lkIFRleHRBdXRvc2l6ZXI6OnByb2Nl
c3NDbHVzdGVyKFJlbmRlckJsb2NrKiBjbHVzdGVyLCBSZW5kZXJCbG9jayogY29udGFpbmVyLAog
ewogICAgIEFTU0VSVChpc0F1dG9zaXppbmdDbHVzdGVyKGNsdXN0ZXIpKTsKIAotICAgIC8vIEZJ
WE1FOiBNYW55IHBhZ2VzIHNldCBhIG1heC13aWR0aCBvbiB0aGVpciBjb250ZW50LiBTbyBlc3Bl
Y2lhbGx5IGZvciB0aGUgUmVuZGVyVmlldywKLSAgICAvLyBpbnN0ZWFkIG9mIGp1c3QgdGFraW5n
IHRoZSB3aWR0aCBvZiB8Y2x1c3Rlcnwgd2Ugc2hvdWxkIGZpbmQgdGhlIGxvd2VzdCBjb21tb24g
YW5jZXN0b3Igb2YKLSAgICAvLyB0aGUgZmlyc3QgYW5kIGxhc3QgZGVzY2VuZGFudCB0ZXh0IG5v
ZGUgb2YgdGhlIGNsdXN0ZXIgKGkuZS4gdGhlIGRlZXBlc3Qgd3JhcHBlciBibG9jayB0aGF0Ci0g
ICAgLy8gY29udGFpbnMgYWxsIHRoZSB0ZXh0KSwgYW5kIHVzZSBpdHMgd2lkdGggaW5zdGVhZC4K
LSAgICBSZW5kZXJCbG9jayogbG93ZXN0Q29tbW9uQW5jZXN0b3IgPSBjbHVzdGVyOworICAgIC8v
IE1hbnkgcGFnZXMgc2V0IGEgbWF4LXdpZHRoIG9uIHRoZWlyIGNvbnRlbnQuIFNvIGVzcGVjaWFs
bHkgZm9yIHRoZQorICAgIC8vIFJlbmRlclZpZXcsaW5zdGVhZCBvZiBqdXN0IHRha2luZyB0aGUg
d2lkdGggb2YgfGNsdXN0ZXJ8IHdlIHNob3VsZCBmaW5kCisgICAgLy8gdGhlIGxvd2VzdCBjb21t
b24gYW5jZXN0b3Igb2YgdGhlIGZpcnN0IGFuZCBsYXN0IGRlc2NlbmRhbnQgdGV4dCBub2RlIG9m
CisgICAgLy8gdGhlIGNsdXN0ZXIgKGkuZS4gdGhlIGRlZXBlc3Qgd3JhcHBlciBibG9jayB0aGF0
IGNvbnRhaW5zIGFsbCB0aGUgdGV4dCksCisgICAgLy8gYW5kIHVzZSBpdHMgd2lkdGggaW5zdGVh
ZC4KKyAgICBSZW5kZXJCbG9jayogbG93ZXN0Q29tbW9uQW5jZXN0b3IgPSBmaW5kRGVlcGVzdEJs
b2NrV2l0aEFsbFRleHQoY2x1c3Rlcik7CiAgICAgZmxvYXQgY29tbW9uQW5jZXN0b3JXaWR0aCA9
IGxvd2VzdENvbW1vbkFuY2VzdG9yLT5jb250ZW50TG9naWNhbFdpZHRoKCk7CiAKICAgICBmbG9h
dCBtdWx0aXBsaWVyID0gMTsKLSAgICBpZiAoY2x1c3RlclNob3VsZEJlQXV0b3NpemVkKGxvd2Vz
dENvbW1vbkFuY2VzdG9yLCBjb21tb25BbmNlc3RvcldpZHRoKSkgeworICAgIGlmIChjbHVzdGVy
U2hvdWxkQmVBdXRvc2l6ZWQoY2x1c3RlciwgY29tbW9uQW5jZXN0b3JXaWR0aCkpIHsKICAgICAg
ICAgaW50IGxvZ2ljYWxXaW5kb3dXaWR0aCA9IGNsdXN0ZXItPmlzSG9yaXpvbnRhbFdyaXRpbmdN
b2RlKCkgPyB3aW5kb3dJbmZvLndpbmRvd1NpemUud2lkdGgoKSA6IHdpbmRvd0luZm8ud2luZG93
U2l6ZS5oZWlnaHQoKTsKICAgICAgICAgaW50IGxvZ2ljYWxMYXlvdXRXaWR0aCA9IGNsdXN0ZXIt
PmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyB3aW5kb3dJbmZvLm1pbkxheW91dFNpemUud2lk
dGgoKSA6IHdpbmRvd0luZm8ubWluTGF5b3V0U2l6ZS5oZWlnaHQoKTsKICAgICAgICAgLy8gSWdu
b3JlIGJveCB3aWR0aCBpbiBleGNlc3Mgb2YgdGhlIGxheW91dCB3aWR0aCwgdG8gYXZvaWQgZXh0
cmVtZSBtdWx0aXBsaWVycy4KQEAgLTIyNiw3ICsyMjcsOCBAQCBib29sIFRleHRBdXRvc2l6ZXI6
OmlzQXV0b3NpemluZ0NsdXN0ZXIoY29uc3QgUmVuZGVyQmxvY2sqIHJlbmRlcmVyKQogICAgIC8v
IGZyb20gdGhlIGJveCdzIHBhcmVudCAod2Ugd2FudCB0byBhdm9pZCBoYXZpbmcgc2lnbmlmaWNh
bnRseSBkaWZmZXJlbnQKICAgICAvLyB3aWR0aCBibG9ja3Mgd2l0aGluIGEgY2x1c3Rlciwgc2lu
Y2UgdGhlIG5hcnJvd2VyIGJsb2NrcyB3b3VsZCBlbmQgdXAKICAgICAvLyBsYXJnZXIgdGhhbiB3
b3VsZCBvdGhlcndpc2UgYmUgbmVjZXNzYXJ5KS4KLSAgICBBU1NFUlQoaXNBdXRvc2l6aW5nQ29u
dGFpbmVyKHJlbmRlcmVyKSk7CisgICAgaWYgKCFpc0F1dG9zaXppbmdDb250YWluZXIocmVuZGVy
ZXIpKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICByZXR1cm4gcmVuZGVyZXItPmlzUmVu
ZGVyVmlldygpCiAgICAgICAgIHx8IHJlbmRlcmVyLT5pc0Zsb2F0aW5nKCkKQEAgLTI5Nyw2ICsy
OTksODggQEAgUmVuZGVyT2JqZWN0KiBUZXh0QXV0b3NpemVyOjpuZXh0SW5QcmVPcmRlclNraXBw
aW5nRGVzY2VuZGFudHNPZkNvbnRhaW5lcnMoY29uc3QKICAgICByZXR1cm4gMDsKIH0KIAorUmVu
ZGVyQmxvY2sqIFRleHRBdXRvc2l6ZXI6OmZpbmREZWVwZXN0QmxvY2tXaXRoQWxsVGV4dChSZW5k
ZXJCbG9jayogY2x1c3RlcikKK3sKKyAgICBBU1NFUlQoaXNBdXRvc2l6aW5nQ2x1c3RlcihjbHVz
dGVyKSk7CisgICAgaWYgKGNsdXN0ZXItPmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGNsdXN0
ZXI7CisKKyAgICBzaXplX3QgZmlyc3REZXB0aCA9IDA7CisgICAgUmVuZGVyT2JqZWN0KiBmaXJz
dFRleHRMZWFmID0gZmluZEZpcnN0VGV4dExlYWZOb3RJbkNsdXN0ZXIoY2x1c3RlciwgZmlyc3RE
ZXB0aCk7CisgICAgaWYgKCFmaXJzdFRleHRMZWFmKQorICAgICAgICByZXR1cm4gY2x1c3RlcjsK
KworICAgIHNpemVfdCBsYXN0RGVwdGggPSAwOworICAgIFJlbmRlck9iamVjdCogbGFzdFRleHRM
ZWFmID0gZmluZExhc3RUZXh0TGVhZk5vdEluQ2x1c3RlcihjbHVzdGVyLCBsYXN0RGVwdGgpOwor
ICAgIEFTU0VSVChsYXN0VGV4dExlYWYpOworCisgICAgLy8gRGV0ZXJtaW5lIHdoaWNoIG5vZGUg
aXMgbG93ZXIuCisgICAgUmVuZGVyT2JqZWN0KiBsb3dlciA9IGZpcnN0VGV4dExlYWY7CisgICAg
UmVuZGVyT2JqZWN0KiBoaWdoZXIgPSBsYXN0VGV4dExlYWY7CisgICAgc2l6ZV90IGxvd2VyRGVw
dGggPSBmaXJzdERlcHRoOworICAgIHNpemVfdCBoaWdoZXJEZXB0aCA9IGxhc3REZXB0aDsKKyAg
ICBpZiAoZmlyc3REZXB0aCA8IGxhc3REZXB0aCkgeworICAgICAgICBzdGQ6OnN3YXAobG93ZXIs
IGhpZ2hlcik7CisgICAgICAgIHN0ZDo6c3dhcChsb3dlckRlcHRoLCBoaWdoZXJEZXB0aCk7Cisg
ICAgfQorCisgICAgLy8gRXF1YWxpemUgdGhlIGRlcHRocy4KKyAgICB3aGlsZSAobG93ZXJEZXB0
aCA+IGhpZ2hlckRlcHRoKSB7CisgICAgICAgIGxvd2VyID0gbG93ZXItPnBhcmVudCgpOworICAg
ICAgICAtLWxvd2VyRGVwdGg7CisgICAgfQorCisgICAgLy8gR28gdXAgZnJvbSBib3RoIG5vZGVz
IHVudGlsIHRoZSBwYXJlbnQgaXMgdGhlIHNhbWUuCisgICAgd2hpbGUgKGxvd2VyICE9IGhpZ2hl
cikgeworICAgICAgICBsb3dlciA9IGxvd2VyLT5wYXJlbnQoKTsKKyAgICAgICAgaGlnaGVyID0g
aGlnaGVyLT5wYXJlbnQoKTsKKyAgICB9CisKKyAgICBSZW5kZXJCbG9jayogYmxvY2tXaXRoQWxs
VGV4dCA9IDA7CisgICAgaWYgKGxvd2VyLT5pc1JlbmRlckJsb2NrKCkpCisgICAgICAgIGJsb2Nr
V2l0aEFsbFRleHQgPSB0b1JlbmRlckJsb2NrKGxvd2VyKTsKKyAgICBlbHNlCisgICAgICAgIGJs
b2NrV2l0aEFsbFRleHQgPSBsb3dlci0+Y29udGFpbmluZ0Jsb2NrKCk7CisgICAgQVNTRVJUKGJs
b2NrV2l0aEFsbFRleHQtPmlzRGVzY2VuZGFudE9mKGNsdXN0ZXIpKTsKKyAgICByZXR1cm4gYmxv
Y2tXaXRoQWxsVGV4dDsKK30KKworUmVuZGVyT2JqZWN0KiBUZXh0QXV0b3NpemVyOjpmaW5kRmly
c3RUZXh0TGVhZk5vdEluQ2x1c3RlcihSZW5kZXJPYmplY3QqIHBhcmVudCwgc2l6ZV90JiBkZXB0
aCkKK3sKKyAgICByZXR1cm4gZmluZEZpbmFsVGV4dExlYWZOb3RJbkNsdXN0ZXIoCisgICAgICAg
IHBhcmVudCwgZGVwdGgsICZSZW5kZXJPYmplY3Q6OmZpcnN0Q2hpbGQsICZSZW5kZXJPYmplY3Q6
Om5leHRTaWJsaW5nKTsKK30KKworUmVuZGVyT2JqZWN0KiBUZXh0QXV0b3NpemVyOjpmaW5kTGFz
dFRleHRMZWFmTm90SW5DbHVzdGVyKFJlbmRlck9iamVjdCogcGFyZW50LCBzaXplX3QmIGRlcHRo
KQoreworICAgIHJldHVybiBmaW5kRmluYWxUZXh0TGVhZk5vdEluQ2x1c3RlcigKKyAgICAgICAg
cGFyZW50LCBkZXB0aCwgJlJlbmRlck9iamVjdDo6bGFzdENoaWxkLCAmUmVuZGVyT2JqZWN0Ojpw
cmV2aW91c1NpYmxpbmcpOworfQorCitSZW5kZXJPYmplY3QqIFRleHRBdXRvc2l6ZXI6OmZpbmRG
aW5hbFRleHRMZWFmTm90SW5DbHVzdGVyKAorICAgIFJlbmRlck9iamVjdCogcGFyZW50LAorICAg
IHNpemVfdCYgZGVwdGgsCisgICAgUmVuZGVyT2JqZWN0KiAoUmVuZGVyT2JqZWN0OjoqZ2V0Rmly
c3RDaGlsZE1ldGhvZCkoKSBjb25zdCwKKyAgICBSZW5kZXJPYmplY3QqIChSZW5kZXJPYmplY3Q6
OipnZXROZXh0U2libGluZ01ldGhvZCkoKSBjb25zdCkKK3sKKyAgICBpZiAocGFyZW50LT5pc0Vt
cHR5KCkpCisgICAgICAgIHJldHVybiBwYXJlbnQtPmlzVGV4dCgpID8gcGFyZW50IDogMDsKKwor
ICAgICsrZGVwdGg7CisgICAgZm9yIChSZW5kZXJPYmplY3QqIGNoaWxkID0gKHBhcmVudC0+Kmdl
dEZpcnN0Q2hpbGRNZXRob2QpKCk7IGNoaWxkOyBjaGlsZCA9IChjaGlsZC0+KmdldE5leHRTaWJs
aW5nTWV0aG9kKSgpKSB7CisgICAgICAgIGlmIChjaGlsZC0+aXNSZW5kZXJCbG9jaygpICYmIGlz
QXV0b3NpemluZ0NsdXN0ZXIodG9SZW5kZXJCbG9jayhjaGlsZCkpKQorICAgICAgICAgICAgY29u
dGludWU7CisKKyAgICAgICAgUmVuZGVyT2JqZWN0KiBsZWFmID0gZmluZEZpbmFsVGV4dExlYWZO
b3RJbkNsdXN0ZXIoCisgICAgICAgICAgICBjaGlsZCwgZGVwdGgsIGdldEZpcnN0Q2hpbGRNZXRo
b2QsIGdldE5leHRTaWJsaW5nTWV0aG9kKTsKKyAgICAgICAgaWYgKGxlYWYpCisgICAgICAgICAg
ICByZXR1cm4gbGVhZjsKKyAgICB9CisgICAgLS1kZXB0aDsKKworICAgIHJldHVybiAwOworfQor
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoVEVYVF9BVVRPU0la
SU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmgKaW5kZXggMmUyZTcw
ZTZiMDI4NDUwNzEzYmE2ZmFjMmRhMTI4YjU3YWVlYTBkMy4uOTdiN2JhMTNjZDYzNjY2ZGZjMjRh
ZWE4ZDVmMjlkYWMxMDg4OWUwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1RleHRBdXRvc2l6ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9z
aXplci5oCkBAIC03MSw2ICs3MSwyMiBAQCBwcml2YXRlOgogICAgIC8vIFVzZSB0byB0cmF2ZXJz
ZSB0aGUgdHJlZSBvZiBkZXNjZW5kYW50cywgZXhjbHVkaW5nIGRlc2NlbmRhbnRzIG9mIGNvbnRh
aW5lcnMgKGJ1dCByZXR1cm5pbmcgdGhlIGNvbnRhaW5lcnMgdGhlbXNlbHZlcykuCiAgICAgc3Rh
dGljIFJlbmRlck9iamVjdCogbmV4dEluUHJlT3JkZXJTa2lwcGluZ0Rlc2NlbmRhbnRzT2ZDb250
YWluZXJzKGNvbnN0IFJlbmRlck9iamVjdCogY3VycmVudCwgY29uc3QgUmVuZGVyT2JqZWN0KiBz
dGF5V2l0aGluKTsKIAorICAgIC8vIEZpbmRzIHRoZSBsb3dlc3QgY29tbW9uIGFuY2VzdG9yIG9m
IHRoZSBmaXJzdCBhbmQgdGhlIGxhc3QgZGVzY2VuZGFudAorICAgIC8vIHRleHQgbm9kZSAoZXhj
bHVkaW5nIHRob3NlIGJlbG9uZ2luZyB0byBvdGhlciBhdXRvc2l6aW5nIGNsdXN0ZXJzKS4KKyAg
ICBzdGF0aWMgUmVuZGVyQmxvY2sqIGZpbmREZWVwZXN0QmxvY2tXaXRoQWxsVGV4dChSZW5kZXJC
bG9jayogY2x1c3Rlcik7CisKKyAgICAvLyBGaW5kcyB0aGUgZmlyc3QgbGVhZiB0ZXh0IG5vZGUg
Y2hpbGQgdGhhdCBkb2Vzbid0IGJlbG9uZyB0byBhbnkgY2x1c3Rlci4KKyAgICBzdGF0aWMgUmVu
ZGVyT2JqZWN0KiBmaW5kRmlyc3RUZXh0TGVhZk5vdEluQ2x1c3RlcigKKyAgICAgICAgUmVuZGVy
T2JqZWN0KiBwYXJlbnQsIHNpemVfdCYgZGVwdGgpOworICAgIC8vIEZpbmRzIHRoZSBsYXN0IGxl
YWYgdGV4dCBub2RlIGNoaWxkIHRoYXQgZG9lc24ndCBiZWxvbmcgdG8gYW55IGNsdXN0ZXIuCisg
ICAgc3RhdGljIFJlbmRlck9iamVjdCogZmluZExhc3RUZXh0TGVhZk5vdEluQ2x1c3RlcigKKyAg
ICAgICAgUmVuZGVyT2JqZWN0KiBwYXJlbnQsIHNpemVfdCYgZGVwdGgpOworICAgIHN0YXRpYyBS
ZW5kZXJPYmplY3QqIGZpbmRGaW5hbFRleHRMZWFmTm90SW5DbHVzdGVyKAorICAgICAgICBSZW5k
ZXJPYmplY3QqIHBhcmVudCwKKyAgICAgICAgc2l6ZV90JiBkZXB0aCwKKyAgICAgICAgUmVuZGVy
T2JqZWN0KiAoUmVuZGVyT2JqZWN0OjoqZ2V0Rmlyc3RDaGlsZE1ldGhvZCkoKSBjb25zdCwKKyAg
ICAgICAgUmVuZGVyT2JqZWN0KiAoUmVuZGVyT2JqZWN0OjoqZ2V0TmV4dFNpYmxpbmdNZXRob2Qp
KCkgY29uc3QpOworCiAgICAgRG9jdW1lbnQqIG1fZG9jdW1lbnQ7CiB9OwogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzhm
OTQ4ZDhlOGYwOGJhZmFlNTc5MTc5NThmNDI5MDU0Mzg2OTU1My4uNmY4YTFhZmU4M2UyN2U4MzM3
YTQwNmE4ZDY2OGI5ZTVlOGU0ZDQwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTExLTI3
ICBBbnRvbiBWYXl2b2QgIDxhdmF5dm9kQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0IEF1
dG9zaXppbmc6IENsdXN0ZXJzIHNob3VsZCB1c2Ugd2lkdGggb2YgTENBIG9mIHRoZWlyIHRleHQg
bm9kZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
MjU2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1h
bnkgcGFnZXMgc2V0IGEgbWF4LXdpZHRoIG9uIHRoZWlyIGNvbnRlbnQuIFNvIGVzcGVjaWFsbHkg
Zm9yIHRoZQorICAgICAgICBSZW5kZXJWaWV3LGluc3RlYWQgb2YganVzdCB0YWtpbmcgdGhlIHdp
ZHRoIG9mIHxjbHVzdGVyfCB3ZSBzaG91bGQgZmluZAorICAgICAgICB0aGUgbG93ZXN0IGNvbW1v
biBhbmNlc3RvciBvZiB0aGUgZmlyc3QgYW5kIGxhc3QgZGVzY2VuZGFudCB0ZXh0IG5vZGUgb2YK
KyAgICAgICAgdGhlIGNsdXN0ZXIgKGkuZS4gdGhlIGRlZXBlc3Qgd3JhcHBlciBibG9jayB0aGF0
IGNvbnRhaW5zIGFsbCB0aGUgdGV4dCksCisgICAgICAgIGFuZCB1c2UgaXRzIHdpZHRoIGluc3Rl
YWQuCisgICAgICAgIEhhZCB0byB1cGRhdGUgYSBjb3VwbGUgb2YgdGVzdHMgc2luY2UgdGhlIGFj
dHVhbCB3aWR0aCBmb3IgZm9udCBzaXplIG11bHRpcGxpZXIKKyAgICAgICAgY2FsY3VsYXRpb24g
aGFzIGJlZW4gY2hhbmdlZCBieSB0aGUgcGF0Y2guCisKKyAgICAgICAgKiBmYXN0L3RleHQtYXV0
b3NpemluZy9jbHVzdGVyLXdpZGUtaW4tbmFycm93LWV4cGVjdGVkLmh0bWw6CisgICAgICAgICog
ZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aWRlLWluLW5hcnJvdy5odG1sOgorICAgICAg
ICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWFuZC1jbHVz
dGVyLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5n
L2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWFuZC1jbHVzdGVyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWV4cGVjdGVk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0
aC1uYXJyb3ctbGNhLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5n
L2NsdXN0ZXItd2l0aC13aWRlLWxjYS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvZW0tbWFyZ2luLWJvcmRlci1wYWRkaW5nLWV4
cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvZW0tbWFyZ2luLWJv
cmRlci1wYWRkaW5nLmh0bWw6CisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lkZS1j
aGlsZC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUt
Y2hpbGQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWluLW5hcnJv
dy1vdmVyZmxvdy1zY3JvbGwtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90
ZXh0LWF1dG9zaXppbmcvd2lkZS1pbi1uYXJyb3ctb3ZlcmZsb3ctc2Nyb2xsLmh0bWw6IEFkZGVk
LgorCiAyMDEyLTExLTI2ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IG9iamVjdCBwcmV2aWV3IGRvZXMgbm90IHJlbmRlciBu
b2RlIGlkLCBjbGFzc05hbWU7IGxvZ3MgdG9vIG1hbnkgZnVuY3Rpb25zIGZvciBqUXVlcnkuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpZGUt
aW4tbmFycm93LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Npemlu
Zy9jbHVzdGVyLXdpZGUtaW4tbmFycm93LWV4cGVjdGVkLmh0bWwKaW5kZXggNmNmZjA2ZTQ0OGIy
Zjc1ODNiZGEyMDM0M2VlYmRlMjI1YzY0NjU3MC4uMmExMDNhNDI5OWIzYjg3NTg0NWJjMGEzNmRi
ZGZmMDkzOTRmMzIxMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXpp
bmcvY2x1c3Rlci13aWRlLWluLW5hcnJvdy1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2lkZS1pbi1uYXJyb3ctZXhwZWN0ZWQuaHRt
bApAQCAtMTcsOCArMTcsOCBAQCBib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IG92ZXJm
bG93LXk6IGhpZGRlbjsgfQogICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29u
c2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1
bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCiAgICAgPC9kaXY+CiAKLSAgICA8
ZGl2IHN0eWxlPSJ3aWR0aDogODAwcHg7IGZvbnQtc2l6ZTogMS4yNXJlbSI+Ci0gICAgICAgIFRo
aXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIGp1c3QgMjBweCBjb21wdXRlZCBmb250LXNp
emUgKDE2ICogNDAwLzMyMCksIHNpbmNlIGRlc3BpdGUgaXRzIHdpZHRoOjgwMHB4IGl0IGlzIHBh
cnQgb2YgdGhlIDQwMHB4IHdpZGUgcm9vdCBjbHVzdGVyLjxicj4KKyAgICA8ZGl2IHN0eWxlPSJ3
aWR0aDogNjAwcHg7IGZvbnQtc2l6ZTogMS4yNXJlbSI+CisgICAgICAgIFRoaXMgdGV4dCBzaG91
bGQgYmUgYXV0b3NpemVkIHRvIDIwcHggY29tcHV0ZWQgZm9udC1zaXplICgxNiAqIDQwMC8zMjAp
LCBzaW5jZSB0aGUgd2lkdGggb2YgdGhlIHBhcmVudCBkaXYgaXMgdXNlZCBmb3IgdGV4dCBhdXRv
c2l6aW5nLjxicj4KICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3Rl
dHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0
IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLgogICAgIDwvZGl2PgogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpZGUtaW4tbmFycm93
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpZGUtaW4t
bmFycm93Lmh0bWwKaW5kZXggYjJlZjAxMDdjOWVjNjZjNzIzYWU5NmZiNDQ2OTZiZjMxNjE0NDdj
Yy4uNzBiNWMwZjdjNjBhY2E4OTE2MjMzYWNiZWEyOTgwNTNlMzY5MWY5NiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aWRlLWluLW5hcnJvdy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2lkZS1p
bi1uYXJyb3cuaHRtbApAQCAtMjYsOCArMjYsOCBAQCBpZiAod2luZG93LmludGVybmFscykgewog
ICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNp
bmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRv
bG9yZSBtYWduYSBhbGlxdWEuCiAgICAgPC9kaXY+CiAKLSAgICA8ZGl2IHN0eWxlPSJ3aWR0aDog
ODAwcHgiPgotICAgICAgICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byBqdXN0IDIw
cHggY29tcHV0ZWQgZm9udC1zaXplICgxNiAqIDQwMC8zMjApLCBzaW5jZSBkZXNwaXRlIGl0cyB3
aWR0aDo4MDBweCBpdCBpcyBwYXJ0IG9mIHRoZSA0MDBweCB3aWRlIHJvb3QgY2x1c3Rlci48YnI+
CisgICAgPGRpdiBzdHlsZT0id2lkdGg6IDYwMHB4Ij4KKyAgICAgICAgVGhpcyB0ZXh0IHNob3Vs
ZCBiZSBhdXRvc2l6ZWQgdG8gMjBweCBjb21wdXRlZCBmb250LXNpemUgKDE2ICogNDAwLzMyMCks
IHNpbmNlIHRoZSB3aWR0aCBvZiB0aGUgcGFyZW50IGRpdiBpcyB1c2VkIGZvciB0ZXh0IGF1dG9z
aXppbmcuPGJyPgogICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0
dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQg
bGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCiAgICAgPC9kaXY+CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNh
LWFuZC1jbHVzdGVyLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Np
emluZy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS1hbmQtY2x1c3Rlci1leHBlY3RlZC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjI3Yzk0ZjJlMjc0ZmRiNmU1ZDc5MDc1YzY5YTczZGU1OWVjMzBkNTYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdp
dGgtbmFycm93LWxjYS1hbmQtY2x1c3Rlci1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMzAgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGU+CitodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9
Citib2R5IHsgd2lkdGg6IDgwMHB4OyBvdmVyZmxvdy15OiBoaWRkZW47IH0KKzwvc3R5bGU+CisK
KzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJ3aWR0aDogNDAwcHgiID4KKyAgPGRpdiBz
dHlsZT0iZm9udC1zaXplOiAxLjI1cmVtIiA+CisgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRv
c2l6ZWQgdG8ganVzdCAyMHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSAoMTYgKiA0MDAvMzIwKSwgc2lu
Y2UgdGhlIHdpZHRoIG9mIHRoZSBsZWFzdCBjb21tb24gYW5jZXN0b3IgaXMgdXNlZCBmb3IgbXVs
dGlwbGllciBjYWxjdWxhdGlvbi4KKyAgPC9kaXY+CisKKyAgPGRpdiBzdHlsZT0iZm9udC1zaXpl
OiAxLjI1cmVtIiA+CisgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBzaW1pbGFybHkgYXV0b3NpemVk
IHRvIDIwcHguCisgIDwvZGl2PgorPC9kaXY+Cis8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgd2lk
dGg6IDgwMHB4OyBmb250LXNpemU6IDIuNXJlbSIgPgorICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1
dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSAoMTYgKiA4MDAvMzIwKS4gSXQgc2hv
dWxkIG5vdCBhZmZlY3QgYXV0b3NpemluZyBmb3IgdGV4dCBhYm92ZSB0aG91Z2ggc2luY2UgaXQn
cyBhbm90aGVyIGNsdXN0ZXIuCisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNl
Y3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50
IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlh
bSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlx
dWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVw
cmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lh
dCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBw
cm9pZGVudCwgc3VudCBpbiBjdWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQgYW5pbSBp
ZCBlc3QgbGFib3J1bS4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNh
LWFuZC1jbHVzdGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVz
dGVyLXdpdGgtbmFycm93LWxjYS1hbmQtY2x1c3Rlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2NDgwMDJh
MmJiMzUyMjYwNmFhY2RkZDUzODY2NTQ5MmZmZDUzMGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS1hbmQt
Y2x1c3Rlci5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5
bGU+CitodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBvdmVy
Zmxvdy15OiBoaWRkZW47IH0KKzwvc3R5bGU+CisKKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVy
bmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdF
bmFibGVkKHRydWUpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9z
aXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0ODApOworfSBlbHNlIGlmICh3aW5kb3cuY29u
c29sZSAmJiBjb25zb2xlLndhcm4pIHsKKyAgICBjb25zb2xlLndhcm4oIlRoaXMgdGVzdCBkZXBl
bmRzIG9uIHRoZSBUZXh0IEF1dG9zaXppbmcgc2V0dGluZyBiZWluZyB0cnVlLCBzbyBydW4gaXQg
aW4gRHVtcFJlbmRlclRyZWUsIG9yIG1hbnVhbGx5IGVuYWJsZSBUZXh0IEF1dG9zaXppbmcsIGFu
ZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRldmljZSB3aXRoIDMyMHB4IGRldmljZS13aWR0aCAobGlr
ZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9yIGRlZmluZSBIQUNLX0ZPUkNFX1RFWFRfQVVUT1NJWklO
R19PTl9ERVNLVE9QLiIpOworfQorPC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2
IHN0eWxlPSJ3aWR0aDogNDAwcHgiID4KKyAgPGRpdj4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJl
IGF1dG9zaXplZCB0byBqdXN0IDIwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDQwMC8zMjAp
LCBzaW5jZSB0aGUgd2lkdGggb2YgdGhlIGxlYXN0IGNvbW1vbiBhbmNlc3RvciBpcyB1c2VkIGZv
ciBtdWx0aXBsaWVyIGNhbGN1bGF0aW9uLgorICA8L2Rpdj4KKworICA8ZGl2PgorICAgIFRoaXMg
dGV4dCBzaG91bGQgYmUgc2ltaWxhcmx5IGF1dG9zaXplZCB0byAyMHB4LgorICA8L2Rpdj4KKzwv
ZGl2PgorPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiA4MDBweCIgPgorICBUaGlzIHRl
eHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSAoMTYgKiA4
MDAvMzIwKS4gSXQgc2hvdWxkIG5vdCBhZmZlY3QgYXV0b3NpemluZyBmb3IgdGV4dCBhYm92ZSB0
aG91Z2ggc2luY2UgaXQncyBhbm90aGVyIGNsdXN0ZXIuCisgICAgTG9yZW0gaXBzdW0gZG9sb3Ig
c2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRl
bXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmlt
IGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9y
aXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiBEdWlzIGF1dGUgaXJ1
cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0g
ZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQg
Y3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVu
dCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXIt
d2l0aC1uYXJyb3ctbGNhLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0
b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjQyNmZmYzM3NGFkNDkyYjY2OTUxYTEyMWMzNTM1M2ZhMjVjNGYyMDQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93
LWxjYS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+
Cis8c3R5bGU+CitodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4
OyBvdmVyZmxvdy15OiBoaWRkZW47IH0KKzwvc3R5bGU+CisKKzwvaGVhZD4KKzxib2R5PgorCis8
ZGl2IHN0eWxlPSJ3aWR0aDogNDAwcHgiPgorICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDEuMjVy
ZW0iPgorICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIGp1c3QgMjBweCBjb21w
dXRlZCBmb250IHNpemUgKDE2ICogNDAwLzMyMCksIHNpbmNlIHRoZSB3aWR0aCBvZiB0aGUgbGVh
c3QgY29tbW9uIGFuY2VzdG9yIGlzIHVzZWQgZm9yIG11bHRpcGxpZXIgY2FsY3VsYXRpb24uCisg
IDwvZGl2PgorCisgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMS4yNXJlbSI+CisgICAgVGhpcyB0
ZXh0IHNob3VsZCBiZSBzaW1pbGFybHkgYXV0b3NpemVkIHRvIDIwcHguCisgIDwvZGl2PgorPC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjM5YjVhY2I1ODZhNDRjOTJmOTlmNjRkOGJmNjhhMDkxNDIzZTA1MmUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFy
cm93LWxjYS5odG1sCkBAIC0wLDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5
bGU+CitodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBvdmVy
Zmxvdy15OiBoaWRkZW47IH0KKzwvc3R5bGU+CisKKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVy
bmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdF
bmFibGVkKHRydWUpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9z
aXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0ODApOworfSBlbHNlIGlmICh3aW5kb3cuY29u
c29sZSAmJiBjb25zb2xlLndhcm4pIHsKKyAgICBjb25zb2xlLndhcm4oIlRoaXMgdGVzdCBkZXBl
bmRzIG9uIHRoZSBUZXh0IEF1dG9zaXppbmcgc2V0dGluZyBiZWluZyB0cnVlLCBzbyBydW4gaXQg
aW4gRHVtcFJlbmRlclRyZWUsIG9yIG1hbnVhbGx5IGVuYWJsZSBUZXh0IEF1dG9zaXppbmcsIGFu
ZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRldmljZSB3aXRoIDMyMHB4IGRldmljZS13aWR0aCAobGlr
ZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9yIGRlZmluZSBIQUNLX0ZPUkNFX1RFWFRfQVVUT1NJWklO
R19PTl9ERVNLVE9QLiIpOworfQorPC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2
IHN0eWxlPSJ3aWR0aDogNDAwcHgiID4KKyAgPGRpdj4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJl
IGF1dG9zaXplZCB0byBqdXN0IDIwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDQwMC8zMjAp
LCBzaW5jZSB0aGUgd2lkdGggb2YgdGhlIGxlYXN0IGNvbW1vbiBhbmNlc3RvciBpcyB1c2VkIGZv
ciBtdWx0aXBsaWVyIGNhbGN1bGF0aW9uLgorICA8L2Rpdj4KKworICA8ZGl2PgorICAgIFRoaXMg
dGV4dCBzaG91bGQgYmUgc2ltaWxhcmx5IGF1dG9zaXplZCB0byAyMHB4LgorICA8L2Rpdj4KKzwv
ZGl2PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EtZXhwZWN0ZWQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC13aWRlLWxjYS1leHBlY3Rl
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjRkMGM3ZDY3MWQzOTA4MThhNTYzMTM4NzAyYjNkZDQyZTk1YTU1
NzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9j
bHVzdGVyLXdpdGgtd2lkZS1sY2EtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDMwIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlPgoraHRtbCB7IGZvbnQtc2l6ZTogMTZweDsgfQorYm9k
eSB7IHdpZHRoOiA4MDBweDsgb3ZlcmZsb3cteTogaGlkZGVuOyB9Cis8L3N0eWxlPgorCis8L2hl
YWQ+Cis8Ym9keT4KKworPGRpdiBzdHlsZT0id2lkdGg6IDQwMHB4IiA+CisgIDxkaXYgc3R5bGU9
ImZvbnQtc2l6ZTogMi41cmVtIiA+CisgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQg
dG8gNDBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogODAwLzMyMCkuCisgIDwvZGl2PgorCisg
IDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMi41cmVtIiA+CisgICAgVGhpcyB0ZXh0IHNob3VsZCBi
ZSBzaW1pbGFybHkgYXV0b3NpemVkIHRvIDQwcHguCisgIDwvZGl2PgorPC9kaXY+Cis8ZGl2IHN0
eWxlPSJ3aWR0aDogODAwcHg7IGZvbnQtc2l6ZTogMi41cmVtIiA+CisgIFRoaXMgdGV4dCBzaG91
bGQgYmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDgwMC8zMjAp
LgorICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcg
ZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9y
ZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhl
cmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBj
b25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGluIHZvbHVw
dGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBhcmlhdHVyLiBF
eGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1
bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLgorPC9k
aXY+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLXdpZGUtbGNhLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mZjA1ZGFlZGY3OTg1MGFiMWFkYmFiMDIxNzQ5NzY0ZDAxYjQxNDZjCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLXdpZGUt
bGNhLmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZT4K
K2h0bWwgeyBmb250LXNpemU6IDE2cHg7IH0KK2JvZHkgeyB3aWR0aDogODAwcHg7IG92ZXJmbG93
LXk6IGhpZGRlbjsgfQorPC9zdHlsZT4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxz
KSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJs
ZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3Npemlu
Z1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xl
ICYmIGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMg
b24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBE
dW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVp
dGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5l
eHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09O
X0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5
bGU9IndpZHRoOiA0MDBweCIgPgorICA8ZGl2PgorICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0
b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDgwMC8zMjApLgorICA8L2Rp
dj4KKworICA8ZGl2PgorICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgc2ltaWxhcmx5IGF1dG9zaXpl
ZCB0byA0MHB4LgorICA8L2Rpdj4KKzwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDgwMHB4IiA+
CisgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udCBz
aXplICgxNiAqIDgwMC8zMjApLgorICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2Vj
dGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQg
dXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFt
LCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1
aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXBy
ZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0
IG51bGxhIHBhcmlhdHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHBy
b2lkZW50LCBzdW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlk
IGVzdCBsYWJvcnVtLgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZW0tbWFyZ2luLWJvcmRlci1wYWRkaW5n
LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9lbS1tYXJn
aW4tYm9yZGVyLXBhZGRpbmctZXhwZWN0ZWQuaHRtbAppbmRleCA0M2JkMWMwNjg5Yzg0NDVlODBh
ODA1MTA4ZmVkZTU4NWJlNmYxZjIzLi5kOTNjYjI1NDhmMDE2YmQ4N2NkM2FjMWMzMmZhMTZiM2Ey
NGFhOGU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9lbS1t
YXJnaW4tYm9yZGVyLXBhZGRpbmctZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3RleHQtYXV0b3NpemluZy9lbS1tYXJnaW4tYm9yZGVyLXBhZGRpbmctZXhwZWN0ZWQuaHRtbApA
QCAtMTEsOCArMTEsOCBAQCBib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IG92ZXJmbG93
LXk6IGhpZGRlbjsgfQogPC9oZWFkPgogPGJvZHk+CiAKLTxwIHN0eWxlPSJmb250LXNpemU6IDIu
NXJlbTsgbWFyZ2luOiAxcmVtOyBib3JkZXI6IDFyZW0gc29saWQgYmx1ZTsgcGFkZGluZzogMXJl
bSI+Ci0gICAgVGhpcyB0ZXh0IHNob3VsZCBnZXQgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQg
Zm9udCBzaXplLCBidXQgdGhlIDFlbSBtYXJnaW5zLCBib3JkZXJzIGFuZCBwYWRkaW5nIHNob3Vs
ZCByZW1haW4ganVzdCAxNnB4LiBXaGlsZSBkZWJhdGFibGUsIHRoaXMgZ2VuZXJhbGx5IGxvb2tz
IG1vcmUgY29uc2lzdGVudCB0aGFuIGhhdmluZyB0aGVtIGJlIHNjYWxlZC48YnI+Cis8cCBzdHls
ZT0iZm9udC1zaXplOiAyLjJyZW07IG1hcmdpbjogMXJlbTsgYm9yZGVyOiAxcmVtIHNvbGlkIGJs
dWU7IHBhZGRpbmc6IDFyZW0iPgorICAgIFRoaXMgdGV4dCBzaG91bGQgZ2V0IGF1dG9zaXplZCB0
byAzNS4ycHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDcwNC8zMjApLCBidXQgdGhlIDFlbSBt
YXJnaW5zLCBib3JkZXJzIGFuZCBwYWRkaW5nIHNob3VsZCByZW1haW4ganVzdCAxNnB4LiBXaGls
ZSBkZWJhdGFibGUsIHRoaXMgZ2VuZXJhbGx5IGxvb2tzIG1vcmUgY29uc2lzdGVudCB0aGFuIGhh
dmluZyB0aGVtIGJlIHNjYWxlZC48YnI+CiAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQs
IGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNp
ZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmlt
IHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1
dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LgogPC9wPgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9lbS1tYXJnaW4tYm9yZGVyLXBhZGRpbmcu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1ib3JkZXIt
cGFkZGluZy5odG1sCmluZGV4IDM5NWU4MTRhNjMxMjA4NjM3OGJlYjBmNzA5ZjhkMmExYWQxYzc5
Y2IuLjQ2ZWY1ODM2NzE3MDEwM2U0MDkwZDRiYzcxMmU5ODc0YjNjNTc4OTYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1ib3JkZXItcGFkZGlu
Zy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1i
b3JkZXItcGFkZGluZy5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxz
KSB7CiA8Ym9keT4KIAogPHAgc3R5bGU9Im1hcmdpbjogMWVtOyBib3JkZXI6IDFlbSBzb2xpZCBi
bHVlOyBwYWRkaW5nOiAxZW0iPgotICAgIFRoaXMgdGV4dCBzaG91bGQgZ2V0IGF1dG9zaXplZCB0
byA0MHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSwgYnV0IHRoZSAxZW0gbWFyZ2lucywgYm9yZGVycyBh
bmQgcGFkZGluZyBzaG91bGQgcmVtYWluIGp1c3QgMTZweC4gV2hpbGUgZGViYXRhYmxlLCB0aGlz
IGdlbmVyYWxseSBsb29rcyBtb3JlIGNvbnNpc3RlbnQgdGhhbiBoYXZpbmcgdGhlbSBiZSBzY2Fs
ZWQuPGJyPgorICAgIFRoaXMgdGV4dCBzaG91bGQgZ2V0IGF1dG9zaXplZCB0byAzNS4ycHggY29t
cHV0ZWQgZm9udCBzaXplICgxNiAqIDcwNC8zMjApLCBidXQgdGhlIDFlbSBtYXJnaW5zLCBib3Jk
ZXJzIGFuZCBwYWRkaW5nIHNob3VsZCByZW1haW4ganVzdCAxNnB4LiBXaGlsZSBkZWJhdGFibGUs
IHRoaXMgZ2VuZXJhbGx5IGxvb2tzIG1vcmUgY29uc2lzdGVudCB0aGFuIGhhdmluZyB0aGVtIGJl
IHNjYWxlZC48YnI+CiAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVy
IGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxh
Ym9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVp
cyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4
IGVhIGNvbW1vZG8gY29uc2VxdWF0LgogPC9wPgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3RleHQtYXV0b3NpemluZy93aWRlLWNoaWxkLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWNoaWxkLWV4cGVjdGVkLmh0bWwKaW5kZXggNGIw
MDBmNjcwZWE3MjRjMDlhNmU3YWRiZWRiN2QxMTYzNzNiYjM1Yi4uMDEyNDdhZmJkOWFiN2YxZTli
ODM4OTIxZmVlMjI1MmVkZTk2ZTUyZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
LWF1dG9zaXppbmcvd2lkZS1jaGlsZC1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtY2hpbGQtZXhwZWN0ZWQuaHRtbApAQCAtMTEsOSArMTEs
MTEgQEAgYm9keSB7IHdpZHRoOiA4MDBweDsgbWFyZ2luOiAwOyBvdmVyZmxvdy15OiBoaWRkZW47
IH0KIDwvaGVhZD4KIDxib2R5PgogCi08ZGl2IHN0eWxlPSJ3aWR0aDogMzIwcHg7IGZvbnQtc2l6
ZTogMi41cmVtIj4KLSAgICBUaGlzIHRleHQgc2hvdWxkIGFsbCBiZSBhdXRvc2l6ZWQgdG8gNDBw
eCBjb21wdXRlZCBmb250LXNpemUsIHNpbmNlIGFsdGhvdWdoIHRoaXMgYmxvY2sgaXMgbmFycm93
LCBpdCBoYXMgYSB3aWRlIGNoaWxkIGJsb2NrLCBzbyB0aGUgY2x1c3RlciB3aWxsIGJlIHdpZGUg
YW5kIG5lZWQgYXV0b3NpemluZy4KLSAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogODAwcHgiPgorPGRp
diBzdHlsZT0id2lkdGg6IDMyMHB4OyBmb250LXNpemU6IDFyZW0iPgorCVRoaXMgdGV4dCBzaG91
bGQgbm90IGJlIGF1dG9zaXplZC4KKwk8ZGl2IHN0eWxlPSJ3aWR0aDogODAwcHgiPgorICAgIAlU
aGlzIHRleHQgc2hvdWxkIG5vdCBiZSBhdXRvc2l6ZWQgYXMgd2VsbCBzaW5jZSBpdHMgd2lkdGgg
ZG9lc24ndCBhZmZlY3QgdGhlIHdpZHRoIG9mIHRoZSBwYXJlbnQgYmxvY2suCisgICAgCUZJWE1F
KGF2YXl2b2QpOiBJZGVhbGx5IHRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkLiBXaWxsIG5l
ZWQgdG8gYmUgZml4ZWQgbGF0ZXIuCiAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0
LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5j
aWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KICAgICA8L2Rpdj4KICAg
ICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxp
dCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBt
YWduYSBhbGlxdWEuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Npemlu
Zy93aWRlLWNoaWxkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy93aWRl
LWNoaWxkLmh0bWwKaW5kZXggMGE1YjEyMTRmODA5OTE0NjE0N2I3YjBjZWQzZjkyMTllZjkxNTU1
MS4uMDRiZmVhMWIzNTJjMjE1OWFjMDZkNmRjYjNiMzc2ZWE4MDUzZjA3NyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lkZS1jaGlsZC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtY2hpbGQuaHRtbApAQCAtMjEsOCAr
MjEsMTAgQEAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKIDxib2R5PgogCiA8ZGl2IHN0eWxlPSJ3
aWR0aDogMzIwcHgiPgotICAgIFRoaXMgdGV4dCBzaG91bGQgYWxsIGJlIGF1dG9zaXplZCB0byA0
MHB4IGNvbXB1dGVkIGZvbnQtc2l6ZSwgc2luY2UgYWx0aG91Z2ggdGhpcyBibG9jayBpcyBuYXJy
b3csIGl0IGhhcyBhIHdpZGUgY2hpbGQgYmxvY2ssIHNvIHRoZSBjbHVzdGVyIHdpbGwgYmUgd2lk
ZSBhbmQgbmVlZCBhdXRvc2l6aW5nLgorICAgIFRoaXMgdGV4dCBzaG91bGQgbm90IGJlIGF1dG9z
aXplZC4KICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogODAwcHgiPgorICAgIAlUaGlzIHRleHQgc2hv
dWxkIG5vdCBiZSBhdXRvc2l6ZWQgYXMgd2VsbCBzaW5jZSBpdHMgd2lkdGggZG9lc24ndCBhZmZl
Y3QgdGhlIHdpZHRoIG9mIHRoZSBwYXJlbnQgYmxvY2suCisgICAgCUZJWE1FKGF2YXl2b2QpOiBJ
ZGVhbGx5IHRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkLiBXaWxsIG5lZWQgdG8gYmUgZml4
ZWQgbGF0ZXIuCiAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1
ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBs
YWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KICAgICA8L2Rpdj4KICAgICBMb3JlbSBpcHN1
bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVp
dXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWluLW5h
cnJvdy1vdmVyZmxvdy1zY3JvbGwtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC1hdXRvc2l6aW5nL3dpZGUtaW4tbmFycm93LW92ZXJmbG93LXNjcm9sbC1leHBlY3RlZC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY0MjA0ZWY4NzQ1MmIzNDhjNDMzOTAyZTE3ZmJlZTI0ZGNiOTc2ODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWlu
LW5hcnJvdy1vdmVyZmxvdy1zY3JvbGwtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDMwIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlPgoraHRtbCB7IGZvbnQtc2l6ZTogMTZweDsgfQor
Ym9keSB7IHdpZHRoOiA4MDBweDsgbWFyZ2luOiAwOyBvdmVyZmxvdy15OiBoaWRkZW47IH0KKzwv
c3R5bGU+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJ3aWR0aDogNDAwcHgiPgor
ICA8ZGl2IHN0eWxlPSJvdmVyZmxvdy14OiBzY3JvbGwiPgorICAgIDxkaXYgc3R5bGU9IndpZHRo
OiA4MDBweDsgZm9udC1zaXplOiAxLjI1cmVtIj4KKyAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBi
ZSBhdXRvc2l6ZWQgdG8gMjBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogNDAwLzMyMCksIHNp
bmNlIGl0cyBzY3JvbGwgd2lkdGggaXMgNDAwcHguPGJyPgorICAgICAgICBMb3JlbSBpcHN1bSBk
b2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNt
b2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCisg
ICAgPC9kaXY+CisgIDwvZGl2PgorCisgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMS4yNXJlbSI+
CisgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDIwcHggY29tcHV0ZWQg
Zm9udCBzaXplICgxNiAqIDQwMC8zMjApLjxicj4KKyAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Ig
c2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRl
bXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLgorICA8L2Rp
dj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtaW4tbmFycm93LW92ZXJmbG93LXNjcm9sbC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lkZS1pbi1uYXJyb3ctb3ZlcmZs
b3ctc2Nyb2xsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTE4NTQ0OTBhNjAwZTcwOTMyMzA4ZWQ2OTc0NWUw
MWE1YjhjM2UzOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRv
c2l6aW5nL3dpZGUtaW4tbmFycm93LW92ZXJmbG93LXNjcm9sbC5odG1sCkBAIC0wLDAgKzEsMzkg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGU+CitodG1sIHsgZm9udC1zaXplOiAxNnB4
OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IG92ZXJmbG93LXk6IGhpZGRlbjsg
fQorPC9zdHlsZT4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1ZSk7Cisg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVP
dmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNvbnNvbGUu
d2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhlIFRleHQg
QXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVuZGVyVHJl
ZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1c2UgYSBt
b2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMgb3IgaVBo
b25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tUT1AuIik7
Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9IndpZHRoOiA0
MDBweCI+CisgIDxkaXYgc3R5bGU9Im92ZXJmbG93LXg6IHNjcm9sbCI+CisgICAgPGRpdiBzdHls
ZT0id2lkdGg6IDgwMHB4Ij4KKyAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQg
dG8gMjBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogNDAwLzMyMCksIHNpbmNlIGl0cyBzY3Jv
bGwgd2lkdGggaXMgNDAwcHguPGJyPgorICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1l
dCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGlu
Y2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCisgICAgPC9kaXY+Cisg
IDwvZGl2PgorCisgIDxkaXY+CisgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVk
IHRvIDIwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDQwMC8zMjApLjxicj4KKyAgICAgICAg
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQs
IHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFn
bmEgYWxpcXVhLgorICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176226</attachid>
            <date>2012-11-27 03:57:24 -0800</date>
            <delta_ts>2012-11-27 05:21:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102562-20121127115501.patch</filename>
            <type>text/plain</type>
            <size>30324</size>
            <attacher name="Anton Vayvod">avayvod</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGM5MmVmNDJkYTJhNDA2
ZDg3MmE5YTBjMzdiYjgxYWVlNDNmOWQ1NS4uNTg0YTU2ZDY4MDAxZThkYTk5MjgxMGNmMjVlMWMx
ZjRlMWQyMjliMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTExLTI3ICBBbnRv
biBWYXl2b2QgIDxhdmF5dm9kQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0IEF1dG9zaXpp
bmc6IENsdXN0ZXJzIHNob3VsZCB1c2Ugd2lkdGggb2YgTENBIG9mIHRoZWlyIHRleHQgbm9kZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjU2Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1hbnkgcGFn
ZXMgc2V0IGEgbWF4LXdpZHRoIG9uIHRoZWlyIGNvbnRlbnQuIFNvIGVzcGVjaWFsbHkgZm9yIHRo
ZQorICAgICAgICBSZW5kZXJWaWV3LCBpbnN0ZWFkIG9mIGp1c3QgdGFraW5nIHRoZSB3aWR0aCBv
ZiB8Y2x1c3Rlcnwgd2Ugc2hvdWxkIGZpbmQKKyAgICAgICAgdGhlIGxvd2VzdCBjb21tb24gYW5j
ZXN0b3Igb2YgdGhlIGZpcnN0IGFuZCBsYXN0IGRlc2NlbmRhbnQgdGV4dCBub2RlIG9mCisgICAg
ICAgIHRoZSBjbHVzdGVyIChpLmUuIHRoZSBkZWVwZXN0IHdyYXBwZXIgYmxvY2sgdGhhdCBjb250
YWlucyBhbGwgdGhlIHRleHQpLAorICAgICAgICBhbmQgdXNlIGl0cyB3aWR0aCBpbnN0ZWFkLgor
CisgICAgICAgIFRlc3RzOiBmYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93
LWxjYS1hbmQtY2x1c3Rlci5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQtYXV0b3Npemlu
Zy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQt
YXV0b3NpemluZy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EuaHRtbAorICAgICAgICAgICAgICAgZmFz
dC90ZXh0LWF1dG9zaXppbmcvd2lkZS1pbi1uYXJyb3ctb3ZlcmZsb3ctc2Nyb2xsLmh0bWwKKwor
ICAgICAgICAqIHJlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRleHRBdXRvc2l6ZXI6OnByb2Nlc3NDbHVzdGVyKTogdXNlIHRleHQgbm9kZXMgTENBIGluc3Rl
YWQgb2YgY2x1c3RlciBmb3Igd2lkdGggY2FsY3VsYXRpb24KKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRBdXRvc2l6ZXI6OmlzQXV0b3NpemluZ0NsdXN0ZXIpOiByZXBsYWNlZCBhc3NlcnRpb24gZm9y
IGJlaW5nIGF1dG9zaXppbmcgY29udGFpbmVyIHdpdGggYSBjaGVjaworICAgICAgICAoV2ViQ29y
ZTo6VGV4dEF1dG9zaXplcjo6ZmluZERlZXBlc3RCbG9ja1dpdGhBbGxUZXh0KTogc2VhcmNoZXMg
Zm9yIExDQSBvZiB0ZXh0IG5vZGVzIGlnbm9yaW5nIGRlc2NlbmRhbnQgY2x1c3RlcnMKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRBdXRvc2l6ZXI6OmZpbmRGaXJzdFRleHRMZWFmTm90SW5DbHVzdGVy
KTogc2VhcmNoZXMgZm9yIHRoZSBmaXJzdCB0ZXh0IG5vZGUgaW4tb3JkZXIgaWdub3JpbmcgYW55
IGRlc2NlbmRhbnQgY2x1c3RlcnMKKyAgICAgICAgKFdlYkNvcmU6OlRleHRBdXRvc2l6ZXI6OmZp
bmRMYXN0VGV4dExlYWZOb3RJbkNsdXN0ZXIpOiBzZWFyY2hlcyBmb3IgdGhlIGxhc3QgdGV4dCBu
b2RlIGluLW9yZGVyIGlnbm9yaW5nIGFueSBkZXNjZW5kYW50IGNsdXN0ZXJzCisgICAgICAgIChX
ZWJDb3JlOjpUZXh0QXV0b3NpemVyOjpmaW5kRmluYWxUZXh0TGVhZk5vdEluQ2x1c3Rlcik6IGhl
bHBlciBmdW5jdGlvbiByZWR1Y2luZyBjb2RlIGR1cGxpY2F0aW9uCisgICAgICAgICogcmVuZGVy
aW5nL1RleHRBdXRvc2l6ZXIuaDogbmV3IHByaXZhdGUgbWV0aG9kcyBkZWNsYXJhdGlvbnMKKwog
MjAxMi0xMS0yNiAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBVbnJldmlld2VkLiBGaXggUXQgbWluaW1hbCBjb21waWxhdGlvbiBhZnRlciByMTM1NzEz
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3BwCmluZGV4IDM2MDY3
ZmQ3ODA5ZTljMzg0ZWQ3OGRkMmJmNmMxY2UzNWEyNmI3YjYuLjNjYmRjMzJmN2M2YjM1YjgzOTY0
MDI0NWUwOWMyNWUzZGVlMWFmN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9UZXh0QXV0b3NpemVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1
dG9zaXplci5jcHAKQEAgLTk0LDE1ICs5NCwxNiBAQCB2b2lkIFRleHRBdXRvc2l6ZXI6OnByb2Nl
c3NDbHVzdGVyKFJlbmRlckJsb2NrKiBjbHVzdGVyLCBSZW5kZXJCbG9jayogY29udGFpbmVyLAog
ewogICAgIEFTU0VSVChpc0F1dG9zaXppbmdDbHVzdGVyKGNsdXN0ZXIpKTsKIAotICAgIC8vIEZJ
WE1FOiBNYW55IHBhZ2VzIHNldCBhIG1heC13aWR0aCBvbiB0aGVpciBjb250ZW50LiBTbyBlc3Bl
Y2lhbGx5IGZvciB0aGUgUmVuZGVyVmlldywKLSAgICAvLyBpbnN0ZWFkIG9mIGp1c3QgdGFraW5n
IHRoZSB3aWR0aCBvZiB8Y2x1c3Rlcnwgd2Ugc2hvdWxkIGZpbmQgdGhlIGxvd2VzdCBjb21tb24g
YW5jZXN0b3Igb2YKLSAgICAvLyB0aGUgZmlyc3QgYW5kIGxhc3QgZGVzY2VuZGFudCB0ZXh0IG5v
ZGUgb2YgdGhlIGNsdXN0ZXIgKGkuZS4gdGhlIGRlZXBlc3Qgd3JhcHBlciBibG9jayB0aGF0Ci0g
ICAgLy8gY29udGFpbnMgYWxsIHRoZSB0ZXh0KSwgYW5kIHVzZSBpdHMgd2lkdGggaW5zdGVhZC4K
LSAgICBSZW5kZXJCbG9jayogbG93ZXN0Q29tbW9uQW5jZXN0b3IgPSBjbHVzdGVyOworICAgIC8v
IE1hbnkgcGFnZXMgc2V0IGEgbWF4LXdpZHRoIG9uIHRoZWlyIGNvbnRlbnQuIFNvIGVzcGVjaWFs
bHkgZm9yIHRoZQorICAgIC8vIFJlbmRlclZpZXcsaW5zdGVhZCBvZiBqdXN0IHRha2luZyB0aGUg
d2lkdGggb2YgfGNsdXN0ZXJ8IHdlIHNob3VsZCBmaW5kCisgICAgLy8gdGhlIGxvd2VzdCBjb21t
b24gYW5jZXN0b3Igb2YgdGhlIGZpcnN0IGFuZCBsYXN0IGRlc2NlbmRhbnQgdGV4dCBub2RlIG9m
CisgICAgLy8gdGhlIGNsdXN0ZXIgKGkuZS4gdGhlIGRlZXBlc3Qgd3JhcHBlciBibG9jayB0aGF0
IGNvbnRhaW5zIGFsbCB0aGUgdGV4dCksCisgICAgLy8gYW5kIHVzZSBpdHMgd2lkdGggaW5zdGVh
ZC4KKyAgICBSZW5kZXJCbG9jayogbG93ZXN0Q29tbW9uQW5jZXN0b3IgPSBmaW5kRGVlcGVzdEJs
b2NrV2l0aEFsbFRleHQoY2x1c3Rlcik7CiAgICAgZmxvYXQgY29tbW9uQW5jZXN0b3JXaWR0aCA9
IGxvd2VzdENvbW1vbkFuY2VzdG9yLT5jb250ZW50TG9naWNhbFdpZHRoKCk7CiAKICAgICBmbG9h
dCBtdWx0aXBsaWVyID0gMTsKLSAgICBpZiAoY2x1c3RlclNob3VsZEJlQXV0b3NpemVkKGxvd2Vz
dENvbW1vbkFuY2VzdG9yLCBjb21tb25BbmNlc3RvcldpZHRoKSkgeworICAgIGlmIChjbHVzdGVy
U2hvdWxkQmVBdXRvc2l6ZWQoY2x1c3RlciwgY29tbW9uQW5jZXN0b3JXaWR0aCkpIHsKICAgICAg
ICAgaW50IGxvZ2ljYWxXaW5kb3dXaWR0aCA9IGNsdXN0ZXItPmlzSG9yaXpvbnRhbFdyaXRpbmdN
b2RlKCkgPyB3aW5kb3dJbmZvLndpbmRvd1NpemUud2lkdGgoKSA6IHdpbmRvd0luZm8ud2luZG93
U2l6ZS5oZWlnaHQoKTsKICAgICAgICAgaW50IGxvZ2ljYWxMYXlvdXRXaWR0aCA9IGNsdXN0ZXIt
PmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyB3aW5kb3dJbmZvLm1pbkxheW91dFNpemUud2lk
dGgoKSA6IHdpbmRvd0luZm8ubWluTGF5b3V0U2l6ZS5oZWlnaHQoKTsKICAgICAgICAgLy8gSWdu
b3JlIGJveCB3aWR0aCBpbiBleGNlc3Mgb2YgdGhlIGxheW91dCB3aWR0aCwgdG8gYXZvaWQgZXh0
cmVtZSBtdWx0aXBsaWVycy4KQEAgLTIyNiw3ICsyMjcsOCBAQCBib29sIFRleHRBdXRvc2l6ZXI6
OmlzQXV0b3NpemluZ0NsdXN0ZXIoY29uc3QgUmVuZGVyQmxvY2sqIHJlbmRlcmVyKQogICAgIC8v
IGZyb20gdGhlIGJveCdzIHBhcmVudCAod2Ugd2FudCB0byBhdm9pZCBoYXZpbmcgc2lnbmlmaWNh
bnRseSBkaWZmZXJlbnQKICAgICAvLyB3aWR0aCBibG9ja3Mgd2l0aGluIGEgY2x1c3Rlciwgc2lu
Y2UgdGhlIG5hcnJvd2VyIGJsb2NrcyB3b3VsZCBlbmQgdXAKICAgICAvLyBsYXJnZXIgdGhhbiB3
b3VsZCBvdGhlcndpc2UgYmUgbmVjZXNzYXJ5KS4KLSAgICBBU1NFUlQoaXNBdXRvc2l6aW5nQ29u
dGFpbmVyKHJlbmRlcmVyKSk7CisgICAgaWYgKCFpc0F1dG9zaXppbmdDb250YWluZXIocmVuZGVy
ZXIpKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICByZXR1cm4gcmVuZGVyZXItPmlzUmVu
ZGVyVmlldygpCiAgICAgICAgIHx8IHJlbmRlcmVyLT5pc0Zsb2F0aW5nKCkKQEAgLTI5Nyw2ICsy
OTksODMgQEAgUmVuZGVyT2JqZWN0KiBUZXh0QXV0b3NpemVyOjpuZXh0SW5QcmVPcmRlclNraXBw
aW5nRGVzY2VuZGFudHNPZkNvbnRhaW5lcnMoY29uc3QKICAgICByZXR1cm4gMDsKIH0KIAorUmVu
ZGVyQmxvY2sqIFRleHRBdXRvc2l6ZXI6OmZpbmREZWVwZXN0QmxvY2tXaXRoQWxsVGV4dChSZW5k
ZXJCbG9jayogY2x1c3RlcikKK3sKKyAgICBBU1NFUlQoaXNBdXRvc2l6aW5nQ2x1c3RlcihjbHVz
dGVyKSk7CisgICAgaWYgKGNsdXN0ZXItPmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGNsdXN0
ZXI7CisKKyAgICBzaXplX3QgZmlyc3REZXB0aCA9IDA7CisgICAgUmVuZGVyT2JqZWN0KiBmaXJz
dFRleHRMZWFmID0gZmluZEZpcnN0VGV4dExlYWZOb3RJbkNsdXN0ZXIoY2x1c3RlciwgZmlyc3RE
ZXB0aCk7CisgICAgaWYgKCFmaXJzdFRleHRMZWFmKQorICAgICAgICByZXR1cm4gY2x1c3RlcjsK
KworICAgIHNpemVfdCBsYXN0RGVwdGggPSAwOworICAgIFJlbmRlck9iamVjdCogbGFzdFRleHRM
ZWFmID0gZmluZExhc3RUZXh0TGVhZk5vdEluQ2x1c3RlcihjbHVzdGVyLCBsYXN0RGVwdGgpOwor
ICAgIEFTU0VSVChsYXN0VGV4dExlYWYpOworCisgICAgLy8gRGV0ZXJtaW5lIHdoaWNoIG5vZGUg
aXMgbG93ZXIuCisgICAgUmVuZGVyT2JqZWN0KiBsb3dlciA9IGZpcnN0VGV4dExlYWY7CisgICAg
UmVuZGVyT2JqZWN0KiBoaWdoZXIgPSBsYXN0VGV4dExlYWY7CisgICAgc2l6ZV90IGxvd2VyRGVw
dGggPSBmaXJzdERlcHRoOworICAgIHNpemVfdCBoaWdoZXJEZXB0aCA9IGxhc3REZXB0aDsKKyAg
ICBpZiAoZmlyc3REZXB0aCA8IGxhc3REZXB0aCkgeworICAgICAgICBzdGQ6OnN3YXAobG93ZXIs
IGhpZ2hlcik7CisgICAgICAgIHN0ZDo6c3dhcChsb3dlckRlcHRoLCBoaWdoZXJEZXB0aCk7Cisg
ICAgfQorCisgICAgLy8gRXF1YWxpemUgdGhlIGRlcHRocy4KKyAgICB3aGlsZSAobG93ZXJEZXB0
aCA+IGhpZ2hlckRlcHRoKSB7CisgICAgICAgIGxvd2VyID0gbG93ZXItPnBhcmVudCgpOworICAg
ICAgICAtLWxvd2VyRGVwdGg7CisgICAgfQorCisgICAgLy8gR28gdXAgZnJvbSBib3RoIG5vZGVz
IHVudGlsIHRoZSBwYXJlbnQgaXMgdGhlIHNhbWUuCisgICAgd2hpbGUgKGxvd2VyICE9IGhpZ2hl
cikgeworICAgICAgICBsb3dlciA9IGxvd2VyLT5wYXJlbnQoKTsKKyAgICAgICAgaGlnaGVyID0g
aGlnaGVyLT5wYXJlbnQoKTsKKyAgICB9CisKKyAgICBSZW5kZXJCbG9jayogYmxvY2tXaXRoQWxs
VGV4dCA9IDA7CisgICAgaWYgKGxvd2VyLT5pc1JlbmRlckJsb2NrKCkpCisgICAgICAgIGJsb2Nr
V2l0aEFsbFRleHQgPSB0b1JlbmRlckJsb2NrKGxvd2VyKTsKKyAgICBlbHNlCisgICAgICAgIGJs
b2NrV2l0aEFsbFRleHQgPSBsb3dlci0+Y29udGFpbmluZ0Jsb2NrKCk7CisKKyAgICBBU1NFUlQo
YmxvY2tXaXRoQWxsVGV4dC0+aXNEZXNjZW5kYW50T2YoY2x1c3RlcikpOworCisgICAgcmV0dXJu
IGJsb2NrV2l0aEFsbFRleHQ7Cit9CisKK1JlbmRlck9iamVjdCogVGV4dEF1dG9zaXplcjo6Zmlu
ZEZpcnN0VGV4dExlYWZOb3RJbkNsdXN0ZXIoUmVuZGVyT2JqZWN0KiBwYXJlbnQsIHNpemVfdCYg
ZGVwdGgpCit7CisgICAgcmV0dXJuIGZpbmRGaW5hbFRleHRMZWFmTm90SW5DbHVzdGVyKHBhcmVu
dCwgZGVwdGgsICZSZW5kZXJPYmplY3Q6OmZpcnN0Q2hpbGQsICZSZW5kZXJPYmplY3Q6Om5leHRT
aWJsaW5nKTsKK30KKworUmVuZGVyT2JqZWN0KiBUZXh0QXV0b3NpemVyOjpmaW5kTGFzdFRleHRM
ZWFmTm90SW5DbHVzdGVyKFJlbmRlck9iamVjdCogcGFyZW50LCBzaXplX3QmIGRlcHRoKQorewor
ICAgIHJldHVybiBmaW5kRmluYWxUZXh0TGVhZk5vdEluQ2x1c3RlcihwYXJlbnQsIGRlcHRoLCAm
UmVuZGVyT2JqZWN0OjpsYXN0Q2hpbGQsICZSZW5kZXJPYmplY3Q6OnByZXZpb3VzU2libGluZyk7
Cit9CisKK1JlbmRlck9iamVjdCogVGV4dEF1dG9zaXplcjo6ZmluZEZpbmFsVGV4dExlYWZOb3RJ
bkNsdXN0ZXIoUmVuZGVyT2JqZWN0KiBwYXJlbnQsIHNpemVfdCYgZGVwdGgsIFJlbmRlck9iamVj
dCogKFJlbmRlck9iamVjdDo6KmdldEZpcnN0Q2hpbGRNZXRob2QpKCkgY29uc3QsIFJlbmRlck9i
amVjdCogKFJlbmRlck9iamVjdDo6KmdldE5leHRTaWJsaW5nTWV0aG9kKSgpIGNvbnN0KQorewor
ICAgIGlmIChwYXJlbnQtPmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHBhcmVudC0+aXNUZXh0
KCkgPyBwYXJlbnQgOiAwOworCisgICAgKytkZXB0aDsKKyAgICBmb3IgKFJlbmRlck9iamVjdCog
Y2hpbGQgPSAocGFyZW50LT4qZ2V0Rmlyc3RDaGlsZE1ldGhvZCkoKTsgY2hpbGQ7IGNoaWxkID0g
KGNoaWxkLT4qZ2V0TmV4dFNpYmxpbmdNZXRob2QpKCkpIHsKKyAgICAgICAgaWYgKGNoaWxkLT5p
c1JlbmRlckJsb2NrKCkgJiYgaXNBdXRvc2l6aW5nQ2x1c3Rlcih0b1JlbmRlckJsb2NrKGNoaWxk
KSkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBSZW5kZXJPYmplY3QqIGxlYWYg
PSBmaW5kRmluYWxUZXh0TGVhZk5vdEluQ2x1c3RlcihjaGlsZCwgZGVwdGgsIGdldEZpcnN0Q2hp
bGRNZXRob2QsIGdldE5leHRTaWJsaW5nTWV0aG9kKTsKKyAgICAgICAgaWYgKGxlYWYpCisgICAg
ICAgICAgICByZXR1cm4gbGVhZjsKKyAgICB9CisgICAgLS1kZXB0aDsKKworICAgIHJldHVybiAw
OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoVEVYVF9B
VVRPU0laSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRv
c2l6ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmgKaW5kZXgg
MmUyZTcwZTZiMDI4NDUwNzEzYmE2ZmFjMmRhMTI4YjU3YWVlYTBkMy4uNzliNDEyZjIyYzk4N2Nl
MWNmZGViNTYyZTY3MDYxOWRiODUwOGFmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1RleHRBdXRvc2l6ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4
dEF1dG9zaXplci5oCkBAIC03MSw2ICs3MSwxNiBAQCBwcml2YXRlOgogICAgIC8vIFVzZSB0byB0
cmF2ZXJzZSB0aGUgdHJlZSBvZiBkZXNjZW5kYW50cywgZXhjbHVkaW5nIGRlc2NlbmRhbnRzIG9m
IGNvbnRhaW5lcnMgKGJ1dCByZXR1cm5pbmcgdGhlIGNvbnRhaW5lcnMgdGhlbXNlbHZlcykuCiAg
ICAgc3RhdGljIFJlbmRlck9iamVjdCogbmV4dEluUHJlT3JkZXJTa2lwcGluZ0Rlc2NlbmRhbnRz
T2ZDb250YWluZXJzKGNvbnN0IFJlbmRlck9iamVjdCogY3VycmVudCwgY29uc3QgUmVuZGVyT2Jq
ZWN0KiBzdGF5V2l0aGluKTsKIAorICAgIC8vIEZpbmRzIHRoZSBsb3dlc3QgY29tbW9uIGFuY2Vz
dG9yIG9mIHRoZSBmaXJzdCBhbmQgdGhlIGxhc3QgZGVzY2VuZGFudAorICAgIC8vIHRleHQgbm9k
ZSAoZXhjbHVkaW5nIHRob3NlIGJlbG9uZ2luZyB0byBvdGhlciBhdXRvc2l6aW5nIGNsdXN0ZXJz
KS4KKyAgICBzdGF0aWMgUmVuZGVyQmxvY2sqIGZpbmREZWVwZXN0QmxvY2tXaXRoQWxsVGV4dChS
ZW5kZXJCbG9jayogY2x1c3Rlcik7CisKKyAgICAvLyBGaW5kcyB0aGUgZmlyc3QgbGVhZiB0ZXh0
IG5vZGUgY2hpbGQgdGhhdCBkb2Vzbid0IGJlbG9uZyB0byBhbnkgY2x1c3Rlci4KKyAgICBzdGF0
aWMgUmVuZGVyT2JqZWN0KiBmaW5kRmlyc3RUZXh0TGVhZk5vdEluQ2x1c3RlcihSZW5kZXJPYmpl
Y3QqIHBhcmVudCwgc2l6ZV90JiBkZXB0aCk7CisgICAgLy8gRmluZHMgdGhlIGxhc3QgbGVhZiB0
ZXh0IG5vZGUgY2hpbGQgdGhhdCBkb2Vzbid0IGJlbG9uZyB0byBhbnkgY2x1c3Rlci4KKyAgICBz
dGF0aWMgUmVuZGVyT2JqZWN0KiBmaW5kTGFzdFRleHRMZWFmTm90SW5DbHVzdGVyKFJlbmRlck9i
amVjdCogcGFyZW50LCBzaXplX3QmIGRlcHRoKTsKKyAgICBzdGF0aWMgUmVuZGVyT2JqZWN0KiBm
aW5kRmluYWxUZXh0TGVhZk5vdEluQ2x1c3RlcihSZW5kZXJPYmplY3QqIHBhcmVudCwgc2l6ZV90
JiBkZXB0aCwgUmVuZGVyT2JqZWN0KiAoUmVuZGVyT2JqZWN0OjoqZ2V0Rmlyc3RDaGlsZE1ldGhv
ZCkoKSBjb25zdCwgUmVuZGVyT2JqZWN0KiAoUmVuZGVyT2JqZWN0OjoqZ2V0TmV4dFNpYmxpbmdN
ZXRob2QpKCkgY29uc3QpOworCiAgICAgRG9jdW1lbnQqIG1fZG9jdW1lbnQ7CiB9OwogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggMzhmOTQ4ZDhlOGYwOGJhZmFlNTc5MTc5NThmNDI5MDU0Mzg2OTU1My4uNmY4YTFhZmU4M2Uy
N2U4MzM3YTQwNmE4ZDY2OGI5ZTVlOGU0ZDQwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEy
LTExLTI3ICBBbnRvbiBWYXl2b2QgIDxhdmF5dm9kQGNocm9taXVtLm9yZz4KKworICAgICAgICBU
ZXh0IEF1dG9zaXppbmc6IENsdXN0ZXJzIHNob3VsZCB1c2Ugd2lkdGggb2YgTENBIG9mIHRoZWly
IHRleHQgbm9kZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwMjU2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE1hbnkgcGFnZXMgc2V0IGEgbWF4LXdpZHRoIG9uIHRoZWlyIGNvbnRlbnQuIFNvIGVzcGVj
aWFsbHkgZm9yIHRoZQorICAgICAgICBSZW5kZXJWaWV3LGluc3RlYWQgb2YganVzdCB0YWtpbmcg
dGhlIHdpZHRoIG9mIHxjbHVzdGVyfCB3ZSBzaG91bGQgZmluZAorICAgICAgICB0aGUgbG93ZXN0
IGNvbW1vbiBhbmNlc3RvciBvZiB0aGUgZmlyc3QgYW5kIGxhc3QgZGVzY2VuZGFudCB0ZXh0IG5v
ZGUgb2YKKyAgICAgICAgdGhlIGNsdXN0ZXIgKGkuZS4gdGhlIGRlZXBlc3Qgd3JhcHBlciBibG9j
ayB0aGF0IGNvbnRhaW5zIGFsbCB0aGUgdGV4dCksCisgICAgICAgIGFuZCB1c2UgaXRzIHdpZHRo
IGluc3RlYWQuCisgICAgICAgIEhhZCB0byB1cGRhdGUgYSBjb3VwbGUgb2YgdGVzdHMgc2luY2Ug
dGhlIGFjdHVhbCB3aWR0aCBmb3IgZm9udCBzaXplIG11bHRpcGxpZXIKKyAgICAgICAgY2FsY3Vs
YXRpb24gaGFzIGJlZW4gY2hhbmdlZCBieSB0aGUgcGF0Y2guCisKKyAgICAgICAgKiBmYXN0L3Rl
eHQtYXV0b3NpemluZy9jbHVzdGVyLXdpZGUtaW4tbmFycm93LWV4cGVjdGVkLmh0bWw6CisgICAg
ICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aWRlLWluLW5hcnJvdy5odG1sOgor
ICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWFu
ZC1jbHVzdGVyLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRv
c2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWFuZC1jbHVzdGVyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWV4
cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0
ZXItd2l0aC1uYXJyb3ctbGNhLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRv
c2l6aW5nL2NsdXN0ZXItd2l0aC13aWRlLWxjYS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvZW0tbWFyZ2luLWJvcmRlci1wYWRk
aW5nLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvZW0tbWFy
Z2luLWJvcmRlci1wYWRkaW5nLmh0bWw6CisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcv
d2lkZS1jaGlsZC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5n
L3dpZGUtY2hpbGQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWlu
LW5hcnJvdy1vdmVyZmxvdy1zY3JvbGwtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lkZS1pbi1uYXJyb3ctb3ZlcmZsb3ctc2Nyb2xsLmh0bWw6
IEFkZGVkLgorCiAyMDEyLTExLTI2ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IG9iamVjdCBwcmV2aWV3IGRvZXMgbm90IHJl
bmRlciBub2RlIGlkLCBjbGFzc05hbWU7IGxvZ3MgdG9vIG1hbnkgZnVuY3Rpb25zIGZvciBqUXVl
cnkuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVy
LXdpZGUtaW4tbmFycm93LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0
b3NpemluZy9jbHVzdGVyLXdpZGUtaW4tbmFycm93LWV4cGVjdGVkLmh0bWwKaW5kZXggNmNmZjA2
ZTQ0OGIyZjc1ODNiZGEyMDM0M2VlYmRlMjI1YzY0NjU3MC4uMmExMDNhNDI5OWIzYjg3NTg0NWJj
MGEzNmRiZGZmMDkzOTRmMzIxMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1
dG9zaXppbmcvY2x1c3Rlci13aWRlLWluLW5hcnJvdy1leHBlY3RlZC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2lkZS1pbi1uYXJyb3ctZXhwZWN0
ZWQuaHRtbApAQCAtMTcsOCArMTcsOCBAQCBib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7
IG92ZXJmbG93LXk6IGhpZGRlbjsgfQogICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1l
dCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGlu
Y2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCiAgICAgPC9kaXY+CiAK
LSAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogODAwcHg7IGZvbnQtc2l6ZTogMS4yNXJlbSI+Ci0gICAg
ICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIGp1c3QgMjBweCBjb21wdXRlZCBm
b250LXNpemUgKDE2ICogNDAwLzMyMCksIHNpbmNlIGRlc3BpdGUgaXRzIHdpZHRoOjgwMHB4IGl0
IGlzIHBhcnQgb2YgdGhlIDQwMHB4IHdpZGUgcm9vdCBjbHVzdGVyLjxicj4KKyAgICA8ZGl2IHN0
eWxlPSJ3aWR0aDogNjAwcHg7IGZvbnQtc2l6ZTogMS4yNXJlbSI+CisgICAgICAgIFRoaXMgdGV4
dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDIwcHggY29tcHV0ZWQgZm9udC1zaXplICgxNiAqIDQw
MC8zMjApLCBzaW5jZSB0aGUgd2lkdGggb2YgdGhlIHBhcmVudCBkaXYgaXMgdXNlZCBmb3IgdGV4
dCBhdXRvc2l6aW5nLjxicj4KICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNv
bnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlk
dW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLgogICAgIDwvZGl2PgogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpZGUtaW4t
bmFycm93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdp
ZGUtaW4tbmFycm93Lmh0bWwKaW5kZXggYjJlZjAxMDdjOWVjNjZjNzIzYWU5NmZiNDQ2OTZiZjMx
NjE0NDdjYy4uNzBiNWMwZjdjNjBhY2E4OTE2MjMzYWNiZWEyOTgwNTNlMzY5MWY5NiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aWRlLWluLW5h
cnJvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXIt
d2lkZS1pbi1uYXJyb3cuaHRtbApAQCAtMjYsOCArMjYsOCBAQCBpZiAod2luZG93LmludGVybmFs
cykgewogICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRp
cGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3Jl
IGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCiAgICAgPC9kaXY+CiAKLSAgICA8ZGl2IHN0eWxlPSJ3
aWR0aDogODAwcHgiPgotICAgICAgICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byBq
dXN0IDIwcHggY29tcHV0ZWQgZm9udC1zaXplICgxNiAqIDQwMC8zMjApLCBzaW5jZSBkZXNwaXRl
IGl0cyB3aWR0aDo4MDBweCBpdCBpcyBwYXJ0IG9mIHRoZSA0MDBweCB3aWRlIHJvb3QgY2x1c3Rl
ci48YnI+CisgICAgPGRpdiBzdHlsZT0id2lkdGg6IDYwMHB4Ij4KKyAgICAgICAgVGhpcyB0ZXh0
IHNob3VsZCBiZSBhdXRvc2l6ZWQgdG8gMjBweCBjb21wdXRlZCBmb250LXNpemUgKDE2ICogNDAw
LzMyMCksIHNpbmNlIHRoZSB3aWR0aCBvZiB0aGUgcGFyZW50IGRpdiBpcyB1c2VkIGZvciB0ZXh0
IGF1dG9zaXppbmcuPGJyPgogICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29u
c2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1
bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCiAgICAgPC9kaXY+CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJy
b3ctbGNhLWFuZC1jbHVzdGVyLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQt
YXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS1hbmQtY2x1c3Rlci1leHBlY3RlZC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjI3Yzk0ZjJlMjc0ZmRiNmU1ZDc5MDc1YzY5YTczZGU1OWVjMzBkNTYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVz
dGVyLXdpdGgtbmFycm93LWxjYS1hbmQtY2x1c3Rlci1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEs
MzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGU+CitodG1sIHsgZm9udC1zaXplOiAx
NnB4OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBvdmVyZmxvdy15OiBoaWRkZW47IH0KKzwvc3R5
bGU+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJ3aWR0aDogNDAwcHgiID4KKyAg
PGRpdiBzdHlsZT0iZm9udC1zaXplOiAxLjI1cmVtIiA+CisgICAgVGhpcyB0ZXh0IHNob3VsZCBi
ZSBhdXRvc2l6ZWQgdG8ganVzdCAyMHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSAoMTYgKiA0MDAvMzIw
KSwgc2luY2UgdGhlIHdpZHRoIG9mIHRoZSBsZWFzdCBjb21tb24gYW5jZXN0b3IgaXMgdXNlZCBm
b3IgbXVsdGlwbGllciBjYWxjdWxhdGlvbi4KKyAgPC9kaXY+CisKKyAgPGRpdiBzdHlsZT0iZm9u
dC1zaXplOiAxLjI1cmVtIiA+CisgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBzaW1pbGFybHkgYXV0
b3NpemVkIHRvIDIwcHguCisgIDwvZGl2PgorPC9kaXY+Cis8ZGl2IHN0eWxlPSJmbG9hdDogbGVm
dDsgd2lkdGg6IDgwMHB4OyBmb250LXNpemU6IDIuNXJlbSIgPgorICBUaGlzIHRleHQgc2hvdWxk
IGJlIGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSAoMTYgKiA4MDAvMzIwKS4g
SXQgc2hvdWxkIG5vdCBhZmZlY3QgYXV0b3NpemluZyBmb3IgdGV4dCBhYm92ZSB0aG91Z2ggc2lu
Y2UgaXQncyBhbm90aGVyIGNsdXN0ZXIuCisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQs
IGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNp
ZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmlt
IHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1
dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3Ig
aW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1
IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0
IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQg
YW5pbSBpZCBlc3QgbGFib3J1bS4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJy
b3ctbGNhLWFuZC1jbHVzdGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Npemlu
Zy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS1hbmQtY2x1c3Rlci5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2
NDgwMDJhMmJiMzUyMjYwNmFhY2RkZDUzODY2NTQ5MmZmZDUzMGEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93LWxj
YS1hbmQtY2x1c3Rlci5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+
Cis8c3R5bGU+CitodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4
OyBvdmVyZmxvdy15OiBoaWRkZW47IH0KKzwvc3R5bGU+CisKKzxzY3JpcHQ+CitpZiAod2luZG93
LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9z
aXppbmdFbmFibGVkKHRydWUpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4
dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0ODApOworfSBlbHNlIGlmICh3aW5k
b3cuY29uc29sZSAmJiBjb25zb2xlLndhcm4pIHsKKyAgICBjb25zb2xlLndhcm4oIlRoaXMgdGVz
dCBkZXBlbmRzIG9uIHRoZSBUZXh0IEF1dG9zaXppbmcgc2V0dGluZyBiZWluZyB0cnVlLCBzbyBy
dW4gaXQgaW4gRHVtcFJlbmRlclRyZWUsIG9yIG1hbnVhbGx5IGVuYWJsZSBUZXh0IEF1dG9zaXpp
bmcsIGFuZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRldmljZSB3aXRoIDMyMHB4IGRldmljZS13aWR0
aCAobGlrZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9yIGRlZmluZSBIQUNLX0ZPUkNFX1RFWFRfQVVU
T1NJWklOR19PTl9ERVNLVE9QLiIpOworfQorPC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5Pgor
Cis8ZGl2IHN0eWxlPSJ3aWR0aDogNDAwcHgiID4KKyAgPGRpdj4KKyAgICBUaGlzIHRleHQgc2hv
dWxkIGJlIGF1dG9zaXplZCB0byBqdXN0IDIwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDQw
MC8zMjApLCBzaW5jZSB0aGUgd2lkdGggb2YgdGhlIGxlYXN0IGNvbW1vbiBhbmNlc3RvciBpcyB1
c2VkIGZvciBtdWx0aXBsaWVyIGNhbGN1bGF0aW9uLgorICA8L2Rpdj4KKworICA8ZGl2PgorICAg
IFRoaXMgdGV4dCBzaG91bGQgYmUgc2ltaWxhcmx5IGF1dG9zaXplZCB0byAyMHB4LgorICA8L2Rp
dj4KKzwvZGl2PgorPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiA4MDBweCIgPgorICBU
aGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSAo
MTYgKiA4MDAvMzIwKS4gSXQgc2hvdWxkIG5vdCBhZmZlY3QgYXV0b3NpemluZyBmb3IgdGV4dCBh
Ym92ZSB0aG91Z2ggc2luY2UgaXQncyBhbm90aGVyIGNsdXN0ZXIuCisgICAgTG9yZW0gaXBzdW0g
ZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVz
bW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBV
dCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNv
IGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiBEdWlzIGF1
dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBj
aWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2Nj
YWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBxdWkgb2ZmaWNpYSBk
ZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KKzwvZGl2PgorCis8L2JvZHk+Cis8
L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2Ns
dXN0ZXItd2l0aC1uYXJyb3ctbGNhLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS1leHBlY3RlZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjQyNmZmYzM3NGFkNDkyYjY2OTUxYTEyMWMzNTM1M2ZhMjVjNGYyMDQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgt
bmFycm93LWxjYS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjUgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PTgwMCI+Cis8c3R5bGU+CitodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9Citib2R5IHsgd2lkdGg6
IDgwMHB4OyBvdmVyZmxvdy15OiBoaWRkZW47IH0KKzwvc3R5bGU+CisKKzwvaGVhZD4KKzxib2R5
PgorCis8ZGl2IHN0eWxlPSJ3aWR0aDogNDAwcHgiPgorICA8ZGl2IHN0eWxlPSJmb250LXNpemU6
IDEuMjVyZW0iPgorICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIGp1c3QgMjBw
eCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogNDAwLzMyMCksIHNpbmNlIHRoZSB3aWR0aCBvZiB0
aGUgbGVhc3QgY29tbW9uIGFuY2VzdG9yIGlzIHVzZWQgZm9yIG11bHRpcGxpZXIgY2FsY3VsYXRp
b24uCisgIDwvZGl2PgorCisgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMS4yNXJlbSI+CisgICAg
VGhpcyB0ZXh0IHNob3VsZCBiZSBzaW1pbGFybHkgYXV0b3NpemVkIHRvIDIwcHguCisgIDwvZGl2
PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjM5YjVhY2I1ODZhNDRjOTJmOTlmNjRkOGJmNjhhMDkxNDIzZTA1MmUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdp
dGgtbmFycm93LWxjYS5odG1sCkBAIC0wLDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+
Cis8c3R5bGU+CitodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4
OyBvdmVyZmxvdy15OiBoaWRkZW47IH0KKzwvc3R5bGU+CisKKzxzY3JpcHQ+CitpZiAod2luZG93
LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9z
aXppbmdFbmFibGVkKHRydWUpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4
dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0ODApOworfSBlbHNlIGlmICh3aW5k
b3cuY29uc29sZSAmJiBjb25zb2xlLndhcm4pIHsKKyAgICBjb25zb2xlLndhcm4oIlRoaXMgdGVz
dCBkZXBlbmRzIG9uIHRoZSBUZXh0IEF1dG9zaXppbmcgc2V0dGluZyBiZWluZyB0cnVlLCBzbyBy
dW4gaXQgaW4gRHVtcFJlbmRlclRyZWUsIG9yIG1hbnVhbGx5IGVuYWJsZSBUZXh0IEF1dG9zaXpp
bmcsIGFuZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRldmljZSB3aXRoIDMyMHB4IGRldmljZS13aWR0
aCAobGlrZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9yIGRlZmluZSBIQUNLX0ZPUkNFX1RFWFRfQVVU
T1NJWklOR19PTl9ERVNLVE9QLiIpOworfQorPC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5Pgor
Cis8ZGl2IHN0eWxlPSJ3aWR0aDogNDAwcHgiID4KKyAgPGRpdj4KKyAgICBUaGlzIHRleHQgc2hv
dWxkIGJlIGF1dG9zaXplZCB0byBqdXN0IDIwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDQw
MC8zMjApLCBzaW5jZSB0aGUgd2lkdGggb2YgdGhlIGxlYXN0IGNvbW1vbiBhbmNlc3RvciBpcyB1
c2VkIGZvciBtdWx0aXBsaWVyIGNhbGN1bGF0aW9uLgorICA8L2Rpdj4KKworICA8ZGl2PgorICAg
IFRoaXMgdGV4dCBzaG91bGQgYmUgc2ltaWxhcmx5IGF1dG9zaXplZCB0byAyMHB4LgorICA8L2Rp
dj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EtZXhwZWN0ZWQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC13aWRlLWxjYS1l
eHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRkMGM3ZDY3MWQzOTA4MThhNTYzMTM4NzAyYjNkZDQy
ZTk1YTU1NzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Np
emluZy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDMwIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlPgoraHRtbCB7IGZvbnQtc2l6ZTogMTZweDsg
fQorYm9keSB7IHdpZHRoOiA4MDBweDsgb3ZlcmZsb3cteTogaGlkZGVuOyB9Cis8L3N0eWxlPgor
Cis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHlsZT0id2lkdGg6IDQwMHB4IiA+CisgIDxkaXYg
c3R5bGU9ImZvbnQtc2l6ZTogMi41cmVtIiA+CisgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRv
c2l6ZWQgdG8gNDBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogODAwLzMyMCkuCisgIDwvZGl2
PgorCisgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMi41cmVtIiA+CisgICAgVGhpcyB0ZXh0IHNo
b3VsZCBiZSBzaW1pbGFybHkgYXV0b3NpemVkIHRvIDQwcHguCisgIDwvZGl2PgorPC9kaXY+Cis8
ZGl2IHN0eWxlPSJ3aWR0aDogODAwcHg7IGZvbnQtc2l6ZTogMi41cmVtIiA+CisgIFRoaXMgdGV4
dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDgw
MC8zMjApLgorICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlz
aWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0
IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3Ry
dWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29t
bW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGlu
IHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBhcmlh
dHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50
IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVt
LgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLXdpZGUtbGNhLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mZjA1ZGFlZGY3OTg1MGFiMWFkYmFiMDIxNzQ5NzY0ZDAxYjQxNDZjCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRo
LXdpZGUtbGNhLmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxz
dHlsZT4KK2h0bWwgeyBmb250LXNpemU6IDE2cHg7IH0KK2JvZHkgeyB3aWR0aDogODAwcHg7IG92
ZXJmbG93LXk6IGhpZGRlbjsgfQorPC9zdHlsZT4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50
ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3Npemlu
Z0VuYWJsZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0
b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5j
b25zb2xlICYmIGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRl
cGVuZHMgb24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBp
dCBpbiBEdW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywg
YW5kIGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChs
aWtlIE5leHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0la
SU5HX09OX0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxk
aXYgc3R5bGU9IndpZHRoOiA0MDBweCIgPgorICA8ZGl2PgorICAgIFRoaXMgdGV4dCBzaG91bGQg
YmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDgwMC8zMjApLgor
ICA8L2Rpdj4KKworICA8ZGl2PgorICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgc2ltaWxhcmx5IGF1
dG9zaXplZCB0byA0MHB4LgorICA8L2Rpdj4KKzwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDgw
MHB4IiA+CisgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQg
Zm9udCBzaXplICgxNiAqIDgwMC8zMjApLgorICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwg
Y29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lk
aWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0g
dmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0
IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBp
biByZXByZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUg
ZnVnaWF0IG51bGxhIHBhcmlhdHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQg
bm9uIHByb2lkZW50LCBzdW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBh
bmltIGlkIGVzdCBsYWJvcnVtLgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZW0tbWFyZ2luLWJvcmRlci1w
YWRkaW5nLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9l
bS1tYXJnaW4tYm9yZGVyLXBhZGRpbmctZXhwZWN0ZWQuaHRtbAppbmRleCA0M2JkMWMwNjg5Yzg0
NDVlODBhODA1MTA4ZmVkZTU4NWJlNmYxZjIzLi5kOTNjYjI1NDhmMDE2YmQ4N2NkM2FjMWMzMmZh
MTZiM2EyNGFhOGU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Npemlu
Zy9lbS1tYXJnaW4tYm9yZGVyLXBhZGRpbmctZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3RleHQtYXV0b3NpemluZy9lbS1tYXJnaW4tYm9yZGVyLXBhZGRpbmctZXhwZWN0ZWQu
aHRtbApAQCAtMTEsOCArMTEsOCBAQCBib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IG92
ZXJmbG93LXk6IGhpZGRlbjsgfQogPC9oZWFkPgogPGJvZHk+CiAKLTxwIHN0eWxlPSJmb250LXNp
emU6IDIuNXJlbTsgbWFyZ2luOiAxcmVtOyBib3JkZXI6IDFyZW0gc29saWQgYmx1ZTsgcGFkZGlu
ZzogMXJlbSI+Ci0gICAgVGhpcyB0ZXh0IHNob3VsZCBnZXQgYXV0b3NpemVkIHRvIDQwcHggY29t
cHV0ZWQgZm9udCBzaXplLCBidXQgdGhlIDFlbSBtYXJnaW5zLCBib3JkZXJzIGFuZCBwYWRkaW5n
IHNob3VsZCByZW1haW4ganVzdCAxNnB4LiBXaGlsZSBkZWJhdGFibGUsIHRoaXMgZ2VuZXJhbGx5
IGxvb2tzIG1vcmUgY29uc2lzdGVudCB0aGFuIGhhdmluZyB0aGVtIGJlIHNjYWxlZC48YnI+Cis8
cCBzdHlsZT0iZm9udC1zaXplOiAyLjJyZW07IG1hcmdpbjogMXJlbTsgYm9yZGVyOiAxcmVtIHNv
bGlkIGJsdWU7IHBhZGRpbmc6IDFyZW0iPgorICAgIFRoaXMgdGV4dCBzaG91bGQgZ2V0IGF1dG9z
aXplZCB0byAzNS4ycHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDcwNC8zMjApLCBidXQgdGhl
IDFlbSBtYXJnaW5zLCBib3JkZXJzIGFuZCBwYWRkaW5nIHNob3VsZCByZW1haW4ganVzdCAxNnB4
LiBXaGlsZSBkZWJhdGFibGUsIHRoaXMgZ2VuZXJhbGx5IGxvb2tzIG1vcmUgY29uc2lzdGVudCB0
aGFuIGhhdmluZyB0aGVtIGJlIHNjYWxlZC48YnI+CiAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0
IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBv
ciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFk
IG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMg
bmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LgogPC9wPgogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9lbS1tYXJnaW4tYm9yZGVyLXBh
ZGRpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1i
b3JkZXItcGFkZGluZy5odG1sCmluZGV4IDM5NWU4MTRhNjMxMjA4NjM3OGJlYjBmNzA5ZjhkMmEx
YWQxYzc5Y2IuLjQ2ZWY1ODM2NzE3MDEwM2U0MDkwZDRiYzcxMmU5ODc0YjNjNTc4OTYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1ib3JkZXIt
cGFkZGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1h
cmdpbi1ib3JkZXItcGFkZGluZy5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGlmICh3aW5kb3cuaW50
ZXJuYWxzKSB7CiA8Ym9keT4KIAogPHAgc3R5bGU9Im1hcmdpbjogMWVtOyBib3JkZXI6IDFlbSBz
b2xpZCBibHVlOyBwYWRkaW5nOiAxZW0iPgotICAgIFRoaXMgdGV4dCBzaG91bGQgZ2V0IGF1dG9z
aXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSwgYnV0IHRoZSAxZW0gbWFyZ2lucywgYm9y
ZGVycyBhbmQgcGFkZGluZyBzaG91bGQgcmVtYWluIGp1c3QgMTZweC4gV2hpbGUgZGViYXRhYmxl
LCB0aGlzIGdlbmVyYWxseSBsb29rcyBtb3JlIGNvbnNpc3RlbnQgdGhhbiBoYXZpbmcgdGhlbSBi
ZSBzY2FsZWQuPGJyPgorICAgIFRoaXMgdGV4dCBzaG91bGQgZ2V0IGF1dG9zaXplZCB0byAzNS4y
cHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDcwNC8zMjApLCBidXQgdGhlIDFlbSBtYXJnaW5z
LCBib3JkZXJzIGFuZCBwYWRkaW5nIHNob3VsZCByZW1haW4ganVzdCAxNnB4LiBXaGlsZSBkZWJh
dGFibGUsIHRoaXMgZ2VuZXJhbGx5IGxvb2tzIG1vcmUgY29uc2lzdGVudCB0aGFuIGhhdmluZyB0
aGVtIGJlIHNjYWxlZC48YnI+CiAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNl
Y3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50
IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlh
bSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlx
dWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LgogPC9wPgogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWNoaWxkLWV4cGVjdGVkLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWNoaWxkLWV4cGVjdGVkLmh0bWwKaW5k
ZXggNGIwMDBmNjcwZWE3MjRjMDlhNmU3YWRiZWRiN2QxMTYzNzNiYjM1Yi4uMDEyNDdhZmJkOWFi
N2YxZTliODM4OTIxZmVlMjI1MmVkZTk2ZTUyZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0LWF1dG9zaXppbmcvd2lkZS1jaGlsZC1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtY2hpbGQtZXhwZWN0ZWQuaHRtbApAQCAtMTEs
OSArMTEsMTEgQEAgYm9keSB7IHdpZHRoOiA4MDBweDsgbWFyZ2luOiAwOyBvdmVyZmxvdy15OiBo
aWRkZW47IH0KIDwvaGVhZD4KIDxib2R5PgogCi08ZGl2IHN0eWxlPSJ3aWR0aDogMzIwcHg7IGZv
bnQtc2l6ZTogMi41cmVtIj4KLSAgICBUaGlzIHRleHQgc2hvdWxkIGFsbCBiZSBhdXRvc2l6ZWQg
dG8gNDBweCBjb21wdXRlZCBmb250LXNpemUsIHNpbmNlIGFsdGhvdWdoIHRoaXMgYmxvY2sgaXMg
bmFycm93LCBpdCBoYXMgYSB3aWRlIGNoaWxkIGJsb2NrLCBzbyB0aGUgY2x1c3RlciB3aWxsIGJl
IHdpZGUgYW5kIG5lZWQgYXV0b3NpemluZy4KLSAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogODAwcHgi
PgorPGRpdiBzdHlsZT0id2lkdGg6IDMyMHB4OyBmb250LXNpemU6IDFyZW0iPgorCVRoaXMgdGV4
dCBzaG91bGQgbm90IGJlIGF1dG9zaXplZC4KKwk8ZGl2IHN0eWxlPSJ3aWR0aDogODAwcHgiPgor
ICAgIAlUaGlzIHRleHQgc2hvdWxkIG5vdCBiZSBhdXRvc2l6ZWQgYXMgd2VsbCBzaW5jZSBpdHMg
d2lkdGggZG9lc24ndCBhZmZlY3QgdGhlIHdpZHRoIG9mIHRoZSBwYXJlbnQgYmxvY2suCisgICAg
CUZJWE1FKGF2YXl2b2QpOiBJZGVhbGx5IHRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkLiBX
aWxsIG5lZWQgdG8gYmUgZml4ZWQgbGF0ZXIuCiAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNp
dCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1w
b3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KICAgICA8L2Rp
dj4KICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNp
bmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRv
bG9yZSBtYWduYSBhbGlxdWEuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0
b3NpemluZy93aWRlLWNoaWxkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Npemlu
Zy93aWRlLWNoaWxkLmh0bWwKaW5kZXggMGE1YjEyMTRmODA5OTE0NjE0N2I3YjBjZWQzZjkyMTll
ZjkxNTU1MS4uMDRiZmVhMWIzNTJjMjE1OWFjMDZkNmRjYjNiMzc2ZWE4MDUzZjA3NyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lkZS1jaGlsZC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtY2hpbGQuaHRtbApAQCAt
MjEsOCArMjEsMTAgQEAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKIDxib2R5PgogCiA8ZGl2IHN0
eWxlPSJ3aWR0aDogMzIwcHgiPgotICAgIFRoaXMgdGV4dCBzaG91bGQgYWxsIGJlIGF1dG9zaXpl
ZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQtc2l6ZSwgc2luY2UgYWx0aG91Z2ggdGhpcyBibG9jayBp
cyBuYXJyb3csIGl0IGhhcyBhIHdpZGUgY2hpbGQgYmxvY2ssIHNvIHRoZSBjbHVzdGVyIHdpbGwg
YmUgd2lkZSBhbmQgbmVlZCBhdXRvc2l6aW5nLgorICAgIFRoaXMgdGV4dCBzaG91bGQgbm90IGJl
IGF1dG9zaXplZC4KICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogODAwcHgiPgorICAgIAlUaGlzIHRl
eHQgc2hvdWxkIG5vdCBiZSBhdXRvc2l6ZWQgYXMgd2VsbCBzaW5jZSBpdHMgd2lkdGggZG9lc24n
dCBhZmZlY3QgdGhlIHdpZHRoIG9mIHRoZSBwYXJlbnQgYmxvY2suCisgICAgCUZJWE1FKGF2YXl2
b2QpOiBJZGVhbGx5IHRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkLiBXaWxsIG5lZWQgdG8g
YmUgZml4ZWQgbGF0ZXIuCiAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25z
ZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVu
dCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KICAgICA8L2Rpdj4KICAgICBMb3Jl
bSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2Vk
IGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBh
bGlxdWEuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy93aWRl
LWluLW5hcnJvdy1vdmVyZmxvdy1zY3JvbGwtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtaW4tbmFycm93LW92ZXJmbG93LXNjcm9sbC1leHBlY3Rl
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY0MjA0ZWY4NzQ1MmIzNDhjNDMzOTAyZTE3ZmJlZTI0ZGNiOTc2
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy93
aWRlLWluLW5hcnJvdy1vdmVyZmxvdy1zY3JvbGwtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDMw
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlPgoraHRtbCB7IGZvbnQtc2l6ZTogMTZw
eDsgfQorYm9keSB7IHdpZHRoOiA4MDBweDsgbWFyZ2luOiAwOyBvdmVyZmxvdy15OiBoaWRkZW47
IH0KKzwvc3R5bGU+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJ3aWR0aDogNDAw
cHgiPgorICA8ZGl2IHN0eWxlPSJvdmVyZmxvdy14OiBzY3JvbGwiPgorICAgIDxkaXYgc3R5bGU9
IndpZHRoOiA4MDBweDsgZm9udC1zaXplOiAxLjI1cmVtIj4KKyAgICAgICAgVGhpcyB0ZXh0IHNo
b3VsZCBiZSBhdXRvc2l6ZWQgdG8gMjBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogNDAwLzMy
MCksIHNpbmNlIGl0cyBzY3JvbGwgd2lkdGggaXMgNDAwcHguPGJyPgorICAgICAgICBMb3JlbSBp
cHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRv
IGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlx
dWEuCisgICAgPC9kaXY+CisgIDwvZGl2PgorCisgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMS4y
NXJlbSI+CisgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDIwcHggY29t
cHV0ZWQgZm9udCBzaXplICgxNiAqIDQwMC8zMjApLjxicj4KKyAgICAgICAgTG9yZW0gaXBzdW0g
ZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVz
bW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLgor
ICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtaW4tbmFycm93LW92ZXJmbG93LXNjcm9s
bC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lkZS1pbi1uYXJyb3ct
b3ZlcmZsb3ctc2Nyb2xsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTE4NTQ0OTBhNjAwZTcwOTMyMzA4ZWQ2
OTc0NWUwMWE1YjhjM2UzOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC1hdXRvc2l6aW5nL3dpZGUtaW4tbmFycm93LW92ZXJmbG93LXNjcm9sbC5odG1sCkBAIC0wLDAg
KzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGU+CitodG1sIHsgZm9udC1zaXpl
OiAxNnB4OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IG92ZXJmbG93LXk6IGhp
ZGRlbjsgfQorPC9zdHlsZT4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1
ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dpbmRv
d1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNv
bnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhl
IFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVu
ZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1
c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMg
b3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tU
T1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9Indp
ZHRoOiA0MDBweCI+CisgIDxkaXYgc3R5bGU9Im92ZXJmbG93LXg6IHNjcm9sbCI+CisgICAgPGRp
diBzdHlsZT0id2lkdGg6IDgwMHB4Ij4KKyAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRv
c2l6ZWQgdG8gMjBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogNDAwLzMyMCksIHNpbmNlIGl0
cyBzY3JvbGwgd2lkdGggaXMgNDAwcHguPGJyPgorICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBz
aXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVt
cG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCisgICAgPC9k
aXY+CisgIDwvZGl2PgorCisgIDxkaXY+CisgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0
b3NpemVkIHRvIDIwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDQwMC8zMjApLjxicj4KKyAg
ICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5n
IGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xv
cmUgbWFnbmEgYWxpcXVhLgorICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176242</attachid>
            <date>2012-11-27 05:21:39 -0800</date>
            <delta_ts>2012-11-27 08:56:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102562-20121127131915.patch</filename>
            <type>text/plain</type>
            <size>30671</size>
            <attacher name="Anton Vayvod">avayvod</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGM5MmVmNDJkYTJhNDA2
ZDg3MmE5YTBjMzdiYjgxYWVlNDNmOWQ1NS4uNTg0YTU2ZDY4MDAxZThkYTk5MjgxMGNmMjVlMWMx
ZjRlMWQyMjliMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTExLTI3ICBBbnRv
biBWYXl2b2QgIDxhdmF5dm9kQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0IEF1dG9zaXpp
bmc6IENsdXN0ZXJzIHNob3VsZCB1c2Ugd2lkdGggb2YgTENBIG9mIHRoZWlyIHRleHQgbm9kZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjU2Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1hbnkgcGFn
ZXMgc2V0IGEgbWF4LXdpZHRoIG9uIHRoZWlyIGNvbnRlbnQuIFNvIGVzcGVjaWFsbHkgZm9yIHRo
ZQorICAgICAgICBSZW5kZXJWaWV3LCBpbnN0ZWFkIG9mIGp1c3QgdGFraW5nIHRoZSB3aWR0aCBv
ZiB8Y2x1c3Rlcnwgd2Ugc2hvdWxkIGZpbmQKKyAgICAgICAgdGhlIGxvd2VzdCBjb21tb24gYW5j
ZXN0b3Igb2YgdGhlIGZpcnN0IGFuZCBsYXN0IGRlc2NlbmRhbnQgdGV4dCBub2RlIG9mCisgICAg
ICAgIHRoZSBjbHVzdGVyIChpLmUuIHRoZSBkZWVwZXN0IHdyYXBwZXIgYmxvY2sgdGhhdCBjb250
YWlucyBhbGwgdGhlIHRleHQpLAorICAgICAgICBhbmQgdXNlIGl0cyB3aWR0aCBpbnN0ZWFkLgor
CisgICAgICAgIFRlc3RzOiBmYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93
LWxjYS1hbmQtY2x1c3Rlci5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQtYXV0b3Npemlu
Zy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQt
YXV0b3NpemluZy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EuaHRtbAorICAgICAgICAgICAgICAgZmFz
dC90ZXh0LWF1dG9zaXppbmcvd2lkZS1pbi1uYXJyb3ctb3ZlcmZsb3ctc2Nyb2xsLmh0bWwKKwor
ICAgICAgICAqIHJlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRleHRBdXRvc2l6ZXI6OnByb2Nlc3NDbHVzdGVyKTogdXNlIHRleHQgbm9kZXMgTENBIGluc3Rl
YWQgb2YgY2x1c3RlciBmb3Igd2lkdGggY2FsY3VsYXRpb24KKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRBdXRvc2l6ZXI6OmlzQXV0b3NpemluZ0NsdXN0ZXIpOiByZXBsYWNlZCBhc3NlcnRpb24gZm9y
IGJlaW5nIGF1dG9zaXppbmcgY29udGFpbmVyIHdpdGggYSBjaGVjaworICAgICAgICAoV2ViQ29y
ZTo6VGV4dEF1dG9zaXplcjo6ZmluZERlZXBlc3RCbG9ja1dpdGhBbGxUZXh0KTogc2VhcmNoZXMg
Zm9yIExDQSBvZiB0ZXh0IG5vZGVzIGlnbm9yaW5nIGRlc2NlbmRhbnQgY2x1c3RlcnMKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRBdXRvc2l6ZXI6OmZpbmRGaXJzdFRleHRMZWFmTm90SW5DbHVzdGVy
KTogc2VhcmNoZXMgZm9yIHRoZSBmaXJzdCB0ZXh0IG5vZGUgaW4tb3JkZXIgaWdub3JpbmcgYW55
IGRlc2NlbmRhbnQgY2x1c3RlcnMKKyAgICAgICAgKFdlYkNvcmU6OlRleHRBdXRvc2l6ZXI6OmZp
bmRMYXN0VGV4dExlYWZOb3RJbkNsdXN0ZXIpOiBzZWFyY2hlcyBmb3IgdGhlIGxhc3QgdGV4dCBu
b2RlIGluLW9yZGVyIGlnbm9yaW5nIGFueSBkZXNjZW5kYW50IGNsdXN0ZXJzCisgICAgICAgIChX
ZWJDb3JlOjpUZXh0QXV0b3NpemVyOjpmaW5kRmluYWxUZXh0TGVhZk5vdEluQ2x1c3Rlcik6IGhl
bHBlciBmdW5jdGlvbiByZWR1Y2luZyBjb2RlIGR1cGxpY2F0aW9uCisgICAgICAgICogcmVuZGVy
aW5nL1RleHRBdXRvc2l6ZXIuaDogbmV3IHByaXZhdGUgbWV0aG9kcyBkZWNsYXJhdGlvbnMKKwog
MjAxMi0xMS0yNiAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBVbnJldmlld2VkLiBGaXggUXQgbWluaW1hbCBjb21waWxhdGlvbiBhZnRlciByMTM1NzEz
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3BwCmluZGV4IDM2MDY3
ZmQ3ODA5ZTljMzg0ZWQ3OGRkMmJmNmMxY2UzNWEyNmI3YjYuLjhmNzNlZGM4ODhlNjVjMmE1MmY1
ZTQ3OGUxMDQzZDNjZjhhYmRmOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9UZXh0QXV0b3NpemVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1
dG9zaXplci5jcHAKQEAgLTk0LDE1ICs5NCwxNiBAQCB2b2lkIFRleHRBdXRvc2l6ZXI6OnByb2Nl
c3NDbHVzdGVyKFJlbmRlckJsb2NrKiBjbHVzdGVyLCBSZW5kZXJCbG9jayogY29udGFpbmVyLAog
ewogICAgIEFTU0VSVChpc0F1dG9zaXppbmdDbHVzdGVyKGNsdXN0ZXIpKTsKIAotICAgIC8vIEZJ
WE1FOiBNYW55IHBhZ2VzIHNldCBhIG1heC13aWR0aCBvbiB0aGVpciBjb250ZW50LiBTbyBlc3Bl
Y2lhbGx5IGZvciB0aGUgUmVuZGVyVmlldywKLSAgICAvLyBpbnN0ZWFkIG9mIGp1c3QgdGFraW5n
IHRoZSB3aWR0aCBvZiB8Y2x1c3Rlcnwgd2Ugc2hvdWxkIGZpbmQgdGhlIGxvd2VzdCBjb21tb24g
YW5jZXN0b3Igb2YKLSAgICAvLyB0aGUgZmlyc3QgYW5kIGxhc3QgZGVzY2VuZGFudCB0ZXh0IG5v
ZGUgb2YgdGhlIGNsdXN0ZXIgKGkuZS4gdGhlIGRlZXBlc3Qgd3JhcHBlciBibG9jayB0aGF0Ci0g
ICAgLy8gY29udGFpbnMgYWxsIHRoZSB0ZXh0KSwgYW5kIHVzZSBpdHMgd2lkdGggaW5zdGVhZC4K
LSAgICBSZW5kZXJCbG9jayogbG93ZXN0Q29tbW9uQW5jZXN0b3IgPSBjbHVzdGVyOworICAgIC8v
IE1hbnkgcGFnZXMgc2V0IGEgbWF4LXdpZHRoIG9uIHRoZWlyIGNvbnRlbnQuIFNvIGVzcGVjaWFs
bHkgZm9yIHRoZQorICAgIC8vIFJlbmRlclZpZXcsaW5zdGVhZCBvZiBqdXN0IHRha2luZyB0aGUg
d2lkdGggb2YgfGNsdXN0ZXJ8IHdlIHNob3VsZCBmaW5kCisgICAgLy8gdGhlIGxvd2VzdCBjb21t
b24gYW5jZXN0b3Igb2YgdGhlIGZpcnN0IGFuZCBsYXN0IGRlc2NlbmRhbnQgdGV4dCBub2RlIG9m
CisgICAgLy8gdGhlIGNsdXN0ZXIgKGkuZS4gdGhlIGRlZXBlc3Qgd3JhcHBlciBibG9jayB0aGF0
IGNvbnRhaW5zIGFsbCB0aGUgdGV4dCksCisgICAgLy8gYW5kIHVzZSBpdHMgd2lkdGggaW5zdGVh
ZC4KKyAgICBjb25zdCBSZW5kZXJCbG9jayogbG93ZXN0Q29tbW9uQW5jZXN0b3IgPSBmaW5kRGVl
cGVzdEJsb2NrQ29udGFpbmluZ0FsbFRleHQoY2x1c3Rlcik7CiAgICAgZmxvYXQgY29tbW9uQW5j
ZXN0b3JXaWR0aCA9IGxvd2VzdENvbW1vbkFuY2VzdG9yLT5jb250ZW50TG9naWNhbFdpZHRoKCk7
CiAKICAgICBmbG9hdCBtdWx0aXBsaWVyID0gMTsKLSAgICBpZiAoY2x1c3RlclNob3VsZEJlQXV0
b3NpemVkKGxvd2VzdENvbW1vbkFuY2VzdG9yLCBjb21tb25BbmNlc3RvcldpZHRoKSkgeworICAg
IGlmIChjbHVzdGVyU2hvdWxkQmVBdXRvc2l6ZWQoY2x1c3RlciwgY29tbW9uQW5jZXN0b3JXaWR0
aCkpIHsKICAgICAgICAgaW50IGxvZ2ljYWxXaW5kb3dXaWR0aCA9IGNsdXN0ZXItPmlzSG9yaXpv
bnRhbFdyaXRpbmdNb2RlKCkgPyB3aW5kb3dJbmZvLndpbmRvd1NpemUud2lkdGgoKSA6IHdpbmRv
d0luZm8ud2luZG93U2l6ZS5oZWlnaHQoKTsKICAgICAgICAgaW50IGxvZ2ljYWxMYXlvdXRXaWR0
aCA9IGNsdXN0ZXItPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyB3aW5kb3dJbmZvLm1pbkxh
eW91dFNpemUud2lkdGgoKSA6IHdpbmRvd0luZm8ubWluTGF5b3V0U2l6ZS5oZWlnaHQoKTsKICAg
ICAgICAgLy8gSWdub3JlIGJveCB3aWR0aCBpbiBleGNlc3Mgb2YgdGhlIGxheW91dCB3aWR0aCwg
dG8gYXZvaWQgZXh0cmVtZSBtdWx0aXBsaWVycy4KQEAgLTIyNiw3ICsyMjcsOCBAQCBib29sIFRl
eHRBdXRvc2l6ZXI6OmlzQXV0b3NpemluZ0NsdXN0ZXIoY29uc3QgUmVuZGVyQmxvY2sqIHJlbmRl
cmVyKQogICAgIC8vIGZyb20gdGhlIGJveCdzIHBhcmVudCAod2Ugd2FudCB0byBhdm9pZCBoYXZp
bmcgc2lnbmlmaWNhbnRseSBkaWZmZXJlbnQKICAgICAvLyB3aWR0aCBibG9ja3Mgd2l0aGluIGEg
Y2x1c3Rlciwgc2luY2UgdGhlIG5hcnJvd2VyIGJsb2NrcyB3b3VsZCBlbmQgdXAKICAgICAvLyBs
YXJnZXIgdGhhbiB3b3VsZCBvdGhlcndpc2UgYmUgbmVjZXNzYXJ5KS4KLSAgICBBU1NFUlQoaXNB
dXRvc2l6aW5nQ29udGFpbmVyKHJlbmRlcmVyKSk7CisgICAgaWYgKCFpc0F1dG9zaXppbmdDb250
YWluZXIocmVuZGVyZXIpKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICByZXR1cm4gcmVu
ZGVyZXItPmlzUmVuZGVyVmlldygpCiAgICAgICAgIHx8IHJlbmRlcmVyLT5pc0Zsb2F0aW5nKCkK
QEAgLTI5Nyw2ICsyOTksODMgQEAgUmVuZGVyT2JqZWN0KiBUZXh0QXV0b3NpemVyOjpuZXh0SW5Q
cmVPcmRlclNraXBwaW5nRGVzY2VuZGFudHNPZkNvbnRhaW5lcnMoY29uc3QKICAgICByZXR1cm4g
MDsKIH0KIAorY29uc3QgUmVuZGVyQmxvY2sqIFRleHRBdXRvc2l6ZXI6OmZpbmREZWVwZXN0Qmxv
Y2tDb250YWluaW5nQWxsVGV4dChjb25zdCBSZW5kZXJCbG9jayogY2x1c3RlcikKK3sKKyAgICBB
U1NFUlQoaXNBdXRvc2l6aW5nQ2x1c3RlcihjbHVzdGVyKSk7CisgICAgaWYgKGNsdXN0ZXItPmlz
RW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGNsdXN0ZXI7CisKKyAgICBzaXplX3QgZmlyc3REZXB0
aCA9IDA7CisgICAgY29uc3QgUmVuZGVyT2JqZWN0KiBmaXJzdFRleHRMZWFmID0gZmluZEZpcnN0
VGV4dExlYWZOb3RJbkNsdXN0ZXIoY2x1c3RlciwgZmlyc3REZXB0aCk7CisgICAgaWYgKCFmaXJz
dFRleHRMZWFmKQorICAgICAgICByZXR1cm4gY2x1c3RlcjsKKworICAgIHNpemVfdCBsYXN0RGVw
dGggPSAwOworICAgIGNvbnN0IFJlbmRlck9iamVjdCogbGFzdFRleHRMZWFmID0gZmluZExhc3RU
ZXh0TGVhZk5vdEluQ2x1c3RlcihjbHVzdGVyLCBsYXN0RGVwdGgpOworICAgIEFTU0VSVChsYXN0
VGV4dExlYWYpOworCisgICAgLy8gRGV0ZXJtaW5lIHdoaWNoIG5vZGUgaXMgZGVlcGVyLgorICAg
IGNvbnN0IFJlbmRlck9iamVjdCogZGVlcE5vZGUgPSBmaXJzdFRleHRMZWFmOworICAgIGNvbnN0
IFJlbmRlck9iamVjdCogc2hhbGxvd05vZGUgPSBsYXN0VGV4dExlYWY7CisgICAgc2l6ZV90IGRl
ZXBOb2RlRGVwdGggPSBmaXJzdERlcHRoOworICAgIHNpemVfdCBzaGFsbG93Tm9kZURlcHRoID0g
bGFzdERlcHRoOworICAgIGlmIChmaXJzdERlcHRoIDwgbGFzdERlcHRoKSB7CisgICAgICAgIHN0
ZDo6c3dhcChkZWVwTm9kZSwgc2hhbGxvd05vZGUpOworICAgICAgICBzdGQ6OnN3YXAoZGVlcE5v
ZGVEZXB0aCwgc2hhbGxvd05vZGVEZXB0aCk7CisgICAgfQorCisgICAgLy8gRXF1YWxpemUgdGhl
IGRlcHRocyBpZiBuZWNlc3NhcnkuCisgICAgd2hpbGUgKGRlZXBOb2RlRGVwdGggPiBzaGFsbG93
Tm9kZURlcHRoKSB7CisgICAgICAgIGRlZXBOb2RlID0gZGVlcE5vZGUtPnBhcmVudCgpOworICAg
ICAgICAtLWRlZXBOb2RlRGVwdGg7CisgICAgfQorCisgICAgLy8gR28gdXAgZnJvbSBib3RoIG5v
ZGVzIHVudGlsIHRoZSBwYXJlbnQgaXMgdGhlIHNhbWUuCisgICAgd2hpbGUgKGRlZXBOb2RlICE9
IHNoYWxsb3dOb2RlKSB7CisgICAgICAgIGRlZXBOb2RlID0gZGVlcE5vZGUtPnBhcmVudCgpOwor
ICAgICAgICBzaGFsbG93Tm9kZSA9IHNoYWxsb3dOb2RlLT5wYXJlbnQoKTsKKyAgICB9CisKKyAg
ICBjb25zdCBSZW5kZXJCbG9jayogYmxvY2tDb250YWluaW5nQWxsVGV4dCA9IDA7CisgICAgaWYg
KGRlZXBOb2RlLT5pc1JlbmRlckJsb2NrKCkpCisgICAgICAgIGJsb2NrQ29udGFpbmluZ0FsbFRl
eHQgPSB0b1JlbmRlckJsb2NrKGRlZXBOb2RlKTsKKyAgICBlbHNlCisgICAgICAgIGJsb2NrQ29u
dGFpbmluZ0FsbFRleHQgPSBkZWVwTm9kZS0+Y29udGFpbmluZ0Jsb2NrKCk7CisKKyAgICBBU1NF
UlQoYmxvY2tDb250YWluaW5nQWxsVGV4dC0+aXNEZXNjZW5kYW50T2YoY2x1c3RlcikpOworCisg
ICAgcmV0dXJuIGJsb2NrQ29udGFpbmluZ0FsbFRleHQ7Cit9CisKK2NvbnN0IFJlbmRlck9iamVj
dCogVGV4dEF1dG9zaXplcjo6ZmluZEZpcnN0VGV4dExlYWZOb3RJbkNsdXN0ZXIoY29uc3QgUmVu
ZGVyT2JqZWN0KiBwYXJlbnQsIHNpemVfdCYgZGVwdGgpCit7CisgICAgcmV0dXJuIGZpbmRGaW5h
bFRleHRMZWFmTm90SW5DbHVzdGVyKHBhcmVudCwgZGVwdGgsICZSZW5kZXJPYmplY3Q6OmZpcnN0
Q2hpbGQsICZSZW5kZXJPYmplY3Q6Om5leHRTaWJsaW5nKTsKK30KKworY29uc3QgUmVuZGVyT2Jq
ZWN0KiBUZXh0QXV0b3NpemVyOjpmaW5kTGFzdFRleHRMZWFmTm90SW5DbHVzdGVyKGNvbnN0IFJl
bmRlck9iamVjdCogcGFyZW50LCBzaXplX3QmIGRlcHRoKQoreworICAgIHJldHVybiBmaW5kRmlu
YWxUZXh0TGVhZk5vdEluQ2x1c3RlcihwYXJlbnQsIGRlcHRoLCAmUmVuZGVyT2JqZWN0OjpsYXN0
Q2hpbGQsICZSZW5kZXJPYmplY3Q6OnByZXZpb3VzU2libGluZyk7Cit9CisKK2NvbnN0IFJlbmRl
ck9iamVjdCogVGV4dEF1dG9zaXplcjo6ZmluZEZpbmFsVGV4dExlYWZOb3RJbkNsdXN0ZXIoY29u
c3QgUmVuZGVyT2JqZWN0KiBwYXJlbnQsIHNpemVfdCYgZGVwdGgsIFJlbmRlck9iamVjdCogKFJl
bmRlck9iamVjdDo6KmdldEZpcnN0Q2hpbGRNZXRob2QpKCkgY29uc3QsIFJlbmRlck9iamVjdCog
KFJlbmRlck9iamVjdDo6KmdldE5leHRTaWJsaW5nTWV0aG9kKSgpIGNvbnN0KQoreworICAgIGlm
IChwYXJlbnQtPmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHBhcmVudC0+aXNUZXh0KCkgPyBw
YXJlbnQgOiAwOworCisgICAgKytkZXB0aDsKKyAgICBmb3IgKGNvbnN0IFJlbmRlck9iamVjdCog
Y2hpbGQgPSAocGFyZW50LT4qZ2V0Rmlyc3RDaGlsZE1ldGhvZCkoKTsgY2hpbGQ7IGNoaWxkID0g
KGNoaWxkLT4qZ2V0TmV4dFNpYmxpbmdNZXRob2QpKCkpIHsKKyAgICAgICAgaWYgKGNoaWxkLT5p
c1JlbmRlckJsb2NrKCkgJiYgaXNBdXRvc2l6aW5nQ2x1c3Rlcih0b1JlbmRlckJsb2NrKGNoaWxk
KSkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBjb25zdCBSZW5kZXJPYmplY3Qq
IGxlYWYgPSBmaW5kRmluYWxUZXh0TGVhZk5vdEluQ2x1c3RlcihjaGlsZCwgZGVwdGgsIGdldEZp
cnN0Q2hpbGRNZXRob2QsIGdldE5leHRTaWJsaW5nTWV0aG9kKTsKKyAgICAgICAgaWYgKGxlYWYp
CisgICAgICAgICAgICByZXR1cm4gbGVhZjsKKyAgICB9CisgICAgLS1kZXB0aDsKKworICAgIHJl
dHVybiAwOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUo
VEVYVF9BVVRPU0laSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Rl
eHRBdXRvc2l6ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmgK
aW5kZXggMmUyZTcwZTZiMDI4NDUwNzEzYmE2ZmFjMmRhMTI4YjU3YWVlYTBkMy4uNGIyZTU5Y2Zm
ZTgzNmRkMTRlYmM5NWI4OThjNmRjMThlN2U1MGYyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvVGV4dEF1dG9zaXplci5oCkBAIC03MSw2ICs3MSwxNyBAQCBwcml2YXRlOgogICAgIC8vIFVz
ZSB0byB0cmF2ZXJzZSB0aGUgdHJlZSBvZiBkZXNjZW5kYW50cywgZXhjbHVkaW5nIGRlc2NlbmRh
bnRzIG9mIGNvbnRhaW5lcnMgKGJ1dCByZXR1cm5pbmcgdGhlIGNvbnRhaW5lcnMgdGhlbXNlbHZl
cykuCiAgICAgc3RhdGljIFJlbmRlck9iamVjdCogbmV4dEluUHJlT3JkZXJTa2lwcGluZ0Rlc2Nl
bmRhbnRzT2ZDb250YWluZXJzKGNvbnN0IFJlbmRlck9iamVjdCogY3VycmVudCwgY29uc3QgUmVu
ZGVyT2JqZWN0KiBzdGF5V2l0aGluKTsKIAorICAgIC8vIEZpbmRzIHRoZSBsb3dlc3QgY29tbW9u
IGFuY2VzdG9yIG9mIHRoZSBmaXJzdCBhbmQgdGhlIGxhc3QgZGVzY2VuZGFudAorICAgIC8vIHRl
eHQgbm9kZSAoZXhjbHVkaW5nIHRob3NlIGJlbG9uZ2luZyB0byBvdGhlciBhdXRvc2l6aW5nIGNs
dXN0ZXJzKS4KKyAgICBzdGF0aWMgY29uc3QgUmVuZGVyQmxvY2sqIGZpbmREZWVwZXN0QmxvY2tD
b250YWluaW5nQWxsVGV4dChjb25zdCBSZW5kZXJCbG9jayogY2x1c3Rlcik7CisKKyAgICAvLyBG
aW5kcyB0aGUgZmlyc3QgbGVhZiB0ZXh0IG5vZGUgY2hpbGQgdGhhdCBkb2Vzbid0IGJlbG9uZyB0
byBhbnkgY2x1c3Rlci4KKyAgICBzdGF0aWMgY29uc3QgUmVuZGVyT2JqZWN0KiBmaW5kRmlyc3RU
ZXh0TGVhZk5vdEluQ2x1c3Rlcihjb25zdCBSZW5kZXJPYmplY3QqIHBhcmVudCwgc2l6ZV90JiBk
ZXB0aCk7CisgICAgLy8gRmluZHMgdGhlIGxhc3QgbGVhZiB0ZXh0IG5vZGUgY2hpbGQgdGhhdCBk
b2Vzbid0IGJlbG9uZyB0byBhbnkgY2x1c3Rlci4KKyAgICBzdGF0aWMgY29uc3QgUmVuZGVyT2Jq
ZWN0KiBmaW5kTGFzdFRleHRMZWFmTm90SW5DbHVzdGVyKGNvbnN0IFJlbmRlck9iamVjdCogcGFy
ZW50LCBzaXplX3QmIGRlcHRoKTsKKyAgICAvLyBDb21tb24gaW1wbGVtZW50YXRpb24gZm9yIHRo
ZSB0d28gZnVuY3Rpb25zIGFib3ZlLgorICAgIHN0YXRpYyBjb25zdCBSZW5kZXJPYmplY3QqIGZp
bmRGaW5hbFRleHRMZWFmTm90SW5DbHVzdGVyKGNvbnN0IFJlbmRlck9iamVjdCogcGFyZW50LCBz
aXplX3QmIGRlcHRoLCBSZW5kZXJPYmplY3QqIChSZW5kZXJPYmplY3Q6OipnZXRGaXJzdENoaWxk
TWV0aG9kKSgpIGNvbnN0LCBSZW5kZXJPYmplY3QqIChSZW5kZXJPYmplY3Q6OipnZXROZXh0U2li
bGluZ01ldGhvZCkoKSBjb25zdCk7CisKICAgICBEb2N1bWVudCogbV9kb2N1bWVudDsKIH07CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzOGY5NDhkOGU4ZjA4YmFmYWU1NzkxNzk1OGY0MjkwNTQzODY5NTUzLi42ZjhhMWFm
ZTgzZTI3ZTgzMzdhNDA2YThkNjY4YjllNWU4ZTRkNDA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAK
KzIwMTItMTEtMjcgIEFudG9uIFZheXZvZCAgPGF2YXl2b2RAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFRleHQgQXV0b3NpemluZzogQ2x1c3RlcnMgc2hvdWxkIHVzZSB3aWR0aCBvZiBMQ0Egb2Yg
dGhlaXIgdGV4dCBub2RlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAyNTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTWFueSBwYWdlcyBzZXQgYSBtYXgtd2lkdGggb24gdGhlaXIgY29udGVudC4gU28g
ZXNwZWNpYWxseSBmb3IgdGhlCisgICAgICAgIFJlbmRlclZpZXcsaW5zdGVhZCBvZiBqdXN0IHRh
a2luZyB0aGUgd2lkdGggb2YgfGNsdXN0ZXJ8IHdlIHNob3VsZCBmaW5kCisgICAgICAgIHRoZSBs
b3dlc3QgY29tbW9uIGFuY2VzdG9yIG9mIHRoZSBmaXJzdCBhbmQgbGFzdCBkZXNjZW5kYW50IHRl
eHQgbm9kZSBvZgorICAgICAgICB0aGUgY2x1c3RlciAoaS5lLiB0aGUgZGVlcGVzdCB3cmFwcGVy
IGJsb2NrIHRoYXQgY29udGFpbnMgYWxsIHRoZSB0ZXh0KSwKKyAgICAgICAgYW5kIHVzZSBpdHMg
d2lkdGggaW5zdGVhZC4KKyAgICAgICAgSGFkIHRvIHVwZGF0ZSBhIGNvdXBsZSBvZiB0ZXN0cyBz
aW5jZSB0aGUgYWN0dWFsIHdpZHRoIGZvciBmb250IHNpemUgbXVsdGlwbGllcgorICAgICAgICBj
YWxjdWxhdGlvbiBoYXMgYmVlbiBjaGFuZ2VkIGJ5IHRoZSBwYXRjaC4KKworICAgICAgICAqIGZh
c3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2lkZS1pbi1uYXJyb3ctZXhwZWN0ZWQuaHRtbDoK
KyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpZGUtaW4tbmFycm93Lmh0
bWw6CisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLW5hcnJvdy1s
Y2EtYW5kLWNsdXN0ZXItZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0
LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLW5hcnJvdy1sY2EtYW5kLWNsdXN0ZXIuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLW5hcnJvdy1s
Y2EtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcv
Y2x1c3Rlci13aXRoLW5hcnJvdy1sY2EuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0
LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLXdpZGUtbGNhLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC13aWRlLWxjYS5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9lbS1tYXJnaW4tYm9yZGVy
LXBhZGRpbmctZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9l
bS1tYXJnaW4tYm9yZGVyLXBhZGRpbmcuaHRtbDoKKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3Np
emluZy93aWRlLWNoaWxkLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC90ZXh0LWF1dG9z
aXppbmcvd2lkZS1jaGlsZC5odG1sOgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL3dp
ZGUtaW4tbmFycm93LW92ZXJmbG93LXNjcm9sbC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWluLW5hcnJvdy1vdmVyZmxvdy1zY3JvbGwu
aHRtbDogQWRkZWQuCisKIDIwMTItMTEtMjYgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjogb2JqZWN0IHByZXZpZXcgZG9lcyBu
b3QgcmVuZGVyIG5vZGUgaWQsIGNsYXNzTmFtZTsgbG9ncyB0b28gbWFueSBmdW5jdGlvbnMgZm9y
IGpRdWVyeS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2Ns
dXN0ZXItd2lkZS1pbi1uYXJyb3ctZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2lkZS1pbi1uYXJyb3ctZXhwZWN0ZWQuaHRtbAppbmRleCA2
Y2ZmMDZlNDQ4YjJmNzU4M2JkYTIwMzQzZWViZGUyMjVjNjQ2NTcwLi4yYTEwM2E0Mjk5YjNiODc1
ODQ1YmMwYTM2ZGJkZmYwOTM5NGYzMjEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQtYXV0b3NpemluZy9jbHVzdGVyLXdpZGUtaW4tbmFycm93LWV4cGVjdGVkLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aWRlLWluLW5hcnJvdy1l
eHBlY3RlZC5odG1sCkBAIC0xNyw4ICsxNyw4IEBAIGJvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdp
bjogMDsgb3ZlcmZsb3cteTogaGlkZGVuOyB9CiAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNp
dCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1w
b3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KICAgICA8L2Rp
dj4KIAotICAgIDxkaXYgc3R5bGU9IndpZHRoOiA4MDBweDsgZm9udC1zaXplOiAxLjI1cmVtIj4K
LSAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQgdG8ganVzdCAyMHB4IGNvbXB1
dGVkIGZvbnQtc2l6ZSAoMTYgKiA0MDAvMzIwKSwgc2luY2UgZGVzcGl0ZSBpdHMgd2lkdGg6ODAw
cHggaXQgaXMgcGFydCBvZiB0aGUgNDAwcHggd2lkZSByb290IGNsdXN0ZXIuPGJyPgorICAgIDxk
aXYgc3R5bGU9IndpZHRoOiA2MDBweDsgZm9udC1zaXplOiAxLjI1cmVtIj4KKyAgICAgICAgVGhp
cyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQgdG8gMjBweCBjb21wdXRlZCBmb250LXNpemUgKDE2
ICogNDAwLzMyMCksIHNpbmNlIHRoZSB3aWR0aCBvZiB0aGUgcGFyZW50IGRpdiBpcyB1c2VkIGZv
ciB0ZXh0IGF1dG9zaXppbmcuPGJyPgogICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1l
dCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGlu
Y2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCiAgICAgPC9kaXY+CiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2lk
ZS1pbi1uYXJyb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0
ZXItd2lkZS1pbi1uYXJyb3cuaHRtbAppbmRleCBiMmVmMDEwN2M5ZWM2NmM3MjNhZTk2ZmI0NDY5
NmJmMzE2MTQ0N2NjLi43MGI1YzBmN2M2MGFjYTg5MTYyMzNhY2JlYTI5ODA1M2UzNjkxZjk2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpZGUt
aW4tbmFycm93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1
c3Rlci13aWRlLWluLW5hcnJvdy5odG1sCkBAIC0yNiw4ICsyNiw4IEBAIGlmICh3aW5kb3cuaW50
ZXJuYWxzKSB7CiAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1
ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBs
YWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KICAgICA8L2Rpdj4KIAotICAgIDxkaXYgc3R5
bGU9IndpZHRoOiA4MDBweCI+Ci0gICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVk
IHRvIGp1c3QgMjBweCBjb21wdXRlZCBmb250LXNpemUgKDE2ICogNDAwLzMyMCksIHNpbmNlIGRl
c3BpdGUgaXRzIHdpZHRoOjgwMHB4IGl0IGlzIHBhcnQgb2YgdGhlIDQwMHB4IHdpZGUgcm9vdCBj
bHVzdGVyLjxicj4KKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogNjAwcHgiPgorICAgICAgICBUaGlz
IHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byAyMHB4IGNvbXB1dGVkIGZvbnQtc2l6ZSAoMTYg
KiA0MDAvMzIwKSwgc2luY2UgdGhlIHdpZHRoIG9mIHRoZSBwYXJlbnQgZGl2IGlzIHVzZWQgZm9y
IHRleHQgYXV0b3NpemluZy48YnI+CiAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0
LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5j
aWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KICAgICA8L2Rpdj4KIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRo
LW5hcnJvdy1sY2EtYW5kLWNsdXN0ZXItZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWFuZC1jbHVzdGVyLWV4cGVj
dGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjdjOTRmMmUyNzRmZGI2ZTVkNzkwNzVjNjlhNzNkZTU5ZWMz
MGQ1NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5n
L2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWFuZC1jbHVzdGVyLWV4cGVjdGVkLmh0bWwKQEAgLTAs
MCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZT4KK2h0bWwgeyBmb250LXNp
emU6IDE2cHg7IH0KK2JvZHkgeyB3aWR0aDogODAwcHg7IG92ZXJmbG93LXk6IGhpZGRlbjsgfQor
PC9zdHlsZT4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9IndpZHRoOiA0MDBweCIg
PgorICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDEuMjVyZW0iID4KKyAgICBUaGlzIHRleHQgc2hv
dWxkIGJlIGF1dG9zaXplZCB0byBqdXN0IDIwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDQw
MC8zMjApLCBzaW5jZSB0aGUgd2lkdGggb2YgdGhlIGxlYXN0IGNvbW1vbiBhbmNlc3RvciBpcyB1
c2VkIGZvciBtdWx0aXBsaWVyIGNhbGN1bGF0aW9uLgorICA8L2Rpdj4KKworICA8ZGl2IHN0eWxl
PSJmb250LXNpemU6IDEuMjVyZW0iID4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJlIHNpbWlsYXJs
eSBhdXRvc2l6ZWQgdG8gMjBweC4KKyAgPC9kaXY+Cis8L2Rpdj4KKzxkaXYgc3R5bGU9ImZsb2F0
OiBsZWZ0OyB3aWR0aDogODAwcHg7IGZvbnQtc2l6ZTogMi41cmVtIiA+CisgIFRoaXMgdGV4dCBz
aG91bGQgYmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDgwMC8z
MjApLiBJdCBzaG91bGQgbm90IGFmZmVjdCBhdXRvc2l6aW5nIGZvciB0ZXh0IGFib3ZlIHRob3Vn
aCBzaW5jZSBpdCdzIGFub3RoZXIgY2x1c3Rlci4KKyAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQg
YW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9y
IGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQg
bWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBu
aXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBk
b2xvciBpbiByZXByZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xv
cmUgZXUgZnVnaWF0IG51bGxhIHBhcmlhdHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBp
ZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1v
bGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRo
LW5hcnJvdy1sY2EtYW5kLWNsdXN0ZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRv
c2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWFuZC1jbHVzdGVyLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjY0ODAwMmEyYmIzNTIyNjA2YWFjZGRkNTM4NjY1NDkyZmZkNTMwYQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJy
b3ctbGNhLWFuZC1jbHVzdGVyLmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ODAwIj4KKzxzdHlsZT4KK2h0bWwgeyBmb250LXNpemU6IDE2cHg7IH0KK2JvZHkgeyB3aWR0aDog
ODAwcHg7IG92ZXJmbG93LXk6IGhpZGRlbjsgfQorPC9zdHlsZT4KKworPHNjcmlwdD4KK2lmICh3
aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0
QXV0b3NpemluZ0VuYWJsZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5z
ZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYg
KHdpbmRvdy5jb25zb2xlICYmIGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhp
cyB0ZXN0IGRlcGVuZHMgb24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUs
IHNvIHJ1biBpdCBpbiBEdW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0
b3NpemluZywgYW5kIGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNl
LXdpZHRoIChsaWtlIE5leHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVY
VF9BVVRPU0laSU5HX09OX0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJv
ZHk+CisKKzxkaXYgc3R5bGU9IndpZHRoOiA0MDBweCIgPgorICA8ZGl2PgorICAgIFRoaXMgdGV4
dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIGp1c3QgMjBweCBjb21wdXRlZCBmb250IHNpemUgKDE2
ICogNDAwLzMyMCksIHNpbmNlIHRoZSB3aWR0aCBvZiB0aGUgbGVhc3QgY29tbW9uIGFuY2VzdG9y
IGlzIHVzZWQgZm9yIG11bHRpcGxpZXIgY2FsY3VsYXRpb24uCisgIDwvZGl2PgorCisgIDxkaXY+
CisgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBzaW1pbGFybHkgYXV0b3NpemVkIHRvIDIwcHguCisg
IDwvZGl2PgorPC9kaXY+Cis8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgd2lkdGg6IDgwMHB4IiA+
CisgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udCBz
aXplICgxNiAqIDgwMC8zMjApLiBJdCBzaG91bGQgbm90IGFmZmVjdCBhdXRvc2l6aW5nIGZvciB0
ZXh0IGFib3ZlIHRob3VnaCBzaW5jZSBpdCdzIGFub3RoZXIgY2x1c3Rlci4KKyAgICBMb3JlbSBp
cHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRv
IGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlx
dWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVs
bGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuIER1
aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxpdCBl
c3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBhcmlhdHVyLiBFeGNlcHRldXIgc2lu
dCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1bHBhIHF1aSBvZmZp
Y2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLgorPC9kaXY+CisKKzwvYm9k
eT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXpp
bmcvY2x1c3Rlci13aXRoLW5hcnJvdy1sY2EtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWV4cGVjdGVkLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNDI2ZmZjMzc0YWQ0OTJiNjY5NTFhMTIxYzM1MzUzZmEyNWM0ZjIwNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXIt
d2l0aC1uYXJyb3ctbGNhLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ODAwIj4KKzxzdHlsZT4KK2h0bWwgeyBmb250LXNpemU6IDE2cHg7IH0KK2JvZHkgeyB3
aWR0aDogODAwcHg7IG92ZXJmbG93LXk6IGhpZGRlbjsgfQorPC9zdHlsZT4KKworPC9oZWFkPgor
PGJvZHk+CisKKzxkaXYgc3R5bGU9IndpZHRoOiA0MDBweCI+CisgIDxkaXYgc3R5bGU9ImZvbnQt
c2l6ZTogMS4yNXJlbSI+CisgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQgdG8ganVz
dCAyMHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSAoMTYgKiA0MDAvMzIwKSwgc2luY2UgdGhlIHdpZHRo
IG9mIHRoZSBsZWFzdCBjb21tb24gYW5jZXN0b3IgaXMgdXNlZCBmb3IgbXVsdGlwbGllciBjYWxj
dWxhdGlvbi4KKyAgPC9kaXY+CisKKyAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxLjI1cmVtIj4K
KyAgICBUaGlzIHRleHQgc2hvdWxkIGJlIHNpbWlsYXJseSBhdXRvc2l6ZWQgdG8gMjBweC4KKyAg
PC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLW5hcnJvdy1sY2EuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzliNWFjYjU4NmE0NGM5MmY5OWY2NGQ4YmY2OGEwOTE0MjNlMDUyZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0
ZXItd2l0aC1uYXJyb3ctbGNhLmh0bWwKQEAgLTAsMCArMSwzNCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ODAwIj4KKzxzdHlsZT4KK2h0bWwgeyBmb250LXNpemU6IDE2cHg7IH0KK2JvZHkgeyB3aWR0aDog
ODAwcHg7IG92ZXJmbG93LXk6IGhpZGRlbjsgfQorPC9zdHlsZT4KKworPHNjcmlwdD4KK2lmICh3
aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0
QXV0b3NpemluZ0VuYWJsZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5z
ZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYg
KHdpbmRvdy5jb25zb2xlICYmIGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhp
cyB0ZXN0IGRlcGVuZHMgb24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUs
IHNvIHJ1biBpdCBpbiBEdW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0
b3NpemluZywgYW5kIGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNl
LXdpZHRoIChsaWtlIE5leHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVY
VF9BVVRPU0laSU5HX09OX0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJv
ZHk+CisKKzxkaXYgc3R5bGU9IndpZHRoOiA0MDBweCIgPgorICA8ZGl2PgorICAgIFRoaXMgdGV4
dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIGp1c3QgMjBweCBjb21wdXRlZCBmb250IHNpemUgKDE2
ICogNDAwLzMyMCksIHNpbmNlIHRoZSB3aWR0aCBvZiB0aGUgbGVhc3QgY29tbW9uIGFuY2VzdG9y
IGlzIHVzZWQgZm9yIG11bHRpcGxpZXIgY2FsY3VsYXRpb24uCisgIDwvZGl2PgorCisgIDxkaXY+
CisgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBzaW1pbGFybHkgYXV0b3NpemVkIHRvIDIwcHguCisg
IDwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC13aWRlLWxjYS1leHBlY3RlZC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLXdpZGUt
bGNhLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGQwYzdkNjcxZDM5MDgxOGE1NjMxMzg3MDJi
M2RkNDJlOTVhNTU3OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1h
dXRvc2l6aW5nL2NsdXN0ZXItd2l0aC13aWRlLWxjYS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEs
MzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGU+CitodG1sIHsgZm9udC1zaXplOiAx
NnB4OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBvdmVyZmxvdy15OiBoaWRkZW47IH0KKzwvc3R5
bGU+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJ3aWR0aDogNDAwcHgiID4KKyAg
PGRpdiBzdHlsZT0iZm9udC1zaXplOiAyLjVyZW0iID4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJl
IGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSAoMTYgKiA4MDAvMzIwKS4KKyAg
PC9kaXY+CisKKyAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAyLjVyZW0iID4KKyAgICBUaGlzIHRl
eHQgc2hvdWxkIGJlIHNpbWlsYXJseSBhdXRvc2l6ZWQgdG8gNDBweC4KKyAgPC9kaXY+Cis8L2Rp
dj4KKzxkaXYgc3R5bGU9IndpZHRoOiA4MDBweDsgZm9udC1zaXplOiAyLjVyZW0iID4KKyAgVGhp
cyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQgdG8gNDBweCBjb21wdXRlZCBmb250IHNpemUgKDE2
ICogODAwLzMyMCkuCisgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBh
ZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJv
cmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMg
bm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBl
YSBjb21tb2RvIGNvbnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVy
aXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVsbGEg
cGFyaWF0dXIuIEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQs
IHN1bnQgaW4gY3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxh
Ym9ydW0uCis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC13aWRlLWxjYS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmZmMDVkYWVkZjc5ODUwYWIxYWRiYWIwMjE3NDk3NjRkMDFiNDE0NmMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVy
LXdpdGgtd2lkZS1sY2EuaHRtbApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAi
PgorPHN0eWxlPgoraHRtbCB7IGZvbnQtc2l6ZTogMTZweDsgfQorYm9keSB7IHdpZHRoOiA4MDBw
eDsgb3ZlcmZsb3cteTogaGlkZGVuOyB9Cis8L3N0eWxlPgorCis8c2NyaXB0PgoraWYgKHdpbmRv
dy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRv
c2l6aW5nRW5hYmxlZCh0cnVlKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRl
eHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlKDMyMCwgNDgwKTsKK30gZWxzZSBpZiAod2lu
ZG93LmNvbnNvbGUgJiYgY29uc29sZS53YXJuKSB7CisgICAgY29uc29sZS53YXJuKCJUaGlzIHRl
c3QgZGVwZW5kcyBvbiB0aGUgVGV4dCBBdXRvc2l6aW5nIHNldHRpbmcgYmVpbmcgdHJ1ZSwgc28g
cnVuIGl0IGluIER1bXBSZW5kZXJUcmVlLCBvciBtYW51YWxseSBlbmFibGUgVGV4dCBBdXRvc2l6
aW5nLCBhbmQgZWl0aGVyIHVzZSBhIG1vYmlsZSBkZXZpY2Ugd2l0aCAzMjBweCBkZXZpY2Utd2lk
dGggKGxpa2UgTmV4dXMgUyBvciBpUGhvbmUpLCBvciBkZWZpbmUgSEFDS19GT1JDRV9URVhUX0FV
VE9TSVpJTkdfT05fREVTS1RPUC4iKTsKK30KKzwvc2NyaXB0PgorCis8L2hlYWQ+Cis8Ym9keT4K
KworPGRpdiBzdHlsZT0id2lkdGg6IDQwMHB4IiA+CisgIDxkaXY+CisgICAgVGhpcyB0ZXh0IHNo
b3VsZCBiZSBhdXRvc2l6ZWQgdG8gNDBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogODAwLzMy
MCkuCisgIDwvZGl2PgorCisgIDxkaXY+CisgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBzaW1pbGFy
bHkgYXV0b3NpemVkIHRvIDQwcHguCisgIDwvZGl2PgorPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0
aDogODAwcHgiID4KKyAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQgdG8gNDBweCBjb21w
dXRlZCBmb250IHNpemUgKDE2ICogODAwLzMyMCkuCisgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBh
bWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3Ig
aW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBt
aW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5p
c2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRv
bG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9y
ZSBldSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuIEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlk
YXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4gY3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9s
bGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uCis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9lbS1tYXJnaW4tYm9y
ZGVyLXBhZGRpbmctZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6
aW5nL2VtLW1hcmdpbi1ib3JkZXItcGFkZGluZy1leHBlY3RlZC5odG1sCmluZGV4IDQzYmQxYzA2
ODljODQ0NWU4MGE4MDUxMDhmZWRlNTg1YmU2ZjFmMjMuLmQ5M2NiMjU0OGYwMTZiZDg3Y2QzYWMx
YzMyZmExNmIzYTI0YWE4ZTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRv
c2l6aW5nL2VtLW1hcmdpbi1ib3JkZXItcGFkZGluZy1leHBlY3RlZC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1ib3JkZXItcGFkZGluZy1leHBl
Y3RlZC5odG1sCkBAIC0xMSw4ICsxMSw4IEBAIGJvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjog
MDsgb3ZlcmZsb3cteTogaGlkZGVuOyB9CiA8L2hlYWQ+CiA8Ym9keT4KIAotPHAgc3R5bGU9ImZv
bnQtc2l6ZTogMi41cmVtOyBtYXJnaW46IDFyZW07IGJvcmRlcjogMXJlbSBzb2xpZCBibHVlOyBw
YWRkaW5nOiAxcmVtIj4KLSAgICBUaGlzIHRleHQgc2hvdWxkIGdldCBhdXRvc2l6ZWQgdG8gNDBw
eCBjb21wdXRlZCBmb250IHNpemUsIGJ1dCB0aGUgMWVtIG1hcmdpbnMsIGJvcmRlcnMgYW5kIHBh
ZGRpbmcgc2hvdWxkIHJlbWFpbiBqdXN0IDE2cHguIFdoaWxlIGRlYmF0YWJsZSwgdGhpcyBnZW5l
cmFsbHkgbG9va3MgbW9yZSBjb25zaXN0ZW50IHRoYW4gaGF2aW5nIHRoZW0gYmUgc2NhbGVkLjxi
cj4KKzxwIHN0eWxlPSJmb250LXNpemU6IDIuMnJlbTsgbWFyZ2luOiAxcmVtOyBib3JkZXI6IDFy
ZW0gc29saWQgYmx1ZTsgcGFkZGluZzogMXJlbSI+CisgICAgVGhpcyB0ZXh0IHNob3VsZCBnZXQg
YXV0b3NpemVkIHRvIDM1LjJweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogNzA0LzMyMCksIGJ1
dCB0aGUgMWVtIG1hcmdpbnMsIGJvcmRlcnMgYW5kIHBhZGRpbmcgc2hvdWxkIHJlbWFpbiBqdXN0
IDE2cHguIFdoaWxlIGRlYmF0YWJsZSwgdGhpcyBnZW5lcmFsbHkgbG9va3MgbW9yZSBjb25zaXN0
ZW50IHRoYW4gaGF2aW5nIHRoZW0gYmUgc2NhbGVkLjxicj4KICAgICBMb3JlbSBpcHN1bSBkb2xv
ciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2Qg
dGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVu
aW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFi
b3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuCiA8L3A+CiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1ib3Jk
ZXItcGFkZGluZy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZW0tbWFy
Z2luLWJvcmRlci1wYWRkaW5nLmh0bWwKaW5kZXggMzk1ZTgxNGE2MzEyMDg2Mzc4YmViMGY3MDlm
OGQyYTFhZDFjNzljYi4uNDZlZjU4MzY3MTcwMTAzZTQwOTBkNGJjNzEyZTk4NzRiM2M1Nzg5NiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZW0tbWFyZ2luLWJv
cmRlci1wYWRkaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcv
ZW0tbWFyZ2luLWJvcmRlci1wYWRkaW5nLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgaWYgKHdpbmRv
dy5pbnRlcm5hbHMpIHsKIDxib2R5PgogCiA8cCBzdHlsZT0ibWFyZ2luOiAxZW07IGJvcmRlcjog
MWVtIHNvbGlkIGJsdWU7IHBhZGRpbmc6IDFlbSI+Ci0gICAgVGhpcyB0ZXh0IHNob3VsZCBnZXQg
YXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udCBzaXplLCBidXQgdGhlIDFlbSBtYXJnaW5z
LCBib3JkZXJzIGFuZCBwYWRkaW5nIHNob3VsZCByZW1haW4ganVzdCAxNnB4LiBXaGlsZSBkZWJh
dGFibGUsIHRoaXMgZ2VuZXJhbGx5IGxvb2tzIG1vcmUgY29uc2lzdGVudCB0aGFuIGhhdmluZyB0
aGVtIGJlIHNjYWxlZC48YnI+CisgICAgVGhpcyB0ZXh0IHNob3VsZCBnZXQgYXV0b3NpemVkIHRv
IDM1LjJweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogNzA0LzMyMCksIGJ1dCB0aGUgMWVtIG1h
cmdpbnMsIGJvcmRlcnMgYW5kIHBhZGRpbmcgc2hvdWxkIHJlbWFpbiBqdXN0IDE2cHguIFdoaWxl
IGRlYmF0YWJsZSwgdGhpcyBnZW5lcmFsbHkgbG9va3MgbW9yZSBjb25zaXN0ZW50IHRoYW4gaGF2
aW5nIHRoZW0gYmUgc2NhbGVkLjxicj4KICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwg
Y29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lk
aWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0g
dmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0
IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuCiA8L3A+CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtY2hpbGQtZXhwZWN0ZWQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtY2hpbGQtZXhwZWN0ZWQuaHRt
bAppbmRleCA0YjAwMGY2NzBlYTcyNGMwOWE2ZTdhZGJlZGI3ZDExNjM3M2JiMzViLi4wMTI0N2Fm
YmQ5YWI3ZjFlOWI4Mzg5MjFmZWUyMjUyZWRlOTZlNTJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWNoaWxkLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lkZS1jaGlsZC1leHBlY3RlZC5odG1sCkBA
IC0xMSw5ICsxMSwxMSBAQCBib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IG92ZXJmbG93
LXk6IGhpZGRlbjsgfQogPC9oZWFkPgogPGJvZHk+CiAKLTxkaXYgc3R5bGU9IndpZHRoOiAzMjBw
eDsgZm9udC1zaXplOiAyLjVyZW0iPgotICAgIFRoaXMgdGV4dCBzaG91bGQgYWxsIGJlIGF1dG9z
aXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQtc2l6ZSwgc2luY2UgYWx0aG91Z2ggdGhpcyBibG9j
ayBpcyBuYXJyb3csIGl0IGhhcyBhIHdpZGUgY2hpbGQgYmxvY2ssIHNvIHRoZSBjbHVzdGVyIHdp
bGwgYmUgd2lkZSBhbmQgbmVlZCBhdXRvc2l6aW5nLgotICAgIDxkaXYgc3R5bGU9IndpZHRoOiA4
MDBweCI+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMzIwcHg7IGZvbnQtc2l6ZTogMXJlbSI+CisJVGhp
cyB0ZXh0IHNob3VsZCBub3QgYmUgYXV0b3NpemVkLgorCTxkaXYgc3R5bGU9IndpZHRoOiA4MDBw
eCI+CisgICAgCVRoaXMgdGV4dCBzaG91bGQgbm90IGJlIGF1dG9zaXplZCBhcyB3ZWxsIHNpbmNl
IGl0cyB3aWR0aCBkb2Vzbid0IGFmZmVjdCB0aGUgd2lkdGggb2YgdGhlIHBhcmVudCBibG9jay4K
KyAgICAJRklYTUUoYXZheXZvZCk6IElkZWFsbHkgdGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6
ZWQuIFdpbGwgbmVlZCB0byBiZSBmaXhlZCBsYXRlci4KICAgICAgICAgTG9yZW0gaXBzdW0gZG9s
b3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9k
IHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLgogICAg
IDwvZGl2PgogICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlw
aXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUg
ZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC1hdXRvc2l6aW5nL3dpZGUtY2hpbGQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRv
c2l6aW5nL3dpZGUtY2hpbGQuaHRtbAppbmRleCAwYTViMTIxNGY4MDk5MTQ2MTQ3YjdiMGNlZDNm
OTIxOWVmOTE1NTUxLi4wNGJmZWExYjM1MmMyMTU5YWMwNmQ2ZGNiM2IzNzZlYTgwNTNmMDc3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWNoaWxkLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lkZS1jaGlsZC5odG1s
CkBAIC0yMSw4ICsyMSwxMCBAQCBpZiAod2luZG93LmludGVybmFscykgewogPGJvZHk+CiAKIDxk
aXYgc3R5bGU9IndpZHRoOiAzMjBweCI+Ci0gICAgVGhpcyB0ZXh0IHNob3VsZCBhbGwgYmUgYXV0
b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udC1zaXplLCBzaW5jZSBhbHRob3VnaCB0aGlzIGJs
b2NrIGlzIG5hcnJvdywgaXQgaGFzIGEgd2lkZSBjaGlsZCBibG9jaywgc28gdGhlIGNsdXN0ZXIg
d2lsbCBiZSB3aWRlIGFuZCBuZWVkIGF1dG9zaXppbmcuCisgICAgVGhpcyB0ZXh0IHNob3VsZCBu
b3QgYmUgYXV0b3NpemVkLgogICAgIDxkaXYgc3R5bGU9IndpZHRoOiA4MDBweCI+CisgICAgCVRo
aXMgdGV4dCBzaG91bGQgbm90IGJlIGF1dG9zaXplZCBhcyB3ZWxsIHNpbmNlIGl0cyB3aWR0aCBk
b2Vzbid0IGFmZmVjdCB0aGUgd2lkdGggb2YgdGhlIHBhcmVudCBibG9jay4KKyAgICAJRklYTUUo
YXZheXZvZCk6IElkZWFsbHkgdGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQuIFdpbGwgbmVl
ZCB0byBiZSBmaXhlZCBsYXRlci4KICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQs
IGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNp
ZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLgogICAgIDwvZGl2PgogICAg
IExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0
LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1h
Z25hIGFsaXF1YS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5n
L3dpZGUtaW4tbmFycm93LW92ZXJmbG93LXNjcm9sbC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lkZS1pbi1uYXJyb3ctb3ZlcmZsb3ctc2Nyb2xsLWV4
cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjQyMDRlZjg3NDUyYjM0OGM0MzM5MDJlMTdmYmVlMjRk
Y2I5NzY4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6
aW5nL3dpZGUtaW4tbmFycm93LW92ZXJmbG93LXNjcm9sbC1leHBlY3RlZC5odG1sCkBAIC0wLDAg
KzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGU+CitodG1sIHsgZm9udC1zaXpl
OiAxNnB4OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IG92ZXJmbG93LXk6IGhp
ZGRlbjsgfQorPC9zdHlsZT4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9IndpZHRo
OiA0MDBweCI+CisgIDxkaXYgc3R5bGU9Im92ZXJmbG93LXg6IHNjcm9sbCI+CisgICAgPGRpdiBz
dHlsZT0id2lkdGg6IDgwMHB4OyBmb250LXNpemU6IDEuMjVyZW0iPgorICAgICAgICBUaGlzIHRl
eHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byAyMHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSAoMTYgKiA0
MDAvMzIwKSwgc2luY2UgaXRzIHNjcm9sbCB3aWR0aCBpcyA0MDBweC48YnI+CisgICAgICAgIExv
cmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBz
ZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25h
IGFsaXF1YS4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisKKyAgPGRpdiBzdHlsZT0iZm9udC1zaXpl
OiAxLjI1cmVtIj4KKyAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQgdG8gMjBw
eCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogNDAwLzMyMCkuPGJyPgorICAgICAgICBMb3JlbSBp
cHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRv
IGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlx
dWEuCisgIDwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lkZS1pbi1uYXJyb3ctb3ZlcmZsb3ct
c2Nyb2xsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWluLW5h
cnJvdy1vdmVyZmxvdy1zY3JvbGwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMTg1NDQ5MGE2MDBlNzA5MzIz
MDhlZDY5NzQ1ZTAxYTViOGMzZTM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0LWF1dG9zaXppbmcvd2lkZS1pbi1uYXJyb3ctb3ZlcmZsb3ctc2Nyb2xsLmh0bWwKQEAg
LTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZT4KK2h0bWwgeyBmb250
LXNpemU6IDE2cHg7IH0KK2JvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjogMDsgb3ZlcmZsb3ct
eTogaGlkZGVuOyB9Cis8L3N0eWxlPgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMp
IHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nRW5hYmxl
ZCh0cnVlKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5n
V2luZG93U2l6ZU92ZXJyaWRlKDMyMCwgNDgwKTsKK30gZWxzZSBpZiAod2luZG93LmNvbnNvbGUg
JiYgY29uc29sZS53YXJuKSB7CisgICAgY29uc29sZS53YXJuKCJUaGlzIHRlc3QgZGVwZW5kcyBv
biB0aGUgVGV4dCBBdXRvc2l6aW5nIHNldHRpbmcgYmVpbmcgdHJ1ZSwgc28gcnVuIGl0IGluIER1
bXBSZW5kZXJUcmVlLCBvciBtYW51YWxseSBlbmFibGUgVGV4dCBBdXRvc2l6aW5nLCBhbmQgZWl0
aGVyIHVzZSBhIG1vYmlsZSBkZXZpY2Ugd2l0aCAzMjBweCBkZXZpY2Utd2lkdGggKGxpa2UgTmV4
dXMgUyBvciBpUGhvbmUpLCBvciBkZWZpbmUgSEFDS19GT1JDRV9URVhUX0FVVE9TSVpJTkdfT05f
REVTS1RPUC4iKTsKK30KKzwvc2NyaXB0PgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHls
ZT0id2lkdGg6IDQwMHB4Ij4KKyAgPGRpdiBzdHlsZT0ib3ZlcmZsb3cteDogc2Nyb2xsIj4KKyAg
ICA8ZGl2IHN0eWxlPSJ3aWR0aDogODAwcHgiPgorICAgICAgICBUaGlzIHRleHQgc2hvdWxkIGJl
IGF1dG9zaXplZCB0byAyMHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSAoMTYgKiA0MDAvMzIwKSwgc2lu
Y2UgaXRzIHNjcm9sbCB3aWR0aCBpcyA0MDBweC48YnI+CisgICAgICAgIExvcmVtIGlwc3VtIGRv
bG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21v
ZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KKyAg
ICA8L2Rpdj4KKyAgPC9kaXY+CisKKyAgPGRpdj4KKyAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBi
ZSBhdXRvc2l6ZWQgdG8gMjBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogNDAwLzMyMCkuPGJy
PgorICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlz
aWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0
IGRvbG9yZSBtYWduYSBhbGlxdWEuCisgIDwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRt
bD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176278</attachid>
            <date>2012-11-27 08:47:25 -0800</date>
            <delta_ts>2012-11-27 08:57:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102562-20121127164501.patch</filename>
            <type>text/plain</type>
            <size>30726</size>
            <attacher name="Anton Vayvod">avayvod</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGM5MmVmNDJkYTJhNDA2
ZDg3MmE5YTBjMzdiYjgxYWVlNDNmOWQ1NS4uMmUyODUzOGYzMWE0ZTk1N2Y0OWE5MTRkMmYzMjZj
YzI5YTY1ZDY3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTExLTI3ICBBbnRv
biBWYXl2b2QgIDxhdmF5dm9kQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0IEF1dG9zaXpp
bmc6IENsdXN0ZXJzIHNob3VsZCB1c2Ugd2lkdGggb2YgTENBIG9mIHRoZWlyIHRleHQgbm9kZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjU2Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1hbnkgcGFn
ZXMgc2V0IGEgbWF4LXdpZHRoIG9uIHRoZWlyIGNvbnRlbnQuIFNvIGVzcGVjaWFsbHkgZm9yIHRo
ZQorICAgICAgICBSZW5kZXJWaWV3LCBpbnN0ZWFkIG9mIGp1c3QgdGFraW5nIHRoZSB3aWR0aCBv
ZiB8Y2x1c3Rlcnwgd2UgZmluZAorICAgICAgICB0aGUgbG93ZXN0IGNvbW1vbiBhbmNlc3RvciBv
ZiB0aGUgZmlyc3QgYW5kIGxhc3QgZGVzY2VuZGFudCB0ZXh0IG5vZGUgb2YKKyAgICAgICAgdGhl
IGNsdXN0ZXIgKGkuZS4gdGhlIGRlZXBlc3Qgd3JhcHBlciBibG9jayB0aGF0IGNvbnRhaW5zIGFs
bCB0aGUgdGV4dCksCisgICAgICAgIGFuZCB1c2UgaXRzIHdpZHRoIGluc3RlYWQuCisKKyAgICAg
ICAgVGVzdHM6IGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWFu
ZC1jbHVzdGVyLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0
ZXItd2l0aC1uYXJyb3ctbGNhLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC1hdXRvc2l6
aW5nL2NsdXN0ZXItd2l0aC13aWRlLWxjYS5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQt
YXV0b3NpemluZy93aWRlLWluLW5hcnJvdy1vdmVyZmxvdy1zY3JvbGwuaHRtbAorCisgICAgICAg
ICogcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEF1
dG9zaXplcjo6cHJvY2Vzc0NsdXN0ZXIpOiB1c2UgdGV4dCBub2RlcyBMQ0EgaW5zdGVhZCBvZiBj
bHVzdGVyIGZvciB3aWR0aCBjYWxjdWxhdGlvbgorICAgICAgICAoV2ViQ29yZTo6VGV4dEF1dG9z
aXplcjo6aXNBdXRvc2l6aW5nQ2x1c3Rlcik6IHJlcGxhY2VkIGFzc2VydGlvbiBmb3IgYmVpbmcg
YXV0b3NpemluZyBjb250YWluZXIgd2l0aCBhIGNoZWNrCisgICAgICAgIChXZWJDb3JlOjpUZXh0
QXV0b3NpemVyOjpmaW5kRGVlcGVzdEJsb2NrV2l0aEFsbFRleHQpOiBzZWFyY2hlcyBmb3IgTENB
IG9mIHRleHQgbm9kZXMgaWdub3JpbmcgZGVzY2VuZGFudCBjbHVzdGVycworICAgICAgICAoV2Vi
Q29yZTo6VGV4dEF1dG9zaXplcjo6ZmluZEZpcnN0VGV4dExlYWZOb3RJbkNsdXN0ZXIpOiBzZWFy
Y2hlcyBmb3IgdGhlIGZpcnN0IHRleHQgbm9kZSBpbi1vcmRlciBpZ25vcmluZyBhbnkgZGVzY2Vu
ZGFudCBjbHVzdGVycworICAgICAgICAoV2ViQ29yZTo6VGV4dEF1dG9zaXplcjo6ZmluZExhc3RU
ZXh0TGVhZk5vdEluQ2x1c3Rlcik6IHNlYXJjaGVzIGZvciB0aGUgbGFzdCB0ZXh0IG5vZGUgaW4t
b3JkZXIgaWdub3JpbmcgYW55IGRlc2NlbmRhbnQgY2x1c3RlcnMKKyAgICAgICAgKFdlYkNvcmU6
OlRleHRBdXRvc2l6ZXI6OmZpbmRGaW5hbFRleHRMZWFmTm90SW5DbHVzdGVyKTogaGVscGVyIGZ1
bmN0aW9uIHJlZHVjaW5nIGNvZGUgZHVwbGljYXRpb24KKyAgICAgICAgKFdlYkNvcmU6OlRleHRB
dXRvc2l6ZXI6OmZpcnN0Q2hpbGQpOiBoZWxwZnVsIHdyYXBwZXIgYXJvdW5kIGZpcnN0L2xhc3RD
aGlsZCBtZXRob2RzIG9mIFJlbmRlck9iamVjdAorICAgICAgICAoV2ViQ29yZTo6VGV4dEF1dG9z
aXplcjo6bmV4dFNpYmxpbmcpOiBoZWxwZnVsIHdyYXBwZXIgYXJvdW5kIG5leHQvcHJldmlvdXNT
aWJsaW5nIG1ldGhvZHMgb2YgUmVuZGVyT2JqZWN0CisgICAgICAgICogcmVuZGVyaW5nL1RleHRB
dXRvc2l6ZXIuaDogbmV3IHByaXZhdGUgbWV0aG9kcyBkZWNsYXJhdGlvbnMgYW5kIGFuIGVudW0g
Zm9yIHRyZWUgdHJhdmVyc2FsIGRpcmVjdGlvbi4KKwogMjAxMi0xMS0yNiAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBGaXggUXQg
bWluaW1hbCBjb21waWxhdGlvbiBhZnRlciByMTM1NzEzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1RleHRBdXRvc2l6ZXIuY3BwCmluZGV4IDM2MDY3ZmQ3ODA5ZTljMzg0ZWQ3OGRkMmJmNmMx
Y2UzNWEyNmI3YjYuLjQ1NjYzNjk4ZmFhZGY2NjUxNGE2MmVjYWE5NDM1YWQxMWU1YjQ3OTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9zaXplci5jcHAKQEAgLTk0LDExICs5
NCwxMiBAQCB2b2lkIFRleHRBdXRvc2l6ZXI6OnByb2Nlc3NDbHVzdGVyKFJlbmRlckJsb2NrKiBj
bHVzdGVyLCBSZW5kZXJCbG9jayogY29udGFpbmVyLAogewogICAgIEFTU0VSVChpc0F1dG9zaXpp
bmdDbHVzdGVyKGNsdXN0ZXIpKTsKIAotICAgIC8vIEZJWE1FOiBNYW55IHBhZ2VzIHNldCBhIG1h
eC13aWR0aCBvbiB0aGVpciBjb250ZW50LiBTbyBlc3BlY2lhbGx5IGZvciB0aGUgUmVuZGVyVmll
dywKLSAgICAvLyBpbnN0ZWFkIG9mIGp1c3QgdGFraW5nIHRoZSB3aWR0aCBvZiB8Y2x1c3Rlcnwg
d2Ugc2hvdWxkIGZpbmQgdGhlIGxvd2VzdCBjb21tb24gYW5jZXN0b3Igb2YKLSAgICAvLyB0aGUg
Zmlyc3QgYW5kIGxhc3QgZGVzY2VuZGFudCB0ZXh0IG5vZGUgb2YgdGhlIGNsdXN0ZXIgKGkuZS4g
dGhlIGRlZXBlc3Qgd3JhcHBlciBibG9jayB0aGF0Ci0gICAgLy8gY29udGFpbnMgYWxsIHRoZSB0
ZXh0KSwgYW5kIHVzZSBpdHMgd2lkdGggaW5zdGVhZC4KLSAgICBSZW5kZXJCbG9jayogbG93ZXN0
Q29tbW9uQW5jZXN0b3IgPSBjbHVzdGVyOworICAgIC8vIE1hbnkgcGFnZXMgc2V0IGEgbWF4LXdp
ZHRoIG9uIHRoZWlyIGNvbnRlbnQuIFNvIGVzcGVjaWFsbHkgZm9yIHRoZQorICAgIC8vIFJlbmRl
clZpZXcsIGluc3RlYWQgb2YganVzdCB0YWtpbmcgdGhlIHdpZHRoIG9mIHxjbHVzdGVyfCB3ZSBm
aW5kCisgICAgLy8gdGhlIGxvd2VzdCBjb21tb24gYW5jZXN0b3Igb2YgdGhlIGZpcnN0IGFuZCBs
YXN0IGRlc2NlbmRhbnQgdGV4dCBub2RlIG9mCisgICAgLy8gdGhlIGNsdXN0ZXIgKGkuZS4gdGhl
IGRlZXBlc3Qgd3JhcHBlciBibG9jayB0aGF0IGNvbnRhaW5zIGFsbCB0aGUgdGV4dCksCisgICAg
Ly8gYW5kIHVzZSBpdHMgd2lkdGggaW5zdGVhZC4KKyAgICBjb25zdCBSZW5kZXJCbG9jayogbG93
ZXN0Q29tbW9uQW5jZXN0b3IgPSBmaW5kRGVlcGVzdEJsb2NrQ29udGFpbmluZ0FsbFRleHQoY2x1
c3Rlcik7CiAgICAgZmxvYXQgY29tbW9uQW5jZXN0b3JXaWR0aCA9IGxvd2VzdENvbW1vbkFuY2Vz
dG9yLT5jb250ZW50TG9naWNhbFdpZHRoKCk7CiAKICAgICBmbG9hdCBtdWx0aXBsaWVyID0gMTsK
QEAgLTI5Nyw2ICsyOTgsOTggQEAgUmVuZGVyT2JqZWN0KiBUZXh0QXV0b3NpemVyOjpuZXh0SW5Q
cmVPcmRlclNraXBwaW5nRGVzY2VuZGFudHNPZkNvbnRhaW5lcnMoY29uc3QKICAgICByZXR1cm4g
MDsKIH0KIAorY29uc3QgUmVuZGVyQmxvY2sqIFRleHRBdXRvc2l6ZXI6OmZpbmREZWVwZXN0Qmxv
Y2tDb250YWluaW5nQWxsVGV4dChjb25zdCBSZW5kZXJCbG9jayogY2x1c3RlcikKK3sKKyAgICBB
U1NFUlQoaXNBdXRvc2l6aW5nQ2x1c3RlcihjbHVzdGVyKSk7CisKKyAgICBzaXplX3QgZmlyc3RE
ZXB0aCA9IDA7CisgICAgY29uc3QgUmVuZGVyT2JqZWN0KiBmaXJzdFRleHRMZWFmID0gZmluZEZp
cnN0VGV4dExlYWZOb3RJbkNsdXN0ZXIoY2x1c3RlciwgZmlyc3REZXB0aCk7CisgICAgaWYgKCFm
aXJzdFRleHRMZWFmKQorICAgICAgICByZXR1cm4gY2x1c3RlcjsKKworICAgIHNpemVfdCBsYXN0
RGVwdGggPSAwOworICAgIGNvbnN0IFJlbmRlck9iamVjdCogbGFzdFRleHRMZWFmID0gZmluZExh
c3RUZXh0TGVhZk5vdEluQ2x1c3RlcihjbHVzdGVyLCBsYXN0RGVwdGgpOworICAgIEFTU0VSVChs
YXN0VGV4dExlYWYpOworCisgICAgLy8gRXF1YWxpemUgdGhlIGRlcHRocyBpZiBuZWNlc3Nhcnku
IE9ubHkgb25lIG9mIHRoZSB3aGlsZSBsb29wcyBiZWxvdyB3aWxsIGdldCBleGVjdXRlZC4KKyAg
ICBjb25zdCBSZW5kZXJPYmplY3QqIGZpcnN0Tm9kZSA9IGZpcnN0VGV4dExlYWY7CisgICAgY29u
c3QgUmVuZGVyT2JqZWN0KiBsYXN0Tm9kZSA9IGxhc3RUZXh0TGVhZjsKKyAgICB3aGlsZSAoZmly
c3REZXB0aCA+IGxhc3REZXB0aCkgeworICAgICAgICBmaXJzdE5vZGUgPSBmaXJzdE5vZGUtPnBh
cmVudCgpOworICAgICAgICAtLWZpcnN0RGVwdGg7CisgICAgfQorICAgIHdoaWxlIChsYXN0RGVw
dGggPiBmaXJzdERlcHRoKSB7CisgICAgICAgIGxhc3ROb2RlID0gbGFzdE5vZGUtPnBhcmVudCgp
OworICAgICAgICAtLWxhc3REZXB0aDsKKyAgICB9CisKKyAgICAvLyBHbyB1cCBmcm9tIGJvdGgg
bm9kZXMgdW50aWwgdGhlIHBhcmVudCBpcyB0aGUgc2FtZS4gQm90aCBwb2ludGVycyB3aWxsIHBv
aW50IHRvIHRoZSBMQ0EgdGhlbi4KKyAgICB3aGlsZSAoZmlyc3ROb2RlICE9IGxhc3ROb2RlKSB7
CisgICAgICAgIGZpcnN0Tm9kZSA9IGZpcnN0Tm9kZS0+cGFyZW50KCk7CisgICAgICAgIGxhc3RO
b2RlID0gbGFzdE5vZGUtPnBhcmVudCgpOworICAgIH0KKworICAgIGlmIChmaXJzdE5vZGUtPmlz
UmVuZGVyQmxvY2soKSkKKyAgICAgICAgcmV0dXJuIHRvUmVuZGVyQmxvY2soZmlyc3ROb2RlKTsK
KworICAgIHJldHVybiBmaXJzdE5vZGUtPmNvbnRhaW5pbmdCbG9jaygpOworfQorCitjb25zdCBS
ZW5kZXJPYmplY3QqIFRleHRBdXRvc2l6ZXI6OmZpbmRGaXJzdFRleHRMZWFmTm90SW5DbHVzdGVy
KGNvbnN0IFJlbmRlck9iamVjdCogcGFyZW50LCBzaXplX3QmIGRlcHRoKQoreworICAgIHJldHVy
biBmaW5kRmluYWxUZXh0TGVhZk5vdEluQ2x1c3RlcihwYXJlbnQsIGRlcHRoLCBGaXJzdFRvTGFz
dCk7Cit9CisKK2NvbnN0IFJlbmRlck9iamVjdCogVGV4dEF1dG9zaXplcjo6ZmluZExhc3RUZXh0
TGVhZk5vdEluQ2x1c3Rlcihjb25zdCBSZW5kZXJPYmplY3QqIHBhcmVudCwgc2l6ZV90JiBkZXB0
aCkKK3sKKyAgICByZXR1cm4gZmluZEZpbmFsVGV4dExlYWZOb3RJbkNsdXN0ZXIocGFyZW50LCBk
ZXB0aCwgTGFzdFRvRmlyc3QpOworfQorCitjb25zdCBSZW5kZXJPYmplY3QqIFRleHRBdXRvc2l6
ZXI6OmZpbmRGaW5hbFRleHRMZWFmTm90SW5DbHVzdGVyKGNvbnN0IFJlbmRlck9iamVjdCogcGFy
ZW50LCBzaXplX3QmIGRlcHRoLCBUcmF2ZXJzYWxEaXJlY3Rpb24gZGlyZWN0aW9uKQoreworICAg
IGlmIChwYXJlbnQtPmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHBhcmVudC0+aXNUZXh0KCkg
PyBwYXJlbnQgOiAwOworCisgICAgKytkZXB0aDsKKyAgICBmb3IgKGNvbnN0IFJlbmRlck9iamVj
dCogY2hpbGQgPSBmaXJzdENoaWxkKHBhcmVudCwgZGlyZWN0aW9uKTsgY2hpbGQ7IGNoaWxkID0g
bmV4dFNpYmxpbmcoY2hpbGQsIGRpcmVjdGlvbikpIHsKKyAgICAgICAgaWYgKGlzQXV0b3Npemlu
Z0NvbnRhaW5lcihjaGlsZCkgJiYgY2hpbGQtPmlzUmVuZGVyQmxvY2soKSAmJiBpc0F1dG9zaXpp
bmdDbHVzdGVyKHRvUmVuZGVyQmxvY2soY2hpbGQpKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOwor
CisgICAgICAgIGNvbnN0IFJlbmRlck9iamVjdCogbGVhZiA9IGZpbmRGaW5hbFRleHRMZWFmTm90
SW5DbHVzdGVyKGNoaWxkLCBkZXB0aCwgZGlyZWN0aW9uKTsKKyAgICAgICAgaWYgKGxlYWYpCisg
ICAgICAgICAgICByZXR1cm4gbGVhZjsKKyAgICB9CisgICAgLS1kZXB0aDsKKworICAgIHJldHVy
biAwOworfQorCitjb25zdCBSZW5kZXJPYmplY3QqIFRleHRBdXRvc2l6ZXI6OmZpcnN0Q2hpbGQo
Y29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QsIFRyYXZlcnNhbERpcmVjdGlvbiBkaXJlY3Rpb24p
Cit7CisgICAgc3dpdGNoIChkaXJlY3Rpb24pIHsKKyAgICBjYXNlIEZpcnN0VG9MYXN0OgorICAg
ICAgICByZXR1cm4gb2JqZWN0LT5maXJzdENoaWxkKCk7CisgICAgY2FzZSBMYXN0VG9GaXJzdDoK
KyAgICAgICAgcmV0dXJuIG9iamVjdC0+bGFzdENoaWxkKCk7CisgICAgZGVmYXVsdDoKKyAgICAg
ICAgQVNTRVJUKGZhbHNlKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorfQorCitjb25zdCBS
ZW5kZXJPYmplY3QqIFRleHRBdXRvc2l6ZXI6Om5leHRTaWJsaW5nKGNvbnN0IFJlbmRlck9iamVj
dCogb2JqZWN0LCBUcmF2ZXJzYWxEaXJlY3Rpb24gZGlyZWN0aW9uKQoreworICAgIHN3aXRjaCAo
ZGlyZWN0aW9uKSB7CisgICAgY2FzZSBGaXJzdFRvTGFzdDoKKyAgICAgICAgcmV0dXJuIG9iamVj
dC0+bmV4dFNpYmxpbmcoKTsKKyAgICBjYXNlIExhc3RUb0ZpcnN0OgorICAgICAgICByZXR1cm4g
b2JqZWN0LT5wcmV2aW91c1NpYmxpbmcoKTsKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlQo
ZmFsc2UpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9zaXplci5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuaAppbmRleCAyZTJlNzBlNmIwMjg0NTA3MTNiYTZmYWMy
ZGExMjhiNTdhZWVhMGQzLi5hMWI4NDBmOWEzOTkwZDcwZGRmNmM0NDBkZWJkNDhmODFkYjA3YjNl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9zaXplci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmgKQEAgLTU1LDYgKzU1
LDExIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgZmxvYXQgY29tcHV0ZUF1dG9zaXplZEZvbnRTaXpl
KGZsb2F0IHNwZWNpZmllZFNpemUsIGZsb2F0IG11bHRpcGxpZXIpOwogCiBwcml2YXRlOgorICAg
IGVudW0gVHJhdmVyc2FsRGlyZWN0aW9uIHsKKyAgICAgICAgRmlyc3RUb0xhc3QsCisgICAgICAg
IExhc3RUb0ZpcnN0CisgICAgfTsKKwogICAgIGV4cGxpY2l0IFRleHRBdXRvc2l6ZXIoRG9jdW1l
bnQqKTsKIAogICAgIHZvaWQgcHJvY2Vzc0NsdXN0ZXIoUmVuZGVyQmxvY2sqIGNsdXN0ZXIsIFJl
bmRlckJsb2NrKiBjb250YWluZXIsIFJlbmRlck9iamVjdCogc3VidHJlZVJvb3QsIGNvbnN0IFRl
eHRBdXRvc2l6aW5nV2luZG93SW5mbyYpOwpAQCAtNzEsNiArNzYsMjIgQEAgcHJpdmF0ZToKICAg
ICAvLyBVc2UgdG8gdHJhdmVyc2UgdGhlIHRyZWUgb2YgZGVzY2VuZGFudHMsIGV4Y2x1ZGluZyBk
ZXNjZW5kYW50cyBvZiBjb250YWluZXJzIChidXQgcmV0dXJuaW5nIHRoZSBjb250YWluZXJzIHRo
ZW1zZWx2ZXMpLgogICAgIHN0YXRpYyBSZW5kZXJPYmplY3QqIG5leHRJblByZU9yZGVyU2tpcHBp
bmdEZXNjZW5kYW50c09mQ29udGFpbmVycyhjb25zdCBSZW5kZXJPYmplY3QqIGN1cnJlbnQsIGNv
bnN0IFJlbmRlck9iamVjdCogc3RheVdpdGhpbik7CiAKKyAgICAvLyBGaW5kcyB0aGUgbG93ZXN0
IGNvbW1vbiBhbmNlc3RvciBvZiB0aGUgZmlyc3QgYW5kIHRoZSBsYXN0IGRlc2NlbmRhbnQKKyAg
ICAvLyB0ZXh0IG5vZGUgKGV4Y2x1ZGluZyB0aG9zZSBiZWxvbmdpbmcgdG8gb3RoZXIgYXV0b3Np
emluZyBjbHVzdGVycykuCisgICAgc3RhdGljIGNvbnN0IFJlbmRlckJsb2NrKiBmaW5kRGVlcGVz
dEJsb2NrQ29udGFpbmluZ0FsbFRleHQoY29uc3QgUmVuZGVyQmxvY2sqIGNsdXN0ZXIpOworCisg
ICAgLy8gRmluZHMgdGhlIGZpcnN0IGxlYWYgdGV4dCBub2RlIGNoaWxkIHRoYXQgZG9lc24ndCBi
ZWxvbmcgdG8gYW55IGNsdXN0ZXIuCisgICAgc3RhdGljIGNvbnN0IFJlbmRlck9iamVjdCogZmlu
ZEZpcnN0VGV4dExlYWZOb3RJbkNsdXN0ZXIoY29uc3QgUmVuZGVyT2JqZWN0Kiwgc2l6ZV90JiBk
ZXB0aCk7CisgICAgLy8gRmluZHMgdGhlIGxhc3QgbGVhZiB0ZXh0IG5vZGUgY2hpbGQgdGhhdCBk
b2Vzbid0IGJlbG9uZyB0byBhbnkgY2x1c3Rlci4KKyAgICBzdGF0aWMgY29uc3QgUmVuZGVyT2Jq
ZWN0KiBmaW5kTGFzdFRleHRMZWFmTm90SW5DbHVzdGVyKGNvbnN0IFJlbmRlck9iamVjdCosIHNp
emVfdCYgZGVwdGgpOworICAgIC8vIENvbW1vbiBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIHR3byBm
dW5jdGlvbnMgYWJvdmUuCisgICAgc3RhdGljIGNvbnN0IFJlbmRlck9iamVjdCogZmluZEZpbmFs
VGV4dExlYWZOb3RJbkNsdXN0ZXIoY29uc3QgUmVuZGVyT2JqZWN0Kiwgc2l6ZV90JiBkZXB0aCwg
VHJhdmVyc2FsRGlyZWN0aW9uKTsKKworICAgIC8vIFdyYXBwZXIgYXJvdW5kIGZpcnN0Q2hpbGQo
KSBhbmQgbGFzdENoaWxkKCkgbWV0aG9kcywgY2FsbGluZyBvbmUgb3IgYW5vdGhlciBkZXBlbmRp
bmcgb24gdGhlIGRpcmVjdGlvbi4KKyAgICBzdGF0aWMgY29uc3QgUmVuZGVyT2JqZWN0KiBmaXJz
dENoaWxkKGNvbnN0IFJlbmRlck9iamVjdCosIFRyYXZlcnNhbERpcmVjdGlvbik7CisgICAgLy8g
V3JhcHBlciBhcm91bmQgbmV4dFNpYmxpbmcoKSBhbmQgcHJldmlvdXNTaWJsaW5nKCkgbWV0aG9k
cywgY2FsbGluZyBvbmUgb3IgYW5vdGhlciBkZXBlbmRpbmcgb24gdGhlIGRpcmVjdGlvbi4KKyAg
ICBzdGF0aWMgY29uc3QgUmVuZGVyT2JqZWN0KiBuZXh0U2libGluZyhjb25zdCBSZW5kZXJPYmpl
Y3QqLCBUcmF2ZXJzYWxEaXJlY3Rpb24pOworCiAgICAgRG9jdW1lbnQqIG1fZG9jdW1lbnQ7CiB9
OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggMzhmOTQ4ZDhlOGYwOGJhZmFlNTc5MTc5NThmNDI5MDU0Mzg2OTU1My4uNTIz
NmY5ZDVmNzk4Y2NjN2ZhZmM3MWExZmM2YWNmYzVhMDliNDhmNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMz
IEBACisyMDEyLTExLTI3ICBBbnRvbiBWYXl2b2QgIDxhdmF5dm9kQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBUZXh0IEF1dG9zaXppbmc6IENsdXN0ZXJzIHNob3VsZCB1c2Ugd2lkdGggb2YgTENB
IG9mIHRoZWlyIHRleHQgbm9kZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwMjU2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE1hbnkgcGFnZXMgc2V0IGEgbWF4LXdpZHRoIG9uIHRoZWlyIGNvbnRlbnQu
IFNvIGVzcGVjaWFsbHkgZm9yIHRoZQorICAgICAgICBSZW5kZXJWaWV3LCBpbnN0ZWFkIG9mIGp1
c3QgdGFraW5nIHRoZSB3aWR0aCBvZiB8Y2x1c3Rlcnwgd2UgZmluZAorICAgICAgICB0aGUgbG93
ZXN0IGNvbW1vbiBhbmNlc3RvciBvZiB0aGUgZmlyc3QgYW5kIGxhc3QgZGVzY2VuZGFudCB0ZXh0
IG5vZGUgb2YKKyAgICAgICAgdGhlIGNsdXN0ZXIgKGkuZS4gdGhlIGRlZXBlc3Qgd3JhcHBlciBi
bG9jayB0aGF0IGNvbnRhaW5zIGFsbCB0aGUgdGV4dCksCisgICAgICAgIGFuZCB1c2UgaXRzIHdp
ZHRoIGluc3RlYWQuCisgICAgICAgIEhhZCB0byB1cGRhdGUgYSBjb3VwbGUgb2YgdGVzdHMgc2lu
Y2UgdGhlIGFjdHVhbCB3aWR0aCBmb3IgZm9udCBzaXplIG11bHRpcGxpZXIKKyAgICAgICAgY2Fs
Y3VsYXRpb24gaGFzIGJlZW4gY2hhbmdlZCBieSB0aGUgcGF0Y2guCisKKyAgICAgICAgKiBmYXN0
L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpZGUtaW4tbmFycm93LWV4cGVjdGVkLmh0bWw6Cisg
ICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aWRlLWluLW5hcnJvdy5odG1s
OgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNh
LWFuZC1jbHVzdGVyLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1h
dXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWFuZC1jbHVzdGVyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNh
LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2Ns
dXN0ZXItd2l0aC1uYXJyb3ctbGNhLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1h
dXRvc2l6aW5nL2NsdXN0ZXItd2l0aC13aWRlLWxjYS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvZW0tbWFyZ2luLWJvcmRlci1w
YWRkaW5nLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvZW0t
bWFyZ2luLWJvcmRlci1wYWRkaW5nLmh0bWw6CisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXpp
bmcvd2lkZS1jaGlsZC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6
aW5nL3dpZGUtY2hpbGQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy93aWRl
LWluLW5hcnJvdy1vdmVyZmxvdy1zY3JvbGwtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lkZS1pbi1uYXJyb3ctb3ZlcmZsb3ctc2Nyb2xsLmh0
bWw6IEFkZGVkLgorCiAyMDEyLTExLTI2ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IG9iamVjdCBwcmV2aWV3IGRvZXMgbm90
IHJlbmRlciBub2RlIGlkLCBjbGFzc05hbWU7IGxvZ3MgdG9vIG1hbnkgZnVuY3Rpb25zIGZvciBq
UXVlcnkuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVz
dGVyLXdpZGUtaW4tbmFycm93LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQt
YXV0b3NpemluZy9jbHVzdGVyLXdpZGUtaW4tbmFycm93LWV4cGVjdGVkLmh0bWwKaW5kZXggNmNm
ZjA2ZTQ0OGIyZjc1ODNiZGEyMDM0M2VlYmRlMjI1YzY0NjU3MC4uMmExMDNhNDI5OWIzYjg3NTg0
NWJjMGEzNmRiZGZmMDkzOTRmMzIxMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
LWF1dG9zaXppbmcvY2x1c3Rlci13aWRlLWluLW5hcnJvdy1leHBlY3RlZC5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2lkZS1pbi1uYXJyb3ctZXhw
ZWN0ZWQuaHRtbApAQCAtMTcsOCArMTcsOCBAQCBib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46
IDA7IG92ZXJmbG93LXk6IGhpZGRlbjsgfQogICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQg
YW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9y
IGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCiAgICAgPC9kaXY+
CiAKLSAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogODAwcHg7IGZvbnQtc2l6ZTogMS4yNXJlbSI+Ci0g
ICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIGp1c3QgMjBweCBjb21wdXRl
ZCBmb250LXNpemUgKDE2ICogNDAwLzMyMCksIHNpbmNlIGRlc3BpdGUgaXRzIHdpZHRoOjgwMHB4
IGl0IGlzIHBhcnQgb2YgdGhlIDQwMHB4IHdpZGUgcm9vdCBjbHVzdGVyLjxicj4KKyAgICA8ZGl2
IHN0eWxlPSJ3aWR0aDogNjAwcHg7IGZvbnQtc2l6ZTogMS4yNXJlbSI+CisgICAgICAgIFRoaXMg
dGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDIwcHggY29tcHV0ZWQgZm9udC1zaXplICgxNiAq
IDQwMC8zMjApLCBzaW5jZSB0aGUgd2lkdGggb2YgdGhlIHBhcmVudCBkaXYgaXMgdXNlZCBmb3Ig
dGV4dCBhdXRvc2l6aW5nLjxicj4KICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQs
IGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNp
ZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLgogICAgIDwvZGl2PgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpZGUt
aW4tbmFycm93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVy
LXdpZGUtaW4tbmFycm93Lmh0bWwKaW5kZXggYjJlZjAxMDdjOWVjNjZjNzIzYWU5NmZiNDQ2OTZi
ZjMxNjE0NDdjYy4uNzBiNWMwZjdjNjBhY2E4OTE2MjMzYWNiZWEyOTgwNTNlMzY5MWY5NiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aWRlLWlu
LW5hcnJvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0
ZXItd2lkZS1pbi1uYXJyb3cuaHRtbApAQCAtMjYsOCArMjYsOCBAQCBpZiAod2luZG93LmludGVy
bmFscykgewogICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIg
YWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFi
b3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCiAgICAgPC9kaXY+CiAKLSAgICA8ZGl2IHN0eWxl
PSJ3aWR0aDogODAwcHgiPgotICAgICAgICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0
byBqdXN0IDIwcHggY29tcHV0ZWQgZm9udC1zaXplICgxNiAqIDQwMC8zMjApLCBzaW5jZSBkZXNw
aXRlIGl0cyB3aWR0aDo4MDBweCBpdCBpcyBwYXJ0IG9mIHRoZSA0MDBweCB3aWRlIHJvb3QgY2x1
c3Rlci48YnI+CisgICAgPGRpdiBzdHlsZT0id2lkdGg6IDYwMHB4Ij4KKyAgICAgICAgVGhpcyB0
ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQgdG8gMjBweCBjb21wdXRlZCBmb250LXNpemUgKDE2ICog
NDAwLzMyMCksIHNpbmNlIHRoZSB3aWR0aCBvZiB0aGUgcGFyZW50IGRpdiBpcyB1c2VkIGZvciB0
ZXh0IGF1dG9zaXppbmcuPGJyPgogICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwg
Y29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lk
aWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCiAgICAgPC9kaXY+CiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1u
YXJyb3ctbGNhLWFuZC1jbHVzdGVyLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS1hbmQtY2x1c3Rlci1leHBlY3Rl
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjI3Yzk0ZjJlMjc0ZmRiNmU1ZDc5MDc1YzY5YTczZGU1OWVjMzBk
NTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9j
bHVzdGVyLXdpdGgtbmFycm93LWxjYS1hbmQtY2x1c3Rlci1leHBlY3RlZC5odG1sCkBAIC0wLDAg
KzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGU+CitodG1sIHsgZm9udC1zaXpl
OiAxNnB4OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBvdmVyZmxvdy15OiBoaWRkZW47IH0KKzwv
c3R5bGU+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJ3aWR0aDogNDAwcHgiID4K
KyAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxLjI1cmVtIiA+CisgICAgVGhpcyB0ZXh0IHNob3Vs
ZCBiZSBhdXRvc2l6ZWQgdG8ganVzdCAyMHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSAoMTYgKiA0MDAv
MzIwKSwgc2luY2UgdGhlIHdpZHRoIG9mIHRoZSBsZWFzdCBjb21tb24gYW5jZXN0b3IgaXMgdXNl
ZCBmb3IgbXVsdGlwbGllciBjYWxjdWxhdGlvbi4KKyAgPC9kaXY+CisKKyAgPGRpdiBzdHlsZT0i
Zm9udC1zaXplOiAxLjI1cmVtIiA+CisgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBzaW1pbGFybHkg
YXV0b3NpemVkIHRvIDIwcHguCisgIDwvZGl2PgorPC9kaXY+Cis8ZGl2IHN0eWxlPSJmbG9hdDog
bGVmdDsgd2lkdGg6IDgwMHB4OyBmb250LXNpemU6IDIuNXJlbSIgPgorICBUaGlzIHRleHQgc2hv
dWxkIGJlIGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSAoMTYgKiA4MDAvMzIw
KS4gSXQgc2hvdWxkIG5vdCBhZmZlY3QgYXV0b3NpemluZyBmb3IgdGV4dCBhYm92ZSB0aG91Z2gg
c2luY2UgaXQncyBhbm90aGVyIGNsdXN0ZXIuCisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFt
ZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBp
bmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1p
bmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlz
aSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9s
b3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3Jl
IGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRh
dGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xs
aXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1u
YXJyb3ctbGNhLWFuZC1jbHVzdGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Np
emluZy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS1hbmQtY2x1c3Rlci5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmY2NDgwMDJhMmJiMzUyMjYwNmFhY2RkZDUzODY2NTQ5MmZmZDUzMGEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93
LWxjYS1hbmQtY2x1c3Rlci5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgw
MCI+Cis8c3R5bGU+CitodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9Citib2R5IHsgd2lkdGg6IDgw
MHB4OyBvdmVyZmxvdy15OiBoaWRkZW47IH0KKzwvc3R5bGU+CisKKzxzY3JpcHQ+CitpZiAod2lu
ZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1
dG9zaXppbmdFbmFibGVkKHRydWUpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0
VGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0ODApOworfSBlbHNlIGlmICh3
aW5kb3cuY29uc29sZSAmJiBjb25zb2xlLndhcm4pIHsKKyAgICBjb25zb2xlLndhcm4oIlRoaXMg
dGVzdCBkZXBlbmRzIG9uIHRoZSBUZXh0IEF1dG9zaXppbmcgc2V0dGluZyBiZWluZyB0cnVlLCBz
byBydW4gaXQgaW4gRHVtcFJlbmRlclRyZWUsIG9yIG1hbnVhbGx5IGVuYWJsZSBUZXh0IEF1dG9z
aXppbmcsIGFuZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRldmljZSB3aXRoIDMyMHB4IGRldmljZS13
aWR0aCAobGlrZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9yIGRlZmluZSBIQUNLX0ZPUkNFX1RFWFRf
QVVUT1NJWklOR19PTl9ERVNLVE9QLiIpOworfQorPC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5
PgorCis8ZGl2IHN0eWxlPSJ3aWR0aDogNDAwcHgiID4KKyAgPGRpdj4KKyAgICBUaGlzIHRleHQg
c2hvdWxkIGJlIGF1dG9zaXplZCB0byBqdXN0IDIwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAq
IDQwMC8zMjApLCBzaW5jZSB0aGUgd2lkdGggb2YgdGhlIGxlYXN0IGNvbW1vbiBhbmNlc3RvciBp
cyB1c2VkIGZvciBtdWx0aXBsaWVyIGNhbGN1bGF0aW9uLgorICA8L2Rpdj4KKworICA8ZGl2Pgor
ICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgc2ltaWxhcmx5IGF1dG9zaXplZCB0byAyMHB4LgorICA8
L2Rpdj4KKzwvZGl2PgorPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiA4MDBweCIgPgor
ICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQgc2l6
ZSAoMTYgKiA4MDAvMzIwKS4gSXQgc2hvdWxkIG5vdCBhZmZlY3QgYXV0b3NpemluZyBmb3IgdGV4
dCBhYm92ZSB0aG91Z2ggc2luY2UgaXQncyBhbm90aGVyIGNsdXN0ZXIuCisgICAgTG9yZW0gaXBz
dW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBl
aXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVh
LiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxh
bWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiBEdWlz
IGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNz
ZSBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQg
b2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBxdWkgb2ZmaWNp
YSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KKzwvZGl2PgorCis8L2JvZHk+
Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5n
L2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS1leHBlY3RlZC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjQyNmZmYzM3NGFkNDkyYjY2OTUxYTEyMWMzNTM1M2ZhMjVjNGYyMDQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdp
dGgtbmFycm93LWxjYS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjUgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPTgwMCI+Cis8c3R5bGU+CitodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9Citib2R5IHsgd2lk
dGg6IDgwMHB4OyBvdmVyZmxvdy15OiBoaWRkZW47IH0KKzwvc3R5bGU+CisKKzwvaGVhZD4KKzxi
b2R5PgorCis8ZGl2IHN0eWxlPSJ3aWR0aDogNDAwcHgiPgorICA8ZGl2IHN0eWxlPSJmb250LXNp
emU6IDEuMjVyZW0iPgorICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIGp1c3Qg
MjBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogNDAwLzMyMCksIHNpbmNlIHRoZSB3aWR0aCBv
ZiB0aGUgbGVhc3QgY29tbW9uIGFuY2VzdG9yIGlzIHVzZWQgZm9yIG11bHRpcGxpZXIgY2FsY3Vs
YXRpb24uCisgIDwvZGl2PgorCisgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMS4yNXJlbSI+Cisg
ICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBzaW1pbGFybHkgYXV0b3NpemVkIHRvIDIwcHguCisgIDwv
ZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjM5YjVhY2I1ODZhNDRjOTJmOTlmNjRkOGJmNjhhMDkxNDIzZTA1MmUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVy
LXdpdGgtbmFycm93LWxjYS5odG1sCkBAIC0wLDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgw
MCI+Cis8c3R5bGU+CitodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9Citib2R5IHsgd2lkdGg6IDgw
MHB4OyBvdmVyZmxvdy15OiBoaWRkZW47IH0KKzwvc3R5bGU+CisKKzxzY3JpcHQ+CitpZiAod2lu
ZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1
dG9zaXppbmdFbmFibGVkKHRydWUpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0
VGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0ODApOworfSBlbHNlIGlmICh3
aW5kb3cuY29uc29sZSAmJiBjb25zb2xlLndhcm4pIHsKKyAgICBjb25zb2xlLndhcm4oIlRoaXMg
dGVzdCBkZXBlbmRzIG9uIHRoZSBUZXh0IEF1dG9zaXppbmcgc2V0dGluZyBiZWluZyB0cnVlLCBz
byBydW4gaXQgaW4gRHVtcFJlbmRlclRyZWUsIG9yIG1hbnVhbGx5IGVuYWJsZSBUZXh0IEF1dG9z
aXppbmcsIGFuZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRldmljZSB3aXRoIDMyMHB4IGRldmljZS13
aWR0aCAobGlrZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9yIGRlZmluZSBIQUNLX0ZPUkNFX1RFWFRf
QVVUT1NJWklOR19PTl9ERVNLVE9QLiIpOworfQorPC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5
PgorCis8ZGl2IHN0eWxlPSJ3aWR0aDogNDAwcHgiID4KKyAgPGRpdj4KKyAgICBUaGlzIHRleHQg
c2hvdWxkIGJlIGF1dG9zaXplZCB0byBqdXN0IDIwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAq
IDQwMC8zMjApLCBzaW5jZSB0aGUgd2lkdGggb2YgdGhlIGxlYXN0IGNvbW1vbiBhbmNlc3RvciBp
cyB1c2VkIGZvciBtdWx0aXBsaWVyIGNhbGN1bGF0aW9uLgorICA8L2Rpdj4KKworICA8ZGl2Pgor
ICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgc2ltaWxhcmx5IGF1dG9zaXplZCB0byAyMHB4LgorICA8
L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EtZXhwZWN0ZWQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC13aWRlLWxj
YS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRkMGM3ZDY3MWQzOTA4MThhNTYzMTM4NzAyYjNk
ZDQyZTk1YTU1NzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0
b3NpemluZy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDMw
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlPgoraHRtbCB7IGZvbnQtc2l6ZTogMTZw
eDsgfQorYm9keSB7IHdpZHRoOiA4MDBweDsgb3ZlcmZsb3cteTogaGlkZGVuOyB9Cis8L3N0eWxl
PgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHlsZT0id2lkdGg6IDQwMHB4IiA+CisgIDxk
aXYgc3R5bGU9ImZvbnQtc2l6ZTogMi41cmVtIiA+CisgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBh
dXRvc2l6ZWQgdG8gNDBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogODAwLzMyMCkuCisgIDwv
ZGl2PgorCisgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMi41cmVtIiA+CisgICAgVGhpcyB0ZXh0
IHNob3VsZCBiZSBzaW1pbGFybHkgYXV0b3NpemVkIHRvIDQwcHguCisgIDwvZGl2PgorPC9kaXY+
Cis8ZGl2IHN0eWxlPSJ3aWR0aDogODAwcHg7IGZvbnQtc2l6ZTogMi41cmVtIiA+CisgIFRoaXMg
dGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAq
IDgwMC8zMjApLgorICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRp
cGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3Jl
IGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5v
c3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEg
Y29tbW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0
IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBh
cmlhdHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBz
dW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJv
cnVtLgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLXdpZGUtbGNhLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5mZjA1ZGFlZGY3OTg1MGFiMWFkYmFiMDIxNzQ5NzY0ZDAxYjQxNDZjCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13
aXRoLXdpZGUtbGNhLmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4K
KzxzdHlsZT4KK2h0bWwgeyBmb250LXNpemU6IDE2cHg7IH0KK2JvZHkgeyB3aWR0aDogODAwcHg7
IG92ZXJmbG93LXk6IGhpZGRlbjsgfQorPC9zdHlsZT4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cu
aW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3Np
emluZ0VuYWJsZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0
QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRv
dy5jb25zb2xlICYmIGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0
IGRlcGVuZHMgb24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1
biBpdCBpbiBEdW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3Npemlu
ZywgYW5kIGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRo
IChsaWtlIE5leHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRP
U0laSU5HX09OX0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisK
KzxkaXYgc3R5bGU9IndpZHRoOiA0MDBweCIgPgorICA8ZGl2PgorICAgIFRoaXMgdGV4dCBzaG91
bGQgYmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDgwMC8zMjAp
LgorICA8L2Rpdj4KKworICA8ZGl2PgorICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgc2ltaWxhcmx5
IGF1dG9zaXplZCB0byA0MHB4LgorICA8L2Rpdj4KKzwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6
IDgwMHB4IiA+CisgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0
ZWQgZm9udCBzaXplICgxNiAqIDgwMC8zMjApLgorICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1l
dCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGlu
Y2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWlu
aW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNp
IHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xv
ciBpbiByZXByZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUg
ZXUgZnVnaWF0IG51bGxhIHBhcmlhdHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0
YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxp
dCBhbmltIGlkIGVzdCBsYWJvcnVtLgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZW0tbWFyZ2luLWJvcmRl
ci1wYWRkaW5nLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Npemlu
Zy9lbS1tYXJnaW4tYm9yZGVyLXBhZGRpbmctZXhwZWN0ZWQuaHRtbAppbmRleCA0M2JkMWMwNjg5
Yzg0NDVlODBhODA1MTA4ZmVkZTU4NWJlNmYxZjIzLi5kOTNjYjI1NDhmMDE2YmQ4N2NkM2FjMWMz
MmZhMTZiM2EyNGFhOGU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Np
emluZy9lbS1tYXJnaW4tYm9yZGVyLXBhZGRpbmctZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9lbS1tYXJnaW4tYm9yZGVyLXBhZGRpbmctZXhwZWN0
ZWQuaHRtbApAQCAtMTEsOCArMTEsOCBAQCBib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7
IG92ZXJmbG93LXk6IGhpZGRlbjsgfQogPC9oZWFkPgogPGJvZHk+CiAKLTxwIHN0eWxlPSJmb250
LXNpemU6IDIuNXJlbTsgbWFyZ2luOiAxcmVtOyBib3JkZXI6IDFyZW0gc29saWQgYmx1ZTsgcGFk
ZGluZzogMXJlbSI+Ci0gICAgVGhpcyB0ZXh0IHNob3VsZCBnZXQgYXV0b3NpemVkIHRvIDQwcHgg
Y29tcHV0ZWQgZm9udCBzaXplLCBidXQgdGhlIDFlbSBtYXJnaW5zLCBib3JkZXJzIGFuZCBwYWRk
aW5nIHNob3VsZCByZW1haW4ganVzdCAxNnB4LiBXaGlsZSBkZWJhdGFibGUsIHRoaXMgZ2VuZXJh
bGx5IGxvb2tzIG1vcmUgY29uc2lzdGVudCB0aGFuIGhhdmluZyB0aGVtIGJlIHNjYWxlZC48YnI+
Cis8cCBzdHlsZT0iZm9udC1zaXplOiAyLjJyZW07IG1hcmdpbjogMXJlbTsgYm9yZGVyOiAxcmVt
IHNvbGlkIGJsdWU7IHBhZGRpbmc6IDFyZW0iPgorICAgIFRoaXMgdGV4dCBzaG91bGQgZ2V0IGF1
dG9zaXplZCB0byAzNS4ycHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDcwNC8zMjApLCBidXQg
dGhlIDFlbSBtYXJnaW5zLCBib3JkZXJzIGFuZCBwYWRkaW5nIHNob3VsZCByZW1haW4ganVzdCAx
NnB4LiBXaGlsZSBkZWJhdGFibGUsIHRoaXMgZ2VuZXJhbGx5IGxvb2tzIG1vcmUgY29uc2lzdGVu
dCB0aGFuIGhhdmluZyB0aGVtIGJlIHNjYWxlZC48YnI+CiAgICAgTG9yZW0gaXBzdW0gZG9sb3Ig
c2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRl
bXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmlt
IGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9y
aXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LgogPC9wPgogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9lbS1tYXJnaW4tYm9yZGVy
LXBhZGRpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdp
bi1ib3JkZXItcGFkZGluZy5odG1sCmluZGV4IDM5NWU4MTRhNjMxMjA4NjM3OGJlYjBmNzA5Zjhk
MmExYWQxYzc5Y2IuLjQ2ZWY1ODM2NzE3MDEwM2U0MDkwZDRiYzcxMmU5ODc0YjNjNTc4OTYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1ib3Jk
ZXItcGFkZGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2Vt
LW1hcmdpbi1ib3JkZXItcGFkZGluZy5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGlmICh3aW5kb3cu
aW50ZXJuYWxzKSB7CiA8Ym9keT4KIAogPHAgc3R5bGU9Im1hcmdpbjogMWVtOyBib3JkZXI6IDFl
bSBzb2xpZCBibHVlOyBwYWRkaW5nOiAxZW0iPgotICAgIFRoaXMgdGV4dCBzaG91bGQgZ2V0IGF1
dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSwgYnV0IHRoZSAxZW0gbWFyZ2lucywg
Ym9yZGVycyBhbmQgcGFkZGluZyBzaG91bGQgcmVtYWluIGp1c3QgMTZweC4gV2hpbGUgZGViYXRh
YmxlLCB0aGlzIGdlbmVyYWxseSBsb29rcyBtb3JlIGNvbnNpc3RlbnQgdGhhbiBoYXZpbmcgdGhl
bSBiZSBzY2FsZWQuPGJyPgorICAgIFRoaXMgdGV4dCBzaG91bGQgZ2V0IGF1dG9zaXplZCB0byAz
NS4ycHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDcwNC8zMjApLCBidXQgdGhlIDFlbSBtYXJn
aW5zLCBib3JkZXJzIGFuZCBwYWRkaW5nIHNob3VsZCByZW1haW4ganVzdCAxNnB4LiBXaGlsZSBk
ZWJhdGFibGUsIHRoaXMgZ2VuZXJhbGx5IGxvb2tzIG1vcmUgY29uc2lzdGVudCB0aGFuIGhhdmlu
ZyB0aGVtIGJlIHNjYWxlZC48YnI+CiAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNv
bnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlk
dW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZl
bmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBh
bGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LgogPC9wPgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWNoaWxkLWV4cGVjdGVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWNoaWxkLWV4cGVjdGVkLmh0bWwK
aW5kZXggNGIwMDBmNjcwZWE3MjRjMDlhNmU3YWRiZWRiN2QxMTYzNzNiYjM1Yi4uMDEyNDdhZmJk
OWFiN2YxZTliODM4OTIxZmVlMjI1MmVkZTk2ZTUyZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lkZS1jaGlsZC1leHBlY3RlZC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtY2hpbGQtZXhwZWN0ZWQuaHRtbApAQCAt
MTEsOSArMTEsMTEgQEAgYm9keSB7IHdpZHRoOiA4MDBweDsgbWFyZ2luOiAwOyBvdmVyZmxvdy15
OiBoaWRkZW47IH0KIDwvaGVhZD4KIDxib2R5PgogCi08ZGl2IHN0eWxlPSJ3aWR0aDogMzIwcHg7
IGZvbnQtc2l6ZTogMi41cmVtIj4KLSAgICBUaGlzIHRleHQgc2hvdWxkIGFsbCBiZSBhdXRvc2l6
ZWQgdG8gNDBweCBjb21wdXRlZCBmb250LXNpemUsIHNpbmNlIGFsdGhvdWdoIHRoaXMgYmxvY2sg
aXMgbmFycm93LCBpdCBoYXMgYSB3aWRlIGNoaWxkIGJsb2NrLCBzbyB0aGUgY2x1c3RlciB3aWxs
IGJlIHdpZGUgYW5kIG5lZWQgYXV0b3NpemluZy4KLSAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogODAw
cHgiPgorPGRpdiBzdHlsZT0id2lkdGg6IDMyMHB4OyBmb250LXNpemU6IDFyZW0iPgorCVRoaXMg
dGV4dCBzaG91bGQgbm90IGJlIGF1dG9zaXplZC4KKwk8ZGl2IHN0eWxlPSJ3aWR0aDogODAwcHgi
PgorICAgIAlUaGlzIHRleHQgc2hvdWxkIG5vdCBiZSBhdXRvc2l6ZWQgYXMgd2VsbCBzaW5jZSBp
dHMgd2lkdGggZG9lc24ndCBhZmZlY3QgdGhlIHdpZHRoIG9mIHRoZSBwYXJlbnQgYmxvY2suCisg
ICAgCUZJWE1FKGF2YXl2b2QpOiBJZGVhbGx5IHRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVk
LiBXaWxsIG5lZWQgdG8gYmUgZml4ZWQgbGF0ZXIuCiAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9y
IHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0
ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KICAgICA8
L2Rpdj4KICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlz
aWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0
IGRvbG9yZSBtYWduYSBhbGlxdWEuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQt
YXV0b3NpemluZy93aWRlLWNoaWxkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Np
emluZy93aWRlLWNoaWxkLmh0bWwKaW5kZXggMGE1YjEyMTRmODA5OTE0NjE0N2I3YjBjZWQzZjky
MTllZjkxNTU1MS4uMDRiZmVhMWIzNTJjMjE1OWFjMDZkNmRjYjNiMzc2ZWE4MDUzZjA3NyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lkZS1jaGlsZC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtY2hpbGQuaHRtbApA
QCAtMjEsOCArMjEsMTAgQEAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKIDxib2R5PgogCiA8ZGl2
IHN0eWxlPSJ3aWR0aDogMzIwcHgiPgotICAgIFRoaXMgdGV4dCBzaG91bGQgYWxsIGJlIGF1dG9z
aXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQtc2l6ZSwgc2luY2UgYWx0aG91Z2ggdGhpcyBibG9j
ayBpcyBuYXJyb3csIGl0IGhhcyBhIHdpZGUgY2hpbGQgYmxvY2ssIHNvIHRoZSBjbHVzdGVyIHdp
bGwgYmUgd2lkZSBhbmQgbmVlZCBhdXRvc2l6aW5nLgorICAgIFRoaXMgdGV4dCBzaG91bGQgbm90
IGJlIGF1dG9zaXplZC4KICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogODAwcHgiPgorICAgIAlUaGlz
IHRleHQgc2hvdWxkIG5vdCBiZSBhdXRvc2l6ZWQgYXMgd2VsbCBzaW5jZSBpdHMgd2lkdGggZG9l
c24ndCBhZmZlY3QgdGhlIHdpZHRoIG9mIHRoZSBwYXJlbnQgYmxvY2suCisgICAgCUZJWE1FKGF2
YXl2b2QpOiBJZGVhbGx5IHRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkLiBXaWxsIG5lZWQg
dG8gYmUgZml4ZWQgbGF0ZXIuCiAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBj
b25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRp
ZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KICAgICA8L2Rpdj4KICAgICBM
b3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwg
c2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWdu
YSBhbGlxdWEuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy93
aWRlLWluLW5hcnJvdy1vdmVyZmxvdy1zY3JvbGwtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtaW4tbmFycm93LW92ZXJmbG93LXNjcm9sbC1leHBl
Y3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY0MjA0ZWY4NzQ1MmIzNDhjNDMzOTAyZTE3ZmJlZTI0ZGNi
OTc2ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Npemlu
Zy93aWRlLWluLW5hcnJvdy1vdmVyZmxvdy1zY3JvbGwtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsx
LDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlPgoraHRtbCB7IGZvbnQtc2l6ZTog
MTZweDsgfQorYm9keSB7IHdpZHRoOiA4MDBweDsgbWFyZ2luOiAwOyBvdmVyZmxvdy15OiBoaWRk
ZW47IH0KKzwvc3R5bGU+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJ3aWR0aDog
NDAwcHgiPgorICA8ZGl2IHN0eWxlPSJvdmVyZmxvdy14OiBzY3JvbGwiPgorICAgIDxkaXYgc3R5
bGU9IndpZHRoOiA4MDBweDsgZm9udC1zaXplOiAxLjI1cmVtIj4KKyAgICAgICAgVGhpcyB0ZXh0
IHNob3VsZCBiZSBhdXRvc2l6ZWQgdG8gMjBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogNDAw
LzMyMCksIHNpbmNlIGl0cyBzY3JvbGwgd2lkdGggaXMgNDAwcHguPGJyPgorICAgICAgICBMb3Jl
bSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2Vk
IGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBh
bGlxdWEuCisgICAgPC9kaXY+CisgIDwvZGl2PgorCisgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTog
MS4yNXJlbSI+CisgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDIwcHgg
Y29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDQwMC8zMjApLjxicj4KKyAgICAgICAgTG9yZW0gaXBz
dW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBl
aXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVh
LgorICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtaW4tbmFycm93LW92ZXJmbG93LXNj
cm9sbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lkZS1pbi1uYXJy
b3ctb3ZlcmZsb3ctc2Nyb2xsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTE4NTQ0OTBhNjAwZTcwOTMyMzA4
ZWQ2OTc0NWUwMWE1YjhjM2UzOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC1hdXRvc2l6aW5nL3dpZGUtaW4tbmFycm93LW92ZXJmbG93LXNjcm9sbC5odG1sCkBAIC0w
LDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGU+CitodG1sIHsgZm9udC1z
aXplOiAxNnB4OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IG92ZXJmbG93LXk6
IGhpZGRlbjsgfQorPC9zdHlsZT4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7
CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQo
dHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dp
bmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYm
IGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24g
dGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1w
UmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhl
ciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVz
IFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RF
U0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9
IndpZHRoOiA0MDBweCI+CisgIDxkaXYgc3R5bGU9Im92ZXJmbG93LXg6IHNjcm9sbCI+CisgICAg
PGRpdiBzdHlsZT0id2lkdGg6IDgwMHB4Ij4KKyAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBh
dXRvc2l6ZWQgdG8gMjBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogNDAwLzMyMCksIHNpbmNl
IGl0cyBzY3JvbGwgd2lkdGggaXMgNDAwcHguPGJyPgorICAgICAgICBMb3JlbSBpcHN1bSBkb2xv
ciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2Qg
dGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCisgICAg
PC9kaXY+CisgIDwvZGl2PgorCisgIDxkaXY+CisgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUg
YXV0b3NpemVkIHRvIDIwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDQwMC8zMjApLjxicj4K
KyAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2lj
aW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBk
b2xvcmUgbWFnbmEgYWxpcXVhLgorICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+
CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176280</attachid>
            <date>2012-11-27 08:57:40 -0800</date>
            <delta_ts>2012-11-27 09:35:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102562-20121127165516.patch</filename>
            <type>text/plain</type>
            <size>30884</size>
            <attacher name="Anton Vayvod">avayvod</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGM5MmVmNDJkYTJhNDA2
ZDg3MmE5YTBjMzdiYjgxYWVlNDNmOWQ1NS4uMmUyODUzOGYzMWE0ZTk1N2Y0OWE5MTRkMmYzMjZj
YzI5YTY1ZDY3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTExLTI3ICBBbnRv
biBWYXl2b2QgIDxhdmF5dm9kQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0IEF1dG9zaXpp
bmc6IENsdXN0ZXJzIHNob3VsZCB1c2Ugd2lkdGggb2YgTENBIG9mIHRoZWlyIHRleHQgbm9kZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjU2Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1hbnkgcGFn
ZXMgc2V0IGEgbWF4LXdpZHRoIG9uIHRoZWlyIGNvbnRlbnQuIFNvIGVzcGVjaWFsbHkgZm9yIHRo
ZQorICAgICAgICBSZW5kZXJWaWV3LCBpbnN0ZWFkIG9mIGp1c3QgdGFraW5nIHRoZSB3aWR0aCBv
ZiB8Y2x1c3Rlcnwgd2UgZmluZAorICAgICAgICB0aGUgbG93ZXN0IGNvbW1vbiBhbmNlc3RvciBv
ZiB0aGUgZmlyc3QgYW5kIGxhc3QgZGVzY2VuZGFudCB0ZXh0IG5vZGUgb2YKKyAgICAgICAgdGhl
IGNsdXN0ZXIgKGkuZS4gdGhlIGRlZXBlc3Qgd3JhcHBlciBibG9jayB0aGF0IGNvbnRhaW5zIGFs
bCB0aGUgdGV4dCksCisgICAgICAgIGFuZCB1c2UgaXRzIHdpZHRoIGluc3RlYWQuCisKKyAgICAg
ICAgVGVzdHM6IGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWFu
ZC1jbHVzdGVyLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0
ZXItd2l0aC1uYXJyb3ctbGNhLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC1hdXRvc2l6
aW5nL2NsdXN0ZXItd2l0aC13aWRlLWxjYS5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQt
YXV0b3NpemluZy93aWRlLWluLW5hcnJvdy1vdmVyZmxvdy1zY3JvbGwuaHRtbAorCisgICAgICAg
ICogcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEF1
dG9zaXplcjo6cHJvY2Vzc0NsdXN0ZXIpOiB1c2UgdGV4dCBub2RlcyBMQ0EgaW5zdGVhZCBvZiBj
bHVzdGVyIGZvciB3aWR0aCBjYWxjdWxhdGlvbgorICAgICAgICAoV2ViQ29yZTo6VGV4dEF1dG9z
aXplcjo6aXNBdXRvc2l6aW5nQ2x1c3Rlcik6IHJlcGxhY2VkIGFzc2VydGlvbiBmb3IgYmVpbmcg
YXV0b3NpemluZyBjb250YWluZXIgd2l0aCBhIGNoZWNrCisgICAgICAgIChXZWJDb3JlOjpUZXh0
QXV0b3NpemVyOjpmaW5kRGVlcGVzdEJsb2NrV2l0aEFsbFRleHQpOiBzZWFyY2hlcyBmb3IgTENB
IG9mIHRleHQgbm9kZXMgaWdub3JpbmcgZGVzY2VuZGFudCBjbHVzdGVycworICAgICAgICAoV2Vi
Q29yZTo6VGV4dEF1dG9zaXplcjo6ZmluZEZpcnN0VGV4dExlYWZOb3RJbkNsdXN0ZXIpOiBzZWFy
Y2hlcyBmb3IgdGhlIGZpcnN0IHRleHQgbm9kZSBpbi1vcmRlciBpZ25vcmluZyBhbnkgZGVzY2Vu
ZGFudCBjbHVzdGVycworICAgICAgICAoV2ViQ29yZTo6VGV4dEF1dG9zaXplcjo6ZmluZExhc3RU
ZXh0TGVhZk5vdEluQ2x1c3Rlcik6IHNlYXJjaGVzIGZvciB0aGUgbGFzdCB0ZXh0IG5vZGUgaW4t
b3JkZXIgaWdub3JpbmcgYW55IGRlc2NlbmRhbnQgY2x1c3RlcnMKKyAgICAgICAgKFdlYkNvcmU6
OlRleHRBdXRvc2l6ZXI6OmZpbmRGaW5hbFRleHRMZWFmTm90SW5DbHVzdGVyKTogaGVscGVyIGZ1
bmN0aW9uIHJlZHVjaW5nIGNvZGUgZHVwbGljYXRpb24KKyAgICAgICAgKFdlYkNvcmU6OlRleHRB
dXRvc2l6ZXI6OmZpcnN0Q2hpbGQpOiBoZWxwZnVsIHdyYXBwZXIgYXJvdW5kIGZpcnN0L2xhc3RD
aGlsZCBtZXRob2RzIG9mIFJlbmRlck9iamVjdAorICAgICAgICAoV2ViQ29yZTo6VGV4dEF1dG9z
aXplcjo6bmV4dFNpYmxpbmcpOiBoZWxwZnVsIHdyYXBwZXIgYXJvdW5kIG5leHQvcHJldmlvdXNT
aWJsaW5nIG1ldGhvZHMgb2YgUmVuZGVyT2JqZWN0CisgICAgICAgICogcmVuZGVyaW5nL1RleHRB
dXRvc2l6ZXIuaDogbmV3IHByaXZhdGUgbWV0aG9kcyBkZWNsYXJhdGlvbnMgYW5kIGFuIGVudW0g
Zm9yIHRyZWUgdHJhdmVyc2FsIGRpcmVjdGlvbi4KKwogMjAxMi0xMS0yNiAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBGaXggUXQg
bWluaW1hbCBjb21waWxhdGlvbiBhZnRlciByMTM1NzEzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1RleHRBdXRvc2l6ZXIuY3BwCmluZGV4IDM2MDY3ZmQ3ODA5ZTljMzg0ZWQ3OGRkMmJmNmMx
Y2UzNWEyNmI3YjYuLjMzYTMyMTM5ZjIzYzU5MjM4ODkwYWI3NjI3ZWNjMTI3YzAyN2E0ZmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9zaXplci5jcHAKQEAgLTMzLDYgKzMz
LDggQEAKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN0eWxlSW5oZXJpdGVkRGF0
YS5oIgogCisjaW5jbHVkZSA8YWxnb3JpdGhtPgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0
cnVjdCBUZXh0QXV0b3NpemluZ1dpbmRvd0luZm8gewpAQCAtOTQsMTEgKzk2LDEyIEBAIHZvaWQg
VGV4dEF1dG9zaXplcjo6cHJvY2Vzc0NsdXN0ZXIoUmVuZGVyQmxvY2sqIGNsdXN0ZXIsIFJlbmRl
ckJsb2NrKiBjb250YWluZXIsCiB7CiAgICAgQVNTRVJUKGlzQXV0b3NpemluZ0NsdXN0ZXIoY2x1
c3RlcikpOwogCi0gICAgLy8gRklYTUU6IE1hbnkgcGFnZXMgc2V0IGEgbWF4LXdpZHRoIG9uIHRo
ZWlyIGNvbnRlbnQuIFNvIGVzcGVjaWFsbHkgZm9yIHRoZSBSZW5kZXJWaWV3LAotICAgIC8vIGlu
c3RlYWQgb2YganVzdCB0YWtpbmcgdGhlIHdpZHRoIG9mIHxjbHVzdGVyfCB3ZSBzaG91bGQgZmlu
ZCB0aGUgbG93ZXN0IGNvbW1vbiBhbmNlc3RvciBvZgotICAgIC8vIHRoZSBmaXJzdCBhbmQgbGFz
dCBkZXNjZW5kYW50IHRleHQgbm9kZSBvZiB0aGUgY2x1c3RlciAoaS5lLiB0aGUgZGVlcGVzdCB3
cmFwcGVyIGJsb2NrIHRoYXQKLSAgICAvLyBjb250YWlucyBhbGwgdGhlIHRleHQpLCBhbmQgdXNl
IGl0cyB3aWR0aCBpbnN0ZWFkLgotICAgIFJlbmRlckJsb2NrKiBsb3dlc3RDb21tb25BbmNlc3Rv
ciA9IGNsdXN0ZXI7CisgICAgLy8gTWFueSBwYWdlcyBzZXQgYSBtYXgtd2lkdGggb24gdGhlaXIg
Y29udGVudC4gU28gZXNwZWNpYWxseSBmb3IgdGhlCisgICAgLy8gUmVuZGVyVmlldywgaW5zdGVh
ZCBvZiBqdXN0IHRha2luZyB0aGUgd2lkdGggb2YgfGNsdXN0ZXJ8IHdlIGZpbmQKKyAgICAvLyB0
aGUgbG93ZXN0IGNvbW1vbiBhbmNlc3RvciBvZiB0aGUgZmlyc3QgYW5kIGxhc3QgZGVzY2VuZGFu
dCB0ZXh0IG5vZGUgb2YKKyAgICAvLyB0aGUgY2x1c3RlciAoaS5lLiB0aGUgZGVlcGVzdCB3cmFw
cGVyIGJsb2NrIHRoYXQgY29udGFpbnMgYWxsIHRoZSB0ZXh0KSwKKyAgICAvLyBhbmQgdXNlIGl0
cyB3aWR0aCBpbnN0ZWFkLgorICAgIGNvbnN0IFJlbmRlckJsb2NrKiBsb3dlc3RDb21tb25BbmNl
c3RvciA9IGZpbmREZWVwZXN0QmxvY2tDb250YWluaW5nQWxsVGV4dChjbHVzdGVyKTsKICAgICBm
bG9hdCBjb21tb25BbmNlc3RvcldpZHRoID0gbG93ZXN0Q29tbW9uQW5jZXN0b3ItPmNvbnRlbnRM
b2dpY2FsV2lkdGgoKTsKIAogICAgIGZsb2F0IG11bHRpcGxpZXIgPSAxOwpAQCAtMjk3LDYgKzMw
MCw5OCBAQCBSZW5kZXJPYmplY3QqIFRleHRBdXRvc2l6ZXI6Om5leHRJblByZU9yZGVyU2tpcHBp
bmdEZXNjZW5kYW50c09mQ29udGFpbmVycyhjb25zdAogICAgIHJldHVybiAwOwogfQogCitjb25z
dCBSZW5kZXJCbG9jayogVGV4dEF1dG9zaXplcjo6ZmluZERlZXBlc3RCbG9ja0NvbnRhaW5pbmdB
bGxUZXh0KGNvbnN0IFJlbmRlckJsb2NrKiBjbHVzdGVyKQoreworICAgIEFTU0VSVChpc0F1dG9z
aXppbmdDbHVzdGVyKGNsdXN0ZXIpKTsKKworICAgIHNpemVfdCBmaXJzdERlcHRoID0gMDsKKyAg
ICBjb25zdCBSZW5kZXJPYmplY3QqIGZpcnN0VGV4dExlYWYgPSBmaW5kRmlyc3RUZXh0TGVhZk5v
dEluQ2x1c3RlcihjbHVzdGVyLCBmaXJzdERlcHRoKTsKKyAgICBpZiAoIWZpcnN0VGV4dExlYWYp
CisgICAgICAgIHJldHVybiBjbHVzdGVyOworCisgICAgc2l6ZV90IGxhc3REZXB0aCA9IDA7Cisg
ICAgY29uc3QgUmVuZGVyT2JqZWN0KiBsYXN0VGV4dExlYWYgPSBmaW5kTGFzdFRleHRMZWFmTm90
SW5DbHVzdGVyKGNsdXN0ZXIsIGxhc3REZXB0aCk7CisgICAgQVNTRVJUKGxhc3RUZXh0TGVhZik7
CisKKyAgICAvLyBFcXVhbGl6ZSB0aGUgZGVwdGhzIGlmIG5lY2Vzc2FyeS4gT25seSBvbmUgb2Yg
dGhlIHdoaWxlIGxvb3BzIGJlbG93IHdpbGwgZ2V0IGV4ZWN1dGVkLgorICAgIGNvbnN0IFJlbmRl
ck9iamVjdCogZmlyc3ROb2RlID0gZmlyc3RUZXh0TGVhZjsKKyAgICBjb25zdCBSZW5kZXJPYmpl
Y3QqIGxhc3ROb2RlID0gbGFzdFRleHRMZWFmOworICAgIHdoaWxlIChmaXJzdERlcHRoID4gbGFz
dERlcHRoKSB7CisgICAgICAgIGZpcnN0Tm9kZSA9IGZpcnN0Tm9kZS0+cGFyZW50KCk7CisgICAg
ICAgIC0tZmlyc3REZXB0aDsKKyAgICB9CisgICAgd2hpbGUgKGxhc3REZXB0aCA+IGZpcnN0RGVw
dGgpIHsKKyAgICAgICAgbGFzdE5vZGUgPSBsYXN0Tm9kZS0+cGFyZW50KCk7CisgICAgICAgIC0t
bGFzdERlcHRoOworICAgIH0KKworICAgIC8vIEdvIHVwIGZyb20gYm90aCBub2RlcyB1bnRpbCB0
aGUgcGFyZW50IGlzIHRoZSBzYW1lLiBCb3RoIHBvaW50ZXJzIHdpbGwgcG9pbnQgdG8gdGhlIExD
QSB0aGVuLgorICAgIHdoaWxlIChmaXJzdE5vZGUgIT0gbGFzdE5vZGUpIHsKKyAgICAgICAgZmly
c3ROb2RlID0gZmlyc3ROb2RlLT5wYXJlbnQoKTsKKyAgICAgICAgbGFzdE5vZGUgPSBsYXN0Tm9k
ZS0+cGFyZW50KCk7CisgICAgfQorCisgICAgaWYgKGZpcnN0Tm9kZS0+aXNSZW5kZXJCbG9jaygp
KQorICAgICAgICByZXR1cm4gdG9SZW5kZXJCbG9jayhmaXJzdE5vZGUpOworCisgICAgcmV0dXJu
IGZpcnN0Tm9kZS0+Y29udGFpbmluZ0Jsb2NrKCk7Cit9CisKK2NvbnN0IFJlbmRlck9iamVjdCog
VGV4dEF1dG9zaXplcjo6ZmluZEZpcnN0VGV4dExlYWZOb3RJbkNsdXN0ZXIoY29uc3QgUmVuZGVy
T2JqZWN0KiBwYXJlbnQsIHNpemVfdCYgZGVwdGgpCit7CisgICAgcmV0dXJuIGZpbmRGaW5hbFRl
eHRMZWFmTm90SW5DbHVzdGVyKHBhcmVudCwgZGVwdGgsIEZpcnN0VG9MYXN0KTsKK30KKworY29u
c3QgUmVuZGVyT2JqZWN0KiBUZXh0QXV0b3NpemVyOjpmaW5kTGFzdFRleHRMZWFmTm90SW5DbHVz
dGVyKGNvbnN0IFJlbmRlck9iamVjdCogcGFyZW50LCBzaXplX3QmIGRlcHRoKQoreworICAgIHJl
dHVybiBmaW5kRmluYWxUZXh0TGVhZk5vdEluQ2x1c3RlcihwYXJlbnQsIGRlcHRoLCBMYXN0VG9G
aXJzdCk7Cit9CisKK2NvbnN0IFJlbmRlck9iamVjdCogVGV4dEF1dG9zaXplcjo6ZmluZEZpbmFs
VGV4dExlYWZOb3RJbkNsdXN0ZXIoY29uc3QgUmVuZGVyT2JqZWN0KiBwYXJlbnQsIHNpemVfdCYg
ZGVwdGgsIFRyYXZlcnNhbERpcmVjdGlvbiBkaXJlY3Rpb24pCit7CisgICAgaWYgKHBhcmVudC0+
aXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gcGFyZW50LT5pc1RleHQoKSA/IHBhcmVudCA6IDA7
CisKKyAgICArK2RlcHRoOworICAgIGZvciAoY29uc3QgUmVuZGVyT2JqZWN0KiBjaGlsZCA9IGZp
cnN0Q2hpbGQocGFyZW50LCBkaXJlY3Rpb24pOyBjaGlsZDsgY2hpbGQgPSBuZXh0U2libGluZyhj
aGlsZCwgZGlyZWN0aW9uKSkgeworICAgICAgICBpZiAoaXNBdXRvc2l6aW5nQ29udGFpbmVyKGNo
aWxkKSAmJiBjaGlsZC0+aXNSZW5kZXJCbG9jaygpICYmIGlzQXV0b3NpemluZ0NsdXN0ZXIodG9S
ZW5kZXJCbG9jayhjaGlsZCkpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgY29u
c3QgUmVuZGVyT2JqZWN0KiBsZWFmID0gZmluZEZpbmFsVGV4dExlYWZOb3RJbkNsdXN0ZXIoY2hp
bGQsIGRlcHRoLCBkaXJlY3Rpb24pOworICAgICAgICBpZiAobGVhZikKKyAgICAgICAgICAgIHJl
dHVybiBsZWFmOworICAgIH0KKyAgICAtLWRlcHRoOworCisgICAgcmV0dXJuIDA7Cit9CisKK2Nv
bnN0IFJlbmRlck9iamVjdCogVGV4dEF1dG9zaXplcjo6Zmlyc3RDaGlsZChjb25zdCBSZW5kZXJP
YmplY3QqIG9iamVjdCwgVHJhdmVyc2FsRGlyZWN0aW9uIGRpcmVjdGlvbikKK3sKKyAgICBzd2l0
Y2ggKGRpcmVjdGlvbikgeworICAgIGNhc2UgRmlyc3RUb0xhc3Q6CisgICAgICAgIHJldHVybiBv
YmplY3QtPmZpcnN0Q2hpbGQoKTsKKyAgICBjYXNlIExhc3RUb0ZpcnN0OgorICAgICAgICByZXR1
cm4gb2JqZWN0LT5sYXN0Q2hpbGQoKTsKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlQoZmFs
c2UpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9Cit9CisKK2NvbnN0IFJlbmRlck9iamVjdCog
VGV4dEF1dG9zaXplcjo6bmV4dFNpYmxpbmcoY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QsIFRy
YXZlcnNhbERpcmVjdGlvbiBkaXJlY3Rpb24pCit7CisgICAgc3dpdGNoIChkaXJlY3Rpb24pIHsK
KyAgICBjYXNlIEZpcnN0VG9MYXN0OgorICAgICAgICByZXR1cm4gb2JqZWN0LT5uZXh0U2libGlu
ZygpOworICAgIGNhc2UgTGFzdFRvRmlyc3Q6CisgICAgICAgIHJldHVybiBvYmplY3QtPnByZXZp
b3VzU2libGluZygpOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVChmYWxzZSk7CisgICAg
ICAgIHJldHVybiAwOworICAgIH0KK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5k
aWYgLy8gRU5BQkxFKFRFWFRfQVVUT1NJWklORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4
dEF1dG9zaXplci5oCmluZGV4IDJlMmU3MGU2YjAyODQ1MDcxM2JhNmZhYzJkYTEyOGI1N2FlZWEw
ZDMuLmExYjg0MGY5YTM5OTBkNzBkZGY2YzQ0MGRlYmQ0OGY4MWRiMDdiM2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuaApAQCAtNTUsNiArNTUsMTEgQEAgcHVibGlj
OgogICAgIHN0YXRpYyBmbG9hdCBjb21wdXRlQXV0b3NpemVkRm9udFNpemUoZmxvYXQgc3BlY2lm
aWVkU2l6ZSwgZmxvYXQgbXVsdGlwbGllcik7CiAKIHByaXZhdGU6CisgICAgZW51bSBUcmF2ZXJz
YWxEaXJlY3Rpb24geworICAgICAgICBGaXJzdFRvTGFzdCwKKyAgICAgICAgTGFzdFRvRmlyc3QK
KyAgICB9OworCiAgICAgZXhwbGljaXQgVGV4dEF1dG9zaXplcihEb2N1bWVudCopOwogCiAgICAg
dm9pZCBwcm9jZXNzQ2x1c3RlcihSZW5kZXJCbG9jayogY2x1c3RlciwgUmVuZGVyQmxvY2sqIGNv
bnRhaW5lciwgUmVuZGVyT2JqZWN0KiBzdWJ0cmVlUm9vdCwgY29uc3QgVGV4dEF1dG9zaXppbmdX
aW5kb3dJbmZvJik7CkBAIC03MSw2ICs3NiwyMiBAQCBwcml2YXRlOgogICAgIC8vIFVzZSB0byB0
cmF2ZXJzZSB0aGUgdHJlZSBvZiBkZXNjZW5kYW50cywgZXhjbHVkaW5nIGRlc2NlbmRhbnRzIG9m
IGNvbnRhaW5lcnMgKGJ1dCByZXR1cm5pbmcgdGhlIGNvbnRhaW5lcnMgdGhlbXNlbHZlcykuCiAg
ICAgc3RhdGljIFJlbmRlck9iamVjdCogbmV4dEluUHJlT3JkZXJTa2lwcGluZ0Rlc2NlbmRhbnRz
T2ZDb250YWluZXJzKGNvbnN0IFJlbmRlck9iamVjdCogY3VycmVudCwgY29uc3QgUmVuZGVyT2Jq
ZWN0KiBzdGF5V2l0aGluKTsKIAorICAgIC8vIEZpbmRzIHRoZSBsb3dlc3QgY29tbW9uIGFuY2Vz
dG9yIG9mIHRoZSBmaXJzdCBhbmQgdGhlIGxhc3QgZGVzY2VuZGFudAorICAgIC8vIHRleHQgbm9k
ZSAoZXhjbHVkaW5nIHRob3NlIGJlbG9uZ2luZyB0byBvdGhlciBhdXRvc2l6aW5nIGNsdXN0ZXJz
KS4KKyAgICBzdGF0aWMgY29uc3QgUmVuZGVyQmxvY2sqIGZpbmREZWVwZXN0QmxvY2tDb250YWlu
aW5nQWxsVGV4dChjb25zdCBSZW5kZXJCbG9jayogY2x1c3Rlcik7CisKKyAgICAvLyBGaW5kcyB0
aGUgZmlyc3QgbGVhZiB0ZXh0IG5vZGUgY2hpbGQgdGhhdCBkb2Vzbid0IGJlbG9uZyB0byBhbnkg
Y2x1c3Rlci4KKyAgICBzdGF0aWMgY29uc3QgUmVuZGVyT2JqZWN0KiBmaW5kRmlyc3RUZXh0TGVh
Zk5vdEluQ2x1c3Rlcihjb25zdCBSZW5kZXJPYmplY3QqLCBzaXplX3QmIGRlcHRoKTsKKyAgICAv
LyBGaW5kcyB0aGUgbGFzdCBsZWFmIHRleHQgbm9kZSBjaGlsZCB0aGF0IGRvZXNuJ3QgYmVsb25n
IHRvIGFueSBjbHVzdGVyLgorICAgIHN0YXRpYyBjb25zdCBSZW5kZXJPYmplY3QqIGZpbmRMYXN0
VGV4dExlYWZOb3RJbkNsdXN0ZXIoY29uc3QgUmVuZGVyT2JqZWN0Kiwgc2l6ZV90JiBkZXB0aCk7
CisgICAgLy8gQ29tbW9uIGltcGxlbWVudGF0aW9uIGZvciB0aGUgdHdvIGZ1bmN0aW9ucyBhYm92
ZS4KKyAgICBzdGF0aWMgY29uc3QgUmVuZGVyT2JqZWN0KiBmaW5kRmluYWxUZXh0TGVhZk5vdElu
Q2x1c3Rlcihjb25zdCBSZW5kZXJPYmplY3QqLCBzaXplX3QmIGRlcHRoLCBUcmF2ZXJzYWxEaXJl
Y3Rpb24pOworCisgICAgLy8gV3JhcHBlciBhcm91bmQgZmlyc3RDaGlsZCgpIGFuZCBsYXN0Q2hp
bGQoKSBtZXRob2RzLCBjYWxsaW5nIG9uZSBvciBhbm90aGVyIGRlcGVuZGluZyBvbiB0aGUgZGly
ZWN0aW9uLgorICAgIHN0YXRpYyBjb25zdCBSZW5kZXJPYmplY3QqIGZpcnN0Q2hpbGQoY29uc3Qg
UmVuZGVyT2JqZWN0KiwgVHJhdmVyc2FsRGlyZWN0aW9uKTsKKyAgICAvLyBXcmFwcGVyIGFyb3Vu
ZCBuZXh0U2libGluZygpIGFuZCBwcmV2aW91c1NpYmxpbmcoKSBtZXRob2RzLCBjYWxsaW5nIG9u
ZSBvciBhbm90aGVyIGRlcGVuZGluZyBvbiB0aGUgZGlyZWN0aW9uLgorICAgIHN0YXRpYyBjb25z
dCBSZW5kZXJPYmplY3QqIG5leHRTaWJsaW5nKGNvbnN0IFJlbmRlck9iamVjdCosIFRyYXZlcnNh
bERpcmVjdGlvbik7CisKICAgICBEb2N1bWVudCogbV9kb2N1bWVudDsKIH07CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAz
OGY5NDhkOGU4ZjA4YmFmYWU1NzkxNzk1OGY0MjkwNTQzODY5NTUzLi41MjM2ZjlkNWY3OThjY2M3
ZmFmYzcxYTFmYzZhY2ZjNWEwOWI0OGY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTItMTEt
MjcgIEFudG9uIFZheXZvZCAgPGF2YXl2b2RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFRleHQg
QXV0b3NpemluZzogQ2x1c3RlcnMgc2hvdWxkIHVzZSB3aWR0aCBvZiBMQ0Egb2YgdGhlaXIgdGV4
dCBub2RlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAyNTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TWFueSBwYWdlcyBzZXQgYSBtYXgtd2lkdGggb24gdGhlaXIgY29udGVudC4gU28gZXNwZWNpYWxs
eSBmb3IgdGhlCisgICAgICAgIFJlbmRlclZpZXcsIGluc3RlYWQgb2YganVzdCB0YWtpbmcgdGhl
IHdpZHRoIG9mIHxjbHVzdGVyfCB3ZSBmaW5kCisgICAgICAgIHRoZSBsb3dlc3QgY29tbW9uIGFu
Y2VzdG9yIG9mIHRoZSBmaXJzdCBhbmQgbGFzdCBkZXNjZW5kYW50IHRleHQgbm9kZSBvZgorICAg
ICAgICB0aGUgY2x1c3RlciAoaS5lLiB0aGUgZGVlcGVzdCB3cmFwcGVyIGJsb2NrIHRoYXQgY29u
dGFpbnMgYWxsIHRoZSB0ZXh0KSwKKyAgICAgICAgYW5kIHVzZSBpdHMgd2lkdGggaW5zdGVhZC4K
KyAgICAgICAgSGFkIHRvIHVwZGF0ZSBhIGNvdXBsZSBvZiB0ZXN0cyBzaW5jZSB0aGUgYWN0dWFs
IHdpZHRoIGZvciBmb250IHNpemUgbXVsdGlwbGllcgorICAgICAgICBjYWxjdWxhdGlvbiBoYXMg
YmVlbiBjaGFuZ2VkIGJ5IHRoZSBwYXRjaC4KKworICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6
aW5nL2NsdXN0ZXItd2lkZS1pbi1uYXJyb3ctZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0
L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpZGUtaW4tbmFycm93Lmh0bWw6CisgICAgICAgICog
ZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLW5hcnJvdy1sY2EtYW5kLWNsdXN0ZXIt
ZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1
c3Rlci13aXRoLW5hcnJvdy1sY2EtYW5kLWNsdXN0ZXIuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLW5hcnJvdy1sY2EtZXhwZWN0ZWQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLW5h
cnJvdy1sY2EuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1
c3Rlci13aXRoLXdpZGUtbGNhLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
dGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC13aWRlLWxjYS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9lbS1tYXJnaW4tYm9yZGVyLXBhZGRpbmctZXhwZWN0
ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9lbS1tYXJnaW4tYm9yZGVy
LXBhZGRpbmcuaHRtbDoKKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWNoaWxk
LWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lkZS1jaGls
ZC5odG1sOgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtaW4tbmFycm93LW92
ZXJmbG93LXNjcm9sbC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQt
YXV0b3NpemluZy93aWRlLWluLW5hcnJvdy1vdmVyZmxvdy1zY3JvbGwuaHRtbDogQWRkZWQuCisK
IDIwMTItMTEtMjYgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgV2ViIEluc3BlY3Rvcjogb2JqZWN0IHByZXZpZXcgZG9lcyBub3QgcmVuZGVyIG5vZGUg
aWQsIGNsYXNzTmFtZTsgbG9ncyB0b28gbWFueSBmdW5jdGlvbnMgZm9yIGpRdWVyeS4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2lkZS1pbi1u
YXJyb3ctZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2Ns
dXN0ZXItd2lkZS1pbi1uYXJyb3ctZXhwZWN0ZWQuaHRtbAppbmRleCA2Y2ZmMDZlNDQ4YjJmNzU4
M2JkYTIwMzQzZWViZGUyMjVjNjQ2NTcwLi4yYTEwM2E0Mjk5YjNiODc1ODQ1YmMwYTM2ZGJkZmYw
OTM5NGYzMjEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9j
bHVzdGVyLXdpZGUtaW4tbmFycm93LWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aWRlLWluLW5hcnJvdy1leHBlY3RlZC5odG1sCkBA
IC0xNyw4ICsxNyw4IEBAIGJvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjogMDsgb3ZlcmZsb3ct
eTogaGlkZGVuOyB9CiAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0
ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1
dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KICAgICA8L2Rpdj4KIAotICAgIDxkaXYg
c3R5bGU9IndpZHRoOiA4MDBweDsgZm9udC1zaXplOiAxLjI1cmVtIj4KLSAgICAgICAgVGhpcyB0
ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQgdG8ganVzdCAyMHB4IGNvbXB1dGVkIGZvbnQtc2l6ZSAo
MTYgKiA0MDAvMzIwKSwgc2luY2UgZGVzcGl0ZSBpdHMgd2lkdGg6ODAwcHggaXQgaXMgcGFydCBv
ZiB0aGUgNDAwcHggd2lkZSByb290IGNsdXN0ZXIuPGJyPgorICAgIDxkaXYgc3R5bGU9IndpZHRo
OiA2MDBweDsgZm9udC1zaXplOiAxLjI1cmVtIj4KKyAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBi
ZSBhdXRvc2l6ZWQgdG8gMjBweCBjb21wdXRlZCBmb250LXNpemUgKDE2ICogNDAwLzMyMCksIHNp
bmNlIHRoZSB3aWR0aCBvZiB0aGUgcGFyZW50IGRpdiBpcyB1c2VkIGZvciB0ZXh0IGF1dG9zaXpp
bmcuPGJyPgogICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIg
YWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFi
b3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCiAgICAgPC9kaXY+CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2lkZS1pbi1uYXJyb3cuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2lkZS1pbi1uYXJy
b3cuaHRtbAppbmRleCBiMmVmMDEwN2M5ZWM2NmM3MjNhZTk2ZmI0NDY5NmJmMzE2MTQ0N2NjLi43
MGI1YzBmN2M2MGFjYTg5MTYyMzNhY2JlYTI5ODA1M2UzNjkxZjk2IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpZGUtaW4tbmFycm93Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aWRlLWluLW5h
cnJvdy5odG1sCkBAIC0yNiw4ICsyNiw4IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CiAgICAg
ICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBl
bGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3Jl
IG1hZ25hIGFsaXF1YS4KICAgICA8L2Rpdj4KIAotICAgIDxkaXYgc3R5bGU9IndpZHRoOiA4MDBw
eCI+Ci0gICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIGp1c3QgMjBweCBj
b21wdXRlZCBmb250LXNpemUgKDE2ICogNDAwLzMyMCksIHNpbmNlIGRlc3BpdGUgaXRzIHdpZHRo
OjgwMHB4IGl0IGlzIHBhcnQgb2YgdGhlIDQwMHB4IHdpZGUgcm9vdCBjbHVzdGVyLjxicj4KKyAg
ICA8ZGl2IHN0eWxlPSJ3aWR0aDogNjAwcHgiPgorICAgICAgICBUaGlzIHRleHQgc2hvdWxkIGJl
IGF1dG9zaXplZCB0byAyMHB4IGNvbXB1dGVkIGZvbnQtc2l6ZSAoMTYgKiA0MDAvMzIwKSwgc2lu
Y2UgdGhlIHdpZHRoIG9mIHRoZSBwYXJlbnQgZGl2IGlzIHVzZWQgZm9yIHRleHQgYXV0b3Npemlu
Zy48YnI+CiAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBh
ZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJv
cmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KICAgICA8L2Rpdj4KIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLW5hcnJvdy1sY2EtYW5k
LWNsdXN0ZXItZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5n
L2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWFuZC1jbHVzdGVyLWV4cGVjdGVkLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjdjOTRmMmUyNzRmZGI2ZTVkNzkwNzVjNjlhNzNkZTU5ZWMzMGQ1NgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1u
YXJyb3ctbGNhLWFuZC1jbHVzdGVyLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZT4KK2h0bWwgeyBmb250LXNpemU6IDE2cHg7IH0KK2Jv
ZHkgeyB3aWR0aDogODAwcHg7IG92ZXJmbG93LXk6IGhpZGRlbjsgfQorPC9zdHlsZT4KKworPC9o
ZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9IndpZHRoOiA0MDBweCIgPgorICA8ZGl2IHN0eWxl
PSJmb250LXNpemU6IDEuMjVyZW0iID4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXpl
ZCB0byBqdXN0IDIwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDQwMC8zMjApLCBzaW5jZSB0
aGUgd2lkdGggb2YgdGhlIGxlYXN0IGNvbW1vbiBhbmNlc3RvciBpcyB1c2VkIGZvciBtdWx0aXBs
aWVyIGNhbGN1bGF0aW9uLgorICA8L2Rpdj4KKworICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDEu
MjVyZW0iID4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJlIHNpbWlsYXJseSBhdXRvc2l6ZWQgdG8g
MjBweC4KKyAgPC9kaXY+Cis8L2Rpdj4KKzxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDog
ODAwcHg7IGZvbnQtc2l6ZTogMi41cmVtIiA+CisgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3Np
emVkIHRvIDQwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDgwMC8zMjApLiBJdCBzaG91bGQg
bm90IGFmZmVjdCBhdXRvc2l6aW5nIGZvciB0ZXh0IGFib3ZlIHRob3VnaCBzaW5jZSBpdCdzIGFu
b3RoZXIgY2x1c3Rlci4KKyAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0
dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQg
bGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBx
dWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAg
ZXggZWEgY29tbW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhl
bmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51
bGxhIHBhcmlhdHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lk
ZW50LCBzdW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVz
dCBsYWJvcnVtLgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLW5hcnJvdy1sY2EtYW5k
LWNsdXN0ZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXIt
d2l0aC1uYXJyb3ctbGNhLWFuZC1jbHVzdGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjY0ODAwMmEyYmIz
NTIyNjA2YWFjZGRkNTM4NjY1NDkyZmZkNTMwYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWFuZC1jbHVz
dGVyLmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZT4K
K2h0bWwgeyBmb250LXNpemU6IDE2cHg7IH0KK2JvZHkgeyB3aWR0aDogODAwcHg7IG92ZXJmbG93
LXk6IGhpZGRlbjsgfQorPC9zdHlsZT4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxz
KSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJs
ZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3Npemlu
Z1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xl
ICYmIGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMg
b24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBE
dW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVp
dGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5l
eHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09O
X0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5
bGU9IndpZHRoOiA0MDBweCIgPgorICA8ZGl2PgorICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0
b3NpemVkIHRvIGp1c3QgMjBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogNDAwLzMyMCksIHNp
bmNlIHRoZSB3aWR0aCBvZiB0aGUgbGVhc3QgY29tbW9uIGFuY2VzdG9yIGlzIHVzZWQgZm9yIG11
bHRpcGxpZXIgY2FsY3VsYXRpb24uCisgIDwvZGl2PgorCisgIDxkaXY+CisgICAgVGhpcyB0ZXh0
IHNob3VsZCBiZSBzaW1pbGFybHkgYXV0b3NpemVkIHRvIDIwcHguCisgIDwvZGl2PgorPC9kaXY+
Cis8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsgd2lkdGg6IDgwMHB4IiA+CisgIFRoaXMgdGV4dCBz
aG91bGQgYmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDgwMC8z
MjApLiBJdCBzaG91bGQgbm90IGFmZmVjdCBhdXRvc2l6aW5nIGZvciB0ZXh0IGFib3ZlIHRob3Vn
aCBzaW5jZSBpdCdzIGFub3RoZXIgY2x1c3Rlci4KKyAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQg
YW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9y
IGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQg
bWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBu
aXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBk
b2xvciBpbiByZXByZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xv
cmUgZXUgZnVnaWF0IG51bGxhIHBhcmlhdHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBp
ZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1v
bGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRo
LW5hcnJvdy1sY2EtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6
aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDI2
ZmZjMzc0YWQ0OTJiNjY5NTFhMTIxYzM1MzUzZmEyNWM0ZjIwNAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNh
LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxz
dHlsZT4KK2h0bWwgeyBmb250LXNpemU6IDE2cHg7IH0KK2JvZHkgeyB3aWR0aDogODAwcHg7IG92
ZXJmbG93LXk6IGhpZGRlbjsgfQorPC9zdHlsZT4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYg
c3R5bGU9IndpZHRoOiA0MDBweCI+CisgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMS4yNXJlbSI+
CisgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQgdG8ganVzdCAyMHB4IGNvbXB1dGVk
IGZvbnQgc2l6ZSAoMTYgKiA0MDAvMzIwKSwgc2luY2UgdGhlIHdpZHRoIG9mIHRoZSBsZWFzdCBj
b21tb24gYW5jZXN0b3IgaXMgdXNlZCBmb3IgbXVsdGlwbGllciBjYWxjdWxhdGlvbi4KKyAgPC9k
aXY+CisKKyAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxLjI1cmVtIj4KKyAgICBUaGlzIHRleHQg
c2hvdWxkIGJlIHNpbWlsYXJseSBhdXRvc2l6ZWQgdG8gMjBweC4KKyAgPC9kaXY+Cis8L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1
dG9zaXppbmcvY2x1c3Rlci13aXRoLW5hcnJvdy1sY2EuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzliNWFjYjU4NmE0NGM5MmY5OWY2NGQ4YmY2OGEwOTE0MjNlMDUyZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ct
bGNhLmh0bWwKQEAgLTAsMCArMSwzNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZT4K
K2h0bWwgeyBmb250LXNpemU6IDE2cHg7IH0KK2JvZHkgeyB3aWR0aDogODAwcHg7IG92ZXJmbG93
LXk6IGhpZGRlbjsgfQorPC9zdHlsZT4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxz
KSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJs
ZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3Npemlu
Z1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xl
ICYmIGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMg
b24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBE
dW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVp
dGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5l
eHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09O
X0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5
bGU9IndpZHRoOiA0MDBweCIgPgorICA8ZGl2PgorICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0
b3NpemVkIHRvIGp1c3QgMjBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogNDAwLzMyMCksIHNp
bmNlIHRoZSB3aWR0aCBvZiB0aGUgbGVhc3QgY29tbW9uIGFuY2VzdG9yIGlzIHVzZWQgZm9yIG11
bHRpcGxpZXIgY2FsY3VsYXRpb24uCisgIDwvZGl2PgorCisgIDxkaXY+CisgICAgVGhpcyB0ZXh0
IHNob3VsZCBiZSBzaW1pbGFybHkgYXV0b3NpemVkIHRvIDIwcHguCisgIDwvZGl2PgorPC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1h
dXRvc2l6aW5nL2NsdXN0ZXItd2l0aC13aWRlLWxjYS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLXdpZGUtbGNhLWV4cGVjdGVkLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNGQwYzdkNjcxZDM5MDgxOGE1NjMxMzg3MDJiM2RkNDJlOTVhNTU3OQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0
ZXItd2l0aC13aWRlLWxjYS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPTgwMCI+Cis8c3R5bGU+CitodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9Citib2R5IHsg
d2lkdGg6IDgwMHB4OyBvdmVyZmxvdy15OiBoaWRkZW47IH0KKzwvc3R5bGU+CisKKzwvaGVhZD4K
Kzxib2R5PgorCis8ZGl2IHN0eWxlPSJ3aWR0aDogNDAwcHgiID4KKyAgPGRpdiBzdHlsZT0iZm9u
dC1zaXplOiAyLjVyZW0iID4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byA0
MHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSAoMTYgKiA4MDAvMzIwKS4KKyAgPC9kaXY+CisKKyAgPGRp
diBzdHlsZT0iZm9udC1zaXplOiAyLjVyZW0iID4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJlIHNp
bWlsYXJseSBhdXRvc2l6ZWQgdG8gNDBweC4KKyAgPC9kaXY+Cis8L2Rpdj4KKzxkaXYgc3R5bGU9
IndpZHRoOiA4MDBweDsgZm9udC1zaXplOiAyLjVyZW0iID4KKyAgVGhpcyB0ZXh0IHNob3VsZCBi
ZSBhdXRvc2l6ZWQgdG8gNDBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogODAwLzMyMCkuCisg
IExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0
LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1h
Z25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0
YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNl
cXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRl
IHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuIEV4Y2Vw
dGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4gY3VscGEg
cXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uCis8L2Rpdj4K
KworPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQt
YXV0b3NpemluZy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC13aWRlLWxjYS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZm
MDVkYWVkZjc5ODUwYWIxYWRiYWIwMjE3NDk3NjRkMDFiNDE0NmMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtd2lkZS1sY2Eu
aHRtbApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisK
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlPgoraHRt
bCB7IGZvbnQtc2l6ZTogMTZweDsgfQorYm9keSB7IHdpZHRoOiA4MDBweDsgb3ZlcmZsb3cteTog
aGlkZGVuOyB9Cis8L3N0eWxlPgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsK
KyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nRW5hYmxlZCh0
cnVlKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nV2lu
ZG93U2l6ZU92ZXJyaWRlKDMyMCwgNDgwKTsKK30gZWxzZSBpZiAod2luZG93LmNvbnNvbGUgJiYg
Y29uc29sZS53YXJuKSB7CisgICAgY29uc29sZS53YXJuKCJUaGlzIHRlc3QgZGVwZW5kcyBvbiB0
aGUgVGV4dCBBdXRvc2l6aW5nIHNldHRpbmcgYmVpbmcgdHJ1ZSwgc28gcnVuIGl0IGluIER1bXBS
ZW5kZXJUcmVlLCBvciBtYW51YWxseSBlbmFibGUgVGV4dCBBdXRvc2l6aW5nLCBhbmQgZWl0aGVy
IHVzZSBhIG1vYmlsZSBkZXZpY2Ugd2l0aCAzMjBweCBkZXZpY2Utd2lkdGggKGxpa2UgTmV4dXMg
UyBvciBpUGhvbmUpLCBvciBkZWZpbmUgSEFDS19GT1JDRV9URVhUX0FVVE9TSVpJTkdfT05fREVT
S1RPUC4iKTsKK30KKzwvc2NyaXB0PgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHlsZT0i
d2lkdGg6IDQwMHB4IiA+CisgIDxkaXY+CisgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6
ZWQgdG8gNDBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogODAwLzMyMCkuCisgIDwvZGl2Pgor
CisgIDxkaXY+CisgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBzaW1pbGFybHkgYXV0b3NpemVkIHRv
IDQwcHguCisgIDwvZGl2PgorPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogODAwcHgiID4KKyAg
VGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQgdG8gNDBweCBjb21wdXRlZCBmb250IHNpemUg
KDE2ICogODAwLzMyMCkuCisgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1
ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBs
YWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1
aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBl
eCBlYSBjb21tb2RvIGNvbnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVu
ZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVs
bGEgcGFyaWF0dXIuIEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRl
bnQsIHN1bnQgaW4gY3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0
IGxhYm9ydW0uCis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9lbS1tYXJnaW4tYm9yZGVyLXBhZGRpbmctZXhw
ZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1i
b3JkZXItcGFkZGluZy1leHBlY3RlZC5odG1sCmluZGV4IDQzYmQxYzA2ODljODQ0NWU4MGE4MDUx
MDhmZWRlNTg1YmU2ZjFmMjMuLmQ5M2NiMjU0OGYwMTZiZDg3Y2QzYWMxYzMyZmExNmIzYTI0YWE4
ZTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdp
bi1ib3JkZXItcGFkZGluZy1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1ib3JkZXItcGFkZGluZy1leHBlY3RlZC5odG1sCkBAIC0x
MSw4ICsxMSw4IEBAIGJvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjogMDsgb3ZlcmZsb3cteTog
aGlkZGVuOyB9CiA8L2hlYWQ+CiA8Ym9keT4KIAotPHAgc3R5bGU9ImZvbnQtc2l6ZTogMi41cmVt
OyBtYXJnaW46IDFyZW07IGJvcmRlcjogMXJlbSBzb2xpZCBibHVlOyBwYWRkaW5nOiAxcmVtIj4K
LSAgICBUaGlzIHRleHQgc2hvdWxkIGdldCBhdXRvc2l6ZWQgdG8gNDBweCBjb21wdXRlZCBmb250
IHNpemUsIGJ1dCB0aGUgMWVtIG1hcmdpbnMsIGJvcmRlcnMgYW5kIHBhZGRpbmcgc2hvdWxkIHJl
bWFpbiBqdXN0IDE2cHguIFdoaWxlIGRlYmF0YWJsZSwgdGhpcyBnZW5lcmFsbHkgbG9va3MgbW9y
ZSBjb25zaXN0ZW50IHRoYW4gaGF2aW5nIHRoZW0gYmUgc2NhbGVkLjxicj4KKzxwIHN0eWxlPSJm
b250LXNpemU6IDIuMnJlbTsgbWFyZ2luOiAxcmVtOyBib3JkZXI6IDFyZW0gc29saWQgYmx1ZTsg
cGFkZGluZzogMXJlbSI+CisgICAgVGhpcyB0ZXh0IHNob3VsZCBnZXQgYXV0b3NpemVkIHRvIDM1
LjJweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogNzA0LzMyMCksIGJ1dCB0aGUgMWVtIG1hcmdp
bnMsIGJvcmRlcnMgYW5kIHBhZGRpbmcgc2hvdWxkIHJlbWFpbiBqdXN0IDE2cHguIFdoaWxlIGRl
YmF0YWJsZSwgdGhpcyBnZW5lcmFsbHkgbG9va3MgbW9yZSBjb25zaXN0ZW50IHRoYW4gaGF2aW5n
IHRoZW0gYmUgc2NhbGVkLjxicj4KICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29u
c2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1
bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVu
aWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFs
aXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuCiA8L3A+CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1ib3JkZXItcGFkZGluZy5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZW0tbWFyZ2luLWJvcmRlci1wYWRk
aW5nLmh0bWwKaW5kZXggMzk1ZTgxNGE2MzEyMDg2Mzc4YmViMGY3MDlmOGQyYTFhZDFjNzljYi4u
NDZlZjU4MzY3MTcwMTAzZTQwOTBkNGJjNzEyZTk4NzRiM2M1Nzg5NiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZW0tbWFyZ2luLWJvcmRlci1wYWRkaW5nLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZW0tbWFyZ2luLWJvcmRl
ci1wYWRkaW5nLmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsK
IDxib2R5PgogCiA8cCBzdHlsZT0ibWFyZ2luOiAxZW07IGJvcmRlcjogMWVtIHNvbGlkIGJsdWU7
IHBhZGRpbmc6IDFlbSI+Ci0gICAgVGhpcyB0ZXh0IHNob3VsZCBnZXQgYXV0b3NpemVkIHRvIDQw
cHggY29tcHV0ZWQgZm9udCBzaXplLCBidXQgdGhlIDFlbSBtYXJnaW5zLCBib3JkZXJzIGFuZCBw
YWRkaW5nIHNob3VsZCByZW1haW4ganVzdCAxNnB4LiBXaGlsZSBkZWJhdGFibGUsIHRoaXMgZ2Vu
ZXJhbGx5IGxvb2tzIG1vcmUgY29uc2lzdGVudCB0aGFuIGhhdmluZyB0aGVtIGJlIHNjYWxlZC48
YnI+CisgICAgVGhpcyB0ZXh0IHNob3VsZCBnZXQgYXV0b3NpemVkIHRvIDM1LjJweCBjb21wdXRl
ZCBmb250IHNpemUgKDE2ICogNzA0LzMyMCksIGJ1dCB0aGUgMWVtIG1hcmdpbnMsIGJvcmRlcnMg
YW5kIHBhZGRpbmcgc2hvdWxkIHJlbWFpbiBqdXN0IDE2cHguIFdoaWxlIGRlYmF0YWJsZSwgdGhp
cyBnZW5lcmFsbHkgbG9va3MgbW9yZSBjb25zaXN0ZW50IHRoYW4gaGF2aW5nIHRoZW0gYmUgc2Nh
bGVkLjxicj4KICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRp
cGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3Jl
IGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5v
c3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEg
Y29tbW9kbyBjb25zZXF1YXQuCiA8L3A+CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC1hdXRvc2l6aW5nL3dpZGUtY2hpbGQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtY2hpbGQtZXhwZWN0ZWQuaHRtbAppbmRleCA0YjAwMGY2
NzBlYTcyNGMwOWE2ZTdhZGJlZGI3ZDExNjM3M2JiMzViLi4wMTI0N2FmYmQ5YWI3ZjFlOWI4Mzg5
MjFmZWUyMjUyZWRlOTZlNTJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0
b3NpemluZy93aWRlLWNoaWxkLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0LWF1dG9zaXppbmcvd2lkZS1jaGlsZC1leHBlY3RlZC5odG1sCkBAIC0xMSw5ICsxMSwxMSBA
QCBib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IG92ZXJmbG93LXk6IGhpZGRlbjsgfQog
PC9oZWFkPgogPGJvZHk+CiAKLTxkaXYgc3R5bGU9IndpZHRoOiAzMjBweDsgZm9udC1zaXplOiAy
LjVyZW0iPgotICAgIFRoaXMgdGV4dCBzaG91bGQgYWxsIGJlIGF1dG9zaXplZCB0byA0MHB4IGNv
bXB1dGVkIGZvbnQtc2l6ZSwgc2luY2UgYWx0aG91Z2ggdGhpcyBibG9jayBpcyBuYXJyb3csIGl0
IGhhcyBhIHdpZGUgY2hpbGQgYmxvY2ssIHNvIHRoZSBjbHVzdGVyIHdpbGwgYmUgd2lkZSBhbmQg
bmVlZCBhdXRvc2l6aW5nLgotICAgIDxkaXYgc3R5bGU9IndpZHRoOiA4MDBweCI+Cis8ZGl2IHN0
eWxlPSJ3aWR0aDogMzIwcHg7IGZvbnQtc2l6ZTogMXJlbSI+CisJVGhpcyB0ZXh0IHNob3VsZCBu
b3QgYmUgYXV0b3NpemVkLgorCTxkaXYgc3R5bGU9IndpZHRoOiA4MDBweCI+CisgICAgCVRoaXMg
dGV4dCBzaG91bGQgbm90IGJlIGF1dG9zaXplZCBhcyB3ZWxsIHNpbmNlIGl0cyB3aWR0aCBkb2Vz
bid0IGFmZmVjdCB0aGUgd2lkdGggb2YgdGhlIHBhcmVudCBibG9jay4KKyAgICAJRklYTUUoYXZh
eXZvZCk6IElkZWFsbHkgdGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQuIFdpbGwgbmVlZCB0
byBiZSBmaXhlZCBsYXRlci4KICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNv
bnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlk
dW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLgogICAgIDwvZGl2PgogICAgIExv
cmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBz
ZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25h
IGFsaXF1YS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dp
ZGUtY2hpbGQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtY2hp
bGQuaHRtbAppbmRleCAwYTViMTIxNGY4MDk5MTQ2MTQ3YjdiMGNlZDNmOTIxOWVmOTE1NTUxLi4w
NGJmZWExYjM1MmMyMTU5YWMwNmQ2ZGNiM2IzNzZlYTgwNTNmMDc3IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWNoaWxkLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lkZS1jaGlsZC5odG1sCkBAIC0yMSw4ICsyMSwx
MCBAQCBpZiAod2luZG93LmludGVybmFscykgewogPGJvZHk+CiAKIDxkaXYgc3R5bGU9IndpZHRo
OiAzMjBweCI+Ci0gICAgVGhpcyB0ZXh0IHNob3VsZCBhbGwgYmUgYXV0b3NpemVkIHRvIDQwcHgg
Y29tcHV0ZWQgZm9udC1zaXplLCBzaW5jZSBhbHRob3VnaCB0aGlzIGJsb2NrIGlzIG5hcnJvdywg
aXQgaGFzIGEgd2lkZSBjaGlsZCBibG9jaywgc28gdGhlIGNsdXN0ZXIgd2lsbCBiZSB3aWRlIGFu
ZCBuZWVkIGF1dG9zaXppbmcuCisgICAgVGhpcyB0ZXh0IHNob3VsZCBub3QgYmUgYXV0b3NpemVk
LgogICAgIDxkaXYgc3R5bGU9IndpZHRoOiA4MDBweCI+CisgICAgCVRoaXMgdGV4dCBzaG91bGQg
bm90IGJlIGF1dG9zaXplZCBhcyB3ZWxsIHNpbmNlIGl0cyB3aWR0aCBkb2Vzbid0IGFmZmVjdCB0
aGUgd2lkdGggb2YgdGhlIHBhcmVudCBibG9jay4KKyAgICAJRklYTUUoYXZheXZvZCk6IElkZWFs
bHkgdGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQuIFdpbGwgbmVlZCB0byBiZSBmaXhlZCBs
YXRlci4KICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFk
aXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9y
ZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLgogICAgIDwvZGl2PgogICAgIExvcmVtIGlwc3VtIGRv
bG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21v
ZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtaW4tbmFycm93
LW92ZXJmbG93LXNjcm9sbC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1
dG9zaXppbmcvd2lkZS1pbi1uYXJyb3ctb3ZlcmZsb3ctc2Nyb2xsLWV4cGVjdGVkLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjQyMDRlZjg3NDUyYjM0OGM0MzM5MDJlMTdmYmVlMjRkY2I5NzY4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtaW4tbmFy
cm93LW92ZXJmbG93LXNjcm9sbC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPTgwMCI+Cis8c3R5bGU+CitodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9Citib2R5
IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IG92ZXJmbG93LXk6IGhpZGRlbjsgfQorPC9zdHls
ZT4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9IndpZHRoOiA0MDBweCI+CisgIDxk
aXYgc3R5bGU9Im92ZXJmbG93LXg6IHNjcm9sbCI+CisgICAgPGRpdiBzdHlsZT0id2lkdGg6IDgw
MHB4OyBmb250LXNpemU6IDEuMjVyZW0iPgorICAgICAgICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1
dG9zaXplZCB0byAyMHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSAoMTYgKiA0MDAvMzIwKSwgc2luY2Ug
aXRzIHNjcm9sbCB3aWR0aCBpcyA0MDBweC48YnI+CisgICAgICAgIExvcmVtIGlwc3VtIGRvbG9y
IHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0
ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KKyAgICA8
L2Rpdj4KKyAgPC9kaXY+CisKKyAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxLjI1cmVtIj4KKyAg
ICAgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQgdG8gMjBweCBjb21wdXRlZCBmb250
IHNpemUgKDE2ICogNDAwLzMyMCkuPGJyPgorICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQg
YW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9y
IGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCisgIDwvZGl2Pgor
PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0LWF1dG9zaXppbmcvd2lkZS1pbi1uYXJyb3ctb3ZlcmZsb3ctc2Nyb2xsLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWluLW5hcnJvdy1vdmVyZmxvdy1z
Y3JvbGwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMTg1NDQ5MGE2MDBlNzA5MzIzMDhlZDY5NzQ1ZTAxYTVi
OGMzZTM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXpp
bmcvd2lkZS1pbi1uYXJyb3ctb3ZlcmZsb3ctc2Nyb2xsLmh0bWwKQEAgLTAsMCArMSwzOSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZT4KK2h0bWwgeyBmb250LXNpemU6IDE2cHg7IH0K
K2JvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjogMDsgb3ZlcmZsb3cteTogaGlkZGVuOyB9Cis8
L3N0eWxlPgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cu
aW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nRW5hYmxlZCh0cnVlKTsKKyAgICB3
aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJy
aWRlKDMyMCwgNDgwKTsKK30gZWxzZSBpZiAod2luZG93LmNvbnNvbGUgJiYgY29uc29sZS53YXJu
KSB7CisgICAgY29uc29sZS53YXJuKCJUaGlzIHRlc3QgZGVwZW5kcyBvbiB0aGUgVGV4dCBBdXRv
c2l6aW5nIHNldHRpbmcgYmVpbmcgdHJ1ZSwgc28gcnVuIGl0IGluIER1bXBSZW5kZXJUcmVlLCBv
ciBtYW51YWxseSBlbmFibGUgVGV4dCBBdXRvc2l6aW5nLCBhbmQgZWl0aGVyIHVzZSBhIG1vYmls
ZSBkZXZpY2Ugd2l0aCAzMjBweCBkZXZpY2Utd2lkdGggKGxpa2UgTmV4dXMgUyBvciBpUGhvbmUp
LCBvciBkZWZpbmUgSEFDS19GT1JDRV9URVhUX0FVVE9TSVpJTkdfT05fREVTS1RPUC4iKTsKK30K
Kzwvc2NyaXB0PgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHlsZT0id2lkdGg6IDQwMHB4
Ij4KKyAgPGRpdiBzdHlsZT0ib3ZlcmZsb3cteDogc2Nyb2xsIj4KKyAgICA8ZGl2IHN0eWxlPSJ3
aWR0aDogODAwcHgiPgorICAgICAgICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byAy
MHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSAoMTYgKiA0MDAvMzIwKSwgc2luY2UgaXRzIHNjcm9sbCB3
aWR0aCBpcyA0MDBweC48YnI+CisgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBj
b25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRp
ZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KKyAgICA8L2Rpdj4KKyAgPC9k
aXY+CisKKyAgPGRpdj4KKyAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQgdG8g
MjBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogNDAwLzMyMCkuPGJyPgorICAgICAgICBMb3Jl
bSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2Vk
IGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBh
bGlxdWEuCisgIDwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176288</attachid>
            <date>2012-11-27 09:35:14 -0800</date>
            <delta_ts>2012-11-27 14:42:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102562-20121127173250.patch</filename>
            <type>text/plain</type>
            <size>31176</size>
            <attacher name="Anton Vayvod">avayvod</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGM5MmVmNDJkYTJhNDA2
ZDg3MmE5YTBjMzdiYjgxYWVlNDNmOWQ1NS4uMmUyODUzOGYzMWE0ZTk1N2Y0OWE5MTRkMmYzMjZj
YzI5YTY1ZDY3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTExLTI3ICBBbnRv
biBWYXl2b2QgIDxhdmF5dm9kQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0IEF1dG9zaXpp
bmc6IENsdXN0ZXJzIHNob3VsZCB1c2Ugd2lkdGggb2YgTENBIG9mIHRoZWlyIHRleHQgbm9kZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjU2Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1hbnkgcGFn
ZXMgc2V0IGEgbWF4LXdpZHRoIG9uIHRoZWlyIGNvbnRlbnQuIFNvIGVzcGVjaWFsbHkgZm9yIHRo
ZQorICAgICAgICBSZW5kZXJWaWV3LCBpbnN0ZWFkIG9mIGp1c3QgdGFraW5nIHRoZSB3aWR0aCBv
ZiB8Y2x1c3Rlcnwgd2UgZmluZAorICAgICAgICB0aGUgbG93ZXN0IGNvbW1vbiBhbmNlc3RvciBv
ZiB0aGUgZmlyc3QgYW5kIGxhc3QgZGVzY2VuZGFudCB0ZXh0IG5vZGUgb2YKKyAgICAgICAgdGhl
IGNsdXN0ZXIgKGkuZS4gdGhlIGRlZXBlc3Qgd3JhcHBlciBibG9jayB0aGF0IGNvbnRhaW5zIGFs
bCB0aGUgdGV4dCksCisgICAgICAgIGFuZCB1c2UgaXRzIHdpZHRoIGluc3RlYWQuCisKKyAgICAg
ICAgVGVzdHM6IGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWFu
ZC1jbHVzdGVyLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0
ZXItd2l0aC1uYXJyb3ctbGNhLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC1hdXRvc2l6
aW5nL2NsdXN0ZXItd2l0aC13aWRlLWxjYS5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQt
YXV0b3NpemluZy93aWRlLWluLW5hcnJvdy1vdmVyZmxvdy1zY3JvbGwuaHRtbAorCisgICAgICAg
ICogcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEF1
dG9zaXplcjo6cHJvY2Vzc0NsdXN0ZXIpOiB1c2UgdGV4dCBub2RlcyBMQ0EgaW5zdGVhZCBvZiBj
bHVzdGVyIGZvciB3aWR0aCBjYWxjdWxhdGlvbgorICAgICAgICAoV2ViQ29yZTo6VGV4dEF1dG9z
aXplcjo6aXNBdXRvc2l6aW5nQ2x1c3Rlcik6IHJlcGxhY2VkIGFzc2VydGlvbiBmb3IgYmVpbmcg
YXV0b3NpemluZyBjb250YWluZXIgd2l0aCBhIGNoZWNrCisgICAgICAgIChXZWJDb3JlOjpUZXh0
QXV0b3NpemVyOjpmaW5kRGVlcGVzdEJsb2NrV2l0aEFsbFRleHQpOiBzZWFyY2hlcyBmb3IgTENB
IG9mIHRleHQgbm9kZXMgaWdub3JpbmcgZGVzY2VuZGFudCBjbHVzdGVycworICAgICAgICAoV2Vi
Q29yZTo6VGV4dEF1dG9zaXplcjo6ZmluZEZpcnN0VGV4dExlYWZOb3RJbkNsdXN0ZXIpOiBzZWFy
Y2hlcyBmb3IgdGhlIGZpcnN0IHRleHQgbm9kZSBpbi1vcmRlciBpZ25vcmluZyBhbnkgZGVzY2Vu
ZGFudCBjbHVzdGVycworICAgICAgICAoV2ViQ29yZTo6VGV4dEF1dG9zaXplcjo6ZmluZExhc3RU
ZXh0TGVhZk5vdEluQ2x1c3Rlcik6IHNlYXJjaGVzIGZvciB0aGUgbGFzdCB0ZXh0IG5vZGUgaW4t
b3JkZXIgaWdub3JpbmcgYW55IGRlc2NlbmRhbnQgY2x1c3RlcnMKKyAgICAgICAgKFdlYkNvcmU6
OlRleHRBdXRvc2l6ZXI6OmZpbmRGaW5hbFRleHRMZWFmTm90SW5DbHVzdGVyKTogaGVscGVyIGZ1
bmN0aW9uIHJlZHVjaW5nIGNvZGUgZHVwbGljYXRpb24KKyAgICAgICAgKFdlYkNvcmU6OlRleHRB
dXRvc2l6ZXI6OmZpcnN0Q2hpbGQpOiBoZWxwZnVsIHdyYXBwZXIgYXJvdW5kIGZpcnN0L2xhc3RD
aGlsZCBtZXRob2RzIG9mIFJlbmRlck9iamVjdAorICAgICAgICAoV2ViQ29yZTo6VGV4dEF1dG9z
aXplcjo6bmV4dFNpYmxpbmcpOiBoZWxwZnVsIHdyYXBwZXIgYXJvdW5kIG5leHQvcHJldmlvdXNT
aWJsaW5nIG1ldGhvZHMgb2YgUmVuZGVyT2JqZWN0CisgICAgICAgICogcmVuZGVyaW5nL1RleHRB
dXRvc2l6ZXIuaDogbmV3IHByaXZhdGUgbWV0aG9kcyBkZWNsYXJhdGlvbnMgYW5kIGFuIGVudW0g
Zm9yIHRyZWUgdHJhdmVyc2FsIGRpcmVjdGlvbi4KKwogMjAxMi0xMS0yNiAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBGaXggUXQg
bWluaW1hbCBjb21waWxhdGlvbiBhZnRlciByMTM1NzEzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1RleHRBdXRvc2l6ZXIuY3BwCmluZGV4IDM2MDY3ZmQ3ODA5ZTljMzg0ZWQ3OGRkMmJmNmMx
Y2UzNWEyNmI3YjYuLmRlOGFkMmRmOTEzZGFiYTViMzg1Y2I5YWVmYTU3NDFjZGQ2YTY4ODMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9zaXplci5jcHAKQEAgLTMzLDYgKzMz
LDggQEAKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN0eWxlSW5oZXJpdGVkRGF0
YS5oIgogCisjaW5jbHVkZSA8YWxnb3JpdGhtPgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0
cnVjdCBUZXh0QXV0b3NpemluZ1dpbmRvd0luZm8gewpAQCAtOTQsMTEgKzk2LDEyIEBAIHZvaWQg
VGV4dEF1dG9zaXplcjo6cHJvY2Vzc0NsdXN0ZXIoUmVuZGVyQmxvY2sqIGNsdXN0ZXIsIFJlbmRl
ckJsb2NrKiBjb250YWluZXIsCiB7CiAgICAgQVNTRVJUKGlzQXV0b3NpemluZ0NsdXN0ZXIoY2x1
c3RlcikpOwogCi0gICAgLy8gRklYTUU6IE1hbnkgcGFnZXMgc2V0IGEgbWF4LXdpZHRoIG9uIHRo
ZWlyIGNvbnRlbnQuIFNvIGVzcGVjaWFsbHkgZm9yIHRoZSBSZW5kZXJWaWV3LAotICAgIC8vIGlu
c3RlYWQgb2YganVzdCB0YWtpbmcgdGhlIHdpZHRoIG9mIHxjbHVzdGVyfCB3ZSBzaG91bGQgZmlu
ZCB0aGUgbG93ZXN0IGNvbW1vbiBhbmNlc3RvciBvZgotICAgIC8vIHRoZSBmaXJzdCBhbmQgbGFz
dCBkZXNjZW5kYW50IHRleHQgbm9kZSBvZiB0aGUgY2x1c3RlciAoaS5lLiB0aGUgZGVlcGVzdCB3
cmFwcGVyIGJsb2NrIHRoYXQKLSAgICAvLyBjb250YWlucyBhbGwgdGhlIHRleHQpLCBhbmQgdXNl
IGl0cyB3aWR0aCBpbnN0ZWFkLgotICAgIFJlbmRlckJsb2NrKiBsb3dlc3RDb21tb25BbmNlc3Rv
ciA9IGNsdXN0ZXI7CisgICAgLy8gTWFueSBwYWdlcyBzZXQgYSBtYXgtd2lkdGggb24gdGhlaXIg
Y29udGVudC4gU28gZXNwZWNpYWxseSBmb3IgdGhlCisgICAgLy8gUmVuZGVyVmlldywgaW5zdGVh
ZCBvZiBqdXN0IHRha2luZyB0aGUgd2lkdGggb2YgfGNsdXN0ZXJ8IHdlIGZpbmQKKyAgICAvLyB0
aGUgbG93ZXN0IGNvbW1vbiBhbmNlc3RvciBvZiB0aGUgZmlyc3QgYW5kIGxhc3QgZGVzY2VuZGFu
dCB0ZXh0IG5vZGUgb2YKKyAgICAvLyB0aGUgY2x1c3RlciAoaS5lLiB0aGUgZGVlcGVzdCB3cmFw
cGVyIGJsb2NrIHRoYXQgY29udGFpbnMgYWxsIHRoZSB0ZXh0KSwKKyAgICAvLyBhbmQgdXNlIGl0
cyB3aWR0aCBpbnN0ZWFkLgorICAgIGNvbnN0IFJlbmRlckJsb2NrKiBsb3dlc3RDb21tb25BbmNl
c3RvciA9IGZpbmREZWVwZXN0QmxvY2tDb250YWluaW5nQWxsVGV4dChjbHVzdGVyKTsKICAgICBm
bG9hdCBjb21tb25BbmNlc3RvcldpZHRoID0gbG93ZXN0Q29tbW9uQW5jZXN0b3ItPmNvbnRlbnRM
b2dpY2FsV2lkdGgoKTsKIAogICAgIGZsb2F0IG11bHRpcGxpZXIgPSAxOwpAQCAtMjk3LDYgKzMw
MCwxMDMgQEAgUmVuZGVyT2JqZWN0KiBUZXh0QXV0b3NpemVyOjpuZXh0SW5QcmVPcmRlclNraXBw
aW5nRGVzY2VuZGFudHNPZkNvbnRhaW5lcnMoY29uc3QKICAgICByZXR1cm4gMDsKIH0KIAorY29u
c3QgUmVuZGVyQmxvY2sqIFRleHRBdXRvc2l6ZXI6OmZpbmREZWVwZXN0QmxvY2tDb250YWluaW5n
QWxsVGV4dChjb25zdCBSZW5kZXJCbG9jayogY2x1c3RlcikKK3sKKyAgICBBU1NFUlQoaXNBdXRv
c2l6aW5nQ2x1c3RlcihjbHVzdGVyKSk7CisKKyAgICBzaXplX3QgZmlyc3REZXB0aCA9IDA7Cisg
ICAgY29uc3QgUmVuZGVyT2JqZWN0KiBmaXJzdFRleHRMZWFmID0gZmluZEZpcnN0VGV4dExlYWZO
b3RJbkNsdXN0ZXIoY2x1c3RlciwgZmlyc3REZXB0aCk7CisgICAgaWYgKCFmaXJzdFRleHRMZWFm
KQorICAgICAgICByZXR1cm4gY2x1c3RlcjsKKworICAgIHNpemVfdCBsYXN0RGVwdGggPSAwOwor
ICAgIGNvbnN0IFJlbmRlck9iamVjdCogbGFzdFRleHRMZWFmID0gZmluZExhc3RUZXh0TGVhZk5v
dEluQ2x1c3RlcihjbHVzdGVyLCBsYXN0RGVwdGgpOworICAgIEFTU0VSVChsYXN0VGV4dExlYWYp
OworCisgICAgLy8gRXF1YWxpemUgdGhlIGRlcHRocyBpZiBuZWNlc3NhcnkuIE9ubHkgb25lIG9m
IHRoZSB3aGlsZSBsb29wcyBiZWxvdyB3aWxsIGdldCBleGVjdXRlZC4KKyAgICBjb25zdCBSZW5k
ZXJPYmplY3QqIGZpcnN0Tm9kZSA9IGZpcnN0VGV4dExlYWY7CisgICAgY29uc3QgUmVuZGVyT2Jq
ZWN0KiBsYXN0Tm9kZSA9IGxhc3RUZXh0TGVhZjsKKyAgICB3aGlsZSAoZmlyc3REZXB0aCA+IGxh
c3REZXB0aCkgeworICAgICAgICBmaXJzdE5vZGUgPSBmaXJzdE5vZGUtPnBhcmVudCgpOworICAg
ICAgICAtLWZpcnN0RGVwdGg7CisgICAgfQorICAgIHdoaWxlIChsYXN0RGVwdGggPiBmaXJzdERl
cHRoKSB7CisgICAgICAgIGxhc3ROb2RlID0gbGFzdE5vZGUtPnBhcmVudCgpOworICAgICAgICAt
LWxhc3REZXB0aDsKKyAgICB9CisKKyAgICAvLyBHbyB1cCBmcm9tIGJvdGggbm9kZXMgdW50aWwg
dGhlIHBhcmVudCBpcyB0aGUgc2FtZS4gQm90aCBwb2ludGVycyB3aWxsIHBvaW50IHRvIHRoZSBM
Q0EgdGhlbi4KKyAgICB3aGlsZSAoZmlyc3ROb2RlICE9IGxhc3ROb2RlKSB7CisgICAgICAgIGZp
cnN0Tm9kZSA9IGZpcnN0Tm9kZS0+cGFyZW50KCk7CisgICAgICAgIGxhc3ROb2RlID0gbGFzdE5v
ZGUtPnBhcmVudCgpOworICAgIH0KKworICAgIGlmIChmaXJzdE5vZGUtPmlzUmVuZGVyQmxvY2so
KSkKKyAgICAgICAgcmV0dXJuIHRvUmVuZGVyQmxvY2soZmlyc3ROb2RlKTsKKworICAgIC8vIFdl
IGFzc3VtZSB0aGF0IGNvbnRhaW5pbmdCbG9jaygpIGNhbid0IHNraXAgdGhlIGNsdXN0ZXIsIHNp
bmNlIGFzIG9mIG5vdyAoMTEvMjcvMjAxMikgaXQgc2tpcHMKKyAgICAvLyBlbGVtZW50cyB3aXRo
IHBvc2l0aW9uOmZpeGVkIHdoaWNoIGxlYWRzIHRvIHRoZSBub2RlIGJlaW5nIGEgY2x1c3Rlci4K
KyAgICBSZW5kZXJCbG9jayogY29udGFpbmluZ0Jsb2NrID0gZmlyc3ROb2RlLT5jb250YWluaW5n
QmxvY2soKTsKKyAgICBBU1NFUlQoY29udGFpbmluZ0Jsb2NrLT5pc0Rlc2NlbmRhbnRPZihjbHVz
dGVyKSk7CisKKyAgICByZXR1cm4gY29udGFpbmluZ0Jsb2NrOworfQorCitjb25zdCBSZW5kZXJP
YmplY3QqIFRleHRBdXRvc2l6ZXI6OmZpbmRGaXJzdFRleHRMZWFmTm90SW5DbHVzdGVyKGNvbnN0
IFJlbmRlck9iamVjdCogcGFyZW50LCBzaXplX3QmIGRlcHRoKQoreworICAgIHJldHVybiBmaW5k
RmluYWxUZXh0TGVhZk5vdEluQ2x1c3RlcihwYXJlbnQsIGRlcHRoLCBGaXJzdFRvTGFzdCk7Cit9
CisKK2NvbnN0IFJlbmRlck9iamVjdCogVGV4dEF1dG9zaXplcjo6ZmluZExhc3RUZXh0TGVhZk5v
dEluQ2x1c3Rlcihjb25zdCBSZW5kZXJPYmplY3QqIHBhcmVudCwgc2l6ZV90JiBkZXB0aCkKK3sK
KyAgICByZXR1cm4gZmluZEZpbmFsVGV4dExlYWZOb3RJbkNsdXN0ZXIocGFyZW50LCBkZXB0aCwg
TGFzdFRvRmlyc3QpOworfQorCitjb25zdCBSZW5kZXJPYmplY3QqIFRleHRBdXRvc2l6ZXI6OmZp
bmRGaW5hbFRleHRMZWFmTm90SW5DbHVzdGVyKGNvbnN0IFJlbmRlck9iamVjdCogcGFyZW50LCBz
aXplX3QmIGRlcHRoLCBUcmF2ZXJzYWxEaXJlY3Rpb24gZGlyZWN0aW9uKQoreworICAgIGlmIChw
YXJlbnQtPmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHBhcmVudC0+aXNUZXh0KCkgPyBwYXJl
bnQgOiAwOworCisgICAgKytkZXB0aDsKKyAgICBmb3IgKGNvbnN0IFJlbmRlck9iamVjdCogY2hp
bGQgPSBmaXJzdENoaWxkKHBhcmVudCwgZGlyZWN0aW9uKTsgY2hpbGQ7IGNoaWxkID0gbmV4dFNp
YmxpbmcoY2hpbGQsIGRpcmVjdGlvbikpIHsKKyAgICAgICAgaWYgKGlzQXV0b3NpemluZ0NvbnRh
aW5lcihjaGlsZCkgJiYgY2hpbGQtPmlzUmVuZGVyQmxvY2soKSAmJiBpc0F1dG9zaXppbmdDbHVz
dGVyKHRvUmVuZGVyQmxvY2soY2hpbGQpKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAg
ICAgIGNvbnN0IFJlbmRlck9iamVjdCogbGVhZiA9IGZpbmRGaW5hbFRleHRMZWFmTm90SW5DbHVz
dGVyKGNoaWxkLCBkZXB0aCwgZGlyZWN0aW9uKTsKKyAgICAgICAgaWYgKGxlYWYpCisgICAgICAg
ICAgICByZXR1cm4gbGVhZjsKKyAgICB9CisgICAgLS1kZXB0aDsKKworICAgIHJldHVybiAwOwor
fQorCitjb25zdCBSZW5kZXJPYmplY3QqIFRleHRBdXRvc2l6ZXI6OmZpcnN0Q2hpbGQoY29uc3Qg
UmVuZGVyT2JqZWN0KiBvYmplY3QsIFRyYXZlcnNhbERpcmVjdGlvbiBkaXJlY3Rpb24pCit7Cisg
ICAgc3dpdGNoIChkaXJlY3Rpb24pIHsKKyAgICBjYXNlIEZpcnN0VG9MYXN0OgorICAgICAgICBy
ZXR1cm4gb2JqZWN0LT5maXJzdENoaWxkKCk7CisgICAgY2FzZSBMYXN0VG9GaXJzdDoKKyAgICAg
ICAgcmV0dXJuIG9iamVjdC0+bGFzdENoaWxkKCk7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNT
RVJUKGZhbHNlKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorfQorCitjb25zdCBSZW5kZXJP
YmplY3QqIFRleHRBdXRvc2l6ZXI6Om5leHRTaWJsaW5nKGNvbnN0IFJlbmRlck9iamVjdCogb2Jq
ZWN0LCBUcmF2ZXJzYWxEaXJlY3Rpb24gZGlyZWN0aW9uKQoreworICAgIHN3aXRjaCAoZGlyZWN0
aW9uKSB7CisgICAgY2FzZSBGaXJzdFRvTGFzdDoKKyAgICAgICAgcmV0dXJuIG9iamVjdC0+bmV4
dFNpYmxpbmcoKTsKKyAgICBjYXNlIExhc3RUb0ZpcnN0OgorICAgICAgICByZXR1cm4gb2JqZWN0
LT5wcmV2aW91c1NpYmxpbmcoKTsKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlQoZmFsc2Up
OworICAgICAgICByZXR1cm4gMDsKKyAgICB9Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAogI2VuZGlmIC8vIEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9zaXplci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1RleHRBdXRvc2l6ZXIuaAppbmRleCAyZTJlNzBlNmIwMjg0NTA3MTNiYTZmYWMyZGExMjhi
NTdhZWVhMGQzLi5hMWI4NDBmOWEzOTkwZDcwZGRmNmM0NDBkZWJkNDhmODFkYjA3YjNlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9zaXplci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmgKQEAgLTU1LDYgKzU1LDExIEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgZmxvYXQgY29tcHV0ZUF1dG9zaXplZEZvbnRTaXplKGZsb2F0
IHNwZWNpZmllZFNpemUsIGZsb2F0IG11bHRpcGxpZXIpOwogCiBwcml2YXRlOgorICAgIGVudW0g
VHJhdmVyc2FsRGlyZWN0aW9uIHsKKyAgICAgICAgRmlyc3RUb0xhc3QsCisgICAgICAgIExhc3RU
b0ZpcnN0CisgICAgfTsKKwogICAgIGV4cGxpY2l0IFRleHRBdXRvc2l6ZXIoRG9jdW1lbnQqKTsK
IAogICAgIHZvaWQgcHJvY2Vzc0NsdXN0ZXIoUmVuZGVyQmxvY2sqIGNsdXN0ZXIsIFJlbmRlckJs
b2NrKiBjb250YWluZXIsIFJlbmRlck9iamVjdCogc3VidHJlZVJvb3QsIGNvbnN0IFRleHRBdXRv
c2l6aW5nV2luZG93SW5mbyYpOwpAQCAtNzEsNiArNzYsMjIgQEAgcHJpdmF0ZToKICAgICAvLyBV
c2UgdG8gdHJhdmVyc2UgdGhlIHRyZWUgb2YgZGVzY2VuZGFudHMsIGV4Y2x1ZGluZyBkZXNjZW5k
YW50cyBvZiBjb250YWluZXJzIChidXQgcmV0dXJuaW5nIHRoZSBjb250YWluZXJzIHRoZW1zZWx2
ZXMpLgogICAgIHN0YXRpYyBSZW5kZXJPYmplY3QqIG5leHRJblByZU9yZGVyU2tpcHBpbmdEZXNj
ZW5kYW50c09mQ29udGFpbmVycyhjb25zdCBSZW5kZXJPYmplY3QqIGN1cnJlbnQsIGNvbnN0IFJl
bmRlck9iamVjdCogc3RheVdpdGhpbik7CiAKKyAgICAvLyBGaW5kcyB0aGUgbG93ZXN0IGNvbW1v
biBhbmNlc3RvciBvZiB0aGUgZmlyc3QgYW5kIHRoZSBsYXN0IGRlc2NlbmRhbnQKKyAgICAvLyB0
ZXh0IG5vZGUgKGV4Y2x1ZGluZyB0aG9zZSBiZWxvbmdpbmcgdG8gb3RoZXIgYXV0b3NpemluZyBj
bHVzdGVycykuCisgICAgc3RhdGljIGNvbnN0IFJlbmRlckJsb2NrKiBmaW5kRGVlcGVzdEJsb2Nr
Q29udGFpbmluZ0FsbFRleHQoY29uc3QgUmVuZGVyQmxvY2sqIGNsdXN0ZXIpOworCisgICAgLy8g
RmluZHMgdGhlIGZpcnN0IGxlYWYgdGV4dCBub2RlIGNoaWxkIHRoYXQgZG9lc24ndCBiZWxvbmcg
dG8gYW55IGNsdXN0ZXIuCisgICAgc3RhdGljIGNvbnN0IFJlbmRlck9iamVjdCogZmluZEZpcnN0
VGV4dExlYWZOb3RJbkNsdXN0ZXIoY29uc3QgUmVuZGVyT2JqZWN0Kiwgc2l6ZV90JiBkZXB0aCk7
CisgICAgLy8gRmluZHMgdGhlIGxhc3QgbGVhZiB0ZXh0IG5vZGUgY2hpbGQgdGhhdCBkb2Vzbid0
IGJlbG9uZyB0byBhbnkgY2x1c3Rlci4KKyAgICBzdGF0aWMgY29uc3QgUmVuZGVyT2JqZWN0KiBm
aW5kTGFzdFRleHRMZWFmTm90SW5DbHVzdGVyKGNvbnN0IFJlbmRlck9iamVjdCosIHNpemVfdCYg
ZGVwdGgpOworICAgIC8vIENvbW1vbiBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIHR3byBmdW5jdGlv
bnMgYWJvdmUuCisgICAgc3RhdGljIGNvbnN0IFJlbmRlck9iamVjdCogZmluZEZpbmFsVGV4dExl
YWZOb3RJbkNsdXN0ZXIoY29uc3QgUmVuZGVyT2JqZWN0Kiwgc2l6ZV90JiBkZXB0aCwgVHJhdmVy
c2FsRGlyZWN0aW9uKTsKKworICAgIC8vIFdyYXBwZXIgYXJvdW5kIGZpcnN0Q2hpbGQoKSBhbmQg
bGFzdENoaWxkKCkgbWV0aG9kcywgY2FsbGluZyBvbmUgb3IgYW5vdGhlciBkZXBlbmRpbmcgb24g
dGhlIGRpcmVjdGlvbi4KKyAgICBzdGF0aWMgY29uc3QgUmVuZGVyT2JqZWN0KiBmaXJzdENoaWxk
KGNvbnN0IFJlbmRlck9iamVjdCosIFRyYXZlcnNhbERpcmVjdGlvbik7CisgICAgLy8gV3JhcHBl
ciBhcm91bmQgbmV4dFNpYmxpbmcoKSBhbmQgcHJldmlvdXNTaWJsaW5nKCkgbWV0aG9kcywgY2Fs
bGluZyBvbmUgb3IgYW5vdGhlciBkZXBlbmRpbmcgb24gdGhlIGRpcmVjdGlvbi4KKyAgICBzdGF0
aWMgY29uc3QgUmVuZGVyT2JqZWN0KiBuZXh0U2libGluZyhjb25zdCBSZW5kZXJPYmplY3QqLCBU
cmF2ZXJzYWxEaXJlY3Rpb24pOworCiAgICAgRG9jdW1lbnQqIG1fZG9jdW1lbnQ7CiB9OwogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggMzhmOTQ4ZDhlOGYwOGJhZmFlNTc5MTc5NThmNDI5MDU0Mzg2OTU1My4uNTIzNmY5ZDVm
Nzk4Y2NjN2ZhZmM3MWExZmM2YWNmYzVhMDliNDhmNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisy
MDEyLTExLTI3ICBBbnRvbiBWYXl2b2QgIDxhdmF5dm9kQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBUZXh0IEF1dG9zaXppbmc6IENsdXN0ZXJzIHNob3VsZCB1c2Ugd2lkdGggb2YgTENBIG9mIHRo
ZWlyIHRleHQgbm9kZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwMjU2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1hbnkgcGFnZXMgc2V0IGEgbWF4LXdpZHRoIG9uIHRoZWlyIGNvbnRlbnQuIFNvIGVz
cGVjaWFsbHkgZm9yIHRoZQorICAgICAgICBSZW5kZXJWaWV3LCBpbnN0ZWFkIG9mIGp1c3QgdGFr
aW5nIHRoZSB3aWR0aCBvZiB8Y2x1c3Rlcnwgd2UgZmluZAorICAgICAgICB0aGUgbG93ZXN0IGNv
bW1vbiBhbmNlc3RvciBvZiB0aGUgZmlyc3QgYW5kIGxhc3QgZGVzY2VuZGFudCB0ZXh0IG5vZGUg
b2YKKyAgICAgICAgdGhlIGNsdXN0ZXIgKGkuZS4gdGhlIGRlZXBlc3Qgd3JhcHBlciBibG9jayB0
aGF0IGNvbnRhaW5zIGFsbCB0aGUgdGV4dCksCisgICAgICAgIGFuZCB1c2UgaXRzIHdpZHRoIGlu
c3RlYWQuCisgICAgICAgIEhhZCB0byB1cGRhdGUgYSBjb3VwbGUgb2YgdGVzdHMgc2luY2UgdGhl
IGFjdHVhbCB3aWR0aCBmb3IgZm9udCBzaXplIG11bHRpcGxpZXIKKyAgICAgICAgY2FsY3VsYXRp
b24gaGFzIGJlZW4gY2hhbmdlZCBieSB0aGUgcGF0Y2guCisKKyAgICAgICAgKiBmYXN0L3RleHQt
YXV0b3NpemluZy9jbHVzdGVyLXdpZGUtaW4tbmFycm93LWV4cGVjdGVkLmh0bWw6CisgICAgICAg
ICogZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aWRlLWluLW5hcnJvdy5odG1sOgorICAg
ICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWFuZC1j
bHVzdGVyLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6
aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWFuZC1jbHVzdGVyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWV4cGVj
dGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXIt
d2l0aC1uYXJyb3ctbGNhLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6
aW5nL2NsdXN0ZXItd2l0aC13aWRlLWxjYS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvZW0tbWFyZ2luLWJvcmRlci1wYWRkaW5n
LWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvZW0tbWFyZ2lu
LWJvcmRlci1wYWRkaW5nLmh0bWw6CisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lk
ZS1jaGlsZC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL3dp
ZGUtY2hpbGQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWluLW5h
cnJvdy1vdmVyZmxvdy1zY3JvbGwtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC90ZXh0LWF1dG9zaXppbmcvd2lkZS1pbi1uYXJyb3ctb3ZlcmZsb3ctc2Nyb2xsLmh0bWw6IEFk
ZGVkLgorCiAyMDEyLTExLTI2ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IG9iamVjdCBwcmV2aWV3IGRvZXMgbm90IHJlbmRl
ciBub2RlIGlkLCBjbGFzc05hbWU7IGxvZ3MgdG9vIG1hbnkgZnVuY3Rpb25zIGZvciBqUXVlcnku
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdp
ZGUtaW4tbmFycm93LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Np
emluZy9jbHVzdGVyLXdpZGUtaW4tbmFycm93LWV4cGVjdGVkLmh0bWwKaW5kZXggNmNmZjA2ZTQ0
OGIyZjc1ODNiZGEyMDM0M2VlYmRlMjI1YzY0NjU3MC4uMmExMDNhNDI5OWIzYjg3NTg0NWJjMGEz
NmRiZGZmMDkzOTRmMzIxMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9z
aXppbmcvY2x1c3Rlci13aWRlLWluLW5hcnJvdy1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2lkZS1pbi1uYXJyb3ctZXhwZWN0ZWQu
aHRtbApAQCAtMTcsOCArMTcsOCBAQCBib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IG92
ZXJmbG93LXk6IGhpZGRlbjsgfQogICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwg
Y29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lk
aWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCiAgICAgPC9kaXY+CiAKLSAg
ICA8ZGl2IHN0eWxlPSJ3aWR0aDogODAwcHg7IGZvbnQtc2l6ZTogMS4yNXJlbSI+Ci0gICAgICAg
IFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIGp1c3QgMjBweCBjb21wdXRlZCBmb250
LXNpemUgKDE2ICogNDAwLzMyMCksIHNpbmNlIGRlc3BpdGUgaXRzIHdpZHRoOjgwMHB4IGl0IGlz
IHBhcnQgb2YgdGhlIDQwMHB4IHdpZGUgcm9vdCBjbHVzdGVyLjxicj4KKyAgICA8ZGl2IHN0eWxl
PSJ3aWR0aDogNjAwcHg7IGZvbnQtc2l6ZTogMS4yNXJlbSI+CisgICAgICAgIFRoaXMgdGV4dCBz
aG91bGQgYmUgYXV0b3NpemVkIHRvIDIwcHggY29tcHV0ZWQgZm9udC1zaXplICgxNiAqIDQwMC8z
MjApLCBzaW5jZSB0aGUgd2lkdGggb2YgdGhlIHBhcmVudCBkaXYgaXMgdXNlZCBmb3IgdGV4dCBh
dXRvc2l6aW5nLjxicj4KICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNl
Y3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50
IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLgogICAgIDwvZGl2PgogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpZGUtaW4tbmFy
cm93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpZGUt
aW4tbmFycm93Lmh0bWwKaW5kZXggYjJlZjAxMDdjOWVjNjZjNzIzYWU5NmZiNDQ2OTZiZjMxNjE0
NDdjYy4uNzBiNWMwZjdjNjBhY2E4OTE2MjMzYWNiZWEyOTgwNTNlMzY5MWY5NiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aWRlLWluLW5hcnJv
dy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2lk
ZS1pbi1uYXJyb3cuaHRtbApAQCAtMjYsOCArMjYsOCBAQCBpZiAod2luZG93LmludGVybmFscykg
ewogICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlz
aWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0
IGRvbG9yZSBtYWduYSBhbGlxdWEuCiAgICAgPC9kaXY+CiAKLSAgICA8ZGl2IHN0eWxlPSJ3aWR0
aDogODAwcHgiPgotICAgICAgICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byBqdXN0
IDIwcHggY29tcHV0ZWQgZm9udC1zaXplICgxNiAqIDQwMC8zMjApLCBzaW5jZSBkZXNwaXRlIGl0
cyB3aWR0aDo4MDBweCBpdCBpcyBwYXJ0IG9mIHRoZSA0MDBweCB3aWRlIHJvb3QgY2x1c3Rlci48
YnI+CisgICAgPGRpdiBzdHlsZT0id2lkdGg6IDYwMHB4Ij4KKyAgICAgICAgVGhpcyB0ZXh0IHNo
b3VsZCBiZSBhdXRvc2l6ZWQgdG8gMjBweCBjb21wdXRlZCBmb250LXNpemUgKDE2ICogNDAwLzMy
MCksIHNpbmNlIHRoZSB3aWR0aCBvZiB0aGUgcGFyZW50IGRpdiBpcyB1c2VkIGZvciB0ZXh0IGF1
dG9zaXppbmcuPGJyPgogICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2Vj
dGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQg
dXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCiAgICAgPC9kaXY+CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ct
bGNhLWFuZC1jbHVzdGVyLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0
b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS1hbmQtY2x1c3Rlci1leHBlY3RlZC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjI3Yzk0ZjJlMjc0ZmRiNmU1ZDc5MDc1YzY5YTczZGU1OWVjMzBkNTYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVy
LXdpdGgtbmFycm93LWxjYS1hbmQtY2x1c3Rlci1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMzAg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGU+CitodG1sIHsgZm9udC1zaXplOiAxNnB4
OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBvdmVyZmxvdy15OiBoaWRkZW47IH0KKzwvc3R5bGU+
CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJ3aWR0aDogNDAwcHgiID4KKyAgPGRp
diBzdHlsZT0iZm9udC1zaXplOiAxLjI1cmVtIiA+CisgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBh
dXRvc2l6ZWQgdG8ganVzdCAyMHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSAoMTYgKiA0MDAvMzIwKSwg
c2luY2UgdGhlIHdpZHRoIG9mIHRoZSBsZWFzdCBjb21tb24gYW5jZXN0b3IgaXMgdXNlZCBmb3Ig
bXVsdGlwbGllciBjYWxjdWxhdGlvbi4KKyAgPC9kaXY+CisKKyAgPGRpdiBzdHlsZT0iZm9udC1z
aXplOiAxLjI1cmVtIiA+CisgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBzaW1pbGFybHkgYXV0b3Np
emVkIHRvIDIwcHguCisgIDwvZGl2PgorPC9kaXY+Cis8ZGl2IHN0eWxlPSJmbG9hdDogbGVmdDsg
d2lkdGg6IDgwMHB4OyBmb250LXNpemU6IDIuNXJlbSIgPgorICBUaGlzIHRleHQgc2hvdWxkIGJl
IGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSAoMTYgKiA4MDAvMzIwKS4gSXQg
c2hvdWxkIG5vdCBhZmZlY3QgYXV0b3NpemluZyBmb3IgdGV4dCBhYm92ZSB0aG91Z2ggc2luY2Ug
aXQncyBhbm90aGVyIGNsdXN0ZXIuCisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNv
bnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlk
dW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZl
bmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBh
bGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4g
cmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IGZ1
Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5v
biBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQgYW5p
bSBpZCBlc3QgbGFib3J1bS4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ct
bGNhLWFuZC1jbHVzdGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9j
bHVzdGVyLXdpdGgtbmFycm93LWxjYS1hbmQtY2x1c3Rlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2NDgw
MDJhMmJiMzUyMjYwNmFhY2RkZDUzODY2NTQ5MmZmZDUzMGEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS1h
bmQtY2x1c3Rlci5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8
c3R5bGU+CitodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBv
dmVyZmxvdy15OiBoaWRkZW47IH0KKzwvc3R5bGU+CisKKzxzY3JpcHQ+CitpZiAod2luZG93Lmlu
dGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXpp
bmdFbmFibGVkKHRydWUpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1
dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0ODApOworfSBlbHNlIGlmICh3aW5kb3cu
Y29uc29sZSAmJiBjb25zb2xlLndhcm4pIHsKKyAgICBjb25zb2xlLndhcm4oIlRoaXMgdGVzdCBk
ZXBlbmRzIG9uIHRoZSBUZXh0IEF1dG9zaXppbmcgc2V0dGluZyBiZWluZyB0cnVlLCBzbyBydW4g
aXQgaW4gRHVtcFJlbmRlclRyZWUsIG9yIG1hbnVhbGx5IGVuYWJsZSBUZXh0IEF1dG9zaXppbmcs
IGFuZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRldmljZSB3aXRoIDMyMHB4IGRldmljZS13aWR0aCAo
bGlrZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9yIGRlZmluZSBIQUNLX0ZPUkNFX1RFWFRfQVVUT1NJ
WklOR19PTl9ERVNLVE9QLiIpOworfQorPC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5PgorCis8
ZGl2IHN0eWxlPSJ3aWR0aDogNDAwcHgiID4KKyAgPGRpdj4KKyAgICBUaGlzIHRleHQgc2hvdWxk
IGJlIGF1dG9zaXplZCB0byBqdXN0IDIwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDQwMC8z
MjApLCBzaW5jZSB0aGUgd2lkdGggb2YgdGhlIGxlYXN0IGNvbW1vbiBhbmNlc3RvciBpcyB1c2Vk
IGZvciBtdWx0aXBsaWVyIGNhbGN1bGF0aW9uLgorICA8L2Rpdj4KKworICA8ZGl2PgorICAgIFRo
aXMgdGV4dCBzaG91bGQgYmUgc2ltaWxhcmx5IGF1dG9zaXplZCB0byAyMHB4LgorICA8L2Rpdj4K
KzwvZGl2PgorPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiA4MDBweCIgPgorICBUaGlz
IHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSAoMTYg
KiA4MDAvMzIwKS4gSXQgc2hvdWxkIG5vdCBhZmZlY3QgYXV0b3NpemluZyBmb3IgdGV4dCBhYm92
ZSB0aG91Z2ggc2luY2UgaXQncyBhbm90aGVyIGNsdXN0ZXIuCisgICAgTG9yZW0gaXBzdW0gZG9s
b3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9k
IHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBl
bmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxh
Ym9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiBEdWlzIGF1dGUg
aXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxs
dW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVj
YXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxwYSBxdWkgb2ZmaWNpYSBkZXNl
cnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0
bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0
ZXItd2l0aC1uYXJyb3ctbGNhLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQt
YXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS1leHBlY3RlZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjQyNmZmYzM3NGFkNDkyYjY2OTUxYTEyMWMzNTM1M2ZhMjVjNGYyMDQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFy
cm93LWxjYS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjUgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgw
MCI+Cis8c3R5bGU+CitodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9Citib2R5IHsgd2lkdGg6IDgw
MHB4OyBvdmVyZmxvdy15OiBoaWRkZW47IH0KKzwvc3R5bGU+CisKKzwvaGVhZD4KKzxib2R5Pgor
Cis8ZGl2IHN0eWxlPSJ3aWR0aDogNDAwcHgiPgorICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDEu
MjVyZW0iPgorICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIGp1c3QgMjBweCBj
b21wdXRlZCBmb250IHNpemUgKDE2ICogNDAwLzMyMCksIHNpbmNlIHRoZSB3aWR0aCBvZiB0aGUg
bGVhc3QgY29tbW9uIGFuY2VzdG9yIGlzIHVzZWQgZm9yIG11bHRpcGxpZXIgY2FsY3VsYXRpb24u
CisgIDwvZGl2PgorCisgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMS4yNXJlbSI+CisgICAgVGhp
cyB0ZXh0IHNob3VsZCBiZSBzaW1pbGFybHkgYXV0b3NpemVkIHRvIDIwcHguCisgIDwvZGl2Pgor
PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjM5YjVhY2I1ODZhNDRjOTJmOTlmNjRkOGJmNjhhMDkxNDIzZTA1MmUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgt
bmFycm93LWxjYS5odG1sCkBAIC0wLDAgKzEsMzQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8
c3R5bGU+CitodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBv
dmVyZmxvdy15OiBoaWRkZW47IH0KKzwvc3R5bGU+CisKKzxzY3JpcHQ+CitpZiAod2luZG93Lmlu
dGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXpp
bmdFbmFibGVkKHRydWUpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1
dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0ODApOworfSBlbHNlIGlmICh3aW5kb3cu
Y29uc29sZSAmJiBjb25zb2xlLndhcm4pIHsKKyAgICBjb25zb2xlLndhcm4oIlRoaXMgdGVzdCBk
ZXBlbmRzIG9uIHRoZSBUZXh0IEF1dG9zaXppbmcgc2V0dGluZyBiZWluZyB0cnVlLCBzbyBydW4g
aXQgaW4gRHVtcFJlbmRlclRyZWUsIG9yIG1hbnVhbGx5IGVuYWJsZSBUZXh0IEF1dG9zaXppbmcs
IGFuZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRldmljZSB3aXRoIDMyMHB4IGRldmljZS13aWR0aCAo
bGlrZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9yIGRlZmluZSBIQUNLX0ZPUkNFX1RFWFRfQVVUT1NJ
WklOR19PTl9ERVNLVE9QLiIpOworfQorPC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5PgorCis8
ZGl2IHN0eWxlPSJ3aWR0aDogNDAwcHgiID4KKyAgPGRpdj4KKyAgICBUaGlzIHRleHQgc2hvdWxk
IGJlIGF1dG9zaXplZCB0byBqdXN0IDIwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDQwMC8z
MjApLCBzaW5jZSB0aGUgd2lkdGggb2YgdGhlIGxlYXN0IGNvbW1vbiBhbmNlc3RvciBpcyB1c2Vk
IGZvciBtdWx0aXBsaWVyIGNhbGN1bGF0aW9uLgorICA8L2Rpdj4KKworICA8ZGl2PgorICAgIFRo
aXMgdGV4dCBzaG91bGQgYmUgc2ltaWxhcmx5IGF1dG9zaXplZCB0byAyMHB4LgorICA8L2Rpdj4K
KzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EtZXhwZWN0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC13aWRlLWxjYS1leHBl
Y3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRkMGM3ZDY3MWQzOTA4MThhNTYzMTM4NzAyYjNkZDQyZTk1
YTU1NzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Npemlu
Zy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDMwIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlPgoraHRtbCB7IGZvbnQtc2l6ZTogMTZweDsgfQor
Ym9keSB7IHdpZHRoOiA4MDBweDsgb3ZlcmZsb3cteTogaGlkZGVuOyB9Cis8L3N0eWxlPgorCis8
L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHlsZT0id2lkdGg6IDQwMHB4IiA+CisgIDxkaXYgc3R5
bGU9ImZvbnQtc2l6ZTogMi41cmVtIiA+CisgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6
ZWQgdG8gNDBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogODAwLzMyMCkuCisgIDwvZGl2Pgor
CisgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMi41cmVtIiA+CisgICAgVGhpcyB0ZXh0IHNob3Vs
ZCBiZSBzaW1pbGFybHkgYXV0b3NpemVkIHRvIDQwcHguCisgIDwvZGl2PgorPC9kaXY+Cis8ZGl2
IHN0eWxlPSJ3aWR0aDogODAwcHg7IGZvbnQtc2l6ZTogMi41cmVtIiA+CisgIFRoaXMgdGV4dCBz
aG91bGQgYmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDgwMC8z
MjApLgorICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNp
bmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRv
bG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQg
ZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9k
byBjb25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGluIHZv
bHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBhcmlhdHVy
LiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGlu
IGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLgor
PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLXdpZGUtbGNhLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mZjA1ZGFlZGY3OTg1MGFiMWFkYmFiMDIxNzQ5NzY0ZDAxYjQxNDZjCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLXdp
ZGUtbGNhLmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHls
ZT4KK2h0bWwgeyBmb250LXNpemU6IDE2cHg7IH0KK2JvZHkgeyB3aWR0aDogODAwcHg7IG92ZXJm
bG93LXk6IGhpZGRlbjsgfQorPC9zdHlsZT4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJu
YWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0Vu
YWJsZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3Np
emluZ1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25z
b2xlICYmIGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVu
ZHMgb24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBp
biBEdW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5k
IGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtl
IE5leHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5H
X09OX0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYg
c3R5bGU9IndpZHRoOiA0MDBweCIgPgorICA8ZGl2PgorICAgIFRoaXMgdGV4dCBzaG91bGQgYmUg
YXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDgwMC8zMjApLgorICA8
L2Rpdj4KKworICA8ZGl2PgorICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgc2ltaWxhcmx5IGF1dG9z
aXplZCB0byA0MHB4LgorICA8L2Rpdj4KKzwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDgwMHB4
IiA+CisgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9u
dCBzaXplICgxNiAqIDgwMC8zMjApLgorICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29u
c2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1
bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVu
aWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFs
aXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiBy
ZXByZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVn
aWF0IG51bGxhIHBhcmlhdHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9u
IHByb2lkZW50LCBzdW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmlt
IGlkIGVzdCBsYWJvcnVtLgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZW0tbWFyZ2luLWJvcmRlci1wYWRk
aW5nLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9lbS1t
YXJnaW4tYm9yZGVyLXBhZGRpbmctZXhwZWN0ZWQuaHRtbAppbmRleCA0M2JkMWMwNjg5Yzg0NDVl
ODBhODA1MTA4ZmVkZTU4NWJlNmYxZjIzLi5kOTNjYjI1NDhmMDE2YmQ4N2NkM2FjMWMzMmZhMTZi
M2EyNGFhOGU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9l
bS1tYXJnaW4tYm9yZGVyLXBhZGRpbmctZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3RleHQtYXV0b3NpemluZy9lbS1tYXJnaW4tYm9yZGVyLXBhZGRpbmctZXhwZWN0ZWQuaHRt
bApAQCAtMTEsOCArMTEsOCBAQCBib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IG92ZXJm
bG93LXk6IGhpZGRlbjsgfQogPC9oZWFkPgogPGJvZHk+CiAKLTxwIHN0eWxlPSJmb250LXNpemU6
IDIuNXJlbTsgbWFyZ2luOiAxcmVtOyBib3JkZXI6IDFyZW0gc29saWQgYmx1ZTsgcGFkZGluZzog
MXJlbSI+Ci0gICAgVGhpcyB0ZXh0IHNob3VsZCBnZXQgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0
ZWQgZm9udCBzaXplLCBidXQgdGhlIDFlbSBtYXJnaW5zLCBib3JkZXJzIGFuZCBwYWRkaW5nIHNo
b3VsZCByZW1haW4ganVzdCAxNnB4LiBXaGlsZSBkZWJhdGFibGUsIHRoaXMgZ2VuZXJhbGx5IGxv
b2tzIG1vcmUgY29uc2lzdGVudCB0aGFuIGhhdmluZyB0aGVtIGJlIHNjYWxlZC48YnI+Cis8cCBz
dHlsZT0iZm9udC1zaXplOiAyLjJyZW07IG1hcmdpbjogMXJlbTsgYm9yZGVyOiAxcmVtIHNvbGlk
IGJsdWU7IHBhZGRpbmc6IDFyZW0iPgorICAgIFRoaXMgdGV4dCBzaG91bGQgZ2V0IGF1dG9zaXpl
ZCB0byAzNS4ycHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDcwNC8zMjApLCBidXQgdGhlIDFl
bSBtYXJnaW5zLCBib3JkZXJzIGFuZCBwYWRkaW5nIHNob3VsZCByZW1haW4ganVzdCAxNnB4LiBX
aGlsZSBkZWJhdGFibGUsIHRoaXMgZ2VuZXJhbGx5IGxvb2tzIG1vcmUgY29uc2lzdGVudCB0aGFu
IGhhdmluZyB0aGVtIGJlIHNjYWxlZC48YnI+CiAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFt
ZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBp
bmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1p
bmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlz
aSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LgogPC9wPgogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9lbS1tYXJnaW4tYm9yZGVyLXBhZGRp
bmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1ib3Jk
ZXItcGFkZGluZy5odG1sCmluZGV4IDM5NWU4MTRhNjMxMjA4NjM3OGJlYjBmNzA5ZjhkMmExYWQx
Yzc5Y2IuLjQ2ZWY1ODM2NzE3MDEwM2U0MDkwZDRiYzcxMmU5ODc0YjNjNTc4OTYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1ib3JkZXItcGFk
ZGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdp
bi1ib3JkZXItcGFkZGluZy5odG1sCkBAIC0yMSw3ICsyMSw3IEBAIGlmICh3aW5kb3cuaW50ZXJu
YWxzKSB7CiA8Ym9keT4KIAogPHAgc3R5bGU9Im1hcmdpbjogMWVtOyBib3JkZXI6IDFlbSBzb2xp
ZCBibHVlOyBwYWRkaW5nOiAxZW0iPgotICAgIFRoaXMgdGV4dCBzaG91bGQgZ2V0IGF1dG9zaXpl
ZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSwgYnV0IHRoZSAxZW0gbWFyZ2lucywgYm9yZGVy
cyBhbmQgcGFkZGluZyBzaG91bGQgcmVtYWluIGp1c3QgMTZweC4gV2hpbGUgZGViYXRhYmxlLCB0
aGlzIGdlbmVyYWxseSBsb29rcyBtb3JlIGNvbnNpc3RlbnQgdGhhbiBoYXZpbmcgdGhlbSBiZSBz
Y2FsZWQuPGJyPgorICAgIFRoaXMgdGV4dCBzaG91bGQgZ2V0IGF1dG9zaXplZCB0byAzNS4ycHgg
Y29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDcwNC8zMjApLCBidXQgdGhlIDFlbSBtYXJnaW5zLCBi
b3JkZXJzIGFuZCBwYWRkaW5nIHNob3VsZCByZW1haW4ganVzdCAxNnB4LiBXaGlsZSBkZWJhdGFi
bGUsIHRoaXMgZ2VuZXJhbGx5IGxvb2tzIG1vcmUgY29uc2lzdGVudCB0aGFuIGhhdmluZyB0aGVt
IGJlIHNjYWxlZC48YnI+CiAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3Rl
dHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0
IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwg
cXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlw
IGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LgogPC9wPgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWNoaWxkLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWNoaWxkLWV4cGVjdGVkLmh0bWwKaW5kZXgg
NGIwMDBmNjcwZWE3MjRjMDlhNmU3YWRiZWRiN2QxMTYzNzNiYjM1Yi4uMDEyNDdhZmJkOWFiN2Yx
ZTliODM4OTIxZmVlMjI1MmVkZTk2ZTUyZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0LWF1dG9zaXppbmcvd2lkZS1jaGlsZC1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtY2hpbGQtZXhwZWN0ZWQuaHRtbApAQCAtMTEsOSAr
MTEsMTEgQEAgYm9keSB7IHdpZHRoOiA4MDBweDsgbWFyZ2luOiAwOyBvdmVyZmxvdy15OiBoaWRk
ZW47IH0KIDwvaGVhZD4KIDxib2R5PgogCi08ZGl2IHN0eWxlPSJ3aWR0aDogMzIwcHg7IGZvbnQt
c2l6ZTogMi41cmVtIj4KLSAgICBUaGlzIHRleHQgc2hvdWxkIGFsbCBiZSBhdXRvc2l6ZWQgdG8g
NDBweCBjb21wdXRlZCBmb250LXNpemUsIHNpbmNlIGFsdGhvdWdoIHRoaXMgYmxvY2sgaXMgbmFy
cm93LCBpdCBoYXMgYSB3aWRlIGNoaWxkIGJsb2NrLCBzbyB0aGUgY2x1c3RlciB3aWxsIGJlIHdp
ZGUgYW5kIG5lZWQgYXV0b3NpemluZy4KLSAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogODAwcHgiPgor
PGRpdiBzdHlsZT0id2lkdGg6IDMyMHB4OyBmb250LXNpemU6IDFyZW0iPgorCVRoaXMgdGV4dCBz
aG91bGQgbm90IGJlIGF1dG9zaXplZC4KKwk8ZGl2IHN0eWxlPSJ3aWR0aDogODAwcHgiPgorICAg
IAlUaGlzIHRleHQgc2hvdWxkIG5vdCBiZSBhdXRvc2l6ZWQgYXMgd2VsbCBzaW5jZSBpdHMgd2lk
dGggZG9lc24ndCBhZmZlY3QgdGhlIHdpZHRoIG9mIHRoZSBwYXJlbnQgYmxvY2suCisgICAgCUZJ
WE1FKGF2YXl2b2QpOiBJZGVhbGx5IHRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkLiBXaWxs
IG5lZWQgdG8gYmUgZml4ZWQgbGF0ZXIuCiAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBh
bWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3Ig
aW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KICAgICA8L2Rpdj4K
ICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcg
ZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9y
ZSBtYWduYSBhbGlxdWEuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Np
emluZy93aWRlLWNoaWxkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy93
aWRlLWNoaWxkLmh0bWwKaW5kZXggMGE1YjEyMTRmODA5OTE0NjE0N2I3YjBjZWQzZjkyMTllZjkx
NTU1MS4uMDRiZmVhMWIzNTJjMjE1OWFjMDZkNmRjYjNiMzc2ZWE4MDUzZjA3NyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lkZS1jaGlsZC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtY2hpbGQuaHRtbApAQCAtMjEs
OCArMjEsMTAgQEAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKIDxib2R5PgogCiA8ZGl2IHN0eWxl
PSJ3aWR0aDogMzIwcHgiPgotICAgIFRoaXMgdGV4dCBzaG91bGQgYWxsIGJlIGF1dG9zaXplZCB0
byA0MHB4IGNvbXB1dGVkIGZvbnQtc2l6ZSwgc2luY2UgYWx0aG91Z2ggdGhpcyBibG9jayBpcyBu
YXJyb3csIGl0IGhhcyBhIHdpZGUgY2hpbGQgYmxvY2ssIHNvIHRoZSBjbHVzdGVyIHdpbGwgYmUg
d2lkZSBhbmQgbmVlZCBhdXRvc2l6aW5nLgorICAgIFRoaXMgdGV4dCBzaG91bGQgbm90IGJlIGF1
dG9zaXplZC4KICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogODAwcHgiPgorICAgIAlUaGlzIHRleHQg
c2hvdWxkIG5vdCBiZSBhdXRvc2l6ZWQgYXMgd2VsbCBzaW5jZSBpdHMgd2lkdGggZG9lc24ndCBh
ZmZlY3QgdGhlIHdpZHRoIG9mIHRoZSBwYXJlbnQgYmxvY2suCisgICAgCUZJWE1FKGF2YXl2b2Qp
OiBJZGVhbGx5IHRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkLiBXaWxsIG5lZWQgdG8gYmUg
Zml4ZWQgbGF0ZXIuCiAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0
ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1
dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KICAgICA8L2Rpdj4KICAgICBMb3JlbSBp
cHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRv
IGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlx
dWEuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWlu
LW5hcnJvdy1vdmVyZmxvdy1zY3JvbGwtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC1hdXRvc2l6aW5nL3dpZGUtaW4tbmFycm93LW92ZXJmbG93LXNjcm9sbC1leHBlY3RlZC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY0MjA0ZWY4NzQ1MmIzNDhjNDMzOTAyZTE3ZmJlZTI0ZGNiOTc2ODcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy93aWRl
LWluLW5hcnJvdy1vdmVyZmxvdy1zY3JvbGwtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDMwIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlPgoraHRtbCB7IGZvbnQtc2l6ZTogMTZweDsg
fQorYm9keSB7IHdpZHRoOiA4MDBweDsgbWFyZ2luOiAwOyBvdmVyZmxvdy15OiBoaWRkZW47IH0K
Kzwvc3R5bGU+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJ3aWR0aDogNDAwcHgi
PgorICA8ZGl2IHN0eWxlPSJvdmVyZmxvdy14OiBzY3JvbGwiPgorICAgIDxkaXYgc3R5bGU9Indp
ZHRoOiA4MDBweDsgZm9udC1zaXplOiAxLjI1cmVtIj4KKyAgICAgICAgVGhpcyB0ZXh0IHNob3Vs
ZCBiZSBhdXRvc2l6ZWQgdG8gMjBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogNDAwLzMyMCks
IHNpbmNlIGl0cyBzY3JvbGwgd2lkdGggaXMgNDAwcHguPGJyPgorICAgICAgICBMb3JlbSBpcHN1
bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVp
dXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEu
CisgICAgPC9kaXY+CisgIDwvZGl2PgorCisgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMS4yNXJl
bSI+CisgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDIwcHggY29tcHV0
ZWQgZm9udCBzaXplICgxNiAqIDQwMC8zMjApLjxicj4KKyAgICAgICAgTG9yZW0gaXBzdW0gZG9s
b3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9k
IHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLgorICA8
L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtaW4tbmFycm93LW92ZXJmbG93LXNjcm9sbC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lkZS1pbi1uYXJyb3ctb3Zl
cmZsb3ctc2Nyb2xsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTE4NTQ0OTBhNjAwZTcwOTMyMzA4ZWQ2OTc0
NWUwMWE1YjhjM2UzOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1h
dXRvc2l6aW5nL3dpZGUtaW4tbmFycm93LW92ZXJmbG93LXNjcm9sbC5odG1sCkBAIC0wLDAgKzEs
MzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGU+CitodG1sIHsgZm9udC1zaXplOiAx
NnB4OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IG92ZXJmbG93LXk6IGhpZGRl
bjsgfQorPC9zdHlsZT4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAg
d2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1ZSk7
CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dpbmRvd1Np
emVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNvbnNv
bGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhlIFRl
eHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVuZGVy
VHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1c2Ug
YSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMgb3Ig
aVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tUT1Au
Iik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9IndpZHRo
OiA0MDBweCI+CisgIDxkaXYgc3R5bGU9Im92ZXJmbG93LXg6IHNjcm9sbCI+CisgICAgPGRpdiBz
dHlsZT0id2lkdGg6IDgwMHB4Ij4KKyAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6
ZWQgdG8gMjBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogNDAwLzMyMCksIHNpbmNlIGl0cyBz
Y3JvbGwgd2lkdGggaXMgNDAwcHguPGJyPgorICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQg
YW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9y
IGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCisgICAgPC9kaXY+
CisgIDwvZGl2PgorCisgIDxkaXY+CisgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3Np
emVkIHRvIDIwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDQwMC8zMjApLjxicj4KKyAgICAg
ICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVs
aXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUg
bWFnbmEgYWxpcXVhLgorICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176342</attachid>
            <date>2012-11-27 14:42:05 -0800</date>
            <delta_ts>2012-11-28 10:58:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102562-20121127223941.patch</filename>
            <type>text/plain</type>
            <size>30246</size>
            <attacher name="Anton Vayvod">avayvod</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGM5MmVmNDJkYTJhNDA2
ZDg3MmE5YTBjMzdiYjgxYWVlNDNmOWQ1NS4uMmUyODUzOGYzMWE0ZTk1N2Y0OWE5MTRkMmYzMjZj
YzI5YTY1ZDY3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTExLTI3ICBBbnRv
biBWYXl2b2QgIDxhdmF5dm9kQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0IEF1dG9zaXpp
bmc6IENsdXN0ZXJzIHNob3VsZCB1c2Ugd2lkdGggb2YgTENBIG9mIHRoZWlyIHRleHQgbm9kZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjU2Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1hbnkgcGFn
ZXMgc2V0IGEgbWF4LXdpZHRoIG9uIHRoZWlyIGNvbnRlbnQuIFNvIGVzcGVjaWFsbHkgZm9yIHRo
ZQorICAgICAgICBSZW5kZXJWaWV3LCBpbnN0ZWFkIG9mIGp1c3QgdGFraW5nIHRoZSB3aWR0aCBv
ZiB8Y2x1c3Rlcnwgd2UgZmluZAorICAgICAgICB0aGUgbG93ZXN0IGNvbW1vbiBhbmNlc3RvciBv
ZiB0aGUgZmlyc3QgYW5kIGxhc3QgZGVzY2VuZGFudCB0ZXh0IG5vZGUgb2YKKyAgICAgICAgdGhl
IGNsdXN0ZXIgKGkuZS4gdGhlIGRlZXBlc3Qgd3JhcHBlciBibG9jayB0aGF0IGNvbnRhaW5zIGFs
bCB0aGUgdGV4dCksCisgICAgICAgIGFuZCB1c2UgaXRzIHdpZHRoIGluc3RlYWQuCisKKyAgICAg
ICAgVGVzdHM6IGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWFu
ZC1jbHVzdGVyLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0
ZXItd2l0aC1uYXJyb3ctbGNhLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC1hdXRvc2l6
aW5nL2NsdXN0ZXItd2l0aC13aWRlLWxjYS5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQt
YXV0b3NpemluZy93aWRlLWluLW5hcnJvdy1vdmVyZmxvdy1zY3JvbGwuaHRtbAorCisgICAgICAg
ICogcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEF1
dG9zaXplcjo6cHJvY2Vzc0NsdXN0ZXIpOiB1c2UgdGV4dCBub2RlcyBMQ0EgaW5zdGVhZCBvZiBj
bHVzdGVyIGZvciB3aWR0aCBjYWxjdWxhdGlvbgorICAgICAgICAoV2ViQ29yZTo6VGV4dEF1dG9z
aXplcjo6aXNBdXRvc2l6aW5nQ2x1c3Rlcik6IHJlcGxhY2VkIGFzc2VydGlvbiBmb3IgYmVpbmcg
YXV0b3NpemluZyBjb250YWluZXIgd2l0aCBhIGNoZWNrCisgICAgICAgIChXZWJDb3JlOjpUZXh0
QXV0b3NpemVyOjpmaW5kRGVlcGVzdEJsb2NrV2l0aEFsbFRleHQpOiBzZWFyY2hlcyBmb3IgTENB
IG9mIHRleHQgbm9kZXMgaWdub3JpbmcgZGVzY2VuZGFudCBjbHVzdGVycworICAgICAgICAoV2Vi
Q29yZTo6VGV4dEF1dG9zaXplcjo6ZmluZEZpcnN0VGV4dExlYWZOb3RJbkNsdXN0ZXIpOiBzZWFy
Y2hlcyBmb3IgdGhlIGZpcnN0IHRleHQgbm9kZSBpbi1vcmRlciBpZ25vcmluZyBhbnkgZGVzY2Vu
ZGFudCBjbHVzdGVycworICAgICAgICAoV2ViQ29yZTo6VGV4dEF1dG9zaXplcjo6ZmluZExhc3RU
ZXh0TGVhZk5vdEluQ2x1c3Rlcik6IHNlYXJjaGVzIGZvciB0aGUgbGFzdCB0ZXh0IG5vZGUgaW4t
b3JkZXIgaWdub3JpbmcgYW55IGRlc2NlbmRhbnQgY2x1c3RlcnMKKyAgICAgICAgKFdlYkNvcmU6
OlRleHRBdXRvc2l6ZXI6OmZpbmRGaW5hbFRleHRMZWFmTm90SW5DbHVzdGVyKTogaGVscGVyIGZ1
bmN0aW9uIHJlZHVjaW5nIGNvZGUgZHVwbGljYXRpb24KKyAgICAgICAgKFdlYkNvcmU6OlRleHRB
dXRvc2l6ZXI6OmZpcnN0Q2hpbGQpOiBoZWxwZnVsIHdyYXBwZXIgYXJvdW5kIGZpcnN0L2xhc3RD
aGlsZCBtZXRob2RzIG9mIFJlbmRlck9iamVjdAorICAgICAgICAoV2ViQ29yZTo6VGV4dEF1dG9z
aXplcjo6bmV4dFNpYmxpbmcpOiBoZWxwZnVsIHdyYXBwZXIgYXJvdW5kIG5leHQvcHJldmlvdXNT
aWJsaW5nIG1ldGhvZHMgb2YgUmVuZGVyT2JqZWN0CisgICAgICAgICogcmVuZGVyaW5nL1RleHRB
dXRvc2l6ZXIuaDogbmV3IHByaXZhdGUgbWV0aG9kcyBkZWNsYXJhdGlvbnMgYW5kIGFuIGVudW0g
Zm9yIHRyZWUgdHJhdmVyc2FsIGRpcmVjdGlvbi4KKwogMjAxMi0xMS0yNiAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBGaXggUXQg
bWluaW1hbCBjb21waWxhdGlvbiBhZnRlciByMTM1NzEzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1RleHRBdXRvc2l6ZXIuY3BwCmluZGV4IDM2MDY3ZmQ3ODA5ZTljMzg0ZWQ3OGRkMmJmNmMx
Y2UzNWEyNmI3YjYuLmRlOGFkMmRmOTEzZGFiYTViMzg1Y2I5YWVmYTU3NDFjZGQ2YTY4ODMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9zaXplci5jcHAKQEAgLTMzLDYgKzMz
LDggQEAKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN0eWxlSW5oZXJpdGVkRGF0
YS5oIgogCisjaW5jbHVkZSA8YWxnb3JpdGhtPgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0
cnVjdCBUZXh0QXV0b3NpemluZ1dpbmRvd0luZm8gewpAQCAtOTQsMTEgKzk2LDEyIEBAIHZvaWQg
VGV4dEF1dG9zaXplcjo6cHJvY2Vzc0NsdXN0ZXIoUmVuZGVyQmxvY2sqIGNsdXN0ZXIsIFJlbmRl
ckJsb2NrKiBjb250YWluZXIsCiB7CiAgICAgQVNTRVJUKGlzQXV0b3NpemluZ0NsdXN0ZXIoY2x1
c3RlcikpOwogCi0gICAgLy8gRklYTUU6IE1hbnkgcGFnZXMgc2V0IGEgbWF4LXdpZHRoIG9uIHRo
ZWlyIGNvbnRlbnQuIFNvIGVzcGVjaWFsbHkgZm9yIHRoZSBSZW5kZXJWaWV3LAotICAgIC8vIGlu
c3RlYWQgb2YganVzdCB0YWtpbmcgdGhlIHdpZHRoIG9mIHxjbHVzdGVyfCB3ZSBzaG91bGQgZmlu
ZCB0aGUgbG93ZXN0IGNvbW1vbiBhbmNlc3RvciBvZgotICAgIC8vIHRoZSBmaXJzdCBhbmQgbGFz
dCBkZXNjZW5kYW50IHRleHQgbm9kZSBvZiB0aGUgY2x1c3RlciAoaS5lLiB0aGUgZGVlcGVzdCB3
cmFwcGVyIGJsb2NrIHRoYXQKLSAgICAvLyBjb250YWlucyBhbGwgdGhlIHRleHQpLCBhbmQgdXNl
IGl0cyB3aWR0aCBpbnN0ZWFkLgotICAgIFJlbmRlckJsb2NrKiBsb3dlc3RDb21tb25BbmNlc3Rv
ciA9IGNsdXN0ZXI7CisgICAgLy8gTWFueSBwYWdlcyBzZXQgYSBtYXgtd2lkdGggb24gdGhlaXIg
Y29udGVudC4gU28gZXNwZWNpYWxseSBmb3IgdGhlCisgICAgLy8gUmVuZGVyVmlldywgaW5zdGVh
ZCBvZiBqdXN0IHRha2luZyB0aGUgd2lkdGggb2YgfGNsdXN0ZXJ8IHdlIGZpbmQKKyAgICAvLyB0
aGUgbG93ZXN0IGNvbW1vbiBhbmNlc3RvciBvZiB0aGUgZmlyc3QgYW5kIGxhc3QgZGVzY2VuZGFu
dCB0ZXh0IG5vZGUgb2YKKyAgICAvLyB0aGUgY2x1c3RlciAoaS5lLiB0aGUgZGVlcGVzdCB3cmFw
cGVyIGJsb2NrIHRoYXQgY29udGFpbnMgYWxsIHRoZSB0ZXh0KSwKKyAgICAvLyBhbmQgdXNlIGl0
cyB3aWR0aCBpbnN0ZWFkLgorICAgIGNvbnN0IFJlbmRlckJsb2NrKiBsb3dlc3RDb21tb25BbmNl
c3RvciA9IGZpbmREZWVwZXN0QmxvY2tDb250YWluaW5nQWxsVGV4dChjbHVzdGVyKTsKICAgICBm
bG9hdCBjb21tb25BbmNlc3RvcldpZHRoID0gbG93ZXN0Q29tbW9uQW5jZXN0b3ItPmNvbnRlbnRM
b2dpY2FsV2lkdGgoKTsKIAogICAgIGZsb2F0IG11bHRpcGxpZXIgPSAxOwpAQCAtMjk3LDYgKzMw
MCwxMDMgQEAgUmVuZGVyT2JqZWN0KiBUZXh0QXV0b3NpemVyOjpuZXh0SW5QcmVPcmRlclNraXBw
aW5nRGVzY2VuZGFudHNPZkNvbnRhaW5lcnMoY29uc3QKICAgICByZXR1cm4gMDsKIH0KIAorY29u
c3QgUmVuZGVyQmxvY2sqIFRleHRBdXRvc2l6ZXI6OmZpbmREZWVwZXN0QmxvY2tDb250YWluaW5n
QWxsVGV4dChjb25zdCBSZW5kZXJCbG9jayogY2x1c3RlcikKK3sKKyAgICBBU1NFUlQoaXNBdXRv
c2l6aW5nQ2x1c3RlcihjbHVzdGVyKSk7CisKKyAgICBzaXplX3QgZmlyc3REZXB0aCA9IDA7Cisg
ICAgY29uc3QgUmVuZGVyT2JqZWN0KiBmaXJzdFRleHRMZWFmID0gZmluZEZpcnN0VGV4dExlYWZO
b3RJbkNsdXN0ZXIoY2x1c3RlciwgZmlyc3REZXB0aCk7CisgICAgaWYgKCFmaXJzdFRleHRMZWFm
KQorICAgICAgICByZXR1cm4gY2x1c3RlcjsKKworICAgIHNpemVfdCBsYXN0RGVwdGggPSAwOwor
ICAgIGNvbnN0IFJlbmRlck9iamVjdCogbGFzdFRleHRMZWFmID0gZmluZExhc3RUZXh0TGVhZk5v
dEluQ2x1c3RlcihjbHVzdGVyLCBsYXN0RGVwdGgpOworICAgIEFTU0VSVChsYXN0VGV4dExlYWYp
OworCisgICAgLy8gRXF1YWxpemUgdGhlIGRlcHRocyBpZiBuZWNlc3NhcnkuIE9ubHkgb25lIG9m
IHRoZSB3aGlsZSBsb29wcyBiZWxvdyB3aWxsIGdldCBleGVjdXRlZC4KKyAgICBjb25zdCBSZW5k
ZXJPYmplY3QqIGZpcnN0Tm9kZSA9IGZpcnN0VGV4dExlYWY7CisgICAgY29uc3QgUmVuZGVyT2Jq
ZWN0KiBsYXN0Tm9kZSA9IGxhc3RUZXh0TGVhZjsKKyAgICB3aGlsZSAoZmlyc3REZXB0aCA+IGxh
c3REZXB0aCkgeworICAgICAgICBmaXJzdE5vZGUgPSBmaXJzdE5vZGUtPnBhcmVudCgpOworICAg
ICAgICAtLWZpcnN0RGVwdGg7CisgICAgfQorICAgIHdoaWxlIChsYXN0RGVwdGggPiBmaXJzdERl
cHRoKSB7CisgICAgICAgIGxhc3ROb2RlID0gbGFzdE5vZGUtPnBhcmVudCgpOworICAgICAgICAt
LWxhc3REZXB0aDsKKyAgICB9CisKKyAgICAvLyBHbyB1cCBmcm9tIGJvdGggbm9kZXMgdW50aWwg
dGhlIHBhcmVudCBpcyB0aGUgc2FtZS4gQm90aCBwb2ludGVycyB3aWxsIHBvaW50IHRvIHRoZSBM
Q0EgdGhlbi4KKyAgICB3aGlsZSAoZmlyc3ROb2RlICE9IGxhc3ROb2RlKSB7CisgICAgICAgIGZp
cnN0Tm9kZSA9IGZpcnN0Tm9kZS0+cGFyZW50KCk7CisgICAgICAgIGxhc3ROb2RlID0gbGFzdE5v
ZGUtPnBhcmVudCgpOworICAgIH0KKworICAgIGlmIChmaXJzdE5vZGUtPmlzUmVuZGVyQmxvY2so
KSkKKyAgICAgICAgcmV0dXJuIHRvUmVuZGVyQmxvY2soZmlyc3ROb2RlKTsKKworICAgIC8vIFdl
IGFzc3VtZSB0aGF0IGNvbnRhaW5pbmdCbG9jaygpIGNhbid0IHNraXAgdGhlIGNsdXN0ZXIsIHNp
bmNlIGFzIG9mIG5vdyAoMTEvMjcvMjAxMikgaXQgc2tpcHMKKyAgICAvLyBlbGVtZW50cyB3aXRo
IHBvc2l0aW9uOmZpeGVkIHdoaWNoIGxlYWRzIHRvIHRoZSBub2RlIGJlaW5nIGEgY2x1c3Rlci4K
KyAgICBSZW5kZXJCbG9jayogY29udGFpbmluZ0Jsb2NrID0gZmlyc3ROb2RlLT5jb250YWluaW5n
QmxvY2soKTsKKyAgICBBU1NFUlQoY29udGFpbmluZ0Jsb2NrLT5pc0Rlc2NlbmRhbnRPZihjbHVz
dGVyKSk7CisKKyAgICByZXR1cm4gY29udGFpbmluZ0Jsb2NrOworfQorCitjb25zdCBSZW5kZXJP
YmplY3QqIFRleHRBdXRvc2l6ZXI6OmZpbmRGaXJzdFRleHRMZWFmTm90SW5DbHVzdGVyKGNvbnN0
IFJlbmRlck9iamVjdCogcGFyZW50LCBzaXplX3QmIGRlcHRoKQoreworICAgIHJldHVybiBmaW5k
RmluYWxUZXh0TGVhZk5vdEluQ2x1c3RlcihwYXJlbnQsIGRlcHRoLCBGaXJzdFRvTGFzdCk7Cit9
CisKK2NvbnN0IFJlbmRlck9iamVjdCogVGV4dEF1dG9zaXplcjo6ZmluZExhc3RUZXh0TGVhZk5v
dEluQ2x1c3Rlcihjb25zdCBSZW5kZXJPYmplY3QqIHBhcmVudCwgc2l6ZV90JiBkZXB0aCkKK3sK
KyAgICByZXR1cm4gZmluZEZpbmFsVGV4dExlYWZOb3RJbkNsdXN0ZXIocGFyZW50LCBkZXB0aCwg
TGFzdFRvRmlyc3QpOworfQorCitjb25zdCBSZW5kZXJPYmplY3QqIFRleHRBdXRvc2l6ZXI6OmZp
bmRGaW5hbFRleHRMZWFmTm90SW5DbHVzdGVyKGNvbnN0IFJlbmRlck9iamVjdCogcGFyZW50LCBz
aXplX3QmIGRlcHRoLCBUcmF2ZXJzYWxEaXJlY3Rpb24gZGlyZWN0aW9uKQoreworICAgIGlmIChw
YXJlbnQtPmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHBhcmVudC0+aXNUZXh0KCkgPyBwYXJl
bnQgOiAwOworCisgICAgKytkZXB0aDsKKyAgICBmb3IgKGNvbnN0IFJlbmRlck9iamVjdCogY2hp
bGQgPSBmaXJzdENoaWxkKHBhcmVudCwgZGlyZWN0aW9uKTsgY2hpbGQ7IGNoaWxkID0gbmV4dFNp
YmxpbmcoY2hpbGQsIGRpcmVjdGlvbikpIHsKKyAgICAgICAgaWYgKGlzQXV0b3NpemluZ0NvbnRh
aW5lcihjaGlsZCkgJiYgY2hpbGQtPmlzUmVuZGVyQmxvY2soKSAmJiBpc0F1dG9zaXppbmdDbHVz
dGVyKHRvUmVuZGVyQmxvY2soY2hpbGQpKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAg
ICAgIGNvbnN0IFJlbmRlck9iamVjdCogbGVhZiA9IGZpbmRGaW5hbFRleHRMZWFmTm90SW5DbHVz
dGVyKGNoaWxkLCBkZXB0aCwgZGlyZWN0aW9uKTsKKyAgICAgICAgaWYgKGxlYWYpCisgICAgICAg
ICAgICByZXR1cm4gbGVhZjsKKyAgICB9CisgICAgLS1kZXB0aDsKKworICAgIHJldHVybiAwOwor
fQorCitjb25zdCBSZW5kZXJPYmplY3QqIFRleHRBdXRvc2l6ZXI6OmZpcnN0Q2hpbGQoY29uc3Qg
UmVuZGVyT2JqZWN0KiBvYmplY3QsIFRyYXZlcnNhbERpcmVjdGlvbiBkaXJlY3Rpb24pCit7Cisg
ICAgc3dpdGNoIChkaXJlY3Rpb24pIHsKKyAgICBjYXNlIEZpcnN0VG9MYXN0OgorICAgICAgICBy
ZXR1cm4gb2JqZWN0LT5maXJzdENoaWxkKCk7CisgICAgY2FzZSBMYXN0VG9GaXJzdDoKKyAgICAg
ICAgcmV0dXJuIG9iamVjdC0+bGFzdENoaWxkKCk7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNT
RVJUKGZhbHNlKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorfQorCitjb25zdCBSZW5kZXJP
YmplY3QqIFRleHRBdXRvc2l6ZXI6Om5leHRTaWJsaW5nKGNvbnN0IFJlbmRlck9iamVjdCogb2Jq
ZWN0LCBUcmF2ZXJzYWxEaXJlY3Rpb24gZGlyZWN0aW9uKQoreworICAgIHN3aXRjaCAoZGlyZWN0
aW9uKSB7CisgICAgY2FzZSBGaXJzdFRvTGFzdDoKKyAgICAgICAgcmV0dXJuIG9iamVjdC0+bmV4
dFNpYmxpbmcoKTsKKyAgICBjYXNlIExhc3RUb0ZpcnN0OgorICAgICAgICByZXR1cm4gb2JqZWN0
LT5wcmV2aW91c1NpYmxpbmcoKTsKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlQoZmFsc2Up
OworICAgICAgICByZXR1cm4gMDsKKyAgICB9Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAogI2VuZGlmIC8vIEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9zaXplci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1RleHRBdXRvc2l6ZXIuaAppbmRleCAyZTJlNzBlNmIwMjg0NTA3MTNiYTZmYWMyZGExMjhi
NTdhZWVhMGQzLi5hMWI4NDBmOWEzOTkwZDcwZGRmNmM0NDBkZWJkNDhmODFkYjA3YjNlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9zaXplci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmgKQEAgLTU1LDYgKzU1LDExIEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgZmxvYXQgY29tcHV0ZUF1dG9zaXplZEZvbnRTaXplKGZsb2F0
IHNwZWNpZmllZFNpemUsIGZsb2F0IG11bHRpcGxpZXIpOwogCiBwcml2YXRlOgorICAgIGVudW0g
VHJhdmVyc2FsRGlyZWN0aW9uIHsKKyAgICAgICAgRmlyc3RUb0xhc3QsCisgICAgICAgIExhc3RU
b0ZpcnN0CisgICAgfTsKKwogICAgIGV4cGxpY2l0IFRleHRBdXRvc2l6ZXIoRG9jdW1lbnQqKTsK
IAogICAgIHZvaWQgcHJvY2Vzc0NsdXN0ZXIoUmVuZGVyQmxvY2sqIGNsdXN0ZXIsIFJlbmRlckJs
b2NrKiBjb250YWluZXIsIFJlbmRlck9iamVjdCogc3VidHJlZVJvb3QsIGNvbnN0IFRleHRBdXRv
c2l6aW5nV2luZG93SW5mbyYpOwpAQCAtNzEsNiArNzYsMjIgQEAgcHJpdmF0ZToKICAgICAvLyBV
c2UgdG8gdHJhdmVyc2UgdGhlIHRyZWUgb2YgZGVzY2VuZGFudHMsIGV4Y2x1ZGluZyBkZXNjZW5k
YW50cyBvZiBjb250YWluZXJzIChidXQgcmV0dXJuaW5nIHRoZSBjb250YWluZXJzIHRoZW1zZWx2
ZXMpLgogICAgIHN0YXRpYyBSZW5kZXJPYmplY3QqIG5leHRJblByZU9yZGVyU2tpcHBpbmdEZXNj
ZW5kYW50c09mQ29udGFpbmVycyhjb25zdCBSZW5kZXJPYmplY3QqIGN1cnJlbnQsIGNvbnN0IFJl
bmRlck9iamVjdCogc3RheVdpdGhpbik7CiAKKyAgICAvLyBGaW5kcyB0aGUgbG93ZXN0IGNvbW1v
biBhbmNlc3RvciBvZiB0aGUgZmlyc3QgYW5kIHRoZSBsYXN0IGRlc2NlbmRhbnQKKyAgICAvLyB0
ZXh0IG5vZGUgKGV4Y2x1ZGluZyB0aG9zZSBiZWxvbmdpbmcgdG8gb3RoZXIgYXV0b3NpemluZyBj
bHVzdGVycykuCisgICAgc3RhdGljIGNvbnN0IFJlbmRlckJsb2NrKiBmaW5kRGVlcGVzdEJsb2Nr
Q29udGFpbmluZ0FsbFRleHQoY29uc3QgUmVuZGVyQmxvY2sqIGNsdXN0ZXIpOworCisgICAgLy8g
RmluZHMgdGhlIGZpcnN0IGxlYWYgdGV4dCBub2RlIGNoaWxkIHRoYXQgZG9lc24ndCBiZWxvbmcg
dG8gYW55IGNsdXN0ZXIuCisgICAgc3RhdGljIGNvbnN0IFJlbmRlck9iamVjdCogZmluZEZpcnN0
VGV4dExlYWZOb3RJbkNsdXN0ZXIoY29uc3QgUmVuZGVyT2JqZWN0Kiwgc2l6ZV90JiBkZXB0aCk7
CisgICAgLy8gRmluZHMgdGhlIGxhc3QgbGVhZiB0ZXh0IG5vZGUgY2hpbGQgdGhhdCBkb2Vzbid0
IGJlbG9uZyB0byBhbnkgY2x1c3Rlci4KKyAgICBzdGF0aWMgY29uc3QgUmVuZGVyT2JqZWN0KiBm
aW5kTGFzdFRleHRMZWFmTm90SW5DbHVzdGVyKGNvbnN0IFJlbmRlck9iamVjdCosIHNpemVfdCYg
ZGVwdGgpOworICAgIC8vIENvbW1vbiBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIHR3byBmdW5jdGlv
bnMgYWJvdmUuCisgICAgc3RhdGljIGNvbnN0IFJlbmRlck9iamVjdCogZmluZEZpbmFsVGV4dExl
YWZOb3RJbkNsdXN0ZXIoY29uc3QgUmVuZGVyT2JqZWN0Kiwgc2l6ZV90JiBkZXB0aCwgVHJhdmVy
c2FsRGlyZWN0aW9uKTsKKworICAgIC8vIFdyYXBwZXIgYXJvdW5kIGZpcnN0Q2hpbGQoKSBhbmQg
bGFzdENoaWxkKCkgbWV0aG9kcywgY2FsbGluZyBvbmUgb3IgYW5vdGhlciBkZXBlbmRpbmcgb24g
dGhlIGRpcmVjdGlvbi4KKyAgICBzdGF0aWMgY29uc3QgUmVuZGVyT2JqZWN0KiBmaXJzdENoaWxk
KGNvbnN0IFJlbmRlck9iamVjdCosIFRyYXZlcnNhbERpcmVjdGlvbik7CisgICAgLy8gV3JhcHBl
ciBhcm91bmQgbmV4dFNpYmxpbmcoKSBhbmQgcHJldmlvdXNTaWJsaW5nKCkgbWV0aG9kcywgY2Fs
bGluZyBvbmUgb3IgYW5vdGhlciBkZXBlbmRpbmcgb24gdGhlIGRpcmVjdGlvbi4KKyAgICBzdGF0
aWMgY29uc3QgUmVuZGVyT2JqZWN0KiBuZXh0U2libGluZyhjb25zdCBSZW5kZXJPYmplY3QqLCBU
cmF2ZXJzYWxEaXJlY3Rpb24pOworCiAgICAgRG9jdW1lbnQqIG1fZG9jdW1lbnQ7CiB9OwogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggMzhmOTQ4ZDhlOGYwOGJhZmFlNTc5MTc5NThmNDI5MDU0Mzg2OTU1My4uNTIzNmY5ZDVm
Nzk4Y2NjN2ZhZmM3MWExZmM2YWNmYzVhMDliNDhmNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisy
MDEyLTExLTI3ICBBbnRvbiBWYXl2b2QgIDxhdmF5dm9kQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBUZXh0IEF1dG9zaXppbmc6IENsdXN0ZXJzIHNob3VsZCB1c2Ugd2lkdGggb2YgTENBIG9mIHRo
ZWlyIHRleHQgbm9kZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwMjU2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1hbnkgcGFnZXMgc2V0IGEgbWF4LXdpZHRoIG9uIHRoZWlyIGNvbnRlbnQuIFNvIGVz
cGVjaWFsbHkgZm9yIHRoZQorICAgICAgICBSZW5kZXJWaWV3LCBpbnN0ZWFkIG9mIGp1c3QgdGFr
aW5nIHRoZSB3aWR0aCBvZiB8Y2x1c3Rlcnwgd2UgZmluZAorICAgICAgICB0aGUgbG93ZXN0IGNv
bW1vbiBhbmNlc3RvciBvZiB0aGUgZmlyc3QgYW5kIGxhc3QgZGVzY2VuZGFudCB0ZXh0IG5vZGUg
b2YKKyAgICAgICAgdGhlIGNsdXN0ZXIgKGkuZS4gdGhlIGRlZXBlc3Qgd3JhcHBlciBibG9jayB0
aGF0IGNvbnRhaW5zIGFsbCB0aGUgdGV4dCksCisgICAgICAgIGFuZCB1c2UgaXRzIHdpZHRoIGlu
c3RlYWQuCisgICAgICAgIEhhZCB0byB1cGRhdGUgYSBjb3VwbGUgb2YgdGVzdHMgc2luY2UgdGhl
IGFjdHVhbCB3aWR0aCBmb3IgZm9udCBzaXplIG11bHRpcGxpZXIKKyAgICAgICAgY2FsY3VsYXRp
b24gaGFzIGJlZW4gY2hhbmdlZCBieSB0aGUgcGF0Y2guCisKKyAgICAgICAgKiBmYXN0L3RleHQt
YXV0b3NpemluZy9jbHVzdGVyLXdpZGUtaW4tbmFycm93LWV4cGVjdGVkLmh0bWw6CisgICAgICAg
ICogZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aWRlLWluLW5hcnJvdy5odG1sOgorICAg
ICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWFuZC1j
bHVzdGVyLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6
aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWFuZC1jbHVzdGVyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWV4cGVj
dGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXIt
d2l0aC1uYXJyb3ctbGNhLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6
aW5nL2NsdXN0ZXItd2l0aC13aWRlLWxjYS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvZW0tbWFyZ2luLWJvcmRlci1wYWRkaW5n
LWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvZW0tbWFyZ2lu
LWJvcmRlci1wYWRkaW5nLmh0bWw6CisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lk
ZS1jaGlsZC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL3dp
ZGUtY2hpbGQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWluLW5h
cnJvdy1vdmVyZmxvdy1zY3JvbGwtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC90ZXh0LWF1dG9zaXppbmcvd2lkZS1pbi1uYXJyb3ctb3ZlcmZsb3ctc2Nyb2xsLmh0bWw6IEFk
ZGVkLgorCiAyMDEyLTExLTI2ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IG9iamVjdCBwcmV2aWV3IGRvZXMgbm90IHJlbmRl
ciBub2RlIGlkLCBjbGFzc05hbWU7IGxvZ3MgdG9vIG1hbnkgZnVuY3Rpb25zIGZvciBqUXVlcnku
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdp
dGgtbmFycm93LWxjYS1hbmQtY2x1c3Rlci1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLW5hcnJvdy1sY2EtYW5kLWNsdXN0ZXItZXhw
ZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MTc3MWNiNTVmMGJiMjg0ZDhiNzQ1NjdlNjk5NzRlMzg4
MmMwNDdkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXpp
bmcvY2x1c3Rlci13aXRoLW5hcnJvdy1sY2EtYW5kLWNsdXN0ZXItZXhwZWN0ZWQuaHRtbApAQCAt
MCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlPgoraHRtbCB7IGZvbnQt
c2l6ZTogMTZweDsgfQorYm9keSB7IHdpZHRoOiA4MDBweDsgb3ZlcmZsb3cteTogaGlkZGVuOyB9
Cis8L3N0eWxlPgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHlsZT0id2lkdGg6IDQwMHB4
IiA+CisgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMS4yNXJlbSIgPgorICAgIFRoaXMgdGV4dCBz
aG91bGQgYmUgYXV0b3NpemVkIHRvIGp1c3QgMjBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICog
NDAwLzMyMCksIHNpbmNlIHRoZSB3aWR0aCBvZiB0aGUgbGVhc3QgY29tbW9uIGFuY2VzdG9yIG9m
IHRoZSBjbHVzdGVyJ3MgdGV4dCBkZXNjZW5kYW50cyBpcyB1c2VkIGZvciBtdWx0aXBsaWVyIGNh
bGN1bGF0aW9uLgorICA8L2Rpdj4KKworICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDEuMjVyZW0i
ID4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJlIHNpbWlsYXJseSBhdXRvc2l6ZWQgdG8gMjBweC4K
KyAgPC9kaXY+Cis8L2Rpdj4KKzxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogODAwcHg7
IGZvbnQtc2l6ZTogMi41cmVtIiA+CisgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRv
IDQwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDgwMC8zMjApLiBJdCBzaG91bGQgbm90IGFm
ZmVjdCBhdXRvc2l6aW5nIGZvciB0ZXh0IGFib3ZlIHRob3VnaCBzaW5jZSBpdCdzIGFub3RoZXIg
Y2x1c3Rlci4KKyAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRp
cGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3Jl
IGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5v
c3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEg
Y29tbW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0
IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBh
cmlhdHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBz
dW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJv
cnVtLgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLW5hcnJvdy1sY2EtYW5kLWNsdXN0
ZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1u
YXJyb3ctbGNhLWFuZC1jbHVzdGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDA3ZTJlN2VjZWU2NDA3NGRm
NDlhMDA0N2QzODZkNTliMzg5ODI2MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWFuZC1jbHVzdGVyLmh0
bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZT4KK2h0bWwg
eyBmb250LXNpemU6IDE2cHg7IH0KK2JvZHkgeyB3aWR0aDogODAwcHg7IG92ZXJmbG93LXk6IGhp
ZGRlbjsgfQorPC9zdHlsZT4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1
ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dpbmRv
d1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNv
bnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhl
IFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVu
ZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1
c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMg
b3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tU
T1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9Indp
ZHRoOiA0MDBweCIgPgorICA8ZGl2PgorICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVk
IHRvIGp1c3QgMjBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogNDAwLzMyMCksIHNpbmNlIHRo
ZSB3aWR0aCBvZiB0aGUgbGVhc3QgY29tbW9uIGFuY2VzdG9yIG9mIHRoZSBjbHVzdGVyJ3MgdGV4
dCBkZXNjZW5kYW50cyBpcyB1c2VkIGZvciBtdWx0aXBsaWVyIGNhbGN1bGF0aW9uLgorICA8L2Rp
dj4KKworICA8ZGl2PgorICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgc2ltaWxhcmx5IGF1dG9zaXpl
ZCB0byAyMHB4LgorICA8L2Rpdj4KKzwvZGl2PgorPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdp
ZHRoOiA4MDBweCIgPgorICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byA0MHB4IGNv
bXB1dGVkIGZvbnQgc2l6ZSAoMTYgKiA4MDAvMzIwKS4gSXQgc2hvdWxkIG5vdCBhZmZlY3QgYXV0
b3NpemluZyBmb3IgdGV4dCBhYm92ZSB0aG91Z2ggc2luY2UgaXQncyBhbm90aGVyIGNsdXN0ZXIu
CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5n
IGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xv
cmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4
ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8g
Y29uc2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1
cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4g
RXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBj
dWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KKzwv
ZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWV4cGVjdGVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS1l
eHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4Yzc5M2M2YTUyMmI2YzA5MzJlOWNiYjczNWNlZGU1
MmEzZjI3MjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Np
emluZy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjUg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGU+CitodG1sIHsgZm9udC1zaXplOiAxNnB4
OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBvdmVyZmxvdy15OiBoaWRkZW47IH0KKzwvc3R5bGU+
CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJ3aWR0aDogNDAwcHgiPgorICA8ZGl2
IHN0eWxlPSJmb250LXNpemU6IDEuMjVyZW0iPgorICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0
b3NpemVkIHRvIGp1c3QgMjBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogNDAwLzMyMCksIHNp
bmNlIHRoZSB3aWR0aCBvZiB0aGUgbGVhc3QgY29tbW9uIGFuY2VzdG9yIG9mIHRoZSBjbHVzdGVy
J3MgdGV4dCBkZXNjZW5kYW50cyBpcyB1c2VkIGZvciBtdWx0aXBsaWVyIGNhbGN1bGF0aW9uLgor
ICA8L2Rpdj4KKworICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDEuMjVyZW0iPgorICAgIFRoaXMg
dGV4dCBzaG91bGQgYmUgc2ltaWxhcmx5IGF1dG9zaXplZCB0byAyMHB4LgorICA8L2Rpdj4KKzwv
ZGl2PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLW5hcnJvdy1sY2EuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42YjhlZGRkYzBjM2JlYzRjMzVhMDRmMDgxNjE1ZTUxZTExZWUxMDUzCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLW5h
cnJvdy1sY2EuaHRtbApAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0
eWxlPgoraHRtbCB7IGZvbnQtc2l6ZTogMTZweDsgfQorYm9keSB7IHdpZHRoOiA4MDBweDsgb3Zl
cmZsb3cteTogaGlkZGVuOyB9Cis8L3N0eWxlPgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRl
cm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5n
RW5hYmxlZCh0cnVlKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRv
c2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlKDMyMCwgNDgwKTsKK30gZWxzZSBpZiAod2luZG93LmNv
bnNvbGUgJiYgY29uc29sZS53YXJuKSB7CisgICAgY29uc29sZS53YXJuKCJUaGlzIHRlc3QgZGVw
ZW5kcyBvbiB0aGUgVGV4dCBBdXRvc2l6aW5nIHNldHRpbmcgYmVpbmcgdHJ1ZSwgc28gcnVuIGl0
IGluIER1bXBSZW5kZXJUcmVlLCBvciBtYW51YWxseSBlbmFibGUgVGV4dCBBdXRvc2l6aW5nLCBh
bmQgZWl0aGVyIHVzZSBhIG1vYmlsZSBkZXZpY2Ugd2l0aCAzMjBweCBkZXZpY2Utd2lkdGggKGxp
a2UgTmV4dXMgUyBvciBpUGhvbmUpLCBvciBkZWZpbmUgSEFDS19GT1JDRV9URVhUX0FVVE9TSVpJ
TkdfT05fREVTS1RPUC4iKTsKK30KKzwvc2NyaXB0PgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRp
diBzdHlsZT0id2lkdGg6IDQwMHB4Ij4KKyAgPGRpdj4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJl
IGF1dG9zaXplZCB0byBqdXN0IDIwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDQwMC8zMjAp
LCBzaW5jZSB0aGUgd2lkdGggb2YgdGhlIGxlYXN0IGNvbW1vbiBhbmNlc3RvciBvZiB0aGUgY2x1
c3RlcidzIHRleHQgZGVzY2VuZGFudHMgaXMgdXNlZCBmb3IgbXVsdGlwbGllciBjYWxjdWxhdGlv
bi4KKyAgPC9kaXY+CisKKyAgPGRpdj4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJlIHNpbWlsYXJs
eSBhdXRvc2l6ZWQgdG8gMjBweC4KKyAgPC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13
aXRoLXdpZGUtbGNhLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Np
emluZy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZDJj
OWFkOTRkNzAzN2FkMzU3YWE4OWQ0NDIyNjQ3MzMyYzBjZjIzCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLXdpZGUtbGNhLWV4
cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHls
ZT4KK2h0bWwgeyBmb250LXNpemU6IDE2cHg7IH0KK2JvZHkgeyB3aWR0aDogODAwcHg7IG92ZXJm
bG93LXk6IGhpZGRlbjsgfQorPC9zdHlsZT4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5
bGU9IndpZHRoOiA0MDBweCIgPgorICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDIuNXJlbSIgPgor
ICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udCBz
aXplICgxNiAqIDgwMC8zMjApIHNpbmNlIHRoZSBsZWFzdCBjb21tb24gYW5jZXN0b3Igb2YgYWxs
IHRoZSBjbHVzdGVyJ3MgdGV4dCBkZXNjZW5kYW50cyBpcyB0aGUgQk9EWSB0YWcuCisgIDwvZGl2
PgorCisgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMi41cmVtIiA+CisgICAgVGhpcyB0ZXh0IHNo
b3VsZCBiZSBzaW1pbGFybHkgYXV0b3NpemVkIHRvIDQwcHguCisgIDwvZGl2PgorPC9kaXY+Cis8
ZGl2IHN0eWxlPSJ3aWR0aDogODAwcHg7IGZvbnQtc2l6ZTogMi41cmVtIiA+CisgIFRoaXMgdGV4
dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDgw
MC8zMjApLgorICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlz
aWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0
IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3Ry
dWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29t
bW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGlu
IHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBhcmlh
dHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50
IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVt
LgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLXdpZGUtbGNhLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41ZDZhZDlkMGFjNDM4ZjZhYjZiYjRjMjIzMTkwNDJmMmZlMTQyNTY0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRo
LXdpZGUtbGNhLmh0bWwKQEAgLTAsMCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxz
dHlsZT4KK2h0bWwgeyBmb250LXNpemU6IDE2cHg7IH0KK2JvZHkgeyB3aWR0aDogODAwcHg7IG92
ZXJmbG93LXk6IGhpZGRlbjsgfQorPC9zdHlsZT4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50
ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3Npemlu
Z0VuYWJsZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0
b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5j
b25zb2xlICYmIGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRl
cGVuZHMgb24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBp
dCBpbiBEdW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywg
YW5kIGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChs
aWtlIE5leHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0la
SU5HX09OX0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxk
aXYgc3R5bGU9IndpZHRoOiA0MDBweCIgPgorICA8ZGl2PgorICAgIFRoaXMgdGV4dCBzaG91bGQg
YmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDgwMC8zMjApIHNp
bmNlIHRoZSBsZWFzdCBjb21tb24gYW5jZXN0b3Igb2YgYWxsIHRoZSBjbHVzdGVyJ3MgdGV4dCBk
ZXNjZW5kYW50cyBpcyB0aGUgQk9EWSB0YWcuCisgIDwvZGl2PgorCisgIDxkaXY+CisgICAgVGhp
cyB0ZXh0IHNob3VsZCBiZSBzaW1pbGFybHkgYXV0b3NpemVkIHRvIDQwcHguCisgIDwvZGl2Pgor
PC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogODAwcHgiID4KKyAgVGhpcyB0ZXh0IHNob3VsZCBi
ZSBhdXRvc2l6ZWQgdG8gNDBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogODAwLzMyMCkuCisg
IExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0
LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1h
Z25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0
YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNl
cXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRl
IHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuIEV4Y2Vw
dGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4gY3VscGEg
cXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uCis8L2Rpdj4K
KworPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQt
YXV0b3NpemluZy9lbS1tYXJnaW4tYm9yZGVyLXBhZGRpbmctZXhwZWN0ZWQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1ib3JkZXItcGFkZGluZy1leHBl
Y3RlZC5odG1sCmluZGV4IDQzYmQxYzA2ODljODQ0NWU4MGE4MDUxMDhmZWRlNTg1YmU2ZjFmMjMu
LjU0MjljZTNhYWVjNDY3NmQzYzAzNDA0Y2RkNzZjYWU4YTM5MjIyOGQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1ib3JkZXItcGFkZGluZy1l
eHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1h
cmdpbi1ib3JkZXItcGFkZGluZy1leHBlY3RlZC5odG1sCkBAIC01LDE0ICs1LDE0IEBACiA8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KIDxzdHlsZT4KIGh0bWwgeyBm
b250LXNpemU6IDE2cHg7IH0KLWJvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjogMDsgb3ZlcmZs
b3cteTogaGlkZGVuOyB9Citib2R5IHsgd2lkdGg6IDg5NnB4OyBtYXJnaW46IDA7IG92ZXJmbG93
LXk6IGhpZGRlbjsgfQogPC9zdHlsZT4KIAogPC9oZWFkPgogPGJvZHk+CiAKIDxwIHN0eWxlPSJm
b250LXNpemU6IDIuNXJlbTsgbWFyZ2luOiAxcmVtOyBib3JkZXI6IDFyZW0gc29saWQgYmx1ZTsg
cGFkZGluZzogMXJlbSI+Ci0gICAgVGhpcyB0ZXh0IHNob3VsZCBnZXQgYXV0b3NpemVkIHRvIDQw
cHggY29tcHV0ZWQgZm9udCBzaXplLCBidXQgdGhlIDFlbSBtYXJnaW5zLCBib3JkZXJzIGFuZCBw
YWRkaW5nIHNob3VsZCByZW1haW4ganVzdCAxNnB4LiBXaGlsZSBkZWJhdGFibGUsIHRoaXMgZ2Vu
ZXJhbGx5IGxvb2tzIG1vcmUgY29uc2lzdGVudCB0aGFuIGhhdmluZyB0aGVtIGJlIHNjYWxlZC48
YnI+CisgICAgVGhpcyB0ZXh0IHNob3VsZCBnZXQgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQg
Zm9udCBzaXplICgxNiAqIDgwMC8zMjApLCBidXQgdGhlIDFlbSBtYXJnaW5zLCBib3JkZXJzIGFu
ZCBwYWRkaW5nIHNob3VsZCByZW1haW4ganVzdCAxNnB4LiBXaGlsZSBkZWJhdGFibGUsIHRoaXMg
Z2VuZXJhbGx5IGxvb2tzIG1vcmUgY29uc2lzdGVudCB0aGFuIGhhdmluZyB0aGVtIGJlIHNjYWxl
ZC48YnI+CiAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBp
c2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBl
dCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0
cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNv
bW1vZG8gY29uc2VxdWF0LgogPC9wPgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQtYXV0b3NpemluZy9lbS1tYXJnaW4tYm9yZGVyLXBhZGRpbmcuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1ib3JkZXItcGFkZGluZy5odG1sCmluZGV4
IDM5NWU4MTRhNjMxMjA4NjM3OGJlYjBmNzA5ZjhkMmExYWQxYzc5Y2IuLjEwZDNhOTY3ZDdhMmJi
MDFkOTI0ZTUzNDgzNGFlNmNmNmZlMGQ5ZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1ib3JkZXItcGFkZGluZy5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1ib3JkZXItcGFkZGluZy5odG1s
CkBAIC01LDcgKzUsNyBAQAogPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgw
MCI+CiA8c3R5bGU+CiBodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9Ci1ib2R5IHsgd2lkdGg6IDgw
MHB4OyBtYXJnaW46IDA7IG92ZXJmbG93LXk6IGhpZGRlbjsgfQorYm9keSB7IHdpZHRoOiA4OTZw
eDsgbWFyZ2luOiAwOyBvdmVyZmxvdy15OiBoaWRkZW47IH0KIDwvc3R5bGU+CiAKIDxzY3JpcHQ+
CkBAIC0yMSw3ICsyMSw3IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CiA8Ym9keT4KIAogPHAg
c3R5bGU9Im1hcmdpbjogMWVtOyBib3JkZXI6IDFlbSBzb2xpZCBibHVlOyBwYWRkaW5nOiAxZW0i
PgotICAgIFRoaXMgdGV4dCBzaG91bGQgZ2V0IGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZv
bnQgc2l6ZSwgYnV0IHRoZSAxZW0gbWFyZ2lucywgYm9yZGVycyBhbmQgcGFkZGluZyBzaG91bGQg
cmVtYWluIGp1c3QgMTZweC4gV2hpbGUgZGViYXRhYmxlLCB0aGlzIGdlbmVyYWxseSBsb29rcyBt
b3JlIGNvbnNpc3RlbnQgdGhhbiBoYXZpbmcgdGhlbSBiZSBzY2FsZWQuPGJyPgorICAgIFRoaXMg
dGV4dCBzaG91bGQgZ2V0IGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSAoMTYg
KiA4MDAvMzIwKSwgYnV0IHRoZSAxZW0gbWFyZ2lucywgYm9yZGVycyBhbmQgcGFkZGluZyBzaG91
bGQgcmVtYWluIGp1c3QgMTZweC4gV2hpbGUgZGViYXRhYmxlLCB0aGlzIGdlbmVyYWxseSBsb29r
cyBtb3JlIGNvbnNpc3RlbnQgdGhhbiBoYXZpbmcgdGhlbSBiZSBzY2FsZWQuPGJyPgogICAgIExv
cmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBz
ZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25h
IGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRp
b24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVh
dC4KIDwvcD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcv
d2lkZS1jaGlsZC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXpp
bmcvd2lkZS1jaGlsZC1leHBlY3RlZC5odG1sCmluZGV4IDRiMDAwZjY3MGVhNzI0YzA5YTZlN2Fk
YmVkYjdkMTE2MzczYmIzNWIuLmE5MGEwMTNhZjNlZDRlZTA0ZTI2YWM2MDcyMDZmOTJkYWNiYjVh
ODggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtY2hp
bGQtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy93
aWRlLWNoaWxkLWV4cGVjdGVkLmh0bWwKQEAgLTExLDEyICsxMSwxNCBAQCBib2R5IHsgd2lkdGg6
IDgwMHB4OyBtYXJnaW46IDA7IG92ZXJmbG93LXk6IGhpZGRlbjsgfQogPC9oZWFkPgogPGJvZHk+
CiAKLTxkaXYgc3R5bGU9IndpZHRoOiAzMjBweDsgZm9udC1zaXplOiAyLjVyZW0iPgotICAgIFRo
aXMgdGV4dCBzaG91bGQgYWxsIGJlIGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQtc2l6
ZSwgc2luY2UgYWx0aG91Z2ggdGhpcyBibG9jayBpcyBuYXJyb3csIGl0IGhhcyBhIHdpZGUgY2hp
bGQgYmxvY2ssIHNvIHRoZSBjbHVzdGVyIHdpbGwgYmUgd2lkZSBhbmQgbmVlZCBhdXRvc2l6aW5n
LgotICAgIDxkaXYgc3R5bGU9IndpZHRoOiA4MDBweCI+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMzIw
cHg7IGZvbnQtc2l6ZTogMXJlbSI+CisJVGhpcyB0ZXh0IHNob3VsZCBub3QgYmUgYXV0b3NpemVk
LCBhcyB0aGlzIGRpdiBpcyB0aGUgbG93ZXN0IGNvbW1vbiBhbmNlc3RvciBvZiB0aGUgcm9vdCBj
bHVzdGVyLCBhbmQgdGhpcyBkaXYgaXMgbmFycm93Ljxicj4KKyAgICBMb3JlbSBpcHN1bSBkb2xv
ciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2Qg
dGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCisJPGRp
diBzdHlsZT0id2lkdGg6IDgwMHB4Ij4KKyAgICAJVGhpcyB0ZXh0IHNob3VsZCBub3QgYmUgYXV0
b3NpemVkIHNpbmNlIGl0IGRvZXNuJ3QgYWZmZWN0IHRoZSB3aWR0aCBvZiB0aGUgcGFyZW50IGJs
b2NrIHdoaWNoIGlzIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSBhdXRvc2l6aW5nIG11bHRpcGxpZXIu
PGJyPgorICAgIAlGSVhNRTogSWRlYWxseSB0aGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZC4g
V2lsbCBuZWVkIHRvIGJlIGZpeGVkIGxhdGVyLjxicj4KICAgICAgICAgTG9yZW0gaXBzdW0gZG9s
b3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9k
IHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLgogICAg
IDwvZGl2PgotICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlw
aXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUg
ZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KIDwvZGl2PgogCiA8L2JvZHk+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWNoaWxkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWNoaWxkLmh0bWwKaW5kZXggMGE1YjEyMTRm
ODA5OTE0NjE0N2I3YjBjZWQzZjkyMTllZjkxNTU1MS4uNDU0ZWE2MWYzYWY3OWFmZjg3YjdkMzMw
YzU1Yjc5MTc2M2I1MjA3ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9z
aXppbmcvd2lkZS1jaGlsZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6
aW5nL3dpZGUtY2hpbGQuaHRtbApAQCAtMjEsMTEgKzIxLDEzIEBAIGlmICh3aW5kb3cuaW50ZXJu
YWxzKSB7CiA8Ym9keT4KIAogPGRpdiBzdHlsZT0id2lkdGg6IDMyMHB4Ij4KLSAgICBUaGlzIHRl
eHQgc2hvdWxkIGFsbCBiZSBhdXRvc2l6ZWQgdG8gNDBweCBjb21wdXRlZCBmb250LXNpemUsIHNp
bmNlIGFsdGhvdWdoIHRoaXMgYmxvY2sgaXMgbmFycm93LCBpdCBoYXMgYSB3aWRlIGNoaWxkIGJs
b2NrLCBzbyB0aGUgY2x1c3RlciB3aWxsIGJlIHdpZGUgYW5kIG5lZWQgYXV0b3NpemluZy4KKyAg
ICBUaGlzIHRleHQgc2hvdWxkIG5vdCBiZSBhdXRvc2l6ZWQsIGFzIHRoaXMgZGl2IGlzIHRoZSBs
b3dlc3QgY29tbW9uIGFuY2VzdG9yIG9mIHRoZSByb290IGNsdXN0ZXIsIGFuZCB0aGlzIGRpdiBp
cyBuYXJyb3cuPGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1
ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBs
YWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogODAw
cHgiPgorICAgIAlUaGlzIHRleHQgc2hvdWxkIG5vdCBiZSBhdXRvc2l6ZWQgc2luY2UgaXQgZG9l
c24ndCBhZmZlY3QgdGhlIHdpZHRoIG9mIHRoZSBwYXJlbnQgYmxvY2sgd2hpY2ggaXMgdXNlZCB0
byBjYWxjdWxhdGUgdGhlIGF1dG9zaXppbmcgbXVsdGlwbGllci48YnI+CisgICAgCUZJWE1FOiBJ
ZGVhbGx5IHRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkLiBXaWxsIG5lZWQgdG8gYmUgZml4
ZWQgbGF0ZXIuPGJyPgogICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2Vj
dGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQg
dXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCiAgICAgPC9kaXY+Ci0gICAgTG9yZW0g
aXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBk
byBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxp
cXVhLgogPC9kaXY+CiAKIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC1hdXRvc2l6aW5nL3dpZGUtaW4tbmFycm93LW92ZXJmbG93LXNjcm9sbC1leHBlY3RlZC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lkZS1pbi1uYXJyb3ctb3ZlcmZs
b3ctc2Nyb2xsLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGI3YTc3N2RjMzkxNWY1Y2E2MjE3
OWU4ODVlMDUwMDcxOGJlNzJiYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC1hdXRvc2l6aW5nL3dpZGUtaW4tbmFycm93LW92ZXJmbG93LXNjcm9sbC1leHBlY3RlZC5o
dG1sCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKwor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGU+CitodG1s
IHsgZm9udC1zaXplOiAxNnB4OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IG92
ZXJmbG93LXk6IGhpZGRlbjsgfQorPC9zdHlsZT4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYg
c3R5bGU9IndpZHRoOiA0MDBweCI+CisgIDxkaXYgc3R5bGU9Im92ZXJmbG93LXg6IHNjcm9sbCI+
CisgICAgPGRpdiBzdHlsZT0id2lkdGg6IDgwMHB4OyBmb250LXNpemU6IDEuMjVyZW0iPgorICAg
ICAgICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byAyMHB4IGNvbXB1dGVkIGZvbnQg
c2l6ZSAoMTYgKiA0MDAvMzIwKSwgc2luY2UgdGhpcyBpcyBwYXJ0IG9mIHRoZSByb290IGNsdXN0
ZXIsIHdob3NlIHRleHQgZGVzY2VuZGFudHMgYXJlIGFsbCBjb250YWluZWQgd2l0aGluIHRoZSA0
MDBweCB3aWRlIGdyYW5kcGFyZW50IG9mIHRoaXMgZGl2Ljxicj4KKyAgICAgICAgTG9yZW0gaXBz
dW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBl
aXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVh
LgorICAgIDwvZGl2PgorICA8L2Rpdj4KKworICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDEuMjVy
ZW0iPgorICAgICAgICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byAyMHB4IGNvbXB1
dGVkIGZvbnQgc2l6ZSAoMTYgKiA0MDAvMzIwKS48YnI+CisgICAgICAgIExvcmVtIGlwc3VtIGRv
bG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21v
ZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KKyAg
PC9kaXY+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWluLW5hcnJvdy1vdmVyZmxvdy1zY3JvbGwu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtaW4tbmFycm93LW92
ZXJmbG93LXNjcm9sbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY3NGE3YTIxNDA4YzhhZWY0NWZiYWVkODY1
ZjU5ZjdlYTkzYjgxZTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQt
YXV0b3NpemluZy93aWRlLWluLW5hcnJvdy1vdmVyZmxvdy1zY3JvbGwuaHRtbApAQCAtMCwwICsx
LDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlPgoraHRtbCB7IGZvbnQtc2l6ZTog
MTZweDsgfQorYm9keSB7IHdpZHRoOiA4MDBweDsgbWFyZ2luOiAwOyBvdmVyZmxvdy15OiBoaWRk
ZW47IH0KKzwvc3R5bGU+CisKKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAg
IHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdFbmFibGVkKHRydWUp
OworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdXaW5kb3dT
aXplT3ZlcnJpZGUoMzIwLCA0ODApOworfSBlbHNlIGlmICh3aW5kb3cuY29uc29sZSAmJiBjb25z
b2xlLndhcm4pIHsKKyAgICBjb25zb2xlLndhcm4oIlRoaXMgdGVzdCBkZXBlbmRzIG9uIHRoZSBU
ZXh0IEF1dG9zaXppbmcgc2V0dGluZyBiZWluZyB0cnVlLCBzbyBydW4gaXQgaW4gRHVtcFJlbmRl
clRyZWUsIG9yIG1hbnVhbGx5IGVuYWJsZSBUZXh0IEF1dG9zaXppbmcsIGFuZCBlaXRoZXIgdXNl
IGEgbW9iaWxlIGRldmljZSB3aXRoIDMyMHB4IGRldmljZS13aWR0aCAobGlrZSBOZXh1cyBTIG9y
IGlQaG9uZSksIG9yIGRlZmluZSBIQUNLX0ZPUkNFX1RFWFRfQVVUT1NJWklOR19PTl9ERVNLVE9Q
LiIpOworfQorPC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJ3aWR0
aDogNDAwcHgiPgorICA8ZGl2IHN0eWxlPSJvdmVyZmxvdy14OiBzY3JvbGwiPgorICAgIDxkaXYg
c3R5bGU9IndpZHRoOiA4MDBweCI+CisgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3Np
emVkIHRvIDIwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDQwMC8zMjApLCBzaW5jZSB0aGlz
IGlzIHBhcnQgb2YgdGhlIHJvb3QgY2x1c3Rlciwgd2hvc2UgdGV4dCBkZXNjZW5kYW50cyBhcmUg
YWxsIGNvbnRhaW5lZCB3aXRoaW4gdGhlIDQwMHB4IHdpZGUgZ3JhbmRwYXJlbnQgb2YgdGhpcyBk
aXYuPGJyPgorICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIg
YWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFi
b3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCisgICAgPC9kaXY+CisgIDwvZGl2PgorCisgIDxk
aXY+CisgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDIwcHggY29tcHV0
ZWQgZm9udCBzaXplICgxNiAqIDQwMC8zMjApLjxicj4KKyAgICAgICAgTG9yZW0gaXBzdW0gZG9s
b3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9k
IHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLgorICA8
L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176512</attachid>
            <date>2012-11-28 10:19:37 -0800</date>
            <delta_ts>2012-11-28 10:55:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102562-20121128181711.patch</filename>
            <type>text/plain</type>
            <size>216632</size>
            <attacher name="Anton Vayvod">avayvod</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1OTIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjkyYjcxNTM2Y2ZlNDZm
OWNjY2VlMzI4YjkxM2UxODE1Nzg4NDc5Yi4uN2M1OTc2MmYwOWYyZjM1M2Y1NTBlOTI5ODc5YzMy
ODlhMzE4ZGM2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTExLTI3ICBBbnRv
biBWYXl2b2QgIDxhdmF5dm9kQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0IEF1dG9zaXpp
bmc6IENsdXN0ZXJzIHNob3VsZCB1c2Ugd2lkdGggb2YgTENBIG9mIHRoZWlyIHRleHQgbm9kZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjU2Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1hbnkgcGFn
ZXMgc2V0IGEgbWF4LXdpZHRoIG9uIHRoZWlyIGNvbnRlbnQuIFNvIGVzcGVjaWFsbHkgZm9yIHRo
ZQorICAgICAgICBSZW5kZXJWaWV3LCBpbnN0ZWFkIG9mIGp1c3QgdGFraW5nIHRoZSB3aWR0aCBv
ZiB8Y2x1c3Rlcnwgd2UgZmluZAorICAgICAgICB0aGUgbG93ZXN0IGNvbW1vbiBhbmNlc3RvciBv
ZiB0aGUgZmlyc3QgYW5kIGxhc3QgZGVzY2VuZGFudCB0ZXh0IG5vZGUgb2YKKyAgICAgICAgdGhl
IGNsdXN0ZXIgKGkuZS4gdGhlIGRlZXBlc3Qgd3JhcHBlciBibG9jayB0aGF0IGNvbnRhaW5zIGFs
bCB0aGUgdGV4dCksCisgICAgICAgIGFuZCB1c2UgaXRzIHdpZHRoIGluc3RlYWQuCisKKyAgICAg
ICAgVGVzdHM6IGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWFu
ZC1jbHVzdGVyLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0
ZXItd2l0aC1uYXJyb3ctbGNhLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC1hdXRvc2l6
aW5nL2NsdXN0ZXItd2l0aC13aWRlLWxjYS5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQt
YXV0b3NpemluZy9saXN0LWl0ZW0tb3V0LW9mLWZsb3cuaHRtbAorICAgICAgICAgICAgICAgZmFz
dC90ZXh0LWF1dG9zaXppbmcvd2lkZS1pbi1uYXJyb3ctb3ZlcmZsb3ctc2Nyb2xsLmh0bWwKKwor
ICAgICAgICAqIHJlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRleHRBdXRvc2l6ZXI6OnByb2Nlc3NDbHVzdGVyKTogdXNlIHRleHQgbm9kZXMgTENBIGluc3Rl
YWQgb2YgY2x1c3RlciBmb3Igd2lkdGggY2FsY3VsYXRpb24KKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRBdXRvc2l6ZXI6OmlzQXV0b3NpemluZ0NvbnRhaW5lcik6IGxpc3QgaXRlbXMgdGhhdCBhcmUg
b3V0IG9mIHBhcmVudCBsaXN0IGVsZW1lbnQncyBmbG93IGFyZSB2YWxpZCBjb250YWluZXJzICh0
aGF0IHRoZXJlZm9yZSBiZWNvbWUgY2x1c3RlcnMgaW4gaXNBdXRvc2l6aW5nQ2x1c3RlcikKKyAg
ICAgICAgKFdlYkNvcmU6OlRleHRBdXRvc2l6ZXI6OmZpbmREZWVwZXN0QmxvY2tDb250YWluaW5n
QWxsVGV4dCk6IHNlYXJjaGVzIGZvciBMQ0Egb2YgdGV4dCBub2RlcyBpZ25vcmluZyBkZXNjZW5k
YW50IGNsdXN0ZXJzCisgICAgICAgIChXZWJDb3JlOjpUZXh0QXV0b3NpemVyOjpmaW5kRmluYWxU
ZXh0TGVhZk5vdEluQ2x1c3Rlcik6IHNlYXJjaGVzIGZvciB0aGUgZmlyc3Qgb3IgdGhlIGxhc3Qg
KGRlcGVuZGluZyBvbiBzcGVjaWZpZWQgZGlyZWN0aW9uKSB0ZXh0IGxlYWYgbm9kZSBpbi1vcmRl
ciBpZ25vcmluZyBhbnkgZGVzY2VuZGFudCBjbHVzdGVycworICAgICAgICAoV2ViQ29yZTo6VGV4
dEF1dG9zaXplcjo6Zmlyc3RDaGlsZEluVHJhdmVyc2FsRGlyZWN0aW9uKTogaGVscGZ1bCB3cmFw
cGVyIGFyb3VuZCBmaXJzdC9sYXN0Q2hpbGQgbWV0aG9kcyBvZiBSZW5kZXJPYmplY3QKKyAgICAg
ICAgKFdlYkNvcmU6OlRleHRBdXRvc2l6ZXI6Om5leHRTaWJsaW5nSW5UcmF2ZXJzYWxEaXJlY3Rp
b24pOiBoZWxwZnVsIHdyYXBwZXIgYXJvdW5kIG5leHQvcHJldmlvdXNTaWJsaW5nIG1ldGhvZHMg
b2YgUmVuZGVyT2JqZWN0CisgICAgICAgICogcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuaDogbmV3
IHByaXZhdGUgbWV0aG9kcyBkZWNsYXJhdGlvbnMgYW5kIGFuIGVudW0gZm9yIHRyZWUgdHJhdmVy
c2FsIGRpcmVjdGlvbi4KKwogMjAxMi0xMS0yNyAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHdpbiBjb21waWxlIGZpeCB0YWtlIDIuCkBAIC0z
NSw3ICs2Myw3IEBACiAKICAgICAgICAgRW5zdXJlcyB0aGF0IHRoZSBzdXNwZW5zaW9uIHNjb3Bl
IGhhcyBnb25lIG91dCBvZiBzY29wZSBiZWZvcmUgY2FsbGluZyBpbnRvCiAgICAgICAgIHJlc3Vt
ZVBvc3RBdHRhY2hDYWxsYmFja3MoKS4KLSAgICAgICAgCisKICAgICAgICAgVGVzdDogZmFzdC9k
b20vYWRvcHQtbm9kZS1jcmFzaC0yLmh0bWwKIAogICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoK
QEAgLTI4OCw3ICszMTYsNyBAQAogICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CiAgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6RG9jdW1lbnQpOiBSZW1vdmVkIGNvZGUgZm9yIG1fY29sbGVj
dGlvbiBzaW5jZSBpdCBoYXMgYmVlbiByZW1vdmVkLgogICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnQ6On5Eb2N1bWVudCk6IERpdHRvLgotICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlZ2lz
dGVyTm9kZUxpc3QpOiBSZW5hbWVkLiAKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZWdp
c3Rlck5vZGVMaXN0KTogUmVuYW1lZC4KICAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp1bnJl
Z2lzdGVyTm9kZUxpc3QpOiBEaXR0by4KICAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjplbnN1
cmVDYWNoZWRDb2xsZWN0aW9uKTogUmVuYW1lZCBmcm9tIGNhY2hlZENvbGxlY3Rpb24gdG8gbWF0
Y2ggdGhlIGNvbnZldGlvbgogICAgICAgICB1c2VkIGVsc2V3aGVyZS4gQWxzbyB1c2UgTm9kZUxp
c3ROb2RlRGF0YTo6YWRkQ2FjaGVXaXRoQXRvbWljTmFtZSBub3cgdGhhdCBtX2NvbGxlY3Rpb24g
aXMgZ29uZS4KQEAgLTQwNSw3ICs0MzMsNyBAQAogCiAgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2EvUGxhdGZvcm1DQUxheWVyLmg6CiAgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5
ZXI6OnVzZXNUaWxlQ2FjaGVMYXllcik6Ci0gICAgICAgIChQbGF0Zm9ybUNBTGF5ZXIpOiAKKyAg
ICAgICAgKFBsYXRmb3JtQ0FMYXllcik6CiAgICAgICAgIEFkZGluZyBpbiBwbGF0Zm9ybSBzcGVj
aWZpYyBtZXRob2QgZm9yIFdpbmRvd3MgdGhhdCByZXR1cm5zIGZhbHNlIGZvciB0aGlzIG1ldGhv
ZC4KIAogMjAxMi0xMS0yNyAgQ2hyaXN0b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpAaW50
ZWwuY29tPgpAQCAtNDc5LDcgKzUwNyw3IEBACiAKICAgICAgICAgTGVhZGluZyBub24tYnJlYWtp
bmcgc3BhY2UgaW4gYSB0ZXh0IHJ1biBzaG91bGQgYWx3YXlzIGdldCB3b3JkLXNwYWNpbmcgYXBw
bGllZC4gV2hlbiBSZW5kZXJUZXh0CiAgICAgICAgIGNhbGN1bGF0ZXMgdGhlIHByZWZlcnJlZCB3
aXRoIG9mIGEgcnVuIG9mIHRleHQgaXQgYnJlYWtzIGl0IHVwIGludG8gd29yZCBzZWdtZW50cyB0
aGF0IGNvbnRhaW4KLSAgICAgICAgbm8gYnJlYWtpbmcgc3BhY2VzIGFuZCBjYWxjdWxhdGVzIHRo
ZSB3aWR0aCBvZiBlYWNoLiBTbyB3aGVuIGNhbGN1bGF0aW5nIHRoZSB3aWR0aCBvZiAnJm5ic3A7
YicgCisgICAgICAgIG5vIGJyZWFraW5nIHNwYWNlcyBhbmQgY2FsY3VsYXRlcyB0aGUgd2lkdGgg
b2YgZWFjaC4gU28gd2hlbiBjYWxjdWxhdGluZyB0aGUgd2lkdGggb2YgJyZuYnNwO2InCiAgICAg
ICAgIGl0IG5lZWRzIHRvIGFkZCB3b3JkLXNwYWNpbmcgdG8gdGhlIGxlYWRpbmcgbm9uLWJyZWFr
aW5nIHNwYWNlIGFzIGl0IGRvZXMgbm90IGdldCBjb2xsYXBzZWQgYXdheS4KIAogICAgICAgICBU
ZXN0OiBmYXN0L3RleHQvd29yZC1zcGFjZS1uYnNwLmh0bWwKQEAgLTk1NSw3ICs5ODMsNyBAQAog
CiAgICAgICAgIFJldmlld2VkIGJ5IERhdmUgSHlhdHQuCiAKLSAgICAgICAgTW92ZSB0aGUgaGFu
ZGxpbmcgb2YgY3VsbGVkIGlubGluZXMgZnJvbSBIaXRUZXN0UmVzdWx0OjphZGROb2RlVG9SZWN0
QmFzZWRUZXN0UmVzdWx0IHRvIAorICAgICAgICBNb3ZlIHRoZSBoYW5kbGluZyBvZiBjdWxsZWQg
aW5saW5lcyBmcm9tIEhpdFRlc3RSZXN1bHQ6OmFkZE5vZGVUb1JlY3RCYXNlZFRlc3RSZXN1bHQg
dG8KICAgICAgICAgSW5saW5lRmxvd0JveDo6bm9kZUF0UG9pbnQuIFRoaXMgbWFrZXMgaXQgcG9z
c2libGUgdG8gZml4IGEgbnVtYmVyIG9mIGJ1Z3Mgd2l0aCBob3cKICAgICAgICAgY3VsbGVkIGlu
bGluZXMgd2VyZSBoYW5kbGVkLiBUaGV5IGFyZSBub3cgY2hlY2tlZCBhZnRlciBhbGwgdGhlaXIg
Y2hpbGRyZW4sIGFuZCBtYXkKICAgICAgICAgdGVybWluYXRlIGFyZWEtYmFzZWQgaGl0LXRlc3Rp
bmcgaWYgdGhleSBjb250YWluIHRoZSB3aG9sZSBhcmVhLgpAQCAtMjI1OSw3ICsyMjg3LDcgQEAK
ICAgICAgICAgdXBkYXRlTGF5ZXJQb3NpdGlvbnNBZnRlclNjcm9sbCgpIHByZXZpb3VzbHkgdW5j
b25kaXRpb25hbGx5IGNsZWFyZWQgY2xpcAogICAgICAgICByZWN0cywgYW5kIHJlY29tcHV0ZWQg
cmVwYWludCByZWN0cyB0b28gb2Z0ZW4uIFJlY29tcHV0aW5nIGJvdGggb2YgdGhlc2UKICAgICAg
ICAgY2FuIGJlIHZlcnkgZXhwZW5zaXZlLCBhcyB0aGV5IGludm9sdmUgdHJlZSB3YWxrcyB1cCB0
byB0aGUgcm9vdC4KLSAgICAgICAgCisKICAgICAgICAgV2UgY2FuIG9wdGltaXplIGxheWVyIHVw
ZGF0ZXMgYWZ0ZXIgZG9jdW1lbnQgc2Nyb2xsaW5nIGJ5IG9ubHkgY2xlYXJpbmcgY2xpcAogICAg
ICAgICByZWN0cywgYW5kIHJlY29tcHV0aW5nIHJlcGFpbnQgcmVjdHMsIGlmIHdlIGVuY291bnRl
ciBhIGZpeGVkLSBvciBzdGlja3ktcG9zaXRpb24KICAgICAgICAgZWxlbWVudC4gRm9yIG92ZXJm
bG93IHNjcm9sbCwgd2UgaGF2ZSB0byBjbGVhciBjbGlwIHJlY3RzIGFuZCByZWNvbXB1dGUgcmVw
YWludCByZWN0cy4KQEAgLTIzNzAsMTMgKzIzOTgsMTMgQEAKIAogMjAxMi0xMS0yNiAgVGFtYXMg
Q3plbmUgIDx0Y3plbmVAaW5mLnUtc3plZ2VkLmh1PgogCi0gICAgICAgIE9wZW5DTCB2ZXJzaW9u
IG9mIFNvdXJjZUFscGhhLCBTb3VyY2VHcmFwaGljcyBhbmQgRkVUdXJidWxlbmNlIGZpbHRlciBl
ZmZlY3RzIAorICAgICAgICBPcGVuQ0wgdmVyc2lvbiBvZiBTb3VyY2VBbHBoYSwgU291cmNlR3Jh
cGhpY3MgYW5kIEZFVHVyYnVsZW5jZSBmaWx0ZXIgZWZmZWN0cwogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTk4MjkKIAogICAgICAgICBSZXZpZXdlZCBi
eSBab2x0YW4gSGVyY3plZy4KIAotICAgICAgICBUaGlzIHBhdGNoIGNvbnRhaW5zIHRoZSBPcGVu
Q0wgaW1wbGVtZW50YXRpb24gb2YgU291cmNlQWxwaGEsIFNvdXJjZUdyYXBoaWMsIEZFVHVyYnVs
ZW5jZSBhbmQgYSBzaW1wbGUgT3BlbkNMIGVudmlyb25tZW50LiAKLSAgICAgICAgQXQgdGhlIG1v
bWVudCBvbmx5IHRoZSBRdCBidWlsZCBzeXN0ZW0gaXMgc3VwcG9ydGVkIAorICAgICAgICBUaGlz
IHBhdGNoIGNvbnRhaW5zIHRoZSBPcGVuQ0wgaW1wbGVtZW50YXRpb24gb2YgU291cmNlQWxwaGEs
IFNvdXJjZUdyYXBoaWMsIEZFVHVyYnVsZW5jZSBhbmQgYSBzaW1wbGUgT3BlbkNMIGVudmlyb25t
ZW50LgorICAgICAgICBBdCB0aGUgbW9tZW50IG9ubHkgdGhlIFF0IGJ1aWxkIHN5c3RlbSBpcyBz
dXBwb3J0ZWQKICAgICAgICAgfjN4IHNwZWVkLXVwIChkZXBlbmRpbmcgb24gaGFyZHdhcmUgY29u
ZmlndXJhdGlvbikKIAogICAgICAgICAqIFRhcmdldC5wcmk6CkBAIC0yMzkxLDcgKzI0MTksNyBA
QAogICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0Ojphc0ltYWdlQnVmZmVyKToKICAgICAg
ICAgKFdlYkNvcmU6OkZpbHRlckVmZmVjdDo6b3BlbkNMSW1hZ2VUb0ltYWdlQnVmZmVyKTogR2V0
cyB0aGUgcmVzdWx0IG9mIHRoZSBmaWx0ZXIgZnJvbSB0aGUgT3BlbkNMIGRldmljZSBhbmQgY29u
dmVydHMgaXQgdG8gSW1hZ2VCdWZmZXIgdHlwZS4KICAgICAgICAgKFdlYkNvcmU6OkZpbHRlckVm
ZmVjdDo6Y3JlYXRlT3BlbkNMSW1hZ2VSZXN1bHQpOiBBbGxvY2F0ZXMgbWVtb3J5IG9uIE9wZW5D
TCBkZXZpY2UgYW5kIGlmIGl0IGdldHMgYW4gaW1hZ2UgYXMgYSBwYXJhbWV0ZXIsIGl0IHVwbG9h
ZHMgdGhlIGltYWdlIHRvIHRoZSBPcGVuQ0wgZGV2aWNlLgotICAgICAgICAoV2ViQ29yZTo6Rmls
dGVyRWZmZWN0Ojp0cmFuc2Zvcm1SZXN1bHRDb2xvclNwYWNlKTogCisgICAgICAgIChXZWJDb3Jl
OjpGaWx0ZXJFZmZlY3Q6OnRyYW5zZm9ybVJlc3VsdENvbG9yU3BhY2UpOgogICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0Lmg6CiAgICAgICAgIChGaWx0ZXJF
ZmZlY3QpOgogICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0OjpvcGVuQ0xJbWFnZSk6CkBA
IC0yNjQ0LDcgKzI2NzIsNyBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCiAK
LSAgICAgICAgQ2hhbmdlIEhpdFRlc3RSZXN1bHQgZnJvbSBiZWluZyBhIEhpdFRlc3RMb2NhdGlv
biB0byBoYXZpbmcgYSBIaXRUZXN0TG9jYXRpb24uIAorICAgICAgICBDaGFuZ2UgSGl0VGVzdFJl
c3VsdCBmcm9tIGJlaW5nIGEgSGl0VGVzdExvY2F0aW9uIHRvIGhhdmluZyBhIEhpdFRlc3RMb2Nh
dGlvbi4KICAgICAgICAgQSByZXN1bHQgb2YgYSB0ZXN0IHNob3VsZCBub3QgYmUgYSBzcGVjaWFs
IGNhc2Ugb2YgdGhlIGxvY2F0aW9uIG9mIHRoZSB0ZXN0LgogCiAgICAgICAgIE5vIGNoYW5nZSBp
biBmdW5jdGlvbmFsaXR5LiBObyBuZXcgdGVzdHMuCkBAIC0zMjc4LDggKzMzMDYsOCBAQAogICAg
ICAgICBXaGVuIGEgYmxvY2sgY2hhbmdlcyBwb3NpdGlvbiBmcm9tIHJlbGF0aXZlIHRvIHN0YXRp
YyBpdCBpcyBubyBsb25nZXIgdGhlIGNvbnRhaW5pbmcgYmxvY2sgZm9yIGFueQogICAgICAgICBw
b3NpdGlvbmVkIG9iamVjdHMgaXQgbWF5IGhhdmUuIElmIGFueSBvZiB0aG9zZSBwb3NpdGlvbmVk
IG9iamVjdHMgYWN0dWFsbHkgaGF2ZSBhIHBvc2l0aW9uIHNwZWNpZmllZAogICAgICAgICB0aGV5
IGFyZSBnb2luZyB0byBuZWVkIGEgbGF5b3V0IGFzIHRoZWlyIG5ldyBjb250YWluaW5nIGJsb2Nr
IHdpbGwgbGlrZWx5IGhhdmUgYSBkaWZmZXJlbnQgbG9jYXRpb24gdGhleQotICAgICAgICBuZWVk
IHRvIG9mZnNldCBmcm9tLiBQb3NpdGlvbmVkIG9iamVjdHMgd2l0aG91dCBhIHNwZWNpZmllZCBw
b3NpdGlvbiBhbHdheXMgZ2V0IGEgbGF5b3V0IGFueXdheSAKLSAgICAgICAgaW4gbGF5b3V0UG9z
aXRpb25lZE9iamVjdHMoKSBzbyBubyBuZWVkIHRvIHdvcnJ5IGFib3V0IHRoZW0gaW4gdGhpcyBz
aXR1YXRpb24uIAorICAgICAgICBuZWVkIHRvIG9mZnNldCBmcm9tLiBQb3NpdGlvbmVkIG9iamVj
dHMgd2l0aG91dCBhIHNwZWNpZmllZCBwb3NpdGlvbiBhbHdheXMgZ2V0IGEgbGF5b3V0IGFueXdh
eQorICAgICAgICBpbiBsYXlvdXRQb3NpdGlvbmVkT2JqZWN0cygpIHNvIG5vIG5lZWQgdG8gd29y
cnkgYWJvdXQgdGhlbSBpbiB0aGlzIHNpdHVhdGlvbi4KIAogICAgICAgICBUZXN0OiBmYXN0L2Js
b2NrL2Fic3Bvcy1jaGlsZC1jb250YWluZXItY2hhbmdlcy1mcm9tLXJlbGF0aXZlLXRvLXN0YXRp
Yy1leHBlY3RlZC5odG1sCiAKQEAgLTMzMTAsMTQgKzMzMzgsMTQgQEAKICAgICAgICAgKFdlYkNv
cmUpOgogICAgICAgICAoV2ViQ29yZTo6Q2hhcmFjdGVyRGF0YTo6cmVuZGVyZXJJc05lZWRlZCk6
CiAgICAgICAgIChXZWJDb3JlOjpDaGFyYWN0ZXJEYXRhOjpjcmVhdGVSZW5kZXJlcik6Ci0gICAg
ICAgIAorCiAgICAgICAgICAgICBPbmx5IFRleHQgc3ViY2xhc3Mgb2YgQ2hhcmFjdGVyRGF0YSBj
YW4gaGF2ZSByZW5kZXJlcnMuCiAKICAgICAgICAgKiBkb20vQ2hhcmFjdGVyRGF0YS5oOgogICAg
ICAgICAoQ2hhcmFjdGVyRGF0YSk6CiAgICAgICAgICogZG9tL0NvbnRhaW5lck5vZGUuaDoKICAg
ICAgICAgKFdlYkNvcmU6OkNvbnRhaW5lck5vZGU6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIp
OgotICAgICAgICAKKwogICAgICAgICAgICAgTW92ZSBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVy
IGZyb20gTm9kZSB0byBDb250YWluZXJOb2RlLgogCiAgICAgICAgIChDb250YWluZXJOb2RlKToK
QEAgLTMzMjcsNyArMzM1NSw3IEBACiAgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjphdHRhY2gp
OgogICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcik6
CiAgICAgICAgICogZG9tL0VsZW1lbnQuaDoKLSAgICAgICAgCisKICAgICAgICAgICAgIE1vdmUg
cmVuZGVyZXJJc05lZWRlZCBhbmQgY3JlYXRlUmVuZGVyZXIgZnJvbSBOb2RlIHRvIEVsZW1lbnQu
CiAKICAgICAgICAgKEVsZW1lbnQpOgpAQCAtMzMzOSw3ICszMzY3LDcgQEAKICAgICAgICAgKiBk
b20vTm9kZVJlbmRlcmluZ0NvbnRleHQuY3BwOgogICAgICAgICAoV2ViQ29yZTo6Tm9kZVJlbmRl
cmluZ0NvbnRleHQ6OmNyZWF0ZVJlbmRlcmVyRm9yRWxlbWVudElmTmVlZGVkKToKICAgICAgICAg
KFdlYkNvcmU6Ok5vZGVSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVSZW5kZXJlckZvclRleHRJZk5l
ZWRlZCk6Ci0gICAgICAgIAorCiAgICAgICAgICAgICBTZXBhcmF0ZSB0aGUgRWxlbWVudCBhbmQg
VGV4dCByZW5kZXJlciBjcmVhdGlvbiBwYXRocy4gQm90aCBhcmUgbGVzcyBicmFuY2h5LgogICAg
ICAgICAgICAgVGhlIFRleHQgcGF0aCBpcyBtdWNoIHNpbXBsZXIgYW5kIGF2b2lkcyBhIGJ1bmNo
IG9mIHZpcnR1YWwgY2FsbHMuCiAKQEAgLTMzNTQsNyArMzM4Miw3IEBACiAgICAgICAgIChXZWJD
b3JlOjpUZXh0OjphdHRhY2gpOgogICAgICAgICAoV2ViQ29yZTo6VGV4dDo6dXBkYXRlVGV4dFJl
bmRlcmVyKToKICAgICAgICAgKiBkb20vVGV4dC5oOgotICAgICAgICAKKwogICAgICAgICAgICAg
ICAgIEFkZCBub24tdmlydHVhbCBUZXh0IHNwZWNpZmljIGZ1bmN0aW9ucy4KIAogICAgICAgICAo
V2ViQ29yZSk6CkBAIC0zNDg4LDcgKzM1MTYsNyBAQAogICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWVFZmw6OlRoZW1lUGFydENhY2hlRW50cnk6OmNyZWF0ZSk6IFJldHVybgogICAgICAgICBh
IHNtYXJ0IHBvaW50ZXIgaW5zdGVhZCBvZiBhIHJhdyBwb2ludGVyLgogICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGhlbWVFZmw6OmdldFRoZW1lUGFydEZyb21DYWNoZSk6Ci0gICAgICAgIChXZWJD
b3JlOjpSZW5kZXJUaGVtZUVmbDo6Y2xlYXJUaGVtZVBhcnRDYWNoZSk6IFJlbmFtZSAKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lRWZsOjpjbGVhclRoZW1lUGFydENhY2hlKTogUmVuYW1l
CiAgICAgICAgIGZsdXNoVGhlbWVQYXJ0Q2FjaGUgdG8gY2xlYXJUaGVtZVBhcnRDYWNoZSBmb3Ig
Y2xhcml0eS4KICAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lRWZsOjpsb2FkVGhlbWUpOgog
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVFZmw6OlJlbmRlclRoZW1lRWZsKToKQEAgLTM2
ODYsNyArMzcxNCw3IEBACiAgICAgICAgIFJldmlld2VkIGJ5IFN0ZXBoZW4gV2hpdGUuCiAKICAg
ICAgICAgQWRkaW5nIGhhc0FscGhhIG1ldGhvZCB0byBhbGwgY2xhc3NlcyBkZXJ2aXZlZCBmcm9t
IENTU0ltYWdlVmFsdWUgYW5kCi0gICAgICAgIFN0eWxlSW1hZ2UsIGluIG9yZGVyIHRvIHN1cHBv
cnQgb2NjbHVzaW9uIHRlc3RpbmcuIAorICAgICAgICBTdHlsZUltYWdlLCBpbiBvcmRlciB0byBz
dXBwb3J0IG9jY2x1c2lvbiB0ZXN0aW5nLgogICAgICAgICBUaGlzIGFsbG93cyB0aGUgRmlsbExh
eWVyIHJlY3Vyc2lvbiB0byBzdG9wIGVhcmx5IHdoZW4gYW4gb3BhcXVlIGxheWVyCiAgICAgICAg
IGlzIGVuY291bnRlcmVkIHdoaWxlIGFwcGx5aW5nIGEgQ1NTIGJhY2tncm91bmQgc3R5bGUuIFRo
aXMgYWxzbyBhbGxvd3MKICAgICAgICAgdGhlIGVsaW1pbmF0aW9uIG9mIGJhY2tncm91bmQgY29s
b3IgYXBwbGljYXRpb24gd2hlbiB0aGUgYmFja2dyb3VuZCBpcwpAQCAtNDUxMiwxMyArNDU0MCwx
MyBAQAogICAgICAgICAqIGRvbS9UZXh0LmNwcDoKICAgICAgICAgKFdlYkNvcmUpOgogICAgICAg
ICAoV2ViQ29yZTo6aXNTVkdTaGFkb3dUZXh0KToKLSAgICAgICAgCisKICAgICAgICAgICAgIEZp
Z3VyZSBvdXQgaWYgd2UgYXJlIGEgU1ZHU2hhZG93VGV4dCBmcm9tIHRoZSBjb250ZXh0LgogCiAg
ICAgICAgIChXZWJDb3JlOjppc1NWR1RleHQpOgogICAgICAgICAoV2ViQ29yZTo6VGV4dDo6Y3Jl
YXRlUmVuZGVyZXIpOgogICAgICAgICAoV2ViQ29yZTo6VGV4dDo6cmVjYWxjVGV4dFN0eWxlKToK
LSAgICAgICAgCisKICAgICAgICAgICAgIEZhY3RvciBTVkcgc3BlY2lhbCBjYXNlIHRlc3Rpbmcg
dG8gZnVuY3Rpb25zLgogCiAgICAgICAgICogZG9tL1RleHQuaDoKQEAgLTQ2NjEsNyArNDY4OSw3
IEBACiAgICAgICAgIChXZWJDb3JlOjpOb2RlOjpoYXNOYW1lKToKICAgICAgICAgKFdlYkNvcmU6
Ok5vZGU6OmlzRWRpdGluZ1RleHQpOgogICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6c2V0SGFzTmFt
ZSk6Ci0gICAgICAgIAorCiAgICAgICAgICAgICBVc2UgdGhlIHNhbWUgYml0IGFzIGhhc05hbWUo
KSB3aGljaCBpcyBFbGVtZW50IHNwZWNpZmljLgogCiAgICAgICAgICogZG9tL1RleHQuY3BwOgpA
QCAtNTczNiw3ICs1NzY0LDcgQEAKIAogICAgICAgICBObyBuZXcgdGVzdHMsIHJlZmFjdG9yaW5n
LgogCi0gICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbTogTW92ZSBDYWNoZWRTVkdEb2N1bWVu
dFJlZmVyZW5jZSB0byBpdCdzIHByb3BlciBsb2NhdGlvbiBhbmQgaXQgdG8gdGhlIHByb2plY3Rz
LiAKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOiBNb3ZlIENhY2hlZFNWR0RvY3VtZW50
UmVmZXJlbmNlIHRvIGl0J3MgcHJvcGVyIGxvY2F0aW9uIGFuZCBpdCB0byB0aGUgcHJvamVjdHMu
CiAgICAgICAgICogV2ViQ29yZS5neXBpOgogICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qOgogICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
QEAgLTYwMTAsNyArNjAzOCw3IEBACiAgICAgICAgIFJldmlld2VkIGJ5IE9qYW4gVmFmYWkuCiAK
ICAgICAgICAgcGFyZW50UmVuZGVyZXIsIG5leHRSZW5kZXJlciBhbmQgcHJldmlvdXNSZW5kZXJl
ciBhbGwgaGFuZGxlIGZsb3cKLSAgICAgICAgdGhyZWFkcyBhdXRvbWF0aWNhbGx5IHNvIHRoZXJl
J3Mgbm8gcmVhc29uIHRvIGR1cGxpY2F0ZSB0aGUgY2hlY2sgaW4gCisgICAgICAgIHRocmVhZHMg
YXV0b21hdGljYWxseSBzbyB0aGVyZSdzIG5vIHJlYXNvbiB0byBkdXBsaWNhdGUgdGhlIGNoZWNr
IGluCiAgICAgICAgIGNyZWF0ZVJlbmRlcmVySWZOZWVkZWQuCiAKICAgICAgICAgTm90ZSB0aGF0
IHdoaWxlIHRoZXNlIG1ldGhvZHMgZmlyc3QgY2hlY2sgdGhlIG5vZGUgZm9yIGEgcmVuZGVyZXIg
YW5kCkBAIC02MDg5LDcgKzYxMTcsNyBAQAogICAgICAgICBNYW5pcHVsYXRpb24gYnkgZWRpdGlu
ZyBjb2RlIG1heSBjYXVzZSBhbiBlbGVtZW50IHRvIGhhdmUgbXV0YWJsZSBpbmxpbmUgc3R5bGUs
IGFuZCB0aGlzIGlzIGZpbmUuCiAKICAgICAgICAgQ2hhbmdlIHRoZSBhc3NlcnRpb24gdG8gY29u
ZmlybSB0aGF0IHRoZSBpbmxpbmUgc3R5bGUgZG9lc24ndCBoYXZlIGEgQ1NTT00gd3JhcHBlciBh
dHRhY2hlZCwKLSAgICAgICAgd2hpY2ggaXMgd2hlcmUgcmVhbCBwcm9ibGVtcyB3b3VsZCBoYXBw
ZW4uIAorICAgICAgICB3aGljaCBpcyB3aGVyZSByZWFsIHByb2JsZW1zIHdvdWxkIGhhcHBlbi4K
IAogICAgICAgICBGaXhlcyBhbiBhc3NlcnRpb24gb24gZWRpdGluZy91bmRvL3JlcGxhY2UtYnkt
c3Bhbi10aGVuLXJlbW92ZS5odG1sCiAKQEAgLTYzODMsNyArNjQxMSw3IEBACiAgICAgICAgICog
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKICAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVs
ZW1lbnQ6OnNldFJlYWR5U3RhdGUpOiBDYWxsIHByb2Nlc3NJbmJhbmRUZXh0VHJhY2tzIHdoZW4g
cmVhZHlTdGF0ZSByZWFjaGVzCiAgICAgICAgICAgICBIQVZFX01FVEFEQVRBCi0gICAgICAgIChX
ZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpwcm9jZXNzSW5iYW5kVGV4dFRyYWNrcyk6IEZldGNo
IHRoZSBpbi1iYW5kIHRleHQgdHJhY2tzIGZyb20gdGhlIAorICAgICAgICAoV2ViQ29yZTo6SFRN
TE1lZGlhRWxlbWVudDo6cHJvY2Vzc0luYmFuZFRleHRUcmFja3MpOiBGZXRjaCB0aGUgaW4tYmFu
ZCB0ZXh0IHRyYWNrcyBmcm9tIHRoZQogICAgICAgICAgICAgbWVkaWEgcGxheWVyIGFuZCBwcm9j
ZXNzZXMgdGhlbS4KICAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKIApAQCAtNjQy
Nyw3ICs2NDU1LDcgQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KIAot
ICAgICAgICBBZGRpbmcgdGhlIGRlcGVuZGVuY2llcyB0byBXZWJLaXQxIGlzIHRvbyBsYXRlLCBi
ZWNhdXNlIGxpbmtpbmcgd2lsbCBoYXZlIGFscmVhZHkgZmFpbGVkLiBBbHNvIG1ha2Ugc3VyZSB0
aGF0IAorICAgICAgICBBZGRpbmcgdGhlIGRlcGVuZGVuY2llcyB0byBXZWJLaXQxIGlzIHRvbyBs
YXRlLCBiZWNhdXNlIGxpbmtpbmcgd2lsbCBoYXZlIGFscmVhZHkgZmFpbGVkLiBBbHNvIG1ha2Ug
c3VyZSB0aGF0CiAgICAgICAgIHRoZSB3ZSBsaW5rIGFnYWluc3QgT3BlbkdMRVMxIGUuZy4gZm9y
IEFuZ2xlLgogCiAgICAgICAgICogV2ViQ29yZS5wcmk6CkBAIC02NDY0LDcgKzY0OTIsNyBAQAog
ICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdExvY2F0aW9uOjpwb2ludCk6CiAgICAgICAgIChIaXRU
ZXN0UmVzdWx0KToKICAgICAgICAgICAgIEluaGVyaXRzIHByb3RlY3RlZCBub3cgZnJvbSBIaXRU
ZXN0TG9jYXRpb24gdG8gYXZvaWQgZXhwb3NpbmcgdGhlIGFtYmlndW91cwotICAgICAgICAgICAg
cG9pbnQoKSBhbmQgcm91bmRlZFBvaW50KCkgbWV0aG9kcy4gCisgICAgICAgICAgICBwb2ludCgp
IGFuZCByb3VuZGVkUG9pbnQoKSBtZXRob2RzLgogICAgICAgICAgICAgSGl0VGVzdFJlc3VsdCB3
aWxsIGJlIHNwbGl0IGNvbXBsZXRlbHkgZnJvbSBIaXRUZXN0TG9jYXRpb24gaW4gYSBsYXRlciBw
YXRjaC4KICAgICAgICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6OmlzUmVjdEJhc2VkVGVzdCk6
CiAgICAgICAgIChXZWJDb3JlOjpIaXRUZXN0UmVzdWx0Ojpwb2ludEluTWFpbkZyYW1lKToKQEAg
LTc5ODUsNyArODAxMyw3IEBACiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCiAK
ICAgICAgICAgTW92ZSB0aGUgdXNlciBzdHlsZXNoZWV0IGNvbGxlY3Rpb24gbG9naWMgZnJvbSBT
dHlsZVJlc29sdmVyIHRvIERvY3VtZW50U3R5bGVTaGVldENvbGxlY3Rpb24uCi0gICAgICAgIAor
CiAgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgogICAgICAgICAoV2ViQ29yZTo6U3R5
bGVSZXNvbHZlcjo6U3R5bGVSZXNvbHZlcik6CiAgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29s
dmVyOjpjb2xsZWN0UnVsZXNGcm9tVXNlclN0eWxlU2hlZXRzKToKQEAgLTgwMDAsMTggKzgwMjgs
MTggQEAKICAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50U3R5bGVTaGVldENvbGxlY3Rpb246OmFu
YWx5emVTdHlsZVNoZWV0Q2hhbmdlKToKICAgICAgICAgKFdlYkNvcmU6OmNvbGxlY3RBY3RpdmVT
dHlsZVNoZWV0c0Zyb21TZWFtbGVzc1BhcmVudHMpOgogICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnRTdHlsZVNoZWV0Q29sbGVjdGlvbjo6dXBkYXRlU3R5bGVSZXNvbHZlcik6Ci0gICAgICAgIAor
CiAgICAgICAgICAgICBGYWN0b3IgdGhlIFN0eWxlUmVzb2x2ZXIgdXBkYXRpbmcgY29kZSB0byBm
dW5jdGlvbi4KIAogICAgICAgICAoV2ViQ29yZSk6CiAgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dFN0eWxlU2hlZXRDb2xsZWN0aW9uOjp1cGRhdGVBY3RpdmVTdHlsZVNoZWV0cyk6Ci0gICAgICAg
IAorCiAgICAgICAgICAgICBDb2xsZWN0IHRoZSB1c2VyIHN0eWxlIHNoZWV0cy4gU29tZSByZW5h
bWluZyBhbmQgb3RoZXIgbWlub3IgcmVmYWN0b3JpbmcuCiAKICAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50U3R5bGVTaGVldENvbGxlY3Rpb246OnJlcG9ydE1lbW9yeVVzYWdlKToKICAgICAgICAg
KiBkb20vRG9jdW1lbnRTdHlsZVNoZWV0Q29sbGVjdGlvbi5oOgogICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnRTdHlsZVNoZWV0Q29sbGVjdGlvbjo6YWN0aXZlVXNlclN0eWxlU2hlZXRzKToKLSAg
ICAgICAgCisKICAgICAgICAgICAgIEFkZCBhY3RpdmVVc2VyU3R5bGVTaGVldHMgdmVjdG9yIHRo
YXQgY29udGFpbnMgYWxsIHVzZXIgc3R5bGVzaGVldHMgZnJvbSBkaWZmZXJlbnQgc291cmNlcywK
ICAgICAgICAgICAgIHNpbWlsYXIgdG8gYWN0aXZlQXV0aG9yU3R5bGVTaGVldHMuCiAKQEAgLTgy
NTIsNyArODI4MCw3IEBACiAKICAgICAgICAgU2NyaXB0IGxpbmUgbnVtYmVyIGlzIHZpc2libGUg
aW4gVGltZWxpbmUgcGFuZWwsIGhvd2V2ZXIsIG5vdCBzZWFyY2gtYWJsZS4gVGhpcyBwYXRjaCBt
YWtlcyBpdCBzZWFyY2gtYWJsZS4KIAotICAgICAgICBObyBuZXcgdGVzdHMuIAorICAgICAgICBO
byBuZXcgdGVzdHMuCiAKICAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lUGFu
ZWwuanM6CiAgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRMaXN0Um93LnByb3Rv
dHlwZS51cGRhdGUpOgpAQCAtODM1MSwxMCArODM3OSwxMCBAQAogICAgICAgICBJIHVzZSBGcmFt
ZURlc3RydWN0aW9uT2JzZXJ2ZXIgdG8gcmVmYWN0b3IgTmV0d29ya2pvYiBjb2RlLgogICAgICAg
ICBOZXR3b3JrSm9iIGlzIGluaGVyaXRpbmcgZnJvbSBGcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXIg
dG8gYmUKICAgICAgICAgYXdhcmUgb2YgZnJhbWUncyBkZXN0cm95ZWQuIFdoZW4gYSBmcmFtZSBp
cyBiZWluZyBkZXRhY2hlZCwKLSAgICAgICAgdGhlIHdpbGxEZXRhY2hQYWdlKCkgY2FuIGJlIGNh
bGxlZCBpbiB3aGljaCB3ZSBjYW4gY2FuY2VsIAorICAgICAgICB0aGUgd2lsbERldGFjaFBhZ2Uo
KSBjYW4gYmUgY2FsbGVkIGluIHdoaWNoIHdlIGNhbiBjYW5jZWwKICAgICAgICAgdGhlIGpvYi4g
VGhpcyBwYXRjaCByZXZlcnRlZCB0aGUgZml4IGZvciBSSU0gUFIxMzQyMDcgYXMgd2VsbC4KIAot
ICAgICAgICBNYW51YWxseSB0ZXN0IGlzIG9uIAorICAgICAgICBNYW51YWxseSB0ZXN0IGlzIG9u
CiAgICAgICAgICJodHRwOi8vd3d3LnJldXRlcnMuY29tL2FydGljbGUvMjAxMi8wMS8yNy91cy1n
cmVlY2UtaWRVU1RSRTgwUDBERTIwMTIwMTI3IgogICAgICAgICB3aGljaCB0cmlnZ2VycyBhIHBp
bmcgbG9hZGVyLgogCkBAIC05MDEzLDEzICs5MDQxLDEzIEBACiAgICAgICAgICogaHRtbC9IVE1M
VHJhY2tFbGVtZW50LmNwcDoKICAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmFja0VsZW1lbnQ6OkhU
TUxUcmFja0VsZW1lbnQpOiBNb3ZlIGhhc0JlZW5Db25maWd1cmVkIGRvd24gdG8gVGV4dFRyYWNr
LgogICAgICAgICAoV2ViQ29yZTo6SFRNTFRyYWNrRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOiBp
c0RlZmF1bHQgaXMgc3RvcmVkIG9uIFRleHRUcmFjay4KLSAgICAgICAgKFdlYkNvcmU6OkhUTUxU
cmFja0VsZW1lbnQ6OmVuc3VyZVRyYWNrKTogTG9hZGFibGVUZXh0VHJhY2sgY29uc3RydWN0b3Ig
ZG9lc24ndCB0YWtlIAorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyYWNrRWxlbWVudDo6ZW5zdXJl
VHJhY2spOiBMb2FkYWJsZVRleHRUcmFjayBjb25zdHJ1Y3RvciBkb2Vzbid0IHRha2UKICAgICAg
ICAgICAgICJkZWZhdWx0IiBhcmd1bWVudC4KICAgICAgICAgKiBodG1sL0hUTUxUcmFja0VsZW1l
bnQuaDoKIAogICAgICAgICAqIGh0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2suY3BwOgogICAg
ICAgICAoV2ViQ29yZTo6TG9hZGFibGVUZXh0VHJhY2s6OkxvYWRhYmxlVGV4dFRyYWNrKTogSW5p
dGlhbGl6ZSBtX2lzRGVmYXVsdCB0byBmYWxzZS4KLSAgICAgICAgKiBodG1sL3RyYWNrL0xvYWRh
YmxlVGV4dFRyYWNrLmg6IAorICAgICAgICAqIGh0bWwvdHJhY2svTG9hZGFibGVUZXh0VHJhY2su
aDoKICAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFjazo6aXNEZWZhdWx0KTogT3ZlcnJpZGUgYmFz
ZSBjbGFzcyBpbXBsZW1lbnRhdGlvbiwgYmVjYXVzZSBhIHRyYWNrIGVsZW1lbnQKICAgICAgICAg
ICAgIGNhbiBiZSBmbGFnZ2VkIGFzIGRlZmF1bHQuCiAgICAgICAgIChXZWJDb3JlOjpUZXh0VHJh
Y2s6OnNldElzRGVmYXVsdCk6IERpdHRvLgpAQCAtMTA2NTMsNyArMTA2ODEsNyBAQAogCiAgICAg
ICAgIEluamVjdGVkIHN0eWxlc2hlZXRzIGFkZGVkIGFzIFVzZXJTdHlsZUF1dGhvckxldmVsIGZh
aWwgdG8gYXBwbHkuIHIxMjk2NDQgaW1wbGljaXRseSBhc3N1bWVkIHRoYXQKICAgICAgICAgc3Vj
aCB0aGluZ3MgZG9uJ3QgZXhpc3RzIGJ1dCBvbiBDaHJvbWl1bSBhZGRVc2VyU3R5bGVTaGVldCgp
IGNvbmZ1c2luZ2x5IHVzZXMgdGhlbS4KLSAgICAgICAgCisKICAgICAgICAgVGhlIHBhdGNoIGFk
ZHMgaW5qZWN0ZWQgYXV0aG9yIHN0eWxlc2hlZXRzIHRvIERvY3VtZW50U3R5bGVTaGVldENvbGxl
Y3Rpb246OmFjdGl2ZVN0eWxlU2hlZXRzKCkuCiAgICAgICAgIEl0IGFsc28gZ2VuZXJhbGx5IGNs
ZWFucyB1cCB0aGUgY29kZSBhcm91bmQgaW5qZWN0ZWQgYW5kIHVzZXIgc3R5bGVzaGVldHMuCiAK
QEAgLTEwNzMxLDcgKzEwNzU5LDcgQEAKICAgICAgICAgUmVuZGVyTGF5ZXI6OmNvbnZlcnRUb0xh
eWVyQ29vcmRzKCkgaXMgYSBob3QgZnVuY3Rpb24gb24gcHJvZmlsZXMuCiAgICAgICAgIENoYW5n
ZSBpdCB0byBiZSBpdGVyYXRpdmUsIHJhdGhlciB0aGFuIHJlY3Vyc2l2ZSwgc28gdGhhdCB0aGUK
ICAgICAgICAgYnVsayBvZiB0aGUgZnVuY3Rpb24gY2FuIGJlIGlubGluZWQuCi0gICAgICAgIAor
CiAgICAgICAgIFdhcyB0ZXN0ZWQgd2l0aCBhc3NlcnRpb25zIGFnYWluc3QgdGhlIG9sZCBjb2Rl
IGR1cmluZyBkZXZlbG9wbWVudC4KIAogICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5j
cHA6CkBAIC0xMDc0NSw3ICsxMDc3Myw3IEBACiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkg
S29pdmlzdG8uCiAKLSAgICAgICAgU3R5bGVkRWxlbWVudCBzaXRzIGJldHdlZW4gRWxlbWVudCBh
bmQgSFRNTEVsZW1lbnQgaW4gdGhlIGluaGVyaXRhbmNlIGNoYWluLCBhbmQgYm90aCBvZiB0aG9z
ZSBhcmUgaW5saW5lLiAKKyAgICAgICAgU3R5bGVkRWxlbWVudCBzaXRzIGJldHdlZW4gRWxlbWVu
dCBhbmQgSFRNTEVsZW1lbnQgaW4gdGhlIGluaGVyaXRhbmNlIGNoYWluLCBhbmQgYm90aCBvZiB0
aG9zZSBhcmUgaW5saW5lLgogICAgICAgICBLbm9ja3MgfjAuNCUgb2Ygc2FtcGxlcyBvZmYgb2Yg
dGhlIERPTS9DcmVhdGVOb2RlcyBwZXJmb3JtYW5jZSB0ZXN0LgogCiAgICAgICAgICogZG9tL1N0
eWxlZEVsZW1lbnQuY3BwOgpAQCAtMTE0NDYsNyArMTE0NzQsNyBAQAogCiAgICAgICAgIFBhaW50
aW5nIG92ZXJsYXkgc2Nyb2xsYmFycyBpbnZvbHZlcyBhIHNlY29uZCBwYWludGluZyBwYXNzIG92
ZXIgdGhlIGVudGlyZQogICAgICAgICBSZW5kZXJMYXllciBzdWJ0cmVlIGZvciBhIGNvbXBvc2l0
aW5nIGxheWVyLCB3aGljaCBjYW4gYmUgdmVyeSBleHBlbnNpdmUuCi0gICAgICAgIAorCiAgICAg
ICAgIEF2b2lkIHRoaXMgd2hlbiBwb3NzaWJsZSBieSBkZXRlY3Rpbmcgd2hlbiBvdmVyZmxvdyBj
b250cm9scyBhcmUgbm90IGluCiAgICAgICAgIHRoZSBkYW1hZ2UgcmVjdC4KIApAQCAtMTE1MDYs
NyArMTE1MzQsNyBAQAogICAgICAgICBNYW55IG9mIHRoZSBSZW5kZXJMYXllciBtZW1iZXIgZnVu
Y3Rpb25zIHJlbGF0ZWQgdG8gY2xpcCByZWN0IGNvbXB1dGF0aW9uCiAgICAgICAgIHRvb2sgYSBs
b25nIGxpc3Qgb2Ygc2ltaWxhciBwYXJhbWV0ZXJzLiBHYXRoZXIgdGhlc2UgaW50byBhIHN0cnVj
dCwgQ2xpcFJlY3RzQ29udGV4dCwKICAgICAgICAgdGhhdCB3ZSBwYXNzIHRvIHRoZXNlIGZ1bmN0
aW9ucwotICAgICAgICAKKwogICAgICAgICBObyBmdW5jdGlvbmFsIGNoYW5nZXMuCiAKICAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgpAQCAtMTE1NDUsNyArMTE1NzMsNyBAQAog
ICAgICAgICBDb21wdXRpbmcgdGhlIGJvdW5kcyBvZiB0aGUgbWFpbiBsYXllciAodGhhdCBvZiB0
aGUgUmVuZGVyVmlldykgdXNlZCB0byBkbwogICAgICAgICBhIGZ1bGwgUmVuZGVyTGF5ZXIgd2Fs
aywgdGFraW5nIHRoZSB1bmlvbiBvZiB0aGUgYm91bmRzIG9mIGFsbCB0aGUgc3VibGF5ZXJzLAog
ICAgICAgICB3aGljaCBpcyB2ZXJ5IGV4cGVuc2l2ZSBvbiBsYXJnZSBwYWdlcy4KLSAgICAgICAg
CisKICAgICAgICAgRm9yIHRoZSBSZW5kZXJWaWV3IHdlIGNhbiBhdm9pZCB0aGF0IGVudGlyZWx5
IGFuZCBqdXN0IHVzZSB0aGUgUmVuZGVyVmlldydzCiAgICAgICAgIGRvY3VtZW50IHJlY3QuIFNp
bmNlIHBhZ2Ugc2NhbGluZyBoYXBwZW5zIGFzIGEgdHJhbnNmb3JtIG9uIHRoaXMgbGF5ZXIsCiAg
ICAgICAgIHdlIHdhbnQgdGhlIHVuc2NhbGVkIGRvY3VtZW50IHJlY3QuCkBAIC0xMTY0Nyw3ICsx
MTY3NSw3IEBACiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCiAKLSAgICAgICAg
VGhpcyBpcyB0byBzdXBwb3J0IGxpbmtpbmcgdHdvIGRpZmZlcmVudCBjaGFsbGVuZ2VzIHRoYXQg
bWlnaHQgbm90IGNvbXBhcmUgYXMgZXF1YWwgYnV0IHRoYXQgCisgICAgICAgIFRoaXMgaXMgdG8g
c3VwcG9ydCBsaW5raW5nIHR3byBkaWZmZXJlbnQgY2hhbGxlbmdlcyB0aGF0IG1pZ2h0IG5vdCBj
b21wYXJlIGFzIGVxdWFsIGJ1dCB0aGF0CiAgICAgICAgIHJlcHJlc2VudCB0aGUgc2FtZSBsb2dp
Y2FsIGF1dGhlbnRpY2F0aW9uIGNoYWxsZW5nZS4KIAogICAgICAgICBPbmUgZXhhbXBsZSBpcyBp
biBhbiBJUEMgZW52aXJvbm1lbnQgd2hlcmUgdGhlIHBsYXRmb3JtIGNoYWxsZW5nZSBjYW4gb25s
eSBleGlzdCBpbiBvbmUgcHJvY2Vzcy4KQEAgLTExODEyLDkgKzExODQwLDkgQEAKIAogICAgICAg
ICBpc0Jsb2NrRmxvdygpIGlzIGEgdmlydHVhbCBmdW5jdGlvbiBjYWxsLCBhbmQgc2hvd3MgdXAg
aW4gcHJvZmlsZXMgb2YKICAgICAgICAgRmFjZWJvb2sgcGFnZXMgYXMgY2FsbGVkIGZyb20gUmVu
ZGVyQm94Ojpjb21wdXRlUmVjdEZvclJlcGFpbnQoKS4KLSAgICAgICAgCisKICAgICAgICAgSXQn
cyBmYXN0ZXIgdG8gZG8gdGhlIGhhc0NvbHVtbnMoKSBiaXQtY2hlY2sgZmlyc3QuIEFsc28gcmVw
bGFjZQotICAgICAgICBhIGNhbGwgdG8gbGF5ZXIoKSB3aXRoIHRoZSBoYXNMYXllcigpIGJpdC1j
aGVjay4gICAgICAgIAorICAgICAgICBhIGNhbGwgdG8gbGF5ZXIoKSB3aXRoIHRoZSBoYXNMYXll
cigpIGJpdC1jaGVjay4KIAogICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgogICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpjb21wdXRlUmVjdEZvclJlcGFpbnQpOgpAQCAtMTE4
NTcsMjAgKzExODg1LDIwIEBACiAKICAgICAgICAgVGhlcmUgd2VyZSB0d28gaXNzdWVzIHdpdGgg
b3ZlcmxheSBzY3JvbGxiYXIgcGFpbnRpbmcgaW4KICAgICAgICAgY29tcG9zaXRpbmcgbGF5ZXJz
LgotICAgICAgICAKKwogICAgICAgICBGaXJzdCwgd2UnZCBvbmx5IGV2ZXIgY2FsbCBzZXRDb250
YWluc0RpcnR5T3ZlcmxheVNjcm9sbGJhcnMoKQogICAgICAgICBvbiB0aGUgUmVuZGVyVmlldydz
IGxheWVyLCBldmVuIHdoZW4gZW5jb3VudGVyaW5nIGFuIG92ZXJsYXkgc2Nyb2xsYmFyCiAgICAg
ICAgIGluIHNvbWUgZGVzY2VuZGFudCBjb21wb3NpdGluZyBsYXllci4gVGhpcyBtZWFudCB0aGF0
IHdlJ2QgbmV2ZXIKICAgICAgICAgcnVuIHRoZSBwYWludE92ZXJsYXlTY3JvbGxiYXJzKCkgY29k
ZSBmb3IgdGhvc2UgY2hpbGQgY29tcG9zaXRpbmcKICAgICAgICAgbGF5ZXJzLCBzbyBzb21ldGlt
ZXMgc2Nyb2xsYmFycyB3ZXJlIG1pc3NpbmcgdGhlcmUuCi0gICAgICAgIAorCiAgICAgICAgIEV2
ZW4gYWZ0ZXIgZml4aW5nIHRoYXQsIHdlIHdvdWxkIGZhaWwgdG8gcmVuZGVyIHNjcm9sbGJhcnMg
dGhhdAogICAgICAgICB3ZXJlIG5vdCBpbiB0aGUgY29tcG9zaXRlZCBSZW5kZXJMYXllciBpdHNl
bGYuIFRoaXMgaGFwcGVuZWQgYmVjYXVzZQogICAgICAgICB3ZSBjYWxsZWQgaW50byBSZW5kZXJM
YXllcjo6cGFpbnRPdmVybGF5U2Nyb2xsYmFycygpLCB3aGljaCBjYWxsZWQKICAgICAgICAgcGFp
bnRMYXllcigpIHdpdGggZmxhZ3MgdGhhdCBvbmx5IHNhaWQgdG8gcGFpbnQgdGhlIG92ZXJsYXkg
c2Nyb2xsYmFycwogICAgICAgICBidXQgbm90IGFueSBkZXNjZW5kYW50cywgc28gdGhpcyBwYWlu
dCBwYXRoIHdvdWxkIG5vdCB3YWxrIGNoaWxkCiAgICAgICAgIFJlbmRlckxheWVycy4KLSAgICAg
ICAgCisKICAgICAgICAgQWxzbyByZW1vdmUgdGhlIGNvbnRhaW5zU2Nyb2xsYWJsZUFyZWFXaXRo
T3ZlcmxheVNjcm9sbGJhcnMoKSBmbGFnIG9uCiAgICAgICAgIFNjcm9sbFZpZXcgd2hpY2ggaXMg
bm8gbG9uZ2VyIHVzZWQuCiAKQEAgLTExODgzLDcgKzExOTExLDcgQEAKICAgICAgICAgb24gdGhl
IGNvbXBvc2l0aW5nIGFuY2VzdG9yIG9yIHRoZSByb290LgogICAgICAgICBSZW1vdmUgY2FsbCB0
byBzZXRDb250YWluc1Njcm9sbGFibGVBcmVhV2l0aE92ZXJsYXlTY3JvbGxiYXJzKCkuCiAgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRPdmVybGF5U2Nyb2xsYmFycyk6IFdoZW4g
cGFpbnRpbmcgb3ZlcmxheQotICAgICAgICBzY3JvbGxiYXJzLCBubyBuZWVkIHRvIHNheSB3ZSBo
YXZlIHRyYW5zcGFyZW5jeSwgYW5kIG5vIG5lZWQgdG8gdXNlIAorICAgICAgICBzY3JvbGxiYXJz
LCBubyBuZWVkIHRvIHNheSB3ZSBoYXZlIHRyYW5zcGFyZW5jeSwgYW5kIG5vIG5lZWQgdG8gdXNl
CiAgICAgICAgIHRlbXBvcmFyeSBjbGlwIHJlY3RzLgogICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGF5ZXI6OnBhaW50TGF5ZXIpOiBUaGUgUGFpbnRMYXllclBhaW50aW5nT3ZlcmxheVNjcm9sbGJh
cnMKICAgICAgICAgY2hlY2sgaGVyZSB3YXMgb25seSBuZWVkZWQgYmVjYXVzZSB0aGUgY29tcG9z
aXRpbmcgZW50cnlwb2ludCB0byBwYWludGluZwpAQCAtMTE5MjUsMTUgKzExOTUzLDE1IEBACiAg
ICAgICAgIGEgUmVuZGVyR2VvbWV0cnlNYXAgYXMgd2UgdHJhdmVyc2UgdGhlIGxheWVyIHRyZWUs
IGFuZCB0aGVuIHVzaW5nIGl0IHRvIG1hcAogICAgICAgICB0aGUgb3V0bGluZSBib3VuZHMgdG8g
dGhlIHJlcGFpbnQgY29udGFpbmVyLiBSZXBsYWNlIHRoZSBob2tleSBjYWNoZWQgb2Zmc2V0RnJv
bVJvb3QKICAgICAgICAgbm93IHRoYXQgdGhlIFJlbmRlckdlb21ldHJ5TWFwIGNhbiBkbyBhIGJl
dHRlciBqb2IuCi0gICAgICAgIAorCiAgICAgICAgIFRoZSBjbGlwcGVkIG92ZXJmbG93IHJlY3Qg
Y2Fubm90IGJlIG1hcHBlZCBzaW1wbHksIHNvIGNhbm5vdCB5ZXQgbWFrZSB1c2Ugb2YKICAgICAg
ICAgdGhlIGdlb21ldHJ5IG1hcC4KLSAgICAgICAgCisKICAgICAgICAgTW9kaWZ5IHRoZSBSZW5k
ZXJHZW9tZXRyeU1hcCB0byBzdXBwb3J0IG1hcHBpbmcgdG8gc29tZSByZXBhaW50Q29udGFpbmVy
IGFuY2VzdG9yLgogICAgICAgICBBZGQgYSBSZW5kZXJPYmplY3Qgd2FsayB0aGF0IGlzIG5lY2Vz
c2FyeSB0byBkZXRlY3QgZmxpcHBlZCB3cml0aW5nIG1vZGUgYmxvY2tzLgotICAgICAgICAKKwog
ICAgICAgICBQYXNzIHRoZSBSZW5kZXJHZW9tZXRyeU1hcCBhcyBhbiBvcHRpb25hbCBwYXJhbWV0
ZXIgdG8gb3V0bGluZUJvdW5kc0ZvclJlcGFpbnQuCi0gICAgICAgIAorCiAgICAgICAgICogcGFn
ZS9GcmFtZVZpZXcuY3BwOgogICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpsYXlvdXQpOiBN
YWtlIGEgUmVuZGVyR2VvbWV0cnlNYXAgYW5kIHBhc3MgaXQgZG93bgogICAgICAgICB0byB1cGRh
dGVMYXllclBvc2l0aW9ucygpLiBGb3IgcGFydGlhbCBsYXlvdXRzLCB3ZSBoYXZlIHRvIHB1c2gg
bGF5ZXJzCkBAIC0xMjA3Niw3ICsxMjEwNCw3IEBACiAgICAgICAgIHRoYXQgaGFwcGVucyB3ZSBz
aG91bGQgbm90IHdhc3RlIHRpbWUgdXBkYXRpbmcgbGF5ZXIgcG9zaXRpb25zLAogICAgICAgICBj
b21wb3NpdGluZyBsYXllcnMsIG9yIHdpZGdldCBwb3NpdGlvbnMsIGJlY2F1c2Ugd2UnbGwgZG8g
dGhvc2UgYXQgdGhlCiAgICAgICAgIGVuZCBvZiBsYXlvdXQgYW55d2F5LgotICAgICAgICAKKwog
ICAgICAgICBUaGlzIHByZXZlbnRzIHVzIGZyb20gaGF2aW5nIGluY29uc2lzdGVudCBSZW5kZXJM
YXllciBzdGF0ZSwgd2hpY2gKICAgICAgICAgaGluZGVycyBmdXR1cmUgb3B0aW1pemF0aW9ucyBp
biB0aGlzIGFyZWEuCiAKQEAgLTEyNDI3LDcgKzEyNDU1LDcgQEAKIAogICAgICAgICBJbmplY3Rl
ZCBzdHlsZXNoZWV0cyBhZGRlZCBhcyBVc2VyU3R5bGVBdXRob3JMZXZlbCBmYWlsIHRvIGFwcGx5
LiByMTI5NjQ0IGltcGxpY2l0bHkgYXNzdW1lZCB0aGF0CiAgICAgICAgIHN1Y2ggdGhpbmdzIGRv
bid0IGV4aXN0cyBidXQgb24gQ2hyb21pdW0gYWRkVXNlclN0eWxlU2hlZXQoKSBjb25mdXNpbmds
eSB1c2VzIHRoZW0uCi0gICAgICAgIAorCiAgICAgICAgIFRoZSBwYXRjaCBhZGRzIGluamVjdGVk
IGF1dGhvciBzdHlsZXNoZWV0cyB0byBEb2N1bWVudFN0eWxlU2hlZXRDb2xsZWN0aW9uOjphY3Rp
dmVTdHlsZVNoZWV0cygpLgogICAgICAgICBJdCBhbHNvIGdlbmVyYWxseSBjbGVhbnMgdXAgdGhl
IGNvZGUgYXJvdW5kIGluamVjdGVkIGFuZCB1c2VyIHN0eWxlc2hlZXRzLgogCkBAIC0xMjU3Myw3
ICsxMjYwMSw3IEBACiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR3VzdGF2byBOb3JvbmhhIFNpbHZh
LgogCi0gICAgICAgIE1ha2UgR3RrQXV0aGVudGljYXRpb25EaWFsb2cgbW9yZSBnZW5lcmFsLCBz
byB0aGF0IGl0IGNhbiBiZSBzdWJjbGFzc2VkIGluIAorICAgICAgICBNYWtlIEd0a0F1dGhlbnRp
Y2F0aW9uRGlhbG9nIG1vcmUgZ2VuZXJhbCwgc28gdGhhdCBpdCBjYW4gYmUgc3ViY2xhc3NlZCBp
bgogICAgICAgICBXZWJLaXQyLiBXZSBjYW5ub3QgdXNlIHRoZSBXZWJDb3JlIGF1dGhlbnRpY2F0
aW9uLXJlbGF0ZWQgY2xhc3NlcyBkaXJlY3RseSB0aGVyZS4KIAogICAgICAgICBObyBuZXcgdGVz
dHMuIFRoaXMgcGF0Y2ggZG9lcyBub3QgY2hhbmdlIGJlaGF2aW9yLgpAQCAtMTI4NzMsNyArMTI5
MDEsNyBAQAogICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnN0YXJ0KTogU3RvcmUg
Y29udGV4dC0+c3RvcmFnZVNlc3Npb24oKSBmb3IgdXNlIGluIHdpbGxTZW5kUmVxdWVzdC4KICAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjp3aWxsTG9hZEZyb21DYWNoZSk6IFN0eWxl
IGZpeC4KICAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpsb2FkUmVzb3VyY2VTeW5j
aHJvbm91c2x5KTogU3RvcmUgY29udGV4dC0+c3RvcmFnZVNlc3Npb24oKQotICAgICAgICBmb3Ig
dXNlIGluIHdpbGxTZW5kUmVxdWVzdC4gCisgICAgICAgIGZvciB1c2UgaW4gd2lsbFNlbmRSZXF1
ZXN0LgogICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OndpbGxTZW5kUmVxdWVzdCk6
IFVzZSBzdG9yZWQgc2Vzc2lvbiwgbm90IGdsb2JhbCBvbmUuCiAKIDIwMTItMTEtMTYgIERpbWl0
cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4KQEAgLTEzMDM2LDE1ICsxMzA2NCwx
NSBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IE5vYW0gUm9zZW50aGFsLgogCi0gICAgICAgIEFk
ZGVkIFdlYkNvcmUgY2xhc3NlcyBuZWVkZWQgZm9yIHRoZSBXZWJLaXQyIGltcGxlbWVudGF0aW9u
IG9mIFRleHR1cmUgTWFwcGVyIHRvIGtlZXAgYSByZWZlcmVuY2UgdG8gdGhlIAorICAgICAgICBB
ZGRlZCBXZWJDb3JlIGNsYXNzZXMgbmVlZGVkIGZvciB0aGUgV2ViS2l0MiBpbXBsZW1lbnRhdGlv
biBvZiBUZXh0dXJlIE1hcHBlciB0byBrZWVwIGEgcmVmZXJlbmNlIHRvIHRoZQogICAgICAgICBw
bGF0Zm9ybSBjb21waWxlZCBjdXN0b20gZmlsdGVyLiBJdCBpcyBqdXN0IHVzZWQgdG8gbWFpbnRh
aW4gdGhlIGxpZmUtdGltZSBvZiB0aGUgb2JqZWN0cy4gV2ViS2l0MiBpbmplY3RzIGEKICAgICAg
ICAgY2xpZW50IGluIFRleHR1cmVNYXBwZXJQbGF0Zm9ybUNvbXBpbGVkUHJvZ3JhbSBhbmQgcmVj
ZWl2ZXMgYSBjYWxsYmFjayB3aGVuIHRoZSBjdXN0b20gZmlsdGVyIHByb2dyYW0gaXMgbm90Ci0g
ICAgICAgIHVzZWQgdG8gcmVuZGVyIGFueSBsYXllciBvbiB0aGUgcGFnZS4gCisgICAgICAgIHVz
ZWQgdG8gcmVuZGVyIGFueSBsYXllciBvbiB0aGUgcGFnZS4KIAogICAgICAgICBOb3RlIHRoYXQg
Q3VzdG9tRmlsdGVyVmFsaWRhdGVkUHJvZ3JhbSBhcmUgcmV1c2VkIGFjcm9zcyBtdWx0aXBsZSBl
bGVtZW50cyBvZiB0aGUgc2FtZSBwYWdlLiBBbHNvLCB0aGUgaW5zdGFuY2VzCiAgICAgICAgIGFy
ZSByZXVzZWQgYWNyb3NzIGZyYW1lcywgc28gYW5pbWF0aW9ucyBzaG91bGQgcmV1c2UgdGhlIHNh
bWUgcHJlLXZhbGlkYXRlZCBwcm9ncmFtLiBJbiB0aGlzIGNhc2UsIHRoZSBtZWNoYW5pc20gaXMK
ICAgICAgICAgZXh0ZW5kZWQgYW5kIHJldXNlZCBpbiB0aGUgcGxhdGZvcm0gY29tcG9zaXRvci4K
LSAgICAgICAgCisKICAgICAgICAgTm8gbmV3IHRlc3RzLCBleGlzdGluZyB0ZXN0cyBmb3IgQ1NT
IEN1c3RvbSBGaWx0ZXJzIGFscmVhZHkgY292ZXIgdGhpcyBwYXRoLgogCiAgICAgICAgICogQ01h
a2VMaXN0cy50eHQ6CkBAIC0xNDUwMSw3ICsxNDUyOSw3IEBACiAgICAgICAgIHdhcyB2ZXJ5IGNv
bmZ1c2luZy4gRml4IHRoaXMgYnkgZXhwbGljaXRseSBjYWxsaW5nIHNldFNob3dEZWJ1Z0JvcmRl
cigpCiAgICAgICAgIG9uIHRoZSBzY3JvbGxiYXItcmVsYXRlZCBsYXllcnMgb3duZWQgYnkgUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yCiAgICAgICAgIGFuZCBSZW5kZXJMYXllckJhY2tpbmcuCi0gICAg
ICAgIAorCiAgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CiAgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZURlYnVnSW5kaWNhdG9ycyk6
CiAgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CkBAIC0xNDkz
OCw3ICsxNDk2Niw3IEBACiAgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDOjpkaWRDYW5jZWxMb2FkaW5nUmVxdWVzdCk6IEFkZGVkLiAgQ2FuY2VsIHJl
c291cmNlIGxvYWRpbmcgaWYKICAgICAgICAgICAgIHRoZSBtZWRpYSBlbmdpbmUgcmVxdWVzdHMg
aXQuCiAgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpD
OjphZGRLZXkpOiBVc2UgdGhlIG5ldywgbm9uLWRlcHJlY2F0ZWQgQVBJLgotICAgICAgICAKKwog
ICAgICAgICBVc2UgdGhlIGRpc3BhdGNoX21haW5fcXVldWUoKSBhcyB0aGUgQVZBc3NldFJlc291
cmNlTG9hZERlbGVnYXRlIHF1ZXVlIG5vdyB0aGF0IDxyZGFyOi8vcHJvYmxlbS8xMjM2MjQ2MT4g
aXMgZml4ZWQuCiAgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMv
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbToKICAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmNyZWF0ZUFWQXNzZXRGb3JVUkwp
OgpAQCAtMTQ5NTQsNyArMTQ5ODIsNyBAQAogICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZUFWRlJl
c291cmNlTG9hZGVyOjp+V2ViQ29yZUFWRlJlc291cmNlTG9hZGVyKTogU2ltcGxlIGRlc3RydWN0
b3IuCiAgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlQVZGUmVzb3VyY2VMb2FkZXI6OnN0YXJ0TG9h
ZGluZyk6IFRlbGwgdGhlIGNhY2hlZFJlc291cmNlTG9hZGVyIHRvIHNjaGVkdWxlIGxvYWRpbmcu
CiAgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlQVZGUmVzb3VyY2VMb2FkZXI6OnN0b3BMb2FkaW5n
KTogUmVtb3ZlIHRoaXMgYXMgYSBjbGllbnQgb2YgdGhlIHJlc291cmNlLgotICAgICAgICAoV2Vi
Q29yZTo6V2ViQ29yZUFWRlJlc291cmNlTG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKTogRmlsbCBp
biB0aGUgY29udGVudEluZm9ybWF0aW9uIGZpZWxkIG9mIHRoZSAKKyAgICAgICAgKFdlYkNvcmU6
OldlYkNvcmVBVkZSZXNvdXJjZUxvYWRlcjo6cmVzcG9uc2VSZWNlaXZlZCk6IEZpbGwgaW4gdGhl
IGNvbnRlbnRJbmZvcm1hdGlvbiBmaWVsZCBvZiB0aGUKICAgICAgICAgICAgIEFWQXNzZXRSZXNv
dXJjZUxvYWRpbmdSZXF1ZXN0LgogICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZUFWRlJlc291cmNl
TG9hZGVyOjpkYXRhUmVjZWl2ZWQpOiBDYWxsIGZ1bGZpbGxSZXF1ZXN0V2l0aFJlc291cmNlLgog
ICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZUFWRlJlc291cmNlTG9hZGVyOjpub3RpZnlGaW5pc2hl
ZCk6IFRlbGwgdGhlIEFWQXNzZXRSZXNvdXJjZUxvYWRpbmdSZXF1ZXN0IHRoYXQgbG9hZGluZwpA
QCAtMTUxMDAsNyArMTUxMjgsNyBAQAogCiAyMDEyLTExLTE1ICBFbGxpb3R0IFNwcmVobiAgPGVz
cHJlaG5AY2hyb21pdW0ub3JnPgogCi0gICAgICAgIFJlbW92ZSBpc0hUTUxJbnB1dEVsZW1lbnQg
c2luY2UgaXQncyB1bnVzZWQgYW5kIHRvSW5wdXRFbGVtZW50IGV4aXN0cyAKKyAgICAgICAgUmVt
b3ZlIGlzSFRNTElucHV0RWxlbWVudCBzaW5jZSBpdCdzIHVudXNlZCBhbmQgdG9JbnB1dEVsZW1l
bnQgZXhpc3RzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDIzNTgKIAogICAgICAgICBSZXZpZXdlZCBieSBPamFuIFZhZmFpLgpAQCAtMTUxMzIsNyAr
MTUxNjAsNyBAQAogCiAyMDEyLTExLTE1ICBFbGxpb3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21p
dW0ub3JnPgogCi0gICAgICAgIFJlbW92ZSBpc0hUTUxJbnB1dEVsZW1lbnQgc2luY2UgaXQncyB1
bnVzZWQgYW5kIHRvSW5wdXRFbGVtZW50IGV4aXN0cyAKKyAgICAgICAgUmVtb3ZlIGlzSFRNTElu
cHV0RWxlbWVudCBzaW5jZSBpdCdzIHVudXNlZCBhbmQgdG9JbnB1dEVsZW1lbnQgZXhpc3RzCiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDIzNTgKIAog
ICAgICAgICBSZXZpZXdlZCBieSBPamFuIFZhZmFpLgpAQCAtMTU1MjAsNyArMTU1NDgsNyBAQAog
ICAgICAgICAqIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5oOgogICAgICAgICAoVmlld3BvcnRBcmd1
bWVudHMpOgogCi0yMDEyLTExLTE0ICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVt
Lm9yZz4gCisyMDEyLTExLTE0ICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBDaGFuZ2luZyBwc2V1ZG9DbGFzcyAoOmRpc2FibGVkKSBzaG91bGQgY2F1
c2UgZGlzdHJpYnV0aW9uLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAxOTAxCkBAIC0xNTU5OCw3ICsxNTYyNiw3IEBACiAKICAgICAgICAgQWRkZWQg
YW4gYXNzZXJ0aW9uIHRoYXQgdGhlIHNjcm9sbGJhciByZWxldmFuY3kgd2hlbiB3ZSBjb21wdXRl
ZCB0aGUgY2xpcCByZWN0cwogICAgICAgICBpcyB0aGUgc2FtZSBhcyB0aGF0IHdoZW4gdXNpbmcg
dGhlbS4KLSAgICAgICAgCisKICAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgog
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmhpdFRlc3RMYXllcik6CiAgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlQ2xpcFJlY3RzKToKQEAgLTE2MTk4LDcgKzE2MjI2
LDcgQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBEYW5pZWwgQmF0ZXMuCiAKLSAgICAgICAgQ1NT
UHJvcGVydHlBbmltYXRpb24gaGFkIHRoZSBzYW1lIGNvZGUgZm9yIHZhcmlmeWluZyB0aGF0IHR3
byBCYXNpY1NoYXBlIG9iamVjdHMgY2FuIGJlIGJsZW5kZWQgCisgICAgICAgIENTU1Byb3BlcnR5
QW5pbWF0aW9uIGhhZCB0aGUgc2FtZSBjb2RlIGZvciB2YXJpZnlpbmcgdGhhdCB0d28gQmFzaWNT
aGFwZSBvYmplY3RzIGNhbiBiZSBibGVuZGVkCiAgICAgICAgIHR3aWNlLiBSZWZhY3RvciB0aGUg
Y29kZSBhbmQgYWRkIGEgY2FuQmxlbmQgbWV0aG9kIGluIEJhc2ljU2hhcGUgdGhhdCBjb21iaW5l
cyBib3RoIGNoZWNrcy4gVGhpcwogICAgICAgICBpcyBhIHByZXBhcmF0aW9uIGZvciBmb2xsb3ct
dXAgcGF0Y2hlcy4KIApAQCAtMTY2NTMsMTAgKzE2NjgxLDEwIEBACiAgICAgICAgIGlzIHVzZWQg
d2hlbiBwYWludGluZyBqdXN0IGEgc3VidHJlZSAoZS5nLiB3aGVuIHBhaW50aW5nIGRyYWdnZWQK
ICAgICAgICAgc2VsZWN0aW9ucykuIFRoZXJlIGlzIG5vIG5lZWQgdG8gcGFzcyBpdCB3aGVuIGEg
UmVuZGVyTGF5ZXJCYWNraW5nCiAgICAgICAgIHBhaW50cyBpdHMgY29udGVudHMgb3Igb3Zlcmxh
eSBzY3JvbGxiYXJzLgotICAgICAgICAKKwogICAgICAgICBQYXNzaW5nIGl0IHJlcXVpcmVzIGFu
IGV4cGVuc2l2ZSBpc0Rlc2NlbmRhbnQoKSBjaGVjaywgc28gcGFzc2luZwogICAgICAgICBudWxs
IGlzIG1vcmUgZWZmaWNpZW50LgotICAgICAgICAKKwogICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJMYXllci5oOgogICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OkxheWVyUGFpbnRpbmdJ
bmZvOjpMYXllclBhaW50aW5nSW5mbyk6CiAgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVy
QmFja2luZy5jcHA6CkBAIC0xNjc0MSw3ICsxNjc2OSw3IEBACiAgICAgICAgIFNldCB0aGUgYmFj
a2dyb3VuZCByZWN0IHRvIHRoZSBpbm5lciBib3JkZXIgZm9yIEJhY2tncm91bmRPdmVyQm9yZGVy
CiAgICAgICAgIChXZWJDb3JlKToKICAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2Jq
ZWN0OjpwYWludEZpbGxMYXllckV4dGVuZGVkKToKLSAgICAgICAgQWRkZWQgc3VwcG9ydCBmb3Ig
QmFja2dyb3VuZE92ZXJCb3JkZXIgYnkgdXNpbmcgCisgICAgICAgIEFkZGVkIHN1cHBvcnQgZm9y
IEJhY2tncm91bmRPdmVyQm9yZGVyIGJ5IHVzaW5nCiAgICAgICAgIGJhY2tncm91bmRSb3VuZGVk
UmVjdEFkanVzdGVkRm9yQmxlZWRBdm9pZGFuY2UKICAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJv
eE1vZGVsT2JqZWN0OjpwYWludEJvcmRlclNpZGVzKToKICAgICAgICAgQWRkZWQgc3VwcG9ydCBm
b3IgQmFja2dyb3VuZE92ZXJCb3JkZXIgYnkgYXBwbHlpbmcgcGVyLXNpZGUgaW5zZXQKQEAgLTE2
NzYyLDcgKzE2NzkwLDcgQEAKIAogICAgICAgICBUaGlzIHBhdGNoIGlzIHRvIGZpeCBhIG1lbW9y
eSBsZWFrIHByb2JsZW0gd2hpY2ggb2NjdXJzCiAgICAgICAgIGluIGV2ZXJ5IHJlbmRlcmluZyBw
cm9jZXNzIG9uIFdpbmNhaXJvIHBvcnQuCi0gICAgICAgIEJ5IGFwcGx5aW5nIHRoaXMgcGF0Y2gs
IHRoZSBtZW1vcnkgYWxsb2NhdGVkIGluIGNhaXJvIAorICAgICAgICBCeSBhcHBseWluZyB0aGlz
IHBhdGNoLCB0aGUgbWVtb3J5IGFsbG9jYXRlZCBpbiBjYWlybwogICAgICAgICBsaWJyYXJ5IHdp
bGwgYmUgcmVsZWFzZWQgYnkgY2FsbGluZyBjYWlyb19kZXN0cm95LgogCiAgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dENhaXJvV2luLmNwcDoKQEAgLTE2OTY3
LDEyICsxNjk5NSwxMiBAQAogMjAxMi0xMS0xNCAgQW50b24gT2J6aGlyb3YgIDxhLm9iemhpcm92
QHNhbXN1bmcuY29tPgogCiAgICAgICAgIEFkZCBwbGF0Zm9ybSBpbXBsZW1lbnRhdGlvbiBvZiBy
ZW1vdGUgd2ViIGluc3BlY3RvciBzZXJ2ZXIgZm9yIEdUSyBwb3J0LgotICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODgwOTQgCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04ODA5NAogCiAgICAgICAgIFJldmlld2Vk
IGJ5IEd1c3Rhdm8gTm9yb25oYSBTaWx2YS4KIAogICAgICAgICBFeHRyYSBTb2NrZXRTdHJlYW1I
YW5kbGUgY29uc3RydWN0b3IgaXMgYWRkZWQgdG8gYWNjZXB0IGV4aXN0aW5nIEdTb2NrZXRDb25u
ZWN0aW9uLgotICAgICAgICBOZWVkZWQgdG8gcGFzcyByZW1vdGUgaW5zcGVjdG9yIHNlcnZlciBz
b2NrZXQgY29ubmVjdGlvbi4gVGhlIGNoYW5nZSBpcyB0ZXN0ZWQgd2l0aCAKKyAgICAgICAgTmVl
ZGVkIHRvIHBhc3MgcmVtb3RlIGluc3BlY3RvciBzZXJ2ZXIgc29ja2V0IGNvbm5lY3Rpb24uIFRo
ZSBjaGFuZ2UgaXMgdGVzdGVkIHdpdGgKICAgICAgICAgaW5zcGVjdG9yIHNlcnZlciBBUEkgdGVz
dHMuCiAKICAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvU29ja2V0U3RyZWFtSGFuZGxl
Lmg6CkBAIC0xNzA4NCw3ICsxNzExMiw3IEBACiAKICAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL2hlbHBTY3JlZW4uY3NzOgogICAgICAgICAoLmhlbHAtd2luZG93LWNhcHRpb24pOiBBZGp1
c3RlZCB0aXRsZSBoZWlnaHQuCi0gICAgICAgICguaGVscC13aW5kb3ctdGl0bGUpOiBBZGp1c3Rl
ZCB0aXRsZSB2ZXJ0aWNhbCBwb3NpdGlvbmluZy4gCisgICAgICAgICguaGVscC13aW5kb3ctdGl0
bGUpOiBBZGp1c3RlZCB0aXRsZSB2ZXJ0aWNhbCBwb3NpdGlvbmluZy4KICAgICAgICAgKGJvZHku
cGxhdGZvcm0tbWFjIC5oZWxwLXdpbmRvdy1tYWluIC5oZWxwLXdpbmRvdy10aXRsZSk6IEZpeGVk
IG1hcmdpbi4KIAogMjAxMi0xMS0xMyAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVt
Lm9yZz4KQEAgLTE4NTQyLDcgKzE4NTcwLDcgQEAKICAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1h
dGhNTFN1YlN1cDo6aXNSZW5kZXJNYXRoTUxTdWJTdXApOgogICAgICAgICAqIHJlbmRlcmluZy9t
YXRobWwvUmVuZGVyTWF0aE1MVW5kZXJPdmVyLmg6CiAgICAgICAgIChXZWJDb3JlOjpSZW5kZXJN
YXRoTUxVbmRlck92ZXI6OmlzUmVuZGVyTWF0aE1MVW5kZXJPdmVyKToKLSAgICAgICAgCisKIDIw
MTItMTEtMTMgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEpTRXZl
bnRMaXN0ZW5lciBzaG91bGQgbm90IGFjY2VzcyBtX2pzRnVuY3Rpb24gd2hlbiBpdHMgd3JhcHBl
ciBpcyBnb25lLgpAQCAtMTg5MDQsOCArMTg5MzIsOCBAQAogCiAgICAgICAgIFRoaXMgaXMgYSBo
YXJkIHByb2JsZW0gdG8gc29sdmUgb24gdGhlIE1hYyBiZWNhdXNlIHRoZXJlIGFyZSB0aHJlZSBw
aWVjZXMgb2YgaW5mb3JtYXRpb24KICAgICAgICAgICAgICAxKSBUaGUgdHlwZSBvZiBidXR0b24g
MikgVGhlIHRleHQgb24gdGhlIGJ1dHRvbiAzKSBUaGUgdGV4dCBmb3IgdGhlIHZhbHVlLgotICAg
ICAgICBJIHRoaW5rIHRoZSBiZXN0IGNvbXByb21pc2UgaXMgdG8gbGFiZWwgdGhpcyBhcyBhIGZp
bGUgdXBsb2FkIGJ1dHRvbiB0eXBlIGluIHRoZSByb2xlIGRlc2NyaXB0aW9uLCAKLSAgICAgICAg
YW5kIHRoZW4gZXhwb3NlIHRoZSBmaWxlIHBhdGggdGV4dCBhcyB0aGUgQVhUaXRsZS4gCisgICAg
ICAgIEkgdGhpbmsgdGhlIGJlc3QgY29tcHJvbWlzZSBpcyB0byBsYWJlbCB0aGlzIGFzIGEgZmls
ZSB1cGxvYWQgYnV0dG9uIHR5cGUgaW4gdGhlIHJvbGUgZGVzY3JpcHRpb24sCisgICAgICAgIGFu
ZCB0aGVuIGV4cG9zZSB0aGUgZmlsZSBwYXRoIHRleHQgYXMgdGhlIEFYVGl0bGUuCiAgICAgICAg
IFRoaXMgd2lsbCBnaXZlIHRoZSBtb3JlIHJlbGV2YW50IGluZm9ybWF0aW9uIGFuZCBzaG91bGQg
YmUgY2xlYXIgd2hhdCBpcyBoYXBwZW5pbmcuCiAKICAgICAgICAgVGVzdDogcGxhdGZvcm0vbWFj
L2FjY2Vzc2liaWxpdHkvZmlsZS11cGxvYWQtYnV0dG9uLXN1YnJvbGUuaHRtbApAQCAtMjAzMDks
NyArMjAzMzcsNyBAQAogCiAgICAgICAgIFJlbmRlckxheWVyOjpwYWludExheWVyQ29udGVudHMo
KSBhbmQgY2FsbGVlcyBjb3VsZCBlbmQgdXAgY2FsbGluZyBjb252ZXJ0VG9MYXllckNvb3Jkcygp
CiAgICAgICAgIGFuZCBjYWxjdWxhdGVMYXllckJvdW5kcygpIG11bHRpcGxlIHRpbWVzIGZvciBw
YWludGluZyBhIHNpbmdsZSBsYXllci4KLSAgICAgICAgCisKICAgICAgICAgS2VlcCB0cmFjayBv
ZiB3aGV0aGVyIHdlJ3ZlIGNvbXB1dGVkIHRoZSByb290LXJlbGF0aXZlIGJvdW5kcyBhbmQgZG8g
aXQgb24gZGVtYW5kLgogICAgICAgICBDb21wdXRlIHRoZSBvZmZzZXQgcmVsYXRpdmUgdG8gcm9v
dExheWVyIG9uY2UsIGFuZCBwYXNzIGl0IGFyb3VuZCBhcyBhbiBvcHRpb25hbCBwYXJhbWV0ZXIK
ICAgICAgICAgdG8gZnVuY3Rpb25zIHRoYXQgbmVlZCBpdC4KQEAgLTIwNDQzLDEyICsyMDQ3MSwx
MiBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KIAotICAgICAgICBUaGlz
IHBhdGNoIGFkZHMgYSBuZXcgbWVtYmVyIHRvIHRoZSBHcmFwaGljc0NvbnRleHRTdGF0ZSB0aGF0
IHRyYWNrcyAKLSAgICAgICAgd2hldGhlciBvciBub3QgZm9udHMgc2hvdWxkIGJlIHN1YnBpeGVs
LXF1YW50aXplZC4gV2Ugd2FudCB0byBkZWZhdWx0IAotICAgICAgICB0byBzaWJwaXhlbC1xdWFu
dGl6aW5nLCBidXQgd2UnbGwgdHVybiBpdCBvZmYgaWYgd2UncmUgc2Nyb2xsaW5nIAorICAgICAg
ICBUaGlzIHBhdGNoIGFkZHMgYSBuZXcgbWVtYmVyIHRvIHRoZSBHcmFwaGljc0NvbnRleHRTdGF0
ZSB0aGF0IHRyYWNrcworICAgICAgICB3aGV0aGVyIG9yIG5vdCBmb250cyBzaG91bGQgYmUgc3Vi
cGl4ZWwtcXVhbnRpemVkLiBXZSB3YW50IHRvIGRlZmF1bHQKKyAgICAgICAgdG8gc2licGl4ZWwt
cXVhbnRpemluZywgYnV0IHdlJ2xsIHR1cm4gaXQgb2ZmIGlmIHdlJ3JlIHNjcm9sbGluZwogICAg
ICAgICBjb250ZW50IHRoYXQgY2Fubm90IGJlIHNjcm9sbGVkIG9uIHRoZSBzY3JvbGxpbmcgdGhy
ZWFkLgogCi0gICAgICAgIFN0YXRlIGhhcyBhIG5ldyBib29sIHNob3VsZFN1YnBpeGVsUXVhbnRp
emVGb250cy4gSXQgZGVmYXVsdHMgdG8gdHJ1ZSAKKyAgICAgICAgU3RhdGUgaGFzIGEgbmV3IGJv
b2wgc2hvdWxkU3VicGl4ZWxRdWFudGl6ZUZvbnRzLiBJdCBkZWZhdWx0cyB0byB0cnVlCiAgICAg
ICAgIHNpbmNlIG5vcm1hbGx5IHdlIGRvIHdhbnQgdG8gcXVhbnRpemUuCiAgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcDoKICAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzQ29udGV4dDo6c2V0U2hvdWxkU3VicGl4ZWxRdWFudGl6ZUZvbnRzKToKQEAgLTIwNDU4
LDE0ICsyMDQ4NiwxNCBAQAogICAgICAgICAoR3JhcGhpY3NDb250ZXh0U3RhdGUpOgogICAgICAg
ICAoR3JhcGhpY3NDb250ZXh0KToKIAotICAgICAgICB3a1NldENHRm9udFJlbmRlcmluZ01vZGUg
bm93IHRha2VzIGEgQk9PTCBwYXJhbWV0ZXIgd2hpY2ggaW5kaWNhdGVzIAorICAgICAgICB3a1Nl
dENHRm9udFJlbmRlcmluZ01vZGUgbm93IHRha2VzIGEgQk9PTCBwYXJhbWV0ZXIgd2hpY2ggaW5k
aWNhdGVzCiAgICAgICAgIHdoZXRoZXIgb3Igbm90IGl0IHNob3VsZCB0cnkgdG8gc3VicGl4ZWwt
cXVhbnRpemUgdGhlIGZvbnRzLgogICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250
TWFjLm1tOgogICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZHJhd0dseXBocyk6CiAgICAgICAgICog
cGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaDoKICAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5tbToKIAotICAgICAgICBEaXNhYmxlIHN1YnBp
eGVsLXF1YW50aXphdGlvbiBmb3Igb3ZlcmZsb3cgYXJlYXMsIHN1YmZyYW1lcywgYW5kIAorICAg
ICAgICBEaXNhYmxlIHN1YnBpeGVsLXF1YW50aXphdGlvbiBmb3Igb3ZlcmZsb3cgYXJlYXMsIHN1
YmZyYW1lcywgYW5kCiAgICAgICAgIGNvbnRlbnQgdGhhdCBpcyBzY3JvbGxpbmcgb24gdGhlIG1h
aW4gdGhyZWFkLgogICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CiAgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRzKToKQEAgLTIwNTk2LDcg
KzIwNjI0LDcgQEAKICAgICAgICAgV2hlbiByZW5kZXJpbmcgd2l0aCBmaWx0ZXJzLCB0aGUgY29k
ZSBjYW4gaW5mbGF0ZSB0aGUgcm9vdC1yZWxhdGl2ZQogICAgICAgICBwYWludERpcnR5UmVjdCBp
biBSZW5kZXJMYXllcjo6cGFpbnRMYXllckNvbnRlbnRzKCksIGFuZCBteSBjbGVhbnVwCiAgICAg
ICAgIGJyb2tlIHRoaXMgYmVoYXZpb3IuCi0gICAgCisKICAgICAgICAgRml4IGJ5IG1ha2luZyBh
IGxvY2FsIGNvcHkgb2YgTGF5ZXJQYWludGluZ0luZm8sIHVwZGF0aW5nIGl0cyBwYWludERpcnR5
UmVjdCwKICAgICAgICAgYW5kIHVzaW5nIGl0IGZvciB0aGUgcmVzdCBvZiB0aGUgZnVuY3Rpb24u
CiAKQEAgLTIwODgwLDcgKzIwOTA4LDcgQEAKIAogICAgICAgICBUaGUgdmFyaW91cyBSZW5kZXJM
YXllcjo6cGFpbnRMYXllciogZnVuY3Rpb25zIHRvb2sgYSBsb3Qgb2YgYXJndW1lbnRzLCBtb3N0
CiAgICAgICAgIG9mIHdoaWNoIHdlcmUgcGFzc2VkIGRvd24gZGlyZWN0bHkgdG8gZGVzY2VuZGFu
dHMuCi0gICAgICAgIAorCiAgICAgICAgIEdhdGhlciB0aGVzZSBhcmd1bWVudHMgaW50byBhIExh
eWVyUGFpbnRpbmdJbmZvIHN0cnVjdC4KIAogICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHA6CkBAIC0yMTA2NSw3ICsyMTA5Myw3IEBACiAgICAgICAgIFJldmlld2VkIGJ5IEFudG9u
aW8gR29tZXMuCiAKICAgICAgICAgQWx3YXlzIHJlZGlyZWN0IGhpdFRlc3RSZXN1bHRBdFBvaW50
IHRvIHRoZSBtYWluLWZyYW1lLiBUaGlzIHVzZWQgdG8gYmVpbmcKLSAgICAgICAgZG9uZSBvbiBl
dmVyeSByZXN1bHQgdGhhdCBoaXQgYW55dGhpbmcsIHdoaWNoIGNhdXNlZCBydW5uaW5nIHRoZSBl
eHBlbnNpdmUgCisgICAgICAgIGRvbmUgb24gZXZlcnkgcmVzdWx0IHRoYXQgaGl0IGFueXRoaW5n
LCB3aGljaCBjYXVzZWQgcnVubmluZyB0aGUgZXhwZW5zaXZlCiAgICAgICAgIGhpdC10ZXN0cyBt
dWx0aXBsZSB0aW1lcyBpbiBhbG1vc3QgYWxsIGNhc2VzLgogCiAgICAgICAgICogcGFnZS9FdmVu
dEhhbmRsZXIuY3BwOgpAQCAtMjIyMTUsNyArMjIyNDMsNyBAQAogICAgICAgICAgYnV0IGNhbGxz
IGNvbXB1dGVSZXBhaW50UmVjdHMoKSB3aGljaCBjb21wdXRlcyBpdCBhZ2Fpbi4gQ29tcHV0aW5n
IHRoZSByZXBhaW50CiAgICAgICAgICBjb250YWluZXIgaW52b2x2ZXMgYSB3YWxrIGJhY2sgdXAg
dGhlIGxheWVyIHRyZWUsIHNvIGNhbGxpbmcgaXQgZHVyaW5nIGEgdHJlZQogICAgICAgICAgdHJh
dmVyc2FsIGlzIGNvc3RseS4KLSAgICAgICAgIAorCiAgICAgICAgICBGaXggYnkgcGFzc2luZyB0
aGUgcmVwYWludCBjb250YWluZXIgZG93biBpbnRvIGNvbXB1dGVSZXBhaW50UmVjdHMoKS4KIAog
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CkBAIC0yMjI1OCwxOCArMjIyODYs
MTggQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRlcnMgQ2FybHNzb24uCiAKLSAgICAgICAg
V2hlbiB1c2luZyB0aHJlYWRlZCBzY3JvbGxpbmcsIHRoZSBkaXNwYXRjaGVkIHVwZGF0ZU1haW5G
cmFtZVNjcm9sbFBvc2l0aW9uKCkgY2FsbHMgCisgICAgICAgIFdoZW4gdXNpbmcgdGhyZWFkZWQg
c2Nyb2xsaW5nLCB0aGUgZGlzcGF0Y2hlZCB1cGRhdGVNYWluRnJhbWVTY3JvbGxQb3NpdGlvbigp
IGNhbGxzCiAgICAgICAgIGZyb20gU2Nyb2xsaW5nVHJlZSB3b3VsZCBwaWxlIHVwIG9uIHRoZSBt
YWluIHRocmVhZCwgYW5kIHdlJ2QgaGFuZGxlIHNldmVyYWwgcGVyCiAgICAgICAgIHJ1bmxvb3Ag
Y3ljbGUgd2hlbiBzY3JvbGxpbmcgZmFzdC4gVGhpcyBjYXVzZXMgZXh0cmEgd29yayBlc3BlY2lh
bGx5IG9uIHBhZ2VzCiAgICAgICAgIHdpdGggcG9zaXRpb246Zml4ZWQgZWxlbWVudHMgd2hpY2gg
bXVzdCB1cGRhdGUgUmVuZGVyTGF5ZXJzIG9uIHNjcm9sbGluZy4KLSAgICAgICAgCisKICAgICAg
ICAgRml4IGJ5IHVzaW5nIGEgemVyby1kZWxheSB0aW1lciBpbiBTY3JvbGxpbmdDb29yZGluYXRv
ciB0byBjb2FsZXNjZSB0aGVzZQogICAgICAgICBzY3JvbGxpbmcgdXBkYXRlcyB0byBvbmUgcGVy
IHJ1bmxvb3AuCiAKICAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRv
ci5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcjo6U2Nyb2xsaW5n
Q29vcmRpbmF0b3IpOiBJbml0aWFsaXplZCBkYXRhIG1lbWJlcnMKICAgICAgICAgZm9yIHRoZSBz
Y2hlZHVsZWQgc2Nyb2xsIHBvc2l0aW9uIHVwZGF0ZS4KLSAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGluZ0Nvb3JkaW5hdG9yOjpzY2hlZHVsZVVwZGF0ZU1haW5GcmFtZVNjcm9sbFBvc2l0aW9uKTog
SWYgCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcjo6c2NoZWR1bGVVcGRh
dGVNYWluRnJhbWVTY3JvbGxQb3NpdGlvbik6IElmCiAgICAgICAgIHRoZSB0aW1lciBpcyBhY3Rp
dmUgYW5kIHRoZSBwYXJhbWV0ZXJzIG1hdGNoLCBqdXN0IHVwZGF0ZSB0aGUgdGFyZ2V0IHNjcm9s
bAogICAgICAgICBwb3NpdGlvbiBhbmQgcmV0dXJuLiBJZiB0aGUgcGFyYW1zIGRvbid0IG1hdGNo
LCBkaXNwYXRjaCB0aGUgc2NoZWR1bGVkIHVwZGF0ZSwKICAgICAgICAgYW5kIHRoZW4gdGhlIG5l
dyBvbmUuIE90aGVyd2lzZSwgcHJpbWUgdGhlIHRpbWVyLgpAQCAtMjMwNTYsNyArMjMwODQsNyBA
QAogCiAgICAgICAgIFJldmlld2VkIGJ5IE5vYW0gUm9zZW50aGFsLgogCi0gICAgICAgIEFkZGVk
IGNvZGUgdGhhdCBkcmF3cyB0aGUgQ3VzdG9tIEZpbHRlciBpbiB0aGUgVGV4dHVyZU1hcHBlckdM
LiBBbHNvIGFkZGVkIAorICAgICAgICBBZGRlZCBjb2RlIHRoYXQgZHJhd3MgdGhlIEN1c3RvbSBG
aWx0ZXIgaW4gdGhlIFRleHR1cmVNYXBwZXJHTC4gQWxzbyBhZGRlZAogICAgICAgICByZXF1aXJl
ZCBjb2RlIHRvIG1ha2UgYSBkZXB0aCBidWZmZXIgZm9yIGEgQml0bWFwVGV4dHVyZUdMLgogCiAg
ICAgICAgIE5vdGUgdGhhdCB0aGUgY29kZSBpcyBub3Qgb3B0aW1pemVkIHlldCwgc28gaXQgd2ls
bCBhbHdheXMgcmVjb21waWxlIHRoZSBzaGFkZXIuCkBAIC0yMzEwOCw3ICsyMzEzNiw3IEBACiAg
ICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCiAKICAgICAgICAgVGhpcyBp
cyByZXF1aXJlZCB0byBtYWtlIHRoZSBleGlzdGluZyBzdWJyZXNvdXJjZSBsb2FkaW5nIGluIE5l
dHdvcmtQcm9jZXNzIHdvcmsgY29ycmVjdGx5LAotICAgICAgICBhcyB0aGVyZSdzIGFuIGlzRW1w
dHkoKSBjaGVjayBpbiB0aGUgV2ViUHJvY2VzcyB0aGF0IGRlY2lkZXMgd2hldGhlciBvciBub3Qg
dG8gYWN0dWFsbHkgZGVsaXZlciAKKyAgICAgICAgYXMgdGhlcmUncyBhbiBpc0VtcHR5KCkgY2hl
Y2sgaW4gdGhlIFdlYlByb2Nlc3MgdGhhdCBkZWNpZGVzIHdoZXRoZXIgb3Igbm90IHRvIGFjdHVh
bGx5IGRlbGl2ZXIKICAgICAgICAgdGhlIGRhdGEgdG8gdGhlIFJlc291cmNlTG9hZGVyLgogCiAg
ICAgICAgIE5vIG5ldyB0ZXN0cyAoTm8gY2hhbmdlIGluIGJlaGF2aW9yIGluIGFueSBjb25maWd1
cmF0aW9uIHdlIHRlc3QuKQpAQCAtMjM4MjksNyArMjM4NTcsNyBAQAogICAgICAgICBjaG9vc2lu
ZyBhIGNvb2tpZSBqYXIuCiAKICAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2ll
SmFyU291cC5oOiBEb24ndCBpbmNsdWRlIHVubmVjZXNzYXJ5IENvb2llSmFyLmguCi0gICAgICAg
IAorCiAgICAgICAgICogcGxhdGZvcm0vbmV0d29yay93aW4vQ29va2llSmFyV2luLmNwcDoKICAg
ICAgICAgKFdlYkNvcmU6OnNldENvb2tpZXNGcm9tRE9NKToKICAgICAgICAgKFdlYkNvcmU6OmNv
b2tpZXNGb3JET00pOgpAQCAtMjUxNzgsMTkgKzI1MjA2LDE5IEBACiAyMDEyLTExLTA4ICBCZXRo
IERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxNjQ0Ci0gICAgICAgIEZpeGVkIGhlYWRlciBvbiBGYWNl
Ym9vayBuZXdzIGZlZWQgYmVjb21lcyBkZXRhY2hlZCBmcm9tIHRvcCBvZiAKKyAgICAgICAgRml4
ZWQgaGVhZGVyIG9uIEZhY2Vib29rIG5ld3MgZmVlZCBiZWNvbWVzIGRldGFjaGVkIGZyb20gdG9w
IG9mCiAgICAgICAgIHZpZXdwb3J0IGFmdGVyIHJ1YmJlciBiYW5kIHNjcm9sbGluZwogICAgICAg
ICAtYW5kIGNvcnJlc3BvbmRpbmctCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjY1MTk0ND4K
IAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCiAKLSAgICAgICAgVGhlcmUgaXMg
Y29kZSB0byBoYW5kbGUgdGhpcyBmb3Igbm9uLXRocmVhZGVkIHNjcm9sbGluZyBvbiBGcmFtZVZp
ZXcuIAotICAgICAgICBUaGlzIHBhdGNoIG1vdmVzIG1vc3Qgb2YgdGhhdCBjb2RlIGludG8gYSBj
b252ZW5pZW5jZSBmdW5jdGlvbiBvbiAKKyAgICAgICAgVGhlcmUgaXMgY29kZSB0byBoYW5kbGUg
dGhpcyBmb3Igbm9uLXRocmVhZGVkIHNjcm9sbGluZyBvbiBGcmFtZVZpZXcuCisgICAgICAgIFRo
aXMgcGF0Y2ggbW92ZXMgbW9zdCBvZiB0aGF0IGNvZGUgaW50byBhIGNvbnZlbmllbmNlIGZ1bmN0
aW9uIG9uCiAgICAgICAgIFNjcm9sbGluZ0Nvb3JkaW5hdG9yLgogCi0gICAgICAgIEhhdmUgRnJh
bWVWaWV3OjpzY3JvbGxPZmZzZXRGb3JGaXhlZFBvc2l0aW9uKCkgY2FsbCAKLSAgICAgICAgV2Vi
Q29yZTo6c2Nyb2xsT2Zmc2V0Rm9yRml4ZWRQb3NpdGlvbigpIHdpdGggYWxsIHRoZSByaWdodCAK
KyAgICAgICAgSGF2ZSBGcmFtZVZpZXc6OnNjcm9sbE9mZnNldEZvckZpeGVkUG9zaXRpb24oKSBj
YWxsCisgICAgICAgIFdlYkNvcmU6OnNjcm9sbE9mZnNldEZvckZpeGVkUG9zaXRpb24oKSB3aXRo
IGFsbCB0aGUgcmlnaHQKICAgICAgICAgcGFyYW1ldGVycy4KICAgICAgICAgKiBwYWdlL0ZyYW1l
Vmlldy5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnNjcm9sbE9mZnNldEZvckZp
eGVkUG9zaXRpb24pOgpAQCAtMjUyMDAsNyArMjUyMjgsNyBAQAogICAgICAgICAoV2ViQ29yZTo6
Zml4ZWRQb3NpdGlvblNjcm9sbE9mZnNldCk6CiAgICAgICAgIChXZWJDb3JlOjpzY3JvbGxPZmZz
ZXRGb3JGaXhlZFBvc2l0aW9uKToKIAotICAgICAgICBUaGUgdmlld3BvcnRSZWN0IGluIHRoZXNl
IHRocmVlIHBsYWNlcyBuZWVkcyB0byBoYXZlIHRoZSAKKyAgICAgICAgVGhlIHZpZXdwb3J0UmVj
dCBpbiB0aGVzZSB0aHJlZSBwbGFjZXMgbmVlZHMgdG8gaGF2ZSB0aGUKICAgICAgICAgYWRqdXN0
ZWQtZm9yLWZpeGVkIG9mZnNldC4KICAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5h
dG9yOjp1cGRhdGVNYWluRnJhbWVTY3JvbGxQb3NpdGlvbik6CiAgICAgICAgICogcGFnZS9zY3Jv
bGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlTWFjLm1tOgpAQCAtMjU4MzMsNyAr
MjU4NjEsNyBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IE9qYW4gVmFmYWkuCiAKLSAgICAgICAg
VGhpcyBpc3N1ZSBoYXMgdG8gZG8gd2l0aCBSZW5kZXJGbGV4aWJsZUJveDo6Y29tcHV0ZU5leHRG
bGV4TGluZS4gV2hlbiBkZXRlcm1pbmcgbGluZSBicmVha3MsIHRoZSBhbGdvcml0aG0gc2VlcyBp
ZiAxKSB0aGUgdG90YWwgd2lkdGggZXhjZWVkcyBsaW5lQnJlYWtMZW5ndGggYW5kIDIpIHdoZXRo
ZXIgb3JkZXJlZENoaWxkcmVuIGlzIG5vbi1lbXB0eS4gIEJ1dCB0aGVuLCBpZiB0aGUgdG90YWwg
d2lkdGggZXhjZWVkcyBsaW5lQnJlYWtMZW5ndGggYW5kIHRoZXJlJ3Mgb25seSBhYnNvbHV0ZWx5
IHBvc2l0aW9uZWQgZWxlbW1lbnRzIGluIG9yZGVyZWRDaGlsZHJlbiB0aGVuIHRoZSBjb25kaXRp
b25zIGFyZSBtZXQgYW5kIHRoZSBhbGdvcml0aG0gbWlzdGFrZW5seSBicmVha3MgdGhlIGxpbmUu
IFRoZSBzb2x1dGlvbiBpcyB0byBzZWUgaWYgb3JkZXJlZENoaWxkcmVuIGNvbGxlY3RzIGF0IGxl
YXN0IGEgZmxleCBpdGVtLiBJZiBpdCBkb2VzLCBicmVhayB0aGUgbGluZS4gIAorICAgICAgICBU
aGlzIGlzc3VlIGhhcyB0byBkbyB3aXRoIFJlbmRlckZsZXhpYmxlQm94Ojpjb21wdXRlTmV4dEZs
ZXhMaW5lLiBXaGVuIGRldGVybWluZyBsaW5lIGJyZWFrcywgdGhlIGFsZ29yaXRobSBzZWVzIGlm
IDEpIHRoZSB0b3RhbCB3aWR0aCBleGNlZWRzIGxpbmVCcmVha0xlbmd0aCBhbmQgMikgd2hldGhl
ciBvcmRlcmVkQ2hpbGRyZW4gaXMgbm9uLWVtcHR5LiAgQnV0IHRoZW4sIGlmIHRoZSB0b3RhbCB3
aWR0aCBleGNlZWRzIGxpbmVCcmVha0xlbmd0aCBhbmQgdGhlcmUncyBvbmx5IGFic29sdXRlbHkg
cG9zaXRpb25lZCBlbGVtbWVudHMgaW4gb3JkZXJlZENoaWxkcmVuIHRoZW4gdGhlIGNvbmRpdGlv
bnMgYXJlIG1ldCBhbmQgdGhlIGFsZ29yaXRobSBtaXN0YWtlbmx5IGJyZWFrcyB0aGUgbGluZS4g
VGhlIHNvbHV0aW9uIGlzIHRvIHNlZSBpZiBvcmRlcmVkQ2hpbGRyZW4gY29sbGVjdHMgYXQgbGVh
c3QgYSBmbGV4IGl0ZW0uIElmIGl0IGRvZXMsIGJyZWFrIHRoZSBsaW5lLgogCiAgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcDoKICAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckZsZXhpYmxlQm94Ojpjb21wdXRlTmV4dEZsZXhMaW5lKToKQEAgLTI2OTQ1LDM2ICsyNjk3Mywz
NiBAQAogMjAxMi0xMS0wNyAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTMwMwotICAgICAg
ICBGaXhlZCBwb3NpdGlvbiBlbGVtZW50cyB0aGF0IGFyZSBvdXQgb2YgdmlldyBzdGlsbCBlbmQg
dXAgZm9yY2luZyAKKyAgICAgICAgRml4ZWQgcG9zaXRpb24gZWxlbWVudHMgdGhhdCBhcmUgb3V0
IG9mIHZpZXcgc3RpbGwgZW5kIHVwIGZvcmNpbmcKICAgICAgICAgbm9uLXRocmVhZGVkIHNjcm9s
bGluZwogICAgICAgICAtYW5kIGNvcnJlc3BvbmRpbmctCiAgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8xMjY0MjIyMj4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCiAKLSAgICAg
ICAgUmUtbmFtZSBoYXNOb25MYXllckZpeGVkT2JqZWN0cygpIHRvIAotICAgICAgICBoYXNWaXNp
YmxlU2xvd1JlcGFpbnRGaXhlZE9iamVjdHMoKSBhbmQgbWFrZSBpdCB2aXJ0dWFsLiAKKyAgICAg
ICAgUmUtbmFtZSBoYXNOb25MYXllckZpeGVkT2JqZWN0cygpIHRvCisgICAgICAgIGhhc1Zpc2li
bGVTbG93UmVwYWludEZpeGVkT2JqZWN0cygpIGFuZCBtYWtlIGl0IHZpcnR1YWwuCiAgICAgICAg
ICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwOgogICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6Omhhc1Zpc2libGVTbG93UmVwYWludEZpeGVkT2Jq
ZWN0cyk6CiAgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcjo6bWFpblRocmVh
ZFNjcm9sbGluZ1JlYXNvbnMpOgogICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nv
b3JkaW5hdG9yLmg6CiAgICAgICAgIChTY3JvbGxpbmdDb29yZGluYXRvcik6CiAKLSAgICAgICAg
T3ZlcnJpZGUgaGFzVmlzaWJsZVNsb3dSZXBhaW50Rml4ZWRPYmplY3RzKCkgdG8gYWx3YXlzIHJl
dHVybiBmYWxzZS4gCi0gICAgICAgIFdlIGRvbid0IHdhbnQgdG8gYm90aGVyIHdpdGggdGhlIGV4
dHJhIGNvbXB1dGF0aW9uIGluIHRoZSAKLSAgICAgICAgU2Nyb2xsaW5nQ29vcmRpbmF0b3IgaW1w
bGVtZW50YXRpb24sIHRob3VnaCBvdGhlciBwb3J0cyBtaWdodCBzdGlsbCAKKyAgICAgICAgT3Zl
cnJpZGUgaGFzVmlzaWJsZVNsb3dSZXBhaW50Rml4ZWRPYmplY3RzKCkgdG8gYWx3YXlzIHJldHVy
biBmYWxzZS4KKyAgICAgICAgV2UgZG9uJ3Qgd2FudCB0byBib3RoZXIgd2l0aCB0aGUgZXh0cmEg
Y29tcHV0YXRpb24gaW4gdGhlCisgICAgICAgIFNjcm9sbGluZ0Nvb3JkaW5hdG9yIGltcGxlbWVu
dGF0aW9uLCB0aG91Z2ggb3RoZXIgcG9ydHMgbWlnaHQgc3RpbGwKICAgICAgICAgd2FudCBpdC4K
ICAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMuaDoK
ICAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjOjpoYXNWaXNpYmxlU2xv
d1JlcGFpbnRGaXhlZE9iamVjdHMpOgogICAgICAgICAoU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMp
OgogCi0gICAgICAgIE1ha2UgdGhpcyBmdW5jdGlvbiBjb25zdCBzbyB0aGF0IHdlIGNhbiBjYWxs
IGl0IGZyb20gCisgICAgICAgIE1ha2UgdGhpcyBmdW5jdGlvbiBjb25zdCBzbyB0aGF0IHdlIGNh
biBjYWxsIGl0IGZyb20KICAgICAgICAgcmVxdWlyZXNDb21wb3NpdGluZ0ZvclBvc2l0aW9uKCku
CiAgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CiAgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNhbGN1bGF0ZUNvbXBvc2l0ZWRCb3Vu
ZHMpOgogCi0gICAgICAgIEFjdHVhbGx5IGJlIHRob3JvdWdoIGhlcmUgYW5kIGNoZWNrIGlmIHRo
ZSBmaXhlZCBvYmplY3QgaGFzIGFueSAKLSAgICAgICAgZGVzY2VuZGFudHMgdGhhdCBhcmUgdmlz
aWJsZSBpbiB0aGUgdmlldy4gSWYgaXQgZG9lcywgdGhlbiB3ZSBkbyAKKyAgICAgICAgQWN0dWFs
bHkgYmUgdGhvcm91Z2ggaGVyZSBhbmQgY2hlY2sgaWYgdGhlIGZpeGVkIG9iamVjdCBoYXMgYW55
CisgICAgICAgIGRlc2NlbmRhbnRzIHRoYXQgYXJlIHZpc2libGUgaW4gdGhlIHZpZXcuIElmIGl0
IGRvZXMsIHRoZW4gd2UgZG8KICAgICAgICAgd2FudCB0byBjb21wb3NpdGUgdGhlIGZpeGVkIG9i
amVjdC4KICAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXND
b21wb3NpdGluZ0ZvclBvc2l0aW9uKToKICAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJD
b21wb3NpdG9yLmg6CkBAIC0yNzAxOSw3ICsyNzA0Nyw3IEBACiAKICAgICAgICAgSSd2ZSByZW1v
dmVkIHRoZSBuZWVkIHRvIGdldCBhIEN1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0gZnJvbSBG
aWx0ZXJFZmZlY3RSZW5kZXJlci4gSXQgd2FzIG9ubHkKICAgICAgICAgdXNlZCB0byBkZWxheSB0
aGUgY29tcGlsYXRpb24gb2YgdGhlIHNoYWRlciB1bnRpbCBpdCB3YXMgcmVhbGx5IG5lZWRlZC4g
SW5zdGVhZCwgdGhlIEZpbHRlckVmZmVjdFJlbmRlcmVyCi0gICAgICAgIHdpbGwgZGlyZWN0bHkg
Z2V0IHRoZSBjb21waWxlZCBzaGFkZXIgaW4gdGhlIGNvbnN0cnVjdG9yLiBUaGUgY2FsbGVycyB0
aGF0IHN0aWxsIHdhbnQgdG8gYXZvaWQgCisgICAgICAgIHdpbGwgZGlyZWN0bHkgZ2V0IHRoZSBj
b21waWxlZCBzaGFkZXIgaW4gdGhlIGNvbnN0cnVjdG9yLiBUaGUgY2FsbGVycyB0aGF0IHN0aWxs
IHdhbnQgdG8gYXZvaWQKICAgICAgICAgY29tcGlsaW5nIHRoZSBzaGFkZXIgdW50aWwgaXQgaXMg
cmVhbGx5IG5lZWRlZCBjYW4gdXNlIHRoZSBzZXRDb21waWxlZFByb2dyYW0gdG8gaW5qZWN0IHRo
ZSBzaGFkZXIKICAgICAgICAgYXQgYSBsYXRlciB0aW1lLCBiZWZvcmUgcGFpbnRpbmcuCiAKQEAg
LTI3MTY5LDcgKzI3MTk3LDcgQEAKIAogICAgICAgICBNYWtpbmcgYSBsYXlvdXQgdGVzdCBmb3Ig
dGhpcyBpcyBub3QgcG9zc2libGUgYmVjYXVzZSBpdCByZXF1aXJlcyBzZXR0aW5nIGZvY3VzIHRv
IHNvbWV0aGluZyBpbiB0aGUgY2hyb21lLCBhbmQgdGhlbgogICAgICAgICBtb3ZpbmcgZm9jdXMg
YmFjayB0byB0aGUgd2VicGFnZS4KLSAgICAgIAorCiAgICAgICAgICogYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcDoKICAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3Q6OnNldEZvY3VzZWQpOgogCkBAIC0yODAxMiw3ICsyODA0MCw3IEBA
CiAgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9jZi9Db29raWVTdG9yYWdlQ0ZOZXQuY3BwOgog
ICAgICAgICAoV2ViQ29yZTo6Y3VycmVudENGSFRUUENvb2tpZVN0b3JhZ2UpOiBVcGRhdGVkIGEg
Y29tbWVudC4KICAgICAgICAgKFdlYkNvcmU6OmRlZmF1bHRDRkhUVFBDb29raWVTdG9yYWdlKTog
IEFkZGVkIGEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGNvb2tpZSBzdG9yYWdlCi0gICAgICAgIGZv
ciBub24tcHJpdmF0ZSBzZXNzaW9uIChvciBudWxsIGlmIHRoYXQgd291bGQgYmUgYW4gTlNIVFRQ
Q29va2llU3RvcmFnZSkuICAgICAgICAKKyAgICAgICAgZm9yIG5vbi1wcml2YXRlIHNlc3Npb24g
KG9yIG51bGwgaWYgdGhhdCB3b3VsZCBiZSBhbiBOU0hUVFBDb29raWVTdG9yYWdlKS4KICAgICAg
ICAgKFdlYkNvcmU6OnN0YXJ0T2JzZXJ2aW5nQ29va2llQ2hhbmdlcyk6IFdlIGRvIG5vdCB3YW50
IHRvIG9ic2VydmUgcHJpdmF0ZSBjb29raWVzCiAgICAgICAgIGhlcmUsIGFuZCB3ZSBjZXJ0YWlu
bHkgZG9uJ3Qgd2FudCBhIG1pc21hdGNoIGJldHdlZW4gc3RhcnQvc3RvcCBkdWUgdG8gcHJpdmF0
ZQogICAgICAgICBicm93c2luZyBtb2RlIGNoYW5nZXMuCkBAIC0yODA0MywxMCArMjgwNzEsMTAg
QEAKIAogICAgICAgICBJZiB0aGUgYm9keSBoYWQgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRl
eHQsIHdlJ2QgZmFpbCB0byBwYWludAogICAgICAgICBhbnl0aGluZyBiZWhpbmQgaXQsIHNvIHdv
dWxkIHNlZSBnYXJiYWdlIHBpeGVscy4KLSAgICAgICAgCisKICAgICAgICAgRml4IGJ5IGhhdmlu
ZyBSZW5kZXJWaWV3OjpwYWludEJveERlY29yYXRpb25zKCkgY2hlY2sgZm9yIGEgYmFja2dyb3Vu
ZC1jbGlwIG9mICJ0ZXh0IgogICAgICAgICBvbiB0aGUgcmVuZGVyZXIgdGhhdCBwYWludHMgdGhl
IHJvb3QgYmFja2dyb3VuZC4KLSAgICAgICAgCisKICAgICAgICAgQWRkZWQgc29tZSBuZXcgcGl4
ZWwgdGVzdHMgZm9yIGNvbWJpbmF0aW9ucyBvZiBodG1sIGFuZCBib2R5IHRyYW5zZm9ybQogICAg
ICAgICBhbmQgYmFja2dyb3VuZHM7IGVhcmxpZXIgdmVyc2lvbnMgb2YgdGhlIHBhdGNoIGJyb2tl
IHNvbWUgb2YgdGhlc2UgdGVzdHMuCiAKQEAgLTI4MDcxLDcgKzI4MDk5LDcgQEAKIAogICAgICAg
ICBSZXZpZXdlZCBieSBEaXJrIFByYW5rZS4KIAotICAgICAgICBJbiBodHRwOi8vdHJhYy53ZWJr
aXQub3JnL2NoYW5nZXNldC8xMzMzOTksIEkgcmVzb2x2ZWQgYSBidW5jaCBvZiAKKyAgICAgICAg
SW4gaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTMzMzk5LCBJIHJlc29sdmVkIGEg
YnVuY2ggb2YKICAgICAgICAgZmxha3kgdGVzdHMgYnkgc2F2aW5nIGFuZCByZXN0b3JpbmcgdGhl
IEludGVybmFsU2V0dGluZ3Mgc3RhdGUKICAgICAgICAgRW5hYmxlQ29tcG9zaXRpbmdGb3JGaXhl
ZFBvc2l0aW9uLiAgT24gYSBodW5jaCwgSSBnaXQgZ3JlcHBlZCBmb3IgYWxsCiAgICAgICAgIGlu
dGVybmFsIHNldHRpbmdzIHN0YXRlIHdoaWNoIGlzIGJlaW5nIHNldCBieSBsYXlvdXQgdGVzdHMg
YnV0IG5vdApAQCAtMjg0NzMsNyArMjg1MDEsNyBAQAogICAgICAgICByZXF1aXJlcyB0aGF0IHRo
ZSBlbnRpcmUgbGF5ZXIgdHJlZSBoYXMgYmVlbiB1cGRhdGVkIGZyb20gcmVuZGVyZXJzLAogICAg
ICAgICBzbyB0aGF0IHRoZSBnZW9tZXRyeSBvZiBhbGwgUmVuZGVyTGF5ZXJzIGNhbiBiZSB0cnVz
dGVkLiBXaGVuIHRoaXMgc3RhdGUKICAgICAgICAgd2FzIHZpb2xhdGVkLCBSZW5kZXJHZW9tZXRy
eU1hcCBhc3NlcnRzLgotICAgICAgICAKKwogICAgICAgICBGaXggYnkgYmFpbGluZyBmcm9tIHVw
ZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzQWZ0ZXJTY3JvbGwoKSBpZiBGcmFtZVZpZXcKICAgICAgICAg
dGVsbHMgdXMgdGhhdCB3ZSdyZSBkb2luZyBsYXlvdXQuIEEgZnVsbCB1cGRhdGUgb2YgdGhlIGNv
bXBvc2l0aW5nIGxheWVycwogICAgICAgICB3aWxsIGhhcHBlbiBsYXRlciBhbnl3YXkuCkBAIC0y
ODY2Nyw3ICsyODY5NSw3IEBACiAgICAgICAgIGdlbmVyYXRlZCBEQUcgb24gdGhlIFJlZmVyZW5j
ZUZpbHRlck9wZXJhdGlvbiBpdHNlbGYuCiAgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcDoKICAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp1cGRhdGVPclJlbW92ZUZpbHRl
ckVmZmVjdCk6Ci0gICAgICAgIEV2ZW4gd2hlbiBpbiBjb21wb3NpdGVkIG1vZGUsIGlmIHRoZXJl
J3MgYSByZWZlcmVuY2UgZmlsdGVyIGluIHRoZSAKKyAgICAgICAgRXZlbiB3aGVuIGluIGNvbXBv
c2l0ZWQgbW9kZSwgaWYgdGhlcmUncyBhIHJlZmVyZW5jZSBmaWx0ZXIgaW4gdGhlCiAgICAgICAg
IGNoYWluLCBidWlsZCB0aGUgRmlsdGVyRWZmZWN0IERBRyBmcm9tIGl0LgogCiAyMDEyLTExLTA2
ICBNYXggRmVpbCAgPG1mZWlsQHJpbS5jb20+CkBAIC0yOTMxNyw3ICsyOTM0NSw3IEBACiAgICAg
ICAgIHRoaXMgaXMgYSBiYWQgdGltZSB0byB1cGRhdGUgY29tcG9zaXRpbmcgbGF5ZXJzLCBiZWNh
dXNlIHdlJ3JlIGFib3V0CiAgICAgICAgIHRvIGRvIGxheW91dCwgd2hpY2ggd2lsbCByZXF1aXJl
IHVzIHRvIHVwZGF0ZSB0aGVtIGFnYWluIHNvb24gYW55d2F5LAogICAgICAgICBhbmQgc29tZSBS
ZW5kZXJMYXllcnMgbWF5IG5vdCBoYXZlIGJlZW4gc2l6ZWQgb3IgcG9zaXRpb25lZCB5ZXQuCi0g
ICAgICAgIAorCiAgICAgICAgIEZpeCBieSBhZGRpbmcgYSBtX2RvaW5nUHJlTGF5b3V0U3R5bGVV
cGRhdGUgbWVtYmVyIHRvIEZyYW1lVmlldywKICAgICAgICAgYW5kIHRvZ2dsaW5nIGl0IGFyb3Vu
ZCB0aGlzIGNhbGwgdG8gdXBkYXRlU3R5bGVJZk5lZWRlZCgpLgogICAgICAgICBSZWFkIHRoaXMg
c3RhdGUgaW4gdXBkYXRlQ29tcG9zaXRpbmdMYXllcnNBZnRlclN0eWxlQ2hhbmdlKCksIHdoaWNo
IGlzCkBAIC0yOTM0MCw4ICsyOTM2OCw4IEBACiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24g
RnJhc2VyLgogCi0gICAgICAgIFRoaXMgY2xhc3MgY2xlYW5zIHVwIFNjcm9sbGluZ0NvbnN0cmFp
bnRzLmggYnkgcmVtb3ZpbmcgdGhlIGNvbnN0cnVjdG9ycyBzaW5jZSB0aGUgCi0gICAgICAgIGNv
bXBpbGVyIHdpbGwgZ2VuZXJhdGUgdGhvc2UgY29uc3RydWN0b3JzIGZvciB1cyBhbnl3YXkuIFRo
ZSBwYXRjaCBhbHNvIG1ha2VzIHRoZSAKKyAgICAgICAgVGhpcyBjbGFzcyBjbGVhbnMgdXAgU2Ny
b2xsaW5nQ29uc3RyYWludHMuaCBieSByZW1vdmluZyB0aGUgY29uc3RydWN0b3JzIHNpbmNlIHRo
ZQorICAgICAgICBjb21waWxlciB3aWxsIGdlbmVyYXRlIHRob3NlIGNvbnN0cnVjdG9ycyBmb3Ig
dXMgYW55d2F5LiBUaGUgcGF0Y2ggYWxzbyBtYWtlcyB0aGUKICAgICAgICAgdHdvIG92ZXJyaWRl
IGZ1bmN0aW9ucyBwcml2YXRlLgogICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nv
bnN0cmFpbnRzLmg6CiAgICAgICAgIChWaWV3cG9ydENvbnN0cmFpbnRzKToKQEAgLTI5Mzc5LDM3
ICsyOTQwNywzNyBAQAogMjAxMi0xMS0wNSAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+
CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTAw
MQotICAgICAgICBQYWdlcyB3aXRoIHBvc2l0aW9uOmZpeGVkIGVsZW1lbnRzIHNob3VsZCBzdGls
bCBiZSBhYmxlIHRvIHNjcm9sbCBvbiAKKyAgICAgICAgUGFnZXMgd2l0aCBwb3NpdGlvbjpmaXhl
ZCBlbGVtZW50cyBzaG91bGQgc3RpbGwgYmUgYWJsZSB0byBzY3JvbGwgb24KICAgICAgICAgdGhl
IHNjcm9sbGluZyB0aHJlYWQKICAgICAgICAgLWFuZCBjb3JyZXNwb25kaW5nLQogICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMTA4NTczMTU+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJh
c2VyLgogCi0gICAgICAgIFRoaXMgcGF0Y2ggYWRkcyB0d28gbmV3IGNsYXNzZXMuIFNjcm9sbGlu
Z1N0YXRlRml4ZWROb2RlIGlzIGEgY2xhc3MgCi0gICAgICAgIHRvIHJlcHJlc2VudCBmaXhlZCBu
b2RlcyBpbiB0aGUgc3RhdGUgdHJlZSwgYW5kIAotICAgICAgICBTY3JvbGxpbmdUcmVlRml4ZWRO
b2RlIHJlcHJlc2VudHMgZml4ZWQgbm9kZSBpbiB0aGUgc2Nyb2xsaW5nIHRyZWUgCisgICAgICAg
IFRoaXMgcGF0Y2ggYWRkcyB0d28gbmV3IGNsYXNzZXMuIFNjcm9sbGluZ1N0YXRlRml4ZWROb2Rl
IGlzIGEgY2xhc3MKKyAgICAgICAgdG8gcmVwcmVzZW50IGZpeGVkIG5vZGVzIGluIHRoZSBzdGF0
ZSB0cmVlLCBhbmQKKyAgICAgICAgU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZSByZXByZXNlbnRzIGZp
eGVkIG5vZGUgaW4gdGhlIHNjcm9sbGluZyB0cmVlCiAgICAgICAgIG92ZXIgb24gdGhlIHNjcm9s
bGluZyB0aHJlYWQuCiAgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgogCi0gICAgICAgIFdoZW4gd2UgYXJlIChub24tcHJvZ3JhbWF0aWNhbGx5KSBzY3JvbGxpbmcg
Zml4ZWQgb2JqZWN0cyBvbiB0aGUgCi0gICAgICAgIHNjcm9sbGluZyB0aHJlYWQsIHdlIGRvIG5v
dCB3YW50IHRvIGRvIGFueSB3b3JrIGhlcmUuIAorICAgICAgICBXaGVuIHdlIGFyZSAobm9uLXBy
b2dyYW1hdGljYWxseSkgc2Nyb2xsaW5nIGZpeGVkIG9iamVjdHMgb24gdGhlCisgICAgICAgIHNj
cm9sbGluZyB0aHJlYWQsIHdlIGRvIG5vdCB3YW50IHRvIGRvIGFueSB3b3JrIGhlcmUuCiAgICAg
ICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgogICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3Ojp1
cGRhdGVGaXhlZEVsZW1lbnRzQWZ0ZXJTY3JvbGxpbmcpOgogCi0gICAgICAgIFdoZW5ldmVyIHdl
IHN5bmMgdGhlIHBvc2l0aW9uIG9mIHRoZSBtYWluIGZyYW1lJ3MgbGF5ZXIsIHdlIGhhdmUgdG8g
CisgICAgICAgIFdoZW5ldmVyIHdlIHN5bmMgdGhlIHBvc2l0aW9uIG9mIHRoZSBtYWluIGZyYW1l
J3MgbGF5ZXIsIHdlIGhhdmUgdG8KICAgICAgICAgZG8gdGhlIHNhbWUgZm9yIHNjcm9sbGluZyB0
cmVlIGNoaWxkcmVuLgogICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5h
dG9yLmNwcDoKICAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjp1cGRhdGVN
YWluRnJhbWVTY3JvbGxQb3NpdGlvbik6CiAKLSAgICAgICAgTmV3IFNjcm9sbGluZ05vZGVUeXBl
IC0tIEZpeGVkTm9kZSwgeWF5ISBBbmQgdHdvIG5ldyBmdW5jdGlvbnMgCisgICAgICAgIE5ldyBT
Y3JvbGxpbmdOb2RlVHlwZSAtLSBGaXhlZE5vZGUsIHlheSEgQW5kIHR3byBuZXcgZnVuY3Rpb25z
CiAgICAgICAgIHNwZWNpZmljIHRvIGRlYWxpbmcgd2l0aCBGaXhlZE5vZGVzLgogICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmg6CiAgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxpbmdDb29yZGluYXRvcjo6dXBkYXRlVmlld3BvcnRDb25zdHJhaW5lZE5vZGUpOgog
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnN5bmNDaGlsZFBvc2l0aW9u
cyk6CiAKLSAgICAgICAgVGhpcyBpcyB0aGUgbmV3IGNsYXNzIHRoYXQgcmVwcmVzZW50cyBmaXhl
ZCBub2RlcyBpbiB0aGUgc3RhdGUgdHJlZS4gCi0gICAgICAgIEFsbCBvZiB0aGUgY2hhbmdlZCBw
cm9wZXJ0aWVzIGFyZSBzdG9yZWQgd2l0aGluIAorICAgICAgICBUaGlzIGlzIHRoZSBuZXcgY2xh
c3MgdGhhdCByZXByZXNlbnRzIGZpeGVkIG5vZGVzIGluIHRoZSBzdGF0ZSB0cmVlLgorICAgICAg
ICBBbGwgb2YgdGhlIGNoYW5nZWQgcHJvcGVydGllcyBhcmUgc3RvcmVkIHdpdGhpbgogICAgICAg
ICBGaXhlZFBvc2l0aW9uVmlld3BvcnRDb25zdHJhaW50cy4KICAgICAgICAgKiBwYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZS5jcHA6IEFkZGVkLgogICAgICAgICAoV2ViQ29y
ZSk6CkBAIC0yOTQyOCwxNCArMjk0NTYsMTQgQEAKICAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdTdGF0ZU5vZGUuY3BwOgogICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVO
b2RlOjpjbG9uZUFuZFJlc2V0KToKIAotICAgICAgICBOb3cgdGhhdCBtX2NoaWxkcmVuIG1heSBi
ZSBhbnl0aGluZyBvdGhlciB0aGFuIG51bGwsIEkgZm91bmQgdGhpcyAKLSAgICAgICAgYnVnLiBX
ZSBlbmNvdW50ZXIgaXQgd2hlbiB0aGUgcGFyYW1ldGVyIHRvIHJlbW92ZUNoaWxkIGlzIHRoaXMg
YW5kIHdlIAotICAgICAgICB3YW50IHRvIHJlbW92ZSBhbGwgb2Ygb3VyIGNoaWxkcmVuLiBJbiB0
aGF0IGNhc2UsIHRoaXMgaXMgb2J2aW91c2x5IAorICAgICAgICBOb3cgdGhhdCBtX2NoaWxkcmVu
IG1heSBiZSBhbnl0aGluZyBvdGhlciB0aGFuIG51bGwsIEkgZm91bmQgdGhpcworICAgICAgICBi
dWcuIFdlIGVuY291bnRlciBpdCB3aGVuIHRoZSBwYXJhbWV0ZXIgdG8gcmVtb3ZlQ2hpbGQgaXMg
dGhpcyBhbmQgd2UKKyAgICAgICAgd2FudCB0byByZW1vdmUgYWxsIG9mIG91ciBjaGlsZHJlbi4g
SW4gdGhhdCBjYXNlLCB0aGlzIGlzIG9idmlvdXNseQogICAgICAgICBub3QgZm91bmQgaW4gaXRz
IG93biBjaGlsZCBhcnJheS4KICAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlTm9kZTo6
cmVtb3ZlQ2hpbGQpOgogCi0gICAgICAgIFNjcm9sbGluZ1N0YXRlTm9kZSBub3cgY2FjaGVzIHRo
ZSBHcmFwaGljc0xheWVyIGluIGFkZGl0aW9uIHRvIHRoZSAKLSAgICAgICAgUGxhdGZvcm1MYXll
ci4gVGhpcyB3aWxsIGFsbG93IHVzIHRvIHN5bmMgdGhlIEdyYXBoaWNzTGF5ZXIgcG9zaXRpb24g
CisgICAgICAgIFNjcm9sbGluZ1N0YXRlTm9kZSBub3cgY2FjaGVzIHRoZSBHcmFwaGljc0xheWVy
IGluIGFkZGl0aW9uIHRvIHRoZQorICAgICAgICBQbGF0Zm9ybUxheWVyLiBUaGlzIHdpbGwgYWxs
b3cgdXMgdG8gc3luYyB0aGUgR3JhcGhpY3NMYXllciBwb3NpdGlvbgogICAgICAgICBhdCB0aGUg
YXBwcm9wcmlhdGUgdGltZXMuCiAgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3Rh
dGVOb2RlLmg6CiAgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZU5vZGU6OmlzU2Nyb2xs
aW5nU3RhdGVGaXhlZE5vZGUpOgpAQCAtMjk0NDYsMTQgKzI5NDc0LDE0IEBACiAgICAgICAgICog
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxpbmdUcmVlOjp1cGRhdGVUcmVlRnJvbVN0YXRlTm9kZSk6CiAKLSAgICAgICAgTmV3IGZ1bmN0
aW9uIHBhcmVudFNjcm9sbFBvc2l0aW9uRGlkQ2hhbmdlKCkgaXMgY2FsbGVkIG9uIGNoaWxkcmVu
IAorICAgICAgICBOZXcgZnVuY3Rpb24gcGFyZW50U2Nyb2xsUG9zaXRpb25EaWRDaGFuZ2UoKSBp
cyBjYWxsZWQgb24gY2hpbGRyZW4KICAgICAgICAgd2hlbiB0aGUgcGFyZW50IGhhcyBzY3JvbGxl
ZC4KICAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTm9kZS5oOgogICAgICAg
ICAoU2Nyb2xsaW5nVHJlZU5vZGUpOgogICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1RyZWVTY3JvbGxpbmdOb2RlLmg6CiAgICAgICAgIChTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9k
ZSk6CiAKLSAgICAgICAgUmV0dXJuIHRydWUgZm9yIHN1cHBvcnRzRml4ZWRQb3NpdGlvbkxheWVy
cygpLiAKKyAgICAgICAgUmV0dXJuIHRydWUgZm9yIHN1cHBvcnRzRml4ZWRQb3NpdGlvbkxheWVy
cygpLgogICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1h
Yy5oOgogICAgICAgICAoU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMpOgogCkBAIC0yOTQ2MSwxNCAr
Mjk0ODksMTQgQEAKICAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRp
bmF0b3JNYWMubW06CiAgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6
YXR0YWNoVG9TdGF0ZVRyZWUpOgogCi0gICAgICAgIE5vdyB0aGF0IG1fY2hpbGRyZW4gY2FuIGJl
IG5vbi1udWxsIEkgY2F1Z2h0IHRoaXMgcHJlLWV4aXN0aW5nIGJ1ZyAKLSAgICAgICAgd2hlcmUg
d2Ugd291bGQgY29tZSB0aW1lcyByZW1vdmUgYSBub2RlIHdpdGhvdXQgdXBkYXRpbmcgdGhlIEhh
c2hNYXAuIAorICAgICAgICBOb3cgdGhhdCBtX2NoaWxkcmVuIGNhbiBiZSBub24tbnVsbCBJIGNh
dWdodCB0aGlzIHByZS1leGlzdGluZyBidWcKKyAgICAgICAgd2hlcmUgd2Ugd291bGQgY29tZSB0
aW1lcyByZW1vdmUgYSBub2RlIHdpdGhvdXQgdXBkYXRpbmcgdGhlIEhhc2hNYXAuCiAgICAgICAg
IFRoaXMgcGF0Y2ggZml4ZXMgdGhhdCBieSBjb25zb2xpZGF0aW5nIHRoZSByZW1vdmFsIGludG8g
b25lIGZ1bmN0aW9uLgogICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6
OnJlbW92ZU5vZGUpOgogICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWM6
OmRldGFjaEZyb21TdGF0ZVRyZWUpOgogICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRp
bmF0b3JNYWM6OmNsZWFyU3RhdGVUcmVlKToKIAotICAgICAgICBVcGRhdGUgdGhlIEdyYXBoaWNz
TGF5ZXJzIHRvIHJlZmxlY3QgdGhlIG5ldyBwb3NpdGlvbiB0aGF0IHRoZSAKKyAgICAgICAgVXBk
YXRlIHRoZSBHcmFwaGljc0xheWVycyB0byByZWZsZWN0IHRoZSBuZXcgcG9zaXRpb24gdGhhdCB0
aGUKICAgICAgICAgU2Nyb2xsaW5nIHRocmVhZCBoYXMgbW92ZWQgdGhlIHVuZGVybHlpbmcgQ0FM
YXllciB0byBhbHJlYWR5LgogICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JN
YWM6OnN5bmNDaGlsZFBvc2l0aW9ucyk6CiAKQEAgLTI5NDc5LDggKzI5NTA3LDggQEAKICAgICAg
ICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nU3RhdGVOb2RlTWFjLm1tOgogICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVOb2RlOjpzZXRTY3JvbGxMYXllcik6CiAKLSAgICAg
ICAgSGVyZSBpcyB0aGUgbmV3IGNsYXNzIHRoYXQgcmVwcmVzZW50cyBmaXhlZCBub2RlcyBvdmVy
IG9uIHRoZSAKLSAgICAgICAgc2Nyb2xsaW5nIHRocmVhZC4gCisgICAgICAgIEhlcmUgaXMgdGhl
IG5ldyBjbGFzcyB0aGF0IHJlcHJlc2VudHMgZml4ZWQgbm9kZXMgb3ZlciBvbiB0aGUKKyAgICAg
ICAgc2Nyb2xsaW5nIHRocmVhZC4KICAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xs
aW5nVHJlZUZpeGVkTm9kZS5oOiBBZGRlZC4KICAgICAgICAgKFdlYkNvcmUpOgogICAgICAgICAo
U2Nyb2xsaW5nVHJlZUZpeGVkTm9kZSk6CkBAIC0yOTQ5MSwxMSArMjk1MTksMTEgQEAKICAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVGaXhlZE5vZGU6On5TY3JvbGxpbmdUcmVlRml4ZWRO
b2RlKToKICAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVGaXhlZE5vZGU6OnVwZGF0ZSk6
CiAKLSAgICAgICAgVGhpcyBpcyB3aGVyZSB0aGUgbWFnaWMgaGFwcGVucy4gcmUtcG9zaXRpb24g
dGhlIGZpeGVkIG9iamVjdCB3aGVuIAorICAgICAgICBUaGlzIGlzIHdoZXJlIHRoZSBtYWdpYyBo
YXBwZW5zLiByZS1wb3NpdGlvbiB0aGUgZml4ZWQgb2JqZWN0IHdoZW4KICAgICAgICAgaXRzIHBh
cmVudCBoYXMgc2Nyb2xsZWQgc28gdGhhdCBpdCBhcHBlYXJzIHRvIGhhdmUgbm90IG1vdmVkIGF0
IGFsbC4KICAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVGaXhlZE5vZGU6OnBhcmVudFNj
cm9sbFBvc2l0aW9uRGlkQ2hhbmdlKToKIAotICAgICAgICBXaGVuZXZlciB3ZSBjaGFuZ2UgdGhl
IHBvc2l0aW9uIG9mIGEgc2Nyb2xsaW5nIGxheWVyLCB0ZWxsIG91ciAKKyAgICAgICAgV2hlbmV2
ZXIgd2UgY2hhbmdlIHRoZSBwb3NpdGlvbiBvZiBhIHNjcm9sbGluZyBsYXllciwgdGVsbCBvdXIK
ICAgICAgICAgY2hpbGRyZW4uCiAgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGlu
Z1RyZWVTY3JvbGxpbmdOb2RlTWFjLm1tOgogICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJl
ZVNjcm9sbGluZ05vZGVNYWM6OnNldFNjcm9sbExheWVyUG9zaXRpb24pOgpAQCAtMjk1MDQsMTMg
KzI5NTMyLDEzIEBACiAgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6
CiAgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OmF0dGFjaFRvU2Nyb2xsaW5n
Q29vcmRpbmF0b3IpOgogCi0gICAgICAgIGRldGFjaEZyb21TY3JvbGxpbmdDb29yZGluYXRvcigp
IG5lZWRzIHRvIGJlIHB1YmxpYyBzbyB0aGF0IGl0IGNhbiBiZSAKKyAgICAgICAgZGV0YWNoRnJv
bVNjcm9sbGluZ0Nvb3JkaW5hdG9yKCkgbmVlZHMgdG8gYmUgcHVibGljIHNvIHRoYXQgaXQgY2Fu
IGJlCiAgICAgICAgIGNhbGxlZCBmcm9tIFJlbmRlckxheWVyQ29tcG9zaXRvciBmb3IgZml4ZWQg
bm9kZXMuCiAgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oOgogICAgICAg
ICAoUmVuZGVyTGF5ZXJCYWNraW5nKToKIAotICAgICAgICBSZW5kZXJMYXllckNvbXBvc2l0b3Ig
dGFrZXMgY29udHJvbCBvZiBhdHRhY2hpbmcgYW5kIGRldGFjaGluZyBmaXhlZCAKLSAgICAgICAg
bm9kZXMgdG8vZnJvbSB0aGUgU2Nyb2xsaW5nQ29vcmRpbmF0b3IuIAorICAgICAgICBSZW5kZXJM
YXllckNvbXBvc2l0b3IgdGFrZXMgY29udHJvbCBvZiBhdHRhY2hpbmcgYW5kIGRldGFjaGluZyBm
aXhlZAorICAgICAgICBub2RlcyB0by9mcm9tIHRoZSBTY3JvbGxpbmdDb29yZGluYXRvci4KICAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKICAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKToK
ICAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZGlkRmx1c2hDaGFuZ2Vz
Rm9yTGF5ZXIpOgpAQCAtMjk4NDYsNyArMjk4NzQsNyBAQAogICAgICAgICAqIFBsYXRmb3JtV2lu
Q0UuY21ha2U6CiAgICAgICAgICogV2ViQ29yZS5neXBpOgogICAgICAgICBObyBtb3JlIENvb2tp
ZVN0b3JhZ2VXaW4uY3BwIHdpdGggYW4gZW1wdHkgaW1wbGVtZW50YXRpb24uCi0gICAgCisKICAg
ICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKICAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViQ29yZVN5
c3RlbUludGVyZmFjZS5oOgogICAgICAgICAqIHBsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50
ZXJmYWNlLm1tOgpAQCAtMjk5MTUsMTIgKzI5OTQzLDEyIEBACiAgICAgICAgIG9uIGEgY2FsbGJh
Y2sgdGhyb3VnaCB0aGUgR3JhcGhpY3NMYXllckNsaWVudC4gVGhpcyBtYWRlIGl0CiAgICAgICAg
IGhhcmQgdG8gbWFuYWdlIHN0YXRlLCByZXN1bHRpbmcgaW4gYSBmYWlsdXJlIHRvIGNsZWFubHkK
ICAgICAgICAgaGlkZSBsYXllcnMgd2hlbiB0b2dnbGVkIG9mZiB2aWEgdGhlIHByZWZlcmVuY2Uu
Ci0gICAgICAgIAorCiAgICAgICAgIENoYW5nZWQgdGhlIGxheWVyIGJvcmRlciBhbmQgcmVwYWlu
dCBjb3VudGVyIHZpc2liaWxpdHkgdG8gYmUgYml0cwogICAgICAgICBzdG9yZWQgb24gR3JhcGhp
Y3NMYXllciBqdXN0IGxpa2Ugb3RoZXIgcHJvcGVydGllcywgd2l0aCBnZXR0ZXJzCiAgICAgICAg
IGFuZCBzZXR0ZXJzLiBSZW5kZXJMYXllckJhY2tpbmcgbm93IHVwZGF0ZXMgdGhlc2UgZGVidWcK
ICAgICAgICAgaW5kaWNhdG9ycyB3aGVuIHdlIHVwZGF0ZSBvdGhlciBjb21wb3NpdGluZyBsYXll
ciBwcm9wZXJ0aWVzLgotICAgICAgICAKKwogICAgICAgICBJbiBHcmFwaGljc0xheWVyQ0EsIGF2
b2lkIGNhbGxpbmcgdXBkYXRlRGVidWdJbmRpY2F0b3JzKCkgZXhwbGljaXRseQogICAgICAgICBp
biBzZXZlcmFsIHBsYWNlcyBieSBzZXR0aW5nIHRoZSBjaGFuZ2UgZmxhZyBEZWJ1Z0luZGljYXRv
cnNDaGFuZ2VkCiAgICAgICAgIGZvciBwcm9wZXJ0aWVzIHdob3NlIHZhbHVlcyBhZmZlY3QgdGhl
IGFwcGVhcmFuY2Ugb2YgdGhlIGRlYnVnIGJvcmRlci4KQEAgLTMwMjEyLDcgKzMwMjQwLDcgQEAK
ICAgICAgICAgTGF5b3V0VW5pdHMgZXhwbGljaXQgYW5kIGNvcnJlY3RlZCB0aGUgY2FzZSB3aGVy
ZSB0aGUgdG9wIHZhbHVlIHdhcyB0cnVuY2F0ZWQuICBBCiAgICAgICAgIGZsb2F0IGxvZ2ljYWxU
b3AgdmFsdWUgaXMgY29udmVydGVkIHRvIExheW91dFVuaXQgd2l0aCBmcm9tRmxvYXRDZWlsKCkg
dG8gZW5zdXJlCiAgICAgICAgIHRoYXQgdGhlIExheW91dFVuaXQgdmFsdWUgaXMgd2l0aGluIHRo
ZSBzaGFwZS4KLSAgICAgICAgCisKICAgICAgICAgVGVzdDogZmFzdC9leGNsdXNpb25zL3NoYXBl
LWluc2lkZS9zaGFwZS1pbnNpZGUtc2hhcGUtbG9naWNhbC10b3AuaHRtbAogCiAgICAgICAgICog
cmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlSW5zaWRlSW5mby5oOgpAQCAtMzAyMjksMjEgKzMwMjU3
LDIxIEBACiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDEyMTEKIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgotICAgICAgICAKKwog
ICAgICAgICBTb21lIGNyYXNoZXMgaGF2ZSBiZWVuIHNlZW4gdW5kZXIgTWVtb3J5Q2FjaGU6OnBy
dW5lRGVhZFJlc291cmNlc1RvU2l6ZS4gQSBwb3NzaWJsZSBjYXVzZSBpcyB0aGF0CiAgICAgICAg
IGRlc3Ryb3lEZWNvZGVkRGF0YSgpIGNhbGwgZW5kcyB1cCBldmljdGluZyB0aGUgcmVzb3VyY2Ug
cG9pbnRlZCBieSAncHJldmlvdXMnIHBvaW50ZXIgZHVyaW5nIGl0ZXJhdGlvbgogICAgICAgICBh
bmQgZGVsZXRpbmcgdGhlIG9iamVjdC4gVGhpcyBsb29rcyBpbiBwcmluY2lwbGUgcG9zc2libGUg
dmlhIHN0eWxlc2hlZXRzIGFuZCBTVkcgaW1hZ2VzLgotICAgICAgICAKKwogICAgICAgICBTcGVj
dWxhdGl2ZSBmaXgsIG5vIHJlcHJvLCBubyBvYnZpb3VzIHdheSB0byBjb25zdHJ1Y3QgYSB0ZXN0
LgogCiAgICAgICAgICogbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcDoKICAgICAgICAgKFdl
YkNvcmU6Ok1lbW9yeUNhY2hlOjpwcnVuZURlYWRSZXNvdXJjZXNUb1NpemUpOgotICAgICAgICAK
KwogICAgICAgICAgICAgVXNlIENhY2hlZFJlc291cmNlSGFuZGxlIHRvIHByb3RlY3QgdGhlICdw
cmV2aW91cycgcG9pbnRlciBkdXJpbmcgaXRlcmF0aW9uLiBDaGVjayBpZiB0aGUKICAgICAgICAg
ICAgIHJlc291cmNlIGhhcyBiZWVuIGtpY2tlZCBvdXQgZnJvbSB0aGUgY2FjaGUgZHVyaW5nIGRl
c3Ryb3lEZWNvZGVkRGF0YSgpIGFuZCBzdG9wIGl0ZXJhdGluZwogICAgICAgICAgICAgaWYgaGFz
IChhcyBpdCBtYXkgZGllIHdoZW4gQ2FjaGVkUmVzb3VyY2VIYW5kbGUgcmVsZWFzZXMgaXQpLgog
ICAgICAgICAgICAgVGhlICdjdXJyZW50JyBwb2ludGVyIGlzIG5vdCBwcm90ZWN0ZWQgYXMgdGhl
IHJlc291cmNlIGl0IHBvaW50cyB0byBpcyBhbGxvd2VkIHRvIGRpZS4KLSAgICAgICAgICAgIAor
CiAyMDEyLTExLTA1ICBBbmRyZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IEZpeCBqc2NvbXBpbGVyIGNhc3Qgc3ludGF4CkBAIC0zMTY2
Nyw3ICszMTY5NSw3IEBACiAgICAgICAgIHRoZSBvdmVyaGVhZCBvZiBhY2Nlc3NpbmcgcmFyZSBk
YXRhIGFuZCB0aGUgbWVtb3J5IGZyb20gdGhlIG1hcC4KIAogICAgICAgICBUaGlzIGlzIGFuIDgl
IGltcHJvdmVtZW50IG9uIEJpbmRpbmdzL2dldC1lbGVtZW50cy1ieS10YWctbmFtZS5odG1sIHdo
aWNoIHRlc3RlZAotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSBhbmQgd2Fz
IHByZXZpb3VzbHkgb3B0aW1pemVkIGluIEJ1ZyA5MDA1OSBmb3IgYSA1JSAKKyAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUgYW5kIHdhcyBwcmV2aW91c2x5IG9wdGltaXplZCBp
biBCdWcgOTAwNTkgZm9yIGEgNSUKICAgICAgICAgaW1wcm92ZW1lbnQuIEFzIHRoaXMgaXMgYmV0
dGVyIHRoYW4gZXZlbiB0aGUgc3BlY2lhbCBjYXNpbmcgZm9yIGRvY3VtZW50IHRoYXQgd2FzCiAg
ICAgICAgIGRvbmUgaW4gdGhhdCBidWcsIGdlbmVyYWwgbm9kZSBsaXN0IGFjY2VzcyBzaG91bGQg
c2VlIGFuIGV2ZW4gZ3JlYXRlciB3aW4uCiAKQEAgLTMxODkzLDcgKzMxOTIxLDcgQEAKIAogICAg
ICAgICBSZXZpZXdlZCBieSBHZW9mZnJleSBHYXJlbi4KIAotICAgICAgICBDb252ZXJ0ZWQgbW9z
dCBvZiB0aGUgc3RhdGljIG1ldGhvZHMgdG8gdGVtcGxhdGVkIGJhc2VkIG9uIGNoYXJhY3RlciB0
eXBlLiAgQ2hhbmdlZCB2aXNpdGVkSGFzaExpbmsgdG8gCisgICAgICAgIENvbnZlcnRlZCBtb3N0
IG9mIHRoZSBzdGF0aWMgbWV0aG9kcyB0byB0ZW1wbGF0ZWQgYmFzZWQgb24gY2hhcmFjdGVyIHR5
cGUuICBDaGFuZ2VkIHZpc2l0ZWRIYXNoTGluayB0bwogICAgICAgICBjaGVjayBiaXRuZXNzIG9m
IGJvdGggdGhlIGJhc2UgVVJMIGFuZCBhdHRyaWJ1dGUuICBJZiBib3RoIGFyZSA4IGJpdCwgdGhl
biB3ZSBwcm9jZXNzIHVzaW5nIHRoZSBMQ2hhcgogICAgICAgICB2ZXJzaW9uIG9mIHRoZSB0ZW1w
bGF0ZWQgbWV0aG9kcy4gIE90aGVyd2lzZSB3ZSB1c2UgdGhlIDE2IGJpdCBmbGF2b3IuCiAKQEAg
LTMyMTgyLDcgKzMyMjEwLDcgQEAKICAgICAgICAgKFdlYkNvcmU6OlhTU0F1ZGl0b3I6OmZpbHRl
clRva2VuKToKICAgICAgICAgSW52b2tlIFBpbmcgbG9hZGVyJ3MgdmlvbGF0aW9uIHJlcG9ydGlu
ZywgaWYgcmVxdWVzdGVkLCB3aGVuIGEgcmVmbGVjdGVkCiAgICAgICAgIFhTUyBpcyBkZXRlY3Rl
ZC4KLSAgICAgICAgCisKICAgICAgICAgKiBodG1sL3BhcnNlci9YU1NBdWRpdG9yLmg6CiAgICAg
ICAgIFhTU0F1ZGl0b3IgY2xhc3MgbmVlZCB0byBzdG9yZSB0aGUgcmVwb3J0IFVSTCBhcyB3ZWxs
IGFzIHRoZSB1bmRpZ2VzdGVkIHZlcnNpb25zCiAgICAgICAgIG9mIHRoZSByZXF1ZXN0IFVSTCBh
bmQgcmVxdWVzdCBib2R5IGZvciByZXBvcnRpbmcuCkBAIC0zMjIwMSw3ICszMjIyOSw3IEBACiAg
ICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJlcG9ydFZpb2xhdGlvbik6
CiAgICAgICAgIFJlbmFtZWQgcmVwb3J0Q29udGVudFNlY3VyaXR5UG9saWN5VmlvbGF0aW9uKCkg
bWV0aG9kIHRvIHNlbmRWaW9sYXRpb25SZXBvcnQoKSwKICAgICAgICAgc2luY2UgdGhpcyBpcyBu
b3cgdXNlZCB0byBzZW5kIG1vcmUgdGhhbiBqdXN0IENTUCB2aW9sYXRpb25zLgotICAgICAgICAK
KwogICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvSFRUUFBhcnNlcnMuY3BwOgogICAgICAgICAo
V2ViQ29yZSk6CiAgICAgICAgIChXZWJDb3JlOjpza2lwRXF1YWxzKToKQEAgLTMyMjA5LDcgKzMy
MjM3LDcgQEAKICAgICAgICAgKFdlYkNvcmU6OnBhcnNlWFNTUHJvdGVjdGlvbkhlYWRlcik6CiAg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9IVFRQUGFyc2Vycy5oOgogICAgICAgICBQYXJzZSBh
bmQgcmV0dXJuIHJlcG9ydD0gZGlyZWN0aXZlIGluIFgtWFNTLVByb3RlY3Rpb24gaGVhZGVyLgot
ICAgICAgICAKKwogMjAxMi0xMS0wMiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBn
bWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEzMzMxMy4KQEAg
LTMyNDk1LDcgKzMyNTIzLDcgQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBKb2NlbHluIFR1cmNv
dHRlLgogCi0gICAgICAgIENoYW5nZWQgdGhlIGxvZ2ljIG9mIGFic29sdXRlUGF0aEZvclJlbmRl
cmVyIHRvIHVzZSB0aGUgZmlyc3QgaGlnaGxpZ2h0IGJveCBhcyB0aGUgbWlkIGJveCAKKyAgICAg
ICAgQ2hhbmdlZCB0aGUgbG9naWMgb2YgYWJzb2x1dGVQYXRoRm9yUmVuZGVyZXIgdG8gdXNlIHRo
ZSBmaXJzdCBoaWdobGlnaHQgYm94IGFzIHRoZSBtaWQgYm94CiAgICAgICAgIGJ5IHVuaXRpbmcg
dGhlIHR3byBpbiBjYXNlIHRoZSBtaWQgYm94IGlzIGVtcHR5LiBUaGlzIGFsbG93cyB0aGUgZmly
c3QgYm94IHRvIGJlIG1lcmdlZCB3aXRoCiAgICAgICAgIHRoZSBsYXN0IGJveCBzaG91bGQgdGhl
eSBpbnRlcnNlY3QsIGFuZCB0aGVyZWJ5IHByZXZlbnRzIGFuIEFTU0VSVCBpbiBhZGRIaWdobGln
aHRSZWN0IHRoYXQgaXMKICAgICAgICAgdHJpZ2dlcmVkIGJ5IHR3byBpbnRlcnNlY3RpbmcgYm94
ZXMgYmVpbmcgcGFzc2VkIHRvIGFkZEhpZ2hsaWdodFJlY3QgYXMgc2VwYXJhdGUgb25lcy4KQEAg
LTMyODQyLDcgKzMyODcwLDcgQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2Eu
CiAKLSAgICAgICAgVGhlIHBhcmFtZXRlciAndHJlYXRtZW50JyBpcyBub3QgdXNlZCB3aGVuIFVT
RVJTRUxFQ1RfQUxMIGlzIGRpc2FibGVkLiAKKyAgICAgICAgVGhlIHBhcmFtZXRlciAndHJlYXRt
ZW50JyBpcyBub3QgdXNlZCB3aGVuIFVTRVJTRUxFQ1RfQUxMIGlzIGRpc2FibGVkLgogCiAgICAg
ICAgICogZG9tL05vZGUuY3BwOgogICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6cmVuZGVyZXJJc0Vk
aXRhYmxlKToKQEAgLTMzMTcwLDcgKzMzMTk4LDcgQEAKICAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyOjpjb21wdXRlRmlsdGVyT3BlcmF0aW9ucyk6CiAgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllcjo6dXBkYXRlT3JSZW1vdmVGaWx0ZXJDbGllbnRzKTogU3BsaXQgdXBkYXRlT3JSZW1v
dmVGaWx0ZXJFZmZlY3QgaW50byAyIGZ1bmN0aW9ucy4KICAgICAgICAgVGhpcyBvbmUgaXMgc3Vw
cG9zZWQgdG8gYWRkIHRoZSBjbGllbnRzIG5lZWRlZCB0byBsb2FkIG5ldHdvcmsgcmVzb3VyY2Vz
LgotICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZU9yUmVtb3ZlRmlsdGVyRWZm
ZWN0UmVuZGVyZXIpOiBGaWd1cmVzIG91dCBpZiBhIHNvZnR3YXJlIGZhbGxiYWNrIGlzIG5lZWRl
ZCAKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp1cGRhdGVPclJlbW92ZUZpbHRlckVm
ZmVjdFJlbmRlcmVyKTogRmlndXJlcyBvdXQgaWYgYSBzb2Z0d2FyZSBmYWxsYmFjayBpcyBuZWVk
ZWQKICAgICAgICAgYW5kIGNyZWF0ZXMgYSBGaWx0ZXJFZmZlY3RSZW5kZXJlci4KICAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKICAgICAgICAgKFJlbmRlckxheWVyKToKQEAgLTMz
MjA4LDcgKzMzMjM2LDcgQEAKICAgICAgICAgICAgIFBhc3MgdGhlIHNldCBvZiBzeW1ib2xzIGZv
dW5kIGluIHRoZSBhdXRob3IncyBzaGFkZXJzIHRvIHRoZSByZXdyaXRlTWl4VmVydGV4U2hhZGVy
CiAgICAgICAgICAgICBtZXRob2QuCiAgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJWYWxp
ZGF0ZWRQcm9ncmFtOjpyZXdyaXRlTWl4VmVydGV4U2hhZGVyKToKLSAgICAgICAgICAgIElmIHRo
ZSBhdXRob3IgZGlkbid0IGRlZmluZSBhX3RleENvb3JkLCBhZGQgaXQgdG8gdGhlIGVuZCBvZiB0
aGUgYXV0aG9yJ3MgdmVydGV4IAorICAgICAgICAgICAgSWYgdGhlIGF1dGhvciBkaWRuJ3QgZGVm
aW5lIGFfdGV4Q29vcmQsIGFkZCBpdCB0byB0aGUgZW5kIG9mIHRoZSBhdXRob3IncyB2ZXJ0ZXgK
ICAgICAgICAgICAgIHNoYWRlciwgYnV0IGJlZm9yZSB0aGUgc2hhZGVyJ3MgbmV3IG1haW4gZnVu
Y3Rpb24uIEFzIGJlZm9yZSwgdGhlIG5ldyBtYWluIGZ1bmN0aW9uCiAgICAgICAgICAgICB3aWxs
IHBhc3MgdGhlIHRleHR1cmUgY29vcmRpbmF0ZSB0byB0aGUgZnJhZ21lbnQgc2hhZGVyIHZpYSB0
aGUgY3NzX3ZfdGV4Q29vcmQgdmFyeWluZy4KICAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9m
aWx0ZXJzL0N1c3RvbUZpbHRlclZhbGlkYXRlZFByb2dyYW0uaDoKQEAgLTMzMzE3LDcgKzMzMzQ1
LDcgQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBEZWFuIEphY2tzb24uCiAKLSAgICAgICAgTW92
ZWQgQ3VzdG9tRmlsdGVyOjpNZXNoQm94VHlwZSBlbnVtIHRvIHRoZSBDdXN0b21GaWx0ZXJDb25z
dGFudHMuaCBmaWxlIGFuZCByZW5hbWVkIGl0IHRvIEN1c3RvbUZpbHRlck1lc2hCb3hUeXBlLiAK
KyAgICAgICAgTW92ZWQgQ3VzdG9tRmlsdGVyOjpNZXNoQm94VHlwZSBlbnVtIHRvIHRoZSBDdXN0
b21GaWx0ZXJDb25zdGFudHMuaCBmaWxlIGFuZCByZW5hbWVkIGl0IHRvIEN1c3RvbUZpbHRlck1l
c2hCb3hUeXBlLgogICAgICAgICBUaGlzIHdheSB3ZSBjYW4gcmV1c2UgaXQgd2l0aG91dCBpbmNs
dWRpbmcgdGhlIEN1c3RvbUZpbHRlck9wZXJhdGlvbiBmaWxlLgogCiAgICAgICAgIE5vIG5ldyB0
ZXN0cywganVzdCByZWZhY3RvcmluZyBjb2RlLgpAQCAtMzM0NjksMjIgKzMzNDk3LDIyIEBACiAg
ICAgICAgIChXZWJDb3JlKToKICAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6Omhhc1Nl
bGVjdG9yRm9yQ2xhc3MpOgogICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6aGFzU2Vs
ZWN0b3JGb3JJZCk6Ci0gICAgICAgIAorCiAgICAgICAgICAgICBJbmxpbmVkIHRoZXNlIGFuZCBt
b3ZlZCB2YWx1ZSB2YWxpZGl0eSB0ZXN0aW5nIHRvIGNsaWVudHMuCiAKICAgICAgICAgKiBkb20v
RWxlbWVudC5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpjaGVja05lZWRzU3R5bGVJbnZhbGlkYXRp
b25Gb3JJZENoYW5nZSk6CiAgICAgICAgIChXZWJDb3JlKToKICAgICAgICAgKFdlYkNvcmU6OkVs
ZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQpOgotICAgIAorCiAgICAgICAgICAgICBDbGVhbiB1cCBp
ZCB0ZXN0aW5nIHRvby4KIAogICAgICAgICAoV2ViQ29yZTo6Y2hlY2tOZWVkc1N0eWxlSW52YWxp
ZGF0aW9uRm9yQ2xhc3NDaGFuZ2UpOgotICAgICAgICAKKwogICAgICAgICAgICAgVXNlIGJpdCB2
ZWN0b3IgZm9yIG1hcmtpbmcgc2VlbiB2YWx1ZXMuIEF2b2lkcyBhbGxvY2F0aW9ucyBhbmQgcmVm
ZmluZy4KIAogICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6Y2xhc3NBdHRyaWJ1dGVDaGFuZ2Vk
KToKLSAgICAgICAgCisKICAgICAgICAgICAgIERvbid0IHRlc3QgaWYgc3R5bGUgaXMgYWxyZWFk
eSBpbnZhbGlkLgogCiAyMDEyLTExLTAxICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3Jn
PgpAQCAtMzM1MTAsNyArMzM1MzgsNyBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZy
YXNlci4KIAotICAgICAgICBOZXcgSW50ZXJuYWxzIGNhbGwgdG8gZHVtcCB0aGUgc2Nyb2xsaW5n
IHN0YXRlIHRyZWUgYXMgdGV4dC4gQ2FsbHMgdGhyb3VnaCB0byB0aGUgCisgICAgICAgIE5ldyBJ
bnRlcm5hbHMgY2FsbCB0byBkdW1wIHRoZSBzY3JvbGxpbmcgc3RhdGUgdHJlZSBhcyB0ZXh0LiBD
YWxscyB0aHJvdWdoIHRvIHRoZQogICAgICAgICBTY3JvbGxpbmdDb29yZGluYXRvci4KICAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6
OnNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dCk6CkBAIC0zMzUzNiw3ICszMzU2NCw3IEBACiAgICAg
ICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaDoKICAgICAgICAgKFNj
cm9sbGluZ0Nvb3JkaW5hdG9yKToKIAotICAgICAgICBkdW1wTm9kZSgpIGR1bXBzIGdlbmVyaWMg
c3R1ZmYgZm9yIGVhY2ggbm9kZSwgYW5kIGR1bXBQcm9wZXJ0aWVzIHdpbGwgZHVtcCB0aGUgCisg
ICAgICAgIGR1bXBOb2RlKCkgZHVtcHMgZ2VuZXJpYyBzdHVmZiBmb3IgZWFjaCBub2RlLCBhbmQg
ZHVtcFByb3BlcnRpZXMgd2lsbCBkdW1wIHRoZQogICAgICAgICBwcm9wZXJ0aWVzIHRoYXQgYXJl
IHNwZWNpZmljIHRvIGRpZmZlcmVudCB0eXBlcyBvZiBub2Rlcy4KICAgICAgICAgKiBwYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuY3BwOgogICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
aW5nU3RhdGVOb2RlOjp3cml0ZUluZGVudCk6CkBAIC0zNTA4NSw3ICszNTExMyw3IEBACiAgICAg
ICAgIEhvd2V2ZXIsIHNpbmNlIHRoZSBkcm9wIGRvd24gYnV0dG9uIGlzIHNvbWV0aGluZyB0aGF0
IFdlYktpdCByZW5kZXJzIHRoZXJlIGlzIG5vIGh3bmQuCiAKICAgICAgICAgVG8gcmVtZWR5IHRo
aXMgaXNzdWUsIHdlIGNhbiB0ZW1wb3JhcmlseSBtb3ZlIHRoZSBwb3B1cCBtZW51J3MgaHduZCB0
byBtYXRjaCB0aGUgcG9zaXRpb24gYW5kIHNpemUgb2YgdGhlIGJ1dHRvbiwKLSAgICAgICAgZGV0
ZXJtaW5lIHRoZSBjb3JyZWN0IHNjcmVlbiwgYW5kIHRoZW4gZXZlbnR1YWxseSBtb3ZlIGl0IGJh
Y2sgdG8gdGhlIGNvcnJlY3QgZmluYWwgcG9zaXRpb24gYWZ0ZXIgdGhlIHJlc3Qgb2YgCisgICAg
ICAgIGRldGVybWluZSB0aGUgY29ycmVjdCBzY3JlZW4sIGFuZCB0aGVuIGV2ZW50dWFsbHkgbW92
ZSBpdCBiYWNrIHRvIHRoZSBjb3JyZWN0IGZpbmFsIHBvc2l0aW9uIGFmdGVyIHRoZSByZXN0IG9m
CiAgICAgICAgIHRoZSBjYWxjdWxhdGlvbnMgaGF2ZSBiZWVuIGNvbXBsZXRlZC4gVGhpcyBpcyBh
bGwgZG9uZSBpbiB0aGUgc2FtZSBmdW5jdGlvbiBjYWxsIHNvIG5vIHJlbmRlcmluZyBvZiB0aGUg
cG9wdXAgbWVudSBvY2N1cnMKICAgICAgICAgYmV0d2VlbiB0aGUgdGVtcG9yYXJ5IGFuZCBmaW5h
bCBwb3NpdGlvbmluZ3MuCiAKQEAgLTM1MzU0LDE3ICszNTM4MiwxNyBAQAogCiAgICAgICAgIFJl
dmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KIAotICAgICAgICBjbG9uZUFuZFJlc2V0Tm9kZSgpIGlz
IGN1cnJlbnRseSBwdXJlIHZpcnR1YWwgYW5kIGltcGxlbWVudGVkIG9ubHkgCi0gICAgICAgIGlu
IFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS4gSG93ZXZlciwgYWxsIG9mIHRoZSB3b3JrIHRo
YXQgaXQgCi0gICAgICAgIGRvZXMgYXQgdGhpcyB0aW1lIGlzIHN0dWZmIHRoYXQgYSBnZW5lcmlj
IFNjcm9sbGluZ1N0YXRlTm9kZSBjb3VsZCAKLSAgICAgICAgZG8uIFdlIHNob3VsZCBtb3ZlIHRo
aXMgaW1wbGVtZW50YXRpb24gdG8gdGhlIGJhc2UgY2xhc3Mgc28gdGhhdCBpdCAKKyAgICAgICAg
Y2xvbmVBbmRSZXNldE5vZGUoKSBpcyBjdXJyZW50bHkgcHVyZSB2aXJ0dWFsIGFuZCBpbXBsZW1l
bnRlZCBvbmx5CisgICAgICAgIGluIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS4gSG93ZXZl
ciwgYWxsIG9mIHRoZSB3b3JrIHRoYXQgaXQKKyAgICAgICAgZG9lcyBhdCB0aGlzIHRpbWUgaXMg
c3R1ZmYgdGhhdCBhIGdlbmVyaWMgU2Nyb2xsaW5nU3RhdGVOb2RlIGNvdWxkCisgICAgICAgIGRv
LiBXZSBzaG91bGQgbW92ZSB0aGlzIGltcGxlbWVudGF0aW9uIHRvIHRoZSBiYXNlIGNsYXNzIHNv
IHRoYXQgaXQKICAgICAgICAgZG9lcyBub3QgbmVlZCB0byBiZSBkdXBsaWNhdGVkIGZvciBmdXR1
cmUgbm9kZSB0eXBlcy4KIAogICAgICAgICBUaGlzIHBhdGNoIGFsc28gcmUtbmFtZXMgY2xvbmVB
bmRSZXNldE5vZGUoKSB0byBjbG9uZUFuZFJlc2V0KCkKLSAgICAgICAgYW5kIGNvcnJlc3BvbmRp
bmdseSByZS1uYW1lcyBjbG9uZUFuZFJlc2V0Q2hpbGROb2RlcygpIHRvIAotICAgICAgICBjbG9u
ZUFuZFJlc2V0Q2hpbGRyZW4oKS4gCisgICAgICAgIGFuZCBjb3JyZXNwb25kaW5nbHkgcmUtbmFt
ZXMgY2xvbmVBbmRSZXNldENoaWxkTm9kZXMoKSB0bworICAgICAgICBjbG9uZUFuZFJlc2V0Q2hp
bGRyZW4oKS4KIAotICAgICAgICBGaW5hbGx5IHRoZSBwYXRjaCBhbHNvIGNoYW5nZXMgdGhlIGNv
cHkgY29uc3RydWN0b3JzIG9mIGJvdGggb2YgdGhlc2UgCisgICAgICAgIEZpbmFsbHkgdGhlIHBh
dGNoIGFsc28gY2hhbmdlcyB0aGUgY29weSBjb25zdHJ1Y3RvcnMgb2YgYm90aCBvZiB0aGVzZQog
ICAgICAgICBjbGFzc2VzIHRvIHRha2UgYSBjb25zdCByZWZlcmVuY2UgaW5zdGVhZCBvZiBhIHBv
aW50ZXIuCiAKICAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuY3Bw
OgpAQCAtMzUzODMsNyArMzU0MTEsNyBAQAogICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3Rh
dGVUcmVlOjpjb21taXQpOgogCiAyMDEyLTEwLTMxICBUb20gU2VwZXogIDx0c2VwZXpAY2hyb21p
dW0ub3JnPgotICAgICAgICAKKwogICAgICAgICBNYWxmb3JtZWQgWC1YU1MtUHJvdGVjdGlvbiBo
ZWFkZXJzIG5vdCByZXBvcnRlZC4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwMDUzOAogCkBAIC0zNTQxMiw3ICszNTQ0MCw3IEBACiAgICAgICAgIFJl
dHVybiBkZXRhaWxsZWQgZXJyb3Igc3RhdHVzLiBBdm9pZCBuZWVkbGVzcyBzdHJpbmcgY29weS4K
ICAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0hUVFBQYXJzZXJzLmg6CiAgICAgICAgIEFkZCBu
ZXcgZXJyb3IgcmV0dXJucyBmb3IgeC14c3MtcHJvdGVjdGlvbiBoZWFkZXIgcGFyc2VyLgotICAg
ICAgICAKKwogMjAxMi0xMC0zMSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNv
bT4KIAogICAgICAgICBSRUdSRVNTSU9OICh0aWxlIGNhY2hlIGxheWVycyk6IGJpdHMgb2YgdGls
ZWQgbGF5ZXJzIGFyZSBtaXNzaW5nIHdpdGggY2VydGFpbiAzRCB0cmFuc2Zvcm1zCkBAIC0zNTQy
Niw3ICszNTQ1NCw3IEBACiAgICAgICAgIEluIHRoaXMgY2FzZSB3ZSBhbHJlYWR5IGNsYW1wLCBi
dXQgdGhlIGZhY3QgdGhhdCB3ZSBjbGFtcGVkIGRvZXNuJ3QgbWFrZSBpdCBvdXQgdG8KICAgICAg
ICAgR3JhcGhpY3NMYXllckNBOjpjb21wdXRlVmlzaWJsZVJlY3QoKSB3aGljaCByZXN1bHRlZCBp
biBpbmNvcnJlY3QgdmlzaWJsZSByZWN0cyBiZWluZwogICAgICAgICBjb21wdXRlZC4KLSAgICAg
ICAgCisKICAgICAgICAgRml4IGJ5IHByb3BhZ2F0aW5nIHRoZSBmYWN0IHRoYXQgY2xhbXBpbmcg
b2NjdXJyZWQgb3V0IG9mIHRoZSBUcmFuc2Zvcm1TdGF0ZSBmdW5jdGlvbnMKICAgICAgICAgd2hp
Y2ggY2FuIGNsYW1wLiBJbiBjb21wdXRlVmlzaWJsZVJlY3QoKSwgc2ltcGx5IGNvbnNpZGVyIHRo
ZSBlbnRpcmUgbGF5ZXIgYm91bmRzCiAgICAgICAgIHRvIGJlIHZpc2libGUgaWYgY2xhbXBpbmcg
b2NjdXJyZWQuCkBAIC0zNTU3MCw3ICszNTU5OCw3IEBACiAgICAgICAgIEluIEdyYXBoaWNzU3Vy
ZmFjZTo6cGxhdGZvcm1QYWludFRvVGV4dHVyZU1hcHBlciB3ZSBkb24ndCBzZXQgU2hvdWxkRmxp
cFRleHR1cmUKICAgICAgICAgZmxhZyBiZWZvcmUgcGFpbnRpbmcgdG8gVGV4dHVyZU1hcHBlci4K
ICAgICAgICAgSXQgcmVzdWx0cyBpbiBiYWNraW5nIHN0b3JlIGNvbnRlbnRzIGJlaW5nIGRyYXdu
IHVwc2lkZSBkb3duIG9uIHNjcmVlbi4KLSAgICAgICAgVGhpcyBwYXRjaCBlbmFibGVzIFNob3Vs
ZEZsaXBUZXh0dXJlIGZsYWcgd2hlbiBUZXh0dXJlTWFwcGVyTGF5ZXIgcmVuZGVycyAKKyAgICAg
ICAgVGhpcyBwYXRjaCBlbmFibGVzIFNob3VsZEZsaXBUZXh0dXJlIGZsYWcgd2hlbiBUZXh0dXJl
TWFwcGVyTGF5ZXIgcmVuZGVycwogICAgICAgICBpdCdzIGJhY2tpbmcgc3RvcmUgY29udGVudHMg
aW50byBhIFRleHR1cmVNYXBwZXIuCiAKICAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9zdXJm
YWNlcy9xdC9HcmFwaGljc1N1cmZhY2VHTFguY3BwOgpAQCAtMzU3NzAsNyArMzU3OTgsNyBAQAog
ICAgICAgICBQZXJzcGVjdGl2ZS1vcmlnaW4gc2hvdWxkIGlnbm9yZSB2YWx1ZXMgd2l0aCBtb3Jl
IHRoZW4gdHdvIGxlbmd0aHMKICAgICAgICAgKGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtdHJh
bnNmb3Jtcy8jcGVyc3BlY3RpdmUtb3JpZ2luKSBhbmQgdXNlCiAgICAgICAgIHRoZSBkZWZhdWx0
IHZhbHVlcyBpbnN0ZWFkIG9mIHBhcnNpbmcgaXQgYXMgYW4gdW5saW1pdGVkLWxlbmd0aCBsaXN0
LAotICAgICAgICBvZiB3aGljaCBhbGwgYnV0IHRoZSBmaXJzdCB0d28gdmFsdWVzIGFyZSBpZ25v
cmVkLiBUaGlzIG1ha2VzIHBlcnNwZWN0aXZlLW9yaWdpbiAKKyAgICAgICAgb2Ygd2hpY2ggYWxs
IGJ1dCB0aGUgZmlyc3QgdHdvIHZhbHVlcyBhcmUgaWdub3JlZC4gVGhpcyBtYWtlcyBwZXJzcGVj
dGl2ZS1vcmlnaW4KICAgICAgICAgYmVoYXZlIHNpbWlsYXIgdG8gdHJhbnNmb3JtLW9yaWdpbiB3
aGljaCB1c2VzIGRlZmF1bHQgdmFsdWUgaW4gdGhpcyBjYXNlLAogICAgICAgICBhcyB3ZWxsIGFz
IGZpcmVmb3ggZG9lcyB0aGUgc2FtZS4KIApAQCAtMzU4NDEsNyArMzU4NjksNyBAQAogICAgICAg
ICAoV2ViQ29yZTo6RWxlbWVudDo6Y2xhc3NBdHRyaWJ1dGVDaGFuZ2VkKToKICAgICAgICAgKiBk
b20vRWxlbWVudEF0dHJpYnV0ZURhdGEuaDoKICAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRBdHRy
aWJ1dGVEYXRhOjpjbGVhckNsYXNzKToKLSAgICAgICAgCisKICAgICAgICAgICAgIE1ha2UgY29u
c3QgbGlrZSBzZXRDbGFzcygpLgogCiAyMDEyLTEwLTMxICBNaWtlIFdlc3QgIDxta3dzdEBjaHJv
bWl1bS5vcmc+CkBAIC0zNjIzMSw3ICszNjI1OSw3IEBACiAKICAgICAgICAgVGhpcyBwYXRjaCBi
cmluZ3Mgb3VyIHRvdGFsIFJvYm9Ib3JuZXRQcm8gdGltZSBmcm9tIDguMiBzZWNvbmRzIHRvIDUu
MyBzZWNvbmRzIQogCi0gICAgICAgIE92ZXJsYXBNYXAgcHJldmlvdXNseSB1c2VkIFJlZ2lvbnMg
dG8gdHJhY2sgTGF5ZXIgYm91bmRzIHJlY3RzLiAKKyAgICAgICAgT3ZlcmxhcE1hcCBwcmV2aW91
c2x5IHVzZWQgUmVnaW9ucyB0byB0cmFjayBMYXllciBib3VuZHMgcmVjdHMuCiAgICAgICAgIFVu
Zm9ydHVuYXRlbHkgdW5pb25pbmcgYSBsaXN0IG9mIFJlZ2lvbnMgaXMgTyhOXjIpCiAgICAgICAg
IHdoZXJlIE4gaXMgdGhlIG51bWJlciBvZiBTaGFwZXMgKGluIHRoaXMgY2FzZSByZWN0cykuCiAg
ICAgICAgIFRoaXMgaXMgYmVjYXVzZSBTaGFwZXMgYXJlIGltbXV0YWJsZSwgc28gdG8gdW5pb24g
dHdvIHNoYXBlcywgd2UgY29weQpAQCAtMzYyNTgsMTMgKzM2Mjg2LDEzIEBACiAyMDEyLTEwLTMw
ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwODEzCi0gICAgICAgIFNjcm9sbGluZ0Nvb3Jk
aW5hdG9yTWFjOjpzdGF0ZU5vZGVGb3JJRCgpIHNob3VsZCByZXR1cm4gYSAKKyAgICAgICAgU2Ny
b2xsaW5nQ29vcmRpbmF0b3JNYWM6OnN0YXRlTm9kZUZvcklEKCkgc2hvdWxkIHJldHVybiBhCiAg
ICAgICAgIFNjcm9sbGluZ1N0YXRlTm9kZSogaW5zdGVhZCBvZiBhIFNjcm9sbGluZ1N0YXRlU2Ny
b2xsaW5nTm9kZSoKIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgogCi0gICAgICAg
IFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjOjpzdGF0ZU5vZGVGb3JJRCgpIHNob3VsZCByZXR1cm4g
YSAKLSAgICAgICAgU2Nyb2xsaW5nU3RhdGVOb2RlKiBpbnN0ZWFkIG9mIGEgU2Nyb2xsaW5nU3Rh
dGVTY3JvbGxpbmdOb2RlKiBzbyB0aGF0IAorICAgICAgICBTY3JvbGxpbmdDb29yZGluYXRvck1h
Yzo6c3RhdGVOb2RlRm9ySUQoKSBzaG91bGQgcmV0dXJuIGEKKyAgICAgICAgU2Nyb2xsaW5nU3Rh
dGVOb2RlKiBpbnN0ZWFkIG9mIGEgU2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlKiBzbyB0aGF0
CiAgICAgICAgIGl0IGNhbiBiZSB1c2VkIGZvciBvdGhlciB0eXBlcyBvZiBub2RlcyBvbmNlIHdl
IGFkZCB0aGVtLgogICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGlu
YXRvck1hYy5oOgogICAgICAgICAoU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMpOgpAQCAtMzYzNDEs
MjEgKzM2MzY5LDIxIEBACiAyMDEyLTEwLTMwICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNv
bT4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAw
ODA5Ci0gICAgICAgIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjphdHRhY2hUb1N0YXRlVHJlZSgpIHNo
b3VsZCB0YWtlIGFuIGVudW0gCisgICAgICAgIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjphdHRhY2hU
b1N0YXRlVHJlZSgpIHNob3VsZCB0YWtlIGFuIGVudW0KICAgICAgICAgaW5kaWNhdGluZyB3aGF0
IHR5cGUgb2Ygbm9kZSB0byBjcmVhdGUKIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFz
ZXIuCiAKLSAgICAgICAgTmV3IGVudW0gU2Nyb2xsaW5nTm9kZVR5cGUgd2lsbCBzb29uIGhhdmUg
b3RoZXIgdmFsdWVzLCBzdWNoIGFzIAorICAgICAgICBOZXcgZW51bSBTY3JvbGxpbmdOb2RlVHlw
ZSB3aWxsIHNvb24gaGF2ZSBvdGhlciB2YWx1ZXMsIHN1Y2ggYXMKICAgICAgICAgRml4ZWROb2Rl
LgogICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmg6CiAgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcjo6YXR0YWNoVG9TdGF0ZVRyZWUpOgog
ICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5oOgog
ICAgICAgICAoU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMpOgogCi0gICAgICAgIFRoaXMgcGF0Y2gg
Z2VuZXJhbGl6ZXMgdGhpcyBmdW5jdGlvbiBzbyB0aGF0IGl0IGNhbiBiZSB1c2VkIHRvIGNyZWF0
ZSAKLSAgICAgICAgZGlmZmVyZW50IHR5cGVzIG9mIG5vZGVzIGFuZCBzbyB0aGF0IGl0IGlzIGFj
dHVhbGx5IHJlYWR5IHRvIGNyZWF0ZSAKLSAgICAgICAgY2hpbGQgbm9kZXMuIAorICAgICAgICBU
aGlzIHBhdGNoIGdlbmVyYWxpemVzIHRoaXMgZnVuY3Rpb24gc28gdGhhdCBpdCBjYW4gYmUgdXNl
ZCB0byBjcmVhdGUKKyAgICAgICAgZGlmZmVyZW50IHR5cGVzIG9mIG5vZGVzIGFuZCBzbyB0aGF0
IGl0IGlzIGFjdHVhbGx5IHJlYWR5IHRvIGNyZWF0ZQorICAgICAgICBjaGlsZCBub2Rlcy4KICAg
ICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW06CiAg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6YXR0YWNoVG9TdGF0ZVRy
ZWUpOgogCkBAIC0zNjUwOCwxMiArMzY1MzYsMTIgQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBT
aW1vbiBGcmFzZXIuCiAKLSAgICAgICAgU2Nyb2xsaW5nQ29uc3RyYWludHMuaCBjdXJyZW50bHkg
Y29udGFpbnMgYW4gYWJzdHJhY3QgY2xhc3MgY2FsbGVkIAotICAgICAgICBWaWV3cG9ydENvbnN0
cmFpbnRzIHRoYXQgaXMgaW50ZW5kZWQgdG8gZW5jYXBzdWxhdGUgZGF0YSBhbmQgbG9naWMgCi0g
ICAgICAgIHJlcXVpcmVkIHRvIHJlcG9zaXRpb24gZWxlbWVudHMgd2hvc2UgbGF5b3V0IGRlcGVu
ZHMgb24gdGhlIHZpZXdwb3J0IAotICAgICAgICByZWN0IChwb3NpdGlvbnMgZml4ZWQgYW5kIHN0
aWNreSksIHdoZW4gc2Nyb2xsaW5nIGFuZCB6b29taW5nLiAKLSAgICAgICAgSG93ZXZlciwgYXQg
dGhpcyB0aW1lIHRoZXJlIGlzIG9ubHkgYSBzdWJjbGFzcyBmb3Igc3RpY2t5LiBXZSBzaG91bGQg
Ci0gICAgICAgIGFkZCBhIHN1Yi1jbGFzcyBmb3IgZml4ZWQuIFRoaXMgaXMgcmVxdWlyZWQgdG8g
Z2V0IHBhZ2VzIHdpdGggZml4ZWQgCisgICAgICAgIFNjcm9sbGluZ0NvbnN0cmFpbnRzLmggY3Vy
cmVudGx5IGNvbnRhaW5zIGFuIGFic3RyYWN0IGNsYXNzIGNhbGxlZAorICAgICAgICBWaWV3cG9y
dENvbnN0cmFpbnRzIHRoYXQgaXMgaW50ZW5kZWQgdG8gZW5jYXBzdWxhdGUgZGF0YSBhbmQgbG9n
aWMKKyAgICAgICAgcmVxdWlyZWQgdG8gcmVwb3NpdGlvbiBlbGVtZW50cyB3aG9zZSBsYXlvdXQg
ZGVwZW5kcyBvbiB0aGUgdmlld3BvcnQKKyAgICAgICAgcmVjdCAocG9zaXRpb25zIGZpeGVkIGFu
ZCBzdGlja3kpLCB3aGVuIHNjcm9sbGluZyBhbmQgem9vbWluZy4KKyAgICAgICAgSG93ZXZlciwg
YXQgdGhpcyB0aW1lIHRoZXJlIGlzIG9ubHkgYSBzdWJjbGFzcyBmb3Igc3RpY2t5LiBXZSBzaG91
bGQKKyAgICAgICAgYWRkIGEgc3ViLWNsYXNzIGZvciBmaXhlZC4gVGhpcyBpcyByZXF1aXJlZCB0
byBnZXQgcGFnZXMgd2l0aCBmaXhlZAogICAgICAgICBwb3NpdGlvbiBlbGVtZW50cyBzY3JvbGxp
bmcgb24gdGhlIHNjcm9sbGluZyB0aHJlYWQuCiAKICAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdDb25zdHJhaW50cy5jcHA6CkBAIC0zNjYzMiw3ICszNjY2MCw3IEBACiAKICAgICAg
ICAgQWRkZWQgdGhlIGEgZmlsdGVyIG9wZXJhdGlvbiB0eXBlIFZBTElEQVRFRF9DVVNUT00gYW5k
IHVwZGF0ZWQgdGhlIGNvbXBvc2l0b3JzIHRvIGlnbm9yZQogICAgICAgICBzdWNoIG9wZXJhdGlv
bnMgZm9yIG5vdy4KLSAgICAgICAgCisKICAgICAgICAgTm8gbmV3IHRlc3RzLCB0aGVyZSBpcyBu
byBuZXcgZnVuY3Rpb25hbGl0eSB5ZXQuCiAKICAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKQEAg
LTM2OTA2LDEzICszNjkzNCwxMyBAQAogICAgICAgICAoUnVsZUZlYXR1cmVTZXQpOgogICAgICAg
ICAqIGNzcy9SdWxlU2V0LmNwcDoKICAgICAgICAgKFdlYkNvcmU6OmNvbGxlY3RGZWF0dXJlc0Zy
b21TZWxlY3Rvcik6Ci0gICAgICAgIAorCiAgICAgICAgICAgICBDb2xsZWN0IGNsYXNzZXMgbWVu
dGlvbmVkIGluIENTUyBzZWxlY3RvcnMgdGhlIHNhbWUgd2F5IGlkcyBhbmQgYXR0cmlidXRlIG5h
bWVzIGFyZQogICAgICAgICAgICAgYWxyZWFkeSBjb2xsZWN0ZWQuCiAKICAgICAgICAgKiBjc3Mv
U3R5bGVSZXNvbHZlci5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjpoYXNT
ZWxlY3RvckZvckNsYXNzKToKLSAgICAgICAgCisKICAgICAgICAgICAgIEFkZCBhIG1ldGhvZCB0
byB0ZXN0IGlmIGEgZ2l2ZW4gY2xhc3MgbmFtZSBpcyBtZW50aW9uZWQgYW55d2hlcmUgaW4gc3R5
bGVoc2VldHMuCiAKICAgICAgICAgKFdlYkNvcmUpOgpAQCAtMzY5MjMsNyArMzY5NTEsNyBAQAog
ICAgICAgICAoV2ViQ29yZTo6Y29sbGVjdEFkZGVkQW5kUmVtb3ZlZENsYXNzZXMpOgogICAgICAg
ICAoV2ViQ29yZSk6CiAgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpjbGFzc0F0dHJpYnV0ZUNo
YW5nZWQpOgotICAgICAgICAKKwogICAgICAgICAgICAgRmlndXJlIG91dCB3aGljaCBjbGFzc2Vz
IHdlcmUgYWRkZWQgYW5kIHJlbW92ZWQuIFRlc3QgaWYgdGhleSBhcmUgcHJlc2VudCBpbiBhbnkg
c3R5bGUKICAgICAgICAgICAgIHJ1bGUgYW5kIGludmFsaWRhdGUgdGhlIHN0eWxlIG9ubHkgaWYg
dGhleSBhcmUuCiAKQEAgLTM2OTMyLDggKzM2OTYwLDggQEAKICAgICAgICAgKFdlYkNvcmU6OlNw
YWNlU3BsaXRTdHJpbmdEYXRhOjpyZW1vdmUpOgogICAgICAgICAoV2ViQ29yZTo6U3BhY2VTcGxp
dFN0cmluZzo6YWRkKToKICAgICAgICAgKFdlYkNvcmU6OlNwYWNlU3BsaXRTdHJpbmc6OnJlbW92
ZSk6Ci0gICAgICAgIAotICAgICAgICAgICAgQWRkZWQgYm9vbCByZXR1cm4gdmFsdWUgdG8gaW5k
aWNhdGUgaWYgYW55dGhpbmcgd2FzIGFjdHVhbGx5IHJlbW92ZWQuIFJlb3JnYW5pemVkIAorCisg
ICAgICAgICAgICBBZGRlZCBib29sIHJldHVybiB2YWx1ZSB0byBpbmRpY2F0ZSBpZiBhbnl0aGlu
ZyB3YXMgYWN0dWFsbHkgcmVtb3ZlZC4gUmVvcmdhbml6ZWQKICAgICAgICAgICAgIHRoZSBjb2Rl
IGEgYml0IHRvIGF2b2lkIHVubmVjZXNzYXJ5IHVuaXF1aW5nIHdoZW4gbm90aGluZyBjaGFuZ2Vz
LgogCiAgICAgICAgICogZG9tL1NwYWNlU3BsaXRTdHJpbmcuaDoKQEAgLTM2OTQ5LDkgKzM2OTc3
LDkgQEAKIAogICAgICAgICBBIG5vLXdyYXAgY2hpbGQgb24gYSBsaW5lIGluc2lkZSBhbiBhdXRv
d3JhcCBjb250YWluZXIgc2hvdWxkIG1vdmUgdG8gdGhlIG5leHQgbGluZSBpZiBhIGZsb2F0IGRv
ZXNuJ3QgYWxsb3cKICAgICAgICAgaXQgdG8gZml0LiBUaGlzIHdpbGwgaGFwcGVuIGlmIHRoZXJl
IGlzIHRyYWlsaW5nIHNwYWNlIGFmdGVyIHRoZSBuby13cmFwIGNoaWxkIGJ1dCBub3QgaWYgaXQn
cyB0aGUgbGFzdCByZW5kZXJlcgotICAgICAgICBvbiB0aGUgbGluZS4gVGhpcyBpcyBiZWNhdXNl
IG5leHRMaW5lQnJlYWsoKSBpcyBvbmx5IGludGVyZXN0ZWQgaW4gdGhlIHdoaXRlLXNwYWNlIHN0
eWxlIG9mIHRoZSBjdXJyZW50IHJlbmRlcmVyIAorICAgICAgICBvbiB0aGUgbGluZS4gVGhpcyBp
cyBiZWNhdXNlIG5leHRMaW5lQnJlYWsoKSBpcyBvbmx5IGludGVyZXN0ZWQgaW4gdGhlIHdoaXRl
LXNwYWNlIHN0eWxlIG9mIHRoZSBjdXJyZW50IHJlbmRlcmVyCiAgICAgICAgIGFuZCB0aGUgcmVu
ZGVyZXIncyBuZXh0IHNpYmxpbmcgKGlmIHRoZXJlIGlzIG9uZSkgd2hlbiBkZWNpZGluZyB3aGV0
aGVyIGl0IG5lZWRzIHRvIGZpdCBiZWxvdyBhbnkgZmxvYXRzIHRoYXQKLSAgICAgICAgcHVzaCBp
dCBiZXlvbmQgdGhlIGVkZ2Ugb2YgdGhlIGNvbnRhaW5lci4gVGhlcmUgaXNuJ3QgYW55IHNpdHVh
dGlvbiBpbiB3aGljaCBhIG5vLXdyYXAgY2hpbGQgc2hvdWxkbid0IG1vdmUgCisgICAgICAgIHB1
c2ggaXQgYmV5b25kIHRoZSBlZGdlIG9mIHRoZSBjb250YWluZXIuIFRoZXJlIGlzbid0IGFueSBz
aXR1YXRpb24gaW4gd2hpY2ggYSBuby13cmFwIGNoaWxkIHNob3VsZG4ndCBtb3ZlCiAgICAgICAg
IGJlbG93IGEgZmxvYXQgb24gYW4gYXV0by13cmFwIGxpbmUgdGhvdWdoLCBzbyB0aGlzIGNoZWNr
IGFsd2F5cyBuZWVkcyB0byByZXNwZWN0IHRoZSBjb250YWluZXIncyB3aGl0ZS1zcGFjZSBzdHls
ZSB0b28uCiAKICAgICAgICAgVGVzdDogZmFzdC90ZXh0L3doaXRlc3BhY2Uvbm8td3JhcC1jaGls
ZC1pbi1hdXRvLXdyYXAtY29udGFpbmVyLmh0bWwKQEAgLTM2OTcxLDcgKzM2OTk5LDcgQEAKIAog
ICAgICAgICBBZGRlZCB0aGUgYSBmaWx0ZXIgb3BlcmF0aW9uIHR5cGUgVkFMSURBVEVEX0NVU1RP
TSBhbmQgdXBkYXRlZCB0aGUgY29tcG9zaXRvcnMgdG8gaWdub3JlCiAgICAgICAgIHN1Y2ggb3Bl
cmF0aW9ucyBmb3Igbm93LgotICAgICAgICAKKwogICAgICAgICBObyBuZXcgdGVzdHMsIHRoZXJl
IGlzIG5vIG5ldyBmdW5jdGlvbmFsaXR5IHlldC4KIAogICAgICAgICAqIENNYWtlTGlzdHMudHh0
OgpAQCAtMzcwMjksNyArMzcwNTcsNyBAQAogICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY2Yv
Rm9ybURhdGFTdHJlYW1DRk5ldC5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpzZXRIVFRQQm9keSk6
CiAgICAgICAgIEFkZCBzdGF0aWNfY2FzdHMgdG8gcHJldmVudCBpbXBsaWNpdCB0eXBlIGNvbnZl
cnNpb25zIGluIG5vbi1jb25zdGFudCBpbml0aWFsaXplciBsaXN0cy4KLSAgICAgICAgCisKICAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLm1tOgogICAgICAgICAoV2ViQ29yZTo6
Q2xpcGJvYXJkTWFjOjpjcmVhdGVEcmFnSW1hZ2UpOgogICAgICAgICAqIHBsYXRmb3JtL21hYy9D
dXJzb3JNYWMubW06CkBAIC0zNzM5OCw3ICszNzQyNiw3IEBACiAgICAgICAgIChXZWJDb3JlOjpB
Y2Nlc3NpYmlsaXR5U1ZHUm9vdDo6aXNBY2Nlc3NpYmlsaXR5U1ZHUm9vdCk6CiAgICAgICAgIChX
ZWJDb3JlOjp0b0FjY2Vzc2liaWxpdHlTVkdSb290KToKICAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlci5tbToKLSAgICAgICAgKC1bV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgcG9zaXRpb25dKTogVGhlIHBvc2l0aW9uIG9mIEFYIGVs
ZW1lbnRzIHdpdGhpbiBhIHJlbW90ZSBTVkcgZWxlbWVudCBuZWVkcyB0byBiZSBoYW5kbGVkIAor
ICAgICAgICAoLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBwb3NpdGlvbl0pOiBUaGUg
cG9zaXRpb24gb2YgQVggZWxlbWVudHMgd2l0aGluIGEgcmVtb3RlIFNWRyBlbGVtZW50IG5lZWRz
IHRvIGJlIGhhbmRsZWQKICAgICAgICAgaW4gYSBzcGVjaWFsIG1hbm5lci4KICAgICAgICAgKGNy
ZWF0ZUFjY2Vzc2liaWxpdHlSb2xlTWFwKToKICAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRz
Lmg6CkBAIC0zNzU3MSw3ICszNzU5OSw3IEBACiAgICAgICAgIChDdXN0b21GaWx0ZXJNZXNoR2Vu
ZXJhdG9yKTogRGl0dG8uCiAgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJNZXNoR2VuZXJh
dG9yOjpmbG9hdHNQZXJWZXJ0ZXgpOiBEaXR0by4KICAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZp
bHRlck1lc2hHZW5lcmF0b3I6OnZlcnRpY2VzQ291bnQpOiBEaXR0by4KLSAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck9wZXJhdGlvbi5jcHA6IAorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyT3BlcmF0aW9uLmNwcDoK
ICAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlck9wZXJhdGlvbjo6Q3VzdG9tRmlsdGVyT3Bl
cmF0aW9uKTogRGl0dG8uCiAgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0
b21GaWx0ZXJPcGVyYXRpb24uaDoKICAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlck9wZXJh
dGlvbjo6Y3JlYXRlKTogRGl0dG8uCkBAIC0zNzU5MSw3ICszNzYxOSw3IEBACiAgICAgICAgICAg
ICBDb29yZGluYXRlZEdyYXBoaWNzQXJndW1lbnRDb2RlcnMuY3BwLgogICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUHJvZ3JhbUluZm8uY3BwOgogICAgICAg
ICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyUHJvZ3JhbUluZm86OkN1c3RvbUZpbHRlclByb2dyYW1J
bmZvKToKLSAgICAgICAgICAgIEFkZCBhIG1lc2hUeXBlIGNvbnN0cnVjdG9yIHBhcmFtZXRlci4g
ICAgICAgCisgICAgICAgICAgICBBZGQgYSBtZXNoVHlwZSBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIu
CiAgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJQcm9ncmFtSW5mbzo6aGFzaCk6CiAgICAg
ICAgICAgICBJbmNsdWRlIHRoZSBtZXNoVHlwZSBpbiB0aGUgdmFsaWRhdGVkIHByb2dyYW0gaGFz
aCwgc2luY2UgdGhlIHNhbWUgc2hhZGVyIGNvZGUgY2FuIHBhc3MKICAgICAgICAgICAgIG9yIGZh
aWwgdmFsaWRhdGlvbiBiYXNlZCBvbiB0aGUgbWVzaFR5cGUuCkBAIC0zNzYzNiw3ICszNzY2NCw3
IEBACiAgICAgICAgIFRlc3Q6IGluc3BlY3Rvci9ydW50aW1lL3J1bnRpbWUtZ2V0UHJvcGVydGll
cy1pc093blByb3BlcnR5Lmh0bWwKIAogICAgICAgICBBZGRzIHJlcXVlc3RlZCAnaXNPd24nIHBy
b3BlcnR5IHRvIHRoZSAnUHJvcGVydHlEZXNjcmlwdG9yJyBjbGFzcyBvZiB0aGUKLSAgICAgICAg
cmVtb3RlIGRlYnVnZ2luZyBwcm90b2NvbC4gCisgICAgICAgIHJlbW90ZSBkZWJ1Z2dpbmcgcHJv
dG9jb2wuCiAKICAgICAgICAgKiBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanM6CiAg
ICAgICAgICguKToKQEAgLTM3Nzk2LDggKzM3ODI0LDggQEAKIAogICAgICAgICBBZGRlZCBjb21w
dXRlRmlsdGVyT3BlcmF0aW9ucyBhcyBhIGNvbW1vbiBtZXRob2QgYmV0d2VlbiB0aGUgc29mdHdh
cmUgZmlsdGVycwogICAgICAgICBhbmQgaGFyZHdhcmUgY29tcG9zaXRlZCBvbmVzLiBUaGUgbWV0
aG9kIHJlamVjdHMgY3VzdG9tIGZpbHRlcnMgdGhhdCBhcmUgbm90Ci0gICAgICAgIGxvYWRlZCB5
ZXQuIEluIGJ1ZyAxMDA1MzMgaXQgd2lsbCBhbHNvIGNvbnZlcnQgdGhlIEN1c3RvbUZpbHRlck9w
ZXJhdGlvbiB0byBhIAotICAgICAgICBWYWxpZGF0ZWRDdXN0b21GaWx0ZXJPcGVyYXRpb24uIFRo
YXQgd2lsbCBoZWxwIHVzIGtlZXAgdGhlIGxvYWRpbmcgYW5kIHZlcmlmaWNhdGlvbiAKKyAgICAg
ICAgbG9hZGVkIHlldC4gSW4gYnVnIDEwMDUzMyBpdCB3aWxsIGFsc28gY29udmVydCB0aGUgQ3Vz
dG9tRmlsdGVyT3BlcmF0aW9uIHRvIGEKKyAgICAgICAgVmFsaWRhdGVkQ3VzdG9tRmlsdGVyT3Bl
cmF0aW9uLiBUaGF0IHdpbGwgaGVscCB1cyBrZWVwIHRoZSBsb2FkaW5nIGFuZCB2ZXJpZmljYXRp
b24KICAgICAgICAgY29kZSBmb3IgdGhlIGN1c3RvbSBmaWx0ZXJzIGNvbW1vbiBhY3Jvc3MgYWxs
IHRoZSBwb3J0cy4KIAogICAgICAgICBObyBuZXcgdGVzdHMsIGp1c3QgcmVmYWN0b3JpbmcgZXhp
c3RpbmcgY29kZS4KQEAgLTM3OTM1LDcgKzM3OTYzLDcgQEAKIAogICAgICAgICBSZXZpZXdlZCBi
eSBHZW9yZ2UgU3RhaWtvcy4KIAotICAgICAgICBXZSB3aWxsIGRpc2FibGUgcmVkaXJlY3QgdG8g
ZGF0YSBzY2hlbWUgdG8gYXZvaWQgcG90ZW50aWFsIHNlY3VyaXR5IGNvbmNlcm4sIAorICAgICAg
ICBXZSB3aWxsIGRpc2FibGUgcmVkaXJlY3QgdG8gZGF0YSBzY2hlbWUgdG8gYXZvaWQgcG90ZW50
aWFsIHNlY3VyaXR5IGNvbmNlcm4sCiAgICAgICAgIGRlc2NyaWJlZCBpbiBrbGV2amVycy5jb20v
cGFwZXJzL3BoaXNoaW5nLnBkZi4KIAogCkBAIC0zODAxNCw3ICszODA0Miw3IEBACiAgICAgICAg
ICogV2ViQ29yZS5neXBpOgogICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
OgogICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKLSAgICAgICAg
QWRkIEF0b21pY1N0cmluZ0NGLmNwcCAKKyAgICAgICAgQWRkIEF0b21pY1N0cmluZ0NGLmNwcAog
CiAgICAgICAgICogcGxhdGZvcm0vdGV4dC9jZi9BdG9taWNTdHJpbmdDRi5jcHA6IEFkZGVkLgog
ICAgICAgICAoV1RGOjpBdG9taWNTdHJpbmc6OmFkZCk6CkBAIC0zODQ0MSw3ICszODQ2OSw3IEBA
CiAgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzOgogICAgICAgICAo
I2Vycm9yLXdhcm5pbmctY291bnQpOgogCi0yMDEyLTEwLTI5ICBTaGlueWEgS2F3YW5ha2EgIDxz
aGlueWFrQGNocm9taXVtLm9yZz4gCisyMDEyLTEwLTI5ICBTaGlueWEgS2F3YW5ha2EgIDxzaGlu
eWFrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbUmVmYWN0b3JpbmddIFVzZSBpc0FjdGl2ZUlu
c2VydGlvblBvaW50KCkgaW5zdGVhZCBvZiBpc0luc2VydGlvblBvaW50KCkKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDQ1OQpAQCAtMzg1MjksNyAr
Mzg1NTcsNyBAQAogCiAgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgogICAgICAgICAo
V2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6U3R5bGVSZXNvbHZlcik6Ci0gICAgICAgIAorCiAgICAg
ICAgICAgICBVc2Ugc3RhbmRhcmQgY3JlYXRlKCkgcGF0dGVybi4KIAogICAgICAgICAoV2ViQ29y
ZSk6CkBAIC0zODUzOSw3ICszODU2Nyw3IEBACiAgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6
RG9jdW1lbnQpOgogICAgICAgICAqIGRvbS9Eb2N1bWVudFN0eWxlU2hlZXRDb2xsZWN0aW9uLmNw
cDoKICAgICAgICAgKFdlYkNvcmU6OmNvbGxlY3RBY3RpdmVDU1NTdHlsZVNoZWV0c0Zyb21TZWFt
bGVzc1BhcmVudHMpOgotICAgICAgICAKKwogICAgICAgICAgICAgU2luY2UgcGFyZW50IGFjdGl2
ZUF1dGhvclN0eWxlU2hlZXRzKCkgY29udGFpbnMgYWxsIHNlYW1sZXNzbHkgaW5oZXJpdGVkIHNo
ZWV0cyB0b28sIHRoaXMgZG9lcyBub3QgbmVlZCB0bwogICAgICAgICAgICAgaXRlcmF0ZSB0byBh
bmNlc3RvcnMgYW55bW9yZS4KIApAQCAtMzg1NTAsNyArMzg1NzgsNyBAQAogICAgICAgICAoRG9j
dW1lbnRTdHlsZVNoZWV0Q29sbGVjdGlvbik6CiAgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudFN0
eWxlU2hlZXRDb2xsZWN0aW9uOjpzdHlsZVNoZWV0c0ZvclN0eWxlU2hlZXRMaXN0KToKICAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50U3R5bGVTaGVldENvbGxlY3Rpb246OmFjdGl2ZUF1dGhvclN0
eWxlU2hlZXRzKToKLSAgICAgICAgCisKICAgICAgICAgICAgIGFjdGl2ZUF1dGhvclN0eWxlU2hl
ZXRzKCkgbm93IGluY2x1ZGVzIHRoZSBzdHlsZXNoZWV0cyBpbmhlcml0ZWQgZnJvbSB0aGUgc2Vh
bWxlc3MgcGFyZW50IHRvby4KIAogICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRTdHlsZVNoZWV0
Q29sbGVjdGlvbjo6bmVlZHNVcGRhdGVBY3RpdmVTdHlsZXNoZWV0c09uU3R5bGVSZWNhbGMpOgpA
QCAtMzkwNDAsNyArMzkwNjgsNyBAQAogICAgICAgICB3YW50IGFueSBhc3NlcnRpb25zIHRvIGZh
aWwsIGFuZCB3ZSBkbyB3YW50IGFkZENoaWxkIHRvIHdvcmsgY29ycmVjdGx5IHdoZW4gYmVmb3Jl
Q2hpbGQgPT0gMCwgdG8gYnVpbGQgdXAgdGhlIG9yaWdpbmFsCiAgICAgICAgIHJlbmRlcmVyLCBh
bmQgdGhlbiByZXBsYWNlQ2hpbGQgYXQgbGVhc3Qgc2hvdWxkIHdvcmsgY29ycmVjdGx5IGFmdGVy
IHRoYXQuIFdlIHRoZXJlZm9yZSBjbGVhbiB1cCB0aGVzZSByb3V0aW5lcyBiZWZvcmUKICAgICAg
ICAgZ2l2aW5nIHRoZW0gdG8gdGhlIGNocm9taXVtIGZ1enplcnMuCi0gICAgICAgIAorCiAgICAg
ICAgIEl0J3MgYmVzdCB0byBidWlsZCB0aGUgYW5vbnltb3VzIHdyYXBwZXJzIGp1c3Qgb25jZSBp
bml0aWFsbHkgaWYgcG9zc2libGUsIHNvIGVtcHR5IHdyYXBwZXJzIGFyZW4ndCBsZWZ0IGluIHRo
ZSByZW5kZXIKICAgICAgICAgdHJlZSBhZnRlciBsYXRlciByZW1vdmVDaGlsZCBjYWxscy4KIApA
QCAtMzkxODcsNyArMzkyMTUsNyBAQAogICAgICAgICBiZWNhdXNlIE5hTiB2YWx1ZXMgYXJlIG5v
dCBwcm9wZXJseSBzb3J0ZWQuIE5hTiBTTUlMVGltZSB2YWx1ZXMKICAgICAgICAgc2hvdWxkIG5v
dCBiZSBhbGxvd2VkIGF0IGFsbCwgc28gdGhpcyBwYXRjaCBhZGRzIGEgY2hlY2sgZm9yIHRoZW0g
aW4KICAgICAgICAgRWxlbWVudFRpbWVDb250cm9sJ3Mgc2V0dGVycy4KLSAKKwogICAgICAgICBU
aGlzIHBhdGNoIGFsc28gYWRkcyBwcmV2ZW50YXRpdmUgYXNzZXJ0cyB0byBjYXRjaCBpZiBTTUlM
VGltZSBpcyBldmVyCiAgICAgICAgIGluaXRpYWxpemVkIHdpdGggTmFOLCBvciBpZiBhZGRFbmRU
aW1lL2FkZEJlZ2luVGltZSBhcmUgZXZlciBjYWxsZWQKICAgICAgICAgd2l0aCBOYU4gdmFsdWVz
LgpAQCAtMzk1NTksMTQgKzM5NTg3LDE0IEBACiAgICAgICAgIEluaXRpYWwgcm9sbG91dCB3YXMg
c3BlY3VsYXRpdmUgYW5kIHdhcyBzaG93biBub3QgdG8gYmUgcmVsYXRlZCB0byBjcmFzaGVzLgog
ICAgICAgICBDaGFuZ2UgYXV0aG9yOiBFbGxpb3R0IFNwcmVobiAgPGVzcHJlaG5AY2hyb21pdW0u
b3JnPgogCi0gICAgICAgIEFzIGZhciBhcyBDU1MgaXMgY29uY2VybmVkIGlucHV0cyBhbmQgdGhp
bmdzIHdpdGggc2hhZG93IGNvbnRlbnQgaW5zaWRlIAorICAgICAgICBBcyBmYXIgYXMgQ1NTIGlz
IGNvbmNlcm5lZCBpbnB1dHMgYW5kIHRoaW5ncyB3aXRoIHNoYWRvdyBjb250ZW50IGluc2lkZQog
ICAgICAgICBzaG91bGRuJ3Qgc3VwcG9ydCBwc2V1ZG8gZWxlbWVudHMgbGlrZSA6YmVmb3JlLCA6
YWZ0ZXIgb3IgOmZpcnN0LWxldHRlci4KLSAgICAgICAgTmVpdGhlciBHZWNrbyBvciBQcmVzdG8g
c3VwcG9ydHMgaXQsIGFuZCB3ZSBvbmx5IGFjY2lkZW50YWxseSBzdXBwb3J0ZWQgCi0gICAgICAg
IGl0LiAKLSAKLSAgICAgICAgVW50aWwgdGhlIHNwZWMgdGVsbHMgdXMgd2hhdCB0byBkbyB3ZSBz
aG91bGQgZGlzYWJsZSBzdXBwb3J0LiBUaGlzIGlzIAotICAgICAgICBhbHNvIG5lY2Nlc2FyeSBi
ZWNhdXNlIHRoZSBuZXcgZ2VuZXJhdGVkIGNvbnRlbnQgaW1wbGVtZW50YXRpb24gZG9lc24ndCAK
LSAgICAgICAgc3VwcG9ydCBzaGFkb3dzLiAKKyAgICAgICAgTmVpdGhlciBHZWNrbyBvciBQcmVz
dG8gc3VwcG9ydHMgaXQsIGFuZCB3ZSBvbmx5IGFjY2lkZW50YWxseSBzdXBwb3J0ZWQKKyAgICAg
ICAgaXQuCisKKyAgICAgICAgVW50aWwgdGhlIHNwZWMgdGVsbHMgdXMgd2hhdCB0byBkbyB3ZSBz
aG91bGQgZGlzYWJsZSBzdXBwb3J0LiBUaGlzIGlzCisgICAgICAgIGFsc28gbmVjY2VzYXJ5IGJl
Y2F1c2UgdGhlIG5ldyBnZW5lcmF0ZWQgY29udGVudCBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0Cisg
ICAgICAgIHN1cHBvcnQgc2hhZG93cy4KIAogICAgICAgICBUZXN0OiBmYXN0L2Zvcm1zL3BzZXVk
by1lbGVtZW50cy5odG1sCiAKQEAgLTM5NTgzLDE2ICszOTYxMSwxNiBAQAogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCiAKLSAgICAgICAgVGhpcyB3YXMgZmFsbG91
dCBmcm9tIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEzMjUwMSB3aGVyZSBJIG1p
c3NlZCBzb21lIG9mIHRoZSAKKyAgICAgICAgVGhpcyB3YXMgZmFsbG91dCBmcm9tIGh0dHA6Ly90
cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEzMjUwMSB3aGVyZSBJIG1pc3NlZCBzb21lIG9mIHRo
ZQogICAgICAgICBzcG90cyB0aGF0IGNhbGwgcmVzb3VyY2VMb2FkU2NoZWR1bGVyKCkuCiAKLSAg
ICAgICAgQXMgYSByZXN1bHQgd2Ugd2VyZSBjcmVhdGluZyBtb3JlIHRoYW4gb25lIFJlc291cmNl
TG9hZFNjaGVkdWxlciwgYWxsb3dpbmcgdGhlIGhvc3QgcmVjb3JkcyAKKyAgICAgICAgQXMgYSBy
ZXN1bHQgd2Ugd2VyZSBjcmVhdGluZyBtb3JlIHRoYW4gb25lIFJlc291cmNlTG9hZFNjaGVkdWxl
ciwgYWxsb3dpbmcgdGhlIGhvc3QgcmVjb3JkcwogICAgICAgICB0byBnZXQgb3V0IG9mIHN5bmMu
CiAKLSAgICAgICAgVGhlIGZpeCB0aGF0IGFsc28gcmVzdWx0cyBpbiBsZXNzICNpZmRlZnMgc2Nh
dHRlcmVkIHRocm91Z2hvdXQgdGhlIGNvZGUgaXMgdG8gdXNlIGEgc2luZ2xlIAorICAgICAgICBU
aGUgZml4IHRoYXQgYWxzbyByZXN1bHRzIGluIGxlc3MgI2lmZGVmcyBzY2F0dGVyZWQgdGhyb3Vn
aG91dCB0aGUgY29kZSBpcyB0byB1c2UgYSBzaW5nbGUKICAgICAgICAgY2hva2UgcG9pbnQgZm9y
IGFsbCBSZXNvdXJjZUxvYWRTY2hlZHVsZXIgYWNjZXNzLgogCi0gICAgICAgIE5vIG5ldyB0ZXN0
cyAKKyAgICAgICAgTm8gbmV3IHRlc3RzCiAgICAgICAgIChObyBjaGFuZ2Ugb2YgYmVoYXZpb3Ig
Zm9yIHRoZSBkZWZhdWx0IGNvbmZpZywgbm90IHRlc3RhYmxlIGF0IHRoaXMgdGltZSBpbiB0aGUg
cmVwcm8gY29uZmlnKQogCiAgICAgICAgIEFkZCBhIHNpbmdsZSBjaG9rZSBwb2ludCBmb3IgYWNj
ZXNzaW5nIHRoZSBjb3JyZWN0IFJlc291cmNlTG9hZFNjaGVkdWxlcjoKQEAgLTM5ODk1LDE2ICsz
OTkyMywxNiBAQAogCiAgICAgICAgIEROU1Jlc29sdmVRdWV1ZTo6cGxhdGZvcm1Qcm94eUlzRW5h
YmxlZEluU3lzdGVtUHJlZmVyZW5jZXMgZ2V0cyBjYWxsZWQgZm9yIGV2ZXJ5IGxpbmsgaW4KICAg
ICAgICAgdGhlIGRvY3VtZW50LiBUaGUgZnVuY3Rpb24gaXMgcmVsYXRpdmVseSBzbG93LgotICAg
ICAgICAKKwogICAgICAgICBUaGlzIHBhdGNoIGNhY2hlcyB0aGUgcmVzdWx0IG9mIHRoZSBsYXN0
IGNoZWNrIGZvciA1IHNlY29uZHMuIEJhc2VkIG9uIGNvZGUgY29tbWVudHMKICAgICAgICAgcHJl
ZmV0Y2hpbmcgaXMgZGlzYWJsZWQgd2l0aCBwcm94aWVzIGR1ZSB0byByZWdyZXNzaW5nIHBlcmZv
cm1hbmNlIHdpdGggc29tZSBjb25maWd1cmF0aW9ucy4KICAgICAgICAgUHJveHkgc3RhdHVzIGNo
YW5nZXMgcmFyZWx5IGFuZCBhIHNsaWdodCByZWFjdGlvbiBkZWxheSBzaG91ZG4ndCBjYXVzZSBw
cmFjdGljYWwgcHJvYmxlbXMuCiAKICAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0ROU1Jlc29s
dmVRdWV1ZS5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpETlNSZXNvbHZlUXVldWU6OkROU1Jlc29s
dmVRdWV1ZSk6Ci0gICAgICAgIAorCiAgICAgICAgICAgICBBZGQgY29uc3RydWN0b3IuIEFsc28g
Zml4ZXMgYSBidWcsIG1fcmVxdWVzdHNJbkZsaWdodCB3YXMgbm90IGluaXRpYWxpemVkLgotICAg
ICAgICAgICAgCisKICAgICAgICAgKFdlYkNvcmUpOgogICAgICAgICAoV2ViQ29yZTo6RE5TUmVz
b2x2ZVF1ZXVlOjppc1VzaW5nUHJveHkpOgogICAgICAgICAoV2ViQ29yZTo6RE5TUmVzb2x2ZVF1
ZXVlOjphZGQpOgpAQCAtNDA3MjcsNyArNDA3NTUsNyBAQAogICAgICAgICBIZWxwZXIgbWV0aG9k
IHVzZWQgdG8gY2xlYXIgdGhlIG92ZXJyaWRlTG9naWNhbENvbnRlbnRIZWlnaHQgZm9yIGF1dG8g
bG9naWNhbCBoZWlnaHQgcmVnaW9ucy4KICAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsb3dUaHJl
YWQ6OmFkZEZvcmNlZFJlZ2lvbkJyZWFrKToKICAgICAgICAgRXh0ZW5kIHRoZSBtZXRob2QgdG8g
cHJvY2VzcyByZWdpb24gYnJlYWtzLiBUaGUgbWV0aG9kIHJldHVybnMgdHJ1ZSBpZiBhdCBsZWFz
dCBvbmUgYXV0byBsb2dpY2FsIGhlaWdodCByZWdpb24KLSAgICAgICAgaGFzIGl0cyBvdmVycmlk
ZSBsb2dpY2FsIGNvbnRlbnQgaGVpZ2h0IGNvbXB1dGVkLiAgICAgICAgCisgICAgICAgIGhhcyBp
dHMgb3ZlcnJpZGUgbG9naWNhbCBjb250ZW50IGhlaWdodCBjb21wdXRlZC4KICAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oOgogICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJS
ZWdpb24uY3BwOiBNYWtlIHRoZXNlIG1ldGhvZHMgd29yayB3aXRoIGF1dG8gbG9naWNhbCBoZWln
aHQgcmVnaW9ucy4KICAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJlZ2lvbjo6cGFnZUxvZ2ljYWxI
ZWlnaHQpOgpAQCAtNDA5NDMsNyArNDA5NzEsNyBAQAogICAgICAgICBSZXBsYWNlZCAidW5kZWZp
bmVkIiB3aXRoICJudWxsIgogICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRzUGFu
ZWwuanM6CiAgICAgICAgIChXZWJJbnNwZWN0b3IuQXVkaXRDYXRlZ29yeS5wcm90b3R5cGUuY2Fs
bGJhY2tXcmFwcGVyKToKLSAgICAgICAgUmVtb3ZlZCBjYWxsYmFjayBwYXJhbWV0ZXIgaW5kaXJl
Y3Rpb24uICAgICAgICAKKyAgICAgICAgUmVtb3ZlZCBjYWxsYmFjayBwYXJhbWV0ZXIgaW5kaXJl
Y3Rpb24uCiAgICAgICAgIChXZWJJbnNwZWN0b3IuQXVkaXRSdWxlUmVzdWx0LnByb3RvdHlwZS5h
ZGRGb3JtYXR0ZWQpOgogICAgICAgICBDb252ZXJ0ZWQgcHJpdmF0ZSBpbnN0YW5jZSBmdW5jdGlv
biB0byBzY29wZWQgZnVuY3Rpb24uCiAKQEAgLTQxMzM5LDEzICs0MTM2NywxMyBAQAogICAgICAg
ICBpbiB0aGVzZSB0aWxlIGNvb3JkaW5hdGVzLiBUaGlzIHdvcmtlZCBmb3IgdGhlIHBhZ2UgdGls
ZSBjYWNoZSwKICAgICAgICAgYmVjYXVzZSBpdHMgdmlzaWJsZVJlY3Qgd2FzIHNlbnQgaW4gcHJl
LXNjYWxlZC4gSG93ZXZlciwgZm9yCiAgICAgICAgIHRpbGVkIGxheWVyIFRpbGVDYWNoZXMgdGhp
cyB3YXMgd3JvbmcuCi0gICAgICAgIAorCiAgICAgICAgIEZpeCBieSBzY2FsaW5nIHRoZSB0aWxl
IGNvdmVyYWdlIHJlY3QgYnkgbV9zY2FsZSBiZWZvcmUKICAgICAgICAgdXNpbmcgaXQgdG8gY29t
cHV0ZSB3aGljaCB0aWxlcyB0byB0aHJvdyBhd2F5IGFuZCBicmluZyBpbi4KLSAgICAgICAgCisK
ICAgICAgICAgVG8gZml4IHRoZSBwcm9ibGVtIG9mIHRoZSB2aXNpYmxlUmVjdCBiZWluZyBwcmUt
c2NhbGVkCiAgICAgICAgIGZvciB0aGUgcGFnZSB0aWxlIGNhY2hlLCByZW1vdmUgdGhlIHNldHRp
bmcgb2YgdGhlIHZpc2libGVSZWN0Ci0gICAgICAgIGluIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6
ZnJhbWVWaWV3RGlkU2Nyb2xsKCksIGFuZCByZWx5IG9uIAorICAgICAgICBpbiBSZW5kZXJMYXll
ckNvbXBvc2l0b3I6OmZyYW1lVmlld0RpZFNjcm9sbCgpLCBhbmQgcmVseSBvbgogICAgICAgICBH
cmFwaGljc0xheWVyQ0E6OnVwZGF0ZVZpc2libGVSZWN0KCkgd2hpY2ggY29tcHV0ZXMgdGhlCiAg
ICAgICAgIHZpc2libGUgcmVjdCBpbiB0aGUgY29ycmVjdCwgbGF5ZXIgY29vcmRpbmF0ZXMuCiAK
QEAgLTQxNjYzLDEwICs0MTY5MSwxMCBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMg
S2xpbmcuCiAKLSAgICAgICAgVGhlcmUgaXMgbm8gbmVlZCB0byBpbnZhbGlkYXRlIGVsZW1lbnQg
c3R5bGUgb24gaWQgYXR0cmlidXRlIGNoYW5nZSBpZiBuZWl0aGVyIHRoZSBvbGQgbm9yIHRoZSBu
ZXcgaWQgd2VyZSAKKyAgICAgICAgVGhlcmUgaXMgbm8gbmVlZCB0byBpbnZhbGlkYXRlIGVsZW1l
bnQgc3R5bGUgb24gaWQgYXR0cmlidXRlIGNoYW5nZSBpZiBuZWl0aGVyIHRoZSBvbGQgbm9yIHRo
ZSBuZXcgaWQgd2VyZQogICAgICAgICBtZW50aW9uZWQgaW4gYW55IHN0eWxlc2hlZXQuIFRoaXMg
aXMgc2ltaWxhciB0byB0aGUgb3B0aW1pemF0aW9uIHdlIGFscmVhZHkgaGF2ZSBmb3IgY2xhc3Mg
YXR0cmlidXRlcy4KLSAgICAgICAgCi0gICAgICAgIFJlY2FsY3VsYXRpbmcgZWxlbWVudCBzdHls
ZSBpcyBleHBlbnNpdmUuIEl0IHNlZW1zIGlkIGF0dHJpYnV0ZSBtdXRhdGlvbiBpcyBvZnRlbiB1
c2VkIGluIHNjcmlwdHMgZm9yIHB1cnBvc2VzIG90aGVyIHRoYW4gc3R5bGluZy4gCisKKyAgICAg
ICAgUmVjYWxjdWxhdGluZyBlbGVtZW50IHN0eWxlIGlzIGV4cGVuc2l2ZS4gSXQgc2VlbXMgaWQg
YXR0cmlidXRlIG11dGF0aW9uIGlzIG9mdGVuIHVzZWQgaW4gc2NyaXB0cyBmb3IgcHVycG9zZXMg
b3RoZXIgdGhhbiBzdHlsaW5nLgogCiAgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgog
ICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6aGFzU2VsZWN0b3JGb3JJZCk6CkBAIC00
MTgwNiw3ICs0MTgzNCw3IEBACiAKICAgICAgICAgQ2hhbmdlcyBlbXB0eSBzdHJpbmcgZm9ybS1h
Y3Rpb24gcmVwbGFjZW1lbnQgdG8gYWJvdXQ6YmxhbmsuCiAgICAgICAgIEV4aXN0aW5nIGZvcm0t
YWN0aW9uLmh0bWwgdGVzdCBtb2RpZmllZCB0byBjaGVjayB0aGlzIGNhc2UuCi0gICAgICAgIAor
CiAgICAgICAgICogaHRtbC9wYXJzZXIvWFNTQXVkaXRvci5jcHA6CiAgICAgICAgIChXZWJDb3Jl
OjpYU1NBdWRpdG9yOjpmaWx0ZXJGb3JtVG9rZW4pOgogCkBAIC00MTgyMCw3ICs0MTg0OCw3IEBA
CiAgICAgICAgIEluaWRjYXRlIHRoYXQgYW4gPGVtYmVkPiBlbGVtZW50IGNhbiByZXNwb25kIHRv
CiAgICAgICAgIG1vdXNlIGNsaWNrIGV2ZW50cywgc2luY2UgbW91c2UgZXZlbnRzIGFyZSBmb3J3
YXJkZWQKICAgICAgICAgdG8gdGhlIHBsdWdpbi4gIEZpeGVzIHRvdWNoIGFkanVzdG1lbnQgYXQg
YSBwbHVnaW4KLSAgICAgICAgYm91bmRhcnkuICBQcmlvciB0byB0aGUgcGF0Y2ggYSBjbGlja2Fi
bGUgZWxlbWVudCAKKyAgICAgICAgYm91bmRhcnkuICBQcmlvciB0byB0aGUgcGF0Y2ggYSBjbGlj
a2FibGUgZWxlbWVudAogICAgICAgICBhZGphY2VudCB0byB0aGUgcGx1Z2luIHdvdWxkIGNhcHR1
cmUgc3ludGhldGljIG1vdXNlCiAgICAgICAgIGV2ZW50cyBmcm9tIHRhcCBnZXN0dXJlcyB0aGF0
IHNwYW5uZWQgdGhlIHBsdWdpbgogICAgICAgICBib3VuZGFyeS4KQEAgLTQxODU5LDEwICs0MTg4
NywxMCBAQAogCiAgICAgICAgIHIxMzI0MjcgYXNzdW1lZCB0aGF0IFRpbGVDYWNoZXMgd2VyZSBv
bmx5IHVzZWQgZm9yIHRoZSBwYWdlLCBhbmQgY2hhbmdlZCB0aGUgdGlsZQogICAgICAgICBzaXpl
IGJlaGF2aW9yIG9mIGFsbCBub24tcGFnZSBUaWxlQ2FjaGVzLgotICAgICAgICAKKwogICAgICAg
ICBGaXggYnkgZ2l2aW5nIFRpbGVkQmFja2luZyBhIG5ldyAnQ292ZXJhZ2VGb3JTbG93U2Nyb2xs
aW5nJyBmbGFnIHdoaWNoCiAgICAgICAgIGFmZmVjdHMgdGhlIHRpbGUgc2l6ZSBiZWhhdmlvci4K
LSAgICAgICAgCisKICAgICAgICAgQ29uc29saWRhdGVkIHRoZSB0d28gcGxhY2VzIHRoYXQgc2V0
IFRpbGVDb3ZlcmFnZSBpbnRvIG9uZSwgYW5kIGluIHRoZSBwcm9jZXNzCiAgICAgICAgIHJlZHVj
ZWQgRnJhbWVWaWV3J3MgZGlyZWN0IGNvbW11bmljYXRpb24gd2l0aCBUaWxlZEJhY2tpbmcuCiAK
QEAgLTQxOTQ0LDcgKzQxOTcyLDcgQEAKICAgICAgICAgKFJlc291cmNlTG9hZFNjaGVkdWxlcik6
CiAKICAgICAgICAgQWRkIHRoZSBuZXcgbWV0aG9kIHBsdXMgYSBkZWZhdWx0IGltcGxlbWVudGF0
aW9uOgotICAgICAgICAgKiBsb2FkZXIvTG9hZGVyU3RyYXRlZ3kuY3BwOiAKKyAgICAgICAgICog
bG9hZGVyL0xvYWRlclN0cmF0ZWd5LmNwcDoKICAgICAgICAgKFdlYkNvcmU6OkxvYWRlclN0cmF0
ZWd5OjpyZXNvdXJjZUxvYWRTY2hlZHVsZXIpOgogICAgICAgICAqIGxvYWRlci9Mb2FkZXJTdHJh
dGVneS5oOgogCkBAIC00MjU2OCwzNSArNDI1OTYsMzUgQEAKIDIwMTItMTAtMjQgIEJldGggRGFr
aW4gIDxiZGFraW5AYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDAxNjkKLSAgICAgICAgV2Ugc2hvdWxkIG1ha2UgVGlsZUNhY2hl
IHRpbGVzIHRoZSBzaXplIG9mIHRoZSB0aWxlIGNvdmVyYWdlIHJlY3QgCisgICAgICAgIFdlIHNo
b3VsZCBtYWtlIFRpbGVDYWNoZSB0aWxlcyB0aGUgc2l6ZSBvZiB0aGUgdGlsZSBjb3ZlcmFnZSBy
ZWN0CiAgICAgICAgIHdoZW4gd2UgY2FuJ3QgZG8gZmFzdCBzY3JvbGxpbmcKICAgICAgICAgLWFu
ZC0KICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyNTA1MDIxPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IFNpbW9uIEZyYXNlci4KIAotICAgICAgICBTb21lIHdlYnNpdGVzIHRoYXQgZG9uJ3QgZG8g
ZmFzdCBzY3JvbGxpbmcgc3RpbGwgc2Nyb2xsIHNsb3dlciB0aGFuIAotICAgICAgICB0aGV5IGRv
IHdpdGggdGlsZWQgZHJhd2luZyBkaXNhYmxlZC4gCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTc2OCBhZGRyZXNzZWQgc29tZSBvZiB0aGlzIAotICAg
ICAgICBwZXJmb3JtYW5jZSBwcm9ibGVtLCBidXQgdGhlcmUgaXMgc3RpbGwgbW9yZSBncm91bmQg
dG8gbWFrZSB1cC4gVGhpcyAKLSAgICAgICAgcGF0Y2ggYWRkcmVzc2VzIHRoZSByZW1haW5pbmcg
aXNzdWUgYnkgbWFraW5nIHRpbGVzIHRoZSBzaXplIG9mIHRoZSAKLSAgICAgICAgd2luZG93IHdo
ZW4gd2UgY2FuJ3QgZG8gZmFzdCBzY3JvbGxpbmcuIAorICAgICAgICBTb21lIHdlYnNpdGVzIHRo
YXQgZG9uJ3QgZG8gZmFzdCBzY3JvbGxpbmcgc3RpbGwgc2Nyb2xsIHNsb3dlciB0aGFuCisgICAg
ICAgIHRoZXkgZG8gd2l0aCB0aWxlZCBkcmF3aW5nIGRpc2FibGVkLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTk3NjggYWRkcmVzc2VkIHNvbWUgb2Yg
dGhpcworICAgICAgICBwZXJmb3JtYW5jZSBwcm9ibGVtLCBidXQgdGhlcmUgaXMgc3RpbGwgbW9y
ZSBncm91bmQgdG8gbWFrZSB1cC4gVGhpcworICAgICAgICBwYXRjaCBhZGRyZXNzZXMgdGhlIHJl
bWFpbmluZyBpc3N1ZSBieSBtYWtpbmcgdGlsZXMgdGhlIHNpemUgb2YgdGhlCisgICAgICAgIHdp
bmRvdyB3aGVuIHdlIGNhbid0IGRvIGZhc3Qgc2Nyb2xsaW5nLgogCi0gICAgICAgIFRoZSBjb25z
dHJ1Y3RvciBhbmQgY3JlYXRlIGZ1bmN0aW9uIG5vIGxvbmdlciB0YWtlIGEgc2l6ZSBwYXJhbWV0
ZXIuIAotICAgICAgICBUaGF0J3MgYWxsIGZ1bGx5IGNvbnRyb2xsZWQgd2l0aGluIFRpbGVDYWNo
ZSBub3cuIG1fdGlsZVNpemUgaXMgbm8gCisgICAgICAgIFRoZSBjb25zdHJ1Y3RvciBhbmQgY3Jl
YXRlIGZ1bmN0aW9uIG5vIGxvbmdlciB0YWtlIGEgc2l6ZSBwYXJhbWV0ZXIuCisgICAgICAgIFRo
YXQncyBhbGwgZnVsbHkgY29udHJvbGxlZCB3aXRoaW4gVGlsZUNhY2hlIG5vdy4gbV90aWxlU2l6
ZSBpcyBubwogICAgICAgICBsb25nZXIgY29uc3QuCiAgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2EvbWFjL1RpbGVDYWNoZS5oOgogCi0gICAgICAgIFN0b3JlIHRoZSBjdXJyZW50IGRlZmF1
bHQgc2l6ZSBhcyBjb25zdGFudHMgc28gdGhhdCB3ZSBjYW4gYWNjZXNzIGl0IAorICAgICAgICBT
dG9yZSB0aGUgY3VycmVudCBkZWZhdWx0IHNpemUgYXMgY29uc3RhbnRzIHNvIHRoYXQgd2UgY2Fu
IGFjY2VzcyBpdAogICAgICAgICBpbiBib3RoIHRoZSBjb25zdHJ1Y3RvciBhbmQgYWRqdXN0VGls
ZVNpemVGb3JDb3ZlcmFnZVJlY3QoKS4KICAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9t
YWMvVGlsZUNhY2hlLm1tOgogICAgICAgICAoV2ViQ29yZTo6VGlsZUNhY2hlOjpUaWxlQ2FjaGUp
OgogCi0gICAgICAgIFRoaXMgbmV3IGZ1bmN0aW9uIHdpbGwgc2V0IG1fdGlsZVNpemUgdG8gdGhl
IHNpemUgb2YgdGhlIHRpbGUgCi0gICAgICAgIGNvdmVyYWdlIHJlY3QgaWYgdGhlIHRpbGUgY292
ZXJhZ2UgaXMgbGltaXRlZCB0byB0aGUgdmlzaWJsZSBhcmVhLiAKKyAgICAgICAgVGhpcyBuZXcg
ZnVuY3Rpb24gd2lsbCBzZXQgbV90aWxlU2l6ZSB0byB0aGUgc2l6ZSBvZiB0aGUgdGlsZQorICAg
ICAgICBjb3ZlcmFnZSByZWN0IGlmIHRoZSB0aWxlIGNvdmVyYWdlIGlzIGxpbWl0ZWQgdG8gdGhl
IHZpc2libGUgYXJlYS4KICAgICAgICAgT3RoZXJ3aXNlLCB0aGUgdGlsZXMgYXJlIHNldCB0byBi
ZSB0aGUgZGVmYXVsdCBzaXplLgogICAgICAgICAoV2ViQ29yZTo6VGlsZUNhY2hlOjphZGp1c3RU
aWxlU2l6ZUZvckNvdmVyYWdlUmVjdCk6Ci0gICAgICAgIAorCiAgICAgICAgIENhbGwgYWRqdXN0
VGlsZVNpemVGb3JDb3ZlcmFnZVJlY3QoKS4KICAgICAgICAgKFdlYkNvcmU6OlRpbGVDYWNoZTo6
cmV2YWxpZGF0ZVRpbGVzKToKIApAQCAtNDI4MTIsMTQgKzQyODQwLDE0IEBACiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KIAotICAgICAgICBDdXJyZW50bHkgYSBsb25nLXByZXNz
IGdlc3R1cmUgaXMgdXNlZCB0byBkaXNwYXRjaCBhIGNvbnRleHQgbWVudSAoZm9yIHBsYXRmb3Jt
cyAKLSAgICAgICAgZGVmaW5pbmcgQ09OVEVYVF9NRU5VUykgb3IgdG8gc2VsZWN0IHRleHQgKGZv
ciBBbmRyb2lkKS4gQWRkaXRpb25hbGx5LCBmb3IgcGxhdGZvcm1zIAotICAgICAgICBkZWZpbmlu
ZyBUT1VDSF9BREpVU1RNRU5ULCBnZXN0dXJlIHRhcmdldCBmdXp6aW5nIGlzIHBlcmZvcm1lZCBv
biB0aGUgbG9jYXRpb24gYW5kIAorICAgICAgICBDdXJyZW50bHkgYSBsb25nLXByZXNzIGdlc3R1
cmUgaXMgdXNlZCB0byBkaXNwYXRjaCBhIGNvbnRleHQgbWVudSAoZm9yIHBsYXRmb3JtcworICAg
ICAgICBkZWZpbmluZyBDT05URVhUX01FTlVTKSBvciB0byBzZWxlY3QgdGV4dCAoZm9yIEFuZHJv
aWQpLiBBZGRpdGlvbmFsbHksIGZvciBwbGF0Zm9ybXMKKyAgICAgICAgZGVmaW5pbmcgVE9VQ0hf
QURKVVNUTUVOVCwgZ2VzdHVyZSB0YXJnZXQgZnV6emluZyBpcyBwZXJmb3JtZWQgb24gdGhlIGxv
Y2F0aW9uIGFuZAogICAgICAgICB0b3VjaCBhcmVhIG9mIHRoZSBsb25nLXByZXNzIGdlc3R1cmUu
CiAKLSAgICAgICAgVGhpcyBDTCB3aWxsIGNhdXNlIHR3by1maW5nZXIgdGFwIGdlc3R1cmVzIHRv
IGJlIGhhbmRsZWQgaW4gdGhlIHNhbWUgd2F5IGFzIGxvbmctcHJlc3MgCi0gICAgICAgIGdlc3R1
cmVzLiBUaGUgbG9jYXRpb24gYW5kIHRvdWNoIGFyZWEgb2YgYSB0d28tZmluZ2VyIHRhcCBnZXN0
dXJlIHdpbGwgY29ycmVzcG9uZCB0byAKLSAgICAgICAgdGhlIGxvY2F0aW9uIGFuZCB0b3VjaCBh
cmVhIG9mIHRoZSBmaXJzdCBmaW5nZXIgZG93bjsgdGhlIGxvY2F0aW9uL2FyZWEgb2YgdGhlIHNl
Y29uZCAKKyAgICAgICAgVGhpcyBDTCB3aWxsIGNhdXNlIHR3by1maW5nZXIgdGFwIGdlc3R1cmVz
IHRvIGJlIGhhbmRsZWQgaW4gdGhlIHNhbWUgd2F5IGFzIGxvbmctcHJlc3MKKyAgICAgICAgZ2Vz
dHVyZXMuIFRoZSBsb2NhdGlvbiBhbmQgdG91Y2ggYXJlYSBvZiBhIHR3by1maW5nZXIgdGFwIGdl
c3R1cmUgd2lsbCBjb3JyZXNwb25kIHRvCisgICAgICAgIHRoZSBsb2NhdGlvbiBhbmQgdG91Y2gg
YXJlYSBvZiB0aGUgZmlyc3QgZmluZ2VyIGRvd247IHRoZSBsb2NhdGlvbi9hcmVhIG9mIHRoZSBz
ZWNvbmQKICAgICAgICAgZmluZ2VyIHdpbGwgYmUgaWdub3JlZC4KIAogICAgICAgICBUZXN0OiB0
b3VjaGFkanVzdG1lbnQvdG91Y2gtbGlua3MtdHdvLWZpbmdlci10YXAuaHRtbApAQCAtNDMwMjQs
MTMgKzQzMDUyLDEzIEBACiAgICAgICAgIG1fc3RydWN0dXJhbExheWVyIHdoaWNoIGlzIGEgQ0FU
cmFuc2Zvcm1MYXllci4gVGhlIHByaW1hcnkgQ0FMYXllciB3aGljaCBjb250YWlucyByZW5kZXJl
ZAogICAgICAgICBjb250ZW50IGJlY29tZXMgYSBzdWJsYXllciBvZiB0aGUgQ0FUcmFuc2Zvcm1M
YXllci4gSWYgdGhlIGVsZW1lbnQgaGFzIGJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuLAogICAg
ICAgICBpdCBpcyB0aGUgcHJpbWFyeSBsYXllciB0aGF0IGlzIHNldCB0byBiZSBzaW5nbGUtc2lk
ZWQuCi0gICAgICAgIAorCiAgICAgICAgIEluIHIxMzE5NDAgd2Ugc3RhcnRlZCB0byB1c2UgVGls
ZUNhY2hlcyBpbiBwbGFjZSBvZiBDQVRpbGVkTGF5ZXIuIFRpbGVDYWNoZXMgd29yayB2aWEKLSAg
ICAgICAgImN1c3RvbVN1YmxheWVycyIgcmV0dXJuZWQgZnJvbSB0aGUgUGxhdGZvcm1DQUxheWVy
LCB3aGVyZSB0aGUgY3VzdG9tIHN1YmxheWVyIGlzIAorICAgICAgICAiY3VzdG9tU3VibGF5ZXJz
IiByZXR1cm5lZCBmcm9tIHRoZSBQbGF0Zm9ybUNBTGF5ZXIsIHdoZXJlIHRoZSBjdXN0b20gc3Vi
bGF5ZXIgaXMKICAgICAgICAgdGhlIHRpbGUgY2FjaGUgY29udGFpbmVyIGxheWVyLiBIb3dldmVy
LCB0aGUgY3VzdG9tIHN1YmxheWVycyB3ZXJlIGJlaW5nIGFkZGVkIGFzCiAgICAgICAgIGNoaWxk
cmVuIG9mIHRoZSBzdHJ1Y3R1cmFsIChDQVRyYW5zZm9ybUxheWVyKSBsYXllciwgbm90IG9mIHRo
ZSBwcmltYXJ5IChDQUxheWVyKSBsYXllciwKICAgICAgICAgdGh1cyB0aGV5IHdlcmUgbm90IGFm
ZmVjdGVkIGJ5IHRoZSBkb3VibGVTaWRlZCBwcm9wZXJ0eS4KLSAgICAgICAgCisKICAgICAgICAg
VGhpcyBjaGFuZ2UgY2xlYW5zIHVwIHRoZSBjb25mdXNpbmcgY29kZSBpbiBHcmFwaGljc0xheWVy
Q0E6OnVwZGF0ZVN1YmxheWVyTGlzdCgpCiAgICAgICAgIGJ5IG1haW50YWluaW5nIHR3byB2ZWN0
b3JzIG9mIFBsYXRmb3JtQ0FMYXllcnMsIG9uZSBmb3Igc3VibGF5ZXJzIG9mIHRoZSBzdHJ1Y3R1
cmFsCiAgICAgICAgIGxheWVyLCBhbmQgb25lIGZvciBzdWJsYXllcnMgb2YgdGhlIHByaW1hcnkg
bGF5ZXIuIEl0IGFkZHMgY3VzdG9tIHN1YmxheWVycyB0bwpAQCAtNDMxOTksNyArNDMyMjcsNyBA
QAogICAgICAgICBSZXZpZXdlZCBieSBMZXZpIFdlaW50cmF1Yi4KIAogICAgICAgICBSZW5kZXJT
VkdSb290OjpwYWludFJlcGxhY2VkKCkgY29udmVydHMgdGhlIGNvbnRhaW5lciBvZmZzZXRzIHRv
IGEgcmVsYXRpdmUgdHJhbnNmb3JtLAotICAgICAgICBidXQgaW4gZG9pbmcgc28gaXQgZW5kcyB1
cCBhY2N1bXVsYXRpbmcgc3VicGl4ZWwgcm91bmRpbmcgZGVsdGFzIHR3aWNlOiBmaXJzdCBmb3Ig
CisgICAgICAgIGJ1dCBpbiBkb2luZyBzbyBpdCBlbmRzIHVwIGFjY3VtdWxhdGluZyBzdWJwaXhl
bCByb3VuZGluZyBkZWx0YXMgdHdpY2U6IGZpcnN0IGZvcgogICAgICAgICBhZGp1c3RlZFBhaW50
T2Zmc2V0IGFuZCBzZWNvbmQgaW4gbG9jYWxUb1BhcmVudFRyYW5zZm9ybSgpLiBJZiBjb29yZGlu
YXRlcyBhcmUgb24KICAgICAgICAgaGFsZi1waXhlbCBib3VuZGFyaWVzLCB0aGUgMnggcm91bmRp
bmcgZGVsdGEgeWllbGRzIGEgZnVsbCBwaXhlbCBkcmlmdCBhbmQgd2UgZW5kIHVwCiAgICAgICAg
IHBhaW50aW5nIGF0IHRoZSB3cm9uZyBsb2NhdGlvbi4KQEAgLTQzMzQ5LDcgKzQzMzc3LDcgQEAK
ICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyMDQ0OTY0PgogCiAgICAgICAgIFVucmV2aWV3ZWQg
QnVpbGQgZml4LgotICAgICAgICAKKwogICAgICAgICBDR0Zsb2F0IGlzIGFscmVhZHkgYSBmbG9h
dCBpbiBhIDMyLWJpdCBidWlsZCBzbyBuYXJyb3dQcmVjaXNpb25Ub0Zsb2F0KCkgaXMgdW5uZWNl
c3NhcnkKIAogICAgICAgICAqIHBhZ2UvQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01hYy5tbToKQEAg
LTQzMzc5LDcgKzQzNDA3LDcgQEAKICAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6
OnNldENsb3NlZENhcHRpb25zVmlzaWJsZSk6IE1vdmUgdGhlIGNvZGUgdGhhdCBtYXJrcyBhbGwg
dHJhY2tzIGFzCiAgICAgICAgICAgICB1bi1jb25maWd1cmVkIHRvIG1hcmtDYXB0aW9uQW5kU3Vi
dGl0bGVUcmFja3NBc1VuY29uZmlndXJlZCBzbyBpdCBjYW4gYmUgcmV1c2VkLgogICAgICAgICAo
V2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6Y2FwdGlvblByZWZlcmVuY2VzQ2hhbmdlZCk6IE5l
dywgZm9yY2UgYSByZWV2YWx1YXRpb24gb2YgYWxsIHRleHQgdHJhY2tzLgotICAgICAgICAoV2Vi
Q29yZTo6SFRNTE1lZGlhRWxlbWVudDo6bWFya0NhcHRpb25BbmRTdWJ0aXRsZVRyYWNrc0FzVW5j
b25maWd1cmVkKTogTmV3LCBjb2RlIG1vdmVkIGZyb20gCisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWVkaWFFbGVtZW50OjptYXJrQ2FwdGlvbkFuZFN1YnRpdGxlVHJhY2tzQXNVbmNvbmZpZ3VyZWQp
OiBOZXcsIGNvZGUgbW92ZWQgZnJvbQogICAgICAgICAgICAgc2V0Q2xvc2VkQ2FwdGlvbnNWaXNp
YmxlCiAgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6IEluaGVyaXQgZnJvbSBDYXB0
aW9uUHJlZmVyZW5jZXNDaGFuZ2VkTGlzdGVuZXIuCiAKQEAgLTQzNDA0LDEwICs0MzQzMiwxMCBA
QAogCiAgICAgICAgICogaHRtbC90cmFjay9UZXh0VHJhY2tDdWUuY3BwOgogICAgICAgICAoV2Vi
Q29yZTo6VGV4dFRyYWNrQ3VlQm94OjpUZXh0VHJhY2tDdWVCb3gpOiBTZXQgdGhlIHNoYWRvdyBw
c2V1ZG8gaWQuCi0gICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tDdWVCb3g6OnRleHRUcmFja0N1
ZUJveFNoYWRvd1BzZXVkb0lkKTogTmV3LCBjbGFzcyBtZXRob2QgdG8gcmV0dXJuIHRoZSAKKyAg
ICAgICAgKFdlYkNvcmU6OlRleHRUcmFja0N1ZUJveDo6dGV4dFRyYWNrQ3VlQm94U2hhZG93UHNl
dWRvSWQpOiBOZXcsIGNsYXNzIG1ldGhvZCB0byByZXR1cm4gdGhlCiAgICAgICAgICAgICBzaGFk
b3cgcHNldWRvIGlkIHNvIGl0IGNhbiBiZSB1c2VkIGVsc2V3aGVyZS4KICAgICAgICAgKFdlYkNv
cmU6OlRleHRUcmFja0N1ZUJveDo6c2hhZG93UHNldWRvSWQpOiBDYWxsIHRleHRUcmFja0N1ZUJv
eFNoYWRvd1BzZXVkb0lkLgotICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrQ3VlOjpwYXN0Tm9k
ZXNTaGFkb3dQc2V1ZG9JZCk6IE5ldywgY2xhc3MgbWV0aG9kIHRvIHJldHVybiB0aGUgCisgICAg
ICAgIChXZWJDb3JlOjpUZXh0VHJhY2tDdWU6OnBhc3ROb2Rlc1NoYWRvd1BzZXVkb0lkKTogTmV3
LCBjbGFzcyBtZXRob2QgdG8gcmV0dXJuIHRoZQogICAgICAgICAgICAgc2hhZG93IHBzZXVkbyBp
ZCBzbyBpdCBjYW4gYmUgdXNlZCBlbHNld2hlcmUuCiAgICAgICAgIChXZWJDb3JlOjpUZXh0VHJh
Y2tDdWU6OmZ1dHVyZU5vZGVzU2hhZG93UHNldWRvSWQpOiBEaXR0by4KICAgICAgICAgKFdlYkNv
cmU6OlRleHRUcmFja0N1ZTo6dXBkYXRlRGlzcGxheVRyZWUpOgpAQCAtNDM0MjIsMTUgKzQzNDUw
LDE1IEBACiAgICAgICAgIChXZWJDb3JlOjpDYXB0aW9uVXNlclByZWZlcmVuY2VzTWFjOjp1c2Vy
SGFzQ2FwdGlvblByZWZlcmVuY2VzKTogTmV3LCBwYXNzdGhyb3VnaCB0byBXS1NJIGZ1bmN0aW9u
LgogICAgICAgICAoV2ViQ29yZTo6Q2FwdGlvblVzZXJQcmVmZXJlbmNlc01hYzo6dXNlclByZWZl
cnNDYXB0aW9ucyk6IERpdHRvLgogICAgICAgICAoV2ViQ29yZTo6Q2FwdGlvblVzZXJQcmVmZXJl
bmNlc01hYzo6Y2FwdGlvbnNXaW5kb3dDb2xvcik6IFJldHVybiBDb2xvciB3aXRoIHVzZXIncyBj
YXB0aW9uIHdpbmRvdyBjb2xvciBwcmVmZXJlbmNlLgotICAgICAgICAoV2ViQ29yZTo6Q2FwdGlv
blVzZXJQcmVmZXJlbmNlc01hYzo6Y2FwdGlvbnNCYWNrZ3JvdW5kQ29sb3IpOiBSZXR1cm4gQ29s
b3Igd2l0aCB1c2VyJ3MgY2FwdGlvbiAKKyAgICAgICAgKFdlYkNvcmU6OkNhcHRpb25Vc2VyUHJl
ZmVyZW5jZXNNYWM6OmNhcHRpb25zQmFja2dyb3VuZENvbG9yKTogUmV0dXJuIENvbG9yIHdpdGgg
dXNlcidzIGNhcHRpb24KICAgICAgICAgICAgIGJhY2tncm91bmQgY29sb3IgcHJlZmVyZW5jZS4K
ICAgICAgICAgKFdlYkNvcmU6OkNhcHRpb25Vc2VyUHJlZmVyZW5jZXNNYWM6OmNhcHRpb25zVGV4
dENvbG9yKTogUmV0dXJuIENvbG9yIHdpdGggdXNlcidzIGNhcHRpb24gdGV4dCBjb2xvciBwcmVm
ZXJlbmNlLgogICAgICAgICAoV2ViQ29yZTo6Q2FwdGlvblVzZXJQcmVmZXJlbmNlc01hYzo6Y2Fw
dGlvbnNFZGdlQ29sb3JGb3JUZXh0Q29sb3IpOiBSZXR1cm4gQ29sb3IgZm9yIHRleHQgZWRnZSBl
ZmZlY3QuCiAgICAgICAgIChXZWJDb3JlOjpDYXB0aW9uVXNlclByZWZlcmVuY2VzTWFjOjpjc3NQ
cm9wZXJ0eVdpdGhUZXh0RWRnZUNvbG9yKTogUmV0dXJuIFN0cmluZyB3aXRoIENTUyB0byBzZXQg
YSB0ZXh0LXNoYWRvdwogICAgICAgICAgICAgb3Igd2Via2l0LXRleHQtc3Ryb2tlIHByb3BlcnR5
LgotICAgICAgICAoV2ViQ29yZTo6Q2FwdGlvblVzZXJQcmVmZXJlbmNlc01hYzo6Y3NzQ29sb3JQ
cm9wZXJ0eSk6IFJldHVybiBhIFN0cmluZyB3aXRoIGNzcyB0byBzZXQgYSBwcm9wZXJ0eSAKKyAg
ICAgICAgKFdlYkNvcmU6OkNhcHRpb25Vc2VyUHJlZmVyZW5jZXNNYWM6OmNzc0NvbG9yUHJvcGVy
dHkpOiBSZXR1cm4gYSBTdHJpbmcgd2l0aCBjc3MgdG8gc2V0IGEgcHJvcGVydHkKICAgICAgICAg
ICAgIHdpdGggYSBjb2xvciB2YWx1ZS4KLSAgICAgICAgKFdlYkNvcmU6OkNhcHRpb25Vc2VyUHJl
ZmVyZW5jZXNNYWM6OmNhcHRpb25zVGV4dEVkZ2VTdHlsZSk6IFJldHVybiBhIFN0cmluZyB3aXRo
IGNzcyB0byBzdHlsZSBjYXB0aW9uIAorICAgICAgICAoV2ViQ29yZTo6Q2FwdGlvblVzZXJQcmVm
ZXJlbmNlc01hYzo6Y2FwdGlvbnNUZXh0RWRnZVN0eWxlKTogUmV0dXJuIGEgU3RyaW5nIHdpdGgg
Y3NzIHRvIHN0eWxlIGNhcHRpb24KICAgICAgICAgICAgIHRleHQgd2l0aCB0aGUgdXNlcidzIHBy
ZWZlcnJlZCB0ZXh0IGVkZ2Ugc3R5ZS4KICAgICAgICAgKFdlYkNvcmU6OkNhcHRpb25Vc2VyUHJl
ZmVyZW5jZXNNYWM6OmNhcHRpb25zRGVmYXVsdEZvbnQpOiBSZXR1cm4gYSBTdHJpbmcgd2l0aCBj
c3MgdG8gc3R5bGUgY2FwdGlvbgogICAgICAgICAgICAgdGV4dCB3aXRoIHRoZSB1c2VyJ3MgcHJl
ZmVycmVkIGZvbnQuCkBAIC00MzQzOCw3ICs0MzQ2Niw3IEBACiAgICAgICAgICAgICB3aXRoIHRo
ZSB1c2VyJ3MgcHJlZmVycmVkIHN0eWxlLgogICAgICAgICAoV2ViQ29yZTo6Q2FwdGlvblVzZXJQ
cmVmZXJlbmNlc01hYzo6Y2FwdGlvbkZvbnRTaXplU2NhbGUpOiBSZXR1cm4gdGhlIHVzZXIncyBw
cmVmZXJyZWQgY2FwdGlvbiBmb250IHNjYWxlLgogICAgICAgICAoV2ViQ29yZTo6Q2FwdGlvblVz
ZXJQcmVmZXJlbmNlc01hYzo6Y2FwdGlvblByZWZlcmVuY2VzQ2hhbmdlZCk6IE5vdGlmeSBsaXN0
ZW5lcnMgb2YgY2FwdGlvbiBwcmVmZXJlbmNlIGNoYW5nZS4KLSAgICAgICAgKFdlYkNvcmU6OkNh
cHRpb25Vc2VyUHJlZmVyZW5jZXNNYWM6OnJlZ2lzdGVyRm9yQ2FwdGlvblByZWZlcmVuY2VzQ2hh
bmdlZENhbGxiYWNrcyk6IEFkZCBhIGNhcHRpb24gcHJlZmVyZW5jZXMgCisgICAgICAgIChXZWJD
b3JlOjpDYXB0aW9uVXNlclByZWZlcmVuY2VzTWFjOjpyZWdpc3RlckZvckNhcHRpb25QcmVmZXJl
bmNlc0NoYW5nZWRDYWxsYmFja3MpOiBBZGQgYSBjYXB0aW9uIHByZWZlcmVuY2VzCiAgICAgICAg
ICAgICBjaGFuZ2VzIGxpc3RlbmVyLgogICAgICAgICAoV2ViQ29yZTo6Q2FwdGlvblVzZXJQcmVm
ZXJlbmNlc01hYzo6dW5yZWdpc3RlckZvckNhcHRpb25QcmVmZXJlbmNlc0NoYW5nZWRDYWxsYmFj
a3MpOiBSZW1vdmUgYSBjYXB0aW9uIHByZWZlcmVuY2VzCiAgICAgICAgICAgICBjaGFuZ2VzIGxp
c3RlbmVyLgpAQCAtNDM2NzAsNyArNDM2OTgsNyBAQAogICAgICAgICBSZXZpZXdlZCBieSBHZW9y
Z2UgU3RhaWtvcy4KIAogICAgICAgICBXZSBzaG91bGQgc3RvcmUgdGhlIGNyZWRlbnRpYWxzIGlu
IHRoZSByZWRpcmVjdGlvbiByZXNwb25zZSBoYW5kbGVyLCBpZiB0aGUgcmVxdWVzdCBpcyBjaGFs
bGVuZ2VkLgotICAgICAgICBCZWNhdXNlIHRoZSByZWRpcmVjdCByZXNwb25zZSBzdWdnZXN0cyB0
aGUgYXV0aGVudGljYXRpb24gc3VjY2VlZHMuIAorICAgICAgICBCZWNhdXNlIHRoZSByZWRpcmVj
dCByZXNwb25zZSBzdWdnZXN0cyB0aGUgYXV0aGVudGljYXRpb24gc3VjY2VlZHMuCiAKICAgICAg
ICAgVGVzdDogaHR0cDovL2Jyb3dzZXJ0ZXN0MDEucmltLm5ldC9hdXRoYmFzaWMKIApAQCAtNDM5
NjAsMTAgKzQzOTg4LDEwIEBACiAgICAgICAgIGJhY2tncm91bmQgdGFiLiBIb3dldmVyLCB0aGF0
IGRyb3BwZWQgdGhlIGxheWVyIGZsdXNoIG9uIHRoZSBmbG9vciwgc28gdGhhdCBhbnkgc3Vic2Vx
dWVudCBjaGFuZ2VzCiAgICAgICAgIHRvIEdyYXBoaWNzTGF5ZXJDQXMgd291bGQganVzdCBwaWxl
IHVwIGFuZCBuZXZlciBnZXQgZmx1c2hlZC4gVGhpcyB3YXMgbW9zdCBldmlkZW50IG9uIHBhZ2Vz
CiAgICAgICAgIHRoYXQgcmVxdWlyZSBmcmVxdWVudCBmbHVzaGluZywgc3VjaCBhcyB0aG9zZSBy
dW5uaW5nIGFuaW1hdGVkIEdJRnMuCi0gICAgICAgIAorCiAgICAgICAgIEZpeCBieSBzZXR0aW5n
IGEgZmxhZyBpbiBmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMoKSBpZiB3ZSdyZSB1bmF0dGFjaGVk
LiBDb25zdWx0IHRoZSBmbGFnCiAgICAgICAgIHdoZW4gcmUtYXR0YWNoaW5nIHRoZSByb290IGxh
eWVyLCBhbmQgaWYgaXQncyBzZXQsIGZsdXNoIHRoZSBHcmFwaGljc0xheWVycy4KLSAgICAgICAg
CisKICAgICAgICAgTm90IHRlc3RhYmxlIGJlY2F1c2Ugd2UgY2FuJ3QgdGVzdCBkZXRhY2hpbmcg
YW5kIHJlLWFkZGluZyB3ZWIgdmlld3MgaW4gRFJUL1dUUi4KIAogICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgpAQCAtNDQ3NjMsOSArNDQ3OTEsOSBAQAogCiAg
ICAgICAgIFJldmlld2VkIGJ5IERlYW4gSmFja3Nvbi4KIAotICAgICAgICBXaGVuIGJpbmRpbmcg
YSB0ZXh0dXJlIHRvIEdMX1RFWFRVUkVfMkQgd2hlbiBHTF9BQ1RJVkVfVEVYVFVSRSBpcyAwLCB3
ZSBzZXQgbV9ib3VuZFRleHR1cmUwIHRvIHRoZSB0ZXh0dXJlIHVuaXQuIAorICAgICAgICBXaGVu
IGJpbmRpbmcgYSB0ZXh0dXJlIHRvIEdMX1RFWFRVUkVfMkQgd2hlbiBHTF9BQ1RJVkVfVEVYVFVS
RSBpcyAwLCB3ZSBzZXQgbV9ib3VuZFRleHR1cmUwIHRvIHRoZSB0ZXh0dXJlIHVuaXQuCiAgICAg
ICAgIEhvd2V2ZXIgd2hlbiB3ZSBkZWxldGUgdGhlIHRleHR1cmUsIHdlIG5lZWQgdG8gYmUgc2V0
dGluZyBtX2JvdW5kVGV4dHVyZTAgdG8gMC4KLSAgICAgICAgT3RoZXJ3aXNlIHdoZW4gd2UgZHJh
dyB0byB0aGUgc2NyZWVuIHdlIGJpbmQgbV9ib3VuZFRleHR1cmUwIGluIHRoZSBwcmVwYXJlVGV4
dHVyZSgpIG1ldGhvZCBhbmQgc2luY2UgdGhlIGFzc29jaWF0ZWQgdGV4dHVyZSAKKyAgICAgICAg
T3RoZXJ3aXNlIHdoZW4gd2UgZHJhdyB0byB0aGUgc2NyZWVuIHdlIGJpbmQgbV9ib3VuZFRleHR1
cmUwIGluIHRoZSBwcmVwYXJlVGV4dHVyZSgpIG1ldGhvZCBhbmQgc2luY2UgdGhlIGFzc29jaWF0
ZWQgdGV4dHVyZQogICAgICAgICBoYXMgYWxyZWFkeSBiZWVuIGRlbGV0ZWQgd2UgZW5kIHVwIGlu
IGFuIGVycm9yIHN0YXRlLgogCiAgICAgICAgIFRlc3RlZCB1c2luZyBLaHJvbm9zIFdlYkdMIGNv
bmZvcm1hbmNlIHN1aXRlOgpAQCAtNDQ3ODIsNyArNDQ4MTAsNyBAQAogICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KIAogICAgICAgICBUaGUgJ3knIHBhcmFtZXRlcnMgb2YgcG9seWdv
biB3ZXJlIGNhbGN1bGF0ZWQgYnkgdGhlIHdpdGggb2YgdGhlIGJvdW5kaW5nIGJveCBvZiB0aGUg
b2JqZWN0LgotICAgICAgICBUaGlzIGNhdXNlZCBwcm9ibGVtcyBvbiBwZXJjZW50YWdlIHZhbHVl
cyBmb3IgcG9pbnQgcG9zaXRpb25zLiAKKyAgICAgICAgVGhpcyBjYXVzZWQgcHJvYmxlbXMgb24g
cGVyY2VudGFnZSB2YWx1ZXMgZm9yIHBvaW50IHBvc2l0aW9ucy4KICAgICAgICAgQ2hhbmdlZCBp
dCB0byB0aGUgaGVpZ2h0IG9mIHRoZSBib3VuZGluZyBib3guCiAKICAgICAgICAgVGVzdDogY3Nz
My9tYXNraW5nL2NsaXAtcGF0aC1wb2x5Z29uLXBlcmNlbnRhZ2UuaHRtbApAQCAtNDUwODQsNyAr
NDUxMTIsNyBAQAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTAwMDE4CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSnVsaWVuIENoYWZmcmFpeC4KLSAgICAg
ICAgCisKICAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IGluaXRpYWxpemF0aW9uIGZyb20gTGF5
b3V0U3RhdGUgY29uc3RydWN0b3IKICAgICAgICAgYWRkZWQgaW4gcjEzMjEwNS4KIApAQCAtNDU2
ODAsNyArNDU3MDgsNyBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IEdlb3JnZSBTdGFpa29zLgog
Ci0gICAgICAgIEluICJOZXR3b3JrSm9iOjpoYW5kbGVOb3RpZnlIZWFkZXJSZWNlaXZlZCIsIGlm
IHRoZXJlIGFyZSBzZXZlcmFsICJTZXQtQ29va2llIiBoZWFkZXJzLCAKKyAgICAgICAgSW4gIk5l
dHdvcmtKb2I6OmhhbmRsZU5vdGlmeUhlYWRlclJlY2VpdmVkIiwgaWYgdGhlcmUgYXJlIHNldmVy
YWwgIlNldC1Db29raWUiIGhlYWRlcnMsCiAgICAgICAgIHdlIHNob3VsZCBjb21iaW5lIHRoZSBm
b2xsb3dpbmcgb25lcyB3aXRoIHRoZSBmaXJzdC4KIAogICAgICAgICBObyBuZXcgdGVzdCBjYXNl
LgpAQCAtNDYxNjUsNyArNDYxOTMsNyBAQAogICAgICAgICBhIHJlYWxsb2NhdGlvbiBpbiB0aGUg
RWxlbWVudEF0dHJpYnV0ZURhdGEncyB1bmRlcmx5aW5nIFZlY3RvcjxBdHRyaWJ1dGU+LgogCiAg
ICAgICAgIFRvIG1ha2UgaXQgaGFyZGVyIHRvIGludHJvZHVjZSB0aGlzIGtpbmQgb2YgYnVnIGlu
IHRoZSBmdXR1cmUsIEkgY2hhbmdlZCBhbG1vc3QgYWxsIGZ1bmN0aW9ucyB0aGF0IHRha2UKLSAg
ICAgICAgYSAiY29uc3QgQXR0cmlidXRlJiIgdG8gdGFrZSBhIFF1YWxpZmllZE5hbWUvQXRvbWlj
U3RyaW5nIGNvdXBsZSBpbnN0ZWFkICh0aGUgaWRlYSBiZWluZyB0aGF0IHRoZSAKKyAgICAgICAg
YSAiY29uc3QgQXR0cmlidXRlJiIgdG8gdGFrZSBhIFF1YWxpZmllZE5hbWUvQXRvbWljU3RyaW5n
IGNvdXBsZSBpbnN0ZWFkICh0aGUgaWRlYSBiZWluZyB0aGF0IHRoZQogICAgICAgICBmZXdlciBy
ZWZlcmVuY2VzIGludG8gdGhlIGF0dHJpYnV0ZSBzdG9yZSB3ZSBoYXZlLCB0aGUgYmV0dGVyLikK
IAogICAgICAgICBUZXN0OiBmYXN0L2h0bWwvaW5wdXQtdHlwZS1jaGFuZ2UtY3Jhc2guaHRtbApA
QCAtNDYzNzYsNyArNDY0MDQsNyBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9z
a3VyeWFrb3YuCiAKLSAgICAgICAgRm9sbG93dXAgZml4IHRvIHIxMzE5NTUgZm9yIGNocm9taXVt
IHBsYXRmb3JtLiAgQWRkZWQgY2FsbCB0byAKKyAgICAgICAgRm9sbG93dXAgZml4IHRvIHIxMzE5
NTUgZm9yIGNocm9taXVtIHBsYXRmb3JtLiAgQWRkZWQgY2FsbCB0bwogICAgICAgICAoY29uc3Qg
VUNoYXIqLCB1bnNpZ25lZCkgdmVyc2lvbiBvZiB2aXNpdGVkTGlua0hhc2ggZnJvbSBTdHJpbmcm
IHZlcnNpb24uCiAKICAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9MaW5rSGFzaENocm9taXVt
LmNwcDoKQEAgLTQ2NDYxLDcgKzQ2NDg5LDcgQEAKICAgICAgICAgKFdlYkNvcmU6OklubGluZUZs
b3dCb3g6OmNvbXB1dGVMb2dpY2FsQm94SGVpZ2h0cyk6CiAgICAgICAgIChXZWJDb3JlOjpJbmxp
bmVGbG93Qm94OjpwbGFjZUJveGVzSW5CbG9ja0RpcmVjdGlvbik6CiAgICAgICAgIENoYW5nZSBt
YXhBc2NlbnQvbWF4RGVzY2VudCB0byBpbnQgdG8gbWF0Y2ggYXNjZW50L2Rlc2NlbnQuCi0gICAg
ICAgIAorCiAgICAgICAgICogcmVuZGVyaW5nL0lubGluZUZsb3dCb3guaDoKICAgICAgICAgKElu
bGluZUZsb3dCb3gpOgogICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcDoKQEAg
LTQ3NTkzLDcgKzQ3NjIxLDcgQEAKIDIwMTItMTAtMTkgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZy
YXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIC5nZXQoKSBjYWxscyBpbiBhc3NlcnRp
b25zIGFzIHN1Z2dlc3RlZCBieSBEYXJpbiBBZGxlci4KLSAgICAgICAgCisKICAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1DQUxheWVyTWFjLm1tOgogICAgICAgICAo
UGxhdGZvcm1DQUxheWVyOjphcHBlbmRTdWJsYXllcik6CiAgICAgICAgIChQbGF0Zm9ybUNBTGF5
ZXI6Omluc2VydFN1YmxheWVyKToKQEAgLTQ3NjEwLDIwICs0NzYzOCwyMCBAQAogICAgICAgICBU
aGUgbmV3IHRpbGUgY2FjaGUgY29kZSBhZGRlZCBhbiB1cGRhdGVTdWJsYXllcnMoKSBjYWxsIHdo
ZW4gc3dpdGNoaW5nIHRvL2Zyb20KICAgICAgICAgdGlsZWQgbGF5ZXJzLiBUaGlzIGNvbmZ1c2Vk
IGxhdGVyIHN1YmxheWVyIHJlYnVpbGRpbmcsIGNhdXNpbmcgdXMgdG8gYXR0ZW1wdCB0bwogICAg
ICAgICBhZGQgYSBsYXllciBhcyBhIGNoaWxkIG9mIGl0c2VsZiwgY2F1c2luZyBhIGhhbmcgaW4g
Q0EuCi0gICAgICAgIAorCiAgICAgICAgIEZpeCBieSByZW1vdmluZyBhbGwgdGhlIGV4cGxpY2l0
IGNhbGxzIHRvIHVwZGF0ZUZvbyB3aGVuIHVwZGF0aW5nIHRoZSBzdHJ1Y3R1cmFsCiAgICAgICAg
IGxheWVyIGFuZCBzd2l0Y2hpbmcgdG8vZnJvbSB0aWxlZCBsYXllcnMuIEluc3RlYWQsIHdlIHNl
dCBkaXJ0eSBmbGFncywgYW5kIHJlbHkKICAgICAgICAgb24gdGhlIGZhY3QgdGhhdCB0aGVzZSBm
bGFnLWRpcnR5aW5nIGZ1bmN0aW9ucyBnZXQgY2FsbGVkIGJlZm9yZSB0aGUgbGF0ZXIgZnVuY3Rp
b25zCiAgICAgICAgIHRoYXQgcHJvY2VzcyB0aG9zZSBkaXJ0eSBmbGFncy4gVGhpcyBpcyBhc3N1
cmVkIGJ5IHNvbWUgcmVvcmRlcmluZyBvZiB0aGUgdXBkYXRlCiAgICAgICAgIGZ1bmN0aW9uIGNh
bGxzLgotICAgICAgICAKKwogICAgICAgICBBIGZpbmFsIHdyaW5rbGUgaXMgdGhhdCBlbnN1cmVT
dHJ1Y3R1cmFsTGF5ZXIoKSBjYW4gY2hhbmdlIHRoZSBsYXllciB0aGF0IG91cgogICAgICAgICBw
YXJlbnQgR3JhcGhpY3NMYXllciBwdXQgaW4gaXRzIHN1YmxheWVyIGxpc3QuIFJhdGhlciB0aGFu
IGRpZGRsZSB3aXRoIHRoYXQgc3VibGF5ZXIKICAgICAgICAgbGlzdCBkaXJlY3RseSBsaWtlIHdl
IHVzZWQgdG8sIGp1c3QgY2FsbCBub3RlU3VibGF5ZXJzQ2hhbmdlZCgpIG9uIHRoZSBwYXJlbnQs
IGFuZCBoYXZlCiAgICAgICAgIGNvbW1pdExheWVyQ2hhbmdlc0FmdGVyU3VibGF5ZXJzKCkgY2hl
Y2sgdGhlIENoaWxkcmVuQ2hhbmdlZCBhbmQgZG8gYSBzZWNvbmQgdXBkYXRlCiAgICAgICAgIG9m
IHN1YmxheWVycyBpZiBuZWNlc3NhcnkgKHdlIGNsZWFyIHRoZSBmbGFnIGluIGNvbW1pdExheWVy
Q2hhbmdlc0JlZm9yZVN1YmxheWVycygpLCBzbwogICAgICAgICBvbmx5IGRvIHRoaXMgd29yayBp
ZiBhIHN1YmxheWVyIHJlcXVlc3RlZCBpdCkuCi0gICAgICAgIAorCiAgICAgICAgIFRlc3RzOiBj
b21wb3NpdGluZy90aWxpbmcvcHJlc2VydmUzZC10aWxlZC5odG1sCiAgICAgICAgICAgICAgICBj
b21wb3NpdGluZy90aWxpbmcvcmVmbGVjdGVkLXRpbGVkLmh0bWwKIApAQCAtNDc5MjIsMjMgKzQ3
OTUwLDIzIEBACiAyMDEyLTEwLTE5ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAog
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTk3NjgKLSAg
ICAgICAgV2Ugc2hvdWxkIGxpbWl0IHRoZSB0aWxlIGNhY2hlIGNvdmVyYWdlIHdoZW4gYSBwYWdl
IGNhbid0IHRha2UgCisgICAgICAgIFdlIHNob3VsZCBsaW1pdCB0aGUgdGlsZSBjYWNoZSBjb3Zl
cmFnZSB3aGVuIGEgcGFnZSBjYW4ndCB0YWtlCiAgICAgICAgIGFkdmFudGFnZSBvZiBmYXN0IHRp
bGUgc2Nyb2xsaW5nIGFueXdheQogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4K
IAotICAgICAgICBXaGVuIHNpdGVzIGNhbid0IHVzZSBmYXN0LXNjcm9sbGluZywgdGhlcmUgaXMg
bm8gbmVlZCB0byBpbmZsYXRlIHRoZSAKLSAgICAgICAgdGlsZSBjYWNoZS4gSW4gZmFjdCwgd2Ug
Z2V0IGEgcGVyZm9ybWFuY2UgYm9vc3QgYnkga2VlcGluZyBpdCBzbWFsbCAKLSAgICAgICAgb24g
cGFpbnRpbmctaW50ZW5zaXZlIHNpdGVzLiAKKyAgICAgICAgV2hlbiBzaXRlcyBjYW4ndCB1c2Ug
ZmFzdC1zY3JvbGxpbmcsIHRoZXJlIGlzIG5vIG5lZWQgdG8gaW5mbGF0ZSB0aGUKKyAgICAgICAg
dGlsZSBjYWNoZS4gSW4gZmFjdCwgd2UgZ2V0IGEgcGVyZm9ybWFuY2UgYm9vc3QgYnkga2VlcGlu
ZyBpdCBzbWFsbAorICAgICAgICBvbiBwYWludGluZy1pbnRlbnNpdmUgc2l0ZXMuCiAKLSAgICAg
ICAgSW5zdGVhZCBvZiBqdXN0IGxvb2tpbmcgYSB3aGV0aGVyIG9yIG5vdCB0aGUgRnJhbWVWaWV3
IAotICAgICAgICBjYW5IYXZlU2Nyb2xsYmFyKCksIGNvbnN1bHQgCisgICAgICAgIEluc3RlYWQg
b2YganVzdCBsb29raW5nIGEgd2hldGhlciBvciBub3QgdGhlIEZyYW1lVmlldworICAgICAgICBj
YW5IYXZlU2Nyb2xsYmFyKCksIGNvbnN1bHQKICAgICAgICAgc2hvdWxkVXBkYXRlU2Nyb2xsTGF5
ZXJQb3NpdGlvbk9uTWFpblRocmVhZCgpLgogICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoK
ICAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6cGVyZm9ybVBvc3RMYXlvdXRUYXNrcyk6CiAg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CiAgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OlJlbmRlckxheWVyQmFja2luZyk6Ci0gICAgICAgIAor
CiAgICAgICAgIEV4cG9zZSBzaG91bGRVcGRhdGVTY3JvbGxMYXllclBvc2l0aW9uT25NYWluVGhy
ZWFkKCkuCiAgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3Bw
OgogICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6Omhhc05vbkxheWVyRml4
ZWRPYmplY3RzKToKQEAgLTQ4MTEzLDcgKzQ4MTQxLDcgQEAKICAgICAgICAgTWFya2luZyBpbnRl
cm5hbCBiaXRtYXAgY29weSBhcyBpbW11dGFibGUgdG8gcHJldmVudCBpdCBmcm9tIGJlaW5nCiAg
ICAgICAgIHVubmVjZXNzYXJpbHkgZHVwbGljYXRlZCBpbiBza2lhIGJ5IFNrQml0bWFwSGVhcC4K
IAotICAgICAgICBObyBuZXcgdGVzdHM6IGNvZGUgcGF0aCBhbHJlYWR5IHdlbGwgY292ZXJlZCBi
eSBleGlzdGluZyBsYXlvdXQgdGVzdHMgCisgICAgICAgIE5vIG5ldyB0ZXN0czogY29kZSBwYXRo
IGFscmVhZHkgd2VsbCBjb3ZlcmVkIGJ5IGV4aXN0aW5nIGxheW91dCB0ZXN0cwogICAgICAgICBm
YXN0L2NhbnZhcy9jYW52YXMtcGF0dGVybi0qCiAKICAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL1BhdHRlcm5Ta2lhLmNwcDoKQEAgLTQ4MTI2LDggKzQ4MTU0LDggQEAKIAogICAgICAg
ICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgogCi0gICAgICAgIEN1cnJlbnRseSB3ZSBtYWlu
dGFpbiBhIHBlci1kb2N1bWVudCBsaXN0IG9mIHN0eWxlc2hlZXRzIHRoYXQgbWF0Y2hlcyB3aGF0
IGlzIHJldHVybmVkIGJ5IHRoZSBTdHlsZVNoZWV0TGlzdCBET00gQVBJLiAKLSAgICAgICAgVGhp
cyBsaXN0IGNvbnRhaW5zIGJvdGggQ1NTIGFuZCBYU0xUIHN0eWxlc2hlZXRzIHdoaWNoIGludGVy
bmFsbHkgaGF2ZSBiYXNpY2FsbHkgbm90aGluZyBpbiBjb21tb24uIE1haW50YWluaW5nIAorICAg
ICAgICBDdXJyZW50bHkgd2UgbWFpbnRhaW4gYSBwZXItZG9jdW1lbnQgbGlzdCBvZiBzdHlsZXNo
ZWV0cyB0aGF0IG1hdGNoZXMgd2hhdCBpcyByZXR1cm5lZCBieSB0aGUgU3R5bGVTaGVldExpc3Qg
RE9NIEFQSS4KKyAgICAgICAgVGhpcyBsaXN0IGNvbnRhaW5zIGJvdGggQ1NTIGFuZCBYU0xUIHN0
eWxlc2hlZXRzIHdoaWNoIGludGVybmFsbHkgaGF2ZSBiYXNpY2FsbHkgbm90aGluZyBpbiBjb21t
b24uIE1haW50YWluaW5nCiAgICAgICAgIGEgbGlzdCBvZiBhY3RpdmUgQ1NTIHN0eWxlc2hlZXRz
IHNlcGFyYXRlbHkgc2ltcGxpZmllcyBjb2RlIGluIG51bWJlciBvZiBwbGFjZXMuCiAKICAgICAg
ICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CkBAIC00ODQzMyw3ICs0ODQ2MSw3IEBACiAKICAg
ICAgICAgQVJJQSByZXF1aXJlcyB0aGF0IGFyaWEtaGlkZGVuPWZhbHNlIG92ZXJyaWRlIGFuIGVs
ZW1lbnQncyBuYXRpdmUgdmlzaWJpbGl0eSBhbmQgaW5jbHVkZSB0aGF0CiAgICAgICAgIG5vZGUg
aW4gdGhlIEFYIGhpZXJhcmNoeS4KLSAKKwogICAgICAgICBUbyBhY2NvbXBsaXNoIHRoaXMgd2Ug
aGF2ZSB0byBhbGxvdyBpbnZpc2libGUgaXRlbXMgdG8gYmUgaW5jbHVkZWQsIGFzIHdlbGwgYXMg
aXRlbXMgdGhhdAogICAgICAgICBoYXZlIG5vIHJlbmRlcmVycyBhc3NvY2lhdGVkIHdpdGggdGhl
bS4KIApAQCAtNDg1NDgsMTQgKzQ4NTc2LDE0IEBACiAgICAgICAgIFJldmlld2VkIGJ5IEJldGgg
RGFraW4uCiAKICAgICAgICAgVGhlIGN1cnJlbnQgbW9kZWwgb2YgZGV0ZXJtaW5pbmcgdGhlIGFj
Y2Vzc2libGUgdGV4dCBmb3IgYW4gb2JqZWN0IGhhcyBhIGxvdCBvZiBNYWMgYmlhc2VzIGJ1aWx0
IGluCi0gICAgICAgIGR1ZSB0byBsZWdhY3kgaW1wbGVtZW50YXRpb24uIAorICAgICAgICBkdWUg
dG8gbGVnYWN5IGltcGxlbWVudGF0aW9uLgogCiAgICAgICAgIFRoaXMgY2hhbmdlIGNhdGVnb3Jp
emVzIGFuZCBvcmRlcnMgYWNjZXNzaWJpbGl0eSB0ZXh0IGJhc2VkIG9uIFdBSS1BUklBIHRleHQg
Y29tcHV0YXRpb24gcnVsZXMgYW5kIHRoZW4KICAgICAgICAgYWxsb3dzIHRoZSBwbGF0Zm9ybSAo
b25seSBNYWMgcmlnaHQgbm93KSB0byBkZWNpZGUgaG93IGJlc3QgdG8gYXBwbHkgdGhhdCB0ZXh0
IHRvIGl0cyBvd24gQVggQVBJLgogICAgICAgICBodHRwOi8vd3d3LnczLm9yZy9UUi93YWktYXJp
YS9yb2xlcyN0ZXh0YWx0ZXJuYXRpdmVjb21wdXRhdGlvbgogCiAgICAgICAgIFRoaXMgY2hhbmdl
IHRyaWVkIHZlcnkgaGFyZCBub3QgdG8gY2hhbmdlIGFueSB0ZXN0IGJlaGF2aW9yLCBldmVuIHRo
b3VnaCBpdCBleHBvc2VkIGEgbnVtYmVyIG9mIHdlaXJkCi0gICAgICAgIGVkZ2UgY2FzZXMgd2hl
cmUgd2Ugd2VyZSB0cmVhdGluZyBhdHRyaWJ1dGVzIGRpZmZlcmVudGx5IGJhc2VkIG9uIGVsZW1l
bnQgdHlwZS4gCisgICAgICAgIGVkZ2UgY2FzZXMgd2hlcmUgd2Ugd2VyZSB0cmVhdGluZyBhdHRy
aWJ1dGVzIGRpZmZlcmVudGx5IGJhc2VkIG9uIGVsZW1lbnQgdHlwZS4KIAogICAgICAgICBGdXR1
cmUgcGF0Y2hlcyB3aWxsIHJlc29sdmUgdGhvc2UgZGlzY3JlcGFuY2llcy4KIApAQCAtNDkxMzgs
NyArNDkxNjYsNyBAQAogICAgICAgICBSZXZpZXdlZCBieSBUb255IEdlbnRpbGNvcmUuCiAKICAg
ICAgICAgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMi9DUi1yZXNvdXJjZS10aW1pbmctMjAxMjA1
MjIvCi0gICAgICAgIFRoaXMgcGF0Y2ggZW5hYmxlIGZ1bmN0aW9uYWxpdHkgb2Ygc2V0IGJ1ZmZl
ciBzaXplKGRlZmF1bHQgaXMgMTUwIGFzIHNwZWMpLiBXaGVuIGJ1ZmZlciBpcyBmdWxsLCByZXNv
dXJjZVRpbWluZ0J1ZmZlckZ1bGwgZXZlbnQgd2lsbCBiZSBmaXJlZC4gSW5jb21pbmcgZW50cmll
cyB3aWxsIGJlIGRyb3BwZWQgaWYgbm8gbW9yZSBzcGFjZSBmb3IgdGhlbS4gCisgICAgICAgIFRo
aXMgcGF0Y2ggZW5hYmxlIGZ1bmN0aW9uYWxpdHkgb2Ygc2V0IGJ1ZmZlciBzaXplKGRlZmF1bHQg
aXMgMTUwIGFzIHNwZWMpLiBXaGVuIGJ1ZmZlciBpcyBmdWxsLCByZXNvdXJjZVRpbWluZ0J1ZmZl
ckZ1bGwgZXZlbnQgd2lsbCBiZSBmaXJlZC4gSW5jb21pbmcgZW50cmllcyB3aWxsIGJlIGRyb3Bw
ZWQgaWYgbm8gbW9yZSBzcGFjZSBmb3IgdGhlbS4KIAogICAgICAgICBUZXN0czogaHR0cC90ZXN0
cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL0ludGVsL3Jlc291cmNlLXRpbWluZy90ZXN0X3Jlc291
cmNlX3RpbWluZ19idWZmZXJfZnVsbF93aGVuX3BvcHVsYXRlX2VudHJpZXMuaHRtbAogICAgICAg
ICAgICAgICAgaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9zdWJtaXNzaW9uL0ludGVsL3Jlc291cmNl
LXRpbWluZy90ZXN0X3Jlc291cmNlX3RpbWluZ19idWZmZXJfZnVsbF93aGVuX3Nocmlua19idWZm
ZXJfc2l6ZS5odG1sCkBAIC00OTQ4NiwyNiArNDk1MTQsMjYgQEAKIDIwMTItMTAtMTggIEJldGgg
RGFraW4gIDxiZGFraW5AYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05OTY2OAotICAgICAgICBSRUdSRVNTSU9OOiBDcmFzaCBpbiAK
KyAgICAgICAgUkVHUkVTU0lPTjogQ3Jhc2ggaW4KICAgICAgICAgV2ViQ29yZTo6U2Nyb2xsaW5n
U3RhdGVTY3JvbGxpbmdOb2RlOjpzZXROb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbgogICAgICAgICAt
YW5kIGNvcnJlc3BvbmRpbmctCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjQ5MTkwMT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCiAKLSAgICAgICAgaHR0cDovL3RyYWMu
d2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTMwNzgzIGNoYW5nZWQgdGhlIGxpZmV0aW1lIG9mIHRoZSAK
LSAgICAgICAgU2Nyb2xsaW5nU3RhdGVUcmVlJ3Mgcm9vdFN0YXRlTm9kZS4gQmVmb3JlIHRoYXQg
cGF0Y2gsIHRoZSByb290IHN0YXRlIAotICAgICAgICBub2RlIHdhcyBuZXZlciBkZXN0cm95ZWQu
IEl0IHdhcyBqdXN0IGNvbnN0YW50bHkgcmUtdXNlZCBmb3IgCi0gICAgICAgIGRpZmZlcmVudCBS
ZW5kZXJMYXllckJhY2tpbmdzLiBUaGlzIGNyYXNoIGlzIGp1c3Qgb25lIG9mIGEgZmV3IGJ1Z3Mg
Ci0gICAgICAgIHRoYXQgaGFzIG9jY3VycmVkIGJlY2F1c2Ugb2YgdGhhdCBjaGFuZ2UuIEkgaGF2
ZSBmaXhlZCB0aGUgb3RoZXIgYnVncyAKLSAgICAgICAgaW5kaXZpZHVhbGx5LCBidXQgSSB0aGlu
ayB0aGF0IGxvbmctdGVybSwgaXQgaXMgdGhlIHNhZmVzdCBzb2x1dGlvbiAKKyAgICAgICAgaHR0
cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTMwNzgzIGNoYW5nZWQgdGhlIGxpZmV0aW1l
IG9mIHRoZQorICAgICAgICBTY3JvbGxpbmdTdGF0ZVRyZWUncyByb290U3RhdGVOb2RlLiBCZWZv
cmUgdGhhdCBwYXRjaCwgdGhlIHJvb3Qgc3RhdGUKKyAgICAgICAgbm9kZSB3YXMgbmV2ZXIgZGVz
dHJveWVkLiBJdCB3YXMganVzdCBjb25zdGFudGx5IHJlLXVzZWQgZm9yCisgICAgICAgIGRpZmZl
cmVudCBSZW5kZXJMYXllckJhY2tpbmdzLiBUaGlzIGNyYXNoIGlzIGp1c3Qgb25lIG9mIGEgZmV3
IGJ1Z3MKKyAgICAgICAgdGhhdCBoYXMgb2NjdXJyZWQgYmVjYXVzZSBvZiB0aGF0IGNoYW5nZS4g
SSBoYXZlIGZpeGVkIHRoZSBvdGhlciBidWdzCisgICAgICAgIGluZGl2aWR1YWxseSwgYnV0IEkg
dGhpbmsgdGhhdCBsb25nLXRlcm0sIGl0IGlzIHRoZSBzYWZlc3Qgc29sdXRpb24KICAgICAgICAg
dG8gZ28gYmFjayB0byB0aGUgb3JpZ2luYWwgb3duZXJzaGlwIG1vZGVsLgogCi0gICAgICAgIFNv
IHRoaXMgcGF0Y2ggZW5zdXJlcyB0aGF0IHRoZSBzdGF0ZSB0cmVlIHdpbGwgYWx3YXlzIGhhdmUg
YSByb290IAotICAgICAgICBzdGF0ZSBub2RlLiBJbnN0ZWFkIG9mIGRlc3Ryb3lpbmcgYW5kIHJl
LWNyZWF0aW5nIHRoZSByb290IG5vZGUgd2hlbiAKKyAgICAgICAgU28gdGhpcyBwYXRjaCBlbnN1
cmVzIHRoYXQgdGhlIHN0YXRlIHRyZWUgd2lsbCBhbHdheXMgaGF2ZSBhIHJvb3QKKyAgICAgICAg
c3RhdGUgbm9kZS4gSW5zdGVhZCBvZiBkZXN0cm95aW5nIGFuZCByZS1jcmVhdGluZyB0aGUgcm9v
dCBub2RlIHdoZW4KICAgICAgICAgaXQncyBzY3JvbGwgSUQgY2hhbmdlcywgd2UganVzdCB1cGRh
dGUgdGhlIElELgogCi0gICAgICAgIGF0dGFjaFRvU3RhdGVUcmVlKCkgbm93IHRha2VzIGFuIGFk
ZGl0aW9uYWwgSUQgcmVwcmVzZW50aW5nIHRoZSBJRCBvZiAKKyAgICAgICAgYXR0YWNoVG9TdGF0
ZVRyZWUoKSBub3cgdGFrZXMgYW4gYWRkaXRpb25hbCBJRCByZXByZXNlbnRpbmcgdGhlIElEIG9m
CiAgICAgICAgIHRoZSBwYXJlbnQgbm9kZS4KICAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdDb29yZGluYXRvci5oOgogICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0
b3I6OmF0dGFjaFRvU3RhdGVUcmVlKToKQEAgLTQ5NTE0LDExICs0OTU0MiwxMSBAQAogICAgICAg
ICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5oOgogICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsaW5nU3RhdGVOb2RlOjpzZXRTY3JvbGxpbmdOb2RlSUQpOgogCi0gICAgICAgIFRo
aXMgY29kZSB0aGF0IHByb3ZpZGVkIGEgd2F5IHRvIG1hcmsgYWxsIHByb3BlcnRpZXMgYXMgaGF2
aW5nIAotICAgICAgICBjaGFuZ2VkIHdhcyBhZGRlZCBpbiBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMzA5ODkgYXMgYSB3YXkgCi0gICAgICAgIHRvIGVuc3VyZSB3ZSB3b3VsZCBy
ZS1zZXQgU2Nyb2xsaW5nVGhyZWFkJ3Mgbm9kZXMgd2hlbiB3ZSBkZXN0cm95ZWQgCi0gICAgICAg
IGFuZCByZS1jcmVhdGVkIHRoZSByb290U3RhdGVOb2RlLiBOb3cgdGhhdCB3ZSBhcmUgbm8gbG9u
Z2VyIAotICAgICAgICBkZXN0cm95aW5nIGFuZCByZS1jcmVhdGluZyB0aGUgcm9vdFN0YXRlTm9k
ZSwgdGhpcyBjb2RlIGlzIG5vIGxvbmdlciAKKyAgICAgICAgVGhpcyBjb2RlIHRoYXQgcHJvdmlk
ZWQgYSB3YXkgdG8gbWFyayBhbGwgcHJvcGVydGllcyBhcyBoYXZpbmcKKyAgICAgICAgY2hhbmdl
ZCB3YXMgYWRkZWQgaW4gaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTMwOTg5IGFz
IGEgd2F5CisgICAgICAgIHRvIGVuc3VyZSB3ZSB3b3VsZCByZS1zZXQgU2Nyb2xsaW5nVGhyZWFk
J3Mgbm9kZXMgd2hlbiB3ZSBkZXN0cm95ZWQKKyAgICAgICAgYW5kIHJlLWNyZWF0ZWQgdGhlIHJv
b3RTdGF0ZU5vZGUuIE5vdyB0aGF0IHdlIGFyZSBubyBsb25nZXIKKyAgICAgICAgZGVzdHJveWlu
ZyBhbmQgcmUtY3JlYXRpbmcgdGhlIHJvb3RTdGF0ZU5vZGUsIHRoaXMgY29kZSBpcyBubyBsb25n
ZXIKICAgICAgICAgbmVjZXNzYXJ5LgogICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1N0YXRlU2Nyb2xsaW5nTm9kZS5jcHA6CiAgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nU3RhdGVTY3JvbGxpbmdOb2RlLmg6CkBAIC00OTUzNyw3ICs0OTU2NSw3IEBACiAgICAgICAg
IChTY3JvbGxpbmdTdGF0ZVRyZWUpOgogICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVU
cmVlOjpzZXRSb290U3RhdGVOb2RlKToKIAotICAgICAgICBhdHRhY2hUb1N0YXRlVHJlZSgpIG5v
dyB0YWtlcyBhbiBhZGRpdGlvbmFsIElEIHJlcHJlc2VudGluZyB0aGUgSUQgb2YgCisgICAgICAg
IGF0dGFjaFRvU3RhdGVUcmVlKCkgbm93IHRha2VzIGFuIGFkZGl0aW9uYWwgSUQgcmVwcmVzZW50
aW5nIHRoZSBJRCBvZgogICAgICAgICB0aGUgcGFyZW50IG5vZGUuCiAgICAgICAgICogcGFnZS9z
Y3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTWFjLmg6CiAgICAgICAgIChTY3JvbGxp
bmdDb29yZGluYXRvck1hYyk6CkBAIC00OTU0NiwxOSArNDk1NzQsMTkgQEAKICAgICAgICAgKiBw
YWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMubW06CiAgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvck1hYzo6ZnJhbWVWaWV3Um9vdExheWVyRGlkQ2hh
bmdlKToKIAotICAgICAgICBEbyBub3QgZGVzdHJveSBhbmQgcmUtY3JlYXRlIHRoZSBzdGF0ZSBu
b2RlLiBKdXN0IHVwZGF0ZSBpdHMgSUQuIFdoZW4gCisgICAgICAgIERvIG5vdCBkZXN0cm95IGFu
ZCByZS1jcmVhdGUgdGhlIHN0YXRlIG5vZGUuIEp1c3QgdXBkYXRlIGl0cyBJRC4gV2hlbgogICAg
ICAgICB3ZSBzdXBwb3J0IGNoaWxkIG5vZGVzIHNvb24sIHdlIHdpbGwgY3JlYXRlIHRoZW0gaW4g
dGhpcyBmdW5jdGlvbi4KICAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFj
OjphdHRhY2hUb1N0YXRlVHJlZSk6CiAKICAgICAgICAgTm8gbmVlZCB0byBudWxsLWNoZWNrIHRo
ZSByb290U3RhdGVOb2RlLgogICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3JN
YWM6OmNsZWFyU3RhdGVUcmVlKToKIAotICAgICAgICBTZW5kIDAgYXMgdGhlIHBhcmVudCBub2Rl
IElEIHRvIGF0dGFjaFRvU3RhdGVUcmVlKCkgdG8gcmVwcmVzZW50IHRoZSAKKyAgICAgICAgU2Vu
ZCAwIGFzIHRoZSBwYXJlbnQgbm9kZSBJRCB0byBhdHRhY2hUb1N0YXRlVHJlZSgpIHRvIHJlcHJl
c2VudCB0aGUKICAgICAgICAgcm9vdCBub2RlLgogICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5n
Q29vcmRpbmF0b3JNYWM6OmVuc3VyZVJvb3RTdGF0ZU5vZGVGb3JGcmFtZVZpZXcpOgogICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwOgogCi0gICAgICAgIFJlbmRlckxh
eWVyQmFja2luZzo6YXR0YWNoVG9TY3JvbGxpbmdDb29yZGluYXRvcigpIG5vdyB0YWtlcyBhIHBh
cmVudCAKKyAgICAgICAgUmVuZGVyTGF5ZXJCYWNraW5nOjphdHRhY2hUb1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yKCkgbm93IHRha2VzIGEgcGFyZW50CiAgICAgICAgIGxheWVyLgogICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjphdHRhY2hUb1Njcm9sbGluZ0Nvb3JkaW5hdG9yKToK
ICAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmg6CkBAIC00OTc1MSw3ICs0
OTc3OSw3IEBACiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFuIEJlcm5zdGVpbi4KIAotICAgICAg
ICBGYWN0b3JlZCBvdXQgYW5kIGFkZGVkIGZpbmRGaXJzdFRyYWlsaW5nU3BhY2UoKSB0ZW1wbGF0
ZWQgaGVscGVyIGZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIHdpdGggdGhlIAorICAgICAgICBGYWN0
b3JlZCBvdXQgYW5kIGFkZGVkIGZpbmRGaXJzdFRyYWlsaW5nU3BhY2UoKSB0ZW1wbGF0ZWQgaGVs
cGVyIGZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIHdpdGggdGhlCiAgICAgICAgIGFwcHJvcmlhdGUg
Y2hhcmFjdGVyIHBvaW50ZXIgdHlwZS4KIAogICAgICAgICBObyB0ZXN0cyBuZWVkZWQsIGNoYW5n
ZSBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgpAQCAtNTAzOTgsMTEgKzUwNDI2LDExIEBACiAg
ICAgICAgIHZpc2libGUgYXJlYSBwZXJpb2RpY2FsbHkgd2hpbGUgYW5pbWF0aW9ucyBhbmQgc2Ny
b2xsaW5nIGFyZSBoYXBwZW5pbmcuCiAgICAgICAgIE1ha2UgYSBuZXcgY2xhc3MsIEdyYXBoaWNz
TGF5ZXJVcGRhdGVyLCB0byBoYW5kbGUgdGhpcyB1cGRhdGluZy4KICAgICAgICAgSW50ZXJuYWxs
eSwgaXQgdXNlcyBEaXNwbGF5UmVmcmVzaE1vbml0b3IgdG8gZ2VuZXJhdGUgdGhlIHBlcmlvZGlj
IHVwZGF0ZXMuCi0gICAgICAgIAorCiAgICAgICAgIEdyYXBoaWNzTGF5ZXIgY2xpZW50cyBhcmUg
bm90aWZpZWQgdGhhdCBsYXllcnMgbmVlZCBwZXJpb2RpYyB1cGRhdGVzLiBDbGllbnRzCiAgICAg
ICAgIGFyZSBmcmVlIHRvIG1ha2UgdXNlIG9mIEdyYXBoaWNzTGF5ZXJVcGRhdGVyIHRvIGhhbmRs
ZSB0aGlzIHVwZGF0aW5nLCBhcwogICAgICAgICBSZW5kZXJMYXllckNvbXBvc2l0b3IgZG9lcy4K
LSAgICAgICAgCisKICAgICAgICAgQWxzbyBkbyBzb21lIG1pbm9yIHJlZmFjdG9yaW5nIG9mIG1l
dGhvZHMgaW4gUmVuZGVyTGF5ZXJDb21wb3NpdG9yIHRoYXQKICAgICAgICAgZ2V0IHRvIFBhZ2Uu
CiAKQEAgLTUwOTE2LDcgKzUwOTQ0LDcgQEAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0
aC4KIAogICAgICAgICBTZWN1cml0eSBvcmlnaW4gb2YgaXNvbGF0ZWQgd29ybGRzIHdhcyBub3Qg
cHJldmlvdXNseSBzZXQgYXQgdGhlIHdvcmxkCi0gICAgICAgIGxldmVsLCBhbHRob3VnaCBpdCBj
b3VsZCBoYXZlIGJlZW4uIAorICAgICAgICBsZXZlbCwgYWx0aG91Z2ggaXQgY291bGQgaGF2ZSBi
ZWVuLgogCiAgICAgICAgIE5vIG5ldyB0ZXN0cy4gTm8gY2hhbmdlIGluIGZ1bmN0aW9uYWxpdHku
CiAKQEAgLTUwOTU3LDEwICs1MDk4NSwxMCBAQAogICAgICAgICBiZSByZWZsZWN0ZWQgaW4gdGhl
IEdyYXBoaWNzTGF5ZXIncyBtX3RyYW5zZm9ybS4gSG93ZXZlciwKICAgICAgICAgd2UgbmVlZCB0
aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgdHJhbnNmb3JtIGluIG9yZGVyIHRvIGNvcnJlY3RseQog
ICAgICAgICBjb21wdXRlIHRoZSB2aXNpYmxlIHJlY3Qgb2YgdGhpcyBsYXllciBhbmQgZGVzY2Vu
ZGFudHMuCi0gICAgICAgIAorCiAgICAgICAgIEFkZCBhIGZ1bmN0aW9uIHRvIEdyYXBoaWNzTGF5
ZXJDbGllbnQgdG8gcmV0cmlldmUgdGhlIGN1cnJlbnQKICAgICAgICAgdmFsdWUgb2YgdGhlIHRy
YW5zZm9ybSBmcm9tIHRoZSBjbGllbnQuCi0gICAgICAgIAorCiAgICAgICAgIFJlbmRlckxheWVy
J3MgY3VycmVudFRyYW5zZm9ybSgpIHVzZWQgdG8gcmV0dXJuIGEgdHJhbnNmb3JtCiAgICAgICAg
IHdpdGggdHJhbnNmb3JtLW9yaWdpbiBiYWtlZCBpbjsgR3JhcGhpY3NMYXllckNsaWVudCBuZWVk
cyBvbmUKICAgICAgICAgdGhhdCBleGNsdWRlcyB0cmFuc2Zvcm0tb3JpZ2luLCBzbyBlbmhhbmNl
IFJlbmRlckxheWVyOjpjdXJyZW50VHJhbnNmb3JtKCkKQEAgLTUxNDYwLDcgKzUxNDg4LDcgQEAK
ICAgICAgICAgb2YgdGhlIFN0eWxlQ29udGVudFR5cGUgZW51bSBhbmQgYWxsIHRoZSBzd2l0Y2gg
c3RhdGVtZW50cyBvdmVyCiAgICAgICAgIHRoZSB0eXBlKCkuCiAKLSAgICAgICAgTm8gdGVzdHMg
bmVlZGVkLCB0aGlzIGlzIGp1c3QgYSByZWZhY3Rvci4gICAgICAgIAorICAgICAgICBObyB0ZXN0
cyBuZWVkZWQsIHRoaXMgaXMganVzdCBhIHJlZmFjdG9yLgogCiAgICAgICAgICogcmVuZGVyaW5n
L3N0eWxlL0NvbnRlbnREYXRhLmNwcDoKICAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvQ29udGVu
dERhdGEuaDoKQEAgLTUxNzc4LDcgKzUxODA2LDcgQEAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2lt
b24gRnJhc2VyLgogCiAgICAgICAgIE5vIG5ldyB0ZXN0cyBhcyBpdCdzIGEgc3BlY3VsYXRpdmUg
Zml4IGJhc2VkIG9uIGNyYXNoIGR1bXAgYW5hbHlzaXMuCi0gICAgIAorCiAgICAgICAgIERlc3Bp
dGUgTWVkaWFDb250cm9sUGFuZWxFbGVtZW50IGNoZWNraW5nIGZvciBkb2N1bWVudCgpLT5wYWdl
KCkgbnVsbGl0eSBpbiBvdGhlciBwbGFjZXMsIGl0IGZvcmdvdCBvbmUgY2hlY2sgaW4gbWFrZVRy
YW5zcGFyZW50KCkuCiAKICAgICAgICAgKiBodG1sL3NoYWRvdy9NZWRpYUNvbnRyb2xFbGVtZW50
cy5jcHA6CkBAIC01MTgxNyw3ICs1MTg0NSw3IEBACiAKICAgICAgICAgQ2xlYW4gdXAgc29tZSAj
aW5jbHVkZXMsIG1vc3RseSByZWxhdGVkIHRvIEdyYXBoaWNzTGF5ZXIuaC4gSW4gbWFueQogICAg
ICAgICBjYXNlcyB0aGlzIGNhbiBiZSByZXBsYWNlZCBieSBQbGF0Zm9ybUxheWVyLmguCi0gICAg
ICAgIAorCiAgICAgICAgIFJlbW92ZSBhbiAjaW5jbHVkZSBvZiBQbHVnaW5WaWV3QmFzZS5oIGZy
b20gUGFnZS5oLCB3aGljaCB3YXMgYSBzb3VyY2UKICAgICAgICAgb2YgI2luY2x1ZGUgZmFuLW91
dC4KIApAQCAtNTE4NTgsNyArNTE4ODYsNyBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhl
eSBQcm9za3VyeWFrb3YuCiAKLSAgICAgICAgT24gY29uc3RydWN0aW9uIGZyb20gcGxhdGZvcm0g
ZXJyb3IgdHlwZXMsIGluaXRpYWxpemUgdGhlIHRpbWVvdXQgZmxhZyAKKyAgICAgICAgT24gY29u
c3RydWN0aW9uIGZyb20gcGxhdGZvcm0gZXJyb3IgdHlwZXMsIGluaXRpYWxpemUgdGhlIHRpbWVv
dXQgZmxhZwogICAgICAgICB0byB0cnVlIGlmIHRoZSBlcnJvciByZXN1bHRzIGZyb20gYSB0aW1l
b3V0LgogCiAgICAgICAgIE5vIG5ldyB0ZXN0cywgY292ZXJlZCBieSB0ZXN0cyB0aGF0IHdpbGwg
YmUgYWRkZWQgaW4gYnVnIDc0ODAyLgpAQCAtNTIwMjksMzMgKzUyMDU3LDMzIEBACiAyMDEyLTEw
LTE2ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTkyNTQKLSAgICAgICAgTWFrZSBTY3JvbGxp
bmdUcmVlIGFuIGFjdHVhbCB0cmVlIG9mIG5vZGVzLCBhbmQgaGF2ZSBpdCByZWZsZWN0IHRoZSAK
KyAgICAgICAgTWFrZSBTY3JvbGxpbmdUcmVlIGFuIGFjdHVhbCB0cmVlIG9mIG5vZGVzLCBhbmQg
aGF2ZSBpdCByZWZsZWN0IHRoZQogICAgICAgICBTY3JvbGxpbmdTdGF0ZVRyZWUKIAogICAgICAg
ICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCiAKLSAgICAgICAgVGhpcyBwYXRjaCBmaW5hbGx5
IG1ha2VzIHRoZSBTY3JvbGxpbmdUcmVlIG92ZXIgb24gdGhlIAotICAgICAgICBTY3JvbGxpbmdU
aHJlYWQgYXdhcmUgb2YgdGhlIGNoYW5nZXMgdGhhdCB3ZSBoYXZlIGJlZW4gbWFraW5nIHRvIHRo
ZSAKKyAgICAgICAgVGhpcyBwYXRjaCBmaW5hbGx5IG1ha2VzIHRoZSBTY3JvbGxpbmdUcmVlIG92
ZXIgb24gdGhlCisgICAgICAgIFNjcm9sbGluZ1RocmVhZCBhd2FyZSBvZiB0aGUgY2hhbmdlcyB0
aGF0IHdlIGhhdmUgYmVlbiBtYWtpbmcgdG8gdGhlCiAgICAgICAgIFNjcm9sbGluZ1N0YXRlVHJl
ZS4KIAotICAgICAgICBGaXJzdCwgaXQgbWFrZXMgU2Nyb2xsaW5nVHJlZU5vZGUgYSBtdWNoIG1v
cmUgZ2VuZXJpYyBjbGFzcywgc2ltaWxhciAKLSAgICAgICAgdG8gU2Nyb2xsaW5nU3RhdGVOb2Rl
LiBJdCBpcyBhbiBhYnN0cmFjdCBjbGFzcyBhbmQgd2Ugd2lsbCBhZGQgb3RoZXIgCi0gICAgICAg
IHR5cGVzIG9mIG5vZGVzIHN1Y2ggYXMgU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZXMgdGhhdCB3aWxs
IGluaGVyaXQgZnJvbSAKLSAgICAgICAgdGhpcyBjbGFzcy4gCisgICAgICAgIEZpcnN0LCBpdCBt
YWtlcyBTY3JvbGxpbmdUcmVlTm9kZSBhIG11Y2ggbW9yZSBnZW5lcmljIGNsYXNzLCBzaW1pbGFy
CisgICAgICAgIHRvIFNjcm9sbGluZ1N0YXRlTm9kZS4gSXQgaXMgYW4gYWJzdHJhY3QgY2xhc3Mg
YW5kIHdlIHdpbGwgYWRkIG90aGVyCisgICAgICAgIHR5cGVzIG9mIG5vZGVzIHN1Y2ggYXMgU2Ny
b2xsaW5nVHJlZUZpeGVkTm9kZXMgdGhhdCB3aWxsIGluaGVyaXQgZnJvbQorICAgICAgICB0aGlz
IGNsYXNzLgogCi0gICAgICAgIEFsbCBvZiB0aGUgc2Nyb2xsaW5nIGZ1bmN0aW9uYWxpdHkgdGhh
dCB3YXMgaW4gU2Nyb2xsaW5nVHJlZU5vZGUgaGFzIAotICAgICAgICBiZWVuIG1vdmVkIHRvIFNj
cm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLiBBbmQgbGlrZXdpc2UsIAotICAgICAgICBTY3JvbGxp
bmdUcmVlTm9kZU1hYyBoYXMgYmVlbiByZS1uYW1lZCB0byAKLSAgICAgICAgU2Nyb2xsaW5nVHJl
ZVNjcm9sbGluZ05vZGVNYWMuIAorICAgICAgICBBbGwgb2YgdGhlIHNjcm9sbGluZyBmdW5jdGlv
bmFsaXR5IHRoYXQgd2FzIGluIFNjcm9sbGluZ1RyZWVOb2RlIGhhcworICAgICAgICBiZWVuIG1v
dmVkIHRvIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLiBBbmQgbGlrZXdpc2UsCisgICAgICAg
IFNjcm9sbGluZ1RyZWVOb2RlTWFjIGhhcyBiZWVuIHJlLW5hbWVkIHRvCisgICAgICAgIFNjcm9s
bGluZ1RyZWVTY3JvbGxpbmdOb2RlTWFjLgogCi0gICAgICAgIEFuZCBmaW5hbGx5LCBpbnN0ZWFk
IG9mIGp1c3QgdXBkYXRpbmcgYW5kIGNyZWF0aW5nIHRoZSByb290IG5vZGUsIAotICAgICAgICBT
Y3JvbGxpbmdUcmVlIG5vdyByZWN1cnNlcyB0aHJvdWdoIHRoZSB3aG9sZSBTY3JvbGxpbmdTdGF0
ZVRyZWUgdG8gCisgICAgICAgIEFuZCBmaW5hbGx5LCBpbnN0ZWFkIG9mIGp1c3QgdXBkYXRpbmcg
YW5kIGNyZWF0aW5nIHRoZSByb290IG5vZGUsCisgICAgICAgIFNjcm9sbGluZ1RyZWUgbm93IHJl
Y3Vyc2VzIHRocm91Z2ggdGhlIHdob2xlIFNjcm9sbGluZ1N0YXRlVHJlZSB0bwogICAgICAgICBj
cmVhdGUgYW5kIHVwZGF0ZSBhIGZ1bGwgdHJlZSBvZiBub2Rlcy4KIAogICAgICAgICBOZXcgZmls
ZXMgYW5kIG1vdmVzIGZpbGVzLgogICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvajoKIAotICAgICAgICBBZGQgYSBnZXR0ZXIgZm9yIHRoZSBjaGlsZHJlbiB2ZWN0b3Ig
c2luY2Ugd2UgbmVlZCB0byByZWN1cnNlIGl0IGluIAorICAgICAgICBBZGQgYSBnZXR0ZXIgZm9y
IHRoZSBjaGlsZHJlbiB2ZWN0b3Igc2luY2Ugd2UgbmVlZCB0byByZWN1cnNlIGl0IGluCiAgICAg
ICAgIFNjcm9sbGluZ1RyZWUuCiAgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3Rh
dGVOb2RlLmg6CiAgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZU5vZGU6OmNoaWxkcmVu
KToKQEAgLTUyMDY1LDI3ICs1MjA5MywyNyBAQAogICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1RyZWUuY3BwOgogICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZTo6U2Nyb2xs
aW5nVHJlZSk6CiAKLSAgICAgICAgSW5zdGVhZCBvZiBqdXN0IHVwZGF0aW5nIHRoZSByb290IG5v
ZGUsIGNhbGwgdHdvIG5ldyBmdW5jdGlvbnMgdGhhdCAKKyAgICAgICAgSW5zdGVhZCBvZiBqdXN0
IHVwZGF0aW5nIHRoZSByb290IG5vZGUsIGNhbGwgdHdvIG5ldyBmdW5jdGlvbnMgdGhhdAogICAg
ICAgICB3aWxsIHRha2UgY2FyZSBvZiB1cGRhdGluZyB0aGUgd2hvbGUgdHJlZS4KICAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGluZ1RyZWU6OmNvbW1pdE5ld1RyZWVTdGF0ZSk6CiAKLSAgICAgICAg
VGhpcyBmdW5jdGlvbiBlY3Vyc2VzIHRocm91Z2ggdGhlIFNjcm9sbGluZ1N0YXRlVHJlZSBhbmQg
dXBkYXRlcyB0aGUgCisgICAgICAgIFRoaXMgZnVuY3Rpb24gZWN1cnNlcyB0aHJvdWdoIHRoZSBT
Y3JvbGxpbmdTdGF0ZVRyZWUgYW5kIHVwZGF0ZXMgdGhlCiAgICAgICAgIGNvcnJlc3BvbmRpbmcg
U2Nyb2xsaW5nVHJlZU5vZGVzLgogICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZTo6dXBk
YXRlTm9kZXNGcm9tU3RhdGVOb2RlKToKIAotICAgICAgICBUaGlzIGZ1bmN0aW9uIHRha2VzIHRo
ZSBTY3JvbGxpbmdTdGF0ZVRyZWUncyBsaXN0IG9mIHJlbW92ZWQgbm9kZXMgCi0gICAgICAgIGFu
ZCByZW1vdmVzIHRoZSBjb3JyZXNwb25kaW5nIG5vZGVzIGZyb20gdGhlIFNjcm9sbGluZ1RyZWUu
IEl0IHdpbGwgCi0gICAgICAgIGRlc3Ryb3kgdGhlIG5vZGVzIGFmdGVyIHJlbW92aW5nIGl0IGFz
IGxvbmcgYXMgaXQncyBub3QgdGhlIHJvb3QgCi0gICAgICAgIG5vZGUuIEkgdGhpbmsgaXQncyB0
aGUgc2FmZXN0IGNob2ljZSBmb3Igbm93IHRvIG5ldmVyIHJlbW92ZSB0aGUgcm9vdCAKLSAgICAg
ICAgbm9kZS4gCisgICAgICAgIFRoaXMgZnVuY3Rpb24gdGFrZXMgdGhlIFNjcm9sbGluZ1N0YXRl
VHJlZSdzIGxpc3Qgb2YgcmVtb3ZlZCBub2RlcworICAgICAgICBhbmQgcmVtb3ZlcyB0aGUgY29y
cmVzcG9uZGluZyBub2RlcyBmcm9tIHRoZSBTY3JvbGxpbmdUcmVlLiBJdCB3aWxsCisgICAgICAg
IGRlc3Ryb3kgdGhlIG5vZGVzIGFmdGVyIHJlbW92aW5nIGl0IGFzIGxvbmcgYXMgaXQncyBub3Qg
dGhlIHJvb3QKKyAgICAgICAgbm9kZS4gSSB0aGluayBpdCdzIHRoZSBzYWZlc3QgY2hvaWNlIGZv
ciBub3cgdG8gbmV2ZXIgcmVtb3ZlIHRoZSByb290CisgICAgICAgIG5vZGUuCiAgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxpbmdUcmVlOjpyZW1vdmVEZXN0cm95ZWROb2Rlcyk6CiAKLSAgICAgICAg
U2Nyb2xsaW5nVHJlZSBub3cga2VlcHMgYSBIYXNoTWFwIG1hcHBpbmcgU2Nyb2xsaW5nTm9kZUlE
cyB0byAKKyAgICAgICAgU2Nyb2xsaW5nVHJlZSBub3cga2VlcHMgYSBIYXNoTWFwIG1hcHBpbmcg
U2Nyb2xsaW5nTm9kZUlEcyB0bwogICAgICAgICBTY3JvbGxpbmdUcmVlTm9kZXMuCiAgICAgICAg
ICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oOgogCi0gICAgICAgIEFsbCBvZiB0aGUg
c2Nyb2xsaW5nLXJlbGF0ZWQgZnVuY3Rpb25hbGl0eSBoYXMgYmVlbiBtb3ZlZCBmcm9tIHRoaXMg
Ci0gICAgICAgIGNsYXNzIHRvIG5ldyBjbGFzcyBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS4g
QW5kIHNvbWUgYmFzaWMgdHJlZSAKKyAgICAgICAgQWxsIG9mIHRoZSBzY3JvbGxpbmctcmVsYXRl
ZCBmdW5jdGlvbmFsaXR5IGhhcyBiZWVuIG1vdmVkIGZyb20gdGhpcworICAgICAgICBjbGFzcyB0
byBuZXcgY2xhc3MgU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuIEFuZCBzb21lIGJhc2ljIHRy
ZWUKICAgICAgICAgdHJhdmVyc2FsIGZ1bmN0aW9uYWxpdHkgaGFzIGJlZW4gYWRkZWQuCiAgICAg
ICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZU5vZGUuY3BwOgogICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsaW5nVHJlZU5vZGU6OlNjcm9sbGluZ1RyZWVOb2RlKToKQEAgLTUyMTAwLDcg
KzUyMTI4LDcgQEAKICAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVOb2RlOjpzZXRQYXJl
bnQpOgogICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZU5vZGU6OnNjcm9sbGluZ1RyZWUp
OgogCi0gICAgICAgIFRoaXMgY2xhc3MgY29udGFpbnMgYWxsIG9mIHRoZSBzY3JvbGxpbmctcmVs
YXRlZCB3b3JrIHRoYXQgdXNlZCB0byBiZSAKKyAgICAgICAgVGhpcyBjbGFzcyBjb250YWlucyBh
bGwgb2YgdGhlIHNjcm9sbGluZy1yZWxhdGVkIHdvcmsgdGhhdCB1c2VkIHRvIGJlCiAgICAgICAg
IGRvbmUgaW4gU2Nyb2xsaW5nVHJlZU5vZGUuCiAgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwOiBBZGRlZC4KICAgICAgICAgKFdlYkNvcmUpOgpA
QCAtNTIxMjQsNyArNTIxNTIsNyBAQAogICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3Jv
bGxpbmdDb29yZGluYXRvck1hYy5tbToKICAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3Jk
aW5hdG9yTWFjOjpkZXRhY2hGcm9tU3RhdGVUcmVlKToKIAotICAgICAgICBJbmNsdWRlIFNjcm9s
bGluZ1RyZWVTY3JvbGxpbmdOb2RlTWFjLmggaW5zdGVhZCBvZiAKKyAgICAgICAgSW5jbHVkZSBT
Y3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZU1hYy5oIGluc3RlYWQgb2YKICAgICAgICAgU2Nyb2xs
aW5nVHJlZU5vZGVNYWMuaAogICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdU
cmVlTWFjLm1tOgogCkBAIC01MjE3Myw3ICs1MjIwMSw3IEBACiAgICAgICAgIGFkZCBhIG5ldyBQ
bGF0Zm9ybUNBTGF5ZXIgbGF5ZXIgdHlwZSBMYXllclR5cGVQYWdlVGlsZUNhY2hlTGF5ZXIsCiAg
ICAgICAgIHNpbmNlIHRoZSBwYWdlIHRpbGUgY2FjaGUgd2lsbCBoYXZlIHNvbWUgZGlmZmVyZW50
IGJlaGF2aW9yIGZyb20KICAgICAgICAgb3RoZXIgdGlsZSBjYWNoZSBsYXllcnMuCi0gICAgICAg
IAorCiAgICAgICAgIEdlbmVyYWxpemUgY29kZSB0aGF0IHdhcyBsb29raW5nIGF0IExheWVyVHlw
ZVRpbGVDYWNoZUxheWVyIHRvIHVzZQogICAgICAgICB1c2VzVGlsZUNhY2hlTGF5ZXIoKSBpZiBp
dCBhcHBsaWVzIHRvIGJvdGggdHlwZXMgb2YgdGlsZSBjYWNoZXMuCiAKQEAgLTUyMTk0LDcgKzUy
MjIyLDcgQEAKICAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvV2ViTGF5ZXIubW06CiAg
ICAgICAgIChkcmF3TGF5ZXJDb250ZW50cyk6IEF2b2lkIGRvdWJsZS1kcmF3aW5nIHRoZSByZXBh
aW50IGNvdW50ZXIgaW4gdGlsZSBjYWNoZSBsYXllcnMuCiAKLTIwMTItMTAtMTYgIFN0ZXBoZW4g
Q2hlbm5leSAgPHNjaGVubmV5QGNocm9taXVtLm9yZz4gCisyMDEyLTEwLTE2ICBTdGVwaGVuIENo
ZW5uZXkgIDxzY2hlbm5leUBjaHJvbWl1bS5vcmc+CiAgICAgICAgIEFuIGZlSW1hZ2UgdGhhdCB0
cmllcyB0byByZW5kZXIgaXRzZWxmIHNob3VsZCBiZSBzdG9wcGVkCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDY1MgogCkBAIC01MjQ2NSw3ICs1MjQ5
Myw3IEBACiAgICAgICAgIFJlbmRlckxheWVycyBjYWNoZSByZXBhaW50IHJlY3RzIHdoaWNoIGFy
ZSBjb21wdXRlZCByZWxhdGl2ZSB0byB0aGUgcmVwYWludCBjb250YWluZXIuCiAgICAgICAgIFJl
cGFpbnQgY29udGFpbmVycyBkZXBlbmQgb24gd2hldGhlciBhIFJlbmRlckxheWVyQmFja2luZyBo
YXMgaXRzIG93biBiYWNraW5nIHN0b3JlLAogICAgICAgICBzbyBpZiB0aGF0IGNoYW5nZXMsIHdl
IG5lZWQgdG8gcmVjb21wdXRlIHJlcGFpbnQgcmVjdHMgZm9yIGFsbCBkZXNjZW5kYW50cy4KLSAg
ICAgICAgCisKICAgICAgICAgVGVzdDogY29tcG9zaXRpbmcvcmVwYWludC9yZXF1aXJlcy1iYWNr
aW5nLXJlcGFpbnQuaHRtbAogCiAgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2lu
Zy5jcHA6CkBAIC01MzI2Miw3ICs1MzI5MCw3IEBACiAgICAgICAgIHJlY3Qgb24gdGhlIHJvb3Qg
dXNlZCBmb3IgR3JhcGhpY3NMYXllciB2aXNpYmxlUmVjdCBjb21wdXRhdGlvbi4gVGhpcwogICAg
ICAgICB3YXMgd3JvbmcgZm9yIHN1YmZyYW1lcywgd2hpY2ggcmVxdWlyZSBhIHJlY3Qgd2l0aCBh
biBvcmlnaW4gb2YgKDAsMCkKICAgICAgICAgYW5kIHNpemUgb2YgdGhlIGNvbnRlbnRzU2l6ZSgp
LgotICAgICAgICAKKwogICAgICAgICBJdCB3YXMgYWxzbyB3cm9uZyB3aGVuIHRoZSBzY3JvbGxp
bmcgaXMgbm90IHJlcHJlc2VudGVkIGluIHRoZSBHcmFwaGljc0xheWVyCiAgICAgICAgIHRyZWUu
IFdoZW4gc2Nyb2xsaW5nIGlzIGRvbmUgZWxzZXdoZXJlLCB3ZSBuZWVkIHRvIHVzZSB0aGUgU2Ny
b2xsVmlldydzCiAgICAgICAgIHZpc2libGVDb250ZW50UmVjdCgpLgpAQCAtNTM0NDAsNyArNTM0
NjgsNyBAQAogICAgICAgICBXaGVuIGRvaW5nIHRocmVhZGVkIHNjcm9sbGluZywgdGhlIHNjcm9s
bGluZyB0aHJlYWQgdXBkYXRlcyB0aGUgcG9zaXRpb25zIG9mIENBTGF5ZXJzLAogICAgICAgICBi
dXQgZG9lc24ndCB1cGRhdGUgR3JhcGhpY3NMYXllcnMuIFRoaXMgbWVhbnMgdGhhdCBjb2RlIHRo
YXQgcmVsaWVzIG9uIEdyYXBoaWNzTGF5ZXIgcG9zaXRpb25zCiAgICAgICAgIHdvcmtzIGluY29y
cmVjdGx5LgotICAgICAgICAKKwogICAgICAgICBUaHJlYWRlZCBzY3JvbGxpbmcgaXMgbm90IHRl
c3RhYmxlZCBpbiBsYXlvdXQgdGVzdHMuCiAKICAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdDb29yZGluYXRvci5jcHA6CkBAIC01MzYwNCw3ICs1MzYzMiw3IEBACiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgU3RlcGhlbiBXaGl0ZS4KIAotICAgICAgICBObyBuZXcgdGVzdHMgLS0gZXhp
c3RpbmcgbGF5b3V0dGVzdHMgZXhlcmNpc2UgdGhpcywgZXNwLiAKKyAgICAgICAgTm8gbmV3IHRl
c3RzIC0tIGV4aXN0aW5nIGxheW91dHRlc3RzIGV4ZXJjaXNlIHRoaXMsIGVzcC4KICAgICAgICAg
ICBwbmctcGFydGlhbC1sb2FkLW5vLWFscGhhLmh0bWwKICAgICAgICAgICB3ZWJwLXBhcnRpYWwt
bG9hZC5odG1sCiAgICAgICAgIFRoZXNlIHR3byBmYWlsIGlmIHNraWEgaXMgdG9sZCB0aGF0IHRo
ZXNlIGFyZSBvcGFxdWUsIHdoaWNoIGl0IGlzIHcvbyB0aGlzIENMLgpAQCAtNTM4MjAsNyArNTM4
NDgsNyBAQAogCiAgICAgICAgIEN1cnJlbnQgdGVzdHMgYWxyZWFkeSBjb3ZlciB0aGlzIGNvZGUu
CiAKLSAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDogCisgICAg
ICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CiAgICAgICAgIChXZWJD
b3JlOjpDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OnZhbHVlRm9yRmlsdGVyKTogVGhlIGNo
ZWNrIGZvciBtaXhTZXR0aW5ncy5lbmFibGVkIGhhcyBiZWVuIHJlcGxhY2VkCiAgICAgICAgIGJ5
IGFuIGV4cGxpY2l0IGNoZWNrIGZvciBQUk9HUkFNX1RZUEVfQkxFTkRTX0VMRU1FTlRfVEVYVFVS
RSBwcm9ncmFtIHR5cGUuCiAgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgpAQCAtNTQw
ODUsMTUgKzU0MTEzLDE1IEBACiAyMDEyLTEwLTE1ICBCZXRoIERha2luICA8YmRha2luQGFwcGxl
LmNvbT4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTkzNTAKLSAgICAgICAgUkVHUkVTU0lPTiAocjEzMTIzOCk6IFJlcHJvIGNyYXNoIGluIAotICAg
ICAgIFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlVHJlZTo6cmVtb3ZlTm9kZShXZWJDb3JlOjpTY3Jv
bGxpbmdTdGF0ZU5vZGUqKSAKKyAgICAgICAgUkVHUkVTU0lPTiAocjEzMTIzOCk6IFJlcHJvIGNy
YXNoIGluCisgICAgICAgV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVUcmVlOjpyZW1vdmVOb2RlKFdl
YkNvcmU6OlNjcm9sbGluZ1N0YXRlTm9kZSopCiAgICAgICAgIG9wZW5pbmcgcGRmIHBhZ2UKICAg
ICAgICAgLWFuZCBjb3JyZXNwb25kaW5nLQogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTI0OTk4
Mzk+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgogCi0gICAgICAgIFdlIGhh
dmUgdG8gbnVsbC1jaGVjayBub2RlIGhlcmUuIEl0IHdvbid0IGJlIGZvdW5kIGlmICAKKyAgICAg
ICAgV2UgaGF2ZSB0byBudWxsLWNoZWNrIG5vZGUgaGVyZS4gSXQgd29uJ3QgYmUgZm91bmQgaWYK
ICAgICAgICAgY2xlYXJTdGF0ZVRyZWUoKSB3YXMgcmVjZW50bHkgY2FsbGVkLgogICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGluYXRvck1hYy5tbToKICAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjOjpkZXRhY2hGcm9tU3RhdGVUcmVlKToK
QEAgLTU0MzI3LDExICs1NDM1NSwxMSBAQAogICAgICAgICBhY3R1YWwgdGV4dCBkYXRhIGZvciBw
ZXJmb3JtYW5jZS4gIEFkZGVkIGEgY2hhcmFjdGVyQXQoKSBpbmRleGVkIGFjY2Vzc29yIHRvIFJl
bmRlclRleHQgdG8gYXZvaWQgdGhlCiAgICAgICAgIHNvbWV3aGF0IGNvbmZ1c2luZyBjb25zdHJ1
Y3QgZm9yIGEgUmVuZGVyVGV4dCogcnQsIGUuZy4gKCpyZSlbbl0gb3IgcnQtPmNoYXJhY3RlcnMo
KVtuXS4gIFRoaXMgaXMKICAgICAgICAgbm93IHdyaXR0ZW4gYXMgcnQtPmNoYXJhY3RlckF0KG4p
LgotICAgICAgICBFbmFibGVkIHBhdGNoIGluIHRoZSBIVE1MIHBhcnNlciB0byBjcmVhdGUgOCBi
aXQgdGV4dCBkYXRhLiAgTW9kaWZpZWQgVGV4dFJ1biB0byBjcmVhdGUgCisgICAgICAgIEVuYWJs
ZWQgcGF0Y2ggaW4gdGhlIEhUTUwgcGFyc2VyIHRvIGNyZWF0ZSA4IGJpdCB0ZXh0IGRhdGEuICBN
b2RpZmllZCBUZXh0UnVuIHRvIGNyZWF0ZQogICAgICAgICB0ZXh0IHJ1bnMgdXNpbmcgOCBiaXQg
c3RyaW5nIGRhdGEgd2hlcmUgcG9zc2libGUuICBBZGRlZCBzZXZlcmFsIGZsYXZvcnMgb2YgUmVu
ZGVyQmxvY2s6OmNvbnN0cnVjdFRleHRSdW4KICAgICAgICAgdG8gY3JlYXRlIFRleHRSdW5zIGZy
b20gUmVuZGVyVGV4dCBvYmplY3RzIGluY2x1ZGluZyB3aXRoIGFuIG9mZnNldC4gIEFkZGVkIGFu
IExDaGFyIGZsYXZvciBvZiBjb25zdHJ1Y3RUZXh0UnVuKCkKICAgICAgICAgYXMgd2VsbC4gIEVs
aW1pbmF0ZWQgdGhlIFRleHRSdW5GbGFncyBhcmd1bWVudCB0byBhbGwgYnV0IHRoZSBTdHJpbmcg
Zmxhdm9yIGFzIGFsbCBvdGhlciBmbGF2b3JzIHVzZWQgdGhlIGRlZmF1bHQKLSAgICAgICAgcGFy
YW1ldGVyLiAgCisgICAgICAgIHBhcmFtZXRlci4KICAgICAgICAgRW5jYXNlZCB0aGUgY29kZSB0
aGF0IGNyZWF0ZXMgOCBiaXQgVGV4dFJ1bidzIGluICNpZiBVU0UoOEJJVF9URVhUUlVOKS4gIEVu
YWJsZWQgV1RGX1VTRV84QklUX1RFWFRSVU4KICAgICAgICAgZm9yIFBMQVRGT1JNKE1BQykuICBP
dGhlciBwbGF0Zm9ybSBjYW4gdXBkYXRlIHRoaXMgc2V0dGluZyBpbiBQbGF0Zm9ybS5oIHdoZW4g
dGhlaXIgcGxhdGZvcm0gc3BlY2lmaWMgY29kZSBpcwogICAgICAgICB1cGRhdGVkIHRvIFRleHRS
dW4ncyB3aXRoIDggYml0IGRhdGEuCkBAIC01NDc5OCwxMyArNTQ4MjYsMTMgQEAKIAogICAgICAg
ICBHcmFwaGljc0xheWVyQ0E6OmNvbXB1dGVWaXNpYmxlUmVjdCgpIHdhcyBpbmNvcnJlY3QgZm9y
IGxheWVyIHRyZWVzIHdpdGggcGVyc3BlY3RpdmUKICAgICAgICAgYW5kIHByZXNlcnZlLTNkLCBz
byBmaXggdGhhdCwgYW5kIGFkZCBzb21lIHRlc3RzLgotICAgICAgICAKKwogICAgICAgICBQZXJz
cGVjdGl2ZSBpcyBpbXBsZW1lbnRlZCB2aWEgY2hpbGRyZW5UcmFuc2Zvcm0oKTsgaWYgb3VyIHBh
cmVudCBoYXMgb25lLAogICAgICAgICB3ZSBoYXZlIHRvIGxlZnQtbXVsdGlwbHkgdGhpcyBpbnRv
IHRoZSB0cmFuc2Zvcm1hdGlvbiBtYXRyaXguCi0gICAgICAgIAorCiAgICAgICAgIFdlIGhhdmUg
dG8gdGVzdCBib3RoIHRoaXMgbGF5ZXIgYW5kIGl0cyBwYXJlbnQgd2hlbiBkZWNpZGluZyB3aGV0
aGVyIHRvIGFjY3VtdWxhdGUKICAgICAgICAgb3IgZmxhdHRlbi4KLSAgICAgICAgCisKICAgICAg
ICAgVXNlIHN0YXRlLm1hcHBlZFF1YWQoKSByYXRoZXIgdGhhbiBzdGF0ZS5sYXN0UGxhbmFyUXVh
ZCgpLCBiZWNhdXNlIHRoZSBsYXN0IHBsYW5hcgogICAgICAgICBxdWFkIG1pZ2h0IGJlIGZvciBz
b21lIGRpc3RhbnQgYW5jZXN0b3IsIGFuZCB0aGVyZSBtYXkgYmUgaW50ZXJtZWRpYXRlIHByZXNl
cnZlLTNkCiAgICAgICAgIGxheWVycy4KQEAgLTU0ODcxLDE5ICs1NDg5OSwxOSBAQAogMjAxMi0x
MC0xMiAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk5MjExCi0gICAgICAgIFdoZW4gU2Nyb2xs
aW5nU3RhdGVOb2RlcyBhcmUgZGVzdHJveWVkLCB0aGV5IHNob3VsZCBiZSByZW1vdmVkIAorICAg
ICAgICBXaGVuIFNjcm9sbGluZ1N0YXRlTm9kZXMgYXJlIGRlc3Ryb3llZCwgdGhleSBzaG91bGQg
YmUgcmVtb3ZlZAogICAgICAgICBTY3JvbGxpbmdDb29yZGluYXRvcidzIEhhc2hNYXAKIAogICAg
ICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgogCi0gICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBh
IG5ldyBtZW1iZXIgdmFyaWFibGUgdG8gU2Nyb2xsaW5nU3RhdGVUcmVlLiBJdCdzIGEgCi0gICAg
ICAgIFZlY3RvciBvZiBTY3JvbGxpbmdOb2RlSURzLiBJdCB3aWxsIGNvbnRhaW4gdGhlIElEcyBv
ZiBub2RlcyB0aGF0IAotICAgICAgICBoYXZlIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSB0cmVlIHNp
bmNlIHRoZSBsYXN0IHRpbWUgdGhlIHRyZWUgd2FzIAorICAgICAgICBUaGlzIHBhdGNoIGFkZHMg
YSBuZXcgbWVtYmVyIHZhcmlhYmxlIHRvIFNjcm9sbGluZ1N0YXRlVHJlZS4gSXQncyBhCisgICAg
ICAgIFZlY3RvciBvZiBTY3JvbGxpbmdOb2RlSURzLiBJdCB3aWxsIGNvbnRhaW4gdGhlIElEcyBv
ZiBub2RlcyB0aGF0CisgICAgICAgIGhhdmUgYmVlbiByZW1vdmVkIGZyb20gdGhlIHRyZWUgc2lu
Y2UgdGhlIGxhc3QgdGltZSB0aGUgdHJlZSB3YXMKICAgICAgICAgY29tbWl0dGVkLgogICAgICAg
ICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5jcHA6CiAgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxpbmdTdGF0ZVRyZWU6OlNjcm9sbGluZ1N0YXRlVHJlZSk6CiAKLSAgICAgICAg
V2hlbiB3ZSBkbyBjb21taXQsIGNvcHkgdGhlIFZlY3RvciBvdmVyIGludG8gdGhlIGNsb25lZCB0
cmVlLCBhbmQgCisgICAgICAgIFdoZW4gd2UgZG8gY29tbWl0LCBjb3B5IHRoZSBWZWN0b3Igb3Zl
ciBpbnRvIHRoZSBjbG9uZWQgdHJlZSwgYW5kCiAgICAgICAgIHRoZW4gY2xlYXIgb3VyIG93biBW
ZWN0b3IuCiAgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZVRyZWU6OmNvbW1pdCk6CiAK
QEAgLTU0OTg4LDE1ICs1NTAxNiwxNSBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZy
YXNlci4KIAotICAgICAgICBUaGVyZSBpcyBhIEhhc2hNYXAgaW4gU2Nyb2xsaW5nQ29vcmRpbmF0
b3JNYWMgdGhhdCBtYXBzIAotICAgICAgICBTY3JvbGxpbmdOb2RlSURzIHRvIFNjcm9sbGluZ1N0
YXRlTm9kZXMuIFRoZSBub2RlcyB0aGVtc2VsdmVzIHNob3VsZCAKLSAgICAgICAga2VlcCB0cmFj
ayBvZiB0aGlzIGlkLiBUaGVuIHRoZSBpZCBjYW4gYmUgdXNlZCB0byBtYWtlIHN1cmUgCi0gICAg
ICAgIFNjcm9sbGluZ1N0YXRlTm9kZXMgcmVtb3ZlIHRoZW1zZWx2ZXMgZnJvbSB0aGUgSGFzaE1h
cCB3aGVuIHRoZXkgYXJlIAotICAgICAgICBkZXN0cm95ZWQsIGFuZCBpdCB3aWxsIGFsc28gYmUg
dXNlZnVsIGZvciBhc3NvY2lhdGluZyAKLSAgICAgICAgU2Nyb2xsaW5nU3RhdGVOb2RlcyB3aXRo
IFNjcm9sbGluZ1RyZWVOb2RlcyBvdmVyIG9uIHRoZSBzY3JvbGxpbmcgCisgICAgICAgIFRoZXJl
IGlzIGEgSGFzaE1hcCBpbiBTY3JvbGxpbmdDb29yZGluYXRvck1hYyB0aGF0IG1hcHMKKyAgICAg
ICAgU2Nyb2xsaW5nTm9kZUlEcyB0byBTY3JvbGxpbmdTdGF0ZU5vZGVzLiBUaGUgbm9kZXMgdGhl
bXNlbHZlcyBzaG91bGQKKyAgICAgICAga2VlcCB0cmFjayBvZiB0aGlzIGlkLiBUaGVuIHRoZSBp
ZCBjYW4gYmUgdXNlZCB0byBtYWtlIHN1cmUKKyAgICAgICAgU2Nyb2xsaW5nU3RhdGVOb2RlcyBy
ZW1vdmUgdGhlbXNlbHZlcyBmcm9tIHRoZSBIYXNoTWFwIHdoZW4gdGhleSBhcmUKKyAgICAgICAg
ZGVzdHJveWVkLCBhbmQgaXQgd2lsbCBhbHNvIGJlIHVzZWZ1bCBmb3IgYXNzb2NpYXRpbmcKKyAg
ICAgICAgU2Nyb2xsaW5nU3RhdGVOb2RlcyB3aXRoIFNjcm9sbGluZ1RyZWVOb2RlcyBvdmVyIG9u
IHRoZSBzY3JvbGxpbmcKICAgICAgICAgdGhyZWFkLgotICAKLSAgICAgICAgVGhpcyBwYXRjaCBv
bmx5IGhhcyB0aGUgU2Nyb2xsaW5nU3RhdGVOb2RlcyBjYWNoZSB0aGUgaWQuIEkgd2lsbCAKKwor
ICAgICAgICBUaGlzIHBhdGNoIG9ubHkgaGFzIHRoZSBTY3JvbGxpbmdTdGF0ZU5vZGVzIGNhY2hl
IHRoZSBpZC4gSSB3aWxsCiAgICAgICAgIGFjdHVhbGx5IG1ha2UgdXNlIG9mIHRoZSBpZCBpbiBm
b2xsb3ctdXAgcGF0Y2hlcy4KIAogICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0
YXRlTm9kZS5jcHA6CkBAIC01NTAzMiw3ICs1NTA2MCw3IEBACiAgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjpzaG91bGRXYWl0Rm9yTG9hZGluZ09m
UmVzb3VyY2UpOiBGaXJlIGEgbmVlZGtleSBldmVudCB3aXRoIGFuIGluaXREYXRhIGNvbnRhaW5p
bmcKICAgICAgICAgICAgIHRoZSBrZXkgVVJJLgogICAgICAgICAoV2ViQ29yZTo6ZXh0cmFjdEtl
eVVSSUtleUlkQW5kQ2VydGlmaWNhdGVGcm9tSW5pdERhdGEpOiBFeHRyYWN0IHRoZSBrZXlVUkks
IGtleUlELCBhbmQgdGhlIGFwcCBjZXJ0aWZpY2F0ZSBmcm9tIHRoZSBpbml0RGF0YS4KLSAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OmdlbmVyYXRl
S2V5UmVxdWVzdCk6IEdlbmVyYXRlIGEgc3RyZWFtaW5nIGtleSByZXF1ZXN0IGZyb20gQVZGb3Vu
ZGF0aW9uIGFuZCAKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbk9iakM6OmdlbmVyYXRlS2V5UmVxdWVzdCk6IEdlbmVyYXRlIGEgc3RyZWFtaW5nIGtleSBy
ZXF1ZXN0IGZyb20gQVZGb3VuZGF0aW9uIGFuZAogICAgICAgICAgICAgZmlyZSBhIGtleW1lc3Nh
Z2UgZXZlbnQuCiAgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25PYmpDOjphZGRLZXkpOiBQYXNzIHRvIEFWRm91bmRhdGlvbiB0aHJvdWdoIHRoZSBBVkFzc2V0
UmVzb3VyY2VMb2FkZXIuCiAgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVBVkZv
dW5kYXRpb25PYmpDOjpjYW5jZWxLZXlSZXF1ZXN0KTogUmVsZWFzZSB0aGUgbG9hZGVyIGRlbGVn
YXRlLgpAQCAtNTUxMjcsNyArNTUxNTUsNyBAQAogICAgICAgICBGbG9vciBiYXNlbGluZVBvc2l0
aW9uIGZvciByZXBsYWNlZCBlbGVtZW50cyB0byBtYXRjaCBsb2dpYyBpbgogICAgICAgICBSb290
SW5saW5lQm94Ojphc2NlbnRBbmREZXNjZW50Rm9yQm94IHdoZXJlIHRoZSBhc2NlbnQgaXMKICAg
ICAgICAgY29tcHV0ZWQgZnJvbSB0aGUgZmxvb3JlZCBiYXNlbGluZVBvc2l0aW9uLgotICAgICAg
ICAKKwogICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgogICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQm94Ojpjb21wdXRlUG9zaXRpb25lZExvZ2ljYWxXaWR0aFJlcGxhY2VkKToKICAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsSGVpZ2h0
UmVwbGFjZWQpOgpAQCAtNTY5ODMsMTUgKzU3MDExLDE1IEBACiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgQW5kZXJzIENhcmxzc29uLgogCi0gICAgICAgIFRoaXMgcGF0Y2ggbW92ZXMgYWxsIG9mIHRo
ZSB0aHJlYWRlZCBzY3JvbGxpbmcgY29kZSBpbiAKLSAgICAgICAgU2Nyb2xsaW5nQ29vcmRpbmF0
b3IgaW50byBhIG5ldyBjbGFzcyBjYWxsZWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3JNYWMgCi0gICAg
ICAgIHdoaWNoIGluaGVyaXRzIGZyb20gU2Nyb2xsaW5nQ29vcmRpbmF0b3IuIAorICAgICAgICBU
aGlzIHBhdGNoIG1vdmVzIGFsbCBvZiB0aGUgdGhyZWFkZWQgc2Nyb2xsaW5nIGNvZGUgaW4KKyAg
ICAgICAgU2Nyb2xsaW5nQ29vcmRpbmF0b3IgaW50byBhIG5ldyBjbGFzcyBjYWxsZWQgU2Nyb2xs
aW5nQ29vcmRpbmF0b3JNYWMKKyAgICAgICAgd2hpY2ggaW5oZXJpdHMgZnJvbSBTY3JvbGxpbmdD
b29yZGluYXRvci4KKworICAgICAgICBJdCBhbHNvIGFkZHMgU2Nyb2xsaW5nQ29vcmRpbmF0b3JD
aHJvbWl1bSB0byBkbyBDaHJvbWl1bS1zcGVjaWZpYyB3b3JrLgorICAgICAgICBTY3JvbGxpbmdD
b29yZGluYXRvciBpdHNlbGYgZG9lcyB3b3JrIHRoYXQgaXMgY3Jvc3MtcGxhdGZvcm0uCiAKLSAg
ICAgICAgSXQgYWxzbyBhZGRzIFNjcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0gdG8gZG8gQ2hy
b21pdW0tc3BlY2lmaWMgd29yay4gCi0gICAgICAgIFNjcm9sbGluZ0Nvb3JkaW5hdG9yIGl0c2Vs
ZiBkb2VzIHdvcmsgdGhhdCBpcyBjcm9zcy1wbGF0Zm9ybS4gCi0gICAgICAgIAotICAgICAgICBG
aW5hbGx5LCB0aGlzIHBhdGNoIGFsc28gZWxpbWluYXRlcyBTY3JvbGxpbmdDb29yZGluYXRvck5v
bmUuIAotICAgICAgICBTY3JvbGxpbmdDb29yZGluYXRvciBpcyBub3cgc3VmZmljaWVudCBmb3Ig
cGxhdGZvcm1zIHRoYXQgcmVsaWVkIG9uIAorICAgICAgICBGaW5hbGx5LCB0aGlzIHBhdGNoIGFs
c28gZWxpbWluYXRlcyBTY3JvbGxpbmdDb29yZGluYXRvck5vbmUuCisgICAgICAgIFNjcm9sbGlu
Z0Nvb3JkaW5hdG9yIGlzIG5vdyBzdWZmaWNpZW50IGZvciBwbGF0Zm9ybXMgdGhhdCByZWxpZWQg
b24KICAgICAgICAgU2Nyb2xsaW5nQ29vcmRpbmF0b3JOb25lIHRvIGJ1aWxkLgogCiAgICAgICAg
ICogQ01ha2VMaXN0cy50eHQ6CkBAIC01NzgwNSw3ICs1NzgzMyw3IEBACiAgICAgICAgIFJldmll
d2VkIGJ5IE5vYW0gUm9zZW50aGFsLgogCiAgICAgICAgIEluY29ycmVjdCB0ZXN0IChieXRlc1Bl
ckxpbmUgPT0gdGFyZ2V0UmVjdC53aWR0aCgpIC8gNCkgbmV2ZXIKLSAgICAgICAgZXZhbHVhdGVz
IHRvIHRydWUuIENoYW5nZSBpdCB0byBjb3JyZWN0IHRlc3QgCisgICAgICAgIGV2YWx1YXRlcyB0
byB0cnVlLiBDaGFuZ2UgaXQgdG8gY29ycmVjdCB0ZXN0CiAgICAgICAgIChieXRlc1BlckxpbmUg
PT0gdGFyZ2V0UmVjdC53aWR0aCgpICogNCkKIAogICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVz
ZSBubyBmdW5jdGlvbmFsIGNoYW5nZS4KQEAgLTU4NjgwLDIyICs1ODcwOCwyMiBAQAogICAgICAg
ICBHcmFwaGljc0xheWVyQ0EgbWF5IGhhdmUgbm90IGZsdXNoZWQgbGF5ZXJzIHlldCwgc28gbGF5
ZXIgdHJlZQogICAgICAgICBwcm9wZXJ0aWVzIHRoYXQgYXJlIGFmZmVjdGVkIGJ5IGZsdXNoaW5n
ICh0aWxlZCBsYXllciwgdmlzaWJsZQogICAgICAgICByZWN0cykgYXBwZWFyZWQgZmxha2V5IGlu
IHRlc3RzLgotICAgICAgICAKLSAgICAgICAgRml4IGJ5IGZvcmNpbmcgYSBmbHVzaCBiZWZvcmUg
ZHVtcGluZyB0aGUgbGF5ZXIgdHJlZS4gICAgICAgIAotICAgICAgICAKKworICAgICAgICBGaXgg
YnkgZm9yY2luZyBhIGZsdXNoIGJlZm9yZSBkdW1waW5nIHRoZSBsYXllciB0cmVlLgorCiAgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CiAgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OmxheWVyVHJlZUFzVGV4dCk6CiAKIDIwMTItMTAt
MTAgIEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODk4NAotICAgICAgICBSRUdSRVNTSU9OOiBD
cmFzaCBoYXBwZW5zIGFmdGVyIHdlIGFkZCBub24tdG9wLWxldmVsIGZyYW1lIHRvIHRoZSAKKyAg
ICAgICAgUkVHUkVTU0lPTjogQ3Jhc2ggaGFwcGVucyBhZnRlciB3ZSBhZGQgbm9uLXRvcC1sZXZl
bCBmcmFtZSB0byB0aGUKICAgICAgICAgU2Nyb2xsaW5nU3RhdGVUcmVlCiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgogCi0gICAgICAgIGlzUm9vdExheWVyKCkgY2FuIHJldHVy
biB0cnVlIGZvciBsYXllcnMgdGhhdCBkbyBub3QgY29ycmVzcG9uZCB0byAKLSAgICAgICAgdGhl
IG1haW4gZnJhbWUuIEJ1dCB3ZSBvbmx5IHdhbnQgdGhlIG9uZXMgdGhhdCBETyBjb3JyZXNwb25k
IHRvIHRoZSAKKyAgICAgICAgaXNSb290TGF5ZXIoKSBjYW4gcmV0dXJuIHRydWUgZm9yIGxheWVy
cyB0aGF0IGRvIG5vdCBjb3JyZXNwb25kIHRvCisgICAgICAgIHRoZSBtYWluIGZyYW1lLiBCdXQg
d2Ugb25seSB3YW50IHRoZSBvbmVzIHRoYXQgRE8gY29ycmVzcG9uZCB0byB0aGUKICAgICAgICAg
bWFpbiBmcmFtZSEKICAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNw
cDoKICAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlQmFja2lu
Zyk6CkBAIC01ODcyNCw3ICs1ODc1Miw3IEBACiAKIDIwMTItMTAtMTAgIEVsbGlvdHQgU3ByZWhu
ICA8ZXNwcmVobkBjaHJvbWl1bS5vcmc+CiAKLSAgICAgICAgTW92ZSA6YmVmb3JlIGFuZCA6YWZ0
ZXIgaW50byB0aGUgRE9NICAgICAgICAKKyAgICAgICAgTW92ZSA6YmVmb3JlIGFuZCA6YWZ0ZXIg
aW50byB0aGUgRE9NCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD05NTExNwogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpAQCAtNTg4NjUs
NyArNTg4OTMsNyBAQAogICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KIAogICAg
ICAgICBXZSd2ZSByZWNlbnRseSBhZGRlZCB0aGUgY2FwYWJpbGl0eSB0byBzd2l0Y2ggc2libGlu
ZyB0cmF2ZXJzYWwgc3RyYXRlZ3kgdG8gU2VsZWN0b3JDaGVja2VyLCBhdCBzb21lIHJlYWRhYmls
aXR5L2NsYXJpdHkgZXhwZW5zZS4KLSAgICAgICAgVGhpcyBwYXRjaCB0cmllcyB0byBtaW5pbWl6
ZSB0aGUgc3VyZmFjZSBvZiB0aGlzIGV4cGVuc2UgdG8gU2VsZWN0b3JDaGVja2VyOjpjaGVja09u
ZVNlbGVjdG9yLiAKKyAgICAgICAgVGhpcyBwYXRjaCB0cmllcyB0byBtaW5pbWl6ZSB0aGUgc3Vy
ZmFjZSBvZiB0aGlzIGV4cGVuc2UgdG8gU2VsZWN0b3JDaGVja2VyOjpjaGVja09uZVNlbGVjdG9y
LgogCiAgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gY2hhbmdlIGluIGJlaGF2aW9yLgogCkBAIC01
OTA5MywxNyArNTkxMjEsMTcgQEAKIDIwMTItMTAtMTAgIEJldGggRGFraW4gIDxiZGFraW5AYXBw
bGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05ODk2OAotICAgICAgICBSRUdSRVNTSU9OOiBVbmFibGUgdG8gc2Nyb2xsIHdpdGggdHJhY2tw
YWQgb24gc29tZSB3ZWJzaXRlcyBhZnRlciAKKyAgICAgICAgUkVHUkVTU0lPTjogVW5hYmxlIHRv
IHNjcm9sbCB3aXRoIHRyYWNrcGFkIG9uIHNvbWUgd2Vic2l0ZXMgYWZ0ZXIKICAgICAgICAgcjEz
MDc4MwogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KIAotICAgICAgICBUaGlz
IGJ1ZyBzZWVtcyB0byByZXByb2R1Y2UgbW9zdGx5IG9uIHdlYiBwYWdlcyB0aGF0IHJlcXVpcmUg
bG9naW4uIAotICAgICAgICBUaGUgcmUtcm91dGluZyBjYXVzZXMgZXh0cmEgY2h1cm4gb2YgdGhl
IFJlbmRlckxheWVyQmFja2luZywgYW5kIHdlIAotICAgICAgICBlbmQgdXAgZGVzdHJveWluZyBh
bmQgcmUtY3JlYXRpbmcgdGhlIGJhY2tpbmcgYW5kIHRoZXJlZm9yZSB0aGUgCi0gICAgICAgIFNj
cm9sbGluZ1N0YXRlTm9kZXMsIGFuZCB3aGVuIHRoZSB0aW1pbmcgaXMganVzdCB3cm9uZyB3ZSBn
ZXQgaW50byBhIAotICAgICAgICBzdGF0ZSB3aGVyZSB0aGUgU2Nyb2xsaW5nVHJlZSBoYXMgYSBz
ZXQgb2YgaW5jb3JyZWN0IGluZm9ybWF0aW9uLiAKLSAgICAgICAgVGhpcyBwYXRjaCBmaXhlcyB0
aGUgYnVnIGJ5IG1ha2luZyBzdXJlIHRoZSBTY3JvbGxpbmdTdGF0ZU5vZGVzIGtlZXAgCisgICAg
ICAgIFRoaXMgYnVnIHNlZW1zIHRvIHJlcHJvZHVjZSBtb3N0bHkgb24gd2ViIHBhZ2VzIHRoYXQg
cmVxdWlyZSBsb2dpbi4KKyAgICAgICAgVGhlIHJlLXJvdXRpbmcgY2F1c2VzIGV4dHJhIGNodXJu
IG9mIHRoZSBSZW5kZXJMYXllckJhY2tpbmcsIGFuZCB3ZQorICAgICAgICBlbmQgdXAgZGVzdHJv
eWluZyBhbmQgcmUtY3JlYXRpbmcgdGhlIGJhY2tpbmcgYW5kIHRoZXJlZm9yZSB0aGUKKyAgICAg
ICAgU2Nyb2xsaW5nU3RhdGVOb2RlcywgYW5kIHdoZW4gdGhlIHRpbWluZyBpcyBqdXN0IHdyb25n
IHdlIGdldCBpbnRvIGEKKyAgICAgICAgc3RhdGUgd2hlcmUgdGhlIFNjcm9sbGluZ1RyZWUgaGFz
IGEgc2V0IG9mIGluY29ycmVjdCBpbmZvcm1hdGlvbi4KKyAgICAgICAgVGhpcyBwYXRjaCBmaXhl
cyB0aGUgYnVnIGJ5IG1ha2luZyBzdXJlIHRoZSBTY3JvbGxpbmdTdGF0ZU5vZGVzIGtlZXAKICAg
ICAgICAgdGhlIFNjcm9sbGluZ1RyZWUgaW4gc3luY2ggd2l0aCB0aGVpciByZS1zZXQgZGF0YS4K
IAogICAgICAgICBUZWxsIHRoZSBTY3JvbGxpbmdTdGF0ZVRyZWUgdGhhdCB0aGUgcm9vdCBsYXll
ciBoYXMgY2hhbmdlZC4KQEAgLTU5MTE4LDcgKzU5MTQ2LDcgQEAKICAgICAgICAgKFdlYkNvcmUp
OgogICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5o
OgogCi0gICAgICAgIFdoZW4gdGhlIHJvb3QgbGF5ZXIgY2hhbmdlcywgbWFrZSBzdXJlIHdlIHVw
ZGF0ZSB0aGUgU2Nyb2xsaW5nVHJlZSAKKyAgICAgICAgV2hlbiB0aGUgcm9vdCBsYXllciBjaGFu
Z2VzLCBtYWtlIHN1cmUgd2UgdXBkYXRlIHRoZSBTY3JvbGxpbmdUcmVlCiAgICAgICAgIGFwcHJv
cHJpYXRlbHkgYnkgaW5kaWNhdGluZyB0aGF0IGV2ZXJ5IHByb3BlcnR5IGNvdWxkIGhhdmUgY2hh
bmdlZC4KICAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuY3BwOgog
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVUcmVlOjpyb290TGF5ZXJEaWRDaGFuZ2Up
OgpAQCAtNTkxOTYsNyArNTkyMjQsNyBAQAogICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5IEhv
cnRvbi4KIAogICAgICAgICBXaGVuIGEgdmFyaWFibGUgbmFtZSBpcyB0b28gbG9uZyB3ZSB0cmFu
c2xhdGUgdG8gYSBzaG9ydGVyIHZlcnNpb24gYW5kIGtlZXAgYSBtYXBwaW5nIGJldHdlZW4gdGhl
IGxvbmcgYW5kIHNob3J0IG5hbWVzLgotICAgICAgICBIb3dldmVyLCB3aGVuIHF1ZXJ5aW5nIGZv
ciBhIHZhcmlhYmxlIGNsaWVudCBzaWRlIHVzaW5nIGdldEFjdGl2ZUF0dHJpYiBvciBnZXRBY3Rp
dmVVbmlmb3JtLCB3ZSBhY2NpZGVudGFsbHkgcmV0dXJuIHRoZSAKKyAgICAgICAgSG93ZXZlciwg
d2hlbiBxdWVyeWluZyBmb3IgYSB2YXJpYWJsZSBjbGllbnQgc2lkZSB1c2luZyBnZXRBY3RpdmVB
dHRyaWIgb3IgZ2V0QWN0aXZlVW5pZm9ybSwgd2UgYWNjaWRlbnRhbGx5IHJldHVybiB0aGUKICAg
ICAgICAgdHJhbnNsYXRlZCBuYW1lcy4gVGhpcyBmaXggbWFrZXMgdGhlc2UgbWV0aG9kcyByZXR1
cm4gdGhlIG9yaWdpbmFsIHZhcmlhYmxlIG5hbWVzLgogCiAgICAgICAgIFRlc3RlZCB1c2luZyBL
aHJvbm9zIFdlYkdMIGNvbmZvcm1hbmNlIHN1aXRlOgpAQCAtNTkyMDksNyArNTkyMzcsNyBAQAog
ICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6OmdldEFjdGl2ZUF0dHJpYik6CiAg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6Z2V0QWN0aXZlVW5pZm9ybSk6CiAg
ICAgICAgIChXZWJDb3JlKToKLSAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjpv
cmlnaW5hbFN5bWJvbE5hbWUpOiBUaGlzIG1ldGhvZCByZXR1cm5zIHRoZSBvcmlnaW5hbCB2YXJp
YWJsZSBuYW1lIGdpdmVuIAorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0Q6Om9y
aWdpbmFsU3ltYm9sTmFtZSk6IFRoaXMgbWV0aG9kIHJldHVybnMgdGhlIG9yaWdpbmFsIHZhcmlh
YmxlIG5hbWUgZ2l2ZW4KICAgICAgICAgdGhlIG1hcHBlZCBuYW1lLgogCiAyMDEyLTEwLTEwIEJy
YWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgpAQCAtNTk1MDksNyArNTk1MzcsNyBAQAog
CiAgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZFRleHRUcmFjay5jcHA6CiAgICAgICAgIChX
ZWJDb3JlOjpDYWNoZWRUZXh0VHJhY2s6OmRhdGEpOgotICAgICAgICAKKwogICAgICAgICAqIGxv
YWRlci9jYWNoZS9DYWNoZWRYU0xTdHlsZVNoZWV0LmNwcDoKICAgICAgICAgKFdlYkNvcmU6OkNh
Y2hlZFhTTFN0eWxlU2hlZXQ6OmRhdGEpOgogCkBAIC01OTY5MCw3ICs1OTcxOCw3IEBACiAgICAg
ICAgIFRvIHJlcGxhY2UgQ0FUaWxlZExheWVyIHdpdGggVGlsZUNhY2hlcywgd2UgbmVlZCB0byBi
ZSBhYmxlIHRvIGNvbXB1dGUgdGhlIHZpc2libGUgcGFydCBvZiBhIEdyYXBoaWNzTGF5ZXIsCiAg
ICAgICAgIGluIG9yZGVyIHRvIGxpbWl0IHRoZSBleHRlbnQgb2YgVGlsZUNhY2hlIHRpbGVzLiBS
ZXVzZSB0aGUgZXhpc3RpbmcgY29kZSBpbiBHcmFwaGljc0xheWVyQ0EgZm9yIHRoaXMsCiAgICAg
ICAgIGJ1dCBzdG9yZSB0aGUgY29tcHV0ZWQgcmVjdCBpbiBtX3Zpc2libGVSZWN0LgotICAgICAg
ICAKKwogICAgICAgICBBZGQgYSBmbGFnIHRvIGxheWVyVHJlZUFzVGV4dCgpIHNvIHRoYXQgdGVz
dHMgY2FuIG9wdGlvbmFsbHkgaW5jbHVkZSB0aGlzIHZpc2libGUgcmVjdCBpbgogICAgICAgICBs
YXllciB0cmVlIGR1bXBzLiBUaGlzIG91dHB1dCB3aWxsIGJlIHBsYXRmb3JtLXNwZWNpZmljLCBz
byB3ZSBkb24ndCB3YW50IHRvIGRvIGl0IHVuY29uZGl0aW9uYWxseS4KIApAQCAtNjA3NzUsNyAr
NjA4MDMsNyBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCiAKLSAgICAgICAg
QWRkaW5nIGJhY2sgdGhlICEgcmVtb3ZlZCBieSBtaXN0YWtlIGJlZm9yZSBzdWJtaXR0aW5nIHIx
MzA3NzkuIAorICAgICAgICBBZGRpbmcgYmFjayB0aGUgISByZW1vdmVkIGJ5IG1pc3Rha2UgYmVm
b3JlIHN1Ym1pdHRpbmcgcjEzMDc3OS4KIAogICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRGYXN0UGF0aC5jcHA6CiAgICAgICAgIChXZWJDb3JlOjpGb250OjpnbHlwaERhdGFBbmRQYWdl
Rm9yQ2hhcmFjdGVyKToKQEAgLTYwODAyLDkgKzYwODMwLDkgQEAKIAogICAgICAgICBOb3JtYWwg
YW50aS1hbGlhc2VkIHRleHQgbWF0Y2hlcyBzdWJwaXhlbCBhbnRpLWFsaWFzZWQgdGV4dC4KICAg
ICAgICAgSG93ZXZlciwgdGV4dCBtYXJrZWQgd2l0aCB3ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50
aWFsaWFzZWQgc2hvdWxkIGJlIGRyYXduIHdpdGhvdXQgaGludGluZyB0byBtYXRjaCBTYWZhcmku
Ci0gICAgICAgIFNlZSBjcmJ1Zy5jb20vMTUyMzA0IC4gCisgICAgICAgIFNlZSBjcmJ1Zy5jb20v
MTUyMzA0IC4KIAotICAgICAgICBUZXN0IGlzIGZhc3QvY3NzL2ZvbnQtc21vb3RoaW5nLmh0bWws
IGJ1dCBEUlQgcnVucyB3aXRoIGZvbnQgc21vb3RoaW5nIGRpc2FibGVkLCBzbyBubyBjaGFuZ2Ug
dmlzaWJsZS4gCisgICAgICAgIFRlc3QgaXMgZmFzdC9jc3MvZm9udC1zbW9vdGhpbmcuaHRtbCwg
YnV0IERSVCBydW5zIHdpdGggZm9udCBzbW9vdGhpbmcgZGlzYWJsZWQsIHNvIG5vIGNoYW5nZSB2
aXNpYmxlLgogCiAgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Gb250U2tpYS5jcHA6
CiAgICAgICAgIChXZWJDb3JlOjpzZXR1cFBhaW50KToKQEAgLTYwODk2LDI5ICs2MDkyNCwyOSBA
QAogMjAxMi0xMC0wOSAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4NDU3Ci0gICAgICAgIFNj
cm9sbGluZ1N0YXRlTm9kZXMgc2hvdWxkIGJlIHJlZmVyZW5jZWQgdmlhIElEcyBvbiAKKyAgICAg
ICAgU2Nyb2xsaW5nU3RhdGVOb2RlcyBzaG91bGQgYmUgcmVmZXJlbmNlZCB2aWEgSURzIG9uCiAg
ICAgICAgIFJlbmRlckxheWVyQmFja2luZwogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZy
YXNlci4KIAotICAgICAgICBUaGlzIHBhdGNoIGFzc29jaWF0ZXMgYWxsIFNjcm9sbGluZ1N0YXRl
Tm9kZXMgd2l0aCBhIAotICAgICAgICBSZW5kZXJMYXllckJhY2tpbmcgdmlhIGEgSGFzaE1hcCBm
cm9tIFJlbmRlckxheWVyQmFja2luZ3MgdG8gCi0gICAgICAgIFNjcm9sbGluZ1N0YXRlTm9kZXMg
b24gU2Nyb2xsaW5nQ29vcmRpbmF0b3IuIFByaW9yIHRvIHRoaXMgcGF0Y2gsIHRoZSAKLSAgICAg
ICAgcm9vdCBTY3JvbGxpbmdTdGF0ZU5vZGUgd2FzIGNyZWF0ZWQgaW1tZWRpYXRlbHkgdXBvbiBj
cmVhdGlvbiBvZiB0aGUgCi0gICAgICAgIFNjcm9sbGluZ0Nvb3JkaW5hdG9yLCBhbmQgaXQgd2Fz
IGNvbnN0YW50bHkgcmUtdXNlZCBmb3IgZXZlcnkgbWFpbiAKLSAgICAgICAgRnJhbWVWaWV3LiBU
aGlzIGRvZXNuJ3Qgd29yayBpbiB0aGUgbmV3IG1vZGVsIHNpbmNlIHRoYXQgZG9lc24ndCAKLSAg
ICAgICAgYWxsb3cgdGhhdCBTY3JvbGxpbmdTdGF0ZU5vZGUgdG8gaGF2ZSBhIGRlZmluaXRlIGFz
c29jaWF0aW9uIHdpdGggYSAKLSAgICAgICAgUmVuZGVyTGF5ZXJCYWNraW5nLiBTbyB0aGlzIHBh
dGNoIGRvZXMgYWxzbyBpbnRyb2R1Y2Ugc29tZSBsaWZldGltZSAKKyAgICAgICAgVGhpcyBwYXRj
aCBhc3NvY2lhdGVzIGFsbCBTY3JvbGxpbmdTdGF0ZU5vZGVzIHdpdGggYQorICAgICAgICBSZW5k
ZXJMYXllckJhY2tpbmcgdmlhIGEgSGFzaE1hcCBmcm9tIFJlbmRlckxheWVyQmFja2luZ3MgdG8K
KyAgICAgICAgU2Nyb2xsaW5nU3RhdGVOb2RlcyBvbiBTY3JvbGxpbmdDb29yZGluYXRvci4gUHJp
b3IgdG8gdGhpcyBwYXRjaCwgdGhlCisgICAgICAgIHJvb3QgU2Nyb2xsaW5nU3RhdGVOb2RlIHdh
cyBjcmVhdGVkIGltbWVkaWF0ZWx5IHVwb24gY3JlYXRpb24gb2YgdGhlCisgICAgICAgIFNjcm9s
bGluZ0Nvb3JkaW5hdG9yLCBhbmQgaXQgd2FzIGNvbnN0YW50bHkgcmUtdXNlZCBmb3IgZXZlcnkg
bWFpbgorICAgICAgICBGcmFtZVZpZXcuIFRoaXMgZG9lc24ndCB3b3JrIGluIHRoZSBuZXcgbW9k
ZWwgc2luY2UgdGhhdCBkb2Vzbid0CisgICAgICAgIGFsbG93IHRoYXQgU2Nyb2xsaW5nU3RhdGVO
b2RlIHRvIGhhdmUgYSBkZWZpbml0ZSBhc3NvY2lhdGlvbiB3aXRoIGEKKyAgICAgICAgUmVuZGVy
TGF5ZXJCYWNraW5nLiBTbyB0aGlzIHBhdGNoIGRvZXMgYWxzbyBpbnRyb2R1Y2Ugc29tZSBsaWZl
dGltZQogICAgICAgICBkaWZmZXJlbmNlcyB3aXRoIHRoZSBTY3JvbGxpbmdTdGF0ZU5vZGVzLgog
Ci0gICAgICAgIElmIGEgcGFnZSBpcyBnb2luZyBpbnRvIHRoZSBwYWdlIGNhY2hlLCB3ZSBzaG91
bGQgY2xlYXIgdGhlIHN0YXRlIAotICAgICAgICB0cmVlLiBXaGVuIHRoZSBwYWdlIGlzIGluIHRo
ZSBjYWNoZSwgd2Ugd29uJ3QgaGF2ZSBhY2Nlc3MgdG8gdGhlIAotICAgICAgICBSZW5kZXJMYXll
ckJhY2tpbmcsIGFuZCB3ZSBkb24ndCB3YW50IHRvIGJlIGRvaW5nIGFueXRoaW5nIHdpdGggdGhl
IAorICAgICAgICBJZiBhIHBhZ2UgaXMgZ29pbmcgaW50byB0aGUgcGFnZSBjYWNoZSwgd2Ugc2hv
dWxkIGNsZWFyIHRoZSBzdGF0ZQorICAgICAgICB0cmVlLiBXaGVuIHRoZSBwYWdlIGlzIGluIHRo
ZSBjYWNoZSwgd2Ugd29uJ3QgaGF2ZSBhY2Nlc3MgdG8gdGhlCisgICAgICAgIFJlbmRlckxheWVy
QmFja2luZywgYW5kIHdlIGRvbid0IHdhbnQgdG8gYmUgZG9pbmcgYW55dGhpbmcgd2l0aCB0aGUK
ICAgICAgICAgU2Nyb2xsaW5nU3RhdGVOb2RlcyBhbnl3YXkuCiAgICAgICAgICogZG9tL0RvY3Vt
ZW50LmNwcDoKICAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpzZXRJblBhZ2VDYWNoZSk6CiAK
LSAgICAgICAgV2hlbiBhIHBhZ2UgaXMgcmVzdG9yZWQgZnJvbSB0aGUgcGFnZSBjYWNoZSwgY2Fs
bCAKKyAgICAgICAgV2hlbiBhIHBhZ2UgaXMgcmVzdG9yZWQgZnJvbSB0aGUgcGFnZSBjYWNoZSwg
Y2FsbAogICAgICAgICBmcmFtZVZpZXdSb290TGF5ZXJEaWRDaGFuZ2UoKSB0byByZS1jcmVhdGUg
dGhlIHN0YXRlIHRyZWUuCiAgICAgICAgICogbG9hZGVyL0hpc3RvcnlDb250cm9sbGVyLmNwcDoK
ICAgICAgICAgKFdlYkNvcmU6Okhpc3RvcnlDb250cm9sbGVyOjpyZXN0b3JlU2Nyb2xsUG9zaXRp
b25BbmRWaWV3U3RhdGUpOgpAQCAtNjA5MzAsMTMgKzYwOTU4LDEzIEBACiAgICAgICAgICogcGFn
ZS9GcmFtZVZpZXcuaDoKICAgICAgICAgKEZyYW1lVmlldyk6CiAKLSAgICAgICAgVGhlcmUgaXMg
YSBsb3Qgb2YgdW5mb3J0dW5hdGUgZmlkZGxpbmcgd2l0aCB0aGUgdGVycmlibGUgCisgICAgICAg
IFRoZXJlIGlzIGEgbG90IG9mIHVuZm9ydHVuYXRlIGZpZGRsaW5nIHdpdGggdGhlIHRlcnJpYmxl
CiAgICAgICAgIGlmLWRlZnMgaW4gU2Nyb2xsaW5nQ29vcmRpbmF0b3IuIEkgYWRkZWQgYSBGSVhN
RSB0byB0aGUgaGVhZGVyCiAgICAgICAgIG5vdGluZyBob3cgd2UgY2FuIGF2b2lkIHRoaXMgaW4g
dGhlIGZ1dHVyZS4KICAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRv
ci5jcHA6CiAKLSAgICAgICAgQWxsIG9mIHRoaXMgY29kZSB1c2VkIHRvIHJlZmVyIHRvIHRoZSBy
b290U3RhdGVOb2RlIGRpcmVjdGx5LiAKLSAgICAgICAgSW5zdGVhZCwgbm93IGl0IGxvb2tzIHVw
IHRoZSBwcm9wZXIgU2Nyb2xsaW5nU3RhdGVOb2RlIGZvciB0aGUgZ2l2ZW4gCisgICAgICAgIEFs
bCBvZiB0aGlzIGNvZGUgdXNlZCB0byByZWZlciB0byB0aGUgcm9vdFN0YXRlTm9kZSBkaXJlY3Rs
eS4KKyAgICAgICAgSW5zdGVhZCwgbm93IGl0IGxvb2tzIHVwIHRoZSBwcm9wZXIgU2Nyb2xsaW5n
U3RhdGVOb2RlIGZvciB0aGUgZ2l2ZW4KICAgICAgICAgRnJhbWVWaWV3IGluIHRoZSBIYXNoTWFw
LgogICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmZyYW1lVmlld0xheW91
dFVwZGF0ZWQpOgogICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OmZyYW1l
Vmlld1doZWVsRXZlbnRIYW5kbGVyQ291bnRDaGFuZ2VkKToKQEAgLTYwOTQ5LDE1ICs2MDk3Nywx
NSBAQAogICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNldFNjcm9sbFBh
cmFtZXRlcnNGb3JOb2RlKToKICAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9y
OjpzZXRXaGVlbEV2ZW50SGFuZGxlckNvdW50Rm9yTm9kZSk6CiAKLSAgICAgICAgUmV0dXJucyB0
aGUgZXhpc3RpbmcgU2Nyb2xsaW5nU3RhdGVOb2RlIGZvciBhIGdpdmVuIEZyYW1lVmlldyBieSAK
KyAgICAgICAgUmV0dXJucyB0aGUgZXhpc3RpbmcgU2Nyb2xsaW5nU3RhdGVOb2RlIGZvciBhIGdp
dmVuIEZyYW1lVmlldyBieQogICAgICAgICBsb29raW5nIGl0IHVwIGluIHRoZSBIYXNoTWFwLgog
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnN0YXRlTm9kZUZvckZyYW1l
Vmlldyk6CiAKLSAgICAgICAgVGhpcyBpcyBjYWxsZWQgd2hlbiBhIFJlbmRlckxheWVyQmFja2lu
ZyBpcyBkZXN0cm95ZWQuIEF0IHRoYXQgdGltZSwgCisgICAgICAgIFRoaXMgaXMgY2FsbGVkIHdo
ZW4gYSBSZW5kZXJMYXllckJhY2tpbmcgaXMgZGVzdHJveWVkLiBBdCB0aGF0IHRpbWUsCiAgICAg
ICAgIGl0cyBhc3NvY2lhdGVkIFNjcm9sbGluZ1N0YXRlTm9kZSBpcyBkZXN0cm95ZWQuCiAgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcjo6ZGV0YWNoRnJvbVN0YXRlVHJlZSk6
CiAKLSAgICAgICAgY2xlYXJTdGF0ZVRyZWUoKSBjbGVhcnMgdGhlIEhhc2hNYXAgYW5kIGRlc3Ry
b3lzIGFsbCBvZiB0aGUgbm9kZXMgaW4gCisgICAgICAgIGNsZWFyU3RhdGVUcmVlKCkgY2xlYXJz
IHRoZSBIYXNoTWFwIGFuZCBkZXN0cm95cyBhbGwgb2YgdGhlIG5vZGVzIGluCiAgICAgICAgIHRo
ZSBjdXJyZW50IHN0YXRlIHRyZWUuCiAgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGlu
YXRvcjo6Y2xlYXJTdGF0ZVRyZWUpOgogCkBAIC02MDk3OCw3ICs2MTAwNiw3IEBACiAgICAgICAg
IChXZWJDb3JlOjpzZXRTY3JvbGxQYXJhbWV0ZXJzKToKICAgICAgICAgKFdlYkNvcmU6OnNldFdo
ZWVsRXZlbnRIYW5kbGVyQ291bnQpOgogCi0gICAgICAgIE5ldyByZW1vdmUgZnVuY3Rpb25zIGFy
ZSB1c2VkIHdoZW4gdGhlIHNhdGUgdHJlZSBpcyBjbGVhcmVkIGFuZCB3aGVuIAorICAgICAgICBO
ZXcgcmVtb3ZlIGZ1bmN0aW9ucyBhcmUgdXNlZCB3aGVuIHRoZSBzYXRlIHRyZWUgaXMgY2xlYXJl
ZCBhbmQgd2hlbgogICAgICAgICBhIFJlbmRlckxheWVyQmFja2luZyBpcyBkZXN0cm95ZWQuCiAg
ICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmNwcDoKICAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlTm9kZTo6cmVtb3ZlQ2hpbGQpOgpAQCAtNjA5OTMsOCAr
NjEwMjEsOCBAQAogICAgICAgICAoV2ViQ29yZTo6dG9TY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05v
ZGUpOgogICAgICAgICAoV2ViQ29yZSk6CiAKLSAgICAgICAgTm8gbG9uZ2VyIGF1dG9tYXRpY2Fs
bHkgY3JlYXRlIGEgcm9vdCBub2RlIHVwb24gY3JlYXRpb24gb2YgdGhlIAotICAgICAgICBTY3Jv
bGxpbmdTdGF0ZVRyZWUuIFdlIG5vdyB3YW50IHRvIHdhaXQgdG8gY3JlYXRlIHRoZSByb290IG5v
ZGUgdW50aWwgCisgICAgICAgIE5vIGxvbmdlciBhdXRvbWF0aWNhbGx5IGNyZWF0ZSBhIHJvb3Qg
bm9kZSB1cG9uIGNyZWF0aW9uIG9mIHRoZQorICAgICAgICBTY3JvbGxpbmdTdGF0ZVRyZWUuIFdl
IG5vdyB3YW50IHRvIHdhaXQgdG8gY3JlYXRlIHRoZSByb290IG5vZGUgdW50aWwKICAgICAgICAg
d2UgaGF2ZSBhIFJlbmRlckxheWVyQmFja2luZyB0byBhc3NvY2lhdGUgaXQgd2l0aC4KICAgICAg
ICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuY3BwOgogICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsaW5nU3RhdGVUcmVlOjpTY3JvbGxpbmdTdGF0ZVRyZWUpOgpAQCAtNjEwMDQs
OSArNjEwMzIsOSBAQAogICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVUcmVlOjpzZXRS
b290U3RhdGVOb2RlKToKICAgICAgICAgKFNjcm9sbGluZ1N0YXRlVHJlZSk6CiAKLSAgICAgICAg
UmVuZGVyTGF5ZXJCYWNraW5nIGhhcyBhIG5ldyBkYXRhIG1lbWJlciBjYWxsZWQgbV9zY3JvbGxM
YXllcklELiBJZiAKLSAgICAgICAgdGhpcyBSZW5kZXJMYXllckJhY2tpbmcgaXMgcmVwcmVzZW50
ZWQgaW4gdGhlIHNjcm9sbGluZyB0cmVlLCB0aGVuIAotICAgICAgICB0aGUgSUQgd2l0aCBiZSB1
bmlxdWUgYW5kIG5vbi16ZXJvLiAKKyAgICAgICAgUmVuZGVyTGF5ZXJCYWNraW5nIGhhcyBhIG5l
dyBkYXRhIG1lbWJlciBjYWxsZWQgbV9zY3JvbGxMYXllcklELiBJZgorICAgICAgICB0aGlzIFJl
bmRlckxheWVyQmFja2luZyBpcyByZXByZXNlbnRlZCBpbiB0aGUgc2Nyb2xsaW5nIHRyZWUsIHRo
ZW4KKyAgICAgICAgdGhlIElEIHdpdGggYmUgdW5pcXVlIGFuZCBub24temVyby4KICAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKICAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyQmFja2luZzo6UmVuZGVyTGF5ZXJCYWNraW5nKToKICAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyQmFja2luZzo6flJlbmRlckxheWVyQmFja2luZyk6CkBAIC02MTAxOCwxMSAr
NjEwNDYsMTEgQEAKICAgICAgICAgKFJlbmRlckxheWVyQmFja2luZyk6CiAgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnNjcm9sbExheWVySUQpOgogCi0gICAgICAgIE1vdmUg
dGhlIGNhbGwgdG8gU2Nyb2xsaW5nQ29vcmlkaW5hdG9yOjpmcmFtZVZpZXdSb290TGF5ZXJEaWRD
aGFuZ2UoKSAKLSAgICAgICAgZnJvbSBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmF0dGFjaFJvb3RM
YXllcigpIHRvIAotICAgICAgICBSZW5kZXJMYXllckNvbXBvc2l0b3I6OiB1cGRhdGVCYWNraW5n
KCkuIFRoZSBwcm9ibGVtIHdpdGggdGhlIG9sZCBjYWxsIAotICAgICAgICBzaXRlIGlzIHRoYXQg
dGhlcmUgaXMgbm8gYmFja2luZyBhdCB0aGF0IHRpbWUsIHNvIHdlIGFyZSB0cnlpbmcgdG8gc2V0
IAotICAgICAgICBzdGF0ZSBvbiB0aGUgcm9vdCBzY3JvbGxpbmcgc3RhdGUgbm9kZSBiZWZvcmUg
d2UgaGF2ZSBlbm91Z2ggCisgICAgICAgIE1vdmUgdGhlIGNhbGwgdG8gU2Nyb2xsaW5nQ29vcmlk
aW5hdG9yOjpmcmFtZVZpZXdSb290TGF5ZXJEaWRDaGFuZ2UoKQorICAgICAgICBmcm9tIFJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6YXR0YWNoUm9vdExheWVyKCkgdG8KKyAgICAgICAgUmVuZGVyTGF5
ZXJDb21wb3NpdG9yOjogdXBkYXRlQmFja2luZygpLiBUaGUgcHJvYmxlbSB3aXRoIHRoZSBvbGQg
Y2FsbAorICAgICAgICBzaXRlIGlzIHRoYXQgdGhlcmUgaXMgbm8gYmFja2luZyBhdCB0aGF0IHRp
bWUsIHNvIHdlIGFyZSB0cnlpbmcgdG8gc2V0CisgICAgICAgIHN0YXRlIG9uIHRoZSByb290IHNj
cm9sbGluZyBzdGF0ZSBub2RlIGJlZm9yZSB3ZSBoYXZlIGVub3VnaAogICAgICAgICBpbmZvcm1h
dGlvbiB0byBjcmVhdGUgdGhhdCBub2RlIGFuZCBhZGQgaXQgdG8gdGhlIEhhc2hNYXAuCiAgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CiAgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUJhY2tpbmcpOgpAQCAtNjEwNDEsNyAr
NjEwNjksNyBAQAogICAgICAgICBUaGV5IGRvIGJhc2ljYWxseSB0aGUgc2FtZSB0aGluZywgYW5k
IHRoZSBmb3JtZXIgaXMgbXVjaCBtb3JlIGNvbW1vbiAoYW5kIGxlc3MgY29kZSkuIEl0J3MKICAg
ICAgICAgYWxzbyBzYWZlLCBvbiB0aGUgb2ZmLWNoYW5jZSB0aGF0IHdlJ3JlIHVzaW5nIEF0b21p
Y1N0cmluZ3Mgd2hpY2ggbWlnaHQgb3RoZXJ3aXNlIGdvIGF3YXkuCiAKLSAgICAgICAgTm8gbmV3
IHRlc3RzLCByZWZhY3RvcmluZy4gCisgICAgICAgIE5vIG5ldyB0ZXN0cywgcmVmYWN0b3Jpbmcu
CiAKICAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlcy5jcHA6CiAgICAgICAgIChX
ZWJDb3JlOjpjbGlwcGVyRmlsdGVyTWFza2VyVGFncyk6CkBAIC02MTM1NSw3ICs2MTM4Myw3IEBA
CiAgICAgICAgICogUmVzb3VyY2VzL3BhZ2Vwb3B1cHMvc3VnZ2VzdGlvblBpY2tlci5jc3M6CiAg
ICAgICAgICguc3VnZ2VzdGlvbi1saXN0KTogRG9uJ3Qgc2hvdyBob3Jpem9udGFsIHNjcm9sbCBi
YXIuCiAgICAgICAgICogUmVzb3VyY2VzL3BhZ2Vwb3B1cHMvc3VnZ2VzdGlvblBpY2tlci5qczoK
LSAgICAgICAgKFN1Z2dlc3Rpb25QaWNrZXIucHJvdG90eXBlLl9maXhXaW5kb3dTaXplKTogCisg
ICAgICAgIChTdWdnZXN0aW9uUGlja2VyLnByb3RvdHlwZS5fZml4V2luZG93U2l6ZSk6CiAgICAg
ICAgICogcGFnZS9QYWdlUG9wdXBDbGllbnQuY3BwOgogICAgICAgICAoV2ViQ29yZTo6UGFnZVBv
cHVwQ2xpZW50OjphZGRQcm9wZXJ0eSk6IEZvciBhZGRpbmcgYW4gaW50IHRvIEpTT04uCiAgICAg
ICAgIChXZWJDb3JlOjpQYWdlUG9wdXBDbGllbnQ6OmFkZFByb3BlcnR5KTogRm9yIGFkZGluZyBh
biBJbnRSZWN0IHRvIEpTT04uCkBAIC02MjI3MSw3ICs2MjI5OSw3IEBACiAgICAgICAgIEluIGEg
bGluZSBzdWNoIGFzICc8c3Bhbj48c3Bhbj48aW1nPlRleHQnIHRoZSBib3JkZXIsIHBhZGRpbmcg
YW5kIG1hcmdpbiBiZWxvbmdpbmcKICAgICAgICAgdG8gdGhlIHR3byBzcGFucyB3YXMgY291bnRl
ZCB0d2ljZSBieSBSZW5kZXJCbG9ja0xpbmVMYXlvdXQ6Om5leHRMaW5lQnJlYWsoKTogb25jZQog
ICAgICAgICB3aGVuIGFkZGluZyB0aGUgd2lkdGggb2YgdGhlIDxpbWc+IG9iamVjdCB0byB0aGUg
bGluZSwgYW5kIGEgc2Vjb25kIHRpbWUgd2hlbiBhZGRpbmcKLSAgICAgICAgdGhlICdUZXh0Jy4g
VGhlIHJlc3VsdCB3YXMgdGhhdCBuZXh0TGluZUJyZWFrKCkgbm93IGhhZCBhIGxlbmd0aCBmb3Ig
dGhlIGxpbmUgdGhhdCAKKyAgICAgICAgdGhlICdUZXh0Jy4gVGhlIHJlc3VsdCB3YXMgdGhhdCBu
ZXh0TGluZUJyZWFrKCkgbm93IGhhZCBhIGxlbmd0aCBmb3IgdGhlIGxpbmUgdGhhdAogICAgICAg
ICBleGNlZWRlZCB0aGUgbGluZSdzIG1heGltdW0gbGVuZ3RoIGFuZCBpbnNlcnRlZCBhIGJvZ3Vz
IGxpbmUgYnJlYWsuCiAKICAgICAgICAgVGhpcyBhbGwgaGFwcGVuZWQgYmVjYXVzZSB0aGUgaGVs
cGVyIGZ1bmN0aW9uIHRoYXQgaXMgdXNlZCB0byBhZGQgaW4gdGhlIGJvcmRlciBldGMuCkBAIC02
MjI4MSwxMyArNjIzMDksMTMgQEAKICAgICAgICAgVGVzdDogZmFzdC9pbmxpbmUvYnBtLWlubGlu
ZS1hbmNlc3RvcnMuaHRtbAogCiAgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxh
eW91dC5jcHA6Ci0gICAgICAgIChXZWJDb3JlOjpzaG91bGRBZGRCb3JkZXJQYWRkaW5nTWFyZ2lu
KTogQnJva2UgdGhpcyBjaGVjayBvdXQgaW50byBhIGhlbHBlciBmdW5jdGlvbiBzbyB0aGF0IGl0
IAorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkQWRkQm9yZGVyUGFkZGluZ01hcmdpbik6IEJyb2tl
IHRoaXMgY2hlY2sgb3V0IGludG8gYSBoZWxwZXIgZnVuY3Rpb24gc28gdGhhdCBpdAogICAgICAg
ICBjYW4gaGVscCBpbmxpbmVMb2dpY2FsV2lkdGgoKSByZXR1cm4gZWFybHkgYW5kIGFsc28gdHJl
YXQgZW1wdHkgUmVuZGVyVGV4dHMgdGhlIHNhbWUgYXMgbm8gcHJldmlvdXMvbmV4dAogICAgICAg
ICBzaWJsaW5nIG9uIHRoZSBsaW5lLiBUaGlzIGVuc3VyZXMgdGhhdCBjb2xsYXBzZWQgbGVhZGlu
ZyBzcGFjZSBkb2VzIG5vdCBpbnRlcmZlcmUgd2l0aCB0aGUgZGVjaXNpb24gdG8KICAgICAgICAg
Y3Jhd2wgdXAgdGhlIGFuY2VzdG9ycyBhY2N1bXVsYXRpbmcgYm9yZGVyLCBwYWRkaW5nLCBhbmQg
bWFyZ2luLgogICAgICAgICAoV2ViQ29yZSk6Ci0gICAgICAgIChXZWJDb3JlOjppbmxpbmVMb2dp
Y2FsV2lkdGgpOiBSZXR1cm4gZWFybHkgb25jZSB0aGUgY3VycmVudCBjaGlsZCBpcyBubyBsb25n
ZXIgb24gdGhlIGVkZ2Ugb2YgaXRzIGxpbmUgLSAKLSAgICAgICAgdGhpcyBlbnN1cmVzIHRoZSBi
b3JkZXIsIHBhZGRpbmcgYW5kIG1hcmdpbiBvZiBhbmNlc3RvcnMgaXMgbm90IGNvdW50ZWQgdHdp
Y2UuIAorICAgICAgICAoV2ViQ29yZTo6aW5saW5lTG9naWNhbFdpZHRoKTogUmV0dXJuIGVhcmx5
IG9uY2UgdGhlIGN1cnJlbnQgY2hpbGQgaXMgbm8gbG9uZ2VyIG9uIHRoZSBlZGdlIG9mIGl0cyBs
aW5lIC0KKyAgICAgICAgdGhpcyBlbnN1cmVzIHRoZSBib3JkZXIsIHBhZGRpbmcgYW5kIG1hcmdp
biBvZiBhbmNlc3RvcnMgaXMgbm90IGNvdW50ZWQgdHdpY2UuCiAKIDIwMTItMTAtMDggIE1pa2Ug
V2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KIApAQCAtNjI0NTgsNyArNjI0ODYsNyBAQAogICAg
ICAgICB1c2UgZWNvcmVfbWFpbl9sb29wX3RocmVhZF9zYWZlX2NhbGxfYXN5bmMoKSB0byB3YWtl
dXAgZWNvcmUgbWFpbiBsb29wLgogCiAgICAgICAgIEFjY29yZGluZyB0byB0aGUgRUZMIEFQSSBk
b2N1bWVudCwgdGhpcyBmdW5jdGlvbiBpcyBkZXNpZ25lZCB0byBkaXNwYXRjaAotICAgICAgICBh
IGZ1bmN0aW9uIG9uIGVjb3JlIG1haW4gbG9vcCBieSBhdm9pZGluZyBkZWFkIGxvY2sgb3IgcmFj
ZSBjb25kaXRpb24uIAorICAgICAgICBhIGZ1bmN0aW9uIG9uIGVjb3JlIG1haW4gbG9vcCBieSBh
dm9pZGluZyBkZWFkIGxvY2sgb3IgcmFjZSBjb25kaXRpb24uCiAgICAgICAgIFdpdGggdGhpcyBm
dW5jdGlvbiwgd2Via2l0IGRvZXNuJ3QgbmVlZCB0byBtYWludGFpbiBlY29yZSBwaXBlIGFsc28u
CiAKICAgICAgICAgTm8gbmV3IHRlc3RzLiBUaGUgZnVuY3Rpb24gdG8gd2FrZXVwIG1haW4gbG9v
cCBpcyBjaGFuZ2VkLgpAQCAtNjM0ODcsNyArNjM1MTUsNyBAQAogCiAgICAgICAgIENoYW5nZSB0
ZXh0LWFsaWduIHVzZSBvZiBsZWdhY3kgJy13ZWJraXQtYXV0bycgdG8gJ3N0YXJ0JyBpbiB0aGUg
ZmV3IHBsYWNlcyB3aGVyZSBpdCBpcyB1c2VkCiAgICAgICAgIGluIGRlZmF1bHQvcXVpcmtzIHN0
eWxlc2hlZXRzLgotICAgICAgICAKKwogICAgICAgICBObyBuZXcgdGVzdHMuIE5vIGNoYW5nZSBv
ZiByZW5kZXJpbmcvc3R5bGluZyBiZWhhdmlvci4gTm8gcGVyZm9ybWFuY2UgaW1wYWN0LgogCiAg
ICAgICAgICogY3NzL2h0bWwuY3NzOgpAQCAtNjM2NzIsNyArNjM3MDAsNyBAQAogCiAgICAgICAg
ICogYmluZGluZ3MvanMvSlNOb2RlQ3VzdG9tLmNwcDoKICAgICAgICAgKFdlYkNvcmU6OmlzT2Jz
ZXJ2YWJsZSk6IENsYXJpZmllZCB0aGlzIGNvbW1lbnQsIHNpbmNlIGl0IHNlZW1zIHRvIGhhdmUK
LSAgICAgICAgbWlzbGVkIHNvbWUgZm9sa3MuIAorICAgICAgICBtaXNsZWQgc29tZSBmb2xrcy4K
IAogICAgICAgICAqIGJpbmRpbmdzL2pzL0pTTm9kZUN1c3RvbS5oOgogICAgICAgICAoV2ViQ29y
ZTo6d2lsbENyZWF0ZVBvc3NpYmx5T3JwaGFuZWRUcmVlQnlSZW1vdmFsKTogTmV3IGhlbHBlciBm
dW5jdGlvbgpAQCAtNjM5MjgsNyArNjM5NTYsNyBAQAogICAgICAgICAoV2ViQ29yZTo6SFRNTE1l
ZGlhRWxlbWVudDo6c2V0Q2xvc2VkQ2FwdGlvbnNWaXNpYmxlKTogTW92ZSB0aGUgY29kZSB0aGF0
IG1hcmtzIGFsbCB0cmFja3MgYXMKICAgICAgICAgICAgIHVuLWNvbmZpZ3VyZWQgdG8gbWFya0Nh
cHRpb25BbmRTdWJ0aXRsZVRyYWNrc0FzVW5jb25maWd1cmVkIHNvIGl0IGNhbiBiZSByZXVzZWQu
CiAgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpjYXB0aW9uUHJlZmVyZW5jZXND
aGFuZ2VkKTogTmV3LCBmb3JjZSBhIHJlZXZhbHVhdGlvbiBvZiBhbGwgdGV4dCB0cmFja3MuCi0g
ICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptYXJrQ2FwdGlvbkFuZFN1YnRpdGxl
VHJhY2tzQXNVbmNvbmZpZ3VyZWQpOiBOZXcsIGNvZGUgbW92ZWQgZnJvbSAKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6Om1hcmtDYXB0aW9uQW5kU3VidGl0bGVUcmFja3NBc1Vu
Y29uZmlndXJlZCk6IE5ldywgY29kZSBtb3ZlZCBmcm9tCiAgICAgICAgICAgICBzZXRDbG9zZWRD
YXB0aW9uc1Zpc2libGUKICAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDogSW5oZXJp
dCBmcm9tIENhcHRpb25QcmVmZXJlbmNlc0NoYW5nZWRMaXN0ZW5lci4KIApAQCAtNjM5NTAsMTAg
KzYzOTc4LDEwIEBACiAKICAgICAgICAgKiBodG1sL3RyYWNrL1RleHRUcmFja0N1ZS5jcHA6CiAg
ICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tDdWVCb3g6OlRleHRUcmFja0N1ZUJveCk6IFNldCB0
aGUgc2hhZG93IHBzZXVkbyBpZC4KLSAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja0N1ZUJveDo6
dGV4dFRyYWNrQ3VlQm94U2hhZG93UHNldWRvSWQpOiBOZXcsIGNsYXNzIG1ldGhvZCB0byByZXR1
cm4gdGhlIAorICAgICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrQ3VlQm94Ojp0ZXh0VHJhY2tDdWVC
b3hTaGFkb3dQc2V1ZG9JZCk6IE5ldywgY2xhc3MgbWV0aG9kIHRvIHJldHVybiB0aGUKICAgICAg
ICAgICAgIHNoYWRvdyBwc2V1ZG8gaWQgc28gaXQgY2FuIGJlIHVzZWQgZWxzZXdoZXJlLgogICAg
ICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrQ3VlQm94OjpzaGFkb3dQc2V1ZG9JZCk6IENhbGwgdGV4
dFRyYWNrQ3VlQm94U2hhZG93UHNldWRvSWQuCi0gICAgICAgIChXZWJDb3JlOjpUZXh0VHJhY2tD
dWU6OnBhc3ROb2Rlc1NoYWRvd1BzZXVkb0lkKTogTmV3LCBjbGFzcyBtZXRob2QgdG8gcmV0dXJu
IHRoZSAKKyAgICAgICAgKFdlYkNvcmU6OlRleHRUcmFja0N1ZTo6cGFzdE5vZGVzU2hhZG93UHNl
dWRvSWQpOiBOZXcsIGNsYXNzIG1ldGhvZCB0byByZXR1cm4gdGhlCiAgICAgICAgICAgICBzaGFk
b3cgcHNldWRvIGlkIHNvIGl0IGNhbiBiZSB1c2VkIGVsc2V3aGVyZS4KICAgICAgICAgKFdlYkNv
cmU6OlRleHRUcmFja0N1ZTo6ZnV0dXJlTm9kZXNTaGFkb3dQc2V1ZG9JZCk6IERpdHRvLgogICAg
ICAgICAoV2ViQ29yZTo6VGV4dFRyYWNrQ3VlOjp1cGRhdGVEaXNwbGF5VHJlZSk6CkBAIC02Mzk4
MCwxNSArNjQwMDgsMTUgQEAKICAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjp1c2Vy
SGFzQ2FwdGlvblByZWZlcmVuY2VzKTogTmV3LCBwYXNzdGhyb3VnaCB0byBXS1NJIGZ1bmN0aW9u
LgogICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OnVzZXJQcmVmZXJzQ2FwdGlvbnMp
OiBEaXR0by4KICAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpjYXB0aW9uc1dpbmRv
d0NvbG9yKTogUmV0dXJuIENvbG9yIHdpdGggdXNlcidzIGNhcHRpb24gd2luZG93IGNvbG9yIHBy
ZWZlcmVuY2UuCi0gICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6Y2FwdGlvbnNCYWNr
Z3JvdW5kQ29sb3IpOiBSZXR1cm4gQ29sb3Igd2l0aCB1c2VyJ3MgY2FwdGlvbiAKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpjYXB0aW9uc0JhY2tncm91bmRDb2xvcik6IFJldHVy
biBDb2xvciB3aXRoIHVzZXIncyBjYXB0aW9uCiAgICAgICAgICAgICBiYWNrZ3JvdW5kIGNvbG9y
IHByZWZlcmVuY2UuCiAgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6Y2FwdGlvbnNU
ZXh0Q29sb3IpOiBSZXR1cm4gQ29sb3Igd2l0aCB1c2VyJ3MgY2FwdGlvbiB0ZXh0IGNvbG9yIHBy
ZWZlcmVuY2UuCiAgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6Y2FwdGlvbnNFZGdl
Q29sb3JGb3JUZXh0Q29sb3IpOiBSZXR1cm4gQ29sb3IgZm9yIHRleHQgZWRnZSBlZmZlY3QuCiAg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6Y3NzUHJvcGVydHlXaXRoVGV4dEVkZ2VD
b2xvcik6IFJldHVybiBTdHJpbmcgd2l0aCBDU1MgdG8gc2V0IGEgdGV4dC1zaGFkb3cKICAgICAg
ICAgICAgIG9yIHdlYmtpdC10ZXh0LXN0cm9rZSBwcm9wZXJ0eS4KLSAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lTWFjOjpjc3NDb2xvclByb3BlcnR5KTogUmV0dXJuIGEgU3RyaW5nIHdpdGgg
Y3NzIHRvIHNldCBhIHByb3BlcnR5IAorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6
OmNzc0NvbG9yUHJvcGVydHkpOiBSZXR1cm4gYSBTdHJpbmcgd2l0aCBjc3MgdG8gc2V0IGEgcHJv
cGVydHkKICAgICAgICAgICAgIHdpdGggYSBjb2xvciB2YWx1ZS4KLSAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lTWFjOjpjYXB0aW9uc1RleHRFZGdlU3R5bGUpOiBSZXR1cm4gYSBTdHJpbmcg
d2l0aCBjc3MgdG8gc3R5bGUgY2FwdGlvbiAKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1l
TWFjOjpjYXB0aW9uc1RleHRFZGdlU3R5bGUpOiBSZXR1cm4gYSBTdHJpbmcgd2l0aCBjc3MgdG8g
c3R5bGUgY2FwdGlvbgogICAgICAgICAgICAgdGV4dCB3aXRoIHRoZSB1c2VyJ3MgcHJlZmVycmVk
IHRleHQgZWRnZSBzdHllLgogICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OmNhcHRp
b25zRGVmYXVsdEZvbnQpOiBSZXR1cm4gYSBTdHJpbmcgd2l0aCBjc3MgdG8gc3R5bGUgY2FwdGlv
bgogICAgICAgICAgICAgdGV4dCB3aXRoIHRoZSB1c2VyJ3MgcHJlZmVycmVkIGZvbnQuCkBAIC02
Mzk5Niw3ICs2NDAyNCw3IEBACiAgICAgICAgICAgICB3aXRoIHRoZSB1c2VyJ3MgcHJlZmVycmVk
IHN0eWxlLgogICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OmNhcHRpb25Gb250U2l6
ZVNjYWxlKTogUmV0dXJuIHRoZSB1c2VyJ3MgcHJlZmVycmVkIGNhcHRpb24gZm9udCBzY2FsZS4K
ICAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpjYXB0aW9uUHJlZmVyZW5jZXNDaGFu
Z2VkKTogTm90aWZ5IGxpc3RlbmVycyBvZiBjYXB0aW9uIHByZWZlcmVuY2UgY2hhbmdlLgotICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OnJlZ2lzdGVyRm9yQ2FwdGlvblByZWZlcmVu
Y2VzQ2hhbmdlZENhbGxiYWNrcyk6IEFkZCBhIGNhcHRpb24gcHJlZmVyZW5jZXMgCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6cmVnaXN0ZXJGb3JDYXB0aW9uUHJlZmVyZW5jZXND
aGFuZ2VkQ2FsbGJhY2tzKTogQWRkIGEgY2FwdGlvbiBwcmVmZXJlbmNlcwogICAgICAgICAgICAg
Y2hhbmdlcyBsaXN0ZW5lci4KICAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjp1bnJl
Z2lzdGVyRm9yQ2FwdGlvblByZWZlcmVuY2VzQ2hhbmdlZENhbGxiYWNrcyk6IFJlbW92ZSBhIGNh
cHRpb24gcHJlZmVyZW5jZXMKICAgICAgICAgICAgIGNoYW5nZXMgbGlzdGVuZXIuCkBAIC02NDA1
MCwxMiArNjQwNzgsMTIgQEAKICAgICAgICAgSG93ZXZlciwgd2Ugd2lsbCBuZWVkIG5vbi1vcGFx
dWUgdGlsZSBjYWNoZXMgd2hlbiB3ZSB1c2UgdGhpcwogICAgICAgICB0aWxlIGNhY2hlIGZvciB0
aWxlZCBsYXllcnMsIHNvIGFkZCBhIG1lbWJlciBmdW5jdGlvbiB0bwogICAgICAgICBjb250cm9s
IHRpbGUgb3BhY2l0eS4KLSAgICAgICAgCisKICAgICAgICAgUmVuZGVyTGF5ZXJCYWNraW5nIGFs
cmVhZHkgY2FsbHMgbV9ncmFwaGljc0xheWVyLT5zZXRDb250ZW50c09wYXF1ZSgpCiAgICAgICAg
IHVzaW5nIHRoZSBGcmFtZVZpZXcncyBub3Rpb24gb2Ygb3BhcXVlbmVzcywgc28gdGhpcyBjaGFu
Z2Ugd2lsbAogICAgICAgICBjYXVzZSB0aGUgbWFpbiB0aWxlIGNhY2hlIHRvIGJlIG5vbi1vcGFx
dWUgaWYgZXh0ZXJuYWwgZm9yY2VzIGhhdmUKICAgICAgICAgc2V0IHRoZSBGcmFtZVZpZXcgdG8g
YmUgbm9uLW9wYXF1ZS4KLSAgICAgICAgCisKICAgICAgICAgQWxzbyB0d2VhayB0aGUgbGF5ZXIg
Ym9yZGVyIHdpZHRocyBvbiB0aWxlZCBsYXllcnMuCiAKICAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jYS9tYWMvVGlsZUNhY2hlLmg6CkBAIC02NDE1MCwxNCArNjQxNzgsMTQgQEAKIAogICAg
ICAgICBBbGxvdyBFdmVudEhhbmRsZXIgdG8gaGFuZGxlIGxvbmdwcmVzcyBnZXN0dXJlcywgaW5j
bHVkaW5nIGxvbmdwcmVzcyBzZWxlY3Rpb24gb24gQW5kcm9pZC4KICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MTczCi0gICAgICAgIAorCiAgICAgICAg
IFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KIAogICAgICAgICBBZGRzIGhhbmRsaW5nIGZvciBH
ZXN0dXJlTG9uZ1ByZXNzIHRvIEV2ZW50SGFuZGxlcjo6aGFuZGxlR2VzdHVyZUV2ZW50LCB3aXRo
IGEgbmV3CiAgICAgICAgIGhhbmRsZUdlc3R1cmVMb25nUHJlc3MgbWV0aG9kLiBPbiBBbmRyb2lk
LCB0aGlzIG1ldGhvZCBzZWxlY3RzIHRoZSBjbG9zZXN0IHdvcmQKICAgICAgICAgaWYgdGhlIGdl
c3R1cmUgZXZlbnQgd2FzIG92ZXIgbm9uLWxpbmsgdGV4dC4KIAotICAgICAgICBUaGlzIGlzIHRl
c3RlZCB2aWEgYSBuZXcgY2hyb21pdW0gdGVzdCBXZWJWaWV3VGVzdC5Mb25nUHJlc3NTZWxlY3Rp
b24uICAKKyAgICAgICAgVGhpcyBpcyB0ZXN0ZWQgdmlhIGEgbmV3IGNocm9taXVtIHRlc3QgV2Vi
Vmlld1Rlc3QuTG9uZ1ByZXNzU2VsZWN0aW9uLgogCiAgICAgICAgICogcGFnZS9FdmVudEhhbmRs
ZXIuY3BwOgogICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpzZWxlY3RDbG9zZXN0V29y
ZEZyb21IaXRUZXN0UmVzdWx0KToKQEAgLTY0NDA3LDcgKzY0NDM1LDcgQEAKICAgICAgICAgUmV2
aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KIAogICAgICAgICBFbmZvcmNlcyBhIG1pbmltdW0gcm93IGhl
aWdodCBmb3IgcG9wdXAgbWVudXMgd2hlbiBhIHRvdWNoIGRldmljZSBpcwotICAgICAgICBkZXRl
Y3RlZC4gIEluIGEgcHJldmlvdXMgcGF0Y2ggKHIxMjc1OTcpLCB0aGUgc2l6aW5nIG9mIHBvcHVw
IHdhcyAKKyAgICAgICAgZGV0ZWN0ZWQuICBJbiBhIHByZXZpb3VzIHBhdGNoIChyMTI3NTk3KSwg
dGhlIHNpemluZyBvZiBwb3B1cCB3YXMKICAgICAgICAgY29uc29saWRhdGVkIGZvciB0b3VjaCBh
bmQgbm9uLXRvdWNoLiAgQmFzZWQgb24gdXNlciBmZWVkYmFjaywgcmV2ZXJ0aW5nCiAgICAgICAg
IHRvIHRoZSBvbGQgYmVoYXZpb3IgZm9yIG5vbi10b3VjaCBhbmQgb25seSBhZGRpbmcgcGFkZGlu
ZyBmb3IgdG91Y2gKICAgICAgICAgZGV2aWNlcyBzZWVtcyBsaWtlIGEgbXVjaCBzYWZlciBzdHJh
dGVneS4gIFRoaXMgcGF0Y2ggaXMgbm90IGEgZGlyZWN0CkBAIC02NTAzOSw3ICs2NTA2Nyw3IEBA
CiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgogCiAgICAgICAgIFRoaXMgcGF0Y2gg
YWRkcyBwZXItY29tcG9uZW50IG92ZXJmbG93IGd1YXJkcyBmb3IgQ1NTIHNlbGVjdG9yIHNwZWNp
ZmljaXR5LgotICAgICAgICBQcmV2aW91c2x5LCB3ZSBkaWRuJ3QgZ3VhcmQgYWdhaW5zdCBvdmVy
Zmxvdy4gCisgICAgICAgIFByZXZpb3VzbHksIHdlIGRpZG4ndCBndWFyZCBhZ2FpbnN0IG92ZXJm
bG93LgogICAgICAgICBTaW5jZSB3ZSBzdG9yZWQgZWFjaCBjb21wb25lbnQgYXMgYSBieXRlIG1h
cHBlZCBpbnRvIGEgc2luZ2xlIHVuc2lnbmVkIGludCBmb3IgdGhlIHdob2xlIHNwZWNpZmljaXR5
LAogICAgICAgICAyNTYgb2YgYSBwYXJ0aWN1bGFyIHNpbXBsZSBzZWxlY3RvciB3YXMgZXF1aXZh
bGVudCB0byAxIG9mIHRoZSBuZXh0LWhpZ2hlci1ncm91cCBzZWxlY3Rvci4KICAgICAgICAgVGhp
cyB2aW9sYXRlZCB0aGUgU2VsZWN0b3JzIHNwZWNpZmljYXRpb24sCkBAIC02NTI0NCw3ICs2NTI3
Miw3IEBACiAgICAgICAgIFRoZXJlIGlzIGEgY29uY2VwdCBvZiBkZW1vdGlvbiBmb3IgYSA8Zm9y
bT4gY29udGFpbmVkIGluIGEgdGFibGUuIEEgPGZvcm0+IGlzIGRlbW90ZWQgaWYgaXRzIGltbWVk
aWF0ZSBwYXJlbnQKICAgICAgICAgaXMgZWl0aGVyIGEgPHRhYmxlPiwgdGFibGUgc2VjdGlvbnMg
KHRib2R5LCBldGMpIG9yIGEgdGFibGUgcm93ICh0cikuIEEgcmVuZGVyZXIgZm9yIHN1Y2ggYSA8
Zm9ybT4gaXMgY3JlYXRlZCBvbmx5CiAgICAgICAgIGlmIGl0cyBkaXNwbGF5IGlzIG9uZSBvZiB0
aGUgdGFibGUgZGlzcGxheSB0eXBlcyAoVEFCTEUsIElOTElORV9UQUJMRSwgVEFCTEVfRk9PVEVS
X0dST1VQLCBldGMpLgotICAgICAgICBIb3dldmVyIHdoZW4gYSA8dGFibGU+IGNvbnRhaW5pbmcg
YSBkZW1vdGVkIDxmb3JtPiBpcyBjbG9uZWQsIHRoZSA8Zm9ybT4gZG9lcyBub3QgcmV0YWluIGl0
cyBkZW1vdGlvbiBzdGF0ZSBhbmQgCisgICAgICAgIEhvd2V2ZXIgd2hlbiBhIDx0YWJsZT4gY29u
dGFpbmluZyBhIGRlbW90ZWQgPGZvcm0+IGlzIGNsb25lZCwgdGhlIDxmb3JtPiBkb2VzIG5vdCBy
ZXRhaW4gaXRzIGRlbW90aW9uIHN0YXRlIGFuZAogICAgICAgICByZXN1bHRzIGluIHRoZSB0YWJs
ZSBnZXR0aW5nIGltcHJvcGVybHkgcmVuZGVyZWQuCiAKICAgICAgICAgVGVzdDogZmFzdC90YWJs
ZS9mb3JtLXdpdGgtbm9uLXRhYmxlLWRpc3BsYXktaW5zaWRlLXRhYmxlLWVsZW1lbnRzLmh0bWwK
QEAgLTY1MjU0LDcgKzY1MjgyLDcgQEAKICAgICAgICAgICBFeHRlbmRlZCB0aGUgdmlydHVhbCBm
dW5jdGlvbiBmb3IgSFRNTEZvcm1FbGVtZW50IGNsYXNzIHNwZWNpZmljIGltcGxlbWVudGF0aW9u
LgogICAgICAgICAgIFRoZSBmdW5jdGlvbiBpcyB1c2VkIHRvIGNvcHkgYW55IG5lY2Vzc2FyeSBz
dGF0ZSBpbmZvcm1hdGlvbihtZW1iZXIgdmFyaWFibGVzKSBhc3NvY2lhdGVkIHdpdGgKICAgICAg
ICAgICB0aGUgPGZvcm0+IGVsZW1lbnQgYmVpbmcgY2xvbmVkIHRvIHRoZSBjdXJyZW50IG5vZGUu
Ci0gICAgICAgICAgRm9yIEhUTUxGb3JtRWxlbWVudCBub2RlIHRoZSBtZW1iZXIgdmFyaWFibGUg
Y2FuIGJlIGNsYXNzaWZpZWQgaW50byBmaXZlIGdyb3VwcyBiYXNlZCBvbiB0aGUgCisgICAgICAg
ICAgRm9yIEhUTUxGb3JtRWxlbWVudCBub2RlIHRoZSBtZW1iZXIgdmFyaWFibGUgY2FuIGJlIGNs
YXNzaWZpZWQgaW50byBmaXZlIGdyb3VwcyBiYXNlZCBvbiB0aGUKICAgICAgICAgICBpbmZvcm1h
dGlvbiB0aGV5IGhvbGQ6CiAgICAgICAgICAgICAxKSBWYXJpYWJsZXMgY29udGFpbmluZyBpbmZv
cm1hdGlvbiByZWdhcmRpbmcgPGZvcm0+IHN1YnRyZWUgYW5kIGVsZW1lbnRzIGFzc29jaWF0ZWQg
d2l0aCBpdC4KICAgICAgICAgICAgICAgIFRoZXNlIGdldCB1cGRhdGVkIGFzIGFuZCB3aGVuIGFu
IGVsZW1lbnQgaXMgYWRkZWQgdG8gdGhlIDxmb3JtPiBzdWJ0cmVlLgpAQCAtNjU0MjMsNyArNjU0
NTEsNyBAQAogICAgICAgICAoV2ViQ29yZTo6UmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQ6OmRvQXBw
bHkpOiBVcGRhdGUgdmlzaWJsZVN0YXJ0IGFmdGVyIGluc2VydGluZyBhIHBhcmFncmFwaCBzZXBh
cmF0b3Igc28gdGhhdAogICAgICAgICB0aGUgbG9naWMgdG8gY2xlYW51cCB0aGUgbmVzdGVkIGRp
diBjaGVja3MgdGhlIHJpZ2h0IGNvbmRpdGlvbiAocmlnaHQgYmVuZWF0aCBpdCBzdGFydGluZyB3
aXRoIGEgbG9uZyBjb21tZW50KS4KICAgICAgICAgKFdlYkNvcmU6OlJlcGxhY2VTZWxlY3Rpb25D
b21tYW5kOjphZGRTcGFjZXNGb3JTbWFydFJlcGxhY2UpOiBJbnNlcnQgYSBzcGFjZSBmb3Igc21h
cnQgcGFzdGUgYXQgdGhlIGFwcHJvcHJpYXRlCi0gICAgICAgIG9mZnNldCBpbnN0ZWFkIG9mIGF0
IHRoZSBlbmQgb2YgZW5kTm9kZS4gQWxzbyB1cGRhdGUgdGhlIGxheW91dCBiZWZvcmUgb2J0YWlu
aW5nIHN0YXJ0RG93bnN0cmVhbSBhcyB3ZSBtYXkgaGF2ZSAKKyAgICAgICAgb2Zmc2V0IGluc3Rl
YWQgb2YgYXQgdGhlIGVuZCBvZiBlbmROb2RlLiBBbHNvIHVwZGF0ZSB0aGUgbGF5b3V0IGJlZm9y
ZSBvYnRhaW5pbmcgc3RhcnREb3duc3RyZWFtIGFzIHdlIG1heSBoYXZlCiAgICAgICAgIG1vZGlm
aWVkIHRoZSBET00gYnkgaW5zZXJ0aW5nIGEgc3BhY2UgZm9yIGVuZE5vZGUuIEZpbmFsbHksIGEg
bm9uLWJyZWFraW5nIHNwYWNlIHNob3VsZCBiZSB0cmVhdGVkIGxpa2UgYSBzcGFjZQogICAgICAg
ICBpc0NoYXJhY3RlclNtYXJ0UmVwbGFjZUV4ZW1wdCBmb3IgdGhlIHB1cnBvc2Ugb2Ygc21hcnQg
cmVwbGFjZS4gZS5nLiBpZiB3ZSdyZSBpbnNlcnRpbmcgIndvcmxkIiBhZnRlcgogICAgICAgICAi
aGVsbG8mbmJzcDsiLCB3ZSBzaG91bGRuJ3QgYmUgaW5zZXJ0aW5nIGFub3RoZXIgc3BhY2UgYmV0
d2VlbiAiaGVsbG8iIGFuZCAid29ybGQiLgpAQCAtNjYxMDUsMTcgKzY2MTMzLDE3IEBACiAyMDEy
LTEwLTAzICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTgzMTMKLSAgICAgICAgU2Nyb2xsaW5n
U3RhdGVOb2RlIHNob3VsZCBrZWVwIGEgVmVjdG9yIG9mIGNoaWxkcmVuIGluc3RlYWQgb2YgY2hp
bGQgCisgICAgICAgIFNjcm9sbGluZ1N0YXRlTm9kZSBzaG91bGQga2VlcCBhIFZlY3RvciBvZiBj
aGlsZHJlbiBpbnN0ZWFkIG9mIGNoaWxkCiAgICAgICAgIHBvaW50ZXJzCiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgogCi0gICAgICAgIFRoaXMgcGF0Y2ggcmUtbmFtZXMgU2Ny
b2xsaW5nU3RhdGVOb2RlOjpjbG9uZU5vZGUoKSB0byAKLSAgICAgICAgU2Nyb2xsaW5nU3RhdGVO
b2RlOjpjbG9uZUFuZFJlc2V0Tm9kZSgpLiBUaGUgbmV3IGZ1bmN0aW9uIHJlc2V0cyB0aGUgCi0g
ICAgICAgIGNoYW5nZSBwcm9wZXJ0aWVzIG9mIHRoZSBjdXJyZW50IG5vZGUgYWZ0ZXIgY2xvbmlu
ZyBpdCwgYW5kIGl0IGFsc28gCisgICAgICAgIFRoaXMgcGF0Y2ggcmUtbmFtZXMgU2Nyb2xsaW5n
U3RhdGVOb2RlOjpjbG9uZU5vZGUoKSB0bworICAgICAgICBTY3JvbGxpbmdTdGF0ZU5vZGU6OmNs
b25lQW5kUmVzZXROb2RlKCkuIFRoZSBuZXcgZnVuY3Rpb24gcmVzZXRzIHRoZQorICAgICAgICBj
aGFuZ2UgcHJvcGVydGllcyBvZiB0aGUgY3VycmVudCBub2RlIGFmdGVyIGNsb25pbmcgaXQsIGFu
ZCBpdCBhbHNvCiAgICAgICAgIHRha2VzIGNhcmUgb2YgY2xvbmluZyBjaGlsZHJlbiwgd2hpY2gg
dGhlIG9sZCBmdW5jdGlvbiBkaWQgbm90IGRvLgogCi0gICAgICAgIG1fZmlyc3RDaGlsZCBhbmQg
bV9uZXh0U2libGluZyBhcmUgZ29uZS4gVXNlIHRoZSBtX2NoaWxkcmVuIFZlY3RvciAKKyAgICAg
ICAgbV9maXJzdENoaWxkIGFuZCBtX25leHRTaWJsaW5nIGFyZSBnb25lLiBVc2UgdGhlIG1fY2hp
bGRyZW4gVmVjdG9yCiAgICAgICAgIGluc3RlYWQuCiAgICAgICAgICogcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nU3RhdGVOb2RlLmNwcDoKICAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRl
Tm9kZTo6Y2xvbmVBbmRSZXNldENoaWxkTm9kZXMpOgpAQCAtNjYxMzAsNyArNjYxNTgsNyBAQAog
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlOjpjbG9uZUFuZFJl
c2V0Tm9kZSk6CiAgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVTY3JvbGxp
bmdOb2RlLmg6CiAKLSAgICAgICAgWWF5LCB0aGlzIGZ1bmN0aW9uIGNhbiBiZSB2YXN0bHkgc2lt
cGxpZmllZCBub3cgdGhhdCB3ZSBkb24ndCBoYXZlIAorICAgICAgICBZYXksIHRoaXMgZnVuY3Rp
b24gY2FuIGJlIHZhc3RseSBzaW1wbGlmaWVkIG5vdyB0aGF0IHdlIGRvbid0IGhhdmUKICAgICAg
ICAgdGhvc2UgbWVzc3kgY2hpbGQgYW5kIHNpYmxpbmcgcG9pbnRlcnMuCiAgICAgICAgICogcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmNwcDoKICAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGluZ1N0YXRlVHJlZTo6Y29tbWl0KToKQEAgLTY2NDI5LDkgKzY2NDU3LDkgQEAKIAogICAg
ICAgICBUaGlzIHBhdGNoIGdldHMgcmlkIG9mIHRoZSBzZXBhcmF0ZSBTdHJ1Y3R1cmUgYWxsb2Nh
dG9yIGluIHRoZSBNYXJrZWRTcGFjZSBhbmQgYWRkcyB0d28gbmV3IGRlc3RydWN0b3Itb25seQog
ICAgICAgICBhbGxvY2F0b3JzLiBXZSBub3cgaGF2ZSBzZXBhcmF0ZSBhbGxvY2F0b3JzIGZvciBv
dXIgdGhyZWUgdHlwZXMgb2Ygb2JqZWN0czogdGhvc2Ugb2JqZWN0cyB3aXRoIG5vIGRlc3RydWN0
b3JzLAotICAgICAgICB0aG9zZSBvYmplY3RzIHdpdGggZGVzdHJ1Y3RvcnMgYW5kIHdpdGggaW1t
b3J0YWwgc3RydWN0dXJlcywgYW5kIHRob3NlIG9iamVjdHMgd2l0aCBkZXN0cnVjdG9ycyB0aGF0
IGRvbid0IGhhdmUgCi0gICAgICAgIGltbW9ydGFsIHN0cnVjdHVyZXMuIEFsbCBvZiB0aGUgb2Jq
ZWN0cyBvZiB0aGUgdGhpcmQgdHlwZSAoZGVzdHJ1Y3RvcnMgd2l0aG91dCBpbW1vcnRhbCBzdHJ1
Y3R1cmVzKSBub3cgCi0gICAgICAgIGluaGVyaXQgZnJvbSBhIG5ldyBjbGFzcyBuYW1lZCBKU0Rl
c3RydWN0aWJsZU9iamVjdCAod2hpY2ggaW4gdHVybiBpcyBhIHN1YmNsYXNzIG9mIEpTTm9uRmlu
YWxPYmplY3QpLCB3aGljaCBzdG9yZXMgCisgICAgICAgIHRob3NlIG9iamVjdHMgd2l0aCBkZXN0
cnVjdG9ycyBhbmQgd2l0aCBpbW1vcnRhbCBzdHJ1Y3R1cmVzLCBhbmQgdGhvc2Ugb2JqZWN0cyB3
aXRoIGRlc3RydWN0b3JzIHRoYXQgZG9uJ3QgaGF2ZQorICAgICAgICBpbW1vcnRhbCBzdHJ1Y3R1
cmVzLiBBbGwgb2YgdGhlIG9iamVjdHMgb2YgdGhlIHRoaXJkIHR5cGUgKGRlc3RydWN0b3JzIHdp
dGhvdXQgaW1tb3J0YWwgc3RydWN0dXJlcykgbm93CisgICAgICAgIGluaGVyaXQgZnJvbSBhIG5l
dyBjbGFzcyBuYW1lZCBKU0Rlc3RydWN0aWJsZU9iamVjdCAod2hpY2ggaW4gdHVybiBpcyBhIHN1
YmNsYXNzIG9mIEpTTm9uRmluYWxPYmplY3QpLCB3aGljaCBzdG9yZXMKICAgICAgICAgdGhlIENs
YXNzSW5mbyBmb3IgdGhlc2UgY2xhc3NlcyBhdCBhIGZpeGVkIG9mZnNldCBmb3Igc2FmZSByZXRy
aWV2YWwgZHVyaW5nIHN3ZWVwaW5nL2Rlc3RydWN0aW9uLgogCiAgICAgICAgIE5vIG5ldyB0ZXN0
cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNwcAppbmRleCAzNjA2
N2ZkNzgwOWU5YzM4NGVkNzhkZDJiZjZjMWNlMzVhMjZiN2I2Li5iZTc2OGY3OWYzZmE2YWJiMGE0
MjM4NGNhMDFlMzk1YTIzMjI5YzdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvVGV4dEF1dG9zaXplci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRB
dXRvc2l6ZXIuY3BwCkBAIC0zMyw2ICszMyw4IEBACiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNp
bmNsdWRlICJTdHlsZUluaGVyaXRlZERhdGEuaCIKIAorI2luY2x1ZGUgPGFsZ29yaXRobT4KKwog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3QgVGV4dEF1dG9zaXppbmdXaW5kb3dJbmZvIHsK
QEAgLTk0LDExICs5NiwxMiBAQCB2b2lkIFRleHRBdXRvc2l6ZXI6OnByb2Nlc3NDbHVzdGVyKFJl
bmRlckJsb2NrKiBjbHVzdGVyLCBSZW5kZXJCbG9jayogY29udGFpbmVyLAogewogICAgIEFTU0VS
VChpc0F1dG9zaXppbmdDbHVzdGVyKGNsdXN0ZXIpKTsKIAotICAgIC8vIEZJWE1FOiBNYW55IHBh
Z2VzIHNldCBhIG1heC13aWR0aCBvbiB0aGVpciBjb250ZW50LiBTbyBlc3BlY2lhbGx5IGZvciB0
aGUgUmVuZGVyVmlldywKLSAgICAvLyBpbnN0ZWFkIG9mIGp1c3QgdGFraW5nIHRoZSB3aWR0aCBv
ZiB8Y2x1c3Rlcnwgd2Ugc2hvdWxkIGZpbmQgdGhlIGxvd2VzdCBjb21tb24gYW5jZXN0b3Igb2YK
LSAgICAvLyB0aGUgZmlyc3QgYW5kIGxhc3QgZGVzY2VuZGFudCB0ZXh0IG5vZGUgb2YgdGhlIGNs
dXN0ZXIgKGkuZS4gdGhlIGRlZXBlc3Qgd3JhcHBlciBibG9jayB0aGF0Ci0gICAgLy8gY29udGFp
bnMgYWxsIHRoZSB0ZXh0KSwgYW5kIHVzZSBpdHMgd2lkdGggaW5zdGVhZC4KLSAgICBSZW5kZXJC
bG9jayogbG93ZXN0Q29tbW9uQW5jZXN0b3IgPSBjbHVzdGVyOworICAgIC8vIE1hbnkgcGFnZXMg
c2V0IGEgbWF4LXdpZHRoIG9uIHRoZWlyIGNvbnRlbnQuIFNvIGVzcGVjaWFsbHkgZm9yIHRoZQor
ICAgIC8vIFJlbmRlclZpZXcsIGluc3RlYWQgb2YganVzdCB0YWtpbmcgdGhlIHdpZHRoIG9mIHxj
bHVzdGVyfCB3ZSBmaW5kCisgICAgLy8gdGhlIGxvd2VzdCBjb21tb24gYW5jZXN0b3Igb2YgdGhl
IGZpcnN0IGFuZCBsYXN0IGRlc2NlbmRhbnQgdGV4dCBub2RlIG9mCisgICAgLy8gdGhlIGNsdXN0
ZXIgKGkuZS4gdGhlIGRlZXBlc3Qgd3JhcHBlciBibG9jayB0aGF0IGNvbnRhaW5zIGFsbCB0aGUg
dGV4dCksCisgICAgLy8gYW5kIHVzZSBpdHMgd2lkdGggaW5zdGVhZC4KKyAgICBjb25zdCBSZW5k
ZXJCbG9jayogbG93ZXN0Q29tbW9uQW5jZXN0b3IgPSBmaW5kRGVlcGVzdEJsb2NrQ29udGFpbmlu
Z0FsbFRleHQoY2x1c3Rlcik7CiAgICAgZmxvYXQgY29tbW9uQW5jZXN0b3JXaWR0aCA9IGxvd2Vz
dENvbW1vbkFuY2VzdG9yLT5jb250ZW50TG9naWNhbFdpZHRoKCk7CiAKICAgICBmbG9hdCBtdWx0
aXBsaWVyID0gMTsKQEAgLTIwMSw4ICsyMDQsMTEgQEAgYm9vbCBUZXh0QXV0b3NpemVyOjppc0F1
dG9zaXppbmdDb250YWluZXIoY29uc3QgUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKICAgICAvLyAi
QXV0b3NpemluZyBjb250YWluZXJzIiBhcmUgdGhlIHNtYWxsZXN0IHVuaXQgZm9yIHdoaWNoIHdl
IGNhbgogICAgIC8vIGVuYWJsZS9kaXNhYmxlIFRleHQgQXV0b3NpemluZy4KICAgICAvLyAtIE11
c3Qgbm90IGJlIGlubGluZSwgYXMgZGlmZmVyZW50IG11bHRpcGxpZXJzIG9uIG9uZSBsaW5lIGxv
b2tzIHRlcnJpYmxlLgotICAgIC8vIC0gTXVzdCBub3QgYmUgbGlzdCBpdGVtcywgYXMgaXRlbXMg
aW4gdGhlIHNhbWUgbGlzdCBzaG91bGQgbG9vayBjb25zaXN0ZW50LgotICAgIHJldHVybiByZW5k
ZXJlci0+aXNSZW5kZXJCbG9jaygpICYmICFyZW5kZXJlci0+aXNJbmxpbmUoKSAmJiAhcmVuZGVy
ZXItPmlzTGlzdEl0ZW0oKTsKKyAgICAvLyAtIE11c3Qgbm90IGJlIGxpc3QgaXRlbXMsIGFzIGl0
ZW1zIGluIHRoZSBzYW1lIGxpc3Qgc2hvdWxkIGxvb2sgY29uc2lzdGVudCAoKikuCisgICAgLy8g
KiBleGNlcHQgZm9yIHRob3NlIGxpc3QgaXRlbXMgcG9zaXRpb25lZCBvdXQgb2YgdGhlIGxpc3Qn
cyBmbG93LgorICAgIHJldHVybiByZW5kZXJlci0+aXNSZW5kZXJCbG9jaygpCisgICAgICAgICYm
ICFyZW5kZXJlci0+aXNJbmxpbmUoKQorICAgICAgICAmJiAoIXJlbmRlcmVyLT5pc0xpc3RJdGVt
KCkgfHwgcmVuZGVyZXItPmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpKTsKIH0KIAogYm9vbCBUZXh0
QXV0b3NpemVyOjppc0F1dG9zaXppbmdDbHVzdGVyKGNvbnN0IFJlbmRlckJsb2NrKiByZW5kZXJl
cikKQEAgLTI5Nyw2ICszMDMsNzkgQEAgUmVuZGVyT2JqZWN0KiBUZXh0QXV0b3NpemVyOjpuZXh0
SW5QcmVPcmRlclNraXBwaW5nRGVzY2VuZGFudHNPZkNvbnRhaW5lcnMoY29uc3QKICAgICByZXR1
cm4gMDsKIH0KIAorY29uc3QgUmVuZGVyQmxvY2sqIFRleHRBdXRvc2l6ZXI6OmZpbmREZWVwZXN0
QmxvY2tDb250YWluaW5nQWxsVGV4dChjb25zdCBSZW5kZXJCbG9jayogY2x1c3RlcikKK3sKKyAg
ICBBU1NFUlQoaXNBdXRvc2l6aW5nQ2x1c3RlcihjbHVzdGVyKSk7CisKKyAgICBzaXplX3QgZmly
c3REZXB0aCA9IDA7CisgICAgY29uc3QgUmVuZGVyT2JqZWN0KiBmaXJzdFRleHRMZWFmID0gZmlu
ZEZpbmFsVGV4dExlYWZOb3RJbkNsdXN0ZXIoY2x1c3RlciwgZmlyc3REZXB0aCwgRmlyc3RUb0xh
c3QpOworICAgIGlmICghZmlyc3RUZXh0TGVhZikKKyAgICAgICAgcmV0dXJuIGNsdXN0ZXI7CisK
KyAgICBzaXplX3QgbGFzdERlcHRoID0gMDsKKyAgICBjb25zdCBSZW5kZXJPYmplY3QqIGxhc3RU
ZXh0TGVhZiA9IGZpbmRGaW5hbFRleHRMZWFmTm90SW5DbHVzdGVyKGNsdXN0ZXIsIGxhc3REZXB0
aCwgTGFzdFRvRmlyc3QpOworICAgIEFTU0VSVChsYXN0VGV4dExlYWYpOworCisgICAgLy8gRXF1
YWxpemUgdGhlIGRlcHRocyBpZiBuZWNlc3NhcnkuIE9ubHkgb25lIG9mIHRoZSB3aGlsZSBsb29w
cyBiZWxvdyB3aWxsIGdldCBleGVjdXRlZC4KKyAgICBjb25zdCBSZW5kZXJPYmplY3QqIGZpcnN0
Tm9kZSA9IGZpcnN0VGV4dExlYWY7CisgICAgY29uc3QgUmVuZGVyT2JqZWN0KiBsYXN0Tm9kZSA9
IGxhc3RUZXh0TGVhZjsKKyAgICB3aGlsZSAoZmlyc3REZXB0aCA+IGxhc3REZXB0aCkgeworICAg
ICAgICBmaXJzdE5vZGUgPSBmaXJzdE5vZGUtPnBhcmVudCgpOworICAgICAgICAtLWZpcnN0RGVw
dGg7CisgICAgfQorICAgIHdoaWxlIChsYXN0RGVwdGggPiBmaXJzdERlcHRoKSB7CisgICAgICAg
IGxhc3ROb2RlID0gbGFzdE5vZGUtPnBhcmVudCgpOworICAgICAgICAtLWxhc3REZXB0aDsKKyAg
ICB9CisKKyAgICAvLyBHbyB1cCBmcm9tIGJvdGggbm9kZXMgdW50aWwgdGhlIHBhcmVudCBpcyB0
aGUgc2FtZS4gQm90aCBwb2ludGVycyB3aWxsIHBvaW50IHRvIHRoZSBMQ0EgdGhlbi4KKyAgICB3
aGlsZSAoZmlyc3ROb2RlICE9IGxhc3ROb2RlKSB7CisgICAgICAgIGZpcnN0Tm9kZSA9IGZpcnN0
Tm9kZS0+cGFyZW50KCk7CisgICAgICAgIGxhc3ROb2RlID0gbGFzdE5vZGUtPnBhcmVudCgpOwor
ICAgIH0KKworICAgIGlmIChmaXJzdE5vZGUtPmlzUmVuZGVyQmxvY2soKSkKKyAgICAgICAgcmV0
dXJuIHRvUmVuZGVyQmxvY2soZmlyc3ROb2RlKTsKKworICAgIC8vIGNvbnRhaW5pbmdCbG9jaygp
IHNob3VsZCBuZXZlciBsZWF2ZSB0aGUgY2x1c3Rlciwgc2luY2UgaXQgb25seSBza2lwcyBhbmNl
c3RvcnMgd2hlbiBmaW5kaW5nIHRoZQorICAgIC8vIGNvbnRhaW5lciBvZiBwb3NpdGlvbjphYnNv
bHV0ZS9maXhlZCBibG9ja3MsIGFuZCB0aG9zZSBjYW5ub3QgZXhpc3QgYmV0d2VlbiBhIGNsdXN0
ZXIgYW5kIGl0cyB0ZXh0CisgICAgLy8gbm9kZXMgbG93ZXN0IGNvbW1vbiBhbmNlc3RvciBhcyBp
c0F1dG9zaXppbmdDbHVzdGVyIHdvdWxkIGhhdmUgbWFkZSB0aGVtIGludG8gdGhlaXIgb3duIGlu
ZGVwZW5kZW50CisgICAgLy8gY2x1c3Rlci4KKyAgICBSZW5kZXJCbG9jayogY29udGFpbmluZ0Js
b2NrID0gZmlyc3ROb2RlLT5jb250YWluaW5nQmxvY2soKTsKKyAgICBBU1NFUlQoY29udGFpbmlu
Z0Jsb2NrLT5pc0Rlc2NlbmRhbnRPZihjbHVzdGVyKSk7CisKKyAgICByZXR1cm4gY29udGFpbmlu
Z0Jsb2NrOworfQorCitjb25zdCBSZW5kZXJPYmplY3QqIFRleHRBdXRvc2l6ZXI6OmZpbmRGaW5h
bFRleHRMZWFmTm90SW5DbHVzdGVyKGNvbnN0IFJlbmRlck9iamVjdCogcGFyZW50LCBzaXplX3Qm
IGRlcHRoLCBUcmF2ZXJzYWxEaXJlY3Rpb24gZGlyZWN0aW9uKQoreworICAgIGlmIChwYXJlbnQt
PmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHBhcmVudC0+aXNUZXh0KCkgPyBwYXJlbnQgOiAw
OworCisgICAgKytkZXB0aDsKKyAgICBmb3IgKGNvbnN0IFJlbmRlck9iamVjdCogY2hpbGQgPSBm
aXJzdENoaWxkSW5UcmF2ZXJzYWxEaXJlY3Rpb24ocGFyZW50LCBkaXJlY3Rpb24pOyBjaGlsZDsg
Y2hpbGQgPSBuZXh0U2libGluZ0luVHJhdmVyc2FsRGlyZWN0aW9uKGNoaWxkLCBkaXJlY3Rpb24p
KSB7CisgICAgICAgIGlmIChpc0F1dG9zaXppbmdDb250YWluZXIoY2hpbGQpICYmIGNoaWxkLT5p
c1JlbmRlckJsb2NrKCkgJiYgaXNBdXRvc2l6aW5nQ2x1c3Rlcih0b1JlbmRlckJsb2NrKGNoaWxk
KSkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBjb25zdCBSZW5kZXJPYmplY3Qq
IGxlYWYgPSBmaW5kRmluYWxUZXh0TGVhZk5vdEluQ2x1c3RlcihjaGlsZCwgZGVwdGgsIGRpcmVj
dGlvbik7CisgICAgICAgIGlmIChsZWFmKQorICAgICAgICAgICAgcmV0dXJuIGxlYWY7CisgICAg
fQorICAgIC0tZGVwdGg7CisKKyAgICByZXR1cm4gMDsKK30KKworY29uc3QgUmVuZGVyT2JqZWN0
KiBUZXh0QXV0b3NpemVyOjpmaXJzdENoaWxkSW5UcmF2ZXJzYWxEaXJlY3Rpb24oY29uc3QgUmVu
ZGVyT2JqZWN0KiBvYmplY3QsIFRyYXZlcnNhbERpcmVjdGlvbiBkaXJlY3Rpb24pCit7CisgICAg
cmV0dXJuIChkaXJlY3Rpb24gPT0gRmlyc3RUb0xhc3QpID8gb2JqZWN0LT5maXJzdENoaWxkKCkg
OiBvYmplY3QtPmxhc3RDaGlsZCgpOworfQorCitjb25zdCBSZW5kZXJPYmplY3QqIFRleHRBdXRv
c2l6ZXI6Om5leHRTaWJsaW5nSW5UcmF2ZXJzYWxEaXJlY3Rpb24oY29uc3QgUmVuZGVyT2JqZWN0
KiBvYmplY3QsIFRyYXZlcnNhbERpcmVjdGlvbiBkaXJlY3Rpb24pCit7CisgICAgcmV0dXJuIChk
aXJlY3Rpb24gPT0gRmlyc3RUb0xhc3QpID8gb2JqZWN0LT5uZXh0U2libGluZygpIDogb2JqZWN0
LT5wcmV2aW91c1NpYmxpbmcoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5k
aWYgLy8gRU5BQkxFKFRFWFRfQVVUT1NJWklORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4
dEF1dG9zaXplci5oCmluZGV4IDJlMmU3MGU2YjAyODQ1MDcxM2JhNmZhYzJkYTEyOGI1N2FlZWEw
ZDMuLjYyZmYzOGE4ZjE0NzNkMjIxMzA1NGJjMjJjNGM0NGJiZWIzNDgwODQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuaApAQCAtNTUsNiArNTUsMTEgQEAgcHVibGlj
OgogICAgIHN0YXRpYyBmbG9hdCBjb21wdXRlQXV0b3NpemVkRm9udFNpemUoZmxvYXQgc3BlY2lm
aWVkU2l6ZSwgZmxvYXQgbXVsdGlwbGllcik7CiAKIHByaXZhdGU6CisgICAgZW51bSBUcmF2ZXJz
YWxEaXJlY3Rpb24geworICAgICAgICBGaXJzdFRvTGFzdCwKKyAgICAgICAgTGFzdFRvRmlyc3QK
KyAgICB9OworCiAgICAgZXhwbGljaXQgVGV4dEF1dG9zaXplcihEb2N1bWVudCopOwogCiAgICAg
dm9pZCBwcm9jZXNzQ2x1c3RlcihSZW5kZXJCbG9jayogY2x1c3RlciwgUmVuZGVyQmxvY2sqIGNv
bnRhaW5lciwgUmVuZGVyT2JqZWN0KiBzdWJ0cmVlUm9vdCwgY29uc3QgVGV4dEF1dG9zaXppbmdX
aW5kb3dJbmZvJik7CkBAIC03MSw2ICs3NiwxOSBAQCBwcml2YXRlOgogICAgIC8vIFVzZSB0byB0
cmF2ZXJzZSB0aGUgdHJlZSBvZiBkZXNjZW5kYW50cywgZXhjbHVkaW5nIGRlc2NlbmRhbnRzIG9m
IGNvbnRhaW5lcnMgKGJ1dCByZXR1cm5pbmcgdGhlIGNvbnRhaW5lcnMgdGhlbXNlbHZlcykuCiAg
ICAgc3RhdGljIFJlbmRlck9iamVjdCogbmV4dEluUHJlT3JkZXJTa2lwcGluZ0Rlc2NlbmRhbnRz
T2ZDb250YWluZXJzKGNvbnN0IFJlbmRlck9iamVjdCogY3VycmVudCwgY29uc3QgUmVuZGVyT2Jq
ZWN0KiBzdGF5V2l0aGluKTsKIAorICAgIC8vIEZpbmRzIHRoZSBsb3dlc3QgY29tbW9uIGFuY2Vz
dG9yIG9mIHRoZSBmaXJzdCBhbmQgdGhlIGxhc3QgZGVzY2VuZGFudAorICAgIC8vIHRleHQgbm9k
ZSAoZXhjbHVkaW5nIHRob3NlIGJlbG9uZ2luZyB0byBvdGhlciBhdXRvc2l6aW5nIGNsdXN0ZXJz
KS4KKyAgICBzdGF0aWMgY29uc3QgUmVuZGVyQmxvY2sqIGZpbmREZWVwZXN0QmxvY2tDb250YWlu
aW5nQWxsVGV4dChjb25zdCBSZW5kZXJCbG9jayogY2x1c3Rlcik7CisKKyAgICAvLyBEZXBlbmRp
bmcgb24gdGhlIHRyYXZlcnNhbCBkaXJlY3Rpb24gc3BlY2lmaWVkLCBmaW5kcyB0aGUgZmlyc3Qg
b3IgdGhlIGxhc3QgbGVhZiB0ZXh0IG5vZGUgY2hpbGQgdGhhdCBkb2Vzbid0CisgICAgLy8gYmVs
b25nIHRvIGFueSBjbHVzdGVyLgorICAgIHN0YXRpYyBjb25zdCBSZW5kZXJPYmplY3QqIGZpbmRG
aW5hbFRleHRMZWFmTm90SW5DbHVzdGVyKGNvbnN0IFJlbmRlck9iamVjdCosIHNpemVfdCYgZGVw
dGgsIFRyYXZlcnNhbERpcmVjdGlvbik7CisKKyAgICAvLyBXcmFwcGVyIGFyb3VuZCBmaXJzdENo
aWxkKCkgYW5kIGxhc3RDaGlsZCgpIG1ldGhvZHMsIGNhbGxpbmcgb25lIG9yIGFub3RoZXIgZGVw
ZW5kaW5nIG9uIHRoZSBkaXJlY3Rpb24uCisgICAgc3RhdGljIGNvbnN0IFJlbmRlck9iamVjdCog
Zmlyc3RDaGlsZEluVHJhdmVyc2FsRGlyZWN0aW9uKGNvbnN0IFJlbmRlck9iamVjdCosIFRyYXZl
cnNhbERpcmVjdGlvbik7CisgICAgLy8gV3JhcHBlciBhcm91bmQgbmV4dFNpYmxpbmcoKSBhbmQg
cHJldmlvdXNTaWJsaW5nKCkgbWV0aG9kcywgY2FsbGluZyBvbmUgb3IgYW5vdGhlciBkZXBlbmRp
bmcgb24gdGhlIGRpcmVjdGlvbi4KKyAgICBzdGF0aWMgY29uc3QgUmVuZGVyT2JqZWN0KiBuZXh0
U2libGluZ0luVHJhdmVyc2FsRGlyZWN0aW9uKGNvbnN0IFJlbmRlck9iamVjdCosIFRyYXZlcnNh
bERpcmVjdGlvbik7CisKICAgICBEb2N1bWVudCogbV9kb2N1bWVudDsKIH07CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1
MmI0YzUwMzRjYzk3NmQwOWU5MWM1ZjgxOWU0OTM1MzIxYmYyNGE1Li5kMDdmNjMxNDRmZWM1MTAx
OTViMWU2M2M0ZjBjZWYwNTNmYTViMTQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTItMTEt
MjcgIEFudG9uIFZheXZvZCAgPGF2YXl2b2RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFRleHQg
QXV0b3NpemluZzogQ2x1c3RlcnMgc2hvdWxkIHVzZSB3aWR0aCBvZiBMQ0Egb2YgdGhlaXIgdGV4
dCBub2RlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAyNTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TWFueSBwYWdlcyBzZXQgYSBtYXgtd2lkdGggb24gdGhlaXIgY29udGVudC4gU28gZXNwZWNpYWxs
eSBmb3IgdGhlCisgICAgICAgIFJlbmRlclZpZXcsIGluc3RlYWQgb2YganVzdCB0YWtpbmcgdGhl
IHdpZHRoIG9mIHxjbHVzdGVyfCB3ZSBmaW5kCisgICAgICAgIHRoZSBsb3dlc3QgY29tbW9uIGFu
Y2VzdG9yIG9mIHRoZSBmaXJzdCBhbmQgbGFzdCBkZXNjZW5kYW50IHRleHQgbm9kZSBvZgorICAg
ICAgICB0aGUgY2x1c3RlciAoaS5lLiB0aGUgZGVlcGVzdCB3cmFwcGVyIGJsb2NrIHRoYXQgY29u
dGFpbnMgYWxsIHRoZSB0ZXh0KSwKKyAgICAgICAgYW5kIHVzZSBpdHMgd2lkdGggaW5zdGVhZC4K
KyAgICAgICAgSGFkIHRvIHVwZGF0ZSBhIGNvdXBsZSBvZiBleGlzdGluZyB0ZXN0cyBzaW5jZSB0
aGUgYWN0dWFsIHdpZHRoIGZvciBmb250CisgICAgICAgIHNpemUgbXVsdGlwbGllciBjYWxjdWxh
dGlvbiBoYXMgYmVlbiBjaGFuZ2VkIGJ5IHRoZSBwYXRjaC4KKworICAgICAgICAqIGZhc3QvdGV4
dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2lkZS1pbi1uYXJyb3ctZXhwZWN0ZWQuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpZGUtaW4tbmFycm93Lmh0bWw6Cisg
ICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLW5hcnJvdy1sY2EtYW5k
LWNsdXN0ZXItZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9z
aXppbmcvY2x1c3Rlci13aXRoLW5hcnJvdy1sY2EtYW5kLWNsdXN0ZXIuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLW5hcnJvdy1sY2EtZXhw
ZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rl
ci13aXRoLW5hcnJvdy1sY2EuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9z
aXppbmcvY2x1c3Rlci13aXRoLXdpZGUtbGNhLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC13aWRlLWxjYS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9lbS1tYXJnaW4tYm9yZGVyLXBhZGRp
bmctZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9lbS1tYXJn
aW4tYm9yZGVyLXBhZGRpbmcuaHRtbDoKKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9s
aXN0LWl0ZW0tb3V0LW9mLWZsb3ctZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC90ZXh0LWF1dG9zaXppbmcvbGlzdC1pdGVtLW91dC1vZi1mbG93Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtY2hpbGQtZXhwZWN0ZWQuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWNoaWxkLmh0bWw6CisgICAgICAgICog
ZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lkZS1pbi1uYXJyb3ctb3ZlcmZsb3ctc2Nyb2xsLWV4cGVj
dGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtaW4t
bmFycm93LW92ZXJmbG93LXNjcm9sbC5odG1sOiBBZGRlZC4KKwogMjAxMi0xMS0yNyAgVG9ueSBD
aGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHVwZGF0aW5n
IFRlc3RFeHBlY3RhdGlvbnMgYWZ0ZXIgaW5wdXQgc2xpZGVyIGNoYW5nZS4KQEAgLTE2NCw4ICsx
OTYsOCBAQAogICAgICAgICBjb21wb3NpdGluZy9yb3RhdGVkLXRpbGVkLXByZXNlcnZlM2QtY2xh
bXBlZAogICAgICAgICBmYXN0L2V2ZW50cy90YWJpbmRleC1mb2N1cy1ibHVyLWFsbAogCi0gICAg
ICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6IAotICAgICAgICBSZW1vdmUgdGhl
IHRlc3RzIGJlbG93IGZyb20gdGhlIFdpbmRvd3Mgc2tpcCBsaXN0LiAKKyAgICAgICAgKiBwbGF0
Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgUmVtb3ZlIHRoZSB0ZXN0cyBiZWxv
dyBmcm9tIHRoZSBXaW5kb3dzIHNraXAgbGlzdC4KIAogICAgICAgICAqIHBsYXRmb3JtL3dpbi9j
b21wb3NpdGluZy90aWxpbmcvcm90YXRlZC10aWxlZC1jbGFtcGVkLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCiAgICAgICAgICogcGxhdGZvcm0vd2luL2NvbXBvc2l0aW5nL3RpbGluZy9yb3RhdGVkLXRp
bGVkLXByZXNlcnZlM2QtY2xhbXBlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgpAQCAtMjk0LDcgKzMy
Niw3IEBACiAgICAgICAgIFJldmlld2VkIGJ5IEpvY2hlbiBFaXNpbmdlci4KIAogICAgICAgICBN
YWMgYW5kIGNocm9tZSBidWlsZHMgaGF2ZSBkaWZmZXJlbnQgZXhwZWN0YXRpb25zIGZvciB3aGVy
ZQotICAgICAgICBhbiBpc29sYXRlZCB3b3JsZCBpcyBleGVjdXRlZC4gCisgICAgICAgIGFuIGlz
b2xhdGVkIHdvcmxkIGlzIGV4ZWN1dGVkLgogCiAgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0
eS9pc29sYXRlZFdvcmxkL3dvcmxkLXJldXNlLmh0bWw6CiAKQEAgLTg3Nyw3ICs5MDksNyBAQAog
CiAyMDEyLTExLTI2ICBSb2JlcnQgS3JvZWdlciAgPHJqa3JvZWdlQGNocm9taXVtLm9yZz4KIAot
ICAgICAgICBVbnJldmlld2VkIGdhcmRlbmluZzogYWRkZWQgVGVzdEV4cGVjYXRpb25zIGZhaWx1
cmVzIGZvciAKKyAgICAgICAgVW5yZXZpZXdlZCBnYXJkZW5pbmc6IGFkZGVkIFRlc3RFeHBlY2F0
aW9ucyBmYWlsdXJlcyBmb3IKICAgICAgICAgbWVkaWEvcmVtb3ZlLWZyb20tZG9jdW1lbnQuaHRt
bAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzMDkz
CiAKQEAgLTExODgsNyArMTIyMCw3IEBACiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9o
ZGUgQ2hyaXN0aWFuc2VuLgogCiAgICAgICAgIEFkZGVkIG5ldyBsYXlvdXQgdGVzdCB0byB2ZXJp
ZnkgdGhhdCB2aWV3cG9ydCAnd2lkdGgnIGRlc2NyaXB0b3IgZG9lcyBub3QKLSAgICAgICAgYWZm
ZWN0IGNvbnRlbnRzIHdpZHRoIG9mIG5leHQgbG9hZGVkIHBhZ2UuIAorICAgICAgICBhZmZlY3Qg
Y29udGVudHMgd2lkdGggb2YgbmV4dCBsb2FkZWQgcGFnZS4KIAogICAgICAgICAqIGNzczMvZGV2
aWNlLWFkYXB0L3Jlc291cmNlcy9jaGVjay1jb250ZW50cy13aWR0aC5odG1sOiBBZGRlZC4KICAg
ICAgICAgKiBjc3MzL2RldmljZS1hZGFwdC92aWV3cG9ydC13aWR0aC1ub3QtYWZmZWN0aW5nLW5l
eHQtcGFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgpAQCAtMTI4OCw3ICsxMzIwLDcgQEAKICAgICAg
ICAgKiBmYXN0L3RleHQvdGV4dC1sZXR0ZXItc3BhY2luZy5odG1sCiAgICAgICAgICogaHR0cC90
ZXN0cy9pbnNwZWN0b3IvaW5kZXhlZGRiL2RhdGFiYXNlLWRhdGEuaHRtbAogICAgICAgICBhbmQg
bmV3IGZhaWx1cmVzOgotICAgICAgICAqIGZhc3QvZnJhbWVzL2ZyYW1lLXVubG9hZC1jcmFzaDIu
aHRtbCAKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9mcmFtZS11bmxvYWQtY3Jhc2gyLmh0bWwKIAog
ICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6CiAKQEAgLTEzNzAs
NyArMTQwMiw3IEBACiAKIDIwMTItMTEtMjMgIFJvYmVydCBLcm9lZ2VyICA8cmprcm9lZ2VAY2hy
b21pdW0ub3JnPgogCi0gICAgICAgIFVucmV2aWV3ZWQgZ2FyZGVuaW5nOiB1cGRhdGUgZXhwZWN0
YXRpb25zIGZvciBub3cgY3Jhc2hpbmcgdGVzdCAKKyAgICAgICAgVW5yZXZpZXdlZCBnYXJkZW5p
bmc6IHVwZGF0ZSBleHBlY3RhdGlvbnMgZm9yIG5vdyBjcmFzaGluZyB0ZXN0CiAgICAgICAgIHZp
c2liaWxpdHktc2ltcGxlLWNhbnZhczJkLWxheWVyLmh0bWwKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4MDg2CiAKQEAgLTE2MTIsNyArMTY0NCw3IEBA
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCiAKLSAg
ICAgICAgSW1wb3J0ZWQgYSB0ZXN0IHN1Ym1pdHRlZCBieSBPcGVyYSB0aGF0IHRlc3RzIHRoZSBl
eHBvc2VkIGludGVyZmFjZS4gCisgICAgICAgIEltcG9ydGVkIGEgdGVzdCBzdWJtaXR0ZWQgYnkg
T3BlcmEgdGhhdCB0ZXN0cyB0aGUgZXhwb3NlZCBpbnRlcmZhY2UuCiAKICAgICAgICAgKiBjc3Mz
L2RldmljZS1hZGFwdC9vcGVyYS9jc3NvbS0wMDEtZXhwZWN0ZWQudHh0OiBBZGRlZC4KICAgICAg
ICAgKiBjc3MzL2RldmljZS1hZGFwdC9vcGVyYS9jc3NvbS0wMDEueGh0bWw6IEFkZGVkLgpAQCAt
Mzc4Nyw3ICszODE5LDcgQEAKIDIwMTItMTEtMjIgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gTWFyayBMYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy9jYW52YXMtc3Ryb2tlKi1ncmFkaWVudC1zaGFkb3cuaHRtbCBhcyBjcmFzaGluZyBh
ZnRlciBsYXRlc3QgU2tpYSByb2xsLgotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTAzMDYyIAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTAzMDYyCiAKICAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0
RXhwZWN0YXRpb25zOgogCkBAIC00MTIzLDcgKzQxNTUsNyBAQAogCiAyMDEyLTExLTIxICBSaWNr
IEJ5ZXJzICA8cmJ5ZXJzQGNocm9taXVtLm9yZz4KIAotICAgICAgICBNdWx0aS1mcmFtZSBDVVIg
ZmlsZSB0ZXN0IGhhbmdzIG9uIG1hYyBwb3J0IAorICAgICAgICBNdWx0aS1mcmFtZSBDVVIgZmls
ZSB0ZXN0IGhhbmdzIG9uIG1hYyBwb3J0CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDE4MTEKIAogICAgICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJv
c2t1cnlha292LgpAQCAtNTU2OSw3ICs1NjAxLDcgQEAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5k
cmVhcyBLbGluZy4KIAogICAgICAgICAqIGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1zY3Jp
cHQtdGFnLTEtZXhwZWN0ZWQudHh0OgotICAgICAgICAKKwogICAgICAgICAgICAgVXBkYXRlIHRo
ZSB0ZXN0IHJlc3VsdC4gVGhlIHN0eWxlIGludmFsaWRhdGlvbiBsb2cgaXMgc2xpZ2h0bHkgZGlm
ZmVyZW50LgogCiAgICAgICAgICogdXNlcnNjcmlwdHMvdXNlci1zdHlsZXNoZWV0LWludmFsaWRh
dGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KQEAgLTY2MTMsNyArNjY0NSw3IEBACiAKIDIwMTItMTEt
MTUgIFJvZ2VyIEZvbmcgIDxyb2dlcl9mb25nQGFwcGxlLmNvbT4KIAotICAgICAgICBVbnJldmll
d2VkLiBDU1MzX1RFWFQgaXMgbm90IGVuYWJsZWQgb24gV2luZG93cy4gCisgICAgICAgIFVucmV2
aWV3ZWQuIENTUzNfVEVYVCBpcyBub3QgZW5hYmxlZCBvbiBXaW5kb3dzLgogICAgICAgICBTa2lw
cGluZyB0ZXN0czoKICAgICAgICAgZmFzdC9jc3MzLXRleHQvY3NzMy10ZXh0LWFsaWduLWxhc3Qv
Z2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLXRleHQtYWxpZ24tbGFzdC1pbmhlcml0
ZWQuaHRtbAogICAgICAgICBmYXN0L2NzczMtdGV4dC9jc3MzLXRleHQtYWxpZ24tbGFzdC9nZXRD
b21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtdGV4dC1hbGlnbi1sYXN0Lmh0bWwKQEAgLTY5
NjEsNyArNjk5Myw3IEBACiAKICAgICAgICAgKiBtZWRpYS92aWRlby1zcmMtYmxvYi1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgogICAgICAgICAqIG1lZGlhL3ZpZGVvLXNyYy1ibG9iLmh0bWw6IEFkZGVk
LgotICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOiBBZGQgZXhwZWN0ZWQg
ZmFpbHVyZSByZXN1bHRzIGZvciBPU1ggcmVsZWFzZXMgd2hlcmUgCisgICAgICAgICogcGxhdGZv
cm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6IEFkZCBleHBlY3RlZCBmYWlsdXJlIHJlc3VsdHMgZm9y
IE9TWCByZWxlYXNlcyB3aGVyZQogICAgICAgICAgICAgY3VzdG9tIG1lZGlhIGxvYWRpbmcgaXMg
bm90IHN1cHBvcnRlZC4KIAogMjAxMi0xMS0xNSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3
LmJvdEBnbWFpbC5jb20+CkBAIC03Mzk2LDcgKzc0MjgsNyBAQAogICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtLXdpbi9mYXN0L2Zvcm1zL3pvb21lZC1jb250cm9scy1leHBlY3RlZC5wbmc6IEFk
ZGVkLgogICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6CiAKLTIw
MTItMTEtMTQgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAY2hyb21pdW0ub3JnPiAKKzIwMTIt
MTEtMTQgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IENoYW5naW5nIHBzZXVkb0NsYXNzICg6ZGlzYWJsZWQpIHNob3VsZCBjYXVzZSBkaXN0cmlidXRp
b24uCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE5
MDEKQEAgLTk2NTcsNyArOTY4OSw3IEBACiAKIDIwMTItMTEtMTIgIEFycGl0YSBCYWh1Z3VuYSAg
PGFycGl0YWJhaHVndW5hQGdtYWlsLmNvbT4KIAotICAgICAgICBTcGVjaWZpZWQgd2lkdGggQ1NT
IHRhYmxlcyBzaG91bGQgbm90IGluY2x1ZGUgYm9yZGVyIGFuZCBwYWRkaW5nIGFzIHBhcnQgb2Yg
dGhhdCB3aWR0aC4gCisgICAgICAgIFNwZWNpZmllZCB3aWR0aCBDU1MgdGFibGVzIHNob3VsZCBu
b3QgaW5jbHVkZSBib3JkZXIgYW5kIHBhZGRpbmcgYXMgcGFydCBvZiB0aGF0IHdpZHRoLgogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwMjgKIAogICAg
ICAgICBSZXZpZXdlZCBieSBKdWxpZW4gQ2hhZmZyYWl4LgpAQCAtOTY3MSw3ICs5NzAzLDcgQEAK
ICAgICAgICAgcHJvcGVydGllcyB2aXosIGNvbnRlbnQtYm94LCBib3JkZXItYm94IGFuZCBwYWRk
aW5nLWJveC4KIAogICAgICAgICBPdXQgb2YgdGhlc2UgcGFkZGluZy1ib3ggaXMgY3VycmVudGx5
IG5vdCBzdXBwb3J0ZWQgZXZlbiB0aG91Z2gKLSAgICAgICAgdGhlIHRlc3QgdmVyaWZpZXMgYWdh
aW5zdCB0aGlzIHByb3BlcnR5IGFzIHdlbGwuIAorICAgICAgICB0aGUgdGVzdCB2ZXJpZmllcyBh
Z2FpbnN0IHRoaXMgcHJvcGVydHkgYXMgd2VsbC4KICAgICAgICAgVGhlIGV4cGVjdGVkIHdpZHRo
IHZhbHVlcyBhZGRlZCBmb3IgcGFkZGluZy1ib3ggYXJlIHRodXMgaW5jb3JyZWN0CiAgICAgICAg
IGFuZCBzaG91bGQgYmUgbGVzc2VyIGJ5IDEwMHB4IChwYWRkaW5nIHZhbHVlKS4KIApAQCAtMTAz
MDQsMTQgKzEwMzM2LDE0IEBACiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTm9hbSBSb3NlbnRoYWwu
CiAKLSAgICAgICAgQ29waWVkIHRoZSBjdXN0b20tZmlsdGVyLWJsZW5kLW1vZGVzLmh0bWwgdGVz
dCBmaWxlIGFuZCBmb3JjZWQgdGhlIGZpbHRlcmVkIGVsZW1lbnRzIHRvIGhhdmUgCisgICAgICAg
IENvcGllZCB0aGUgY3VzdG9tLWZpbHRlci1ibGVuZC1tb2Rlcy5odG1sIHRlc3QgZmlsZSBhbmQg
Zm9yY2VkIHRoZSBmaWx0ZXJlZCBlbGVtZW50cyB0byBoYXZlCiAgICAgICAgIGNvbXBvc2l0ZWQg
bGF5ZXJzIHVzaW5nIDNkIHRyYW5zZm9ybXMuCiAKICAgICAgICAgKiBjc3MzL2ZpbHRlcnMvY3Vz
dG9tL2NvbXBvc2l0ZWQvY3VzdG9tLWZpbHRlci1ibGVuZC1tb2Rlcy1leHBlY3RlZC5odG1sOiBB
ZGRlZC4KICAgICAgICAgKiBjc3MzL2ZpbHRlcnMvY3VzdG9tL2NvbXBvc2l0ZWQvY3VzdG9tLWZp
bHRlci1ibGVuZC1tb2Rlcy5odG1sOiBBZGRlZC4KICAgICAgICAgKiBwbGF0Zm9ybS9xdC00Ljgv
VGVzdEV4cGVjdGF0aW9uczogT25seSBRdC1XazIgY2FuIGN1cnJlbnRseSBydW4gdGhlIHNoYWRl
cnMuCiAgICAgICAgICogcGxhdGZvcm0vcXQtNS4wLXdrMS9UZXN0RXhwZWN0YXRpb25zOgotICAg
ICAgICAqIHBsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnM6IEFkZGVkIGEgY291cGxlIG9mIHRl
c3RzIHRoYXQgYXJlIG5vdCBwYXNzaW5nIGN1cnJlbnRseS4gCisgICAgICAgICogcGxhdGZvcm0v
cXQvVGVzdEV4cGVjdGF0aW9uczogQWRkZWQgYSBjb3VwbGUgb2YgdGVzdHMgdGhhdCBhcmUgbm90
IHBhc3NpbmcgY3VycmVudGx5LgogICAgICAgICBJJ3ZlIGFkZGVkIDEwMTUzMSB0byB0cmFjayB0
aG9zZS4KIAogMjAxMi0xMS0wOSAgSm9zaHVhIEJlbGwgIDxqc2JlbGxAY2hyb21pdW0ub3JnPgpA
QCAtMTA4MTMsNyArMTA4NDUsNyBAQAogICAgICAgICBbRUZMXSBSZWZhY3RvciBUZXN0RXhwZWN0
YXRpb25zIGZpbGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwMTczOAogCi0gICAgICAgIFVucmV2aWV3ZWQsIEVGTCBnYXJkZW5pbmcuIAorICAgICAg
ICBVbnJldmlld2VkLCBFRkwgZ2FyZGVuaW5nLgogCiAgICAgICAgIFJlbW92ZSBkdXBsaWNhdGVk
IGRlZmluaXRpb25zLgogCkBAIC0xMDg1MSw3ICsxMDg4Myw3IEBACiAgICAgICAgIFtFRkxdIGNz
czMvZmxleGJveC9tdWx0aWxpbmUtanVzdGlmeS1jb250ZW50Lmh0bWwgZG9lc24ndCBjcmFzaAog
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxNzE3CiAK
LSAgICAgICAgVW5yZXZpZXdlZCwgRUZMIGdhcmRlbmluZy4gCisgICAgICAgIFVucmV2aWV3ZWQs
IEVGTCBnYXJkZW5pbmcuCiAKICAgICAgICAgY3NzMy9mbGV4Ym94L211bHRpbGluZS1qdXN0aWZ5
LWNvbnRlbnQuaHRtbCBkb2Vzbid0IGNyYXNoIGFuZCBjYW4gYmUgcGFzc2VkLgogCkBAIC0xMTAw
NiwxNCArMTEwMzgsMTQgQEAKIDIwMTItMTEtMDggIEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDE2NDQKLSAgICAgICAgRml4ZWQgaGVhZGVyIG9uIEZhY2Vib29rIG5ld3MgZmVlZCBiZWNvbWVz
IGRldGFjaGVkIGZyb20gdG9wIG9mIAorICAgICAgICBGaXhlZCBoZWFkZXIgb24gRmFjZWJvb2sg
bmV3cyBmZWVkIGJlY29tZXMgZGV0YWNoZWQgZnJvbSB0b3Agb2YKICAgICAgICAgdmlld3BvcnQg
YWZ0ZXIgcnViYmVyIGJhbmQgc2Nyb2xsaW5nCiAgICAgICAgIC1hbmQgY29ycmVzcG9uZGluZy0K
ICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyNjUxOTQ0PgogCiAgICAgICAgIFJldmlld2VkIGJ5
IFNpbW9uIEZyYXNlci4KIAotICAgICAgICBOZXcgdGVzdCBlbnN1cmVzIHRoYXQgbmVnYXRpdmUg
b2Zmc2V0cyB3aWxsIG5vdCBtYWtlIHRoZWlyIHdheSBpbnRvIAorICAgICAgICBOZXcgdGVzdCBl
bnN1cmVzIHRoYXQgbmVnYXRpdmUgb2Zmc2V0cyB3aWxsIG5vdCBtYWtlIHRoZWlyIHdheSBpbnRv
CiAgICAgICAgIHRoZSBGaXhlZFBvc2l0aW9uVmlld3BvcnRDb25zdHJhaW50cy4KICAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvdGlsZWQtZHJhd2luZy9maXhlZC9uZWdhdGl2ZS1zY3JvbGwtb2Zmc2V0
LWV4cGVjdGVkLnR4dDogQWRkZWQuCiAgICAgICAgICogcGxhdGZvcm0vbWFjL3RpbGVkLWRyYXdp
bmcvZml4ZWQvbmVnYXRpdmUtc2Nyb2xsLW9mZnNldC5odG1sOiBBZGRlZC4KQEAgLTExNjY5LDcg
KzExNzAxLDcgQEAKICAgICAgICAgVW5yZXZpZXdlZCwgV2ViS2l0IGdhcmRlbmluZy4KIAogICAg
ICAgICBSZWJhc2VsaW5lIGFmdGVyIHIxMzMzODQuCi0gICAgICAgIAorCiAgICAgICAgICogZmFz
dC9yZXBhaW50L21vdmluZy1zaGFkb3ctb24tY29udGFpbmVyLWV4cGVjdGVkLnR4dDogUmVuYW1l
ZCBmcm9tIExheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4LXg4Ni9mYXN0L3JlcGFp
bnQvbW92aW5nLXNoYWRvdy1vbi1jb250YWluZXItZXhwZWN0ZWQudHh0LgogICAgICAgICAqIHBs
YXRmb3JtL2Nocm9taXVtLWxpbnV4LXg4Ni9zdmcvY3NzL2dyb3VwLXdpdGgtc2hhZG93LWV4cGVj
dGVkLnR4dDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0td2luL3N2
Zy9jc3MvZ3JvdXAtd2l0aC1zaGFkb3ctZXhwZWN0ZWQudHh0LgogICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtLWxpbnV4L2Zhc3QvcmVwYWludC9tb3Zpbmctc2hhZG93LW9uLWNvbnRhaW5lci1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCkBAIC0xMTg4MSw3ICsxMTkxMyw3IEBACiAyMDEyLTExLTA3
ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxMzAzCi0gICAgICAgIEZpeGVkIHBvc2l0aW9u
IGVsZW1lbnRzIHRoYXQgYXJlIG91dCBvZiB2aWV3IHN0aWxsIGVuZCB1cCBmb3JjaW5nIAorICAg
ICAgICBGaXhlZCBwb3NpdGlvbiBlbGVtZW50cyB0aGF0IGFyZSBvdXQgb2YgdmlldyBzdGlsbCBl
bmQgdXAgZm9yY2luZwogICAgICAgICBub24tdGhyZWFkZWQgc2Nyb2xsaW5nCiAgICAgICAgIC1h
bmQgY29ycmVzcG9uZGluZy0KICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyNjQyMjIyPgpAQCAt
MTE4OTQsNyArMTE5MjYsNyBAQAogICAgICAgICAqIHBsYXRmb3JtL21hYy90aWxlZC1kcmF3aW5n
L2ZpeGVkL2Fic29sdXRlLWluc2lkZS1vdXQtb2Ytdmlldy1maXhlZC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgogICAgICAgICAqIHBsYXRmb3JtL21hYy90aWxlZC1kcmF3aW5nL2ZpeGVkL2Fic29sdXRl
LWluc2lkZS1vdXQtb2Ytdmlldy1maXhlZC5odG1sOiBBZGRlZC4KIAotICAgICAgICBVcGRhdGVk
IHJlc3VsdHMgYmVjYXVzZSB0aGVzZSB0ZXN0cyBjYW4gbm93IHNjcm9sbCBvbiB0aGUgc2Nyb2xs
aW5nIAorICAgICAgICBVcGRhdGVkIHJlc3VsdHMgYmVjYXVzZSB0aGVzZSB0ZXN0cyBjYW4gbm93
IHNjcm9sbCBvbiB0aGUgc2Nyb2xsaW5nCiAgICAgICAgIHRocmVhZCwgeWF5IQogICAgICAgICAq
IHBsYXRmb3JtL21hYy90aWxlZC1kcmF3aW5nL2ZpeGVkL2ZpeGVkLXBvc2l0aW9uLW91dC1vZi12
aWV3LWV4cGVjdGVkLnR4dDoKICAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdGlsZWQtZHJhd2luZy9m
aXhlZC9maXhlZC1wb3NpdGlvbi1vdXQtb2Ytdmlldy1uZWdhdGl2ZS16aW5kZXgtZXhwZWN0ZWQu
dHh0OgpAQCAtMTE5NzQsNyArMTIwMDYsNyBAQAogMjAxMi0xMS0wNiAgU2ltb24gRnJhc2VyICA8
c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggZmFpbGluZyBwbGF0Zm9ybS9t
YWMvdGlsZWQtZHJhd2luZyBvbiBMaW9uLgotICAgICAgICAKKwogICAgICAgICBJdCdzIG5vdCBw
b3NzaWJsZSB0byB1c2UgVGVzdEV4cGVjdGF0aW9ucyB0byBza2lwIHRlc3RzIG9uIGFsbCBidXQg
Y3VycmVudCBtYWMtd2syLAogICAgICAgICBzbyBqdXN0IGxhbmQgcmVzdWx0cyBmb3IgTGlvbi4K
IApAQCAtMTIyMDQsNyArMTIyMzYsNyBAQAogCiAgICAgICAgICogcGxhdGZvcm0vZWZsLXdrMi9U
ZXN0RXhwZWN0YXRpb25zOgogCi0yMDEyLTExLTA2ICBEYW4gQmVhbSAgPGRiZWFtQGNocm9taXVt
Lm9yZz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKzIwMTItMTEtMDYgIERhbiBC
ZWFtICA8ZGJlYW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEVuYWJsZSBSRVFVRVNUX0FVVE9D
T01QTEVURSBmb3IgY2hyb21pdW0gcG9ydAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAxMzc2CkBAIC0xMjM2NCw3ICsxMjM5Niw3IEBACiAgICAgICAg
IFJldmlld2VkIGJ5IEJldGggRGFraW4uCiAKICAgICAgICAgVGVzdCB3aXRoIC13ZWJraXQtYmFj
a2dyb3VuZC1jbGlwOiB0ZXh0IG9uIHRoZSBib2R5LCB3aGljaCBzY3JvbGxzLgotICAgICAgICAK
KwogICAgICAgICBTb21lIGFkZGl0aW9uYWwgdGVzdHMgdGhhdCBleGVyY2lzZSBkaWZmZXJlbnQg
Y29tYmluYXRpb25zIG9mIGh0bWwgYW5kCiAgICAgICAgIGJvZHkgdHJhbnNmb3JtIGFuZCBiYWNr
Z3JvdW5kLgogCkBAIC0xMzM1Niw3ICsxMzM4OCw3IEBACiAyMDEyLTExLTA1ICBCZXRoIERha2lu
ICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTAxMDAxCi0gICAgICAgIFBhZ2VzIHdpdGggcG9zaXRpb246Zml4ZWQg
ZWxlbWVudHMgc2hvdWxkIHN0aWxsIGJlIGFibGUgdG8gc2Nyb2xsIG9uIAorICAgICAgICBQYWdl
cyB3aXRoIHBvc2l0aW9uOmZpeGVkIGVsZW1lbnRzIHNob3VsZCBzdGlsbCBiZSBhYmxlIHRvIHNj
cm9sbCBvbgogICAgICAgICB0aGUgc2Nyb2xsaW5nIHRocmVhZAogICAgICAgICAtYW5kIGNvcnJl
c3BvbmRpbmctCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDg1NzMxNT4KQEAgLTEzMzc4LDEw
ICsxMzQxMCwxMCBAQAogICAgICAgICAqIHBsYXRmb3JtL21hYy90aWxlZC1kcmF3aW5nL2ZpeGVk
L3BlcmNlbnRhZ2UtaW5zaWRlLWZpeGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCiAgICAgICAgICog
cGxhdGZvcm0vbWFjL3RpbGVkLWRyYXdpbmcvZml4ZWQvcGVyY2VudGFnZS1pbnNpZGUtZml4ZWQu
aHRtbDogQWRkZWQuCiAKLSAgICAgICAgVGhlc2UgdHdvIHRlc3RzIGFyZSBzdXBwb3NlZCB0byBi
ZSBpbiAic2xvdyBzY3JvbGxpbmciIG1vZGUuIE5vdyB0aGF0IAotICAgICAgICBmaXhlZCBlbGVt
ZW50cyBjYW4gc2Nyb2xsICJmYXN0LCIgd2UgbmVlZCBzb21ldGhpbmcgZWxzZSB0byBmb3JjZSAK
LSAgICAgICAgc2xvdyBzY3JvbGxpbmcuIFdlIHNob3VsZCBwcm9iYWJseSBqdXN0IGFkZCBzb21l
dGhpbmcgdG8gCi0gICAgICAgIHdpbmRvdy5pbnRlcm5hbHMgdG8gZG8gdGhhdCwgYnV0IGluIHRo
ZSBtZWFudGltZSwgCisgICAgICAgIFRoZXNlIHR3byB0ZXN0cyBhcmUgc3VwcG9zZWQgdG8gYmUg
aW4gInNsb3cgc2Nyb2xsaW5nIiBtb2RlLiBOb3cgdGhhdAorICAgICAgICBmaXhlZCBlbGVtZW50
cyBjYW4gc2Nyb2xsICJmYXN0LCIgd2UgbmVlZCBzb21ldGhpbmcgZWxzZSB0byBmb3JjZQorICAg
ICAgICBzbG93IHNjcm9sbGluZy4gV2Ugc2hvdWxkIHByb2JhYmx5IGp1c3QgYWRkIHNvbWV0aGlu
ZyB0bworICAgICAgICB3aW5kb3cuaW50ZXJuYWxzIHRvIGRvIHRoYXQsIGJ1dCBpbiB0aGUgbWVh
bnRpbWUsCiAgICAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDpmaXhlZCB3aWxsIHdvcmsuCiAg
ICAgICAgICogcGxhdGZvcm0vbWFjL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nLXRyZWUtc2xvdy1z
Y3JvbGxpbmctZXhwZWN0ZWQudHh0OgogICAgICAgICAqIHBsYXRmb3JtL21hYy90aWxlZC1kcmF3
aW5nL3Njcm9sbGluZy10cmVlLXNsb3ctc2Nyb2xsaW5nLmh0bWw6CkBAIC0xNTQ1Niw3ICsxNTQ4
OCw3IEBACiAKIDIwMTItMTEtMDIgIFN0ZXBoZW4gV2hpdGUgIDxzZW5vcmJsYW5jb0BjaHJvbWl1
bS5vcmc+CiAKLSAgICAgICAgW0Nocm9taXVtXSBVbnJldmlld2VkIGdhcmRlbmluZy4gIFNvbWUg
bmV3IE1hYyBiYXNlbGluZXMsIGFuZCAKKyAgICAgICAgW0Nocm9taXVtXSBVbnJldmlld2VkIGdh
cmRlbmluZy4gIFNvbWUgbmV3IE1hYyBiYXNlbGluZXMsIGFuZAogICAgICAgICBhZGQgcmVhbCBi
dWdzIGluIHBsYWNlIG9mIEJ1ZyhzZW5vcmJsYW5jbykuCiAKICAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS1tYWMtbGlvbi9jb21wb3NpdGluZy9nZW9tZXRyeS9maXhlZC1wb3NpdGlvbi10cmFu
c2Zvcm0tY29tcG9zaXRlZC1wYWdlLXNjYWxlLWRvd24tZXhwZWN0ZWQucG5nOgpAQCAtMTU2MzQs
OSArMTU2NjYsOSBAQAogICAgICAgICBlbGVtZW50cy4gIE5lc3RlZCBlbGVtZW50cyB3aXRoIGV4
cGxpY2l0IGhhbmRsZXJzIGFyZSBmYXZvcmVkIG92ZXIKICAgICAgICAgYW5jZXN0b3IgZWxlbWVu
dHMuICBUaGUgY2hhbmdlIHRvIHNjb3JpbmcgaW4gdG91Y2ggYWRqdXN0bWVudCwKICAgICAgICAg
d2hpY2ggcmVtb3ZlcyBiaWFzIHRvd2FyZHMgc21hbGwgdGFyZ2V0cywgYnJva2UgdHdvIG9mIHRo
ZSBsYXlvdXQKLSAgICAgICAgdGVzdHMuICBUaGUgdXBkYXRlZCB0ZXN0cyBtb3JlIGFjY3VyYXRl
bHkgcmVmbGVjdCBpbnRlbmRlZCAKLSAgICAgICAgYmVoYXZpb3IuIAotIAorICAgICAgICB0ZXN0
cy4gIFRoZSB1cGRhdGVkIHRlc3RzIG1vcmUgYWNjdXJhdGVseSByZWZsZWN0IGludGVuZGVkCisg
ICAgICAgIGJlaGF2aW9yLgorCiAgICAgICAgICogdG91Y2hhZGp1c3RtZW50L25lc3RlZC1zaGFk
b3ctbm9kZS5odG1sOgogICAgICAgICAqIHRvdWNoYWRqdXN0bWVudC9yb3RhdGVkLW5vZGUuaHRt
bDoKIApAQCAtMTU4MjgsNyArMTU4NjAsNyBAQAogCiAgICAgICAgIFJlYmFzZWxpbmUgc29tZSBN
YXRoTUwgcmVzdWx0cywgYW5kIG1hcmsgY29tcG9zaXRpbmcvaWZyYW1lcy9vdmVybGFwcGVkLW5l
c3RlZC1pZnJhbWVzLmh0bWwKICAgICAgICAgYXMgZmxha2V5IGJlY2F1c2UgaXQgaXMuCi0gICAg
ICAgIAorCiAgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CiAgICAgICAg
ICogcGxhdGZvcm0vbWFjL21hdGhtbC9wcmVzZW50YXRpb24vbW8tc3RyZXRjaC1leHBlY3RlZC50
eHQ6CiAgICAgICAgICogcGxhdGZvcm0vbWFjL21hdGhtbC9wcmVzZW50YXRpb24vcm93LWFsaWdu
bWVudC1leHBlY3RlZC5wbmc6CkBAIC0xNTkxNyw5ICsxNTk0OSw5IEBACiAKICAgICAgICAgUmVi
YXNlbGluZSB0ZXN0cyBsaXN0ZWQgaW4gTWFjIFRlc3RFeHBlY3RhdGlvbnMgYXMgbmVlZGluZyBu
ZXcgYmFzZWxpbmVzLCBvdGhlciB0aGFuIHRob3NlIHRoYXQKICAgICAgICAgYXJlIGZhaWxpbmcg
cmVmIHRlc3RzLgotICAgICAgICAKKwogICAgICAgICBSZW1vdmVkIHJlbGV2YW50IGxpbmVzIGZy
b20gVGVzdEV4cGVjdGF0aW9ucy4KLSAgICAgICAgCisKICAgICAgICAgQ2FycnkgYWxvbmcgc29t
ZSBuZXcgaW1hZ2UgcmVzdWx0cyBmb3IgdGhlIGRpcmVjdG9yaWVzIHdoaWNoIHdlcmUgcmViYXNl
bGluZWQuCiAKICAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgVGltIEhvcnRvbgpAQCAtMTkzNDMs
NyArMTkzNzUsNyBAQAogCiAyMDEyLTExLTAxICBTdGVwaGVuIFdoaXRlICA8c2Vub3JibGFuY29A
Y2hyb21pdW0ub3JnPgogCi0gICAgICAgIFtDaHJvbWl1bV0gVW5yZXZpZXdlZCBnYXJkZW5pbmcu
ICBOZXcgcmVmdGVzdCBmcm9tIAorICAgICAgICBbQ2hyb21pdW1dIFVucmV2aWV3ZWQgZ2FyZGVu
aW5nLiAgTmV3IHJlZnRlc3QgZnJvbQogICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2No
YW5nZXNldC8xMzMxNDYgZG9lc24ndCBzZWVtIHRvIHdvcmsgb24KICAgICAgICAgTWFjT1MgMTAu
OC4KIApAQCAtMTk1MzYsNyArMTk1NjgsNyBAQAogCiAyMDEyLTEwLTMxICBSb2dlciBGb25nICA8
cm9nZXJfZm9uZ0BhcHBsZS5jb20+CiAKLSAgICAgICAgVW5yZXZpZXdlZC4gU2tpcHBpbmcgaHR0
cC90ZXN0cy94bWxodHRwcmVxdWVzdC90aW1lb3V0L3htbGh0dHByZXF1ZXN0LXRpbWVvdXQtc3lu
Y29ubWFpbi5odG1sLiAKKyAgICAgICAgVW5yZXZpZXdlZC4gU2tpcHBpbmcgaHR0cC90ZXN0cy94
bWxodHRwcmVxdWVzdC90aW1lb3V0L3htbGh0dHByZXF1ZXN0LXRpbWVvdXQtc3luY29ubWFpbi5o
dG1sLgogICAgICAgICBOb3Qgc3VwcG9ydGVkIGluIENGTmV0d29yayB5ZXQuIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAzNDkuCiAKICAgICAgICAgKiBwbGF0Zm9y
bS93aW4vVGVzdEV4cGVjdGF0aW9uczoKQEAgLTE5ODA0LDcgKzE5ODM2LDcgQEAKIAogMjAxMi0x
MC0zMSAgU3RlcGhlbiBXaGl0ZSAgPHNlbm9yYmxhbmNvQGNocm9taXVtLm9yZz4KIAotICAgICAg
ICBbQ2hyb21pdW1dIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLiAgTW9yZSBmbGFreSBmYWxsb3V0IGZy
b20gCisgICAgICAgIFtDaHJvbWl1bV0gVW5yZXZpZXdlZCBnYXJkZW5pbmcuICBNb3JlIGZsYWt5
IGZhbGxvdXQgZnJvbQogICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8x
MzMwNjkuCiAKICAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOgpA
QCAtMTk4OTUsNyArMTk5MjcsNyBAQAogICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkveHNz
QXVkaXRvci94c3MtcHJvdGVjdGlvbi1wYXJzaW5nLTAyLWV4cGVjdGVkLnR4dDogQWRkZWQuCiAg
ICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL3hzcy1wcm90ZWN0aW9uLXBh
cnNpbmctMDIuaHRtbDogQWRkZWQuCiAgICAgICAgIE5ldyB0ZXN0IGZvciB0ZXN0aW5nIHgteHNz
LXByb3RlY3Q6IDA7IChhbGxvdyB0cmFpbGluZyBzZW1pY29sb24pLgotICAgICAgICAKKwogMjAx
Mi0xMC0zMSAgU3RlcGhlbiBXaGl0ZSAgPHNlbm9yYmxhbmNvQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBbY2hyb21pdW1dIEZpeCBpbmNvcnJlY3QgdGVzdCBuYW1lcyBsYW5kZWQgaW4KQEAgLTIw
ODY5LDcgKzIwOTAxLDcgQEAKICAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC9jYW52YXMtMmQt
d2ViZ2wtdGV4dHVyZS5odG1sOgogCiAyMDEyLTEwLTI5ICBHbGVubiBBZGFtcyAgPGdsZW5uQHNr
eW5hdi5jb20+Ci0gICAgICAgCisKICAgICAgICAgW0NTU09NXSBFeHRyYW5lb3VzIHdoaXRlc3Bh
Y2UgaW4gQ1NTSW1wb3J0UnVsZS5jc3NUZXh0CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA2NTcKIApAQCAtMjA5NjAsNyArMjA5OTIsNyBAQAogICAg
ICAgICBSZXZpZXdlZCBieSBEZWFuIEphY2tzb24uCiAKICAgICAgICAgTmV3IHRlc3RzIHRvIGFz
c2VzIHRoZSBjb3JyZWN0bmVzcyBvZiBDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcjo6YmxlbmQu
Ci0gICAgICAgIAorCiAgICAgICAgICogYW5pbWF0aW9ucy9yZXNvdXJjZXMvYW5pbWF0aW9uLXRl
c3QtaGVscGVycy5qczoKICAgICAgICAgKGN1c3RvbUZpbHRlclBhcmFtZXRlck1hdGNoKTogQSBj
aGVjayBmb3IgZnVuY3Rpb25zJyBwYXJhbWV0ZXJzIGxlbmd0aCBoYXMgYmVlbiBhZGRlZC4KICAg
ICAgICAgKiBjc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItYXJyYXktYmxlbmRpbmct
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KQEAgLTIxNjkxLDEwICsyMTcyMywxMCBAQAogICAgICAgICBJ
biByMTMxMDA5IEkgZml4ZWQgbGF5ZXJUcmVlQXNUZXh0KCkgdG8gbm90IGJlIGZsYWtleSB3aXRo
IHRpbGVkIGxheWVycywgYnkgZW5zdXJpbmcgdGhhdAogICAgICAgICB3ZSBmbHVzaCBsYXllciBz
dGF0ZSBiZWZvcmUgZHVtcGluZyB0aGUgbGF5ZXIgdHJlZS4gVGhhdCBtYWtlcyB0aGVzZSB0ZXN0
cyBub24tZmxha2V5LiBJIHdhcwogICAgICAgICBhbHNvIGFibGUgdG8gcmVtb3ZlIGFsbCB0aGUg
c2V0VGltZW91dHMoKSBmcm9tIHRoZXNlIHRlc3RzLgotICAgICAgICAKKwogICAgICAgICBUaGUg
J3VzaW5nVGlsZWRMYXllcicgcHJvcGVydHkgaXMgb25seSBkdW1wZWQgb24gTWFjLCBzbyBtYWRl
IGNyb3NzLXBsYXRmb3JtIHJlc3VsdHMgd2l0aG91dAogICAgICAgICB0aGlzIGZsYWcsIGFuZCBh
ZGRlZCBNYWMtc3BlY2lmaWMgcmVzdWx0cyB3aXRoIGl0LgotICAgICAgICAKKwogICAgICAgICBV
bnNraXBwZWQgc29tZSB0ZXN0cyBvbiBub24tTWFjIHBsYXRmb3JtcyB0aGF0IHNob3VsZCBub3cg
cGFzcy4KIAogICAgICAgICAqIGNvbXBvc2l0aW5nL3RpbGluZy9iYWNrZmFjZS1wcmVzZXJ2ZS0z
ZC10aWxlZC1leHBlY3RlZC50eHQ6CkBAIC0yMzE4OCw3ICsyMzIyMCw3IEBACiAgICAgICAgIFJl
dmlld2VkIGJ5IEJldGggRGFraW4uCiAKICAgICAgICAgTmV3IHRlc3QgZm9yIHpvb21pbmcgd2l0
aCBhIHRpbGVkIGxheWVyLCBhbmQgYWRqdXN0IGFuIGV4aXN0aW5nIHJlc3VsdC4KLSAgICAgICAg
CisKICAgICAgICAgKiBjb21wb3NpdGluZy90aWxpbmcvdGlsZS1jYWNoZS16b29tZWQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KICAgICAgICAgKiBjb21wb3NpdGluZy90aWxpbmcvdGlsZS1jYWNoZS16
b29tZWQuaHRtbDogQWRkZWQuCiAgICAgICAgICogcGxhdGZvcm0vbWFjL3RpbGVkLWRyYXdpbmcv
dGlsZS1jb3ZlcmFnZS1zY3JvbGwtdG8tYm90dG9tLWV4cGVjdGVkLnR4dDoKQEAgLTI0MDc4LDcg
KzI0MTEwLDcgQEAKIAogMjAxMi0xMC0yNSAgUm9nZXIgRm9uZyAgPHJvZ2VyX2ZvbmdAYXBwbGUu
Y29tPgogCi0gICAgICAgIFVucmV2aWV3ZWQuIFNraXBwaW5nIGluc3BlY3Rvci9lbGVtZW50cy91
cGRhdGUtc2hhZG93ZG9tLmh0bWwuIAorICAgICAgICBVbnJldmlld2VkLiBTa2lwcGluZyBpbnNw
ZWN0b3IvZWxlbWVudHMvdXBkYXRlLXNoYWRvd2RvbS5odG1sLgogICAgICAgICBGZWF0dXJlIGlu
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTU2NyBub3Qgc3VwcG9y
dGVkIG9uIFdpbmRvd3MgcG9ydHMuCiAKICAgICAgICAgKiBwbGF0Zm9ybS93aW4vVGVzdEV4cGVj
dGF0aW9uczoKQEAgLTI0NjgyLDcgKzI0NzE0LDcgQEAKIAogICAgICAgICBVbnJldmlld2VkIGdh
cmRlbmluZy4KIAotICAgICAgICBTa2lwcGVkIGNyYXNoaW5nIGZhc3QvZG9tL25lc3RlZC1zY3Jp
cHQtZXhjZXB0aW9ucy5odG1sLCBuZXR3b3JraW5mb3JtYXRpb24vbXVsdGlwbGUtZnJhbWVzLmh0
bWwsIAorICAgICAgICBTa2lwcGVkIGNyYXNoaW5nIGZhc3QvZG9tL25lc3RlZC1zY3JpcHQtZXhj
ZXB0aW9ucy5odG1sLCBuZXR3b3JraW5mb3JtYXRpb24vbXVsdGlwbGUtZnJhbWVzLmh0bWwsCiAg
ICAgICAgIG5ldHdvcmtpbmZvcm1hdGlvbi9iYXNpYy1hbGwtdHlwZXMtb2YtZXZlbnRzLmh0bWws
IG5ldHdvcmtpbmZvcm1hdGlvbi91cGRhdGVzLmh0bWwsIG5ldHdvcmtpbmZvcm1hdGlvbi9hZGQt
bGlzdGVuZXItZnJvbS1jYWxsYmFjay5odG1sLAogICAgICAgICBuZXR3b3JraW5mb3JtYXRpb24v
YmFzaWMtb3BlcmF0aW9uLmh0bWwsIHN2Zy9mb3JlaWduT2JqZWN0L3ZpZXdwb3J0LWZvcmVpZ25v
YmplY3QtY3Jhc2guaHRtbCBmb3IgRUZMIFdLMi4KIApAQCAtMjQ4MzgsNyArMjQ4NzAsNyBAQAog
MjAxMi0xMC0yNCAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDE2OQotICAgICAgICBXZSBz
aG91bGQgbWFrZSBUaWxlQ2FjaGUgdGlsZXMgdGhlIHNpemUgb2YgdGhlIHRpbGUgY292ZXJhZ2Ug
cmVjdCAKKyAgICAgICAgV2Ugc2hvdWxkIG1ha2UgVGlsZUNhY2hlIHRpbGVzIHRoZSBzaXplIG9m
IHRoZSB0aWxlIGNvdmVyYWdlIHJlY3QKICAgICAgICAgd2hlbiB3ZSBjYW4ndCBkbyBmYXN0IHNj
cm9sbGluZwogICAgICAgICAtYW5kLQogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTI1MDUwMjE+
CkBAIC0yNTA1MSw3ICsyNTA4Myw3IEBACiAgICAgICAgIFJldmlld2VkIGJ5IEJldGggRGFraW4u
CiAKICAgICAgICAgUmVtb3ZlIHRoZSBhcmlhLXJhbmdlLmh0bWwgdGVzdCBiZWNhdXNlIHRoZSBz
YW1lIGZ1bmN0aW9uYWxpdHkgaXMgY292ZXJlZCBpbiBhcmlhLXNsaWRlci5odG1sCi0gICAgICAg
IFJlbmFtZSBhcmlhLXJhbmdlLXZhbHVlIHRvIGFyaWEtc2xpZGVyLXZhbHVlIGFuZCB1c2UgdGhl
IG5vbi1hYnN0cmFjdCByb2xlIHNsaWRlciBpbnN0ZWFkIChhbmQgCisgICAgICAgIFJlbmFtZSBh
cmlhLXJhbmdlLXZhbHVlIHRvIGFyaWEtc2xpZGVyLXZhbHVlIGFuZCB1c2UgdGhlIG5vbi1hYnN0
cmFjdCByb2xlIHNsaWRlciBpbnN0ZWFkIChhbmQKICAgICAgICAgbW92ZSB0aGF0IHRvIHRoZSBn
ZW5lcmFsIGFjY2Vzc2liaWxpdHkgcGxhdGZvcm0pLgogCiAgICAgICAgICogYWNjZXNzaWJpbGl0
eS9hcmlhLXNsaWRlci12YWx1ZS1leHBlY3RlZC50eHQ6IENvcGllZCBmcm9tIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L2FyaWEtcmFuZ2UtdmFsdWUtZXhwZWN0ZWQudHh0
LgpAQCAtMjUxNjgsNyArMjUyMDAsNyBAQAogICAgICAgICBSZXZpZXdlZCBieSBNYWNpZWogU3Rh
Y2hvd2lhay4KIAogICAgICAgICAqIG1lZGlhL3RyYWNrL3RyYWNrLWN1ZS1yZW5kZXJpbmctZXhw
ZWN0ZWQudHh0OiBVcGRhdGUgcmVzdWx0cyBmb3IgY2FwdGlvbiBjc3MgY2hhbmdlcy4KLSAgICAg
ICAgKiBtZWRpYS90cmFjay90cmFjay1jdWUtcmVuZGVyaW5nLmh0bWw6IAorICAgICAgICAqIG1l
ZGlhL3RyYWNrL3RyYWNrLWN1ZS1yZW5kZXJpbmcuaHRtbDoKICAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOiBTa2lwIHRlc3RzIHRoYXQgbmVlZCB0byBiZSByZWJh
c2VsaW5lZC4KIAogMjAxMi0xMC0yNCAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVt
Lm9yZz4KQEAgLTI1NTkyLDcgKzI1NjI0LDcgQEAKIAogMjAxMi0xMC0yMyAgTm9lbCBHb3Jkb24g
IDxub2VsLmdvcmRvbkBnbWFpbC5jb20+CiAKLSAgICAgICAgZXhpZi1vcmllbnRhdGlvbiB0ZXN0
cyBzaG91bGQgdXNlIGR1bXBBc1RleHQodHJ1ZSkgCisgICAgICAgIGV4aWYtb3JpZW50YXRpb24g
dGVzdHMgc2hvdWxkIHVzZSBkdW1wQXNUZXh0KHRydWUpCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAwNzYKIAogICAgICAgICBSZXZpZXdlZCBieSBF
cmljIFNlaWRlbC4KQEAgLTI4NDc1LDcgKzI4NTA3LDcgQEAKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk5NzY3CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
TGV2aSBXZWludHJhdWIuCi0gICAgICAgIAorCiAgICAgICAgIEFkZCB0ZXN0IGZvciBhbGlnbm1l
bnQgb2YgcmVwbGFjZWQgZWxlbWVudHMuIFVwZGF0ZSBleGlzdGluZwogICAgICAgICB0ZXN0cyB0
byBhY2NvdW50IGZvciByb3VuZGluZyBkaWZmZXJlbmNlcyBpbiBhbGlnbm1lbnQuCiAKQEAgLTI4
NzU1LDcgKzI4Nzg3LDcgQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4K
IAotICAgICAgICBVbnNraXAgdGVzdHMgd29ya2luZyBhZnRlciB3ZSBoYW5kbGUgR0VUIG9mIEJs
b2IgVVJMcy4gVW5mb3J0dW5hdGVseSB0aGV5IHJlcXVpcmUgYmVnaW5EcmFnV2l0aEZpbGVzLCAK
KyAgICAgICAgVW5za2lwIHRlc3RzIHdvcmtpbmcgYWZ0ZXIgd2UgaGFuZGxlIEdFVCBvZiBCbG9i
IFVSTHMuIFVuZm9ydHVuYXRlbHkgdGhleSByZXF1aXJlIGJlZ2luRHJhZ1dpdGhGaWxlcywKICAg
ICAgICAgYW5kIHRodXMgb25seSB3b3JrIGluIERSVC4KIAogICAgICAgICAqIHBsYXRmb3JtL3F0
LTUuMC13azIvVGVzdEV4cGVjdGF0aW9uczoKQEAgLTMyNDY1LDcgKzMyNDk3LDcgQEAKIAogICAg
ICAgICBSZXZpZXdlZCBieSBUb255IEdlbnRpbGNvcmUuCiAKLSAgICAgICAgVGVzdCBjYXNlcyBp
biB0aGlzIHBhdGNoIHZhbGlkYXRlIGJ1ZmZlciBzaXplIHJlc3RyaWN0aW9uIGZ1bmN0aW9uYWxp
dHksIGNsZWFyIHJlc291cmNlIHRpbWluZyBmdW5jdGlvbmFsaXR5IGFuZCB0aGUgZmlyZWQgZXZl
bnQgd2hlbiBidWZmZXIgZnVsbC4gCisgICAgICAgIFRlc3QgY2FzZXMgaW4gdGhpcyBwYXRjaCB2
YWxpZGF0ZSBidWZmZXIgc2l6ZSByZXN0cmljdGlvbiBmdW5jdGlvbmFsaXR5LCBjbGVhciByZXNv
dXJjZSB0aW1pbmcgZnVuY3Rpb25hbGl0eSBhbmQgdGhlIGZpcmVkIGV2ZW50IHdoZW4gYnVmZmVy
IGZ1bGwuCiAKICAgICAgICAgKiBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3Jlc291cmNlcy93ZWJw
ZXJmdGVzdGhhcm5lc3NleHRlbnNpb24uanM6CiAgICAgICAgIChQZXJmb3JtYW5jZUNvbnRleHQu
cHJvdG90eXBlLmdldEVudHJpZXNCeU5hbWUpOgpAQCAtMzI5NDMsNyArMzI5NzUsNyBAQAogCiAg
ICAgICAgIFJldmlld2VkIGJ5IFRvbnkgR2VudGlsY29yZS4KIAotICAgICAgICBUZXN0IGNhc2Vz
IGluIHRoaXMgcGF0Y2ggdmFsaWRhdGUgZnVuY3Rpb25hbGl0eSBvZiBXM0MgVXNlciBUaW1pbmcg
aW50ZXJmYWNlLiBUaGVzZSB0ZXN0IGNhc2VzIHVzZSBXM0MgdGVzdGhhcm5lc3MuIFNpbmNlIFVz
ZXIgVGltaW5nIGZlYXR1cmUgaXMgbm90IGVuYWJsZWQgaW4gYW55IHBsYXRmb3JtIHlldCwgYWxs
IHNraXBwZWQgY3VycmVudHRseS4gCisgICAgICAgIFRlc3QgY2FzZXMgaW4gdGhpcyBwYXRjaCB2
YWxpZGF0ZSBmdW5jdGlvbmFsaXR5IG9mIFczQyBVc2VyIFRpbWluZyBpbnRlcmZhY2UuIFRoZXNl
IHRlc3QgY2FzZXMgdXNlIFczQyB0ZXN0aGFybmVzcy4gU2luY2UgVXNlciBUaW1pbmcgZmVhdHVy
ZSBpcyBub3QgZW5hYmxlZCBpbiBhbnkgcGxhdGZvcm0geWV0LCBhbGwgc2tpcHBlZCBjdXJyZW50
dGx5LgogCiAgICAgICAgICogaHR0cC90ZXN0cy93M2Mvd2VicGVyZi9yZXNvdXJjZXMvd2VicGVy
ZnRlc3RoYXJuZXNzZXh0ZW5zaW9uLmpzOiBBZGRlZC4KICAgICAgICAgKHRlc3RfbWV0aG9kX2V4
aXN0cyk6CkBAIC0zNTMwNyw3ICszNTMzOSw3IEBACiAgICAgICAgIFJldmlld2VkIGJ5IFRpbSBI
b3J0b24uCiAKICAgICAgICAgQWRkIHNvbWUgdGVzdHMgb2YgdGhlIEdyYXBoaWNzTGF5ZXJDQSB2
aXNpYmxlUmVjdCBmb3Igc2ltcGxlIGNhc2VzLgotICAgICAgICAKKwogICAgICAgICBTa2lwIHRo
ZXNlIHRlc3RzIG9uIHBsYXRmb3JtcyB0aGF0IGRvbid0IGxvZyBsYXllciB2aXNpYmxlIHJlY3Rz
CiAgICAgICAgIChhbGwgbm9uLU1hYykuCiAKQEAgLTM2NDQzLDggKzM2NDc1LDggQEAKICAgICAg
ICAgQWRkIHBsYXRmb3JtIHNwZWNpZmljIGV4cGVjdGVkIHJlc3VsdHMuCiAKICAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL21lZGlhLWtleS1ldmVudC1jb25z
dHJ1Y3Rvci1leHBlY3RlZC50eHQ6IEFkZGVkLgotICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L2Zhc3QvZXZlbnRzL2NvbnN0cnVjdG9ycy9tZWRpYS1rZXktZXZlbnQtY29uc3RydWN0b3ItZXhw
ZWN0ZWQudHh0OiBDb3BpZWQgZnJvbSAKLSAgICAgICAgICAgIGZhc3QvZXZlbnRzL2NvbnN0cnVj
dG9ycy9tZWRpYS1rZXktZXZlbnQtY29uc3RydWN0b3ItZXhwZWN0ZWQudHh0IGR1ZSB0byBjaHJv
bWl1bSBleHBlY3RlZCByZXN1bHRzIAorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3Qv
ZXZlbnRzL2NvbnN0cnVjdG9ycy9tZWRpYS1rZXktZXZlbnQtY29uc3RydWN0b3ItZXhwZWN0ZWQu
dHh0OiBDb3BpZWQgZnJvbQorICAgICAgICAgICAgZmFzdC9ldmVudHMvY29uc3RydWN0b3JzL21l
ZGlhLWtleS1ldmVudC1jb25zdHJ1Y3Rvci1leHBlY3RlZC50eHQgZHVlIHRvIGNocm9taXVtIGV4
cGVjdGVkIHJlc3VsdHMKICAgICAgICAgICAgIHNlYXJjaCBvcmRlciBpbmNsdWRpbmcgcGxhdGZv
cm0vbWFjLgogCiAyMDEyLTEwLTEyICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgIDxyYXBoYWVsLmt1
Ym8uZGEuY29zdGFAaW50ZWwuY29tPgpAQCAtMzY4MDgsNyArMzY4NDAsNyBAQAogICAgICAgICAq
IHRyYW5zaXRpb25zL3Jlc291cmNlcy90cmFuc2l0aW9uLXRlc3QtaGVscGVycy5qczoKICAgICAg
ICAgKiB0cmFuc2l0aW9ucy9zdmctdHJhbnNpdGlvbnMtZXhwZWN0ZWQudHh0OgogCi0yMDEyLTEw
LTExICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4gCisyMDEyLTEwLTEx
ICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hy
b21pdW1dIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLCBUZXN0RXhwZWN0YXRpb24gdXBkYXRlZC4KIApA
QCAtMzY4MzksNyArMzY4NzEsNyBAQAogCiAgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVz
dEV4cGVjdGF0aW9uczogQWRkZWQgdGVtcG9yYXJ5IGV4cGVjdGF0aW9ucy4KIAotMjAxMi0xMC0x
MSAgU2hpbnlhIEthd2FuYWthICA8c2hpbnlha0BjaHJvbWl1bS5vcmc+IAorMjAxMi0xMC0xMSAg
U2hpbnlhIEthd2FuYWthICA8c2hpbnlha0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9t
aXVtXSBVbnJldmlld2VkIGdhcmRlbmluZywgcmViYXNlbGluZWQuCiAKQEAgLTM3NjQ0LDcgKzM3
Njc2LDcgQEAKIAogMjAxMi0xMC0xMCAgRWxsaW90dCBTcHJlaG4gIDxlc3ByZWhuQGNocm9taXVt
Lm9yZz4KIAotICAgICAgICBNb3ZlIDpiZWZvcmUgYW5kIDphZnRlciBpbnRvIHRoZSBET00gICAg
ICAgIAorICAgICAgICBNb3ZlIDpiZWZvcmUgYW5kIDphZnRlciBpbnRvIHRoZSBET00KICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1MTE3CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCkBAIC0zNzczMiw3ICszNzc2NCw3IEBACiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBDaGFuZy4KIAotICAgICAgICBFdmVyeSBjaGVja0xheW91
dCB0ZXN0IHdhcyBhbHJlYWR5IGR1bXBBc1RleHQgZXhjZXB0IGZvciAKKyAgICAgICAgRXZlcnkg
Y2hlY2tMYXlvdXQgdGVzdCB3YXMgYWxyZWFkeSBkdW1wQXNUZXh0IGV4Y2VwdCBmb3IKICAgICAg
ICAgY3NzMy9mbGV4Ym94L2ZsZXgtaXRlbS1jaGlsZC1vdmVyZmxvdy5odG1sLCB3aGljaCBpcyBh
IHJlZnRlc3QKICAgICAgICAgYW5kIHJlYWxseSBkb2Vzbid0IG5lZWQgdG8gYmUgYSBjaGVja0xh
eW91dCB0ZXN0LgogCkBAIC00MjEyNyw3ICs0MjE1OSw3IEBACiAKICAgICAgICAgKiBmYXN0L3dy
aXRpbmctbW9kZS92ZXJ0aWNhbC1zdWJzdC1mb250LXZlcnQtbm8tZGZsdC1leHBlY3RlZC5odG1s
OiBBZGRlZC4KICAgICAgICAgKiBmYXN0L3dyaXRpbmctbW9kZS92ZXJ0aWNhbC1zdWJzdC1mb250
LXZlcnQtbm8tZGZsdC5odG1sOiBBZGRlZC4KLSAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4
cGVjdGF0aW9uczogQWRkZWQgdGhlIG5ldyB0ZXN0IGFzIGl0IGZhaWxzIG9uIE1hYyBiZWNhdXNl
IG9mIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODU2MC4gCisgICAg
ICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6IEFkZGVkIHRoZSBuZXcgdGVzdCBh
cyBpdCBmYWlscyBvbiBNYWMgYmVjYXVzZSBvZiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9OTg1NjAuCiAKIDIwMTItMTAtMDUgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9t
aXVtLm9yZz4KIApAQCAtNDIyNDcsOSArNDIyNzksOSBAQAogICAgICAgICAoZ2VuZXJhdGVTaW11
bGF0ZWRTaGFwZUVsZW1lbnQpOiBTaW11bGF0ZSBhIHNoYXBlLWluc2lkZSBhbmQgYXBwcm9wcmlh
dGVseSBmaWxsIGl0CiAgICAgICAgIHdpdGggY29udGVudC4KICAgICAgICAgKGdlbmVyYXRlU2hh
cGVFbGVtZW50KTogQ3JlYXRlIGEgc2hhcGUtaW5zaWRlIGFuZCBmaWxsIGl0IHdpdGggY29udGVu
dC4KLSAgICAgICAgKiBmYXN0L2V4Y2x1c2lvbnMvc2hhcGUtaW5zaWRlL3NoYXBlLWluc2lkZS1y
b3VuZGVkLXJlY3RhbmdsZS0wMDEtZXhwZWN0ZWQuaHRtbDogCisgICAgICAgICogZmFzdC9leGNs
dXNpb25zL3NoYXBlLWluc2lkZS9zaGFwZS1pbnNpZGUtcm91bmRlZC1yZWN0YW5nbGUtMDAxLWV4
cGVjdGVkLmh0bWw6CiAgICAgICAgIFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0L2V4Y2x1
c2lvbnMvc2hhcGUtaW5zaWRlL3NoYXBlLWluc2lkZS1yb3VuZGVkLXJlY3RhbmdsZS1leHBlY3Rl
ZC5odG1sLgotICAgICAgICAqIGZhc3QvZXhjbHVzaW9ucy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5z
aWRlLXJvdW5kZWQtcmVjdGFuZ2xlLTAwMS5odG1sOiAKKyAgICAgICAgKiBmYXN0L2V4Y2x1c2lv
bnMvc2hhcGUtaW5zaWRlL3NoYXBlLWluc2lkZS1yb3VuZGVkLXJlY3RhbmdsZS0wMDEuaHRtbDoK
ICAgICAgICAgUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvZXhjbHVzaW9ucy9zaGFwZS1p
bnNpZGUvc2hhcGUtaW5zaWRlLXJvdW5kZWQtcmVjdGFuZ2xlLmh0bWwuCiAgICAgICAgICogZmFz
dC9leGNsdXNpb25zL3NoYXBlLWluc2lkZS9zaGFwZS1pbnNpZGUtcm91bmRlZC1yZWN0YW5nbGUt
MDAyLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgogICAgICAgICAqIGZhc3QvZXhjbHVzaW9ucy9zaGFw
ZS1pbnNpZGUvc2hhcGUtaW5zaWRlLXJvdW5kZWQtcmVjdGFuZ2xlLTAwMi5odG1sOiBBZGRlZC4K
QEAgLTQyMjY4LDcgKzQyMzAwLDcgQEAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2lsdmlhIFBmZWlm
ZmVyLgogCiAgICAgICAgICogbWVkaWEvdHJhY2svdHJhY2stY3VlLXJlbmRlcmluZy1leHBlY3Rl
ZC50eHQ6IFVwZGF0ZSByZXN1bHRzIGZvciBjYXB0aW9uIGNzcyBjaGFuZ2VzLgotICAgICAgICAq
IG1lZGlhL3RyYWNrL3RyYWNrLWN1ZS1yZW5kZXJpbmcuaHRtbDogCisgICAgICAgICogbWVkaWEv
dHJhY2svdHJhY2stY3VlLXJlbmRlcmluZy5odG1sOgogICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL1Rlc3RFeHBlY3RhdGlvbnM6IFNraXAgdGVzdHMgdGhhdCBuZWVkIHRvIGJlIHJlYmFzZWxp
bmVkLgogCiAyMDEyLTEwLTA1ICBUYWthc2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4K
QEAgLTQyNDc4LDcgKzQyNTEwLDcgQEAKICAgICAgICAgUmVhbGx5IHdlIG9ubHkgY2FyZSBpZiB0
ZXN0cyBnZXQgb3JkZXIgb2YgbWFnbml0dWRlIHNsb3dlci4KICAgICAgICAgQXNzZXJ0IHRoYXQg
dGVzdHMgYXJlIGF0IGxlYXN0IGEgY2VydGFpbiBtYWduaXR1ZGUuCiAgICAgICAgIEhvcGVmdWxs
eSB0aGlzIHdpbGwgcmVkdWNlIGZsYWtpbmVzcyBzb21lLgotICAgICAgIAorCiAgICAgICAgICog
cmVzb3VyY2VzL21hZ25pdHVkZS1wZXJmLmpzOgogICAgICAgICAoTWFnbml0dWRlLl9ydW4pOgog
CkBAIC00MjgzMCw3ICs0Mjg2Miw3IEBACiAgICAgICAgICogY3NzMy9jb21wb3NpdGluZy9zY3Jp
cHQtdGVzdHMvYmxlbmQtbW9kZS1wcm9wZXJ0eS5qczoKICAgICAgICAgKHRlc3RibGVuZG1vZGUp
OgogICAgICAgICAqIGNzczMvY29tcG9zaXRpbmcvc2hvdWxkLWhhdmUtY29tcG9zaXRpbmctbGF5
ZXItZXhwZWN0ZWQudHh0OgotICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3Rh
dGlvbnM6IAorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6CiAK
IDIwMTItMTAtMDQgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93
LWxjYS1hbmQtY2x1c3Rlci1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1
dG9zaXppbmcvY2x1c3Rlci13aXRoLW5hcnJvdy1sY2EtYW5kLWNsdXN0ZXItZXhwZWN0ZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hNTE0ZWEyNTM5MGY2YjBiZDY4YTcxMTkwMDAzMTYwYWIzOGY1M2U3Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rl
ci13aXRoLW5hcnJvdy1sY2EtYW5kLWNsdXN0ZXItZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDMw
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZpZXdw
b3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlPgoraHRtbCB7IGZvbnQtc2l6ZTogMTZw
eDsgfQorYm9keSB7IHdpZHRoOiA4MDBweDsgb3ZlcmZsb3cteTogaGlkZGVuOyB9Cis8L3N0eWxl
PgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHlsZT0id2lkdGg6IDQwMHB4Ij4KKyAgPGRp
diBzdHlsZT0iZm9udC1zaXplOiAxLjI1cmVtIj4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1
dG9zaXplZCB0byBqdXN0IDIwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDQwMC8zMjApLCBz
aW5jZSB0aGUgd2lkdGggb2YgdGhlIGxlYXN0IGNvbW1vbiBhbmNlc3RvciBvZiB0aGUgY2x1c3Rl
cidzIHRleHQgZGVzY2VuZGFudHMgaXMgdXNlZCBmb3IgbXVsdGlwbGllciBjYWxjdWxhdGlvbi4K
KyAgPC9kaXY+CisKKyAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxLjI1cmVtIj4KKyAgICBUaGlz
IHRleHQgc2hvdWxkIGJlIHNpbWlsYXJseSBhdXRvc2l6ZWQgdG8gMjBweC4KKyAgPC9kaXY+Cis8
L2Rpdj4KKzxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogODAwcHg7IGZvbnQtc2l6ZTog
Mi41cmVtIj4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byA0MHB4IGNvbXB1
dGVkIGZvbnQgc2l6ZSAoMTYgKiA4MDAvMzIwKS4gSXQgc2hvdWxkIG5vdCBhZmZlY3QgYXV0b3Np
emluZyBmb3IgdGV4dCBhYm92ZSB0aG91Z2ggc2luY2UgaXQncyBhbm90aGVyIGNsdXN0ZXIuPGJy
PgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2lu
ZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9s
b3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBl
eGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2Rv
IGNvbnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9s
dXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIu
IEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4g
Y3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uCis8
L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS1hbmQtY2x1c3Rlci5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLW5hcnJvdy1s
Y2EtYW5kLWNsdXN0ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYmY5ZmU5NmU3OTMzMTRjNGJhMGNkZWY2
YzQ1ZjRjYWU0Mzc3YTg1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLW5hcnJvdy1sY2EtYW5kLWNsdXN0ZXIuaHRtbApAQCAt
MCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlPgoraHRtbCB7IGZvbnQt
c2l6ZTogMTZweDsgfQorYm9keSB7IHdpZHRoOiA4MDBweDsgb3ZlcmZsb3cteTogaGlkZGVuOyB9
Cis8L3N0eWxlPgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nRW5hYmxlZCh0cnVlKTsKKyAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92
ZXJyaWRlKDMyMCwgNDgwKTsKK30gZWxzZSBpZiAod2luZG93LmNvbnNvbGUgJiYgY29uc29sZS53
YXJuKSB7CisgICAgY29uc29sZS53YXJuKCJUaGlzIHRlc3QgZGVwZW5kcyBvbiB0aGUgVGV4dCBB
dXRvc2l6aW5nIHNldHRpbmcgYmVpbmcgdHJ1ZSwgc28gcnVuIGl0IGluIER1bXBSZW5kZXJUcmVl
LCBvciBtYW51YWxseSBlbmFibGUgVGV4dCBBdXRvc2l6aW5nLCBhbmQgZWl0aGVyIHVzZSBhIG1v
YmlsZSBkZXZpY2Ugd2l0aCAzMjBweCBkZXZpY2Utd2lkdGggKGxpa2UgTmV4dXMgUyBvciBpUGhv
bmUpLCBvciBkZWZpbmUgSEFDS19GT1JDRV9URVhUX0FVVE9TSVpJTkdfT05fREVTS1RPUC4iKTsK
K30KKzwvc2NyaXB0PgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHlsZT0id2lkdGg6IDQw
MHB4Ij4KKyAgPGRpdj4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byBqdXN0
IDIwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDQwMC8zMjApLCBzaW5jZSB0aGUgd2lkdGgg
b2YgdGhlIGxlYXN0IGNvbW1vbiBhbmNlc3RvciBvZiB0aGUgY2x1c3RlcidzIHRleHQgZGVzY2Vu
ZGFudHMgaXMgdXNlZCBmb3IgbXVsdGlwbGllciBjYWxjdWxhdGlvbi4KKyAgPC9kaXY+CisKKyAg
PGRpdj4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJlIHNpbWlsYXJseSBhdXRvc2l6ZWQgdG8gMjBw
eC4KKyAgPC9kaXY+Cis8L2Rpdj4KKzxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogODAw
cHgiPgorICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQg
Zm9udCBzaXplICgxNiAqIDgwMC8zMjApLiBJdCBzaG91bGQgbm90IGFmZmVjdCBhdXRvc2l6aW5n
IGZvciB0ZXh0IGFib3ZlIHRob3VnaCBzaW5jZSBpdCdzIGFub3RoZXIgY2x1c3Rlci48YnI+Cisg
ICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVs
aXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUg
bWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJj
aXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29u
c2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5kZXJpdCBpbiB2b2x1cHRh
dGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxsYSBwYXJpYXR1ci4gRXhj
ZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVudCwgc3VudCBpbiBjdWxw
YSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3QgbGFib3J1bS4KKzwvZGl2
PgorCis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWV4cGVjdGVkLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS1leHBl
Y3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4Yzc5M2M2YTUyMmI2YzA5MzJlOWNiYjczNWNlZGU1MmEz
ZjI3MjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Npemlu
Zy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjUgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGU+CitodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9
Citib2R5IHsgd2lkdGg6IDgwMHB4OyBvdmVyZmxvdy15OiBoaWRkZW47IH0KKzwvc3R5bGU+CisK
KzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJ3aWR0aDogNDAwcHgiPgorICA8ZGl2IHN0
eWxlPSJmb250LXNpemU6IDEuMjVyZW0iPgorICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3Np
emVkIHRvIGp1c3QgMjBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogNDAwLzMyMCksIHNpbmNl
IHRoZSB3aWR0aCBvZiB0aGUgbGVhc3QgY29tbW9uIGFuY2VzdG9yIG9mIHRoZSBjbHVzdGVyJ3Mg
dGV4dCBkZXNjZW5kYW50cyBpcyB1c2VkIGZvciBtdWx0aXBsaWVyIGNhbGN1bGF0aW9uLgorICA8
L2Rpdj4KKworICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDEuMjVyZW0iPgorICAgIFRoaXMgdGV4
dCBzaG91bGQgYmUgc2ltaWxhcmx5IGF1dG9zaXplZCB0byAyMHB4LgorICA8L2Rpdj4KKzwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQt
YXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLW5hcnJvdy1sY2EuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li42YjhlZGRkYzBjM2JlYzRjMzVhMDRmMDgxNjE1ZTUxZTExZWUxMDUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLW5hcnJv
dy1sY2EuaHRtbApAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxl
PgoraHRtbCB7IGZvbnQtc2l6ZTogMTZweDsgfQorYm9keSB7IHdpZHRoOiA4MDBweDsgb3ZlcmZs
b3cteTogaGlkZGVuOyB9Cis8L3N0eWxlPgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5h
bHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nRW5h
YmxlZCh0cnVlKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6
aW5nV2luZG93U2l6ZU92ZXJyaWRlKDMyMCwgNDgwKTsKK30gZWxzZSBpZiAod2luZG93LmNvbnNv
bGUgJiYgY29uc29sZS53YXJuKSB7CisgICAgY29uc29sZS53YXJuKCJUaGlzIHRlc3QgZGVwZW5k
cyBvbiB0aGUgVGV4dCBBdXRvc2l6aW5nIHNldHRpbmcgYmVpbmcgdHJ1ZSwgc28gcnVuIGl0IGlu
IER1bXBSZW5kZXJUcmVlLCBvciBtYW51YWxseSBlbmFibGUgVGV4dCBBdXRvc2l6aW5nLCBhbmQg
ZWl0aGVyIHVzZSBhIG1vYmlsZSBkZXZpY2Ugd2l0aCAzMjBweCBkZXZpY2Utd2lkdGggKGxpa2Ug
TmV4dXMgUyBvciBpUGhvbmUpLCBvciBkZWZpbmUgSEFDS19GT1JDRV9URVhUX0FVVE9TSVpJTkdf
T05fREVTS1RPUC4iKTsKK30KKzwvc2NyaXB0PgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBz
dHlsZT0id2lkdGg6IDQwMHB4Ij4KKyAgPGRpdj4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1
dG9zaXplZCB0byBqdXN0IDIwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDQwMC8zMjApLCBz
aW5jZSB0aGUgd2lkdGggb2YgdGhlIGxlYXN0IGNvbW1vbiBhbmNlc3RvciBvZiB0aGUgY2x1c3Rl
cidzIHRleHQgZGVzY2VuZGFudHMgaXMgdXNlZCBmb3IgbXVsdGlwbGllciBjYWxjdWxhdGlvbi4K
KyAgPC9kaXY+CisKKyAgPGRpdj4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJlIHNpbWlsYXJseSBh
dXRvc2l6ZWQgdG8gMjBweC4KKyAgPC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRo
LXdpZGUtbGNhLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Npemlu
Zy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMjcyNTRk
OWE0NTJlNmFjZDQ4NGFjMmMyMzExMTc1OTQ0NWRmMTFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLXdpZGUtbGNhLWV4cGVj
dGVkLmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZT4K
K2h0bWwgeyBmb250LXNpemU6IDE2cHg7IH0KK2JvZHkgeyB3aWR0aDogODAwcHg7IG92ZXJmbG93
LXk6IGhpZGRlbjsgfQorPC9zdHlsZT4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9
IndpZHRoOiA0MDBweCI+CisgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMi41cmVtIj4KKyAgICBU
aGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSAo
MTYgKiA4MDAvMzIwKSBzaW5jZSB0aGUgbGVhc3QgY29tbW9uIGFuY2VzdG9yIG9mIGFsbCB0aGUg
Y2x1c3RlcidzIHRleHQgZGVzY2VuZGFudHMgaXMgdGhlIEJPRFkgdGFnLgorICA8L2Rpdj4KKwor
ICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDIuNXJlbSI+CisgICAgVGhpcyB0ZXh0IHNob3VsZCBi
ZSBzaW1pbGFybHkgYXV0b3NpemVkIHRvIDQwcHguCisgIDwvZGl2PgorPC9kaXY+Cis8ZGl2IHN0
eWxlPSJ3aWR0aDogODAwcHg7IGZvbnQtc2l6ZTogMi41cmVtIj4KKyAgVGhpcyB0ZXh0IHNob3Vs
ZCBiZSBhdXRvc2l6ZWQgdG8gNDBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogODAwLzMyMCku
CisgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBl
bGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3Jl
IG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVy
Y2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNv
bnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0
YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuIEV4
Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4gY3Vs
cGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uCis8L2Rp
dj4KKworPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC13aWRlLWxjYS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjAxYTBiZTU1OWM2ODIzYzNlZmZiMTg3OGFkNzU5MjhjNDc2NGQ5ZjkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtd2lkZS1s
Y2EuaHRtbApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlPgor
aHRtbCB7IGZvbnQtc2l6ZTogMTZweDsgfQorYm9keSB7IHdpZHRoOiA4MDBweDsgb3ZlcmZsb3ct
eTogaGlkZGVuOyB9Cis8L3N0eWxlPgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMp
IHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nRW5hYmxl
ZCh0cnVlKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5n
V2luZG93U2l6ZU92ZXJyaWRlKDMyMCwgNDgwKTsKK30gZWxzZSBpZiAod2luZG93LmNvbnNvbGUg
JiYgY29uc29sZS53YXJuKSB7CisgICAgY29uc29sZS53YXJuKCJUaGlzIHRlc3QgZGVwZW5kcyBv
biB0aGUgVGV4dCBBdXRvc2l6aW5nIHNldHRpbmcgYmVpbmcgdHJ1ZSwgc28gcnVuIGl0IGluIER1
bXBSZW5kZXJUcmVlLCBvciBtYW51YWxseSBlbmFibGUgVGV4dCBBdXRvc2l6aW5nLCBhbmQgZWl0
aGVyIHVzZSBhIG1vYmlsZSBkZXZpY2Ugd2l0aCAzMjBweCBkZXZpY2Utd2lkdGggKGxpa2UgTmV4
dXMgUyBvciBpUGhvbmUpLCBvciBkZWZpbmUgSEFDS19GT1JDRV9URVhUX0FVVE9TSVpJTkdfT05f
REVTS1RPUC4iKTsKK30KKzwvc2NyaXB0PgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHls
ZT0id2lkdGg6IDQwMHB4Ij4KKyAgPGRpdj4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1dG9z
aXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSAoMTYgKiA4MDAvMzIwKSBzaW5jZSB0aGUg
bGVhc3QgY29tbW9uIGFuY2VzdG9yIG9mIGFsbCB0aGUgY2x1c3RlcidzIHRleHQgZGVzY2VuZGFu
dHMgaXMgdGhlIEJPRFkgdGFnLgorICA8L2Rpdj4KKworICA8ZGl2PgorICAgIFRoaXMgdGV4dCBz
aG91bGQgYmUgc2ltaWxhcmx5IGF1dG9zaXplZCB0byA0MHB4LgorICA8L2Rpdj4KKzwvZGl2Pgor
PGRpdiBzdHlsZT0id2lkdGg6IDgwMHB4Ij4KKyAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6
ZWQgdG8gNDBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogODAwLzMyMCkuCisgIExvcmVtIGlw
c3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8g
ZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1
YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxs
YW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC4gRHVp
cyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVz
c2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIuIEV4Y2VwdGV1ciBzaW50
IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4gY3VscGEgcXVpIG9mZmlj
aWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uCis8L2Rpdj4KKworPC9ib2R5
PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Npemlu
Zy9lbS1tYXJnaW4tYm9yZGVyLXBhZGRpbmctZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1ib3JkZXItcGFkZGluZy1leHBlY3RlZC5odG1s
CmluZGV4IDQzYmQxYzA2ODljODQ0NWU4MGE4MDUxMDhmZWRlNTg1YmU2ZjFmMjMuLjU0MjljZTNh
YWVjNDY3NmQzYzAzNDA0Y2RkNzZjYWU4YTM5MjIyOGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1ib3JkZXItcGFkZGluZy1leHBlY3RlZC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1ib3Jk
ZXItcGFkZGluZy1leHBlY3RlZC5odG1sCkBAIC01LDE0ICs1LDE0IEBACiA8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KIDxzdHlsZT4KIGh0bWwgeyBmb250LXNpemU6
IDE2cHg7IH0KLWJvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjogMDsgb3ZlcmZsb3cteTogaGlk
ZGVuOyB9Citib2R5IHsgd2lkdGg6IDg5NnB4OyBtYXJnaW46IDA7IG92ZXJmbG93LXk6IGhpZGRl
bjsgfQogPC9zdHlsZT4KIAogPC9oZWFkPgogPGJvZHk+CiAKIDxwIHN0eWxlPSJmb250LXNpemU6
IDIuNXJlbTsgbWFyZ2luOiAxcmVtOyBib3JkZXI6IDFyZW0gc29saWQgYmx1ZTsgcGFkZGluZzog
MXJlbSI+Ci0gICAgVGhpcyB0ZXh0IHNob3VsZCBnZXQgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0
ZWQgZm9udCBzaXplLCBidXQgdGhlIDFlbSBtYXJnaW5zLCBib3JkZXJzIGFuZCBwYWRkaW5nIHNo
b3VsZCByZW1haW4ganVzdCAxNnB4LiBXaGlsZSBkZWJhdGFibGUsIHRoaXMgZ2VuZXJhbGx5IGxv
b2tzIG1vcmUgY29uc2lzdGVudCB0aGFuIGhhdmluZyB0aGVtIGJlIHNjYWxlZC48YnI+CisgICAg
VGhpcyB0ZXh0IHNob3VsZCBnZXQgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udCBzaXpl
ICgxNiAqIDgwMC8zMjApLCBidXQgdGhlIDFlbSBtYXJnaW5zLCBib3JkZXJzIGFuZCBwYWRkaW5n
IHNob3VsZCByZW1haW4ganVzdCAxNnB4LiBXaGlsZSBkZWJhdGFibGUsIHRoaXMgZ2VuZXJhbGx5
IGxvb2tzIG1vcmUgY29uc2lzdGVudCB0aGFuIGhhdmluZyB0aGVtIGJlIHNjYWxlZC48YnI+CiAg
ICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVs
aXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUg
bWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJj
aXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29u
c2VxdWF0LgogPC9wPgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Np
emluZy9lbS1tYXJnaW4tYm9yZGVyLXBhZGRpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1ib3JkZXItcGFkZGluZy5odG1sCmluZGV4IDM5NWU4MTRh
NjMxMjA4NjM3OGJlYjBmNzA5ZjhkMmExYWQxYzc5Y2IuLjEwZDNhOTY3ZDdhMmJiMDFkOTI0ZTUz
NDgzNGFlNmNmNmZlMGQ5ZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRv
c2l6aW5nL2VtLW1hcmdpbi1ib3JkZXItcGFkZGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1ib3JkZXItcGFkZGluZy5odG1sCkBAIC01LDcg
KzUsNyBAQAogPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+CiA8c3R5
bGU+CiBodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9Ci1ib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJn
aW46IDA7IG92ZXJmbG93LXk6IGhpZGRlbjsgfQorYm9keSB7IHdpZHRoOiA4OTZweDsgbWFyZ2lu
OiAwOyBvdmVyZmxvdy15OiBoaWRkZW47IH0KIDwvc3R5bGU+CiAKIDxzY3JpcHQ+CkBAIC0yMSw3
ICsyMSw3IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CiA8Ym9keT4KIAogPHAgc3R5bGU9Im1h
cmdpbjogMWVtOyBib3JkZXI6IDFlbSBzb2xpZCBibHVlOyBwYWRkaW5nOiAxZW0iPgotICAgIFRo
aXMgdGV4dCBzaG91bGQgZ2V0IGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSwg
YnV0IHRoZSAxZW0gbWFyZ2lucywgYm9yZGVycyBhbmQgcGFkZGluZyBzaG91bGQgcmVtYWluIGp1
c3QgMTZweC4gV2hpbGUgZGViYXRhYmxlLCB0aGlzIGdlbmVyYWxseSBsb29rcyBtb3JlIGNvbnNp
c3RlbnQgdGhhbiBoYXZpbmcgdGhlbSBiZSBzY2FsZWQuPGJyPgorICAgIFRoaXMgdGV4dCBzaG91
bGQgZ2V0IGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSAoMTYgKiA4MDAvMzIw
KSwgYnV0IHRoZSAxZW0gbWFyZ2lucywgYm9yZGVycyBhbmQgcGFkZGluZyBzaG91bGQgcmVtYWlu
IGp1c3QgMTZweC4gV2hpbGUgZGViYXRhYmxlLCB0aGlzIGdlbmVyYWxseSBsb29rcyBtb3JlIGNv
bnNpc3RlbnQgdGhhbiBoYXZpbmcgdGhlbSBiZSBzY2FsZWQuPGJyPgogICAgIExvcmVtIGlwc3Vt
IGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1
c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4g
VXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1j
byBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC4KIDwvcD4K
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvbGlzdC1pdGVt
LW91dC1vZi1mbG93LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Np
emluZy9saXN0LWl0ZW0tb3V0LW9mLWZsb3ctZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYzQ4
ZjNkNzM0ZjY1MjZlM2U0NGI3NjgzODI3M2M1MmM1MjdmZGM2Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvbGlzdC1pdGVtLW91dC1vZi1mbG93LWV4
cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHls
ZT4KK2h0bWwgeyBmb250LXNpemU6IDE2cHg7IH0KK2JvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdp
bjogMDsgb3ZlcmZsb3cteTogaGlkZGVuOyB9Cis8L3N0eWxlPgorCis8L2hlYWQ+Cis8Ym9keT4K
KworPHVsIHN0eWxlPSJ3aWR0aDogNDAwcHgiPgorCTxsaSBzdHlsZT0id2lkdGg6IDYwMHB4OyBm
b250LXNpemU6IDEuMjVyZW0iPgorCQlUaGlzIGVsZW1lbnQgaXMgb25seSBhdXRvc2l6ZWQgdG8g
MjBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogNDAwLzMyMCksIHNpbmNlIHdlIGRvbid0IHdh
bnQgbGlzdCBpdGVtcyB0byBiZSBhdXRvc2l6ZWQgZGlmZmVyZW50bHkgZnJvbSBlYWNoIG90aGVy
LCBhbmQgdGhlIHdpZHRoIG9mIFVMIHRhZyBpcyB1c2VkIGZvciBhdXRvc2l6aW5nLjxicj4KKwkJ
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQs
IHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFn
bmEgYWxpcXVhLgorCTwvbGk+CisJPGxpIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRo
OiA4MDBweDsgZm9udC1zaXplOiAyLjVyZW0iPgorCQlUaGlzIGxpc3QgZWxlbWVudCBiZWNvbWVz
IGEgc2VwYXJhdGUgYXV0b3NpemluZyBjbHVzdGVyIHNpbmNlIGl0J3MgcG9zaXRpb25lZCBvdXQg
b2YgdGhlIGxpc3QgZmxvdy4gSGVuY2UgaXRzIGNvbXB1dGVkIGZvbnQgc2l6ZSBpcyA0MHB4ICgx
NiAqIDQwMCAvIDMyMCkuPGJyPgorCQlMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2Vj
dGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQg
dXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCisJPC9saT4KKwk8bGkgc3R5bGU9ImZv
bnQtc2l6ZTogMS4yNXJlbSI+CisJCVRoaXMgZWxlbWVudCBpcyBhdXRvc2l6ZWQgdG8gY29tcHV0
ZWQgZm9udCBzaXplIG9mIDIwcHggc2ltaWxhcmx5IHRvIHRoZSBmaXJzdCBsaXN0IGl0ZW0uPGJy
PgorCQlMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcg
ZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9y
ZSBtYWduYSBhbGlxdWEuCisJPC9saT4KKzwvdWw+CQorPC9ib2R5PgorPC9oZWFkPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1h
dXRvc2l6aW5nL2xpc3QtaXRlbS1vdXQtb2YtZmxvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0LWF1dG9zaXppbmcvbGlzdC1pdGVtLW91dC1vZi1mbG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjBl
NDZkODg0YzNhNjRmZjNmZjliYTJmZDUzYmQyYTdlZjE1NjA5ZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2xpc3QtaXRlbS1vdXQtb2YtZmxvdy5o
dG1sCkBAIC0wLDAgKzEsMzggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKwor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGU+CitodG1s
IHsgZm9udC1zaXplOiAxNnB4OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IG92
ZXJmbG93LXk6IGhpZGRlbjsgfQorPC9zdHlsZT4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50
ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3Npemlu
Z0VuYWJsZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0
b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5j
b25zb2xlICYmIGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRl
cGVuZHMgb24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBp
dCBpbiBEdW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywg
YW5kIGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChs
aWtlIE5leHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0la
SU5HX09OX0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzx1
bCBzdHlsZT0id2lkdGg6IDQwMHB4Ij4KKwk8bGkgc3R5bGU9IndpZHRoOiA2MDBweCI+CisJCVRo
aXMgZWxlbWVudCBpcyBvbmx5IGF1dG9zaXplZCB0byAyMHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSAo
MTYgKiA0MDAvMzIwKSwgc2luY2Ugd2UgZG9uJ3Qgd2FudCBsaXN0IGl0ZW1zIHRvIGJlIGF1dG9z
aXplZCBkaWZmZXJlbnRseSBmcm9tIGVhY2ggb3RoZXIsIGFuZCB0aGUgd2lkdGggb2YgVUwgdGFn
IGlzIHVzZWQgZm9yIGF1dG9zaXppbmcuPGJyPgorCQlMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1l
dCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGlu
Y2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCisJPC9saT4KKwk8bGkg
c3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDgwMHB4Ij4KKwkJVGhpcyBsaXN0IGVs
ZW1lbnQgYmVjb21lcyBhIHNlcGFyYXRlIGF1dG9zaXppbmcgY2x1c3RlciBzaW5jZSBpdCdzIHBv
c2l0aW9uZWQgb3V0IG9mIHRoZSBsaXN0IGZsb3cuIEhlbmNlIGl0cyBjb21wdXRlZCBmb250IHNp
emUgaXMgNDBweCAoMTYgKiA0MDAgLyAzMjApLjxicj4KKwkJTG9yZW0gaXBzdW0gZG9sb3Igc2l0
IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBv
ciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLgorCTwvbGk+CisJ
PGxpPgorCQlUaGlzIGVsZW1lbnQgaXMgYXV0b3NpemVkIHRvIGNvbXB1dGVkIGZvbnQgc2l6ZSBv
ZiAyMHB4IHNpbWlsYXJseSB0byB0aGUgZmlyc3QgbGlzdCBpdGVtLjxicj4KKwkJTG9yZW0gaXBz
dW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBl
aXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVh
LgorCTwvbGk+Cis8L3VsPgkKKzwvYm9keT4KKzwvaGVhZD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy93aWRl
LWNoaWxkLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy93
aWRlLWNoaWxkLWV4cGVjdGVkLmh0bWwKaW5kZXggNGIwMDBmNjcwZWE3MjRjMDlhNmU3YWRiZWRi
N2QxMTYzNzNiYjM1Yi4uYTkwYTAxM2FmM2VkNGVlMDRlMjZhYzYwNzIwNmY5MmRhY2JiNWE4OCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lkZS1jaGlsZC1l
eHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUt
Y2hpbGQtZXhwZWN0ZWQuaHRtbApAQCAtMTEsMTIgKzExLDE0IEBAIGJvZHkgeyB3aWR0aDogODAw
cHg7IG1hcmdpbjogMDsgb3ZlcmZsb3cteTogaGlkZGVuOyB9CiA8L2hlYWQ+CiA8Ym9keT4KIAot
PGRpdiBzdHlsZT0id2lkdGg6IDMyMHB4OyBmb250LXNpemU6IDIuNXJlbSI+Ci0gICAgVGhpcyB0
ZXh0IHNob3VsZCBhbGwgYmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udC1zaXplLCBz
aW5jZSBhbHRob3VnaCB0aGlzIGJsb2NrIGlzIG5hcnJvdywgaXQgaGFzIGEgd2lkZSBjaGlsZCBi
bG9jaywgc28gdGhlIGNsdXN0ZXIgd2lsbCBiZSB3aWRlIGFuZCBuZWVkIGF1dG9zaXppbmcuCi0g
ICAgPGRpdiBzdHlsZT0id2lkdGg6IDgwMHB4Ij4KKzxkaXYgc3R5bGU9IndpZHRoOiAzMjBweDsg
Zm9udC1zaXplOiAxcmVtIj4KKwlUaGlzIHRleHQgc2hvdWxkIG5vdCBiZSBhdXRvc2l6ZWQsIGFz
IHRoaXMgZGl2IGlzIHRoZSBsb3dlc3QgY29tbW9uIGFuY2VzdG9yIG9mIHRoZSByb290IGNsdXN0
ZXIsIGFuZCB0aGlzIGRpdiBpcyBuYXJyb3cuPGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNp
dCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1w
b3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KKwk8ZGl2IHN0
eWxlPSJ3aWR0aDogODAwcHgiPgorICAgIAlUaGlzIHRleHQgc2hvdWxkIG5vdCBiZSBhdXRvc2l6
ZWQgc2luY2UgaXQgZG9lc24ndCBhZmZlY3QgdGhlIHdpZHRoIG9mIHRoZSBwYXJlbnQgYmxvY2sg
d2hpY2ggaXMgdXNlZCB0byBjYWxjdWxhdGUgdGhlIGF1dG9zaXppbmcgbXVsdGlwbGllci48YnI+
CisgICAgCUZJWE1FOiBJZGVhbGx5IHRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkLiBXaWxs
IG5lZWQgdG8gYmUgZml4ZWQgbGF0ZXIuPGJyPgogICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBz
aXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVt
cG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCiAgICAgPC9k
aXY+Ci0gICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2lj
aW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBk
b2xvcmUgbWFnbmEgYWxpcXVhLgogPC9kaXY+CiAKIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtY2hpbGQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtY2hpbGQuaHRtbAppbmRleCAwYTViMTIxNGY4MDk5
MTQ2MTQ3YjdiMGNlZDNmOTIxOWVmOTE1NTUxLi40NTRlYTYxZjNhZjc5YWZmODdiN2QzMzBjNTVi
NzkxNzYzYjUyMDdlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Npemlu
Zy93aWRlLWNoaWxkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcv
d2lkZS1jaGlsZC5odG1sCkBAIC0yMSwxMSArMjEsMTMgQEAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
IHsKIDxib2R5PgogCiA8ZGl2IHN0eWxlPSJ3aWR0aDogMzIwcHgiPgotICAgIFRoaXMgdGV4dCBz
aG91bGQgYWxsIGJlIGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQtc2l6ZSwgc2luY2Ug
YWx0aG91Z2ggdGhpcyBibG9jayBpcyBuYXJyb3csIGl0IGhhcyBhIHdpZGUgY2hpbGQgYmxvY2ss
IHNvIHRoZSBjbHVzdGVyIHdpbGwgYmUgd2lkZSBhbmQgbmVlZCBhdXRvc2l6aW5nLgorICAgIFRo
aXMgdGV4dCBzaG91bGQgbm90IGJlIGF1dG9zaXplZCwgYXMgdGhpcyBkaXYgaXMgdGhlIGxvd2Vz
dCBjb21tb24gYW5jZXN0b3Igb2YgdGhlIHJvb3QgY2x1c3RlciwgYW5kIHRoaXMgZGl2IGlzIG5h
cnJvdy48YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFk
aXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9y
ZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLgogICAgIDxkaXYgc3R5bGU9IndpZHRoOiA4MDBweCI+
CisgICAgCVRoaXMgdGV4dCBzaG91bGQgbm90IGJlIGF1dG9zaXplZCBzaW5jZSBpdCBkb2Vzbid0
IGFmZmVjdCB0aGUgd2lkdGggb2YgdGhlIHBhcmVudCBibG9jayB3aGljaCBpcyB1c2VkIHRvIGNh
bGN1bGF0ZSB0aGUgYXV0b3NpemluZyBtdWx0aXBsaWVyLjxicj4KKyAgICAJRklYTUU6IElkZWFs
bHkgdGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQuIFdpbGwgbmVlZCB0byBiZSBmaXhlZCBs
YXRlci48YnI+CiAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1
ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBs
YWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KICAgICA8L2Rpdj4KLSAgICBMb3JlbSBpcHN1
bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVp
dXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEu
CiA8L2Rpdj4KIAogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1
dG9zaXppbmcvd2lkZS1pbi1uYXJyb3ctb3ZlcmZsb3ctc2Nyb2xsLWV4cGVjdGVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWluLW5hcnJvdy1vdmVyZmxvdy1z
Y3JvbGwtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YjdhNzc3ZGMzOTE1ZjVjYTYyMTc5ZTg4
NWUwNTAwNzE4YmU3MmJjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
LWF1dG9zaXppbmcvd2lkZS1pbi1uYXJyb3ctb3ZlcmZsb3ctc2Nyb2xsLWV4cGVjdGVkLmh0bWwK
QEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZT4KK2h0bWwgeyBm
b250LXNpemU6IDE2cHg7IH0KK2JvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjogMDsgb3ZlcmZs
b3cteTogaGlkZGVuOyB9Cis8L3N0eWxlPgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHls
ZT0id2lkdGg6IDQwMHB4Ij4KKyAgPGRpdiBzdHlsZT0ib3ZlcmZsb3cteDogc2Nyb2xsIj4KKyAg
ICA8ZGl2IHN0eWxlPSJ3aWR0aDogODAwcHg7IGZvbnQtc2l6ZTogMS4yNXJlbSI+CisgICAgICAg
IFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDIwcHggY29tcHV0ZWQgZm9udCBzaXpl
ICgxNiAqIDQwMC8zMjApLCBzaW5jZSB0aGlzIGlzIHBhcnQgb2YgdGhlIHJvb3QgY2x1c3Rlciwg
d2hvc2UgdGV4dCBkZXNjZW5kYW50cyBhcmUgYWxsIGNvbnRhaW5lZCB3aXRoaW4gdGhlIDQwMHB4
IHdpZGUgZ3JhbmRwYXJlbnQgb2YgdGhpcyBkaXYuPGJyPgorICAgICAgICBMb3JlbSBpcHN1bSBk
b2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNt
b2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCisg
ICAgPC9kaXY+CisgIDwvZGl2PgorCisgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMS4yNXJlbSI+
CisgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDIwcHggY29tcHV0ZWQg
Zm9udCBzaXplICgxNiAqIDQwMC8zMjApLjxicj4KKyAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Ig
c2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRl
bXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLgorICA8L2Rp
dj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtaW4tbmFycm93LW92ZXJmbG93LXNjcm9sbC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lkZS1pbi1uYXJyb3ctb3ZlcmZs
b3ctc2Nyb2xsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjc0YTdhMjE0MDhjOGFlZjQ1ZmJhZWQ4NjVmNTlm
N2VhOTNiODFlMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRv
c2l6aW5nL3dpZGUtaW4tbmFycm93LW92ZXJmbG93LXNjcm9sbC5odG1sCkBAIC0wLDAgKzEsMzkg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3Bv
cnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGU+CitodG1sIHsgZm9udC1zaXplOiAxNnB4
OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IG92ZXJmbG93LXk6IGhpZGRlbjsg
fQorPC9zdHlsZT4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1ZSk7Cisg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVP
dmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNvbnNvbGUu
d2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhlIFRleHQg
QXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVuZGVyVHJl
ZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1c2UgYSBt
b2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMgb3IgaVBo
b25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tUT1AuIik7
Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9IndpZHRoOiA0
MDBweCI+CisgIDxkaXYgc3R5bGU9Im92ZXJmbG93LXg6IHNjcm9sbCI+CisgICAgPGRpdiBzdHls
ZT0id2lkdGg6IDgwMHB4Ij4KKyAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQg
dG8gMjBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogNDAwLzMyMCksIHNpbmNlIHRoaXMgaXMg
cGFydCBvZiB0aGUgcm9vdCBjbHVzdGVyLCB3aG9zZSB0ZXh0IGRlc2NlbmRhbnRzIGFyZSBhbGwg
Y29udGFpbmVkIHdpdGhpbiB0aGUgNDAwcHggd2lkZSBncmFuZHBhcmVudCBvZiB0aGlzIGRpdi48
YnI+CisgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlw
aXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUg
ZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisKKyAgPGRpdj4K
KyAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQgdG8gMjBweCBjb21wdXRlZCBm
b250IHNpemUgKDE2ICogNDAwLzMyMCkuPGJyPgorICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBz
aXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVt
cG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCisgIDwvZGl2
PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176523</attachid>
            <date>2012-11-28 10:55:55 -0800</date>
            <delta_ts>2012-11-28 13:03:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102562-20121128185330.patch</filename>
            <type>text/plain</type>
            <size>33221</size>
            <attacher name="Anton Vayvod">avayvod</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1OTIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjkyYjcxNTM2Y2ZlNDZm
OWNjY2VlMzI4YjkxM2UxODE1Nzg4NDc5Yi4uNjAwNTU3MzFjZTc2NjdlNGNiMDIwMjc5ZDVlMTdj
ZmMyZDYzOTM3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTExLTI3ICBBbnRv
biBWYXl2b2QgIDxhdmF5dm9kQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0IEF1dG9zaXpp
bmc6IENsdXN0ZXJzIHNob3VsZCB1c2Ugd2lkdGggb2YgTENBIG9mIHRoZWlyIHRleHQgbm9kZXMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjU2Mgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1hbnkgcGFn
ZXMgc2V0IGEgbWF4LXdpZHRoIG9uIHRoZWlyIGNvbnRlbnQuIFNvIGVzcGVjaWFsbHkgZm9yIHRo
ZQorICAgICAgICBSZW5kZXJWaWV3LCBpbnN0ZWFkIG9mIGp1c3QgdGFraW5nIHRoZSB3aWR0aCBv
ZiB8Y2x1c3Rlcnwgd2UgZmluZAorICAgICAgICB0aGUgbG93ZXN0IGNvbW1vbiBhbmNlc3RvciBv
ZiB0aGUgZmlyc3QgYW5kIGxhc3QgZGVzY2VuZGFudCB0ZXh0IG5vZGUgb2YKKyAgICAgICAgdGhl
IGNsdXN0ZXIgKGkuZS4gdGhlIGRlZXBlc3Qgd3JhcHBlciBibG9jayB0aGF0IGNvbnRhaW5zIGFs
bCB0aGUgdGV4dCksCisgICAgICAgIGFuZCB1c2UgaXRzIHdpZHRoIGluc3RlYWQuCisKKyAgICAg
ICAgVGVzdHM6IGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWFu
ZC1jbHVzdGVyLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0
ZXItd2l0aC1uYXJyb3ctbGNhLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC1hdXRvc2l6
aW5nL2NsdXN0ZXItd2l0aC13aWRlLWxjYS5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQt
YXV0b3NpemluZy9saXN0LWl0ZW0tb3V0LW9mLWZsb3cuaHRtbAorICAgICAgICAgICAgICAgZmFz
dC90ZXh0LWF1dG9zaXppbmcvd2lkZS1pbi1uYXJyb3ctb3ZlcmZsb3ctc2Nyb2xsLmh0bWwKKwor
ICAgICAgICAqIHJlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRleHRBdXRvc2l6ZXI6OnByb2Nlc3NDbHVzdGVyKTogdXNlIHRleHQgbm9kZXMgTENBIGluc3Rl
YWQgb2YgY2x1c3RlciBmb3Igd2lkdGggY2FsY3VsYXRpb24KKyAgICAgICAgKFdlYkNvcmU6OlRl
eHRBdXRvc2l6ZXI6OmlzQXV0b3NpemluZ0NvbnRhaW5lcik6IGxpc3QgaXRlbXMgdGhhdCBhcmUg
b3V0IG9mIHBhcmVudCBsaXN0IGVsZW1lbnQncyBmbG93IGFyZSB2YWxpZCBjb250YWluZXJzICh0
aGF0IHRoZXJlZm9yZSBiZWNvbWUgY2x1c3RlcnMgaW4gaXNBdXRvc2l6aW5nQ2x1c3RlcikKKyAg
ICAgICAgKFdlYkNvcmU6OlRleHRBdXRvc2l6ZXI6OmZpbmREZWVwZXN0QmxvY2tDb250YWluaW5n
QWxsVGV4dCk6IHNlYXJjaGVzIGZvciBMQ0Egb2YgdGV4dCBub2RlcyBpZ25vcmluZyBkZXNjZW5k
YW50IGNsdXN0ZXJzCisgICAgICAgIChXZWJDb3JlOjpUZXh0QXV0b3NpemVyOjpmaW5kRmlyc3RU
ZXh0TGVhZk5vdEluQ2x1c3Rlcik6IHNlYXJjaGVzIGZvciB0aGUgZmlyc3Qgb3IgdGhlIGxhc3Qg
KGRlcGVuZGluZyBvbiBzcGVjaWZpZWQgZGlyZWN0aW9uKSB0ZXh0IGxlYWYgbm9kZSBpbi1vcmRl
ciBpZ25vcmluZyBhbnkgZGVzY2VuZGFudCBjbHVzdGVycworICAgICAgICAqIHJlbmRlcmluZy9U
ZXh0QXV0b3NpemVyLmg6IG5ldyBwcml2YXRlIG1ldGhvZHMgZGVjbGFyYXRpb25zIGFuZCBhbiBl
bnVtIGZvciB0cmVlIHRyYXZlcnNhbCBkaXJlY3Rpb24uCisKIDIwMTItMTEtMjcgIFRvbnkgQ2hh
bmcgIDx0b255QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCB3aW4gY29tcGls
ZSBmaXggdGFrZSAyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRB
dXRvc2l6ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3Bw
CmluZGV4IDM2MDY3ZmQ3ODA5ZTljMzg0ZWQ3OGRkMmJmNmMxY2UzNWEyNmI3YjYuLjM1ODg0MGRj
NDk0ODE5NjAzYmY3ZjlkMTMyMmM2OGIxYzlkZjI2MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvVGV4dEF1dG9zaXplci5jcHAKQEAgLTMzLDYgKzMzLDggQEAKICNpbmNsdWRlICJTZXR0
aW5ncy5oIgogI2luY2x1ZGUgIlN0eWxlSW5oZXJpdGVkRGF0YS5oIgogCisjaW5jbHVkZSA8YWxn
b3JpdGhtPgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBUZXh0QXV0b3NpemluZ1dp
bmRvd0luZm8gewpAQCAtOTQsMTEgKzk2LDEyIEBAIHZvaWQgVGV4dEF1dG9zaXplcjo6cHJvY2Vz
c0NsdXN0ZXIoUmVuZGVyQmxvY2sqIGNsdXN0ZXIsIFJlbmRlckJsb2NrKiBjb250YWluZXIsCiB7
CiAgICAgQVNTRVJUKGlzQXV0b3NpemluZ0NsdXN0ZXIoY2x1c3RlcikpOwogCi0gICAgLy8gRklY
TUU6IE1hbnkgcGFnZXMgc2V0IGEgbWF4LXdpZHRoIG9uIHRoZWlyIGNvbnRlbnQuIFNvIGVzcGVj
aWFsbHkgZm9yIHRoZSBSZW5kZXJWaWV3LAotICAgIC8vIGluc3RlYWQgb2YganVzdCB0YWtpbmcg
dGhlIHdpZHRoIG9mIHxjbHVzdGVyfCB3ZSBzaG91bGQgZmluZCB0aGUgbG93ZXN0IGNvbW1vbiBh
bmNlc3RvciBvZgotICAgIC8vIHRoZSBmaXJzdCBhbmQgbGFzdCBkZXNjZW5kYW50IHRleHQgbm9k
ZSBvZiB0aGUgY2x1c3RlciAoaS5lLiB0aGUgZGVlcGVzdCB3cmFwcGVyIGJsb2NrIHRoYXQKLSAg
ICAvLyBjb250YWlucyBhbGwgdGhlIHRleHQpLCBhbmQgdXNlIGl0cyB3aWR0aCBpbnN0ZWFkLgot
ICAgIFJlbmRlckJsb2NrKiBsb3dlc3RDb21tb25BbmNlc3RvciA9IGNsdXN0ZXI7CisgICAgLy8g
TWFueSBwYWdlcyBzZXQgYSBtYXgtd2lkdGggb24gdGhlaXIgY29udGVudC4gU28gZXNwZWNpYWxs
eSBmb3IgdGhlCisgICAgLy8gUmVuZGVyVmlldywgaW5zdGVhZCBvZiBqdXN0IHRha2luZyB0aGUg
d2lkdGggb2YgfGNsdXN0ZXJ8IHdlIGZpbmQKKyAgICAvLyB0aGUgbG93ZXN0IGNvbW1vbiBhbmNl
c3RvciBvZiB0aGUgZmlyc3QgYW5kIGxhc3QgZGVzY2VuZGFudCB0ZXh0IG5vZGUgb2YKKyAgICAv
LyB0aGUgY2x1c3RlciAoaS5lLiB0aGUgZGVlcGVzdCB3cmFwcGVyIGJsb2NrIHRoYXQgY29udGFp
bnMgYWxsIHRoZSB0ZXh0KSwKKyAgICAvLyBhbmQgdXNlIGl0cyB3aWR0aCBpbnN0ZWFkLgorICAg
IGNvbnN0IFJlbmRlckJsb2NrKiBsb3dlc3RDb21tb25BbmNlc3RvciA9IGZpbmREZWVwZXN0Qmxv
Y2tDb250YWluaW5nQWxsVGV4dChjbHVzdGVyKTsKICAgICBmbG9hdCBjb21tb25BbmNlc3Rvcldp
ZHRoID0gbG93ZXN0Q29tbW9uQW5jZXN0b3ItPmNvbnRlbnRMb2dpY2FsV2lkdGgoKTsKIAogICAg
IGZsb2F0IG11bHRpcGxpZXIgPSAxOwpAQCAtMjAxLDggKzIwNCwxMSBAQCBib29sIFRleHRBdXRv
c2l6ZXI6OmlzQXV0b3NpemluZ0NvbnRhaW5lcihjb25zdCBSZW5kZXJPYmplY3QqIHJlbmRlcmVy
KQogICAgIC8vICJBdXRvc2l6aW5nIGNvbnRhaW5lcnMiIGFyZSB0aGUgc21hbGxlc3QgdW5pdCBm
b3Igd2hpY2ggd2UgY2FuCiAgICAgLy8gZW5hYmxlL2Rpc2FibGUgVGV4dCBBdXRvc2l6aW5nLgog
ICAgIC8vIC0gTXVzdCBub3QgYmUgaW5saW5lLCBhcyBkaWZmZXJlbnQgbXVsdGlwbGllcnMgb24g
b25lIGxpbmUgbG9va3MgdGVycmlibGUuCi0gICAgLy8gLSBNdXN0IG5vdCBiZSBsaXN0IGl0ZW1z
LCBhcyBpdGVtcyBpbiB0aGUgc2FtZSBsaXN0IHNob3VsZCBsb29rIGNvbnNpc3RlbnQuCi0gICAg
cmV0dXJuIHJlbmRlcmVyLT5pc1JlbmRlckJsb2NrKCkgJiYgIXJlbmRlcmVyLT5pc0lubGluZSgp
ICYmICFyZW5kZXJlci0+aXNMaXN0SXRlbSgpOworICAgIC8vIC0gTXVzdCBub3QgYmUgbGlzdCBp
dGVtcywgYXMgaXRlbXMgaW4gdGhlIHNhbWUgbGlzdCBzaG91bGQgbG9vayBjb25zaXN0ZW50ICgq
KS4KKyAgICAvLyAqIGV4Y2VwdCBmb3IgdGhvc2UgbGlzdCBpdGVtcyBwb3NpdGlvbmVkIG91dCBv
ZiB0aGUgbGlzdCdzIGZsb3cuCisgICAgcmV0dXJuIHJlbmRlcmVyLT5pc1JlbmRlckJsb2NrKCkK
KyAgICAgICAgJiYgIXJlbmRlcmVyLT5pc0lubGluZSgpCisgICAgICAgICYmICghcmVuZGVyZXIt
PmlzTGlzdEl0ZW0oKSB8fCByZW5kZXJlci0+aXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkpOwogfQog
CiBib29sIFRleHRBdXRvc2l6ZXI6OmlzQXV0b3NpemluZ0NsdXN0ZXIoY29uc3QgUmVuZGVyQmxv
Y2sqIHJlbmRlcmVyKQpAQCAtMjk3LDYgKzMwMyw3MCBAQCBSZW5kZXJPYmplY3QqIFRleHRBdXRv
c2l6ZXI6Om5leHRJblByZU9yZGVyU2tpcHBpbmdEZXNjZW5kYW50c09mQ29udGFpbmVycyhjb25z
dAogICAgIHJldHVybiAwOwogfQogCitjb25zdCBSZW5kZXJCbG9jayogVGV4dEF1dG9zaXplcjo6
ZmluZERlZXBlc3RCbG9ja0NvbnRhaW5pbmdBbGxUZXh0KGNvbnN0IFJlbmRlckJsb2NrKiBjbHVz
dGVyKQoreworICAgIEFTU0VSVChpc0F1dG9zaXppbmdDbHVzdGVyKGNsdXN0ZXIpKTsKKworICAg
IHNpemVfdCBmaXJzdERlcHRoID0gMDsKKyAgICBjb25zdCBSZW5kZXJPYmplY3QqIGZpcnN0VGV4
dExlYWYgPSBmaW5kRmlyc3RUZXh0TGVhZk5vdEluQ2x1c3RlcihjbHVzdGVyLCBmaXJzdERlcHRo
LCBGaXJzdFRvTGFzdCk7CisgICAgaWYgKCFmaXJzdFRleHRMZWFmKQorICAgICAgICByZXR1cm4g
Y2x1c3RlcjsKKworICAgIHNpemVfdCBsYXN0RGVwdGggPSAwOworICAgIGNvbnN0IFJlbmRlck9i
amVjdCogbGFzdFRleHRMZWFmID0gZmluZEZpcnN0VGV4dExlYWZOb3RJbkNsdXN0ZXIoY2x1c3Rl
ciwgbGFzdERlcHRoLCBMYXN0VG9GaXJzdCk7CisgICAgQVNTRVJUKGxhc3RUZXh0TGVhZik7CisK
KyAgICAvLyBFcXVhbGl6ZSB0aGUgZGVwdGhzIGlmIG5lY2Vzc2FyeS4gT25seSBvbmUgb2YgdGhl
IHdoaWxlIGxvb3BzIGJlbG93IHdpbGwgZ2V0IGV4ZWN1dGVkLgorICAgIGNvbnN0IFJlbmRlck9i
amVjdCogZmlyc3ROb2RlID0gZmlyc3RUZXh0TGVhZjsKKyAgICBjb25zdCBSZW5kZXJPYmplY3Qq
IGxhc3ROb2RlID0gbGFzdFRleHRMZWFmOworICAgIHdoaWxlIChmaXJzdERlcHRoID4gbGFzdERl
cHRoKSB7CisgICAgICAgIGZpcnN0Tm9kZSA9IGZpcnN0Tm9kZS0+cGFyZW50KCk7CisgICAgICAg
IC0tZmlyc3REZXB0aDsKKyAgICB9CisgICAgd2hpbGUgKGxhc3REZXB0aCA+IGZpcnN0RGVwdGgp
IHsKKyAgICAgICAgbGFzdE5vZGUgPSBsYXN0Tm9kZS0+cGFyZW50KCk7CisgICAgICAgIC0tbGFz
dERlcHRoOworICAgIH0KKworICAgIC8vIEdvIHVwIGZyb20gYm90aCBub2RlcyB1bnRpbCB0aGUg
cGFyZW50IGlzIHRoZSBzYW1lLiBCb3RoIHBvaW50ZXJzIHdpbGwgcG9pbnQgdG8gdGhlIExDQSB0
aGVuLgorICAgIHdoaWxlIChmaXJzdE5vZGUgIT0gbGFzdE5vZGUpIHsKKyAgICAgICAgZmlyc3RO
b2RlID0gZmlyc3ROb2RlLT5wYXJlbnQoKTsKKyAgICAgICAgbGFzdE5vZGUgPSBsYXN0Tm9kZS0+
cGFyZW50KCk7CisgICAgfQorCisgICAgaWYgKGZpcnN0Tm9kZS0+aXNSZW5kZXJCbG9jaygpKQor
ICAgICAgICByZXR1cm4gdG9SZW5kZXJCbG9jayhmaXJzdE5vZGUpOworCisgICAgLy8gY29udGFp
bmluZ0Jsb2NrKCkgc2hvdWxkIG5ldmVyIGxlYXZlIHRoZSBjbHVzdGVyLCBzaW5jZSBpdCBvbmx5
IHNraXBzIGFuY2VzdG9ycyB3aGVuIGZpbmRpbmcgdGhlCisgICAgLy8gY29udGFpbmVyIG9mIHBv
c2l0aW9uOmFic29sdXRlL2ZpeGVkIGJsb2NrcywgYW5kIHRob3NlIGNhbm5vdCBleGlzdCBiZXR3
ZWVuIGEgY2x1c3RlciBhbmQgaXRzIHRleHQKKyAgICAvLyBub2RlcyBsb3dlc3QgY29tbW9uIGFu
Y2VzdG9yIGFzIGlzQXV0b3NpemluZ0NsdXN0ZXIgd291bGQgaGF2ZSBtYWRlIHRoZW0gaW50byB0
aGVpciBvd24gaW5kZXBlbmRlbnQKKyAgICAvLyBjbHVzdGVyLgorICAgIFJlbmRlckJsb2NrKiBj
b250YWluaW5nQmxvY2sgPSBmaXJzdE5vZGUtPmNvbnRhaW5pbmdCbG9jaygpOworICAgIEFTU0VS
VChjb250YWluaW5nQmxvY2stPmlzRGVzY2VuZGFudE9mKGNsdXN0ZXIpKTsKKworICAgIHJldHVy
biBjb250YWluaW5nQmxvY2s7Cit9CisKK2NvbnN0IFJlbmRlck9iamVjdCogVGV4dEF1dG9zaXpl
cjo6ZmluZEZpcnN0VGV4dExlYWZOb3RJbkNsdXN0ZXIoY29uc3QgUmVuZGVyT2JqZWN0KiBwYXJl
bnQsIHNpemVfdCYgZGVwdGgsIFRyYXZlcnNhbERpcmVjdGlvbiBkaXJlY3Rpb24pCit7CisgICAg
aWYgKHBhcmVudC0+aXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gcGFyZW50LT5pc1RleHQoKSA/
IHBhcmVudCA6IDA7CisKKyAgICArK2RlcHRoOworICAgIGNvbnN0IFJlbmRlck9iamVjdCogY2hp
bGQgPSAoZGlyZWN0aW9uID09IEZpcnN0VG9MYXN0KSA/IHBhcmVudC0+Zmlyc3RDaGlsZCgpIDog
cGFyZW50LT5sYXN0Q2hpbGQoKTsKKyAgICB3aGlsZSAoY2hpbGQpIHsKKyAgICAgICAgaWYgKCFp
c0F1dG9zaXppbmdDb250YWluZXIoY2hpbGQpIHx8ICFpc0F1dG9zaXppbmdDbHVzdGVyKHRvUmVu
ZGVyQmxvY2soY2hpbGQpKSkgeworICAgICAgICAgICAgY29uc3QgUmVuZGVyT2JqZWN0KiBsZWFm
ID0gZmluZEZpcnN0VGV4dExlYWZOb3RJbkNsdXN0ZXIoY2hpbGQsIGRlcHRoLCBkaXJlY3Rpb24p
OworICAgICAgICAgICAgaWYgKGxlYWYpCisgICAgICAgICAgICAgICAgcmV0dXJuIGxlYWY7Cisg
ICAgICAgIH0KKyAgICAgICAgY2hpbGQgPSAoZGlyZWN0aW9uID09IEZpcnN0VG9MYXN0KSA/IGNo
aWxkLT5uZXh0U2libGluZygpIDogY2hpbGQtPnByZXZpb3VzU2libGluZygpOworICAgIH0KKyAg
ICAtLWRlcHRoOworCisgICAgcmV0dXJuIDA7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAogI2VuZGlmIC8vIEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9zaXplci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1RleHRBdXRvc2l6ZXIuaAppbmRleCAyZTJlNzBlNmIwMjg0NTA3MTNiYTZmYWMyZGExMjhi
NTdhZWVhMGQzLi5hNzA5YjExNjhlNDRkZjAwZWMxZjlkNzNiYmU1ZTUxNmZlOTI2Nzc0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9zaXplci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmgKQEAgLTU1LDYgKzU1LDExIEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgZmxvYXQgY29tcHV0ZUF1dG9zaXplZEZvbnRTaXplKGZsb2F0
IHNwZWNpZmllZFNpemUsIGZsb2F0IG11bHRpcGxpZXIpOwogCiBwcml2YXRlOgorICAgIGVudW0g
VHJhdmVyc2FsRGlyZWN0aW9uIHsKKyAgICAgICAgRmlyc3RUb0xhc3QsCisgICAgICAgIExhc3RU
b0ZpcnN0CisgICAgfTsKKwogICAgIGV4cGxpY2l0IFRleHRBdXRvc2l6ZXIoRG9jdW1lbnQqKTsK
IAogICAgIHZvaWQgcHJvY2Vzc0NsdXN0ZXIoUmVuZGVyQmxvY2sqIGNsdXN0ZXIsIFJlbmRlckJs
b2NrKiBjb250YWluZXIsIFJlbmRlck9iamVjdCogc3VidHJlZVJvb3QsIGNvbnN0IFRleHRBdXRv
c2l6aW5nV2luZG93SW5mbyYpOwpAQCAtNzEsNiArNzYsMTQgQEAgcHJpdmF0ZToKICAgICAvLyBV
c2UgdG8gdHJhdmVyc2UgdGhlIHRyZWUgb2YgZGVzY2VuZGFudHMsIGV4Y2x1ZGluZyBkZXNjZW5k
YW50cyBvZiBjb250YWluZXJzIChidXQgcmV0dXJuaW5nIHRoZSBjb250YWluZXJzIHRoZW1zZWx2
ZXMpLgogICAgIHN0YXRpYyBSZW5kZXJPYmplY3QqIG5leHRJblByZU9yZGVyU2tpcHBpbmdEZXNj
ZW5kYW50c09mQ29udGFpbmVycyhjb25zdCBSZW5kZXJPYmplY3QqIGN1cnJlbnQsIGNvbnN0IFJl
bmRlck9iamVjdCogc3RheVdpdGhpbik7CiAKKyAgICAvLyBGaW5kcyB0aGUgbG93ZXN0IGNvbW1v
biBhbmNlc3RvciBvZiB0aGUgZmlyc3QgYW5kIHRoZSBsYXN0IGRlc2NlbmRhbnQKKyAgICAvLyB0
ZXh0IG5vZGUgKGV4Y2x1ZGluZyB0aG9zZSBiZWxvbmdpbmcgdG8gb3RoZXIgYXV0b3NpemluZyBj
bHVzdGVycykuCisgICAgc3RhdGljIGNvbnN0IFJlbmRlckJsb2NrKiBmaW5kRGVlcGVzdEJsb2Nr
Q29udGFpbmluZ0FsbFRleHQoY29uc3QgUmVuZGVyQmxvY2sqIGNsdXN0ZXIpOworCisgICAgLy8g
RGVwZW5kaW5nIG9uIHRoZSB0cmF2ZXJzYWwgZGlyZWN0aW9uIHNwZWNpZmllZCwgZmluZHMgdGhl
IGZpcnN0IG9yIHRoZSBsYXN0IGxlYWYgdGV4dCBub2RlIGNoaWxkIHRoYXQgZG9lc24ndAorICAg
IC8vIGJlbG9uZyB0byBhbnkgY2x1c3Rlci4KKyAgICBzdGF0aWMgY29uc3QgUmVuZGVyT2JqZWN0
KiBmaW5kRmlyc3RUZXh0TGVhZk5vdEluQ2x1c3Rlcihjb25zdCBSZW5kZXJPYmplY3QqLCBzaXpl
X3QmIGRlcHRoLCBUcmF2ZXJzYWxEaXJlY3Rpb24pOworCiAgICAgRG9jdW1lbnQqIG1fZG9jdW1l
bnQ7CiB9OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggNTJiNGM1MDM0Y2M5NzZkMDllOTFjNWY4MTllNDkzNTMyMWJmMjRh
NS4uNzNiMmQzNzkxM2M5MjJiNTczZDAyOTUyODc5NGNmZjUwNDdkZjQ5ZCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDM1IEBACisyMDEyLTExLTI3ICBBbnRvbiBWYXl2b2QgIDxhdmF5dm9kQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBUZXh0IEF1dG9zaXppbmc6IENsdXN0ZXJzIHNob3VsZCB1c2Ugd2lkdGgg
b2YgTENBIG9mIHRoZWlyIHRleHQgbm9kZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwMjU2MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE1hbnkgcGFnZXMgc2V0IGEgbWF4LXdpZHRoIG9uIHRoZWlyIGNv
bnRlbnQuIFNvIGVzcGVjaWFsbHkgZm9yIHRoZQorICAgICAgICBSZW5kZXJWaWV3LCBpbnN0ZWFk
IG9mIGp1c3QgdGFraW5nIHRoZSB3aWR0aCBvZiB8Y2x1c3Rlcnwgd2UgZmluZAorICAgICAgICB0
aGUgbG93ZXN0IGNvbW1vbiBhbmNlc3RvciBvZiB0aGUgZmlyc3QgYW5kIGxhc3QgZGVzY2VuZGFu
dCB0ZXh0IG5vZGUgb2YKKyAgICAgICAgdGhlIGNsdXN0ZXIgKGkuZS4gdGhlIGRlZXBlc3Qgd3Jh
cHBlciBibG9jayB0aGF0IGNvbnRhaW5zIGFsbCB0aGUgdGV4dCksCisgICAgICAgIGFuZCB1c2Ug
aXRzIHdpZHRoIGluc3RlYWQuCisgICAgICAgIEhhZCB0byB1cGRhdGUgYSBjb3VwbGUgb2YgZXhp
c3RpbmcgdGVzdHMgc2luY2UgdGhlIGFjdHVhbCB3aWR0aCBmb3IgZm9udAorICAgICAgICBzaXpl
IG11bHRpcGxpZXIgY2FsY3VsYXRpb24gaGFzIGJlZW4gY2hhbmdlZCBieSB0aGUgcGF0Y2guCisK
KyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpZGUtaW4tbmFycm93LWV4
cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aWRl
LWluLW5hcnJvdy5odG1sOgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXIt
d2l0aC1uYXJyb3ctbGNhLWFuZC1jbHVzdGVyLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWFuZC1jbHVz
dGVyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXIt
d2l0aC1uYXJyb3ctbGNhLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4
dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC13aWRlLWxjYS1leHBlY3RlZC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgt
d2lkZS1sY2EuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvZW0t
bWFyZ2luLWJvcmRlci1wYWRkaW5nLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC90ZXh0
LWF1dG9zaXppbmcvZW0tbWFyZ2luLWJvcmRlci1wYWRkaW5nLmh0bWw6CisgICAgICAgICogZmFz
dC90ZXh0LWF1dG9zaXppbmcvbGlzdC1pdGVtLW91dC1vZi1mbG93LWV4cGVjdGVkLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2xpc3QtaXRlbS1vdXQtb2YtZmxv
dy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWNoaWxk
LWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lkZS1jaGls
ZC5odG1sOgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtaW4tbmFycm93LW92
ZXJmbG93LXNjcm9sbC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQt
YXV0b3NpemluZy93aWRlLWluLW5hcnJvdy1vdmVyZmxvdy1zY3JvbGwuaHRtbDogQWRkZWQuCisK
IDIwMTItMTEtMjcgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAogICAgICAgICBV
bnJldmlld2VkLCB1cGRhdGluZyBUZXN0RXhwZWN0YXRpb25zIGFmdGVyIGlucHV0IHNsaWRlciBj
aGFuZ2UuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVz
dGVyLXdpdGgtbmFycm93LWxjYS1hbmQtY2x1c3Rlci1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLW5hcnJvdy1sY2EtYW5kLWNsdXN0
ZXItZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNTE0ZWEyNTM5MGY2YjBiZDY4YTcxMTkwMDAz
MTYwYWIzOGY1M2U3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1
dG9zaXppbmcvY2x1c3Rlci13aXRoLW5hcnJvdy1sY2EtYW5kLWNsdXN0ZXItZXhwZWN0ZWQuaHRt
bApAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlPgoraHRtbCB7
IGZvbnQtc2l6ZTogMTZweDsgfQorYm9keSB7IHdpZHRoOiA4MDBweDsgb3ZlcmZsb3cteTogaGlk
ZGVuOyB9Cis8L3N0eWxlPgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHlsZT0id2lkdGg6
IDQwMHB4Ij4KKyAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxLjI1cmVtIj4KKyAgICBUaGlzIHRl
eHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byBqdXN0IDIwcHggY29tcHV0ZWQgZm9udCBzaXplICgx
NiAqIDQwMC8zMjApLCBzaW5jZSB0aGUgd2lkdGggb2YgdGhlIGxlYXN0IGNvbW1vbiBhbmNlc3Rv
ciBvZiB0aGUgY2x1c3RlcidzIHRleHQgZGVzY2VuZGFudHMgaXMgdXNlZCBmb3IgbXVsdGlwbGll
ciBjYWxjdWxhdGlvbi4KKyAgPC9kaXY+CisKKyAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxLjI1
cmVtIj4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJlIHNpbWlsYXJseSBhdXRvc2l6ZWQgdG8gMjBw
eC4KKyAgPC9kaXY+Cis8L2Rpdj4KKzxkaXYgc3R5bGU9ImZsb2F0OiBsZWZ0OyB3aWR0aDogODAw
cHg7IGZvbnQtc2l6ZTogMi41cmVtIj4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXpl
ZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSAoMTYgKiA4MDAvMzIwKS4gSXQgc2hvdWxkIG5v
dCBhZmZlY3QgYXV0b3NpemluZyBmb3IgdGV4dCBhYm92ZSB0aG91Z2ggc2luY2UgaXQncyBhbm90
aGVyIGNsdXN0ZXIuPGJyPgorICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0
ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1
dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0s
IHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVp
cCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJl
aGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQg
bnVsbGEgcGFyaWF0dXIuIEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJv
aWRlbnQsIHN1bnQgaW4gY3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQg
ZXN0IGxhYm9ydW0uCis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS1h
bmQtY2x1c3Rlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rl
ci13aXRoLW5hcnJvdy1sY2EtYW5kLWNsdXN0ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYmY5ZmU5NmU3
OTMzMTRjNGJhMGNkZWY2YzQ1ZjRjYWU0Mzc3YTg1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLW5hcnJvdy1sY2EtYW5kLWNs
dXN0ZXIuaHRtbApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxl
PgoraHRtbCB7IGZvbnQtc2l6ZTogMTZweDsgfQorYm9keSB7IHdpZHRoOiA4MDBweDsgb3ZlcmZs
b3cteTogaGlkZGVuOyB9Cis8L3N0eWxlPgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5h
bHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nRW5h
YmxlZCh0cnVlKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6
aW5nV2luZG93U2l6ZU92ZXJyaWRlKDMyMCwgNDgwKTsKK30gZWxzZSBpZiAod2luZG93LmNvbnNv
bGUgJiYgY29uc29sZS53YXJuKSB7CisgICAgY29uc29sZS53YXJuKCJUaGlzIHRlc3QgZGVwZW5k
cyBvbiB0aGUgVGV4dCBBdXRvc2l6aW5nIHNldHRpbmcgYmVpbmcgdHJ1ZSwgc28gcnVuIGl0IGlu
IER1bXBSZW5kZXJUcmVlLCBvciBtYW51YWxseSBlbmFibGUgVGV4dCBBdXRvc2l6aW5nLCBhbmQg
ZWl0aGVyIHVzZSBhIG1vYmlsZSBkZXZpY2Ugd2l0aCAzMjBweCBkZXZpY2Utd2lkdGggKGxpa2Ug
TmV4dXMgUyBvciBpUGhvbmUpLCBvciBkZWZpbmUgSEFDS19GT1JDRV9URVhUX0FVVE9TSVpJTkdf
T05fREVTS1RPUC4iKTsKK30KKzwvc2NyaXB0PgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBz
dHlsZT0id2lkdGg6IDQwMHB4Ij4KKyAgPGRpdj4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1
dG9zaXplZCB0byBqdXN0IDIwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDQwMC8zMjApLCBz
aW5jZSB0aGUgd2lkdGggb2YgdGhlIGxlYXN0IGNvbW1vbiBhbmNlc3RvciBvZiB0aGUgY2x1c3Rl
cidzIHRleHQgZGVzY2VuZGFudHMgaXMgdXNlZCBmb3IgbXVsdGlwbGllciBjYWxjdWxhdGlvbi4K
KyAgPC9kaXY+CisKKyAgPGRpdj4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJlIHNpbWlsYXJseSBh
dXRvc2l6ZWQgdG8gMjBweC4KKyAgPC9kaXY+Cis8L2Rpdj4KKzxkaXYgc3R5bGU9ImZsb2F0OiBs
ZWZ0OyB3aWR0aDogODAwcHgiPgorICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRv
IDQwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDgwMC8zMjApLiBJdCBzaG91bGQgbm90IGFm
ZmVjdCBhdXRvc2l6aW5nIGZvciB0ZXh0IGFib3ZlIHRob3VnaCBzaW5jZSBpdCdzIGFub3RoZXIg
Y2x1c3Rlci48YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVy
IGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxh
Ym9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVp
cyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4
IGVhIGNvbW1vZG8gY29uc2VxdWF0LiBEdWlzIGF1dGUgaXJ1cmUgZG9sb3IgaW4gcmVwcmVoZW5k
ZXJpdCBpbiB2b2x1cHRhdGUgdmVsaXQgZXNzZSBjaWxsdW0gZG9sb3JlIGV1IGZ1Z2lhdCBudWxs
YSBwYXJpYXR1ci4gRXhjZXB0ZXVyIHNpbnQgb2NjYWVjYXQgY3VwaWRhdGF0IG5vbiBwcm9pZGVu
dCwgc3VudCBpbiBjdWxwYSBxdWkgb2ZmaWNpYSBkZXNlcnVudCBtb2xsaXQgYW5pbSBpZCBlc3Qg
bGFib3J1bS4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC1uYXJyb3ctbGNhLWV4cGVj
dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgt
bmFycm93LWxjYS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4Yzc5M2M2YTUyMmI2YzA5MzJl
OWNiYjczNWNlZGU1MmEzZjI3MjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS1leHBlY3RlZC5odG1sCkBA
IC0wLDAgKzEsMjUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEg
bmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGU+CitodG1sIHsgZm9u
dC1zaXplOiAxNnB4OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBvdmVyZmxvdy15OiBoaWRkZW47
IH0KKzwvc3R5bGU+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJ3aWR0aDogNDAw
cHgiPgorICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDEuMjVyZW0iPgorICAgIFRoaXMgdGV4dCBz
aG91bGQgYmUgYXV0b3NpemVkIHRvIGp1c3QgMjBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICog
NDAwLzMyMCksIHNpbmNlIHRoZSB3aWR0aCBvZiB0aGUgbGVhc3QgY29tbW9uIGFuY2VzdG9yIG9m
IHRoZSBjbHVzdGVyJ3MgdGV4dCBkZXNjZW5kYW50cyBpcyB1c2VkIGZvciBtdWx0aXBsaWVyIGNh
bGN1bGF0aW9uLgorICA8L2Rpdj4KKworICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDEuMjVyZW0i
PgorICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgc2ltaWxhcmx5IGF1dG9zaXplZCB0byAyMHB4Lgor
ICA8L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtbmFycm93LWxjYS5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRoLW5hcnJvdy1sY2Eu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42YjhlZGRkYzBjM2JlYzRjMzVhMDRmMDgxNjE1ZTUxZTExZWUxMDUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1
c3Rlci13aXRoLW5hcnJvdy1sY2EuaHRtbApAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD04MDAiPgorPHN0eWxlPgoraHRtbCB7IGZvbnQtc2l6ZTogMTZweDsgfQorYm9keSB7IHdpZHRo
OiA4MDBweDsgb3ZlcmZsb3cteTogaGlkZGVuOyB9Cis8L3N0eWxlPgorCis8c2NyaXB0PgoraWYg
KHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRl
eHRBdXRvc2l6aW5nRW5hYmxlZCh0cnVlKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdz
LnNldFRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlKDMyMCwgNDgwKTsKK30gZWxzZSBp
ZiAod2luZG93LmNvbnNvbGUgJiYgY29uc29sZS53YXJuKSB7CisgICAgY29uc29sZS53YXJuKCJU
aGlzIHRlc3QgZGVwZW5kcyBvbiB0aGUgVGV4dCBBdXRvc2l6aW5nIHNldHRpbmcgYmVpbmcgdHJ1
ZSwgc28gcnVuIGl0IGluIER1bXBSZW5kZXJUcmVlLCBvciBtYW51YWxseSBlbmFibGUgVGV4dCBB
dXRvc2l6aW5nLCBhbmQgZWl0aGVyIHVzZSBhIG1vYmlsZSBkZXZpY2Ugd2l0aCAzMjBweCBkZXZp
Y2Utd2lkdGggKGxpa2UgTmV4dXMgUyBvciBpUGhvbmUpLCBvciBkZWZpbmUgSEFDS19GT1JDRV9U
RVhUX0FVVE9TSVpJTkdfT05fREVTS1RPUC4iKTsKK30KKzwvc2NyaXB0PgorCis8L2hlYWQ+Cis8
Ym9keT4KKworPGRpdiBzdHlsZT0id2lkdGg6IDQwMHB4Ij4KKyAgPGRpdj4KKyAgICBUaGlzIHRl
eHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byBqdXN0IDIwcHggY29tcHV0ZWQgZm9udCBzaXplICgx
NiAqIDQwMC8zMjApLCBzaW5jZSB0aGUgd2lkdGggb2YgdGhlIGxlYXN0IGNvbW1vbiBhbmNlc3Rv
ciBvZiB0aGUgY2x1c3RlcidzIHRleHQgZGVzY2VuZGFudHMgaXMgdXNlZCBmb3IgbXVsdGlwbGll
ciBjYWxjdWxhdGlvbi4KKyAgPC9kaXY+CisKKyAgPGRpdj4KKyAgICBUaGlzIHRleHQgc2hvdWxk
IGJlIHNpbWlsYXJseSBhdXRvc2l6ZWQgdG8gMjBweC4KKyAgPC9kaXY+Cis8L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXpp
bmcvY2x1c3Rlci13aXRoLXdpZGUtbGNhLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EtZXhwZWN0ZWQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iMjcyNTRkOWE0NTJlNmFjZDQ4NGFjMmMyMzExMTc1OTQ0NWRmMTFhCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY2x1c3Rlci13aXRo
LXdpZGUtbGNhLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ODAwIj4KKzxzdHlsZT4KK2h0bWwgeyBmb250LXNpemU6IDE2cHg7IH0KK2JvZHkgeyB3aWR0aDog
ODAwcHg7IG92ZXJmbG93LXk6IGhpZGRlbjsgfQorPC9zdHlsZT4KKworPC9oZWFkPgorPGJvZHk+
CisKKzxkaXYgc3R5bGU9IndpZHRoOiA0MDBweCI+CisgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTog
Mi41cmVtIj4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byA0MHB4IGNvbXB1
dGVkIGZvbnQgc2l6ZSAoMTYgKiA4MDAvMzIwKSBzaW5jZSB0aGUgbGVhc3QgY29tbW9uIGFuY2Vz
dG9yIG9mIGFsbCB0aGUgY2x1c3RlcidzIHRleHQgZGVzY2VuZGFudHMgaXMgdGhlIEJPRFkgdGFn
LgorICA8L2Rpdj4KKworICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDIuNXJlbSI+CisgICAgVGhp
cyB0ZXh0IHNob3VsZCBiZSBzaW1pbGFybHkgYXV0b3NpemVkIHRvIDQwcHguCisgIDwvZGl2Pgor
PC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogODAwcHg7IGZvbnQtc2l6ZTogMi41cmVtIj4KKyAg
VGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQgdG8gNDBweCBjb21wdXRlZCBmb250IHNpemUg
KDE2ICogODAwLzMyMCkuCisgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1
ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBs
YWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1
aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBl
eCBlYSBjb21tb2RvIGNvbnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVu
ZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVs
bGEgcGFyaWF0dXIuIEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRl
bnQsIHN1bnQgaW4gY3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0
IGxhYm9ydW0uCis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVzdGVyLXdpdGgtd2lkZS1sY2EuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NsdXN0ZXItd2l0aC13aWRlLWxjYS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjAxYTBiZTU1OWM2ODIzYzNlZmZiMTg3OGFkNzU5MjhjNDc2NGQ5ZjkK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jbHVz
dGVyLXdpdGgtd2lkZS1sY2EuaHRtbApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04
MDAiPgorPHN0eWxlPgoraHRtbCB7IGZvbnQtc2l6ZTogMTZweDsgfQorYm9keSB7IHdpZHRoOiA4
MDBweDsgb3ZlcmZsb3cteTogaGlkZGVuOyB9Cis8L3N0eWxlPgorCis8c2NyaXB0PgoraWYgKHdp
bmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRB
dXRvc2l6aW5nRW5hYmxlZCh0cnVlKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlKDMyMCwgNDgwKTsKK30gZWxzZSBpZiAo
d2luZG93LmNvbnNvbGUgJiYgY29uc29sZS53YXJuKSB7CisgICAgY29uc29sZS53YXJuKCJUaGlz
IHRlc3QgZGVwZW5kcyBvbiB0aGUgVGV4dCBBdXRvc2l6aW5nIHNldHRpbmcgYmVpbmcgdHJ1ZSwg
c28gcnVuIGl0IGluIER1bXBSZW5kZXJUcmVlLCBvciBtYW51YWxseSBlbmFibGUgVGV4dCBBdXRv
c2l6aW5nLCBhbmQgZWl0aGVyIHVzZSBhIG1vYmlsZSBkZXZpY2Ugd2l0aCAzMjBweCBkZXZpY2Ut
d2lkdGggKGxpa2UgTmV4dXMgUyBvciBpUGhvbmUpLCBvciBkZWZpbmUgSEFDS19GT1JDRV9URVhU
X0FVVE9TSVpJTkdfT05fREVTS1RPUC4iKTsKK30KKzwvc2NyaXB0PgorCis8L2hlYWQ+Cis8Ym9k
eT4KKworPGRpdiBzdHlsZT0id2lkdGg6IDQwMHB4Ij4KKyAgPGRpdj4KKyAgICBUaGlzIHRleHQg
c2hvdWxkIGJlIGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQgc2l6ZSAoMTYgKiA4MDAv
MzIwKSBzaW5jZSB0aGUgbGVhc3QgY29tbW9uIGFuY2VzdG9yIG9mIGFsbCB0aGUgY2x1c3Rlcidz
IHRleHQgZGVzY2VuZGFudHMgaXMgdGhlIEJPRFkgdGFnLgorICA8L2Rpdj4KKworICA8ZGl2Pgor
ICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgc2ltaWxhcmx5IGF1dG9zaXplZCB0byA0MHB4LgorICA8
L2Rpdj4KKzwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDgwMHB4Ij4KKyAgVGhpcyB0ZXh0IHNo
b3VsZCBiZSBhdXRvc2l6ZWQgdG8gNDBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogODAwLzMy
MCkuCisgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2lu
ZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9s
b3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBl
eGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2Rv
IGNvbnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9s
dXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQgbnVsbGEgcGFyaWF0dXIu
IEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsIHN1bnQgaW4g
Y3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uCis8
L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3RleHQtYXV0b3NpemluZy9lbS1tYXJnaW4tYm9yZGVyLXBhZGRpbmctZXhwZWN0ZWQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1ib3JkZXItcGFkZGlu
Zy1leHBlY3RlZC5odG1sCmluZGV4IDQzYmQxYzA2ODljODQ0NWU4MGE4MDUxMDhmZWRlNTg1YmU2
ZjFmMjMuLjU0MjljZTNhYWVjNDY3NmQzYzAzNDA0Y2RkNzZjYWU4YTM5MjIyOGQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1ib3JkZXItcGFk
ZGluZy1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5n
L2VtLW1hcmdpbi1ib3JkZXItcGFkZGluZy1leHBlY3RlZC5odG1sCkBAIC01LDE0ICs1LDE0IEBA
CiA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KIDxzdHlsZT4KIGh0
bWwgeyBmb250LXNpemU6IDE2cHg7IH0KLWJvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjogMDsg
b3ZlcmZsb3cteTogaGlkZGVuOyB9Citib2R5IHsgd2lkdGg6IDg5NnB4OyBtYXJnaW46IDA7IG92
ZXJmbG93LXk6IGhpZGRlbjsgfQogPC9zdHlsZT4KIAogPC9oZWFkPgogPGJvZHk+CiAKIDxwIHN0
eWxlPSJmb250LXNpemU6IDIuNXJlbTsgbWFyZ2luOiAxcmVtOyBib3JkZXI6IDFyZW0gc29saWQg
Ymx1ZTsgcGFkZGluZzogMXJlbSI+Ci0gICAgVGhpcyB0ZXh0IHNob3VsZCBnZXQgYXV0b3NpemVk
IHRvIDQwcHggY29tcHV0ZWQgZm9udCBzaXplLCBidXQgdGhlIDFlbSBtYXJnaW5zLCBib3JkZXJz
IGFuZCBwYWRkaW5nIHNob3VsZCByZW1haW4ganVzdCAxNnB4LiBXaGlsZSBkZWJhdGFibGUsIHRo
aXMgZ2VuZXJhbGx5IGxvb2tzIG1vcmUgY29uc2lzdGVudCB0aGFuIGhhdmluZyB0aGVtIGJlIHNj
YWxlZC48YnI+CisgICAgVGhpcyB0ZXh0IHNob3VsZCBnZXQgYXV0b3NpemVkIHRvIDQwcHggY29t
cHV0ZWQgZm9udCBzaXplICgxNiAqIDgwMC8zMjApLCBidXQgdGhlIDFlbSBtYXJnaW5zLCBib3Jk
ZXJzIGFuZCBwYWRkaW5nIHNob3VsZCByZW1haW4ganVzdCAxNnB4LiBXaGlsZSBkZWJhdGFibGUs
IHRoaXMgZ2VuZXJhbGx5IGxvb2tzIG1vcmUgY29uc2lzdGVudCB0aGFuIGhhdmluZyB0aGVtIGJl
IHNjYWxlZC48YnI+CiAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVy
IGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxh
Ym9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVp
cyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4
IGVhIGNvbW1vZG8gY29uc2VxdWF0LgogPC9wPgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3RleHQtYXV0b3NpemluZy9lbS1tYXJnaW4tYm9yZGVyLXBhZGRpbmcuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1ib3JkZXItcGFkZGluZy5odG1s
CmluZGV4IDM5NWU4MTRhNjMxMjA4NjM3OGJlYjBmNzA5ZjhkMmExYWQxYzc5Y2IuLjEwZDNhOTY3
ZDdhMmJiMDFkOTI0ZTUzNDgzNGFlNmNmNmZlMGQ5ZTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1ib3JkZXItcGFkZGluZy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2VtLW1hcmdpbi1ib3JkZXItcGFkZGlu
Zy5odG1sCkBAIC01LDcgKzUsNyBAQAogPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPTgwMCI+CiA8c3R5bGU+CiBodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9Ci1ib2R5IHsgd2lk
dGg6IDgwMHB4OyBtYXJnaW46IDA7IG92ZXJmbG93LXk6IGhpZGRlbjsgfQorYm9keSB7IHdpZHRo
OiA4OTZweDsgbWFyZ2luOiAwOyBvdmVyZmxvdy15OiBoaWRkZW47IH0KIDwvc3R5bGU+CiAKIDxz
Y3JpcHQ+CkBAIC0yMSw3ICsyMSw3IEBAIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CiA8Ym9keT4K
IAogPHAgc3R5bGU9Im1hcmdpbjogMWVtOyBib3JkZXI6IDFlbSBzb2xpZCBibHVlOyBwYWRkaW5n
OiAxZW0iPgotICAgIFRoaXMgdGV4dCBzaG91bGQgZ2V0IGF1dG9zaXplZCB0byA0MHB4IGNvbXB1
dGVkIGZvbnQgc2l6ZSwgYnV0IHRoZSAxZW0gbWFyZ2lucywgYm9yZGVycyBhbmQgcGFkZGluZyBz
aG91bGQgcmVtYWluIGp1c3QgMTZweC4gV2hpbGUgZGViYXRhYmxlLCB0aGlzIGdlbmVyYWxseSBs
b29rcyBtb3JlIGNvbnNpc3RlbnQgdGhhbiBoYXZpbmcgdGhlbSBiZSBzY2FsZWQuPGJyPgorICAg
IFRoaXMgdGV4dCBzaG91bGQgZ2V0IGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQgc2l6
ZSAoMTYgKiA4MDAvMzIwKSwgYnV0IHRoZSAxZW0gbWFyZ2lucywgYm9yZGVycyBhbmQgcGFkZGlu
ZyBzaG91bGQgcmVtYWluIGp1c3QgMTZweC4gV2hpbGUgZGViYXRhYmxlLCB0aGlzIGdlbmVyYWxs
eSBsb29rcyBtb3JlIGNvbnNpc3RlbnQgdGhhbiBoYXZpbmcgdGhlbSBiZSBzY2FsZWQuPGJyPgog
ICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBl
bGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3Jl
IG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVy
Y2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNv
bnNlcXVhdC4KIDwvcD4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9z
aXppbmcvbGlzdC1pdGVtLW91dC1vZi1mbG93LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3RleHQtYXV0b3NpemluZy9saXN0LWl0ZW0tb3V0LW9mLWZsb3ctZXhwZWN0ZWQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iYzQ4ZjNkNzM0ZjY1MjZlM2U0NGI3NjgzODI3M2M1MmM1MjdmZGM2Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvbGlzdC1pdGVt
LW91dC1vZi1mbG93LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lk
dGg9ODAwIj4KKzxzdHlsZT4KK2h0bWwgeyBmb250LXNpemU6IDE2cHg7IH0KK2JvZHkgeyB3aWR0
aDogODAwcHg7IG1hcmdpbjogMDsgb3ZlcmZsb3cteTogaGlkZGVuOyB9Cis8L3N0eWxlPgorCis8
L2hlYWQ+Cis8Ym9keT4KKworPHVsIHN0eWxlPSJ3aWR0aDogNDAwcHgiPgorCTxsaSBzdHlsZT0i
d2lkdGg6IDYwMHB4OyBmb250LXNpemU6IDEuMjVyZW0iPgorCQlUaGlzIGVsZW1lbnQgaXMgb25s
eSBhdXRvc2l6ZWQgdG8gMjBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogNDAwLzMyMCksIHNp
bmNlIHdlIGRvbid0IHdhbnQgbGlzdCBpdGVtcyB0byBiZSBhdXRvc2l6ZWQgZGlmZmVyZW50bHkg
ZnJvbSBlYWNoIG90aGVyLCBhbmQgdGhlIHdpZHRoIG9mIFVMIHRhZyBpcyB1c2VkIGZvciBhdXRv
c2l6aW5nLjxicj4KKwkJTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFk
aXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9y
ZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLgorCTwvbGk+CisJPGxpIHN0eWxlPSJwb3NpdGlvbjog
YWJzb2x1dGU7IHdpZHRoOiA4MDBweDsgZm9udC1zaXplOiAyLjVyZW0iPgorCQlUaGlzIGxpc3Qg
ZWxlbWVudCBiZWNvbWVzIGEgc2VwYXJhdGUgYXV0b3NpemluZyBjbHVzdGVyIHNpbmNlIGl0J3Mg
cG9zaXRpb25lZCBvdXQgb2YgdGhlIGxpc3QgZmxvdy4gSGVuY2UgaXRzIGNvbXB1dGVkIGZvbnQg
c2l6ZSBpcyA0MHB4ICgxNiAqIDQwMCAvIDMyMCkuPGJyPgorCQlMb3JlbSBpcHN1bSBkb2xvciBz
aXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVt
cG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCisJPC9saT4K
Kwk8bGkgc3R5bGU9ImZvbnQtc2l6ZTogMS4yNXJlbSI+CisJCVRoaXMgZWxlbWVudCBpcyBhdXRv
c2l6ZWQgdG8gY29tcHV0ZWQgZm9udCBzaXplIG9mIDIwcHggc2ltaWxhcmx5IHRvIHRoZSBmaXJz
dCBsaXN0IGl0ZW0uPGJyPgorCQlMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0
dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQg
bGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCisJPC9saT4KKzwvdWw+CQorPC9ib2R5Pgor
PC9oZWFkPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2xpc3QtaXRlbS1vdXQtb2YtZmxvdy5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvbGlzdC1pdGVtLW91dC1vZi1mbG93Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjBlNDZkODg0YzNhNjRmZjNmZjliYTJmZDUzYmQyYTdlZjE1NjA5ZAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2xpc3QtaXRl
bS1vdXQtb2YtZmxvdy5odG1sCkBAIC0wLDAgKzEsMzggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+
Cis8c3R5bGU+CitodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4
OyBtYXJnaW46IDA7IG92ZXJmbG93LXk6IGhpZGRlbjsgfQorPC9zdHlsZT4KKworPHNjcmlwdD4K
K2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5z
ZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0
aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVs
c2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2Fy
bigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5n
IHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRl
eHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHgg
ZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9S
Q0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFk
PgorPGJvZHk+CisKKzx1bCBzdHlsZT0id2lkdGg6IDQwMHB4Ij4KKwk8bGkgc3R5bGU9IndpZHRo
OiA2MDBweCI+CisJCVRoaXMgZWxlbWVudCBpcyBvbmx5IGF1dG9zaXplZCB0byAyMHB4IGNvbXB1
dGVkIGZvbnQgc2l6ZSAoMTYgKiA0MDAvMzIwKSwgc2luY2Ugd2UgZG9uJ3Qgd2FudCBsaXN0IGl0
ZW1zIHRvIGJlIGF1dG9zaXplZCBkaWZmZXJlbnRseSBmcm9tIGVhY2ggb3RoZXIsIGFuZCB0aGUg
d2lkdGggb2YgVUwgdGFnIGlzIHVzZWQgZm9yIGF1dG9zaXppbmcuPGJyPgorCQlMb3JlbSBpcHN1
bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVp
dXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEu
CisJPC9saT4KKwk8bGkgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDgwMHB4Ij4K
KwkJVGhpcyBsaXN0IGVsZW1lbnQgYmVjb21lcyBhIHNlcGFyYXRlIGF1dG9zaXppbmcgY2x1c3Rl
ciBzaW5jZSBpdCdzIHBvc2l0aW9uZWQgb3V0IG9mIHRoZSBsaXN0IGZsb3cuIEhlbmNlIGl0cyBj
b21wdXRlZCBmb250IHNpemUgaXMgNDBweCAoMTYgKiA0MDAgLyAzMjApLjxicj4KKwkJTG9yZW0g
aXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBk
byBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxp
cXVhLgorCTwvbGk+CisJPGxpPgorCQlUaGlzIGVsZW1lbnQgaXMgYXV0b3NpemVkIHRvIGNvbXB1
dGVkIGZvbnQgc2l6ZSBvZiAyMHB4IHNpbWlsYXJseSB0byB0aGUgZmlyc3QgbGlzdCBpdGVtLjxi
cj4KKwkJTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5n
IGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xv
cmUgbWFnbmEgYWxpcXVhLgorCTwvbGk+Cis8L3VsPgkKKzwvYm9keT4KKzwvaGVhZD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQt
YXV0b3NpemluZy93aWRlLWNoaWxkLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQtYXV0b3NpemluZy93aWRlLWNoaWxkLWV4cGVjdGVkLmh0bWwKaW5kZXggNGIwMDBmNjcwZWE3
MjRjMDlhNmU3YWRiZWRiN2QxMTYzNzNiYjM1Yi4uYTkwYTAxM2FmM2VkNGVlMDRlMjZhYzYwNzIw
NmY5MmRhY2JiNWE4OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXpp
bmcvd2lkZS1jaGlsZC1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1h
dXRvc2l6aW5nL3dpZGUtY2hpbGQtZXhwZWN0ZWQuaHRtbApAQCAtMTEsMTIgKzExLDE0IEBAIGJv
ZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjogMDsgb3ZlcmZsb3cteTogaGlkZGVuOyB9CiA8L2hl
YWQ+CiA8Ym9keT4KIAotPGRpdiBzdHlsZT0id2lkdGg6IDMyMHB4OyBmb250LXNpemU6IDIuNXJl
bSI+Ci0gICAgVGhpcyB0ZXh0IHNob3VsZCBhbGwgYmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0
ZWQgZm9udC1zaXplLCBzaW5jZSBhbHRob3VnaCB0aGlzIGJsb2NrIGlzIG5hcnJvdywgaXQgaGFz
IGEgd2lkZSBjaGlsZCBibG9jaywgc28gdGhlIGNsdXN0ZXIgd2lsbCBiZSB3aWRlIGFuZCBuZWVk
IGF1dG9zaXppbmcuCi0gICAgPGRpdiBzdHlsZT0id2lkdGg6IDgwMHB4Ij4KKzxkaXYgc3R5bGU9
IndpZHRoOiAzMjBweDsgZm9udC1zaXplOiAxcmVtIj4KKwlUaGlzIHRleHQgc2hvdWxkIG5vdCBi
ZSBhdXRvc2l6ZWQsIGFzIHRoaXMgZGl2IGlzIHRoZSBsb3dlc3QgY29tbW9uIGFuY2VzdG9yIG9m
IHRoZSByb290IGNsdXN0ZXIsIGFuZCB0aGlzIGRpdiBpcyBuYXJyb3cuPGJyPgorICAgIExvcmVt
IGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQg
ZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFs
aXF1YS4KKwk8ZGl2IHN0eWxlPSJ3aWR0aDogODAwcHgiPgorICAgIAlUaGlzIHRleHQgc2hvdWxk
IG5vdCBiZSBhdXRvc2l6ZWQgc2luY2UgaXQgZG9lc24ndCBhZmZlY3QgdGhlIHdpZHRoIG9mIHRo
ZSBwYXJlbnQgYmxvY2sgd2hpY2ggaXMgdXNlZCB0byBjYWxjdWxhdGUgdGhlIGF1dG9zaXppbmcg
bXVsdGlwbGllci48YnI+CisgICAgCUZJWE1FOiBJZGVhbGx5IHRoaXMgdGV4dCBzaG91bGQgYmUg
YXV0b3NpemVkLiBXaWxsIG5lZWQgdG8gYmUgZml4ZWQgbGF0ZXIuPGJyPgogICAgICAgICBMb3Jl
bSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2Vk
IGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBh
bGlxdWEuCiAgICAgPC9kaXY+Ci0gICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNl
Y3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50
IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLgogPC9kaXY+CiAKIDwvYm9keT4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtY2hpbGQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtY2hpbGQuaHRtbAppbmRl
eCAwYTViMTIxNGY4MDk5MTQ2MTQ3YjdiMGNlZDNmOTIxOWVmOTE1NTUxLi40NTRlYTYxZjNhZjc5
YWZmODdiN2QzMzBjNTViNzkxNzYzYjUyMDdlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L3RleHQtYXV0b3NpemluZy93aWRlLWNoaWxkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0LWF1dG9zaXppbmcvd2lkZS1jaGlsZC5odG1sCkBAIC0yMSwxMSArMjEsMTMgQEAgaWYgKHdp
bmRvdy5pbnRlcm5hbHMpIHsKIDxib2R5PgogCiA8ZGl2IHN0eWxlPSJ3aWR0aDogMzIwcHgiPgot
ICAgIFRoaXMgdGV4dCBzaG91bGQgYWxsIGJlIGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZv
bnQtc2l6ZSwgc2luY2UgYWx0aG91Z2ggdGhpcyBibG9jayBpcyBuYXJyb3csIGl0IGhhcyBhIHdp
ZGUgY2hpbGQgYmxvY2ssIHNvIHRoZSBjbHVzdGVyIHdpbGwgYmUgd2lkZSBhbmQgbmVlZCBhdXRv
c2l6aW5nLgorICAgIFRoaXMgdGV4dCBzaG91bGQgbm90IGJlIGF1dG9zaXplZCwgYXMgdGhpcyBk
aXYgaXMgdGhlIGxvd2VzdCBjb21tb24gYW5jZXN0b3Igb2YgdGhlIHJvb3QgY2x1c3RlciwgYW5k
IHRoaXMgZGl2IGlzIG5hcnJvdy48YnI+CisgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQs
IGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNp
ZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLgogICAgIDxkaXYgc3R5bGU9
IndpZHRoOiA4MDBweCI+CisgICAgCVRoaXMgdGV4dCBzaG91bGQgbm90IGJlIGF1dG9zaXplZCBz
aW5jZSBpdCBkb2Vzbid0IGFmZmVjdCB0aGUgd2lkdGggb2YgdGhlIHBhcmVudCBibG9jayB3aGlj
aCBpcyB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgYXV0b3NpemluZyBtdWx0aXBsaWVyLjxicj4KKyAg
ICAJRklYTUU6IElkZWFsbHkgdGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQuIFdpbGwgbmVl
ZCB0byBiZSBmaXhlZCBsYXRlci48YnI+CiAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBh
bWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3Ig
aW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KICAgICA8L2Rpdj4K
LSAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcg
ZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9y
ZSBtYWduYSBhbGlxdWEuCiA8L2Rpdj4KIAogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lkZS1pbi1uYXJyb3ctb3ZlcmZsb3ctc2Nyb2xsLWV4
cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy93aWRlLWluLW5h
cnJvdy1vdmVyZmxvdy1zY3JvbGwtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YjdhNzc3ZGMz
OTE1ZjVjYTYyMTc5ZTg4NWUwNTAwNzE4YmU3MmJjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lkZS1pbi1uYXJyb3ctb3ZlcmZsb3ctc2Nyb2xs
LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxz
dHlsZT4KK2h0bWwgeyBmb250LXNpemU6IDE2cHg7IH0KK2JvZHkgeyB3aWR0aDogODAwcHg7IG1h
cmdpbjogMDsgb3ZlcmZsb3cteTogaGlkZGVuOyB9Cis8L3N0eWxlPgorCis8L2hlYWQ+Cis8Ym9k
eT4KKworPGRpdiBzdHlsZT0id2lkdGg6IDQwMHB4Ij4KKyAgPGRpdiBzdHlsZT0ib3ZlcmZsb3ct
eDogc2Nyb2xsIj4KKyAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogODAwcHg7IGZvbnQtc2l6ZTogMS4y
NXJlbSI+CisgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDIwcHggY29t
cHV0ZWQgZm9udCBzaXplICgxNiAqIDQwMC8zMjApLCBzaW5jZSB0aGlzIGlzIHBhcnQgb2YgdGhl
IHJvb3QgY2x1c3Rlciwgd2hvc2UgdGV4dCBkZXNjZW5kYW50cyBhcmUgYWxsIGNvbnRhaW5lZCB3
aXRoaW4gdGhlIDQwMHB4IHdpZGUgZ3JhbmRwYXJlbnQgb2YgdGhpcyBkaXYuPGJyPgorICAgICAg
ICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxp
dCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBt
YWduYSBhbGlxdWEuCisgICAgPC9kaXY+CisgIDwvZGl2PgorCisgIDxkaXYgc3R5bGU9ImZvbnQt
c2l6ZTogMS4yNXJlbSI+CisgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRv
IDIwcHggY29tcHV0ZWQgZm9udCBzaXplICgxNiAqIDQwMC8zMjApLjxicj4KKyAgICAgICAgTG9y
ZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNl
ZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEg
YWxpcXVhLgorICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtaW4tbmFycm93LW92ZXJm
bG93LXNjcm9sbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvd2lkZS1p
bi1uYXJyb3ctb3ZlcmZsb3ctc2Nyb2xsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjc0YTdhMjE0MDhjOGFl
ZjQ1ZmJhZWQ4NjVmNTlmN2VhOTNiODFlMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC1hdXRvc2l6aW5nL3dpZGUtaW4tbmFycm93LW92ZXJmbG93LXNjcm9sbC5odG1s
CkBAIC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGU+CitodG1sIHsg
Zm9udC1zaXplOiAxNnB4OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IG92ZXJm
bG93LXk6IGhpZGRlbjsgfQorPC9zdHlsZT4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJu
YWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0Vu
YWJsZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3Np
emluZ1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25z
b2xlICYmIGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVu
ZHMgb24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBp
biBEdW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5k
IGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtl
IE5leHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5H
X09OX0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYg
c3R5bGU9IndpZHRoOiA0MDBweCI+CisgIDxkaXYgc3R5bGU9Im92ZXJmbG93LXg6IHNjcm9sbCI+
CisgICAgPGRpdiBzdHlsZT0id2lkdGg6IDgwMHB4Ij4KKyAgICAgICAgVGhpcyB0ZXh0IHNob3Vs
ZCBiZSBhdXRvc2l6ZWQgdG8gMjBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogNDAwLzMyMCks
IHNpbmNlIHRoaXMgaXMgcGFydCBvZiB0aGUgcm9vdCBjbHVzdGVyLCB3aG9zZSB0ZXh0IGRlc2Nl
bmRhbnRzIGFyZSBhbGwgY29udGFpbmVkIHdpdGhpbiB0aGUgNDAwcHggd2lkZSBncmFuZHBhcmVu
dCBvZiB0aGlzIGRpdi48YnI+CisgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBj
b25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRp
ZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KKyAgICA8L2Rpdj4KKyAgPC9k
aXY+CisKKyAgPGRpdj4KKyAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQgdG8g
MjBweCBjb21wdXRlZCBmb250IHNpemUgKDE2ICogNDAwLzMyMCkuPGJyPgorICAgICAgICBMb3Jl
bSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2Vk
IGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBh
bGlxdWEuCisgIDwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>