<?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>224750</bug_id>
          
          <creation_ts>2021-04-19 05:09:14 -0700</creation_ts>
          <short_desc>Add memory allocation checks in more realtime audio capture/rendering places</short_desc>
          <delta_ts>2021-05-04 17:06:28 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=225196</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=225204</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=225374</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1751738</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-04-19 05:09:14 -0700</bug_when>
    <thetext>Add memory allocation checks in more realtime audio capture/rendering places</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751750</commentid>
    <comment_count>1</comment_count>
      <attachid>426412</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-04-19 06:15:17 -0700</bug_when>
    <thetext>Created attachment 426412
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751803</commentid>
    <comment_count>2</comment_count>
      <attachid>426427</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-04-19 08:57:54 -0700</bug_when>
    <thetext>Created attachment 426427
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751805</commentid>
    <comment_count>3</comment_count>
      <attachid>426429</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-04-19 09:05:05 -0700</bug_when>
    <thetext>Created attachment 426429
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752662</commentid>
    <comment_count>4</comment_count>
      <attachid>426657</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-04-21 00:50:49 -0700</bug_when>
    <thetext>Created attachment 426657
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752721</commentid>
    <comment_count>5</comment_count>
      <attachid>426679</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-04-21 07:12:43 -0700</bug_when>
    <thetext>Created attachment 426679
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752796</commentid>
    <comment_count>6</comment_count>
      <attachid>426679</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-04-21 10:00:47 -0700</bug_when>
    <thetext>Comment on attachment 426679
Patch

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

&gt; Source/WebCore/platform/mediastream/mac/RealtimeIncomingAudioSourceCocoa.h:60
&gt; +    static constexpr size_t ChunksReceivedDelta = 200; // 200 chunks of 10ms = 2s.

I had to look at the source to understand what this constant is for, maybe &quot;LogAfterChunksRecieved&quot; or &quot;ChunksRecievedLogCount&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754155</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-26 05:10:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/77148592&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754195</commentid>
    <comment_count>8</comment_count>
      <attachid>427050</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-04-26 08:33:47 -0700</bug_when>
    <thetext>Created attachment 427050
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1754537</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-27 03:04:28 -0700</bug_when>
    <thetext>Committed r276633 (237061@main): &lt;https://commits.webkit.org/237061@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 427050.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426412</attachid>
            <date>2021-04-19 06:15:17 -0700</date>
            <delta_ts>2021-04-19 08:57:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224750-20210419151515.patch</filename>
            <type>text/plain</type>
            <size>20864</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MjI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdlMTcxMjk0M2RiM2E4
OTI4NjE1OGViNmVhZDI1OTg5NDBhODI1Zi4uZmI4ZGM5YThiOTBlYTIwZTZiMDRhNzVkOWJlYjdk
MmFjZWRjOTlmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIxLTA0LTE5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbWVtb3J5IGFsbG9j
YXRpb24gY2hlY2tzIGluIG1vcmUgcmVhbHRpbWUgYXVkaW8gY2FwdHVyZS9yZW5kZXJpbmcgcGxh
Y2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3
NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
RmFzdE1hbGxvYyBtYWNyb3MgdG8gY2F0Y2ggbWVtb3J5IGFsbG9jYXRpb24gaW4gYXVkaW8gc2Vu
c2l0aXZlIHRocmVhZHMuCisgICAgICAgIFVwZGF0ZSBMaWJXZWJSVENBdWRpb01vZHVsZSBhbmQg
UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EgdG8gbm90IHJlbHkgb24gRnVuY3Rpb24g
Y3JlYXRpb24gYnV0IHJlbHkgb24gVGltZXIgZm9yIGxhcmdlIGF1ZGlvIGdhcCBsb2dnaW5nLgor
ICAgICAgICBVcGRhdGUgQmFzZUF1ZGlvU2hhcmVkVW5pdCB0byBub3QgYWxsb2NhdGUgYSB2ZWN0
b3IgZWFjaCB0aW1lIGFuIGF1ZGlvIHNhbXBsZSBpcyBjYXB0dXJlZC4KKworICAgICAgICBDb3Zl
cmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0v
UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0F1ZGlvTW9kdWxlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxpYldlYlJUQ0F1ZGlvTW9kdWxlOjpMaWJXZWJSVENBdWRpb01vZHVsZSk6CisgICAgICAg
IChXZWJDb3JlOjpMaWJXZWJSVENBdWRpb01vZHVsZTo6U3RhcnRQbGF5b3V0KToKKyAgICAgICAg
KFdlYkNvcmU6OkxpYldlYlJUQ0F1ZGlvTW9kdWxlOjpTdG9wUGxheW91dCk6CisgICAgICAgIChX
ZWJDb3JlOjpMaWJXZWJSVENBdWRpb01vZHVsZTo6bG9nVGltZXJGaXJlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpMaWJXZWJSVENBdWRpb01vZHVsZTo6Y29tcHV0ZURlbGF5VW50aWxOZXh0UG9sbGlu
Zyk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENBdWRpb01vZHVsZTo6cG9sbEF1ZGlvRGF0
YSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0F1
ZGlvTW9kdWxlLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVk
aWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9N
ZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYTo6cHVzaFNhbXBsZXMpOgorICAgICAgICAqIHBs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9CYXNlQXVkaW9TaGFyZWRVbml0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkJhc2VBdWRpb1NoYXJlZFVuaXQ6OmFkZENsaWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpCYXNlQXVkaW9TaGFyZWRVbml0OjpyZW1vdmVDbGllbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6QmFzZUF1ZGlvU2hhcmVkVW5pdDo6YXVkaW9TYW1wbGVzQXZhaWxhYmxlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQmFzZUF1ZGlvU2hhcmVkVW5pdC5oOgorICAgICAg
ICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VD
b2NvYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VD
b2NvYTo6UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2E6OnN0YXJ0UHJvZHVjaW5nRGF0YSk6
CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2NvYTo6c3Rv
cFByb2R1Y2luZ0RhdGEpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ0F1ZGlv
U291cmNlQ29jb2E6OmxvZ1RpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJ
bmNvbWluZ0F1ZGlvU291cmNlQ29jb2E6Ok9uRGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmg6CisKIDIwMjEt
MDQtMTkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUg
ZnJvbSBSZWN1cnNpdmVMb2NrIHRvIExvY2sgaW4gUmVhbHRpbWVNZWRpYVNvdXJjZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCAxYjBiZWNiOTIwOWNhMjRmM2U4ZGY0YTljMWRkZWRhYzZkZDUzMGIzLi5jYTgyY2FjYjM2
MjNkMTQ3ZmUxN2IyYTAxNWYwMTNhYTE1YzUzYzc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDIxLTA0LTE5ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAg
ICBBZGQgbWVtb3J5IGFsbG9jYXRpb24gY2hlY2tzIGluIG1vcmUgcmVhbHRpbWUgYXVkaW8gY2Fw
dHVyZS9yZW5kZXJpbmcgcGxhY2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjQ3NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclBy
b3h5LmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS93ZWJydGMvQXVkaW9NZWRpYVN0cmVh
bVRyYWNrUmVuZGVyZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpBdWRpb01lZGlhU3RyZWFtVHJh
Y2tSZW5kZXJlcjo6cHVzaFNhbXBsZXMpOgorICAgICAgICAoV2ViS2l0OjpBdWRpb01lZGlhU3Ry
ZWFtVHJhY2tSZW5kZXJlcjo6c3RvcmFnZUNoYW5nZWQpOgorCiAyMDIxLTA0LTE5ICBZb3Vlbm4g
RmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBHdWFyYW50ZWUgb3JkZXIgb2Yg
TGliV2ViUlRDQ29kZWMgY29kZWMgY3JlYXRpb24vZGVsZXRpb24gaW4gYmFja2dyb3VuZCB0aHJl
YWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0
aW1lSW5jb21pbmdBdWRpb1NvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmgKaW5kZXggOWQ4NGJjYmM4YzNmNGVj
MmEyOTVhM2IxYjdmMWU3MzdjZDU3YmFhYy4uYTE4ZmMyMTYwOGMxY2Q1OTZhNTQ0NTUwMzI4Yjgw
NTIxM2I4YTRmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmgKQEAgLTYxLDE3
ICs2MSwxNyBAQCBwcm90ZWN0ZWQ6CiAgICAgY29uc3QgY2hhciogbG9nQ2xhc3NOYW1lKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gIlJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZSI7IH0KICNlbmRp
ZgogCisgICAgLy8gUmVhbHRpbWVNZWRpYVNvdXJjZSBBUEkKKyAgICB2b2lkIHN0YXJ0UHJvZHVj
aW5nRGF0YSgpIG92ZXJyaWRlOworICAgIHZvaWQgc3RvcFByb2R1Y2luZ0RhdGEoKSAgb3ZlcnJp
ZGU7CisKIHByaXZhdGU6CiAgICAgLy8gd2VicnRjOjpBdWRpb1RyYWNrU2lua0ludGVyZmFjZSBB
UEkKLSAgICB2aXJ0dWFsIHZvaWQgT25EYXRhKGNvbnN0IHZvaWQqIC8qIGF1ZGlvRGF0YSAqLywg
aW50IC8qIGJpdHNQZXJTYW1wbGUgKi8sIGludCAvKiBzYW1wbGVSYXRlICovLCBzaXplX3QgLyog
bnVtYmVyT2ZDaGFubmVscyAqLywgc2l6ZV90IC8qIG51bWJlck9mRnJhbWVzICovKSB7IH07Cisg
ICAgdm9pZCBPbkRhdGEoY29uc3Qgdm9pZCogLyogYXVkaW9EYXRhICovLCBpbnQgLyogYml0c1Bl
clNhbXBsZSAqLywgaW50IC8qIHNhbXBsZVJhdGUgKi8sIHNpemVfdCAvKiBudW1iZXJPZkNoYW5u
ZWxzICovLCBzaXplX3QgLyogbnVtYmVyT2ZGcmFtZXMgKi8pIG92ZXJyaWRlIHsgfTsKIAogICAg
IC8vIHdlYnJ0Yzo6T2JzZXJ2ZXJJbnRlcmZhY2UgQVBJCiAgICAgdm9pZCBPbkNoYW5nZWQoKSBm
aW5hbDsKIAotICAgIC8vIFJlYWx0aW1lTWVkaWFTb3VyY2UgQVBJCi0gICAgdm9pZCBzdGFydFBy
b2R1Y2luZ0RhdGEoKSBmaW5hbDsKLSAgICB2b2lkIHN0b3BQcm9kdWNpbmdEYXRhKCkgIGZpbmFs
OwotCiAgICAgY29uc3QgUmVhbHRpbWVNZWRpYVNvdXJjZUNhcGFiaWxpdGllcyYgY2FwYWJpbGl0
aWVzKCkgZmluYWw7CiAgICAgY29uc3QgUmVhbHRpbWVNZWRpYVNvdXJjZVNldHRpbmdzJiBzZXR0
aW5ncygpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDQXVkaW9Nb2R1bGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0F1ZGlvTW9kdWxlLmNw
cAppbmRleCAzZTUyYmJmNGEwODcwN2QwYThlZTE1ODNjMjQ3MTliZDcxZjQ3MjRiLi43MmNhNjQ0
ZGQ5Y2JkOTM3OTZiYzFjYzUxMDJiNGViM2FmMTYxYTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDQXVkaW9Nb2R1bGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENBdWRpb01vZHVsZS5jcHAKQEAgLTMwLDExICszMCwxMyBAQAogCiAjaW5jbHVkZSAi
TGliV2ViUlRDQXVkaW9Gb3JtYXQuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSA8
d3RmL0Zhc3RNYWxsb2MuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBMaWJXZWJSVENBdWRp
b01vZHVsZTo6TGliV2ViUlRDQXVkaW9Nb2R1bGUoKQogICAgIDogbV9xdWV1ZShXb3JrUXVldWU6
OmNyZWF0ZSgiV2ViS2l0V2ViUlRDQXVkaW9Nb2R1bGUiLCBXb3JrUXVldWU6OlR5cGU6OlNlcmlh
bCwgV29ya1F1ZXVlOjpRT1M6OlVzZXJJbnRlcmFjdGl2ZSkpCisgICAgLCBtX2xvZ1RpbWVyKCp0
aGlzLCAmTGliV2ViUlRDQXVkaW9Nb2R1bGU6OmxvZ1RpbWVyRmlyZWQpCiB7CiB9CiAKQEAgLTU0
LDYgKzU2LDEwIEBAIGludDMyX3QgTGliV2ViUlRDQXVkaW9Nb2R1bGU6OlN0YXJ0UGxheW91dCgp
CiAgICAgICAgIHJldHVybiAwOwogCiAgICAgbV9pc1BsYXlpbmcgPSB0cnVlOworICAgIGNhbGxP
bk1haW5UaHJlYWQoW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBydGM6OnNjb3BlZF9yZWZwdHI8d2Vi
cnRjOjpBdWRpb0RldmljZU1vZHVsZT4odGhpcyldIHsKKyAgICAgICAgbV9sb2dUaW1lci5zdGFy
dFJlcGVhdGluZyhsb2dUaW1lckludGVydmFsKTsKKyAgICB9KTsKKwogICAgIG1fcXVldWUtPmRp
c3BhdGNoKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6
QXVkaW9EZXZpY2VNb2R1bGU+KHRoaXMpXSB7CiAgICAgICAgIG1fcG9sbGluZ1RpbWUgPSBNb25v
dG9uaWNUaW1lOjpub3coKTsKICAgICAgICAgcG9sbEF1ZGlvRGF0YSgpOwpAQCAtNjYsMzQgKzcy
LDUxIEBAIGludDMyX3QgTGliV2ViUlRDQXVkaW9Nb2R1bGU6OlN0b3BQbGF5b3V0KCkKICAgICBS
RUxFQVNFX0xPRyhXZWJSVEMsICJMaWJXZWJSVENBdWRpb01vZHVsZTo6U3RvcFBsYXlvdXQgJWQi
LCBtX2lzUGxheWluZyk7CiAKICAgICBtX2lzUGxheWluZyA9IGZhbHNlOworICAgIGNhbGxPbk1h
aW5UaHJlYWQoW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRj
OjpBdWRpb0RldmljZU1vZHVsZT4odGhpcyldIHsKKyAgICAgICAgbV9sb2dUaW1lci5zdG9wKCk7
CisgICAgfSk7CiAgICAgcmV0dXJuIDA7CiB9CiAKK3ZvaWQgTGliV2ViUlRDQXVkaW9Nb2R1bGU6
OmxvZ1RpbWVyRmlyZWQoKQoreworICAgIFJFTEVBU0VfTE9HX0lGKG1fdGltZVNwZW50LCBXZWJS
VEMsICJMaWJXZWJSVENBdWRpb01vZHVsZTo6cG9sbEF1ZGlvRGF0YSwgcG9sbGluZyB0b29rIHRv
byBtdWNoIHRpbWU6ICVkIG1zIiwgbV90aW1lU3BlbnQpOworICAgIG1fdGltZVNwZW50ID0gMDsK
K30KKwogLy8gbGlid2VicnRjIHVzZXMgMTBtcyBmcmFtZXMuCiBjb25zdCB1bnNpZ25lZCBmcmFt
ZUxlbmd0aE1zID0gMTAwMCAqIExpYldlYlJUQ0F1ZGlvRm9ybWF0OjpjaHVua1NhbXBsZUNvdW50
IC8gTGliV2ViUlRDQXVkaW9Gb3JtYXQ6OnNhbXBsZVJhdGU7CiBjb25zdCB1bnNpZ25lZCBwb2xs
U2FtcGxlcyA9IDU7CiBjb25zdCB1bnNpZ25lZCBwb2xsSW50ZXJ2YWwgPSA1ICogZnJhbWVMZW5n
dGhNczsKIGNvbnN0IHVuc2lnbmVkIGNoYW5uZWxzID0gMjsKIAotdm9pZCBMaWJXZWJSVENBdWRp
b01vZHVsZTo6cG9sbEF1ZGlvRGF0YSgpCitTZWNvbmRzIExpYldlYlJUQ0F1ZGlvTW9kdWxlOjpj
b21wdXRlRGVsYXlVbnRpbE5leHRQb2xsaW5nKCkKIHsKLSAgICBpZiAoIW1faXNQbGF5aW5nKQot
ICAgICAgICByZXR1cm47Ci0KLSAgICBwb2xsRnJvbVNvdXJjZSgpOwotCiAgICAgYXV0byBub3cg
PSBNb25vdG9uaWNUaW1lOjpub3coKTsKICAgICBhdXRvIGRlbGF5VW50aWxOZXh0UG9sbGluZyA9
IG1fcG9sbGluZ1RpbWUgKyBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHBvbGxJbnRlcnZhbCkg
LSBub3c7CiAgICAgaWYgKGRlbGF5VW50aWxOZXh0UG9sbGluZy5taWxsaXNlY29uZHMoKSA8IDAp
IHsKLSAgICAgICAgY2FsbE9uTWFpblRocmVhZChbdGltZVNwZW50ID0gKG5vdyAtIG1fcG9sbGlu
Z1RpbWUpLm1pbGxpc2Vjb25kcygpXSB7Ci0gICAgICAgICAgICBSRUxFQVNFX0xPRyhXZWJSVEMs
ICJMaWJXZWJSVENBdWRpb01vZHVsZTo6cG9sbEF1ZGlvRGF0YSwgcG9sbGluZyB0b29rIHRvbyBt
dWNoIHRpbWU6ICVkIG1zIiwgKGludCl0aW1lU3BlbnQpOwotICAgICAgICB9KTsKKyAgICAgICAg
bV90aW1lU3BlbnQgPSAobm93IC0gbV9wb2xsaW5nVGltZSkubWlsbGlzZWNvbmRzKCk7CiAgICAg
ICAgIGRlbGF5VW50aWxOZXh0UG9sbGluZyA9IDBfczsKICAgICB9CiAgICAgbV9wb2xsaW5nVGlt
ZSA9IG5vdyArIGRlbGF5VW50aWxOZXh0UG9sbGluZzsKLSAgICBtX3F1ZXVlLT5kaXNwYXRjaEFm
dGVyKGRlbGF5VW50aWxOZXh0UG9sbGluZywgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBydGM6OnNj
b3BlZF9yZWZwdHI8d2VicnRjOjpBdWRpb0RldmljZU1vZHVsZT4odGhpcyldIHsKKyAgICByZXR1
cm4gZGVsYXlVbnRpbE5leHRQb2xsaW5nOworfQorCit2b2lkIExpYldlYlJUQ0F1ZGlvTW9kdWxl
Ojpwb2xsQXVkaW9EYXRhKCkKK3sKKyAgICBpZiAoIW1faXNQbGF5aW5nKQorICAgICAgICByZXR1
cm47CisKKyAgICBGdW5jdGlvbjx2b2lkKCk+IG5leHRQb2xsRnVuY3Rpb24gPSBbdGhpcywgcHJv
dGVjdGVkVGhpcyA9IHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkF1ZGlvRGV2aWNlTW9kdWxl
Pih0aGlzKV0gewogICAgICAgICBwb2xsQXVkaW9EYXRhKCk7Ci0gICAgfSk7CisgICAgfTsKKwor
ICAgIC8vIEZvciBwZXJmb3JtYW5jZSByZWFzb25zLCB3ZSBmb3JiaWQgaGVhcCBhbGxvY2F0aW9u
cyB3aGlsZSBkb2luZyByZW5kZXJpbmcgb24gdGhlIHdlYnJ0YyBhdWRpbyB0aHJlYWQuCisgICAg
Rm9yYmlkTWFsbG9jVXNlRm9yQ3VycmVudFRocmVhZFNjb3BlIGZvcmJpZE1hbGxvY1VzZTsKKwor
ICAgIHBvbGxGcm9tU291cmNlKCk7CisKKyAgICBtX3F1ZXVlLT5kaXNwYXRjaEFmdGVyKGNvbXB1
dGVEZWxheVVudGlsTmV4dFBvbGxpbmcoKSwgV1RGTW92ZShuZXh0UG9sbEZ1bmN0aW9uKSk7CiB9
CiAKIHZvaWQgTGliV2ViUlRDQXVkaW9Nb2R1bGU6OnBvbGxGcm9tU291cmNlKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJS
VENBdWRpb01vZHVsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGli
d2VicnRjL0xpYldlYlJUQ0F1ZGlvTW9kdWxlLmgKaW5kZXggYzk3ZDM0NDRmODM2NjFjZmU2YjM3
ZTU3OWY0ZjY0MjA1MDNhMGQwMC4uMTdkZGMxYjMwNjRiYTNlZGE4NWZkYjQxNjBiNmViOWU3MTZm
MmZiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGli
d2VicnRjL0xpYldlYlJUQ0F1ZGlvTW9kdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0F1ZGlvTW9kdWxlLmgKQEAgLTI4LDYg
KzI4LDcgQEAKICNpZiBVU0UoTElCV0VCUlRDKQogCiAjaW5jbHVkZSAiTGliV2ViUlRDTWFjcm9z
LmgiCisjaW5jbHVkZSAiVGltZXIuaCIKIAogQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfQkVHSU4K
IApAQCAtMTIxLDExICsxMjIsMTcgQEAgcHJpdmF0ZToKIHByaXZhdGU6CiAgICAgdm9pZCBwb2xs
QXVkaW9EYXRhKCk7CiAgICAgdm9pZCBwb2xsRnJvbVNvdXJjZSgpOworICAgIHZvaWQgbG9nVGlt
ZXJGaXJlZCgpOworICAgIFNlY29uZHMgY29tcHV0ZURlbGF5VW50aWxOZXh0UG9sbGluZygpOwor
CisgICAgc3RhdGljIGNvbnN0ZXhwciBTZWNvbmRzIGxvZ1RpbWVySW50ZXJ2YWwgPSAyX3M7CiAK
ICAgICBSZWY8V29ya1F1ZXVlPiBtX3F1ZXVlOwogICAgIGJvb2wgbV9pc1BsYXlpbmcgeyBmYWxz
ZSB9OwogICAgIHdlYnJ0Yzo6QXVkaW9UcmFuc3BvcnQqIG1fYXVkaW9UcmFuc3BvcnQgeyBudWxs
cHRyIH07CiAgICAgTW9ub3RvbmljVGltZSBtX3BvbGxpbmdUaW1lOworICAgIFRpbWVyIG1fbG9n
VGltZXI7CisgICAgaW50IG1fdGltZVNwZW50IHsgMCB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVy
Q29jb2EuY3BwCmluZGV4IDViMTFkZGVlN2MxMjE4OWY3MDBkYzNkZjI0OGVkZmJhMDA4YTk3NTIu
Ljc5NDUyMDNkMDRjZWU2YTFiZTBjNGMzYTU0ZTdmMWZlMWIzMjMwMGUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BdWRpb01lZGlhU3RyZWFtVHJh
Y2tSZW5kZXJlckNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYS5jcHAKQEAgLTMxLDYg
KzMxLDcgQEAKICNpbmNsdWRlICJBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlclVuaXQuaCIK
ICNpbmNsdWRlICJBdWRpb1NhbXBsZURhdGFTb3VyY2UuaCIKICNpbmNsdWRlICJDQUF1ZGlvU3Ry
ZWFtRGVzY3JpcHRpb24uaCIKKyNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTc5LDYgKzgwLDcgQEAgdm9pZCBBdWRpb01lZGlhU3RyZWFtVHJh
Y2tSZW5kZXJlckNvY29hOjpwdXNoU2FtcGxlcyhjb25zdCBNZWRpYVRpbWUmIHNhbXBsZVRpbWUK
ICAgICBBU1NFUlQoIWlzTWFpblRocmVhZCgpKTsKICAgICBBU1NFUlQoZGVzY3JpcHRpb24ucGxh
dGZvcm1EZXNjcmlwdGlvbigpLnR5cGUgPT0gUGxhdGZvcm1EZXNjcmlwdGlvbjo6Q0FBdWRpb1N0
cmVhbUJhc2ljVHlwZSk7CiAgICAgaWYgKCFtX2RhdGFTb3VyY2UgfHwgbV9zaG91bGRSZXNldCB8
fCAhbV9kYXRhU291cmNlLT5pbnB1dERlc2NyaXB0aW9uKCkgfHwgKm1fZGF0YVNvdXJjZS0+aW5w
dXREZXNjcmlwdGlvbigpICE9IGRlc2NyaXB0aW9uKSB7CisgICAgICAgIERpc2FibGVNYWxsb2NS
ZXN0cmljdGlvbnNGb3JDdXJyZW50VGhyZWFkU2NvcGUgc2NvcGU7CiAgICAgICAgIGF1dG8gZGF0
YVNvdXJjZSA9IEF1ZGlvU2FtcGxlRGF0YVNvdXJjZTo6Y3JlYXRlKGRlc2NyaXB0aW9uLnNhbXBs
ZVJhdGUoKSAqIDIsICp0aGlzKTsKIAogICAgICAgICBpZiAoZGF0YVNvdXJjZS0+c2V0SW5wdXRG
b3JtYXQodG9DQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24oZGVzY3JpcHRpb24pKSkgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Jhc2VBdWRpb1No
YXJlZFVuaXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Jh
c2VBdWRpb1NoYXJlZFVuaXQuY3BwCmluZGV4IDlmYzVmZjUwYTY1NjIzOWM5NWU0MTEwZmM2NTZk
OTQ4NDE0YzEzZjUuLjJlOWVjZDc5YmFiOWM4NTU4MjkxOGRmYzM1ZWM1Nzg4MTUwMjI5YTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9CYXNlQXVk
aW9TaGFyZWRVbml0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvQmFzZUF1ZGlvU2hhcmVkVW5pdC5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRl
ICJEZXByZWNhdGVkR2xvYmFsU2V0dGluZ3MuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5j
bHVkZSAiUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgiCisjaW5jbHVkZSA8d3RmL0Zhc3RN
YWxsb2MuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MywxMiArNDQsMTQgQEAgQmFz
ZUF1ZGlvU2hhcmVkVW5pdDo6QmFzZUF1ZGlvU2hhcmVkVW5pdCgpCiAKIHZvaWQgQmFzZUF1ZGlv
U2hhcmVkVW5pdDo6YWRkQ2xpZW50KENvcmVBdWRpb0NhcHR1cmVTb3VyY2UmIGNsaWVudCkKIHsK
KyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIGF1dG8gbG9ja2VyID0gaG9sZExvY2so
bV9jbGllbnRzTG9jayk7CiAgICAgbV9jbGllbnRzLmFkZCgmY2xpZW50KTsKIH0KIAogdm9pZCBC
YXNlQXVkaW9TaGFyZWRVbml0OjpyZW1vdmVDbGllbnQoQ29yZUF1ZGlvQ2FwdHVyZVNvdXJjZSYg
Y2xpZW50KQogeworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgYXV0byBsb2NrZXIg
PSBob2xkTG9jayhtX2NsaWVudHNMb2NrKTsKICAgICBtX2NsaWVudHMucmVtb3ZlKCZjbGllbnQp
OwogfQpAQCAtMjEzLDEwICsyMTYsMTUgQEAgT1NTdGF0dXMgQmFzZUF1ZGlvU2hhcmVkVW5pdDo6
c3VzcGVuZCgpCiAKIHZvaWQgQmFzZUF1ZGlvU2hhcmVkVW5pdDo6YXVkaW9TYW1wbGVzQXZhaWxh
YmxlKGNvbnN0IE1lZGlhVGltZSYgdGltZSwgY29uc3QgUGxhdGZvcm1BdWRpb0RhdGEmIGRhdGEs
IGNvbnN0IEF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uLCBzaXplX3QgbnVtYmVy
T2ZGcmFtZXMpCiB7Ci0gICAgZm9yRWFjaENsaWVudChbJl0oYXV0byYgY2xpZW50KSB7Ci0gICAg
ICAgIGlmIChjbGllbnQuaXNQcm9kdWNpbmdEYXRhKCkpCi0gICAgICAgICAgICBjbGllbnQuYXVk
aW9TYW1wbGVzQXZhaWxhYmxlKHRpbWUsIGRhdGEsIGRlc2NyaXB0aW9uLCBudW1iZXJPZkZyYW1l
cyk7Ci0gICAgfSk7CisgICAgLy8gRm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMsIHdlIGZvcmJpZCBo
ZWFwIGFsbG9jYXRpb25zIHdoaWxlIGRvaW5nIHJlbmRlcmluZyBvbiB0aGUgY2FwdHVyZSBhdWRp
byB0aHJlYWQuCisgICAgRm9yYmlkTWFsbG9jVXNlRm9yQ3VycmVudFRocmVhZFNjb3BlIGZvcmJp
ZE1hbGxvY1VzZTsKKworICAgIC8vIFdlIGhvbGQgdGhlIGxvY2sgaGVyZSBzaW5jZSBhZGRpbmcv
cmVtb3ZpbmcgY2xpZW50cyBjYW4gb25seSBoYXBwZW4gaW4gbWFpbiB0aHJlYWQuCisgICAgYXV0
byBsb2NrZXIgPSBob2xkTG9jayhtX2NsaWVudHNMb2NrKTsKKyAgICBmb3IgKGF1dG8qIGNsaWVu
dCA6IG1fY2xpZW50cykgeworICAgICAgICBpZiAoY2xpZW50LT5pc1Byb2R1Y2luZ0RhdGEoKSkK
KyAgICAgICAgICAgIGNsaWVudC0+YXVkaW9TYW1wbGVzQXZhaWxhYmxlKHRpbWUsIGRhdGEsIGRl
c2NyaXB0aW9uLCBudW1iZXJPZkZyYW1lcyk7CisgICAgfQogfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9t
YWMvQmFzZUF1ZGlvU2hhcmVkVW5pdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbWFjL0Jhc2VBdWRpb1NoYXJlZFVuaXQuaAppbmRleCA4NDgxN2M1MTljMjBiYjVmMGVl
YjVmZDMyYzU0MDQxMGU2NWVjMWY4Li5kMjNjZDlkNTE0NGE3OTI0OGY3NTRiMzZkNThhOTE3MTZl
YmJiYzVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9t
YWMvQmFzZUF1ZGlvU2hhcmVkVW5pdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9CYXNlQXVkaW9TaGFyZWRVbml0LmgKQEAgLTI4LDExICsyOCwxMCBAQAog
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKICNpbmNsdWRlICJSZWFsdGltZU1lZGlhU291cmNl
Q2FwYWJpbGl0aWVzLmgiCi0jaW5jbHVkZSA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAj
aW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKyNpbmNs
dWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4KLSNpbmNsdWRlIDx3
dGYvUmVjdXJzaXZlTG9ja0FkYXB0ZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTA0LDcgKzEwMyw3IEBAIHByaXZhdGU6CiAg
ICAgaW50MzJfdCBtX3Byb2R1Y2luZ0NvdW50IHsgMCB9OwogCiAgICAgSGFzaFNldDxDb3JlQXVk
aW9DYXB0dXJlU291cmNlKj4gbV9jbGllbnRzOwotICAgIG11dGFibGUgUmVjdXJzaXZlTG9jayBt
X2NsaWVudHNMb2NrOworICAgIG11dGFibGUgTG9jayBtX2NsaWVudHNMb2NrOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nQXVk
aW9Tb3VyY2VDb2NvYS5jcHAKaW5kZXggM2JkYTU5NGI5ZmE4YzA5N2M1ODdhNGU4MGIxNTVlZDc1
ZTk4MWUzOS4uMjY2MDI4YzEyMDVhNzM1MzQwMTIyNDM3ODQzMjM1MWMyYjViMDA5NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5j
b21pbmdBdWRpb1NvdXJjZUNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EuY3BwCkBAIC0z
NSw2ICszNSw3IEBACiAjaW5jbHVkZSAiTGliV2ViUlRDQXVkaW9Gb3JtYXQuaCIKICNpbmNsdWRl
ICJMb2dnaW5nLmgiCiAjaW5jbHVkZSA8cGFsL2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVBVkZvdW5k
YXRpb24uaD4KKyNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgogCiAjaW5jbHVkZSA8cGFsL2Nm
L0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAKQEAgLTY2LDMxICs2Nyw2NCBAQCBSZWFsdGltZUluY29t
aW5nQXVkaW9Tb3VyY2VDb2NvYTo6UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EocnRj
OjpzY29wZWRfcgogICAgICwgbV9udW1iZXJPZkNoYW5uZWxzKDEpCiAgICAgLCBtX3N0cmVhbURl
c2NyaXB0aW9uKHN0cmVhbURlc2NyaXB0aW9uKG1fc2FtcGxlUmF0ZSwgbV9udW1iZXJPZkNoYW5u
ZWxzKSkKICAgICAsIG1fYXVkaW9CdWZmZXJMaXN0KG1ha2VVbmlxdWU8V2ViQXVkaW9CdWZmZXJM
aXN0PihtX3N0cmVhbURlc2NyaXB0aW9uKSkKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAg
ICAsIG1fbG9nVGltZXIoKnRoaXMsICZSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2NvYTo6
bG9nVGltZXJGaXJlZCkKKyNlbmRpZgoreworfQorCit2b2lkIFJlYWx0aW1lSW5jb21pbmdBdWRp
b1NvdXJjZUNvY29hOjpzdGFydFByb2R1Y2luZ0RhdGEoKQoreworICAgIFJlYWx0aW1lSW5jb21p
bmdBdWRpb1NvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKCk7CisjaWYgIVJFTEVBU0VfTE9HX0RJ
U0FCTEVECisgICAgbV9sb2dUaW1lci5zdGFydFJlcGVhdGluZyhMb2dUaW1lckludGVydmFsKTsK
KyNlbmRpZgorfQorCit2b2lkIFJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hOjpzdG9w
UHJvZHVjaW5nRGF0YSgpCiB7CisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgbV9sb2dU
aW1lci5zdG9wKCk7CisjZW5kaWYKKyAgICBSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2U6OnN0
b3BQcm9kdWNpbmdEYXRhKCk7CiB9CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK3ZvaWQg
UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2E6OmxvZ1RpbWVyRmlyZWQoKQoreworICAg
IGlmICghbV9sYXN0Q2h1bmtzUmVjZWl2ZWQgfHwgKG1fY2h1bmtzUmVjZWl2ZWQgLSBtX2xhc3RD
aHVua3NSZWNlaXZlZCkgPj0gQ2h1bmtzUmVjZWl2ZWREZWx0YSkgeworICAgICAgICBtX2xhc3RD
aHVua3NSZWNlaXZlZCA9IG1fY2h1bmtzUmVjZWl2ZWQ7CisgICAgICAgIEFMV0FZU19MT0dfSUYo
bG9nZ2VyUHRyKCksIExPR0lERU5USUZJRVIsICJjaHVuayAiLCBtX2NodW5rc1JlY2VpdmVkKTsK
KyAgICB9CisgICAgaWYgKG1fYXVkaW9Gb3JtYXRDaGFuZ2VkKSB7CisgICAgICAgIEFMV0FZU19M
T0dfSUYobG9nZ2VyUHRyKCksIExPR0lERU5USUZJRVIsICJuZXcgYXVkaW8gYnVmZmVyIGxpc3Qg
Zm9yIHNhbXBsZVJhdGUgIiwgbV9zYW1wbGVSYXRlLCAiIGFuZCAiLCBtX251bWJlck9mQ2hhbm5l
bHMsICIgY2hhbm5lbChzKSIpOworICAgICAgICBtX2F1ZGlvRm9ybWF0Q2hhbmdlZCA9IGZhbHNl
OworICAgIH0KK30KKyNlbmRpZgorCiB2b2lkIFJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNv
Y29hOjpPbkRhdGEoY29uc3Qgdm9pZCogYXVkaW9EYXRhLCBpbnQgYml0c1BlclNhbXBsZSwgaW50
IHNhbXBsZVJhdGUsIHNpemVfdCBudW1iZXJPZkNoYW5uZWxzLCBzaXplX3QgbnVtYmVyT2ZGcmFt
ZXMpCiB7CiAgICAgaWYgKHNhbXBsZVJhdGUgIT0gbV9zYW1wbGVSYXRlKQogICAgICAgICByZXR1
cm47CiAKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKLSAgICBpZiAoISgrK21fY2h1bmtzUmVj
ZWl2ZWQgJSAyMDApKSB7Ci0gICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW2lkZW50aWZpZXIgPSBM
T0dJREVOVElGSUVSLCB0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGNodW5r
c1JlY2VpdmVkID0gbV9jaHVua3NSZWNlaXZlZF0gewotICAgICAgICAgICAgQUxXQVlTX0xPR19J
Rihsb2dnZXJQdHIoKSwgaWRlbnRpZmllciwgImNodW5rICIsIGNodW5rc1JlY2VpdmVkKTsKLSAg
ICAgICAgfSk7Ci0gICAgfQorICAgICsrbV9jaHVua3NSZWNlaXZlZDsKICNlbmRpZgogCiAgICAg
aWYgKCFtX2F1ZGlvQnVmZmVyTGlzdCB8fCBtX251bWJlck9mQ2hhbm5lbHMgIT0gbnVtYmVyT2ZD
aGFubmVscykgewotICAgICAgICBjYWxsT25NYWluVGhyZWFkKFtpZGVudGlmaWVyID0gTE9HSURF
TlRJRklFUiwgdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBzYW1wbGVSYXRl
LCBudW1iZXJPZkNoYW5uZWxzXSB7Ci0gICAgICAgICAgICBBTFdBWVNfTE9HX0lGKGxvZ2dlclB0
cigpLCBpZGVudGlmaWVyLCAibmV3IGF1ZGlvIGJ1ZmZlciBsaXN0IGZvciBzYW1wbGVSYXRlICIs
IHNhbXBsZVJhdGUsICIgYW5kICIsIG51bWJlck9mQ2hhbm5lbHMsICIgY2hhbm5lbChzKSIpOwot
ICAgICAgICB9KTsKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAgICAgbV9hdWRpb0Zv
cm1hdENoYW5nZWQgPSB0cnVlOworI2VuZGlmCiAKICAgICAgICAgbV9zYW1wbGVSYXRlID0gc2Ft
cGxlUmF0ZTsKICAgICAgICAgbV9udW1iZXJPZkNoYW5uZWxzID0gbnVtYmVyT2ZDaGFubmVsczsK
ICAgICAgICAgbV9zdHJlYW1EZXNjcmlwdGlvbiA9IHN0cmVhbURlc2NyaXB0aW9uKHNhbXBsZVJh
dGUsIG51bWJlck9mQ2hhbm5lbHMpOwotICAgICAgICBtX2F1ZGlvQnVmZmVyTGlzdCA9IG1ha2VV
bmlxdWU8V2ViQXVkaW9CdWZmZXJMaXN0PihtX3N0cmVhbURlc2NyaXB0aW9uKTsKKworICAgICAg
ICB7CisgICAgICAgICAgICBEaXNhYmxlTWFsbG9jUmVzdHJpY3Rpb25zRm9yQ3VycmVudFRocmVh
ZFNjb3BlIHNjb3BlOworICAgICAgICAgICAgbV9hdWRpb0J1ZmZlckxpc3QgPSBtYWtlVW5pcXVl
PFdlYkF1ZGlvQnVmZmVyTGlzdD4obV9zdHJlYW1EZXNjcmlwdGlvbik7CisgICAgICAgIH0KICAg
ICAgICAgaWYgKG1fc2FtcGxlUmF0ZSAmJiBtX251bWJlck9mRnJhbWVzKQogICAgICAgICAgICAg
bV9udW1iZXJPZkZyYW1lcyA9IG1fbnVtYmVyT2ZGcmFtZXMgKiBzYW1wbGVSYXRlIC8gbV9zYW1w
bGVSYXRlOwogICAgICAgICBlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nQXVk
aW9Tb3VyY2VDb2NvYS5oCmluZGV4IDFkN2NkOTZjOGI0YjUzOGRjNTlmZjVjNDcyZWNlOGZiMzJh
YTA0NWYuLmE2YWRkZGU4ZDliZGU1YzJjZWJkZmZiY2RhZDY0ODk5N2I3YmUwMTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29t
aW5nQXVkaW9Tb3VyY2VDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2NvYS5oCkBAIC00NSw5ICs0
NSwyMCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJj
ZUNvY29hKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkF1ZGlvVHJhY2tJbnRlcmZhY2U+JiYs
IFN0cmluZyYmKTsKIAorICAgIC8vIFJlYWx0aW1lTWVkaWFTb3VyY2UgQVBJCisgICAgdm9pZCBz
dGFydFByb2R1Y2luZ0RhdGEoKSBmaW5hbDsKKyAgICB2b2lkIHN0b3BQcm9kdWNpbmdEYXRhKCkg
IGZpbmFsOworCiAgICAgLy8gd2VicnRjOjpBdWRpb1RyYWNrU2lua0ludGVyZmFjZSBBUEkKICAg
ICB2b2lkIE9uRGF0YShjb25zdCB2b2lkKiBhdWRpb0RhdGEsIGludCBiaXRzUGVyU2FtcGxlLCBp
bnQgc2FtcGxlUmF0ZSwgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMsIHNpemVfdCBudW1iZXJPZkZy
YW1lcykgZmluYWw7CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICB2b2lkIGxvZ1Rp
bWVyRmlyZWQoKTsKKyNlbmRpZgorCisgICAgc3RhdGljIGNvbnN0ZXhwciBTZWNvbmRzIExvZ1Rp
bWVySW50ZXJ2YWwgPSAyX3M7CisgICAgc3RhdGljIGNvbnN0ZXhwciBzaXplX3QgQ2h1bmtzUmVj
ZWl2ZWREZWx0YSA9IDIwMDsgLy8gMjAwIGNodW5rcyBvZiAxMG1zID0gMnMuCisKICAgICB1aW50
NjRfdCBtX251bWJlck9mRnJhbWVzIHsgMCB9OwogCiAgICAgaW50IG1fc2FtcGxlUmF0ZSB7IDAg
fTsKQEAgLTU2LDYgKzY3LDkgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQXVk
aW9CdWZmZXJMaXN0PiBtX2F1ZGlvQnVmZmVyTGlzdDsKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJM
RUQKICAgICBzaXplX3QgbV9jaHVua3NSZWNlaXZlZCB7IDAgfTsKKyAgICBzaXplX3QgbV9sYXN0
Q2h1bmtzUmVjZWl2ZWQgeyAwIH07CisgICAgYm9vbCBtX2F1ZGlvRm9ybWF0Q2hhbmdlZCB7IGZh
bHNlIH07CisgICAgVGltZXIgbV9sb2dUaW1lcjsKICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94
eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFu
YWdlclByb3h5LmNwcAppbmRleCAyNzAyNzkzZmY1NTFiYTk3YjdlZmIwOTAyMzUzNzQ2Mzk2YWUy
MmEzLi5hZWVkOTc1NzY5NTI3ZTlhYTliZmUyNGIxN2QxMTRkYTY1MTFkMjI3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0
dXJlTWFuYWdlclByb3h5LmNwcApAQCAtMTQ1LDYgKzE0NSw4IEBAIHByaXZhdGU6CiAKICAgICAv
LyBNYXkgZ2V0IGNhbGxlZCBvbiBhIGJhY2tncm91bmQgdGhyZWFkLgogICAgIHZvaWQgYXVkaW9T
YW1wbGVzQXZhaWxhYmxlKGNvbnN0IE1lZGlhVGltZSYgdGltZSwgY29uc3QgUGxhdGZvcm1BdWRp
b0RhdGEmIGF1ZGlvRGF0YSwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgZGVzY3JpcHRp
b24sIHNpemVfdCBudW1iZXJPZkZyYW1lcykgZmluYWwgeworICAgICAgICBEaXNhYmxlTWFsbG9j
UmVzdHJpY3Rpb25zRm9yQ3VycmVudFRocmVhZFNjb3BlIHNjb3BlOworCiAgICAgICAgIGlmICht
X2Rlc2NyaXB0aW9uICE9IGRlc2NyaXB0aW9uKSB7CiAgICAgICAgICAgICBBU1NFUlQoZGVzY3Jp
cHRpb24ucGxhdGZvcm1EZXNjcmlwdGlvbigpLnR5cGUgPT0gUGxhdGZvcm1EZXNjcmlwdGlvbjo6
Q0FBdWRpb1N0cmVhbUJhc2ljVHlwZSk7CiAgICAgICAgICAgICBtX2Rlc2NyaXB0aW9uID0gKldU
Rjo6Z2V0PGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbio+KGRlc2NyaXB0aW9uLnBs
YXRmb3JtRGVzY3JpcHRpb24oKS5kZXNjcmlwdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9BdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlci5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9BdWRpb01lZGlhU3RyZWFt
VHJhY2tSZW5kZXJlci5jcHAKaW5kZXggNjJhNzg5MWVmZGJmM2VhNzkyNTQwODRmODM4OTMyZWYz
ZTkzN2Y0ZS4uNmI5YjA2NGJkYmRlY2IzZjQwOGQ2NTllYTQ1NDE1MjdiZGI2N2Q4ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvQXVkaW9NZWRpYVN0cmVh
bVRyYWNrUmVuZGVyZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2Vi
cnRjL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyLmNwcApAQCAtOTMsNiArOTMsNyBAQCB2
b2lkIEF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyOjpwdXNoU2FtcGxlcyhjb25zdCBNZWRp
YVRpbWUmIHRpbWUsIGNvbnN0IFdlYgogICAgICAgICByZXR1cm47CiAKICAgICBpZiAobV9kZXNj
cmlwdGlvbiAhPSBkZXNjcmlwdGlvbikgeworICAgICAgICBEaXNhYmxlTWFsbG9jUmVzdHJpY3Rp
b25zRm9yQ3VycmVudFRocmVhZFNjb3BlIHNjb3BlOwogICAgICAgICBBU1NFUlQoZGVzY3JpcHRp
b24ucGxhdGZvcm1EZXNjcmlwdGlvbigpLnR5cGUgPT0gV2ViQ29yZTo6UGxhdGZvcm1EZXNjcmlw
dGlvbjo6Q0FBdWRpb1N0cmVhbUJhc2ljVHlwZSk7CiAgICAgICAgIG1fZGVzY3JpcHRpb24gPSAq
V1RGOjpnZXQ8Y29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKj4oZGVzY3JpcHRpb24u
cGxhdGZvcm1EZXNjcmlwdGlvbigpLmRlc2NyaXB0aW9uKTsKIApAQCAtMTAzLDYgKzEwNCw4IEBA
IHZvaWQgQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXI6OnB1c2hTYW1wbGVzKGNvbnN0IE1l
ZGlhVGltZSYgdGltZSwgY29uc3QgV2ViCiAKICAgICBBU1NFUlQoaXM8V2ViQ29yZTo6V2ViQXVk
aW9CdWZmZXJMaXN0PihhdWRpb0RhdGEpKTsKICAgICBtX3JpbmdCdWZmZXItPnN0b3JlKGRvd25j
YXN0PFdlYkNvcmU6OldlYkF1ZGlvQnVmZmVyTGlzdD4oYXVkaW9EYXRhKS5saXN0KCksIG51bWJl
ck9mRnJhbWVzLCB0aW1lLnRpbWVWYWx1ZSgpKTsKKworICAgIERpc2FibGVNYWxsb2NSZXN0cmlj
dGlvbnNGb3JDdXJyZW50VGhyZWFkU2NvcGUgc2NvcGU7CiAgICAgbV9jb25uZWN0aW9uLT5zZW5k
KE1lc3NhZ2VzOjpSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlcjo6QXVkaW9TYW1w
bGVzQXZhaWxhYmxlIHsgdGltZSwgbnVtYmVyT2ZGcmFtZXMgfSwgbV9pZGVudGlmaWVyKTsKIH0K
IApAQCAtMTE4LDYgKzEyMSw3IEBAIHZvaWQgQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXI6
OnN0b3JhZ2VDaGFuZ2VkKFNoYXJlZE1lbW9yeSogc3RvcmFnZSwgY29uc3QKICNlbHNlCiAgICAg
dWludDY0X3QgZGF0YVNpemUgPSAwOwogI2VuZGlmCisgICAgRGlzYWJsZU1hbGxvY1Jlc3RyaWN0
aW9uc0ZvckN1cnJlbnRUaHJlYWRTY29wZSBzY29wZTsKICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQo
TWVzc2FnZXM6OlJlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyOjpBdWRpb1NhbXBs
ZXNTdG9yYWdlQ2hhbmdlZCB7IFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlIHsgV1RGTW92ZShoYW5k
bGUpLCBkYXRhU2l6ZSB9LCBmb3JtYXQsIGZyYW1lQ291bnQgfSwgbV9pZGVudGlmaWVyKTsKIH0K
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426427</attachid>
            <date>2021-04-19 08:57:54 -0700</date>
            <delta_ts>2021-04-19 09:19:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224750-20210419175752.patch</filename>
            <type>text/plain</type>
            <size>18522</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MjU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTQwNDA3MzA5ZTA4ZDIy
