<?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>221258</bug_id>
          
          <creation_ts>2021-02-02 07:23:34 -0800</creation_ts>
          <short_desc>Register for power notifications in the UI process</short_desc>
          <delta_ts>2023-02-24 19:06:31 -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>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>252940</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>bfulgham</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1724651</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-02-02 07:23:34 -0800</bug_when>
    <thetext>Power notifications should be registered for in the UI process instead of the WebContent process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724660</commentid>
    <comment_count>1</comment_count>
      <attachid>418999</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-02-02 07:36:50 -0800</bug_when>
    <thetext>Created attachment 418999
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724667</commentid>
    <comment_count>2</comment_count>
      <attachid>419001</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-02-02 08:17:23 -0800</bug_when>
    <thetext>Created attachment 419001
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724689</commentid>
    <comment_count>3</comment_count>
      <attachid>419009</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-02-02 09:18:35 -0800</bug_when>
    <thetext>Created attachment 419009
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724703</commentid>
    <comment_count>4</comment_count>
      <attachid>419014</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-02-02 09:44:01 -0800</bug_when>
    <thetext>Created attachment 419014
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724705</commentid>
    <comment_count>5</comment_count>
      <attachid>419009</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-02-02 09:44:36 -0800</bug_when>
    <thetext>Comment on attachment 419009
Patch

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

It looks like tvOS is unhappy, too!

&gt; Source/WebKit/WebProcess/WebProcess.messages.in:199
&gt; +#if PLATFORM(MAC)

Is this needed for Catalyst?

&gt; Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:636
&gt; +    MainThreadSharedTimer::shouldSetupPowerObserver() = false;

It seems like we place the burden of knowing not to set the power observer on the various client processes. Maybe it would be better if it defaulted to false, and the main UIProcess initialization had to set it to true?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724712</commentid>
    <comment_count>6</comment_count>
      <attachid>419014</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-02-02 09:53:51 -0800</bug_when>
    <thetext>Comment on attachment 419014
Patch

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

&gt; Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:636
&gt; +    MainThreadSharedTimer::shouldSetupPowerObserver() = false;

This places the burden on all aux processes. How about if we make the default false, and require this be set to true in &apos;Source/WebKit/Shared/WebKit2Initialize.cpp:void InitializeWebKit2()&apos; so that only the UIProcess has to set this value?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724787</commentid>
    <comment_count>7</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-02-02 11:33:58 -0800</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #5)
&gt; Comment on attachment 419009 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=419009&amp;action=review
&gt; 
&gt; It looks like tvOS is unhappy, too!
&gt; 
&gt; &gt; Source/WebKit/WebProcess/WebProcess.messages.in:199
&gt; &gt; +#if PLATFORM(MAC)
&gt; 
&gt; Is this needed for Catalyst?
&gt; 

It seems only Mac is using the PowerObserver, so I do not think this is needed for Catalyst.

&gt; &gt; Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:636
&gt; &gt; +    MainThreadSharedTimer::shouldSetupPowerObserver() = false;
&gt; 
&gt; It seems like we place the burden of knowing not to set the power observer
&gt; on the various client processes. Maybe it would be better if it defaulted to
&gt; false, and the main UIProcess initialization had to set it to true?

We only disable setup of the PowerObserver in the WebContent process. The WebContent process will be notified by the UI process about power events. For the other processes it will default to true, which gives the same behavior as before. I am perhaps not understanding your comment correctly, though. Does this address your comment?

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724793</commentid>
    <comment_count>8</comment_count>
      <attachid>419009</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-02-02 11:39:53 -0800</bug_when>
    <thetext>Comment on attachment 419009
Patch

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

&gt;&gt;&gt; Source/WebKit/WebProcess/WebProcess.messages.in:199
&gt;&gt;&gt; +#if PLATFORM(MAC)
&gt;&gt; 
&gt;&gt; Is this needed for Catalyst?
&gt; 
&gt; It seems only Mac is using the PowerObserver, so I do not think this is needed for Catalyst.

Okay, good.

&gt;&gt;&gt; Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:636
&gt;&gt;&gt; +    MainThreadSharedTimer::shouldSetupPowerObserver() = false;
&gt;&gt; 
&gt;&gt; It seems like we place the burden of knowing not to set the power observer on the various client processes. Maybe it would be better if it defaulted to false, and the main UIProcess initialization had to set it to true?
&gt; 
&gt; We only disable setup of the PowerObserver in the WebContent process. The WebContent process will be notified by the UI process about power events. For the other processes it will default to true, which gives the same behavior as before. I am perhaps not understanding your comment correctly, though. Does this address your comment?
&gt; 
&gt; Thanks for reviewing!

Oh, I didn&apos;t understand that. I thought we were blocking for all processes. In that case, I think your change makes sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724800</commentid>
    <comment_count>9</comment_count>
      <attachid>419014</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-02-02 11:52:30 -0800</bug_when>
    <thetext>Comment on attachment 419014
Patch

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724814</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-02 12:26:25 -0800</bug_when>
    <thetext>commit-queue failed to commit attachment 419014 to WebKit repository.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724919</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-02 15:15:47 -0800</bug_when>
    <thetext>Committed r272241: &lt;https://trac.webkit.org/changeset/272241&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 419014.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724920</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-02 15:16:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/73901378&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418999</attachid>
            <date>2021-02-02 07:36:50 -0800</date>
            <delta_ts>2021-02-02 08:47:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221258-20210202073649.patch</filename>
            <type>text/plain</type>
            <size>20695</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3MjE0MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDIxLTAyLTAyICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBSZWdpc3RlciBmb3IgcG93
