<?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>173777</bug_id>
          
          <creation_ts>2017-06-23 10:55:56 -0700</creation_ts>
          <short_desc>[WK2] Support -[WebAVPlayerController setMuted:]</short_desc>
          <delta_ts>2017-06-23 12:32:24 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jeremyj-wk</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1322347</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-06-23 10:55:56 -0700</bug_when>
    <thetext>[WK2] Support -[WebAVPlayerController setMuted:]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322349</commentid>
    <comment_count>1</comment_count>
      <attachid>313728</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-06-23 11:02:35 -0700</bug_when>
    <thetext>Created attachment 313728
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322351</commentid>
    <comment_count>2</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-06-23 11:05:33 -0700</bug_when>
    <thetext>&lt;rdar://problem/32911535&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322364</commentid>
    <comment_count>3</comment_count>
      <attachid>313732</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2017-06-23 11:41:50 -0700</bug_when>
    <thetext>Created attachment 313732
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322375</commentid>
    <comment_count>4</comment_count>
      <attachid>313732</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-23 12:32:22 -0700</bug_when>
    <thetext>Comment on attachment 313732
Patch for landing

Clearing flags on attachment: 313732

Committed r218757: &lt;http://trac.webkit.org/changeset/218757&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322376</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-23 12:32:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313728</attachid>
            <date>2017-06-23 11:02:35 -0700</date>
            <delta_ts>2017-06-23 11:41:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173777-20170623110235.patch</filename>
            <type>text/plain</type>
            <size>42419</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4NjM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGRhNTJiOWY0ZWVkNjE2