ZjE2OTczNzE0ZDM1YjJmZTc1YzZhMjI4NS4uMDUyZTIxNmNmZjMwNmU4OTdmOGI1YTcxZWZiMDRi
YTI3NmZlYzhlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIxLTA0LTE5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbWVtb3J5IGFsbG9j
YXRpb24gY2hlY2tzIGluIG1vcmUgcmVhbHRpbWUgYXVkaW8gY2FwdHVyZS9yZW5kZXJpbmcgcGxh
Y2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3
NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
RmFzdE1hbGxvYyBtYWNyb3MgdG8gY2F0Y2ggbWVtb3J5IGFsbG9jYXRpb24gaW4gYXVkaW8gc2Vu
c2l0aXZlIHRocmVhZHMuCisgICAgICAgIFVwZGF0ZSBMaWJXZWJSVENBdWRpb01vZHVsZSBhbmQg
UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EgdG8gbm90IHJlbHkgb24gRnVuY3Rpb24g
Y3JlYXRpb24gYnV0IHJlbHkgb24gVGltZXIgZm9yIGxhcmdlIGF1ZGlvIGdhcCBsb2dnaW5nLgor
ICAgICAgICBVcGRhdGUgQmFzZUF1ZGlvU2hhcmVkVW5pdCB0byBub3QgYWxsb2NhdGUgYSB2ZWN0
b3IgZWFjaCB0aW1lIGFuIGF1ZGlvIHNhbXBsZSBpcyBjYXB0dXJlZC4KKworICAgICAgICBDb3Zl
cmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0v
UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0F1ZGlvTW9kdWxlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxpYldlYlJUQ0F1ZGlvTW9kdWxlOjpMaWJXZWJSVENBdWRpb01vZHVsZSk6CisgICAgICAg
IChXZWJDb3JlOjpMaWJXZWJSVENBdWRpb01vZHVsZTo6U3RhcnRQbGF5b3V0KToKKyAgICAgICAg
KFdlYkNvcmU6OkxpYldlYlJUQ0F1ZGlvTW9kdWxlOjpTdG9wUGxheW91dCk6CisgICAgICAgIChX
ZWJDb3JlOjpMaWJXZWJSVENBdWRpb01vZHVsZTo6bG9nVGltZXJGaXJlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpMaWJXZWJSVENBdWRpb01vZHVsZTo6Y29tcHV0ZURlbGF5VW50aWxOZXh0UG9sbGlu
Zyk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENBdWRpb01vZHVsZTo6cG9sbEF1ZGlvRGF0
YSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0F1
ZGlvTW9kdWxlLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVk
aWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9N
ZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYTo6cHVzaFNhbXBsZXMpOgorICAgICAgICAqIHBs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9CYXNlQXVkaW9TaGFyZWRVbml0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkJhc2VBdWRpb1NoYXJlZFVuaXQ6OmFkZENsaWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpCYXNlQXVkaW9TaGFyZWRVbml0OjpyZW1vdmVDbGllbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6QmFzZUF1ZGlvU2hhcmVkVW5pdDo6YXVkaW9TYW1wbGVzQXZhaWxhYmxlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQmFzZUF1ZGlvU2hhcmVkVW5pdC5oOgorICAgICAg
ICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VD
b2NvYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VD
b2NvYTo6UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2E6OnN0YXJ0UHJvZHVjaW5nRGF0YSk6
CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2NvYTo6c3Rv
cFByb2R1Y2luZ0RhdGEpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ0F1ZGlv
U291cmNlQ29jb2E6OmxvZ1RpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJ
bmNvbWluZ0F1ZGlvU291cmNlQ29jb2E6Ok9uRGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmg6CisKIDIwMjEt
MDQtMTkgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXSBU
aGUgbGF5b3V0IGNvbnRhaW5tZW50IGJveCBlc3RhYmxpc2hlcyBhbiBhYnNvbHV0ZSBwb3NpdGlv
bmluZyBjb250YWluaW5nIGJsb2NrIGFuZCBhIGZpeGVkIHBvc2l0aW9uaW5nIGNvbnRhaW5pbmcg
YmxvY2sKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggODA5NjM5ZjE1Yjc4OTdmOGZiYzNhNDkyNjFmNGVkNTkwOTU5Njdj
ZC4uYmVmMzM1MGI3Y2M5NjhhNzJmZTZkNjYzYTAwNmQ4Mzc4NWFjZTRiZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAyMS0wNC0xOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CisKKyAgICAgICAgQWRkIG1lbW9yeSBhbGxvY2F0aW9uIGNoZWNrcyBpbiBtb3JlIHJlYWx0
aW1lIGF1ZGlvIGNhcHR1cmUvcmVuZGVyaW5nIHBsYWNlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NzUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2Fw
dHVyZU1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0F1
ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6QXVkaW9N
ZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXI6OnB1c2hTYW1wbGVzKToKKyAgICAgICAgKFdlYktpdDo6
QXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXI6OnN0b3JhZ2VDaGFuZ2VkKToKKwogMjAyMS0w
NC0xOSAgS2ltbW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEVu
YWJsZSAtV3RocmVhZC1zYWZldHksIGFkZCBhdHRyaWJ1dGVzIHRvIGN1c3RvbSBsb2NrIGNsYXNz
ZXMsIGFuZCBwcm92aWRlIG1hY3JvcyB0byBkZWNsYXJlIGd1YXJkcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291
cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29t
aW5nQXVkaW9Tb3VyY2UuaAppbmRleCA5ZDg0YmNiYzhjM2Y0ZWMyYTI5NWEzYjFiN2YxZTczN2Nk
NTdiYWFjLi5hMThmYzIxNjA4YzFjZDU5NmE1NDQ1NTAzMjhiODA1MjEzYjhhNGYwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5n
QXVkaW9Tb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9S
ZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuaApAQCAtNjEsMTcgKzYxLDE3IEBAIHByb3RlY3Rl
ZDoKICAgICBjb25zdCBjaGFyKiBsb2dDbGFzc05hbWUoKSBjb25zdCBmaW5hbCB7IHJldHVybiAi
UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlIjsgfQogI2VuZGlmCiAKKyAgICAvLyBSZWFsdGlt
ZU1lZGlhU291cmNlIEFQSQorICAgIHZvaWQgc3RhcnRQcm9kdWNpbmdEYXRhKCkgb3ZlcnJpZGU7
CisgICAgdm9pZCBzdG9wUHJvZHVjaW5nRGF0YSgpICBvdmVycmlkZTsKKwogcHJpdmF0ZToKICAg
ICAvLyB3ZWJydGM6OkF1ZGlvVHJhY2tTaW5rSW50ZXJmYWNlIEFQSQotICAgIHZpcnR1YWwgdm9p
ZCBPbkRhdGEoY29uc3Qgdm9pZCogLyogYXVkaW9EYXRhICovLCBpbnQgLyogYml0c1BlclNhbXBs
ZSAqLywgaW50IC8qIHNhbXBsZVJhdGUgKi8sIHNpemVfdCAvKiBudW1iZXJPZkNoYW5uZWxzICov
LCBzaXplX3QgLyogbnVtYmVyT2ZGcmFtZXMgKi8pIHsgfTsKKyAgICB2b2lkIE9uRGF0YShjb25z
dCB2b2lkKiAvKiBhdWRpb0RhdGEgKi8sIGludCAvKiBiaXRzUGVyU2FtcGxlICovLCBpbnQgLyog
c2FtcGxlUmF0ZSAqLywgc2l6ZV90IC8qIG51bWJlck9mQ2hhbm5lbHMgKi8sIHNpemVfdCAvKiBu
dW1iZXJPZkZyYW1lcyAqLykgb3ZlcnJpZGUgeyB9OwogCiAgICAgLy8gd2VicnRjOjpPYnNlcnZl
ckludGVyZmFjZSBBUEkKICAgICB2b2lkIE9uQ2hhbmdlZCgpIGZpbmFsOwogCi0gICAgLy8gUmVh
bHRpbWVNZWRpYVNvdXJjZSBBUEkKLSAgICB2b2lkIHN0YXJ0UHJvZHVjaW5nRGF0YSgpIGZpbmFs
OwotICAgIHZvaWQgc3RvcFByb2R1Y2luZ0RhdGEoKSAgZmluYWw7Ci0KICAgICBjb25zdCBSZWFs
dGltZU1lZGlhU291cmNlQ2FwYWJpbGl0aWVzJiBjYXBhYmlsaXRpZXMoKSBmaW5hbDsKICAgICBj
b25zdCBSZWFsdGltZU1lZGlhU291cmNlU2V0dGluZ3MmIHNldHRpbmdzKCkgZmluYWw7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENBdWRpb01vZHVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDQXVkaW9Nb2R1bGUuY3BwCmluZGV4IGFhZGI3MGM5MTkz
OWUyY2JkNjg0MDQ5MWFlYTdkY2Q3Yjg3MTUyNDUuLjEyNmRkZDhkOTg2ZmFkMjA3ZGE2Y2NjMTdh
NTA3YmFmNWY5MzAxNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENBdWRpb01vZHVsZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0F1ZGlvTW9kdWxl
LmNwcApAQCAtMzAsMTEgKzMwLDEzIEBACiAKICNpbmNsdWRlICJMaWJXZWJSVENBdWRpb0Zvcm1h
dC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIExpYldlYlJUQ0F1ZGlvTW9kdWxlOjpMaWJXZWJSVENB
dWRpb01vZHVsZSgpCiAgICAgOiBtX3F1ZXVlKFdvcmtRdWV1ZTo6Y3JlYXRlKCJXZWJLaXRXZWJS
VENBdWRpb01vZHVsZSIsIFdvcmtRdWV1ZTo6VHlwZTo6U2VyaWFsLCBXb3JrUXVldWU6OlFPUzo6
VXNlckludGVyYWN0aXZlKSkKKyAgICAsIG1fbG9nVGltZXIoKnRoaXMsICZMaWJXZWJSVENBdWRp
b01vZHVsZTo6bG9nVGltZXJGaXJlZCkKIHsKIH0KIApAQCAtNTQsNiArNTYsMTAgQEAgaW50MzJf
dCBMaWJXZWJSVENBdWRpb01vZHVsZTo6U3RhcnRQbGF5b3V0KCkKICAgICAgICAgcmV0dXJuIDA7
CiAKICAgICBtX2lzUGxheWluZyA9IHRydWU7CisgICAgY2FsbE9uTWFpblRocmVhZChbdGhpcywg
cHJvdGVjdGVkVGhpcyA9IHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkF1ZGlvRGV2aWNlTW9k
dWxlPih0aGlzKV0geworICAgICAgICBtX2xvZ1RpbWVyLnN0YXJ0UmVwZWF0aW5nKGxvZ1RpbWVy
SW50ZXJ2YWwpOworICAgIH0pOworCiAgICAgbV9xdWV1ZS0+ZGlzcGF0Y2goW3RoaXMsIHByb3Rl
Y3RlZFRoaXMgPSBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpBdWRpb0RldmljZU1vZHVsZT4o
dGhpcyldIHsKICAgICAgICAgbV9wb2xsaW5nVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwog
ICAgICAgICBwb2xsQXVkaW9EYXRhKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDQXVkaW9Nb2R1bGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENBdWRpb01v
ZHVsZS5oCmluZGV4IGExNTY5YTQyZDFiOTNlN2VmM2QzYWNjYWIzOGM2OTg2MTJhNWRjOWQuLjEw
MDAyOTZhOTA0NzYxNDYyMzQxY2Q5MDEyZDBhMDVkMGE3NzZjNDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENBdWRpb01v
ZHVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9MaWJXZWJSVENBdWRpb01vZHVsZS5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgVVNFKExJQldF
QlJUQykKIAogI2luY2x1ZGUgIkxpYldlYlJUQ01hY3Jvcy5oIgorI2luY2x1ZGUgIlRpbWVyLmgi
CiAKIEFMTE9XX1VOVVNFRF9QQVJBTUVURVJTX0JFR0lOCiAKQEAgLTEyMywxMSArMTI0LDE3IEBA
IHByaXZhdGU6CiBwcml2YXRlOgogICAgIHZvaWQgcG9sbEF1ZGlvRGF0YSgpOwogICAgIHZvaWQg
cG9sbEZyb21Tb3VyY2UoKTsKKyAgICB2b2lkIGxvZ1RpbWVyRmlyZWQoKTsKKyAgICBTZWNvbmRz
IGNvbXB1dGVEZWxheVVudGlsTmV4dFBvbGxpbmcoKTsKKworICAgIHN0YXRpYyBjb25zdGV4cHIg
U2Vjb25kcyBsb2dUaW1lckludGVydmFsID0gMl9zOwogCiAgICAgUmVmPFdvcmtRdWV1ZT4gbV9x
dWV1ZTsKICAgICBib29sIG1faXNQbGF5aW5nIHsgZmFsc2UgfTsKICAgICB3ZWJydGM6OkF1ZGlv
VHJhbnNwb3J0KiBtX2F1ZGlvVHJhbnNwb3J0IHsgbnVsbHB0ciB9OwogICAgIE1vbm90b25pY1Rp
bWUgbV9wb2xsaW5nVGltZTsKKyAgICBUaW1lciBtX2xvZ1RpbWVyOworICAgIGludCBtX3RpbWVT
cGVudCB7IDAgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BdWRpb01lZGlhU3RyZWFtVHJh
Y2tSZW5kZXJlckNvY29hLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9BdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hLmNwcAppbmRleCBiYzRmZDAw
ZDczNDY4YjQ3N2EyOTEwZDY1ZjQxNGQ3ZDBjYmFkMTYxLi5kOTliODhhNDIwMGMwYTJkMzU2ODM4
ZWIwNDJlYmNkMjg4ODdiYjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVkaWFTdHJl
YW1UcmFja1JlbmRlcmVyQ29jb2EuY3BwCkBAIC04OSw2ICs4OSw4IEBAIHZvaWQgQXVkaW9NZWRp
YVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYTo6cHVzaFNhbXBsZXMoY29uc3QgTWVkaWFUaW1lJiBz
YW1wbGVUaW1lCiAgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CiAgICAgQVNTRVJUKGRlc2Ny
aXB0aW9uLnBsYXRmb3JtRGVzY3JpcHRpb24oKS50eXBlID09IFBsYXRmb3JtRGVzY3JpcHRpb246
OkNBQXVkaW9TdHJlYW1CYXNpY1R5cGUpOwogICAgIGlmICghbV9kYXRhU291cmNlIHx8IG1fc2hv
dWxkUmVzZXQgfHwgIW1fZGF0YVNvdXJjZS0+aW5wdXREZXNjcmlwdGlvbigpIHx8ICptX2RhdGFT
b3VyY2UtPmlucHV0RGVzY3JpcHRpb24oKSAhPSBkZXNjcmlwdGlvbikgeworICAgICAgICBEaXNh
YmxlTWFsbG9jUmVzdHJpY3Rpb25zRm9yQ3VycmVudFRocmVhZFNjb3BlIHNjb3BlOworCiAgICAg
ICAgIC8vIEZJWE1FOiBGb3Igbm9uIGxpYndlYnJ0YyBzb3VyY2VzLCB3ZSBjYW4gcHJvYmFibHkg
cmVkdWNlIHBvbGwgc2FtcGxlcyBjb3VudCB0byAyLgogICAgICAgICAKICAgICAgICAgYXV0byBk
YXRhU291cmNlID0gQXVkaW9TYW1wbGVEYXRhU291cmNlOjpjcmVhdGUoZGVzY3JpcHRpb24uc2Ft
cGxlUmF0ZSgpICogMC41LCAqdGhpcywgcG9sbFNhbXBsZXNDb3VudCgpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9CYXNlQXVkaW9TaGFyZWRV
bml0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9CYXNlQXVk
aW9TaGFyZWRVbml0LmNwcAppbmRleCA5ZmM1ZmY1MGE2NTYyMzljOTVlNDExMGZjNjU2ZDk0ODQx
NGMxM2Y1Li4yZTllY2Q3OWJhYjljODU1ODI5MThkZmMzNWVjNTc4ODE1MDIyOWE4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQmFzZUF1ZGlvU2hh
cmVkVW5pdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L0Jhc2VBdWRpb1NoYXJlZFVuaXQuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiRGVw
cmVjYXRlZEdsb2JhbFNldHRpbmdzLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUg
IlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIgorI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9j
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDMsMTIgKzQ0LDE0IEBAIEJhc2VBdWRp
b1NoYXJlZFVuaXQ6OkJhc2VBdWRpb1NoYXJlZFVuaXQoKQogCiB2b2lkIEJhc2VBdWRpb1NoYXJl
ZFVuaXQ6OmFkZENsaWVudChDb3JlQXVkaW9DYXB0dXJlU291cmNlJiBjbGllbnQpCiB7CisgICAg
QVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fY2xp
ZW50c0xvY2spOwogICAgIG1fY2xpZW50cy5hZGQoJmNsaWVudCk7CiB9CiAKIHZvaWQgQmFzZUF1
ZGlvU2hhcmVkVW5pdDo6cmVtb3ZlQ2xpZW50KENvcmVBdWRpb0NhcHR1cmVTb3VyY2UmIGNsaWVu
dCkKIHsKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIGF1dG8gbG9ja2VyID0gaG9s
ZExvY2sobV9jbGllbnRzTG9jayk7CiAgICAgbV9jbGllbnRzLnJlbW92ZSgmY2xpZW50KTsKIH0K
QEAgLTIxMywxMCArMjE2LDE1IEBAIE9TU3RhdHVzIEJhc2VBdWRpb1NoYXJlZFVuaXQ6OnN1c3Bl
bmQoKQogCiB2b2lkIEJhc2VBdWRpb1NoYXJlZFVuaXQ6OmF1ZGlvU2FtcGxlc0F2YWlsYWJsZShj
b25zdCBNZWRpYVRpbWUmIHRpbWUsIGNvbnN0IFBsYXRmb3JtQXVkaW9EYXRhJiBkYXRhLCBjb25z
dCBBdWRpb1N0cmVhbURlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbiwgc2l6ZV90IG51bWJlck9mRnJh
bWVzKQogewotICAgIGZvckVhY2hDbGllbnQoWyZdKGF1dG8mIGNsaWVudCkgewotICAgICAgICBp
ZiAoY2xpZW50LmlzUHJvZHVjaW5nRGF0YSgpKQotICAgICAgICAgICAgY2xpZW50LmF1ZGlvU2Ft
cGxlc0F2YWlsYWJsZSh0aW1lLCBkYXRhLCBkZXNjcmlwdGlvbiwgbnVtYmVyT2ZGcmFtZXMpOwot
ICAgIH0pOworICAgIC8vIEZvciBwZXJmb3JtYW5jZSByZWFzb25zLCB3ZSBmb3JiaWQgaGVhcCBh
bGxvY2F0aW9ucyB3aGlsZSBkb2luZyByZW5kZXJpbmcgb24gdGhlIGNhcHR1cmUgYXVkaW8gdGhy
ZWFkLgorICAgIEZvcmJpZE1hbGxvY1VzZUZvckN1cnJlbnRUaHJlYWRTY29wZSBmb3JiaWRNYWxs
b2NVc2U7CisKKyAgICAvLyBXZSBob2xkIHRoZSBsb2NrIGhlcmUgc2luY2UgYWRkaW5nL3JlbW92
aW5nIGNsaWVudHMgY2FuIG9ubHkgaGFwcGVuIGluIG1haW4gdGhyZWFkLgorICAgIGF1dG8gbG9j
a2VyID0gaG9sZExvY2sobV9jbGllbnRzTG9jayk7CisgICAgZm9yIChhdXRvKiBjbGllbnQgOiBt
X2NsaWVudHMpIHsKKyAgICAgICAgaWYgKGNsaWVudC0+aXNQcm9kdWNpbmdEYXRhKCkpCisgICAg
ICAgICAgICBjbGllbnQtPmF1ZGlvU2FtcGxlc0F2YWlsYWJsZSh0aW1lLCBkYXRhLCBkZXNjcmlw
dGlvbiwgbnVtYmVyT2ZGcmFtZXMpOworICAgIH0KIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Jh
c2VBdWRpb1NoYXJlZFVuaXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9CYXNlQXVkaW9TaGFyZWRVbml0LmgKaW5kZXggODQ4MTdjNTE5YzIwYmI1ZjBlZWI1ZmQz
MmM1NDA0MTBlNjVlYzFmOC4uZDIzY2Q5ZDUxNDRhNzkyNDhmNzU0YjM2ZDU4YTkxNzE2ZWJiYmM1
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Jh
c2VBdWRpb1NoYXJlZFVuaXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvQmFzZUF1ZGlvU2hhcmVkVW5pdC5oCkBAIC0yOCwxMSArMjgsMTAgQEAKICNpZiBF
TkFCTEUoTUVESUFfU1RSRUFNKQogCiAjaW5jbHVkZSAiUmVhbHRpbWVNZWRpYVNvdXJjZUNhcGFi
aWxpdGllcy5oIgotI2luY2x1ZGUgPHBhbC9jZi9Db3JlTWVkaWFTb2Z0TGluay5oPgogI2luY2x1
ZGUgPHd0Zi9GdW5jdGlvbi5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CisjaW5jbHVkZSA8
d3RmL0xvY2suaD4KICNpbmNsdWRlIDx3dGYvTWVkaWFUaW1lLmg+Ci0jaW5jbHVkZSA8d3RmL1Jl
Y3Vyc2l2ZUxvY2tBZGFwdGVyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTEwNCw3ICsxMDMsNyBAQCBwcml2YXRlOgogICAgIGlu
dDMyX3QgbV9wcm9kdWNpbmdDb3VudCB7IDAgfTsKIAogICAgIEhhc2hTZXQ8Q29yZUF1ZGlvQ2Fw
dHVyZVNvdXJjZSo+IG1fY2xpZW50czsKLSAgICBtdXRhYmxlIFJlY3Vyc2l2ZUxvY2sgbV9jbGll
bnRzTG9jazsKKyAgICBtdXRhYmxlIExvY2sgbV9jbGllbnRzTG9jazsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2NvYS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291
cmNlQ29jb2EuY3BwCmluZGV4IDNiZGE1OTRiOWZhOGMwOTdjNTg3YTRlODBiMTU1ZWQ3NWU5ODFl
MzkuLjI2NjAyOGMxMjA1YTczNTM0MDEyMjQzNzg0MzIzNTFjMmI1YjAwOTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5n
QXVkaW9Tb3VyY2VDb2NvYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmNwcApAQCAtMzUsNiAr
MzUsNyBAQAogI2luY2x1ZGUgIkxpYldlYlJUQ0F1ZGlvRm9ybWF0LmgiCiAjaW5jbHVkZSAiTG9n
Z2luZy5oIgogI2luY2x1ZGUgPHBhbC9hdmZvdW5kYXRpb24vTWVkaWFUaW1lQVZGb3VuZGF0aW9u
Lmg+CisjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KIAogI2luY2x1ZGUgPHBhbC9jZi9Db3Jl
TWVkaWFTb2Z0TGluay5oPgogCkBAIC02NiwzMSArNjcsNjQgQEAgUmVhbHRpbWVJbmNvbWluZ0F1
ZGlvU291cmNlQ29jb2E6OlJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hKHJ0Yzo6c2Nv
cGVkX3IKICAgICAsIG1fbnVtYmVyT2ZDaGFubmVscygxKQogICAgICwgbV9zdHJlYW1EZXNjcmlw
dGlvbihzdHJlYW1EZXNjcmlwdGlvbihtX3NhbXBsZVJhdGUsIG1fbnVtYmVyT2ZDaGFubmVscykp
CiAgICAgLCBtX2F1ZGlvQnVmZmVyTGlzdChtYWtlVW5pcXVlPFdlYkF1ZGlvQnVmZmVyTGlzdD4o
bV9zdHJlYW1EZXNjcmlwdGlvbikpCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgLCBt
X2xvZ1RpbWVyKCp0aGlzLCAmUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2E6OmxvZ1Rp
bWVyRmlyZWQpCisjZW5kaWYKK3sKK30KKwordm9pZCBSZWFsdGltZUluY29taW5nQXVkaW9Tb3Vy
Y2VDb2NvYTo6c3RhcnRQcm9kdWNpbmdEYXRhKCkKK3sKKyAgICBSZWFsdGltZUluY29taW5nQXVk
aW9Tb3VyY2U6OnN0YXJ0UHJvZHVjaW5nRGF0YSgpOworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxF
RAorICAgIG1fbG9nVGltZXIuc3RhcnRSZXBlYXRpbmcoTG9nVGltZXJJbnRlcnZhbCk7CisjZW5k
aWYKK30KKwordm9pZCBSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2NvYTo6c3RvcFByb2R1
Y2luZ0RhdGEoKQogeworI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgIG1fbG9nVGltZXIu
c3RvcCgpOworI2VuZGlmCisgICAgUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlOjpzdG9wUHJv
ZHVjaW5nRGF0YSgpOwogfQogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECit2b2lkIFJlYWx0
aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hOjpsb2dUaW1lckZpcmVkKCkKK3sKKyAgICBpZiAo
IW1fbGFzdENodW5rc1JlY2VpdmVkIHx8IChtX2NodW5rc1JlY2VpdmVkIC0gbV9sYXN0Q2h1bmtz
UmVjZWl2ZWQpID49IENodW5rc1JlY2VpdmVkRGVsdGEpIHsKKyAgICAgICAgbV9sYXN0Q2h1bmtz
UmVjZWl2ZWQgPSBtX2NodW5rc1JlY2VpdmVkOworICAgICAgICBBTFdBWVNfTE9HX0lGKGxvZ2dl
clB0cigpLCBMT0dJREVOVElGSUVSLCAiY2h1bmsgIiwgbV9jaHVua3NSZWNlaXZlZCk7CisgICAg
fQorICAgIGlmIChtX2F1ZGlvRm9ybWF0Q2hhbmdlZCkgeworICAgICAgICBBTFdBWVNfTE9HX0lG
KGxvZ2dlclB0cigpLCBMT0dJREVOVElGSUVSLCAibmV3IGF1ZGlvIGJ1ZmZlciBsaXN0IGZvciBz
YW1wbGVSYXRlICIsIG1fc2FtcGxlUmF0ZSwgIiBhbmQgIiwgbV9udW1iZXJPZkNoYW5uZWxzLCAi
IGNoYW5uZWwocykiKTsKKyAgICAgICAgbV9hdWRpb0Zvcm1hdENoYW5nZWQgPSBmYWxzZTsKKyAg
ICB9Cit9CisjZW5kaWYKKwogdm9pZCBSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2NvYTo6
T25EYXRhKGNvbnN0IHZvaWQqIGF1ZGlvRGF0YSwgaW50IGJpdHNQZXJTYW1wbGUsIGludCBzYW1w
bGVSYXRlLCBzaXplX3QgbnVtYmVyT2ZDaGFubmVscywgc2l6ZV90IG51bWJlck9mRnJhbWVzKQog
ewogICAgIGlmIChzYW1wbGVSYXRlICE9IG1fc2FtcGxlUmF0ZSkKICAgICAgICAgcmV0dXJuOwog
CiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECi0gICAgaWYgKCEoKyttX2NodW5rc1JlY2VpdmVk
ICUgMjAwKSkgewotICAgICAgICBjYWxsT25NYWluVGhyZWFkKFtpZGVudGlmaWVyID0gTE9HSURF
TlRJRklFUiwgdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBjaHVua3NSZWNl
aXZlZCA9IG1fY2h1bmtzUmVjZWl2ZWRdIHsKLSAgICAgICAgICAgIEFMV0FZU19MT0dfSUYobG9n
Z2VyUHRyKCksIGlkZW50aWZpZXIsICJjaHVuayAiLCBjaHVua3NSZWNlaXZlZCk7Ci0gICAgICAg
IH0pOwotICAgIH0KKyAgICArK21fY2h1bmtzUmVjZWl2ZWQ7CiAjZW5kaWYKIAogICAgIGlmICgh
bV9hdWRpb0J1ZmZlckxpc3QgfHwgbV9udW1iZXJPZkNoYW5uZWxzICE9IG51bWJlck9mQ2hhbm5l
bHMpIHsKLSAgICAgICAgY2FsbE9uTWFpblRocmVhZChbaWRlbnRpZmllciA9IExPR0lERU5USUZJ
RVIsIHRoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgc2FtcGxlUmF0ZSwgbnVt
YmVyT2ZDaGFubmVsc10gewotICAgICAgICAgICAgQUxXQVlTX0xPR19JRihsb2dnZXJQdHIoKSwg
aWRlbnRpZmllciwgIm5ldyBhdWRpbyBidWZmZXIgbGlzdCBmb3Igc2FtcGxlUmF0ZSAiLCBzYW1w
bGVSYXRlLCAiIGFuZCAiLCBudW1iZXJPZkNoYW5uZWxzLCAiIGNoYW5uZWwocykiKTsKLSAgICAg
ICAgfSk7CisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgICAgIG1fYXVkaW9Gb3JtYXRD
aGFuZ2VkID0gdHJ1ZTsKKyNlbmRpZgogCiAgICAgICAgIG1fc2FtcGxlUmF0ZSA9IHNhbXBsZVJh
dGU7CiAgICAgICAgIG1fbnVtYmVyT2ZDaGFubmVscyA9IG51bWJlck9mQ2hhbm5lbHM7CiAgICAg
ICAgIG1fc3RyZWFtRGVzY3JpcHRpb24gPSBzdHJlYW1EZXNjcmlwdGlvbihzYW1wbGVSYXRlLCBu
dW1iZXJPZkNoYW5uZWxzKTsKLSAgICAgICAgbV9hdWRpb0J1ZmZlckxpc3QgPSBtYWtlVW5pcXVl
PFdlYkF1ZGlvQnVmZmVyTGlzdD4obV9zdHJlYW1EZXNjcmlwdGlvbik7CisKKyAgICAgICAgewor
ICAgICAgICAgICAgRGlzYWJsZU1hbGxvY1Jlc3RyaWN0aW9uc0ZvckN1cnJlbnRUaHJlYWRTY29w
ZSBzY29wZTsKKyAgICAgICAgICAgIG1fYXVkaW9CdWZmZXJMaXN0ID0gbWFrZVVuaXF1ZTxXZWJB
dWRpb0J1ZmZlckxpc3Q+KG1fc3RyZWFtRGVzY3JpcHRpb24pOworICAgICAgICB9CiAgICAgICAg
IGlmIChtX3NhbXBsZVJhdGUgJiYgbV9udW1iZXJPZkZyYW1lcykKICAgICAgICAgICAgIG1fbnVt
YmVyT2ZGcmFtZXMgPSBtX251bWJlck9mRnJhbWVzICogc2FtcGxlUmF0ZSAvIG1fc2FtcGxlUmF0
ZTsKICAgICAgICAgZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291
cmNlQ29jb2EuaAppbmRleCAxZDdjZDk2YzhiNGI1MzhkYzU5ZmY1YzQ3MmVjZThmYjMyYWEwNDVm
Li5hNmFkZGRlOGQ5YmRlNWMyY2ViZGZmYmNkYWQ2NDg5OTdiN2JlMDEwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ0F1
ZGlvU291cmNlQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EuaApAQCAtNDUsOSArNDUsMjAg
QEAgcHVibGljOgogcHJpdmF0ZToKICAgICBSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2Nv
YShydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpBdWRpb1RyYWNrSW50ZXJmYWNlPiYmLCBTdHJp
bmcmJik7CiAKKyAgICAvLyBSZWFsdGltZU1lZGlhU291cmNlIEFQSQorICAgIHZvaWQgc3RhcnRQ
cm9kdWNpbmdEYXRhKCkgZmluYWw7CisgICAgdm9pZCBzdG9wUHJvZHVjaW5nRGF0YSgpICBmaW5h
bDsKKwogICAgIC8vIHdlYnJ0Yzo6QXVkaW9UcmFja1NpbmtJbnRlcmZhY2UgQVBJCiAgICAgdm9p
ZCBPbkRhdGEoY29uc3Qgdm9pZCogYXVkaW9EYXRhLCBpbnQgYml0c1BlclNhbXBsZSwgaW50IHNh
bXBsZVJhdGUsIHNpemVfdCBudW1iZXJPZkNoYW5uZWxzLCBzaXplX3QgbnVtYmVyT2ZGcmFtZXMp
IGZpbmFsOwogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgdm9pZCBsb2dUaW1lckZp
cmVkKCk7CisjZW5kaWYKKworICAgIHN0YXRpYyBjb25zdGV4cHIgU2Vjb25kcyBMb2dUaW1lcklu
dGVydmFsID0gMl9zOworICAgIHN0YXRpYyBjb25zdGV4cHIgc2l6ZV90IENodW5rc1JlY2VpdmVk
RGVsdGEgPSAyMDA7IC8vIDIwMCBjaHVua3Mgb2YgMTBtcyA9IDJzLgorCiAgICAgdWludDY0X3Qg
bV9udW1iZXJPZkZyYW1lcyB7IDAgfTsKIAogICAgIGludCBtX3NhbXBsZVJhdGUgeyAwIH07CkBA
IC01Niw2ICs2Nyw5IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkF1ZGlvQnVm
ZmVyTGlzdD4gbV9hdWRpb0J1ZmZlckxpc3Q7CiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECiAg
ICAgc2l6ZV90IG1fY2h1bmtzUmVjZWl2ZWQgeyAwIH07CisgICAgc2l6ZV90IG1fbGFzdENodW5r
c1JlY2VpdmVkIHsgMCB9OworICAgIGJvb2wgbV9hdWRpb0Zvcm1hdENoYW5nZWQgeyBmYWxzZSB9
OworICAgIFRpbWVyIG1fbG9nVGltZXI7CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQ
cm94eS5jcHAKaW5kZXggMjcwMjc5M2ZmNTUxYmE5N2I3ZWZiMDkwMjM1Mzc0NjM5NmFlMjJhMy4u
YWVlZDk3NTc2OTUyN2U5YWE5YmZlMjRiMTdkMTE0ZGE2NTExZDIyNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1h
bmFnZXJQcm94eS5jcHAKQEAgLTE0NSw2ICsxNDUsOCBAQCBwcml2YXRlOgogCiAgICAgLy8gTWF5
IGdldCBjYWxsZWQgb24gYSBiYWNrZ3JvdW5kIHRocmVhZC4KICAgICB2b2lkIGF1ZGlvU2FtcGxl
c0F2YWlsYWJsZShjb25zdCBNZWRpYVRpbWUmIHRpbWUsIGNvbnN0IFBsYXRmb3JtQXVkaW9EYXRh
JiBhdWRpb0RhdGEsIGNvbnN0IEF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uLCBz
aXplX3QgbnVtYmVyT2ZGcmFtZXMpIGZpbmFsIHsKKyAgICAgICAgRGlzYWJsZU1hbGxvY1Jlc3Ry
aWN0aW9uc0ZvckN1cnJlbnRUaHJlYWRTY29wZSBzY29wZTsKKwogICAgICAgICBpZiAobV9kZXNj
cmlwdGlvbiAhPSBkZXNjcmlwdGlvbikgewogICAgICAgICAgICAgQVNTRVJUKGRlc2NyaXB0aW9u
LnBsYXRmb3JtRGVzY3JpcHRpb24oKS50eXBlID09IFBsYXRmb3JtRGVzY3JpcHRpb246OkNBQXVk
aW9TdHJlYW1CYXNpY1R5cGUpOwogICAgICAgICAgICAgbV9kZXNjcmlwdGlvbiA9ICpXVEY6Omdl
dDxjb25zdCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24qPihkZXNjcmlwdGlvbi5wbGF0Zm9y
bURlc2NyaXB0aW9uKCkuZGVzY3JpcHRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS93ZWJydGMvQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXIuY3BwIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvQXVkaW9NZWRpYVN0cmVhbVRyYWNr
UmVuZGVyZXIuY3BwCmluZGV4IDYyYTc4OTFlZmRiZjNlYTc5MjU0MDg0ZjgzODkzMmVmM2U5Mzdm
NGUuLjZiOWIwNjRiZGJkZWNiM2Y0MDhkNjU5ZWE0NTQxNTI3YmRiNjdkOGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0F1ZGlvTWVkaWFTdHJlYW1UcmFj
a1JlbmRlcmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9B
dWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlci5jcHAKQEAgLTkzLDYgKzkzLDcgQEAgdm9pZCBB
dWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlcjo6cHVzaFNhbXBsZXMoY29uc3QgTWVkaWFUaW1l
JiB0aW1lLCBjb25zdCBXZWIKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKG1fZGVzY3JpcHRp
b24gIT0gZGVzY3JpcHRpb24pIHsKKyAgICAgICAgRGlzYWJsZU1hbGxvY1Jlc3RyaWN0aW9uc0Zv
ckN1cnJlbnRUaHJlYWRTY29wZSBzY29wZTsKICAgICAgICAgQVNTRVJUKGRlc2NyaXB0aW9uLnBs
YXRmb3JtRGVzY3JpcHRpb24oKS50eXBlID09IFdlYkNvcmU6OlBsYXRmb3JtRGVzY3JpcHRpb246
OkNBQXVkaW9TdHJlYW1CYXNpY1R5cGUpOwogICAgICAgICBtX2Rlc2NyaXB0aW9uID0gKldURjo6
Z2V0PGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbio+KGRlc2NyaXB0aW9uLnBsYXRm
b3JtRGVzY3JpcHRpb24oKS5kZXNjcmlwdGlvbik7CiAKQEAgLTEwMyw2ICsxMDQsOCBAQCB2b2lk
IEF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyOjpwdXNoU2FtcGxlcyhjb25zdCBNZWRpYVRp
bWUmIHRpbWUsIGNvbnN0IFdlYgogCiAgICAgQVNTRVJUKGlzPFdlYkNvcmU6OldlYkF1ZGlvQnVm
ZmVyTGlzdD4oYXVkaW9EYXRhKSk7CiAgICAgbV9yaW5nQnVmZmVyLT5zdG9yZShkb3duY2FzdDxX
ZWJDb3JlOjpXZWJBdWRpb0J1ZmZlckxpc3Q+KGF1ZGlvRGF0YSkubGlzdCgpLCBudW1iZXJPZkZy
YW1lcywgdGltZS50aW1lVmFsdWUoKSk7CisKKyAgICBEaXNhYmxlTWFsbG9jUmVzdHJpY3Rpb25z
Rm9yQ3VycmVudFRocmVhZFNjb3BlIHNjb3BlOwogICAgIG1fY29ubmVjdGlvbi0+c2VuZChNZXNz
YWdlczo6UmVtb3RlQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXI6OkF1ZGlvU2FtcGxlc0F2
YWlsYWJsZSB7IHRpbWUsIG51bWJlck9mRnJhbWVzIH0sIG1faWRlbnRpZmllcik7CiB9CiAKQEAg
LTExOCw2ICsxMjEsNyBAQCB2b2lkIEF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyOjpzdG9y
YWdlQ2hhbmdlZChTaGFyZWRNZW1vcnkqIHN0b3JhZ2UsIGNvbnN0CiAjZWxzZQogICAgIHVpbnQ2
NF90IGRhdGFTaXplID0gMDsKICNlbmRpZgorICAgIERpc2FibGVNYWxsb2NSZXN0cmljdGlvbnNG
b3JDdXJyZW50VGhyZWFkU2NvcGUgc2NvcGU7CiAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3Nh
Z2VzOjpSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlcjo6QXVkaW9TYW1wbGVzU3Rv
cmFnZUNoYW5nZWQgeyBTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZSB7IFdURk1vdmUoaGFuZGxlKSwg
ZGF0YVNpemUgfSwgZm9ybWF0LCBmcmFtZUNvdW50IH0sIG1faWRlbnRpZmllcik7CiB9CiAK
</data>
<flag name="commit-queue"
          id="446710"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426429</attachid>
            <date>2021-04-19 09:05:05 -0700</date>
            <delta_ts>2021-04-21 00:50:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224750-20210419180503.patch</filename>
            <type>text/plain</type>
            <size>20810</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MjU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTQwNDA3MzA5ZTA4ZDIy
