<?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>237196</bug_id>
          
          <creation_ts>2022-02-25 03:18:09 -0800</creation_ts>
          <short_desc>MediaSession.setPositionState() does not work.</short_desc>
          <delta_ts>2022-04-26 17:30:36 -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>Media</component>
          <version>Safari 15</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mitsuo Matsunaga">mitsuo.matsunaga</reporter>
          <assigned_to name="Jean-Yves Avenard [:jya]">jean-yves.avenard</assigned_to>
          <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jean-yves.avenard</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>supersonicandtails</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1845952</commentid>
    <comment_count>0</comment_count>
    <who name="Mitsuo Matsunaga">mitsuo.matsunaga</who>
    <bug_when>2022-02-25 03:18:09 -0800</bug_when>
    <thetext>We develop a player that can play a part of a content.
I executed setPositionState() as follows. However, it is not reflected in &quot;Now Playing&quot; in Control Center.

navigator.mediaSession.setPositionState({
  duration: 140,
  position: pos + 10
});

Sample
https://dev-player-issue.s3.ap-northeast-1.amazonaws.com/webkit/media_session.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1846066</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-25 09:57:43 -0800</bug_when>
    <thetext>&lt;rdar://problem/89479548&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855478</commentid>
    <comment_count>2</comment_count>
    <who name="Mitsuo Matsunaga">mitsuo.matsunaga</who>
    <bug_when>2022-03-27 19:13:29 -0700</bug_when>
    <thetext>Please give me a reply.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860214</commentid>
    <comment_count>3</comment_count>
      <attachid>457233</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2022-04-10 23:51:03 -0700</bug_when>
    <thetext>Created attachment 457233
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864387</commentid>
    <comment_count>4</comment_count>
      <attachid>458342</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2022-04-26 01:44:40 -0700</bug_when>
    <thetext>Created attachment 458342
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864428</commentid>
    <comment_count>5</comment_count>
      <attachid>458358</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2022-04-26 07:07:08 -0700</bug_when>
    <thetext>Created attachment 458358
Patch

Fix seeking in media using default control and then pausing in Now Playing. Cursor was jumping around: instead simulate a call to setPositionState. Fix GTK compilation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864463</commentid>
    <comment_count>6</comment_count>
      <attachid>458358</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2022-04-26 08:23:49 -0700</bug_when>
    <thetext>Comment on attachment 458358
Patch

r=me once the bots are happy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864688</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-04-26 17:30:30 -0700</bug_when>
    <thetext>Committed r293488 (250022@main): &lt;https://commits.webkit.org/250022@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 458358.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457233</attachid>
            <date>2022-04-10 23:51:03 -0700</date>
            <delta_ts>2022-04-26 01:44:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237196-20220411165102.patch</filename>
            <type>text/plain</type>
            <size>2334</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNDQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjM0NDdiNTI2ZTc0ZWMy
YzM5ZmU5MmU5MzkzMTZjMzE0ZjlkMGU3Yy4uZTUxOGM4YWFiNTNhMGQxMWUyZmM1MWJlNzZiNWYy
N2Q4ZTQ1MGM4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIyLTA0LTEwICBKZWFu
LVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgTWVkaWFTZXNzaW9uLnNl
dFBvc2l0aW9uU3RhdGUoKSBkb2VzIG5vdCB3b3JrLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3MTk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIE1lZGlhU2Vzc2lvbidzIHBvc2l0aW9uU3RhdGUg
aWYgcHJlc2VudCB3aGVuIGNvbnN0cnVjdGluZyBOb3dQbGF5aW5nCisgICAgICAgIE1lZGlhUmVt
b3RlIGRhdGEuCisKKyAgICAgICAgVGVzdGVkIG1hbnVhbGx5LiBXZSBkb24ndCBoYXZlIGEgd2F5
IHRvIHByb3Blcmx5IHRlc3QgdGhlIE1lZGlhUmVtb3RlCisgICAgICAgIGV4dGVybmFsIGZyYW1l
d29yayBhbmQgd2l0aCBleGlzdGluZyBNZWRpYVNlc3Npb24gQVBJIHRlc3RzIGN1cnJlbnRseQor
ICAgICAgICBkaXNhYmxlZCBmb2xsb3dpbmcgYnVnIDIyMTUxNC4KKworICAgICAgICAqIGh0bWwv
TWVkaWFFbGVtZW50U2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRT
ZXNzaW9uOjpub3dQbGF5aW5nSW5mbyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVs
ZW1lbnRTZXNzaW9uOjpwb3NpdGlvblN0YXRlQ2hhbmdlZCk6CisKIDIwMjItMDQtMDYgIEplYW4t
WXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNvbT4KIAogICAgICAgICBGdWxsIHNjcmVlbiB2aWRl
byBwcm9ncmVzcyBiYXIgZmxpY2tlcnMgYWZ0ZXIgZHJhZ2dpbmcgaXQuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAppbmRleCAyZDgxZjE0NWFiMDVlOWI2YzBj
NTgxY2M5OGNkOGI0N2RlOTkyNWZlLi4wYzY5MDRkNTJjMWNlZmZlNDM3NTFhNmM3NDM5ZWMyYjk0
MWQ2ODUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Np
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAK
QEAgLTExODMsNiArMTE4MywxMSBAQCBzdGQ6Om9wdGlvbmFsPE5vd1BsYXlpbmdJbmZvPiBNZWRp
YUVsZW1lbnRTZXNzaW9uOjpub3dQbGF5aW5nSW5mbygpIGNvbnN0CiAKICNpZiBFTkFCTEUoTUVE
SUFfU0VTU0lPTikKICAgICBhdXRvKiBzZXNzaW9uID0gbWVkaWFTZXNzaW9uKCk7CisgICAgYXV0
byBwb3NpdGlvblN0YXRlID0gc2Vzc2lvbiA/IHNlc3Npb24tPnBvc2l0aW9uU3RhdGUoKSA6IHN0
ZDo6bnVsbG9wdDsKKyAgICBpZiAocG9zaXRpb25TdGF0ZSkgeworICAgICAgICBkdXJhdGlvbiA9
IHBvc2l0aW9uU3RhdGUtPmR1cmF0aW9uOworICAgICAgICBjdXJyZW50VGltZSA9IHBvc2l0aW9u
U3RhdGUtPnBvc2l0aW9uOworICAgIH0KICAgICBhdXRvKiBzZXNzaW9uTWV0YWRhdGEgPSBzZXNz
aW9uID8gc2Vzc2lvbi0+bWV0YWRhdGEoKSA6IG51bGxwdHI7CiAgICAgaWYgKHNlc3Npb25NZXRh
ZGF0YSkgewogICAgICAgICBzdGQ6Om9wdGlvbmFsPE5vd1BsYXlpbmdJbmZvQXJ0d29yaz4gYXJ0
d29yazsKQEAgLTEzMDIsNyArMTMwNywxMCBAQCB2b2lkIE1lZGlhRWxlbWVudFNlc3Npb246Om1l
dGFkYXRhQ2hhbmdlZChjb25zdCBSZWZQdHI8TWVkaWFNZXRhZGF0YT4mKQogICAgIGNsaWVudENo
YXJhY3RlcmlzdGljc0NoYW5nZWQoKTsKIH0KIAotdm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpw
b3NpdGlvblN0YXRlQ2hhbmdlZChjb25zdCBzdGQ6Om9wdGlvbmFsPE1lZGlhUG9zaXRpb25TdGF0
ZT4mKSB7IH0KK3ZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6cG9zaXRpb25TdGF0ZUNoYW5nZWQo
Y29uc3Qgc3RkOjpvcHRpb25hbDxNZWRpYVBvc2l0aW9uU3RhdGU+JikKK3sKKyAgICBjbGllbnRD
aGFyYWN0ZXJpc3RpY3NDaGFuZ2VkKCk7Cit9CiAKIHZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6
cGxheWJhY2tTdGF0ZUNoYW5nZWQoTWVkaWFTZXNzaW9uUGxheWJhY2tTdGF0ZSkgeyB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458342</attachid>
            <date>2022-04-26 01:44:40 -0700</date>
            <delta_ts>2022-04-26 07:07:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237196-20220426184439.patch</filename>
            <type>text/plain</type>
            <size>21614</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzMTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTk5MWU3Y2MzYzk4NWFk
