<?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>268523</bug_id>
          
          <creation_ts>2024-01-31 18:26:05 -0800</creation_ts>
          <short_desc>AX: The value of date time fields is not read by VoiceOver when the VO cursor lands on them.</short_desc>
          <delta_ts>2024-02-03 16:42:26 -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>Accessibility</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andres Gonzalez">andresg_22</reporter>
          <assigned_to name="Andres Gonzalez">andresg_22</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>andresg_22</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>samuel_white</cc>
    
    <cc>tyler_w</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2009590</commentid>
    <comment_count>0</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2024-01-31 18:26:05 -0800</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2009591</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2024-01-31 18:26:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/122059024&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2009594</commentid>
    <comment_count>2</comment_count>
      <attachid>469642</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2024-01-31 18:30:40 -0800</bug_when>
    <thetext>Created attachment 469642
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2009716</commentid>
    <comment_count>3</comment_count>
      <attachid>469650</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2024-02-01 05:59:46 -0800</bug_when>
    <thetext>Created attachment 469650
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2009736</commentid>
    <comment_count>4</comment_count>
      <attachid>469650</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2024-02-01 07:46:11 -0800</bug_when>
    <thetext>Comment on attachment 469650
Patch

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

&gt; Source/WebCore/accessibility/AccessibilitySpinButton.h:72
&gt; +    bool m_isIncrementor : true;

I think the colon syntax is for bitfields. Do we want to keep it, or use the more standard:

bool m_isIncrementor { true }

&gt; Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:1004
&gt; -        
&gt; -    if (self.axBackingObject-&gt;isNonNativeTextControl())
&gt; -        return true;
&gt;  
&gt; -    // Links can sometimes be elements (when they only contain static text or don&apos;t contain anything).
&gt; -    // They should not be elements when containing text and other types.
&gt; +        if (backingObject-&gt;isNonNativeTextControl())
&gt; +            return true;
&gt; +
&gt; +        // Links can sometimes be elements (when they only contain static text or don&apos;t contain anything).
&gt; +        // They should not be elements when containing text and other types.

I&apos;m confused by this, both before and after your patch. Is this an if-statement wedged between switch case statements that doesn&apos;t belong to any case? If so, probably the indentation should at least match the cases (this patch moves indents it forwards one level) because it&apos;s some kind of ad-hoc &quot;case&quot;. But seems odd in any case, unless this is standard practice I&apos;m unaware of.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2009769</commentid>
    <comment_count>5</comment_count>
      <attachid>469658</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2024-02-01 09:21:45 -0800</bug_when>
    <thetext>Created attachment 469658
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2009770</commentid>
    <comment_count>6</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2024-02-01 09:25:24 -0800</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #4)
&gt; Comment on attachment 469650 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=469650&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/accessibility/AccessibilitySpinButton.h:72
&gt; &gt; +    bool m_isIncrementor : true;
&gt; 
&gt; I think the colon syntax is for bitfields. Do we want to keep it, or use the
&gt; more standard:
&gt; 
&gt; bool m_isIncrementor { true }

AG: Fixed.
&gt; 
&gt; &gt; Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:1004
&gt; &gt; -        
&gt; &gt; -    if (self.axBackingObject-&gt;isNonNativeTextControl())
&gt; &gt; -        return true;
&gt; &gt;  
&gt; &gt; -    // Links can sometimes be elements (when they only contain static text or don&apos;t contain anything).
&gt; &gt; -    // They should not be elements when containing text and other types.
&gt; &gt; +        if (backingObject-&gt;isNonNativeTextControl())
&gt; &gt; +            return true;
&gt; &gt; +
&gt; &gt; +        // Links can sometimes be elements (when they only contain static text or don&apos;t contain anything).
&gt; &gt; +        // They should not be elements when containing text and other types.
&gt; 
&gt; I&apos;m confused by this, both before and after your patch. Is this an
&gt; if-statement wedged between switch case statements that doesn&apos;t belong to
&gt; any case? If so, probably the indentation should at least match the cases
&gt; (this patch moves indents it forwards one level) because it&apos;s some kind of
&gt; ad-hoc &quot;case&quot;. But seems odd in any case, unless this is standard practice
&gt; I&apos;m unaware of.

AG: thanks for catching that. Removed the dead code and put the comment in the right place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2009790</commentid>
    <comment_count>7</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2024-02-01 10:19:09 -0800</bug_when>
    <thetext>(In reply to Andres Gonzalez from comment #6)
&gt; (In reply to Tyler Wilcock from comment #4)
&gt; &gt; &gt; Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:1004
&gt; &gt; &gt; -        
&gt; &gt; &gt; -    if (self.axBackingObject-&gt;isNonNativeTextControl())
&gt; &gt; &gt; -        return true;
&gt; &gt; &gt;  
&gt; &gt; &gt; -    // Links can sometimes be elements (when they only contain static text or don&apos;t contain anything).
&gt; &gt; &gt; -    // They should not be elements when containing text and other types.
&gt; &gt; &gt; +        if (backingObject-&gt;isNonNativeTextControl())
&gt; &gt; &gt; +            return true;
&gt; &gt; &gt; +
&gt; &gt; &gt; +        // Links can sometimes be elements (when they only contain static text or don&apos;t contain anything).
&gt; &gt; &gt; +        // They should not be elements when containing text and other types.
&gt; &gt; 
&gt; &gt; I&apos;m confused by this, both before and after your patch. Is this an
&gt; &gt; if-statement wedged between switch case statements that doesn&apos;t belong to
&gt; &gt; any case? If so, probably the indentation should at least match the cases
&gt; &gt; (this patch moves indents it forwards one level) because it&apos;s some kind of
&gt; &gt; ad-hoc &quot;case&quot;. But seems odd in any case, unless this is standard practice
&gt; &gt; I&apos;m unaware of.
&gt; 
&gt; AG: thanks for catching that. Removed the dead code and put the comment in
&gt; the right place.
TW: Did the if-statement have no effect? Or is removing it a behavior change? I&apos;m not sure how this code would behave, never seen something like it before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2009794</commentid>
    <comment_count>8</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2024-02-01 10:29:20 -0800</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #7)
&gt; (In reply to Andres Gonzalez from comment #6)
&gt; &gt; (In reply to Tyler Wilcock from comment #4)
&gt; &gt; &gt; &gt; Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:1004
&gt; &gt; &gt; &gt; -        
&gt; &gt; &gt; &gt; -    if (self.axBackingObject-&gt;isNonNativeTextControl())
&gt; &gt; &gt; &gt; -        return true;
&gt; &gt; &gt; &gt;  
&gt; &gt; &gt; &gt; -    // Links can sometimes be elements (when they only contain static text or don&apos;t contain anything).
&gt; &gt; &gt; &gt; -    // They should not be elements when containing text and other types.
&gt; &gt; &gt; &gt; +        if (backingObject-&gt;isNonNativeTextControl())
&gt; &gt; &gt; &gt; +            return true;
&gt; &gt; &gt; &gt; +
&gt; &gt; &gt; &gt; +        // Links can sometimes be elements (when they only contain static text or don&apos;t contain anything).
&gt; &gt; &gt; &gt; +        // They should not be elements when containing text and other types.
&gt; &gt; &gt; 
&gt; &gt; &gt; I&apos;m confused by this, both before and after your patch. Is this an
&gt; &gt; &gt; if-statement wedged between switch case statements that doesn&apos;t belong to
&gt; &gt; &gt; any case? If so, probably the indentation should at least match the cases
&gt; &gt; &gt; (this patch moves indents it forwards one level) because it&apos;s some kind of
&gt; &gt; &gt; ad-hoc &quot;case&quot;. But seems odd in any case, unless this is standard practice
&gt; &gt; &gt; I&apos;m unaware of.
&gt; &gt; 
&gt; &gt; AG: thanks for catching that. Removed the dead code and put the comment in
&gt; &gt; the right place.
&gt; TW: Did the if-statement have no effect? Or is removing it a behavior
&gt; change? I&apos;m not sure how this code would behave, never seen something like
&gt; it before.

That if statement wasn&apos;t ever executed because the previous line is a return. Doesn&apos;t matter that is inside a case block.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2009949</commentid>
    <comment_count>9</comment_count>
      <attachid>469666</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2024-02-01 16:35:51 -0800</bug_when>
    <thetext>Created attachment 469666
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2010077</commentid>
    <comment_count>10</comment_count>
      <attachid>469674</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2024-02-02 06:11:23 -0800</bug_when>
    <thetext>Created attachment 469674
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2010394</commentid>
    <comment_count>11</comment_count>
      <attachid>469692</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2024-02-03 10:38:46 -0800</bug_when>
    <thetext>Created attachment 469692
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2010437</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2024-02-03 16:42:24 -0800</bug_when>
    <thetext>Committed 274057@main (7c62441425c1): &lt;https://commits.webkit.org/274057@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 469692.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>469642</attachid>
            <date>2024-01-31 18:30:40 -0800</date>
            <delta_ts>2024-02-01 05:59:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-268523-20240131213038.patch</filename>
            <type>text/plain</type>
            <size>40611</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">RnJvbSA4ZWQ5NzZkODMzOGUzMTVjNDA2ZDNjMTkzY2ExMWEyOGQ1ODMxMGY1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXMgR29uemFsZXogPGFuZHJlc2dfMjJAYXBwbGUuY29t
PgpEYXRlOiBXZWQsIDI0IEphbiAyMDI0IDEzOjM0OjI3IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0g
QVg6IFRoZSB2YWx1ZSBvZiBkYXRlIHRpbWUgZmllbGRzIGlzIG5vdCByZWFkIGJ5IFZvaWNlT3Zl
cgogd2hlbiB0aGUgVk8gY3Vyc29yIGxhbmRzIG9uIHRoZW0uCiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY4NTIzIDxyZGFyOi8vcHJvYmxlbS8xMjIwNTkwMjQ+CgpS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClRoaXMgcGF0Y2ggZml4ZXMgdGhlIHByb2JsZW0g
YnkgcHJvdmlkaW5nIGEgcHJvcGVyIGltcGxlbWVudGF0aW9uIGZvciB0aGUgc3RyaW5nVmFsdWUo
KSBtZXRob2QgaW4gdGhlIGNhc2Ugb2YgYSBkYXRlIHRpbWUgZmllbGQuIFNvbWUgaU9TLXNwZWNp
ZmljIGNvZGUgdG8gaGFuZGxlIGRhdGUgdGltZSBmaWVsZHMgd2FzIHJlLXdvcmtlZCBhbmQgcHJv
bW90ZWQgdG8gY29yZSBjb2RlIHRvIG1ha2UgdGhpcyBmaXggcG9zc2libGUgaW4gYWxsIHBsYXRm
b3Jtcy4gVGhlIHBhdGNoIGluY2x1ZGVzIHRoZSBmb2xsb3dpbmcgY2hhbmdlczoKLSBBZGRlZCBh
IERhdGVUaW1lIHJvbGUgdG8gZGVzY3JpYmUgdGhpcyBmYW1pbHkgb2YgZWxlbWVudHMuCi0gTWFw
IHRoaXMgcm9sZSB0byBpdHMgYXBwcm9wcmlhdGUgcGxhdGZvcm0gcHJvcGVydGllcy4KLSBGaXgg
aW4gQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6c3RyaW5nVmFsdWUoKS4KLSBDb2RlIGNsZWFu
dXAuCgoqIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZGF0ZS1pbnB1dC1hcmlhLWxhYmVsLWFu
ZC12YWx1ZS1leHBlY3RlZC50eHQ6CiogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kYXRlLWlu
cHV0LWFyaWEtbGFiZWwtYW5kLXZhbHVlLmh0bWw6ClJlLXdyb3RlIHRoaXMgdGVzdCBhY2NvcmRp
bmcgdG8gb3VyIGN1cnJlbnQgc3RhbmRhcmRzLCBhbmQgc2ltcGxpZmllZCBhbmQgbWFkZSBjbGVh
ciB0aGUgY29kZS4KCiogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVs
LXZhbHVlLWV4cGVjdGVkLnR4dDogQWRkZWQuCiogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9p
bnB1dC10aW1lLWxhYmVsLXZhbHVlLmh0bWw6IEFkZGVkLgpQcm9tb3RlZCB0aGlzIHRlc3QgZnJv
bSBpb3Mtc2ltdWxhdG9yIHRvIGFsbCBwbGF0Zm9ybXMuIEFsc28gbW9kZXJuaXplZCBhbmQgY2xl
YW5lZCB1cCB0aGUgY29kZS4KCiogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxh
dG9yL2lucHV0LXR5cGUtdGltZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCiogTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2lucHV0LXR5cGUtdGltZS5odG1sOiBSZW1vdmVk
LgpCZWNhbWUgaW5wdXQtdGltZS1sYWJlbC12YWx1ZS5odG1sIGFib3ZlLgoKKiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvY2hhbmdpbmctYXJpYS1oaWRk
ZW4td2l0aC1kaXNwbGF5LW5vbmUtcGFyZW50LWV4cGVjdGVkLnR4dDoKUmViYXNlZCBiZWNhdXNl
IG5vdyBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0aXRsZSByZXR1cm5zIHNvbWV0aGluZyBvbiBp
T1MsIGJlZm9yZSByZXR1cm5lZCBudWxsLgoKKiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVz
dEV4cGVjdGF0aW9uczoKKiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvYWNjZXNzaWJpbGl0eS9p
bnB1dC10aW1lLWxhYmVsLXZhbHVlLWV4cGVjdGVkLnR4dDogQWRkZWQuCiogU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BWENvcmVPYmplY3QuaDoKKFdlYkNvcmU6OmFjY2Vzc2liaWxpdHlS
b2xlVG9TdHJpbmcpOgooV2ViQ29yZTo6QVhDb3JlT2JqZWN0Ojppc0RhdGVUaW1lIGNvbnN0KToK
KiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgooV2ViQ29y
ZTo6QVhPYmplY3RDYWNoZTo6Y3JlYXRlKToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlOb2Rl
T2JqZWN0OjpkZXRlcm1pbmVBY2Nlc3NpYmlsaXR5Um9sZUZyb21Ob2RlIGNvbnN0KToKKiBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgooV2ViQ29y
ZTo6aW5pdGlhbGl6ZVJvbGVNYXApOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdC5oOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2Jq
ZWN0OjpzdHJpbmdWYWx1ZSBjb25zdCk6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2Jq
ZWN0OjphZGRUZXh0RmllbGRDaGlsZHJlbik6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvaW9zL0FjY2Vzc2liaWxpdHlPYmplY3RJT1MubW06CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
T2JqZWN0Ojppc0lucHV0VHlwZVBvcHVwQnV0dG9uIGNvbnN0KTogRGVsZXRlZC4KKiBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklP
Uy5tbToKKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgZGV0ZXJtaW5lSXNBY2Nlc3Np
YmlsaXR5RWxlbWVudF0pOgooLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBzdHJpbmdW
YWx1ZVNob3VsZEJlVXNlZEluTGFiZWxdKToKKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXIgYWNjZXNzaWJpbGl0eUxhYmVsXSk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9t
YWMvQWNjZXNzaWJpbGl0eU9iamVjdE1hYy5tbToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHk6OmNy
ZWF0ZVBsYXRmb3JtUm9sZU1hcCk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMv
V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW06CigtW1dlYkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpdKToKKiBUb29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9T
Lm1tOgooV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0aXRsZSk6Ci0tLQogU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BWENvcmVPYmplY3QuaCAgIHwgICA1ICstCiAuLi4vV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwICAgfCAgIDUgKy0KIC4uLi9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcCB8ICAgNyArLQogLi4uL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgICAgIHwgICAxICsKIC4uLi9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaCAgICAgICB8ICAgMSAtCiAuLi4vQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdC5jcHAgICAgICAgICAgICAgfCAgMTQgKystCiAuLi4vYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oICAgfCAgMjIgKystLQogLi4uL2lvcy9BY2Nlc3Np
YmlsaXR5T2JqZWN0SU9TLm1tICAgICAgICAgICAgIHwgICA3IC0tCiAuLi4vaW9zL1dlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tICAgfCAgNjEgKysrKystLS0tLQogLi4uL21hYy9B
Y2Nlc3NpYmlsaXR5T2JqZWN0TWFjLm1tICAgICAgICAgICAgIHwgICAxICsKIC4uLi9tYWMvV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0gICB8ICAgNyArLQogLi4uL2lvcy9BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tICAgICAgICAgIHwgICAyICstCiAuLi50ZS1pbnB1dC1h
cmlhLWxhYmVsLWFuZC12YWx1ZS1leHBlY3RlZC50eHQgfCAgNzEgKysrKysrLS0tLS0tCiAuLi4v
ZGF0ZS1pbnB1dC1hcmlhLWxhYmVsLWFuZC12YWx1ZS5odG1sICAgICAgfCAxMDUgKysrKysrKyst
LS0tLS0tLS0tCiAuLi4vaW5wdXQtdGltZS1sYWJlbC12YWx1ZS1leHBlY3RlZC50eHQgICAgICAg
fCAgMTEgKysKIC4uLi9hY2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUuaHRtbCB8
ICAyOCArKysrKwogLi4uL2lucHV0LXR5cGUtdGltZS1leHBlY3RlZC50eHQgICAgICAgICAgICAg
IHwgIDE1IC0tLQogLi4uL2lvcy1zaW11bGF0b3IvaW5wdXQtdHlwZS10aW1lLmh0bWwgICAgICAg
IHwgIDQwIC0tLS0tLS0KIC4uLmRkZW4td2l0aC1kaXNwbGF5LW5vbmUtcGFyZW50LWV4cGVjdGVk
LnR4dCB8ICAyNCArKy0tCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9u
cyAgICAgfCAgIDEgKwogLi4uL2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0ICAg
ICAgIHwgIDExICsrCiAyMSBmaWxlcyBjaGFuZ2VkLCAyMDAgaW5zZXJ0aW9ucygrKSwgMjM5IGRl
bGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
aW5wdXQtdGltZS1sYWJlbC12YWx1ZS1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBM
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUuaHRtbAogZGVs
ZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9p
bnB1dC10eXBlLXRpbWUtZXhwZWN0ZWQudHh0CiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2lucHV0LXR5cGUtdGltZS5odG1sCiBjcmVh
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2FjY2Vzc2liaWxpdHkvaW5w
dXQtdGltZS1sYWJlbC12YWx1ZS1leHBlY3RlZC50eHQKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYQ29yZU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BWENvcmVPYmplY3QuaAppbmRleCBjOTVjNjRmY2IyYTYuLmMzNjRlNjZjODM3ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWENvcmVPYmplY3QuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYQ29yZU9iamVjdC5oCkBAIC0xMzYs
NiArMTM2LDcgQEAgZW51bSBjbGFzcyBBY2Nlc3NpYmlsaXR5Um9sZSB7CiAgICAgQ29sdW1uLAog
ICAgIENvbHVtbkhlYWRlciwKICAgICBDb21ib0JveCwKKyAgICBEYXRlVGltZSwKICAgICBEZWZp
bml0aW9uLAogICAgIERlbGV0aW9uLAogICAgIERlc2NyaXB0aW9uTGlzdCwKQEAgLTMwMyw2ICsz
MDQsOCBAQCBBTFdBWVNfSU5MSU5FIFN0cmluZyBhY2Nlc3NpYmlsaXR5Um9sZVRvU3RyaW5nKEFj
Y2Vzc2liaWxpdHlSb2xlIHJvbGUpCiAgICAgICAgIHJldHVybiAiQ29sdW1uSGVhZGVyIl9zOwog
ICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OkNvbWJvQm94OgogICAgICAgICByZXR1cm4gIkNv
bWJvQm94Il9zOworICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OkRhdGVUaW1lOgorICAgICAg
ICByZXR1cm4gIkRhdGVUaW1lIl9zOwogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OkRlZmlu
aXRpb246CiAgICAgICAgIHJldHVybiAiRGVmaW5pdGlvbiJfczsKICAgICBjYXNlIEFjY2Vzc2li
aWxpdHlSb2xlOjpEZWxldGlvbjoKQEAgLTkwOCw2ICs5MTEsNyBAQCBwdWJsaWM6CiAgICAgYm9v
bCBpc1RhYkl0ZW0oKSBjb25zdCB7IHJldHVybiByb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5
Um9sZTo6VGFiOyB9CiAgICAgYm9vbCBpc1JhZGlvR3JvdXAoKSBjb25zdCB7IHJldHVybiByb2xl
VmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6UmFkaW9Hcm91cDsgfQogICAgIGJvb2wgaXND
b21ib0JveCgpIGNvbnN0IHsgcmV0dXJuIHJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xl
OjpDb21ib0JveDsgfQorICAgIGJvb2wgaXNEYXRlVGltZSgpIGNvbnN0IHsgcmV0dXJuIHJvbGVW
YWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpEYXRlVGltZTsgfQogICAgIGJvb2wgaXNUcmVl
KCkgY29uc3QgeyByZXR1cm4gcm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OlRyZWU7
IH0KICAgICBib29sIGlzVHJlZUdyaWQoKSBjb25zdCB7IHJldHVybiByb2xlVmFsdWUoKSA9PSBB
Y2Nlc3NpYmlsaXR5Um9sZTo6VHJlZUdyaWQ7IH0KICAgICBib29sIGlzVHJlZUl0ZW0oKSBjb25z
dCB7IHJldHVybiByb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6VHJlZUl0ZW07IH0K
QEAgLTEzNjgsNyArMTM3Miw2IEBAIHB1YmxpYzoKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQog
ICAgIHZpcnR1YWwgaW50IGFjY2Vzc2liaWxpdHlTZWN1cmVGaWVsZExlbmd0aCgpID0gMDsKICAg
ICB2aXJ0dWFsIGJvb2wgaGFzVG91Y2hFdmVudExpc3RlbmVyKCkgY29uc3QgPSAwOwotICAgIHZp
cnR1YWwgYm9vbCBpc0lucHV0VHlwZVBvcHVwQnV0dG9uKCkgY29uc3QgPSAwOwogI2VuZGlmCiAK
ICAgICAvLyBhbGxvd3MgZm9yIGFuIEFjY2Vzc2liaWxpdHlPYmplY3QgdG8gdXBkYXRlIGl0cyBy
ZW5kZXIgdHJlZSBvciBwZXJmb3JtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
WE9iamVjdENhY2hlLmNwcAppbmRleCA3OGEzMzBkYTRjNWMuLjAxZmRhNGNmMTI3OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCkBAIC0xMDI5
LDExICsxMDI5LDEwIEBAIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFYT2JqZWN0Q2FjaGU6OnJvb3RP
YmplY3RGb3JGcmFtZShMb2NhbEZyYW1lKiBmcmFtZSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7
CiAgICAgcmV0dXJuIGdldE9yQ3JlYXRlKGZyYW1lLT52aWV3KCkpOwogfSAgICAKLSAgICAKKwog
QWNjZXNzaWJpbGl0eU9iamVjdCogQVhPYmplY3RDYWNoZTo6Y3JlYXRlKEFjY2Vzc2liaWxpdHlS
b2xlIHJvbGUpCiB7CiAgICAgUmVmUHRyPEFjY2Vzc2liaWxpdHlPYmplY3Q+IG9iajsKLQogICAg
IC8vIHdpbGwgYmUgZmlsbGVkIGluLi4uCiAgICAgc3dpdGNoIChyb2xlKSB7CiAgICAgY2FzZSBB
Y2Nlc3NpYmlsaXR5Um9sZTo6SW1hZ2VNYXBMaW5rOgpAQCAtMTA1OCw3ICsxMDU3LDcgQEAgQWNj
ZXNzaWJpbGl0eU9iamVjdCogQVhPYmplY3RDYWNoZTo6Y3JlYXRlKEFjY2Vzc2liaWxpdHlSb2xl
IHJvbGUpCiAgICAgICAgIG9iaiA9IEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uUGFydDo6Y3JlYXRl
KCk7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6Ci0gICAgICAgIG9iaiA9IG51bGxwdHI7
CisgICAgICAgIGJyZWFrOwogICAgIH0KIAogICAgIGlmICghb2JqKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcApp
bmRleCA2YzY2NTc2NWNhMmIuLjViNTE4MTAxN2Q1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKQEAgLTM0
MCwxMSArMzQwLDggQEAgQWNjZXNzaWJpbGl0eVJvbGUgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6
OmRldGVybWluZUFjY2Vzc2liaWxpdHlSb2xlRnJvbU5vZGUoVHIKICAgICAgICAgICAgIHJldHVy
biBBY2Nlc3NpYmlsaXR5Um9sZTo6UmFkaW9CdXR0b247CiAgICAgICAgIGlmIChpbnB1dC0+aXNU
ZXh0QnV0dG9uKCkpCiAgICAgICAgICAgICByZXR1cm4gYnV0dG9uUm9sZVR5cGUoKTsKLSAgICAg
ICAgLy8gT24gaU9TLCB0aGUgZGF0ZSBmaWVsZCBhbmQgdGltZSBmaWVsZCBhcmUgcG9wdXAgYnV0
dG9ucy4gT24gb3RoZXIgcGxhdGZvcm1zIHRoZXkgYXJlIHRleHQgZmllbGRzLgotI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpCi0gICAgICAgIGlmIChpbnB1dC0+aXNEYXRlRmllbGQoKSB8fCBpbnB1
dC0+aXNUaW1lRmllbGQoKSkKLSAgICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5Um9sZTo6
UG9wVXBCdXR0b247Ci0jZW5kaWYKKyAgICAgICAgaWYgKGlucHV0LT5pc0RhdGVGaWVsZCgpIHx8
IGlucHV0LT5pc0RhdGVUaW1lTG9jYWxGaWVsZCgpIHx8IGlucHV0LT5pc01vbnRoRmllbGQoKSB8
fCBpbnB1dC0+aXNUaW1lRmllbGQoKSB8fCBpbnB1dC0+aXNXZWVrRmllbGQoKSkKKyAgICAgICAg
ICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5Um9sZTo6RGF0ZVRpbWU7CiAjaWYgRU5BQkxFKElOUFVU
X1RZUEVfQ09MT1IpCiAgICAgICAgIGlmIChpbnB1dC0+aXNDb2xvckNvbnRyb2woKSkKICAgICAg
ICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5Um9sZTo6Q29sb3JXZWxsOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKaW5kZXgg
NDYwYWEzNzE0N2Q2Li44MzdhMjYwZTk3YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcApAQCAtMjczOCw2ICsyNzM4LDcg
QEAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVJvbGVNYXAoKQogICAgIC8vIENyZWF0ZSBzcGVjaWZp
YyBzeW5vbnltcyBmb3IgdGhlIGNvbXB1dGVkUm9sZSB3aGljaCBpcyB1c2VkIGluIFdQVCB0ZXN0
cyBhbmQgdGhlIGFjY2Vzc2liaWxpdHkgaW5zcGVjdG9yLgogICAgIGdBcmlhUmV2ZXJzZVJvbGVN
YXAtPnNldChlbnVtVG9VbmRlcmx5aW5nVHlwZShBY2Nlc3NpYmlsaXR5Um9sZTo6SW1hZ2UpLCAi
aW1hZ2UiX3MpOwogICAgIGdBcmlhUmV2ZXJzZVJvbGVNYXAtPnNldChlbnVtVG9VbmRlcmx5aW5n
VHlwZShBY2Nlc3NpYmlsaXR5Um9sZTo6VGV4dEFyZWEpLCAidGV4dGJveCJfcyk7CisgICAgZ0Fy
aWFSZXZlcnNlUm9sZU1hcC0+c2V0KGVudW1Ub1VuZGVybHlpbmdUeXBlKEFjY2Vzc2liaWxpdHlS
b2xlOjpEYXRlVGltZSksICJ0ZXh0Ym94Il9zKTsKICAgICBnQXJpYVJldmVyc2VSb2xlTWFwLT5z
ZXQoZW51bVRvVW5kZXJseWluZ1R5cGUoQWNjZXNzaWJpbGl0eVJvbGU6OlByZXNlbnRhdGlvbmFs
KSwgIm5vbmUiX3MpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU9iamVjdC5oCmluZGV4IDYyMjIwZWVkODU0Mi4uNWQ3OWZkY2ViYTY2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmpl
Y3QuaApAQCAtNzEyLDcgKzcxMiw2IEBAIHB1YmxpYzoKICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQogICAgIGludCBhY2Nlc3NpYmlsaXR5U2VjdXJlRmllbGRMZW5ndGgoKSBvdmVycmlkZTsKICAg
ICBib29sIGhhc1RvdWNoRXZlbnRMaXN0ZW5lcigpIGNvbnN0IG92ZXJyaWRlOwotICAgIGJvb2wg
aXNJbnB1dFR5cGVQb3B1cEJ1dHRvbigpIGNvbnN0IG92ZXJyaWRlOwogI2VuZGlmCiAKICAgICAv
LyBhbGxvd3MgZm9yIGFuIEFjY2Vzc2liaWxpdHlPYmplY3QgdG8gdXBkYXRlIGl0cyByZW5kZXIg
dHJlZSBvciBwZXJmb3JtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAppbmRleCAwYzI3MmE0OTU0YzcuLjhk
NDM2MmI3ODg2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwCkBAIC03ODgsMTAgKzc4OCwxNCBAQCBT
dHJpbmcgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6c3RyaW5nVmFsdWUoKSBjb25zdAogICAg
IGlmIChpc1dlYkFyZWEoKSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotI2lmIFBMQVRGT1JNKElP
U19GQU1JTFkpCi0gICAgaWYgKGlzSW5wdXRUeXBlUG9wdXBCdXR0b24oKSkKLSAgICAgICAgcmV0
dXJuIHRleHRVbmRlckVsZW1lbnQoKTsKLSNlbmRpZgorICAgIGlmIChpc0RhdGVUaW1lKCkpIHsK
KyAgICAgICAgU3RyaW5nIHZhbHVlOworICAgICAgICBBY2Nlc3NpYmlsaXR5OjplbnVtZXJhdGVE
ZXNjZW5kYW50cygqY29uc3RfY2FzdDxBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Kj4odGhpcyks
IGZhbHNlLCBbJnZhbHVlXSAoY29uc3QgYXV0byYgb2JqZWN0KSB7CisgICAgICAgICAgICBpZiAo
b2JqZWN0LmlzU3RhdGljVGV4dCgpKQorICAgICAgICAgICAgICAgIHZhbHVlID0gdmFsdWUgKyBv
YmplY3Quc3RyaW5nVmFsdWUoKTsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybiB2YWx1ZTsK
KyAgICB9CiAKICAgICBpZiAoYXV0byogcmVuZGVyRmlsZVVwbG9hZENvbnRyb2wgPSBkeW5hbWlj
RG93bmNhc3Q8UmVuZGVyRmlsZVVwbG9hZENvbnRyb2w+KG1fcmVuZGVyZXIuZ2V0KCkpKQogICAg
ICAgICByZXR1cm4gcmVuZGVyRmlsZVVwbG9hZENvbnRyb2wtPmZpbGVUZXh0VmFsdWUoKTsKQEAg
LTIyOTIsNyArMjI5Niw3IEBAIHZvaWQgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6YWRkVGV4
dEZpZWxkQ2hpbGRyZW4oKQogICAgIFJlZlB0ciBub2RlID0gZHluYW1pY0Rvd25jYXN0PEhUTUxJ
bnB1dEVsZW1lbnQ+KHRoaXMtPm5vZGUoKSk7CiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1
cm47Ci0gICAgCisKICAgICBhdXRvKiBzcGluQnV0dG9uRWxlbWVudCA9IGR5bmFtaWNEb3duY2Fz
dDxTcGluQnV0dG9uRWxlbWVudD4obm9kZS0+aW5uZXJTcGluQnV0dG9uRWxlbWVudCgpKTsKICAg
ICBpZiAoIXNwaW5CdXR0b25FbGVtZW50KQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmggYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmgKaW5k
ZXggZTFjZDQyZDhmMzU1Li41MTlhNmJlNGVmMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmgKQEAgLTI5LDE5ICsy
OSwxOSBAQAogI2luY2x1ZGUgIlNwaW5CdXR0b25FbGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKLSAgICAKKwogY2xhc3MgQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24gZmluYWwgOiBwdWJs
aWMgQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8QWNj
ZXNzaWJpbGl0eVNwaW5CdXR0b24+IGNyZWF0ZSgpOwogICAgIHZpcnR1YWwgfkFjY2Vzc2liaWxp
dHlTcGluQnV0dG9uKCk7Ci0gICAgCisKICAgICB2b2lkIHNldFNwaW5CdXR0b25FbGVtZW50KFNw
aW5CdXR0b25FbGVtZW50KiBzcGluQnV0dG9uKSB7IG1fc3BpbkJ1dHRvbkVsZW1lbnQgPSBzcGlu
QnV0dG9uOyB9Ci0gICAgCisKICAgICBBWENvcmVPYmplY3QqIGluY3JlbWVudEJ1dHRvbigpIG92
ZXJyaWRlOwogICAgIEFYQ29yZU9iamVjdCogZGVjcmVtZW50QnV0dG9uKCkgb3ZlcnJpZGU7CiAK
ICAgICB2b2lkIHN0ZXAoaW50IGFtb3VudCk7Ci0gICAgCisKIHByaXZhdGU6CiAgICAgQWNjZXNz
aWJpbGl0eVNwaW5CdXR0b24oKTsKIApAQCAtNDksMjkgKzQ5LDI5IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCBpc05hdGl2ZVNwaW5CdXR0b24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9
CiAgICAgdm9pZCBhZGRDaGlsZHJlbigpIG92ZXJyaWRlOwogICAgIExheW91dFJlY3QgZWxlbWVu
dFJlY3QoKSBjb25zdCBvdmVycmlkZTsKLSAgICAKKwogICAgIFdlYWtQdHI8U3BpbkJ1dHRvbkVs
ZW1lbnQsIFdlYWtQdHJJbXBsV2l0aEV2ZW50VGFyZ2V0RGF0YT4gbV9zcGluQnV0dG9uRWxlbWVu
dDsKIH07IAotICAgCisKIGNsYXNzIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uUGFydCBmaW5hbCA6
IHB1YmxpYyBBY2Nlc3NpYmlsaXR5TW9ja09iamVjdCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJl
ZjxBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvblBhcnQ+IGNyZWF0ZSgpOwogICAgIHZpcnR1YWwgfkFj
Y2Vzc2liaWxpdHlTcGluQnV0dG9uUGFydCgpID0gZGVmYXVsdDsKLSAgICAKKwogICAgIGJvb2wg
aXNJbmNyZW1lbnRvcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1faXNJbmNyZW1lbnRvcjsg
fQogICAgIHZvaWQgc2V0SXNJbmNyZW1lbnRvcihib29sIHZhbHVlKSB7IG1faXNJbmNyZW1lbnRv
ciA9IHZhbHVlOyB9Ci0gICAgCisKIHByaXZhdGU6CiAgICAgQWNjZXNzaWJpbGl0eVNwaW5CdXR0
b25QYXJ0KCk7Ci0gICAgCisKICAgICBib29sIHByZXNzKCkgb3ZlcnJpZGU7CiAgICAgQWNjZXNz
aWJpbGl0eVJvbGUgZGV0ZXJtaW5lQWNjZXNzaWJpbGl0eVJvbGUoKSBmaW5hbCB7IHJldHVybiBB
Y2Nlc3NpYmlsaXR5Um9sZTo6U3BpbkJ1dHRvblBhcnQ7IH0KICAgICBib29sIGlzU3BpbkJ1dHRv
blBhcnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgTGF5b3V0UmVjdCBl
bGVtZW50UmVjdCgpIGNvbnN0IG92ZXJyaWRlOwogCi0gICAgdW5zaWduZWQgbV9pc0luY3JlbWVu
dG9yIDogMTsKKyAgICBib29sIG1faXNJbmNyZW1lbnRvciA6IHRydWU7CiB9OwotICAgIAorCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eVNwaW5CdXR0b24pIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvaW9zL0FjY2Vzc2liaWxpdHlPYmplY3RJT1MubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9BY2Nlc3NpYmlsaXR5T2JqZWN0SU9TLm1tCmluZGV4
IDA4ZjM2YWFjYjc3NC4uN2Y5Y2Y2ZTY1NjAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2lvcy9BY2Nlc3NpYmlsaXR5T2JqZWN0SU9TLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL0FjY2Vzc2liaWxpdHlPYmplY3RJT1MubW0KQEAgLTEz
NCwxMyArMTM0LDYgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpoYXNUb3VjaEV2ZW50TGlz
dGVuZXIoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBBY2Nlc3NpYmlsaXR5
T2JqZWN0Ojppc0lucHV0VHlwZVBvcHVwQnV0dG9uKCkgY29uc3QKLXsKLSAgICBpZiAoaXM8SFRN
TElucHV0RWxlbWVudD4obm9kZSgpKSkKLSAgICAgICAgcmV0dXJuIHJvbGVWYWx1ZSgpID09IEFj
Y2Vzc2liaWxpdHlSb2xlOjpQb3BVcEJ1dHRvbjsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KIHZv
aWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6c2V0TGFzdFByZXNlbnRlZFRleHRQcmVkaWN0aW9uKE5v
ZGUmIHByZXZpb3VzQ29tcG9zaXRpb25Ob2RlLCBDb21wb3NpdGlvblN0YXRlIHN0YXRlLCBjb25z
dCBTdHJpbmcmIHRleHQsIHNpemVfdCBsb2NhdGlvbiwgYm9vbCBoYW5kbGluZ0FjY2VwdGVkQ2Fu
ZGlkYXRlKQogewogI2lmIEhBVkUoSU5MSU5FX1BSRURJQ1RJT05TKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9XZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlcklPUy5tbQppbmRleCAyN2I1MmIxNDg2MGIuLjdiYjI2YzFjOGFiZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvV2ViQWNjZXNzaWJp
bGl0eU9iamVjdFdyYXBwZXJJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9pb3MvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MubW0KQEAgLTkzOCwxNiArOTM4
LDE3IEBAIC0gKEJPT0wpaXNTVkdHcm91cEVsZW1lbnQKIAogLSAoQk9PTClkZXRlcm1pbmVJc0Fj
Y2Vzc2liaWxpdHlFbGVtZW50CiB7Ci0gICAgaWYgKCFzZWxmLmF4QmFja2luZ09iamVjdCkKKyAg
ICBSZWZQdHI8QVhDb3JlT2JqZWN0PiBiYWNraW5nT2JqZWN0ID0gc2VsZi5heEJhY2tpbmdPYmpl
Y3Q7CisgICAgaWYgKCFiYWNraW5nT2JqZWN0KQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
Ci0gICAgLy8gSG9ub3Igd2hlbiBzb21ldGhpbmcgZXhwbGljaXRseSBtYWtlcyB0aGlzIGFuIGVs
ZW1lbnQgKHN1cGVyIHdpbGwgY29udGFpbiB0aGF0IGxvZ2ljKSAKKworICAgIC8vIEhvbm9yIHdo
ZW4gc29tZXRoaW5nIGV4cGxpY2l0bHkgbWFrZXMgdGhpcyBhbiBlbGVtZW50IChzdXBlciB3aWxs
IGNvbnRhaW4gdGhhdCBsb2dpYykKICAgICBpZiAoW3N1cGVyIGlzQWNjZXNzaWJpbGl0eUVsZW1l
bnRdKQogICAgICAgICByZXR1cm4gWUVTOwotICAgIAotICAgIHNlbGYuYXhCYWNraW5nT2JqZWN0
LT51cGRhdGVCYWNraW5nU3RvcmUoKTsKLSAgICAKLSAgICBzd2l0Y2ggKHNlbGYuYXhCYWNraW5n
T2JqZWN0LT5yb2xlVmFsdWUoKSkgeworCisgICAgYmFja2luZ09iamVjdC0+dXBkYXRlQmFja2lu
Z1N0b3JlKCk7CisKKyAgICBzd2l0Y2ggKGJhY2tpbmdPYmplY3QtPnJvbGVWYWx1ZSgpKSB7CiAg
ICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6VGV4dEZpZWxkOgogICAgIGNhc2UgQWNjZXNzaWJp
bGl0eVJvbGU6OlRleHRBcmVhOgogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OkJ1dHRvbjoK
QEAgLTk2Nyw2ICs5NjgsNyBAQCAtIChCT09MKWRldGVybWluZUlzQWNjZXNzaWJpbGl0eUVsZW1l
bnQKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpNZW51SXRlbVJhZGlvOgogICAgIGNhc2Ug
QWNjZXNzaWJpbGl0eVJvbGU6OkluY3JlbWVudG9yOgogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJv
bGU6OkNvbWJvQm94OgorICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OkRhdGVUaW1lOgogICAg
IGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OkltYWdlTWFwOgogICAgIGNhc2UgQWNjZXNzaWJpbGl0
eVJvbGU6Okxpc3RNYXJrZXI6CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6TGlzdEJveE9w
dGlvbjoKQEAgLTk4OCwyNiArOTkwLDIxIEBAIC0gKEJPT0wpZGV0ZXJtaW5lSXNBY2Nlc3NpYmls
aXR5RWxlbWVudAogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9Ci0gICAgICAgIAorCiAgICAgLy8gRG9uJ3QgZXhwb3NlIGhlYWRlcnMgYXMgZWxl
bWVudHM7IGluc3RlYWQgZXhwb3NlIHRoZWlyIGNoaWxkcmVuIGFzIGVsZW1lbnRzLCB3aXRoIHRo
ZSBoZWFkZXIgdHJhaXQgKHVubGVzcyB0aGV5IGhhdmUgbm8gY2hpbGRyZW4pCiAgICAgY2FzZSBB
Y2Nlc3NpYmlsaXR5Um9sZTo6SGVhZGluZzoKLSAgICAgICAgaWYgKCFbc2VsZiBhY2Nlc3NpYmls
aXR5RWxlbWVudENvdW50XSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgICAgIAorICAgICAgICByZXR1cm4gIVtzZWxmIGFjY2Vzc2liaWxpdHlF
bGVtZW50Q291bnRdOwogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OlZpZGVvOgogICAgICAg
ICByZXR1cm4gW3NlbGYgYWNjZXNzaWJpbGl0eUlzV2ViSW50ZXJhY3RpdmVWaWRlb107Ci0gICAg
ICAgIAotICAgIGlmIChzZWxmLmF4QmFja2luZ09iamVjdC0+aXNOb25OYXRpdmVUZXh0Q29udHJv
bCgpKQotICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIC8vIExpbmtzIGNhbiBzb21ldGltZXMg
YmUgZWxlbWVudHMgKHdoZW4gdGhleSBvbmx5IGNvbnRhaW4gc3RhdGljIHRleHQgb3IgZG9uJ3Qg
Y29udGFpbiBhbnl0aGluZykuCi0gICAgLy8gVGhleSBzaG91bGQgbm90IGJlIGVsZW1lbnRzIHdo
ZW4gY29udGFpbmluZyB0ZXh0IGFuZCBvdGhlciB0eXBlcy4KKyAgICAgICAgaWYgKGJhY2tpbmdP
YmplY3QtPmlzTm9uTmF0aXZlVGV4dENvbnRyb2woKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVl
OworCisgICAgICAgIC8vIExpbmtzIGNhbiBzb21ldGltZXMgYmUgZWxlbWVudHMgKHdoZW4gdGhl
eSBvbmx5IGNvbnRhaW4gc3RhdGljIHRleHQgb3IgZG9uJ3QgY29udGFpbiBhbnl0aGluZykuCisg
ICAgICAgIC8vIFRoZXkgc2hvdWxkIG5vdCBiZSBlbGVtZW50cyB3aGVuIGNvbnRhaW5pbmcgdGV4
dCBhbmQgb3RoZXIgdHlwZXMuCiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6V2ViQ29yZUxp
bms6CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6TGluazoKLSAgICAgICAgaWYgKFtzZWxm
IGNvbnRhaW5zVW5uYXR1cmFsbHlTZWdtZW50ZWRDaGlsZHJlbl0gfHwgIVtzZWxmIGFjY2Vzc2li
aWxpdHlFbGVtZW50Q291bnRdKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuIFtzZWxmIGNvbnRhaW5zVW5uYXR1cmFsbHlTZWdt
ZW50ZWRDaGlsZHJlbl0gfHwgIVtzZWxmIGFjY2Vzc2liaWxpdHlFbGVtZW50Q291bnRdOwogICAg
IGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6Okdyb3VwOgogICAgICAgICBpZiAoW3NlbGYgaXNTVkdH
cm91cEVsZW1lbnRdKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0xMTEzLDE2ICsxMTEw
LDE2IEBAIC0gKEJPT0wpZGV0ZXJtaW5lSXNBY2Nlc3NpYmlsaXR5RWxlbWVudAogICAgIGNhc2Ug
QWNjZXNzaWJpbGl0eVJvbGU6OldlYkFyZWE6CiAgICAgICAgIC8vIENvbnNpZGVyIGZvY3VzYWJs
ZSBsZWFmLW5vZGVzIHdpdGggYSBsYWJlbCB0byBiZSBhY2Nlc3NpYmxlIGVsZW1lbnRzLgogICAg
ICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNDkyCi0g
ICAgICAgIHJldHVybiBzZWxmLmF4QmFja2luZ09iamVjdC0+aXNLZXlib2FyZEZvY3VzYWJsZSgp
CisgICAgICAgIHJldHVybiBiYWNraW5nT2JqZWN0LT5pc0tleWJvYXJkRm9jdXNhYmxlKCkKICAg
ICAgICAgICAgICYmIFtzZWxmIGFjY2Vzc2liaWxpdHlFbGVtZW50Q291bnRdID09IDAKLSAgICAg
ICAgICAgICYmIHNlbGYuYXhCYWNraW5nT2JqZWN0LT5kZXNjcmlwdGlvbkF0dHJpYnV0ZVZhbHVl
KCkuZmluZChkZXByZWNhdGVkSXNOb3RTcGFjZU9yTmV3bGluZSkgIT0gbm90Rm91bmQ7CisgICAg
ICAgICAgICAmJiBiYWNraW5nT2JqZWN0LT5kZXNjcmlwdGlvbkF0dHJpYnV0ZVZhbHVlKCkuZmlu
ZChkZXByZWNhdGVkSXNOb3RTcGFjZU9yTmV3bGluZSkgIT0gbm90Rm91bmQ7CiAgICAgY2FzZSBB
Y2Nlc3NpYmlsaXR5Um9sZTo6SWdub3JlZDoKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpM
aW5lQnJlYWs6CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6UHJlc2VudGF0aW9uYWw6CiAg
ICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6VW5rbm93bjoKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIH0KLSAgICAKKwogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBm
YWxzZTsKIH0KQEAgLTExNDAsMTYgKzExMzcsMTIgQEAgLSAoQk9PTClpc0FjY2Vzc2liaWxpdHlF
bGVtZW50CiAKIC0gKEJPT0wpc3RyaW5nVmFsdWVTaG91bGRCZVVzZWRJbkxhYmVsCiB7Ci0gICAg
aWYgKHNlbGYuYXhCYWNraW5nT2JqZWN0LT5pc1RleHRDb250cm9sKCkpCi0gICAgICAgIHJldHVy
biBOTzsKLSAgICBpZiAoc2VsZi5heEJhY2tpbmdPYmplY3QtPnJvbGVWYWx1ZSgpID09IEFjY2Vz
c2liaWxpdHlSb2xlOjpQb3BVcEJ1dHRvbikKLSAgICAgICAgcmV0dXJuIE5POwotICAgIGlmIChz
ZWxmLmF4QmFja2luZ09iamVjdC0+aXNGaWxlVXBsb2FkQnV0dG9uKCkpCi0gICAgICAgIHJldHVy
biBOTzsKLSAgICBpZiAoW3NlbGYgYWNjZXNzaWJpbGl0eUlzV2ViSW50ZXJhY3RpdmVWaWRlb10p
Ci0gICAgICAgIHJldHVybiBOTzsKLQotICAgIHJldHVybiBZRVM7CisgICAgUmVmUHRyPEFYQ29y
ZU9iamVjdD4gYmFja2luZ09iamVjdCA9IHNlbGYuYXhCYWNraW5nT2JqZWN0OworICAgIHJldHVy
biBiYWNraW5nT2JqZWN0ICYmICEoYmFja2luZ09iamVjdC0+aXNUZXh0Q29udHJvbCgpCisgICAg
ICAgIHx8IGJhY2tpbmdPYmplY3QtPmlzUG9wVXBCdXR0b24oKQorICAgICAgICB8fCBiYWNraW5n
T2JqZWN0LT5pc0RhdGVUaW1lKCkKKyAgICAgICAgfHwgYmFja2luZ09iamVjdC0+aXNGaWxlVXBs
b2FkQnV0dG9uKCkKKyAgICAgICAgfHwgW3NlbGYgYWNjZXNzaWJpbGl0eUlzV2ViSW50ZXJhY3Rp
dmVWaWRlb10pOwogfQogCiBzdGF0aWMgdm9pZCBhcHBlbmRTdHJpbmdUb1Jlc3VsdChOU011dGFi
bGVTdHJpbmcgKnJlc3VsdCwgTlNTdHJpbmcgKnN0cmluZykKQEAgLTEyNjEsNyArMTI1NCw3IEBA
IC0gKE5TU3RyaW5nICopYWNjZXNzaWJpbGl0eUxhYmVsCiAgICAgTlNTdHJpbmcgKmludGVyYWN0
aXZlVmlkZW9EZXNjcmlwdGlvbiA9IFtzZWxmIGludGVyYWN0aXZlVmlkZW9EZXNjcmlwdGlvbl07
CiAKICAgICAvLyBXZSBzaG91bGQgZXhwb3NlIHRoZSB2YWx1ZSBvZiB0aGUgaW5wdXQgdHlwZSBk
YXRlIG9yIHRpbWUgdGhyb3VnaCBBWFZhbHVlIGluc3RlYWQgb2YgQVhUaXRsZS4KLSAgICBpZiAo
YmFja2luZ09iamVjdC0+aXNJbnB1dFR5cGVQb3B1cEJ1dHRvbigpICYmIHRpdGxlID09IFN0cmlu
Zyhbc2VsZiBhY2Nlc3NpYmlsaXR5VmFsdWVdKSkKKyAgICBpZiAoYmFja2luZ09iamVjdC0+aXNE
YXRlVGltZSgpICYmIHRpdGxlID09IFN0cmluZyhbc2VsZiBhY2Nlc3NpYmlsaXR5VmFsdWVdKSkK
ICAgICAgICAgdGl0bGUgPSAiIl9zOwogCiAgICAgLy8gRm9vdGVyIGlzIG5vdCBjb25zaWRlcmVk
IGEgbGFuZG1hcmssIGJ1dCB3ZSB3YW50IHRoZSByb2xlIGRlc2NyaXB0aW9uLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdE1h
Yy5tbSBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FjY2Vzc2liaWxpdHlPYmpl
Y3RNYWMubW0KaW5kZXggNTY5MTgwOTMzODgwLi5iYTJhY2NkODBkMDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FjY2Vzc2liaWxpdHlPYmplY3RNYWMubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQWNjZXNzaWJpbGl0eU9iamVj
dE1hYy5tbQpAQCAtNzkxLDYgKzc5MSw3IEBAIFBsYXRmb3JtUm9sZU1hcCBjcmVhdGVQbGF0Zm9y
bVJvbGVNYXAoKQogICAgICAgICB7IEFjY2Vzc2liaWxpdHlSb2xlOjpNZXRlciwgTlNBY2Nlc3Np
YmlsaXR5TGV2ZWxJbmRpY2F0b3JSb2xlIH0sCiAgICAgICAgIHsgQWNjZXNzaWJpbGl0eVJvbGU6
OkluY3JlbWVudG9yLCBOU0FjY2Vzc2liaWxpdHlJbmNyZW1lbnRvclJvbGUgfSwKICAgICAgICAg
eyBBY2Nlc3NpYmlsaXR5Um9sZTo6Q29tYm9Cb3gsIE5TQWNjZXNzaWJpbGl0eUNvbWJvQm94Um9s
ZSB9LAorICAgICAgICB7IEFjY2Vzc2liaWxpdHlSb2xlOjpEYXRlVGltZSwgTlNBY2Nlc3NpYmls
aXR5VGV4dEZpZWxkUm9sZSB9LAogICAgICAgICB7IEFjY2Vzc2liaWxpdHlSb2xlOjpTcGxpdHRl
ciwgTlNBY2Nlc3NpYmlsaXR5U3BsaXR0ZXJSb2xlIH0sCiAgICAgICAgIHsgQWNjZXNzaWJpbGl0
eVJvbGU6OkNvZGUsIE5TQWNjZXNzaWJpbGl0eUdyb3VwUm9sZSB9LAogICAgICAgICB7IEFjY2Vz
c2liaWxpdHlSb2xlOjpDb2xvcldlbGwsIE5TQWNjZXNzaWJpbGl0eUNvbG9yV2VsbFJvbGUgfSwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9t
YWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0KaW5kZXggYWQ2NzA1NmI5YWJh
Li5hNmExMWVjNDBjOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
bWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1t
CkBAIC0xNTAzLDEwICsxNTAzLDYgQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRBVElPTlNf
RU5ECiAgICAgaWYgKFthdHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmluZzogTlNBY2Nlc3NpYmls
aXR5Um9sZURlc2NyaXB0aW9uQXR0cmlidXRlXSkKICAgICAgICAgcmV0dXJuIFtzZWxmIHJvbGVE
ZXNjcmlwdGlvbl07CiAKLSAgICAvLyBBWEFSSUFSb2xlIGlzIG9ubHkgdXNlZCBieSBEdW1wUmVu
ZGVyVHJlZSAoc28gZmFyKS4KLSAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5n
OkAiQVhBUklBUm9sZSJdKQotICAgICAgICByZXR1cm4gYmFja2luZ09iamVjdC0+Y29tcHV0ZWRS
b2xlU3RyaW5nKCk7Ci0KICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBO
U0FjY2Vzc2liaWxpdHlQYXJlbnRBdHRyaWJ1dGVdKSB7CiAgICAgICAgIC8vIFRoaXMgd2lsbCBy
ZXR1cm4gdGhlIHBhcmVudCBvZiB0aGUgQVhXZWJBcmVhLCBpZiB0aGlzIGlzIGEgd2ViIGFyZWEu
CiAgICAgICAgIGlmIChpZCBzY3JvbGxWaWV3ID0gc2Nyb2xsVmlld1BhcmVudCgqYmFja2luZ09i
amVjdCkpCkBAIC0yMjMwLDYgKzIyMjYsOSBAQCBBTExPV19ERVBSRUNBVEVEX0lNUExFTUVOVEFU
SU9OU19FTkQKICAgICB9CiAKICAgICAvLyBVc2VkIGJ5IExheW91dFRlc3RzIG9ubHksIG5vdCBi
eSBBVCBjbGllbnRzLgorICAgIGlmIChVTkxJS0VMWShbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9T
dHJpbmc6QCJBWEFSSUFSb2xlIl0pKQorICAgICAgICByZXR1cm4gYmFja2luZ09iamVjdC0+Y29t
cHV0ZWRSb2xlU3RyaW5nKCk7CisKICAgICBpZiAoVU5MSUtFTFkoW2F0dHJpYnV0ZU5hbWUgaXNF
cXVhbFRvU3RyaW5nOkAiQVhDb250cm9sbGVycyJdKSkKICAgICAgICAgcmV0dXJuIG1ha2VOU0Fy
cmF5KGJhY2tpbmdPYmplY3QtPmNvbnRyb2xsZXJzKCkpOwogCmRpZmYgLS1naXQgYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
SU9TLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudElPUy5tbQppbmRleCAwYjM3OWU4Y2MxN2MuLjBmZTkwMjc5NGZlYyAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tCkBAIC01MTksNyAr
NTE5LDcgQEAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmNvbXB1dGVkUm9sZVN0cmluZygpCiAKIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Ojp0aXRsZSgpCiB7Ci0gICAgcmV0dXJuIGNyZWF0ZUpTU3RyaW5nKCk7
CisgICAgcmV0dXJuIGNvbmNhdGVuYXRlQXR0cmlidXRlQW5kVmFsdWUoQCJBWFRpdGxlIiwgW21f
ZWxlbWVudCBhY2Nlc3NpYmlsaXR5TGFiZWxdKTsKIH0KIAogSlNSZXRhaW5QdHI8SlNTdHJpbmdS
ZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRlc2NyaXB0aW9uKCkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZGF0ZS1pbnB1dC1hcmlhLWxhYmVsLWFuZC12YWx1ZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2RhdGUtaW5wdXQtYXJpYS1s
YWJlbC1hbmQtdmFsdWUtZXhwZWN0ZWQudHh0CmluZGV4IDU1NTAwZmI2ZmUzYy4uMGE5ZDJlZjE4
YjhkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2RhdGUtaW5wdXQtYXJp
YS1sYWJlbC1hbmQtdmFsdWUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvZGF0ZS1pbnB1dC1hcmlhLWxhYmVsLWFuZC12YWx1ZS1leHBlY3RlZC50eHQKQEAgLTEs
NTQgKzEsNDUgQEAKLVRlc3RzIHRoYXQgYXJpYS1sYWJlbCBhbmQgYXJpYS12YWx1ZW5vdyB1cGRh
dGUgY29ycmVjdGx5IGZvciBkYXRlIGlucHV0cy4KK1Rlc3RzIHRoYXQgc3ViZmllbGQgdmFsdWVz
IHVwZGF0ZSBjb3JyZWN0bHkgZm9yIGRhdGUgaW5wdXRzLgogCitPcmlnaW5hbCBzdWJmaWVsZCB2
YWx1ZXM6CitBWERlc2NyaXB0aW9uOiBtb250aCBBWFJvbGU6IEFYSW5jcmVtZW50b3IgQVhWYWx1
ZTogMTEKK0FYRGVzY3JpcHRpb246ICBBWFJvbGU6IEFYU3RhdGljVGV4dCBBWFZhbHVlOiAvCitB
WERlc2NyaXB0aW9uOiBkYXkgQVhSb2xlOiBBWEluY3JlbWVudG9yIEFYVmFsdWU6IDIxCitBWERl
c2NyaXB0aW9uOiAgQVhSb2xlOiBBWFN0YXRpY1RleHQgQVhWYWx1ZTogLworQVhEZXNjcmlwdGlv
bjogeWVhciBBWFJvbGU6IEFYSW5jcmVtZW50b3IgQVhWYWx1ZTogMjAyMgogCi1DaGVja2luZyBB
UklBIExhYmVscyBmb3Igc3ViLWZpZWxkcwotUEFTUzogcGxhdGZvcm1WYWx1ZUZvclczQ05hbWUo
YXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgwKSkgPT09ICJtb250aCIKLVBBU1M6IHBs
YXRmb3JtVmFsdWVGb3JXM0NOYW1lKGF4RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMSkp
ID09PSAiZGF5IgotUEFTUzogcGxhdGZvcm1WYWx1ZUZvclczQ05hbWUoYXhEYXRlRmllbGRXcmFw
cGVyLmNoaWxkQXRJbmRleCgyKSkgPT09ICJ5ZWFyIgorRm9jdXMgZGF0ZSBlbGVtZW50IGFuZCBw
cmVzcyB1cCBhcnJvdyB0byBpbmNyZW1lbnQgdGhlIG1vbnRoIGZpZWxkOgorUEFTUzogc3ViZmll
bGRzWzBdLmludFZhbHVlID09PSAxMgogCi1Gb2N1c2luZyBkYXRlIGVsZW1lbnQgYW5kIHByZXNz
aW5nIHVwIGFycm93IHRvIGluY3JlbWVudCB0aGUgZmlyc3QgZmllbGQuCi1QQVNTOiBheERhdGVG
aWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDApLmludFZhbHVlID09PSAzCi1QQVNTOiBheERhdGVG
aWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDApLnZhbHVlRGVzY3JpcHRpb24gPT09ICJBWFZhbHVl
RGVzY3JpcHRpb246IDMiCitQcmVzcyBkb3duIGFycm93IHR3aWNlIHRvIGRlY3JlbWVudCB0aGUg
bW9udGggZmllbGQuCitQQVNTOiBzdWJmaWVsZHNbMF0uaW50VmFsdWUgPT09IDEwCiAKLVNpbXVs
YXRpbmcgZG93biBhcnJvdyBwcmVzcyB0byBkZWNyZW1lbnQgdGhlIGZpcnN0IGZpZWxkLiAoeDIp
Ci1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDApLmludFZhbHVlID09PSAx
Ci1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDApLnZhbHVlRGVzY3JpcHRp
b24gPT09ICJBWFZhbHVlRGVzY3JpcHRpb246IDEiCitQcmVzcyB0aGUgdGFiIGtleSB0byBtb3Zl
IHRvIHRoZSBkYXkgZmllbGQgaW4gdGhlIGRhdGUgaW5wdXQuCitQQVNTOiBzdWJmaWVsZHNbMl0u
aW50VmFsdWUgPT09IDIxCiAKLVNpbXVsYXRpbmcgdGFiIGtleSB0byBtb3ZlIHRvIHRoZSBuZXh0
IGZpZWxkIGluIHRoZSBkYXRlIGlucHV0LgotUEFTUzogYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxk
QXRJbmRleCgxKS5pbnRWYWx1ZSA9PT0gMgotUEFTUzogYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxk
QXRJbmRleCgxKS52YWx1ZURlc2NyaXB0aW9uID09PSAiQVhWYWx1ZURlc2NyaXB0aW9uOiAyIgor
VHlwZSAxMCBpbiB0aGUgZGF5IHN1YmZpZWxkLgorUEFTUzogc3ViZmllbGRzWzJdLmludFZhbHVl
ID09PSAxMAogCi1TaW11bGF0aW5nIHR5cGluZyAiMTAiIGluIHRoZSBzZWNvbmQgaW5wdXQgZmll
bGQuCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDEpLmludFZhbHVlID09
PSAxMAotUEFTUzogYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgxKS52YWx1ZURlc2Ny
aXB0aW9uID09PSAiQVhWYWx1ZURlc2NyaXB0aW9uOiAxMCIKK1ByZXNzIGRvd24gYXJyb3cgdG8g
ZGVjcmVtZW50IHRoZSBkYXkgZmllbGQuCitQQVNTOiBzdWJmaWVsZHNbMl0uaW50VmFsdWUgPT09
IDkKIAotU2ltdWxhdGluZyBkb3duIGFycm93IHByZXNzIHRvIGRlY3JlbWVudCB0aGUgc2Vjb25k
IGZpZWxkIHZhbHVlLgotUEFTUzogYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgxKS5p
bnRWYWx1ZSA9PT0gOQotUEFTUzogYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgxKS52
YWx1ZURlc2NyaXB0aW9uID09PSAiQVhWYWx1ZURlc2NyaXB0aW9uOiA5IgorUHJlc3MgdXAgYXJy
b3cgdHdpY2UgdG8gaW5jcmVtZW50IHRoZSBkYXkgZmllbGQuCitQQVNTOiBzdWJmaWVsZHNbMl0u
aW50VmFsdWUgPT09IDExCiAKLVNpbXVsYXRpbmcgdXAgYXJyb3cgcHJlc3MgdG8gaW5jcmVtZW50
IHRoZSBzZWNvbmQgZmllbGQgdmFsdWUuICh4MikKLVBBU1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5j
aGlsZEF0SW5kZXgoMSkuaW50VmFsdWUgPT09IDExCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIu
Y2hpbGRBdEluZGV4KDEpLnZhbHVlRGVzY3JpcHRpb24gPT09ICJBWFZhbHVlRGVzY3JpcHRpb246
IDExIgorUHJlc3MgdGFiIHRvIG1vdmUgdG8gdGhlIHllYXIgZmllbGQgaW4gdGhlIGRhdGUgaW5w
dXQuCitQQVNTOiBzdWJmaWVsZHNbNF0uaW50VmFsdWUgPT09IDIwMjIKIAotU2ltdWxhdGluZyB0
YWIga2V5IHRvIG1vdmUgdG8gdGhlIG5leHQgZmllbGQgaW4gdGhlIGRhdGUgaW5wdXQuCi1QQVNT
OiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDIpLmludFZhbHVlID09PSAyMDIyCi1Q
QVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDIpLnZhbHVlRGVzY3JpcHRpb24g
PT09ICJBWFZhbHVlRGVzY3JpcHRpb246IDIwMjIiCitQcmVzcyBkb3duIGFycm93IDEwIHRpbWVz
IHRvIGRlY3JlbWVudCB0aGUgeWVhciBmaWVsZC4KK1BBU1M6IHN1YmZpZWxkc1s0XS5pbnRWYWx1
ZSA9PT0gMjAxMgogCi1TaW11bGF0aW5nIGRvd24gYXJyb3cgcHJlc3MgdG8gZGVjcmVtZW50IHRo
ZSB0aGlyZCBmaWVsZCB2YWx1ZS4gKHgxMCkKLVBBU1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5jaGls
ZEF0SW5kZXgoMikuaW50VmFsdWUgPT09IDIwMTIKLVBBU1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5j
aGlsZEF0SW5kZXgoMikudmFsdWVEZXNjcmlwdGlvbiA9PT0gIkFYVmFsdWVEZXNjcmlwdGlvbjog
MjAxMiIKK1ByZXNzIHVwIGFycm93IHRvIGluY3JlbWVudCB0aGUgeWVhciBmaWVsZC4KK1BBU1M6
IHN1YmZpZWxkc1s0XS5pbnRWYWx1ZSA9PT0gMjAxMwogCi1TaW11bGF0aW5nIHVwIGFycm93IHBy
ZXNzIHRvIGluY3JlbWVudCB0aGUgdGhpcmQgZmllbGQgdmFsdWUuCi1QQVNTOiBheERhdGVGaWVs
ZFdyYXBwZXIuY2hpbGRBdEluZGV4KDIpLmludFZhbHVlID09PSAyMDEzCi1QQVNTOiBheERhdGVG
aWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDIpLnZhbHVlRGVzY3JpcHRpb24gPT09ICJBWFZhbHVl
RGVzY3JpcHRpb246IDIwMTMiCi0KLU1hbnVhbGx5IHNldHRpbmcgdGhlIGRhdGUgaW5wdXQncyB2
YWx1ZSB2aWEgSmF2YVNjcmlwdC4KLVBBU1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5k
ZXgoMCkuaW50VmFsdWUgPT09IDEyCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdElu
ZGV4KDApLnZhbHVlRGVzY3JpcHRpb24gPT09ICJBWFZhbHVlRGVzY3JpcHRpb246IDEyIgotUEFT
UzogYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgxKS5pbnRWYWx1ZSA9PT0gMzAKLVBB
U1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMSkudmFsdWVEZXNjcmlwdGlvbiA9
PT0gIkFYVmFsdWVEZXNjcmlwdGlvbjogMzAiCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hp
bGRBdEluZGV4KDIpLmludFZhbHVlID09PSAyMDIzCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIu
Y2hpbGRBdEluZGV4KDIpLnZhbHVlRGVzY3JpcHRpb24gPT09ICJBWFZhbHVlRGVzY3JpcHRpb246
IDIwMjMiCitTZXQgdGhlIGRhdGUgdmlhIEphdmFTY3JpcHQuCitBWERlc2NyaXB0aW9uOiBtb250
aCBBWFJvbGU6IEFYSW5jcmVtZW50b3IgQVhWYWx1ZTogMTIKK0FYRGVzY3JpcHRpb246ICBBWFJv
bGU6IEFYU3RhdGljVGV4dCBBWFZhbHVlOiAvCitBWERlc2NyaXB0aW9uOiBkYXkgQVhSb2xlOiBB
WEluY3JlbWVudG9yIEFYVmFsdWU6IDMxCitBWERlc2NyaXB0aW9uOiAgQVhSb2xlOiBBWFN0YXRp
Y1RleHQgQVhWYWx1ZTogLworQVhEZXNjcmlwdGlvbjogeWVhciBBWFJvbGU6IEFYSW5jcmVtZW50
b3IgQVhWYWx1ZTogMjAyMwogCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZGF0ZS1pbnB1dC1hcmlhLWxhYmVs
LWFuZC12YWx1ZS5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kYXRlLWlucHV0LWFy
aWEtbGFiZWwtYW5kLXZhbHVlLmh0bWwKaW5kZXggY2M3ZGVhNTA5YWE3Li44NTIxNzJhNGM5ZTMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZGF0ZS1pbnB1dC1hcmlhLWxh
YmVsLWFuZC12YWx1ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZGF0ZS1p
bnB1dC1hcmlhLWxhYmVsLWFuZC12YWx1ZS5odG1sCkBAIC02LDkyICs2LDc3IEBACiA8L2hlYWQ+
CiA8Ym9keT4KIAotPGlucHV0IGlkPSJkYXRlLWlucHV0IiB0eXBlPSJkYXRlIiB2YWx1ZT0iMjAy
Mi0wMi0wMiIgLz4KKzxpbnB1dCBpZD0iZGF0ZS1pbnB1dCIgdHlwZT0iZGF0ZSIgdmFsdWU9IjIw
MjItMTEtMjEiIC8+CiAKIDxzY3JpcHQ+Ci12YXIgdGVzdE91dHB1dCA9ICJUZXN0cyB0aGF0IGFy
aWEtbGFiZWwgYW5kIGFyaWEtdmFsdWVub3cgdXBkYXRlIGNvcnJlY3RseSBmb3IgZGF0ZSBpbnB1
dHMuXG5cbiI7Cit2YXIgb3V0cHV0ID0gIlRlc3RzIHRoYXQgc3ViZmllbGQgdmFsdWVzIHVwZGF0
ZSBjb3JyZWN0bHkgZm9yIGRhdGUgaW5wdXRzLlxuXG4iOwogCi1mdW5jdGlvbiBvdXRwdXRTdHJp
bmcobWVzc2FnZSkgewotICAgIHRlc3RPdXRwdXQgKz0gKGBcbiR7bWVzc2FnZX1cbmApOwotfQot
Ci1mdW5jdGlvbiBrZXlEb3duKGtleSwgcmVwZWF0ID0gMSwgbWVzc2FnZSA9ICIiKSB7Ci0gICAg
aWYgKG1lc3NhZ2UpIAotICAgICAgICBvdXRwdXRTdHJpbmcobWVzc2FnZSArIGAgKHgke3JlcGVh
dH0pYCk7Ci0KLSAgICBmb3IgKGxldCBpID0gMCA7IGkgPCByZXBlYXQgOyBpKyspIAorZnVuY3Rp
b24ga2V5RG93bihrZXksIHJlcGVhdCA9IDEpIHsKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJl
cGVhdDsgaSsrKQogICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKGtleSk7CiB9CiAKIGlmICh3
aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKICAgICB3aW5kb3cuanNUZXN0SXNBc3lu
YyA9IHRydWU7Ci0gICAgdmFyIGF4RGF0ZUZpZWxkV3JhcHBlciA9IGFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiZGF0ZS1pbnB1dCIpCi0gICAgICAgICAgICAu
Y2hpbGRBdEluZGV4KDApCi0gICAgICAgICAgICAuY2hpbGRBdEluZGV4KDApOwotCi0gICAgc2V0
VGltZW91dChhc3luYyBmdW5jdGlvbigpIHsKLSAgICAgICAgYXN5bmMgZnVuY3Rpb24gZXhwZWN0
Q2hpbGRUb0hhdmVBUklBVmFsdWVBdHRyaWJ1dGVzKGNoaWxkSW5kZXgsIGRlc2NyaXB0aW9uKSB7
Ci0gICAgICAgICAgICBsZXQgcmVzdWx0ID0gYXdhaXQgZXhwZWN0QXN5bmMoYGF4RGF0ZUZpZWxk
V3JhcHBlci5jaGlsZEF0SW5kZXgoJHtjaGlsZEluZGV4fSkuaW50VmFsdWVgLCBgJHtkZXNjcmlw
dGlvbn1gKTsKLQotICAgICAgICAgICAgcmVzdWx0ICs9IGF3YWl0IGV4cGVjdEFzeW5jKGBheERh
dGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KCR7Y2hpbGRJbmRleH0pLnZhbHVlRGVzY3JpcHRp
b25gLCBgIkFYVmFsdWVEZXNjcmlwdGlvbjogJHtkZXNjcmlwdGlvbn0iYCk7Ci0KLSAgICAgICAg
ICAgIHJldHVybiByZXN1bHQ7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9u
IGV4cGVjdENoaWxkVG9IYXZlQVJJQUxhYmVsKGNoaWxkSW5kZXgsIGxhYmVsVGV4dCkgewotICAg
ICAgICAgICAgcmV0dXJuIGV4cGVjdChgcGxhdGZvcm1WYWx1ZUZvclczQ05hbWUoYXhEYXRlRmll
bGRXcmFwcGVyLmNoaWxkQXRJbmRleCgke2NoaWxkSW5kZXh9KSlgLCBsYWJlbFRleHQpOwotICAg
ICAgICB9Ci0gICAgICAgIAotICAgICAgICBjb25zdCBkYXRlSW5wdXQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiZGF0ZS1pbnB1dCIpOwotCi0gICAgICAgIG91dHB1dFN0cmluZygiQ2hlY2tp
bmcgQVJJQSBMYWJlbHMgZm9yIHN1Yi1maWVsZHMiKTsKLSAgICAgICAgdGVzdE91dHB1dCArPSBl
eHBlY3RDaGlsZFRvSGF2ZUFSSUFMYWJlbCgwLCBgIm1vbnRoImApOwotICAgICAgICB0ZXN0T3V0
cHV0ICs9IGV4cGVjdENoaWxkVG9IYXZlQVJJQUxhYmVsKDEsIGAiZGF5ImApOwotICAgICAgICB0
ZXN0T3V0cHV0ICs9IGV4cGVjdENoaWxkVG9IYXZlQVJJQUxhYmVsKDIsIGAieWVhciJgKTsKLSAg
ICAgICAgCi0gICAgICAgIG91dHB1dFN0cmluZygiRm9jdXNpbmcgZGF0ZSBlbGVtZW50IGFuZCBw
cmVzc2luZyB1cCBhcnJvdyB0byBpbmNyZW1lbnQgdGhlIGZpcnN0IGZpZWxkLiIpOworICAgIGNv
bnN0IGRhdGVJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkYXRlLWlucHV0Iik7Cisg
ICAgdmFyIGF4RGF0ZUlucHV0ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVs
ZW1lbnRCeUlkKCJkYXRlLWlucHV0Iik7CisKKyAgICBmdW5jdGlvbiBnZXRBbmRMb2dTdWJmaWVs
ZHMoYXhFbGVtZW50KSB7CisgICAgICAgIGxldCBzdWJmaWVsZHMgPSBheEVsZW1lbnQuY2hpbGRB
dEluZGV4KDApLmNoaWxkQXRJbmRleCgwKS5jaGlsZHJlbjsKKyAgICAgICAgc3ViZmllbGRzLmZv
ckVhY2goKGNoaWxkKSA9PiB7CisgICAgICAgICAgICBvdXRwdXQgKz0gYCR7Y2hpbGQuZGVzY3Jp
cHRpb259ICR7Y2hpbGQucm9sZX0gJHtjaGlsZC5zdHJpbmdWYWx1ZX1cbmA7CisgICAgICAgIH0p
OworICAgICAgICByZXR1cm4gc3ViZmllbGRzOworICAgIH0KKworICAgIG91dHB1dCs9ICJPcmln
aW5hbCBzdWJmaWVsZCB2YWx1ZXM6XG4iOworICAgIHZhciBzdWJmaWVsZHMgPSBnZXRBbmRMb2dT
dWJmaWVsZHMoYXhEYXRlSW5wdXQpOworCisgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7Cisg
ICAgICAgIG91dHB1dCArPSAiXG5Gb2N1cyBkYXRlIGVsZW1lbnQgYW5kIHByZXNzIHVwIGFycm93
IHRvIGluY3JlbWVudCB0aGUgbW9udGggZmllbGQ6XG4iOwogICAgICAgICBkYXRlSW5wdXQuZm9j
dXMoKTsKICAgICAgICAga2V5RG93bigidXBBcnJvdyIpOworICAgICAgICBvdXRwdXQgKz0gYXdh
aXQgZXhwZWN0QXN5bmMoInN1YmZpZWxkc1swXS5pbnRWYWx1ZSIsICIxMiIpOwogCi0gICAgICAg
IHRlc3RPdXRwdXQgKz0gYXdhaXQgZXhwZWN0Q2hpbGRUb0hhdmVBUklBVmFsdWVBdHRyaWJ1dGVz
KDAsIDMpOwotCi0gICAgICAgIGtleURvd24oImRvd25BcnJvdyIsIDIsICJTaW11bGF0aW5nIGRv
d24gYXJyb3cgcHJlc3MgdG8gZGVjcmVtZW50IHRoZSBmaXJzdCBmaWVsZC4iKTsKLSAgICAgICAg
dGVzdE91dHB1dCArPSBhd2FpdCBleHBlY3RDaGlsZFRvSGF2ZUFSSUFWYWx1ZUF0dHJpYnV0ZXMo
MCwgMSk7CisgICAgICAgIG91dHB1dCArPSAiXG5QcmVzcyBkb3duIGFycm93IHR3aWNlIHRvIGRl
Y3JlbWVudCB0aGUgbW9udGggZmllbGQuXG4iOworICAgICAgICBrZXlEb3duKCJkb3duQXJyb3ci
LCAyKTsKKyAgICAgICAgb3V0cHV0ICs9IGF3YWl0IGV4cGVjdEFzeW5jKCJzdWJmaWVsZHNbMF0u
aW50VmFsdWUiLCAiMTAiKTsKIAotICAgICAgICBvdXRwdXRTdHJpbmcoIlNpbXVsYXRpbmcgdGFi
IGtleSB0byBtb3ZlIHRvIHRoZSBuZXh0IGZpZWxkIGluIHRoZSBkYXRlIGlucHV0LiIpOworICAg
ICAgICBvdXRwdXQgKz0gIlxuUHJlc3MgdGhlIHRhYiBrZXkgdG8gbW92ZSB0byB0aGUgZGF5IGZp
ZWxkIGluIHRoZSBkYXRlIGlucHV0LlxuIjsKICAgICAgICAga2V5RG93bigiXHQiKTsKLSAgICAg
ICAgdGVzdE91dHB1dCArPSBhd2FpdCBleHBlY3RDaGlsZFRvSGF2ZUFSSUFWYWx1ZUF0dHJpYnV0
ZXMoMSwgMik7CisgICAgICAgIG91dHB1dCArPSBhd2FpdCBleHBlY3RBc3luYygic3ViZmllbGRz
WzJdLmludFZhbHVlIiwgIjIxIik7CiAKLSAgICAgICAgb3V0cHV0U3RyaW5nKCJTaW11bGF0aW5n
IHR5cGluZyBcIjEwXCIgaW4gdGhlIHNlY29uZCBpbnB1dCBmaWVsZC4iKTsKKyAgICAgICAgb3V0
cHV0ICs9ICJcblR5cGUgMTAgaW4gdGhlIGRheSBzdWJmaWVsZC5cbiI7CiAgICAgICAgIGtleURv
d24oIjEiKTsKICAgICAgICAga2V5RG93bigiMCIpCi0gICAgICAgIHRlc3RPdXRwdXQgKz0gYXdh
aXQgZXhwZWN0Q2hpbGRUb0hhdmVBUklBVmFsdWVBdHRyaWJ1dGVzKDEsIDEwKTsKKyAgICAgICAg
b3V0cHV0ICs9IGF3YWl0IGV4cGVjdEFzeW5jKCJzdWJmaWVsZHNbMl0uaW50VmFsdWUiLCAiMTAi
KTsKIAotICAgICAgICBvdXRwdXRTdHJpbmcoIlNpbXVsYXRpbmcgZG93biBhcnJvdyBwcmVzcyB0
byBkZWNyZW1lbnQgdGhlIHNlY29uZCBmaWVsZCB2YWx1ZS4iKQorICAgICAgICBvdXRwdXQgKz0g
IlxuUHJlc3MgZG93biBhcnJvdyB0byBkZWNyZW1lbnQgdGhlIGRheSBmaWVsZC5cbiI7CiAgICAg
ICAgIGtleURvd24oImRvd25BcnJvdyIpOwotICAgICAgICB0ZXN0T3V0cHV0ICs9IGF3YWl0IGV4
cGVjdENoaWxkVG9IYXZlQVJJQVZhbHVlQXR0cmlidXRlcygxLCA5KTsKKyAgICAgICAgb3V0cHV0
ICs9IGF3YWl0IGV4cGVjdEFzeW5jKCJzdWJmaWVsZHNbMl0uaW50VmFsdWUiLCAiOSIpOwogCi0g
ICAgICAgIGtleURvd24oInVwQXJyb3ciLCAyLCAiU2ltdWxhdGluZyB1cCBhcnJvdyBwcmVzcyB0
byBpbmNyZW1lbnQgdGhlIHNlY29uZCBmaWVsZCB2YWx1ZS4iKTsKLSAgICAgICAgdGVzdE91dHB1
dCArPSBhd2FpdCBleHBlY3RDaGlsZFRvSGF2ZUFSSUFWYWx1ZUF0dHJpYnV0ZXMoMSwgMTEpOwor
ICAgICAgICBvdXRwdXQgKz0gIlxuUHJlc3MgdXAgYXJyb3cgdHdpY2UgdG8gaW5jcmVtZW50IHRo
ZSBkYXkgZmllbGQuXG4iOworICAgICAgICBrZXlEb3duKCJ1cEFycm93IiwgMik7CisgICAgICAg
IG91dHB1dCArPSBhd2FpdCBleHBlY3RBc3luYygic3ViZmllbGRzWzJdLmludFZhbHVlIiwgIjEx
Iik7CiAKLSAgICAgICAgb3V0cHV0U3RyaW5nKCJTaW11bGF0aW5nIHRhYiBrZXkgdG8gbW92ZSB0
byB0aGUgbmV4dCBmaWVsZCBpbiB0aGUgZGF0ZSBpbnB1dC4iKTsKKyAgICAgICAgb3V0cHV0ICs9
ICJcblByZXNzIHRhYiB0byBtb3ZlIHRvIHRoZSB5ZWFyIGZpZWxkIGluIHRoZSBkYXRlIGlucHV0
LlxuIjsKICAgICAgICAga2V5RG93bigiXHQiKTsKLSAgICAgICAgdGVzdE91dHB1dCArPSBhd2Fp
dCBleHBlY3RDaGlsZFRvSGF2ZUFSSUFWYWx1ZUF0dHJpYnV0ZXMoMiwgMjAyMik7CisgICAgICAg
IG91dHB1dCArPSBhd2FpdCBleHBlY3RBc3luYygic3ViZmllbGRzWzRdLmludFZhbHVlIiwgIjIw
MjIiKTsKIAotICAgICAgICBrZXlEb3duKCJkb3duQXJyb3ciLCAxMCwgIlNpbXVsYXRpbmcgZG93
biBhcnJvdyBwcmVzcyB0byBkZWNyZW1lbnQgdGhlIHRoaXJkIGZpZWxkIHZhbHVlLiIpOwotICAg
ICAgICB0ZXN0T3V0cHV0ICs9IGF3YWl0IGV4cGVjdENoaWxkVG9IYXZlQVJJQVZhbHVlQXR0cmli
dXRlcygyLCAyMDEyKTsKKyAgICAgICAgb3V0cHV0Kz0gIlxuUHJlc3MgZG93biBhcnJvdyAxMCB0
aW1lcyB0byBkZWNyZW1lbnQgdGhlIHllYXIgZmllbGQuXG4iOworICAgICAgICBrZXlEb3duKCJk
b3duQXJyb3ciLCAxMCk7CisgICAgICAgIG91dHB1dCArPSBhd2FpdCBleHBlY3RBc3luYygic3Vi
ZmllbGRzWzRdLmludFZhbHVlIiwgIjIwMTIiKTsKIAotICAgICAgICBvdXRwdXRTdHJpbmcoIlNp
bXVsYXRpbmcgdXAgYXJyb3cgcHJlc3MgdG8gaW5jcmVtZW50IHRoZSB0aGlyZCBmaWVsZCB2YWx1
ZS4iKQorICAgICAgICBvdXRwdXQgKz0gIlxuUHJlc3MgdXAgYXJyb3cgdG8gaW5jcmVtZW50IHRo
ZSB5ZWFyIGZpZWxkLlxuIjsKICAgICAgICAga2V5RG93bigidXBBcnJvdyIpOwotICAgICAgICB0
ZXN0T3V0cHV0ICs9IGF3YWl0IGV4cGVjdENoaWxkVG9IYXZlQVJJQVZhbHVlQXR0cmlidXRlcygy
LCAyMDEzKTsKKyAgICAgICAgb3V0cHV0ICs9IGF3YWl0IGV4cGVjdEFzeW5jKCJzdWJmaWVsZHNb
NF0uaW50VmFsdWUiLCAiMjAxMyIpOwogCi0gICAgICAgIG91dHB1dFN0cmluZygiTWFudWFsbHkg
c2V0dGluZyB0aGUgZGF0ZSBpbnB1dCdzIHZhbHVlIHZpYSBKYXZhU2NyaXB0LiIpCi0gICAgICAg
IGRhdGVJbnB1dC52YWx1ZSA9ICIyMDIzLTEyLTMwIjsKLSAgICAgICAgdGVzdE91dHB1dCArPSBh
d2FpdCBleHBlY3RDaGlsZFRvSGF2ZUFSSUFWYWx1ZUF0dHJpYnV0ZXMoMCwgMTIpOwotICAgICAg
ICB0ZXN0T3V0cHV0ICs9IGF3YWl0IGV4cGVjdENoaWxkVG9IYXZlQVJJQVZhbHVlQXR0cmlidXRl
cygxLCAzMCk7Ci0gICAgICAgIHRlc3RPdXRwdXQgKz0gYXdhaXQgZXhwZWN0Q2hpbGRUb0hhdmVB
UklBVmFsdWVBdHRyaWJ1dGVzKDIsIDIwMjMpOworICAgICAgICBvdXRwdXQgKz0gIlxuU2V0IHRo
ZSBkYXRlIHZpYSBKYXZhU2NyaXB0LlxuIjsKKyAgICAgICAgZGF0ZUlucHV0LnZhbHVlID0gIjIw
MjMtMTItMzEiOworICAgICAgICBhd2FpdCBleHBlY3RBc3luYygiYXhEYXRlSW5wdXQuY2hpbGRB
dEluZGV4KDApLmNoaWxkQXRJbmRleCgwKS5jaGlsZHJlbls0XS5pbnRWYWx1ZSIsICIyMDIzIik7
CisgICAgICAgIGdldEFuZExvZ1N1YmZpZWxkcyhheERhdGVJbnB1dCk7CiAKLSAgICAgICAgZGVi
dWcodGVzdE91dHB1dCk7CisgICAgICAgIGRlYnVnKG91dHB1dCk7CiAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOwogICAgIH0pOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9pbnB1dC10aW1lLWxhYmVsLXZhbHVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12YWx1ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi45ZDU0MjRjYTg3YmMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1RoaXMgdGVzdHMgaW5wdXQgdHlwZT10aW1lIGxh
YmVsIGFuZCB2YWx1ZSBwcm9wZXJ0aWVzLgorCitQQVNTOiBpbnB1dHRpbWUudGl0bGUgPT09ICdB
WFRpdGxlOiAoQmV0d2VlbjogMDc6MDAgQU0tMDk6MDAgQU0pJworQVhWYWx1ZTogMDg6MDDigK9B
TQorUEFTUzogaW5wdXR0aW1lLnRpdGxlID09PSAnQVhUaXRsZTogJworQVhWYWx1ZTogMDc6MzDi
gK9BTQorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVs
LXZhbHVlLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwt
dmFsdWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjJiM2Fh
Y2FiNTc3NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW5w
dXQtdGltZS1sYWJlbC12YWx1ZS5odG1sCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2FjY2Vzc2liaWxpdHktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKworPGlucHV0IHR5cGU9InRpbWUiIGlkPSJpbnB1dHRpbWUxIiBhcmlhLWxhYmVsPSIo
QmV0d2VlbjogMDc6MDAgQU0tMDk6MDAgQU0pIiBtaW49IjA3OjAwIiBtYXg9IjA5OjAwIiBzdGVw
PSIzMDAiIHBsYWNlaG9sZGVyPSIwMDowMCBBTSIgdmFsdWU9IjA4OjAwIj4KKzxpbnB1dCB0eXBl
PSJ0aW1lIiBpZD0iaW5wdXR0aW1lMiIgbWluPSIwNzowMCIgbWF4PSIwOTowMCIgc3RlcD0iMzAw
IiB2YWx1ZT0iMDc6MzAiPgorCis8c2NyaXB0PgorbGV0IG91dHB1dCA9ICJUaGlzIHRlc3RzIGlu
cHV0IHR5cGU9dGltZSBsYWJlbCBhbmQgdmFsdWUgcHJvcGVydGllcy5cblxuIjsKKworaWYgKHdp
bmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgIHZhciBpbnB1dHRpbWUgPSBhY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImlucHV0dGltZTEiKTsK
KyAgICBvdXRwdXQgKz0gZXhwZWN0KCJpbnB1dHRpbWUudGl0bGUiLCAiJ0FYVGl0bGU6IChCZXR3
ZWVuOiAwNzowMCBBTS0wOTowMCBBTSknIik7CisgICAgb3V0cHV0ICs9IGAke2lucHV0dGltZS5z
dHJpbmdWYWx1ZX1cbmA7CisKKyAgICBpbnB1dHRpbWUgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImlucHV0dGltZTIiKTsKKyAgICBvdXRwdXQgKz0gZXhw
ZWN0KCJpbnB1dHRpbWUudGl0bGUiLCAiJ0FYVGl0bGU6ICciKTsKKyAgICBvdXRwdXQgKz0gYCR7
aW5wdXR0aW1lLnN0cmluZ1ZhbHVlfVxuYDsKKworICAgIGRlYnVnKG91dHB1dCk7Cit9Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvaW9zLXNpbXVsYXRvci9pbnB1dC10eXBlLXRpbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2lucHV0LXR5cGUtdGltZS1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY0OTNhM2YzOTMwZS4uMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9pbnB1
dC10eXBlLXRpbWUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAot
Ci1UaGlzIHRlc3RzIHRoYXQgaW5wdXQgdHlwZTogdGltZSBpcyBhY2Nlc3NpYmxlIG9uIGlPUy4K
LQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgdGltZWlucHV0LmRlc2NyaXB0
aW9uIGlzICdBWExhYmVsOiAoQmV0d2VlbjogMDc6MDAgQU0tMDk6MDAgQU0pJwotUEFTUyB0aW1l
aW5wdXQuaXNJZ25vcmVkIGlzIGZhbHNlCi1QQVNTIHRpbWVpbnB1dC5zdHJpbmdWYWx1ZSBpcyAn
QVhWYWx1ZTogODowMOKAr0FNJwotUEFTUyB0aW1laW5wdXQyLmRlc2NyaXB0aW9uIGlzICdBWExh
YmVsOiAnCi1QQVNTIHRpbWVpbnB1dDIuc3RyaW5nVmFsdWUgaXMgJ0FYVmFsdWU6IDg6MDDigK9B
TScKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvaW5wdXQt
dHlwZS10aW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3Iv
aW5wdXQtdHlwZS10aW1lLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNlOWU3
ODJlNzBiNC4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9z
LXNpbXVsYXRvci9pbnB1dC10eXBlLXRpbWUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQwICsw
LDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxo
dG1sPgotPGhlYWQ+Ci08bWV0YSBjaGFyc2V0PXV0Zi04PgotPHNjcmlwdD4KLXZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSBmYWxzZTsKLTwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBpZD0iYm9keSI+
Ci0KLTxpbnB1dCBpZD0idGltZWlucHV0IiB0eXBlPSJ0aW1lIiBhcmlhLWxhYmVsPSIoQmV0d2Vl
bjogMDc6MDAgQU0tMDk6MDAgQU0pIiBtaW49IjA3OjAwIiBtYXg9IjA5OjAwIiBzdGVwPSIzMDAi
IHBsYWNlaG9sZGVyPSIwMDowMCBBTSIgdmFsdWU9IjA4OjAwIj4KLTxpbnB1dCBpZD0idGltZWlu
cHV0MiIgdHlwZT0idGltZSIgbWluPSIwNzowMCIgbWF4PSIwOTowMCIgc3RlcD0iMzAwIiB2YWx1
ZT0iMDg6MDAiPgotCi08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgotCi08c2NyaXB0PgotCi0gICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBp
bnB1dCB0eXBlOiB0aW1lIGlzIGFjY2Vzc2libGUgb24gaU9TLiIpOwotCi0gICAgaWYgKHdpbmRv
dy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotCi0gICAgICAgIHZhciB0aW1laW5wdXQgPSBh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoInRpbWVpbnB1dCIp
OwotICAgICAgICB2YXIgdGltZWlucHV0MiA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vz
c2libGVFbGVtZW50QnlJZCgidGltZWlucHV0MiIpOwotICAgICAgICBzaG91bGRCZSgidGltZWlu
cHV0LmRlc2NyaXB0aW9uIiwgIidBWExhYmVsOiAoQmV0d2VlbjogMDc6MDAgQU0tMDk6MDAgQU0p
JyIpOwotICAgICAgICBzaG91bGRCZUZhbHNlKCJ0aW1laW5wdXQuaXNJZ25vcmVkIik7Ci0gICAg
ICAgIAotICAgICAgICAvLyBUZXN0IHZhbHVlIGlzIGV4cG9zZWQgaW4gQVhWYWx1ZS4KLSAgICAg
ICAgc2hvdWxkQmUoInRpbWVpbnB1dC5zdHJpbmdWYWx1ZSIsICInQVhWYWx1ZTogODowMOKAr0FN
JyIpOwotICAgICAgICBzaG91bGRCZSgidGltZWlucHV0Mi5kZXNjcmlwdGlvbiIsICInQVhMYWJl
bDogJyIpOwotICAgICAgICBzaG91bGRCZSgidGltZWlucHV0Mi5zdHJpbmdWYWx1ZSIsICInQVhW
YWx1ZTogODowMOKAr0FNJyIpOwotICAgIH0KLQotICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7Ci08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2NoYW5naW5nLWFyaWEtaGlk
ZGVuLXdpdGgtZGlzcGxheS1ub25lLXBhcmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvY2hhbmdpbmctYXJpYS1oaWRkZW4t
d2l0aC1kaXNwbGF5LW5vbmUtcGFyZW50LWV4cGVjdGVkLnR4dAppbmRleCBjNmQ3YjVjYWQyY2Iu
LjNlMWY3OGI3MjdiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVs
YXRvci9hY2Nlc3NpYmlsaXR5L2NoYW5naW5nLWFyaWEtaGlkZGVuLXdpdGgtZGlzcGxheS1ub25l
LXBhcmVudC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVs
YXRvci9hY2Nlc3NpYmlsaXR5L2NoYW5naW5nLWFyaWEtaGlkZGVuLXdpdGgtZGlzcGxheS1ub25l
LXBhcmVudC1leHBlY3RlZC50eHQKQEAgLTEsMjIgKzEsMjIgQEAKIFRoaXMgdGVzdCBlbnN1cmVz
IHRoYXQgd2UgZG9uJ3QgY3Jhc2ggd2hlbiByZW1vdmluZyBhbiBvYmplY3QgZnJvbSB0aGUgQVgg
dHJlZSB3aG9zZSBjaGlsZCByZWNlbnRseSBjaGFuZ2VkIGFyaWEtaGlkZGVuIHN0YXR1cy4KIAot
QXBwbGljYXRpb25Hcm91cCAgQVhMYWJlbDoKLSAgTGlzdCAgQVhMYWJlbDoKLSAgICBMaXN0SXRl
bSAgQVhMYWJlbDoKLSAgICAgIExpc3RNYXJrZXIgIEFYTGFiZWw6IOKAogotICAgICAgU3RhdGlj
VGV4dCAgQVhMYWJlbDogT25lCi0gICAgTGlzdEl0ZW0gIEFYTGFiZWw6Ci0gICAgICBMaXN0TWFy
a2VyICBBWExhYmVsOiDigKIKLSAgICAgIFN0YXRpY1RleHQgIEFYTGFiZWw6IFR3bwotICAgIExp
c3RJdGVtICBBWExhYmVsOgotICAgICAgTGlzdE1hcmtlciAgQVhMYWJlbDog4oCiCi0gICAgICBT
dGF0aWNUZXh0ICBBWExhYmVsOiBUaHJlZQorQXBwbGljYXRpb25Hcm91cCBBWFRpdGxlOiAgQVhM
YWJlbDoKKyAgTGlzdCBBWFRpdGxlOiAgQVhMYWJlbDoKKyAgICBMaXN0SXRlbSBBWFRpdGxlOiAg
QVhMYWJlbDoKKyAgICAgIExpc3RNYXJrZXIgQVhUaXRsZTog4oCiIEFYTGFiZWw6IOKAogorICAg
ICAgU3RhdGljVGV4dCBBWFRpdGxlOiBPbmUgQVhMYWJlbDogT25lCisgICAgTGlzdEl0ZW0gQVhU
aXRsZTogIEFYTGFiZWw6CisgICAgICBMaXN0TWFya2VyIEFYVGl0bGU6IOKAoiBBWExhYmVsOiDi
gKIKKyAgICAgIFN0YXRpY1RleHQgQVhUaXRsZTogVHdvIEFYTGFiZWw6IFR3bworICAgIExpc3RJ
dGVtIEFYVGl0bGU6ICBBWExhYmVsOgorICAgICAgTGlzdE1hcmtlciBBWFRpdGxlOiDigKIgQVhM
YWJlbDog4oCiCisgICAgICBTdGF0aWNUZXh0IEFYVGl0bGU6IFRocmVlIEFYTGFiZWw6IFRocmVl
CiAKIE1ha2luZyAjbGkxIGFyaWEtaGlkZGVuIGFuZCAjdWwgZGlzcGxheTpub25lLgogCiBSZS1k
dW1waW5nIEFYIHRyZWUuCiAKLUFwcGxpY2F0aW9uR3JvdXAgIEFYTGFiZWw6CitBcHBsaWNhdGlv
bkdyb3VwIEFYVGl0bGU6ICBBWExhYmVsOgogCiBQQVNTOiBUaGVyZSB3YXMgbm8gY3Jhc2guCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNWY3ZGE1YTk2
ZDUyLi42YmNjMDY4ZmYwMjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9U
ZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0
YXRpb25zCkBAIC0yMjIwLDYgKzIyMjAsNyBAQCBhY2Nlc3NpYmlsaXR5L2hlYWRpbmctbGV2ZWwu
aHRtbCBbIFBhc3MgXQogYWNjZXNzaWJpbGl0eS9odG1sNS1yZXF1aXJlZC1hdHRyaWJ1dGUuaHRt
bCBbIFBhc3MgXQogYWNjZXNzaWJpbGl0eS9pZnJhbWUtd2l0aC1yb2xlLmh0bWwgWyBQYXNzIF0K
IGFjY2Vzc2liaWxpdHkvaW5wdXQtdHlwZS1oaWRkZW4taW4tYXJpYS1oaWRkZW4tZmFsc2UuaHRt
bCBbIFBhc3MgXQorYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVsLXZhbHVlLmh0bWwgWyBQ
YXNzIF0KIGFjY2Vzc2liaWxpdHkvaW52YWxpZC1pbnB1dHMuaHRtbCBbIFBhc3MgXQogYWNjZXNz
aWJpbGl0eS9pbnNlcnQtdGV4dC1pbnRvLXBhc3N3b3JkLWZpZWxkLmh0bWwgWyBQYXNzIF0KIGFj
Y2Vzc2liaWxpdHkvbGlzdC13aXRoLWR5bmFtaWNhbGx5LWNoYW5naW5nLWNvbnRlbnQuaHRtbCBb
IFBhc3MgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2FjY2Vzc2liaWxp
dHkvaW5wdXQtdGltZS1sYWJlbC12YWx1ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3MvYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVsLXZhbHVlLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjlhZDFiMmJmNzVhMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9hY2Nlc3NpYmlsaXR5
L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1Ro
aXMgdGVzdHMgaW5wdXQgdHlwZT10aW1lIGxhYmVsIGFuZCB2YWx1ZSBwcm9wZXJ0aWVzLgorCitQ
QVNTOiBpbnB1dHRpbWUudGl0bGUgPT09ICdBWFRpdGxlOiAoQmV0d2VlbjogMDc6MDAgQU0tMDk6
MDAgQU0pJworQVhWYWx1ZTogODowMOKAr0FNCitQQVNTOiBpbnB1dHRpbWUudGl0bGUgPT09ICdB
WFRpdGxlOiAnCitBWFZhbHVlOiA3OjMw4oCvQU0KKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>469650</attachid>
            <date>2024-02-01 05:59:46 -0800</date>
            <delta_ts>2024-02-01 09:21:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-268523-20240201085945.patch</filename>
            <type>text/plain</type>
            <size>41464</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">RnJvbSBiN2M0ZWIxNzZjYTM4MjdjZmVkNGJmMDI4Mjg4YmY0ZjgxNmQ5OWZiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXMgR29uemFsZXogPGFuZHJlc2dfMjJAYXBwbGUuY29t
PgpEYXRlOiBXZWQsIDI0IEphbiAyMDI0IDEzOjM0OjI3IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0g
QVg6IFRoZSB2YWx1ZSBvZiBkYXRlIHRpbWUgZmllbGRzIGlzIG5vdCByZWFkIGJ5IFZvaWNlT3Zl
cgogd2hlbiB0aGUgVk8gY3Vyc29yIGxhbmRzIG9uIHRoZW0uCiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY4NTIzIDxyZGFyOi8vcHJvYmxlbS8xMjIwNTkwMjQ+CgpS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClRoaXMgcGF0Y2ggZml4ZXMgdGhlIHByb2JsZW0g
YnkgcHJvdmlkaW5nIGEgcHJvcGVyIGltcGxlbWVudGF0aW9uIGZvciB0aGUgc3RyaW5nVmFsdWUo
KSBtZXRob2QgaW4gdGhlIGNhc2Ugb2YgYSBkYXRlIHRpbWUgZmllbGQuIFNvbWUgaU9TLXNwZWNp
ZmljIGNvZGUgdG8gaGFuZGxlIGRhdGUgdGltZSBmaWVsZHMgd2FzIHJlLXdvcmtlZCBhbmQgcHJv
bW90ZWQgdG8gY29yZSBjb2RlIHRvIG1ha2UgdGhpcyBmaXggcG9zc2libGUgaW4gYWxsIHBsYXRm
b3Jtcy4gVGhlIHBhdGNoIGluY2x1ZGVzIHRoZSBmb2xsb3dpbmcgY2hhbmdlczoKLSBBZGRlZCBh
IERhdGVUaW1lIHJvbGUgdG8gZGVzY3JpYmUgdGhpcyBmYW1pbHkgb2YgZWxlbWVudHMuCi0gTWFw
IHRoaXMgcm9sZSB0byBpdHMgYXBwcm9wcmlhdGUgcGxhdGZvcm0gcHJvcGVydGllcy4KLSBGaXgg
aW4gQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6c3RyaW5nVmFsdWUoKS4KLSBDb2RlIGNsZWFu
dXAuCgoqIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZGF0ZS1pbnB1dC1hcmlhLWxhYmVsLWFu
ZC12YWx1ZS1leHBlY3RlZC50eHQ6CiogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kYXRlLWlu
cHV0LWFyaWEtbGFiZWwtYW5kLXZhbHVlLmh0bWw6ClJlLXdyb3RlIHRoaXMgdGVzdCBhY2NvcmRp
bmcgdG8gb3VyIGN1cnJlbnQgc3RhbmRhcmRzLCBhbmQgc2ltcGxpZmllZCBhbmQgbWFkZSBjbGVh
ciB0aGUgY29kZS4KCiogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVs
LXZhbHVlLWV4cGVjdGVkLnR4dDogQWRkZWQuCiogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9p
bnB1dC10aW1lLWxhYmVsLXZhbHVlLmh0bWw6IEFkZGVkLgpQcm9tb3RlZCB0aGlzIHRlc3QgZnJv
bSBpb3Mtc2ltdWxhdG9yIHRvIGFsbCBwbGF0Zm9ybXMuIEFsc28gbW9kZXJuaXplZCBhbmQgY2xl
YW5lZCB1cCB0aGUgY29kZS4KCiogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxh
dG9yL2lucHV0LXR5cGUtdGltZS1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCiogTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2lucHV0LXR5cGUtdGltZS5odG1sOiBSZW1vdmVk
LgpCZWNhbWUgaW5wdXQtdGltZS1sYWJlbC12YWx1ZS5odG1sIGFib3ZlLgoKKiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL2FjY2Vzc2liaWxpdHkvY2hhbmdpbmctYXJpYS1oaWRk
ZW4td2l0aC1kaXNwbGF5LW5vbmUtcGFyZW50LWV4cGVjdGVkLnR4dDoKUmViYXNlZCBiZWNhdXNl
IG5vdyBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0aXRsZSByZXR1cm5zIHNvbWV0aGluZyBvbiBp
T1MsIGJlZm9yZSByZXR1cm5lZCBudWxsLgoKKiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVz
dEV4cGVjdGF0aW9uczoKKiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvYWNjZXNzaWJpbGl0eS9p
bnB1dC10aW1lLWxhYmVsLXZhbHVlLWV4cGVjdGVkLnR4dDogQWRkZWQuCiogU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BWENvcmVPYmplY3QuaDoKKFdlYkNvcmU6OmFjY2Vzc2liaWxpdHlS
b2xlVG9TdHJpbmcpOgooV2ViQ29yZTo6QVhDb3JlT2JqZWN0Ojppc0RhdGVUaW1lIGNvbnN0KToK
KiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgooV2ViQ29y
ZTo6QVhPYmplY3RDYWNoZTo6Y3JlYXRlKToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlOb2Rl
T2JqZWN0OjpkZXRlcm1pbmVBY2Nlc3NpYmlsaXR5Um9sZUZyb21Ob2RlIGNvbnN0KToKKiBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgooV2ViQ29y
ZTo6aW5pdGlhbGl6ZVJvbGVNYXApOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdC5oOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVJlbmRlck9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2Jq
ZWN0OjpzdHJpbmdWYWx1ZSBjb25zdCk6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2Jq
ZWN0OjphZGRUZXh0RmllbGRDaGlsZHJlbik6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmNwcDoKKFdlYkNvcmU6OmF0c3BpUm9s
ZSk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvQWNjZXNzaWJpbGl0eU9iamVj
dElPUy5tbToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmlzSW5wdXRUeXBlUG9wdXBC
dXR0b24gY29uc3QpOiBEZWxldGVkLgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9z
L1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tOgooLVtXZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlciBkZXRlcm1pbmVJc0FjY2Vzc2liaWxpdHlFbGVtZW50XSk6CigtW1dlYkFj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIHN0cmluZ1ZhbHVlU2hvdWxkQmVVc2VkSW5MYWJlbF0p
OgooLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhY2Nlc3NpYmlsaXR5TGFiZWxdKToK
KiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0TWFj
Lm1tOgooV2ViQ29yZTo6QWNjZXNzaWJpbGl0eTo6Y3JlYXRlUGxhdGZvcm1Sb2xlTWFwKToKKiBT
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlck1hYy5tbToKKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0
eUF0dHJpYnV0ZVZhbHVlOl0pOgoqIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW06CihXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OnRpdGxlKToKLS0tCiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYQ29y
ZU9iamVjdC5oICAgfCAgIDUgKy0KIC4uLi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RD
YWNoZS5jcHAgICB8ICAgNSArLQogLi4uL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVP
YmplY3QuY3BwIHwgICA3ICstCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
LmNwcCAgICAgfCAgIDEgKwogLi4uL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5o
ICAgICAgIHwgICAxIC0KIC4uLi9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCAgICAgICAg
ICAgICB8ICAxNCArKy0KIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTcGluQnV0dG9u
LmggICB8ICAyMiArKy0tCiAuLi4vYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmNwcCAg
ICAgICAgfCAgIDIgKwogLi4uL2lvcy9BY2Nlc3NpYmlsaXR5T2JqZWN0SU9TLm1tICAgICAgICAg
ICAgIHwgICA3IC0tCiAuLi4vaW9zL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1t
ICAgfCAgNjEgKysrKystLS0tLQogLi4uL21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0TWFjLm1tICAg
ICAgICAgICAgIHwgICAxICsKIC4uLi9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJN
YWMubW0gICB8ICAgNyArLQogLi4uL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tICAg
ICAgICAgIHwgICAyICstCiAuLi50ZS1pbnB1dC1hcmlhLWxhYmVsLWFuZC12YWx1ZS1leHBlY3Rl
ZC50eHQgfCAgNzEgKysrKysrLS0tLS0tCiAuLi4vZGF0ZS1pbnB1dC1hcmlhLWxhYmVsLWFuZC12
YWx1ZS5odG1sICAgICAgfCAxMDUgKysrKysrKystLS0tLS0tLS0tCiAuLi4vaW5wdXQtdGltZS1s
YWJlbC12YWx1ZS1leHBlY3RlZC50eHQgICAgICAgfCAgMTEgKysKIC4uLi9hY2Nlc3NpYmlsaXR5
L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUuaHRtbCB8ICAyOCArKysrKwogLi4uL2lucHV0LXR5cGUt
dGltZS1leHBlY3RlZC50eHQgICAgICAgICAgICAgIHwgIDE1IC0tLQogLi4uL2lvcy1zaW11bGF0
b3IvaW5wdXQtdHlwZS10aW1lLmh0bWwgICAgICAgIHwgIDQwIC0tLS0tLS0KIC4uLmRkZW4td2l0
aC1kaXNwbGF5LW5vbmUtcGFyZW50LWV4cGVjdGVkLnR4dCB8ICAyNCArKy0tCiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucyAgICAgfCAgIDEgKwogLi4uL2lucHV0LXRp
bWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0ICAgICAgIHwgIDExICsrCiAyMiBmaWxlcyBjaGFu
Z2VkLCAyMDIgaW5zZXJ0aW9ucygrKSwgMjM5IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAw
NjQ0IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12YWx1ZS1leHBl
Y3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lu
cHV0LXRpbWUtbGFiZWwtdmFsdWUuaHRtbAogZGVsZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9pbnB1dC10eXBlLXRpbWUtZXhwZWN0ZWQudHh0
CiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxh
dG9yL2lucHV0LXR5cGUtdGltZS5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zL2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12YWx1ZS1leHBlY3Rl
ZC50eHQKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYQ29yZU9i
amVjdC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWENvcmVPYmplY3QuaAppbmRl
eCBjOTVjNjRmY2IyYTYuLmMzNjRlNjZjODM3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWENvcmVPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FYQ29yZU9iamVjdC5oCkBAIC0xMzYsNiArMTM2LDcgQEAgZW51bSBjbGFzcyBBY2Nl
c3NpYmlsaXR5Um9sZSB7CiAgICAgQ29sdW1uLAogICAgIENvbHVtbkhlYWRlciwKICAgICBDb21i
b0JveCwKKyAgICBEYXRlVGltZSwKICAgICBEZWZpbml0aW9uLAogICAgIERlbGV0aW9uLAogICAg
IERlc2NyaXB0aW9uTGlzdCwKQEAgLTMwMyw2ICszMDQsOCBAQCBBTFdBWVNfSU5MSU5FIFN0cmlu
ZyBhY2Nlc3NpYmlsaXR5Um9sZVRvU3RyaW5nKEFjY2Vzc2liaWxpdHlSb2xlIHJvbGUpCiAgICAg
ICAgIHJldHVybiAiQ29sdW1uSGVhZGVyIl9zOwogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6
OkNvbWJvQm94OgogICAgICAgICByZXR1cm4gIkNvbWJvQm94Il9zOworICAgIGNhc2UgQWNjZXNz
aWJpbGl0eVJvbGU6OkRhdGVUaW1lOgorICAgICAgICByZXR1cm4gIkRhdGVUaW1lIl9zOwogICAg
IGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OkRlZmluaXRpb246CiAgICAgICAgIHJldHVybiAiRGVm
aW5pdGlvbiJfczsKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpEZWxldGlvbjoKQEAgLTkw
OCw2ICs5MTEsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1RhYkl0ZW0oKSBjb25zdCB7IHJldHVy
biByb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6VGFiOyB9CiAgICAgYm9vbCBpc1Jh
ZGlvR3JvdXAoKSBjb25zdCB7IHJldHVybiByb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9s
ZTo6UmFkaW9Hcm91cDsgfQogICAgIGJvb2wgaXNDb21ib0JveCgpIGNvbnN0IHsgcmV0dXJuIHJv
bGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpDb21ib0JveDsgfQorICAgIGJvb2wgaXNE
YXRlVGltZSgpIGNvbnN0IHsgcmV0dXJuIHJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xl
OjpEYXRlVGltZTsgfQogICAgIGJvb2wgaXNUcmVlKCkgY29uc3QgeyByZXR1cm4gcm9sZVZhbHVl
KCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OlRyZWU7IH0KICAgICBib29sIGlzVHJlZUdyaWQoKSBj
b25zdCB7IHJldHVybiByb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6VHJlZUdyaWQ7
IH0KICAgICBib29sIGlzVHJlZUl0ZW0oKSBjb25zdCB7IHJldHVybiByb2xlVmFsdWUoKSA9PSBB
Y2Nlc3NpYmlsaXR5Um9sZTo6VHJlZUl0ZW07IH0KQEAgLTEzNjgsNyArMTM3Miw2IEBAIHB1Ymxp
YzoKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHZpcnR1YWwgaW50IGFjY2Vzc2liaWxp
dHlTZWN1cmVGaWVsZExlbmd0aCgpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaGFzVG91Y2hFdmVu
dExpc3RlbmVyKCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgYm9vbCBpc0lucHV0VHlwZVBvcHVw
QnV0dG9uKCkgY29uc3QgPSAwOwogI2VuZGlmCiAKICAgICAvLyBhbGxvd3MgZm9yIGFuIEFjY2Vz
c2liaWxpdHlPYmplY3QgdG8gdXBkYXRlIGl0cyByZW5kZXIgdHJlZSBvciBwZXJmb3JtCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAppbmRleCA3OGEz
MzBkYTRjNWMuLjAxZmRhNGNmMTI3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FYT2JqZWN0Q2FjaGUuY3BwCkBAIC0xMDI5LDExICsxMDI5LDEwIEBAIEFjY2Vzc2liaWxp
dHlPYmplY3QqIEFYT2JqZWN0Q2FjaGU6OnJvb3RPYmplY3RGb3JGcmFtZShMb2NhbEZyYW1lKiBm
cmFtZSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgcmV0dXJuIGdldE9yQ3JlYXRlKGZy
YW1lLT52aWV3KCkpOwogfSAgICAKLSAgICAKKwogQWNjZXNzaWJpbGl0eU9iamVjdCogQVhPYmpl
Y3RDYWNoZTo6Y3JlYXRlKEFjY2Vzc2liaWxpdHlSb2xlIHJvbGUpCiB7CiAgICAgUmVmUHRyPEFj
Y2Vzc2liaWxpdHlPYmplY3Q+IG9iajsKLQogICAgIC8vIHdpbGwgYmUgZmlsbGVkIGluLi4uCiAg
ICAgc3dpdGNoIChyb2xlKSB7CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6SW1hZ2VNYXBM
aW5rOgpAQCAtMTA1OCw3ICsxMDU3LDcgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCogQVhPYmplY3RD
YWNoZTo6Y3JlYXRlKEFjY2Vzc2liaWxpdHlSb2xlIHJvbGUpCiAgICAgICAgIG9iaiA9IEFjY2Vz
c2liaWxpdHlTcGluQnV0dG9uUGFydDo6Y3JlYXRlKCk7CiAgICAgICAgIGJyZWFrOwogICAgIGRl
ZmF1bHQ6Ci0gICAgICAgIG9iaiA9IG51bGxwdHI7CisgICAgICAgIGJyZWFrOwogICAgIH0KIAog
ICAgIGlmICghb2JqKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcAppbmRleCA2YzY2NTc2NWNhMmIuLjViNTE4MTAx
N2Q1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5Tm9kZU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKQEAgLTM0MCwxMSArMzQwLDggQEAgQWNjZXNzaWJpbGl0
eVJvbGUgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmRldGVybWluZUFjY2Vzc2liaWxpdHlSb2xl
RnJvbU5vZGUoVHIKICAgICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5Um9sZTo6UmFkaW9C
dXR0b247CiAgICAgICAgIGlmIChpbnB1dC0+aXNUZXh0QnV0dG9uKCkpCiAgICAgICAgICAgICBy
ZXR1cm4gYnV0dG9uUm9sZVR5cGUoKTsKLSAgICAgICAgLy8gT24gaU9TLCB0aGUgZGF0ZSBmaWVs
ZCBhbmQgdGltZSBmaWVsZCBhcmUgcG9wdXAgYnV0dG9ucy4gT24gb3RoZXIgcGxhdGZvcm1zIHRo
ZXkgYXJlIHRleHQgZmllbGRzLgotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgICAgIGlm
IChpbnB1dC0+aXNEYXRlRmllbGQoKSB8fCBpbnB1dC0+aXNUaW1lRmllbGQoKSkKLSAgICAgICAg
ICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5Um9sZTo6UG9wVXBCdXR0b247Ci0jZW5kaWYKKyAgICAg
ICAgaWYgKGlucHV0LT5pc0RhdGVGaWVsZCgpIHx8IGlucHV0LT5pc0RhdGVUaW1lTG9jYWxGaWVs
ZCgpIHx8IGlucHV0LT5pc01vbnRoRmllbGQoKSB8fCBpbnB1dC0+aXNUaW1lRmllbGQoKSB8fCBp
bnB1dC0+aXNXZWVrRmllbGQoKSkKKyAgICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5Um9s
ZTo6RGF0ZVRpbWU7CiAjaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCiAgICAgICAgIGlmIChp
bnB1dC0+aXNDb2xvckNvbnRyb2woKSkKICAgICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5
Um9sZTo6Q29sb3JXZWxsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKaW5kZXggNDYwYWEzNzE0N2Q2Li44MzdhMjYwZTk3YWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9i
amVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcApAQCAtMjczOCw2ICsyNzM4LDcgQEAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVJv
bGVNYXAoKQogICAgIC8vIENyZWF0ZSBzcGVjaWZpYyBzeW5vbnltcyBmb3IgdGhlIGNvbXB1dGVk
Um9sZSB3aGljaCBpcyB1c2VkIGluIFdQVCB0ZXN0cyBhbmQgdGhlIGFjY2Vzc2liaWxpdHkgaW5z
cGVjdG9yLgogICAgIGdBcmlhUmV2ZXJzZVJvbGVNYXAtPnNldChlbnVtVG9VbmRlcmx5aW5nVHlw
ZShBY2Nlc3NpYmlsaXR5Um9sZTo6SW1hZ2UpLCAiaW1hZ2UiX3MpOwogICAgIGdBcmlhUmV2ZXJz
ZVJvbGVNYXAtPnNldChlbnVtVG9VbmRlcmx5aW5nVHlwZShBY2Nlc3NpYmlsaXR5Um9sZTo6VGV4
dEFyZWEpLCAidGV4dGJveCJfcyk7CisgICAgZ0FyaWFSZXZlcnNlUm9sZU1hcC0+c2V0KGVudW1U
b1VuZGVybHlpbmdUeXBlKEFjY2Vzc2liaWxpdHlSb2xlOjpEYXRlVGltZSksICJ0ZXh0Ym94Il9z
KTsKICAgICBnQXJpYVJldmVyc2VSb2xlTWFwLT5zZXQoZW51bVRvVW5kZXJseWluZ1R5cGUoQWNj
ZXNzaWJpbGl0eVJvbGU6OlByZXNlbnRhdGlvbmFsKSwgIm5vbmUiX3MpOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oCmluZGV4
IDYyMjIwZWVkODU0Mi4uNWQ3OWZkY2ViYTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaApAQCAtNzEyLDcgKzcxMiw2IEBAIHB1
YmxpYzoKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGludCBhY2Nlc3NpYmlsaXR5U2Vj
dXJlRmllbGRMZW5ndGgoKSBvdmVycmlkZTsKICAgICBib29sIGhhc1RvdWNoRXZlbnRMaXN0ZW5l
cigpIGNvbnN0IG92ZXJyaWRlOwotICAgIGJvb2wgaXNJbnB1dFR5cGVQb3B1cEJ1dHRvbigpIGNv
bnN0IG92ZXJyaWRlOwogI2VuZGlmCiAKICAgICAvLyBhbGxvd3MgZm9yIGFuIEFjY2Vzc2liaWxp
dHlPYmplY3QgdG8gdXBkYXRlIGl0cyByZW5kZXIgdHJlZSBvciBwZXJmb3JtCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Qu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2Jq
ZWN0LmNwcAppbmRleCAwYzI3MmE0OTU0YzcuLjhkNDM2MmI3ODg2YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3QuY3BwCkBAIC03ODgsMTAgKzc4OCwxNCBAQCBTdHJpbmcgQWNjZXNzaWJpbGl0eVJlbmRlck9i
amVjdDo6c3RyaW5nVmFsdWUoKSBjb25zdAogICAgIGlmIChpc1dlYkFyZWEoKSkKICAgICAgICAg
cmV0dXJuIHsgfTsKIAotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgaWYgKGlzSW5wdXRU
eXBlUG9wdXBCdXR0b24oKSkKLSAgICAgICAgcmV0dXJuIHRleHRVbmRlckVsZW1lbnQoKTsKLSNl
bmRpZgorICAgIGlmIChpc0RhdGVUaW1lKCkpIHsKKyAgICAgICAgU3RyaW5nIHZhbHVlOworICAg
ICAgICBBY2Nlc3NpYmlsaXR5OjplbnVtZXJhdGVEZXNjZW5kYW50cygqY29uc3RfY2FzdDxBY2Nl
c3NpYmlsaXR5UmVuZGVyT2JqZWN0Kj4odGhpcyksIGZhbHNlLCBbJnZhbHVlXSAoY29uc3QgYXV0
byYgb2JqZWN0KSB7CisgICAgICAgICAgICBpZiAob2JqZWN0LmlzU3RhdGljVGV4dCgpKQorICAg
ICAgICAgICAgICAgIHZhbHVlID0gdmFsdWUgKyBvYmplY3Quc3RyaW5nVmFsdWUoKTsKKyAgICAg
ICAgfSk7CisgICAgICAgIHJldHVybiB2YWx1ZTsKKyAgICB9CiAKICAgICBpZiAoYXV0byogcmVu
ZGVyRmlsZVVwbG9hZENvbnRyb2wgPSBkeW5hbWljRG93bmNhc3Q8UmVuZGVyRmlsZVVwbG9hZENv
bnRyb2w+KG1fcmVuZGVyZXIuZ2V0KCkpKQogICAgICAgICByZXR1cm4gcmVuZGVyRmlsZVVwbG9h
ZENvbnRyb2wtPmZpbGVUZXh0VmFsdWUoKTsKQEAgLTIyOTIsNyArMjI5Niw3IEBAIHZvaWQgQWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6YWRkVGV4dEZpZWxkQ2hpbGRyZW4oKQogICAgIFJlZlB0
ciBub2RlID0gZHluYW1pY0Rvd25jYXN0PEhUTUxJbnB1dEVsZW1lbnQ+KHRoaXMtPm5vZGUoKSk7
CiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBhdXRvKiBzcGlu
QnV0dG9uRWxlbWVudCA9IGR5bmFtaWNEb3duY2FzdDxTcGluQnV0dG9uRWxlbWVudD4obm9kZS0+
aW5uZXJTcGluQnV0dG9uRWxlbWVudCgpKTsKICAgICBpZiAoIXNwaW5CdXR0b25FbGVtZW50KQog
ICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmgKaW5kZXggZTFjZDQyZDhmMzU1Li41MTlhNmJlNGVm
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVNwaW5CdXR0b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlTcGluQnV0dG9uLmgKQEAgLTI5LDE5ICsyOSwxOSBAQAogI2luY2x1ZGUgIlNwaW5CdXR0
b25FbGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICAKKwogY2xhc3MgQWNjZXNz
aWJpbGl0eVNwaW5CdXR0b24gZmluYWwgOiBwdWJsaWMgQWNjZXNzaWJpbGl0eU1vY2tPYmplY3Qg
ewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8QWNjZXNzaWJpbGl0eVNwaW5CdXR0b24+IGNyZWF0
ZSgpOwogICAgIHZpcnR1YWwgfkFjY2Vzc2liaWxpdHlTcGluQnV0dG9uKCk7Ci0gICAgCisKICAg
ICB2b2lkIHNldFNwaW5CdXR0b25FbGVtZW50KFNwaW5CdXR0b25FbGVtZW50KiBzcGluQnV0dG9u
KSB7IG1fc3BpbkJ1dHRvbkVsZW1lbnQgPSBzcGluQnV0dG9uOyB9Ci0gICAgCisKICAgICBBWENv
cmVPYmplY3QqIGluY3JlbWVudEJ1dHRvbigpIG92ZXJyaWRlOwogICAgIEFYQ29yZU9iamVjdCog
ZGVjcmVtZW50QnV0dG9uKCkgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHN0ZXAoaW50IGFtb3VudCk7
Ci0gICAgCisKIHByaXZhdGU6CiAgICAgQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24oKTsKIApAQCAt
NDksMjkgKzQ5LDI5IEBAIHByaXZhdGU6CiAgICAgYm9vbCBpc05hdGl2ZVNwaW5CdXR0b24oKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgdm9pZCBhZGRDaGlsZHJlbigpIG92
ZXJyaWRlOwogICAgIExheW91dFJlY3QgZWxlbWVudFJlY3QoKSBjb25zdCBvdmVycmlkZTsKLSAg
ICAKKwogICAgIFdlYWtQdHI8U3BpbkJ1dHRvbkVsZW1lbnQsIFdlYWtQdHJJbXBsV2l0aEV2ZW50
VGFyZ2V0RGF0YT4gbV9zcGluQnV0dG9uRWxlbWVudDsKIH07IAotICAgCisKIGNsYXNzIEFjY2Vz
c2liaWxpdHlTcGluQnV0dG9uUGFydCBmaW5hbCA6IHB1YmxpYyBBY2Nlc3NpYmlsaXR5TW9ja09i
amVjdCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxBY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvblBh
cnQ+IGNyZWF0ZSgpOwogICAgIHZpcnR1YWwgfkFjY2Vzc2liaWxpdHlTcGluQnV0dG9uUGFydCgp
ID0gZGVmYXVsdDsKLSAgICAKKwogICAgIGJvb2wgaXNJbmNyZW1lbnRvcigpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIG1faXNJbmNyZW1lbnRvcjsgfQogICAgIHZvaWQgc2V0SXNJbmNyZW1lbnRv
cihib29sIHZhbHVlKSB7IG1faXNJbmNyZW1lbnRvciA9IHZhbHVlOyB9Ci0gICAgCisKIHByaXZh
dGU6CiAgICAgQWNjZXNzaWJpbGl0eVNwaW5CdXR0b25QYXJ0KCk7Ci0gICAgCisKICAgICBib29s
IHByZXNzKCkgb3ZlcnJpZGU7CiAgICAgQWNjZXNzaWJpbGl0eVJvbGUgZGV0ZXJtaW5lQWNjZXNz
aWJpbGl0eVJvbGUoKSBmaW5hbCB7IHJldHVybiBBY2Nlc3NpYmlsaXR5Um9sZTo6U3BpbkJ1dHRv
blBhcnQ7IH0KICAgICBib29sIGlzU3BpbkJ1dHRvblBhcnQoKSBjb25zdCBvdmVycmlkZSB7IHJl
dHVybiB0cnVlOyB9CiAgICAgTGF5b3V0UmVjdCBlbGVtZW50UmVjdCgpIGNvbnN0IG92ZXJyaWRl
OwogCi0gICAgdW5zaWduZWQgbV9pc0luY3JlbWVudG9yIDogMTsKKyAgICBib29sIG1faXNJbmNy
ZW1lbnRvciA6IHRydWU7CiB9OwotICAgIAorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKIFNQ
RUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVNwaW5CdXR0
b24pIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkvQWNj
ZXNzaWJpbGl0eU9iamVjdEF0c3BpLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
YXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmNwcAppbmRleCA1MmVjZDUzM2QzZGYuLjVk
ZTk3MGYxZjcwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNw
aS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmNwcApAQCAtMjk4LDYgKzI5
OCw4IEBAIHN0YXRpYyBBdHNwaTo6Um9sZSBhdHNwaVJvbGUoQWNjZXNzaWJpbGl0eVJvbGUgcm9s
ZSkKICAgICAgICAgcmV0dXJuIEF0c3BpOjpSb2xlOjpDYW52YXM7CiAgICAgY2FzZSBBY2Nlc3Np
YmlsaXR5Um9sZTo6SG9yaXpvbnRhbFJ1bGU6CiAgICAgICAgIHJldHVybiBBdHNwaTo6Um9sZTo6
U2VwYXJhdG9yOworICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OkRhdGVUaW1lOgorICAgICAg
ICByZXR1cm4gQXRzcGk6OlJvbGU6OkVudHJ5OwogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6
OlNwaW5CdXR0b246CiAgICAgICAgIHJldHVybiBBdHNwaTo6Um9sZTo6U3BpbkJ1dHRvbjsKICAg
ICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpUYWI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L2lvcy9BY2Nlc3NpYmlsaXR5T2JqZWN0SU9TLm1tIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvQWNjZXNzaWJpbGl0eU9iamVjdElPUy5tbQppbmRleCAw
OGYzNmFhY2I3NzQuLjdmOWNmNmU2NTYwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9pb3MvQWNjZXNzaWJpbGl0eU9iamVjdElPUy5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9BY2Nlc3NpYmlsaXR5T2JqZWN0SU9TLm1tCkBAIC0xMzQs
MTMgKzEzNCw2IEBAIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6aGFzVG91Y2hFdmVudExpc3Rl
bmVyKCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgQWNjZXNzaWJpbGl0eU9i
amVjdDo6aXNJbnB1dFR5cGVQb3B1cEJ1dHRvbigpIGNvbnN0Ci17Ci0gICAgaWYgKGlzPEhUTUxJ
bnB1dEVsZW1lbnQ+KG5vZGUoKSkpCi0gICAgICAgIHJldHVybiByb2xlVmFsdWUoKSA9PSBBY2Nl
c3NpYmlsaXR5Um9sZTo6UG9wVXBCdXR0b247Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiB2b2lk
IEFjY2Vzc2liaWxpdHlPYmplY3Q6OnNldExhc3RQcmVzZW50ZWRUZXh0UHJlZGljdGlvbihOb2Rl
JiBwcmV2aW91c0NvbXBvc2l0aW9uTm9kZSwgQ29tcG9zaXRpb25TdGF0ZSBzdGF0ZSwgY29uc3Qg
U3RyaW5nJiB0ZXh0LCBzaXplX3QgbG9jYXRpb24sIGJvb2wgaGFuZGxpbmdBY2NlcHRlZENhbmRp
ZGF0ZSkKIHsKICNpZiBIQVZFKElOTElORV9QUkVESUNUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
SU9TLm1tIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvV2ViQWNjZXNzaWJpbGl0
eU9iamVjdFdyYXBwZXJJT1MubW0KaW5kZXggMjdiNTJiMTQ4NjBiLi43YmIyNmMxYzhhYmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
aW9zL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tCkBAIC05MzgsMTYgKzkzOCwx
NyBAQCAtIChCT09MKWlzU1ZHR3JvdXBFbGVtZW50CiAKIC0gKEJPT0wpZGV0ZXJtaW5lSXNBY2Nl
c3NpYmlsaXR5RWxlbWVudAogewotICAgIGlmICghc2VsZi5heEJhY2tpbmdPYmplY3QpCisgICAg
UmVmUHRyPEFYQ29yZU9iamVjdD4gYmFja2luZ09iamVjdCA9IHNlbGYuYXhCYWNraW5nT2JqZWN0
OworICAgIGlmICghYmFja2luZ09iamVjdCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIAot
ICAgIC8vIEhvbm9yIHdoZW4gc29tZXRoaW5nIGV4cGxpY2l0bHkgbWFrZXMgdGhpcyBhbiBlbGVt
ZW50IChzdXBlciB3aWxsIGNvbnRhaW4gdGhhdCBsb2dpYykgCisKKyAgICAvLyBIb25vciB3aGVu
IHNvbWV0aGluZyBleHBsaWNpdGx5IG1ha2VzIHRoaXMgYW4gZWxlbWVudCAoc3VwZXIgd2lsbCBj
b250YWluIHRoYXQgbG9naWMpCiAgICAgaWYgKFtzdXBlciBpc0FjY2Vzc2liaWxpdHlFbGVtZW50
XSkKICAgICAgICAgcmV0dXJuIFlFUzsKLSAgICAKLSAgICBzZWxmLmF4QmFja2luZ09iamVjdC0+
dXBkYXRlQmFja2luZ1N0b3JlKCk7Ci0gICAgCi0gICAgc3dpdGNoIChzZWxmLmF4QmFja2luZ09i
amVjdC0+cm9sZVZhbHVlKCkpIHsKKworICAgIGJhY2tpbmdPYmplY3QtPnVwZGF0ZUJhY2tpbmdT
dG9yZSgpOworCisgICAgc3dpdGNoIChiYWNraW5nT2JqZWN0LT5yb2xlVmFsdWUoKSkgewogICAg
IGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OlRleHRGaWVsZDoKICAgICBjYXNlIEFjY2Vzc2liaWxp
dHlSb2xlOjpUZXh0QXJlYToKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpCdXR0b246CkBA
IC05NjcsNiArOTY4LDcgQEAgLSAoQk9PTClkZXRlcm1pbmVJc0FjY2Vzc2liaWxpdHlFbGVtZW50
CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6TWVudUl0ZW1SYWRpbzoKICAgICBjYXNlIEFj
Y2Vzc2liaWxpdHlSb2xlOjpJbmNyZW1lbnRvcjoKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xl
OjpDb21ib0JveDoKKyAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpEYXRlVGltZToKICAgICBj
YXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpJbWFnZU1hcDoKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlS
b2xlOjpMaXN0TWFya2VyOgogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6Okxpc3RCb3hPcHRp
b246CkBAIC05ODgsMjYgKzk5MCwyMSBAQCAtIChCT09MKWRldGVybWluZUlzQWNjZXNzaWJpbGl0
eUVsZW1lbnQKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgfQotICAgICAgICAKKwogICAgIC8vIERvbid0IGV4cG9zZSBoZWFkZXJzIGFzIGVsZW1l
bnRzOyBpbnN0ZWFkIGV4cG9zZSB0aGVpciBjaGlsZHJlbiBhcyBlbGVtZW50cywgd2l0aCB0aGUg
aGVhZGVyIHRyYWl0ICh1bmxlc3MgdGhleSBoYXZlIG5vIGNoaWxkcmVuKQogICAgIGNhc2UgQWNj
ZXNzaWJpbGl0eVJvbGU6OkhlYWRpbmc6Ci0gICAgICAgIGlmICghW3NlbGYgYWNjZXNzaWJpbGl0
eUVsZW1lbnRDb3VudF0pCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgICAgICAKKyAgICAgICAgcmV0dXJuICFbc2VsZiBhY2Nlc3NpYmlsaXR5RWxl
bWVudENvdW50XTsKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpWaWRlbzoKICAgICAgICAg
cmV0dXJuIFtzZWxmIGFjY2Vzc2liaWxpdHlJc1dlYkludGVyYWN0aXZlVmlkZW9dOwotICAgICAg
ICAKLSAgICBpZiAoc2VsZi5heEJhY2tpbmdPYmplY3QtPmlzTm9uTmF0aXZlVGV4dENvbnRyb2wo
KSkKLSAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICAvLyBMaW5rcyBjYW4gc29tZXRpbWVzIGJl
IGVsZW1lbnRzICh3aGVuIHRoZXkgb25seSBjb250YWluIHN0YXRpYyB0ZXh0IG9yIGRvbid0IGNv
bnRhaW4gYW55dGhpbmcpLgotICAgIC8vIFRoZXkgc2hvdWxkIG5vdCBiZSBlbGVtZW50cyB3aGVu
IGNvbnRhaW5pbmcgdGV4dCBhbmQgb3RoZXIgdHlwZXMuCisgICAgICAgIGlmIChiYWNraW5nT2Jq
ZWN0LT5pc05vbk5hdGl2ZVRleHRDb250cm9sKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
KworICAgICAgICAvLyBMaW5rcyBjYW4gc29tZXRpbWVzIGJlIGVsZW1lbnRzICh3aGVuIHRoZXkg
b25seSBjb250YWluIHN0YXRpYyB0ZXh0IG9yIGRvbid0IGNvbnRhaW4gYW55dGhpbmcpLgorICAg
ICAgICAvLyBUaGV5IHNob3VsZCBub3QgYmUgZWxlbWVudHMgd2hlbiBjb250YWluaW5nIHRleHQg
YW5kIG90aGVyIHR5cGVzLgogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OldlYkNvcmVMaW5r
OgogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6Okxpbms6Ci0gICAgICAgIGlmIChbc2VsZiBj
b250YWluc1VubmF0dXJhbGx5U2VnbWVudGVkQ2hpbGRyZW5dIHx8ICFbc2VsZiBhY2Nlc3NpYmls
aXR5RWxlbWVudENvdW50XSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBbc2VsZiBjb250YWluc1VubmF0dXJhbGx5U2VnbWVu
dGVkQ2hpbGRyZW5dIHx8ICFbc2VsZiBhY2Nlc3NpYmlsaXR5RWxlbWVudENvdW50XTsKICAgICBj
YXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpHcm91cDoKICAgICAgICAgaWYgKFtzZWxmIGlzU1ZHR3Jv
dXBFbGVtZW50XSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMTExMywxNiArMTExMCwx
NiBAQCAtIChCT09MKWRldGVybWluZUlzQWNjZXNzaWJpbGl0eUVsZW1lbnQKICAgICBjYXNlIEFj
Y2Vzc2liaWxpdHlSb2xlOjpXZWJBcmVhOgogICAgICAgICAvLyBDb25zaWRlciBmb2N1c2FibGUg
bGVhZi1ub2RlcyB3aXRoIGEgbGFiZWwgdG8gYmUgYWNjZXNzaWJsZSBlbGVtZW50cy4KICAgICAg
ICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzQ5MgotICAg
ICAgICByZXR1cm4gc2VsZi5heEJhY2tpbmdPYmplY3QtPmlzS2V5Ym9hcmRGb2N1c2FibGUoKQor
ICAgICAgICByZXR1cm4gYmFja2luZ09iamVjdC0+aXNLZXlib2FyZEZvY3VzYWJsZSgpCiAgICAg
ICAgICAgICAmJiBbc2VsZiBhY2Nlc3NpYmlsaXR5RWxlbWVudENvdW50XSA9PSAwCi0gICAgICAg
ICAgICAmJiBzZWxmLmF4QmFja2luZ09iamVjdC0+ZGVzY3JpcHRpb25BdHRyaWJ1dGVWYWx1ZSgp
LmZpbmQoZGVwcmVjYXRlZElzTm90U3BhY2VPck5ld2xpbmUpICE9IG5vdEZvdW5kOworICAgICAg
ICAgICAgJiYgYmFja2luZ09iamVjdC0+ZGVzY3JpcHRpb25BdHRyaWJ1dGVWYWx1ZSgpLmZpbmQo
ZGVwcmVjYXRlZElzTm90U3BhY2VPck5ld2xpbmUpICE9IG5vdEZvdW5kOwogICAgIGNhc2UgQWNj
ZXNzaWJpbGl0eVJvbGU6Oklnbm9yZWQ6CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6TGlu
ZUJyZWFrOgogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OlByZXNlbnRhdGlvbmFsOgogICAg
IGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OlVua25vd246CiAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICB9Ci0gICAgCisKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gZmFs
c2U7CiB9CkBAIC0xMTQwLDE2ICsxMTM3LDEyIEBAIC0gKEJPT0wpaXNBY2Nlc3NpYmlsaXR5RWxl
bWVudAogCiAtIChCT09MKXN0cmluZ1ZhbHVlU2hvdWxkQmVVc2VkSW5MYWJlbAogewotICAgIGlm
IChzZWxmLmF4QmFja2luZ09iamVjdC0+aXNUZXh0Q29udHJvbCgpKQotICAgICAgICByZXR1cm4g
Tk87Ci0gICAgaWYgKHNlbGYuYXhCYWNraW5nT2JqZWN0LT5yb2xlVmFsdWUoKSA9PSBBY2Nlc3Np
YmlsaXR5Um9sZTo6UG9wVXBCdXR0b24pCi0gICAgICAgIHJldHVybiBOTzsKLSAgICBpZiAoc2Vs
Zi5heEJhY2tpbmdPYmplY3QtPmlzRmlsZVVwbG9hZEJ1dHRvbigpKQotICAgICAgICByZXR1cm4g
Tk87Ci0gICAgaWYgKFtzZWxmIGFjY2Vzc2liaWxpdHlJc1dlYkludGVyYWN0aXZlVmlkZW9dKQot
ICAgICAgICByZXR1cm4gTk87Ci0KLSAgICByZXR1cm4gWUVTOworICAgIFJlZlB0cjxBWENvcmVP
YmplY3Q+IGJhY2tpbmdPYmplY3QgPSBzZWxmLmF4QmFja2luZ09iamVjdDsKKyAgICByZXR1cm4g
YmFja2luZ09iamVjdCAmJiAhKGJhY2tpbmdPYmplY3QtPmlzVGV4dENvbnRyb2woKQorICAgICAg
ICB8fCBiYWNraW5nT2JqZWN0LT5pc1BvcFVwQnV0dG9uKCkKKyAgICAgICAgfHwgYmFja2luZ09i
amVjdC0+aXNEYXRlVGltZSgpCisgICAgICAgIHx8IGJhY2tpbmdPYmplY3QtPmlzRmlsZVVwbG9h
ZEJ1dHRvbigpCisgICAgICAgIHx8IFtzZWxmIGFjY2Vzc2liaWxpdHlJc1dlYkludGVyYWN0aXZl
VmlkZW9dKTsKIH0KIAogc3RhdGljIHZvaWQgYXBwZW5kU3RyaW5nVG9SZXN1bHQoTlNNdXRhYmxl
U3RyaW5nICpyZXN1bHQsIE5TU3RyaW5nICpzdHJpbmcpCkBAIC0xMjYxLDcgKzEyNTQsNyBAQCAt
IChOU1N0cmluZyAqKWFjY2Vzc2liaWxpdHlMYWJlbAogICAgIE5TU3RyaW5nICppbnRlcmFjdGl2
ZVZpZGVvRGVzY3JpcHRpb24gPSBbc2VsZiBpbnRlcmFjdGl2ZVZpZGVvRGVzY3JpcHRpb25dOwog
CiAgICAgLy8gV2Ugc2hvdWxkIGV4cG9zZSB0aGUgdmFsdWUgb2YgdGhlIGlucHV0IHR5cGUgZGF0
ZSBvciB0aW1lIHRocm91Z2ggQVhWYWx1ZSBpbnN0ZWFkIG9mIEFYVGl0bGUuCi0gICAgaWYgKGJh
Y2tpbmdPYmplY3QtPmlzSW5wdXRUeXBlUG9wdXBCdXR0b24oKSAmJiB0aXRsZSA9PSBTdHJpbmco
W3NlbGYgYWNjZXNzaWJpbGl0eVZhbHVlXSkpCisgICAgaWYgKGJhY2tpbmdPYmplY3QtPmlzRGF0
ZVRpbWUoKSAmJiB0aXRsZSA9PSBTdHJpbmcoW3NlbGYgYWNjZXNzaWJpbGl0eVZhbHVlXSkpCiAg
ICAgICAgIHRpdGxlID0gIiJfczsKIAogICAgIC8vIEZvb3RlciBpcyBub3QgY29uc2lkZXJlZCBh
IGxhbmRtYXJrLCBidXQgd2Ugd2FudCB0aGUgcm9sZSBkZXNjcmlwdGlvbi4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FjY2Vzc2liaWxpdHlPYmplY3RNYWMu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0
TWFjLm1tCmluZGV4IDU2OTE4MDkzMzg4MC4uYmEyYWNjZDgwZDA0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0TWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FjY2Vzc2liaWxpdHlPYmplY3RN
YWMubW0KQEAgLTc5MSw2ICs3OTEsNyBAQCBQbGF0Zm9ybVJvbGVNYXAgY3JlYXRlUGxhdGZvcm1S
b2xlTWFwKCkKICAgICAgICAgeyBBY2Nlc3NpYmlsaXR5Um9sZTo6TWV0ZXIsIE5TQWNjZXNzaWJp
bGl0eUxldmVsSW5kaWNhdG9yUm9sZSB9LAogICAgICAgICB7IEFjY2Vzc2liaWxpdHlSb2xlOjpJ
bmNyZW1lbnRvciwgTlNBY2Nlc3NpYmlsaXR5SW5jcmVtZW50b3JSb2xlIH0sCiAgICAgICAgIHsg
QWNjZXNzaWJpbGl0eVJvbGU6OkNvbWJvQm94LCBOU0FjY2Vzc2liaWxpdHlDb21ib0JveFJvbGUg
fSwKKyAgICAgICAgeyBBY2Nlc3NpYmlsaXR5Um9sZTo6RGF0ZVRpbWUsIE5TQWNjZXNzaWJpbGl0
eVRleHRGaWVsZFJvbGUgfSwKICAgICAgICAgeyBBY2Nlc3NpYmlsaXR5Um9sZTo6U3BsaXR0ZXIs
IE5TQWNjZXNzaWJpbGl0eVNwbGl0dGVyUm9sZSB9LAogICAgICAgICB7IEFjY2Vzc2liaWxpdHlS
b2xlOjpDb2RlLCBOU0FjY2Vzc2liaWxpdHlHcm91cFJvbGUgfSwKICAgICAgICAgeyBBY2Nlc3Np
YmlsaXR5Um9sZTo6Q29sb3JXZWxsLCBOU0FjY2Vzc2liaWxpdHlDb2xvcldlbGxSb2xlIH0sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFj
L1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tCmluZGV4IGFkNjcwNTZiOWFiYS4u
YTZhMTFlYzQwYzk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21h
Yy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQpA
QCAtMTUwMywxMCArMTUwMyw2IEBAIEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5UQVRJT05TX0VO
RAogICAgIGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0
eVJvbGVEZXNjcmlwdGlvbkF0dHJpYnV0ZV0pCiAgICAgICAgIHJldHVybiBbc2VsZiByb2xlRGVz
Y3JpcHRpb25dOwogCi0gICAgLy8gQVhBUklBUm9sZSBpcyBvbmx5IHVzZWQgYnkgRHVtcFJlbmRl
clRyZWUgKHNvIGZhcikuCi0gICAgaWYgKFthdHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmluZzpA
IkFYQVJJQVJvbGUiXSkKLSAgICAgICAgcmV0dXJuIGJhY2tpbmdPYmplY3QtPmNvbXB1dGVkUm9s
ZVN0cmluZygpOwotCiAgICAgaWYgKFthdHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmluZzogTlNB
Y2Nlc3NpYmlsaXR5UGFyZW50QXR0cmlidXRlXSkgewogICAgICAgICAvLyBUaGlzIHdpbGwgcmV0
dXJuIHRoZSBwYXJlbnQgb2YgdGhlIEFYV2ViQXJlYSwgaWYgdGhpcyBpcyBhIHdlYiBhcmVhLgog
ICAgICAgICBpZiAoaWQgc2Nyb2xsVmlldyA9IHNjcm9sbFZpZXdQYXJlbnQoKmJhY2tpbmdPYmpl
Y3QpKQpAQCAtMjIzMCw2ICsyMjI2LDkgQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRBVElP
TlNfRU5ECiAgICAgfQogCiAgICAgLy8gVXNlZCBieSBMYXlvdXRUZXN0cyBvbmx5LCBub3QgYnkg
QVQgY2xpZW50cy4KKyAgICBpZiAoVU5MSUtFTFkoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3Ry
aW5nOkAiQVhBUklBUm9sZSJdKSkKKyAgICAgICAgcmV0dXJuIGJhY2tpbmdPYmplY3QtPmNvbXB1
dGVkUm9sZVN0cmluZygpOworCiAgICAgaWYgKFVOTElLRUxZKFthdHRyaWJ1dGVOYW1lIGlzRXF1
YWxUb1N0cmluZzpAIkFYQ29udHJvbGxlcnMiXSkpCiAgICAgICAgIHJldHVybiBtYWtlTlNBcnJh
eShiYWNraW5nT2JqZWN0LT5jb250cm9sbGVycygpKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElP
Uy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnRJT1MubW0KaW5kZXggMGIzNzllOGNjMTdjLi4wZmU5MDI3OTRmZWMgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRJT1MubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbQpAQCAtNTE5LDcgKzUx
OSw3IEBAIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpj
b21wdXRlZFJvbGVTdHJpbmcoKQogCiBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6dGl0bGUoKQogewotICAgIHJldHVybiBjcmVhdGVKU1N0cmluZygpOwor
ICAgIHJldHVybiBjb25jYXRlbmF0ZUF0dHJpYnV0ZUFuZFZhbHVlKEAiQVhUaXRsZSIsIFttX2Vs
ZW1lbnQgYWNjZXNzaWJpbGl0eUxhYmVsXSk7CiB9CiAKIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVm
PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpkZXNjcmlwdGlvbigpCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2RhdGUtaW5wdXQtYXJpYS1sYWJlbC1hbmQtdmFsdWUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kYXRlLWlucHV0LWFyaWEtbGFi
ZWwtYW5kLXZhbHVlLWV4cGVjdGVkLnR4dAppbmRleCA1NTUwMGZiNmZlM2MuLjBhOWQyZWYxOGI4
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kYXRlLWlucHV0LWFyaWEt
bGFiZWwtYW5kLXZhbHVlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2RhdGUtaW5wdXQtYXJpYS1sYWJlbC1hbmQtdmFsdWUtZXhwZWN0ZWQudHh0CkBAIC0xLDU0
ICsxLDQ1IEBACi1UZXN0cyB0aGF0IGFyaWEtbGFiZWwgYW5kIGFyaWEtdmFsdWVub3cgdXBkYXRl
IGNvcnJlY3RseSBmb3IgZGF0ZSBpbnB1dHMuCitUZXN0cyB0aGF0IHN1YmZpZWxkIHZhbHVlcyB1
cGRhdGUgY29ycmVjdGx5IGZvciBkYXRlIGlucHV0cy4KIAorT3JpZ2luYWwgc3ViZmllbGQgdmFs
dWVzOgorQVhEZXNjcmlwdGlvbjogbW9udGggQVhSb2xlOiBBWEluY3JlbWVudG9yIEFYVmFsdWU6
IDExCitBWERlc2NyaXB0aW9uOiAgQVhSb2xlOiBBWFN0YXRpY1RleHQgQVhWYWx1ZTogLworQVhE
ZXNjcmlwdGlvbjogZGF5IEFYUm9sZTogQVhJbmNyZW1lbnRvciBBWFZhbHVlOiAyMQorQVhEZXNj
cmlwdGlvbjogIEFYUm9sZTogQVhTdGF0aWNUZXh0IEFYVmFsdWU6IC8KK0FYRGVzY3JpcHRpb246
IHllYXIgQVhSb2xlOiBBWEluY3JlbWVudG9yIEFYVmFsdWU6IDIwMjIKIAotQ2hlY2tpbmcgQVJJ
QSBMYWJlbHMgZm9yIHN1Yi1maWVsZHMKLVBBU1M6IHBsYXRmb3JtVmFsdWVGb3JXM0NOYW1lKGF4
RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMCkpID09PSAibW9udGgiCi1QQVNTOiBwbGF0
Zm9ybVZhbHVlRm9yVzNDTmFtZShheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDEpKSA9
PT0gImRheSIKLVBBU1M6IHBsYXRmb3JtVmFsdWVGb3JXM0NOYW1lKGF4RGF0ZUZpZWxkV3JhcHBl
ci5jaGlsZEF0SW5kZXgoMikpID09PSAieWVhciIKK0ZvY3VzIGRhdGUgZWxlbWVudCBhbmQgcHJl
c3MgdXAgYXJyb3cgdG8gaW5jcmVtZW50IHRoZSBtb250aCBmaWVsZDoKK1BBU1M6IHN1YmZpZWxk
c1swXS5pbnRWYWx1ZSA9PT0gMTIKIAotRm9jdXNpbmcgZGF0ZSBlbGVtZW50IGFuZCBwcmVzc2lu
ZyB1cCBhcnJvdyB0byBpbmNyZW1lbnQgdGhlIGZpcnN0IGZpZWxkLgotUEFTUzogYXhEYXRlRmll
bGRXcmFwcGVyLmNoaWxkQXRJbmRleCgwKS5pbnRWYWx1ZSA9PT0gMwotUEFTUzogYXhEYXRlRmll
bGRXcmFwcGVyLmNoaWxkQXRJbmRleCgwKS52YWx1ZURlc2NyaXB0aW9uID09PSAiQVhWYWx1ZURl
c2NyaXB0aW9uOiAzIgorUHJlc3MgZG93biBhcnJvdyB0d2ljZSB0byBkZWNyZW1lbnQgdGhlIG1v
bnRoIGZpZWxkLgorUEFTUzogc3ViZmllbGRzWzBdLmludFZhbHVlID09PSAxMAogCi1TaW11bGF0
aW5nIGRvd24gYXJyb3cgcHJlc3MgdG8gZGVjcmVtZW50IHRoZSBmaXJzdCBmaWVsZC4gKHgyKQot
UEFTUzogYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgwKS5pbnRWYWx1ZSA9PT0gMQot
UEFTUzogYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgwKS52YWx1ZURlc2NyaXB0aW9u
ID09PSAiQVhWYWx1ZURlc2NyaXB0aW9uOiAxIgorUHJlc3MgdGhlIHRhYiBrZXkgdG8gbW92ZSB0
byB0aGUgZGF5IGZpZWxkIGluIHRoZSBkYXRlIGlucHV0LgorUEFTUzogc3ViZmllbGRzWzJdLmlu
dFZhbHVlID09PSAyMQogCi1TaW11bGF0aW5nIHRhYiBrZXkgdG8gbW92ZSB0byB0aGUgbmV4dCBm
aWVsZCBpbiB0aGUgZGF0ZSBpbnB1dC4KLVBBU1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0
SW5kZXgoMSkuaW50VmFsdWUgPT09IDIKLVBBU1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0
SW5kZXgoMSkudmFsdWVEZXNjcmlwdGlvbiA9PT0gIkFYVmFsdWVEZXNjcmlwdGlvbjogMiIKK1R5
cGUgMTAgaW4gdGhlIGRheSBzdWJmaWVsZC4KK1BBU1M6IHN1YmZpZWxkc1syXS5pbnRWYWx1ZSA9
PT0gMTAKIAotU2ltdWxhdGluZyB0eXBpbmcgIjEwIiBpbiB0aGUgc2Vjb25kIGlucHV0IGZpZWxk
LgotUEFTUzogYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgxKS5pbnRWYWx1ZSA9PT0g
MTAKLVBBU1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMSkudmFsdWVEZXNjcmlw
dGlvbiA9PT0gIkFYVmFsdWVEZXNjcmlwdGlvbjogMTAiCitQcmVzcyBkb3duIGFycm93IHRvIGRl
Y3JlbWVudCB0aGUgZGF5IGZpZWxkLgorUEFTUzogc3ViZmllbGRzWzJdLmludFZhbHVlID09PSA5
CiAKLVNpbXVsYXRpbmcgZG93biBhcnJvdyBwcmVzcyB0byBkZWNyZW1lbnQgdGhlIHNlY29uZCBm
aWVsZCB2YWx1ZS4KLVBBU1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMSkuaW50
VmFsdWUgPT09IDkKLVBBU1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMSkudmFs
dWVEZXNjcmlwdGlvbiA9PT0gIkFYVmFsdWVEZXNjcmlwdGlvbjogOSIKK1ByZXNzIHVwIGFycm93
IHR3aWNlIHRvIGluY3JlbWVudCB0aGUgZGF5IGZpZWxkLgorUEFTUzogc3ViZmllbGRzWzJdLmlu
dFZhbHVlID09PSAxMQogCi1TaW11bGF0aW5nIHVwIGFycm93IHByZXNzIHRvIGluY3JlbWVudCB0
aGUgc2Vjb25kIGZpZWxkIHZhbHVlLiAoeDIpCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hp
bGRBdEluZGV4KDEpLmludFZhbHVlID09PSAxMQotUEFTUzogYXhEYXRlRmllbGRXcmFwcGVyLmNo
aWxkQXRJbmRleCgxKS52YWx1ZURlc2NyaXB0aW9uID09PSAiQVhWYWx1ZURlc2NyaXB0aW9uOiAx
MSIKK1ByZXNzIHRhYiB0byBtb3ZlIHRvIHRoZSB5ZWFyIGZpZWxkIGluIHRoZSBkYXRlIGlucHV0
LgorUEFTUzogc3ViZmllbGRzWzRdLmludFZhbHVlID09PSAyMDIyCiAKLVNpbXVsYXRpbmcgdGFi
IGtleSB0byBtb3ZlIHRvIHRoZSBuZXh0IGZpZWxkIGluIHRoZSBkYXRlIGlucHV0LgotUEFTUzog
YXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgyKS5pbnRWYWx1ZSA9PT0gMjAyMgotUEFT
UzogYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgyKS52YWx1ZURlc2NyaXB0aW9uID09
PSAiQVhWYWx1ZURlc2NyaXB0aW9uOiAyMDIyIgorUHJlc3MgZG93biBhcnJvdyAxMCB0aW1lcyB0
byBkZWNyZW1lbnQgdGhlIHllYXIgZmllbGQuCitQQVNTOiBzdWJmaWVsZHNbNF0uaW50VmFsdWUg
PT09IDIwMTIKIAotU2ltdWxhdGluZyBkb3duIGFycm93IHByZXNzIHRvIGRlY3JlbWVudCB0aGUg
dGhpcmQgZmllbGQgdmFsdWUuICh4MTApCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRB
dEluZGV4KDIpLmludFZhbHVlID09PSAyMDEyCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hp
bGRBdEluZGV4KDIpLnZhbHVlRGVzY3JpcHRpb24gPT09ICJBWFZhbHVlRGVzY3JpcHRpb246IDIw
MTIiCitQcmVzcyB1cCBhcnJvdyB0byBpbmNyZW1lbnQgdGhlIHllYXIgZmllbGQuCitQQVNTOiBz
dWJmaWVsZHNbNF0uaW50VmFsdWUgPT09IDIwMTMKIAotU2ltdWxhdGluZyB1cCBhcnJvdyBwcmVz
cyB0byBpbmNyZW1lbnQgdGhlIHRoaXJkIGZpZWxkIHZhbHVlLgotUEFTUzogYXhEYXRlRmllbGRX
cmFwcGVyLmNoaWxkQXRJbmRleCgyKS5pbnRWYWx1ZSA9PT0gMjAxMwotUEFTUzogYXhEYXRlRmll
bGRXcmFwcGVyLmNoaWxkQXRJbmRleCgyKS52YWx1ZURlc2NyaXB0aW9uID09PSAiQVhWYWx1ZURl
c2NyaXB0aW9uOiAyMDEzIgotCi1NYW51YWxseSBzZXR0aW5nIHRoZSBkYXRlIGlucHV0J3MgdmFs
dWUgdmlhIEphdmFTY3JpcHQuCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4
KDApLmludFZhbHVlID09PSAxMgotUEFTUzogYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRl
eCgwKS52YWx1ZURlc2NyaXB0aW9uID09PSAiQVhWYWx1ZURlc2NyaXB0aW9uOiAxMiIKLVBBU1M6
IGF4RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMSkuaW50VmFsdWUgPT09IDMwCi1QQVNT
OiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDEpLnZhbHVlRGVzY3JpcHRpb24gPT09
ICJBWFZhbHVlRGVzY3JpcHRpb246IDMwIgotUEFTUzogYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxk
QXRJbmRleCgyKS5pbnRWYWx1ZSA9PT0gMjAyMwotUEFTUzogYXhEYXRlRmllbGRXcmFwcGVyLmNo
aWxkQXRJbmRleCgyKS52YWx1ZURlc2NyaXB0aW9uID09PSAiQVhWYWx1ZURlc2NyaXB0aW9uOiAy
MDIzIgorU2V0IHRoZSBkYXRlIHZpYSBKYXZhU2NyaXB0LgorQVhEZXNjcmlwdGlvbjogbW9udGgg
QVhSb2xlOiBBWEluY3JlbWVudG9yIEFYVmFsdWU6IDEyCitBWERlc2NyaXB0aW9uOiAgQVhSb2xl
OiBBWFN0YXRpY1RleHQgQVhWYWx1ZTogLworQVhEZXNjcmlwdGlvbjogZGF5IEFYUm9sZTogQVhJ
bmNyZW1lbnRvciBBWFZhbHVlOiAzMQorQVhEZXNjcmlwdGlvbjogIEFYUm9sZTogQVhTdGF0aWNU
ZXh0IEFYVmFsdWU6IC8KK0FYRGVzY3JpcHRpb246IHllYXIgQVhSb2xlOiBBWEluY3JlbWVudG9y
IEFYVmFsdWU6IDIwMjMKIAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2RhdGUtaW5wdXQtYXJpYS1sYWJlbC1h
bmQtdmFsdWUuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZGF0ZS1pbnB1dC1hcmlh
LWxhYmVsLWFuZC12YWx1ZS5odG1sCmluZGV4IGNjN2RlYTUwOWFhNy4uODUyMTcyYTRjOWUzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2RhdGUtaW5wdXQtYXJpYS1sYWJl
bC1hbmQtdmFsdWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2RhdGUtaW5w
dXQtYXJpYS1sYWJlbC1hbmQtdmFsdWUuaHRtbApAQCAtNiw5MiArNiw3NyBAQAogPC9oZWFkPgog
PGJvZHk+CiAKLTxpbnB1dCBpZD0iZGF0ZS1pbnB1dCIgdHlwZT0iZGF0ZSIgdmFsdWU9IjIwMjIt
MDItMDIiIC8+Cis8aW5wdXQgaWQ9ImRhdGUtaW5wdXQiIHR5cGU9ImRhdGUiIHZhbHVlPSIyMDIy
LTExLTIxIiAvPgogCiA8c2NyaXB0PgotdmFyIHRlc3RPdXRwdXQgPSAiVGVzdHMgdGhhdCBhcmlh
LWxhYmVsIGFuZCBhcmlhLXZhbHVlbm93IHVwZGF0ZSBjb3JyZWN0bHkgZm9yIGRhdGUgaW5wdXRz
LlxuXG4iOwordmFyIG91dHB1dCA9ICJUZXN0cyB0aGF0IHN1YmZpZWxkIHZhbHVlcyB1cGRhdGUg
Y29ycmVjdGx5IGZvciBkYXRlIGlucHV0cy5cblxuIjsKIAotZnVuY3Rpb24gb3V0cHV0U3RyaW5n
KG1lc3NhZ2UpIHsKLSAgICB0ZXN0T3V0cHV0ICs9IChgXG4ke21lc3NhZ2V9XG5gKTsKLX0KLQot
ZnVuY3Rpb24ga2V5RG93bihrZXksIHJlcGVhdCA9IDEsIG1lc3NhZ2UgPSAiIikgewotICAgIGlm
IChtZXNzYWdlKSAKLSAgICAgICAgb3V0cHV0U3RyaW5nKG1lc3NhZ2UgKyBgICh4JHtyZXBlYXR9
KWApOwotCi0gICAgZm9yIChsZXQgaSA9IDAgOyBpIDwgcmVwZWF0IDsgaSsrKSAKK2Z1bmN0aW9u
IGtleURvd24oa2V5LCByZXBlYXQgPSAxKSB7CisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZXBl
YXQ7IGkrKykKICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bihrZXkpOwogfQogCiBpZiAod2lu
ZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CiAgICAgd2luZG93LmpzVGVzdElzQXN5bmMg
PSB0cnVlOwotICAgIHZhciBheERhdGVGaWVsZFdyYXBwZXIgPSBhY2Nlc3NpYmlsaXR5Q29udHJv
bGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImRhdGUtaW5wdXQiKQotICAgICAgICAgICAgLmNo
aWxkQXRJbmRleCgwKQotICAgICAgICAgICAgLmNoaWxkQXRJbmRleCgwKTsKLQotICAgIHNldFRp
bWVvdXQoYXN5bmMgZnVuY3Rpb24oKSB7Ci0gICAgICAgIGFzeW5jIGZ1bmN0aW9uIGV4cGVjdENo
aWxkVG9IYXZlQVJJQVZhbHVlQXR0cmlidXRlcyhjaGlsZEluZGV4LCBkZXNjcmlwdGlvbikgewot
ICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGF3YWl0IGV4cGVjdEFzeW5jKGBheERhdGVGaWVsZFdy
YXBwZXIuY2hpbGRBdEluZGV4KCR7Y2hpbGRJbmRleH0pLmludFZhbHVlYCwgYCR7ZGVzY3JpcHRp
b259YCk7Ci0KLSAgICAgICAgICAgIHJlc3VsdCArPSBhd2FpdCBleHBlY3RBc3luYyhgYXhEYXRl
RmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgke2NoaWxkSW5kZXh9KS52YWx1ZURlc2NyaXB0aW9u
YCwgYCJBWFZhbHVlRGVzY3JpcHRpb246ICR7ZGVzY3JpcHRpb259ImApOwotCi0gICAgICAgICAg
ICByZXR1cm4gcmVzdWx0OwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBmdW5jdGlvbiBl
eHBlY3RDaGlsZFRvSGF2ZUFSSUFMYWJlbChjaGlsZEluZGV4LCBsYWJlbFRleHQpIHsKLSAgICAg
ICAgICAgIHJldHVybiBleHBlY3QoYHBsYXRmb3JtVmFsdWVGb3JXM0NOYW1lKGF4RGF0ZUZpZWxk
V3JhcHBlci5jaGlsZEF0SW5kZXgoJHtjaGlsZEluZGV4fSkpYCwgbGFiZWxUZXh0KTsKLSAgICAg
ICAgfQotICAgICAgICAKLSAgICAgICAgY29uc3QgZGF0ZUlucHV0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImRhdGUtaW5wdXQiKTsKLQotICAgICAgICBvdXRwdXRTdHJpbmcoIkNoZWNraW5n
IEFSSUEgTGFiZWxzIGZvciBzdWItZmllbGRzIik7Ci0gICAgICAgIHRlc3RPdXRwdXQgKz0gZXhw
ZWN0Q2hpbGRUb0hhdmVBUklBTGFiZWwoMCwgYCJtb250aCJgKTsKLSAgICAgICAgdGVzdE91dHB1
dCArPSBleHBlY3RDaGlsZFRvSGF2ZUFSSUFMYWJlbCgxLCBgImRheSJgKTsKLSAgICAgICAgdGVz
dE91dHB1dCArPSBleHBlY3RDaGlsZFRvSGF2ZUFSSUFMYWJlbCgyLCBgInllYXIiYCk7Ci0gICAg
ICAgIAotICAgICAgICBvdXRwdXRTdHJpbmcoIkZvY3VzaW5nIGRhdGUgZWxlbWVudCBhbmQgcHJl
c3NpbmcgdXAgYXJyb3cgdG8gaW5jcmVtZW50IHRoZSBmaXJzdCBmaWVsZC4iKTsKKyAgICBjb25z
dCBkYXRlSW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGF0ZS1pbnB1dCIpOworICAg
IHZhciBheERhdGVJbnB1dCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVt
ZW50QnlJZCgiZGF0ZS1pbnB1dCIpOworCisgICAgZnVuY3Rpb24gZ2V0QW5kTG9nU3ViZmllbGRz
KGF4RWxlbWVudCkgeworICAgICAgICBsZXQgc3ViZmllbGRzID0gYXhFbGVtZW50LmNoaWxkQXRJ
bmRleCgwKS5jaGlsZEF0SW5kZXgoMCkuY2hpbGRyZW47CisgICAgICAgIHN1YmZpZWxkcy5mb3JF
YWNoKChjaGlsZCkgPT4geworICAgICAgICAgICAgb3V0cHV0ICs9IGAke2NoaWxkLmRlc2NyaXB0
aW9ufSAke2NoaWxkLnJvbGV9ICR7Y2hpbGQuc3RyaW5nVmFsdWV9XG5gOworICAgICAgICB9KTsK
KyAgICAgICAgcmV0dXJuIHN1YmZpZWxkczsKKyAgICB9CisKKyAgICBvdXRwdXQrPSAiT3JpZ2lu
YWwgc3ViZmllbGQgdmFsdWVzOlxuIjsKKyAgICB2YXIgc3ViZmllbGRzID0gZ2V0QW5kTG9nU3Vi
ZmllbGRzKGF4RGF0ZUlucHV0KTsKKworICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4geworICAg
ICAgICBvdXRwdXQgKz0gIlxuRm9jdXMgZGF0ZSBlbGVtZW50IGFuZCBwcmVzcyB1cCBhcnJvdyB0
byBpbmNyZW1lbnQgdGhlIG1vbnRoIGZpZWxkOlxuIjsKICAgICAgICAgZGF0ZUlucHV0LmZvY3Vz
KCk7CiAgICAgICAgIGtleURvd24oInVwQXJyb3ciKTsKKyAgICAgICAgb3V0cHV0ICs9IGF3YWl0
IGV4cGVjdEFzeW5jKCJzdWJmaWVsZHNbMF0uaW50VmFsdWUiLCAiMTIiKTsKIAotICAgICAgICB0
ZXN0T3V0cHV0ICs9IGF3YWl0IGV4cGVjdENoaWxkVG9IYXZlQVJJQVZhbHVlQXR0cmlidXRlcygw
LCAzKTsKLQotICAgICAgICBrZXlEb3duKCJkb3duQXJyb3ciLCAyLCAiU2ltdWxhdGluZyBkb3du
IGFycm93IHByZXNzIHRvIGRlY3JlbWVudCB0aGUgZmlyc3QgZmllbGQuIik7Ci0gICAgICAgIHRl
c3RPdXRwdXQgKz0gYXdhaXQgZXhwZWN0Q2hpbGRUb0hhdmVBUklBVmFsdWVBdHRyaWJ1dGVzKDAs
IDEpOworICAgICAgICBvdXRwdXQgKz0gIlxuUHJlc3MgZG93biBhcnJvdyB0d2ljZSB0byBkZWNy
ZW1lbnQgdGhlIG1vbnRoIGZpZWxkLlxuIjsKKyAgICAgICAga2V5RG93bigiZG93bkFycm93Iiwg
Mik7CisgICAgICAgIG91dHB1dCArPSBhd2FpdCBleHBlY3RBc3luYygic3ViZmllbGRzWzBdLmlu
dFZhbHVlIiwgIjEwIik7CiAKLSAgICAgICAgb3V0cHV0U3RyaW5nKCJTaW11bGF0aW5nIHRhYiBr
ZXkgdG8gbW92ZSB0byB0aGUgbmV4dCBmaWVsZCBpbiB0aGUgZGF0ZSBpbnB1dC4iKTsKKyAgICAg
ICAgb3V0cHV0ICs9ICJcblByZXNzIHRoZSB0YWIga2V5IHRvIG1vdmUgdG8gdGhlIGRheSBmaWVs
ZCBpbiB0aGUgZGF0ZSBpbnB1dC5cbiI7CiAgICAgICAgIGtleURvd24oIlx0Iik7Ci0gICAgICAg
IHRlc3RPdXRwdXQgKz0gYXdhaXQgZXhwZWN0Q2hpbGRUb0hhdmVBUklBVmFsdWVBdHRyaWJ1dGVz
KDEsIDIpOworICAgICAgICBvdXRwdXQgKz0gYXdhaXQgZXhwZWN0QXN5bmMoInN1YmZpZWxkc1sy
XS5pbnRWYWx1ZSIsICIyMSIpOwogCi0gICAgICAgIG91dHB1dFN0cmluZygiU2ltdWxhdGluZyB0
eXBpbmcgXCIxMFwiIGluIHRoZSBzZWNvbmQgaW5wdXQgZmllbGQuIik7CisgICAgICAgIG91dHB1
dCArPSAiXG5UeXBlIDEwIGluIHRoZSBkYXkgc3ViZmllbGQuXG4iOwogICAgICAgICBrZXlEb3du
KCIxIik7CiAgICAgICAgIGtleURvd24oIjAiKQotICAgICAgICB0ZXN0T3V0cHV0ICs9IGF3YWl0
IGV4cGVjdENoaWxkVG9IYXZlQVJJQVZhbHVlQXR0cmlidXRlcygxLCAxMCk7CisgICAgICAgIG91
dHB1dCArPSBhd2FpdCBleHBlY3RBc3luYygic3ViZmllbGRzWzJdLmludFZhbHVlIiwgIjEwIik7
CiAKLSAgICAgICAgb3V0cHV0U3RyaW5nKCJTaW11bGF0aW5nIGRvd24gYXJyb3cgcHJlc3MgdG8g
ZGVjcmVtZW50IHRoZSBzZWNvbmQgZmllbGQgdmFsdWUuIikKKyAgICAgICAgb3V0cHV0ICs9ICJc
blByZXNzIGRvd24gYXJyb3cgdG8gZGVjcmVtZW50IHRoZSBkYXkgZmllbGQuXG4iOwogICAgICAg
ICBrZXlEb3duKCJkb3duQXJyb3ciKTsKLSAgICAgICAgdGVzdE91dHB1dCArPSBhd2FpdCBleHBl
Y3RDaGlsZFRvSGF2ZUFSSUFWYWx1ZUF0dHJpYnV0ZXMoMSwgOSk7CisgICAgICAgIG91dHB1dCAr
PSBhd2FpdCBleHBlY3RBc3luYygic3ViZmllbGRzWzJdLmludFZhbHVlIiwgIjkiKTsKIAotICAg
ICAgICBrZXlEb3duKCJ1cEFycm93IiwgMiwgIlNpbXVsYXRpbmcgdXAgYXJyb3cgcHJlc3MgdG8g
aW5jcmVtZW50IHRoZSBzZWNvbmQgZmllbGQgdmFsdWUuIik7Ci0gICAgICAgIHRlc3RPdXRwdXQg
Kz0gYXdhaXQgZXhwZWN0Q2hpbGRUb0hhdmVBUklBVmFsdWVBdHRyaWJ1dGVzKDEsIDExKTsKKyAg
ICAgICAgb3V0cHV0ICs9ICJcblByZXNzIHVwIGFycm93IHR3aWNlIHRvIGluY3JlbWVudCB0aGUg
ZGF5IGZpZWxkLlxuIjsKKyAgICAgICAga2V5RG93bigidXBBcnJvdyIsIDIpOworICAgICAgICBv
dXRwdXQgKz0gYXdhaXQgZXhwZWN0QXN5bmMoInN1YmZpZWxkc1syXS5pbnRWYWx1ZSIsICIxMSIp
OwogCi0gICAgICAgIG91dHB1dFN0cmluZygiU2ltdWxhdGluZyB0YWIga2V5IHRvIG1vdmUgdG8g
dGhlIG5leHQgZmllbGQgaW4gdGhlIGRhdGUgaW5wdXQuIik7CisgICAgICAgIG91dHB1dCArPSAi
XG5QcmVzcyB0YWIgdG8gbW92ZSB0byB0aGUgeWVhciBmaWVsZCBpbiB0aGUgZGF0ZSBpbnB1dC5c
biI7CiAgICAgICAgIGtleURvd24oIlx0Iik7Ci0gICAgICAgIHRlc3RPdXRwdXQgKz0gYXdhaXQg
ZXhwZWN0Q2hpbGRUb0hhdmVBUklBVmFsdWVBdHRyaWJ1dGVzKDIsIDIwMjIpOworICAgICAgICBv
dXRwdXQgKz0gYXdhaXQgZXhwZWN0QXN5bmMoInN1YmZpZWxkc1s0XS5pbnRWYWx1ZSIsICIyMDIy
Iik7CiAKLSAgICAgICAga2V5RG93bigiZG93bkFycm93IiwgMTAsICJTaW11bGF0aW5nIGRvd24g
YXJyb3cgcHJlc3MgdG8gZGVjcmVtZW50IHRoZSB0aGlyZCBmaWVsZCB2YWx1ZS4iKTsKLSAgICAg
ICAgdGVzdE91dHB1dCArPSBhd2FpdCBleHBlY3RDaGlsZFRvSGF2ZUFSSUFWYWx1ZUF0dHJpYnV0
ZXMoMiwgMjAxMik7CisgICAgICAgIG91dHB1dCs9ICJcblByZXNzIGRvd24gYXJyb3cgMTAgdGlt
ZXMgdG8gZGVjcmVtZW50IHRoZSB5ZWFyIGZpZWxkLlxuIjsKKyAgICAgICAga2V5RG93bigiZG93
bkFycm93IiwgMTApOworICAgICAgICBvdXRwdXQgKz0gYXdhaXQgZXhwZWN0QXN5bmMoInN1YmZp
ZWxkc1s0XS5pbnRWYWx1ZSIsICIyMDEyIik7CiAKLSAgICAgICAgb3V0cHV0U3RyaW5nKCJTaW11
bGF0aW5nIHVwIGFycm93IHByZXNzIHRvIGluY3JlbWVudCB0aGUgdGhpcmQgZmllbGQgdmFsdWUu
IikKKyAgICAgICAgb3V0cHV0ICs9ICJcblByZXNzIHVwIGFycm93IHRvIGluY3JlbWVudCB0aGUg
eWVhciBmaWVsZC5cbiI7CiAgICAgICAgIGtleURvd24oInVwQXJyb3ciKTsKLSAgICAgICAgdGVz
dE91dHB1dCArPSBhd2FpdCBleHBlY3RDaGlsZFRvSGF2ZUFSSUFWYWx1ZUF0dHJpYnV0ZXMoMiwg
MjAxMyk7CisgICAgICAgIG91dHB1dCArPSBhd2FpdCBleHBlY3RBc3luYygic3ViZmllbGRzWzRd
LmludFZhbHVlIiwgIjIwMTMiKTsKIAotICAgICAgICBvdXRwdXRTdHJpbmcoIk1hbnVhbGx5IHNl
dHRpbmcgdGhlIGRhdGUgaW5wdXQncyB2YWx1ZSB2aWEgSmF2YVNjcmlwdC4iKQotICAgICAgICBk
YXRlSW5wdXQudmFsdWUgPSAiMjAyMy0xMi0zMCI7Ci0gICAgICAgIHRlc3RPdXRwdXQgKz0gYXdh
aXQgZXhwZWN0Q2hpbGRUb0hhdmVBUklBVmFsdWVBdHRyaWJ1dGVzKDAsIDEyKTsKLSAgICAgICAg
dGVzdE91dHB1dCArPSBhd2FpdCBleHBlY3RDaGlsZFRvSGF2ZUFSSUFWYWx1ZUF0dHJpYnV0ZXMo
MSwgMzApOwotICAgICAgICB0ZXN0T3V0cHV0ICs9IGF3YWl0IGV4cGVjdENoaWxkVG9IYXZlQVJJ
QVZhbHVlQXR0cmlidXRlcygyLCAyMDIzKTsKKyAgICAgICAgb3V0cHV0ICs9ICJcblNldCB0aGUg
ZGF0ZSB2aWEgSmF2YVNjcmlwdC5cbiI7CisgICAgICAgIGRhdGVJbnB1dC52YWx1ZSA9ICIyMDIz
LTEyLTMxIjsKKyAgICAgICAgYXdhaXQgZXhwZWN0QXN5bmMoImF4RGF0ZUlucHV0LmNoaWxkQXRJ
bmRleCgwKS5jaGlsZEF0SW5kZXgoMCkuY2hpbGRyZW5bNF0uaW50VmFsdWUiLCAiMjAyMyIpOwor
ICAgICAgICBnZXRBbmRMb2dTdWJmaWVsZHMoYXhEYXRlSW5wdXQpOwogCi0gICAgICAgIGRlYnVn
KHRlc3RPdXRwdXQpOworICAgICAgICBkZWJ1ZyhvdXRwdXQpOwogICAgICAgICBmaW5pc2hKU1Rl
c3QoKTsKICAgICB9KTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
aW5wdXQtdGltZS1sYWJlbC12YWx1ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uOWQ1NDI0Y2E4N2JjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVsLXZhbHVlLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDExIEBACitUaGlzIHRlc3RzIGlucHV0IHR5cGU9dGltZSBsYWJl
bCBhbmQgdmFsdWUgcHJvcGVydGllcy4KKworUEFTUzogaW5wdXR0aW1lLnRpdGxlID09PSAnQVhU
aXRsZTogKEJldHdlZW46IDA3OjAwIEFNLTA5OjAwIEFNKScKK0FYVmFsdWU6IDA4OjAw4oCvQU0K
K1BBU1M6IGlucHV0dGltZS50aXRsZSA9PT0gJ0FYVGl0bGU6ICcKK0FYVmFsdWU6IDA3OjMw4oCv
QU0KKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12
YWx1ZS5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVsLXZh
bHVlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4yYjNhYWNh
YjU3NzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lucHV0
LXRpbWUtbGFiZWwtdmFsdWUuaHRtbApAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9hY2Nlc3NpYmlsaXR5LWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+CisKKzxpbnB1dCB0eXBlPSJ0aW1lIiBpZD0iaW5wdXR0aW1lMSIgYXJpYS1sYWJlbD0iKEJl
dHdlZW46IDA3OjAwIEFNLTA5OjAwIEFNKSIgbWluPSIwNzowMCIgbWF4PSIwOTowMCIgc3RlcD0i
MzAwIiBwbGFjZWhvbGRlcj0iMDA6MDAgQU0iIHZhbHVlPSIwODowMCI+Cis8aW5wdXQgdHlwZT0i
dGltZSIgaWQ9ImlucHV0dGltZTIiIG1pbj0iMDc6MDAiIG1heD0iMDk6MDAiIHN0ZXA9IjMwMCIg
dmFsdWU9IjA3OjMwIj4KKworPHNjcmlwdD4KK2xldCBvdXRwdXQgPSAiVGhpcyB0ZXN0cyBpbnB1
dCB0eXBlPXRpbWUgbGFiZWwgYW5kIHZhbHVlIHByb3BlcnRpZXMuXG5cbiI7CisKK2lmICh3aW5k
b3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKKyAgICB2YXIgaW5wdXR0aW1lID0gYWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJpbnB1dHRpbWUxIik7Cisg
ICAgb3V0cHV0ICs9IGV4cGVjdCgiaW5wdXR0aW1lLnRpdGxlIiwgIidBWFRpdGxlOiAoQmV0d2Vl
bjogMDc6MDAgQU0tMDk6MDAgQU0pJyIpOworICAgIG91dHB1dCArPSBgJHtpbnB1dHRpbWUuc3Ry
aW5nVmFsdWV9XG5gOworCisgICAgaW5wdXR0aW1lID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIu
YWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJpbnB1dHRpbWUyIik7CisgICAgb3V0cHV0ICs9IGV4cGVj
dCgiaW5wdXR0aW1lLnRpdGxlIiwgIidBWFRpdGxlOiAnIik7CisgICAgb3V0cHV0ICs9IGAke2lu
cHV0dGltZS5zdHJpbmdWYWx1ZX1cbmA7CisKKyAgICBkZWJ1ZyhvdXRwdXQpOworfQorPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2lvcy1zaW11bGF0b3IvaW5wdXQtdHlwZS10aW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9pbnB1dC10eXBlLXRpbWUtZXhwZWN0ZWQu
dHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNDkzYTNmMzkzMGUuLjAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvaW5wdXQt
dHlwZS10aW1lLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLQot
VGhpcyB0ZXN0cyB0aGF0IGlucHV0IHR5cGU6IHRpbWUgaXMgYWNjZXNzaWJsZSBvbiBpT1MuCi0K
LU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIHRpbWVpbnB1dC5kZXNjcmlwdGlv
biBpcyAnQVhMYWJlbDogKEJldHdlZW46IDA3OjAwIEFNLTA5OjAwIEFNKScKLVBBU1MgdGltZWlu
cHV0LmlzSWdub3JlZCBpcyBmYWxzZQotUEFTUyB0aW1laW5wdXQuc3RyaW5nVmFsdWUgaXMgJ0FY
VmFsdWU6IDg6MDDigK9BTScKLVBBU1MgdGltZWlucHV0Mi5kZXNjcmlwdGlvbiBpcyAnQVhMYWJl
bDogJwotUEFTUyB0aW1laW5wdXQyLnN0cmluZ1ZhbHVlIGlzICdBWFZhbHVlOiA4OjAw4oCvQU0n
Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2lucHV0LXR5
cGUtdGltZS5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2lu
cHV0LXR5cGUtdGltZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZTllNzgy
ZTcwYjQuLjAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1z
aW11bGF0b3IvaW5wdXQtdHlwZS10aW1lLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCww
IEBACi08IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Ci08aHRt
bD4KLTxoZWFkPgotPG1ldGEgY2hhcnNldD11dGYtOD4KLTxzY3JpcHQ+Ci12YXIgc3VjY2Vzc2Z1
bGx5UGFyc2VkID0gZmFsc2U7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgaWQ9ImJvZHkiPgot
Ci08aW5wdXQgaWQ9InRpbWVpbnB1dCIgdHlwZT0idGltZSIgYXJpYS1sYWJlbD0iKEJldHdlZW46
IDA3OjAwIEFNLTA5OjAwIEFNKSIgbWluPSIwNzowMCIgbWF4PSIwOTowMCIgc3RlcD0iMzAwIiBw
bGFjZWhvbGRlcj0iMDA6MDAgQU0iIHZhbHVlPSIwODowMCI+Ci08aW5wdXQgaWQ9InRpbWVpbnB1
dDIiIHR5cGU9InRpbWUiIG1pbj0iMDc6MDAiIG1heD0iMDk6MDAiIHN0ZXA9IjMwMCIgdmFsdWU9
IjA4OjAwIj4KLQotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KLQotPHNjcmlwdD4KLQotICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgaW5w
dXQgdHlwZTogdGltZSBpcyBhY2Nlc3NpYmxlIG9uIGlPUy4iKTsKLQotICAgIGlmICh3aW5kb3cu
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKLQotICAgICAgICB2YXIgdGltZWlucHV0ID0gYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJ0aW1laW5wdXQiKTsK
LSAgICAgICAgdmFyIHRpbWVpbnB1dDIgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3Np
YmxlRWxlbWVudEJ5SWQoInRpbWVpbnB1dDIiKTsKLSAgICAgICAgc2hvdWxkQmUoInRpbWVpbnB1
dC5kZXNjcmlwdGlvbiIsICInQVhMYWJlbDogKEJldHdlZW46IDA3OjAwIEFNLTA5OjAwIEFNKSci
KTsKLSAgICAgICAgc2hvdWxkQmVGYWxzZSgidGltZWlucHV0LmlzSWdub3JlZCIpOwotICAgICAg
ICAKLSAgICAgICAgLy8gVGVzdCB2YWx1ZSBpcyBleHBvc2VkIGluIEFYVmFsdWUuCi0gICAgICAg
IHNob3VsZEJlKCJ0aW1laW5wdXQuc3RyaW5nVmFsdWUiLCAiJ0FYVmFsdWU6IDg6MDDigK9BTSci
KTsKLSAgICAgICAgc2hvdWxkQmUoInRpbWVpbnB1dDIuZGVzY3JpcHRpb24iLCAiJ0FYTGFiZWw6
ICciKTsKLSAgICAgICAgc2hvdWxkQmUoInRpbWVpbnB1dDIuc3RyaW5nVmFsdWUiLCAiJ0FYVmFs
dWU6IDg6MDDigK9BTSciKTsKLSAgICB9Ci0KLSAgICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVl
OwotPC9zY3JpcHQ+Ci0KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9jaGFuZ2luZy1hcmlhLWhpZGRl
bi13aXRoLWRpc3BsYXktbm9uZS1wYXJlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2NoYW5naW5nLWFyaWEtaGlkZGVuLXdp
dGgtZGlzcGxheS1ub25lLXBhcmVudC1leHBlY3RlZC50eHQKaW5kZXggYzZkN2I1Y2FkMmNiLi4z
ZTFmNzhiNzI3YjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0
b3IvYWNjZXNzaWJpbGl0eS9jaGFuZ2luZy1hcmlhLWhpZGRlbi13aXRoLWRpc3BsYXktbm9uZS1w
YXJlbnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0
b3IvYWNjZXNzaWJpbGl0eS9jaGFuZ2luZy1hcmlhLWhpZGRlbi13aXRoLWRpc3BsYXktbm9uZS1w
YXJlbnQtZXhwZWN0ZWQudHh0CkBAIC0xLDIyICsxLDIyIEBACiBUaGlzIHRlc3QgZW5zdXJlcyB0
aGF0IHdlIGRvbid0IGNyYXNoIHdoZW4gcmVtb3ZpbmcgYW4gb2JqZWN0IGZyb20gdGhlIEFYIHRy
ZWUgd2hvc2UgY2hpbGQgcmVjZW50bHkgY2hhbmdlZCBhcmlhLWhpZGRlbiBzdGF0dXMuCiAKLUFw
cGxpY2F0aW9uR3JvdXAgIEFYTGFiZWw6Ci0gIExpc3QgIEFYTGFiZWw6Ci0gICAgTGlzdEl0ZW0g
IEFYTGFiZWw6Ci0gICAgICBMaXN0TWFya2VyICBBWExhYmVsOiDigKIKLSAgICAgIFN0YXRpY1Rl
eHQgIEFYTGFiZWw6IE9uZQotICAgIExpc3RJdGVtICBBWExhYmVsOgotICAgICAgTGlzdE1hcmtl
ciAgQVhMYWJlbDog4oCiCi0gICAgICBTdGF0aWNUZXh0ICBBWExhYmVsOiBUd28KLSAgICBMaXN0
SXRlbSAgQVhMYWJlbDoKLSAgICAgIExpc3RNYXJrZXIgIEFYTGFiZWw6IOKAogotICAgICAgU3Rh
dGljVGV4dCAgQVhMYWJlbDogVGhyZWUKK0FwcGxpY2F0aW9uR3JvdXAgQVhUaXRsZTogIEFYTGFi
ZWw6CisgIExpc3QgQVhUaXRsZTogIEFYTGFiZWw6CisgICAgTGlzdEl0ZW0gQVhUaXRsZTogIEFY
TGFiZWw6CisgICAgICBMaXN0TWFya2VyIEFYVGl0bGU6IOKAoiBBWExhYmVsOiDigKIKKyAgICAg
IFN0YXRpY1RleHQgQVhUaXRsZTogT25lIEFYTGFiZWw6IE9uZQorICAgIExpc3RJdGVtIEFYVGl0
bGU6ICBBWExhYmVsOgorICAgICAgTGlzdE1hcmtlciBBWFRpdGxlOiDigKIgQVhMYWJlbDog4oCi
CisgICAgICBTdGF0aWNUZXh0IEFYVGl0bGU6IFR3byBBWExhYmVsOiBUd28KKyAgICBMaXN0SXRl
bSBBWFRpdGxlOiAgQVhMYWJlbDoKKyAgICAgIExpc3RNYXJrZXIgQVhUaXRsZTog4oCiIEFYTGFi
ZWw6IOKAogorICAgICAgU3RhdGljVGV4dCBBWFRpdGxlOiBUaHJlZSBBWExhYmVsOiBUaHJlZQog
CiBNYWtpbmcgI2xpMSBhcmlhLWhpZGRlbiBhbmQgI3VsIGRpc3BsYXk6bm9uZS4KIAogUmUtZHVt
cGluZyBBWCB0cmVlLgogCi1BcHBsaWNhdGlvbkdyb3VwICBBWExhYmVsOgorQXBwbGljYXRpb25H
cm91cCBBWFRpdGxlOiAgQVhMYWJlbDoKIAogUEFTUzogVGhlcmUgd2FzIG5vIGNyYXNoLgogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDVmN2RhNWE5NmQ1
Mi4uNmJjYzA2OGZmMDI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVz
dEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0
aW9ucwpAQCAtMjIyMCw2ICsyMjIwLDcgQEAgYWNjZXNzaWJpbGl0eS9oZWFkaW5nLWxldmVsLmh0
bWwgWyBQYXNzIF0KIGFjY2Vzc2liaWxpdHkvaHRtbDUtcmVxdWlyZWQtYXR0cmlidXRlLmh0bWwg
WyBQYXNzIF0KIGFjY2Vzc2liaWxpdHkvaWZyYW1lLXdpdGgtcm9sZS5odG1sIFsgUGFzcyBdCiBh
Y2Nlc3NpYmlsaXR5L2lucHV0LXR5cGUtaGlkZGVuLWluLWFyaWEtaGlkZGVuLWZhbHNlLmh0bWwg
WyBQYXNzIF0KK2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12YWx1ZS5odG1sIFsgUGFz
cyBdCiBhY2Nlc3NpYmlsaXR5L2ludmFsaWQtaW5wdXRzLmh0bWwgWyBQYXNzIF0KIGFjY2Vzc2li
aWxpdHkvaW5zZXJ0LXRleHQtaW50by1wYXNzd29yZC1maWVsZC5odG1sIFsgUGFzcyBdCiBhY2Nl
c3NpYmlsaXR5L2xpc3Qtd2l0aC1keW5hbWljYWxseS1jaGFuZ2luZy1jb250ZW50Lmh0bWwgWyBQ
YXNzIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9hY2Nlc3NpYmlsaXR5
L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zL2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12YWx1ZS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi45YWQxYjJiZjc1YTMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvYWNjZXNzaWJpbGl0eS9p
bnB1dC10aW1lLWxhYmVsLXZhbHVlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitUaGlz
IHRlc3RzIGlucHV0IHR5cGU9dGltZSBsYWJlbCBhbmQgdmFsdWUgcHJvcGVydGllcy4KKworUEFT
UzogaW5wdXR0aW1lLnRpdGxlID09PSAnQVhUaXRsZTogKEJldHdlZW46IDA3OjAwIEFNLTA5OjAw
IEFNKScKK0FYVmFsdWU6IDg6MDDigK9BTQorUEFTUzogaW5wdXR0aW1lLnRpdGxlID09PSAnQVhU
aXRsZTogJworQVhWYWx1ZTogNzozMOKAr0FNCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>469658</attachid>
            <date>2024-02-01 09:21:45 -0800</date>
            <delta_ts>2024-02-01 16:35:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-268523-20240201122144.patch</filename>
            <type>text/plain</type>
            <size>42177</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">RnJvbSBmNzQwZjNiYzQyZGYyYzE1MzY2Nzg0MzgyYmVkNzhkNTExNTc3ZGVkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXMgR29uemFsZXogPGFuZHJlc2dfMjJAYXBwbGUuY29t
PgpEYXRlOiBXZWQsIDI0IEphbiAyMDI0IDEzOjM0OjI3IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0g
QVg6IFRoZSB2YWx1ZSBvZiBkYXRlIHRpbWUgZmllbGRzIGlzIG5vdCByZWFkIGJ5IFZvaWNlT3Zl
cgogd2hlbiB0aGUgVk8gY3Vyc29yIGxhbmRzIG9uIHRoZW0uCiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY4NTIzIDxyZGFyOi8vcHJvYmxlbS8xMjIwNTkwMjQ+CgpS
ZXZpZXdlZCBieSBUeWxlciBXaWxjb2NrLgoKVGhpcyBwYXRjaCBmaXhlcyB0aGUgcHJvYmxlbSBi
eSBwcm92aWRpbmcgYSBwcm9wZXIgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBzdHJpbmdWYWx1ZSgp
IG1ldGhvZCBpbiB0aGUgY2FzZSBvZiBhIGRhdGUgdGltZSBmaWVsZC4gU29tZSBpT1Mtc3BlY2lm
aWMgY29kZSB0byBoYW5kbGUgZGF0ZSB0aW1lIGZpZWxkcyB3YXMgcmUtd29ya2VkIGFuZCBwcm9t
b3RlZCB0byBjb3JlIGNvZGUgdG8gbWFrZSB0aGlzIGZpeCBwb3NzaWJsZSBpbiBhbGwgcGxhdGZv
cm1zLiBUaGUgcGF0Y2ggaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBjaGFuZ2VzOgotIEFkZGVkIGEg
RGF0ZVRpbWUgcm9sZSB0byBkZXNjcmliZSB0aGlzIGZhbWlseSBvZiBlbGVtZW50cy4KLSBNYXAg
dGhpcyByb2xlIHRvIGl0cyBhcHByb3ByaWF0ZSBwbGF0Zm9ybSBwcm9wZXJ0aWVzLgotIEZpeCBp
biBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpzdHJpbmdWYWx1ZSgpLgotIENvZGUgY2xlYW51
cC4KCiogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kYXRlLWlucHV0LWFyaWEtbGFiZWwtYW5k
LXZhbHVlLWV4cGVjdGVkLnR4dDoKKiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2RhdGUtaW5w
dXQtYXJpYS1sYWJlbC1hbmQtdmFsdWUuaHRtbDoKUmUtd3JvdGUgdGhpcyB0ZXN0IGFjY29yZGlu
ZyB0byBvdXIgY3VycmVudCBzdGFuZGFyZHMsIGFuZCBzaW1wbGlmaWVkIGFuZCBtYWRlIGNsZWFy
IHRoZSBjb2RlLgoKKiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwt
dmFsdWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lu
cHV0LXRpbWUtbGFiZWwtdmFsdWUuaHRtbDogQWRkZWQuClByb21vdGVkIHRoaXMgdGVzdCBmcm9t
IGlvcy1zaW11bGF0b3IgdG8gYWxsIHBsYXRmb3Jtcy4gQWxzbyBtb2Rlcm5pemVkIGFuZCBjbGVh
bmVkIHVwIHRoZSBjb2RlLgoKKiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0
b3IvaW5wdXQtdHlwZS10aW1lLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKiBMYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvaW5wdXQtdHlwZS10aW1lLmh0bWw6IFJlbW92ZWQu
CkJlY2FtZSBpbnB1dC10aW1lLWxhYmVsLXZhbHVlLmh0bWwgYWJvdmUuCgoqIExheW91dFRlc3Rz
L3BsYXRmb3JtL2dsaWIvYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVsLXZhbHVlLWV4cGVj
dGVkLnR4dDogQWRkZWQuCiogTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9hY2Nl
c3NpYmlsaXR5L2NoYW5naW5nLWFyaWEtaGlkZGVuLXdpdGgtZGlzcGxheS1ub25lLXBhcmVudC1l
eHBlY3RlZC50eHQ6ClJlYmFzZWQgYmVjYXVzZSBub3cgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
dGl0bGUgcmV0dXJucyBzb21ldGhpbmcgb24gaU9TLCBiZWZvcmUgcmV0dXJuZWQgbnVsbC4KCiog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnM6CiogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zL2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12YWx1ZS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhDb3JlT2JqZWN0
Lmg6CihXZWJDb3JlOjphY2Nlc3NpYmlsaXR5Um9sZVRvU3RyaW5nKToKKFdlYkNvcmU6OkFYQ29y
ZU9iamVjdDo6aXNEYXRlVGltZSBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BWE9iamVjdENhY2hlLmNwcDoKKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmNyZWF0ZSk6Ciog
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHA6
CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6ZGV0ZXJtaW5lQWNjZXNzaWJpbGl0
eVJvbGVGcm9tTm9kZSBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5T2JqZWN0LmNwcDoKKFdlYkNvcmU6OmluaXRpYWxpemVSb2xlTWFwKToKKiBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKiBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgooV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6c3RyaW5nVmFsdWUgY29uc3QpOgooV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6YWRkVGV4dEZpZWxkQ2hpbGRyZW4pOgoq
IFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaDoK
KiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RB
dHNwaS5jcHA6CihXZWJDb3JlOjphdHNwaVJvbGUpOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvaW9zL0FjY2Vzc2liaWxpdHlPYmplY3RJT1MubW06CihXZWJDb3JlOjpBY2Nlc3NpYmls
aXR5T2JqZWN0Ojppc0lucHV0VHlwZVBvcHVwQnV0dG9uIGNvbnN0KTogRGVsZXRlZC4KKiBTb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
cklPUy5tbToKKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgZGV0ZXJtaW5lSXNBY2Nl
c3NpYmlsaXR5RWxlbWVudF0pOgooLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBzdHJp
bmdWYWx1ZVNob3VsZEJlVXNlZEluTGFiZWxdKToKKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXIgYWNjZXNzaWJpbGl0eUxhYmVsXSk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdE1hYy5tbToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHk6
OmNyZWF0ZVBsYXRmb3JtUm9sZU1hcCk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9t
YWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW06CigtW1dlYkFjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpdKToKKiBUb29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
SU9TLm1tOgooV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0aXRsZSk6Ci0tLQogU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWENvcmVPYmplY3QuaCAgIHwgICA1ICstCiAuLi4vV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwICAgfCAgIDUgKy0KIC4uLi9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcCB8ICAgNyArLQogLi4uL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgICAgIHwgICAxICsKIC4uLi9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaCAgICAgICB8ICAgMSAtCiAuLi4vQWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdC5jcHAgICAgICAgICAgICAgfCAgMTQgKystCiAuLi4vYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5oICAgfCAgMjIgKystLQogLi4uL2F0c3BpL0Fj
Y2Vzc2liaWxpdHlPYmplY3RBdHNwaS5jcHAgICAgICAgIHwgICAyICsKIC4uLi9pb3MvQWNjZXNz
aWJpbGl0eU9iamVjdElPUy5tbSAgICAgICAgICAgICB8ICAgNyAtLQogLi4uL2lvcy9XZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlcklPUy5tbSAgIHwgIDU5ICsrKystLS0tLS0KIC4uLi9tYWMv
QWNjZXNzaWJpbGl0eU9iamVjdE1hYy5tbSAgICAgICAgICAgICB8ICAgMSArCiAuLi4vbWFjL1dl
YkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tICAgfCAgIDcgKy0KIC4uLi9pb3MvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbSAgICAgICAgICB8ICAgMiArLQogLi4udGUtaW5wdXQt
YXJpYS1sYWJlbC1hbmQtdmFsdWUtZXhwZWN0ZWQudHh0IHwgIDcxICsrKysrKy0tLS0tLQogLi4u
L2RhdGUtaW5wdXQtYXJpYS1sYWJlbC1hbmQtdmFsdWUuaHRtbCAgICAgIHwgMTA1ICsrKysrKysr
LS0tLS0tLS0tLQogLi4uL2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0ICAgICAg
IHwgIDExICsrCiAuLi4vYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVsLXZhbHVlLmh0bWwg
fCAgMjggKysrKysKIC4uLi9pbnB1dC10eXBlLXRpbWUtZXhwZWN0ZWQudHh0ICAgICAgICAgICAg
ICB8ICAxNSAtLS0KIC4uLi9pb3Mtc2ltdWxhdG9yL2lucHV0LXR5cGUtdGltZS5odG1sICAgICAg
ICB8ICA0MCAtLS0tLS0tCiAuLi4vaW5wdXQtdGltZS1sYWJlbC12YWx1ZS1leHBlY3RlZC50eHQg
ICAgICAgfCAgMTEgKysKIC4uLmRkZW4td2l0aC1kaXNwbGF5LW5vbmUtcGFyZW50LWV4cGVjdGVk
LnR4dCB8ICAyNCArKy0tCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9u
cyAgICAgfCAgIDEgKwogLi4uL2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0ICAg
ICAgIHwgIDExICsrCiAyMyBmaWxlcyBjaGFuZ2VkLCAyMTAgaW5zZXJ0aW9ucygrKSwgMjQwIGRl
bGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
aW5wdXQtdGltZS1sYWJlbC12YWx1ZS1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBM
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUuaHRtbAogZGVs
ZXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9p
bnB1dC10eXBlLXRpbWUtZXhwZWN0ZWQudHh0CiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2lucHV0LXR5cGUtdGltZS5odG1sCiBjcmVh
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9hY2Nlc3NpYmlsaXR5L2lu
cHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12YWx1
ZS1leHBlY3RlZC50eHQKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYQ29yZU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWENvcmVPYmpl
Y3QuaAppbmRleCBjOTVjNjRmY2IyYTYuLmMzNjRlNjZjODM3ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWENvcmVPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FYQ29yZU9iamVjdC5oCkBAIC0xMzYsNiArMTM2LDcgQEAgZW51bSBj
bGFzcyBBY2Nlc3NpYmlsaXR5Um9sZSB7CiAgICAgQ29sdW1uLAogICAgIENvbHVtbkhlYWRlciwK
ICAgICBDb21ib0JveCwKKyAgICBEYXRlVGltZSwKICAgICBEZWZpbml0aW9uLAogICAgIERlbGV0
aW9uLAogICAgIERlc2NyaXB0aW9uTGlzdCwKQEAgLTMwMyw2ICszMDQsOCBAQCBBTFdBWVNfSU5M
SU5FIFN0cmluZyBhY2Nlc3NpYmlsaXR5Um9sZVRvU3RyaW5nKEFjY2Vzc2liaWxpdHlSb2xlIHJv
bGUpCiAgICAgICAgIHJldHVybiAiQ29sdW1uSGVhZGVyIl9zOwogICAgIGNhc2UgQWNjZXNzaWJp
bGl0eVJvbGU6OkNvbWJvQm94OgogICAgICAgICByZXR1cm4gIkNvbWJvQm94Il9zOworICAgIGNh
c2UgQWNjZXNzaWJpbGl0eVJvbGU6OkRhdGVUaW1lOgorICAgICAgICByZXR1cm4gIkRhdGVUaW1l
Il9zOwogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OkRlZmluaXRpb246CiAgICAgICAgIHJl
dHVybiAiRGVmaW5pdGlvbiJfczsKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpEZWxldGlv
bjoKQEAgLTkwOCw2ICs5MTEsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1RhYkl0ZW0oKSBjb25z
dCB7IHJldHVybiByb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6VGFiOyB9CiAgICAg
Ym9vbCBpc1JhZGlvR3JvdXAoKSBjb25zdCB7IHJldHVybiByb2xlVmFsdWUoKSA9PSBBY2Nlc3Np
YmlsaXR5Um9sZTo6UmFkaW9Hcm91cDsgfQogICAgIGJvb2wgaXNDb21ib0JveCgpIGNvbnN0IHsg
cmV0dXJuIHJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpDb21ib0JveDsgfQorICAg
IGJvb2wgaXNEYXRlVGltZSgpIGNvbnN0IHsgcmV0dXJuIHJvbGVWYWx1ZSgpID09IEFjY2Vzc2li
aWxpdHlSb2xlOjpEYXRlVGltZTsgfQogICAgIGJvb2wgaXNUcmVlKCkgY29uc3QgeyByZXR1cm4g
cm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OlRyZWU7IH0KICAgICBib29sIGlzVHJl
ZUdyaWQoKSBjb25zdCB7IHJldHVybiByb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6
VHJlZUdyaWQ7IH0KICAgICBib29sIGlzVHJlZUl0ZW0oKSBjb25zdCB7IHJldHVybiByb2xlVmFs
dWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6VHJlZUl0ZW07IH0KQEAgLTEzNjgsNyArMTM3Miw2
IEBAIHB1YmxpYzoKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHZpcnR1YWwgaW50IGFj
Y2Vzc2liaWxpdHlTZWN1cmVGaWVsZExlbmd0aCgpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaGFz
VG91Y2hFdmVudExpc3RlbmVyKCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgYm9vbCBpc0lucHV0
VHlwZVBvcHVwQnV0dG9uKCkgY29uc3QgPSAwOwogI2VuZGlmCiAKICAgICAvLyBhbGxvd3MgZm9y
IGFuIEFjY2Vzc2liaWxpdHlPYmplY3QgdG8gdXBkYXRlIGl0cyByZW5kZXIgdHJlZSBvciBwZXJm
b3JtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2Fj
aGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApp
bmRleCA3OGEzMzBkYTRjNWMuLjAxZmRhNGNmMTI3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCkBAIC0xMDI5LDExICsxMDI5LDEwIEBAIEFj
Y2Vzc2liaWxpdHlPYmplY3QqIEFYT2JqZWN0Q2FjaGU6OnJvb3RPYmplY3RGb3JGcmFtZShMb2Nh
bEZyYW1lKiBmcmFtZSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgcmV0dXJuIGdldE9y
Q3JlYXRlKGZyYW1lLT52aWV3KCkpOwogfSAgICAKLSAgICAKKwogQWNjZXNzaWJpbGl0eU9iamVj
dCogQVhPYmplY3RDYWNoZTo6Y3JlYXRlKEFjY2Vzc2liaWxpdHlSb2xlIHJvbGUpCiB7CiAgICAg
UmVmUHRyPEFjY2Vzc2liaWxpdHlPYmplY3Q+IG9iajsKLQogICAgIC8vIHdpbGwgYmUgZmlsbGVk
IGluLi4uCiAgICAgc3dpdGNoIChyb2xlKSB7CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6
SW1hZ2VNYXBMaW5rOgpAQCAtMTA1OCw3ICsxMDU3LDcgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCog
QVhPYmplY3RDYWNoZTo6Y3JlYXRlKEFjY2Vzc2liaWxpdHlSb2xlIHJvbGUpCiAgICAgICAgIG9i
aiA9IEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uUGFydDo6Y3JlYXRlKCk7CiAgICAgICAgIGJyZWFr
OwogICAgIGRlZmF1bHQ6Ci0gICAgICAgIG9iaiA9IG51bGxwdHI7CisgICAgICAgIGJyZWFrOwog
ICAgIH0KIAogICAgIGlmICghb2JqKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcAppbmRleCA2YzY2NTc2NWNhMmIu
LjViNTE4MTAxN2Q1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKQEAgLTM0MCwxMSArMzQwLDggQEAgQWNj
ZXNzaWJpbGl0eVJvbGUgQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Q6OmRldGVybWluZUFjY2Vzc2li
aWxpdHlSb2xlRnJvbU5vZGUoVHIKICAgICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5Um9s
ZTo6UmFkaW9CdXR0b247CiAgICAgICAgIGlmIChpbnB1dC0+aXNUZXh0QnV0dG9uKCkpCiAgICAg
ICAgICAgICByZXR1cm4gYnV0dG9uUm9sZVR5cGUoKTsKLSAgICAgICAgLy8gT24gaU9TLCB0aGUg
ZGF0ZSBmaWVsZCBhbmQgdGltZSBmaWVsZCBhcmUgcG9wdXAgYnV0dG9ucy4gT24gb3RoZXIgcGxh
dGZvcm1zIHRoZXkgYXJlIHRleHQgZmllbGRzLgotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0g
ICAgICAgIGlmIChpbnB1dC0+aXNEYXRlRmllbGQoKSB8fCBpbnB1dC0+aXNUaW1lRmllbGQoKSkK
LSAgICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5Um9sZTo6UG9wVXBCdXR0b247Ci0jZW5k
aWYKKyAgICAgICAgaWYgKGlucHV0LT5pc0RhdGVGaWVsZCgpIHx8IGlucHV0LT5pc0RhdGVUaW1l
TG9jYWxGaWVsZCgpIHx8IGlucHV0LT5pc01vbnRoRmllbGQoKSB8fCBpbnB1dC0+aXNUaW1lRmll
bGQoKSB8fCBpbnB1dC0+aXNXZWVrRmllbGQoKSkKKyAgICAgICAgICAgIHJldHVybiBBY2Nlc3Np
YmlsaXR5Um9sZTo6RGF0ZVRpbWU7CiAjaWYgRU5BQkxFKElOUFVUX1RZUEVfQ09MT1IpCiAgICAg
ICAgIGlmIChpbnB1dC0+aXNDb2xvckNvbnRyb2woKSkKICAgICAgICAgICAgIHJldHVybiBBY2Nl
c3NpYmlsaXR5Um9sZTo6Q29sb3JXZWxsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKaW5kZXggNDYwYWEzNzE0N2Q2Li44Mzdh
MjYwZTk3YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5T2JqZWN0LmNwcApAQCAtMjczOCw2ICsyNzM4LDcgQEAgc3RhdGljIHZvaWQgaW5p
dGlhbGl6ZVJvbGVNYXAoKQogICAgIC8vIENyZWF0ZSBzcGVjaWZpYyBzeW5vbnltcyBmb3IgdGhl
IGNvbXB1dGVkUm9sZSB3aGljaCBpcyB1c2VkIGluIFdQVCB0ZXN0cyBhbmQgdGhlIGFjY2Vzc2li
aWxpdHkgaW5zcGVjdG9yLgogICAgIGdBcmlhUmV2ZXJzZVJvbGVNYXAtPnNldChlbnVtVG9VbmRl
cmx5aW5nVHlwZShBY2Nlc3NpYmlsaXR5Um9sZTo6SW1hZ2UpLCAiaW1hZ2UiX3MpOwogICAgIGdB
cmlhUmV2ZXJzZVJvbGVNYXAtPnNldChlbnVtVG9VbmRlcmx5aW5nVHlwZShBY2Nlc3NpYmlsaXR5
Um9sZTo6VGV4dEFyZWEpLCAidGV4dGJveCJfcyk7CisgICAgZ0FyaWFSZXZlcnNlUm9sZU1hcC0+
c2V0KGVudW1Ub1VuZGVybHlpbmdUeXBlKEFjY2Vzc2liaWxpdHlSb2xlOjpEYXRlVGltZSksICJ0
ZXh0Ym94Il9zKTsKICAgICBnQXJpYVJldmVyc2VSb2xlTWFwLT5zZXQoZW51bVRvVW5kZXJseWlu
Z1R5cGUoQWNjZXNzaWJpbGl0eVJvbGU6OlByZXNlbnRhdGlvbmFsKSwgIm5vbmUiX3MpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5oCmluZGV4IDYyMjIwZWVkODU0Mi4uNWQ3OWZkY2ViYTY2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaApAQCAtNzEyLDcgKzcx
Miw2IEBAIHB1YmxpYzoKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGludCBhY2Nlc3Np
YmlsaXR5U2VjdXJlRmllbGRMZW5ndGgoKSBvdmVycmlkZTsKICAgICBib29sIGhhc1RvdWNoRXZl
bnRMaXN0ZW5lcigpIGNvbnN0IG92ZXJyaWRlOwotICAgIGJvb2wgaXNJbnB1dFR5cGVQb3B1cEJ1
dHRvbigpIGNvbnN0IG92ZXJyaWRlOwogI2VuZGlmCiAKICAgICAvLyBhbGxvd3MgZm9yIGFuIEFj
Y2Vzc2liaWxpdHlPYmplY3QgdG8gdXBkYXRlIGl0cyByZW5kZXIgdHJlZSBvciBwZXJmb3JtCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
UmVuZGVyT2JqZWN0LmNwcAppbmRleCAwYzI3MmE0OTU0YzcuLjhkNDM2MmI3ODg2YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2Jq
ZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuY3BwCkBAIC03ODgsMTAgKzc4OCwxNCBAQCBTdHJpbmcgQWNjZXNzaWJpbGl0
eVJlbmRlck9iamVjdDo6c3RyaW5nVmFsdWUoKSBjb25zdAogICAgIGlmIChpc1dlYkFyZWEoKSkK
ICAgICAgICAgcmV0dXJuIHsgfTsKIAotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgaWYg
KGlzSW5wdXRUeXBlUG9wdXBCdXR0b24oKSkKLSAgICAgICAgcmV0dXJuIHRleHRVbmRlckVsZW1l
bnQoKTsKLSNlbmRpZgorICAgIGlmIChpc0RhdGVUaW1lKCkpIHsKKyAgICAgICAgU3RyaW5nIHZh
bHVlOworICAgICAgICBBY2Nlc3NpYmlsaXR5OjplbnVtZXJhdGVEZXNjZW5kYW50cygqY29uc3Rf
Y2FzdDxBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0Kj4odGhpcyksIGZhbHNlLCBbJnZhbHVlXSAo
Y29uc3QgYXV0byYgb2JqZWN0KSB7CisgICAgICAgICAgICBpZiAob2JqZWN0LmlzU3RhdGljVGV4
dCgpKQorICAgICAgICAgICAgICAgIHZhbHVlID0gdmFsdWUgKyBvYmplY3Quc3RyaW5nVmFsdWUo
KTsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybiB2YWx1ZTsKKyAgICB9CiAKICAgICBpZiAo
YXV0byogcmVuZGVyRmlsZVVwbG9hZENvbnRyb2wgPSBkeW5hbWljRG93bmNhc3Q8UmVuZGVyRmls
ZVVwbG9hZENvbnRyb2w+KG1fcmVuZGVyZXIuZ2V0KCkpKQogICAgICAgICByZXR1cm4gcmVuZGVy
RmlsZVVwbG9hZENvbnRyb2wtPmZpbGVUZXh0VmFsdWUoKTsKQEAgLTIyOTIsNyArMjI5Niw3IEBA
IHZvaWQgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6YWRkVGV4dEZpZWxkQ2hpbGRyZW4oKQog
ICAgIFJlZlB0ciBub2RlID0gZHluYW1pY0Rvd25jYXN0PEhUTUxJbnB1dEVsZW1lbnQ+KHRoaXMt
Pm5vZGUoKSk7CiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBh
dXRvKiBzcGluQnV0dG9uRWxlbWVudCA9IGR5bmFtaWNEb3duY2FzdDxTcGluQnV0dG9uRWxlbWVu
dD4obm9kZS0+aW5uZXJTcGluQnV0dG9uRWxlbWVudCgpKTsKICAgICBpZiAoIXNwaW5CdXR0b25F
bGVtZW50KQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmgKaW5kZXggZTFjZDQyZDhmMzU1Li43
NjJjNmZlZWRlYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVNwaW5CdXR0b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmgKQEAgLTI5LDE5ICsyOSwxOSBAQAogI2luY2x1ZGUg
IlNwaW5CdXR0b25FbGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICAKKwogY2xh
c3MgQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24gZmluYWwgOiBwdWJsaWMgQWNjZXNzaWJpbGl0eU1v
Y2tPYmplY3QgewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8QWNjZXNzaWJpbGl0eVNwaW5CdXR0
b24+IGNyZWF0ZSgpOwogICAgIHZpcnR1YWwgfkFjY2Vzc2liaWxpdHlTcGluQnV0dG9uKCk7Ci0g
ICAgCisKICAgICB2b2lkIHNldFNwaW5CdXR0b25FbGVtZW50KFNwaW5CdXR0b25FbGVtZW50KiBz
cGluQnV0dG9uKSB7IG1fc3BpbkJ1dHRvbkVsZW1lbnQgPSBzcGluQnV0dG9uOyB9Ci0gICAgCisK
ICAgICBBWENvcmVPYmplY3QqIGluY3JlbWVudEJ1dHRvbigpIG92ZXJyaWRlOwogICAgIEFYQ29y
ZU9iamVjdCogZGVjcmVtZW50QnV0dG9uKCkgb3ZlcnJpZGU7CiAKICAgICB2b2lkIHN0ZXAoaW50
IGFtb3VudCk7Ci0gICAgCisKIHByaXZhdGU6CiAgICAgQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24o
KTsKIApAQCAtNDksMjkgKzQ5LDI5IEBAIHByaXZhdGU6CiAgICAgYm9vbCBpc05hdGl2ZVNwaW5C
dXR0b24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgdm9pZCBhZGRDaGls
ZHJlbigpIG92ZXJyaWRlOwogICAgIExheW91dFJlY3QgZWxlbWVudFJlY3QoKSBjb25zdCBvdmVy
cmlkZTsKLSAgICAKKwogICAgIFdlYWtQdHI8U3BpbkJ1dHRvbkVsZW1lbnQsIFdlYWtQdHJJbXBs
V2l0aEV2ZW50VGFyZ2V0RGF0YT4gbV9zcGluQnV0dG9uRWxlbWVudDsKIH07IAotICAgCisKIGNs
YXNzIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uUGFydCBmaW5hbCA6IHB1YmxpYyBBY2Nlc3NpYmls
aXR5TW9ja09iamVjdCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxBY2Nlc3NpYmlsaXR5U3Bp
bkJ1dHRvblBhcnQ+IGNyZWF0ZSgpOwogICAgIHZpcnR1YWwgfkFjY2Vzc2liaWxpdHlTcGluQnV0
dG9uUGFydCgpID0gZGVmYXVsdDsKLSAgICAKKwogICAgIGJvb2wgaXNJbmNyZW1lbnRvcigpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1faXNJbmNyZW1lbnRvcjsgfQogICAgIHZvaWQgc2V0SXNJ
bmNyZW1lbnRvcihib29sIHZhbHVlKSB7IG1faXNJbmNyZW1lbnRvciA9IHZhbHVlOyB9Ci0gICAg
CisKIHByaXZhdGU6CiAgICAgQWNjZXNzaWJpbGl0eVNwaW5CdXR0b25QYXJ0KCk7Ci0gICAgCisK
ICAgICBib29sIHByZXNzKCkgb3ZlcnJpZGU7CiAgICAgQWNjZXNzaWJpbGl0eVJvbGUgZGV0ZXJt
aW5lQWNjZXNzaWJpbGl0eVJvbGUoKSBmaW5hbCB7IHJldHVybiBBY2Nlc3NpYmlsaXR5Um9sZTo6
U3BpbkJ1dHRvblBhcnQ7IH0KICAgICBib29sIGlzU3BpbkJ1dHRvblBhcnQoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgTGF5b3V0UmVjdCBlbGVtZW50UmVjdCgpIGNvbnN0
IG92ZXJyaWRlOwogCi0gICAgdW5zaWduZWQgbV9pc0luY3JlbWVudG9yIDogMTsKKyAgICBib29s
IG1faXNJbmNyZW1lbnRvciB7IHRydWUgfTsKIH07Ci0gICAgCisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpBY2Nlc3NpYmls
aXR5U3BpbkJ1dHRvbikgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuY3BwCmluZGV4IDUyZWNk
NTMzZDNkZi4uNWRlOTcwZjFmNzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuY3BwCkBA
IC0yOTgsNiArMjk4LDggQEAgc3RhdGljIEF0c3BpOjpSb2xlIGF0c3BpUm9sZShBY2Nlc3NpYmls
aXR5Um9sZSByb2xlKQogICAgICAgICByZXR1cm4gQXRzcGk6OlJvbGU6OkNhbnZhczsKICAgICBj
YXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpIb3Jpem9udGFsUnVsZToKICAgICAgICAgcmV0dXJuIEF0
c3BpOjpSb2xlOjpTZXBhcmF0b3I7CisgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6RGF0ZVRp
bWU6CisgICAgICAgIHJldHVybiBBdHNwaTo6Um9sZTo6RW50cnk7CiAgICAgY2FzZSBBY2Nlc3Np
YmlsaXR5Um9sZTo6U3BpbkJ1dHRvbjoKICAgICAgICAgcmV0dXJuIEF0c3BpOjpSb2xlOjpTcGlu
QnV0dG9uOwogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OlRhYjoKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL0FjY2Vzc2liaWxpdHlPYmplY3RJT1MubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9BY2Nlc3NpYmlsaXR5T2JqZWN0SU9T
Lm1tCmluZGV4IDA4ZjM2YWFjYjc3NC4uN2Y5Y2Y2ZTY1NjAzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9BY2Nlc3NpYmlsaXR5T2JqZWN0SU9TLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL0FjY2Vzc2liaWxpdHlPYmplY3RJT1Mu
bW0KQEAgLTEzNCwxMyArMTM0LDYgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpoYXNUb3Vj
aEV2ZW50TGlzdGVuZXIoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotYm9vbCBBY2Nl
c3NpYmlsaXR5T2JqZWN0Ojppc0lucHV0VHlwZVBvcHVwQnV0dG9uKCkgY29uc3QKLXsKLSAgICBp
ZiAoaXM8SFRNTElucHV0RWxlbWVudD4obm9kZSgpKSkKLSAgICAgICAgcmV0dXJuIHJvbGVWYWx1
ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpQb3BVcEJ1dHRvbjsKLSAgICByZXR1cm4gZmFsc2U7
Ci19Ci0KIHZvaWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6c2V0TGFzdFByZXNlbnRlZFRleHRQcmVk
aWN0aW9uKE5vZGUmIHByZXZpb3VzQ29tcG9zaXRpb25Ob2RlLCBDb21wb3NpdGlvblN0YXRlIHN0
YXRlLCBjb25zdCBTdHJpbmcmIHRleHQsIHNpemVfdCBsb2NhdGlvbiwgYm9vbCBoYW5kbGluZ0Fj
Y2VwdGVkQ2FuZGlkYXRlKQogewogI2lmIEhBVkUoSU5MSU5FX1BSRURJQ1RJT05TKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9XZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklPUy5tbQppbmRleCAyN2I1MmIxNDg2MGIuLmViZTYy
MmI0MDI4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9pb3MvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJJT1MubW0KQEAgLTkz
OCwxNiArOTM4LDE3IEBAIC0gKEJPT0wpaXNTVkdHcm91cEVsZW1lbnQKIAogLSAoQk9PTClkZXRl
cm1pbmVJc0FjY2Vzc2liaWxpdHlFbGVtZW50CiB7Ci0gICAgaWYgKCFzZWxmLmF4QmFja2luZ09i
amVjdCkKKyAgICBSZWZQdHI8QVhDb3JlT2JqZWN0PiBiYWNraW5nT2JqZWN0ID0gc2VsZi5heEJh
Y2tpbmdPYmplY3Q7CisgICAgaWYgKCFiYWNraW5nT2JqZWN0KQogICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgCi0gICAgLy8gSG9ub3Igd2hlbiBzb21ldGhpbmcgZXhwbGljaXRseSBtYWtlcyB0
aGlzIGFuIGVsZW1lbnQgKHN1cGVyIHdpbGwgY29udGFpbiB0aGF0IGxvZ2ljKSAKKworICAgIC8v
IEhvbm9yIHdoZW4gc29tZXRoaW5nIGV4cGxpY2l0bHkgbWFrZXMgdGhpcyBhbiBlbGVtZW50IChz
dXBlciB3aWxsIGNvbnRhaW4gdGhhdCBsb2dpYykKICAgICBpZiAoW3N1cGVyIGlzQWNjZXNzaWJp
bGl0eUVsZW1lbnRdKQogICAgICAgICByZXR1cm4gWUVTOwotICAgIAotICAgIHNlbGYuYXhCYWNr
aW5nT2JqZWN0LT51cGRhdGVCYWNraW5nU3RvcmUoKTsKLSAgICAKLSAgICBzd2l0Y2ggKHNlbGYu
YXhCYWNraW5nT2JqZWN0LT5yb2xlVmFsdWUoKSkgeworCisgICAgYmFja2luZ09iamVjdC0+dXBk
YXRlQmFja2luZ1N0b3JlKCk7CisKKyAgICBzd2l0Y2ggKGJhY2tpbmdPYmplY3QtPnJvbGVWYWx1
ZSgpKSB7CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6VGV4dEZpZWxkOgogICAgIGNhc2Ug
QWNjZXNzaWJpbGl0eVJvbGU6OlRleHRBcmVhOgogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6
OkJ1dHRvbjoKQEAgLTk2Nyw2ICs5NjgsNyBAQCAtIChCT09MKWRldGVybWluZUlzQWNjZXNzaWJp
bGl0eUVsZW1lbnQKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpNZW51SXRlbVJhZGlvOgog
ICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OkluY3JlbWVudG9yOgogICAgIGNhc2UgQWNjZXNz
aWJpbGl0eVJvbGU6OkNvbWJvQm94OgorICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OkRhdGVU
aW1lOgogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OkltYWdlTWFwOgogICAgIGNhc2UgQWNj
ZXNzaWJpbGl0eVJvbGU6Okxpc3RNYXJrZXI6CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6
TGlzdEJveE9wdGlvbjoKQEAgLTk4OCwyNiArOTkwLDE3IEBAIC0gKEJPT0wpZGV0ZXJtaW5lSXNB
Y2Nlc3NpYmlsaXR5RWxlbWVudAogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICB9Ci0gICAgICAgIAorCiAgICAgLy8gRG9uJ3QgZXhwb3NlIGhlYWRl
cnMgYXMgZWxlbWVudHM7IGluc3RlYWQgZXhwb3NlIHRoZWlyIGNoaWxkcmVuIGFzIGVsZW1lbnRz
LCB3aXRoIHRoZSBoZWFkZXIgdHJhaXQgKHVubGVzcyB0aGV5IGhhdmUgbm8gY2hpbGRyZW4pCiAg
ICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6SGVhZGluZzoKLSAgICAgICAgaWYgKCFbc2VsZiBh
Y2Nlc3NpYmlsaXR5RWxlbWVudENvdW50XSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgIAorICAgICAgICByZXR1cm4gIVtzZWxmIGFjY2Vz
c2liaWxpdHlFbGVtZW50Q291bnRdOwogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OlZpZGVv
OgogICAgICAgICByZXR1cm4gW3NlbGYgYWNjZXNzaWJpbGl0eUlzV2ViSW50ZXJhY3RpdmVWaWRl
b107Ci0gICAgICAgIAotICAgIGlmIChzZWxmLmF4QmFja2luZ09iamVjdC0+aXNOb25OYXRpdmVU
ZXh0Q29udHJvbCgpKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIC8vIExpbmtzIGNhbiBz
b21ldGltZXMgYmUgZWxlbWVudHMgKHdoZW4gdGhleSBvbmx5IGNvbnRhaW4gc3RhdGljIHRleHQg
b3IgZG9uJ3QgY29udGFpbiBhbnl0aGluZykuCi0gICAgLy8gVGhleSBzaG91bGQgbm90IGJlIGVs
ZW1lbnRzIHdoZW4gY29udGFpbmluZyB0ZXh0IGFuZCBvdGhlciB0eXBlcy4KICAgICBjYXNlIEFj
Y2Vzc2liaWxpdHlSb2xlOjpXZWJDb3JlTGluazoKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xl
OjpMaW5rOgotICAgICAgICBpZiAoW3NlbGYgY29udGFpbnNVbm5hdHVyYWxseVNlZ21lbnRlZENo
aWxkcmVuXSB8fCAhW3NlbGYgYWNjZXNzaWJpbGl0eUVsZW1lbnRDb3VudF0pCi0gICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAvLyBMaW5rcyBj
YW4gc29tZXRpbWVzIGJlIGVsZW1lbnRzICh3aGVuIHRoZXkgb25seSBjb250YWluIHN0YXRpYyB0
ZXh0IG9yIGRvbid0IGNvbnRhaW4gYW55dGhpbmcpLgorICAgICAgICAvLyBUaGV5IHNob3VsZCBu
b3QgYmUgZWxlbWVudHMgd2hlbiBjb250YWluaW5nIHRleHQgYW5kIG90aGVyIHR5cGVzLgorICAg
ICAgICByZXR1cm4gW3NlbGYgY29udGFpbnNVbm5hdHVyYWxseVNlZ21lbnRlZENoaWxkcmVuXSB8
fCAhW3NlbGYgYWNjZXNzaWJpbGl0eUVsZW1lbnRDb3VudF07CiAgICAgY2FzZSBBY2Nlc3NpYmls
aXR5Um9sZTo6R3JvdXA6CiAgICAgICAgIGlmIChbc2VsZiBpc1NWR0dyb3VwRWxlbWVudF0pCiAg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTExMTMsMTYgKzExMDYsMTYgQEAgLSAoQk9PTClk
ZXRlcm1pbmVJc0FjY2Vzc2liaWxpdHlFbGVtZW50CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9s
ZTo6V2ViQXJlYToKICAgICAgICAgLy8gQ29uc2lkZXIgZm9jdXNhYmxlIGxlYWYtbm9kZXMgd2l0
aCBhIGxhYmVsIHRvIGJlIGFjY2Vzc2libGUgZWxlbWVudHMuCiAgICAgICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM0OTIKLSAgICAgICAgcmV0dXJuIHNl
bGYuYXhCYWNraW5nT2JqZWN0LT5pc0tleWJvYXJkRm9jdXNhYmxlKCkKKyAgICAgICAgcmV0dXJu
IGJhY2tpbmdPYmplY3QtPmlzS2V5Ym9hcmRGb2N1c2FibGUoKQogICAgICAgICAgICAgJiYgW3Nl
bGYgYWNjZXNzaWJpbGl0eUVsZW1lbnRDb3VudF0gPT0gMAotICAgICAgICAgICAgJiYgc2VsZi5h
eEJhY2tpbmdPYmplY3QtPmRlc2NyaXB0aW9uQXR0cmlidXRlVmFsdWUoKS5maW5kKGRlcHJlY2F0
ZWRJc05vdFNwYWNlT3JOZXdsaW5lKSAhPSBub3RGb3VuZDsKKyAgICAgICAgICAgICYmIGJhY2tp
bmdPYmplY3QtPmRlc2NyaXB0aW9uQXR0cmlidXRlVmFsdWUoKS5maW5kKGRlcHJlY2F0ZWRJc05v
dFNwYWNlT3JOZXdsaW5lKSAhPSBub3RGb3VuZDsKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xl
OjpJZ25vcmVkOgogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OkxpbmVCcmVhazoKICAgICBj
YXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpQcmVzZW50YXRpb25hbDoKICAgICBjYXNlIEFjY2Vzc2li
aWxpdHlSb2xlOjpVbmtub3duOgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQotICAgIAor
CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQpAQCAtMTE0
MCwxNiArMTEzMywxMiBAQCAtIChCT09MKWlzQWNjZXNzaWJpbGl0eUVsZW1lbnQKIAogLSAoQk9P
TClzdHJpbmdWYWx1ZVNob3VsZEJlVXNlZEluTGFiZWwKIHsKLSAgICBpZiAoc2VsZi5heEJhY2tp
bmdPYmplY3QtPmlzVGV4dENvbnRyb2woKSkKLSAgICAgICAgcmV0dXJuIE5POwotICAgIGlmIChz
ZWxmLmF4QmFja2luZ09iamVjdC0+cm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OlBv
cFVwQnV0dG9uKQotICAgICAgICByZXR1cm4gTk87Ci0gICAgaWYgKHNlbGYuYXhCYWNraW5nT2Jq
ZWN0LT5pc0ZpbGVVcGxvYWRCdXR0b24oKSkKLSAgICAgICAgcmV0dXJuIE5POwotICAgIGlmIChb
c2VsZiBhY2Nlc3NpYmlsaXR5SXNXZWJJbnRlcmFjdGl2ZVZpZGVvXSkKLSAgICAgICAgcmV0dXJu
IE5POwotCi0gICAgcmV0dXJuIFlFUzsKKyAgICBSZWZQdHI8QVhDb3JlT2JqZWN0PiBiYWNraW5n
T2JqZWN0ID0gc2VsZi5heEJhY2tpbmdPYmplY3Q7CisgICAgcmV0dXJuIGJhY2tpbmdPYmplY3Qg
JiYgIShiYWNraW5nT2JqZWN0LT5pc1RleHRDb250cm9sKCkKKyAgICAgICAgfHwgYmFja2luZ09i
amVjdC0+aXNQb3BVcEJ1dHRvbigpCisgICAgICAgIHx8IGJhY2tpbmdPYmplY3QtPmlzRGF0ZVRp
bWUoKQorICAgICAgICB8fCBiYWNraW5nT2JqZWN0LT5pc0ZpbGVVcGxvYWRCdXR0b24oKQorICAg
ICAgICB8fCBbc2VsZiBhY2Nlc3NpYmlsaXR5SXNXZWJJbnRlcmFjdGl2ZVZpZGVvXSk7CiB9CiAK
IHN0YXRpYyB2b2lkIGFwcGVuZFN0cmluZ1RvUmVzdWx0KE5TTXV0YWJsZVN0cmluZyAqcmVzdWx0
LCBOU1N0cmluZyAqc3RyaW5nKQpAQCAtMTI2MSw3ICsxMjUwLDcgQEAgLSAoTlNTdHJpbmcgKilh
Y2Nlc3NpYmlsaXR5TGFiZWwKICAgICBOU1N0cmluZyAqaW50ZXJhY3RpdmVWaWRlb0Rlc2NyaXB0
aW9uID0gW3NlbGYgaW50ZXJhY3RpdmVWaWRlb0Rlc2NyaXB0aW9uXTsKIAogICAgIC8vIFdlIHNo
b3VsZCBleHBvc2UgdGhlIHZhbHVlIG9mIHRoZSBpbnB1dCB0eXBlIGRhdGUgb3IgdGltZSB0aHJv
dWdoIEFYVmFsdWUgaW5zdGVhZCBvZiBBWFRpdGxlLgotICAgIGlmIChiYWNraW5nT2JqZWN0LT5p
c0lucHV0VHlwZVBvcHVwQnV0dG9uKCkgJiYgdGl0bGUgPT0gU3RyaW5nKFtzZWxmIGFjY2Vzc2li
aWxpdHlWYWx1ZV0pKQorICAgIGlmIChiYWNraW5nT2JqZWN0LT5pc0RhdGVUaW1lKCkgJiYgdGl0
bGUgPT0gU3RyaW5nKFtzZWxmIGFjY2Vzc2liaWxpdHlWYWx1ZV0pKQogICAgICAgICB0aXRsZSA9
ICIiX3M7CiAKICAgICAvLyBGb290ZXIgaXMgbm90IGNvbnNpZGVyZWQgYSBsYW5kbWFyaywgYnV0
IHdlIHdhbnQgdGhlIHJvbGUgZGVzY3JpcHRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0TWFjLm1tIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdE1hYy5tbQppbmRleCA1
NjkxODA5MzM4ODAuLmJhMmFjY2Q4MGQwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdE1hYy5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0TWFjLm1tCkBAIC03OTEs
NiArNzkxLDcgQEAgUGxhdGZvcm1Sb2xlTWFwIGNyZWF0ZVBsYXRmb3JtUm9sZU1hcCgpCiAgICAg
ICAgIHsgQWNjZXNzaWJpbGl0eVJvbGU6Ok1ldGVyLCBOU0FjY2Vzc2liaWxpdHlMZXZlbEluZGlj
YXRvclJvbGUgfSwKICAgICAgICAgeyBBY2Nlc3NpYmlsaXR5Um9sZTo6SW5jcmVtZW50b3IsIE5T
QWNjZXNzaWJpbGl0eUluY3JlbWVudG9yUm9sZSB9LAogICAgICAgICB7IEFjY2Vzc2liaWxpdHlS
b2xlOjpDb21ib0JveCwgTlNBY2Nlc3NpYmlsaXR5Q29tYm9Cb3hSb2xlIH0sCisgICAgICAgIHsg
QWNjZXNzaWJpbGl0eVJvbGU6OkRhdGVUaW1lLCBOU0FjY2Vzc2liaWxpdHlUZXh0RmllbGRSb2xl
IH0sCiAgICAgICAgIHsgQWNjZXNzaWJpbGl0eVJvbGU6OlNwbGl0dGVyLCBOU0FjY2Vzc2liaWxp
dHlTcGxpdHRlclJvbGUgfSwKICAgICAgICAgeyBBY2Nlc3NpYmlsaXR5Um9sZTo6Q29kZSwgTlNB
Y2Nlc3NpYmlsaXR5R3JvdXBSb2xlIH0sCiAgICAgICAgIHsgQWNjZXNzaWJpbGl0eVJvbGU6OkNv
bG9yV2VsbCwgTlNBY2Nlc3NpYmlsaXR5Q29sb3JXZWxsUm9sZSB9LApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlck1hYy5tbQppbmRleCBhZDY3MDU2YjlhYmEuLmE2YTExZWM0MGM5NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJp
bGl0eU9iamVjdFdyYXBwZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0KQEAgLTE1MDMsMTAgKzE1
MDMsNiBAQCBBTExPV19ERVBSRUNBVEVEX0lNUExFTUVOVEFUSU9OU19FTkQKICAgICBpZiAoW2F0
dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlSb2xlRGVzY3JpcHRp
b25BdHRyaWJ1dGVdKQogICAgICAgICByZXR1cm4gW3NlbGYgcm9sZURlc2NyaXB0aW9uXTsKIAot
ICAgIC8vIEFYQVJJQVJvbGUgaXMgb25seSB1c2VkIGJ5IER1bXBSZW5kZXJUcmVlIChzbyBmYXIp
LgotICAgIGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6QCJBWEFSSUFSb2xlIl0p
Ci0gICAgICAgIHJldHVybiBiYWNraW5nT2JqZWN0LT5jb21wdXRlZFJvbGVTdHJpbmcoKTsKLQog
ICAgIGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0eVBh
cmVudEF0dHJpYnV0ZV0pIHsKICAgICAgICAgLy8gVGhpcyB3aWxsIHJldHVybiB0aGUgcGFyZW50
IG9mIHRoZSBBWFdlYkFyZWEsIGlmIHRoaXMgaXMgYSB3ZWIgYXJlYS4KICAgICAgICAgaWYgKGlk
IHNjcm9sbFZpZXcgPSBzY3JvbGxWaWV3UGFyZW50KCpiYWNraW5nT2JqZWN0KSkKQEAgLTIyMzAs
NiArMjIyNiw5IEBAIEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5UQVRJT05TX0VORAogICAgIH0K
IAogICAgIC8vIFVzZWQgYnkgTGF5b3V0VGVzdHMgb25seSwgbm90IGJ5IEFUIGNsaWVudHMuCisg
ICAgaWYgKFVOTElLRUxZKFthdHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmluZzpAIkFYQVJJQVJv
bGUiXSkpCisgICAgICAgIHJldHVybiBiYWNraW5nT2JqZWN0LT5jb21wdXRlZFJvbGVTdHJpbmco
KTsKKwogICAgIGlmIChVTkxJS0VMWShbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6QCJB
WENvbnRyb2xsZXJzIl0pKQogICAgICAgICByZXR1cm4gbWFrZU5TQXJyYXkoYmFja2luZ09iamVj
dC0+Y29udHJvbGxlcnMoKSk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvaW9zL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0gYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
SU9TLm1tCmluZGV4IDBiMzc5ZThjYzE3Yy4uMGZlOTAyNzk0ZmVjIDEwMDY0NAotLS0gYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50SU9TLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9z
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW0KQEAgLTUxOSw3ICs1MTksNyBAQCBKU1JldGFp
blB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y29tcHV0ZWRSb2xlU3Ry
aW5nKCkKIAogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnRpdGxlKCkKIHsKLSAgICByZXR1cm4gY3JlYXRlSlNTdHJpbmcoKTsKKyAgICByZXR1cm4gY29u
Y2F0ZW5hdGVBdHRyaWJ1dGVBbmRWYWx1ZShAIkFYVGl0bGUiLCBbbV9lbGVtZW50IGFjY2Vzc2li
aWxpdHlMYWJlbF0pOwogfQogCiBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6ZGVzY3JpcHRpb24oKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNz
aWJpbGl0eS9kYXRlLWlucHV0LWFyaWEtbGFiZWwtYW5kLXZhbHVlLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZGF0ZS1pbnB1dC1hcmlhLWxhYmVsLWFuZC12YWx1ZS1l
eHBlY3RlZC50eHQKaW5kZXggNTU1MDBmYjZmZTNjLi4wYTlkMmVmMThiOGQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZGF0ZS1pbnB1dC1hcmlhLWxhYmVsLWFuZC12YWx1
ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kYXRlLWlucHV0
LWFyaWEtbGFiZWwtYW5kLXZhbHVlLWV4cGVjdGVkLnR4dApAQCAtMSw1NCArMSw0NSBAQAotVGVz
dHMgdGhhdCBhcmlhLWxhYmVsIGFuZCBhcmlhLXZhbHVlbm93IHVwZGF0ZSBjb3JyZWN0bHkgZm9y
IGRhdGUgaW5wdXRzLgorVGVzdHMgdGhhdCBzdWJmaWVsZCB2YWx1ZXMgdXBkYXRlIGNvcnJlY3Rs
eSBmb3IgZGF0ZSBpbnB1dHMuCiAKK09yaWdpbmFsIHN1YmZpZWxkIHZhbHVlczoKK0FYRGVzY3Jp
cHRpb246IG1vbnRoIEFYUm9sZTogQVhJbmNyZW1lbnRvciBBWFZhbHVlOiAxMQorQVhEZXNjcmlw
dGlvbjogIEFYUm9sZTogQVhTdGF0aWNUZXh0IEFYVmFsdWU6IC8KK0FYRGVzY3JpcHRpb246IGRh
eSBBWFJvbGU6IEFYSW5jcmVtZW50b3IgQVhWYWx1ZTogMjEKK0FYRGVzY3JpcHRpb246ICBBWFJv
bGU6IEFYU3RhdGljVGV4dCBBWFZhbHVlOiAvCitBWERlc2NyaXB0aW9uOiB5ZWFyIEFYUm9sZTog
QVhJbmNyZW1lbnRvciBBWFZhbHVlOiAyMDIyCiAKLUNoZWNraW5nIEFSSUEgTGFiZWxzIGZvciBz
dWItZmllbGRzCi1QQVNTOiBwbGF0Zm9ybVZhbHVlRm9yVzNDTmFtZShheERhdGVGaWVsZFdyYXBw
ZXIuY2hpbGRBdEluZGV4KDApKSA9PT0gIm1vbnRoIgotUEFTUzogcGxhdGZvcm1WYWx1ZUZvclcz
Q05hbWUoYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgxKSkgPT09ICJkYXkiCi1QQVNT
OiBwbGF0Zm9ybVZhbHVlRm9yVzNDTmFtZShheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4
KDIpKSA9PT0gInllYXIiCitGb2N1cyBkYXRlIGVsZW1lbnQgYW5kIHByZXNzIHVwIGFycm93IHRv
IGluY3JlbWVudCB0aGUgbW9udGggZmllbGQ6CitQQVNTOiBzdWJmaWVsZHNbMF0uaW50VmFsdWUg
PT09IDEyCiAKLUZvY3VzaW5nIGRhdGUgZWxlbWVudCBhbmQgcHJlc3NpbmcgdXAgYXJyb3cgdG8g
aW5jcmVtZW50IHRoZSBmaXJzdCBmaWVsZC4KLVBBU1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5jaGls
ZEF0SW5kZXgoMCkuaW50VmFsdWUgPT09IDMKLVBBU1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5jaGls
ZEF0SW5kZXgoMCkudmFsdWVEZXNjcmlwdGlvbiA9PT0gIkFYVmFsdWVEZXNjcmlwdGlvbjogMyIK
K1ByZXNzIGRvd24gYXJyb3cgdHdpY2UgdG8gZGVjcmVtZW50IHRoZSBtb250aCBmaWVsZC4KK1BB
U1M6IHN1YmZpZWxkc1swXS5pbnRWYWx1ZSA9PT0gMTAKIAotU2ltdWxhdGluZyBkb3duIGFycm93
IHByZXNzIHRvIGRlY3JlbWVudCB0aGUgZmlyc3QgZmllbGQuICh4MikKLVBBU1M6IGF4RGF0ZUZp
ZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMCkuaW50VmFsdWUgPT09IDEKLVBBU1M6IGF4RGF0ZUZp
ZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMCkudmFsdWVEZXNjcmlwdGlvbiA9PT0gIkFYVmFsdWVE
ZXNjcmlwdGlvbjogMSIKK1ByZXNzIHRoZSB0YWIga2V5IHRvIG1vdmUgdG8gdGhlIGRheSBmaWVs
ZCBpbiB0aGUgZGF0ZSBpbnB1dC4KK1BBU1M6IHN1YmZpZWxkc1syXS5pbnRWYWx1ZSA9PT0gMjEK
IAotU2ltdWxhdGluZyB0YWIga2V5IHRvIG1vdmUgdG8gdGhlIG5leHQgZmllbGQgaW4gdGhlIGRh
dGUgaW5wdXQuCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDEpLmludFZh
bHVlID09PSAyCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDEpLnZhbHVl
RGVzY3JpcHRpb24gPT09ICJBWFZhbHVlRGVzY3JpcHRpb246IDIiCitUeXBlIDEwIGluIHRoZSBk
YXkgc3ViZmllbGQuCitQQVNTOiBzdWJmaWVsZHNbMl0uaW50VmFsdWUgPT09IDEwCiAKLVNpbXVs
YXRpbmcgdHlwaW5nICIxMCIgaW4gdGhlIHNlY29uZCBpbnB1dCBmaWVsZC4KLVBBU1M6IGF4RGF0
ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMSkuaW50VmFsdWUgPT09IDEwCi1QQVNTOiBheERh
dGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDEpLnZhbHVlRGVzY3JpcHRpb24gPT09ICJBWFZh
bHVlRGVzY3JpcHRpb246IDEwIgorUHJlc3MgZG93biBhcnJvdyB0byBkZWNyZW1lbnQgdGhlIGRh
eSBmaWVsZC4KK1BBU1M6IHN1YmZpZWxkc1syXS5pbnRWYWx1ZSA9PT0gOQogCi1TaW11bGF0aW5n
IGRvd24gYXJyb3cgcHJlc3MgdG8gZGVjcmVtZW50IHRoZSBzZWNvbmQgZmllbGQgdmFsdWUuCi1Q
QVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDEpLmludFZhbHVlID09PSA5Ci1Q
QVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDEpLnZhbHVlRGVzY3JpcHRpb24g
PT09ICJBWFZhbHVlRGVzY3JpcHRpb246IDkiCitQcmVzcyB1cCBhcnJvdyB0d2ljZSB0byBpbmNy
ZW1lbnQgdGhlIGRheSBmaWVsZC4KK1BBU1M6IHN1YmZpZWxkc1syXS5pbnRWYWx1ZSA9PT0gMTEK
IAotU2ltdWxhdGluZyB1cCBhcnJvdyBwcmVzcyB0byBpbmNyZW1lbnQgdGhlIHNlY29uZCBmaWVs
ZCB2YWx1ZS4gKHgyKQotUEFTUzogYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgxKS5p
bnRWYWx1ZSA9PT0gMTEKLVBBU1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMSku
dmFsdWVEZXNjcmlwdGlvbiA9PT0gIkFYVmFsdWVEZXNjcmlwdGlvbjogMTEiCitQcmVzcyB0YWIg
dG8gbW92ZSB0byB0aGUgeWVhciBmaWVsZCBpbiB0aGUgZGF0ZSBpbnB1dC4KK1BBU1M6IHN1YmZp
ZWxkc1s0XS5pbnRWYWx1ZSA9PT0gMjAyMgogCi1TaW11bGF0aW5nIHRhYiBrZXkgdG8gbW92ZSB0
byB0aGUgbmV4dCBmaWVsZCBpbiB0aGUgZGF0ZSBpbnB1dC4KLVBBU1M6IGF4RGF0ZUZpZWxkV3Jh
cHBlci5jaGlsZEF0SW5kZXgoMikuaW50VmFsdWUgPT09IDIwMjIKLVBBU1M6IGF4RGF0ZUZpZWxk
V3JhcHBlci5jaGlsZEF0SW5kZXgoMikudmFsdWVEZXNjcmlwdGlvbiA9PT0gIkFYVmFsdWVEZXNj
cmlwdGlvbjogMjAyMiIKK1ByZXNzIGRvd24gYXJyb3cgMTAgdGltZXMgdG8gZGVjcmVtZW50IHRo
ZSB5ZWFyIGZpZWxkLgorUEFTUzogc3ViZmllbGRzWzRdLmludFZhbHVlID09PSAyMDEyCiAKLVNp
bXVsYXRpbmcgZG93biBhcnJvdyBwcmVzcyB0byBkZWNyZW1lbnQgdGhlIHRoaXJkIGZpZWxkIHZh
bHVlLiAoeDEwKQotUEFTUzogYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgyKS5pbnRW
YWx1ZSA9PT0gMjAxMgotUEFTUzogYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgyKS52
YWx1ZURlc2NyaXB0aW9uID09PSAiQVhWYWx1ZURlc2NyaXB0aW9uOiAyMDEyIgorUHJlc3MgdXAg
YXJyb3cgdG8gaW5jcmVtZW50IHRoZSB5ZWFyIGZpZWxkLgorUEFTUzogc3ViZmllbGRzWzRdLmlu
dFZhbHVlID09PSAyMDEzCiAKLVNpbXVsYXRpbmcgdXAgYXJyb3cgcHJlc3MgdG8gaW5jcmVtZW50
IHRoZSB0aGlyZCBmaWVsZCB2YWx1ZS4KLVBBU1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0
SW5kZXgoMikuaW50VmFsdWUgPT09IDIwMTMKLVBBU1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5jaGls
ZEF0SW5kZXgoMikudmFsdWVEZXNjcmlwdGlvbiA9PT0gIkFYVmFsdWVEZXNjcmlwdGlvbjogMjAx
MyIKLQotTWFudWFsbHkgc2V0dGluZyB0aGUgZGF0ZSBpbnB1dCdzIHZhbHVlIHZpYSBKYXZhU2Ny
aXB0LgotUEFTUzogYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgwKS5pbnRWYWx1ZSA9
PT0gMTIKLVBBU1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMCkudmFsdWVEZXNj
cmlwdGlvbiA9PT0gIkFYVmFsdWVEZXNjcmlwdGlvbjogMTIiCi1QQVNTOiBheERhdGVGaWVsZFdy
YXBwZXIuY2hpbGRBdEluZGV4KDEpLmludFZhbHVlID09PSAzMAotUEFTUzogYXhEYXRlRmllbGRX
cmFwcGVyLmNoaWxkQXRJbmRleCgxKS52YWx1ZURlc2NyaXB0aW9uID09PSAiQVhWYWx1ZURlc2Ny
aXB0aW9uOiAzMCIKLVBBU1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMikuaW50
VmFsdWUgPT09IDIwMjMKLVBBU1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMiku
dmFsdWVEZXNjcmlwdGlvbiA9PT0gIkFYVmFsdWVEZXNjcmlwdGlvbjogMjAyMyIKK1NldCB0aGUg
ZGF0ZSB2aWEgSmF2YVNjcmlwdC4KK0FYRGVzY3JpcHRpb246IG1vbnRoIEFYUm9sZTogQVhJbmNy
ZW1lbnRvciBBWFZhbHVlOiAxMgorQVhEZXNjcmlwdGlvbjogIEFYUm9sZTogQVhTdGF0aWNUZXh0
IEFYVmFsdWU6IC8KK0FYRGVzY3JpcHRpb246IGRheSBBWFJvbGU6IEFYSW5jcmVtZW50b3IgQVhW
YWx1ZTogMzEKK0FYRGVzY3JpcHRpb246ICBBWFJvbGU6IEFYU3RhdGljVGV4dCBBWFZhbHVlOiAv
CitBWERlc2NyaXB0aW9uOiB5ZWFyIEFYUm9sZTogQVhJbmNyZW1lbnRvciBBWFZhbHVlOiAyMDIz
CiAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS9kYXRlLWlucHV0LWFyaWEtbGFiZWwtYW5kLXZhbHVlLmh0bWwg
Yi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2RhdGUtaW5wdXQtYXJpYS1sYWJlbC1hbmQtdmFs
dWUuaHRtbAppbmRleCBjYzdkZWE1MDlhYTcuLjg1MjE3MmE0YzllMyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kYXRlLWlucHV0LWFyaWEtbGFiZWwtYW5kLXZhbHVlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kYXRlLWlucHV0LWFyaWEtbGFiZWwt
YW5kLXZhbHVlLmh0bWwKQEAgLTYsOTIgKzYsNzcgQEAKIDwvaGVhZD4KIDxib2R5PgogCi08aW5w
dXQgaWQ9ImRhdGUtaW5wdXQiIHR5cGU9ImRhdGUiIHZhbHVlPSIyMDIyLTAyLTAyIiAvPgorPGlu
cHV0IGlkPSJkYXRlLWlucHV0IiB0eXBlPSJkYXRlIiB2YWx1ZT0iMjAyMi0xMS0yMSIgLz4KIAog
PHNjcmlwdD4KLXZhciB0ZXN0T3V0cHV0ID0gIlRlc3RzIHRoYXQgYXJpYS1sYWJlbCBhbmQgYXJp
YS12YWx1ZW5vdyB1cGRhdGUgY29ycmVjdGx5IGZvciBkYXRlIGlucHV0cy5cblxuIjsKK3ZhciBv
dXRwdXQgPSAiVGVzdHMgdGhhdCBzdWJmaWVsZCB2YWx1ZXMgdXBkYXRlIGNvcnJlY3RseSBmb3Ig
ZGF0ZSBpbnB1dHMuXG5cbiI7CiAKLWZ1bmN0aW9uIG91dHB1dFN0cmluZyhtZXNzYWdlKSB7Ci0g
ICAgdGVzdE91dHB1dCArPSAoYFxuJHttZXNzYWdlfVxuYCk7Ci19Ci0KLWZ1bmN0aW9uIGtleURv
d24oa2V5LCByZXBlYXQgPSAxLCBtZXNzYWdlID0gIiIpIHsKLSAgICBpZiAobWVzc2FnZSkgCi0g
ICAgICAgIG91dHB1dFN0cmluZyhtZXNzYWdlICsgYCAoeCR7cmVwZWF0fSlgKTsKLQotICAgIGZv
ciAobGV0IGkgPSAwIDsgaSA8IHJlcGVhdCA7IGkrKykgCitmdW5jdGlvbiBrZXlEb3duKGtleSwg
cmVwZWF0ID0gMSkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVwZWF0OyBpKyspCiAgICAg
ICAgIGV2ZW50U2VuZGVyLmtleURvd24oa2V5KTsKIH0KIAogaWYgKHdpbmRvdy5hY2Nlc3NpYmls
aXR5Q29udHJvbGxlcikgewogICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLSAgICB2
YXIgYXhEYXRlRmllbGRXcmFwcGVyID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJs
ZUVsZW1lbnRCeUlkKCJkYXRlLWlucHV0IikKLSAgICAgICAgICAgIC5jaGlsZEF0SW5kZXgoMCkK
LSAgICAgICAgICAgIC5jaGlsZEF0SW5kZXgoMCk7Ci0KLSAgICBzZXRUaW1lb3V0KGFzeW5jIGZ1
bmN0aW9uKCkgewotICAgICAgICBhc3luYyBmdW5jdGlvbiBleHBlY3RDaGlsZFRvSGF2ZUFSSUFW
YWx1ZUF0dHJpYnV0ZXMoY2hpbGRJbmRleCwgZGVzY3JpcHRpb24pIHsKLSAgICAgICAgICAgIGxl
dCByZXN1bHQgPSBhd2FpdCBleHBlY3RBc3luYyhgYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJ
bmRleCgke2NoaWxkSW5kZXh9KS5pbnRWYWx1ZWAsIGAke2Rlc2NyaXB0aW9ufWApOwotCi0gICAg
ICAgICAgICByZXN1bHQgKz0gYXdhaXQgZXhwZWN0QXN5bmMoYGF4RGF0ZUZpZWxkV3JhcHBlci5j
aGlsZEF0SW5kZXgoJHtjaGlsZEluZGV4fSkudmFsdWVEZXNjcmlwdGlvbmAsIGAiQVhWYWx1ZURl
c2NyaXB0aW9uOiAke2Rlc2NyaXB0aW9ufSJgKTsKLQotICAgICAgICAgICAgcmV0dXJuIHJlc3Vs
dDsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgZnVuY3Rpb24gZXhwZWN0Q2hpbGRUb0hh
dmVBUklBTGFiZWwoY2hpbGRJbmRleCwgbGFiZWxUZXh0KSB7Ci0gICAgICAgICAgICByZXR1cm4g
ZXhwZWN0KGBwbGF0Zm9ybVZhbHVlRm9yVzNDTmFtZShheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRB
dEluZGV4KCR7Y2hpbGRJbmRleH0pKWAsIGxhYmVsVGV4dCk7Ci0gICAgICAgIH0KLSAgICAgICAg
Ci0gICAgICAgIGNvbnN0IGRhdGVJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkYXRl
LWlucHV0Iik7Ci0KLSAgICAgICAgb3V0cHV0U3RyaW5nKCJDaGVja2luZyBBUklBIExhYmVscyBm
b3Igc3ViLWZpZWxkcyIpOwotICAgICAgICB0ZXN0T3V0cHV0ICs9IGV4cGVjdENoaWxkVG9IYXZl
QVJJQUxhYmVsKDAsIGAibW9udGgiYCk7Ci0gICAgICAgIHRlc3RPdXRwdXQgKz0gZXhwZWN0Q2hp
bGRUb0hhdmVBUklBTGFiZWwoMSwgYCJkYXkiYCk7Ci0gICAgICAgIHRlc3RPdXRwdXQgKz0gZXhw
ZWN0Q2hpbGRUb0hhdmVBUklBTGFiZWwoMiwgYCJ5ZWFyImApOwotICAgICAgICAKLSAgICAgICAg
b3V0cHV0U3RyaW5nKCJGb2N1c2luZyBkYXRlIGVsZW1lbnQgYW5kIHByZXNzaW5nIHVwIGFycm93
IHRvIGluY3JlbWVudCB0aGUgZmlyc3QgZmllbGQuIik7CisgICAgY29uc3QgZGF0ZUlucHV0ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRhdGUtaW5wdXQiKTsKKyAgICB2YXIgYXhEYXRlSW5w
dXQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImRhdGUt
aW5wdXQiKTsKKworICAgIGZ1bmN0aW9uIGdldEFuZExvZ1N1YmZpZWxkcyhheEVsZW1lbnQpIHsK
KyAgICAgICAgbGV0IHN1YmZpZWxkcyA9IGF4RWxlbWVudC5jaGlsZEF0SW5kZXgoMCkuY2hpbGRB
dEluZGV4KDApLmNoaWxkcmVuOworICAgICAgICBzdWJmaWVsZHMuZm9yRWFjaCgoY2hpbGQpID0+
IHsKKyAgICAgICAgICAgIG91dHB1dCArPSBgJHtjaGlsZC5kZXNjcmlwdGlvbn0gJHtjaGlsZC5y
b2xlfSAke2NoaWxkLnN0cmluZ1ZhbHVlfVxuYDsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVy
biBzdWJmaWVsZHM7CisgICAgfQorCisgICAgb3V0cHV0Kz0gIk9yaWdpbmFsIHN1YmZpZWxkIHZh
bHVlczpcbiI7CisgICAgdmFyIHN1YmZpZWxkcyA9IGdldEFuZExvZ1N1YmZpZWxkcyhheERhdGVJ
bnB1dCk7CisKKyAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHsKKyAgICAgICAgb3V0cHV0ICs9
ICJcbkZvY3VzIGRhdGUgZWxlbWVudCBhbmQgcHJlc3MgdXAgYXJyb3cgdG8gaW5jcmVtZW50IHRo
ZSBtb250aCBmaWVsZDpcbiI7CiAgICAgICAgIGRhdGVJbnB1dC5mb2N1cygpOwogICAgICAgICBr
ZXlEb3duKCJ1cEFycm93Iik7CisgICAgICAgIG91dHB1dCArPSBhd2FpdCBleHBlY3RBc3luYygi
c3ViZmllbGRzWzBdLmludFZhbHVlIiwgIjEyIik7CiAKLSAgICAgICAgdGVzdE91dHB1dCArPSBh
d2FpdCBleHBlY3RDaGlsZFRvSGF2ZUFSSUFWYWx1ZUF0dHJpYnV0ZXMoMCwgMyk7Ci0KLSAgICAg
ICAga2V5RG93bigiZG93bkFycm93IiwgMiwgIlNpbXVsYXRpbmcgZG93biBhcnJvdyBwcmVzcyB0
byBkZWNyZW1lbnQgdGhlIGZpcnN0IGZpZWxkLiIpOwotICAgICAgICB0ZXN0T3V0cHV0ICs9IGF3
YWl0IGV4cGVjdENoaWxkVG9IYXZlQVJJQVZhbHVlQXR0cmlidXRlcygwLCAxKTsKKyAgICAgICAg
b3V0cHV0ICs9ICJcblByZXNzIGRvd24gYXJyb3cgdHdpY2UgdG8gZGVjcmVtZW50IHRoZSBtb250
aCBmaWVsZC5cbiI7CisgICAgICAgIGtleURvd24oImRvd25BcnJvdyIsIDIpOworICAgICAgICBv
dXRwdXQgKz0gYXdhaXQgZXhwZWN0QXN5bmMoInN1YmZpZWxkc1swXS5pbnRWYWx1ZSIsICIxMCIp
OwogCi0gICAgICAgIG91dHB1dFN0cmluZygiU2ltdWxhdGluZyB0YWIga2V5IHRvIG1vdmUgdG8g
dGhlIG5leHQgZmllbGQgaW4gdGhlIGRhdGUgaW5wdXQuIik7CisgICAgICAgIG91dHB1dCArPSAi
XG5QcmVzcyB0aGUgdGFiIGtleSB0byBtb3ZlIHRvIHRoZSBkYXkgZmllbGQgaW4gdGhlIGRhdGUg
aW5wdXQuXG4iOwogICAgICAgICBrZXlEb3duKCJcdCIpOwotICAgICAgICB0ZXN0T3V0cHV0ICs9
IGF3YWl0IGV4cGVjdENoaWxkVG9IYXZlQVJJQVZhbHVlQXR0cmlidXRlcygxLCAyKTsKKyAgICAg
ICAgb3V0cHV0ICs9IGF3YWl0IGV4cGVjdEFzeW5jKCJzdWJmaWVsZHNbMl0uaW50VmFsdWUiLCAi
MjEiKTsKIAotICAgICAgICBvdXRwdXRTdHJpbmcoIlNpbXVsYXRpbmcgdHlwaW5nIFwiMTBcIiBp
biB0aGUgc2Vjb25kIGlucHV0IGZpZWxkLiIpOworICAgICAgICBvdXRwdXQgKz0gIlxuVHlwZSAx
MCBpbiB0aGUgZGF5IHN1YmZpZWxkLlxuIjsKICAgICAgICAga2V5RG93bigiMSIpOwogICAgICAg
ICBrZXlEb3duKCIwIikKLSAgICAgICAgdGVzdE91dHB1dCArPSBhd2FpdCBleHBlY3RDaGlsZFRv
SGF2ZUFSSUFWYWx1ZUF0dHJpYnV0ZXMoMSwgMTApOworICAgICAgICBvdXRwdXQgKz0gYXdhaXQg
ZXhwZWN0QXN5bmMoInN1YmZpZWxkc1syXS5pbnRWYWx1ZSIsICIxMCIpOwogCi0gICAgICAgIG91
dHB1dFN0cmluZygiU2ltdWxhdGluZyBkb3duIGFycm93IHByZXNzIHRvIGRlY3JlbWVudCB0aGUg
c2Vjb25kIGZpZWxkIHZhbHVlLiIpCisgICAgICAgIG91dHB1dCArPSAiXG5QcmVzcyBkb3duIGFy
cm93IHRvIGRlY3JlbWVudCB0aGUgZGF5IGZpZWxkLlxuIjsKICAgICAgICAga2V5RG93bigiZG93
bkFycm93Iik7Ci0gICAgICAgIHRlc3RPdXRwdXQgKz0gYXdhaXQgZXhwZWN0Q2hpbGRUb0hhdmVB
UklBVmFsdWVBdHRyaWJ1dGVzKDEsIDkpOworICAgICAgICBvdXRwdXQgKz0gYXdhaXQgZXhwZWN0
QXN5bmMoInN1YmZpZWxkc1syXS5pbnRWYWx1ZSIsICI5Iik7CiAKLSAgICAgICAga2V5RG93bigi
dXBBcnJvdyIsIDIsICJTaW11bGF0aW5nIHVwIGFycm93IHByZXNzIHRvIGluY3JlbWVudCB0aGUg
c2Vjb25kIGZpZWxkIHZhbHVlLiIpOwotICAgICAgICB0ZXN0T3V0cHV0ICs9IGF3YWl0IGV4cGVj
dENoaWxkVG9IYXZlQVJJQVZhbHVlQXR0cmlidXRlcygxLCAxMSk7CisgICAgICAgIG91dHB1dCAr
PSAiXG5QcmVzcyB1cCBhcnJvdyB0d2ljZSB0byBpbmNyZW1lbnQgdGhlIGRheSBmaWVsZC5cbiI7
CisgICAgICAgIGtleURvd24oInVwQXJyb3ciLCAyKTsKKyAgICAgICAgb3V0cHV0ICs9IGF3YWl0
IGV4cGVjdEFzeW5jKCJzdWJmaWVsZHNbMl0uaW50VmFsdWUiLCAiMTEiKTsKIAotICAgICAgICBv
dXRwdXRTdHJpbmcoIlNpbXVsYXRpbmcgdGFiIGtleSB0byBtb3ZlIHRvIHRoZSBuZXh0IGZpZWxk
IGluIHRoZSBkYXRlIGlucHV0LiIpOworICAgICAgICBvdXRwdXQgKz0gIlxuUHJlc3MgdGFiIHRv
IG1vdmUgdG8gdGhlIHllYXIgZmllbGQgaW4gdGhlIGRhdGUgaW5wdXQuXG4iOwogICAgICAgICBr
ZXlEb3duKCJcdCIpOwotICAgICAgICB0ZXN0T3V0cHV0ICs9IGF3YWl0IGV4cGVjdENoaWxkVG9I
YXZlQVJJQVZhbHVlQXR0cmlidXRlcygyLCAyMDIyKTsKKyAgICAgICAgb3V0cHV0ICs9IGF3YWl0
IGV4cGVjdEFzeW5jKCJzdWJmaWVsZHNbNF0uaW50VmFsdWUiLCAiMjAyMiIpOwogCi0gICAgICAg
IGtleURvd24oImRvd25BcnJvdyIsIDEwLCAiU2ltdWxhdGluZyBkb3duIGFycm93IHByZXNzIHRv
IGRlY3JlbWVudCB0aGUgdGhpcmQgZmllbGQgdmFsdWUuIik7Ci0gICAgICAgIHRlc3RPdXRwdXQg
Kz0gYXdhaXQgZXhwZWN0Q2hpbGRUb0hhdmVBUklBVmFsdWVBdHRyaWJ1dGVzKDIsIDIwMTIpOwor
ICAgICAgICBvdXRwdXQrPSAiXG5QcmVzcyBkb3duIGFycm93IDEwIHRpbWVzIHRvIGRlY3JlbWVu
dCB0aGUgeWVhciBmaWVsZC5cbiI7CisgICAgICAgIGtleURvd24oImRvd25BcnJvdyIsIDEwKTsK
KyAgICAgICAgb3V0cHV0ICs9IGF3YWl0IGV4cGVjdEFzeW5jKCJzdWJmaWVsZHNbNF0uaW50VmFs
dWUiLCAiMjAxMiIpOwogCi0gICAgICAgIG91dHB1dFN0cmluZygiU2ltdWxhdGluZyB1cCBhcnJv
dyBwcmVzcyB0byBpbmNyZW1lbnQgdGhlIHRoaXJkIGZpZWxkIHZhbHVlLiIpCisgICAgICAgIG91
dHB1dCArPSAiXG5QcmVzcyB1cCBhcnJvdyB0byBpbmNyZW1lbnQgdGhlIHllYXIgZmllbGQuXG4i
OwogICAgICAgICBrZXlEb3duKCJ1cEFycm93Iik7Ci0gICAgICAgIHRlc3RPdXRwdXQgKz0gYXdh
aXQgZXhwZWN0Q2hpbGRUb0hhdmVBUklBVmFsdWVBdHRyaWJ1dGVzKDIsIDIwMTMpOworICAgICAg
ICBvdXRwdXQgKz0gYXdhaXQgZXhwZWN0QXN5bmMoInN1YmZpZWxkc1s0XS5pbnRWYWx1ZSIsICIy
MDEzIik7CiAKLSAgICAgICAgb3V0cHV0U3RyaW5nKCJNYW51YWxseSBzZXR0aW5nIHRoZSBkYXRl
IGlucHV0J3MgdmFsdWUgdmlhIEphdmFTY3JpcHQuIikKLSAgICAgICAgZGF0ZUlucHV0LnZhbHVl
ID0gIjIwMjMtMTItMzAiOwotICAgICAgICB0ZXN0T3V0cHV0ICs9IGF3YWl0IGV4cGVjdENoaWxk
VG9IYXZlQVJJQVZhbHVlQXR0cmlidXRlcygwLCAxMik7Ci0gICAgICAgIHRlc3RPdXRwdXQgKz0g
YXdhaXQgZXhwZWN0Q2hpbGRUb0hhdmVBUklBVmFsdWVBdHRyaWJ1dGVzKDEsIDMwKTsKLSAgICAg
ICAgdGVzdE91dHB1dCArPSBhd2FpdCBleHBlY3RDaGlsZFRvSGF2ZUFSSUFWYWx1ZUF0dHJpYnV0
ZXMoMiwgMjAyMyk7CisgICAgICAgIG91dHB1dCArPSAiXG5TZXQgdGhlIGRhdGUgdmlhIEphdmFT
Y3JpcHQuXG4iOworICAgICAgICBkYXRlSW5wdXQudmFsdWUgPSAiMjAyMy0xMi0zMSI7CisgICAg
ICAgIGF3YWl0IGV4cGVjdEFzeW5jKCJheERhdGVJbnB1dC5jaGlsZEF0SW5kZXgoMCkuY2hpbGRB
dEluZGV4KDApLmNoaWxkcmVuWzRdLmludFZhbHVlIiwgIjIwMjMiKTsKKyAgICAgICAgZ2V0QW5k
TG9nU3ViZmllbGRzKGF4RGF0ZUlucHV0KTsKIAotICAgICAgICBkZWJ1Zyh0ZXN0T3V0cHV0KTsK
KyAgICAgICAgZGVidWcob3V0cHV0KTsKICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfSk7
CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFi
ZWwtdmFsdWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pbnB1dC10
aW1lLWxhYmVsLXZhbHVlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAuLjlkNTQyNGNhODdiYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12YWx1ZS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMSBAQAorVGhpcyB0ZXN0cyBpbnB1dCB0eXBlPXRpbWUgbGFiZWwgYW5kIHZhbHVlIHBy
b3BlcnRpZXMuCisKK1BBU1M6IGlucHV0dGltZS50aXRsZSA9PT0gJ0FYVGl0bGU6IChCZXR3ZWVu
OiAwNzowMCBBTS0wOTowMCBBTSknCitBWFZhbHVlOiAwODowMOKAr0FNCitQQVNTOiBpbnB1dHRp
bWUudGl0bGUgPT09ICdBWFRpdGxlOiAnCitBWFZhbHVlOiAwNzozMOKAr0FNCisKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUuaHRtbCBiL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12YWx1ZS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMmIzYWFjYWI1Nzc1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVsLXZh
bHVlLmh0bWwKQEAgLTAsMCArMSwyOCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJj
ZXMvYWNjZXNzaWJpbGl0eS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorCis8aW5wdXQg
dHlwZT0idGltZSIgaWQ9ImlucHV0dGltZTEiIGFyaWEtbGFiZWw9IihCZXR3ZWVuOiAwNzowMCBB
TS0wOTowMCBBTSkiIG1pbj0iMDc6MDAiIG1heD0iMDk6MDAiIHN0ZXA9IjMwMCIgcGxhY2Vob2xk
ZXI9IjAwOjAwIEFNIiB2YWx1ZT0iMDg6MDAiPgorPGlucHV0IHR5cGU9InRpbWUiIGlkPSJpbnB1
dHRpbWUyIiBtaW49IjA3OjAwIiBtYXg9IjA5OjAwIiBzdGVwPSIzMDAiIHZhbHVlPSIwNzozMCI+
CisKKzxzY3JpcHQ+CitsZXQgb3V0cHV0ID0gIlRoaXMgdGVzdHMgaW5wdXQgdHlwZT10aW1lIGxh
YmVsIGFuZCB2YWx1ZSBwcm9wZXJ0aWVzLlxuXG4iOworCitpZiAod2luZG93LmFjY2Vzc2liaWxp
dHlDb250cm9sbGVyKSB7CisgICAgdmFyIGlucHV0dGltZSA9IGFjY2Vzc2liaWxpdHlDb250cm9s
bGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiaW5wdXR0aW1lMSIpOworICAgIG91dHB1dCArPSBl
eHBlY3QoImlucHV0dGltZS50aXRsZSIsICInQVhUaXRsZTogKEJldHdlZW46IDA3OjAwIEFNLTA5
OjAwIEFNKSciKTsKKyAgICBvdXRwdXQgKz0gYCR7aW5wdXR0aW1lLnN0cmluZ1ZhbHVlfVxuYDsK
KworICAgIGlucHV0dGltZSA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVt
ZW50QnlJZCgiaW5wdXR0aW1lMiIpOworICAgIG91dHB1dCArPSBleHBlY3QoImlucHV0dGltZS50
aXRsZSIsICInQVhUaXRsZTogJyIpOworICAgIG91dHB1dCArPSBgJHtpbnB1dHRpbWUuc3RyaW5n
VmFsdWV9XG5gOworCisgICAgZGVidWcob3V0cHV0KTsKK30KKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxh
dG9yL2lucHV0LXR5cGUtdGltZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2lvcy1zaW11bGF0b3IvaW5wdXQtdHlwZS10aW1lLWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZjQ5M2EzZjM5MzBlLi4wMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2lucHV0LXR5cGUtdGltZS1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi0KLVRoaXMgdGVzdHMgdGhh
dCBpbnB1dCB0eXBlOiB0aW1lIGlzIGFjY2Vzc2libGUgb24gaU9TLgotCi1PbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCi0KLQotUEFTUyB0aW1laW5wdXQuZGVzY3JpcHRpb24gaXMgJ0FYTGFiZWw6
IChCZXR3ZWVuOiAwNzowMCBBTS0wOTowMCBBTSknCi1QQVNTIHRpbWVpbnB1dC5pc0lnbm9yZWQg
aXMgZmFsc2UKLVBBU1MgdGltZWlucHV0LnN0cmluZ1ZhbHVlIGlzICdBWFZhbHVlOiA4OjAw4oCv
QU0nCi1QQVNTIHRpbWVpbnB1dDIuZGVzY3JpcHRpb24gaXMgJ0FYTGFiZWw6ICcKLVBBU1MgdGlt
ZWlucHV0Mi5zdHJpbmdWYWx1ZSBpcyAnQVhWYWx1ZTogODowMOKAr0FNJwotUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9pbnB1dC10eXBlLXRpbWUuaHRtbCBi
L0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9pbnB1dC10eXBlLXRpbWUu
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2U5ZTc4MmU3MGI0Li4wMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2lucHV0
LXR5cGUtdGltZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVhZD4KLTxt
ZXRhIGNoYXJzZXQ9dXRmLTg+Ci08c2NyaXB0PgotdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IGZh
bHNlOwotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IGlkPSJib2R5Ij4KLQotPGlucHV0IGlkPSJ0
aW1laW5wdXQiIHR5cGU9InRpbWUiIGFyaWEtbGFiZWw9IihCZXR3ZWVuOiAwNzowMCBBTS0wOTow
MCBBTSkiIG1pbj0iMDc6MDAiIG1heD0iMDk6MDAiIHN0ZXA9IjMwMCIgcGxhY2Vob2xkZXI9IjAw
OjAwIEFNIiB2YWx1ZT0iMDg6MDAiPgotPGlucHV0IGlkPSJ0aW1laW5wdXQyIiB0eXBlPSJ0aW1l
IiBtaW49IjA3OjAwIiBtYXg9IjA5OjAwIiBzdGVwPSIzMDAiIHZhbHVlPSIwODowMCI+Ci0KLTxw
IGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KLTxzY3Jp
cHQ+Ci0KLSAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IGlucHV0IHR5cGU6IHRpbWUg
aXMgYWNjZXNzaWJsZSBvbiBpT1MuIik7Ci0KLSAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlD
b250cm9sbGVyKSB7Ci0KLSAgICAgICAgdmFyIHRpbWVpbnB1dCA9IGFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgidGltZWlucHV0Iik7Ci0gICAgICAgIHZhciB0
aW1laW5wdXQyID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlk
KCJ0aW1laW5wdXQyIik7Ci0gICAgICAgIHNob3VsZEJlKCJ0aW1laW5wdXQuZGVzY3JpcHRpb24i
LCAiJ0FYTGFiZWw6IChCZXR3ZWVuOiAwNzowMCBBTS0wOTowMCBBTSknIik7Ci0gICAgICAgIHNo
b3VsZEJlRmFsc2UoInRpbWVpbnB1dC5pc0lnbm9yZWQiKTsKLSAgICAgICAgCi0gICAgICAgIC8v
IFRlc3QgdmFsdWUgaXMgZXhwb3NlZCBpbiBBWFZhbHVlLgotICAgICAgICBzaG91bGRCZSgidGlt
ZWlucHV0LnN0cmluZ1ZhbHVlIiwgIidBWFZhbHVlOiA4OjAw4oCvQU0nIik7Ci0gICAgICAgIHNo
b3VsZEJlKCJ0aW1laW5wdXQyLmRlc2NyaXB0aW9uIiwgIidBWExhYmVsOiAnIik7Ci0gICAgICAg
IHNob3VsZEJlKCJ0aW1laW5wdXQyLnN0cmluZ1ZhbHVlIiwgIidBWFZhbHVlOiA4OjAw4oCvQU0n
Iik7Ci0gICAgfQotCi0gICAgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKLTwvc2NyaXB0Pgot
Ci08c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGli
L2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12YWx1ZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9nbGliL2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12YWx1
ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4x
NDFjNTU0Nzc1MjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGli
L2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12YWx1ZS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMSBAQAorVGhpcyB0ZXN0cyBpbnB1dCB0eXBlPXRpbWUgbGFiZWwgYW5kIHZhbHVlIHBy
b3BlcnRpZXMuCisKK1BBU1M6IGlucHV0dGltZS50aXRsZSA9PT0gJ0FYVGl0bGU6IChCZXR3ZWVu
OiAwNzowMCBBTS0wOTowMCBBTSknCisKK1BBU1M6IGlucHV0dGltZS50aXRsZSA9PT0gJ0FYVGl0
bGU6ICcKKworCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9hY2Nl
c3NpYmlsaXR5L2NoYW5naW5nLWFyaWEtaGlkZGVuLXdpdGgtZGlzcGxheS1ub25lLXBhcmVudC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL2FjY2Vzc2li
aWxpdHkvY2hhbmdpbmctYXJpYS1oaWRkZW4td2l0aC1kaXNwbGF5LW5vbmUtcGFyZW50LWV4cGVj
dGVkLnR4dAppbmRleCBjNmQ3YjVjYWQyY2IuLjNlMWY3OGI3MjdiMiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2NoYW5naW5nLWFy
aWEtaGlkZGVuLXdpdGgtZGlzcGxheS1ub25lLXBhcmVudC1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2NoYW5naW5nLWFy
aWEtaGlkZGVuLXdpdGgtZGlzcGxheS1ub25lLXBhcmVudC1leHBlY3RlZC50eHQKQEAgLTEsMjIg
KzEsMjIgQEAKIFRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgd2UgZG9uJ3QgY3Jhc2ggd2hlbiByZW1v
dmluZyBhbiBvYmplY3QgZnJvbSB0aGUgQVggdHJlZSB3aG9zZSBjaGlsZCByZWNlbnRseSBjaGFu
Z2VkIGFyaWEtaGlkZGVuIHN0YXR1cy4KIAotQXBwbGljYXRpb25Hcm91cCAgQVhMYWJlbDoKLSAg
TGlzdCAgQVhMYWJlbDoKLSAgICBMaXN0SXRlbSAgQVhMYWJlbDoKLSAgICAgIExpc3RNYXJrZXIg
IEFYTGFiZWw6IOKAogotICAgICAgU3RhdGljVGV4dCAgQVhMYWJlbDogT25lCi0gICAgTGlzdEl0
ZW0gIEFYTGFiZWw6Ci0gICAgICBMaXN0TWFya2VyICBBWExhYmVsOiDigKIKLSAgICAgIFN0YXRp
Y1RleHQgIEFYTGFiZWw6IFR3bwotICAgIExpc3RJdGVtICBBWExhYmVsOgotICAgICAgTGlzdE1h
cmtlciAgQVhMYWJlbDog4oCiCi0gICAgICBTdGF0aWNUZXh0ICBBWExhYmVsOiBUaHJlZQorQXBw
bGljYXRpb25Hcm91cCBBWFRpdGxlOiAgQVhMYWJlbDoKKyAgTGlzdCBBWFRpdGxlOiAgQVhMYWJl
bDoKKyAgICBMaXN0SXRlbSBBWFRpdGxlOiAgQVhMYWJlbDoKKyAgICAgIExpc3RNYXJrZXIgQVhU
aXRsZTog4oCiIEFYTGFiZWw6IOKAogorICAgICAgU3RhdGljVGV4dCBBWFRpdGxlOiBPbmUgQVhM
YWJlbDogT25lCisgICAgTGlzdEl0ZW0gQVhUaXRsZTogIEFYTGFiZWw6CisgICAgICBMaXN0TWFy
a2VyIEFYVGl0bGU6IOKAoiBBWExhYmVsOiDigKIKKyAgICAgIFN0YXRpY1RleHQgQVhUaXRsZTog
VHdvIEFYTGFiZWw6IFR3bworICAgIExpc3RJdGVtIEFYVGl0bGU6ICBBWExhYmVsOgorICAgICAg
TGlzdE1hcmtlciBBWFRpdGxlOiDigKIgQVhMYWJlbDog4oCiCisgICAgICBTdGF0aWNUZXh0IEFY
VGl0bGU6IFRocmVlIEFYTGFiZWw6IFRocmVlCiAKIE1ha2luZyAjbGkxIGFyaWEtaGlkZGVuIGFu
ZCAjdWwgZGlzcGxheTpub25lLgogCiBSZS1kdW1waW5nIEFYIHRyZWUuCiAKLUFwcGxpY2F0aW9u
R3JvdXAgIEFYTGFiZWw6CitBcHBsaWNhdGlvbkdyb3VwIEFYVGl0bGU6ICBBWExhYmVsOgogCiBQ
QVNTOiBUaGVyZSB3YXMgbm8gY3Jhc2guCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RF
eHBlY3RhdGlvbnMKaW5kZXggNWY3ZGE1YTk2ZDUyLi42YmNjMDY4ZmYwMjcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCkBAIC0yMjIwLDYgKzIyMjAsNyBAQCBh
Y2Nlc3NpYmlsaXR5L2hlYWRpbmctbGV2ZWwuaHRtbCBbIFBhc3MgXQogYWNjZXNzaWJpbGl0eS9o
dG1sNS1yZXF1aXJlZC1hdHRyaWJ1dGUuaHRtbCBbIFBhc3MgXQogYWNjZXNzaWJpbGl0eS9pZnJh
bWUtd2l0aC1yb2xlLmh0bWwgWyBQYXNzIF0KIGFjY2Vzc2liaWxpdHkvaW5wdXQtdHlwZS1oaWRk
ZW4taW4tYXJpYS1oaWRkZW4tZmFsc2UuaHRtbCBbIFBhc3MgXQorYWNjZXNzaWJpbGl0eS9pbnB1
dC10aW1lLWxhYmVsLXZhbHVlLmh0bWwgWyBQYXNzIF0KIGFjY2Vzc2liaWxpdHkvaW52YWxpZC1p
bnB1dHMuaHRtbCBbIFBhc3MgXQogYWNjZXNzaWJpbGl0eS9pbnNlcnQtdGV4dC1pbnRvLXBhc3N3
b3JkLWZpZWxkLmh0bWwgWyBQYXNzIF0KIGFjY2Vzc2liaWxpdHkvbGlzdC13aXRoLWR5bmFtaWNh
bGx5LWNoYW5naW5nLWNvbnRlbnQuaHRtbCBbIFBhc3MgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zL2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12YWx1ZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvYWNjZXNzaWJpbGl0eS9pbnB1dC10
aW1lLWxhYmVsLXZhbHVlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAuLjlhZDFiMmJmNzVhMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy9hY2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1RoaXMgdGVzdHMgaW5wdXQgdHlwZT10aW1lIGxhYmVs
IGFuZCB2YWx1ZSBwcm9wZXJ0aWVzLgorCitQQVNTOiBpbnB1dHRpbWUudGl0bGUgPT09ICdBWFRp
dGxlOiAoQmV0d2VlbjogMDc6MDAgQU0tMDk6MDAgQU0pJworQVhWYWx1ZTogODowMOKAr0FNCitQ
QVNTOiBpbnB1dHRpbWUudGl0bGUgPT09ICdBWFRpdGxlOiAnCitBWFZhbHVlOiA3OjMw4oCvQU0K
KworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>469666</attachid>
            <date>2024-02-01 16:35:51 -0800</date>
            <delta_ts>2024-02-02 06:11:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-268523-20240201193550.patch</filename>
            <type>text/plain</type>
            <size>43724</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">RnJvbSBjMjUxOWY4NzJkNWFjYjcyYzI2Y2I0OTVjMmY2YjliM2VjZGVhMjUyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXMgR29uemFsZXogPGFuZHJlc2dfMjJAYXBwbGUuY29t
PgpEYXRlOiBXZWQsIDI0IEphbiAyMDI0IDEzOjM0OjI3IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0g
QVg6IFRoZSB2YWx1ZSBvZiBkYXRlIHRpbWUgZmllbGRzIGlzIG5vdCByZWFkIGJ5IFZvaWNlT3Zl
cgogd2hlbiB0aGUgVk8gY3Vyc29yIGxhbmRzIG9uIHRoZW0uCiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY4NTIzIDxyZGFyOi8vcHJvYmxlbS8xMjIwNTkwMjQ+CgpS
ZXZpZXdlZCBieSBUeWxlciBXaWxjb2NrLgoKVGhpcyBwYXRjaCBmaXhlcyB0aGUgcHJvYmxlbSBi
eSBwcm92aWRpbmcgYSBwcm9wZXIgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBzdHJpbmdWYWx1ZSgp
IG1ldGhvZCBpbiB0aGUgY2FzZSBvZiBhIGRhdGUgdGltZSBmaWVsZC4gU29tZSBpT1Mtc3BlY2lm
aWMgY29kZSB0byBoYW5kbGUgZGF0ZSB0aW1lIGZpZWxkcyB3YXMgcmUtd29ya2VkIGFuZCBwcm9t
b3RlZCB0byBjb3JlIGNvZGUgdG8gbWFrZSB0aGlzIGZpeCBwb3NzaWJsZSBpbiBhbGwgcGxhdGZv
cm1zLiBUaGUgcGF0Y2ggaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBjaGFuZ2VzOgotIEFkZGVkIGEg
RGF0ZVRpbWUgcm9sZSB0byBkZXNjcmliZSB0aGlzIGZhbWlseSBvZiBlbGVtZW50cy4KLSBNYXAg
dGhpcyByb2xlIHRvIGl0cyBhcHByb3ByaWF0ZSBwbGF0Zm9ybSBwcm9wZXJ0aWVzLgotIEZpeCBp
biBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpzdHJpbmdWYWx1ZSgpLgotIENvZGUgY2xlYW51
cC4KCiogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kYXRlLWlucHV0LWFyaWEtbGFiZWwtYW5k
LXZhbHVlLWV4cGVjdGVkLnR4dDoKKiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2RhdGUtaW5w
dXQtYXJpYS1sYWJlbC1hbmQtdmFsdWUuaHRtbDoKUmUtd3JvdGUgdGhpcyB0ZXN0IGFjY29yZGlu
ZyB0byBvdXIgY3VycmVudCBzdGFuZGFyZHMsIGFuZCBzaW1wbGlmaWVkIGFuZCBtYWRlIGNsZWFy
IHRoZSBjb2RlLgoKKiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwt
dmFsdWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lu
cHV0LXRpbWUtbGFiZWwtdmFsdWUuaHRtbDogQWRkZWQuClByb21vdGVkIHRoaXMgdGVzdCBmcm9t
IGlvcy1zaW11bGF0b3IgdG8gYWxsIHBsYXRmb3Jtcy4gQWxzbyBtb2Rlcm5pemVkIGFuZCBjbGVh
bmVkIHVwIHRoZSBjb2RlLgoKKiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0
b3IvaW5wdXQtdHlwZS10aW1lLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKiBMYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvaW5wdXQtdHlwZS10aW1lLmh0bWw6IFJlbW92ZWQu
CkJlY2FtZSBpbnB1dC10aW1lLWxhYmVsLXZhbHVlLmh0bWwgYWJvdmUuCgoqIExheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL2FjY2Vz
c2liaWxpdHkvY2hhbmdpbmctYXJpYS1oaWRkZW4td2l0aC1kaXNwbGF5LW5vbmUtcGFyZW50LWV4
cGVjdGVkLnR4dDoKUmViYXNlZCBiZWNhdXNlIG5vdyBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0
aXRsZSByZXR1cm5zIHNvbWV0aGluZyBvbiBpT1MsIGJlZm9yZSByZXR1cm5lZCBudWxsLgoKKiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9uczoKKiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3MvYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVsLXZhbHVlLWV4cGVjdGVk
LnR4dDogQWRkZWQuCiogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRp
b25zOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhDb3JlT2JqZWN0Lmg6CihXZWJD
b3JlOjphY2Nlc3NpYmlsaXR5Um9sZVRvU3RyaW5nKToKKFdlYkNvcmU6OkFYQ29yZU9iamVjdDo6
aXNEYXRlVGltZSBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVj
dENhY2hlLmNwcDoKKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmNyZWF0ZSk6CiogU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5jcHA6CihXZWJDb3Jl
OjpBY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdDo6ZGV0ZXJtaW5lQWNjZXNzaWJpbGl0eVJvbGVGcm9t
Tm9kZSBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcDoKKFdlYkNvcmU6OmluaXRpYWxpemVSb2xlTWFwKToKKiBTb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoKKiBTb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuY3BwOgooV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6c3RyaW5nVmFsdWUgY29uc3QpOgooV2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6YWRkVGV4dEZpZWxkQ2hpbGRyZW4pOgoqIFNvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaDoKKiBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5jcHA6
CihXZWJDb3JlOjphdHNwaVJvbGUpOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9z
L0FjY2Vzc2liaWxpdHlPYmplY3RJT1MubW06CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0
Ojppc0lucHV0VHlwZVBvcHVwQnV0dG9uIGNvbnN0KTogRGVsZXRlZC4KKiBTb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L2lvcy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcklPUy5tbToK
KC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgZGV0ZXJtaW5lSXNBY2Nlc3NpYmlsaXR5
RWxlbWVudF0pOgooLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBzdHJpbmdWYWx1ZVNo
b3VsZEJlVXNlZEluTGFiZWxdKToKKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYWNj
ZXNzaWJpbGl0eUxhYmVsXSk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQWNj
ZXNzaWJpbGl0eU9iamVjdE1hYy5tbToKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHk6OmNyZWF0ZVBs
YXRmb3JtUm9sZU1hcCk6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW06CigtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpdKToKKiBUb29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tOgoo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0aXRsZSk6Ci0tLQogU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWENvcmVPYmplY3QuaCAgIHwgICA1ICstCiAuLi4vV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwICAgfCAgIDUgKy0KIC4uLi9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmNwcCB8ICAgNyArLQogLi4uL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU9iamVjdC5jcHAgICAgIHwgICAxICsKIC4uLi9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuaCAgICAgICB8ICAgMSAtCiAuLi4vQWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdC5jcHAgICAgICAgICAgICAgfCAgMTQgKystCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5U3BpbkJ1dHRvbi5oICAgfCAgMjIgKystLQogLi4uL2F0c3BpL0FjY2Vzc2liaWxp
dHlPYmplY3RBdHNwaS5jcHAgICAgICAgIHwgICAyICsKIC4uLi9pb3MvQWNjZXNzaWJpbGl0eU9i
amVjdElPUy5tbSAgICAgICAgICAgICB8ICAgNyAtLQogLi4uL2lvcy9XZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlcklPUy5tbSAgIHwgIDU5ICsrKystLS0tLS0KIC4uLi9tYWMvQWNjZXNzaWJp
bGl0eU9iamVjdE1hYy5tbSAgICAgICAgICAgICB8ICAgMSArCiAuLi4vbWFjL1dlYkFjY2Vzc2li
aWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tICAgfCAgIDcgKy0KIC4uLi9pb3MvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudElPUy5tbSAgICAgICAgICB8ICAgMiArLQogLi4udGUtaW5wdXQtYXJpYS1sYWJl
bC1hbmQtdmFsdWUtZXhwZWN0ZWQudHh0IHwgIDcxICsrKysrKy0tLS0tLQogLi4uL2RhdGUtaW5w
dXQtYXJpYS1sYWJlbC1hbmQtdmFsdWUuaHRtbCAgICAgIHwgMTA1ICsrKysrKysrLS0tLS0tLS0t
LQogLi4uL2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0ICAgICAgIHwgIDExICsr
CiAuLi4vYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVsLXZhbHVlLmh0bWwgfCAgMjggKysr
KysKIC4uLi9pbnB1dC10eXBlLXRpbWUtZXhwZWN0ZWQudHh0ICAgICAgICAgICAgICB8ICAxNSAt
LS0KIC4uLi9pb3Mtc2ltdWxhdG9yL2lucHV0LXR5cGUtdGltZS5odG1sICAgICAgICB8ICA0MCAt
LS0tLS0tCiAuLi4vaW5wdXQtdGltZS1sYWJlbC12YWx1ZS1leHBlY3RlZC50eHQgICAgICAgfCAg
MTEgKysKIC4uLmRkZW4td2l0aC1kaXNwbGF5LW5vbmUtcGFyZW50LWV4cGVjdGVkLnR4dCB8ICAy
NCArKy0tCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucyAgICAgfCAg
IDEgKwogLi4uL2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0ICAgICAgIHwgIDEx
ICsrCiAuLi4vaW5wdXQtdGltZS1sYWJlbC12YWx1ZS1leHBlY3RlZC50eHQgICAgICAgfCAgMTEg
KysKIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucyB8ICAgMSAr
CiAyNSBmaWxlcyBjaGFuZ2VkLCAyMjIgaW5zZXJ0aW9ucygrKSwgMjQwIGRlbGV0aW9ucygtKQog
Y3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1s
YWJlbC12YWx1ZS1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUuaHRtbAogZGVsZXRlIG1vZGUgMTAw
NjQ0IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9pbnB1dC10eXBlLXRp
bWUtZXhwZWN0ZWQudHh0CiBkZWxldGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9pb3Mtc2ltdWxhdG9yL2lucHV0LXR5cGUtdGltZS5odG1sCiBjcmVhdGUgbW9kZSAxMDA2
NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1sYWJl
bC12YWx1ZS1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3MvYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVsLXZhbHVlLWV4cGVjdGVkLnR4
dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1tb250ZXJleS9h
Y2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0CgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWENvcmVPYmplY3QuaCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhDb3JlT2JqZWN0LmgKaW5kZXggYzk1YzY0ZmNiMmE2
Li5jMzY0ZTY2YzgzN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QVhDb3JlT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWENvcmVP
YmplY3QuaApAQCAtMTM2LDYgKzEzNiw3IEBAIGVudW0gY2xhc3MgQWNjZXNzaWJpbGl0eVJvbGUg
ewogICAgIENvbHVtbiwKICAgICBDb2x1bW5IZWFkZXIsCiAgICAgQ29tYm9Cb3gsCisgICAgRGF0
ZVRpbWUsCiAgICAgRGVmaW5pdGlvbiwKICAgICBEZWxldGlvbiwKICAgICBEZXNjcmlwdGlvbkxp
c3QsCkBAIC0zMDMsNiArMzA0LDggQEAgQUxXQVlTX0lOTElORSBTdHJpbmcgYWNjZXNzaWJpbGl0
eVJvbGVUb1N0cmluZyhBY2Nlc3NpYmlsaXR5Um9sZSByb2xlKQogICAgICAgICByZXR1cm4gIkNv
bHVtbkhlYWRlciJfczsKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpDb21ib0JveDoKICAg
ICAgICAgcmV0dXJuICJDb21ib0JveCJfczsKKyAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpE
YXRlVGltZToKKyAgICAgICAgcmV0dXJuICJEYXRlVGltZSJfczsKICAgICBjYXNlIEFjY2Vzc2li
aWxpdHlSb2xlOjpEZWZpbml0aW9uOgogICAgICAgICByZXR1cm4gIkRlZmluaXRpb24iX3M7CiAg
ICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6RGVsZXRpb246CkBAIC05MDgsNiArOTExLDcgQEAg
cHVibGljOgogICAgIGJvb2wgaXNUYWJJdGVtKCkgY29uc3QgeyByZXR1cm4gcm9sZVZhbHVlKCkg
PT0gQWNjZXNzaWJpbGl0eVJvbGU6OlRhYjsgfQogICAgIGJvb2wgaXNSYWRpb0dyb3VwKCkgY29u
c3QgeyByZXR1cm4gcm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OlJhZGlvR3JvdXA7
IH0KICAgICBib29sIGlzQ29tYm9Cb3goKSBjb25zdCB7IHJldHVybiByb2xlVmFsdWUoKSA9PSBB
Y2Nlc3NpYmlsaXR5Um9sZTo6Q29tYm9Cb3g7IH0KKyAgICBib29sIGlzRGF0ZVRpbWUoKSBjb25z
dCB7IHJldHVybiByb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6RGF0ZVRpbWU7IH0K
ICAgICBib29sIGlzVHJlZSgpIGNvbnN0IHsgcmV0dXJuIHJvbGVWYWx1ZSgpID09IEFjY2Vzc2li
aWxpdHlSb2xlOjpUcmVlOyB9CiAgICAgYm9vbCBpc1RyZWVHcmlkKCkgY29uc3QgeyByZXR1cm4g
cm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OlRyZWVHcmlkOyB9CiAgICAgYm9vbCBp
c1RyZWVJdGVtKCkgY29uc3QgeyByZXR1cm4gcm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJv
bGU6OlRyZWVJdGVtOyB9CkBAIC0xMzY4LDcgKzEzNzIsNiBAQCBwdWJsaWM6CiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKICAgICB2aXJ0dWFsIGludCBhY2Nlc3NpYmlsaXR5U2VjdXJlRmllbGRM
ZW5ndGgoKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGhhc1RvdWNoRXZlbnRMaXN0ZW5lcigpIGNv
bnN0ID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNJbnB1dFR5cGVQb3B1cEJ1dHRvbigpIGNvbnN0
ID0gMDsKICNlbmRpZgogCiAgICAgLy8gYWxsb3dzIGZvciBhbiBBY2Nlc3NpYmlsaXR5T2JqZWN0
IHRvIHVwZGF0ZSBpdHMgcmVuZGVyIHRyZWUgb3IgcGVyZm9ybQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKaW5kZXggNzhhMzMwZGE0YzVjLi4wMWZk
YTRjZjEyNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENh
Y2hlLmNwcApAQCAtMTAyOSwxMSArMTAyOSwxMCBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBBWE9i
amVjdENhY2hlOjpyb290T2JqZWN0Rm9yRnJhbWUoTG9jYWxGcmFtZSogZnJhbWUpCiAgICAgICAg
IHJldHVybiBudWxscHRyOwogICAgIHJldHVybiBnZXRPckNyZWF0ZShmcmFtZS0+dmlldygpKTsK
IH0gICAgCi0gICAgCisKIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFYT2JqZWN0Q2FjaGU6OmNyZWF0
ZShBY2Nlc3NpYmlsaXR5Um9sZSByb2xlKQogewogICAgIFJlZlB0cjxBY2Nlc3NpYmlsaXR5T2Jq
ZWN0PiBvYmo7Ci0KICAgICAvLyB3aWxsIGJlIGZpbGxlZCBpbi4uLgogICAgIHN3aXRjaCAocm9s
ZSkgewogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OkltYWdlTWFwTGluazoKQEAgLTEwNTgs
NyArMTA1Nyw3IEBAIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFYT2JqZWN0Q2FjaGU6OmNyZWF0ZShB
Y2Nlc3NpYmlsaXR5Um9sZSByb2xlKQogICAgICAgICBvYmogPSBBY2Nlc3NpYmlsaXR5U3BpbkJ1
dHRvblBhcnQ6OmNyZWF0ZSgpOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgotICAgICAg
ICBvYmogPSBudWxscHRyOworICAgICAgICBicmVhazsKICAgICB9CiAKICAgICBpZiAoIW9iaikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5v
ZGVPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
Tm9kZU9iamVjdC5jcHAKaW5kZXggNmM2NjU3NjVjYTJiLi41YjUxODEwMTdkNTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVP
YmplY3QuY3BwCkBAIC0zNDAsMTEgKzM0MCw4IEBAIEFjY2Vzc2liaWxpdHlSb2xlIEFjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0OjpkZXRlcm1pbmVBY2Nlc3NpYmlsaXR5Um9sZUZyb21Ob2RlKFRyCiAg
ICAgICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVJvbGU6OlJhZGlvQnV0dG9uOwogICAgICAg
ICBpZiAoaW5wdXQtPmlzVGV4dEJ1dHRvbigpKQogICAgICAgICAgICAgcmV0dXJuIGJ1dHRvblJv
bGVUeXBlKCk7Ci0gICAgICAgIC8vIE9uIGlPUywgdGhlIGRhdGUgZmllbGQgYW5kIHRpbWUgZmll
bGQgYXJlIHBvcHVwIGJ1dHRvbnMuIE9uIG90aGVyIHBsYXRmb3JtcyB0aGV5IGFyZSB0ZXh0IGZp
ZWxkcy4KLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgICAgICBpZiAoaW5wdXQtPmlzRGF0
ZUZpZWxkKCkgfHwgaW5wdXQtPmlzVGltZUZpZWxkKCkpCi0gICAgICAgICAgICByZXR1cm4gQWNj
ZXNzaWJpbGl0eVJvbGU6OlBvcFVwQnV0dG9uOwotI2VuZGlmCisgICAgICAgIGlmIChpbnB1dC0+
aXNEYXRlRmllbGQoKSB8fCBpbnB1dC0+aXNEYXRlVGltZUxvY2FsRmllbGQoKSB8fCBpbnB1dC0+
aXNNb250aEZpZWxkKCkgfHwgaW5wdXQtPmlzVGltZUZpZWxkKCkgfHwgaW5wdXQtPmlzV2Vla0Zp
ZWxkKCkpCisgICAgICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVJvbGU6OkRhdGVUaW1lOwog
I2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQogICAgICAgICBpZiAoaW5wdXQtPmlzQ29sb3JD
b250cm9sKCkpCiAgICAgICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVJvbGU6OkNvbG9yV2Vs
bDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3QuY3BwCmluZGV4IDQ2MGFhMzcxNDdkNi4uODM3YTI2MGU5N2FhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKQEAg
LTI3MzgsNiArMjczOCw3IEBAIHN0YXRpYyB2b2lkIGluaXRpYWxpemVSb2xlTWFwKCkKICAgICAv
LyBDcmVhdGUgc3BlY2lmaWMgc3lub255bXMgZm9yIHRoZSBjb21wdXRlZFJvbGUgd2hpY2ggaXMg
dXNlZCBpbiBXUFQgdGVzdHMgYW5kIHRoZSBhY2Nlc3NpYmlsaXR5IGluc3BlY3Rvci4KICAgICBn
QXJpYVJldmVyc2VSb2xlTWFwLT5zZXQoZW51bVRvVW5kZXJseWluZ1R5cGUoQWNjZXNzaWJpbGl0
eVJvbGU6OkltYWdlKSwgImltYWdlIl9zKTsKICAgICBnQXJpYVJldmVyc2VSb2xlTWFwLT5zZXQo
ZW51bVRvVW5kZXJseWluZ1R5cGUoQWNjZXNzaWJpbGl0eVJvbGU6OlRleHRBcmVhKSwgInRleHRi
b3giX3MpOworICAgIGdBcmlhUmV2ZXJzZVJvbGVNYXAtPnNldChlbnVtVG9VbmRlcmx5aW5nVHlw
ZShBY2Nlc3NpYmlsaXR5Um9sZTo6RGF0ZVRpbWUpLCAidGV4dGJveCJfcyk7CiAgICAgZ0FyaWFS
ZXZlcnNlUm9sZU1hcC0+c2V0KGVudW1Ub1VuZGVybHlpbmdUeXBlKEFjY2Vzc2liaWxpdHlSb2xl
OjpQcmVzZW50YXRpb25hbCksICJub25lIl9zKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAppbmRleCA2MjIyMGVlZDg1NDIu
LjVkNzlmZGNlYmE2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0LmgKQEAgLTcxMiw3ICs3MTIsNiBAQCBwdWJsaWM6CiAjaWYgUExB
VEZPUk0oSU9TX0ZBTUlMWSkKICAgICBpbnQgYWNjZXNzaWJpbGl0eVNlY3VyZUZpZWxkTGVuZ3Ro
KCkgb3ZlcnJpZGU7CiAgICAgYm9vbCBoYXNUb3VjaEV2ZW50TGlzdGVuZXIoKSBjb25zdCBvdmVy
cmlkZTsKLSAgICBib29sIGlzSW5wdXRUeXBlUG9wdXBCdXR0b24oKSBjb25zdCBvdmVycmlkZTsK
ICNlbmRpZgogCiAgICAgLy8gYWxsb3dzIGZvciBhbiBBY2Nlc3NpYmlsaXR5T2JqZWN0IHRvIHVw
ZGF0ZSBpdHMgcmVuZGVyIHRyZWUgb3IgcGVyZm9ybQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKaW5kZXgg
MGMyNzJhNDk1NGM3Li44ZDQzNjJiNzg4NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcApAQCAtNzg4
LDEwICs3ODgsMTQgQEAgU3RyaW5nIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6OnN0cmluZ1Zh
bHVlKCkgY29uc3QKICAgICBpZiAoaXNXZWJBcmVhKCkpCiAgICAgICAgIHJldHVybiB7IH07CiAK
LSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIGlmIChpc0lucHV0VHlwZVBvcHVwQnV0dG9u
KCkpCi0gICAgICAgIHJldHVybiB0ZXh0VW5kZXJFbGVtZW50KCk7Ci0jZW5kaWYKKyAgICBpZiAo
aXNEYXRlVGltZSgpKSB7CisgICAgICAgIFN0cmluZyB2YWx1ZTsKKyAgICAgICAgQWNjZXNzaWJp
bGl0eTo6ZW51bWVyYXRlRGVzY2VuZGFudHMoKmNvbnN0X2Nhc3Q8QWNjZXNzaWJpbGl0eVJlbmRl
ck9iamVjdCo+KHRoaXMpLCBmYWxzZSwgWyZ2YWx1ZV0gKGNvbnN0IGF1dG8mIG9iamVjdCkgewor
ICAgICAgICAgICAgaWYgKG9iamVjdC5pc1N0YXRpY1RleHQoKSkKKyAgICAgICAgICAgICAgICB2
YWx1ZSA9IHZhbHVlICsgb2JqZWN0LnN0cmluZ1ZhbHVlKCk7CisgICAgICAgIH0pOworICAgICAg
ICByZXR1cm4gdmFsdWU7CisgICAgfQogCiAgICAgaWYgKGF1dG8qIHJlbmRlckZpbGVVcGxvYWRD
b250cm9sID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlckZpbGVVcGxvYWRDb250cm9sPihtX3JlbmRl
cmVyLmdldCgpKSkKICAgICAgICAgcmV0dXJuIHJlbmRlckZpbGVVcGxvYWRDb250cm9sLT5maWxl
VGV4dFZhbHVlKCk7CkBAIC0yMjkyLDcgKzIyOTYsNyBAQCB2b2lkIEFjY2Vzc2liaWxpdHlSZW5k
ZXJPYmplY3Q6OmFkZFRleHRGaWVsZENoaWxkcmVuKCkKICAgICBSZWZQdHIgbm9kZSA9IGR5bmFt
aWNEb3duY2FzdDxIVE1MSW5wdXRFbGVtZW50Pih0aGlzLT5ub2RlKCkpOwogICAgIGlmICghbm9k
ZSkKICAgICAgICAgcmV0dXJuOwotICAgIAorCiAgICAgYXV0byogc3BpbkJ1dHRvbkVsZW1lbnQg
PSBkeW5hbWljRG93bmNhc3Q8U3BpbkJ1dHRvbkVsZW1lbnQ+KG5vZGUtPmlubmVyU3BpbkJ1dHRv
bkVsZW1lbnQoKSk7CiAgICAgaWYgKCFzcGluQnV0dG9uRWxlbWVudCkKICAgICAgICAgcmV0dXJu
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
U3BpbkJ1dHRvbi5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
U3BpbkJ1dHRvbi5oCmluZGV4IGUxY2Q0MmQ4ZjM1NS4uNzYyYzZmZWVkZWE1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRv
bi5oCkBAIC0yOSwxOSArMjksMTkgQEAKICNpbmNsdWRlICJTcGluQnV0dG9uRWxlbWVudC5oIgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgCisKIGNsYXNzIEFjY2Vzc2liaWxpdHlTcGluQnV0
dG9uIGZpbmFsIDogcHVibGljIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0IHsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUmVmPEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uPiBjcmVhdGUoKTsKICAgICB2aXJ0
dWFsIH5BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbigpOwotICAgIAorCiAgICAgdm9pZCBzZXRTcGlu
QnV0dG9uRWxlbWVudChTcGluQnV0dG9uRWxlbWVudCogc3BpbkJ1dHRvbikgeyBtX3NwaW5CdXR0
b25FbGVtZW50ID0gc3BpbkJ1dHRvbjsgfQotICAgIAorCiAgICAgQVhDb3JlT2JqZWN0KiBpbmNy
ZW1lbnRCdXR0b24oKSBvdmVycmlkZTsKICAgICBBWENvcmVPYmplY3QqIGRlY3JlbWVudEJ1dHRv
bigpIG92ZXJyaWRlOwogCiAgICAgdm9pZCBzdGVwKGludCBhbW91bnQpOwotICAgIAorCiBwcml2
YXRlOgogICAgIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uKCk7CiAKQEAgLTQ5LDI5ICs0OSwyOSBA
QCBwcml2YXRlOgogICAgIGJvb2wgaXNOYXRpdmVTcGluQnV0dG9uKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gdHJ1ZTsgfQogICAgIHZvaWQgYWRkQ2hpbGRyZW4oKSBvdmVycmlkZTsKICAgICBM
YXlvdXRSZWN0IGVsZW1lbnRSZWN0KCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgCisKICAgICBXZWFr
UHRyPFNwaW5CdXR0b25FbGVtZW50LCBXZWFrUHRySW1wbFdpdGhFdmVudFRhcmdldERhdGE+IG1f
c3BpbkJ1dHRvbkVsZW1lbnQ7CiB9OyAKLSAgIAorCiBjbGFzcyBBY2Nlc3NpYmlsaXR5U3BpbkJ1
dHRvblBhcnQgZmluYWwgOiBwdWJsaWMgQWNjZXNzaWJpbGl0eU1vY2tPYmplY3QgewogcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8QWNjZXNzaWJpbGl0eVNwaW5CdXR0b25QYXJ0PiBjcmVhdGUoKTsK
ICAgICB2aXJ0dWFsIH5BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvblBhcnQoKSA9IGRlZmF1bHQ7Ci0g
ICAgCisKICAgICBib29sIGlzSW5jcmVtZW50b3IoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBt
X2lzSW5jcmVtZW50b3I7IH0KICAgICB2b2lkIHNldElzSW5jcmVtZW50b3IoYm9vbCB2YWx1ZSkg
eyBtX2lzSW5jcmVtZW50b3IgPSB2YWx1ZTsgfQotICAgIAorCiBwcml2YXRlOgogICAgIEFjY2Vz
c2liaWxpdHlTcGluQnV0dG9uUGFydCgpOwotICAgIAorCiAgICAgYm9vbCBwcmVzcygpIG92ZXJy
aWRlOwogICAgIEFjY2Vzc2liaWxpdHlSb2xlIGRldGVybWluZUFjY2Vzc2liaWxpdHlSb2xlKCkg
ZmluYWwgeyByZXR1cm4gQWNjZXNzaWJpbGl0eVJvbGU6OlNwaW5CdXR0b25QYXJ0OyB9CiAgICAg
Ym9vbCBpc1NwaW5CdXR0b25QYXJ0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQog
ICAgIExheW91dFJlY3QgZWxlbWVudFJlY3QoKSBjb25zdCBvdmVycmlkZTsKIAotICAgIHVuc2ln
bmVkIG1faXNJbmNyZW1lbnRvciA6IDE7CisgICAgYm9vbCBtX2lzSW5jcmVtZW50b3IgeyB0cnVl
IH07CiB9OwotICAgIAorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKIFNQRUNJQUxJWkVfVFlQ
RV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVNwaW5CdXR0b24pIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9i
amVjdEF0c3BpLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNz
aWJpbGl0eU9iamVjdEF0c3BpLmNwcAppbmRleCA1MmVjZDUzM2QzZGYuLjVkZTk3MGYxZjcwZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmls
aXR5T2JqZWN0QXRzcGkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRz
cGkvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmNwcApAQCAtMjk4LDYgKzI5OCw4IEBAIHN0YXRp
YyBBdHNwaTo6Um9sZSBhdHNwaVJvbGUoQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSkKICAgICAgICAg
cmV0dXJuIEF0c3BpOjpSb2xlOjpDYW52YXM7CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6
SG9yaXpvbnRhbFJ1bGU6CiAgICAgICAgIHJldHVybiBBdHNwaTo6Um9sZTo6U2VwYXJhdG9yOwor
ICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OkRhdGVUaW1lOgorICAgICAgICByZXR1cm4gQXRz
cGk6OlJvbGU6OkVudHJ5OwogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OlNwaW5CdXR0b246
CiAgICAgICAgIHJldHVybiBBdHNwaTo6Um9sZTo6U3BpbkJ1dHRvbjsKICAgICBjYXNlIEFjY2Vz
c2liaWxpdHlSb2xlOjpUYWI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2lvcy9BY2Nlc3NpYmlsaXR5T2JqZWN0SU9TLm1tIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9pb3MvQWNjZXNzaWJpbGl0eU9iamVjdElPUy5tbQppbmRleCAwOGYzNmFhY2I3NzQu
LjdmOWNmNmU2NTYwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9p
b3MvQWNjZXNzaWJpbGl0eU9iamVjdElPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2lvcy9BY2Nlc3NpYmlsaXR5T2JqZWN0SU9TLm1tCkBAIC0xMzQsMTMgKzEzNCw2IEBA
IGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6aGFzVG91Y2hFdmVudExpc3RlbmVyKCkgY29uc3QK
ICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6aXNJbnB1
dFR5cGVQb3B1cEJ1dHRvbigpIGNvbnN0Ci17Ci0gICAgaWYgKGlzPEhUTUxJbnB1dEVsZW1lbnQ+
KG5vZGUoKSkpCi0gICAgICAgIHJldHVybiByb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9s
ZTo6UG9wVXBCdXR0b247Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiB2b2lkIEFjY2Vzc2liaWxp
dHlPYmplY3Q6OnNldExhc3RQcmVzZW50ZWRUZXh0UHJlZGljdGlvbihOb2RlJiBwcmV2aW91c0Nv
bXBvc2l0aW9uTm9kZSwgQ29tcG9zaXRpb25TdGF0ZSBzdGF0ZSwgY29uc3QgU3RyaW5nJiB0ZXh0
LCBzaXplX3QgbG9jYXRpb24sIGJvb2wgaGFuZGxpbmdBY2NlcHRlZENhbmRpZGF0ZSkKIHsKICNp
ZiBIQVZFKElOTElORV9QUkVESUNUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJJT1MubW0KaW5kZXggMjdiNTJiMTQ4NjBiLi5lYmU2MjJiNDAyODkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tCkBAIC05MzgsMTYgKzkzOCwxNyBAQCAtIChCT09M
KWlzU1ZHR3JvdXBFbGVtZW50CiAKIC0gKEJPT0wpZGV0ZXJtaW5lSXNBY2Nlc3NpYmlsaXR5RWxl
bWVudAogewotICAgIGlmICghc2VsZi5heEJhY2tpbmdPYmplY3QpCisgICAgUmVmUHRyPEFYQ29y
ZU9iamVjdD4gYmFja2luZ09iamVjdCA9IHNlbGYuYXhCYWNraW5nT2JqZWN0OworICAgIGlmICgh
YmFja2luZ09iamVjdCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIAotICAgIC8vIEhvbm9y
IHdoZW4gc29tZXRoaW5nIGV4cGxpY2l0bHkgbWFrZXMgdGhpcyBhbiBlbGVtZW50IChzdXBlciB3
aWxsIGNvbnRhaW4gdGhhdCBsb2dpYykgCisKKyAgICAvLyBIb25vciB3aGVuIHNvbWV0aGluZyBl
eHBsaWNpdGx5IG1ha2VzIHRoaXMgYW4gZWxlbWVudCAoc3VwZXIgd2lsbCBjb250YWluIHRoYXQg
bG9naWMpCiAgICAgaWYgKFtzdXBlciBpc0FjY2Vzc2liaWxpdHlFbGVtZW50XSkKICAgICAgICAg
cmV0dXJuIFlFUzsKLSAgICAKLSAgICBzZWxmLmF4QmFja2luZ09iamVjdC0+dXBkYXRlQmFja2lu
Z1N0b3JlKCk7Ci0gICAgCi0gICAgc3dpdGNoIChzZWxmLmF4QmFja2luZ09iamVjdC0+cm9sZVZh
bHVlKCkpIHsKKworICAgIGJhY2tpbmdPYmplY3QtPnVwZGF0ZUJhY2tpbmdTdG9yZSgpOworCisg
ICAgc3dpdGNoIChiYWNraW5nT2JqZWN0LT5yb2xlVmFsdWUoKSkgewogICAgIGNhc2UgQWNjZXNz
aWJpbGl0eVJvbGU6OlRleHRGaWVsZDoKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpUZXh0
QXJlYToKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpCdXR0b246CkBAIC05NjcsNiArOTY4
LDcgQEAgLSAoQk9PTClkZXRlcm1pbmVJc0FjY2Vzc2liaWxpdHlFbGVtZW50CiAgICAgY2FzZSBB
Y2Nlc3NpYmlsaXR5Um9sZTo6TWVudUl0ZW1SYWRpbzoKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlS
b2xlOjpJbmNyZW1lbnRvcjoKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpDb21ib0JveDoK
KyAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpEYXRlVGltZToKICAgICBjYXNlIEFjY2Vzc2li
aWxpdHlSb2xlOjpJbWFnZU1hcDoKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpMaXN0TWFy
a2VyOgogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6Okxpc3RCb3hPcHRpb246CkBAIC05ODgs
MjYgKzk5MCwxNyBAQCAtIChCT09MKWRldGVybWluZUlzQWNjZXNzaWJpbGl0eUVsZW1lbnQKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQotICAg
ICAgICAKKwogICAgIC8vIERvbid0IGV4cG9zZSBoZWFkZXJzIGFzIGVsZW1lbnRzOyBpbnN0ZWFk
IGV4cG9zZSB0aGVpciBjaGlsZHJlbiBhcyBlbGVtZW50cywgd2l0aCB0aGUgaGVhZGVyIHRyYWl0
ICh1bmxlc3MgdGhleSBoYXZlIG5vIGNoaWxkcmVuKQogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJv
bGU6OkhlYWRpbmc6Ci0gICAgICAgIGlmICghW3NlbGYgYWNjZXNzaWJpbGl0eUVsZW1lbnRDb3Vu
dF0pCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
ICAgICAKKyAgICAgICAgcmV0dXJuICFbc2VsZiBhY2Nlc3NpYmlsaXR5RWxlbWVudENvdW50XTsK
ICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpWaWRlbzoKICAgICAgICAgcmV0dXJuIFtzZWxm
IGFjY2Vzc2liaWxpdHlJc1dlYkludGVyYWN0aXZlVmlkZW9dOwotICAgICAgICAKLSAgICBpZiAo
c2VsZi5heEJhY2tpbmdPYmplY3QtPmlzTm9uTmF0aXZlVGV4dENvbnRyb2woKSkKLSAgICAgICAg
cmV0dXJuIHRydWU7Ci0KLSAgICAvLyBMaW5rcyBjYW4gc29tZXRpbWVzIGJlIGVsZW1lbnRzICh3
aGVuIHRoZXkgb25seSBjb250YWluIHN0YXRpYyB0ZXh0IG9yIGRvbid0IGNvbnRhaW4gYW55dGhp
bmcpLgotICAgIC8vIFRoZXkgc2hvdWxkIG5vdCBiZSBlbGVtZW50cyB3aGVuIGNvbnRhaW5pbmcg
dGV4dCBhbmQgb3RoZXIgdHlwZXMuCiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6V2ViQ29y
ZUxpbms6CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6TGluazoKLSAgICAgICAgaWYgKFtz
ZWxmIGNvbnRhaW5zVW5uYXR1cmFsbHlTZWdtZW50ZWRDaGlsZHJlbl0gfHwgIVtzZWxmIGFjY2Vz
c2liaWxpdHlFbGVtZW50Q291bnRdKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAgICAgLy8gTGlua3MgY2FuIHNvbWV0aW1lcyBiZSBlbGVtZW50
cyAod2hlbiB0aGV5IG9ubHkgY29udGFpbiBzdGF0aWMgdGV4dCBvciBkb24ndCBjb250YWluIGFu
eXRoaW5nKS4KKyAgICAgICAgLy8gVGhleSBzaG91bGQgbm90IGJlIGVsZW1lbnRzIHdoZW4gY29u
dGFpbmluZyB0ZXh0IGFuZCBvdGhlciB0eXBlcy4KKyAgICAgICAgcmV0dXJuIFtzZWxmIGNvbnRh
aW5zVW5uYXR1cmFsbHlTZWdtZW50ZWRDaGlsZHJlbl0gfHwgIVtzZWxmIGFjY2Vzc2liaWxpdHlF
bGVtZW50Q291bnRdOwogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6Okdyb3VwOgogICAgICAg
ICBpZiAoW3NlbGYgaXNTVkdHcm91cEVsZW1lbnRdKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7
CkBAIC0xMTEzLDE2ICsxMTA2LDE2IEBAIC0gKEJPT0wpZGV0ZXJtaW5lSXNBY2Nlc3NpYmlsaXR5
RWxlbWVudAogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OldlYkFyZWE6CiAgICAgICAgIC8v
IENvbnNpZGVyIGZvY3VzYWJsZSBsZWFmLW5vZGVzIHdpdGggYSBsYWJlbCB0byBiZSBhY2Nlc3Np
YmxlIGVsZW1lbnRzLgogICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIzNDkyCi0gICAgICAgIHJldHVybiBzZWxmLmF4QmFja2luZ09iamVjdC0+aXNL
ZXlib2FyZEZvY3VzYWJsZSgpCisgICAgICAgIHJldHVybiBiYWNraW5nT2JqZWN0LT5pc0tleWJv
YXJkRm9jdXNhYmxlKCkKICAgICAgICAgICAgICYmIFtzZWxmIGFjY2Vzc2liaWxpdHlFbGVtZW50
Q291bnRdID09IDAKLSAgICAgICAgICAgICYmIHNlbGYuYXhCYWNraW5nT2JqZWN0LT5kZXNjcmlw
dGlvbkF0dHJpYnV0ZVZhbHVlKCkuZmluZChkZXByZWNhdGVkSXNOb3RTcGFjZU9yTmV3bGluZSkg
IT0gbm90Rm91bmQ7CisgICAgICAgICAgICAmJiBiYWNraW5nT2JqZWN0LT5kZXNjcmlwdGlvbkF0
dHJpYnV0ZVZhbHVlKCkuZmluZChkZXByZWNhdGVkSXNOb3RTcGFjZU9yTmV3bGluZSkgIT0gbm90
Rm91bmQ7CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6SWdub3JlZDoKICAgICBjYXNlIEFj
Y2Vzc2liaWxpdHlSb2xlOjpMaW5lQnJlYWs6CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6
UHJlc2VudGF0aW9uYWw6CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6VW5rbm93bjoKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KLSAgICAKKwogICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogICAgIHJldHVybiBmYWxzZTsKIH0KQEAgLTExNDAsMTYgKzExMzMsMTIgQEAgLSAoQk9P
TClpc0FjY2Vzc2liaWxpdHlFbGVtZW50CiAKIC0gKEJPT0wpc3RyaW5nVmFsdWVTaG91bGRCZVVz
ZWRJbkxhYmVsCiB7Ci0gICAgaWYgKHNlbGYuYXhCYWNraW5nT2JqZWN0LT5pc1RleHRDb250cm9s
KCkpCi0gICAgICAgIHJldHVybiBOTzsKLSAgICBpZiAoc2VsZi5heEJhY2tpbmdPYmplY3QtPnJv
bGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpQb3BVcEJ1dHRvbikKLSAgICAgICAgcmV0
dXJuIE5POwotICAgIGlmIChzZWxmLmF4QmFja2luZ09iamVjdC0+aXNGaWxlVXBsb2FkQnV0dG9u
KCkpCi0gICAgICAgIHJldHVybiBOTzsKLSAgICBpZiAoW3NlbGYgYWNjZXNzaWJpbGl0eUlzV2Vi
SW50ZXJhY3RpdmVWaWRlb10pCi0gICAgICAgIHJldHVybiBOTzsKLQotICAgIHJldHVybiBZRVM7
CisgICAgUmVmUHRyPEFYQ29yZU9iamVjdD4gYmFja2luZ09iamVjdCA9IHNlbGYuYXhCYWNraW5n
T2JqZWN0OworICAgIHJldHVybiBiYWNraW5nT2JqZWN0ICYmICEoYmFja2luZ09iamVjdC0+aXNU
ZXh0Q29udHJvbCgpCisgICAgICAgIHx8IGJhY2tpbmdPYmplY3QtPmlzUG9wVXBCdXR0b24oKQor
ICAgICAgICB8fCBiYWNraW5nT2JqZWN0LT5pc0RhdGVUaW1lKCkKKyAgICAgICAgfHwgYmFja2lu
Z09iamVjdC0+aXNGaWxlVXBsb2FkQnV0dG9uKCkKKyAgICAgICAgfHwgW3NlbGYgYWNjZXNzaWJp
bGl0eUlzV2ViSW50ZXJhY3RpdmVWaWRlb10pOwogfQogCiBzdGF0aWMgdm9pZCBhcHBlbmRTdHJp
bmdUb1Jlc3VsdChOU011dGFibGVTdHJpbmcgKnJlc3VsdCwgTlNTdHJpbmcgKnN0cmluZykKQEAg
LTEyNjEsNyArMTI1MCw3IEBAIC0gKE5TU3RyaW5nICopYWNjZXNzaWJpbGl0eUxhYmVsCiAgICAg
TlNTdHJpbmcgKmludGVyYWN0aXZlVmlkZW9EZXNjcmlwdGlvbiA9IFtzZWxmIGludGVyYWN0aXZl
VmlkZW9EZXNjcmlwdGlvbl07CiAKICAgICAvLyBXZSBzaG91bGQgZXhwb3NlIHRoZSB2YWx1ZSBv
ZiB0aGUgaW5wdXQgdHlwZSBkYXRlIG9yIHRpbWUgdGhyb3VnaCBBWFZhbHVlIGluc3RlYWQgb2Yg
QVhUaXRsZS4KLSAgICBpZiAoYmFja2luZ09iamVjdC0+aXNJbnB1dFR5cGVQb3B1cEJ1dHRvbigp
ICYmIHRpdGxlID09IFN0cmluZyhbc2VsZiBhY2Nlc3NpYmlsaXR5VmFsdWVdKSkKKyAgICBpZiAo
YmFja2luZ09iamVjdC0+aXNEYXRlVGltZSgpICYmIHRpdGxlID09IFN0cmluZyhbc2VsZiBhY2Nl
c3NpYmlsaXR5VmFsdWVdKSkKICAgICAgICAgdGl0bGUgPSAiIl9zOwogCiAgICAgLy8gRm9vdGVy
IGlzIG5vdCBjb25zaWRlcmVkIGEgbGFuZG1hcmssIGJ1dCB3ZSB3YW50IHRoZSByb2xlIGRlc2Ny
aXB0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQWNj
ZXNzaWJpbGl0eU9iamVjdE1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFj
L0FjY2Vzc2liaWxpdHlPYmplY3RNYWMubW0KaW5kZXggNTY5MTgwOTMzODgwLi5iYTJhY2NkODBk
MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FjY2Vzc2li
aWxpdHlPYmplY3RNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMv
QWNjZXNzaWJpbGl0eU9iamVjdE1hYy5tbQpAQCAtNzkxLDYgKzc5MSw3IEBAIFBsYXRmb3JtUm9s
ZU1hcCBjcmVhdGVQbGF0Zm9ybVJvbGVNYXAoKQogICAgICAgICB7IEFjY2Vzc2liaWxpdHlSb2xl
OjpNZXRlciwgTlNBY2Nlc3NpYmlsaXR5TGV2ZWxJbmRpY2F0b3JSb2xlIH0sCiAgICAgICAgIHsg
QWNjZXNzaWJpbGl0eVJvbGU6OkluY3JlbWVudG9yLCBOU0FjY2Vzc2liaWxpdHlJbmNyZW1lbnRv
clJvbGUgfSwKICAgICAgICAgeyBBY2Nlc3NpYmlsaXR5Um9sZTo6Q29tYm9Cb3gsIE5TQWNjZXNz
aWJpbGl0eUNvbWJvQm94Um9sZSB9LAorICAgICAgICB7IEFjY2Vzc2liaWxpdHlSb2xlOjpEYXRl
VGltZSwgTlNBY2Nlc3NpYmlsaXR5VGV4dEZpZWxkUm9sZSB9LAogICAgICAgICB7IEFjY2Vzc2li
aWxpdHlSb2xlOjpTcGxpdHRlciwgTlNBY2Nlc3NpYmlsaXR5U3BsaXR0ZXJSb2xlIH0sCiAgICAg
ICAgIHsgQWNjZXNzaWJpbGl0eVJvbGU6OkNvZGUsIE5TQWNjZXNzaWJpbGl0eUdyb3VwUm9sZSB9
LAogICAgICAgICB7IEFjY2Vzc2liaWxpdHlSb2xlOjpDb2xvcldlbGwsIE5TQWNjZXNzaWJpbGl0
eUNvbG9yV2VsbFJvbGUgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0K
aW5kZXggYWQ2NzA1NmI5YWJhLi5hNmExMWVjNDBjOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyTWFjLm1tCkBAIC0xNTAzLDEwICsxNTAzLDYgQEAgQUxMT1dfREVQUkVDQVRF
RF9JTVBMRU1FTlRBVElPTlNfRU5ECiAgICAgaWYgKFthdHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0
cmluZzogTlNBY2Nlc3NpYmlsaXR5Um9sZURlc2NyaXB0aW9uQXR0cmlidXRlXSkKICAgICAgICAg
cmV0dXJuIFtzZWxmIHJvbGVEZXNjcmlwdGlvbl07CiAKLSAgICAvLyBBWEFSSUFSb2xlIGlzIG9u
bHkgdXNlZCBieSBEdW1wUmVuZGVyVHJlZSAoc28gZmFyKS4KLSAgICBpZiAoW2F0dHJpYnV0ZU5h
bWUgaXNFcXVhbFRvU3RyaW5nOkAiQVhBUklBUm9sZSJdKQotICAgICAgICByZXR1cm4gYmFja2lu
Z09iamVjdC0+Y29tcHV0ZWRSb2xlU3RyaW5nKCk7Ci0KICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUg
aXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlQYXJlbnRBdHRyaWJ1dGVdKSB7CiAgICAg
ICAgIC8vIFRoaXMgd2lsbCByZXR1cm4gdGhlIHBhcmVudCBvZiB0aGUgQVhXZWJBcmVhLCBpZiB0
aGlzIGlzIGEgd2ViIGFyZWEuCiAgICAgICAgIGlmIChpZCBzY3JvbGxWaWV3ID0gc2Nyb2xsVmll
d1BhcmVudCgqYmFja2luZ09iamVjdCkpCkBAIC0yMjMwLDYgKzIyMjYsOSBAQCBBTExPV19ERVBS
RUNBVEVEX0lNUExFTUVOVEFUSU9OU19FTkQKICAgICB9CiAKICAgICAvLyBVc2VkIGJ5IExheW91
dFRlc3RzIG9ubHksIG5vdCBieSBBVCBjbGllbnRzLgorICAgIGlmIChVTkxJS0VMWShbYXR0cmli
dXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6QCJBWEFSSUFSb2xlIl0pKQorICAgICAgICByZXR1cm4g
YmFja2luZ09iamVjdC0+Y29tcHV0ZWRSb2xlU3RyaW5nKCk7CisKICAgICBpZiAoVU5MSUtFTFko
W2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOkAiQVhDb250cm9sbGVycyJdKSkKICAgICAg
ICAgcmV0dXJuIG1ha2VOU0FycmF5KGJhY2tpbmdPYmplY3QtPmNvbnRyb2xsZXJzKCkpOwogCmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbQppbmRleCAwYjM3OWU4Y2Mx
N2MuLjBmZTkwMjc5NGZlYyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbQorKysgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
SU9TLm1tCkBAIC01MTksNyArNTE5LDcgQEAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmNvbXB1dGVkUm9sZVN0cmluZygpCiAKIEpTUmV0YWluUHRyPEpT
U3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0aXRsZSgpCiB7Ci0gICAgcmV0dXJu
IGNyZWF0ZUpTU3RyaW5nKCk7CisgICAgcmV0dXJuIGNvbmNhdGVuYXRlQXR0cmlidXRlQW5kVmFs
dWUoQCJBWFRpdGxlIiwgW21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5TGFiZWxdKTsKIH0KIAogSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRlc2NyaXB0aW9u
KCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZGF0ZS1pbnB1dC1hcmlh
LWxhYmVsLWFuZC12YWx1ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L2RhdGUtaW5wdXQtYXJpYS1sYWJlbC1hbmQtdmFsdWUtZXhwZWN0ZWQudHh0CmluZGV4IDU1NTAw
ZmI2ZmUzYy4uMGE5ZDJlZjE4YjhkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2RhdGUtaW5wdXQtYXJpYS1sYWJlbC1hbmQtdmFsdWUtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZGF0ZS1pbnB1dC1hcmlhLWxhYmVsLWFuZC12YWx1ZS1l
eHBlY3RlZC50eHQKQEAgLTEsNTQgKzEsNDUgQEAKLVRlc3RzIHRoYXQgYXJpYS1sYWJlbCBhbmQg
YXJpYS12YWx1ZW5vdyB1cGRhdGUgY29ycmVjdGx5IGZvciBkYXRlIGlucHV0cy4KK1Rlc3RzIHRo
YXQgc3ViZmllbGQgdmFsdWVzIHVwZGF0ZSBjb3JyZWN0bHkgZm9yIGRhdGUgaW5wdXRzLgogCitP
cmlnaW5hbCBzdWJmaWVsZCB2YWx1ZXM6CitBWERlc2NyaXB0aW9uOiBtb250aCBBWFJvbGU6IEFY
SW5jcmVtZW50b3IgQVhWYWx1ZTogMTEKK0FYRGVzY3JpcHRpb246ICBBWFJvbGU6IEFYU3RhdGlj
VGV4dCBBWFZhbHVlOiAvCitBWERlc2NyaXB0aW9uOiBkYXkgQVhSb2xlOiBBWEluY3JlbWVudG9y
IEFYVmFsdWU6IDIxCitBWERlc2NyaXB0aW9uOiAgQVhSb2xlOiBBWFN0YXRpY1RleHQgQVhWYWx1
ZTogLworQVhEZXNjcmlwdGlvbjogeWVhciBBWFJvbGU6IEFYSW5jcmVtZW50b3IgQVhWYWx1ZTog
MjAyMgogCi1DaGVja2luZyBBUklBIExhYmVscyBmb3Igc3ViLWZpZWxkcwotUEFTUzogcGxhdGZv
cm1WYWx1ZUZvclczQ05hbWUoYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgwKSkgPT09
ICJtb250aCIKLVBBU1M6IHBsYXRmb3JtVmFsdWVGb3JXM0NOYW1lKGF4RGF0ZUZpZWxkV3JhcHBl
ci5jaGlsZEF0SW5kZXgoMSkpID09PSAiZGF5IgotUEFTUzogcGxhdGZvcm1WYWx1ZUZvclczQ05h
bWUoYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgyKSkgPT09ICJ5ZWFyIgorRm9jdXMg
ZGF0ZSBlbGVtZW50IGFuZCBwcmVzcyB1cCBhcnJvdyB0byBpbmNyZW1lbnQgdGhlIG1vbnRoIGZp
ZWxkOgorUEFTUzogc3ViZmllbGRzWzBdLmludFZhbHVlID09PSAxMgogCi1Gb2N1c2luZyBkYXRl
IGVsZW1lbnQgYW5kIHByZXNzaW5nIHVwIGFycm93IHRvIGluY3JlbWVudCB0aGUgZmlyc3QgZmll
bGQuCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDApLmludFZhbHVlID09
PSAzCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDApLnZhbHVlRGVzY3Jp
cHRpb24gPT09ICJBWFZhbHVlRGVzY3JpcHRpb246IDMiCitQcmVzcyBkb3duIGFycm93IHR3aWNl
IHRvIGRlY3JlbWVudCB0aGUgbW9udGggZmllbGQuCitQQVNTOiBzdWJmaWVsZHNbMF0uaW50VmFs
dWUgPT09IDEwCiAKLVNpbXVsYXRpbmcgZG93biBhcnJvdyBwcmVzcyB0byBkZWNyZW1lbnQgdGhl
IGZpcnN0IGZpZWxkLiAoeDIpCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4
KDApLmludFZhbHVlID09PSAxCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4
KDApLnZhbHVlRGVzY3JpcHRpb24gPT09ICJBWFZhbHVlRGVzY3JpcHRpb246IDEiCitQcmVzcyB0
aGUgdGFiIGtleSB0byBtb3ZlIHRvIHRoZSBkYXkgZmllbGQgaW4gdGhlIGRhdGUgaW5wdXQuCitQ
QVNTOiBzdWJmaWVsZHNbMl0uaW50VmFsdWUgPT09IDIxCiAKLVNpbXVsYXRpbmcgdGFiIGtleSB0
byBtb3ZlIHRvIHRoZSBuZXh0IGZpZWxkIGluIHRoZSBkYXRlIGlucHV0LgotUEFTUzogYXhEYXRl
RmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgxKS5pbnRWYWx1ZSA9PT0gMgotUEFTUzogYXhEYXRl
RmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgxKS52YWx1ZURlc2NyaXB0aW9uID09PSAiQVhWYWx1
ZURlc2NyaXB0aW9uOiAyIgorVHlwZSAxMCBpbiB0aGUgZGF5IHN1YmZpZWxkLgorUEFTUzogc3Vi
ZmllbGRzWzJdLmludFZhbHVlID09PSAxMAogCi1TaW11bGF0aW5nIHR5cGluZyAiMTAiIGluIHRo
ZSBzZWNvbmQgaW5wdXQgZmllbGQuCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdElu
ZGV4KDEpLmludFZhbHVlID09PSAxMAotUEFTUzogYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJ
bmRleCgxKS52YWx1ZURlc2NyaXB0aW9uID09PSAiQVhWYWx1ZURlc2NyaXB0aW9uOiAxMCIKK1By
ZXNzIGRvd24gYXJyb3cgdG8gZGVjcmVtZW50IHRoZSBkYXkgZmllbGQuCitQQVNTOiBzdWJmaWVs
ZHNbMl0uaW50VmFsdWUgPT09IDkKIAotU2ltdWxhdGluZyBkb3duIGFycm93IHByZXNzIHRvIGRl
Y3JlbWVudCB0aGUgc2Vjb25kIGZpZWxkIHZhbHVlLgotUEFTUzogYXhEYXRlRmllbGRXcmFwcGVy
LmNoaWxkQXRJbmRleCgxKS5pbnRWYWx1ZSA9PT0gOQotUEFTUzogYXhEYXRlRmllbGRXcmFwcGVy
LmNoaWxkQXRJbmRleCgxKS52YWx1ZURlc2NyaXB0aW9uID09PSAiQVhWYWx1ZURlc2NyaXB0aW9u
OiA5IgorUHJlc3MgdXAgYXJyb3cgdHdpY2UgdG8gaW5jcmVtZW50IHRoZSBkYXkgZmllbGQuCitQ
QVNTOiBzdWJmaWVsZHNbMl0uaW50VmFsdWUgPT09IDExCiAKLVNpbXVsYXRpbmcgdXAgYXJyb3cg
cHJlc3MgdG8gaW5jcmVtZW50IHRoZSBzZWNvbmQgZmllbGQgdmFsdWUuICh4MikKLVBBU1M6IGF4
RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMSkuaW50VmFsdWUgPT09IDExCi1QQVNTOiBh
eERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDEpLnZhbHVlRGVzY3JpcHRpb24gPT09ICJB
WFZhbHVlRGVzY3JpcHRpb246IDExIgorUHJlc3MgdGFiIHRvIG1vdmUgdG8gdGhlIHllYXIgZmll
bGQgaW4gdGhlIGRhdGUgaW5wdXQuCitQQVNTOiBzdWJmaWVsZHNbNF0uaW50VmFsdWUgPT09IDIw
MjIKIAotU2ltdWxhdGluZyB0YWIga2V5IHRvIG1vdmUgdG8gdGhlIG5leHQgZmllbGQgaW4gdGhl
IGRhdGUgaW5wdXQuCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDIpLmlu
dFZhbHVlID09PSAyMDIyCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDIp
LnZhbHVlRGVzY3JpcHRpb24gPT09ICJBWFZhbHVlRGVzY3JpcHRpb246IDIwMjIiCitQcmVzcyBk
b3duIGFycm93IDEwIHRpbWVzIHRvIGRlY3JlbWVudCB0aGUgeWVhciBmaWVsZC4KK1BBU1M6IHN1
YmZpZWxkc1s0XS5pbnRWYWx1ZSA9PT0gMjAxMgogCi1TaW11bGF0aW5nIGRvd24gYXJyb3cgcHJl
c3MgdG8gZGVjcmVtZW50IHRoZSB0aGlyZCBmaWVsZCB2YWx1ZS4gKHgxMCkKLVBBU1M6IGF4RGF0
ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMikuaW50VmFsdWUgPT09IDIwMTIKLVBBU1M6IGF4
RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMikudmFsdWVEZXNjcmlwdGlvbiA9PT0gIkFY
VmFsdWVEZXNjcmlwdGlvbjogMjAxMiIKK1ByZXNzIHVwIGFycm93IHRvIGluY3JlbWVudCB0aGUg
eWVhciBmaWVsZC4KK1BBU1M6IHN1YmZpZWxkc1s0XS5pbnRWYWx1ZSA9PT0gMjAxMwogCi1TaW11
bGF0aW5nIHVwIGFycm93IHByZXNzIHRvIGluY3JlbWVudCB0aGUgdGhpcmQgZmllbGQgdmFsdWUu
Ci1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDIpLmludFZhbHVlID09PSAy
MDEzCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDIpLnZhbHVlRGVzY3Jp
cHRpb24gPT09ICJBWFZhbHVlRGVzY3JpcHRpb246IDIwMTMiCi0KLU1hbnVhbGx5IHNldHRpbmcg
dGhlIGRhdGUgaW5wdXQncyB2YWx1ZSB2aWEgSmF2YVNjcmlwdC4KLVBBU1M6IGF4RGF0ZUZpZWxk
V3JhcHBlci5jaGlsZEF0SW5kZXgoMCkuaW50VmFsdWUgPT09IDEyCi1QQVNTOiBheERhdGVGaWVs
ZFdyYXBwZXIuY2hpbGRBdEluZGV4KDApLnZhbHVlRGVzY3JpcHRpb24gPT09ICJBWFZhbHVlRGVz
Y3JpcHRpb246IDEyIgotUEFTUzogYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgxKS5p
bnRWYWx1ZSA9PT0gMzAKLVBBU1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMSku
dmFsdWVEZXNjcmlwdGlvbiA9PT0gIkFYVmFsdWVEZXNjcmlwdGlvbjogMzAiCi1QQVNTOiBheERh
dGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDIpLmludFZhbHVlID09PSAyMDIzCi1QQVNTOiBh
eERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDIpLnZhbHVlRGVzY3JpcHRpb24gPT09ICJB
WFZhbHVlRGVzY3JpcHRpb246IDIwMjMiCitTZXQgdGhlIGRhdGUgdmlhIEphdmFTY3JpcHQuCitB
WERlc2NyaXB0aW9uOiBtb250aCBBWFJvbGU6IEFYSW5jcmVtZW50b3IgQVhWYWx1ZTogMTIKK0FY
RGVzY3JpcHRpb246ICBBWFJvbGU6IEFYU3RhdGljVGV4dCBBWFZhbHVlOiAvCitBWERlc2NyaXB0
aW9uOiBkYXkgQVhSb2xlOiBBWEluY3JlbWVudG9yIEFYVmFsdWU6IDMxCitBWERlc2NyaXB0aW9u
OiAgQVhSb2xlOiBBWFN0YXRpY1RleHQgQVhWYWx1ZTogLworQVhEZXNjcmlwdGlvbjogeWVhciBB
WFJvbGU6IEFYSW5jcmVtZW50b3IgQVhWYWx1ZTogMjAyMwogCiBQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZGF0
ZS1pbnB1dC1hcmlhLWxhYmVsLWFuZC12YWx1ZS5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9kYXRlLWlucHV0LWFyaWEtbGFiZWwtYW5kLXZhbHVlLmh0bWwKaW5kZXggY2M3ZGVhNTA5
YWE3Li44NTIxNzJhNGM5ZTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
ZGF0ZS1pbnB1dC1hcmlhLWxhYmVsLWFuZC12YWx1ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvZGF0ZS1pbnB1dC1hcmlhLWxhYmVsLWFuZC12YWx1ZS5odG1sCkBAIC02LDky
ICs2LDc3IEBACiA8L2hlYWQ+CiA8Ym9keT4KIAotPGlucHV0IGlkPSJkYXRlLWlucHV0IiB0eXBl
PSJkYXRlIiB2YWx1ZT0iMjAyMi0wMi0wMiIgLz4KKzxpbnB1dCBpZD0iZGF0ZS1pbnB1dCIgdHlw
ZT0iZGF0ZSIgdmFsdWU9IjIwMjItMTEtMjEiIC8+CiAKIDxzY3JpcHQ+Ci12YXIgdGVzdE91dHB1
dCA9ICJUZXN0cyB0aGF0IGFyaWEtbGFiZWwgYW5kIGFyaWEtdmFsdWVub3cgdXBkYXRlIGNvcnJl
Y3RseSBmb3IgZGF0ZSBpbnB1dHMuXG5cbiI7Cit2YXIgb3V0cHV0ID0gIlRlc3RzIHRoYXQgc3Vi
ZmllbGQgdmFsdWVzIHVwZGF0ZSBjb3JyZWN0bHkgZm9yIGRhdGUgaW5wdXRzLlxuXG4iOwogCi1m
dW5jdGlvbiBvdXRwdXRTdHJpbmcobWVzc2FnZSkgewotICAgIHRlc3RPdXRwdXQgKz0gKGBcbiR7
bWVzc2FnZX1cbmApOwotfQotCi1mdW5jdGlvbiBrZXlEb3duKGtleSwgcmVwZWF0ID0gMSwgbWVz
c2FnZSA9ICIiKSB7Ci0gICAgaWYgKG1lc3NhZ2UpIAotICAgICAgICBvdXRwdXRTdHJpbmcobWVz
c2FnZSArIGAgKHgke3JlcGVhdH0pYCk7Ci0KLSAgICBmb3IgKGxldCBpID0gMCA7IGkgPCByZXBl
YXQgOyBpKyspIAorZnVuY3Rpb24ga2V5RG93bihrZXksIHJlcGVhdCA9IDEpIHsKKyAgICBmb3Ig
KGxldCBpID0gMDsgaSA8IHJlcGVhdDsgaSsrKQogICAgICAgICBldmVudFNlbmRlci5rZXlEb3du
KGtleSk7CiB9CiAKIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKICAgICB3
aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci0gICAgdmFyIGF4RGF0ZUZpZWxkV3JhcHBlciA9
IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgiZGF0ZS1pbnB1
dCIpCi0gICAgICAgICAgICAuY2hpbGRBdEluZGV4KDApCi0gICAgICAgICAgICAuY2hpbGRBdElu
ZGV4KDApOwotCi0gICAgc2V0VGltZW91dChhc3luYyBmdW5jdGlvbigpIHsKLSAgICAgICAgYXN5
bmMgZnVuY3Rpb24gZXhwZWN0Q2hpbGRUb0hhdmVBUklBVmFsdWVBdHRyaWJ1dGVzKGNoaWxkSW5k
ZXgsIGRlc2NyaXB0aW9uKSB7Ci0gICAgICAgICAgICBsZXQgcmVzdWx0ID0gYXdhaXQgZXhwZWN0
QXN5bmMoYGF4RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoJHtjaGlsZEluZGV4fSkuaW50
VmFsdWVgLCBgJHtkZXNjcmlwdGlvbn1gKTsKLQotICAgICAgICAgICAgcmVzdWx0ICs9IGF3YWl0
IGV4cGVjdEFzeW5jKGBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KCR7Y2hpbGRJbmRl
eH0pLnZhbHVlRGVzY3JpcHRpb25gLCBgIkFYVmFsdWVEZXNjcmlwdGlvbjogJHtkZXNjcmlwdGlv
bn0iYCk7Ci0KLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgICAgIH0KLSAgICAgICAg
Ci0gICAgICAgIGZ1bmN0aW9uIGV4cGVjdENoaWxkVG9IYXZlQVJJQUxhYmVsKGNoaWxkSW5kZXgs
IGxhYmVsVGV4dCkgewotICAgICAgICAgICAgcmV0dXJuIGV4cGVjdChgcGxhdGZvcm1WYWx1ZUZv
clczQ05hbWUoYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgke2NoaWxkSW5kZXh9KSlg
LCBsYWJlbFRleHQpOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBjb25zdCBkYXRlSW5w
dXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGF0ZS1pbnB1dCIpOwotCi0gICAgICAgIG91
dHB1dFN0cmluZygiQ2hlY2tpbmcgQVJJQSBMYWJlbHMgZm9yIHN1Yi1maWVsZHMiKTsKLSAgICAg
ICAgdGVzdE91dHB1dCArPSBleHBlY3RDaGlsZFRvSGF2ZUFSSUFMYWJlbCgwLCBgIm1vbnRoImAp
OwotICAgICAgICB0ZXN0T3V0cHV0ICs9IGV4cGVjdENoaWxkVG9IYXZlQVJJQUxhYmVsKDEsIGAi
ZGF5ImApOwotICAgICAgICB0ZXN0T3V0cHV0ICs9IGV4cGVjdENoaWxkVG9IYXZlQVJJQUxhYmVs
KDIsIGAieWVhciJgKTsKLSAgICAgICAgCi0gICAgICAgIG91dHB1dFN0cmluZygiRm9jdXNpbmcg
ZGF0ZSBlbGVtZW50IGFuZCBwcmVzc2luZyB1cCBhcnJvdyB0byBpbmNyZW1lbnQgdGhlIGZpcnN0
IGZpZWxkLiIpOworICAgIGNvbnN0IGRhdGVJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJkYXRlLWlucHV0Iik7CisgICAgdmFyIGF4RGF0ZUlucHV0ID0gYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJkYXRlLWlucHV0Iik7CisKKyAgICBmdW5jdGlv
biBnZXRBbmRMb2dTdWJmaWVsZHMoYXhFbGVtZW50KSB7CisgICAgICAgIGxldCBzdWJmaWVsZHMg
PSBheEVsZW1lbnQuY2hpbGRBdEluZGV4KDApLmNoaWxkQXRJbmRleCgwKS5jaGlsZHJlbjsKKyAg
ICAgICAgc3ViZmllbGRzLmZvckVhY2goKGNoaWxkKSA9PiB7CisgICAgICAgICAgICBvdXRwdXQg
Kz0gYCR7Y2hpbGQuZGVzY3JpcHRpb259ICR7Y2hpbGQucm9sZX0gJHtjaGlsZC5zdHJpbmdWYWx1
ZX1cbmA7CisgICAgICAgIH0pOworICAgICAgICByZXR1cm4gc3ViZmllbGRzOworICAgIH0KKwor
ICAgIG91dHB1dCs9ICJPcmlnaW5hbCBzdWJmaWVsZCB2YWx1ZXM6XG4iOworICAgIHZhciBzdWJm
aWVsZHMgPSBnZXRBbmRMb2dTdWJmaWVsZHMoYXhEYXRlSW5wdXQpOworCisgICAgc2V0VGltZW91
dChhc3luYyAoKSA9PiB7CisgICAgICAgIG91dHB1dCArPSAiXG5Gb2N1cyBkYXRlIGVsZW1lbnQg
YW5kIHByZXNzIHVwIGFycm93IHRvIGluY3JlbWVudCB0aGUgbW9udGggZmllbGQ6XG4iOwogICAg
ICAgICBkYXRlSW5wdXQuZm9jdXMoKTsKICAgICAgICAga2V5RG93bigidXBBcnJvdyIpOworICAg
ICAgICBvdXRwdXQgKz0gYXdhaXQgZXhwZWN0QXN5bmMoInN1YmZpZWxkc1swXS5pbnRWYWx1ZSIs
ICIxMiIpOwogCi0gICAgICAgIHRlc3RPdXRwdXQgKz0gYXdhaXQgZXhwZWN0Q2hpbGRUb0hhdmVB
UklBVmFsdWVBdHRyaWJ1dGVzKDAsIDMpOwotCi0gICAgICAgIGtleURvd24oImRvd25BcnJvdyIs
IDIsICJTaW11bGF0aW5nIGRvd24gYXJyb3cgcHJlc3MgdG8gZGVjcmVtZW50IHRoZSBmaXJzdCBm
aWVsZC4iKTsKLSAgICAgICAgdGVzdE91dHB1dCArPSBhd2FpdCBleHBlY3RDaGlsZFRvSGF2ZUFS
SUFWYWx1ZUF0dHJpYnV0ZXMoMCwgMSk7CisgICAgICAgIG91dHB1dCArPSAiXG5QcmVzcyBkb3du
IGFycm93IHR3aWNlIHRvIGRlY3JlbWVudCB0aGUgbW9udGggZmllbGQuXG4iOworICAgICAgICBr
ZXlEb3duKCJkb3duQXJyb3ciLCAyKTsKKyAgICAgICAgb3V0cHV0ICs9IGF3YWl0IGV4cGVjdEFz
eW5jKCJzdWJmaWVsZHNbMF0uaW50VmFsdWUiLCAiMTAiKTsKIAotICAgICAgICBvdXRwdXRTdHJp
bmcoIlNpbXVsYXRpbmcgdGFiIGtleSB0byBtb3ZlIHRvIHRoZSBuZXh0IGZpZWxkIGluIHRoZSBk
YXRlIGlucHV0LiIpOworICAgICAgICBvdXRwdXQgKz0gIlxuUHJlc3MgdGhlIHRhYiBrZXkgdG8g
bW92ZSB0byB0aGUgZGF5IGZpZWxkIGluIHRoZSBkYXRlIGlucHV0LlxuIjsKICAgICAgICAga2V5
RG93bigiXHQiKTsKLSAgICAgICAgdGVzdE91dHB1dCArPSBhd2FpdCBleHBlY3RDaGlsZFRvSGF2
ZUFSSUFWYWx1ZUF0dHJpYnV0ZXMoMSwgMik7CisgICAgICAgIG91dHB1dCArPSBhd2FpdCBleHBl
Y3RBc3luYygic3ViZmllbGRzWzJdLmludFZhbHVlIiwgIjIxIik7CiAKLSAgICAgICAgb3V0cHV0
U3RyaW5nKCJTaW11bGF0aW5nIHR5cGluZyBcIjEwXCIgaW4gdGhlIHNlY29uZCBpbnB1dCBmaWVs
ZC4iKTsKKyAgICAgICAgb3V0cHV0ICs9ICJcblR5cGUgMTAgaW4gdGhlIGRheSBzdWJmaWVsZC5c
biI7CiAgICAgICAgIGtleURvd24oIjEiKTsKICAgICAgICAga2V5RG93bigiMCIpCi0gICAgICAg
IHRlc3RPdXRwdXQgKz0gYXdhaXQgZXhwZWN0Q2hpbGRUb0hhdmVBUklBVmFsdWVBdHRyaWJ1dGVz
KDEsIDEwKTsKKyAgICAgICAgb3V0cHV0ICs9IGF3YWl0IGV4cGVjdEFzeW5jKCJzdWJmaWVsZHNb
Ml0uaW50VmFsdWUiLCAiMTAiKTsKIAotICAgICAgICBvdXRwdXRTdHJpbmcoIlNpbXVsYXRpbmcg
ZG93biBhcnJvdyBwcmVzcyB0byBkZWNyZW1lbnQgdGhlIHNlY29uZCBmaWVsZCB2YWx1ZS4iKQor
ICAgICAgICBvdXRwdXQgKz0gIlxuUHJlc3MgZG93biBhcnJvdyB0byBkZWNyZW1lbnQgdGhlIGRh
eSBmaWVsZC5cbiI7CiAgICAgICAgIGtleURvd24oImRvd25BcnJvdyIpOwotICAgICAgICB0ZXN0
T3V0cHV0ICs9IGF3YWl0IGV4cGVjdENoaWxkVG9IYXZlQVJJQVZhbHVlQXR0cmlidXRlcygxLCA5
KTsKKyAgICAgICAgb3V0cHV0ICs9IGF3YWl0IGV4cGVjdEFzeW5jKCJzdWJmaWVsZHNbMl0uaW50
VmFsdWUiLCAiOSIpOwogCi0gICAgICAgIGtleURvd24oInVwQXJyb3ciLCAyLCAiU2ltdWxhdGlu
ZyB1cCBhcnJvdyBwcmVzcyB0byBpbmNyZW1lbnQgdGhlIHNlY29uZCBmaWVsZCB2YWx1ZS4iKTsK
LSAgICAgICAgdGVzdE91dHB1dCArPSBhd2FpdCBleHBlY3RDaGlsZFRvSGF2ZUFSSUFWYWx1ZUF0
dHJpYnV0ZXMoMSwgMTEpOworICAgICAgICBvdXRwdXQgKz0gIlxuUHJlc3MgdXAgYXJyb3cgdHdp
Y2UgdG8gaW5jcmVtZW50IHRoZSBkYXkgZmllbGQuXG4iOworICAgICAgICBrZXlEb3duKCJ1cEFy
cm93IiwgMik7CisgICAgICAgIG91dHB1dCArPSBhd2FpdCBleHBlY3RBc3luYygic3ViZmllbGRz
WzJdLmludFZhbHVlIiwgIjExIik7CiAKLSAgICAgICAgb3V0cHV0U3RyaW5nKCJTaW11bGF0aW5n
IHRhYiBrZXkgdG8gbW92ZSB0byB0aGUgbmV4dCBmaWVsZCBpbiB0aGUgZGF0ZSBpbnB1dC4iKTsK
KyAgICAgICAgb3V0cHV0ICs9ICJcblByZXNzIHRhYiB0byBtb3ZlIHRvIHRoZSB5ZWFyIGZpZWxk
IGluIHRoZSBkYXRlIGlucHV0LlxuIjsKICAgICAgICAga2V5RG93bigiXHQiKTsKLSAgICAgICAg
dGVzdE91dHB1dCArPSBhd2FpdCBleHBlY3RDaGlsZFRvSGF2ZUFSSUFWYWx1ZUF0dHJpYnV0ZXMo
MiwgMjAyMik7CisgICAgICAgIG91dHB1dCArPSBhd2FpdCBleHBlY3RBc3luYygic3ViZmllbGRz
WzRdLmludFZhbHVlIiwgIjIwMjIiKTsKIAotICAgICAgICBrZXlEb3duKCJkb3duQXJyb3ciLCAx
MCwgIlNpbXVsYXRpbmcgZG93biBhcnJvdyBwcmVzcyB0byBkZWNyZW1lbnQgdGhlIHRoaXJkIGZp
ZWxkIHZhbHVlLiIpOwotICAgICAgICB0ZXN0T3V0cHV0ICs9IGF3YWl0IGV4cGVjdENoaWxkVG9I
YXZlQVJJQVZhbHVlQXR0cmlidXRlcygyLCAyMDEyKTsKKyAgICAgICAgb3V0cHV0Kz0gIlxuUHJl
c3MgZG93biBhcnJvdyAxMCB0aW1lcyB0byBkZWNyZW1lbnQgdGhlIHllYXIgZmllbGQuXG4iOwor
ICAgICAgICBrZXlEb3duKCJkb3duQXJyb3ciLCAxMCk7CisgICAgICAgIG91dHB1dCArPSBhd2Fp
dCBleHBlY3RBc3luYygic3ViZmllbGRzWzRdLmludFZhbHVlIiwgIjIwMTIiKTsKIAotICAgICAg
ICBvdXRwdXRTdHJpbmcoIlNpbXVsYXRpbmcgdXAgYXJyb3cgcHJlc3MgdG8gaW5jcmVtZW50IHRo
ZSB0aGlyZCBmaWVsZCB2YWx1ZS4iKQorICAgICAgICBvdXRwdXQgKz0gIlxuUHJlc3MgdXAgYXJy
b3cgdG8gaW5jcmVtZW50IHRoZSB5ZWFyIGZpZWxkLlxuIjsKICAgICAgICAga2V5RG93bigidXBB
cnJvdyIpOwotICAgICAgICB0ZXN0T3V0cHV0ICs9IGF3YWl0IGV4cGVjdENoaWxkVG9IYXZlQVJJ
QVZhbHVlQXR0cmlidXRlcygyLCAyMDEzKTsKKyAgICAgICAgb3V0cHV0ICs9IGF3YWl0IGV4cGVj
dEFzeW5jKCJzdWJmaWVsZHNbNF0uaW50VmFsdWUiLCAiMjAxMyIpOwogCi0gICAgICAgIG91dHB1
dFN0cmluZygiTWFudWFsbHkgc2V0dGluZyB0aGUgZGF0ZSBpbnB1dCdzIHZhbHVlIHZpYSBKYXZh
U2NyaXB0LiIpCi0gICAgICAgIGRhdGVJbnB1dC52YWx1ZSA9ICIyMDIzLTEyLTMwIjsKLSAgICAg
ICAgdGVzdE91dHB1dCArPSBhd2FpdCBleHBlY3RDaGlsZFRvSGF2ZUFSSUFWYWx1ZUF0dHJpYnV0
ZXMoMCwgMTIpOwotICAgICAgICB0ZXN0T3V0cHV0ICs9IGF3YWl0IGV4cGVjdENoaWxkVG9IYXZl
QVJJQVZhbHVlQXR0cmlidXRlcygxLCAzMCk7Ci0gICAgICAgIHRlc3RPdXRwdXQgKz0gYXdhaXQg
ZXhwZWN0Q2hpbGRUb0hhdmVBUklBVmFsdWVBdHRyaWJ1dGVzKDIsIDIwMjMpOworICAgICAgICBv
dXRwdXQgKz0gIlxuU2V0IHRoZSBkYXRlIHZpYSBKYXZhU2NyaXB0LlxuIjsKKyAgICAgICAgZGF0
ZUlucHV0LnZhbHVlID0gIjIwMjMtMTItMzEiOworICAgICAgICBhd2FpdCBleHBlY3RBc3luYygi
YXhEYXRlSW5wdXQuY2hpbGRBdEluZGV4KDApLmNoaWxkQXRJbmRleCgwKS5jaGlsZHJlbls0XS5p
bnRWYWx1ZSIsICIyMDIzIik7CisgICAgICAgIGdldEFuZExvZ1N1YmZpZWxkcyhheERhdGVJbnB1
dCk7CiAKLSAgICAgICAgZGVidWcodGVzdE91dHB1dCk7CisgICAgICAgIGRlYnVnKG91dHB1dCk7
CiAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAgIH0pOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVsLXZhbHVlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12YWx1ZS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi45ZDU0MjRjYTg3
YmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lucHV0LXRp
bWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1RoaXMgdGVzdHMg
aW5wdXQgdHlwZT10aW1lIGxhYmVsIGFuZCB2YWx1ZSBwcm9wZXJ0aWVzLgorCitQQVNTOiBpbnB1
dHRpbWUudGl0bGUgPT09ICdBWFRpdGxlOiAoQmV0d2VlbjogMDc6MDAgQU0tMDk6MDAgQU0pJwor
QVhWYWx1ZTogMDg6MDDigK9BTQorUEFTUzogaW5wdXR0aW1lLnRpdGxlID09PSAnQVhUaXRsZTog
JworQVhWYWx1ZTogMDc6MzDigK9BTQorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9pbnB1dC10aW1lLWxhYmVsLXZhbHVlLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAuLjJiM2FhY2FiNTc3NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12YWx1ZS5odG1sCkBAIC0wLDAgKzEsMjgg
QEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2FjY2Vzc2liaWxpdHktaGVscGVy
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworPGlucHV0IHR5cGU9InRpbWUiIGlkPSJpbnB1dHRp
bWUxIiBhcmlhLWxhYmVsPSIoQmV0d2VlbjogMDc6MDAgQU0tMDk6MDAgQU0pIiBtaW49IjA3OjAw
IiBtYXg9IjA5OjAwIiBzdGVwPSIzMDAiIHBsYWNlaG9sZGVyPSIwMDowMCBBTSIgdmFsdWU9IjA4
OjAwIj4KKzxpbnB1dCB0eXBlPSJ0aW1lIiBpZD0iaW5wdXR0aW1lMiIgbWluPSIwNzowMCIgbWF4
PSIwOTowMCIgc3RlcD0iMzAwIiB2YWx1ZT0iMDc6MzAiPgorCis8c2NyaXB0PgorbGV0IG91dHB1
dCA9ICJUaGlzIHRlc3RzIGlucHV0IHR5cGU9dGltZSBsYWJlbCBhbmQgdmFsdWUgcHJvcGVydGll
cy5cblxuIjsKKworaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgeworICAgIHZh
ciBpbnB1dHRpbWUgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5
SWQoImlucHV0dGltZTEiKTsKKyAgICBvdXRwdXQgKz0gZXhwZWN0KCJpbnB1dHRpbWUudGl0bGUi
LCAiJ0FYVGl0bGU6IChCZXR3ZWVuOiAwNzowMCBBTS0wOTowMCBBTSknIik7CisgICAgb3V0cHV0
ICs9IGAke2lucHV0dGltZS5zdHJpbmdWYWx1ZX1cbmA7CisKKyAgICBpbnB1dHRpbWUgPSBhY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImlucHV0dGltZTIiKTsK
KyAgICBvdXRwdXQgKz0gZXhwZWN0KCJpbnB1dHRpbWUudGl0bGUiLCAiJ0FYVGl0bGU6ICciKTsK
KyAgICBvdXRwdXQgKz0gYCR7aW5wdXR0aW1lLnN0cmluZ1ZhbHVlfVxuYDsKKworICAgIGRlYnVn
KG91dHB1dCk7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9pbnB1dC10eXBlLXRpbWUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxhdG9yL2lucHV0
LXR5cGUtdGltZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY0
OTNhM2YzOTMwZS4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
aW9zLXNpbXVsYXRvci9pbnB1dC10eXBlLXRpbWUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsMTUgKzAsMCBAQAotCi1UaGlzIHRlc3RzIHRoYXQgaW5wdXQgdHlwZTogdGltZSBpcyBh
Y2Nlc3NpYmxlIG9uIGlPUy4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mg
dGltZWlucHV0LmRlc2NyaXB0aW9uIGlzICdBWExhYmVsOiAoQmV0d2VlbjogMDc6MDAgQU0tMDk6
MDAgQU0pJwotUEFTUyB0aW1laW5wdXQuaXNJZ25vcmVkIGlzIGZhbHNlCi1QQVNTIHRpbWVpbnB1
dC5zdHJpbmdWYWx1ZSBpcyAnQVhWYWx1ZTogODowMOKAr0FNJwotUEFTUyB0aW1laW5wdXQyLmRl
c2NyaXB0aW9uIGlzICdBWExhYmVsOiAnCi1QQVNTIHRpbWVpbnB1dDIuc3RyaW5nVmFsdWUgaXMg
J0FYVmFsdWU6IDg6MDDigK9BTScKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLQot
VEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lv
cy1zaW11bGF0b3IvaW5wdXQtdHlwZS10aW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L2lvcy1zaW11bGF0b3IvaW5wdXQtdHlwZS10aW1lLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDNlOWU3ODJlNzBiNC4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9pbnB1dC10eXBlLXRpbWUuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDQwICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8v
RFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBjaGFyc2V0PXV0Zi04PgotPHNj
cmlwdD4KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKLTwvc2NyaXB0PgotPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keSBpZD0iYm9keSI+Ci0KLTxpbnB1dCBpZD0idGltZWlucHV0IiB0eXBlPSJ0aW1lIiBh
cmlhLWxhYmVsPSIoQmV0d2VlbjogMDc6MDAgQU0tMDk6MDAgQU0pIiBtaW49IjA3OjAwIiBtYXg9
IjA5OjAwIiBzdGVwPSIzMDAiIHBsYWNlaG9sZGVyPSIwMDowMCBBTSIgdmFsdWU9IjA4OjAwIj4K
LTxpbnB1dCBpZD0idGltZWlucHV0MiIgdHlwZT0idGltZSIgbWluPSIwNzowMCIgbWF4PSIwOTow
MCIgc3RlcD0iMzAwIiB2YWx1ZT0iMDg6MDAiPgotCi08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4K
LTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0PgotCi0gICAgZGVzY3JpcHRpb24o
IlRoaXMgdGVzdHMgdGhhdCBpbnB1dCB0eXBlOiB0aW1lIGlzIGFjY2Vzc2libGUgb24gaU9TLiIp
OwotCi0gICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotCi0gICAgICAg
IHZhciB0aW1laW5wdXQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVu
dEJ5SWQoInRpbWVpbnB1dCIpOwotICAgICAgICB2YXIgdGltZWlucHV0MiA9IGFjY2Vzc2liaWxp
dHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgidGltZWlucHV0MiIpOwotICAgICAg
ICBzaG91bGRCZSgidGltZWlucHV0LmRlc2NyaXB0aW9uIiwgIidBWExhYmVsOiAoQmV0d2Vlbjog
MDc6MDAgQU0tMDk6MDAgQU0pJyIpOwotICAgICAgICBzaG91bGRCZUZhbHNlKCJ0aW1laW5wdXQu
aXNJZ25vcmVkIik7Ci0gICAgICAgIAotICAgICAgICAvLyBUZXN0IHZhbHVlIGlzIGV4cG9zZWQg
aW4gQVhWYWx1ZS4KLSAgICAgICAgc2hvdWxkQmUoInRpbWVpbnB1dC5zdHJpbmdWYWx1ZSIsICIn
QVhWYWx1ZTogODowMOKAr0FNJyIpOwotICAgICAgICBzaG91bGRCZSgidGltZWlucHV0Mi5kZXNj
cmlwdGlvbiIsICInQVhMYWJlbDogJyIpOwotICAgICAgICBzaG91bGRCZSgidGltZWlucHV0Mi5z
dHJpbmdWYWx1ZSIsICInQVhWYWx1ZTogODowMOKAr0FNJyIpOwotICAgIH0KLQotICAgIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvaW5wdXQtdGlt
ZS1sYWJlbC12YWx1ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNj
ZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVsLXZhbHVlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjE0MWM1NTQ3NzUyNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUt
bGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1RoaXMgdGVzdHMgaW5w
dXQgdHlwZT10aW1lIGxhYmVsIGFuZCB2YWx1ZSBwcm9wZXJ0aWVzLgorCitQQVNTOiBpbnB1dHRp
bWUudGl0bGUgPT09ICdBWFRpdGxlOiAoQmV0d2VlbjogMDc6MDAgQU0tMDk6MDAgQU0pJworCitQ
QVNTOiBpbnB1dHRpbWUudGl0bGUgPT09ICdBWFRpdGxlOiAnCisKKworUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9jaGFuZ2luZy1hcmlhLWhp
ZGRlbi13aXRoLWRpc3BsYXktbm9uZS1wYXJlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2NoYW5naW5nLWFyaWEtaGlkZGVu
LXdpdGgtZGlzcGxheS1ub25lLXBhcmVudC1leHBlY3RlZC50eHQKaW5kZXggYzZkN2I1Y2FkMmNi
Li4zZTFmNzhiNzI3YjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11
bGF0b3IvYWNjZXNzaWJpbGl0eS9jaGFuZ2luZy1hcmlhLWhpZGRlbi13aXRoLWRpc3BsYXktbm9u
ZS1wYXJlbnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11
bGF0b3IvYWNjZXNzaWJpbGl0eS9jaGFuZ2luZy1hcmlhLWhpZGRlbi13aXRoLWRpc3BsYXktbm9u
ZS1wYXJlbnQtZXhwZWN0ZWQudHh0CkBAIC0xLDIyICsxLDIyIEBACiBUaGlzIHRlc3QgZW5zdXJl
cyB0aGF0IHdlIGRvbid0IGNyYXNoIHdoZW4gcmVtb3ZpbmcgYW4gb2JqZWN0IGZyb20gdGhlIEFY
IHRyZWUgd2hvc2UgY2hpbGQgcmVjZW50bHkgY2hhbmdlZCBhcmlhLWhpZGRlbiBzdGF0dXMuCiAK
LUFwcGxpY2F0aW9uR3JvdXAgIEFYTGFiZWw6Ci0gIExpc3QgIEFYTGFiZWw6Ci0gICAgTGlzdEl0
ZW0gIEFYTGFiZWw6Ci0gICAgICBMaXN0TWFya2VyICBBWExhYmVsOiDigKIKLSAgICAgIFN0YXRp
Y1RleHQgIEFYTGFiZWw6IE9uZQotICAgIExpc3RJdGVtICBBWExhYmVsOgotICAgICAgTGlzdE1h
cmtlciAgQVhMYWJlbDog4oCiCi0gICAgICBTdGF0aWNUZXh0ICBBWExhYmVsOiBUd28KLSAgICBM
aXN0SXRlbSAgQVhMYWJlbDoKLSAgICAgIExpc3RNYXJrZXIgIEFYTGFiZWw6IOKAogotICAgICAg
U3RhdGljVGV4dCAgQVhMYWJlbDogVGhyZWUKK0FwcGxpY2F0aW9uR3JvdXAgQVhUaXRsZTogIEFY
TGFiZWw6CisgIExpc3QgQVhUaXRsZTogIEFYTGFiZWw6CisgICAgTGlzdEl0ZW0gQVhUaXRsZTog
IEFYTGFiZWw6CisgICAgICBMaXN0TWFya2VyIEFYVGl0bGU6IOKAoiBBWExhYmVsOiDigKIKKyAg
ICAgIFN0YXRpY1RleHQgQVhUaXRsZTogT25lIEFYTGFiZWw6IE9uZQorICAgIExpc3RJdGVtIEFY
VGl0bGU6ICBBWExhYmVsOgorICAgICAgTGlzdE1hcmtlciBBWFRpdGxlOiDigKIgQVhMYWJlbDog
4oCiCisgICAgICBTdGF0aWNUZXh0IEFYVGl0bGU6IFR3byBBWExhYmVsOiBUd28KKyAgICBMaXN0
SXRlbSBBWFRpdGxlOiAgQVhMYWJlbDoKKyAgICAgIExpc3RNYXJrZXIgQVhUaXRsZTog4oCiIEFY
TGFiZWw6IOKAogorICAgICAgU3RhdGljVGV4dCBBWFRpdGxlOiBUaHJlZSBBWExhYmVsOiBUaHJl
ZQogCiBNYWtpbmcgI2xpMSBhcmlhLWhpZGRlbiBhbmQgI3VsIGRpc3BsYXk6bm9uZS4KIAogUmUt
ZHVtcGluZyBBWCB0cmVlLgogCi1BcHBsaWNhdGlvbkdyb3VwICBBWExhYmVsOgorQXBwbGljYXRp
b25Hcm91cCBBWFRpdGxlOiAgQVhMYWJlbDoKIAogUEFTUzogVGhlcmUgd2FzIG5vIGNyYXNoLgog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDVmN2RhNWE5
NmQ1Mi4uNmJjYzA2OGZmMDI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMjIyMCw2ICsyMjIwLDcgQEAgYWNjZXNzaWJpbGl0eS9oZWFkaW5nLWxldmVs
Lmh0bWwgWyBQYXNzIF0KIGFjY2Vzc2liaWxpdHkvaHRtbDUtcmVxdWlyZWQtYXR0cmlidXRlLmh0
bWwgWyBQYXNzIF0KIGFjY2Vzc2liaWxpdHkvaWZyYW1lLXdpdGgtcm9sZS5odG1sIFsgUGFzcyBd
CiBhY2Nlc3NpYmlsaXR5L2lucHV0LXR5cGUtaGlkZGVuLWluLWFyaWEtaGlkZGVuLWZhbHNlLmh0
bWwgWyBQYXNzIF0KK2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12YWx1ZS5odG1sIFsg
UGFzcyBdCiBhY2Nlc3NpYmlsaXR5L2ludmFsaWQtaW5wdXRzLmh0bWwgWyBQYXNzIF0KIGFjY2Vz
c2liaWxpdHkvaW5zZXJ0LXRleHQtaW50by1wYXNzd29yZC1maWVsZC5odG1sIFsgUGFzcyBdCiBh
Y2Nlc3NpYmlsaXR5L2xpc3Qtd2l0aC1keW5hbWljYWxseS1jaGFuZ2luZy1jb250ZW50Lmh0bWwg
WyBQYXNzIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9hY2Nlc3NpYmls
aXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zL2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12YWx1ZS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi45YWQxYjJiZjc1YTMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvYWNjZXNzaWJpbGl0
eS9pbnB1dC10aW1lLWxhYmVsLXZhbHVlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitU
aGlzIHRlc3RzIGlucHV0IHR5cGU9dGltZSBsYWJlbCBhbmQgdmFsdWUgcHJvcGVydGllcy4KKwor
UEFTUzogaW5wdXR0aW1lLnRpdGxlID09PSAnQVhUaXRsZTogKEJldHdlZW46IDA3OjAwIEFNLTA5
OjAwIEFNKScKK0FYVmFsdWU6IDg6MDDigK9BTQorUEFTUzogaW5wdXR0aW1lLnRpdGxlID09PSAn
QVhUaXRsZTogJworQVhWYWx1ZTogNzozMOKAr0FNCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtbW9udGVyZXkvYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVsLXZhbHVlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1tb250ZXJleS9hY2Nlc3NpYmls
aXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMGI1MDEzZjMyOWJjCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLW1vbnRlcmV5L2FjY2Vzc2liaWxpdHkvaW5wdXQtdGlt
ZS1sYWJlbC12YWx1ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGhpcyB0ZXN0cyBp
bnB1dCB0eXBlPXRpbWUgbGFiZWwgYW5kIHZhbHVlIHByb3BlcnRpZXMuCisKK1BBU1M6IGlucHV0
dGltZS50aXRsZSA9PT0gJ0FYVGl0bGU6IChCZXR3ZWVuOiAwNzowMCBBTS0wOTowMCBBTSknCitB
WFZhbHVlOiAwODowMEFNCitQQVNTOiBpbnB1dHRpbWUudGl0bGUgPT09ICdBWFRpdGxlOiAnCitB
WFZhbHVlOiAwNzozMEFNCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggYzI1NDEzOGZhYTFjLi4wMmY5OGIzM2NiYzYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTgxMyw2ICs4MTMsNyBAQCBm
YXN0L3NwZWVjaHJlY29nbml0aW9uL3N0YXJ0LXJlY29nbml0aW9uLWFmdGVyLWd1bS5odG1sIFsg
U2tpcCBdCiBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3N0YXJ0LXJlY29nbml0aW9uLWFmdGVyLWRl
bmllZC1ndW0uaHRtbCBbIFNraXAgXQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9zdGFydC1yZWNv
Z25pdGlvbi13aXRob3V0LWRldmljZXMuaHRtbCBbIFNraXAgXQogCithY2Nlc3NpYmlsaXR5L2lu
cHV0LXRpbWUtbGFiZWwtdmFsdWUuaHRtbCBbIFdvbnRGaXggXQogYWNjZXNzaWJpbGl0eS9hbm5v
dW5jZW1lbnQtbm90aWZpY2F0aW9uLmh0bWwgWyBXb250Rml4IF0KIGFjY2Vzc2liaWxpdHkvcmVs
YXRpb25zaGlwcy5odG1sIFsgV29udEZpeCBdCiAjIERhdGFsaXN0IGlzIHVuc3VwcG9ydGVkIGlu
IFdLMQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>469674</attachid>
            <date>2024-02-02 06:11:23 -0800</date>
            <delta_ts>2024-02-03 10:38:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-268523-20240202091122.patch</filename>
            <type>text/plain</type>
            <size>44542</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">RnJvbSBmZjBmYzU1Njg5ODIxMDlmZThjZWI2MjcwNzA5NjcxM2YyYTdjNzJmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXMgR29uemFsZXogPGFuZHJlc2dfMjJAYXBwbGUuY29t
PgpEYXRlOiBXZWQsIDI0IEphbiAyMDI0IDEzOjM0OjI3IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0g
QVg6IFRoZSB2YWx1ZSBvZiBkYXRlIHRpbWUgZmllbGRzIGlzIG5vdCByZWFkIGJ5IFZvaWNlT3Zl
cgogd2hlbiB0aGUgVk8gY3Vyc29yIGxhbmRzIG9uIHRoZW0uCiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY4NTIzIDxyZGFyOi8vcHJvYmxlbS8xMjIwNTkwMjQ+CgpS
ZXZpZXdlZCBieSBUeWxlciBXaWxjb2NrLgoKVGhpcyBwYXRjaCBmaXhlcyB0aGUgcHJvYmxlbSBi
eSBwcm92aWRpbmcgYSBwcm9wZXIgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBzdHJpbmdWYWx1ZSgp
IG1ldGhvZCBpbiB0aGUgY2FzZSBvZiBhIGRhdGUgdGltZSBmaWVsZC4gU29tZSBpT1Mtc3BlY2lm
aWMgY29kZSB0byBoYW5kbGUgZGF0ZSB0aW1lIGZpZWxkcyB3YXMgcmUtd29ya2VkIGFuZCBwcm9t
b3RlZCB0byBjb3JlIGNvZGUgdG8gbWFrZSB0aGlzIGZpeCBwb3NzaWJsZSBpbiBhbGwgcGxhdGZv
cm1zLiBUaGUgcGF0Y2ggaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBjaGFuZ2VzOgotIEFkZGVkIGEg
RGF0ZVRpbWUgcm9sZSB0byBkZXNjcmliZSB0aGlzIGZhbWlseSBvZiBlbGVtZW50cy4KLSBNYXAg
dGhpcyByb2xlIHRvIGl0cyBhcHByb3ByaWF0ZSBwbGF0Zm9ybSBwcm9wZXJ0aWVzLgotIEZpeCBp
biBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpzdHJpbmdWYWx1ZSgpLgotIENvZGUgY2xlYW51
cC4KCiogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kYXRlLWlucHV0LWFyaWEtbGFiZWwtYW5k
LXZhbHVlLWV4cGVjdGVkLnR4dDoKKiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2RhdGUtaW5w
dXQtYXJpYS1sYWJlbC1hbmQtdmFsdWUuaHRtbDoKUmUtd3JvdGUgdGhpcyB0ZXN0IGFjY29yZGlu
ZyB0byBvdXIgY3VycmVudCBzdGFuZGFyZHMsIGFuZCBzaW1wbGlmaWVkIGFuZCBtYWRlIGNsZWFy
IHRoZSBjb2RlLgoKKiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwt
dmFsdWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lu
cHV0LXRpbWUtbGFiZWwtdmFsdWUuaHRtbDogQWRkZWQuClByb21vdGVkIHRoaXMgdGVzdCBmcm9t
IGlvcy1zaW11bGF0b3IgdG8gYWxsIHBsYXRmb3Jtcy4gQWxzbyBtb2Rlcm5pemVkIGFuZCBjbGVh
bmVkIHVwIHRoZSBjb2RlLgoKKiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0
b3IvaW5wdXQtdHlwZS10aW1lLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKiBMYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvaW5wdXQtdHlwZS10aW1lLmh0bWw6IFJlbW92ZWQu
CkJlY2FtZSBpbnB1dC10aW1lLWxhYmVsLXZhbHVlLmh0bWwgYWJvdmUuCgoqIExheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL2FjY2Vz
c2liaWxpdHkvY2hhbmdpbmctYXJpYS1oaWRkZW4td2l0aC1kaXNwbGF5LW5vbmUtcGFyZW50LWV4
cGVjdGVkLnR4dDoKUmViYXNlZCBiZWNhdXNlIG5vdyBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0
aXRsZSByZXR1cm5zIHNvbWV0aGluZyBvbiBpT1MsIGJlZm9yZSByZXR1cm5lZCBudWxsLgoKKiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9uczoKKiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3MvYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVsLXZhbHVlLWV4cGVjdGVk
LnR4dDogQWRkZWQuCiogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRp
b25zOgoqIExheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9hY2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUt
bGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KCiogU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BWENvcmVPYmplY3QuaDoKKFdlYkNvcmU6OmFjY2Vzc2liaWxpdHlSb2xlVG9TdHJp
bmcpOgooV2ViQ29yZTo6QVhDb3JlT2JqZWN0Ojppc0RhdGVUaW1lIGNvbnN0KToKKiBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgooV2ViQ29yZTo6QVhPYmpl
Y3RDYWNoZTo6Y3JlYXRlKToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0LmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojpk
ZXRlcm1pbmVBY2Nlc3NpYmlsaXR5Um9sZUZyb21Ob2RlIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgooV2ViQ29yZTo6aW5pdGlh
bGl6ZVJvbGVNYXApOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eU9iamVjdC5oOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpzdHJp
bmdWYWx1ZSBjb25zdCk6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjphZGRU
ZXh0RmllbGRDaGlsZHJlbik6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5U3BpbkJ1dHRvbi5oOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkv
QWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmNwcDoKKFdlYkNvcmU6OmF0c3BpUm9sZSk6CiogU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvQWNjZXNzaWJpbGl0eU9iamVjdElPUy5tbToK
KFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmlzSW5wdXRUeXBlUG9wdXBCdXR0b24gY29u
c3QpOiBEZWxldGVkLgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tOgooLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlciBkZXRlcm1pbmVJc0FjY2Vzc2liaWxpdHlFbGVtZW50XSk6CigtW1dlYkFjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyIHN0cmluZ1ZhbHVlU2hvdWxkQmVVc2VkSW5MYWJlbF0pOgooLVtXZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhY2Nlc3NpYmlsaXR5TGFiZWxdKToKKiBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0TWFjLm1tOgooV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eTo6Y3JlYXRlUGxhdGZvcm1Sb2xlTWFwKToKKiBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5t
bToKKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0eUF0dHJpYnV0
ZVZhbHVlOl0pOgoqIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW06CihXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnRpdGxlKToKLS0tCiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYQ29yZU9iamVjdC5o
ICAgfCAgIDUgKy0KIC4uLi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAg
ICB8ICAgNSArLQogLi4uL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3Bw
IHwgICA3ICstCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCAgICAg
fCAgIDEgKwogLi4uL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oICAgICAgIHwg
ICAxIC0KIC4uLi9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCAgICAgICAgICAgICB8ICAx
NCArKy0KIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmggICB8ICAy
MiArKy0tCiAuLi4vYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmNwcCAgICAgICAgfCAg
IDIgKwogLi4uL2lvcy9BY2Nlc3NpYmlsaXR5T2JqZWN0SU9TLm1tICAgICAgICAgICAgIHwgICA3
IC0tCiAuLi4vaW9zL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tICAgfCAgNTkg
KysrKy0tLS0tLQogLi4uL21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0TWFjLm1tICAgICAgICAgICAg
IHwgICAxICsKIC4uLi9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0gICB8
ICAgNyArLQogLi4uL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tICAgICAgICAgIHwg
ICAyICstCiAuLi50ZS1pbnB1dC1hcmlhLWxhYmVsLWFuZC12YWx1ZS1leHBlY3RlZC50eHQgfCAg
NzEgKysrKysrLS0tLS0tCiAuLi4vZGF0ZS1pbnB1dC1hcmlhLWxhYmVsLWFuZC12YWx1ZS5odG1s
ICAgICAgfCAxMDUgKysrKysrKystLS0tLS0tLS0tCiAuLi4vaW5wdXQtdGltZS1sYWJlbC12YWx1
ZS1leHBlY3RlZC50eHQgICAgICAgfCAgMTEgKysKIC4uLi9hY2Nlc3NpYmlsaXR5L2lucHV0LXRp
bWUtbGFiZWwtdmFsdWUuaHRtbCB8ICAyOCArKysrKwogLi4uL2lucHV0LXR5cGUtdGltZS1leHBl
Y3RlZC50eHQgICAgICAgICAgICAgIHwgIDE1IC0tLQogLi4uL2lvcy1zaW11bGF0b3IvaW5wdXQt
dHlwZS10aW1lLmh0bWwgICAgICAgIHwgIDQwIC0tLS0tLS0KIC4uLi9pbnB1dC10aW1lLWxhYmVs
LXZhbHVlLWV4cGVjdGVkLnR4dCAgICAgICB8ICAxMSArKwogLi4uZGRlbi13aXRoLWRpc3BsYXkt
bm9uZS1wYXJlbnQtZXhwZWN0ZWQudHh0IHwgIDI0ICsrLS0KIExheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy9UZXN0RXhwZWN0YXRpb25zICAgICB8ICAgMSArCiAuLi4vaW5wdXQtdGltZS1sYWJlbC12
YWx1ZS1leHBlY3RlZC50eHQgICAgICAgfCAgMTEgKysKIC4uLi9pbnB1dC10aW1lLWxhYmVsLXZh
bHVlLWV4cGVjdGVkLnR4dCAgICAgICB8ICAxMSArKwogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMS9UZXN0RXhwZWN0YXRpb25zIHwgICAxICsKIC4uLi9pbnB1dC10aW1lLWxhYmVsLXZhbHVl
LWV4cGVjdGVkLnR4dCAgICAgICB8ICAxMSArKwogMjYgZmlsZXMgY2hhbmdlZCwgMjMzIGluc2Vy
dGlvbnMoKyksIDI0MCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0CiBjcmVh
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVs
LXZhbHVlLmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L2lvcy1zaW11bGF0b3IvaW5wdXQtdHlwZS10aW1lLWV4cGVjdGVkLnR4dAogZGVsZXRlIG1vZGUg
MTAwNjQ0IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9pbnB1dC10eXBl
LXRpbWUuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9h
Y2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0CiBjcmVhdGUg
bW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2FjY2Vzc2liaWxpdHkvaW5wdXQt
dGltZS1sYWJlbC12YWx1ZS1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtbW9udGVyZXkvYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVs
LXZhbHVlLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3BsYXRm
b3JtL3dwZS9hY2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0
CgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWENvcmVPYmplY3Qu
aCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhDb3JlT2JqZWN0LmgKaW5kZXggYzk1
YzY0ZmNiMmE2Li5jMzY0ZTY2YzgzN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQVhDb3JlT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BWENvcmVPYmplY3QuaApAQCAtMTM2LDYgKzEzNiw3IEBAIGVudW0gY2xhc3MgQWNjZXNzaWJp
bGl0eVJvbGUgewogICAgIENvbHVtbiwKICAgICBDb2x1bW5IZWFkZXIsCiAgICAgQ29tYm9Cb3gs
CisgICAgRGF0ZVRpbWUsCiAgICAgRGVmaW5pdGlvbiwKICAgICBEZWxldGlvbiwKICAgICBEZXNj
cmlwdGlvbkxpc3QsCkBAIC0zMDMsNiArMzA0LDggQEAgQUxXQVlTX0lOTElORSBTdHJpbmcgYWNj
ZXNzaWJpbGl0eVJvbGVUb1N0cmluZyhBY2Nlc3NpYmlsaXR5Um9sZSByb2xlKQogICAgICAgICBy
ZXR1cm4gIkNvbHVtbkhlYWRlciJfczsKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpDb21i
b0JveDoKICAgICAgICAgcmV0dXJuICJDb21ib0JveCJfczsKKyAgICBjYXNlIEFjY2Vzc2liaWxp
dHlSb2xlOjpEYXRlVGltZToKKyAgICAgICAgcmV0dXJuICJEYXRlVGltZSJfczsKICAgICBjYXNl
IEFjY2Vzc2liaWxpdHlSb2xlOjpEZWZpbml0aW9uOgogICAgICAgICByZXR1cm4gIkRlZmluaXRp
b24iX3M7CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6RGVsZXRpb246CkBAIC05MDgsNiAr
OTExLDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNUYWJJdGVtKCkgY29uc3QgeyByZXR1cm4gcm9s
ZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OlRhYjsgfQogICAgIGJvb2wgaXNSYWRpb0dy
b3VwKCkgY29uc3QgeyByZXR1cm4gcm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OlJh
ZGlvR3JvdXA7IH0KICAgICBib29sIGlzQ29tYm9Cb3goKSBjb25zdCB7IHJldHVybiByb2xlVmFs
dWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6Q29tYm9Cb3g7IH0KKyAgICBib29sIGlzRGF0ZVRp
bWUoKSBjb25zdCB7IHJldHVybiByb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6RGF0
ZVRpbWU7IH0KICAgICBib29sIGlzVHJlZSgpIGNvbnN0IHsgcmV0dXJuIHJvbGVWYWx1ZSgpID09
IEFjY2Vzc2liaWxpdHlSb2xlOjpUcmVlOyB9CiAgICAgYm9vbCBpc1RyZWVHcmlkKCkgY29uc3Qg
eyByZXR1cm4gcm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OlRyZWVHcmlkOyB9CiAg
ICAgYm9vbCBpc1RyZWVJdGVtKCkgY29uc3QgeyByZXR1cm4gcm9sZVZhbHVlKCkgPT0gQWNjZXNz
aWJpbGl0eVJvbGU6OlRyZWVJdGVtOyB9CkBAIC0xMzY4LDcgKzEzNzIsNiBAQCBwdWJsaWM6CiAj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICB2aXJ0dWFsIGludCBhY2Nlc3NpYmlsaXR5U2Vj
dXJlRmllbGRMZW5ndGgoKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGhhc1RvdWNoRXZlbnRMaXN0
ZW5lcigpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNJbnB1dFR5cGVQb3B1cEJ1dHRv
bigpIGNvbnN0ID0gMDsKICNlbmRpZgogCiAgICAgLy8gYWxsb3dzIGZvciBhbiBBY2Nlc3NpYmls
aXR5T2JqZWN0IHRvIHVwZGF0ZSBpdHMgcmVuZGVyIHRyZWUgb3IgcGVyZm9ybQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKaW5kZXggNzhhMzMwZGE0
YzVjLi4wMWZkYTRjZjEyNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
WE9iamVjdENhY2hlLmNwcApAQCAtMTAyOSwxMSArMTAyOSwxMCBAQCBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KiBBWE9iamVjdENhY2hlOjpyb290T2JqZWN0Rm9yRnJhbWUoTG9jYWxGcmFtZSogZnJhbWUp
CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIHJldHVybiBnZXRPckNyZWF0ZShmcmFtZS0+
dmlldygpKTsKIH0gICAgCi0gICAgCisKIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFYT2JqZWN0Q2Fj
aGU6OmNyZWF0ZShBY2Nlc3NpYmlsaXR5Um9sZSByb2xlKQogewogICAgIFJlZlB0cjxBY2Nlc3Np
YmlsaXR5T2JqZWN0PiBvYmo7Ci0KICAgICAvLyB3aWxsIGJlIGZpbGxlZCBpbi4uLgogICAgIHN3
aXRjaCAocm9sZSkgewogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OkltYWdlTWFwTGluazoK
QEAgLTEwNTgsNyArMTA1Nyw3IEBAIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFYT2JqZWN0Q2FjaGU6
OmNyZWF0ZShBY2Nlc3NpYmlsaXR5Um9sZSByb2xlKQogICAgICAgICBvYmogPSBBY2Nlc3NpYmls
aXR5U3BpbkJ1dHRvblBhcnQ6OmNyZWF0ZSgpOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0
OgotICAgICAgICBvYmogPSBudWxscHRyOworICAgICAgICBicmVhazsKICAgICB9CiAKICAgICBp
ZiAoIW9iaikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU5vZGVPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKaW5kZXggNmM2NjU3NjVjYTJiLi41YjUxODEwMTdkNTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5v
ZGVPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eU5vZGVPYmplY3QuY3BwCkBAIC0zNDAsMTEgKzM0MCw4IEBAIEFjY2Vzc2liaWxpdHlSb2xl
IEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjpkZXRlcm1pbmVBY2Nlc3NpYmlsaXR5Um9sZUZyb21O
b2RlKFRyCiAgICAgICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVJvbGU6OlJhZGlvQnV0dG9u
OwogICAgICAgICBpZiAoaW5wdXQtPmlzVGV4dEJ1dHRvbigpKQogICAgICAgICAgICAgcmV0dXJu
IGJ1dHRvblJvbGVUeXBlKCk7Ci0gICAgICAgIC8vIE9uIGlPUywgdGhlIGRhdGUgZmllbGQgYW5k
IHRpbWUgZmllbGQgYXJlIHBvcHVwIGJ1dHRvbnMuIE9uIG90aGVyIHBsYXRmb3JtcyB0aGV5IGFy
ZSB0ZXh0IGZpZWxkcy4KLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgICAgICBpZiAoaW5w
dXQtPmlzRGF0ZUZpZWxkKCkgfHwgaW5wdXQtPmlzVGltZUZpZWxkKCkpCi0gICAgICAgICAgICBy
ZXR1cm4gQWNjZXNzaWJpbGl0eVJvbGU6OlBvcFVwQnV0dG9uOwotI2VuZGlmCisgICAgICAgIGlm
IChpbnB1dC0+aXNEYXRlRmllbGQoKSB8fCBpbnB1dC0+aXNEYXRlVGltZUxvY2FsRmllbGQoKSB8
fCBpbnB1dC0+aXNNb250aEZpZWxkKCkgfHwgaW5wdXQtPmlzVGltZUZpZWxkKCkgfHwgaW5wdXQt
PmlzV2Vla0ZpZWxkKCkpCisgICAgICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVJvbGU6OkRh
dGVUaW1lOwogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQogICAgICAgICBpZiAoaW5wdXQt
PmlzQ29sb3JDb250cm9sKCkpCiAgICAgICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVJvbGU6
OkNvbG9yV2VsbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuY3BwCmluZGV4IDQ2MGFhMzcxNDdkNi4uODM3YTI2MGU5N2FhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5jcHAKQEAgLTI3MzgsNiArMjczOCw3IEBAIHN0YXRpYyB2b2lkIGluaXRpYWxpemVSb2xlTWFw
KCkKICAgICAvLyBDcmVhdGUgc3BlY2lmaWMgc3lub255bXMgZm9yIHRoZSBjb21wdXRlZFJvbGUg
d2hpY2ggaXMgdXNlZCBpbiBXUFQgdGVzdHMgYW5kIHRoZSBhY2Nlc3NpYmlsaXR5IGluc3BlY3Rv
ci4KICAgICBnQXJpYVJldmVyc2VSb2xlTWFwLT5zZXQoZW51bVRvVW5kZXJseWluZ1R5cGUoQWNj
ZXNzaWJpbGl0eVJvbGU6OkltYWdlKSwgImltYWdlIl9zKTsKICAgICBnQXJpYVJldmVyc2VSb2xl
TWFwLT5zZXQoZW51bVRvVW5kZXJseWluZ1R5cGUoQWNjZXNzaWJpbGl0eVJvbGU6OlRleHRBcmVh
KSwgInRleHRib3giX3MpOworICAgIGdBcmlhUmV2ZXJzZVJvbGVNYXAtPnNldChlbnVtVG9VbmRl
cmx5aW5nVHlwZShBY2Nlc3NpYmlsaXR5Um9sZTo6RGF0ZVRpbWUpLCAidGV4dGJveCJfcyk7CiAg
ICAgZ0FyaWFSZXZlcnNlUm9sZU1hcC0+c2V0KGVudW1Ub1VuZGVybHlpbmdUeXBlKEFjY2Vzc2li
aWxpdHlSb2xlOjpQcmVzZW50YXRpb25hbCksICJub25lIl9zKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAppbmRleCA2MjIy
MGVlZDg1NDIuLjVkNzlmZGNlYmE2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKQEAgLTcxMiw3ICs3MTIsNiBAQCBwdWJsaWM6
CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBpbnQgYWNjZXNzaWJpbGl0eVNlY3VyZUZp
ZWxkTGVuZ3RoKCkgb3ZlcnJpZGU7CiAgICAgYm9vbCBoYXNUb3VjaEV2ZW50TGlzdGVuZXIoKSBj
b25zdCBvdmVycmlkZTsKLSAgICBib29sIGlzSW5wdXRUeXBlUG9wdXBCdXR0b24oKSBjb25zdCBv
dmVycmlkZTsKICNlbmRpZgogCiAgICAgLy8gYWxsb3dzIGZvciBhbiBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0IHRvIHVwZGF0ZSBpdHMgcmVuZGVyIHRyZWUgb3IgcGVyZm9ybQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5j
cHAKaW5kZXggMGMyNzJhNDk1NGM3Li44ZDQzNjJiNzg4NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNw
cApAQCAtNzg4LDEwICs3ODgsMTQgQEAgU3RyaW5nIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6
OnN0cmluZ1ZhbHVlKCkgY29uc3QKICAgICBpZiAoaXNXZWJBcmVhKCkpCiAgICAgICAgIHJldHVy
biB7IH07CiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIGlmIChpc0lucHV0VHlwZVBv
cHVwQnV0dG9uKCkpCi0gICAgICAgIHJldHVybiB0ZXh0VW5kZXJFbGVtZW50KCk7Ci0jZW5kaWYK
KyAgICBpZiAoaXNEYXRlVGltZSgpKSB7CisgICAgICAgIFN0cmluZyB2YWx1ZTsKKyAgICAgICAg
QWNjZXNzaWJpbGl0eTo6ZW51bWVyYXRlRGVzY2VuZGFudHMoKmNvbnN0X2Nhc3Q8QWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdCo+KHRoaXMpLCBmYWxzZSwgWyZ2YWx1ZV0gKGNvbnN0IGF1dG8mIG9i
amVjdCkgeworICAgICAgICAgICAgaWYgKG9iamVjdC5pc1N0YXRpY1RleHQoKSkKKyAgICAgICAg
ICAgICAgICB2YWx1ZSA9IHZhbHVlICsgb2JqZWN0LnN0cmluZ1ZhbHVlKCk7CisgICAgICAgIH0p
OworICAgICAgICByZXR1cm4gdmFsdWU7CisgICAgfQogCiAgICAgaWYgKGF1dG8qIHJlbmRlckZp
bGVVcGxvYWRDb250cm9sID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlckZpbGVVcGxvYWRDb250cm9s
PihtX3JlbmRlcmVyLmdldCgpKSkKICAgICAgICAgcmV0dXJuIHJlbmRlckZpbGVVcGxvYWRDb250
cm9sLT5maWxlVGV4dFZhbHVlKCk7CkBAIC0yMjkyLDcgKzIyOTYsNyBAQCB2b2lkIEFjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3Q6OmFkZFRleHRGaWVsZENoaWxkcmVuKCkKICAgICBSZWZQdHIgbm9k
ZSA9IGR5bmFtaWNEb3duY2FzdDxIVE1MSW5wdXRFbGVtZW50Pih0aGlzLT5ub2RlKCkpOwogICAg
IGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuOwotICAgIAorCiAgICAgYXV0byogc3BpbkJ1dHRv
bkVsZW1lbnQgPSBkeW5hbWljRG93bmNhc3Q8U3BpbkJ1dHRvbkVsZW1lbnQ+KG5vZGUtPmlubmVy
U3BpbkJ1dHRvbkVsZW1lbnQoKSk7CiAgICAgaWYgKCFzcGluQnV0dG9uRWxlbWVudCkKICAgICAg
ICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5U3BpbkJ1dHRvbi5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5U3BpbkJ1dHRvbi5oCmluZGV4IGUxY2Q0MmQ4ZjM1NS4uNzYyYzZmZWVkZWE1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTcGlu
QnV0dG9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
U3BpbkJ1dHRvbi5oCkBAIC0yOSwxOSArMjksMTkgQEAKICNpbmNsdWRlICJTcGluQnV0dG9uRWxl
bWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgCisKIGNsYXNzIEFjY2Vzc2liaWxp
dHlTcGluQnV0dG9uIGZpbmFsIDogcHVibGljIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0IHsKIHB1
YmxpYzoKICAgICBzdGF0aWMgUmVmPEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uPiBjcmVhdGUoKTsK
ICAgICB2aXJ0dWFsIH5BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbigpOwotICAgIAorCiAgICAgdm9p
ZCBzZXRTcGluQnV0dG9uRWxlbWVudChTcGluQnV0dG9uRWxlbWVudCogc3BpbkJ1dHRvbikgeyBt
X3NwaW5CdXR0b25FbGVtZW50ID0gc3BpbkJ1dHRvbjsgfQotICAgIAorCiAgICAgQVhDb3JlT2Jq
ZWN0KiBpbmNyZW1lbnRCdXR0b24oKSBvdmVycmlkZTsKICAgICBBWENvcmVPYmplY3QqIGRlY3Jl
bWVudEJ1dHRvbigpIG92ZXJyaWRlOwogCiAgICAgdm9pZCBzdGVwKGludCBhbW91bnQpOwotICAg
IAorCiBwcml2YXRlOgogICAgIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uKCk7CiAKQEAgLTQ5LDI5
ICs0OSwyOSBAQCBwcml2YXRlOgogICAgIGJvb2wgaXNOYXRpdmVTcGluQnV0dG9uKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZvaWQgYWRkQ2hpbGRyZW4oKSBvdmVycmlk
ZTsKICAgICBMYXlvdXRSZWN0IGVsZW1lbnRSZWN0KCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgCisK
ICAgICBXZWFrUHRyPFNwaW5CdXR0b25FbGVtZW50LCBXZWFrUHRySW1wbFdpdGhFdmVudFRhcmdl
dERhdGE+IG1fc3BpbkJ1dHRvbkVsZW1lbnQ7CiB9OyAKLSAgIAorCiBjbGFzcyBBY2Nlc3NpYmls
aXR5U3BpbkJ1dHRvblBhcnQgZmluYWwgOiBwdWJsaWMgQWNjZXNzaWJpbGl0eU1vY2tPYmplY3Qg
ewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8QWNjZXNzaWJpbGl0eVNwaW5CdXR0b25QYXJ0PiBj
cmVhdGUoKTsKICAgICB2aXJ0dWFsIH5BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvblBhcnQoKSA9IGRl
ZmF1bHQ7Ci0gICAgCisKICAgICBib29sIGlzSW5jcmVtZW50b3IoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBtX2lzSW5jcmVtZW50b3I7IH0KICAgICB2b2lkIHNldElzSW5jcmVtZW50b3IoYm9v
bCB2YWx1ZSkgeyBtX2lzSW5jcmVtZW50b3IgPSB2YWx1ZTsgfQotICAgIAorCiBwcml2YXRlOgog
ICAgIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uUGFydCgpOwotICAgIAorCiAgICAgYm9vbCBwcmVz
cygpIG92ZXJyaWRlOwogICAgIEFjY2Vzc2liaWxpdHlSb2xlIGRldGVybWluZUFjY2Vzc2liaWxp
dHlSb2xlKCkgZmluYWwgeyByZXR1cm4gQWNjZXNzaWJpbGl0eVJvbGU6OlNwaW5CdXR0b25QYXJ0
OyB9CiAgICAgYm9vbCBpc1NwaW5CdXR0b25QYXJ0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
dHJ1ZTsgfQogICAgIExheW91dFJlY3QgZWxlbWVudFJlY3QoKSBjb25zdCBvdmVycmlkZTsKIAot
ICAgIHVuc2lnbmVkIG1faXNJbmNyZW1lbnRvciA6IDE7CisgICAgYm9vbCBtX2lzSW5jcmVtZW50
b3IgeyB0cnVlIH07CiB9OwotICAgIAorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKIFNQRUNJ
QUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVNwaW5CdXR0b24p
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNz
aWJpbGl0eU9iamVjdEF0c3BpLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRz
cGkvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmNwcAppbmRleCA1MmVjZDUzM2QzZGYuLjVkZTk3
MGYxZjcwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmNwcApAQCAtMjk4LDYgKzI5OCw4
IEBAIHN0YXRpYyBBdHNwaTo6Um9sZSBhdHNwaVJvbGUoQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSkK
ICAgICAgICAgcmV0dXJuIEF0c3BpOjpSb2xlOjpDYW52YXM7CiAgICAgY2FzZSBBY2Nlc3NpYmls
aXR5Um9sZTo6SG9yaXpvbnRhbFJ1bGU6CiAgICAgICAgIHJldHVybiBBdHNwaTo6Um9sZTo6U2Vw
YXJhdG9yOworICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OkRhdGVUaW1lOgorICAgICAgICBy
ZXR1cm4gQXRzcGk6OlJvbGU6OkVudHJ5OwogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OlNw
aW5CdXR0b246CiAgICAgICAgIHJldHVybiBBdHNwaTo6Um9sZTo6U3BpbkJ1dHRvbjsKICAgICBj
YXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpUYWI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2lvcy9BY2Nlc3NpYmlsaXR5T2JqZWN0SU9TLm1tIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9pb3MvQWNjZXNzaWJpbGl0eU9iamVjdElPUy5tbQppbmRleCAwOGYz
NmFhY2I3NzQuLjdmOWNmNmU2NTYwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9pb3MvQWNjZXNzaWJpbGl0eU9iamVjdElPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L2lvcy9BY2Nlc3NpYmlsaXR5T2JqZWN0SU9TLm1tCkBAIC0xMzQsMTMg
KzEzNCw2IEBAIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6aGFzVG91Y2hFdmVudExpc3RlbmVy
KCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgQWNjZXNzaWJpbGl0eU9iamVj
dDo6aXNJbnB1dFR5cGVQb3B1cEJ1dHRvbigpIGNvbnN0Ci17Ci0gICAgaWYgKGlzPEhUTUxJbnB1
dEVsZW1lbnQ+KG5vZGUoKSkpCi0gICAgICAgIHJldHVybiByb2xlVmFsdWUoKSA9PSBBY2Nlc3Np
YmlsaXR5Um9sZTo6UG9wVXBCdXR0b247Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiB2b2lkIEFj
Y2Vzc2liaWxpdHlPYmplY3Q6OnNldExhc3RQcmVzZW50ZWRUZXh0UHJlZGljdGlvbihOb2RlJiBw
cmV2aW91c0NvbXBvc2l0aW9uTm9kZSwgQ29tcG9zaXRpb25TdGF0ZSBzdGF0ZSwgY29uc3QgU3Ry
aW5nJiB0ZXh0LCBzaXplX3QgbG9jYXRpb24sIGJvb2wgaGFuZGxpbmdBY2NlcHRlZENhbmRpZGF0
ZSkKIHsKICNpZiBIQVZFKElOTElORV9QUkVESUNUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9T
Lm1tIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJJT1MubW0KaW5kZXggMjdiNTJiMTQ4NjBiLi5lYmU2MjJiNDAyODkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9z
L1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tCkBAIC05MzgsMTYgKzkzOCwxNyBA
QCAtIChCT09MKWlzU1ZHR3JvdXBFbGVtZW50CiAKIC0gKEJPT0wpZGV0ZXJtaW5lSXNBY2Nlc3Np
YmlsaXR5RWxlbWVudAogewotICAgIGlmICghc2VsZi5heEJhY2tpbmdPYmplY3QpCisgICAgUmVm
UHRyPEFYQ29yZU9iamVjdD4gYmFja2luZ09iamVjdCA9IHNlbGYuYXhCYWNraW5nT2JqZWN0Owor
ICAgIGlmICghYmFja2luZ09iamVjdCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIAotICAg
IC8vIEhvbm9yIHdoZW4gc29tZXRoaW5nIGV4cGxpY2l0bHkgbWFrZXMgdGhpcyBhbiBlbGVtZW50
IChzdXBlciB3aWxsIGNvbnRhaW4gdGhhdCBsb2dpYykgCisKKyAgICAvLyBIb25vciB3aGVuIHNv
bWV0aGluZyBleHBsaWNpdGx5IG1ha2VzIHRoaXMgYW4gZWxlbWVudCAoc3VwZXIgd2lsbCBjb250
YWluIHRoYXQgbG9naWMpCiAgICAgaWYgKFtzdXBlciBpc0FjY2Vzc2liaWxpdHlFbGVtZW50XSkK
ICAgICAgICAgcmV0dXJuIFlFUzsKLSAgICAKLSAgICBzZWxmLmF4QmFja2luZ09iamVjdC0+dXBk
YXRlQmFja2luZ1N0b3JlKCk7Ci0gICAgCi0gICAgc3dpdGNoIChzZWxmLmF4QmFja2luZ09iamVj
dC0+cm9sZVZhbHVlKCkpIHsKKworICAgIGJhY2tpbmdPYmplY3QtPnVwZGF0ZUJhY2tpbmdTdG9y
ZSgpOworCisgICAgc3dpdGNoIChiYWNraW5nT2JqZWN0LT5yb2xlVmFsdWUoKSkgewogICAgIGNh
c2UgQWNjZXNzaWJpbGl0eVJvbGU6OlRleHRGaWVsZDoKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlS
b2xlOjpUZXh0QXJlYToKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpCdXR0b246CkBAIC05
NjcsNiArOTY4LDcgQEAgLSAoQk9PTClkZXRlcm1pbmVJc0FjY2Vzc2liaWxpdHlFbGVtZW50CiAg
ICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6TWVudUl0ZW1SYWRpbzoKICAgICBjYXNlIEFjY2Vz
c2liaWxpdHlSb2xlOjpJbmNyZW1lbnRvcjoKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpD
b21ib0JveDoKKyAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpEYXRlVGltZToKICAgICBjYXNl
IEFjY2Vzc2liaWxpdHlSb2xlOjpJbWFnZU1hcDoKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xl
OjpMaXN0TWFya2VyOgogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6Okxpc3RCb3hPcHRpb246
CkBAIC05ODgsMjYgKzk5MCwxNyBAQCAtIChCT09MKWRldGVybWluZUlzQWNjZXNzaWJpbGl0eUVs
ZW1lbnQKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgfQotICAgICAgICAKKwogICAgIC8vIERvbid0IGV4cG9zZSBoZWFkZXJzIGFzIGVsZW1lbnRz
OyBpbnN0ZWFkIGV4cG9zZSB0aGVpciBjaGlsZHJlbiBhcyBlbGVtZW50cywgd2l0aCB0aGUgaGVh
ZGVyIHRyYWl0ICh1bmxlc3MgdGhleSBoYXZlIG5vIGNoaWxkcmVuKQogICAgIGNhc2UgQWNjZXNz
aWJpbGl0eVJvbGU6OkhlYWRpbmc6Ci0gICAgICAgIGlmICghW3NlbGYgYWNjZXNzaWJpbGl0eUVs
ZW1lbnRDb3VudF0pCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgICAgICAKKyAgICAgICAgcmV0dXJuICFbc2VsZiBhY2Nlc3NpYmlsaXR5RWxlbWVu
dENvdW50XTsKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpWaWRlbzoKICAgICAgICAgcmV0
dXJuIFtzZWxmIGFjY2Vzc2liaWxpdHlJc1dlYkludGVyYWN0aXZlVmlkZW9dOwotICAgICAgICAK
LSAgICBpZiAoc2VsZi5heEJhY2tpbmdPYmplY3QtPmlzTm9uTmF0aXZlVGV4dENvbnRyb2woKSkK
LSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICAvLyBMaW5rcyBjYW4gc29tZXRpbWVzIGJlIGVs
ZW1lbnRzICh3aGVuIHRoZXkgb25seSBjb250YWluIHN0YXRpYyB0ZXh0IG9yIGRvbid0IGNvbnRh
aW4gYW55dGhpbmcpLgotICAgIC8vIFRoZXkgc2hvdWxkIG5vdCBiZSBlbGVtZW50cyB3aGVuIGNv
bnRhaW5pbmcgdGV4dCBhbmQgb3RoZXIgdHlwZXMuCiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9s
ZTo6V2ViQ29yZUxpbms6CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6TGluazoKLSAgICAg
ICAgaWYgKFtzZWxmIGNvbnRhaW5zVW5uYXR1cmFsbHlTZWdtZW50ZWRDaGlsZHJlbl0gfHwgIVtz
ZWxmIGFjY2Vzc2liaWxpdHlFbGVtZW50Q291bnRdKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgLy8gTGlua3MgY2FuIHNvbWV0aW1lcyBi
ZSBlbGVtZW50cyAod2hlbiB0aGV5IG9ubHkgY29udGFpbiBzdGF0aWMgdGV4dCBvciBkb24ndCBj
b250YWluIGFueXRoaW5nKS4KKyAgICAgICAgLy8gVGhleSBzaG91bGQgbm90IGJlIGVsZW1lbnRz
IHdoZW4gY29udGFpbmluZyB0ZXh0IGFuZCBvdGhlciB0eXBlcy4KKyAgICAgICAgcmV0dXJuIFtz
ZWxmIGNvbnRhaW5zVW5uYXR1cmFsbHlTZWdtZW50ZWRDaGlsZHJlbl0gfHwgIVtzZWxmIGFjY2Vz
c2liaWxpdHlFbGVtZW50Q291bnRdOwogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6Okdyb3Vw
OgogICAgICAgICBpZiAoW3NlbGYgaXNTVkdHcm91cEVsZW1lbnRdKQogICAgICAgICAgICAgcmV0
dXJuIHRydWU7CkBAIC0xMTEzLDE2ICsxMTA2LDE2IEBAIC0gKEJPT0wpZGV0ZXJtaW5lSXNBY2Nl
c3NpYmlsaXR5RWxlbWVudAogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OldlYkFyZWE6CiAg
ICAgICAgIC8vIENvbnNpZGVyIGZvY3VzYWJsZSBsZWFmLW5vZGVzIHdpdGggYSBsYWJlbCB0byBi
ZSBhY2Nlc3NpYmxlIGVsZW1lbnRzLgogICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNDkyCi0gICAgICAgIHJldHVybiBzZWxmLmF4QmFja2luZ09i
amVjdC0+aXNLZXlib2FyZEZvY3VzYWJsZSgpCisgICAgICAgIHJldHVybiBiYWNraW5nT2JqZWN0
LT5pc0tleWJvYXJkRm9jdXNhYmxlKCkKICAgICAgICAgICAgICYmIFtzZWxmIGFjY2Vzc2liaWxp
dHlFbGVtZW50Q291bnRdID09IDAKLSAgICAgICAgICAgICYmIHNlbGYuYXhCYWNraW5nT2JqZWN0
LT5kZXNjcmlwdGlvbkF0dHJpYnV0ZVZhbHVlKCkuZmluZChkZXByZWNhdGVkSXNOb3RTcGFjZU9y
TmV3bGluZSkgIT0gbm90Rm91bmQ7CisgICAgICAgICAgICAmJiBiYWNraW5nT2JqZWN0LT5kZXNj
cmlwdGlvbkF0dHJpYnV0ZVZhbHVlKCkuZmluZChkZXByZWNhdGVkSXNOb3RTcGFjZU9yTmV3bGlu
ZSkgIT0gbm90Rm91bmQ7CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6SWdub3JlZDoKICAg
ICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpMaW5lQnJlYWs6CiAgICAgY2FzZSBBY2Nlc3NpYmls
aXR5Um9sZTo6UHJlc2VudGF0aW9uYWw6CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6VW5r
bm93bjoKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KLSAgICAKKwogICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBmYWxzZTsKIH0KQEAgLTExNDAsMTYgKzExMzMsMTIg
QEAgLSAoQk9PTClpc0FjY2Vzc2liaWxpdHlFbGVtZW50CiAKIC0gKEJPT0wpc3RyaW5nVmFsdWVT
aG91bGRCZVVzZWRJbkxhYmVsCiB7Ci0gICAgaWYgKHNlbGYuYXhCYWNraW5nT2JqZWN0LT5pc1Rl
eHRDb250cm9sKCkpCi0gICAgICAgIHJldHVybiBOTzsKLSAgICBpZiAoc2VsZi5heEJhY2tpbmdP
YmplY3QtPnJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpQb3BVcEJ1dHRvbikKLSAg
ICAgICAgcmV0dXJuIE5POwotICAgIGlmIChzZWxmLmF4QmFja2luZ09iamVjdC0+aXNGaWxlVXBs
b2FkQnV0dG9uKCkpCi0gICAgICAgIHJldHVybiBOTzsKLSAgICBpZiAoW3NlbGYgYWNjZXNzaWJp
bGl0eUlzV2ViSW50ZXJhY3RpdmVWaWRlb10pCi0gICAgICAgIHJldHVybiBOTzsKLQotICAgIHJl
dHVybiBZRVM7CisgICAgUmVmUHRyPEFYQ29yZU9iamVjdD4gYmFja2luZ09iamVjdCA9IHNlbGYu
YXhCYWNraW5nT2JqZWN0OworICAgIHJldHVybiBiYWNraW5nT2JqZWN0ICYmICEoYmFja2luZ09i
amVjdC0+aXNUZXh0Q29udHJvbCgpCisgICAgICAgIHx8IGJhY2tpbmdPYmplY3QtPmlzUG9wVXBC
dXR0b24oKQorICAgICAgICB8fCBiYWNraW5nT2JqZWN0LT5pc0RhdGVUaW1lKCkKKyAgICAgICAg
fHwgYmFja2luZ09iamVjdC0+aXNGaWxlVXBsb2FkQnV0dG9uKCkKKyAgICAgICAgfHwgW3NlbGYg
YWNjZXNzaWJpbGl0eUlzV2ViSW50ZXJhY3RpdmVWaWRlb10pOwogfQogCiBzdGF0aWMgdm9pZCBh
cHBlbmRTdHJpbmdUb1Jlc3VsdChOU011dGFibGVTdHJpbmcgKnJlc3VsdCwgTlNTdHJpbmcgKnN0
cmluZykKQEAgLTEyNjEsNyArMTI1MCw3IEBAIC0gKE5TU3RyaW5nICopYWNjZXNzaWJpbGl0eUxh
YmVsCiAgICAgTlNTdHJpbmcgKmludGVyYWN0aXZlVmlkZW9EZXNjcmlwdGlvbiA9IFtzZWxmIGlu
dGVyYWN0aXZlVmlkZW9EZXNjcmlwdGlvbl07CiAKICAgICAvLyBXZSBzaG91bGQgZXhwb3NlIHRo
ZSB2YWx1ZSBvZiB0aGUgaW5wdXQgdHlwZSBkYXRlIG9yIHRpbWUgdGhyb3VnaCBBWFZhbHVlIGlu
c3RlYWQgb2YgQVhUaXRsZS4KLSAgICBpZiAoYmFja2luZ09iamVjdC0+aXNJbnB1dFR5cGVQb3B1
cEJ1dHRvbigpICYmIHRpdGxlID09IFN0cmluZyhbc2VsZiBhY2Nlc3NpYmlsaXR5VmFsdWVdKSkK
KyAgICBpZiAoYmFja2luZ09iamVjdC0+aXNEYXRlVGltZSgpICYmIHRpdGxlID09IFN0cmluZyhb
c2VsZiBhY2Nlc3NpYmlsaXR5VmFsdWVdKSkKICAgICAgICAgdGl0bGUgPSAiIl9zOwogCiAgICAg
Ly8gRm9vdGVyIGlzIG5vdCBjb25zaWRlcmVkIGEgbGFuZG1hcmssIGJ1dCB3ZSB3YW50IHRoZSBy
b2xlIGRlc2NyaXB0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdE1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvbWFjL0FjY2Vzc2liaWxpdHlPYmplY3RNYWMubW0KaW5kZXggNTY5MTgwOTMzODgwLi5i
YTJhY2NkODBkMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFj
L0FjY2Vzc2liaWxpdHlPYmplY3RNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdE1hYy5tbQpAQCAtNzkxLDYgKzc5MSw3IEBAIFBs
YXRmb3JtUm9sZU1hcCBjcmVhdGVQbGF0Zm9ybVJvbGVNYXAoKQogICAgICAgICB7IEFjY2Vzc2li
aWxpdHlSb2xlOjpNZXRlciwgTlNBY2Nlc3NpYmlsaXR5TGV2ZWxJbmRpY2F0b3JSb2xlIH0sCiAg
ICAgICAgIHsgQWNjZXNzaWJpbGl0eVJvbGU6OkluY3JlbWVudG9yLCBOU0FjY2Vzc2liaWxpdHlJ
bmNyZW1lbnRvclJvbGUgfSwKICAgICAgICAgeyBBY2Nlc3NpYmlsaXR5Um9sZTo6Q29tYm9Cb3gs
IE5TQWNjZXNzaWJpbGl0eUNvbWJvQm94Um9sZSB9LAorICAgICAgICB7IEFjY2Vzc2liaWxpdHlS
b2xlOjpEYXRlVGltZSwgTlNBY2Nlc3NpYmlsaXR5VGV4dEZpZWxkUm9sZSB9LAogICAgICAgICB7
IEFjY2Vzc2liaWxpdHlSb2xlOjpTcGxpdHRlciwgTlNBY2Nlc3NpYmlsaXR5U3BsaXR0ZXJSb2xl
IH0sCiAgICAgICAgIHsgQWNjZXNzaWJpbGl0eVJvbGU6OkNvZGUsIE5TQWNjZXNzaWJpbGl0eUdy
b3VwUm9sZSB9LAogICAgICAgICB7IEFjY2Vzc2liaWxpdHlSb2xlOjpDb2xvcldlbGwsIE5TQWNj
ZXNzaWJpbGl0eUNvbG9yV2VsbFJvbGUgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJNYWMubW0KaW5kZXggYWQ2NzA1NmI5YWJhLi5hNmExMWVjNDBjOTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tCkBAIC0xNTAzLDEwICsxNTAzLDYgQEAgQUxMT1df
REVQUkVDQVRFRF9JTVBMRU1FTlRBVElPTlNfRU5ECiAgICAgaWYgKFthdHRyaWJ1dGVOYW1lIGlz
RXF1YWxUb1N0cmluZzogTlNBY2Nlc3NpYmlsaXR5Um9sZURlc2NyaXB0aW9uQXR0cmlidXRlXSkK
ICAgICAgICAgcmV0dXJuIFtzZWxmIHJvbGVEZXNjcmlwdGlvbl07CiAKLSAgICAvLyBBWEFSSUFS
b2xlIGlzIG9ubHkgdXNlZCBieSBEdW1wUmVuZGVyVHJlZSAoc28gZmFyKS4KLSAgICBpZiAoW2F0
dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOkAiQVhBUklBUm9sZSJdKQotICAgICAgICByZXR1
cm4gYmFja2luZ09iamVjdC0+Y29tcHV0ZWRSb2xlU3RyaW5nKCk7Ci0KICAgICBpZiAoW2F0dHJp
YnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlQYXJlbnRBdHRyaWJ1dGVd
KSB7CiAgICAgICAgIC8vIFRoaXMgd2lsbCByZXR1cm4gdGhlIHBhcmVudCBvZiB0aGUgQVhXZWJB
cmVhLCBpZiB0aGlzIGlzIGEgd2ViIGFyZWEuCiAgICAgICAgIGlmIChpZCBzY3JvbGxWaWV3ID0g
c2Nyb2xsVmlld1BhcmVudCgqYmFja2luZ09iamVjdCkpCkBAIC0yMjMwLDYgKzIyMjYsOSBAQCBB
TExPV19ERVBSRUNBVEVEX0lNUExFTUVOVEFUSU9OU19FTkQKICAgICB9CiAKICAgICAvLyBVc2Vk
IGJ5IExheW91dFRlc3RzIG9ubHksIG5vdCBieSBBVCBjbGllbnRzLgorICAgIGlmIChVTkxJS0VM
WShbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6QCJBWEFSSUFSb2xlIl0pKQorICAgICAg
ICByZXR1cm4gYmFja2luZ09iamVjdC0+Y29tcHV0ZWRSb2xlU3RyaW5nKCk7CisKICAgICBpZiAo
VU5MSUtFTFkoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOkAiQVhDb250cm9sbGVycyJd
KSkKICAgICAgICAgcmV0dXJuIG1ha2VOU0FycmF5KGJhY2tpbmdPYmplY3QtPmNvbnRyb2xsZXJz
KCkpOwogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbQppbmRleCAw
YjM3OWU4Y2MxN2MuLjBmZTkwMjc5NGZlYyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbQorKysg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5
VUlFbGVtZW50SU9TLm1tCkBAIC01MTksNyArNTE5LDcgQEAgSlNSZXRhaW5QdHI8SlNTdHJpbmdS
ZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNvbXB1dGVkUm9sZVN0cmluZygpCiAKIEpTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0aXRsZSgpCiB7Ci0g
ICAgcmV0dXJuIGNyZWF0ZUpTU3RyaW5nKCk7CisgICAgcmV0dXJuIGNvbmNhdGVuYXRlQXR0cmli
dXRlQW5kVmFsdWUoQCJBWFRpdGxlIiwgW21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5TGFiZWxdKTsK
IH0KIAogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRl
c2NyaXB0aW9uKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZGF0ZS1p
bnB1dC1hcmlhLWxhYmVsLWFuZC12YWx1ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L2RhdGUtaW5wdXQtYXJpYS1sYWJlbC1hbmQtdmFsdWUtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDU1NTAwZmI2ZmUzYy4uMGE5ZDJlZjE4YjhkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2RhdGUtaW5wdXQtYXJpYS1sYWJlbC1hbmQtdmFsdWUtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZGF0ZS1pbnB1dC1hcmlhLWxhYmVsLWFu
ZC12YWx1ZS1leHBlY3RlZC50eHQKQEAgLTEsNTQgKzEsNDUgQEAKLVRlc3RzIHRoYXQgYXJpYS1s
YWJlbCBhbmQgYXJpYS12YWx1ZW5vdyB1cGRhdGUgY29ycmVjdGx5IGZvciBkYXRlIGlucHV0cy4K
K1Rlc3RzIHRoYXQgc3ViZmllbGQgdmFsdWVzIHVwZGF0ZSBjb3JyZWN0bHkgZm9yIGRhdGUgaW5w
dXRzLgogCitPcmlnaW5hbCBzdWJmaWVsZCB2YWx1ZXM6CitBWERlc2NyaXB0aW9uOiBtb250aCBB
WFJvbGU6IEFYSW5jcmVtZW50b3IgQVhWYWx1ZTogMTEKK0FYRGVzY3JpcHRpb246ICBBWFJvbGU6
IEFYU3RhdGljVGV4dCBBWFZhbHVlOiAvCitBWERlc2NyaXB0aW9uOiBkYXkgQVhSb2xlOiBBWElu
Y3JlbWVudG9yIEFYVmFsdWU6IDIxCitBWERlc2NyaXB0aW9uOiAgQVhSb2xlOiBBWFN0YXRpY1Rl
eHQgQVhWYWx1ZTogLworQVhEZXNjcmlwdGlvbjogeWVhciBBWFJvbGU6IEFYSW5jcmVtZW50b3Ig
QVhWYWx1ZTogMjAyMgogCi1DaGVja2luZyBBUklBIExhYmVscyBmb3Igc3ViLWZpZWxkcwotUEFT
UzogcGxhdGZvcm1WYWx1ZUZvclczQ05hbWUoYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRl
eCgwKSkgPT09ICJtb250aCIKLVBBU1M6IHBsYXRmb3JtVmFsdWVGb3JXM0NOYW1lKGF4RGF0ZUZp
ZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMSkpID09PSAiZGF5IgotUEFTUzogcGxhdGZvcm1WYWx1
ZUZvclczQ05hbWUoYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgyKSkgPT09ICJ5ZWFy
IgorRm9jdXMgZGF0ZSBlbGVtZW50IGFuZCBwcmVzcyB1cCBhcnJvdyB0byBpbmNyZW1lbnQgdGhl
IG1vbnRoIGZpZWxkOgorUEFTUzogc3ViZmllbGRzWzBdLmludFZhbHVlID09PSAxMgogCi1Gb2N1
c2luZyBkYXRlIGVsZW1lbnQgYW5kIHByZXNzaW5nIHVwIGFycm93IHRvIGluY3JlbWVudCB0aGUg
Zmlyc3QgZmllbGQuCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDApLmlu
dFZhbHVlID09PSAzCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDApLnZh
bHVlRGVzY3JpcHRpb24gPT09ICJBWFZhbHVlRGVzY3JpcHRpb246IDMiCitQcmVzcyBkb3duIGFy
cm93IHR3aWNlIHRvIGRlY3JlbWVudCB0aGUgbW9udGggZmllbGQuCitQQVNTOiBzdWJmaWVsZHNb
MF0uaW50VmFsdWUgPT09IDEwCiAKLVNpbXVsYXRpbmcgZG93biBhcnJvdyBwcmVzcyB0byBkZWNy
ZW1lbnQgdGhlIGZpcnN0IGZpZWxkLiAoeDIpCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hp
bGRBdEluZGV4KDApLmludFZhbHVlID09PSAxCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hp
bGRBdEluZGV4KDApLnZhbHVlRGVzY3JpcHRpb24gPT09ICJBWFZhbHVlRGVzY3JpcHRpb246IDEi
CitQcmVzcyB0aGUgdGFiIGtleSB0byBtb3ZlIHRvIHRoZSBkYXkgZmllbGQgaW4gdGhlIGRhdGUg
aW5wdXQuCitQQVNTOiBzdWJmaWVsZHNbMl0uaW50VmFsdWUgPT09IDIxCiAKLVNpbXVsYXRpbmcg
dGFiIGtleSB0byBtb3ZlIHRvIHRoZSBuZXh0IGZpZWxkIGluIHRoZSBkYXRlIGlucHV0LgotUEFT
UzogYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgxKS5pbnRWYWx1ZSA9PT0gMgotUEFT
UzogYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgxKS52YWx1ZURlc2NyaXB0aW9uID09
PSAiQVhWYWx1ZURlc2NyaXB0aW9uOiAyIgorVHlwZSAxMCBpbiB0aGUgZGF5IHN1YmZpZWxkLgor
UEFTUzogc3ViZmllbGRzWzJdLmludFZhbHVlID09PSAxMAogCi1TaW11bGF0aW5nIHR5cGluZyAi
MTAiIGluIHRoZSBzZWNvbmQgaW5wdXQgZmllbGQuCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIu
Y2hpbGRBdEluZGV4KDEpLmludFZhbHVlID09PSAxMAotUEFTUzogYXhEYXRlRmllbGRXcmFwcGVy
LmNoaWxkQXRJbmRleCgxKS52YWx1ZURlc2NyaXB0aW9uID09PSAiQVhWYWx1ZURlc2NyaXB0aW9u
OiAxMCIKK1ByZXNzIGRvd24gYXJyb3cgdG8gZGVjcmVtZW50IHRoZSBkYXkgZmllbGQuCitQQVNT
OiBzdWJmaWVsZHNbMl0uaW50VmFsdWUgPT09IDkKIAotU2ltdWxhdGluZyBkb3duIGFycm93IHBy
ZXNzIHRvIGRlY3JlbWVudCB0aGUgc2Vjb25kIGZpZWxkIHZhbHVlLgotUEFTUzogYXhEYXRlRmll
bGRXcmFwcGVyLmNoaWxkQXRJbmRleCgxKS5pbnRWYWx1ZSA9PT0gOQotUEFTUzogYXhEYXRlRmll
bGRXcmFwcGVyLmNoaWxkQXRJbmRleCgxKS52YWx1ZURlc2NyaXB0aW9uID09PSAiQVhWYWx1ZURl
c2NyaXB0aW9uOiA5IgorUHJlc3MgdXAgYXJyb3cgdHdpY2UgdG8gaW5jcmVtZW50IHRoZSBkYXkg
ZmllbGQuCitQQVNTOiBzdWJmaWVsZHNbMl0uaW50VmFsdWUgPT09IDExCiAKLVNpbXVsYXRpbmcg
dXAgYXJyb3cgcHJlc3MgdG8gaW5jcmVtZW50IHRoZSBzZWNvbmQgZmllbGQgdmFsdWUuICh4MikK
LVBBU1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMSkuaW50VmFsdWUgPT09IDEx
Ci1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDEpLnZhbHVlRGVzY3JpcHRp
b24gPT09ICJBWFZhbHVlRGVzY3JpcHRpb246IDExIgorUHJlc3MgdGFiIHRvIG1vdmUgdG8gdGhl
IHllYXIgZmllbGQgaW4gdGhlIGRhdGUgaW5wdXQuCitQQVNTOiBzdWJmaWVsZHNbNF0uaW50VmFs
dWUgPT09IDIwMjIKIAotU2ltdWxhdGluZyB0YWIga2V5IHRvIG1vdmUgdG8gdGhlIG5leHQgZmll
bGQgaW4gdGhlIGRhdGUgaW5wdXQuCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdElu
ZGV4KDIpLmludFZhbHVlID09PSAyMDIyCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRB
dEluZGV4KDIpLnZhbHVlRGVzY3JpcHRpb24gPT09ICJBWFZhbHVlRGVzY3JpcHRpb246IDIwMjIi
CitQcmVzcyBkb3duIGFycm93IDEwIHRpbWVzIHRvIGRlY3JlbWVudCB0aGUgeWVhciBmaWVsZC4K
K1BBU1M6IHN1YmZpZWxkc1s0XS5pbnRWYWx1ZSA9PT0gMjAxMgogCi1TaW11bGF0aW5nIGRvd24g
YXJyb3cgcHJlc3MgdG8gZGVjcmVtZW50IHRoZSB0aGlyZCBmaWVsZCB2YWx1ZS4gKHgxMCkKLVBB
U1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMikuaW50VmFsdWUgPT09IDIwMTIK
LVBBU1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMikudmFsdWVEZXNjcmlwdGlv
biA9PT0gIkFYVmFsdWVEZXNjcmlwdGlvbjogMjAxMiIKK1ByZXNzIHVwIGFycm93IHRvIGluY3Jl
bWVudCB0aGUgeWVhciBmaWVsZC4KK1BBU1M6IHN1YmZpZWxkc1s0XS5pbnRWYWx1ZSA9PT0gMjAx
MwogCi1TaW11bGF0aW5nIHVwIGFycm93IHByZXNzIHRvIGluY3JlbWVudCB0aGUgdGhpcmQgZmll
bGQgdmFsdWUuCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDIpLmludFZh
bHVlID09PSAyMDEzCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDIpLnZh
bHVlRGVzY3JpcHRpb24gPT09ICJBWFZhbHVlRGVzY3JpcHRpb246IDIwMTMiCi0KLU1hbnVhbGx5
IHNldHRpbmcgdGhlIGRhdGUgaW5wdXQncyB2YWx1ZSB2aWEgSmF2YVNjcmlwdC4KLVBBU1M6IGF4
RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMCkuaW50VmFsdWUgPT09IDEyCi1QQVNTOiBh
eERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDApLnZhbHVlRGVzY3JpcHRpb24gPT09ICJB
WFZhbHVlRGVzY3JpcHRpb246IDEyIgotUEFTUzogYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJ
bmRleCgxKS5pbnRWYWx1ZSA9PT0gMzAKLVBBU1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0
SW5kZXgoMSkudmFsdWVEZXNjcmlwdGlvbiA9PT0gIkFYVmFsdWVEZXNjcmlwdGlvbjogMzAiCi1Q
QVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDIpLmludFZhbHVlID09PSAyMDIz
Ci1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDIpLnZhbHVlRGVzY3JpcHRp
b24gPT09ICJBWFZhbHVlRGVzY3JpcHRpb246IDIwMjMiCitTZXQgdGhlIGRhdGUgdmlhIEphdmFT
Y3JpcHQuCitBWERlc2NyaXB0aW9uOiBtb250aCBBWFJvbGU6IEFYSW5jcmVtZW50b3IgQVhWYWx1
ZTogMTIKK0FYRGVzY3JpcHRpb246ICBBWFJvbGU6IEFYU3RhdGljVGV4dCBBWFZhbHVlOiAvCitB
WERlc2NyaXB0aW9uOiBkYXkgQVhSb2xlOiBBWEluY3JlbWVudG9yIEFYVmFsdWU6IDMxCitBWERl
c2NyaXB0aW9uOiAgQVhSb2xlOiBBWFN0YXRpY1RleHQgQVhWYWx1ZTogLworQVhEZXNjcmlwdGlv
bjogeWVhciBBWFJvbGU6IEFYSW5jcmVtZW50b3IgQVhWYWx1ZTogMjAyMwogCiBQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvZGF0ZS1pbnB1dC1hcmlhLWxhYmVsLWFuZC12YWx1ZS5odG1sIGIvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9kYXRlLWlucHV0LWFyaWEtbGFiZWwtYW5kLXZhbHVlLmh0bWwKaW5kZXgg
Y2M3ZGVhNTA5YWE3Li44NTIxNzJhNGM5ZTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvZGF0ZS1pbnB1dC1hcmlhLWxhYmVsLWFuZC12YWx1ZS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvZGF0ZS1pbnB1dC1hcmlhLWxhYmVsLWFuZC12YWx1ZS5odG1s
CkBAIC02LDkyICs2LDc3IEBACiA8L2hlYWQ+CiA8Ym9keT4KIAotPGlucHV0IGlkPSJkYXRlLWlu
cHV0IiB0eXBlPSJkYXRlIiB2YWx1ZT0iMjAyMi0wMi0wMiIgLz4KKzxpbnB1dCBpZD0iZGF0ZS1p
bnB1dCIgdHlwZT0iZGF0ZSIgdmFsdWU9IjIwMjItMTEtMjEiIC8+CiAKIDxzY3JpcHQ+Ci12YXIg
dGVzdE91dHB1dCA9ICJUZXN0cyB0aGF0IGFyaWEtbGFiZWwgYW5kIGFyaWEtdmFsdWVub3cgdXBk
YXRlIGNvcnJlY3RseSBmb3IgZGF0ZSBpbnB1dHMuXG5cbiI7Cit2YXIgb3V0cHV0ID0gIlRlc3Rz
IHRoYXQgc3ViZmllbGQgdmFsdWVzIHVwZGF0ZSBjb3JyZWN0bHkgZm9yIGRhdGUgaW5wdXRzLlxu
XG4iOwogCi1mdW5jdGlvbiBvdXRwdXRTdHJpbmcobWVzc2FnZSkgewotICAgIHRlc3RPdXRwdXQg
Kz0gKGBcbiR7bWVzc2FnZX1cbmApOwotfQotCi1mdW5jdGlvbiBrZXlEb3duKGtleSwgcmVwZWF0
ID0gMSwgbWVzc2FnZSA9ICIiKSB7Ci0gICAgaWYgKG1lc3NhZ2UpIAotICAgICAgICBvdXRwdXRT
dHJpbmcobWVzc2FnZSArIGAgKHgke3JlcGVhdH0pYCk7Ci0KLSAgICBmb3IgKGxldCBpID0gMCA7
IGkgPCByZXBlYXQgOyBpKyspIAorZnVuY3Rpb24ga2V5RG93bihrZXksIHJlcGVhdCA9IDEpIHsK
KyAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlcGVhdDsgaSsrKQogICAgICAgICBldmVudFNlbmRl
ci5rZXlEb3duKGtleSk7CiB9CiAKIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIp
IHsKICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci0gICAgdmFyIGF4RGF0ZUZpZWxk
V3JhcHBlciA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgi
ZGF0ZS1pbnB1dCIpCi0gICAgICAgICAgICAuY2hpbGRBdEluZGV4KDApCi0gICAgICAgICAgICAu
Y2hpbGRBdEluZGV4KDApOwotCi0gICAgc2V0VGltZW91dChhc3luYyBmdW5jdGlvbigpIHsKLSAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gZXhwZWN0Q2hpbGRUb0hhdmVBUklBVmFsdWVBdHRyaWJ1dGVz
KGNoaWxkSW5kZXgsIGRlc2NyaXB0aW9uKSB7Ci0gICAgICAgICAgICBsZXQgcmVzdWx0ID0gYXdh
aXQgZXhwZWN0QXN5bmMoYGF4RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoJHtjaGlsZElu
ZGV4fSkuaW50VmFsdWVgLCBgJHtkZXNjcmlwdGlvbn1gKTsKLQotICAgICAgICAgICAgcmVzdWx0
ICs9IGF3YWl0IGV4cGVjdEFzeW5jKGBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KCR7
Y2hpbGRJbmRleH0pLnZhbHVlRGVzY3JpcHRpb25gLCBgIkFYVmFsdWVEZXNjcmlwdGlvbjogJHtk
ZXNjcmlwdGlvbn0iYCk7Ci0KLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgICAgIH0K
LSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIGV4cGVjdENoaWxkVG9IYXZlQVJJQUxhYmVsKGNo
aWxkSW5kZXgsIGxhYmVsVGV4dCkgewotICAgICAgICAgICAgcmV0dXJuIGV4cGVjdChgcGxhdGZv
cm1WYWx1ZUZvclczQ05hbWUoYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgke2NoaWxk
SW5kZXh9KSlgLCBsYWJlbFRleHQpOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBjb25z
dCBkYXRlSW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGF0ZS1pbnB1dCIpOwotCi0g
ICAgICAgIG91dHB1dFN0cmluZygiQ2hlY2tpbmcgQVJJQSBMYWJlbHMgZm9yIHN1Yi1maWVsZHMi
KTsKLSAgICAgICAgdGVzdE91dHB1dCArPSBleHBlY3RDaGlsZFRvSGF2ZUFSSUFMYWJlbCgwLCBg
Im1vbnRoImApOwotICAgICAgICB0ZXN0T3V0cHV0ICs9IGV4cGVjdENoaWxkVG9IYXZlQVJJQUxh
YmVsKDEsIGAiZGF5ImApOwotICAgICAgICB0ZXN0T3V0cHV0ICs9IGV4cGVjdENoaWxkVG9IYXZl
QVJJQUxhYmVsKDIsIGAieWVhciJgKTsKLSAgICAgICAgCi0gICAgICAgIG91dHB1dFN0cmluZygi
Rm9jdXNpbmcgZGF0ZSBlbGVtZW50IGFuZCBwcmVzc2luZyB1cCBhcnJvdyB0byBpbmNyZW1lbnQg
dGhlIGZpcnN0IGZpZWxkLiIpOworICAgIGNvbnN0IGRhdGVJbnB1dCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJkYXRlLWlucHV0Iik7CisgICAgdmFyIGF4RGF0ZUlucHV0ID0gYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJkYXRlLWlucHV0Iik7CisKKyAg
ICBmdW5jdGlvbiBnZXRBbmRMb2dTdWJmaWVsZHMoYXhFbGVtZW50KSB7CisgICAgICAgIGxldCBz
dWJmaWVsZHMgPSBheEVsZW1lbnQuY2hpbGRBdEluZGV4KDApLmNoaWxkQXRJbmRleCgwKS5jaGls
ZHJlbjsKKyAgICAgICAgc3ViZmllbGRzLmZvckVhY2goKGNoaWxkKSA9PiB7CisgICAgICAgICAg
ICBvdXRwdXQgKz0gYCR7Y2hpbGQuZGVzY3JpcHRpb259ICR7Y2hpbGQucm9sZX0gJHtjaGlsZC5z
dHJpbmdWYWx1ZX1cbmA7CisgICAgICAgIH0pOworICAgICAgICByZXR1cm4gc3ViZmllbGRzOwor
ICAgIH0KKworICAgIG91dHB1dCs9ICJPcmlnaW5hbCBzdWJmaWVsZCB2YWx1ZXM6XG4iOworICAg
IHZhciBzdWJmaWVsZHMgPSBnZXRBbmRMb2dTdWJmaWVsZHMoYXhEYXRlSW5wdXQpOworCisgICAg
c2V0VGltZW91dChhc3luYyAoKSA9PiB7CisgICAgICAgIG91dHB1dCArPSAiXG5Gb2N1cyBkYXRl
IGVsZW1lbnQgYW5kIHByZXNzIHVwIGFycm93IHRvIGluY3JlbWVudCB0aGUgbW9udGggZmllbGQ6
XG4iOwogICAgICAgICBkYXRlSW5wdXQuZm9jdXMoKTsKICAgICAgICAga2V5RG93bigidXBBcnJv
dyIpOworICAgICAgICBvdXRwdXQgKz0gYXdhaXQgZXhwZWN0QXN5bmMoInN1YmZpZWxkc1swXS5p
bnRWYWx1ZSIsICIxMiIpOwogCi0gICAgICAgIHRlc3RPdXRwdXQgKz0gYXdhaXQgZXhwZWN0Q2hp
bGRUb0hhdmVBUklBVmFsdWVBdHRyaWJ1dGVzKDAsIDMpOwotCi0gICAgICAgIGtleURvd24oImRv
d25BcnJvdyIsIDIsICJTaW11bGF0aW5nIGRvd24gYXJyb3cgcHJlc3MgdG8gZGVjcmVtZW50IHRo
ZSBmaXJzdCBmaWVsZC4iKTsKLSAgICAgICAgdGVzdE91dHB1dCArPSBhd2FpdCBleHBlY3RDaGls
ZFRvSGF2ZUFSSUFWYWx1ZUF0dHJpYnV0ZXMoMCwgMSk7CisgICAgICAgIG91dHB1dCArPSAiXG5Q
cmVzcyBkb3duIGFycm93IHR3aWNlIHRvIGRlY3JlbWVudCB0aGUgbW9udGggZmllbGQuXG4iOwor
ICAgICAgICBrZXlEb3duKCJkb3duQXJyb3ciLCAyKTsKKyAgICAgICAgb3V0cHV0ICs9IGF3YWl0
IGV4cGVjdEFzeW5jKCJzdWJmaWVsZHNbMF0uaW50VmFsdWUiLCAiMTAiKTsKIAotICAgICAgICBv
dXRwdXRTdHJpbmcoIlNpbXVsYXRpbmcgdGFiIGtleSB0byBtb3ZlIHRvIHRoZSBuZXh0IGZpZWxk
IGluIHRoZSBkYXRlIGlucHV0LiIpOworICAgICAgICBvdXRwdXQgKz0gIlxuUHJlc3MgdGhlIHRh
YiBrZXkgdG8gbW92ZSB0byB0aGUgZGF5IGZpZWxkIGluIHRoZSBkYXRlIGlucHV0LlxuIjsKICAg
ICAgICAga2V5RG93bigiXHQiKTsKLSAgICAgICAgdGVzdE91dHB1dCArPSBhd2FpdCBleHBlY3RD
aGlsZFRvSGF2ZUFSSUFWYWx1ZUF0dHJpYnV0ZXMoMSwgMik7CisgICAgICAgIG91dHB1dCArPSBh
d2FpdCBleHBlY3RBc3luYygic3ViZmllbGRzWzJdLmludFZhbHVlIiwgIjIxIik7CiAKLSAgICAg
ICAgb3V0cHV0U3RyaW5nKCJTaW11bGF0aW5nIHR5cGluZyBcIjEwXCIgaW4gdGhlIHNlY29uZCBp
bnB1dCBmaWVsZC4iKTsKKyAgICAgICAgb3V0cHV0ICs9ICJcblR5cGUgMTAgaW4gdGhlIGRheSBz
dWJmaWVsZC5cbiI7CiAgICAgICAgIGtleURvd24oIjEiKTsKICAgICAgICAga2V5RG93bigiMCIp
Ci0gICAgICAgIHRlc3RPdXRwdXQgKz0gYXdhaXQgZXhwZWN0Q2hpbGRUb0hhdmVBUklBVmFsdWVB
dHRyaWJ1dGVzKDEsIDEwKTsKKyAgICAgICAgb3V0cHV0ICs9IGF3YWl0IGV4cGVjdEFzeW5jKCJz
dWJmaWVsZHNbMl0uaW50VmFsdWUiLCAiMTAiKTsKIAotICAgICAgICBvdXRwdXRTdHJpbmcoIlNp
bXVsYXRpbmcgZG93biBhcnJvdyBwcmVzcyB0byBkZWNyZW1lbnQgdGhlIHNlY29uZCBmaWVsZCB2
YWx1ZS4iKQorICAgICAgICBvdXRwdXQgKz0gIlxuUHJlc3MgZG93biBhcnJvdyB0byBkZWNyZW1l
bnQgdGhlIGRheSBmaWVsZC5cbiI7CiAgICAgICAgIGtleURvd24oImRvd25BcnJvdyIpOwotICAg
ICAgICB0ZXN0T3V0cHV0ICs9IGF3YWl0IGV4cGVjdENoaWxkVG9IYXZlQVJJQVZhbHVlQXR0cmli
dXRlcygxLCA5KTsKKyAgICAgICAgb3V0cHV0ICs9IGF3YWl0IGV4cGVjdEFzeW5jKCJzdWJmaWVs
ZHNbMl0uaW50VmFsdWUiLCAiOSIpOwogCi0gICAgICAgIGtleURvd24oInVwQXJyb3ciLCAyLCAi
U2ltdWxhdGluZyB1cCBhcnJvdyBwcmVzcyB0byBpbmNyZW1lbnQgdGhlIHNlY29uZCBmaWVsZCB2
YWx1ZS4iKTsKLSAgICAgICAgdGVzdE91dHB1dCArPSBhd2FpdCBleHBlY3RDaGlsZFRvSGF2ZUFS
SUFWYWx1ZUF0dHJpYnV0ZXMoMSwgMTEpOworICAgICAgICBvdXRwdXQgKz0gIlxuUHJlc3MgdXAg
YXJyb3cgdHdpY2UgdG8gaW5jcmVtZW50IHRoZSBkYXkgZmllbGQuXG4iOworICAgICAgICBrZXlE
b3duKCJ1cEFycm93IiwgMik7CisgICAgICAgIG91dHB1dCArPSBhd2FpdCBleHBlY3RBc3luYygi
c3ViZmllbGRzWzJdLmludFZhbHVlIiwgIjExIik7CiAKLSAgICAgICAgb3V0cHV0U3RyaW5nKCJT
aW11bGF0aW5nIHRhYiBrZXkgdG8gbW92ZSB0byB0aGUgbmV4dCBmaWVsZCBpbiB0aGUgZGF0ZSBp
bnB1dC4iKTsKKyAgICAgICAgb3V0cHV0ICs9ICJcblByZXNzIHRhYiB0byBtb3ZlIHRvIHRoZSB5
ZWFyIGZpZWxkIGluIHRoZSBkYXRlIGlucHV0LlxuIjsKICAgICAgICAga2V5RG93bigiXHQiKTsK
LSAgICAgICAgdGVzdE91dHB1dCArPSBhd2FpdCBleHBlY3RDaGlsZFRvSGF2ZUFSSUFWYWx1ZUF0
dHJpYnV0ZXMoMiwgMjAyMik7CisgICAgICAgIG91dHB1dCArPSBhd2FpdCBleHBlY3RBc3luYygi
c3ViZmllbGRzWzRdLmludFZhbHVlIiwgIjIwMjIiKTsKIAotICAgICAgICBrZXlEb3duKCJkb3du
QXJyb3ciLCAxMCwgIlNpbXVsYXRpbmcgZG93biBhcnJvdyBwcmVzcyB0byBkZWNyZW1lbnQgdGhl
IHRoaXJkIGZpZWxkIHZhbHVlLiIpOwotICAgICAgICB0ZXN0T3V0cHV0ICs9IGF3YWl0IGV4cGVj
dENoaWxkVG9IYXZlQVJJQVZhbHVlQXR0cmlidXRlcygyLCAyMDEyKTsKKyAgICAgICAgb3V0cHV0
Kz0gIlxuUHJlc3MgZG93biBhcnJvdyAxMCB0aW1lcyB0byBkZWNyZW1lbnQgdGhlIHllYXIgZmll
bGQuXG4iOworICAgICAgICBrZXlEb3duKCJkb3duQXJyb3ciLCAxMCk7CisgICAgICAgIG91dHB1
dCArPSBhd2FpdCBleHBlY3RBc3luYygic3ViZmllbGRzWzRdLmludFZhbHVlIiwgIjIwMTIiKTsK
IAotICAgICAgICBvdXRwdXRTdHJpbmcoIlNpbXVsYXRpbmcgdXAgYXJyb3cgcHJlc3MgdG8gaW5j
cmVtZW50IHRoZSB0aGlyZCBmaWVsZCB2YWx1ZS4iKQorICAgICAgICBvdXRwdXQgKz0gIlxuUHJl
c3MgdXAgYXJyb3cgdG8gaW5jcmVtZW50IHRoZSB5ZWFyIGZpZWxkLlxuIjsKICAgICAgICAga2V5
RG93bigidXBBcnJvdyIpOwotICAgICAgICB0ZXN0T3V0cHV0ICs9IGF3YWl0IGV4cGVjdENoaWxk
VG9IYXZlQVJJQVZhbHVlQXR0cmlidXRlcygyLCAyMDEzKTsKKyAgICAgICAgb3V0cHV0ICs9IGF3
YWl0IGV4cGVjdEFzeW5jKCJzdWJmaWVsZHNbNF0uaW50VmFsdWUiLCAiMjAxMyIpOwogCi0gICAg
ICAgIG91dHB1dFN0cmluZygiTWFudWFsbHkgc2V0dGluZyB0aGUgZGF0ZSBpbnB1dCdzIHZhbHVl
IHZpYSBKYXZhU2NyaXB0LiIpCi0gICAgICAgIGRhdGVJbnB1dC52YWx1ZSA9ICIyMDIzLTEyLTMw
IjsKLSAgICAgICAgdGVzdE91dHB1dCArPSBhd2FpdCBleHBlY3RDaGlsZFRvSGF2ZUFSSUFWYWx1
ZUF0dHJpYnV0ZXMoMCwgMTIpOwotICAgICAgICB0ZXN0T3V0cHV0ICs9IGF3YWl0IGV4cGVjdENo
aWxkVG9IYXZlQVJJQVZhbHVlQXR0cmlidXRlcygxLCAzMCk7Ci0gICAgICAgIHRlc3RPdXRwdXQg
Kz0gYXdhaXQgZXhwZWN0Q2hpbGRUb0hhdmVBUklBVmFsdWVBdHRyaWJ1dGVzKDIsIDIwMjMpOwor
ICAgICAgICBvdXRwdXQgKz0gIlxuU2V0IHRoZSBkYXRlIHZpYSBKYXZhU2NyaXB0LlxuIjsKKyAg
ICAgICAgZGF0ZUlucHV0LnZhbHVlID0gIjIwMjMtMTItMzEiOworICAgICAgICBhd2FpdCBleHBl
Y3RBc3luYygiYXhEYXRlSW5wdXQuY2hpbGRBdEluZGV4KDApLmNoaWxkQXRJbmRleCgwKS5jaGls
ZHJlbls0XS5pbnRWYWx1ZSIsICIyMDIzIik7CisgICAgICAgIGdldEFuZExvZ1N1YmZpZWxkcyhh
eERhdGVJbnB1dCk7CiAKLSAgICAgICAgZGVidWcodGVzdE91dHB1dCk7CisgICAgICAgIGRlYnVn
KG91dHB1dCk7CiAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAgIH0pOwogfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVsLXZhbHVlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12YWx1
ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi45
ZDU0MjRjYTg3YmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1Ro
aXMgdGVzdHMgaW5wdXQgdHlwZT10aW1lIGxhYmVsIGFuZCB2YWx1ZSBwcm9wZXJ0aWVzLgorCitQ
QVNTOiBpbnB1dHRpbWUudGl0bGUgPT09ICdBWFRpdGxlOiAoQmV0d2VlbjogMDc6MDAgQU0tMDk6
MDAgQU0pJworQVhWYWx1ZTogMDg6MDDigK9BTQorUEFTUzogaW5wdXR0aW1lLnRpdGxlID09PSAn
QVhUaXRsZTogJworQVhWYWx1ZTogMDc6MzDigK9BTQorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVsLXZhbHVlLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAuLjJiM2FhY2FiNTc3NQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12YWx1ZS5odG1sCkBAIC0w
LDAgKzEsMjggQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2FjY2Vzc2liaWxp
dHktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworPGlucHV0IHR5cGU9InRpbWUiIGlk
PSJpbnB1dHRpbWUxIiBhcmlhLWxhYmVsPSIoQmV0d2VlbjogMDc6MDAgQU0tMDk6MDAgQU0pIiBt
aW49IjA3OjAwIiBtYXg9IjA5OjAwIiBzdGVwPSIzMDAiIHBsYWNlaG9sZGVyPSIwMDowMCBBTSIg
dmFsdWU9IjA4OjAwIj4KKzxpbnB1dCB0eXBlPSJ0aW1lIiBpZD0iaW5wdXR0aW1lMiIgbWluPSIw
NzowMCIgbWF4PSIwOTowMCIgc3RlcD0iMzAwIiB2YWx1ZT0iMDc6MzAiPgorCis8c2NyaXB0Pgor
bGV0IG91dHB1dCA9ICJUaGlzIHRlc3RzIGlucHV0IHR5cGU9dGltZSBsYWJlbCBhbmQgdmFsdWUg
cHJvcGVydGllcy5cblxuIjsKKworaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikg
eworICAgIHZhciBpbnB1dHRpbWUgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxl
RWxlbWVudEJ5SWQoImlucHV0dGltZTEiKTsKKyAgICBvdXRwdXQgKz0gZXhwZWN0KCJpbnB1dHRp
bWUudGl0bGUiLCAiJ0FYVGl0bGU6IChCZXR3ZWVuOiAwNzowMCBBTS0wOTowMCBBTSknIik7Cisg
ICAgb3V0cHV0ICs9IGAke2lucHV0dGltZS5zdHJpbmdWYWx1ZX1cbmA7CisKKyAgICBpbnB1dHRp
bWUgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImlucHV0
dGltZTIiKTsKKyAgICBvdXRwdXQgKz0gZXhwZWN0KCJpbnB1dHRpbWUudGl0bGUiLCAiJ0FYVGl0
bGU6ICciKTsKKyAgICBvdXRwdXQgKz0gYCR7aW5wdXR0aW1lLnN0cmluZ1ZhbHVlfVxuYDsKKwor
ICAgIGRlYnVnKG91dHB1dCk7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9pbnB1dC10eXBl
LXRpbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxh
dG9yL2lucHV0LXR5cGUtdGltZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGY0OTNhM2YzOTMwZS4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvaW9zLXNpbXVsYXRvci9pbnB1dC10eXBlLXRpbWUtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotCi1UaGlzIHRlc3RzIHRoYXQgaW5wdXQgdHlwZTog
dGltZSBpcyBhY2Nlc3NpYmxlIG9uIGlPUy4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgot
Ci0KLVBBU1MgdGltZWlucHV0LmRlc2NyaXB0aW9uIGlzICdBWExhYmVsOiAoQmV0d2VlbjogMDc6
MDAgQU0tMDk6MDAgQU0pJwotUEFTUyB0aW1laW5wdXQuaXNJZ25vcmVkIGlzIGZhbHNlCi1QQVNT
IHRpbWVpbnB1dC5zdHJpbmdWYWx1ZSBpcyAnQVhWYWx1ZTogODowMOKAr0FNJwotUEFTUyB0aW1l
aW5wdXQyLmRlc2NyaXB0aW9uIGlzICdBWExhYmVsOiAnCi1QQVNTIHRpbWVpbnB1dDIuc3RyaW5n
VmFsdWUgaXMgJ0FYVmFsdWU6IDg6MDDigK9BTScKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L2lvcy1zaW11bGF0b3IvaW5wdXQtdHlwZS10aW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvaW5wdXQtdHlwZS10aW1lLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNlOWU3ODJlNzBiNC4uMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9pbnB1dC10eXBlLXRpbWUuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBjaGFyc2V0PXV0
Zi04PgotPHNjcmlwdD4KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKLTwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keSBpZD0iYm9keSI+Ci0KLTxpbnB1dCBpZD0idGltZWlucHV0IiB0eXBl
PSJ0aW1lIiBhcmlhLWxhYmVsPSIoQmV0d2VlbjogMDc6MDAgQU0tMDk6MDAgQU0pIiBtaW49IjA3
OjAwIiBtYXg9IjA5OjAwIiBzdGVwPSIzMDAiIHBsYWNlaG9sZGVyPSIwMDowMCBBTSIgdmFsdWU9
IjA4OjAwIj4KLTxpbnB1dCBpZD0idGltZWlucHV0MiIgdHlwZT0idGltZSIgbWluPSIwNzowMCIg
bWF4PSIwOTowMCIgc3RlcD0iMzAwIiB2YWx1ZT0iMDg6MDAiPgotCi08cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0PgotCi0gICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBpbnB1dCB0eXBlOiB0aW1lIGlzIGFjY2Vzc2libGUg
b24gaU9TLiIpOwotCi0gICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewot
Ci0gICAgICAgIHZhciB0aW1laW5wdXQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3Np
YmxlRWxlbWVudEJ5SWQoInRpbWVpbnB1dCIpOwotICAgICAgICB2YXIgdGltZWlucHV0MiA9IGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgidGltZWlucHV0MiIp
OwotICAgICAgICBzaG91bGRCZSgidGltZWlucHV0LmRlc2NyaXB0aW9uIiwgIidBWExhYmVsOiAo
QmV0d2VlbjogMDc6MDAgQU0tMDk6MDAgQU0pJyIpOwotICAgICAgICBzaG91bGRCZUZhbHNlKCJ0
aW1laW5wdXQuaXNJZ25vcmVkIik7Ci0gICAgICAgIAotICAgICAgICAvLyBUZXN0IHZhbHVlIGlz
IGV4cG9zZWQgaW4gQVhWYWx1ZS4KLSAgICAgICAgc2hvdWxkQmUoInRpbWVpbnB1dC5zdHJpbmdW
YWx1ZSIsICInQVhWYWx1ZTogODowMOKAr0FNJyIpOwotICAgICAgICBzaG91bGRCZSgidGltZWlu
cHV0Mi5kZXNjcmlwdGlvbiIsICInQVhMYWJlbDogJyIpOwotICAgICAgICBzaG91bGRCZSgidGlt
ZWlucHV0Mi5zdHJpbmdWYWx1ZSIsICInQVhWYWx1ZTogODowMOKAr0FNJyIpOwotICAgIH0KLQot
ICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkv
aW5wdXQtdGltZS1sYWJlbC12YWx1ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVsLXZhbHVlLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjE0MWM1NTQ3NzUyNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2lu
cHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1RoaXMg
dGVzdHMgaW5wdXQgdHlwZT10aW1lIGxhYmVsIGFuZCB2YWx1ZSBwcm9wZXJ0aWVzLgorCitQQVNT
OiBpbnB1dHRpbWUudGl0bGUgPT09ICdBWFRpdGxlOiAoQmV0d2VlbjogMDc6MDAgQU0tMDk6MDAg
QU0pJworCitQQVNTOiBpbnB1dHRpbWUudGl0bGUgPT09ICdBWFRpdGxlOiAnCisKKworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9jaGFuZ2lu
Zy1hcmlhLWhpZGRlbi13aXRoLWRpc3BsYXktbm9uZS1wYXJlbnQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2NoYW5naW5nLWFy
aWEtaGlkZGVuLXdpdGgtZGlzcGxheS1ub25lLXBhcmVudC1leHBlY3RlZC50eHQKaW5kZXggYzZk
N2I1Y2FkMmNiLi4zZTFmNzhiNzI3YjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9jaGFuZ2luZy1hcmlhLWhpZGRlbi13aXRoLWRp
c3BsYXktbm9uZS1wYXJlbnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9jaGFuZ2luZy1hcmlhLWhpZGRlbi13aXRoLWRp
c3BsYXktbm9uZS1wYXJlbnQtZXhwZWN0ZWQudHh0CkBAIC0xLDIyICsxLDIyIEBACiBUaGlzIHRl
c3QgZW5zdXJlcyB0aGF0IHdlIGRvbid0IGNyYXNoIHdoZW4gcmVtb3ZpbmcgYW4gb2JqZWN0IGZy
b20gdGhlIEFYIHRyZWUgd2hvc2UgY2hpbGQgcmVjZW50bHkgY2hhbmdlZCBhcmlhLWhpZGRlbiBz
dGF0dXMuCiAKLUFwcGxpY2F0aW9uR3JvdXAgIEFYTGFiZWw6Ci0gIExpc3QgIEFYTGFiZWw6Ci0g
ICAgTGlzdEl0ZW0gIEFYTGFiZWw6Ci0gICAgICBMaXN0TWFya2VyICBBWExhYmVsOiDigKIKLSAg
ICAgIFN0YXRpY1RleHQgIEFYTGFiZWw6IE9uZQotICAgIExpc3RJdGVtICBBWExhYmVsOgotICAg
ICAgTGlzdE1hcmtlciAgQVhMYWJlbDog4oCiCi0gICAgICBTdGF0aWNUZXh0ICBBWExhYmVsOiBU
d28KLSAgICBMaXN0SXRlbSAgQVhMYWJlbDoKLSAgICAgIExpc3RNYXJrZXIgIEFYTGFiZWw6IOKA
ogotICAgICAgU3RhdGljVGV4dCAgQVhMYWJlbDogVGhyZWUKK0FwcGxpY2F0aW9uR3JvdXAgQVhU
aXRsZTogIEFYTGFiZWw6CisgIExpc3QgQVhUaXRsZTogIEFYTGFiZWw6CisgICAgTGlzdEl0ZW0g
QVhUaXRsZTogIEFYTGFiZWw6CisgICAgICBMaXN0TWFya2VyIEFYVGl0bGU6IOKAoiBBWExhYmVs
OiDigKIKKyAgICAgIFN0YXRpY1RleHQgQVhUaXRsZTogT25lIEFYTGFiZWw6IE9uZQorICAgIExp
c3RJdGVtIEFYVGl0bGU6ICBBWExhYmVsOgorICAgICAgTGlzdE1hcmtlciBBWFRpdGxlOiDigKIg
QVhMYWJlbDog4oCiCisgICAgICBTdGF0aWNUZXh0IEFYVGl0bGU6IFR3byBBWExhYmVsOiBUd28K
KyAgICBMaXN0SXRlbSBBWFRpdGxlOiAgQVhMYWJlbDoKKyAgICAgIExpc3RNYXJrZXIgQVhUaXRs
ZTog4oCiIEFYTGFiZWw6IOKAogorICAgICAgU3RhdGljVGV4dCBBWFRpdGxlOiBUaHJlZSBBWExh
YmVsOiBUaHJlZQogCiBNYWtpbmcgI2xpMSBhcmlhLWhpZGRlbiBhbmQgI3VsIGRpc3BsYXk6bm9u
ZS4KIAogUmUtZHVtcGluZyBBWCB0cmVlLgogCi1BcHBsaWNhdGlvbkdyb3VwICBBWExhYmVsOgor
QXBwbGljYXRpb25Hcm91cCBBWFRpdGxlOiAgQVhMYWJlbDoKIAogUEFTUzogVGhlcmUgd2FzIG5v
IGNyYXNoLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVj
dGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IDVmN2RhNWE5NmQ1Mi4uNmJjYzA2OGZmMDI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mv
VGVzdEV4cGVjdGF0aW9ucwpAQCAtMjIyMCw2ICsyMjIwLDcgQEAgYWNjZXNzaWJpbGl0eS9oZWFk
aW5nLWxldmVsLmh0bWwgWyBQYXNzIF0KIGFjY2Vzc2liaWxpdHkvaHRtbDUtcmVxdWlyZWQtYXR0
cmlidXRlLmh0bWwgWyBQYXNzIF0KIGFjY2Vzc2liaWxpdHkvaWZyYW1lLXdpdGgtcm9sZS5odG1s
IFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L2lucHV0LXR5cGUtaGlkZGVuLWluLWFyaWEtaGlkZGVu
LWZhbHNlLmh0bWwgWyBQYXNzIF0KK2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12YWx1
ZS5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L2ludmFsaWQtaW5wdXRzLmh0bWwgWyBQYXNz
IF0KIGFjY2Vzc2liaWxpdHkvaW5zZXJ0LXRleHQtaW50by1wYXNzd29yZC1maWVsZC5odG1sIFsg
UGFzcyBdCiBhY2Nlc3NpYmlsaXR5L2xpc3Qtd2l0aC1keW5hbWljYWxseS1jaGFuZ2luZy1jb250
ZW50Lmh0bWwgWyBQYXNzIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9h
Y2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zL2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12YWx1ZS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi45YWQx
YjJiZjc1YTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvYWNj
ZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVsLXZhbHVlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDExIEBACitUaGlzIHRlc3RzIGlucHV0IHR5cGU9dGltZSBsYWJlbCBhbmQgdmFsdWUgcHJvcGVy
dGllcy4KKworUEFTUzogaW5wdXR0aW1lLnRpdGxlID09PSAnQVhUaXRsZTogKEJldHdlZW46IDA3
OjAwIEFNLTA5OjAwIEFNKScKK0FYVmFsdWU6IDg6MDDigK9BTQorUEFTUzogaW5wdXR0aW1lLnRp
dGxlID09PSAnQVhUaXRsZTogJworQVhWYWx1ZTogNzozMOKAr0FNCisKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtbW9udGVyZXkvYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVs
LXZhbHVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1tb250ZXJleS9h
Y2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMGI1MDEzZjMyOWJjCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLW1vbnRlcmV5L2FjY2Vzc2liaWxpdHkv
aW5wdXQtdGltZS1sYWJlbC12YWx1ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGhp
cyB0ZXN0cyBpbnB1dCB0eXBlPXRpbWUgbGFiZWwgYW5kIHZhbHVlIHByb3BlcnRpZXMuCisKK1BB
U1M6IGlucHV0dGltZS50aXRsZSA9PT0gJ0FYVGl0bGU6IChCZXR3ZWVuOiAwNzowMCBBTS0wOTow
MCBBTSknCitBWFZhbHVlOiAwODowMEFNCitQQVNTOiBpbnB1dHRpbWUudGl0bGUgPT09ICdBWFRp
dGxlOiAnCitBWFZhbHVlOiAwNzozMEFNCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggYzI1NDEzOGZhYTFjLi4wMmY5OGIzM2NiYzYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTgxMyw2ICs4
MTMsNyBAQCBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3N0YXJ0LXJlY29nbml0aW9uLWFmdGVyLWd1
bS5odG1sIFsgU2tpcCBdCiBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3N0YXJ0LXJlY29nbml0aW9u
LWFmdGVyLWRlbmllZC1ndW0uaHRtbCBbIFNraXAgXQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9z
dGFydC1yZWNvZ25pdGlvbi13aXRob3V0LWRldmljZXMuaHRtbCBbIFNraXAgXQogCithY2Nlc3Np
YmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUuaHRtbCBbIFdvbnRGaXggXQogYWNjZXNzaWJp
bGl0eS9hbm5vdW5jZW1lbnQtbm90aWZpY2F0aW9uLmh0bWwgWyBXb250Rml4IF0KIGFjY2Vzc2li
aWxpdHkvcmVsYXRpb25zaGlwcy5odG1sIFsgV29udEZpeCBdCiAjIERhdGFsaXN0IGlzIHVuc3Vw
cG9ydGVkIGluIFdLMQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL2FjY2Vz
c2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12YWx1ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93cGUvYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVsLXZhbHVlLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjI1YTlhZmM2
MGJkOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9hY2Nlc3Np
YmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEg
QEAKK1RoaXMgdGVzdHMgaW5wdXQgdHlwZT10aW1lIGxhYmVsIGFuZCB2YWx1ZSBwcm9wZXJ0aWVz
LgorCitQQVNTOiBpbnB1dHRpbWUudGl0bGUgPT09ICdBWFRpdGxlOiAoQmV0d2VlbjogMDc6MDAg
QU0tMDk6MDAgQU0pJworQVhWYWx1ZTogMDg6MDAKK1BBU1M6IGlucHV0dGltZS50aXRsZSA9PT0g
J0FYVGl0bGU6ICcKK0FYVmFsdWU6IDA3OjMwCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>469692</attachid>
            <date>2024-02-03 10:38:46 -0800</date>
            <delta_ts>2024-02-03 16:42:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-268523-20240203133844.patch</filename>
            <type>text/plain</type>
            <size>44561</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">RnJvbSBlY2UzZjRlNDhiNWIzM2VmMDZjOTRhZWMzZjQyZWY4MjliNTZmYzMxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXMgR29uemFsZXogPGFuZHJlc2dfMjJAYXBwbGUuY29t
PgpEYXRlOiBXZWQsIDI0IEphbiAyMDI0IDEzOjM0OjI3IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0g
QVg6IFRoZSB2YWx1ZSBvZiBkYXRlIHRpbWUgZmllbGRzIGlzIG5vdCByZWFkIGJ5IFZvaWNlT3Zl
cgogd2hlbiB0aGUgVk8gY3Vyc29yIGxhbmRzIG9uIHRoZW0uCiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjY4NTIzIDxyZGFyOi8vcHJvYmxlbS8xMjIwNTkwMjQ+CgpS
ZXZpZXdlZCBieSBUeWxlciBXaWxjb2NrLgoKVGhpcyBwYXRjaCBmaXhlcyB0aGUgcHJvYmxlbSBi
eSBwcm92aWRpbmcgYSBwcm9wZXIgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBzdHJpbmdWYWx1ZSgp
IG1ldGhvZCBpbiB0aGUgY2FzZSBvZiBhIGRhdGUgdGltZSBmaWVsZC4gU29tZSBpT1Mtc3BlY2lm
aWMgY29kZSB0byBoYW5kbGUgZGF0ZSB0aW1lIGZpZWxkcyB3YXMgcmUtd29ya2VkIGFuZCBwcm9t
b3RlZCB0byBjb3JlIGNvZGUgdG8gbWFrZSB0aGlzIGZpeCBwb3NzaWJsZSBpbiBhbGwgcGxhdGZv
cm1zLiBUaGUgcGF0Y2ggaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBjaGFuZ2VzOgotIEFkZGVkIGEg
RGF0ZVRpbWUgcm9sZSB0byBkZXNjcmliZSB0aGlzIGZhbWlseSBvZiBlbGVtZW50cy4KLSBNYXAg
dGhpcyByb2xlIHRvIGl0cyBhcHByb3ByaWF0ZSBwbGF0Zm9ybSBwcm9wZXJ0aWVzLgotIEZpeCBp
biBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpzdHJpbmdWYWx1ZSgpLgotIENvZGUgY2xlYW51
cC4KCiogTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9kYXRlLWlucHV0LWFyaWEtbGFiZWwtYW5k
LXZhbHVlLWV4cGVjdGVkLnR4dDoKKiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2RhdGUtaW5w
dXQtYXJpYS1sYWJlbC1hbmQtdmFsdWUuaHRtbDoKUmUtd3JvdGUgdGhpcyB0ZXN0IGFjY29yZGlu
ZyB0byBvdXIgY3VycmVudCBzdGFuZGFyZHMsIGFuZCBzaW1wbGlmaWVkIGFuZCBtYWRlIGNsZWFy
IHRoZSBjb2RlLgoKKiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwt
dmFsdWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lu
cHV0LXRpbWUtbGFiZWwtdmFsdWUuaHRtbDogQWRkZWQuClByb21vdGVkIHRoaXMgdGVzdCBmcm9t
IGlvcy1zaW11bGF0b3IgdG8gYWxsIHBsYXRmb3Jtcy4gQWxzbyBtb2Rlcm5pemVkIGFuZCBjbGVh
bmVkIHVwIHRoZSBjb2RlLgoKKiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0
b3IvaW5wdXQtdHlwZS10aW1lLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKiBMYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvaW5wdXQtdHlwZS10aW1lLmh0bWw6IFJlbW92ZWQu
CkJlY2FtZSBpbnB1dC10aW1lLWxhYmVsLXZhbHVlLmh0bWwgYWJvdmUuCgoqIExheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL2FjY2Vz
c2liaWxpdHkvY2hhbmdpbmctYXJpYS1oaWRkZW4td2l0aC1kaXNwbGF5LW5vbmUtcGFyZW50LWV4
cGVjdGVkLnR4dDoKUmViYXNlZCBiZWNhdXNlIG5vdyBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0
aXRsZSByZXR1cm5zIHNvbWV0aGluZyBvbiBpT1MsIGJlZm9yZSByZXR1cm5lZCBudWxsLgoKKiBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9uczoKKiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3MvYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVsLXZhbHVlLWV4cGVjdGVk
LnR4dDogQWRkZWQuCiogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRp
b25zOgoqIExheW91dFRlc3RzL3BsYXRmb3JtL3dwZS9hY2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUt
bGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KCiogU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BWENvcmVPYmplY3QuaDoKKFdlYkNvcmU6OmFjY2Vzc2liaWxpdHlSb2xlVG9TdHJp
bmcpOgooV2ViQ29yZTo6QVhDb3JlT2JqZWN0Ojppc0RhdGVUaW1lIGNvbnN0KToKKiBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgooV2ViQ29yZTo6QVhPYmpl
Y3RDYWNoZTo6Y3JlYXRlKToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2li
aWxpdHlOb2RlT2JqZWN0LmNwcDoKKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0Ojpk
ZXRlcm1pbmVBY2Nlc3NpYmlsaXR5Um9sZUZyb21Ob2RlIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwOgooV2ViQ29yZTo6aW5pdGlh
bGl6ZVJvbGVNYXApOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eU9iamVjdC5oOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdC5jcHA6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpzdHJp
bmdWYWx1ZSBjb25zdCk6CihXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjphZGRU
ZXh0RmllbGRDaGlsZHJlbik6CiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5U3BpbkJ1dHRvbi5oOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkv
QWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmNwcDoKKFdlYkNvcmU6OmF0c3BpUm9sZSk6CiogU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvQWNjZXNzaWJpbGl0eU9iamVjdElPUy5tbToK
KFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6OmlzSW5wdXRUeXBlUG9wdXBCdXR0b24gY29u
c3QpOiBEZWxldGVkLgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tOgooLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlciBkZXRlcm1pbmVJc0FjY2Vzc2liaWxpdHlFbGVtZW50XSk6CigtW1dlYkFjY2Vzc2liaWxp
dHlPYmplY3RXcmFwcGVyIHN0cmluZ1ZhbHVlU2hvdWxkQmVVc2VkSW5MYWJlbF0pOgooLVtXZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBhY2Nlc3NpYmlsaXR5TGFiZWxdKToKKiBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0TWFjLm1tOgooV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eTo6Y3JlYXRlUGxhdGZvcm1Sb2xlTWFwKToKKiBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5t
bToKKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0eUF0dHJpYnV0
ZVZhbHVlOl0pOgoqIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvaW9zL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnRJT1MubW06CihXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnRpdGxlKToKLS0tCiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYQ29yZU9iamVjdC5o
ICAgfCAgIDUgKy0KIC4uLi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAg
ICB8ICAgNSArLQogLi4uL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuY3Bw
IHwgICA3ICstCiAuLi4vYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcCAgICAg
fCAgIDEgKwogLi4uL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oICAgICAgIHwg
ICAxIC0KIC4uLi9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCAgICAgICAgICAgICB8ICAx
NCArKy0KIC4uLi9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTcGluQnV0dG9uLmggICB8ICAy
MiArKy0tCiAuLi4vYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmNwcCAgICAgICAgfCAg
IDIgKwogLi4uL2lvcy9BY2Nlc3NpYmlsaXR5T2JqZWN0SU9TLm1tICAgICAgICAgICAgIHwgICA3
IC0tCiAuLi4vaW9zL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tICAgfCAgNTkg
KysrKy0tLS0tLQogLi4uL21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0TWFjLm1tICAgICAgICAgICAg
IHwgICAxICsKIC4uLi9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0gICB8
ICAgNyArLQogLi4uL2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tICAgICAgICAgIHwg
ICAyICstCiAuLi50ZS1pbnB1dC1hcmlhLWxhYmVsLWFuZC12YWx1ZS1leHBlY3RlZC50eHQgfCAg
NzEgKysrKysrLS0tLS0tCiAuLi4vZGF0ZS1pbnB1dC1hcmlhLWxhYmVsLWFuZC12YWx1ZS5odG1s
ICAgICAgfCAxMDUgKysrKysrKystLS0tLS0tLS0tCiAuLi4vaW5wdXQtdGltZS1sYWJlbC12YWx1
ZS1leHBlY3RlZC50eHQgICAgICAgfCAgMTEgKysKIC4uLi9hY2Nlc3NpYmlsaXR5L2lucHV0LXRp
bWUtbGFiZWwtdmFsdWUuaHRtbCB8ICAyOCArKysrKwogLi4uL2lucHV0LXR5cGUtdGltZS1leHBl
Y3RlZC50eHQgICAgICAgICAgICAgIHwgIDE1IC0tLQogLi4uL2lvcy1zaW11bGF0b3IvaW5wdXQt
dHlwZS10aW1lLmh0bWwgICAgICAgIHwgIDQwIC0tLS0tLS0KIC4uLi9pbnB1dC10aW1lLWxhYmVs
LXZhbHVlLWV4cGVjdGVkLnR4dCAgICAgICB8ICAxMSArKwogLi4uZGRlbi13aXRoLWRpc3BsYXkt
bm9uZS1wYXJlbnQtZXhwZWN0ZWQudHh0IHwgIDI0ICsrLS0KIExheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy9UZXN0RXhwZWN0YXRpb25zICAgICB8ICAgMSArCiAuLi4vaW5wdXQtdGltZS1sYWJlbC12
YWx1ZS1leHBlY3RlZC50eHQgICAgICAgfCAgMTEgKysKIC4uLi9pbnB1dC10aW1lLWxhYmVsLXZh
bHVlLWV4cGVjdGVkLnR4dCAgICAgICB8ICAxMSArKwogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMS9UZXN0RXhwZWN0YXRpb25zIHwgICAxICsKIC4uLi9pbnB1dC10aW1lLWxhYmVsLXZhbHVl
LWV4cGVjdGVkLnR4dCAgICAgICB8ICAxMSArKwogMjYgZmlsZXMgY2hhbmdlZCwgMjMzIGluc2Vy
dGlvbnMoKyksIDI0MCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0CiBjcmVh
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVs
LXZhbHVlLmh0bWwKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L2lvcy1zaW11bGF0b3IvaW5wdXQtdHlwZS10aW1lLWV4cGVjdGVkLnR4dAogZGVsZXRlIG1vZGUg
MTAwNjQ0IExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9pbnB1dC10eXBl
LXRpbWUuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9h
Y2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0CiBjcmVhdGUg
bW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2FjY2Vzc2liaWxpdHkvaW5wdXQt
dGltZS1sYWJlbC12YWx1ZS1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtbW9udGVyZXkvYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVs
LXZhbHVlLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3BsYXRm
b3JtL3dwZS9hY2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0
CgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWENvcmVPYmplY3Qu
aCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhDb3JlT2JqZWN0LmgKaW5kZXggZTgw
M2U1MzE0YjgyLi4wOWZjZTkwZDNlY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQVhDb3JlT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BWENvcmVPYmplY3QuaApAQCAtMTM2LDYgKzEzNiw3IEBAIGVudW0gY2xhc3MgQWNjZXNzaWJp
bGl0eVJvbGUgewogICAgIENvbHVtbiwKICAgICBDb2x1bW5IZWFkZXIsCiAgICAgQ29tYm9Cb3gs
CisgICAgRGF0ZVRpbWUsCiAgICAgRGVmaW5pdGlvbiwKICAgICBEZWxldGlvbiwKICAgICBEZXNj
cmlwdGlvbkxpc3QsCkBAIC0zMDMsNiArMzA0LDggQEAgQUxXQVlTX0lOTElORSBTdHJpbmcgYWNj
ZXNzaWJpbGl0eVJvbGVUb1N0cmluZyhBY2Nlc3NpYmlsaXR5Um9sZSByb2xlKQogICAgICAgICBy
ZXR1cm4gIkNvbHVtbkhlYWRlciJfczsKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpDb21i
b0JveDoKICAgICAgICAgcmV0dXJuICJDb21ib0JveCJfczsKKyAgICBjYXNlIEFjY2Vzc2liaWxp
dHlSb2xlOjpEYXRlVGltZToKKyAgICAgICAgcmV0dXJuICJEYXRlVGltZSJfczsKICAgICBjYXNl
IEFjY2Vzc2liaWxpdHlSb2xlOjpEZWZpbml0aW9uOgogICAgICAgICByZXR1cm4gIkRlZmluaXRp
b24iX3M7CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6RGVsZXRpb246CkBAIC05MTQsNiAr
OTE3LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNUYWJJdGVtKCkgY29uc3QgeyByZXR1cm4gcm9s
ZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OlRhYjsgfQogICAgIGJvb2wgaXNSYWRpb0dy
b3VwKCkgY29uc3QgeyByZXR1cm4gcm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OlJh
ZGlvR3JvdXA7IH0KICAgICBib29sIGlzQ29tYm9Cb3goKSBjb25zdCB7IHJldHVybiByb2xlVmFs
dWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6Q29tYm9Cb3g7IH0KKyAgICBib29sIGlzRGF0ZVRp
bWUoKSBjb25zdCB7IHJldHVybiByb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6RGF0
ZVRpbWU7IH0KICAgICBib29sIGlzVHJlZSgpIGNvbnN0IHsgcmV0dXJuIHJvbGVWYWx1ZSgpID09
IEFjY2Vzc2liaWxpdHlSb2xlOjpUcmVlOyB9CiAgICAgYm9vbCBpc1RyZWVHcmlkKCkgY29uc3Qg
eyByZXR1cm4gcm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OlRyZWVHcmlkOyB9CiAg
ICAgYm9vbCBpc1RyZWVJdGVtKCkgY29uc3QgeyByZXR1cm4gcm9sZVZhbHVlKCkgPT0gQWNjZXNz
aWJpbGl0eVJvbGU6OlRyZWVJdGVtOyB9CkBAIC0xMzc3LDcgKzEzODEsNiBAQCBwdWJsaWM6CiAj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICB2aXJ0dWFsIGludCBhY2Nlc3NpYmlsaXR5U2Vj
dXJlRmllbGRMZW5ndGgoKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGhhc1RvdWNoRXZlbnRMaXN0
ZW5lcigpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgaXNJbnB1dFR5cGVQb3B1cEJ1dHRv
bigpIGNvbnN0ID0gMDsKICNlbmRpZgogCiAgICAgLy8gYWxsb3dzIGZvciBhbiBBY2Nlc3NpYmls
aXR5T2JqZWN0IHRvIHVwZGF0ZSBpdHMgcmVuZGVyIHRyZWUgb3IgcGVyZm9ybQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKaW5kZXggYzFlZWUzMWRl
NTNkLi5iNWZlYzAwYjA3YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
WE9iamVjdENhY2hlLmNwcApAQCAtMTAyOSwxMSArMTAyOSwxMCBAQCBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0KiBBWE9iamVjdENhY2hlOjpyb290T2JqZWN0Rm9yRnJhbWUoTG9jYWxGcmFtZSogZnJhbWUp
CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIHJldHVybiBnZXRPckNyZWF0ZShmcmFtZS0+
dmlldygpKTsKIH0gICAgCi0gICAgCisKIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFYT2JqZWN0Q2Fj
aGU6OmNyZWF0ZShBY2Nlc3NpYmlsaXR5Um9sZSByb2xlKQogewogICAgIFJlZlB0cjxBY2Nlc3Np
YmlsaXR5T2JqZWN0PiBvYmo7Ci0KICAgICAvLyB3aWxsIGJlIGZpbGxlZCBpbi4uLgogICAgIHN3
aXRjaCAocm9sZSkgewogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OkltYWdlTWFwTGluazoK
QEAgLTEwNTgsNyArMTA1Nyw3IEBAIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFYT2JqZWN0Q2FjaGU6
OmNyZWF0ZShBY2Nlc3NpYmlsaXR5Um9sZSByb2xlKQogICAgICAgICBvYmogPSBBY2Nlc3NpYmls
aXR5U3BpbkJ1dHRvblBhcnQ6OmNyZWF0ZSgpOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0
OgotICAgICAgICBvYmogPSBudWxscHRyOworICAgICAgICBicmVhazsKICAgICB9CiAKICAgICBp
ZiAoIW9iaikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eU5vZGVPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5Tm9kZU9iamVjdC5jcHAKaW5kZXggNGM4ODc3YWRkMWFlLi5kZTZjMDE2MDczNDMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5v
ZGVPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eU5vZGVPYmplY3QuY3BwCkBAIC0zNDAsMTEgKzM0MCw4IEBAIEFjY2Vzc2liaWxpdHlSb2xl
IEFjY2Vzc2liaWxpdHlOb2RlT2JqZWN0OjpkZXRlcm1pbmVBY2Nlc3NpYmlsaXR5Um9sZUZyb21O
b2RlKFRyCiAgICAgICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVJvbGU6OlJhZGlvQnV0dG9u
OwogICAgICAgICBpZiAoaW5wdXQtPmlzVGV4dEJ1dHRvbigpKQogICAgICAgICAgICAgcmV0dXJu
IGJ1dHRvblJvbGVUeXBlKCk7Ci0gICAgICAgIC8vIE9uIGlPUywgdGhlIGRhdGUgZmllbGQgYW5k
IHRpbWUgZmllbGQgYXJlIHBvcHVwIGJ1dHRvbnMuIE9uIG90aGVyIHBsYXRmb3JtcyB0aGV5IGFy
ZSB0ZXh0IGZpZWxkcy4KLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgICAgICBpZiAoaW5w
dXQtPmlzRGF0ZUZpZWxkKCkgfHwgaW5wdXQtPmlzVGltZUZpZWxkKCkpCi0gICAgICAgICAgICBy
ZXR1cm4gQWNjZXNzaWJpbGl0eVJvbGU6OlBvcFVwQnV0dG9uOwotI2VuZGlmCisgICAgICAgIGlm
IChpbnB1dC0+aXNEYXRlRmllbGQoKSB8fCBpbnB1dC0+aXNEYXRlVGltZUxvY2FsRmllbGQoKSB8
fCBpbnB1dC0+aXNNb250aEZpZWxkKCkgfHwgaW5wdXQtPmlzVGltZUZpZWxkKCkgfHwgaW5wdXQt
PmlzV2Vla0ZpZWxkKCkpCisgICAgICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVJvbGU6OkRh
dGVUaW1lOwogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQogICAgICAgICBpZiAoaW5wdXQt
PmlzQ29sb3JDb250cm9sKCkpCiAgICAgICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVJvbGU6
OkNvbG9yV2VsbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eU9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlPYmplY3QuY3BwCmluZGV4IGViZjc4M2UzNzk0Yy4uZGU5YWMyNTk4MjE3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5jcHAKQEAgLTI3MzgsNiArMjczOCw3IEBAIHN0YXRpYyB2b2lkIGluaXRpYWxpemVSb2xlTWFw
KCkKICAgICAvLyBDcmVhdGUgc3BlY2lmaWMgc3lub255bXMgZm9yIHRoZSBjb21wdXRlZFJvbGUg
d2hpY2ggaXMgdXNlZCBpbiBXUFQgdGVzdHMgYW5kIHRoZSBhY2Nlc3NpYmlsaXR5IGluc3BlY3Rv
ci4KICAgICBnQXJpYVJldmVyc2VSb2xlTWFwLT5zZXQoZW51bVRvVW5kZXJseWluZ1R5cGUoQWNj
ZXNzaWJpbGl0eVJvbGU6OkltYWdlKSwgImltYWdlIl9zKTsKICAgICBnQXJpYVJldmVyc2VSb2xl
TWFwLT5zZXQoZW51bVRvVW5kZXJseWluZ1R5cGUoQWNjZXNzaWJpbGl0eVJvbGU6OlRleHRBcmVh
KSwgInRleHRib3giX3MpOworICAgIGdBcmlhUmV2ZXJzZVJvbGVNYXAtPnNldChlbnVtVG9VbmRl
cmx5aW5nVHlwZShBY2Nlc3NpYmlsaXR5Um9sZTo6RGF0ZVRpbWUpLCAidGV4dGJveCJfcyk7CiAg
ICAgZ0FyaWFSZXZlcnNlUm9sZU1hcC0+c2V0KGVudW1Ub1VuZGVybHlpbmdUeXBlKEFjY2Vzc2li
aWxpdHlSb2xlOjpQcmVzZW50YXRpb25hbCksICJub25lIl9zKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAppbmRleCBlNzA0
M2VkZGY5NDIuLjBhZjc3NDM5YzM1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKQEAgLTcxMyw3ICs3MTMsNiBAQCBwdWJsaWM6
CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBpbnQgYWNjZXNzaWJpbGl0eVNlY3VyZUZp
ZWxkTGVuZ3RoKCkgb3ZlcnJpZGU7CiAgICAgYm9vbCBoYXNUb3VjaEV2ZW50TGlzdGVuZXIoKSBj
b25zdCBvdmVycmlkZTsKLSAgICBib29sIGlzSW5wdXRUeXBlUG9wdXBCdXR0b24oKSBjb25zdCBv
dmVycmlkZTsKICNlbmRpZgogCiAgICAgLy8gYWxsb3dzIGZvciBhbiBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0IHRvIHVwZGF0ZSBpdHMgcmVuZGVyIHRyZWUgb3IgcGVyZm9ybQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5j
cHAKaW5kZXggZGU3Y2MxNzNkN2FmLi5iYjY4NjA3ZDliN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmNw
cApAQCAtNzg4LDEwICs3ODgsMTQgQEAgU3RyaW5nIEFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3Q6
OnN0cmluZ1ZhbHVlKCkgY29uc3QKICAgICBpZiAoaXNXZWJBcmVhKCkpCiAgICAgICAgIHJldHVy
biB7IH07CiAKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIGlmIChpc0lucHV0VHlwZVBv
cHVwQnV0dG9uKCkpCi0gICAgICAgIHJldHVybiB0ZXh0VW5kZXJFbGVtZW50KCk7Ci0jZW5kaWYK
KyAgICBpZiAoaXNEYXRlVGltZSgpKSB7CisgICAgICAgIFN0cmluZyB2YWx1ZTsKKyAgICAgICAg
QWNjZXNzaWJpbGl0eTo6ZW51bWVyYXRlRGVzY2VuZGFudHMoKmNvbnN0X2Nhc3Q8QWNjZXNzaWJp
bGl0eVJlbmRlck9iamVjdCo+KHRoaXMpLCBmYWxzZSwgWyZ2YWx1ZV0gKGNvbnN0IGF1dG8mIG9i
amVjdCkgeworICAgICAgICAgICAgaWYgKG9iamVjdC5pc1N0YXRpY1RleHQoKSkKKyAgICAgICAg
ICAgICAgICB2YWx1ZSA9IHZhbHVlICsgb2JqZWN0LnN0cmluZ1ZhbHVlKCk7CisgICAgICAgIH0p
OworICAgICAgICByZXR1cm4gdmFsdWU7CisgICAgfQogCiAgICAgaWYgKGF1dG8qIHJlbmRlckZp
bGVVcGxvYWRDb250cm9sID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlckZpbGVVcGxvYWRDb250cm9s
PihtX3JlbmRlcmVyLmdldCgpKSkKICAgICAgICAgcmV0dXJuIHJlbmRlckZpbGVVcGxvYWRDb250
cm9sLT5maWxlVGV4dFZhbHVlKCk7CkBAIC0yMjk1LDcgKzIyOTksNyBAQCB2b2lkIEFjY2Vzc2li
aWxpdHlSZW5kZXJPYmplY3Q6OmFkZFRleHRGaWVsZENoaWxkcmVuKCkKICAgICBSZWZQdHIgbm9k
ZSA9IGR5bmFtaWNEb3duY2FzdDxIVE1MSW5wdXRFbGVtZW50Pih0aGlzLT5ub2RlKCkpOwogICAg
IGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuOwotICAgIAorCiAgICAgYXV0byogc3BpbkJ1dHRv
bkVsZW1lbnQgPSBkeW5hbWljRG93bmNhc3Q8U3BpbkJ1dHRvbkVsZW1lbnQ+KG5vZGUtPmlubmVy
U3BpbkJ1dHRvbkVsZW1lbnQoKSk7CiAgICAgaWYgKCFzcGluQnV0dG9uRWxlbWVudCkKICAgICAg
ICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5U3BpbkJ1dHRvbi5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nl
c3NpYmlsaXR5U3BpbkJ1dHRvbi5oCmluZGV4IGUxY2Q0MmQ4ZjM1NS4uNzYyYzZmZWVkZWE1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTcGlu
QnV0dG9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
U3BpbkJ1dHRvbi5oCkBAIC0yOSwxOSArMjksMTkgQEAKICNpbmNsdWRlICJTcGluQnV0dG9uRWxl
bWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgCisKIGNsYXNzIEFjY2Vzc2liaWxp
dHlTcGluQnV0dG9uIGZpbmFsIDogcHVibGljIEFjY2Vzc2liaWxpdHlNb2NrT2JqZWN0IHsKIHB1
YmxpYzoKICAgICBzdGF0aWMgUmVmPEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uPiBjcmVhdGUoKTsK
ICAgICB2aXJ0dWFsIH5BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbigpOwotICAgIAorCiAgICAgdm9p
ZCBzZXRTcGluQnV0dG9uRWxlbWVudChTcGluQnV0dG9uRWxlbWVudCogc3BpbkJ1dHRvbikgeyBt
X3NwaW5CdXR0b25FbGVtZW50ID0gc3BpbkJ1dHRvbjsgfQotICAgIAorCiAgICAgQVhDb3JlT2Jq
ZWN0KiBpbmNyZW1lbnRCdXR0b24oKSBvdmVycmlkZTsKICAgICBBWENvcmVPYmplY3QqIGRlY3Jl
bWVudEJ1dHRvbigpIG92ZXJyaWRlOwogCiAgICAgdm9pZCBzdGVwKGludCBhbW91bnQpOwotICAg
IAorCiBwcml2YXRlOgogICAgIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uKCk7CiAKQEAgLTQ5LDI5
ICs0OSwyOSBAQCBwcml2YXRlOgogICAgIGJvb2wgaXNOYXRpdmVTcGluQnV0dG9uKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZvaWQgYWRkQ2hpbGRyZW4oKSBvdmVycmlk
ZTsKICAgICBMYXlvdXRSZWN0IGVsZW1lbnRSZWN0KCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgCisK
ICAgICBXZWFrUHRyPFNwaW5CdXR0b25FbGVtZW50LCBXZWFrUHRySW1wbFdpdGhFdmVudFRhcmdl
dERhdGE+IG1fc3BpbkJ1dHRvbkVsZW1lbnQ7CiB9OyAKLSAgIAorCiBjbGFzcyBBY2Nlc3NpYmls
aXR5U3BpbkJ1dHRvblBhcnQgZmluYWwgOiBwdWJsaWMgQWNjZXNzaWJpbGl0eU1vY2tPYmplY3Qg
ewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8QWNjZXNzaWJpbGl0eVNwaW5CdXR0b25QYXJ0PiBj
cmVhdGUoKTsKICAgICB2aXJ0dWFsIH5BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvblBhcnQoKSA9IGRl
ZmF1bHQ7Ci0gICAgCisKICAgICBib29sIGlzSW5jcmVtZW50b3IoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBtX2lzSW5jcmVtZW50b3I7IH0KICAgICB2b2lkIHNldElzSW5jcmVtZW50b3IoYm9v
bCB2YWx1ZSkgeyBtX2lzSW5jcmVtZW50b3IgPSB2YWx1ZTsgfQotICAgIAorCiBwcml2YXRlOgog
ICAgIEFjY2Vzc2liaWxpdHlTcGluQnV0dG9uUGFydCgpOwotICAgIAorCiAgICAgYm9vbCBwcmVz
cygpIG92ZXJyaWRlOwogICAgIEFjY2Vzc2liaWxpdHlSb2xlIGRldGVybWluZUFjY2Vzc2liaWxp
dHlSb2xlKCkgZmluYWwgeyByZXR1cm4gQWNjZXNzaWJpbGl0eVJvbGU6OlNwaW5CdXR0b25QYXJ0
OyB9CiAgICAgYm9vbCBpc1NwaW5CdXR0b25QYXJ0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
dHJ1ZTsgfQogICAgIExheW91dFJlY3QgZWxlbWVudFJlY3QoKSBjb25zdCBvdmVycmlkZTsKIAot
ICAgIHVuc2lnbmVkIG1faXNJbmNyZW1lbnRvciA6IDE7CisgICAgYm9vbCBtX2lzSW5jcmVtZW50
b3IgeyB0cnVlIH07CiB9OwotICAgIAorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKIFNQRUNJ
QUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVNwaW5CdXR0b24p
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNz
aWJpbGl0eU9iamVjdEF0c3BpLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRz
cGkvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmNwcAppbmRleCA1MmVjZDUzM2QzZGYuLjVkZTk3
MGYxZjcwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9B
Y2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmNwcApAQCAtMjk4LDYgKzI5OCw4
IEBAIHN0YXRpYyBBdHNwaTo6Um9sZSBhdHNwaVJvbGUoQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSkK
ICAgICAgICAgcmV0dXJuIEF0c3BpOjpSb2xlOjpDYW52YXM7CiAgICAgY2FzZSBBY2Nlc3NpYmls
aXR5Um9sZTo6SG9yaXpvbnRhbFJ1bGU6CiAgICAgICAgIHJldHVybiBBdHNwaTo6Um9sZTo6U2Vw
YXJhdG9yOworICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OkRhdGVUaW1lOgorICAgICAgICBy
ZXR1cm4gQXRzcGk6OlJvbGU6OkVudHJ5OwogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OlNw
aW5CdXR0b246CiAgICAgICAgIHJldHVybiBBdHNwaTo6Um9sZTo6U3BpbkJ1dHRvbjsKICAgICBj
YXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpUYWI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2lvcy9BY2Nlc3NpYmlsaXR5T2JqZWN0SU9TLm1tIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9pb3MvQWNjZXNzaWJpbGl0eU9iamVjdElPUy5tbQppbmRleCAwOGYz
NmFhY2I3NzQuLjdmOWNmNmU2NTYwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9pb3MvQWNjZXNzaWJpbGl0eU9iamVjdElPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L2lvcy9BY2Nlc3NpYmlsaXR5T2JqZWN0SU9TLm1tCkBAIC0xMzQsMTMg
KzEzNCw2IEBAIGJvb2wgQWNjZXNzaWJpbGl0eU9iamVjdDo6aGFzVG91Y2hFdmVudExpc3RlbmVy
KCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgQWNjZXNzaWJpbGl0eU9iamVj
dDo6aXNJbnB1dFR5cGVQb3B1cEJ1dHRvbigpIGNvbnN0Ci17Ci0gICAgaWYgKGlzPEhUTUxJbnB1
dEVsZW1lbnQ+KG5vZGUoKSkpCi0gICAgICAgIHJldHVybiByb2xlVmFsdWUoKSA9PSBBY2Nlc3Np
YmlsaXR5Um9sZTo6UG9wVXBCdXR0b247Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiB2b2lkIEFj
Y2Vzc2liaWxpdHlPYmplY3Q6OnNldExhc3RQcmVzZW50ZWRUZXh0UHJlZGljdGlvbihOb2RlJiBw
cmV2aW91c0NvbXBvc2l0aW9uTm9kZSwgQ29tcG9zaXRpb25TdGF0ZSBzdGF0ZSwgY29uc3QgU3Ry
aW5nJiB0ZXh0LCBzaXplX3QgbG9jYXRpb24sIGJvb2wgaGFuZGxpbmdBY2NlcHRlZENhbmRpZGF0
ZSkKIHsKICNpZiBIQVZFKElOTElORV9QUkVESUNUSU9OUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9T
Lm1tIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvV2ViQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXJJT1MubW0KaW5kZXggMjdiNTJiMTQ4NjBiLi5lYmU2MjJiNDAyODkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL1dlYkFjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9z
L1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9TLm1tCkBAIC05MzgsMTYgKzkzOCwxNyBA
QCAtIChCT09MKWlzU1ZHR3JvdXBFbGVtZW50CiAKIC0gKEJPT0wpZGV0ZXJtaW5lSXNBY2Nlc3Np
YmlsaXR5RWxlbWVudAogewotICAgIGlmICghc2VsZi5heEJhY2tpbmdPYmplY3QpCisgICAgUmVm
UHRyPEFYQ29yZU9iamVjdD4gYmFja2luZ09iamVjdCA9IHNlbGYuYXhCYWNraW5nT2JqZWN0Owor
ICAgIGlmICghYmFja2luZ09iamVjdCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIAotICAg
IC8vIEhvbm9yIHdoZW4gc29tZXRoaW5nIGV4cGxpY2l0bHkgbWFrZXMgdGhpcyBhbiBlbGVtZW50
IChzdXBlciB3aWxsIGNvbnRhaW4gdGhhdCBsb2dpYykgCisKKyAgICAvLyBIb25vciB3aGVuIHNv
bWV0aGluZyBleHBsaWNpdGx5IG1ha2VzIHRoaXMgYW4gZWxlbWVudCAoc3VwZXIgd2lsbCBjb250
YWluIHRoYXQgbG9naWMpCiAgICAgaWYgKFtzdXBlciBpc0FjY2Vzc2liaWxpdHlFbGVtZW50XSkK
ICAgICAgICAgcmV0dXJuIFlFUzsKLSAgICAKLSAgICBzZWxmLmF4QmFja2luZ09iamVjdC0+dXBk
YXRlQmFja2luZ1N0b3JlKCk7Ci0gICAgCi0gICAgc3dpdGNoIChzZWxmLmF4QmFja2luZ09iamVj
dC0+cm9sZVZhbHVlKCkpIHsKKworICAgIGJhY2tpbmdPYmplY3QtPnVwZGF0ZUJhY2tpbmdTdG9y
ZSgpOworCisgICAgc3dpdGNoIChiYWNraW5nT2JqZWN0LT5yb2xlVmFsdWUoKSkgewogICAgIGNh
c2UgQWNjZXNzaWJpbGl0eVJvbGU6OlRleHRGaWVsZDoKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlS
b2xlOjpUZXh0QXJlYToKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpCdXR0b246CkBAIC05
NjcsNiArOTY4LDcgQEAgLSAoQk9PTClkZXRlcm1pbmVJc0FjY2Vzc2liaWxpdHlFbGVtZW50CiAg
ICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6TWVudUl0ZW1SYWRpbzoKICAgICBjYXNlIEFjY2Vz
c2liaWxpdHlSb2xlOjpJbmNyZW1lbnRvcjoKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpD
b21ib0JveDoKKyAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpEYXRlVGltZToKICAgICBjYXNl
IEFjY2Vzc2liaWxpdHlSb2xlOjpJbWFnZU1hcDoKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xl
OjpMaXN0TWFya2VyOgogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6Okxpc3RCb3hPcHRpb246
CkBAIC05ODgsMjYgKzk5MCwxNyBAQCAtIChCT09MKWRldGVybWluZUlzQWNjZXNzaWJpbGl0eUVs
ZW1lbnQKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgfQotICAgICAgICAKKwogICAgIC8vIERvbid0IGV4cG9zZSBoZWFkZXJzIGFzIGVsZW1lbnRz
OyBpbnN0ZWFkIGV4cG9zZSB0aGVpciBjaGlsZHJlbiBhcyBlbGVtZW50cywgd2l0aCB0aGUgaGVh
ZGVyIHRyYWl0ICh1bmxlc3MgdGhleSBoYXZlIG5vIGNoaWxkcmVuKQogICAgIGNhc2UgQWNjZXNz
aWJpbGl0eVJvbGU6OkhlYWRpbmc6Ci0gICAgICAgIGlmICghW3NlbGYgYWNjZXNzaWJpbGl0eUVs
ZW1lbnRDb3VudF0pCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgICAgICAKKyAgICAgICAgcmV0dXJuICFbc2VsZiBhY2Nlc3NpYmlsaXR5RWxlbWVu
dENvdW50XTsKICAgICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpWaWRlbzoKICAgICAgICAgcmV0
dXJuIFtzZWxmIGFjY2Vzc2liaWxpdHlJc1dlYkludGVyYWN0aXZlVmlkZW9dOwotICAgICAgICAK
LSAgICBpZiAoc2VsZi5heEJhY2tpbmdPYmplY3QtPmlzTm9uTmF0aXZlVGV4dENvbnRyb2woKSkK
LSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICAvLyBMaW5rcyBjYW4gc29tZXRpbWVzIGJlIGVs
ZW1lbnRzICh3aGVuIHRoZXkgb25seSBjb250YWluIHN0YXRpYyB0ZXh0IG9yIGRvbid0IGNvbnRh
aW4gYW55dGhpbmcpLgotICAgIC8vIFRoZXkgc2hvdWxkIG5vdCBiZSBlbGVtZW50cyB3aGVuIGNv
bnRhaW5pbmcgdGV4dCBhbmQgb3RoZXIgdHlwZXMuCiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9s
ZTo6V2ViQ29yZUxpbms6CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6TGluazoKLSAgICAg
ICAgaWYgKFtzZWxmIGNvbnRhaW5zVW5uYXR1cmFsbHlTZWdtZW50ZWRDaGlsZHJlbl0gfHwgIVtz
ZWxmIGFjY2Vzc2liaWxpdHlFbGVtZW50Q291bnRdKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgLy8gTGlua3MgY2FuIHNvbWV0aW1lcyBi
ZSBlbGVtZW50cyAod2hlbiB0aGV5IG9ubHkgY29udGFpbiBzdGF0aWMgdGV4dCBvciBkb24ndCBj
b250YWluIGFueXRoaW5nKS4KKyAgICAgICAgLy8gVGhleSBzaG91bGQgbm90IGJlIGVsZW1lbnRz
IHdoZW4gY29udGFpbmluZyB0ZXh0IGFuZCBvdGhlciB0eXBlcy4KKyAgICAgICAgcmV0dXJuIFtz
ZWxmIGNvbnRhaW5zVW5uYXR1cmFsbHlTZWdtZW50ZWRDaGlsZHJlbl0gfHwgIVtzZWxmIGFjY2Vz
c2liaWxpdHlFbGVtZW50Q291bnRdOwogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6Okdyb3Vw
OgogICAgICAgICBpZiAoW3NlbGYgaXNTVkdHcm91cEVsZW1lbnRdKQogICAgICAgICAgICAgcmV0
dXJuIHRydWU7CkBAIC0xMTEzLDE2ICsxMTA2LDE2IEBAIC0gKEJPT0wpZGV0ZXJtaW5lSXNBY2Nl
c3NpYmlsaXR5RWxlbWVudAogICAgIGNhc2UgQWNjZXNzaWJpbGl0eVJvbGU6OldlYkFyZWE6CiAg
ICAgICAgIC8vIENvbnNpZGVyIGZvY3VzYWJsZSBsZWFmLW5vZGVzIHdpdGggYSBsYWJlbCB0byBi
ZSBhY2Nlc3NpYmxlIGVsZW1lbnRzLgogICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNDkyCi0gICAgICAgIHJldHVybiBzZWxmLmF4QmFja2luZ09i
amVjdC0+aXNLZXlib2FyZEZvY3VzYWJsZSgpCisgICAgICAgIHJldHVybiBiYWNraW5nT2JqZWN0
LT5pc0tleWJvYXJkRm9jdXNhYmxlKCkKICAgICAgICAgICAgICYmIFtzZWxmIGFjY2Vzc2liaWxp
dHlFbGVtZW50Q291bnRdID09IDAKLSAgICAgICAgICAgICYmIHNlbGYuYXhCYWNraW5nT2JqZWN0
LT5kZXNjcmlwdGlvbkF0dHJpYnV0ZVZhbHVlKCkuZmluZChkZXByZWNhdGVkSXNOb3RTcGFjZU9y
TmV3bGluZSkgIT0gbm90Rm91bmQ7CisgICAgICAgICAgICAmJiBiYWNraW5nT2JqZWN0LT5kZXNj
cmlwdGlvbkF0dHJpYnV0ZVZhbHVlKCkuZmluZChkZXByZWNhdGVkSXNOb3RTcGFjZU9yTmV3bGlu
ZSkgIT0gbm90Rm91bmQ7CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6SWdub3JlZDoKICAg
ICBjYXNlIEFjY2Vzc2liaWxpdHlSb2xlOjpMaW5lQnJlYWs6CiAgICAgY2FzZSBBY2Nlc3NpYmls
aXR5Um9sZTo6UHJlc2VudGF0aW9uYWw6CiAgICAgY2FzZSBBY2Nlc3NpYmlsaXR5Um9sZTo6VW5r
bm93bjoKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KLSAgICAKKwogICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBmYWxzZTsKIH0KQEAgLTExNDAsMTYgKzExMzMsMTIg
QEAgLSAoQk9PTClpc0FjY2Vzc2liaWxpdHlFbGVtZW50CiAKIC0gKEJPT0wpc3RyaW5nVmFsdWVT
aG91bGRCZVVzZWRJbkxhYmVsCiB7Ci0gICAgaWYgKHNlbGYuYXhCYWNraW5nT2JqZWN0LT5pc1Rl
eHRDb250cm9sKCkpCi0gICAgICAgIHJldHVybiBOTzsKLSAgICBpZiAoc2VsZi5heEJhY2tpbmdP
YmplY3QtPnJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpQb3BVcEJ1dHRvbikKLSAg
ICAgICAgcmV0dXJuIE5POwotICAgIGlmIChzZWxmLmF4QmFja2luZ09iamVjdC0+aXNGaWxlVXBs
b2FkQnV0dG9uKCkpCi0gICAgICAgIHJldHVybiBOTzsKLSAgICBpZiAoW3NlbGYgYWNjZXNzaWJp
bGl0eUlzV2ViSW50ZXJhY3RpdmVWaWRlb10pCi0gICAgICAgIHJldHVybiBOTzsKLQotICAgIHJl
dHVybiBZRVM7CisgICAgUmVmUHRyPEFYQ29yZU9iamVjdD4gYmFja2luZ09iamVjdCA9IHNlbGYu
YXhCYWNraW5nT2JqZWN0OworICAgIHJldHVybiBiYWNraW5nT2JqZWN0ICYmICEoYmFja2luZ09i
amVjdC0+aXNUZXh0Q29udHJvbCgpCisgICAgICAgIHx8IGJhY2tpbmdPYmplY3QtPmlzUG9wVXBC
dXR0b24oKQorICAgICAgICB8fCBiYWNraW5nT2JqZWN0LT5pc0RhdGVUaW1lKCkKKyAgICAgICAg
fHwgYmFja2luZ09iamVjdC0+aXNGaWxlVXBsb2FkQnV0dG9uKCkKKyAgICAgICAgfHwgW3NlbGYg
YWNjZXNzaWJpbGl0eUlzV2ViSW50ZXJhY3RpdmVWaWRlb10pOwogfQogCiBzdGF0aWMgdm9pZCBh
cHBlbmRTdHJpbmdUb1Jlc3VsdChOU011dGFibGVTdHJpbmcgKnJlc3VsdCwgTlNTdHJpbmcgKnN0
cmluZykKQEAgLTEyNjEsNyArMTI1MCw3IEBAIC0gKE5TU3RyaW5nICopYWNjZXNzaWJpbGl0eUxh
YmVsCiAgICAgTlNTdHJpbmcgKmludGVyYWN0aXZlVmlkZW9EZXNjcmlwdGlvbiA9IFtzZWxmIGlu
dGVyYWN0aXZlVmlkZW9EZXNjcmlwdGlvbl07CiAKICAgICAvLyBXZSBzaG91bGQgZXhwb3NlIHRo
ZSB2YWx1ZSBvZiB0aGUgaW5wdXQgdHlwZSBkYXRlIG9yIHRpbWUgdGhyb3VnaCBBWFZhbHVlIGlu
c3RlYWQgb2YgQVhUaXRsZS4KLSAgICBpZiAoYmFja2luZ09iamVjdC0+aXNJbnB1dFR5cGVQb3B1
cEJ1dHRvbigpICYmIHRpdGxlID09IFN0cmluZyhbc2VsZiBhY2Nlc3NpYmlsaXR5VmFsdWVdKSkK
KyAgICBpZiAoYmFja2luZ09iamVjdC0+aXNEYXRlVGltZSgpICYmIHRpdGxlID09IFN0cmluZyhb
c2VsZiBhY2Nlc3NpYmlsaXR5VmFsdWVdKSkKICAgICAgICAgdGl0bGUgPSAiIl9zOwogCiAgICAg
Ly8gRm9vdGVyIGlzIG5vdCBjb25zaWRlcmVkIGEgbGFuZG1hcmssIGJ1dCB3ZSB3YW50IHRoZSBy
b2xlIGRlc2NyaXB0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdE1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvbWFjL0FjY2Vzc2liaWxpdHlPYmplY3RNYWMubW0KaW5kZXggNTY5MTgwOTMzODgwLi5i
YTJhY2NkODBkMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFj
L0FjY2Vzc2liaWxpdHlPYmplY3RNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdE1hYy5tbQpAQCAtNzkxLDYgKzc5MSw3IEBAIFBs
YXRmb3JtUm9sZU1hcCBjcmVhdGVQbGF0Zm9ybVJvbGVNYXAoKQogICAgICAgICB7IEFjY2Vzc2li
aWxpdHlSb2xlOjpNZXRlciwgTlNBY2Nlc3NpYmlsaXR5TGV2ZWxJbmRpY2F0b3JSb2xlIH0sCiAg
ICAgICAgIHsgQWNjZXNzaWJpbGl0eVJvbGU6OkluY3JlbWVudG9yLCBOU0FjY2Vzc2liaWxpdHlJ
bmNyZW1lbnRvclJvbGUgfSwKICAgICAgICAgeyBBY2Nlc3NpYmlsaXR5Um9sZTo6Q29tYm9Cb3gs
IE5TQWNjZXNzaWJpbGl0eUNvbWJvQm94Um9sZSB9LAorICAgICAgICB7IEFjY2Vzc2liaWxpdHlS
b2xlOjpEYXRlVGltZSwgTlNBY2Nlc3NpYmlsaXR5VGV4dEZpZWxkUm9sZSB9LAogICAgICAgICB7
IEFjY2Vzc2liaWxpdHlSb2xlOjpTcGxpdHRlciwgTlNBY2Nlc3NpYmlsaXR5U3BsaXR0ZXJSb2xl
IH0sCiAgICAgICAgIHsgQWNjZXNzaWJpbGl0eVJvbGU6OkNvZGUsIE5TQWNjZXNzaWJpbGl0eUdy
b3VwUm9sZSB9LAogICAgICAgICB7IEFjY2Vzc2liaWxpdHlSb2xlOjpDb2xvcldlbGwsIE5TQWNj
ZXNzaWJpbGl0eUNvbG9yV2VsbFJvbGUgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBw
ZXJNYWMubW0KaW5kZXggMjAyN2FkNjZmNzFmLi4yZjYwYjYyMDRjNDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tCkBAIC0xNTAzLDEwICsxNTAzLDYgQEAgQUxMT1df
REVQUkVDQVRFRF9JTVBMRU1FTlRBVElPTlNfRU5ECiAgICAgaWYgKFthdHRyaWJ1dGVOYW1lIGlz
RXF1YWxUb1N0cmluZzogTlNBY2Nlc3NpYmlsaXR5Um9sZURlc2NyaXB0aW9uQXR0cmlidXRlXSkK
ICAgICAgICAgcmV0dXJuIFtzZWxmIHJvbGVEZXNjcmlwdGlvbl07CiAKLSAgICAvLyBBWEFSSUFS
b2xlIGlzIG9ubHkgdXNlZCBieSBEdW1wUmVuZGVyVHJlZSAoc28gZmFyKS4KLSAgICBpZiAoW2F0
dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOkAiQVhBUklBUm9sZSJdKQotICAgICAgICByZXR1
cm4gYmFja2luZ09iamVjdC0+Y29tcHV0ZWRSb2xlU3RyaW5nKCk7Ci0KICAgICBpZiAoW2F0dHJp
YnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlQYXJlbnRBdHRyaWJ1dGVd
KSB7CiAgICAgICAgIC8vIFRoaXMgd2lsbCByZXR1cm4gdGhlIHBhcmVudCBvZiB0aGUgQVhXZWJB
cmVhLCBpZiB0aGlzIGlzIGEgd2ViIGFyZWEuCiAgICAgICAgIGlmIChpZCBzY3JvbGxWaWV3ID0g
c2Nyb2xsVmlld1BhcmVudCgqYmFja2luZ09iamVjdCkpCkBAIC0yMjQyLDYgKzIyMzgsOSBAQCBB
TExPV19ERVBSRUNBVEVEX0lNUExFTUVOVEFUSU9OU19FTkQKICAgICB9CiAKICAgICAvLyBVc2Vk
IGJ5IExheW91dFRlc3RzIG9ubHksIG5vdCBieSBBVCBjbGllbnRzLgorICAgIGlmIChVTkxJS0VM
WShbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6QCJBWEFSSUFSb2xlIl0pKQorICAgICAg
ICByZXR1cm4gYmFja2luZ09iamVjdC0+Y29tcHV0ZWRSb2xlU3RyaW5nKCk7CisKICAgICBpZiAo
VU5MSUtFTFkoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOkAiQVhDb250cm9sbGVycyJd
KSkKICAgICAgICAgcmV0dXJuIG1ha2VOU0FycmF5KGJhY2tpbmdPYmplY3QtPmNvbnRyb2xsZXJz
KCkpOwogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L2lvcy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50SU9TLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbQppbmRleCAw
YjM3OWU4Y2MxN2MuLjBmZTkwMjc5NGZlYyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9pb3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudElPUy5tbQorKysg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2lvcy9BY2Nlc3NpYmlsaXR5
VUlFbGVtZW50SU9TLm1tCkBAIC01MTksNyArNTE5LDcgQEAgSlNSZXRhaW5QdHI8SlNTdHJpbmdS
ZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNvbXB1dGVkUm9sZVN0cmluZygpCiAKIEpTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0aXRsZSgpCiB7Ci0g
ICAgcmV0dXJuIGNyZWF0ZUpTU3RyaW5nKCk7CisgICAgcmV0dXJuIGNvbmNhdGVuYXRlQXR0cmli
dXRlQW5kVmFsdWUoQCJBWFRpdGxlIiwgW21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5TGFiZWxdKTsK
IH0KIAogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRl
c2NyaXB0aW9uKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZGF0ZS1p
bnB1dC1hcmlhLWxhYmVsLWFuZC12YWx1ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L2RhdGUtaW5wdXQtYXJpYS1sYWJlbC1hbmQtdmFsdWUtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDU1NTAwZmI2ZmUzYy4uMGE5ZDJlZjE4YjhkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2RhdGUtaW5wdXQtYXJpYS1sYWJlbC1hbmQtdmFsdWUtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvZGF0ZS1pbnB1dC1hcmlhLWxhYmVsLWFu
ZC12YWx1ZS1leHBlY3RlZC50eHQKQEAgLTEsNTQgKzEsNDUgQEAKLVRlc3RzIHRoYXQgYXJpYS1s
YWJlbCBhbmQgYXJpYS12YWx1ZW5vdyB1cGRhdGUgY29ycmVjdGx5IGZvciBkYXRlIGlucHV0cy4K
K1Rlc3RzIHRoYXQgc3ViZmllbGQgdmFsdWVzIHVwZGF0ZSBjb3JyZWN0bHkgZm9yIGRhdGUgaW5w
dXRzLgogCitPcmlnaW5hbCBzdWJmaWVsZCB2YWx1ZXM6CitBWERlc2NyaXB0aW9uOiBtb250aCBB
WFJvbGU6IEFYSW5jcmVtZW50b3IgQVhWYWx1ZTogMTEKK0FYRGVzY3JpcHRpb246ICBBWFJvbGU6
IEFYU3RhdGljVGV4dCBBWFZhbHVlOiAvCitBWERlc2NyaXB0aW9uOiBkYXkgQVhSb2xlOiBBWElu
Y3JlbWVudG9yIEFYVmFsdWU6IDIxCitBWERlc2NyaXB0aW9uOiAgQVhSb2xlOiBBWFN0YXRpY1Rl
eHQgQVhWYWx1ZTogLworQVhEZXNjcmlwdGlvbjogeWVhciBBWFJvbGU6IEFYSW5jcmVtZW50b3Ig
QVhWYWx1ZTogMjAyMgogCi1DaGVja2luZyBBUklBIExhYmVscyBmb3Igc3ViLWZpZWxkcwotUEFT
UzogcGxhdGZvcm1WYWx1ZUZvclczQ05hbWUoYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRl
eCgwKSkgPT09ICJtb250aCIKLVBBU1M6IHBsYXRmb3JtVmFsdWVGb3JXM0NOYW1lKGF4RGF0ZUZp
ZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMSkpID09PSAiZGF5IgotUEFTUzogcGxhdGZvcm1WYWx1
ZUZvclczQ05hbWUoYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgyKSkgPT09ICJ5ZWFy
IgorRm9jdXMgZGF0ZSBlbGVtZW50IGFuZCBwcmVzcyB1cCBhcnJvdyB0byBpbmNyZW1lbnQgdGhl
IG1vbnRoIGZpZWxkOgorUEFTUzogc3ViZmllbGRzWzBdLmludFZhbHVlID09PSAxMgogCi1Gb2N1
c2luZyBkYXRlIGVsZW1lbnQgYW5kIHByZXNzaW5nIHVwIGFycm93IHRvIGluY3JlbWVudCB0aGUg
Zmlyc3QgZmllbGQuCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDApLmlu
dFZhbHVlID09PSAzCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDApLnZh
bHVlRGVzY3JpcHRpb24gPT09ICJBWFZhbHVlRGVzY3JpcHRpb246IDMiCitQcmVzcyBkb3duIGFy
cm93IHR3aWNlIHRvIGRlY3JlbWVudCB0aGUgbW9udGggZmllbGQuCitQQVNTOiBzdWJmaWVsZHNb
MF0uaW50VmFsdWUgPT09IDEwCiAKLVNpbXVsYXRpbmcgZG93biBhcnJvdyBwcmVzcyB0byBkZWNy
ZW1lbnQgdGhlIGZpcnN0IGZpZWxkLiAoeDIpCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hp
bGRBdEluZGV4KDApLmludFZhbHVlID09PSAxCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hp
bGRBdEluZGV4KDApLnZhbHVlRGVzY3JpcHRpb24gPT09ICJBWFZhbHVlRGVzY3JpcHRpb246IDEi
CitQcmVzcyB0aGUgdGFiIGtleSB0byBtb3ZlIHRvIHRoZSBkYXkgZmllbGQgaW4gdGhlIGRhdGUg
aW5wdXQuCitQQVNTOiBzdWJmaWVsZHNbMl0uaW50VmFsdWUgPT09IDIxCiAKLVNpbXVsYXRpbmcg
dGFiIGtleSB0byBtb3ZlIHRvIHRoZSBuZXh0IGZpZWxkIGluIHRoZSBkYXRlIGlucHV0LgotUEFT
UzogYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgxKS5pbnRWYWx1ZSA9PT0gMgotUEFT
UzogYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgxKS52YWx1ZURlc2NyaXB0aW9uID09
PSAiQVhWYWx1ZURlc2NyaXB0aW9uOiAyIgorVHlwZSAxMCBpbiB0aGUgZGF5IHN1YmZpZWxkLgor
UEFTUzogc3ViZmllbGRzWzJdLmludFZhbHVlID09PSAxMAogCi1TaW11bGF0aW5nIHR5cGluZyAi
MTAiIGluIHRoZSBzZWNvbmQgaW5wdXQgZmllbGQuCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIu
Y2hpbGRBdEluZGV4KDEpLmludFZhbHVlID09PSAxMAotUEFTUzogYXhEYXRlRmllbGRXcmFwcGVy
LmNoaWxkQXRJbmRleCgxKS52YWx1ZURlc2NyaXB0aW9uID09PSAiQVhWYWx1ZURlc2NyaXB0aW9u
OiAxMCIKK1ByZXNzIGRvd24gYXJyb3cgdG8gZGVjcmVtZW50IHRoZSBkYXkgZmllbGQuCitQQVNT
OiBzdWJmaWVsZHNbMl0uaW50VmFsdWUgPT09IDkKIAotU2ltdWxhdGluZyBkb3duIGFycm93IHBy
ZXNzIHRvIGRlY3JlbWVudCB0aGUgc2Vjb25kIGZpZWxkIHZhbHVlLgotUEFTUzogYXhEYXRlRmll
bGRXcmFwcGVyLmNoaWxkQXRJbmRleCgxKS5pbnRWYWx1ZSA9PT0gOQotUEFTUzogYXhEYXRlRmll
bGRXcmFwcGVyLmNoaWxkQXRJbmRleCgxKS52YWx1ZURlc2NyaXB0aW9uID09PSAiQVhWYWx1ZURl
c2NyaXB0aW9uOiA5IgorUHJlc3MgdXAgYXJyb3cgdHdpY2UgdG8gaW5jcmVtZW50IHRoZSBkYXkg
ZmllbGQuCitQQVNTOiBzdWJmaWVsZHNbMl0uaW50VmFsdWUgPT09IDExCiAKLVNpbXVsYXRpbmcg
dXAgYXJyb3cgcHJlc3MgdG8gaW5jcmVtZW50IHRoZSBzZWNvbmQgZmllbGQgdmFsdWUuICh4MikK
LVBBU1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMSkuaW50VmFsdWUgPT09IDEx
Ci1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDEpLnZhbHVlRGVzY3JpcHRp
b24gPT09ICJBWFZhbHVlRGVzY3JpcHRpb246IDExIgorUHJlc3MgdGFiIHRvIG1vdmUgdG8gdGhl
IHllYXIgZmllbGQgaW4gdGhlIGRhdGUgaW5wdXQuCitQQVNTOiBzdWJmaWVsZHNbNF0uaW50VmFs
dWUgPT09IDIwMjIKIAotU2ltdWxhdGluZyB0YWIga2V5IHRvIG1vdmUgdG8gdGhlIG5leHQgZmll
bGQgaW4gdGhlIGRhdGUgaW5wdXQuCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdElu
ZGV4KDIpLmludFZhbHVlID09PSAyMDIyCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRB
dEluZGV4KDIpLnZhbHVlRGVzY3JpcHRpb24gPT09ICJBWFZhbHVlRGVzY3JpcHRpb246IDIwMjIi
CitQcmVzcyBkb3duIGFycm93IDEwIHRpbWVzIHRvIGRlY3JlbWVudCB0aGUgeWVhciBmaWVsZC4K
K1BBU1M6IHN1YmZpZWxkc1s0XS5pbnRWYWx1ZSA9PT0gMjAxMgogCi1TaW11bGF0aW5nIGRvd24g
YXJyb3cgcHJlc3MgdG8gZGVjcmVtZW50IHRoZSB0aGlyZCBmaWVsZCB2YWx1ZS4gKHgxMCkKLVBB
U1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMikuaW50VmFsdWUgPT09IDIwMTIK
LVBBU1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMikudmFsdWVEZXNjcmlwdGlv
biA9PT0gIkFYVmFsdWVEZXNjcmlwdGlvbjogMjAxMiIKK1ByZXNzIHVwIGFycm93IHRvIGluY3Jl
bWVudCB0aGUgeWVhciBmaWVsZC4KK1BBU1M6IHN1YmZpZWxkc1s0XS5pbnRWYWx1ZSA9PT0gMjAx
MwogCi1TaW11bGF0aW5nIHVwIGFycm93IHByZXNzIHRvIGluY3JlbWVudCB0aGUgdGhpcmQgZmll
bGQgdmFsdWUuCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDIpLmludFZh
bHVlID09PSAyMDEzCi1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDIpLnZh
bHVlRGVzY3JpcHRpb24gPT09ICJBWFZhbHVlRGVzY3JpcHRpb246IDIwMTMiCi0KLU1hbnVhbGx5
IHNldHRpbmcgdGhlIGRhdGUgaW5wdXQncyB2YWx1ZSB2aWEgSmF2YVNjcmlwdC4KLVBBU1M6IGF4
RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoMCkuaW50VmFsdWUgPT09IDEyCi1QQVNTOiBh
eERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDApLnZhbHVlRGVzY3JpcHRpb24gPT09ICJB
WFZhbHVlRGVzY3JpcHRpb246IDEyIgotUEFTUzogYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJ
bmRleCgxKS5pbnRWYWx1ZSA9PT0gMzAKLVBBU1M6IGF4RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0
SW5kZXgoMSkudmFsdWVEZXNjcmlwdGlvbiA9PT0gIkFYVmFsdWVEZXNjcmlwdGlvbjogMzAiCi1Q
QVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDIpLmludFZhbHVlID09PSAyMDIz
Ci1QQVNTOiBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KDIpLnZhbHVlRGVzY3JpcHRp
b24gPT09ICJBWFZhbHVlRGVzY3JpcHRpb246IDIwMjMiCitTZXQgdGhlIGRhdGUgdmlhIEphdmFT
Y3JpcHQuCitBWERlc2NyaXB0aW9uOiBtb250aCBBWFJvbGU6IEFYSW5jcmVtZW50b3IgQVhWYWx1
ZTogMTIKK0FYRGVzY3JpcHRpb246ICBBWFJvbGU6IEFYU3RhdGljVGV4dCBBWFZhbHVlOiAvCitB
WERlc2NyaXB0aW9uOiBkYXkgQVhSb2xlOiBBWEluY3JlbWVudG9yIEFYVmFsdWU6IDMxCitBWERl
c2NyaXB0aW9uOiAgQVhSb2xlOiBBWFN0YXRpY1RleHQgQVhWYWx1ZTogLworQVhEZXNjcmlwdGlv
bjogeWVhciBBWFJvbGU6IEFYSW5jcmVtZW50b3IgQVhWYWx1ZTogMjAyMwogCiBQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2li
aWxpdHkvZGF0ZS1pbnB1dC1hcmlhLWxhYmVsLWFuZC12YWx1ZS5odG1sIGIvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9kYXRlLWlucHV0LWFyaWEtbGFiZWwtYW5kLXZhbHVlLmh0bWwKaW5kZXgg
Y2M3ZGVhNTA5YWE3Li44NTIxNzJhNGM5ZTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvZGF0ZS1pbnB1dC1hcmlhLWxhYmVsLWFuZC12YWx1ZS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvZGF0ZS1pbnB1dC1hcmlhLWxhYmVsLWFuZC12YWx1ZS5odG1s
CkBAIC02LDkyICs2LDc3IEBACiA8L2hlYWQ+CiA8Ym9keT4KIAotPGlucHV0IGlkPSJkYXRlLWlu
cHV0IiB0eXBlPSJkYXRlIiB2YWx1ZT0iMjAyMi0wMi0wMiIgLz4KKzxpbnB1dCBpZD0iZGF0ZS1p
bnB1dCIgdHlwZT0iZGF0ZSIgdmFsdWU9IjIwMjItMTEtMjEiIC8+CiAKIDxzY3JpcHQ+Ci12YXIg
dGVzdE91dHB1dCA9ICJUZXN0cyB0aGF0IGFyaWEtbGFiZWwgYW5kIGFyaWEtdmFsdWVub3cgdXBk
YXRlIGNvcnJlY3RseSBmb3IgZGF0ZSBpbnB1dHMuXG5cbiI7Cit2YXIgb3V0cHV0ID0gIlRlc3Rz
IHRoYXQgc3ViZmllbGQgdmFsdWVzIHVwZGF0ZSBjb3JyZWN0bHkgZm9yIGRhdGUgaW5wdXRzLlxu
XG4iOwogCi1mdW5jdGlvbiBvdXRwdXRTdHJpbmcobWVzc2FnZSkgewotICAgIHRlc3RPdXRwdXQg
Kz0gKGBcbiR7bWVzc2FnZX1cbmApOwotfQotCi1mdW5jdGlvbiBrZXlEb3duKGtleSwgcmVwZWF0
ID0gMSwgbWVzc2FnZSA9ICIiKSB7Ci0gICAgaWYgKG1lc3NhZ2UpIAotICAgICAgICBvdXRwdXRT
dHJpbmcobWVzc2FnZSArIGAgKHgke3JlcGVhdH0pYCk7Ci0KLSAgICBmb3IgKGxldCBpID0gMCA7
IGkgPCByZXBlYXQgOyBpKyspIAorZnVuY3Rpb24ga2V5RG93bihrZXksIHJlcGVhdCA9IDEpIHsK
KyAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlcGVhdDsgaSsrKQogICAgICAgICBldmVudFNlbmRl
ci5rZXlEb3duKGtleSk7CiB9CiAKIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIp
IHsKICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7Ci0gICAgdmFyIGF4RGF0ZUZpZWxk
V3JhcHBlciA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgi
ZGF0ZS1pbnB1dCIpCi0gICAgICAgICAgICAuY2hpbGRBdEluZGV4KDApCi0gICAgICAgICAgICAu
Y2hpbGRBdEluZGV4KDApOwotCi0gICAgc2V0VGltZW91dChhc3luYyBmdW5jdGlvbigpIHsKLSAg
ICAgICAgYXN5bmMgZnVuY3Rpb24gZXhwZWN0Q2hpbGRUb0hhdmVBUklBVmFsdWVBdHRyaWJ1dGVz
KGNoaWxkSW5kZXgsIGRlc2NyaXB0aW9uKSB7Ci0gICAgICAgICAgICBsZXQgcmVzdWx0ID0gYXdh
aXQgZXhwZWN0QXN5bmMoYGF4RGF0ZUZpZWxkV3JhcHBlci5jaGlsZEF0SW5kZXgoJHtjaGlsZElu
ZGV4fSkuaW50VmFsdWVgLCBgJHtkZXNjcmlwdGlvbn1gKTsKLQotICAgICAgICAgICAgcmVzdWx0
ICs9IGF3YWl0IGV4cGVjdEFzeW5jKGBheERhdGVGaWVsZFdyYXBwZXIuY2hpbGRBdEluZGV4KCR7
Y2hpbGRJbmRleH0pLnZhbHVlRGVzY3JpcHRpb25gLCBgIkFYVmFsdWVEZXNjcmlwdGlvbjogJHtk
ZXNjcmlwdGlvbn0iYCk7Ci0KLSAgICAgICAgICAgIHJldHVybiByZXN1bHQ7Ci0gICAgICAgIH0K
LSAgICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIGV4cGVjdENoaWxkVG9IYXZlQVJJQUxhYmVsKGNo
aWxkSW5kZXgsIGxhYmVsVGV4dCkgewotICAgICAgICAgICAgcmV0dXJuIGV4cGVjdChgcGxhdGZv
cm1WYWx1ZUZvclczQ05hbWUoYXhEYXRlRmllbGRXcmFwcGVyLmNoaWxkQXRJbmRleCgke2NoaWxk
SW5kZXh9KSlgLCBsYWJlbFRleHQpOwotICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBjb25z
dCBkYXRlSW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGF0ZS1pbnB1dCIpOwotCi0g
ICAgICAgIG91dHB1dFN0cmluZygiQ2hlY2tpbmcgQVJJQSBMYWJlbHMgZm9yIHN1Yi1maWVsZHMi
KTsKLSAgICAgICAgdGVzdE91dHB1dCArPSBleHBlY3RDaGlsZFRvSGF2ZUFSSUFMYWJlbCgwLCBg
Im1vbnRoImApOwotICAgICAgICB0ZXN0T3V0cHV0ICs9IGV4cGVjdENoaWxkVG9IYXZlQVJJQUxh
YmVsKDEsIGAiZGF5ImApOwotICAgICAgICB0ZXN0T3V0cHV0ICs9IGV4cGVjdENoaWxkVG9IYXZl
QVJJQUxhYmVsKDIsIGAieWVhciJgKTsKLSAgICAgICAgCi0gICAgICAgIG91dHB1dFN0cmluZygi
Rm9jdXNpbmcgZGF0ZSBlbGVtZW50IGFuZCBwcmVzc2luZyB1cCBhcnJvdyB0byBpbmNyZW1lbnQg
dGhlIGZpcnN0IGZpZWxkLiIpOworICAgIGNvbnN0IGRhdGVJbnB1dCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJkYXRlLWlucHV0Iik7CisgICAgdmFyIGF4RGF0ZUlucHV0ID0gYWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJkYXRlLWlucHV0Iik7CisKKyAg
ICBmdW5jdGlvbiBnZXRBbmRMb2dTdWJmaWVsZHMoYXhFbGVtZW50KSB7CisgICAgICAgIGxldCBz
dWJmaWVsZHMgPSBheEVsZW1lbnQuY2hpbGRBdEluZGV4KDApLmNoaWxkQXRJbmRleCgwKS5jaGls
ZHJlbjsKKyAgICAgICAgc3ViZmllbGRzLmZvckVhY2goKGNoaWxkKSA9PiB7CisgICAgICAgICAg
ICBvdXRwdXQgKz0gYCR7Y2hpbGQuZGVzY3JpcHRpb259ICR7Y2hpbGQucm9sZX0gJHtjaGlsZC5z
dHJpbmdWYWx1ZX1cbmA7CisgICAgICAgIH0pOworICAgICAgICByZXR1cm4gc3ViZmllbGRzOwor
ICAgIH0KKworICAgIG91dHB1dCs9ICJPcmlnaW5hbCBzdWJmaWVsZCB2YWx1ZXM6XG4iOworICAg
IHZhciBzdWJmaWVsZHMgPSBnZXRBbmRMb2dTdWJmaWVsZHMoYXhEYXRlSW5wdXQpOworCisgICAg
c2V0VGltZW91dChhc3luYyAoKSA9PiB7CisgICAgICAgIG91dHB1dCArPSAiXG5Gb2N1cyBkYXRl
IGVsZW1lbnQgYW5kIHByZXNzIHVwIGFycm93IHRvIGluY3JlbWVudCB0aGUgbW9udGggZmllbGQ6
XG4iOwogICAgICAgICBkYXRlSW5wdXQuZm9jdXMoKTsKICAgICAgICAga2V5RG93bigidXBBcnJv
dyIpOworICAgICAgICBvdXRwdXQgKz0gYXdhaXQgZXhwZWN0QXN5bmMoInN1YmZpZWxkc1swXS5p
bnRWYWx1ZSIsICIxMiIpOwogCi0gICAgICAgIHRlc3RPdXRwdXQgKz0gYXdhaXQgZXhwZWN0Q2hp
bGRUb0hhdmVBUklBVmFsdWVBdHRyaWJ1dGVzKDAsIDMpOwotCi0gICAgICAgIGtleURvd24oImRv
d25BcnJvdyIsIDIsICJTaW11bGF0aW5nIGRvd24gYXJyb3cgcHJlc3MgdG8gZGVjcmVtZW50IHRo
ZSBmaXJzdCBmaWVsZC4iKTsKLSAgICAgICAgdGVzdE91dHB1dCArPSBhd2FpdCBleHBlY3RDaGls
ZFRvSGF2ZUFSSUFWYWx1ZUF0dHJpYnV0ZXMoMCwgMSk7CisgICAgICAgIG91dHB1dCArPSAiXG5Q
cmVzcyBkb3duIGFycm93IHR3aWNlIHRvIGRlY3JlbWVudCB0aGUgbW9udGggZmllbGQuXG4iOwor
ICAgICAgICBrZXlEb3duKCJkb3duQXJyb3ciLCAyKTsKKyAgICAgICAgb3V0cHV0ICs9IGF3YWl0
IGV4cGVjdEFzeW5jKCJzdWJmaWVsZHNbMF0uaW50VmFsdWUiLCAiMTAiKTsKIAotICAgICAgICBv
dXRwdXRTdHJpbmcoIlNpbXVsYXRpbmcgdGFiIGtleSB0byBtb3ZlIHRvIHRoZSBuZXh0IGZpZWxk
IGluIHRoZSBkYXRlIGlucHV0LiIpOworICAgICAgICBvdXRwdXQgKz0gIlxuUHJlc3MgdGhlIHRh
YiBrZXkgdG8gbW92ZSB0byB0aGUgZGF5IGZpZWxkIGluIHRoZSBkYXRlIGlucHV0LlxuIjsKICAg
ICAgICAga2V5RG93bigiXHQiKTsKLSAgICAgICAgdGVzdE91dHB1dCArPSBhd2FpdCBleHBlY3RD
aGlsZFRvSGF2ZUFSSUFWYWx1ZUF0dHJpYnV0ZXMoMSwgMik7CisgICAgICAgIG91dHB1dCArPSBh
d2FpdCBleHBlY3RBc3luYygic3ViZmllbGRzWzJdLmludFZhbHVlIiwgIjIxIik7CiAKLSAgICAg
ICAgb3V0cHV0U3RyaW5nKCJTaW11bGF0aW5nIHR5cGluZyBcIjEwXCIgaW4gdGhlIHNlY29uZCBp
bnB1dCBmaWVsZC4iKTsKKyAgICAgICAgb3V0cHV0ICs9ICJcblR5cGUgMTAgaW4gdGhlIGRheSBz
dWJmaWVsZC5cbiI7CiAgICAgICAgIGtleURvd24oIjEiKTsKICAgICAgICAga2V5RG93bigiMCIp
Ci0gICAgICAgIHRlc3RPdXRwdXQgKz0gYXdhaXQgZXhwZWN0Q2hpbGRUb0hhdmVBUklBVmFsdWVB
dHRyaWJ1dGVzKDEsIDEwKTsKKyAgICAgICAgb3V0cHV0ICs9IGF3YWl0IGV4cGVjdEFzeW5jKCJz
dWJmaWVsZHNbMl0uaW50VmFsdWUiLCAiMTAiKTsKIAotICAgICAgICBvdXRwdXRTdHJpbmcoIlNp
bXVsYXRpbmcgZG93biBhcnJvdyBwcmVzcyB0byBkZWNyZW1lbnQgdGhlIHNlY29uZCBmaWVsZCB2
YWx1ZS4iKQorICAgICAgICBvdXRwdXQgKz0gIlxuUHJlc3MgZG93biBhcnJvdyB0byBkZWNyZW1l
bnQgdGhlIGRheSBmaWVsZC5cbiI7CiAgICAgICAgIGtleURvd24oImRvd25BcnJvdyIpOwotICAg
ICAgICB0ZXN0T3V0cHV0ICs9IGF3YWl0IGV4cGVjdENoaWxkVG9IYXZlQVJJQVZhbHVlQXR0cmli
dXRlcygxLCA5KTsKKyAgICAgICAgb3V0cHV0ICs9IGF3YWl0IGV4cGVjdEFzeW5jKCJzdWJmaWVs
ZHNbMl0uaW50VmFsdWUiLCAiOSIpOwogCi0gICAgICAgIGtleURvd24oInVwQXJyb3ciLCAyLCAi
U2ltdWxhdGluZyB1cCBhcnJvdyBwcmVzcyB0byBpbmNyZW1lbnQgdGhlIHNlY29uZCBmaWVsZCB2
YWx1ZS4iKTsKLSAgICAgICAgdGVzdE91dHB1dCArPSBhd2FpdCBleHBlY3RDaGlsZFRvSGF2ZUFS
SUFWYWx1ZUF0dHJpYnV0ZXMoMSwgMTEpOworICAgICAgICBvdXRwdXQgKz0gIlxuUHJlc3MgdXAg
YXJyb3cgdHdpY2UgdG8gaW5jcmVtZW50IHRoZSBkYXkgZmllbGQuXG4iOworICAgICAgICBrZXlE
b3duKCJ1cEFycm93IiwgMik7CisgICAgICAgIG91dHB1dCArPSBhd2FpdCBleHBlY3RBc3luYygi
c3ViZmllbGRzWzJdLmludFZhbHVlIiwgIjExIik7CiAKLSAgICAgICAgb3V0cHV0U3RyaW5nKCJT
aW11bGF0aW5nIHRhYiBrZXkgdG8gbW92ZSB0byB0aGUgbmV4dCBmaWVsZCBpbiB0aGUgZGF0ZSBp
bnB1dC4iKTsKKyAgICAgICAgb3V0cHV0ICs9ICJcblByZXNzIHRhYiB0byBtb3ZlIHRvIHRoZSB5
ZWFyIGZpZWxkIGluIHRoZSBkYXRlIGlucHV0LlxuIjsKICAgICAgICAga2V5RG93bigiXHQiKTsK
LSAgICAgICAgdGVzdE91dHB1dCArPSBhd2FpdCBleHBlY3RDaGlsZFRvSGF2ZUFSSUFWYWx1ZUF0
dHJpYnV0ZXMoMiwgMjAyMik7CisgICAgICAgIG91dHB1dCArPSBhd2FpdCBleHBlY3RBc3luYygi
c3ViZmllbGRzWzRdLmludFZhbHVlIiwgIjIwMjIiKTsKIAotICAgICAgICBrZXlEb3duKCJkb3du
QXJyb3ciLCAxMCwgIlNpbXVsYXRpbmcgZG93biBhcnJvdyBwcmVzcyB0byBkZWNyZW1lbnQgdGhl
IHRoaXJkIGZpZWxkIHZhbHVlLiIpOwotICAgICAgICB0ZXN0T3V0cHV0ICs9IGF3YWl0IGV4cGVj
dENoaWxkVG9IYXZlQVJJQVZhbHVlQXR0cmlidXRlcygyLCAyMDEyKTsKKyAgICAgICAgb3V0cHV0
Kz0gIlxuUHJlc3MgZG93biBhcnJvdyAxMCB0aW1lcyB0byBkZWNyZW1lbnQgdGhlIHllYXIgZmll
bGQuXG4iOworICAgICAgICBrZXlEb3duKCJkb3duQXJyb3ciLCAxMCk7CisgICAgICAgIG91dHB1
dCArPSBhd2FpdCBleHBlY3RBc3luYygic3ViZmllbGRzWzRdLmludFZhbHVlIiwgIjIwMTIiKTsK
IAotICAgICAgICBvdXRwdXRTdHJpbmcoIlNpbXVsYXRpbmcgdXAgYXJyb3cgcHJlc3MgdG8gaW5j
cmVtZW50IHRoZSB0aGlyZCBmaWVsZCB2YWx1ZS4iKQorICAgICAgICBvdXRwdXQgKz0gIlxuUHJl
c3MgdXAgYXJyb3cgdG8gaW5jcmVtZW50IHRoZSB5ZWFyIGZpZWxkLlxuIjsKICAgICAgICAga2V5
RG93bigidXBBcnJvdyIpOwotICAgICAgICB0ZXN0T3V0cHV0ICs9IGF3YWl0IGV4cGVjdENoaWxk
VG9IYXZlQVJJQVZhbHVlQXR0cmlidXRlcygyLCAyMDEzKTsKKyAgICAgICAgb3V0cHV0ICs9IGF3
YWl0IGV4cGVjdEFzeW5jKCJzdWJmaWVsZHNbNF0uaW50VmFsdWUiLCAiMjAxMyIpOwogCi0gICAg
ICAgIG91dHB1dFN0cmluZygiTWFudWFsbHkgc2V0dGluZyB0aGUgZGF0ZSBpbnB1dCdzIHZhbHVl
IHZpYSBKYXZhU2NyaXB0LiIpCi0gICAgICAgIGRhdGVJbnB1dC52YWx1ZSA9ICIyMDIzLTEyLTMw
IjsKLSAgICAgICAgdGVzdE91dHB1dCArPSBhd2FpdCBleHBlY3RDaGlsZFRvSGF2ZUFSSUFWYWx1
ZUF0dHJpYnV0ZXMoMCwgMTIpOwotICAgICAgICB0ZXN0T3V0cHV0ICs9IGF3YWl0IGV4cGVjdENo
aWxkVG9IYXZlQVJJQVZhbHVlQXR0cmlidXRlcygxLCAzMCk7Ci0gICAgICAgIHRlc3RPdXRwdXQg
Kz0gYXdhaXQgZXhwZWN0Q2hpbGRUb0hhdmVBUklBVmFsdWVBdHRyaWJ1dGVzKDIsIDIwMjMpOwor
ICAgICAgICBvdXRwdXQgKz0gIlxuU2V0IHRoZSBkYXRlIHZpYSBKYXZhU2NyaXB0LlxuIjsKKyAg
ICAgICAgZGF0ZUlucHV0LnZhbHVlID0gIjIwMjMtMTItMzEiOworICAgICAgICBhd2FpdCBleHBl
Y3RBc3luYygiYXhEYXRlSW5wdXQuY2hpbGRBdEluZGV4KDApLmNoaWxkQXRJbmRleCgwKS5jaGls
ZHJlbls0XS5pbnRWYWx1ZSIsICIyMDIzIik7CisgICAgICAgIGdldEFuZExvZ1N1YmZpZWxkcyhh
eERhdGVJbnB1dCk7CiAKLSAgICAgICAgZGVidWcodGVzdE91dHB1dCk7CisgICAgICAgIGRlYnVn
KG91dHB1dCk7CiAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwogICAgIH0pOwogfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVsLXZhbHVlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12YWx1
ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi45
ZDU0MjRjYTg3YmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1Ro
aXMgdGVzdHMgaW5wdXQgdHlwZT10aW1lIGxhYmVsIGFuZCB2YWx1ZSBwcm9wZXJ0aWVzLgorCitQ
QVNTOiBpbnB1dHRpbWUudGl0bGUgPT09ICdBWFRpdGxlOiAoQmV0d2VlbjogMDc6MDAgQU0tMDk6
MDAgQU0pJworQVhWYWx1ZTogMDg6MDDigK9BTQorUEFTUzogaW5wdXR0aW1lLnRpdGxlID09PSAn
QVhUaXRsZTogJworQVhWYWx1ZTogMDc6MzDigK9BTQorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVsLXZhbHVlLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAuLjJiM2FhY2FiNTc3NQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12YWx1ZS5odG1sCkBAIC0w
LDAgKzEsMjggQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2FjY2Vzc2liaWxp
dHktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworPGlucHV0IHR5cGU9InRpbWUiIGlk
PSJpbnB1dHRpbWUxIiBhcmlhLWxhYmVsPSIoQmV0d2VlbjogMDc6MDAgQU0tMDk6MDAgQU0pIiBt
aW49IjA3OjAwIiBtYXg9IjA5OjAwIiBzdGVwPSIzMDAiIHBsYWNlaG9sZGVyPSIwMDowMCBBTSIg
dmFsdWU9IjA4OjAwIj4KKzxpbnB1dCB0eXBlPSJ0aW1lIiBpZD0iaW5wdXR0aW1lMiIgbWluPSIw
NzowMCIgbWF4PSIwOTowMCIgc3RlcD0iMzAwIiB2YWx1ZT0iMDc6MzAiPgorCis8c2NyaXB0Pgor
bGV0IG91dHB1dCA9ICJUaGlzIHRlc3RzIGlucHV0IHR5cGU9dGltZSBsYWJlbCBhbmQgdmFsdWUg
cHJvcGVydGllcy5cblxuIjsKKworaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikg
eworICAgIHZhciBpbnB1dHRpbWUgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxl
RWxlbWVudEJ5SWQoImlucHV0dGltZTEiKTsKKyAgICBvdXRwdXQgKz0gZXhwZWN0KCJpbnB1dHRp
bWUudGl0bGUiLCAiJ0FYVGl0bGU6IChCZXR3ZWVuOiAwNzowMCBBTS0wOTowMCBBTSknIik7Cisg
ICAgb3V0cHV0ICs9IGAke2lucHV0dGltZS5zdHJpbmdWYWx1ZX1cbmA7CisKKyAgICBpbnB1dHRp
bWUgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoImlucHV0
dGltZTIiKTsKKyAgICBvdXRwdXQgKz0gZXhwZWN0KCJpbnB1dHRpbWUudGl0bGUiLCAiJ0FYVGl0
bGU6ICciKTsKKyAgICBvdXRwdXQgKz0gYCR7aW5wdXR0aW1lLnN0cmluZ1ZhbHVlfVxuYDsKKwor
ICAgIGRlYnVnKG91dHB1dCk7Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9pbnB1dC10eXBl
LXRpbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9pb3Mtc2ltdWxh
dG9yL2lucHV0LXR5cGUtdGltZS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGY0OTNhM2YzOTMwZS4uMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2FjY2Vz
c2liaWxpdHkvaW9zLXNpbXVsYXRvci9pbnB1dC10eXBlLXRpbWUtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMTUgKzAsMCBAQAotCi1UaGlzIHRlc3RzIHRoYXQgaW5wdXQgdHlwZTog
dGltZSBpcyBhY2Nlc3NpYmxlIG9uIGlPUy4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgot
Ci0KLVBBU1MgdGltZWlucHV0LmRlc2NyaXB0aW9uIGlzICdBWExhYmVsOiAoQmV0d2VlbjogMDc6
MDAgQU0tMDk6MDAgQU0pJwotUEFTUyB0aW1laW5wdXQuaXNJZ25vcmVkIGlzIGZhbHNlCi1QQVNT
IHRpbWVpbnB1dC5zdHJpbmdWYWx1ZSBpcyAnQVhWYWx1ZTogODowMOKAr0FNJwotUEFTUyB0aW1l
aW5wdXQyLmRlc2NyaXB0aW9uIGlzICdBWExhYmVsOiAnCi1QQVNTIHRpbWVpbnB1dDIuc3RyaW5n
VmFsdWUgaXMgJ0FYVmFsdWU6IDg6MDDigK9BTScKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L2lvcy1zaW11bGF0b3IvaW5wdXQtdHlwZS10aW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L2lvcy1zaW11bGF0b3IvaW5wdXQtdHlwZS10aW1lLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNlOWU3ODJlNzBiNC4uMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9pbnB1dC10eXBlLXRpbWUuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBjaGFyc2V0PXV0
Zi04PgotPHNjcmlwdD4KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSBmYWxzZTsKLTwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keSBpZD0iYm9keSI+Ci0KLTxpbnB1dCBpZD0idGltZWlucHV0IiB0eXBl
PSJ0aW1lIiBhcmlhLWxhYmVsPSIoQmV0d2VlbjogMDc6MDAgQU0tMDk6MDAgQU0pIiBtaW49IjA3
OjAwIiBtYXg9IjA5OjAwIiBzdGVwPSIzMDAiIHBsYWNlaG9sZGVyPSIwMDowMCBBTSIgdmFsdWU9
IjA4OjAwIj4KLTxpbnB1dCBpZD0idGltZWlucHV0MiIgdHlwZT0idGltZSIgbWluPSIwNzowMCIg
bWF4PSIwOTowMCIgc3RlcD0iMzAwIiB2YWx1ZT0iMDg6MDAiPgotCi08cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KLTxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotCi08c2NyaXB0PgotCi0gICAgZGVz
Y3JpcHRpb24oIlRoaXMgdGVzdHMgdGhhdCBpbnB1dCB0eXBlOiB0aW1lIGlzIGFjY2Vzc2libGUg
b24gaU9TLiIpOwotCi0gICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewot
Ci0gICAgICAgIHZhciB0aW1laW5wdXQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3Np
YmxlRWxlbWVudEJ5SWQoInRpbWVpbnB1dCIpOwotICAgICAgICB2YXIgdGltZWlucHV0MiA9IGFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgidGltZWlucHV0MiIp
OwotICAgICAgICBzaG91bGRCZSgidGltZWlucHV0LmRlc2NyaXB0aW9uIiwgIidBWExhYmVsOiAo
QmV0d2VlbjogMDc6MDAgQU0tMDk6MDAgQU0pJyIpOwotICAgICAgICBzaG91bGRCZUZhbHNlKCJ0
aW1laW5wdXQuaXNJZ25vcmVkIik7Ci0gICAgICAgIAotICAgICAgICAvLyBUZXN0IHZhbHVlIGlz
IGV4cG9zZWQgaW4gQVhWYWx1ZS4KLSAgICAgICAgc2hvdWxkQmUoInRpbWVpbnB1dC5zdHJpbmdW
YWx1ZSIsICInQVhWYWx1ZTogODowMOKAr0FNJyIpOwotICAgICAgICBzaG91bGRCZSgidGltZWlu
cHV0Mi5kZXNjcmlwdGlvbiIsICInQVhMYWJlbDogJyIpOwotICAgICAgICBzaG91bGRCZSgidGlt
ZWlucHV0Mi5zdHJpbmdWYWx1ZSIsICInQVhWYWx1ZTogODowMOKAr0FNJyIpOwotICAgIH0KLQot
ICAgIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Ci08L3NjcmlwdD4KLQotPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkv
aW5wdXQtdGltZS1sYWJlbC12YWx1ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVsLXZhbHVlLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjE0MWM1NTQ3NzUyNAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L2lu
cHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK1RoaXMg
dGVzdHMgaW5wdXQgdHlwZT10aW1lIGxhYmVsIGFuZCB2YWx1ZSBwcm9wZXJ0aWVzLgorCitQQVNT
OiBpbnB1dHRpbWUudGl0bGUgPT09ICdBWFRpdGxlOiAoQmV0d2VlbjogMDc6MDAgQU0tMDk6MDAg
QU0pJworCitQQVNTOiBpbnB1dHRpbWUudGl0bGUgPT09ICdBWFRpdGxlOiAnCisKKworUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9jaGFuZ2lu
Zy1hcmlhLWhpZGRlbi13aXRoLWRpc3BsYXktbm9uZS1wYXJlbnQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9hY2Nlc3NpYmlsaXR5L2NoYW5naW5nLWFy
aWEtaGlkZGVuLXdpdGgtZGlzcGxheS1ub25lLXBhcmVudC1leHBlY3RlZC50eHQKaW5kZXggYzZk
N2I1Y2FkMmNiLi4zZTFmNzhiNzI3YjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9jaGFuZ2luZy1hcmlhLWhpZGRlbi13aXRoLWRp
c3BsYXktbm9uZS1wYXJlbnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy1zaW11bGF0b3IvYWNjZXNzaWJpbGl0eS9jaGFuZ2luZy1hcmlhLWhpZGRlbi13aXRoLWRp
c3BsYXktbm9uZS1wYXJlbnQtZXhwZWN0ZWQudHh0CkBAIC0xLDIyICsxLDIyIEBACiBUaGlzIHRl
c3QgZW5zdXJlcyB0aGF0IHdlIGRvbid0IGNyYXNoIHdoZW4gcmVtb3ZpbmcgYW4gb2JqZWN0IGZy
b20gdGhlIEFYIHRyZWUgd2hvc2UgY2hpbGQgcmVjZW50bHkgY2hhbmdlZCBhcmlhLWhpZGRlbiBz
dGF0dXMuCiAKLUFwcGxpY2F0aW9uR3JvdXAgIEFYTGFiZWw6Ci0gIExpc3QgIEFYTGFiZWw6Ci0g
ICAgTGlzdEl0ZW0gIEFYTGFiZWw6Ci0gICAgICBMaXN0TWFya2VyICBBWExhYmVsOiDigKIKLSAg
ICAgIFN0YXRpY1RleHQgIEFYTGFiZWw6IE9uZQotICAgIExpc3RJdGVtICBBWExhYmVsOgotICAg
ICAgTGlzdE1hcmtlciAgQVhMYWJlbDog4oCiCi0gICAgICBTdGF0aWNUZXh0ICBBWExhYmVsOiBU
d28KLSAgICBMaXN0SXRlbSAgQVhMYWJlbDoKLSAgICAgIExpc3RNYXJrZXIgIEFYTGFiZWw6IOKA
ogotICAgICAgU3RhdGljVGV4dCAgQVhMYWJlbDogVGhyZWUKK0FwcGxpY2F0aW9uR3JvdXAgQVhU
aXRsZTogIEFYTGFiZWw6CisgIExpc3QgQVhUaXRsZTogIEFYTGFiZWw6CisgICAgTGlzdEl0ZW0g
QVhUaXRsZTogIEFYTGFiZWw6CisgICAgICBMaXN0TWFya2VyIEFYVGl0bGU6IOKAoiBBWExhYmVs
OiDigKIKKyAgICAgIFN0YXRpY1RleHQgQVhUaXRsZTogT25lIEFYTGFiZWw6IE9uZQorICAgIExp
c3RJdGVtIEFYVGl0bGU6ICBBWExhYmVsOgorICAgICAgTGlzdE1hcmtlciBBWFRpdGxlOiDigKIg
QVhMYWJlbDog4oCiCisgICAgICBTdGF0aWNUZXh0IEFYVGl0bGU6IFR3byBBWExhYmVsOiBUd28K
KyAgICBMaXN0SXRlbSBBWFRpdGxlOiAgQVhMYWJlbDoKKyAgICAgIExpc3RNYXJrZXIgQVhUaXRs
ZTog4oCiIEFYTGFiZWw6IOKAogorICAgICAgU3RhdGljVGV4dCBBWFRpdGxlOiBUaHJlZSBBWExh
YmVsOiBUaHJlZQogCiBNYWtpbmcgI2xpMSBhcmlhLWhpZGRlbiBhbmQgI3VsIGRpc3BsYXk6bm9u
ZS4KIAogUmUtZHVtcGluZyBBWCB0cmVlLgogCi1BcHBsaWNhdGlvbkdyb3VwICBBWExhYmVsOgor
QXBwbGljYXRpb25Hcm91cCBBWFRpdGxlOiAgQVhMYWJlbDoKIAogUEFTUzogVGhlcmUgd2FzIG5v
IGNyYXNoLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVj
dGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IGI3MTg1YjVlZWEwMy4uMzJlY2Y0ZmU2OGUxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mv
VGVzdEV4cGVjdGF0aW9ucwpAQCAtMjIyMCw2ICsyMjIwLDcgQEAgYWNjZXNzaWJpbGl0eS9oZWFk
aW5nLWxldmVsLmh0bWwgWyBQYXNzIF0KIGFjY2Vzc2liaWxpdHkvaHRtbDUtcmVxdWlyZWQtYXR0
cmlidXRlLmh0bWwgWyBQYXNzIF0KIGFjY2Vzc2liaWxpdHkvaWZyYW1lLXdpdGgtcm9sZS5odG1s
IFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L2lucHV0LXR5cGUtaGlkZGVuLWluLWFyaWEtaGlkZGVu
LWZhbHNlLmh0bWwgWyBQYXNzIF0KK2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12YWx1
ZS5odG1sIFsgUGFzcyBdCiBhY2Nlc3NpYmlsaXR5L2ludmFsaWQtaW5wdXRzLmh0bWwgWyBQYXNz
IF0KIGFjY2Vzc2liaWxpdHkvaW5zZXJ0LXRleHQtaW50by1wYXNzd29yZC1maWVsZC5odG1sIFsg
UGFzcyBdCiBhY2Nlc3NpYmlsaXR5L2xpc3Qtd2l0aC1keW5hbWljYWxseS1jaGFuZ2luZy1jb250
ZW50Lmh0bWwgWyBQYXNzIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9h
Y2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zL2FjY2Vzc2liaWxpdHkvaW5wdXQtdGltZS1sYWJlbC12YWx1ZS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi45YWQx
YjJiZjc1YTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvYWNj
ZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVsLXZhbHVlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDExIEBACitUaGlzIHRlc3RzIGlucHV0IHR5cGU9dGltZSBsYWJlbCBhbmQgdmFsdWUgcHJvcGVy
dGllcy4KKworUEFTUzogaW5wdXR0aW1lLnRpdGxlID09PSAnQVhUaXRsZTogKEJldHdlZW46IDA3
OjAwIEFNLTA5OjAwIEFNKScKK0FYVmFsdWU6IDg6MDDigK9BTQorUEFTUzogaW5wdXR0aW1lLnRp
dGxlID09PSAnQVhUaXRsZTogJworQVhWYWx1ZTogNzozMOKAr0FNCisKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtbW9udGVyZXkvYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVs
LXZhbHVlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1tb250ZXJleS9h
Y2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMGI1MDEzZjMyOWJjCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLW1vbnRlcmV5L2FjY2Vzc2liaWxpdHkv
aW5wdXQtdGltZS1sYWJlbC12YWx1ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorVGhp
cyB0ZXN0cyBpbnB1dCB0eXBlPXRpbWUgbGFiZWwgYW5kIHZhbHVlIHByb3BlcnRpZXMuCisKK1BB
U1M6IGlucHV0dGltZS50aXRsZSA9PT0gJ0FYVGl0bGU6IChCZXR3ZWVuOiAwNzowMCBBTS0wOTow
MCBBTSknCitBWFZhbHVlOiAwODowMEFNCitQQVNTOiBpbnB1dHRpbWUudGl0bGUgPT09ICdBWFRp
dGxlOiAnCitBWFZhbHVlOiAwNzozMEFNCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggMzkxNWNhYWNmZGIyLi5iMjllMWViYWMwMTggMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTgxNiw2ICs4
MTYsNyBAQCBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3N0YXJ0LXJlY29nbml0aW9uLWFmdGVyLWd1
bS5odG1sIFsgU2tpcCBdCiBmYXN0L3NwZWVjaHJlY29nbml0aW9uL3N0YXJ0LXJlY29nbml0aW9u
LWFmdGVyLWRlbmllZC1ndW0uaHRtbCBbIFNraXAgXQogZmFzdC9zcGVlY2hyZWNvZ25pdGlvbi9z
dGFydC1yZWNvZ25pdGlvbi13aXRob3V0LWRldmljZXMuaHRtbCBbIFNraXAgXQogCithY2Nlc3Np
YmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUuaHRtbCBbIFdvbnRGaXggXQogYWNjZXNzaWJp
bGl0eS9hbm5vdW5jZW1lbnQtbm90aWZpY2F0aW9uLmh0bWwgWyBXb250Rml4IF0KIGFjY2Vzc2li
aWxpdHkvbWVudWl0ZW0taXMtc2VsZWN0ZWQuaHRtbCBbIFdvbnRGaXggXQogYWNjZXNzaWJpbGl0
eS9yZWxhdGlvbnNoaXBzLmh0bWwgWyBXb250Rml4IF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dwZS9hY2Nlc3NpYmlsaXR5L2lucHV0LXRpbWUtbGFiZWwtdmFsdWUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL2FjY2Vzc2liaWxpdHkvaW5wdXQtdGlt
ZS1sYWJlbC12YWx1ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwLi4yNWE5YWZjNjBiZDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS93cGUvYWNjZXNzaWJpbGl0eS9pbnB1dC10aW1lLWxhYmVsLXZhbHVlLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDExIEBACitUaGlzIHRlc3RzIGlucHV0IHR5cGU9dGltZSBsYWJlbCBh
bmQgdmFsdWUgcHJvcGVydGllcy4KKworUEFTUzogaW5wdXR0aW1lLnRpdGxlID09PSAnQVhUaXRs
ZTogKEJldHdlZW46IDA3OjAwIEFNLTA5OjAwIEFNKScKK0FYVmFsdWU6IDA4OjAwCitQQVNTOiBp
bnB1dHRpbWUudGl0bGUgPT09ICdBWFRpdGxlOiAnCitBWFZhbHVlOiAwNzozMAorCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>