<?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>150654</bug_id>
          
          <creation_ts>2015-10-28 18:36:07 -0700</creation_ts>
          <short_desc>Web Inspector: Rename InspectorResourceAgent to InspectorNetworkAgent</short_desc>
          <delta_ts>2015-10-28 20:11:09 -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>Web Inspector</component>
          <version>Other</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>DoNotImportToRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1137409</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-10-28 18:36:07 -0700</bug_when>
    <thetext>Rename InspectorResourceAgent to InspectorNetworkAgent.

And do some ancillary clean up of related code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1137410</commentid>
    <comment_count>1</comment_count>
      <attachid>264283</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-10-28 18:38:09 -0700</bug_when>
    <thetext>Created attachment 264283
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1137411</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-28 18:40:10 -0700</bug_when>
    <thetext>Attachment 264283 did not pass style-queue:


ERROR: Source/WebCore/inspector/InspectorNetworkAgent.h:79:  The parameter name &quot;loader&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 15 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1137423</commentid>
    <comment_count>3</comment_count>
      <attachid>264286</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-10-28 18:59:19 -0700</bug_when>
    <thetext>Created attachment 264286
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1137426</commentid>
    <comment_count>4</comment_count>
      <attachid>264286</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-10-28 19:21:48 -0700</bug_when>
    <thetext>Comment on attachment 264286
[PATCH] Proposed Fix

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1137433</commentid>
    <comment_count>5</comment_count>
      <attachid>264286</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-28 20:11:04 -0700</bug_when>
    <thetext>Comment on attachment 264286
[PATCH] Proposed Fix

Clearing flags on attachment: 264286

Committed r191719: &lt;http://trac.webkit.org/changeset/191719&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1137434</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-28 20:11:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>264283</attachid>
            <date>2015-10-28 18:38:09 -0700</date>
            <delta_ts>2015-10-28 18:59:19 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>rename.patch</filename>
            <type>text/plain</type>
            <size>67494</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDE5YWY4ZmMuLmRhYWI0MzggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE0IEBACiAyMDE1LTEwLTI4ICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUmVuYW1l