ZjE2OTczNzE0ZDM1YjJmZTc1YzZhMjI4NS4uMDUyZTIxNmNmZjMwNmU4OTdmOGI1YTcxZWZiMDRi
YTI3NmZlYzhlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIxLTA0LTE5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbWVtb3J5IGFsbG9j
YXRpb24gY2hlY2tzIGluIG1vcmUgcmVhbHRpbWUgYXVkaW8gY2FwdHVyZS9yZW5kZXJpbmcgcGxh
Y2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3
NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
RmFzdE1hbGxvYyBtYWNyb3MgdG8gY2F0Y2ggbWVtb3J5IGFsbG9jYXRpb24gaW4gYXVkaW8gc2Vu
c2l0aXZlIHRocmVhZHMuCisgICAgICAgIFVwZGF0ZSBMaWJXZWJSVENBdWRpb01vZHVsZSBhbmQg
UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EgdG8gbm90IHJlbHkgb24gRnVuY3Rpb24g
Y3JlYXRpb24gYnV0IHJlbHkgb24gVGltZXIgZm9yIGxhcmdlIGF1ZGlvIGdhcCBsb2dnaW5nLgor
ICAgICAgICBVcGRhdGUgQmFzZUF1ZGlvU2hhcmVkVW5pdCB0byBub3QgYWxsb2NhdGUgYSB2ZWN0
b3IgZWFjaCB0aW1lIGFuIGF1ZGlvIHNhbXBsZSBpcyBjYXB0dXJlZC4KKworICAgICAgICBDb3Zl
cmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0v
UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0F1ZGlvTW9kdWxlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxpYldlYlJUQ0F1ZGlvTW9kdWxlOjpMaWJXZWJSVENBdWRpb01vZHVsZSk6CisgICAgICAg
IChXZWJDb3JlOjpMaWJXZWJSVENBdWRpb01vZHVsZTo6U3RhcnRQbGF5b3V0KToKKyAgICAgICAg
KFdlYkNvcmU6OkxpYldlYlJUQ0F1ZGlvTW9kdWxlOjpTdG9wUGxheW91dCk6CisgICAgICAgIChX
ZWJDb3JlOjpMaWJXZWJSVENBdWRpb01vZHVsZTo6bG9nVGltZXJGaXJlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpMaWJXZWJSVENBdWRpb01vZHVsZTo6Y29tcHV0ZURlbGF5VW50aWxOZXh0UG9sbGlu
Zyk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENBdWRpb01vZHVsZTo6cG9sbEF1ZGlvRGF0
YSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0F1
ZGlvTW9kdWxlLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVk
aWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9N
ZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYTo6cHVzaFNhbXBsZXMpOgorICAgICAgICAqIHBs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9CYXNlQXVkaW9TaGFyZWRVbml0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkJhc2VBdWRpb1NoYXJlZFVuaXQ6OmFkZENsaWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpCYXNlQXVkaW9TaGFyZWRVbml0OjpyZW1vdmVDbGllbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6QmFzZUF1ZGlvU2hhcmVkVW5pdDo6YXVkaW9TYW1wbGVzQXZhaWxhYmxlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQmFzZUF1ZGlvU2hhcmVkVW5pdC5oOgorICAgICAg
ICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VD
b2NvYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VD
b2NvYTo6UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2E6OnN0YXJ0UHJvZHVjaW5nRGF0YSk6
CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2NvYTo6c3Rv
cFByb2R1Y2luZ0RhdGEpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ0F1ZGlv
U291cmNlQ29jb2E6OmxvZ1RpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJ
bmNvbWluZ0F1ZGlvU291cmNlQ29jb2E6Ok9uRGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmg6CisKIDIwMjEt
MDQtMTkgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXSBU
aGUgbGF5b3V0IGNvbnRhaW5tZW50IGJveCBlc3RhYmxpc2hlcyBhbiBhYnNvbHV0ZSBwb3NpdGlv
bmluZyBjb250YWluaW5nIGJsb2NrIGFuZCBhIGZpeGVkIHBvc2l0aW9uaW5nIGNvbnRhaW5pbmcg
YmxvY2sKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggODA5NjM5ZjE1Yjc4OTdmOGZiYzNhNDkyNjFmNGVkNTkwOTU5Njdj
ZC4uYmVmMzM1MGI3Y2M5NjhhNzJmZTZkNjYzYTAwNmQ4Mzc4NWFjZTRiZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAyMS0wNC0xOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CisKKyAgICAgICAgQWRkIG1lbW9yeSBhbGxvY2F0aW9uIGNoZWNrcyBpbiBtb3JlIHJlYWx0
aW1lIGF1ZGlvIGNhcHR1cmUvcmVuZGVyaW5nIHBsYWNlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NzUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2Fw
dHVyZU1hbmFnZXJQcm94eS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0F1
ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6QXVkaW9N
ZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXI6OnB1c2hTYW1wbGVzKToKKyAgICAgICAgKFdlYktpdDo6
QXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXI6OnN0b3JhZ2VDaGFuZ2VkKToKKwogMjAyMS0w
NC0xOSAgS2ltbW8gS2lubnVuZW4gIDxra2lubnVuZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEVu
YWJsZSAtV3RocmVhZC1zYWZldHksIGFkZCBhdHRyaWJ1dGVzIHRvIGN1c3RvbSBsb2NrIGNsYXNz
ZXMsIGFuZCBwcm92aWRlIG1hY3JvcyB0byBkZWNsYXJlIGd1YXJkcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291
cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29t
aW5nQXVkaW9Tb3VyY2UuaAppbmRleCA5ZDg0YmNiYzhjM2Y0ZWMyYTI5NWEzYjFiN2YxZTczN2Nk
NTdiYWFjLi5hMThmYzIxNjA4YzFjZDU5NmE1NDQ1NTAzMjhiODA1MjEzYjhhNGYwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29taW5n
QXVkaW9Tb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9S
ZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuaApAQCAtNjEsMTcgKzYxLDE3IEBAIHByb3RlY3Rl
ZDoKICAgICBjb25zdCBjaGFyKiBsb2dDbGFzc05hbWUoKSBjb25zdCBmaW5hbCB7IHJldHVybiAi
UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlIjsgfQogI2VuZGlmCiAKKyAgICAvLyBSZWFsdGlt
ZU1lZGlhU291cmNlIEFQSQorICAgIHZvaWQgc3RhcnRQcm9kdWNpbmdEYXRhKCkgb3ZlcnJpZGU7
CisgICAgdm9pZCBzdG9wUHJvZHVjaW5nRGF0YSgpICBvdmVycmlkZTsKKwogcHJpdmF0ZToKICAg
ICAvLyB3ZWJydGM6OkF1ZGlvVHJhY2tTaW5rSW50ZXJmYWNlIEFQSQotICAgIHZpcnR1YWwgdm9p
ZCBPbkRhdGEoY29uc3Qgdm9pZCogLyogYXVkaW9EYXRhICovLCBpbnQgLyogYml0c1BlclNhbXBs
ZSAqLywgaW50IC8qIHNhbXBsZVJhdGUgKi8sIHNpemVfdCAvKiBudW1iZXJPZkNoYW5uZWxzICov
LCBzaXplX3QgLyogbnVtYmVyT2ZGcmFtZXMgKi8pIHsgfTsKKyAgICB2b2lkIE9uRGF0YShjb25z
dCB2b2lkKiAvKiBhdWRpb0RhdGEgKi8sIGludCAvKiBiaXRzUGVyU2FtcGxlICovLCBpbnQgLyog
c2FtcGxlUmF0ZSAqLywgc2l6ZV90IC8qIG51bWJlck9mQ2hhbm5lbHMgKi8sIHNpemVfdCAvKiBu
dW1iZXJPZkZyYW1lcyAqLykgb3ZlcnJpZGUgeyB9OwogCiAgICAgLy8gd2VicnRjOjpPYnNlcnZl
ckludGVyZmFjZSBBUEkKICAgICB2b2lkIE9uQ2hhbmdlZCgpIGZpbmFsOwogCi0gICAgLy8gUmVh
bHRpbWVNZWRpYVNvdXJjZSBBUEkKLSAgICB2b2lkIHN0YXJ0UHJvZHVjaW5nRGF0YSgpIGZpbmFs
OwotICAgIHZvaWQgc3RvcFByb2R1Y2luZ0RhdGEoKSAgZmluYWw7Ci0KICAgICBjb25zdCBSZWFs
dGltZU1lZGlhU291cmNlQ2FwYWJpbGl0aWVzJiBjYXBhYmlsaXRpZXMoKSBmaW5hbDsKICAgICBj
b25zdCBSZWFsdGltZU1lZGlhU291cmNlU2V0dGluZ3MmIHNldHRpbmdzKCkgZmluYWw7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENBdWRpb01vZHVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDQXVkaW9Nb2R1bGUuY3BwCmluZGV4IGFhZGI3MGM5MTkz
OWUyY2JkNjg0MDQ5MWFlYTdkY2Q3Yjg3MTUyNDUuLjc4NTFiMTNkNjZhMjY2ZjBhYzg2NDRjZDlj
YjY2ODQwZGNhYzk3YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENBdWRpb01vZHVsZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0F1ZGlvTW9kdWxl
LmNwcApAQCAtMzAsMTEgKzMwLDEzIEBACiAKICNpbmNsdWRlICJMaWJXZWJSVENBdWRpb0Zvcm1h
dC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIExpYldlYlJUQ0F1ZGlvTW9kdWxlOjpMaWJXZWJSVENB
dWRpb01vZHVsZSgpCiAgICAgOiBtX3F1ZXVlKFdvcmtRdWV1ZTo6Y3JlYXRlKCJXZWJLaXRXZWJS
VENBdWRpb01vZHVsZSIsIFdvcmtRdWV1ZTo6VHlwZTo6U2VyaWFsLCBXb3JrUXVldWU6OlFPUzo6
VXNlckludGVyYWN0aXZlKSkKKyAgICAsIG1fbG9nVGltZXIoKnRoaXMsICZMaWJXZWJSVENBdWRp
b01vZHVsZTo6bG9nVGltZXJGaXJlZCkKIHsKIH0KIApAQCAtNTQsNiArNTYsMTAgQEAgaW50MzJf
dCBMaWJXZWJSVENBdWRpb01vZHVsZTo6U3RhcnRQbGF5b3V0KCkKICAgICAgICAgcmV0dXJuIDA7
CiAKICAgICBtX2lzUGxheWluZyA9IHRydWU7CisgICAgY2FsbE9uTWFpblRocmVhZChbdGhpcywg
cHJvdGVjdGVkVGhpcyA9IHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkF1ZGlvRGV2aWNlTW9k
dWxlPih0aGlzKV0geworICAgICAgICBtX2xvZ1RpbWVyLnN0YXJ0UmVwZWF0aW5nKGxvZ1RpbWVy
SW50ZXJ2YWwpOworICAgIH0pOworCiAgICAgbV9xdWV1ZS0+ZGlzcGF0Y2goW3RoaXMsIHByb3Rl
Y3RlZFRoaXMgPSBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpBdWRpb0RldmljZU1vZHVsZT4o
dGhpcyldIHsKICAgICAgICAgbV9wb2xsaW5nVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwog
ICAgICAgICBwb2xsQXVkaW9EYXRhKCk7CkBAIC02NiwzMyArNzIsNTAgQEAgaW50MzJfdCBMaWJX
ZWJSVENBdWRpb01vZHVsZTo6U3RvcFBsYXlvdXQoKQogICAgIFJFTEVBU0VfTE9HKFdlYlJUQywg
IkxpYldlYlJUQ0F1ZGlvTW9kdWxlOjpTdG9wUGxheW91dCAlZCIsIG1faXNQbGF5aW5nKTsKIAog
ICAgIG1faXNQbGF5aW5nID0gZmFsc2U7CisgICAgY2FsbE9uTWFpblRocmVhZChbdGhpcywgcHJv
dGVjdGVkVGhpcyA9IHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkF1ZGlvRGV2aWNlTW9kdWxl
Pih0aGlzKV0geworICAgICAgICBtX2xvZ1RpbWVyLnN0b3AoKTsKKyAgICB9KTsKICAgICByZXR1
cm4gMDsKIH0KIAordm9pZCBMaWJXZWJSVENBdWRpb01vZHVsZTo6bG9nVGltZXJGaXJlZCgpCit7
CisgICAgUkVMRUFTRV9MT0dfSUYobV90aW1lU3BlbnQsIFdlYlJUQywgIkxpYldlYlJUQ0F1ZGlv
TW9kdWxlOjpwb2xsQXVkaW9EYXRhLCBwb2xsaW5nIHRvb2sgdG9vIG11Y2ggdGltZTogJWQgbXMi
LCBtX3RpbWVTcGVudCk7CisgICAgbV90aW1lU3BlbnQgPSAwOworfQorCiAvLyBsaWJ3ZWJydGMg
dXNlcyAxMG1zIGZyYW1lcy4KIGNvbnN0IHVuc2lnbmVkIGZyYW1lTGVuZ3RoTXMgPSAxMDAwICog
TGliV2ViUlRDQXVkaW9Gb3JtYXQ6OmNodW5rU2FtcGxlQ291bnQgLyBMaWJXZWJSVENBdWRpb0Zv
cm1hdDo6c2FtcGxlUmF0ZTsKIGNvbnN0IHVuc2lnbmVkIHBvbGxJbnRlcnZhbCA9IExpYldlYlJU
Q0F1ZGlvTW9kdWxlOjpQb2xsU2FtcGxlc0NvdW50ICogZnJhbWVMZW5ndGhNczsKIGNvbnN0IHVu
c2lnbmVkIGNoYW5uZWxzID0gMjsKIAotdm9pZCBMaWJXZWJSVENBdWRpb01vZHVsZTo6cG9sbEF1
ZGlvRGF0YSgpCitTZWNvbmRzIExpYldlYlJUQ0F1ZGlvTW9kdWxlOjpjb21wdXRlRGVsYXlVbnRp
bE5leHRQb2xsaW5nKCkKIHsKLSAgICBpZiAoIW1faXNQbGF5aW5nKQotICAgICAgICByZXR1cm47
Ci0KLSAgICBwb2xsRnJvbVNvdXJjZSgpOwotCiAgICAgYXV0byBub3cgPSBNb25vdG9uaWNUaW1l
Ojpub3coKTsKICAgICBhdXRvIGRlbGF5VW50aWxOZXh0UG9sbGluZyA9IG1fcG9sbGluZ1RpbWUg
KyBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHBvbGxJbnRlcnZhbCkgLSBub3c7CiAgICAgaWYg
KGRlbGF5VW50aWxOZXh0UG9sbGluZy5taWxsaXNlY29uZHMoKSA8IDApIHsKLSAgICAgICAgY2Fs
bE9uTWFpblRocmVhZChbdGltZVNwZW50ID0gKG5vdyAtIG1fcG9sbGluZ1RpbWUpLm1pbGxpc2Vj
b25kcygpXSB7Ci0gICAgICAgICAgICBSRUxFQVNFX0xPRyhXZWJSVEMsICJMaWJXZWJSVENBdWRp
b01vZHVsZTo6cG9sbEF1ZGlvRGF0YSwgcG9sbGluZyB0b29rIHRvbyBtdWNoIHRpbWU6ICVkIG1z
IiwgKGludCl0aW1lU3BlbnQpOwotICAgICAgICB9KTsKKyAgICAgICAgbV90aW1lU3BlbnQgPSAo
bm93IC0gbV9wb2xsaW5nVGltZSkubWlsbGlzZWNvbmRzKCk7CiAgICAgICAgIGRlbGF5VW50aWxO
ZXh0UG9sbGluZyA9IDBfczsKICAgICB9CiAgICAgbV9wb2xsaW5nVGltZSA9IG5vdyArIGRlbGF5
VW50aWxOZXh0UG9sbGluZzsKLSAgICBtX3F1ZXVlLT5kaXNwYXRjaEFmdGVyKGRlbGF5VW50aWxO
ZXh0UG9sbGluZywgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBydGM6OnNjb3BlZF9yZWZwdHI8d2Vi
cnRjOjpBdWRpb0RldmljZU1vZHVsZT4odGhpcyldIHsKKyAgICByZXR1cm4gZGVsYXlVbnRpbE5l
eHRQb2xsaW5nOworfQorCit2b2lkIExpYldlYlJUQ0F1ZGlvTW9kdWxlOjpwb2xsQXVkaW9EYXRh
KCkKK3sKKyAgICBpZiAoIW1faXNQbGF5aW5nKQorICAgICAgICByZXR1cm47CisKKyAgICBGdW5j
dGlvbjx2b2lkKCk+IG5leHRQb2xsRnVuY3Rpb24gPSBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IHJ0
Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkF1ZGlvRGV2aWNlTW9kdWxlPih0aGlzKV0gewogICAg
ICAgICBwb2xsQXVkaW9EYXRhKCk7Ci0gICAgfSk7CisgICAgfTsKKworICAgIC8vIEZvciBwZXJm
b3JtYW5jZSByZWFzb25zLCB3ZSBmb3JiaWQgaGVhcCBhbGxvY2F0aW9ucyB3aGlsZSBkb2luZyBy
ZW5kZXJpbmcgb24gdGhlIHdlYnJ0YyBhdWRpbyB0aHJlYWQuCisgICAgRm9yYmlkTWFsbG9jVXNl
Rm9yQ3VycmVudFRocmVhZFNjb3BlIGZvcmJpZE1hbGxvY1VzZTsKKworICAgIHBvbGxGcm9tU291
cmNlKCk7CisKKyAgICBtX3F1ZXVlLT5kaXNwYXRjaEFmdGVyKGNvbXB1dGVEZWxheVVudGlsTmV4
dFBvbGxpbmcoKSwgV1RGTW92ZShuZXh0UG9sbEZ1bmN0aW9uKSk7CiB9CiAKIHZvaWQgTGliV2Vi
UlRDQXVkaW9Nb2R1bGU6OnBvbGxGcm9tU291cmNlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENBdWRpb01vZHVsZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJU
Q0F1ZGlvTW9kdWxlLmgKaW5kZXggYTE1NjlhNDJkMWI5M2U3ZWYzZDNhY2NhYjM4YzY5ODYxMmE1
ZGM5ZC4uMTAwMDI5NmE5MDQ3NjE0NjIzNDFjZDkwMTJkMGEwNWQwYTc3NmM0MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJU
Q0F1ZGlvTW9kdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bGlid2VicnRjL0xpYldlYlJUQ0F1ZGlvTW9kdWxlLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBV
U0UoTElCV0VCUlRDKQogCiAjaW5jbHVkZSAiTGliV2ViUlRDTWFjcm9zLmgiCisjaW5jbHVkZSAi
VGltZXIuaCIKIAogQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfQkVHSU4KIApAQCAtMTIzLDExICsx
MjQsMTcgQEAgcHJpdmF0ZToKIHByaXZhdGU6CiAgICAgdm9pZCBwb2xsQXVkaW9EYXRhKCk7CiAg
ICAgdm9pZCBwb2xsRnJvbVNvdXJjZSgpOworICAgIHZvaWQgbG9nVGltZXJGaXJlZCgpOworICAg
IFNlY29uZHMgY29tcHV0ZURlbGF5VW50aWxOZXh0UG9sbGluZygpOworCisgICAgc3RhdGljIGNv
bnN0ZXhwciBTZWNvbmRzIGxvZ1RpbWVySW50ZXJ2YWwgPSAyX3M7CiAKICAgICBSZWY8V29ya1F1
ZXVlPiBtX3F1ZXVlOwogICAgIGJvb2wgbV9pc1BsYXlpbmcgeyBmYWxzZSB9OwogICAgIHdlYnJ0
Yzo6QXVkaW9UcmFuc3BvcnQqIG1fYXVkaW9UcmFuc3BvcnQgeyBudWxscHRyIH07CiAgICAgTW9u
b3RvbmljVGltZSBtX3BvbGxpbmdUaW1lOworICAgIFRpbWVyIG1fbG9nVGltZXI7CisgICAgaW50
IG1fdGltZVNwZW50IHsgMCB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVkaWFT
dHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuY3BwCmluZGV4
IGJjNGZkMDBkNzM0NjhiNDc3YTI5MTBkNjVmNDE0ZDdkMGNiYWQxNjEuLmQ5OWI4OGE0MjAwYzBh
MmQzNTY4MzhlYjA0MmViY2QyODg4N2JiNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9BdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29h
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9N
ZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYS5jcHAKQEAgLTg5LDYgKzg5LDggQEAgdm9pZCBB
dWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hOjpwdXNoU2FtcGxlcyhjb25zdCBNZWRp
YVRpbWUmIHNhbXBsZVRpbWUKICAgICBBU1NFUlQoIWlzTWFpblRocmVhZCgpKTsKICAgICBBU1NF
UlQoZGVzY3JpcHRpb24ucGxhdGZvcm1EZXNjcmlwdGlvbigpLnR5cGUgPT0gUGxhdGZvcm1EZXNj
cmlwdGlvbjo6Q0FBdWRpb1N0cmVhbUJhc2ljVHlwZSk7CiAgICAgaWYgKCFtX2RhdGFTb3VyY2Ug
fHwgbV9zaG91bGRSZXNldCB8fCAhbV9kYXRhU291cmNlLT5pbnB1dERlc2NyaXB0aW9uKCkgfHwg
Km1fZGF0YVNvdXJjZS0+aW5wdXREZXNjcmlwdGlvbigpICE9IGRlc2NyaXB0aW9uKSB7CisgICAg
ICAgIERpc2FibGVNYWxsb2NSZXN0cmljdGlvbnNGb3JDdXJyZW50VGhyZWFkU2NvcGUgc2NvcGU7
CisKICAgICAgICAgLy8gRklYTUU6IEZvciBub24gbGlid2VicnRjIHNvdXJjZXMsIHdlIGNhbiBw
cm9iYWJseSByZWR1Y2UgcG9sbCBzYW1wbGVzIGNvdW50IHRvIDIuCiAgICAgICAgIAogICAgICAg
ICBhdXRvIGRhdGFTb3VyY2UgPSBBdWRpb1NhbXBsZURhdGFTb3VyY2U6OmNyZWF0ZShkZXNjcmlw
dGlvbi5zYW1wbGVSYXRlKCkgKiAwLjUsICp0aGlzLCBwb2xsU2FtcGxlc0NvdW50KCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Jhc2VBdWRp
b1NoYXJlZFVuaXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L0Jhc2VBdWRpb1NoYXJlZFVuaXQuY3BwCmluZGV4IDlmYzVmZjUwYTY1NjIzOWM5NWU0MTEwZmM2
NTZkOTQ4NDE0YzEzZjUuLjJlOWVjZDc5YmFiOWM4NTU4MjkxOGRmYzM1ZWM1Nzg4MTUwMjI5YTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9CYXNl
QXVkaW9TaGFyZWRVbml0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvQmFzZUF1ZGlvU2hhcmVkVW5pdC5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNs
dWRlICJEZXByZWNhdGVkR2xvYmFsU2V0dGluZ3MuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAj
aW5jbHVkZSAiUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgiCisjaW5jbHVkZSA8d3RmL0Zh
c3RNYWxsb2MuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MywxMiArNDQsMTQgQEAg
QmFzZUF1ZGlvU2hhcmVkVW5pdDo6QmFzZUF1ZGlvU2hhcmVkVW5pdCgpCiAKIHZvaWQgQmFzZUF1
ZGlvU2hhcmVkVW5pdDo6YWRkQ2xpZW50KENvcmVBdWRpb0NhcHR1cmVTb3VyY2UmIGNsaWVudCkK
IHsKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIGF1dG8gbG9ja2VyID0gaG9sZExv
Y2sobV9jbGllbnRzTG9jayk7CiAgICAgbV9jbGllbnRzLmFkZCgmY2xpZW50KTsKIH0KIAogdm9p
ZCBCYXNlQXVkaW9TaGFyZWRVbml0OjpyZW1vdmVDbGllbnQoQ29yZUF1ZGlvQ2FwdHVyZVNvdXJj
ZSYgY2xpZW50KQogeworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgYXV0byBsb2Nr
ZXIgPSBob2xkTG9jayhtX2NsaWVudHNMb2NrKTsKICAgICBtX2NsaWVudHMucmVtb3ZlKCZjbGll
bnQpOwogfQpAQCAtMjEzLDEwICsyMTYsMTUgQEAgT1NTdGF0dXMgQmFzZUF1ZGlvU2hhcmVkVW5p
dDo6c3VzcGVuZCgpCiAKIHZvaWQgQmFzZUF1ZGlvU2hhcmVkVW5pdDo6YXVkaW9TYW1wbGVzQXZh
aWxhYmxlKGNvbnN0IE1lZGlhVGltZSYgdGltZSwgY29uc3QgUGxhdGZvcm1BdWRpb0RhdGEmIGRh
dGEsIGNvbnN0IEF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uLCBzaXplX3QgbnVt
YmVyT2ZGcmFtZXMpCiB7Ci0gICAgZm9yRWFjaENsaWVudChbJl0oYXV0byYgY2xpZW50KSB7Ci0g
ICAgICAgIGlmIChjbGllbnQuaXNQcm9kdWNpbmdEYXRhKCkpCi0gICAgICAgICAgICBjbGllbnQu
YXVkaW9TYW1wbGVzQXZhaWxhYmxlKHRpbWUsIGRhdGEsIGRlc2NyaXB0aW9uLCBudW1iZXJPZkZy
YW1lcyk7Ci0gICAgfSk7CisgICAgLy8gRm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMsIHdlIGZvcmJp
ZCBoZWFwIGFsbG9jYXRpb25zIHdoaWxlIGRvaW5nIHJlbmRlcmluZyBvbiB0aGUgY2FwdHVyZSBh
dWRpbyB0aHJlYWQuCisgICAgRm9yYmlkTWFsbG9jVXNlRm9yQ3VycmVudFRocmVhZFNjb3BlIGZv
cmJpZE1hbGxvY1VzZTsKKworICAgIC8vIFdlIGhvbGQgdGhlIGxvY2sgaGVyZSBzaW5jZSBhZGRp
bmcvcmVtb3ZpbmcgY2xpZW50cyBjYW4gb25seSBoYXBwZW4gaW4gbWFpbiB0aHJlYWQuCisgICAg
YXV0byBsb2NrZXIgPSBob2xkTG9jayhtX2NsaWVudHNMb2NrKTsKKyAgICBmb3IgKGF1dG8qIGNs
aWVudCA6IG1fY2xpZW50cykgeworICAgICAgICBpZiAoY2xpZW50LT5pc1Byb2R1Y2luZ0RhdGEo
KSkKKyAgICAgICAgICAgIGNsaWVudC0+YXVkaW9TYW1wbGVzQXZhaWxhYmxlKHRpbWUsIGRhdGEs
IGRlc2NyaXB0aW9uLCBudW1iZXJPZkZyYW1lcyk7CisgICAgfQogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvQmFzZUF1ZGlvU2hhcmVkVW5pdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL0Jhc2VBdWRpb1NoYXJlZFVuaXQuaAppbmRleCA4NDgxN2M1MTljMjBiYjVm
MGVlYjVmZDMyYzU0MDQxMGU2NWVjMWY4Li5kMjNjZDlkNTE0NGE3OTI0OGY3NTRiMzZkNThhOTE3
MTZlYmJiYzVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvQmFzZUF1ZGlvU2hhcmVkVW5pdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9CYXNlQXVkaW9TaGFyZWRVbml0LmgKQEAgLTI4LDExICsyOCwxMCBA
QAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKICNpbmNsdWRlICJSZWFsdGltZU1lZGlhU291
cmNlQ2FwYWJpbGl0aWVzLmgiCi0jaW5jbHVkZSA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+
CiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KKyNp
bmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4KLSNpbmNsdWRl
IDx3dGYvUmVjdXJzaXZlTG9ja0FkYXB0ZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTA0LDcgKzEwMyw3IEBAIHByaXZhdGU6
CiAgICAgaW50MzJfdCBtX3Byb2R1Y2luZ0NvdW50IHsgMCB9OwogCiAgICAgSGFzaFNldDxDb3Jl
QXVkaW9DYXB0dXJlU291cmNlKj4gbV9jbGllbnRzOwotICAgIG11dGFibGUgUmVjdXJzaXZlTG9j
ayBtX2NsaWVudHNMb2NrOworICAgIG11dGFibGUgTG9jayBtX2NsaWVudHNMb2NrOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5n
QXVkaW9Tb3VyY2VDb2NvYS5jcHAKaW5kZXggM2JkYTU5NGI5ZmE4YzA5N2M1ODdhNGU4MGIxNTVl
ZDc1ZTk4MWUzOS4uMjY2MDI4YzEyMDVhNzM1MzQwMTIyNDM3ODQzMjM1MWMyYjViMDA5NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1l
SW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EuY3BwCkBA
IC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiTGliV2ViUlRDQXVkaW9Gb3JtYXQuaCIKICNpbmNs
dWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSA8cGFsL2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVBVkZv
dW5kYXRpb24uaD4KKyNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgogCiAjaW5jbHVkZSA8cGFs
L2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAKQEAgLTY2LDMxICs2Nyw2NCBAQCBSZWFsdGltZUlu
Y29taW5nQXVkaW9Tb3VyY2VDb2NvYTo6UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2Eo
cnRjOjpzY29wZWRfcgogICAgICwgbV9udW1iZXJPZkNoYW5uZWxzKDEpCiAgICAgLCBtX3N0cmVh
bURlc2NyaXB0aW9uKHN0cmVhbURlc2NyaXB0aW9uKG1fc2FtcGxlUmF0ZSwgbV9udW1iZXJPZkNo
YW5uZWxzKSkKICAgICAsIG1fYXVkaW9CdWZmZXJMaXN0KG1ha2VVbmlxdWU8V2ViQXVkaW9CdWZm
ZXJMaXN0PihtX3N0cmVhbURlc2NyaXB0aW9uKSkKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQK
KyAgICAsIG1fbG9nVGltZXIoKnRoaXMsICZSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2Nv
YTo6bG9nVGltZXJGaXJlZCkKKyNlbmRpZgoreworfQorCit2b2lkIFJlYWx0aW1lSW5jb21pbmdB
dWRpb1NvdXJjZUNvY29hOjpzdGFydFByb2R1Y2luZ0RhdGEoKQoreworICAgIFJlYWx0aW1lSW5j
b21pbmdBdWRpb1NvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKCk7CisjaWYgIVJFTEVBU0VfTE9H
X0RJU0FCTEVECisgICAgbV9sb2dUaW1lci5zdGFydFJlcGVhdGluZyhMb2dUaW1lckludGVydmFs
KTsKKyNlbmRpZgorfQorCit2b2lkIFJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hOjpz
dG9wUHJvZHVjaW5nRGF0YSgpCiB7CisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAgbV9s
b2dUaW1lci5zdG9wKCk7CisjZW5kaWYKKyAgICBSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2U6
OnN0b3BQcm9kdWNpbmdEYXRhKCk7CiB9CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKK3Zv
aWQgUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2E6OmxvZ1RpbWVyRmlyZWQoKQorewor
ICAgIGlmICghbV9sYXN0Q2h1bmtzUmVjZWl2ZWQgfHwgKG1fY2h1bmtzUmVjZWl2ZWQgLSBtX2xh
c3RDaHVua3NSZWNlaXZlZCkgPj0gQ2h1bmtzUmVjZWl2ZWREZWx0YSkgeworICAgICAgICBtX2xh
c3RDaHVua3NSZWNlaXZlZCA9IG1fY2h1bmtzUmVjZWl2ZWQ7CisgICAgICAgIEFMV0FZU19MT0df
SUYobG9nZ2VyUHRyKCksIExPR0lERU5USUZJRVIsICJjaHVuayAiLCBtX2NodW5rc1JlY2VpdmVk
KTsKKyAgICB9CisgICAgaWYgKG1fYXVkaW9Gb3JtYXRDaGFuZ2VkKSB7CisgICAgICAgIEFMV0FZ
U19MT0dfSUYobG9nZ2VyUHRyKCksIExPR0lERU5USUZJRVIsICJuZXcgYXVkaW8gYnVmZmVyIGxp
c3QgZm9yIHNhbXBsZVJhdGUgIiwgbV9zYW1wbGVSYXRlLCAiIGFuZCAiLCBtX251bWJlck9mQ2hh
bm5lbHMsICIgY2hhbm5lbChzKSIpOworICAgICAgICBtX2F1ZGlvRm9ybWF0Q2hhbmdlZCA9IGZh
bHNlOworICAgIH0KK30KKyNlbmRpZgorCiB2b2lkIFJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJj
ZUNvY29hOjpPbkRhdGEoY29uc3Qgdm9pZCogYXVkaW9EYXRhLCBpbnQgYml0c1BlclNhbXBsZSwg
aW50IHNhbXBsZVJhdGUsIHNpemVfdCBudW1iZXJPZkNoYW5uZWxzLCBzaXplX3QgbnVtYmVyT2ZG
cmFtZXMpCiB7CiAgICAgaWYgKHNhbXBsZVJhdGUgIT0gbV9zYW1wbGVSYXRlKQogICAgICAgICBy
ZXR1cm47CiAKICNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKLSAgICBpZiAoISgrK21fY2h1bmtz
UmVjZWl2ZWQgJSAyMDApKSB7Ci0gICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW2lkZW50aWZpZXIg
PSBMT0dJREVOVElGSUVSLCB0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIGNo
dW5rc1JlY2VpdmVkID0gbV9jaHVua3NSZWNlaXZlZF0gewotICAgICAgICAgICAgQUxXQVlTX0xP
R19JRihsb2dnZXJQdHIoKSwgaWRlbnRpZmllciwgImNodW5rICIsIGNodW5rc1JlY2VpdmVkKTsK
LSAgICAgICAgfSk7Ci0gICAgfQorICAgICsrbV9jaHVua3NSZWNlaXZlZDsKICNlbmRpZgogCiAg
ICAgaWYgKCFtX2F1ZGlvQnVmZmVyTGlzdCB8fCBtX251bWJlck9mQ2hhbm5lbHMgIT0gbnVtYmVy
T2ZDaGFubmVscykgewotICAgICAgICBjYWxsT25NYWluVGhyZWFkKFtpZGVudGlmaWVyID0gTE9H
SURFTlRJRklFUiwgdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpLCBzYW1wbGVS
YXRlLCBudW1iZXJPZkNoYW5uZWxzXSB7Ci0gICAgICAgICAgICBBTFdBWVNfTE9HX0lGKGxvZ2dl
clB0cigpLCBpZGVudGlmaWVyLCAibmV3IGF1ZGlvIGJ1ZmZlciBsaXN0IGZvciBzYW1wbGVSYXRl
ICIsIHNhbXBsZVJhdGUsICIgYW5kICIsIG51bWJlck9mQ2hhbm5lbHMsICIgY2hhbm5lbChzKSIp
OwotICAgICAgICB9KTsKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICAgICAgbV9hdWRp
b0Zvcm1hdENoYW5nZWQgPSB0cnVlOworI2VuZGlmCiAKICAgICAgICAgbV9zYW1wbGVSYXRlID0g
c2FtcGxlUmF0ZTsKICAgICAgICAgbV9udW1iZXJPZkNoYW5uZWxzID0gbnVtYmVyT2ZDaGFubmVs
czsKICAgICAgICAgbV9zdHJlYW1EZXNjcmlwdGlvbiA9IHN0cmVhbURlc2NyaXB0aW9uKHNhbXBs
ZVJhdGUsIG51bWJlck9mQ2hhbm5lbHMpOwotICAgICAgICBtX2F1ZGlvQnVmZmVyTGlzdCA9IG1h
a2VVbmlxdWU8V2ViQXVkaW9CdWZmZXJMaXN0PihtX3N0cmVhbURlc2NyaXB0aW9uKTsKKworICAg
ICAgICB7CisgICAgICAgICAgICBEaXNhYmxlTWFsbG9jUmVzdHJpY3Rpb25zRm9yQ3VycmVudFRo
cmVhZFNjb3BlIHNjb3BlOworICAgICAgICAgICAgbV9hdWRpb0J1ZmZlckxpc3QgPSBtYWtlVW5p
cXVlPFdlYkF1ZGlvQnVmZmVyTGlzdD4obV9zdHJlYW1EZXNjcmlwdGlvbik7CisgICAgICAgIH0K
ICAgICAgICAgaWYgKG1fc2FtcGxlUmF0ZSAmJiBtX251bWJlck9mRnJhbWVzKQogICAgICAgICAg
ICAgbV9udW1iZXJPZkZyYW1lcyA9IG1fbnVtYmVyT2ZGcmFtZXMgKiBzYW1wbGVSYXRlIC8gbV9z
YW1wbGVSYXRlOwogICAgICAgICBlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5n
QXVkaW9Tb3VyY2VDb2NvYS5oCmluZGV4IDFkN2NkOTZjOGI0YjUzOGRjNTlmZjVjNDcyZWNlOGZi
MzJhYTA0NWYuLmE2YWRkZGU4ZDliZGU1YzJjZWJkZmZiY2RhZDY0ODk5N2I3YmUwMTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUlu
Y29taW5nQXVkaW9Tb3VyY2VDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2NvYS5oCkBAIC00NSw5
ICs0NSwyMCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFJlYWx0aW1lSW5jb21pbmdBdWRpb1Nv
dXJjZUNvY29hKHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkF1ZGlvVHJhY2tJbnRlcmZhY2U+
JiYsIFN0cmluZyYmKTsKIAorICAgIC8vIFJlYWx0aW1lTWVkaWFTb3VyY2UgQVBJCisgICAgdm9p
ZCBzdGFydFByb2R1Y2luZ0RhdGEoKSBmaW5hbDsKKyAgICB2b2lkIHN0b3BQcm9kdWNpbmdEYXRh
KCkgIGZpbmFsOworCiAgICAgLy8gd2VicnRjOjpBdWRpb1RyYWNrU2lua0ludGVyZmFjZSBBUEkK
ICAgICB2b2lkIE9uRGF0YShjb25zdCB2b2lkKiBhdWRpb0RhdGEsIGludCBiaXRzUGVyU2FtcGxl
LCBpbnQgc2FtcGxlUmF0ZSwgc2l6ZV90IG51bWJlck9mQ2hhbm5lbHMsIHNpemVfdCBudW1iZXJP
ZkZyYW1lcykgZmluYWw7CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICB2b2lkIGxv
Z1RpbWVyRmlyZWQoKTsKKyNlbmRpZgorCisgICAgc3RhdGljIGNvbnN0ZXhwciBTZWNvbmRzIExv
Z1RpbWVySW50ZXJ2YWwgPSAyX3M7CisgICAgc3RhdGljIGNvbnN0ZXhwciBzaXplX3QgQ2h1bmtz
UmVjZWl2ZWREZWx0YSA9IDIwMDsgLy8gMjAwIGNodW5rcyBvZiAxMG1zID0gMnMuCisKICAgICB1
aW50NjRfdCBtX251bWJlck9mRnJhbWVzIHsgMCB9OwogCiAgICAgaW50IG1fc2FtcGxlUmF0ZSB7
IDAgfTsKQEAgLTU2LDYgKzY3LDkgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2Vi
QXVkaW9CdWZmZXJMaXN0PiBtX2F1ZGlvQnVmZmVyTGlzdDsKICNpZiAhUkVMRUFTRV9MT0dfRElT
QUJMRUQKICAgICBzaXplX3QgbV9jaHVua3NSZWNlaXZlZCB7IDAgfTsKKyAgICBzaXplX3QgbV9s
YXN0Q2h1bmtzUmVjZWl2ZWQgeyAwIH07CisgICAgYm9vbCBtX2F1ZGlvRm9ybWF0Q2hhbmdlZCB7
IGZhbHNlIH07CisgICAgVGltZXIgbV9sb2dUaW1lcjsKICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJl
TWFuYWdlclByb3h5LmNwcAppbmRleCAyNzAyNzkzZmY1NTFiYTk3YjdlZmIwOTAyMzUzNzQ2Mzk2
YWUyMmEzLi5hZWVkOTc1NzY5NTI3ZTlhYTliZmUyNGIxN2QxMTRkYTY1MTFkMjI3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdl
clByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFD
YXB0dXJlTWFuYWdlclByb3h5LmNwcApAQCAtMTQ1LDYgKzE0NSw4IEBAIHByaXZhdGU6CiAKICAg
ICAvLyBNYXkgZ2V0IGNhbGxlZCBvbiBhIGJhY2tncm91bmQgdGhyZWFkLgogICAgIHZvaWQgYXVk
aW9TYW1wbGVzQXZhaWxhYmxlKGNvbnN0IE1lZGlhVGltZSYgdGltZSwgY29uc3QgUGxhdGZvcm1B
dWRpb0RhdGEmIGF1ZGlvRGF0YSwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgZGVzY3Jp
cHRpb24sIHNpemVfdCBudW1iZXJPZkZyYW1lcykgZmluYWwgeworICAgICAgICBEaXNhYmxlTWFs
bG9jUmVzdHJpY3Rpb25zRm9yQ3VycmVudFRocmVhZFNjb3BlIHNjb3BlOworCiAgICAgICAgIGlm
IChtX2Rlc2NyaXB0aW9uICE9IGRlc2NyaXB0aW9uKSB7CiAgICAgICAgICAgICBBU1NFUlQoZGVz
Y3JpcHRpb24ucGxhdGZvcm1EZXNjcmlwdGlvbigpLnR5cGUgPT0gUGxhdGZvcm1EZXNjcmlwdGlv
bjo6Q0FBdWRpb1N0cmVhbUJhc2ljVHlwZSk7CiAgICAgICAgICAgICBtX2Rlc2NyaXB0aW9uID0g
KldURjo6Z2V0PGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbio+KGRlc2NyaXB0aW9u
LnBsYXRmb3JtRGVzY3JpcHRpb24oKS5kZXNjcmlwdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9BdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9BdWRpb01lZGlhU3Ry
ZWFtVHJhY2tSZW5kZXJlci5jcHAKaW5kZXggNjJhNzg5MWVmZGJmM2VhNzkyNTQwODRmODM4OTMy
ZWYzZTkzN2Y0ZS4uNmI5YjA2NGJkYmRlY2IzZjQwOGQ2NTllYTQ1NDE1MjdiZGI2N2Q4ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvQXVkaW9NZWRpYVN0
cmVhbVRyYWNrUmVuZGVyZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUv
d2VicnRjL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyLmNwcApAQCAtOTMsNiArOTMsNyBA
QCB2b2lkIEF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyOjpwdXNoU2FtcGxlcyhjb25zdCBN
ZWRpYVRpbWUmIHRpbWUsIGNvbnN0IFdlYgogICAgICAgICByZXR1cm47CiAKICAgICBpZiAobV9k
ZXNjcmlwdGlvbiAhPSBkZXNjcmlwdGlvbikgeworICAgICAgICBEaXNhYmxlTWFsbG9jUmVzdHJp
Y3Rpb25zRm9yQ3VycmVudFRocmVhZFNjb3BlIHNjb3BlOwogICAgICAgICBBU1NFUlQoZGVzY3Jp
cHRpb24ucGxhdGZvcm1EZXNjcmlwdGlvbigpLnR5cGUgPT0gV2ViQ29yZTo6UGxhdGZvcm1EZXNj
cmlwdGlvbjo6Q0FBdWRpb1N0cmVhbUJhc2ljVHlwZSk7CiAgICAgICAgIG1fZGVzY3JpcHRpb24g
PSAqV1RGOjpnZXQ8Y29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKj4oZGVzY3JpcHRp
b24ucGxhdGZvcm1EZXNjcmlwdGlvbigpLmRlc2NyaXB0aW9uKTsKIApAQCAtMTAzLDYgKzEwNCw4
IEBAIHZvaWQgQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXI6OnB1c2hTYW1wbGVzKGNvbnN0
IE1lZGlhVGltZSYgdGltZSwgY29uc3QgV2ViCiAKICAgICBBU1NFUlQoaXM8V2ViQ29yZTo6V2Vi
QXVkaW9CdWZmZXJMaXN0PihhdWRpb0RhdGEpKTsKICAgICBtX3JpbmdCdWZmZXItPnN0b3JlKGRv
d25jYXN0PFdlYkNvcmU6OldlYkF1ZGlvQnVmZmVyTGlzdD4oYXVkaW9EYXRhKS5saXN0KCksIG51
bWJlck9mRnJhbWVzLCB0aW1lLnRpbWVWYWx1ZSgpKTsKKworICAgIERpc2FibGVNYWxsb2NSZXN0
cmljdGlvbnNGb3JDdXJyZW50VGhyZWFkU2NvcGUgc2NvcGU7CiAgICAgbV9jb25uZWN0aW9uLT5z
ZW5kKE1lc3NhZ2VzOjpSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlcjo6QXVkaW9T
YW1wbGVzQXZhaWxhYmxlIHsgdGltZSwgbnVtYmVyT2ZGcmFtZXMgfSwgbV9pZGVudGlmaWVyKTsK
IH0KIApAQCAtMTE4LDYgKzEyMSw3IEBAIHZvaWQgQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVy
ZXI6OnN0b3JhZ2VDaGFuZ2VkKFNoYXJlZE1lbW9yeSogc3RvcmFnZSwgY29uc3QKICNlbHNlCiAg
ICAgdWludDY0X3QgZGF0YVNpemUgPSAwOwogI2VuZGlmCisgICAgRGlzYWJsZU1hbGxvY1Jlc3Ry
aWN0aW9uc0ZvckN1cnJlbnRUaHJlYWRTY29wZSBzY29wZTsKICAgICBtX2Nvbm5lY3Rpb24tPnNl
bmQoTWVzc2FnZXM6OlJlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyOjpBdWRpb1Nh
bXBsZXNTdG9yYWdlQ2hhbmdlZCB7IFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlIHsgV1RGTW92ZSho
YW5kbGUpLCBkYXRhU2l6ZSB9LCBmb3JtYXQsIGZyYW1lQ291bnQgfSwgbV9pZGVudGlmaWVyKTsK
IH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426657</attachid>
            <date>2021-04-21 00:50:49 -0700</date>
            <delta_ts>2021-04-21 07:12:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224750-20210421095048.patch</filename>
            <type>text/plain</type>
            <size>21485</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MzQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjk2MDlmNWI0Yjg2NzRl
