<?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>219073</bug_id>
          
          <creation_ts>2020-11-18 02:12:19 -0800</creation_ts>
          <short_desc>Make scroll-padding independent of scroll-snap and have it affect scrollIntoView</short_desc>
          <delta_ts>2020-12-03 10:47:07 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=219498</see_also>
          <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>
          
          <blocked>179379</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Martin Robinson">mrobinson</reporter>
          <assigned_to name="Martin Robinson">mrobinson</assigned_to>
          <cc>changseok</cc>
    
    <cc>diane.ko</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>joepeck</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1708538</commentid>
    <comment_count>0</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2020-11-18 02:12:19 -0800</bug_when>
    <thetext>The scroll-snap specification [1] says that scroll-padding should be applied independently of scroll-snap and that it should affect scrolling operations.

1. https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708555</commentid>
    <comment_count>1</comment_count>
      <attachid>414436</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2020-11-18 03:43:17 -0800</bug_when>
    <thetext>Created attachment 414436
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708580</commentid>
    <comment_count>2</comment_count>
      <attachid>414445</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2020-11-18 06:29:29 -0800</bug_when>
    <thetext>Created attachment 414445
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708664</commentid>
    <comment_count>3</comment_count>
      <attachid>414445</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-11-18 10:34:39 -0800</bug_when>
    <thetext>Comment on attachment 414445
Patch

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

&gt; Source/WebCore/rendering/RenderLayer.cpp:601
&gt; +static void expandScrollRectToVisibleTargetRectToIncludeScrollPadding(RenderBox* renderBox, const LayoutRect&amp; viewRect, LayoutRect* targetRect)

targetRect should be a LayoutRect&amp;

&gt; Source/WebCore/rendering/RenderLayer.cpp:2825
&gt; +AnimatedScroll RenderLayer::shouldUseAnimatedScrollForScrollRectToVisible(Element* element, ScrollBehavior behavior)
&gt; +{
&gt; +    bool useAnimatedScrolling = !renderer().frame().eventHandler().autoscrollInProgress()
&gt; +        &amp;&amp; element &amp;&amp; useSmoothScrolling(behavior, element);
&gt; +    return useAnimatedScrolling ? AnimatedScroll::Yes : AnimatedScroll::No;
&gt; +}

This could just be a lambda function in scrollRectToVisible()

&gt; Source/WebCore/rendering/RenderLayer.cpp:2858
&gt; +            AnimatedScroll animated = this-&gt;shouldUseAnimatedScrollForScrollRectToVisible(box-&gt;element(), options.behavior);

auto animated

&gt; Source/WebCore/rendering/RenderLayer.cpp:2890
&gt; +                AnimatedScroll animated = this-&gt;shouldUseAnimatedScrollForScrollRectToVisible(element, options.behavior);

auto animated

&gt; Source/WebCore/rendering/RenderLayerModelObject.cpp:125
&gt; +    return oldStyle.scrollPadding() != newStyle.scrollPadding() || oldStyle.scrollSnapType() != newStyle.scrollSnapType();

This should not all be inside the #if ENABLE(CSS_SCROLL_SNAP) right?

&gt; Source/WebCore/rendering/style/RenderStyle.cpp:2498
&gt; +const ScrollSnapType&amp; RenderStyle::scrollSnapType() const

Just return by value. It&apos;s an enum.

&gt; Source/WebCore/rendering/style/RenderStyle.cpp:2503
&gt; +const ScrollSnapAlign&amp; RenderStyle::scrollSnapAlign() const

Return by value.

&gt; Source/WebCore/rendering/style/RenderStyle.cpp:2508
&gt; +void RenderStyle::setScrollSnapType(const ScrollSnapType&amp; type)

Argument should be a ScrollSnapType

&gt; Source/WebCore/rendering/style/RenderStyle.h:736
&gt; +    const ScrollSnapType&amp; scrollSnapType() const;
&gt;      const ScrollSnapAlign&amp; scrollSnapAlign() const;

Return by value.

&gt; Source/WebCore/rendering/style/RenderStyle.h:1276
&gt; +    void setScrollSnapType(const ScrollSnapType&amp;);
&gt;      void setScrollSnapAlign(const ScrollSnapAlign&amp;);

Pass values not references.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709002</commentid>
    <comment_count>4</comment_count>
      <attachid>414547</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2020-11-19 00:55:09 -0800</bug_when>
    <thetext>Created attachment 414547
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709004</commentid>
    <comment_count>5</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2020-11-19 00:58:52 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #3)
&gt; Comment on attachment 414445 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=414445&amp;action=review

Thanks for the review. I&apos;ve applied all your suggestions, apart from one:

&gt; &gt; Source/WebCore/rendering/RenderLayerModelObject.cpp:125
&gt; &gt; +    return oldStyle.scrollPadding() != newStyle.scrollPadding() || oldStyle.scrollSnapType() != newStyle.scrollSnapType();
&gt; 
&gt; This should not all be inside the #if ENABLE(CSS_SCROLL_SNAP) right?

This helper function is still only used by the scroll snap code. It&apos;s possible that this should be moved to the callsite in a cleanup change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709060</commentid>
    <comment_count>6</comment_count>
      <attachid>414547</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2020-11-19 05:47:54 -0800</bug_when>
    <thetext>Comment on attachment 414547
Patch

Landing as the failures are unrelated to this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709066</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-19 06:00:20 -0800</bug_when>
    <thetext>Committed r270023: &lt;https://trac.webkit.org/changeset/270023&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 414547.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709067</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-19 06:01:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/71584492&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414436</attachid>
            <date>2020-11-18 03:43:17 -0800</date>
            <delta_ts>2020-11-18 06:56:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219073-20201118124315.patch</filename>
            <type>text/plain</type>
            <size>38383</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5OTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODg5N2M3ZGYzMGQ2NzVm