IEluc3BlY3RvclJlc291cmNlQWdlbnQgdG8gSW5zcGVjdG9yTmV0d29ya0FnZW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTA2NTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9zY3Jp
cHRzL2NvZGVnZW4vZ2VuZXJhdG9yLnB5OgorCisyMDE1LTEwLTI4ICBKb3NlcGggUGVjb3Jhcm8g
IDxwZWNvcmFyb0BhcHBsZS5jb20+CisKICAgICAgICAgV2ViIEluc3BlY3RvcjogUmVtb3ZlIHVu
dXNlZCAvIGR1cGxpY2F0ZSBXZWJTb2NrZXQgdGltZWxpbmUgcmVjb3JkcwogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUwNjQ3CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRv
ci5weSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dl
bmVyYXRvci5weQppbmRleCBhMTkyM2ZlLi40OTVkMWIwIDEwMDc1NQotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0b3IucHkKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdG9y
LnB5CkBAIC02Nyw3ICs2Nyw3IEBAIF9UWVBFU19XSVRIX09QRU5fRklFTERTID0gc2V0KFsKICAg
ICAiVGltZWxpbmUuVGltZWxpbmVFdmVudCIsCiAgICAgIyBJbnNwZWN0b3JTdHlsZVNoZWV0IG5v
dCBvbmx5IGNyZWF0ZXMgdGhpcyBwcm9wZXJ0eSBidXQgd2FudHMgdG8gcmVhZCBpdCBhbmQgbW9k
aWZ5IGl0LgogICAgICJDU1MuQ1NTUHJvcGVydHkiLAotICAgICMgSW5zcGVjdG9yUmVzb3VyY2VB
Z2VudCBuZWVkcyB0byB1cGRhdGUgbWltZS10eXBlLgorICAgICMgSW5zcGVjdG9yTmV0d29ya0Fn
ZW50IG5lZWRzIHRvIHVwZGF0ZSBtaW1lLXR5cGUuCiAgICAgIk5ldHdvcmsuUmVzcG9uc2UiLAog
ICAgICMgRm9yIHRlc3RpbmcgcHVycG9zZXMgb25seS4KICAgICAiVGVzdC5PcGVuUGFyYW1ldGVy
QnVuZGxlIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA4MWZlYTU5Li5lODhmOGNiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dApAQCAtMTg4NCwxMCArMTg4NCwxMCBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VT
CiAgICAgaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKICAgICBpbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llLmNwcAogICAgIGluc3BlY3Rvci9JbnNw
ZWN0b3JMYXllclRyZWVBZ2VudC5jcHAKKyAgICBpbnNwZWN0b3IvSW5zcGVjdG9yTmV0d29ya0Fn
ZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JOb2RlRmluZGVyLmNwcAogICAgIGluc3Bl
Y3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdl
bnQuY3BwCi0gICAgaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwCiAgICAgaW5z
cGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRp
bWVsaW5lQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDEwOTUxY2RhLi43OWYyOTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTA0
IEBACiAyMDE1LTEwLTI4ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAK
KyAgICAgICAgV2ViIEluc3BlY3RvcjogUmVuYW1lIEluc3BlY3RvclJlc291cmNlQWdlbnQgdG8g
SW5zcGVjdG9yTmV0d29ya0FnZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNTA2NTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIFdlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckRPTURlYnVnZ2VyQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFJl
Y2FsY3VsYXRlU3R5bGVJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkUmVjYWxjdWxhdGVTdHlsZUltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY2hlZHVsZVN0eWxlUmVjYWxjdWxhdGlvbkltcGwp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsU2VuZFJl
cXVlc3RJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
bWFya1Jlc291cmNlQXNDYWNoZWRJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6ZGlkTG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hlSW1wbCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVSZXNvdXJj
ZVJlc3BvbnNlSW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmRpZFJlY2VpdmVEYXRhSW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmRpZEZpbmlzaExvYWRpbmdJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmFpbExvYWRpbmdJbXBsKToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmluaXNoWEhSTG9hZGluZ0ltcGwp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZl
WEhSUmVzcG9uc2VJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6d2lsbExvYWRYSFJTeW5jaHJvbm91c2x5SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZExvYWRYSFJTeW5jaHJvbm91c2x5SW1wbCk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNjcmlwdEltcG9ydGVk
SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJl
Y2VpdmVTY3JpcHRSZXNwb25zZUltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRDb21taXRMb2FkSW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxEZXN0cm95Q2FjaGVkUmVzb3VyY2VJbXBsKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ3JlYXRlV2ViU29j
a2V0SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Ondp
bGxTZW5kV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdEltcGwpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlV2ViU29ja2V0SGFuZHNoYWtlUmVz
cG9uc2VJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkQ2xvc2VXZWJTb2NrZXRJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZVdlYlNvY2tldEZyYW1lSW1wbCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVXZWJTb2NrZXRGcmFtZUVy
cm9ySW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZFNlbmRXZWJTb2NrZXRGcmFtZUltcGwpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JM
YXllclRyZWVBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JOZXR3b3JrQWdl
bnQuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJl
c291cmNlQWdlbnQuY3BwLgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTmV0d29ya0FnZW50
OjpJbnNwZWN0b3JOZXR3b3JrQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTmV0
d29ya0FnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yTmV0d29ya0FnZW50Ojp3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZCk6
CisgICAgICAgIChXZWJDb3JlOjpidWlsZE9iamVjdEZvckhlYWRlcnMpOgorICAgICAgICAoV2Vi
Q29yZTo6YnVpbGRPYmplY3RGb3JUaW1pbmcpOgorICAgICAgICAoV2ViQ29yZTo6YnVpbGRPYmpl
Y3RGb3JSZXNvdXJjZVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6YnVpbGRPYmplY3RGb3JS
ZXNvdXJjZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OmJ1aWxkT2JqZWN0Rm9yQ2FjaGVk
UmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTmV0d29ya0FnZW50Ojp+SW5z
cGVjdG9yTmV0d29ya0FnZW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck5ldHdvcmtB
Z2VudDo6dGltZXN0YW1wKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck5ldHdvcmtBZ2Vu
dDo6d2lsbFNlbmRSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck5ldHdvcmtB
Z2VudDo6bWFya1Jlc291cmNlQXNDYWNoZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
TmV0d29ya0FnZW50OjpkaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6aXNF
cnJvclN0YXR1c0NvZGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTmV0d29ya0FnZW50
OjpkaWRSZWNlaXZlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JOZXR3b3JrQWdl
bnQ6OmRpZEZpbmlzaExvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTmV0d29y
a0FnZW50OjpkaWRGYWlsTG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JOZXR3
b3JrQWdlbnQ6OmRpZExvYWRSZXNvdXJjZUZyb21NZW1vcnlDYWNoZSk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6OnNldEluaXRpYWxTY3JpcHRDb250ZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck5ldHdvcmtBZ2VudDo6ZGlkUmVjZWl2ZVNjcmlwdFJl
c3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck5ldHdvcmtBZ2VudDo6ZGlkRmlu
aXNoWEhSTG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6
OmRpZFJlY2VpdmVYSFJSZXNwb25zZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JOZXR3
b3JrQWdlbnQ6OndpbGxMb2FkWEhSU3luY2hyb25vdXNseSk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JOZXR3b3JrQWdlbnQ6OmRpZExvYWRYSFJTeW5jaHJvbm91c2x5KToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3Rvck5ldHdvcmtBZ2VudDo6d2lsbERlc3Ryb3lDYWNoZWRSZXNvdXJj
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6OndpbGxSZWNhbGN1
bGF0ZVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck5ldHdvcmtBZ2VudDo6ZGlk
UmVjYWxjdWxhdGVTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JOZXR3b3JrQWdl
bnQ6OmRpZFNjaGVkdWxlU3R5bGVSZWNhbGN1bGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3Rvck5ldHdvcmtBZ2VudDo6YnVpbGRJbml0aWF0b3JPYmplY3QpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yTmV0d29ya0FnZW50OjpkaWRDcmVhdGVXZWJTb2NrZXQpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yTmV0d29ya0FnZW50Ojp3aWxsU2VuZFdlYlNvY2tldEhhbmRz
aGFrZVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTmV0d29ya0FnZW50Ojpk
aWRSZWNlaXZlV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yTmV0d29ya0FnZW50OjpkaWRDbG9zZVdlYlNvY2tldCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6OmRpZFJlY2VpdmVXZWJTb2NrZXRGcmFtZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6OmRpZFNlbmRXZWJTb2NrZXRG
cmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6OmRpZFJlY2Vp
dmVXZWJTb2NrZXRGcmFtZUVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck5ldHdv
cmtBZ2VudDo6ZW5hYmxlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck5ldHdvcmtBZ2Vu
dDo6ZGlzYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6OnNl
dEV4dHJhSFRUUEhlYWRlcnMpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTmV0d29ya0Fn
ZW50OjpnZXRSZXNwb25zZUJvZHkpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTmV0d29y
a0FnZW50OjpzZXRDYWNoZURpc2FibGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck5l
dHdvcmtBZ2VudDo6bG9hZFJlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck5l
dHdvcmtBZ2VudDo6bWFpbkZyYW1lTmF2aWdhdGVkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yTmV0d29ya0FnZW50Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JQYWdlQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjpyZXNldCk6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaDoKKyAgICAgICAgKFdlYkNvcmU6
Okluc3RydW1lbnRpbmdBZ2VudHM6Omluc3BlY3Rvck5ldHdvcmtBZ2VudCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjpzZXRJbnNwZWN0b3JOZXR3b3JrQWdlbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zdHJ1bWVudGluZ0FnZW50czo6aW5zcGVjdG9yUmVzb3VyY2VB
Z2VudCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjpz
ZXRJbnNwZWN0b3JSZXNvdXJjZUFnZW50KTogRGVsZXRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Iv
TmV0d29ya1Jlc291cmNlc0RhdGEuaDoKKworMjAxNS0xMC0yOCAgSm9zZXBoIFBlY29yYXJvICA8
cGVjb3Jhcm9AYXBwbGUuY29tPgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJlbW92ZSB1bnVz
ZWQgLyBkdXBsaWNhdGUgV2ViU29ja2V0IHRpbWVsaW5lIHJlY29yZHMKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MDY0NwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCBiNTFjMjNhLi4xNjJl
M2Y0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2oKQEAgLTE5NDY2LDYgKzE5NDY2LDIwIEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCci
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHAiPgorICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVi
dWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J0RlYnVnX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nRGVidWdTdWZmaXh8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J0RlYnVnU3VmZml4fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UmVsZWFzZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVh
c2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgIDwvQ2xD
b21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3Rvck5v
ZGVGaW5kZXIuY3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KQEAgLTE5NTA4LDIwICsxOTUyMiw2IEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCci
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvclJlc291cmNlQWdlbnQuY3BwIj4KLSAg
ICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0Rl
YnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J0RlYnVnU3VmZml4fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdEZWJ1Z1N1ZmZpeHx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxl
YXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAg
PEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAg
PEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8L0Ns
Q29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JT
dHlsZVNoZWV0LmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+CkBAIC0yMjg1NCwxMCArMjI4NTQsMTAgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGluc3BlY3RvclxJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JMYXllclRy
ZWVBZ2VudC5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3Bl
Y3Rvck5ldHdvcmtBZ2VudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVj
dG9yXEluc3BlY3Rvck5vZGVGaW5kZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGluc3BlY3RvclxJbnNwZWN0b3JPdmVybGF5LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yUGFnZUFnZW50LmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJ
bmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvclN0eWxlU2hlZXQuaCIgLz4K
ICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JUaW1lbGluZUFn
ZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9y
V2ViQWdlbnRCYXNlLmgiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggMDI2YTRiYy4uMWVmMzMyMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5m
aWx0ZXJzCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2ouZmlsdGVycwpAQCAtNDY3OSwxNSArNDY3OSwxOCBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcCI+CiAgICAgICA8Rmls
dGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHAiPgorICAgICAg
PEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KKyAgICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JOb2RlRmluZGVyLmNwcCI+CisgICAg
ICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgorICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3Rvck92ZXJsYXkuY3BwIj4KICAgICAg
IDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yUGFnZUFnZW50LmNwcCI+CiAgICAg
ICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENv
bXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvclJlc291cmNlQWdlbnQuY3BwIj4K
LSAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yU3R5bGVTaGVldC5jcHAi
PgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAg
LTcwMjMsOSArNzAyNiw2IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxNb2R1bGVzXGlu
ZGV4ZWRkYlxJREJLZXlEYXRhLmNwcCI+CiAgICAgICA8RmlsdGVyPk1vZHVsZXNcaW5kZXhlZGRi
PC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxp
bnNwZWN0b3JcSW5zcGVjdG9yTm9kZUZpbmRlci5jcHAiPgotICAgICAgPEZpbHRlcj5pbnNwZWN0
b3I8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXGdyYXBoaWNzXElTT1ZUVEN1ZS5jcHAiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9y
bVxncmFwaGljczwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtMTE5NjUsNiArMTE5NjUs
OSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckxheWVy
VHJlZUFnZW50LmgiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0Ns
SW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JO
ZXR3b3JrQWdlbnQuaCI+CisgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgorICAgIDwv
Q2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3Rv
ck5vZGVGaW5kZXIuaCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwv
Q2xJbmNsdWRlPgpAQCAtMTE5NzQsOSArMTE5NzcsNiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvclBhZ2VBZ2VudC5oIj4KICAgICAgIDxGaWx0ZXI+aW5z
cGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oIj4KLSAgICAgIDxGaWx0ZXI+
aW5zcGVjdG9yPC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yU3R5bGVTaGVldC5oIj4KICAgICAgIDxGaWx0ZXI+
aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYjQ5YWEzNi4uNTkwMTlj
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtMjc3NCw4ICsyNzc0LDggQEAKIAkJODJBQjE3NDQxMjRCOTlFQzAwQzUwNjlEIC8q
IEluc3BlY3RvckNTU0FnZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4MkFCMTc0MjEyNEI5OUVDMDBDNTA2OUQgLyogSW5zcGVjdG9yQ1NTQWdlbnQu
aCAqLzsgfTsKIAkJODJBQjE3NzMxMjVDODI2NzAwQzUwNjlEIC8qIEluc3BlY3RvclN0eWxlU2hl
ZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODJB
QjE3NkYxMjVDODI2NzAwQzUwNjlEIC8qIEluc3BlY3RvclN0eWxlU2hlZXQuY3BwICovOyB9Owog
CQk4MkFCMTc3NDEyNUM4MjY3MDBDNTA2OUQgLyogSW5zcGVjdG9yU3R5bGVTaGVldC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODJBQjE3NzAxMjVDODI2
NzAwQzUwNjlEIC8qIEluc3BlY3RvclN0eWxlU2hlZXQuaCAqLzsgfTsKLQkJODJBQjE3NzUxMjVD
ODI2NzAwQzUwNjlEIC8qIEluc3BlY3RvclJlc291cmNlQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODJBQjE3NzExMjVDODI2NzAwQzUwNjlE
IC8qIEluc3BlY3RvclJlc291cmNlQWdlbnQuY3BwICovOyB9OwotCQk4MkFCMTc3NjEyNUM4MjY3
MDBDNTA2OUQgLyogSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODJBQjE3NzIxMjVDODI2NzAwQzUwNjlEIC8qIElu
c3BlY3RvclJlc291cmNlQWdlbnQuaCAqLzsgfTsKKwkJODJBQjE3NzUxMjVDODI2NzAwQzUwNjlE
IC8qIEluc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA4MkFCMTc3MTEyNUM4MjY3MDBDNTA2OUQgLyogSW5zcGVjdG9y
TmV0d29ya0FnZW50LmNwcCAqLzsgfTsKKwkJODJBQjE3NzYxMjVDODI2NzAwQzUwNjlEIC8qIElu
c3BlY3Rvck5ldHdvcmtBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODJBQjE3NzIxMjVDODI2NzAwQzUwNjlEIC8qIEluc3BlY3Rvck5ldHdvcmtB
Z2VudC5oICovOyB9OwogCQk4MkUzRDhERTEyMkVBMEQxMDAzQUU1QkMgLyogQ1NTUHJvcGVydHlT
b3VyY2VEYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDgyRTNEOERDMTIyRUEwRDEwMDNBRTVCQyAvKiBDU1NQcm9wZXJ0eVNvdXJjZURhdGEuY3Bw
ICovOyB9OwogCQk4MkUzRDhERjEyMkVBMEQxMDAzQUU1QkMgLyogQ1NTUHJvcGVydHlTb3VyY2VE
YXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MkUz
RDhERDEyMkVBMEQxMDAzQUU1QkMgLyogQ1NTUHJvcGVydHlTb3VyY2VEYXRhLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJODMwMDMwRjUxQjdEMzNC
NTAwRUQzQUFDIC8qIEdlbmVyaWNDYWNoZWRIVE1MQ29sbGVjdGlvbi5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzAwMzBGMzFCN0QzM0E2MDBFRDNB
QUMgLyogR2VuZXJpY0NhY2hlZEhUTUxDb2xsZWN0aW9uLmNwcCAqLzsgfTsKQEAgLTEwMjU1LDgg
KzEwMjU1LDggQEAKIAkJODJBQjE3NDIxMjRCOTlFQzAwQzUwNjlEIC8qIEluc3BlY3RvckNTU0Fn
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckNTU0FnZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgyQUIxNzZGMTI1QzgyNjcwMEM1MDY5
RCAvKiBJbnNwZWN0b3JTdHlsZVNoZWV0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEluc3BlY3RvclN0eWxlU2hlZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk4MkFCMTc3MDEyNUM4MjY3MDBDNTA2OUQgLyogSW5zcGVjdG9yU3R5bGVTaGVldC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JTdHlsZVNoZWV0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTgyQUIxNzcxMTI1QzgyNjcwMEM1MDY5RCAv
KiBJbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEluc3BlY3RvclJlc291cmNlQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQk4MkFCMTc3MjEyNUM4MjY3MDBDNTA2OUQgLyogSW5zcGVjdG9yUmVzb3VyY2VB
Z2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JSZXNvdXJj
ZUFnZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgyQUIxNzcxMTI1QzgyNjcw
MEM1MDY5RCAvKiBJbnNwZWN0b3JOZXR3b3JrQWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJODJBQjE3NzIxMjVDODI2NzAwQzUwNjlEIC8qIEluc3BlY3Rvck5l
dHdvcmtBZ2VudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JO
ZXR3b3JrQWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODJFM0Q4REMxMjJF
QTBEMTAwM0FFNUJDIC8qIENTU1Byb3BlcnR5U291cmNlRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NQcm9wZXJ0eVNvdXJjZURhdGEuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk4MkUzRDhERDEyMkVBMEQxMDAzQUU1QkMgLyogQ1NTUHJv
cGVydHlTb3VyY2VEYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU1By
b3BlcnR5U291cmNlRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MzAwMzBG
MzFCN0QzM0E2MDBFRDNBQUMgLyogR2VuZXJpY0NhY2hlZEhUTUxDb2xsZWN0aW9uLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdlbmVyaWNDYWNoZWRIVE1MQ29sbGVj
dGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTk0Myw2ICsxNTk0Myw4
IEBACiAJCQkJQTU4NDBFMUIxODdCNzRENTAwODQzQjEwIC8qIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbkNvb2tpZS5oICovLAogCQkJCTcxQjFFMTIzMTY0MDQ4Q0MwMEIxODgwQSAvKiBJbnNwZWN0
b3JMYXllclRyZWVBZ2VudC5jcHAgKi8sCiAJCQkJNzFCMUUxMjQxNjQwNDhDQzAwQjE4ODBBIC8q
IEluc3BlY3RvckxheWVyVHJlZUFnZW50LmggKi8sCisJCQkJODJBQjE3NzExMjVDODI2NzAwQzUw
NjlEIC8qIEluc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHAgKi8sCisJCQkJODJBQjE3NzIxMjVDODI2
NzAwQzUwNjlEIC8qIEluc3BlY3Rvck5ldHdvcmtBZ2VudC5oICovLAogCQkJCTUwNEFBQ0NCMTgz
NDQ1NTkwMEUzRDlCQyAvKiBJbnNwZWN0b3JOb2RlRmluZGVyLmNwcCAqLywKIAkJCQk1MDRBQUND
QzE4MzQ0NTU5MDBFM0Q5QkMgLyogSW5zcGVjdG9yTm9kZUZpbmRlci5oICovLAogCQkJCTdDNTIy
RDQ5MTVCNDc3RTgwMDlCN0M5NSAvKiBJbnNwZWN0b3JPdmVybGF5LmNwcCAqLywKQEAgLTE1OTU0
LDggKzE1OTU2LDYgQEAKIAkJCQk0RjZGREQ2MzEzNDFERUREMDAxRjhFRTMgLyogSW5zcGVjdG9y
UGFnZUFnZW50LmggKi8sCiAJCQkJOTlDQzBCNjQxOEJFOUYxNTAwNkNFQkNDIC8qIEluc3BlY3Rv
clJlcGxheUFnZW50LmNwcCAqLywKIAkJCQk5OUNDMEI2NTE4QkU5RjE1MDA2Q0VCQ0MgLyogSW5z
cGVjdG9yUmVwbGF5QWdlbnQuaCAqLywKLQkJCQk4MkFCMTc3MTEyNUM4MjY3MDBDNTA2OUQgLyog
SW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAgKi8sCi0JCQkJODJBQjE3NzIxMjVDODI2NzAwQzUw
NjlEIC8qIEluc3BlY3RvclJlc291cmNlQWdlbnQuaCAqLywKIAkJCQk4MkFCMTc2RjEyNUM4MjY3
MDBDNTA2OUQgLyogSW5zcGVjdG9yU3R5bGVTaGVldC5jcHAgKi8sCiAJCQkJODJBQjE3NzAxMjVD
ODI2NzAwQzUwNjlEIC8qIEluc3BlY3RvclN0eWxlU2hlZXQuaCAqLywKIAkJCQk3NTQxMzNBOTEw
MkUwMEY0MDAwNzVEMDAgLyogSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAgKi8sCkBAIC0yNTg0
Nyw3ICsyNTg0Nyw3IEBACiAJCQkJMEYwM0MwNzUxODg0ODA1NTAwQTVGOENBIC8qIEluc3BlY3Rv
ck92ZXJsYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCTRGNkZERDY1MTM0MURFREQwMDFGOEVFMyAv
KiBJbnNwZWN0b3JQYWdlQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTk5Q0MwQjY3MThCRTlG
MTUwMDZDRUJDQyAvKiBJbnNwZWN0b3JSZXBsYXlBZ2VudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
ODJBQjE3NzYxMjVDODI2NzAwQzUwNjlEIC8qIEluc3BlY3RvclJlc291cmNlQWdlbnQuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTgyQUIxNzc2MTI1QzgyNjcwMEM1MDY5RCAvKiBJbnNwZWN0b3JOZXR3
b3JrQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTgyQUIxNzc0MTI1QzgyNjcwMEM1MDY5RCAv
KiBJbnNwZWN0b3JTdHlsZVNoZWV0LmggaW4gSGVhZGVycyAqLywKIAkJCQk3NTQxMzNBODEwMkUw
MEU4MDAwNzVEMDAgLyogSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTU5M0NGOEIxODQwNTM1MjAwQkZDRTI3IC8qIEluc3BlY3RvcldlYkFnZW50QmFzZS5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0yOTQzNiw3ICsyOTQzNiw3IEBACiAJCQkJN0M1MjJENEIxNUI0NzdF
ODAwOUI3Qzk1IC8qIEluc3BlY3Rvck92ZXJsYXkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNEY2
RkRENjQxMzQxREVERDAwMUY4RUUzIC8qIEluc3BlY3RvclBhZ2VBZ2VudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk5OUNDMEI2NjE4QkU5RjE1MDA2Q0VCQ0MgLyogSW5zcGVjdG9yUmVwbGF5QWdl
bnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJODJBQjE3NzUxMjVDODI2NzAwQzUwNjlEIC8qIElu
c3BlY3RvclJlc291cmNlQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJODJBQjE3NzUxMjVD
ODI2NzAwQzUwNjlEIC8qIEluc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk4MkFCMTc3MzEyNUM4MjY3MDBDNTA2OUQgLyogSW5zcGVjdG9yU3R5bGVTaGVldC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk3NTQxMzNBQTEwMkUwMEY0MDAwNzVEMDAgLyogSW5zcGVjdG9y
VGltZWxpbmVBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGMzgxMEMxQjEzNjVBNDk2MDBF
RDZFMzMgLyogSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbEluT25lLmNwcAppbmRleCAyOGRlZGJj
Li4zN2M5ODRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
QWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJ
bk9uZS5jcHAKQEAgLTQ0LDEwICs0NCwxMCBAQAogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5jcHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llLmNw
cCIKICNpbmNsdWRlICJJbnNwZWN0b3JMYXllclRyZWVBZ2VudC5jcHAiCisjaW5jbHVkZSAiSW5z
cGVjdG9yTmV0d29ya0FnZW50LmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JOb2RlRmluZGVyLmNw
cCIKICNpbmNsdWRlICJJbnNwZWN0b3JPdmVybGF5LmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JQ
YWdlQWdlbnQuY3BwIgotI2luY2x1ZGUgIkluc3BlY3RvclJlc291cmNlQWdlbnQuY3BwIgogI2lu
Y2x1ZGUgIkluc3BlY3RvclN0eWxlU2hlZXQuY3BwIgogI2luY2x1ZGUgIkluc3BlY3RvclRpbWVs
aW5lQWdlbnQuY3BwIgogI2luY2x1ZGUgIkluc3BlY3RvcldvcmtlckFnZW50LmNwcCIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCA5
MDA3NTExLi5hMzc1NWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckNvbnRyb2xsZXIuY3BwCkBAIC00Niw5ICs0Niw5IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9y
SW5kZXhlZERCQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JMYXllclRyZWVBZ2VudC5oIgorI2luY2x1ZGUgIkluc3BlY3Rv
ck5ldHdvcmtBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclBhZ2VBZ2VudC5oIgogI2luY2x1
ZGUgIkluc3BlY3RvclJlcGxheUFnZW50LmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yUmVzb3VyY2VB
Z2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclRpbWVsaW5lQWdlbnQuaCIKICNpbmNsdWRlICJJ
bnNwZWN0b3JXb3JrZXJBZ2VudC5oIgogI2luY2x1ZGUgIkluc3RydW1lbnRpbmdBZ2VudHMuaCIK
QEAgLTEzOCw2ICsxMzgsOCBAQCBJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9s
bGVyKFBhZ2UmIHBhZ2UsIEluc3BlY3RvckNsaWVudCogaW5zcGVjdG9yQwogICAgIEluc3BlY3Rv
ckRhdGFiYXNlQWdlbnQqIGRhdGFiYXNlQWdlbnQgPSBkYXRhYmFzZUFnZW50UHRyLmdldCgpOwog
ICAgIG1fYWdlbnRzLmFwcGVuZChXVEY6Om1vdmUoZGF0YWJhc2VBZ2VudFB0cikpOwogCisgICAg
bV9hZ2VudHMuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yTmV0d29ya0FnZW50Pihw
YWdlQ29udGV4dCwgcGFnZUFnZW50KSk7CisKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkK
ICAgICBtX2FnZW50cy5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3JJbmRleGVkREJB
Z2VudD4ocGFnZUNvbnRleHQsIHBhZ2VBZ2VudCkpOwogI2VuZGlmCkBAIC0xNTQsMTAgKzE1Niw2
IEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIoUGFnZSYgcGFnZSwg
SW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDCiAgICAgbV90aW1lbGluZUFnZW50ID0gdGltZWxp
bmVBZ2VudFB0ci5nZXQoKTsKICAgICBtX2FnZW50cy5hcHBlbmQoV1RGOjptb3ZlKHRpbWVsaW5l
QWdlbnRQdHIpKTsKIAotICAgIGF1dG8gcmVzb3VyY2VBZ2VudFB0ciA9IHN0ZDo6bWFrZV91bmlx
dWU8SW5zcGVjdG9yUmVzb3VyY2VBZ2VudD4ocGFnZUNvbnRleHQsIHBhZ2VBZ2VudCk7Ci0gICAg
bV9yZXNvdXJjZUFnZW50ID0gcmVzb3VyY2VBZ2VudFB0ci5nZXQoKTsKLSAgICBtX2FnZW50cy5h
cHBlbmQoV1RGOjptb3ZlKHJlc291cmNlQWdlbnRQdHIpKTsKLQogICAgIGF1dG8gY29uc29sZUFn
ZW50UHRyID0gc3RkOjptYWtlX3VuaXF1ZTxQYWdlQ29uc29sZUFnZW50PihwYWdlQ29udGV4dCwg
bV9kb21BZ2VudCk7CiAgICAgV2ViQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBjb25zb2xl
QWdlbnRQdHIuZ2V0KCk7CiAgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLT5zZXRXZWJDb25zb2xl
QWdlbnQoY29uc29sZUFnZW50UHRyLmdldCgpKTsKQEAgLTE2NywxMCArMTY1LDcgQEAgSW5zcGVj
dG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcihQYWdlJiBwYWdlLCBJbnNwZWN0b3JD
bGllbnQqIGluc3BlY3RvckMKICAgICBQYWdlRGVidWdnZXJBZ2VudCogZGVidWdnZXJBZ2VudCA9
IGRlYnVnZ2VyQWdlbnRQdHIuZ2V0KCk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKFdURjo6bW92ZShk
ZWJ1Z2dlckFnZW50UHRyKSk7CiAKLSAgICBhdXRvIGRvbURlYnVnZ2VyQWdlbnRQdHIgPSBzdGQ6
Om1ha2VfdW5pcXVlPEluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQ+KHBhZ2VDb250ZXh0LCBtX2Rv
bUFnZW50LCBkZWJ1Z2dlckFnZW50KTsKLSAgICBtX2RvbURlYnVnZ2VyQWdlbnQgPSBkb21EZWJ1
Z2dlckFnZW50UHRyLmdldCgpOwotICAgIG1fYWdlbnRzLmFwcGVuZChXVEY6Om1vdmUoZG9tRGVi
dWdnZXJBZ2VudFB0cikpOwotCisgICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8
SW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudD4ocGFnZUNvbnRleHQsIG1fZG9tQWdlbnQsIGRlYnVn
Z2VyQWdlbnQpKTsKICAgICBtX2FnZW50cy5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0
b3JIZWFwQWdlbnQ+KHBhZ2VDb250ZXh0KSk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bWFr
ZV91bmlxdWU8SW5zcGVjdG9yQXBwbGljYXRpb25DYWNoZUFnZW50PihwYWdlQ29udGV4dCwgcGFn
ZUFnZW50KSk7CiAgICAgbV9hZ2VudHMuYXBwZW5kKHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9y
V29ya2VyQWdlbnQ+KHBhZ2VDb250ZXh0KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCA5NjgxZWNhLi5hZTBkZjIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTM2LDkgKzM2
LDcgQEAKICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnRSZWdpc3RyeS5oPgogI2lu
Y2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JFbnZpcm9ubWVudC5oPgogI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29w
eWFibGUuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewpAQCAtNDYsNyArNDQsNiBAQCBjbGFz
cyBCYWNrZW5kRGlzcGF0Y2hlcjsKIGNsYXNzIEZyb250ZW5kQ2hhbm5lbDsKIGNsYXNzIEZyb250
ZW5kUm91dGVyOwogY2xhc3MgSW5zcGVjdG9yQWdlbnQ7Ci1jbGFzcyBJbnNwZWN0b3JPYmplY3Q7
CiAKIG5hbWVzcGFjZSBQcm90b2NvbCB7CiBuYW1lc3BhY2UgT3ZlcmxheVR5cGVzIHsKQEAgLTYy
LDExICs1OSw5IEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgR3JhcGhpY3NDb250ZXh0OwogY2xhc3Mg
SW5zcGVjdG9yQ2xpZW50OwogY2xhc3MgSW5zcGVjdG9yRE9NQWdlbnQ7Ci1jbGFzcyBJbnNwZWN0
b3JET01EZWJ1Z2dlckFnZW50OwogY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ7CiBjbGFz
cyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb247CiBjbGFzcyBJbnNwZWN0b3JQYWdlQWdlbnQ7Ci1j
bGFzcyBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OwogY2xhc3MgSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dDsKIGNsYXNzIEluc3RydW1lbnRpbmdBZ2VudHM7CiBjbGFzcyBOb2RlOwpAQCAtMTUwLDkgKzE0
NSw3IEBAIHByaXZhdGU6CiAKICAgICBJbnNwZWN0b3I6Okluc3BlY3RvckFnZW50KiBtX2luc3Bl
Y3RvckFnZW50IHsgbnVsbHB0ciB9OwogICAgIEluc3BlY3RvckRPTUFnZW50KiBtX2RvbUFnZW50
IHsgbnVsbHB0ciB9OwotICAgIEluc3BlY3RvclJlc291cmNlQWdlbnQqIG1fcmVzb3VyY2VBZ2Vu
dCB7IG51bGxwdHIgfTsKICAgICBJbnNwZWN0b3JQYWdlQWdlbnQqIG1fcGFnZUFnZW50IHsgbnVs
bHB0ciB9OwotICAgIEluc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQqIG1fZG9tRGVidWdnZXJBZ2Vu
dCB7IG51bGxwdHIgfTsKICAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50KiBtX3RpbWVsaW5lQWdl
bnQgeyBudWxscHRyIH07CiAKICAgICBib29sIG1faXNVbmRlclRlc3QgeyBmYWxzZSB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTURlYnVnZ2VyQWdl
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50
LmgKaW5kZXggNTZiZjY1MC4uNGFkYTBlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oCkBAIC0zNiw3ICszNiw2IEBACiAj
aW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oPgogI2luY2x1
ZGUgPGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yRGVidWdnZXJBZ2VudC5oPgogI2luY2x1ZGUg
PHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudC5oCmluZGV4IGE2
OWU0MzMuLjVkM2Y2YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZENsaWVudC5oCkBAIC0zMiw3ICszMiw2IEBACiAjZGVmaW5lIEluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50X2gKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKaW5kZXggN2Zm
MTk1OS4uNDQ4ZmM2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKQEAgLTQxLDE1ICs0MSwxNSBAQAogI2luY2x1ZGUg
IkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnREaXNwYXRjaGVyLmgiCiAjaW5jbHVkZSAiSW5zcGVj
dG9yQXBwbGljYXRpb25DYWNoZUFnZW50LmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxl
ci5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNTU0FnZW50LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9y
Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRPTUFnZW50LmgiCiAjaW5jbHVkZSAi
SW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRPTVN0b3Jh
Z2VBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckRhdGFiYXNlQWdlbnQuaCIKICNpbmNsdWRl
ICJJbnNwZWN0b3JMYXllclRyZWVBZ2VudC5oIgorI2luY2x1ZGUgIkluc3BlY3Rvck5ldHdvcmtB
Z2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclBhZ2VBZ2VudC5oIgotI2luY2x1ZGUgIkluc3Bl
Y3RvclJlc291cmNlQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JUaW1lbGluZUFnZW50Lmgi
CiAjaW5jbHVkZSAiSW5zcGVjdG9yV29ya2VyQWdlbnQuaCIKICNpbmNsdWRlICJJbnN0cnVtZW50
aW5nQWdlbnRzLmgiCkBAIC01MDEsOCArNTAxLDggQEAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Q29va2llIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFJlY2FsY3VsYXRlU3R5bGVJbXAK
ICAgICAgICAgdGltZWxpbmVBZ2VudC0+d2lsbFJlY2FsY3VsYXRlU3R5bGUoZG9jdW1lbnQuZnJh
bWUoKSk7CiAgICAgICAgIHRpbWVsaW5lQWdlbnRJZCA9IHRpbWVsaW5lQWdlbnQtPmlkKCk7CiAg
ICAgfQotICAgIGlmIChJbnNwZWN0b3JSZXNvdXJjZUFnZW50KiByZXNvdXJjZUFnZW50ID0gaW5z
dHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JSZXNvdXJjZUFnZW50KCkpCi0gICAgICAgIHJlc291
cmNlQWdlbnQtPndpbGxSZWNhbGN1bGF0ZVN0eWxlKCk7CisgICAgaWYgKEluc3BlY3Rvck5ldHdv
cmtBZ2VudCogbmV0d29ya0FnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JOZXR3
b3JrQWdlbnQoKSkKKyAgICAgICAgbmV0d29ya0FnZW50LT53aWxsUmVjYWxjdWxhdGVTdHlsZSgp
OwogICAgIHJldHVybiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoaW5zdHJ1bWVudGlu
Z0FnZW50cywgdGltZWxpbmVBZ2VudElkKTsKIH0KIApAQCAtNTE1LDggKzUxNSw4IEBAIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNhbGN1bGF0ZVN0eWxlSW1wbChjb25zdCBJ
bnNwZWN0b3JJbnN0cnVtZW50CiAKICAgICBpZiAoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogdGlt
ZWxpbmVBZ2VudCA9IHJldHJpZXZlVGltZWxpbmVBZ2VudChjb29raWUpKQogICAgICAgICB0aW1l
bGluZUFnZW50LT5kaWRSZWNhbGN1bGF0ZVN0eWxlKCk7Ci0gICAgaWYgKEluc3BlY3RvclJlc291
cmNlQWdlbnQqIHJlc291cmNlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclJl
c291cmNlQWdlbnQoKSkKLSAgICAgICAgcmVzb3VyY2VBZ2VudC0+ZGlkUmVjYWxjdWxhdGVTdHls
ZSgpOworICAgIGlmIChJbnNwZWN0b3JOZXR3b3JrQWdlbnQqIG5ldHdvcmtBZ2VudCA9IGluc3Ry
dW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yTmV0d29ya0FnZW50KCkpCisgICAgICAgIG5ldHdvcmtB
Z2VudC0+ZGlkUmVjYWxjdWxhdGVTdHlsZSgpOwogICAgIGlmIChJbnNwZWN0b3JQYWdlQWdlbnQq
IHBhZ2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yUGFnZUFnZW50KCkpCiAg
ICAgICAgIHBhZ2VBZ2VudC0+ZGlkUmVjYWxjdWxhdGVTdHlsZSgpOwogfQpAQCAtNTI1LDggKzUy
NSw4IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY2hlZHVsZVN0eWxlUmVj
YWxjdWxhdGlvbkltcGwoSW5zdHJ1bWVudGluZ0FnCiB7CiAgICAgaWYgKEluc3BlY3RvclRpbWVs
aW5lQWdlbnQqIHRpbWVsaW5lQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclRp
bWVsaW5lQWdlbnQoKSkKICAgICAgICAgdGltZWxpbmVBZ2VudC0+ZGlkU2NoZWR1bGVTdHlsZVJl
Y2FsY3VsYXRpb24oZG9jdW1lbnQuZnJhbWUoKSk7Ci0gICAgaWYgKEluc3BlY3RvclJlc291cmNl
QWdlbnQqIHJlc291cmNlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclJlc291
cmNlQWdlbnQoKSkKLSAgICAgICAgcmVzb3VyY2VBZ2VudC0+ZGlkU2NoZWR1bGVTdHlsZVJlY2Fs
Y3VsYXRpb24oZG9jdW1lbnQpOworICAgIGlmIChJbnNwZWN0b3JOZXR3b3JrQWdlbnQqIG5ldHdv
cmtBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yTmV0d29ya0FnZW50KCkpCisg
ICAgICAgIG5ldHdvcmtBZ2VudC0+ZGlkU2NoZWR1bGVTdHlsZVJlY2FsY3VsYXRpb24oZG9jdW1l
bnQpOwogfQogCiB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YXBwbHlFbXVsYXRlZE1l
ZGlhSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVtZW50aW5nQWdlbnRzLCBTdHJpbmcm
IG1lZGlhKQpAQCAtNTQwLDggKzU0MCw4IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Ojp3aWxsU2VuZFJlcXVlc3RJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lCiAgICAg
aWYgKCFsb2FkZXIpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChJbnNwZWN0b3JSZXNvdXJj
ZUFnZW50KiByZXNvdXJjZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JSZXNv
dXJjZUFnZW50KCkpCi0gICAgICAgIHJlc291cmNlQWdlbnQtPndpbGxTZW5kUmVxdWVzdChpZGVu
dGlmaWVyLCAqbG9hZGVyLCByZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNlKTsKKyAgICBpZiAoSW5z
cGVjdG9yTmV0d29ya0FnZW50KiBuZXR3b3JrQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmlu
c3BlY3Rvck5ldHdvcmtBZ2VudCgpKQorICAgICAgICBuZXR3b3JrQWdlbnQtPndpbGxTZW5kUmVx
dWVzdChpZGVudGlmaWVyLCAqbG9hZGVyLCByZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNlKTsKIH0K
IAogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnRpbnVlQWZ0ZXJQaW5nTG9hZGVy
SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVtZW50aW5nQWdlbnRzLCB1bnNpZ25lZCBs
b25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIFJlc291cmNlUmVxdWVzdCYg
cmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCkBAIC01NTEsOCArNTUx
LDggQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnRpbnVlQWZ0ZXJQaW5nTG9h
ZGVySW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJgogCiB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6bWFya1Jlc291cmNlQXNDYWNoZWRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmIGluc3Ry
dW1lbnRpbmdBZ2VudHMsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcikKIHsKLSAgICBpZiAoSW5z
cGVjdG9yUmVzb3VyY2VBZ2VudCogcmVzb3VyY2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMu
aW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgpKQotICAgICAgICByZXNvdXJjZUFnZW50LT5tYXJrUmVz
b3VyY2VBc0NhY2hlZChpZGVudGlmaWVyKTsKKyAgICBpZiAoSW5zcGVjdG9yTmV0d29ya0FnZW50
KiBuZXR3b3JrQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3Rvck5ldHdvcmtBZ2Vu
dCgpKQorICAgICAgICBuZXR3b3JrQWdlbnQtPm1hcmtSZXNvdXJjZUFzQ2FjaGVkKGlkZW50aWZp
ZXIpOwogfQogCiB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkTG9hZFJlc291cmNl
RnJvbU1lbW9yeUNhY2hlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVtZW50aW5nQWdl
bnRzLCBEb2N1bWVudExvYWRlciogbG9hZGVyLCBDYWNoZWRSZXNvdXJjZSogY2FjaGVkUmVzb3Vy
Y2UpCkBAIC01NjMsOCArNTYzLDggQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZExvYWRSZXNvdXJjZUZyb21NZW1vcnlDYWNoZUltcGwoSW5zdHJ1bWVudGluZ0EKICAgICBpZiAo
IWxvYWRlciB8fCAhY2FjaGVkUmVzb3VyY2UpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChJ
bnNwZWN0b3JSZXNvdXJjZUFnZW50KiByZXNvdXJjZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50
cy5pbnNwZWN0b3JSZXNvdXJjZUFnZW50KCkpCi0gICAgICAgIHJlc291cmNlQWdlbnQtPmRpZExv
YWRSZXNvdXJjZUZyb21NZW1vcnlDYWNoZSgqbG9hZGVyLCAqY2FjaGVkUmVzb3VyY2UpOworICAg
IGlmIChJbnNwZWN0b3JOZXR3b3JrQWdlbnQqIG5ldHdvcmtBZ2VudCA9IGluc3RydW1lbnRpbmdB
Z2VudHMuaW5zcGVjdG9yTmV0d29ya0FnZW50KCkpCisgICAgICAgIG5ldHdvcmtBZ2VudC0+ZGlk
TG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hlKCpsb2FkZXIsICpjYWNoZWRSZXNvdXJjZSk7CiB9
CiAKIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OndpbGxSZWNlaXZlUmVzb3VyY2VSZXNwb25zZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYg
aW5zdHJ1bWVudGluZ0FnZW50cykKQEAgLTU4Miw4ICs1ODIsOCBAQCB2b2lkIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZVJlc291cmNlUmVzcG9uc2VJbXBsKGNvbnN0IEluc3Bl
Y3RvcklucwogCiAgICAgSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50cyA9
ICpjb29raWUuaW5zdHJ1bWVudGluZ0FnZW50cygpOwogCi0gICAgaWYgKEluc3BlY3RvclJlc291
cmNlQWdlbnQqIHJlc291cmNlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclJl
c291cmNlQWdlbnQoKSkKLSAgICAgICAgcmVzb3VyY2VBZ2VudC0+ZGlkUmVjZWl2ZVJlc3BvbnNl
KGlkZW50aWZpZXIsICpsb2FkZXIsIHJlc3BvbnNlLCByZXNvdXJjZUxvYWRlcik7CisgICAgaWYg
KEluc3BlY3Rvck5ldHdvcmtBZ2VudCogbmV0d29ya0FnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50
cy5pbnNwZWN0b3JOZXR3b3JrQWdlbnQoKSkKKyAgICAgICAgbmV0d29ya0FnZW50LT5kaWRSZWNl
aXZlUmVzcG9uc2UoaWRlbnRpZmllciwgKmxvYWRlciwgcmVzcG9uc2UsIHJlc291cmNlTG9hZGVy
KTsKICAgICBpZiAoV2ViQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5n
QWdlbnRzLndlYkNvbnNvbGVBZ2VudCgpKQogICAgICAgICBjb25zb2xlQWdlbnQtPmRpZFJlY2Vp
dmVSZXNwb25zZShpZGVudGlmaWVyLCByZXNwb25zZSk7IC8vIFRoaXMgc2hvdWxkIGNvbWUgQUZU
RVIgcmVzb3VyY2Ugbm90aWZpY2F0aW9uLCBmcm9udC1lbmQgcmVsaWVzIG9uIHRoaXMuCiB9CkBA
IC02MTQsOCArNjE0LDggQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmNvbnRpbnVl
V2l0aFBvbGljeUlnbm9yZUltcGwoRnJhbWUqIGZyYW1lLCBEb2N1bWUKIAogdm9pZCBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVEYXRhSW1wbChJbnN0cnVtZW50aW5nQWdlbnRz
JiBpbnN0cnVtZW50aW5nQWdlbnRzLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IGNo
YXIqIGRhdGEsIGludCBkYXRhTGVuZ3RoLCBpbnQgZW5jb2RlZERhdGFMZW5ndGgpCiB7Ci0gICAg
aWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291cmNlQWdlbnQgPSBpbnN0cnVtZW50aW5n
QWdlbnRzLmluc3BlY3RvclJlc291cmNlQWdlbnQoKSkKLSAgICAgICAgcmVzb3VyY2VBZ2VudC0+
ZGlkUmVjZWl2ZURhdGEoaWRlbnRpZmllciwgZGF0YSwgZGF0YUxlbmd0aCwgZW5jb2RlZERhdGFM
ZW5ndGgpOworICAgIGlmIChJbnNwZWN0b3JOZXR3b3JrQWdlbnQqIG5ldHdvcmtBZ2VudCA9IGlu
c3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yTmV0d29ya0FnZW50KCkpCisgICAgICAgIG5ldHdv
cmtBZ2VudC0+ZGlkUmVjZWl2ZURhdGEoaWRlbnRpZmllciwgZGF0YSwgZGF0YUxlbmd0aCwgZW5j
b2RlZERhdGFMZW5ndGgpOwogfQogCiB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
RmluaXNoTG9hZGluZ0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50
cywgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciogbG9hZGVyLCBkb3Vi
bGUgZmluaXNoVGltZSkKQEAgLTYyMyw4ICs2MjMsOCBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkRmluaXNoTG9hZGluZ0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1
bQogICAgIGlmICghbG9hZGVyKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAoSW5zcGVjdG9y
UmVzb3VyY2VBZ2VudCogcmVzb3VyY2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVj
dG9yUmVzb3VyY2VBZ2VudCgpKQotICAgICAgICByZXNvdXJjZUFnZW50LT5kaWRGaW5pc2hMb2Fk
aW5nKGlkZW50aWZpZXIsICpsb2FkZXIsIGZpbmlzaFRpbWUpOworICAgIGlmIChJbnNwZWN0b3JO
ZXR3b3JrQWdlbnQqIG5ldHdvcmtBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9y
TmV0d29ya0FnZW50KCkpCisgICAgICAgIG5ldHdvcmtBZ2VudC0+ZGlkRmluaXNoTG9hZGluZyhp
ZGVudGlmaWVyLCAqbG9hZGVyLCBmaW5pc2hUaW1lKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmRpZEZhaWxMb2FkaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0
cnVtZW50aW5nQWdlbnRzLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVy
KiBsb2FkZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQpAQCAtNjMyLDggKzYzMiw4IEBA
IHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGYWlsTG9hZGluZ0ltcGwoSW5zdHJ1
bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVuCiAgICAgaWYgKCFsb2FkZXIpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIGlmIChJbnNwZWN0b3JSZXNvdXJjZUFnZW50KiByZXNvdXJjZUFnZW50ID0gaW5z
dHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JSZXNvdXJjZUFnZW50KCkpCi0gICAgICAgIHJlc291
cmNlQWdlbnQtPmRpZEZhaWxMb2FkaW5nKGlkZW50aWZpZXIsICpsb2FkZXIsIGVycm9yKTsKKyAg
ICBpZiAoSW5zcGVjdG9yTmV0d29ya0FnZW50KiBuZXR3b3JrQWdlbnQgPSBpbnN0cnVtZW50aW5n
QWdlbnRzLmluc3BlY3Rvck5ldHdvcmtBZ2VudCgpKQorICAgICAgICBuZXR3b3JrQWdlbnQtPmRp
ZEZhaWxMb2FkaW5nKGlkZW50aWZpZXIsICpsb2FkZXIsIGVycm9yKTsKICAgICBpZiAoV2ViQ29u
c29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLndlYkNvbnNvbGVB
Z2VudCgpKQogICAgICAgICBjb25zb2xlQWdlbnQtPmRpZEZhaWxMb2FkaW5nKGlkZW50aWZpZXIs
IGVycm9yKTsgLy8gVGhpcyBzaG91bGQgY29tZSBBRlRFUiByZXNvdXJjZSBub3RpZmljYXRpb24s
IGZyb250LWVuZCByZWxpZXMgb24gdGhpcy4KIH0KQEAgLTY0MiwzMiArNjQyLDMyIEBAIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGaW5pc2hYSFJMb2FkaW5nSW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzJiBpbnN0CiB7CiAgICAgaWYgKFdlYkNvbnNvbGVBZ2VudCogY29uc29sZUFn
ZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy53ZWJDb25zb2xlQWdlbnQoKSkKICAgICAgICAgY29u
c29sZUFnZW50LT5kaWRGaW5pc2hYSFJMb2FkaW5nKGlkZW50aWZpZXIsIHVybCwgc2VuZFVSTCwg
c2VuZExpbmVOdW1iZXIsIHNlbmRDb2x1bW5OdW1iZXIpOwotICAgIGlmIChJbnNwZWN0b3JSZXNv
dXJjZUFnZW50KiByZXNvdXJjZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JS
ZXNvdXJjZUFnZW50KCkpCi0gICAgICAgIHJlc291cmNlQWdlbnQtPmRpZEZpbmlzaFhIUkxvYWRp
bmcoY2xpZW50LCBpZGVudGlmaWVyLCBzb3VyY2VTdHJpbmcpOworICAgIGlmIChJbnNwZWN0b3JO
ZXR3b3JrQWdlbnQqIG5ldHdvcmtBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9y
TmV0d29ya0FnZW50KCkpCisgICAgICAgIG5ldHdvcmtBZ2VudC0+ZGlkRmluaXNoWEhSTG9hZGlu
ZyhjbGllbnQsIGlkZW50aWZpZXIsIHNvdXJjZVN0cmluZyk7CiB9CiAKIHZvaWQgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlWEhSUmVzcG9uc2VJbXBsKEluc3RydW1lbnRpbmdB
Z2VudHMmIGluc3RydW1lbnRpbmdBZ2VudHMsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcikKIHsK
LSAgICBpZiAoSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogcmVzb3VyY2VBZ2VudCA9IGluc3RydW1l
bnRpbmdBZ2VudHMuaW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgpKQotICAgICAgICByZXNvdXJjZUFn
ZW50LT5kaWRSZWNlaXZlWEhSUmVzcG9uc2UoaWRlbnRpZmllcik7CisgICAgaWYgKEluc3BlY3Rv
ck5ldHdvcmtBZ2VudCogbmV0d29ya0FnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0
b3JOZXR3b3JrQWdlbnQoKSkKKyAgICAgICAgbmV0d29ya0FnZW50LT5kaWRSZWNlaXZlWEhSUmVz
cG9uc2UoaWRlbnRpZmllcik7CiB9CiAKIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3
aWxsTG9hZFhIUlN5bmNocm9ub3VzbHlJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1l
bnRpbmdBZ2VudHMpCiB7Ci0gICAgaWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291cmNl
QWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclJlc291cmNlQWdlbnQoKSkKLSAg
ICAgICAgcmVzb3VyY2VBZ2VudC0+d2lsbExvYWRYSFJTeW5jaHJvbm91c2x5KCk7CisgICAgaWYg
KEluc3BlY3Rvck5ldHdvcmtBZ2VudCogbmV0d29ya0FnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50
cy5pbnNwZWN0b3JOZXR3b3JrQWdlbnQoKSkKKyAgICAgICAgbmV0d29ya0FnZW50LT53aWxsTG9h
ZFhIUlN5bmNocm9ub3VzbHkoKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmRpZExvYWRYSFJTeW5jaHJvbm91c2x5SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVt
ZW50aW5nQWdlbnRzKQogewotICAgIGlmIChJbnNwZWN0b3JSZXNvdXJjZUFnZW50KiByZXNvdXJj
ZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JSZXNvdXJjZUFnZW50KCkpCi0g
ICAgICAgIHJlc291cmNlQWdlbnQtPmRpZExvYWRYSFJTeW5jaHJvbm91c2x5KCk7CisgICAgaWYg
KEluc3BlY3Rvck5ldHdvcmtBZ2VudCogbmV0d29ya0FnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50
cy5pbnNwZWN0b3JOZXR3b3JrQWdlbnQoKSkKKyAgICAgICAgbmV0d29ya0FnZW50LT5kaWRMb2Fk
WEhSU3luY2hyb25vdXNseSgpOwogfQogCiB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
c2NyaXB0SW1wb3J0ZWRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2Vu
dHMsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBzb3VyY2VTdHJpbmcp
CiB7Ci0gICAgaWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291cmNlQWdlbnQgPSBpbnN0
cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclJlc291cmNlQWdlbnQoKSkKLSAgICAgICAgcmVzb3Vy
Y2VBZ2VudC0+c2V0SW5pdGlhbFNjcmlwdENvbnRlbnQoaWRlbnRpZmllciwgc291cmNlU3RyaW5n
KTsKKyAgICBpZiAoSW5zcGVjdG9yTmV0d29ya0FnZW50KiBuZXR3b3JrQWdlbnQgPSBpbnN0cnVt
ZW50aW5nQWdlbnRzLmluc3BlY3Rvck5ldHdvcmtBZ2VudCgpKQorICAgICAgICBuZXR3b3JrQWdl
bnQtPnNldEluaXRpYWxTY3JpcHRDb250ZW50KGlkZW50aWZpZXIsIHNvdXJjZVN0cmluZyk7CiB9
CiAKIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzY3JpcHRFeGVjdXRpb25CbG9ja2Vk
QnlDU1BJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2VudHMsIGNvbnN0
IFN0cmluZyYgZGlyZWN0aXZlVGV4dCkKQEAgLTY3OCw4ICs2NzgsOCBAQCB2b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6c2NyaXB0RXhlY3V0aW9uQmxvY2tlZEJ5Q1NQSW1wbChJbnN0cnVt
ZW50aW5nQWdlbgogCiB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZVNj
cmlwdFJlc3BvbnNlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVtZW50aW5nQWdlbnRz
LCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpCiB7Ci0gICAgaWYgKEluc3BlY3RvclJlc291cmNl
QWdlbnQqIHJlc291cmNlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclJlc291
cmNlQWdlbnQoKSkKLSAgICAgICAgcmVzb3VyY2VBZ2VudC0+ZGlkUmVjZWl2ZVNjcmlwdFJlc3Bv
bnNlKGlkZW50aWZpZXIpOworICAgIGlmIChJbnNwZWN0b3JOZXR3b3JrQWdlbnQqIG5ldHdvcmtB
Z2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yTmV0d29ya0FnZW50KCkpCisgICAg
ICAgIG5ldHdvcmtBZ2VudC0+ZGlkUmVjZWl2ZVNjcmlwdFJlc3BvbnNlKGlkZW50aWZpZXIpOwog
fQogCiB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZG9tQ29udGVudExvYWRlZEV2ZW50
RmlyZWRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2VudHMsIEZyYW1l
JiBmcmFtZSkKQEAgLTcyOSw4ICs3MjksOCBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkQ29tbWl0TG9hZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudAogICAg
ICAgICBpZiAoV2ViQ29uc29sZUFnZW50KiBjb25zb2xlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdl
bnRzLndlYkNvbnNvbGVBZ2VudCgpKQogICAgICAgICAgICAgY29uc29sZUFnZW50LT5yZXNldCgp
OwogCi0gICAgICAgIGlmIChJbnNwZWN0b3JSZXNvdXJjZUFnZW50KiByZXNvdXJjZUFnZW50ID0g
aW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JSZXNvdXJjZUFnZW50KCkpCi0gICAgICAgICAg
ICByZXNvdXJjZUFnZW50LT5tYWluRnJhbWVOYXZpZ2F0ZWQoKmxvYWRlcik7CisgICAgICAgIGlm
IChJbnNwZWN0b3JOZXR3b3JrQWdlbnQqIG5ldHdvcmtBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2Vu
dHMuaW5zcGVjdG9yTmV0d29ya0FnZW50KCkpCisgICAgICAgICAgICBuZXR3b3JrQWdlbnQtPm1h
aW5GcmFtZU5hdmlnYXRlZCgqbG9hZGVyKTsKIAogICAgICAgICBpZiAoSW5zcGVjdG9yQ1NTQWdl
bnQqIGNzc0FnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JDU1NBZ2VudCgpKQog
ICAgICAgICAgICAgY3NzQWdlbnQtPnJlc2V0KCk7CkBAIC04MjcsOCArODI3LDggQEAgdm9pZCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxEZXN0cm95Q2FjaGVkUmVzb3VyY2VJbXBsKENh
Y2hlZFJlc291cmNlJiBjYWMKICAgICAgICAgcmV0dXJuOwogCiAgICAgZm9yIChhdXRvKiBpbnN0
cnVtZW50aW5nQWdlbnQgOiAqc19pbnN0cnVtZW50aW5nQWdlbnRzU2V0KSB7Ci0gICAgICAgIGlm
IChJbnNwZWN0b3JSZXNvdXJjZUFnZW50KiBpbnNwZWN0b3JSZXNvdXJjZUFnZW50ID0gaW5zdHJ1
bWVudGluZ0FnZW50LT5pbnNwZWN0b3JSZXNvdXJjZUFnZW50KCkpCi0gICAgICAgICAgICBpbnNw
ZWN0b3JSZXNvdXJjZUFnZW50LT53aWxsRGVzdHJveUNhY2hlZFJlc291cmNlKGNhY2hlZFJlc291
cmNlKTsKKyAgICAgICAgaWYgKEluc3BlY3Rvck5ldHdvcmtBZ2VudCogaW5zcGVjdG9yTmV0d29y
a0FnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50LT5pbnNwZWN0b3JOZXR3b3JrQWdlbnQoKSkKKyAg
ICAgICAgICAgIGluc3BlY3Rvck5ldHdvcmtBZ2VudC0+d2lsbERlc3Ryb3lDYWNoZWRSZXNvdXJj
ZShjYWNoZWRSZXNvdXJjZSk7CiAgICAgfQogfQogCkBAIC05NjUsNDQgKzk2NSw0NCBAQCB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ3JlYXRlV2ViU29ja2V0SW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzJiBpbnN0cgogICAgIGlmICghaW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0
b3JFbnZpcm9ubWVudCgpLmRldmVsb3BlckV4dHJhc0VuYWJsZWQoKSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgaWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291cmNlQWdlbnQgPSBpbnN0
cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclJlc291cmNlQWdlbnQoKSkKLSAgICAgICAgcmVzb3Vy
Y2VBZ2VudC0+ZGlkQ3JlYXRlV2ViU29ja2V0KGlkZW50aWZpZXIsIHJlcXVlc3RVUkwpOworICAg
IGlmIChJbnNwZWN0b3JOZXR3b3JrQWdlbnQqIG5ldHdvcmtBZ2VudCA9IGluc3RydW1lbnRpbmdB
Z2VudHMuaW5zcGVjdG9yTmV0d29ya0FnZW50KCkpCisgICAgICAgIG5ldHdvcmtBZ2VudC0+ZGlk
Q3JlYXRlV2ViU29ja2V0KGlkZW50aWZpZXIsIHJlcXVlc3RVUkwpOwogfQogCiB2b2lkIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFNlbmRXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0SW1w
bChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVtZW50aW5nQWdlbnRzLCB1bnNpZ25lZCBsb25n
IGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIHsKLSAgICBpZiAo
SW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogcmVzb3VyY2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2Vu
dHMuaW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgpKQotICAgICAgICByZXNvdXJjZUFnZW50LT53aWxs
U2VuZFdlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3QoaWRlbnRpZmllciwgcmVxdWVzdCk7CisgICAg
aWYgKEluc3BlY3Rvck5ldHdvcmtBZ2VudCogbmV0d29ya0FnZW50ID0gaW5zdHJ1bWVudGluZ0Fn
ZW50cy5pbnNwZWN0b3JOZXR3b3JrQWdlbnQoKSkKKyAgICAgICAgbmV0d29ya0FnZW50LT53aWxs
U2VuZFdlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3QoaWRlbnRpZmllciwgcmVxdWVzdCk7CiB9CiAK
IHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlV2ViU29ja2V0SGFuZHNo
YWtlUmVzcG9uc2VJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2VudHMs
IHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9u
c2UpCiB7Ci0gICAgaWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291cmNlQWdlbnQgPSBp
bnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclJlc291cmNlQWdlbnQoKSkKLSAgICAgICAgcmVz
b3VyY2VBZ2VudC0+ZGlkUmVjZWl2ZVdlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlKGlkZW50aWZp
ZXIsIHJlc3BvbnNlKTsKKyAgICBpZiAoSW5zcGVjdG9yTmV0d29ya0FnZW50KiBuZXR3b3JrQWdl
bnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3Rvck5ldHdvcmtBZ2VudCgpKQorICAgICAg
ICBuZXR3b3JrQWdlbnQtPmRpZFJlY2VpdmVXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25zZShpZGVu
dGlmaWVyLCByZXNwb25zZSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpk
aWRDbG9zZVdlYlNvY2tldEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0Fn
ZW50cywgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKQogewotICAgIGlmIChJbnNwZWN0b3JSZXNv
dXJjZUFnZW50KiByZXNvdXJjZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JS
ZXNvdXJjZUFnZW50KCkpCi0gICAgICAgIHJlc291cmNlQWdlbnQtPmRpZENsb3NlV2ViU29ja2V0
KGlkZW50aWZpZXIpOworICAgIGlmIChJbnNwZWN0b3JOZXR3b3JrQWdlbnQqIG5ldHdvcmtBZ2Vu
dCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yTmV0d29ya0FnZW50KCkpCisgICAgICAg
IG5ldHdvcmtBZ2VudC0+ZGlkQ2xvc2VXZWJTb2NrZXQoaWRlbnRpZmllcik7CiB9CiAKIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWVJbXBsKElu
c3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2VudHMsIHVuc2lnbmVkIGxvbmcgaWRl
bnRpZmllciwgY29uc3QgV2ViU29ja2V0RnJhbWUmIGZyYW1lKQogewotICAgIGlmIChJbnNwZWN0
b3JSZXNvdXJjZUFnZW50KiByZXNvdXJjZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy5pbnNw
ZWN0b3JSZXNvdXJjZUFnZW50KCkpCi0gICAgICAgIHJlc291cmNlQWdlbnQtPmRpZFJlY2VpdmVX
ZWJTb2NrZXRGcmFtZShpZGVudGlmaWVyLCBmcmFtZSk7CisgICAgaWYgKEluc3BlY3Rvck5ldHdv
cmtBZ2VudCogbmV0d29ya0FnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JOZXR3
b3JrQWdlbnQoKSkKKyAgICAgICAgbmV0d29ya0FnZW50LT5kaWRSZWNlaXZlV2ViU29ja2V0RnJh
bWUoaWRlbnRpZmllciwgZnJhbWUpOwogfQogCiB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkUmVjZWl2ZVdlYlNvY2tldEZyYW1lRXJyb3JJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMm
IGluc3RydW1lbnRpbmdBZ2VudHMsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgU3Ry
aW5nJiBlcnJvck1lc3NhZ2UpCiB7Ci0gICAgaWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJl
c291cmNlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclJlc291cmNlQWdlbnQo
KSkKLSAgICAgICAgcmVzb3VyY2VBZ2VudC0+ZGlkUmVjZWl2ZVdlYlNvY2tldEZyYW1lRXJyb3Io
aWRlbnRpZmllciwgZXJyb3JNZXNzYWdlKTsKKyAgICBpZiAoSW5zcGVjdG9yTmV0d29ya0FnZW50
KiBuZXR3b3JrQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3Rvck5ldHdvcmtBZ2Vu
dCgpKQorICAgICAgICBuZXR3b3JrQWdlbnQtPmRpZFJlY2VpdmVXZWJTb2NrZXRGcmFtZUVycm9y
KGlkZW50aWZpZXIsIGVycm9yTWVzc2FnZSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpkaWRTZW5kV2ViU29ja2V0RnJhbWVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmIGlu
c3RydW1lbnRpbmdBZ2VudHMsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgV2ViU29j
a2V0RnJhbWUmIGZyYW1lKQogewotICAgIGlmIChJbnNwZWN0b3JSZXNvdXJjZUFnZW50KiByZXNv
dXJjZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JSZXNvdXJjZUFnZW50KCkp
Ci0gICAgICAgIHJlc291cmNlQWdlbnQtPmRpZFNlbmRXZWJTb2NrZXRGcmFtZShpZGVudGlmaWVy
LCBmcmFtZSk7CisgICAgaWYgKEluc3BlY3Rvck5ldHdvcmtBZ2VudCogbmV0d29ya0FnZW50ID0g
aW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JOZXR3b3JrQWdlbnQoKSkKKyAgICAgICAgbmV0
d29ya0FnZW50LT5kaWRTZW5kV2ViU29ja2V0RnJhbWUoaWRlbnRpZmllciwgZnJhbWUpOwogfQog
I2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JM
YXllclRyZWVBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckxheWVy
VHJlZUFnZW50LmgKaW5kZXggNmU5NWM4Ny4uY2MxMjcyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckxheWVyVHJlZUFnZW50LmgKQEAgLTMwLDExICszMCwx
MCBAQAogI2RlZmluZSBJbnNwZWN0b3JMYXllclRyZWVBZ2VudF9oCiAKICNpbmNsdWRlICJJbnNw
ZWN0b3JXZWJBZ2VudEJhc2UuaCIKKyNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUg
PGluc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaD4KICNpbmNsdWRlIDxpbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oPgogI2luY2x1ZGUgPGluc3BlY3Rv
ci9JbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaD4KLSNpbmNsdWRlICJSZW5kZXJMYXllci5oIgot
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHAKc2ltaWxhcml0eSBpbmRleCA4NiUKcmVuYW1lIGZy
b20gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwCnJl
bmFtZSB0byBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTmV0d29ya0FnZW50LmNw
cAppbmRleCBkMTlmZmFlLi44MWZhZTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHAKQEAgLTMwLDcgKzMwLDcgQEAKICAqLwog
CiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5o
IgorI2luY2x1ZGUgIkluc3BlY3Rvck5ldHdvcmtBZ2VudC5oIgogCiAjaW5jbHVkZSAiQ2FjaGVk
UmF3UmVzb3VyY2UuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZS5oIgpAQCAtMzgsNyArMzgs
NiBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIK
ICNpbmNsdWRlICJEb2N1bWVudFRocmVhZGFibGVMb2FkZXIuaCIKLSNpbmNsdWRlICJFeGNlcHRp
b25Db2RlUGxhY2Vob2xkZXIuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1l
TG9hZGVyLmgiCiAjaW5jbHVkZSAiSFRUUEhlYWRlck1hcC5oIgpAQCAtMTYxLDcgKzE2MCw3IEBA
IHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlCiAKLUluc3BlY3RvclJlc291cmNlQWdlbnQ6Oklu
c3BlY3RvclJlc291cmNlQWdlbnQoV2ViQWdlbnRDb250ZXh0JiBjb250ZXh0LCBJbnNwZWN0b3JQ
YWdlQWdlbnQqIHBhZ2VBZ2VudCkKK0luc3BlY3Rvck5ldHdvcmtBZ2VudDo6SW5zcGVjdG9yTmV0
d29ya0FnZW50KFdlYkFnZW50Q29udGV4dCYgY29udGV4dCwgSW5zcGVjdG9yUGFnZUFnZW50KiBw
YWdlQWdlbnQpCiAgICAgOiBJbnNwZWN0b3JBZ2VudEJhc2UoQVNDSUlMaXRlcmFsKCJOZXR3b3Jr
IiksIGNvbnRleHQpCiAgICAgLCBtX2Zyb250ZW5kRGlzcGF0Y2hlcihzdGQ6Om1ha2VfdW5pcXVl
PEluc3BlY3Rvcjo6TmV0d29ya0Zyb250ZW5kRGlzcGF0Y2hlcj4oY29udGV4dC5mcm9udGVuZFJv
dXRlcikpCiAgICAgLCBtX2JhY2tlbmREaXNwYXRjaGVyKEluc3BlY3Rvcjo6TmV0d29ya0JhY2tl
bmREaXNwYXRjaGVyOjpjcmVhdGUoY29udGV4dC5iYWNrZW5kRGlzcGF0Y2hlciwgdGhpcykpCkBA
IC0xNzAsMTEgKzE2OSwxMSBAQCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpJbnNwZWN0b3JSZXNv
dXJjZUFnZW50KFdlYkFnZW50Q29udGV4dCYgY29udGV4dCwgSW5zcGVjdAogewogfQogCi12b2lk
IEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNw
ZWN0b3I6OkZyb250ZW5kUm91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopCit2
b2lkIEluc3BlY3Rvck5ldHdvcmtBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKElu
c3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikK
IHsKIH0KIAotdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojp3aWxsRGVzdHJveUZyb250ZW5k
QW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nvbm5lY3RSZWFzb24pCit2b2lkIEluc3BlY3Rvck5l
dHdvcmtBZ2VudDo6d2lsbERlc3Ryb3lGcm9udGVuZEFuZEJhY2tlbmQoSW5zcGVjdG9yOjpEaXNj
b25uZWN0UmVhc29uKQogewogICAgIEVycm9yU3RyaW5nIHVudXNlZDsKICAgICBkaXNhYmxlKHVu
dXNlZCk7CkBAIC0yNTUsMjEgKzI1NCwyMSBAQCBzdGF0aWMgUmVmPEluc3BlY3Rvcjo6UHJvdG9j
b2w6Ok5ldHdvcms6OkNhY2hlZFJlc291cmNlPiBidWlsZE9iamVjdEZvckNhY2hlZFJlcwogICAg
IHJldHVybiBXVEY6Om1vdmUocmVzb3VyY2VPYmplY3QpOwogfQogCi1JbnNwZWN0b3JSZXNvdXJj
ZUFnZW50Ojp+SW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgpCitJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6
On5JbnNwZWN0b3JOZXR3b3JrQWdlbnQoKQogewogICAgIGlmIChtX2VuYWJsZWQpIHsKICAgICAg
ICAgRXJyb3JTdHJpbmcgdW51c2VkOwogICAgICAgICBkaXNhYmxlKHVudXNlZCk7CiAgICAgfQot
ICAgIEFTU0VSVCghbV9pbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclJlc291cmNlQWdlbnQo
KSk7CisgICAgQVNTRVJUKCFtX2luc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yTmV0d29ya0Fn
ZW50KCkpOwogfQogCi1kb3VibGUgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6dGltZXN0YW1wKCkK
K2RvdWJsZSBJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6OnRpbWVzdGFtcCgpCiB7CiAgICAgcmV0dXJu
IG1faW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JFbnZpcm9ubWVudCgpLmV4ZWN1dGlvblN0
b3B3YXRjaCgpLT5lbGFwc2VkVGltZSgpOwogfQogCi12b2lkIEluc3BlY3RvclJlc291cmNlQWdl
bnQ6OndpbGxTZW5kUmVxdWVzdCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9h
ZGVyJiBsb2FkZXIsIFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYgcmVkaXJlY3RSZXNwb25zZSkKK3ZvaWQgSW5zcGVjdG9yTmV0d29ya0FnZW50Ojp3aWxs
U2VuZFJlcXVlc3QodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciYgbG9h
ZGVyLCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJl
ZGlyZWN0UmVzcG9uc2UpCiB7CiAgICAgaWYgKHJlcXVlc3QuaGlkZGVuRnJvbUluc3BlY3Rvcigp
KSB7CiAgICAgICAgIG1faGlkZGVuUmVxdWVzdElkZW50aWZpZXJzLmFkZChpZGVudGlmaWVyKTsK
QEAgLTMxMCw3ICszMDksNyBAQCB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OndpbGxTZW5k
UmVxdWVzdCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TAogICAgIG1fZnJvbnRl
bmREaXNwYXRjaGVyLT5yZXF1ZXN0V2lsbEJlU2VudChyZXF1ZXN0SWQsIG1fcGFnZUFnZW50LT5m
cmFtZUlkKGxvYWRlci5mcmFtZSgpKSwgbV9wYWdlQWdlbnQtPmxvYWRlcklkKCZsb2FkZXIpLCBs
b2FkZXIudXJsKCkuc3RyaW5nKCksIGJ1aWxkT2JqZWN0Rm9yUmVzb3VyY2VSZXF1ZXN0KHJlcXVl
c3QpLCB0aW1lc3RhbXAoKSwgaW5pdGlhdG9yT2JqZWN0LCBidWlsZE9iamVjdEZvclJlc291cmNl
UmVzcG9uc2UocmVkaXJlY3RSZXNwb25zZSwgJmxvYWRlciksIHR5cGUgIT0gSW5zcGVjdG9yUGFn
ZUFnZW50OjpPdGhlclJlc291cmNlID8gJnJlc291cmNlVHlwZSA6IG51bGxwdHIpOwogfQogCi12
b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6Om1hcmtSZXNvdXJjZUFzQ2FjaGVkKHVuc2lnbmVk
IGxvbmcgaWRlbnRpZmllcikKK3ZvaWQgSW5zcGVjdG9yTmV0d29ya0FnZW50OjptYXJrUmVzb3Vy
Y2VBc0NhY2hlZCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpCiB7CiAgICAgaWYgKG1faGlkZGVu
UmVxdWVzdElkZW50aWZpZXJzLmNvbnRhaW5zKGlkZW50aWZpZXIpKQogICAgICAgICByZXR1cm47
CkBAIC0zMTgsNyArMzE3LDcgQEAgdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjptYXJrUmVz
b3VyY2VBc0NhY2hlZCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpCiAgICAgbV9mcm9udGVuZERp
c3BhdGNoZXItPnJlcXVlc3RTZXJ2ZWRGcm9tQ2FjaGUoSWRlbnRpZmllcnNGYWN0b3J5OjpyZXF1
ZXN0SWQoaWRlbnRpZmllcikpOwogfQogCi12b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRp
ZFJlY2VpdmVSZXNwb25zZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVy
JiBsb2FkZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBSZXNvdXJjZUxvYWRl
ciogcmVzb3VyY2VMb2FkZXIpCit2b2lkIEluc3BlY3Rvck5ldHdvcmtBZ2VudDo6ZGlkUmVjZWl2
ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2FkZXImIGxvYWRl
ciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFJlc291cmNlTG9hZGVyKiByZXNv
dXJjZUxvYWRlcikKIHsKICAgICBpZiAobV9oaWRkZW5SZXF1ZXN0SWRlbnRpZmllcnMuY29udGFp
bnMoaWRlbnRpZmllcikpCiAgICAgICAgIHJldHVybjsKQEAgLTM2NSw3ICszNjQsNyBAQCBzdGF0
aWMgYm9vbCBpc0Vycm9yU3RhdHVzQ29kZShpbnQgc3RhdHVzQ29kZSkKICAgICByZXR1cm4gc3Rh
dHVzQ29kZSA+PSA0MDA7CiB9CiAKLXZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkUmVj
ZWl2ZURhdGEodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBjaGFyKiBkYXRhLCBpbnQg
ZGF0YUxlbmd0aCwgaW50IGVuY29kZWREYXRhTGVuZ3RoKQordm9pZCBJbnNwZWN0b3JOZXR3b3Jr
QWdlbnQ6OmRpZFJlY2VpdmVEYXRhKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgY2hh
ciogZGF0YSwgaW50IGRhdGFMZW5ndGgsIGludCBlbmNvZGVkRGF0YUxlbmd0aCkKIHsKICAgICBp
ZiAobV9oaWRkZW5SZXF1ZXN0SWRlbnRpZmllcnMuY29udGFpbnMoaWRlbnRpZmllcikpCiAgICAg
ICAgIHJldHVybjsKQEAgLTM4MSw3ICszODAsNyBAQCB2b2lkIEluc3BlY3RvclJlc291cmNlQWdl
bnQ6OmRpZFJlY2VpdmVEYXRhKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgY2hhcgog
ICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyLT5kYXRhUmVjZWl2ZWQocmVxdWVzdElkLCB0aW1lc3Rh
bXAoKSwgZGF0YUxlbmd0aCwgZW5jb2RlZERhdGFMZW5ndGgpOwogfQogCi12b2lkIEluc3BlY3Rv
clJlc291cmNlQWdlbnQ6OmRpZEZpbmlzaExvYWRpbmcodW5zaWduZWQgbG9uZyBpZGVudGlmaWVy
LCBEb2N1bWVudExvYWRlciYgbG9hZGVyLCBkb3VibGUgZmluaXNoVGltZSkKK3ZvaWQgSW5zcGVj
dG9yTmV0d29ya0FnZW50OjpkaWRGaW5pc2hMb2FkaW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmll
ciwgRG9jdW1lbnRMb2FkZXImIGxvYWRlciwgZG91YmxlIGZpbmlzaFRpbWUpCiB7CiAgICAgaWYg
KG1faGlkZGVuUmVxdWVzdElkZW50aWZpZXJzLnJlbW92ZShpZGVudGlmaWVyKSkKICAgICAgICAg
cmV0dXJuOwpAQCAtNDA2LDcgKzQwNSw3IEBAIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6
ZGlkRmluaXNoTG9hZGluZyh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50CiAgICAg
bV9mcm9udGVuZERpc3BhdGNoZXItPmxvYWRpbmdGaW5pc2hlZChyZXF1ZXN0SWQsIGZpbmlzaFRp
bWUsICFzb3VyY2VNYXBwaW5nVVJMLmlzRW1wdHkoKSA/ICZzb3VyY2VNYXBwaW5nVVJMIDogbnVs
bHB0cik7CiB9CiAKLXZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkRmFpbExvYWRpbmco
dW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciYgbG9hZGVyLCBjb25zdCBS
ZXNvdXJjZUVycm9yJiBlcnJvcikKK3ZvaWQgSW5zcGVjdG9yTmV0d29ya0FnZW50OjpkaWRGYWls
TG9hZGluZyh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyJiBsb2FkZXIs
IGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQogewogICAgIGlmIChtX2hpZGRlblJlcXVlc3RJ
ZGVudGlmaWVycy5yZW1vdmUoaWRlbnRpZmllcikpCiAgICAgICAgIHJldHVybjsKQEAgLTQyNiw3
ICs0MjUsNyBAQCB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRpZEZhaWxMb2FkaW5nKHVu
c2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRMbwogICAgIG1fZnJvbnRlbmREaXNwYXRj
aGVyLT5sb2FkaW5nRmFpbGVkKHJlcXVlc3RJZCwgdGltZXN0YW1wKCksIGVycm9yLmxvY2FsaXpl
ZERlc2NyaXB0aW9uKCksIGNhbmNlbGVkID8gJmNhbmNlbGVkIDogbnVsbHB0cik7CiB9CiAKLXZv
aWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkTG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hl
KERvY3VtZW50TG9hZGVyJiBsb2FkZXIsIENhY2hlZFJlc291cmNlJiByZXNvdXJjZSkKK3ZvaWQg
SW5zcGVjdG9yTmV0d29ya0FnZW50OjpkaWRMb2FkUmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGUoRG9j
dW1lbnRMb2FkZXImIGxvYWRlciwgQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlKQogewogICAgIFN0
cmluZyBsb2FkZXJJZCA9IG1fcGFnZUFnZW50LT5sb2FkZXJJZCgmbG9hZGVyKTsKICAgICBTdHJp
bmcgZnJhbWVJZCA9IG1fcGFnZUFnZW50LT5mcmFtZUlkKGxvYWRlci5mcmFtZSgpKTsKQEAgLTQ0
MCwxNyArNDM5LDE3IEBAIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkTG9hZFJlc291
cmNlRnJvbU1lbW9yeUNhY2hlKERvY3VtZW50TG9hZGVyJiBsb2FkCiAgICAgbV9mcm9udGVuZERp
c3BhdGNoZXItPnJlcXVlc3RTZXJ2ZWRGcm9tTWVtb3J5Q2FjaGUocmVxdWVzdElkLCBmcmFtZUlk
LCBsb2FkZXJJZCwgbG9hZGVyLnVybCgpLnN0cmluZygpLCB0aW1lc3RhbXAoKSwgaW5pdGlhdG9y
T2JqZWN0LCBidWlsZE9iamVjdEZvckNhY2hlZFJlc291cmNlKCZyZXNvdXJjZSwgJmxvYWRlcikp
OwogfQogCi12b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OnNldEluaXRpYWxTY3JpcHRDb250
ZW50KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBzb3VyY2VTdHJpbmcp
Cit2b2lkIEluc3BlY3Rvck5ldHdvcmtBZ2VudDo6c2V0SW5pdGlhbFNjcmlwdENvbnRlbnQodW5z
aWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVN0cmluZykKIHsKICAg
ICBtX3Jlc291cmNlc0RhdGEtPnNldFJlc291cmNlQ29udGVudChJZGVudGlmaWVyc0ZhY3Rvcnk6
OnJlcXVlc3RJZChpZGVudGlmaWVyKSwgc291cmNlU3RyaW5nKTsKIH0KIAotdm9pZCBJbnNwZWN0
b3JSZXNvdXJjZUFnZW50OjpkaWRSZWNlaXZlU2NyaXB0UmVzcG9uc2UodW5zaWduZWQgbG9uZyBp
ZGVudGlmaWVyKQordm9pZCBJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6OmRpZFJlY2VpdmVTY3JpcHRS
ZXNwb25zZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpCiB7CiAgICAgbV9yZXNvdXJjZXNEYXRh
LT5zZXRSZXNvdXJjZVR5cGUoSWRlbnRpZmllcnNGYWN0b3J5OjpyZXF1ZXN0SWQoaWRlbnRpZmll
ciksIEluc3BlY3RvclBhZ2VBZ2VudDo6U2NyaXB0UmVzb3VyY2UpOwogfQogCi12b2lkIEluc3Bl
Y3RvclJlc291cmNlQWdlbnQ6OmRpZEZpbmlzaFhIUkxvYWRpbmcoVGhyZWFkYWJsZUxvYWRlckNs
aWVudCosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBzb3VyY2VTdHJp
bmcpCit2b2lkIEluc3BlY3Rvck5ldHdvcmtBZ2VudDo6ZGlkRmluaXNoWEhSTG9hZGluZyhUaHJl
YWRhYmxlTG9hZGVyQ2xpZW50KiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmIHNvdXJjZVN0cmluZykKIHsKICAgICAvLyBGb3IgQXN5bmNocm9ub3VzIFhIUnMsIHRoZSBp
bnNwZWN0b3IgY2FuIGdyYWIgdGhlIGRhdGEgZGlyZWN0bHkgb2ZmIG9mIHRoZSBDYWNoZWRSZXNv
dXJjZS4gRm9yIHN5bmMgWEhScywgd2UgbmVlZCB0bwogICAgIC8vIHByb3ZpZGUgdGhlIGRhdGEg
aGVyZSwgc2luY2Ugbm8gQ2FjaGVkUmVzb3VyY2Ugd2FzIGludm9sdmVkLgpAQCAtNDU4LDIyICs0
NTcsMjIgQEAgdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRGaW5pc2hYSFJMb2FkaW5n
KFRocmVhZGFibGVMb2FkZXJDbGllbnQqLCB1bnNpZ24KICAgICAgICAgbV9yZXNvdXJjZXNEYXRh
LT5zZXRSZXNvdXJjZUNvbnRlbnQoSWRlbnRpZmllcnNGYWN0b3J5OjpyZXF1ZXN0SWQoaWRlbnRp
ZmllciksIHNvdXJjZVN0cmluZyk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6
ZGlkUmVjZWl2ZVhIUlJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcikKK3ZvaWQgSW5z
cGVjdG9yTmV0d29ya0FnZW50OjpkaWRSZWNlaXZlWEhSUmVzcG9uc2UodW5zaWduZWQgbG9uZyBp
ZGVudGlmaWVyKQogewogICAgIG1fcmVzb3VyY2VzRGF0YS0+c2V0UmVzb3VyY2VUeXBlKElkZW50
aWZpZXJzRmFjdG9yeTo6cmVxdWVzdElkKGlkZW50aWZpZXIpLCBJbnNwZWN0b3JQYWdlQWdlbnQ6
OlhIUlJlc291cmNlKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojp3aWxsTG9h
ZFhIUlN5bmNocm9ub3VzbHkoKQordm9pZCBJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6OndpbGxMb2Fk
WEhSU3luY2hyb25vdXNseSgpCiB7CiAgICAgbV9sb2FkaW5nWEhSU3luY2hyb25vdXNseSA9IHRy
dWU7CiB9CiAKLXZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkTG9hZFhIUlN5bmNocm9u
b3VzbHkoKQordm9pZCBJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6OmRpZExvYWRYSFJTeW5jaHJvbm91
c2x5KCkKIHsKICAgICBtX2xvYWRpbmdYSFJTeW5jaHJvbm91c2x5ID0gZmFsc2U7CiB9CiAKLXZv
aWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6d2lsbERlc3Ryb3lDYWNoZWRSZXNvdXJjZShDYWNo
ZWRSZXNvdXJjZSYgY2FjaGVkUmVzb3VyY2UpCit2b2lkIEluc3BlY3Rvck5ldHdvcmtBZ2VudDo6
d2lsbERlc3Ryb3lDYWNoZWRSZXNvdXJjZShDYWNoZWRSZXNvdXJjZSYgY2FjaGVkUmVzb3VyY2Up
CiB7CiAgICAgVmVjdG9yPFN0cmluZz4gcmVxdWVzdElkcyA9IG1fcmVzb3VyY2VzRGF0YS0+cmVt
b3ZlQ2FjaGVkUmVzb3VyY2UoJmNhY2hlZFJlc291cmNlKTsKICAgICBpZiAoIXJlcXVlc3RJZHMu
c2l6ZSgpKQpAQCAtNDg3LDI0ICs0ODYsMjQgQEAgdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50
Ojp3aWxsRGVzdHJveUNhY2hlZFJlc291cmNlKENhY2hlZFJlc291cmNlJiBjYWNoZWRSZXMKICAg
ICAgICAgbV9yZXNvdXJjZXNEYXRhLT5zZXRSZXNvdXJjZUNvbnRlbnQoaWQsIGNvbnRlbnQsIGJh
c2U2NEVuY29kZWQpOwogfQogCi12b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OndpbGxSZWNh
bGN1bGF0ZVN0eWxlKCkKK3ZvaWQgSW5zcGVjdG9yTmV0d29ya0FnZW50Ojp3aWxsUmVjYWxjdWxh
dGVTdHlsZSgpCiB7CiAgICAgbV9pc1JlY2FsY3VsYXRpbmdTdHlsZSA9IHRydWU7CiB9CiAKLXZv
aWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkUmVjYWxjdWxhdGVTdHlsZSgpCit2b2lkIElu
c3BlY3Rvck5ldHdvcmtBZ2VudDo6ZGlkUmVjYWxjdWxhdGVTdHlsZSgpCiB7CiAgICAgbV9pc1Jl
Y2FsY3VsYXRpbmdTdHlsZSA9IGZhbHNlOwogICAgIG1fc3R5bGVSZWNhbGN1bGF0aW9uSW5pdGlh
dG9yID0gbnVsbHB0cjsKIH0KIAotdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRTY2hl
ZHVsZVN0eWxlUmVjYWxjdWxhdGlvbihEb2N1bWVudCYgZG9jdW1lbnQpCit2b2lkIEluc3BlY3Rv
ck5ldHdvcmtBZ2VudDo6ZGlkU2NoZWR1bGVTdHlsZVJlY2FsY3VsYXRpb24oRG9jdW1lbnQmIGRv
Y3VtZW50KQogewogICAgIGlmICghbV9zdHlsZVJlY2FsY3VsYXRpb25Jbml0aWF0b3IpCiAgICAg
ICAgIG1fc3R5bGVSZWNhbGN1bGF0aW9uSW5pdGlhdG9yID0gYnVpbGRJbml0aWF0b3JPYmplY3Qo
JmRvY3VtZW50KTsKIH0KIAotUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6Ok5ldHdvcms6Oklu
aXRpYXRvcj4gSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6YnVpbGRJbml0aWF0b3JPYmplY3QoRG9j
dW1lbnQqIGRvY3VtZW50KQorUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6Ok5ldHdvcms6Oklu
aXRpYXRvcj4gSW5zcGVjdG9yTmV0d29ya0FnZW50OjpidWlsZEluaXRpYXRvck9iamVjdChEb2N1
bWVudCogZG9jdW1lbnQpCiB7CiAgICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gc3RhY2tUcmFj
ZSA9IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhKU01haW5UaHJlYWRFeGVjU3RhdGU6OmN1cnJlbnRT
dGF0ZSgpLCBTY3JpcHRDYWxsU3RhY2s6Om1heENhbGxTdGFja1NpemVUb0NhcHR1cmUpOwogICAg
IGlmIChzdGFja1RyYWNlICYmIHN0YWNrVHJhY2UtPnNpemUoKSA+IDApIHsKQEAgLTUzNCwxMiAr
NTMzLDEyIEBAIFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpOZXR3b3JrOjpJbml0aWF0b3I+
IEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmJ1aWxkSW5pCiAKICNpZiBFTkFCTEUoV0VCX1NPQ0tF
VFMpCiAKLXZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkQ3JlYXRlV2ViU29ja2V0KHVu
c2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgVVJMJiByZXF1ZXN0VVJMKQordm9pZCBJbnNw
ZWN0b3JOZXR3b3JrQWdlbnQ6OmRpZENyZWF0ZVdlYlNvY2tldCh1bnNpZ25lZCBsb25nIGlkZW50
aWZpZXIsIGNvbnN0IFVSTCYgcmVxdWVzdFVSTCkKIHsKICAgICBtX2Zyb250ZW5kRGlzcGF0Y2hl
ci0+d2ViU29ja2V0Q3JlYXRlZChJZGVudGlmaWVyc0ZhY3Rvcnk6OnJlcXVlc3RJZChpZGVudGlm
aWVyKSwgcmVxdWVzdFVSTC5zdHJpbmcoKSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yUmVzb3VyY2VB
Z2VudDo6d2lsbFNlbmRXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRl
bnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQordm9pZCBJbnNwZWN0b3JO
ZXR3b3JrQWdlbnQ6OndpbGxTZW5kV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdCh1bnNpZ25lZCBs
b25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKIHsKICAgICBh
dXRvIHJlcXVlc3RPYmplY3QgPSBJbnNwZWN0b3I6OlByb3RvY29sOjpOZXR3b3JrOjpXZWJTb2Nr
ZXRSZXF1ZXN0OjpjcmVhdGUoKQogICAgICAgICAuc2V0SGVhZGVycyhidWlsZE9iamVjdEZvckhl
YWRlcnMocmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkpKQpAQCAtNTQ3LDcgKzU0Niw3IEBAIHZv
aWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6d2lsbFNlbmRXZWJTb2NrZXRIYW5kc2hha2VSZXF1
ZXN0KHVuc2lnbmVkIGxvbmcgaWRlCiAgICAgbV9mcm9udGVuZERpc3BhdGNoZXItPndlYlNvY2tl
dFdpbGxTZW5kSGFuZHNoYWtlUmVxdWVzdChJZGVudGlmaWVyc0ZhY3Rvcnk6OnJlcXVlc3RJZChp
ZGVudGlmaWVyKSwgdGltZXN0YW1wKCksIFdURjo6bW92ZShyZXF1ZXN0T2JqZWN0KSk7CiB9CiAK
LXZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkUmVjZWl2ZVdlYlNvY2tldEhhbmRzaGFr
ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgcmVzcG9uc2UpCit2b2lkIEluc3BlY3Rvck5ldHdvcmtBZ2VudDo6ZGlkUmVjZWl2ZVdlYlNv
Y2tldEhhbmRzaGFrZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7CiAgICAgYXV0byByZXNwb25zZU9iamVjdCA9IElu
c3BlY3Rvcjo6UHJvdG9jb2w6Ok5ldHdvcms6OldlYlNvY2tldFJlc3BvbnNlOjpjcmVhdGUoKQog
ICAgICAgICAuc2V0U3RhdHVzKHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkpCkBAIC01NTcsMTIg
KzU1NiwxMiBAQCB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRpZFJlY2VpdmVXZWJTb2Nr
ZXRIYW5kc2hha2VSZXNwb25zZSh1bnNpZ25lZCBsb25nCiAgICAgbV9mcm9udGVuZERpc3BhdGNo
ZXItPndlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlUmVjZWl2ZWQoSWRlbnRpZmllcnNGYWN0b3J5
OjpyZXF1ZXN0SWQoaWRlbnRpZmllciksIHRpbWVzdGFtcCgpLCBXVEY6Om1vdmUocmVzcG9uc2VP
YmplY3QpKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRDbG9zZVdlYlNv
Y2tldCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpCit2b2lkIEluc3BlY3Rvck5ldHdvcmtBZ2Vu
dDo6ZGlkQ2xvc2VXZWJTb2NrZXQodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKQogewogICAgIG1f
ZnJvbnRlbmREaXNwYXRjaGVyLT53ZWJTb2NrZXRDbG9zZWQoSWRlbnRpZmllcnNGYWN0b3J5Ojpy
ZXF1ZXN0SWQoaWRlbnRpZmllciksIHRpbWVzdGFtcCgpKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JS
ZXNvdXJjZUFnZW50OjpkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWUodW5zaWduZWQgbG9uZyBpZGVu
dGlmaWVyLCBjb25zdCBXZWJTb2NrZXRGcmFtZSYgZnJhbWUpCit2b2lkIEluc3BlY3Rvck5ldHdv
cmtBZ2VudDo6ZGlkUmVjZWl2ZVdlYlNvY2tldEZyYW1lKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmll
ciwgY29uc3QgV2ViU29ja2V0RnJhbWUmIGZyYW1lKQogewogICAgIGF1dG8gZnJhbWVPYmplY3Qg
PSBJbnNwZWN0b3I6OlByb3RvY29sOjpOZXR3b3JrOjpXZWJTb2NrZXRGcmFtZTo6Y3JlYXRlKCkK
ICAgICAgICAgLnNldE9wY29kZShmcmFtZS5vcENvZGUpCkBAIC01NzIsNyArNTcxLDcgQEAgdm9p
ZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWUodW5zaWdu
ZWQgbG9uZyBpZGVudGlmaWVyLAogICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyLT53ZWJTb2NrZXRG
cmFtZVJlY2VpdmVkKElkZW50aWZpZXJzRmFjdG9yeTo6cmVxdWVzdElkKGlkZW50aWZpZXIpLCB0
aW1lc3RhbXAoKSwgV1RGOjptb3ZlKGZyYW1lT2JqZWN0KSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9y
UmVzb3VyY2VBZ2VudDo6ZGlkU2VuZFdlYlNvY2tldEZyYW1lKHVuc2lnbmVkIGxvbmcgaWRlbnRp
ZmllciwgY29uc3QgV2ViU29ja2V0RnJhbWUmIGZyYW1lKQordm9pZCBJbnNwZWN0b3JOZXR3b3Jr
QWdlbnQ6OmRpZFNlbmRXZWJTb2NrZXRGcmFtZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNv
bnN0IFdlYlNvY2tldEZyYW1lJiBmcmFtZSkKIHsKICAgICBhdXRvIGZyYW1lT2JqZWN0ID0gSW5z
cGVjdG9yOjpQcm90b2NvbDo6TmV0d29yazo6V2ViU29ja2V0RnJhbWU6OmNyZWF0ZSgpCiAgICAg
ICAgIC5zZXRPcGNvZGUoZnJhbWUub3BDb2RlKQpAQCAtNTgyLDMzICs1ODEsMzMgQEAgdm9pZCBJ
bnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRTZW5kV2ViU29ja2V0RnJhbWUodW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBjb24KICAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+d2ViU29ja2V0RnJh
bWVTZW50KElkZW50aWZpZXJzRmFjdG9yeTo6cmVxdWVzdElkKGlkZW50aWZpZXIpLCB0aW1lc3Rh
bXAoKSwgV1RGOjptb3ZlKGZyYW1lT2JqZWN0KSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yUmVzb3Vy
Y2VBZ2VudDo6ZGlkUmVjZWl2ZVdlYlNvY2tldEZyYW1lRXJyb3IodW5zaWduZWQgbG9uZyBpZGVu
dGlmaWVyLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSkKK3ZvaWQgSW5zcGVjdG9yTmV0d29y
a0FnZW50OjpkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWVFcnJvcih1bnNpZ25lZCBsb25nIGlkZW50
aWZpZXIsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKQogewogICAgIG1fZnJvbnRlbmREaXNw
YXRjaGVyLT53ZWJTb2NrZXRGcmFtZUVycm9yKElkZW50aWZpZXJzRmFjdG9yeTo6cmVxdWVzdElk
KGlkZW50aWZpZXIpLCB0aW1lc3RhbXAoKSwgZXJyb3JNZXNzYWdlKTsKIH0KIAogI2VuZGlmIC8v
IEVOQUJMRShXRUJfU09DS0VUUykKIAotdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjplbmFi
bGUoRXJyb3JTdHJpbmcmKQordm9pZCBJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6OmVuYWJsZShFcnJv
clN0cmluZyYpCiB7CiAgICAgZW5hYmxlKCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yUmVzb3VyY2VB
Z2VudDo6ZW5hYmxlKCkKK3ZvaWQgSW5zcGVjdG9yTmV0d29ya0FnZW50OjplbmFibGUoKQogewog
ICAgIG1fZW5hYmxlZCA9IHRydWU7Ci0gICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLnNldEluc3Bl
Y3RvclJlc291cmNlQWdlbnQodGhpcyk7CisgICAgbV9pbnN0cnVtZW50aW5nQWdlbnRzLnNldElu
c3BlY3Rvck5ldHdvcmtBZ2VudCh0aGlzKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFn
ZW50OjpkaXNhYmxlKEVycm9yU3RyaW5nJikKK3ZvaWQgSW5zcGVjdG9yTmV0d29ya0FnZW50Ojpk
aXNhYmxlKEVycm9yU3RyaW5nJikKIHsKICAgICBtX2VuYWJsZWQgPSBmYWxzZTsKLSAgICBtX2lu
c3RydW1lbnRpbmdBZ2VudHMuc2V0SW5zcGVjdG9yUmVzb3VyY2VBZ2VudChudWxscHRyKTsKKyAg
ICBtX2luc3RydW1lbnRpbmdBZ2VudHMuc2V0SW5zcGVjdG9yTmV0d29ya0FnZW50KG51bGxwdHIp
OwogICAgIG1fcmVzb3VyY2VzRGF0YS0+Y2xlYXIoKTsKICAgICBtX2V4dHJhUmVxdWVzdEhlYWRl
cnMuY2xlYXIoKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpzZXRFeHRyYUhU
VFBIZWFkZXJzKEVycm9yU3RyaW5nJiwgY29uc3QgSW5zcGVjdG9yT2JqZWN0JiBoZWFkZXJzKQor
dm9pZCBJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6OnNldEV4dHJhSFRUUEhlYWRlcnMoRXJyb3JTdHJp
bmcmLCBjb25zdCBJbnNwZWN0b3JPYmplY3QmIGhlYWRlcnMpCiB7CiAgICAgZm9yIChhdXRvJiBl
bnRyeSA6IGhlYWRlcnMpIHsKICAgICAgICAgU3RyaW5nIHN0cmluZ1ZhbHVlOwpAQCAtNjE3LDcg
KzYxNiw3IEBAIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6c2V0RXh0cmFIVFRQSGVhZGVy
cyhFcnJvclN0cmluZyYsIGNvbnN0IEluc3BlY3Rvck9iCiAgICAgfQogfQogCi12b2lkIEluc3Bl
Y3RvclJlc291cmNlQWdlbnQ6OmdldFJlc3BvbnNlQm9keShFcnJvclN0cmluZyYgZXJyb3JTdHJp
bmcsIGNvbnN0IFN0cmluZyYgcmVxdWVzdElkLCBTdHJpbmcqIGNvbnRlbnQsIGJvb2wqIGJhc2U2
NEVuY29kZWQpCit2b2lkIEluc3BlY3Rvck5ldHdvcmtBZ2VudDo6Z2V0UmVzcG9uc2VCb2R5KEVy
cm9yU3RyaW5nJiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiByZXF1ZXN0SWQsIFN0cmluZyog
Y29udGVudCwgYm9vbCogYmFzZTY0RW5jb2RlZCkKIHsKICAgICBOZXR3b3JrUmVzb3VyY2VzRGF0
YTo6UmVzb3VyY2VEYXRhIGNvbnN0KiByZXNvdXJjZURhdGEgPSBtX3Jlc291cmNlc0RhdGEtPmRh
dGEocmVxdWVzdElkKTsKICAgICBpZiAoIXJlc291cmNlRGF0YSkgewpAQCAtNjUwLDE0ICs2NDks
MTQgQEAgdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpnZXRSZXNwb25zZUJvZHkoRXJyb3JT
dHJpbmcmIGVycm9yU3RyaW5nLCBjb25zdCBTdHIKICAgICBlcnJvclN0cmluZyA9IEFTQ0lJTGl0
ZXJhbCgiTm8gZGF0YSBmb3VuZCBmb3IgcmVzb3VyY2Ugd2l0aCBnaXZlbiBpZGVudGlmaWVyIik7
CiB9CiAKLXZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6c2V0Q2FjaGVEaXNhYmxlZChFcnJv
clN0cmluZyYsIGJvb2wgY2FjaGVEaXNhYmxlZCkKK3ZvaWQgSW5zcGVjdG9yTmV0d29ya0FnZW50
OjpzZXRDYWNoZURpc2FibGVkKEVycm9yU3RyaW5nJiwgYm9vbCBjYWNoZURpc2FibGVkKQogewog
ICAgIG1fY2FjaGVEaXNhYmxlZCA9IGNhY2hlRGlzYWJsZWQ7CiAgICAgaWYgKGNhY2hlRGlzYWJs
ZWQpCiAgICAgICAgIE1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5ldmljdFJlc291cmNlcygpOwog
fQogCi12b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmxvYWRSZXNvdXJjZShFcnJvclN0cmlu
ZyYgZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluZyYgZnJhbWVJZCwgY29uc3QgU3RyaW5nJiB1cmxT
dHJpbmcsIFJlZjxMb2FkUmVzb3VyY2VDYWxsYmFjaz4mJiBjYWxsYmFjaykKK3ZvaWQgSW5zcGVj
dG9yTmV0d29ya0FnZW50Ojpsb2FkUmVzb3VyY2UoRXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBj
b25zdCBTdHJpbmcmIGZyYW1lSWQsIGNvbnN0IFN0cmluZyYgdXJsU3RyaW5nLCBSZWY8TG9hZFJl
c291cmNlQ2FsbGJhY2s+JiYgY2FsbGJhY2spCiB7CiAgICAgRnJhbWUqIGZyYW1lID0gbV9wYWdl
QWdlbnQtPmFzc2VydEZyYW1lKGVycm9yU3RyaW5nLCBmcmFtZUlkKTsKICAgICBpZiAoIWZyYW1l
KQpAQCAtNjk2LDcgKzY5NSw3IEBAIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6bG9hZFJl
c291cmNlKEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nCiAgICAgaW5zcGVj
dG9yVGhyZWFkYWJsZUxvYWRlckNsaWVudC0+c2V0TG9hZGVyKGxvYWRlci5yZWxlYXNlKCkpOwog
fQogCi12b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6Om1haW5GcmFtZU5hdmlnYXRlZChEb2N1
bWVudExvYWRlciYgbG9hZGVyKQordm9pZCBJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6Om1haW5GcmFt
ZU5hdmlnYXRlZChEb2N1bWVudExvYWRlciYgbG9hZGVyKQogewogICAgIGlmIChtX2NhY2hlRGlz
YWJsZWQpCiAgICAgICAgIE1lbW9yeUNhY2hlOjpzaW5nbGV0b24oKS5ldmljdFJlc291cmNlcygp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNl
QWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JOZXR3b3JrQWdlbnQu
aApzaW1pbGFyaXR5IGluZGV4IDkwJQpyZW5hbWUgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yTmV0d29ya0FnZW50LmgKaW5kZXggODZlZWU3Mi4uYjg5MDQ2YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTmV0d29ya0FnZW50LmgK
QEAgLTI5LDE5ICsyOSwxNiBAQAogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaWZuZGVmIEluc3Bl
Y3RvclJlc291cmNlQWdlbnRfaAotI2RlZmluZSBJbnNwZWN0b3JSZXNvdXJjZUFnZW50X2gKKyNp
Zm5kZWYgSW5zcGVjdG9yTmV0d29ya0FnZW50X2gKKyNkZWZpbmUgSW5zcGVjdG9yTmV0d29ya0Fn
ZW50X2gKIAogI2luY2x1ZGUgIkluc3BlY3RvcldlYkFnZW50QmFzZS5oIgogI2luY2x1ZGUgPGlu
c3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaD4KICNpbmNsdWRlIDxpbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmREaXNwYXRjaGVycy5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0
Lmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3Ig
ewotY2xhc3MgSW5zcGVjdG9yQXJyYXk7CiBjbGFzcyBJbnNwZWN0b3JPYmplY3Q7CiB9CiAKQEAg
LTUwLDIwICs0NywxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBDYWNoZWRSZXNvdXJj
ZTsKIGNsYXNzIERvY3VtZW50OwogY2xhc3MgRG9jdW1lbnRMb2FkZXI7Ci1jbGFzcyBGb3JtRGF0
YTsKLWNsYXNzIEZyYW1lOwotY2xhc3MgSFRUUEhlYWRlck1hcDsKIGNsYXNzIEluc3BlY3RvclBh
Z2VBZ2VudDsKIGNsYXNzIE5ldHdvcmtSZXNvdXJjZXNEYXRhOwotY2xhc3MgUGFnZTsKIGNsYXNz
IFJlc291cmNlRXJyb3I7CiBjbGFzcyBSZXNvdXJjZUxvYWRlcjsKIGNsYXNzIFJlc291cmNlUmVx
dWVzdDsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7Ci1jbGFzcyBTaGFyZWRCdWZmZXI7CiBjbGFz
cyBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50OwogY2xhc3MgVVJMOwotY2xhc3MgWE1MSHR0cFJlcXVl
c3Q7CiAKICNpZiBFTkFCTEUoV0VCX1NPQ0tFVFMpCiBzdHJ1Y3QgV2ViU29ja2V0RnJhbWU7CkBA
IC03MSwxMSArNjIsMTEgQEAgc3RydWN0IFdlYlNvY2tldEZyYW1lOwogCiB0eXBlZGVmIFN0cmlu
ZyBFcnJvclN0cmluZzsKIAotY2xhc3MgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCBmaW5hbCA6IHB1
YmxpYyBJbnNwZWN0b3JBZ2VudEJhc2UsIHB1YmxpYyBJbnNwZWN0b3I6Ok5ldHdvcmtCYWNrZW5k
RGlzcGF0Y2hlckhhbmRsZXIgeworY2xhc3MgSW5zcGVjdG9yTmV0d29ya0FnZW50IGZpbmFsIDog
cHVibGljIEluc3BlY3RvckFnZW50QmFzZSwgcHVibGljIEluc3BlY3Rvcjo6TmV0d29ya0JhY2tl
bmREaXNwYXRjaGVySGFuZGxlciB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJs
aWM6Ci0gICAgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudChXZWJBZ2VudENvbnRleHQmLCBJbnNwZWN0
b3JQYWdlQWdlbnQqKTsKLSAgICB2aXJ0dWFsIH5JbnNwZWN0b3JSZXNvdXJjZUFnZW50KCk7Cisg
ICAgSW5zcGVjdG9yTmV0d29ya0FnZW50KFdlYkFnZW50Q29udGV4dCYsIEluc3BlY3RvclBhZ2VB
Z2VudCopOworICAgIHZpcnR1YWwgfkluc3BlY3Rvck5ldHdvcmtBZ2VudCgpOwogCiAgICAgdmly
dHVhbCB2b2lkIGRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkZyb250ZW5k
Um91dGVyKiwgSW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlciopIG92ZXJyaWRlOwogICAgIHZp
cnR1YWwgdm9pZCB3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nv
bm5lY3RSZWFzb24pIG92ZXJyaWRlOwpAQCAtMTA1LDEwICs5Niw4IEBAIHB1YmxpYzoKICAgICB2
b2lkIGRpZFNlbmRXZWJTb2NrZXRGcmFtZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0
IFdlYlNvY2tldEZyYW1lJik7CiAgICAgdm9pZCBkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWVFcnJv
cih1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYpOwogI2VuZGlmCi0KICAg
ICB2b2lkIG1haW5GcmFtZU5hdmlnYXRlZChEb2N1bWVudExvYWRlciYpOwogICAgIHZvaWQgc2V0
SW5pdGlhbFNjcmlwdENvbnRlbnQodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmIHNvdXJjZVN0cmluZyk7Ci0KICAgICB2b2lkIGRpZFNjaGVkdWxlU3R5bGVSZWNhbGN1bGF0
aW9uKERvY3VtZW50Jik7CiAKICAgICBSZWZQdHI8SW5zcGVjdG9yOjpQcm90b2NvbDo6TmV0d29y
azo6SW5pdGlhdG9yPiBidWlsZEluaXRpYXRvck9iamVjdChEb2N1bWVudCopOwpAQCAtMTMwLDE3
ICsxMTksMTggQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8SW5zcGVjdG9yOjpOZXR3b3JrQmFja2Vu
ZERpc3BhdGNoZXI+IG1fYmFja2VuZERpc3BhdGNoZXI7CiAgICAgSW5zcGVjdG9yUGFnZUFnZW50
KiBtX3BhZ2VBZ2VudCB7IG51bGxwdHIgfTsKIAorICAgIC8vIEZJWE1FOiBJbnNwZWN0b3JOZXR3
b3JrQWdlbnQgc2hvdWxkIG5vdCBiZSBhd2FyZSBvZiBzdHlsZSByZWNhbGN1bGF0aW9uLgorICAg
IFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpOZXR3b3JrOjpJbml0aWF0b3I+IG1fc3R5bGVS
ZWNhbGN1bGF0aW9uSW5pdGlhdG9yOworICAgIGJvb2wgbV9pc1JlY2FsY3VsYXRpbmdTdHlsZSB7
IGZhbHNlIH07CisKICAgICBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29ya1Jlc291cmNlc0RhdGE+IG1f
cmVzb3VyY2VzRGF0YTsKICAgICBib29sIG1fZW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBt
X2NhY2hlRGlzYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9sb2FkaW5nWEhSU3luY2hyb25v
dXNseSB7IGZhbHNlIH07CiAgICAgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4gbV9leHRyYVJlcXVl
c3RIZWFkZXJzOwogICAgIEhhc2hTZXQ8dW5zaWduZWQgbG9uZz4gbV9oaWRkZW5SZXF1ZXN0SWRl
bnRpZmllcnM7Ci0gICAgLy8gRklYTUU6IEluc3BlY3RvclJlc291cmNlQWdlbnQgc2hvdWxkIG5v
dyBiZSBhd2FyZSBvZiBzdHlsZSByZWNhbGN1bGF0aW9uLgotICAgIFJlZlB0cjxJbnNwZWN0b3I6
OlByb3RvY29sOjpOZXR3b3JrOjpJbml0aWF0b3I+IG1fc3R5bGVSZWNhbGN1bGF0aW9uSW5pdGlh
dG9yOwotICAgIGJvb2wgbV9pc1JlY2FsY3VsYXRpbmdTdHlsZSB7IGZhbHNlIH07CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyAhZGVmaW5lZChJbnNwZWN0b3JSZXNv
dXJjZUFnZW50X2gpCisjZW5kaWYgLy8gIWRlZmluZWQoSW5zcGVjdG9yTmV0d29ya0FnZW50X2gp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgKaW5kZXgg
MjgzODJiMC4uNDIzNWIxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvclBhZ2VBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JQYWdlQWdlbnQuaApAQCAtMzgsOCArMzgsNiBAQAogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmREaXNwYXRjaGVycy5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+Ci0jaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuY3BwCmluZGV4IDMzMmNl
N2EuLjE0ZGFiNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVt
ZW50aW5nQWdlbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVu
dGluZ0FnZW50cy5jcHAKQEAgLTU1LDcgKzU1LDcgQEAgdm9pZCBJbnN0cnVtZW50aW5nQWdlbnRz
OjpyZXNldCgpCiAgICAgbV9pbnNwZWN0b3JMYXllclRyZWVBZ2VudCA9IG51bGxwdHI7CiAgICAg
bV93ZWJDb25zb2xlQWdlbnQgPSBudWxscHRyOwogICAgIG1faW5zcGVjdG9yRE9NQWdlbnQgPSBu
dWxscHRyOwotICAgIG1faW5zcGVjdG9yUmVzb3VyY2VBZ2VudCA9IG51bGxwdHI7CisgICAgbV9p
bnNwZWN0b3JOZXR3b3JrQWdlbnQgPSBudWxscHRyOwogICAgIG1fcGFnZVJ1bnRpbWVBZ2VudCA9
IG51bGxwdHI7CiAgICAgbV93b3JrZXJSdW50aW1lQWdlbnQgPSBudWxscHRyOwogICAgIG1faW5z
cGVjdG9yVGltZWxpbmVBZ2VudCA9IG51bGxwdHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaAppbmRleCAyNWI1ZGNlLi40MGQ0ZjEyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKQEAgLTUxLDgg
KzUxLDggQEAgY2xhc3MgSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudDsKIGNsYXNzIEluc3BlY3Rv
ckRPTVN0b3JhZ2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvckRhdGFiYXNlQWdlbnQ7CiBjbGFzcyBJ
bnNwZWN0b3JMYXllclRyZWVBZ2VudDsKK2NsYXNzIEluc3BlY3Rvck5ldHdvcmtBZ2VudDsKIGNs
YXNzIEluc3BlY3RvclBhZ2VBZ2VudDsKLWNsYXNzIEluc3BlY3RvclJlc291cmNlQWdlbnQ7CiBj
bGFzcyBJbnNwZWN0b3JSZXBsYXlBZ2VudDsKIGNsYXNzIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ7
CiBjbGFzcyBJbnNwZWN0b3JXb3JrZXJBZ2VudDsKQEAgLTkzLDggKzkzLDggQEAgcHVibGljOgog
ICAgIEluc3BlY3RvckRPTUFnZW50KiBpbnNwZWN0b3JET01BZ2VudCgpIGNvbnN0IHsgcmV0dXJu
IG1faW5zcGVjdG9yRE9NQWdlbnQ7IH0KICAgICB2b2lkIHNldEluc3BlY3RvckRPTUFnZW50KElu
c3BlY3RvckRPTUFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvckRPTUFnZW50ID0gYWdlbnQ7IH0K
IAotICAgIEluc3BlY3RvclJlc291cmNlQWdlbnQqIGluc3BlY3RvclJlc291cmNlQWdlbnQoKSBj
b25zdCB7IHJldHVybiBtX2luc3BlY3RvclJlc291cmNlQWdlbnQ7IH0KLSAgICB2b2lkIHNldElu
c3BlY3RvclJlc291cmNlQWdlbnQoSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogYWdlbnQpIHsgbV9p
bnNwZWN0b3JSZXNvdXJjZUFnZW50ID0gYWdlbnQ7IH0KKyAgICBJbnNwZWN0b3JOZXR3b3JrQWdl
bnQqIGluc3BlY3Rvck5ldHdvcmtBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yTmV0
d29ya0FnZW50OyB9CisgICAgdm9pZCBzZXRJbnNwZWN0b3JOZXR3b3JrQWdlbnQoSW5zcGVjdG9y
TmV0d29ya0FnZW50KiBhZ2VudCkgeyBtX2luc3BlY3Rvck5ldHdvcmtBZ2VudCA9IGFnZW50OyB9
CiAKICAgICBQYWdlUnVudGltZUFnZW50KiBwYWdlUnVudGltZUFnZW50KCkgY29uc3QgeyByZXR1
cm4gbV9wYWdlUnVudGltZUFnZW50OyB9CiAgICAgdm9pZCBzZXRQYWdlUnVudGltZUFnZW50KFBh
Z2VSdW50aW1lQWdlbnQqIGFnZW50KSB7IG1fcGFnZVJ1bnRpbWVBZ2VudCA9IGFnZW50OyB9CkBA
IC0xNDgsNyArMTQ4LDcgQEAgcHJpdmF0ZToKICAgICBJbnNwZWN0b3JMYXllclRyZWVBZ2VudCog
bV9pbnNwZWN0b3JMYXllclRyZWVBZ2VudCB7IG51bGxwdHIgfTsKICAgICBXZWJDb25zb2xlQWdl
bnQqIG1fd2ViQ29uc29sZUFnZW50IHsgbnVsbHB0ciB9OwogICAgIEluc3BlY3RvckRPTUFnZW50
KiBtX2luc3BlY3RvckRPTUFnZW50IHsgbnVsbHB0ciB9OwotICAgIEluc3BlY3RvclJlc291cmNl
QWdlbnQqIG1faW5zcGVjdG9yUmVzb3VyY2VBZ2VudCB7IG51bGxwdHIgfTsKKyAgICBJbnNwZWN0
b3JOZXR3b3JrQWdlbnQqIG1faW5zcGVjdG9yTmV0d29ya0FnZW50IHsgbnVsbHB0ciB9OwogICAg
IFBhZ2VSdW50aW1lQWdlbnQqIG1fcGFnZVJ1bnRpbWVBZ2VudCB7IG51bGxwdHIgfTsKICAgICBX
b3JrZXJSdW50aW1lQWdlbnQqIG1fd29ya2VyUnVudGltZUFnZW50IHsgbnVsbHB0ciB9OwogICAg
IEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIG1faW5zcGVjdG9yVGltZWxpbmVBZ2VudCB7IG51bGxw
dHIgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9OZXR3b3JrUmVzb3Vy
Y2VzRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL05ldHdvcmtSZXNvdXJjZXNEYXRh
LmgKaW5kZXggN2Y4NWRkMC4uYTYzYjg2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmgKQEAgLTI5LDIzICsyOSwxNyBAQAogI2lmbmRlZiBO
ZXR3b3JrUmVzb3VyY2VzRGF0YV9oCiAjZGVmaW5lIE5ldHdvcmtSZXNvdXJjZXNEYXRhX2gKIAot
I2luY2x1ZGUgIkhUVFBIZWFkZXJNYXAuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JQYWdlQWdlbnQu
aCIKLSNpbmNsdWRlICJVUkwuaCIKICNpbmNsdWRlICJUZXh0UmVzb3VyY2VEZWNvZGVyLmgiCiAj
aW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBDYWNoZWRSZXNvdXJjZTsKLWNsYXNzIEZvcm1EYXRhOwogY2xhc3MgUmVzb3VyY2VS
ZXNwb25zZTsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKLWNsYXNzIFRleHRSZXNvdXJjZURlY29kZXI7
CiAKIGNsYXNzIE5ldHdvcmtSZXNvdXJjZXNEYXRhIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>264286</attachid>
            <date>2015-10-28 18:59:19 -0700</date>
            <delta_ts>2015-10-28 20:11:04 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>network2.patch</filename>
            <type>text/plain</type>
            <size>68267</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDZkYjQyYjcuLmY0ODM3M2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE0IEBACiAyMDE1LTEwLTI4ICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUmVuYW1l