YTkxNmRkNzFhZDU4MjhjYjliZDU1ZWZiYy4uNmJkNjU4MDAyZmNiM2MwMzQxMDUyMjYwNjZlMGFk
YzczNGViMmZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIxLTA0LTIxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbWVtb3J5IGFsbG9j
YXRpb24gY2hlY2tzIGluIG1vcmUgcmVhbHRpbWUgYXVkaW8gY2FwdHVyZS9yZW5kZXJpbmcgcGxh
Y2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3
NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
RmFzdE1hbGxvYyBtYWNyb3MgdG8gY2F0Y2ggbWVtb3J5IGFsbG9jYXRpb24gaW4gYXVkaW8gc2Vu
c2l0aXZlIHRocmVhZHMuCisgICAgICAgIFVwZGF0ZSBMaWJXZWJSVENBdWRpb01vZHVsZSBhbmQg
UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EgdG8gbm90IHJlbHkgb24gRnVuY3Rpb24g
Y3JlYXRpb24gYnV0IHJlbHkgb24gVGltZXIgZm9yIGxhcmdlIGF1ZGlvIGdhcCBsb2dnaW5nLgor
ICAgICAgICBVcGRhdGUgQmFzZUF1ZGlvU2hhcmVkVW5pdCB0byBub3QgYWxsb2NhdGUgYSB2ZWN0
b3IgZWFjaCB0aW1lIGFuIGF1ZGlvIHNhbXBsZSBpcyBjYXB0dXJlZC4KKworICAgICAgICBDb3Zl
cmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0v
UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0F1ZGlvTW9kdWxlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxpYldlYlJUQ0F1ZGlvTW9kdWxlOjpMaWJXZWJSVENBdWRpb01vZHVsZSk6CisgICAgICAg
IChXZWJDb3JlOjpMaWJXZWJSVENBdWRpb01vZHVsZTo6U3RhcnRQbGF5b3V0KToKKyAgICAgICAg
KFdlYkNvcmU6OkxpYldlYlJUQ0F1ZGlvTW9kdWxlOjpTdG9wUGxheW91dCk6CisgICAgICAgIChX
ZWJDb3JlOjpMaWJXZWJSVENBdWRpb01vZHVsZTo6bG9nVGltZXJGaXJlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpMaWJXZWJSVENBdWRpb01vZHVsZTo6Y29tcHV0ZURlbGF5VW50aWxOZXh0UG9sbGlu
Zyk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENBdWRpb01vZHVsZTo6cG9sbEF1ZGlvRGF0
YSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0F1
ZGlvTW9kdWxlLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVk
aWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9N
ZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYTo6cHVzaFNhbXBsZXMpOgorICAgICAgICAqIHBs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9CYXNlQXVkaW9TaGFyZWRVbml0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkJhc2VBdWRpb1NoYXJlZFVuaXQ6OmFkZENsaWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpCYXNlQXVkaW9TaGFyZWRVbml0OjpyZW1vdmVDbGllbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6QmFzZUF1ZGlvU2hhcmVkVW5pdDo6YXVkaW9TYW1wbGVzQXZhaWxhYmxlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQmFzZUF1ZGlvU2hhcmVkVW5pdC5oOgorICAgICAg
ICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VD
b2NvYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VD
b2NvYTo6UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2E6OnN0YXJ0UHJvZHVjaW5nRGF0YSk6
CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2NvYTo6c3Rv
cFByb2R1Y2luZ0RhdGEpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ0F1ZGlv
U291cmNlQ29jb2E6OmxvZ1RpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJ
bmNvbWluZ0F1ZGlvU291cmNlQ29jb2E6Ok9uRGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmg6CisKIDIwMjEt
MDQtMjEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEF1ZGlv
TWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyVW5pdCBzaG91bGQgbm90IGhhdmUgaXRzIGRhdGEgemVy
b2VkIGlmIG9uZSB0cmFjayBoYXMgbm90IGVub3VnaCBkYXRhCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGExYjA4YTc5
OTFiM2MwYzIzZTM3ZGJlYTE4ZWM0NmFmMGRiNzFhYTYuLmE4MjE2YTUyMTg4Njk4Y2UxOTE5MTA2
ZWRjOGViZGNkMzNiOWIzY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDQtMjEg
IFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBtZW1vcnkg
YWxsb2NhdGlvbiBjaGVja3MgaW4gbW9yZSByZWFsdGltZSBhdWRpbyBjYXB0dXJlL3JlbmRlcmlu
ZyBwbGFjZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyNDc1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3BwOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9BdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJl
ci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyOjpw
dXNoU2FtcGxlcyk6CisgICAgICAgIChXZWJLaXQ6OkF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRl
cmVyOjpzdG9yYWdlQ2hhbmdlZCk6CisKIDIwMjEtMDQtMjAgIEtpbW1vIEtpbm51bmVuICA8a2tp
bm51bmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBDb25uZWN0aW9uOjptX21haW5UaHJlYWQgaXMg
dW51c2VkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9S
ZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZS5oCmluZGV4IDlkODRiY2JjOGMz
ZjRlYzJhMjk1YTNiMWI3ZjFlNzM3Y2Q1N2JhYWMuLmExOGZjMjE2MDhjMWNkNTk2YTU0NDU1MDMy
OGI4MDUyMTNiOGE0ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZS5oCkBAIC02
MSwxNyArNjEsMTcgQEAgcHJvdGVjdGVkOgogICAgIGNvbnN0IGNoYXIqIGxvZ0NsYXNzTmFtZSgp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuICJSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UiOyB9CiAj
ZW5kaWYKIAorICAgIC8vIFJlYWx0aW1lTWVkaWFTb3VyY2UgQVBJCisgICAgdm9pZCBzdGFydFBy
b2R1Y2luZ0RhdGEoKSBvdmVycmlkZTsKKyAgICB2b2lkIHN0b3BQcm9kdWNpbmdEYXRhKCkgIG92
ZXJyaWRlOworCiBwcml2YXRlOgogICAgIC8vIHdlYnJ0Yzo6QXVkaW9UcmFja1NpbmtJbnRlcmZh
Y2UgQVBJCi0gICAgdmlydHVhbCB2b2lkIE9uRGF0YShjb25zdCB2b2lkKiAvKiBhdWRpb0RhdGEg
Ki8sIGludCAvKiBiaXRzUGVyU2FtcGxlICovLCBpbnQgLyogc2FtcGxlUmF0ZSAqLywgc2l6ZV90
IC8qIG51bWJlck9mQ2hhbm5lbHMgKi8sIHNpemVfdCAvKiBudW1iZXJPZkZyYW1lcyAqLykgeyB9
OworICAgIHZvaWQgT25EYXRhKGNvbnN0IHZvaWQqIC8qIGF1ZGlvRGF0YSAqLywgaW50IC8qIGJp
dHNQZXJTYW1wbGUgKi8sIGludCAvKiBzYW1wbGVSYXRlICovLCBzaXplX3QgLyogbnVtYmVyT2ZD
aGFubmVscyAqLywgc2l6ZV90IC8qIG51bWJlck9mRnJhbWVzICovKSBvdmVycmlkZSB7IH07CiAK
ICAgICAvLyB3ZWJydGM6Ok9ic2VydmVySW50ZXJmYWNlIEFQSQogICAgIHZvaWQgT25DaGFuZ2Vk
KCkgZmluYWw7CiAKLSAgICAvLyBSZWFsdGltZU1lZGlhU291cmNlIEFQSQotICAgIHZvaWQgc3Rh
cnRQcm9kdWNpbmdEYXRhKCkgZmluYWw7Ci0gICAgdm9pZCBzdG9wUHJvZHVjaW5nRGF0YSgpICBm
aW5hbDsKLQogICAgIGNvbnN0IFJlYWx0aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXRpZXMmIGNhcGFi
aWxpdGllcygpIGZpbmFsOwogICAgIGNvbnN0IFJlYWx0aW1lTWVkaWFTb3VyY2VTZXR0aW5ncyYg
c2V0dGluZ3MoKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0F1ZGlvTW9kdWxlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENBdWRpb01vZHVs
ZS5jcHAKaW5kZXggYWFkYjcwYzkxOTM5ZTJjYmQ2ODQwNDkxYWVhN2RjZDdiODcxNTI0NS4uNzg1
MWIxM2Q2NmEyNjZmMGFjODY0NGNkOWNiNjY4NDBkY2FjOTdhYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0F1ZGlvTW9k
dWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDQXVkaW9Nb2R1bGUuY3BwCkBAIC0zMCwxMSArMzAsMTMgQEAKIAogI2luY2x1
ZGUgIkxpYldlYlJUQ0F1ZGlvRm9ybWF0LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2luY2x1
ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogTGliV2ViUlRD
QXVkaW9Nb2R1bGU6OkxpYldlYlJUQ0F1ZGlvTW9kdWxlKCkKICAgICA6IG1fcXVldWUoV29ya1F1
ZXVlOjpjcmVhdGUoIldlYktpdFdlYlJUQ0F1ZGlvTW9kdWxlIiwgV29ya1F1ZXVlOjpUeXBlOjpT
ZXJpYWwsIFdvcmtRdWV1ZTo6UU9TOjpVc2VySW50ZXJhY3RpdmUpKQorICAgICwgbV9sb2dUaW1l
cigqdGhpcywgJkxpYldlYlJUQ0F1ZGlvTW9kdWxlOjpsb2dUaW1lckZpcmVkKQogewogfQogCkBA
IC01NCw2ICs1NiwxMCBAQCBpbnQzMl90IExpYldlYlJUQ0F1ZGlvTW9kdWxlOjpTdGFydFBsYXlv
dXQoKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIG1faXNQbGF5aW5nID0gdHJ1ZTsKKyAgICBj
YWxsT25NYWluVGhyZWFkKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gcnRjOjpzY29wZWRfcmVmcHRy
PHdlYnJ0Yzo6QXVkaW9EZXZpY2VNb2R1bGU+KHRoaXMpXSB7CisgICAgICAgIG1fbG9nVGltZXIu
c3RhcnRSZXBlYXRpbmcobG9nVGltZXJJbnRlcnZhbCk7CisgICAgfSk7CisKICAgICBtX3F1ZXVl
LT5kaXNwYXRjaChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJy
dGM6OkF1ZGlvRGV2aWNlTW9kdWxlPih0aGlzKV0gewogICAgICAgICBtX3BvbGxpbmdUaW1lID0g
TW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgICAgIHBvbGxBdWRpb0RhdGEoKTsKQEAgLTY2LDMz
ICs3Miw1MCBAQCBpbnQzMl90IExpYldlYlJUQ0F1ZGlvTW9kdWxlOjpTdG9wUGxheW91dCgpCiAg
ICAgUkVMRUFTRV9MT0coV2ViUlRDLCAiTGliV2ViUlRDQXVkaW9Nb2R1bGU6OlN0b3BQbGF5b3V0
ICVkIiwgbV9pc1BsYXlpbmcpOwogCiAgICAgbV9pc1BsYXlpbmcgPSBmYWxzZTsKKyAgICBjYWxs
T25NYWluVGhyZWFkKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gcnRjOjpzY29wZWRfcmVmcHRyPHdl
YnJ0Yzo6QXVkaW9EZXZpY2VNb2R1bGU+KHRoaXMpXSB7CisgICAgICAgIG1fbG9nVGltZXIuc3Rv
cCgpOworICAgIH0pOwogICAgIHJldHVybiAwOwogfQogCit2b2lkIExpYldlYlJUQ0F1ZGlvTW9k
dWxlOjpsb2dUaW1lckZpcmVkKCkKK3sKKyAgICBSRUxFQVNFX0xPR19JRihtX3RpbWVTcGVudCwg
V2ViUlRDLCAiTGliV2ViUlRDQXVkaW9Nb2R1bGU6OnBvbGxBdWRpb0RhdGEsIHBvbGxpbmcgdG9v
ayB0b28gbXVjaCB0aW1lOiAlZCBtcyIsIG1fdGltZVNwZW50KTsKKyAgICBtX3RpbWVTcGVudCA9
IDA7Cit9CisKIC8vIGxpYndlYnJ0YyB1c2VzIDEwbXMgZnJhbWVzLgogY29uc3QgdW5zaWduZWQg
ZnJhbWVMZW5ndGhNcyA9IDEwMDAgKiBMaWJXZWJSVENBdWRpb0Zvcm1hdDo6Y2h1bmtTYW1wbGVD
b3VudCAvIExpYldlYlJUQ0F1ZGlvRm9ybWF0OjpzYW1wbGVSYXRlOwogY29uc3QgdW5zaWduZWQg
cG9sbEludGVydmFsID0gTGliV2ViUlRDQXVkaW9Nb2R1bGU6OlBvbGxTYW1wbGVzQ291bnQgKiBm
cmFtZUxlbmd0aE1zOwogY29uc3QgdW5zaWduZWQgY2hhbm5lbHMgPSAyOwogCi12b2lkIExpYldl
YlJUQ0F1ZGlvTW9kdWxlOjpwb2xsQXVkaW9EYXRhKCkKK1NlY29uZHMgTGliV2ViUlRDQXVkaW9N
b2R1bGU6OmNvbXB1dGVEZWxheVVudGlsTmV4dFBvbGxpbmcoKQogewotICAgIGlmICghbV9pc1Bs
YXlpbmcpCi0gICAgICAgIHJldHVybjsKLQotICAgIHBvbGxGcm9tU291cmNlKCk7Ci0KICAgICBh
dXRvIG5vdyA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIGF1dG8gZGVsYXlVbnRpbE5leHRQ
b2xsaW5nID0gbV9wb2xsaW5nVGltZSArIFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMocG9sbElu
dGVydmFsKSAtIG5vdzsKICAgICBpZiAoZGVsYXlVbnRpbE5leHRQb2xsaW5nLm1pbGxpc2Vjb25k
cygpIDwgMCkgewotICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt0aW1lU3BlbnQgPSAobm93IC0g
bV9wb2xsaW5nVGltZSkubWlsbGlzZWNvbmRzKCldIHsKLSAgICAgICAgICAgIFJFTEVBU0VfTE9H
KFdlYlJUQywgIkxpYldlYlJUQ0F1ZGlvTW9kdWxlOjpwb2xsQXVkaW9EYXRhLCBwb2xsaW5nIHRv
b2sgdG9vIG11Y2ggdGltZTogJWQgbXMiLCAoaW50KXRpbWVTcGVudCk7Ci0gICAgICAgIH0pOwor
ICAgICAgICBtX3RpbWVTcGVudCA9IChub3cgLSBtX3BvbGxpbmdUaW1lKS5taWxsaXNlY29uZHMo
KTsKICAgICAgICAgZGVsYXlVbnRpbE5leHRQb2xsaW5nID0gMF9zOwogICAgIH0KICAgICBtX3Bv
bGxpbmdUaW1lID0gbm93ICsgZGVsYXlVbnRpbE5leHRQb2xsaW5nOwotICAgIG1fcXVldWUtPmRp
c3BhdGNoQWZ0ZXIoZGVsYXlVbnRpbE5leHRQb2xsaW5nLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9
IHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkF1ZGlvRGV2aWNlTW9kdWxlPih0aGlzKV0gewor
ICAgIHJldHVybiBkZWxheVVudGlsTmV4dFBvbGxpbmc7Cit9CisKK3ZvaWQgTGliV2ViUlRDQXVk
aW9Nb2R1bGU6OnBvbGxBdWRpb0RhdGEoKQoreworICAgIGlmICghbV9pc1BsYXlpbmcpCisgICAg
ICAgIHJldHVybjsKKworICAgIEZ1bmN0aW9uPHZvaWQoKT4gbmV4dFBvbGxGdW5jdGlvbiA9IFt0
aGlzLCBwcm90ZWN0ZWRUaGlzID0gcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6QXVkaW9EZXZp
Y2VNb2R1bGU+KHRoaXMpXSB7CiAgICAgICAgIHBvbGxBdWRpb0RhdGEoKTsKLSAgICB9KTsKKyAg
ICB9OworCisgICAgLy8gRm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMsIHdlIGZvcmJpZCBoZWFwIGFs
bG9jYXRpb25zIHdoaWxlIGRvaW5nIHJlbmRlcmluZyBvbiB0aGUgd2VicnRjIGF1ZGlvIHRocmVh
ZC4KKyAgICBGb3JiaWRNYWxsb2NVc2VGb3JDdXJyZW50VGhyZWFkU2NvcGUgZm9yYmlkTWFsbG9j
VXNlOworCisgICAgcG9sbEZyb21Tb3VyY2UoKTsKKworICAgIG1fcXVldWUtPmRpc3BhdGNoQWZ0
ZXIoY29tcHV0ZURlbGF5VW50aWxOZXh0UG9sbGluZygpLCBXVEZNb3ZlKG5leHRQb2xsRnVuY3Rp
b24pKTsKIH0KIAogdm9pZCBMaWJXZWJSVENBdWRpb01vZHVsZTo6cG9sbEZyb21Tb3VyY2UoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRj
L0xpYldlYlJUQ0F1ZGlvTW9kdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDQXVkaW9Nb2R1bGUuaAppbmRleCBhMTU2OWE0MmQxYjkz
ZTdlZjNkM2FjY2FiMzhjNjk4NjEyYTVkYzlkLi4xMDAwMjk2YTkwNDc2MTQ2MjM0MWNkOTAxMmQw
YTA1ZDBhNzc2YzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDQXVkaW9Nb2R1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDQXVkaW9Nb2R1bGUuaApA
QCAtMjgsNiArMjgsNyBAQAogI2lmIFVTRShMSUJXRUJSVEMpCiAKICNpbmNsdWRlICJMaWJXZWJS
VENNYWNyb3MuaCIKKyNpbmNsdWRlICJUaW1lci5oIgogCiBBTExPV19VTlVTRURfUEFSQU1FVEVS
U19CRUdJTgogCkBAIC0xMjMsMTEgKzEyNCwxNyBAQCBwcml2YXRlOgogcHJpdmF0ZToKICAgICB2
b2lkIHBvbGxBdWRpb0RhdGEoKTsKICAgICB2b2lkIHBvbGxGcm9tU291cmNlKCk7CisgICAgdm9p
ZCBsb2dUaW1lckZpcmVkKCk7CisgICAgU2Vjb25kcyBjb21wdXRlRGVsYXlVbnRpbE5leHRQb2xs
aW5nKCk7CisKKyAgICBzdGF0aWMgY29uc3RleHByIFNlY29uZHMgbG9nVGltZXJJbnRlcnZhbCA9
IDJfczsKIAogICAgIFJlZjxXb3JrUXVldWU+IG1fcXVldWU7CiAgICAgYm9vbCBtX2lzUGxheWlu
ZyB7IGZhbHNlIH07CiAgICAgd2VicnRjOjpBdWRpb1RyYW5zcG9ydCogbV9hdWRpb1RyYW5zcG9y
dCB7IG51bGxwdHIgfTsKICAgICBNb25vdG9uaWNUaW1lIG1fcG9sbGluZ1RpbWU7CisgICAgVGlt
ZXIgbV9sb2dUaW1lcjsKKyAgICBpbnQgbV90aW1lU3BlbnQgeyAwIH07CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9NZWRpYVN0cmVhbVRyYWNr
UmVuZGVyZXJDb2NvYS5jcHAKaW5kZXggYmM0ZmQwMGQ3MzQ2OGI0NzdhMjkxMGQ2NWY0MTRkN2Qw
Y2JhZDE2MS4uZDk5Yjg4YTQyMDBjMGEyZDM1NjgzOGViMDQyZWJjZDI4ODg3YmI2MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVkaWFT
dHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9BdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hLmNwcApA
QCAtODksNiArODksOCBAQCB2b2lkIEF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2E6
OnB1c2hTYW1wbGVzKGNvbnN0IE1lZGlhVGltZSYgc2FtcGxlVGltZQogICAgIEFTU0VSVCghaXNN
YWluVGhyZWFkKCkpOwogICAgIEFTU0VSVChkZXNjcmlwdGlvbi5wbGF0Zm9ybURlc2NyaXB0aW9u
KCkudHlwZSA9PSBQbGF0Zm9ybURlc2NyaXB0aW9uOjpDQUF1ZGlvU3RyZWFtQmFzaWNUeXBlKTsK
ICAgICBpZiAoIW1fZGF0YVNvdXJjZSB8fCBtX3Nob3VsZFJlc2V0IHx8ICFtX2RhdGFTb3VyY2Ut
PmlucHV0RGVzY3JpcHRpb24oKSB8fCAqbV9kYXRhU291cmNlLT5pbnB1dERlc2NyaXB0aW9uKCkg
IT0gZGVzY3JpcHRpb24pIHsKKyAgICAgICAgRGlzYWJsZU1hbGxvY1Jlc3RyaWN0aW9uc0ZvckN1
cnJlbnRUaHJlYWRTY29wZSBzY29wZTsKKwogICAgICAgICAvLyBGSVhNRTogRm9yIG5vbiBsaWJ3
ZWJydGMgc291cmNlcywgd2UgY2FuIHByb2JhYmx5IHJlZHVjZSBwb2xsIHNhbXBsZXMgY291bnQg
dG8gMi4KICAgICAgICAgCiAgICAgICAgIGF1dG8gZGF0YVNvdXJjZSA9IEF1ZGlvU2FtcGxlRGF0
YVNvdXJjZTo6Y3JlYXRlKGRlc2NyaXB0aW9uLnNhbXBsZVJhdGUoKSAqIDAuNSwgKnRoaXMsIHBv
bGxTYW1wbGVzQ291bnQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvQmFzZUF1ZGlvU2hhcmVkVW5pdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQmFzZUF1ZGlvU2hhcmVkVW5pdC5jcHAKaW5kZXggOWZj
NWZmNTBhNjU2MjM5Yzk1ZTQxMTBmYzY1NmQ5NDg0MTRjMTNmNS4uMmU5ZWNkNzliYWI5Yzg1NTgy
OTE4ZGZjMzVlYzU3ODgxNTAyMjlhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbWFjL0Jhc2VBdWRpb1NoYXJlZFVuaXQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9CYXNlQXVkaW9TaGFyZWRVbml0LmNwcApA
QCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkRlcHJlY2F0ZWRHbG9iYWxTZXR0aW5ncy5oIgog
I2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFn
ZXIuaCIKKyNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKQEAgLTQzLDEyICs0NCwxNCBAQCBCYXNlQXVkaW9TaGFyZWRVbml0OjpCYXNlQXVkaW9TaGFy
ZWRVbml0KCkKIAogdm9pZCBCYXNlQXVkaW9TaGFyZWRVbml0OjphZGRDbGllbnQoQ29yZUF1ZGlv
Q2FwdHVyZVNvdXJjZSYgY2xpZW50KQogeworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAg
ICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX2NsaWVudHNMb2NrKTsKICAgICBtX2NsaWVudHMu
YWRkKCZjbGllbnQpOwogfQogCiB2b2lkIEJhc2VBdWRpb1NoYXJlZFVuaXQ6OnJlbW92ZUNsaWVu
dChDb3JlQXVkaW9DYXB0dXJlU291cmNlJiBjbGllbnQpCiB7CisgICAgQVNTRVJUKGlzTWFpblRo
cmVhZCgpKTsKICAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fY2xpZW50c0xvY2spOwogICAg
IG1fY2xpZW50cy5yZW1vdmUoJmNsaWVudCk7CiB9CkBAIC0yMTMsMTAgKzIxNiwxNSBAQCBPU1N0
YXR1cyBCYXNlQXVkaW9TaGFyZWRVbml0OjpzdXNwZW5kKCkKIAogdm9pZCBCYXNlQXVkaW9TaGFy
ZWRVbml0OjphdWRpb1NhbXBsZXNBdmFpbGFibGUoY29uc3QgTWVkaWFUaW1lJiB0aW1lLCBjb25z
dCBQbGF0Zm9ybUF1ZGlvRGF0YSYgZGF0YSwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYg
ZGVzY3JpcHRpb24sIHNpemVfdCBudW1iZXJPZkZyYW1lcykKIHsKLSAgICBmb3JFYWNoQ2xpZW50
KFsmXShhdXRvJiBjbGllbnQpIHsKLSAgICAgICAgaWYgKGNsaWVudC5pc1Byb2R1Y2luZ0RhdGEo
KSkKLSAgICAgICAgICAgIGNsaWVudC5hdWRpb1NhbXBsZXNBdmFpbGFibGUodGltZSwgZGF0YSwg
ZGVzY3JpcHRpb24sIG51bWJlck9mRnJhbWVzKTsKLSAgICB9KTsKKyAgICAvLyBGb3IgcGVyZm9y
bWFuY2UgcmVhc29ucywgd2UgZm9yYmlkIGhlYXAgYWxsb2NhdGlvbnMgd2hpbGUgZG9pbmcgcmVu
ZGVyaW5nIG9uIHRoZSBjYXB0dXJlIGF1ZGlvIHRocmVhZC4KKyAgICBGb3JiaWRNYWxsb2NVc2VG
b3JDdXJyZW50VGhyZWFkU2NvcGUgZm9yYmlkTWFsbG9jVXNlOworCisgICAgLy8gV2UgaG9sZCB0
aGUgbG9jayBoZXJlIHNpbmNlIGFkZGluZy9yZW1vdmluZyBjbGllbnRzIGNhbiBvbmx5IGhhcHBl
biBpbiBtYWluIHRocmVhZC4KKyAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fY2xpZW50c0xv
Y2spOworICAgIGZvciAoYXV0byogY2xpZW50IDogbV9jbGllbnRzKSB7CisgICAgICAgIGlmIChj
bGllbnQtPmlzUHJvZHVjaW5nRGF0YSgpKQorICAgICAgICAgICAgY2xpZW50LT5hdWRpb1NhbXBs
ZXNBdmFpbGFibGUodGltZSwgZGF0YSwgZGVzY3JpcHRpb24sIG51bWJlck9mRnJhbWVzKTsKKyAg
ICB9CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9CYXNlQXVkaW9TaGFyZWRVbml0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQmFzZUF1ZGlvU2hhcmVkVW5pdC5o
CmluZGV4IDg0ODE3YzUxOWMyMGJiNWYwZWViNWZkMzJjNTQwNDEwZTY1ZWMxZjguLmQyM2NkOWQ1
MTQ0YTc5MjQ4Zjc1NGIzNmQ1OGE5MTcxNmViYmJjNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9CYXNlQXVkaW9TaGFyZWRVbml0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Jhc2VBdWRpb1NoYXJlZFVu
aXQuaApAQCAtMjgsMTEgKzI4LDEwIEBACiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogI2lu
Y2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXRpZXMuaCIKLSNpbmNsdWRlIDxwYWwv
Y2YvQ29yZU1lZGlhU29mdExpbmsuaD4KICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KICNpbmNs
dWRlIDx3dGYvSGFzaFNldC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3Rm
L01lZGlhVGltZS5oPgotI2luY2x1ZGUgPHd0Zi9SZWN1cnNpdmVMb2NrQWRhcHRlci5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0x
MDQsNyArMTAzLDcgQEAgcHJpdmF0ZToKICAgICBpbnQzMl90IG1fcHJvZHVjaW5nQ291bnQgeyAw
IH07CiAKICAgICBIYXNoU2V0PENvcmVBdWRpb0NhcHR1cmVTb3VyY2UqPiBtX2NsaWVudHM7Ci0g
ICAgbXV0YWJsZSBSZWN1cnNpdmVMb2NrIG1fY2xpZW50c0xvY2s7CisgICAgbXV0YWJsZSBMb2Nr
IG1fY2xpZW50c0xvY2s7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWlu
Z0F1ZGlvU291cmNlQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmNwcAppbmRleCAzYmRhNTk0
YjlmYThjMDk3YzU4N2E0ZTgwYjE1NWVkNzVlOTgxZTM5Li4yNjYwMjhjMTIwNWE3MzUzNDAxMjI0
Mzc4NDMyMzUxYzJiNWIwMDk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5n
QXVkaW9Tb3VyY2VDb2NvYS5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJMaWJXZWJS
VENBdWRpb0Zvcm1hdC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlIDxwYWwvYXZm
b3VuZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5oPgorI2luY2x1ZGUgPHd0Zi9GYXN0TWFs
bG9jLmg+CiAKICNpbmNsdWRlIDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaD4KIApAQCAtNjYs
MzEgKzY3LDY0IEBAIFJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hOjpSZWFsdGltZUlu
Y29taW5nQXVkaW9Tb3VyY2VDb2NvYShydGM6OnNjb3BlZF9yCiAgICAgLCBtX251bWJlck9mQ2hh
bm5lbHMoMSkKICAgICAsIG1fc3RyZWFtRGVzY3JpcHRpb24oc3RyZWFtRGVzY3JpcHRpb24obV9z
YW1wbGVSYXRlLCBtX251bWJlck9mQ2hhbm5lbHMpKQogICAgICwgbV9hdWRpb0J1ZmZlckxpc3Qo
bWFrZVVuaXF1ZTxXZWJBdWRpb0J1ZmZlckxpc3Q+KG1fc3RyZWFtRGVzY3JpcHRpb24pKQorI2lm
ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgICwgbV9sb2dUaW1lcigqdGhpcywgJlJlYWx0aW1l
SW5jb21pbmdBdWRpb1NvdXJjZUNvY29hOjpsb2dUaW1lckZpcmVkKQorI2VuZGlmCit7Cit9CisK
K3ZvaWQgUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2E6OnN0YXJ0UHJvZHVjaW5nRGF0
YSgpCit7CisgICAgUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlOjpzdGFydFByb2R1Y2luZ0Rh
dGEoKTsKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBtX2xvZ1RpbWVyLnN0YXJ0UmVw
ZWF0aW5nKExvZ1RpbWVySW50ZXJ2YWwpOworI2VuZGlmCit9CisKK3ZvaWQgUmVhbHRpbWVJbmNv
bWluZ0F1ZGlvU291cmNlQ29jb2E6OnN0b3BQcm9kdWNpbmdEYXRhKCkKIHsKKyNpZiAhUkVMRUFT
RV9MT0dfRElTQUJMRUQKKyAgICBtX2xvZ1RpbWVyLnN0b3AoKTsKKyNlbmRpZgorICAgIFJlYWx0
aW1lSW5jb21pbmdBdWRpb1NvdXJjZTo6c3RvcFByb2R1Y2luZ0RhdGEoKTsKIH0KIAorI2lmICFS
RUxFQVNFX0xPR19ESVNBQkxFRAordm9pZCBSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2Nv
YTo6bG9nVGltZXJGaXJlZCgpCit7CisgICAgaWYgKCFtX2xhc3RDaHVua3NSZWNlaXZlZCB8fCAo
bV9jaHVua3NSZWNlaXZlZCAtIG1fbGFzdENodW5rc1JlY2VpdmVkKSA+PSBDaHVua3NSZWNlaXZl
ZERlbHRhKSB7CisgICAgICAgIG1fbGFzdENodW5rc1JlY2VpdmVkID0gbV9jaHVua3NSZWNlaXZl
ZDsKKyAgICAgICAgQUxXQVlTX0xPR19JRihsb2dnZXJQdHIoKSwgTE9HSURFTlRJRklFUiwgImNo
dW5rICIsIG1fY2h1bmtzUmVjZWl2ZWQpOworICAgIH0KKyAgICBpZiAobV9hdWRpb0Zvcm1hdENo
YW5nZWQpIHsKKyAgICAgICAgQUxXQVlTX0xPR19JRihsb2dnZXJQdHIoKSwgTE9HSURFTlRJRklF
UiwgIm5ldyBhdWRpbyBidWZmZXIgbGlzdCBmb3Igc2FtcGxlUmF0ZSAiLCBtX3NhbXBsZVJhdGUs
ICIgYW5kICIsIG1fbnVtYmVyT2ZDaGFubmVscywgIiBjaGFubmVsKHMpIik7CisgICAgICAgIG1f
YXVkaW9Gb3JtYXRDaGFuZ2VkID0gZmFsc2U7CisgICAgfQorfQorI2VuZGlmCisKIHZvaWQgUmVh
bHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2E6Ok9uRGF0YShjb25zdCB2b2lkKiBhdWRpb0Rh
dGEsIGludCBiaXRzUGVyU2FtcGxlLCBpbnQgc2FtcGxlUmF0ZSwgc2l6ZV90IG51bWJlck9mQ2hh
bm5lbHMsIHNpemVfdCBudW1iZXJPZkZyYW1lcykKIHsKICAgICBpZiAoc2FtcGxlUmF0ZSAhPSBt
X3NhbXBsZVJhdGUpCiAgICAgICAgIHJldHVybjsKIAogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxF
RAotICAgIGlmICghKCsrbV9jaHVua3NSZWNlaXZlZCAlIDIwMCkpIHsKLSAgICAgICAgY2FsbE9u
TWFpblRocmVhZChbaWRlbnRpZmllciA9IExPR0lERU5USUZJRVIsIHRoaXMsIHByb3RlY3RlZFRo
aXMgPSBtYWtlUmVmKCp0aGlzKSwgY2h1bmtzUmVjZWl2ZWQgPSBtX2NodW5rc1JlY2VpdmVkXSB7
Ci0gICAgICAgICAgICBBTFdBWVNfTE9HX0lGKGxvZ2dlclB0cigpLCBpZGVudGlmaWVyLCAiY2h1
bmsgIiwgY2h1bmtzUmVjZWl2ZWQpOwotICAgICAgICB9KTsKLSAgICB9CisgICAgKyttX2NodW5r
c1JlY2VpdmVkOwogI2VuZGlmCiAKICAgICBpZiAoIW1fYXVkaW9CdWZmZXJMaXN0IHx8IG1fbnVt
YmVyT2ZDaGFubmVscyAhPSBudW1iZXJPZkNoYW5uZWxzKSB7Ci0gICAgICAgIGNhbGxPbk1haW5U
aHJlYWQoW2lkZW50aWZpZXIgPSBMT0dJREVOVElGSUVSLCB0aGlzLCBwcm90ZWN0ZWRUaGlzID0g
bWFrZVJlZigqdGhpcyksIHNhbXBsZVJhdGUsIG51bWJlck9mQ2hhbm5lbHNdIHsKLSAgICAgICAg
ICAgIEFMV0FZU19MT0dfSUYobG9nZ2VyUHRyKCksIGlkZW50aWZpZXIsICJuZXcgYXVkaW8gYnVm
ZmVyIGxpc3QgZm9yIHNhbXBsZVJhdGUgIiwgc2FtcGxlUmF0ZSwgIiBhbmQgIiwgbnVtYmVyT2ZD
aGFubmVscywgIiBjaGFubmVsKHMpIik7Ci0gICAgICAgIH0pOworI2lmICFSRUxFQVNFX0xPR19E
SVNBQkxFRAorICAgICAgICBtX2F1ZGlvRm9ybWF0Q2hhbmdlZCA9IHRydWU7CisjZW5kaWYKIAog
ICAgICAgICBtX3NhbXBsZVJhdGUgPSBzYW1wbGVSYXRlOwogICAgICAgICBtX251bWJlck9mQ2hh
bm5lbHMgPSBudW1iZXJPZkNoYW5uZWxzOwogICAgICAgICBtX3N0cmVhbURlc2NyaXB0aW9uID0g
c3RyZWFtRGVzY3JpcHRpb24oc2FtcGxlUmF0ZSwgbnVtYmVyT2ZDaGFubmVscyk7Ci0gICAgICAg
IG1fYXVkaW9CdWZmZXJMaXN0ID0gbWFrZVVuaXF1ZTxXZWJBdWRpb0J1ZmZlckxpc3Q+KG1fc3Ry
ZWFtRGVzY3JpcHRpb24pOworCisgICAgICAgIHsKKyAgICAgICAgICAgIERpc2FibGVNYWxsb2NS
ZXN0cmljdGlvbnNGb3JDdXJyZW50VGhyZWFkU2NvcGUgc2NvcGU7CisgICAgICAgICAgICBtX2F1
ZGlvQnVmZmVyTGlzdCA9IG1ha2VVbmlxdWU8V2ViQXVkaW9CdWZmZXJMaXN0PihtX3N0cmVhbURl
c2NyaXB0aW9uKTsKKyAgICAgICAgfQogICAgICAgICBpZiAobV9zYW1wbGVSYXRlICYmIG1fbnVt
YmVyT2ZGcmFtZXMpCiAgICAgICAgICAgICBtX251bWJlck9mRnJhbWVzID0gbV9udW1iZXJPZkZy
YW1lcyAqIHNhbXBsZVJhdGUgLyBtX3NhbXBsZVJhdGU7CiAgICAgICAgIGVsc2UKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29t
aW5nQXVkaW9Tb3VyY2VDb2NvYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmgKaW5kZXggMWQ3Y2Q5NmM4
YjRiNTM4ZGM1OWZmNWM0NzJlY2U4ZmIzMmFhMDQ1Zi4uYTZhZGRkZThkOWJkZTVjMmNlYmRmZmJj
ZGFkNjQ4OTk3YjdiZTAxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRp
b1NvdXJjZUNvY29hLmgKQEAgLTQ1LDkgKzQ1LDIwIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAg
UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0
Yzo6QXVkaW9UcmFja0ludGVyZmFjZT4mJiwgU3RyaW5nJiYpOwogCisgICAgLy8gUmVhbHRpbWVN
ZWRpYVNvdXJjZSBBUEkKKyAgICB2b2lkIHN0YXJ0UHJvZHVjaW5nRGF0YSgpIGZpbmFsOworICAg
IHZvaWQgc3RvcFByb2R1Y2luZ0RhdGEoKSAgZmluYWw7CisKICAgICAvLyB3ZWJydGM6OkF1ZGlv
VHJhY2tTaW5rSW50ZXJmYWNlIEFQSQogICAgIHZvaWQgT25EYXRhKGNvbnN0IHZvaWQqIGF1ZGlv
RGF0YSwgaW50IGJpdHNQZXJTYW1wbGUsIGludCBzYW1wbGVSYXRlLCBzaXplX3QgbnVtYmVyT2ZD
aGFubmVscywgc2l6ZV90IG51bWJlck9mRnJhbWVzKSBmaW5hbDsKIAorI2lmICFSRUxFQVNFX0xP
R19ESVNBQkxFRAorICAgIHZvaWQgbG9nVGltZXJGaXJlZCgpOworI2VuZGlmCisKKyAgICBzdGF0
aWMgY29uc3RleHByIFNlY29uZHMgTG9nVGltZXJJbnRlcnZhbCA9IDJfczsKKyAgICBzdGF0aWMg
Y29uc3RleHByIHNpemVfdCBDaHVua3NSZWNlaXZlZERlbHRhID0gMjAwOyAvLyAyMDAgY2h1bmtz
IG9mIDEwbXMgPSAycy4KKwogICAgIHVpbnQ2NF90IG1fbnVtYmVyT2ZGcmFtZXMgeyAwIH07CiAK
ICAgICBpbnQgbV9zYW1wbGVSYXRlIHsgMCB9OwpAQCAtNTYsNiArNjcsOSBAQCBwcml2YXRlOgog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJBdWRpb0J1ZmZlckxpc3Q+IG1fYXVkaW9CdWZmZXJMaXN0
OwogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogICAgIHNpemVfdCBtX2NodW5rc1JlY2VpdmVk
IHsgMCB9OworICAgIHNpemVfdCBtX2xhc3RDaHVua3NSZWNlaXZlZCB7IDAgfTsKKyAgICBib29s
IG1fYXVkaW9Gb3JtYXRDaGFuZ2VkIHsgZmFsc2UgfTsKKyAgICBUaW1lciBtX2xvZ1RpbWVyOwog
I2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvV2ViQXVkaW9Tb3VyY2VQcm92aWRlckNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1dlYkF1ZGlvU291cmNlUHJvdmlkZXJDb2NvYS5tbQpp
bmRleCBkMTJlZDI4M2IzODYxOTBiMDg2ZmM5ZDliYzM2NjA3MWZhZTU4YzQ5Li5iZjNhMzM5MWYx
ZmViYjM4NGU3NTllNGJjODk3NmUxNzdjYTE5NTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvV2ViQXVkaW9Tb3VyY2VQcm92aWRlckNvY29hLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9XZWJBdWRpb1Nv
dXJjZVByb3ZpZGVyQ29jb2EubW0KQEAgLTEwMCw2ICsxMDAsOCBAQCB2b2lkIFdlYkF1ZGlvU291
cmNlUHJvdmlkZXJDb2NvYTo6cHJvdmlkZUlucHV0KEF1ZGlvQnVzKiBidXMsIHNpemVfdCBmcmFt
ZXNUb1BybwogCiB2b2lkIFdlYkF1ZGlvU291cmNlUHJvdmlkZXJDb2NvYTo6cHJlcGFyZShjb25z
dCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24mIGZvcm1hdCkKIHsKKyAgICBEaXNhYmxlTWFs
bG9jUmVzdHJpY3Rpb25zRm9yQ3VycmVudFRocmVhZFNjb3BlIHNjb3BlOworCiAgICAgYXV0byBs
b2NrZXIgPSBob2xkTG9jayhtX2xvY2spOwogCiAgICAgTE9HKE1lZGlhLCAiV2ViQXVkaW9Tb3Vy
Y2VQcm92aWRlckNvY29hOjpwcmVwYXJlKCVwKSIsIHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclBy
b3h5LmNwcAppbmRleCAyNzAyNzkzZmY1NTFiYTk3YjdlZmIwOTAyMzUzNzQ2Mzk2YWUyMmEzLi5h
ZWVkOTc1NzY5NTI3ZTlhYTliZmUyNGIxN2QxMTRkYTY1MTFkMjI3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFu
YWdlclByb3h5LmNwcApAQCAtMTQ1LDYgKzE0NSw4IEBAIHByaXZhdGU6CiAKICAgICAvLyBNYXkg
Z2V0IGNhbGxlZCBvbiBhIGJhY2tncm91bmQgdGhyZWFkLgogICAgIHZvaWQgYXVkaW9TYW1wbGVz
QXZhaWxhYmxlKGNvbnN0IE1lZGlhVGltZSYgdGltZSwgY29uc3QgUGxhdGZvcm1BdWRpb0RhdGEm
IGF1ZGlvRGF0YSwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIHNp
emVfdCBudW1iZXJPZkZyYW1lcykgZmluYWwgeworICAgICAgICBEaXNhYmxlTWFsbG9jUmVzdHJp
Y3Rpb25zRm9yQ3VycmVudFRocmVhZFNjb3BlIHNjb3BlOworCiAgICAgICAgIGlmIChtX2Rlc2Ny
aXB0aW9uICE9IGRlc2NyaXB0aW9uKSB7CiAgICAgICAgICAgICBBU1NFUlQoZGVzY3JpcHRpb24u
cGxhdGZvcm1EZXNjcmlwdGlvbigpLnR5cGUgPT0gUGxhdGZvcm1EZXNjcmlwdGlvbjo6Q0FBdWRp
b1N0cmVhbUJhc2ljVHlwZSk7CiAgICAgICAgICAgICBtX2Rlc2NyaXB0aW9uID0gKldURjo6Z2V0
PGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbio+KGRlc2NyaXB0aW9uLnBsYXRmb3Jt
RGVzY3JpcHRpb24oKS5kZXNjcmlwdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL3dlYnJ0Yy9BdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlci5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9BdWRpb01lZGlhU3RyZWFtVHJhY2tS
ZW5kZXJlci5jcHAKaW5kZXggNjJhNzg5MWVmZGJmM2VhNzkyNTQwODRmODM4OTMyZWYzZTkzN2Y0
ZS4uNmI5YjA2NGJkYmRlY2IzZjQwOGQ2NTllYTQ1NDE1MjdiZGI2N2Q4ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvQXVkaW9NZWRpYVN0cmVhbVRyYWNr
UmVuZGVyZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvd2VicnRjL0F1
ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyLmNwcApAQCAtOTMsNiArOTMsNyBAQCB2b2lkIEF1
ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyOjpwdXNoU2FtcGxlcyhjb25zdCBNZWRpYVRpbWUm
IHRpbWUsIGNvbnN0IFdlYgogICAgICAgICByZXR1cm47CiAKICAgICBpZiAobV9kZXNjcmlwdGlv
biAhPSBkZXNjcmlwdGlvbikgeworICAgICAgICBEaXNhYmxlTWFsbG9jUmVzdHJpY3Rpb25zRm9y
Q3VycmVudFRocmVhZFNjb3BlIHNjb3BlOwogICAgICAgICBBU1NFUlQoZGVzY3JpcHRpb24ucGxh
dGZvcm1EZXNjcmlwdGlvbigpLnR5cGUgPT0gV2ViQ29yZTo6UGxhdGZvcm1EZXNjcmlwdGlvbjo6
Q0FBdWRpb1N0cmVhbUJhc2ljVHlwZSk7CiAgICAgICAgIG1fZGVzY3JpcHRpb24gPSAqV1RGOjpn
ZXQ8Y29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKj4oZGVzY3JpcHRpb24ucGxhdGZv
cm1EZXNjcmlwdGlvbigpLmRlc2NyaXB0aW9uKTsKIApAQCAtMTAzLDYgKzEwNCw4IEBAIHZvaWQg
QXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXI6OnB1c2hTYW1wbGVzKGNvbnN0IE1lZGlhVGlt
ZSYgdGltZSwgY29uc3QgV2ViCiAKICAgICBBU1NFUlQoaXM8V2ViQ29yZTo6V2ViQXVkaW9CdWZm
ZXJMaXN0PihhdWRpb0RhdGEpKTsKICAgICBtX3JpbmdCdWZmZXItPnN0b3JlKGRvd25jYXN0PFdl
YkNvcmU6OldlYkF1ZGlvQnVmZmVyTGlzdD4oYXVkaW9EYXRhKS5saXN0KCksIG51bWJlck9mRnJh
bWVzLCB0aW1lLnRpbWVWYWx1ZSgpKTsKKworICAgIERpc2FibGVNYWxsb2NSZXN0cmljdGlvbnNG
b3JDdXJyZW50VGhyZWFkU2NvcGUgc2NvcGU7CiAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3Nh
Z2VzOjpSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlcjo6QXVkaW9TYW1wbGVzQXZh
aWxhYmxlIHsgdGltZSwgbnVtYmVyT2ZGcmFtZXMgfSwgbV9pZGVudGlmaWVyKTsKIH0KIApAQCAt
MTE4LDYgKzEyMSw3IEBAIHZvaWQgQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXI6OnN0b3Jh
Z2VDaGFuZ2VkKFNoYXJlZE1lbW9yeSogc3RvcmFnZSwgY29uc3QKICNlbHNlCiAgICAgdWludDY0
X3QgZGF0YVNpemUgPSAwOwogI2VuZGlmCisgICAgRGlzYWJsZU1hbGxvY1Jlc3RyaWN0aW9uc0Zv
ckN1cnJlbnRUaHJlYWRTY29wZSBzY29wZTsKICAgICBtX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2Fn
ZXM6OlJlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyOjpBdWRpb1NhbXBsZXNTdG9y
YWdlQ2hhbmdlZCB7IFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlIHsgV1RGTW92ZShoYW5kbGUpLCBk
YXRhU2l6ZSB9LCBmb3JtYXQsIGZyYW1lQ291bnQgfSwgbV9pZGVudGlmaWVyKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426679</attachid>
            <date>2021-04-21 07:12:43 -0700</date>
            <delta_ts>2021-04-26 08:33:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224750-20210421161241.patch</filename>
            <type>text/plain</type>
            <size>21842</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MzQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjk2MDlmNWI0Yjg2NzRl