ZXIgbm90aWZpY2F0aW9ucyBpbiB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMjU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZv
cm0vY2YvTWFpblRocmVhZFNoYXJlZFRpbWVyQ0YuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVz
dGFydFNoYXJlZFRpbWVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1haW5UaHJlYWRTaGFyZWRUaW1l
cjo6c2V0RmlyZUludGVydmFsKToKKyAgICAgICAgKFdlYkNvcmU6OmFwcGxpY2F0aW9uRGlkQmVj
b21lQWN0aXZlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnNldHVwUG93ZXJPYnNlcnZl
cik6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2YvU2V0dXBQb3dlck9ic2VydmVyLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpzaG91bGRTZXR1cFBvd2VyT2JzZXJ2ZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6YXBwbGljYXRpb25EaWRCZWNvbWVBY3RpdmUpOgorICAgICAgICAo
V2ViQ29yZTo6c2V0dXBQb3dlck9ic2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OnJ1blBvd2Vy
T25IYW5kbGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9jZi9TZXR1cFBvd2VyT2JzZXJ2ZXIuaDog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL1Bvd2VyT2JzZXJ2ZXJNYWMuaDoKKwogMjAy
MS0wMi0wMSAgTWlndWVsIEdvbWV6ICA8bWFnb21lekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtD
b29yZEdyYXBoaWNzXSBBdm9pZCBwYWludGluZyBiYWNraW5nIHN0b3JlcyBmb3IgemVyby1vcGFj
aXR5IGxheWVycwpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjcyMTQxKQorKysgU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMjcxLDcg
KzEyNzEsNyBAQAogCQk0NkM2OTZDQzFFNzIwNUZDMDA1OTc5MzcgLyogQ1BVTW9uaXRvci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkM2OTZDQTFF
NzIwNUU0MDA1OTc5MzcgLyogQ1BVTW9uaXRvci5jcHAgKi87IH07CiAJCTQ2QzgzRUZFMUE5QkJF
MjkwMEE3OUE0MSAvKiBHZW9Ob3RpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDZDODNFRkMxQTlCQkUyOTAwQTc5QTQxIC8qIEdlb05vdGlmaWVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDZD
QTlDNDQxRjk3QkJFOTAwNENGQzNBIC8qIFZpc2liaWxpdHlTdGF0ZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZDQTlDNDExRjk3QkJFNzAwNENGQzNB
IC8qIFZpc2liaWxpdHlTdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07Ci0JCTQ2REJCNjUwMUFCOEM5NkYwMEQ5QTgxMyAvKiBQb3dlck9ic2VydmVy
TWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkRC
QjY0RTFBQjhDOTZGMDBEOUE4MTMgLyogUG93ZXJPYnNlcnZlck1hYy5oICovOyB9OworCQk0NkRC
QjY1MDFBQjhDOTZGMDBEOUE4MTMgLyogUG93ZXJPYnNlcnZlck1hYy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZEQkI2NEUxQUI4Qzk2RjAwRDlBODEz
IC8qIFBvd2VyT2JzZXJ2ZXJNYWMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk0NkRGRjQ5ODFEQzI2MDMxMDBCODBCNDggLyogU2hhZG93Um9vdE1v
ZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2REZG
NDk2MURDMjYwMTMwMEI4MEI0OCAvKiBTaGFkb3dSb290TW9kZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2REZGNDlDMURDMjYyMEIwMEI4MEI0
OCAvKiBKU1NoYWRvd1Jvb3RNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0NkRGRjQ5QTFEQzI2MUY5MDBCODBCNDggLyogSlNTaGFkb3dSb290TW9k
ZS5oICovOyB9OwogCQk0NkUwQzBERTIzQzAwNkU5MDA1RTQ3QUUgLyogRHJhZ0V2ZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkUwQzBEQTIzQzAw
NkIzMDA1RTQ3QUUgLyogRHJhZ0V2ZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTQxNTAsNiArNDE1MCw4IEBACiAJCUMxNjkyREQ1MjNEMjNF
MDgwMDZFODhGNyAvKiBTeXN0ZW1CYXR0ZXJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDMTY5MkRENDIzRDIzQUUwMDA2RTg4RjcgLyogU3lzdGVtQmF0
dGVyeS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUMxOENDMEE0MjU4MEVGQjEwMDNENzVGQiAvKiBVbml2ZXJzYWxBY2Nlc3Nab29tLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMThDQzBBMzI1ODBFRkIx
MDAzRDc1RkIgLyogVW5pdmVyc2FsQWNjZXNzWm9vbS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUMxOENDMEE3MjU4MEYwRkEwMDNENzVGQiAvKiBV
bml2ZXJzYWxBY2Nlc3Nab29tLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQzE4Q0MwQTYyNTgwRjBGQTAwM0Q3NUZCIC8qIFVuaXZlcnNhbEFjY2Vzc1pv
b20ubW0gKi87IH07CisJCUMxOTc1MUQ3MjVDOTk3ODAwMDA4NTI4MiAvKiBTZXR1cFBvd2VyT2Jz
ZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMx
OTc1MUQ2MjVDOTk3MDQwMDA4NTI4MiAvKiBTZXR1cFBvd2VyT2JzZXJ2ZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDMTk3NTFEOTI1Qzk5OTMx
MDAwODUyODIgLyogU2V0dXBQb3dlck9ic2VydmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxOTc1MUQ4MjVDOTk5MzEwMDA4NTI4MiAvKiBTZXR1
cFBvd2VyT2JzZXJ2ZXIuY3BwICovOyB9OwogCQlDMUUxRDIzNjIwM0RGMTU0MDA1ODQ2NjUgLyog
U2NyZWVuUHJvcGVydGllcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzFFMUQyMzUyMDNERjE1NDAwNTg0NjY1IC8qIFNjcmVlblByb3BlcnRpZXMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDMUY3Qjcz
MTI0NDhGMkFDMDAxMjQ1NTcgLyogQUdYQ29tcGlsZXJTZXJ2aWNlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMxRjdCNzJGMjQ0OEYyQUMwMDEyNDU1
NyAvKiBBR1hDb21waWxlclNlcnZpY2UuY3BwICovOyB9OwogCQlDMUY3QjczMjI0NDhGMkFDMDAx
MjQ1NTcgLyogQUdYQ29tcGlsZXJTZXJ2aWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDMUY3QjczMDI0NDhGMkFDMDAxMjQ1NTcgLyogQUdYQ29tcGls
ZXJTZXJ2aWNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKQEAgLTE0MzU5LDYgKzE0MzYxLDggQEAKIAkJQzE4Q0MwQTMyNTgwRUZCMTAwM0Q3NUZCIC8q
IFVuaXZlcnNhbEFjY2Vzc1pvb20uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVW5pdmVyc2FsQWNjZXNzWm9v
bS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMThDQzBBNjI1ODBGMEZBMDAzRDc1
RkIgLyogVW5pdmVyc2FsQWNjZXNzWm9vbS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVuaXZl
cnNhbEFjY2Vzc1pvb20ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMxOEZCNTE4
MjQyRjkzODIwMDdFOTg3NSAvKiBTbGVlcERpc2FibGVyQ2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFNsZWVwRGlzYWJsZXJDbGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlDMTk3NTFENjI1Qzk5NzA0MDAwODUyODIgLyogU2V0dXBQb3dlck9ic2VydmVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNldHVwUG93ZXJPYnNlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlDMTk3NTFEODI1Qzk5OTMxMDAwODUyODIgLyogU2V0dXBQb3dlck9ic2VydmVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNldHVwUG93ZXJPYnNlcnZlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUMxRTFEMjM1MjAzREYxNTQwMDU4NDY2NSAvKiBTY3JlZW5Qcm9w
ZXJ0aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmVlblByb3BlcnRpZXMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQzFGN0I3MkYyNDQ4RjJBQzAwMTI0NTU3IC8qIEFHWENvbXBpbGVy
U2VydmljZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBR1hDb21waWxlclNlcnZpY2UuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMUY3QjczMDI0NDhGMkFDMDAxMjQ1NTcgLyog
QUdYQ29tcGlsZXJTZXJ2aWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFHWENvbXBpbGVyU2VydmljZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTg0NTksNiArMTg0NjMsOCBAQAogCQkJ
CTVDQkM4REFCMUFBQTMwMjIwMEUxQzgwMyAvKiBNZWRpYUFjY2Vzc2liaWxpdHlTb2Z0TGluay5o
ICovLAogCQkJCTJENzZCQjgzMTk0NTZGODEwMENGRDI5QSAvKiBSdW5Mb29wT2JzZXJ2ZXIuY3Bw
ICovLAogCQkJCTJENzZCQjgwMTk0NTYzMjQwMENGRDI5QSAvKiBSdW5Mb29wT2JzZXJ2ZXIuaCAq
LywKKwkJCQlDMTk3NTFEODI1Qzk5OTMxMDAwODUyODIgLyogU2V0dXBQb3dlck9ic2VydmVyLmNw
cCAqLywKKwkJCQlDMTk3NTFENjI1Qzk5NzA0MDAwODUyODIgLyogU2V0dXBQb3dlck9ic2VydmVy
LmggKi8sCiAJCQkJNTEyREQ4RTIwRDkxRTJCNDAwMEY4OUVFIC8qIFNoYXJlZEJ1ZmZlckNGLmNw
cCAqLywKIAkJCSk7CiAJCQlwYXRoID0gY2Y7CkBAIC0zNDYwOCw2ICszNDYxNCw3IEBACiAJCQkJ
QjhEQkRCNEMxMzBCMEY4QTAwRjVDREIxIC8qIFNldFNlbGVjdGlvbkNvbW1hbmQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTdDRDU4REZCMUY5NTY1QTUwMDExMjc5MSAvKiBTZXR0aW5ncy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJN0NDOTcyMkUxRjkzRTMzNjAwMDRENENGIC8qIFNldHRpbmdzQmFzZS5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQzE5NzUxRDcyNUM5OTc4MDAwMDg1MjgyIC8qIFNldHVwUG93
ZXJPYnNlcnZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFCQkE4NjYyNTdFMzczQjAwQUM3RjZE
IC8qIFNGcmFtZVV0aWxzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjNERDQ1MDEyRjVFQTFCMDAw
RDkxOTAgLyogU2hhZG93Qmx1ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1RUI4QzQwRTgyMDMx
QjAwQjI1OTY1IC8qIFNoYWRvd0RhdGEuaCBpbiBIZWFkZXJzICovLApAQCAtMzYwODksNiArMzYw
OTYsNyBAQAogCQkJCTQzQjg1RUQ0MThDQkVDNTIwMEUzMUFGNCAvKiBTZWxlY3RvclBzZXVkb0Ns
YXNzQW5kQ29tcGF0aWJpbGl0eUVsZW1lbnRNYXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMjZB
QTBGOUUxOEQyQTE4QjAwNDE5MzgxIC8qIFNlbGVjdG9yUHNldWRvRWxlbWVudFR5cGVNYXAuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJN0NENThERkQxRjk1NjVBODAwMTEyNzkxIC8qIFNldHRpbmdz
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUMxOTc1MUQ5MjVDOTk5MzEwMDA4NTI4MiAvKiBTZXR1
cFBvd2VyT2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4RjEwQTgxRjkwMjJBNDAw
NTEwMkNFIC8qIFNvZnRMaW5rTGlieHNsdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDREY5OTRG
RDI0QzE1RkUzMDAyRUEwNjIgLyogU291cmNlQnVmZmVyUGFyc2VyQVZGT2JqQy5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCUNEQzhCNUFBMTgwNDdGRjEwMDE2RTY4NSAvKiBTb3VyY2VCdWZmZXJQcml2
YXRlQVZGT2JqQy5tbSBpbiBTb3VyY2VzICovLApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY2YvTWFpblRocmVhZFNoYXJlZFRpbWVyQ0YuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NmL01haW5UaHJlYWRTaGFyZWRUaW1lckNGLmNwcAkocmV2aXNpb24g
MjcyMTQxKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvTWFpblRocmVhZFNoYXJlZFRp
bWVyQ0YuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw0OCArMjYsMTcgQEAKICNpbXBvcnQgImNv
bmZpZy5oIgogI2ltcG9ydCAiTWFpblRocmVhZFNoYXJlZFRpbWVyLmgiCiAKLSNpbmNsdWRlIDx3
dGYvQXV0b2RyYWluZWRQb29sLmg+CisjaW5jbHVkZSAiU2V0dXBQb3dlck9ic2VydmVyLmgiCiAK
LSNpZiBQTEFURk9STShNQUMpCi0jaW1wb3J0ICJQb3dlck9ic2VydmVyTWFjLmgiCi0jZWxpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQotI2ltcG9ydCAiV2ViQ29yZVRocmVhZEludGVybmFsLmgiCi0j
aW1wb3J0ICJXZWJDb3JlVGhyZWFkUnVuLmgiCi0jZW5kaWYKKyNpbmNsdWRlIDx3dGYvQXV0b2Ry
YWluZWRQb29sLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIENGUnVuTG9vcFRp
bWVyUmVmIHNoYXJlZFRpbWVyOwogc3RhdGljIHZvaWQgdGltZXJGaXJlZChDRlJ1bkxvb3BUaW1l
clJlZiwgdm9pZCopOwotc3RhdGljIHZvaWQgcmVzdGFydFNoYXJlZFRpbWVyKCk7CiAKIHN0YXRp
YyBjb25zdCBDRlRpbWVJbnRlcnZhbCBrQ0ZUaW1lSW50ZXJ2YWxEaXN0YW50RnV0dXJlID0gc3Rk
OjpudW1lcmljX2xpbWl0czxDRlRpbWVJbnRlcnZhbD46Om1heCgpOwogCi0jaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKLXN0YXRpYyB2b2lkIGFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlKENGTm90
aWZpY2F0aW9uQ2VudGVyUmVmLCB2b2lkKiwgQ0ZTdHJpbmdSZWYsIGNvbnN0IHZvaWQqLCBDRkRp
Y3Rpb25hcnlSZWYpCi17Ci0gICAgV2ViVGhyZWFkUnVuKF57Ci0gICAgICAgIHJlc3RhcnRTaGFy
ZWRUaW1lcigpOwotICAgIH0pOwotfQotI2VuZGlmCi0KLXN0YXRpYyB2b2lkIHNldHVwUG93ZXJP
YnNlcnZlcigpCi17Ci0jaWYgUExBVEZPUk0oTUFDKQotICAgIHN0YXRpYyBQb3dlck9ic2VydmVy
KiBwb3dlck9ic2VydmVyOwotICAgIGlmICghcG93ZXJPYnNlcnZlcikKLSAgICAgICAgcG93ZXJP
YnNlcnZlciA9IG1ha2VVbmlxdWU8UG93ZXJPYnNlcnZlcj4ocmVzdGFydFNoYXJlZFRpbWVyKS5y
ZWxlYXNlKCk7Ci0jZWxpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIHN0YXRpYyBib29sIHJl
Z2lzdGVyZWRGb3JBcHBsaWNhdGlvbk5vdGlmaWNhdGlvbiA9IGZhbHNlOwotICAgIGlmICghcmVn
aXN0ZXJlZEZvckFwcGxpY2F0aW9uTm90aWZpY2F0aW9uKSB7Ci0gICAgICAgIHJlZ2lzdGVyZWRG
b3JBcHBsaWNhdGlvbk5vdGlmaWNhdGlvbiA9IHRydWU7Ci0gICAgICAgIENGTm90aWZpY2F0aW9u
Q2VudGVyUmVmIG5vdGlmaWNhdGlvbkNlbnRlciA9IENGTm90aWZpY2F0aW9uQ2VudGVyR2V0TG9j
YWxDZW50ZXIoKTsKLSAgICAgICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJBZGRPYnNlcnZlcihub3Rp
ZmljYXRpb25DZW50ZXIsIG51bGxwdHIsIGFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlLCBDRlNU
UigiVUlBcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZU5vdGlmaWNhdGlvbiIpLCBudWxscHRyLCBD
Rk5vdGlmaWNhdGlvblN1c3BlbnNpb25CZWhhdmlvckNvYWxlc2NlKTsKLSAgICB9Ci0jZW5kaWYK
LX0KLQogc3RhdGljIHZvaWQgdGltZXJGaXJlZChDRlJ1bkxvb3BUaW1lclJlZiwgdm9pZCopCiB7
CiAgICAgQXV0b2RyYWluZWRQb29sIHBvb2w7CkBAIC04MCw3ICs0OSw3IEBAIHN0YXRpYyB2b2lk
IHJlc3RhcnRTaGFyZWRUaW1lcigpCiAgICAgICAgIHJldHVybjsKIAogICAgIE1haW5UaHJlYWRT
aGFyZWRUaW1lcjo6c2luZ2xldG9uKCkuc3RvcCgpOwotICAgIHRpbWVyRmlyZWQoMCwgMCk7Cisg
ICAgdGltZXJGaXJlZChudWxscHRyLCBudWxscHRyKTsKIH0KIAogdm9pZCBNYWluVGhyZWFkU2hh
cmVkVGltZXI6OmludmFsaWRhdGUoKQpAQCAtMTA2LDcgKzc1LDcgQEAgdm9pZCBNYWluVGhyZWFk
U2hhcmVkVGltZXI6OnNldEZpcmVJbnRlcgogICAgICAgICBDRlJ1bkxvb3BBZGRUaW1lcihDRlJ1
bkxvb3BHZXRDdXJyZW50KCksIHNoYXJlZFRpbWVyLCBrQ0ZSdW5Mb29wQ29tbW9uTW9kZXMpOwog
I2VuZGlmCiAKLSAgICAgICAgc2V0dXBQb3dlck9ic2VydmVyKCk7CisgICAgICAgIHNldHVwUG93
ZXJPYnNlcnZlcihyZXN0YXJ0U2hhcmVkVGltZXIpOwogCiAgICAgICAgIHJldHVybjsKICAgICB9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jZi9TZXR1cFBvd2VyT2JzZXJ2ZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL1NldHVwUG93ZXJPYnNl
cnZlci5jcHAJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvU2V0
dXBQb3dlck9ic2VydmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDc2IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIlNldHVwUG93ZXJPYnNlcnZlci5oIgorCisjaW5jbHVkZSAiTWFpblRo
cmVhZFNoYXJlZFRpbWVyLmgiCisKKyNpZiBQTEFURk9STShNQUMpCisjaW1wb3J0ICJQb3dlck9i
c2VydmVyTWFjLmgiCisjZWxpZiBQTEFURk9STShJT1NfRkFNSUxZKQorI2ltcG9ydCAiV2ViQ29y
ZVRocmVhZEludGVybmFsLmgiCisjaW1wb3J0ICJXZWJDb3JlVGhyZWFkUnVuLmgiCisjZW5kaWYK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitib29sJiBzaG91bGRTZXR1cFBvd2VyT2JzZXJ2ZXIo
KQoreworICAgIHN0YXRpYyBib29sIHNldHVwID0gdHJ1ZTsKKyAgICByZXR1cm4gc2V0dXA7Cit9
CisKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorc3RhdGljIHZvaWQgYXBwbGljYXRpb25EaWRC
ZWNvbWVBY3RpdmUoQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsIHZvaWQqLCBDRlN0cmluZ1JlZiwg
Y29uc3Qgdm9pZCosIENGRGljdGlvbmFyeVJlZikKK3sKKyAgICBXZWJUaHJlYWRSdW4oXnsKKyAg
ICAgICAgcmVzdGFydFNoYXJlZFRpbWVyKCk7CisgICAgfSk7Cit9CisjZW5kaWYKKwordm9pZCBz
ZXR1cFBvd2VyT2JzZXJ2ZXIoV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYgaGFuZGxlcikKK3sKKyNp
ZiBQTEFURk9STShNQUMpCisgICAgc3RhdGljIFBvd2VyT2JzZXJ2ZXIqIHBvd2VyT2JzZXJ2ZXI7
CisgICAgaWYgKCFwb3dlck9ic2VydmVyKQorICAgICAgICBwb3dlck9ic2VydmVyID0gbWFrZVVu
aXF1ZTxQb3dlck9ic2VydmVyPihXVEZNb3ZlKGhhbmRsZXIpKS5yZWxlYXNlKCk7CisjZWxpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQorICAgIHN0YXRpYyBib29sIHJlZ2lzdGVyZWRGb3JBcHBsaWNh
dGlvbk5vdGlmaWNhdGlvbiA9IGZhbHNlOworICAgIGlmICghcmVnaXN0ZXJlZEZvckFwcGxpY2F0
aW9uTm90aWZpY2F0aW9uKSB7CisgICAgICAgIHJlZ2lzdGVyZWRGb3JBcHBsaWNhdGlvbk5vdGlm
aWNhdGlvbiA9IHRydWU7CisgICAgICAgIENGTm90aWZpY2F0aW9uQ2VudGVyUmVmIG5vdGlmaWNh
dGlvbkNlbnRlciA9IENGTm90aWZpY2F0aW9uQ2VudGVyR2V0TG9jYWxDZW50ZXIoKTsKKyAgICAg
ICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJBZGRPYnNlcnZlcihub3RpZmljYXRpb25DZW50ZXIsIG51
bGxwdHIsIGFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlLCBDRlNUUigiVUlBcHBsaWNhdGlvbkRp
ZEJlY29tZUFjdGl2ZU5vdGlmaWNhdGlvbiIpLCBudWxscHRyLCBDRk5vdGlmaWNhdGlvblN1c3Bl
bnNpb25CZWhhdmlvckNvYWxlc2NlKTsKKyAgICB9CisjZW5kaWYKK30KKwordm9pZCBydW5Qb3dl
ck9uSGFuZGxlcigpCit7CisgICAgCit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL1NldHVwUG93ZXJPYnNlcnZlci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL1NldHVwUG93ZXJPYnNlcnZlci5oCShu
b25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL1NldHVwUG93ZXJPYnNl
cnZlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitXRUJDT1JFX0VYUE9SVCBib29sJiBzaG91bGRTZXR1cFBvd2VyT2JzZXJ2ZXIo
KTsKK3ZvaWQgc2V0dXBQb3dlck9ic2VydmVyKFdURjo6RnVuY3Rpb248dm9pZCgpPiYmIHBvd2Vy
T25IYW5kbGVyKTsKK1dFQkNPUkVfRVhQT1JUIHZvaWQgcnVuUG93ZXJPbkhhbmRsZXIoKTsKKwor
fQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bvd2VyT2JzZXJ2ZXJNYWMuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUG93ZXJPYnNlcnZlck1h
Yy5oCShyZXZpc2lvbiAyNzIxNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUG93
ZXJPYnNlcnZlck1hYy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw4ICszNyw4IEBAIGNsYXNzIFBv
d2VyT2JzZXJ2ZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBvd2VyT2JzZXJ2ZXIpOyBX
VEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIAogcHVibGljOgotICAgIFBvd2VyT2JzZXJ2ZXIoV1RG
OjpGdW5jdGlvbjx2b2lkKCk+JiYgcG93ZXJPbkhhbmRlcik7Ci0gICAgflBvd2VyT2JzZXJ2ZXIo
KTsKKyAgICBXRUJDT1JFX0VYUE9SVCBQb3dlck9ic2VydmVyKFdURjo6RnVuY3Rpb248dm9pZCgp
PiYmIHBvd2VyT25IYW5kZXIpOworICAgIFdFQkNPUkVfRVhQT1JUIH5Qb3dlck9ic2VydmVyKCk7
CiAKIHByaXZhdGU6CiAgICAgdm9pZCBkaWRSZWNlaXZlU3lzdGVtUG93ZXJOb3RpZmljYXRpb24o
aW9fc2VydmljZV90LCB1aW50MzJfdCBtZXNzYWdlVHlwZSwgdm9pZCogbWVzc2FnZUFyZ3VtZW50
KTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzIyMDYpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDIxLTAyLTAyICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBSZWdpc3RlciBmb3IgcG93
ZXIgbm90aWZpY2F0aW9ucyBpbiB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMjU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bv
b2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnJlZ2lzdGVyTm90
aWZpY2F0aW9uT2JzZXJ2ZXJzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnVu
cmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
czo6cGxhdGZvcm1Jbml0aWFsaXplUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3M6OnN5c3RlbVdpbGxQb3dlck9uKToKKwogMjAyMS0wMi0wMiAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIFdlYlJUQyBHUFUgcHJvY2VzcyBmbGFnIGZv
ciBNZWRpYVJlY29yZGVyCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UG9vbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmgJKHJldmlzaW9uIDI3MjE0MSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmgJKHdvcmtpbmcgY29weSkKQEAgLTY5LDkgKzY5LDEyIEBAIE9CSkNfQ0xBU1Mg
V0tXZWJJbnNwZWN0b3JQcmVmZXJlbmNlT2JzZXIKICNlbmRpZgogI2VuZGlmCiAKLSNpZiBQTEFU
Rk9STShNQUMpICYmIEVOQUJMRShXRUJQUk9DRVNTX1dJTkRPV1NFUlZFUl9CTE9DS0lORykKKyNp
ZiBQTEFURk9STShNQUMpCisjaW1wb3J0IDxXZWJDb3JlL1Bvd2VyT2JzZXJ2ZXJNYWMuaD4KKyNp
ZiBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCiAjaW5jbHVkZSAiRGlz
cGxheUxpbmsuaCIKICNlbmRpZgorI2VuZGlmCiAKIG5hbWVzcGFjZSBBUEkgewogY2xhc3MgQXV0
b21hdGlvbkNsaWVudDsKQEAgLTc2OCw2ICs3NzEsMTAgQEAgcHJpdmF0ZToKICAgICBIYXNoU2V0
PFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluPiBtX2RvbWFpbnNXaXRoVXNlckludGVyYWN0aW9u
OwogICAgIEhhc2hNYXA8VG9wRnJhbWVEb21haW4sIFN1YlJlc291cmNlRG9tYWluPiBtX2RvbWFp
bnNXaXRoQ3Jvc3NQYWdlU3RvcmFnZUFjY2Vzc1F1aXJrOwogI2VuZGlmCisgICAgCisjaWYgUExB
VEZPUk0oTUFDKQorICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpQb3dlck9ic2VydmVyPiBt
X3Bvd2VyT2JzZXJ2ZXI7CisjZW5kaWYKIH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CkluZGV4
OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29s
Q29jb2EubW0JKHJldmlzaW9uIDI3MjE0MSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTYxNSw2ICs2MTUs
MTAgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6c3RhcnRPYnNlcnZpbmdQcmVmZQogdm9pZCBXZWJQ
cm9jZXNzUG9vbDo6cmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMoKQogewogI2lmICFQTEFU
Rk9STShJT1NfRkFNSUxZKQorICAgIG1fcG93ZXJPYnNlcnZlciA9IG1ha2VVbmlxdWU8V2ViQ29y
ZTo6UG93ZXJPYnNlcnZlcj4oW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIodGhpcyldIHsKKyAgICAg
ICAgaWYgKHdlYWtUaGlzKQorICAgICAgICAgICAgd2Vha1RoaXMtPnNlbmRUb0FsbFByb2Nlc3Nl
cyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6U3lzdGVtV2lsbFBvd2VyT24oKSk7CisgICAgfSk7CiAg
ICAgLy8gTGlzdGVuIGZvciBlbmhhbmNlZCBhY2Nlc3NpYmlsaXR5IGNoYW5nZXMgYW5kIHByb3Bh
Z2F0ZSB0aGVtIHRvIHRoZSBXZWJQcm9jZXNzLgogICAgIG1fZW5oYW5jZWRBY2Nlc3NpYmlsaXR5
T2JzZXJ2ZXIgPSBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2Vy
dmVyRm9yTmFtZTpXZWJLaXRBcHBsaWNhdGlvbkRpZENoYW5nZUFjY2Vzc2liaWxpdHlFbmhhbmNl
ZFVzZXJJbnRlcmZhY2VOb3RpZmljYXRpb24gb2JqZWN0Om5pbCBxdWV1ZTpbTlNPcGVyYXRpb25R
dWV1ZSBjdXJyZW50UXVldWVdIHVzaW5nQmxvY2s6XihOU05vdGlmaWNhdGlvbiAqbm90ZSkgewog
ICAgICAgICBzZXRFbmhhbmNlZEFjY2Vzc2liaWxpdHkoW1tbbm90ZSB1c2VySW5mb10gb2JqZWN0
Rm9yS2V5OkAiQVhFbmhhbmNlZFVzZXJJbnRlcmZhY2UiXSBib29sVmFsdWVdKTsKQEAgLTcxMCw2
ICs3MTQsNyBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpyZWdpc3Rlck5vdGlmaWNhdGlvCiB2b2lk
IFdlYlByb2Nlc3NQb29sOjp1bnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKCkKIHsKICNp
ZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBtX3Bvd2VyT2JzZXJ2ZXIgPSBudWxscHRyOwog
ICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6
bV9lbmhhbmNlZEFjY2Vzc2liaWxpdHlPYnNlcnZlci5nZXQoKV07CiAgICAgW1tOU05vdGlmaWNh
dGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2F1dG9tYXRpY1RleHRS
ZXBsYWNlbWVudE5vdGlmaWNhdGlvbk9ic2VydmVyLmdldCgpXTsKICAgICBbW05TTm90aWZpY2F0
aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOm1fYXV0b21hdGljU3BlbGxp
bmdDb3JyZWN0aW9uTm90aWZpY2F0aW9uT2JzZXJ2ZXIuZ2V0KCldOwpJbmRleDogU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCShyZXZpc2lvbiAyNzIxNDEpCisrKyBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBAIC01MTEsNiArNTEx
LDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaXNwbGF5V2FzUmVmcmVzaGVkKHVpbnQzMl90IGRp
c3BsYXlJRCk7CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKE1BQykKKyAgICB2b2lkIHN5c3RlbVdp
bGxQb3dlck9uKCk7CisjZW5kaWYKKyAgICAKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZVBy
b2Nlc3MoY29uc3QgQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYpOwog
CiAgICAgLy8gSVBDOjpDb25uZWN0aW9uOjpDbGllbnQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCShyZXZpc2lvbiAyNzIxNDEpCisr
KyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgkod29ya2lu
ZyBjb3B5KQpAQCAtMTkxLDQgKzE5MSw4IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgTGVnYWN5
UmVjZWl2ZXIgTm8KICNpZiBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcp
CiAgICAgRGlzcGxheVdhc1JlZnJlc2hlZCh1aW50MzJfdCBkaXNwbGF5SUQpCiAjZW5kaWYKKwor
I2lmIFBMQVRGT1JNKE1BQykKKyAgICBTeXN0ZW1XaWxsUG93ZXJPbigpCisjZW5kaWYKIH0KSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2Nv
YS5tbQkocmV2aXNpb24gMjcyMTQxKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29h
L1dlYlByb2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNzIsNiArNzIsNyBAQAogI2lt
cG9ydCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KICNpbXBvcnQgPFdlYkNv
cmUvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9TV0NvbnRleHRN
YW5hZ2VyLmg+CisjaW1wb3J0IDxXZWJDb3JlL1NldHVwUG93ZXJPYnNlcnZlci5oPgogI2ltcG9y
dCA8V2ViQ29yZS9TeXN0ZW1CYXR0ZXJ5Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1N5c3RlbVNvdW5k
TWFuYWdlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9VVElVdGlsaXRpZXMuaD4KQEAgLTYzMCw2ICs2
MzEsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVByb2NlCiAjZW5kaWYg
Ly8gRU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5HKQogCiAgICAgU3dpdGNo
aW5nR1BVQ2xpZW50OjpzZXRTaW5nbGV0b24oV2ViU3dpdGNoaW5nR1BVQ2xpZW50OjpzaW5nbGV0
b24oKSk7CisgICAgV2ViQ29yZTo6c2hvdWxkU2V0dXBQb3dlck9ic2VydmVyKCkgPSBmYWxzZTsK
ICNlbmRpZiAvLyBQTEFURk9STShNQUMpCiAKICAgICBpZiAocGFyYW1ldGVycy5leHRyYUluaXRp
YWxpemF0aW9uRGF0YS5nZXQoImluc3BlY3Rvci1wcm9jZXNzIl9zKSA9PSAiMSIpCkBAIC0xMTk5
LDYgKzEyMDEsMTMgQEAgdm9pZCBXZWJQcm9jZXNzOjp3YWl0Rm9yUGVuZGluZ1Bhc3RlYm9hcgog
ICAgIH0KIH0KIAorI2lmIFBMQVRGT1JNKE1BQykKK3ZvaWQgV2ViUHJvY2Vzczo6c3lzdGVtV2ls
bFBvd2VyT24oKQoreworICAgIFdlYkNvcmU6OnJ1blBvd2VyT25IYW5kbGVyKCk7Cit9CisjZW5k
aWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRlZiBSRUxFQVNFX0xPR19TRVNTSU9O
X0lECg==
</data>
<flag name="commit-queue"
          id="437128"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419001</attachid>
            <date>2021-02-02 08:17:23 -0800</date>
            <delta_ts>2021-02-02 09:30:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221258-20210202081722.patch</filename>
            <type>text/plain</type>
            <size>14693</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3MjE0MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDIxLTAyLTAyICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBSZWdpc3RlciBmb3IgcG93