NDVlODFmYWM5NGEwNmE0ZjczYTg5MTk0My4uNWRmZjA5ZmIyOTM5NDM4M2IxYjJjNTBkN2NhYzkz
ODI4OGFiNmUxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE3LTA2LTIzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtXSzJdIFN1cHBvcnQgLVtX
ZWJBVlBsYXllckNvbnRyb2xsZXIgc2V0TXV0ZWQ6XQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNzc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSGF2ZSAtW1dlYkFWUGxheWVyQ29udHJvbGxlciBzZXRN
dXRlZDpdIHBhc3MgdGhlIHJlcXVlc3QgdG8gaXRzIGRlbGVnYXRlICh0aGUgbW9kZWwpCisgICAg
ICAgIHJhdGhlciB0aGFuIGp1c3Qgc3RvcmluZyB0aGUgdmFsdWUuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25Nb2RlbC5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lmg6CisgICAgICAgICog
cGxhdGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQubW06Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6dG9n
Z2xlTXV0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRp
YUVsZW1lbnQ6OnNldE11dGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvV2ViQVZQbGF5ZXJD
b250cm9sbGVyLmg6CisgICAgICAgICogcGxhdGZvcm0vaW9zL1dlYkFWUGxheWVyQ29udHJvbGxl
ci5tbToKKyAgICAgICAgKC1bV2ViQVZQbGF5ZXJDb250cm9sbGVyIGlzTXV0ZWRdKToKKyAgICAg
ICAgKC1bV2ViQVZQbGF5ZXJDb250cm9sbGVyIHNldE11dGVkOl0pOgorCiAyMDE3LTA2LTIyICBK
ZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIy
MTcyMjMpOiBbaU9TXSBWaWRlbyBrZWVwcyBwbGF5aW5nIGFmdGVyIGFwcGxpY2F0aW9uIGlzIGJh
Y2tncm91bmRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDZiNGJlMzM1MDY0OGY1MjRjN2ZjN2E4MzVjZWQyNmI2
MmYyYTRjMzEuLjgwNjg2NTk4OTgwZjVhNmU0NzZkM2UzNzNhMWFhMTg5YzIzNzE3NzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw5NCBAQAorMjAxNy0wNi0yMyAgSmVyIE5vYmxlICA8amVyLm5vYmxl
QGFwcGxlLmNvbT4KKworICAgICAgICBbV0syXSBTdXBwb3J0IC1bV2ViQVZQbGF5ZXJDb250cm9s
bGVyIHNldE11dGVkOl0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3Mzc3NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBhIFNldE11dGVkIG1lc3NhZ2UgdG8gV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdl
ci4KKworICAgICAgICBEcml2ZS1ieSByZWZhY3RvcmluZzogQmVjYXVzZSB0aGUgbmV3IHNldE11
dGVkKCkgbWV0aG9kIGNvbmZsaWN0cyB3aXRoIHRoZSBleGlzdGluZyBzZXRNdXRlZCgpCisgICAg
ICAgIG5vdGlmaWNhdGlvbiwgZG8gYSBnaWFudCByZW5hbWUgb2YgdGhlIG5vdGlmaWNpYXRpb24g
bWV0aG9kcyBmcm9tIHNldChWYWx1ZSkgLT4gKHZhbHVlKUNoYW5nZWQuCisKKyAgICAgICAgKiBV
SVByb2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tZXNzYWdl
cy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdl
clByb3h5Lm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRl
eHQ6OnNldE11dGVkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxD
b250ZXh0OjpwbGF5YmFja1N0YXJ0ZWRUaW1lQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6ZHVyYXRpb25DaGFuZ2VkKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpjdXJyZW50VGltZUNoYW5n
ZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OmJ1
ZmZlcmVkVGltZUNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25N
b2RlbENvbnRleHQ6OnJhdGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tT
ZXNzaW9uTW9kZWxDb250ZXh0OjpzZWVrYWJsZVJhbmdlc0NoYW5nZWQpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OmNhblBsYXlGYXN0UmV2ZXJzZUNo
YW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6
OmF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6bGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9u
c0NoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRl
eHQ6OmF1ZGlvTWVkaWFTZWxlY3Rpb25JbmRleENoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OmxlZ2libGVNZWRpYVNlbGVjdGlvbkluZGV4
Q2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4
dDo6ZXh0ZXJuYWxQbGF5YmFja0NoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFj
a1Nlc3Npb25Nb2RlbENvbnRleHQ6OndpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkQ2hhbmdl
ZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6bXV0
ZWRDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclBy
b3h5OjpjdXJyZW50VGltZUNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nl
c3Npb25NYW5hZ2VyUHJveHk6OmJ1ZmZlcmVkVGltZUNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNlZWthYmxlUmFuZ2VzVmVjdG9yQ2hh
bmdlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6
Y2FuUGxheUZhc3RSZXZlcnNlQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNr
U2Vzc2lvbk1hbmFnZXJQcm94eTo6YXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpsZWdpYmxl
TWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXli
YWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6YXVkaW9NZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdlZCk6
CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6bGVnaWJs
ZU1lZGlhU2VsZWN0aW9uSW5kZXhDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJh
Y2tTZXNzaW9uTWFuYWdlclByb3h5OjpleHRlcm5hbFBsYXliYWNrUHJvcGVydGllc0NoYW5nZWQp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OndpcmVs
ZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBs
YXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6bXV0ZWRDaGFuZ2VkKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpkdXJhdGlvbkNoYW5nZWQpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnBsYXliYWNrU3Rh
cnRlZFRpbWVDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTWFu
YWdlclByb3h5OjpyYXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vz
c2lvbk1hbmFnZXJQcm94eTo6c2V0TXV0ZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFj
a1Nlc3Npb25NYW5hZ2VyUHJveHk6OmNvbnRyb2xzTWFuYWdlckludGVyZmFjZSk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6c2V0UGxheWJhY2tTdGFy
dGVkVGltZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1v
ZGVsQ29udGV4dDo6c2V0RHVyYXRpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQ
bGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnNldEN1cnJlbnRUaW1lKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpzZXRCdWZmZXJl
ZFRpbWUpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25Nb2Rl
bENvbnRleHQ6OnNldFJhdGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFj
a1Nlc3Npb25Nb2RlbENvbnRleHQ6OnNldFNlZWthYmxlUmFuZ2VzKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpzZXRDYW5QbGF5RmFz
dFJldmVyc2UpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25N
b2RlbENvbnRleHQ6OnNldEF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpzZXRMZWdpYmxl
TWVkaWFTZWxlY3Rpb25PcHRpb25zKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGxh
eWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpzZXRBdWRpb01lZGlhU2VsZWN0aW9uSW5kZXgpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6
OnNldExlZ2libGVNZWRpYVNlbGVjdGlvbkluZGV4KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktp
dDo6V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpzZXRFeHRlcm5hbFBsYXliYWNrKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0
OjpzZXRXaXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6c2V0Q3VycmVudFRpbWUpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6
OnNldEJ1ZmZlcmVkVGltZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNr
U2Vzc2lvbk1hbmFnZXJQcm94eTo6c2V0U2Vla2FibGVSYW5nZXNWZWN0b3IpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNldENhblBs
YXlGYXN0UmV2ZXJzZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vz
c2lvbk1hbmFnZXJQcm94eTo6c2V0QXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnMpOiBEZWxldGVk
LgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNldExl
Z2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnMpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpX
ZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNldEF1ZGlvTWVkaWFTZWxlY3Rpb25JbmRl
eCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQ
cm94eTo6c2V0TGVnaWJsZU1lZGlhU2VsZWN0aW9uSW5kZXgpOiBEZWxldGVkLgorICAgICAgICAo
V2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNldEV4dGVybmFsUGxheWJh
Y2tQcm9wZXJ0aWVzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNz
aW9uTWFuYWdlclByb3h5OjpzZXRXaXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6c2V0
RHVyYXRpb24pOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25N
YW5hZ2VyUHJveHk6OnNldFBsYXliYWNrU3RhcnRlZFRpbWUpOiBEZWxldGVkLgorICAgICAgICAo
V2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNldFJhdGUpOiBEZWxldGVk
LgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlci5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlci5t
ZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lv
bk1hbmFnZXIubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6
OmR1cmF0aW9uQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1h
bmFnZXI6OmN1cnJlbnRUaW1lQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNr
U2Vzc2lvbk1hbmFnZXI6OmJ1ZmZlcmVkVGltZUNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjpwbGF5YmFja1N0YXJ0ZWRUaW1lQ2hhbmdlZCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OnJhdGVDaGFuZ2VkKToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6c2Vla2FibGVSYW5n
ZXNDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6
Y2FuUGxheUZhc3RSZXZlcnNlQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNr
U2Vzc2lvbk1hbmFnZXI6OmF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OmxlZ2libGVNZWRpYVNlbGVj
dGlvbk9wdGlvbnNDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9u
TWFuYWdlcjo6ZXh0ZXJuYWxQbGF5YmFja0NoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
bGF5YmFja1Nlc3Npb25NYW5hZ2VyOjphdWRpb01lZGlhU2VsZWN0aW9uSW5kZXhDaGFuZ2VkKToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6bGVnaWJsZU1lZGlh
U2VsZWN0aW9uSW5kZXhDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNz
aW9uTWFuYWdlcjo6d2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWRDaGFuZ2VkKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6bXV0ZWRDaGFuZ2VkKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6c2V0TXV0ZWQpOgorCiAy
MDE3LTA2LTIxICBKZXJlbXkgSm9uZXMgIDxqZXJlbXlqQGFwcGxlLmNvbT4KIAogICAgICAgICBE
b24ndCBjbGVhciBhdWRpbyBtdXRlIHdoZW4gbXV0aW5nIGNhcHR1cmUuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25Nb2RlbC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9kZWwuaApp
bmRleCAyZTQwMzAyMzcyYTljYzRiODAzY2QyMDAxNDBhNDgzZmI5YTY0ZWFiLi4wNmQ1M2YwZjc3
NjkzNzc1YWQ0ODYxYzIyMzA0YWM5MzgwMDljODIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25Nb2RlbC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsLmgKQEAgLTU3LDYg
KzU3LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZWxlY3RMZWdpYmxlTWVkaWFPcHRp
b24odWludDY0X3QgaW5kZXgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdG9nZ2xlUGljdHVyZUlu
UGljdHVyZSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdG9nZ2xlTXV0ZWQoKSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIHNldE11dGVkKGJvb2wpID0gMDsKIAogICAgIGVudW0gRXh0ZXJuYWxQbGF5
YmFja1RhcmdldFR5cGUgeyBUYXJnZXRUeXBlTm9uZSwgVGFyZ2V0VHlwZUFpclBsYXksIFRhcmdl
dFR5cGVUVk91dCB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2Nv
YS9XZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQuaAppbmRl
eCA3M2FhMzdmYmE1M2YwMjA4ZTVlZWQ5ZDkyYTY4ZGZhYWIyZTU1ZTdkLi5hZDg5NTEzNzU4ODRk
NmM4MWE3ZjIzODk2ZDhjNGY2NTMzOTAzOGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVk
aWFFbGVtZW50LmgKQEAgLTcxLDYgKzcxLDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgc2VsZWN0TGVnaWJsZU1lZGlhT3B0aW9uKHVpbnQ2NF90IGluZGV4KSBmaW5hbDsKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHRvZ2dsZVBpY3R1cmVJblBpY3R1cmUoKSBmaW5hbDsKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHRvZ2dsZU11dGVkKCkgZmluYWw7CisgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBzZXRNdXRlZChib29sKSBmaW5hbDsKIAogICAgIGRvdWJsZSBkdXJhdGlvbigp
IGNvbnN0IGZpbmFsOwogICAgIGRvdWJsZSBjdXJyZW50VGltZSgpIGNvbnN0IGZpbmFsOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9u
TW9kZWxNZWRpYUVsZW1lbnQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9XZWJQ
bGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5tbQppbmRleCBjMzQ2NzIwODhlZTQ4NzMy
OGQ0ZTMyMTlkY2IxMTAxNTgyZDJiMmMzLi5mNzg0Y2M4ODIzMTVkY2VmZDI3N2RkMjc1Y2Q0Nzk5
MTIzMjExZDg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9XZWJQ
bGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5tbQpAQCAt
MjgxLDggKzI4MSwxMyBAQCB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50
Ojp0b2dnbGVQaWN0dXJlSW5QaWN0dXJlKCkKIAogdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2Rl
bE1lZGlhRWxlbWVudDo6dG9nZ2xlTXV0ZWQoKQogeworICAgIHNldE11dGVkKCFpc011dGVkKCkp
OworfQorCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50OjpzZXRNdXRl
ZChib29sIG11dGVkKQorewogICAgIGlmIChtX21lZGlhRWxlbWVudCkKLSAgICAgICAgbV9tZWRp
YUVsZW1lbnQtPnNldE11dGVkKCFtX21lZGlhRWxlbWVudC0+bXV0ZWQoKSk7CisgICAgICAgIG1f
bWVkaWFFbGVtZW50LT5zZXRNdXRlZChtdXRlZCk7CiB9CiAKIHZvaWQgV2ViUGxheWJhY2tTZXNz
aW9uTW9kZWxNZWRpYUVsZW1lbnQ6OnVwZGF0ZU1lZGlhU2VsZWN0aW9uT3B0aW9ucygpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViQVZQbGF5ZXJDb250cm9sbGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViQVZQbGF5ZXJDb250cm9sbGVyLmgK
aW5kZXggYTdlODI0NjBjYzY1ZGU0MTNiNjg2MWMxOGY0NzI0N2VlNThlOTE3MS4uZTVjZmYxMmJi
YWZhZTY5MTE4MzEyN2JmMjgwZmE5M2NlOTBmMjUxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW9zL1dlYkFWUGxheWVyQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIuaApAQCAtNDAsNiArNDAsNyBA
QCBjbGFzcyBXZWJQbGF5YmFja1Nlc3Npb25JbnRlcmZhY2VBVktpdDsKICAgICBXZWJBVk1lZGlh
U2VsZWN0aW9uT3B0aW9uICpfY3VycmVudEF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb247CiAgICAg
V2ViQVZNZWRpYVNlbGVjdGlvbk9wdGlvbiAqX2N1cnJlbnRMZWdpYmxlTWVkaWFTZWxlY3Rpb25P
cHRpb247CiAgICAgQk9PTCBfcGljdHVyZUluUGljdHVyZUludGVycnVwdGVkOworICAgIEJPT0wg
X211dGVkOwogfQogCiBAcHJvcGVydHkgKHJldGFpbikgQVZQbGF5ZXJDb250cm9sbGVyKiBwbGF5
ZXJDb250cm9sbGVyUHJveHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvV2ViQVZQbGF5ZXJDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L1dlYkFWUGxheWVyQ29udHJvbGxlci5tbQppbmRleCAxYWNjNDQ0M2Q4MWIwZDNhZjE0Nzc2NTg0
ZGRjMDNlNDI5MTU5ZDg0Li42YmZjNWNhMWFhMjZiMjNlNWU4YTQ3YTJmNjhjMjI4N2YzMThhYTAx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViQVZQbGF5ZXJDb250
cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNv
bnRyb2xsZXIubW0KQEAgLTQ2NSw2ICs0NjUsMjEgQEAgLSAodm9pZClzZXRQaWN0dXJlSW5QaWN0
dXJlSW50ZXJydXB0ZWQ6KEJPT0wpcGljdHVyZUluUGljdHVyZUludGVycnVwdGVkCiAgICAgfQog
fQogCistIChCT09MKWlzTXV0ZWQKK3sKKyAgICByZXR1cm4gX211dGVkOworfQorCistICh2b2lk
KXNldE11dGVkOihCT09MKW11dGVkCit7CisgICAgaWYgKF9tdXRlZCA9PSBtdXRlZCkKKyAgICAg
ICAgcmV0dXJuOworICAgIF9tdXRlZCA9IG11dGVkOworCisgICAgaWYgKHNlbGYuZGVsZWdhdGUp
CisgICAgICAgIHNlbGYuZGVsZWdhdGUtPnNldE11dGVkKG11dGVkKTsKK30KKwogLSAodm9pZCl0
b2dnbGVNdXRlZDooaWQpc2VuZGVyCiB7CiAgICAgVU5VU0VEX1BBUkFNKHNlbmRlcik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9u
TWFuYWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUGxheWJh
Y2tTZXNzaW9uTWFuYWdlclByb3h5LmgKaW5kZXggOGIxMDhhYzY1MTE4MDY2MDQyZDc1ZTkwNTdi
YjU0MTQ3M2EzMTIyYS4uNmMzM2JlNjVhOThjMjE5YzBkYjkxZDAzMjg0Mjk1ZWNlNWY1NDczZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vz
c2lvbk1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9X
ZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkuaApAQCAtNzAsMjAgKzcwLDIwIEBAIHB1Ymxp
YzoKICAgICB2b2lkIGFkZENsaWVudChXZWJDb3JlOjpXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENs
aWVudCYpIGZpbmFsOwogICAgIHZvaWQgcmVtb3ZlQ2xpZW50KFdlYkNvcmU6OldlYlBsYXliYWNr
U2Vzc2lvbk1vZGVsQ2xpZW50JilmaW5hbDsKIAotICAgIHZvaWQgc2V0RHVyYXRpb24oZG91Ymxl
KTsKLSAgICB2b2lkIHNldEN1cnJlbnRUaW1lKGRvdWJsZSk7Ci0gICAgdm9pZCBzZXRCdWZmZXJl
ZFRpbWUoZG91YmxlKTsKLSAgICB2b2lkIHNldFBsYXliYWNrU3RhcnRlZFRpbWUoZG91YmxlKTsK
LSAgICB2b2lkIHNldFJhdGUoYm9vbCBpc1BsYXlpbmcsIGZsb2F0IHBsYXliYWNrUmF0ZSk7Ci0g
ICAgdm9pZCBzZXRTZWVrYWJsZVJhbmdlcyhXZWJDb3JlOjpUaW1lUmFuZ2VzJiwgZG91YmxlIGxh
c3RNb2RpZmllZFRpbWUsIGRvdWJsZSBsaXZlVXBkYXRlSW50ZXJ2YWwpOwotICAgIHZvaWQgc2V0
Q2FuUGxheUZhc3RSZXZlcnNlKGJvb2wpOwotICAgIHZvaWQgc2V0QXVkaW9NZWRpYVNlbGVjdGlv
bk9wdGlvbnMoY29uc3QgVmVjdG9yPFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9uPiYgb3B0
aW9ucywgdWludDY0X3QgaW5kZXgpOwotICAgIHZvaWQgc2V0TGVnaWJsZU1lZGlhU2VsZWN0aW9u
T3B0aW9ucyhjb25zdCBWZWN0b3I8V2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25PcHRpb24+JiBvcHRp
b25zLCB1aW50NjRfdCBpbmRleCk7Ci0gICAgdm9pZCBzZXRBdWRpb01lZGlhU2VsZWN0aW9uSW5k
ZXgodWludDY0X3Qgc2VsZWN0ZWRJbmRleCk7Ci0gICAgdm9pZCBzZXRMZWdpYmxlTWVkaWFTZWxl
Y3Rpb25JbmRleCh1aW50NjRfdCBzZWxlY3RlZEluZGV4KTsKLSAgICB2b2lkIHNldEV4dGVybmFs
UGxheWJhY2soYm9vbCwgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWw6OkV4dGVybmFsUGxheWJhY2tU
YXJnZXRUeXBlLCBjb25zdCBTdHJpbmcmKTsKLSAgICB2b2lkIHNldFdpcmVsZXNzVmlkZW9QbGF5
YmFja0Rpc2FibGVkKGJvb2wpOwotICAgIHZvaWQgc2V0TXV0ZWQoYm9vbCk7CisgICAgdm9pZCBk
dXJhdGlvbkNoYW5nZWQoZG91YmxlKTsKKyAgICB2b2lkIGN1cnJlbnRUaW1lQ2hhbmdlZChkb3Vi
bGUpOworICAgIHZvaWQgYnVmZmVyZWRUaW1lQ2hhbmdlZChkb3VibGUpOworICAgIHZvaWQgcGxh
eWJhY2tTdGFydGVkVGltZUNoYW5nZWQoZG91YmxlKTsKKyAgICB2b2lkIHJhdGVDaGFuZ2VkKGJv
b2wgaXNQbGF5aW5nLCBmbG9hdCBwbGF5YmFja1JhdGUpOworICAgIHZvaWQgc2Vla2FibGVSYW5n
ZXNDaGFuZ2VkKFdlYkNvcmU6OlRpbWVSYW5nZXMmLCBkb3VibGUgbGFzdE1vZGlmaWVkVGltZSwg
ZG91YmxlIGxpdmVVcGRhdGVJbnRlcnZhbCk7CisgICAgdm9pZCBjYW5QbGF5RmFzdFJldmVyc2VD
aGFuZ2VkKGJvb2wpOworICAgIHZvaWQgYXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2Vk
KGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbj4mIG9wdGlvbnMsIHVp
bnQ2NF90IGluZGV4KTsKKyAgICB2b2lkIGxlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFu
Z2VkKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbj4mIG9wdGlvbnMs
IHVpbnQ2NF90IGluZGV4KTsKKyAgICB2b2lkIGF1ZGlvTWVkaWFTZWxlY3Rpb25JbmRleENoYW5n
ZWQodWludDY0X3Qgc2VsZWN0ZWRJbmRleCk7CisgICAgdm9pZCBsZWdpYmxlTWVkaWFTZWxlY3Rp
b25JbmRleENoYW5nZWQodWludDY0X3Qgc2VsZWN0ZWRJbmRleCk7CisgICAgdm9pZCBleHRlcm5h
bFBsYXliYWNrQ2hhbmdlZChib29sLCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbDo6RXh0ZXJuYWxQ
bGF5YmFja1RhcmdldFR5cGUsIGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgd2lyZWxlc3NWaWRl
b1BsYXliYWNrRGlzYWJsZWRDaGFuZ2VkKGJvb2wpOworICAgIHZvaWQgbXV0ZWRDaGFuZ2VkKGJv
b2wpOwogCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBXZWJWaWRlb0Z1bGxzY3JlZW5Nb2Rl
bENvbnRleHQ7CkBAIC0xMDksNiArMTA5LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNlbGVjdExl
Z2libGVNZWRpYU9wdGlvbih1aW50NjRfdCkgZmluYWw7CiAgICAgdm9pZCB0b2dnbGVQaWN0dXJl
SW5QaWN0dXJlKCkgZmluYWw7CiAgICAgdm9pZCB0b2dnbGVNdXRlZCgpIGZpbmFsOworICAgIHZv
aWQgc2V0TXV0ZWQoYm9vbCkgZmluYWw7CiAKICAgICBkb3VibGUgcGxheWJhY2tTdGFydGVkVGlt
ZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcGxheWJhY2tTdGFydGVkVGltZTsgfQogICAgIGRv
dWJsZSBkdXJhdGlvbigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fZHVyYXRpb247IH0KQEAgLTE4
NiwyMSArMTg3LDIxIEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRVcFBsYXliYWNrQ29udHJvbHNN
YW5hZ2VyV2l0aElEKHVpbnQ2NF90IGNvbnRleHRJZCk7CiAgICAgdm9pZCBjbGVhclBsYXliYWNr
Q29udHJvbHNNYW5hZ2VyKCk7CiAgICAgdm9pZCByZXNldE1lZGlhU3RhdGUodWludDY0X3QgY29u
dGV4dElkKTsKLSAgICB2b2lkIHNldEN1cnJlbnRUaW1lKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91
YmxlIGN1cnJlbnRUaW1lLCBkb3VibGUgaG9zdFRpbWUpOwotICAgIHZvaWQgc2V0QnVmZmVyZWRU
aW1lKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIGJ1ZmZlcmVkVGltZSk7Ci0gICAgdm9pZCBz
ZXRTZWVrYWJsZVJhbmdlc1ZlY3Rvcih1aW50NjRfdCBjb250ZXh0SWQsIFZlY3RvcjxzdGQ6OnBh
aXI8ZG91YmxlLCBkb3VibGU+PiByYW5nZXMsIGRvdWJsZSBsYXN0TW9kaWZpZWRUaW1lLCBkb3Vi
bGUgbGl2ZVVwZGF0ZUludGVydmFsKTsKLSAgICB2b2lkIHNldENhblBsYXlGYXN0UmV2ZXJzZSh1
aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgdmFsdWUpOwotICAgIHZvaWQgc2V0QXVkaW9NZWRpYVNl
bGVjdGlvbk9wdGlvbnModWludDY0X3QgY29udGV4dElkLCBWZWN0b3I8V2ViQ29yZTo6TWVkaWFT
ZWxlY3Rpb25PcHRpb24+IG9wdGlvbnMsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpOwotICAgIHZv
aWQgc2V0TGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9ucyh1aW50NjRfdCBjb250ZXh0SWQsIFZl
Y3RvcjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbj4gb3B0aW9ucywgdWludDY0X3Qgc2Vs
ZWN0ZWRJbmRleCk7Ci0gICAgdm9pZCBzZXRBdWRpb01lZGlhU2VsZWN0aW9uSW5kZXgodWludDY0
X3QgY29udGV4dElkLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4KTsKLSAgICB2b2lkIHNldExlZ2li
bGVNZWRpYVNlbGVjdGlvbkluZGV4KHVpbnQ2NF90IGNvbnRleHRJZCwgdWludDY0X3Qgc2VsZWN0
ZWRJbmRleCk7Ci0gICAgdm9pZCBzZXRFeHRlcm5hbFBsYXliYWNrUHJvcGVydGllcyh1aW50NjRf
dCBjb250ZXh0SWQsIGJvb2wgZW5hYmxlZCwgdWludDMyX3QgdGFyZ2V0VHlwZSwgU3RyaW5nIGxv
Y2FsaXplZERldmljZU5hbWUpOwotICAgIHZvaWQgc2V0V2lyZWxlc3NWaWRlb1BsYXliYWNrRGlz
YWJsZWQodWludDY0X3QgY29udGV4dElkLCBib29sKTsKLSAgICB2b2lkIHNldER1cmF0aW9uKHVp
bnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIGR1cmF0aW9uKTsKLSAgICB2b2lkIHNldFBsYXliYWNr
U3RhcnRlZFRpbWUodWludDY0X3QgY29udGV4dElkLCBkb3VibGUgcGxheWJhY2tTdGFydGVkVGlt
ZSk7Ci0gICAgdm9pZCBzZXRSYXRlKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBpc1BsYXlpbmcs
IGRvdWJsZSByYXRlKTsKKyAgICB2b2lkIGN1cnJlbnRUaW1lQ2hhbmdlZCh1aW50NjRfdCBjb250
ZXh0SWQsIGRvdWJsZSBjdXJyZW50VGltZSwgZG91YmxlIGhvc3RUaW1lKTsKKyAgICB2b2lkIGJ1
ZmZlcmVkVGltZUNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBkb3VibGUgYnVmZmVyZWRUaW1l
KTsKKyAgICB2b2lkIHNlZWthYmxlUmFuZ2VzVmVjdG9yQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0
SWQsIFZlY3RvcjxzdGQ6OnBhaXI8ZG91YmxlLCBkb3VibGU+PiByYW5nZXMsIGRvdWJsZSBsYXN0
TW9kaWZpZWRUaW1lLCBkb3VibGUgbGl2ZVVwZGF0ZUludGVydmFsKTsKKyAgICB2b2lkIGNhblBs
YXlGYXN0UmV2ZXJzZUNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBib29sIHZhbHVlKTsKKyAg
ICB2b2lkIGF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0
SWQsIFZlY3RvcjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbj4gb3B0aW9ucywgdWludDY0
X3Qgc2VsZWN0ZWRJbmRleCk7CisgICAgdm9pZCBsZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRpb25z
Q2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIFZlY3RvcjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlv
bk9wdGlvbj4gb3B0aW9ucywgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCk7CisgICAgdm9pZCBhdWRp
b01lZGlhU2VsZWN0aW9uSW5kZXhDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgdWludDY0X3Qg
c2VsZWN0ZWRJbmRleCk7CisgICAgdm9pZCBsZWdpYmxlTWVkaWFTZWxlY3Rpb25JbmRleENoYW5n
ZWQodWludDY0X3QgY29udGV4dElkLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4KTsKKyAgICB2b2lk
IGV4dGVybmFsUGxheWJhY2tQcm9wZXJ0aWVzQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGJv
b2wgZW5hYmxlZCwgdWludDMyX3QgdGFyZ2V0VHlwZSwgU3RyaW5nIGxvY2FsaXplZERldmljZU5h
bWUpOworICAgIHZvaWQgd2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWRDaGFuZ2VkKHVpbnQ2
NF90IGNvbnRleHRJZCwgYm9vbCk7CisgICAgdm9pZCBkdXJhdGlvbkNoYW5nZWQodWludDY0X3Qg
Y29udGV4dElkLCBkb3VibGUgZHVyYXRpb24pOworICAgIHZvaWQgcGxheWJhY2tTdGFydGVkVGlt
ZUNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBkb3VibGUgcGxheWJhY2tTdGFydGVkVGltZSk7
CisgICAgdm9pZCByYXRlQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgaXNQbGF5aW5n
LCBkb3VibGUgcmF0ZSk7CiAgICAgdm9pZCBoYW5kbGVDb250cm9sbGVkRWxlbWVudElEUmVzcG9u
c2UodWludDY0X3QsIFN0cmluZykgY29uc3Q7Ci0gICAgdm9pZCBzZXRNdXRlZCh1aW50NjRfdCBj
b250ZXh0SWQsIGJvb2wgbXV0ZWQpOworICAgIHZvaWQgbXV0ZWRDaGFuZ2VkKHVpbnQ2NF90IGNv
bnRleHRJZCwgYm9vbCBtdXRlZCk7CiAKICAgICAvLyBNZXNzYWdlcyB0byBXZWJQbGF5YmFja1Nl
c3Npb25NYW5hZ2VyCiAgICAgdm9pZCBwbGF5KHVpbnQ2NF90IGNvbnRleHRJZCk7CkBAIC0yMTcs
NiArMjE4LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNlbGVjdExlZ2libGVNZWRpYU9wdGlvbih1
aW50NjRfdCBjb250ZXh0SWQsIHVpbnQ2NF90IGluZGV4KTsKICAgICB2b2lkIHRvZ2dsZVBpY3R1
cmVJblBpY3R1cmUodWludDY0X3QgY29udGV4dElkKTsKICAgICB2b2lkIHRvZ2dsZU11dGVkKHVp
bnQ2NF90IGNvbnRleHRJZCk7CisgICAgdm9pZCBzZXRNdXRlZCh1aW50NjRfdCBjb250ZXh0SWQs
IGJvb2wpOwogCiAgICAgV2ViUGFnZVByb3h5KiBtX3BhZ2U7CiAgICAgSGFzaE1hcDx1aW50NjRf
dCwgTW9kZWxJbnRlcmZhY2VUdXBsZT4gbV9jb250ZXh0TWFwOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5t
ZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nl
c3Npb25NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KaW5kZXggNGUwYWVjMzg4NWM1MGY5ZjY5OGIy
MDRiYzRmNzQxYWI2ZmQwOGE1YS4uZjYzNmE4MzI3M2ViOGUxNDRhNmExMDM1MDU1Nzg5YzIzZTA5
MTI3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXli
YWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmlu
CkBAIC0yMywyMCArMjMsMjAgQEAKICNpZiBQTEFURk9STShJT1MpIHx8IChQTEFURk9STShNQUMp
ICYmIEVOQUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkpCiBtZXNzYWdlcyAtPiBXZWJQbGF5
YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkgewogICAgIFJlc2V0TWVkaWFTdGF0ZSh1aW50NjRfdCBj
b250ZXh0SWQpCi0gICAgU2V0Q3VycmVudFRpbWUodWludDY0X3QgY29udGV4dElkLCBkb3VibGUg
Y3VycmVudFRpbWUsIGRvdWJsZSBob3N0VGltZSkKLSAgICBTZXRCdWZmZXJlZFRpbWUodWludDY0
X3QgY29udGV4dElkLCBkb3VibGUgYnVmZmVyZWRUaW1lKQotICAgIFNldFNlZWthYmxlUmFuZ2Vz
VmVjdG9yKHVpbnQ2NF90IGNvbnRleHRJZCwgVmVjdG9yPHN0ZDo6cGFpcjxkb3VibGUsIGRvdWJs
ZT4+IHJhbmdlcywgZG91YmxlIGxhc3RNb2RpZmllZFRpbWUsIGRvdWJsZSBsaXZlVXBkYXRlSW50
ZXJ2YWwpCi0gICAgU2V0Q2FuUGxheUZhc3RSZXZlcnNlKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9v
bCB2YWx1ZSkKLSAgICBTZXRBdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9ucyh1aW50NjRfdCBjb250
ZXh0SWQsIFZlY3RvcjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbj4gb3B0aW9ucywgdWlu
dDY0X3Qgc2VsZWN0ZWRJbmRleCkKLSAgICBTZXRMZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRpb25z
KHVpbnQ2NF90IGNvbnRleHRJZCwgVmVjdG9yPFdlYkNvcmU6Ok1lZGlhU2VsZWN0aW9uT3B0aW9u
PiBvcHRpb25zLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4KQotICAgIFNldEF1ZGlvTWVkaWFTZWxl
Y3Rpb25JbmRleCh1aW50NjRfdCBjb250ZXh0SWQsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpCi0g
ICAgU2V0TGVnaWJsZU1lZGlhU2VsZWN0aW9uSW5kZXgodWludDY0X3QgY29udGV4dElkLCB1aW50
NjRfdCBzZWxlY3RlZEluZGV4KQotICAgIFNldEV4dGVybmFsUGxheWJhY2tQcm9wZXJ0aWVzKHVp
bnQ2NF90IGNvbnRleHRJZCwgYm9vbCBlbmFibGVkLCB1aW50MzJfdCB0YXJnZXRUeXBlLCBTdHJp
bmcgbG9jYWxpemVkRGV2aWNlTmFtZSkKLSAgICBTZXRXaXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNh
YmxlZCh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgZGlzYWJsZWQpCi0gICAgU2V0RHVyYXRpb24o
dWludDY0X3QgY29udGV4dElkLCBkb3VibGUgZHVyYXRpb24pCi0gICAgU2V0UGxheWJhY2tTdGFy
dGVkVGltZSh1aW50NjRfdCBjb250ZXh0SWQsIGRvdWJsZSBwbGF5YmFja1N0YXJ0ZWRUaW1lKQot
ICAgIFNldFJhdGUodWludDY0X3QgY29udGV4dElkLCBib29sIGlzUGxheWluZywgZG91YmxlIHJh
dGUpCi0gICAgU2V0TXV0ZWQodWludDY0X3QgY29udGV4dElkLCBib29sIG11dGVkKTsKKyAgICBD
dXJyZW50VGltZUNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBkb3VibGUgY3VycmVudFRpbWUs
IGRvdWJsZSBob3N0VGltZSkKKyAgICBCdWZmZXJlZFRpbWVDaGFuZ2VkKHVpbnQ2NF90IGNvbnRl
eHRJZCwgZG91YmxlIGJ1ZmZlcmVkVGltZSkKKyAgICBTZWVrYWJsZVJhbmdlc1ZlY3RvckNoYW5n
ZWQodWludDY0X3QgY29udGV4dElkLCBWZWN0b3I8c3RkOjpwYWlyPGRvdWJsZSwgZG91YmxlPj4g
cmFuZ2VzLCBkb3VibGUgbGFzdE1vZGlmaWVkVGltZSwgZG91YmxlIGxpdmVVcGRhdGVJbnRlcnZh
bCkKKyAgICBDYW5QbGF5RmFzdFJldmVyc2VDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9v
bCB2YWx1ZSkKKyAgICBBdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9uc0NoYW5nZWQodWludDY0X3Qg
Y29udGV4dElkLCBWZWN0b3I8V2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25PcHRpb24+IG9wdGlvbnMs
IHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpCisgICAgTGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9u
c0NoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBWZWN0b3I8V2ViQ29yZTo6TWVkaWFTZWxlY3Rp
b25PcHRpb24+IG9wdGlvbnMsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpCisgICAgQXVkaW9NZWRp
YVNlbGVjdGlvbkluZGV4Q2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIHVpbnQ2NF90IHNlbGVj
dGVkSW5kZXgpCisgICAgTGVnaWJsZU1lZGlhU2VsZWN0aW9uSW5kZXhDaGFuZ2VkKHVpbnQ2NF90
IGNvbnRleHRJZCwgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCkKKyAgICBFeHRlcm5hbFBsYXliYWNr
UHJvcGVydGllc0NoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBib29sIGVuYWJsZWQsIHVpbnQz
Ml90IHRhcmdldFR5cGUsIFN0cmluZyBsb2NhbGl6ZWREZXZpY2VOYW1lKQorICAgIFdpcmVsZXNz
VmlkZW9QbGF5YmFja0Rpc2FibGVkQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgZGlz
YWJsZWQpCisgICAgRHVyYXRpb25DaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIGR1
cmF0aW9uKQorICAgIFBsYXliYWNrU3RhcnRlZFRpbWVDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJ
ZCwgZG91YmxlIHBsYXliYWNrU3RhcnRlZFRpbWUpCisgICAgUmF0ZUNoYW5nZWQodWludDY0X3Qg
Y29udGV4dElkLCBib29sIGlzUGxheWluZywgZG91YmxlIHJhdGUpCisgICAgTXV0ZWRDaGFuZ2Vk
KHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBtdXRlZCk7CiAgICAgU2V0VXBQbGF5YmFja0NvbnRy
b2xzTWFuYWdlcldpdGhJRCh1aW50NjRfdCBjb250ZXh0SWQpCiAgICAgQ2xlYXJQbGF5YmFja0Nv
bnRyb2xzTWFuYWdlcigpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9D
b2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubW0gYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1tCmluZGV4IDBl
OWUxYjViY2QyMmE5ZGQ5MDUwZjIxN2VmNzk2NGM1YTA4ODk3NzYuLjAwMTk0OGE0NmZmMjI2NTNk
MzZjMzVlOWY3Yzc1NDliMzgxN2E3MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubW0KKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5t
bQpAQCAtMTQxLDM4ICsxNDEsNDQgQEAgdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRl
eHQ6OnRvZ2dsZU11dGVkKCkKICAgICAgICAgbV9tYW5hZ2VyLT50b2dnbGVNdXRlZChtX2NvbnRl
eHRJZCk7CiB9CiAKLXZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpzZXRQbGF5
YmFja1N0YXJ0ZWRUaW1lKGRvdWJsZSBwbGF5YmFja1N0YXJ0ZWRUaW1lKQordm9pZCBXZWJQbGF5
YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnNldE11dGVkKGJvb2wgbXV0ZWQpCit7CisgICAgaWYg
KG1fbWFuYWdlcikKKyAgICAgICAgbV9tYW5hZ2VyLT5zZXRNdXRlZChtX2NvbnRleHRJZCwgbXV0
ZWQpOworfQorCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6cGxheWJhY2tT
dGFydGVkVGltZUNoYW5nZWQoZG91YmxlIHBsYXliYWNrU3RhcnRlZFRpbWUpCiB7CiAgICAgbV9w
bGF5YmFja1N0YXJ0ZWRUaW1lID0gcGxheWJhY2tTdGFydGVkVGltZTsKICAgICBtX3BsYXliYWNr
U3RhcnRlZFRpbWVOZWVkc1VwZGF0ZSA9IGZhbHNlOwogfQogCi12b2lkIFdlYlBsYXliYWNrU2Vz
c2lvbk1vZGVsQ29udGV4dDo6c2V0RHVyYXRpb24oZG91YmxlIGR1cmF0aW9uKQordm9pZCBXZWJQ
bGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OmR1cmF0aW9uQ2hhbmdlZChkb3VibGUgZHVyYXRp
b24pCiB7CiAgICAgbV9kdXJhdGlvbiA9IGR1cmF0aW9uOwogICAgIGZvciAoYXV0byogY2xpZW50
IDogbV9jbGllbnRzKQogICAgICAgICBjbGllbnQtPmR1cmF0aW9uQ2hhbmdlZChkdXJhdGlvbik7
CiB9CiAKLXZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpzZXRDdXJyZW50VGlt
ZShkb3VibGUgY3VycmVudFRpbWUpCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4
dDo6Y3VycmVudFRpbWVDaGFuZ2VkKGRvdWJsZSBjdXJyZW50VGltZSkKIHsKICAgICBtX2N1cnJl
bnRUaW1lID0gY3VycmVudFRpbWU7CiAgICAgYXV0byBhbmNob3JUaW1lID0gW1tOU1Byb2Nlc3NJ
bmZvIHByb2Nlc3NJbmZvXSBzeXN0ZW1VcHRpbWVdOwogICAgIGlmIChtX3BsYXliYWNrU3RhcnRl
ZFRpbWVOZWVkc1VwZGF0ZSkKLSAgICAgICAgc2V0UGxheWJhY2tTdGFydGVkVGltZShjdXJyZW50
VGltZSk7CisgICAgICAgIHBsYXliYWNrU3RhcnRlZFRpbWVDaGFuZ2VkKGN1cnJlbnRUaW1lKTsK
IAogICAgIGZvciAoYXV0byogY2xpZW50IDogbV9jbGllbnRzKQogICAgICAgICBjbGllbnQtPmN1
cnJlbnRUaW1lQ2hhbmdlZChjdXJyZW50VGltZSwgYW5jaG9yVGltZSk7CiB9CiAKLXZvaWQgV2Vi
UGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpzZXRCdWZmZXJlZFRpbWUoZG91YmxlIGJ1ZmZl
cmVkVGltZSkKK3ZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpidWZmZXJlZFRp
bWVDaGFuZ2VkKGRvdWJsZSBidWZmZXJlZFRpbWUpCiB7CiAgICAgbV9idWZmZXJlZFRpbWUgPSBi
dWZmZXJlZFRpbWU7CiAgICAgZm9yIChhdXRvKiBjbGllbnQgOiBtX2NsaWVudHMpCiAgICAgICAg
IGNsaWVudC0+YnVmZmVyZWRUaW1lQ2hhbmdlZChidWZmZXJlZFRpbWUpOwogfQogCi12b2lkIFdl
YlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6c2V0UmF0ZShib29sIGlzUGxheWluZywgZmxv
YXQgcGxheWJhY2tSYXRlKQordm9pZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnJh
dGVDaGFuZ2VkKGJvb2wgaXNQbGF5aW5nLCBmbG9hdCBwbGF5YmFja1JhdGUpCiB7CiAgICAgbV9p
c1BsYXlpbmcgPSBpc1BsYXlpbmc7CiAgICAgbV9wbGF5YmFja1JhdGUgPSBwbGF5YmFja1JhdGU7
CkBAIC0xODAsNyArMTg2LDcgQEAgdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6
OnNldFJhdGUoYm9vbCBpc1BsYXlpbmcsIGZsb2F0IHBsYXliYWNrUmF0ZSkKICAgICAgICAgY2xp
ZW50LT5yYXRlQ2hhbmdlZChpc1BsYXlpbmcsIHBsYXliYWNrUmF0ZSk7CiB9CiAKLXZvaWQgV2Vi
UGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpzZXRTZWVrYWJsZVJhbmdlcyhXZWJDb3JlOjpU
aW1lUmFuZ2VzJiBzZWVrYWJsZVJhbmdlcywgZG91YmxlIGxhc3RNb2RpZmllZFRpbWUsIGRvdWJs
ZSBsaXZlVXBkYXRlSW50ZXJ2YWwpCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4
dDo6c2Vla2FibGVSYW5nZXNDaGFuZ2VkKFdlYkNvcmU6OlRpbWVSYW5nZXMmIHNlZWthYmxlUmFu
Z2VzLCBkb3VibGUgbGFzdE1vZGlmaWVkVGltZSwgZG91YmxlIGxpdmVVcGRhdGVJbnRlcnZhbCkK
IHsKICAgICBtX3NlZWthYmxlUmFuZ2VzID0gc2Vla2FibGVSYW5nZXM7CiAgICAgbV9zZWVrYWJs
ZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lID0gbGFzdE1vZGlmaWVkVGltZTsKQEAgLTE4OSwx
NCArMTk1LDE0IEBAIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpzZXRTZWVr
YWJsZVJhbmdlcyhXZWJDb3JlOjpUaW1lUmFuZ2VzJiBzZWVrCiAgICAgICAgIGNsaWVudC0+c2Vl
a2FibGVSYW5nZXNDaGFuZ2VkKHNlZWthYmxlUmFuZ2VzLCBsYXN0TW9kaWZpZWRUaW1lLCBsaXZl
VXBkYXRlSW50ZXJ2YWwpOwogfQogCi12b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4
dDo6c2V0Q2FuUGxheUZhc3RSZXZlcnNlKGJvb2wgY2FuUGxheUZhc3RSZXZlcnNlKQordm9pZCBX
ZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OmNhblBsYXlGYXN0UmV2ZXJzZUNoYW5nZWQo
Ym9vbCBjYW5QbGF5RmFzdFJldmVyc2UpCiB7CiAgICAgbV9jYW5QbGF5RmFzdFJldmVyc2UgPSBj
YW5QbGF5RmFzdFJldmVyc2U7CiAgICAgZm9yIChhdXRvKiBjbGllbnQgOiBtX2NsaWVudHMpCiAg
ICAgICAgIGNsaWVudC0+Y2FuUGxheUZhc3RSZXZlcnNlQ2hhbmdlZChjYW5QbGF5RmFzdFJldmVy
c2UpOwogfQogCi12b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6c2V0QXVkaW9N
ZWRpYVNlbGVjdGlvbk9wdGlvbnMoY29uc3QgVmVjdG9yPE1lZGlhU2VsZWN0aW9uT3B0aW9uPiYg
YXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnMsIHVpbnQ2NF90IGF1ZGlvTWVkaWFTZWxlY3RlZElu
ZGV4KQordm9pZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OmF1ZGlvTWVkaWFTZWxl
Y3Rpb25PcHRpb25zQ2hhbmdlZChjb25zdCBWZWN0b3I8TWVkaWFTZWxlY3Rpb25PcHRpb24+JiBh
dWRpb01lZGlhU2VsZWN0aW9uT3B0aW9ucywgdWludDY0X3QgYXVkaW9NZWRpYVNlbGVjdGVkSW5k
ZXgpCiB7CiAgICAgbV9hdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9ucyA9IGF1ZGlvTWVkaWFTZWxl
Y3Rpb25PcHRpb25zOwogICAgIG1fYXVkaW9NZWRpYVNlbGVjdGVkSW5kZXggPSBhdWRpb01lZGlh
U2VsZWN0ZWRJbmRleDsKQEAgLTIwNCw3ICsyMTAsNyBAQCB2b2lkIFdlYlBsYXliYWNrU2Vzc2lv
bk1vZGVsQ29udGV4dDo6c2V0QXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnMoY29uc3QgVmVjdG9y
PAogICAgICAgICBjbGllbnQtPmF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZChhdWRp
b01lZGlhU2VsZWN0aW9uT3B0aW9ucywgYXVkaW9NZWRpYVNlbGVjdGVkSW5kZXgpOwogfQogCi12
b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6c2V0TGVnaWJsZU1lZGlhU2VsZWN0
aW9uT3B0aW9ucyhjb25zdCBWZWN0b3I8TWVkaWFTZWxlY3Rpb25PcHRpb24+JiBsZWdpYmxlTWVk
aWFTZWxlY3Rpb25PcHRpb25zLCB1aW50NjRfdCBsZWdpYmxlTWVkaWFTZWxlY3RlZEluZGV4KQor
dm9pZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OmxlZ2libGVNZWRpYVNlbGVjdGlv
bk9wdGlvbnNDaGFuZ2VkKGNvbnN0IFZlY3RvcjxNZWRpYVNlbGVjdGlvbk9wdGlvbj4mIGxlZ2li
bGVNZWRpYVNlbGVjdGlvbk9wdGlvbnMsIHVpbnQ2NF90IGxlZ2libGVNZWRpYVNlbGVjdGVkSW5k
ZXgpCiB7CiAgICAgbV9sZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRpb25zID0gbGVnaWJsZU1lZGlh
U2VsZWN0aW9uT3B0aW9uczsKICAgICBtX2xlZ2libGVNZWRpYVNlbGVjdGVkSW5kZXggPSBsZWdp
YmxlTWVkaWFTZWxlY3RlZEluZGV4OwpAQCAtMjEzLDcgKzIxOSw3IEBAIHZvaWQgV2ViUGxheWJh
Y2tTZXNzaW9uTW9kZWxDb250ZXh0OjpzZXRMZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRpb25zKGNv
bnN0IFZlY3RvCiAgICAgICAgIGNsaWVudC0+bGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9uc0No
YW5nZWQobGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9ucywgbGVnaWJsZU1lZGlhU2VsZWN0ZWRJ
bmRleCk7CiB9CiAKLXZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpzZXRBdWRp
b01lZGlhU2VsZWN0aW9uSW5kZXgodWludDY0X3Qgc2VsZWN0ZWRJbmRleCkKK3ZvaWQgV2ViUGxh
eWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjphdWRpb01lZGlhU2VsZWN0aW9uSW5kZXhDaGFuZ2Vk
KHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpCiB7CiAgICAgbV9hdWRpb01lZGlhU2VsZWN0ZWRJbmRl
eCA9IHNlbGVjdGVkSW5kZXg7CiAKQEAgLTIyMSw3ICsyMjcsNyBAQCB2b2lkIFdlYlBsYXliYWNr
U2Vzc2lvbk1vZGVsQ29udGV4dDo6c2V0QXVkaW9NZWRpYVNlbGVjdGlvbkluZGV4KHVpbnQ2NF90
IHNlbGVjdAogICAgICAgICBjbGllbnQtPmF1ZGlvTWVkaWFTZWxlY3Rpb25JbmRleENoYW5nZWQo
c2VsZWN0ZWRJbmRleCk7CiB9CiAKLXZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0
OjpzZXRMZWdpYmxlTWVkaWFTZWxlY3Rpb25JbmRleCh1aW50NjRfdCBzZWxlY3RlZEluZGV4KQor
dm9pZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OmxlZ2libGVNZWRpYVNlbGVjdGlv
bkluZGV4Q2hhbmdlZCh1aW50NjRfdCBzZWxlY3RlZEluZGV4KQogewogICAgIG1fbGVnaWJsZU1l
ZGlhU2VsZWN0ZWRJbmRleCA9IHNlbGVjdGVkSW5kZXg7CiAKQEAgLTIyOSw3ICsyMzUsNyBAQCB2
b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6c2V0TGVnaWJsZU1lZGlhU2VsZWN0
aW9uSW5kZXgodWludDY0X3Qgc2VsZQogICAgICAgICBjbGllbnQtPmxlZ2libGVNZWRpYVNlbGVj
dGlvbkluZGV4Q2hhbmdlZChzZWxlY3RlZEluZGV4KTsKIH0KIAotdm9pZCBXZWJQbGF5YmFja1Nl
c3Npb25Nb2RlbENvbnRleHQ6OnNldEV4dGVybmFsUGxheWJhY2soYm9vbCBlbmFibGVkLCBXZWJQ
bGF5YmFja1Nlc3Npb25Nb2RlbDo6RXh0ZXJuYWxQbGF5YmFja1RhcmdldFR5cGUgdHlwZSwgY29u
c3QgU3RyaW5nJiBsb2NhbGl6ZWROYW1lKQordm9pZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENv
bnRleHQ6OmV4dGVybmFsUGxheWJhY2tDaGFuZ2VkKGJvb2wgZW5hYmxlZCwgV2ViUGxheWJhY2tT
ZXNzaW9uTW9kZWw6OkV4dGVybmFsUGxheWJhY2tUYXJnZXRUeXBlIHR5cGUsIGNvbnN0IFN0cmlu
ZyYgbG9jYWxpemVkTmFtZSkKIHsKICAgICBtX2V4dGVybmFsUGxheWJhY2tFbmFibGVkID0gZW5h
YmxlZDsKICAgICBtX2V4dGVybmFsUGxheWJhY2tUYXJnZXRUeXBlID0gdHlwZTsKQEAgLTIzOSwx
NCArMjQ1LDE0IEBAIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpzZXRFeHRl
cm5hbFBsYXliYWNrKGJvb2wgZW5hYmxlZCwgV2ViUGxheWJhCiAgICAgICAgIGNsaWVudC0+ZXh0
ZXJuYWxQbGF5YmFja0NoYW5nZWQoZW5hYmxlZCwgdHlwZSwgbG9jYWxpemVkTmFtZSk7CiB9CiAK
LXZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpzZXRXaXJlbGVzc1ZpZGVvUGxh
eWJhY2tEaXNhYmxlZChib29sIHdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKQordm9pZCBX
ZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OndpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2Fi
bGVkQ2hhbmdlZChib29sIHdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKQogewogICAgIG1f
d2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQgPSB3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNh
YmxlZDsKICAgICBmb3IgKGF1dG8qIGNsaWVudCA6IG1fY2xpZW50cykKICAgICAgICAgY2xpZW50
LT53aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZENoYW5nZWQod2lyZWxlc3NWaWRlb1BsYXli
YWNrRGlzYWJsZWQpOwogfQogCi12b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6
c2V0TXV0ZWQoYm9vbCBtdXRlZCkKK3ZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0
OjptdXRlZENoYW5nZWQoYm9vbCBtdXRlZCkKIHsKICAgICBtX211dGVkID0gbXV0ZWQ7CiAgICAg
Zm9yIChhdXRvKiBjbGllbnQgOiBtX2NsaWVudHMpCkBAIC0zNjgsMTcgKzM3NCwxNyBAQCB2b2lk
IFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6cmVzZXRNZWRpYVN0YXRlKHVpbnQ2NF90
IGNvbnRleHRJZCkKICAgICBlbnN1cmVJbnRlcmZhY2UoY29udGV4dElkKS5yZXNldE1lZGlhU3Rh
dGUoKTsKIH0KIAotdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNldEN1cnJl
bnRUaW1lKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIGN1cnJlbnRUaW1lLCBkb3VibGUgaG9z
dFRpbWUpCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6Y3VycmVudFRpbWVD
aGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIGN1cnJlbnRUaW1lLCBkb3VibGUgaG9z
dFRpbWUpCiB7Ci0gICAgZW5zdXJlTW9kZWwoY29udGV4dElkKS5zZXRDdXJyZW50VGltZShjdXJy
ZW50VGltZSk7CisgICAgZW5zdXJlTW9kZWwoY29udGV4dElkKS5jdXJyZW50VGltZUNoYW5nZWQo
Y3VycmVudFRpbWUpOwogfQogCi12b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6
c2V0QnVmZmVyZWRUaW1lKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIGJ1ZmZlcmVkVGltZSkK
K3ZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpidWZmZXJlZFRpbWVDaGFuZ2Vk
KHVpbnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIGJ1ZmZlcmVkVGltZSkKIHsKLSAgICBlbnN1cmVN
b2RlbChjb250ZXh0SWQpLnNldEJ1ZmZlcmVkVGltZShidWZmZXJlZFRpbWUpOworICAgIGVuc3Vy
ZU1vZGVsKGNvbnRleHRJZCkuYnVmZmVyZWRUaW1lQ2hhbmdlZChidWZmZXJlZFRpbWUpOwogfQog
Ci12b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6c2V0U2Vla2FibGVSYW5nZXNW
ZWN0b3IodWludDY0X3QgY29udGV4dElkLCBWZWN0b3I8c3RkOjpwYWlyPGRvdWJsZSwgZG91Ymxl
Pj4gcmFuZ2VzLCBkb3VibGUgbGFzdE1vZGlmaWVkVGltZSwgZG91YmxlIGxpdmVVcGRhdGVJbnRl
cnZhbCkKK3ZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpzZWVrYWJsZVJhbmdl
c1ZlY3RvckNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBWZWN0b3I8c3RkOjpwYWlyPGRvdWJs
ZSwgZG91YmxlPj4gcmFuZ2VzLCBkb3VibGUgbGFzdE1vZGlmaWVkVGltZSwgZG91YmxlIGxpdmVV
cGRhdGVJbnRlcnZhbCkKIHsKICAgICBSZWY8VGltZVJhbmdlcz4gdGltZVJhbmdlcyA9IFRpbWVS
YW5nZXM6OmNyZWF0ZSgpOwogICAgIGZvciAoY29uc3QgYXV0byYgcmFuZ2UgOiByYW5nZXMpIHsK
QEAgLTM4OCw2NSArMzk0LDY1IEBAIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5
OjpzZXRTZWVrYWJsZVJhbmdlc1ZlY3Rvcih1aW50NjRfdCBjb250ZXh0SWQsCiAgICAgICAgIHRp
bWVSYW5nZXMtPmFkZChyYW5nZS5maXJzdCwgcmFuZ2Uuc2Vjb25kKTsKICAgICB9CiAKLSAgICBl
bnN1cmVNb2RlbChjb250ZXh0SWQpLnNldFNlZWthYmxlUmFuZ2VzKHRpbWVSYW5nZXMsIGxhc3RN
b2RpZmllZFRpbWUsIGxpdmVVcGRhdGVJbnRlcnZhbCk7CisgICAgZW5zdXJlTW9kZWwoY29udGV4
dElkKS5zZWVrYWJsZVJhbmdlc0NoYW5nZWQodGltZVJhbmdlcywgbGFzdE1vZGlmaWVkVGltZSwg
bGl2ZVVwZGF0ZUludGVydmFsKTsKIH0KIAotdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
UHJveHk6OnNldENhblBsYXlGYXN0UmV2ZXJzZSh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgdmFs
dWUpCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6Y2FuUGxheUZhc3RSZXZl
cnNlQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgdmFsdWUpCiB7Ci0gICAgZW5zdXJl
TW9kZWwoY29udGV4dElkKS5zZXRDYW5QbGF5RmFzdFJldmVyc2UodmFsdWUpOworICAgIGVuc3Vy
ZU1vZGVsKGNvbnRleHRJZCkuY2FuUGxheUZhc3RSZXZlcnNlQ2hhbmdlZCh2YWx1ZSk7CiB9CiAK
LXZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpzZXRBdWRpb01lZGlhU2VsZWN0
aW9uT3B0aW9ucyh1aW50NjRfdCBjb250ZXh0SWQsIFZlY3RvcjxNZWRpYVNlbGVjdGlvbk9wdGlv
bj4gb3B0aW9ucywgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCkKK3ZvaWQgV2ViUGxheWJhY2tTZXNz
aW9uTWFuYWdlclByb3h5OjphdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9uc0NoYW5nZWQodWludDY0
X3QgY29udGV4dElkLCBWZWN0b3I8TWVkaWFTZWxlY3Rpb25PcHRpb24+IG9wdGlvbnMsIHVpbnQ2
NF90IHNlbGVjdGVkSW5kZXgpCiB7Ci0gICAgZW5zdXJlTW9kZWwoY29udGV4dElkKS5zZXRBdWRp
b01lZGlhU2VsZWN0aW9uT3B0aW9ucyhvcHRpb25zLCBzZWxlY3RlZEluZGV4KTsKKyAgICBlbnN1
cmVNb2RlbChjb250ZXh0SWQpLmF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZChvcHRp
b25zLCBzZWxlY3RlZEluZGV4KTsKIH0KIAotdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
UHJveHk6OnNldExlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnModWludDY0X3QgY29udGV4dElk
LCBWZWN0b3I8TWVkaWFTZWxlY3Rpb25PcHRpb24+IG9wdGlvbnMsIHVpbnQ2NF90IHNlbGVjdGVk
SW5kZXgpCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6bGVnaWJsZU1lZGlh
U2VsZWN0aW9uT3B0aW9uc0NoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBWZWN0b3I8TWVkaWFT
ZWxlY3Rpb25PcHRpb24+IG9wdGlvbnMsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpCiB7Ci0gICAg
ZW5zdXJlTW9kZWwoY29udGV4dElkKS5zZXRMZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRpb25zKG9w
dGlvbnMsIHNlbGVjdGVkSW5kZXgpOworICAgIGVuc3VyZU1vZGVsKGNvbnRleHRJZCkubGVnaWJs
ZU1lZGlhU2VsZWN0aW9uT3B0aW9uc0NoYW5nZWQob3B0aW9ucywgc2VsZWN0ZWRJbmRleCk7CiB9
CiAKLXZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpzZXRBdWRpb01lZGlhU2Vs
ZWN0aW9uSW5kZXgodWludDY0X3QgY29udGV4dElkLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4KQor
dm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OmF1ZGlvTWVkaWFTZWxlY3Rpb25J
bmRleENoYW5nZWQodWludDY0X3QgY29udGV4dElkLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4KQog
ewotICAgIGVuc3VyZU1vZGVsKGNvbnRleHRJZCkuc2V0QXVkaW9NZWRpYVNlbGVjdGlvbkluZGV4
KHNlbGVjdGVkSW5kZXgpOworICAgIGVuc3VyZU1vZGVsKGNvbnRleHRJZCkuYXVkaW9NZWRpYVNl
bGVjdGlvbkluZGV4Q2hhbmdlZChzZWxlY3RlZEluZGV4KTsKIH0KIAotdm9pZCBXZWJQbGF5YmFj
a1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNldExlZ2libGVNZWRpYVNlbGVjdGlvbkluZGV4KHVpbnQ2
NF90IGNvbnRleHRJZCwgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCkKK3ZvaWQgV2ViUGxheWJhY2tT
ZXNzaW9uTWFuYWdlclByb3h5OjpsZWdpYmxlTWVkaWFTZWxlY3Rpb25JbmRleENoYW5nZWQodWlu
dDY0X3QgY29udGV4dElkLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4KQogewotICAgIGVuc3VyZU1v
ZGVsKGNvbnRleHRJZCkuc2V0TGVnaWJsZU1lZGlhU2VsZWN0aW9uSW5kZXgoc2VsZWN0ZWRJbmRl
eCk7CisgICAgZW5zdXJlTW9kZWwoY29udGV4dElkKS5sZWdpYmxlTWVkaWFTZWxlY3Rpb25JbmRl
eENoYW5nZWQoc2VsZWN0ZWRJbmRleCk7CiB9CiAKLXZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFu
YWdlclByb3h5OjpzZXRFeHRlcm5hbFBsYXliYWNrUHJvcGVydGllcyh1aW50NjRfdCBjb250ZXh0
SWQsIGJvb2wgZW5hYmxlZCwgdWludDMyX3QgdGFyZ2V0VHlwZSwgU3RyaW5nIGxvY2FsaXplZERl
dmljZU5hbWUpCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6ZXh0ZXJuYWxQ
bGF5YmFja1Byb3BlcnRpZXNDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBlbmFibGVk
LCB1aW50MzJfdCB0YXJnZXRUeXBlLCBTdHJpbmcgbG9jYWxpemVkRGV2aWNlTmFtZSkKIHsKICAg
ICBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbDo6RXh0ZXJuYWxQbGF5YmFja1RhcmdldFR5cGUgdHlw
ZSA9IHN0YXRpY19jYXN0PFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsOjpFeHRlcm5hbFBsYXliYWNr
VGFyZ2V0VHlwZT4odGFyZ2V0VHlwZSk7CiAgICAgQVNTRVJUKHR5cGUgPT0gV2ViUGxheWJhY2tT
ZXNzaW9uTW9kZWw6OlRhcmdldFR5cGVBaXJQbGF5IHx8IHR5cGUgPT0gV2ViUGxheWJhY2tTZXNz
aW9uTW9kZWw6OlRhcmdldFR5cGVUVk91dCB8fCB0eXBlID09IFdlYlBsYXliYWNrU2Vzc2lvbk1v
ZGVsOjpUYXJnZXRUeXBlTm9uZSk7CiAKLSAgICBlbnN1cmVNb2RlbChjb250ZXh0SWQpLnNldEV4
dGVybmFsUGxheWJhY2soZW5hYmxlZCwgdHlwZSwgbG9jYWxpemVkRGV2aWNlTmFtZSk7CisgICAg
ZW5zdXJlTW9kZWwoY29udGV4dElkKS5leHRlcm5hbFBsYXliYWNrQ2hhbmdlZChlbmFibGVkLCB0
eXBlLCBsb2NhbGl6ZWREZXZpY2VOYW1lKTsKIH0KIAotdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25N
YW5hZ2VyUHJveHk6OnNldFdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKHVpbnQ2NF90IGNv
bnRleHRJZCwgYm9vbCBkaXNhYmxlZCkKK3ZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclBy
b3h5Ojp3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZENoYW5nZWQodWludDY0X3QgY29udGV4
dElkLCBib29sIGRpc2FibGVkKQogewotICAgIGVuc3VyZU1vZGVsKGNvbnRleHRJZCkuc2V0V2ly
ZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQoZGlzYWJsZWQpOworICAgIGVuc3VyZU1vZGVsKGNv
bnRleHRJZCkud2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWRDaGFuZ2VkKGRpc2FibGVkKTsK
IH0KIAotdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNldE11dGVkKHVpbnQ2
NF90IGNvbnRleHRJZCwgYm9vbCBtdXRlZCkKK3ZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdl
clByb3h5OjptdXRlZENoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBib29sIG11dGVkKQogewot
ICAgIGVuc3VyZU1vZGVsKGNvbnRleHRJZCkuc2V0TXV0ZWQobXV0ZWQpOworICAgIGVuc3VyZU1v
ZGVsKGNvbnRleHRJZCkubXV0ZWRDaGFuZ2VkKG11dGVkKTsKIH0KIAotdm9pZCBXZWJQbGF5YmFj
a1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNldER1cmF0aW9uKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91
YmxlIGR1cmF0aW9uKQordm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OmR1cmF0
aW9uQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGRvdWJsZSBkdXJhdGlvbikKIHsKLSAgICBl
bnN1cmVNb2RlbChjb250ZXh0SWQpLnNldER1cmF0aW9uKGR1cmF0aW9uKTsKKyAgICBlbnN1cmVN
b2RlbChjb250ZXh0SWQpLm11dGVkQ2hhbmdlZChkdXJhdGlvbik7CiB9CiAKLXZvaWQgV2ViUGxh
eWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpzZXRQbGF5YmFja1N0YXJ0ZWRUaW1lKHVpbnQ2NF90
IGNvbnRleHRJZCwgZG91YmxlIHBsYXliYWNrU3RhcnRlZFRpbWUpCit2b2lkIFdlYlBsYXliYWNr
U2Vzc2lvbk1hbmFnZXJQcm94eTo6cGxheWJhY2tTdGFydGVkVGltZUNoYW5nZWQodWludDY0X3Qg
Y29udGV4dElkLCBkb3VibGUgcGxheWJhY2tTdGFydGVkVGltZSkKIHsKLSAgICBlbnN1cmVNb2Rl
bChjb250ZXh0SWQpLnNldFBsYXliYWNrU3RhcnRlZFRpbWUocGxheWJhY2tTdGFydGVkVGltZSk7
CisgICAgZW5zdXJlTW9kZWwoY29udGV4dElkKS5wbGF5YmFja1N0YXJ0ZWRUaW1lQ2hhbmdlZChw
bGF5YmFja1N0YXJ0ZWRUaW1lKTsKIH0KIAotdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
UHJveHk6OnNldFJhdGUodWludDY0X3QgY29udGV4dElkLCBib29sIGlzUGxheWluZywgZG91Ymxl
IHJhdGUpCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6cmF0ZUNoYW5nZWQo
dWludDY0X3QgY29udGV4dElkLCBib29sIGlzUGxheWluZywgZG91YmxlIHJhdGUpCiB7Ci0gICAg
ZW5zdXJlTW9kZWwoY29udGV4dElkKS5zZXRSYXRlKGlzUGxheWluZywgcmF0ZSk7CisgICAgZW5z
dXJlTW9kZWwoY29udGV4dElkKS5yYXRlQ2hhbmdlZChpc1BsYXlpbmcsIHJhdGUpOwogfQogCiAK
QEAgLTUzNCw2ICs1NDAsMTEgQEAgdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6
OnRvZ2dsZU11dGVkKHVpbnQ2NF90IGNvbnRleHRJZCkKICAgICBtX3BhZ2UtPnNlbmQoTWVzc2Fn
ZXM6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OlRvZ2dsZU11dGVkKGNvbnRleHRJZCksIG1f
cGFnZS0+cGFnZUlEKCkpOwogfQogCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94
eTo6c2V0TXV0ZWQodWludDY0X3QgY29udGV4dElkLCBib29sIG11dGVkKQoreworICAgIG1fcGFn
ZS0+c2VuZChNZXNzYWdlczo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6U2V0TXV0ZWQoY29u
dGV4dElkLCBtdXRlZCksIG1fcGFnZS0+cGFnZUlEKCkpOworfQorCiB2b2lkIFdlYlBsYXliYWNr
U2Vzc2lvbk1hbmFnZXJQcm94eTo6cmVxdWVzdENvbnRyb2xsZWRFbGVtZW50SUQoKQogewogICAg
IGlmIChtX2NvbnRyb2xzTWFuYWdlckNvbnRleHRJZCkKQEAgLTU0NCw3ICs1NTUsNyBAQCBQbGF0
Zm9ybVdlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZSogV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdl
clByb3h5Ojpjb250cm9sc01hbgogewogICAgIGlmICghbV9jb250cm9sc01hbmFnZXJDb250ZXh0
SWQpCiAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgIAorCiAgICAgYXV0byYgaW50ZXJmYWNl
ID0gZW5zdXJlSW50ZXJmYWNlKG1fY29udHJvbHNNYW5hZ2VyQ29udGV4dElkKTsKICAgICByZXR1
cm4gJmludGVyZmFjZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
Y29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyLmgKaW5kZXggOTJlZWRlNDZkOWVk
NzM2NmQ4ODgyNjE0YTUxNGVkZDZmZDY2NGQ3OC4uNzUzY2IxNjk4YmRiMTU1Zjk2Njk4MTExZjA1
MTVmMjM4ODdmNWRhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9jb2Nv
YS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyLmgKQEAgLTE1NCw2ICsxNTQsNyBA
QCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBoYW5kbGVDb250cm9sbGVkRWxlbWVudElEUmVxdWVzdCh1
aW50NjRfdCBjb250ZXh0SWQpOwogICAgIHZvaWQgdG9nZ2xlUGljdHVyZUluUGljdHVyZSh1aW50
NjRfdCBjb250ZXh0SWQpOwogICAgIHZvaWQgdG9nZ2xlTXV0ZWQodWludDY0X3QgY29udGV4dElk
KTsKKyAgICB2b2lkIHNldE11dGVkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBtdXRlZCk7CiAK
ICAgICBXZWJQYWdlKiBtX3BhZ2U7CiAgICAgSGFzaE1hcDxXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50KiwgdWludDY0X3Q+IG1fbWVkaWFFbGVtZW50czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlci5tZXNzYWdlcy5p
biBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFu
YWdlci5tZXNzYWdlcy5pbgppbmRleCA0MjkxZWFhZGMwYWVhOWNiZDk2NzRlNjBkMzg1MjQ5YjYx
ZjdkNTdhLi45NTY2NmE3MTU0Y2M0YTk0NGQwNGVjYTg2Y2IzMDMwMDZiZDc3OGExIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1h
bmFnZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9jb2NvYS9X
ZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1lc3NhZ2VzLmluCkBAIC0zOCw1ICszOCw2IEBAIG1l
c3NhZ2VzIC0+IFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXIgewogICAgIEhhbmRsZUNvbnRyb2xs
ZWRFbGVtZW50SURSZXF1ZXN0KHVpbnQ2NF90IGNvbnRleHRJZCkKICAgICBUb2dnbGVQaWN0dXJl
SW5QaWN0dXJlKHVpbnQ2NF90IGNvbnRleHRJZCkKICAgICBUb2dnbGVNdXRlZCh1aW50NjRfdCBj
b250ZXh0SWQpCisgICAgU2V0TXV0ZWQodWludDY0X3QgY29udGV4dElkLCBib29sIG11dGVkKQog
fQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvY29hL1dl
YlBsYXliYWNrU2Vzc2lvbk1hbmFnZXIubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2Nv
Y29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXIubW0KaW5kZXggYTViYjJjZThjZGRmZjA0NzZl
NjU0ZDM0MGMwMjE0YWM1ODMxYWZjMS4uMjg1YTI3ZTQ4YjJhNDI4MjlmYjQ0MjI0YzE3NGQ5YjIz
ODM1NWI1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQ
bGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
Y29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlci5tbQpAQCAtMjk1LDI3ICsyOTUsMjcgQEAg
dm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjpyZXNldE1lZGlhU3RhdGUodWludDY0X3Qg
Y29udGV4dElkKQogCiB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OmR1cmF0aW9uQ2hh
bmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGRvdWJsZSBkdXJhdGlvbikKIHsKLSAgICBtX3BhZ2Ut
PnNlbmQoTWVzc2FnZXM6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6U2V0RHVyYXRp
b24oY29udGV4dElkLCBkdXJhdGlvbiksIG1fcGFnZS0+cGFnZUlEKCkpOworICAgIG1fcGFnZS0+
c2VuZChNZXNzYWdlczo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpEdXJhdGlvbkNo
YW5nZWQoY29udGV4dElkLCBkdXJhdGlvbiksIG1fcGFnZS0+cGFnZUlEKCkpOwogfQogCiB2b2lk
IFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OmN1cnJlbnRUaW1lQ2hhbmdlZCh1aW50NjRfdCBj
b250ZXh0SWQsIGRvdWJsZSBjdXJyZW50VGltZSwgZG91YmxlIGFuY2hvclRpbWUpCiB7Ci0gICAg
bV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OlNl
dEN1cnJlbnRUaW1lKGNvbnRleHRJZCwgY3VycmVudFRpbWUsIGFuY2hvclRpbWUpLCBtX3BhZ2Ut
PnBhZ2VJRCgpKTsKKyAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBsYXliYWNrU2Vzc2lv
bk1hbmFnZXJQcm94eTo6Q3VycmVudFRpbWVDaGFuZ2VkKGNvbnRleHRJZCwgY3VycmVudFRpbWUs
IGFuY2hvclRpbWUpLCBtX3BhZ2UtPnBhZ2VJRCgpKTsKIH0KIAogdm9pZCBXZWJQbGF5YmFja1Nl
c3Npb25NYW5hZ2VyOjpidWZmZXJlZFRpbWVDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91
YmxlIGJ1ZmZlcmVkVGltZSkKIHsKLSAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBsYXli
YWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6U2V0QnVmZmVyZWRUaW1lKGNvbnRleHRJZCwgYnVmZmVy
ZWRUaW1lKSwgbV9wYWdlLT5wYWdlSUQoKSk7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OkJ1ZmZlcmVkVGltZUNoYW5nZWQoY29udGV4
dElkLCBidWZmZXJlZFRpbWUpLCBtX3BhZ2UtPnBhZ2VJRCgpKTsKIH0KIAogdm9pZCBXZWJQbGF5
YmFja1Nlc3Npb25NYW5hZ2VyOjpwbGF5YmFja1N0YXJ0ZWRUaW1lQ2hhbmdlZCh1aW50NjRfdCBj
b250ZXh0SWQsIGRvdWJsZSBwbGF5YmFja1N0YXJ0ZWRUaW1lKQogewotICAgIG1fcGFnZS0+c2Vu
ZChNZXNzYWdlczo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpTZXRQbGF5YmFja1N0
YXJ0ZWRUaW1lKGNvbnRleHRJZCwgcGxheWJhY2tTdGFydGVkVGltZSksIG1fcGFnZS0+cGFnZUlE
KCkpOworICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdl
clByb3h5OjpQbGF5YmFja1N0YXJ0ZWRUaW1lQ2hhbmdlZChjb250ZXh0SWQsIHBsYXliYWNrU3Rh
cnRlZFRpbWUpLCBtX3BhZ2UtPnBhZ2VJRCgpKTsKIH0KIAogdm9pZCBXZWJQbGF5YmFja1Nlc3Np
b25NYW5hZ2VyOjpyYXRlQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgaXNQbGF5aW5n
LCBmbG9hdCBwbGF5YmFja1JhdGUpCiB7Ci0gICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQ
bGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OlNldFJhdGUoY29udGV4dElkLCBpc1BsYXlpbmcs
IHBsYXliYWNrUmF0ZSksIG1fcGFnZS0+cGFnZUlEKCkpOworICAgIG1fcGFnZS0+c2VuZChNZXNz
YWdlczo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpSYXRlQ2hhbmdlZChjb250ZXh0
SWQsIGlzUGxheWluZywgcGxheWJhY2tSYXRlKSwgbV9wYWdlLT5wYWdlSUQoKSk7CiB9CiAKIHZv
aWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6c2Vla2FibGVSYW5nZXNDaGFuZ2VkKHVpbnQ2
NF90IGNvbnRleHRJZCwgY29uc3QgV2ViQ29yZTo6VGltZVJhbmdlcyYgdGltZVJhbmdlcywgZG91
YmxlIGxhc3RNb2RpZmllZFRpbWUsIGRvdWJsZSBsaXZlVXBkYXRlSW50ZXJ2YWwpCkBAIC0zMjYs
NDcgKzMyNiw0NyBAQCB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OnNlZWthYmxlUmFu
Z2VzQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGNvbnN0CiAgICAgICAgIGRvdWJsZSBlbmQg
PSB0aW1lUmFuZ2VzLnJhbmdlcygpLmVuZChpKS50b0RvdWJsZSgpOwogICAgICAgICByYW5nZXNW
ZWN0b3IuYXBwZW5kKHsgc3RhcnQsIGVuZCB9KTsKICAgICB9Ci0gICAgbV9wYWdlLT5zZW5kKE1l
c3NhZ2VzOjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OlNldFNlZWthYmxlUmFuZ2Vz
VmVjdG9yKGNvbnRleHRJZCwgV1RGTW92ZShyYW5nZXNWZWN0b3IpLCBsYXN0TW9kaWZpZWRUaW1l
LCBsaXZlVXBkYXRlSW50ZXJ2YWwpLCBtX3BhZ2UtPnBhZ2VJRCgpKTsKKyAgICBtX3BhZ2UtPnNl
bmQoTWVzc2FnZXM6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6U2Vla2FibGVSYW5n
ZXNWZWN0b3JDaGFuZ2VkKGNvbnRleHRJZCwgV1RGTW92ZShyYW5nZXNWZWN0b3IpLCBsYXN0TW9k
aWZpZWRUaW1lLCBsaXZlVXBkYXRlSW50ZXJ2YWwpLCBtX3BhZ2UtPnBhZ2VJRCgpKTsKIH0KIAog
dm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjpjYW5QbGF5RmFzdFJldmVyc2VDaGFuZ2Vk
KHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCB2YWx1ZSkKIHsKLSAgICBtX3BhZ2UtPnNlbmQoTWVz
c2FnZXM6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6U2V0Q2FuUGxheUZhc3RSZXZl
cnNlKGNvbnRleHRJZCwgdmFsdWUpLCBtX3BhZ2UtPnBhZ2VJRCgpKTsKKyAgICBtX3BhZ2UtPnNl
bmQoTWVzc2FnZXM6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6Q2FuUGxheUZhc3RS
ZXZlcnNlQ2hhbmdlZChjb250ZXh0SWQsIHZhbHVlKSwgbV9wYWdlLT5wYWdlSUQoKSk7CiB9CiAK
IHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6YXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlv
bnNDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgY29uc3QgVmVjdG9yPE1lZGlhU2VsZWN0aW9u
T3B0aW9uPiYgb3B0aW9ucywgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCkKIHsKLSAgICBtX3BhZ2Ut
PnNlbmQoTWVzc2FnZXM6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6U2V0QXVkaW9N
ZWRpYVNlbGVjdGlvbk9wdGlvbnMoY29udGV4dElkLCBvcHRpb25zLCBzZWxlY3RlZEluZGV4KSwg
bV9wYWdlLT5wYWdlSUQoKSk7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQbGF5YmFj
a1Nlc3Npb25NYW5hZ2VyUHJveHk6OkF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZChj
b250ZXh0SWQsIG9wdGlvbnMsIHNlbGVjdGVkSW5kZXgpLCBtX3BhZ2UtPnBhZ2VJRCgpKTsKIH0K
IAogdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjpsZWdpYmxlTWVkaWFTZWxlY3Rpb25P
cHRpb25zQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGNvbnN0IFZlY3RvcjxNZWRpYVNlbGVj
dGlvbk9wdGlvbj4mIG9wdGlvbnMsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpCiB7Ci0gICAgbV9w
YWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OlNldExl
Z2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnMoY29udGV4dElkLCBvcHRpb25zLCBzZWxlY3RlZElu
ZGV4KSwgbV9wYWdlLT5wYWdlSUQoKSk7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQ
bGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OkxlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnND
aGFuZ2VkKGNvbnRleHRJZCwgb3B0aW9ucywgc2VsZWN0ZWRJbmRleCksIG1fcGFnZS0+cGFnZUlE
KCkpOwogfQogCiB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OmV4dGVybmFsUGxheWJh
Y2tDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBlbmFibGVkLCBXZWJQbGF5YmFja1Nl
c3Npb25Nb2RlbDo6RXh0ZXJuYWxQbGF5YmFja1RhcmdldFR5cGUgdGFyZ2V0VHlwZSwgU3RyaW5n
IGxvY2FsaXplZERldmljZU5hbWUpCiB7Ci0gICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQ
bGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OlNldEV4dGVybmFsUGxheWJhY2tQcm9wZXJ0aWVz
KGNvbnRleHRJZCwgZW5hYmxlZCwgc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHRhcmdldFR5cGUpLCBs
b2NhbGl6ZWREZXZpY2VOYW1lKSwgbV9wYWdlLT5wYWdlSUQoKSk7CisgICAgbV9wYWdlLT5zZW5k
KE1lc3NhZ2VzOjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OkV4dGVybmFsUGxheWJh
Y2tQcm9wZXJ0aWVzQ2hhbmdlZChjb250ZXh0SWQsIGVuYWJsZWQsIHN0YXRpY19jYXN0PHVpbnQz
Ml90Pih0YXJnZXRUeXBlKSwgbG9jYWxpemVkRGV2aWNlTmFtZSksIG1fcGFnZS0+cGFnZUlEKCkp
OwogfQogCiB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OmF1ZGlvTWVkaWFTZWxlY3Rp
b25JbmRleENoYW5nZWQodWludDY0X3QgY29udGV4dElkLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4
KQogewotICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdl
clByb3h5OjpTZXRBdWRpb01lZGlhU2VsZWN0aW9uSW5kZXgoY29udGV4dElkLCBzZWxlY3RlZElu
ZGV4KSwgbV9wYWdlLT5wYWdlSUQoKSk7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQ
bGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OkF1ZGlvTWVkaWFTZWxlY3Rpb25JbmRleENoYW5n
ZWQoY29udGV4dElkLCBzZWxlY3RlZEluZGV4KSwgbV9wYWdlLT5wYWdlSUQoKSk7CiB9CiAKIHZv
aWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6bGVnaWJsZU1lZGlhU2VsZWN0aW9uSW5kZXhD
aGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCkKIHsKLSAg
ICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6
U2V0TGVnaWJsZU1lZGlhU2VsZWN0aW9uSW5kZXgoY29udGV4dElkLCBzZWxlY3RlZEluZGV4KSwg
bV9wYWdlLT5wYWdlSUQoKSk7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQbGF5YmFj
a1Nlc3Npb25NYW5hZ2VyUHJveHk6OkxlZ2libGVNZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdlZChj
b250ZXh0SWQsIHNlbGVjdGVkSW5kZXgpLCBtX3BhZ2UtPnBhZ2VJRCgpKTsKIH0KIAogdm9pZCBX
ZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjp3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZENo
YW5nZWQodWludDY0X3QgY29udGV4dElkLCBib29sIGRpc2FibGVkKQogewotICAgIG1fcGFnZS0+
c2VuZChNZXNzYWdlczo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpTZXRXaXJlbGVz
c1ZpZGVvUGxheWJhY2tEaXNhYmxlZChjb250ZXh0SWQsIGRpc2FibGVkKSk7CisgICAgbV9wYWdl
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OldpcmVsZXNz
VmlkZW9QbGF5YmFja0Rpc2FibGVkQ2hhbmdlZChjb250ZXh0SWQsIGRpc2FibGVkKSk7CiB9CiAK
IHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6bXV0ZWRDaGFuZ2VkKHVpbnQ2NF90IGNv
bnRleHRJZCwgYm9vbCBtdXRlZCkKIHsKLSAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBs
YXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6U2V0TXV0ZWQoY29udGV4dElkLCBtdXRlZCkpOwor
ICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5
OjpNdXRlZENoYW5nZWQoY29udGV4dElkLCBtdXRlZCkpOwogfQogCiAjcHJhZ21hIG1hcmsgTWVz
c2FnZXMgZnJvbSBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6CkBAIC00NjIsNiArNDYy
LDEyIEBAIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6dG9nZ2xlTXV0ZWQodWludDY0
X3QgY29udGV4dElkKQogICAgIGVuc3VyZU1vZGVsKGNvbnRleHRJZCkudG9nZ2xlTXV0ZWQoKTsK
IH0KIAordm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjpzZXRNdXRlZCh1aW50NjRfdCBj
b250ZXh0SWQsIGJvb2wgbXV0ZWQpCit7CisgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgaW5kaWNh
dG9yKFByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CisgICAgZW5zdXJlTW9kZWwoY29udGV4dElkKS5z
ZXRNdXRlZChtdXRlZCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8g
UExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBFTkFCTEUoVklERU9fUFJFU0VOVEFU
SU9OX01PREUpKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313732</attachid>
            <date>2017-06-23 11:41:50 -0700</date>
            <delta_ts>2017-06-23 12:32:22 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-173777-20170623114150.patch</filename>
            <type>text/plain</type>
            <size>43637</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4NjM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGRhNTJiOWY0ZWVkNjE2