YTkxNmRkNzFhZDU4MjhjYjliZDU1ZWZiYy4uNmJkNjU4MDAyZmNiM2MwMzQxMDUyMjYwNjZlMGFk
YzczNGViMmZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIxLTA0LTIxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbWVtb3J5IGFsbG9j
YXRpb24gY2hlY2tzIGluIG1vcmUgcmVhbHRpbWUgYXVkaW8gY2FwdHVyZS9yZW5kZXJpbmcgcGxh
Y2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3
NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
RmFzdE1hbGxvYyBtYWNyb3MgdG8gY2F0Y2ggbWVtb3J5IGFsbG9jYXRpb24gaW4gYXVkaW8gc2Vu
c2l0aXZlIHRocmVhZHMuCisgICAgICAgIFVwZGF0ZSBMaWJXZWJSVENBdWRpb01vZHVsZSBhbmQg
UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EgdG8gbm90IHJlbHkgb24gRnVuY3Rpb24g
Y3JlYXRpb24gYnV0IHJlbHkgb24gVGltZXIgZm9yIGxhcmdlIGF1ZGlvIGdhcCBsb2dnaW5nLgor
ICAgICAgICBVcGRhdGUgQmFzZUF1ZGlvU2hhcmVkVW5pdCB0byBub3QgYWxsb2NhdGUgYSB2ZWN0
b3IgZWFjaCB0aW1lIGFuIGF1ZGlvIHNhbXBsZSBpcyBjYXB0dXJlZC4KKworICAgICAgICBDb3Zl
cmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0v
UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0F1ZGlvTW9kdWxlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkxpYldlYlJUQ0F1ZGlvTW9kdWxlOjpMaWJXZWJSVENBdWRpb01vZHVsZSk6CisgICAgICAg
IChXZWJDb3JlOjpMaWJXZWJSVENBdWRpb01vZHVsZTo6U3RhcnRQbGF5b3V0KToKKyAgICAgICAg
KFdlYkNvcmU6OkxpYldlYlJUQ0F1ZGlvTW9kdWxlOjpTdG9wUGxheW91dCk6CisgICAgICAgIChX
ZWJDb3JlOjpMaWJXZWJSVENBdWRpb01vZHVsZTo6bG9nVGltZXJGaXJlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpMaWJXZWJSVENBdWRpb01vZHVsZTo6Y29tcHV0ZURlbGF5VW50aWxOZXh0UG9sbGlu
Zyk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENBdWRpb01vZHVsZTo6cG9sbEF1ZGlvRGF0
YSk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0F1
ZGlvTW9kdWxlLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVk
aWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9N
ZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYTo6cHVzaFNhbXBsZXMpOgorICAgICAgICAqIHBs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9CYXNlQXVkaW9TaGFyZWRVbml0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkJhc2VBdWRpb1NoYXJlZFVuaXQ6OmFkZENsaWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpCYXNlQXVkaW9TaGFyZWRVbml0OjpyZW1vdmVDbGllbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6QmFzZUF1ZGlvU2hhcmVkVW5pdDo6YXVkaW9TYW1wbGVzQXZhaWxhYmxlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQmFzZUF1ZGlvU2hhcmVkVW5pdC5oOgorICAgICAg
ICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VD
b2NvYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VD
b2NvYTo6UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2E6OnN0YXJ0UHJvZHVjaW5nRGF0YSk6
CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2NvYTo6c3Rv
cFByb2R1Y2luZ0RhdGEpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ0F1ZGlv
U291cmNlQ29jb2E6OmxvZ1RpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJ
bmNvbWluZ0F1ZGlvU291cmNlQ29jb2E6Ok9uRGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmg6CisKIDIwMjEt
MDQtMjEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEF1ZGlv
TWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyVW5pdCBzaG91bGQgbm90IGhhdmUgaXRzIGRhdGEgemVy
b2VkIGlmIG9uZSB0cmFjayBoYXMgbm90IGVub3VnaCBkYXRhCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGExYjA4YTc5
OTFiM2MwYzIzZTM3ZGJlYTE4ZWM0NmFmMGRiNzFhYTYuLmE4MjE2YTUyMTg4Njk4Y2UxOTE5MTA2
ZWRjOGViZGNkMzNiOWIzY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDQtMjEg
IFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBtZW1vcnkg
YWxsb2NhdGlvbiBjaGVja3MgaW4gbW9yZSByZWFsdGltZSBhdWRpbyBjYXB0dXJlL3JlbmRlcmlu
ZyBwbGFjZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyNDc1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2VyUHJveHkuY3BwOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9BdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJl
ci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyOjpw
dXNoU2FtcGxlcyk6CisgICAgICAgIChXZWJLaXQ6OkF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRl
cmVyOjpzdG9yYWdlQ2hhbmdlZCk6CisKIDIwMjEtMDQtMjAgIEtpbW1vIEtpbm51bmVuICA8a2tp
bm51bmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBDb25uZWN0aW9uOjptX21haW5UaHJlYWQgaXMg
dW51c2VkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9S
ZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZS5oCmluZGV4IDlkODRiY2JjOGMz
ZjRlYzJhMjk1YTNiMWI3ZjFlNzM3Y2Q1N2JhYWMuLmExOGZjMjE2MDhjMWNkNTk2YTU0NDU1MDMy
OGI4MDUyMTNiOGE0ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZS5oCkBAIC02
MSwxNyArNjEsMTcgQEAgcHJvdGVjdGVkOgogICAgIGNvbnN0IGNoYXIqIGxvZ0NsYXNzTmFtZSgp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuICJSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UiOyB9CiAj
ZW5kaWYKIAorICAgIC8vIFJlYWx0aW1lTWVkaWFTb3VyY2UgQVBJCisgICAgdm9pZCBzdGFydFBy
b2R1Y2luZ0RhdGEoKSBvdmVycmlkZTsKKyAgICB2b2lkIHN0b3BQcm9kdWNpbmdEYXRhKCkgIG92
ZXJyaWRlOworCiBwcml2YXRlOgogICAgIC8vIHdlYnJ0Yzo6QXVkaW9UcmFja1NpbmtJbnRlcmZh
Y2UgQVBJCi0gICAgdmlydHVhbCB2b2lkIE9uRGF0YShjb25zdCB2b2lkKiAvKiBhdWRpb0RhdGEg
Ki8sIGludCAvKiBiaXRzUGVyU2FtcGxlICovLCBpbnQgLyogc2FtcGxlUmF0ZSAqLywgc2l6ZV90
IC8qIG51bWJlck9mQ2hhbm5lbHMgKi8sIHNpemVfdCAvKiBudW1iZXJPZkZyYW1lcyAqLykgeyB9
OworICAgIHZvaWQgT25EYXRhKGNvbnN0IHZvaWQqIC8qIGF1ZGlvRGF0YSAqLywgaW50IC8qIGJp
dHNQZXJTYW1wbGUgKi8sIGludCAvKiBzYW1wbGVSYXRlICovLCBzaXplX3QgLyogbnVtYmVyT2ZD
aGFubmVscyAqLywgc2l6ZV90IC8qIG51bWJlck9mRnJhbWVzICovKSBvdmVycmlkZSB7IH07CiAK
ICAgICAvLyB3ZWJydGM6Ok9ic2VydmVySW50ZXJmYWNlIEFQSQogICAgIHZvaWQgT25DaGFuZ2Vk
KCkgZmluYWw7CiAKLSAgICAvLyBSZWFsdGltZU1lZGlhU291cmNlIEFQSQotICAgIHZvaWQgc3Rh
cnRQcm9kdWNpbmdEYXRhKCkgZmluYWw7Ci0gICAgdm9pZCBzdG9wUHJvZHVjaW5nRGF0YSgpICBm
aW5hbDsKLQogICAgIGNvbnN0IFJlYWx0aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXRpZXMmIGNhcGFi
aWxpdGllcygpIGZpbmFsOwogICAgIGNvbnN0IFJlYWx0aW1lTWVkaWFTb3VyY2VTZXR0aW5ncyYg
c2V0dGluZ3MoKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0F1ZGlvTW9kdWxlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENBdWRpb01vZHVs
ZS5jcHAKaW5kZXggYWFkYjcwYzkxOTM5ZTJjYmQ2ODQwNDkxYWVhN2RjZDdiODcxNTI0NS4uNzg1
MWIxM2Q2NmEyNjZmMGFjODY0NGNkOWNiNjY4NDBkY2FjOTdhYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0F1ZGlvTW9k
dWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDQXVkaW9Nb2R1bGUuY3BwCkBAIC0zMCwxMSArMzAsMTMgQEAKIAogI2luY2x1
ZGUgIkxpYldlYlJUQ0F1ZGlvRm9ybWF0LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2luY2x1
ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogTGliV2ViUlRD
QXVkaW9Nb2R1bGU6OkxpYldlYlJUQ0F1ZGlvTW9kdWxlKCkKICAgICA6IG1fcXVldWUoV29ya1F1
ZXVlOjpjcmVhdGUoIldlYktpdFdlYlJUQ0F1ZGlvTW9kdWxlIiwgV29ya1F1ZXVlOjpUeXBlOjpT
ZXJpYWwsIFdvcmtRdWV1ZTo6UU9TOjpVc2VySW50ZXJhY3RpdmUpKQorICAgICwgbV9sb2dUaW1l
cigqdGhpcywgJkxpYldlYlJUQ0F1ZGlvTW9kdWxlOjpsb2dUaW1lckZpcmVkKQogewogfQogCkBA
IC01NCw2ICs1NiwxMCBAQCBpbnQzMl90IExpYldlYlJUQ0F1ZGlvTW9kdWxlOjpTdGFydFBsYXlv
dXQoKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIG1faXNQbGF5aW5nID0gdHJ1ZTsKKyAgICBj
YWxsT25NYWluVGhyZWFkKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gcnRjOjpzY29wZWRfcmVmcHRy
PHdlYnJ0Yzo6QXVkaW9EZXZpY2VNb2R1bGU+KHRoaXMpXSB7CisgICAgICAgIG1fbG9nVGltZXIu
c3RhcnRSZXBlYXRpbmcobG9nVGltZXJJbnRlcnZhbCk7CisgICAgfSk7CisKICAgICBtX3F1ZXVl
LT5kaXNwYXRjaChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJy
dGM6OkF1ZGlvRGV2aWNlTW9kdWxlPih0aGlzKV0gewogICAgICAgICBtX3BvbGxpbmdUaW1lID0g
TW9ub3RvbmljVGltZTo6bm93KCk7CiAgICAgICAgIHBvbGxBdWRpb0RhdGEoKTsKQEAgLTY2LDMz
ICs3Miw1MCBAQCBpbnQzMl90IExpYldlYlJUQ0F1ZGlvTW9kdWxlOjpTdG9wUGxheW91dCgpCiAg
ICAgUkVMRUFTRV9MT0coV2ViUlRDLCAiTGliV2ViUlRDQXVkaW9Nb2R1bGU6OlN0b3BQbGF5b3V0
ICVkIiwgbV9pc1BsYXlpbmcpOwogCiAgICAgbV9pc1BsYXlpbmcgPSBmYWxzZTsKKyAgICBjYWxs
T25NYWluVGhyZWFkKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gcnRjOjpzY29wZWRfcmVmcHRyPHdl
YnJ0Yzo6QXVkaW9EZXZpY2VNb2R1bGU+KHRoaXMpXSB7CisgICAgICAgIG1fbG9nVGltZXIuc3Rv
cCgpOworICAgIH0pOwogICAgIHJldHVybiAwOwogfQogCit2b2lkIExpYldlYlJUQ0F1ZGlvTW9k
dWxlOjpsb2dUaW1lckZpcmVkKCkKK3sKKyAgICBSRUxFQVNFX0xPR19JRihtX3RpbWVTcGVudCwg
V2ViUlRDLCAiTGliV2ViUlRDQXVkaW9Nb2R1bGU6OnBvbGxBdWRpb0RhdGEsIHBvbGxpbmcgdG9v
ayB0b28gbXVjaCB0aW1lOiAlZCBtcyIsIG1fdGltZVNwZW50KTsKKyAgICBtX3RpbWVTcGVudCA9
IDA7Cit9CisKIC8vIGxpYndlYnJ0YyB1c2VzIDEwbXMgZnJhbWVzLgogY29uc3QgdW5zaWduZWQg
ZnJhbWVMZW5ndGhNcyA9IDEwMDAgKiBMaWJXZWJSVENBdWRpb0Zvcm1hdDo6Y2h1bmtTYW1wbGVD
b3VudCAvIExpYldlYlJUQ0F1ZGlvRm9ybWF0OjpzYW1wbGVSYXRlOwogY29uc3QgdW5zaWduZWQg
cG9sbEludGVydmFsID0gTGliV2ViUlRDQXVkaW9Nb2R1bGU6OlBvbGxTYW1wbGVzQ291bnQgKiBm
cmFtZUxlbmd0aE1zOwogY29uc3QgdW5zaWduZWQgY2hhbm5lbHMgPSAyOwogCi12b2lkIExpYldl
YlJUQ0F1ZGlvTW9kdWxlOjpwb2xsQXVkaW9EYXRhKCkKK1NlY29uZHMgTGliV2ViUlRDQXVkaW9N
b2R1bGU6OmNvbXB1dGVEZWxheVVudGlsTmV4dFBvbGxpbmcoKQogewotICAgIGlmICghbV9pc1Bs
YXlpbmcpCi0gICAgICAgIHJldHVybjsKLQotICAgIHBvbGxGcm9tU291cmNlKCk7Ci0KICAgICBh
dXRvIG5vdyA9IE1vbm90b25pY1RpbWU6Om5vdygpOwogICAgIGF1dG8gZGVsYXlVbnRpbE5leHRQ
b2xsaW5nID0gbV9wb2xsaW5nVGltZSArIFNlY29uZHM6OmZyb21NaWxsaXNlY29uZHMocG9sbElu
dGVydmFsKSAtIG5vdzsKICAgICBpZiAoZGVsYXlVbnRpbE5leHRQb2xsaW5nLm1pbGxpc2Vjb25k
cygpIDwgMCkgewotICAgICAgICBjYWxsT25NYWluVGhyZWFkKFt0aW1lU3BlbnQgPSAobm93IC0g
bV9wb2xsaW5nVGltZSkubWlsbGlzZWNvbmRzKCldIHsKLSAgICAgICAgICAgIFJFTEVBU0VfTE9H
KFdlYlJUQywgIkxpYldlYlJUQ0F1ZGlvTW9kdWxlOjpwb2xsQXVkaW9EYXRhLCBwb2xsaW5nIHRv
b2sgdG9vIG11Y2ggdGltZTogJWQgbXMiLCAoaW50KXRpbWVTcGVudCk7Ci0gICAgICAgIH0pOwor
ICAgICAgICBtX3RpbWVTcGVudCA9IChub3cgLSBtX3BvbGxpbmdUaW1lKS5taWxsaXNlY29uZHMo
KTsKICAgICAgICAgZGVsYXlVbnRpbE5leHRQb2xsaW5nID0gMF9zOwogICAgIH0KICAgICBtX3Bv
bGxpbmdUaW1lID0gbm93ICsgZGVsYXlVbnRpbE5leHRQb2xsaW5nOwotICAgIG1fcXVldWUtPmRp
c3BhdGNoQWZ0ZXIoZGVsYXlVbnRpbE5leHRQb2xsaW5nLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9
IHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkF1ZGlvRGV2aWNlTW9kdWxlPih0aGlzKV0gewor
ICAgIHJldHVybiBkZWxheVVudGlsTmV4dFBvbGxpbmc7Cit9CisKK3ZvaWQgTGliV2ViUlRDQXVk
aW9Nb2R1bGU6OnBvbGxBdWRpb0RhdGEoKQoreworICAgIGlmICghbV9pc1BsYXlpbmcpCisgICAg
ICAgIHJldHVybjsKKworICAgIEZ1bmN0aW9uPHZvaWQoKT4gbmV4dFBvbGxGdW5jdGlvbiA9IFt0
aGlzLCBwcm90ZWN0ZWRUaGlzID0gcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6QXVkaW9EZXZp
Y2VNb2R1bGU+KHRoaXMpXSB7CiAgICAgICAgIHBvbGxBdWRpb0RhdGEoKTsKLSAgICB9KTsKKyAg
ICB9OworCisgICAgLy8gRm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMsIHdlIGZvcmJpZCBoZWFwIGFs
bG9jYXRpb25zIHdoaWxlIGRvaW5nIHJlbmRlcmluZyBvbiB0aGUgd2VicnRjIGF1ZGlvIHRocmVh
ZC4KKyAgICBGb3JiaWRNYWxsb2NVc2VGb3JDdXJyZW50VGhyZWFkU2NvcGUgZm9yYmlkTWFsbG9j
VXNlOworCisgICAgcG9sbEZyb21Tb3VyY2UoKTsKKworICAgIG1fcXVldWUtPmRpc3BhdGNoQWZ0
ZXIoY29tcHV0ZURlbGF5VW50aWxOZXh0UG9sbGluZygpLCBXVEZNb3ZlKG5leHRQb2xsRnVuY3Rp
b24pKTsKIH0KIAogdm9pZCBMaWJXZWJSVENBdWRpb01vZHVsZTo6cG9sbEZyb21Tb3VyY2UoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRj
L0xpYldlYlJUQ0F1ZGlvTW9kdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDQXVkaW9Nb2R1bGUuaAppbmRleCBhMTU2OWE0MmQxYjkz
ZTdlZjNkM2FjY2FiMzhjNjk4NjEyYTVkYzlkLi4xMDAwMjk2YTkwNDc2MTQ2MjM0MWNkOTAxMmQw
YTA1ZDBhNzc2YzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDQXVkaW9Nb2R1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDQXVkaW9Nb2R1bGUuaApA
QCAtMjgsNiArMjgsNyBAQAogI2lmIFVTRShMSUJXRUJSVEMpCiAKICNpbmNsdWRlICJMaWJXZWJS
VENNYWNyb3MuaCIKKyNpbmNsdWRlICJUaW1lci5oIgogCiBBTExPV19VTlVTRURfUEFSQU1FVEVS
U19CRUdJTgogCkBAIC0xMjMsMTEgKzEyNCwxNyBAQCBwcml2YXRlOgogcHJpdmF0ZToKICAgICB2
b2lkIHBvbGxBdWRpb0RhdGEoKTsKICAgICB2b2lkIHBvbGxGcm9tU291cmNlKCk7CisgICAgdm9p
ZCBsb2dUaW1lckZpcmVkKCk7CisgICAgU2Vjb25kcyBjb21wdXRlRGVsYXlVbnRpbE5leHRQb2xs
aW5nKCk7CisKKyAgICBzdGF0aWMgY29uc3RleHByIFNlY29uZHMgbG9nVGltZXJJbnRlcnZhbCA9
IDJfczsKIAogICAgIFJlZjxXb3JrUXVldWU+IG1fcXVldWU7CiAgICAgYm9vbCBtX2lzUGxheWlu
ZyB7IGZhbHNlIH07CiAgICAgd2VicnRjOjpBdWRpb1RyYW5zcG9ydCogbV9hdWRpb1RyYW5zcG9y
dCB7IG51bGxwdHIgfTsKICAgICBNb25vdG9uaWNUaW1lIG1fcG9sbGluZ1RpbWU7CisgICAgVGlt
ZXIgbV9sb2dUaW1lcjsKKyAgICBpbnQgbV90aW1lU3BlbnQgeyAwIH07CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVkaW9NZWRpYVN0cmVhbVRyYWNr
UmVuZGVyZXJDb2NvYS5jcHAKaW5kZXggYmM0ZmQwMGQ3MzQ2OGI0NzdhMjkxMGQ2NWY0MTRkN2Qw
Y2JhZDE2MS4uZDk5Yjg4YTQyMDBjMGEyZDM1NjgzOGViMDQyZWJjZDI4ODg3YmI2MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVkaWFT
dHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9BdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hLmNwcApA
QCAtODksNiArODksOCBAQCB2b2lkIEF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2E6
OnB1c2hTYW1wbGVzKGNvbnN0IE1lZGlhVGltZSYgc2FtcGxlVGltZQogICAgIEFTU0VSVCghaXNN
YWluVGhyZWFkKCkpOwogICAgIEFTU0VSVChkZXNjcmlwdGlvbi5wbGF0Zm9ybURlc2NyaXB0aW9u
KCkudHlwZSA9PSBQbGF0Zm9ybURlc2NyaXB0aW9uOjpDQUF1ZGlvU3RyZWFtQmFzaWNUeXBlKTsK
ICAgICBpZiAoIW1fZGF0YVNvdXJjZSB8fCBtX3Nob3VsZFJlc2V0IHx8ICFtX2RhdGFTb3VyY2Ut
PmlucHV0RGVzY3JpcHRpb24oKSB8fCAqbV9kYXRhU291cmNlLT5pbnB1dERlc2NyaXB0aW9uKCkg
IT0gZGVzY3JpcHRpb24pIHsKKyAgICAgICAgRGlzYWJsZU1hbGxvY1Jlc3RyaWN0aW9uc0ZvckN1
cnJlbnRUaHJlYWRTY29wZSBzY29wZTsKKwogICAgICAgICAvLyBGSVhNRTogRm9yIG5vbiBsaWJ3
ZWJydGMgc291cmNlcywgd2UgY2FuIHByb2JhYmx5IHJlZHVjZSBwb2xsIHNhbXBsZXMgY291bnQg
dG8gMi4KICAgICAgICAgCiAgICAgICAgIGF1dG8gZGF0YVNvdXJjZSA9IEF1ZGlvU2FtcGxlRGF0
YVNvdXJjZTo6Y3JlYXRlKGRlc2NyaXB0aW9uLnNhbXBsZVJhdGUoKSAqIDAuNSwgKnRoaXMsIHBv
bGxTYW1wbGVzQ291bnQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvQmFzZUF1ZGlvU2hhcmVkVW5pdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQmFzZUF1ZGlvU2hhcmVkVW5pdC5jcHAKaW5kZXggOWZj
NWZmNTBhNjU2MjM5Yzk1ZTQxMTBmYzY1NmQ5NDg0MTRjMTNmNS4uMmU5ZWNkNzliYWI5Yzg1NTgy
OTE4ZGZjMzVlYzU3ODgxNTAyMjlhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbWFjL0Jhc2VBdWRpb1NoYXJlZFVuaXQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9CYXNlQXVkaW9TaGFyZWRVbml0LmNwcApA
QCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkRlcHJlY2F0ZWRHbG9iYWxTZXR0aW5ncy5oIgog
I2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFn
ZXIuaCIKKyNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKQEAgLTQzLDEyICs0NCwxNCBAQCBCYXNlQXVkaW9TaGFyZWRVbml0OjpCYXNlQXVkaW9TaGFy
ZWRVbml0KCkKIAogdm9pZCBCYXNlQXVkaW9TaGFyZWRVbml0OjphZGRDbGllbnQoQ29yZUF1ZGlv
Q2FwdHVyZVNvdXJjZSYgY2xpZW50KQogeworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAg
ICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX2NsaWVudHNMb2NrKTsKICAgICBtX2NsaWVudHMu
YWRkKCZjbGllbnQpOwogfQogCiB2b2lkIEJhc2VBdWRpb1NoYXJlZFVuaXQ6OnJlbW92ZUNsaWVu
dChDb3JlQXVkaW9DYXB0dXJlU291cmNlJiBjbGllbnQpCiB7CisgICAgQVNTRVJUKGlzTWFpblRo
cmVhZCgpKTsKICAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fY2xpZW50c0xvY2spOwogICAg
IG1fY2xpZW50cy5yZW1vdmUoJmNsaWVudCk7CiB9CkBAIC0yMTMsMTAgKzIxNiwxNSBAQCBPU1N0
YXR1cyBCYXNlQXVkaW9TaGFyZWRVbml0OjpzdXNwZW5kKCkKIAogdm9pZCBCYXNlQXVkaW9TaGFy
ZWRVbml0OjphdWRpb1NhbXBsZXNBdmFpbGFibGUoY29uc3QgTWVkaWFUaW1lJiB0aW1lLCBjb25z
dCBQbGF0Zm9ybUF1ZGlvRGF0YSYgZGF0YSwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYg
ZGVzY3JpcHRpb24sIHNpemVfdCBudW1iZXJPZkZyYW1lcykKIHsKLSAgICBmb3JFYWNoQ2xpZW50
KFsmXShhdXRvJiBjbGllbnQpIHsKLSAgICAgICAgaWYgKGNsaWVudC5pc1Byb2R1Y2luZ0RhdGEo
KSkKLSAgICAgICAgICAgIGNsaWVudC5hdWRpb1NhbXBsZXNBdmFpbGFibGUodGltZSwgZGF0YSwg
ZGVzY3JpcHRpb24sIG51bWJlck9mRnJhbWVzKTsKLSAgICB9KTsKKyAgICAvLyBGb3IgcGVyZm9y
bWFuY2UgcmVhc29ucywgd2UgZm9yYmlkIGhlYXAgYWxsb2NhdGlvbnMgd2hpbGUgZG9pbmcgcmVu
ZGVyaW5nIG9uIHRoZSBjYXB0dXJlIGF1ZGlvIHRocmVhZC4KKyAgICBGb3JiaWRNYWxsb2NVc2VG
b3JDdXJyZW50VGhyZWFkU2NvcGUgZm9yYmlkTWFsbG9jVXNlOworCisgICAgLy8gV2UgaG9sZCB0
aGUgbG9jayBoZXJlIHNpbmNlIGFkZGluZy9yZW1vdmluZyBjbGllbnRzIGNhbiBvbmx5IGhhcHBl
biBpbiBtYWluIHRocmVhZC4KKyAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fY2xpZW50c0xv
Y2spOworICAgIGZvciAoYXV0byogY2xpZW50IDogbV9jbGllbnRzKSB7CisgICAgICAgIGlmIChj
bGllbnQtPmlzUHJvZHVjaW5nRGF0YSgpKQorICAgICAgICAgICAgY2xpZW50LT5hdWRpb1NhbXBs
ZXNBdmFpbGFibGUodGltZSwgZGF0YSwgZGVzY3JpcHRpb24sIG51bWJlck9mRnJhbWVzKTsKKyAg
ICB9CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9CYXNlQXVkaW9TaGFyZWRVbml0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQmFzZUF1ZGlvU2hhcmVkVW5pdC5o
CmluZGV4IDg0ODE3YzUxOWMyMGJiNWYwZWViNWZkMzJjNTQwNDEwZTY1ZWMxZjguLmQyM2NkOWQ1
MTQ0YTc5MjQ4Zjc1NGIzNmQ1OGE5MTcxNmViYmJjNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9CYXNlQXVkaW9TaGFyZWRVbml0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Jhc2VBdWRpb1NoYXJlZFVu
aXQuaApAQCAtMjgsMTEgKzI4LDEwIEBACiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIAogI2lu
Y2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2VDYXBhYmlsaXRpZXMuaCIKLSNpbmNsdWRlIDxwYWwv
Y2YvQ29yZU1lZGlhU29mdExpbmsuaD4KICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KICNpbmNs
dWRlIDx3dGYvSGFzaFNldC5oPgorI2luY2x1ZGUgPHd0Zi9Mb2NrLmg+CiAjaW5jbHVkZSA8d3Rm
L01lZGlhVGltZS5oPgotI2luY2x1ZGUgPHd0Zi9SZWN1cnNpdmVMb2NrQWRhcHRlci5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0x
MDQsNyArMTAzLDcgQEAgcHJpdmF0ZToKICAgICBpbnQzMl90IG1fcHJvZHVjaW5nQ291bnQgeyAw
IH07CiAKICAgICBIYXNoU2V0PENvcmVBdWRpb0NhcHR1cmVTb3VyY2UqPiBtX2NsaWVudHM7Ci0g
ICAgbXV0YWJsZSBSZWN1cnNpdmVMb2NrIG1fY2xpZW50c0xvY2s7CisgICAgbXV0YWJsZSBMb2Nr
IG1fY2xpZW50c0xvY2s7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWlu
Z0F1ZGlvU291cmNlQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmNwcAppbmRleCAzYmRhNTk0
YjlmYThjMDk3YzU4N2E0ZTgwYjE1NWVkNzVlOTgxZTM5Li4yNjYwMjhjMTIwNWE3MzUzNDAxMjI0
Mzc4NDMyMzUxYzJiNWIwMDk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29taW5n
QXVkaW9Tb3VyY2VDb2NvYS5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJMaWJXZWJS
VENBdWRpb0Zvcm1hdC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlIDxwYWwvYXZm
b3VuZGF0aW9uL01lZGlhVGltZUFWRm91bmRhdGlvbi5oPgorI2luY2x1ZGUgPHd0Zi9GYXN0TWFs
bG9jLmg+CiAKICNpbmNsdWRlIDxwYWwvY2YvQ29yZU1lZGlhU29mdExpbmsuaD4KIApAQCAtNjYs
MzEgKzY3LDY0IEBAIFJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hOjpSZWFsdGltZUlu
Y29taW5nQXVkaW9Tb3VyY2VDb2NvYShydGM6OnNjb3BlZF9yCiAgICAgLCBtX251bWJlck9mQ2hh
bm5lbHMoMSkKICAgICAsIG1fc3RyZWFtRGVzY3JpcHRpb24oc3RyZWFtRGVzY3JpcHRpb24obV9z
YW1wbGVSYXRlLCBtX251bWJlck9mQ2hhbm5lbHMpKQogICAgICwgbV9hdWRpb0J1ZmZlckxpc3Qo
bWFrZVVuaXF1ZTxXZWJBdWRpb0J1ZmZlckxpc3Q+KG1fc3RyZWFtRGVzY3JpcHRpb24pKQorI2lm
ICFSRUxFQVNFX0xPR19ESVNBQkxFRAorICAgICwgbV9sb2dUaW1lcigqdGhpcywgJlJlYWx0aW1l
SW5jb21pbmdBdWRpb1NvdXJjZUNvY29hOjpsb2dUaW1lckZpcmVkKQorI2VuZGlmCit7Cit9CisK
K3ZvaWQgUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2E6OnN0YXJ0UHJvZHVjaW5nRGF0
YSgpCit7CisgICAgUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlOjpzdGFydFByb2R1Y2luZ0Rh
dGEoKTsKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQKKyAgICBtX2xvZ1RpbWVyLnN0YXJ0UmVw
ZWF0aW5nKExvZ1RpbWVySW50ZXJ2YWwpOworI2VuZGlmCit9CisKK3ZvaWQgUmVhbHRpbWVJbmNv
bWluZ0F1ZGlvU291cmNlQ29jb2E6OnN0b3BQcm9kdWNpbmdEYXRhKCkKIHsKKyNpZiAhUkVMRUFT
RV9MT0dfRElTQUJMRUQKKyAgICBtX2xvZ1RpbWVyLnN0b3AoKTsKKyNlbmRpZgorICAgIFJlYWx0
aW1lSW5jb21pbmdBdWRpb1NvdXJjZTo6c3RvcFByb2R1Y2luZ0RhdGEoKTsKIH0KIAorI2lmICFS
RUxFQVNFX0xPR19ESVNBQkxFRAordm9pZCBSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2Nv
YTo6bG9nVGltZXJGaXJlZCgpCit7CisgICAgaWYgKCFtX2xhc3RDaHVua3NSZWNlaXZlZCB8fCAo
bV9jaHVua3NSZWNlaXZlZCAtIG1fbGFzdENodW5rc1JlY2VpdmVkKSA+PSBDaHVua3NSZWNlaXZl
ZERlbHRhKSB7CisgICAgICAgIG1fbGFzdENodW5rc1JlY2VpdmVkID0gbV9jaHVua3NSZWNlaXZl
ZDsKKyAgICAgICAgQUxXQVlTX0xPR19JRihsb2dnZXJQdHIoKSwgTE9HSURFTlRJRklFUiwgImNo
dW5rICIsIG1fY2h1bmtzUmVjZWl2ZWQpOworICAgIH0KKyAgICBpZiAobV9hdWRpb0Zvcm1hdENo
YW5nZWQpIHsKKyAgICAgICAgQUxXQVlTX0xPR19JRihsb2dnZXJQdHIoKSwgTE9HSURFTlRJRklF
UiwgIm5ldyBhdWRpbyBidWZmZXIgbGlzdCBmb3Igc2FtcGxlUmF0ZSAiLCBtX3NhbXBsZVJhdGUs
ICIgYW5kICIsIG1fbnVtYmVyT2ZDaGFubmVscywgIiBjaGFubmVsKHMpIik7CisgICAgICAgIG1f
YXVkaW9Gb3JtYXRDaGFuZ2VkID0gZmFsc2U7CisgICAgfQorfQorI2VuZGlmCisKIHZvaWQgUmVh
bHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2E6Ok9uRGF0YShjb25zdCB2b2lkKiBhdWRpb0Rh
dGEsIGludCBiaXRzUGVyU2FtcGxlLCBpbnQgc2FtcGxlUmF0ZSwgc2l6ZV90IG51bWJlck9mQ2hh
bm5lbHMsIHNpemVfdCBudW1iZXJPZkZyYW1lcykKIHsKICAgICBpZiAoc2FtcGxlUmF0ZSAhPSBt
X3NhbXBsZVJhdGUpCiAgICAgICAgIHJldHVybjsKIAogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxF
RAotICAgIGlmICghKCsrbV9jaHVua3NSZWNlaXZlZCAlIDIwMCkpIHsKLSAgICAgICAgY2FsbE9u
TWFpblRocmVhZChbaWRlbnRpZmllciA9IExPR0lERU5USUZJRVIsIHRoaXMsIHByb3RlY3RlZFRo
aXMgPSBtYWtlUmVmKCp0aGlzKSwgY2h1bmtzUmVjZWl2ZWQgPSBtX2NodW5rc1JlY2VpdmVkXSB7
Ci0gICAgICAgICAgICBBTFdBWVNfTE9HX0lGKGxvZ2dlclB0cigpLCBpZGVudGlmaWVyLCAiY2h1
bmsgIiwgY2h1bmtzUmVjZWl2ZWQpOwotICAgICAgICB9KTsKLSAgICB9CisgICAgKyttX2NodW5r
c1JlY2VpdmVkOwogI2VuZGlmCiAKICAgICBpZiAoIW1fYXVkaW9CdWZmZXJMaXN0IHx8IG1fbnVt
YmVyT2ZDaGFubmVscyAhPSBudW1iZXJPZkNoYW5uZWxzKSB7Ci0gICAgICAgIGNhbGxPbk1haW5U
aHJlYWQoW2lkZW50aWZpZXIgPSBMT0dJREVOVElGSUVSLCB0aGlzLCBwcm90ZWN0ZWRUaGlzID0g
bWFrZVJlZigqdGhpcyksIHNhbXBsZVJhdGUsIG51bWJlck9mQ2hhbm5lbHNdIHsKLSAgICAgICAg
ICAgIEFMV0FZU19MT0dfSUYobG9nZ2VyUHRyKCksIGlkZW50aWZpZXIsICJuZXcgYXVkaW8gYnVm
ZmVyIGxpc3QgZm9yIHNhbXBsZVJhdGUgIiwgc2FtcGxlUmF0ZSwgIiBhbmQgIiwgbnVtYmVyT2ZD
aGFubmVscywgIiBjaGFubmVsKHMpIik7Ci0gICAgICAgIH0pOworI2lmICFSRUxFQVNFX0xPR19E
SVNBQkxFRAorICAgICAgICBtX2F1ZGlvRm9ybWF0Q2hhbmdlZCA9IHRydWU7CisjZW5kaWYKIAog
ICAgICAgICBtX3NhbXBsZVJhdGUgPSBzYW1wbGVSYXRlOwogICAgICAgICBtX251bWJlck9mQ2hh
bm5lbHMgPSBudW1iZXJPZkNoYW5uZWxzOwogICAgICAgICBtX3N0cmVhbURlc2NyaXB0aW9uID0g
c3RyZWFtRGVzY3JpcHRpb24oc2FtcGxlUmF0ZSwgbnVtYmVyT2ZDaGFubmVscyk7Ci0gICAgICAg
IG1fYXVkaW9CdWZmZXJMaXN0ID0gbWFrZVVuaXF1ZTxXZWJBdWRpb0J1ZmZlckxpc3Q+KG1fc3Ry
ZWFtRGVzY3JpcHRpb24pOworCisgICAgICAgIHsKKyAgICAgICAgICAgIERpc2FibGVNYWxsb2NS
ZXN0cmljdGlvbnNGb3JDdXJyZW50VGhyZWFkU2NvcGUgc2NvcGU7CisgICAgICAgICAgICBtX2F1
ZGlvQnVmZmVyTGlzdCA9IG1ha2VVbmlxdWU8V2ViQXVkaW9CdWZmZXJMaXN0PihtX3N0cmVhbURl
c2NyaXB0aW9uKTsKKyAgICAgICAgfQogICAgICAgICBpZiAobV9zYW1wbGVSYXRlICYmIG1fbnVt
YmVyT2ZGcmFtZXMpCiAgICAgICAgICAgICBtX251bWJlck9mRnJhbWVzID0gbV9udW1iZXJPZkZy
YW1lcyAqIHNhbXBsZVJhdGUgLyBtX3NhbXBsZVJhdGU7CiAgICAgICAgIGVsc2UKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29t
aW5nQXVkaW9Tb3VyY2VDb2NvYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmgKaW5kZXggMWQ3Y2Q5NmM4
YjRiNTM4ZGM1OWZmNWM0NzJlY2U4ZmIzMmFhMDQ1Zi4uYTZhZGRkZThkOWJkZTVjMmNlYmRmZmJj
ZGFkNjQ4OTk3YjdiZTAxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRp
b1NvdXJjZUNvY29hLmgKQEAgLTQ1LDkgKzQ1LDIwIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAg
UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EocnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0
Yzo6QXVkaW9UcmFja0ludGVyZmFjZT4mJiwgU3RyaW5nJiYpOwogCisgICAgLy8gUmVhbHRpbWVN
ZWRpYVNvdXJjZSBBUEkKKyAgICB2b2lkIHN0YXJ0UHJvZHVjaW5nRGF0YSgpIGZpbmFsOworICAg
IHZvaWQgc3RvcFByb2R1Y2luZ0RhdGEoKSAgZmluYWw7CisKICAgICAvLyB3ZWJydGM6OkF1ZGlv
VHJhY2tTaW5rSW50ZXJmYWNlIEFQSQogICAgIHZvaWQgT25EYXRhKGNvbnN0IHZvaWQqIGF1ZGlv
RGF0YSwgaW50IGJpdHNQZXJTYW1wbGUsIGludCBzYW1wbGVSYXRlLCBzaXplX3QgbnVtYmVyT2ZD
aGFubmVscywgc2l6ZV90IG51bWJlck9mRnJhbWVzKSBmaW5hbDsKIAorI2lmICFSRUxFQVNFX0xP
R19ESVNBQkxFRAorICAgIHZvaWQgbG9nVGltZXJGaXJlZCgpOworI2VuZGlmCisKKyAgICBzdGF0
aWMgY29uc3RleHByIFNlY29uZHMgTG9nVGltZXJJbnRlcnZhbCA9IDJfczsKKyAgICBzdGF0aWMg
Y29uc3RleHByIHNpemVfdCBDaHVua3NSZWNlaXZlZERlbHRhID0gMjAwOyAvLyAyMDAgY2h1bmtz
IG9mIDEwbXMgPSAycy4KKwogICAgIHVpbnQ2NF90IG1fbnVtYmVyT2ZGcmFtZXMgeyAwIH07CiAK
ICAgICBpbnQgbV9zYW1wbGVSYXRlIHsgMCB9OwpAQCAtNTYsNiArNjcsOSBAQCBwcml2YXRlOgog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJBdWRpb0J1ZmZlckxpc3Q+IG1fYXVkaW9CdWZmZXJMaXN0
OwogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogICAgIHNpemVfdCBtX2NodW5rc1JlY2VpdmVk
IHsgMCB9OworICAgIHNpemVfdCBtX2xhc3RDaHVua3NSZWNlaXZlZCB7IDAgfTsKKyAgICBib29s
IG1fYXVkaW9Gb3JtYXRDaGFuZ2VkIHsgZmFsc2UgfTsKKyAgICBUaW1lciBtX2xvZ1RpbWVyOwog
I2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvV2ViQXVkaW9Tb3VyY2VQcm92aWRlckNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1dlYkF1ZGlvU291cmNlUHJvdmlkZXJDb2NvYS5tbQpp
bmRleCBkMTJlZDI4M2IzODYxOTBiMDg2ZmM5ZDliYzM2NjA3MWZhZTU4YzQ5Li5iZjNhMzM5MWYx
ZmViYjM4NGU3NTllNGJjODk3NmUxNzdjYTE5NTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvV2ViQXVkaW9Tb3VyY2VQcm92aWRlckNvY29hLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9XZWJBdWRpb1Nv
dXJjZVByb3ZpZGVyQ29jb2EubW0KQEAgLTEwMCw2ICsxMDAsOCBAQCB2b2lkIFdlYkF1ZGlvU291
cmNlUHJvdmlkZXJDb2NvYTo6cHJvdmlkZUlucHV0KEF1ZGlvQnVzKiBidXMsIHNpemVfdCBmcmFt
ZXNUb1BybwogCiB2b2lkIFdlYkF1ZGlvU291cmNlUHJvdmlkZXJDb2NvYTo6cHJlcGFyZShjb25z
dCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24mIGZvcm1hdCkKIHsKKyAgICBEaXNhYmxlTWFs
bG9jUmVzdHJpY3Rpb25zRm9yQ3VycmVudFRocmVhZFNjb3BlIHNjb3BlOworCiAgICAgYXV0byBs
b2NrZXIgPSBob2xkTG9jayhtX2xvY2spOwogCiAgICAgTE9HKE1lZGlhLCAiV2ViQXVkaW9Tb3Vy
Y2VQcm92aWRlckNvY29hOjpwcmVwYXJlKCVwKSIsIHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclBy
b3h5LmNwcAppbmRleCAyNzAyNzkzZmY1NTFiYTk3YjdlZmIwOTAyMzUzNzQ2Mzk2YWUyMmEzLi44
YzgyM2ZlNDM3ODZjYjNkY2UyZmVjZTkwZmI4OGU0ODBiMzgxY2Y3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFu
YWdlclByb3h5LmNwcApAQCAtMTQ1LDYgKzE0NSw4IEBAIHByaXZhdGU6CiAKICAgICAvLyBNYXkg
Z2V0IGNhbGxlZCBvbiBhIGJhY2tncm91bmQgdGhyZWFkLgogICAgIHZvaWQgYXVkaW9TYW1wbGVz
QXZhaWxhYmxlKGNvbnN0IE1lZGlhVGltZSYgdGltZSwgY29uc3QgUGxhdGZvcm1BdWRpb0RhdGEm
IGF1ZGlvRGF0YSwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIHNp
emVfdCBudW1iZXJPZkZyYW1lcykgZmluYWwgeworICAgICAgICBEaXNhYmxlTWFsbG9jUmVzdHJp
Y3Rpb25zRm9yQ3VycmVudFRocmVhZFNjb3BlIHNjb3BlOworCiAgICAgICAgIGlmIChtX2Rlc2Ny
aXB0aW9uICE9IGRlc2NyaXB0aW9uKSB7CiAgICAgICAgICAgICBBU1NFUlQoZGVzY3JpcHRpb24u
cGxhdGZvcm1EZXNjcmlwdGlvbigpLnR5cGUgPT0gUGxhdGZvcm1EZXNjcmlwdGlvbjo6Q0FBdWRp
b1N0cmVhbUJhc2ljVHlwZSk7CiAgICAgICAgICAgICBtX2Rlc2NyaXB0aW9uID0gKldURjo6Z2V0
PGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbio+KGRlc2NyaXB0aW9uLnBsYXRmb3Jt
RGVzY3JpcHRpb24oKS5kZXNjcmlwdGlvbik7CkBAIC0xOTcsNiArMTk5LDcgQEAgcHJpdmF0ZToK
IAogICAgIHZvaWQgc3RvcmFnZUNoYW5nZWQoU2hhcmVkTWVtb3J5KiBzdG9yYWdlLCBjb25zdCBX
ZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mIGZvcm1hdCwgc2l6ZV90IGZyYW1lQ291
bnQpCiAgICAgeworICAgICAgICBEaXNhYmxlTWFsbG9jUmVzdHJpY3Rpb25zRm9yQ3VycmVudFRo
cmVhZFNjb3BlIHNjb3BlOwogICAgICAgICBTaGFyZWRNZW1vcnk6OkhhbmRsZSBoYW5kbGU7CiAg
ICAgICAgIGlmIChzdG9yYWdlKQogICAgICAgICAgICAgc3RvcmFnZS0+Y3JlYXRlSGFuZGxlKGhh
bmRsZSwgU2hhcmVkTWVtb3J5OjpQcm90ZWN0aW9uOjpSZWFkT25seSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9BdWRpb01lZGlhU3RyZWFtVHJhY2tS
ZW5kZXJlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9BdWRpb01l
ZGlhU3RyZWFtVHJhY2tSZW5kZXJlci5jcHAKaW5kZXggNjJhNzg5MWVmZGJmM2VhNzkyNTQwODRm
ODM4OTMyZWYzZTkzN2Y0ZS4uNmI5YjA2NGJkYmRlY2IzZjQwOGQ2NTllYTQ1NDE1MjdiZGI2N2Q4
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvQXVkaW9N
ZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvd2VicnRjL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyLmNwcApAQCAtOTMsNiAr
OTMsNyBAQCB2b2lkIEF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyOjpwdXNoU2FtcGxlcyhj
b25zdCBNZWRpYVRpbWUmIHRpbWUsIGNvbnN0IFdlYgogICAgICAgICByZXR1cm47CiAKICAgICBp
ZiAobV9kZXNjcmlwdGlvbiAhPSBkZXNjcmlwdGlvbikgeworICAgICAgICBEaXNhYmxlTWFsbG9j
UmVzdHJpY3Rpb25zRm9yQ3VycmVudFRocmVhZFNjb3BlIHNjb3BlOwogICAgICAgICBBU1NFUlQo
ZGVzY3JpcHRpb24ucGxhdGZvcm1EZXNjcmlwdGlvbigpLnR5cGUgPT0gV2ViQ29yZTo6UGxhdGZv
cm1EZXNjcmlwdGlvbjo6Q0FBdWRpb1N0cmVhbUJhc2ljVHlwZSk7CiAgICAgICAgIG1fZGVzY3Jp
cHRpb24gPSAqV1RGOjpnZXQ8Y29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKj4oZGVz
Y3JpcHRpb24ucGxhdGZvcm1EZXNjcmlwdGlvbigpLmRlc2NyaXB0aW9uKTsKIApAQCAtMTAzLDYg
KzEwNCw4IEBAIHZvaWQgQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXI6OnB1c2hTYW1wbGVz
KGNvbnN0IE1lZGlhVGltZSYgdGltZSwgY29uc3QgV2ViCiAKICAgICBBU1NFUlQoaXM8V2ViQ29y
ZTo6V2ViQXVkaW9CdWZmZXJMaXN0PihhdWRpb0RhdGEpKTsKICAgICBtX3JpbmdCdWZmZXItPnN0
b3JlKGRvd25jYXN0PFdlYkNvcmU6OldlYkF1ZGlvQnVmZmVyTGlzdD4oYXVkaW9EYXRhKS5saXN0
KCksIG51bWJlck9mRnJhbWVzLCB0aW1lLnRpbWVWYWx1ZSgpKTsKKworICAgIERpc2FibGVNYWxs
b2NSZXN0cmljdGlvbnNGb3JDdXJyZW50VGhyZWFkU2NvcGUgc2NvcGU7CiAgICAgbV9jb25uZWN0
aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlcjo6
QXVkaW9TYW1wbGVzQXZhaWxhYmxlIHsgdGltZSwgbnVtYmVyT2ZGcmFtZXMgfSwgbV9pZGVudGlm
aWVyKTsKIH0KIApAQCAtMTE4LDYgKzEyMSw3IEBAIHZvaWQgQXVkaW9NZWRpYVN0cmVhbVRyYWNr
UmVuZGVyZXI6OnN0b3JhZ2VDaGFuZ2VkKFNoYXJlZE1lbW9yeSogc3RvcmFnZSwgY29uc3QKICNl
bHNlCiAgICAgdWludDY0X3QgZGF0YVNpemUgPSAwOwogI2VuZGlmCisgICAgRGlzYWJsZU1hbGxv
Y1Jlc3RyaWN0aW9uc0ZvckN1cnJlbnRUaHJlYWRTY29wZSBzY29wZTsKICAgICBtX2Nvbm5lY3Rp
b24tPnNlbmQoTWVzc2FnZXM6OlJlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyOjpB
dWRpb1NhbXBsZXNTdG9yYWdlQ2hhbmdlZCB7IFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlIHsgV1RG
TW92ZShoYW5kbGUpLCBkYXRhU2l6ZSB9LCBmb3JtYXQsIGZyYW1lQ291bnQgfSwgbV9pZGVudGlm
aWVyKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427050</attachid>
            <date>2021-04-26 08:33:47 -0700</date>
            <delta_ts>2021-04-27 03:04:28 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-224750-20210426173344.patch</filename>
            <type>text/plain</type>
            <size>21842</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2NTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGU4NWE0YjNhOWRhNGY3