M2IwODU1NDVjMTUzNTJiMTcyNDFkZWEzNi4uNWNmYWFjMTU0YzM3NDMzNDAxODg2ODBhZGMzNjBl
ZWMyNWRkZGM2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDIwLTExLTE4ICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25Ad2Via2l0Lm9yZz4KKworICAgICAgICBNYWtlIHNjcm9s
bC1wYWRkaW5nIGluZGVwZW5kZW50IG9mIHNjcm9sbC1zbmFwIGFuZCBoYXZlIGl0IGFmZmVjdCBz
Y3JvbGxJbnRvVmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE5MDczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhlIHNjcm9sbC1wYWRkaW5nIENTUyBwcm9wZXJ0eSBpcyBub3cgYXZhaWxhYmxlIGV2
ZW4gd2hlbiBzY3JvbGwtc25hcCBpcyBub3QKKyAgICAgICAgZW5hYmxlZCBhdCBjb21waWxlLXRp
bWUuIEFsc28gbWFrZSBzY3JvbGwtc25hcCBhZmZlY3QgcG9zaXRpb25pbmcgZHVyaW5nCisgICAg
ICAgIHNjcm9sbEludG9WaWV3IG9wZXJhdGlvbnMuCisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDog
UmVtb3ZlIFNjcm9sbFNuYXBQb2ludHMuY3BwLCBiZWNhdXNlIGl0IGlzIG5vIGxvbmdlciBuZWNl
c3NhcnkuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBEaXR0
by4KKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDogRW5hYmxl
IHNjcm9sbC1wYWRkaW5nIGFuZCBzY3JvbGwtcGFkZGluZy0qIHVuY29uZGl0aW9uYWxseS4KKyAg
ICAgICAgKFdlYkNvcmU6OkNvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJ
blN0eWxlKTogRGl0dG8uCisgICAgICAgICogY3NzL0NTU1Byb3BlcnRpZXMuanNvbjogRGl0dG8u
CisgICAgICAgICogY3NzL1N0eWxlUHJvcGVydGllcy5jcHA6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6U3R5bGVQcm9wZXJ0aWVzOjpnZXRQcm9wZXJ0eVZhbHVlIGNvbnN0KTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpTdHlsZVByb3BlcnRpZXM6OmFzVGV4dCBjb25zdCk6IERpdHRvLgor
ICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVNpbmdsZVZhbHVlKTogRGl0dG8u
CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VTaG9ydGhhbmQpOiBE
aXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OmV4cGFuZFNjcm9sbFJlY3RUb1Zpc2libGVUYXJnZXRSZWN0VG9JbmNsdWRl
U2Nyb2xsUGFkZGluZyk6IEFkZGVkIHRoaXMgaGVscGVyCisgICAgICAgIGZ1bmN0aW9uIHdoaWNo
IGV4cGFuZHMgdGhlIHRhcmdldCByZWN0YW5nbGUgdG8gaW5jbHVkZSBzY3JvbGwgcGFkZGluZyBm
cm9tIHRoZSBjb250YWluZXIuCisgICAgICAgIFRoaXMgY3JlYXRlcyB0aGUgYWZmZWN0IHRoYXQg
dGhlIGNvbnRhaW5lciBoYXMgYSBwYWRkaW5nIHJlY3RhbmdsZS4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpzaG91bGRVc2VBbmltYXRlZFNjcm9sbEZvclNjcm9sbFJlY3RUb1Zpc2li
bGUpOiBVc2UgdGhlIG5ldworICAgICAgICBoZWxwZXIgbWV0aG9kIGFuZCBmdW5jdGlvbi4KKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKTogRGl0dG8u
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6IEFkZGVkIGEgbmV3IGhlbHBlciBt
ZXRob2QgdG8gcmVkdWNlIHJlcGV0aXRpb24gb2YgY29kZSBpbgorICAgICAgICBzY3JvbGxSZWN0
VG9WaXNpYmxlLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNw
cDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpzY3JvbGxTbmFwQ29udGFpbmVyUmVxdWlyZXNV
cGRhdGVGb3JTdHlsZVVwZGF0ZSk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNj
cm9sbFBhZGRpbmcgY29uc3QpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxl
OjpzZXRTY3JvbGxQYWRkaW5nVG9wKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJT
dHlsZTo6c2V0U2Nyb2xsUGFkZGluZ0JvdHRvbSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU3R5bGU6OnNldFNjcm9sbFBhZGRpbmdMZWZ0KTogRGl0dG8uCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJTdHlsZTo6c2V0U2Nyb2xsUGFkZGluZ1JpZ2h0KTogRGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aW5pdGlhbFNjcm9sbFNuYXBUeXBlKTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aW5pdGlhbFNjcm9sbFNuYXBBbGlnbik6IERp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNjcm9sbFNuYXBUeXBlIGNvbnN0
KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2Nyb2xsU25hcEFsaWdu
IGNvbnN0KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0U2Nyb2xs
U25hcFR5cGUpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
aDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aW5pdGlhbFNjcm9sbFBh
ZGRpbmcpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5o
ZXJpdGVkRGF0YS5jcHA6IEhhdmUgc2Nyb2xsLXBhZGRpbmcgcmVsYXRlZCBwcm9wZXJ0aWVzCisg
ICAgICAgIGJlIHN0b3JlZCBkaXJlY3RseSBvbiBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9u
SW5oZXJpdGVkRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWRE
YXRhOjpvcGVyYXRvcj09IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVS
YXJlTm9uSW5oZXJpdGVkRGF0YS5oOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUv
U3R5bGVTY3JvbGxTbmFwUG9pbnRzLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiByZW5kZXJpbmcv
c3R5bGUvU3R5bGVTY3JvbGxTbmFwUG9pbnRzLmg6CisKIDIwMjAtMTEtMTcgIEtpbW1vIEtpbm51
bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmYWlscyBvbiBpbnRl
cm5hbCBzaW11bGF0b3IgYnVpbGRzIGR1ZSB0byBtaXNzaW5nIGVudW0ga0NWUGl4ZWxGb3JtYXRU
eXBlX0FHWF80MjBZcENiQ3I4QmlQbGFuYXJWaWRlb1JhbmdlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDk2
YmZkNTViMTQ1MDYyMzAwYTIzNWM5Y2UyYjM0ZjAzOWU5YTBlOGUuLmNlNzQ2ZWE3ODYxNzhhM2Q4
ZmI3ZGJlNTMwYzExMmY5OTdkY2FjN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0yMzIzLDcgKzIzMjMs
NiBAQCByZW5kZXJpbmcvc3R5bGUvU3R5bGVNdWx0aUNvbERhdGEuY3BwCiByZW5kZXJpbmcvc3R5
bGUvU3R5bGVNdWx0aUltYWdlLmNwcAogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRl
ZERhdGEuY3BwCiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAK
LXJlbmRlcmluZy9zdHlsZS9TdHlsZVNjcm9sbFNuYXBQb2ludHMuY3BwCiByZW5kZXJpbmcvc3R5
bGUvU3R5bGVTZWxmQWxpZ25tZW50RGF0YS5jcHAKIHJlbmRlcmluZy9zdHlsZS9TdHlsZVN1cnJv
dW5kRGF0YS5jcHAKIHJlbmRlcmluZy9zdHlsZS9TdHlsZVRyYW5zZm9ybURhdGEuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
YzM3Y2ZhZTk3ZmIwMGUxYjcwODdmYTg0YWZmYzY3ODM0OGRmYTM2Yi4uYzIwN2MzOWQyYmIxNDIw
ODFhOTM0Zjk0NDFmNDM5MDNiMmEyMjc3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTY0NTQsNyArMTY0NTQsNiBAQAogCQlG
NDc4NzU1MzE5OTgzQUZGMDAyNEEyODcgLyogU2Nyb2xsU25hcEFuaW1hdG9yU3RhdGUubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTY3JvbGxTbmFwQW5pbWF0b3JT
dGF0ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQ3QTA5Q0YyMEE5MzlGNjAw
MjQwRkFFIC8qIERpc2FibGVkQWRhcHRhdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGlzYWJsZWRB
ZGFwdGF0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDdBMDlENDIwQTlE
RDA0MDAyNDBGQUUgLyogRGlzYWJsZWRBZGFwdGF0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBEaXNhYmxlZEFkYXB0YXRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
RjQ3QTVFM0ExOTVCOEM4QTAwNDgzMTAwIC8qIFN0eWxlU2Nyb2xsU25hcFBvaW50cy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZVNjcm9sbFNuYXBQb2ludHMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDdBNUUzQjE5NUI4QzhBMDA0ODMx
MDAgLyogU3R5bGVTY3JvbGxTbmFwUG9pbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFN0eWxlU2Nyb2xsU25hcFBvaW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlGNDdBNjMzQzFGRjZGRDUwMDA4MUIzQ0MgLyogUHJvbWlzZWRBdHRhY2htZW50SW5mby5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBQcm9taXNlZEF0dGFjaG1lbnRJbmZvLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUY0N0FEMjM4MjE5MzQ5OUEwMDUxREQwQiAvKiBJbnNlcnROZXN0ZWRM
aXN0Q29tbWFuZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNlcnROZXN0ZWRMaXN0Q29tbWFuZC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjY5NzYsNyArMjY5NzUsNiBAQAogCQkJCUJD
MjI3MkJBMEU4MkVBQUUwMEU3Rjk3NSAvKiBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcCAq
LywKIAkJCQlCQzIyNzJCQjBFODJFQUFFMDBFN0Y5NzUgLyogU3R5bGVSYXJlTm9uSW5oZXJpdGVk
RGF0YS5oICovLAogCQkJCUJDMjI3Mjg2MEU4MkU3MDcwMEU3Rjk3NSAvKiBTdHlsZVJlZmxlY3Rp
b24uaCAqLywKLQkJCQlGNDdBNUUzQTE5NUI4QzhBMDA0ODMxMDAgLyogU3R5bGVTY3JvbGxTbmFw
UG9pbnRzLmNwcCAqLywKIAkJCQlGNDdBNUUzQjE5NUI4QzhBMDA0ODMxMDAgLyogU3R5bGVTY3Jv
bGxTbmFwUG9pbnRzLmggKi8sCiAJCQkJNzE5OUI5NEYyNTUyMTAzRTAwNDk0QTU3IC8qIFN0eWxl
U2VsZkFsaWdubWVudERhdGEuY3BwICovLAogCQkJCTlENjM4MDBGMUFGMTZFMTYwMDMxQTE1QyAv
KiBTdHlsZVNlbGZBbGlnbm1lbnREYXRhLmggKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDk5NGJkZDM2YmFhMzU1YTAw
MDgwNGM4NjVkYzJhMDIxZWQ1NGU3MmEuLjRjM2E1ZWM1ZmNkMmE4MGY4ZmMwYTQ2NzZhZDEzMmEz
MjQ2ODI2MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCkBAIC0zODA5LDcgKzM4MDksNiBAQCBSZWZQdHI8Q1NTVmFsdWU+IENv
bXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJblN0eWxlKGNvbnN0IFJlbmRl
clN0eQogICAgICAgICAgICAgcmV0dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFsdWVGb3JMZW5ndGgo
c3R5bGUuc2Nyb2xsTWFyZ2luUmlnaHQoKSwgc3R5bGUpOwogICAgICAgICBjYXNlIENTU1Byb3Bl
cnR5U2Nyb2xsTWFyZ2luTGVmdDoKICAgICAgICAgICAgIHJldHVybiB6b29tQWRqdXN0ZWRQaXhl
bFZhbHVlRm9yTGVuZ3RoKHN0eWxlLnNjcm9sbE1hcmdpbkxlZnQoKSwgc3R5bGUpOwotI2lmIEVO
QUJMRShDU1NfU0NST0xMX1NOQVApCiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTY3JvbGxQYWRk
aW5nOgogICAgICAgICAgICAgcmV0dXJuIGdldENTU1Byb3BlcnR5VmFsdWVzRm9yNFNpZGVzU2hv
cnRoYW5kKHNjcm9sbFBhZGRpbmdTaG9ydGhhbmQoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVy
dHlTY3JvbGxQYWRkaW5nQm90dG9tOgpAQCAtMzgyMCw2ICszODE5LDcgQEAgUmVmUHRyPENTU1Zh
bHVlPiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvclByb3BlcnR5SW5TdHlsZShjb25z
dCBSZW5kZXJTdHkKICAgICAgICAgICAgIHJldHVybiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlRm9y
TGVuZ3RoKHN0eWxlLnNjcm9sbFBhZGRpbmdSaWdodCgpLCBzdHlsZSk7CiAgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlTY3JvbGxQYWRkaW5nTGVmdDoKICAgICAgICAgICAgIHJldHVybiB6b29tQWRq
dXN0ZWRQaXhlbFZhbHVlRm9yTGVuZ3RoKHN0eWxlLnNjcm9sbFBhZGRpbmdMZWZ0KCksIHN0eWxl
KTsKKyNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQogICAgICAgICBjYXNlIENTU1Byb3BlcnR5
U2Nyb2xsU25hcFR5cGU6CiAgICAgICAgICAgICByZXR1cm4gdmFsdWVGb3JTY3JvbGxTbmFwVHlw
ZShzdHlsZS5zY3JvbGxTbmFwVHlwZSgpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVNjcm9s
bFNuYXBBbGlnbjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVz
Lmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCmluZGV4IDAxZDI2
MGY0YjcxZTQ1MzA0Y2NmMjNmMWY2MjZlNTllOTM0NGQ5OWYuLmI5MTU4Mzk4NmRiN2IyZmMwZDA2
ZWNhZTNhZGQyY2RlNzFlYTRkOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0aWVzLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNv
bgpAQCAtNjYyOSw3ICs2NjI5LDYgQEAKICAgICAgICAgfSwKICAgICAgICAgInNjcm9sbC1wYWRk
aW5nIjogewogICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKLSAgICAgICAgICAg
ICAgICAiZW5hYmxlLWlmIjogIkVOQUJMRV9DU1NfU0NST0xMX1NOQVAiLAogICAgICAgICAgICAg
ICAgICJsb25naGFuZHMiOiBbCiAgICAgICAgICAgICAgICAgICAgICJzY3JvbGwtcGFkZGluZy10
b3AiLAogICAgICAgICAgICAgICAgICAgICAic2Nyb2xsLXBhZGRpbmctcmlnaHQiLApAQCAtNjY0
NCw3ICs2NjQzLDYgQEAKICAgICAgICAgfSwKICAgICAgICAgInNjcm9sbC1wYWRkaW5nLWJvdHRv
bSI6IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7Ci0gICAgICAgICAgICAg
ICAgImVuYWJsZS1pZiI6ICJFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQIiwKICAgICAgICAgICAgICAg
ICAiaW5pdGlhbCI6ICJpbml0aWFsU2Nyb2xsUGFkZGluZyIsCiAgICAgICAgICAgICAgICAgImNv
bnZlcnRlciI6ICJMZW5ndGgiCiAgICAgICAgICAgICB9LApAQCAtNjY1NSw3ICs2NjUzLDYgQEAK
ICAgICAgICAgfSwKICAgICAgICAgInNjcm9sbC1wYWRkaW5nLWxlZnQiOiB7CiAgICAgICAgICAg
ICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogewotICAgICAgICAgICAgICAgICJlbmFibGUtaWYiOiAi
RU5BQkxFX0NTU19TQ1JPTExfU05BUCIsCiAgICAgICAgICAgICAgICAgImluaXRpYWwiOiAiaW5p
dGlhbFNjcm9sbFBhZGRpbmciLAogICAgICAgICAgICAgICAgICJjb252ZXJ0ZXIiOiAiTGVuZ3Ro
IgogICAgICAgICAgICAgfSwKQEAgLTY2NjYsNyArNjY2Myw2IEBACiAgICAgICAgIH0sCiAgICAg
ICAgICJzY3JvbGwtcGFkZGluZy1yaWdodCI6IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3Bl
cnRpZXMiOiB7Ci0gICAgICAgICAgICAgICAgImVuYWJsZS1pZiI6ICJFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQIiwKICAgICAgICAgICAgICAgICAiaW5pdGlhbCI6ICJpbml0aWFsU2Nyb2xsUGFkZGlu
ZyIsCiAgICAgICAgICAgICAgICAgImNvbnZlcnRlciI6ICJMZW5ndGgiCiAgICAgICAgICAgICB9
LApAQCAtNjY3Nyw3ICs2NjczLDYgQEAKICAgICAgICAgfSwKICAgICAgICAgInNjcm9sbC1wYWRk
aW5nLXRvcCI6IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7Ci0gICAgICAg
ICAgICAgICAgImVuYWJsZS1pZiI6ICJFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQIiwKICAgICAgICAg
ICAgICAgICAiaW5pdGlhbCI6ICJpbml0aWFsU2Nyb2xsUGFkZGluZyIsCiAgICAgICAgICAgICAg
ICAgImNvbnZlcnRlciI6ICJMZW5ndGgiCiAgICAgICAgICAgICB9LApAQCAtNjY4OCw3ICs2Njgz
LDYgQEAKICAgICAgICAgfSwKICAgICAgICAgInNjcm9sbC1wYWRkaW5nLWlubGluZS1zdGFydCI6
IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7Ci0gICAgICAgICAgICAgICAg
ImVuYWJsZS1pZiI6ICJFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQIiwKICAgICAgICAgICAgICAgICAi
c2tpcC1jb2RlZ2VuIjogdHJ1ZQogICAgICAgICAgICAgfSwKICAgICAgICAgICAgICJzdGF0dXMi
OiB7CkBAIC02NzAxLDcgKzY2OTUsNiBAQAogICAgICAgICB9LAogICAgICAgICAic2Nyb2xsLXBh
ZGRpbmctYmxvY2stc3RhcnQiOiB7CiAgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjog
ewotICAgICAgICAgICAgICAgICJlbmFibGUtaWYiOiAiRU5BQkxFX0NTU19TQ1JPTExfU05BUCIs
CiAgICAgICAgICAgICAgICAgInNraXAtY29kZWdlbiI6IHRydWUKICAgICAgICAgICAgIH0sCiAg
ICAgICAgICAgICAic3RhdHVzIjogewpAQCAtNjcxNCw3ICs2NzA3LDYgQEAKICAgICAgICAgfSwK
ICAgICAgICAgInNjcm9sbC1wYWRkaW5nLWlubGluZS1lbmQiOiB7CiAgICAgICAgICAgICAiY29k
ZWdlbi1wcm9wZXJ0aWVzIjogewotICAgICAgICAgICAgICAgICJlbmFibGUtaWYiOiAiRU5BQkxF
X0NTU19TQ1JPTExfU05BUCIsCiAgICAgICAgICAgICAgICAgInNraXAtY29kZWdlbiI6IHRydWUK
ICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAic3RhdHVzIjogewpAQCAtNjcyNyw3ICs2NzE5
LDYgQEAKICAgICAgICAgfSwKICAgICAgICAgInNjcm9sbC1wYWRkaW5nLWJsb2NrLWVuZCI6IHsK
ICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7Ci0gICAgICAgICAgICAgICAgImVu
YWJsZS1pZiI6ICJFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQIiwKICAgICAgICAgICAgICAgICAic2tp
cC1jb2RlZ2VuIjogdHJ1ZQogICAgICAgICAgICAgfSwKICAgICAgICAgICAgICJzdGF0dXMiOiB7
CkBAIC02NzQ0LDcgKzY3MzUsNiBAQAogICAgICAgICAgICAgICAgICAgICAic2Nyb2xsLXBhZGRp
bmctYmxvY2stc3RhcnQiLAogICAgICAgICAgICAgICAgICAgICAic2Nyb2xsLXBhZGRpbmctYmxv
Y2stZW5kIgogICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImVuYWJsZS1pZiI6
ICJFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQIiwKICAgICAgICAgICAgICAgICAic2tpcC1jb2RlZ2Vu
IjogdHJ1ZQogICAgICAgICAgICAgfSwKICAgICAgICAgICAgICJzdGF0dXMiOiB7CkBAIC02NzYx
LDcgKzY3NTEsNiBAQAogICAgICAgICAgICAgICAgICAgICAic2Nyb2xsLXBhZGRpbmctaW5saW5l
LXN0YXJ0IiwKICAgICAgICAgICAgICAgICAgICAgInNjcm9sbC1wYWRkaW5nLWlubGluZS1lbmQi
CiAgICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZW5hYmxlLWlmIjogIkVOQUJM
RV9DU1NfU0NST0xMX1NOQVAiLAogICAgICAgICAgICAgICAgICJza2lwLWNvZGVnZW4iOiB0cnVl
CiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgInN0YXR1cyI6IHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUHJvcGVydGllcy5jcHAKaW5kZXggNGQ4ODdiNzg5MWYyNDdiYmNiZTJlMmY1ZGY2MGMx
ZjExMWI5OGRjZC4uNGQzZmYwM2U5MDYyMjE0ZTdlOWZmZTU4OGVjOTJiN2JmMGEzZGIwYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydGllcy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydGllcy5jcHAKQEAgLTI4NywxMCArMjg3LDggQEAg
U3RyaW5nIFN0eWxlUHJvcGVydGllczo6Z2V0UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eUlEIHBy
b3BlcnR5SUQpIGNvbnN0CiAgICAgICAgIHJldHVybiBnZXQyVmFsdWVzKGdhcFNob3J0aGFuZCgp
KTsKICAgICBjYXNlIENTU1Byb3BlcnR5U2Nyb2xsTWFyZ2luOgogICAgICAgICByZXR1cm4gZ2V0
NFZhbHVlcyhzY3JvbGxNYXJnaW5TaG9ydGhhbmQoKSk7Ci0jaWYgRU5BQkxFKENTU19TQ1JPTExf
U05BUCkKICAgICBjYXNlIENTU1Byb3BlcnR5U2Nyb2xsUGFkZGluZzoKICAgICAgICAgcmV0dXJu
IGdldDRWYWx1ZXMoc2Nyb2xsUGFkZGluZ1Nob3J0aGFuZCgpKTsKLSNlbmRpZgogICAgIGRlZmF1
bHQ6CiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKICAgICB9CkBAIC0xMTc0LDE0ICsxMTcyLDEy
IEBAIFN0cmluZyBTdHlsZVByb3BlcnRpZXM6OmFzVGV4dCgpIGNvbnN0CiAgICAgICAgICAgICBj
YXNlIENTU1Byb3BlcnR5U2Nyb2xsTWFyZ2luTGVmdDoKICAgICAgICAgICAgICAgICBzaG9ydGhh
bmRQcm9wZXJ0eUlEID0gQ1NTUHJvcGVydHlTY3JvbGxNYXJnaW47CiAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0jaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKICAgICAgICAgICAgIGNhc2UgQ1NT
UHJvcGVydHlTY3JvbGxQYWRkaW5nVG9wOgogICAgICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVNj
cm9sbFBhZGRpbmdSaWdodDoKICAgICAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTY3JvbGxQYWRk
aW5nQm90dG9tOgogICAgICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVNjcm9sbFBhZGRpbmdMZWZ0
OgogICAgICAgICAgICAgICAgIHNob3J0aGFuZFByb3BlcnR5SUQgPSBDU1NQcm9wZXJ0eVNjcm9s
bFBhZGRpbmc7CiAgICAgICAgICAgICAgICAgYnJlYWs7Ci0jZW5kaWYKICAgICAgICAgICAgIGNh
c2UgQ1NTUHJvcGVydHlUcmFuc2l0aW9uUHJvcGVydHk6CiAgICAgICAgICAgICBjYXNlIENTU1By
b3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uOgogICAgICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVRy
YW5zaXRpb25UaW1pbmdGdW5jdGlvbjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9w
YXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9D
U1NQcm9wZXJ0eVBhcnNlci5jcHAKaW5kZXggNWQ0YTcwNTVkYmViMTAwZDA3NzgxMTY2N2Y3YWVh
ZmNlYjNmMmIyOC4uMWZkZjJmMGJhYWYwODA2MGM0NzVjZTI0ZGVhMmVhNGUzNDc2Y2IyOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKQEAg
LTQxNjQsMTIgKzQxNjQsMTIgQEAgUmVmUHRyPENTU1ZhbHVlPiBDU1NQcm9wZXJ0eVBhcnNlcjo6
cGFyc2VTaW5nbGVWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5LCBDU1MKICAgICBjYXNlIENT
U1Byb3BlcnR5U2Nyb2xsTWFyZ2luUmlnaHQ6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVNjcm9sbE1h
cmdpblRvcDoKICAgICAgICAgcmV0dXJuIGNvbnN1bWVMZW5ndGgobV9yYW5nZSwgbV9jb250ZXh0
Lm1vZGUsIFZhbHVlUmFuZ2VBbGwpOwotI2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVApCiAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVNjcm9sbFBhZGRpbmdCb3R0b206CiAgICAgY2FzZSBDU1NQcm9wZXJ0
eVNjcm9sbFBhZGRpbmdMZWZ0OgogICAgIGNhc2UgQ1NTUHJvcGVydHlTY3JvbGxQYWRkaW5nUmln
aHQ6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVNjcm9sbFBhZGRpbmdUb3A6CiAgICAgICAgIHJldHVy
biBjb25zdW1lTGVuZ3RoT3JQZXJjZW50KG1fcmFuZ2UsIG1fY29udGV4dC5tb2RlLCBWYWx1ZVJh
bmdlQWxsKTsKKyNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQogICAgIGNhc2UgQ1NTUHJvcGVy
dHlTY3JvbGxTbmFwQWxpZ246CiAgICAgICAgIHJldHVybiBjb25zdW1lU2Nyb2xsU25hcEFsaWdu
KG1fcmFuZ2UpOwogICAgIGNhc2UgQ1NTUHJvcGVydHlTY3JvbGxTbmFwVHlwZToKQEAgLTU4NDYs
MTAgKzU4NDYsOCBAQCBib29sIENTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVNob3J0aGFuZChDU1NQ
cm9wZXJ0eUlEIHByb3BlcnR5LCBib29sIGltcG9ydGFudCkKICAgICAgICAgcmV0dXJuIGNvbnN1
bWUyVmFsdWVTaG9ydGhhbmQocGFkZGluZ0lubGluZVNob3J0aGFuZCgpLCBpbXBvcnRhbnQpOwog
ICAgIGNhc2UgQ1NTUHJvcGVydHlTY3JvbGxNYXJnaW46CiAgICAgICAgIHJldHVybiBjb25zdW1l
NFZhbHVlU2hvcnRoYW5kKHNjcm9sbE1hcmdpblNob3J0aGFuZCgpLCBpbXBvcnRhbnQpOwotI2lm
IEVOQUJMRShDU1NfU0NST0xMX1NOQVApCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVNjcm9sbFBhZGRp
bmc6CiAgICAgICAgIHJldHVybiBjb25zdW1lNFZhbHVlU2hvcnRoYW5kKHNjcm9sbFBhZGRpbmdT
aG9ydGhhbmQoKSwgaW1wb3J0YW50KTsKLSNlbmRpZgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJr
aXRUZXh0RW1waGFzaXM6CiAgICAgICAgIHJldHVybiBjb25zdW1lU2hvcnRoYW5kR3JlZWRpbHko
d2Via2l0VGV4dEVtcGhhc2lzU2hvcnRoYW5kKCksIGltcG9ydGFudCk7CiAgICAgY2FzZSBDU1NQ
cm9wZXJ0eU91dGxpbmU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApp
bmRleCAzYjMxMDU1MTM5ZWE2N2I4YmJmMTIyZWRjZWM2ZDNjYzI5YTUzM2M5Li5lNTI3MTg5NzJl
OWNiNGFjNzQ1ZDRhNDUxNTNlNjQ2ODc1ODViOGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAKQEAgLTU5OCw2ICs1OTgsMjAgQEAgc3RhdGljIGJvb2wgY2FuQ3Jl
YXRlU3RhY2tpbmdDb250ZXh0KGNvbnN0IFJlbmRlckxheWVyJiBsYXllcikKICAgICAgICAgfHwg
KHJlbmRlcmVyLnN0eWxlKCkud2lsbENoYW5nZSgpICYmIHJlbmRlcmVyLnN0eWxlKCkud2lsbENo
YW5nZSgpLT5jYW5DcmVhdGVTdGFja2luZ0NvbnRleHQoKSk7CiB9CiAKK3N0YXRpYyB2b2lkIGV4
cGFuZFNjcm9sbFJlY3RUb1Zpc2libGVUYXJnZXRSZWN0VG9JbmNsdWRlU2Nyb2xsUGFkZGluZyhS
ZW5kZXJCb3gqIHJlbmRlckJveCwgY29uc3QgTGF5b3V0UmVjdCYgdmlld1JlY3QsIExheW91dFJl
Y3QqIHRhcmdldFJlY3QpCit7CisgICAgaWYgKCFyZW5kZXJCb3gpCisgICAgICAgIHJldHVybjsK
KyAgICAvLyBzY3JvbGwtcGFkZGluZyBhcHBsaWVzIHRvIHRoZSBzY3JvbGwgY29udGFpbmVyLCBi
dXQgZXhwYW5kIHRoZSByZWN0YW5nbGUgdGhhdCB3ZSB3YW50IHRvIGV4cG9zZSBpbiBvcmRlcgor
ICAgIC8vIHNpbXVsYXRlIHBhZGRpbmcgdGhlIHNjcm9sbCBjb250YWluZXIuIFRoaXMgcmVjdGFu
Z2xlIGlzIHBhc3NlZCB1cCB0aGUgdHJlZSBvZiBzY3JvbGxpbmcgZWxlbWVudHMgdG8KKyAgICAv
LyBlbnN1cmUgdGhhdCB0aGUgcGFkZGluZyBvbiB0aGlzIHNjcm9sbCBjb250YWluZXIgaXMgbWFp
bnRhaW5lZC4KKyAgICBjb25zdCBhdXRvJiBzY3JvbGxQYWRkaW5nID0gcmVuZGVyQm94LT5zdHls
ZSgpLnNjcm9sbFBhZGRpbmcoKTsKKyAgICBMYXlvdXRCb3hFeHRlbnQgc2Nyb2xsUGFkZGluZ0V4
dGVudHMoCisgICAgICAgIHZhbHVlRm9yTGVuZ3RoKHNjcm9sbFBhZGRpbmcudG9wKCksIHZpZXdS
ZWN0LmhlaWdodCgpKSwgdmFsdWVGb3JMZW5ndGgoc2Nyb2xsUGFkZGluZy5yaWdodCgpLCB2aWV3
UmVjdC53aWR0aCgpKSwKKyAgICAgICAgdmFsdWVGb3JMZW5ndGgoc2Nyb2xsUGFkZGluZy5ib3R0
b20oKSwgdmlld1JlY3QuaGVpZ2h0KCkpLCB2YWx1ZUZvckxlbmd0aChzY3JvbGxQYWRkaW5nLmxl
ZnQoKSwgdmlld1JlY3Qud2lkdGgoKSkpOworICAgIHRhcmdldFJlY3QtPmV4cGFuZChzY3JvbGxQ
YWRkaW5nRXh0ZW50cyk7Cit9CisKIGJvb2wgUmVuZGVyTGF5ZXI6OnNob3VsZEJlTm9ybWFsRmxv
d09ubHkoKSBjb25zdAogewogICAgIGlmIChjYW5DcmVhdGVTdGFja2luZ0NvbnRleHQoKnRoaXMp
KQpAQCAtMjgwMyw2ICsyODE3LDEzIEBAIGJvb2wgUmVuZGVyTGF5ZXI6OmFsbG93c0N1cnJlbnRT
Y3JvbGwoKSBjb25zdAogICAgIHJldHVybiBib3gtPmhhc0hvcml6b250YWxPdmVyZmxvdygpIHx8
IGJveC0+aGFzVmVydGljYWxPdmVyZmxvdygpOwogfQogCitBbmltYXRlZFNjcm9sbCBSZW5kZXJM
YXllcjo6c2hvdWxkVXNlQW5pbWF0ZWRTY3JvbGxGb3JTY3JvbGxSZWN0VG9WaXNpYmxlKEVsZW1l
bnQqIGVsZW1lbnQsIFNjcm9sbEJlaGF2aW9yIGJlaGF2aW9yKQoreworICAgIGJvb2wgdXNlQW5p
bWF0ZWRTY3JvbGxpbmcgPSAhcmVuZGVyZXIoKS5mcmFtZSgpLmV2ZW50SGFuZGxlcigpLmF1dG9z
Y3JvbGxJblByb2dyZXNzKCkKKyAgICAgICAgJiYgZWxlbWVudCAmJiB1c2VTbW9vdGhTY3JvbGxp
bmcoYmVoYXZpb3IsIGVsZW1lbnQpOworICAgIHJldHVybiB1c2VBbmltYXRlZFNjcm9sbGluZyA/
IEFuaW1hdGVkU2Nyb2xsOjpZZXMgOiBBbmltYXRlZFNjcm9sbDo6Tm87Cit9CisKIHZvaWQgUmVu
ZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVS
ZWN0LCBib29sIGluc2lkZUZpeGVkLCBjb25zdCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9ucyYg
b3B0aW9ucykKIHsKICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIkxh
eWVyICIgPDwgdGhpcyA8PCAiIHNjcm9sbFJlY3RUb1Zpc2libGUgIiA8PCBhYnNvbHV0ZVJlY3Qp
OwpAQCAtMjgxMCw3ICsyODMxLDYgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlz
aWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICBMYXlv
dXRSZWN0IG5ld1JlY3QgPSBhYnNvbHV0ZVJlY3Q7CiAgICAgRnJhbWVWaWV3JiBmcmFtZVZpZXcg
PSByZW5kZXJlcigpLnZpZXcoKS5mcmFtZVZpZXcoKTsKICAgICBhdXRvKiBwYXJlbnRMYXllciA9
IGVuY2xvc2luZ0NvbnRhaW5pbmdCbG9ja0xheWVyKCp0aGlzLCBDcm9zc0ZyYW1lQm91bmRhcmll
czo6Tm8pOwotICAgIGJvb2wgYXV0b3Njcm9sbE5vdEluUHJvZ3Jlc3MgPSAhcmVuZGVyZXIoKS5m
cmFtZSgpLmV2ZW50SGFuZGxlcigpLmF1dG9zY3JvbGxJblByb2dyZXNzKCk7CiAKICAgICBpZiAo
YWxsb3dzQ3VycmVudFNjcm9sbCgpKSB7CiAgICAgICAgIC8vIERvbid0IHNjcm9sbCB0byByZXZl
YWwgYW4gb3ZlcmZsb3cgbGF5ZXIgdGhhdCBpcyByZXN0cmljdGVkIGJ5IHRoZSAtd2Via2l0LWxp
bmUtY2xhbXAgcHJvcGVydHkuCkBAIC0yODI5LDE0ICsyODQ5LDEzIEBAIHZvaWQgUmVuZGVyTGF5
ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBi
b29sIGluc2lkCiAgICAgICAgICAgICBsb2NhbEV4cG9zZVJlY3QubW92ZUJ5KExheW91dFBvaW50
KC12ZXJ0aWNhbFNjcm9sbGJhcldpZHRoKCksIDApKTsKICAgICAgICAgfQogICAgICAgICBMYXlv
dXRSZWN0IGxheWVyQm91bmRzKDBfbHUsIDBfbHUsIGJveC0+Y2xpZW50V2lkdGgoKSwgYm94LT5j
bGllbnRIZWlnaHQoKSk7CisgICAgICAgIGV4cGFuZFNjcm9sbFJlY3RUb1Zpc2libGVUYXJnZXRS
ZWN0VG9JbmNsdWRlU2Nyb2xsUGFkZGluZyhib3gsIGxheWVyQm91bmRzLCAmbG9jYWxFeHBvc2VS
ZWN0KTsKICAgICAgICAgTGF5b3V0UmVjdCByZXZlYWxSZWN0ID0gZ2V0UmVjdFRvRXhwb3NlKGxh
eWVyQm91bmRzLCBsb2NhbEV4cG9zZVJlY3QsIGluc2lkZUZpeGVkLCBvcHRpb25zLmFsaWduWCwg
b3B0aW9ucy5hbGlnblkpOwogCiAgICAgICAgIFNjcm9sbE9mZnNldCBjbGFtcGVkU2Nyb2xsT2Zm
c2V0ID0gY2xhbXBTY3JvbGxPZmZzZXQoc2Nyb2xsT2Zmc2V0KCkgKyB0b0ludFNpemUocm91bmRl
ZEludFJlY3QocmV2ZWFsUmVjdCkubG9jYXRpb24oKSkpOwogICAgICAgICBpZiAoY2xhbXBlZFNj
cm9sbE9mZnNldCAhPSBzY3JvbGxPZmZzZXQoKSB8fCBjdXJyZW50U2Nyb2xsQmVoYXZpb3JTdGF0
dXMoKSAhPSBTY3JvbGxCZWhhdmlvclN0YXR1czo6Tm90SW5BbmltYXRpb24pIHsKICAgICAgICAg
ICAgIFNjcm9sbE9mZnNldCBvbGRTY3JvbGxPZmZzZXQgPSBzY3JvbGxPZmZzZXQoKTsKLSAgICAg
ICAgICAgIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6Ok5vOwotICAg
ICAgICAgICAgaWYgKGF1dG9zY3JvbGxOb3RJblByb2dyZXNzICYmIHVzZVNtb290aFNjcm9sbGlu
ZyhvcHRpb25zLmJlaGF2aW9yLCBib3gtPmVsZW1lbnQoKSkpCi0gICAgICAgICAgICAgICAgYW5p
bWF0ZWQgPSBBbmltYXRlZFNjcm9sbDo6WWVzOworICAgICAgICAgICAgQW5pbWF0ZWRTY3JvbGwg
YW5pbWF0ZWQgPSB0aGlzLT5zaG91bGRVc2VBbmltYXRlZFNjcm9sbEZvclNjcm9sbFJlY3RUb1Zp
c2libGUoYm94LT5lbGVtZW50KCksIG9wdGlvbnMuYmVoYXZpb3IpOwogICAgICAgICAgICAgc2V0
U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KGNsYW1wZWRTY3JvbGxPZmZz
ZXQpLCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBh
bmltYXRlZCk7CiAgICAgICAgICAgICBJbnRTaXplIHNjcm9sbE9mZnNldERpZmZlcmVuY2UgPSBj
bGFtcGVkU2Nyb2xsT2Zmc2V0IC0gb2xkU2Nyb2xsT2Zmc2V0OwogICAgICAgICAgICAgbG9jYWxF
eHBvc2VSZWN0Lm1vdmUoLXNjcm9sbE9mZnNldERpZmZlcmVuY2UpOwpAQCAtMjg1NiwxOCArMjg3
NSwxOSBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91
dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgICAgIFNjcmlwdERp
c2FsbG93ZWRTY29wZTo6SW5NYWluVGhyZWFkIHNjcmlwdERpc2FsbG93ZWRTY29wZTsKIAogICAg
ICAgICAgICAgICAgIExheW91dFJlY3Qgdmlld1JlY3QgPSBmcmFtZVZpZXcudmlzaWJsZUNvbnRl
bnRSZWN0KExlZ2FjeUlPU0RvY3VtZW50VmlzaWJsZVJlY3QpOwotICAgICAgICAgICAgICAgIExh
eW91dFJlY3QgZXhwb3NlUmVjdCA9IGdldFJlY3RUb0V4cG9zZSh2aWV3UmVjdCwgYWJzb2x1dGVS
ZWN0LCBpbnNpZGVGaXhlZCwgb3B0aW9ucy5hbGlnblgsIG9wdGlvbnMuYWxpZ25ZKTsKKworICAg
ICAgICAgICAgICAgIGF1dG8qIGVsZW1lbnQgPSBvd25lckVsZW1lbnQtPmNvbnRlbnREb2N1bWVu
dCgpID8gb3duZXJFbGVtZW50LT5jb250ZW50RG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCkg
OiBudWxscHRyOworICAgICAgICAgICAgICAgIFJlbmRlckJveCogcmVuZGVyZXIgPSBlbGVtZW50
ID8gZWxlbWVudC0+cmVuZGVyQm94KCkgOiBudWxscHRyOworICAgICAgICAgICAgICAgIGV4cGFu
ZFNjcm9sbFJlY3RUb1Zpc2libGVUYXJnZXRSZWN0VG9JbmNsdWRlU2Nyb2xsUGFkZGluZyhyZW5k
ZXJlciwgdmlld1JlY3QsICZuZXdSZWN0KTsKKworICAgICAgICAgICAgICAgIExheW91dFJlY3Qg
ZXhwb3NlUmVjdCA9IGdldFJlY3RUb0V4cG9zZSh2aWV3UmVjdCwgbmV3UmVjdCwgaW5zaWRlRml4
ZWQsIG9wdGlvbnMuYWxpZ25YLCBvcHRpb25zLmFsaWduWSk7CiAKICAgICAgICAgICAgICAgICBJ
bnRQb2ludCBzY3JvbGxQb3NpdGlvbihyb3VuZGVkSW50UG9pbnQoZXhwb3NlUmVjdC5sb2NhdGlv
bigpKSk7CiAgICAgICAgICAgICAgICAgLy8gQWRqdXN0IG9mZnNldHMgaWYgdGhleSdyZSBvdXRz
aWRlIG9mIHRoZSBhbGxvd2FibGUgcmFuZ2UuCiAgICAgICAgICAgICAgICAgc2Nyb2xsUG9zaXRp
b24gPSBzY3JvbGxQb3NpdGlvbi5jb25zdHJhaW5lZEJldHdlZW4oSW50UG9pbnQoKSwgSW50UG9p
bnQoZnJhbWVWaWV3LmNvbnRlbnRzU2l6ZSgpKSk7CiAgICAgICAgICAgICAgICAgLy8gRklYTUU6
IFNob3VsZCB3ZSB1c2UgY29udGVudERvY3VtZW50KCktPnNjcm9sbGluZ0VsZW1lbnQoKT8KICAg
ICAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwNTA1OQotICAgICAgICAgICAgICAgIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkID0gQW5p
bWF0ZWRTY3JvbGw6Ok5vOwotICAgICAgICAgICAgICAgIGlmIChhdXRvc2Nyb2xsTm90SW5Qcm9n
cmVzcwotICAgICAgICAgICAgICAgICAgICAmJiBvd25lckVsZW1lbnQtPmNvbnRlbnREb2N1bWVu
dCgpCi0gICAgICAgICAgICAgICAgICAgICYmIHVzZVNtb290aFNjcm9sbGluZyhvcHRpb25zLmJl
aGF2aW9yLCBvd25lckVsZW1lbnQtPmNvbnRlbnREb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQo
KSkpCi0gICAgICAgICAgICAgICAgICAgIGFuaW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6OlllczsK
KyAgICAgICAgICAgICAgICBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IHRoaXMtPnNob3VsZFVz
ZUFuaW1hdGVkU2Nyb2xsRm9yU2Nyb2xsUmVjdFRvVmlzaWJsZShlbGVtZW50LCBvcHRpb25zLmJl
aGF2aW9yKTsKICAgICAgICAgICAgICAgICBmcmFtZVZpZXcuc2V0U2Nyb2xsUG9zaXRpb24oc2Ny
b2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CiAKICAgICAg
ICAgICAgICAgICBpZiAob3B0aW9ucy5zaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nID09
IFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6OlllcyB8fCBmcmFtZVZpZXcuc2FmZVRv
UHJvcGFnYXRlU2Nyb2xsVG9QYXJlbnQoKSkgewpAQCAtMjkwNCwxNSArMjkyNCwxNyBAQCB2b2lk
IFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29s
dXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgTGF5b3V0UmVjdCB0YXJnZXRSZWN0ID0g
YWJzb2x1dGVSZWN0OwogICAgICAgICAgICAgdGFyZ2V0UmVjdC5tb3ZlKDAsIGZyYW1lVmlldy5o
ZWFkZXJIZWlnaHQoKSk7CiAKKyAgICAgICAgICAgIGF1dG8qIGVsZW1lbnQgPSBmcmFtZVZpZXcu
ZnJhbWUoKS5kb2N1bWVudCgpID8gZnJhbWVWaWV3LmZyYW1lKCkuZG9jdW1lbnQoKS0+ZG9jdW1l
bnRFbGVtZW50KCkgOiBudWxscHRyOworICAgICAgICAgICAgUmVuZGVyQm94KiByZW5kZXJlciA9
IGVsZW1lbnQgPyBlbGVtZW50LT5yZW5kZXJCb3goKSA6IG51bGxwdHI7CisgICAgICAgICAgICBl
eHBhbmRTY3JvbGxSZWN0VG9WaXNpYmxlVGFyZ2V0UmVjdFRvSW5jbHVkZVNjcm9sbFBhZGRpbmco
cmVuZGVyZXIsIHZpZXdSZWN0LCAmdGFyZ2V0UmVjdCk7CisKICAgICAgICAgICAgIExheW91dFJl
Y3QgcmV2ZWFsUmVjdCA9IGdldFJlY3RUb0V4cG9zZSh2aWV3UmVjdCwgdGFyZ2V0UmVjdCwgaW5z
aWRlRml4ZWQsIG9wdGlvbnMuYWxpZ25YLCBvcHRpb25zLmFsaWduWSk7CiAgICAgICAgICAgICAv
LyBBdm9pZCBzY3JvbGxpbmcgdG8gdGhlIHJvdW5kZWQgdmFsdWUgb2YgcmV2ZWFsUmVjdC5sb2Nh
dGlvbigpIGlmIHdlIGRvbid0IGFjdHVhbGx5IG5lZWQgdG8gc2Nyb2xsCiAgICAgICAgICAgICBp
ZiAocmV2ZWFsUmVjdCAhPSB2aWV3UmVjdCkgewogICAgICAgICAgICAgICAgIFNjcm9sbE9mZnNl
dCBjbGFtcGVkU2Nyb2xsUG9zaXRpb24gPSByb3VuZGVkSW50UG9pbnQocmV2ZWFsUmVjdC5sb2Nh
dGlvbigpKS5jb25zdHJhaW5lZEJldHdlZW4obWluU2Nyb2xsUG9zaXRpb24sIG1heFNjcm9sbFBv
c2l0aW9uKTsKICAgICAgICAgICAgICAgICAvLyBGSVhNRTogU2hvdWxkIHdlIHVzZSBkb2N1bWVu
dCgpLT5zY3JvbGxpbmdFbGVtZW50KCk/CiAgICAgICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUwNTkKLSAgICAgICAgICAgICAgICBB
bmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IEFuaW1hdGVkU2Nyb2xsOjpObzsKLSAgICAgICAgICAg
ICAgICBpZiAoYXV0b3Njcm9sbE5vdEluUHJvZ3Jlc3MgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9w
dGlvbnMuYmVoYXZpb3IsIHJlbmRlcmVyKCkuZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSkp
Ci0gICAgICAgICAgICAgICAgICAgIGFuaW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6OlllczsKKyAg
ICAgICAgICAgICAgICBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IHRoaXMtPnNob3VsZFVzZUFu
aW1hdGVkU2Nyb2xsRm9yU2Nyb2xsUmVjdFRvVmlzaWJsZShlbGVtZW50LCBvcHRpb25zLmJlaGF2
aW9yKTsKICAgICAgICAgICAgICAgICBmcmFtZVZpZXcuc2V0U2Nyb2xsUG9zaXRpb24oY2xhbXBl
ZFNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOwogICAg
ICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IGZk
ZmYyZWZkZmViMTNmYzA3Njk5Njc1MmU4MjA2MmY1OGRkMTcxY2YuLjczNmQyZGMzNGUzMDE1NDM0
ODZiYWUxMWQ0ZThkNzAxOTcwYTYwYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5oCkBAIC0xMjI4LDkgKzEyMjgsMTAgQEAgcHJpdmF0ZToKICAgICAgICAgfQogICAgIH07
CiAgICAgT3ZlcmZsb3dDb250cm9sUmVjdHMgb3ZlcmZsb3dDb250cm9sc1JlY3RzKCkgY29uc3Q7
Ci0KICAgICBib29sIG92ZXJmbG93Q29udHJvbHNJbnRlcnNlY3RSZWN0KGNvbnN0IEludFJlY3Qm
IGxvY2FsUmVjdCkgY29uc3Q7CiAKKyAgICBBbmltYXRlZFNjcm9sbCBzaG91bGRVc2VBbmltYXRl
ZFNjcm9sbEZvclNjcm9sbFJlY3RUb1Zpc2libGUoRWxlbWVudCosIFNjcm9sbEJlaGF2aW9yKTsK
KwogICAgIE9wdGlvblNldDxDb21wb3NpdGluZz4gbV9jb21wb3NpdGluZ0RpcnR5Qml0czsKIAog
ICAgIGNvbnN0IGJvb2wgbV9pc1JlbmRlclZpZXdMYXllciA6IDE7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAKaW5kZXggZmM2ZDhm
MzM4ZmNhNzM3YjUxOWUzZWRhMmEwYjk3YTM4MmUzNmRjOC4uMDUyYTljNzVlNjM1NTZhM2VlYWJi
ZmRmMWMyMjFiZTNjMTNiNGNhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcApAQCAtMTIyLDcgKzEyMiw3IEBAIHZvaWQgUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdDo6c3R5bGVXaWxsQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZm
LCBjb25zdCBSZW5kZXJTCiAjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKIHN0YXRpYyBib29s
IHNjcm9sbFNuYXBDb250YWluZXJSZXF1aXJlc1VwZGF0ZUZvclN0eWxlVXBkYXRlKGNvbnN0IFJl
bmRlclN0eWxlJiBvbGRTdHlsZSwgY29uc3QgUmVuZGVyU3R5bGUmIG5ld1N0eWxlKQogewotICAg
IHJldHVybiBvbGRTdHlsZS5zY3JvbGxTbmFwUG9ydCgpICE9IG5ld1N0eWxlLnNjcm9sbFNuYXBQ
b3J0KCk7CisgICAgcmV0dXJuIG9sZFN0eWxlLnNjcm9sbFBhZGRpbmcoKSAhPSBuZXdTdHlsZS5z
Y3JvbGxQYWRkaW5nKCkgfHwgb2xkU3R5bGUuc2Nyb2xsU25hcFR5cGUoKSAhPSBuZXdTdHlsZS5z
Y3JvbGxTbmFwVHlwZSgpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCmluZGV4IGUwOWNkMzFjMDQxODIwMDZlNWNkOGYyNjI0
YzQ4NzVhYzY5NWM3MDAuLjZkZDRhZTA2ZmEyNTU2NGUyNGUzMGRlMzEzNWFiM2MzY2ZkNTlmZWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcApA
QCAtMjQzOSwzMSArMjQzOSw5IEBAIHZvaWQgUmVuZGVyU3R5bGU6OnNldFNjcm9sbE1hcmdpblJp
Z2h0KExlbmd0aCYmIGxlbmd0aCkKICAgICBTRVRfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEs
IHNjcm9sbE1hcmdpbi5yaWdodCgpLCBXVEZNb3ZlKGxlbmd0aCkpOwogfQogCi0jaWYgRU5BQkxF
KENTU19TQ1JPTExfU05BUCkKLQotU2Nyb2xsU25hcFR5cGUgUmVuZGVyU3R5bGU6OmluaXRpYWxT
Y3JvbGxTbmFwVHlwZSgpCi17Ci0gICAgcmV0dXJuIHsgfTsKLX0KLQotU2Nyb2xsU25hcEFsaWdu
IFJlbmRlclN0eWxlOjppbml0aWFsU2Nyb2xsU25hcEFsaWduKCkKLXsKLSAgICByZXR1cm4geyB9
OwotfQotCi1jb25zdCBTdHlsZVNjcm9sbFNuYXBQb3J0JiBSZW5kZXJTdHlsZTo6c2Nyb2xsU25h
cFBvcnQoKSBjb25zdAotewotICAgIHJldHVybiAqbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+c2Ny
b2xsU25hcFBvcnQ7Ci19Ci0KLWNvbnN0IFNjcm9sbFNuYXBUeXBlJiBSZW5kZXJTdHlsZTo6c2Ny
b2xsU25hcFR5cGUoKSBjb25zdAotewotICAgIHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRh
LT5zY3JvbGxTbmFwUG9ydC0+dHlwZTsKLX0KLQogY29uc3QgTGVuZ3RoQm94JiBSZW5kZXJTdHls
ZTo6c2Nyb2xsUGFkZGluZygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRl
ZERhdGEtPnNjcm9sbFNuYXBQb3J0LT5zY3JvbGxQYWRkaW5nOworICAgIHJldHVybiBtX3JhcmVO
b25Jbmhlcml0ZWREYXRhLT5zY3JvbGxQYWRkaW5nOwogfQogCiBjb25zdCBMZW5ndGgmIFJlbmRl
clN0eWxlOjpzY3JvbGxQYWRkaW5nVG9wKCkgY29uc3QKQEAgLTI0ODYsMzQgKzI0NjQsNTAgQEAg
Y29uc3QgTGVuZ3RoJiBSZW5kZXJTdHlsZTo6c2Nyb2xsUGFkZGluZ1JpZ2h0KCkgY29uc3QKICAg
ICByZXR1cm4gc2Nyb2xsUGFkZGluZygpLnJpZ2h0KCk7CiB9CiAKLWNvbnN0IFNjcm9sbFNuYXBB
bGlnbiYgUmVuZGVyU3R5bGU6OnNjcm9sbFNuYXBBbGlnbigpIGNvbnN0Cit2b2lkIFJlbmRlclN0
eWxlOjpzZXRTY3JvbGxQYWRkaW5nVG9wKExlbmd0aCYmIGxlbmd0aCkKIHsKLSAgICByZXR1cm4g
bV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+c2Nyb2xsU25hcEFsaWduOworICAgIFNFVF9WQVIobV9y
YXJlTm9uSW5oZXJpdGVkRGF0YSwgc2Nyb2xsUGFkZGluZy50b3AoKSwgV1RGTW92ZShsZW5ndGgp
KTsKIH0KIAotdm9pZCBSZW5kZXJTdHlsZTo6c2V0U2Nyb2xsU25hcFR5cGUoY29uc3QgU2Nyb2xs
U25hcFR5cGUmIHR5cGUpCit2b2lkIFJlbmRlclN0eWxlOjpzZXRTY3JvbGxQYWRkaW5nQm90dG9t
KExlbmd0aCYmIGxlbmd0aCkKIHsKLSAgICBTRVRfTkVTVEVEX1ZBUihtX3JhcmVOb25Jbmhlcml0
ZWREYXRhLCBzY3JvbGxTbmFwUG9ydCwgdHlwZSwgdHlwZSk7CisgICAgU0VUX1ZBUihtX3JhcmVO
b25Jbmhlcml0ZWREYXRhLCBzY3JvbGxQYWRkaW5nLmJvdHRvbSgpLCBXVEZNb3ZlKGxlbmd0aCkp
OwogfQogCi12b2lkIFJlbmRlclN0eWxlOjpzZXRTY3JvbGxQYWRkaW5nVG9wKExlbmd0aCYmIGxl
bmd0aCkKK3ZvaWQgUmVuZGVyU3R5bGU6OnNldFNjcm9sbFBhZGRpbmdMZWZ0KExlbmd0aCYmIGxl
bmd0aCkKIHsKLSAgICBTRVRfTkVTVEVEX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBzY3Jv
bGxTbmFwUG9ydCwgc2Nyb2xsUGFkZGluZy50b3AoKSwgV1RGTW92ZShsZW5ndGgpKTsKKyAgICBT
RVRfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEsIHNjcm9sbFBhZGRpbmcubGVmdCgpLCBXVEZN
b3ZlKGxlbmd0aCkpOwogfQogCi12b2lkIFJlbmRlclN0eWxlOjpzZXRTY3JvbGxQYWRkaW5nQm90
dG9tKExlbmd0aCYmIGxlbmd0aCkKK3ZvaWQgUmVuZGVyU3R5bGU6OnNldFNjcm9sbFBhZGRpbmdS
aWdodChMZW5ndGgmJiBsZW5ndGgpCiB7Ci0gICAgU0VUX05FU1RFRF9WQVIobV9yYXJlTm9uSW5o
ZXJpdGVkRGF0YSwgc2Nyb2xsU25hcFBvcnQsIHNjcm9sbFBhZGRpbmcuYm90dG9tKCksIFdURk1v
dmUobGVuZ3RoKSk7CisgICAgU0VUX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBzY3JvbGxQ
YWRkaW5nLnJpZ2h0KCksIFdURk1vdmUobGVuZ3RoKSk7CiB9CisjaWYgRU5BQkxFKENTU19TQ1JP
TExfU05BUCkKIAotdm9pZCBSZW5kZXJTdHlsZTo6c2V0U2Nyb2xsUGFkZGluZ0xlZnQoTGVuZ3Ro
JiYgbGVuZ3RoKQorU2Nyb2xsU25hcFR5cGUgUmVuZGVyU3R5bGU6OmluaXRpYWxTY3JvbGxTbmFw
VHlwZSgpCiB7Ci0gICAgU0VUX05FU1RFRF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgc2Ny
b2xsU25hcFBvcnQsIHNjcm9sbFBhZGRpbmcubGVmdCgpLCBXVEZNb3ZlKGxlbmd0aCkpOworICAg
IHJldHVybiB7IH07CiB9CiAKLXZvaWQgUmVuZGVyU3R5bGU6OnNldFNjcm9sbFBhZGRpbmdSaWdo
dChMZW5ndGgmJiBsZW5ndGgpCitTY3JvbGxTbmFwQWxpZ24gUmVuZGVyU3R5bGU6OmluaXRpYWxT
Y3JvbGxTbmFwQWxpZ24oKQoreworICAgIHJldHVybiB7IH07Cit9CisKK2NvbnN0IFNjcm9sbFNu
YXBUeXBlJiBSZW5kZXJTdHlsZTo6c2Nyb2xsU25hcFR5cGUoKSBjb25zdAoreworICAgIHJldHVy
biBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5zY3JvbGxTbmFwVHlwZTsKK30KKworY29uc3QgU2Ny
b2xsU25hcEFsaWduJiBSZW5kZXJTdHlsZTo6c2Nyb2xsU25hcEFsaWduKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+c2Nyb2xsU25hcEFsaWduOworfQorCit2
b2lkIFJlbmRlclN0eWxlOjpzZXRTY3JvbGxTbmFwVHlwZShjb25zdCBTY3JvbGxTbmFwVHlwZSYg
dHlwZSkKIHsKLSAgICBTRVRfTkVTVEVEX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBzY3Jv
bGxTbmFwUG9ydCwgc2Nyb2xsUGFkZGluZy5yaWdodCgpLCBXVEZNb3ZlKGxlbmd0aCkpOworICAg
IFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgc2Nyb2xsU25hcFR5cGUsIHR5cGUpOwog
fQogCiB2b2lkIFJlbmRlclN0eWxlOjpzZXRTY3JvbGxTbmFwQWxpZ24oY29uc3QgU2Nyb2xsU25h
cEFsaWduJiBhbGlnbm1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5oCmluZGV4IGE1OWRjZTg3MjA3YWJiMTU1ODA0ODg4NjUyMTEwOGM4OWNjYWViZWEu
LjczNWM0OTQ0M2RhOTMzMzQ2YjJhZjllZTJjYmEyZWVkZTJkNzEwN2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0xMTcsNyArMTE3LDYgQEAg
Y2xhc3MgU2hhZG93RGF0YTsKIGNsYXNzIFN0eWxlSW1hZ2U7CiBjbGFzcyBTdHlsZUluaGVyaXRl
ZERhdGE7CiBjbGFzcyBTdHlsZVNjcm9sbFNuYXBBcmVhOwotY2xhc3MgU3R5bGVTY3JvbGxTbmFw
UG9ydDsKIGNsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4OwogCiBzdHJ1Y3QgU2Nyb2xsU25hcEFs
aWduOwpAQCAtNzI1LDE4ICs3MjQsMTUgQEAgcHVibGljOgogICAgIGNvbnN0IExlbmd0aCYgc2Ny
b2xsTWFyZ2luTGVmdCgpIGNvbnN0OwogICAgIGNvbnN0IExlbmd0aCYgc2Nyb2xsTWFyZ2luUmln
aHQoKSBjb25zdDsKIAotI2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVApCi0gICAgYm9vbCBoYXNT
bmFwUG9zaXRpb24oKSBjb25zdDsKLQotICAgIC8vIFNjcm9sbCBzbmFwIHBvcnQgc3R5bGUuCi0g
ICAgY29uc3QgU3R5bGVTY3JvbGxTbmFwUG9ydCYgc2Nyb2xsU25hcFBvcnQoKSBjb25zdDsKLSAg
ICBjb25zdCBTY3JvbGxTbmFwVHlwZSYgc2Nyb2xsU25hcFR5cGUoKSBjb25zdDsKICAgICBjb25z
dCBMZW5ndGhCb3gmIHNjcm9sbFBhZGRpbmcoKSBjb25zdDsKICAgICBjb25zdCBMZW5ndGgmIHNj
cm9sbFBhZGRpbmdUb3AoKSBjb25zdDsKICAgICBjb25zdCBMZW5ndGgmIHNjcm9sbFBhZGRpbmdC
b3R0b20oKSBjb25zdDsKICAgICBjb25zdCBMZW5ndGgmIHNjcm9sbFBhZGRpbmdMZWZ0KCkgY29u
c3Q7CiAgICAgY29uc3QgTGVuZ3RoJiBzY3JvbGxQYWRkaW5nUmlnaHQoKSBjb25zdDsKIAorI2lm
IEVOQUJMRShDU1NfU0NST0xMX1NOQVApCisgICAgYm9vbCBoYXNTbmFwUG9zaXRpb24oKSBjb25z
dDsKKyAgICBjb25zdCBTY3JvbGxTbmFwVHlwZSYgc2Nyb2xsU25hcFR5cGUoKSBjb25zdDsKICAg
ICBjb25zdCBTY3JvbGxTbmFwQWxpZ24mIHNjcm9sbFNuYXBBbGlnbigpIGNvbnN0OwogI2VuZGlm
CiAKQEAgLTEyNzAsMTMgKzEyNjYsMTMgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U2Nyb2xsTWFy
Z2luTGVmdChMZW5ndGgmJik7CiAgICAgdm9pZCBzZXRTY3JvbGxNYXJnaW5SaWdodChMZW5ndGgm
Jik7CiAKLSNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQotICAgIHZvaWQgc2V0U2Nyb2xsU25h
cFR5cGUoY29uc3QgU2Nyb2xsU25hcFR5cGUmKTsKICAgICB2b2lkIHNldFNjcm9sbFBhZGRpbmdU
b3AoTGVuZ3RoJiYpOwogICAgIHZvaWQgc2V0U2Nyb2xsUGFkZGluZ0JvdHRvbShMZW5ndGgmJik7
CiAgICAgdm9pZCBzZXRTY3JvbGxQYWRkaW5nTGVmdChMZW5ndGgmJik7CiAgICAgdm9pZCBzZXRT
Y3JvbGxQYWRkaW5nUmlnaHQoTGVuZ3RoJiYpOwogCisjaWYgRU5BQkxFKENTU19TQ1JPTExfU05B
UCkKKyAgICB2b2lkIHNldFNjcm9sbFNuYXBUeXBlKGNvbnN0IFNjcm9sbFNuYXBUeXBlJik7CiAg
ICAgdm9pZCBzZXRTY3JvbGxTbmFwQWxpZ24oY29uc3QgU2Nyb2xsU25hcEFsaWduJik7CiAjZW5k
aWYKIApAQCAtMTY3NiwxMSArMTY3MiwxMSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFRvdWNoQWN0
aW9uIGluaXRpYWxUb3VjaEFjdGlvbnMoKSB7IHJldHVybiBUb3VjaEFjdGlvbjo6QXV0bzsgfQog
CiAgICAgc3RhdGljIExlbmd0aCBpbml0aWFsU2Nyb2xsTWFyZ2luKCkgeyByZXR1cm4gTGVuZ3Ro
KEZpeGVkKTsgfQorICAgIHN0YXRpYyBMZW5ndGggaW5pdGlhbFNjcm9sbFBhZGRpbmcoKSB7IHJl
dHVybiBMZW5ndGgoRml4ZWQpOyB9CiAKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQogICAg
IHN0YXRpYyBTY3JvbGxTbmFwVHlwZSBpbml0aWFsU2Nyb2xsU25hcFR5cGUoKTsKICAgICBzdGF0
aWMgU2Nyb2xsU25hcEFsaWduIGluaXRpYWxTY3JvbGxTbmFwQWxpZ24oKTsKLSAgICBzdGF0aWMg
TGVuZ3RoIGluaXRpYWxTY3JvbGxQYWRkaW5nKCkgeyByZXR1cm4gTGVuZ3RoKEZpeGVkKTsgfQog
I2VuZGlmCiAKICNpZiBFTkFCTEUoQ1NTX1RSQUlMSU5HX1dPUkQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0
YS5jcHAKaW5kZXggMWJiYzYxOTkyNjU2YWFmNzRjNjExMTExMDJmNjU5ODE5NzUwMGU2MC4uNDUx
NTJlZmVkOGZmN2FlNzQ2MWFkMDgxYmJiYjE0NDIyNGU3ZTdhOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWRE
YXRhLmNwcApAQCAtNTksOSArNTksNiBAQCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpTdHls
ZVJhcmVOb25Jbmhlcml0ZWREYXRhKCkKICNlbmRpZgogICAgICwgZ3JpZChTdHlsZUdyaWREYXRh
OjpjcmVhdGUoKSkKICAgICAsIGdyaWRJdGVtKFN0eWxlR3JpZEl0ZW1EYXRhOjpjcmVhdGUoKSkK
LSNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQotICAgICwgc2Nyb2xsU25hcFBvcnQoU3R5bGVT
Y3JvbGxTbmFwUG9ydDo6Y3JlYXRlKCkpCi0jZW5kaWYKICAgICAsIHdpbGxDaGFuZ2UoUmVuZGVy
U3R5bGU6OmluaXRpYWxXaWxsQ2hhbmdlKCkpCiAgICAgLCBtYXNrKEZpbGxMYXllcjo6Y3JlYXRl
KEZpbGxMYXllclR5cGU6Ok1hc2spKQogICAgICwgbWFza0JveEltYWdlKE5pbmVQaWVjZUltYWdl
OjpUeXBlOjpNYXNrKQpAQCAtMTM4LDggKzEzNSw5IEBAIGlubGluZSBTdHlsZVJhcmVOb25Jbmhl
cml0ZWREYXRhOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKGNvbnN0IFN0eWxlUmFyZU5vbklu
CiAgICAgLCBncmlkKG8uZ3JpZCkKICAgICAsIGdyaWRJdGVtKG8uZ3JpZEl0ZW0pCiAgICAgLCBz
Y3JvbGxNYXJnaW4oby5zY3JvbGxNYXJnaW4pCisgICAgLCBzY3JvbGxQYWRkaW5nKG8uc2Nyb2xs
UGFkZGluZykKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQotICAgICwgc2Nyb2xsU25hcFBv
cnQoby5zY3JvbGxTbmFwUG9ydCkKKyAgICAsIHNjcm9sbFNuYXBUeXBlKG8uc2Nyb2xsU25hcFR5
cGUpCiAgICAgLCBzY3JvbGxTbmFwQWxpZ24oby5zY3JvbGxTbmFwQWxpZ24pCiAjZW5kaWYKICAg
ICAsIGNvbnRlbnQoby5jb250ZW50ID8gby5jb250ZW50LT5jbG9uZSgpIDogbnVsbHB0cikKQEAg
LTI0MSw4ICsyMzksOSBAQCBib29sIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6Om9wZXJhdG9y
PT0oY29uc3QgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSYgbykgYwogICAgICAgICAmJiBncmlk
ID09IG8uZ3JpZAogICAgICAgICAmJiBncmlkSXRlbSA9PSBvLmdyaWRJdGVtCiAgICAgICAgICYm
IHNjcm9sbE1hcmdpbiA9PSBvLnNjcm9sbE1hcmdpbgorICAgICAgICAmJiBzY3JvbGxQYWRkaW5n
ID09IG8uc2Nyb2xsUGFkZGluZwogI2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVApCi0gICAgICAg
ICYmIHNjcm9sbFNuYXBQb3J0ID09IG8uc2Nyb2xsU25hcFBvcnQKKyAgICAgICAgJiYgc2Nyb2xs
U25hcFR5cGUgPT0gby5zY3JvbGxTbmFwVHlwZQogICAgICAgICAmJiBzY3JvbGxTbmFwQWxpZ24g
PT0gby5zY3JvbGxTbmFwQWxpZ24KICNlbmRpZgogICAgICAgICAmJiBjb250ZW50RGF0YUVxdWl2
YWxlbnQobykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZVJhcmVOb25Jbmhlcml0ZWREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oCmluZGV4IDMzOWYzM2VjMDg5NGIwYTlkZThjZmVk
Y2UwNzE2Mjg0NzkwZDRkYTQuLjBhYzYzNTAwYjg3ZjJlYzJhMjcwMDRiYmNhZDliNTdjN2ZjNzEx
OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVO
b25Jbmhlcml0ZWREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaApAQCAtMTMyLDggKzEzMiw5IEBAIHB1YmxpYzoKICAg
ICBEYXRhUmVmPFN0eWxlR3JpZEl0ZW1EYXRhPiBncmlkSXRlbTsKIAogICAgIExlbmd0aEJveCBz
Y3JvbGxNYXJnaW4geyAwLCAwLCAwLCAwIH07CisgICAgTGVuZ3RoQm94IHNjcm9sbFBhZGRpbmcg
eyAwLCAwLCAwLCAwIH07CiAjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKLSAgICBEYXRhUmVm
PFN0eWxlU2Nyb2xsU25hcFBvcnQ+IHNjcm9sbFNuYXBQb3J0OworICAgIFNjcm9sbFNuYXBUeXBl
IHNjcm9sbFNuYXBUeXBlOwogICAgIFNjcm9sbFNuYXBBbGlnbiBzY3JvbGxTbmFwQWxpZ247CiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
U2Nyb2xsU25hcFBvaW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5
bGVTY3JvbGxTbmFwUG9pbnRzLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjZh
MjI2YjUxODZmYWQ5ZDJlM2Y3ZmE5NDc2NDQ5MDc5N2ZjZDJkNy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVTY3JvbGxTbmFwUG9pbnRzLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
LSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0g
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJTdHls
ZVNjcm9sbFNuYXBQb2ludHMuaCIKLQotI2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVApCi0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotUmVmPFN0eWxlU2Nyb2xsU25hcFBvcnQ+IFN0eWxlU2Nyb2xs
U25hcFBvcnQ6OmNvcHkoKSBjb25zdAotewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxl
U2Nyb2xsU25hcFBvcnQoKnRoaXMpKTsKLX0KLQotU3R5bGVTY3JvbGxTbmFwUG9ydDo6U3R5bGVT
Y3JvbGxTbmFwUG9ydCgpCi17Ci19Ci0KLWlubGluZSBTdHlsZVNjcm9sbFNuYXBQb3J0OjpTdHls
ZVNjcm9sbFNuYXBQb3J0KGNvbnN0IFN0eWxlU2Nyb2xsU25hcFBvcnQmIG90aGVyKQotICAgIDog
UmVmQ291bnRlZCgpCi0gICAgLCB0eXBlKG90aGVyLnR5cGUpCi0gICAgLCBzY3JvbGxQYWRkaW5n
KG90aGVyLnNjcm9sbFBhZGRpbmcpCi17Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQot
I2VuZGlmIC8qIEVOQUJMRShDU1NfU0NST0xMX1NOQVApICovCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVTY3JvbGxTbmFwUG9pbnRzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVTY3JvbGxTbmFwUG9pbnRzLmgKaW5kZXggZjE5
NDRlMDM1YTI5NWY1MDJlMGFiN2NhYzIyMTU2NzlkNDY0YmMxOS4uYmY1MzU1ZDBhMGJhZmQ1OGIx
ZmEzODBjYjRlY2M2MWIzZWQzM2RmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1N0eWxlU2Nyb2xsU25hcFBvaW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TdHlsZVNjcm9sbFNuYXBQb2ludHMuaApAQCAtNDcsMjYgKzQ3LDYgQEAg
aW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBTY3JvbGxTbmFwVHlwZSYgYSwgY29uc3QgU2Ny
b2xsU25hcFR5cGUmIGIpCiAKIGlubGluZSBib29sIG9wZXJhdG9yIT0oY29uc3QgU2Nyb2xsU25h
cFR5cGUmIGEsIGNvbnN0IFNjcm9sbFNuYXBUeXBlJiBiKSB7IHJldHVybiAhKGEgPT0gYik7IH0K
IAotY2xhc3MgU3R5bGVTY3JvbGxTbmFwUG9ydCA6IHB1YmxpYyBSZWZDb3VudGVkPFN0eWxlU2Ny
b2xsU25hcFBvcnQ+IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFN0eWxlU2Nyb2xsU25hcFBv
cnQ+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVTY3JvbGxTbmFwUG9ydCk7
IH0KLSAgICBSZWY8U3R5bGVTY3JvbGxTbmFwUG9ydD4gY29weSgpIGNvbnN0OwotCi0gICAgU2Ny
b2xsU25hcFR5cGUgdHlwZTsKLSAgICBMZW5ndGhCb3ggc2Nyb2xsUGFkZGluZyB7IDAsIDAsIDAs
IDAgfTsKLQotcHJpdmF0ZToKLSAgICBTdHlsZVNjcm9sbFNuYXBQb3J0KCk7Ci0gICAgU3R5bGVT
Y3JvbGxTbmFwUG9ydChjb25zdCBTdHlsZVNjcm9sbFNuYXBQb3J0Jik7Ci19OwotCi1pbmxpbmUg
Ym9vbCBvcGVyYXRvcj09KGNvbnN0IFN0eWxlU2Nyb2xsU25hcFBvcnQmIGEsIGNvbnN0IFN0eWxl
U2Nyb2xsU25hcFBvcnQmIGIpCi17Ci0gICAgcmV0dXJuIGEudHlwZSA9PSBiLnR5cGUgJiYgYS5z
Y3JvbGxQYWRkaW5nID09IGIuc2Nyb2xsUGFkZGluZzsKLX0KLQotaW5saW5lIGJvb2wgb3BlcmF0
b3IhPShjb25zdCBTdHlsZVNjcm9sbFNuYXBQb3J0JiBhLCBjb25zdCBTdHlsZVNjcm9sbFNuYXBQ
b3J0JiBiKSB7IHJldHVybiAhKGEgPT0gYik7IH0KLQogc3RydWN0IFNjcm9sbFNuYXBBbGlnbiB7
CiAgICAgU2Nyb2xsU25hcEF4aXNBbGlnblR5cGUgeCB7IFNjcm9sbFNuYXBBeGlzQWxpZ25UeXBl
OjpOb25lIH07CiAgICAgU2Nyb2xsU25hcEF4aXNBbGlnblR5cGUgeSB7IFNjcm9sbFNuYXBBeGlz
QWxpZ25UeXBlOjpOb25lIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjE0YzJkNWUyNDlhZjBlNzA3N2RkMzA0ZTNjZmIw
NDlkN2EyNzllZS4uZmNhM2E0YmVjZGUyNzAxZjUyOGI4NzJmMDhiMjBlZDQ2MjRkNThjNSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTExLTE4ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5z
b25Ad2Via2l0Lm9yZz4KKworICAgICAgICBNYWtlIHNjcm9sbC1wYWRkaW5nIGluZGVwZW5kZW50
IG9mIHNjcm9sbC1zbmFwIGFuZCBoYXZlIGl0IGFmZmVjdCBzY3JvbGxJbnRvVmlldworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5MDczCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRp
b25zOiBNYXJrIHNvbWUgdGVzdHMgYXMgcGFzc2luZy4KKwogMjAyMC0xMS0xNyAgUm9iIEJ1aXMg
IDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIENsZWFuIHVwIHRpdGxlLXRleHQtcHJvcGVy
dHkuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMTIxNjAxMzQ2ZDAxYTE4
NTg2MjMzNmY5ZTZmMGNiNGI2NjFhYjVmZS4uNzhhMTMxN2FjYTZhMTgyZWRkMzA2YWM5ZDg1NDg1
NGFkNjRlN2JlMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIg
QEAKKzIwMjAtMTEtMTggIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkB3ZWJraXQub3JnPgor
CisgICAgICAgIE1ha2Ugc2Nyb2xsLXBhZGRpbmcgaW5kZXBlbmRlbnQgb2Ygc2Nyb2xsLXNuYXAg
YW5kIGhhdmUgaXQgYWZmZWN0IHNjcm9sbEludG9WaWV3CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTkwNzMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20t
dmlldy9zY3JvbGxJbnRvVmlldy1zY3JvbGxQYWRkaW5nLWV4cGVjdGVkLnR4dDogVXBkYXRlZCB0
byByZWZsZWN0IG5ld2x5IHBhc3NpbmcgdGVzdC4KKwogMjAyMC0xMS0xNiAgQWxleCBDaHJpc3Rl
bnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpbGVSZWFkZXJMb2Fk
ZXI6OmNvbnZlcnRUb0RhdGFVUkwgc2hvdWxkIHVzZSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0g
aWYgTUlNRSB0eXBlIGlzIGVtcHR5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAzYjU1MzU1Mzg5YjBk
MDljOWE3ZDNlYzNmM2M1N2Q1ZDI3YjI4MGQ1Li45NzQwYjIzZDk3NzlmZjM5NjkxZTAyN2RmN2U5
NDM0ZjA0NzYzNWM4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ1NTMsOSArNDU1Myw2IEBAIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwt
dGFyZ2V0LWFsaWduLTAwMi5odG1sCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXRhcmdldC1hbGlnbi0wMDMuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxODMyNSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXRhcmdldC1tYXJnaW4tMDAxLmh0bWwg
WyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxODMyNSBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXRhcmdldC1t
YXJnaW4tMDAzLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbC10YXJnZXQtcGFkZGlu
Zy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbC10YXJnZXQtcGFkZGluZy0wMDIuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbC10YXJnZXQtcGFkZGluZy0wMDMuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNj
cm9sbC1zbmFwL3Njcm9sbC10YXJnZXQtc25hcC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Nj
cm9sbC10YXJnZXQtc25hcC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbC10YXJnZXQt
c25hcC0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9zY3JvbGxJ
bnRvVmlldy1zY3JvbGxQYWRkaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvc2Nyb2xsSW50b1ZpZXctc2Ny
b2xsUGFkZGluZy1leHBlY3RlZC50eHQKaW5kZXggNzg3OTM2ZDY3NjFhMDQ1ZGYwMWEzYWMwN2Zm
NWQ1Y2JiNTM4MjE3ZC4uYjIwYzVmNWZiMzZiMzc0MDY4MTNlOGFlZDMwZDllOTMyNWY2ZDZjMyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3Nzb20tdmlldy9zY3JvbGxJbnRvVmlldy1zY3JvbGxQYWRkaW5nLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Nv
bS12aWV3L3Njcm9sbEludG9WaWV3LXNjcm9sbFBhZGRpbmctZXhwZWN0ZWQudHh0CkBAIC0xLDUg
KzEsNSBAQAogCi1GQUlMIHNjcm9sbEludG9WaWV3KHtibG9jazogImNlbnRlciIsIGlubGluZTog
ImNlbnRlciJ9KSBhc3NlcnRfYXBwcm94X2VxdWFsczogc2Nyb2xsWCBleHBlY3RlZCAxNTMuNSAr
Ly0gMC41IGJ1dCBnb3QgMTU4Ci1GQUlMIHNjcm9sbEludG9WaWV3KHtibG9jazogInN0YXJ0Iiwg
aW5saW5lOiAic3RhcnQifSkgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHNjcm9sbFggZXhwZWN0ZWQg
MTg0ICsvLSAwLjUgYnV0IGdvdCAyMDAKLUZBSUwgc2Nyb2xsSW50b1ZpZXcoe2Jsb2NrOiAiZW5k
IiwgaW5saW5lOiAiZW5kIn0pIGFzc2VydF9hcHByb3hfZXF1YWxzOiBzY3JvbGxYIGV4cGVjdGVk
IDEyMyArLy0gMC41IGJ1dCBnb3QgMTE1CitQQVNTIHNjcm9sbEludG9WaWV3KHtibG9jazogImNl
bnRlciIsIGlubGluZTogImNlbnRlciJ9KQorUEFTUyBzY3JvbGxJbnRvVmlldyh7YmxvY2s6ICJz
dGFydCIsIGlubGluZTogInN0YXJ0In0pCitQQVNTIHNjcm9sbEludG9WaWV3KHtibG9jazogImVu
ZCIsIGlubGluZTogImVuZCJ9KQogCg==
</data>
<flag name="commit-queue"
          id="431338"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414445</attachid>
            <date>2020-11-18 06:29:29 -0800</date>
            <delta_ts>2020-11-19 00:55:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219073-20201118152928.patch</filename>
            <type>text/plain</type>
            <size>39305</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5OTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODg5N2M3ZGYzMGQ2NzVm