NzVmYjhmZjkyMWVmOWUzYjMyZDdjNGVkZi4uYWRiODQ5MTIwZWJiMzViN2ZhZDY5Mjc0ZGY0Yzc3
NGVkNzBjZTA0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY5IEBACisyMDIyLTA0LTI2ICBKZWFu
LVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgTWVkaWFTZXNzaW9uLnNl
dFBvc2l0aW9uU3RhdGUoKSBkb2VzIG5vdCB3b3JrLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3MTk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIE1lZGlhU2Vzc2lvbidzIHBvc2l0aW9uU3RhdGUg
aWYgcHJlc2VudCB3aGVuIGNvbnN0cnVjdGluZyBOb3dQbGF5aW5nCisgICAgICAgIE1lZGlhUmVt
b3RlIGRhdGEuCisgICAgICAgIFdlIGVtdWxhdGUgd2hhdCB0aGUgbWVkaWEtc2Vzc2lvbiBwb3Np
dGlvbiB3b3VsZCBoYXZlIGJlZW4gaGFkIHRoZQorICAgICAgICB0aW1lIHByb2dyZXNzZWQgYWNj
b3JkaW5nIHRvIHRoZSBwbGF5YmFjayByYXRlLgorICAgICAgICBBcyBzdWNoLCB3ZSBuZWVkIHRv
IHRlbGwgdGhlIG1lZGlhLXNlc3Npb24gd2hlbiBubyBhY3Rpb24gaGFuZGxlcnMgYXJlCisgICAg
ICAgIHNldCB0aGF0IHRoZSBtZWRpYSB3YXMgcGF1c2VkIG9yIHBsYXllZCBhZ2Fpbi4KKyAgICAg
ICAgV2hlbiBzZWVraW5nLCB3ZSB1cGRhdGUgdGhlIG5ldyB0aW1lIHBvc2l0aW9uIGFuZCBjb250
aW51ZSBhY2NvcmRpbmcgdG8KKyAgICAgICAgdGhlIHNldCBwbGF5YmFjayByYXRlLgorCisgICAg
ICAgIFRlc3RlZCBtYW51YWxseSB3aXRoIHRoZSBmb2xsb3dpbmcgc2NlbmFyaW9zOgorICAgICAg
ICAtIFNldCBhIHBhZ2Ugb25seSBkZWZpbmluZyB0aGUgbWVkaWEtc2Vzc2lvbidzIHBvc2l0aW9u
IHN0YXRlIG9uY2UKKyAgICAgICAgLSBMZXQgdGhlIG1lZGlhIGVsZW1lbnQgcGxheSBieSBkZWZh
dWx0LCBjaGVjayB0aGUgTm93IFBsYXlpbmcgcG9zaXRpb24KKyAgICAgICAgLSBQYXVzZS9QbGF5
IHVzaW5nIE5vdyBQbGF5aW5nIGNvbnRyb2wgYW5kIGNoZWNrcyB0aGF0IHRoZSB0aW1lIGRvZXNu
J3QKKyAgICAgICAgICBqdW1wIGFyb3VuZC4KKyAgICAgICAgLSBTZWVrIHVzaW5nIE5vdyBQbGF5
aW5nIGFuZCBjaGVjayB0aGF0IHRoZSBtZWRpYSBzZWVrcyBwcm9wZXJseSBhbmQgdGhhdAorICAg
ICAgICAgIHRoZSBOb3cgUGxheWluZyBwb3NpdG9uIHByb2dyZXNzIGZyb20gdGhlIHNlZWsgcG9p
bnQgYWNjb3JkaW5nIHRvIHRoZQorICAgICAgICAgIG1lZGlhLXNlc3Npb24ncyBwbGF5YmFjayBy
YXRlLgorICAgICAgICAtIFNlZWsgdXNpbmcgZGVmYXVsdCBtZWRpYSBjb250cm9sIGFuZCBjaGVj
ayB0aGUgc2FtZSBhcyBhYm92ZS4KKworICAgICAgICBXZSBkb24ndCBoYXZlIGEgd2F5IHRvIHBy
b3Blcmx5IHRlc3QgdGhlIE1lZGlhUmVtb3RlCisgICAgICAgIGV4dGVybmFsIGZyYW1ld29yayBh
bmQgd2l0aCBleGlzdGluZyBNZWRpYVNlc3Npb24gQVBJIHRlc3RzIGN1cnJlbnRseQorICAgICAg
ICBkaXNhYmxlZCBmb2xsb3dpbmcgYnVnIDIyMTUxNC4KKworICAgICAgICAqIE1vZHVsZXMvbWVk
aWFzZXNzaW9uL01lZGlhU2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Np
b246OnNldFBsYXliYWNrU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uOjp1
cGRhdGVSZXBvcnRlZFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbjo6
d2lsbEJlZ2luUGxheWJhY2spOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uOjp3aWxs
UGF1c2VQbGF5YmFjayk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb246OnBvc2l0aW9u
T3ZlcnJpZGRlbik6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9u
Lmg6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxNZWRpYUVsZW1lbnQ6OnJlbW92ZWRGcm9tQW5jZXN0b3IpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTE1lZGlhRWxlbWVudDo6bWVkaWFMb2FkaW5nRmFpbGVkKToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNldFJlYWR5U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTE1lZGlhRWxlbWVudDo6ZmluaXNoU2Vlayk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50OjpjbGVhck1lZGlhUGxheWVyKToKKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVu
dFNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6Y2xp
ZW50V2lsbEJlZ2luUGxheWJhY2spOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vz
c2lvbjo6Y2xpZW50V2lsbFBhdXNlUGxheWJhY2spOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFF
bGVtZW50U2Vzc2lvbjo6bm93UGxheWluZ0luZm8gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFFbGVtZW50U2Vzc2lvbjo6bWV0YWRhdGFDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhRWxlbWVudFNlc3Npb246OnBvc2l0aW9uU3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhRWxlbWVudFNlc3Npb246OmNsaWVudENoYXJhY3RlcmlzdGljc0NoYW5nZWQp
OgorICAgICAgICAqIGh0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oOgorICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL05vd1BsYXlpbmdJbmZvLmg6CisgICAgICAgIChXZWJDb3JlOjpOb3dQbGF5aW5n
SW5mbzo6b3BlcmF0b3I9PSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpOb3dQbGF5aW5nSW5m
bzo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vd1BsYXlpbmdJbmZvOjpkZWNv
ZGUpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpjbGllbnRDaGFyYWN0ZXJp
c3RpY3NDaGFuZ2VkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vz
c2lvbi5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFu
YWdlci5oOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpj
bGllbnRDaGFyYWN0ZXJpc3RpY3NDaGFuZ2VkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRpby9j
b2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9hdWRp
by9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E6OmNsaWVudENoYXJhY3RlcmlzdGljc0NoYW5nZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uTWFuYWdlckNvY29hOjpzZXROb3dQbGF5aW5n
SW5mbyk6CisKIDIwMjItMDQtMDYgIEplYW4tWXZlcyBBdmVuYXJkICA8anlhQGFwcGxlLmNvbT4K
IAogICAgICAgICBGdWxsIHNjcmVlbiB2aWRlbyBwcm9ncmVzcyBiYXIgZmxpY2tlcnMgYWZ0ZXIg
ZHJhZ2dpbmcgaXQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vz
c2lvbi9NZWRpYVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Np
b24vTWVkaWFTZXNzaW9uLmNwcAppbmRleCBlMDc3MjA4NDU1ZTE3Y2RmNzZjZGNkZGY4YjkzMDcx
OTNiZDhlMjEzLi45OGQ3OTBlODU5OGUzYzA0NzVjODYwOTNjNDM4MGJjYmVkODNjOWE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lv
bi5jcHAKQEAgLTIyOCwxMSArMjI4LDggQEAgdm9pZCBNZWRpYVNlc3Npb246OnNldFBsYXliYWNr
U3RhdGUoTWVkaWFTZXNzaW9uUGxheWJhY2tTdGF0ZSBzdGF0ZSkKIAogICAgIEFMV0FZU19MT0co
TE9HSURFTlRJRklFUiwgc3RhdGUpOwogCi0gICAgYXV0byBjdXJyZW50UG9zaXRpb24gPSB0aGlz
LT5jdXJyZW50UG9zaXRpb24oKTsKLSAgICBpZiAobV9wb3NpdGlvblN0YXRlICYmIGN1cnJlbnRQ
b3NpdGlvbikgewotICAgICAgICBtX3Bvc2l0aW9uU3RhdGUtPnBvc2l0aW9uID0gKmN1cnJlbnRQ
b3NpdGlvbjsKLSAgICAgICAgbV90aW1lQXRMYXN0UG9zaXRpb25VcGRhdGUgPSBNb25vdG9uaWNU
aW1lOjpub3coKTsKLSAgICB9CisgICAgdXBkYXRlUmVwb3J0ZWRQb3NpdGlvbigpOworCiAgICAg
bV9wbGF5YmFja1N0YXRlID0gc3RhdGU7CiAgICAgbm90aWZ5UGxheWJhY2tTdGF0ZU9ic2VydmVy
cygpOwogfQpAQCAtMzk2LDYgKzM5MywzNSBAQCBSZWZQdHI8SFRNTE1lZGlhRWxlbWVudD4gTWVk
aWFTZXNzaW9uOjphY3RpdmVNZWRpYUVsZW1lbnQoKSBjb25zdAogICAgIHJldHVybiBIVE1MTWVk
aWFFbGVtZW50OjpiZXN0TWVkaWFFbGVtZW50Rm9yUmVtb3RlQ29udHJvbHMoTWVkaWFFbGVtZW50
U2Vzc2lvbjo6UGxheWJhY2tDb250cm9sc1B1cnBvc2U6Ok1lZGlhU2Vzc2lvbiwgZG9jKTsKIH0K
IAordm9pZCBNZWRpYVNlc3Npb246OnVwZGF0ZVJlcG9ydGVkUG9zaXRpb24oKQoreworICAgIGF1
dG8gY3VycmVudFBvc2l0aW9uID0gdGhpcy0+Y3VycmVudFBvc2l0aW9uKCk7CisgICAgaWYgKG1f
cG9zaXRpb25TdGF0ZSAmJiBjdXJyZW50UG9zaXRpb24pIHsKKyAgICAgICAgbV9sYXN0UmVwb3J0
ZWRQb3NpdGlvbiA9IG1fcG9zaXRpb25TdGF0ZS0+cG9zaXRpb24gPSAqY3VycmVudFBvc2l0aW9u
OworICAgICAgICBtX3RpbWVBdExhc3RQb3NpdGlvblVwZGF0ZSA9IE1vbm90b25pY1RpbWU6Om5v
dygpOworICAgIH0KK30KKwordm9pZCBNZWRpYVNlc3Npb246OndpbGxCZWdpblBsYXliYWNrKCkK
K3sKKyAgICB1cGRhdGVSZXBvcnRlZFBvc2l0aW9uKCk7CisgICAgbV9wbGF5YmFja1N0YXRlID0g
TWVkaWFTZXNzaW9uUGxheWJhY2tTdGF0ZTo6UGxheWluZzsKKyAgICBub3RpZnlQb3NpdGlvblN0
YXRlT2JzZXJ2ZXJzKCk7Cit9CisKK3ZvaWQgTWVkaWFTZXNzaW9uOjp3aWxsUGF1c2VQbGF5YmFj
aygpCit7CisgICAgdXBkYXRlUmVwb3J0ZWRQb3NpdGlvbigpOworICAgIG1fcGxheWJhY2tTdGF0
ZSA9IE1lZGlhU2Vzc2lvblBsYXliYWNrU3RhdGU6OlBhdXNlZDsKKyAgICBub3RpZnlQb3NpdGlv
blN0YXRlT2JzZXJ2ZXJzKCk7Cit9CisKK3ZvaWQgTWVkaWFTZXNzaW9uOjpwb3NpdGlvbk92ZXJy
aWRkZW4oKQoreworICAgIG1fbGFzdFJlcG9ydGVkUG9zaXRpb24ucmVzZXQoKTsKKyAgICBub3Rp
ZnlQb3NpdGlvblN0YXRlT2JzZXJ2ZXJzKCk7Cit9CisKICNpZiBFTkFCTEUoTUVESUFfU0VTU0lP
Tl9DT09SRElOQVRPUikKIHZvaWQgTWVkaWFTZXNzaW9uOjpub3RpZnlSZWFkeVN0YXRlT2JzZXJ2
ZXJzKCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9u
L01lZGlhU2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVk
aWFTZXNzaW9uLmgKaW5kZXggZmIxYjIxMGQwOGJmZjM2MGMwNDBkYWY4ZTQwNWQ3NjI5Y2Y1MGIw
Mi4uZjI0OTA2MWU2ZTI0MGE4NjlmMWEyYjY1ODc1MjVhMWQ5MTU0NTVjNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uLmgKQEAgLTcx
LDYgKzcxLDkgQEAgcHVibGljOgogICAgIHN0ZDo6b3B0aW9uYWw8TWVkaWFQb3NpdGlvblN0YXRl
PiBwb3NpdGlvblN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9wb3NpdGlvblN0YXRlOyB9CiAKICAg
ICBXRUJDT1JFX0VYUE9SVCBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4gY3VycmVudFBvc2l0aW9uKCkg
Y29uc3Q7CisgICAgdm9pZCB3aWxsQmVnaW5QbGF5YmFjaygpOworICAgIHZvaWQgd2lsbFBhdXNl
UGxheWJhY2soKTsKKyAgICB2b2lkIHBvc2l0aW9uT3ZlcnJpZGRlbigpOwogCiAgICAgRG9jdW1l
bnQqIGRvY3VtZW50KCkgY29uc3Q7CiAgICAgCkBAIC0xMjAsNiArMTIzLDggQEAgcHJpdmF0ZToK
IAogICAgIGNvbnN0IHZvaWQqIGxvZ0lkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2xvZ0lk
ZW50aWZpZXI7IH0KIAorICAgIHZvaWQgdXBkYXRlUmVwb3J0ZWRQb3NpdGlvbigpOworCiAgICAg
dm9pZCBmb3JFYWNoT2JzZXJ2ZXIoY29uc3QgRnVuY3Rpb248dm9pZChPYnNlcnZlciYpPiYpOwog
ICAgIHZvaWQgbm90aWZ5TWV0YWRhdGFPYnNlcnZlcnMoKTsKICAgICB2b2lkIG5vdGlmeVBvc2l0
aW9uU3RhdGVPYnNlcnZlcnMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
Y3BwCmluZGV4IDI2NGE3YTg4MjY2YTgzOWJmZDhmM2VjOTU0YjYyOTc5ZjE5YjE5M2YuLmJmNWQ0
ZjMyNDExMTM5ZGQ2MTY0NjU3MWJkN2M4OWEyMGRiMTgzMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtNzg4LDcgKzc4OCw3IEBAIHZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3Qg
QXRvbVN0cmluCiAgICAgICAgICAgICByZW1vdmVCZWhhdmlvclJlc3RyaWN0aW9uc0FmdGVyRmly
c3RVc2VyR2VzdHVyZSgpOwogICAgIH0gZWxzZSBpZiAobmFtZSA9PSB0aXRsZUF0dHIpIHsKICAg
ICAgICAgaWYgKG1fbWVkaWFTZXNzaW9uKQotICAgICAgICAgICAgbV9tZWRpYVNlc3Npb24tPmNs
aWVudENoYXJhY3RlcmlzdGljc0NoYW5nZWQoKTsKKyAgICAgICAgICAgIG1fbWVkaWFTZXNzaW9u
LT5jbGllbnRDaGFyYWN0ZXJpc3RpY3NDaGFuZ2VkKGZhbHNlKTsKICAgICB9CiAgICAgZWxzZQog
ICAgICAgICBIVE1MRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOwpAQCAtODky
LDcgKzg5Miw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cmVtb3ZlZEZyb21BbmNlc3RvcihS
ZW1vdmFsVHlwZSByZW1vdmFsVHlwZSwgQ29udGFpbmVyTm9kCiAgICAgfQogCiAgICAgaWYgKG1f
bWVkaWFTZXNzaW9uKQotICAgICAgICBtX21lZGlhU2Vzc2lvbi0+Y2xpZW50Q2hhcmFjdGVyaXN0
aWNzQ2hhbmdlZCgpOworICAgICAgICBtX21lZGlhU2Vzc2lvbi0+Y2xpZW50Q2hhcmFjdGVyaXN0
aWNzQ2hhbmdlZChmYWxzZSk7CiAKICAgICBIVE1MRWxlbWVudDo6cmVtb3ZlZEZyb21BbmNlc3Rv
cihyZW1vdmFsVHlwZSwgb2xkUGFyZW50T2ZSZW1vdmVkVHJlZSk7CiB9CkBAIC0yMzUxLDcgKzIz
NTEsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhTG9hZGluZ0ZhaWxlZChNZWRpYVBs
YXllcjo6TmV0d29ya1N0YXRlIGVycm9yKQogCiAgICAgbG9nTWVkaWFMb2FkUmVxdWVzdChkb2N1
bWVudCgpLnBhZ2UoKSwgU3RyaW5nKCksIGNvbnZlcnRFbnVtZXJhdGlvblRvU3RyaW5nKGVycm9y
KSwgZmFsc2UpOwogCi0gICAgbWVkaWFTZXNzaW9uKCkuY2xpZW50Q2hhcmFjdGVyaXN0aWNzQ2hh
bmdlZCgpOworICAgIG1lZGlhU2Vzc2lvbigpLmNsaWVudENoYXJhY3RlcmlzdGljc0NoYW5nZWQo
ZmFsc2UpOwogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCiAgICAgaWYgKCFt
X2hhc1BsYXliYWNrVGFyZ2V0QXZhaWxhYmlsaXR5TGlzdGVuZXJzKQogICAgICAgICBtZWRpYVNl
c3Npb24oKS5zZXRBY3RpdmUoZmFsc2UpOwpAQCAtMjU3Niw3ICsyNTc2LDcgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjpzZXRSZWFkeVN0YXRlKE1lZGlhUGxheWVyOjpSZWFkeVN0YXRlIHN0YXRl
KQogICAgICAgICAgICAgc2NoZWR1bGVVcGRhdGVNZWRpYVN0YXRlKCk7CiAjZW5kaWYKIAotICAg
ICAgICAgICAgbWVkaWFTZXNzaW9uKCkuY2xpZW50Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZCgpOwor
ICAgICAgICAgICAgbWVkaWFTZXNzaW9uKCkuY2xpZW50Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZChm
YWxzZSk7CiAKICAgICAgICAgICAgIC8vIEFzIHRoZSBzcGVjIG9ubHkgbWVudGlvbmVzIEhBVkVf
TUVUQURBVEEsIHJ1biB0aGUgbGF0ZXIKICAgICAgICAgICAgIC8vIHN0ZXBzIGlmIHdlIGFyZSBt
b3ZpbmcgdG8gYSBoaWdoZXIgc3RhdGUuCkBAIC0zMzE4LDcgKzMzMTgsNyBAQCB2b2lkIEhUTUxN
ZWRpYUVsZW1lbnQ6OmZpbmlzaFNlZWsoKQogICAgICAgICBzY2hlZHVsZUV2ZW50KGV2ZW50TmFt
ZXMoKS5jYW5wbGF5RXZlbnQpOwogCiAgICAgaWYgKG1fbWVkaWFTZXNzaW9uKQotICAgICAgICBt
X21lZGlhU2Vzc2lvbi0+Y2xpZW50Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZCgpOworICAgICAgICBt
X21lZGlhU2Vzc2lvbi0+Y2xpZW50Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZCh0cnVlKTsKIAogI2lm
IEVOQUJMRShNRURJQV9TT1VSQ0UpCiAgICAgaWYgKG1fbWVkaWFTb3VyY2UpCkBAIC01OTE2LDcg
KzU5MTYsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmNsZWFyTWVkaWFQbGF5ZXIoKQogCiAg
ICAgcXVldWVUYXNrS2VlcGluZ09iamVjdEFsaXZlKCp0aGlzLCBUYXNrU291cmNlOjpNZWRpYUVs
ZW1lbnQsIFt0aGlzXSB7CiAgICAgICAgIGlmIChtX21lZGlhU2Vzc2lvbikgewotICAgICAgICAg
ICAgbV9tZWRpYVNlc3Npb24tPmNsaWVudENoYXJhY3RlcmlzdGljc0NoYW5nZWQoKTsKKyAgICAg
ICAgICAgIG1fbWVkaWFTZXNzaW9uLT5jbGllbnRDaGFyYWN0ZXJpc3RpY3NDaGFuZ2VkKGZhbHNl
KTsKICAgICAgICAgICAgIG1fbWVkaWFTZXNzaW9uLT5jYW5Qcm9kdWNlQXVkaW9DaGFuZ2VkKCk7
CiAgICAgICAgIH0KICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNl
c3Npb24uY3BwCmluZGV4IDE3MGIxZmU4NDJlNTNhMjYwOTI1OGI2NjY5NWNlNmM3MjZkOWI4MjYu
LjM1NTg2ZDg4OTY1MDljODgyMDMzOTdlZjY2YWYyZjVmMGQwMDgzY2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtMjM0LDYgKzIzNCwxMiBAQCBi
b29sIE1lZGlhRWxlbWVudFNlc3Npb246OmNsaWVudFdpbGxCZWdpblBsYXliYWNrKCkKIAogICAg
IG1fZWxlbWVudElzSGlkZGVuQmVjYXVzZUl0V2FzUmVtb3ZlZEZyb21ET00gPSBmYWxzZTsKICAg
ICB1cGRhdGVDbGllbnREYXRhQnVmZmVyaW5nKCk7CisKKyNpZiBFTkFCTEUoTUVESUFfU0VTU0lP
TikKKyAgICBpZiAoYXV0byogc2Vzc2lvbiA9IG1lZGlhU2Vzc2lvbigpKQorICAgICAgICBzZXNz
aW9uLT53aWxsQmVnaW5QbGF5YmFjaygpOworI2VuZGlmCisKICAgICByZXR1cm4gdHJ1ZTsKIH0K
IApAQCAtMjQzLDYgKzI0OSwxMiBAQCBib29sIE1lZGlhRWxlbWVudFNlc3Npb246OmNsaWVudFdp
bGxQYXVzZVBsYXliYWNrKCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgdXBkYXRlQ2xp
ZW50RGF0YUJ1ZmZlcmluZygpOworCisjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCisgICAgaWYg
KGF1dG8qIHNlc3Npb24gPSBtZWRpYVNlc3Npb24oKSkKKyAgICAgICAgc2Vzc2lvbi0+d2lsbFBh
dXNlUGxheWJhY2soKTsKKyNlbmRpZgorCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTExNzYs
NiArMTE4OCw3IEBAIHN0ZDo6b3B0aW9uYWw8Tm93UGxheWluZ0luZm8+IE1lZGlhRWxlbWVudFNl
c3Npb246Om5vd1BsYXlpbmdJbmZvKCkgY29uc3QKICAgICBib29sIGFsbG93c05vd1BsYXlpbmdD
b250cm9sc1Zpc2liaWxpdHkgPSBwYWdlICYmICFwYWdlLT5pc1Zpc2libGVBbmRBY3RpdmUoKTsK
ICAgICBib29sIGlzUGxheWluZyA9IHN0YXRlKCkgPT0gUGxhdGZvcm1NZWRpYVNlc3Npb246OlBs
YXlpbmc7CiAgICAgYm9vbCBzdXBwb3J0c1NlZWtpbmcgPSBtX2VsZW1lbnQuc3VwcG9ydHNTZWVr
aW5nKCk7CisgICAgZG91YmxlIHJhdGUgPSAxLjA7CiAgICAgZG91YmxlIGR1cmF0aW9uID0gc3Vw
cG9ydHNTZWVraW5nID8gbV9lbGVtZW50LmR1cmF0aW9uKCkgOiBNZWRpYVBsYXllcjo6aW52YWxp
ZFRpbWUoKTsKICAgICBkb3VibGUgY3VycmVudFRpbWUgPSBtX2VsZW1lbnQuY3VycmVudFRpbWUo
KTsKICAgICBpZiAoIXN0ZDo6aXNmaW5pdGUoY3VycmVudFRpbWUpIHx8ICFzdXBwb3J0c1NlZWtp
bmcpCkBAIC0xMTgzLDYgKzExOTYsMTQgQEAgc3RkOjpvcHRpb25hbDxOb3dQbGF5aW5nSW5mbz4g
TWVkaWFFbGVtZW50U2Vzc2lvbjo6bm93UGxheWluZ0luZm8oKSBjb25zdAogCiAjaWYgRU5BQkxF
KE1FRElBX1NFU1NJT04pCiAgICAgYXV0byogc2Vzc2lvbiA9IG1lZGlhU2Vzc2lvbigpOworICAg
IGF1dG8gcG9zaXRpb25TdGF0ZSA9IHNlc3Npb24gPyBzZXNzaW9uLT5wb3NpdGlvblN0YXRlKCkg
OiBzdGQ6Om51bGxvcHQ7CisgICAgYXV0byBjdXJyZW50UG9zaXRpb24gPSBzZXNzaW9uID8gc2Vz
c2lvbi0+Y3VycmVudFBvc2l0aW9uKCkgOiBzdGQ6Om51bGxvcHQ7CisgICAgaWYgKHBvc2l0aW9u
U3RhdGUpIHsKKyAgICAgICAgZHVyYXRpb24gPSBwb3NpdGlvblN0YXRlLT5kdXJhdGlvbjsKKyAg
ICAgICAgcmF0ZSA9IHBvc2l0aW9uU3RhdGUtPnBsYXliYWNrUmF0ZTsKKyAgICB9CisgICAgaWYg
KGN1cnJlbnRQb3NpdGlvbikKKyAgICAgICAgY3VycmVudFRpbWUgPSAqY3VycmVudFBvc2l0aW9u
OwogICAgIGF1dG8qIHNlc3Npb25NZXRhZGF0YSA9IHNlc3Npb24gPyBzZXNzaW9uLT5tZXRhZGF0
YSgpIDogbnVsbHB0cjsKICAgICBpZiAoc2Vzc2lvbk1ldGFkYXRhKSB7CiAgICAgICAgIHN0ZDo6
b3B0aW9uYWw8Tm93UGxheWluZ0luZm9BcnR3b3JrPiBhcnR3b3JrOwpAQCAtMTE5MCwxMSArMTIx
MSwxMSBAQCBzdGQ6Om9wdGlvbmFsPE5vd1BsYXlpbmdJbmZvPiBNZWRpYUVsZW1lbnRTZXNzaW9u
Ojpub3dQbGF5aW5nSW5mbygpIGNvbnN0CiAgICAgICAgICAgICBBU1NFUlQoc2Vzc2lvbk1ldGFk
YXRhLT5hcnR3b3JrSW1hZ2UoKS0+ZGF0YSgpLCAiQW4gaW1hZ2UgbXVzdCBhbHdheXMgaGF2ZSBh
c3NvY2lhdGVkIGRhdGEiKTsKICAgICAgICAgICAgIGFydHdvcmsgPSBOb3dQbGF5aW5nSW5mb0Fy
dHdvcmsgeyBzZXNzaW9uTWV0YWRhdGEtPmFydHdvcmtTcmMoKSwgc2Vzc2lvbk1ldGFkYXRhLT5h
cnR3b3JrSW1hZ2UoKS0+bWltZVR5cGUoKSwgc2Vzc2lvbk1ldGFkYXRhLT5hcnR3b3JrSW1hZ2Uo
KS0+ZGF0YSgpIH07CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIE5vd1BsYXlpbmdJbmZvIHsg
c2Vzc2lvbk1ldGFkYXRhLT50aXRsZSgpLCBzZXNzaW9uTWV0YWRhdGEtPmFydGlzdCgpLCBzZXNz
aW9uTWV0YWRhdGEtPmFsYnVtKCksIG1fZWxlbWVudC5zb3VyY2VBcHBsaWNhdGlvbklkZW50aWZp
ZXIoKSwgZHVyYXRpb24sIGN1cnJlbnRUaW1lLCBzdXBwb3J0c1NlZWtpbmcsIG1fZWxlbWVudC5t
ZWRpYVVuaXF1ZUlkZW50aWZpZXIoKSwgaXNQbGF5aW5nLCBhbGxvd3NOb3dQbGF5aW5nQ29udHJv
bHNWaXNpYmlsaXR5LCBXVEZNb3ZlKGFydHdvcmspIH07CisgICAgICAgIHJldHVybiBOb3dQbGF5
aW5nSW5mbyB7IHNlc3Npb25NZXRhZGF0YS0+dGl0bGUoKSwgc2Vzc2lvbk1ldGFkYXRhLT5hcnRp
c3QoKSwgc2Vzc2lvbk1ldGFkYXRhLT5hbGJ1bSgpLCBtX2VsZW1lbnQuc291cmNlQXBwbGljYXRp
b25JZGVudGlmaWVyKCksIGR1cmF0aW9uLCBjdXJyZW50VGltZSwgcmF0ZSwgc3VwcG9ydHNTZWVr
aW5nLCBtX2VsZW1lbnQubWVkaWFVbmlxdWVJZGVudGlmaWVyKCksIGlzUGxheWluZywgYWxsb3dz
Tm93UGxheWluZ0NvbnRyb2xzVmlzaWJpbGl0eSwgV1RGTW92ZShhcnR3b3JrKSB9OwogICAgIH0K
ICNlbmRpZgogCi0gICAgcmV0dXJuIE5vd1BsYXlpbmdJbmZvIHsgbV9lbGVtZW50Lm1lZGlhU2Vz
c2lvblRpdGxlKCksIGVtcHR5U3RyaW5nKCksIGVtcHR5U3RyaW5nKCksIG1fZWxlbWVudC5zb3Vy
Y2VBcHBsaWNhdGlvbklkZW50aWZpZXIoKSwgZHVyYXRpb24sIGN1cnJlbnRUaW1lLCBzdXBwb3J0
c1NlZWtpbmcsIG1fZWxlbWVudC5tZWRpYVVuaXF1ZUlkZW50aWZpZXIoKSwgaXNQbGF5aW5nLCBh
bGxvd3NOb3dQbGF5aW5nQ29udHJvbHNWaXNpYmlsaXR5LCB7IH19OworICAgIHJldHVybiBOb3dQ
bGF5aW5nSW5mbyB7IG1fZWxlbWVudC5tZWRpYVNlc3Npb25UaXRsZSgpLCBlbXB0eVN0cmluZygp
LCBlbXB0eVN0cmluZygpLCBtX2VsZW1lbnQuc291cmNlQXBwbGljYXRpb25JZGVudGlmaWVyKCks
IGR1cmF0aW9uLCBjdXJyZW50VGltZSwgcmF0ZSwgc3VwcG9ydHNTZWVraW5nLCBtX2VsZW1lbnQu
bWVkaWFVbmlxdWVJZGVudGlmaWVyKCksIGlzUGxheWluZywgYWxsb3dzTm93UGxheWluZ0NvbnRy
b2xzVmlzaWJpbGl0eSwgeyB9IH07CiB9CiAKIHZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6dXBk
YXRlTWVkaWFVc2FnZUlmQ2hhbmdlZCgpCkBAIC0xMjk5LDE1ICsxMzIwLDI4IEBAIHZvaWQgTWVk
aWFFbGVtZW50U2Vzc2lvbjo6ZW5zdXJlSXNPYnNlcnZpbmdNZWRpYVNlc3Npb24oKQogCiB2b2lk
IE1lZGlhRWxlbWVudFNlc3Npb246Om1ldGFkYXRhQ2hhbmdlZChjb25zdCBSZWZQdHI8TWVkaWFN
ZXRhZGF0YT4mKQogewotICAgIGNsaWVudENoYXJhY3RlcmlzdGljc0NoYW5nZWQoKTsKKyAgICBj
bGllbnRDaGFyYWN0ZXJpc3RpY3NDaGFuZ2VkKGZhbHNlKTsKIH0KIAotdm9pZCBNZWRpYUVsZW1l
bnRTZXNzaW9uOjpwb3NpdGlvblN0YXRlQ2hhbmdlZChjb25zdCBzdGQ6Om9wdGlvbmFsPE1lZGlh
UG9zaXRpb25TdGF0ZT4mKSB7IH0KK3ZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6cG9zaXRpb25T
dGF0ZUNoYW5nZWQoY29uc3Qgc3RkOjpvcHRpb25hbDxNZWRpYVBvc2l0aW9uU3RhdGU+JikKK3sK
KyAgICBjbGllbnRDaGFyYWN0ZXJpc3RpY3NDaGFuZ2VkKGZhbHNlKTsKK30KIAogdm9pZCBNZWRp
YUVsZW1lbnRTZXNzaW9uOjpwbGF5YmFja1N0YXRlQ2hhbmdlZChNZWRpYVNlc3Npb25QbGF5YmFj
a1N0YXRlKSB7IH0KIAogdm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjphY3Rpb25IYW5kbGVyc0No
YW5nZWQoKSB7IH0KIAordm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpjbGllbnRDaGFyYWN0ZXJp
c3RpY3NDaGFuZ2VkKGJvb2wgcG9zaXRpb25DaGFuZ2VkKQoreworI2lmIEVOQUJMRShNRURJQV9T
RVNTSU9OKQorICAgIGF1dG8qIHNlc3Npb24gPSBtZWRpYVNlc3Npb24oKTsKKyAgICBpZiAocG9z
aXRpb25DaGFuZ2VkICYmIHNlc3Npb24pCisgICAgICAgIHNlc3Npb24tPnBvc2l0aW9uT3ZlcnJp
ZGRlbigpOworI2VuZGlmCisgICAgUGxhdGZvcm1NZWRpYVNlc3Npb246OmNsaWVudENoYXJhY3Rl
cmlzdGljc0NoYW5nZWQocG9zaXRpb25DaGFuZ2VkKTsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5B
QkxFKFZJREVPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaAppbmRl
eCAzZmFmMDNmZDNlMGNiNzg3NDc5MzA5N2E5NzIxOGZiNDI3MmQwMjk0Li5lMjE2YTg4MmQzMWQ4
MTM3OWY1YTIxNTdjMDAzZmU3MGQwMjBhZjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhRWxlbWVudFNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlh
RWxlbWVudFNlc3Npb24uaApAQCAtNzAsNiArNzAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjbGll
bnRXaWxsQmVnaW5BdXRvcGxheWluZygpIGZpbmFsOwogICAgIGJvb2wgY2xpZW50V2lsbEJlZ2lu
UGxheWJhY2soKSBmaW5hbDsKICAgICBib29sIGNsaWVudFdpbGxQYXVzZVBsYXliYWNrKCkgZmlu
YWw7CisgICAgdm9pZCBjbGllbnRDaGFyYWN0ZXJpc3RpY3NDaGFuZ2VkKGJvb2wpIGZpbmFsOwog
CiAgICAgdm9pZCB2aXNpYmlsaXR5Q2hhbmdlZCgpOwogICAgIHZvaWQgaXNWaXNpYmxlSW5WaWV3
cG9ydENoYW5nZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L05vd1BsYXlpbmdJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9Ob3dQbGF5
aW5nSW5mby5oCmluZGV4IDFkNjViYzQwM2FkODUyNDNjNjcyNWU3MDQ0OGQ2Y2RhZGNjY2NlMWIu
LjBmYzJkMDI3Njg0MzE5N2Q5MWMxMGFiZTYyNTYzMGNjYTUyNmFhZjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL05vd1BsYXlpbmdJbmZvLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vTm93UGxheWluZ0luZm8uaApAQCAtODEsNiArODEsNyBA
QCBzdHJ1Y3QgTm93UGxheWluZ0luZm8gewogICAgIFN0cmluZyBzb3VyY2VBcHBsaWNhdGlvbklk
ZW50aWZpZXI7CiAgICAgZG91YmxlIGR1cmF0aW9uIHsgMCB9OwogICAgIGRvdWJsZSBjdXJyZW50
VGltZSB7IDAgfTsKKyAgICBkb3VibGUgcmF0ZSB7IDEuMCB9OwogICAgIGJvb2wgc3VwcG9ydHNT
ZWVraW5nIHsgZmFsc2UgfTsKICAgICBNZWRpYVVuaXF1ZUlkZW50aWZpZXIgdW5pcXVlSWRlbnRp
ZmllcjsKICAgICBib29sIGlzUGxheWluZyB7IGZhbHNlIH07CkBAIC05NSw2ICs5Niw3IEBAIHN0
cnVjdCBOb3dQbGF5aW5nSW5mbyB7CiAgICAgICAgICAgICAmJiBzb3VyY2VBcHBsaWNhdGlvbklk
ZW50aWZpZXIgPT0gb3RoZXIuc291cmNlQXBwbGljYXRpb25JZGVudGlmaWVyCiAgICAgICAgICAg
ICAmJiBkdXJhdGlvbiA9PSBvdGhlci5kdXJhdGlvbgogICAgICAgICAgICAgJiYgY3VycmVudFRp
bWUgPT0gb3RoZXIuY3VycmVudFRpbWUKKyAgICAgICAgICAgICYmIHJhdGUgPT0gb3RoZXIucmF0
ZQogICAgICAgICAgICAgJiYgc3VwcG9ydHNTZWVraW5nID09IG90aGVyLnN1cHBvcnRzU2Vla2lu
ZwogICAgICAgICAgICAgJiYgdW5pcXVlSWRlbnRpZmllciA9PSBvdGhlci51bmlxdWVJZGVudGlm
aWVyCiAgICAgICAgICAgICAmJiBpc1BsYXlpbmcgPT0gb3RoZXIuaXNQbGF5aW5nCkBAIC0xMTMs
NyArMTE1LDcgQEAgc3RydWN0IE5vd1BsYXlpbmdJbmZvIHsKIAogdGVtcGxhdGU8Y2xhc3MgRW5j
b2Rlcj4gaW5saW5lIHZvaWQgTm93UGxheWluZ0luZm86OmVuY29kZShFbmNvZGVyJiBlbmNvZGVy
KSBjb25zdAogewotICAgIGVuY29kZXIgPDwgdGl0bGUgPDwgYXJ0aXN0IDw8IGFsYnVtIDw8IHNv
dXJjZUFwcGxpY2F0aW9uSWRlbnRpZmllciA8PCBkdXJhdGlvbiA8PCBjdXJyZW50VGltZSA8PCBz
dXBwb3J0c1NlZWtpbmcgPDwgdW5pcXVlSWRlbnRpZmllciA8PCBpc1BsYXlpbmcgPDwgYWxsb3dz
Tm93UGxheWluZ0NvbnRyb2xzVmlzaWJpbGl0eSA8PCBhcnR3b3JrOworICAgIGVuY29kZXIgPDwg
dGl0bGUgPDwgYXJ0aXN0IDw8IGFsYnVtIDw8IHNvdXJjZUFwcGxpY2F0aW9uSWRlbnRpZmllciA8
PCByYXRlIDw8IGR1cmF0aW9uIDw8IGN1cnJlbnRUaW1lIDw8IHN1cHBvcnRzU2Vla2luZyA8PCB1
bmlxdWVJZGVudGlmaWVyIDw8IGlzUGxheWluZyA8PCBhbGxvd3NOb3dQbGF5aW5nQ29udHJvbHNW
aXNpYmlsaXR5IDw8IGFydHdvcms7CiB9CiAKIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IGlubGlu
ZSBzdGQ6Om9wdGlvbmFsPE5vd1BsYXlpbmdJbmZvPiBOb3dQbGF5aW5nSW5mbzo6ZGVjb2RlKERl
Y29kZXImIGRlY29kZXIpCkBAIC0xNDIsNiArMTQ0LDEwIEBAIHRlbXBsYXRlPGNsYXNzIERlY29k
ZXI+IGlubGluZSBzdGQ6Om9wdGlvbmFsPE5vd1BsYXlpbmdJbmZvPiBOb3dQbGF5aW5nSW5mbzo6
ZGVjCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShjdXJyZW50VGltZSkpCiAgICAgICAgIHJldHVy
biB7IH07CiAKKyAgICBkb3VibGUgcmF0ZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJhdGUp
KQorICAgICAgICByZXR1cm4geyB9OworCiAgICAgYm9vbCBzdXBwb3J0c1NlZWtpbmc7CiAgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShzdXBwb3J0c1NlZWtpbmcpKQogICAgICAgICByZXR1cm4geyB9
OwpAQCAtMTYyLDcgKzE2OCw3IEBAIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IGlubGluZSBzdGQ6
Om9wdGlvbmFsPE5vd1BsYXlpbmdJbmZvPiBOb3dQbGF5aW5nSW5mbzo6ZGVjCiAgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShhcnR3b3JrKSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAgIHJldHVy
biBOb3dQbGF5aW5nSW5mbyB7IFdURk1vdmUodGl0bGUpLCBXVEZNb3ZlKGFydGlzdCksIFdURk1v
dmUoYWxidW0pLCBXVEZNb3ZlKHNvdXJjZUFwcGxpY2F0aW9uSWRlbnRpZmllciksIGR1cmF0aW9u
LCBjdXJyZW50VGltZSwgc3VwcG9ydHNTZWVraW5nLCB1bmlxdWVJZGVudGlmaWVyLCBpc1BsYXlp
bmcsIGFsbG93c05vd1BsYXlpbmdDb250cm9sc1Zpc2liaWxpdHksIFdURk1vdmUoYXJ0d29yaykg
fTsKKyAgICByZXR1cm4gTm93UGxheWluZ0luZm8geyBXVEZNb3ZlKHRpdGxlKSwgV1RGTW92ZShh
cnRpc3QpLCBXVEZNb3ZlKGFsYnVtKSwgV1RGTW92ZShzb3VyY2VBcHBsaWNhdGlvbklkZW50aWZp
ZXIpLCBkdXJhdGlvbiwgY3VycmVudFRpbWUsIHJhdGUsIHN1cHBvcnRzU2Vla2luZywgdW5pcXVl
SWRlbnRpZmllciwgaXNQbGF5aW5nLCBhbGxvd3NOb3dQbGF5aW5nQ29udHJvbHNWaXNpYmlsaXR5
LCBXVEZNb3ZlKGFydHdvcmspIH07CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9u
LmNwcAppbmRleCBhZmNlYzkxYmQxZjJiMGIwYmU2ZjIwYTAzOWFiYjE1YWFhZGIxNDRkLi43ODZj
ZjQyNGEzZGI3MzBiNTYwZTYyMDgyMzNhY2QyMTkxMGUxNWY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwCkBAIC0z
NzUsOSArMzc1LDkgQEAgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Y2FuUHJvZHVjZUF1ZGlv
Q2hhbmdlZCgpCiAgICAgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2Vy
KCkuc2Vzc2lvbkNhblByb2R1Y2VBdWRpb0NoYW5nZWQoKTsKIH0KIAotdm9pZCBQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbjo6Y2xpZW50Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZCgpCit2b2lkIFBsYXRmb3Jt
TWVkaWFTZXNzaW9uOjpjbGllbnRDaGFyYWN0ZXJpc3RpY3NDaGFuZ2VkKGJvb2wgcG9zaXRpb25D
aGFuZ2VkKQogewotICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdl
cigpLmNsaWVudENoYXJhY3RlcmlzdGljc0NoYW5nZWQoKnRoaXMpOworICAgIFBsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcigpLmNsaWVudENoYXJhY3RlcmlzdGljc0No
YW5nZWQoKnRoaXMsIHBvc2l0aW9uQ2hhbmdlZCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBp
c1BsYXlpbmdBdWRpbyhQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6TWVkaWFUeXBlIG1lZGlhVHlwZSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFT
ZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vz
c2lvbi5oCmluZGV4IDViNTI5ZTAxYWMxN2EwNjU4M2Q0YTk2NWQ4MTZlY2UyMTMwZjdjNTcuLmI0
Y2ZmZDU4ODNkNzIzNDkxMGMxZjhkZmEzNmFkMjRkMDY3OGI3NGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaApAQCAtMTAy
LDcgKzEwMiw3IEBAIHB1YmxpYzoKICAgICAgICAgTWF5UmVzdW1lUGxheWluZyA9IDEgPDwgMCwK
ICAgICB9OwogCi0gICAgdm9pZCBjbGllbnRDaGFyYWN0ZXJpc3RpY3NDaGFuZ2VkKCk7CisgICAg
dmlydHVhbCB2b2lkIGNsaWVudENoYXJhY3RlcmlzdGljc0NoYW5nZWQoYm9vbCk7CiAKICAgICB2
b2lkIGJlZ2luSW50ZXJydXB0aW9uKEludGVycnVwdGlvblR5cGUpOwogICAgIHZvaWQgZW5kSW50
ZXJydXB0aW9uKEVuZEludGVycnVwdGlvbkZsYWdzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKaW5k
ZXggMTk5Y2NhMGEwODkwNDhhYTAwY2QyMzliY2JhNGQ4Y2ZkNjAzNTdjZi4uNzllYTFlZTZjMDQ1
ZjIxMDZmNWM2YmYxYjkzNDU4NWY0YTQwZjQyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKQEAg
LTEzMSw3ICsxMzEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNlc3Npb25XaWxsRW5k
UGxheWJhY2soUGxhdGZvcm1NZWRpYVNlc3Npb24mLCBEZWxheUNhbGxpbmdVcGRhdGVOb3dQbGF5
aW5nKTsKICAgICB2aXJ0dWFsIHZvaWQgc2Vzc2lvblN0YXRlQ2hhbmdlZChQbGF0Zm9ybU1lZGlh
U2Vzc2lvbiYpOwogICAgIHZpcnR1YWwgdm9pZCBzZXNzaW9uRGlkRW5kUmVtb3RlU2NydWJiaW5n
KFBsYXRmb3JtTWVkaWFTZXNzaW9uJikgeyB9OwotICAgIHZpcnR1YWwgdm9pZCBjbGllbnRDaGFy
YWN0ZXJpc3RpY3NDaGFuZ2VkKFBsYXRmb3JtTWVkaWFTZXNzaW9uJikgeyB9CisgICAgdmlydHVh
bCB2b2lkIGNsaWVudENoYXJhY3RlcmlzdGljc0NoYW5nZWQoUGxhdGZvcm1NZWRpYVNlc3Npb24m
LCBib29sKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2Vzc2lvbkNhblByb2R1Y2VBdWRpb0NoYW5n
ZWQoKTsKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2Nv
YS5oCmluZGV4IDUzZmVkNTIwNmYxM2VkYTI2MzJhNTFmMmQ2MGI5MGY4NjJmOGQ5YjEuLjEzMzQz
ZWI4MTFjMmVhMDU2OTk5NjM5ZjRkMTk3M2IwMzBkZDNjODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFn
ZXJDb2NvYS5oCkBAIC04Nyw3ICs4Nyw3IEBAIHByb3RlY3RlZDoKICAgICBib29sIHNlc3Npb25X
aWxsQmVnaW5QbGF5YmFjayhQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYpIG92ZXJyaWRlOwogICAgIHZv
aWQgc2Vzc2lvbldpbGxFbmRQbGF5YmFjayhQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYsIERlbGF5Q2Fs
bGluZ1VwZGF0ZU5vd1BsYXlpbmcpIG92ZXJyaWRlOwogICAgIHZvaWQgc2Vzc2lvbkRpZEVuZFJl
bW90ZVNjcnViYmluZyhQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYpIGZpbmFsOwotICAgIHZvaWQgY2xp
ZW50Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYpIGZpbmFsOwor
ICAgIHZvaWQgY2xpZW50Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZChQbGF0Zm9ybU1lZGlhU2Vzc2lv
biYsIGJvb2wpIGZpbmFsOwogICAgIHZvaWQgc2Vzc2lvbkNhblByb2R1Y2VBdWRpb0NoYW5nZWQo
KSBmaW5hbDsKIAogICAgIHZpcnR1YWwgdm9pZCBwcm92aWRlUHJlc2VudGluZ0FwcGxpY2F0aW9u
UElESWZOZWNlc3NhcnkoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5tbQppbmRleCAx
ZjIyMDkwZDI0NzJjMTRmZjIzMmQ1NDE2ZDkxY2NlM2I5ZWRiMzYxLi4xOWMwN2IzODBlYjNjNTdl
ZmMxNzEyMmY2MGE0YjExMDk0ZTZjZjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLm1t
CkBAIC0zMDksNyArMzA5LDcgQEAgdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E6OnNlc3Np
b25XaWxsRW5kUGxheWJhY2soUGxhdGZvcm1NZWRpYVNlc3Npb24mIHNlc3MKICAgICB9CiB9CiAK
LXZvaWQgTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hOjpjbGllbnRDaGFyYWN0ZXJpc3RpY3NDaGFu
Z2VkKFBsYXRmb3JtTWVkaWFTZXNzaW9uJiBzZXNzaW9uKQordm9pZCBNZWRpYVNlc3Npb25NYW5h
Z2VyQ29jb2E6OmNsaWVudENoYXJhY3RlcmlzdGljc0NoYW5nZWQoUGxhdGZvcm1NZWRpYVNlc3Np
b24mIHNlc3Npb24sIGJvb2wpCiB7CiAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCBzZXNz
aW9uLmxvZ0lkZW50aWZpZXIoKSk7CiAgICAgc2NoZWR1bGVTZXNzaW9uU3RhdHVzVXBkYXRlKCk7
CkBAIC0zNzYsNyArMzc2LDcgQEAgdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E6OnNldE5v
d1BsYXlpbmdJbmZvKGJvb2wgc2V0QXNOb3dQbGF5aW5nQXBwbGljYXRpb24KICAgICAgICAgQ0ZE
aWN0aW9uYXJ5U2V0VmFsdWUoaW5mby5nZXQoKSwga01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5m
b0R1cmF0aW9uLCBjZkR1cmF0aW9uLmdldCgpKTsKICAgICB9CiAKLSAgICBkb3VibGUgcmF0ZSA9
IG5vd1BsYXlpbmdJbmZvLmlzUGxheWluZyA/IDEgOiAwOworICAgIGRvdWJsZSByYXRlID0gbm93
UGxheWluZ0luZm8uaXNQbGF5aW5nID8gbm93UGxheWluZ0luZm8ucmF0ZSA6IDA7CiAgICAgYXV0
byBjZlJhdGUgPSBhZG9wdENGKENGTnVtYmVyQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIGtD
Rk51bWJlckRvdWJsZVR5cGUsICZyYXRlKSk7CiAgICAgQ0ZEaWN0aW9uYXJ5U2V0VmFsdWUoaW5m
by5nZXQoKSwga01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb1BsYXliYWNrUmF0ZSwgY2ZSYXRl
LmdldCgpKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458358</attachid>
            <date>2022-04-26 07:07:08 -0700</date>
            <delta_ts>2022-04-26 17:30:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237196-20220427000707.patch</filename>
            <type>text/plain</type>
            <size>23508</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzMTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTk5MWU3Y2MzYzk4NWFk