NzY2YTdhOTc0MTJiZTA2ZGUxYmNhYjg2NC4uODkyZDc4YWY4NGIzODg3ZGY2YzY1YzQzYjBjZGM3
OWRkMTMxNzk2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIxLTA0LTI2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgbWVtb3J5IGFsbG9j
YXRpb24gY2hlY2tzIGluIG1vcmUgcmVhbHRpbWUgYXVkaW8gY2FwdHVyZS9yZW5kZXJpbmcgcGxh
Y2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQ3
NTAKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgQWRkIEZh
c3RNYWxsb2MgbWFjcm9zIHRvIGNhdGNoIG1lbW9yeSBhbGxvY2F0aW9uIGluIGF1ZGlvIHNlbnNp
dGl2ZSB0aHJlYWRzLgorICAgICAgICBVcGRhdGUgTGliV2ViUlRDQXVkaW9Nb2R1bGUgYW5kIFJl
YWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hIHRvIG5vdCByZWx5IG9uIEZ1bmN0aW9uIGNy
ZWF0aW9uIGJ1dCByZWx5IG9uIFRpbWVyIGZvciBsYXJnZSBhdWRpbyBnYXAgbG9nZ2luZy4KKyAg
ICAgICAgVXBkYXRlIEJhc2VBdWRpb1NoYXJlZFVuaXQgdG8gbm90IGFsbG9jYXRlIGEgdmVjdG9y
IGVhY2ggdGltZSBhbiBhdWRpbyBzYW1wbGUgaXMgY2FwdHVyZWQuCisKKyAgICAgICAgQ292ZXJl
ZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1Jl
YWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZS5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3Ry
ZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENBdWRpb01vZHVsZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpMaWJXZWJSVENBdWRpb01vZHVsZTo6TGliV2ViUlRDQXVkaW9Nb2R1bGUpOgorICAgICAgICAo
V2ViQ29yZTo6TGliV2ViUlRDQXVkaW9Nb2R1bGU6OlN0YXJ0UGxheW91dCk6CisgICAgICAgIChX
ZWJDb3JlOjpMaWJXZWJSVENBdWRpb01vZHVsZTo6U3RvcFBsYXlvdXQpOgorICAgICAgICAoV2Vi
Q29yZTo6TGliV2ViUlRDQXVkaW9Nb2R1bGU6OmxvZ1RpbWVyRmlyZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6TGliV2ViUlRDQXVkaW9Nb2R1bGU6OmNvbXB1dGVEZWxheVVudGlsTmV4dFBvbGxpbmcp
OgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDQXVkaW9Nb2R1bGU6OnBvbGxBdWRpb0RhdGEp
OgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENBdWRp
b01vZHVsZS5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BdWRpb01lZGlh
U3RyZWFtVHJhY2tSZW5kZXJlckNvY29hLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvTWVk
aWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2E6OnB1c2hTYW1wbGVzKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQmFzZUF1ZGlvU2hhcmVkVW5pdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpCYXNlQXVkaW9TaGFyZWRVbml0OjphZGRDbGllbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6QmFzZUF1ZGlvU2hhcmVkVW5pdDo6cmVtb3ZlQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkJhc2VBdWRpb1NoYXJlZFVuaXQ6OmF1ZGlvU2FtcGxlc0F2YWlsYWJsZSk6CisgICAgICAgICog
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Jhc2VBdWRpb1NoYXJlZFVuaXQuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29j
b2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29j
b2E6OlJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hOjpzdGFydFByb2R1Y2luZ0RhdGEpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2E6OnN0b3BQ
cm9kdWNpbmdEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lSW5jb21pbmdBdWRpb1Nv
dXJjZUNvY29hOjpsb2dUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlYWx0aW1lSW5j
b21pbmdBdWRpb1NvdXJjZUNvY29hOjpPbkRhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlh
c3RyZWFtL21hYy9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VDb2NvYS5oOgorCiAyMDIxLTA0
LTI2ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBb
SlNDXSBPcmRpbmFyeVNldCBzaG91bGQgaW52b2tlIGN1c3RvbSBbW1NldF1dIG1ldGhvZHMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKaW5kZXggNzM0MTRjZjRlN2Y4MmJjODUzYjY0MTdlMWVkMDY0ZjQ1ZDljODQzMy4uYTYwNDE0
Mzc3MDE1MTM2NjAzM2U3ZWJjNWFmZTczMGUzYWUwNzE4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAyMS0wNC0yNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAg
ICAgICAgQWRkIG1lbW9yeSBhbGxvY2F0aW9uIGNoZWNrcyBpbiBtb3JlIHJlYWx0aW1lIGF1ZGlv
IGNhcHR1cmUvcmVuZGVyaW5nIHBsYWNlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NzUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJs
c29uLgorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1VzZXJNZWRpYUNhcHR1cmVNYW5hZ2Vy
UHJveHkuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9BdWRpb01lZGlhU3Ry
ZWFtVHJhY2tSZW5kZXJlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkF1ZGlvTWVkaWFTdHJlYW1U
cmFja1JlbmRlcmVyOjpwdXNoU2FtcGxlcyk6CisgICAgICAgIChXZWJLaXQ6OkF1ZGlvTWVkaWFT
dHJlYW1UcmFja1JlbmRlcmVyOjpzdG9yYWdlQ2hhbmdlZCk6CisKIDIwMjEtMDQtMjYgIEFsZXhl
eSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgogCiAgICAgICAgIFtKU0NdIE9yZGlu
YXJ5U2V0IHNob3VsZCBpbnZva2UgY3VzdG9tIFtbU2V0XV0gbWV0aG9kcwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVJbmNvbWluZ0F1ZGlv
U291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUlu
Y29taW5nQXVkaW9Tb3VyY2UuaAppbmRleCA5ZDg0YmNiYzhjM2Y0ZWMyYTI5NWEzYjFiN2YxZTcz
N2NkNTdiYWFjLi5hMThmYzIxNjA4YzFjZDU5NmE1NDQ1NTAzMjhiODA1MjEzYjhhNGYwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZUluY29t
aW5nQXVkaW9Tb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9SZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuaApAQCAtNjEsMTcgKzYxLDE3IEBAIHByb3Rl
Y3RlZDoKICAgICBjb25zdCBjaGFyKiBsb2dDbGFzc05hbWUoKSBjb25zdCBmaW5hbCB7IHJldHVy
biAiUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlIjsgfQogI2VuZGlmCiAKKyAgICAvLyBSZWFs
dGltZU1lZGlhU291cmNlIEFQSQorICAgIHZvaWQgc3RhcnRQcm9kdWNpbmdEYXRhKCkgb3ZlcnJp
ZGU7CisgICAgdm9pZCBzdG9wUHJvZHVjaW5nRGF0YSgpICBvdmVycmlkZTsKKwogcHJpdmF0ZToK
ICAgICAvLyB3ZWJydGM6OkF1ZGlvVHJhY2tTaW5rSW50ZXJmYWNlIEFQSQotICAgIHZpcnR1YWwg
dm9pZCBPbkRhdGEoY29uc3Qgdm9pZCogLyogYXVkaW9EYXRhICovLCBpbnQgLyogYml0c1BlclNh
bXBsZSAqLywgaW50IC8qIHNhbXBsZVJhdGUgKi8sIHNpemVfdCAvKiBudW1iZXJPZkNoYW5uZWxz
ICovLCBzaXplX3QgLyogbnVtYmVyT2ZGcmFtZXMgKi8pIHsgfTsKKyAgICB2b2lkIE9uRGF0YShj
b25zdCB2b2lkKiAvKiBhdWRpb0RhdGEgKi8sIGludCAvKiBiaXRzUGVyU2FtcGxlICovLCBpbnQg
Lyogc2FtcGxlUmF0ZSAqLywgc2l6ZV90IC8qIG51bWJlck9mQ2hhbm5lbHMgKi8sIHNpemVfdCAv
KiBudW1iZXJPZkZyYW1lcyAqLykgb3ZlcnJpZGUgeyB9OwogCiAgICAgLy8gd2VicnRjOjpPYnNl
cnZlckludGVyZmFjZSBBUEkKICAgICB2b2lkIE9uQ2hhbmdlZCgpIGZpbmFsOwogCi0gICAgLy8g
UmVhbHRpbWVNZWRpYVNvdXJjZSBBUEkKLSAgICB2b2lkIHN0YXJ0UHJvZHVjaW5nRGF0YSgpIGZp
bmFsOwotICAgIHZvaWQgc3RvcFByb2R1Y2luZ0RhdGEoKSAgZmluYWw7Ci0KICAgICBjb25zdCBS
ZWFsdGltZU1lZGlhU291cmNlQ2FwYWJpbGl0aWVzJiBjYXBhYmlsaXRpZXMoKSBmaW5hbDsKICAg
ICBjb25zdCBSZWFsdGltZU1lZGlhU291cmNlU2V0dGluZ3MmIHNldHRpbmdzKCkgZmluYWw7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9MaWJXZWJSVENBdWRpb01vZHVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDQXVkaW9Nb2R1bGUuY3BwCmluZGV4IGFhZGI3MGM5
MTkzOWUyY2JkNjg0MDQ5MWFlYTdkY2Q3Yjg3MTUyNDUuLjc4NTFiMTNkNjZhMjY2ZjBhYzg2NDRj
ZDljYjY2ODQwZGNhYzk3YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENBdWRpb01vZHVsZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ0F1ZGlvTW9k
dWxlLmNwcApAQCAtMzAsMTEgKzMwLDEzIEBACiAKICNpbmNsdWRlICJMaWJXZWJSVENBdWRpb0Zv
cm1hdC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIExpYldlYlJUQ0F1ZGlvTW9kdWxlOjpMaWJXZWJS
VENBdWRpb01vZHVsZSgpCiAgICAgOiBtX3F1ZXVlKFdvcmtRdWV1ZTo6Y3JlYXRlKCJXZWJLaXRX
ZWJSVENBdWRpb01vZHVsZSIsIFdvcmtRdWV1ZTo6VHlwZTo6U2VyaWFsLCBXb3JrUXVldWU6OlFP
Uzo6VXNlckludGVyYWN0aXZlKSkKKyAgICAsIG1fbG9nVGltZXIoKnRoaXMsICZMaWJXZWJSVENB
dWRpb01vZHVsZTo6bG9nVGltZXJGaXJlZCkKIHsKIH0KIApAQCAtNTQsNiArNTYsMTAgQEAgaW50
MzJfdCBMaWJXZWJSVENBdWRpb01vZHVsZTo6U3RhcnRQbGF5b3V0KCkKICAgICAgICAgcmV0dXJu
IDA7CiAKICAgICBtX2lzUGxheWluZyA9IHRydWU7CisgICAgY2FsbE9uTWFpblRocmVhZChbdGhp
cywgcHJvdGVjdGVkVGhpcyA9IHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkF1ZGlvRGV2aWNl
TW9kdWxlPih0aGlzKV0geworICAgICAgICBtX2xvZ1RpbWVyLnN0YXJ0UmVwZWF0aW5nKGxvZ1Rp
bWVySW50ZXJ2YWwpOworICAgIH0pOworCiAgICAgbV9xdWV1ZS0+ZGlzcGF0Y2goW3RoaXMsIHBy
b3RlY3RlZFRoaXMgPSBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpBdWRpb0RldmljZU1vZHVs
ZT4odGhpcyldIHsKICAgICAgICAgbV9wb2xsaW5nVGltZSA9IE1vbm90b25pY1RpbWU6Om5vdygp
OwogICAgICAgICBwb2xsQXVkaW9EYXRhKCk7CkBAIC02NiwzMyArNzIsNTAgQEAgaW50MzJfdCBM
aWJXZWJSVENBdWRpb01vZHVsZTo6U3RvcFBsYXlvdXQoKQogICAgIFJFTEVBU0VfTE9HKFdlYlJU
QywgIkxpYldlYlJUQ0F1ZGlvTW9kdWxlOjpTdG9wUGxheW91dCAlZCIsIG1faXNQbGF5aW5nKTsK
IAogICAgIG1faXNQbGF5aW5nID0gZmFsc2U7CisgICAgY2FsbE9uTWFpblRocmVhZChbdGhpcywg
cHJvdGVjdGVkVGhpcyA9IHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkF1ZGlvRGV2aWNlTW9k
dWxlPih0aGlzKV0geworICAgICAgICBtX2xvZ1RpbWVyLnN0b3AoKTsKKyAgICB9KTsKICAgICBy
ZXR1cm4gMDsKIH0KIAordm9pZCBMaWJXZWJSVENBdWRpb01vZHVsZTo6bG9nVGltZXJGaXJlZCgp
Cit7CisgICAgUkVMRUFTRV9MT0dfSUYobV90aW1lU3BlbnQsIFdlYlJUQywgIkxpYldlYlJUQ0F1
ZGlvTW9kdWxlOjpwb2xsQXVkaW9EYXRhLCBwb2xsaW5nIHRvb2sgdG9vIG11Y2ggdGltZTogJWQg
bXMiLCBtX3RpbWVTcGVudCk7CisgICAgbV90aW1lU3BlbnQgPSAwOworfQorCiAvLyBsaWJ3ZWJy
dGMgdXNlcyAxMG1zIGZyYW1lcy4KIGNvbnN0IHVuc2lnbmVkIGZyYW1lTGVuZ3RoTXMgPSAxMDAw
ICogTGliV2ViUlRDQXVkaW9Gb3JtYXQ6OmNodW5rU2FtcGxlQ291bnQgLyBMaWJXZWJSVENBdWRp
b0Zvcm1hdDo6c2FtcGxlUmF0ZTsKIGNvbnN0IHVuc2lnbmVkIHBvbGxJbnRlcnZhbCA9IExpYldl
YlJUQ0F1ZGlvTW9kdWxlOjpQb2xsU2FtcGxlc0NvdW50ICogZnJhbWVMZW5ndGhNczsKIGNvbnN0
IHVuc2lnbmVkIGNoYW5uZWxzID0gMjsKIAotdm9pZCBMaWJXZWJSVENBdWRpb01vZHVsZTo6cG9s
bEF1ZGlvRGF0YSgpCitTZWNvbmRzIExpYldlYlJUQ0F1ZGlvTW9kdWxlOjpjb21wdXRlRGVsYXlV
bnRpbE5leHRQb2xsaW5nKCkKIHsKLSAgICBpZiAoIW1faXNQbGF5aW5nKQotICAgICAgICByZXR1
cm47Ci0KLSAgICBwb2xsRnJvbVNvdXJjZSgpOwotCiAgICAgYXV0byBub3cgPSBNb25vdG9uaWNU
aW1lOjpub3coKTsKICAgICBhdXRvIGRlbGF5VW50aWxOZXh0UG9sbGluZyA9IG1fcG9sbGluZ1Rp
bWUgKyBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKHBvbGxJbnRlcnZhbCkgLSBub3c7CiAgICAg
aWYgKGRlbGF5VW50aWxOZXh0UG9sbGluZy5taWxsaXNlY29uZHMoKSA8IDApIHsKLSAgICAgICAg
Y2FsbE9uTWFpblRocmVhZChbdGltZVNwZW50ID0gKG5vdyAtIG1fcG9sbGluZ1RpbWUpLm1pbGxp
c2Vjb25kcygpXSB7Ci0gICAgICAgICAgICBSRUxFQVNFX0xPRyhXZWJSVEMsICJMaWJXZWJSVENB
dWRpb01vZHVsZTo6cG9sbEF1ZGlvRGF0YSwgcG9sbGluZyB0b29rIHRvbyBtdWNoIHRpbWU6ICVk
IG1zIiwgKGludCl0aW1lU3BlbnQpOwotICAgICAgICB9KTsKKyAgICAgICAgbV90aW1lU3BlbnQg
PSAobm93IC0gbV9wb2xsaW5nVGltZSkubWlsbGlzZWNvbmRzKCk7CiAgICAgICAgIGRlbGF5VW50
aWxOZXh0UG9sbGluZyA9IDBfczsKICAgICB9CiAgICAgbV9wb2xsaW5nVGltZSA9IG5vdyArIGRl
bGF5VW50aWxOZXh0UG9sbGluZzsKLSAgICBtX3F1ZXVlLT5kaXNwYXRjaEFmdGVyKGRlbGF5VW50
aWxOZXh0UG9sbGluZywgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBydGM6OnNjb3BlZF9yZWZwdHI8
d2VicnRjOjpBdWRpb0RldmljZU1vZHVsZT4odGhpcyldIHsKKyAgICByZXR1cm4gZGVsYXlVbnRp
bE5leHRQb2xsaW5nOworfQorCit2b2lkIExpYldlYlJUQ0F1ZGlvTW9kdWxlOjpwb2xsQXVkaW9E
YXRhKCkKK3sKKyAgICBpZiAoIW1faXNQbGF5aW5nKQorICAgICAgICByZXR1cm47CisKKyAgICBG
dW5jdGlvbjx2b2lkKCk+IG5leHRQb2xsRnVuY3Rpb24gPSBbdGhpcywgcHJvdGVjdGVkVGhpcyA9
IHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OkF1ZGlvRGV2aWNlTW9kdWxlPih0aGlzKV0gewog
ICAgICAgICBwb2xsQXVkaW9EYXRhKCk7Ci0gICAgfSk7CisgICAgfTsKKworICAgIC8vIEZvciBw
ZXJmb3JtYW5jZSByZWFzb25zLCB3ZSBmb3JiaWQgaGVhcCBhbGxvY2F0aW9ucyB3aGlsZSBkb2lu
ZyByZW5kZXJpbmcgb24gdGhlIHdlYnJ0YyBhdWRpbyB0aHJlYWQuCisgICAgRm9yYmlkTWFsbG9j
VXNlRm9yQ3VycmVudFRocmVhZFNjb3BlIGZvcmJpZE1hbGxvY1VzZTsKKworICAgIHBvbGxGcm9t
U291cmNlKCk7CisKKyAgICBtX3F1ZXVlLT5kaXNwYXRjaEFmdGVyKGNvbXB1dGVEZWxheVVudGls
TmV4dFBvbGxpbmcoKSwgV1RGTW92ZShuZXh0UG9sbEZ1bmN0aW9uKSk7CiB9CiAKIHZvaWQgTGli
V2ViUlRDQXVkaW9Nb2R1bGU6OnBvbGxGcm9tU291cmNlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENBdWRpb01vZHVs
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldl
YlJUQ0F1ZGlvTW9kdWxlLmgKaW5kZXggYTE1NjlhNDJkMWI5M2U3ZWYzZDNhY2NhYjM4YzY5ODYx
MmE1ZGM5ZC4uMTAwMDI5NmE5MDQ3NjE0NjIzNDFjZDkwMTJkMGEwNWQwYTc3NmM0MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldl
YlJUQ0F1ZGlvTW9kdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbGlid2VicnRjL0xpYldlYlJUQ0F1ZGlvTW9kdWxlLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNp
ZiBVU0UoTElCV0VCUlRDKQogCiAjaW5jbHVkZSAiTGliV2ViUlRDTWFjcm9zLmgiCisjaW5jbHVk
ZSAiVGltZXIuaCIKIAogQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfQkVHSU4KIApAQCAtMTIzLDEx
ICsxMjQsMTcgQEAgcHJpdmF0ZToKIHByaXZhdGU6CiAgICAgdm9pZCBwb2xsQXVkaW9EYXRhKCk7
CiAgICAgdm9pZCBwb2xsRnJvbVNvdXJjZSgpOworICAgIHZvaWQgbG9nVGltZXJGaXJlZCgpOwor
ICAgIFNlY29uZHMgY29tcHV0ZURlbGF5VW50aWxOZXh0UG9sbGluZygpOworCisgICAgc3RhdGlj
IGNvbnN0ZXhwciBTZWNvbmRzIGxvZ1RpbWVySW50ZXJ2YWwgPSAyX3M7CiAKICAgICBSZWY8V29y
a1F1ZXVlPiBtX3F1ZXVlOwogICAgIGJvb2wgbV9pc1BsYXlpbmcgeyBmYWxzZSB9OwogICAgIHdl
YnJ0Yzo6QXVkaW9UcmFuc3BvcnQqIG1fYXVkaW9UcmFuc3BvcnQgeyBudWxscHRyIH07CiAgICAg
TW9ub3RvbmljVGltZSBtX3BvbGxpbmdUaW1lOworICAgIFRpbWVyIG1fbG9nVGltZXI7CisgICAg
aW50IG1fdGltZVNwZW50IHsgMCB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVk
aWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyQ29jb2EuY3BwCmlu
ZGV4IGJjNGZkMDBkNzM0NjhiNDc3YTI5MTBkNjVmNDE0ZDdkMGNiYWQxNjEuLmQ5OWI4OGE0MjAw
YzBhMmQzNTY4MzhlYjA0MmViY2QyODg4N2JiNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNv
Y29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQXVk
aW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXJDb2NvYS5jcHAKQEAgLTg5LDYgKzg5LDggQEAgdm9p
ZCBBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlckNvY29hOjpwdXNoU2FtcGxlcyhjb25zdCBN
ZWRpYVRpbWUmIHNhbXBsZVRpbWUKICAgICBBU1NFUlQoIWlzTWFpblRocmVhZCgpKTsKICAgICBB
U1NFUlQoZGVzY3JpcHRpb24ucGxhdGZvcm1EZXNjcmlwdGlvbigpLnR5cGUgPT0gUGxhdGZvcm1E
ZXNjcmlwdGlvbjo6Q0FBdWRpb1N0cmVhbUJhc2ljVHlwZSk7CiAgICAgaWYgKCFtX2RhdGFTb3Vy
Y2UgfHwgbV9zaG91bGRSZXNldCB8fCAhbV9kYXRhU291cmNlLT5pbnB1dERlc2NyaXB0aW9uKCkg
fHwgKm1fZGF0YVNvdXJjZS0+aW5wdXREZXNjcmlwdGlvbigpICE9IGRlc2NyaXB0aW9uKSB7Cisg
ICAgICAgIERpc2FibGVNYWxsb2NSZXN0cmljdGlvbnNGb3JDdXJyZW50VGhyZWFkU2NvcGUgc2Nv
cGU7CisKICAgICAgICAgLy8gRklYTUU6IEZvciBub24gbGlid2VicnRjIHNvdXJjZXMsIHdlIGNh
biBwcm9iYWJseSByZWR1Y2UgcG9sbCBzYW1wbGVzIGNvdW50IHRvIDIuCiAgICAgICAgIAogICAg
ICAgICBhdXRvIGRhdGFTb3VyY2UgPSBBdWRpb1NhbXBsZURhdGFTb3VyY2U6OmNyZWF0ZShkZXNj
cmlwdGlvbi5zYW1wbGVSYXRlKCkgKiAwLjUsICp0aGlzLCBwb2xsU2FtcGxlc0NvdW50KCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0Jhc2VB
dWRpb1NoYXJlZFVuaXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL0Jhc2VBdWRpb1NoYXJlZFVuaXQuY3BwCmluZGV4IDlmYzVmZjUwYTY1NjIzOWM5NWU0MTEw
ZmM2NTZkOTQ4NDE0YzEzZjUuLjJlOWVjZDc5YmFiOWM4NTU4MjkxOGRmYzM1ZWM1Nzg4MTUwMjI5
YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9C
YXNlQXVkaW9TaGFyZWRVbml0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9tYWMvQmFzZUF1ZGlvU2hhcmVkVW5pdC5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNp
bmNsdWRlICJEZXByZWNhdGVkR2xvYmFsU2V0dGluZ3MuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgi
CiAjaW5jbHVkZSAiUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgiCisjaW5jbHVkZSA8d3Rm
L0Zhc3RNYWxsb2MuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MywxMiArNDQsMTQg
QEAgQmFzZUF1ZGlvU2hhcmVkVW5pdDo6QmFzZUF1ZGlvU2hhcmVkVW5pdCgpCiAKIHZvaWQgQmFz
ZUF1ZGlvU2hhcmVkVW5pdDo6YWRkQ2xpZW50KENvcmVBdWRpb0NhcHR1cmVTb3VyY2UmIGNsaWVu
dCkKIHsKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIGF1dG8gbG9ja2VyID0gaG9s
ZExvY2sobV9jbGllbnRzTG9jayk7CiAgICAgbV9jbGllbnRzLmFkZCgmY2xpZW50KTsKIH0KIAog
dm9pZCBCYXNlQXVkaW9TaGFyZWRVbml0OjpyZW1vdmVDbGllbnQoQ29yZUF1ZGlvQ2FwdHVyZVNv
dXJjZSYgY2xpZW50KQogeworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAgICAgYXV0byBs
b2NrZXIgPSBob2xkTG9jayhtX2NsaWVudHNMb2NrKTsKICAgICBtX2NsaWVudHMucmVtb3ZlKCZj
bGllbnQpOwogfQpAQCAtMjEzLDEwICsyMTYsMTUgQEAgT1NTdGF0dXMgQmFzZUF1ZGlvU2hhcmVk
VW5pdDo6c3VzcGVuZCgpCiAKIHZvaWQgQmFzZUF1ZGlvU2hhcmVkVW5pdDo6YXVkaW9TYW1wbGVz
QXZhaWxhYmxlKGNvbnN0IE1lZGlhVGltZSYgdGltZSwgY29uc3QgUGxhdGZvcm1BdWRpb0RhdGEm
IGRhdGEsIGNvbnN0IEF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uLCBzaXplX3Qg
bnVtYmVyT2ZGcmFtZXMpCiB7Ci0gICAgZm9yRWFjaENsaWVudChbJl0oYXV0byYgY2xpZW50KSB7
Ci0gICAgICAgIGlmIChjbGllbnQuaXNQcm9kdWNpbmdEYXRhKCkpCi0gICAgICAgICAgICBjbGll
bnQuYXVkaW9TYW1wbGVzQXZhaWxhYmxlKHRpbWUsIGRhdGEsIGRlc2NyaXB0aW9uLCBudW1iZXJP
ZkZyYW1lcyk7Ci0gICAgfSk7CisgICAgLy8gRm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMsIHdlIGZv
cmJpZCBoZWFwIGFsbG9jYXRpb25zIHdoaWxlIGRvaW5nIHJlbmRlcmluZyBvbiB0aGUgY2FwdHVy
ZSBhdWRpbyB0aHJlYWQuCisgICAgRm9yYmlkTWFsbG9jVXNlRm9yQ3VycmVudFRocmVhZFNjb3Bl
IGZvcmJpZE1hbGxvY1VzZTsKKworICAgIC8vIFdlIGhvbGQgdGhlIGxvY2sgaGVyZSBzaW5jZSBh
ZGRpbmcvcmVtb3ZpbmcgY2xpZW50cyBjYW4gb25seSBoYXBwZW4gaW4gbWFpbiB0aHJlYWQuCisg
ICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX2NsaWVudHNMb2NrKTsKKyAgICBmb3IgKGF1dG8q
IGNsaWVudCA6IG1fY2xpZW50cykgeworICAgICAgICBpZiAoY2xpZW50LT5pc1Byb2R1Y2luZ0Rh
dGEoKSkKKyAgICAgICAgICAgIGNsaWVudC0+YXVkaW9TYW1wbGVzQXZhaWxhYmxlKHRpbWUsIGRh
dGEsIGRlc2NyaXB0aW9uLCBudW1iZXJPZkZyYW1lcyk7CisgICAgfQogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvQmFzZUF1ZGlvU2hhcmVkVW5pdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbWFjL0Jhc2VBdWRpb1NoYXJlZFVuaXQuaAppbmRleCA4NDgxN2M1MTljMjBi
YjVmMGVlYjVmZDMyYzU0MDQxMGU2NWVjMWY4Li5kMjNjZDlkNTE0NGE3OTI0OGY3NTRiMzZkNThh
OTE3MTZlYmJiYzVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvQmFzZUF1ZGlvU2hhcmVkVW5pdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9CYXNlQXVkaW9TaGFyZWRVbml0LmgKQEAgLTI4LDExICsyOCwx
MCBAQAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAKICNpbmNsdWRlICJSZWFsdGltZU1lZGlh
U291cmNlQ2FwYWJpbGl0aWVzLmgiCi0jaW5jbHVkZSA8cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5r
Lmg+CiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4K
KyNpbmNsdWRlIDx3dGYvTG9jay5oPgogI2luY2x1ZGUgPHd0Zi9NZWRpYVRpbWUuaD4KLSNpbmNs
dWRlIDx3dGYvUmVjdXJzaXZlTG9ja0FkYXB0ZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTA0LDcgKzEwMyw3IEBAIHByaXZh
dGU6CiAgICAgaW50MzJfdCBtX3Byb2R1Y2luZ0NvdW50IHsgMCB9OwogCiAgICAgSGFzaFNldDxD
b3JlQXVkaW9DYXB0dXJlU291cmNlKj4gbV9jbGllbnRzOwotICAgIG11dGFibGUgUmVjdXJzaXZl
TG9jayBtX2NsaWVudHNMb2NrOworICAgIG11dGFibGUgTG9jayBtX2NsaWVudHNMb2NrOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZUluY29t
aW5nQXVkaW9Tb3VyY2VDb2NvYS5jcHAKaW5kZXggM2JkYTU5NGI5ZmE4YzA5N2M1ODdhNGU4MGIx
NTVlZDc1ZTk4MWUzOS4uNTgwOTRiMzQyMGYzOWM4ZjI2YzE3NzdhMmFlZDAxMjNkYmVhMjYyOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0
aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EuY3Bw
CkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiTGliV2ViUlRDQXVkaW9Gb3JtYXQuaCIKICNp
bmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSA8cGFsL2F2Zm91bmRhdGlvbi9NZWRpYVRpbWVB
VkZvdW5kYXRpb24uaD4KKyNpbmNsdWRlIDx3dGYvRmFzdE1hbGxvYy5oPgogCiAjaW5jbHVkZSA8
cGFsL2NmL0NvcmVNZWRpYVNvZnRMaW5rLmg+CiAKQEAgLTY2LDMxICs2Nyw2NCBAQCBSZWFsdGlt
ZUluY29taW5nQXVkaW9Tb3VyY2VDb2NvYTo6UmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29j
b2EocnRjOjpzY29wZWRfcgogICAgICwgbV9udW1iZXJPZkNoYW5uZWxzKDEpCiAgICAgLCBtX3N0
cmVhbURlc2NyaXB0aW9uKHN0cmVhbURlc2NyaXB0aW9uKG1fc2FtcGxlUmF0ZSwgbV9udW1iZXJP
ZkNoYW5uZWxzKSkKICAgICAsIG1fYXVkaW9CdWZmZXJMaXN0KG1ha2VVbmlxdWU8V2ViQXVkaW9C
dWZmZXJMaXN0PihtX3N0cmVhbURlc2NyaXB0aW9uKSkKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJM
RUQKKyAgICAsIG1fbG9nVGltZXIoKnRoaXMsICZSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VD
b2NvYTo6bG9nVGltZXJGaXJlZCkKKyNlbmRpZgoreworfQorCit2b2lkIFJlYWx0aW1lSW5jb21p
bmdBdWRpb1NvdXJjZUNvY29hOjpzdGFydFByb2R1Y2luZ0RhdGEoKQoreworICAgIFJlYWx0aW1l
SW5jb21pbmdBdWRpb1NvdXJjZTo6c3RhcnRQcm9kdWNpbmdEYXRhKCk7CisjaWYgIVJFTEVBU0Vf
TE9HX0RJU0FCTEVECisgICAgbV9sb2dUaW1lci5zdGFydFJlcGVhdGluZyhMb2dUaW1lckludGVy
dmFsKTsKKyNlbmRpZgorfQorCit2b2lkIFJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29h
OjpzdG9wUHJvZHVjaW5nRGF0YSgpCiB7CisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisgICAg
bV9sb2dUaW1lci5zdG9wKCk7CisjZW5kaWYKKyAgICBSZWFsdGltZUluY29taW5nQXVkaW9Tb3Vy
Y2U6OnN0b3BQcm9kdWNpbmdEYXRhKCk7CiB9CiAKKyNpZiAhUkVMRUFTRV9MT0dfRElTQUJMRUQK
K3ZvaWQgUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2E6OmxvZ1RpbWVyRmlyZWQoKQor
eworICAgIGlmICghbV9sYXN0Q2h1bmtzUmVjZWl2ZWQgfHwgKG1fY2h1bmtzUmVjZWl2ZWQgLSBt
X2xhc3RDaHVua3NSZWNlaXZlZCkgPj0gQ2h1bmtzUmVjZWl2ZWRDb3VudEZvckxvZ2dpbmcpIHsK
KyAgICAgICAgbV9sYXN0Q2h1bmtzUmVjZWl2ZWQgPSBtX2NodW5rc1JlY2VpdmVkOworICAgICAg
ICBBTFdBWVNfTE9HX0lGKGxvZ2dlclB0cigpLCBMT0dJREVOVElGSUVSLCAiY2h1bmsgIiwgbV9j
aHVua3NSZWNlaXZlZCk7CisgICAgfQorICAgIGlmIChtX2F1ZGlvRm9ybWF0Q2hhbmdlZCkgewor
ICAgICAgICBBTFdBWVNfTE9HX0lGKGxvZ2dlclB0cigpLCBMT0dJREVOVElGSUVSLCAibmV3IGF1
ZGlvIGJ1ZmZlciBsaXN0IGZvciBzYW1wbGVSYXRlICIsIG1fc2FtcGxlUmF0ZSwgIiBhbmQgIiwg
bV9udW1iZXJPZkNoYW5uZWxzLCAiIGNoYW5uZWwocykiKTsKKyAgICAgICAgbV9hdWRpb0Zvcm1h
dENoYW5nZWQgPSBmYWxzZTsKKyAgICB9Cit9CisjZW5kaWYKKwogdm9pZCBSZWFsdGltZUluY29t
aW5nQXVkaW9Tb3VyY2VDb2NvYTo6T25EYXRhKGNvbnN0IHZvaWQqIGF1ZGlvRGF0YSwgaW50IGJp
dHNQZXJTYW1wbGUsIGludCBzYW1wbGVSYXRlLCBzaXplX3QgbnVtYmVyT2ZDaGFubmVscywgc2l6
ZV90IG51bWJlck9mRnJhbWVzKQogewogICAgIGlmIChzYW1wbGVSYXRlICE9IG1fc2FtcGxlUmF0
ZSkKICAgICAgICAgcmV0dXJuOwogCiAjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECi0gICAgaWYg
KCEoKyttX2NodW5rc1JlY2VpdmVkICUgMjAwKSkgewotICAgICAgICBjYWxsT25NYWluVGhyZWFk
KFtpZGVudGlmaWVyID0gTE9HSURFTlRJRklFUiwgdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VS
ZWYoKnRoaXMpLCBjaHVua3NSZWNlaXZlZCA9IG1fY2h1bmtzUmVjZWl2ZWRdIHsKLSAgICAgICAg
ICAgIEFMV0FZU19MT0dfSUYobG9nZ2VyUHRyKCksIGlkZW50aWZpZXIsICJjaHVuayAiLCBjaHVu
a3NSZWNlaXZlZCk7Ci0gICAgICAgIH0pOwotICAgIH0KKyAgICArK21fY2h1bmtzUmVjZWl2ZWQ7
CiAjZW5kaWYKIAogICAgIGlmICghbV9hdWRpb0J1ZmZlckxpc3QgfHwgbV9udW1iZXJPZkNoYW5u
ZWxzICE9IG51bWJlck9mQ2hhbm5lbHMpIHsKLSAgICAgICAgY2FsbE9uTWFpblRocmVhZChbaWRl
bnRpZmllciA9IExPR0lERU5USUZJRVIsIHRoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0
aGlzKSwgc2FtcGxlUmF0ZSwgbnVtYmVyT2ZDaGFubmVsc10gewotICAgICAgICAgICAgQUxXQVlT
X0xPR19JRihsb2dnZXJQdHIoKSwgaWRlbnRpZmllciwgIm5ldyBhdWRpbyBidWZmZXIgbGlzdCBm
b3Igc2FtcGxlUmF0ZSAiLCBzYW1wbGVSYXRlLCAiIGFuZCAiLCBudW1iZXJPZkNoYW5uZWxzLCAi
IGNoYW5uZWwocykiKTsKLSAgICAgICAgfSk7CisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVECisg
ICAgICAgIG1fYXVkaW9Gb3JtYXRDaGFuZ2VkID0gdHJ1ZTsKKyNlbmRpZgogCiAgICAgICAgIG1f
c2FtcGxlUmF0ZSA9IHNhbXBsZVJhdGU7CiAgICAgICAgIG1fbnVtYmVyT2ZDaGFubmVscyA9IG51
bWJlck9mQ2hhbm5lbHM7CiAgICAgICAgIG1fc3RyZWFtRGVzY3JpcHRpb24gPSBzdHJlYW1EZXNj
cmlwdGlvbihzYW1wbGVSYXRlLCBudW1iZXJPZkNoYW5uZWxzKTsKLSAgICAgICAgbV9hdWRpb0J1
ZmZlckxpc3QgPSBtYWtlVW5pcXVlPFdlYkF1ZGlvQnVmZmVyTGlzdD4obV9zdHJlYW1EZXNjcmlw
dGlvbik7CisKKyAgICAgICAgeworICAgICAgICAgICAgRGlzYWJsZU1hbGxvY1Jlc3RyaWN0aW9u
c0ZvckN1cnJlbnRUaHJlYWRTY29wZSBzY29wZTsKKyAgICAgICAgICAgIG1fYXVkaW9CdWZmZXJM
aXN0ID0gbWFrZVVuaXF1ZTxXZWJBdWRpb0J1ZmZlckxpc3Q+KG1fc3RyZWFtRGVzY3JpcHRpb24p
OworICAgICAgICB9CiAgICAgICAgIGlmIChtX3NhbXBsZVJhdGUgJiYgbV9udW1iZXJPZkZyYW1l
cykKICAgICAgICAgICAgIG1fbnVtYmVyT2ZGcmFtZXMgPSBtX251bWJlck9mRnJhbWVzICogc2Ft
cGxlUmF0ZSAvIG1fc2FtcGxlUmF0ZTsKICAgICAgICAgZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lSW5jb21pbmdBdWRpb1Nv
dXJjZUNvY29hLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVh
bHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EuaAppbmRleCAxZDdjZDk2YzhiNGI1MzhkYzU5
ZmY1YzQ3MmVjZThmYjMyYWEwNDVmLi4yMzQyODBmY2MyYmM1NjZmNmI4MjY3NmM3Y2Q4OWQzMzkw
NWU1MmRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9t
YWMvUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29j
b2EuaApAQCAtNDUsOSArNDUsMjAgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBSZWFsdGltZUlu
Y29taW5nQXVkaW9Tb3VyY2VDb2NvYShydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpBdWRpb1Ry
YWNrSW50ZXJmYWNlPiYmLCBTdHJpbmcmJik7CiAKKyAgICAvLyBSZWFsdGltZU1lZGlhU291cmNl
IEFQSQorICAgIHZvaWQgc3RhcnRQcm9kdWNpbmdEYXRhKCkgZmluYWw7CisgICAgdm9pZCBzdG9w
UHJvZHVjaW5nRGF0YSgpICBmaW5hbDsKKwogICAgIC8vIHdlYnJ0Yzo6QXVkaW9UcmFja1NpbmtJ
bnRlcmZhY2UgQVBJCiAgICAgdm9pZCBPbkRhdGEoY29uc3Qgdm9pZCogYXVkaW9EYXRhLCBpbnQg
Yml0c1BlclNhbXBsZSwgaW50IHNhbXBsZVJhdGUsIHNpemVfdCBudW1iZXJPZkNoYW5uZWxzLCBz
aXplX3QgbnVtYmVyT2ZGcmFtZXMpIGZpbmFsOwogCisjaWYgIVJFTEVBU0VfTE9HX0RJU0FCTEVE
CisgICAgdm9pZCBsb2dUaW1lckZpcmVkKCk7CisjZW5kaWYKKworICAgIHN0YXRpYyBjb25zdGV4
cHIgU2Vjb25kcyBMb2dUaW1lckludGVydmFsID0gMl9zOworICAgIHN0YXRpYyBjb25zdGV4cHIg
c2l6ZV90IENodW5rc1JlY2VpdmVkQ291bnRGb3JMb2dnaW5nID0gMjAwOyAvLyAyMDAgY2h1bmtz
IG9mIDEwbXMgPSAycy4KKwogICAgIHVpbnQ2NF90IG1fbnVtYmVyT2ZGcmFtZXMgeyAwIH07CiAK
ICAgICBpbnQgbV9zYW1wbGVSYXRlIHsgMCB9OwpAQCAtNTYsNiArNjcsOSBAQCBwcml2YXRlOgog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJBdWRpb0J1ZmZlckxpc3Q+IG1fYXVkaW9CdWZmZXJMaXN0
OwogI2lmICFSRUxFQVNFX0xPR19ESVNBQkxFRAogICAgIHNpemVfdCBtX2NodW5rc1JlY2VpdmVk
IHsgMCB9OworICAgIHNpemVfdCBtX2xhc3RDaHVua3NSZWNlaXZlZCB7IDAgfTsKKyAgICBib29s
IG1fYXVkaW9Gb3JtYXRDaGFuZ2VkIHsgZmFsc2UgfTsKKyAgICBUaW1lciBtX2xvZ1RpbWVyOwog
I2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvV2ViQXVkaW9Tb3VyY2VQcm92aWRlckNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1dlYkF1ZGlvU291cmNlUHJvdmlkZXJDb2NvYS5tbQpp
bmRleCBkMTJlZDI4M2IzODYxOTBiMDg2ZmM5ZDliYzM2NjA3MWZhZTU4YzQ5Li5iZjNhMzM5MWYx
ZmViYjM4NGU3NTllNGJjODk3NmUxNzdjYTE5NTY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvV2ViQXVkaW9Tb3VyY2VQcm92aWRlckNvY29hLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9XZWJBdWRpb1Nv
dXJjZVByb3ZpZGVyQ29jb2EubW0KQEAgLTEwMCw2ICsxMDAsOCBAQCB2b2lkIFdlYkF1ZGlvU291
cmNlUHJvdmlkZXJDb2NvYTo6cHJvdmlkZUlucHV0KEF1ZGlvQnVzKiBidXMsIHNpemVfdCBmcmFt
ZXNUb1BybwogCiB2b2lkIFdlYkF1ZGlvU291cmNlUHJvdmlkZXJDb2NvYTo6cHJlcGFyZShjb25z
dCBBdWRpb1N0cmVhbUJhc2ljRGVzY3JpcHRpb24mIGZvcm1hdCkKIHsKKyAgICBEaXNhYmxlTWFs
bG9jUmVzdHJpY3Rpb25zRm9yQ3VycmVudFRocmVhZFNjb3BlIHNjb3BlOworCiAgICAgYXV0byBs
b2NrZXIgPSBob2xkTG9jayhtX2xvY2spOwogCiAgICAgTE9HKE1lZGlhLCAiV2ViQXVkaW9Tb3Vy
Y2VQcm92aWRlckNvY29hOjpwcmVwYXJlKCVwKSIsIHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVXNlck1lZGlhQ2FwdHVyZU1hbmFnZXJQcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclBy
b3h5LmNwcAppbmRleCAyNzAyNzkzZmY1NTFiYTk3YjdlZmIwOTAyMzUzNzQ2Mzk2YWUyMmEzLi44
YzgyM2ZlNDM3ODZjYjNkY2UyZmVjZTkwZmI4OGU0ODBiMzgxY2Y3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFuYWdlclByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Vc2VyTWVkaWFDYXB0dXJlTWFu
YWdlclByb3h5LmNwcApAQCAtMTQ1LDYgKzE0NSw4IEBAIHByaXZhdGU6CiAKICAgICAvLyBNYXkg
Z2V0IGNhbGxlZCBvbiBhIGJhY2tncm91bmQgdGhyZWFkLgogICAgIHZvaWQgYXVkaW9TYW1wbGVz
QXZhaWxhYmxlKGNvbnN0IE1lZGlhVGltZSYgdGltZSwgY29uc3QgUGxhdGZvcm1BdWRpb0RhdGEm
IGF1ZGlvRGF0YSwgY29uc3QgQXVkaW9TdHJlYW1EZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIHNp
emVfdCBudW1iZXJPZkZyYW1lcykgZmluYWwgeworICAgICAgICBEaXNhYmxlTWFsbG9jUmVzdHJp
Y3Rpb25zRm9yQ3VycmVudFRocmVhZFNjb3BlIHNjb3BlOworCiAgICAgICAgIGlmIChtX2Rlc2Ny
aXB0aW9uICE9IGRlc2NyaXB0aW9uKSB7CiAgICAgICAgICAgICBBU1NFUlQoZGVzY3JpcHRpb24u
cGxhdGZvcm1EZXNjcmlwdGlvbigpLnR5cGUgPT0gUGxhdGZvcm1EZXNjcmlwdGlvbjo6Q0FBdWRp
b1N0cmVhbUJhc2ljVHlwZSk7CiAgICAgICAgICAgICBtX2Rlc2NyaXB0aW9uID0gKldURjo6Z2V0
PGNvbnN0IEF1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbio+KGRlc2NyaXB0aW9uLnBsYXRmb3Jt
RGVzY3JpcHRpb24oKS5kZXNjcmlwdGlvbik7CkBAIC0xOTcsNiArMTk5LDcgQEAgcHJpdmF0ZToK
IAogICAgIHZvaWQgc3RvcmFnZUNoYW5nZWQoU2hhcmVkTWVtb3J5KiBzdG9yYWdlLCBjb25zdCBX
ZWJDb3JlOjpDQUF1ZGlvU3RyZWFtRGVzY3JpcHRpb24mIGZvcm1hdCwgc2l6ZV90IGZyYW1lQ291
bnQpCiAgICAgeworICAgICAgICBEaXNhYmxlTWFsbG9jUmVzdHJpY3Rpb25zRm9yQ3VycmVudFRo
cmVhZFNjb3BlIHNjb3BlOwogICAgICAgICBTaGFyZWRNZW1vcnk6OkhhbmRsZSBoYW5kbGU7CiAg
ICAgICAgIGlmIChzdG9yYWdlKQogICAgICAgICAgICAgc3RvcmFnZS0+Y3JlYXRlSGFuZGxlKGhh
bmRsZSwgU2hhcmVkTWVtb3J5OjpQcm90ZWN0aW9uOjpSZWFkT25seSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9BdWRpb01lZGlhU3RyZWFtVHJhY2tS
ZW5kZXJlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL3dlYnJ0Yy9BdWRpb01l
ZGlhU3RyZWFtVHJhY2tSZW5kZXJlci5jcHAKaW5kZXggNjJhNzg5MWVmZGJmM2VhNzkyNTQwODRm
ODM4OTMyZWYzZTkzN2Y0ZS4uNmI5YjA2NGJkYmRlY2IzZjQwOGQ2NTllYTQ1NDE1MjdiZGI2N2Q4
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS93ZWJydGMvQXVkaW9N
ZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvd2VicnRjL0F1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyLmNwcApAQCAtOTMsNiAr
OTMsNyBAQCB2b2lkIEF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyOjpwdXNoU2FtcGxlcyhj
b25zdCBNZWRpYVRpbWUmIHRpbWUsIGNvbnN0IFdlYgogICAgICAgICByZXR1cm47CiAKICAgICBp
ZiAobV9kZXNjcmlwdGlvbiAhPSBkZXNjcmlwdGlvbikgeworICAgICAgICBEaXNhYmxlTWFsbG9j
UmVzdHJpY3Rpb25zRm9yQ3VycmVudFRocmVhZFNjb3BlIHNjb3BlOwogICAgICAgICBBU1NFUlQo
ZGVzY3JpcHRpb24ucGxhdGZvcm1EZXNjcmlwdGlvbigpLnR5cGUgPT0gV2ViQ29yZTo6UGxhdGZv
cm1EZXNjcmlwdGlvbjo6Q0FBdWRpb1N0cmVhbUJhc2ljVHlwZSk7CiAgICAgICAgIG1fZGVzY3Jp
cHRpb24gPSAqV1RGOjpnZXQ8Y29uc3QgQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKj4oZGVz
Y3JpcHRpb24ucGxhdGZvcm1EZXNjcmlwdGlvbigpLmRlc2NyaXB0aW9uKTsKIApAQCAtMTAzLDYg
KzEwNCw4IEBAIHZvaWQgQXVkaW9NZWRpYVN0cmVhbVRyYWNrUmVuZGVyZXI6OnB1c2hTYW1wbGVz
KGNvbnN0IE1lZGlhVGltZSYgdGltZSwgY29uc3QgV2ViCiAKICAgICBBU1NFUlQoaXM8V2ViQ29y
ZTo6V2ViQXVkaW9CdWZmZXJMaXN0PihhdWRpb0RhdGEpKTsKICAgICBtX3JpbmdCdWZmZXItPnN0
b3JlKGRvd25jYXN0PFdlYkNvcmU6OldlYkF1ZGlvQnVmZmVyTGlzdD4oYXVkaW9EYXRhKS5saXN0
KCksIG51bWJlck9mRnJhbWVzLCB0aW1lLnRpbWVWYWx1ZSgpKTsKKworICAgIERpc2FibGVNYWxs
b2NSZXN0cmljdGlvbnNGb3JDdXJyZW50VGhyZWFkU2NvcGUgc2NvcGU7CiAgICAgbV9jb25uZWN0
aW9uLT5zZW5kKE1lc3NhZ2VzOjpSZW1vdGVBdWRpb01lZGlhU3RyZWFtVHJhY2tSZW5kZXJlcjo6
QXVkaW9TYW1wbGVzQXZhaWxhYmxlIHsgdGltZSwgbnVtYmVyT2ZGcmFtZXMgfSwgbV9pZGVudGlm
aWVyKTsKIH0KIApAQCAtMTE4LDYgKzEyMSw3IEBAIHZvaWQgQXVkaW9NZWRpYVN0cmVhbVRyYWNr
UmVuZGVyZXI6OnN0b3JhZ2VDaGFuZ2VkKFNoYXJlZE1lbW9yeSogc3RvcmFnZSwgY29uc3QKICNl
bHNlCiAgICAgdWludDY0X3QgZGF0YVNpemUgPSAwOwogI2VuZGlmCisgICAgRGlzYWJsZU1hbGxv
Y1Jlc3RyaWN0aW9uc0ZvckN1cnJlbnRUaHJlYWRTY29wZSBzY29wZTsKICAgICBtX2Nvbm5lY3Rp
b24tPnNlbmQoTWVzc2FnZXM6OlJlbW90ZUF1ZGlvTWVkaWFTdHJlYW1UcmFja1JlbmRlcmVyOjpB
dWRpb1NhbXBsZXNTdG9yYWdlQ2hhbmdlZCB7IFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlIHsgV1RG
TW92ZShoYW5kbGUpLCBkYXRhU2l6ZSB9LCBmb3JtYXQsIGZyYW1lQ291bnQgfSwgbV9pZGVudGlm
aWVyKTsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>