ZXIgbm90aWZpY2F0aW9ucyBpbiB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMjU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUG93ZXIgbm90aWZpY2F0aW9ucyBzaG91bGQgYmUg
cmVnaXN0ZXJlZCBmb3IgaW4gdGhlIFVJIHByb2Nlc3MgaW5zdGVhZCBvZiB0aGUgV2ViQ29udGVu
dCBwcm9jZXNzLiBUaGlzIHBhdGNoIGFkZHJlc3NlcworICAgICAgICB0aGlzIGJ5IGNyZWF0aW5n
IGEgUG93ZXJPYnNlcnZlciBpbnN0YW5jZSBpbiB0aGUgVUkgcHJvY2Vzcywgd2hpY2ggd2lsbCBu
b3RpZnkgZXZlcnkgV2ViQ29udGVudCB3aGVuIHRoZSBwb3dlciBoYXMgYmVlbgorICAgICAgICB0
dXJuZWQgb24uIEVhY2ggV2ViQ29udGVudCBwcm9jZXNzIHdpbGwgaW4gcmVzcG9uc2UgcmVzdGFy
dCB0aGVpciBzaGFyZWQgdGltZXIuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBzaW5jZSB0ZXN0
aW5nIHRoaXMgaW52b2x2ZXMgcHV0dGluZyB0aGUgbWFjaGluZSB0byBzbGVlcCBhbmQgd2FrZSBp
dCB1cCwgd2hpY2ggaXMgbm90IHRyaXZpYWwgaW4gdGhlCisgICAgICAgIHRlc3RpbmcgZnJhbWV3
b3JrLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIHBsYXRmb3JtL2NmL01haW5UaHJlYWRTaGFyZWRUaW1lckNGLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnJlc3RhcnRTaGFyZWRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpNYWluVGhy
ZWFkU2hhcmVkVGltZXI6OnNldEZpcmVJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjphcHBs
aWNhdGlvbkRpZEJlY29tZUFjdGl2ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpzZXR1
cFBvd2VyT2JzZXJ2ZXIpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2NmL1NldHVwUG93
ZXJPYnNlcnZlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkU2V0dXBQb3dl
ck9ic2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OmFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZl
KToKKyAgICAgICAgKFdlYkNvcmU6OnNldHVwUG93ZXJPYnNlcnZlcik6CisgICAgICAgIChXZWJD
b3JlOjpydW5Qb3dlck9uSGFuZGxlcik6CisgICAgICAgICogcGxhdGZvcm0vY2YvU2V0dXBQb3dl
ck9ic2VydmVyLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9Qb3dlck9ic2VydmVy
TWFjLmg6CisKIDIwMjEtMDItMDEgIE1pZ3VlbCBHb21leiAgPG1hZ29tZXpAaWdhbGlhLmNvbT4K
IAogICAgICAgICBbQ29vcmRHcmFwaGljc10gQXZvaWQgcGFpbnRpbmcgYmFja2luZyBzdG9yZXMg
Zm9yIHplcm8tb3BhY2l0eSBsYXllcnMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI3MjE0MSkKKysrIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5
KQpAQCAtMTI3MSw3ICsxMjcxLDcgQEAKIAkJNDZDNjk2Q0MxRTcyMDVGQzAwNTk3OTM3IC8qIENQ
VU1vbml0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDZDNjk2Q0ExRTcyMDVFNDAwNTk3OTM3IC8qIENQVU1vbml0b3IuY3BwICovOyB9OwogCQk0
NkM4M0VGRTFBOUJCRTI5MDBBNzlBNDEgLyogR2VvTm90aWZpZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2QzgzRUZDMUE5QkJFMjkwMEE3OUE0MSAv
KiBHZW9Ob3RpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTQ2Q0E5QzQ0MUY5N0JCRTkwMDRDRkMzQSAvKiBWaXNpYmlsaXR5U3RhdGUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2Q0E5QzQxMUY5
N0JCRTcwMDRDRkMzQSAvKiBWaXNpYmlsaXR5U3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk0NkRCQjY1MDFBQjhDOTZGMDBEOUE4MTMgLyog
UG93ZXJPYnNlcnZlck1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDZEQkI2NEUxQUI4Qzk2RjAwRDlBODEzIC8qIFBvd2VyT2JzZXJ2ZXJNYWMuaCAq
LzsgfTsKKwkJNDZEQkI2NTAxQUI4Qzk2RjAwRDlBODEzIC8qIFBvd2VyT2JzZXJ2ZXJNYWMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2REJCNjRFMUFC
OEM5NkYwMEQ5QTgxMyAvKiBQb3dlck9ic2VydmVyTWFjLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDZERkY0OTgxREMyNjAzMTAwQjgwQjQ4IC8q
IFNoYWRvd1Jvb3RNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0NkRGRjQ5NjFEQzI2MDEzMDBCODBCNDggLyogU2hhZG93Um9vdE1vZGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NkRGRjQ5QzFE
QzI2MjBCMDBCODBCNDggLyogSlNTaGFkb3dSb290TW9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZERkY0OUExREMyNjFGOTAwQjgwQjQ4IC8qIEpT
U2hhZG93Um9vdE1vZGUuaCAqLzsgfTsKIAkJNDZFMEMwREUyM0MwMDZFOTAwNUU0N0FFIC8qIERy
YWdFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDZFMEMwREEyM0MwMDZCMzAwNUU0N0FFIC8qIERyYWdFdmVudC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0yMjQ5LDcgKzIyNDksNyBAQAogCQk3
QUFCQTI1QTE0QkM2MTMzMDBBQTlBMTEgLyogRE9NRWRpdG9yLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUFCQTI1ODE0QkM2MTMzMDBBQTlBMTEgLyog
RE9NRWRpdG9yLmggKi87IH07CiAJCTdBREU3MjI2MTBDQkJCOUIwMDZCM0IzQSAvKiBDb250ZXh0
TWVudVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3QURFNzIyNTEwQ0JCQjlCMDA2QjNCM0EgLyogQ29udGV4dE1lbnVQcm92aWRlci5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdBRTMzNUYy
MUFDQjA5RTIwMEU0MDFFRiAvKiBXaGVlbEV2ZW50VGVzdE1vbml0b3IuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRTMzNUYwMUFDQjA5RTIwMEU0MDFF
RiAvKiBXaGVlbEV2ZW50VGVzdE1vbml0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwotCQk3QUU2QzkzQzFCRTBDNjAxMDBFMTlFMDMgLyogTWFpblRo
cmVhZFNoYXJlZFRpbWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3QUU2QzkzQTFCRTBDNjAxMDBFMTlFMDMgLyogTWFpblRocmVhZFNoYXJlZFRpbWVy
LmggKi87IH07CisJCTdBRTZDOTNDMUJFMEM2MDEwMEUxOUUwMyAvKiBNYWluVGhyZWFkU2hhcmVk
VGltZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdB
RTZDOTNBMUJFMEM2MDEwMEUxOUUwMyAvKiBNYWluVGhyZWFkU2hhcmVkVGltZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QUY5QjIwMzE4Q0ZC
MkRGMDBDNjRCRUYgLyogVlRUUmVnaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3QUY5QjFGRDE4Q0ZCMkRGMDBDNjRCRUYgLyogVlRUUmVnaW9uLmgg
Ki87IH07CiAJCTdBRjlCMjA2MThDRkIyREYwMEM2NEJFRiAvKiBWVFRSZWdpb25MaXN0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUY5QjIwMDE4Q0ZC
MkRGMDBDNjRCRUYgLyogVlRUUmVnaW9uTGlzdC5oICovOyB9OwogCQk3QUY5QjIwRDE4Q0ZCNUY0
MDBDNjRCRUYgLyogSlNWVFRSZWdpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDdBRjlCMjA5MThDRkI1RjIwMEM2NEJFRiAvKiBKU1ZUVFJlZ2lvbi5o
ICovOyB9OwpAQCAtMjc2Miw3ICsyNzYyLDcgQEAKIAkJOTMzMDlFMUUwOTlFNjQ5MjAwNTZFNTgx
IC8qIFZpc2libGVVbml0cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTMzMDlEQ0YwOTlFNjQ5MTAwNTZFNTgxIC8qIFZpc2libGVVbml0cy5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzMzA5RTIwMDk5
RTY0OTIwMDU2RTU4MSAvKiBWaXNpYmxlUG9zaXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMzA5REQxMDk5RTY0OTEwMDU2RTU4MSAvKiBWaXNp
YmxlUG9zaXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk5MzMwOUUyNDA5OUU2NDkyMDA1NkU1ODEgLyogV3JhcENvbnRlbnRzSW5EdW1teVNw
YW5Db21tYW5kLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5MzMwOURENTA5OUU2NDkxMDA1NkU1ODEgLyogV3JhcENvbnRlbnRzSW5EdW1teVNwYW5Db21t
YW5kLmggKi87IH07Ci0JCTkzMzA5RUEzMDk5RUI3OEMwMDU2RTU4MSAvKiBTaGFyZWRUaW1lci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMzMDlFQTAw
OTlFQjc4QzAwNTZFNTgxIC8qIFNoYXJlZFRpbWVyLmggKi87IH07CisJCTkzMzA5RUEzMDk5RUI3
OEMwMDU2RTU4MSAvKiBTaGFyZWRUaW1lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTMzMDlFQTAwOTlFQjc4QzAwNTZFNTgxIC8qIFNoYXJlZFRpbWVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTMz
QTE0MzAwQjdEMTg4NjAwQTUzRkZEIC8qIFRleHRFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMzQTE0MkQwQjdEMTg4NjAwQTUzRkZEIC8qIFRl
eHRFdmVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTkzM0ExNEI5MEI3RDFENTIwMEE1M0ZGRCAvKiBKU1RleHRFdmVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMzQTE0QjcwQjdEMUQ1MjAwQTUz
RkZEIC8qIEpTVGV4dEV2ZW50LmggKi87IH07CiAJCTkzNDNDQjgyMTJGMjVFNTEwMDMzQzVFRSAv
KiBUZXh0Q29kZWNVVEY4LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA5MzQzQ0I4MDEyRjI1RTUxMDAzM0M1RUUgLyogVGV4dENvZGVjVVRGOC5oICovOyB9
OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWFpblRocmVhZFNoYXJlZFRpbWVyLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWFpblRocmVhZFNoYXJlZFRp
bWVyLmgJKHJldmlzaW9uIDI3MjE0MSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01haW5U
aHJlYWRTaGFyZWRUaW1lci5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSw2ICs0OSw5IEBAIHB1Ymxp
YzoKICAgICAvLyBuZWVkIHRvIGNhbGwgdGhpcyBmcm9tIG5vbi1tZW1iZXIgZnVuY3Rpb25zIGF0
IHRoZSBtb21lbnQuCiAgICAgdm9pZCBmaXJlZCgpOwogCisgICAgV0VCQ09SRV9FWFBPUlQgc3Rh
dGljIGJvb2wmIHNob3VsZFNldHVwUG93ZXJPYnNlcnZlcigpOworICAgIFdFQkNPUkVfRVhQT1JU
IHN0YXRpYyB2b2lkIHJlc3RhcnRTaGFyZWRUaW1lcigpOworCiBwcml2YXRlOgogICAgIE1haW5U
aHJlYWRTaGFyZWRUaW1lcigpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jZi9N
YWluVGhyZWFkU2hhcmVkVGltZXJDRi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY2YvTWFpblRocmVhZFNoYXJlZFRpbWVyQ0YuY3BwCShyZXZpc2lvbiAyNzIxNDEp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jZi9NYWluVGhyZWFkU2hhcmVkVGltZXJDRi5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTM5LDEwICszOSwxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIHN0YXRpYyBDRlJ1bkxvb3BUaW1lclJlZiBzaGFyZWRUaW1lcjsKIHN0YXRpYyB2b2lkIHRp
bWVyRmlyZWQoQ0ZSdW5Mb29wVGltZXJSZWYsIHZvaWQqKTsKLXN0YXRpYyB2b2lkIHJlc3RhcnRT
aGFyZWRUaW1lcigpOwogCiBzdGF0aWMgY29uc3QgQ0ZUaW1lSW50ZXJ2YWwga0NGVGltZUludGVy
dmFsRGlzdGFudEZ1dHVyZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8Q0ZUaW1lSW50ZXJ2YWw+Ojpt
YXgoKTsKIAorYm9vbCYgTWFpblRocmVhZFNoYXJlZFRpbWVyOjpzaG91bGRTZXR1cFBvd2VyT2Jz
ZXJ2ZXIoKQoreworICAgIHN0YXRpYyBib29sIHNldHVwID0gdHJ1ZTsKKyAgICByZXR1cm4gc2V0
dXA7Cit9CisKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogc3RhdGljIHZvaWQgYXBwbGljYXRp
b25EaWRCZWNvbWVBY3RpdmUoQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsIHZvaWQqLCBDRlN0cmlu
Z1JlZiwgY29uc3Qgdm9pZCosIENGRGljdGlvbmFyeVJlZikKIHsKQEAgLTU0LDEwICs1OSwxMiBA
QCBzdGF0aWMgdm9pZCBhcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2ZShDCiAKIHN0YXRpYyB2b2lk
IHNldHVwUG93ZXJPYnNlcnZlcigpCiB7CisgICAgaWYgKCFzaG91bGRTZXR1cFBvd2VyT2JzZXJ2
ZXIoKSkKKyAgICAgICAgcmV0dXJuOwogI2lmIFBMQVRGT1JNKE1BQykKICAgICBzdGF0aWMgUG93
ZXJPYnNlcnZlciogcG93ZXJPYnNlcnZlcjsKICAgICBpZiAoIXBvd2VyT2JzZXJ2ZXIpCi0gICAg
ICAgIHBvd2VyT2JzZXJ2ZXIgPSBtYWtlVW5pcXVlPFBvd2VyT2JzZXJ2ZXI+KHJlc3RhcnRTaGFy
ZWRUaW1lcikucmVsZWFzZSgpOworICAgICAgICBwb3dlck9ic2VydmVyID0gbWFrZVVuaXF1ZTxQ
b3dlck9ic2VydmVyPihNYWluVGhyZWFkU2hhcmVkVGltZXI6OnJlc3RhcnRTaGFyZWRUaW1lciku
cmVsZWFzZSgpOwogI2VsaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBzdGF0aWMgYm9vbCBy
ZWdpc3RlcmVkRm9yQXBwbGljYXRpb25Ob3RpZmljYXRpb24gPSBmYWxzZTsKICAgICBpZiAoIXJl
Z2lzdGVyZWRGb3JBcHBsaWNhdGlvbk5vdGlmaWNhdGlvbikgewpAQCAtNzQsNyArODEsNyBAQCBz
dGF0aWMgdm9pZCB0aW1lckZpcmVkKENGUnVuTG9vcFRpbWVyUmVmCiAgICAgTWFpblRocmVhZFNo
YXJlZFRpbWVyOjpzaW5nbGV0b24oKS5maXJlZCgpOwogfQogCi1zdGF0aWMgdm9pZCByZXN0YXJ0
U2hhcmVkVGltZXIoKQordm9pZCBNYWluVGhyZWFkU2hhcmVkVGltZXI6OnJlc3RhcnRTaGFyZWRU
aW1lcigpCiB7CiAgICAgaWYgKCFzaGFyZWRUaW1lcikKICAgICAgICAgcmV0dXJuOwpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bvd2VyT2JzZXJ2ZXJNYWMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUG93ZXJPYnNlcnZlck1hYy5oCShyZXZp
c2lvbiAyNzIxNDEpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUG93ZXJPYnNlcnZl
ck1hYy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw4ICszNyw4IEBAIGNsYXNzIFBvd2VyT2JzZXJ2
ZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBvd2VyT2JzZXJ2ZXIpOyBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRDsKIAogcHVibGljOgotICAgIFBvd2VyT2JzZXJ2ZXIoV1RGOjpGdW5jdGlv
bjx2b2lkKCk+JiYgcG93ZXJPbkhhbmRlcik7Ci0gICAgflBvd2VyT2JzZXJ2ZXIoKTsKKyAgICBX
RUJDT1JFX0VYUE9SVCBQb3dlck9ic2VydmVyKFdURjo6RnVuY3Rpb248dm9pZCgpPiYmIHBvd2Vy
T25IYW5kZXIpOworICAgIFdFQkNPUkVfRVhQT1JUIH5Qb3dlck9ic2VydmVyKCk7CiAKIHByaXZh
dGU6CiAgICAgdm9pZCBkaWRSZWNlaXZlU3lzdGVtUG93ZXJOb3RpZmljYXRpb24oaW9fc2Vydmlj
ZV90LCB1aW50MzJfdCBtZXNzYWdlVHlwZSwgdm9pZCogbWVzc2FnZUFyZ3VtZW50KTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyNzIyMDYpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDIxLTAyLTAyICBQZXIgQXJuZSBWb2xsYW4g
IDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBSZWdpc3RlciBmb3IgcG93ZXIgbm90aWZp
Y2F0aW9ucyBpbiB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMjU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQ3JlYXRlIGEgUG93ZXJPYnNlcnZlciBvYmplY3Qgd2hlbiB0aGUg
V2ViIHByb2Nlc3MgcG9vbCBpcyByZWdpc3RlcmluZyBub3RpZmljYXRpb24gb2JzZXJ2ZXJzLiBO
b3RpZnkgYWxsIFdlYkNvbnRlbnQgcHJvY2Vzc2VzCisgICAgICAgIFdoZW4gYSBwb3dlciBvbiBu
b3RpZmljYXRpb24gaXMgcmVjZWl2ZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2Vi
UHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnJl
Z2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
c1Bvb2w6OnVucmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3M6OnN5c3RlbVdpbGxQb3dlck9uKToKKwogMjAyMS0wMi0wMiAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIFdlYlJUQyBHUFUgcHJvY2Vz
cyBmbGFnIGZvciBNZWRpYVJlY29yZGVyCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmgJKHJldmlzaW9uIDI3MjE0MSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmgJKHdvcmtpbmcgY29weSkKQEAgLTY5LDkgKzY5LDEyIEBAIE9C
SkNfQ0xBU1MgV0tXZWJJbnNwZWN0b3JQcmVmZXJlbmNlT2JzZXIKICNlbmRpZgogI2VuZGlmCiAK
LSNpZiBQTEFURk9STShNQUMpICYmIEVOQUJMRShXRUJQUk9DRVNTX1dJTkRPV1NFUlZFUl9CTE9D
S0lORykKKyNpZiBQTEFURk9STShNQUMpCisjaW1wb3J0IDxXZWJDb3JlL1Bvd2VyT2JzZXJ2ZXJN
YWMuaD4KKyNpZiBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCiAjaW5j
bHVkZSAiRGlzcGxheUxpbmsuaCIKICNlbmRpZgorI2VuZGlmCiAKIG5hbWVzcGFjZSBBUEkgewog
Y2xhc3MgQXV0b21hdGlvbkNsaWVudDsKQEAgLTc2OCw2ICs3NzEsMTAgQEAgcHJpdmF0ZToKICAg
ICBIYXNoU2V0PFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluPiBtX2RvbWFpbnNXaXRoVXNlcklu
dGVyYWN0aW9uOwogICAgIEhhc2hNYXA8VG9wRnJhbWVEb21haW4sIFN1YlJlc291cmNlRG9tYWlu
PiBtX2RvbWFpbnNXaXRoQ3Jvc3NQYWdlU3RvcmFnZUFjY2Vzc1F1aXJrOwogI2VuZGlmCisgICAg
CisjaWYgUExBVEZPUk0oTUFDKQorICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpQb3dlck9i
c2VydmVyPiBtX3Bvd2VyT2JzZXJ2ZXI7CisjZW5kaWYKIH07CiAKIHRlbXBsYXRlPHR5cGVuYW1l
IFQ+CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENv
Y29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBy
b2Nlc3NQb29sQ29jb2EubW0JKHJldmlzaW9uIDI3MjE0MSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTYx
NSw2ICs2MTUsMTAgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6c3RhcnRPYnNlcnZpbmdQcmVmZQog
dm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMoKQogewog
I2lmICFQTEFURk9STShJT1NfRkFNSUxZKQorICAgIG1fcG93ZXJPYnNlcnZlciA9IG1ha2VVbmlx
dWU8V2ViQ29yZTo6UG93ZXJPYnNlcnZlcj4oW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIodGhpcyld
IHsKKyAgICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAgICAgICAgd2Vha1RoaXMtPnNlbmRUb0Fs
bFByb2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6U3lzdGVtV2lsbFBvd2VyT24oKSk7Cisg
ICAgfSk7CiAgICAgLy8gTGlzdGVuIGZvciBlbmhhbmNlZCBhY2Nlc3NpYmlsaXR5IGNoYW5nZXMg
YW5kIHByb3BhZ2F0ZSB0aGVtIHRvIHRoZSBXZWJQcm9jZXNzLgogICAgIG1fZW5oYW5jZWRBY2Nl
c3NpYmlsaXR5T2JzZXJ2ZXIgPSBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJd
IGFkZE9ic2VydmVyRm9yTmFtZTpXZWJLaXRBcHBsaWNhdGlvbkRpZENoYW5nZUFjY2Vzc2liaWxp
dHlFbmhhbmNlZFVzZXJJbnRlcmZhY2VOb3RpZmljYXRpb24gb2JqZWN0Om5pbCBxdWV1ZTpbTlNP
cGVyYXRpb25RdWV1ZSBjdXJyZW50UXVldWVdIHVzaW5nQmxvY2s6XihOU05vdGlmaWNhdGlvbiAq
bm90ZSkgewogICAgICAgICBzZXRFbmhhbmNlZEFjY2Vzc2liaWxpdHkoW1tbbm90ZSB1c2VySW5m
b10gb2JqZWN0Rm9yS2V5OkAiQVhFbmhhbmNlZFVzZXJJbnRlcmZhY2UiXSBib29sVmFsdWVdKTsK
QEAgLTcxMCw2ICs3MTQsNyBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpyZWdpc3Rlck5vdGlmaWNh
dGlvCiB2b2lkIFdlYlByb2Nlc3NQb29sOjp1bnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJz
KCkKIHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBtX3Bvd2VyT2JzZXJ2ZXIgPSBu
dWxscHRyOwogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3Zl
T2JzZXJ2ZXI6bV9lbmhhbmNlZEFjY2Vzc2liaWxpdHlPYnNlcnZlci5nZXQoKV07CiAgICAgW1tO
U05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2F1dG9t
YXRpY1RleHRSZXBsYWNlbWVudE5vdGlmaWNhdGlvbk9ic2VydmVyLmdldCgpXTsKICAgICBbW05T
Tm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOm1fYXV0b21h
dGljU3BlbGxpbmdDb3JyZWN0aW9uTm90aWZpY2F0aW9uT2JzZXJ2ZXIuZ2V0KCldOwpJbmRleDog
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCShyZXZpc2lvbiAyNzIxNDEpCisrKyBT
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBAIC01
MTEsNiArNTExLDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaXNwbGF5V2FzUmVmcmVzaGVkKHVp
bnQzMl90IGRpc3BsYXlJRCk7CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKE1BQykKKyAgICB2b2lk
IHN5c3RlbVdpbGxQb3dlck9uKCk7CisjZW5kaWYKKyAgICAKICAgICB2b2lkIHBsYXRmb3JtSW5p
dGlhbGl6ZVByb2Nlc3MoY29uc3QgQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1l
dGVycyYpOwogCiAgICAgLy8gSVBDOjpDb25uZWN0aW9uOjpDbGllbnQKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCShyZXZpc2lvbiAy
NzIxNDEpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5p
bgkod29ya2luZyBjb3B5KQpAQCAtMTkxLDQgKzE5MSw4IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nl
c3MgTGVnYWN5UmVjZWl2ZXIgTm8KICNpZiBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJf
QkxPQ0tJTkcpCiAgICAgRGlzcGxheVdhc1JlZnJlc2hlZCh1aW50MzJfdCBkaXNwbGF5SUQpCiAj
ZW5kaWYKKworI2lmIFBMQVRGT1JNKE1BQykKKyAgICBTeXN0ZW1XaWxsUG93ZXJPbigpCisjZW5k
aWYKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29j
b2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlBy
b2Nlc3NDb2NvYS5tbQkocmV2aXNpb24gMjcyMTQxKQorKysgU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNjQsNiArNjQs
NyBAQAogI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6ZWREZXZpY2VNb2RlbC5oPgogI2ltcG9ydCA8
V2ViQ29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xvZ0luaXRpYWxp
emF0aW9uLmg+CisjaW1wb3J0IDxXZWJDb3JlL01haW5UaHJlYWRTaGFyZWRUaW1lci5oPgogI2lt
cG9ydCA8V2ViQ29yZS9NZW1vcnlSZWxlYXNlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL05TU2Nyb2xs
ZXJJbXBEZXRhaWxzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BlcmZvcm1hbmNlTG9nZ2luZy5oPgpA
QCAtNjMwLDYgKzYzMSw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplUHJv
Y2UKICNlbmRpZiAvLyBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCiAK
ICAgICBTd2l0Y2hpbmdHUFVDbGllbnQ6OnNldFNpbmdsZXRvbihXZWJTd2l0Y2hpbmdHUFVDbGll
bnQ6OnNpbmdsZXRvbigpKTsKKyAgICBNYWluVGhyZWFkU2hhcmVkVGltZXI6OnNob3VsZFNldHVw
UG93ZXJPYnNlcnZlcigpID0gZmFsc2U7CiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQogCiAgICAg
aWYgKHBhcmFtZXRlcnMuZXh0cmFJbml0aWFsaXphdGlvbkRhdGEuZ2V0KCJpbnNwZWN0b3ItcHJv
Y2VzcyJfcykgPT0gIjEiKQpAQCAtMTE5OSw2ICsxMjAxLDEzIEBAIHZvaWQgV2ViUHJvY2Vzczo6
d2FpdEZvclBlbmRpbmdQYXN0ZWJvYXIKICAgICB9CiB9CiAKKyNpZiBQTEFURk9STShNQUMpCit2
b2lkIFdlYlByb2Nlc3M6OnN5c3RlbVdpbGxQb3dlck9uKCkKK3sKKyAgICBNYWluVGhyZWFkU2hh
cmVkVGltZXI6OnJlc3RhcnRTaGFyZWRUaW1lcigpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdAogCiAjdW5kZWYgUkVMRUFTRV9MT0dfU0VTU0lPTl9JRAo=
</data>
<flag name="commit-queue"
          id="437137"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419009</attachid>
            <date>2021-02-02 09:18:35 -0800</date>
            <delta_ts>2021-02-02 09:59:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221258-20210202091834.patch</filename>
            <type>text/plain</type>
            <size>15765</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3MjIwOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDIxLTAyLTAyICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBSZWdpc3RlciBmb3IgcG93