NzVmYjhmZjkyMWVmOWUzYjMyZDdjNGVkZi4uODJhYTc5NTE1NDQyYzgxOTJhYjYxNzZmNWJiZWQ3
ZWE2NWQyNzJlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcxIEBACisyMDIyLTA0LTI2ICBKZWFu
LVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgTWVkaWFTZXNzaW9uLnNl
dFBvc2l0aW9uU3RhdGUoKSBkb2VzIG5vdCB3b3JrLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3MTk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIE1lZGlhU2Vzc2lvbidzIHBvc2l0aW9uU3RhdGUg
aWYgcHJlc2VudCB3aGVuIGNvbnN0cnVjdGluZyBOb3dQbGF5aW5nCisgICAgICAgIE1lZGlhUmVt
b3RlIGRhdGEuCisgICAgICAgIFdlIGVtdWxhdGUgd2hhdCB0aGUgbWVkaWEtc2Vzc2lvbiBwb3Np
dGlvbiB3b3VsZCBoYXZlIGJlZW4gaGFkIHRoZQorICAgICAgICB0aW1lIHByb2dyZXNzZWQgYWNj
b3JkaW5nIHRvIHRoZSBwbGF5YmFjayByYXRlLgorICAgICAgICBBcyBzdWNoLCB3ZSBuZWVkIHRv
IHRlbGwgdGhlIG1lZGlhLXNlc3Npb24gd2hlbiBubyBhY3Rpb24gaGFuZGxlcnMgYXJlCisgICAg
ICAgIHNldCB0aGF0IHRoZSBtZWRpYSB3YXMgcGF1c2VkIG9yIHBsYXllZCBhZ2Fpbi4KKyAgICAg
ICAgV2hlbiBzZWVraW5nLCB3ZSB1cGRhdGUgdGhlIG5ldyB0aW1lIHBvc2l0aW9uIGFuZCBjb250
aW51ZSBhY2NvcmRpbmcgdG8KKyAgICAgICAgdGhlIHNldCBwbGF5YmFjayByYXRlLgorCisgICAg
ICAgIFRlc3RlZCBtYW51YWxseSB3aXRoIHRoZSBmb2xsb3dpbmcgc2NlbmFyaW9zOgorICAgICAg
ICAtIFNldCBhIHBhZ2Ugb25seSBkZWZpbmluZyB0aGUgbWVkaWEtc2Vzc2lvbidzIHBvc2l0aW9u
IHN0YXRlIG9uY2UKKyAgICAgICAgLSBMZXQgdGhlIG1lZGlhIGVsZW1lbnQgcGxheSBieSBkZWZh
dWx0LCBjaGVjayB0aGUgTm93IFBsYXlpbmcgcG9zaXRpb24KKyAgICAgICAgLSBQYXVzZS9QbGF5
IHVzaW5nIE5vdyBQbGF5aW5nIGNvbnRyb2wgYW5kIGNoZWNrcyB0aGF0IHRoZSB0aW1lIGRvZXNu
J3QKKyAgICAgICAgICBqdW1wIGFyb3VuZC4KKyAgICAgICAgLSBTZWVrIHVzaW5nIE5vdyBQbGF5
aW5nIGFuZCBjaGVjayB0aGF0IHRoZSBtZWRpYSBzZWVrcyBwcm9wZXJseSBhbmQgdGhhdAorICAg
ICAgICAgIHRoZSBOb3cgUGxheWluZyBwb3NpdG9uIHByb2dyZXNzIGZyb20gdGhlIHNlZWsgcG9p
bnQgYWNjb3JkaW5nIHRvIHRoZQorICAgICAgICAgIG1lZGlhLXNlc3Npb24ncyBwbGF5YmFjayBy
YXRlLgorICAgICAgICAtIFNlZWsgdXNpbmcgZGVmYXVsdCBtZWRpYSBjb250cm9sIGFuZCBjaGVj
ayB0aGUgc2FtZSBhcyBhYm92ZS4KKyAgICAgICAgLSBTZWVrIHVzaW5nIGRlZmF1bHQgbWVkaWEg
Y29udHJvbCwgdGhlbiBwYXVzZSBpbiBOb3cgUGxheWluZzogY2hlY2sgdGhhdAorICAgICAgICAg
IHRoZSBwbGF5YmFjayBwb3NpdGlvbiBkb2Vzbid0IGp1bXAgYXJvdW5kLgorCisgICAgICAgIFdl
IGRvbid0IGhhdmUgYSB3YXkgdG8gcHJvcGVybHkgdGVzdCB0aGUgTWVkaWFSZW1vdGUKKyAgICAg
ICAgZXh0ZXJuYWwgZnJhbWV3b3JrIGFuZCB3aXRoIGV4aXN0aW5nIE1lZGlhU2Vzc2lvbiBBUEkg
dGVzdHMgY3VycmVudGx5CisgICAgICAgIGRpc2FibGVkIGZvbGxvd2luZyBidWcgMjIxNTE0Lgor
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbjo6c2V0UGxheWJhY2tTdGF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVNlc3Npb246OnVwZGF0ZVJlcG9ydGVkUG9zaXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFTZXNzaW9uOjp3aWxsQmVnaW5QbGF5YmFjayk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVNlc3Npb246OndpbGxQYXVzZVBsYXliYWNrKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhU2Vzc2lvbjo6cG9zaXRpb25PdmVycmlkZGVuKToKKyAgICAgICAgKiBNb2R1bGVzL21l
ZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb24uaDoKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cGFyc2VBdHRyaWJ1
dGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6cmVtb3ZlZEZyb21BbmNl
c3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjptZWRpYUxvYWRpbmdG
YWlsZWQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2V0UmVhZHlTdGF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpmaW5pc2hTZWVrKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmNsZWFyTWVkaWFQbGF5ZXIpOgorICAg
ICAgICAqIGh0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUVsZW1lbnRTZXNzaW9uOjpjbGllbnRXaWxsQmVnaW5QbGF5YmFjayk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpjbGllbnRXaWxsUGF1c2VQbGF5YmFjayk6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpub3dQbGF5aW5nSW5mbyBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjptZXRhZGF0YUNoYW5n
ZWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6cG9zaXRpb25TdGF0
ZUNoYW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6Y2xpZW50
Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZCk6CisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRTZXNz
aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vTm93UGxheWluZ0luZm8uaDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok5vd1BsYXlpbmdJbmZvOjpvcGVyYXRvcj09IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6Ok5vd1BsYXlpbmdJbmZvOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6Tm93UGxheWluZ0luZm86OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vUGxh
dGZvcm1NZWRpYVNlc3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNl
c3Npb246OmNsaWVudENoYXJhY3RlcmlzdGljc0NoYW5nZWQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8v
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmg6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9y
bU1lZGlhU2Vzc2lvbk1hbmFnZXI6OmNsaWVudENoYXJhY3RlcmlzdGljc0NoYW5nZWQpOgorICAg
ICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5t
bToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYTo6Y2xpZW50Q2hh
cmFjdGVyaXN0aWNzQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb25NYW5h
Z2VyQ29jb2E6OnNldE5vd1BsYXlpbmdJbmZvKToKKwogMjAyMi0wNC0wNiAgSmVhbi1ZdmVzIEF2
ZW5hcmQgIDxqeWFAYXBwbGUuY29tPgogCiAgICAgICAgIEZ1bGwgc2NyZWVuIHZpZGVvIHByb2dy
ZXNzIGJhciBmbGlja2VycyBhZnRlciBkcmFnZ2luZyBpdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb24uY3BwCmluZGV4IGUwNzcyMDg0
NTVlMTdjZGY3NmNkY2RkZjhiOTMwNzE5M2JkOGUyMTMuLjg0NmFiOTcxMzk2YjIzOWIxN2MyNTMx
MjM1NmY0ZTAzNDlmMDI2NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzZXNzaW9uL01lZGlhU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uLmNwcApAQCAtMjI4LDExICsyMjgsOCBAQCB2b2lkIE1l
ZGlhU2Vzc2lvbjo6c2V0UGxheWJhY2tTdGF0ZShNZWRpYVNlc3Npb25QbGF5YmFja1N0YXRlIHN0
YXRlKQogCiAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVSLCBzdGF0ZSk7CiAKLSAgICBhdXRv
IGN1cnJlbnRQb3NpdGlvbiA9IHRoaXMtPmN1cnJlbnRQb3NpdGlvbigpOwotICAgIGlmIChtX3Bv
c2l0aW9uU3RhdGUgJiYgY3VycmVudFBvc2l0aW9uKSB7Ci0gICAgICAgIG1fcG9zaXRpb25TdGF0
ZS0+cG9zaXRpb24gPSAqY3VycmVudFBvc2l0aW9uOwotICAgICAgICBtX3RpbWVBdExhc3RQb3Np
dGlvblVwZGF0ZSA9IE1vbm90b25pY1RpbWU6Om5vdygpOwotICAgIH0KKyAgICB1cGRhdGVSZXBv
cnRlZFBvc2l0aW9uKCk7CisKICAgICBtX3BsYXliYWNrU3RhdGUgPSBzdGF0ZTsKICAgICBub3Rp
ZnlQbGF5YmFja1N0YXRlT2JzZXJ2ZXJzKCk7CiB9CkBAIC0zOTYsNiArMzkzLDI5IEBAIFJlZlB0
cjxIVE1MTWVkaWFFbGVtZW50PiBNZWRpYVNlc3Npb246OmFjdGl2ZU1lZGlhRWxlbWVudCgpIGNv
bnN0CiAgICAgcmV0dXJuIEhUTUxNZWRpYUVsZW1lbnQ6OmJlc3RNZWRpYUVsZW1lbnRGb3JSZW1v
dGVDb250cm9scyhNZWRpYUVsZW1lbnRTZXNzaW9uOjpQbGF5YmFja0NvbnRyb2xzUHVycG9zZTo6
TWVkaWFTZXNzaW9uLCBkb2MpOwogfQogCit2b2lkIE1lZGlhU2Vzc2lvbjo6dXBkYXRlUmVwb3J0
ZWRQb3NpdGlvbigpCit7CisgICAgYXV0byBjdXJyZW50UG9zaXRpb24gPSB0aGlzLT5jdXJyZW50
UG9zaXRpb24oKTsKKyAgICBpZiAobV9wb3NpdGlvblN0YXRlICYmIGN1cnJlbnRQb3NpdGlvbikg
eworICAgICAgICBtX2xhc3RSZXBvcnRlZFBvc2l0aW9uID0gbV9wb3NpdGlvblN0YXRlLT5wb3Np
dGlvbiA9ICpjdXJyZW50UG9zaXRpb247CisgICAgICAgIG1fdGltZUF0TGFzdFBvc2l0aW9uVXBk
YXRlID0gTW9ub3RvbmljVGltZTo6bm93KCk7CisgICAgfQorfQorCit2b2lkIE1lZGlhU2Vzc2lv
bjo6d2lsbEJlZ2luUGxheWJhY2soKQoreworICAgIHVwZGF0ZVJlcG9ydGVkUG9zaXRpb24oKTsK
KyAgICBtX3BsYXliYWNrU3RhdGUgPSBNZWRpYVNlc3Npb25QbGF5YmFja1N0YXRlOjpQbGF5aW5n
OworICAgIG5vdGlmeVBvc2l0aW9uU3RhdGVPYnNlcnZlcnMoKTsKK30KKwordm9pZCBNZWRpYVNl
c3Npb246OndpbGxQYXVzZVBsYXliYWNrKCkKK3sKKyAgICB1cGRhdGVSZXBvcnRlZFBvc2l0aW9u
KCk7CisgICAgbV9wbGF5YmFja1N0YXRlID0gTWVkaWFTZXNzaW9uUGxheWJhY2tTdGF0ZTo6UGF1
c2VkOworICAgIG5vdGlmeVBvc2l0aW9uU3RhdGVPYnNlcnZlcnMoKTsKK30KKwogI2lmIEVOQUJM
RShNRURJQV9TRVNTSU9OX0NPT1JESU5BVE9SKQogdm9pZCBNZWRpYVNlc3Npb246Om5vdGlmeVJl
YWR5U3RhdGVPYnNlcnZlcnMoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb24uaAppbmRleCBmYjFiMjEwZDA4YmZmMzYwYzA0MGRhZjhl
NDA1ZDc2MjljZjUwYjAyLi5iZDIwMmFmYzUzZDg3Yjg0ZjE4ZTU5MTYzOGIzZjdkNWUyMGZmZmIz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNl
c3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNl
c3Npb24uaApAQCAtNzEsNiArNzEsOCBAQCBwdWJsaWM6CiAgICAgc3RkOjpvcHRpb25hbDxNZWRp
YVBvc2l0aW9uU3RhdGU+IHBvc2l0aW9uU3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3Bvc2l0aW9u
U3RhdGU7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBjdXJy
ZW50UG9zaXRpb24oKSBjb25zdDsKKyAgICB2b2lkIHdpbGxCZWdpblBsYXliYWNrKCk7CisgICAg
dm9pZCB3aWxsUGF1c2VQbGF5YmFjaygpOwogCiAgICAgRG9jdW1lbnQqIGRvY3VtZW50KCkgY29u
c3Q7CiAgICAgCkBAIC0xMjAsNiArMTIyLDggQEAgcHJpdmF0ZToKIAogICAgIGNvbnN0IHZvaWQq
IGxvZ0lkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2xvZ0lkZW50aWZpZXI7IH0KIAorICAg
IHZvaWQgdXBkYXRlUmVwb3J0ZWRQb3NpdGlvbigpOworCiAgICAgdm9pZCBmb3JFYWNoT2JzZXJ2
ZXIoY29uc3QgRnVuY3Rpb248dm9pZChPYnNlcnZlciYpPiYpOwogICAgIHZvaWQgbm90aWZ5TWV0
YWRhdGFPYnNlcnZlcnMoKTsKICAgICB2b2lkIG5vdGlmeVBvc2l0aW9uU3RhdGVPYnNlcnZlcnMo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDI2NGE3YTg4
MjY2YTgzOWJmZDhmM2VjOTU0YjYyOTc5ZjE5YjE5M2YuLmJmNWQ0ZjMyNDExMTM5ZGQ2MTY0NjU3
MWJkN2M4OWEyMGRiMTgzMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcApAQCAtNzg4LDcgKzc4OCw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cGFyc2VBdHRy
aWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluCiAgICAgICAg
ICAgICByZW1vdmVCZWhhdmlvclJlc3RyaWN0aW9uc0FmdGVyRmlyc3RVc2VyR2VzdHVyZSgpOwog
ICAgIH0gZWxzZSBpZiAobmFtZSA9PSB0aXRsZUF0dHIpIHsKICAgICAgICAgaWYgKG1fbWVkaWFT
ZXNzaW9uKQotICAgICAgICAgICAgbV9tZWRpYVNlc3Npb24tPmNsaWVudENoYXJhY3RlcmlzdGlj
c0NoYW5nZWQoKTsKKyAgICAgICAgICAgIG1fbWVkaWFTZXNzaW9uLT5jbGllbnRDaGFyYWN0ZXJp
c3RpY3NDaGFuZ2VkKGZhbHNlKTsKICAgICB9CiAgICAgZWxzZQogICAgICAgICBIVE1MRWxlbWVu
dDo6cGFyc2VBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOwpAQCAtODkyLDcgKzg5Miw3IEBAIHZvaWQg
SFRNTE1lZGlhRWxlbWVudDo6cmVtb3ZlZEZyb21BbmNlc3RvcihSZW1vdmFsVHlwZSByZW1vdmFs
VHlwZSwgQ29udGFpbmVyTm9kCiAgICAgfQogCiAgICAgaWYgKG1fbWVkaWFTZXNzaW9uKQotICAg
ICAgICBtX21lZGlhU2Vzc2lvbi0+Y2xpZW50Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZCgpOworICAg
ICAgICBtX21lZGlhU2Vzc2lvbi0+Y2xpZW50Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZChmYWxzZSk7
CiAKICAgICBIVE1MRWxlbWVudDo6cmVtb3ZlZEZyb21BbmNlc3RvcihyZW1vdmFsVHlwZSwgb2xk
UGFyZW50T2ZSZW1vdmVkVHJlZSk7CiB9CkBAIC0yMzUxLDcgKzIzNTEsNyBAQCB2b2lkIEhUTUxN
ZWRpYUVsZW1lbnQ6Om1lZGlhTG9hZGluZ0ZhaWxlZChNZWRpYVBsYXllcjo6TmV0d29ya1N0YXRl
IGVycm9yKQogCiAgICAgbG9nTWVkaWFMb2FkUmVxdWVzdChkb2N1bWVudCgpLnBhZ2UoKSwgU3Ry
aW5nKCksIGNvbnZlcnRFbnVtZXJhdGlvblRvU3RyaW5nKGVycm9yKSwgZmFsc2UpOwogCi0gICAg
bWVkaWFTZXNzaW9uKCkuY2xpZW50Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZCgpOworICAgIG1lZGlh
U2Vzc2lvbigpLmNsaWVudENoYXJhY3RlcmlzdGljc0NoYW5nZWQoZmFsc2UpOwogI2lmIEVOQUJM
RShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCiAgICAgaWYgKCFtX2hhc1BsYXliYWNrVGFyZ2V0
QXZhaWxhYmlsaXR5TGlzdGVuZXJzKQogICAgICAgICBtZWRpYVNlc3Npb24oKS5zZXRBY3RpdmUo
ZmFsc2UpOwpAQCAtMjU3Niw3ICsyNTc2LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzZXRS
ZWFkeVN0YXRlKE1lZGlhUGxheWVyOjpSZWFkeVN0YXRlIHN0YXRlKQogICAgICAgICAgICAgc2No
ZWR1bGVVcGRhdGVNZWRpYVN0YXRlKCk7CiAjZW5kaWYKIAotICAgICAgICAgICAgbWVkaWFTZXNz
aW9uKCkuY2xpZW50Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZCgpOworICAgICAgICAgICAgbWVkaWFT
ZXNzaW9uKCkuY2xpZW50Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZChmYWxzZSk7CiAKICAgICAgICAg
ICAgIC8vIEFzIHRoZSBzcGVjIG9ubHkgbWVudGlvbmVzIEhBVkVfTUVUQURBVEEsIHJ1biB0aGUg
bGF0ZXIKICAgICAgICAgICAgIC8vIHN0ZXBzIGlmIHdlIGFyZSBtb3ZpbmcgdG8gYSBoaWdoZXIg
c3RhdGUuCkBAIC0zMzE4LDcgKzMzMTgsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmZpbmlz
aFNlZWsoKQogICAgICAgICBzY2hlZHVsZUV2ZW50KGV2ZW50TmFtZXMoKS5jYW5wbGF5RXZlbnQp
OwogCiAgICAgaWYgKG1fbWVkaWFTZXNzaW9uKQotICAgICAgICBtX21lZGlhU2Vzc2lvbi0+Y2xp
ZW50Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZCgpOworICAgICAgICBtX21lZGlhU2Vzc2lvbi0+Y2xp
ZW50Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZCh0cnVlKTsKIAogI2lmIEVOQUJMRShNRURJQV9TT1VS
Q0UpCiAgICAgaWYgKG1fbWVkaWFTb3VyY2UpCkBAIC01OTE2LDcgKzU5MTYsNyBAQCB2b2lkIEhU
TUxNZWRpYUVsZW1lbnQ6OmNsZWFyTWVkaWFQbGF5ZXIoKQogCiAgICAgcXVldWVUYXNrS2VlcGlu
Z09iamVjdEFsaXZlKCp0aGlzLCBUYXNrU291cmNlOjpNZWRpYUVsZW1lbnQsIFt0aGlzXSB7CiAg
ICAgICAgIGlmIChtX21lZGlhU2Vzc2lvbikgewotICAgICAgICAgICAgbV9tZWRpYVNlc3Npb24t
PmNsaWVudENoYXJhY3RlcmlzdGljc0NoYW5nZWQoKTsKKyAgICAgICAgICAgIG1fbWVkaWFTZXNz
aW9uLT5jbGllbnRDaGFyYWN0ZXJpc3RpY3NDaGFuZ2VkKGZhbHNlKTsKICAgICAgICAgICAgIG1f
bWVkaWFTZXNzaW9uLT5jYW5Qcm9kdWNlQXVkaW9DaGFuZ2VkKCk7CiAgICAgICAgIH0KICAgICB9
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDE3
MGIxZmU4NDJlNTNhMjYwOTI1OGI2NjY5NWNlNmM3MjZkOWI4MjYuLmU1MzllNTc3NGRkYWEzNjRh
NjU1ZjM4OWI3ZWNhZjQ4NDU0ZDExNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVs
ZW1lbnRTZXNzaW9uLmNwcApAQCAtMjM0LDYgKzIzNCwxMiBAQCBib29sIE1lZGlhRWxlbWVudFNl
c3Npb246OmNsaWVudFdpbGxCZWdpblBsYXliYWNrKCkKIAogICAgIG1fZWxlbWVudElzSGlkZGVu
QmVjYXVzZUl0V2FzUmVtb3ZlZEZyb21ET00gPSBmYWxzZTsKICAgICB1cGRhdGVDbGllbnREYXRh
QnVmZmVyaW5nKCk7CisKKyNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKKyAgICBpZiAoYXV0byog
c2Vzc2lvbiA9IG1lZGlhU2Vzc2lvbigpKQorICAgICAgICBzZXNzaW9uLT53aWxsQmVnaW5QbGF5
YmFjaygpOworI2VuZGlmCisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMjQzLDYgKzI0OSwx
MiBAQCBib29sIE1lZGlhRWxlbWVudFNlc3Npb246OmNsaWVudFdpbGxQYXVzZVBsYXliYWNrKCkK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgdXBkYXRlQ2xpZW50RGF0YUJ1ZmZlcmluZygp
OworCisjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCisgICAgaWYgKGF1dG8qIHNlc3Npb24gPSBt
ZWRpYVNlc3Npb24oKSkKKyAgICAgICAgc2Vzc2lvbi0+d2lsbFBhdXNlUGxheWJhY2soKTsKKyNl
bmRpZgorCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTExNzYsNiArMTE4OCw3IEBAIHN0ZDo6
b3B0aW9uYWw8Tm93UGxheWluZ0luZm8+IE1lZGlhRWxlbWVudFNlc3Npb246Om5vd1BsYXlpbmdJ
bmZvKCkgY29uc3QKICAgICBib29sIGFsbG93c05vd1BsYXlpbmdDb250cm9sc1Zpc2liaWxpdHkg
PSBwYWdlICYmICFwYWdlLT5pc1Zpc2libGVBbmRBY3RpdmUoKTsKICAgICBib29sIGlzUGxheWlu
ZyA9IHN0YXRlKCkgPT0gUGxhdGZvcm1NZWRpYVNlc3Npb246OlBsYXlpbmc7CiAgICAgYm9vbCBz
dXBwb3J0c1NlZWtpbmcgPSBtX2VsZW1lbnQuc3VwcG9ydHNTZWVraW5nKCk7CisgICAgZG91Ymxl
IHJhdGUgPSAxLjA7CiAgICAgZG91YmxlIGR1cmF0aW9uID0gc3VwcG9ydHNTZWVraW5nID8gbV9l
bGVtZW50LmR1cmF0aW9uKCkgOiBNZWRpYVBsYXllcjo6aW52YWxpZFRpbWUoKTsKICAgICBkb3Vi
bGUgY3VycmVudFRpbWUgPSBtX2VsZW1lbnQuY3VycmVudFRpbWUoKTsKICAgICBpZiAoIXN0ZDo6
aXNmaW5pdGUoY3VycmVudFRpbWUpIHx8ICFzdXBwb3J0c1NlZWtpbmcpCkBAIC0xMTgzLDYgKzEx
OTYsMTQgQEAgc3RkOjpvcHRpb25hbDxOb3dQbGF5aW5nSW5mbz4gTWVkaWFFbGVtZW50U2Vzc2lv
bjo6bm93UGxheWluZ0luZm8oKSBjb25zdAogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiAg
ICAgYXV0byogc2Vzc2lvbiA9IG1lZGlhU2Vzc2lvbigpOworICAgIGF1dG8gcG9zaXRpb25TdGF0
ZSA9IHNlc3Npb24gPyBzZXNzaW9uLT5wb3NpdGlvblN0YXRlKCkgOiBzdGQ6Om51bGxvcHQ7Cisg
ICAgYXV0byBjdXJyZW50UG9zaXRpb24gPSBzZXNzaW9uID8gc2Vzc2lvbi0+Y3VycmVudFBvc2l0
aW9uKCkgOiBzdGQ6Om51bGxvcHQ7CisgICAgaWYgKHBvc2l0aW9uU3RhdGUpIHsKKyAgICAgICAg
ZHVyYXRpb24gPSBwb3NpdGlvblN0YXRlLT5kdXJhdGlvbjsKKyAgICAgICAgcmF0ZSA9IHBvc2l0
aW9uU3RhdGUtPnBsYXliYWNrUmF0ZTsKKyAgICB9CisgICAgaWYgKGN1cnJlbnRQb3NpdGlvbikK
KyAgICAgICAgY3VycmVudFRpbWUgPSAqY3VycmVudFBvc2l0aW9uOwogICAgIGF1dG8qIHNlc3Np
b25NZXRhZGF0YSA9IHNlc3Npb24gPyBzZXNzaW9uLT5tZXRhZGF0YSgpIDogbnVsbHB0cjsKICAg
ICBpZiAoc2Vzc2lvbk1ldGFkYXRhKSB7CiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8Tm93UGxheWlu
Z0luZm9BcnR3b3JrPiBhcnR3b3JrOwpAQCAtMTE5MCwxMSArMTIxMSwxMSBAQCBzdGQ6Om9wdGlv
bmFsPE5vd1BsYXlpbmdJbmZvPiBNZWRpYUVsZW1lbnRTZXNzaW9uOjpub3dQbGF5aW5nSW5mbygp
IGNvbnN0CiAgICAgICAgICAgICBBU1NFUlQoc2Vzc2lvbk1ldGFkYXRhLT5hcnR3b3JrSW1hZ2Uo
KS0+ZGF0YSgpLCAiQW4gaW1hZ2UgbXVzdCBhbHdheXMgaGF2ZSBhc3NvY2lhdGVkIGRhdGEiKTsK
ICAgICAgICAgICAgIGFydHdvcmsgPSBOb3dQbGF5aW5nSW5mb0FydHdvcmsgeyBzZXNzaW9uTWV0
YWRhdGEtPmFydHdvcmtTcmMoKSwgc2Vzc2lvbk1ldGFkYXRhLT5hcnR3b3JrSW1hZ2UoKS0+bWlt
ZVR5cGUoKSwgc2Vzc2lvbk1ldGFkYXRhLT5hcnR3b3JrSW1hZ2UoKS0+ZGF0YSgpIH07CiAgICAg
ICAgIH0KLSAgICAgICAgcmV0dXJuIE5vd1BsYXlpbmdJbmZvIHsgc2Vzc2lvbk1ldGFkYXRhLT50
aXRsZSgpLCBzZXNzaW9uTWV0YWRhdGEtPmFydGlzdCgpLCBzZXNzaW9uTWV0YWRhdGEtPmFsYnVt
KCksIG1fZWxlbWVudC5zb3VyY2VBcHBsaWNhdGlvbklkZW50aWZpZXIoKSwgZHVyYXRpb24sIGN1
cnJlbnRUaW1lLCBzdXBwb3J0c1NlZWtpbmcsIG1fZWxlbWVudC5tZWRpYVVuaXF1ZUlkZW50aWZp
ZXIoKSwgaXNQbGF5aW5nLCBhbGxvd3NOb3dQbGF5aW5nQ29udHJvbHNWaXNpYmlsaXR5LCBXVEZN
b3ZlKGFydHdvcmspIH07CisgICAgICAgIHJldHVybiBOb3dQbGF5aW5nSW5mbyB7IHNlc3Npb25N
ZXRhZGF0YS0+dGl0bGUoKSwgc2Vzc2lvbk1ldGFkYXRhLT5hcnRpc3QoKSwgc2Vzc2lvbk1ldGFk
YXRhLT5hbGJ1bSgpLCBtX2VsZW1lbnQuc291cmNlQXBwbGljYXRpb25JZGVudGlmaWVyKCksIGR1
cmF0aW9uLCBjdXJyZW50VGltZSwgcmF0ZSwgc3VwcG9ydHNTZWVraW5nLCBtX2VsZW1lbnQubWVk
aWFVbmlxdWVJZGVudGlmaWVyKCksIGlzUGxheWluZywgYWxsb3dzTm93UGxheWluZ0NvbnRyb2xz
VmlzaWJpbGl0eSwgV1RGTW92ZShhcnR3b3JrKSB9OwogICAgIH0KICNlbmRpZgogCi0gICAgcmV0
dXJuIE5vd1BsYXlpbmdJbmZvIHsgbV9lbGVtZW50Lm1lZGlhU2Vzc2lvblRpdGxlKCksIGVtcHR5
U3RyaW5nKCksIGVtcHR5U3RyaW5nKCksIG1fZWxlbWVudC5zb3VyY2VBcHBsaWNhdGlvbklkZW50
aWZpZXIoKSwgZHVyYXRpb24sIGN1cnJlbnRUaW1lLCBzdXBwb3J0c1NlZWtpbmcsIG1fZWxlbWVu
dC5tZWRpYVVuaXF1ZUlkZW50aWZpZXIoKSwgaXNQbGF5aW5nLCBhbGxvd3NOb3dQbGF5aW5nQ29u
dHJvbHNWaXNpYmlsaXR5LCB7IH19OworICAgIHJldHVybiBOb3dQbGF5aW5nSW5mbyB7IG1fZWxl
bWVudC5tZWRpYVNlc3Npb25UaXRsZSgpLCBlbXB0eVN0cmluZygpLCBlbXB0eVN0cmluZygpLCBt
X2VsZW1lbnQuc291cmNlQXBwbGljYXRpb25JZGVudGlmaWVyKCksIGR1cmF0aW9uLCBjdXJyZW50
VGltZSwgcmF0ZSwgc3VwcG9ydHNTZWVraW5nLCBtX2VsZW1lbnQubWVkaWFVbmlxdWVJZGVudGlm
aWVyKCksIGlzUGxheWluZywgYWxsb3dzTm93UGxheWluZ0NvbnRyb2xzVmlzaWJpbGl0eSwgeyB9
IH07CiB9CiAKIHZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6dXBkYXRlTWVkaWFVc2FnZUlmQ2hh
bmdlZCgpCkBAIC0xMjk5LDE1ICsxMzIwLDMxIEBAIHZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6
ZW5zdXJlSXNPYnNlcnZpbmdNZWRpYVNlc3Npb24oKQogCiB2b2lkIE1lZGlhRWxlbWVudFNlc3Np
b246Om1ldGFkYXRhQ2hhbmdlZChjb25zdCBSZWZQdHI8TWVkaWFNZXRhZGF0YT4mKQogewotICAg
IGNsaWVudENoYXJhY3RlcmlzdGljc0NoYW5nZWQoKTsKKyAgICBjbGllbnRDaGFyYWN0ZXJpc3Rp
Y3NDaGFuZ2VkKGZhbHNlKTsKIH0KIAotdm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpwb3NpdGlv
blN0YXRlQ2hhbmdlZChjb25zdCBzdGQ6Om9wdGlvbmFsPE1lZGlhUG9zaXRpb25TdGF0ZT4mKSB7
IH0KK3ZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6cG9zaXRpb25TdGF0ZUNoYW5nZWQoY29uc3Qg
c3RkOjpvcHRpb25hbDxNZWRpYVBvc2l0aW9uU3RhdGU+JikKK3sKKyAgICBjbGllbnRDaGFyYWN0
ZXJpc3RpY3NDaGFuZ2VkKGZhbHNlKTsKK30KIAogdm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpw
bGF5YmFja1N0YXRlQ2hhbmdlZChNZWRpYVNlc3Npb25QbGF5YmFja1N0YXRlKSB7IH0KIAogdm9p
ZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjphY3Rpb25IYW5kbGVyc0NoYW5nZWQoKSB7IH0KIAordm9p
ZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpjbGllbnRDaGFyYWN0ZXJpc3RpY3NDaGFuZ2VkKGJvb2wg
cG9zaXRpb25DaGFuZ2VkKQoreworI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQorICAgIGF1dG8q
IHNlc3Npb24gPSBtZWRpYVNlc3Npb24oKTsKKyAgICBpZiAocG9zaXRpb25DaGFuZ2VkICYmIHNl
c3Npb24pIHsKKyAgICAgICAgYXV0byBwb3NpdGlvblN0YXRlID0gc2Vzc2lvbi0+cG9zaXRpb25T
dGF0ZSgpOworICAgICAgICBpZiAocG9zaXRpb25TdGF0ZSkKKyAgICAgICAgICAgIHNlc3Npb24t
PnNldFBvc2l0aW9uU3RhdGUoTWVkaWFQb3NpdGlvblN0YXRlIHsgcG9zaXRpb25TdGF0ZS0+ZHVy
YXRpb24sIHBvc2l0aW9uU3RhdGUtPnBsYXliYWNrUmF0ZSwgbV9lbGVtZW50LmN1cnJlbnRUaW1l
KCkgfSk7CisgICAgfQorI2VuZGlmCisgICAgUGxhdGZvcm1NZWRpYVNlc3Npb246OmNsaWVudENo
YXJhY3RlcmlzdGljc0NoYW5nZWQocG9zaXRpb25DaGFuZ2VkKTsKK30KKwogfQogCiAjZW5kaWYg
Ly8gRU5BQkxFKFZJREVPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVs
ZW1lbnRTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24u
aAppbmRleCAzZmFmMDNmZDNlMGNiNzg3NDc5MzA5N2E5NzIxOGZiNDI3MmQwMjk0Li5lMjE2YTg4
MmQzMWQ4MTM3OWY1YTIxNTdjMDAzZmU3MGQwMjBhZjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L01lZGlhRWxlbWVudFNlc3Npb24uaApAQCAtNzAsNiArNzAsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBjbGllbnRXaWxsQmVnaW5BdXRvcGxheWluZygpIGZpbmFsOwogICAgIGJvb2wgY2xpZW50V2ls
bEJlZ2luUGxheWJhY2soKSBmaW5hbDsKICAgICBib29sIGNsaWVudFdpbGxQYXVzZVBsYXliYWNr
KCkgZmluYWw7CisgICAgdm9pZCBjbGllbnRDaGFyYWN0ZXJpc3RpY3NDaGFuZ2VkKGJvb2wpIGZp
bmFsOwogCiAgICAgdm9pZCB2aXNpYmlsaXR5Q2hhbmdlZCgpOwogICAgIHZvaWQgaXNWaXNpYmxl
SW5WaWV3cG9ydENoYW5nZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL05vd1BsYXlpbmdJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9O
b3dQbGF5aW5nSW5mby5oCmluZGV4IDFkNjViYzQwM2FkODUyNDNjNjcyNWU3MDQ0OGQ2Y2RhZGNj
Y2NlMWIuLjQ1NmJiODczYTE5YzdkZTU1MTJlMGU1MmZjMmEyMmM3ZTEzNWUxOTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL05vd1BsYXlpbmdJbmZvLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vTm93UGxheWluZ0luZm8uaApAQCAtODEsNiAr
ODEsNyBAQCBzdHJ1Y3QgTm93UGxheWluZ0luZm8gewogICAgIFN0cmluZyBzb3VyY2VBcHBsaWNh
dGlvbklkZW50aWZpZXI7CiAgICAgZG91YmxlIGR1cmF0aW9uIHsgMCB9OwogICAgIGRvdWJsZSBj
dXJyZW50VGltZSB7IDAgfTsKKyAgICBkb3VibGUgcmF0ZSB7IDEuMCB9OwogICAgIGJvb2wgc3Vw
cG9ydHNTZWVraW5nIHsgZmFsc2UgfTsKICAgICBNZWRpYVVuaXF1ZUlkZW50aWZpZXIgdW5pcXVl
SWRlbnRpZmllcjsKICAgICBib29sIGlzUGxheWluZyB7IGZhbHNlIH07CkBAIC05NSw2ICs5Niw3
IEBAIHN0cnVjdCBOb3dQbGF5aW5nSW5mbyB7CiAgICAgICAgICAgICAmJiBzb3VyY2VBcHBsaWNh
dGlvbklkZW50aWZpZXIgPT0gb3RoZXIuc291cmNlQXBwbGljYXRpb25JZGVudGlmaWVyCiAgICAg
ICAgICAgICAmJiBkdXJhdGlvbiA9PSBvdGhlci5kdXJhdGlvbgogICAgICAgICAgICAgJiYgY3Vy
cmVudFRpbWUgPT0gb3RoZXIuY3VycmVudFRpbWUKKyAgICAgICAgICAgICYmIHJhdGUgPT0gb3Ro
ZXIucmF0ZQogICAgICAgICAgICAgJiYgc3VwcG9ydHNTZWVraW5nID09IG90aGVyLnN1cHBvcnRz
U2Vla2luZwogICAgICAgICAgICAgJiYgdW5pcXVlSWRlbnRpZmllciA9PSBvdGhlci51bmlxdWVJ
ZGVudGlmaWVyCiAgICAgICAgICAgICAmJiBpc1BsYXlpbmcgPT0gb3RoZXIuaXNQbGF5aW5nCkBA
IC0xMTMsNyArMTE1LDcgQEAgc3RydWN0IE5vd1BsYXlpbmdJbmZvIHsKIAogdGVtcGxhdGU8Y2xh
c3MgRW5jb2Rlcj4gaW5saW5lIHZvaWQgTm93UGxheWluZ0luZm86OmVuY29kZShFbmNvZGVyJiBl
bmNvZGVyKSBjb25zdAogewotICAgIGVuY29kZXIgPDwgdGl0bGUgPDwgYXJ0aXN0IDw8IGFsYnVt
IDw8IHNvdXJjZUFwcGxpY2F0aW9uSWRlbnRpZmllciA8PCBkdXJhdGlvbiA8PCBjdXJyZW50VGlt
ZSA8PCBzdXBwb3J0c1NlZWtpbmcgPDwgdW5pcXVlSWRlbnRpZmllciA8PCBpc1BsYXlpbmcgPDwg
YWxsb3dzTm93UGxheWluZ0NvbnRyb2xzVmlzaWJpbGl0eSA8PCBhcnR3b3JrOworICAgIGVuY29k
ZXIgPDwgdGl0bGUgPDwgYXJ0aXN0IDw8IGFsYnVtIDw8IHNvdXJjZUFwcGxpY2F0aW9uSWRlbnRp
ZmllciA8PCBkdXJhdGlvbiA8PCBjdXJyZW50VGltZSA8PCByYXRlIDw8IHN1cHBvcnRzU2Vla2lu
ZyA8PCB1bmlxdWVJZGVudGlmaWVyIDw8IGlzUGxheWluZyA8PCBhbGxvd3NOb3dQbGF5aW5nQ29u
dHJvbHNWaXNpYmlsaXR5IDw8IGFydHdvcms7CiB9CiAKIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+
IGlubGluZSBzdGQ6Om9wdGlvbmFsPE5vd1BsYXlpbmdJbmZvPiBOb3dQbGF5aW5nSW5mbzo6ZGVj
b2RlKERlY29kZXImIGRlY29kZXIpCkBAIC0xNDIsNiArMTQ0LDEwIEBAIHRlbXBsYXRlPGNsYXNz
IERlY29kZXI+IGlubGluZSBzdGQ6Om9wdGlvbmFsPE5vd1BsYXlpbmdJbmZvPiBOb3dQbGF5aW5n
SW5mbzo6ZGVjCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShjdXJyZW50VGltZSkpCiAgICAgICAg
IHJldHVybiB7IH07CiAKKyAgICBkb3VibGUgcmF0ZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KHJhdGUpKQorICAgICAgICByZXR1cm4geyB9OworCiAgICAgYm9vbCBzdXBwb3J0c1NlZWtpbmc7
CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShzdXBwb3J0c1NlZWtpbmcpKQogICAgICAgICByZXR1
cm4geyB9OwpAQCAtMTYyLDcgKzE2OCw3IEBAIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IGlubGlu
ZSBzdGQ6Om9wdGlvbmFsPE5vd1BsYXlpbmdJbmZvPiBOb3dQbGF5aW5nSW5mbzo6ZGVjCiAgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShhcnR3b3JrKSkKICAgICAgICAgcmV0dXJuIHsgfTsKIAotICAg
IHJldHVybiBOb3dQbGF5aW5nSW5mbyB7IFdURk1vdmUodGl0bGUpLCBXVEZNb3ZlKGFydGlzdCks
IFdURk1vdmUoYWxidW0pLCBXVEZNb3ZlKHNvdXJjZUFwcGxpY2F0aW9uSWRlbnRpZmllciksIGR1
cmF0aW9uLCBjdXJyZW50VGltZSwgc3VwcG9ydHNTZWVraW5nLCB1bmlxdWVJZGVudGlmaWVyLCBp
c1BsYXlpbmcsIGFsbG93c05vd1BsYXlpbmdDb250cm9sc1Zpc2liaWxpdHksIFdURk1vdmUoYXJ0
d29yaykgfTsKKyAgICByZXR1cm4gTm93UGxheWluZ0luZm8geyBXVEZNb3ZlKHRpdGxlKSwgV1RG
TW92ZShhcnRpc3QpLCBXVEZNb3ZlKGFsYnVtKSwgV1RGTW92ZShzb3VyY2VBcHBsaWNhdGlvbklk
ZW50aWZpZXIpLCBkdXJhdGlvbiwgY3VycmVudFRpbWUsIHJhdGUsIHN1cHBvcnRzU2Vla2luZywg
dW5pcXVlSWRlbnRpZmllciwgaXNQbGF5aW5nLCBhbGxvd3NOb3dQbGF5aW5nQ29udHJvbHNWaXNp
YmlsaXR5LCBXVEZNb3ZlKGFydHdvcmspIH07CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFT
ZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFT
ZXNzaW9uLmNwcAppbmRleCBhZmNlYzkxYmQxZjJiMGIwYmU2ZjIwYTAzOWFiYjE1YWFhZGIxNDRk
Li43ODZjZjQyNGEzZGI3MzBiNTYwZTYyMDgyMzNhY2QyMTkxMGUxNWY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uY3Bw
CkBAIC0zNzUsOSArMzc1LDkgQEAgdm9pZCBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6Y2FuUHJvZHVj
ZUF1ZGlvQ2hhbmdlZCgpCiAgICAgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRN
YW5hZ2VyKCkuc2Vzc2lvbkNhblByb2R1Y2VBdWRpb0NoYW5nZWQoKTsKIH0KIAotdm9pZCBQbGF0
Zm9ybU1lZGlhU2Vzc2lvbjo6Y2xpZW50Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZCgpCit2b2lkIFBs
YXRmb3JtTWVkaWFTZXNzaW9uOjpjbGllbnRDaGFyYWN0ZXJpc3RpY3NDaGFuZ2VkKGJvb2wgcG9z
aXRpb25DaGFuZ2VkKQogewotICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVk
TWFuYWdlcigpLmNsaWVudENoYXJhY3RlcmlzdGljc0NoYW5nZWQoKnRoaXMpOworICAgIFBsYXRm
b3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcigpLmNsaWVudENoYXJhY3Rlcmlz
dGljc0NoYW5nZWQoKnRoaXMsIHBvc2l0aW9uQ2hhbmdlZCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUg
Ym9vbCBpc1BsYXlpbmdBdWRpbyhQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6TWVkaWFUeXBlIG1lZGlh
VHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3Jt
TWVkaWFTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1l
ZGlhU2Vzc2lvbi5oCmluZGV4IDViNTI5ZTAxYWMxN2EwNjU4M2Q0YTk2NWQ4MTZlY2UyMTMwZjdj
NTcuLmI0Y2ZmZDU4ODNkNzIzNDkxMGMxZjhkZmEzNmFkMjRkMDY3OGI3NGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb24uaApA
QCAtMTAyLDcgKzEwMiw3IEBAIHB1YmxpYzoKICAgICAgICAgTWF5UmVzdW1lUGxheWluZyA9IDEg
PDwgMCwKICAgICB9OwogCi0gICAgdm9pZCBjbGllbnRDaGFyYWN0ZXJpc3RpY3NDaGFuZ2VkKCk7
CisgICAgdmlydHVhbCB2b2lkIGNsaWVudENoYXJhY3RlcmlzdGljc0NoYW5nZWQoYm9vbCk7CiAK
ICAgICB2b2lkIGJlZ2luSW50ZXJydXB0aW9uKEludGVycnVwdGlvblR5cGUpOwogICAgIHZvaWQg
ZW5kSW50ZXJydXB0aW9uKEVuZEludGVycnVwdGlvbkZsYWdzKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2Vy
LmgKaW5kZXggMTk5Y2NhMGEwODkwNDhhYTAwY2QyMzliY2JhNGQ4Y2ZkNjAzNTdjZi4uNzllYTFl
ZTZjMDQ1ZjIxMDZmNWM2YmYxYjkzNDU4NWY0YTQwZjQyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2Vy
LmgKQEAgLTEzMSw3ICsxMzEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNlc3Npb25X
aWxsRW5kUGxheWJhY2soUGxhdGZvcm1NZWRpYVNlc3Npb24mLCBEZWxheUNhbGxpbmdVcGRhdGVO
b3dQbGF5aW5nKTsKICAgICB2aXJ0dWFsIHZvaWQgc2Vzc2lvblN0YXRlQ2hhbmdlZChQbGF0Zm9y
bU1lZGlhU2Vzc2lvbiYpOwogICAgIHZpcnR1YWwgdm9pZCBzZXNzaW9uRGlkRW5kUmVtb3RlU2Ny
dWJiaW5nKFBsYXRmb3JtTWVkaWFTZXNzaW9uJikgeyB9OwotICAgIHZpcnR1YWwgdm9pZCBjbGll
bnRDaGFyYWN0ZXJpc3RpY3NDaGFuZ2VkKFBsYXRmb3JtTWVkaWFTZXNzaW9uJikgeyB9CisgICAg
dmlydHVhbCB2b2lkIGNsaWVudENoYXJhY3RlcmlzdGljc0NoYW5nZWQoUGxhdGZvcm1NZWRpYVNl
c3Npb24mLCBib29sKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2Vzc2lvbkNhblByb2R1Y2VBdWRp
b0NoYW5nZWQoKTsKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2Eu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFn
ZXJDb2NvYS5oCmluZGV4IDUzZmVkNTIwNmYxM2VkYTI2MzJhNTFmMmQ2MGI5MGY4NjJmOGQ5YjEu
LjEzMzQzZWI4MTFjMmVhMDU2OTk5NjM5ZjRkMTk3M2IwMzBkZDNjODIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2Nv
YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lv
bk1hbmFnZXJDb2NvYS5oCkBAIC04Nyw3ICs4Nyw3IEBAIHByb3RlY3RlZDoKICAgICBib29sIHNl
c3Npb25XaWxsQmVnaW5QbGF5YmFjayhQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYpIG92ZXJyaWRlOwog
ICAgIHZvaWQgc2Vzc2lvbldpbGxFbmRQbGF5YmFjayhQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYsIERl
bGF5Q2FsbGluZ1VwZGF0ZU5vd1BsYXlpbmcpIG92ZXJyaWRlOwogICAgIHZvaWQgc2Vzc2lvbkRp
ZEVuZFJlbW90ZVNjcnViYmluZyhQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYpIGZpbmFsOwotICAgIHZv
aWQgY2xpZW50Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYpIGZp
bmFsOworICAgIHZvaWQgY2xpZW50Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZChQbGF0Zm9ybU1lZGlh
U2Vzc2lvbiYsIGJvb2wpIGZpbmFsOwogICAgIHZvaWQgc2Vzc2lvbkNhblByb2R1Y2VBdWRpb0No
YW5nZWQoKSBmaW5hbDsKIAogICAgIHZpcnR1YWwgdm9pZCBwcm92aWRlUHJlc2VudGluZ0FwcGxp
Y2F0aW9uUElESWZOZWNlc3NhcnkoKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2NvY29hL01lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5tbQpp
bmRleCAxZjIyMDkwZDI0NzJjMTRmZjIzMmQ1NDE2ZDkxY2NlM2I5ZWRiMzYxLi4xOWMwN2IzODBl
YjNjNTdlZmMxNzEyMmY2MGE0YjExMDk0ZTZjZjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9jb2NvYS9NZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2EubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vY29jb2EvTWVkaWFTZXNzaW9uTWFuYWdlckNv
Y29hLm1tCkBAIC0zMDksNyArMzA5LDcgQEAgdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E6
OnNlc3Npb25XaWxsRW5kUGxheWJhY2soUGxhdGZvcm1NZWRpYVNlc3Npb24mIHNlc3MKICAgICB9
CiB9CiAKLXZvaWQgTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hOjpjbGllbnRDaGFyYWN0ZXJpc3Rp
Y3NDaGFuZ2VkKFBsYXRmb3JtTWVkaWFTZXNzaW9uJiBzZXNzaW9uKQordm9pZCBNZWRpYVNlc3Np
b25NYW5hZ2VyQ29jb2E6OmNsaWVudENoYXJhY3RlcmlzdGljc0NoYW5nZWQoUGxhdGZvcm1NZWRp
YVNlc3Npb24mIHNlc3Npb24sIGJvb2wpCiB7CiAgICAgQUxXQVlTX0xPRyhMT0dJREVOVElGSUVS
LCBzZXNzaW9uLmxvZ0lkZW50aWZpZXIoKSk7CiAgICAgc2NoZWR1bGVTZXNzaW9uU3RhdHVzVXBk
YXRlKCk7CkBAIC0zNzYsNyArMzc2LDcgQEAgdm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyQ29jb2E6
OnNldE5vd1BsYXlpbmdJbmZvKGJvb2wgc2V0QXNOb3dQbGF5aW5nQXBwbGljYXRpb24KICAgICAg
ICAgQ0ZEaWN0aW9uYXJ5U2V0VmFsdWUoaW5mby5nZXQoKSwga01STWVkaWFSZW1vdGVOb3dQbGF5
aW5nSW5mb0R1cmF0aW9uLCBjZkR1cmF0aW9uLmdldCgpKTsKICAgICB9CiAKLSAgICBkb3VibGUg
cmF0ZSA9IG5vd1BsYXlpbmdJbmZvLmlzUGxheWluZyA/IDEgOiAwOworICAgIGRvdWJsZSByYXRl
ID0gbm93UGxheWluZ0luZm8uaXNQbGF5aW5nID8gbm93UGxheWluZ0luZm8ucmF0ZSA6IDA7CiAg
ICAgYXV0byBjZlJhdGUgPSBhZG9wdENGKENGTnVtYmVyQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1
bHQsIGtDRk51bWJlckRvdWJsZVR5cGUsICZyYXRlKSk7CiAgICAgQ0ZEaWN0aW9uYXJ5U2V0VmFs
dWUoaW5mby5nZXQoKSwga01STWVkaWFSZW1vdGVOb3dQbGF5aW5nSW5mb1BsYXliYWNrUmF0ZSwg
Y2ZSYXRlLmdldCgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVk
aW8vZ2xpYi9NZWRpYVNlc3Npb25NYW5hZ2VyR0xpYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9hdWRpby9nbGliL01lZGlhU2Vzc2lvbk1hbmFnZXJHTGliLmNwcAppbmRleCAzNjQzMmI0
M2FlNWM3MTE5NmE2NmY4NDg5NTliNzNlNmUyOGIwNTcxLi41MDQ5ZmRhYzMzMDVlMTVkYTBmMzhk
MGI1NzZmYTg3ODZjNzMwYjUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9nbGliL01lZGlhU2Vzc2lvbk1hbmFnZXJHTGliLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9hdWRpby9nbGliL01lZGlhU2Vzc2lvbk1hbmFnZXJHTGliLmNwcApAQCAtMjI3
LDcgKzIyNyw3IEBAIHZvaWQgTWVkaWFTZXNzaW9uTWFuYWdlckdMaWI6OnNlc3Npb25TdGF0ZUNo
YW5nZWQoUGxhdGZvcm1NZWRpYVNlc3Npb24mIHBsYXRmb3JtCiAgICAgc2Vzc2lvbi0+cGxheWJh
Y2tTdGF0dXNDaGFuZ2VkKHBsYXRmb3JtU2Vzc2lvbik7CiB9CiAKLXZvaWQgTWVkaWFTZXNzaW9u
TWFuYWdlckdMaWI6OmNsaWVudENoYXJhY3RlcmlzdGljc0NoYW5nZWQoUGxhdGZvcm1NZWRpYVNl
c3Npb24mIHBsYXRmb3JtU2Vzc2lvbikKK3ZvaWQgTWVkaWFTZXNzaW9uTWFuYWdlckdMaWI6OmNs
aWVudENoYXJhY3RlcmlzdGljc0NoYW5nZWQoUGxhdGZvcm1NZWRpYVNlc3Npb24mIHBsYXRmb3Jt
U2Vzc2lvbiwgYm9vbCkKIHsKICAgICBBTFdBWVNfTE9HKExPR0lERU5USUZJRVIsIHBsYXRmb3Jt
U2Vzc2lvbi5sb2dJZGVudGlmaWVyKCkpOwogICAgIGlmIChtX2lzU2Vla2luZykgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vZ2xpYi9NZWRpYVNlc3Npb25NYW5h
Z2VyR0xpYi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vZ2xpYi9NZWRpYVNlc3Np
b25NYW5hZ2VyR0xpYi5oCmluZGV4IDgwOTBiNzZiMjEwYWZhZGE5ZjhjN2Q0ZTg1N2U2ODkwMDZh
YWZkMTcuLmUxMzgxNjE1NDJhMzdhOWZhN2I1Nzg4NmMwNmNkZmQ3MjQ4ZDM3NDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2dsaWIvTWVkaWFTZXNzaW9uTWFuYWdl
ckdMaWIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9nbGliL01lZGlhU2Vz
c2lvbk1hbmFnZXJHTGliLmgKQEAgLTY1LDcgKzY1LDcgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQg
c2Vzc2lvbldpbGxFbmRQbGF5YmFjayhQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYsIERlbGF5Q2FsbGlu
Z1VwZGF0ZU5vd1BsYXlpbmcpIG92ZXJyaWRlOwogICAgIHZvaWQgc2Vzc2lvblN0YXRlQ2hhbmdl
ZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYpIG92ZXJyaWRlOwogICAgIHZvaWQgc2Vzc2lvbkRpZEVu
ZFJlbW90ZVNjcnViYmluZyhQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYpIGZpbmFsOwotICAgIHZvaWQg
Y2xpZW50Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZChQbGF0Zm9ybU1lZGlhU2Vzc2lvbiYpIGZpbmFs
OworICAgIHZvaWQgY2xpZW50Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZChQbGF0Zm9ybU1lZGlhU2Vz
c2lvbiYsIGJvb2wpIGZpbmFsOwogICAgIHZvaWQgc2Vzc2lvbkNhblByb2R1Y2VBdWRpb0NoYW5n
ZWQoKSBmaW5hbDsKIAogICAgIHZpcnR1YWwgdm9pZCBwcm92aWRlUHJlc2VudGluZ0FwcGxpY2F0
aW9uUElESWZOZWNlc3NhcnkoKSB7IH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>