IEluc3BlY3RvclJlc291cmNlQWdlbnQgdG8gSW5zcGVjdG9yTmV0d29ya0FnZW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTA2NTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9zY3Jp
cHRzL2NvZGVnZW4vZ2VuZXJhdG9yLnB5OgorCisyMDE1LTEwLTI4ICBKb3NlcGggUGVjb3Jhcm8g
IDxwZWNvcmFyb0BhcHBsZS5jb20+CisKICAgICAgICAgV2ViIEluc3BlY3RvcjogUmVtb3ZlIHVu
dXNlZCAvIGR1cGxpY2F0ZSBXZWJTb2NrZXQgdGltZWxpbmUgcmVjb3JkcwogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUwNjQ3CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRv
ci5weSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dl
bmVyYXRvci5weQppbmRleCBhMTkyM2ZlLi40OTVkMWIwIDEwMDc1NQotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0b3IucHkKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdG9y
LnB5CkBAIC02Nyw3ICs2Nyw3IEBAIF9UWVBFU19XSVRIX09QRU5fRklFTERTID0gc2V0KFsKICAg
ICAiVGltZWxpbmUuVGltZWxpbmVFdmVudCIsCiAgICAgIyBJbnNwZWN0b3JTdHlsZVNoZWV0IG5v
dCBvbmx5IGNyZWF0ZXMgdGhpcyBwcm9wZXJ0eSBidXQgd2FudHMgdG8gcmVhZCBpdCBhbmQgbW9k
aWZ5IGl0LgogICAgICJDU1MuQ1NTUHJvcGVydHkiLAotICAgICMgSW5zcGVjdG9yUmVzb3VyY2VB
Z2VudCBuZWVkcyB0byB1cGRhdGUgbWltZS10eXBlLgorICAgICMgSW5zcGVjdG9yTmV0d29ya0Fn
ZW50IG5lZWRzIHRvIHVwZGF0ZSBtaW1lLXR5cGUuCiAgICAgIk5ldHdvcmsuUmVzcG9uc2UiLAog
ICAgICMgRm9yIHRlc3RpbmcgcHVycG9zZXMgb25seS4KICAgICAiVGVzdC5PcGVuUGFyYW1ldGVy
QnVuZGxlIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA4MWZlYTU5Li5lODhmOGNiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dApAQCAtMTg4NCwxMCArMTg4NCwxMCBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VT
CiAgICAgaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKICAgICBpbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llLmNwcAogICAgIGluc3BlY3Rvci9JbnNw
ZWN0b3JMYXllclRyZWVBZ2VudC5jcHAKKyAgICBpbnNwZWN0b3IvSW5zcGVjdG9yTmV0d29ya0Fn
ZW50LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JOb2RlRmluZGVyLmNwcAogICAgIGluc3Bl
Y3Rvci9JbnNwZWN0b3JPdmVybGF5LmNwcAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdl
bnQuY3BwCi0gICAgaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwCiAgICAgaW5z
cGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvclRp
bWVsaW5lQWdlbnQuY3BwCiAgICAgaW5zcGVjdG9yL0luc3BlY3RvcldvcmtlckFnZW50LmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDYyMWYzZTguLmI2MmI2NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxMDQg
QEAKIDIwMTUtMTAtMjggIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBSZW5hbWUgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCB0byBJ
bnNwZWN0b3JOZXR3b3JrQWdlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1MDY1NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hw
cm9qLmZpbHRlcnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHA6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
RE9NRGVidWdnZXJBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZENsaWVudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUmVj
YWxjdWxhdGVTdHlsZUltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpkaWRSZWNhbGN1bGF0ZVN0eWxlSW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFNjaGVkdWxlU3R5bGVSZWNhbGN1bGF0aW9uSW1wbCk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxTZW5kUmVx
dWVzdEltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpt
YXJrUmVzb3VyY2VBc0NhY2hlZEltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRMb2FkUmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGVJbXBsKToKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZVJlc291cmNl
UmVzcG9uc2VJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkUmVjZWl2ZURhdGFJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6ZGlkRmluaXNoTG9hZGluZ0ltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGYWlsTG9hZGluZ0ltcGwpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGaW5pc2hYSFJMb2FkaW5nSW1wbCk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVY
SFJSZXNwb25zZUltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjp3aWxsTG9hZFhIUlN5bmNocm9ub3VzbHlJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkTG9hZFhIUlN5bmNocm9ub3VzbHlJbXBsKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0SW1wb3J0ZWRJ
bXBsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVj
ZWl2ZVNjcmlwdFJlc3BvbnNlSW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmRpZENvbW1pdExvYWRJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbERlc3Ryb3lDYWNoZWRSZXNvdXJjZUltcGwpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDcmVhdGVXZWJTb2Nr
ZXRJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2ls
bFNlbmRXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVXZWJTb2NrZXRIYW5kc2hha2VSZXNw
b25zZUltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpk
aWRDbG9zZVdlYlNvY2tldEltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWVJbXBsKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZVdlYlNvY2tldEZyYW1lRXJy
b3JJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
U2VuZFdlYlNvY2tldEZyYW1lSW1wbCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckxh
eWVyVHJlZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvck5ldHdvcmtBZ2Vu
dC5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVz
b3VyY2VBZ2VudC5jcHAuCisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6
Okluc3BlY3Rvck5ldHdvcmtBZ2VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JOZXR3
b3JrQWdlbnQ6OmRpZENyZWF0ZUZyb250ZW5kQW5kQmFja2VuZCk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6OndpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKToK
KyAgICAgICAgKFdlYkNvcmU6OmJ1aWxkT2JqZWN0Rm9ySGVhZGVycyk6CisgICAgICAgIChXZWJD
b3JlOjpidWlsZE9iamVjdEZvclRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpidWlsZE9iamVj
dEZvclJlc291cmNlUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpidWlsZE9iamVjdEZvclJl
c291cmNlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6YnVpbGRPYmplY3RGb3JDYWNoZWRS
ZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6On5JbnNw
ZWN0b3JOZXR3b3JrQWdlbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTmV0d29ya0Fn
ZW50Ojp0aW1lc3RhbXApOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTmV0d29ya0FnZW50
Ojp3aWxsU2VuZFJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTmV0d29ya0Fn
ZW50OjptYXJrUmVzb3VyY2VBc0NhY2hlZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JO
ZXR3b3JrQWdlbnQ6OmRpZFJlY2VpdmVSZXNwb25zZSk6CisgICAgICAgIChXZWJDb3JlOjppc0Vy
cm9yU3RhdHVzQ29kZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6
OmRpZFJlY2VpdmVEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck5ldHdvcmtBZ2Vu
dDo6ZGlkRmluaXNoTG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JOZXR3b3Jr
QWdlbnQ6OmRpZEZhaWxMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck5ldHdv
cmtBZ2VudDo6ZGlkTG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hlKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3Rvck5ldHdvcmtBZ2VudDo6c2V0SW5pdGlhbFNjcmlwdENvbnRlbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTmV0d29ya0FnZW50OjpkaWRSZWNlaXZlU2NyaXB0UmVz
cG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTmV0d29ya0FnZW50OjpkaWRGaW5p
c2hYSFJMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck5ldHdvcmtBZ2VudDo6
ZGlkUmVjZWl2ZVhIUlJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck5ldHdv
cmtBZ2VudDo6d2lsbExvYWRYSFJTeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3Rvck5ldHdvcmtBZ2VudDo6ZGlkTG9hZFhIUlN5bmNocm9ub3VzbHkpOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yTmV0d29ya0FnZW50Ojp3aWxsRGVzdHJveUNhY2hlZFJlc291cmNl
KToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck5ldHdvcmtBZ2VudDo6d2lsbFJlY2FsY3Vs
YXRlU3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTmV0d29ya0FnZW50OjpkaWRS
ZWNhbGN1bGF0ZVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck5ldHdvcmtBZ2Vu
dDo6ZGlkU2NoZWR1bGVTdHlsZVJlY2FsY3VsYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yTmV0d29ya0FnZW50OjpidWlsZEluaXRpYXRvck9iamVjdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6OmRpZENyZWF0ZVdlYlNvY2tldCk6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6OndpbGxTZW5kV2ViU29ja2V0SGFuZHNo
YWtlUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6OmRp
ZFJlY2VpdmVXZWJTb2NrZXRIYW5kc2hha2VSZXNwb25zZSk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JOZXR3b3JrQWdlbnQ6OmRpZENsb3NlV2ViU29ja2V0KToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3Rvck5ldHdvcmtBZ2VudDo6ZGlkUmVjZWl2ZVdlYlNvY2tldEZyYW1lKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck5ldHdvcmtBZ2VudDo6ZGlkU2VuZFdlYlNvY2tldEZy
YW1lKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck5ldHdvcmtBZ2VudDo6ZGlkUmVjZWl2
ZVdlYlNvY2tldEZyYW1lRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTmV0d29y
a0FnZW50OjplbmFibGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTmV0d29ya0FnZW50
OjpkaXNhYmxlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck5ldHdvcmtBZ2VudDo6c2V0
RXh0cmFIVFRQSGVhZGVycyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JOZXR3b3JrQWdl
bnQ6OmdldFJlc3BvbnNlQm9keSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JOZXR3b3Jr
QWdlbnQ6OnNldENhY2hlRGlzYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTmV0
d29ya0FnZW50Ojpsb2FkUmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTmV0
d29ya0FnZW50OjptYWluRnJhbWVOYXZpZ2F0ZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3JOZXR3b3JrQWdlbnQuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmguCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
clBhZ2VBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6OnJlc2V0KToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oOgorICAgICAgICAoV2ViQ29yZTo6
SW5zdHJ1bWVudGluZ0FnZW50czo6aW5zcGVjdG9yTmV0d29ya0FnZW50KToKKyAgICAgICAgKFdl
YkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6OnNldEluc3BlY3Rvck5ldHdvcmtBZ2VudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnN0cnVtZW50aW5nQWdlbnRzOjppbnNwZWN0b3JSZXNvdXJjZUFn
ZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRpbmdBZ2VudHM6OnNl
dEluc3BlY3RvclJlc291cmNlQWdlbnQpOiBEZWxldGVkLgorICAgICAgICAqIGluc3BlY3Rvci9O
ZXR3b3JrUmVzb3VyY2VzRGF0YS5oOgorCisyMDE1LTEwLTI4ICBKb3NlcGggUGVjb3Jhcm8gIDxw
ZWNvcmFyb0BhcHBsZS5jb20+CisKICAgICAgICAgV2ViIEluc3BlY3RvcjogUmVtb3ZlIHVudXNl
ZCAvIGR1cGxpY2F0ZSBXZWJTb2NrZXQgdGltZWxpbmUgcmVjb3JkcwogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUwNjQ3CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IGI1MWMyM2EuLjE2MmUz
ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
agpAQCAtMTk0NjYsNiArMTk0NjYsMjAgQEAKICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzIn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcCI+CisgICAg
ICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1
Z19XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
RGVidWdfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdEZWJ1Z1N1ZmZpeHxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nRGVidWdTdWZmaXh8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdS
ZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFz
ZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgPC9DbENv
bXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yTm9k
ZUZpbmRlci5jcHAiPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxk
PgpAQCAtMTk1MDgsMjAgKzE5NTIyLDYgQEAKICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzIn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAiPgotICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVi
dWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J0RlYnVnX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nRGVidWdTdWZmaXh8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J0RlYnVnU3VmZml4fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
UmVsZWFzZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVh
c2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgIDwvQ2xD
b21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvclN0
eWxlU2hlZXQuY3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1
cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KQEAgLTIyODU0LDEwICsyMjg1NCwxMCBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
aW5zcGVjdG9yXEluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZS5oIiAv
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvckxheWVyVHJl
ZUFnZW50LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVj
dG9yTmV0d29ya0FnZW50LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0
b3JcSW5zcGVjdG9yTm9kZUZpbmRlci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
aW5zcGVjdG9yXEluc3BlY3Rvck92ZXJsYXkuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JQYWdlQWdlbnQuaCIgLz4KLSAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JSZXNvdXJjZUFnZW50LmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yU3R5bGVTaGVldC5oIiAvPgog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3RvclRpbWVsaW5lQWdl
bnQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JX
ZWJBZ2VudEJhc2UuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4
cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4
cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCAwMjZhNGJjLi4xZWYzMzIxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzCkBAIC00Njc5LDE1ICs0Njc5LDE4IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuY3BwIj4KICAgICAgIDxGaWx0
ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcCI+CisgICAgICA8
RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgorICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3Rvck5vZGVGaW5kZXIuY3BwIj4KKyAgICAg
IDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yT3ZlcmxheS5jcHAiPgogICAgICAg
PEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JQYWdlQWdlbnQuY3BwIj4KICAgICAg
IDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAiPgot
ICAgICAgPEZpbHRlcj5pbnNwZWN0b3I8L0ZpbHRlcj4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JTdHlsZVNoZWV0LmNwcCI+
CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAt
NzAyMyw5ICs3MDI2LDYgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXE1vZHVsZXNcaW5k
ZXhlZGRiXElEQktleURhdGEuY3BwIj4KICAgICAgIDxGaWx0ZXI+TW9kdWxlc1xpbmRleGVkZGI8
L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGlu
c3BlY3RvclxJbnNwZWN0b3JOb2RlRmluZGVyLmNwcCI+Ci0gICAgICA8RmlsdGVyPmluc3BlY3Rv
cjwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
cGxhdGZvcm1cZ3JhcGhpY3NcSVNPVlRUQ3VlLmNwcCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3Jt
XGdyYXBoaWNzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC0xMTk2NSw2ICsxMTk2NSw5
IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yTGF5ZXJU
cmVlQWdlbnQuaCI+CiAgICAgICA8RmlsdGVyPmluc3BlY3RvcjwvRmlsdGVyPgogICAgIDwvQ2xJ
bmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXEluc3BlY3Rvck5l
dHdvcmtBZ2VudC5oIj4KKyAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CisgICAgPC9D
bEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9y
Tm9kZUZpbmRlci5oIj4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yPC9GaWx0ZXI+CiAgICAgPC9D
bEluY2x1ZGU+CkBAIC0xMTk3NCw5ICsxMTk3Nyw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxpbnNwZWN0b3JcSW5zcGVjdG9yUGFnZUFnZW50LmgiPgogICAgICAgPEZpbHRlcj5pbnNw
ZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JSZXNvdXJjZUFnZW50LmgiPgotICAgICAgPEZpbHRlcj5p
bnNwZWN0b3I8L0ZpbHRlcj4KLSAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGluc3BlY3RvclxJbnNwZWN0b3JTdHlsZVNoZWV0LmgiPgogICAgICAgPEZpbHRlcj5p
bnNwZWN0b3I8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiNDlhYTM2Li41OTAxOWMx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC0yNzc0LDggKzI3NzQsOCBAQAogCQk4MkFCMTc0NDEyNEI5OUVDMDBDNTA2OUQgLyog
SW5zcGVjdG9yQ1NTQWdlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDgyQUIxNzQyMTI0Qjk5RUMwMEM1MDY5RCAvKiBJbnNwZWN0b3JDU1NBZ2VudC5o
ICovOyB9OwogCQk4MkFCMTc3MzEyNUM4MjY3MDBDNTA2OUQgLyogSW5zcGVjdG9yU3R5bGVTaGVl
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MkFC
MTc2RjEyNUM4MjY3MDBDNTA2OUQgLyogSW5zcGVjdG9yU3R5bGVTaGVldC5jcHAgKi87IH07CiAJ
CTgyQUIxNzc0MTI1QzgyNjcwMEM1MDY5RCAvKiBJbnNwZWN0b3JTdHlsZVNoZWV0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MkFCMTc3MDEyNUM4MjY3
MDBDNTA2OUQgLyogSW5zcGVjdG9yU3R5bGVTaGVldC5oICovOyB9OwotCQk4MkFCMTc3NTEyNUM4
MjY3MDBDNTA2OUQgLyogSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MkFCMTc3MTEyNUM4MjY3MDBDNTA2OUQg
LyogSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAgKi87IH07Ci0JCTgyQUIxNzc2MTI1QzgyNjcw
MEM1MDY5RCAvKiBJbnNwZWN0b3JSZXNvdXJjZUFnZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MkFCMTc3MjEyNUM4MjY3MDBDNTA2OUQgLyogSW5z
cGVjdG9yUmVzb3VyY2VBZ2VudC5oICovOyB9OworCQk4MkFCMTc3NTEyNUM4MjY3MDBDNTA2OUQg
LyogSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDgyQUIxNzcxMTI1QzgyNjcwMEM1MDY5RCAvKiBJbnNwZWN0b3JO
ZXR3b3JrQWdlbnQuY3BwICovOyB9OworCQk4MkFCMTc3NjEyNUM4MjY3MDBDNTA2OUQgLyogSW5z
cGVjdG9yTmV0d29ya0FnZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4MkFCMTc3MjEyNUM4MjY3MDBDNTA2OUQgLyogSW5zcGVjdG9yTmV0d29ya0Fn
ZW50LmggKi87IH07CiAJCTgyRTNEOERFMTIyRUEwRDEwMDNBRTVCQyAvKiBDU1NQcm9wZXJ0eVNv
dXJjZURhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODJFM0Q4REMxMjJFQTBEMTAwM0FFNUJDIC8qIENTU1Byb3BlcnR5U291cmNlRGF0YS5jcHAg
Ki87IH07CiAJCTgyRTNEOERGMTIyRUEwRDEwMDNBRTVCQyAvKiBDU1NQcm9wZXJ0eVNvdXJjZURh
dGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgyRTNE
OEREMTIyRUEwRDEwMDNBRTVCQyAvKiBDU1NQcm9wZXJ0eVNvdXJjZURhdGEuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk4MzAwMzBGNTFCN0QzM0I1
MDBFRDNBQUMgLyogR2VuZXJpY0NhY2hlZEhUTUxDb2xsZWN0aW9uLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzMDAzMEYzMUI3RDMzQTYwMEVEM0FB
QyAvKiBHZW5lcmljQ2FjaGVkSFRNTENvbGxlY3Rpb24uY3BwICovOyB9OwpAQCAtMTAyNTUsOCAr
MTAyNTUsOCBAQAogCQk4MkFCMTc0MjEyNEI5OUVDMDBDNTA2OUQgLyogSW5zcGVjdG9yQ1NTQWdl
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yQ1NTQWdlbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODJBQjE3NkYxMjVDODI2NzAwQzUwNjlE
IC8qIEluc3BlY3RvclN0eWxlU2hlZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSW5zcGVjdG9yU3R5bGVTaGVldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTgyQUIxNzcwMTI1QzgyNjcwMEM1MDY5RCAvKiBJbnNwZWN0b3JTdHlsZVNoZWV0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvclN0eWxlU2hlZXQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJODJBQjE3NzExMjVDODI2NzAwQzUwNjlEIC8q
IEluc3BlY3RvclJlc291cmNlQWdlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTgyQUIxNzcyMTI1QzgyNjcwMEM1MDY5RCAvKiBJbnNwZWN0b3JSZXNvdXJjZUFn
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvclJlc291cmNl
QWdlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODJBQjE3NzExMjVDODI2NzAw
QzUwNjlEIC8qIEluc3BlY3Rvck5ldHdvcmtBZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JOZXR3b3JrQWdlbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk4MkFCMTc3MjEyNUM4MjY3MDBDNTA2OUQgLyogSW5zcGVjdG9yTmV0
d29ya0FnZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3Rvck5l
dHdvcmtBZ2VudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MkUzRDhEQzEyMkVB
MEQxMDAzQUU1QkMgLyogQ1NTUHJvcGVydHlTb3VyY2VEYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU1Byb3BlcnR5U291cmNlRGF0YS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgyRTNEOEREMTIyRUEwRDEwMDNBRTVCQyAvKiBDU1NQcm9w
ZXJ0eVNvdXJjZURhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTUHJv
cGVydHlTb3VyY2VEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzMDAzMEYz
MUI3RDMzQTYwMEVEM0FBQyAvKiBHZW5lcmljQ2FjaGVkSFRNTENvbGxlY3Rpb24uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR2VuZXJpY0NhY2hlZEhUTUxDb2xsZWN0
aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1OTQzLDYgKzE1OTQzLDgg
QEAKIAkJCQlBNTg0MEUxQjE4N0I3NEQ1MDA4NDNCMTAgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uQ29va2llLmggKi8sCiAJCQkJNzFCMUUxMjMxNjQwNDhDQzAwQjE4ODBBIC8qIEluc3BlY3Rv
ckxheWVyVHJlZUFnZW50LmNwcCAqLywKIAkJCQk3MUIxRTEyNDE2NDA0OENDMDBCMTg4MEEgLyog
SW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuaCAqLywKKwkJCQk4MkFCMTc3MTEyNUM4MjY3MDBDNTA2
OUQgLyogSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcCAqLywKKwkJCQk4MkFCMTc3MjEyNUM4MjY3
MDBDNTA2OUQgLyogSW5zcGVjdG9yTmV0d29ya0FnZW50LmggKi8sCiAJCQkJNTA0QUFDQ0IxODM0
NDU1OTAwRTNEOUJDIC8qIEluc3BlY3Rvck5vZGVGaW5kZXIuY3BwICovLAogCQkJCTUwNEFBQ0ND
MTgzNDQ1NTkwMEUzRDlCQyAvKiBJbnNwZWN0b3JOb2RlRmluZGVyLmggKi8sCiAJCQkJN0M1MjJE
NDkxNUI0NzdFODAwOUI3Qzk1IC8qIEluc3BlY3Rvck92ZXJsYXkuY3BwICovLApAQCAtMTU5NTQs
OCArMTU5NTYsNiBAQAogCQkJCTRGNkZERDYzMTM0MURFREQwMDFGOEVFMyAvKiBJbnNwZWN0b3JQ
YWdlQWdlbnQuaCAqLywKIAkJCQk5OUNDMEI2NDE4QkU5RjE1MDA2Q0VCQ0MgLyogSW5zcGVjdG9y
UmVwbGF5QWdlbnQuY3BwICovLAogCQkJCTk5Q0MwQjY1MThCRTlGMTUwMDZDRUJDQyAvKiBJbnNw
ZWN0b3JSZXBsYXlBZ2VudC5oICovLAotCQkJCTgyQUIxNzcxMTI1QzgyNjcwMEM1MDY5RCAvKiBJ
bnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcCAqLywKLQkJCQk4MkFCMTc3MjEyNUM4MjY3MDBDNTA2
OUQgLyogSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oICovLAogCQkJCTgyQUIxNzZGMTI1QzgyNjcw
MEM1MDY5RCAvKiBJbnNwZWN0b3JTdHlsZVNoZWV0LmNwcCAqLywKIAkJCQk4MkFCMTc3MDEyNUM4
MjY3MDBDNTA2OUQgLyogSW5zcGVjdG9yU3R5bGVTaGVldC5oICovLAogCQkJCTc1NDEzM0E5MTAy
RTAwRjQwMDA3NUQwMCAvKiBJbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCAqLywKQEAgLTI1ODQ3
LDcgKzI1ODQ3LDcgQEAKIAkJCQkwRjAzQzA3NTE4ODQ4MDU1MDBBNUY4Q0EgLyogSW5zcGVjdG9y
T3ZlcmxheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEY2RkRENjUxMzQxREVERDAwMUY4RUUzIC8q
IEluc3BlY3RvclBhZ2VBZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTlDQzBCNjcxOEJFOUYx
NTAwNkNFQkNDIC8qIEluc3BlY3RvclJlcGxheUFnZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQk4
MkFCMTc3NjEyNUM4MjY3MDBDNTA2OUQgLyogSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJODJBQjE3NzYxMjVDODI2NzAwQzUwNjlEIC8qIEluc3BlY3Rvck5ldHdv
cmtBZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODJBQjE3NzQxMjVDODI2NzAwQzUwNjlEIC8q
IEluc3BlY3RvclN0eWxlU2hlZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTc1NDEzM0E4MTAyRTAw
RTgwMDA3NUQwMCAvKiBJbnNwZWN0b3JUaW1lbGluZUFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBNTkzQ0Y4QjE4NDA1MzUyMDBCRkNFMjcgLyogSW5zcGVjdG9yV2ViQWdlbnRCYXNlLmggaW4g
SGVhZGVycyAqLywKQEAgLTI5NDM2LDcgKzI5NDM2LDcgQEAKIAkJCQk3QzUyMkQ0QjE1QjQ3N0U4
MDA5QjdDOTUgLyogSW5zcGVjdG9yT3ZlcmxheS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0RjZG
REQ2NDEzNDFERUREMDAxRjhFRTMgLyogSW5zcGVjdG9yUGFnZUFnZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTk5Q0MwQjY2MThCRTlGMTUwMDZDRUJDQyAvKiBJbnNwZWN0b3JSZXBsYXlBZ2Vu
dC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk4MkFCMTc3NTEyNUM4MjY3MDBDNTA2OUQgLyogSW5z
cGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk4MkFCMTc3NTEyNUM4
MjY3MDBDNTA2OUQgLyogSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTgyQUIxNzczMTI1QzgyNjcwMEM1MDY5RCAvKiBJbnNwZWN0b3JTdHlsZVNoZWV0LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTc1NDEzM0FBMTAyRTAwRjQwMDA3NUQwMCAvKiBJbnNwZWN0b3JU
aW1lbGluZUFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUYzODEwQzFCMTM2NUE0OTYwMEVE
NkUzMyAvKiBJbnNwZWN0b3JXb3JrZXJBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWxsSW5PbmUuY3BwCmluZGV4IDI4ZGVkYmMu
LjM3Yzk4NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JB
bGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFsbElu
T25lLmNwcApAQCAtNDQsMTAgKzQ0LDEwIEBACiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmNwcCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUuY3Bw
IgogI2luY2x1ZGUgIkluc3BlY3RvckxheWVyVHJlZUFnZW50LmNwcCIKKyNpbmNsdWRlICJJbnNw
ZWN0b3JOZXR3b3JrQWdlbnQuY3BwIgogI2luY2x1ZGUgIkluc3BlY3Rvck5vZGVGaW5kZXIuY3Bw
IgogI2luY2x1ZGUgIkluc3BlY3Rvck92ZXJsYXkuY3BwIgogI2luY2x1ZGUgIkluc3BlY3RvclBh
Z2VBZ2VudC5jcHAiCi0jaW5jbHVkZSAiSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAiCiAjaW5j
bHVkZSAiSW5zcGVjdG9yU3R5bGVTaGVldC5jcHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVGltZWxp
bmVBZ2VudC5jcHAiCiAjaW5jbHVkZSAiSW5zcGVjdG9yV29ya2VyQWdlbnQuY3BwIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IDkw
MDc1MTEuLmEzNzU1ZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ29udHJvbGxlci5jcHAKQEAgLTQ2LDkgKzQ2LDkgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JJ
bmRleGVkREJBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgog
I2luY2x1ZGUgIkluc3BlY3RvckxheWVyVHJlZUFnZW50LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9y
TmV0d29ya0FnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUGFnZUFnZW50LmgiCiAjaW5jbHVk
ZSAiSW5zcGVjdG9yUmVwbGF5QWdlbnQuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JSZXNvdXJjZUFn
ZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIgogI2luY2x1ZGUgIklu
c3BlY3RvcldvcmtlckFnZW50LmgiCiAjaW5jbHVkZSAiSW5zdHJ1bWVudGluZ0FnZW50cy5oIgpA
QCAtMTM4LDYgKzEzOCw4IEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xs
ZXIoUGFnZSYgcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0b3JDCiAgICAgSW5zcGVjdG9y
RGF0YWJhc2VBZ2VudCogZGF0YWJhc2VBZ2VudCA9IGRhdGFiYXNlQWdlbnRQdHIuZ2V0KCk7CiAg
ICAgbV9hZ2VudHMuYXBwZW5kKFdURjo6bW92ZShkYXRhYmFzZUFnZW50UHRyKSk7CiAKKyAgICBt
X2FnZW50cy5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3JOZXR3b3JrQWdlbnQ+KHBh
Z2VDb250ZXh0LCBwYWdlQWdlbnQpKTsKKwogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQog
ICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3RvckluZGV4ZWREQkFn
ZW50PihwYWdlQ29udGV4dCwgcGFnZUFnZW50KSk7CiAjZW5kaWYKQEAgLTE1NCwxMCArMTU2LDYg
QEAgSW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcihQYWdlJiBwYWdlLCBJ
bnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckMKICAgICBtX3RpbWVsaW5lQWdlbnQgPSB0aW1lbGlu
ZUFnZW50UHRyLmdldCgpOwogICAgIG1fYWdlbnRzLmFwcGVuZChXVEY6Om1vdmUodGltZWxpbmVB
Z2VudFB0cikpOwogCi0gICAgYXV0byByZXNvdXJjZUFnZW50UHRyID0gc3RkOjptYWtlX3VuaXF1
ZTxJbnNwZWN0b3JSZXNvdXJjZUFnZW50PihwYWdlQ29udGV4dCwgcGFnZUFnZW50KTsKLSAgICBt
X3Jlc291cmNlQWdlbnQgPSByZXNvdXJjZUFnZW50UHRyLmdldCgpOwotICAgIG1fYWdlbnRzLmFw
cGVuZChXVEY6Om1vdmUocmVzb3VyY2VBZ2VudFB0cikpOwotCiAgICAgYXV0byBjb25zb2xlQWdl
bnRQdHIgPSBzdGQ6Om1ha2VfdW5pcXVlPFBhZ2VDb25zb2xlQWdlbnQ+KHBhZ2VDb250ZXh0LCBt
X2RvbUFnZW50KTsKICAgICBXZWJDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGNvbnNvbGVB
Z2VudFB0ci5nZXQoKTsKICAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldFdlYkNvbnNvbGVB
Z2VudChjb25zb2xlQWdlbnRQdHIuZ2V0KCkpOwpAQCAtMTY3LDEwICsxNjUsNyBAQCBJbnNwZWN0
b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKFBhZ2UmIHBhZ2UsIEluc3BlY3RvckNs
aWVudCogaW5zcGVjdG9yQwogICAgIFBhZ2VEZWJ1Z2dlckFnZW50KiBkZWJ1Z2dlckFnZW50ID0g
ZGVidWdnZXJBZ2VudFB0ci5nZXQoKTsKICAgICBtX2FnZW50cy5hcHBlbmQoV1RGOjptb3ZlKGRl
YnVnZ2VyQWdlbnRQdHIpKTsKIAotICAgIGF1dG8gZG9tRGVidWdnZXJBZ2VudFB0ciA9IHN0ZDo6
bWFrZV91bmlxdWU8SW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudD4ocGFnZUNvbnRleHQsIG1fZG9t
QWdlbnQsIGRlYnVnZ2VyQWdlbnQpOwotICAgIG1fZG9tRGVidWdnZXJBZ2VudCA9IGRvbURlYnVn
Z2VyQWdlbnRQdHIuZ2V0KCk7Ci0gICAgbV9hZ2VudHMuYXBwZW5kKFdURjo6bW92ZShkb21EZWJ1
Z2dlckFnZW50UHRyKSk7Ci0KKyAgICBtX2FnZW50cy5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxJ
bnNwZWN0b3JET01EZWJ1Z2dlckFnZW50PihwYWdlQ29udGV4dCwgbV9kb21BZ2VudCwgZGVidWdn
ZXJBZ2VudCkpOwogICAgIG1fYWdlbnRzLmFwcGVuZChzdGQ6Om1ha2VfdW5pcXVlPEluc3BlY3Rv
ckhlYXBBZ2VudD4ocGFnZUNvbnRleHQpKTsKICAgICBtX2FnZW50cy5hcHBlbmQoc3RkOjptYWtl
X3VuaXF1ZTxJbnNwZWN0b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQ+KHBhZ2VDb250ZXh0LCBwYWdl
QWdlbnQpKTsKICAgICBtX2FnZW50cy5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxJbnNwZWN0b3JX
b3JrZXJBZ2VudD4ocGFnZUNvbnRleHQpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IDk2ODFlY2EuLmFlMGRmMjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtMzYsOSArMzYs
NyBAQAogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JBZ2VudFJlZ2lzdHJ5Lmg+CiAjaW5j
bHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckVudmlyb25tZW50Lmg+CiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CkBAIC00Niw3ICs0NCw2IEBAIGNsYXNz
IEJhY2tlbmREaXNwYXRjaGVyOwogY2xhc3MgRnJvbnRlbmRDaGFubmVsOwogY2xhc3MgRnJvbnRl
bmRSb3V0ZXI7CiBjbGFzcyBJbnNwZWN0b3JBZ2VudDsKLWNsYXNzIEluc3BlY3Rvck9iamVjdDsK
IAogbmFtZXNwYWNlIFByb3RvY29sIHsKIG5hbWVzcGFjZSBPdmVybGF5VHlwZXMgewpAQCAtNjIs
MTEgKzU5LDkgQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CiBjbGFzcyBJ
bnNwZWN0b3JDbGllbnQ7CiBjbGFzcyBJbnNwZWN0b3JET01BZ2VudDsKLWNsYXNzIEluc3BlY3Rv
ckRPTURlYnVnZ2VyQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JGcm9udGVuZENsaWVudDsKIGNsYXNz
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjsKIGNsYXNzIEluc3BlY3RvclBhZ2VBZ2VudDsKLWNs
YXNzIEluc3BlY3RvclJlc291cmNlQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50
OwogY2xhc3MgSW5zdHJ1bWVudGluZ0FnZW50czsKIGNsYXNzIE5vZGU7CkBAIC0xNTAsOSArMTQ1
LDcgQEAgcHJpdmF0ZToKIAogICAgIEluc3BlY3Rvcjo6SW5zcGVjdG9yQWdlbnQqIG1faW5zcGVj
dG9yQWdlbnQgeyBudWxscHRyIH07CiAgICAgSW5zcGVjdG9yRE9NQWdlbnQqIG1fZG9tQWdlbnQg
eyBudWxscHRyIH07Ci0gICAgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogbV9yZXNvdXJjZUFnZW50
IHsgbnVsbHB0ciB9OwogICAgIEluc3BlY3RvclBhZ2VBZ2VudCogbV9wYWdlQWdlbnQgeyBudWxs
cHRyIH07Ci0gICAgSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudCogbV9kb21EZWJ1Z2dlckFnZW50
IHsgbnVsbHB0ciB9OwogICAgIEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIG1fdGltZWxpbmVBZ2Vu
dCB7IG51bGxwdHIgfTsKIAogICAgIGJvb2wgbV9pc1VuZGVyVGVzdCB7IGZhbHNlIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2Vu
dC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTURlYnVnZ2VyQWdlbnQu
aAppbmRleCA1NmJmNjUwLi40YWRhMGViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRE9NRGVidWdnZXJBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmgKQEAgLTM2LDcgKzM2LDYgQEAKICNp
bmNsdWRlIDxpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmg+CiAjaW5jbHVk
ZSA8aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JEZWJ1Z2dlckFnZW50Lmg+CiAjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgSW5zcGVjdG9yIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudC5oIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kQ2xpZW50LmgKaW5kZXggYTY5
ZTQzMy4uNWQzZjZjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kQ2xpZW50LmgKQEAgLTMyLDcgKzMyLDYgQEAKICNkZWZpbmUgSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRfaAogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCA3ZmYx
OTU5Li40NDhmYzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApAQCAtNDEsMTUgKzQxLDE1IEBACiAjaW5jbHVkZSAi
RXZlbnQuaCIKICNpbmNsdWRlICJFdmVudERpc3BhdGNoZXIuaCIKICNpbmNsdWRlICJJbnNwZWN0
b3JBcHBsaWNhdGlvbkNhY2hlQWdlbnQuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVy
LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ1NTQWdlbnQuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JD
b250cm9sbGVyLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9NQWdlbnQuaCIKICNpbmNsdWRlICJJ
bnNwZWN0b3JET01EZWJ1Z2dlckFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRE9NU3RvcmFn
ZUFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5oIgogI2luY2x1ZGUg
Ikluc3BlY3RvckxheWVyVHJlZUFnZW50LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yTmV0d29ya0Fn
ZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yUGFnZUFnZW50LmgiCi0jaW5jbHVkZSAiSW5zcGVj
dG9yUmVzb3VyY2VBZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclRpbWVsaW5lQWdlbnQuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JXb3JrZXJBZ2VudC5oIgogI2luY2x1ZGUgIkluc3RydW1lbnRp
bmdBZ2VudHMuaCIKQEAgLTUwMSw4ICs1MDEsOCBAQCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25D
b29raWUgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUmVjYWxjdWxhdGVTdHlsZUltcAog
ICAgICAgICB0aW1lbGluZUFnZW50LT53aWxsUmVjYWxjdWxhdGVTdHlsZShkb2N1bWVudC5mcmFt
ZSgpKTsKICAgICAgICAgdGltZWxpbmVBZ2VudElkID0gdGltZWxpbmVBZ2VudC0+aWQoKTsKICAg
ICB9Ci0gICAgaWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291cmNlQWdlbnQgPSBpbnN0
cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclJlc291cmNlQWdlbnQoKSkKLSAgICAgICAgcmVzb3Vy
Y2VBZ2VudC0+d2lsbFJlY2FsY3VsYXRlU3R5bGUoKTsKKyAgICBpZiAoSW5zcGVjdG9yTmV0d29y
a0FnZW50KiBuZXR3b3JrQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3Rvck5ldHdv
cmtBZ2VudCgpKQorICAgICAgICBuZXR3b3JrQWdlbnQtPndpbGxSZWNhbGN1bGF0ZVN0eWxlKCk7
CiAgICAgcmV0dXJuIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZShpbnN0cnVtZW50aW5n
QWdlbnRzLCB0aW1lbGluZUFnZW50SWQpOwogfQogCkBAIC01MTUsOCArNTE1LDggQEAgdm9pZCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2FsY3VsYXRlU3R5bGVJbXBsKGNvbnN0IElu
c3BlY3Rvckluc3RydW1lbnQKIAogICAgIGlmIChJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1l
bGluZUFnZW50ID0gcmV0cmlldmVUaW1lbGluZUFnZW50KGNvb2tpZSkpCiAgICAgICAgIHRpbWVs
aW5lQWdlbnQtPmRpZFJlY2FsY3VsYXRlU3R5bGUoKTsKLSAgICBpZiAoSW5zcGVjdG9yUmVzb3Vy
Y2VBZ2VudCogcmVzb3VyY2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yUmVz
b3VyY2VBZ2VudCgpKQotICAgICAgICByZXNvdXJjZUFnZW50LT5kaWRSZWNhbGN1bGF0ZVN0eWxl
KCk7CisgICAgaWYgKEluc3BlY3Rvck5ldHdvcmtBZ2VudCogbmV0d29ya0FnZW50ID0gaW5zdHJ1
bWVudGluZ0FnZW50cy5pbnNwZWN0b3JOZXR3b3JrQWdlbnQoKSkKKyAgICAgICAgbmV0d29ya0Fn
ZW50LT5kaWRSZWNhbGN1bGF0ZVN0eWxlKCk7CiAgICAgaWYgKEluc3BlY3RvclBhZ2VBZ2VudCog
cGFnZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JQYWdlQWdlbnQoKSkKICAg
ICAgICAgcGFnZUFnZW50LT5kaWRSZWNhbGN1bGF0ZVN0eWxlKCk7CiB9CkBAIC01MjUsOCArNTI1
LDggQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFNjaGVkdWxlU3R5bGVSZWNh
bGN1bGF0aW9uSW1wbChJbnN0cnVtZW50aW5nQWcKIHsKICAgICBpZiAoSW5zcGVjdG9yVGltZWxp
bmVBZ2VudCogdGltZWxpbmVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudCgpKQogICAgICAgICB0aW1lbGluZUFnZW50LT5kaWRTY2hlZHVsZVN0eWxlUmVj
YWxjdWxhdGlvbihkb2N1bWVudC5mcmFtZSgpKTsKLSAgICBpZiAoSW5zcGVjdG9yUmVzb3VyY2VB
Z2VudCogcmVzb3VyY2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yUmVzb3Vy
Y2VBZ2VudCgpKQotICAgICAgICByZXNvdXJjZUFnZW50LT5kaWRTY2hlZHVsZVN0eWxlUmVjYWxj
dWxhdGlvbihkb2N1bWVudCk7CisgICAgaWYgKEluc3BlY3Rvck5ldHdvcmtBZ2VudCogbmV0d29y
a0FnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JOZXR3b3JrQWdlbnQoKSkKKyAg
ICAgICAgbmV0d29ya0FnZW50LT5kaWRTY2hlZHVsZVN0eWxlUmVjYWxjdWxhdGlvbihkb2N1bWVu
dCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphcHBseUVtdWxhdGVkTWVk
aWFJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2VudHMsIFN0cmluZyYg
bWVkaWEpCkBAIC01NDAsOCArNTQwLDggQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OndpbGxTZW5kUmVxdWVzdEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWUKICAgICBp
ZiAoIWxvYWRlcikKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKEluc3BlY3RvclJlc291cmNl
QWdlbnQqIHJlc291cmNlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclJlc291
cmNlQWdlbnQoKSkKLSAgICAgICAgcmVzb3VyY2VBZ2VudC0+d2lsbFNlbmRSZXF1ZXN0KGlkZW50
aWZpZXIsICpsb2FkZXIsIHJlcXVlc3QsIHJlZGlyZWN0UmVzcG9uc2UpOworICAgIGlmIChJbnNw
ZWN0b3JOZXR3b3JrQWdlbnQqIG5ldHdvcmtBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5z
cGVjdG9yTmV0d29ya0FnZW50KCkpCisgICAgICAgIG5ldHdvcmtBZ2VudC0+d2lsbFNlbmRSZXF1
ZXN0KGlkZW50aWZpZXIsICpsb2FkZXIsIHJlcXVlc3QsIHJlZGlyZWN0UmVzcG9uc2UpOwogfQog
CiB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29udGludWVBZnRlclBpbmdMb2FkZXJJ
bXBsKEluc3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2VudHMsIHVuc2lnbmVkIGxv
bmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgUmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKQEAgLTU1MSw4ICs1NTEs
OCBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29udGludWVBZnRlclBpbmdMb2Fk
ZXJJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmCiAKIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjptYXJrUmVzb3VyY2VBc0NhY2hlZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1
bWVudGluZ0FnZW50cywgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKQogewotICAgIGlmIChJbnNw
ZWN0b3JSZXNvdXJjZUFnZW50KiByZXNvdXJjZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy5p
bnNwZWN0b3JSZXNvdXJjZUFnZW50KCkpCi0gICAgICAgIHJlc291cmNlQWdlbnQtPm1hcmtSZXNv
dXJjZUFzQ2FjaGVkKGlkZW50aWZpZXIpOworICAgIGlmIChJbnNwZWN0b3JOZXR3b3JrQWdlbnQq
IG5ldHdvcmtBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yTmV0d29ya0FnZW50
KCkpCisgICAgICAgIG5ldHdvcmtBZ2VudC0+bWFya1Jlc291cmNlQXNDYWNoZWQoaWRlbnRpZmll
cik7CiB9CiAKIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRMb2FkUmVzb3VyY2VG
cm9tTWVtb3J5Q2FjaGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2Vu
dHMsIERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIENhY2hlZFJlc291cmNlKiBjYWNoZWRSZXNvdXJj
ZSkKQEAgLTU2Myw4ICs1NjMsOCBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlk
TG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hlSW1wbChJbnN0cnVtZW50aW5nQQogICAgIGlmICgh
bG9hZGVyIHx8ICFjYWNoZWRSZXNvdXJjZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKElu
c3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291cmNlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRz
Lmluc3BlY3RvclJlc291cmNlQWdlbnQoKSkKLSAgICAgICAgcmVzb3VyY2VBZ2VudC0+ZGlkTG9h
ZFJlc291cmNlRnJvbU1lbW9yeUNhY2hlKCpsb2FkZXIsICpjYWNoZWRSZXNvdXJjZSk7CisgICAg
aWYgKEluc3BlY3Rvck5ldHdvcmtBZ2VudCogbmV0d29ya0FnZW50ID0gaW5zdHJ1bWVudGluZ0Fn
ZW50cy5pbnNwZWN0b3JOZXR3b3JrQWdlbnQoKSkKKyAgICAgICAgbmV0d29ya0FnZW50LT5kaWRM
b2FkUmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGUoKmxvYWRlciwgKmNhY2hlZFJlc291cmNlKTsKIH0K
IAogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6d2lsbFJlY2VpdmVSZXNvdXJjZVJlc3BvbnNlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBp
bnN0cnVtZW50aW5nQWdlbnRzKQpAQCAtNTgyLDggKzU4Miw4IEBAIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlUmVzb3VyY2VSZXNwb25zZUltcGwoY29uc3QgSW5zcGVj
dG9ySW5zCiAKICAgICBJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVtZW50aW5nQWdlbnRzID0g
KmNvb2tpZS5pbnN0cnVtZW50aW5nQWdlbnRzKCk7CiAKLSAgICBpZiAoSW5zcGVjdG9yUmVzb3Vy
Y2VBZ2VudCogcmVzb3VyY2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yUmVz
b3VyY2VBZ2VudCgpKQotICAgICAgICByZXNvdXJjZUFnZW50LT5kaWRSZWNlaXZlUmVzcG9uc2Uo
aWRlbnRpZmllciwgKmxvYWRlciwgcmVzcG9uc2UsIHJlc291cmNlTG9hZGVyKTsKKyAgICBpZiAo
SW5zcGVjdG9yTmV0d29ya0FnZW50KiBuZXR3b3JrQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRz
Lmluc3BlY3Rvck5ldHdvcmtBZ2VudCgpKQorICAgICAgICBuZXR3b3JrQWdlbnQtPmRpZFJlY2Vp
dmVSZXNwb25zZShpZGVudGlmaWVyLCAqbG9hZGVyLCByZXNwb25zZSwgcmVzb3VyY2VMb2FkZXIp
OwogICAgIGlmIChXZWJDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdB
Z2VudHMud2ViQ29uc29sZUFnZW50KCkpCiAgICAgICAgIGNvbnNvbGVBZ2VudC0+ZGlkUmVjZWl2
ZVJlc3BvbnNlKGlkZW50aWZpZXIsIHJlc3BvbnNlKTsgLy8gVGhpcyBzaG91bGQgY29tZSBBRlRF
UiByZXNvdXJjZSBub3RpZmljYXRpb24sIGZyb250LWVuZCByZWxpZXMgb24gdGhpcy4KIH0KQEAg
LTYxNCw4ICs2MTQsOCBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6Y29udGludWVX
aXRoUG9saWN5SWdub3JlSW1wbChGcmFtZSogZnJhbWUsIERvY3VtZQogCiB2b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkUmVjZWl2ZURhdGFJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMm
IGluc3RydW1lbnRpbmdBZ2VudHMsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgY2hh
ciogZGF0YSwgaW50IGRhdGFMZW5ndGgsIGludCBlbmNvZGVkRGF0YUxlbmd0aCkKIHsKLSAgICBp
ZiAoSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogcmVzb3VyY2VBZ2VudCA9IGluc3RydW1lbnRpbmdB
Z2VudHMuaW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgpKQotICAgICAgICByZXNvdXJjZUFnZW50LT5k
aWRSZWNlaXZlRGF0YShpZGVudGlmaWVyLCBkYXRhLCBkYXRhTGVuZ3RoLCBlbmNvZGVkRGF0YUxl
bmd0aCk7CisgICAgaWYgKEluc3BlY3Rvck5ldHdvcmtBZ2VudCogbmV0d29ya0FnZW50ID0gaW5z
dHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JOZXR3b3JrQWdlbnQoKSkKKyAgICAgICAgbmV0d29y
a0FnZW50LT5kaWRSZWNlaXZlRGF0YShpZGVudGlmaWVyLCBkYXRhLCBkYXRhTGVuZ3RoLCBlbmNv
ZGVkRGF0YUxlbmd0aCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRG
aW5pc2hMb2FkaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVtZW50aW5nQWdlbnRz
LCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIGRvdWJs
ZSBmaW5pc2hUaW1lKQpAQCAtNjIzLDggKzYyMyw4IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpkaWRGaW5pc2hMb2FkaW5nSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVt
CiAgICAgaWYgKCFsb2FkZXIpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChJbnNwZWN0b3JS
ZXNvdXJjZUFnZW50KiByZXNvdXJjZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0
b3JSZXNvdXJjZUFnZW50KCkpCi0gICAgICAgIHJlc291cmNlQWdlbnQtPmRpZEZpbmlzaExvYWRp
bmcoaWRlbnRpZmllciwgKmxvYWRlciwgZmluaXNoVGltZSk7CisgICAgaWYgKEluc3BlY3Rvck5l
dHdvcmtBZ2VudCogbmV0d29ya0FnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JO
ZXR3b3JrQWdlbnQoKSkKKyAgICAgICAgbmV0d29ya0FnZW50LT5kaWRGaW5pc2hMb2FkaW5nKGlk
ZW50aWZpZXIsICpsb2FkZXIsIGZpbmlzaFRpbWUpOwogfQogCiB2b2lkIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6ZGlkRmFpbExvYWRpbmdJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmIGluc3Ry
dW1lbnRpbmdBZ2VudHMsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2FkZXIq
IGxvYWRlciwgY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCkBAIC02MzIsOCArNjMyLDggQEAg
dm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZhaWxMb2FkaW5nSW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzJiBpbnN0cnVtZW4KICAgICBpZiAoIWxvYWRlcikKICAgICAgICAgcmV0dXJu
OwogCi0gICAgaWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291cmNlQWdlbnQgPSBpbnN0
cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclJlc291cmNlQWdlbnQoKSkKLSAgICAgICAgcmVzb3Vy
Y2VBZ2VudC0+ZGlkRmFpbExvYWRpbmcoaWRlbnRpZmllciwgKmxvYWRlciwgZXJyb3IpOworICAg
IGlmIChJbnNwZWN0b3JOZXR3b3JrQWdlbnQqIG5ldHdvcmtBZ2VudCA9IGluc3RydW1lbnRpbmdB
Z2VudHMuaW5zcGVjdG9yTmV0d29ya0FnZW50KCkpCisgICAgICAgIG5ldHdvcmtBZ2VudC0+ZGlk
RmFpbExvYWRpbmcoaWRlbnRpZmllciwgKmxvYWRlciwgZXJyb3IpOwogICAgIGlmIChXZWJDb25z
b2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMud2ViQ29uc29sZUFn
ZW50KCkpCiAgICAgICAgIGNvbnNvbGVBZ2VudC0+ZGlkRmFpbExvYWRpbmcoaWRlbnRpZmllciwg
ZXJyb3IpOyAvLyBUaGlzIHNob3VsZCBjb21lIEFGVEVSIHJlc291cmNlIG5vdGlmaWNhdGlvbiwg
ZnJvbnQtZW5kIHJlbGllcyBvbiB0aGlzLgogfQpAQCAtNjQyLDMyICs2NDIsMzIgQEAgdm9pZCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZpbmlzaFhIUkxvYWRpbmdJbXBsKEluc3RydW1l
bnRpbmdBZ2VudHMmIGluc3QKIHsKICAgICBpZiAoV2ViQ29uc29sZUFnZW50KiBjb25zb2xlQWdl
bnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLndlYkNvbnNvbGVBZ2VudCgpKQogICAgICAgICBjb25z
b2xlQWdlbnQtPmRpZEZpbmlzaFhIUkxvYWRpbmcoaWRlbnRpZmllciwgdXJsLCBzZW5kVVJMLCBz
ZW5kTGluZU51bWJlciwgc2VuZENvbHVtbk51bWJlcik7Ci0gICAgaWYgKEluc3BlY3RvclJlc291
cmNlQWdlbnQqIHJlc291cmNlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclJl
c291cmNlQWdlbnQoKSkKLSAgICAgICAgcmVzb3VyY2VBZ2VudC0+ZGlkRmluaXNoWEhSTG9hZGlu
ZyhjbGllbnQsIGlkZW50aWZpZXIsIHNvdXJjZVN0cmluZyk7CisgICAgaWYgKEluc3BlY3Rvck5l
dHdvcmtBZ2VudCogbmV0d29ya0FnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JO
ZXR3b3JrQWdlbnQoKSkKKyAgICAgICAgbmV0d29ya0FnZW50LT5kaWRGaW5pc2hYSFJMb2FkaW5n
KGNsaWVudCwgaWRlbnRpZmllciwgc291cmNlU3RyaW5nKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVYSFJSZXNwb25zZUltcGwoSW5zdHJ1bWVudGluZ0Fn
ZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50cywgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKQogewot
ICAgIGlmIChJbnNwZWN0b3JSZXNvdXJjZUFnZW50KiByZXNvdXJjZUFnZW50ID0gaW5zdHJ1bWVu
dGluZ0FnZW50cy5pbnNwZWN0b3JSZXNvdXJjZUFnZW50KCkpCi0gICAgICAgIHJlc291cmNlQWdl
bnQtPmRpZFJlY2VpdmVYSFJSZXNwb25zZShpZGVudGlmaWVyKTsKKyAgICBpZiAoSW5zcGVjdG9y
TmV0d29ya0FnZW50KiBuZXR3b3JrQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3Rv
ck5ldHdvcmtBZ2VudCgpKQorICAgICAgICBuZXR3b3JrQWdlbnQtPmRpZFJlY2VpdmVYSFJSZXNw
b25zZShpZGVudGlmaWVyKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Ondp
bGxMb2FkWEhSU3luY2hyb25vdXNseUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVu
dGluZ0FnZW50cykKIHsKLSAgICBpZiAoSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogcmVzb3VyY2VB
Z2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgpKQotICAg
ICAgICByZXNvdXJjZUFnZW50LT53aWxsTG9hZFhIUlN5bmNocm9ub3VzbHkoKTsKKyAgICBpZiAo
SW5zcGVjdG9yTmV0d29ya0FnZW50KiBuZXR3b3JrQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRz
Lmluc3BlY3Rvck5ldHdvcmtBZ2VudCgpKQorICAgICAgICBuZXR3b3JrQWdlbnQtPndpbGxMb2Fk
WEhSU3luY2hyb25vdXNseSgpOwogfQogCiB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkTG9hZFhIUlN5bmNocm9ub3VzbHlJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1l
bnRpbmdBZ2VudHMpCiB7Ci0gICAgaWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291cmNl
QWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclJlc291cmNlQWdlbnQoKSkKLSAg
ICAgICAgcmVzb3VyY2VBZ2VudC0+ZGlkTG9hZFhIUlN5bmNocm9ub3VzbHkoKTsKKyAgICBpZiAo
SW5zcGVjdG9yTmV0d29ya0FnZW50KiBuZXR3b3JrQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRz
Lmluc3BlY3Rvck5ldHdvcmtBZ2VudCgpKQorICAgICAgICBuZXR3b3JrQWdlbnQtPmRpZExvYWRY
SFJTeW5jaHJvbm91c2x5KCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpz
Y3JpcHRJbXBvcnRlZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50
cywgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVN0cmluZykK
IHsKLSAgICBpZiAoSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogcmVzb3VyY2VBZ2VudCA9IGluc3Ry
dW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgpKQotICAgICAgICByZXNvdXJj
ZUFnZW50LT5zZXRJbml0aWFsU2NyaXB0Q29udGVudChpZGVudGlmaWVyLCBzb3VyY2VTdHJpbmcp
OworICAgIGlmIChJbnNwZWN0b3JOZXR3b3JrQWdlbnQqIG5ldHdvcmtBZ2VudCA9IGluc3RydW1l
bnRpbmdBZ2VudHMuaW5zcGVjdG9yTmV0d29ya0FnZW50KCkpCisgICAgICAgIG5ldHdvcmtBZ2Vu
dC0+c2V0SW5pdGlhbFNjcmlwdENvbnRlbnQoaWRlbnRpZmllciwgc291cmNlU3RyaW5nKTsKIH0K
IAogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNjcmlwdEV4ZWN1dGlvbkJsb2NrZWRC
eUNTUEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50cywgY29uc3Qg
U3RyaW5nJiBkaXJlY3RpdmVUZXh0KQpAQCAtNjc4LDggKzY3OCw4IEBAIHZvaWQgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjpzY3JpcHRFeGVjdXRpb25CbG9ja2VkQnlDU1BJbXBsKEluc3RydW1l
bnRpbmdBZ2VuCiAKIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlU2Ny
aXB0UmVzcG9uc2VJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2VudHMs
IHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcikKIHsKLSAgICBpZiAoSW5zcGVjdG9yUmVzb3VyY2VB
Z2VudCogcmVzb3VyY2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yUmVzb3Vy
Y2VBZ2VudCgpKQotICAgICAgICByZXNvdXJjZUFnZW50LT5kaWRSZWNlaXZlU2NyaXB0UmVzcG9u
c2UoaWRlbnRpZmllcik7CisgICAgaWYgKEluc3BlY3Rvck5ldHdvcmtBZ2VudCogbmV0d29ya0Fn
ZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JOZXR3b3JrQWdlbnQoKSkKKyAgICAg
ICAgbmV0d29ya0FnZW50LT5kaWRSZWNlaXZlU2NyaXB0UmVzcG9uc2UoaWRlbnRpZmllcik7CiB9
CiAKIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkb21Db250ZW50TG9hZGVkRXZlbnRG
aXJlZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50cywgRnJhbWUm
IGZyYW1lKQpAQCAtNzI5LDggKzcyOSw4IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRDb21taXRMb2FkSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVtZW50CiAgICAg
ICAgIGlmIChXZWJDb25zb2xlQWdlbnQqIGNvbnNvbGVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2Vu
dHMud2ViQ29uc29sZUFnZW50KCkpCiAgICAgICAgICAgICBjb25zb2xlQWdlbnQtPnJlc2V0KCk7
CiAKLSAgICAgICAgaWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291cmNlQWdlbnQgPSBp
bnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclJlc291cmNlQWdlbnQoKSkKLSAgICAgICAgICAg
IHJlc291cmNlQWdlbnQtPm1haW5GcmFtZU5hdmlnYXRlZCgqbG9hZGVyKTsKKyAgICAgICAgaWYg
KEluc3BlY3Rvck5ldHdvcmtBZ2VudCogbmV0d29ya0FnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50
cy5pbnNwZWN0b3JOZXR3b3JrQWdlbnQoKSkKKyAgICAgICAgICAgIG5ldHdvcmtBZ2VudC0+bWFp
bkZyYW1lTmF2aWdhdGVkKCpsb2FkZXIpOwogCiAgICAgICAgIGlmIChJbnNwZWN0b3JDU1NBZ2Vu
dCogY3NzQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvckNTU0FnZW50KCkpCiAg
ICAgICAgICAgICBjc3NBZ2VudC0+cmVzZXQoKTsKQEAgLTgyNyw4ICs4MjcsOCBAQCB2b2lkIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbERlc3Ryb3lDYWNoZWRSZXNvdXJjZUltcGwoQ2Fj
aGVkUmVzb3VyY2UmIGNhYwogICAgICAgICByZXR1cm47CiAKICAgICBmb3IgKGF1dG8qIGluc3Ry
dW1lbnRpbmdBZ2VudCA6ICpzX2luc3RydW1lbnRpbmdBZ2VudHNTZXQpIHsKLSAgICAgICAgaWYg
KEluc3BlY3RvclJlc291cmNlQWdlbnQqIGluc3BlY3RvclJlc291cmNlQWdlbnQgPSBpbnN0cnVt
ZW50aW5nQWdlbnQtPmluc3BlY3RvclJlc291cmNlQWdlbnQoKSkKLSAgICAgICAgICAgIGluc3Bl
Y3RvclJlc291cmNlQWdlbnQtPndpbGxEZXN0cm95Q2FjaGVkUmVzb3VyY2UoY2FjaGVkUmVzb3Vy
Y2UpOworICAgICAgICBpZiAoSW5zcGVjdG9yTmV0d29ya0FnZW50KiBpbnNwZWN0b3JOZXR3b3Jr
QWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnQtPmluc3BlY3Rvck5ldHdvcmtBZ2VudCgpKQorICAg
ICAgICAgICAgaW5zcGVjdG9yTmV0d29ya0FnZW50LT53aWxsRGVzdHJveUNhY2hlZFJlc291cmNl
KGNhY2hlZFJlc291cmNlKTsKICAgICB9CiB9CiAKQEAgLTk2NSw0NCArOTY1LDQ0IEBAIHZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDcmVhdGVXZWJTb2NrZXRJbXBsKEluc3RydW1l
bnRpbmdBZ2VudHMmIGluc3RyCiAgICAgaWYgKCFpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3Rv
ckVudmlyb25tZW50KCkuZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBpZiAoSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogcmVzb3VyY2VBZ2VudCA9IGluc3Ry
dW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgpKQotICAgICAgICByZXNvdXJj
ZUFnZW50LT5kaWRDcmVhdGVXZWJTb2NrZXQoaWRlbnRpZmllciwgcmVxdWVzdFVSTCk7CisgICAg
aWYgKEluc3BlY3Rvck5ldHdvcmtBZ2VudCogbmV0d29ya0FnZW50ID0gaW5zdHJ1bWVudGluZ0Fn
ZW50cy5pbnNwZWN0b3JOZXR3b3JrQWdlbnQoKSkKKyAgICAgICAgbmV0d29ya0FnZW50LT5kaWRD
cmVhdGVXZWJTb2NrZXQoaWRlbnRpZmllciwgcmVxdWVzdFVSTCk7CiB9CiAKIHZvaWQgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsU2VuZFdlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3RJbXBs
KEluc3RydW1lbnRpbmdBZ2VudHMmIGluc3RydW1lbnRpbmdBZ2VudHMsIHVuc2lnbmVkIGxvbmcg
aWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogewotICAgIGlmIChJ
bnNwZWN0b3JSZXNvdXJjZUFnZW50KiByZXNvdXJjZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50
cy5pbnNwZWN0b3JSZXNvdXJjZUFnZW50KCkpCi0gICAgICAgIHJlc291cmNlQWdlbnQtPndpbGxT
ZW5kV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdChpZGVudGlmaWVyLCByZXF1ZXN0KTsKKyAgICBp
ZiAoSW5zcGVjdG9yTmV0d29ya0FnZW50KiBuZXR3b3JrQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdl
bnRzLmluc3BlY3Rvck5ldHdvcmtBZ2VudCgpKQorICAgICAgICBuZXR3b3JrQWdlbnQtPndpbGxT
ZW5kV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdChpZGVudGlmaWVyLCByZXF1ZXN0KTsKIH0KIAog
dm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVXZWJTb2NrZXRIYW5kc2hh
a2VSZXNwb25zZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50cywg
dW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25z
ZSkKIHsKLSAgICBpZiAoSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogcmVzb3VyY2VBZ2VudCA9IGlu
c3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgpKQotICAgICAgICByZXNv
dXJjZUFnZW50LT5kaWRSZWNlaXZlV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2UoaWRlbnRpZmll
ciwgcmVzcG9uc2UpOworICAgIGlmIChJbnNwZWN0b3JOZXR3b3JrQWdlbnQqIG5ldHdvcmtBZ2Vu
dCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yTmV0d29ya0FnZW50KCkpCisgICAgICAg
IG5ldHdvcmtBZ2VudC0+ZGlkUmVjZWl2ZVdlYlNvY2tldEhhbmRzaGFrZVJlc3BvbnNlKGlkZW50
aWZpZXIsIHJlc3BvbnNlKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZENsb3NlV2ViU29ja2V0SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiBpbnN0cnVtZW50aW5nQWdl
bnRzLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpCiB7Ci0gICAgaWYgKEluc3BlY3RvclJlc291
cmNlQWdlbnQqIHJlc291cmNlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclJl
c291cmNlQWdlbnQoKSkKLSAgICAgICAgcmVzb3VyY2VBZ2VudC0+ZGlkQ2xvc2VXZWJTb2NrZXQo
aWRlbnRpZmllcik7CisgICAgaWYgKEluc3BlY3Rvck5ldHdvcmtBZ2VudCogbmV0d29ya0FnZW50
ID0gaW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JOZXR3b3JrQWdlbnQoKSkKKyAgICAgICAg
bmV0d29ya0FnZW50LT5kaWRDbG9zZVdlYlNvY2tldChpZGVudGlmaWVyKTsKIH0KIAogdm9pZCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlY2VpdmVXZWJTb2NrZXRGcmFtZUltcGwoSW5z
dHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50cywgdW5zaWduZWQgbG9uZyBpZGVu
dGlmaWVyLCBjb25zdCBXZWJTb2NrZXRGcmFtZSYgZnJhbWUpCiB7Ci0gICAgaWYgKEluc3BlY3Rv
clJlc291cmNlQWdlbnQqIHJlc291cmNlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmluc3Bl
Y3RvclJlc291cmNlQWdlbnQoKSkKLSAgICAgICAgcmVzb3VyY2VBZ2VudC0+ZGlkUmVjZWl2ZVdl
YlNvY2tldEZyYW1lKGlkZW50aWZpZXIsIGZyYW1lKTsKKyAgICBpZiAoSW5zcGVjdG9yTmV0d29y
a0FnZW50KiBuZXR3b3JrQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3Rvck5ldHdv
cmtBZ2VudCgpKQorICAgICAgICBuZXR3b3JrQWdlbnQtPmRpZFJlY2VpdmVXZWJTb2NrZXRGcmFt
ZShpZGVudGlmaWVyLCBmcmFtZSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWVFcnJvckltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYg
aW5zdHJ1bWVudGluZ0FnZW50cywgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmIGVycm9yTWVzc2FnZSkKIHsKLSAgICBpZiAoSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogcmVz
b3VyY2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgp
KQotICAgICAgICByZXNvdXJjZUFnZW50LT5kaWRSZWNlaXZlV2ViU29ja2V0RnJhbWVFcnJvcihp
ZGVudGlmaWVyLCBlcnJvck1lc3NhZ2UpOworICAgIGlmIChJbnNwZWN0b3JOZXR3b3JrQWdlbnQq
IG5ldHdvcmtBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yTmV0d29ya0FnZW50
KCkpCisgICAgICAgIG5ldHdvcmtBZ2VudC0+ZGlkUmVjZWl2ZVdlYlNvY2tldEZyYW1lRXJyb3Io
aWRlbnRpZmllciwgZXJyb3JNZXNzYWdlKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZFNlbmRXZWJTb2NrZXRGcmFtZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5z
dHJ1bWVudGluZ0FnZW50cywgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBXZWJTb2Nr
ZXRGcmFtZSYgZnJhbWUpCiB7Ci0gICAgaWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291
cmNlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvclJlc291cmNlQWdlbnQoKSkK
LSAgICAgICAgcmVzb3VyY2VBZ2VudC0+ZGlkU2VuZFdlYlNvY2tldEZyYW1lKGlkZW50aWZpZXIs
IGZyYW1lKTsKKyAgICBpZiAoSW5zcGVjdG9yTmV0d29ya0FnZW50KiBuZXR3b3JrQWdlbnQgPSBp
bnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3Rvck5ldHdvcmtBZ2VudCgpKQorICAgICAgICBuZXR3
b3JrQWdlbnQtPmRpZFNlbmRXZWJTb2NrZXRGcmFtZShpZGVudGlmaWVyLCBmcmFtZSk7CiB9CiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckxh
eWVyVHJlZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJU
cmVlQWdlbnQuaAppbmRleCA2ZTk1Yzg3Li5jYzEyNzJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTGF5ZXJUcmVlQWdlbnQuaApAQCAtMzAsMTEgKzMwLDEw
IEBACiAjZGVmaW5lIEluc3BlY3RvckxheWVyVHJlZUFnZW50X2gKIAogI2luY2x1ZGUgIkluc3Bl
Y3RvcldlYkFnZW50QmFzZS5oIgorI2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSA8
aW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oPgogI2luY2x1ZGUgPGluc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmg+CiAjaW5jbHVkZSA8aW5zcGVjdG9y
L0luc3BlY3RvclByb3RvY29sT2JqZWN0cy5oPgotI2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCi0j
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcApzaW1pbGFyaXR5IGluZGV4IDg2JQpyZW5hbWUgZnJv
bSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKcmVu
YW1lIHRvIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JOZXR3b3JrQWdlbnQuY3Bw
CmluZGV4IGQxOWZmYWUuLjgxZmFlM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yTmV0d29ya0FnZW50LmNwcApAQCAtMzAsNyArMzAsNyBAQAogICovCiAK
ICNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JSZXNvdXJjZUFnZW50Lmgi
CisjaW5jbHVkZSAiSW5zcGVjdG9yTmV0d29ya0FnZW50LmgiCiAKICNpbmNsdWRlICJDYWNoZWRS
YXdSZXNvdXJjZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlLmgiCkBAIC0zOCw3ICszOCw2
IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgog
I2luY2x1ZGUgIkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oIgotI2luY2x1ZGUgIkV4Y2VwdGlv
bkNvZGVQbGFjZWhvbGRlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVM
b2FkZXIuaCIKICNpbmNsdWRlICJIVFRQSGVhZGVyTWFwLmgiCkBAIC0xNjEsNyArMTYwLDcgQEAg
cHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UKIAotSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6SW5z
cGVjdG9yUmVzb3VyY2VBZ2VudChXZWJBZ2VudENvbnRleHQmIGNvbnRleHQsIEluc3BlY3RvclBh
Z2VBZ2VudCogcGFnZUFnZW50KQorSW5zcGVjdG9yTmV0d29ya0FnZW50OjpJbnNwZWN0b3JOZXR3
b3JrQWdlbnQoV2ViQWdlbnRDb250ZXh0JiBjb250ZXh0LCBJbnNwZWN0b3JQYWdlQWdlbnQqIHBh
Z2VBZ2VudCkKICAgICA6IEluc3BlY3RvckFnZW50QmFzZShBU0NJSUxpdGVyYWwoIk5ldHdvcmsi
KSwgY29udGV4dCkKICAgICAsIG1fZnJvbnRlbmREaXNwYXRjaGVyKHN0ZDo6bWFrZV91bmlxdWU8
SW5zcGVjdG9yOjpOZXR3b3JrRnJvbnRlbmREaXNwYXRjaGVyPihjb250ZXh0LmZyb250ZW5kUm91
dGVyKSkKICAgICAsIG1fYmFja2VuZERpc3BhdGNoZXIoSW5zcGVjdG9yOjpOZXR3b3JrQmFja2Vu
ZERpc3BhdGNoZXI6OmNyZWF0ZShjb250ZXh0LmJhY2tlbmREaXNwYXRjaGVyLCB0aGlzKSkKQEAg
LTE3MCwxMSArMTY5LDExIEBAIEluc3BlY3RvclJlc291cmNlQWdlbnQ6Okluc3BlY3RvclJlc291
cmNlQWdlbnQoV2ViQWdlbnRDb250ZXh0JiBjb250ZXh0LCBJbnNwZWN0CiB7CiB9CiAKLXZvaWQg
SW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3Bl
Y3Rvcjo6RnJvbnRlbmRSb3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikKK3Zv
aWQgSW5zcGVjdG9yTmV0d29ya0FnZW50OjpkaWRDcmVhdGVGcm9udGVuZEFuZEJhY2tlbmQoSW5z
cGVjdG9yOjpGcm9udGVuZFJvdXRlciosIEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXIqKQog
ewogfQogCi12b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OndpbGxEZXN0cm95RnJvbnRlbmRB
bmRCYWNrZW5kKEluc3BlY3Rvcjo6RGlzY29ubmVjdFJlYXNvbikKK3ZvaWQgSW5zcGVjdG9yTmV0
d29ya0FnZW50Ojp3aWxsRGVzdHJveUZyb250ZW5kQW5kQmFja2VuZChJbnNwZWN0b3I6OkRpc2Nv
bm5lY3RSZWFzb24pCiB7CiAgICAgRXJyb3JTdHJpbmcgdW51c2VkOwogICAgIGRpc2FibGUodW51
c2VkKTsKQEAgLTI1NSwyMSArMjU0LDIxIEBAIHN0YXRpYyBSZWY8SW5zcGVjdG9yOjpQcm90b2Nv
bDo6TmV0d29yazo6Q2FjaGVkUmVzb3VyY2U+IGJ1aWxkT2JqZWN0Rm9yQ2FjaGVkUmVzCiAgICAg
cmV0dXJuIFdURjo6bW92ZShyZXNvdXJjZU9iamVjdCk7CiB9CiAKLUluc3BlY3RvclJlc291cmNl
QWdlbnQ6On5JbnNwZWN0b3JSZXNvdXJjZUFnZW50KCkKK0luc3BlY3Rvck5ldHdvcmtBZ2VudDo6
fkluc3BlY3Rvck5ldHdvcmtBZ2VudCgpCiB7CiAgICAgaWYgKG1fZW5hYmxlZCkgewogICAgICAg
ICBFcnJvclN0cmluZyB1bnVzZWQ7CiAgICAgICAgIGRpc2FibGUodW51c2VkKTsKICAgICB9Ci0g
ICAgQVNTRVJUKCFtX2luc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgp
KTsKKyAgICBBU1NFUlQoIW1faW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JOZXR3b3JrQWdl
bnQoKSk7CiB9CiAKLWRvdWJsZSBJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojp0aW1lc3RhbXAoKQor
ZG91YmxlIEluc3BlY3Rvck5ldHdvcmtBZ2VudDo6dGltZXN0YW1wKCkKIHsKICAgICByZXR1cm4g
bV9pbnN0cnVtZW50aW5nQWdlbnRzLmluc3BlY3RvckVudmlyb25tZW50KCkuZXhlY3V0aW9uU3Rv
cHdhdGNoKCktPmVsYXBzZWRUaW1lKCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2Vu
dDo6d2lsbFNlbmRSZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2Fk
ZXImIGxvYWRlciwgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiByZWRpcmVjdFJlc3BvbnNlKQordm9pZCBJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6OndpbGxT
ZW5kUmVxdWVzdCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyJiBsb2Fk
ZXIsIFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVk
aXJlY3RSZXNwb25zZSkKIHsKICAgICBpZiAocmVxdWVzdC5oaWRkZW5Gcm9tSW5zcGVjdG9yKCkp
IHsKICAgICAgICAgbV9oaWRkZW5SZXF1ZXN0SWRlbnRpZmllcnMuYWRkKGlkZW50aWZpZXIpOwpA
QCAtMzEwLDcgKzMwOSw3IEBAIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6d2lsbFNlbmRS
ZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRMCiAgICAgbV9mcm9udGVu
ZERpc3BhdGNoZXItPnJlcXVlc3RXaWxsQmVTZW50KHJlcXVlc3RJZCwgbV9wYWdlQWdlbnQtPmZy
YW1lSWQobG9hZGVyLmZyYW1lKCkpLCBtX3BhZ2VBZ2VudC0+bG9hZGVySWQoJmxvYWRlciksIGxv
YWRlci51cmwoKS5zdHJpbmcoKSwgYnVpbGRPYmplY3RGb3JSZXNvdXJjZVJlcXVlc3QocmVxdWVz
dCksIHRpbWVzdGFtcCgpLCBpbml0aWF0b3JPYmplY3QsIGJ1aWxkT2JqZWN0Rm9yUmVzb3VyY2VS
ZXNwb25zZShyZWRpcmVjdFJlc3BvbnNlLCAmbG9hZGVyKSwgdHlwZSAhPSBJbnNwZWN0b3JQYWdl
QWdlbnQ6Ok90aGVyUmVzb3VyY2UgPyAmcmVzb3VyY2VUeXBlIDogbnVsbHB0cik7CiB9CiAKLXZv
aWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6bWFya1Jlc291cmNlQXNDYWNoZWQodW5zaWduZWQg
bG9uZyBpZGVudGlmaWVyKQordm9pZCBJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6Om1hcmtSZXNvdXJj
ZUFzQ2FjaGVkKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcikKIHsKICAgICBpZiAobV9oaWRkZW5S
ZXF1ZXN0SWRlbnRpZmllcnMuY29udGFpbnMoaWRlbnRpZmllcikpCiAgICAgICAgIHJldHVybjsK
QEAgLTMxOCw3ICszMTcsNyBAQCB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6Om1hcmtSZXNv
dXJjZUFzQ2FjaGVkKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcikKICAgICBtX2Zyb250ZW5kRGlz
cGF0Y2hlci0+cmVxdWVzdFNlcnZlZEZyb21DYWNoZShJZGVudGlmaWVyc0ZhY3Rvcnk6OnJlcXVl
c3RJZChpZGVudGlmaWVyKSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlk
UmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2FkZXIm
IGxvYWRlciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFJlc291cmNlTG9hZGVy
KiByZXNvdXJjZUxvYWRlcikKK3ZvaWQgSW5zcGVjdG9yTmV0d29ya0FnZW50OjpkaWRSZWNlaXZl
UmVzcG9uc2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciYgbG9hZGVy
LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgUmVzb3VyY2VMb2FkZXIqIHJlc291
cmNlTG9hZGVyKQogewogICAgIGlmIChtX2hpZGRlblJlcXVlc3RJZGVudGlmaWVycy5jb250YWlu
cyhpZGVudGlmaWVyKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMzY1LDcgKzM2NCw3IEBAIHN0YXRp
YyBib29sIGlzRXJyb3JTdGF0dXNDb2RlKGludCBzdGF0dXNDb2RlKQogICAgIHJldHVybiBzdGF0
dXNDb2RlID49IDQwMDsKIH0KIAotdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRSZWNl
aXZlRGF0YSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IGNoYXIqIGRhdGEsIGludCBk
YXRhTGVuZ3RoLCBpbnQgZW5jb2RlZERhdGFMZW5ndGgpCit2b2lkIEluc3BlY3Rvck5ldHdvcmtB
Z2VudDo6ZGlkUmVjZWl2ZURhdGEodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBjaGFy
KiBkYXRhLCBpbnQgZGF0YUxlbmd0aCwgaW50IGVuY29kZWREYXRhTGVuZ3RoKQogewogICAgIGlm
IChtX2hpZGRlblJlcXVlc3RJZGVudGlmaWVycy5jb250YWlucyhpZGVudGlmaWVyKSkKICAgICAg
ICAgcmV0dXJuOwpAQCAtMzgxLDcgKzM4MCw3IEBAIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2Vu
dDo6ZGlkUmVjZWl2ZURhdGEodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBjaGFyCiAg
ICAgbV9mcm9udGVuZERpc3BhdGNoZXItPmRhdGFSZWNlaXZlZChyZXF1ZXN0SWQsIHRpbWVzdGFt
cCgpLCBkYXRhTGVuZ3RoLCBlbmNvZGVkRGF0YUxlbmd0aCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9y
UmVzb3VyY2VBZ2VudDo6ZGlkRmluaXNoTG9hZGluZyh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIs
IERvY3VtZW50TG9hZGVyJiBsb2FkZXIsIGRvdWJsZSBmaW5pc2hUaW1lKQordm9pZCBJbnNwZWN0
b3JOZXR3b3JrQWdlbnQ6OmRpZEZpbmlzaExvYWRpbmcodW5zaWduZWQgbG9uZyBpZGVudGlmaWVy
LCBEb2N1bWVudExvYWRlciYgbG9hZGVyLCBkb3VibGUgZmluaXNoVGltZSkKIHsKICAgICBpZiAo
bV9oaWRkZW5SZXF1ZXN0SWRlbnRpZmllcnMucmVtb3ZlKGlkZW50aWZpZXIpKQogICAgICAgICBy
ZXR1cm47CkBAIC00MDYsNyArNDA1LDcgQEAgdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojpk
aWRGaW5pc2hMb2FkaW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnQKICAgICBt
X2Zyb250ZW5kRGlzcGF0Y2hlci0+bG9hZGluZ0ZpbmlzaGVkKHJlcXVlc3RJZCwgZmluaXNoVGlt
ZSwgIXNvdXJjZU1hcHBpbmdVUkwuaXNFbXB0eSgpID8gJnNvdXJjZU1hcHBpbmdVUkwgOiBudWxs
cHRyKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRGYWlsTG9hZGluZyh1
bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyJiBsb2FkZXIsIGNvbnN0IFJl
c291cmNlRXJyb3ImIGVycm9yKQordm9pZCBJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6OmRpZEZhaWxM
b2FkaW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2FkZXImIGxvYWRlciwg
Y29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiB7CiAgICAgaWYgKG1faGlkZGVuUmVxdWVzdElk
ZW50aWZpZXJzLnJlbW92ZShpZGVudGlmaWVyKSkKICAgICAgICAgcmV0dXJuOwpAQCAtNDI2LDcg
KzQyNSw3IEBAIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkRmFpbExvYWRpbmcodW5z
aWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvCiAgICAgbV9mcm9udGVuZERpc3BhdGNo
ZXItPmxvYWRpbmdGYWlsZWQocmVxdWVzdElkLCB0aW1lc3RhbXAoKSwgZXJyb3IubG9jYWxpemVk
RGVzY3JpcHRpb24oKSwgY2FuY2VsZWQgPyAmY2FuY2VsZWQgOiBudWxscHRyKTsKIH0KIAotdm9p
ZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRMb2FkUmVzb3VyY2VGcm9tTWVtb3J5Q2FjaGUo
RG9jdW1lbnRMb2FkZXImIGxvYWRlciwgQ2FjaGVkUmVzb3VyY2UmIHJlc291cmNlKQordm9pZCBJ
bnNwZWN0b3JOZXR3b3JrQWdlbnQ6OmRpZExvYWRSZXNvdXJjZUZyb21NZW1vcnlDYWNoZShEb2N1
bWVudExvYWRlciYgbG9hZGVyLCBDYWNoZWRSZXNvdXJjZSYgcmVzb3VyY2UpCiB7CiAgICAgU3Ry
aW5nIGxvYWRlcklkID0gbV9wYWdlQWdlbnQtPmxvYWRlcklkKCZsb2FkZXIpOwogICAgIFN0cmlu
ZyBmcmFtZUlkID0gbV9wYWdlQWdlbnQtPmZyYW1lSWQobG9hZGVyLmZyYW1lKCkpOwpAQCAtNDQw
LDE3ICs0MzksMTcgQEAgdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRMb2FkUmVzb3Vy
Y2VGcm9tTWVtb3J5Q2FjaGUoRG9jdW1lbnRMb2FkZXImIGxvYWQKICAgICBtX2Zyb250ZW5kRGlz
cGF0Y2hlci0+cmVxdWVzdFNlcnZlZEZyb21NZW1vcnlDYWNoZShyZXF1ZXN0SWQsIGZyYW1lSWQs
IGxvYWRlcklkLCBsb2FkZXIudXJsKCkuc3RyaW5nKCksIHRpbWVzdGFtcCgpLCBpbml0aWF0b3JP
YmplY3QsIGJ1aWxkT2JqZWN0Rm9yQ2FjaGVkUmVzb3VyY2UoJnJlc291cmNlLCAmbG9hZGVyKSk7
CiB9CiAKLXZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6c2V0SW5pdGlhbFNjcmlwdENvbnRl
bnQodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVN0cmluZykK
K3ZvaWQgSW5zcGVjdG9yTmV0d29ya0FnZW50OjpzZXRJbml0aWFsU2NyaXB0Q29udGVudCh1bnNp
Z25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgc291cmNlU3RyaW5nKQogewogICAg
IG1fcmVzb3VyY2VzRGF0YS0+c2V0UmVzb3VyY2VDb250ZW50KElkZW50aWZpZXJzRmFjdG9yeTo6
cmVxdWVzdElkKGlkZW50aWZpZXIpLCBzb3VyY2VTdHJpbmcpOwogfQogCi12b2lkIEluc3BlY3Rv
clJlc291cmNlQWdlbnQ6OmRpZFJlY2VpdmVTY3JpcHRSZXNwb25zZSh1bnNpZ25lZCBsb25nIGlk
ZW50aWZpZXIpCit2b2lkIEluc3BlY3Rvck5ldHdvcmtBZ2VudDo6ZGlkUmVjZWl2ZVNjcmlwdFJl
c3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcikKIHsKICAgICBtX3Jlc291cmNlc0RhdGEt
PnNldFJlc291cmNlVHlwZShJZGVudGlmaWVyc0ZhY3Rvcnk6OnJlcXVlc3RJZChpZGVudGlmaWVy
KSwgSW5zcGVjdG9yUGFnZUFnZW50OjpTY3JpcHRSZXNvdXJjZSk7CiB9CiAKLXZvaWQgSW5zcGVj
dG9yUmVzb3VyY2VBZ2VudDo6ZGlkRmluaXNoWEhSTG9hZGluZyhUaHJlYWRhYmxlTG9hZGVyQ2xp
ZW50KiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVN0cmlu
ZykKK3ZvaWQgSW5zcGVjdG9yTmV0d29ya0FnZW50OjpkaWRGaW5pc2hYSFJMb2FkaW5nKFRocmVh
ZGFibGVMb2FkZXJDbGllbnQqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFN0cmlu
ZyYgc291cmNlU3RyaW5nKQogewogICAgIC8vIEZvciBBc3luY2hyb25vdXMgWEhScywgdGhlIGlu
c3BlY3RvciBjYW4gZ3JhYiB0aGUgZGF0YSBkaXJlY3RseSBvZmYgb2YgdGhlIENhY2hlZFJlc291
cmNlLiBGb3Igc3luYyBYSFJzLCB3ZSBuZWVkIHRvCiAgICAgLy8gcHJvdmlkZSB0aGUgZGF0YSBo
ZXJlLCBzaW5jZSBubyBDYWNoZWRSZXNvdXJjZSB3YXMgaW52b2x2ZWQuCkBAIC00NTgsMjIgKzQ1
NywyMiBAQCB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRpZEZpbmlzaFhIUkxvYWRpbmco
VGhyZWFkYWJsZUxvYWRlckNsaWVudCosIHVuc2lnbgogICAgICAgICBtX3Jlc291cmNlc0RhdGEt
PnNldFJlc291cmNlQ29udGVudChJZGVudGlmaWVyc0ZhY3Rvcnk6OnJlcXVlc3RJZChpZGVudGlm
aWVyKSwgc291cmNlU3RyaW5nKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojpk
aWRSZWNlaXZlWEhSUmVzcG9uc2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKQordm9pZCBJbnNw
ZWN0b3JOZXR3b3JrQWdlbnQ6OmRpZFJlY2VpdmVYSFJSZXNwb25zZSh1bnNpZ25lZCBsb25nIGlk
ZW50aWZpZXIpCiB7CiAgICAgbV9yZXNvdXJjZXNEYXRhLT5zZXRSZXNvdXJjZVR5cGUoSWRlbnRp
ZmllcnNGYWN0b3J5OjpyZXF1ZXN0SWQoaWRlbnRpZmllciksIEluc3BlY3RvclBhZ2VBZ2VudDo6
WEhSUmVzb3VyY2UpOwogfQogCi12b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OndpbGxMb2Fk
WEhSU3luY2hyb25vdXNseSgpCit2b2lkIEluc3BlY3Rvck5ldHdvcmtBZ2VudDo6d2lsbExvYWRY
SFJTeW5jaHJvbm91c2x5KCkKIHsKICAgICBtX2xvYWRpbmdYSFJTeW5jaHJvbm91c2x5ID0gdHJ1
ZTsKIH0KIAotdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRMb2FkWEhSU3luY2hyb25v
dXNseSgpCit2b2lkIEluc3BlY3Rvck5ldHdvcmtBZ2VudDo6ZGlkTG9hZFhIUlN5bmNocm9ub3Vz
bHkoKQogewogICAgIG1fbG9hZGluZ1hIUlN5bmNocm9ub3VzbHkgPSBmYWxzZTsKIH0KIAotdm9p
ZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojp3aWxsRGVzdHJveUNhY2hlZFJlc291cmNlKENhY2hl
ZFJlc291cmNlJiBjYWNoZWRSZXNvdXJjZSkKK3ZvaWQgSW5zcGVjdG9yTmV0d29ya0FnZW50Ojp3
aWxsRGVzdHJveUNhY2hlZFJlc291cmNlKENhY2hlZFJlc291cmNlJiBjYWNoZWRSZXNvdXJjZSkK
IHsKICAgICBWZWN0b3I8U3RyaW5nPiByZXF1ZXN0SWRzID0gbV9yZXNvdXJjZXNEYXRhLT5yZW1v
dmVDYWNoZWRSZXNvdXJjZSgmY2FjaGVkUmVzb3VyY2UpOwogICAgIGlmICghcmVxdWVzdElkcy5z
aXplKCkpCkBAIC00ODcsMjQgKzQ4NiwyNCBAQCB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6
OndpbGxEZXN0cm95Q2FjaGVkUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2UmIGNhY2hlZFJlcwogICAg
ICAgICBtX3Jlc291cmNlc0RhdGEtPnNldFJlc291cmNlQ29udGVudChpZCwgY29udGVudCwgYmFz
ZTY0RW5jb2RlZCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6d2lsbFJlY2Fs
Y3VsYXRlU3R5bGUoKQordm9pZCBJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6OndpbGxSZWNhbGN1bGF0
ZVN0eWxlKCkKIHsKICAgICBtX2lzUmVjYWxjdWxhdGluZ1N0eWxlID0gdHJ1ZTsKIH0KIAotdm9p
ZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRSZWNhbGN1bGF0ZVN0eWxlKCkKK3ZvaWQgSW5z
cGVjdG9yTmV0d29ya0FnZW50OjpkaWRSZWNhbGN1bGF0ZVN0eWxlKCkKIHsKICAgICBtX2lzUmVj
YWxjdWxhdGluZ1N0eWxlID0gZmFsc2U7CiAgICAgbV9zdHlsZVJlY2FsY3VsYXRpb25Jbml0aWF0
b3IgPSBudWxscHRyOwogfQogCi12b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRpZFNjaGVk
dWxlU3R5bGVSZWNhbGN1bGF0aW9uKERvY3VtZW50JiBkb2N1bWVudCkKK3ZvaWQgSW5zcGVjdG9y
TmV0d29ya0FnZW50OjpkaWRTY2hlZHVsZVN0eWxlUmVjYWxjdWxhdGlvbihEb2N1bWVudCYgZG9j
dW1lbnQpCiB7CiAgICAgaWYgKCFtX3N0eWxlUmVjYWxjdWxhdGlvbkluaXRpYXRvcikKICAgICAg
ICAgbV9zdHlsZVJlY2FsY3VsYXRpb25Jbml0aWF0b3IgPSBidWlsZEluaXRpYXRvck9iamVjdCgm
ZG9jdW1lbnQpOwogfQogCi1SZWZQdHI8SW5zcGVjdG9yOjpQcm90b2NvbDo6TmV0d29yazo6SW5p
dGlhdG9yPiBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpidWlsZEluaXRpYXRvck9iamVjdChEb2N1
bWVudCogZG9jdW1lbnQpCitSZWZQdHI8SW5zcGVjdG9yOjpQcm90b2NvbDo6TmV0d29yazo6SW5p
dGlhdG9yPiBJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6OmJ1aWxkSW5pdGlhdG9yT2JqZWN0KERvY3Vt
ZW50KiBkb2N1bWVudCkKIHsKICAgICBSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBzdGFja1RyYWNl
ID0gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKEpTTWFpblRocmVhZEV4ZWNTdGF0ZTo6Y3VycmVudFN0
YXRlKCksIFNjcmlwdENhbGxTdGFjazo6bWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSk7CiAgICAg
aWYgKHN0YWNrVHJhY2UgJiYgc3RhY2tUcmFjZS0+c2l6ZSgpID4gMCkgewpAQCAtNTM0LDEyICs1
MzMsMTIgQEAgUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6Ok5ldHdvcms6OkluaXRpYXRvcj4g
SW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6YnVpbGRJbmkKIAogI2lmIEVOQUJMRShXRUJfU09DS0VU
UykKIAotdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRDcmVhdGVXZWJTb2NrZXQodW5z
aWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBVUkwmIHJlcXVlc3RVUkwpCit2b2lkIEluc3Bl
Y3Rvck5ldHdvcmtBZ2VudDo6ZGlkQ3JlYXRlV2ViU29ja2V0KHVuc2lnbmVkIGxvbmcgaWRlbnRp
ZmllciwgY29uc3QgVVJMJiByZXF1ZXN0VVJMKQogewogICAgIG1fZnJvbnRlbmREaXNwYXRjaGVy
LT53ZWJTb2NrZXRDcmVhdGVkKElkZW50aWZpZXJzRmFjdG9yeTo6cmVxdWVzdElkKGlkZW50aWZp
ZXIpLCByZXF1ZXN0VVJMLnN0cmluZygpKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFn
ZW50Ojp3aWxsU2VuZFdlYlNvY2tldEhhbmRzaGFrZVJlcXVlc3QodW5zaWduZWQgbG9uZyBpZGVu
dGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCit2b2lkIEluc3BlY3Rvck5l
dHdvcmtBZ2VudDo6d2lsbFNlbmRXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0KHVuc2lnbmVkIGxv
bmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogewogICAgIGF1
dG8gcmVxdWVzdE9iamVjdCA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6Ok5ldHdvcms6OldlYlNvY2tl
dFJlcXVlc3Q6OmNyZWF0ZSgpCiAgICAgICAgIC5zZXRIZWFkZXJzKGJ1aWxkT2JqZWN0Rm9ySGVh
ZGVycyhyZXF1ZXN0Lmh0dHBIZWFkZXJGaWVsZHMoKSkpCkBAIC01NDcsNyArNTQ2LDcgQEAgdm9p
ZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojp3aWxsU2VuZFdlYlNvY2tldEhhbmRzaGFrZVJlcXVl
c3QodW5zaWduZWQgbG9uZyBpZGUKICAgICBtX2Zyb250ZW5kRGlzcGF0Y2hlci0+d2ViU29ja2V0
V2lsbFNlbmRIYW5kc2hha2VSZXF1ZXN0KElkZW50aWZpZXJzRmFjdG9yeTo6cmVxdWVzdElkKGlk
ZW50aWZpZXIpLCB0aW1lc3RhbXAoKSwgV1RGOjptb3ZlKHJlcXVlc3RPYmplY3QpKTsKIH0KIAot
dm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRSZWNlaXZlV2ViU29ja2V0SGFuZHNoYWtl
UmVzcG9uc2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNl
JiByZXNwb25zZSkKK3ZvaWQgSW5zcGVjdG9yTmV0d29ya0FnZW50OjpkaWRSZWNlaXZlV2ViU29j
a2V0SGFuZHNoYWtlUmVzcG9uc2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiByZXNwb25zZSkKIHsKICAgICBhdXRvIHJlc3BvbnNlT2JqZWN0ID0gSW5z
cGVjdG9yOjpQcm90b2NvbDo6TmV0d29yazo6V2ViU29ja2V0UmVzcG9uc2U6OmNyZWF0ZSgpCiAg
ICAgICAgIC5zZXRTdGF0dXMocmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSkKQEAgLTU1NywxMiAr
NTU2LDEyIEBAIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkUmVjZWl2ZVdlYlNvY2tl
dEhhbmRzaGFrZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcKICAgICBtX2Zyb250ZW5kRGlzcGF0Y2hl
ci0+d2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2VSZWNlaXZlZChJZGVudGlmaWVyc0ZhY3Rvcnk6
OnJlcXVlc3RJZChpZGVudGlmaWVyKSwgdGltZXN0YW1wKCksIFdURjo6bW92ZShyZXNwb25zZU9i
amVjdCkpOwogfQogCi12b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRpZENsb3NlV2ViU29j
a2V0KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcikKK3ZvaWQgSW5zcGVjdG9yTmV0d29ya0FnZW50
OjpkaWRDbG9zZVdlYlNvY2tldCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpCiB7CiAgICAgbV9m
cm9udGVuZERpc3BhdGNoZXItPndlYlNvY2tldENsb3NlZChJZGVudGlmaWVyc0ZhY3Rvcnk6OnJl
cXVlc3RJZChpZGVudGlmaWVyKSwgdGltZXN0YW1wKCkpOwogfQogCi12b2lkIEluc3BlY3RvclJl
c291cmNlQWdlbnQ6OmRpZFJlY2VpdmVXZWJTb2NrZXRGcmFtZSh1bnNpZ25lZCBsb25nIGlkZW50
aWZpZXIsIGNvbnN0IFdlYlNvY2tldEZyYW1lJiBmcmFtZSkKK3ZvaWQgSW5zcGVjdG9yTmV0d29y
a0FnZW50OjpkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWUodW5zaWduZWQgbG9uZyBpZGVudGlmaWVy
LCBjb25zdCBXZWJTb2NrZXRGcmFtZSYgZnJhbWUpCiB7CiAgICAgYXV0byBmcmFtZU9iamVjdCA9
IEluc3BlY3Rvcjo6UHJvdG9jb2w6Ok5ldHdvcms6OldlYlNvY2tldEZyYW1lOjpjcmVhdGUoKQog
ICAgICAgICAuc2V0T3Bjb2RlKGZyYW1lLm9wQ29kZSkKQEAgLTU3Miw3ICs1NzEsNyBAQCB2b2lk
IEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRpZFJlY2VpdmVXZWJTb2NrZXRGcmFtZSh1bnNpZ25l
ZCBsb25nIGlkZW50aWZpZXIsCiAgICAgbV9mcm9udGVuZERpc3BhdGNoZXItPndlYlNvY2tldEZy
YW1lUmVjZWl2ZWQoSWRlbnRpZmllcnNGYWN0b3J5OjpyZXF1ZXN0SWQoaWRlbnRpZmllciksIHRp
bWVzdGFtcCgpLCBXVEY6Om1vdmUoZnJhbWVPYmplY3QpKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JS
ZXNvdXJjZUFnZW50OjpkaWRTZW5kV2ViU29ja2V0RnJhbWUodW5zaWduZWQgbG9uZyBpZGVudGlm
aWVyLCBjb25zdCBXZWJTb2NrZXRGcmFtZSYgZnJhbWUpCit2b2lkIEluc3BlY3Rvck5ldHdvcmtB
Z2VudDo6ZGlkU2VuZFdlYlNvY2tldEZyYW1lKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29u
c3QgV2ViU29ja2V0RnJhbWUmIGZyYW1lKQogewogICAgIGF1dG8gZnJhbWVPYmplY3QgPSBJbnNw
ZWN0b3I6OlByb3RvY29sOjpOZXR3b3JrOjpXZWJTb2NrZXRGcmFtZTo6Y3JlYXRlKCkKICAgICAg
ICAgLnNldE9wY29kZShmcmFtZS5vcENvZGUpCkBAIC01ODIsMzMgKzU4MSwzMyBAQCB2b2lkIElu
c3BlY3RvclJlc291cmNlQWdlbnQ6OmRpZFNlbmRXZWJTb2NrZXRGcmFtZSh1bnNpZ25lZCBsb25n
IGlkZW50aWZpZXIsIGNvbgogICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyLT53ZWJTb2NrZXRGcmFt
ZVNlbnQoSWRlbnRpZmllcnNGYWN0b3J5OjpyZXF1ZXN0SWQoaWRlbnRpZmllciksIHRpbWVzdGFt
cCgpLCBXVEY6Om1vdmUoZnJhbWVPYmplY3QpKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JSZXNvdXJj
ZUFnZW50OjpkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWVFcnJvcih1bnNpZ25lZCBsb25nIGlkZW50
aWZpZXIsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKQordm9pZCBJbnNwZWN0b3JOZXR3b3Jr
QWdlbnQ6OmRpZFJlY2VpdmVXZWJTb2NrZXRGcmFtZUVycm9yKHVuc2lnbmVkIGxvbmcgaWRlbnRp
ZmllciwgY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpCiB7CiAgICAgbV9mcm9udGVuZERpc3Bh
dGNoZXItPndlYlNvY2tldEZyYW1lRXJyb3IoSWRlbnRpZmllcnNGYWN0b3J5OjpyZXF1ZXN0SWQo
aWRlbnRpZmllciksIHRpbWVzdGFtcCgpLCBlcnJvck1lc3NhZ2UpOwogfQogCiAjZW5kaWYgLy8g
RU5BQkxFKFdFQl9TT0NLRVRTKQogCi12b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmVuYWJs
ZShFcnJvclN0cmluZyYpCit2b2lkIEluc3BlY3Rvck5ldHdvcmtBZ2VudDo6ZW5hYmxlKEVycm9y
U3RyaW5nJikKIHsKICAgICBlbmFibGUoKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFn
ZW50OjplbmFibGUoKQordm9pZCBJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6OmVuYWJsZSgpCiB7CiAg
ICAgbV9lbmFibGVkID0gdHJ1ZTsKLSAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMuc2V0SW5zcGVj
dG9yUmVzb3VyY2VBZ2VudCh0aGlzKTsKKyAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMuc2V0SW5z
cGVjdG9yTmV0d29ya0FnZW50KHRoaXMpOwogfQogCi12b2lkIEluc3BlY3RvclJlc291cmNlQWdl
bnQ6OmRpc2FibGUoRXJyb3JTdHJpbmcmKQordm9pZCBJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6OmRp
c2FibGUoRXJyb3JTdHJpbmcmKQogewogICAgIG1fZW5hYmxlZCA9IGZhbHNlOwotICAgIG1faW5z
dHJ1bWVudGluZ0FnZW50cy5zZXRJbnNwZWN0b3JSZXNvdXJjZUFnZW50KG51bGxwdHIpOworICAg
IG1faW5zdHJ1bWVudGluZ0FnZW50cy5zZXRJbnNwZWN0b3JOZXR3b3JrQWdlbnQobnVsbHB0cik7
CiAgICAgbV9yZXNvdXJjZXNEYXRhLT5jbGVhcigpOwogICAgIG1fZXh0cmFSZXF1ZXN0SGVhZGVy
cy5jbGVhcigpOwogfQogCi12b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OnNldEV4dHJhSFRU
UEhlYWRlcnMoRXJyb3JTdHJpbmcmLCBjb25zdCBJbnNwZWN0b3JPYmplY3QmIGhlYWRlcnMpCit2
b2lkIEluc3BlY3Rvck5ldHdvcmtBZ2VudDo6c2V0RXh0cmFIVFRQSGVhZGVycyhFcnJvclN0cmlu
ZyYsIGNvbnN0IEluc3BlY3Rvck9iamVjdCYgaGVhZGVycykKIHsKICAgICBmb3IgKGF1dG8mIGVu
dHJ5IDogaGVhZGVycykgewogICAgICAgICBTdHJpbmcgc3RyaW5nVmFsdWU7CkBAIC02MTcsNyAr
NjE2LDcgQEAgdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpzZXRFeHRyYUhUVFBIZWFkZXJz
KEVycm9yU3RyaW5nJiwgY29uc3QgSW5zcGVjdG9yT2IKICAgICB9CiB9CiAKLXZvaWQgSW5zcGVj
dG9yUmVzb3VyY2VBZ2VudDo6Z2V0UmVzcG9uc2VCb2R5KEVycm9yU3RyaW5nJiBlcnJvclN0cmlu
ZywgY29uc3QgU3RyaW5nJiByZXF1ZXN0SWQsIFN0cmluZyogY29udGVudCwgYm9vbCogYmFzZTY0
RW5jb2RlZCkKK3ZvaWQgSW5zcGVjdG9yTmV0d29ya0FnZW50OjpnZXRSZXNwb25zZUJvZHkoRXJy
b3JTdHJpbmcmIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCwgU3RyaW5nKiBj
b250ZW50LCBib29sKiBiYXNlNjRFbmNvZGVkKQogewogICAgIE5ldHdvcmtSZXNvdXJjZXNEYXRh
OjpSZXNvdXJjZURhdGEgY29uc3QqIHJlc291cmNlRGF0YSA9IG1fcmVzb3VyY2VzRGF0YS0+ZGF0
YShyZXF1ZXN0SWQpOwogICAgIGlmICghcmVzb3VyY2VEYXRhKSB7CkBAIC02NTAsMTQgKzY0OSwx
NCBAQCB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmdldFJlc3BvbnNlQm9keShFcnJvclN0
cmluZyYgZXJyb3JTdHJpbmcsIGNvbnN0IFN0cgogICAgIGVycm9yU3RyaW5nID0gQVNDSUlMaXRl
cmFsKCJObyBkYXRhIGZvdW5kIGZvciByZXNvdXJjZSB3aXRoIGdpdmVuIGlkZW50aWZpZXIiKTsK
IH0KIAotdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpzZXRDYWNoZURpc2FibGVkKEVycm9y
U3RyaW5nJiwgYm9vbCBjYWNoZURpc2FibGVkKQordm9pZCBJbnNwZWN0b3JOZXR3b3JrQWdlbnQ6
OnNldENhY2hlRGlzYWJsZWQoRXJyb3JTdHJpbmcmLCBib29sIGNhY2hlRGlzYWJsZWQpCiB7CiAg
ICAgbV9jYWNoZURpc2FibGVkID0gY2FjaGVEaXNhYmxlZDsKICAgICBpZiAoY2FjaGVEaXNhYmxl
ZCkKICAgICAgICAgTWVtb3J5Q2FjaGU6OnNpbmdsZXRvbigpLmV2aWN0UmVzb3VyY2VzKCk7CiB9
CiAKLXZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6bG9hZFJlc291cmNlKEVycm9yU3RyaW5n
JiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nJiBmcmFtZUlkLCBjb25zdCBTdHJpbmcmIHVybFN0
cmluZywgUmVmPExvYWRSZXNvdXJjZUNhbGxiYWNrPiYmIGNhbGxiYWNrKQordm9pZCBJbnNwZWN0
b3JOZXR3b3JrQWdlbnQ6OmxvYWRSZXNvdXJjZShFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIGNv
bnN0IFN0cmluZyYgZnJhbWVJZCwgY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcsIFJlZjxMb2FkUmVz
b3VyY2VDYWxsYmFjaz4mJiBjYWxsYmFjaykKIHsKICAgICBGcmFtZSogZnJhbWUgPSBtX3BhZ2VB
Z2VudC0+YXNzZXJ0RnJhbWUoZXJyb3JTdHJpbmcsIGZyYW1lSWQpOwogICAgIGlmICghZnJhbWUp
CkBAIC02OTYsNyArNjk1LDcgQEAgdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojpsb2FkUmVz
b3VyY2UoRXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcKICAgICBpbnNwZWN0
b3JUaHJlYWRhYmxlTG9hZGVyQ2xpZW50LT5zZXRMb2FkZXIobG9hZGVyLnJlbGVhc2UoKSk7CiB9
CiAKLXZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6bWFpbkZyYW1lTmF2aWdhdGVkKERvY3Vt
ZW50TG9hZGVyJiBsb2FkZXIpCit2b2lkIEluc3BlY3Rvck5ldHdvcmtBZ2VudDo6bWFpbkZyYW1l
TmF2aWdhdGVkKERvY3VtZW50TG9hZGVyJiBsb2FkZXIpCiB7CiAgICAgaWYgKG1fY2FjaGVEaXNh
YmxlZCkKICAgICAgICAgTWVtb3J5Q2FjaGU6OnNpbmdsZXRvbigpLmV2aWN0UmVzb3VyY2VzKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VB
Z2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck5ldHdvcmtBZ2VudC5o
CnNpbWlsYXJpdHkgaW5kZXggODklCnJlbmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmgKcmVuYW1lIHRvIFNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JOZXR3b3JrQWdlbnQuaAppbmRleCA4NmVlZTcyLi45NmFjNjZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JOZXR3b3JrQWdlbnQuaApA
QCAtMjksMTkgKzI5LDE2IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgSW5zcGVj
dG9yUmVzb3VyY2VBZ2VudF9oCi0jZGVmaW5lIEluc3BlY3RvclJlc291cmNlQWdlbnRfaAorI2lm
bmRlZiBJbnNwZWN0b3JOZXR3b3JrQWdlbnRfaAorI2RlZmluZSBJbnNwZWN0b3JOZXR3b3JrQWdl
bnRfaAogCiAjaW5jbHVkZSAiSW5zcGVjdG9yV2ViQWdlbnRCYXNlLmgiCiAjaW5jbHVkZSA8aW5z
cGVjdG9yL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oPgogI2luY2x1ZGUgPGluc3BlY3Rv
ci9JbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQu
aD4KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIEluc3BlY3RvciB7
Ci1jbGFzcyBJbnNwZWN0b3JBcnJheTsKIGNsYXNzIEluc3BlY3Rvck9iamVjdDsKIH0KIApAQCAt
NTAsMjAgKzQ3LDE0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIENhY2hlZFJlc291cmNl
OwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBEb2N1bWVudExvYWRlcjsKLWNsYXNzIEZvcm1EYXRh
OwotY2xhc3MgRnJhbWU7Ci1jbGFzcyBIVFRQSGVhZGVyTWFwOwogY2xhc3MgSW5zcGVjdG9yUGFn
ZUFnZW50OwogY2xhc3MgTmV0d29ya1Jlc291cmNlc0RhdGE7Ci1jbGFzcyBQYWdlOwogY2xhc3Mg
UmVzb3VyY2VFcnJvcjsKIGNsYXNzIFJlc291cmNlTG9hZGVyOwogY2xhc3MgUmVzb3VyY2VSZXF1
ZXN0OwogY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKLWNsYXNzIFNoYXJlZEJ1ZmZlcjsKIGNsYXNz
IFRocmVhZGFibGVMb2FkZXJDbGllbnQ7CiBjbGFzcyBVUkw7Ci1jbGFzcyBYTUxIdHRwUmVxdWVz
dDsKIAogI2lmIEVOQUJMRShXRUJfU09DS0VUUykKIHN0cnVjdCBXZWJTb2NrZXRGcmFtZTsKQEAg
LTcxLDExICs2MiwxMSBAQCBzdHJ1Y3QgV2ViU29ja2V0RnJhbWU7CiAKIHR5cGVkZWYgU3RyaW5n
IEVycm9yU3RyaW5nOwogCi1jbGFzcyBJbnNwZWN0b3JSZXNvdXJjZUFnZW50IGZpbmFsIDogcHVi
bGljIEluc3BlY3RvckFnZW50QmFzZSwgcHVibGljIEluc3BlY3Rvcjo6TmV0d29ya0JhY2tlbmRE
aXNwYXRjaGVySGFuZGxlciB7CitjbGFzcyBJbnNwZWN0b3JOZXR3b3JrQWdlbnQgZmluYWwgOiBw
dWJsaWMgSW5zcGVjdG9yQWdlbnRCYXNlLCBwdWJsaWMgSW5zcGVjdG9yOjpOZXR3b3JrQmFja2Vu
ZERpc3BhdGNoZXJIYW5kbGVyIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKLSAgICBJbnNwZWN0b3JSZXNvdXJjZUFnZW50KFdlYkFnZW50Q29udGV4dCYsIEluc3BlY3Rv
clBhZ2VBZ2VudCopOwotICAgIHZpcnR1YWwgfkluc3BlY3RvclJlc291cmNlQWdlbnQoKTsKKyAg
ICBJbnNwZWN0b3JOZXR3b3JrQWdlbnQoV2ViQWdlbnRDb250ZXh0JiwgSW5zcGVjdG9yUGFnZUFn
ZW50Kik7CisgICAgdmlydHVhbCB+SW5zcGVjdG9yTmV0d29ya0FnZW50KCk7CiAKICAgICB2aXJ0
dWFsIHZvaWQgZGlkQ3JlYXRlRnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RnJvbnRlbmRS
b3V0ZXIqLCBJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyKikgb3ZlcnJpZGU7CiAgICAgdmly
dHVhbCB2b2lkIHdpbGxEZXN0cm95RnJvbnRlbmRBbmRCYWNrZW5kKEluc3BlY3Rvcjo6RGlzY29u
bmVjdFJlYXNvbikgb3ZlcnJpZGU7CkBAIC04NSw3ICs3Niw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IGRpZFJlY2FsY3VsYXRlU3R5bGUoKTsKICAgICB2b2lkIHdpbGxTZW5kUmVxdWVzdCh1bnNpZ25l
ZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyJiwgUmVzb3VyY2VSZXF1ZXN0JiwgY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSk7CiAgICAgdm9pZCBtYXJrUmVz
b3VyY2VBc0NhY2hlZCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpOwotICAgIHZvaWQgZGlkUmVj
ZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2FkZXImIGxv
YWRlciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIFJlc291cmNlTG9hZGVyKik7CisgICAgdm9p
ZCBkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExv
YWRlciYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBSZXNvdXJjZUxvYWRlciopOwogICAgIHZv
aWQgZGlkUmVjZWl2ZURhdGEodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBjaGFyKiBk
YXRhLCBpbnQgZGF0YUxlbmd0aCwgaW50IGVuY29kZWREYXRhTGVuZ3RoKTsKICAgICB2b2lkIGRp
ZEZpbmlzaExvYWRpbmcodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciYs
IGRvdWJsZSBmaW5pc2hUaW1lKTsKICAgICB2b2lkIGRpZEZhaWxMb2FkaW5nKHVuc2lnbmVkIGxv
bmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2FkZXImLCBjb25zdCBSZXNvdXJjZUVycm9yJik7CkBA
IC0xMDUsMTAgKzk2LDggQEAgcHVibGljOgogICAgIHZvaWQgZGlkU2VuZFdlYlNvY2tldEZyYW1l
KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgV2ViU29ja2V0RnJhbWUmKTsKICAgICB2
b2lkIGRpZFJlY2VpdmVXZWJTb2NrZXRGcmFtZUVycm9yKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmll
ciwgY29uc3QgU3RyaW5nJik7CiAjZW5kaWYKLQogICAgIHZvaWQgbWFpbkZyYW1lTmF2aWdhdGVk
KERvY3VtZW50TG9hZGVyJik7CiAgICAgdm9pZCBzZXRJbml0aWFsU2NyaXB0Q29udGVudCh1bnNp
Z25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgc291cmNlU3RyaW5nKTsKLQogICAg
IHZvaWQgZGlkU2NoZWR1bGVTdHlsZVJlY2FsY3VsYXRpb24oRG9jdW1lbnQmKTsKIAogICAgIFJl
ZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpOZXR3b3JrOjpJbml0aWF0b3I+IGJ1aWxkSW5pdGlh
dG9yT2JqZWN0KERvY3VtZW50Kik7CkBAIC0xMzAsMTcgKzExOSwxOCBAQCBwcml2YXRlOgogICAg
IFJlZlB0cjxJbnNwZWN0b3I6Ok5ldHdvcmtCYWNrZW5kRGlzcGF0Y2hlcj4gbV9iYWNrZW5kRGlz
cGF0Y2hlcjsKICAgICBJbnNwZWN0b3JQYWdlQWdlbnQqIG1fcGFnZUFnZW50IHsgbnVsbHB0ciB9
OwogCisgICAgLy8gRklYTUU6IEluc3BlY3Rvck5ldHdvcmtBZ2VudCBzaG91bGQgbm90IGJlIGF3
YXJlIG9mIHN0eWxlIHJlY2FsY3VsYXRpb24uCisgICAgUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9j
b2w6Ok5ldHdvcms6OkluaXRpYXRvcj4gbV9zdHlsZVJlY2FsY3VsYXRpb25Jbml0aWF0b3I7Cisg
ICAgYm9vbCBtX2lzUmVjYWxjdWxhdGluZ1N0eWxlIHsgZmFsc2UgfTsKKwogICAgIHN0ZDo6dW5p
cXVlX3B0cjxOZXR3b3JrUmVzb3VyY2VzRGF0YT4gbV9yZXNvdXJjZXNEYXRhOwogICAgIGJvb2wg
bV9lbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fY2FjaGVEaXNhYmxlZCB7IGZhbHNlIH07
CiAgICAgYm9vbCBtX2xvYWRpbmdYSFJTeW5jaHJvbm91c2x5IHsgZmFsc2UgfTsKICAgICBIYXNo
TWFwPFN0cmluZywgU3RyaW5nPiBtX2V4dHJhUmVxdWVzdEhlYWRlcnM7CiAgICAgSGFzaFNldDx1
bnNpZ25lZCBsb25nPiBtX2hpZGRlblJlcXVlc3RJZGVudGlmaWVyczsKLSAgICAvLyBGSVhNRTog
SW5zcGVjdG9yUmVzb3VyY2VBZ2VudCBzaG91bGQgbm93IGJlIGF3YXJlIG9mIHN0eWxlIHJlY2Fs
Y3VsYXRpb24uCi0gICAgUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6Ok5ldHdvcms6OkluaXRp
YXRvcj4gbV9zdHlsZVJlY2FsY3VsYXRpb25Jbml0aWF0b3I7Ci0gICAgYm9vbCBtX2lzUmVjYWxj
dWxhdGluZ1N0eWxlIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAot
I2VuZGlmIC8vICFkZWZpbmVkKEluc3BlY3RvclJlc291cmNlQWdlbnRfaCkKKyNlbmRpZiAvLyAh
ZGVmaW5lZChJbnNwZWN0b3JOZXR3b3JrQWdlbnRfaCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaAppbmRleCAyODM4MmIwLi40MjM1YjExIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oCkBAIC0zOCw4ICsz
OCw2IEBACiAjaW5jbHVkZSA8aW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5o
PgogI2luY2x1ZGUgPGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmg+CiAj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAog
bmFtZXNwYWNlIEluc3BlY3RvciB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
dHJ1bWVudGluZ0FnZW50cy5jcHAKaW5kZXggMzMyY2U3YS4uMTRkYWI3MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmNwcApAQCAtNTUsNyAr
NTUsNyBAQCB2b2lkIEluc3RydW1lbnRpbmdBZ2VudHM6OnJlc2V0KCkKICAgICBtX2luc3BlY3Rv
ckxheWVyVHJlZUFnZW50ID0gbnVsbHB0cjsKICAgICBtX3dlYkNvbnNvbGVBZ2VudCA9IG51bGxw
dHI7CiAgICAgbV9pbnNwZWN0b3JET01BZ2VudCA9IG51bGxwdHI7Ci0gICAgbV9pbnNwZWN0b3JS
ZXNvdXJjZUFnZW50ID0gbnVsbHB0cjsKKyAgICBtX2luc3BlY3Rvck5ldHdvcmtBZ2VudCA9IG51
bGxwdHI7CiAgICAgbV9wYWdlUnVudGltZUFnZW50ID0gbnVsbHB0cjsKICAgICBtX3dvcmtlclJ1
bnRpbWVBZ2VudCA9IG51bGxwdHI7CiAgICAgbV9pbnNwZWN0b3JUaW1lbGluZUFnZW50ID0gbnVs
bHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5n
QWdlbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5o
CmluZGV4IDI1YjVkY2UuLjQwZDRmMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3RydW1lbnRpbmdBZ2VudHMuaApAQCAtNTEsOCArNTEsOCBAQCBjbGFzcyBJbnNwZWN0b3JE
T01EZWJ1Z2dlckFnZW50OwogY2xhc3MgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OwogY2xhc3Mg
SW5zcGVjdG9yRGF0YWJhc2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvckxheWVyVHJlZUFnZW50Owor
Y2xhc3MgSW5zcGVjdG9yTmV0d29ya0FnZW50OwogY2xhc3MgSW5zcGVjdG9yUGFnZUFnZW50Owot
Y2xhc3MgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDsKIGNsYXNzIEluc3BlY3RvclJlcGxheUFnZW50
OwogY2xhc3MgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDsKIGNsYXNzIEluc3BlY3RvcldvcmtlckFn
ZW50OwpAQCAtOTMsOCArOTMsOCBAQCBwdWJsaWM6CiAgICAgSW5zcGVjdG9yRE9NQWdlbnQqIGlu
c3BlY3RvckRPTUFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JET01BZ2VudDsgfQog
ICAgIHZvaWQgc2V0SW5zcGVjdG9yRE9NQWdlbnQoSW5zcGVjdG9yRE9NQWdlbnQqIGFnZW50KSB7
IG1faW5zcGVjdG9yRE9NQWdlbnQgPSBhZ2VudDsgfQogCi0gICAgSW5zcGVjdG9yUmVzb3VyY2VB
Z2VudCogaW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9y
UmVzb3VyY2VBZ2VudDsgfQotICAgIHZvaWQgc2V0SW5zcGVjdG9yUmVzb3VyY2VBZ2VudChJbnNw
ZWN0b3JSZXNvdXJjZUFnZW50KiBhZ2VudCkgeyBtX2luc3BlY3RvclJlc291cmNlQWdlbnQgPSBh
Z2VudDsgfQorICAgIEluc3BlY3Rvck5ldHdvcmtBZ2VudCogaW5zcGVjdG9yTmV0d29ya0FnZW50
KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JOZXR3b3JrQWdlbnQ7IH0KKyAgICB2b2lkIHNl
dEluc3BlY3Rvck5ldHdvcmtBZ2VudChJbnNwZWN0b3JOZXR3b3JrQWdlbnQqIGFnZW50KSB7IG1f
aW5zcGVjdG9yTmV0d29ya0FnZW50ID0gYWdlbnQ7IH0KIAogICAgIFBhZ2VSdW50aW1lQWdlbnQq
IHBhZ2VSdW50aW1lQWdlbnQoKSBjb25zdCB7IHJldHVybiBtX3BhZ2VSdW50aW1lQWdlbnQ7IH0K
ICAgICB2b2lkIHNldFBhZ2VSdW50aW1lQWdlbnQoUGFnZVJ1bnRpbWVBZ2VudCogYWdlbnQpIHsg
bV9wYWdlUnVudGltZUFnZW50ID0gYWdlbnQ7IH0KQEAgLTE0OCw3ICsxNDgsNyBAQCBwcml2YXRl
OgogICAgIEluc3BlY3RvckxheWVyVHJlZUFnZW50KiBtX2luc3BlY3RvckxheWVyVHJlZUFnZW50
IHsgbnVsbHB0ciB9OwogICAgIFdlYkNvbnNvbGVBZ2VudCogbV93ZWJDb25zb2xlQWdlbnQgeyBu
dWxscHRyIH07CiAgICAgSW5zcGVjdG9yRE9NQWdlbnQqIG1faW5zcGVjdG9yRE9NQWdlbnQgeyBu
dWxscHRyIH07Ci0gICAgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudCogbV9pbnNwZWN0b3JSZXNvdXJj
ZUFnZW50IHsgbnVsbHB0ciB9OworICAgIEluc3BlY3Rvck5ldHdvcmtBZ2VudCogbV9pbnNwZWN0
b3JOZXR3b3JrQWdlbnQgeyBudWxscHRyIH07CiAgICAgUGFnZVJ1bnRpbWVBZ2VudCogbV9wYWdl
UnVudGltZUFnZW50IHsgbnVsbHB0ciB9OwogICAgIFdvcmtlclJ1bnRpbWVBZ2VudCogbV93b3Jr
ZXJSdW50aW1lQWdlbnQgeyBudWxscHRyIH07CiAgICAgSW5zcGVjdG9yVGltZWxpbmVBZ2VudCog
bV9pbnNwZWN0b3JUaW1lbGluZUFnZW50IHsgbnVsbHB0ciB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL05ldHdvcmtSZXNvdXJjZXNEYXRhLmggYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEuaAppbmRleCA3Zjg1ZGQwLi5hNjNiODZi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0Rh
dGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvTmV0d29ya1Jlc291cmNlc0RhdGEu
aApAQCAtMjksMjMgKzI5LDE3IEBACiAjaWZuZGVmIE5ldHdvcmtSZXNvdXJjZXNEYXRhX2gKICNk
ZWZpbmUgTmV0d29ya1Jlc291cmNlc0RhdGFfaAogCi0jaW5jbHVkZSAiSFRUUEhlYWRlck1hcC5o
IgogI2luY2x1ZGUgIkluc3BlY3RvclBhZ2VBZ2VudC5oIgotI2luY2x1ZGUgIlVSTC5oIgogI2lu
Y2x1ZGUgIlRleHRSZXNvdXJjZURlY29kZXIuaCIKICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KICNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0jaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0
cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENhY2hlZFJlc291cmNlOwot
Y2xhc3MgRm9ybURhdGE7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwogY2xhc3MgU2hhcmVkQnVm
ZmVyOwotY2xhc3MgVGV4dFJlc291cmNlRGVjb2RlcjsKIAogY2xhc3MgTmV0d29ya1Jlc291cmNl
c0RhdGEgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>