ZXIgbm90aWZpY2F0aW9ucyBpbiB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMjU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUG93ZXIgbm90aWZpY2F0aW9ucyBzaG91bGQgYmUg
cmVnaXN0ZXJlZCBmb3IgaW4gdGhlIFVJIHByb2Nlc3MgaW5zdGVhZCBvZiB0aGUgV2ViQ29udGVu
dCBwcm9jZXNzLiBUaGlzIHBhdGNoIGFkZHJlc3NlcworICAgICAgICB0aGlzIGJ5IGNyZWF0aW5n
IGEgUG93ZXJPYnNlcnZlciBpbnN0YW5jZSBpbiB0aGUgVUkgcHJvY2Vzcywgd2hpY2ggd2lsbCBu
b3RpZnkgZXZlcnkgV2ViQ29udGVudCB3aGVuIHRoZSBwb3dlciBoYXMgYmVlbgorICAgICAgICB0
dXJuZWQgb24uIEVhY2ggV2ViQ29udGVudCBwcm9jZXNzIHdpbGwgaW4gcmVzcG9uc2UgcmVzdGFy
dCB0aGVpciBzaGFyZWQgdGltZXIuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBzaW5jZSB0ZXN0
aW5nIHRoaXMgaW52b2x2ZXMgcHV0dGluZyB0aGUgbWFjaGluZSB0byBzbGVlcCBhbmQgd2FrZSBp
dCB1cCwgd2hpY2ggaXMgbm90IHRyaXZpYWwgaW4gdGhlCisgICAgICAgIHRlc3RpbmcgZnJhbWV3
b3JrLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIHBsYXRmb3JtL2NmL01haW5UaHJlYWRTaGFyZWRUaW1lckNGLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnJlc3RhcnRTaGFyZWRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpNYWluVGhy
ZWFkU2hhcmVkVGltZXI6OnNldEZpcmVJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjphcHBs
aWNhdGlvbkRpZEJlY29tZUFjdGl2ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpzZXR1
cFBvd2VyT2JzZXJ2ZXIpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2NmL1NldHVwUG93
ZXJPYnNlcnZlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkU2V0dXBQb3dl
ck9ic2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OmFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZl
KToKKyAgICAgICAgKFdlYkNvcmU6OnNldHVwUG93ZXJPYnNlcnZlcik6CisgICAgICAgIChXZWJD
b3JlOjpydW5Qb3dlck9uSGFuZGxlcik6CisgICAgICAgICogcGxhdGZvcm0vY2YvU2V0dXBQb3dl
ck9ic2VydmVyLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9Qb3dlck9ic2VydmVy
TWFjLmg6CisKIDIwMjEtMDItMDIgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbTEZDXVtJRkNdIElubGluZUNvbnRlbnRCcmVha2VyOjpwcm9jZXNzT3ZlcmZsb3dp
bmdUZXh0Q29udGVudCBzaG91bGQgcmV0dXJuIHRoZSBvdmVyZmxvd2luZyBydW4gaW5kZXgKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oJKHJldmlzaW9uIDI3MjIwOSkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTI3MSw3ICsxMjcxLDcgQEAKIAkJ
NDZDNjk2Q0MxRTcyMDVGQzAwNTk3OTM3IC8qIENQVU1vbml0b3IuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZDNjk2Q0ExRTcyMDVFNDAwNTk3OTM3
IC8qIENQVU1vbml0b3IuY3BwICovOyB9OwogCQk0NkM4M0VGRTFBOUJCRTI5MDBBNzlBNDEgLyog
R2VvTm90aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ2QzgzRUZDMUE5QkJFMjkwMEE3OUE0MSAvKiBHZW9Ob3RpZmllci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2Q0E5QzQ0MUY5N0JCRTkw
MDRDRkMzQSAvKiBWaXNpYmlsaXR5U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ2Q0E5QzQxMUY5N0JCRTcwMDRDRkMzQSAvKiBWaXNpYmlsaXR5
U3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owot
CQk0NkRCQjY1MDFBQjhDOTZGMDBEOUE4MTMgLyogUG93ZXJPYnNlcnZlck1hYy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZEQkI2NEUxQUI4Qzk2RjAw
RDlBODEzIC8qIFBvd2VyT2JzZXJ2ZXJNYWMuaCAqLzsgfTsKKwkJNDZEQkI2NTAxQUI4Qzk2RjAw
RDlBODEzIC8qIFBvd2VyT2JzZXJ2ZXJNYWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ2REJCNjRFMUFCOEM5NkYwMEQ5QTgxMyAvKiBQb3dlck9ic2Vy
dmVyTWFjLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNDZERkY0OTgxREMyNjAzMTAwQjgwQjQ4IC8qIFNoYWRvd1Jvb3RNb2RlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkRGRjQ5NjFEQzI2MDEzMDBC
ODBCNDggLyogU2hhZG93Um9vdE1vZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk0NkRGRjQ5QzFEQzI2MjBCMDBCODBCNDggLyogSlNTaGFkb3dS
b290TW9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDZERkY0OUExREMyNjFGOTAwQjgwQjQ4IC8qIEpTU2hhZG93Um9vdE1vZGUuaCAqLzsgfTsKIAkJ
NDZFMEMwREUyM0MwMDZFOTAwNUU0N0FFIC8qIERyYWdFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZFMEMwREEyM0MwMDZCMzAwNUU0N0FFIC8q
IERyYWdFdmVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CkBAIC0yMjQ5LDcgKzIyNDksNyBAQAogCQk3QUFCQTI1QTE0QkM2MTMzMDBBQTlBMTEgLyog
RE9NRWRpdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3QUFCQTI1ODE0QkM2MTMzMDBBQTlBMTEgLyogRE9NRWRpdG9yLmggKi87IH07CiAJCTdBREU3
MjI2MTBDQkJCOUIwMDZCM0IzQSAvKiBDb250ZXh0TWVudVByb3ZpZGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QURFNzIyNTEwQ0JCQjlCMDA2QjNC
M0EgLyogQ29udGV4dE1lbnVQcm92aWRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTdBRTMzNUYyMUFDQjA5RTIwMEU0MDFFRiAvKiBXaGVlbEV2
ZW50VGVzdE1vbml0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDdBRTMzNUYwMUFDQjA5RTIwMEU0MDFFRiAvKiBXaGVlbEV2ZW50VGVzdE1vbml0b3Iu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk3QUU2
QzkzQzFCRTBDNjAxMDBFMTlFMDMgLyogTWFpblRocmVhZFNoYXJlZFRpbWVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUU2QzkzQTFCRTBDNjAxMDBF
MTlFMDMgLyogTWFpblRocmVhZFNoYXJlZFRpbWVyLmggKi87IH07CisJCTdBRTZDOTNDMUJFMEM2
MDEwMEUxOUUwMyAvKiBNYWluVGhyZWFkU2hhcmVkVGltZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRTZDOTNBMUJFMEM2MDEwMEUxOUUwMyAvKiBN
YWluVGhyZWFkU2hhcmVkVGltZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk3QUY5QjIwMzE4Q0ZCMkRGMDBDNjRCRUYgLyogVlRUUmVnaW9uLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUY5QjFGRDE4
Q0ZCMkRGMDBDNjRCRUYgLyogVlRUUmVnaW9uLmggKi87IH07CiAJCTdBRjlCMjA2MThDRkIyREYw
MEM2NEJFRiAvKiBWVFRSZWdpb25MaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3QUY5QjIwMDE4Q0ZCMkRGMDBDNjRCRUYgLyogVlRUUmVnaW9uTGlz
dC5oICovOyB9OwogCQk3QUY5QjIwRDE4Q0ZCNUY0MDBDNjRCRUYgLyogSlNWVFRSZWdpb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRjlCMjA5MThD
RkI1RjIwMEM2NEJFRiAvKiBKU1ZUVFJlZ2lvbi5oICovOyB9OwpAQCAtMjc2Miw3ICsyNzYyLDcg
QEAKIAkJOTMzMDlFMUUwOTlFNjQ5MjAwNTZFNTgxIC8qIFZpc2libGVVbml0cy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMzMDlEQ0YwOTlFNjQ5MTAw
NTZFNTgxIC8qIFZpc2libGVVbml0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTkzMzA5RTIwMDk5RTY0OTIwMDU2RTU4MSAvKiBWaXNpYmxlUG9z
aXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkz
MzA5REQxMDk5RTY0OTEwMDU2RTU4MSAvKiBWaXNpYmxlUG9zaXRpb24uaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5MzMwOUUyNDA5OUU2NDkyMDA1
NkU1ODEgLyogV3JhcENvbnRlbnRzSW5EdW1teVNwYW5Db21tYW5kLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzMwOURENTA5OUU2NDkxMDA1NkU1ODEg
LyogV3JhcENvbnRlbnRzSW5EdW1teVNwYW5Db21tYW5kLmggKi87IH07Ci0JCTkzMzA5RUEzMDk5
RUI3OEMwMDU2RTU4MSAvKiBTaGFyZWRUaW1lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTMzMDlFQTAwOTlFQjc4QzAwNTZFNTgxIC8qIFNoYXJlZFRp
bWVyLmggKi87IH07CisJCTkzMzA5RUEzMDk5RUI3OEMwMDU2RTU4MSAvKiBTaGFyZWRUaW1lci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMzMDlFQTAw
OTlFQjc4QzAwNTZFNTgxIC8qIFNoYXJlZFRpbWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTMzQTE0MzAwQjdEMTg4NjAwQTUzRkZEIC8qIFRl
eHRFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTMzQTE0MkQwQjdEMTg4NjAwQTUzRkZEIC8qIFRleHRFdmVudC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzM0ExNEI5MEI3RDFENTIwMEE1M0ZG
RCAvKiBKU1RleHRFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTMzQTE0QjcwQjdEMUQ1MjAwQTUzRkZEIC8qIEpTVGV4dEV2ZW50LmggKi87IH07
CiAJCTkzNDNDQjgyMTJGMjVFNTEwMDMzQzVFRSAvKiBUZXh0Q29kZWNVVEY4LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzQzQ0I4MDEyRjI1RTUxMDAz
M0M1RUUgLyogVGV4dENvZGVjVVRGOC5oICovOyB9OwpAQCAtMzE1NzYsNyArMzE1NzYsNiBAQAog
CQkJCTc3RDUxMDE3MUVENjAyMjIwMERBNEM4NyAvKiBDcmVkZW50aWFsc0NvbnRhaW5lci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTFBMDUyMzMxMDU4Nzc0RjAwQ0M5RTk1IC8qIENyZWRlbnRpYWxT
dG9yYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDQ4MUYwMjE0NkI1QzU1MDBBQTc4MzQgLyog
Q3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuaCBpbiBIZWFkZXJzICovLAotCQkJCUY0OEI3RDUzMjVD
MzQxRTYwMDlFNzVERCAvKiBJbWFnZUV4dHJhY3Rpb25SZXN1bHQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUUxQzQxNjEyMEY2NTYyRkQwMDkyRDJGQiAvKiBDcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQxQUJFNjdCMUQwNTgwREIwMDZEODYyRCAvKiBDcm9zc09y
aWdpblByZWZsaWdodENoZWNrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQzQxNURBMEY2NTVE
NkYwMDkyRDJGQiAvKiBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmggaW4gSGVhZGVy
cyAqLywKQEAgLTMyNTI3LDYgKzMyNTI2LDcgQEAKIAkJCQlDRDE5RkVBRTFGNTc0QjZEMDAwQzQy
RkIgLyogSW1hZ2VEZWNvZGVyQVZGT2JqQy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTU1Qjg3RUQx
Q0FBRjBBQjAwMzQ5NDI1IC8qIEltYWdlRGVjb2RlckNHLmggaW4gSGVhZGVycyAqLywKIAkJCQk5
NzIwNUFCNjEyMzkyOTEwMDBCMTczODAgLyogSW1hZ2VEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJRjQ4QjdENTMyNUMzNDFFNjAwOUU3NUREIC8qIEltYWdlRXh0cmFjdGlvblJlc3VsdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTU3NkE1NjUxRDg4QTcwODAwQ0NDMDRDIC8qIEltYWdlRnJh
bWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUY1NUIzREMyMTI1MUYxMkQwMDNFRjI2OSAvKiBJbWFn
ZUlucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDg5NTgyNTYwRTg1N0E3RTAwRjgyQzgz
IC8qIEltYWdlTG9hZGVyLmggaW4gSGVhZGVycyAqLywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL01haW5UaHJlYWRTaGFyZWRUaW1lci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL01haW5UaHJlYWRTaGFyZWRUaW1lci5oCShyZXZpc2lvbiAyNzIyMDkpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NYWluVGhyZWFkU2hhcmVkVGltZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDksNiArNDksOSBAQCBwdWJsaWM6CiAgICAgLy8gbmVlZCB0byBjYWxsIHRo
aXMgZnJvbSBub24tbWVtYmVyIGZ1bmN0aW9ucyBhdCB0aGUgbW9tZW50LgogICAgIHZvaWQgZmly
ZWQoKTsKIAorICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sJiBzaG91bGRTZXR1cFBvd2Vy
T2JzZXJ2ZXIoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCByZXN0YXJ0U2hhcmVk
VGltZXIoKTsKKwogcHJpdmF0ZToKICAgICBNYWluVGhyZWFkU2hhcmVkVGltZXIoKTsKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvTWFpblRocmVhZFNoYXJlZFRpbWVyQ0YuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL01haW5UaHJlYWRTaGFy
ZWRUaW1lckNGLmNwcAkocmV2aXNpb24gMjcyMjA5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY2YvTWFpblRocmVhZFNoYXJlZFRpbWVyQ0YuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwx
MCArMzksMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgQ0ZSdW5Mb29wVGltZXJS
ZWYgc2hhcmVkVGltZXI7CiBzdGF0aWMgdm9pZCB0aW1lckZpcmVkKENGUnVuTG9vcFRpbWVyUmVm
LCB2b2lkKik7Ci1zdGF0aWMgdm9pZCByZXN0YXJ0U2hhcmVkVGltZXIoKTsKIAogc3RhdGljIGNv
bnN0IENGVGltZUludGVydmFsIGtDRlRpbWVJbnRlcnZhbERpc3RhbnRGdXR1cmUgPSBzdGQ6Om51
bWVyaWNfbGltaXRzPENGVGltZUludGVydmFsPjo6bWF4KCk7CiAKK2Jvb2wmIE1haW5UaHJlYWRT
aGFyZWRUaW1lcjo6c2hvdWxkU2V0dXBQb3dlck9ic2VydmVyKCkKK3sKKyAgICBzdGF0aWMgYm9v
bCBzZXR1cCA9IHRydWU7CisgICAgcmV0dXJuIHNldHVwOworfQorCiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKIHN0YXRpYyB2b2lkIGFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlKENGTm90aWZp
Y2F0aW9uQ2VudGVyUmVmLCB2b2lkKiwgQ0ZTdHJpbmdSZWYsIGNvbnN0IHZvaWQqLCBDRkRpY3Rp
b25hcnlSZWYpCiB7CkBAIC01NCwxMCArNTksMTIgQEAgc3RhdGljIHZvaWQgYXBwbGljYXRpb25E
aWRCZWNvbWVBY3RpdmUoQwogCiBzdGF0aWMgdm9pZCBzZXR1cFBvd2VyT2JzZXJ2ZXIoKQogewor
ICAgIGlmICghTWFpblRocmVhZFNoYXJlZFRpbWVyOjpzaG91bGRTZXR1cFBvd2VyT2JzZXJ2ZXIo
KSkKKyAgICAgICAgcmV0dXJuOwogI2lmIFBMQVRGT1JNKE1BQykKICAgICBzdGF0aWMgUG93ZXJP
YnNlcnZlciogcG93ZXJPYnNlcnZlcjsKICAgICBpZiAoIXBvd2VyT2JzZXJ2ZXIpCi0gICAgICAg
IHBvd2VyT2JzZXJ2ZXIgPSBtYWtlVW5pcXVlPFBvd2VyT2JzZXJ2ZXI+KHJlc3RhcnRTaGFyZWRU
aW1lcikucmVsZWFzZSgpOworICAgICAgICBwb3dlck9ic2VydmVyID0gbWFrZVVuaXF1ZTxQb3dl
ck9ic2VydmVyPihNYWluVGhyZWFkU2hhcmVkVGltZXI6OnJlc3RhcnRTaGFyZWRUaW1lcikucmVs
ZWFzZSgpOwogI2VsaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBzdGF0aWMgYm9vbCByZWdp
c3RlcmVkRm9yQXBwbGljYXRpb25Ob3RpZmljYXRpb24gPSBmYWxzZTsKICAgICBpZiAoIXJlZ2lz
dGVyZWRGb3JBcHBsaWNhdGlvbk5vdGlmaWNhdGlvbikgewpAQCAtNzQsNyArODEsNyBAQCBzdGF0
aWMgdm9pZCB0aW1lckZpcmVkKENGUnVuTG9vcFRpbWVyUmVmCiAgICAgTWFpblRocmVhZFNoYXJl
ZFRpbWVyOjpzaW5nbGV0b24oKS5maXJlZCgpOwogfQogCi1zdGF0aWMgdm9pZCByZXN0YXJ0U2hh
cmVkVGltZXIoKQordm9pZCBNYWluVGhyZWFkU2hhcmVkVGltZXI6OnJlc3RhcnRTaGFyZWRUaW1l
cigpCiB7CiAgICAgaWYgKCFzaGFyZWRUaW1lcikKICAgICAgICAgcmV0dXJuOwpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Bvd2VyT2JzZXJ2ZXJNYWMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUG93ZXJPYnNlcnZlck1hYy5oCShyZXZpc2lv
biAyNzIyMDkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUG93ZXJPYnNlcnZlck1h
Yy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw4ICszNyw4IEBAIGNsYXNzIFBvd2VyT2JzZXJ2ZXIg
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBvd2VyT2JzZXJ2ZXIpOyBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIAogcHVibGljOgotICAgIFBvd2VyT2JzZXJ2ZXIoV1RGOjpGdW5jdGlvbjx2
b2lkKCk+JiYgcG93ZXJPbkhhbmRlcik7Ci0gICAgflBvd2VyT2JzZXJ2ZXIoKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCBQb3dlck9ic2VydmVyKFdURjo6RnVuY3Rpb248dm9pZCgpPiYmIHBvd2VyT25I
YW5kZXIpOworICAgIFdFQkNPUkVfRVhQT1JUIH5Qb3dlck9ic2VydmVyKCk7CiAKIHByaXZhdGU6
CiAgICAgdm9pZCBkaWRSZWNlaXZlU3lzdGVtUG93ZXJOb3RpZmljYXRpb24oaW9fc2VydmljZV90
LCB1aW50MzJfdCBtZXNzYWdlVHlwZSwgdm9pZCogbWVzc2FnZUFyZ3VtZW50KTsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCShyZXZpc2lvbiAyNzIyMTApCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDIxLTAyLTAyICBQZXIgQXJuZSBWb2xsYW4gIDxw
dm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBSZWdpc3RlciBmb3IgcG93ZXIgbm90aWZpY2F0
aW9ucyBpbiB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjIxMjU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQ3JlYXRlIGEgUG93ZXJPYnNlcnZlciBvYmplY3Qgd2hlbiB0aGUgV2Vi
IHByb2Nlc3MgcG9vbCBpcyByZWdpc3RlcmluZyBub3RpZmljYXRpb24gb2JzZXJ2ZXJzLiBOb3Rp
ZnkgYWxsIFdlYkNvbnRlbnQgcHJvY2Vzc2VzCisgICAgICAgIFdoZW4gYSBwb3dlciBvbiBub3Rp
ZmljYXRpb24gaXMgcmVjZWl2ZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJv
Y2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OnJlZ2lz
dGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bv
b2w6OnVucmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3M6OnN5c3RlbVdpbGxQb3dlck9uKToKKwogMjAyMS0wMi0wMiAgUGVyIEFybmUgVm9s
bGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBidWlsZCBmaXgg
YWZ0ZXIgMjcyMTU0LgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9v
bC5oCShyZXZpc2lvbiAyNzIyMDkpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5oCSh3b3JraW5nIGNvcHkpCkBAIC02OSw5ICs2OSwxMiBAQCBPQkpDX0NMQVNTIFdL
V2ViSW5zcGVjdG9yUHJlZmVyZW5jZU9ic2VyCiAjZW5kaWYKICNlbmRpZgogCi0jaWYgUExBVEZP
Uk0oTUFDKSAmJiBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCisjaWYg
UExBVEZPUk0oTUFDKQorI2ltcG9ydCA8V2ViQ29yZS9Qb3dlck9ic2VydmVyTWFjLmg+CisjaWYg
RU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5HKQogI2luY2x1ZGUgIkRpc3Bs
YXlMaW5rLmgiCiAjZW5kaWYKKyNlbmRpZgogCiBuYW1lc3BhY2UgQVBJIHsKIGNsYXNzIEF1dG9t
YXRpb25DbGllbnQ7CkBAIC03NzIsNiArNzc1LDEwIEBAIHByaXZhdGU6CiAgICAgSGFzaFNldDxX
ZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbj4gbV9kb21haW5zV2l0aFVzZXJJbnRlcmFjdGlvbjsK
ICAgICBIYXNoTWFwPFRvcEZyYW1lRG9tYWluLCBTdWJSZXNvdXJjZURvbWFpbj4gbV9kb21haW5z
V2l0aENyb3NzUGFnZVN0b3JhZ2VBY2Nlc3NRdWlyazsKICNlbmRpZgorICAgIAorI2lmIFBMQVRG
T1JNKE1BQykKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6UG93ZXJPYnNlcnZlcj4gbV9w
b3dlck9ic2VydmVyOworI2VuZGlmCiB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgpJbmRleDog
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENv
Y29hLm1tCShyZXZpc2lvbiAyNzIyMTApCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02MjQsNiArNjI0LDEw
IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnN0YXJ0T2JzZXJ2aW5nUHJlZmUKIHZvaWQgV2ViUHJv
Y2Vzc1Bvb2w6OnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKCkKIHsKICNpZiAhUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKKyAgICBtX3Bvd2VyT2JzZXJ2ZXIgPSBtYWtlVW5pcXVlPFdlYkNvcmU6
OlBvd2VyT2JzZXJ2ZXI+KFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMpXSB7CisgICAgICAg
IGlmICh3ZWFrVGhpcykKKyAgICAgICAgICAgIHdlYWtUaGlzLT5zZW5kVG9BbGxQcm9jZXNzZXMo
TWVzc2FnZXM6OldlYlByb2Nlc3M6OlN5c3RlbVdpbGxQb3dlck9uKCkpOworICAgIH0pOwogICAg
IC8vIExpc3RlbiBmb3IgZW5oYW5jZWQgYWNjZXNzaWJpbGl0eSBjaGFuZ2VzIGFuZCBwcm9wYWdh
dGUgdGhlbSB0byB0aGUgV2ViUHJvY2Vzcy4KICAgICBtX2VuaGFuY2VkQWNjZXNzaWJpbGl0eU9i
c2VydmVyID0gW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZl
ckZvck5hbWU6V2ViS2l0QXBwbGljYXRpb25EaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5RW5oYW5jZWRV
c2VySW50ZXJmYWNlTm90aWZpY2F0aW9uIG9iamVjdDpuaWwgcXVldWU6W05TT3BlcmF0aW9uUXVl
dWUgY3VycmVudFF1ZXVlXSB1c2luZ0Jsb2NrOl4oTlNOb3RpZmljYXRpb24gKm5vdGUpIHsKICAg
ICAgICAgc2V0RW5oYW5jZWRBY2Nlc3NpYmlsaXR5KFtbW25vdGUgdXNlckluZm9dIG9iamVjdEZv
cktleTpAIkFYRW5oYW5jZWRVc2VySW50ZXJmYWNlIl0gYm9vbFZhbHVlXSk7CkBAIC03MjEsNiAr
NzI1LDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVnaXN0ZXJOb3RpZmljYXRpbwogdm9pZCBX
ZWJQcm9jZXNzUG9vbDo6dW5yZWdpc3Rlck5vdGlmaWNhdGlvbk9ic2VydmVycygpCiB7CiAjaWYg
IVBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgbV9wb3dlck9ic2VydmVyID0gbnVsbHB0cjsKICAg
ICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOm1f
ZW5oYW5jZWRBY2Nlc3NpYmlsaXR5T2JzZXJ2ZXIuZ2V0KCldOwogICAgIFtbTlNOb3RpZmljYXRp
b25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2JzZXJ2ZXI6bV9hdXRvbWF0aWNUZXh0UmVw
bGFjZW1lbnROb3RpZmljYXRpb25PYnNlcnZlci5nZXQoKV07CiAgICAgW1tOU05vdGlmaWNhdGlv
bkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2F1dG9tYXRpY1NwZWxsaW5n
Q29ycmVjdGlvbk5vdGlmaWNhdGlvbk9ic2VydmVyLmdldCgpXTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAkocmV2aXNpb24gMjcyMjA5KQorKysgU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAkod29ya2luZyBjb3B5KQpAQCAtNTExLDYgKzUxMSwx
MCBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlzcGxheVdhc1JlZnJlc2hlZCh1aW50MzJfdCBkaXNw
bGF5SUQpOwogI2VuZGlmCiAKKyNpZiBQTEFURk9STShNQUMpCisgICAgdm9pZCBzeXN0ZW1XaWxs
UG93ZXJPbigpOworI2VuZGlmCisgICAgCiAgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemVQcm9j
ZXNzKGNvbnN0IEF1eGlsaWFyeVByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmKTsKIAog
ICAgIC8vIElQQzo6Q29ubmVjdGlvbjo6Q2xpZW50CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgkocmV2aXNpb24gMjcyMjA5KQorKysg
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4JKHdvcmtpbmcg
Y29weSkKQEAgLTE5NSw0ICsxOTUsOCBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzIExlZ2FjeVJl
Y2VpdmVyIE5vCiAjaWYgRU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5HKQog
ICAgIERpc3BsYXlXYXNSZWZyZXNoZWQodWludDMyX3QgZGlzcGxheUlEKQogI2VuZGlmCisKKyNp
ZiBQTEFURk9STShNQUMpCisgICAgU3lzdGVtV2lsbFBvd2VyT24oKQorI2VuZGlmCiB9CkluZGV4
OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2Eu
bW0JKHJldmlzaW9uIDI3MjIwOSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9X
ZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTY0LDYgKzY0LDcgQEAKICNpbXBv
cnQgPFdlYkNvcmUvTG9jYWxpemVkRGV2aWNlTW9kZWwuaD4KICNpbXBvcnQgPFdlYkNvcmUvTG9j
YWxpemVkU3RyaW5ncy5oPgogI2ltcG9ydCA8V2ViQ29yZS9Mb2dJbml0aWFsaXphdGlvbi5oPgor
I2ltcG9ydCA8V2ViQ29yZS9NYWluVGhyZWFkU2hhcmVkVGltZXIuaD4KICNpbXBvcnQgPFdlYkNv
cmUvTWVtb3J5UmVsZWFzZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9OU1Njcm9sbGVySW1wRGV0YWls
cy5oPgogI2ltcG9ydCA8V2ViQ29yZS9QZXJmb3JtYW5jZUxvZ2dpbmcuaD4KQEAgLTYzMiw2ICs2
MzMsNyBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVByb2NlCiAjZW5kaWYg
Ly8gRU5BQkxFKFdFQlBST0NFU1NfV0lORE9XU0VSVkVSX0JMT0NLSU5HKQogCiAgICAgU3dpdGNo
aW5nR1BVQ2xpZW50OjpzZXRTaW5nbGV0b24oV2ViU3dpdGNoaW5nR1BVQ2xpZW50OjpzaW5nbGV0
b24oKSk7CisgICAgTWFpblRocmVhZFNoYXJlZFRpbWVyOjpzaG91bGRTZXR1cFBvd2VyT2JzZXJ2
ZXIoKSA9IGZhbHNlOwogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIAogICAgIGlmIChwYXJhbWV0
ZXJzLmV4dHJhSW5pdGlhbGl6YXRpb25EYXRhLmdldCgiaW5zcGVjdG9yLXByb2Nlc3MiX3MpID09
ICIxIikKQEAgLTEyMDQsNiArMTIwNiwxMyBAQCB2b2lkIFdlYlByb2Nlc3M6OndhaXRGb3JQZW5k
aW5nUGFzdGVib2FyCiAgICAgfQogfQogCisjaWYgUExBVEZPUk0oTUFDKQordm9pZCBXZWJQcm9j
ZXNzOjpzeXN0ZW1XaWxsUG93ZXJPbigpCit7CisgICAgTWFpblRocmVhZFNoYXJlZFRpbWVyOjpy
ZXN0YXJ0U2hhcmVkVGltZXIoKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
IAogI3VuZGVmIFJFTEVBU0VfTE9HX1NFU1NJT05fSUQK
</data>
<flag name="commit-queue"
          id="437153"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419014</attachid>
            <date>2021-02-02 09:44:01 -0800</date>
            <delta_ts>2021-02-02 15:15:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221258-20210202094401.patch</filename>
            <type>text/plain</type>
            <size>15830</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3MjIwOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDIxLTAyLTAyICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBSZWdpc3RlciBmb3IgcG93