M2IwODU1NDVjMTUzNTJiMTcyNDFkZWEzNi4uNWNmYWFjMTU0YzM3NDMzNDAxODg2ODBhZGMzNjBl
ZWMyNWRkZGM2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDIwLTExLTE4ICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25Ad2Via2l0Lm9yZz4KKworICAgICAgICBNYWtlIHNjcm9s
bC1wYWRkaW5nIGluZGVwZW5kZW50IG9mIHNjcm9sbC1zbmFwIGFuZCBoYXZlIGl0IGFmZmVjdCBz
Y3JvbGxJbnRvVmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE5MDczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhlIHNjcm9sbC1wYWRkaW5nIENTUyBwcm9wZXJ0eSBpcyBub3cgYXZhaWxhYmxlIGV2
ZW4gd2hlbiBzY3JvbGwtc25hcCBpcyBub3QKKyAgICAgICAgZW5hYmxlZCBhdCBjb21waWxlLXRp
bWUuIEFsc28gbWFrZSBzY3JvbGwtc25hcCBhZmZlY3QgcG9zaXRpb25pbmcgZHVyaW5nCisgICAg
ICAgIHNjcm9sbEludG9WaWV3IG9wZXJhdGlvbnMuCisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDog
UmVtb3ZlIFNjcm9sbFNuYXBQb2ludHMuY3BwLCBiZWNhdXNlIGl0IGlzIG5vIGxvbmdlciBuZWNl
c3NhcnkuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBEaXR0
by4KKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcDogRW5hYmxl
IHNjcm9sbC1wYWRkaW5nIGFuZCBzY3JvbGwtcGFkZGluZy0qIHVuY29uZGl0aW9uYWxseS4KKyAg
ICAgICAgKFdlYkNvcmU6OkNvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJ
blN0eWxlKTogRGl0dG8uCisgICAgICAgICogY3NzL0NTU1Byb3BlcnRpZXMuanNvbjogRGl0dG8u
CisgICAgICAgICogY3NzL1N0eWxlUHJvcGVydGllcy5jcHA6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6U3R5bGVQcm9wZXJ0aWVzOjpnZXRQcm9wZXJ0eVZhbHVlIGNvbnN0KTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpTdHlsZVByb3BlcnRpZXM6OmFzVGV4dCBjb25zdCk6IERpdHRvLgor
ICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVNpbmdsZVZhbHVlKTogRGl0dG8u
CisgICAgICAgIChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VTaG9ydGhhbmQpOiBE
aXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OmV4cGFuZFNjcm9sbFJlY3RUb1Zpc2libGVUYXJnZXRSZWN0VG9JbmNsdWRl
U2Nyb2xsUGFkZGluZyk6IEFkZGVkIHRoaXMgaGVscGVyCisgICAgICAgIGZ1bmN0aW9uIHdoaWNo
IGV4cGFuZHMgdGhlIHRhcmdldCByZWN0YW5nbGUgdG8gaW5jbHVkZSBzY3JvbGwgcGFkZGluZyBm
cm9tIHRoZSBjb250YWluZXIuCisgICAgICAgIFRoaXMgY3JlYXRlcyB0aGUgYWZmZWN0IHRoYXQg
dGhlIGNvbnRhaW5lciBoYXMgYSBwYWRkaW5nIHJlY3RhbmdsZS4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpzaG91bGRVc2VBbmltYXRlZFNjcm9sbEZvclNjcm9sbFJlY3RUb1Zpc2li
bGUpOiBVc2UgdGhlIG5ldworICAgICAgICBoZWxwZXIgbWV0aG9kIGFuZCBmdW5jdGlvbi4KKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKTogRGl0dG8u
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6IEFkZGVkIGEgbmV3IGhlbHBlciBt
ZXRob2QgdG8gcmVkdWNlIHJlcGV0aXRpb24gb2YgY29kZSBpbgorICAgICAgICBzY3JvbGxSZWN0
VG9WaXNpYmxlLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNw
cDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpzY3JvbGxTbmFwQ29udGFpbmVyUmVxdWlyZXNV
cGRhdGVGb3JTdHlsZVVwZGF0ZSk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNj
cm9sbFBhZGRpbmcgY29uc3QpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxl
OjpzZXRTY3JvbGxQYWRkaW5nVG9wKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJT
dHlsZTo6c2V0U2Nyb2xsUGFkZGluZ0JvdHRvbSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU3R5bGU6OnNldFNjcm9sbFBhZGRpbmdMZWZ0KTogRGl0dG8uCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJTdHlsZTo6c2V0U2Nyb2xsUGFkZGluZ1JpZ2h0KTogRGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aW5pdGlhbFNjcm9sbFNuYXBUeXBlKTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aW5pdGlhbFNjcm9sbFNuYXBBbGlnbik6IERp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNjcm9sbFNuYXBUeXBlIGNvbnN0
KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2Nyb2xsU25hcEFsaWdu
IGNvbnN0KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0U2Nyb2xs
U25hcFR5cGUpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUu
aDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aW5pdGlhbFNjcm9sbFBh
ZGRpbmcpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5o
ZXJpdGVkRGF0YS5jcHA6IEhhdmUgc2Nyb2xsLXBhZGRpbmcgcmVsYXRlZCBwcm9wZXJ0aWVzCisg
ICAgICAgIGJlIHN0b3JlZCBkaXJlY3RseSBvbiBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9u
SW5oZXJpdGVkRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWRE
YXRhOjpvcGVyYXRvcj09IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVS
YXJlTm9uSW5oZXJpdGVkRGF0YS5oOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUv
U3R5bGVTY3JvbGxTbmFwUG9pbnRzLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiByZW5kZXJpbmcv
c3R5bGUvU3R5bGVTY3JvbGxTbmFwUG9pbnRzLmg6CisKIDIwMjAtMTEtMTcgIEtpbW1vIEtpbm51
bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBCdWlsZCBmYWlscyBvbiBpbnRl
cm5hbCBzaW11bGF0b3IgYnVpbGRzIGR1ZSB0byBtaXNzaW5nIGVudW0ga0NWUGl4ZWxGb3JtYXRU
eXBlX0FHWF80MjBZcENiQ3I4QmlQbGFuYXJWaWRlb1JhbmdlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDk2
YmZkNTViMTQ1MDYyMzAwYTIzNWM5Y2UyYjM0ZjAzOWU5YTBlOGUuLmNlNzQ2ZWE3ODYxNzhhM2Q4
ZmI3ZGJlNTMwYzExMmY5OTdkY2FjN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0yMzIzLDcgKzIzMjMs
NiBAQCByZW5kZXJpbmcvc3R5bGUvU3R5bGVNdWx0aUNvbERhdGEuY3BwCiByZW5kZXJpbmcvc3R5
bGUvU3R5bGVNdWx0aUltYWdlLmNwcAogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRl
ZERhdGEuY3BwCiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAK
LXJlbmRlcmluZy9zdHlsZS9TdHlsZVNjcm9sbFNuYXBQb2ludHMuY3BwCiByZW5kZXJpbmcvc3R5
bGUvU3R5bGVTZWxmQWxpZ25tZW50RGF0YS5jcHAKIHJlbmRlcmluZy9zdHlsZS9TdHlsZVN1cnJv
dW5kRGF0YS5jcHAKIHJlbmRlcmluZy9zdHlsZS9TdHlsZVRyYW5zZm9ybURhdGEuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
YzM3Y2ZhZTk3ZmIwMGUxYjcwODdmYTg0YWZmYzY3ODM0OGRmYTM2Yi4uYzIwN2MzOWQyYmIxNDIw
ODFhOTM0Zjk0NDFmNDM5MDNiMmEyMjc3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTY0NTQsNyArMTY0NTQsNiBAQAogCQlG
NDc4NzU1MzE5OTgzQUZGMDAyNEEyODcgLyogU2Nyb2xsU25hcEFuaW1hdG9yU3RhdGUubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTY3JvbGxTbmFwQW5pbWF0b3JT
dGF0ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQ3QTA5Q0YyMEE5MzlGNjAw
MjQwRkFFIC8qIERpc2FibGVkQWRhcHRhdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGlzYWJsZWRB
ZGFwdGF0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDdBMDlENDIwQTlE
RDA0MDAyNDBGQUUgLyogRGlzYWJsZWRBZGFwdGF0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBEaXNhYmxlZEFkYXB0YXRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
RjQ3QTVFM0ExOTVCOEM4QTAwNDgzMTAwIC8qIFN0eWxlU2Nyb2xsU25hcFBvaW50cy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZVNjcm9sbFNuYXBQb2ludHMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDdBNUUzQjE5NUI4QzhBMDA0ODMx
MDAgLyogU3R5bGVTY3JvbGxTbmFwUG9pbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFN0eWxlU2Nyb2xsU25hcFBvaW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlGNDdBNjMzQzFGRjZGRDUwMDA4MUIzQ0MgLyogUHJvbWlzZWRBdHRhY2htZW50SW5mby5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBQcm9taXNlZEF0dGFjaG1lbnRJbmZvLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUY0N0FEMjM4MjE5MzQ5OUEwMDUxREQwQiAvKiBJbnNlcnROZXN0ZWRM
aXN0Q29tbWFuZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNlcnROZXN0ZWRMaXN0Q29tbWFuZC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjY5NzYsNyArMjY5NzUsNiBAQAogCQkJCUJD
MjI3MkJBMEU4MkVBQUUwMEU3Rjk3NSAvKiBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcCAq
LywKIAkJCQlCQzIyNzJCQjBFODJFQUFFMDBFN0Y5NzUgLyogU3R5bGVSYXJlTm9uSW5oZXJpdGVk
RGF0YS5oICovLAogCQkJCUJDMjI3Mjg2MEU4MkU3MDcwMEU3Rjk3NSAvKiBTdHlsZVJlZmxlY3Rp
b24uaCAqLywKLQkJCQlGNDdBNUUzQTE5NUI4QzhBMDA0ODMxMDAgLyogU3R5bGVTY3JvbGxTbmFw
UG9pbnRzLmNwcCAqLywKIAkJCQlGNDdBNUUzQjE5NUI4QzhBMDA0ODMxMDAgLyogU3R5bGVTY3Jv
bGxTbmFwUG9pbnRzLmggKi8sCiAJCQkJNzE5OUI5NEYyNTUyMTAzRTAwNDk0QTU3IC8qIFN0eWxl
U2VsZkFsaWdubWVudERhdGEuY3BwICovLAogCQkJCTlENjM4MDBGMUFGMTZFMTYwMDMxQTE1QyAv
KiBTdHlsZVNlbGZBbGlnbm1lbnREYXRhLmggKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDk5NGJkZDM2YmFhMzU1YTAw
MDgwNGM4NjVkYzJhMDIxZWQ1NGU3MmEuLjRjM2E1ZWM1ZmNkMmE4MGY4ZmMwYTQ2NzZhZDEzMmEz
MjQ2ODI2MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxl
RGVjbGFyYXRpb24uY3BwCkBAIC0zODA5LDcgKzM4MDksNiBAQCBSZWZQdHI8Q1NTVmFsdWU+IENv
bXB1dGVkU3R5bGVFeHRyYWN0b3I6OnZhbHVlRm9yUHJvcGVydHlJblN0eWxlKGNvbnN0IFJlbmRl
clN0eQogICAgICAgICAgICAgcmV0dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFsdWVGb3JMZW5ndGgo
c3R5bGUuc2Nyb2xsTWFyZ2luUmlnaHQoKSwgc3R5bGUpOwogICAgICAgICBjYXNlIENTU1Byb3Bl
cnR5U2Nyb2xsTWFyZ2luTGVmdDoKICAgICAgICAgICAgIHJldHVybiB6b29tQWRqdXN0ZWRQaXhl
bFZhbHVlRm9yTGVuZ3RoKHN0eWxlLnNjcm9sbE1hcmdpbkxlZnQoKSwgc3R5bGUpOwotI2lmIEVO
QUJMRShDU1NfU0NST0xMX1NOQVApCiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTY3JvbGxQYWRk
aW5nOgogICAgICAgICAgICAgcmV0dXJuIGdldENTU1Byb3BlcnR5VmFsdWVzRm9yNFNpZGVzU2hv
cnRoYW5kKHNjcm9sbFBhZGRpbmdTaG9ydGhhbmQoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVy
dHlTY3JvbGxQYWRkaW5nQm90dG9tOgpAQCAtMzgyMCw2ICszODE5LDcgQEAgUmVmUHRyPENTU1Zh
bHVlPiBDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvclByb3BlcnR5SW5TdHlsZShjb25z
dCBSZW5kZXJTdHkKICAgICAgICAgICAgIHJldHVybiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlRm9y
TGVuZ3RoKHN0eWxlLnNjcm9sbFBhZGRpbmdSaWdodCgpLCBzdHlsZSk7CiAgICAgICAgIGNhc2Ug
Q1NTUHJvcGVydHlTY3JvbGxQYWRkaW5nTGVmdDoKICAgICAgICAgICAgIHJldHVybiB6b29tQWRq
dXN0ZWRQaXhlbFZhbHVlRm9yTGVuZ3RoKHN0eWxlLnNjcm9sbFBhZGRpbmdMZWZ0KCksIHN0eWxl
KTsKKyNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQogICAgICAgICBjYXNlIENTU1Byb3BlcnR5
U2Nyb2xsU25hcFR5cGU6CiAgICAgICAgICAgICByZXR1cm4gdmFsdWVGb3JTY3JvbGxTbmFwVHlw
ZShzdHlsZS5zY3JvbGxTbmFwVHlwZSgpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVNjcm9s
bFNuYXBBbGlnbjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVz
Lmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCmluZGV4IDAxZDI2
MGY0YjcxZTQ1MzA0Y2NmMjNmMWY2MjZlNTllOTM0NGQ5OWYuLmI5MTU4Mzk4NmRiN2IyZmMwZDA2
ZWNhZTNhZGQyY2RlNzFlYTRkOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0aWVzLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNv
bgpAQCAtNjYyOSw3ICs2NjI5LDYgQEAKICAgICAgICAgfSwKICAgICAgICAgInNjcm9sbC1wYWRk
aW5nIjogewogICAgICAgICAgICAgImNvZGVnZW4tcHJvcGVydGllcyI6IHsKLSAgICAgICAgICAg
ICAgICAiZW5hYmxlLWlmIjogIkVOQUJMRV9DU1NfU0NST0xMX1NOQVAiLAogICAgICAgICAgICAg
ICAgICJsb25naGFuZHMiOiBbCiAgICAgICAgICAgICAgICAgICAgICJzY3JvbGwtcGFkZGluZy10
b3AiLAogICAgICAgICAgICAgICAgICAgICAic2Nyb2xsLXBhZGRpbmctcmlnaHQiLApAQCAtNjY0
NCw3ICs2NjQzLDYgQEAKICAgICAgICAgfSwKICAgICAgICAgInNjcm9sbC1wYWRkaW5nLWJvdHRv
bSI6IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7Ci0gICAgICAgICAgICAg
ICAgImVuYWJsZS1pZiI6ICJFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQIiwKICAgICAgICAgICAgICAg
ICAiaW5pdGlhbCI6ICJpbml0aWFsU2Nyb2xsUGFkZGluZyIsCiAgICAgICAgICAgICAgICAgImNv
bnZlcnRlciI6ICJMZW5ndGgiCiAgICAgICAgICAgICB9LApAQCAtNjY1NSw3ICs2NjUzLDYgQEAK
ICAgICAgICAgfSwKICAgICAgICAgInNjcm9sbC1wYWRkaW5nLWxlZnQiOiB7CiAgICAgICAgICAg
ICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogewotICAgICAgICAgICAgICAgICJlbmFibGUtaWYiOiAi
RU5BQkxFX0NTU19TQ1JPTExfU05BUCIsCiAgICAgICAgICAgICAgICAgImluaXRpYWwiOiAiaW5p
dGlhbFNjcm9sbFBhZGRpbmciLAogICAgICAgICAgICAgICAgICJjb252ZXJ0ZXIiOiAiTGVuZ3Ro
IgogICAgICAgICAgICAgfSwKQEAgLTY2NjYsNyArNjY2Myw2IEBACiAgICAgICAgIH0sCiAgICAg
ICAgICJzY3JvbGwtcGFkZGluZy1yaWdodCI6IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3Bl
cnRpZXMiOiB7Ci0gICAgICAgICAgICAgICAgImVuYWJsZS1pZiI6ICJFTkFCTEVfQ1NTX1NDUk9M
TF9TTkFQIiwKICAgICAgICAgICAgICAgICAiaW5pdGlhbCI6ICJpbml0aWFsU2Nyb2xsUGFkZGlu
ZyIsCiAgICAgICAgICAgICAgICAgImNvbnZlcnRlciI6ICJMZW5ndGgiCiAgICAgICAgICAgICB9
LApAQCAtNjY3Nyw3ICs2NjczLDYgQEAKICAgICAgICAgfSwKICAgICAgICAgInNjcm9sbC1wYWRk
aW5nLXRvcCI6IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7Ci0gICAgICAg
ICAgICAgICAgImVuYWJsZS1pZiI6ICJFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQIiwKICAgICAgICAg
ICAgICAgICAiaW5pdGlhbCI6ICJpbml0aWFsU2Nyb2xsUGFkZGluZyIsCiAgICAgICAgICAgICAg
ICAgImNvbnZlcnRlciI6ICJMZW5ndGgiCiAgICAgICAgICAgICB9LApAQCAtNjY4OCw3ICs2Njgz
LDYgQEAKICAgICAgICAgfSwKICAgICAgICAgInNjcm9sbC1wYWRkaW5nLWlubGluZS1zdGFydCI6
IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7Ci0gICAgICAgICAgICAgICAg
ImVuYWJsZS1pZiI6ICJFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQIiwKICAgICAgICAgICAgICAgICAi
c2tpcC1jb2RlZ2VuIjogdHJ1ZQogICAgICAgICAgICAgfSwKICAgICAgICAgICAgICJzdGF0dXMi
OiB7CkBAIC02NzAxLDcgKzY2OTUsNiBAQAogICAgICAgICB9LAogICAgICAgICAic2Nyb2xsLXBh
ZGRpbmctYmxvY2stc3RhcnQiOiB7CiAgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjog
ewotICAgICAgICAgICAgICAgICJlbmFibGUtaWYiOiAiRU5BQkxFX0NTU19TQ1JPTExfU05BUCIs
CiAgICAgICAgICAgICAgICAgInNraXAtY29kZWdlbiI6IHRydWUKICAgICAgICAgICAgIH0sCiAg
ICAgICAgICAgICAic3RhdHVzIjogewpAQCAtNjcxNCw3ICs2NzA3LDYgQEAKICAgICAgICAgfSwK
ICAgICAgICAgInNjcm9sbC1wYWRkaW5nLWlubGluZS1lbmQiOiB7CiAgICAgICAgICAgICAiY29k
ZWdlbi1wcm9wZXJ0aWVzIjogewotICAgICAgICAgICAgICAgICJlbmFibGUtaWYiOiAiRU5BQkxF
X0NTU19TQ1JPTExfU05BUCIsCiAgICAgICAgICAgICAgICAgInNraXAtY29kZWdlbiI6IHRydWUK
ICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAic3RhdHVzIjogewpAQCAtNjcyNyw3ICs2NzE5
LDYgQEAKICAgICAgICAgfSwKICAgICAgICAgInNjcm9sbC1wYWRkaW5nLWJsb2NrLWVuZCI6IHsK
ICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7Ci0gICAgICAgICAgICAgICAgImVu
YWJsZS1pZiI6ICJFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQIiwKICAgICAgICAgICAgICAgICAic2tp
cC1jb2RlZ2VuIjogdHJ1ZQogICAgICAgICAgICAgfSwKICAgICAgICAgICAgICJzdGF0dXMiOiB7
CkBAIC02NzQ0LDcgKzY3MzUsNiBAQAogICAgICAgICAgICAgICAgICAgICAic2Nyb2xsLXBhZGRp
bmctYmxvY2stc3RhcnQiLAogICAgICAgICAgICAgICAgICAgICAic2Nyb2xsLXBhZGRpbmctYmxv
Y2stZW5kIgogICAgICAgICAgICAgICAgIF0sCi0gICAgICAgICAgICAgICAgImVuYWJsZS1pZiI6
ICJFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQIiwKICAgICAgICAgICAgICAgICAic2tpcC1jb2RlZ2Vu
IjogdHJ1ZQogICAgICAgICAgICAgfSwKICAgICAgICAgICAgICJzdGF0dXMiOiB7CkBAIC02NzYx
LDcgKzY3NTEsNiBAQAogICAgICAgICAgICAgICAgICAgICAic2Nyb2xsLXBhZGRpbmctaW5saW5l
LXN0YXJ0IiwKICAgICAgICAgICAgICAgICAgICAgInNjcm9sbC1wYWRkaW5nLWlubGluZS1lbmQi
CiAgICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAiZW5hYmxlLWlmIjogIkVOQUJM
RV9DU1NfU0NST0xMX1NOQVAiLAogICAgICAgICAgICAgICAgICJza2lwLWNvZGVnZW4iOiB0cnVl
CiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgInN0YXR1cyI6IHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnRpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUHJvcGVydGllcy5jcHAKaW5kZXggNGQ4ODdiNzg5MWYyNDdiYmNiZTJlMmY1ZGY2MGMx
ZjExMWI5OGRjZC4uNGQzZmYwM2U5MDYyMjE0ZTdlOWZmZTU4OGVjOTJiN2JmMGEzZGIwYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydGllcy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydGllcy5jcHAKQEAgLTI4NywxMCArMjg3LDggQEAg
U3RyaW5nIFN0eWxlUHJvcGVydGllczo6Z2V0UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eUlEIHBy
b3BlcnR5SUQpIGNvbnN0CiAgICAgICAgIHJldHVybiBnZXQyVmFsdWVzKGdhcFNob3J0aGFuZCgp
KTsKICAgICBjYXNlIENTU1Byb3BlcnR5U2Nyb2xsTWFyZ2luOgogICAgICAgICByZXR1cm4gZ2V0
NFZhbHVlcyhzY3JvbGxNYXJnaW5TaG9ydGhhbmQoKSk7Ci0jaWYgRU5BQkxFKENTU19TQ1JPTExf
U05BUCkKICAgICBjYXNlIENTU1Byb3BlcnR5U2Nyb2xsUGFkZGluZzoKICAgICAgICAgcmV0dXJu
IGdldDRWYWx1ZXMoc2Nyb2xsUGFkZGluZ1Nob3J0aGFuZCgpKTsKLSNlbmRpZgogICAgIGRlZmF1
bHQ6CiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKICAgICB9CkBAIC0xMTc0LDE0ICsxMTcyLDEy
IEBAIFN0cmluZyBTdHlsZVByb3BlcnRpZXM6OmFzVGV4dCgpIGNvbnN0CiAgICAgICAgICAgICBj
YXNlIENTU1Byb3BlcnR5U2Nyb2xsTWFyZ2luTGVmdDoKICAgICAgICAgICAgICAgICBzaG9ydGhh
bmRQcm9wZXJ0eUlEID0gQ1NTUHJvcGVydHlTY3JvbGxNYXJnaW47CiAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0jaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKICAgICAgICAgICAgIGNhc2UgQ1NT
UHJvcGVydHlTY3JvbGxQYWRkaW5nVG9wOgogICAgICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVNj
cm9sbFBhZGRpbmdSaWdodDoKICAgICAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTY3JvbGxQYWRk
aW5nQm90dG9tOgogICAgICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVNjcm9sbFBhZGRpbmdMZWZ0
OgogICAgICAgICAgICAgICAgIHNob3J0aGFuZFByb3BlcnR5SUQgPSBDU1NQcm9wZXJ0eVNjcm9s
bFBhZGRpbmc7CiAgICAgICAgICAgICAgICAgYnJlYWs7Ci0jZW5kaWYKICAgICAgICAgICAgIGNh
c2UgQ1NTUHJvcGVydHlUcmFuc2l0aW9uUHJvcGVydHk6CiAgICAgICAgICAgICBjYXNlIENTU1By
b3BlcnR5VHJhbnNpdGlvbkR1cmF0aW9uOgogICAgICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVRy
YW5zaXRpb25UaW1pbmdGdW5jdGlvbjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9w
YXJzZXIvQ1NTUHJvcGVydHlQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9D
U1NQcm9wZXJ0eVBhcnNlci5jcHAKaW5kZXggNWQ0YTcwNTVkYmViMTAwZDA3NzgxMTY2N2Y3YWVh
ZmNlYjNmMmIyOC4uMWZkZjJmMGJhYWYwODA2MGM0NzVjZTI0ZGVhMmVhNGUzNDc2Y2IyOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKQEAg
LTQxNjQsMTIgKzQxNjQsMTIgQEAgUmVmUHRyPENTU1ZhbHVlPiBDU1NQcm9wZXJ0eVBhcnNlcjo6
cGFyc2VTaW5nbGVWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5LCBDU1MKICAgICBjYXNlIENT
U1Byb3BlcnR5U2Nyb2xsTWFyZ2luUmlnaHQ6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVNjcm9sbE1h
cmdpblRvcDoKICAgICAgICAgcmV0dXJuIGNvbnN1bWVMZW5ndGgobV9yYW5nZSwgbV9jb250ZXh0
Lm1vZGUsIFZhbHVlUmFuZ2VBbGwpOwotI2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVApCiAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVNjcm9sbFBhZGRpbmdCb3R0b206CiAgICAgY2FzZSBDU1NQcm9wZXJ0
eVNjcm9sbFBhZGRpbmdMZWZ0OgogICAgIGNhc2UgQ1NTUHJvcGVydHlTY3JvbGxQYWRkaW5nUmln
aHQ6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVNjcm9sbFBhZGRpbmdUb3A6CiAgICAgICAgIHJldHVy
biBjb25zdW1lTGVuZ3RoT3JQZXJjZW50KG1fcmFuZ2UsIG1fY29udGV4dC5tb2RlLCBWYWx1ZVJh
bmdlQWxsKTsKKyNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQogICAgIGNhc2UgQ1NTUHJvcGVy
dHlTY3JvbGxTbmFwQWxpZ246CiAgICAgICAgIHJldHVybiBjb25zdW1lU2Nyb2xsU25hcEFsaWdu
KG1fcmFuZ2UpOwogICAgIGNhc2UgQ1NTUHJvcGVydHlTY3JvbGxTbmFwVHlwZToKQEAgLTU4NDYs
MTAgKzU4NDYsOCBAQCBib29sIENTU1Byb3BlcnR5UGFyc2VyOjpwYXJzZVNob3J0aGFuZChDU1NQ
cm9wZXJ0eUlEIHByb3BlcnR5LCBib29sIGltcG9ydGFudCkKICAgICAgICAgcmV0dXJuIGNvbnN1
bWUyVmFsdWVTaG9ydGhhbmQocGFkZGluZ0lubGluZVNob3J0aGFuZCgpLCBpbXBvcnRhbnQpOwog
ICAgIGNhc2UgQ1NTUHJvcGVydHlTY3JvbGxNYXJnaW46CiAgICAgICAgIHJldHVybiBjb25zdW1l
NFZhbHVlU2hvcnRoYW5kKHNjcm9sbE1hcmdpblNob3J0aGFuZCgpLCBpbXBvcnRhbnQpOwotI2lm
IEVOQUJMRShDU1NfU0NST0xMX1NOQVApCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVNjcm9sbFBhZGRp
bmc6CiAgICAgICAgIHJldHVybiBjb25zdW1lNFZhbHVlU2hvcnRoYW5kKHNjcm9sbFBhZGRpbmdT
aG9ydGhhbmQoKSwgaW1wb3J0YW50KTsKLSNlbmRpZgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJr
aXRUZXh0RW1waGFzaXM6CiAgICAgICAgIHJldHVybiBjb25zdW1lU2hvcnRoYW5kR3JlZWRpbHko
d2Via2l0VGV4dEVtcGhhc2lzU2hvcnRoYW5kKCksIGltcG9ydGFudCk7CiAgICAgY2FzZSBDU1NQ
cm9wZXJ0eU91dGxpbmU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApp
bmRleCAzYjMxMDU1MTM5ZWE2N2I4YmJmMTIyZWRjZWM2ZDNjYzI5YTUzM2M5Li5lNTI3MTg5NzJl
OWNiNGFjNzQ1ZDRhNDUxNTNlNjQ2ODc1ODViOGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAKQEAgLTU5OCw2ICs1OTgsMjAgQEAgc3RhdGljIGJvb2wgY2FuQ3Jl
YXRlU3RhY2tpbmdDb250ZXh0KGNvbnN0IFJlbmRlckxheWVyJiBsYXllcikKICAgICAgICAgfHwg
KHJlbmRlcmVyLnN0eWxlKCkud2lsbENoYW5nZSgpICYmIHJlbmRlcmVyLnN0eWxlKCkud2lsbENo
YW5nZSgpLT5jYW5DcmVhdGVTdGFja2luZ0NvbnRleHQoKSk7CiB9CiAKK3N0YXRpYyB2b2lkIGV4
cGFuZFNjcm9sbFJlY3RUb1Zpc2libGVUYXJnZXRSZWN0VG9JbmNsdWRlU2Nyb2xsUGFkZGluZyhS
ZW5kZXJCb3gqIHJlbmRlckJveCwgY29uc3QgTGF5b3V0UmVjdCYgdmlld1JlY3QsIExheW91dFJl
Y3QqIHRhcmdldFJlY3QpCit7CisgICAgaWYgKCFyZW5kZXJCb3gpCisgICAgICAgIHJldHVybjsK
KyAgICAvLyBzY3JvbGwtcGFkZGluZyBhcHBsaWVzIHRvIHRoZSBzY3JvbGwgY29udGFpbmVyLCBi
dXQgZXhwYW5kIHRoZSByZWN0YW5nbGUgdGhhdCB3ZSB3YW50IHRvIGV4cG9zZSBpbiBvcmRlcgor
ICAgIC8vIHNpbXVsYXRlIHBhZGRpbmcgdGhlIHNjcm9sbCBjb250YWluZXIuIFRoaXMgcmVjdGFu
Z2xlIGlzIHBhc3NlZCB1cCB0aGUgdHJlZSBvZiBzY3JvbGxpbmcgZWxlbWVudHMgdG8KKyAgICAv
LyBlbnN1cmUgdGhhdCB0aGUgcGFkZGluZyBvbiB0aGlzIHNjcm9sbCBjb250YWluZXIgaXMgbWFp
bnRhaW5lZC4KKyAgICBjb25zdCBhdXRvJiBzY3JvbGxQYWRkaW5nID0gcmVuZGVyQm94LT5zdHls
ZSgpLnNjcm9sbFBhZGRpbmcoKTsKKyAgICBMYXlvdXRCb3hFeHRlbnQgc2Nyb2xsUGFkZGluZ0V4
dGVudHMoCisgICAgICAgIHZhbHVlRm9yTGVuZ3RoKHNjcm9sbFBhZGRpbmcudG9wKCksIHZpZXdS
ZWN0LmhlaWdodCgpKSwgdmFsdWVGb3JMZW5ndGgoc2Nyb2xsUGFkZGluZy5yaWdodCgpLCB2aWV3
UmVjdC53aWR0aCgpKSwKKyAgICAgICAgdmFsdWVGb3JMZW5ndGgoc2Nyb2xsUGFkZGluZy5ib3R0
b20oKSwgdmlld1JlY3QuaGVpZ2h0KCkpLCB2YWx1ZUZvckxlbmd0aChzY3JvbGxQYWRkaW5nLmxl
ZnQoKSwgdmlld1JlY3Qud2lkdGgoKSkpOworICAgIHRhcmdldFJlY3QtPmV4cGFuZChzY3JvbGxQ
YWRkaW5nRXh0ZW50cyk7Cit9CisKIGJvb2wgUmVuZGVyTGF5ZXI6OnNob3VsZEJlTm9ybWFsRmxv
d09ubHkoKSBjb25zdAogewogICAgIGlmIChjYW5DcmVhdGVTdGFja2luZ0NvbnRleHQoKnRoaXMp
KQpAQCAtMjgwMyw2ICsyODE3LDEzIEBAIGJvb2wgUmVuZGVyTGF5ZXI6OmFsbG93c0N1cnJlbnRT
Y3JvbGwoKSBjb25zdAogICAgIHJldHVybiBib3gtPmhhc0hvcml6b250YWxPdmVyZmxvdygpIHx8
IGJveC0+aGFzVmVydGljYWxPdmVyZmxvdygpOwogfQogCitBbmltYXRlZFNjcm9sbCBSZW5kZXJM
YXllcjo6c2hvdWxkVXNlQW5pbWF0ZWRTY3JvbGxGb3JTY3JvbGxSZWN0VG9WaXNpYmxlKEVsZW1l
bnQqIGVsZW1lbnQsIFNjcm9sbEJlaGF2aW9yIGJlaGF2aW9yKQoreworICAgIGJvb2wgdXNlQW5p
bWF0ZWRTY3JvbGxpbmcgPSAhcmVuZGVyZXIoKS5mcmFtZSgpLmV2ZW50SGFuZGxlcigpLmF1dG9z
Y3JvbGxJblByb2dyZXNzKCkKKyAgICAgICAgJiYgZWxlbWVudCAmJiB1c2VTbW9vdGhTY3JvbGxp
bmcoYmVoYXZpb3IsIGVsZW1lbnQpOworICAgIHJldHVybiB1c2VBbmltYXRlZFNjcm9sbGluZyA/
IEFuaW1hdGVkU2Nyb2xsOjpZZXMgOiBBbmltYXRlZFNjcm9sbDo6Tm87Cit9CisKIHZvaWQgUmVu
ZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVS
ZWN0LCBib29sIGluc2lkZUZpeGVkLCBjb25zdCBTY3JvbGxSZWN0VG9WaXNpYmxlT3B0aW9ucyYg
b3B0aW9ucykKIHsKICAgICBMT0dfV0lUSF9TVFJFQU0oU2Nyb2xsaW5nLCBzdHJlYW0gPDwgIkxh
eWVyICIgPDwgdGhpcyA8PCAiIHNjcm9sbFJlY3RUb1Zpc2libGUgIiA8PCBhYnNvbHV0ZVJlY3Qp
OwpAQCAtMjgxMCw3ICsyODMxLDYgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlz
aWJsZShjb25zdCBMYXlvdXRSZWN0JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICBMYXlv
dXRSZWN0IG5ld1JlY3QgPSBhYnNvbHV0ZVJlY3Q7CiAgICAgRnJhbWVWaWV3JiBmcmFtZVZpZXcg
PSByZW5kZXJlcigpLnZpZXcoKS5mcmFtZVZpZXcoKTsKICAgICBhdXRvKiBwYXJlbnRMYXllciA9
IGVuY2xvc2luZ0NvbnRhaW5pbmdCbG9ja0xheWVyKCp0aGlzLCBDcm9zc0ZyYW1lQm91bmRhcmll
czo6Tm8pOwotICAgIGJvb2wgYXV0b3Njcm9sbE5vdEluUHJvZ3Jlc3MgPSAhcmVuZGVyZXIoKS5m
cmFtZSgpLmV2ZW50SGFuZGxlcigpLmF1dG9zY3JvbGxJblByb2dyZXNzKCk7CiAKICAgICBpZiAo
YWxsb3dzQ3VycmVudFNjcm9sbCgpKSB7CiAgICAgICAgIC8vIERvbid0IHNjcm9sbCB0byByZXZl
YWwgYW4gb3ZlcmZsb3cgbGF5ZXIgdGhhdCBpcyByZXN0cmljdGVkIGJ5IHRoZSAtd2Via2l0LWxp
bmUtY2xhbXAgcHJvcGVydHkuCkBAIC0yODI5LDE0ICsyODQ5LDEzIEBAIHZvaWQgUmVuZGVyTGF5
ZXI6OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBi
b29sIGluc2lkCiAgICAgICAgICAgICBsb2NhbEV4cG9zZVJlY3QubW92ZUJ5KExheW91dFBvaW50
KC12ZXJ0aWNhbFNjcm9sbGJhcldpZHRoKCksIDApKTsKICAgICAgICAgfQogICAgICAgICBMYXlv
dXRSZWN0IGxheWVyQm91bmRzKDBfbHUsIDBfbHUsIGJveC0+Y2xpZW50V2lkdGgoKSwgYm94LT5j
bGllbnRIZWlnaHQoKSk7CisgICAgICAgIGV4cGFuZFNjcm9sbFJlY3RUb1Zpc2libGVUYXJnZXRS
ZWN0VG9JbmNsdWRlU2Nyb2xsUGFkZGluZyhib3gsIGxheWVyQm91bmRzLCAmbG9jYWxFeHBvc2VS
ZWN0KTsKICAgICAgICAgTGF5b3V0UmVjdCByZXZlYWxSZWN0ID0gZ2V0UmVjdFRvRXhwb3NlKGxh
eWVyQm91bmRzLCBsb2NhbEV4cG9zZVJlY3QsIGluc2lkZUZpeGVkLCBvcHRpb25zLmFsaWduWCwg
b3B0aW9ucy5hbGlnblkpOwogCiAgICAgICAgIFNjcm9sbE9mZnNldCBjbGFtcGVkU2Nyb2xsT2Zm
c2V0ID0gY2xhbXBTY3JvbGxPZmZzZXQoc2Nyb2xsT2Zmc2V0KCkgKyB0b0ludFNpemUocm91bmRl
ZEludFJlY3QocmV2ZWFsUmVjdCkubG9jYXRpb24oKSkpOwogICAgICAgICBpZiAoY2xhbXBlZFNj
cm9sbE9mZnNldCAhPSBzY3JvbGxPZmZzZXQoKSB8fCBjdXJyZW50U2Nyb2xsQmVoYXZpb3JTdGF0
dXMoKSAhPSBTY3JvbGxCZWhhdmlvclN0YXR1czo6Tm90SW5BbmltYXRpb24pIHsKICAgICAgICAg
ICAgIFNjcm9sbE9mZnNldCBvbGRTY3JvbGxPZmZzZXQgPSBzY3JvbGxPZmZzZXQoKTsKLSAgICAg
ICAgICAgIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6Ok5vOwotICAg
ICAgICAgICAgaWYgKGF1dG9zY3JvbGxOb3RJblByb2dyZXNzICYmIHVzZVNtb290aFNjcm9sbGlu
ZyhvcHRpb25zLmJlaGF2aW9yLCBib3gtPmVsZW1lbnQoKSkpCi0gICAgICAgICAgICAgICAgYW5p
bWF0ZWQgPSBBbmltYXRlZFNjcm9sbDo6WWVzOworICAgICAgICAgICAgQW5pbWF0ZWRTY3JvbGwg
YW5pbWF0ZWQgPSB0aGlzLT5zaG91bGRVc2VBbmltYXRlZFNjcm9sbEZvclNjcm9sbFJlY3RUb1Zp
c2libGUoYm94LT5lbGVtZW50KCksIG9wdGlvbnMuYmVoYXZpb3IpOwogICAgICAgICAgICAgc2V0
U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KGNsYW1wZWRTY3JvbGxPZmZz
ZXQpLCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBh
bmltYXRlZCk7CiAgICAgICAgICAgICBJbnRTaXplIHNjcm9sbE9mZnNldERpZmZlcmVuY2UgPSBj
bGFtcGVkU2Nyb2xsT2Zmc2V0IC0gb2xkU2Nyb2xsT2Zmc2V0OwogICAgICAgICAgICAgbG9jYWxF
eHBvc2VSZWN0Lm1vdmUoLXNjcm9sbE9mZnNldERpZmZlcmVuY2UpOwpAQCAtMjg1NiwxOCArMjg3
NSwxOSBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91
dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgICAgIFNjcmlwdERp
c2FsbG93ZWRTY29wZTo6SW5NYWluVGhyZWFkIHNjcmlwdERpc2FsbG93ZWRTY29wZTsKIAogICAg
ICAgICAgICAgICAgIExheW91dFJlY3Qgdmlld1JlY3QgPSBmcmFtZVZpZXcudmlzaWJsZUNvbnRl
bnRSZWN0KExlZ2FjeUlPU0RvY3VtZW50VmlzaWJsZVJlY3QpOwotICAgICAgICAgICAgICAgIExh
eW91dFJlY3QgZXhwb3NlUmVjdCA9IGdldFJlY3RUb0V4cG9zZSh2aWV3UmVjdCwgYWJzb2x1dGVS
ZWN0LCBpbnNpZGVGaXhlZCwgb3B0aW9ucy5hbGlnblgsIG9wdGlvbnMuYWxpZ25ZKTsKKworICAg
ICAgICAgICAgICAgIGF1dG8qIGVsZW1lbnQgPSBvd25lckVsZW1lbnQtPmNvbnRlbnREb2N1bWVu
dCgpID8gb3duZXJFbGVtZW50LT5jb250ZW50RG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCkg
OiBudWxscHRyOworICAgICAgICAgICAgICAgIFJlbmRlckJveCogcmVuZGVyZXIgPSBlbGVtZW50
ID8gZWxlbWVudC0+cmVuZGVyQm94KCkgOiBudWxscHRyOworICAgICAgICAgICAgICAgIGV4cGFu
ZFNjcm9sbFJlY3RUb1Zpc2libGVUYXJnZXRSZWN0VG9JbmNsdWRlU2Nyb2xsUGFkZGluZyhyZW5k
ZXJlciwgdmlld1JlY3QsICZuZXdSZWN0KTsKKworICAgICAgICAgICAgICAgIExheW91dFJlY3Qg
ZXhwb3NlUmVjdCA9IGdldFJlY3RUb0V4cG9zZSh2aWV3UmVjdCwgbmV3UmVjdCwgaW5zaWRlRml4
ZWQsIG9wdGlvbnMuYWxpZ25YLCBvcHRpb25zLmFsaWduWSk7CiAKICAgICAgICAgICAgICAgICBJ
bnRQb2ludCBzY3JvbGxQb3NpdGlvbihyb3VuZGVkSW50UG9pbnQoZXhwb3NlUmVjdC5sb2NhdGlv
bigpKSk7CiAgICAgICAgICAgICAgICAgLy8gQWRqdXN0IG9mZnNldHMgaWYgdGhleSdyZSBvdXRz
aWRlIG9mIHRoZSBhbGxvd2FibGUgcmFuZ2UuCiAgICAgICAgICAgICAgICAgc2Nyb2xsUG9zaXRp
b24gPSBzY3JvbGxQb3NpdGlvbi5jb25zdHJhaW5lZEJldHdlZW4oSW50UG9pbnQoKSwgSW50UG9p
bnQoZnJhbWVWaWV3LmNvbnRlbnRzU2l6ZSgpKSk7CiAgICAgICAgICAgICAgICAgLy8gRklYTUU6
IFNob3VsZCB3ZSB1c2UgY29udGVudERvY3VtZW50KCktPnNjcm9sbGluZ0VsZW1lbnQoKT8KICAg
ICAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwNTA1OQotICAgICAgICAgICAgICAgIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkID0gQW5p
bWF0ZWRTY3JvbGw6Ok5vOwotICAgICAgICAgICAgICAgIGlmIChhdXRvc2Nyb2xsTm90SW5Qcm9n
cmVzcwotICAgICAgICAgICAgICAgICAgICAmJiBvd25lckVsZW1lbnQtPmNvbnRlbnREb2N1bWVu
dCgpCi0gICAgICAgICAgICAgICAgICAgICYmIHVzZVNtb290aFNjcm9sbGluZyhvcHRpb25zLmJl
aGF2aW9yLCBvd25lckVsZW1lbnQtPmNvbnRlbnREb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQo
KSkpCi0gICAgICAgICAgICAgICAgICAgIGFuaW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6OlllczsK
KyAgICAgICAgICAgICAgICBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IHRoaXMtPnNob3VsZFVz
ZUFuaW1hdGVkU2Nyb2xsRm9yU2Nyb2xsUmVjdFRvVmlzaWJsZShlbGVtZW50LCBvcHRpb25zLmJl
aGF2aW9yKTsKICAgICAgICAgICAgICAgICBmcmFtZVZpZXcuc2V0U2Nyb2xsUG9zaXRpb24oc2Ny
b2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBhbmltYXRlZCk7CiAKICAgICAg
ICAgICAgICAgICBpZiAob3B0aW9ucy5zaG91bGRBbGxvd0Nyb3NzT3JpZ2luU2Nyb2xsaW5nID09
IFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6OlllcyB8fCBmcmFtZVZpZXcuc2FmZVRv
UHJvcGFnYXRlU2Nyb2xsVG9QYXJlbnQoKSkgewpAQCAtMjkwNCwxNSArMjkyNCwxNyBAQCB2b2lk
IFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91dFJlY3QmIGFic29s
dXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgTGF5b3V0UmVjdCB0YXJnZXRSZWN0ID0g
YWJzb2x1dGVSZWN0OwogICAgICAgICAgICAgdGFyZ2V0UmVjdC5tb3ZlKDAsIGZyYW1lVmlldy5o
ZWFkZXJIZWlnaHQoKSk7CiAKKyAgICAgICAgICAgIGF1dG8qIGVsZW1lbnQgPSBmcmFtZVZpZXcu
ZnJhbWUoKS5kb2N1bWVudCgpID8gZnJhbWVWaWV3LmZyYW1lKCkuZG9jdW1lbnQoKS0+ZG9jdW1l
bnRFbGVtZW50KCkgOiBudWxscHRyOworICAgICAgICAgICAgUmVuZGVyQm94KiByZW5kZXJlciA9
IGVsZW1lbnQgPyBlbGVtZW50LT5yZW5kZXJCb3goKSA6IG51bGxwdHI7CisgICAgICAgICAgICBl
eHBhbmRTY3JvbGxSZWN0VG9WaXNpYmxlVGFyZ2V0UmVjdFRvSW5jbHVkZVNjcm9sbFBhZGRpbmco
cmVuZGVyZXIsIHZpZXdSZWN0LCAmdGFyZ2V0UmVjdCk7CisKICAgICAgICAgICAgIExheW91dFJl
Y3QgcmV2ZWFsUmVjdCA9IGdldFJlY3RUb0V4cG9zZSh2aWV3UmVjdCwgdGFyZ2V0UmVjdCwgaW5z
aWRlRml4ZWQsIG9wdGlvbnMuYWxpZ25YLCBvcHRpb25zLmFsaWduWSk7CiAgICAgICAgICAgICAv
LyBBdm9pZCBzY3JvbGxpbmcgdG8gdGhlIHJvdW5kZWQgdmFsdWUgb2YgcmV2ZWFsUmVjdC5sb2Nh
dGlvbigpIGlmIHdlIGRvbid0IGFjdHVhbGx5IG5lZWQgdG8gc2Nyb2xsCiAgICAgICAgICAgICBp
ZiAocmV2ZWFsUmVjdCAhPSB2aWV3UmVjdCkgewogICAgICAgICAgICAgICAgIFNjcm9sbE9mZnNl
dCBjbGFtcGVkU2Nyb2xsUG9zaXRpb24gPSByb3VuZGVkSW50UG9pbnQocmV2ZWFsUmVjdC5sb2Nh
dGlvbigpKS5jb25zdHJhaW5lZEJldHdlZW4obWluU2Nyb2xsUG9zaXRpb24sIG1heFNjcm9sbFBv
c2l0aW9uKTsKICAgICAgICAgICAgICAgICAvLyBGSVhNRTogU2hvdWxkIHdlIHVzZSBkb2N1bWVu
dCgpLT5zY3JvbGxpbmdFbGVtZW50KCk/CiAgICAgICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUwNTkKLSAgICAgICAgICAgICAgICBB
bmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IEFuaW1hdGVkU2Nyb2xsOjpObzsKLSAgICAgICAgICAg
ICAgICBpZiAoYXV0b3Njcm9sbE5vdEluUHJvZ3Jlc3MgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9w
dGlvbnMuYmVoYXZpb3IsIHJlbmRlcmVyKCkuZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSkp
Ci0gICAgICAgICAgICAgICAgICAgIGFuaW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6OlllczsKKyAg
ICAgICAgICAgICAgICBBbmltYXRlZFNjcm9sbCBhbmltYXRlZCA9IHRoaXMtPnNob3VsZFVzZUFu
aW1hdGVkU2Nyb2xsRm9yU2Nyb2xsUmVjdFRvVmlzaWJsZShlbGVtZW50LCBvcHRpb25zLmJlaGF2
aW9yKTsKICAgICAgICAgICAgICAgICBmcmFtZVZpZXcuc2V0U2Nyb2xsUG9zaXRpb24oY2xhbXBl
ZFNjcm9sbFBvc2l0aW9uLCBTY3JvbGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOwogICAg
ICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IGZk
ZmYyZWZkZmViMTNmYzA3Njk5Njc1MmU4MjA2MmY1OGRkMTcxY2YuLjczNmQyZGMzNGUzMDE1NDM0
ODZiYWUxMWQ0ZThkNzAxOTcwYTYwYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5oCkBAIC0xMjI4LDkgKzEyMjgsMTAgQEAgcHJpdmF0ZToKICAgICAgICAgfQogICAgIH07
CiAgICAgT3ZlcmZsb3dDb250cm9sUmVjdHMgb3ZlcmZsb3dDb250cm9sc1JlY3RzKCkgY29uc3Q7
Ci0KICAgICBib29sIG92ZXJmbG93Q29udHJvbHNJbnRlcnNlY3RSZWN0KGNvbnN0IEludFJlY3Qm
IGxvY2FsUmVjdCkgY29uc3Q7CiAKKyAgICBBbmltYXRlZFNjcm9sbCBzaG91bGRVc2VBbmltYXRl
ZFNjcm9sbEZvclNjcm9sbFJlY3RUb1Zpc2libGUoRWxlbWVudCosIFNjcm9sbEJlaGF2aW9yKTsK
KwogICAgIE9wdGlvblNldDxDb21wb3NpdGluZz4gbV9jb21wb3NpdGluZ0RpcnR5Qml0czsKIAog
ICAgIGNvbnN0IGJvb2wgbV9pc1JlbmRlclZpZXdMYXllciA6IDE7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAKaW5kZXggZmM2ZDhm
MzM4ZmNhNzM3YjUxOWUzZWRhMmEwYjk3YTM4MmUzNmRjOC4uMDUyYTljNzVlNjM1NTZhM2VlYWJi
ZmRmMWMyMjFiZTNjMTNiNGNhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcApAQCAtMTIyLDcgKzEyMiw3IEBAIHZvaWQgUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdDo6c3R5bGVXaWxsQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZm
LCBjb25zdCBSZW5kZXJTCiAjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKIHN0YXRpYyBib29s
IHNjcm9sbFNuYXBDb250YWluZXJSZXF1aXJlc1VwZGF0ZUZvclN0eWxlVXBkYXRlKGNvbnN0IFJl
bmRlclN0eWxlJiBvbGRTdHlsZSwgY29uc3QgUmVuZGVyU3R5bGUmIG5ld1N0eWxlKQogewotICAg
IHJldHVybiBvbGRTdHlsZS5zY3JvbGxTbmFwUG9ydCgpICE9IG5ld1N0eWxlLnNjcm9sbFNuYXBQ
b3J0KCk7CisgICAgcmV0dXJuIG9sZFN0eWxlLnNjcm9sbFBhZGRpbmcoKSAhPSBuZXdTdHlsZS5z
Y3JvbGxQYWRkaW5nKCkgfHwgb2xkU3R5bGUuc2Nyb2xsU25hcFR5cGUoKSAhPSBuZXdTdHlsZS5z
Y3JvbGxTbmFwVHlwZSgpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCmluZGV4IGUwOWNkMzFjMDQxODIwMDZlNWNkOGYyNjI0
YzQ4NzVhYzY5NWM3MDAuLjZkZDRhZTA2ZmEyNTU2NGUyNGUzMGRlMzEzNWFiM2MzY2ZkNTlmZWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcApA
QCAtMjQzOSwzMSArMjQzOSw5IEBAIHZvaWQgUmVuZGVyU3R5bGU6OnNldFNjcm9sbE1hcmdpblJp
Z2h0KExlbmd0aCYmIGxlbmd0aCkKICAgICBTRVRfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEs
IHNjcm9sbE1hcmdpbi5yaWdodCgpLCBXVEZNb3ZlKGxlbmd0aCkpOwogfQogCi0jaWYgRU5BQkxF
KENTU19TQ1JPTExfU05BUCkKLQotU2Nyb2xsU25hcFR5cGUgUmVuZGVyU3R5bGU6OmluaXRpYWxT
Y3JvbGxTbmFwVHlwZSgpCi17Ci0gICAgcmV0dXJuIHsgfTsKLX0KLQotU2Nyb2xsU25hcEFsaWdu
IFJlbmRlclN0eWxlOjppbml0aWFsU2Nyb2xsU25hcEFsaWduKCkKLXsKLSAgICByZXR1cm4geyB9
OwotfQotCi1jb25zdCBTdHlsZVNjcm9sbFNuYXBQb3J0JiBSZW5kZXJTdHlsZTo6c2Nyb2xsU25h
cFBvcnQoKSBjb25zdAotewotICAgIHJldHVybiAqbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+c2Ny
b2xsU25hcFBvcnQ7Ci19Ci0KLWNvbnN0IFNjcm9sbFNuYXBUeXBlJiBSZW5kZXJTdHlsZTo6c2Ny
b2xsU25hcFR5cGUoKSBjb25zdAotewotICAgIHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRh
LT5zY3JvbGxTbmFwUG9ydC0+dHlwZTsKLX0KLQogY29uc3QgTGVuZ3RoQm94JiBSZW5kZXJTdHls
ZTo6c2Nyb2xsUGFkZGluZygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRl
ZERhdGEtPnNjcm9sbFNuYXBQb3J0LT5zY3JvbGxQYWRkaW5nOworICAgIHJldHVybiBtX3JhcmVO
b25Jbmhlcml0ZWREYXRhLT5zY3JvbGxQYWRkaW5nOwogfQogCiBjb25zdCBMZW5ndGgmIFJlbmRl
clN0eWxlOjpzY3JvbGxQYWRkaW5nVG9wKCkgY29uc3QKQEAgLTI0ODYsMzQgKzI0NjQsNTAgQEAg
Y29uc3QgTGVuZ3RoJiBSZW5kZXJTdHlsZTo6c2Nyb2xsUGFkZGluZ1JpZ2h0KCkgY29uc3QKICAg
ICByZXR1cm4gc2Nyb2xsUGFkZGluZygpLnJpZ2h0KCk7CiB9CiAKLWNvbnN0IFNjcm9sbFNuYXBB
bGlnbiYgUmVuZGVyU3R5bGU6OnNjcm9sbFNuYXBBbGlnbigpIGNvbnN0Cit2b2lkIFJlbmRlclN0
eWxlOjpzZXRTY3JvbGxQYWRkaW5nVG9wKExlbmd0aCYmIGxlbmd0aCkKIHsKLSAgICByZXR1cm4g
bV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+c2Nyb2xsU25hcEFsaWduOworICAgIFNFVF9WQVIobV9y
YXJlTm9uSW5oZXJpdGVkRGF0YSwgc2Nyb2xsUGFkZGluZy50b3AoKSwgV1RGTW92ZShsZW5ndGgp
KTsKIH0KIAotdm9pZCBSZW5kZXJTdHlsZTo6c2V0U2Nyb2xsU25hcFR5cGUoY29uc3QgU2Nyb2xs
U25hcFR5cGUmIHR5cGUpCit2b2lkIFJlbmRlclN0eWxlOjpzZXRTY3JvbGxQYWRkaW5nQm90dG9t
KExlbmd0aCYmIGxlbmd0aCkKIHsKLSAgICBTRVRfTkVTVEVEX1ZBUihtX3JhcmVOb25Jbmhlcml0
ZWREYXRhLCBzY3JvbGxTbmFwUG9ydCwgdHlwZSwgdHlwZSk7CisgICAgU0VUX1ZBUihtX3JhcmVO
b25Jbmhlcml0ZWREYXRhLCBzY3JvbGxQYWRkaW5nLmJvdHRvbSgpLCBXVEZNb3ZlKGxlbmd0aCkp
OwogfQogCi12b2lkIFJlbmRlclN0eWxlOjpzZXRTY3JvbGxQYWRkaW5nVG9wKExlbmd0aCYmIGxl
bmd0aCkKK3ZvaWQgUmVuZGVyU3R5bGU6OnNldFNjcm9sbFBhZGRpbmdMZWZ0KExlbmd0aCYmIGxl
bmd0aCkKIHsKLSAgICBTRVRfTkVTVEVEX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBzY3Jv
bGxTbmFwUG9ydCwgc2Nyb2xsUGFkZGluZy50b3AoKSwgV1RGTW92ZShsZW5ndGgpKTsKKyAgICBT
RVRfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEsIHNjcm9sbFBhZGRpbmcubGVmdCgpLCBXVEZN
b3ZlKGxlbmd0aCkpOwogfQogCi12b2lkIFJlbmRlclN0eWxlOjpzZXRTY3JvbGxQYWRkaW5nQm90
dG9tKExlbmd0aCYmIGxlbmd0aCkKK3ZvaWQgUmVuZGVyU3R5bGU6OnNldFNjcm9sbFBhZGRpbmdS
aWdodChMZW5ndGgmJiBsZW5ndGgpCiB7Ci0gICAgU0VUX05FU1RFRF9WQVIobV9yYXJlTm9uSW5o
ZXJpdGVkRGF0YSwgc2Nyb2xsU25hcFBvcnQsIHNjcm9sbFBhZGRpbmcuYm90dG9tKCksIFdURk1v
dmUobGVuZ3RoKSk7CisgICAgU0VUX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBzY3JvbGxQ
YWRkaW5nLnJpZ2h0KCksIFdURk1vdmUobGVuZ3RoKSk7CiB9CisjaWYgRU5BQkxFKENTU19TQ1JP
TExfU05BUCkKIAotdm9pZCBSZW5kZXJTdHlsZTo6c2V0U2Nyb2xsUGFkZGluZ0xlZnQoTGVuZ3Ro
JiYgbGVuZ3RoKQorU2Nyb2xsU25hcFR5cGUgUmVuZGVyU3R5bGU6OmluaXRpYWxTY3JvbGxTbmFw
VHlwZSgpCiB7Ci0gICAgU0VUX05FU1RFRF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgc2Ny
b2xsU25hcFBvcnQsIHNjcm9sbFBhZGRpbmcubGVmdCgpLCBXVEZNb3ZlKGxlbmd0aCkpOworICAg
IHJldHVybiB7IH07CiB9CiAKLXZvaWQgUmVuZGVyU3R5bGU6OnNldFNjcm9sbFBhZGRpbmdSaWdo
dChMZW5ndGgmJiBsZW5ndGgpCitTY3JvbGxTbmFwQWxpZ24gUmVuZGVyU3R5bGU6OmluaXRpYWxT
Y3JvbGxTbmFwQWxpZ24oKQoreworICAgIHJldHVybiB7IH07Cit9CisKK2NvbnN0IFNjcm9sbFNu
YXBUeXBlJiBSZW5kZXJTdHlsZTo6c2Nyb2xsU25hcFR5cGUoKSBjb25zdAoreworICAgIHJldHVy
biBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5zY3JvbGxTbmFwVHlwZTsKK30KKworY29uc3QgU2Ny
b2xsU25hcEFsaWduJiBSZW5kZXJTdHlsZTo6c2Nyb2xsU25hcEFsaWduKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+c2Nyb2xsU25hcEFsaWduOworfQorCit2
b2lkIFJlbmRlclN0eWxlOjpzZXRTY3JvbGxTbmFwVHlwZShjb25zdCBTY3JvbGxTbmFwVHlwZSYg
dHlwZSkKIHsKLSAgICBTRVRfTkVTVEVEX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBzY3Jv
bGxTbmFwUG9ydCwgc2Nyb2xsUGFkZGluZy5yaWdodCgpLCBXVEZNb3ZlKGxlbmd0aCkpOworICAg
IFNFVF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgc2Nyb2xsU25hcFR5cGUsIHR5cGUpOwog
fQogCiB2b2lkIFJlbmRlclN0eWxlOjpzZXRTY3JvbGxTbmFwQWxpZ24oY29uc3QgU2Nyb2xsU25h
cEFsaWduJiBhbGlnbm1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5oCmluZGV4IGE1OWRjZTg3MjA3YWJiMTU1ODA0ODg4NjUyMTEwOGM4OWNjYWViZWEu
LjczNWM0OTQ0M2RhOTMzMzQ2YjJhZjllZTJjYmEyZWVkZTJkNzEwN2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC0xMTcsNyArMTE3LDYgQEAg
Y2xhc3MgU2hhZG93RGF0YTsKIGNsYXNzIFN0eWxlSW1hZ2U7CiBjbGFzcyBTdHlsZUluaGVyaXRl
ZERhdGE7CiBjbGFzcyBTdHlsZVNjcm9sbFNuYXBBcmVhOwotY2xhc3MgU3R5bGVTY3JvbGxTbmFw
UG9ydDsKIGNsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4OwogCiBzdHJ1Y3QgU2Nyb2xsU25hcEFs
aWduOwpAQCAtNzI1LDE4ICs3MjQsMTUgQEAgcHVibGljOgogICAgIGNvbnN0IExlbmd0aCYgc2Ny
b2xsTWFyZ2luTGVmdCgpIGNvbnN0OwogICAgIGNvbnN0IExlbmd0aCYgc2Nyb2xsTWFyZ2luUmln
aHQoKSBjb25zdDsKIAotI2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVApCi0gICAgYm9vbCBoYXNT
bmFwUG9zaXRpb24oKSBjb25zdDsKLQotICAgIC8vIFNjcm9sbCBzbmFwIHBvcnQgc3R5bGUuCi0g
ICAgY29uc3QgU3R5bGVTY3JvbGxTbmFwUG9ydCYgc2Nyb2xsU25hcFBvcnQoKSBjb25zdDsKLSAg
ICBjb25zdCBTY3JvbGxTbmFwVHlwZSYgc2Nyb2xsU25hcFR5cGUoKSBjb25zdDsKICAgICBjb25z
dCBMZW5ndGhCb3gmIHNjcm9sbFBhZGRpbmcoKSBjb25zdDsKICAgICBjb25zdCBMZW5ndGgmIHNj
cm9sbFBhZGRpbmdUb3AoKSBjb25zdDsKICAgICBjb25zdCBMZW5ndGgmIHNjcm9sbFBhZGRpbmdC
b3R0b20oKSBjb25zdDsKICAgICBjb25zdCBMZW5ndGgmIHNjcm9sbFBhZGRpbmdMZWZ0KCkgY29u
c3Q7CiAgICAgY29uc3QgTGVuZ3RoJiBzY3JvbGxQYWRkaW5nUmlnaHQoKSBjb25zdDsKIAorI2lm
IEVOQUJMRShDU1NfU0NST0xMX1NOQVApCisgICAgYm9vbCBoYXNTbmFwUG9zaXRpb24oKSBjb25z
dDsKKyAgICBjb25zdCBTY3JvbGxTbmFwVHlwZSYgc2Nyb2xsU25hcFR5cGUoKSBjb25zdDsKICAg
ICBjb25zdCBTY3JvbGxTbmFwQWxpZ24mIHNjcm9sbFNuYXBBbGlnbigpIGNvbnN0OwogI2VuZGlm
CiAKQEAgLTEyNzAsMTMgKzEyNjYsMTMgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U2Nyb2xsTWFy
Z2luTGVmdChMZW5ndGgmJik7CiAgICAgdm9pZCBzZXRTY3JvbGxNYXJnaW5SaWdodChMZW5ndGgm
Jik7CiAKLSNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQotICAgIHZvaWQgc2V0U2Nyb2xsU25h
cFR5cGUoY29uc3QgU2Nyb2xsU25hcFR5cGUmKTsKICAgICB2b2lkIHNldFNjcm9sbFBhZGRpbmdU
b3AoTGVuZ3RoJiYpOwogICAgIHZvaWQgc2V0U2Nyb2xsUGFkZGluZ0JvdHRvbShMZW5ndGgmJik7
CiAgICAgdm9pZCBzZXRTY3JvbGxQYWRkaW5nTGVmdChMZW5ndGgmJik7CiAgICAgdm9pZCBzZXRT
Y3JvbGxQYWRkaW5nUmlnaHQoTGVuZ3RoJiYpOwogCisjaWYgRU5BQkxFKENTU19TQ1JPTExfU05B
UCkKKyAgICB2b2lkIHNldFNjcm9sbFNuYXBUeXBlKGNvbnN0IFNjcm9sbFNuYXBUeXBlJik7CiAg
ICAgdm9pZCBzZXRTY3JvbGxTbmFwQWxpZ24oY29uc3QgU2Nyb2xsU25hcEFsaWduJik7CiAjZW5k
aWYKIApAQCAtMTY3NiwxMSArMTY3MiwxMSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFRvdWNoQWN0
aW9uIGluaXRpYWxUb3VjaEFjdGlvbnMoKSB7IHJldHVybiBUb3VjaEFjdGlvbjo6QXV0bzsgfQog
CiAgICAgc3RhdGljIExlbmd0aCBpbml0aWFsU2Nyb2xsTWFyZ2luKCkgeyByZXR1cm4gTGVuZ3Ro
KEZpeGVkKTsgfQorICAgIHN0YXRpYyBMZW5ndGggaW5pdGlhbFNjcm9sbFBhZGRpbmcoKSB7IHJl
dHVybiBMZW5ndGgoRml4ZWQpOyB9CiAKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQogICAg
IHN0YXRpYyBTY3JvbGxTbmFwVHlwZSBpbml0aWFsU2Nyb2xsU25hcFR5cGUoKTsKICAgICBzdGF0
aWMgU2Nyb2xsU25hcEFsaWduIGluaXRpYWxTY3JvbGxTbmFwQWxpZ24oKTsKLSAgICBzdGF0aWMg
TGVuZ3RoIGluaXRpYWxTY3JvbGxQYWRkaW5nKCkgeyByZXR1cm4gTGVuZ3RoKEZpeGVkKTsgfQog
I2VuZGlmCiAKICNpZiBFTkFCTEUoQ1NTX1RSQUlMSU5HX1dPUkQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0
YS5jcHAKaW5kZXggMWJiYzYxOTkyNjU2YWFmNzRjNjExMTExMDJmNjU5ODE5NzUwMGU2MC4uNDUx
NTJlZmVkOGZmN2FlNzQ2MWFkMDgxYmJiYjE0NDIyNGU3ZTdhOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWRE
YXRhLmNwcApAQCAtNTksOSArNTksNiBAQCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpTdHls
ZVJhcmVOb25Jbmhlcml0ZWREYXRhKCkKICNlbmRpZgogICAgICwgZ3JpZChTdHlsZUdyaWREYXRh
OjpjcmVhdGUoKSkKICAgICAsIGdyaWRJdGVtKFN0eWxlR3JpZEl0ZW1EYXRhOjpjcmVhdGUoKSkK
LSNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQotICAgICwgc2Nyb2xsU25hcFBvcnQoU3R5bGVT
Y3JvbGxTbmFwUG9ydDo6Y3JlYXRlKCkpCi0jZW5kaWYKICAgICAsIHdpbGxDaGFuZ2UoUmVuZGVy
U3R5bGU6OmluaXRpYWxXaWxsQ2hhbmdlKCkpCiAgICAgLCBtYXNrKEZpbGxMYXllcjo6Y3JlYXRl
KEZpbGxMYXllclR5cGU6Ok1hc2spKQogICAgICwgbWFza0JveEltYWdlKE5pbmVQaWVjZUltYWdl
OjpUeXBlOjpNYXNrKQpAQCAtMTM4LDggKzEzNSw5IEBAIGlubGluZSBTdHlsZVJhcmVOb25Jbmhl
cml0ZWREYXRhOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhKGNvbnN0IFN0eWxlUmFyZU5vbklu
CiAgICAgLCBncmlkKG8uZ3JpZCkKICAgICAsIGdyaWRJdGVtKG8uZ3JpZEl0ZW0pCiAgICAgLCBz
Y3JvbGxNYXJnaW4oby5zY3JvbGxNYXJnaW4pCisgICAgLCBzY3JvbGxQYWRkaW5nKG8uc2Nyb2xs
UGFkZGluZykKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQotICAgICwgc2Nyb2xsU25hcFBv
cnQoby5zY3JvbGxTbmFwUG9ydCkKKyAgICAsIHNjcm9sbFNuYXBUeXBlKG8uc2Nyb2xsU25hcFR5
cGUpCiAgICAgLCBzY3JvbGxTbmFwQWxpZ24oby5zY3JvbGxTbmFwQWxpZ24pCiAjZW5kaWYKICAg
ICAsIGNvbnRlbnQoby5jb250ZW50ID8gby5jb250ZW50LT5jbG9uZSgpIDogbnVsbHB0cikKQEAg
LTI0MSw4ICsyMzksOSBAQCBib29sIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6Om9wZXJhdG9y
PT0oY29uc3QgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSYgbykgYwogICAgICAgICAmJiBncmlk
ID09IG8uZ3JpZAogICAgICAgICAmJiBncmlkSXRlbSA9PSBvLmdyaWRJdGVtCiAgICAgICAgICYm
IHNjcm9sbE1hcmdpbiA9PSBvLnNjcm9sbE1hcmdpbgorICAgICAgICAmJiBzY3JvbGxQYWRkaW5n
ID09IG8uc2Nyb2xsUGFkZGluZwogI2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVApCi0gICAgICAg
ICYmIHNjcm9sbFNuYXBQb3J0ID09IG8uc2Nyb2xsU25hcFBvcnQKKyAgICAgICAgJiYgc2Nyb2xs
U25hcFR5cGUgPT0gby5zY3JvbGxTbmFwVHlwZQogICAgICAgICAmJiBzY3JvbGxTbmFwQWxpZ24g
PT0gby5zY3JvbGxTbmFwQWxpZ24KICNlbmRpZgogICAgICAgICAmJiBjb250ZW50RGF0YUVxdWl2
YWxlbnQobykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHls
ZVJhcmVOb25Jbmhlcml0ZWREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oCmluZGV4IDMzOWYzM2VjMDg5NGIwYTlkZThjZmVk
Y2UwNzE2Mjg0NzkwZDRkYTQuLjBhYzYzNTAwYjg3ZjJlYzJhMjcwMDRiYmNhZDliNTdjN2ZjNzEx
OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVO
b25Jbmhlcml0ZWREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaApAQCAtMTMyLDggKzEzMiw5IEBAIHB1YmxpYzoKICAg
ICBEYXRhUmVmPFN0eWxlR3JpZEl0ZW1EYXRhPiBncmlkSXRlbTsKIAogICAgIExlbmd0aEJveCBz
Y3JvbGxNYXJnaW4geyAwLCAwLCAwLCAwIH07CisgICAgTGVuZ3RoQm94IHNjcm9sbFBhZGRpbmcg
eyAwLCAwLCAwLCAwIH07CiAjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKLSAgICBEYXRhUmVm
PFN0eWxlU2Nyb2xsU25hcFBvcnQ+IHNjcm9sbFNuYXBQb3J0OworICAgIFNjcm9sbFNuYXBUeXBl
IHNjcm9sbFNuYXBUeXBlOwogICAgIFNjcm9sbFNuYXBBbGlnbiBzY3JvbGxTbmFwQWxpZ247CiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
U2Nyb2xsU25hcFBvaW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5
bGVTY3JvbGxTbmFwUG9pbnRzLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjZh
MjI2YjUxODZmYWQ5ZDJlM2Y3ZmE5NDc2NDQ5MDc5N2ZjZDJkNy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVTY3JvbGxTbmFwUG9pbnRzLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDUxICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
LSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0g
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJTdHls
ZVNjcm9sbFNuYXBQb2ludHMuaCIKLQotI2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVApCi0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotUmVmPFN0eWxlU2Nyb2xsU25hcFBvcnQ+IFN0eWxlU2Nyb2xs
U25hcFBvcnQ6OmNvcHkoKSBjb25zdAotewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFN0eWxl
U2Nyb2xsU25hcFBvcnQoKnRoaXMpKTsKLX0KLQotU3R5bGVTY3JvbGxTbmFwUG9ydDo6U3R5bGVT
Y3JvbGxTbmFwUG9ydCgpCi17Ci19Ci0KLWlubGluZSBTdHlsZVNjcm9sbFNuYXBQb3J0OjpTdHls
ZVNjcm9sbFNuYXBQb3J0KGNvbnN0IFN0eWxlU2Nyb2xsU25hcFBvcnQmIG90aGVyKQotICAgIDog
UmVmQ291bnRlZCgpCi0gICAgLCB0eXBlKG90aGVyLnR5cGUpCi0gICAgLCBzY3JvbGxQYWRkaW5n
KG90aGVyLnNjcm9sbFBhZGRpbmcpCi17Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQot
I2VuZGlmIC8qIEVOQUJMRShDU1NfU0NST0xMX1NOQVApICovCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVTY3JvbGxTbmFwUG9pbnRzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVTY3JvbGxTbmFwUG9pbnRzLmgKaW5kZXggZjE5
NDRlMDM1YTI5NWY1MDJlMGFiN2NhYzIyMTU2NzlkNDY0YmMxOS4uYmY1MzU1ZDBhMGJhZmQ1OGIx
ZmEzODBjYjRlY2M2MWIzZWQzM2RmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1N0eWxlU2Nyb2xsU25hcFBvaW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9TdHlsZVNjcm9sbFNuYXBQb2ludHMuaApAQCAtNDcsMjYgKzQ3LDYgQEAg
aW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBTY3JvbGxTbmFwVHlwZSYgYSwgY29uc3QgU2Ny
b2xsU25hcFR5cGUmIGIpCiAKIGlubGluZSBib29sIG9wZXJhdG9yIT0oY29uc3QgU2Nyb2xsU25h
cFR5cGUmIGEsIGNvbnN0IFNjcm9sbFNuYXBUeXBlJiBiKSB7IHJldHVybiAhKGEgPT0gYik7IH0K
IAotY2xhc3MgU3R5bGVTY3JvbGxTbmFwUG9ydCA6IHB1YmxpYyBSZWZDb3VudGVkPFN0eWxlU2Ny
b2xsU25hcFBvcnQ+IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFN0eWxlU2Nyb2xsU25hcFBv
cnQ+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU3R5bGVTY3JvbGxTbmFwUG9ydCk7
IH0KLSAgICBSZWY8U3R5bGVTY3JvbGxTbmFwUG9ydD4gY29weSgpIGNvbnN0OwotCi0gICAgU2Ny
b2xsU25hcFR5cGUgdHlwZTsKLSAgICBMZW5ndGhCb3ggc2Nyb2xsUGFkZGluZyB7IDAsIDAsIDAs
IDAgfTsKLQotcHJpdmF0ZToKLSAgICBTdHlsZVNjcm9sbFNuYXBQb3J0KCk7Ci0gICAgU3R5bGVT
Y3JvbGxTbmFwUG9ydChjb25zdCBTdHlsZVNjcm9sbFNuYXBQb3J0Jik7Ci19OwotCi1pbmxpbmUg
Ym9vbCBvcGVyYXRvcj09KGNvbnN0IFN0eWxlU2Nyb2xsU25hcFBvcnQmIGEsIGNvbnN0IFN0eWxl
U2Nyb2xsU25hcFBvcnQmIGIpCi17Ci0gICAgcmV0dXJuIGEudHlwZSA9PSBiLnR5cGUgJiYgYS5z
Y3JvbGxQYWRkaW5nID09IGIuc2Nyb2xsUGFkZGluZzsKLX0KLQotaW5saW5lIGJvb2wgb3BlcmF0
b3IhPShjb25zdCBTdHlsZVNjcm9sbFNuYXBQb3J0JiBhLCBjb25zdCBTdHlsZVNjcm9sbFNuYXBQ
b3J0JiBiKSB7IHJldHVybiAhKGEgPT0gYik7IH0KLQogc3RydWN0IFNjcm9sbFNuYXBBbGlnbiB7
CiAgICAgU2Nyb2xsU25hcEF4aXNBbGlnblR5cGUgeCB7IFNjcm9sbFNuYXBBeGlzQWxpZ25UeXBl
OjpOb25lIH07CiAgICAgU2Nyb2xsU25hcEF4aXNBbGlnblR5cGUgeSB7IFNjcm9sbFNuYXBBeGlz
QWxpZ25UeXBlOjpOb25lIH07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjE0YzJkNWUyNDlhZjBlNzA3N2RkMzA0ZTNjZmIw
NDlkN2EyNzllZS4uOWFmMTM3MjJiMGY3ZmIwOGJiNDk0OWE1YjNhOWZkZWE0OTUwNGI2ZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTExLTE4ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5z
b25Ad2Via2l0Lm9yZz4KKworICAgICAgICBNYWtlIHNjcm9sbC1wYWRkaW5nIGluZGVwZW5kZW50
IG9mIHNjcm9sbC1zbmFwIGFuZCBoYXZlIGl0IGFmZmVjdCBzY3JvbGxJbnRvVmlldworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE5MDczCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRp
b25zOiBNYXJrIHNvbWUgdGVzdHMgYXMgcGFzc2luZy4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMt
d2sxL1Rlc3RFeHBlY3RhdGlvbnM6IE1hcmsgb25lIHRlc3QgYXMgZmFpbGluZyBkdWUgdG8gV2Vi
S2l0MSBzY3JvbGxiYXJzLgorCiAyMDIwLTExLTE3ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5j
b20+CiAKICAgICAgICAgQ2xlYW4gdXAgdGl0bGUtdGV4dC1wcm9wZXJ0eS5odG1sCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAxMjE2MDEzNDZkMDFhMTg1ODYyMzM2ZjllNmYwY2I0
YjY2MWFiNWZlLi43OGExMzE3YWNhNmExODJlZGQzMDZhYzlkODU0ODU0YWQ2NGU3YmUzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMC0xMS0xOCAg
TWFydGluIFJvYmluc29uICA8bXJvYmluc29uQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTWFrZSBz
Y3JvbGwtcGFkZGluZyBpbmRlcGVuZGVudCBvZiBzY3JvbGwtc25hcCBhbmQgaGF2ZSBpdCBhZmZl
Y3Qgc2Nyb2xsSW50b1ZpZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxOTA3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L3Njcm9sbEludG9W
aWV3LXNjcm9sbFBhZGRpbmctZXhwZWN0ZWQudHh0OiBVcGRhdGVkIHRvIHJlZmxlY3QgbmV3bHkg
cGFzc2luZyB0ZXN0LgorCiAyMDIwLTExLTE2ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVu
c2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRmlsZVJlYWRlckxvYWRlcjo6Y29udmVydFRvRGF0
YVVSTCBzaG91bGQgdXNlIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSBpZiBNSU1FIHR5cGUgaXMg
ZW1wdHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRU
ZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDNiNTUzNTUzODliMGQwOWM5YTdkM2VjM2YzYzU3
ZDVkMjdiMjgwZDUuLjk3NDBiMjNkOTc3OWZmMzk2OTFlMDI3ZGY3ZTk0MzRmMDQ3NjM1YzggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucwpAQCAtNDU1Myw5ICs0NTUzLDYgQEAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbC10YXJnZXQtYWxpZ24tMDAy
Lmh0bWwKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25h
cC9zY3JvbGwtdGFyZ2V0LWFsaWduLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJr
aXQub3JnL2IvMjE4MzI1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1z
Y3JvbGwtc25hcC9zY3JvbGwtdGFyZ2V0LW1hcmdpbi0wMDEuaHRtbCBbIFBhc3MgSW1hZ2VPbmx5
RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjE4MzI1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtdGFyZ2V0LW1hcmdpbi0wMDMuaHRtbCBb
IFBhc3MgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXRhcmdldC1wYWRkaW5nLTAwMS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2Nyb2xsLXNuYXAvc2Nyb2xsLXRhcmdldC1wYWRkaW5nLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNu
YXAvc2Nyb2xsLXRhcmdldC1wYWRkaW5nLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xs
LXRhcmdldC1zbmFwLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXRhcmdldC1zbmFw
LTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXRhcmdldC1zbmFwLTAwMy5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L3Njcm9sbEludG9WaWV3LXNjcm9sbFBh
ZGRpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3Nzb20tdmlldy9zY3JvbGxJbnRvVmlldy1zY3JvbGxQYWRkaW5nLWV4cGVj
dGVkLnR4dAppbmRleCA3ODc5MzZkNjc2MWEwNDVkZjAxYTNhYzA3ZmY1ZDVjYmI1MzgyMTdkLi5i
MjBjNWY1ZmIzNmIzNzQwNjgxM2U4YWVkMzBkOWU5MzI1ZjZkNmMzIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L3Nj
cm9sbEludG9WaWV3LXNjcm9sbFBhZGRpbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvc2Nyb2xsSW50
b1ZpZXctc2Nyb2xsUGFkZGluZy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAKLUZBSUwg
c2Nyb2xsSW50b1ZpZXcoe2Jsb2NrOiAiY2VudGVyIiwgaW5saW5lOiAiY2VudGVyIn0pIGFzc2Vy
dF9hcHByb3hfZXF1YWxzOiBzY3JvbGxYIGV4cGVjdGVkIDE1My41ICsvLSAwLjUgYnV0IGdvdCAx
NTgKLUZBSUwgc2Nyb2xsSW50b1ZpZXcoe2Jsb2NrOiAic3RhcnQiLCBpbmxpbmU6ICJzdGFydCJ9
KSBhc3NlcnRfYXBwcm94X2VxdWFsczogc2Nyb2xsWCBleHBlY3RlZCAxODQgKy8tIDAuNSBidXQg
Z290IDIwMAotRkFJTCBzY3JvbGxJbnRvVmlldyh7YmxvY2s6ICJlbmQiLCBpbmxpbmU6ICJlbmQi
fSkgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHNjcm9sbFggZXhwZWN0ZWQgMTIzICsvLSAwLjUgYnV0
IGdvdCAxMTUKK1BBU1Mgc2Nyb2xsSW50b1ZpZXcoe2Jsb2NrOiAiY2VudGVyIiwgaW5saW5lOiAi
Y2VudGVyIn0pCitQQVNTIHNjcm9sbEludG9WaWV3KHtibG9jazogInN0YXJ0IiwgaW5saW5lOiAi
c3RhcnQifSkKK1BBU1Mgc2Nyb2xsSW50b1ZpZXcoe2Jsb2NrOiAiZW5kIiwgaW5saW5lOiAiZW5k
In0pCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVj
dGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpp
bmRleCBmMjQzNTA4NzM2YTUwZDJhY2IxMmI2NzEzNmFhMjUxZTk5NzA3MWQyLi5kODZiYWYxZjBm
OTQzYjU1NTU1Y2QxMmEyYWI1ZTEyYjMyZWViODU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC00NDQsNiArNDQ0LDkgQEAgc3RvcmFnZS9p
bmRleGVkZGIvbW9kZXJuL2V4Y2VlZC1vcGVuLWZpbGUtbGltaXQuaHRtbAogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jb29raWVzL3NlY3VyZS9zZXQtZnJvbS13c3MuaHR0cHMuc3Vi
Lmh0bWwgWyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29va2ll
cy9zZWN1cmUvc2V0LWZyb20td3Muc3ViLmh0bWwgWyBGYWlsdXJlIF0KIAorIyBXZWJLaXQxIGZy
YW1lcyB1c2UgbmF0aXZlIHNjcm9sbGJhcnMgY2F1c2luZyB0aGlzIHJlZmVyZW5jZSB0ZXN0IHRv
IGZhaWwuCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNu
YXAvc2Nyb2xsLXRhcmdldC1wYWRkaW5nLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisK
ICMjIyBFTkQgT0YgKDIpIEZhaWx1cmVzIHdpdGhvdXQgYnVnIHJlcG9ydHMKICMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414547</attachid>
            <date>2020-11-19 00:55:09 -0800</date>
            <delta_ts>2020-11-19 06:00:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219073-20201119095507.patch</filename>
            <type>text/plain</type>
            <size>37995</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5OTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODg5N2M3ZGYzMGQ2NzVm