NDVlODFmYWM5NGEwNmE0ZjczYTg5MTk0My4uYmJjYjI5OTVjOWU1YzA4NTRkN2ZkNmE1ZmRhMDVk
Njc1NTA1Zjk3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE3LTA2LTIzICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtXSzJdIFN1cHBvcnQgLVtX
ZWJBVlBsYXllckNvbnRyb2xsZXIgc2V0TXV0ZWQ6XQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczNzc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJp
YyBDYXJsc29uLgorCisgICAgICAgIEhhdmUgLVtXZWJBVlBsYXllckNvbnRyb2xsZXIgc2V0TXV0
ZWQ6XSBwYXNzIHRoZSByZXF1ZXN0IHRvIGl0cyBkZWxlZ2F0ZSAodGhlIG1vZGVsKQorICAgICAg
ICByYXRoZXIgdGhhbiBqdXN0IHN0b3JpbmcgdGhlIHZhbHVlLgorCisgICAgICAgICogcGxhdGZv
cm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9kZWwuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9j
b2NvYS9XZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5oOgorICAgICAgICAqIHBs
YXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lm1tOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6OnRvZ2ds
ZU11dGVkKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFF
bGVtZW50OjpzZXRNdXRlZCk6CisgICAgICAgICogcGxhdGZvcm0vaW9zL1dlYkFWUGxheWVyQ29u
dHJvbGxlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIu
bW06CisgICAgICAgICgtW1dlYkFWUGxheWVyQ29udHJvbGxlciBpc011dGVkXSk6CisgICAgICAg
ICgtW1dlYkFWUGxheWVyQ29udHJvbGxlciBzZXRNdXRlZDpdKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckFWS2l0Lm1tOgorICAgICAgICAoV2Vi
VmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckNvbnRleHQ6OnNldE11dGVkKToKKwogMjAxNy0wNi0y
MiAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9O
IChyMjE3MjIzKTogW2lPU10gVmlkZW8ga2VlcHMgcGxheWluZyBhZnRlciBhcHBsaWNhdGlvbiBp
cyBiYWNrZ3JvdW5kZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA2YjRiZTMzNTA2NDhmNTI0YzdmYzdhODM1Y2Vk
MjZiNjJmMmE0YzMxLi5hNTc4NzY2ZjJlZjY0Mjc5MjhkMjgxNDQwM2U1ZDhmZmQzN2RhODMxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsOTQgQEAKKzIwMTctMDYtMjMgIEplciBOb2JsZSAgPGplci5u
b2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMl0gU3VwcG9ydCAtW1dlYkFWUGxheWVyQ29u
dHJvbGxlciBzZXRNdXRlZDpdCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzM3NzcKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisK
KyAgICAgICAgQWRkIGEgU2V0TXV0ZWQgbWVzc2FnZSB0byBXZWJQbGF5YmFja1Nlc3Npb25NYW5h
Z2VyLgorCisgICAgICAgIERyaXZlLWJ5IHJlZmFjdG9yaW5nOiBCZWNhdXNlIHRoZSBuZXcgc2V0
TXV0ZWQoKSBtZXRob2QgY29uZmxpY3RzIHdpdGggdGhlIGV4aXN0aW5nIHNldE11dGVkKCkKKyAg
ICAgICAgbm90aWZpY2F0aW9uLCBkbyBhIGdpYW50IHJlbmFtZSBvZiB0aGUgbm90aWZpY2lhdGlv
biBtZXRob2RzIGZyb20gc2V0KFZhbHVlKSAtPiAodmFsdWUpQ2hhbmdlZC4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Lm1lc3Nh
Z2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5h
Z2VyUHJveHkubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29u
dGV4dDo6c2V0TXV0ZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25Nb2Rl
bENvbnRleHQ6OnBsYXliYWNrU3RhcnRlZFRpbWVDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpkdXJhdGlvbkNoYW5nZWQpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OmN1cnJlbnRUaW1lQ2hh
bmdlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6
YnVmZmVyZWRUaW1lQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lv
bk1vZGVsQ29udGV4dDo6cmF0ZUNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFj
a1Nlc3Npb25Nb2RlbENvbnRleHQ6OnNlZWthYmxlUmFuZ2VzQ2hhbmdlZCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6Y2FuUGxheUZhc3RSZXZlcnNl
Q2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4
dDo6YXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpsZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRp
b25zQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29u
dGV4dDo6YXVkaW9NZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6
OldlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6bGVnaWJsZU1lZGlhU2VsZWN0aW9uSW5k
ZXhDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250
ZXh0OjpleHRlcm5hbFBsYXliYWNrQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXli
YWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6d2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWRDaGFu
Z2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0Ojpt
dXRlZENoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
UHJveHk6OmN1cnJlbnRUaW1lQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNr
U2Vzc2lvbk1hbmFnZXJQcm94eTo6YnVmZmVyZWRUaW1lQ2hhbmdlZCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6c2Vla2FibGVSYW5nZXNWZWN0b3JD
aGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5
OjpjYW5QbGF5RmFzdFJldmVyc2VDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJh
Y2tTZXNzaW9uTWFuYWdlclByb3h5OjphdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9uc0NoYW5nZWQp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OmxlZ2li
bGVNZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxh
eWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjphdWRpb01lZGlhU2VsZWN0aW9uSW5kZXhDaGFuZ2Vk
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpsZWdp
YmxlTWVkaWFTZWxlY3Rpb25JbmRleENoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5
YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OmV4dGVybmFsUGxheWJhY2tQcm9wZXJ0aWVzQ2hhbmdl
ZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6d2ly
ZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWRDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjptdXRlZENoYW5nZWQpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OmR1cmF0aW9uQ2hhbmdlZCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6cGxheWJhY2tT
dGFydGVkVGltZUNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25N
YW5hZ2VyUHJveHk6OnJhdGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tT
ZXNzaW9uTWFuYWdlclByb3h5OjpzZXRNdXRlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXli
YWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6Y29udHJvbHNNYW5hZ2VySW50ZXJmYWNlKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpzZXRQbGF5YmFja1N0
YXJ0ZWRUaW1lKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9u
TW9kZWxDb250ZXh0OjpzZXREdXJhdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6Oldl
YlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6c2V0Q3VycmVudFRpbWUpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnNldEJ1ZmZl
cmVkVGltZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1v
ZGVsQ29udGV4dDo6c2V0UmF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBsYXli
YWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6c2V0U2Vla2FibGVSYW5nZXMpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnNldENhblBsYXlG
YXN0UmV2ZXJzZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lv
bk1vZGVsQ29udGV4dDo6c2V0QXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnMpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnNldExlZ2li
bGVNZWRpYVNlbGVjdGlvbk9wdGlvbnMpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQ
bGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnNldEF1ZGlvTWVkaWFTZWxlY3Rpb25JbmRleCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4
dDo6c2V0TGVnaWJsZU1lZGlhU2VsZWN0aW9uSW5kZXgpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
S2l0OjpXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnNldEV4dGVybmFsUGxheWJhY2sp
OiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRl
eHQ6OnNldFdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpzZXRDdXJyZW50VGltZSk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94
eTo6c2V0QnVmZmVyZWRUaW1lKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJh
Y2tTZXNzaW9uTWFuYWdlclByb3h5OjpzZXRTZWVrYWJsZVJhbmdlc1ZlY3Rvcik6IERlbGV0ZWQu
CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6c2V0Q2Fu
UGxheUZhc3RSZXZlcnNlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tT
ZXNzaW9uTWFuYWdlclByb3h5OjpzZXRBdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9ucyk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6c2V0
TGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9ucyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6
OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6c2V0QXVkaW9NZWRpYVNlbGVjdGlvbklu
ZGV4KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdl
clByb3h5OjpzZXRMZWdpYmxlTWVkaWFTZWxlY3Rpb25JbmRleCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6c2V0RXh0ZXJuYWxQbGF5
YmFja1Byb3BlcnRpZXMpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nl
c3Npb25NYW5hZ2VyUHJveHk6OnNldFdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Ojpz
ZXREdXJhdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lv
bk1hbmFnZXJQcm94eTo6c2V0UGxheWJhY2tTdGFydGVkVGltZSk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJLaXQ6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6c2V0UmF0ZSk6IERlbGV0
ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29jb2EvV2ViUGxheWJhY2tTZXNz
aW9uTWFuYWdlci5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdl
cjo6ZHVyYXRpb25DaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9u
TWFuYWdlcjo6Y3VycmVudFRpbWVDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJh
Y2tTZXNzaW9uTWFuYWdlcjo6YnVmZmVyZWRUaW1lQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6
OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OnBsYXliYWNrU3RhcnRlZFRpbWVDaGFuZ2VkKToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6cmF0ZUNoYW5nZWQp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjpzZWVrYWJsZVJh
bmdlc0NoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
OjpjYW5QbGF5RmFzdFJldmVyc2VDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxheWJh
Y2tTZXNzaW9uTWFuYWdlcjo6YXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6bGVnaWJsZU1lZGlhU2Vs
ZWN0aW9uT3B0aW9uc0NoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Np
b25NYW5hZ2VyOjpleHRlcm5hbFBsYXliYWNrQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OmF1ZGlvTWVkaWFTZWxlY3Rpb25JbmRleENoYW5nZWQp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjpsZWdpYmxlTWVk
aWFTZWxlY3Rpb25JbmRleENoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nl
c3Npb25NYW5hZ2VyOjp3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZENoYW5nZWQpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjptdXRlZENoYW5nZWQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjpzZXRNdXRlZCk6CisK
IDIwMTctMDYtMjEgIEplcmVteSBKb25lcyAgPGplcmVteWpAYXBwbGUuY29tPgogCiAgICAgICAg
IERvbid0IGNsZWFyIGF1ZGlvIG11dGUgd2hlbiBtdXRpbmcgY2FwdHVyZS4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25Nb2RlbC5o
CmluZGV4IDJlNDAzMDIzNzJhOWNjNGI4MDNjZDIwMDE0MGE0ODNmYjlhNjRlYWIuLjA2ZDUzZjBm
Nzc2OTM3NzVhZDQ4NjFjMjIzMDRhYzkzODAwOWM4MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9kZWwuaApAQCAtNTcs
NiArNTcsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNlbGVjdExlZ2libGVNZWRpYU9w
dGlvbih1aW50NjRfdCBpbmRleCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB0b2dnbGVQaWN0dXJl
SW5QaWN0dXJlKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB0b2dnbGVNdXRlZCgpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgc2V0TXV0ZWQoYm9vbCkgPSAwOwogCiAgICAgZW51bSBFeHRlcm5hbFBs
YXliYWNrVGFyZ2V0VHlwZSB7IFRhcmdldFR5cGVOb25lLCBUYXJnZXRUeXBlQWlyUGxheSwgVGFy
Z2V0VHlwZVRWT3V0IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nv
Y29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25Nb2RlbE1lZGlhRWxlbWVudC5oCmlu
ZGV4IDczYWEzN2ZiYTUzZjAyMDhlNWVlZDlkOTJhNjhkZmFhYjJlNTVlN2QuLmFkODk1MTM3NTg4
NGQ2YzgxYTdmMjM4OTZkOGM0ZjY1MzM5MDM4YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxN
ZWRpYUVsZW1lbnQuaApAQCAtNzEsNiArNzEsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBzZWxlY3RMZWdpYmxlTWVkaWFPcHRpb24odWludDY0X3QgaW5kZXgpIGZpbmFsOwog
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdG9nZ2xlUGljdHVyZUluUGljdHVyZSgpIGZpbmFsOwog
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgdG9nZ2xlTXV0ZWQoKSBmaW5hbDsKKyAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldE11dGVkKGJvb2wpIGZpbmFsOwogCiAgICAgZG91YmxlIGR1cmF0aW9u
KCkgY29uc3QgZmluYWw7CiAgICAgZG91YmxlIGN1cnJlbnRUaW1lKCkgY29uc3QgZmluYWw7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9XZWJQbGF5YmFja1Nlc3Np
b25Nb2RlbE1lZGlhRWxlbWVudC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dl
YlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lm1tCmluZGV4IGMzNDY3MjA4OGVlNDg3
MzI4ZDRlMzIxOWRjYjExMDE1ODJkMmIyYzMuLmY3ODRjYzg4MjMxNWRjZWZkMjc3ZGQyNzVjZDQ3
OTkxMjMyMTFkODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1dl
YlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1vZGVsTWVkaWFFbGVtZW50Lm1tCkBA
IC0yODEsOCArMjgxLDEzIEBAIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1l
bnQ6OnRvZ2dsZVBpY3R1cmVJblBpY3R1cmUoKQogCiB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1v
ZGVsTWVkaWFFbGVtZW50Ojp0b2dnbGVNdXRlZCgpCiB7CisgICAgc2V0TXV0ZWQoIWlzTXV0ZWQo
KSk7Cit9CisKK3ZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxNZWRpYUVsZW1lbnQ6OnNldE11
dGVkKGJvb2wgbXV0ZWQpCit7CiAgICAgaWYgKG1fbWVkaWFFbGVtZW50KQotICAgICAgICBtX21l
ZGlhRWxlbWVudC0+c2V0TXV0ZWQoIW1fbWVkaWFFbGVtZW50LT5tdXRlZCgpKTsKKyAgICAgICAg
bV9tZWRpYUVsZW1lbnQtPnNldE11dGVkKG11dGVkKTsKIH0KIAogdm9pZCBXZWJQbGF5YmFja1Nl
c3Npb25Nb2RlbE1lZGlhRWxlbWVudDo6dXBkYXRlTWVkaWFTZWxlY3Rpb25PcHRpb25zKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xs
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIu
aAppbmRleCBhN2U4MjQ2MGNjNjVkZTQxM2I2ODYxYzE4ZjQ3MjQ3ZWU1OGU5MTcxLi5lNWNmZjEy
YmJhZmFlNjkxMTgzMTI3YmYyODBmYTkzY2U5MGYyNTEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9pb3MvV2ViQVZQbGF5ZXJDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vaW9zL1dlYkFWUGxheWVyQ29udHJvbGxlci5oCkBAIC00MCw2ICs0MCw3
IEBAIGNsYXNzIFdlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZUFWS2l0OwogICAgIFdlYkFWTWVk
aWFTZWxlY3Rpb25PcHRpb24gKl9jdXJyZW50QXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbjsKICAg
ICBXZWJBVk1lZGlhU2VsZWN0aW9uT3B0aW9uICpfY3VycmVudExlZ2libGVNZWRpYVNlbGVjdGlv
bk9wdGlvbjsKICAgICBCT09MIF9waWN0dXJlSW5QaWN0dXJlSW50ZXJydXB0ZWQ7CisgICAgQk9P
TCBfbXV0ZWQ7CiB9CiAKIEBwcm9wZXJ0eSAocmV0YWluKSBBVlBsYXllckNvbnRyb2xsZXIqIHBs
YXllckNvbnRyb2xsZXJQcm94eTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2lvcy9XZWJBVlBsYXllckNvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
b3MvV2ViQVZQbGF5ZXJDb250cm9sbGVyLm1tCmluZGV4IDFhY2M0NDQzZDgxYjBkM2FmMTQ3NzY1
ODRkZGMwM2U0MjkxNTlkODQuLjZiZmM1Y2ExYWEyNmIyM2U1ZThhNDdhMmY2OGMyMjg3ZjMxOGFh
MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJBVlBsYXllckNv
bnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9zL1dlYkFWUGxheWVy
Q29udHJvbGxlci5tbQpAQCAtNDY1LDYgKzQ2NSwyMSBAQCAtICh2b2lkKXNldFBpY3R1cmVJblBp
Y3R1cmVJbnRlcnJ1cHRlZDooQk9PTClwaWN0dXJlSW5QaWN0dXJlSW50ZXJydXB0ZWQKICAgICB9
CiB9CiAKKy0gKEJPT0wpaXNNdXRlZAoreworICAgIHJldHVybiBfbXV0ZWQ7Cit9CisKKy0gKHZv
aWQpc2V0TXV0ZWQ6KEJPT0wpbXV0ZWQKK3sKKyAgICBpZiAoX211dGVkID09IG11dGVkKQorICAg
ICAgICByZXR1cm47CisgICAgX211dGVkID0gbXV0ZWQ7CisKKyAgICBpZiAoc2VsZi5kZWxlZ2F0
ZSkKKyAgICAgICAgc2VsZi5kZWxlZ2F0ZS0+c2V0TXV0ZWQobXV0ZWQpOworfQorCiAtICh2b2lk
KXRvZ2dsZU11dGVkOihpZClzZW5kZXIKIHsKICAgICBVTlVTRURfUEFSQU0oc2VuZGVyKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5D
b250cm9sbGVyQVZLaXQubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pb3MvV2ViVmlkZW9G
dWxsc2NyZWVuQ29udHJvbGxlckFWS2l0Lm1tCmluZGV4IGM1MjcyNWI4YmYyNDI5ZDNmODljNzVl
YTVkMjkyZWE4MjY0YmYyZjAuLjgxMDFkNmEwNWZmNzI4ZDk5ZmIwYjc1ZmFjZjA1ZGY5OTBkOWU5
ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lvcy9XZWJWaWRlb0Z1bGxz
Y3JlZW5Db250cm9sbGVyQVZLaXQubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW9z
L1dlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktpdC5tbQpAQCAtMTY4LDYgKzE2OCw3IEBA
IHByaXZhdGU6CiAgICAgYm9vbCB3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCgpIGNvbnN0
IG92ZXJyaWRlOwogICAgIHZvaWQgdG9nZ2xlUGljdHVyZUluUGljdHVyZSgpIG92ZXJyaWRlIHsg
fQogICAgIHZvaWQgdG9nZ2xlTXV0ZWQoKSBvdmVycmlkZTsKKyAgICB2b2lkIHNldE11dGVkKGJv
b2wpIGZpbmFsOwogCiAgICAgLy8gV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDbGllbnQKICAgICB2
b2lkIGR1cmF0aW9uQ2hhbmdlZChkb3VibGUpIG92ZXJyaWRlOwpAQCAtNjA1LDYgKzYwNiwxNSBA
QCB2b2lkIFdlYlZpZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJDb250ZXh0Ojp0b2dnbGVNdXRlZCgp
CiAgICAgfSk7CiB9CiAKK3ZvaWQgV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxlckNvbnRleHQ6
OnNldE11dGVkKGJvb2wgbXV0ZWQpCit7CisgICAgQVNTRVJUKGlzVUlUaHJlYWQoKSk7CisgICAg
V2ViVGhyZWFkUnVuKFtwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZlB0cih0aGlzKSwgdGhpcywgbXV0
ZWRdIHsKKyAgICAgICAgaWYgKG1fcGxheWJhY2tNb2RlbCkKKyAgICAgICAgICAgIG1fcGxheWJh
Y2tNb2RlbC0+c2V0TXV0ZWQobXV0ZWQpOworICAgIH0pOworfQorCiB2b2lkIFdlYlZpZGVvRnVs
bHNjcmVlbkNvbnRyb2xsZXJDb250ZXh0OjpiZWdpblNjcnViYmluZygpCiB7CiAgICAgQVNTRVJU
KGlzVUlUaHJlYWQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29j
b2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5LmgKaW5kZXggOGIxMDhh
YzY1MTE4MDY2MDQyZDc1ZTkwNTdiYjU0MTQ3M2EzMTIyYS4uNmMzM2JlNjVhOThjMjE5YzBkYjkx
ZDAzMjg0Mjk1ZWNlNWY1NDczZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkuaApAQCAt
NzAsMjAgKzcwLDIwIEBAIHB1YmxpYzoKICAgICB2b2lkIGFkZENsaWVudChXZWJDb3JlOjpXZWJQ
bGF5YmFja1Nlc3Npb25Nb2RlbENsaWVudCYpIGZpbmFsOwogICAgIHZvaWQgcmVtb3ZlQ2xpZW50
KFdlYkNvcmU6OldlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ2xpZW50JilmaW5hbDsKIAotICAgIHZv
aWQgc2V0RHVyYXRpb24oZG91YmxlKTsKLSAgICB2b2lkIHNldEN1cnJlbnRUaW1lKGRvdWJsZSk7
Ci0gICAgdm9pZCBzZXRCdWZmZXJlZFRpbWUoZG91YmxlKTsKLSAgICB2b2lkIHNldFBsYXliYWNr
U3RhcnRlZFRpbWUoZG91YmxlKTsKLSAgICB2b2lkIHNldFJhdGUoYm9vbCBpc1BsYXlpbmcsIGZs
b2F0IHBsYXliYWNrUmF0ZSk7Ci0gICAgdm9pZCBzZXRTZWVrYWJsZVJhbmdlcyhXZWJDb3JlOjpU
aW1lUmFuZ2VzJiwgZG91YmxlIGxhc3RNb2RpZmllZFRpbWUsIGRvdWJsZSBsaXZlVXBkYXRlSW50
ZXJ2YWwpOwotICAgIHZvaWQgc2V0Q2FuUGxheUZhc3RSZXZlcnNlKGJvb2wpOwotICAgIHZvaWQg
c2V0QXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnMoY29uc3QgVmVjdG9yPFdlYkNvcmU6Ok1lZGlh
U2VsZWN0aW9uT3B0aW9uPiYgb3B0aW9ucywgdWludDY0X3QgaW5kZXgpOwotICAgIHZvaWQgc2V0
TGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9ucyhjb25zdCBWZWN0b3I8V2ViQ29yZTo6TWVkaWFT
ZWxlY3Rpb25PcHRpb24+JiBvcHRpb25zLCB1aW50NjRfdCBpbmRleCk7Ci0gICAgdm9pZCBzZXRB
dWRpb01lZGlhU2VsZWN0aW9uSW5kZXgodWludDY0X3Qgc2VsZWN0ZWRJbmRleCk7Ci0gICAgdm9p
ZCBzZXRMZWdpYmxlTWVkaWFTZWxlY3Rpb25JbmRleCh1aW50NjRfdCBzZWxlY3RlZEluZGV4KTsK
LSAgICB2b2lkIHNldEV4dGVybmFsUGxheWJhY2soYm9vbCwgV2ViUGxheWJhY2tTZXNzaW9uTW9k
ZWw6OkV4dGVybmFsUGxheWJhY2tUYXJnZXRUeXBlLCBjb25zdCBTdHJpbmcmKTsKLSAgICB2b2lk
IHNldFdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkKGJvb2wpOwotICAgIHZvaWQgc2V0TXV0
ZWQoYm9vbCk7CisgICAgdm9pZCBkdXJhdGlvbkNoYW5nZWQoZG91YmxlKTsKKyAgICB2b2lkIGN1
cnJlbnRUaW1lQ2hhbmdlZChkb3VibGUpOworICAgIHZvaWQgYnVmZmVyZWRUaW1lQ2hhbmdlZChk
b3VibGUpOworICAgIHZvaWQgcGxheWJhY2tTdGFydGVkVGltZUNoYW5nZWQoZG91YmxlKTsKKyAg
ICB2b2lkIHJhdGVDaGFuZ2VkKGJvb2wgaXNQbGF5aW5nLCBmbG9hdCBwbGF5YmFja1JhdGUpOwor
ICAgIHZvaWQgc2Vla2FibGVSYW5nZXNDaGFuZ2VkKFdlYkNvcmU6OlRpbWVSYW5nZXMmLCBkb3Vi
bGUgbGFzdE1vZGlmaWVkVGltZSwgZG91YmxlIGxpdmVVcGRhdGVJbnRlcnZhbCk7CisgICAgdm9p
ZCBjYW5QbGF5RmFzdFJldmVyc2VDaGFuZ2VkKGJvb2wpOworICAgIHZvaWQgYXVkaW9NZWRpYVNl
bGVjdGlvbk9wdGlvbnNDaGFuZ2VkKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlv
bk9wdGlvbj4mIG9wdGlvbnMsIHVpbnQ2NF90IGluZGV4KTsKKyAgICB2b2lkIGxlZ2libGVNZWRp
YVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpNZWRpYVNlbGVj
dGlvbk9wdGlvbj4mIG9wdGlvbnMsIHVpbnQ2NF90IGluZGV4KTsKKyAgICB2b2lkIGF1ZGlvTWVk
aWFTZWxlY3Rpb25JbmRleENoYW5nZWQodWludDY0X3Qgc2VsZWN0ZWRJbmRleCk7CisgICAgdm9p
ZCBsZWdpYmxlTWVkaWFTZWxlY3Rpb25JbmRleENoYW5nZWQodWludDY0X3Qgc2VsZWN0ZWRJbmRl
eCk7CisgICAgdm9pZCBleHRlcm5hbFBsYXliYWNrQ2hhbmdlZChib29sLCBXZWJQbGF5YmFja1Nl
c3Npb25Nb2RlbDo6RXh0ZXJuYWxQbGF5YmFja1RhcmdldFR5cGUsIGNvbnN0IFN0cmluZyYpOwor
ICAgIHZvaWQgd2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWRDaGFuZ2VkKGJvb2wpOworICAg
IHZvaWQgbXV0ZWRDaGFuZ2VkKGJvb2wpOwogCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBX
ZWJWaWRlb0Z1bGxzY3JlZW5Nb2RlbENvbnRleHQ7CkBAIC0xMDksNiArMTA5LDcgQEAgcHJpdmF0
ZToKICAgICB2b2lkIHNlbGVjdExlZ2libGVNZWRpYU9wdGlvbih1aW50NjRfdCkgZmluYWw7CiAg
ICAgdm9pZCB0b2dnbGVQaWN0dXJlSW5QaWN0dXJlKCkgZmluYWw7CiAgICAgdm9pZCB0b2dnbGVN
dXRlZCgpIGZpbmFsOworICAgIHZvaWQgc2V0TXV0ZWQoYm9vbCkgZmluYWw7CiAKICAgICBkb3Vi
bGUgcGxheWJhY2tTdGFydGVkVGltZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcGxheWJhY2tT
dGFydGVkVGltZTsgfQogICAgIGRvdWJsZSBkdXJhdGlvbigpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IG1fZHVyYXRpb247IH0KQEAgLTE4NiwyMSArMTg3LDIxIEBAIHByaXZhdGU6CiAgICAgdm9pZCBz
ZXRVcFBsYXliYWNrQ29udHJvbHNNYW5hZ2VyV2l0aElEKHVpbnQ2NF90IGNvbnRleHRJZCk7CiAg
ICAgdm9pZCBjbGVhclBsYXliYWNrQ29udHJvbHNNYW5hZ2VyKCk7CiAgICAgdm9pZCByZXNldE1l
ZGlhU3RhdGUodWludDY0X3QgY29udGV4dElkKTsKLSAgICB2b2lkIHNldEN1cnJlbnRUaW1lKHVp
bnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIGN1cnJlbnRUaW1lLCBkb3VibGUgaG9zdFRpbWUpOwot
ICAgIHZvaWQgc2V0QnVmZmVyZWRUaW1lKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIGJ1ZmZl
cmVkVGltZSk7Ci0gICAgdm9pZCBzZXRTZWVrYWJsZVJhbmdlc1ZlY3Rvcih1aW50NjRfdCBjb250
ZXh0SWQsIFZlY3RvcjxzdGQ6OnBhaXI8ZG91YmxlLCBkb3VibGU+PiByYW5nZXMsIGRvdWJsZSBs
YXN0TW9kaWZpZWRUaW1lLCBkb3VibGUgbGl2ZVVwZGF0ZUludGVydmFsKTsKLSAgICB2b2lkIHNl
dENhblBsYXlGYXN0UmV2ZXJzZSh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgdmFsdWUpOwotICAg
IHZvaWQgc2V0QXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnModWludDY0X3QgY29udGV4dElkLCBW
ZWN0b3I8V2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25PcHRpb24+IG9wdGlvbnMsIHVpbnQ2NF90IHNl
bGVjdGVkSW5kZXgpOwotICAgIHZvaWQgc2V0TGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9ucyh1
aW50NjRfdCBjb250ZXh0SWQsIFZlY3RvcjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbj4g
b3B0aW9ucywgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCk7Ci0gICAgdm9pZCBzZXRBdWRpb01lZGlh
U2VsZWN0aW9uSW5kZXgodWludDY0X3QgY29udGV4dElkLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4
KTsKLSAgICB2b2lkIHNldExlZ2libGVNZWRpYVNlbGVjdGlvbkluZGV4KHVpbnQ2NF90IGNvbnRl
eHRJZCwgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCk7Ci0gICAgdm9pZCBzZXRFeHRlcm5hbFBsYXli
YWNrUHJvcGVydGllcyh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgZW5hYmxlZCwgdWludDMyX3Qg
dGFyZ2V0VHlwZSwgU3RyaW5nIGxvY2FsaXplZERldmljZU5hbWUpOwotICAgIHZvaWQgc2V0V2ly
ZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQodWludDY0X3QgY29udGV4dElkLCBib29sKTsKLSAg
ICB2b2lkIHNldER1cmF0aW9uKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIGR1cmF0aW9uKTsK
LSAgICB2b2lkIHNldFBsYXliYWNrU3RhcnRlZFRpbWUodWludDY0X3QgY29udGV4dElkLCBkb3Vi
bGUgcGxheWJhY2tTdGFydGVkVGltZSk7Ci0gICAgdm9pZCBzZXRSYXRlKHVpbnQ2NF90IGNvbnRl
eHRJZCwgYm9vbCBpc1BsYXlpbmcsIGRvdWJsZSByYXRlKTsKKyAgICB2b2lkIGN1cnJlbnRUaW1l
Q2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGRvdWJsZSBjdXJyZW50VGltZSwgZG91YmxlIGhv
c3RUaW1lKTsKKyAgICB2b2lkIGJ1ZmZlcmVkVGltZUNoYW5nZWQodWludDY0X3QgY29udGV4dElk
LCBkb3VibGUgYnVmZmVyZWRUaW1lKTsKKyAgICB2b2lkIHNlZWthYmxlUmFuZ2VzVmVjdG9yQ2hh
bmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIFZlY3RvcjxzdGQ6OnBhaXI8ZG91YmxlLCBkb3VibGU+
PiByYW5nZXMsIGRvdWJsZSBsYXN0TW9kaWZpZWRUaW1lLCBkb3VibGUgbGl2ZVVwZGF0ZUludGVy
dmFsKTsKKyAgICB2b2lkIGNhblBsYXlGYXN0UmV2ZXJzZUNoYW5nZWQodWludDY0X3QgY29udGV4
dElkLCBib29sIHZhbHVlKTsKKyAgICB2b2lkIGF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hh
bmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIFZlY3RvcjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9w
dGlvbj4gb3B0aW9ucywgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCk7CisgICAgdm9pZCBsZWdpYmxl
TWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIFZlY3RvcjxX
ZWJDb3JlOjpNZWRpYVNlbGVjdGlvbk9wdGlvbj4gb3B0aW9ucywgdWludDY0X3Qgc2VsZWN0ZWRJ
bmRleCk7CisgICAgdm9pZCBhdWRpb01lZGlhU2VsZWN0aW9uSW5kZXhDaGFuZ2VkKHVpbnQ2NF90
IGNvbnRleHRJZCwgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCk7CisgICAgdm9pZCBsZWdpYmxlTWVk
aWFTZWxlY3Rpb25JbmRleENoYW5nZWQodWludDY0X3QgY29udGV4dElkLCB1aW50NjRfdCBzZWxl
Y3RlZEluZGV4KTsKKyAgICB2b2lkIGV4dGVybmFsUGxheWJhY2tQcm9wZXJ0aWVzQ2hhbmdlZCh1
aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgZW5hYmxlZCwgdWludDMyX3QgdGFyZ2V0VHlwZSwgU3Ry
aW5nIGxvY2FsaXplZERldmljZU5hbWUpOworICAgIHZvaWQgd2lyZWxlc3NWaWRlb1BsYXliYWNr
RGlzYWJsZWRDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCk7CisgICAgdm9pZCBkdXJh
dGlvbkNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBkb3VibGUgZHVyYXRpb24pOworICAgIHZv
aWQgcGxheWJhY2tTdGFydGVkVGltZUNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBkb3VibGUg
cGxheWJhY2tTdGFydGVkVGltZSk7CisgICAgdm9pZCByYXRlQ2hhbmdlZCh1aW50NjRfdCBjb250
ZXh0SWQsIGJvb2wgaXNQbGF5aW5nLCBkb3VibGUgcmF0ZSk7CiAgICAgdm9pZCBoYW5kbGVDb250
cm9sbGVkRWxlbWVudElEUmVzcG9uc2UodWludDY0X3QsIFN0cmluZykgY29uc3Q7Ci0gICAgdm9p
ZCBzZXRNdXRlZCh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgbXV0ZWQpOworICAgIHZvaWQgbXV0
ZWRDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBtdXRlZCk7CiAKICAgICAvLyBNZXNz
YWdlcyB0byBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyCiAgICAgdm9pZCBwbGF5KHVpbnQ2NF90
IGNvbnRleHRJZCk7CkBAIC0yMTcsNiArMjE4LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNlbGVj
dExlZ2libGVNZWRpYU9wdGlvbih1aW50NjRfdCBjb250ZXh0SWQsIHVpbnQ2NF90IGluZGV4KTsK
ICAgICB2b2lkIHRvZ2dsZVBpY3R1cmVJblBpY3R1cmUodWludDY0X3QgY29udGV4dElkKTsKICAg
ICB2b2lkIHRvZ2dsZU11dGVkKHVpbnQ2NF90IGNvbnRleHRJZCk7CisgICAgdm9pZCBzZXRNdXRl
ZCh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wpOwogCiAgICAgV2ViUGFnZVByb3h5KiBtX3BhZ2U7
CiAgICAgSGFzaE1hcDx1aW50NjRfdCwgTW9kZWxJbnRlcmZhY2VUdXBsZT4gbV9jb250ZXh0TWFw
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNr
U2Vzc2lvbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KaW5kZXgg
NGUwYWVjMzg4NWM1MGY5ZjY5OGIyMDRiYzRmNzQxYWI2ZmQwOGE1YS4uZjYzNmE4MzI3M2ViOGUx
NDRhNmExMDM1MDU1Nzg5YzIzZTA5MTI3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFu
YWdlclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yMywyMCArMjMsMjAgQEAKICNpZiBQTEFURk9STShJ
T1MpIHx8IChQTEFURk9STShNQUMpICYmIEVOQUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkp
CiBtZXNzYWdlcyAtPiBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHkgewogICAgIFJlc2V0
TWVkaWFTdGF0ZSh1aW50NjRfdCBjb250ZXh0SWQpCi0gICAgU2V0Q3VycmVudFRpbWUodWludDY0
X3QgY29udGV4dElkLCBkb3VibGUgY3VycmVudFRpbWUsIGRvdWJsZSBob3N0VGltZSkKLSAgICBT
ZXRCdWZmZXJlZFRpbWUodWludDY0X3QgY29udGV4dElkLCBkb3VibGUgYnVmZmVyZWRUaW1lKQot
ICAgIFNldFNlZWthYmxlUmFuZ2VzVmVjdG9yKHVpbnQ2NF90IGNvbnRleHRJZCwgVmVjdG9yPHN0
ZDo6cGFpcjxkb3VibGUsIGRvdWJsZT4+IHJhbmdlcywgZG91YmxlIGxhc3RNb2RpZmllZFRpbWUs
IGRvdWJsZSBsaXZlVXBkYXRlSW50ZXJ2YWwpCi0gICAgU2V0Q2FuUGxheUZhc3RSZXZlcnNlKHVp
bnQ2NF90IGNvbnRleHRJZCwgYm9vbCB2YWx1ZSkKLSAgICBTZXRBdWRpb01lZGlhU2VsZWN0aW9u
T3B0aW9ucyh1aW50NjRfdCBjb250ZXh0SWQsIFZlY3RvcjxXZWJDb3JlOjpNZWRpYVNlbGVjdGlv
bk9wdGlvbj4gb3B0aW9ucywgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCkKLSAgICBTZXRMZWdpYmxl
TWVkaWFTZWxlY3Rpb25PcHRpb25zKHVpbnQ2NF90IGNvbnRleHRJZCwgVmVjdG9yPFdlYkNvcmU6
Ok1lZGlhU2VsZWN0aW9uT3B0aW9uPiBvcHRpb25zLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4KQot
ICAgIFNldEF1ZGlvTWVkaWFTZWxlY3Rpb25JbmRleCh1aW50NjRfdCBjb250ZXh0SWQsIHVpbnQ2
NF90IHNlbGVjdGVkSW5kZXgpCi0gICAgU2V0TGVnaWJsZU1lZGlhU2VsZWN0aW9uSW5kZXgodWlu
dDY0X3QgY29udGV4dElkLCB1aW50NjRfdCBzZWxlY3RlZEluZGV4KQotICAgIFNldEV4dGVybmFs
UGxheWJhY2tQcm9wZXJ0aWVzKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBlbmFibGVkLCB1aW50
MzJfdCB0YXJnZXRUeXBlLCBTdHJpbmcgbG9jYWxpemVkRGV2aWNlTmFtZSkKLSAgICBTZXRXaXJl
bGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZCh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgZGlzYWJs
ZWQpCi0gICAgU2V0RHVyYXRpb24odWludDY0X3QgY29udGV4dElkLCBkb3VibGUgZHVyYXRpb24p
Ci0gICAgU2V0UGxheWJhY2tTdGFydGVkVGltZSh1aW50NjRfdCBjb250ZXh0SWQsIGRvdWJsZSBw
bGF5YmFja1N0YXJ0ZWRUaW1lKQotICAgIFNldFJhdGUodWludDY0X3QgY29udGV4dElkLCBib29s
IGlzUGxheWluZywgZG91YmxlIHJhdGUpCi0gICAgU2V0TXV0ZWQodWludDY0X3QgY29udGV4dElk
LCBib29sIG11dGVkKTsKKyAgICBDdXJyZW50VGltZUNoYW5nZWQodWludDY0X3QgY29udGV4dElk
LCBkb3VibGUgY3VycmVudFRpbWUsIGRvdWJsZSBob3N0VGltZSkKKyAgICBCdWZmZXJlZFRpbWVD
aGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIGJ1ZmZlcmVkVGltZSkKKyAgICBTZWVr
YWJsZVJhbmdlc1ZlY3RvckNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBWZWN0b3I8c3RkOjpw
YWlyPGRvdWJsZSwgZG91YmxlPj4gcmFuZ2VzLCBkb3VibGUgbGFzdE1vZGlmaWVkVGltZSwgZG91
YmxlIGxpdmVVcGRhdGVJbnRlcnZhbCkKKyAgICBDYW5QbGF5RmFzdFJldmVyc2VDaGFuZ2VkKHVp
bnQ2NF90IGNvbnRleHRJZCwgYm9vbCB2YWx1ZSkKKyAgICBBdWRpb01lZGlhU2VsZWN0aW9uT3B0
aW9uc0NoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBWZWN0b3I8V2ViQ29yZTo6TWVkaWFTZWxl
Y3Rpb25PcHRpb24+IG9wdGlvbnMsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpCisgICAgTGVnaWJs
ZU1lZGlhU2VsZWN0aW9uT3B0aW9uc0NoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBWZWN0b3I8
V2ViQ29yZTo6TWVkaWFTZWxlY3Rpb25PcHRpb24+IG9wdGlvbnMsIHVpbnQ2NF90IHNlbGVjdGVk
SW5kZXgpCisgICAgQXVkaW9NZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdlZCh1aW50NjRfdCBjb250
ZXh0SWQsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpCisgICAgTGVnaWJsZU1lZGlhU2VsZWN0aW9u
SW5kZXhDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCkK
KyAgICBFeHRlcm5hbFBsYXliYWNrUHJvcGVydGllc0NoYW5nZWQodWludDY0X3QgY29udGV4dElk
LCBib29sIGVuYWJsZWQsIHVpbnQzMl90IHRhcmdldFR5cGUsIFN0cmluZyBsb2NhbGl6ZWREZXZp
Y2VOYW1lKQorICAgIFdpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkQ2hhbmdlZCh1aW50NjRf
dCBjb250ZXh0SWQsIGJvb2wgZGlzYWJsZWQpCisgICAgRHVyYXRpb25DaGFuZ2VkKHVpbnQ2NF90
IGNvbnRleHRJZCwgZG91YmxlIGR1cmF0aW9uKQorICAgIFBsYXliYWNrU3RhcnRlZFRpbWVDaGFu
Z2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIHBsYXliYWNrU3RhcnRlZFRpbWUpCisgICAg
UmF0ZUNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBib29sIGlzUGxheWluZywgZG91YmxlIHJh
dGUpCisgICAgTXV0ZWRDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBtdXRlZCk7CiAg
ICAgU2V0VXBQbGF5YmFja0NvbnRyb2xzTWFuYWdlcldpdGhJRCh1aW50NjRfdCBjb250ZXh0SWQp
CiAgICAgQ2xlYXJQbGF5YmFja0NvbnRyb2xzTWFuYWdlcigpCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHku
bW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFu
YWdlclByb3h5Lm1tCmluZGV4IDBlOWUxYjViY2QyMmE5ZGQ5MDUwZjIxN2VmNzk2NGM1YTA4ODk3
NzYuLjAwMTk0OGE0NmZmMjI2NTNkMzZjMzVlOWY3Yzc1NDliMzgxN2E3MWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
UHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0NvY29hL1dlYlBsYXliYWNr
U2Vzc2lvbk1hbmFnZXJQcm94eS5tbQpAQCAtMTQxLDM4ICsxNDEsNDQgQEAgdm9pZCBXZWJQbGF5
YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnRvZ2dsZU11dGVkKCkKICAgICAgICAgbV9tYW5hZ2Vy
LT50b2dnbGVNdXRlZChtX2NvbnRleHRJZCk7CiB9CiAKLXZvaWQgV2ViUGxheWJhY2tTZXNzaW9u
TW9kZWxDb250ZXh0OjpzZXRQbGF5YmFja1N0YXJ0ZWRUaW1lKGRvdWJsZSBwbGF5YmFja1N0YXJ0
ZWRUaW1lKQordm9pZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnNldE11dGVkKGJv
b2wgbXV0ZWQpCit7CisgICAgaWYgKG1fbWFuYWdlcikKKyAgICAgICAgbV9tYW5hZ2VyLT5zZXRN
dXRlZChtX2NvbnRleHRJZCwgbXV0ZWQpOworfQorCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1v
ZGVsQ29udGV4dDo6cGxheWJhY2tTdGFydGVkVGltZUNoYW5nZWQoZG91YmxlIHBsYXliYWNrU3Rh
cnRlZFRpbWUpCiB7CiAgICAgbV9wbGF5YmFja1N0YXJ0ZWRUaW1lID0gcGxheWJhY2tTdGFydGVk
VGltZTsKICAgICBtX3BsYXliYWNrU3RhcnRlZFRpbWVOZWVkc1VwZGF0ZSA9IGZhbHNlOwogfQog
Ci12b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6c2V0RHVyYXRpb24oZG91Ymxl
IGR1cmF0aW9uKQordm9pZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OmR1cmF0aW9u
Q2hhbmdlZChkb3VibGUgZHVyYXRpb24pCiB7CiAgICAgbV9kdXJhdGlvbiA9IGR1cmF0aW9uOwog
ICAgIGZvciAoYXV0byogY2xpZW50IDogbV9jbGllbnRzKQogICAgICAgICBjbGllbnQtPmR1cmF0
aW9uQ2hhbmdlZChkdXJhdGlvbik7CiB9CiAKLXZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxD
b250ZXh0OjpzZXRDdXJyZW50VGltZShkb3VibGUgY3VycmVudFRpbWUpCit2b2lkIFdlYlBsYXli
YWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6Y3VycmVudFRpbWVDaGFuZ2VkKGRvdWJsZSBjdXJyZW50
VGltZSkKIHsKICAgICBtX2N1cnJlbnRUaW1lID0gY3VycmVudFRpbWU7CiAgICAgYXV0byBhbmNo
b3JUaW1lID0gW1tOU1Byb2Nlc3NJbmZvIHByb2Nlc3NJbmZvXSBzeXN0ZW1VcHRpbWVdOwogICAg
IGlmIChtX3BsYXliYWNrU3RhcnRlZFRpbWVOZWVkc1VwZGF0ZSkKLSAgICAgICAgc2V0UGxheWJh
Y2tTdGFydGVkVGltZShjdXJyZW50VGltZSk7CisgICAgICAgIHBsYXliYWNrU3RhcnRlZFRpbWVD
aGFuZ2VkKGN1cnJlbnRUaW1lKTsKIAogICAgIGZvciAoYXV0byogY2xpZW50IDogbV9jbGllbnRz
KQogICAgICAgICBjbGllbnQtPmN1cnJlbnRUaW1lQ2hhbmdlZChjdXJyZW50VGltZSwgYW5jaG9y
VGltZSk7CiB9CiAKLXZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpzZXRCdWZm
ZXJlZFRpbWUoZG91YmxlIGJ1ZmZlcmVkVGltZSkKK3ZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9k
ZWxDb250ZXh0OjpidWZmZXJlZFRpbWVDaGFuZ2VkKGRvdWJsZSBidWZmZXJlZFRpbWUpCiB7CiAg
ICAgbV9idWZmZXJlZFRpbWUgPSBidWZmZXJlZFRpbWU7CiAgICAgZm9yIChhdXRvKiBjbGllbnQg
OiBtX2NsaWVudHMpCiAgICAgICAgIGNsaWVudC0+YnVmZmVyZWRUaW1lQ2hhbmdlZChidWZmZXJl
ZFRpbWUpOwogfQogCi12b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6c2V0UmF0
ZShib29sIGlzUGxheWluZywgZmxvYXQgcGxheWJhY2tSYXRlKQordm9pZCBXZWJQbGF5YmFja1Nl
c3Npb25Nb2RlbENvbnRleHQ6OnJhdGVDaGFuZ2VkKGJvb2wgaXNQbGF5aW5nLCBmbG9hdCBwbGF5
YmFja1JhdGUpCiB7CiAgICAgbV9pc1BsYXlpbmcgPSBpc1BsYXlpbmc7CiAgICAgbV9wbGF5YmFj
a1JhdGUgPSBwbGF5YmFja1JhdGU7CkBAIC0xODAsNyArMTg2LDcgQEAgdm9pZCBXZWJQbGF5YmFj
a1Nlc3Npb25Nb2RlbENvbnRleHQ6OnNldFJhdGUoYm9vbCBpc1BsYXlpbmcsIGZsb2F0IHBsYXli
YWNrUmF0ZSkKICAgICAgICAgY2xpZW50LT5yYXRlQ2hhbmdlZChpc1BsYXlpbmcsIHBsYXliYWNr
UmF0ZSk7CiB9CiAKLXZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpzZXRTZWVr
YWJsZVJhbmdlcyhXZWJDb3JlOjpUaW1lUmFuZ2VzJiBzZWVrYWJsZVJhbmdlcywgZG91YmxlIGxh
c3RNb2RpZmllZFRpbWUsIGRvdWJsZSBsaXZlVXBkYXRlSW50ZXJ2YWwpCit2b2lkIFdlYlBsYXli
YWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6c2Vla2FibGVSYW5nZXNDaGFuZ2VkKFdlYkNvcmU6OlRp
bWVSYW5nZXMmIHNlZWthYmxlUmFuZ2VzLCBkb3VibGUgbGFzdE1vZGlmaWVkVGltZSwgZG91Ymxl
IGxpdmVVcGRhdGVJbnRlcnZhbCkKIHsKICAgICBtX3NlZWthYmxlUmFuZ2VzID0gc2Vla2FibGVS
YW5nZXM7CiAgICAgbV9zZWVrYWJsZVRpbWVSYW5nZXNMYXN0TW9kaWZpZWRUaW1lID0gbGFzdE1v
ZGlmaWVkVGltZTsKQEAgLTE4OSwxNCArMTk1LDE0IEBAIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9u
TW9kZWxDb250ZXh0OjpzZXRTZWVrYWJsZVJhbmdlcyhXZWJDb3JlOjpUaW1lUmFuZ2VzJiBzZWVr
CiAgICAgICAgIGNsaWVudC0+c2Vla2FibGVSYW5nZXNDaGFuZ2VkKHNlZWthYmxlUmFuZ2VzLCBs
YXN0TW9kaWZpZWRUaW1lLCBsaXZlVXBkYXRlSW50ZXJ2YWwpOwogfQogCi12b2lkIFdlYlBsYXli
YWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6c2V0Q2FuUGxheUZhc3RSZXZlcnNlKGJvb2wgY2FuUGxh
eUZhc3RSZXZlcnNlKQordm9pZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OmNhblBs
YXlGYXN0UmV2ZXJzZUNoYW5nZWQoYm9vbCBjYW5QbGF5RmFzdFJldmVyc2UpCiB7CiAgICAgbV9j
YW5QbGF5RmFzdFJldmVyc2UgPSBjYW5QbGF5RmFzdFJldmVyc2U7CiAgICAgZm9yIChhdXRvKiBj
bGllbnQgOiBtX2NsaWVudHMpCiAgICAgICAgIGNsaWVudC0+Y2FuUGxheUZhc3RSZXZlcnNlQ2hh
bmdlZChjYW5QbGF5RmFzdFJldmVyc2UpOwogfQogCi12b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1v
ZGVsQ29udGV4dDo6c2V0QXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnMoY29uc3QgVmVjdG9yPE1l
ZGlhU2VsZWN0aW9uT3B0aW9uPiYgYXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnMsIHVpbnQ2NF90
IGF1ZGlvTWVkaWFTZWxlY3RlZEluZGV4KQordm9pZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENv
bnRleHQ6OmF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZChjb25zdCBWZWN0b3I8TWVk
aWFTZWxlY3Rpb25PcHRpb24+JiBhdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9ucywgdWludDY0X3Qg
YXVkaW9NZWRpYVNlbGVjdGVkSW5kZXgpCiB7CiAgICAgbV9hdWRpb01lZGlhU2VsZWN0aW9uT3B0
aW9ucyA9IGF1ZGlvTWVkaWFTZWxlY3Rpb25PcHRpb25zOwogICAgIG1fYXVkaW9NZWRpYVNlbGVj
dGVkSW5kZXggPSBhdWRpb01lZGlhU2VsZWN0ZWRJbmRleDsKQEAgLTIwNCw3ICsyMTAsNyBAQCB2
b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6c2V0QXVkaW9NZWRpYVNlbGVjdGlv
bk9wdGlvbnMoY29uc3QgVmVjdG9yPAogICAgICAgICBjbGllbnQtPmF1ZGlvTWVkaWFTZWxlY3Rp
b25PcHRpb25zQ2hhbmdlZChhdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9ucywgYXVkaW9NZWRpYVNl
bGVjdGVkSW5kZXgpOwogfQogCi12b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6
c2V0TGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9ucyhjb25zdCBWZWN0b3I8TWVkaWFTZWxlY3Rp
b25PcHRpb24+JiBsZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRpb25zLCB1aW50NjRfdCBsZWdpYmxl
TWVkaWFTZWxlY3RlZEluZGV4KQordm9pZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6
OmxlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKGNvbnN0IFZlY3RvcjxNZWRpYVNl
bGVjdGlvbk9wdGlvbj4mIGxlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnMsIHVpbnQ2NF90IGxl
Z2libGVNZWRpYVNlbGVjdGVkSW5kZXgpCiB7CiAgICAgbV9sZWdpYmxlTWVkaWFTZWxlY3Rpb25P
cHRpb25zID0gbGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9uczsKICAgICBtX2xlZ2libGVNZWRp
YVNlbGVjdGVkSW5kZXggPSBsZWdpYmxlTWVkaWFTZWxlY3RlZEluZGV4OwpAQCAtMjEzLDcgKzIx
OSw3IEBAIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjpzZXRMZWdpYmxlTWVk
aWFTZWxlY3Rpb25PcHRpb25zKGNvbnN0IFZlY3RvCiAgICAgICAgIGNsaWVudC0+bGVnaWJsZU1l
ZGlhU2VsZWN0aW9uT3B0aW9uc0NoYW5nZWQobGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9ucywg
bGVnaWJsZU1lZGlhU2VsZWN0ZWRJbmRleCk7CiB9CiAKLXZvaWQgV2ViUGxheWJhY2tTZXNzaW9u
TW9kZWxDb250ZXh0OjpzZXRBdWRpb01lZGlhU2VsZWN0aW9uSW5kZXgodWludDY0X3Qgc2VsZWN0
ZWRJbmRleCkKK3ZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0OjphdWRpb01lZGlh
U2VsZWN0aW9uSW5kZXhDaGFuZ2VkKHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpCiB7CiAgICAgbV9h
dWRpb01lZGlhU2VsZWN0ZWRJbmRleCA9IHNlbGVjdGVkSW5kZXg7CiAKQEAgLTIyMSw3ICsyMjcs
NyBAQCB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6c2V0QXVkaW9NZWRpYVNl
bGVjdGlvbkluZGV4KHVpbnQ2NF90IHNlbGVjdAogICAgICAgICBjbGllbnQtPmF1ZGlvTWVkaWFT
ZWxlY3Rpb25JbmRleENoYW5nZWQoc2VsZWN0ZWRJbmRleCk7CiB9CiAKLXZvaWQgV2ViUGxheWJh
Y2tTZXNzaW9uTW9kZWxDb250ZXh0OjpzZXRMZWdpYmxlTWVkaWFTZWxlY3Rpb25JbmRleCh1aW50
NjRfdCBzZWxlY3RlZEluZGV4KQordm9pZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6
OmxlZ2libGVNZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdlZCh1aW50NjRfdCBzZWxlY3RlZEluZGV4
KQogewogICAgIG1fbGVnaWJsZU1lZGlhU2VsZWN0ZWRJbmRleCA9IHNlbGVjdGVkSW5kZXg7CiAK
QEAgLTIyOSw3ICsyMzUsNyBAQCB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsQ29udGV4dDo6
c2V0TGVnaWJsZU1lZGlhU2VsZWN0aW9uSW5kZXgodWludDY0X3Qgc2VsZQogICAgICAgICBjbGll
bnQtPmxlZ2libGVNZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdlZChzZWxlY3RlZEluZGV4KTsKIH0K
IAotdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OnNldEV4dGVybmFsUGxheWJh
Y2soYm9vbCBlbmFibGVkLCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbDo6RXh0ZXJuYWxQbGF5YmFj
a1RhcmdldFR5cGUgdHlwZSwgY29uc3QgU3RyaW5nJiBsb2NhbGl6ZWROYW1lKQordm9pZCBXZWJQ
bGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OmV4dGVybmFsUGxheWJhY2tDaGFuZ2VkKGJvb2wg
ZW5hYmxlZCwgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWw6OkV4dGVybmFsUGxheWJhY2tUYXJnZXRU
eXBlIHR5cGUsIGNvbnN0IFN0cmluZyYgbG9jYWxpemVkTmFtZSkKIHsKICAgICBtX2V4dGVybmFs
UGxheWJhY2tFbmFibGVkID0gZW5hYmxlZDsKICAgICBtX2V4dGVybmFsUGxheWJhY2tUYXJnZXRU
eXBlID0gdHlwZTsKQEAgLTIzOSwxNCArMjQ1LDE0IEBAIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9u
TW9kZWxDb250ZXh0OjpzZXRFeHRlcm5hbFBsYXliYWNrKGJvb2wgZW5hYmxlZCwgV2ViUGxheWJh
CiAgICAgICAgIGNsaWVudC0+ZXh0ZXJuYWxQbGF5YmFja0NoYW5nZWQoZW5hYmxlZCwgdHlwZSwg
bG9jYWxpemVkTmFtZSk7CiB9CiAKLXZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTW9kZWxDb250ZXh0
OjpzZXRXaXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZChib29sIHdpcmVsZXNzVmlkZW9QbGF5
YmFja0Rpc2FibGVkKQordm9pZCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbENvbnRleHQ6OndpcmVs
ZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkQ2hhbmdlZChib29sIHdpcmVsZXNzVmlkZW9QbGF5YmFj
a0Rpc2FibGVkKQogewogICAgIG1fd2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQgPSB3aXJl
bGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZDsKICAgICBmb3IgKGF1dG8qIGNsaWVudCA6IG1fY2xp
ZW50cykKICAgICAgICAgY2xpZW50LT53aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZENoYW5n
ZWQod2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQpOwogfQogCi12b2lkIFdlYlBsYXliYWNr
U2Vzc2lvbk1vZGVsQ29udGV4dDo6c2V0TXV0ZWQoYm9vbCBtdXRlZCkKK3ZvaWQgV2ViUGxheWJh
Y2tTZXNzaW9uTW9kZWxDb250ZXh0OjptdXRlZENoYW5nZWQoYm9vbCBtdXRlZCkKIHsKICAgICBt
X211dGVkID0gbXV0ZWQ7CiAgICAgZm9yIChhdXRvKiBjbGllbnQgOiBtX2NsaWVudHMpCkBAIC0z
NjgsMTcgKzM3NCwxNyBAQCB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6cmVz
ZXRNZWRpYVN0YXRlKHVpbnQ2NF90IGNvbnRleHRJZCkKICAgICBlbnN1cmVJbnRlcmZhY2UoY29u
dGV4dElkKS5yZXNldE1lZGlhU3RhdGUoKTsKIH0KIAotdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25N
YW5hZ2VyUHJveHk6OnNldEN1cnJlbnRUaW1lKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIGN1
cnJlbnRUaW1lLCBkb3VibGUgaG9zdFRpbWUpCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFn
ZXJQcm94eTo6Y3VycmVudFRpbWVDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIGN1
cnJlbnRUaW1lLCBkb3VibGUgaG9zdFRpbWUpCiB7Ci0gICAgZW5zdXJlTW9kZWwoY29udGV4dElk
KS5zZXRDdXJyZW50VGltZShjdXJyZW50VGltZSk7CisgICAgZW5zdXJlTW9kZWwoY29udGV4dElk
KS5jdXJyZW50VGltZUNoYW5nZWQoY3VycmVudFRpbWUpOwogfQogCi12b2lkIFdlYlBsYXliYWNr
U2Vzc2lvbk1hbmFnZXJQcm94eTo6c2V0QnVmZmVyZWRUaW1lKHVpbnQ2NF90IGNvbnRleHRJZCwg
ZG91YmxlIGJ1ZmZlcmVkVGltZSkKK3ZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5
OjpidWZmZXJlZFRpbWVDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIGJ1ZmZlcmVk
VGltZSkKIHsKLSAgICBlbnN1cmVNb2RlbChjb250ZXh0SWQpLnNldEJ1ZmZlcmVkVGltZShidWZm
ZXJlZFRpbWUpOworICAgIGVuc3VyZU1vZGVsKGNvbnRleHRJZCkuYnVmZmVyZWRUaW1lQ2hhbmdl
ZChidWZmZXJlZFRpbWUpOwogfQogCi12b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94
eTo6c2V0U2Vla2FibGVSYW5nZXNWZWN0b3IodWludDY0X3QgY29udGV4dElkLCBWZWN0b3I8c3Rk
OjpwYWlyPGRvdWJsZSwgZG91YmxlPj4gcmFuZ2VzLCBkb3VibGUgbGFzdE1vZGlmaWVkVGltZSwg
ZG91YmxlIGxpdmVVcGRhdGVJbnRlcnZhbCkKK3ZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdl
clByb3h5OjpzZWVrYWJsZVJhbmdlc1ZlY3RvckNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBW
ZWN0b3I8c3RkOjpwYWlyPGRvdWJsZSwgZG91YmxlPj4gcmFuZ2VzLCBkb3VibGUgbGFzdE1vZGlm
aWVkVGltZSwgZG91YmxlIGxpdmVVcGRhdGVJbnRlcnZhbCkKIHsKICAgICBSZWY8VGltZVJhbmdl
cz4gdGltZVJhbmdlcyA9IFRpbWVSYW5nZXM6OmNyZWF0ZSgpOwogICAgIGZvciAoY29uc3QgYXV0
byYgcmFuZ2UgOiByYW5nZXMpIHsKQEAgLTM4OCw2NSArMzk0LDY1IEBAIHZvaWQgV2ViUGxheWJh
Y2tTZXNzaW9uTWFuYWdlclByb3h5OjpzZXRTZWVrYWJsZVJhbmdlc1ZlY3Rvcih1aW50NjRfdCBj
b250ZXh0SWQsCiAgICAgICAgIHRpbWVSYW5nZXMtPmFkZChyYW5nZS5maXJzdCwgcmFuZ2Uuc2Vj
b25kKTsKICAgICB9CiAKLSAgICBlbnN1cmVNb2RlbChjb250ZXh0SWQpLnNldFNlZWthYmxlUmFu
Z2VzKHRpbWVSYW5nZXMsIGxhc3RNb2RpZmllZFRpbWUsIGxpdmVVcGRhdGVJbnRlcnZhbCk7Cisg
ICAgZW5zdXJlTW9kZWwoY29udGV4dElkKS5zZWVrYWJsZVJhbmdlc0NoYW5nZWQodGltZVJhbmdl
cywgbGFzdE1vZGlmaWVkVGltZSwgbGl2ZVVwZGF0ZUludGVydmFsKTsKIH0KIAotdm9pZCBXZWJQ
bGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNldENhblBsYXlGYXN0UmV2ZXJzZSh1aW50NjRf
dCBjb250ZXh0SWQsIGJvb2wgdmFsdWUpCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQ
cm94eTo6Y2FuUGxheUZhc3RSZXZlcnNlQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wg
dmFsdWUpCiB7Ci0gICAgZW5zdXJlTW9kZWwoY29udGV4dElkKS5zZXRDYW5QbGF5RmFzdFJldmVy
c2UodmFsdWUpOworICAgIGVuc3VyZU1vZGVsKGNvbnRleHRJZCkuY2FuUGxheUZhc3RSZXZlcnNl
Q2hhbmdlZCh2YWx1ZSk7CiB9CiAKLXZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5
OjpzZXRBdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9ucyh1aW50NjRfdCBjb250ZXh0SWQsIFZlY3Rv
cjxNZWRpYVNlbGVjdGlvbk9wdGlvbj4gb3B0aW9ucywgdWludDY0X3Qgc2VsZWN0ZWRJbmRleCkK
K3ZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjphdWRpb01lZGlhU2VsZWN0aW9u
T3B0aW9uc0NoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBWZWN0b3I8TWVkaWFTZWxlY3Rpb25P
cHRpb24+IG9wdGlvbnMsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpCiB7Ci0gICAgZW5zdXJlTW9k
ZWwoY29udGV4dElkKS5zZXRBdWRpb01lZGlhU2VsZWN0aW9uT3B0aW9ucyhvcHRpb25zLCBzZWxl
Y3RlZEluZGV4KTsKKyAgICBlbnN1cmVNb2RlbChjb250ZXh0SWQpLmF1ZGlvTWVkaWFTZWxlY3Rp
b25PcHRpb25zQ2hhbmdlZChvcHRpb25zLCBzZWxlY3RlZEluZGV4KTsKIH0KIAotdm9pZCBXZWJQ
bGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNldExlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlv
bnModWludDY0X3QgY29udGV4dElkLCBWZWN0b3I8TWVkaWFTZWxlY3Rpb25PcHRpb24+IG9wdGlv
bnMsIHVpbnQ2NF90IHNlbGVjdGVkSW5kZXgpCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFn
ZXJQcm94eTo6bGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9uc0NoYW5nZWQodWludDY0X3QgY29u
dGV4dElkLCBWZWN0b3I8TWVkaWFTZWxlY3Rpb25PcHRpb24+IG9wdGlvbnMsIHVpbnQ2NF90IHNl
bGVjdGVkSW5kZXgpCiB7Ci0gICAgZW5zdXJlTW9kZWwoY29udGV4dElkKS5zZXRMZWdpYmxlTWVk
aWFTZWxlY3Rpb25PcHRpb25zKG9wdGlvbnMsIHNlbGVjdGVkSW5kZXgpOworICAgIGVuc3VyZU1v
ZGVsKGNvbnRleHRJZCkubGVnaWJsZU1lZGlhU2VsZWN0aW9uT3B0aW9uc0NoYW5nZWQob3B0aW9u
cywgc2VsZWN0ZWRJbmRleCk7CiB9CiAKLXZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclBy
b3h5OjpzZXRBdWRpb01lZGlhU2VsZWN0aW9uSW5kZXgodWludDY0X3QgY29udGV4dElkLCB1aW50
NjRfdCBzZWxlY3RlZEluZGV4KQordm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6
OmF1ZGlvTWVkaWFTZWxlY3Rpb25JbmRleENoYW5nZWQodWludDY0X3QgY29udGV4dElkLCB1aW50
NjRfdCBzZWxlY3RlZEluZGV4KQogewotICAgIGVuc3VyZU1vZGVsKGNvbnRleHRJZCkuc2V0QXVk
aW9NZWRpYVNlbGVjdGlvbkluZGV4KHNlbGVjdGVkSW5kZXgpOworICAgIGVuc3VyZU1vZGVsKGNv
bnRleHRJZCkuYXVkaW9NZWRpYVNlbGVjdGlvbkluZGV4Q2hhbmdlZChzZWxlY3RlZEluZGV4KTsK
IH0KIAotdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNldExlZ2libGVNZWRp
YVNlbGVjdGlvbkluZGV4KHVpbnQ2NF90IGNvbnRleHRJZCwgdWludDY0X3Qgc2VsZWN0ZWRJbmRl
eCkKK3ZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpsZWdpYmxlTWVkaWFTZWxl
Y3Rpb25JbmRleENoYW5nZWQodWludDY0X3QgY29udGV4dElkLCB1aW50NjRfdCBzZWxlY3RlZElu
ZGV4KQogewotICAgIGVuc3VyZU1vZGVsKGNvbnRleHRJZCkuc2V0TGVnaWJsZU1lZGlhU2VsZWN0
aW9uSW5kZXgoc2VsZWN0ZWRJbmRleCk7CisgICAgZW5zdXJlTW9kZWwoY29udGV4dElkKS5sZWdp
YmxlTWVkaWFTZWxlY3Rpb25JbmRleENoYW5nZWQoc2VsZWN0ZWRJbmRleCk7CiB9CiAKLXZvaWQg
V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpzZXRFeHRlcm5hbFBsYXliYWNrUHJvcGVy
dGllcyh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgZW5hYmxlZCwgdWludDMyX3QgdGFyZ2V0VHlw
ZSwgU3RyaW5nIGxvY2FsaXplZERldmljZU5hbWUpCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1h
bmFnZXJQcm94eTo6ZXh0ZXJuYWxQbGF5YmFja1Byb3BlcnRpZXNDaGFuZ2VkKHVpbnQ2NF90IGNv
bnRleHRJZCwgYm9vbCBlbmFibGVkLCB1aW50MzJfdCB0YXJnZXRUeXBlLCBTdHJpbmcgbG9jYWxp
emVkRGV2aWNlTmFtZSkKIHsKICAgICBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbDo6RXh0ZXJuYWxQ
bGF5YmFja1RhcmdldFR5cGUgdHlwZSA9IHN0YXRpY19jYXN0PFdlYlBsYXliYWNrU2Vzc2lvbk1v
ZGVsOjpFeHRlcm5hbFBsYXliYWNrVGFyZ2V0VHlwZT4odGFyZ2V0VHlwZSk7CiAgICAgQVNTRVJU
KHR5cGUgPT0gV2ViUGxheWJhY2tTZXNzaW9uTW9kZWw6OlRhcmdldFR5cGVBaXJQbGF5IHx8IHR5
cGUgPT0gV2ViUGxheWJhY2tTZXNzaW9uTW9kZWw6OlRhcmdldFR5cGVUVk91dCB8fCB0eXBlID09
IFdlYlBsYXliYWNrU2Vzc2lvbk1vZGVsOjpUYXJnZXRUeXBlTm9uZSk7CiAKLSAgICBlbnN1cmVN
b2RlbChjb250ZXh0SWQpLnNldEV4dGVybmFsUGxheWJhY2soZW5hYmxlZCwgdHlwZSwgbG9jYWxp
emVkRGV2aWNlTmFtZSk7CisgICAgZW5zdXJlTW9kZWwoY29udGV4dElkKS5leHRlcm5hbFBsYXli
YWNrQ2hhbmdlZChlbmFibGVkLCB0eXBlLCBsb2NhbGl6ZWREZXZpY2VOYW1lKTsKIH0KIAotdm9p
ZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNldFdpcmVsZXNzVmlkZW9QbGF5YmFj
a0Rpc2FibGVkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBkaXNhYmxlZCkKK3ZvaWQgV2ViUGxh
eWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Ojp3aXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZENo
YW5nZWQodWludDY0X3QgY29udGV4dElkLCBib29sIGRpc2FibGVkKQogewotICAgIGVuc3VyZU1v
ZGVsKGNvbnRleHRJZCkuc2V0V2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJsZWQoZGlzYWJsZWQp
OworICAgIGVuc3VyZU1vZGVsKGNvbnRleHRJZCkud2lyZWxlc3NWaWRlb1BsYXliYWNrRGlzYWJs
ZWRDaGFuZ2VkKGRpc2FibGVkKTsKIH0KIAotdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
UHJveHk6OnNldE11dGVkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBtdXRlZCkKK3ZvaWQgV2Vi
UGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjptdXRlZENoYW5nZWQodWludDY0X3QgY29udGV4
dElkLCBib29sIG11dGVkKQogewotICAgIGVuc3VyZU1vZGVsKGNvbnRleHRJZCkuc2V0TXV0ZWQo
bXV0ZWQpOworICAgIGVuc3VyZU1vZGVsKGNvbnRleHRJZCkubXV0ZWRDaGFuZ2VkKG11dGVkKTsK
IH0KIAotdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNldER1cmF0aW9uKHVp
bnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIGR1cmF0aW9uKQordm9pZCBXZWJQbGF5YmFja1Nlc3Np
b25NYW5hZ2VyUHJveHk6OmR1cmF0aW9uQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGRvdWJs
ZSBkdXJhdGlvbikKIHsKLSAgICBlbnN1cmVNb2RlbChjb250ZXh0SWQpLnNldER1cmF0aW9uKGR1
cmF0aW9uKTsKKyAgICBlbnN1cmVNb2RlbChjb250ZXh0SWQpLm11dGVkQ2hhbmdlZChkdXJhdGlv
bik7CiB9CiAKLXZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpzZXRQbGF5YmFj
a1N0YXJ0ZWRUaW1lKHVpbnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIHBsYXliYWNrU3RhcnRlZFRp
bWUpCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6cGxheWJhY2tTdGFydGVk
VGltZUNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBkb3VibGUgcGxheWJhY2tTdGFydGVkVGlt
ZSkKIHsKLSAgICBlbnN1cmVNb2RlbChjb250ZXh0SWQpLnNldFBsYXliYWNrU3RhcnRlZFRpbWUo
cGxheWJhY2tTdGFydGVkVGltZSk7CisgICAgZW5zdXJlTW9kZWwoY29udGV4dElkKS5wbGF5YmFj
a1N0YXJ0ZWRUaW1lQ2hhbmdlZChwbGF5YmFja1N0YXJ0ZWRUaW1lKTsKIH0KIAotdm9pZCBXZWJQ
bGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OnNldFJhdGUodWludDY0X3QgY29udGV4dElkLCBi
b29sIGlzUGxheWluZywgZG91YmxlIHJhdGUpCit2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFn
ZXJQcm94eTo6cmF0ZUNoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBib29sIGlzUGxheWluZywg
ZG91YmxlIHJhdGUpCiB7Ci0gICAgZW5zdXJlTW9kZWwoY29udGV4dElkKS5zZXRSYXRlKGlzUGxh
eWluZywgcmF0ZSk7CisgICAgZW5zdXJlTW9kZWwoY29udGV4dElkKS5yYXRlQ2hhbmdlZChpc1Bs
YXlpbmcsIHJhdGUpOwogfQogCiAKQEAgLTUzNCw2ICs1NDAsMTEgQEAgdm9pZCBXZWJQbGF5YmFj
a1Nlc3Npb25NYW5hZ2VyUHJveHk6OnRvZ2dsZU11dGVkKHVpbnQ2NF90IGNvbnRleHRJZCkKICAg
ICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OlRvZ2ds
ZU11dGVkKGNvbnRleHRJZCksIG1fcGFnZS0+cGFnZUlEKCkpOwogfQogCit2b2lkIFdlYlBsYXli
YWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6c2V0TXV0ZWQodWludDY0X3QgY29udGV4dElkLCBib29s
IG11dGVkKQoreworICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGxheWJhY2tTZXNzaW9u
TWFuYWdlcjo6U2V0TXV0ZWQoY29udGV4dElkLCBtdXRlZCksIG1fcGFnZS0+cGFnZUlEKCkpOwor
fQorCiB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6cmVxdWVzdENvbnRyb2xs
ZWRFbGVtZW50SUQoKQogewogICAgIGlmIChtX2NvbnRyb2xzTWFuYWdlckNvbnRleHRJZCkKQEAg
LTU0NCw3ICs1NTUsNyBAQCBQbGF0Zm9ybVdlYlBsYXliYWNrU2Vzc2lvbkludGVyZmFjZSogV2Vi
UGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5Ojpjb250cm9sc01hbgogewogICAgIGlmICghbV9j
b250cm9sc01hbmFnZXJDb250ZXh0SWQpCiAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgIAor
CiAgICAgYXV0byYgaW50ZXJmYWNlID0gZW5zdXJlSW50ZXJmYWNlKG1fY29udHJvbHNNYW5hZ2Vy
Q29udGV4dElkKTsKICAgICByZXR1cm4gJmludGVyZmFjZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
LmgKaW5kZXggOTJlZWRlNDZkOWVkNzM2NmQ4ODgyNjE0YTUxNGVkZDZmZDY2NGQ3OC4uNzUzY2Ix
Njk4YmRiMTU1Zjk2Njk4MTExZjA1MTVmMjM4ODdmNWRhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyLmgKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
LmgKQEAgLTE1NCw2ICsxNTQsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBoYW5kbGVDb250cm9s
bGVkRWxlbWVudElEUmVxdWVzdCh1aW50NjRfdCBjb250ZXh0SWQpOwogICAgIHZvaWQgdG9nZ2xl
UGljdHVyZUluUGljdHVyZSh1aW50NjRfdCBjb250ZXh0SWQpOwogICAgIHZvaWQgdG9nZ2xlTXV0
ZWQodWludDY0X3QgY29udGV4dElkKTsKKyAgICB2b2lkIHNldE11dGVkKHVpbnQ2NF90IGNvbnRl
eHRJZCwgYm9vbCBtdXRlZCk7CiAKICAgICBXZWJQYWdlKiBtX3BhZ2U7CiAgICAgSGFzaE1hcDxX
ZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50KiwgdWludDY0X3Q+IG1fbWVkaWFFbGVtZW50czsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUGxheWJhY2tTZXNz
aW9uTWFuYWdlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2Ev
V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlci5tZXNzYWdlcy5pbgppbmRleCA0MjkxZWFhZGMwYWVh
OWNiZDk2NzRlNjBkMzg1MjQ5YjYxZjdkNTdhLi45NTY2NmE3MTU0Y2M0YTk0NGQwNGVjYTg2Y2Iz
MDMwMDZiZDc3OGExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvY29h
L1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1lc3NhZ2VzLmlu
CkBAIC0zOCw1ICszOCw2IEBAIG1lc3NhZ2VzIC0+IFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXIg
ewogICAgIEhhbmRsZUNvbnRyb2xsZWRFbGVtZW50SURSZXF1ZXN0KHVpbnQ2NF90IGNvbnRleHRJ
ZCkKICAgICBUb2dnbGVQaWN0dXJlSW5QaWN0dXJlKHVpbnQ2NF90IGNvbnRleHRJZCkKICAgICBU
b2dnbGVNdXRlZCh1aW50NjRfdCBjb250ZXh0SWQpCisgICAgU2V0TXV0ZWQodWludDY0X3QgY29u
dGV4dElkLCBib29sIG11dGVkKQogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXIubW0gYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL2NvY29hL1dlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXIubW0KaW5k
ZXggYTViYjJjZThjZGRmZjA0NzZlNjU0ZDM0MGMwMjE0YWM1ODMxYWZjMS4uMjg1YTI3ZTQ4YjJh
NDI4MjlmYjQ0MjI0YzE3NGQ5YjIzODM1NWI1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9jb2NvYS9XZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlci5tbQpA
QCAtMjk1LDI3ICsyOTUsMjcgQEAgdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjpyZXNl
dE1lZGlhU3RhdGUodWludDY0X3QgY29udGV4dElkKQogCiB2b2lkIFdlYlBsYXliYWNrU2Vzc2lv
bk1hbmFnZXI6OmR1cmF0aW9uQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGRvdWJsZSBkdXJh
dGlvbikKIHsKLSAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBsYXliYWNrU2Vzc2lvbk1h
bmFnZXJQcm94eTo6U2V0RHVyYXRpb24oY29udGV4dElkLCBkdXJhdGlvbiksIG1fcGFnZS0+cGFn
ZUlEKCkpOworICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGxheWJhY2tTZXNzaW9uTWFu
YWdlclByb3h5OjpEdXJhdGlvbkNoYW5nZWQoY29udGV4dElkLCBkdXJhdGlvbiksIG1fcGFnZS0+
cGFnZUlEKCkpOwogfQogCiB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXI6OmN1cnJlbnRU
aW1lQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGRvdWJsZSBjdXJyZW50VGltZSwgZG91Ymxl
IGFuY2hvclRpbWUpCiB7Ci0gICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQbGF5YmFja1Nl
c3Npb25NYW5hZ2VyUHJveHk6OlNldEN1cnJlbnRUaW1lKGNvbnRleHRJZCwgY3VycmVudFRpbWUs
IGFuY2hvclRpbWUpLCBtX3BhZ2UtPnBhZ2VJRCgpKTsKKyAgICBtX3BhZ2UtPnNlbmQoTWVzc2Fn
ZXM6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6Q3VycmVudFRpbWVDaGFuZ2VkKGNv
bnRleHRJZCwgY3VycmVudFRpbWUsIGFuY2hvclRpbWUpLCBtX3BhZ2UtPnBhZ2VJRCgpKTsKIH0K
IAogdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjpidWZmZXJlZFRpbWVDaGFuZ2VkKHVp
bnQ2NF90IGNvbnRleHRJZCwgZG91YmxlIGJ1ZmZlcmVkVGltZSkKIHsKLSAgICBtX3BhZ2UtPnNl
bmQoTWVzc2FnZXM6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6U2V0QnVmZmVyZWRU
aW1lKGNvbnRleHRJZCwgYnVmZmVyZWRUaW1lKSwgbV9wYWdlLT5wYWdlSUQoKSk7CisgICAgbV9w
YWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OkJ1ZmZl
cmVkVGltZUNoYW5nZWQoY29udGV4dElkLCBidWZmZXJlZFRpbWUpLCBtX3BhZ2UtPnBhZ2VJRCgp
KTsKIH0KIAogdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjpwbGF5YmFja1N0YXJ0ZWRU
aW1lQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGRvdWJsZSBwbGF5YmFja1N0YXJ0ZWRUaW1l
KQogewotICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdl
clByb3h5OjpTZXRQbGF5YmFja1N0YXJ0ZWRUaW1lKGNvbnRleHRJZCwgcGxheWJhY2tTdGFydGVk
VGltZSksIG1fcGFnZS0+cGFnZUlEKCkpOworICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2Vi
UGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpQbGF5YmFja1N0YXJ0ZWRUaW1lQ2hhbmdlZChj
b250ZXh0SWQsIHBsYXliYWNrU3RhcnRlZFRpbWUpLCBtX3BhZ2UtPnBhZ2VJRCgpKTsKIH0KIAog
dm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjpyYXRlQ2hhbmdlZCh1aW50NjRfdCBjb250
ZXh0SWQsIGJvb2wgaXNQbGF5aW5nLCBmbG9hdCBwbGF5YmFja1JhdGUpCiB7Ci0gICAgbV9wYWdl
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OlNldFJhdGUo
Y29udGV4dElkLCBpc1BsYXlpbmcsIHBsYXliYWNrUmF0ZSksIG1fcGFnZS0+cGFnZUlEKCkpOwor
ICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5
OjpSYXRlQ2hhbmdlZChjb250ZXh0SWQsIGlzUGxheWluZywgcGxheWJhY2tSYXRlKSwgbV9wYWdl
LT5wYWdlSUQoKSk7CiB9CiAKIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6c2Vla2Fi
bGVSYW5nZXNDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgY29uc3QgV2ViQ29yZTo6VGltZVJh
bmdlcyYgdGltZVJhbmdlcywgZG91YmxlIGxhc3RNb2RpZmllZFRpbWUsIGRvdWJsZSBsaXZlVXBk
YXRlSW50ZXJ2YWwpCkBAIC0zMjYsNDcgKzMyNiw0NyBAQCB2b2lkIFdlYlBsYXliYWNrU2Vzc2lv
bk1hbmFnZXI6OnNlZWthYmxlUmFuZ2VzQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGNvbnN0
CiAgICAgICAgIGRvdWJsZSBlbmQgPSB0aW1lUmFuZ2VzLnJhbmdlcygpLmVuZChpKS50b0RvdWJs
ZSgpOwogICAgICAgICByYW5nZXNWZWN0b3IuYXBwZW5kKHsgc3RhcnQsIGVuZCB9KTsKICAgICB9
Ci0gICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJv
eHk6OlNldFNlZWthYmxlUmFuZ2VzVmVjdG9yKGNvbnRleHRJZCwgV1RGTW92ZShyYW5nZXNWZWN0
b3IpLCBsYXN0TW9kaWZpZWRUaW1lLCBsaXZlVXBkYXRlSW50ZXJ2YWwpLCBtX3BhZ2UtPnBhZ2VJ
RCgpKTsKKyAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFn
ZXJQcm94eTo6U2Vla2FibGVSYW5nZXNWZWN0b3JDaGFuZ2VkKGNvbnRleHRJZCwgV1RGTW92ZShy
YW5nZXNWZWN0b3IpLCBsYXN0TW9kaWZpZWRUaW1lLCBsaXZlVXBkYXRlSW50ZXJ2YWwpLCBtX3Bh
Z2UtPnBhZ2VJRCgpKTsKIH0KIAogdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjpjYW5Q
bGF5RmFzdFJldmVyc2VDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCB2YWx1ZSkKIHsK
LSAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94
eTo6U2V0Q2FuUGxheUZhc3RSZXZlcnNlKGNvbnRleHRJZCwgdmFsdWUpLCBtX3BhZ2UtPnBhZ2VJ
RCgpKTsKKyAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFn
ZXJQcm94eTo6Q2FuUGxheUZhc3RSZXZlcnNlQ2hhbmdlZChjb250ZXh0SWQsIHZhbHVlKSwgbV9w
YWdlLT5wYWdlSUQoKSk7CiB9CiAKIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6YXVk
aW9NZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgY29uc3Qg
VmVjdG9yPE1lZGlhU2VsZWN0aW9uT3B0aW9uPiYgb3B0aW9ucywgdWludDY0X3Qgc2VsZWN0ZWRJ
bmRleCkKIHsKLSAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBsYXliYWNrU2Vzc2lvbk1h
bmFnZXJQcm94eTo6U2V0QXVkaW9NZWRpYVNlbGVjdGlvbk9wdGlvbnMoY29udGV4dElkLCBvcHRp
b25zLCBzZWxlY3RlZEluZGV4KSwgbV9wYWdlLT5wYWdlSUQoKSk7CisgICAgbV9wYWdlLT5zZW5k
KE1lc3NhZ2VzOjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OkF1ZGlvTWVkaWFTZWxl
Y3Rpb25PcHRpb25zQ2hhbmdlZChjb250ZXh0SWQsIG9wdGlvbnMsIHNlbGVjdGVkSW5kZXgpLCBt
X3BhZ2UtPnBhZ2VJRCgpKTsKIH0KIAogdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjps
ZWdpYmxlTWVkaWFTZWxlY3Rpb25PcHRpb25zQ2hhbmdlZCh1aW50NjRfdCBjb250ZXh0SWQsIGNv
bnN0IFZlY3RvcjxNZWRpYVNlbGVjdGlvbk9wdGlvbj4mIG9wdGlvbnMsIHVpbnQ2NF90IHNlbGVj
dGVkSW5kZXgpCiB7Ci0gICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQbGF5YmFja1Nlc3Np
b25NYW5hZ2VyUHJveHk6OlNldExlZ2libGVNZWRpYVNlbGVjdGlvbk9wdGlvbnMoY29udGV4dElk
LCBvcHRpb25zLCBzZWxlY3RlZEluZGV4KSwgbV9wYWdlLT5wYWdlSUQoKSk7CisgICAgbV9wYWdl
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OkxlZ2libGVN
ZWRpYVNlbGVjdGlvbk9wdGlvbnNDaGFuZ2VkKGNvbnRleHRJZCwgb3B0aW9ucywgc2VsZWN0ZWRJ
bmRleCksIG1fcGFnZS0+cGFnZUlEKCkpOwogfQogCiB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1h
bmFnZXI6OmV4dGVybmFsUGxheWJhY2tDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBl
bmFibGVkLCBXZWJQbGF5YmFja1Nlc3Npb25Nb2RlbDo6RXh0ZXJuYWxQbGF5YmFja1RhcmdldFR5
cGUgdGFyZ2V0VHlwZSwgU3RyaW5nIGxvY2FsaXplZERldmljZU5hbWUpCiB7Ci0gICAgbV9wYWdl
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OlNldEV4dGVy
bmFsUGxheWJhY2tQcm9wZXJ0aWVzKGNvbnRleHRJZCwgZW5hYmxlZCwgc3RhdGljX2Nhc3Q8dWlu
dDMyX3Q+KHRhcmdldFR5cGUpLCBsb2NhbGl6ZWREZXZpY2VOYW1lKSwgbV9wYWdlLT5wYWdlSUQo
KSk7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
UHJveHk6OkV4dGVybmFsUGxheWJhY2tQcm9wZXJ0aWVzQ2hhbmdlZChjb250ZXh0SWQsIGVuYWJs
ZWQsIHN0YXRpY19jYXN0PHVpbnQzMl90Pih0YXJnZXRUeXBlKSwgbG9jYWxpemVkRGV2aWNlTmFt
ZSksIG1fcGFnZS0+cGFnZUlEKCkpOwogfQogCiB2b2lkIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFn
ZXI6OmF1ZGlvTWVkaWFTZWxlY3Rpb25JbmRleENoYW5nZWQodWludDY0X3QgY29udGV4dElkLCB1
aW50NjRfdCBzZWxlY3RlZEluZGV4KQogewotICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2Vi
UGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5OjpTZXRBdWRpb01lZGlhU2VsZWN0aW9uSW5kZXgo
Y29udGV4dElkLCBzZWxlY3RlZEluZGV4KSwgbV9wYWdlLT5wYWdlSUQoKSk7CisgICAgbV9wYWdl
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OkF1ZGlvTWVk
aWFTZWxlY3Rpb25JbmRleENoYW5nZWQoY29udGV4dElkLCBzZWxlY3RlZEluZGV4KSwgbV9wYWdl
LT5wYWdlSUQoKSk7CiB9CiAKIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6bGVnaWJs
ZU1lZGlhU2VsZWN0aW9uSW5kZXhDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgdWludDY0X3Qg
c2VsZWN0ZWRJbmRleCkKIHsKLSAgICBtX3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBsYXliYWNr
U2Vzc2lvbk1hbmFnZXJQcm94eTo6U2V0TGVnaWJsZU1lZGlhU2VsZWN0aW9uSW5kZXgoY29udGV4
dElkLCBzZWxlY3RlZEluZGV4KSwgbV9wYWdlLT5wYWdlSUQoKSk7CisgICAgbV9wYWdlLT5zZW5k
KE1lc3NhZ2VzOjpXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHk6OkxlZ2libGVNZWRpYVNl
bGVjdGlvbkluZGV4Q2hhbmdlZChjb250ZXh0SWQsIHNlbGVjdGVkSW5kZXgpLCBtX3BhZ2UtPnBh
Z2VJRCgpKTsKIH0KIAogdm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyOjp3aXJlbGVzc1Zp
ZGVvUGxheWJhY2tEaXNhYmxlZENoYW5nZWQodWludDY0X3QgY29udGV4dElkLCBib29sIGRpc2Fi
bGVkKQogewotICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGxheWJhY2tTZXNzaW9uTWFu
YWdlclByb3h5OjpTZXRXaXJlbGVzc1ZpZGVvUGxheWJhY2tEaXNhYmxlZChjb250ZXh0SWQsIGRp
c2FibGVkKSk7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQbGF5YmFja1Nlc3Npb25N
YW5hZ2VyUHJveHk6OldpcmVsZXNzVmlkZW9QbGF5YmFja0Rpc2FibGVkQ2hhbmdlZChjb250ZXh0
SWQsIGRpc2FibGVkKSk7CiB9CiAKIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlcjo6bXV0
ZWRDaGFuZ2VkKHVpbnQ2NF90IGNvbnRleHRJZCwgYm9vbCBtdXRlZCkKIHsKLSAgICBtX3BhZ2Ut
PnNlbmQoTWVzc2FnZXM6OldlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eTo6U2V0TXV0ZWQo
Y29udGV4dElkLCBtdXRlZCkpOworICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGxheWJh
Y2tTZXNzaW9uTWFuYWdlclByb3h5OjpNdXRlZENoYW5nZWQoY29udGV4dElkLCBtdXRlZCkpOwog
fQogCiAjcHJhZ21hIG1hcmsgTWVzc2FnZXMgZnJvbSBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
UHJveHk6CkBAIC00NjIsNiArNDYyLDEyIEBAIHZvaWQgV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdl
cjo6dG9nZ2xlTXV0ZWQodWludDY0X3QgY29udGV4dElkKQogICAgIGVuc3VyZU1vZGVsKGNvbnRl
eHRJZCkudG9nZ2xlTXV0ZWQoKTsKIH0KIAordm9pZCBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
OjpzZXRNdXRlZCh1aW50NjRfdCBjb250ZXh0SWQsIGJvb2wgbXV0ZWQpCit7CisgICAgVXNlckdl
c3R1cmVJbmRpY2F0b3IgaW5kaWNhdG9yKFByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CisgICAgZW5z
dXJlTW9kZWwoY29udGV4dElkKS5zZXRNdXRlZChtdXRlZCk7Cit9CisKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdAogCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBF
TkFCTEUoVklERU9fUFJFU0VOVEFUSU9OX01PREUpKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>