ZXIgbm90aWZpY2F0aW9ucyBpbiB0aGUgVUkgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxMjU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUG93ZXIgbm90aWZpY2F0aW9ucyBzaG91bGQgYmUg
cmVnaXN0ZXJlZCBmb3IgaW4gdGhlIFVJIHByb2Nlc3MgaW5zdGVhZCBvZiB0aGUgV2ViQ29udGVu
dCBwcm9jZXNzLiBUaGlzIHBhdGNoIGFkZHJlc3NlcworICAgICAgICB0aGlzIGJ5IGNyZWF0aW5n
IGEgUG93ZXJPYnNlcnZlciBpbnN0YW5jZSBpbiB0aGUgVUkgcHJvY2Vzcywgd2hpY2ggd2lsbCBu
b3RpZnkgZXZlcnkgV2ViQ29udGVudCB3aGVuIHRoZSBwb3dlciBoYXMgYmVlbgorICAgICAgICB0
dXJuZWQgb24uIEVhY2ggV2ViQ29udGVudCBwcm9jZXNzIHdpbGwgaW4gcmVzcG9uc2UgcmVzdGFy
dCB0aGVpciBzaGFyZWQgdGltZXIuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBzaW5jZSB0ZXN0
aW5nIHRoaXMgaW52b2x2ZXMgcHV0dGluZyB0aGUgbWFjaGluZSB0byBzbGVlcCBhbmQgd2FrZSBp
dCB1cCwgd2hpY2ggaXMgbm90IHRyaXZpYWwgaW4gdGhlCisgICAgICAgIHRlc3RpbmcgZnJhbWV3
b3JrLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIHBsYXRmb3JtL2NmL01haW5UaHJlYWRTaGFyZWRUaW1lckNGLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnJlc3RhcnRTaGFyZWRUaW1lcik6CisgICAgICAgIChXZWJDb3JlOjpNYWluVGhy
ZWFkU2hhcmVkVGltZXI6OnNldEZpcmVJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjphcHBs
aWNhdGlvbkRpZEJlY29tZUFjdGl2ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpzZXR1
cFBvd2VyT2JzZXJ2ZXIpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2NmL1NldHVwUG93
ZXJPYnNlcnZlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkU2V0dXBQb3dl
ck9ic2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OmFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZl
KToKKyAgICAgICAgKFdlYkNvcmU6OnNldHVwUG93ZXJPYnNlcnZlcik6CisgICAgICAgIChXZWJD
b3JlOjpydW5Qb3dlck9uSGFuZGxlcik6CisgICAgICAgICogcGxhdGZvcm0vY2YvU2V0dXBQb3dl
ck9ic2VydmVyLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9Qb3dlck9ic2VydmVy
TWFjLmg6CisKIDIwMjEtMDItMDIgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbTEZDXVtJRkNdIElubGluZUNvbnRlbnRCcmVha2VyOjpwcm9jZXNzT3ZlcmZsb3dp
bmdUZXh0Q29udGVudCBzaG91bGQgcmV0dXJuIHRoZSBvdmVyZmxvd2luZyBydW4gaW5kZXgKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oJKHJldmlzaW9uIDI3MjIwOSkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTI3MSw3ICsxMjcxLDcgQEAKIAkJ
NDZDNjk2Q0MxRTcyMDVGQzAwNTk3OTM3IC8qIENQVU1vbml0b3IuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZDNjk2Q0ExRTcyMDVFNDAwNTk3OTM3
IC8qIENQVU1vbml0b3IuY3BwICovOyB9OwogCQk0NkM4M0VGRTFBOUJCRTI5MDBBNzlBNDEgLyog
R2VvTm90aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ2QzgzRUZDMUE5QkJFMjkwMEE3OUE0MSAvKiBHZW9Ob3RpZmllci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ2Q0E5QzQ0MUY5N0JCRTkw
MDRDRkMzQSAvKiBWaXNpYmlsaXR5U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ2Q0E5QzQxMUY5N0JCRTcwMDRDRkMzQSAvKiBWaXNpYmlsaXR5
U3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owot
CQk0NkRCQjY1MDFBQjhDOTZGMDBEOUE4MTMgLyogUG93ZXJPYnNlcnZlck1hYy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZEQkI2NEUxQUI4Qzk2RjAw
RDlBODEzIC8qIFBvd2VyT2JzZXJ2ZXJNYWMuaCAqLzsgfTsKKwkJNDZEQkI2NTAxQUI4Qzk2RjAw
RDlBODEzIC8qIFBvd2VyT2JzZXJ2ZXJNYWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ2REJCNjRFMUFCOEM5NkYwMEQ5QTgxMyAvKiBQb3dlck9ic2Vy
dmVyTWFjLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNDZERkY0OTgxREMyNjAzMTAwQjgwQjQ4IC8qIFNoYWRvd1Jvb3RNb2RlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NkRGRjQ5NjFEQzI2MDEzMDBC
ODBCNDggLyogU2hhZG93Um9vdE1vZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk0NkRGRjQ5QzFEQzI2MjBCMDBCODBCNDggLyogSlNTaGFkb3dS
b290TW9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDZERkY0OUExREMyNjFGOTAwQjgwQjQ4IC8qIEpTU2hhZG93Um9vdE1vZGUuaCAqLzsgfTsKIAkJ
NDZFMEMwREUyM0MwMDZFOTAwNUU0N0FFIC8qIERyYWdFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDZFMEMwREEyM0MwMDZCMzAwNUU0N0FFIC8q
IERyYWdFdmVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CkBAIC0yMjQ5LDcgKzIyNDksNyBAQAogCQk3QUFCQTI1QTE0QkM2MTMzMDBBQTlBMTEgLyog
RE9NRWRpdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3QUFCQTI1ODE0QkM2MTMzMDBBQTlBMTEgLyogRE9NRWRpdG9yLmggKi87IH07CiAJCTdBREU3
MjI2MTBDQkJCOUIwMDZCM0IzQSAvKiBDb250ZXh0TWVudVByb3ZpZGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QURFNzIyNTEwQ0JCQjlCMDA2QjNC
M0EgLyogQ29udGV4dE1lbnVQcm92aWRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTdBRTMzNUYyMUFDQjA5RTIwMEU0MDFFRiAvKiBXaGVlbEV2
ZW50VGVzdE1vbml0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDdBRTMzNUYwMUFDQjA5RTIwMEU0MDFFRiAvKiBXaGVlbEV2ZW50VGVzdE1vbml0b3Iu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk3QUU2
QzkzQzFCRTBDNjAxMDBFMTlFMDMgLyogTWFpblRocmVhZFNoYXJlZFRpbWVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUU2QzkzQTFCRTBDNjAxMDBF
MTlFMDMgLyogTWFpblRocmVhZFNoYXJlZFRpbWVyLmggKi87IH07CisJCTdBRTZDOTNDMUJFMEM2
MDEwMEUxOUUwMyAvKiBNYWluVGhyZWFkU2hhcmVkVGltZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRTZDOTNBMUJFMEM2MDEwMEUxOUUwMyAvKiBN
YWluVGhyZWFkU2hhcmVkVGltZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk3QUY5QjIwMzE4Q0ZCMkRGMDBDNjRCRUYgLyogVlRUUmVnaW9uLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUY5QjFGRDE4
Q0ZCMkRGMDBDNjRCRUYgLyogVlRUUmVnaW9uLmggKi87IH07CiAJCTdBRjlCMjA2MThDRkIyREYw
MEM2NEJFRiAvKiBWVFRSZWdpb25MaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3QUY5QjIwMDE4Q0ZCMkRGMDBDNjRCRUYgLyogVlRUUmVnaW9uTGlz
dC5oICovOyB9OwogCQk3QUY5QjIwRDE4Q0ZCNUY0MDBDNjRCRUYgLyogSlNWVFRSZWdpb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBRjlCMjA5MThD
RkI1RjIwMEM2NEJFRiAvKiBKU1ZUVFJlZ2lvbi5oICovOyB9OwpAQCAtMjc2Miw3ICsyNzYyLDcg
QEAKIAkJOTMzMDlFMUUwOTlFNjQ5MjAwNTZFNTgxIC8qIFZpc2libGVVbml0cy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMzMDlEQ0YwOTlFNjQ5MTAw
NTZFNTgxIC8qIFZpc2libGVVbml0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTkzMzA5RTIwMDk5RTY0OTIwMDU2RTU4MSAvKiBWaXNpYmxlUG9z
aXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkz
MzA5REQxMDk5RTY0OTEwMDU2RTU4MSAvKiBWaXNpYmxlUG9zaXRpb24uaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5MzMwOUUyNDA5OUU2NDkyMDA1
NkU1ODEgLyogV3JhcENvbnRlbnRzSW5EdW1teVNwYW5Db21tYW5kLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzMwOURENTA5OUU2NDkxMDA1NkU1ODEg
LyogV3JhcENvbnRlbnRzSW5EdW1teVNwYW5Db21tYW5kLmggKi87IH07Ci0JCTkzMzA5RUEzMDk5
RUI3OEMwMDU2RTU4MSAvKiBTaGFyZWRUaW1lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTMzMDlFQTAwOTlFQjc4QzAwNTZFNTgxIC8qIFNoYXJlZFRp
bWVyLmggKi87IH07CisJCTkzMzA5RUEzMDk5RUI3OEMwMDU2RTU4MSAvKiBTaGFyZWRUaW1lci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMzMDlFQTAw
OTlFQjc4QzAwNTZFNTgxIC8qIFNoYXJlZFRpbWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOTMzQTE0MzAwQjdEMTg4NjAwQTUzRkZEIC8qIFRl
eHRFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTMzQTE0MkQwQjdEMTg4NjAwQTUzRkZEIC8qIFRleHRFdmVudC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTkzM0ExNEI5MEI3RDFENTIwMEE1M0ZG
RCAvKiBKU1RleHRFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTMzQTE0QjcwQjdEMUQ1MjAwQTUzRkZEIC8qIEpTVGV4dEV2ZW50LmggKi87IH07
CiAJCTkzNDNDQjgyMTJGMjVFNTEwMDMzQzVFRSAvKiBUZXh0Q29kZWNVVEY4LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5MzQzQ0I4MDEyRjI1RTUxMDAz
M0M1RUUgLyogVGV4dENvZGVjVVRGOC5oICovOyB9OwpAQCAtMzE1NzYsNyArMzE1NzYsNiBAQAog
CQkJCTc3RDUxMDE3MUVENjAyMjIwMERBNEM4NyAvKiBDcmVkZW50aWFsc0NvbnRhaW5lci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTFBMDUyMzMxMDU4Nzc0RjAwQ0M5RTk1IC8qIENyZWRlbnRpYWxT
dG9yYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDQ4MUYwMjE0NkI1QzU1MDBBQTc4MzQgLyog
Q3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuaCBpbiBIZWFkZXJzICovLAotCQkJCUY0OEI3RDUzMjVD
MzQxRTYwMDlFNzVERCAvKiBJbWFnZUV4dHJhY3Rpb25SZXN1bHQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUUxQzQxNjEyMEY2NTYyRkQwMDkyRDJGQiAvKiBDcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQxQUJFNjdCMUQwNTgwREIwMDZEODYyRCAvKiBDcm9zc09y
aWdpblByZWZsaWdodENoZWNrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQzQxNURBMEY2NTVE
NkYwMDkyRDJGQiAvKiBDcm9zc09yaWdpblByZWZsaWdodFJlc3VsdENhY2hlLmggaW4gSGVhZGVy
cyAqLywKQEAgLTMyNTI3LDYgKzMyNTI2LDcgQEAKIAkJCQlDRDE5RkVBRTFGNTc0QjZEMDAwQzQy
RkIgLyogSW1hZ2VEZWNvZGVyQVZGT2JqQy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTU1Qjg3RUQx
Q0FBRjBBQjAwMzQ5NDI1IC8qIEltYWdlRGVjb2RlckNHLmggaW4gSGVhZGVycyAqLywKIAkJCQk5
NzIwNUFCNjEyMzkyOTEwMDBCMTczODAgLyogSW1hZ2VEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJRjQ4QjdENTMyNUMzNDFFNjAwOUU3NUREIC8qIEltYWdlRXh0cmFjdGlvblJlc3VsdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTU3NkE1NjUxRDg4QTcwODAwQ0NDMDRDIC8qIEltYWdlRnJh
bWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUY1NUIzREMyMTI1MUYxMkQwMDNFRjI2OSAvKiBJbWFn
ZUlucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDg5NTgyNTYwRTg1N0E3RTAwRjgyQzgz
IC8qIEltYWdlTG9hZGVyLmggaW4gSGVhZGVycyAqLywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL01haW5UaHJlYWRTaGFyZWRUaW1lci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL01haW5UaHJlYWRTaGFyZWRUaW1lci5oCShyZXZpc2lvbiAyNzIyMDkpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NYWluVGhyZWFkU2hhcmVkVGltZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDksNiArNDksOSBAQCBwdWJsaWM6CiAgICAgLy8gbmVlZCB0byBjYWxsIHRo
aXMgZnJvbSBub24tbWVtYmVyIGZ1bmN0aW9ucyBhdCB0aGUgbW9tZW50LgogICAgIHZvaWQgZmly
ZWQoKTsKIAorICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sJiBzaG91bGRTZXR1cFBvd2Vy
T2JzZXJ2ZXIoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCByZXN0YXJ0U2hhcmVk
VGltZXIoKTsKKwogcHJpdmF0ZToKICAgICBNYWluVGhyZWFkU2hhcmVkVGltZXIoKTsKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2YvTWFpblRocmVhZFNoYXJlZFRpbWVyQ0YuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NmL01haW5UaHJlYWRTaGFy
ZWRUaW1lckNGLmNwcAkocmV2aXNpb24gMjcyMjA5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY2YvTWFpblRocmVhZFNoYXJlZFRpbWVyQ0YuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwy
NSArMzksMzIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgQ0ZSdW5Mb29wVGltZXJS
ZWYgc2hhcmVkVGltZXI7CiBzdGF0aWMgdm9pZCB0aW1lckZpcmVkKENGUnVuTG9vcFRpbWVyUmVm
LCB2b2lkKik7Ci1zdGF0aWMgdm9pZCByZXN0YXJ0U2hhcmVkVGltZXIoKTsKIAogc3RhdGljIGNv
bnN0IENGVGltZUludGVydmFsIGtDRlRpbWVJbnRlcnZhbERpc3RhbnRGdXR1cmUgPSBzdGQ6Om51
bWVyaWNfbGltaXRzPENGVGltZUludGVydmFsPjo6bWF4KCk7CiAKK2Jvb2wmIE1haW5UaHJlYWRT
aGFyZWRUaW1lcjo6c2hvdWxkU2V0dXBQb3dlck9ic2VydmVyKCkKK3sKKyAgICBzdGF0aWMgYm9v
bCBzZXR1cCA9IHRydWU7CisgICAgcmV0dXJuIHNldHVwOworfQorCiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKIHN0YXRpYyB2b2lkIGFwcGxpY2F0aW9uRGlkQmVjb21lQWN0aXZlKENGTm90aWZp
Y2F0aW9uQ2VudGVyUmVmLCB2b2lkKiwgQ0ZTdHJpbmdSZWYsIGNvbnN0IHZvaWQqLCBDRkRpY3Rp
b25hcnlSZWYpCiB7CiAgICAgV2ViVGhyZWFkUnVuKF57Ci0gICAgICAgIHJlc3RhcnRTaGFyZWRU
aW1lcigpOworICAgICAgICBNYWluVGhyZWFkU2hhcmVkVGltZXI6OnJlc3RhcnRTaGFyZWRUaW1l
cigpOwogICAgIH0pOwogfQogI2VuZGlmCiAKIHN0YXRpYyB2b2lkIHNldHVwUG93ZXJPYnNlcnZl
cigpCiB7CisgICAgaWYgKCFNYWluVGhyZWFkU2hhcmVkVGltZXI6OnNob3VsZFNldHVwUG93ZXJP
YnNlcnZlcigpKQorICAgICAgICByZXR1cm47CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHN0YXRp
YyBQb3dlck9ic2VydmVyKiBwb3dlck9ic2VydmVyOwogICAgIGlmICghcG93ZXJPYnNlcnZlcikK
LSAgICAgICAgcG93ZXJPYnNlcnZlciA9IG1ha2VVbmlxdWU8UG93ZXJPYnNlcnZlcj4ocmVzdGFy
dFNoYXJlZFRpbWVyKS5yZWxlYXNlKCk7CisgICAgICAgIHBvd2VyT2JzZXJ2ZXIgPSBtYWtlVW5p
cXVlPFBvd2VyT2JzZXJ2ZXI+KE1haW5UaHJlYWRTaGFyZWRUaW1lcjo6cmVzdGFydFNoYXJlZFRp
bWVyKS5yZWxlYXNlKCk7CiAjZWxpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIHN0YXRpYyBi
b29sIHJlZ2lzdGVyZWRGb3JBcHBsaWNhdGlvbk5vdGlmaWNhdGlvbiA9IGZhbHNlOwogICAgIGlm
ICghcmVnaXN0ZXJlZEZvckFwcGxpY2F0aW9uTm90aWZpY2F0aW9uKSB7CkBAIC03NCw3ICs4MSw3
IEBAIHN0YXRpYyB2b2lkIHRpbWVyRmlyZWQoQ0ZSdW5Mb29wVGltZXJSZWYKICAgICBNYWluVGhy
ZWFkU2hhcmVkVGltZXI6OnNpbmdsZXRvbigpLmZpcmVkKCk7CiB9CiAKLXN0YXRpYyB2b2lkIHJl
c3RhcnRTaGFyZWRUaW1lcigpCit2b2lkIE1haW5UaHJlYWRTaGFyZWRUaW1lcjo6cmVzdGFydFNo
YXJlZFRpbWVyKCkKIHsKICAgICBpZiAoIXNoYXJlZFRpbWVyKQogICAgICAgICByZXR1cm47Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUG93ZXJPYnNlcnZlck1hYy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Qb3dlck9ic2VydmVyTWFjLmgJ
KHJldmlzaW9uIDI3MjIwOSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9Qb3dlck9i
c2VydmVyTWFjLmgJKHdvcmtpbmcgY29weSkKQEAgLTM3LDggKzM3LDggQEAgY2xhc3MgUG93ZXJP
YnNlcnZlciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUG93ZXJPYnNlcnZlcik7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOwogCiBwdWJsaWM6Ci0gICAgUG93ZXJPYnNlcnZlcihXVEY6OkZ1
bmN0aW9uPHZvaWQoKT4mJiBwb3dlck9uSGFuZGVyKTsKLSAgICB+UG93ZXJPYnNlcnZlcigpOwor
ICAgIFdFQkNPUkVfRVhQT1JUIFBvd2VyT2JzZXJ2ZXIoV1RGOjpGdW5jdGlvbjx2b2lkKCk+JiYg
cG93ZXJPbkhhbmRlcik7CisgICAgV0VCQ09SRV9FWFBPUlQgflBvd2VyT2JzZXJ2ZXIoKTsKIAog
cHJpdmF0ZToKICAgICB2b2lkIGRpZFJlY2VpdmVTeXN0ZW1Qb3dlck5vdGlmaWNhdGlvbihpb19z
ZXJ2aWNlX3QsIHVpbnQzMl90IG1lc3NhZ2VUeXBlLCB2b2lkKiBtZXNzYWdlQXJndW1lbnQpOwpJ
bmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3MjIxMCkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjEtMDItMDIgIFBlciBBcm5lIFZv
bGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFJlZ2lzdGVyIGZvciBwb3dlciBu
b3RpZmljYXRpb25zIGluIHRoZSBVSSBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjEyNTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBDcmVhdGUgYSBQb3dlck9ic2VydmVyIG9iamVjdCB3aGVu
IHRoZSBXZWIgcHJvY2VzcyBwb29sIGlzIHJlZ2lzdGVyaW5nIG5vdGlmaWNhdGlvbiBvYnNlcnZl
cnMuIE5vdGlmeSBhbGwgV2ViQ29udGVudCBwcm9jZXNzZXMKKyAgICAgICAgV2hlbiBhIHBvd2Vy
IG9uIG5vdGlmaWNhdGlvbiBpcyByZWNlaXZlZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2Nv
YS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9v
bDo6cmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzUG9vbDo6dW5yZWdpc3Rlck5vdGlmaWNhdGlvbk9ic2VydmVycyk6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVQcm9jZXNzKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUHJvY2Vzczo6c3lzdGVtV2lsbFBvd2VyT24pOgorCiAyMDIxLTAyLTAyICBQZXIg
QXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGJ1
aWxkIGZpeCBhZnRlciAyNzIxNTQuCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmgJKHJldmlzaW9uIDI3MjIwOSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQb29sLmgJKHdvcmtpbmcgY29weSkKQEAgLTY5LDkgKzY5LDEyIEBAIE9CSkNf
Q0xBU1MgV0tXZWJJbnNwZWN0b3JQcmVmZXJlbmNlT2JzZXIKICNlbmRpZgogI2VuZGlmCiAKLSNp
ZiBQTEFURk9STShNQUMpICYmIEVOQUJMRShXRUJQUk9DRVNTX1dJTkRPV1NFUlZFUl9CTE9DS0lO
RykKKyNpZiBQTEFURk9STShNQUMpCisjaW1wb3J0IDxXZWJDb3JlL1Bvd2VyT2JzZXJ2ZXJNYWMu
aD4KKyNpZiBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCiAjaW5jbHVk
ZSAiRGlzcGxheUxpbmsuaCIKICNlbmRpZgorI2VuZGlmCiAKIG5hbWVzcGFjZSBBUEkgewogY2xh
c3MgQXV0b21hdGlvbkNsaWVudDsKQEAgLTc3Miw2ICs3NzUsMTAgQEAgcHJpdmF0ZToKICAgICBI
YXNoU2V0PFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluPiBtX2RvbWFpbnNXaXRoVXNlckludGVy
YWN0aW9uOwogICAgIEhhc2hNYXA8VG9wRnJhbWVEb21haW4sIFN1YlJlc291cmNlRG9tYWluPiBt
X2RvbWFpbnNXaXRoQ3Jvc3NQYWdlU3RvcmFnZUFjY2Vzc1F1aXJrOwogI2VuZGlmCisgICAgCisj
aWYgUExBVEZPUk0oTUFDKQorICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpQb3dlck9ic2Vy
dmVyPiBtX3Bvd2VyT2JzZXJ2ZXI7CisjZW5kaWYKIH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29h
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nl
c3NQb29sQ29jb2EubW0JKHJldmlzaW9uIDI3MjIxMCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTYyNCw2
ICs2MjQsMTAgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6c3RhcnRPYnNlcnZpbmdQcmVmZQogdm9p
ZCBXZWJQcm9jZXNzUG9vbDo6cmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMoKQogewogI2lm
ICFQTEFURk9STShJT1NfRkFNSUxZKQorICAgIG1fcG93ZXJPYnNlcnZlciA9IG1ha2VVbmlxdWU8
V2ViQ29yZTo6UG93ZXJPYnNlcnZlcj4oW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIodGhpcyldIHsK
KyAgICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAgICAgICAgd2Vha1RoaXMtPnNlbmRUb0FsbFBy
b2Nlc3NlcyhNZXNzYWdlczo6V2ViUHJvY2Vzczo6U3lzdGVtV2lsbFBvd2VyT24oKSk7CisgICAg
fSk7CiAgICAgLy8gTGlzdGVuIGZvciBlbmhhbmNlZCBhY2Nlc3NpYmlsaXR5IGNoYW5nZXMgYW5k
IHByb3BhZ2F0ZSB0aGVtIHRvIHRoZSBXZWJQcm9jZXNzLgogICAgIG1fZW5oYW5jZWRBY2Nlc3Np
YmlsaXR5T2JzZXJ2ZXIgPSBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFk
ZE9ic2VydmVyRm9yTmFtZTpXZWJLaXRBcHBsaWNhdGlvbkRpZENoYW5nZUFjY2Vzc2liaWxpdHlF
bmhhbmNlZFVzZXJJbnRlcmZhY2VOb3RpZmljYXRpb24gb2JqZWN0Om5pbCBxdWV1ZTpbTlNPcGVy
YXRpb25RdWV1ZSBjdXJyZW50UXVldWVdIHVzaW5nQmxvY2s6XihOU05vdGlmaWNhdGlvbiAqbm90
ZSkgewogICAgICAgICBzZXRFbmhhbmNlZEFjY2Vzc2liaWxpdHkoW1tbbm90ZSB1c2VySW5mb10g
b2JqZWN0Rm9yS2V5OkAiQVhFbmhhbmNlZFVzZXJJbnRlcmZhY2UiXSBib29sVmFsdWVdKTsKQEAg
LTcyMSw2ICs3MjUsNyBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpyZWdpc3Rlck5vdGlmaWNhdGlv
CiB2b2lkIFdlYlByb2Nlc3NQb29sOjp1bnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKCkK
IHsKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyAgICBtX3Bvd2VyT2JzZXJ2ZXIgPSBudWxs
cHRyOwogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2Jz
ZXJ2ZXI6bV9lbmhhbmNlZEFjY2Vzc2liaWxpdHlPYnNlcnZlci5nZXQoKV07CiAgICAgW1tOU05v
dGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2F1dG9tYXRp
Y1RleHRSZXBsYWNlbWVudE5vdGlmaWNhdGlvbk9ic2VydmVyLmdldCgpXTsKICAgICBbW05TTm90
aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOm1fYXV0b21hdGlj
U3BlbGxpbmdDb3JyZWN0aW9uTm90aWZpY2F0aW9uT2JzZXJ2ZXIuZ2V0KCldOwpJbmRleDogU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCShyZXZpc2lvbiAyNzIyMDkpCisrKyBTb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCSh3b3JraW5nIGNvcHkpCkBAIC01MTEs
NiArNTExLDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaXNwbGF5V2FzUmVmcmVzaGVkKHVpbnQz
Ml90IGRpc3BsYXlJRCk7CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKE1BQykKKyAgICB2b2lkIHN5
c3RlbVdpbGxQb3dlck9uKCk7CisjZW5kaWYKKyAgICAKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlh
bGl6ZVByb2Nlc3MoY29uc3QgQXV4aWxpYXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVy
cyYpOwogCiAgICAgLy8gSVBDOjpDb25uZWN0aW9uOjpDbGllbnQKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCShyZXZpc2lvbiAyNzIy
MDkpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgko
d29ya2luZyBjb3B5KQpAQCAtMTk1LDQgKzE5NSw4IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3Mg
TGVnYWN5UmVjZWl2ZXIgTm8KICNpZiBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxP
Q0tJTkcpCiAgICAgRGlzcGxheVdhc1JlZnJlc2hlZCh1aW50MzJfdCBkaXNwbGF5SUQpCiAjZW5k
aWYKKworI2lmIFBMQVRGT1JNKE1BQykKKyAgICBTeXN0ZW1XaWxsUG93ZXJPbigpCisjZW5kaWYK
IH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2Eu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nl
c3NDb2NvYS5tbQkocmV2aXNpb24gMjcyMjA5KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtNjQsNiArNjQsNyBA
QAogI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6ZWREZXZpY2VNb2RlbC5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xvZ0luaXRpYWxpemF0
aW9uLmg+CisjaW1wb3J0IDxXZWJDb3JlL01haW5UaHJlYWRTaGFyZWRUaW1lci5oPgogI2ltcG9y
dCA8V2ViQ29yZS9NZW1vcnlSZWxlYXNlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL05TU2Nyb2xsZXJJ
bXBEZXRhaWxzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BlcmZvcm1hbmNlTG9nZ2luZy5oPgpAQCAt
NjMyLDYgKzYzMyw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplUHJvY2UK
ICNlbmRpZiAvLyBFTkFCTEUoV0VCUFJPQ0VTU19XSU5ET1dTRVJWRVJfQkxPQ0tJTkcpCiAKICAg
ICBTd2l0Y2hpbmdHUFVDbGllbnQ6OnNldFNpbmdsZXRvbihXZWJTd2l0Y2hpbmdHUFVDbGllbnQ6
OnNpbmdsZXRvbigpKTsKKyAgICBNYWluVGhyZWFkU2hhcmVkVGltZXI6OnNob3VsZFNldHVwUG93
ZXJPYnNlcnZlcigpID0gZmFsc2U7CiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQogCiAgICAgaWYg
KHBhcmFtZXRlcnMuZXh0cmFJbml0aWFsaXphdGlvbkRhdGEuZ2V0KCJpbnNwZWN0b3ItcHJvY2Vz
cyJfcykgPT0gIjEiKQpAQCAtMTIwNCw2ICsxMjA2LDEzIEBAIHZvaWQgV2ViUHJvY2Vzczo6d2Fp
dEZvclBlbmRpbmdQYXN0ZWJvYXIKICAgICB9CiB9CiAKKyNpZiBQTEFURk9STShNQUMpCit2b2lk
IFdlYlByb2Nlc3M6OnN5c3RlbVdpbGxQb3dlck9uKCkKK3sKKyAgICBNYWluVGhyZWFkU2hhcmVk
VGltZXI6OnJlc3RhcnRTaGFyZWRUaW1lcigpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdAogCiAjdW5kZWYgUkVMRUFTRV9MT0dfU0VTU0lPTl9JRAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>