<?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>223946</bug_id>
          
          <creation_ts>2021-03-30 12:38:37 -0700</creation_ts>
          <short_desc>Do not paint native decorations for search fields without &quot;-webkit-appearance: searchfield&quot;</short_desc>
          <delta_ts>2021-04-02 11:17:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>Other</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>224018</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Aditya Keerthi">akeerthi</reporter>
          <assigned_to name="Aditya Keerthi">akeerthi</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mifenton</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1745240</commentid>
    <comment_count>0</comment_count>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2021-03-30 12:38:37 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745242</commentid>
    <comment_count>1</comment_count>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2021-03-30 12:38:52 -0700</bug_when>
    <thetext>&lt;rdar://problem/75621365&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745247</commentid>
    <comment_count>2</comment_count>
      <attachid>424675</attachid>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2021-03-30 12:41:09 -0700</bug_when>
    <thetext>Created attachment 424675
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745254</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-03-30 12:45:26 -0700</bug_when>
    <thetext>How does this handle dynamic style change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745263</commentid>
    <comment_count>4</comment_count>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2021-03-30 13:06:04 -0700</bug_when>
    <thetext>(In reply to zalan from comment #3)
&gt; How does this handle dynamic style change?

RenderSearchField::updateFromElement() is called after style recalc (via HTMLFormControlElement::didRecalcStyle).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745282</commentid>
    <comment_count>5</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-03-30 13:38:35 -0700</bug_when>
    <thetext>updateFromElement is so confusing to me, like what&apos;s the purpose of this function from a renderer&apos;s point of view, and whether when a change is purely style driven, wouldn&apos;t styleDid/WillChange be the appropriate place to trigger things like adjusting inner style? I am not saying this is incorrect, I am just wondering if someone has a good understanding on updateFromElement in general.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745318</commentid>
    <comment_count>6</comment_count>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2021-03-30 14:20:32 -0700</bug_when>
    <thetext>(In reply to zalan from comment #5)
&gt; updateFromElement is so confusing to me, like what&apos;s the purpose of this
&gt; function from a renderer&apos;s point of view, and whether when a change is
&gt; purely style driven, wouldn&apos;t styleDid/WillChange be the appropriate place
&gt; to trigger things like adjusting inner style? I am not saying this is
&gt; incorrect, I am just wondering if someone has a good understanding on
&gt; updateFromElement in general.

styleDidChange does seem like a better place to make this change, since the adjustment doesn&apos;t dependent on any element state (unlike the visibility of the cancel button, which depends on whether or not the element has a non-empty value).

I&apos;ll update the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745366</commentid>
    <comment_count>7</comment_count>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2021-03-30 15:28:14 -0700</bug_when>
    <thetext>I tried moving the logic into styleDidChange, but I&apos;m now facing some issues with dynamic style change:

1. Using inline styles (setInlineStyleProperty/removeInlineStyleProperty) does not immediately repaint, so the icon is still visible until I scroll the view or interact with the field. 

2. Since inline styles weren&apos;t working, I tried modifying the renderer&apos;s mutableStyle(). This works as expected, but I&apos;m unsure how to reset the mutableStyle&apos;s appearance to the original value if the appearance is changed back to &quot;searchfield&quot; (this was handled by removeInlineStyleProperty with the inline style approach).

Any suggestions on how to proceed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745379</commentid>
    <comment_count>8</comment_count>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2021-03-30 15:52:47 -0700</bug_when>
    <thetext>mutableStyle() is probably not the right approach either, since a dynamic style change while the input is focused results in the icon re-appearing after the focus is lost.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745402</commentid>
    <comment_count>9</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-03-30 16:37:47 -0700</bug_when>
    <thetext>(In reply to Aditya Keerthi from comment #7)
&gt; I tried moving the logic into styleDidChange, but I&apos;m now facing some issues
&gt; with dynamic style change:
&gt; 
&gt; 1. Using inline styles (setInlineStyleProperty/removeInlineStyleProperty)
&gt; does not immediately repaint, so the icon is still visible until I scroll
&gt; the view or interact with the field. 
&gt; 
&gt; 2. Since inline styles weren&apos;t working, I tried modifying the renderer&apos;s
&gt; mutableStyle(). This works as expected, but I&apos;m unsure how to reset the
&gt; mutableStyle&apos;s appearance to the original value if the appearance is changed
&gt; back to &quot;searchfield&quot; (this was handled by removeInlineStyleProperty with
&gt; the inline style approach).
&gt; 
&gt; Any suggestions on how to proceed?
I am not familiar with how setInlineStyleProperty works but you can certainly issue repaint() in styleDidChange when appearance changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745447</commentid>
    <comment_count>10</comment_count>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2021-03-30 18:56:36 -0700</bug_when>
    <thetext>(In reply to zalan from comment #9)
&gt; (In reply to Aditya Keerthi from comment #7)
&gt; &gt; I tried moving the logic into styleDidChange, but I&apos;m now facing some issues
&gt; &gt; with dynamic style change:
&gt; &gt; 
&gt; &gt; 1. Using inline styles (setInlineStyleProperty/removeInlineStyleProperty)
&gt; &gt; does not immediately repaint, so the icon is still visible until I scroll
&gt; &gt; the view or interact with the field. 
&gt; &gt; 
&gt; &gt; 2. Since inline styles weren&apos;t working, I tried modifying the renderer&apos;s
&gt; &gt; mutableStyle(). This works as expected, but I&apos;m unsure how to reset the
&gt; &gt; mutableStyle&apos;s appearance to the original value if the appearance is changed
&gt; &gt; back to &quot;searchfield&quot; (this was handled by removeInlineStyleProperty with
&gt; &gt; the inline style approach).
&gt; &gt; 
&gt; &gt; Any suggestions on how to proceed?
&gt; I am not familiar with how setInlineStyleProperty works but you can
&gt; certainly issue repaint() in styleDidChange when appearance changes.

Tried repaint() and setNeedsLayout(), but neither worked when using setInlineStyleProperty.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745539</commentid>
    <comment_count>11</comment_count>
      <attachid>424675</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-03-31 00:50:01 -0700</bug_when>
    <thetext>Comment on attachment 424675
Patch

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

&gt; Source/WebCore/rendering/RenderSearchField.cpp:193
&gt; +void RenderSearchField::updateResultsButtonAppearance() const
&gt; +{
&gt; +    if (style().appearance() != SearchFieldPart || document().quirks().shouldHideSearchFieldResultsButton()) {
&gt; +        resultsButtonElement()-&gt;setInlineStyleProperty(CSSPropertyWebkitAppearance, CSSValueNone);
&gt; +        return;
&gt; +    }
&gt; +
&gt; +    resultsButtonElement()-&gt;removeInlineStyleProperty(CSSPropertyWebkitAppearance);
&gt; +}

RenderSearchField::updateFromElement() gets called after style resolution from HTMLFormControlElement::didRecalcStyle. Mutating the style here will result in another style resolution. Also mutating DOM from the render tree is generally wrong, DOM/style is the input not the output.

I believe the correct way to do this is to implement SearchFieldResultsButtonElement::resolveCustomStyle() function and looking into appearance of the passed in shadowHostStyle. See TextControlPlaceholderElement::resolveCustomStyle and others for examples.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745781</commentid>
    <comment_count>12</comment_count>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2021-03-31 14:26:57 -0700</bug_when>
    <thetext>Splitting up this patch to separate the iOS-specific changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746122</commentid>
    <comment_count>13</comment_count>
      <attachid>424917</attachid>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2021-04-01 11:42:30 -0700</bug_when>
    <thetext>Created attachment 424917
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746353</commentid>
    <comment_count>14</comment_count>
      <attachid>424971</attachid>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2021-04-01 18:23:10 -0700</bug_when>
    <thetext>Created attachment 424971
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746472</commentid>
    <comment_count>15</comment_count>
      <attachid>424971</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-04-02 06:37:17 -0700</bug_when>
    <thetext>Comment on attachment 424971
Patch

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

&gt; Source/WebCore/html/shadow/TextControlInnerElements.cpp:249
&gt; +        SetForScope&lt;bool&gt; canAdjustStyleForAppearance(m_canAdjustStyleForAppearance, false);

Bit of a hack but ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746474</commentid>
    <comment_count>16</comment_count>
      <attachid>424971</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-04-02 06:40:33 -0700</bug_when>
    <thetext>Comment on attachment 424971
Patch

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

&gt; Source/WebCore/html/shadow/TextControlInnerElements.cpp:252
&gt; +        elementStyle.renderStyle-&gt;setAppearance(NoControlPart);

This adjustment could be done in Theme as a result of canAdjustStyleForAppearance being false.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746475</commentid>
    <comment_count>17</comment_count>
      <attachid>424971</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-04-02 06:46:47 -0700</bug_when>
    <thetext>Comment on attachment 424971
Patch

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

&gt; Source/WebCore/rendering/RenderTheme.h:71
&gt; +    void adjustSearchFieldDecorationStyle(RenderStyle&amp;, const Element*) const;

This probably doesn&apos;t need to be public if you are not invoking it directly.

Always invoking it directly from shadow tree Element classes instead of from adjustStyle would be an alternative strategy that could avoid out-of-band signalling via the bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746483</commentid>
    <comment_count>18</comment_count>
      <attachid>425017</attachid>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2021-04-02 07:13:06 -0700</bug_when>
    <thetext>Created attachment 425017
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746484</commentid>
    <comment_count>19</comment_count>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2021-04-02 07:13:41 -0700</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #16)
&gt; Comment on attachment 424971 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=424971&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/shadow/TextControlInnerElements.cpp:252
&gt; &gt; +        elementStyle.renderStyle-&gt;setAppearance(NoControlPart);
&gt; 
&gt; This adjustment could be done in Theme as a result of
&gt; canAdjustStyleForAppearance being false.

Moved into Theme.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746486</commentid>
    <comment_count>20</comment_count>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2021-04-02 07:18:37 -0700</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #17)
&gt; Comment on attachment 424971 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=424971&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderTheme.h:71
&gt; &gt; +    void adjustSearchFieldDecorationStyle(RenderStyle&amp;, const Element*) const;
&gt; 
&gt; This probably doesn&apos;t need to be public if you are not invoking it directly.
&gt; 
&gt; Always invoking it directly from shadow tree Element classes instead of from
&gt; adjustStyle would be an alternative strategy that could avoid out-of-band
&gt; signalling via the bit.

Made the method private.

Discussed offline - keeping the patch as-is since invoking it directly from SearchFieldResultsButtonElement would still require keeping some logic in the Theme to adjust other elements. Consequently, we would still need to skip adjustments in the Theme when the element is a SearchFieldResultsButtonElement.

The logic in Theme needs to be preserved to support cases like:

```
&lt;style&gt;
#decoration {
    -webkit-appearance: searchfield-results-decoration;
}
&lt;/style&gt;
&lt;div id=&quot;decoration&quot;&gt;&lt;/div&gt;
```

Long term, we should find a way to make the shadow host style available to the style adjuster, avoiding the need for any additional logic in SearchFieldResultsButtonElement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746576</commentid>
    <comment_count>21</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-02 11:17:13 -0700</bug_when>
    <thetext>Committed r275426: &lt;https://commits.webkit.org/r275426&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 425017.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424675</attachid>
            <date>2021-03-30 12:41:09 -0700</date>
            <delta_ts>2021-04-01 11:42:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223946-20210330154108.patch</filename>
            <type>text/plain</type>
            <size>13580</size>
            <attacher name="Aditya Keerthi">akeerthi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0OTM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTlhNzBhODA5ZDgwYjVh
M2NjYTY3ZWU2MWY2MjhmNDNmMDJjYTM3My4uMTdjNTJhOWEyYTIwY2IwZTVmOWIyYmM1MzVmNmVi
MmFkZGRmY2NjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcwIEBACisyMDIxLTAzLTMwICBBZGl0
eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KKworICAgICAgICBEbyBub3QgcGFpbnQg
bmF0aXZlIGRlY29yYXRpb25zIGZvciBzZWFyY2ggZmllbGRzIHdpdGhvdXQgIi13ZWJraXQtYXBw
ZWFyYW5jZTogc2VhcmNoZmllbGQiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjM5NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1NjIxMzY1Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9uIGlPUywg
c2l0ZXMgdGhhdCB1c2UgPGlucHV0IHR5cGU9InNlYXJjaCI+IGhhdmUgYmVlbiBvYnNlcnZlZCB0
byBkcmF3CisgICAgICAgIHRoZWlyIG93biBpY29ucyBuZXh0IHRvIHRoZSBmaWVsZC4gU2luY2Ug
d2UgZHJhdyBvdXIgb3duIGljb24gZm9yCisgICAgICAgIHNlYXJjaCBmaWVsZHMsIHRoaXMgcmVz
dWx0cyBpbiBhbiB1bndhbnRlZCBpY29uIG9uIHNvbWUgc2l0ZXMsIHN1Y2ggYXMKKyAgICAgICAg
b24gY2hhbmVsLmNvbS4gSG93ZXZlciwgaW4gdGhpcyBjYXNlLCB0aGUgc2l0ZSBzcGVjaWZpZXMK
KyAgICAgICAgIi13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkIiBvbiB0aGUgc2VhcmNoIGlu
cHV0LCBpbmRpY2F0aW5nIGEgZGVzaXJlCisgICAgICAgIHRvIHJlbW92ZSB0aGUgbmF0aXZlIHNl
YXJjaCBmaWVsZCBhcHBlYXJhbmNlLiBUbyByZW1vdmUgdGhlIHVud2FudGVkCisgICAgICAgIGlj
b24sIHdlIHNob3VsZCBub3QgcGFpbnQgZGVjb3JhdGlvbnMgZm9yIHNlYXJjaCBmaWVsZHMgd2l0
aG91dAorICAgICAgICAiLXdlYmtpdC1hcHBlYXJhbmNlOiBzZWFyY2hmaWVsZCIuCisKKyAgICAg
ICAgVG8gYWNoaWV2ZSB0aGlzIGJlaGF2aW9yLCBzZXQgIi13ZWJraXQtYXBwZWFyYW5jZTogbm9u
ZSIgb24gdGhlIHBzZXVkbworICAgICAgICBlbGVtZW50IGNvbnRhaW5pbmcgdGhlIGljb24gd2hl
biB0aGUgc2VhcmNoIGZpZWxkIGhhcyBhIGRpZmZlcmVudAorICAgICAgICAiLXdlYmtpdC1hcHBl
YXJhbmNlIiB2YWx1ZSwgc28gdGhhdCB0aGUgbmF0aXZlIHBhaW50aW5nIGlzIGVsaWRlZC4gVGhl
CisgICAgICAgIGRlY2lzaW9uIHRvIG5vdCBzaW1wbHkgc2V0ICJkaXNwbGF5OiBub25lIiBvbiB0
aGUgZWxlbWVudCB3YXMgbWFkZSBzbworICAgICAgICB0aGF0IHNpdGVzIGNhbiBzdGlsbCBjdXN0
b21pemUgdGhlIGRlY29yYXRpb24gc2hvdWxkIHRoZXkgY2hvb3NlIHRvIGRvCisgICAgICAgIHNv
LiBOb3RlIHRoYXQgb24gbWFjT1MsIFdlYiBJbnNwZWN0b3IgcGFpbnRzIHRoZWlyIG93biBzZWFy
Y2ggaWNvbgorICAgICAgICB1c2luZyB0aGUgcHNldWRvIGVsZW1lbnQuCisKKyAgICAgICAgVGhl
IGFwcHJvYWNoIGRlc2NyaWJlZCBhYm92ZSB3b3JrcyBmb3IgbWFjT1MsIHNpbmNlIHRoZSBpY29u
IGlzIGFscmVhZHkKKyAgICAgICAgcGFpbnRlZCBieSB0aGUgdGhlbWUuIEhvd2V2ZXIsIG9uIGlP
UywgdGhlIGljb24gaXMgY3VycmVudGx5IGRyYXduIGluCisgICAgICAgIHRoZSBVQSBzdHlsZXNo
ZWV0LCBzbyBjaGFuZ2luZyB0aGUgIi13ZWJraXQtYXBwZWFyYW5jZSIgaGFzIG5vIGVmZmVjdC4K
KyAgICAgICAgVG8gZml4IHRoaXMgaXNzdWUsIHRoZSBwYWludGluZyBvZiB0aGUgaWNvbiBpcyBt
b3ZlZCBpbnRvIHRoZSB0aGVtZSwKKyAgICAgICAgbWF0Y2hpbmcgdGhlIG1hY09TIGltcGxlbWVu
dGF0aW9uLgorCisgICAgICAgICogY3NzL2h0bWwuY3NzOgorCisgICAgICAgIFJlbW92ZSBzZWFy
Y2ggZmllbGQgZGVjb3JhdGlvbiBydWxlcyBmcm9tIHRoZSBVQSBzdHlsZXNoZWV0LiBXZSBzaG91
bGQKKyAgICAgICAgb25seSBhcHBseSB0aGVzZSBydWxlcyBpZiB0aGUgcHNldWRvIGVsZW1lbnRz
IHJldGFpbiB0aGVpciBpbml0aWFsCisgICAgICAgICItd2Via2l0LWFwcGVhcmFuY2UiIHZhbHVl
LgorCisgICAgICAgICogaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbkVsZW1lbnQ6OlNlYXJj
aEZpZWxkUmVzdWx0c0J1dHRvbkVsZW1lbnQpOgorCisgICAgICAgIERvbid0IGFwcGx5IHRoZSBx
dWlyayBoZXJlLCBzaW5jZSB3ZSBjYW4gdXNlIHRoZSBuZXcgbG9naWMgdG8gdXBkYXRlCisgICAg
ICAgIHRoZSAiLXdlYmtpdC1hcHBlYXJhbmNlIiB0byBoaWRlIHRoZSBpY29uLgorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlclNlYXJjaEZpZWxkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclNlYXJjaEZpZWxkOjp1cGRhdGVGcm9tRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJTZWFyY2hGaWVsZDo6dXBkYXRlUmVzdWx0c0J1dHRvbkFwcGVhcmFuY2UgY29uc3QpOgor
CisgICAgICAgIFNldCB0aGUgIi13ZWJraXQtYXBwZWFyYW5jZSIgb2YgdGhlIHJlc3VsdHMgYnV0
dG9uICh0aGUgZWxlbWVudCB0aGF0CisgICAgICAgIGNvbnRhaW5zIHRoZSBzZWFyY2ggaWNvbikg
dG8gIm5vbmUiIGlmIHRoZSBzZWFyY2hmaWVsZCdzIGFwcGVhcmFuY2UKKyAgICAgICAgaXMgbm90
ICJzZWFyY2hmaWVsZCIgb3IgaWYgdGhlIHF1aXJrIHRvIGhpZGUgdGhlIGljb24gYXBwbGllcy4K
KworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTZWFyY2hGaWVsZC5oOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJUaGVtZUlPUy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjphZGp1c3RTZWFyY2hG
aWVsZERlY29yYXRpb25QYXJ0U3R5bGUgY29uc3QpOgorCisgICAgICAgIEFkanVzdCB0aGUgc3R5
bGUgdG8gbWF0Y2ggdGhlIG5hdGl2ZSBhcHBlYXJhbmNlLgorCisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUaGVtZUlPUzo6cGFpbnRTZWFyY2hGaWVsZERlY29yYXRpb25QYXJ0KToKKworICAgICAg
ICBQYWludCB0aGUgbmF0aXZlIGljb24uCisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1l
SU9TOjphZGp1c3RTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uUGFydFN0eWxlIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjpwYWludFNlYXJjaEZpZWxkUmVzdWx0
c0RlY29yYXRpb25QYXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjphZGp1
c3RTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25TdHlsZSBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZUlPUzo6cGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b24pOgorCiAyMDIx
LTAzLTI2ICBBZGl0eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KIAogICAgICAgICBV
c2UgZW51bSBjbGFzc2VzIGFuZCBPcHRpb25TZXRzIGZvciBDb250cm9sU3RhdGVzOjpTdGF0ZXMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9odG1sLmNzcyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9odG1sLmNzcwppbmRleCA5NmY3MzY2ZDc5ZmUxNjhiNjcxNmQ5Njk2Zjg2MDI3ZTZhNGY3
NjdmLi5hYjJiMzk1ZjgzYmVkYTEwMTZkZjIyNjk4MmMyZGY4NWJhNzUwODFiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvaHRtbC5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL2h0
bWwuY3NzCkBAIC00OTAsMjAgKzQ5MCw2IEBAIGlucHV0W3R5cGU9InNlYXJjaCJdOjotd2Via2l0
LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbiB7CiAjZW5kaWYKIH0KIAotI2lmIGRlZmluZWQoV1RGX1BM
QVRGT1JNX0lPU19GQU1JTFkpICYmIFdURl9QTEFURk9STV9JT1NfRkFNSUxZCi0KLWlucHV0W3R5
cGU9InNlYXJjaCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLAotaW5wdXRbdHlwZT0ic2Vh
cmNoIl06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiwKLWlucHV0W3R5cGU9InNl
YXJjaCJdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbiB7Ci0gICAgYmFja2dyb3VuZC1j
b2xvcjogZGFya2dyYXk7Ci0gICAgaGVpZ2h0OiAxZW07Ci0gICAgd2lkdGg6IDFlbTsKLSAgICBt
YXJnaW4taW5saW5lLWVuZDogMC40ZW07Ci0gICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoJ2Rh
dGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIg
dmlld0JveD0iMCAwIDczIDczIj48cGF0aCBmaWxsPSJkYXJrZ3JheSIgZD0iTTI5LjY4NzUgNTku
Mzc1YzYuMjk4OCAwIDEyLjEwOTQtMS45NTMgMTYuOTQzNC01LjMyMjJsMTcuMzM0IDE3LjMzNGMu
OTI3Ny45Mjc3IDIuMTQ4NCAxLjM2NzIgMy40MTggMS4zNjcyIDIuNzM0MyAwIDQuNzM2Mi0yLjA5
OTYgNC43MzYyLTQuNzg1MiAwLTEuMjY5NS0uNDM5NC0yLjQ5MDItMS4zNjcyLTMuNDE4TDUzLjU2
NDQgNDcuMzE0NWMzLjY2MjItNC45MzE2IDUuODEwNi0xMS4wMzUyIDUuODEwNi0xNy42MjdDNTku
Mzc1IDEzLjMzMDEgNDYuMDQ1IDAgMjkuNjg3NSAwIDEzLjMzMDEgMCAwIDEzLjMzMDEgMCAyOS42
ODc1IDAgNDYuMDQ1IDEzLjMzIDU5LjM3NSAyOS42ODc1IDU5LjM3NXptMC03LjI3NTNjLTEyLjI1
NTkgMC0yMi40MTIxLTEwLjE1NjMtMjIuNDEyMS0yMi40MTIyIDAtMTIuMzA0NiAxMC4xNTYyLTIy
LjQxMjEgMjIuNDEyMS0yMi40MTIxQzQxLjk5MjIgNy4yNzU0IDUyLjEgMTcuMzgyOSA1Mi4xIDI5
LjY4NzVjMCAxMi4yNTYtMTAuMTA3OCAyMi40MTIyLTIyLjQxMjUgMjIuNDEyMnoiLz48L3N2Zz4n
KTsKLX0KLQotI2VuZGlmCi0KICNpZiBkZWZpbmVkKEVOQUJMRV9EQVRFX0FORF9USU1FX0lOUFVU
X1RZUEVTKSAmJiBFTkFCTEVfREFURV9BTkRfVElNRV9JTlBVVF9UWVBFUwogaW5wdXQ6bWF0Y2hl
cyhbdHlwZT0iZGF0ZSJdLCBbdHlwZT0idGltZSJdLCBbdHlwZT0iZGF0ZXRpbWUtbG9jYWwiXSwg
W3R5cGU9Im1vbnRoIl0sIFt0eXBlPSJ3ZWVrIl0pIHsKICAgICAtd2Via2l0LWFwcGVhcmFuY2U6
IHRleHRmaWVsZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRD
b250cm9sSW5uZXJFbGVtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0
Q29udHJvbElubmVyRWxlbWVudHMuY3BwCmluZGV4IDA2OTI0ZGRmZWQ3ZTFlOWUwNmMwYzc1NjIw
MGU1M2I5NjUwOGFmMDUuLmNiYmEyMDIyMDJiZWViOGYwZjNkY2UwMTQwMzIxNDNhNTllMzUyYTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJF
bGVtZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJ
bm5lckVsZW1lbnRzLmNwcApAQCAtMjI3LDggKzIyNyw2IEBAIE9wdGlvbmFsPFN0eWxlOjpFbGVt
ZW50U3R5bGU+IFRleHRDb250cm9sUGxhY2Vob2xkZXJFbGVtZW50OjpyZXNvbHZlQ3VzdG9tU3R5
bGUoCiBpbmxpbmUgU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uRWxlbWVudDo6U2VhcmNoRmllbGRS
ZXN1bHRzQnV0dG9uRWxlbWVudChEb2N1bWVudCYgZG9jdW1lbnQpCiAgICAgOiBIVE1MRGl2RWxl
bWVudChkaXZUYWcsIGRvY3VtZW50KQogewotICAgIGlmIChkb2N1bWVudC5xdWlya3MoKS5zaG91
bGRIaWRlU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uKCkpCi0gICAgICAgIHNldElubGluZVN0eWxl
UHJvcGVydHkoQ1NTUHJvcGVydHlEaXNwbGF5LCBDU1NWYWx1ZU5vbmUpOwogfQogCiBSZWY8U2Vh
cmNoRmllbGRSZXN1bHRzQnV0dG9uRWxlbWVudD4gU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uRWxl
bWVudDo6Y3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTZWFyY2hGaWVsZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU2VhcmNoRmllbGQuY3BwCmluZGV4IDhlMmRjYjAzNTNlZDk0ZjYwYmQ0YzRh
ZGNlYjM1M2M2M2M3Nzc5NDAuLjljOGIwNzExNmNiYmRjYzkwOTE3YzczNTcxYWMzOGNmZTViODQ1
ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWFyY2hGaWVs
ZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNlYXJjaEZpZWxkLmNw
cApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKICNpbmNs
dWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUG9wdXBNZW51LmgiCisjaW5jbHVkZSAiUXVpcmtzLmgi
CiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJTY3JvbGxiYXIuaCIK
ICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgpAQCAtMTc0LDEwICsxNzUsMjMgQEAgdm9pZCBSZW5k
ZXJTZWFyY2hGaWVsZDo6dXBkYXRlRnJvbUVsZW1lbnQoKQogICAgIGlmIChjYW5jZWxCdXR0b25F
bGVtZW50KCkpCiAgICAgICAgIHVwZGF0ZUNhbmNlbEJ1dHRvblZpc2liaWxpdHkoKTsKIAorICAg
IGlmIChyZXN1bHRzQnV0dG9uRWxlbWVudCgpKQorICAgICAgICB1cGRhdGVSZXN1bHRzQnV0dG9u
QXBwZWFyYW5jZSgpOworCiAgICAgaWYgKG1fc2VhcmNoUG9wdXBJc1Zpc2libGUpCiAgICAgICAg
IG1fc2VhcmNoUG9wdXAtPnBvcHVwTWVudSgpLT51cGRhdGVGcm9tRWxlbWVudCgpOwogfQogCit2
b2lkIFJlbmRlclNlYXJjaEZpZWxkOjp1cGRhdGVSZXN1bHRzQnV0dG9uQXBwZWFyYW5jZSgpIGNv
bnN0Cit7CisgICAgaWYgKHN0eWxlKCkuYXBwZWFyYW5jZSgpICE9IFNlYXJjaEZpZWxkUGFydCB8
fCBkb2N1bWVudCgpLnF1aXJrcygpLnNob3VsZEhpZGVTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b24o
KSkgeworICAgICAgICByZXN1bHRzQnV0dG9uRWxlbWVudCgpLT5zZXRJbmxpbmVTdHlsZVByb3Bl
cnR5KENTU1Byb3BlcnR5V2Via2l0QXBwZWFyYW5jZSwgQ1NTVmFsdWVOb25lKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIHJlc3VsdHNCdXR0b25FbGVtZW50KCktPnJlbW92ZUlubGlu
ZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRBcHBlYXJhbmNlKTsKK30KKwogdm9pZCBS
ZW5kZXJTZWFyY2hGaWVsZDo6dXBkYXRlQ2FuY2VsQnV0dG9uVmlzaWJpbGl0eSgpIGNvbnN0CiB7
CiAgICAgUmVuZGVyRWxlbWVudCogY2FuY2VsQnV0dG9uUmVuZGVyZXIgPSBjYW5jZWxCdXR0b25F
bGVtZW50KCktPnJlbmRlcmVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyU2VhcmNoRmllbGQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJT
ZWFyY2hGaWVsZC5oCmluZGV4IDJhZDYxNmViNTk3MTA4NzRjYmUwNGZiZGQ0MTMzZWM3M2M2NDhm
MGMuLjEyZDIwNmEwYWU3NjkzYTViMDRlYjA3NWRhOTliNmY5Y2Y0NmVkMzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWFyY2hGaWVsZC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTZWFyY2hGaWVsZC5oCkBAIC01MSw2ICs1MSw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCB3aWxsQmVEZXN0cm95ZWQoKSBvdmVycmlkZTsKICAgICBMYXlv
dXRVbml0IGNvbXB1dGVDb250cm9sTG9naWNhbEhlaWdodChMYXlvdXRVbml0IGxpbmVIZWlnaHQs
IExheW91dFVuaXQgbm9uQ29udGVudEhlaWdodCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCB1
cGRhdGVGcm9tRWxlbWVudCgpIG92ZXJyaWRlOworICAgIHZvaWQgdXBkYXRlUmVzdWx0c0J1dHRv
bkFwcGVhcmFuY2UoKSBjb25zdDsKICAgICBWaXNpYmlsaXR5IHZpc2liaWxpdHlGb3JDYW5jZWxC
dXR0b24oKSBjb25zdDsKICAgICBjb25zdCBBdG9tU3RyaW5nJiBhdXRvc2F2ZU5hbWUoKSBjb25z
dDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9T
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaAppbmRleCAxMTU5
ZjQ0NTI2NGZhYTBlMTllOTJkMzc2NTQzOWJlMWU5NzZhZDM5Li41MTFlYjMyY2QxYzE1YThhNjcx
YjU2YzliYzFlY2FlMTU3ZGM1MzFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWVJT1MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVJT1MuaApAQCAtMTM2LDYgKzEzNiwxNSBAQCBwcml2YXRlOgogICAgIGJvb2wgcGFpbnRD
b2xvcldlbGwoY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50
UmVjdCYpIGZpbmFsOwogICAgIHZvaWQgcGFpbnRDb2xvcldlbGxEZWNvcmF0aW9ucyhjb25zdCBS
ZW5kZXJPYmplY3QmLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBGbG9hdFJlY3QmKSBmaW5hbDsK
ICNlbmRpZgorCisgICAgdm9pZCBhZGp1c3RTZWFyY2hGaWVsZERlY29yYXRpb25QYXJ0U3R5bGUo
UmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3QgZmluYWw7CisgICAgYm9vbCBwYWlu
dFNlYXJjaEZpZWxkRGVjb3JhdGlvblBhcnQoY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFp
bnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIGZpbmFsOworCisgICAgdm9pZCBhZGp1c3RTZWFyY2hG
aWVsZFJlc3VsdHNEZWNvcmF0aW9uUGFydFN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVu
dCopIGNvbnN0IGZpbmFsOworICAgIGJvb2wgcGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0
aW9uUGFydChjb25zdCBSZW5kZXJCb3gmLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0
JikgZmluYWw7CisKKyAgICB2b2lkIGFkanVzdFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvblN0eWxl
KFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNvbnN0IGZpbmFsOworICAgIGJvb2wgcGFp
bnRTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b24oY29uc3QgUmVuZGVyQm94JiwgY29uc3QgUGFpbnRJ
bmZvJiwgY29uc3QgSW50UmVjdCYpIGZpbmFsOwogI2VuZGlmCiAKICAgICBib29sIHN1cHBvcnRz
Rm9jdXNSaW5nKGNvbnN0IFJlbmRlclN0eWxlJikgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MubW0KaW5kZXggNTc5Y2YyODQ3ZmFjOGZmNjE0YmIx
ZjcxZjliYjQ0Y2JjMmM0ZmRhOS4uZTQ5NWNmN2ZkNjhiODkwN2E1MGEyNTY1NDRjMTA2YmFjNjY5
ZGUyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9T
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUlPUy5tbQpAQCAt
MjU3MSw2ICsyNTcxLDg2IEBAIHZvaWQgUmVuZGVyVGhlbWVJT1M6OnBhaW50TWVudUxpc3RCdXR0
b25EZWNvcmF0aW9uc1dpdGhGb3JtQ29udHJvbFJlZnJlc2goY29uc3QKICAgICBjb250ZXh0LmZp
bGxQYXRoKGdseXBoUGF0aCk7CiB9CiAKK3ZvaWQgUmVuZGVyVGhlbWVJT1M6OmFkanVzdFNlYXJj
aEZpZWxkRGVjb3JhdGlvblBhcnRTdHlsZShSZW5kZXJTdHlsZSYgc3R5bGUsIGNvbnN0IEVsZW1l
bnQqIGVsZW1lbnQpIGNvbnN0Cit7CisgICAgaWYgKCFlbGVtZW50IHx8ICFlbGVtZW50LT5kb2N1
bWVudCgpLnNldHRpbmdzKCkuaU9TRm9ybUNvbnRyb2xSZWZyZXNoRW5hYmxlZCgpKQorICAgICAg
ICByZXR1cm47CisKKyAgICBjb25zdGV4cHIgaW50IHNlYXJjaEZpZWxkRGVjb3JhdGlvbkVtU2l6
ZSA9IDE7CisgICAgY29uc3RleHByIGludCBzZWFyY2hGaWVsZERlY29yYXRpb25NYXJnaW4gPSA0
OworCisgICAgQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YSBjb252ZXJzaW9uRGF0YSgmc3R5bGUs
IG51bGxwdHIsIG51bGxwdHIsIG51bGxwdHIsIDEuMCwgV1RGOjpudWxsb3B0KTsKKworICAgIGF1
dG8gZW1TaXplID0gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShzZWFyY2hGaWVsZERlY29yYXRp
b25FbVNpemUsIENTU1VuaXRUeXBlOjpDU1NfRU1TKTsKKyAgICBhdXRvIHNpemUgPSBlbVNpemUt
PmNvbXB1dGVMZW5ndGg8ZmxvYXQ+KGNvbnZlcnNpb25EYXRhKTsKKworICAgIHN0eWxlLnNldFdp
ZHRoKHsgc2l6ZSwgTGVuZ3RoVHlwZTo6Rml4ZWQgfSk7CisgICAgc3R5bGUuc2V0SGVpZ2h0KHsg
c2l6ZSwgTGVuZ3RoVHlwZTo6Rml4ZWQgfSk7CisgICAgc3R5bGUuc2V0TWFyZ2luRW5kKHsgc2Vh
cmNoRmllbGREZWNvcmF0aW9uTWFyZ2luLCBMZW5ndGhUeXBlOjpGaXhlZCB9KTsKK30KKworYm9v
bCBSZW5kZXJUaGVtZUlPUzo6cGFpbnRTZWFyY2hGaWVsZERlY29yYXRpb25QYXJ0KGNvbnN0IFJl
bmRlck9iamVjdCYgYm94LCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVj
dCYgcmVjdCkKK3sKKyAgICBpZiAoIWJveC5zZXR0aW5ncygpLmlPU0Zvcm1Db250cm9sUmVmcmVz
aEVuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuIFJlbmRlclRoZW1lOjpwYWludFNlYXJjaEZpZWxk
RGVjb3JhdGlvblBhcnQoYm94LCBwYWludEluZm8sIHJlY3QpOworCisgICAgYXV0byYgY29udGV4
dCA9IHBhaW50SW5mby5jb250ZXh0KCk7CisgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBz
dGF0ZVNhdmVyKGNvbnRleHQpOworCisgICAgY29uc3QgRmxvYXRTaXplIGdseXBoU2l6ZSg3My4w
ZiwgNzMuMGYpOworCisgICAgUGF0aCBnbHlwaFBhdGg7CisgICAgZ2x5cGhQYXRoLm1vdmVUbyh7
IDI5LjY4NzVmLCA1OS4zNzVmIH0pOworICAgIGdseXBoUGF0aC5hZGRCZXppZXJDdXJ2ZVRvKHsg
MzUuOTg2M2YsIDU5LjM3NWYgfSwgeyA0MS43OTY5ZiwgNTcuNDIyZiB9LCB7IDQ2LjYzMDlmLCA1
NC4wNTI4ZiB9KTsKKyAgICBnbHlwaFBhdGguYWRkTGluZVRvKHsgNjMuOTY0OWYsIDcxLjM4Njhm
IH0pOworICAgIGdseXBoUGF0aC5hZGRCZXppZXJDdXJ2ZVRvKHsgNjQuODkyNmYsIDcyLjMxNDVm
IH0sIHsgNjYuMTEzM2YsIDcyLjc1NGYgfSwgeyA2Ny4zODI5ZiwgNzIuNzU0ZiB9KTsKKyAgICBn
bHlwaFBhdGguYWRkQmV6aWVyQ3VydmVUbyh7IDcwLjExNzJmLCA3Mi43NTRmIH0sIHsgNzIuMTE5
MWYsIDcwLjY1NDRmIH0sIHsgNzIuMTE5MWYsIDY3Ljk2ODhmIH0pOworICAgIGdseXBoUGF0aC5h
ZGRCZXppZXJDdXJ2ZVRvKHsgNzIuMTE5MWYsIDY2LjY5OTNmIH0sIHsgNzEuNjc5N2YsIDY1LjQ3
ODZmIH0sIHsgNzAuNzUxOWYsIDY0LjU1MDhmIH0pOworICAgIGdseXBoUGF0aC5hZGRMaW5lVG8o
eyA1My41NjQ0ZiwgNDcuMzE0NWYgfSk7CisgICAgZ2x5cGhQYXRoLmFkZEJlemllckN1cnZlVG8o
eyA1Ny4yMjY2ZiwgNDIuMzgyOWYgfSwgeyA1OS4zNzVmLCAzNi4yNzkzZiB9LCB7IDU5LjM3NWYs
IDI5LjY4NzVmIH0pOworICAgIGdseXBoUGF0aC5hZGRCZXppZXJDdXJ2ZVRvKHsgNTkuMzc1Ziwg
MTMuMzMwMWYgfSwgeyA0Ni4wNDVmLCAwLjBmIH0sIHsgMjkuNjg3NWYsIDAuMGYgfSk7CisgICAg
Z2x5cGhQYXRoLmFkZEJlemllckN1cnZlVG8oeyAxMy4zMzAxZiwgMC4wZiB9LCB7IDAuMGYsIDEz
LjMzMDFmIH0sIHsgMC4wZiwgMjkuNjg3NWYgfSk7CisgICAgZ2x5cGhQYXRoLmFkZEJlemllckN1
cnZlVG8oeyAwLjBmLCA0Ni4wNDVmIH0sIHsgMTMuMzNmLCA1OS4zNzVmIH0sIHsgMjkuNjg3NWYs
IDU5LjM3NWYgfSk7CisgICAgZ2x5cGhQYXRoLm1vdmVUbyh7IDI5LjY4NzVmLCA1Mi4wOTk3ZiB9
KTsKKyAgICBnbHlwaFBhdGguYWRkQmV6aWVyQ3VydmVUbyh7IDE3LjQzMTZmLCA1Mi4wOTk3ZiB9
LCB7IDcuMjc1NGYsIDQxLjk0MzRmIH0sIHsgNy4yNzU0ZiwgMjkuNjg3NWYgfSk7CisgICAgZ2x5
cGhQYXRoLmFkZEJlemllckN1cnZlVG8oeyA3LjI3NTRmLCAxNy4zODI5ZiB9LCB7IDE3LjQzMTZm
LCA3LjI3NTRmIH0sIHsgMjkuNjg3NWYsIDcuMjc1NGYgfSk7CisgICAgZ2x5cGhQYXRoLmFkZEJl
emllckN1cnZlVG8oeyA0MS45OTIyZiwgNy4yNzU0ZiB9LCB7IDUyLjFmLCAxNy4zODI5ZiB9LCB7
IDUyLjFmLCAyOS42ODc1ZiB9KTsKKyAgICBnbHlwaFBhdGguYWRkQmV6aWVyQ3VydmVUbyh7IDUy
LjFmLCA0MS45NDM1ZiB9LCB7IDQxLjk5MjJmLCA1Mi4wOTk3ZiB9LCB7IDI5LjY4NzVmLCA1Mi4w
OTk3ZiB9KTsKKworICAgIEZsb2F0UmVjdCBwYWludFJlY3QocmVjdCk7CisgICAgZmxvYXQgc2Nh
bGUgPSBwYWludFJlY3Qud2lkdGgoKSAvIGdseXBoU2l6ZS53aWR0aCgpOworCisgICAgQWZmaW5l
VHJhbnNmb3JtIHRyYW5zZm9ybTsKKyAgICB0cmFuc2Zvcm0udHJhbnNsYXRlKHBhaW50UmVjdC5j
ZW50ZXIoKSAtIChnbHlwaFNpemUgKiBzY2FsZSAqIDAuNWYpKTsKKyAgICB0cmFuc2Zvcm0uc2Nh
bGUoc2NhbGUpOworICAgIGdseXBoUGF0aC50cmFuc2Zvcm0odHJhbnNmb3JtKTsKKworICAgIGNv
bnRleHQuc2V0RmlsbENvbG9yKHN5c3RlbUNvbG9yKENTU1ZhbHVlQXBwbGVTeXN0ZW1TZWNvbmRh
cnlMYWJlbCwgYm94LnN0eWxlQ29sb3JPcHRpb25zKCkpKTsKKyAgICBjb250ZXh0LmZpbGxQYXRo
KGdseXBoUGF0aCk7CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgUmVuZGVyVGhlbWVJ
T1M6OmFkanVzdFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25QYXJ0U3R5bGUoUmVuZGVyU3R5
bGUmIHN0eWxlLCBjb25zdCBFbGVtZW50KiBlbGVtZW50KSBjb25zdAoreworICAgIGFkanVzdFNl
YXJjaEZpZWxkRGVjb3JhdGlvblBhcnRTdHlsZShzdHlsZSwgZWxlbWVudCk7Cit9CisKK2Jvb2wg
UmVuZGVyVGhlbWVJT1M6OnBhaW50U2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblBhcnQoY29u
c3QgUmVuZGVyQm94JiBib3gsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRS
ZWN0JiByZWN0KQoreworICAgIHJldHVybiBwYWludFNlYXJjaEZpZWxkRGVjb3JhdGlvblBhcnQo
Ym94LCBwYWludEluZm8sIHJlY3QpOworfQorCit2b2lkIFJlbmRlclRoZW1lSU9TOjphZGp1c3RT
ZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25TdHlsZShSZW5kZXJTdHlsZSYgc3R5bGUsIGNvbnN0IEVs
ZW1lbnQqIGVsZW1lbnQpIGNvbnN0Cit7CisgICAgYWRqdXN0U2VhcmNoRmllbGREZWNvcmF0aW9u
UGFydFN0eWxlKHN0eWxlLCBlbGVtZW50KTsKK30KKworYm9vbCBSZW5kZXJUaGVtZUlPUzo6cGFp
bnRTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b24oY29uc3QgUmVuZGVyQm94JiBib3gsIGNvbnN0IFBh
aW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAgIHJldHVybiBw
YWludFNlYXJjaEZpZWxkRGVjb3JhdGlvblBhcnQoYm94LCBwYWludEluZm8sIHJlY3QpOworfQor
CiAjZW5kaWYgLy8gRU5BQkxFKElPU19GT1JNX0NPTlRST0xfUkVGUkVTSCkKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424917</attachid>
            <date>2021-04-01 11:42:30 -0700</date>
            <delta_ts>2021-04-01 18:23:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223946-20210401144229.patch</filename>
            <type>text/plain</type>
            <size>11750</size>
            <attacher name="Aditya Keerthi">akeerthi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MzAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzZkNjE1ZDY3YTgwYjI5
N2YwNzBhMzQwYTM0NjI5YjcxZjQ1M2ZhMC4uMDY0OGNjYTgxNmY5YWQ2NTYxMDA5NDkxZWJiMDRk
NzVkZmY0MTk4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDIxLTA0LTAxICBBZGl0
eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KKworICAgICAgICBEbyBub3QgcGFpbnQg
bmF0aXZlIGRlY29yYXRpb25zIGZvciBzZWFyY2ggZmllbGRzIHdpdGhvdXQgJy13ZWJraXQtYXBw
ZWFyYW5jZTogc2VhcmNoZmllbGQnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjM5NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1NjIxMzY1Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9uIGlPUywg
c2l0ZXMgdGhhdCB1c2UgPGlucHV0IHR5cGU9InNlYXJjaCI+IGhhdmUgYmVlbiBvYnNlcnZlZCB0
byBkcmF3CisgICAgICAgIHRoZWlyIG93biBpY29ucyBuZXh0IHRvIHRoZSBmaWVsZC4gU2luY2Ug
d2UgZHJhdyBvdXIgb3duIGljb24gZm9yCisgICAgICAgIHNlYXJjaCBmaWVsZHMsIHRoaXMgcmVz
dWx0cyBpbiBhbiB1bndhbnRlZCBpY29uIG9uIHNvbWUgc2l0ZXMsIHN1Y2ggYXMKKyAgICAgICAg
b24gY2hhbmVsLmNvbS4gSG93ZXZlciwgaW4gdGhpcyBjYXNlLCB0aGUgc2l0ZSBzcGVjaWZpZXMK
KyAgICAgICAgIi13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkIiBvbiB0aGUgc2VhcmNoIGlu
cHV0LCBpbmRpY2F0aW5nIGEgZGVzaXJlCisgICAgICAgIHRvIHJlbW92ZSB0aGUgbmF0aXZlIHNl
YXJjaCBmaWVsZCBhcHBlYXJhbmNlLiBUbyByZW1vdmUgdGhlIHVud2FudGVkCisgICAgICAgIGlj
b24sIHdlIHNob3VsZCBub3QgcGFpbnQgZGVjb3JhdGlvbnMgZm9yIHNlYXJjaCBmaWVsZHMgd2l0
aG91dAorICAgICAgICAiLXdlYmtpdC1hcHBlYXJhbmNlOiBzZWFyY2hmaWVsZCIuCisKKyAgICAg
ICAgVG8gYWNoaWV2ZSB0aGlzIGJlaGF2aW9yLCBhZGp1c3QgdGhlIC13ZWJraXQtYXBwZWFyYW5j
ZSB2YWx1ZSBvbiB0aGUKKyAgICAgICAgcHNldWRvIGVsZW1lbnQgY29udGFpbmluZyB0aGUgaWNv
biB3aGVuIHRoZSBzZWFyY2ggZmllbGQgaGFzIGEgZGlmZmVyZW50CisgICAgICAgIC13ZWJraXQt
YXBwZWFyYW5jZSB2YWx1ZSwgc28gdGhhdCB0aGUgbmF0aXZlIHBhaW50aW5nIGlzIGVsaWRlZC4g
VGhlCisgICAgICAgIGRlY2lzaW9uIHRvIG5vdCBzaW1wbHkgc2V0ICJkaXNwbGF5OiBub25lIiBv
biB0aGUgZWxlbWVudCB3YXMgbWFkZSBzbworICAgICAgICB0aGF0IHNpdGVzIGNhbiBzdGlsbCBj
dXN0b21pemUgdGhlIGRlY29yYXRpb24gc2hvdWxkIHRoZXkgY2hvb3NlIHRvIGRvCisgICAgICAg
IHNvLiBOb3RlIHRoYXQgb24gbWFjT1MsIFdlYiBJbnNwZWN0b3IgcGFpbnRzIHRoZWlyIG93biBz
ZWFyY2ggaWNvbgorICAgICAgICB1c2luZyB0aGUgcHNldWRvIGVsZW1lbnQuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzLiBBIGxheW91dCB0ZXN0IGlzIG5vdCBwb3NzaWJsZSBzaW5jZSBTZWFyY2hG
aWVsZFJlc3VsdHNCdXR0b25FbGVtZW50CisgICAgICAgIGlzIGluYWNjZXNzaWJsZSB0aHJvdWdo
IERPTSBBUElzLiBBIHJlZmVyZW5jZSBtaXNtYXRjaCB0ZXN0IGlzIG5vdAorICAgICAgICBwb3Nz
aWJsZSBzaW5jZSBjaGFuZ2luZyB0aGUgLXdlYmtpdC1hcHBlYXJhbmNlIHByb3BlcnR5IG9uIGEg
c2VhcmNoIGZpZWxkCisgICAgICAgIGFscmVhZHkgcmVzdWx0cyBpbiB2aXN1YWwgY2hhbmdlcy4K
KworICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxF
bGVtZW50Ojppc1NlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbkVsZW1lbnQgY29uc3QpOgorICAgICAg
ICAqIGh0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25FbGVtZW50OjpTZWFyY2hGaWVsZFJlc3Vs
dHNCdXR0b25FbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNlYXJjaEZpZWxkUmVzdWx0c0J1
dHRvbkVsZW1lbnQ6OnJlc29sdmVDdXN0b21TdHlsZSk6CisKKyAgICAgICAgSWYgdGhlIHNlYXJj
aGZpZWxkJ3MgYXBwZWFyYW5jZSBpcyBub3QgInNlYXJjaGZpZWxkIiwgYWRqdXN0IHRoZQorICAg
ICAgICBhcHBlYXJhbmNlIG9mIHRoZSByZXN1bHRzIGJ1dHRvbiB0byBOb0NvbnRyb2xQYXJ0LiBJ
ZiB0aGUgYWRqdXN0bWVudAorICAgICAgICBuZWVkZXMgdG8gYmUgcGVyZm9ybWVkLCB3ZSBlbGlk
ZSBzdHlsZSBhZGp1c3RtZW50cyBmcm9tIHRoZSB0aGVtZSBieQorICAgICAgICBzZXR0aW5nIGNh
bkFkanVzdFN0eWxlRm9yQXBwZWFyYW5jZSB0byBmYWxzZS4gV2l0aG91dCB0aGlzLCB0aGUgY2Fs
bCB0bworICAgICAgICByZXNvbHZlU3R5bGUgd2lsbCBhcHBseSBuYXRpdmUgc3R5bGVzIHRvIHRo
ZSBlbGVtZW50LCBzaW5jZSBpdCBkb2VzCisgICAgICAgIG5vdCBrbm93IHdlIGFyZSBhYm91dCB0
byByZXNldCBhcHBlYXJhbmNlLgorCisgICAgICAgICogaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJ
bm5lckVsZW1lbnRzLmg6CisgICAgICAgIChpc1R5cGUpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0U3R5
bGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFkanVzdFNlYXJjaEZpZWxkRGVj
b3JhdGlvblN0eWxlIGNvbnN0KToKKworICAgICAgICBTa2lwIHN0eWxlIGFkanVzdG1lbnQgaW4g
dGhlIHRoZW1lIHdoZW4gd2Uga25vdyB0aGUgYXBwZWFyYW5jZSBpcyBnb2luZworICAgICAgICB0
byBiZSByZXNldC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAg
ICAqIHN0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxl
OjpUcmVlUmVzb2x2ZXI6OnJlc29sdmVFbGVtZW50KToKKworICAgICAgICBSZXNvbHZlIGFsbCBk
ZXNjZW5kYW50cyBpZiB0aGUgYXBwZWFyYW5jZSBwcm9wZXJ0eSBvZiBhIHNlYXJjaCBpbnB1dCBp
cworICAgICAgICBjaGFuZ2VkLiBXaXRob3V0IHRoaXMgY2hhbmdlLCB0aGUgc3R5bGUgb2YgdGhl
IHJlc3VsdHMgYnV0dG9uIGlzIG5vdAorICAgICAgICByZXNvbHZlZCB3aGVuIG1ha2luZyBhIGR5
bmFtaWMgc3R5bGUgY2hhbmdlIHRvIHRoZSBhcHBlYXJhbmNlIG9mIHRoZQorICAgICAgICBzZWFy
Y2ggaW5wdXQuCisKIDIwMjEtMDMtMzEgIEFkaXR5YSBLZWVydGhpICA8YWtlZXJ0aGlAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtpT1NdICctd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUnIGlzIG5vdCBy
ZXNwZWN0ZWQgZm9yIHNlYXJjaGZpZWxkIGRlY29yYXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVt
ZW50LmgKaW5kZXggNTA1NjVjMTY2NmZiY2Q2OTdiZjcxZDZmMzQwOGIzOTZiMzYxMGI2My4uNjRh
YzY2MDNhNzBkODE2NzM0NjM2MjY4MjZiMzYwNWYxNjlkODk2NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEVsZW1lbnQuaApAQCAtODksNiArODksNyBAQCBwdWJsaWM6CiAgICAgVGV4dERpcmVjdGlvbiBk
aXJlY3Rpb25hbGl0eUlmaGFzRGlyQXV0b0F0dHJpYnV0ZShib29sJiBpc0F1dG8pIGNvbnN0Owog
CiAgICAgdmlydHVhbCBib29sIGlzVGV4dENvbnRyb2xJbm5lclRleHRFbGVtZW50KCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNTZWFyY2hGaWVsZFJlc3VsdHNC
dXR0b25FbGVtZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIGJvb2wgd2lsbFJl
c3BvbmRUb01vdXNlTW92ZUV2ZW50cygpIG92ZXJyaWRlOwogICAgIGJvb2wgd2lsbFJlc3BvbmRU
b01vdXNlV2hlZWxFdmVudHMoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwCmluZGV4IDA2OTI0ZGRm
ZWQ3ZTFlOWUwNmMwYzc1NjIwMGU1M2I5NjUwOGFmMDUuLmExODdhNTIxODFiMTY0YzhmYWEyNzYy
OGI1MTMxZTg2MDM5NTI1YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcApAQCAtNDcsNiArNDcsNyBAQAogI2lu
Y2x1ZGUgIlRleHRFdmVudElucHV0VHlwZS5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxp
bmVzLmg+CiAjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9TZXRGb3JTY29wZS5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTIyOSw2ICsyMzAsOCBAQCBpbmxpbmUgU2Vh
cmNoRmllbGRSZXN1bHRzQnV0dG9uRWxlbWVudDo6U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uRWxl
bWVudChEb2N1bWVudAogewogICAgIGlmIChkb2N1bWVudC5xdWlya3MoKS5zaG91bGRIaWRlU2Vh
cmNoRmllbGRSZXN1bHRzQnV0dG9uKCkpCiAgICAgICAgIHNldElubGluZVN0eWxlUHJvcGVydHko
Q1NTUHJvcGVydHlEaXNwbGF5LCBDU1NWYWx1ZU5vbmUpOworCisgICAgc2V0SGFzQ3VzdG9tU3R5
bGVSZXNvbHZlQ2FsbGJhY2tzKCk7CiB9CiAKIFJlZjxTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25F
bGVtZW50PiBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25FbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQm
IGRvY3VtZW50KQpAQCAtMjM2LDYgKzIzOSwyMCBAQCBSZWY8U2VhcmNoRmllbGRSZXN1bHRzQnV0
dG9uRWxlbWVudD4gU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uRWxlbWVudDo6Y3JlYXRlKERvYwog
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbkVsZW1lbnQo
ZG9jdW1lbnQpKTsKIH0KIAorT3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRTdHlsZT4gU2VhcmNoRmll
bGRSZXN1bHRzQnV0dG9uRWxlbWVudDo6cmVzb2x2ZUN1c3RvbVN0eWxlKGNvbnN0IFJlbmRlclN0
eWxlJiBwYXJlbnRTdHlsZSwgY29uc3QgUmVuZGVyU3R5bGUqIHNoYWRvd0hvc3RTdHlsZSkKK3sK
KyAgICBpZiAoc2hhZG93SG9zdFN0eWxlICYmIHNoYWRvd0hvc3RTdHlsZS0+YXBwZWFyYW5jZSgp
ICE9IFNlYXJjaEZpZWxkUGFydCkgeworICAgICAgICBTZXRGb3JTY29wZTxib29sPiBjYW5BZGp1
c3RTdHlsZUZvckFwcGVhcmFuY2UobV9jYW5BZGp1c3RTdHlsZUZvckFwcGVhcmFuY2UsIGZhbHNl
KTsKKworICAgICAgICBhdXRvIGVsZW1lbnRTdHlsZSA9IHJlc29sdmVTdHlsZSgmcGFyZW50U3R5
bGUpOworICAgICAgICBlbGVtZW50U3R5bGUucmVuZGVyU3R5bGUtPnNldEFwcGVhcmFuY2UoTm9D
b250cm9sUGFydCk7CisKKyAgICAgICAgcmV0dXJuIGVsZW1lbnRTdHlsZTsKKyAgICB9CisKKyAg
ICByZXR1cm4gV1RGOjpudWxsb3B0OworfQorCiB2b2lkIFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRv
bkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQmIGV2ZW50KQogewogICAgIC8vIE9u
IG1vdXNlZG93biwgYnJpbmcgdXAgYSBtZW51LCBpZiBuZWVkZWQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmgKaW5kZXggZWJi
NTg1OWE5Yzk5ZWVhZWM1MDI2MGNkYmY2YTQ5YTg0M2JmYjIyZS4uNDVmZjg0ODNjMTBlMWNhZmFh
Nzk1NTM2ZmE1NzA4ZDJmYjM1YWEzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmgKQEAgLTEwMSw5ICsxMDEsMTUgQEAg
cHVibGljOgogICAgIGJvb2wgd2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMoKSBvdmVycmlk
ZTsKICNlbmRpZgogCisgICAgYm9vbCBjYW5BZGp1c3RTdHlsZUZvckFwcGVhcmFuY2UoKSBjb25z
dCB7IHJldHVybiBtX2NhbkFkanVzdFN0eWxlRm9yQXBwZWFyYW5jZTsgfQorCiBwcml2YXRlOgog
ICAgIFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbkVsZW1lbnQoRG9jdW1lbnQmKTsKICAgICBib29s
IGlzTW91c2VGb2N1c2FibGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQorICAg
IE9wdGlvbmFsPFN0eWxlOjpFbGVtZW50U3R5bGU+IHJlc29sdmVDdXN0b21TdHlsZShjb25zdCBS
ZW5kZXJTdHlsZSYgcGFyZW50U3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlKiBzaGFkb3dIb3N0U3R5
bGUpIG92ZXJyaWRlOworICAgIGJvb2wgaXNTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25FbGVtZW50
KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQorCisgICAgYm9vbCBtX2NhbkFkanVz
dFN0eWxlRm9yQXBwZWFyYW5jZSB7IHRydWUgfTsKIH07CiAKIGNsYXNzIFNlYXJjaEZpZWxkQ2Fu
Y2VsQnV0dG9uRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBIVE1MRGl2RWxlbWVudCB7CkBAIC0xMjgs
MyArMTM0LDggQEAgU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpUZXh0Q29u
dHJvbElubmVyVGV4dEVsZW1lbnQpCiAgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNv
cmU6OkhUTUxFbGVtZW50JiBlbGVtZW50KSB7IHJldHVybiBlbGVtZW50LmlzVGV4dENvbnRyb2xJ
bm5lclRleHRFbGVtZW50KCk7IH0KICAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29y
ZTo6Tm9kZSYgbm9kZSkgeyByZXR1cm4gaXM8V2ViQ29yZTo6SFRNTEVsZW1lbnQ+KG5vZGUpICYm
IGlzVHlwZShkb3duY2FzdDxXZWJDb3JlOjpIVE1MRWxlbWVudD4obm9kZSkpOyB9CiBTUEVDSUFM
SVpFX1RZUEVfVFJBSVRTX0VORCgpCisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2Vi
Q29yZTo6U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uRWxlbWVudCkKKyAgICBzdGF0aWMgYm9vbCBp
c1R5cGUoY29uc3QgV2ViQ29yZTo6SFRNTEVsZW1lbnQmIGVsZW1lbnQpIHsgcmV0dXJuIGVsZW1l
bnQuaXNTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25FbGVtZW50KCk7IH0KKyAgICBzdGF0aWMgYm9v
bCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6Tm9kZSYgbm9kZSkgeyByZXR1cm4gaXM8V2ViQ29yZTo6
SFRNTEVsZW1lbnQ+KG5vZGUpICYmIGlzVHlwZShkb3duY2FzdDxXZWJDb3JlOjpIVE1MRWxlbWVu
dD4obm9kZSkpOyB9CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAppbmRleCAwMTM2NDUyODgzMWEwYzQwODZiOWUwODYz
OGMxMTlkZmI1MjIxZDI2Li4xMTFhZDU0MGFkZjM3MTZkMjA0YTM4YmE4NTdhNDEyNWQ5YjliNTlh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKQEAgLTI0MSwxMSAr
MjQxLDkgQEAgdm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUoUmVuZGVyU3R5bGUmIHN0eWxl
LCBjb25zdCBFbGVtZW50KiBlbGVtZW50LCBjb25zdAogICAgIGNhc2UgU2VhcmNoRmllbGRDYW5j
ZWxCdXR0b25QYXJ0OgogICAgICAgICByZXR1cm4gYWRqdXN0U2VhcmNoRmllbGRDYW5jZWxCdXR0
b25TdHlsZShzdHlsZSwgZWxlbWVudCk7CiAgICAgY2FzZSBTZWFyY2hGaWVsZERlY29yYXRpb25Q
YXJ0OgotICAgICAgICByZXR1cm4gYWRqdXN0U2VhcmNoRmllbGREZWNvcmF0aW9uUGFydFN0eWxl
KHN0eWxlLCBlbGVtZW50KTsKICAgICBjYXNlIFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25Q
YXJ0OgotICAgICAgICByZXR1cm4gYWRqdXN0U2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblBh
cnRTdHlsZShzdHlsZSwgZWxlbWVudCk7CiAgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0
b25QYXJ0OgotICAgICAgICByZXR1cm4gYWRqdXN0U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uU3R5
bGUoc3R5bGUsIGVsZW1lbnQpOworICAgICAgICByZXR1cm4gYWRqdXN0U2VhcmNoRmllbGREZWNv
cmF0aW9uU3R5bGUoc3R5bGUsIGVsZW1lbnQpOwogICAgIGNhc2UgUHJvZ3Jlc3NCYXJQYXJ0Ogog
ICAgICAgICByZXR1cm4gYWRqdXN0UHJvZ3Jlc3NCYXJTdHlsZShzdHlsZSwgZWxlbWVudCk7CiAg
ICAgY2FzZSBNZXRlclBhcnQ6CkBAIC0yNzQsNiArMjcyLDIzIEBAIHZvaWQgUmVuZGVyVGhlbWU6
OmFkanVzdFN0eWxlKFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVudCogZWxlbWVudCwg
Y29uc3QKICAgICB9CiB9CiAKK3ZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdFNlYXJjaEZpZWxkRGVj
b3JhdGlvblN0eWxlKFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVudCogZWxlbWVudCkg
Y29uc3QKK3sKKyAgICBpZiAoaXM8U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uRWxlbWVudD4oZWxl
bWVudCkgJiYgIWRvd25jYXN0PFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbkVsZW1lbnQ+KCplbGVt
ZW50KS5jYW5BZGp1c3RTdHlsZUZvckFwcGVhcmFuY2UoKSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgc3dpdGNoIChzdHlsZS5hcHBlYXJhbmNlKCkpIHsKKyAgICBjYXNlIFNlYXJjaEZpZWxkRGVj
b3JhdGlvblBhcnQ6CisgICAgICAgIHJldHVybiBhZGp1c3RTZWFyY2hGaWVsZERlY29yYXRpb25Q
YXJ0U3R5bGUoc3R5bGUsIGVsZW1lbnQpOworICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzRGVj
b3JhdGlvblBhcnQ6CisgICAgICAgIHJldHVybiBhZGp1c3RTZWFyY2hGaWVsZFJlc3VsdHNEZWNv
cmF0aW9uUGFydFN0eWxlKHN0eWxlLCBlbGVtZW50KTsKKyAgICBjYXNlIFNlYXJjaEZpZWxkUmVz
dWx0c0J1dHRvblBhcnQ6CisgICAgICAgIHJldHVybiBhZGp1c3RTZWFyY2hGaWVsZFJlc3VsdHNC
dXR0b25TdHlsZShzdHlsZSwgZWxlbWVudCk7CisgICAgZGVmYXVsdDoKKyAgICAgICAgYnJlYWs7
CisgICAgfQorfQorCiBib29sIFJlbmRlclRoZW1lOjpwYWludChjb25zdCBSZW5kZXJCb3gmIGJv
eCwgQ29udHJvbFN0YXRlcyYgY29udHJvbFN0YXRlcywgY29uc3QgUGFpbnRJbmZvJiBwYWludElu
Zm8sIGNvbnN0IExheW91dFJlY3QmIHJlY3QpCiB7CiAgICAgLy8gSWYgcGFpbnRpbmcgaXMgZGlz
YWJsZWQsIGJ1dCB3ZSBhcmVuJ3QgdXBkYXRpbmcgY29udHJvbCB0aW50cywgdGhlbiBqdXN0IGJh
aWwuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IDE0OGYyYjU3MDIx
MDk2NGVmYzA5YjU5OTUwZDkxZGQ5OTFiZGUxNjIuLjIyZmU4ZGU5MmVmMzZjZjllOGU3OWEzZGVh
ZmZmMzhhM2Q0N2I5OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBA
IC02OCw2ICs2OCw4IEBAIHB1YmxpYzoKICAgICAvLyAiYm9yZGVyIiBhcmUgc2V0LCBvciBpZiB0
aGUgYXBwZWFyYW5jZSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSB0aGVtZS4KICAgICB2b2lkIGFk
anVzdFN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCosIGNvbnN0IFJlbmRlclN0eWxl
KiB1c2VyQWdlbnRBcHBlYXJhbmNlU3R5bGUpOwogCisgICAgdm9pZCBhZGp1c3RTZWFyY2hGaWVs
ZERlY29yYXRpb25TdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdDsKKwog
ICAgIC8vIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCB0byBwYWludCB0aGUgd2lkZ2V0IGFzIGEgYmFj
a2dyb3VuZCBvZiB0aGUgUmVuZGVyT2JqZWN0LiAgQSB3aWRnZXQncyBmb3JlZ3JvdW5kLCBlLmcu
LCB0aGUKICAgICAvLyB0ZXh0IG9mIGEgYnV0dG9uLCBpcyBhbHdheXMgcmVuZGVyZWQgYnkgdGhl
IGVuZ2luZSBpdHNlbGYuICBUaGUgYm9vbGVhbiByZXR1cm4gdmFsdWUgaW5kaWNhdGVzCiAgICAg
Ly8gd2hldGhlciB0aGUgQ1NTIGJvcmRlci9iYWNrZ3JvdW5kIHNob3VsZCBhbHNvIGJlIHBhaW50
ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAKaW5kZXggYWM4
NDk1MDExYjZiMDI3NzY4NzBjNDk2MDBhN2U5YTk5ODNjMzVkMS4uODAyYWNiMzAyZDY2MGRiMzAx
YjNlN2UxYTdlY2RkYmFlZTA0YWM4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUv
U3R5bGVUcmVlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJl
ZVJlc29sdmVyLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkVsZW1lbnRJdGVyYXRv
ci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSFRNTEJvZHlFbGVtZW50LmgiCisj
aW5jbHVkZSAiSFRNTElucHV0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxNZXRlckVsZW1lbnQu
aCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MUHJvZ3Jlc3NFbGVtZW50
LmgiCkBAIC0yNDIsNyArMjQzLDkgQEAgRWxlbWVudFVwZGF0ZXMgVHJlZVJlc29sdmVyOjpyZXNv
bHZlRWxlbWVudChFbGVtZW50JiBlbGVtZW50KQogICAgICAgICBtX2RvY3VtZW50LnNldFRleHRD
b2xvcih1cGRhdGUuc3R5bGUtPnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUNvbG9y
KSk7CiAKICAgICAvLyBGSVhNRTogVGhlc2UgZWxlbWVudHMgc2hvdWxkIG5vdCBjaGFuZ2UgcmVu
ZGVyZXIgYmFzZWQgb24gYXBwZWFyYW5jZSBwcm9wZXJ0eS4KLSAgICBpZiAoZWxlbWVudC5oYXNU
YWdOYW1lKEhUTUxOYW1lczo6bWV0ZXJUYWcpIHx8IGlzPEhUTUxQcm9ncmVzc0VsZW1lbnQ+KGVs
ZW1lbnQpKSB7CisgICAgaWYgKGVsZW1lbnQuaGFzVGFnTmFtZShIVE1MTmFtZXM6Om1ldGVyVGFn
KQorICAgICAgICB8fCBpczxIVE1MUHJvZ3Jlc3NFbGVtZW50PihlbGVtZW50KQorICAgICAgICB8
fCAoaXM8SFRNTElucHV0RWxlbWVudD4oZWxlbWVudCkgJiYgZG93bmNhc3Q8SFRNTElucHV0RWxl
bWVudD4oZWxlbWVudCkuaXNTZWFyY2hGaWVsZCgpKSkgewogICAgICAgICBpZiAoZXhpc3RpbmdT
dHlsZSAmJiB1cGRhdGUuc3R5bGUtPmFwcGVhcmFuY2UoKSAhPSBleGlzdGluZ1N0eWxlLT5hcHBl
YXJhbmNlKCkpIHsKICAgICAgICAgICAgIHVwZGF0ZS5jaGFuZ2UgPSBDaGFuZ2U6OlJlbmRlcmVy
OwogICAgICAgICAgICAgZGVzY2VuZGFudHNUb1Jlc29sdmUgPSBEZXNjZW5kYW50c1RvUmVzb2x2
ZTo6QWxsOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424971</attachid>
            <date>2021-04-01 18:23:10 -0700</date>
            <delta_ts>2021-04-02 06:37:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223946-20210401212309.patch</filename>
            <type>text/plain</type>
            <size>17100</size>
            <attacher name="Aditya Keerthi">akeerthi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MzAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzZkNjE1ZDY3YTgwYjI5
N2YwNzBhMzQwYTM0NjI5YjcxZjQ1M2ZhMC4uMjBkMzc1M2EwZmM0ZGQwNWYyMWFkMGRiZmJjOGM1
ZmJiOGE0NGVhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcwIEBACisyMDIxLTA0LTAxICBBZGl0
eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KKworICAgICAgICBEbyBub3QgcGFpbnQg
bmF0aXZlIGRlY29yYXRpb25zIGZvciBzZWFyY2ggZmllbGRzIHdpdGhvdXQgJy13ZWJraXQtYXBw
ZWFyYW5jZTogc2VhcmNoZmllbGQnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjM5NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1NjIxMzY1Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9uIGlPUywg
c2l0ZXMgdGhhdCB1c2UgPGlucHV0IHR5cGU9InNlYXJjaCI+IGhhdmUgYmVlbiBvYnNlcnZlZCB0
byBkcmF3CisgICAgICAgIHRoZWlyIG93biBpY29ucyBuZXh0IHRvIHRoZSBmaWVsZC4gU2luY2Ug
d2UgZHJhdyBvdXIgb3duIGljb24gZm9yCisgICAgICAgIHNlYXJjaCBmaWVsZHMsIHRoaXMgcmVz
dWx0cyBpbiBhbiB1bndhbnRlZCBpY29uIG9uIHNvbWUgc2l0ZXMsIHN1Y2ggYXMKKyAgICAgICAg
b24gY2hhbmVsLmNvbS4gSG93ZXZlciwgaW4gdGhpcyBjYXNlLCB0aGUgc2l0ZSBzcGVjaWZpZXMK
KyAgICAgICAgIi13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkIiBvbiB0aGUgc2VhcmNoIGlu
cHV0LCBpbmRpY2F0aW5nIGEgZGVzaXJlCisgICAgICAgIHRvIHJlbW92ZSB0aGUgbmF0aXZlIHNl
YXJjaCBmaWVsZCBhcHBlYXJhbmNlLiBUbyByZW1vdmUgdGhlIHVud2FudGVkCisgICAgICAgIGlj
b24sIHdlIHNob3VsZCBub3QgcGFpbnQgZGVjb3JhdGlvbnMgZm9yIHNlYXJjaCBmaWVsZHMgd2l0
aG91dAorICAgICAgICAiLXdlYmtpdC1hcHBlYXJhbmNlOiBzZWFyY2hmaWVsZCIuCisKKyAgICAg
ICAgVG8gYWNoaWV2ZSB0aGlzIGJlaGF2aW9yLCBhZGp1c3QgdGhlIC13ZWJraXQtYXBwZWFyYW5j
ZSB2YWx1ZSBvbiB0aGUKKyAgICAgICAgcHNldWRvIGVsZW1lbnQgY29udGFpbmluZyB0aGUgaWNv
biB3aGVuIHRoZSBzZWFyY2ggZmllbGQgaGFzIGEgZGlmZmVyZW50CisgICAgICAgIC13ZWJraXQt
YXBwZWFyYW5jZSB2YWx1ZSwgc28gdGhhdCB0aGUgbmF0aXZlIHBhaW50aW5nIGlzIGVsaWRlZC4g
VGhlCisgICAgICAgIGRlY2lzaW9uIHRvIG5vdCBzaW1wbHkgc2V0ICJkaXNwbGF5OiBub25lIiBv
biB0aGUgZWxlbWVudCB3YXMgbWFkZSBzbworICAgICAgICB0aGF0IHNpdGVzIGNhbiBzdGlsbCBj
dXN0b21pemUgdGhlIGRlY29yYXRpb24gc2hvdWxkIHRoZXkgY2hvb3NlIHRvIGRvCisgICAgICAg
IHNvLiBOb3RlIHRoYXQgb24gbWFjT1MsIFdlYiBJbnNwZWN0b3IgcGFpbnRzIHRoZWlyIG93biBz
ZWFyY2ggaWNvbgorICAgICAgICB1c2luZyB0aGUgcHNldWRvIGVsZW1lbnQuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzLiBBIGxheW91dCB0ZXN0IGlzIG5vdCBwb3NzaWJsZSBzaW5jZSBTZWFyY2hG
aWVsZFJlc3VsdHNCdXR0b25FbGVtZW50CisgICAgICAgIGlzIGluYWNjZXNzaWJsZSB0aHJvdWdo
IERPTSBBUElzLiBBIHJlZmVyZW5jZSBtaXNtYXRjaCB0ZXN0IGlzIG5vdAorICAgICAgICBwb3Nz
aWJsZSBzaW5jZSBjaGFuZ2luZyB0aGUgLXdlYmtpdC1hcHBlYXJhbmNlIHByb3BlcnR5IG9uIGEg
c2VhcmNoIGZpZWxkCisgICAgICAgIGFscmVhZHkgcmVzdWx0cyBpbiB2aXN1YWwgY2hhbmdlcy4g
RXhpc3RpbmcgdGVzdHMgd2VyZSByZWJhc2VsaW5lZCB0bworICAgICAgICBhY2NvdW50IGZvciB0
aGUgZmFjdCB0aGF0IHRoZSBkZWNvcmF0aW9uIGlzIHJlbW92ZWQgd2hlbiBjaGFuZ2luZworICAg
ICAgICAtd2Via2l0LWFwcGVhcmFuY2UsIHNvIHdlIGRvIGhhdmUgdGVzdCBjb3ZlcmFnZS4KKwor
ICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxFbGVt
ZW50Ojppc1NlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbkVsZW1lbnQgY29uc3QpOgorICAgICAgICAq
IGh0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25FbGVtZW50OjpTZWFyY2hGaWVsZFJlc3VsdHNC
dXR0b25FbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNlYXJjaEZpZWxkUmVzdWx0c0J1dHRv
bkVsZW1lbnQ6OnJlc29sdmVDdXN0b21TdHlsZSk6CisKKyAgICAgICAgSWYgdGhlIHNlYXJjaGZp
ZWxkJ3MgYXBwZWFyYW5jZSBpcyBub3QgInNlYXJjaGZpZWxkIiwgYWRqdXN0IHRoZQorICAgICAg
ICBhcHBlYXJhbmNlIG9mIHRoZSByZXN1bHRzIGJ1dHRvbiB0byBOb0NvbnRyb2xQYXJ0LiBGb3Ig
Y29tcGF0aWJpbGl0eQorICAgICAgICByZWFzb25zLCB0aGUgYWRqdXN0bWVudCBpcyBza2lwcGVk
IGlmIHRoZSBhdXRob3IgaGFzIHNwZWNpZmllZCB0aGUKKyAgICAgICAgcmVzdWx0cyBhdHRyaWJ1
dGUgb24gdGhlIHNlYXJjaGZpZWxkLiBUaGlzIGlzIGRldGVybWluZWQgYnkgY2hlY2tpbmcKKyAg
ICAgICAgdGhlIG1heFJlc3VsdHMgb2YgdGhlIGlucHV0IGVsZW1lbnQuCisKKyAgICAgICAgSWYg
dGhlIGFkanVzdG1lbnQgbmVlZHMgdG8gYmUgcGVyZm9ybWVkLCB3ZSBlbGlkZSBzdHlsZSBhZGp1
c3RtZW50cyBmcm9tCisgICAgICAgIHRoZSB0aGVtZSBieSBzZXR0aW5nIGNhbkFkanVzdFN0eWxl
Rm9yQXBwZWFyYW5jZSB0byBmYWxzZS4gV2l0aG91dCB0aGlzLAorICAgICAgICB0aGUgY2FsbCB0
byByZXNvbHZlU3R5bGUgd2lsbCBhcHBseSBuYXRpdmUgc3R5bGVzIHRvIHRoZSBlbGVtZW50LCBz
aW5jZQorICAgICAgICBpdCBkb2VzIG5vdCBrbm93IHdlIGFyZSBhYm91dCB0byByZXNldCBhcHBl
YXJhbmNlLgorCisgICAgICAgICogaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRz
Lmg6CisgICAgICAgIChpc1R5cGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFkanVzdFNlYXJjaEZpZWxkRGVjb3JhdGlvblN0eWxl
IGNvbnN0KToKKworICAgICAgICBTa2lwIHN0eWxlIGFkanVzdG1lbnQgaW4gdGhlIHRoZW1lIHdo
ZW4gd2Uga25vdyB0aGUgYXBwZWFyYW5jZSBpcyBnb2luZworICAgICAgICB0byBiZSByZXNldC4K
KworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZS5oOgorICAgICAgICAqIHN0eWxlL1N0
eWxlVHJlZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpUcmVlUmVzb2x2
ZXI6OnJlc29sdmVFbGVtZW50KToKKworICAgICAgICBSZXNvbHZlIGFsbCBkZXNjZW5kYW50cyBp
ZiB0aGUgYXBwZWFyYW5jZSBwcm9wZXJ0eSBvZiBhIHNlYXJjaCBpbnB1dCBpcworICAgICAgICBj
aGFuZ2VkLiBXaXRob3V0IHRoaXMgY2hhbmdlLCB0aGUgc3R5bGUgb2YgdGhlIHJlc3VsdHMgYnV0
dG9uIGlzIG5vdAorICAgICAgICByZXNvbHZlZCB3aGVuIG1ha2luZyBhIGR5bmFtaWMgc3R5bGUg
Y2hhbmdlIHRvIHRoZSBhcHBlYXJhbmNlIG9mIHRoZQorICAgICAgICBzZWFyY2ggaW5wdXQuCisK
IDIwMjEtMDMtMzEgIEFkaXR5YSBLZWVydGhpICA8YWtlZXJ0aGlAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtpT1NdICctd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUnIGlzIG5vdCByZXNwZWN0ZWQgZm9y
IHNlYXJjaGZpZWxkIGRlY29yYXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmgKaW5kZXgg
NTA1NjVjMTY2NmZiY2Q2OTdiZjcxZDZmMzQwOGIzOTZiMzYxMGI2My4uNjRhYzY2MDNhNzBkODE2
NzM0NjM2MjY4MjZiMzYwNWYxNjlkODk2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaApA
QCAtODksNiArODksNyBAQCBwdWJsaWM6CiAgICAgVGV4dERpcmVjdGlvbiBkaXJlY3Rpb25hbGl0
eUlmaGFzRGlyQXV0b0F0dHJpYnV0ZShib29sJiBpc0F1dG8pIGNvbnN0OwogCiAgICAgdmlydHVh
bCBib29sIGlzVGV4dENvbnRyb2xJbm5lclRleHRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25FbGVtZW50
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIGJvb2wgd2lsbFJlc3BvbmRUb01vdXNl
TW92ZUV2ZW50cygpIG92ZXJyaWRlOwogICAgIGJvb2wgd2lsbFJlc3BvbmRUb01vdXNlV2hlZWxF
dmVudHMoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3BwCmluZGV4IDA2OTI0ZGRmZWQ3ZTFlOWUwNmMw
Yzc1NjIwMGU1M2I5NjUwOGFmMDUuLjE2OTFiYTljMDkxOTY2ZjM0NTdlZGQyNzVhMjlmNWI3NDZi
MTk4Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9s
SW5uZXJFbGVtZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dENv
bnRyb2xJbm5lckVsZW1lbnRzLmNwcApAQCAtNDcsNiArNDcsNyBAQAogI2luY2x1ZGUgIlRleHRF
dmVudElucHV0VHlwZS5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9TZXRGb3JTY29wZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTIyOSw2ICsyMzAsOCBAQCBpbmxpbmUgU2VhcmNoRmllbGRSZXN1
bHRzQnV0dG9uRWxlbWVudDo6U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uRWxlbWVudChEb2N1bWVu
dAogewogICAgIGlmIChkb2N1bWVudC5xdWlya3MoKS5zaG91bGRIaWRlU2VhcmNoRmllbGRSZXN1
bHRzQnV0dG9uKCkpCiAgICAgICAgIHNldElubGluZVN0eWxlUHJvcGVydHkoQ1NTUHJvcGVydHlE
aXNwbGF5LCBDU1NWYWx1ZU5vbmUpOworCisgICAgc2V0SGFzQ3VzdG9tU3R5bGVSZXNvbHZlQ2Fs
bGJhY2tzKCk7CiB9CiAKIFJlZjxTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25FbGVtZW50PiBTZWFy
Y2hGaWVsZFJlc3VsdHNCdXR0b25FbGVtZW50OjpjcmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50KQpA
QCAtMjM2LDYgKzIzOSwyNCBAQCBSZWY8U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uRWxlbWVudD4g
U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uRWxlbWVudDo6Y3JlYXRlKERvYwogICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbkVsZW1lbnQoZG9jdW1lbnQpKTsK
IH0KIAorT3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRTdHlsZT4gU2VhcmNoRmllbGRSZXN1bHRzQnV0
dG9uRWxlbWVudDo6cmVzb2x2ZUN1c3RvbVN0eWxlKGNvbnN0IFJlbmRlclN0eWxlJiBwYXJlbnRT
dHlsZSwgY29uc3QgUmVuZGVyU3R5bGUqIHNoYWRvd0hvc3RTdHlsZSkKK3sKKyAgICBhdXRvIGlu
cHV0ID0gbWFrZVJlZlB0cihkb3duY2FzdDxIVE1MSW5wdXRFbGVtZW50PihzaGFkb3dIb3N0KCkp
KTsKKyAgICBpZiAoaW5wdXQgJiYgaW5wdXQtPm1heFJlc3VsdHMoKSA+PSAwKQorICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgaWYgKHNoYWRvd0hvc3RTdHlsZSAmJiBzaGFkb3dI
b3N0U3R5bGUtPmFwcGVhcmFuY2UoKSAhPSBTZWFyY2hGaWVsZFBhcnQpIHsKKyAgICAgICAgU2V0
Rm9yU2NvcGU8Ym9vbD4gY2FuQWRqdXN0U3R5bGVGb3JBcHBlYXJhbmNlKG1fY2FuQWRqdXN0U3R5
bGVGb3JBcHBlYXJhbmNlLCBmYWxzZSk7CisKKyAgICAgICAgYXV0byBlbGVtZW50U3R5bGUgPSBy
ZXNvbHZlU3R5bGUoJnBhcmVudFN0eWxlKTsKKyAgICAgICAgZWxlbWVudFN0eWxlLnJlbmRlclN0
eWxlLT5zZXRBcHBlYXJhbmNlKE5vQ29udHJvbFBhcnQpOworCisgICAgICAgIHJldHVybiBlbGVt
ZW50U3R5bGU7CisgICAgfQorCisgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKK30KKwogdm9pZCBT
ZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25FbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50
JiBldmVudCkKIHsKICAgICAvLyBPbiBtb3VzZWRvd24sIGJyaW5nIHVwIGEgbWVudSwgaWYgbmVl
ZGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Q29udHJvbElu
bmVyRWxlbWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5u
ZXJFbGVtZW50cy5oCmluZGV4IGViYjU4NTlhOWM5OWVlYWVjNTAyNjBjZGJmNmE0OWE4NDNiZmIy
MmUuLjQ1ZmY4NDgzYzEwZTFjYWZhYTc5NTUzNmZhNTcwOGQyZmIzNWFhMzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5o
CkBAIC0xMDEsOSArMTAxLDE1IEBAIHB1YmxpYzoKICAgICBib29sIHdpbGxSZXNwb25kVG9Nb3Vz
ZUNsaWNrRXZlbnRzKCkgb3ZlcnJpZGU7CiAjZW5kaWYKIAorICAgIGJvb2wgY2FuQWRqdXN0U3R5
bGVGb3JBcHBlYXJhbmNlKCkgY29uc3QgeyByZXR1cm4gbV9jYW5BZGp1c3RTdHlsZUZvckFwcGVh
cmFuY2U7IH0KKwogcHJpdmF0ZToKICAgICBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25FbGVtZW50
KERvY3VtZW50Jik7CiAgICAgYm9vbCBpc01vdXNlRm9jdXNhYmxlKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gZmFsc2U7IH0KKyAgICBPcHRpb25hbDxTdHlsZTo6RWxlbWVudFN0eWxlPiByZXNv
bHZlQ3VzdG9tU3R5bGUoY29uc3QgUmVuZGVyU3R5bGUmIHBhcmVudFN0eWxlLCBjb25zdCBSZW5k
ZXJTdHlsZSogc2hhZG93SG9zdFN0eWxlKSBvdmVycmlkZTsKKyAgICBib29sIGlzU2VhcmNoRmll
bGRSZXN1bHRzQnV0dG9uRWxlbWVudCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0K
KworICAgIGJvb2wgbV9jYW5BZGp1c3RTdHlsZUZvckFwcGVhcmFuY2UgeyB0cnVlIH07CiB9Owog
CiBjbGFzcyBTZWFyY2hGaWVsZENhbmNlbEJ1dHRvbkVsZW1lbnQgZmluYWwgOiBwdWJsaWMgSFRN
TERpdkVsZW1lbnQgewpAQCAtMTI4LDMgKzEzNCw4IEBAIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNf
QkVHSU4oV2ViQ29yZTo6VGV4dENvbnRyb2xJbm5lclRleHRFbGVtZW50KQogICAgIHN0YXRpYyBi
b29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpIVE1MRWxlbWVudCYgZWxlbWVudCkgeyByZXR1cm4g
ZWxlbWVudC5pc1RleHRDb250cm9sSW5uZXJUZXh0RWxlbWVudCgpOyB9CiAgICAgc3RhdGljIGJv
b2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6Ok5vZGUmIG5vZGUpIHsgcmV0dXJuIGlzPFdlYkNvcmU6
OkhUTUxFbGVtZW50Pihub2RlKSAmJiBpc1R5cGUoZG93bmNhc3Q8V2ViQ29yZTo6SFRNTEVsZW1l
bnQ+KG5vZGUpKTsgfQogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQorCitTUEVDSUFMSVpF
X1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbkVsZW1l
bnQpCisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OkhUTUxFbGVtZW50JiBl
bGVtZW50KSB7IHJldHVybiBlbGVtZW50LmlzU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uRWxlbWVu
dCgpOyB9CisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6Ok5vZGUmIG5vZGUp
IHsgcmV0dXJuIGlzPFdlYkNvcmU6OkhUTUxFbGVtZW50Pihub2RlKSAmJiBpc1R5cGUoZG93bmNh
c3Q8V2ViQ29yZTo6SFRNTEVsZW1lbnQ+KG5vZGUpKTsgfQorU1BFQ0lBTElaRV9UWVBFX1RSQUlU
U19FTkQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKaW5kZXggMDEz
NjQ1Mjg4MzFhMGM0MDg2YjllMDg2MzhjMTE5ZGZiNTIyMWQyNi4uMTExYWQ1NDBhZGYzNzE2ZDIw
NGEzOGJhODU3YTQxMjVkOWI5YjU5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWUuY3BwCkBAIC0yNDEsMTEgKzI0MSw5IEBAIHZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdFN0
eWxlKFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVudCogZWxlbWVudCwgY29uc3QKICAg
ICBjYXNlIFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uUGFydDoKICAgICAgICAgcmV0dXJuIGFkanVz
dFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uU3R5bGUoc3R5bGUsIGVsZW1lbnQpOwogICAgIGNhc2Ug
U2VhcmNoRmllbGREZWNvcmF0aW9uUGFydDoKLSAgICAgICAgcmV0dXJuIGFkanVzdFNlYXJjaEZp
ZWxkRGVjb3JhdGlvblBhcnRTdHlsZShzdHlsZSwgZWxlbWVudCk7CiAgICAgY2FzZSBTZWFyY2hG
aWVsZFJlc3VsdHNEZWNvcmF0aW9uUGFydDoKLSAgICAgICAgcmV0dXJuIGFkanVzdFNlYXJjaEZp
ZWxkUmVzdWx0c0RlY29yYXRpb25QYXJ0U3R5bGUoc3R5bGUsIGVsZW1lbnQpOwogICAgIGNhc2Ug
U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uUGFydDoKLSAgICAgICAgcmV0dXJuIGFkanVzdFNlYXJj
aEZpZWxkUmVzdWx0c0J1dHRvblN0eWxlKHN0eWxlLCBlbGVtZW50KTsKKyAgICAgICAgcmV0dXJu
IGFkanVzdFNlYXJjaEZpZWxkRGVjb3JhdGlvblN0eWxlKHN0eWxlLCBlbGVtZW50KTsKICAgICBj
YXNlIFByb2dyZXNzQmFyUGFydDoKICAgICAgICAgcmV0dXJuIGFkanVzdFByb2dyZXNzQmFyU3R5
bGUoc3R5bGUsIGVsZW1lbnQpOwogICAgIGNhc2UgTWV0ZXJQYXJ0OgpAQCAtMjc0LDYgKzI3Miwy
MyBAQCB2b2lkIFJlbmRlclRoZW1lOjphZGp1c3RTdHlsZShSZW5kZXJTdHlsZSYgc3R5bGUsIGNv
bnN0IEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0CiAgICAgfQogfQogCit2b2lkIFJlbmRlclRoZW1l
OjphZGp1c3RTZWFyY2hGaWVsZERlY29yYXRpb25TdHlsZShSZW5kZXJTdHlsZSYgc3R5bGUsIGNv
bnN0IEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0Cit7CisgICAgaWYgKGlzPFNlYXJjaEZpZWxkUmVz
dWx0c0J1dHRvbkVsZW1lbnQ+KGVsZW1lbnQpICYmICFkb3duY2FzdDxTZWFyY2hGaWVsZFJlc3Vs
dHNCdXR0b25FbGVtZW50PigqZWxlbWVudCkuY2FuQWRqdXN0U3R5bGVGb3JBcHBlYXJhbmNlKCkp
CisgICAgICAgIHJldHVybjsKKworICAgIHN3aXRjaCAoc3R5bGUuYXBwZWFyYW5jZSgpKSB7Cisg
ICAgY2FzZSBTZWFyY2hGaWVsZERlY29yYXRpb25QYXJ0OgorICAgICAgICByZXR1cm4gYWRqdXN0
U2VhcmNoRmllbGREZWNvcmF0aW9uUGFydFN0eWxlKHN0eWxlLCBlbGVtZW50KTsKKyAgICBjYXNl
IFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25QYXJ0OgorICAgICAgICByZXR1cm4gYWRqdXN0
U2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblBhcnRTdHlsZShzdHlsZSwgZWxlbWVudCk7Cisg
ICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25QYXJ0OgorICAgICAgICByZXR1cm4gYWRq
dXN0U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uU3R5bGUoc3R5bGUsIGVsZW1lbnQpOworICAgIGRl
ZmF1bHQ6CisgICAgICAgIGJyZWFrOworICAgIH0KK30KKwogYm9vbCBSZW5kZXJUaGVtZTo6cGFp
bnQoY29uc3QgUmVuZGVyQm94JiBib3gsIENvbnRyb2xTdGF0ZXMmIGNvbnRyb2xTdGF0ZXMsIGNv
bnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRSZWN0JiByZWN0KQogewogICAg
IC8vIElmIHBhaW50aW5nIGlzIGRpc2FibGVkLCBidXQgd2UgYXJlbid0IHVwZGF0aW5nIGNvbnRy
b2wgdGludHMsIHRoZW4ganVzdCBiYWlsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWUuaAppbmRleCAxNDhmMmI1NzAyMTA5NjRlZmMwOWI1OTk1MGQ5MWRkOTkxYmRlMTYyLi4yMmZl
OGRlOTJlZjM2Y2Y5ZThlNzlhM2RlYWZmZjM4YTNkNDdiOTliIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWUuaApAQCAtNjgsNiArNjgsOCBAQCBwdWJsaWM6CiAgICAgLy8gImJv
cmRlciIgYXJlIHNldCwgb3IgaWYgdGhlIGFwcGVhcmFuY2UgaXMgbm90IHN1cHBvcnRlZCBieSB0
aGUgdGhlbWUuCiAgICAgdm9pZCBhZGp1c3RTdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1l
bnQqLCBjb25zdCBSZW5kZXJTdHlsZSogdXNlckFnZW50QXBwZWFyYW5jZVN0eWxlKTsKIAorICAg
IHZvaWQgYWRqdXN0U2VhcmNoRmllbGREZWNvcmF0aW9uU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25z
dCBFbGVtZW50KikgY29uc3Q7CisKICAgICAvLyBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgdG8gcGFp
bnQgdGhlIHdpZGdldCBhcyBhIGJhY2tncm91bmQgb2YgdGhlIFJlbmRlck9iamVjdC4gIEEgd2lk
Z2V0J3MgZm9yZWdyb3VuZCwgZS5nLiwgdGhlCiAgICAgLy8gdGV4dCBvZiBhIGJ1dHRvbiwgaXMg
YWx3YXlzIHJlbmRlcmVkIGJ5IHRoZSBlbmdpbmUgaXRzZWxmLiAgVGhlIGJvb2xlYW4gcmV0dXJu
IHZhbHVlIGluZGljYXRlcwogICAgIC8vIHdoZXRoZXIgdGhlIENTUyBib3JkZXIvYmFja2dyb3Vu
ZCBzaG91bGQgYWxzbyBiZSBwYWludGVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5
bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVl
UmVzb2x2ZXIuY3BwCmluZGV4IGFjODQ5NTAxMWI2YjAyNzc2ODcwYzQ5NjAwYTdlOWE5OTgzYzM1
ZDEuLjgwMmFjYjMwMmQ2NjBkYjMwMWIzZTdlMWE3ZWNkZGJhZWUwNGFjODIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNp
bmNsdWRlICJFbGVtZW50SXRlcmF0b3IuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUg
IkhUTUxCb2R5RWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNs
dWRlICJIVE1MTWV0ZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVk
ZSAiSFRNTFByb2dyZXNzRWxlbWVudC5oIgpAQCAtMjQyLDcgKzI0Myw5IEBAIEVsZW1lbnRVcGRh
dGVzIFRyZWVSZXNvbHZlcjo6cmVzb2x2ZUVsZW1lbnQoRWxlbWVudCYgZWxlbWVudCkKICAgICAg
ICAgbV9kb2N1bWVudC5zZXRUZXh0Q29sb3IodXBkYXRlLnN0eWxlLT52aXNpdGVkRGVwZW5kZW50
Q29sb3IoQ1NTUHJvcGVydHlDb2xvcikpOwogCiAgICAgLy8gRklYTUU6IFRoZXNlIGVsZW1lbnRz
IHNob3VsZCBub3QgY2hhbmdlIHJlbmRlcmVyIGJhc2VkIG9uIGFwcGVhcmFuY2UgcHJvcGVydHku
Ci0gICAgaWYgKGVsZW1lbnQuaGFzVGFnTmFtZShIVE1MTmFtZXM6Om1ldGVyVGFnKSB8fCBpczxI
VE1MUHJvZ3Jlc3NFbGVtZW50PihlbGVtZW50KSkgeworICAgIGlmIChlbGVtZW50Lmhhc1RhZ05h
bWUoSFRNTE5hbWVzOjptZXRlclRhZykKKyAgICAgICAgfHwgaXM8SFRNTFByb2dyZXNzRWxlbWVu
dD4oZWxlbWVudCkKKyAgICAgICAgfHwgKGlzPEhUTUxJbnB1dEVsZW1lbnQ+KGVsZW1lbnQpICYm
IGRvd25jYXN0PEhUTUxJbnB1dEVsZW1lbnQ+KGVsZW1lbnQpLmlzU2VhcmNoRmllbGQoKSkpIHsK
ICAgICAgICAgaWYgKGV4aXN0aW5nU3R5bGUgJiYgdXBkYXRlLnN0eWxlLT5hcHBlYXJhbmNlKCkg
IT0gZXhpc3RpbmdTdHlsZS0+YXBwZWFyYW5jZSgpKSB7CiAgICAgICAgICAgICB1cGRhdGUuY2hh
bmdlID0gQ2hhbmdlOjpSZW5kZXJlcjsKICAgICAgICAgICAgIGRlc2NlbmRhbnRzVG9SZXNvbHZl
ID0gRGVzY2VuZGFudHNUb1Jlc29sdmU6OkFsbDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxNWE1YTM5MGMyYWJiZmM3MDg3
YWVkMTVmNDJjM2I4ZGY1MzcxNDhiLi5hODIzMmM4MDllOWY4ZTExOGUyNzVlNTJmNWYxZDA2MmI4
YTM2NjBlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDQtMDEgIEFkaXR5YSBLZWVydGhp
ICA8YWtlZXJ0aGlAYXBwbGUuY29tPgorCisgICAgICAgIERvIG5vdCBwYWludCBuYXRpdmUgZGVj
b3JhdGlvbnMgZm9yIHNlYXJjaCBmaWVsZHMgd2l0aG91dCAnLXdlYmtpdC1hcHBlYXJhbmNlOiBz
ZWFyY2hmaWVsZCcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyMzk0NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzU2MjEzNjU+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmViYXNlbGluZWQgdGVzdHMg
dG8gYWNjb3VudCBmb3IgdGhlIHJlbW92YWwgb2YgdGhlIG5hdGl2ZSBkZWNvcmF0aW9uCisgICAg
ICAgIHdoZW4gYSBkaWZmZXJlbnQgLXdlYmtpdC1hcHBlYXJhbmNlIGlzIHNwZWNpZmllZCBvbiBh
IHNlYXJjaCBmaWVsZC4KKworICAgICAgICAqIHBsYXRmb3JtL2lvcy9mYXN0L2Nzcy9pbnB1dC1z
ZWFyY2gtcGFkZGluZy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qv
Y3NzL3RleHQtaW5wdXQtd2l0aC13ZWJraXQtYm9yZGVyLXJhZGl1cy1leHBlY3RlZC50eHQ6CisK
IDIwMjEtMDMtMzEgIEFkaXR5YSBLZWVydGhpICA8YWtlZXJ0aGlAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtpT1NdICctd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUnIGlzIG5vdCByZXNwZWN0ZWQgZm9y
IHNlYXJjaGZpZWxkIGRlY29yYXRpb25zCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3MvZmFzdC9jc3MvaW5wdXQtc2VhcmNoLXBhZGRpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvY3NzL2lucHV0LXNlYXJjaC1wYWRkaW5nLWV4cGVjdGVk
LnR4dAppbmRleCBhZTE3MTQ1N2RiMmE2MGQ3MWM1OTAzMDI2MTc5NWM5ZTE3MDVlNzAyLi42NDkw
YzIzYzkzOGZlZGVkYmZjMDY2YzViNGFjZjBkNTE1OWZkNDVhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9jc3MvaW5wdXQtc2VhcmNoLXBhZGRpbmctZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L2Nzcy9pbnB1dC1zZWFyY2gt
cGFkZGluZy1leHBlY3RlZC50eHQKQEAgLTMsMjggKzMsMjggQEAgbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgUmVuZGVyQmxvY2sge0hU
TUx9IGF0ICgwLDApIHNpemUgODAweDYwMAogICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgp
IHNpemUgNzg0eDU4NAotICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiwyKSBz
aXplIDU3NXg4NyBbYmdjb2xvcj0jNzY3NjgwMUZdCi0gICAgICAgIFJlbmRlckZsZXhpYmxlQm94
IHtESVZ9IGF0ICgyMCw4KSBzaXplIDUzNXg0OQotICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9
IGF0ICgwLDQpIHNpemUgNDB4NDEKLSAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNDQs
MCkgc2l6ZSA0OTF4NDkKLSAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoNTM0LDI0KSBz
aXplIDB4MAotICAgICAgUmVuZGVyQlIge0JSfSBhdCAoNTc4LDM0KSBzaXplIDF4MTkKKyAgICAg
IFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDIsMikgc2l6ZSA1MzV4ODcgW2JnY29sb3I9
Izc2NzY4MDFGXQorICAgICAgICBSZW5kZXJGbGV4aWJsZUJveCB7RElWfSBhdCAoMjAsOCkgc2l6
ZSA0OTV4NDkKKyAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwyNCkgc2l6ZSAweDAK
KyAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDQ5NXg0OQorICAgICAg
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg0OTQsMjQpIHNpemUgMHgwCisgICAgICBSZW5kZXJC
UiB7QlJ9IGF0ICg1MzgsMzQpIHNpemUgMXgxOQogICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lO
UFVUfSBhdCAoMiw5Mykgc2l6ZSA1Mzd4ODkgW2JnY29sb3I9I0ZGRkZGRl0gW2JvcmRlcjogKDFw
eCBzb2xpZCAjNzg3ODgwMzMpXQogICAgICAgUmVuZGVyQlIge0JSfSBhdCAoNTQwLDEyNikgc2l6
ZSAxeDE5Ci0gICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9IGF0ICgyLDE4NCkgc2l6ZSAy
NzF4MjUgW2JnY29sb3I9Izc2NzY4MDFGXQotICAgICAgICBSZW5kZXJGbGV4aWJsZUJveCB7RElW
fSBhdCAoNCwwKSBzaXplIDI2M3gyNQotICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgw
LDIpIHNpemUgMjB4MjEKLSAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMjQsMCkgc2l6
ZSAyMzl4MjUKLSAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMjYyLDEyKSBzaXplIDB4
MAotbGF5ZXIgYXQgKDc0LDE4KSBzaXplIDQ5MXg0OQotICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MCwwKSBzaXplIDQ5MXg0OQorICAgICAgUmVuZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiwx
ODQpIHNpemUgMjUxeDI1IFtiZ2NvbG9yPSM3Njc2ODAxRl0KKyAgICAgICAgUmVuZGVyRmxleGli
bGVCb3gge0RJVn0gYXQgKDQsMCkgc2l6ZSAyNDN4MjUKKyAgICAgICAgICBSZW5kZXJCbG9jayB7
RElWfSBhdCAoMCwxMikgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MCwwKSBzaXplIDI0M3gyNQorICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyNDIsMTIp
IHNpemUgMHgwCitsYXllciBhdCAoMzAsMTgpIHNpemUgNDk1eDQ5CisgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgwLDApIHNpemUgNDk1eDQ5CiAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMzUxeDQ5CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzNTE6ICJ2YWx1ZSBq
Z3Egbm90IGNsaXBwZWQiCiBsYXllciBhdCAoMzEsMTEwKSBzaXplIDQ5NXg0OQogICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMjEsOSkgc2l6ZSA0OTV4NDkKICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSAzNTF4NDkKICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDM1MTog
InZhbHVlIGpncSBub3QgY2xpcHBlZCIKLWxheWVyIGF0ICgzOCwxOTIpIHNpemUgMjM5eDI1Ci0g
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMjM5eDI1CitsYXllciBhdCAoMTQsMTky
KSBzaXplIDI0M3gyNQorICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDI0M3gyNQog
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDExNngyNQogICAgICAgdGV4dCBy
dW4gYXQgKDAsMCkgd2lkdGggMTE2OiAiU2FtcGxlIElucHV0IgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL3RleHQtaW5wdXQtd2l0aC13ZWJraXQtYm9yZGVy
LXJhZGl1cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jc3Mv
dGV4dC1pbnB1dC13aXRoLXdlYmtpdC1ib3JkZXItcmFkaXVzLWV4cGVjdGVkLnR4dAppbmRleCAx
NTA5NGI0MzYzZDIzMTU2ODUwZjA0MDMzZTFhMjI0NTUzZWM1ZTEwLi42NjZiYThmODFhMTFmNDVl
ZDlkMjRkNjU0ODk3NWZiYmMzYmIzYjYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9jc3MvdGV4dC1pbnB1dC13aXRoLXdlYmtpdC1ib3JkZXItcmFkaXVzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jc3MvdGV4dC1pbnB1
dC13aXRoLXdlYmtpdC1ib3JkZXItcmFkaXVzLWV4cGVjdGVkLnR4dApAQCAtMTcsMTEgKzE3LDEx
IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDEzNwogICAgICAgUmVuZGVyQmxvY2sge0RJVn0g
YXQgKDAsNjgpIHNpemUgMTYzeDQ1IFtiZ2NvbG9yPSM4ODg4ODhdCiAgICAgICAgIFJlbmRlclRl
eHRDb250cm9sIHtJTlBVVH0gYXQgKDExLDkpIHNpemUgMTMzeDI1IFtiZ2NvbG9yPSMwMEZGMDBd
IFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCiAgICAgICAgICAgUmVuZGVyRmxleGlibGVC
b3gge0RJVn0gYXQgKDMsMykgc2l6ZSAxMjd4MTkKLSAgICAgICAgICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgwLDApIHNpemUgOHgxOQotICAgICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDgsMykgc2l6ZSAxMDB4MTMKKyAgICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDkp
IHNpemUgMHgwCisgICAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwzKSBzaXplIDEw
OHgxMwogICAgICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEwOCwwKSBzaXplIDE5eDE5
CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotbGF5ZXIgYXQg
KDMwLDk5KSBzaXplIDEwMHgxMwotICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEw
MHgxMworbGF5ZXIgYXQgKDIyLDk5KSBzaXplIDEwOHgxMworICBSZW5kZXJCbG9jayB7RElWfSBh
dCAoMCwwKSBzaXplIDEwOHgxMwogICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDYweDEzCiAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA2MDogImRlZmF1bHQgdGV4dCIK
</data>
<flag name="review"
          id="444784"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425017</attachid>
            <date>2021-04-02 07:13:06 -0700</date>
            <delta_ts>2021-04-02 11:17:14 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-223946-20210402101305.patch</filename>
            <type>text/plain</type>
            <size>16776</size>
            <attacher name="Aditya Keerthi">akeerthi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MzAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzZkNjE1ZDY3YTgwYjI5
N2YwNzBhMzQwYTM0NjI5YjcxZjQ1M2ZhMC4uYzZhNDcxY2ViYmRkZGM5ZTlmYzFkZGIyMmZlOGE5
NGM3YmU3NmEzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY5IEBACisyMDIxLTA0LTAxICBBZGl0
eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4KKworICAgICAgICBEbyBub3QgcGFpbnQg
bmF0aXZlIGRlY29yYXRpb25zIGZvciBzZWFyY2ggZmllbGRzIHdpdGhvdXQgJy13ZWJraXQtYXBw
ZWFyYW5jZTogc2VhcmNoZmllbGQnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjM5NDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1NjIxMzY1Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgorCisgICAgICAgIE9uIGlPUywg
c2l0ZXMgdGhhdCB1c2UgPGlucHV0IHR5cGU9InNlYXJjaCI+IGhhdmUgYmVlbiBvYnNlcnZlZCB0
byBkcmF3CisgICAgICAgIHRoZWlyIG93biBpY29ucyBuZXh0IHRvIHRoZSBmaWVsZC4gU2luY2Ug
d2UgZHJhdyBvdXIgb3duIGljb24gZm9yCisgICAgICAgIHNlYXJjaCBmaWVsZHMsIHRoaXMgcmVz
dWx0cyBpbiBhbiB1bndhbnRlZCBpY29uIG9uIHNvbWUgc2l0ZXMsIHN1Y2ggYXMKKyAgICAgICAg
b24gY2hhbmVsLmNvbS4gSG93ZXZlciwgaW4gdGhpcyBjYXNlLCB0aGUgc2l0ZSBzcGVjaWZpZXMK
KyAgICAgICAgIi13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkIiBvbiB0aGUgc2VhcmNoIGlu
cHV0LCBpbmRpY2F0aW5nIGEgZGVzaXJlCisgICAgICAgIHRvIHJlbW92ZSB0aGUgbmF0aXZlIHNl
YXJjaCBmaWVsZCBhcHBlYXJhbmNlLiBUbyByZW1vdmUgdGhlIHVud2FudGVkCisgICAgICAgIGlj
b24sIHdlIHNob3VsZCBub3QgcGFpbnQgZGVjb3JhdGlvbnMgZm9yIHNlYXJjaCBmaWVsZHMgd2l0
aG91dAorICAgICAgICAiLXdlYmtpdC1hcHBlYXJhbmNlOiBzZWFyY2hmaWVsZCIuCisKKyAgICAg
ICAgVG8gYWNoaWV2ZSB0aGlzIGJlaGF2aW9yLCBhZGp1c3QgdGhlIC13ZWJraXQtYXBwZWFyYW5j
ZSB2YWx1ZSBvbiB0aGUKKyAgICAgICAgcHNldWRvIGVsZW1lbnQgY29udGFpbmluZyB0aGUgaWNv
biB3aGVuIHRoZSBzZWFyY2ggZmllbGQgaGFzIGEgZGlmZmVyZW50CisgICAgICAgIC13ZWJraXQt
YXBwZWFyYW5jZSB2YWx1ZSwgc28gdGhhdCB0aGUgbmF0aXZlIHBhaW50aW5nIGlzIGVsaWRlZC4g
VGhlCisgICAgICAgIGRlY2lzaW9uIHRvIG5vdCBzaW1wbHkgc2V0ICJkaXNwbGF5OiBub25lIiBv
biB0aGUgZWxlbWVudCB3YXMgbWFkZSBzbworICAgICAgICB0aGF0IHNpdGVzIGNhbiBzdGlsbCBj
dXN0b21pemUgdGhlIGRlY29yYXRpb24gc2hvdWxkIHRoZXkgY2hvb3NlIHRvIGRvCisgICAgICAg
IHNvLiBOb3RlIHRoYXQgb24gbWFjT1MsIFdlYiBJbnNwZWN0b3IgcGFpbnRzIHRoZWlyIG93biBz
ZWFyY2ggaWNvbgorICAgICAgICB1c2luZyB0aGUgcHNldWRvIGVsZW1lbnQuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzLiBBIGxheW91dCB0ZXN0IGlzIG5vdCBwb3NzaWJsZSBzaW5jZSBTZWFyY2hG
aWVsZFJlc3VsdHNCdXR0b25FbGVtZW50CisgICAgICAgIGlzIGluYWNjZXNzaWJsZSB0aHJvdWdo
IERPTSBBUElzLiBBIHJlZmVyZW5jZSBtaXNtYXRjaCB0ZXN0IGlzIG5vdAorICAgICAgICBwb3Nz
aWJsZSBzaW5jZSBjaGFuZ2luZyB0aGUgLXdlYmtpdC1hcHBlYXJhbmNlIHByb3BlcnR5IG9uIGEg
c2VhcmNoIGZpZWxkCisgICAgICAgIGFscmVhZHkgcmVzdWx0cyBpbiB2aXN1YWwgY2hhbmdlcy4g
RXhpc3RpbmcgdGVzdHMgd2VyZSByZWJhc2VsaW5lZCB0bworICAgICAgICBhY2NvdW50IGZvciB0
aGUgZmFjdCB0aGF0IHRoZSBkZWNvcmF0aW9uIGlzIHJlbW92ZWQgd2hlbiBjaGFuZ2luZworICAg
ICAgICAtd2Via2l0LWFwcGVhcmFuY2UsIHNvIHdlIGRvIGhhdmUgdGVzdCBjb3ZlcmFnZS4KKwor
ICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxFbGVt
ZW50Ojppc1NlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbkVsZW1lbnQgY29uc3QpOgorICAgICAgICAq
IGh0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVtZW50cy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25FbGVtZW50OjpTZWFyY2hGaWVsZFJlc3VsdHNC
dXR0b25FbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNlYXJjaEZpZWxkUmVzdWx0c0J1dHRv
bkVsZW1lbnQ6OnJlc29sdmVDdXN0b21TdHlsZSk6CisKKyAgICAgICAgSWYgdGhlIHNlYXJjaGZp
ZWxkJ3MgYXBwZWFyYW5jZSBpcyBub3QgInNlYXJjaGZpZWxkIiwgYWRqdXN0IHRoZQorICAgICAg
ICBhcHBlYXJhbmNlIG9mIHRoZSByZXN1bHRzIGJ1dHRvbiB0byBOb0NvbnRyb2xQYXJ0LiBGb3Ig
Y29tcGF0aWJpbGl0eQorICAgICAgICByZWFzb25zLCB0aGUgYWRqdXN0bWVudCBpcyBza2lwcGVk
IGlmIHRoZSBhdXRob3IgaGFzIHNwZWNpZmllZCB0aGUKKyAgICAgICAgcmVzdWx0cyBhdHRyaWJ1
dGUgb24gdGhlIHNlYXJjaGZpZWxkLiBUaGlzIGlzIGRldGVybWluZWQgYnkgY2hlY2tpbmcKKyAg
ICAgICAgdGhlIG1heFJlc3VsdHMgb2YgdGhlIGlucHV0IGVsZW1lbnQuCisKKyAgICAgICAgSWYg
dGhlIGFkanVzdG1lbnQgbmVlZHMgdG8gYmUgcGVyZm9ybWVkLCB3ZSBlbGlkZSBzdGFuZGFyZCBz
dHlsZQorICAgICAgICBhZGp1c3RtZW50cyBmcm9tIHRoZSB0aGVtZSBieSBzZXR0aW5nIGNhbkFk
anVzdFN0eWxlRm9yQXBwZWFyYW5jZSB0bworICAgICAgICBmYWxzZS4gV2l0aG91dCB0aGlzLCB0
aGUgY2FsbCB0byByZXNvbHZlU3R5bGUgd2lsbCBhcHBseSBuYXRpdmUgc3R5bGVzCisgICAgICAg
IHRvIHRoZSBlbGVtZW50LCBzaW5jZSBpdCBkb2VzIG5vdCBrbm93IHdlIGFyZSBhYm91dCB0byBy
ZXNldCBhcHBlYXJhbmNlLgorCisgICAgICAgICogaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5l
ckVsZW1lbnRzLmg6CisgICAgICAgIChpc1R5cGUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJUaGVtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFkanVzdFNlYXJjaEZpZWxkRGVjb3Jh
dGlvblN0eWxlIGNvbnN0KToKKworICAgICAgICBTa2lwIHN0eWxlIGFkanVzdG1lbnQgYW5kIHJl
c2V0IHRoZSBhcHBlYXJhbmNlIHdoZW4gbmVjZXNzYXJ5LgorCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmg6CisgICAgICAgICogc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OlRyZWVSZXNvbHZlcjo6cmVzb2x2ZUVsZW1lbnQpOgor
CisgICAgICAgIFJlc29sdmUgYWxsIGRlc2NlbmRhbnRzIGlmIHRoZSBhcHBlYXJhbmNlIHByb3Bl
cnR5IG9mIGEgc2VhcmNoIGlucHV0IGlzCisgICAgICAgIGNoYW5nZWQuIFdpdGhvdXQgdGhpcyBj
aGFuZ2UsIHRoZSBzdHlsZSBvZiB0aGUgcmVzdWx0cyBidXR0b24gaXMgbm90CisgICAgICAgIHJl
c29sdmVkIHdoZW4gbWFraW5nIGEgZHluYW1pYyBzdHlsZSBjaGFuZ2UgdG8gdGhlIGFwcGVhcmFu
Y2Ugb2YgdGhlCisgICAgICAgIHNlYXJjaCBpbnB1dC4KKwogMjAyMS0wMy0zMSAgQWRpdHlhIEtl
ZXJ0aGkgIDxha2VlcnRoaUBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gJy13ZWJraXQtYXBw
ZWFyYW5jZTogbm9uZScgaXMgbm90IHJlc3BlY3RlZCBmb3Igc2VhcmNoZmllbGQgZGVjb3JhdGlv
bnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaAppbmRleCA1MDU2NWMxNjY2ZmJjZDY5N2JmNzFk
NmYzNDA4YjM5NmIzNjEwYjYzLi42NGFjNjYwM2E3MGQ4MTY3MzQ2MzYyNjgyNmIzNjA1ZjE2OWQ4
OTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5oCkBAIC04OSw2ICs4OSw3IEBAIHB1Ymxp
YzoKICAgICBUZXh0RGlyZWN0aW9uIGRpcmVjdGlvbmFsaXR5SWZoYXNEaXJBdXRvQXR0cmlidXRl
KGJvb2wmIGlzQXV0bykgY29uc3Q7CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNUZXh0Q29udHJvbElu
bmVyVGV4dEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9v
bCBpc1NlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbkVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQogCiAgICAgYm9vbCB3aWxsUmVzcG9uZFRvTW91c2VNb3ZlRXZlbnRzKCkgb3ZlcnJpZGU7
CiAgICAgYm9vbCB3aWxsUmVzcG9uZFRvTW91c2VXaGVlbEV2ZW50cygpIG92ZXJyaWRlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1l
bnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L1RleHRDb250cm9sSW5uZXJFbGVt
ZW50cy5jcHAKaW5kZXggMDY5MjRkZGZlZDdlMWU5ZTA2YzBjNzU2MjAwZTUzYjk2NTA4YWYwNS4u
NTMzMTIxMjUxMDE1NjhmMDhiMWMxMzM0NjJkMWUxOGRhODg3NGE2OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuY3Bw
CkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSAiVGV4dEV2ZW50SW5wdXRUeXBlLmgiCiAjaW5j
bHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5j
bHVkZSA8d3RmL1NldEZvclNjb3BlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMjI5
LDYgKzIzMCw4IEBAIGlubGluZSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25FbGVtZW50OjpTZWFy
Y2hGaWVsZFJlc3VsdHNCdXR0b25FbGVtZW50KERvY3VtZW50CiB7CiAgICAgaWYgKGRvY3VtZW50
LnF1aXJrcygpLnNob3VsZEhpZGVTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b24oKSkKICAgICAgICAg
c2V0SW5saW5lU3R5bGVQcm9wZXJ0eShDU1NQcm9wZXJ0eURpc3BsYXksIENTU1ZhbHVlTm9uZSk7
CisKKyAgICBzZXRIYXNDdXN0b21TdHlsZVJlc29sdmVDYWxsYmFja3MoKTsKIH0KIAogUmVmPFNl
YXJjaEZpZWxkUmVzdWx0c0J1dHRvbkVsZW1lbnQ+IFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbkVs
ZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQpCkBAIC0yMzYsNiArMjM5LDIwIEBAIFJl
ZjxTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25FbGVtZW50PiBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0
b25FbGVtZW50OjpjcmVhdGUoRG9jCiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2VhcmNoRmll
bGRSZXN1bHRzQnV0dG9uRWxlbWVudChkb2N1bWVudCkpOwogfQogCitPcHRpb25hbDxTdHlsZTo6
RWxlbWVudFN0eWxlPiBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25FbGVtZW50OjpyZXNvbHZlQ3Vz
dG9tU3R5bGUoY29uc3QgUmVuZGVyU3R5bGUmIHBhcmVudFN0eWxlLCBjb25zdCBSZW5kZXJTdHls
ZSogc2hhZG93SG9zdFN0eWxlKQoreworICAgIGF1dG8gaW5wdXQgPSBtYWtlUmVmUHRyKGRvd25j
YXN0PEhUTUxJbnB1dEVsZW1lbnQ+KHNoYWRvd0hvc3QoKSkpOworICAgIGlmIChpbnB1dCAmJiBp
bnB1dC0+bWF4UmVzdWx0cygpID49IDApCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisK
KyAgICBpZiAoc2hhZG93SG9zdFN0eWxlICYmIHNoYWRvd0hvc3RTdHlsZS0+YXBwZWFyYW5jZSgp
ICE9IFNlYXJjaEZpZWxkUGFydCkgeworICAgICAgICBTZXRGb3JTY29wZTxib29sPiBjYW5BZGp1
c3RTdHlsZUZvckFwcGVhcmFuY2UobV9jYW5BZGp1c3RTdHlsZUZvckFwcGVhcmFuY2UsIGZhbHNl
KTsKKyAgICAgICAgcmV0dXJuIHJlc29sdmVTdHlsZSgmcGFyZW50U3R5bGUpOworICAgIH0KKwor
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Cit9CisKIHZvaWQgU2VhcmNoRmllbGRSZXN1bHRzQnV0
dG9uRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCYgZXZlbnQpCiB7CiAgICAgLy8g
T24gbW91c2Vkb3duLCBicmluZyB1cCBhIG1lbnUsIGlmIG5lZWRlZApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuaAppbmRleCBl
YmI1ODU5YTljOTllZWFlYzUwMjYwY2RiZjZhNDlhODQzYmZiMjJlLi40NWZmODQ4M2MxMGUxY2Fm
YWE3OTU1MzZmYTU3MDhkMmZiMzVhYTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9UZXh0Q29udHJvbElubmVyRWxlbWVudHMuaApAQCAtMTAxLDkgKzEwMSwxNSBA
QCBwdWJsaWM6CiAgICAgYm9vbCB3aWxsUmVzcG9uZFRvTW91c2VDbGlja0V2ZW50cygpIG92ZXJy
aWRlOwogI2VuZGlmCiAKKyAgICBib29sIGNhbkFkanVzdFN0eWxlRm9yQXBwZWFyYW5jZSgpIGNv
bnN0IHsgcmV0dXJuIG1fY2FuQWRqdXN0U3R5bGVGb3JBcHBlYXJhbmNlOyB9CisKIHByaXZhdGU6
CiAgICAgU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uRWxlbWVudChEb2N1bWVudCYpOwogICAgIGJv
b2wgaXNNb3VzZUZvY3VzYWJsZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9Cisg
ICAgT3B0aW9uYWw8U3R5bGU6OkVsZW1lbnRTdHlsZT4gcmVzb2x2ZUN1c3RvbVN0eWxlKGNvbnN0
IFJlbmRlclN0eWxlJiBwYXJlbnRTdHlsZSwgY29uc3QgUmVuZGVyU3R5bGUqIHNoYWRvd0hvc3RT
dHlsZSkgb3ZlcnJpZGU7CisgICAgYm9vbCBpc1NlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbkVsZW1l
bnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CisKKyAgICBib29sIG1fY2FuQWRq
dXN0U3R5bGVGb3JBcHBlYXJhbmNlIHsgdHJ1ZSB9OwogfTsKIAogY2xhc3MgU2VhcmNoRmllbGRD
YW5jZWxCdXR0b25FbGVtZW50IGZpbmFsIDogcHVibGljIEhUTUxEaXZFbGVtZW50IHsKQEAgLTEy
OCwzICsxMzQsOCBAQCBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNvcmU6OlRleHRD
b250cm9sSW5uZXJUZXh0RWxlbWVudCkKICAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2Vi
Q29yZTo6SFRNTEVsZW1lbnQmIGVsZW1lbnQpIHsgcmV0dXJuIGVsZW1lbnQuaXNUZXh0Q29udHJv
bElubmVyVGV4dEVsZW1lbnQoKTsgfQogICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJD
b3JlOjpOb2RlJiBub2RlKSB7IHJldHVybiBpczxXZWJDb3JlOjpIVE1MRWxlbWVudD4obm9kZSkg
JiYgaXNUeXBlKGRvd25jYXN0PFdlYkNvcmU6OkhUTUxFbGVtZW50Pihub2RlKSk7IH0KIFNQRUNJ
QUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKKworU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihX
ZWJDb3JlOjpTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25FbGVtZW50KQorICAgIHN0YXRpYyBib29s
IGlzVHlwZShjb25zdCBXZWJDb3JlOjpIVE1MRWxlbWVudCYgZWxlbWVudCkgeyByZXR1cm4gZWxl
bWVudC5pc1NlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbkVsZW1lbnQoKTsgfQorICAgIHN0YXRpYyBi
b29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpOb2RlJiBub2RlKSB7IHJldHVybiBpczxXZWJDb3Jl
OjpIVE1MRWxlbWVudD4obm9kZSkgJiYgaXNUeXBlKGRvd25jYXN0PFdlYkNvcmU6OkhUTUxFbGVt
ZW50Pihub2RlKSk7IH0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCmluZGV4IDAxMzY0NTI4ODMxYTBjNDA4NmI5ZTA4
NjM4YzExOWRmYjUyMjFkMjYuLmNjODEwZGNkMTEwYTVkMjdhNTFhOTczYjkwMDA1MzdkMmIzNjFi
YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcApAQCAtMjQxLDEx
ICsyNDEsOSBAQCB2b2lkIFJlbmRlclRoZW1lOjphZGp1c3RTdHlsZShSZW5kZXJTdHlsZSYgc3R5
bGUsIGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0CiAgICAgY2FzZSBTZWFyY2hGaWVsZENh
bmNlbEJ1dHRvblBhcnQ6CiAgICAgICAgIHJldHVybiBhZGp1c3RTZWFyY2hGaWVsZENhbmNlbEJ1
dHRvblN0eWxlKHN0eWxlLCBlbGVtZW50KTsKICAgICBjYXNlIFNlYXJjaEZpZWxkRGVjb3JhdGlv
blBhcnQ6Ci0gICAgICAgIHJldHVybiBhZGp1c3RTZWFyY2hGaWVsZERlY29yYXRpb25QYXJ0U3R5
bGUoc3R5bGUsIGVsZW1lbnQpOwogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlv
blBhcnQ6Ci0gICAgICAgIHJldHVybiBhZGp1c3RTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9u
UGFydFN0eWxlKHN0eWxlLCBlbGVtZW50KTsKICAgICBjYXNlIFNlYXJjaEZpZWxkUmVzdWx0c0J1
dHRvblBhcnQ6Ci0gICAgICAgIHJldHVybiBhZGp1c3RTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25T
dHlsZShzdHlsZSwgZWxlbWVudCk7CisgICAgICAgIHJldHVybiBhZGp1c3RTZWFyY2hGaWVsZERl
Y29yYXRpb25TdHlsZShzdHlsZSwgZWxlbWVudCk7CiAgICAgY2FzZSBQcm9ncmVzc0JhclBhcnQ6
CiAgICAgICAgIHJldHVybiBhZGp1c3RQcm9ncmVzc0JhclN0eWxlKHN0eWxlLCBlbGVtZW50KTsK
ICAgICBjYXNlIE1ldGVyUGFydDoKQEAgLTI3NCw2ICsyNzIsMjUgQEAgdm9pZCBSZW5kZXJUaGVt
ZTo6YWRqdXN0U3R5bGUoUmVuZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBFbGVtZW50KiBlbGVtZW50
LCBjb25zdAogICAgIH0KIH0KIAordm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0U2VhcmNoRmllbGRE
ZWNvcmF0aW9uU3R5bGUoUmVuZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBFbGVtZW50KiBlbGVtZW50
KSBjb25zdAoreworICAgIGlmIChpczxTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25FbGVtZW50Pihl
bGVtZW50KSAmJiAhZG93bmNhc3Q8U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uRWxlbWVudD4oKmVs
ZW1lbnQpLmNhbkFkanVzdFN0eWxlRm9yQXBwZWFyYW5jZSgpKSB7CisgICAgICAgIHN0eWxlLnNl
dEFwcGVhcmFuY2UoTm9Db250cm9sUGFydCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBzd2l0Y2ggKHN0eWxlLmFwcGVhcmFuY2UoKSkgeworICAgIGNhc2UgU2VhcmNoRmllbGREZWNv
cmF0aW9uUGFydDoKKyAgICAgICAgcmV0dXJuIGFkanVzdFNlYXJjaEZpZWxkRGVjb3JhdGlvblBh
cnRTdHlsZShzdHlsZSwgZWxlbWVudCk7CisgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNEZWNv
cmF0aW9uUGFydDoKKyAgICAgICAgcmV0dXJuIGFkanVzdFNlYXJjaEZpZWxkUmVzdWx0c0RlY29y
YXRpb25QYXJ0U3R5bGUoc3R5bGUsIGVsZW1lbnQpOworICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1
bHRzQnV0dG9uUGFydDoKKyAgICAgICAgcmV0dXJuIGFkanVzdFNlYXJjaEZpZWxkUmVzdWx0c0J1
dHRvblN0eWxlKHN0eWxlLCBlbGVtZW50KTsKKyAgICBkZWZhdWx0OgorICAgICAgICBicmVhazsK
KyAgICB9Cit9CisKIGJvb2wgUmVuZGVyVGhlbWU6OnBhaW50KGNvbnN0IFJlbmRlckJveCYgYm94
LCBDb250cm9sU3RhdGVzJiBjb250cm9sU3RhdGVzLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5m
bywgY29uc3QgTGF5b3V0UmVjdCYgcmVjdCkKIHsKICAgICAvLyBJZiBwYWludGluZyBpcyBkaXNh
YmxlZCwgYnV0IHdlIGFyZW4ndCB1cGRhdGluZyBjb250cm9sIHRpbnRzLCB0aGVuIGp1c3QgYmFp
bC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKaW5kZXggMTQ4ZjJiNTcwMjEw
OTY0ZWZjMDliNTk5NTBkOTFkZDk5MWJkZTE2Mi4uZWQ2Nzg4ODFjNzBmZDc3MDk5Y2VlOTU5YmZk
MDQ1ZTA0ZDcyN2I3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKQEAg
LTQ0Nyw2ICs0NDcsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBDb2xvckNhY2hlJiBjb2xv
ckNhY2hlKE9wdGlvblNldDxTdHlsZUNvbG9yOjpPcHRpb25zPikgY29uc3Q7CiAKIHByaXZhdGU6
CisgICAgdm9pZCBhZGp1c3RTZWFyY2hGaWVsZERlY29yYXRpb25TdHlsZShSZW5kZXJTdHlsZSYs
IGNvbnN0IEVsZW1lbnQqKSBjb25zdDsKKwogICAgIG11dGFibGUgSGFzaE1hcDx1aW50OF90LCBD
b2xvckNhY2hlLCBEZWZhdWx0SGFzaDx1aW50OF90PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5
SGFzaFRyYWl0czx1aW50OF90Pj4gbV9jb2xvckNhY2hlTWFwOwogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvc3R5bGUvU3R5bGVUcmVlUmVzb2x2ZXIuY3BwCmluZGV4IGFjODQ5NTAxMWI2YjAyNzc2ODcw
YzQ5NjAwYTdlOWE5OTgzYzM1ZDEuLjgwMmFjYjMwMmQ2NjBkYjMwMWIzZTdlMWE3ZWNkZGJhZWUw
NGFjODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlVHJlZVJlc29sdmVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVRyZWVSZXNvbHZlci5jcHAKQEAg
LTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJFbGVtZW50SXRlcmF0b3IuaCIKICNpbmNsdWRlICJG
cmFtZS5oIgogI2luY2x1ZGUgIkhUTUxCb2R5RWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxJbnB1
dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTWV0ZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRN
TE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTFByb2dyZXNzRWxlbWVudC5oIgpAQCAtMjQyLDcgKzI0
Myw5IEBAIEVsZW1lbnRVcGRhdGVzIFRyZWVSZXNvbHZlcjo6cmVzb2x2ZUVsZW1lbnQoRWxlbWVu
dCYgZWxlbWVudCkKICAgICAgICAgbV9kb2N1bWVudC5zZXRUZXh0Q29sb3IodXBkYXRlLnN0eWxl
LT52aXNpdGVkRGVwZW5kZW50Q29sb3IoQ1NTUHJvcGVydHlDb2xvcikpOwogCiAgICAgLy8gRklY
TUU6IFRoZXNlIGVsZW1lbnRzIHNob3VsZCBub3QgY2hhbmdlIHJlbmRlcmVyIGJhc2VkIG9uIGFw
cGVhcmFuY2UgcHJvcGVydHkuCi0gICAgaWYgKGVsZW1lbnQuaGFzVGFnTmFtZShIVE1MTmFtZXM6
Om1ldGVyVGFnKSB8fCBpczxIVE1MUHJvZ3Jlc3NFbGVtZW50PihlbGVtZW50KSkgeworICAgIGlm
IChlbGVtZW50Lmhhc1RhZ05hbWUoSFRNTE5hbWVzOjptZXRlclRhZykKKyAgICAgICAgfHwgaXM8
SFRNTFByb2dyZXNzRWxlbWVudD4oZWxlbWVudCkKKyAgICAgICAgfHwgKGlzPEhUTUxJbnB1dEVs
ZW1lbnQ+KGVsZW1lbnQpICYmIGRvd25jYXN0PEhUTUxJbnB1dEVsZW1lbnQ+KGVsZW1lbnQpLmlz
U2VhcmNoRmllbGQoKSkpIHsKICAgICAgICAgaWYgKGV4aXN0aW5nU3R5bGUgJiYgdXBkYXRlLnN0
eWxlLT5hcHBlYXJhbmNlKCkgIT0gZXhpc3RpbmdTdHlsZS0+YXBwZWFyYW5jZSgpKSB7CiAgICAg
ICAgICAgICB1cGRhdGUuY2hhbmdlID0gQ2hhbmdlOjpSZW5kZXJlcjsKICAgICAgICAgICAgIGRl
c2NlbmRhbnRzVG9SZXNvbHZlID0gRGVzY2VuZGFudHNUb1Jlc29sdmU6OkFsbDsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAx
NWE1YTM5MGMyYWJiZmM3MDg3YWVkMTVmNDJjM2I4ZGY1MzcxNDhiLi5kNzI0ODVmMWRlNmU5NDVl
ODc2MDMyNTBhODA3NTNiZDM3NmQ2MjI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDQt
MDEgIEFkaXR5YSBLZWVydGhpICA8YWtlZXJ0aGlAYXBwbGUuY29tPgorCisgICAgICAgIERvIG5v
dCBwYWludCBuYXRpdmUgZGVjb3JhdGlvbnMgZm9yIHNlYXJjaCBmaWVsZHMgd2l0aG91dCAnLXdl
YmtpdC1hcHBlYXJhbmNlOiBzZWFyY2hmaWVsZCcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzk0NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzU2
MjEzNjU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAgICAg
UmViYXNlbGluZWQgdGVzdHMgdG8gYWNjb3VudCBmb3IgdGhlIHJlbW92YWwgb2YgdGhlIG5hdGl2
ZSBkZWNvcmF0aW9uCisgICAgICAgIHdoZW4gYSBkaWZmZXJlbnQgLXdlYmtpdC1hcHBlYXJhbmNl
IGlzIHNwZWNpZmllZCBvbiBhIHNlYXJjaCBmaWVsZC4KKworICAgICAgICAqIHBsYXRmb3JtL2lv
cy9mYXN0L2Nzcy9pbnB1dC1zZWFyY2gtcGFkZGluZy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL2Zhc3QvY3NzL3RleHQtaW5wdXQtd2l0aC13ZWJraXQtYm9yZGVyLXJhZGl1
cy1leHBlY3RlZC50eHQ6CisKIDIwMjEtMDMtMzEgIEFkaXR5YSBLZWVydGhpICA8YWtlZXJ0aGlA
YXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdICctd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUnIGlz
IG5vdCByZXNwZWN0ZWQgZm9yIHNlYXJjaGZpZWxkIGRlY29yYXRpb25zCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9jc3MvaW5wdXQtc2VhcmNoLXBhZGRpbmctZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvY3NzL2lucHV0LXNlYXJj
aC1wYWRkaW5nLWV4cGVjdGVkLnR4dAppbmRleCBhZTE3MTQ1N2RiMmE2MGQ3MWM1OTAzMDI2MTc5
NWM5ZTE3MDVlNzAyLi42NDkwYzIzYzkzOGZlZGVkYmZjMDY2YzViNGFjZjBkNTE1OWZkNDVhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9jc3MvaW5wdXQtc2VhcmNo
LXBhZGRpbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0
L2Nzcy9pbnB1dC1zZWFyY2gtcGFkZGluZy1leHBlY3RlZC50eHQKQEAgLTMsMjggKzMsMjggQEAg
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAogICAgIFJlbmRlckJv
ZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAotICAgICAgUmVuZGVyVGV4dENvbnRyb2wg
e0lOUFVUfSBhdCAoMiwyKSBzaXplIDU3NXg4NyBbYmdjb2xvcj0jNzY3NjgwMUZdCi0gICAgICAg
IFJlbmRlckZsZXhpYmxlQm94IHtESVZ9IGF0ICgyMCw4KSBzaXplIDUzNXg0OQotICAgICAgICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDQpIHNpemUgNDB4NDEKLSAgICAgICAgICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoNDQsMCkgc2l6ZSA0OTF4NDkKLSAgICAgICAgICBSZW5kZXJCbG9jayB7
RElWfSBhdCAoNTM0LDI0KSBzaXplIDB4MAotICAgICAgUmVuZGVyQlIge0JSfSBhdCAoNTc4LDM0
KSBzaXplIDF4MTkKKyAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDIsMikgc2l6
ZSA1MzV4ODcgW2JnY29sb3I9Izc2NzY4MDFGXQorICAgICAgICBSZW5kZXJGbGV4aWJsZUJveCB7
RElWfSBhdCAoMjAsOCkgc2l6ZSA0OTV4NDkKKyAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBh
dCAoMCwyNCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBz
aXplIDQ5NXg0OQorICAgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg0OTQsMjQpIHNpemUg
MHgwCisgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICg1MzgsMzQpIHNpemUgMXgxOQogICAgICAgUmVu
ZGVyVGV4dENvbnRyb2wge0lOUFVUfSBhdCAoMiw5Mykgc2l6ZSA1Mzd4ODkgW2JnY29sb3I9I0ZG
RkZGRl0gW2JvcmRlcjogKDFweCBzb2xpZCAjNzg3ODgwMzMpXQogICAgICAgUmVuZGVyQlIge0JS
fSBhdCAoNTQwLDEyNikgc2l6ZSAxeDE5Ci0gICAgICBSZW5kZXJUZXh0Q29udHJvbCB7SU5QVVR9
IGF0ICgyLDE4NCkgc2l6ZSAyNzF4MjUgW2JnY29sb3I9Izc2NzY4MDFGXQotICAgICAgICBSZW5k
ZXJGbGV4aWJsZUJveCB7RElWfSBhdCAoNCwwKSBzaXplIDI2M3gyNQotICAgICAgICAgIFJlbmRl
ckJsb2NrIHtESVZ9IGF0ICgwLDIpIHNpemUgMjB4MjEKLSAgICAgICAgICBSZW5kZXJCbG9jayB7
RElWfSBhdCAoMjQsMCkgc2l6ZSAyMzl4MjUKLSAgICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBh
dCAoMjYyLDEyKSBzaXplIDB4MAotbGF5ZXIgYXQgKDc0LDE4KSBzaXplIDQ5MXg0OQotICBSZW5k
ZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDQ5MXg0OQorICAgICAgUmVuZGVyVGV4dENvbnRy
b2wge0lOUFVUfSBhdCAoMiwxODQpIHNpemUgMjUxeDI1IFtiZ2NvbG9yPSM3Njc2ODAxRl0KKyAg
ICAgICAgUmVuZGVyRmxleGlibGVCb3gge0RJVn0gYXQgKDQsMCkgc2l6ZSAyNDN4MjUKKyAgICAg
ICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwxMikgc2l6ZSAweDAKKyAgICAgICAgICBSZW5k
ZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDI0M3gyNQorICAgICAgICAgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgyNDIsMTIpIHNpemUgMHgwCitsYXllciBhdCAoMzAsMTgpIHNpemUgNDk1eDQ5
CisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNDk1eDQ5CiAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzUxeDQ5CiAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3
aWR0aCAzNTE6ICJ2YWx1ZSBqZ3Egbm90IGNsaXBwZWQiCiBsYXllciBhdCAoMzEsMTEwKSBzaXpl
IDQ5NXg0OQogICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMjEsOSkgc2l6ZSA0OTV4NDkKICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzNTF4NDkKICAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDM1MTogInZhbHVlIGpncSBub3QgY2xpcHBlZCIKLWxheWVyIGF0ICgzOCwx
OTIpIHNpemUgMjM5eDI1Ci0gIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgMjM5eDI1
CitsYXllciBhdCAoMTQsMTkyKSBzaXplIDI0M3gyNQorICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MCwwKSBzaXplIDI0M3gyNQogICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEx
NngyNQogICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTE2OiAiU2FtcGxlIElucHV0Igpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL3RleHQtaW5wdXQt
d2l0aC13ZWJraXQtYm9yZGVyLXJhZGl1cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9jc3MvdGV4dC1pbnB1dC13aXRoLXdlYmtpdC1ib3JkZXItcmFkaXVzLWV4
cGVjdGVkLnR4dAppbmRleCAxNTA5NGI0MzYzZDIzMTU2ODUwZjA0MDMzZTFhMjI0NTUzZWM1ZTEw
Li42NjZiYThmODFhMTFmNDVlZDlkMjRkNjU0ODk3NWZiYmMzYmIzYjYzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jc3MvdGV4dC1pbnB1dC13aXRoLXdlYmtpdC1i
b3JkZXItcmFkaXVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9jc3MvdGV4dC1pbnB1dC13aXRoLXdlYmtpdC1ib3JkZXItcmFkaXVzLWV4cGVjdGVkLnR4
dApAQCAtMTcsMTEgKzE3LDExIEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDEzNwogICAgICAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsNjgpIHNpemUgMTYzeDQ1IFtiZ2NvbG9yPSM4ODg4ODhd
CiAgICAgICAgIFJlbmRlclRleHRDb250cm9sIHtJTlBVVH0gYXQgKDExLDkpIHNpemUgMTMzeDI1
IFtiZ2NvbG9yPSMwMEZGMDBdIFtib3JkZXI6ICgycHggaW5zZXQgIzAwMDAwMCldCiAgICAgICAg
ICAgUmVuZGVyRmxleGlibGVCb3gge0RJVn0gYXQgKDMsMykgc2l6ZSAxMjd4MTkKLSAgICAgICAg
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgOHgxOQotICAgICAgICAgICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDgsMykgc2l6ZSAxMDB4MTMKKyAgICAgICAgICAgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgwLDkpIHNpemUgMHgwCisgICAgICAgICAgICBSZW5kZXJCbG9jayB7RElW
fSBhdCAoMCwzKSBzaXplIDEwOHgxMwogICAgICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDEwOCwwKSBzaXplIDE5eDE5CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDB4MAotbGF5ZXIgYXQgKDMwLDk5KSBzaXplIDEwMHgxMwotICBSZW5kZXJCbG9jayB7RElW
fSBhdCAoMCwwKSBzaXplIDEwMHgxMworbGF5ZXIgYXQgKDIyLDk5KSBzaXplIDEwOHgxMworICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDEwOHgxMwogICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDYweDEzCiAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA2
MDogImRlZmF1bHQgdGV4dCIK
</data>

          </attachment>
      

    </bug>

</bugzilla>