M2IwODU1NDVjMTUzNTJiMTcyNDFkZWEzNi4uYjIwNGE0Y2MyN2VmMWQwMzVjYjJjNTlmMzNlNTY3
NGQzMmQ4ZjFiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDIwLTExLTE4ICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25Ad2Via2l0Lm9yZz4KKworICAgICAgICBNYWtlIHNjcm9s
bC1wYWRkaW5nIGluZGVwZW5kZW50IG9mIHNjcm9sbC1zbmFwIGFuZCBoYXZlIGl0IGFmZmVjdCBz
Y3JvbGxJbnRvVmlldworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE5MDczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAg
ICAgIFRoZSBzY3JvbGwtcGFkZGluZyBDU1MgcHJvcGVydHkgaXMgbm93IGF2YWlsYWJsZSBldmVu
IHdoZW4gc2Nyb2xsLXNuYXAgaXMgbm90CisgICAgICAgIGVuYWJsZWQgYXQgY29tcGlsZS10aW1l
LiBBbHNvIG1ha2Ugc2Nyb2xsLXNuYXAgYWZmZWN0IHBvc2l0aW9uaW5nIGR1cmluZworICAgICAg
ICBzY3JvbGxJbnRvVmlldyBvcGVyYXRpb25zLgorCisgICAgICAgICogU291cmNlcy50eHQ6IFJl
bW92ZSBTY3JvbGxTbmFwUG9pbnRzLmNwcCwgYmVjYXVzZSBpdCBpcyBubyBsb25nZXIgbmVjZXNz
YXJ5LgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogRGl0dG8u
CisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6IEVuYWJsZSBz
Y3JvbGwtcGFkZGluZyBhbmQgc2Nyb2xsLXBhZGRpbmctKiB1bmNvbmRpdGlvbmFsbHkuCisgICAg
ICAgIChXZWJDb3JlOjpDb21wdXRlZFN0eWxlRXh0cmFjdG9yOjp2YWx1ZUZvclByb3BlcnR5SW5T
dHlsZSk6IERpdHRvLgorICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0aWVzLmpzb246IERpdHRvLgor
ICAgICAgICAqIGNzcy9TdHlsZVByb3BlcnRpZXMuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlUHJvcGVydGllczo6Z2V0UHJvcGVydHlWYWx1ZSBjb25zdCk6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGVQcm9wZXJ0aWVzOjphc1RleHQgY29uc3QpOiBEaXR0by4KKyAg
ICAgICAgKiBjc3MvcGFyc2VyL0NTU1Byb3BlcnR5UGFyc2VyLmNwcDogRGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VTaW5nbGVWYWx1ZSk6IERpdHRvLgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTUHJvcGVydHlQYXJzZXI6OnBhcnNlU2hvcnRoYW5kKTogRGl0
dG8uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDogRGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpleHBhbmRTY3JvbGxSZWN0VG9WaXNpYmxlVGFyZ2V0UmVjdFRvSW5jbHVkZVNj
cm9sbFBhZGRpbmcpOiBBZGRlZCB0aGlzIGhlbHBlcgorICAgICAgICBmdW5jdGlvbiB3aGljaCBl
eHBhbmRzIHRoZSB0YXJnZXQgcmVjdGFuZ2xlIHRvIGluY2x1ZGUgc2Nyb2xsIHBhZGRpbmcgZnJv
bSB0aGUgY29udGFpbmVyLgorICAgICAgICBUaGlzIGNyZWF0ZXMgdGhlIGFmZmVjdCB0aGF0IHRo
ZSBjb250YWluZXIgaGFzIGEgcGFkZGluZyByZWN0YW5nbGUuCisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZSk6IE5vdyBleHBhbmQgdGFyZ2V0IHJlY3Rh
bmdsZSB0byBpbmNsdWRlCisgICAgICAgIHNjcm9sbCBjb250YWluZXIgcGFkZGluZy4gQWxzbyBw
dXQgc29tZSBjb2RlIGludG8gYSBsYW1iZGEgdG8gc2ltcGxpZnkgdGhpbmdzLgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcDogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpzY3JvbGxTbmFwQ29udGFpbmVyUmVxdWlyZXNVcGRhdGVGb3JTdHlsZVVwZGF0ZSk6
IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHA6IERpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNjcm9sbFBhZGRpbmcgY29uc3QpOiBE
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpzZXRTY3JvbGxQYWRkaW5nVG9w
KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0U2Nyb2xsUGFkZGlu
Z0JvdHRvbSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNldFNjcm9s
bFBhZGRpbmdMZWZ0KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0
U2Nyb2xsUGFkZGluZ1JpZ2h0KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHls
ZTo6aW5pdGlhbFNjcm9sbFNuYXBUeXBlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJTdHlsZTo6aW5pdGlhbFNjcm9sbFNuYXBBbGlnbik6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyU3R5bGU6OnNjcm9sbFNuYXBUeXBlIGNvbnN0KTogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2Nyb2xsU25hcEFsaWduIGNvbnN0KTogRGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0U2Nyb2xsU25hcFR5cGUpOiBEaXR0by4KKyAg
ICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTdHlsZTo6aW5pdGlhbFNjcm9sbFBhZGRpbmcpOiBEaXR0by4KKyAgICAg
ICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHA6IEhhdmUg
c2Nyb2xsLXBhZGRpbmcgcmVsYXRlZCBwcm9wZXJ0aWVzCisgICAgICAgIGJlIHN0b3JlZCBkaXJl
Y3RseSBvbiBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLgorICAgICAgICAoV2ViQ29yZTo6U3R5
bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6U3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YSk6CisgICAg
ICAgIChXZWJDb3JlOjpTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhOjpvcGVyYXRvcj09IGNvbnN0
KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5o
OiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVTY3JvbGxTbmFwUG9pbnRz
LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVTY3JvbGxTbmFw
UG9pbnRzLmg6CisKIDIwMjAtMTEtMTcgIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxl
LmNvbT4KIAogICAgICAgICBCdWlsZCBmYWlscyBvbiBpbnRlcm5hbCBzaW11bGF0b3IgYnVpbGRz
IGR1ZSB0byBtaXNzaW5nIGVudW0ga0NWUGl4ZWxGb3JtYXRUeXBlX0FHWF80MjBZcENiQ3I4QmlQ
bGFuYXJWaWRlb1JhbmdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDk2YmZkNTViMTQ1MDYyMzAwYTIzNWM5
Y2UyYjM0ZjAzOWU5YTBlOGUuLmNlNzQ2ZWE3ODYxNzhhM2Q4ZmI3ZGJlNTMwYzExMmY5OTdkY2Fj
N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0yMzIzLDcgKzIzMjMsNiBAQCByZW5kZXJpbmcvc3R5bGUv
U3R5bGVNdWx0aUNvbERhdGEuY3BwCiByZW5kZXJpbmcvc3R5bGUvU3R5bGVNdWx0aUltYWdlLmNw
cAogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuY3BwCiByZW5kZXJpbmcv
c3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5jcHAKLXJlbmRlcmluZy9zdHlsZS9TdHls
ZVNjcm9sbFNuYXBQb2ludHMuY3BwCiByZW5kZXJpbmcvc3R5bGUvU3R5bGVTZWxmQWxpZ25tZW50
RGF0YS5jcHAKIHJlbmRlcmluZy9zdHlsZS9TdHlsZVN1cnJvdW5kRGF0YS5jcHAKIHJlbmRlcmlu
Zy9zdHlsZS9TdHlsZVRyYW5zZm9ybURhdGEuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYzM3Y2ZhZTk3ZmIwMGUxYjcwODdm
YTg0YWZmYzY3ODM0OGRmYTM2Yi4uYzIwN2MzOWQyYmIxNDIwODFhOTM0Zjk0NDFmNDM5MDNiMmEy
Mjc3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTY0NTQsNyArMTY0NTQsNiBAQAogCQlGNDc4NzU1MzE5OTgzQUZGMDAyNEEy
ODcgLyogU2Nyb2xsU25hcEFuaW1hdG9yU3RhdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBTY3JvbGxTbmFwQW5pbWF0b3JTdGF0ZS5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRjQ3QTA5Q0YyMEE5MzlGNjAwMjQwRkFFIC8qIERpc2FibGVkQWRh
cHRhdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGlzYWJsZWRBZGFwdGF0aW9ucy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlGNDdBMDlENDIwQTlERDA0MDAyNDBGQUUgLyogRGlzYWJs
ZWRBZGFwdGF0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEaXNhYmxlZEFkYXB0YXRpb25z
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRjQ3QTVFM0ExOTVCOEM4QTAwNDgz
MTAwIC8qIFN0eWxlU2Nyb2xsU25hcFBvaW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBTdHlsZVNjcm9sbFNuYXBQb2ludHMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlGNDdBNUUzQjE5NUI4QzhBMDA0ODMxMDAgLyogU3R5bGVTY3JvbGxTbmFw
UG9pbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0eWxlU2Nyb2xsU25h
cFBvaW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNDdBNjMzQzFGRjZGRDUw
MDA4MUIzQ0MgLyogUHJvbWlzZWRBdHRhY2htZW50SW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcm9t
aXNlZEF0dGFjaG1lbnRJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0N0FE
MjM4MjE5MzQ5OUEwMDUxREQwQiAvKiBJbnNlcnROZXN0ZWRMaXN0Q29tbWFuZC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBJbnNlcnROZXN0ZWRMaXN0Q29tbWFuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMjY5NzYsNyArMjY5NzUsNiBAQAogCQkJCUJDMjI3MkJBMEU4MkVBQUUwMEU3Rjk3
NSAvKiBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmNwcCAqLywKIAkJCQlCQzIyNzJCQjBFODJF
QUFFMDBFN0Y5NzUgLyogU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oICovLAogCQkJCUJDMjI3
Mjg2MEU4MkU3MDcwMEU3Rjk3NSAvKiBTdHlsZVJlZmxlY3Rpb24uaCAqLywKLQkJCQlGNDdBNUUz
QTE5NUI4QzhBMDA0ODMxMDAgLyogU3R5bGVTY3JvbGxTbmFwUG9pbnRzLmNwcCAqLywKIAkJCQlG
NDdBNUUzQjE5NUI4QzhBMDA0ODMxMDAgLyogU3R5bGVTY3JvbGxTbmFwUG9pbnRzLmggKi8sCiAJ
CQkJNzE5OUI5NEYyNTUyMTAzRTAwNDk0QTU3IC8qIFN0eWxlU2VsZkFsaWdubWVudERhdGEuY3Bw
ICovLAogCQkJCTlENjM4MDBGMUFGMTZFMTYwMDMxQTE1QyAvKiBTdHlsZVNlbGZBbGlnbm1lbnRE
YXRhLmggKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb24uY3BwCmluZGV4IDk5NGJkZDM2YmFhMzU1YTAwMDgwNGM4NjVkYzJhMDIxZWQ1NGU3
MmEuLjRjM2E1ZWM1ZmNkMmE4MGY4ZmMwYTQ2NzZhZDEzMmEzMjQ2ODI2MjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0z
ODA5LDcgKzM4MDksNiBAQCBSZWZQdHI8Q1NTVmFsdWU+IENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6
OnZhbHVlRm9yUHJvcGVydHlJblN0eWxlKGNvbnN0IFJlbmRlclN0eQogICAgICAgICAgICAgcmV0
dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFsdWVGb3JMZW5ndGgoc3R5bGUuc2Nyb2xsTWFyZ2luUmln
aHQoKSwgc3R5bGUpOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5U2Nyb2xsTWFyZ2luTGVmdDoK
ICAgICAgICAgICAgIHJldHVybiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlRm9yTGVuZ3RoKHN0eWxl
LnNjcm9sbE1hcmdpbkxlZnQoKSwgc3R5bGUpOwotI2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVAp
CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTY3JvbGxQYWRkaW5nOgogICAgICAgICAgICAgcmV0
dXJuIGdldENTU1Byb3BlcnR5VmFsdWVzRm9yNFNpZGVzU2hvcnRoYW5kKHNjcm9sbFBhZGRpbmdT
aG9ydGhhbmQoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTY3JvbGxQYWRkaW5nQm90dG9t
OgpAQCAtMzgyMCw2ICszODE5LDcgQEAgUmVmUHRyPENTU1ZhbHVlPiBDb21wdXRlZFN0eWxlRXh0
cmFjdG9yOjp2YWx1ZUZvclByb3BlcnR5SW5TdHlsZShjb25zdCBSZW5kZXJTdHkKICAgICAgICAg
ICAgIHJldHVybiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlRm9yTGVuZ3RoKHN0eWxlLnNjcm9sbFBh
ZGRpbmdSaWdodCgpLCBzdHlsZSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTY3JvbGxQYWRk
aW5nTGVmdDoKICAgICAgICAgICAgIHJldHVybiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlRm9yTGVu
Z3RoKHN0eWxlLnNjcm9sbFBhZGRpbmdMZWZ0KCksIHN0eWxlKTsKKyNpZiBFTkFCTEUoQ1NTX1ND
Uk9MTF9TTkFQKQogICAgICAgICBjYXNlIENTU1Byb3BlcnR5U2Nyb2xsU25hcFR5cGU6CiAgICAg
ICAgICAgICByZXR1cm4gdmFsdWVGb3JTY3JvbGxTbmFwVHlwZShzdHlsZS5zY3JvbGxTbmFwVHlw
ZSgpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVNjcm9sbFNuYXBBbGlnbjoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24gYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCmluZGV4IDAxZDI2MGY0YjcxZTQ1MzA0Y2NmMjNmMWY2
MjZlNTllOTM0NGQ5OWYuLmI5MTU4Mzk4NmRiN2IyZmMwZDA2ZWNhZTNhZGQyY2RlNzFlYTRkOWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgpAQCAtNjYyOSw3ICs2NjI5LDYg
QEAKICAgICAgICAgfSwKICAgICAgICAgInNjcm9sbC1wYWRkaW5nIjogewogICAgICAgICAgICAg
ImNvZGVnZW4tcHJvcGVydGllcyI6IHsKLSAgICAgICAgICAgICAgICAiZW5hYmxlLWlmIjogIkVO
QUJMRV9DU1NfU0NST0xMX1NOQVAiLAogICAgICAgICAgICAgICAgICJsb25naGFuZHMiOiBbCiAg
ICAgICAgICAgICAgICAgICAgICJzY3JvbGwtcGFkZGluZy10b3AiLAogICAgICAgICAgICAgICAg
ICAgICAic2Nyb2xsLXBhZGRpbmctcmlnaHQiLApAQCAtNjY0NCw3ICs2NjQzLDYgQEAKICAgICAg
ICAgfSwKICAgICAgICAgInNjcm9sbC1wYWRkaW5nLWJvdHRvbSI6IHsKICAgICAgICAgICAgICJj
b2RlZ2VuLXByb3BlcnRpZXMiOiB7Ci0gICAgICAgICAgICAgICAgImVuYWJsZS1pZiI6ICJFTkFC
TEVfQ1NTX1NDUk9MTF9TTkFQIiwKICAgICAgICAgICAgICAgICAiaW5pdGlhbCI6ICJpbml0aWFs
U2Nyb2xsUGFkZGluZyIsCiAgICAgICAgICAgICAgICAgImNvbnZlcnRlciI6ICJMZW5ndGgiCiAg
ICAgICAgICAgICB9LApAQCAtNjY1NSw3ICs2NjUzLDYgQEAKICAgICAgICAgfSwKICAgICAgICAg
InNjcm9sbC1wYWRkaW5nLWxlZnQiOiB7CiAgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVz
IjogewotICAgICAgICAgICAgICAgICJlbmFibGUtaWYiOiAiRU5BQkxFX0NTU19TQ1JPTExfU05B
UCIsCiAgICAgICAgICAgICAgICAgImluaXRpYWwiOiAiaW5pdGlhbFNjcm9sbFBhZGRpbmciLAog
ICAgICAgICAgICAgICAgICJjb252ZXJ0ZXIiOiAiTGVuZ3RoIgogICAgICAgICAgICAgfSwKQEAg
LTY2NjYsNyArNjY2Myw2IEBACiAgICAgICAgIH0sCiAgICAgICAgICJzY3JvbGwtcGFkZGluZy1y
aWdodCI6IHsKICAgICAgICAgICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7Ci0gICAgICAgICAg
ICAgICAgImVuYWJsZS1pZiI6ICJFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQIiwKICAgICAgICAgICAg
ICAgICAiaW5pdGlhbCI6ICJpbml0aWFsU2Nyb2xsUGFkZGluZyIsCiAgICAgICAgICAgICAgICAg
ImNvbnZlcnRlciI6ICJMZW5ndGgiCiAgICAgICAgICAgICB9LApAQCAtNjY3Nyw3ICs2NjczLDYg
QEAKICAgICAgICAgfSwKICAgICAgICAgInNjcm9sbC1wYWRkaW5nLXRvcCI6IHsKICAgICAgICAg
ICAgICJjb2RlZ2VuLXByb3BlcnRpZXMiOiB7Ci0gICAgICAgICAgICAgICAgImVuYWJsZS1pZiI6
ICJFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQIiwKICAgICAgICAgICAgICAgICAiaW5pdGlhbCI6ICJp
bml0aWFsU2Nyb2xsUGFkZGluZyIsCiAgICAgICAgICAgICAgICAgImNvbnZlcnRlciI6ICJMZW5n
dGgiCiAgICAgICAgICAgICB9LApAQCAtNjY4OCw3ICs2NjgzLDYgQEAKICAgICAgICAgfSwKICAg
ICAgICAgInNjcm9sbC1wYWRkaW5nLWlubGluZS1zdGFydCI6IHsKICAgICAgICAgICAgICJjb2Rl
Z2VuLXByb3BlcnRpZXMiOiB7Ci0gICAgICAgICAgICAgICAgImVuYWJsZS1pZiI6ICJFTkFCTEVf
Q1NTX1NDUk9MTF9TTkFQIiwKICAgICAgICAgICAgICAgICAic2tpcC1jb2RlZ2VuIjogdHJ1ZQog
ICAgICAgICAgICAgfSwKICAgICAgICAgICAgICJzdGF0dXMiOiB7CkBAIC02NzAxLDcgKzY2OTUs
NiBAQAogICAgICAgICB9LAogICAgICAgICAic2Nyb2xsLXBhZGRpbmctYmxvY2stc3RhcnQiOiB7
CiAgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogewotICAgICAgICAgICAgICAgICJl
bmFibGUtaWYiOiAiRU5BQkxFX0NTU19TQ1JPTExfU05BUCIsCiAgICAgICAgICAgICAgICAgInNr
aXAtY29kZWdlbiI6IHRydWUKICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAic3RhdHVzIjog
ewpAQCAtNjcxNCw3ICs2NzA3LDYgQEAKICAgICAgICAgfSwKICAgICAgICAgInNjcm9sbC1wYWRk
aW5nLWlubGluZS1lbmQiOiB7CiAgICAgICAgICAgICAiY29kZWdlbi1wcm9wZXJ0aWVzIjogewot
ICAgICAgICAgICAgICAgICJlbmFibGUtaWYiOiAiRU5BQkxFX0NTU19TQ1JPTExfU05BUCIsCiAg
ICAgICAgICAgICAgICAgInNraXAtY29kZWdlbiI6IHRydWUKICAgICAgICAgICAgIH0sCiAgICAg
ICAgICAgICAic3RhdHVzIjogewpAQCAtNjcyNyw3ICs2NzE5LDYgQEAKICAgICAgICAgfSwKICAg
ICAgICAgInNjcm9sbC1wYWRkaW5nLWJsb2NrLWVuZCI6IHsKICAgICAgICAgICAgICJjb2RlZ2Vu
LXByb3BlcnRpZXMiOiB7Ci0gICAgICAgICAgICAgICAgImVuYWJsZS1pZiI6ICJFTkFCTEVfQ1NT
X1NDUk9MTF9TTkFQIiwKICAgICAgICAgICAgICAgICAic2tpcC1jb2RlZ2VuIjogdHJ1ZQogICAg
ICAgICAgICAgfSwKICAgICAgICAgICAgICJzdGF0dXMiOiB7CkBAIC02NzQ0LDcgKzY3MzUsNiBA
QAogICAgICAgICAgICAgICAgICAgICAic2Nyb2xsLXBhZGRpbmctYmxvY2stc3RhcnQiLAogICAg
ICAgICAgICAgICAgICAgICAic2Nyb2xsLXBhZGRpbmctYmxvY2stZW5kIgogICAgICAgICAgICAg
ICAgIF0sCi0gICAgICAgICAgICAgICAgImVuYWJsZS1pZiI6ICJFTkFCTEVfQ1NTX1NDUk9MTF9T
TkFQIiwKICAgICAgICAgICAgICAgICAic2tpcC1jb2RlZ2VuIjogdHJ1ZQogICAgICAgICAgICAg
fSwKICAgICAgICAgICAgICJzdGF0dXMiOiB7CkBAIC02NzYxLDcgKzY3NTEsNiBAQAogICAgICAg
ICAgICAgICAgICAgICAic2Nyb2xsLXBhZGRpbmctaW5saW5lLXN0YXJ0IiwKICAgICAgICAgICAg
ICAgICAgICAgInNjcm9sbC1wYWRkaW5nLWlubGluZS1lbmQiCiAgICAgICAgICAgICAgICAgXSwK
LSAgICAgICAgICAgICAgICAiZW5hYmxlLWlmIjogIkVOQUJMRV9DU1NfU0NST0xMX1NOQVAiLAog
ICAgICAgICAgICAgICAgICJza2lwLWNvZGVnZW4iOiB0cnVlCiAgICAgICAgICAgICB9LAogICAg
ICAgICAgICAgInN0YXR1cyI6IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVByb3BlcnRpZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydGllcy5jcHAK
aW5kZXggNGQ4ODdiNzg5MWYyNDdiYmNiZTJlMmY1ZGY2MGMxZjExMWI5OGRjZC4uNGQzZmYwM2U5
MDYyMjE0ZTdlOWZmZTU4OGVjOTJiN2JmMGEzZGIwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUHJvcGVydGllcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UHJvcGVydGllcy5jcHAKQEAgLTI4NywxMCArMjg3LDggQEAgU3RyaW5nIFN0eWxlUHJvcGVydGll
czo6Z2V0UHJvcGVydHlWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQpIGNvbnN0CiAgICAg
ICAgIHJldHVybiBnZXQyVmFsdWVzKGdhcFNob3J0aGFuZCgpKTsKICAgICBjYXNlIENTU1Byb3Bl
cnR5U2Nyb2xsTWFyZ2luOgogICAgICAgICByZXR1cm4gZ2V0NFZhbHVlcyhzY3JvbGxNYXJnaW5T
aG9ydGhhbmQoKSk7Ci0jaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKICAgICBjYXNlIENTU1By
b3BlcnR5U2Nyb2xsUGFkZGluZzoKICAgICAgICAgcmV0dXJuIGdldDRWYWx1ZXMoc2Nyb2xsUGFk
ZGluZ1Nob3J0aGFuZCgpKTsKLSNlbmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiBT
dHJpbmcoKTsKICAgICB9CkBAIC0xMTc0LDE0ICsxMTcyLDEyIEBAIFN0cmluZyBTdHlsZVByb3Bl
cnRpZXM6OmFzVGV4dCgpIGNvbnN0CiAgICAgICAgICAgICBjYXNlIENTU1Byb3BlcnR5U2Nyb2xs
TWFyZ2luTGVmdDoKICAgICAgICAgICAgICAgICBzaG9ydGhhbmRQcm9wZXJ0eUlEID0gQ1NTUHJv
cGVydHlTY3JvbGxNYXJnaW47CiAgICAgICAgICAgICAgICAgYnJlYWs7Ci0jaWYgRU5BQkxFKENT
U19TQ1JPTExfU05BUCkKICAgICAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTY3JvbGxQYWRkaW5n
VG9wOgogICAgICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVNjcm9sbFBhZGRpbmdSaWdodDoKICAg
ICAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlTY3JvbGxQYWRkaW5nQm90dG9tOgogICAgICAgICAg
ICAgY2FzZSBDU1NQcm9wZXJ0eVNjcm9sbFBhZGRpbmdMZWZ0OgogICAgICAgICAgICAgICAgIHNo
b3J0aGFuZFByb3BlcnR5SUQgPSBDU1NQcm9wZXJ0eVNjcm9sbFBhZGRpbmc7CiAgICAgICAgICAg
ICAgICAgYnJlYWs7Ci0jZW5kaWYKICAgICAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlUcmFuc2l0
aW9uUHJvcGVydHk6CiAgICAgICAgICAgICBjYXNlIENTU1Byb3BlcnR5VHJhbnNpdGlvbkR1cmF0
aW9uOgogICAgICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVRyYW5zaXRpb25UaW1pbmdGdW5jdGlv
bjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUHJvcGVydHlQYXJz
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAK
aW5kZXggNWQ0YTcwNTVkYmViMTAwZDA3NzgxMTY2N2Y3YWVhZmNlYjNmMmIyOC4uMWZkZjJmMGJh
YWYwODA2MGM0NzVjZTI0ZGVhMmVhNGUzNDc2Y2IyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9DU1NQcm9wZXJ0eVBhcnNlci5jcHAKQEAgLTQxNjQsMTIgKzQxNjQsMTIgQEAg
UmVmUHRyPENTU1ZhbHVlPiBDU1NQcm9wZXJ0eVBhcnNlcjo6cGFyc2VTaW5nbGVWYWx1ZShDU1NQ
cm9wZXJ0eUlEIHByb3BlcnR5LCBDU1MKICAgICBjYXNlIENTU1Byb3BlcnR5U2Nyb2xsTWFyZ2lu
UmlnaHQ6CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVNjcm9sbE1hcmdpblRvcDoKICAgICAgICAgcmV0
dXJuIGNvbnN1bWVMZW5ndGgobV9yYW5nZSwgbV9jb250ZXh0Lm1vZGUsIFZhbHVlUmFuZ2VBbGwp
OwotI2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVApCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVNjcm9s
bFBhZGRpbmdCb3R0b206CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVNjcm9sbFBhZGRpbmdMZWZ0Ogog
ICAgIGNhc2UgQ1NTUHJvcGVydHlTY3JvbGxQYWRkaW5nUmlnaHQ6CiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eVNjcm9sbFBhZGRpbmdUb3A6CiAgICAgICAgIHJldHVybiBjb25zdW1lTGVuZ3RoT3JQZXJj
ZW50KG1fcmFuZ2UsIG1fY29udGV4dC5tb2RlLCBWYWx1ZVJhbmdlQWxsKTsKKyNpZiBFTkFCTEUo
Q1NTX1NDUk9MTF9TTkFQKQogICAgIGNhc2UgQ1NTUHJvcGVydHlTY3JvbGxTbmFwQWxpZ246CiAg
ICAgICAgIHJldHVybiBjb25zdW1lU2Nyb2xsU25hcEFsaWduKG1fcmFuZ2UpOwogICAgIGNhc2Ug
Q1NTUHJvcGVydHlTY3JvbGxTbmFwVHlwZToKQEAgLTU4NDYsMTAgKzU4NDYsOCBAQCBib29sIENT
U1Byb3BlcnR5UGFyc2VyOjpwYXJzZVNob3J0aGFuZChDU1NQcm9wZXJ0eUlEIHByb3BlcnR5LCBi
b29sIGltcG9ydGFudCkKICAgICAgICAgcmV0dXJuIGNvbnN1bWUyVmFsdWVTaG9ydGhhbmQocGFk
ZGluZ0lubGluZVNob3J0aGFuZCgpLCBpbXBvcnRhbnQpOwogICAgIGNhc2UgQ1NTUHJvcGVydHlT
Y3JvbGxNYXJnaW46CiAgICAgICAgIHJldHVybiBjb25zdW1lNFZhbHVlU2hvcnRoYW5kKHNjcm9s
bE1hcmdpblNob3J0aGFuZCgpLCBpbXBvcnRhbnQpOwotI2lmIEVOQUJMRShDU1NfU0NST0xMX1NO
QVApCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVNjcm9sbFBhZGRpbmc6CiAgICAgICAgIHJldHVybiBj
b25zdW1lNFZhbHVlU2hvcnRoYW5kKHNjcm9sbFBhZGRpbmdTaG9ydGhhbmQoKSwgaW1wb3J0YW50
KTsKLSNlbmRpZgogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0RW1waGFzaXM6CiAgICAg
ICAgIHJldHVybiBjb25zdW1lU2hvcnRoYW5kR3JlZWRpbHkod2Via2l0VGV4dEVtcGhhc2lzU2hv
cnRoYW5kKCksIGltcG9ydGFudCk7CiAgICAgY2FzZSBDU1NQcm9wZXJ0eU91dGxpbmU6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCAzYjMxMDU1MTM5ZWE2N2I4
YmJmMTIyZWRjZWM2ZDNjYzI5YTUzM2M5Li4zMjZlMjhlNjBjNDc4YjNhYWQ3NjlhNmMxNDVkM2U0
NGExMDA1OWQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAg
LTU5OCw2ICs1OTgsMjAgQEAgc3RhdGljIGJvb2wgY2FuQ3JlYXRlU3RhY2tpbmdDb250ZXh0KGNv
bnN0IFJlbmRlckxheWVyJiBsYXllcikKICAgICAgICAgfHwgKHJlbmRlcmVyLnN0eWxlKCkud2ls
bENoYW5nZSgpICYmIHJlbmRlcmVyLnN0eWxlKCkud2lsbENoYW5nZSgpLT5jYW5DcmVhdGVTdGFj
a2luZ0NvbnRleHQoKSk7CiB9CiAKK3N0YXRpYyB2b2lkIGV4cGFuZFNjcm9sbFJlY3RUb1Zpc2li
bGVUYXJnZXRSZWN0VG9JbmNsdWRlU2Nyb2xsUGFkZGluZyhSZW5kZXJCb3gqIHJlbmRlckJveCwg
Y29uc3QgTGF5b3V0UmVjdCYgdmlld1JlY3QsIExheW91dFJlY3QmIHRhcmdldFJlY3QpCit7Cisg
ICAgaWYgKCFyZW5kZXJCb3gpCisgICAgICAgIHJldHVybjsKKyAgICAvLyBzY3JvbGwtcGFkZGlu
ZyBhcHBsaWVzIHRvIHRoZSBzY3JvbGwgY29udGFpbmVyLCBidXQgZXhwYW5kIHRoZSByZWN0YW5n
bGUgdGhhdCB3ZSB3YW50IHRvIGV4cG9zZSBpbiBvcmRlcgorICAgIC8vIHNpbXVsYXRlIHBhZGRp
bmcgdGhlIHNjcm9sbCBjb250YWluZXIuIFRoaXMgcmVjdGFuZ2xlIGlzIHBhc3NlZCB1cCB0aGUg
dHJlZSBvZiBzY3JvbGxpbmcgZWxlbWVudHMgdG8KKyAgICAvLyBlbnN1cmUgdGhhdCB0aGUgcGFk
ZGluZyBvbiB0aGlzIHNjcm9sbCBjb250YWluZXIgaXMgbWFpbnRhaW5lZC4KKyAgICBjb25zdCBh
dXRvJiBzY3JvbGxQYWRkaW5nID0gcmVuZGVyQm94LT5zdHlsZSgpLnNjcm9sbFBhZGRpbmcoKTsK
KyAgICBMYXlvdXRCb3hFeHRlbnQgc2Nyb2xsUGFkZGluZ0V4dGVudHMoCisgICAgICAgIHZhbHVl
Rm9yTGVuZ3RoKHNjcm9sbFBhZGRpbmcudG9wKCksIHZpZXdSZWN0LmhlaWdodCgpKSwgdmFsdWVG
b3JMZW5ndGgoc2Nyb2xsUGFkZGluZy5yaWdodCgpLCB2aWV3UmVjdC53aWR0aCgpKSwKKyAgICAg
ICAgdmFsdWVGb3JMZW5ndGgoc2Nyb2xsUGFkZGluZy5ib3R0b20oKSwgdmlld1JlY3QuaGVpZ2h0
KCkpLCB2YWx1ZUZvckxlbmd0aChzY3JvbGxQYWRkaW5nLmxlZnQoKSwgdmlld1JlY3Qud2lkdGgo
KSkpOworICAgIHRhcmdldFJlY3QuZXhwYW5kKHNjcm9sbFBhZGRpbmdFeHRlbnRzKTsKK30KKwog
Ym9vbCBSZW5kZXJMYXllcjo6c2hvdWxkQmVOb3JtYWxGbG93T25seSgpIGNvbnN0CiB7CiAgICAg
aWYgKGNhbkNyZWF0ZVN0YWNraW5nQ29udGV4dCgqdGhpcykpCkBAIC0yODEwLDcgKzI4MjQsMTMg
QEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsUmVjdFRvVmlzaWJsZShjb25zdCBMYXlvdXRSZWN0
JiBhYnNvbHV0ZVJlY3QsIGJvb2wgaW5zaWQKICAgICBMYXlvdXRSZWN0IG5ld1JlY3QgPSBhYnNv
bHV0ZVJlY3Q7CiAgICAgRnJhbWVWaWV3JiBmcmFtZVZpZXcgPSByZW5kZXJlcigpLnZpZXcoKS5m
cmFtZVZpZXcoKTsKICAgICBhdXRvKiBwYXJlbnRMYXllciA9IGVuY2xvc2luZ0NvbnRhaW5pbmdC
bG9ja0xheWVyKCp0aGlzLCBDcm9zc0ZyYW1lQm91bmRhcmllczo6Tm8pOwotICAgIGJvb2wgYXV0
b3Njcm9sbE5vdEluUHJvZ3Jlc3MgPSAhcmVuZGVyZXIoKS5mcmFtZSgpLmV2ZW50SGFuZGxlcigp
LmF1dG9zY3JvbGxJblByb2dyZXNzKCk7CisKKyAgICBhdXRvIHNob3VsZFVzZUFuaW1hdGVkU2Ny
b2xsID0gW3RoaXNdKEVsZW1lbnQqIGVsZW1lbnQsIFNjcm9sbEJlaGF2aW9yIGJlaGF2aW9yKQor
ICAgIHsKKyAgICAgICAgYm9vbCB1c2VBbmltYXRlZFNjcm9sbGluZyA9ICFyZW5kZXJlcigpLmZy
YW1lKCkuZXZlbnRIYW5kbGVyKCkuYXV0b3Njcm9sbEluUHJvZ3Jlc3MoKQorICAgICAgICAgICAg
JiYgZWxlbWVudCAmJiB1c2VTbW9vdGhTY3JvbGxpbmcoYmVoYXZpb3IsIGVsZW1lbnQpOworICAg
ICAgICByZXR1cm4gdXNlQW5pbWF0ZWRTY3JvbGxpbmcgPyBBbmltYXRlZFNjcm9sbDo6WWVzIDog
QW5pbWF0ZWRTY3JvbGw6Ok5vOworICAgIH07CiAKICAgICBpZiAoYWxsb3dzQ3VycmVudFNjcm9s
bCgpKSB7CiAgICAgICAgIC8vIERvbid0IHNjcm9sbCB0byByZXZlYWwgYW4gb3ZlcmZsb3cgbGF5
ZXIgdGhhdCBpcyByZXN0cmljdGVkIGJ5IHRoZSAtd2Via2l0LWxpbmUtY2xhbXAgcHJvcGVydHku
CkBAIC0yODI5LDE0ICsyODQ5LDEzIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFJlY3RUb1Zp
c2libGUoY29uc3QgTGF5b3V0UmVjdCYgYWJzb2x1dGVSZWN0LCBib29sIGluc2lkCiAgICAgICAg
ICAgICBsb2NhbEV4cG9zZVJlY3QubW92ZUJ5KExheW91dFBvaW50KC12ZXJ0aWNhbFNjcm9sbGJh
cldpZHRoKCksIDApKTsKICAgICAgICAgfQogICAgICAgICBMYXlvdXRSZWN0IGxheWVyQm91bmRz
KDBfbHUsIDBfbHUsIGJveC0+Y2xpZW50V2lkdGgoKSwgYm94LT5jbGllbnRIZWlnaHQoKSk7Cisg
ICAgICAgIGV4cGFuZFNjcm9sbFJlY3RUb1Zpc2libGVUYXJnZXRSZWN0VG9JbmNsdWRlU2Nyb2xs
UGFkZGluZyhib3gsIGxheWVyQm91bmRzLCBsb2NhbEV4cG9zZVJlY3QpOwogICAgICAgICBMYXlv
dXRSZWN0IHJldmVhbFJlY3QgPSBnZXRSZWN0VG9FeHBvc2UobGF5ZXJCb3VuZHMsIGxvY2FsRXhw
b3NlUmVjdCwgaW5zaWRlRml4ZWQsIG9wdGlvbnMuYWxpZ25YLCBvcHRpb25zLmFsaWduWSk7CiAK
ICAgICAgICAgU2Nyb2xsT2Zmc2V0IGNsYW1wZWRTY3JvbGxPZmZzZXQgPSBjbGFtcFNjcm9sbE9m
ZnNldChzY3JvbGxPZmZzZXQoKSArIHRvSW50U2l6ZShyb3VuZGVkSW50UmVjdChyZXZlYWxSZWN0
KS5sb2NhdGlvbigpKSk7CiAgICAgICAgIGlmIChjbGFtcGVkU2Nyb2xsT2Zmc2V0ICE9IHNjcm9s
bE9mZnNldCgpIHx8IGN1cnJlbnRTY3JvbGxCZWhhdmlvclN0YXR1cygpICE9IFNjcm9sbEJlaGF2
aW9yU3RhdHVzOjpOb3RJbkFuaW1hdGlvbikgewogICAgICAgICAgICAgU2Nyb2xsT2Zmc2V0IG9s
ZFNjcm9sbE9mZnNldCA9IHNjcm9sbE9mZnNldCgpOwotICAgICAgICAgICAgQW5pbWF0ZWRTY3Jv
bGwgYW5pbWF0ZWQgPSBBbmltYXRlZFNjcm9sbDo6Tm87Ci0gICAgICAgICAgICBpZiAoYXV0b3Nj
cm9sbE5vdEluUHJvZ3Jlc3MgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlvbnMuYmVoYXZpb3Is
IGJveC0+ZWxlbWVudCgpKSkKLSAgICAgICAgICAgICAgICBhbmltYXRlZCA9IEFuaW1hdGVkU2Ny
b2xsOjpZZXM7CisgICAgICAgICAgICBhdXRvIGFuaW1hdGVkID0gc2hvdWxkVXNlQW5pbWF0ZWRT
Y3JvbGwoYm94LT5lbGVtZW50KCksIG9wdGlvbnMuYmVoYXZpb3IpOwogICAgICAgICAgICAgc2V0
U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb25Gcm9tT2Zmc2V0KGNsYW1wZWRTY3JvbGxPZmZz
ZXQpLCBTY3JvbGxUeXBlOjpQcm9ncmFtbWF0aWMsIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBh
bmltYXRlZCk7CiAgICAgICAgICAgICBJbnRTaXplIHNjcm9sbE9mZnNldERpZmZlcmVuY2UgPSBj
bGFtcGVkU2Nyb2xsT2Zmc2V0IC0gb2xkU2Nyb2xsT2Zmc2V0OwogICAgICAgICAgICAgbG9jYWxF
eHBvc2VSZWN0Lm1vdmUoLXNjcm9sbE9mZnNldERpZmZlcmVuY2UpOwpAQCAtMjg1NiwxOCArMjg3
NSwxOSBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0IExheW91
dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgICAgIFNjcmlwdERp
c2FsbG93ZWRTY29wZTo6SW5NYWluVGhyZWFkIHNjcmlwdERpc2FsbG93ZWRTY29wZTsKIAogICAg
ICAgICAgICAgICAgIExheW91dFJlY3Qgdmlld1JlY3QgPSBmcmFtZVZpZXcudmlzaWJsZUNvbnRl
bnRSZWN0KExlZ2FjeUlPU0RvY3VtZW50VmlzaWJsZVJlY3QpOwotICAgICAgICAgICAgICAgIExh
eW91dFJlY3QgZXhwb3NlUmVjdCA9IGdldFJlY3RUb0V4cG9zZSh2aWV3UmVjdCwgYWJzb2x1dGVS
ZWN0LCBpbnNpZGVGaXhlZCwgb3B0aW9ucy5hbGlnblgsIG9wdGlvbnMuYWxpZ25ZKTsKKworICAg
ICAgICAgICAgICAgIGF1dG8qIGVsZW1lbnQgPSBvd25lckVsZW1lbnQtPmNvbnRlbnREb2N1bWVu
dCgpID8gb3duZXJFbGVtZW50LT5jb250ZW50RG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCkg
OiBudWxscHRyOworICAgICAgICAgICAgICAgIFJlbmRlckJveCogcmVuZGVyZXIgPSBlbGVtZW50
ID8gZWxlbWVudC0+cmVuZGVyQm94KCkgOiBudWxscHRyOworICAgICAgICAgICAgICAgIGV4cGFu
ZFNjcm9sbFJlY3RUb1Zpc2libGVUYXJnZXRSZWN0VG9JbmNsdWRlU2Nyb2xsUGFkZGluZyhyZW5k
ZXJlciwgdmlld1JlY3QsIG5ld1JlY3QpOworCisgICAgICAgICAgICAgICAgTGF5b3V0UmVjdCBl
eHBvc2VSZWN0ID0gZ2V0UmVjdFRvRXhwb3NlKHZpZXdSZWN0LCBuZXdSZWN0LCBpbnNpZGVGaXhl
ZCwgb3B0aW9ucy5hbGlnblgsIG9wdGlvbnMuYWxpZ25ZKTsKIAogICAgICAgICAgICAgICAgIElu
dFBvaW50IHNjcm9sbFBvc2l0aW9uKHJvdW5kZWRJbnRQb2ludChleHBvc2VSZWN0LmxvY2F0aW9u
KCkpKTsKICAgICAgICAgICAgICAgICAvLyBBZGp1c3Qgb2Zmc2V0cyBpZiB0aGV5J3JlIG91dHNp
ZGUgb2YgdGhlIGFsbG93YWJsZSByYW5nZS4KICAgICAgICAgICAgICAgICBzY3JvbGxQb3NpdGlv
biA9IHNjcm9sbFBvc2l0aW9uLmNvbnN0cmFpbmVkQmV0d2VlbihJbnRQb2ludCgpLCBJbnRQb2lu
dChmcmFtZVZpZXcuY29udGVudHNTaXplKCkpKTsKICAgICAgICAgICAgICAgICAvLyBGSVhNRTog
U2hvdWxkIHdlIHVzZSBjb250ZW50RG9jdW1lbnQoKS0+c2Nyb2xsaW5nRWxlbWVudCgpPwogICAg
ICAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA1MDU5Ci0gICAgICAgICAgICAgICAgQW5pbWF0ZWRTY3JvbGwgYW5pbWF0ZWQgPSBBbmlt
YXRlZFNjcm9sbDo6Tm87Ci0gICAgICAgICAgICAgICAgaWYgKGF1dG9zY3JvbGxOb3RJblByb2dy
ZXNzCi0gICAgICAgICAgICAgICAgICAgICYmIG93bmVyRWxlbWVudC0+Y29udGVudERvY3VtZW50
KCkKLSAgICAgICAgICAgICAgICAgICAgJiYgdXNlU21vb3RoU2Nyb2xsaW5nKG9wdGlvbnMuYmVo
YXZpb3IsIG93bmVyRWxlbWVudC0+Y29udGVudERvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgp
KSkKLSAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZWQgPSBBbmltYXRlZFNjcm9sbDo6WWVzOwor
ICAgICAgICAgICAgICAgIGF1dG8gYW5pbWF0ZWQgPSBzaG91bGRVc2VBbmltYXRlZFNjcm9sbChl
bGVtZW50LCBvcHRpb25zLmJlaGF2aW9yKTsKICAgICAgICAgICAgICAgICBmcmFtZVZpZXcuc2V0
U2Nyb2xsUG9zaXRpb24oc2Nyb2xsUG9zaXRpb24sIFNjcm9sbENsYW1waW5nOjpDbGFtcGVkLCBh
bmltYXRlZCk7CiAKICAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5zaG91bGRBbGxvd0Nyb3Nz
T3JpZ2luU2Nyb2xsaW5nID09IFNob3VsZEFsbG93Q3Jvc3NPcmlnaW5TY3JvbGxpbmc6OlllcyB8
fCBmcmFtZVZpZXcuc2FmZVRvUHJvcGFnYXRlU2Nyb2xsVG9QYXJlbnQoKSkgewpAQCAtMjkwNCwx
NSArMjkyNCwxNyBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxSZWN0VG9WaXNpYmxlKGNvbnN0
IExheW91dFJlY3QmIGFic29sdXRlUmVjdCwgYm9vbCBpbnNpZAogICAgICAgICAgICAgTGF5b3V0
UmVjdCB0YXJnZXRSZWN0ID0gYWJzb2x1dGVSZWN0OwogICAgICAgICAgICAgdGFyZ2V0UmVjdC5t
b3ZlKDAsIGZyYW1lVmlldy5oZWFkZXJIZWlnaHQoKSk7CiAKKyAgICAgICAgICAgIGF1dG8qIGVs
ZW1lbnQgPSBmcmFtZVZpZXcuZnJhbWUoKS5kb2N1bWVudCgpID8gZnJhbWVWaWV3LmZyYW1lKCku
ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCkgOiBudWxscHRyOworICAgICAgICAgICAgUmVu
ZGVyQm94KiByZW5kZXJlciA9IGVsZW1lbnQgPyBlbGVtZW50LT5yZW5kZXJCb3goKSA6IG51bGxw
dHI7CisgICAgICAgICAgICBleHBhbmRTY3JvbGxSZWN0VG9WaXNpYmxlVGFyZ2V0UmVjdFRvSW5j
bHVkZVNjcm9sbFBhZGRpbmcocmVuZGVyZXIsIHZpZXdSZWN0LCB0YXJnZXRSZWN0KTsKKwogICAg
ICAgICAgICAgTGF5b3V0UmVjdCByZXZlYWxSZWN0ID0gZ2V0UmVjdFRvRXhwb3NlKHZpZXdSZWN0
LCB0YXJnZXRSZWN0LCBpbnNpZGVGaXhlZCwgb3B0aW9ucy5hbGlnblgsIG9wdGlvbnMuYWxpZ25Z
KTsKICAgICAgICAgICAgIC8vIEF2b2lkIHNjcm9sbGluZyB0byB0aGUgcm91bmRlZCB2YWx1ZSBv
ZiByZXZlYWxSZWN0LmxvY2F0aW9uKCkgaWYgd2UgZG9uJ3QgYWN0dWFsbHkgbmVlZCB0byBzY3Jv
bGwKICAgICAgICAgICAgIGlmIChyZXZlYWxSZWN0ICE9IHZpZXdSZWN0KSB7CiAgICAgICAgICAg
ICAgICAgU2Nyb2xsT2Zmc2V0IGNsYW1wZWRTY3JvbGxQb3NpdGlvbiA9IHJvdW5kZWRJbnRQb2lu
dChyZXZlYWxSZWN0LmxvY2F0aW9uKCkpLmNvbnN0cmFpbmVkQmV0d2VlbihtaW5TY3JvbGxQb3Np
dGlvbiwgbWF4U2Nyb2xsUG9zaXRpb24pOwogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBTaG91
bGQgd2UgdXNlIGRvY3VtZW50KCktPnNjcm9sbGluZ0VsZW1lbnQoKT8KICAgICAgICAgICAgICAg
ICAvLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTA1OQot
ICAgICAgICAgICAgICAgIEFuaW1hdGVkU2Nyb2xsIGFuaW1hdGVkID0gQW5pbWF0ZWRTY3JvbGw6
Ok5vOwotICAgICAgICAgICAgICAgIGlmIChhdXRvc2Nyb2xsTm90SW5Qcm9ncmVzcyAmJiB1c2VT
bW9vdGhTY3JvbGxpbmcob3B0aW9ucy5iZWhhdmlvciwgcmVuZGVyZXIoKS5kb2N1bWVudCgpLmRv
Y3VtZW50RWxlbWVudCgpKSkKLSAgICAgICAgICAgICAgICAgICAgYW5pbWF0ZWQgPSBBbmltYXRl
ZFNjcm9sbDo6WWVzOworICAgICAgICAgICAgICAgIGF1dG8gYW5pbWF0ZWQgPSBzaG91bGRVc2VB
bmltYXRlZFNjcm9sbChlbGVtZW50LCBvcHRpb25zLmJlaGF2aW9yKTsKICAgICAgICAgICAgICAg
ICBmcmFtZVZpZXcuc2V0U2Nyb2xsUG9zaXRpb24oY2xhbXBlZFNjcm9sbFBvc2l0aW9uLCBTY3Jv
bGxDbGFtcGluZzo6Q2xhbXBlZCwgYW5pbWF0ZWQpOwogICAgICAgICAgICAgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAKaW5k
ZXggZmM2ZDhmMzM4ZmNhNzM3YjUxOWUzZWRhMmEwYjk3YTM4MmUzNmRjOC4uMDUyYTljNzVlNjM1
NTZhM2VlYWJiZmRmMWMyMjFiZTNjMTNiNGNhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcApAQCAtMTIyLDcgKzEyMiw3IEBA
IHZvaWQgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6c3R5bGVXaWxsQ2hhbmdlKFN0eWxlRGlmZmVy
ZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTCiAjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKIHN0
YXRpYyBib29sIHNjcm9sbFNuYXBDb250YWluZXJSZXF1aXJlc1VwZGF0ZUZvclN0eWxlVXBkYXRl
KGNvbnN0IFJlbmRlclN0eWxlJiBvbGRTdHlsZSwgY29uc3QgUmVuZGVyU3R5bGUmIG5ld1N0eWxl
KQogewotICAgIHJldHVybiBvbGRTdHlsZS5zY3JvbGxTbmFwUG9ydCgpICE9IG5ld1N0eWxlLnNj
cm9sbFNuYXBQb3J0KCk7CisgICAgcmV0dXJuIG9sZFN0eWxlLnNjcm9sbFBhZGRpbmcoKSAhPSBu
ZXdTdHlsZS5zY3JvbGxQYWRkaW5nKCkgfHwgb2xkU3R5bGUuc2Nyb2xsU25hcFR5cGUoKSAhPSBu
ZXdTdHlsZS5zY3JvbGxTbmFwVHlwZSgpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCmluZGV4IGUwOWNkMzFjMDQxODIwMDZl
NWNkOGYyNjI0YzQ4NzVhYzY5NWM3MDAuLjRlNWMzNzQ2OTIzZWEzMzdiY2ZmODU0NzMxNDJhZDEy
ZGM2MWM4OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlLmNwcApAQCAtMjQzOSwzMSArMjQzOSw5IEBAIHZvaWQgUmVuZGVyU3R5bGU6OnNldFNjcm9s
bE1hcmdpblJpZ2h0KExlbmd0aCYmIGxlbmd0aCkKICAgICBTRVRfVkFSKG1fcmFyZU5vbkluaGVy
aXRlZERhdGEsIHNjcm9sbE1hcmdpbi5yaWdodCgpLCBXVEZNb3ZlKGxlbmd0aCkpOwogfQogCi0j
aWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKLQotU2Nyb2xsU25hcFR5cGUgUmVuZGVyU3R5bGU6
OmluaXRpYWxTY3JvbGxTbmFwVHlwZSgpCi17Ci0gICAgcmV0dXJuIHsgfTsKLX0KLQotU2Nyb2xs
U25hcEFsaWduIFJlbmRlclN0eWxlOjppbml0aWFsU2Nyb2xsU25hcEFsaWduKCkKLXsKLSAgICBy
ZXR1cm4geyB9OwotfQotCi1jb25zdCBTdHlsZVNjcm9sbFNuYXBQb3J0JiBSZW5kZXJTdHlsZTo6
c2Nyb2xsU25hcFBvcnQoKSBjb25zdAotewotICAgIHJldHVybiAqbV9yYXJlTm9uSW5oZXJpdGVk
RGF0YS0+c2Nyb2xsU25hcFBvcnQ7Ci19Ci0KLWNvbnN0IFNjcm9sbFNuYXBUeXBlJiBSZW5kZXJT
dHlsZTo6c2Nyb2xsU25hcFR5cGUoKSBjb25zdAotewotICAgIHJldHVybiBtX3JhcmVOb25Jbmhl
cml0ZWREYXRhLT5zY3JvbGxTbmFwUG9ydC0+dHlwZTsKLX0KLQogY29uc3QgTGVuZ3RoQm94JiBS
ZW5kZXJTdHlsZTo6c2Nyb2xsUGFkZGluZygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fcmFyZU5v
bkluaGVyaXRlZERhdGEtPnNjcm9sbFNuYXBQb3J0LT5zY3JvbGxQYWRkaW5nOworICAgIHJldHVy
biBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5zY3JvbGxQYWRkaW5nOwogfQogCiBjb25zdCBMZW5n
dGgmIFJlbmRlclN0eWxlOjpzY3JvbGxQYWRkaW5nVG9wKCkgY29uc3QKQEAgLTI0ODYsMzQgKzI0
NjQsNTAgQEAgY29uc3QgTGVuZ3RoJiBSZW5kZXJTdHlsZTo6c2Nyb2xsUGFkZGluZ1JpZ2h0KCkg
Y29uc3QKICAgICByZXR1cm4gc2Nyb2xsUGFkZGluZygpLnJpZ2h0KCk7CiB9CiAKLWNvbnN0IFNj
cm9sbFNuYXBBbGlnbiYgUmVuZGVyU3R5bGU6OnNjcm9sbFNuYXBBbGlnbigpIGNvbnN0Cit2b2lk
IFJlbmRlclN0eWxlOjpzZXRTY3JvbGxQYWRkaW5nVG9wKExlbmd0aCYmIGxlbmd0aCkKIHsKLSAg
ICByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+c2Nyb2xsU25hcEFsaWduOworICAgIFNF
VF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgc2Nyb2xsUGFkZGluZy50b3AoKSwgV1RGTW92
ZShsZW5ndGgpKTsKK30KKwordm9pZCBSZW5kZXJTdHlsZTo6c2V0U2Nyb2xsUGFkZGluZ0JvdHRv
bShMZW5ndGgmJiBsZW5ndGgpCit7CisgICAgU0VUX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRh
LCBzY3JvbGxQYWRkaW5nLmJvdHRvbSgpLCBXVEZNb3ZlKGxlbmd0aCkpOwogfQogCi12b2lkIFJl
bmRlclN0eWxlOjpzZXRTY3JvbGxTbmFwVHlwZShjb25zdCBTY3JvbGxTbmFwVHlwZSYgdHlwZSkK
K3ZvaWQgUmVuZGVyU3R5bGU6OnNldFNjcm9sbFBhZGRpbmdMZWZ0KExlbmd0aCYmIGxlbmd0aCkK
IHsKLSAgICBTRVRfTkVTVEVEX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBzY3JvbGxTbmFw
UG9ydCwgdHlwZSwgdHlwZSk7CisgICAgU0VUX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBz
Y3JvbGxQYWRkaW5nLmxlZnQoKSwgV1RGTW92ZShsZW5ndGgpKTsKIH0KIAotdm9pZCBSZW5kZXJT
dHlsZTo6c2V0U2Nyb2xsUGFkZGluZ1RvcChMZW5ndGgmJiBsZW5ndGgpCit2b2lkIFJlbmRlclN0
eWxlOjpzZXRTY3JvbGxQYWRkaW5nUmlnaHQoTGVuZ3RoJiYgbGVuZ3RoKQogewotICAgIFNFVF9O
RVNURURfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEsIHNjcm9sbFNuYXBQb3J0LCBzY3JvbGxQ
YWRkaW5nLnRvcCgpLCBXVEZNb3ZlKGxlbmd0aCkpOworICAgIFNFVF9WQVIobV9yYXJlTm9uSW5o
ZXJpdGVkRGF0YSwgc2Nyb2xsUGFkZGluZy5yaWdodCgpLCBXVEZNb3ZlKGxlbmd0aCkpOwogfQor
I2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVApCiAKLXZvaWQgUmVuZGVyU3R5bGU6OnNldFNjcm9s
bFBhZGRpbmdCb3R0b20oTGVuZ3RoJiYgbGVuZ3RoKQorU2Nyb2xsU25hcFR5cGUgUmVuZGVyU3R5
bGU6OmluaXRpYWxTY3JvbGxTbmFwVHlwZSgpCiB7Ci0gICAgU0VUX05FU1RFRF9WQVIobV9yYXJl
Tm9uSW5oZXJpdGVkRGF0YSwgc2Nyb2xsU25hcFBvcnQsIHNjcm9sbFBhZGRpbmcuYm90dG9tKCks
IFdURk1vdmUobGVuZ3RoKSk7CisgICAgcmV0dXJuIHsgfTsKIH0KIAotdm9pZCBSZW5kZXJTdHls
ZTo6c2V0U2Nyb2xsUGFkZGluZ0xlZnQoTGVuZ3RoJiYgbGVuZ3RoKQorU2Nyb2xsU25hcEFsaWdu
IFJlbmRlclN0eWxlOjppbml0aWFsU2Nyb2xsU25hcEFsaWduKCkKIHsKLSAgICBTRVRfTkVTVEVE
X1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBzY3JvbGxTbmFwUG9ydCwgc2Nyb2xsUGFkZGlu
Zy5sZWZ0KCksIFdURk1vdmUobGVuZ3RoKSk7CisgICAgcmV0dXJuIHsgfTsKIH0KIAotdm9pZCBS
ZW5kZXJTdHlsZTo6c2V0U2Nyb2xsUGFkZGluZ1JpZ2h0KExlbmd0aCYmIGxlbmd0aCkKK2NvbnN0
IFNjcm9sbFNuYXBUeXBlIFJlbmRlclN0eWxlOjpzY3JvbGxTbmFwVHlwZSgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPnNjcm9sbFNuYXBUeXBlOworfQorCitj
b25zdCBTY3JvbGxTbmFwQWxpZ24mIFJlbmRlclN0eWxlOjpzY3JvbGxTbmFwQWxpZ24oKSBjb25z
dAoreworICAgIHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5zY3JvbGxTbmFwQWxpZ247
Cit9CisKK3ZvaWQgUmVuZGVyU3R5bGU6OnNldFNjcm9sbFNuYXBUeXBlKGNvbnN0IFNjcm9sbFNu
YXBUeXBlIHR5cGUpCiB7Ci0gICAgU0VUX05FU1RFRF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0
YSwgc2Nyb2xsU25hcFBvcnQsIHNjcm9sbFBhZGRpbmcucmlnaHQoKSwgV1RGTW92ZShsZW5ndGgp
KTsKKyAgICBTRVRfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEsIHNjcm9sbFNuYXBUeXBlLCB0
eXBlKTsKIH0KIAogdm9pZCBSZW5kZXJTdHlsZTo6c2V0U2Nyb2xsU25hcEFsaWduKGNvbnN0IFNj
cm9sbFNuYXBBbGlnbiYgYWxpZ25tZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuaAppbmRleCBhNTlkY2U4NzIwN2FiYjE1NTgwNDg4ODY1MjExMDhjODlj
Y2FlYmVhLi43YzU4ZDVhNzgwZThmOWE5YmU1NTk3YzU0YWUwMzUxMmYyNWU0ZjJkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtMTE3LDcgKzEx
Nyw2IEBAIGNsYXNzIFNoYWRvd0RhdGE7CiBjbGFzcyBTdHlsZUltYWdlOwogY2xhc3MgU3R5bGVJ
bmhlcml0ZWREYXRhOwogY2xhc3MgU3R5bGVTY3JvbGxTbmFwQXJlYTsKLWNsYXNzIFN0eWxlU2Ny
b2xsU25hcFBvcnQ7CiBjbGFzcyBUcmFuc2Zvcm1hdGlvbk1hdHJpeDsKIAogc3RydWN0IFNjcm9s
bFNuYXBBbGlnbjsKQEAgLTcyNSwxOCArNzI0LDE1IEBAIHB1YmxpYzoKICAgICBjb25zdCBMZW5n
dGgmIHNjcm9sbE1hcmdpbkxlZnQoKSBjb25zdDsKICAgICBjb25zdCBMZW5ndGgmIHNjcm9sbE1h
cmdpblJpZ2h0KCkgY29uc3Q7CiAKLSNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQotICAgIGJv
b2wgaGFzU25hcFBvc2l0aW9uKCkgY29uc3Q7Ci0KLSAgICAvLyBTY3JvbGwgc25hcCBwb3J0IHN0
eWxlLgotICAgIGNvbnN0IFN0eWxlU2Nyb2xsU25hcFBvcnQmIHNjcm9sbFNuYXBQb3J0KCkgY29u
c3Q7Ci0gICAgY29uc3QgU2Nyb2xsU25hcFR5cGUmIHNjcm9sbFNuYXBUeXBlKCkgY29uc3Q7CiAg
ICAgY29uc3QgTGVuZ3RoQm94JiBzY3JvbGxQYWRkaW5nKCkgY29uc3Q7CiAgICAgY29uc3QgTGVu
Z3RoJiBzY3JvbGxQYWRkaW5nVG9wKCkgY29uc3Q7CiAgICAgY29uc3QgTGVuZ3RoJiBzY3JvbGxQ
YWRkaW5nQm90dG9tKCkgY29uc3Q7CiAgICAgY29uc3QgTGVuZ3RoJiBzY3JvbGxQYWRkaW5nTGVm
dCgpIGNvbnN0OwogICAgIGNvbnN0IExlbmd0aCYgc2Nyb2xsUGFkZGluZ1JpZ2h0KCkgY29uc3Q7
CiAKKyNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQorICAgIGJvb2wgaGFzU25hcFBvc2l0aW9u
KCkgY29uc3Q7CisgICAgY29uc3QgU2Nyb2xsU25hcFR5cGUgc2Nyb2xsU25hcFR5cGUoKSBjb25z
dDsKICAgICBjb25zdCBTY3JvbGxTbmFwQWxpZ24mIHNjcm9sbFNuYXBBbGlnbigpIGNvbnN0Owog
I2VuZGlmCiAKQEAgLTEyNzAsMTMgKzEyNjYsMTMgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U2Ny
b2xsTWFyZ2luTGVmdChMZW5ndGgmJik7CiAgICAgdm9pZCBzZXRTY3JvbGxNYXJnaW5SaWdodChM
ZW5ndGgmJik7CiAKLSNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQotICAgIHZvaWQgc2V0U2Ny
b2xsU25hcFR5cGUoY29uc3QgU2Nyb2xsU25hcFR5cGUmKTsKICAgICB2b2lkIHNldFNjcm9sbFBh
ZGRpbmdUb3AoTGVuZ3RoJiYpOwogICAgIHZvaWQgc2V0U2Nyb2xsUGFkZGluZ0JvdHRvbShMZW5n
dGgmJik7CiAgICAgdm9pZCBzZXRTY3JvbGxQYWRkaW5nTGVmdChMZW5ndGgmJik7CiAgICAgdm9p
ZCBzZXRTY3JvbGxQYWRkaW5nUmlnaHQoTGVuZ3RoJiYpOwogCisjaWYgRU5BQkxFKENTU19TQ1JP
TExfU05BUCkKKyAgICB2b2lkIHNldFNjcm9sbFNuYXBUeXBlKGNvbnN0IFNjcm9sbFNuYXBUeXBl
KTsKICAgICB2b2lkIHNldFNjcm9sbFNuYXBBbGlnbihjb25zdCBTY3JvbGxTbmFwQWxpZ24mKTsK
ICNlbmRpZgogCkBAIC0xNjc2LDExICsxNjcyLDExIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgVG91
Y2hBY3Rpb24gaW5pdGlhbFRvdWNoQWN0aW9ucygpIHsgcmV0dXJuIFRvdWNoQWN0aW9uOjpBdXRv
OyB9CiAKICAgICBzdGF0aWMgTGVuZ3RoIGluaXRpYWxTY3JvbGxNYXJnaW4oKSB7IHJldHVybiBM
ZW5ndGgoRml4ZWQpOyB9CisgICAgc3RhdGljIExlbmd0aCBpbml0aWFsU2Nyb2xsUGFkZGluZygp
IHsgcmV0dXJuIExlbmd0aChGaXhlZCk7IH0KIAogI2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVAp
CiAgICAgc3RhdGljIFNjcm9sbFNuYXBUeXBlIGluaXRpYWxTY3JvbGxTbmFwVHlwZSgpOwogICAg
IHN0YXRpYyBTY3JvbGxTbmFwQWxpZ24gaW5pdGlhbFNjcm9sbFNuYXBBbGlnbigpOwotICAgIHN0
YXRpYyBMZW5ndGggaW5pdGlhbFNjcm9sbFBhZGRpbmcoKSB7IHJldHVybiBMZW5ndGgoRml4ZWQp
OyB9CiAjZW5kaWYKIAogI2lmIEVOQUJMRShDU1NfVFJBSUxJTkdfV09SRCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRh
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0
ZWREYXRhLmNwcAppbmRleCAxYmJjNjE5OTI2NTZhYWY3NGM2MTExMTEwMmY2NTk4MTk3NTAwZTYw
Li40NTE1MmVmZWQ4ZmY3YWU3NDYxYWQwODFiYmJiMTQ0MjI0ZTdlN2E4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZU5vbkluaGVy
aXRlZERhdGEuY3BwCkBAIC01OSw5ICs1OSw2IEBAIFN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGE6
OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEoKQogI2VuZGlmCiAgICAgLCBncmlkKFN0eWxlR3Jp
ZERhdGE6OmNyZWF0ZSgpKQogICAgICwgZ3JpZEl0ZW0oU3R5bGVHcmlkSXRlbURhdGE6OmNyZWF0
ZSgpKQotI2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVApCi0gICAgLCBzY3JvbGxTbmFwUG9ydChT
dHlsZVNjcm9sbFNuYXBQb3J0OjpjcmVhdGUoKSkKLSNlbmRpZgogICAgICwgd2lsbENoYW5nZShS
ZW5kZXJTdHlsZTo6aW5pdGlhbFdpbGxDaGFuZ2UoKSkKICAgICAsIG1hc2soRmlsbExheWVyOjpj
cmVhdGUoRmlsbExheWVyVHlwZTo6TWFzaykpCiAgICAgLCBtYXNrQm94SW1hZ2UoTmluZVBpZWNl
SW1hZ2U6OlR5cGU6Ok1hc2spCkBAIC0xMzgsOCArMTM1LDkgQEAgaW5saW5lIFN0eWxlUmFyZU5v
bkluaGVyaXRlZERhdGE6OlN0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEoY29uc3QgU3R5bGVSYXJl
Tm9uSW4KICAgICAsIGdyaWQoby5ncmlkKQogICAgICwgZ3JpZEl0ZW0oby5ncmlkSXRlbSkKICAg
ICAsIHNjcm9sbE1hcmdpbihvLnNjcm9sbE1hcmdpbikKKyAgICAsIHNjcm9sbFBhZGRpbmcoby5z
Y3JvbGxQYWRkaW5nKQogI2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVApCi0gICAgLCBzY3JvbGxT
bmFwUG9ydChvLnNjcm9sbFNuYXBQb3J0KQorICAgICwgc2Nyb2xsU25hcFR5cGUoby5zY3JvbGxT
bmFwVHlwZSkKICAgICAsIHNjcm9sbFNuYXBBbGlnbihvLnNjcm9sbFNuYXBBbGlnbikKICNlbmRp
ZgogICAgICwgY29udGVudChvLmNvbnRlbnQgPyBvLmNvbnRlbnQtPmNsb25lKCkgOiBudWxscHRy
KQpAQCAtMjQxLDggKzIzOSw5IEBAIGJvb2wgU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YTo6b3Bl
cmF0b3I9PShjb25zdCBTdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhJiBvKSBjCiAgICAgICAgICYm
IGdyaWQgPT0gby5ncmlkCiAgICAgICAgICYmIGdyaWRJdGVtID09IG8uZ3JpZEl0ZW0KICAgICAg
ICAgJiYgc2Nyb2xsTWFyZ2luID09IG8uc2Nyb2xsTWFyZ2luCisgICAgICAgICYmIHNjcm9sbFBh
ZGRpbmcgPT0gby5zY3JvbGxQYWRkaW5nCiAjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKLSAg
ICAgICAgJiYgc2Nyb2xsU25hcFBvcnQgPT0gby5zY3JvbGxTbmFwUG9ydAorICAgICAgICAmJiBz
Y3JvbGxTbmFwVHlwZSA9PSBvLnNjcm9sbFNuYXBUeXBlCiAgICAgICAgICYmIHNjcm9sbFNuYXBB
bGlnbiA9PSBvLnNjcm9sbFNuYXBBbGlnbgogI2VuZGlmCiAgICAgICAgICYmIGNvbnRlbnREYXRh
RXF1aXZhbGVudChvKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlUmFyZU5vbkluaGVyaXRlZERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZVJhcmVOb25Jbmhlcml0ZWREYXRhLmgKaW5kZXggMzM5ZjMzZWMwODk0YjBhOWRl
OGNmZWRjZTA3MTYyODQ3OTBkNGRhNC4uMGFjNjM1MDBiODdmMmVjMmEyNzAwNGJiY2FkOWI1N2M3
ZmM3MTE5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxl
UmFyZU5vbkluaGVyaXRlZERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVSYXJlTm9uSW5oZXJpdGVkRGF0YS5oCkBAIC0xMzIsOCArMTMyLDkgQEAgcHVibGlj
OgogICAgIERhdGFSZWY8U3R5bGVHcmlkSXRlbURhdGE+IGdyaWRJdGVtOwogCiAgICAgTGVuZ3Ro
Qm94IHNjcm9sbE1hcmdpbiB7IDAsIDAsIDAsIDAgfTsKKyAgICBMZW5ndGhCb3ggc2Nyb2xsUGFk
ZGluZyB7IDAsIDAsIDAsIDAgfTsKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQotICAgIERh
dGFSZWY8U3R5bGVTY3JvbGxTbmFwUG9ydD4gc2Nyb2xsU25hcFBvcnQ7CisgICAgU2Nyb2xsU25h
cFR5cGUgc2Nyb2xsU25hcFR5cGU7CiAgICAgU2Nyb2xsU25hcEFsaWduIHNjcm9sbFNuYXBBbGln
bjsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVTY3JvbGxTbmFwUG9pbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZVNjcm9sbFNuYXBQb2ludHMuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBiNmEyMjZiNTE4NmZhZDlkMmUzZjdmYTk0NzY0NDkwNzk3ZmNkMmQ3Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9TdHlsZVNjcm9sbFNuYXBQb2ludHMuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTEg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNC0yMDE2IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUg
IlN0eWxlU2Nyb2xsU25hcFBvaW50cy5oIgotCi0jaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkK
LQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1SZWY8U3R5bGVTY3JvbGxTbmFwUG9ydD4gU3R5bGVT
Y3JvbGxTbmFwUG9ydDo6Y29weSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
U3R5bGVTY3JvbGxTbmFwUG9ydCgqdGhpcykpOwotfQotCi1TdHlsZVNjcm9sbFNuYXBQb3J0OjpT
dHlsZVNjcm9sbFNuYXBQb3J0KCkKLXsKLX0KLQotaW5saW5lIFN0eWxlU2Nyb2xsU25hcFBvcnQ6
OlN0eWxlU2Nyb2xsU25hcFBvcnQoY29uc3QgU3R5bGVTY3JvbGxTbmFwUG9ydCYgb3RoZXIpCi0g
ICAgOiBSZWZDb3VudGVkKCkKLSAgICAsIHR5cGUob3RoZXIudHlwZSkKLSAgICAsIHNjcm9sbFBh
ZGRpbmcob3RoZXIuc2Nyb2xsUGFkZGluZykKLXsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQotCi0jZW5kaWYgLyogRU5BQkxFKENTU19TQ1JPTExfU05BUCkgKi8KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVNjcm9sbFNuYXBQb2ludHMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVNjcm9sbFNuYXBQb2ludHMuaAppbmRl
eCBmMTk0NGUwMzVhMjk1ZjUwMmUwYWI3Y2FjMjIxNTY3OWQ0NjRiYzE5Li5iZjUzNTVkMGEwYmFm
ZDU4YjFmYTM4MGNiNGVjYzYxYjNlZDMzZGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvU3R5bGVTY3JvbGxTbmFwUG9pbnRzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlU2Nyb2xsU25hcFBvaW50cy5oCkBAIC00NywyNiArNDcs
NiBAQCBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFNjcm9sbFNuYXBUeXBlJiBhLCBjb25z
dCBTY3JvbGxTbmFwVHlwZSYgYikKIAogaW5saW5lIGJvb2wgb3BlcmF0b3IhPShjb25zdCBTY3Jv
bGxTbmFwVHlwZSYgYSwgY29uc3QgU2Nyb2xsU25hcFR5cGUmIGIpIHsgcmV0dXJuICEoYSA9PSBi
KTsgfQogCi1jbGFzcyBTdHlsZVNjcm9sbFNuYXBQb3J0IDogcHVibGljIFJlZkNvdW50ZWQ8U3R5
bGVTY3JvbGxTbmFwUG9ydD4gewotcHVibGljOgotICAgIHN0YXRpYyBSZWY8U3R5bGVTY3JvbGxT
bmFwUG9ydD4gY3JlYXRlKCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTdHlsZVNjcm9sbFNuYXBQ
b3J0KTsgfQotICAgIFJlZjxTdHlsZVNjcm9sbFNuYXBQb3J0PiBjb3B5KCkgY29uc3Q7Ci0KLSAg
ICBTY3JvbGxTbmFwVHlwZSB0eXBlOwotICAgIExlbmd0aEJveCBzY3JvbGxQYWRkaW5nIHsgMCwg
MCwgMCwgMCB9OwotCi1wcml2YXRlOgotICAgIFN0eWxlU2Nyb2xsU25hcFBvcnQoKTsKLSAgICBT
dHlsZVNjcm9sbFNuYXBQb3J0KGNvbnN0IFN0eWxlU2Nyb2xsU25hcFBvcnQmKTsKLX07Ci0KLWlu
bGluZSBib29sIG9wZXJhdG9yPT0oY29uc3QgU3R5bGVTY3JvbGxTbmFwUG9ydCYgYSwgY29uc3Qg
U3R5bGVTY3JvbGxTbmFwUG9ydCYgYikKLXsKLSAgICByZXR1cm4gYS50eXBlID09IGIudHlwZSAm
JiBhLnNjcm9sbFBhZGRpbmcgPT0gYi5zY3JvbGxQYWRkaW5nOwotfQotCi1pbmxpbmUgYm9vbCBv
cGVyYXRvciE9KGNvbnN0IFN0eWxlU2Nyb2xsU25hcFBvcnQmIGEsIGNvbnN0IFN0eWxlU2Nyb2xs
U25hcFBvcnQmIGIpIHsgcmV0dXJuICEoYSA9PSBiKTsgfQotCiBzdHJ1Y3QgU2Nyb2xsU25hcEFs
aWduIHsKICAgICBTY3JvbGxTbmFwQXhpc0FsaWduVHlwZSB4IHsgU2Nyb2xsU25hcEF4aXNBbGln
blR5cGU6Ok5vbmUgfTsKICAgICBTY3JvbGxTbmFwQXhpc0FsaWduVHlwZSB5IHsgU2Nyb2xsU25h
cEF4aXNBbGlnblR5cGU6Ok5vbmUgfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyMTRjMmQ1ZTI0OWFmMGU3MDc3ZGQzMDRl
M2NmYjA0OWQ3YTI3OWVlLi5mMzUzY2JmYmU3MGQxN2NlZjJlNTU1NzgwYjJlZDA0ZWM5OWFlZWRk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjAtMTEtMTggIE1hcnRpbiBSb2JpbnNvbiAgPG1y
b2JpbnNvbkB3ZWJraXQub3JnPgorCisgICAgICAgIE1ha2Ugc2Nyb2xsLXBhZGRpbmcgaW5kZXBl
bmRlbnQgb2Ygc2Nyb2xsLXNuYXAgYW5kIGhhdmUgaXQgYWZmZWN0IHNjcm9sbEludG9WaWV3Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTkwNzMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0
YXRpb25zOiBNYXJrIHNvbWUgdGVzdHMgYXMgcGFzc2luZy4KKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6IE1hcmsgb25lIHRlc3QgYXMgZmFpbGluZyBkdWUgdG8g
V2ViS2l0MSBzY3JvbGxiYXJzLgorCiAyMDIwLTExLTE3ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxp
YS5jb20+CiAKICAgICAgICAgQ2xlYW4gdXAgdGl0bGUtdGV4dC1wcm9wZXJ0eS5odG1sCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAxMjE2MDEzNDZkMDFhMTg1ODYyMzM2ZjllNmYw
Y2I0YjY2MWFiNWZlLi5kYjFlYWZkYWUyMzVlM2EzNDIyMmMwNmRmMDkwMmIwMDQ0NGIzZjM3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMC0xMS0x
OCAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTWFr
ZSBzY3JvbGwtcGFkZGluZyBpbmRlcGVuZGVudCBvZiBzY3JvbGwtc25hcCBhbmQgaGF2ZSBpdCBh
ZmZlY3Qgc2Nyb2xsSW50b1ZpZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxOTA3MworCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4K
KworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9zY3JvbGxJbnRv
Vmlldy1zY3JvbGxQYWRkaW5nLWV4cGVjdGVkLnR4dDogVXBkYXRlZCB0byByZWZsZWN0IG5ld2x5
IHBhc3NpbmcgdGVzdC4KKwogMjAyMC0xMS0xNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3Rl
bnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpbGVSZWFkZXJMb2FkZXI6OmNvbnZlcnRUb0Rh
dGFVUkwgc2hvdWxkIHVzZSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0gaWYgTUlNRSB0eXBlIGlz
IGVtcHR5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAzYjU1MzU1Mzg5YjBkMDljOWE3ZDNlYzNmM2M1
N2Q1ZDI3YjI4MGQ1Li45NzQwYjIzZDk3NzlmZjM5NjkxZTAyN2RmN2U5NDM0ZjA0NzYzNWM4IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ1NTMsOSArNDU1Myw2IEBAIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY3JvbGwtc25hcC9zY3JvbGwtdGFyZ2V0LWFsaWduLTAw
Mi5odG1sCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNu
YXAvc2Nyb2xsLXRhcmdldC1hbGlnbi0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Vi
a2l0Lm9yZy9iLzIxODMyNSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
c2Nyb2xsLXNuYXAvc2Nyb2xsLXRhcmdldC1tYXJnaW4tMDAxLmh0bWwgWyBQYXNzIEltYWdlT25s
eUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIxODMyNSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3Mtc2Nyb2xsLXNuYXAvc2Nyb2xsLXRhcmdldC1tYXJnaW4tMDAzLmh0bWwg
WyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbC10YXJnZXQtcGFkZGluZy0wMDEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LXNjcm9sbC1zbmFwL3Njcm9sbC10YXJnZXQtcGFkZGluZy0wMDIuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1z
bmFwL3Njcm9sbC10YXJnZXQtcGFkZGluZy0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9s
bC10YXJnZXQtc25hcC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbC10YXJnZXQtc25h
cC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1zbmFwL3Njcm9sbC10YXJnZXQtc25hcC0wMDMuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9zY3JvbGxJbnRvVmlldy1zY3JvbGxQ
YWRkaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvc2Nyb2xsSW50b1ZpZXctc2Nyb2xsUGFkZGluZy1leHBl
Y3RlZC50eHQKaW5kZXggNzg3OTM2ZDY3NjFhMDQ1ZGYwMWEzYWMwN2ZmNWQ1Y2JiNTM4MjE3ZC4u
YjIwYzVmNWZiMzZiMzc0MDY4MTNlOGFlZDMwZDllOTMyNWY2ZDZjMyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9z
Y3JvbGxJbnRvVmlldy1zY3JvbGxQYWRkaW5nLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L3Njcm9sbElu
dG9WaWV3LXNjcm9sbFBhZGRpbmctZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogCi1GQUlM
IHNjcm9sbEludG9WaWV3KHtibG9jazogImNlbnRlciIsIGlubGluZTogImNlbnRlciJ9KSBhc3Nl
cnRfYXBwcm94X2VxdWFsczogc2Nyb2xsWCBleHBlY3RlZCAxNTMuNSArLy0gMC41IGJ1dCBnb3Qg
MTU4Ci1GQUlMIHNjcm9sbEludG9WaWV3KHtibG9jazogInN0YXJ0IiwgaW5saW5lOiAic3RhcnQi
fSkgYXNzZXJ0X2FwcHJveF9lcXVhbHM6IHNjcm9sbFggZXhwZWN0ZWQgMTg0ICsvLSAwLjUgYnV0
IGdvdCAyMDAKLUZBSUwgc2Nyb2xsSW50b1ZpZXcoe2Jsb2NrOiAiZW5kIiwgaW5saW5lOiAiZW5k
In0pIGFzc2VydF9hcHByb3hfZXF1YWxzOiBzY3JvbGxYIGV4cGVjdGVkIDEyMyArLy0gMC41IGJ1
dCBnb3QgMTE1CitQQVNTIHNjcm9sbEludG9WaWV3KHtibG9jazogImNlbnRlciIsIGlubGluZTog
ImNlbnRlciJ9KQorUEFTUyBzY3JvbGxJbnRvVmlldyh7YmxvY2s6ICJzdGFydCIsIGlubGluZTog
InN0YXJ0In0pCitQQVNTIHNjcm9sbEludG9WaWV3KHtibG9jazogImVuZCIsIGlubGluZTogImVu
ZCJ9KQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBl
Y3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggZjI0MzUwODczNmE1MGQyYWNiMTJiNjcxMzZhYTI1MWU5OTcwNzFkMi4uZDg2YmFmMWYw
Zjk0M2I1NTU1NWNkMTJhMmFiNWUxMmIzMmVlYjg1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDQ0LDYgKzQ0NCw5IEBAIHN0b3JhZ2Uv
aW5kZXhlZGRiL21vZGVybi9leGNlZWQtb3Blbi1maWxlLWxpbWl0Lmh0bWwKIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY29va2llcy9zZWN1cmUvc2V0LWZyb20td3NzLmh0dHBzLnN1
Yi5odG1sIFsgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nvb2tp
ZXMvc2VjdXJlL3NldC1mcm9tLXdzLnN1Yi5odG1sIFsgRmFpbHVyZSBdCiAKKyMgV2ViS2l0MSBm
cmFtZXMgdXNlIG5hdGl2ZSBzY3JvbGxiYXJzIGNhdXNpbmcgdGhpcyByZWZlcmVuY2UgdGVzdCB0
byBmYWlsLgoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjcm9sbC1z
bmFwL3Njcm9sbC10YXJnZXQtcGFkZGluZy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQor
CiAjIyMgRU5EIE9GICgyKSBGYWlsdXJlcyB3aXRob3V0IGJ1ZyByZXBvcnRzCiAjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>