<?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>225471</bug_id>
          
          <creation_ts>2021-05-06 11:25:30 -0700</creation_ts>
          <short_desc>Remove WKBundlePageGroupRef</short_desc>
          <delta_ts>2021-05-10 09:54:15 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>annulen</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1757524</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-05-06 11:25:30 -0700</bug_when>
    <thetext>Remove WKBundlePageGroupRef</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757526</commentid>
    <comment_count>1</comment_count>
      <attachid>427909</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-05-06 11:29:12 -0700</bug_when>
    <thetext>Created attachment 427909
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757607</commentid>
    <comment_count>2</comment_count>
      <attachid>427930</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-05-06 13:34:07 -0700</bug_when>
    <thetext>Created attachment 427930
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757621</commentid>
    <comment_count>3</comment_count>
      <attachid>427930</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-05-06 13:48:56 -0700</bug_when>
    <thetext>Comment on attachment 427930
Patch

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

&gt; Source/WebKit/ChangeLog:8
&gt; +        Its last use was removed in rdar://69223316

Just kidding.  This was removed in rdar://60987265</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758524</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-05-10 09:53:29 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/277264/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758525</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-10 09:54:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/77754759&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427909</attachid>
            <date>2021-05-06 11:29:12 -0700</date>
            <delta_ts>2021-05-06 13:34:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225471-20210506112911.patch</filename>
            <type>text/plain</type>
            <size>52265</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MDk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDkyZDZlZDJhNjJmNGVlZWY3
NWI3MWQzY2ZlMzA1NjVlMjdjMzg2ODQuLjhiMDc5MjNkYmUwZTMwNzIyNTVhMzRhNTZhYjMzZjFm
YmE3YTRjNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTEgQEAKKzIwMjEtMDUtMDYgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgV0tC
dW5kbGVQYWdlR3JvdXBSZWYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyNTQ3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEl0cyBsYXN0IHVzZSB3YXMgcmVtb3ZlZCBpbiByZGFyOi8vNjkyMjMzMTYKKwor
ICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0FQSUlu
amVjdGVkQnVuZGxlQnVuZGxlQ2xpZW50Lmg6CisgICAgICAgIChBUEk6OkluamVjdGVkQnVuZGxl
OjpDbGllbnQ6OndpbGxEZXN0cm95UGFnZSk6CisgICAgICAgIChBUEk6OkluamVjdGVkQnVuZGxl
OjpDbGllbnQ6OmRpZEluaXRpYWxpemVQYWdlR3JvdXApOiBEZWxldGVkLgorICAgICAgICAqIFdl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblBhZ2VH
cm91cC5tbToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlLmNwcDoKKyAgICAgICAgKFdLQnVuZGxlU2V0QXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0Vu
YWJsZWRGb3JUZXN0aW5nKToKKyAgICAgICAgKFdLQnVuZGxlR2V0TGl2ZURvY3VtZW50VVJMc0Zv
clRlc3RpbmcpOgorICAgICAgICAoV0tCdW5kbGVTZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uRm9y
VGVzdGluZyk6CisgICAgICAgIChXS0J1bmRsZUFkZFVzZXJTY3JpcHQpOiBEZWxldGVkLgorICAg
ICAgICAoV0tCdW5kbGVBZGRVc2VyU3R5bGVTaGVldCk6IERlbGV0ZWQuCisgICAgICAgIChXS0J1
bmRsZVJlbW92ZVVzZXJTY3JpcHQpOiBEZWxldGVkLgorICAgICAgICAoV0tCdW5kbGVSZW1vdmVV
c2VyU3R5bGVTaGVldCk6IERlbGV0ZWQuCisgICAgICAgIChXS0J1bmRsZVJlbW92ZVVzZXJTY3Jp
cHRzKTogRGVsZXRlZC4KKyAgICAgICAgKFdLQnVuZGxlUmVtb3ZlVXNlclN0eWxlU2hlZXRzKTog
RGVsZXRlZC4KKyAgICAgICAgKFdLQnVuZGxlUmVtb3ZlQWxsVXNlckNvbnRlbnQpOiBEZWxldGVk
LgorICAgICAgICAoV0tCdW5kbGVTZXRBc3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5hYmxlZCk6
IERlbGV0ZWQuCisgICAgICAgIChXS0J1bmRsZUdldExpdmVEb2N1bWVudFVSTHMpOiBEZWxldGVk
LgorICAgICAgICAoV0tCdW5kbGVTZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uKTogRGVsZXRlZC4K
KyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlQVBJQ2Fz
dC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQ
YWdlLmNwcDoKKyAgICAgICAgKFdLQnVuZGxlUGFnZUdldFBhZ2VHcm91cCk6IERlbGV0ZWQuCisg
ICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZUdy
b3VwLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9jL1dLQnVuZGxlUGFnZUdyb3VwLmg6IFJlbW92ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
SW5qZWN0ZWRCdW5kbGU6OnNldEFzeW5jaHJvbm91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKToKKyAg
ICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6OnNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb24p
OgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6bGl2ZURvY3VtZW50VVJMcyk6Cisg
ICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVuZGxlOjpkaWRJbml0aWFsaXplUGFnZUdyb3VwKTog
RGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVuZGxlQ2xpZW50OjpkaWRJ
bml0aWFsaXplUGFnZUdyb3VwKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlQ2xpZW50Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2VHcm91cFByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZUdy
b3VwUHJveHk6OmNyZWF0ZSk6CisKIDIwMjEtMDUtMDYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9o
c2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gVUkgcHJvY2VzcyBoYW5ncyB3aGVuIHNo
b3dpbmcgYSBtb2RhbCBKYXZhU2NyaXB0IGRpYWxvZyB3aGlsZSBmb2N1c2luZyBhbiBpbnB1dCBm
aWVsZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJL
aXQvU291cmNlcy50eHQKaW5kZXggZDZhZGJlZTMyNGI3ZGFlZTgyN2I0ZTI5ZjY4NWE0ZjdlMjE5
NzM1NC4uNTg1MzY2ZDliNjdiNzEwZmE5MmYxY2E4YTIxZmIyNTQ2ZjYwNzY2OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMu
dHh0CkBAIC01NjIsNyArNTYyLDYgQEAgV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9X
S0J1bmRsZUluc3BlY3Rvci5jcHAKIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVOYXZpZ2F0aW9uQWN0aW9uLmNwcAogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZU5vZGVIYW5kbGUuY3BwCiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9j
L1dLQnVuZGxlUGFnZS5jcHAKLVdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5k
bGVQYWdlR3JvdXAuY3BwCiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
UGFnZU92ZXJsYXkuY3BwCiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
UmFuZ2VIYW5kbGUuY3BwCiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
U2NyaXB0V29ybGQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCBjY2YzZGVmYTA2YWNhNjc2YTE1MzRmNDIyOTQ4ODIzZGI2NjE3NmRi
Li5iODA1NDE2NGIyYjY2M2Q1OTg0YjY4MmE1MmI4NTk3NzIxMzIwYWFjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE3NTcsNyArMTc1
Nyw2IEBACiAJCUJDN0I2MjE1MTJBNDIxOUEwMEQxNzRBNCAvKiBXZWJQYWdlR3JvdXBQcm94eS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM3QjYyMTMx
MkE0MjE5QTAwRDE3NEE0IC8qIFdlYlBhZ2VHcm91cFByb3h5LmggKi87IH07CiAJCUJDN0I2MjUy
MTJBNDNDOTYwMEQxNzRBNCAvKiBXZWJQYWdlR3JvdXBEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzdCNjI1MDEyQTQzQzk2MDBEMTc0QTQgLyog
V2ViUGFnZUdyb3VwRGF0YS5oICovOyB9OwogCQlCQzdCNjMzNzEyQTQ1QUJBMDBEMTc0QTQgLyog
V0tQYWdlR3JvdXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEJDN0I2MzM1MTJBNDVBQkEwMEQxNzRBNCAvKiBXS1BhZ2VHcm91cC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUJDN0I2MzNEMTJBNDVEMTIw
MEQxNzRBNCAvKiBXS0J1bmRsZVBhZ2VHcm91cC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkM3QjYzM0IxMkE0NUQxMjAwRDE3NEE0IC8qIFdLQnVuZGxl
UGFnZUdyb3VwLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJQkM4MTQ3QTkxMkY2NENEQTAwN0IyQzMyIC8qIEluamVjdGVkQnVuZGxlUGFnZVBvbGlj
eUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkM4MTQ3QTcxMkY2NENEQTAwN0IyQzMyIC8qIEluamVjdGVkQnVuZGxlUGFnZVBvbGljeUNsaWVu
dC5oICovOyB9OwogCQlCQzgxNDdENTEyRjY2RDMxMDA3QjJDMzIgLyogSW5qZWN0ZWRCdW5kbGVO
YXZpZ2F0aW9uQWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQzgxNDdEMzEyRjY2RDMxMDA3QjJDMzIgLyogSW5qZWN0ZWRCdW5kbGVOYXZpZ2F0
aW9uQWN0aW9uLmggKi87IH07CiAJCUJDODI4M0RBMTZCNERCOTMwMEEyNzhGRSAvKiBXZWJLaXQu
ZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOERDMkVGNUIwNDg2QTY5NDAwOThCMjE2IC8qIFdlYktpdC5mcmFtZXdvcmsgKi87IH07CkBA
IC01Mzc5LDggKzUzNzgsNiBAQAogCQlCQzdCNjI1MTEyQTQzQzk2MDBEMTc0QTQgLyogV2ViUGFn
ZUdyb3VwRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJQ
YWdlR3JvdXBEYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM3QjYzMzUx
MkE0NUFCQTAwRDE3NEE0IC8qIFdLUGFnZUdyb3VwLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdLUGFnZUdyb3VwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJD
N0I2MzM2MTJBNDVBQkEwMEQxNzRBNCAvKiBXS1BhZ2VHcm91cC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS1BhZ2VHcm91cC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCUJDN0I2MzNCMTJBNDVEMTIwMEQxNzRBNCAvKiBXS0J1bmRsZVBhZ2VHcm91
cC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0J1bmRsZVBhZ2VHcm91cC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQzdCNjMzQzEyQTQ1RDEyMDBEMTc0QTQg
LyogV0tCdW5kbGVQYWdlR3JvdXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gV0tCdW5kbGVQYWdlR3JvdXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlCQzgxNDdBNzEyRjY0Q0RBMDA3QjJDMzIgLyogSW5qZWN0ZWRCdW5kbGVQYWdlUG9saWN5Q2xp
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluamVjdGVkQnVuZGxlUGFn
ZVBvbGljeUNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB3cmFwc0xpbmVzID0gMDsg
fTsKIAkJQkM4MTQ3QTgxMkY2NENEQTAwN0IyQzMyIC8qIEluamVjdGVkQnVuZGxlUGFnZVBvbGlj
eUNsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbmplY3Rl
ZEJ1bmRsZVBhZ2VQb2xpY3lDbGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB3cmFw
c0xpbmVzID0gMDsgfTsKIAkJQkM4MTQ3RDMxMkY2NkQzMTAwN0IyQzMyIC8qIEluamVjdGVkQnVu
ZGxlTmF2aWdhdGlvbkFjdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJ
bmplY3RlZEJ1bmRsZU5hdmlnYXRpb25BY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTEwNTQ1LDggKzEwNTQyLDYgQEAKIAkJCQkxQUI0NzRERjE4NEQ0NDZBMDA1MUI2MjIg
LyogV0tCdW5kbGVQYWdlRWRpdG9yQ2xpZW50LmggKi8sCiAJCQkJMUFCNDc0RTExODRENDQ4MDAw
NTFCNjIyIC8qIFdLQnVuZGxlUGFnZUZvcm1DbGllbnQuaCAqLywKIAkJCQkxQUI0NzRFNTE4NEQ0
NEI0MDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5oICovLAotCQkJCUJD
N0I2MzNDMTJBNDVEMTIwMEQxNzRBNCAvKiBXS0J1bmRsZVBhZ2VHcm91cC5jcHAgKi8sCi0JCQkJ
QkM3QjYzM0IxMkE0NUQxMjAwRDE3NEE0IC8qIFdLQnVuZGxlUGFnZUdyb3VwLmggKi8sCiAJCQkJ
MUFCNDc0RDcxODRENDNGRDAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZUxvYWRlckNsaWVudC5oICov
LAogCQkJCTFBMjJGMTAwMTI4OUZDRDkwMDg1RTc0RiAvKiBXS0J1bmRsZVBhZ2VPdmVybGF5LmNw
cCAqLywKIAkJCQkxQTIyRjBGRjEyODlGQ0Q5MDA4NUU3NEYgLyogV0tCdW5kbGVQYWdlT3Zlcmxh
eS5oICovLApAQCAtMTI2NDcsNyArMTI2NDIsNiBAQAogCQkJCTFBQjQ3NEUwMTg0RDQ0NkEwMDUx
QjYyMiAvKiBXS0J1bmRsZVBhZ2VFZGl0b3JDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFB
QjQ3NEUyMTg0RDQ0ODAwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VGb3JtQ2xpZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxQUI0NzRFNjE4NEQ0NEI0MDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlRnVs
bFNjcmVlbkNsaWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkM3QjYzM0QxMkE0NUQxMjAwRDE3
NEE0IC8qIFdLQnVuZGxlUGFnZUdyb3VwLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUI0NzREODE4
NEQ0M0ZEMDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQlDNkE0Q0EwQjIyNTI4OTk4MDAxNjkyODkgLyogV0tCdW5kbGVQYWdlTWFjLmggaW4g
SGVhZGVycyAqLywKIAkJCQlFRDgyQTdGMjEyOEM2RkFGMDA0NDc3QjMgLyogV0tCdW5kbGVQYWdl
T3ZlcmxheS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0FQSUluamVjdGVkQnVuZGxlQnVuZGxlQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0FQSUluamVjdGVk
QnVuZGxlQnVuZGxlQ2xpZW50LmgKaW5kZXggOTJmOWFiYWM4NDk3ZTYwMzdiY2E4OGJkNTE5ZTlj
ODQwMGQ5YThiYS4uMGQyN2IzNzM1ODdhMzNlMjk5MTkwMTA3YTVjYTMyZTkzNzc0YjVjNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9BUElJ
bmplY3RlZEJ1bmRsZUJ1bmRsZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvQVBJSW5qZWN0ZWRCdW5kbGVCdW5kbGVDbGllbnQuaApAQCAt
NDUsNyArNDUsNiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlUGFnZShX
ZWJLaXQ6OkluamVjdGVkQnVuZGxlJiwgV2ViS2l0OjpXZWJQYWdlJikgeyB9CiAgICAgdmlydHVh
bCB2b2lkIHdpbGxEZXN0cm95UGFnZShXZWJLaXQ6OkluamVjdGVkQnVuZGxlJiwgV2ViS2l0OjpX
ZWJQYWdlJikgeyB9Ci0gICAgdmlydHVhbCB2b2lkIGRpZEluaXRpYWxpemVQYWdlR3JvdXAoV2Vi
S2l0OjpJbmplY3RlZEJ1bmRsZSYsIFdlYktpdDo6V2ViUGFnZUdyb3VwUHJveHkmKSB7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZSYs
IGNvbnN0IFdURjo6U3RyaW5nJiwgQVBJOjpPYmplY3QqKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2UoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZSYsIFdlYktpdDo6
V2ViUGFnZSYsIGNvbnN0IFdURjo6U3RyaW5nJiwgQVBJOjpPYmplY3QqKSB7IH0KIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29h
L1dLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwLm1t
CmluZGV4IDRmODAxYzQzOWY5YzUxMjE0MWQ1OGJmN2JhM2Q3NzcwYjFjZTRjZWIuLjUyNjc5ZGI2
MGQyZDU4OWQ4YThmNDExNWU5NGM4YTAyYjQxNjM4NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0lu
UGFnZUdyb3VwLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvQ29jb2EvV0tXZWJQcm9jZXNzUGx1Z0luUGFnZUdyb3VwLm1tCkBAIC0yNiw3ICsyNiw2
IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIldLV2ViUHJvY2Vzc1BsdWdJblBhZ2VH
cm91cEludGVybmFsLmgiCiAKLSNpbXBvcnQgIldLQnVuZGxlUGFnZUdyb3VwLmgiCiAjaW1wb3J0
ICJXS0FQSUNhc3QuaCIKICNpbXBvcnQgIldLTlNTdHJpbmcuaCIKICNpbXBvcnQgIldLUmV0YWlu
UHRyLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2MvV0tCdW5kbGUuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jL1dLQnVuZGxlLmNwcAppbmRleCAwYzUwMzg2ZmNmOTllNjNhYzU2ZTM5ZmI3
ZDUxOGYwMDdjZmEzNmU1Li5iNDM1NmE0MmNkMmJlZGJiZWQ5NDk0MTYwNzA1NTFhYWE3M2E0OWJm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHAKQEAgLTk2LDM0ICs5Niw2IEBAIHNpemVfdCBXS0J1bmRs
ZUdldEphdmFTY3JpcHRPYmplY3RzQ291bnQoV0tCdW5kbGVSZWYgYnVuZGxlUmVmKQogICAgIHJl
dHVybiBXZWJLaXQ6OnRvSW1wbChidW5kbGVSZWYpLT5qYXZhU2NyaXB0T2JqZWN0c0NvdW50KCk7
CiB9CiAKLXZvaWQgV0tCdW5kbGVBZGRVc2VyU2NyaXB0KFdLQnVuZGxlUmVmLCBXS0J1bmRsZVBh
Z2VHcm91cFJlZiwgV0tCdW5kbGVTY3JpcHRXb3JsZFJlZiwgV0tTdHJpbmdSZWYsIFdLVVJMUmVm
LCBXS0FycmF5UmVmLCBXS0FycmF5UmVmLCBfV0tVc2VyU2NyaXB0SW5qZWN0aW9uVGltZSwgV0tV
c2VyQ29udGVudEluamVjdGVkRnJhbWVzKQotewotfQotCi12b2lkIFdLQnVuZGxlQWRkVXNlclN0
eWxlU2hlZXQoV0tCdW5kbGVSZWYsIFdLQnVuZGxlUGFnZUdyb3VwUmVmLCBXS0J1bmRsZVNjcmlw
dFdvcmxkUmVmLCBXS1N0cmluZ1JlZiwgV0tVUkxSZWYsIFdLQXJyYXlSZWYsIFdLQXJyYXlSZWYs
IFdLVXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcykKLXsKLX0KLQotdm9pZCBXS0J1bmRsZVJlbW92
ZVVzZXJTY3JpcHQoV0tCdW5kbGVSZWYsIFdLQnVuZGxlUGFnZUdyb3VwUmVmLCBXS0J1bmRsZVNj
cmlwdFdvcmxkUmVmLCBXS1VSTFJlZikKLXsKLX0KLQotdm9pZCBXS0J1bmRsZVJlbW92ZVVzZXJT
dHlsZVNoZWV0KFdLQnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiwgV0tCdW5kbGVTY3Jp
cHRXb3JsZFJlZiwgV0tVUkxSZWYpCi17Ci19Ci0KLXZvaWQgV0tCdW5kbGVSZW1vdmVVc2VyU2Ny
aXB0cyhXS0J1bmRsZVJlZiwgV0tCdW5kbGVQYWdlR3JvdXBSZWYsIFdLQnVuZGxlU2NyaXB0V29y
bGRSZWYpCi17Ci19Ci0KLXZvaWQgV0tCdW5kbGVSZW1vdmVVc2VyU3R5bGVTaGVldHMoV0tCdW5k
bGVSZWYsIFdLQnVuZGxlUGFnZUdyb3VwUmVmLCBXS0J1bmRsZVNjcmlwdFdvcmxkUmVmKQotewot
fQotCi12b2lkIFdLQnVuZGxlUmVtb3ZlQWxsVXNlckNvbnRlbnQoV0tCdW5kbGVSZWYsIFdLQnVu
ZGxlUGFnZUdyb3VwUmVmKQotewotfQotCiB2b2lkIFdLQnVuZGxlQWRkT3JpZ2luQWNjZXNzQWxs
b3dMaXN0RW50cnkoV0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBXS1N0cmluZ1JlZiBzb3VyY2VPcmln
aW4sIFdLU3RyaW5nUmVmIGRlc3RpbmF0aW9uUHJvdG9jb2wsIFdLU3RyaW5nUmVmIGRlc3RpbmF0
aW9uSG9zdCwgYm9vbCBhbGxvd0Rlc3RpbmF0aW9uU3ViZG9tYWlucykKIHsKICAgICBXZWJLaXQ6
OnRvSW1wbChidW5kbGVSZWYpLT5hZGRPcmlnaW5BY2Nlc3NBbGxvd0xpc3RFbnRyeShXZWJLaXQ6
OnRvV1RGU3RyaW5nKHNvdXJjZU9yaWdpbiksIFdlYktpdDo6dG9XVEZTdHJpbmcoZGVzdGluYXRp
b25Qcm90b2NvbCksIFdlYktpdDo6dG9XVEZTdHJpbmcoZGVzdGluYXRpb25Ib3N0KSwgYWxsb3dE
ZXN0aW5hdGlvblN1YmRvbWFpbnMpOwpAQCAtMTM5LDE0ICsxMTEsMTQgQEAgdm9pZCBXS0J1bmRs
ZVJlc2V0T3JpZ2luQWNjZXNzQWxsb3dMaXN0cyhXS0J1bmRsZVJlZiBidW5kbGVSZWYpCiAgICAg
V2ViS2l0Ojp0b0ltcGwoYnVuZGxlUmVmKS0+cmVzZXRPcmlnaW5BY2Nlc3NBbGxvd0xpc3RzKCk7
CiB9CiAKLXZvaWQgV0tCdW5kbGVTZXRBc3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5hYmxlZChX
S0J1bmRsZVJlZiBidW5kbGVSZWYsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cFJlZiwg
Ym9vbCBlbmFibGVkKQordm9pZCBXS0J1bmRsZVNldEFzeW5jaHJvbm91c1NwZWxsQ2hlY2tpbmdF
bmFibGVkRm9yVGVzdGluZyhXS0J1bmRsZVJlZiBidW5kbGVSZWYsIGJvb2wgZW5hYmxlZCkKIHsK
LSAgICBXZWJLaXQ6OnRvSW1wbChidW5kbGVSZWYpLT5zZXRBc3luY2hyb25vdXNTcGVsbENoZWNr
aW5nRW5hYmxlZChXZWJLaXQ6OnRvSW1wbChwYWdlR3JvdXBSZWYpLCBlbmFibGVkKTsKKyAgICBX
ZWJLaXQ6OnRvSW1wbChidW5kbGVSZWYpLT5zZXRBc3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5h
YmxlZChlbmFibGVkKTsKIH0KIAotV0tBcnJheVJlZiBXS0J1bmRsZUdldExpdmVEb2N1bWVudFVS
THMoV0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXBS
ZWYsIGJvb2wgZXhjbHVkZURvY3VtZW50c0luUGFnZUdyb3VwUGFnZXMpCitXS0FycmF5UmVmIFdL
QnVuZGxlR2V0TGl2ZURvY3VtZW50VVJMc0ZvclRlc3RpbmcoV0tCdW5kbGVSZWYgYnVuZGxlUmVm
LCBib29sIGV4Y2x1ZGVEb2N1bWVudHNJblBhZ2VHcm91cFBhZ2VzKQogewotICAgIGF1dG8gbGl2
ZURvY3VtZW50cyA9IFdlYktpdDo6dG9JbXBsKGJ1bmRsZVJlZiktPmxpdmVEb2N1bWVudFVSTHMo
V2ViS2l0Ojp0b0ltcGwocGFnZUdyb3VwUmVmKSwgZXhjbHVkZURvY3VtZW50c0luUGFnZUdyb3Vw
UGFnZXMpOworICAgIGF1dG8gbGl2ZURvY3VtZW50cyA9IFdlYktpdDo6dG9JbXBsKGJ1bmRsZVJl
ZiktPmxpdmVEb2N1bWVudFVSTHMoZXhjbHVkZURvY3VtZW50c0luUGFnZUdyb3VwUGFnZXMpOwog
CiAgICAgYXV0byBsaXZlVVJMcyA9IGFkb3B0V0soV0tNdXRhYmxlQXJyYXlDcmVhdGUoKSk7CiAK
QEAgLTIxOSw5ICsxOTEsOSBAQCBib29sIFdLQnVuZGxlSXNQcm9jZXNzaW5nVXNlckdlc3R1cmUo
V0tCdW5kbGVSZWYpCiAgICAgcmV0dXJuIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6OmlzUHJvY2Vz
c2luZ1VzZXJHZXN0dXJlKCk7CiB9CiAKLXZvaWQgV0tCdW5kbGVTZXRVc2VyU3R5bGVTaGVldExv
Y2F0aW9uKFdLQnVuZGxlUmVmIGJ1bmRsZVJlZiwgV0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdy
b3VwUmVmLCBXS1N0cmluZ1JlZiBsb2NhdGlvbikKK3ZvaWQgV0tCdW5kbGVTZXRVc2VyU3R5bGVT
aGVldExvY2F0aW9uRm9yVGVzdGluZyhXS0J1bmRsZVJlZiBidW5kbGVSZWYsIFdLU3RyaW5nUmVm
IGxvY2F0aW9uKQogewotICAgIFdlYktpdDo6dG9JbXBsKGJ1bmRsZVJlZiktPnNldFVzZXJTdHls
ZVNoZWV0TG9jYXRpb24oV2ViS2l0Ojp0b0ltcGwocGFnZUdyb3VwUmVmKSwgV2ViS2l0Ojp0b1dU
RlN0cmluZyhsb2NhdGlvbikpOworICAgIFdlYktpdDo6dG9JbXBsKGJ1bmRsZVJlZiktPnNldFVz
ZXJTdHlsZVNoZWV0TG9jYXRpb24oV2ViS2l0Ojp0b1dURlN0cmluZyhsb2NhdGlvbikpOwogfQog
CiB2b2lkIFdLQnVuZGxlU2V0V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbihXS0J1bmRsZVJlZiBi
dW5kbGVSZWYsIFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmLCBXS1N0cmluZ1JlZiBvcmlnaW5TdHJp
bmdSZWYsIGJvb2wgYWxsb3dlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUFQSUNhc3QuaCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUFQSUNhc3QuaAppbmRleCA4
ZDg3YzM3YTgzZGRjZDFhNWM3N2JkNzRmYjFjNjBlNzJmZGU1YmQ5Li5jMzkzMjY3MjljZmU1Yjcz
ZGRhNjdiN2E0MjQzNjkyNTBiZTdlZjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVBUElDYXN0LmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlQVBJQ2FzdC5o
CkBAIC02MSw3ICs2MSw2IEBAIFdLX0FERF9BUElfTUFQUElORyhXS0J1bmRsZUluc3BlY3RvclJl
ZiwgV2ViSW5zcGVjdG9yKQogV0tfQUREX0FQSV9NQVBQSU5HKFdLQnVuZGxlTmF2aWdhdGlvbkFj
dGlvblJlZiwgSW5qZWN0ZWRCdW5kbGVOYXZpZ2F0aW9uQWN0aW9uKQogV0tfQUREX0FQSV9NQVBQ
SU5HKFdLQnVuZGxlTm9kZUhhbmRsZVJlZiwgSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlKQogV0tf
QUREX0FQSV9NQVBQSU5HKFdLQnVuZGxlUGFnZUJhbm5lclJlZiwgUGFnZUJhbm5lcikKLVdLX0FE
RF9BUElfTUFQUElORyhXS0J1bmRsZVBhZ2VHcm91cFJlZiwgV2ViUGFnZUdyb3VwUHJveHkpCiBX
S19BRERfQVBJX01BUFBJTkcoV0tCdW5kbGVQYWdlT3ZlcmxheVJlZiwgV2ViUGFnZU92ZXJsYXkp
CiBXS19BRERfQVBJX01BUFBJTkcoV0tCdW5kbGVQYWdlUmVmLCBXZWJQYWdlKQogV0tfQUREX0FQ
SV9NQVBQSU5HKFdLQnVuZGxlUmFuZ2VIYW5kbGVSZWYsIEluamVjdGVkQnVuZGxlUmFuZ2VIYW5k
bGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL2MvV0tCdW5kbGVQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCmluZGV4IDgxODk2MmM3ZGZjNGM1NzlmMDVl
ZjkyMzk0ZWRkODU2NWRjMmFiYjYuLmVjMjJiNjY4MmZlN2IxMDY1MDU1OTM0NTIzNDFhYTM5MDky
YTE2ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCkBAIC0xNjMsMTEgKzE2Myw2IEBA
IHZvaWQgV0tCdW5kbGVQYWdlRGlkRXhpdEZ1bGxTY3JlZW4oV0tCdW5kbGVQYWdlUmVmIHBhZ2VS
ZWYpCiAjZW5kaWYKIH0KIAotV0tCdW5kbGVQYWdlR3JvdXBSZWYgV0tCdW5kbGVQYWdlR2V0UGFn
ZUdyb3VwKFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmKQotewotICAgIHJldHVybiB0b0FQSShXZWJL
aXQ6OnRvSW1wbChwYWdlUmVmKS0+cGFnZUdyb3VwKCkpOwotfQotCiBXS0J1bmRsZUZyYW1lUmVm
IFdLQnVuZGxlUGFnZUdldE1haW5GcmFtZShXS0J1bmRsZVBhZ2VSZWYgcGFnZVJlZikKIHsKICAg
ICByZXR1cm4gdG9BUEkoJldlYktpdDo6dG9JbXBsKHBhZ2VSZWYpLT5tYWluV2ViRnJhbWUoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGVQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2MvV0tCdW5kbGVQYWdlLmgKaW5kZXggZDc2MmU5Y2UxZTRhZmMzOTM2NzI1ZGQwYWVl
YzEzMGI2NWU0Nzk3MC4uYzVmMWNlMzFhNDUxZDZlNDc1NWYzYmI2YjcyOTViZmRjNWZlMDU1OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9j
L1dLQnVuZGxlUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuaApAQCAtNjYsNyArNjYsNiBAQCBXS19FWFBPUlQgdm9p
ZCBXS0J1bmRsZVBhZ2VTZXRQb2xpY3lDbGllbnQoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLQnVu
ZGxlUGFnZVBvbAogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVQYWdlU2V0VUlDbGllbnQoV0tCdW5k
bGVQYWdlUmVmIHBhZ2UsIFdLQnVuZGxlUGFnZVVJQ2xpZW50QmFzZSogY2xpZW50KTsKIFdLX0VY
UE9SVCB2b2lkIFdLQnVuZGxlUGFnZVNldEZ1bGxTY3JlZW5DbGllbnQoV0tCdW5kbGVQYWdlUmVm
IHBhZ2UsIFdLQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnRCYXNlKiBjbGllbnQpOwogCi1XS19F
WFBPUlQgV0tCdW5kbGVQYWdlR3JvdXBSZWYgV0tCdW5kbGVQYWdlR2V0UGFnZUdyb3VwKFdLQnVu
ZGxlUGFnZVJlZiBwYWdlKTsKIFdLX0VYUE9SVCBXS0J1bmRsZUZyYW1lUmVmIFdLQnVuZGxlUGFn
ZUdldE1haW5GcmFtZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSk7CiBXS19FWFBPUlQgV0tGcmFtZUhh
bmRsZVJlZiBXS0J1bmRsZUZyYW1lQ3JlYXRlRnJhbWVIYW5kbGUoV0tCdW5kbGVGcmFtZVJlZik7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvYy9XS0J1bmRsZVBhZ2VHcm91cC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlR3JvdXAuY3BwCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA0ZjU2ZGRiMmMxMzE2ODkwMzAxZjM2NzdlNTljNDU2NTQ1MmUxYWU2Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VHcm91cC5jcHAK
KysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
Ci0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNv
bmZpZy5oIgotI2luY2x1ZGUgIldLQnVuZGxlUGFnZUdyb3VwLmgiCi0KLSNpbmNsdWRlICJXS0FQ
SUNhc3QuaCIKLSNpbmNsdWRlICJXS0J1bmRsZUFQSUNhc3QuaCIKLSNpbmNsdWRlICJXZWJQYWdl
R3JvdXBQcm94eS5oIgotCi1XS1R5cGVJRCBXS0J1bmRsZVBhZ2VHcm91cEdldFR5cGVJRCgpCi17
Ci0gICAgcmV0dXJuIFdlYktpdDo6dG9BUEkoV2ViS2l0OjpXZWJQYWdlR3JvdXBQcm94eTo6QVBJ
VHlwZSk7Ci19Ci0KLVdLU3RyaW5nUmVmIFdLQnVuZGxlUGFnZUdyb3VwQ29weUlkZW50aWZpZXIo
V0tCdW5kbGVQYWdlR3JvdXBSZWYgYnVuZGxlUGFnZUdyb3VwKQotewotICAgIHJldHVybiBXZWJL
aXQ6OnRvQ29waWVkQVBJKFdlYktpdDo6dG9JbXBsKGJ1bmRsZVBhZ2VHcm91cCktPmlkZW50aWZp
ZXIoKSk7Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlR3JvdXAuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VHcm91cC5oCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAyNDM4OTQzYjgyNTRlNWJhNzdjODdhODYxMDY3ZWM5M2NjZTUxMTM5
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VHcm91cC5o
CisrKyAvZGV2L251bGwKQEAgLTEsNDMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgV0tC
dW5kbGVQYWdlR3JvdXBfaAotI2RlZmluZSBXS0J1bmRsZVBhZ2VHcm91cF9oCi0KLSNpbmNsdWRl
IDxXZWJLaXQvV0tCYXNlLmg+Ci0KLSNpZmRlZiBfX2NwbHVzcGx1cwotZXh0ZXJuICJDIiB7Ci0j
ZW5kaWYKLQotV0tfRVhQT1JUIFdLVHlwZUlEIFdLQnVuZGxlUGFnZUdyb3VwR2V0VHlwZUlEKCk7
Ci0KLVdLX0VYUE9SVCBXS1N0cmluZ1JlZiBXS0J1bmRsZVBhZ2VHcm91cENvcHlJZGVudGlmaWVy
KFdLQnVuZGxlUGFnZUdyb3VwUmVmIGJ1bmRsZVBhZ2VHcm91cCk7Ci0KLSNpZmRlZiBfX2NwbHVz
cGx1cwotfQotI2VuZGlmCi0KLSNlbmRpZiAvKiBXS0J1bmRsZVBhZ2VHcm91cF9oICovCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL2MvV0tCdW5kbGVQcml2YXRlLmgKaW5kZXggMDZlZDQ4N2Y5MDc5MGI2MjA1NzM1ODE3MjBm
NTVkYmRjZWI2MGY1NC4uYTRkMjNmNTM3ZTM1ZDhmZDUxY2MwMjM5MDdmNjRhMzNhNzM2NzQ0MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9j
L1dLQnVuZGxlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaApAQCAtNDksMjMgKzQ5LDE0IEBAIFdLX0VY
UE9SVCBpbnQgV0tCdW5kbGVOdW1iZXJPZlBhZ2VzKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5k
bGVGcmFtZVJlZiBmcmFtZVJlCiBXS19FWFBPUlQgaW50IFdLQnVuZGxlUGFnZU51bWJlckZvckVs
ZW1lbnRCeUlkKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZVJlZiwg
V0tTdHJpbmdSZWYgaWRSZWYsIGRvdWJsZSBwYWdlV2lkdGhJblBpeGVscywgZG91YmxlIHBhZ2VI
ZWlnaHRJblBpeGVscyk7CiBXS19FWFBPUlQgV0tTdHJpbmdSZWYgV0tCdW5kbGVQYWdlU2l6ZUFu
ZE1hcmdpbnNJblBpeGVscyhXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlRnJhbWVSZWYgZnJh
bWVSZWYsIGludCwgaW50LCBpbnQsIGludCwgaW50LCBpbnQsIGludCk7CiBXS19FWFBPUlQgYm9v
bCBXS0J1bmRsZUlzUGFnZUJveFZpc2libGUoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZUZy
YW1lUmVmIGZyYW1lUmVmLCBpbnQpOwotV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVTZXRVc2VyU3R5
bGVTaGVldExvY2F0aW9uKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlR3JvdXBSZWYg
cGFnZUdyb3VwLCBXS1N0cmluZ1JlZiBsb2NhdGlvbik7CitXS19FWFBPUlQgdm9pZCBXS0J1bmRs
ZVNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb25Gb3JUZXN0aW5nKFdLQnVuZGxlUmVmIGJ1bmRsZSwg
V0tTdHJpbmdSZWYgbG9jYXRpb24pOwogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVTZXRXZWJOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlUmVmIHBh
Z2UsIFdLU3RyaW5nUmVmIG9yaWdpblN0cmluZ1JlZiwgYm9vbCBhbGxvd2VkKTsKIFdLX0VYUE9S
VCB2b2lkIFdLQnVuZGxlUmVtb3ZlQWxsV2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbnMoV0tCdW5k
bGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VSZWYgcGFnZSk7CiBXS19FWFBPUlQgdWludDY0X3Qg
V0tCdW5kbGVHZXRXZWJOb3RpZmljYXRpb25JRChXS0J1bmRsZVJlZiBidW5kbGUsIEpTQ29udGV4
dFJlZiBjb250ZXh0LCBKU1ZhbHVlUmVmIG5vdGlmaWNhdGlvbik7CiBXS19FWFBPUlQgV0tEYXRh
UmVmIFdLQnVuZGxlQ3JlYXRlV0tEYXRhRnJvbVVJbnQ4QXJyYXkoV0tCdW5kbGVSZWYgYnVuZGxl
LCBKU0NvbnRleHRSZWYgY29udGV4dCwgSlNWYWx1ZVJlZiBkYXRhKTsKLVdLX0VYUE9SVCB2b2lk
IFdLQnVuZGxlU2V0QXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoV0tCdW5kbGVSZWYg
YnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYsIGJvb2wgZW5hYmxl
ZCk7CitXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldEFzeW5jaHJvbm91c1NwZWxsQ2hlY2tpbmdF
bmFibGVkRm9yVGVzdGluZyhXS0J1bmRsZVJlZiBidW5kbGVSZWYsIGJvb2wgZW5hYmxlZCk7CiAv
LyBSZXR1cm5zIGFycmF5IG9mIGRpY3Rpb25hcmllcy4gRGljdGlvbmFyeSBrZXlzIGFyZSBkb2N1
bWVudCBpZGVudGlmaWVycywgdmFsdWVzIGFyZSBkb2N1bWVudCBVUkxzLgotV0tfRVhQT1JUIFdL
QXJyYXlSZWYgV0tCdW5kbGVHZXRMaXZlRG9jdW1lbnRVUkxzKFdLQnVuZGxlUmVmIGJ1bmRsZSwg
V0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdyb3VwLCBib29sIGV4Y2x1ZGVEb2N1bWVudHNJblBh
Z2VHcm91cFBhZ2VzKTsKLQotLy8gVXNlckNvbnRlbnQgQVBJCi1XS19FWFBPUlQgdm9pZCBXS0J1
bmRsZUFkZFVzZXJTY3JpcHQoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91cFJl
ZiBwYWdlR3JvdXAsIFdLQnVuZGxlU2NyaXB0V29ybGRSZWYgc2NyaXB0V29ybGQsIFdLU3RyaW5n
UmVmIHNvdXJjZSwgV0tVUkxSZWYgdXJsLCBXS0FycmF5UmVmIGFsbG93bGlzdCwgV0tBcnJheVJl
ZiBibG9ja2xpc3QsIF9XS1VzZXJTY3JpcHRJbmplY3Rpb25UaW1lIGluamVjdGlvblRpbWUsIFdL
VXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcyBpbmplY3RlZEZyYW1lcykgV0tfQ19BUElfREVQUkVD
QVRFRF9XSVRIX1JFUExBQ0VNRU5UKFdLQnVuZGxlUGFnZUFkZFVzZXJTY3JpcHQpOwotV0tfRVhQ
T1JUIHZvaWQgV0tCdW5kbGVBZGRVc2VyU3R5bGVTaGVldChXS0J1bmRsZVJlZiBidW5kbGUsIFdL
QnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgV0tCdW5kbGVTY3JpcHRXb3JsZFJlZiBzY3Jp
cHRXb3JsZCwgV0tTdHJpbmdSZWYgc291cmNlLCBXS1VSTFJlZiB1cmwsIFdLQXJyYXlSZWYgYWxs
b3dsaXN0LCBXS0FycmF5UmVmIGJsb2NrbGlzdCwgV0tVc2VyQ29udGVudEluamVjdGVkRnJhbWVz
IGluamVjdGVkRnJhbWVzKSBXS19DX0FQSV9ERVBSRUNBVEVEX1dJVEhfUkVQTEFDRU1FTlQoV0tC
dW5kbGVQYWdlQWRkVXNlclN0eWxlU2hlZXQpOwotV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVSZW1v
dmVVc2VyU2NyaXB0KFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFn
ZUdyb3VwLCBXS0J1bmRsZVNjcmlwdFdvcmxkUmVmIHNjcmlwdFdvcmxkLCBXS1VSTFJlZiB1cmwp
IFdLX0NfQVBJX0RFUFJFQ0FURUQ7Ci1XS19FWFBPUlQgdm9pZCBXS0J1bmRsZVJlbW92ZVVzZXJT
dHlsZVNoZWV0KFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdy
b3VwLCBXS0J1bmRsZVNjcmlwdFdvcmxkUmVmIHNjcmlwdFdvcmxkLCBXS1VSTFJlZiB1cmwpIFdL
X0NfQVBJX0RFUFJFQ0FURUQ7Ci1XS19FWFBPUlQgdm9pZCBXS0J1bmRsZVJlbW92ZVVzZXJTY3Jp
cHRzKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdyb3VwLCBX
S0J1bmRsZVNjcmlwdFdvcmxkUmVmIHNjcmlwdFdvcmxkKSBXS19DX0FQSV9ERVBSRUNBVEVEOwot
V0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVSZW1vdmVVc2VyU3R5bGVTaGVldHMoV0tCdW5kbGVSZWYg
YnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXAsIFdLQnVuZGxlU2NyaXB0V29y
bGRSZWYgc2NyaXB0V29ybGQpIFdLX0NfQVBJX0RFUFJFQ0FURUQ7Ci1XS19FWFBPUlQgdm9pZCBX
S0J1bmRsZVJlbW92ZUFsbFVzZXJDb250ZW50KFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQ
YWdlR3JvdXBSZWYgcGFnZUdyb3VwKSBXS19DX0FQSV9ERVBSRUNBVEVEX1dJVEhfUkVQTEFDRU1F
TlQoV0tCdW5kbGVQYWdlUmVtb3ZlQWxsVXNlckNvbnRlbnQpOworV0tfRVhQT1JUIFdLQXJyYXlS
ZWYgV0tCdW5kbGVHZXRMaXZlRG9jdW1lbnRVUkxzRm9yVGVzdGluZyhXS0J1bmRsZVJlZiBidW5k
bGUsIGJvb2wgZXhjbHVkZURvY3VtZW50c0luUGFnZUdyb3VwUGFnZXMpOwogCiAvLyBMb2NhbCBz
dG9yYWdlIEFQSQogV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVDbGVhckFsbERhdGFiYXNlcyhXS0J1
bmRsZVJlZiBidW5kbGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5kZXggMTQ4MDkyMDZmY2RhMTNl
NDkyNDQ4NmY2YWVjYWI5MmVhYjVjNzNkYi4uYTA5YzdkN2NjNTlmMzhmMzNmMzcyNTkxZDJlM2E5
ZTM2NjI2MjgwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCkBAIC0xNzEsMTAgKzE3MSwxMSBAQCB2
b2lkIEluamVjdGVkQnVuZGxlOjpyZXNldE9yaWdpbkFjY2Vzc0FsbG93TGlzdHMoKQogICAgIFdl
YlByb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZU5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpLmNv
bm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6
UmVzZXRPcmlnaW5BY2Nlc3NBbGxvd0xpc3RzIHsgfSwgMCk7CiB9CiAKLXZvaWQgSW5qZWN0ZWRC
dW5kbGU6OnNldEFzeW5jaHJvbm91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKFdlYlBhZ2VHcm91cFBy
b3h5KiBwYWdlR3JvdXAsIGJvb2wgZW5hYmxlZCkKK3ZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldEFz
eW5jaHJvbm91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKLSAgICBmb3Ig
KGF1dG8mIHBhZ2UgOiBQYWdlR3JvdXA6OnBhZ2VHcm91cChwYWdlR3JvdXAtPmlkZW50aWZpZXIo
KSktPnBhZ2VzKCkpCisgICAgUGFnZTo6Zm9yRWFjaFBhZ2UoW2VuYWJsZWRdKFBhZ2UmIHBhZ2Up
IHsKICAgICAgICAgcGFnZS5zZXR0aW5ncygpLnNldEFzeW5jaHJvbm91c1NwZWxsQ2hlY2tpbmdF
bmFibGVkKGVuYWJsZWQpOworICAgIH0pOwogfQogCiBpbnQgSW5qZWN0ZWRCdW5kbGU6Om51bWJl
ck9mUGFnZXMoV2ViRnJhbWUqIGZyYW1lLCBkb3VibGUgcGFnZVdpZHRoSW5QaXhlbHMsIGRvdWJs
ZSBwYWdlSGVpZ2h0SW5QaXhlbHMpCkBAIC0yNzIsMTEgKzI3Myw2IEBAIHZvaWQgSW5qZWN0ZWRC
dW5kbGU6OndpbGxEZXN0cm95UGFnZShXZWJQYWdlKiBwYWdlKQogICAgIG1fY2xpZW50LT53aWxs
RGVzdHJveVBhZ2UoKnRoaXMsICpwYWdlKTsKIH0KIAotdm9pZCBJbmplY3RlZEJ1bmRsZTo6ZGlk
SW5pdGlhbGl6ZVBhZ2VHcm91cChXZWJQYWdlR3JvdXBQcm94eSogcGFnZUdyb3VwKQotewotICAg
IG1fY2xpZW50LT5kaWRJbml0aWFsaXplUGFnZUdyb3VwKCp0aGlzLCAqcGFnZUdyb3VwKTsKLX0K
LQogdm9pZCBJbmplY3RlZEJ1bmRsZTo6ZGlkUmVjZWl2ZU1lc3NhZ2UoY29uc3QgU3RyaW5nJiBt
ZXNzYWdlTmFtZSwgQVBJOjpPYmplY3QqIG1lc3NhZ2VCb2R5KQogewogICAgIG1fY2xpZW50LT5k
aWRSZWNlaXZlTWVzc2FnZSgqdGhpcywgbWVzc2FnZU5hbWUsIG1lc3NhZ2VCb2R5KTsKQEAgLTI4
NywxMCArMjgzLDExIEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OmRpZFJlY2VpdmVNZXNzYWdlVG9Q
YWdlKFdlYlBhZ2UqIHBhZ2UsIGNvbnN0IFN0cmluZyYgbWVzc2FnCiAgICAgbV9jbGllbnQtPmRp
ZFJlY2VpdmVNZXNzYWdlVG9QYWdlKCp0aGlzLCAqcGFnZSwgbWVzc2FnZU5hbWUsIG1lc3NhZ2VC
b2R5KTsKIH0KIAotdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0VXNlclN0eWxlU2hlZXRMb2NhdGlv
bihXZWJQYWdlR3JvdXBQcm94eSogcGFnZUdyb3VwLCBjb25zdCBTdHJpbmcmIGxvY2F0aW9uKQor
dm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbihjb25zdCBTdHJp
bmcmIGxvY2F0aW9uKQogewotICAgIGZvciAoYXV0byYgcGFnZSA6IFBhZ2VHcm91cDo6cGFnZUdy
b3VwKHBhZ2VHcm91cC0+aWRlbnRpZmllcigpKS0+cGFnZXMoKSkKKyAgICBQYWdlOjpmb3JFYWNo
UGFnZShbbG9jYXRpb25dKFBhZ2UmIHBhZ2UpIHsKICAgICAgICAgcGFnZS5zZXR0aW5ncygpLnNl
dFVzZXJTdHlsZVNoZWV0TG9jYXRpb24oVVJMKFVSTCgpLCBsb2NhdGlvbikpOworICAgIH0pOwog
fQogCiB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRXZWJOb3RpZmljYXRpb25QZXJtaXNzaW9uKFdl
YlBhZ2UqIHBhZ2UsIGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCBib29sIGFsbG93ZWQpCkBA
IC0zMzYsNyArMzMzLDcgQEAgUmVmPEFQSTo6RGF0YT4gSW5qZWN0ZWRCdW5kbGU6OmNyZWF0ZVdl
YkRhdGFGcm9tVWludDhBcnJheShKU0NvbnRleHRSZWYgY29udGV4dCwKICAgICByZXR1cm4gQVBJ
OjpEYXRhOjpjcmVhdGUoc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcio+KGFycmF5RGF0YS0+YmFz
ZUFkZHJlc3MoKSksIGFycmF5RGF0YS0+Ynl0ZUxlbmd0aCgpKTsKIH0KIAotSW5qZWN0ZWRCdW5k
bGU6OkRvY3VtZW50SURUb1VSTE1hcCBJbmplY3RlZEJ1bmRsZTo6bGl2ZURvY3VtZW50VVJMcyhX
ZWJQYWdlR3JvdXBQcm94eSogcGFnZUdyb3VwLCBib29sIGV4Y2x1ZGVEb2N1bWVudHNJblBhZ2VH
cm91cFBhZ2VzKQorSW5qZWN0ZWRCdW5kbGU6OkRvY3VtZW50SURUb1VSTE1hcCBJbmplY3RlZEJ1
bmRsZTo6bGl2ZURvY3VtZW50VVJMcyhib29sIGV4Y2x1ZGVEb2N1bWVudHNJblBhZ2VHcm91cFBh
Z2VzKQogewogICAgIERvY3VtZW50SURUb1VSTE1hcCByZXN1bHQ7CiAKQEAgLTM0NCwxMyArMzQx
LDEzIEBAIEluamVjdGVkQnVuZGxlOjpEb2N1bWVudElEVG9VUkxNYXAgSW5qZWN0ZWRCdW5kbGU6
OmxpdmVEb2N1bWVudFVSTHMoV2ViUGFnZUdyb3VwCiAgICAgICAgIHJlc3VsdC5hZGQoZG9jdW1l
bnQtPmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpLCBkb2N1bWVudC0+dXJsKCkuc3RyaW5nKCkpOwog
CiAgICAgaWYgKGV4Y2x1ZGVEb2N1bWVudHNJblBhZ2VHcm91cFBhZ2VzKSB7Ci0gICAgICAgIGZv
ciAoYXV0byYgcGFnZSA6IFBhZ2VHcm91cDo6cGFnZUdyb3VwKHBhZ2VHcm91cC0+aWRlbnRpZmll
cigpKS0+cGFnZXMoKSkgeworICAgICAgICBQYWdlOjpmb3JFYWNoUGFnZShbJl0oUGFnZSYgcGFn
ZSkgewogICAgICAgICAgICAgZm9yIChhdXRvKiBmcmFtZSA9ICZwYWdlLm1haW5GcmFtZSgpOyBm
cmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLnRyYXZlcnNlTmV4dCgpKSB7CiAgICAgICAgICAg
ICAgICAgaWYgKCFmcmFtZS0+ZG9jdW1lbnQoKSkKICAgICAgICAgICAgICAgICAgICAgY29udGlu
dWU7CiAgICAgICAgICAgICAgICAgcmVzdWx0LnJlbW92ZShmcmFtZS0+ZG9jdW1lbnQoKS0+aWRl
bnRpZmllcigpLnRvVUludDY0KCkpOwogICAgICAgICAgICAgfQotICAgICAgICB9CisgICAgICAg
IH0pOwogICAgIH0KIAogICAgIHJldHVybiByZXN1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCmluZGV4IGMy
OGNlN2YyZTE3ZTg5YThlNTE4NmE3NzA2YTJlOGE0NGY2YjdlMzYuLjVhNGY2YTg3OWIxMzI0NTRi
YzJlMWQ1ZGQ0YzJmNDYwNTNlMTlhNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCkBAIC05OCwxOSArOTgs
MTkgQEAgcHVibGljOgogICAgIHZvaWQgYWRkT3JpZ2luQWNjZXNzQWxsb3dMaXN0RW50cnkoY29u
c3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgYm9vbCk7CiAgICAgdm9p
ZCByZW1vdmVPcmlnaW5BY2Nlc3NBbGxvd0xpc3RFbnRyeShjb25zdCBTdHJpbmcmLCBjb25zdCBT
dHJpbmcmLCBjb25zdCBTdHJpbmcmLCBib29sKTsKICAgICB2b2lkIHJlc2V0T3JpZ2luQWNjZXNz
QWxsb3dMaXN0cygpOwotICAgIHZvaWQgc2V0QXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJs
ZWQoV2ViUGFnZUdyb3VwUHJveHkqLCBib29sKTsKKyAgICB2b2lkIHNldEFzeW5jaHJvbm91c1Nw
ZWxsQ2hlY2tpbmdFbmFibGVkKGJvb2wpOwogICAgIGludCBudW1iZXJPZlBhZ2VzKFdlYkZyYW1l
KiwgZG91YmxlLCBkb3VibGUpOwogICAgIGludCBwYWdlTnVtYmVyRm9yRWxlbWVudEJ5SWQoV2Vi
RnJhbWUqLCBjb25zdCBTdHJpbmcmLCBkb3VibGUsIGRvdWJsZSk7CiAgICAgU3RyaW5nIHBhZ2VT
aXplQW5kTWFyZ2luc0luUGl4ZWxzKFdlYkZyYW1lKiwgaW50LCBpbnQsIGludCwgaW50LCBpbnQs
IGludCwgaW50KTsKICAgICBib29sIGlzUGFnZUJveFZpc2libGUoV2ViRnJhbWUqLCBpbnQpOwot
ICAgIHZvaWQgc2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbihXZWJQYWdlR3JvdXBQcm94eSosIGNv
bnN0IFN0cmluZyYpOworICAgIHZvaWQgc2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbihjb25zdCBT
dHJpbmcmKTsKICAgICB2b2lkIHNldFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oV2ViUGFnZSos
IGNvbnN0IFN0cmluZyYgb3JpZ2luU3RyaW5nLCBib29sIGFsbG93ZWQpOwogICAgIHZvaWQgcmVt
b3ZlQWxsV2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbnMoV2ViUGFnZSopOwogICAgIHVpbnQ2NF90
IHdlYk5vdGlmaWNhdGlvbklEKEpTQ29udGV4dFJlZiwgSlNWYWx1ZVJlZik7CiAgICAgUmVmPEFQ
STo6RGF0YT4gY3JlYXRlV2ViRGF0YUZyb21VaW50OEFycmF5KEpTQ29udGV4dFJlZiwgSlNWYWx1
ZVJlZik7CiAgICAgCiAgICAgdHlwZWRlZiBIYXNoTWFwPHVpbnQ2NF90LCBTdHJpbmc+IERvY3Vt
ZW50SURUb1VSTE1hcDsKLSAgICBEb2N1bWVudElEVG9VUkxNYXAgbGl2ZURvY3VtZW50VVJMcyhX
ZWJQYWdlR3JvdXBQcm94eSosIGJvb2wgZXhjbHVkZURvY3VtZW50c0luUGFnZUdyb3VwUGFnZXMp
OworICAgIERvY3VtZW50SURUb1VSTE1hcCBsaXZlRG9jdW1lbnRVUkxzKGJvb2wgZXhjbHVkZURv
Y3VtZW50c0luUGFnZUdyb3VwUGFnZXMpOwogCiAgICAgLy8gR2FyYmFnZSBjb2xsZWN0aW9uIEFQ
SQogICAgIHZvaWQgZ2FyYmFnZUNvbGxlY3RKYXZhU2NyaXB0T2JqZWN0cygpOwpAQCAtMTIwLDcg
KzEyMCw2IEBAIHB1YmxpYzoKICAgICAvLyBDYWxsYmFjayBob29rcwogICAgIHZvaWQgZGlkQ3Jl
YXRlUGFnZShXZWJQYWdlKik7CiAgICAgdm9pZCB3aWxsRGVzdHJveVBhZ2UoV2ViUGFnZSopOwot
ICAgIHZvaWQgZGlkSW5pdGlhbGl6ZVBhZ2VHcm91cChXZWJQYWdlR3JvdXBQcm94eSopOwogICAg
IHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoY29uc3QgU3RyaW5nJiwgQVBJOjpPYmplY3QqKTsKICAg
ICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlVG9QYWdlKFdlYlBhZ2UqLCBjb25zdCBTdHJpbmcmLCBB
UEk6Ok9iamVjdCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlQ2xpZW50LmNwcAppbmRleCA5YTc3
YzUzOWJjOWUwYmI0MjhjZGQzMDYxYzg1OWE5N2FhYTMxMjNkLi41ODRkOGUwNzlkNzVkZDBlNzcw
NzdhZGIxZmYwNTkyYTc1M2FjMDI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUNsaWVudC5jcHAK
QEAgLTU0LDE0ICs1NCw2IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGVDbGllbnQ6OndpbGxEZXN0cm95
UGFnZShJbmplY3RlZEJ1bmRsZSYgYnVuZGxlLCBXZWJQYWdlJiBwYWdlCiAgICAgbV9jbGllbnQu
d2lsbERlc3Ryb3lQYWdlKHRvQVBJKCZidW5kbGUpLCB0b0FQSSgmcGFnZSksIG1fY2xpZW50LmJh
c2UuY2xpZW50SW5mbyk7CiB9CiAKLXZvaWQgSW5qZWN0ZWRCdW5kbGVDbGllbnQ6OmRpZEluaXRp
YWxpemVQYWdlR3JvdXAoSW5qZWN0ZWRCdW5kbGUmIGJ1bmRsZSwgV2ViUGFnZUdyb3VwUHJveHkm
IHBhZ2VHcm91cCkKLXsKLSAgICBpZiAoIW1fY2xpZW50LmRpZEluaXRpYWxpemVQYWdlR3JvdXAp
Ci0gICAgICAgIHJldHVybjsKLQotICAgIG1fY2xpZW50LmRpZEluaXRpYWxpemVQYWdlR3JvdXAo
dG9BUEkoJmJ1bmRsZSksIHRvQVBJKCZwYWdlR3JvdXApLCBtX2NsaWVudC5iYXNlLmNsaWVudElu
Zm8pOwotfQotCiB2b2lkIEluamVjdGVkQnVuZGxlQ2xpZW50OjpkaWRSZWNlaXZlTWVzc2FnZShJ
bmplY3RlZEJ1bmRsZSYgYnVuZGxlLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2VOYW1lLCBBUEk6Ok9i
amVjdCogbWVzc2FnZUJvZHkpCiB7CiAgICAgaWYgKCFtX2NsaWVudC5kaWRSZWNlaXZlTWVzc2Fn
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlQ2xpZW50LmgKaW5kZXggYmRmODNkNTg3OTRkZTMzM2U0MWEz
MjJmZDE1OTZhNTk3ZjU3MjE5Yi4uN2NkZWFlZDY2NGNiYTM4NDVhMzM5ZDQwZmI1NGE0ZmVmZjc3
YzgyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlQ2xpZW50LmgKQEAgLTUxLDcgKzUxLDYgQEAgcHVi
bGljOgogCiAgICAgdm9pZCBkaWRDcmVhdGVQYWdlKEluamVjdGVkQnVuZGxlJiwgV2ViUGFnZSYp
IG92ZXJyaWRlOwogICAgIHZvaWQgd2lsbERlc3Ryb3lQYWdlKEluamVjdGVkQnVuZGxlJiwgV2Vi
UGFnZSYpIG92ZXJyaWRlOwotICAgIHZvaWQgZGlkSW5pdGlhbGl6ZVBhZ2VHcm91cChJbmplY3Rl
ZEJ1bmRsZSYsIFdlYlBhZ2VHcm91cFByb3h5Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRSZWNl
aXZlTWVzc2FnZShJbmplY3RlZEJ1bmRsZSYsIGNvbnN0IFdURjo6U3RyaW5nJiwgQVBJOjpPYmpl
Y3QqKSBvdmVycmlkZTsKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlVG9QYWdlKEluamVjdGVk
QnVuZGxlJiwgV2ViUGFnZSYsIGNvbnN0IFdURjo6U3RyaW5nJiwgQVBJOjpPYmplY3QqKSBvdmVy
cmlkZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlR3JvdXBQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlR3JvdXBQcm94eS5jcHAKaW5kZXggMzA1Mjg1YzJjMjZlYzVhNDgzM2I5ODQwMmUyNzRh
YTA2M2M4NjQyYy4uYjM5YmI1ZTg4ZjY0MjIxZjVkYWUwNzk2YjA5MWFmN2RhMWM5NzZkNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZUdyb3VwUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2VHcm91
cFByb3h5LmNwcApAQCAtMzcsMTIgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIFJlZjxX
ZWJQYWdlR3JvdXBQcm94eT4gV2ViUGFnZUdyb3VwUHJveHk6OmNyZWF0ZShjb25zdCBXZWJQYWdl
R3JvdXBEYXRhJiBkYXRhKQogewotICAgIGF1dG8gcGFnZUdyb3VwID0gYWRvcHRSZWYoKm5ldyBX
ZWJQYWdlR3JvdXBQcm94eShkYXRhKSk7Ci0KLSAgICBpZiAoV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkuaW5qZWN0ZWRCdW5kbGUoKSkKLSAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuaW5q
ZWN0ZWRCdW5kbGUoKS0+ZGlkSW5pdGlhbGl6ZVBhZ2VHcm91cChwYWdlR3JvdXAucHRyKCkpOwot
Ci0gICAgcmV0dXJuIHBhZ2VHcm91cDsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJQYWdl
R3JvdXBQcm94eShkYXRhKSk7CiB9CiAKIFdlYlBhZ2VHcm91cFByb3h5OjpXZWJQYWdlR3JvdXBQ
cm94eShjb25zdCBXZWJQYWdlR3JvdXBEYXRhJiBkYXRhKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDkyYzhlNGVhNGYwNjkzMzM3MzE2ZmQzMDdl
NDYzZjdiZjMyOTMzODAuLjlhOGUyOGM2NGI2NGFkNGU0NDliNDViYTMzNWMzYTgyY2NmZmFiNmEg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0MyBAQAorMjAyMS0wNS0wNiAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3
ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92ZSBXS0J1bmRsZVBhZ2VHcm91cFJlZgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1NDcxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWxzbyB1c2Ugc29tZSBz
bWFydCBwb2ludGVycyBpbnN0ZWFkIG9mIHJhdyBwb2ludGVycyB0byBrZWVwIHRoaW5ncyBzYWZl
LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9JbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6SW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyOjpJbmpl
Y3RlZEJ1bmRsZUNvbnRyb2xsZXIpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6SW5qZWN0ZWRC
dW5kbGVDb250cm9sbGVyOjppbml0aWFsaXplKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6Oklu
amVjdGVkQnVuZGxlQ29udHJvbGxlcjo6ZGlkSW5pdGlhbGl6ZVBhZ2VHcm91cCk6IERlbGV0ZWQu
CisgICAgICAgICogVGVzdFdlYktpdEFQSS9JbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXIuaDoKKyAg
ICAgICAgKFRlc3RXZWJLaXRBUEk6OkluamVjdGVkQnVuZGxlQ29udHJvbGxlcjo6YnVuZGxlIGNv
bnN0KToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL0luamVjdGVkQnVuZGxlVGVzdC5oOgorICAg
ICAgICAoVGVzdFdlYktpdEFQSTo6SW5qZWN0ZWRCdW5kbGVUZXN0Ojp3aWxsRGVzdHJveVBhZ2Up
OgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6SW5qZWN0ZWRCdW5kbGVUZXN0OjpSZWdpc3Rlcjo6
Y3JlYXRlKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OkluamVjdGVkQnVuZGxlVGVzdDo6ZGlk
SW5pdGlhbGl6ZVBhZ2VHcm91cCk6IERlbGV0ZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQvRE9NV2luZG93RXh0ZW5zaW9uQmFzaWNfQnVuZGxlLmNwcDoKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9ET01XaW5kb3dFeHRlbnNpb25Ob0NhY2hlX0J1
bmRsZS5jcHA6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRG9jdW1lbnRT
dGFydFVzZXJTY3JpcHRBbGVydENyYXNoX0J1bmRsZS5jcHA6CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQvSW5qZWN0ZWRCdW5kbGVEaXNhYmxlT3ZlcnJpZGVCdWlsdGluc0Jl
aGF2aW9yX0J1bmRsZS5jcHA6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQv
SW5qZWN0ZWRCdW5kbGVNYWtlQWxsU2hhZG93Um9vdHNPcGVuX0J1bmRsZS5jcHA6CisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHA6Cisg
ICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlOjppbml0aWFsaXplKToKKyAgICAgICAgKFdUUjo6
SW5qZWN0ZWRCdW5kbGU6OmRpZENyZWF0ZVBhZ2UpOgorICAgICAgICAoV1RSOjpJbmplY3RlZEJ1
bmRsZTo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICAoV1RSOjpJbmplY3RlZEJ1bmRsZTo6
cmVwb3J0TGl2ZURvY3VtZW50cyk6CisgICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlOjpkaWRS
ZWNlaXZlTWVzc2FnZVRvUGFnZSk6CisgICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlOjpiZWdp
blRlc3RpbmcpOgorICAgICAgICAoV1RSOjpJbmplY3RlZEJ1bmRsZTo6c3RhdGlzdGljc05vdGlm
eU9ic2VydmVyKToKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGU6OmRpZEluaXRpYWxpemVQ
YWdlR3JvdXApOiBEZWxldGVkLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGUuaDoKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGU6OmJ1
bmRsZSBjb25zdCk6CisgICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlOjpwYWdlR3JvdXAgY29u
c3QpOiBEZWxldGVkLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
VGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnNldFVzZXJTdHlsZVNo
ZWV0RW5hYmxlZCk6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnNldEFzeW5jaHJvbm91c1Nw
ZWxsQ2hlY2tpbmdFbmFibGVkKToKKwogMjAyMS0wNS0wNiAgU2FtIFNuZWRkb24gIDxnc25lZGRl
cnNAYXBwbGUuY29tPgogCiAgICAgICAgIG1hcmsgYWxsIFNDTSB0ZXN0cyB1c2luZyBTVk4gYXMg
c2xvdywgYSBjb3VwbGUgYXMgeGZhaWw7IGVuYWJsZSBTQ00KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyLmNwcAppbmRleCA1ZGIzY2Q0NGU3NWFhMjcx
OWJiMzhjY2VmYzA3YTM2MjA1MDM0NDlmLi41OTNlYzdmMjU2OGMzNDIyZjg5MDY1YzRjNWY5ZDJj
ZWVlNTU2YzdmIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL0luamVjdGVkQnVuZGxl
Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9JbmplY3RlZEJ1bmRsZUNv
bnRyb2xsZXIuY3BwCkBAIC00Myw4ICs0Myw2IEBAIEluamVjdGVkQnVuZGxlQ29udHJvbGxlciYg
SW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyOjpzaW5nbGV0b24oKQogfQogCiBJbmplY3RlZEJ1bmRs
ZUNvbnRyb2xsZXI6OkluamVjdGVkQnVuZGxlQ29udHJvbGxlcigpCi0gICAgOiBtX2J1bmRsZSgw
KQotICAgICwgbV9jdXJyZW50VGVzdCgwKQogewogfQogCkBAIC02MSwxMSArNTksMTEgQEAgdm9p
ZCBJbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXI6OmluaXRpYWxpemUoV0tCdW5kbGVSZWYgYnVuZGxl
LCBXS1R5cGVSZWYgaW5pdGlhbGkKICAgICAgICAgeyAwLCB0aGlzIH0sCiAgICAgICAgIGRpZENy
ZWF0ZVBhZ2UsCiAgICAgICAgIHdpbGxEZXN0cm95UGFnZSwKLSAgICAgICAgZGlkSW5pdGlhbGl6
ZVBhZ2VHcm91cCwKKyAgICAgICAgbnVsbHB0ciwKICAgICAgICAgZGlkUmVjZWl2ZU1lc3NhZ2Us
CiAgICAgICAgIGRpZFJlY2VpdmVNZXNzYWdlVG9QYWdlCiAgICAgfTsKLSAgICBXS0J1bmRsZVNl
dENsaWVudChtX2J1bmRsZSwgJmNsaWVudC5iYXNlKTsKKyAgICBXS0J1bmRsZVNldENsaWVudCht
X2J1bmRsZS5nZXQoKSwgJmNsaWVudC5iYXNlKTsKIAogICAgIC8vIEluaXRpYWxpemUgdGhlIHRl
c3QgZnJvbSB0aGUgImluaXRpYWxpemF0aW9uVXNlckRhdGEiLgogCkBAIC05NCwxMyArOTIsNiBA
QCB2b2lkIEluamVjdGVkQnVuZGxlQ29udHJvbGxlcjo6d2lsbERlc3Ryb3lQYWdlKFdLQnVuZGxl
UmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlUgogICAgIHNlbGYtPm1fY3VycmVudFRlc3QtPndpbGxE
ZXN0cm95UGFnZShidW5kbGUsIHBhZ2UpOwogfQogCi12b2lkIEluamVjdGVkQnVuZGxlQ29udHJv
bGxlcjo6ZGlkSW5pdGlhbGl6ZVBhZ2VHcm91cChXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxl
UGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKLXsKLSAgICBJ
bmplY3RlZEJ1bmRsZUNvbnRyb2xsZXIqIHNlbGYgPSBzdGF0aWNfY2FzdDxJbmplY3RlZEJ1bmRs
ZUNvbnRyb2xsZXIqPihjb25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZvKSk7Ci0gICAgYXNzZXJ0
KHNlbGYtPm1fY3VycmVudFRlc3QpOwotICAgIHNlbGYtPm1fY3VycmVudFRlc3QtPmRpZEluaXRp
YWxpemVQYWdlR3JvdXAoYnVuZGxlLCBwYWdlR3JvdXApOwotfQotCiB2b2lkIEluamVjdGVkQnVu
ZGxlQ29udHJvbGxlcjo6ZGlkUmVjZWl2ZU1lc3NhZ2UoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS1N0
cmluZ1JlZiBtZXNzYWdlTmFtZSwgV0tUeXBlUmVmIG1lc3NhZ2VCb2R5LCBjb25zdCB2b2lkKiBj
bGllbnRJbmZvKQogewogICAgIEluamVjdGVkQnVuZGxlQ29udHJvbGxlciogc2VsZiA9IHN0YXRp
Y19jYXN0PEluamVjdGVkQnVuZGxlQ29udHJvbGxlcio+KGNvbnN0X2Nhc3Q8dm9pZCo+KGNsaWVu
dEluZm8pKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvSW5qZWN0ZWRCdW5kbGVD
b250cm9sbGVyLmggYi9Ub29scy9UZXN0V2ViS2l0QVBJL0luamVjdGVkQnVuZGxlQ29udHJvbGxl
ci5oCmluZGV4IGVhYTdmMGQxNzhkNDM2ODM2NmY1ZDI2ZTFlOTE2YmFiNWU4M2VmMTMuLmM1OGU0
MDZjNzQ1MTgzZWFjZWJmYjQ1MTQ0NTFiOGEwMjY1MzIzMWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9JbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXIuaApAQCAtMjMsMTAgKzIzLDEwIEBACiAg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBJbmplY3Rl
ZEJ1bmRsZUNvbnRyb2xsZXJfaAotI2RlZmluZSBJbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXJfaAor
I3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlIDxXZWJLaXQvV0tCdW5kbGUuaD4KKyNpbmNsdWRlIDxX
ZWJLaXQvV0tSZXRhaW5QdHIuaD4KICNpbmNsdWRlIDxtYXA+CiAjaW5jbHVkZSA8c3RyaW5nPgog
CkBAIC00MywxMCArNDMsMTAgQEAgcHVibGljOgogICAgIHZvaWQgZHVtcFRlc3ROYW1lcygpOwog
ICAgIHZvaWQgaW5pdGlhbGl6ZVRlc3ROYW1lZChXS0J1bmRsZVJlZiBidW5kbGUsIGNvbnN0IHN0
ZDo6c3RyaW5nJiwgV0tUeXBlUmVmIHVzZXJEYXRhKTsKIAotICAgIHR5cGVkZWYgSW5qZWN0ZWRC
dW5kbGVUZXN0KiAoKkNyZWF0ZUluamVjdGVkQnVuZGxlVGVzdEZ1bmN0aW9uKShjb25zdCBzdGQ6
OnN0cmluZyYpOworICAgIHR5cGVkZWYgc3RkOjp1bmlxdWVfcHRyPEluamVjdGVkQnVuZGxlVGVz
dD4gKCpDcmVhdGVJbmplY3RlZEJ1bmRsZVRlc3RGdW5jdGlvbikoY29uc3Qgc3RkOjpzdHJpbmcm
KTsKICAgICB2b2lkIHJlZ2lzdGVyQ3JlYXRlSW5qZWN0ZWRCdW5kbGVUZXN0RnVuY3Rpb24oY29u
c3Qgc3RkOjpzdHJpbmcmLCBDcmVhdGVJbmplY3RlZEJ1bmRsZVRlc3RGdW5jdGlvbik7CiAKLSAg
ICBXS0J1bmRsZVJlZiBidW5kbGUoKSBjb25zdCB7IHJldHVybiBtX2J1bmRsZTsgfQorICAgIFdL
QnVuZGxlUmVmIGJ1bmRsZSgpIGNvbnN0IHsgcmV0dXJuIG1fYnVuZGxlLmdldCgpOyB9CiAgICAg
CiBwcml2YXRlOgogICAgIEluamVjdGVkQnVuZGxlQ29udHJvbGxlcigpOwpAQCAtNTYsMTUgKzU2
LDEyIEBAIHByaXZhdGU6CiAKICAgICBzdGF0aWMgdm9pZCBkaWRDcmVhdGVQYWdlKFdLQnVuZGxl
UmVmLCBXS0J1bmRsZVBhZ2VSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogICAgIHN0YXRp
YyB2b2lkIHdpbGxEZXN0cm95UGFnZShXS0J1bmRsZVJlZiwgV0tCdW5kbGVQYWdlUmVmLCBjb25z
dCB2b2lkKiBjbGllbnRJbmZvKTsKLSAgICBzdGF0aWMgdm9pZCBkaWRJbml0aWFsaXplUGFnZUdy
b3VwKFdLQnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiwgY29uc3Qgdm9pZCogY2xpZW50
SW5mbyk7CiAgICAgc3RhdGljIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoV0tCdW5kbGVSZWYsIFdL
U3RyaW5nUmVmIG1lc3NhZ2VOYW1lLCBXS1R5cGVSZWYgbWVzc2FnZUJvZHksIGNvbnN0IHZvaWQq
IGNsaWVudEluZm8pOwogICAgIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlVG9QYWdlKFdL
QnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VSZWYsIFdLU3RyaW5nUmVmIG1lc3NhZ2VOYW1lLCBXS1R5
cGVSZWYgbWVzc2FnZUJvZHksIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogCiAgICAgc3RkOjpt
YXA8c3RkOjpzdHJpbmcsIENyZWF0ZUluamVjdGVkQnVuZGxlVGVzdEZ1bmN0aW9uPiBtX2NyZWF0
ZUluamVjdGVkQnVuZGxlVGVzdEZ1bmN0aW9uczsKLSAgICBXS0J1bmRsZVJlZiBtX2J1bmRsZTsK
LSAgICBJbmplY3RlZEJ1bmRsZVRlc3QqIG1fY3VycmVudFRlc3Q7CisgICAgV0tSZXRhaW5QdHI8
V0tCdW5kbGVSZWY+IG1fYnVuZGxlOworICAgIHN0ZDo6dW5pcXVlX3B0cjxJbmplY3RlZEJ1bmRs
ZVRlc3Q+IG1fY3VycmVudFRlc3Q7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJ
Ci0KLSNlbmRpZiAvLyBJbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXJfaApkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9JbmplY3RlZEJ1bmRsZVRlc3QuaCBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvSW5qZWN0ZWRCdW5kbGVUZXN0LmgKaW5kZXggYWQyY2I5NTgxMTVmOWQwYzU5OGFjZDJhOGIz
ZjljZWM1MTNjMDBlYy4uYWZlMTk3YWU3ZDY3NzIwODNjY2M1NTRkODk3MzRkMzY2M2QzZjI2MyAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9JbmplY3RlZEJ1bmRsZVRlc3QuaAorKysg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL0luamVjdGVkQnVuZGxlVGVzdC5oCkBAIC0zOCw3ICszOCw2
IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVQYWdlKFdLQnVuZGxlUmVm
LCBXS0J1bmRsZVBhZ2VSZWYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveVBhZ2Uo
V0tCdW5kbGVSZWYsIFdLQnVuZGxlUGFnZVJlZikgeyB9Ci0gICAgdmlydHVhbCB2b2lkIGRpZElu
aXRpYWxpemVQYWdlR3JvdXAoV0tCdW5kbGVSZWYsIFdLQnVuZGxlUGFnZUdyb3VwUmVmKSB7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoV0tCdW5kbGVSZWYsIFdLU3RyaW5n
UmVmIG1lc3NhZ2VOYW1lLCBXS1R5cGVSZWYgbWVzc2FnZUJvZHkpIHsgfQogICAgIHZpcnR1YWwg
dm9pZCBkaWRSZWNlaXZlTWVzc2FnZVRvUGFnZShXS0J1bmRsZVJlZiwgV0tCdW5kbGVQYWdlUmVm
LCBXS1N0cmluZ1JlZiBtZXNzYWdlTmFtZSwgV0tUeXBlUmVmIG1lc3NhZ2VCb2R5KSB7IH0KIApA
QCAtNTIsOSArNTEsOSBAQCBwdWJsaWM6CiAgICAgICAgIH0KIAogICAgIHByaXZhdGU6Ci0gICAg
ICAgIHN0YXRpYyBJbmplY3RlZEJ1bmRsZVRlc3QqIGNyZWF0ZShjb25zdCBzdGQ6OnN0cmluZyYg
aWRlbnRpZmllcikgCisgICAgICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8SW5qZWN0ZWRCdW5k
bGVUZXN0PiBjcmVhdGUoY29uc3Qgc3RkOjpzdHJpbmcmIGlkZW50aWZpZXIpCiAgICAgICAgIHsK
LSAgICAgICAgICAgIHJldHVybiBuZXcgVGVzdENsYXNzVHkoaWRlbnRpZmllcik7CisgICAgICAg
ICAgICByZXR1cm4gbWFrZVVuaXF1ZVdpdGhvdXRGYXN0TWFsbG9jQ2hlY2s8VGVzdENsYXNzVHk+
KGlkZW50aWZpZXIpOwogICAgICAgICB9CiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRE9NV2luZG93RXh0ZW5zaW9uQmFzaWNfQnVuZGxlLmNw
cCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0RPTVdpbmRvd0V4dGVuc2lvbkJh
c2ljX0J1bmRsZS5jcHAKaW5kZXggMjQzM2NhNTI4ZWY1NGRiYTFiNmZlNmVlNzZiZjAzMmQ0ZWU4
Njg2Ni4uNDhmNTk5ODYxZGUxZjhjMWFlYmNiMDE5Y2I0MmExNGU3NDRmNjc1OSAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRE9NV2luZG93RXh0ZW5zaW9uQmFz
aWNfQnVuZGxlLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9ET01X
aW5kb3dFeHRlbnNpb25CYXNpY19CdW5kbGUuY3BwCkBAIC0zMSw3ICszMSw2IEBACiAjaW5jbHVk
ZSA8V2ViS2l0L1dLQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmg+CiAjaW5jbHVkZSA8V2ViS2l0
L1dLQnVuZGxlRnJhbWUuaD4KICNpbmNsdWRlIDxXZWJLaXQvV0tCdW5kbGVQYWdlLmg+Ci0jaW5j
bHVkZSA8V2ViS2l0L1dLQnVuZGxlUGFnZUdyb3VwLmg+CiAjaW5jbHVkZSA8V2ViS2l0L1dLQnVu
ZGxlUGFnZVByaXZhdGUuaD4KICNpbmNsdWRlIDxXZWJLaXQvV0tCdW5kbGVQcml2YXRlLmg+CiAj
aW5jbHVkZSA8V2ViS2l0L1dLQnVuZGxlU2NyaXB0V29ybGQuaD4KZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0RPTVdpbmRvd0V4dGVuc2lvbk5vQ2FjaGVfQnVu
ZGxlLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0RPTVdpbmRvd0V4dGVu
c2lvbk5vQ2FjaGVfQnVuZGxlLmNwcAppbmRleCAxYzY4YjFmN2JjODFhZWEzOTIwYjU2NjY5MGMw
YTE2OGYxZTRkY2YzLi43NmY4MzZlYTY4N2NiNTc1ZDM1OTYwNGRlMjIyYmQ3ZjE5NThhYTdmIDEw
MDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9ET01XaW5kb3dFeHRl
bnNpb25Ob0NhY2hlX0J1bmRsZS5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQvRE9NV2luZG93RXh0ZW5zaW9uTm9DYWNoZV9CdW5kbGUuY3BwCkBAIC0zMSw3ICszMSw2
IEBACiAjaW5jbHVkZSA8V2ViS2l0L1dLQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmg+CiAjaW5j
bHVkZSA8V2ViS2l0L1dLQnVuZGxlRnJhbWUuaD4KICNpbmNsdWRlIDxXZWJLaXQvV0tCdW5kbGVQ
YWdlLmg+Ci0jaW5jbHVkZSA8V2ViS2l0L1dLQnVuZGxlUGFnZUdyb3VwLmg+CiAjaW5jbHVkZSA8
V2ViS2l0L1dLQnVuZGxlUGFnZVByaXZhdGUuaD4KICNpbmNsdWRlIDxXZWJLaXQvV0tCdW5kbGVQ
cml2YXRlLmg+CiAjaW5jbHVkZSA8V2ViS2l0L1dLQnVuZGxlU2NyaXB0V29ybGQuaD4KZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0RvY3VtZW50U3RhcnRVc2Vy
U2NyaXB0QWxlcnRDcmFzaF9CdW5kbGUuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQvRG9jdW1lbnRTdGFydFVzZXJTY3JpcHRBbGVydENyYXNoX0J1bmRsZS5jcHAKaW5kZXgg
OGJjZDI3Y2QyM2Q4ZGQzZWZkZjcwZmQ2OTE4ODAwYjFiMDQxYjg2OC4uYjczMTU0NzFmYTU2MDli
ZGU1NjEwN2YzY2JlNWVlMjRhOGNlOTQ4NiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXQvRG9jdW1lbnRTdGFydFVzZXJTY3JpcHRBbGVydENyYXNoX0J1bmRsZS5j
cHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRG9jdW1lbnRTdGFydFVz
ZXJTY3JpcHRBbGVydENyYXNoX0J1bmRsZS5jcHAKQEAgLTI4LDcgKzI4LDYgQEAKICNpZiBXS19I
QVZFX0NfU1BJCiAKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVRlc3QuaCIKLSNpbmNsdWRlIDxX
ZWJLaXQvV0tCdW5kbGVQYWdlR3JvdXAuaD4KICNpbmNsdWRlIDxXZWJLaXQvV0tCdW5kbGVQYWdl
UHJpdmF0ZS5oPgogI2luY2x1ZGUgPFdlYktpdC9XS0J1bmRsZVByaXZhdGUuaD4KICNpbmNsdWRl
IDxXZWJLaXQvV0tCdW5kbGVTY3JpcHRXb3JsZC5oPgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvSW5qZWN0ZWRCdW5kbGVEaXNhYmxlT3ZlcnJpZGVCdWlsdGlu
c0JlaGF2aW9yX0J1bmRsZS5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9J
bmplY3RlZEJ1bmRsZURpc2FibGVPdmVycmlkZUJ1aWx0aW5zQmVoYXZpb3JfQnVuZGxlLmNwcApp
bmRleCAzYjAxY2I2ZWU5ZGM0OTI4ZTgwZWUwNGQ5MjlmOTQxYjFhNWVmYzQ1Li44MWVjMjk0Zjlm
NTdmMTc3ZjYwODQ0N2U0M2FhNDAxMDgzYTUyYzAxIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdC9JbmplY3RlZEJ1bmRsZURpc2FibGVPdmVycmlkZUJ1aWx0aW5z
QmVoYXZpb3JfQnVuZGxlLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dC9JbmplY3RlZEJ1bmRsZURpc2FibGVPdmVycmlkZUJ1aWx0aW5zQmVoYXZpb3JfQnVuZGxlLmNw
cApAQCAtMjgsNyArMjgsNiBAQAogI2lmIFdLX0hBVkVfQ19TUEkKIAogI2luY2x1ZGUgIkluamVj
dGVkQnVuZGxlVGVzdC5oIgotI2luY2x1ZGUgPFdlYktpdC9XS0J1bmRsZVBhZ2VHcm91cC5oPgog
I2luY2x1ZGUgPFdlYktpdC9XS0J1bmRsZVBhZ2VQcml2YXRlLmg+CiAjaW5jbHVkZSA8V2ViS2l0
L1dLQnVuZGxlUHJpdmF0ZS5oPgogI2luY2x1ZGUgPFdlYktpdC9XS0J1bmRsZVNjcmlwdFdvcmxk
Lmg+CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9JbmplY3Rl
ZEJ1bmRsZU1ha2VBbGxTaGFkb3dSb290c09wZW5fQnVuZGxlLmNwcCBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0L0luamVjdGVkQnVuZGxlTWFrZUFsbFNoYWRvd1Jvb3RzT3Blbl9C
dW5kbGUuY3BwCmluZGV4IDQ0NGZiOGU1YThkMDJiNjgxYWZhYmRmMWQyNzIxMmI5MTk4MWUxN2Eu
Ljc3MDc5YzgxYTVkMTJiNzlhMzViZWM0OGNlZTkyNmU3ZWFlNDg1YzkgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0luamVjdGVkQnVuZGxlTWFrZUFsbFNoYWRv
d1Jvb3RzT3Blbl9CdW5kbGUuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0L0luamVjdGVkQnVuZGxlTWFrZUFsbFNoYWRvd1Jvb3RzT3Blbl9CdW5kbGUuY3BwCkBAIC0y
OCw3ICsyOCw2IEBACiAjaWYgV0tfSEFWRV9DX1NQSQogCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5k
bGVUZXN0LmgiCi0jaW5jbHVkZSA8V2ViS2l0L1dLQnVuZGxlUGFnZUdyb3VwLmg+CiAjaW5jbHVk
ZSA8V2ViS2l0L1dLQnVuZGxlUGFnZVByaXZhdGUuaD4KICNpbmNsdWRlIDxXZWJLaXQvV0tCdW5k
bGVQcml2YXRlLmg+CiAjaW5jbHVkZSA8V2ViS2l0L1dLQnVuZGxlU2NyaXB0V29ybGQuaD4KZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRC
dW5kbGUuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZS5jcHAKaW5kZXggMjBlNzJkNmRhODkzYWY0ZWFkYzE4MTEzYjgxMWFmYjAzNTRmNzU3
Yy4uNjEwZTIyNDMwNDVlOGViZjExZDI1NzJlMmIxM2ZhODUwMDg3ZGNmMSAxMDA2NDQKLS0tIGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZS5jcHAKQEAgLTc0LDExICs3NCw2IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OndpbGxEZXN0cm95
UGFnZShXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBjCiAgICAgc3Rh
dGljX2Nhc3Q8SW5qZWN0ZWRCdW5kbGUqPihjb25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZvKSkt
PndpbGxEZXN0cm95UGFnZShwYWdlKTsKIH0KIAotdm9pZCBJbmplY3RlZEJ1bmRsZTo6ZGlkSW5p
dGlhbGl6ZVBhZ2VHcm91cChXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVm
IHBhZ2VHcm91cCwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKLXsKLSAgICBzdGF0aWNfY2FzdDxJ
bmplY3RlZEJ1bmRsZSo+KGNvbnN0X2Nhc3Q8dm9pZCo+KGNsaWVudEluZm8pKS0+ZGlkSW5pdGlh
bGl6ZVBhZ2VHcm91cChwYWdlR3JvdXApOwotfQotCiB2b2lkIEluamVjdGVkQnVuZGxlOjpkaWRS
ZWNlaXZlTWVzc2FnZShXS0J1bmRsZVJlZiBidW5kbGUsIFdLU3RyaW5nUmVmIG1lc3NhZ2VOYW1l
LCBXS1R5cGVSZWYgbWVzc2FnZUJvZHksIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7CiAgICAg
c3RhdGljX2Nhc3Q8SW5qZWN0ZWRCdW5kbGUqPihjb25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZv
KSktPmRpZFJlY2VpdmVNZXNzYWdlKG1lc3NhZ2VOYW1lLCBtZXNzYWdlQm9keSk7CkBAIC05Nywx
MiArOTIsMTIgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6aW5pdGlhbGl6ZShXS0J1bmRsZVJlZiBi
dW5kbGUsIFdLVHlwZVJlZiBpbml0aWFsaXphdGlvblVzZXIKICAgICAgICAgeyAxLCB0aGlzIH0s
CiAgICAgICAgIGRpZENyZWF0ZVBhZ2UsCiAgICAgICAgIHdpbGxEZXN0cm95UGFnZSwKLSAgICAg
ICAgZGlkSW5pdGlhbGl6ZVBhZ2VHcm91cCwKKyAgICAgICAgbnVsbHB0ciwKICAgICAgICAgZGlk
UmVjZWl2ZU1lc3NhZ2UsCiAgICAgICAgIGRpZFJlY2VpdmVNZXNzYWdlVG9QYWdlCiAgICAgfTsK
LSAgICBXS0J1bmRsZVNldENsaWVudChtX2J1bmRsZSwgJmNsaWVudC5iYXNlKTsKLSAgICBXS0J1
bmRsZVNldFNlcnZpY2VXb3JrZXJQcm94eUNyZWF0aW9uQ2FsbGJhY2sobV9idW5kbGUsIFdlYkNv
cmVUZXN0U3VwcG9ydDo6c2V0dXBOZXdseUNyZWF0ZWRTZXJ2aWNlV29ya2VyKTsKKyAgICBXS0J1
bmRsZVNldENsaWVudChtX2J1bmRsZS5nZXQoKSwgJmNsaWVudC5iYXNlKTsKKyAgICBXS0J1bmRs
ZVNldFNlcnZpY2VXb3JrZXJQcm94eUNyZWF0aW9uQ2FsbGJhY2sobV9idW5kbGUuZ2V0KCksIFdl
YkNvcmVUZXN0U3VwcG9ydDo6c2V0dXBOZXdseUNyZWF0ZWRTZXJ2aWNlV29ya2VyKTsKICAgICBw
bGF0Zm9ybUluaXRpYWxpemUoaW5pdGlhbGl6YXRpb25Vc2VyRGF0YSk7CiAgICAgV2ViQ29yZVRl
c3RTdXBwb3J0Ojpwb3B1bGF0ZUpJVE9wZXJhdGlvbnMoKTsKIApAQCAtMTIxLDcgKzExNiw3IEBA
IHZvaWQgSW5qZWN0ZWRCdW5kbGU6OmRpZENyZWF0ZVBhZ2UoV0tCdW5kbGVQYWdlUmVmIHBhZ2Up
CiAKICAgICBXS1R5cGVSZWYgcmVzdWx0ID0gbnVsbHB0cjsKICAgICBBTExPV19ERVBSRUNBVEVE
X0RFQ0xBUkFUSU9OU19CRUdJTgotICAgIFdLQnVuZGxlUG9zdFN5bmNocm9ub3VzTWVzc2FnZSht
X2J1bmRsZSwgdG9XSygiSW5pdGlhbGl6YXRpb24iKS5nZXQoKSwgbnVsbHB0ciwgJnJlc3VsdCk7
CisgICAgV0tCdW5kbGVQb3N0U3luY2hyb25vdXNNZXNzYWdlKG1fYnVuZGxlLmdldCgpLCB0b1dL
KCJJbml0aWFsaXphdGlvbiIpLmdldCgpLCBudWxscHRyLCAmcmVzdWx0KTsKICAgICBBTExPV19E
RVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKICAgICBhdXRvIGluaXRpYWxpemF0aW9uRGljdGlv
bmFyeSA9IGFkb3B0V0soZGljdGlvbmFyeVZhbHVlKHJlc3VsdCkpOwogCkBAIC0xMzYsMTEgKzEz
MSw2IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OndpbGxEZXN0cm95UGFnZShXS0J1bmRsZVBhZ2VS
ZWYgcGFnZSkKICAgICB9KTsKIH0KIAotdm9pZCBJbmplY3RlZEJ1bmRsZTo6ZGlkSW5pdGlhbGl6
ZVBhZ2VHcm91cChXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXApCi17Ci0gICAgbV9wYWdl
R3JvdXAgPSBwYWdlR3JvdXA7Ci19Ci0KIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldFVwSW5qZWN0
ZWRCdW5kbGVDbGllbnRzKFdLQnVuZGxlUGFnZVJlZiBwYWdlKQogewogICAgIFdLQnVuZGxlUGFn
ZUZvcm1DbGllbnRWMiBmb3JtQ2xpZW50ID0gewpAQCAtMTc4LDcgKzE2OCw3IEBAIFdLQnVuZGxl
UGFnZVJlZiBJbmplY3RlZEJ1bmRsZTo6cGFnZVJlZigpIGNvbnN0CiAKIHZvaWQgSW5qZWN0ZWRC
dW5kbGU6OmRpZFJlY2VpdmVNZXNzYWdlKFdLU3RyaW5nUmVmLCBXS1R5cGVSZWYpCiB7Ci0gICAg
V0tCdW5kbGVQb3N0TWVzc2FnZShtX2J1bmRsZSwgdG9XSygiRXJyb3IiKS5nZXQoKSwgdG9XSygi
VW5rbm93biIpLmdldCgpKTsKKyAgICBXS0J1bmRsZVBvc3RNZXNzYWdlKG1fYnVuZGxlLmdldCgp
LCB0b1dLKCJFcnJvciIpLmdldCgpLCB0b1dLKCJVbmtub3duIikuZ2V0KCkpOwogfQogCiBzdGF0
aWMgdm9pZCBwb3N0R0NUYXNrKHZvaWQqIGNvbnRleHQpCkBAIC0xOTEsMTAgKzE4MSwxMCBAQCBz
dGF0aWMgdm9pZCBwb3N0R0NUYXNrKHZvaWQqIGNvbnRleHQpCiB2b2lkIEluamVjdGVkQnVuZGxl
OjpyZXBvcnRMaXZlRG9jdW1lbnRzKFdLQnVuZGxlUGFnZVJlZiBwYWdlKQogewogICAgIC8vIFJl
bGVhc2UgbWVtb3J5IGFnYWluLCBhZnRlciB0aGUgR0MgYW5kIHRpbWVyIGZpcmUuIFRoaXMgaXMg
bmVjZXNzYXJ5IHRvIGNsZWFyIGVudHJpZXMgZnJvbSBDYWNoZWRSZXNvdXJjZUxvYWRlcidzIG1f
ZG9jdW1lbnRSZXNvdXJjZXMgaW4gc29tZSBzY2VuYXJpb3MuCi0gICAgV0tCdW5kbGVSZWxlYXNl
TWVtb3J5KG1fYnVuZGxlKTsKKyAgICBXS0J1bmRsZVJlbGVhc2VNZW1vcnkobV9idW5kbGUuZ2V0
KCkpOwogCiAgICAgY29uc3QgYm9vbCBleGNsdWRlRG9jdW1lbnRzSW5QYWdlR3JvdXAgPSB0cnVl
OwotICAgIFdLQnVuZGxlUGFnZVBvc3RNZXNzYWdlKHBhZ2UsIHRvV0soIkxpdmVEb2N1bWVudHMi
KS5nZXQoKSwgYWRvcHRXSyhXS0J1bmRsZUdldExpdmVEb2N1bWVudFVSTHMobV9idW5kbGUsIG1f
cGFnZUdyb3VwLCBleGNsdWRlRG9jdW1lbnRzSW5QYWdlR3JvdXApKS5nZXQoKSk7CisgICAgV0tC
dW5kbGVQYWdlUG9zdE1lc3NhZ2UocGFnZSwgdG9XSygiTGl2ZURvY3VtZW50cyIpLmdldCgpLCBh
ZG9wdFdLKFdLQnVuZGxlR2V0TGl2ZURvY3VtZW50VVJMc0ZvclRlc3RpbmcobV9idW5kbGUuZ2V0
KCksIGV4Y2x1ZGVEb2N1bWVudHNJblBhZ2VHcm91cCkpLmdldCgpKTsKIH0KIAogdm9pZCBJbmpl
Y3RlZEJ1bmRsZTo6ZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2UoV0tCdW5kbGVQYWdlUmVmIHBhZ2Us
IFdLU3RyaW5nUmVmIG1lc3NhZ2VOYW1lLCBXS1R5cGVSZWYgbWVzc2FnZUJvZHkpCkBAIC0yMTYs
NyArMjA2LDcgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6ZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2Uo
V0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIG0KICAgICAgICAgaWYgKGF1dG8gb3B0
aW9ucyA9IHN0cmluZ1ZhbHVlKG1lc3NhZ2VCb2R5RGljdGlvbmFyeSwgIkpTQ09wdGlvbnMiKSkK
ICAgICAgICAgICAgIEpTQzo6T3B0aW9uczo6c2V0T3B0aW9ucyh0b1dURlN0cmluZyhvcHRpb25z
KS51dGY4KCkuZGF0YSgpKTsKICAgICAgICAgaWYgKGJvb2xlYW5WYWx1ZShtZXNzYWdlQm9keURp
Y3Rpb25hcnksICJTaG91bGRHQyIpKQotICAgICAgICAgICAgV0tCdW5kbGVHYXJiYWdlQ29sbGVj
dEphdmFTY3JpcHRPYmplY3RzKG1fYnVuZGxlKTsKKyAgICAgICAgICAgIFdLQnVuZGxlR2FyYmFn
ZUNvbGxlY3RKYXZhU2NyaXB0T2JqZWN0cyhtX2J1bmRsZS5nZXQoKSk7CiAKICNpZiBFTkFCTEUo
QUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQogICAgICAgICBtX2FjY2Vzc2liaWxpdHlJc29s
YXRlZFRyZWVNb2RlID0gYm9vbGVhblZhbHVlKG1lc3NhZ2VCb2R5RGljdGlvbmFyeSwgIkFjY2Vz
c2liaWxpdHlJc29sYXRlZFRyZWUiKTsKQEAgLTI0MywxMiArMjMzLDEyIEBAIHZvaWQgSW5qZWN0
ZWRCdW5kbGU6OmRpZFJlY2VpdmVNZXNzYWdlVG9QYWdlKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBX
S1N0cmluZ1JlZiBtCiAKICAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNz
YWdlTmFtZSwgIkdldExpdmVEb2N1bWVudHMiKSkgewogICAgICAgICBjb25zdCBib29sIGV4Y2x1
ZGVEb2N1bWVudHNJblBhZ2VHcm91cCA9IGZhbHNlOwotICAgICAgICBwb3N0UGFnZU1lc3NhZ2Uo
IkxpdmVEb2N1bWVudHMiLCBhZG9wdFdLKFdLQnVuZGxlR2V0TGl2ZURvY3VtZW50VVJMcyhtX2J1
bmRsZSwgbV9wYWdlR3JvdXAsIGV4Y2x1ZGVEb2N1bWVudHNJblBhZ2VHcm91cCkpKTsKKyAgICAg
ICAgcG9zdFBhZ2VNZXNzYWdlKCJMaXZlRG9jdW1lbnRzIiwgYWRvcHRXSyhXS0J1bmRsZUdldExp
dmVEb2N1bWVudFVSTHNGb3JUZXN0aW5nKG1fYnVuZGxlLmdldCgpLCBleGNsdWRlRG9jdW1lbnRz
SW5QYWdlR3JvdXApKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAoV0tTdHJp
bmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIkNoZWNrRm9yV29ybGRMZWFrcyIp
KSB7Ci0gICAgICAgIFdLQnVuZGxlUmVsZWFzZU1lbW9yeShtX2J1bmRsZSk7CisgICAgICAgIFdL
QnVuZGxlUmVsZWFzZU1lbW9yeShtX2J1bmRsZS5nZXQoKSk7CiAKICAgICAgICAgV0tSZXRhaW4o
cGFnZSk7IC8vIEJhbGFuY2VkIGJ5IHRoZSByZWxlYXNlIGluIHBvc3RHQ1Rhc2suCiAgICAgICAg
IFdLQnVuZGxlUGFnZUNhbGxBZnRlclRhc2tzQW5kVGltZXJzKHBhZ2UsIHBvc3RHQ1Rhc2ssICh2
b2lkKilwYWdlKTsKQEAgLTUyOCwxNCArNTE4LDE0IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OmJl
Z2luVGVzdGluZyhXS0RpY3Rpb25hcnlSZWYgc2V0dGluZ3MsIEJlZ2luZ1Rlc3RpbmdNb2RlIHRl
CiAgICAgaWYgKHRlc3RpbmdNb2RlICE9IEJlZ2luZ1Rlc3RpbmdNb2RlOjpOZXcpCiAgICAgICAg
IHJldHVybjsKIAotICAgIFdLQnVuZGxlQ2xlYXJBbGxEYXRhYmFzZXMobV9idW5kbGUpOworICAg
IFdLQnVuZGxlQ2xlYXJBbGxEYXRhYmFzZXMobV9idW5kbGUuZ2V0KCkpOwogICAgIFdLQnVuZGxl
UGFnZUNsZWFyQXBwbGljYXRpb25DYWNoZShwYWdlKCktPnBhZ2UoKSk7Ci0gICAgV0tCdW5kbGVS
ZXNldE9yaWdpbkFjY2Vzc0FsbG93TGlzdHMobV9idW5kbGUpOwotICAgIFdLQnVuZGxlQ2xlYXJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzKG1fYnVuZGxlKTsKKyAgICBXS0J1bmRsZVJlc2V0T3JpZ2lu
QWNjZXNzQWxsb3dMaXN0cyhtX2J1bmRsZS5nZXQoKSk7CisgICAgV0tCdW5kbGVDbGVhclJlc291
cmNlTG9hZFN0YXRpc3RpY3MobV9idW5kbGUuZ2V0KCkpOwogCiAgICAgLy8gW1dLMl0gUkVHUkVT
U0lPTihyMTI4NjIzKTogSXQgbWFkZSBsYXlvdXQgdGVzdHMgZXh0cmVtZWx5IHNsb3cKICAgICAv
LyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY4NjIKLSAgICAvLyBX
S0J1bmRsZVNldERhdGFiYXNlUXVvdGEobV9idW5kbGUsIDUgKiAxMDI0ICogMTAyNCk7CisgICAg
Ly8gV0tCdW5kbGVTZXREYXRhYmFzZVF1b3RhKG1fYnVuZGxlLmdldCgpLCA1ICogMTAyNCAqIDEw
MjQpOwogfQogCiB2b2lkIEluamVjdGVkQnVuZGxlOjpkb25lKCkKQEAgLTgzOSw3ICs4MjksNyBA
QCB2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRBbGxvd3NBbnlTU0xDZXJ0aWZpY2F0ZShib29sIGFs
bG93c0FueVNTTENlcnRpZmljYXRlKQogCiBib29sIEluamVjdGVkQnVuZGxlOjpzdGF0aXN0aWNz
Tm90aWZ5T2JzZXJ2ZXIoKQogewotICAgIHJldHVybiBXS0J1bmRsZVJlc291cmNlTG9hZFN0YXRp
c3RpY3NOb3RpZnlPYnNlcnZlcihtX2J1bmRsZSk7CisgICAgcmV0dXJuIFdLQnVuZGxlUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc05vdGlmeU9ic2VydmVyKG1fYnVuZGxlLmdldCgpKTsKIH0KIAogdm9p
ZCBJbmplY3RlZEJ1bmRsZTo6dGV4dERpZENoYW5nZUluVGV4dEZpZWxkKCkKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaCBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaApp
bmRleCA2ZDEyMDFlYjA3YmY4YzdmY2ZkMGJmY2I5NjA5N2MzODIxYjliZDVjLi5iZjcxNTUzYjc1
ZWM4NjYzODgyMGVmMzFhMzRlMmZmNzc3NTI0ODNiIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgKKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCkBAIC01MSw4ICs1
MSw3IEBAIHB1YmxpYzoKICAgICAvLyBJbml0aWFsaXplIHRoZSBJbmplY3RlZEJ1bmRsZS4KICAg
ICB2b2lkIGluaXRpYWxpemUoV0tCdW5kbGVSZWYsIFdLVHlwZVJlZiBpbml0aWFsaXphdGlvblVz
ZXJEYXRhKTsKIAotICAgIFdLQnVuZGxlUmVmIGJ1bmRsZSgpIGNvbnN0IHsgcmV0dXJuIG1fYnVu
ZGxlOyB9Ci0gICAgV0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdyb3VwKCkgY29uc3QgeyByZXR1
cm4gbV9wYWdlR3JvdXA7IH0KKyAgICBXS0J1bmRsZVJlZiBidW5kbGUoKSBjb25zdCB7IHJldHVy
biBtX2J1bmRsZS5nZXQoKTsgfQogCiAgICAgVGVzdFJ1bm5lciogdGVzdFJ1bm5lcigpIHsgcmV0
dXJuIG1fdGVzdFJ1bm5lci5nZXQoKTsgfQogICAgIEdDQ29udHJvbGxlciogZ2NDb250cm9sbGVy
KCkgeyByZXR1cm4gbV9nY0NvbnRyb2xsZXIuZ2V0KCk7IH0KQEAgLTE1MiwxMyArMTUxLDExIEBA
IHByaXZhdGU6CiAKICAgICBzdGF0aWMgdm9pZCBkaWRDcmVhdGVQYWdlKFdLQnVuZGxlUmVmLCBX
S0J1bmRsZVBhZ2VSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogICAgIHN0YXRpYyB2b2lk
IHdpbGxEZXN0cm95UGFnZShXS0J1bmRsZVJlZiwgV0tCdW5kbGVQYWdlUmVmLCBjb25zdCB2b2lk
KiBjbGllbnRJbmZvKTsKLSAgICBzdGF0aWMgdm9pZCBkaWRJbml0aWFsaXplUGFnZUdyb3VwKFdL
QnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7
CiAgICAgc3RhdGljIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoV0tCdW5kbGVSZWYsIFdLU3RyaW5n
UmVmIG1lc3NhZ2VOYW1lLCBXS1R5cGVSZWYgbWVzc2FnZUJvZHksIGNvbnN0IHZvaWQqIGNsaWVu
dEluZm8pOwogICAgIHN0YXRpYyB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlVG9QYWdlKFdLQnVuZGxl
UmVmLCBXS0J1bmRsZVBhZ2VSZWYsIFdLU3RyaW5nUmVmIG1lc3NhZ2VOYW1lLCBXS1R5cGVSZWYg
bWVzc2FnZUJvZHksIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogCiAgICAgdm9pZCBkaWRDcmVh
dGVQYWdlKFdLQnVuZGxlUGFnZVJlZik7CiAgICAgdm9pZCB3aWxsRGVzdHJveVBhZ2UoV0tCdW5k
bGVQYWdlUmVmKTsKLSAgICB2b2lkIGRpZEluaXRpYWxpemVQYWdlR3JvdXAoV0tCdW5kbGVQYWdl
R3JvdXBSZWYpOwogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoV0tTdHJpbmdSZWYgbWVzc2Fn
ZU5hbWUsIFdLVHlwZVJlZiBtZXNzYWdlQm9keSk7CiAgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2Fn
ZVRvUGFnZShXS0J1bmRsZVBhZ2VSZWYsIFdLU3RyaW5nUmVmIG1lc3NhZ2VOYW1lLCBXS1R5cGVS
ZWYgbWVzc2FnZUJvZHkpOwogCkBAIC0xNjksOCArMTY2LDcgQEAgcHJpdmF0ZToKICAgICBlbnVt
IGNsYXNzIEJlZ2luZ1Rlc3RpbmdNb2RlIHsgTmV3LCBSZXN1bWUgfTsKICAgICB2b2lkIGJlZ2lu
VGVzdGluZyhXS0RpY3Rpb25hcnlSZWYgaW5pdGlhbFNldHRpbmdzLCBCZWdpbmdUZXN0aW5nTW9k
ZSk7CiAKLSAgICBXS0J1bmRsZVJlZiBtX2J1bmRsZSB7IG51bGxwdHIgfTsKLSAgICBXS0J1bmRs
ZVBhZ2VHcm91cFJlZiBtX3BhZ2VHcm91cCB7IG51bGxwdHIgfTsKKyAgICBXS1JldGFpblB0cjxX
S0J1bmRsZVJlZj4gbV9idW5kbGU7CiAgICAgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxJbmplY3Rl
ZEJ1bmRsZVBhZ2U+PiBtX3BhZ2VzOwogCiAjaWYgSEFWRShBQ0NFU1NJQklMSVRZKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNw
cCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAK
aW5kZXggYzY5ZGJmNTVlMjUwNWJkMGYyMzQ2MWE4MDNkMmM3MWRhOTc0MTQ3My4uMmUwNTA4NTFi
OTYwODlhZmU1ZGJiZDA0NWM0NGIzMDdkOTgyYWZjYyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAorKysgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCkBAIC03OTAsNyArNzkw
LDcgQEAgdm9pZCBUZXN0UnVubmVyOjpzZXRVc2VyU3R5bGVTaGVldEVuYWJsZWQoYm9vbCBlbmFi
bGVkKQogICAgIGF1dG8gZW1wdHlTdHJpbmcgPSB0b1dLKCIiKTsKICAgICBhdXRvIGxvY2F0aW9u
ID0gZW5hYmxlZCA/IG1fdXNlclN0eWxlU2hlZXRMb2NhdGlvbi5nZXQoKSA6IGVtcHR5U3RyaW5n
LmdldCgpOwogICAgIGF1dG8mIGluamVjdGVkQnVuZGxlID0gSW5qZWN0ZWRCdW5kbGU6OnNpbmds
ZXRvbigpOwotICAgIFdLQnVuZGxlU2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbihpbmplY3RlZEJ1
bmRsZS5idW5kbGUoKSwgaW5qZWN0ZWRCdW5kbGUucGFnZUdyb3VwKCksIGxvY2F0aW9uKTsKKyAg
ICBXS0J1bmRsZVNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb25Gb3JUZXN0aW5nKGluamVjdGVkQnVu
ZGxlLmJ1bmRsZSgpLCBsb2NhdGlvbik7CiB9CiAKIHZvaWQgVGVzdFJ1bm5lcjo6c2V0VXNlclN0
eWxlU2hlZXRMb2NhdGlvbihKU1N0cmluZ1JlZiBsb2NhdGlvbikKQEAgLTgyNCw3ICs4MjQsNyBA
QCB2b2lkIFRlc3RSdW5uZXI6OnNldENhY2hlTW9kZWwoaW50IG1vZGVsKQogdm9pZCBUZXN0UnVu
bmVyOjpzZXRBc3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5hYmxlZChib29sIGVuYWJsZWQpCiB7
CiAgICAgYXV0byYgaW5qZWN0ZWRCdW5kbGUgPSBJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCk7
Ci0gICAgV0tCdW5kbGVTZXRBc3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5hYmxlZChpbmplY3Rl
ZEJ1bmRsZS5idW5kbGUoKSwgaW5qZWN0ZWRCdW5kbGUucGFnZUdyb3VwKCksIGVuYWJsZWQpOwor
ICAgIFdLQnVuZGxlU2V0QXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJsZWRGb3JUZXN0aW5n
KGluamVjdGVkQnVuZGxlLmJ1bmRsZSgpLCBlbmFibGVkKTsKIH0KIAogdm9pZCBUZXN0UnVubmVy
OjpncmFudFdlYk5vdGlmaWNhdGlvblBlcm1pc3Npb24oSlNTdHJpbmdSZWYgb3JpZ2luKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427930</attachid>
            <date>2021-05-06 13:34:07 -0700</date>
            <delta_ts>2021-05-08 22:04:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225471-20210506133406.patch</filename>
            <type>text/plain</type>
            <size>53607</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MDk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDkyZDZlZDJhNjJmNGVlZWY3
NWI3MWQzY2ZlMzA1NjVlMjdjMzg2ODQuLjhiMDc5MjNkYmUwZTMwNzIyNTVhMzRhNTZhYjMzZjFm
YmE3YTRjNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTEgQEAKKzIwMjEtMDUtMDYgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgV0tC
dW5kbGVQYWdlR3JvdXBSZWYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyNTQ3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEl0cyBsYXN0IHVzZSB3YXMgcmVtb3ZlZCBpbiByZGFyOi8vNjkyMjMzMTYKKwor
ICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0FQSUlu
amVjdGVkQnVuZGxlQnVuZGxlQ2xpZW50Lmg6CisgICAgICAgIChBUEk6OkluamVjdGVkQnVuZGxl
OjpDbGllbnQ6OndpbGxEZXN0cm95UGFnZSk6CisgICAgICAgIChBUEk6OkluamVjdGVkQnVuZGxl
OjpDbGllbnQ6OmRpZEluaXRpYWxpemVQYWdlR3JvdXApOiBEZWxldGVkLgorICAgICAgICAqIFdl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblBhZ2VH
cm91cC5tbToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlLmNwcDoKKyAgICAgICAgKFdLQnVuZGxlU2V0QXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0Vu
YWJsZWRGb3JUZXN0aW5nKToKKyAgICAgICAgKFdLQnVuZGxlR2V0TGl2ZURvY3VtZW50VVJMc0Zv
clRlc3RpbmcpOgorICAgICAgICAoV0tCdW5kbGVTZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uRm9y
VGVzdGluZyk6CisgICAgICAgIChXS0J1bmRsZUFkZFVzZXJTY3JpcHQpOiBEZWxldGVkLgorICAg
ICAgICAoV0tCdW5kbGVBZGRVc2VyU3R5bGVTaGVldCk6IERlbGV0ZWQuCisgICAgICAgIChXS0J1
bmRsZVJlbW92ZVVzZXJTY3JpcHQpOiBEZWxldGVkLgorICAgICAgICAoV0tCdW5kbGVSZW1vdmVV
c2VyU3R5bGVTaGVldCk6IERlbGV0ZWQuCisgICAgICAgIChXS0J1bmRsZVJlbW92ZVVzZXJTY3Jp
cHRzKTogRGVsZXRlZC4KKyAgICAgICAgKFdLQnVuZGxlUmVtb3ZlVXNlclN0eWxlU2hlZXRzKTog
RGVsZXRlZC4KKyAgICAgICAgKFdLQnVuZGxlUmVtb3ZlQWxsVXNlckNvbnRlbnQpOiBEZWxldGVk
LgorICAgICAgICAoV0tCdW5kbGVTZXRBc3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5hYmxlZCk6
IERlbGV0ZWQuCisgICAgICAgIChXS0J1bmRsZUdldExpdmVEb2N1bWVudFVSTHMpOiBEZWxldGVk
LgorICAgICAgICAoV0tCdW5kbGVTZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uKTogRGVsZXRlZC4K
KyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlQVBJQ2Fz
dC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQ
YWdlLmNwcDoKKyAgICAgICAgKFdLQnVuZGxlUGFnZUdldFBhZ2VHcm91cCk6IERlbGV0ZWQuCisg
ICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZUdy
b3VwLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9jL1dLQnVuZGxlUGFnZUdyb3VwLmg6IFJlbW92ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
SW5qZWN0ZWRCdW5kbGU6OnNldEFzeW5jaHJvbm91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKToKKyAg
ICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6OnNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb24p
OgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6bGl2ZURvY3VtZW50VVJMcyk6Cisg
ICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVuZGxlOjpkaWRJbml0aWFsaXplUGFnZUdyb3VwKTog
RGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkluamVjdGVkQnVuZGxlQ2xpZW50OjpkaWRJ
bml0aWFsaXplUGFnZUdyb3VwKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlQ2xpZW50Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2VHcm91cFByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZUdy
b3VwUHJveHk6OmNyZWF0ZSk6CisKIDIwMjEtMDUtMDYgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9o
c2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gVUkgcHJvY2VzcyBoYW5ncyB3aGVuIHNo
b3dpbmcgYSBtb2RhbCBKYXZhU2NyaXB0IGRpYWxvZyB3aGlsZSBmb2N1c2luZyBhbiBpbnB1dCBm
aWVsZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dl
YktpdC9IZWFkZXJzLmNtYWtlCmluZGV4IDM0NmM4YTYzYTdiN2FlNDk3YTFiZWUyNGQ3ZjgwOGIw
ZmE4Y2U0YTMuLjUwZGQxZDFmZDk4NmZiYjU0ZDEwOGE5MjgyZDBlZjc2ZGIyODRiZjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0L0hl
YWRlcnMuY21ha2UKQEAgLTEzOSw3ICsxMzksNiBAQCBzZXQoV2ViS2l0X1BVQkxJQ19GUkFNRVdP
UktfSEVBREVSUwogICAgIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQ
YWdlRWRpdG9yQ2xpZW50LmgKICAgICBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlUGFnZUZvcm1DbGllbnQuaAogICAgIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5oCi0gICAgV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VHcm91cC5oCiAgICAgV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VMb2FkZXJDbGllbnQuaAogICAgIFdlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlT3ZlcmxheS5oCiAgICAgV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQb2xpY3lDbGllbnQuaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQVBJL2Mvd3BlL1dlYktpdC5oIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvQVBJL2Mvd3BlL1dlYktpdC5oCmluZGV4IDg5OGUzMGIzNzBkYjgxNzZlODg2
ZmJiZGUwY2Q5NjBlMzhhNjQ4MTguLmNhZjY3ZTFkZWNlNWI3MjdlNDNlYmE3ODBlNzA4MTRmOGZk
YjBmNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FQSS9jL3dwZS9XZWJLaXQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BUEkvYy93cGUvV2ViS2l0LmgKQEAgLTY2LDcg
KzY2LDYgQEAKICNpbmNsdWRlIDxXZWJLaXQvV0tCdW5kbGVQYWdlRWRpdG9yQ2xpZW50Lmg+CiAj
aW5jbHVkZSA8V2ViS2l0L1dLQnVuZGxlUGFnZUZvcm1DbGllbnQuaD4KICNpbmNsdWRlIDxXZWJL
aXQvV0tCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5oPgotI2luY2x1ZGUgPFdlYktpdC9XS0J1
bmRsZVBhZ2VHcm91cC5oPgogI2luY2x1ZGUgPFdlYktpdC9XS0J1bmRsZVBhZ2VMb2FkZXJDbGll
bnQuaD4KICNpbmNsdWRlIDxXZWJLaXQvV0tCdW5kbGVQYWdlT3ZlcmxheS5oPgogI2luY2x1ZGUg
PFdlYktpdC9XS0J1bmRsZVBhZ2VQb2xpY3lDbGllbnQuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CmluZGV4IGQ2YWRi
ZWUzMjRiN2RhZWU4MjdiNGUyOWY2ODVhNGY3ZTIxOTczNTQuLjU4NTM2NmQ5YjY3YjcxMGZhOTJm
MWNhOGEyMWZiMjU0NmY2MDc2NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNlcy50
eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApAQCAtNTYyLDcgKzU2Miw2IEBAIFdl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVJbnNwZWN0b3IuY3BwCiBXZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlTmF2aWdhdGlvbkFjdGlvbi5jcHAK
IFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVOb2RlSGFuZGxlLmNwcAog
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwCi1XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZUdyb3VwLmNwcAogV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VPdmVybGF5LmNwcAogV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVJhbmdlSGFuZGxlLmNwcAogV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVNjcmlwdFdvcmxkLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggY2NmM2RlZmEw
NmFjYTY3NmExNTM0ZjQyMjk0ODgyM2RiNjYxNzZkYi4uYjgwNTQxNjRiMmI2NjNkNTk4NGI2ODJh
NTJiODU5NzcyMTMyMGFhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC0xNzU3LDcgKzE3NTcsNiBAQAogCQlCQzdCNjIxNTEyQTQyMTlB
MDBEMTc0QTQgLyogV2ViUGFnZUdyb3VwUHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDN0I2MjEzMTJBNDIxOUEwMEQxNzRBNCAvKiBXZWJQYWdl
R3JvdXBQcm94eS5oICovOyB9OwogCQlCQzdCNjI1MjEyQTQzQzk2MDBEMTc0QTQgLyogV2ViUGFn
ZUdyb3VwRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkM3QjYyNTAxMkE0M0M5NjAwRDE3NEE0IC8qIFdlYlBhZ2VHcm91cERhdGEuaCAqLzsgfTsK
IAkJQkM3QjYzMzcxMkE0NUFCQTAwRDE3NEE0IC8qIFdLUGFnZUdyb3VwLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzdCNjMzNTEyQTQ1QUJBMDBEMTc0
QTQgLyogV0tQYWdlR3JvdXAuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwotCQlCQzdCNjMzRDEyQTQ1RDEyMDBEMTc0QTQgLyogV0tCdW5kbGVQYWdlR3Jv
dXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDN0I2
MzNCMTJBNDVEMTIwMEQxNzRBNCAvKiBXS0J1bmRsZVBhZ2VHcm91cC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUJDODE0N0E5MTJGNjRDREEwMDdC
MkMzMiAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VQb2xpY3lDbGllbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDODE0N0E3MTJGNjRDREEwMDdCMkMzMiAv
KiBJbmplY3RlZEJ1bmRsZVBhZ2VQb2xpY3lDbGllbnQuaCAqLzsgfTsKIAkJQkM4MTQ3RDUxMkY2
NkQzMTAwN0IyQzMyIC8qIEluamVjdGVkQnVuZGxlTmF2aWdhdGlvbkFjdGlvbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM4MTQ3RDMxMkY2NkQzMTAw
N0IyQzMyIC8qIEluamVjdGVkQnVuZGxlTmF2aWdhdGlvbkFjdGlvbi5oICovOyB9OwogCQlCQzgy
ODNEQTE2QjREQjkzMDBBMjc4RkUgLyogV2ViS2l0LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhEQzJFRjVCMDQ4NkE2OTQwMDk4QjIx
NiAvKiBXZWJLaXQuZnJhbWV3b3JrICovOyB9OwpAQCAtNTM3OSw4ICs1Mzc4LDYgQEAKIAkJQkM3
QjYyNTExMkE0M0M5NjAwRDE3NEE0IC8qIFdlYlBhZ2VHcm91cERhdGEuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUGFnZUdyb3VwRGF0YS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDN0I2MzM1MTJBNDVBQkEwMEQxNzRBNCAvKiBXS1BhZ2VH
cm91cC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1BhZ2VHcm91cC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzdCNjMzNjEyQTQ1QUJBMDBEMTc0QTQgLyog
V0tQYWdlR3JvdXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tQ
YWdlR3JvdXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQzdCNjMzQjEyQTQ1
RDEyMDBEMTc0QTQgLyogV0tCdW5kbGVQYWdlR3JvdXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV0tCdW5kbGVQYWdlR3JvdXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJQkM3QjYzM0MxMkE0NUQxMjAwRDE3NEE0IC8qIFdLQnVuZGxlUGFnZUdyb3VwLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLQnVuZGxlUGFnZUdyb3VwLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM4MTQ3QTcxMkY2NENEQTAwN0IyQzMy
IC8qIEluamVjdGVkQnVuZGxlUGFnZVBvbGljeUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBJbmplY3RlZEJ1bmRsZVBhZ2VQb2xpY3lDbGllbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+Ijsgd3JhcHNMaW5lcyA9IDA7IH07CiAJCUJDODE0N0E4MTJGNjRDREEwMDdC
MkMzMiAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VQb2xpY3lDbGllbnQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5qZWN0ZWRCdW5kbGVQYWdlUG9saWN5Q2xpZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsgd3JhcHNMaW5lcyA9IDA7IH07CiAJCUJDODE0N0Qz
MTJGNjZEMzEwMDdCMkMzMiAvKiBJbmplY3RlZEJ1bmRsZU5hdmlnYXRpb25BY3Rpb24uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5qZWN0ZWRCdW5kbGVOYXZpZ2F0aW9uQWN0
aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDU0NSw4ICsxMDU0Miw2IEBA
CiAJCQkJMUFCNDc0REYxODRENDQ2QTAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZUVkaXRvckNsaWVu
dC5oICovLAogCQkJCTFBQjQ3NEUxMTg0RDQ0ODAwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VGb3Jt
Q2xpZW50LmggKi8sCiAJCQkJMUFCNDc0RTUxODRENDRCNDAwNTFCNjIyIC8qIFdLQnVuZGxlUGFn
ZUZ1bGxTY3JlZW5DbGllbnQuaCAqLywKLQkJCQlCQzdCNjMzQzEyQTQ1RDEyMDBEMTc0QTQgLyog
V0tCdW5kbGVQYWdlR3JvdXAuY3BwICovLAotCQkJCUJDN0I2MzNCMTJBNDVEMTIwMEQxNzRBNCAv
KiBXS0J1bmRsZVBhZ2VHcm91cC5oICovLAogCQkJCTFBQjQ3NEQ3MTg0RDQzRkQwMDUxQjYyMiAv
KiBXS0J1bmRsZVBhZ2VMb2FkZXJDbGllbnQuaCAqLywKIAkJCQkxQTIyRjEwMDEyODlGQ0Q5MDA4
NUU3NEYgLyogV0tCdW5kbGVQYWdlT3ZlcmxheS5jcHAgKi8sCiAJCQkJMUEyMkYwRkYxMjg5RkNE
OTAwODVFNzRGIC8qIFdLQnVuZGxlUGFnZU92ZXJsYXkuaCAqLywKQEAgLTEyNjQ3LDcgKzEyNjQy
LDYgQEAKIAkJCQkxQUI0NzRFMDE4NEQ0NDZBMDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlRWRpdG9y
Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUI0NzRFMjE4NEQ0NDgwMDA1MUI2MjIgLyog
V0tCdW5kbGVQYWdlRm9ybUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCNDc0RTYxODRE
NDRCNDAwNTFCNjIyIC8qIFdLQnVuZGxlUGFnZUZ1bGxTY3JlZW5DbGllbnQuaCBpbiBIZWFkZXJz
ICovLAotCQkJCUJDN0I2MzNEMTJBNDVEMTIwMEQxNzRBNCAvKiBXS0J1bmRsZVBhZ2VHcm91cC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCNDc0RDgxODRENDNGRDAwNTFCNjIyIC8qIFdLQnVuZGxl
UGFnZUxvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzZBNENBMEIyMjUyODk5ODAw
MTY5Mjg5IC8qIFdLQnVuZGxlUGFnZU1hYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRUQ4MkE3RjIx
MjhDNkZBRjAwNDQ3N0IzIC8qIFdLQnVuZGxlUGFnZU92ZXJsYXkuaCBpbiBIZWFkZXJzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9B
UElJbmplY3RlZEJ1bmRsZUJ1bmRsZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9BUElJbmplY3RlZEJ1bmRsZUJ1bmRsZUNsaWVudC5oCmluZGV4
IDkyZjlhYmFjODQ5N2U2MDM3YmNhODhiZDUxOWU5Yzg0MDBkOWE4YmEuLjBkMjdiMzczNTg3YTMz
ZTI5OTE5MDEwN2E1Y2EzMmU5Mzc3NGI1YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQVBJSW5qZWN0ZWRCdW5kbGVCdW5kbGVDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0FQSUlu
amVjdGVkQnVuZGxlQnVuZGxlQ2xpZW50LmgKQEAgLTQ1LDcgKzQ1LDYgQEAgcHVibGljOgogCiAg
ICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZVBhZ2UoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZSYsIFdl
YktpdDo6V2ViUGFnZSYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveVBhZ2UoV2Vi
S2l0OjpJbmplY3RlZEJ1bmRsZSYsIFdlYktpdDo6V2ViUGFnZSYpIHsgfQotICAgIHZpcnR1YWwg
dm9pZCBkaWRJbml0aWFsaXplUGFnZUdyb3VwKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGUmLCBXZWJL
aXQ6OldlYlBhZ2VHcm91cFByb3h5JikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVN
ZXNzYWdlKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGUmLCBjb25zdCBXVEY6OlN0cmluZyYsIEFQSTo6
T2JqZWN0KikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlVG9QYWdlKFdl
YktpdDo6SW5qZWN0ZWRCdW5kbGUmLCBXZWJLaXQ6OldlYlBhZ2UmLCBjb25zdCBXVEY6OlN0cmlu
ZyYsIEFQSTo6T2JqZWN0KikgeyB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9Db2NvYS9XS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3Jv
dXAubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29h
L1dLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5tbQppbmRleCA0ZjgwMWM0MzlmOWM1MTIxNDFk
NThiZjdiYTNkNzc3MGIxY2U0Y2ViLi41MjY3OWRiNjBkMmQ1ODlkOGE4ZjQxMTVlOTRjOGEwMmI0
MTYzODZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1BsdWdJblBhZ2VHcm91cC5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0NvY29hL1dLV2ViUHJvY2Vzc1Bs
dWdJblBhZ2VHcm91cC5tbQpAQCAtMjYsNyArMjYsNiBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAj
aW1wb3J0ICJXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3JvdXBJbnRlcm5hbC5oIgogCi0jaW1wb3J0
ICJXS0J1bmRsZVBhZ2VHcm91cC5oIgogI2ltcG9ydCAiV0tBUElDYXN0LmgiCiAjaW1wb3J0ICJX
S05TU3RyaW5nLmgiCiAjaW1wb3J0ICJXS1JldGFpblB0ci5oIgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHAK
aW5kZXggMGM1MDM4NmZjZjk5ZTYzYWM1NmUzOWZiN2Q1MThmMDA3Y2ZhMzZlNS4uYjQzNTZhNDJj
ZDJiZWRiYmVkOTQ5NDE2MDcwNTUxYWFhNzNhNDliZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGUuY3BwCkBA
IC05NiwzNCArOTYsNiBAQCBzaXplX3QgV0tCdW5kbGVHZXRKYXZhU2NyaXB0T2JqZWN0c0NvdW50
KFdLQnVuZGxlUmVmIGJ1bmRsZVJlZikKICAgICByZXR1cm4gV2ViS2l0Ojp0b0ltcGwoYnVuZGxl
UmVmKS0+amF2YVNjcmlwdE9iamVjdHNDb3VudCgpOwogfQogCi12b2lkIFdLQnVuZGxlQWRkVXNl
clNjcmlwdChXS0J1bmRsZVJlZiwgV0tCdW5kbGVQYWdlR3JvdXBSZWYsIFdLQnVuZGxlU2NyaXB0
V29ybGRSZWYsIFdLU3RyaW5nUmVmLCBXS1VSTFJlZiwgV0tBcnJheVJlZiwgV0tBcnJheVJlZiwg
X1dLVXNlclNjcmlwdEluamVjdGlvblRpbWUsIFdLVXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcykK
LXsKLX0KLQotdm9pZCBXS0J1bmRsZUFkZFVzZXJTdHlsZVNoZWV0KFdLQnVuZGxlUmVmLCBXS0J1
bmRsZVBhZ2VHcm91cFJlZiwgV0tCdW5kbGVTY3JpcHRXb3JsZFJlZiwgV0tTdHJpbmdSZWYsIFdL
VVJMUmVmLCBXS0FycmF5UmVmLCBXS0FycmF5UmVmLCBXS1VzZXJDb250ZW50SW5qZWN0ZWRGcmFt
ZXMpCi17Ci19Ci0KLXZvaWQgV0tCdW5kbGVSZW1vdmVVc2VyU2NyaXB0KFdLQnVuZGxlUmVmLCBX
S0J1bmRsZVBhZ2VHcm91cFJlZiwgV0tCdW5kbGVTY3JpcHRXb3JsZFJlZiwgV0tVUkxSZWYpCi17
Ci19Ci0KLXZvaWQgV0tCdW5kbGVSZW1vdmVVc2VyU3R5bGVTaGVldChXS0J1bmRsZVJlZiwgV0tC
dW5kbGVQYWdlR3JvdXBSZWYsIFdLQnVuZGxlU2NyaXB0V29ybGRSZWYsIFdLVVJMUmVmKQotewot
fQotCi12b2lkIFdLQnVuZGxlUmVtb3ZlVXNlclNjcmlwdHMoV0tCdW5kbGVSZWYsIFdLQnVuZGxl
UGFnZUdyb3VwUmVmLCBXS0J1bmRsZVNjcmlwdFdvcmxkUmVmKQotewotfQotCi12b2lkIFdLQnVu
ZGxlUmVtb3ZlVXNlclN0eWxlU2hlZXRzKFdLQnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VHcm91cFJl
ZiwgV0tCdW5kbGVTY3JpcHRXb3JsZFJlZikKLXsKLX0KLQotdm9pZCBXS0J1bmRsZVJlbW92ZUFs
bFVzZXJDb250ZW50KFdLQnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VHcm91cFJlZikKLXsKLX0KLQog
dm9pZCBXS0J1bmRsZUFkZE9yaWdpbkFjY2Vzc0FsbG93TGlzdEVudHJ5KFdLQnVuZGxlUmVmIGJ1
bmRsZVJlZiwgV0tTdHJpbmdSZWYgc291cmNlT3JpZ2luLCBXS1N0cmluZ1JlZiBkZXN0aW5hdGlv
blByb3RvY29sLCBXS1N0cmluZ1JlZiBkZXN0aW5hdGlvbkhvc3QsIGJvb2wgYWxsb3dEZXN0aW5h
dGlvblN1YmRvbWFpbnMpCiB7CiAgICAgV2ViS2l0Ojp0b0ltcGwoYnVuZGxlUmVmKS0+YWRkT3Jp
Z2luQWNjZXNzQWxsb3dMaXN0RW50cnkoV2ViS2l0Ojp0b1dURlN0cmluZyhzb3VyY2VPcmlnaW4p
LCBXZWJLaXQ6OnRvV1RGU3RyaW5nKGRlc3RpbmF0aW9uUHJvdG9jb2wpLCBXZWJLaXQ6OnRvV1RG
U3RyaW5nKGRlc3RpbmF0aW9uSG9zdCksIGFsbG93RGVzdGluYXRpb25TdWJkb21haW5zKTsKQEAg
LTEzOSwxNCArMTExLDE0IEBAIHZvaWQgV0tCdW5kbGVSZXNldE9yaWdpbkFjY2Vzc0FsbG93TGlz
dHMoV0tCdW5kbGVSZWYgYnVuZGxlUmVmKQogICAgIFdlYktpdDo6dG9JbXBsKGJ1bmRsZVJlZikt
PnJlc2V0T3JpZ2luQWNjZXNzQWxsb3dMaXN0cygpOwogfQogCi12b2lkIFdLQnVuZGxlU2V0QXN5
bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoV0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBXS0J1
bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYsIGJvb2wgZW5hYmxlZCkKK3ZvaWQgV0tCdW5k
bGVTZXRBc3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5hYmxlZEZvclRlc3RpbmcoV0tCdW5kbGVS
ZWYgYnVuZGxlUmVmLCBib29sIGVuYWJsZWQpCiB7Ci0gICAgV2ViS2l0Ojp0b0ltcGwoYnVuZGxl
UmVmKS0+c2V0QXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoV2ViS2l0Ojp0b0ltcGwo
cGFnZUdyb3VwUmVmKSwgZW5hYmxlZCk7CisgICAgV2ViS2l0Ojp0b0ltcGwoYnVuZGxlUmVmKS0+
c2V0QXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoZW5hYmxlZCk7CiB9CiAKLVdLQXJy
YXlSZWYgV0tCdW5kbGVHZXRMaXZlRG9jdW1lbnRVUkxzKFdLQnVuZGxlUmVmIGJ1bmRsZVJlZiwg
V0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdyb3VwUmVmLCBib29sIGV4Y2x1ZGVEb2N1bWVudHNJ
blBhZ2VHcm91cFBhZ2VzKQorV0tBcnJheVJlZiBXS0J1bmRsZUdldExpdmVEb2N1bWVudFVSTHNG
b3JUZXN0aW5nKFdLQnVuZGxlUmVmIGJ1bmRsZVJlZiwgYm9vbCBleGNsdWRlRG9jdW1lbnRzSW5Q
YWdlR3JvdXBQYWdlcykKIHsKLSAgICBhdXRvIGxpdmVEb2N1bWVudHMgPSBXZWJLaXQ6OnRvSW1w
bChidW5kbGVSZWYpLT5saXZlRG9jdW1lbnRVUkxzKFdlYktpdDo6dG9JbXBsKHBhZ2VHcm91cFJl
ZiksIGV4Y2x1ZGVEb2N1bWVudHNJblBhZ2VHcm91cFBhZ2VzKTsKKyAgICBhdXRvIGxpdmVEb2N1
bWVudHMgPSBXZWJLaXQ6OnRvSW1wbChidW5kbGVSZWYpLT5saXZlRG9jdW1lbnRVUkxzKGV4Y2x1
ZGVEb2N1bWVudHNJblBhZ2VHcm91cFBhZ2VzKTsKIAogICAgIGF1dG8gbGl2ZVVSTHMgPSBhZG9w
dFdLKFdLTXV0YWJsZUFycmF5Q3JlYXRlKCkpOwogCkBAIC0yMTksOSArMTkxLDkgQEAgYm9vbCBX
S0J1bmRsZUlzUHJvY2Vzc2luZ1VzZXJHZXN0dXJlKFdLQnVuZGxlUmVmKQogICAgIHJldHVybiBX
ZWJLaXQ6OkluamVjdGVkQnVuZGxlOjppc1Byb2Nlc3NpbmdVc2VyR2VzdHVyZSgpOwogfQogCi12
b2lkIFdLQnVuZGxlU2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbihXS0J1bmRsZVJlZiBidW5kbGVS
ZWYsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cFJlZiwgV0tTdHJpbmdSZWYgbG9jYXRp
b24pCit2b2lkIFdLQnVuZGxlU2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbkZvclRlc3RpbmcoV0tC
dW5kbGVSZWYgYnVuZGxlUmVmLCBXS1N0cmluZ1JlZiBsb2NhdGlvbikKIHsKLSAgICBXZWJLaXQ6
OnRvSW1wbChidW5kbGVSZWYpLT5zZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uKFdlYktpdDo6dG9J
bXBsKHBhZ2VHcm91cFJlZiksIFdlYktpdDo6dG9XVEZTdHJpbmcobG9jYXRpb24pKTsKKyAgICBX
ZWJLaXQ6OnRvSW1wbChidW5kbGVSZWYpLT5zZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uKFdlYktp
dDo6dG9XVEZTdHJpbmcobG9jYXRpb24pKTsKIH0KIAogdm9pZCBXS0J1bmRsZVNldFdlYk5vdGlm
aWNhdGlvblBlcm1pc3Npb24oV0tCdW5kbGVSZWYgYnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VSZWYg
cGFnZVJlZiwgV0tTdHJpbmdSZWYgb3JpZ2luU3RyaW5nUmVmLCBib29sIGFsbG93ZWQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVBUElDYXN0LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL2MvV0tCdW5kbGVBUElDYXN0LmgKaW5kZXggOGQ4N2MzN2E4M2RkY2QxYTVjNzdiZDc0ZmIx
YzYwZTcyZmRlNWJkOS4uYzM5MzI2NzI5Y2ZlNWI3M2RkYTY3YjdhNDI0MzY5MjUwYmU3ZWYxNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9j
L1dLQnVuZGxlQVBJQ2FzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUFQSUNhc3QuaApAQCAtNjEsNyArNjEsNiBAQCBXS19BRERf
QVBJX01BUFBJTkcoV0tCdW5kbGVJbnNwZWN0b3JSZWYsIFdlYkluc3BlY3RvcikKIFdLX0FERF9B
UElfTUFQUElORyhXS0J1bmRsZU5hdmlnYXRpb25BY3Rpb25SZWYsIEluamVjdGVkQnVuZGxlTmF2
aWdhdGlvbkFjdGlvbikKIFdLX0FERF9BUElfTUFQUElORyhXS0J1bmRsZU5vZGVIYW5kbGVSZWYs
IEluamVjdGVkQnVuZGxlTm9kZUhhbmRsZSkKIFdLX0FERF9BUElfTUFQUElORyhXS0J1bmRsZVBh
Z2VCYW5uZXJSZWYsIFBhZ2VCYW5uZXIpCi1XS19BRERfQVBJX01BUFBJTkcoV0tCdW5kbGVQYWdl
R3JvdXBSZWYsIFdlYlBhZ2VHcm91cFByb3h5KQogV0tfQUREX0FQSV9NQVBQSU5HKFdLQnVuZGxl
UGFnZU92ZXJsYXlSZWYsIFdlYlBhZ2VPdmVybGF5KQogV0tfQUREX0FQSV9NQVBQSU5HKFdLQnVu
ZGxlUGFnZVJlZiwgV2ViUGFnZSkKIFdLX0FERF9BUElfTUFQUElORyhXS0J1bmRsZVJhbmdlSGFu
ZGxlUmVmLCBJbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdl
LmNwcAppbmRleCA4MTg5NjJjN2RmYzRjNTc5ZjA1ZWY5MjM5NGVkZDg1NjVkYzJhYmI2Li5lYzIy
YjY2ODJmZTdiMTA2NTA1NTkzNDUyMzQxYWEzOTA5MmExNjg5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5k
bGVQYWdlLmNwcApAQCAtMTYzLDExICsxNjMsNiBAQCB2b2lkIFdLQnVuZGxlUGFnZURpZEV4aXRG
dWxsU2NyZWVuKFdLQnVuZGxlUGFnZVJlZiBwYWdlUmVmKQogI2VuZGlmCiB9CiAKLVdLQnVuZGxl
UGFnZUdyb3VwUmVmIFdLQnVuZGxlUGFnZUdldFBhZ2VHcm91cChXS0J1bmRsZVBhZ2VSZWYgcGFn
ZVJlZikKLXsKLSAgICByZXR1cm4gdG9BUEkoV2ViS2l0Ojp0b0ltcGwocGFnZVJlZiktPnBhZ2VH
cm91cCgpKTsKLX0KLQogV0tCdW5kbGVGcmFtZVJlZiBXS0J1bmRsZVBhZ2VHZXRNYWluRnJhbWUo
V0tCdW5kbGVQYWdlUmVmIHBhZ2VSZWYpCiB7CiAgICAgcmV0dXJuIHRvQVBJKCZXZWJLaXQ6OnRv
SW1wbChwYWdlUmVmKS0+bWFpbldlYkZyYW1lKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5oIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5oCmlu
ZGV4IGQ3NjJlOWNlMWU0YWZjMzkzNjcyNWRkMGFlZWMxMzBiNjVlNDc5NzAuLmM1ZjFjZTMxYTQ1
MWQ2ZTQ3NTVmM2JiNmI3Mjk1YmZkYzVmZTA1NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmgK
QEAgLTY2LDcgKzY2LDYgQEAgV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVQYWdlU2V0UG9saWN5Q2xp
ZW50KFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZVBhZ2VQb2wKIFdLX0VYUE9SVCB2b2lk
IFdLQnVuZGxlUGFnZVNldFVJQ2xpZW50KFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZVBh
Z2VVSUNsaWVudEJhc2UqIGNsaWVudCk7CiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVBhZ2VTZXRG
dWxsU2NyZWVuQ2xpZW50KFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS0J1bmRsZVBhZ2VGdWxsU2Ny
ZWVuQ2xpZW50QmFzZSogY2xpZW50KTsKIAotV0tfRVhQT1JUIFdLQnVuZGxlUGFnZUdyb3VwUmVm
IFdLQnVuZGxlUGFnZUdldFBhZ2VHcm91cChXS0J1bmRsZVBhZ2VSZWYgcGFnZSk7CiBXS19FWFBP
UlQgV0tCdW5kbGVGcmFtZVJlZiBXS0J1bmRsZVBhZ2VHZXRNYWluRnJhbWUoV0tCdW5kbGVQYWdl
UmVmIHBhZ2UpOwogV0tfRVhQT1JUIFdLRnJhbWVIYW5kbGVSZWYgV0tCdW5kbGVGcmFtZUNyZWF0
ZUZyYW1lSGFuZGxlKFdLQnVuZGxlRnJhbWVSZWYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlR3JvdXAuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
UGFnZUdyb3VwLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGY1NmRkYjJjMTMx
Njg5MDMwMWYzNjc3ZTU5YzQ1NjU0NTJlMWFlNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2MvV0tCdW5kbGVQYWdlR3JvdXAuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXS0J1bmRs
ZVBhZ2VHcm91cC5oIgotCi0jaW5jbHVkZSAiV0tBUElDYXN0LmgiCi0jaW5jbHVkZSAiV0tCdW5k
bGVBUElDYXN0LmgiCi0jaW5jbHVkZSAiV2ViUGFnZUdyb3VwUHJveHkuaCIKLQotV0tUeXBlSUQg
V0tCdW5kbGVQYWdlR3JvdXBHZXRUeXBlSUQoKQotewotICAgIHJldHVybiBXZWJLaXQ6OnRvQVBJ
KFdlYktpdDo6V2ViUGFnZUdyb3VwUHJveHk6OkFQSVR5cGUpOwotfQotCi1XS1N0cmluZ1JlZiBX
S0J1bmRsZVBhZ2VHcm91cENvcHlJZGVudGlmaWVyKFdLQnVuZGxlUGFnZUdyb3VwUmVmIGJ1bmRs
ZVBhZ2VHcm91cCkKLXsKLSAgICByZXR1cm4gV2ViS2l0Ojp0b0NvcGllZEFQSShXZWJLaXQ6OnRv
SW1wbChidW5kbGVQYWdlR3JvdXApLT5pZGVudGlmaWVyKCkpOwotfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZUdy
b3VwLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVQYWdlR3JvdXAuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjQzODk0M2I4
MjU0ZTViYTc3Yzg3YTg2MTA2N2VjOTNjY2U1MTEzOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlR3JvdXAuaAorKysgL2Rldi9udWxsCkBAIC0xLDQzICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0g
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFdLQnVuZGxlUGFnZUdyb3VwX2gKLSNkZWZpbmUg
V0tCdW5kbGVQYWdlR3JvdXBfaAotCi0jaW5jbHVkZSA8V2ViS2l0L1dLQmFzZS5oPgotCi0jaWZk
ZWYgX19jcGx1c3BsdXMKLWV4dGVybiAiQyIgewotI2VuZGlmCi0KLVdLX0VYUE9SVCBXS1R5cGVJ
RCBXS0J1bmRsZVBhZ2VHcm91cEdldFR5cGVJRCgpOwotCi1XS19FWFBPUlQgV0tTdHJpbmdSZWYg
V0tCdW5kbGVQYWdlR3JvdXBDb3B5SWRlbnRpZmllcihXS0J1bmRsZVBhZ2VHcm91cFJlZiBidW5k
bGVQYWdlR3JvdXApOwotCi0jaWZkZWYgX19jcGx1c3BsdXMKLX0KLSNlbmRpZgotCi0jZW5kaWYg
LyogV0tCdW5kbGVQYWdlR3JvdXBfaCAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUHJpdmF0ZS5oIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUHJpdmF0ZS5oCmlu
ZGV4IDA2ZWQ0ODdmOTA3OTBiNjIwNTczNTgxNzIwZjU1ZGJkY2ViNjBmNTQuLmE0ZDIzZjUzN2Uz
NWQ4ZmQ1MWNjMDIzOTA3ZjY0YTMzYTczNjc0NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2
YXRlLmgKQEAgLTQ5LDIzICs0OSwxNCBAQCBXS19FWFBPUlQgaW50IFdLQnVuZGxlTnVtYmVyT2ZQ
YWdlcyhXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWVSZQogV0tfRVhQ
T1JUIGludCBXS0J1bmRsZVBhZ2VOdW1iZXJGb3JFbGVtZW50QnlJZChXS0J1bmRsZVJlZiBidW5k
bGUsIFdLQnVuZGxlRnJhbWVSZWYgZnJhbWVSZWYsIFdLU3RyaW5nUmVmIGlkUmVmLCBkb3VibGUg
cGFnZVdpZHRoSW5QaXhlbHMsIGRvdWJsZSBwYWdlSGVpZ2h0SW5QaXhlbHMpOwogV0tfRVhQT1JU
IFdLU3RyaW5nUmVmIFdLQnVuZGxlUGFnZVNpemVBbmRNYXJnaW5zSW5QaXhlbHMoV0tCdW5kbGVS
ZWYgYnVuZGxlLCBXS0J1bmRsZUZyYW1lUmVmIGZyYW1lUmVmLCBpbnQsIGludCwgaW50LCBpbnQs
IGludCwgaW50LCBpbnQpOwogV0tfRVhQT1JUIGJvb2wgV0tCdW5kbGVJc1BhZ2VCb3hWaXNpYmxl
KFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVGcmFtZVJlZiBmcmFtZVJlZiwgaW50KTsKLVdL
X0VYUE9SVCB2b2lkIFdLQnVuZGxlU2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbihXS0J1bmRsZVJl
ZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgV0tTdHJpbmdSZWYgbG9j
YXRpb24pOworV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVTZXRVc2VyU3R5bGVTaGVldExvY2F0aW9u
Rm9yVGVzdGluZyhXS0J1bmRsZVJlZiBidW5kbGUsIFdLU3RyaW5nUmVmIGxvY2F0aW9uKTsKIFdL
X0VYUE9SVCB2b2lkIFdLQnVuZGxlU2V0V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbihXS0J1bmRs
ZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBvcmlnaW5TdHJp
bmdSZWYsIGJvb2wgYWxsb3dlZCk7CiBXS19FWFBPUlQgdm9pZCBXS0J1bmRsZVJlbW92ZUFsbFdl
Yk5vdGlmaWNhdGlvblBlcm1pc3Npb25zKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdl
UmVmIHBhZ2UpOwogV0tfRVhQT1JUIHVpbnQ2NF90IFdLQnVuZGxlR2V0V2ViTm90aWZpY2F0aW9u
SUQoV0tCdW5kbGVSZWYgYnVuZGxlLCBKU0NvbnRleHRSZWYgY29udGV4dCwgSlNWYWx1ZVJlZiBu
b3RpZmljYXRpb24pOwogV0tfRVhQT1JUIFdLRGF0YVJlZiBXS0J1bmRsZUNyZWF0ZVdLRGF0YUZy
b21VSW50OEFycmF5KFdLQnVuZGxlUmVmIGJ1bmRsZSwgSlNDb250ZXh0UmVmIGNvbnRleHQsIEpT
VmFsdWVSZWYgZGF0YSk7Ci1XS19FWFBPUlQgdm9pZCBXS0J1bmRsZVNldEFzeW5jaHJvbm91c1Nw
ZWxsQ2hlY2tpbmdFbmFibGVkKFdLQnVuZGxlUmVmIGJ1bmRsZVJlZiwgV0tCdW5kbGVQYWdlR3Jv
dXBSZWYgcGFnZUdyb3VwUmVmLCBib29sIGVuYWJsZWQpOworV0tfRVhQT1JUIHZvaWQgV0tCdW5k
bGVTZXRBc3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5hYmxlZEZvclRlc3RpbmcoV0tCdW5kbGVS
ZWYgYnVuZGxlUmVmLCBib29sIGVuYWJsZWQpOwogLy8gUmV0dXJucyBhcnJheSBvZiBkaWN0aW9u
YXJpZXMuIERpY3Rpb25hcnkga2V5cyBhcmUgZG9jdW1lbnQgaWRlbnRpZmllcnMsIHZhbHVlcyBh
cmUgZG9jdW1lbnQgVVJMcy4KLVdLX0VYUE9SVCBXS0FycmF5UmVmIFdLQnVuZGxlR2V0TGl2ZURv
Y3VtZW50VVJMcyhXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VH
cm91cCwgYm9vbCBleGNsdWRlRG9jdW1lbnRzSW5QYWdlR3JvdXBQYWdlcyk7Ci0KLS8vIFVzZXJD
b250ZW50IEFQSQotV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVBZGRVc2VyU2NyaXB0KFdLQnVuZGxl
UmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlR3JvdXBSZWYgcGFnZUdyb3VwLCBXS0J1bmRsZVNjcmlw
dFdvcmxkUmVmIHNjcmlwdFdvcmxkLCBXS1N0cmluZ1JlZiBzb3VyY2UsIFdLVVJMUmVmIHVybCwg
V0tBcnJheVJlZiBhbGxvd2xpc3QsIFdLQXJyYXlSZWYgYmxvY2tsaXN0LCBfV0tVc2VyU2NyaXB0
SW5qZWN0aW9uVGltZSBpbmplY3Rpb25UaW1lLCBXS1VzZXJDb250ZW50SW5qZWN0ZWRGcmFtZXMg
aW5qZWN0ZWRGcmFtZXMpIFdLX0NfQVBJX0RFUFJFQ0FURURfV0lUSF9SRVBMQUNFTUVOVChXS0J1
bmRsZVBhZ2VBZGRVc2VyU2NyaXB0KTsKLVdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlQWRkVXNlclN0
eWxlU2hlZXQoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3Jv
dXAsIFdLQnVuZGxlU2NyaXB0V29ybGRSZWYgc2NyaXB0V29ybGQsIFdLU3RyaW5nUmVmIHNvdXJj
ZSwgV0tVUkxSZWYgdXJsLCBXS0FycmF5UmVmIGFsbG93bGlzdCwgV0tBcnJheVJlZiBibG9ja2xp
c3QsIFdLVXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcyBpbmplY3RlZEZyYW1lcykgV0tfQ19BUElf
REVQUkVDQVRFRF9XSVRIX1JFUExBQ0VNRU5UKFdLQnVuZGxlUGFnZUFkZFVzZXJTdHlsZVNoZWV0
KTsKLVdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlUmVtb3ZlVXNlclNjcmlwdChXS0J1bmRsZVJlZiBi
dW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgV0tCdW5kbGVTY3JpcHRXb3Js
ZFJlZiBzY3JpcHRXb3JsZCwgV0tVUkxSZWYgdXJsKSBXS19DX0FQSV9ERVBSRUNBVEVEOwotV0tf
RVhQT1JUIHZvaWQgV0tCdW5kbGVSZW1vdmVVc2VyU3R5bGVTaGVldChXS0J1bmRsZVJlZiBidW5k
bGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgV0tCdW5kbGVTY3JpcHRXb3JsZFJl
ZiBzY3JpcHRXb3JsZCwgV0tVUkxSZWYgdXJsKSBXS19DX0FQSV9ERVBSRUNBVEVEOwotV0tfRVhQ
T1JUIHZvaWQgV0tCdW5kbGVSZW1vdmVVc2VyU2NyaXB0cyhXS0J1bmRsZVJlZiBidW5kbGUsIFdL
QnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCwgV0tCdW5kbGVTY3JpcHRXb3JsZFJlZiBzY3Jp
cHRXb3JsZCkgV0tfQ19BUElfREVQUkVDQVRFRDsKLVdLX0VYUE9SVCB2b2lkIFdLQnVuZGxlUmVt
b3ZlVXNlclN0eWxlU2hlZXRzKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tCdW5kbGVQYWdlR3JvdXBS
ZWYgcGFnZUdyb3VwLCBXS0J1bmRsZVNjcmlwdFdvcmxkUmVmIHNjcmlwdFdvcmxkKSBXS19DX0FQ
SV9ERVBSRUNBVEVEOwotV0tfRVhQT1JUIHZvaWQgV0tCdW5kbGVSZW1vdmVBbGxVc2VyQ29udGVu
dChXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZUdyb3VwUmVmIHBhZ2VHcm91cCkgV0tf
Q19BUElfREVQUkVDQVRFRF9XSVRIX1JFUExBQ0VNRU5UKFdLQnVuZGxlUGFnZVJlbW92ZUFsbFVz
ZXJDb250ZW50KTsKK1dLX0VYUE9SVCBXS0FycmF5UmVmIFdLQnVuZGxlR2V0TGl2ZURvY3VtZW50
VVJMc0ZvclRlc3RpbmcoV0tCdW5kbGVSZWYgYnVuZGxlLCBib29sIGV4Y2x1ZGVEb2N1bWVudHNJ
blBhZ2VHcm91cFBhZ2VzKTsKIAogLy8gTG9jYWwgc3RvcmFnZSBBUEkKIFdLX0VYUE9SVCB2b2lk
IFdLQnVuZGxlQ2xlYXJBbGxEYXRhYmFzZXMoV0tCdW5kbGVSZWYgYnVuZGxlKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRC
dW5kbGUuY3BwCmluZGV4IDE0ODA5MjA2ZmNkYTEzZTQ5MjQ0ODZmNmFlY2FiOTJlYWI1YzczZGIu
LmEwOWM3ZDdjYzU5ZjM4ZjMzZjM3MjU5MWQyZTNhOWUzNjYyNjI4MDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlLmNwcApAQCAtMTcxLDEwICsxNzEsMTEgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6cmVzZXRP
cmlnaW5BY2Nlc3NBbGxvd0xpc3RzKCkKICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5lbnN1
cmVOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OlJlc2V0T3JpZ2luQWNjZXNzQWxsb3dMaXN0
cyB7IH0sIDApOwogfQogCi12b2lkIEluamVjdGVkQnVuZGxlOjpzZXRBc3luY2hyb25vdXNTcGVs
bENoZWNraW5nRW5hYmxlZChXZWJQYWdlR3JvdXBQcm94eSogcGFnZUdyb3VwLCBib29sIGVuYWJs
ZWQpCit2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRBc3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5h
YmxlZChib29sIGVuYWJsZWQpCiB7Ci0gICAgZm9yIChhdXRvJiBwYWdlIDogUGFnZUdyb3VwOjpw
YWdlR3JvdXAocGFnZUdyb3VwLT5pZGVudGlmaWVyKCkpLT5wYWdlcygpKQorICAgIFBhZ2U6OmZv
ckVhY2hQYWdlKFtlbmFibGVkXShQYWdlJiBwYWdlKSB7CiAgICAgICAgIHBhZ2Uuc2V0dGluZ3Mo
KS5zZXRBc3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5hYmxlZChlbmFibGVkKTsKKyAgICB9KTsK
IH0KIAogaW50IEluamVjdGVkQnVuZGxlOjpudW1iZXJPZlBhZ2VzKFdlYkZyYW1lKiBmcmFtZSwg
ZG91YmxlIHBhZ2VXaWR0aEluUGl4ZWxzLCBkb3VibGUgcGFnZUhlaWdodEluUGl4ZWxzKQpAQCAt
MjcyLDExICsyNzMsNiBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjp3aWxsRGVzdHJveVBhZ2UoV2Vi
UGFnZSogcGFnZSkKICAgICBtX2NsaWVudC0+d2lsbERlc3Ryb3lQYWdlKCp0aGlzLCAqcGFnZSk7
CiB9CiAKLXZvaWQgSW5qZWN0ZWRCdW5kbGU6OmRpZEluaXRpYWxpemVQYWdlR3JvdXAoV2ViUGFn
ZUdyb3VwUHJveHkqIHBhZ2VHcm91cCkKLXsKLSAgICBtX2NsaWVudC0+ZGlkSW5pdGlhbGl6ZVBh
Z2VHcm91cCgqdGhpcywgKnBhZ2VHcm91cCk7Ci19Ci0KIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OmRp
ZFJlY2VpdmVNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVzc2FnZU5hbWUsIEFQSTo6T2JqZWN0KiBt
ZXNzYWdlQm9keSkKIHsKICAgICBtX2NsaWVudC0+ZGlkUmVjZWl2ZU1lc3NhZ2UoKnRoaXMsIG1l
c3NhZ2VOYW1lLCBtZXNzYWdlQm9keSk7CkBAIC0yODcsMTAgKzI4MywxMSBAQCB2b2lkIEluamVj
dGVkQnVuZGxlOjpkaWRSZWNlaXZlTWVzc2FnZVRvUGFnZShXZWJQYWdlKiBwYWdlLCBjb25zdCBT
dHJpbmcmIG1lc3NhZwogICAgIG1fY2xpZW50LT5kaWRSZWNlaXZlTWVzc2FnZVRvUGFnZSgqdGhp
cywgKnBhZ2UsIG1lc3NhZ2VOYW1lLCBtZXNzYWdlQm9keSk7CiB9CiAKLXZvaWQgSW5qZWN0ZWRC
dW5kbGU6OnNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb24oV2ViUGFnZUdyb3VwUHJveHkqIHBhZ2VH
cm91cCwgY29uc3QgU3RyaW5nJiBsb2NhdGlvbikKK3ZvaWQgSW5qZWN0ZWRCdW5kbGU6OnNldFVz
ZXJTdHlsZVNoZWV0TG9jYXRpb24oY29uc3QgU3RyaW5nJiBsb2NhdGlvbikKIHsKLSAgICBmb3Ig
KGF1dG8mIHBhZ2UgOiBQYWdlR3JvdXA6OnBhZ2VHcm91cChwYWdlR3JvdXAtPmlkZW50aWZpZXIo
KSktPnBhZ2VzKCkpCisgICAgUGFnZTo6Zm9yRWFjaFBhZ2UoW2xvY2F0aW9uXShQYWdlJiBwYWdl
KSB7CiAgICAgICAgIHBhZ2Uuc2V0dGluZ3MoKS5zZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uKFVS
TChVUkwoKSwgbG9jYXRpb24pKTsKKyAgICB9KTsKIH0KIAogdm9pZCBJbmplY3RlZEJ1bmRsZTo6
c2V0V2ViTm90aWZpY2F0aW9uUGVybWlzc2lvbihXZWJQYWdlKiBwYWdlLCBjb25zdCBTdHJpbmcm
IG9yaWdpblN0cmluZywgYm9vbCBhbGxvd2VkKQpAQCAtMzM2LDcgKzMzMyw3IEBAIFJlZjxBUEk6
OkRhdGE+IEluamVjdGVkQnVuZGxlOjpjcmVhdGVXZWJEYXRhRnJvbVVpbnQ4QXJyYXkoSlNDb250
ZXh0UmVmIGNvbnRleHQsCiAgICAgcmV0dXJuIEFQSTo6RGF0YTo6Y3JlYXRlKHN0YXRpY19jYXN0
PHVuc2lnbmVkIGNoYXIqPihhcnJheURhdGEtPmJhc2VBZGRyZXNzKCkpLCBhcnJheURhdGEtPmJ5
dGVMZW5ndGgoKSk7CiB9CiAKLUluamVjdGVkQnVuZGxlOjpEb2N1bWVudElEVG9VUkxNYXAgSW5q
ZWN0ZWRCdW5kbGU6OmxpdmVEb2N1bWVudFVSTHMoV2ViUGFnZUdyb3VwUHJveHkqIHBhZ2VHcm91
cCwgYm9vbCBleGNsdWRlRG9jdW1lbnRzSW5QYWdlR3JvdXBQYWdlcykKK0luamVjdGVkQnVuZGxl
OjpEb2N1bWVudElEVG9VUkxNYXAgSW5qZWN0ZWRCdW5kbGU6OmxpdmVEb2N1bWVudFVSTHMoYm9v
bCBleGNsdWRlRG9jdW1lbnRzSW5QYWdlR3JvdXBQYWdlcykKIHsKICAgICBEb2N1bWVudElEVG9V
UkxNYXAgcmVzdWx0OwogCkBAIC0zNDQsMTMgKzM0MSwxMyBAQCBJbmplY3RlZEJ1bmRsZTo6RG9j
dW1lbnRJRFRvVVJMTWFwIEluamVjdGVkQnVuZGxlOjpsaXZlRG9jdW1lbnRVUkxzKFdlYlBhZ2VH
cm91cAogICAgICAgICByZXN1bHQuYWRkKGRvY3VtZW50LT5pZGVudGlmaWVyKCkudG9VSW50NjQo
KSwgZG9jdW1lbnQtPnVybCgpLnN0cmluZygpKTsKIAogICAgIGlmIChleGNsdWRlRG9jdW1lbnRz
SW5QYWdlR3JvdXBQYWdlcykgewotICAgICAgICBmb3IgKGF1dG8mIHBhZ2UgOiBQYWdlR3JvdXA6
OnBhZ2VHcm91cChwYWdlR3JvdXAtPmlkZW50aWZpZXIoKSktPnBhZ2VzKCkpIHsKKyAgICAgICAg
UGFnZTo6Zm9yRWFjaFBhZ2UoWyZdKFBhZ2UmIHBhZ2UpIHsKICAgICAgICAgICAgIGZvciAoYXV0
byogZnJhbWUgPSAmcGFnZS5tYWluRnJhbWUoKTsgZnJhbWU7IGZyYW1lID0gZnJhbWUtPnRyZWUo
KS50cmF2ZXJzZU5leHQoKSkgewogICAgICAgICAgICAgICAgIGlmICghZnJhbWUtPmRvY3VtZW50
KCkpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIHJlc3Vs
dC5yZW1vdmUoZnJhbWUtPmRvY3VtZW50KCktPmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKICAg
ICAgICAgICAgIH0KLSAgICAgICAgfQorICAgICAgICB9KTsKICAgICB9CiAKICAgICByZXR1cm4g
cmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAppbmRleCBjMjhjZTdmMmUxN2U4OWE4ZTUxODZhNzcwNmEy
ZThhNDRmNmI3ZTM2Li41YTRmNmE4NzliMTMyNDU0YmMyZTFkNWRkNGMyZjQ2MDUzZTE5YTRkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGUuaApAQCAtOTgsMTkgKzk4LDE5IEBAIHB1YmxpYzoKICAgICB2b2lkIGFk
ZE9yaWdpbkFjY2Vzc0FsbG93TGlzdEVudHJ5KGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYs
IGNvbnN0IFN0cmluZyYsIGJvb2wpOwogICAgIHZvaWQgcmVtb3ZlT3JpZ2luQWNjZXNzQWxsb3dM
aXN0RW50cnkoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgYm9v
bCk7CiAgICAgdm9pZCByZXNldE9yaWdpbkFjY2Vzc0FsbG93TGlzdHMoKTsKLSAgICB2b2lkIHNl
dEFzeW5jaHJvbm91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKFdlYlBhZ2VHcm91cFByb3h5KiwgYm9v
bCk7CisgICAgdm9pZCBzZXRBc3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5hYmxlZChib29sKTsK
ICAgICBpbnQgbnVtYmVyT2ZQYWdlcyhXZWJGcmFtZSosIGRvdWJsZSwgZG91YmxlKTsKICAgICBp
bnQgcGFnZU51bWJlckZvckVsZW1lbnRCeUlkKFdlYkZyYW1lKiwgY29uc3QgU3RyaW5nJiwgZG91
YmxlLCBkb3VibGUpOwogICAgIFN0cmluZyBwYWdlU2l6ZUFuZE1hcmdpbnNJblBpeGVscyhXZWJG
cmFtZSosIGludCwgaW50LCBpbnQsIGludCwgaW50LCBpbnQsIGludCk7CiAgICAgYm9vbCBpc1Bh
Z2VCb3hWaXNpYmxlKFdlYkZyYW1lKiwgaW50KTsKLSAgICB2b2lkIHNldFVzZXJTdHlsZVNoZWV0
TG9jYXRpb24oV2ViUGFnZUdyb3VwUHJveHkqLCBjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHNl
dFVzZXJTdHlsZVNoZWV0TG9jYXRpb24oY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBzZXRXZWJO
b3RpZmljYXRpb25QZXJtaXNzaW9uKFdlYlBhZ2UqLCBjb25zdCBTdHJpbmcmIG9yaWdpblN0cmlu
ZywgYm9vbCBhbGxvd2VkKTsKICAgICB2b2lkIHJlbW92ZUFsbFdlYk5vdGlmaWNhdGlvblBlcm1p
c3Npb25zKFdlYlBhZ2UqKTsKICAgICB1aW50NjRfdCB3ZWJOb3RpZmljYXRpb25JRChKU0NvbnRl
eHRSZWYsIEpTVmFsdWVSZWYpOwogICAgIFJlZjxBUEk6OkRhdGE+IGNyZWF0ZVdlYkRhdGFGcm9t
VWludDhBcnJheShKU0NvbnRleHRSZWYsIEpTVmFsdWVSZWYpOwogICAgIAogICAgIHR5cGVkZWYg
SGFzaE1hcDx1aW50NjRfdCwgU3RyaW5nPiBEb2N1bWVudElEVG9VUkxNYXA7Ci0gICAgRG9jdW1l
bnRJRFRvVVJMTWFwIGxpdmVEb2N1bWVudFVSTHMoV2ViUGFnZUdyb3VwUHJveHkqLCBib29sIGV4
Y2x1ZGVEb2N1bWVudHNJblBhZ2VHcm91cFBhZ2VzKTsKKyAgICBEb2N1bWVudElEVG9VUkxNYXAg
bGl2ZURvY3VtZW50VVJMcyhib29sIGV4Y2x1ZGVEb2N1bWVudHNJblBhZ2VHcm91cFBhZ2VzKTsK
IAogICAgIC8vIEdhcmJhZ2UgY29sbGVjdGlvbiBBUEkKICAgICB2b2lkIGdhcmJhZ2VDb2xsZWN0
SmF2YVNjcmlwdE9iamVjdHMoKTsKQEAgLTEyMCw3ICsxMjAsNiBAQCBwdWJsaWM6CiAgICAgLy8g
Q2FsbGJhY2sgaG9va3MKICAgICB2b2lkIGRpZENyZWF0ZVBhZ2UoV2ViUGFnZSopOwogICAgIHZv
aWQgd2lsbERlc3Ryb3lQYWdlKFdlYlBhZ2UqKTsKLSAgICB2b2lkIGRpZEluaXRpYWxpemVQYWdl
R3JvdXAoV2ViUGFnZUdyb3VwUHJveHkqKTsKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKGNv
bnN0IFN0cmluZyYsIEFQSTo6T2JqZWN0Kik7CiAgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZVRv
UGFnZShXZWJQYWdlKiwgY29uc3QgU3RyaW5nJiwgQVBJOjpPYmplY3QqKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
Q2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9Jbmpl
Y3RlZEJ1bmRsZUNsaWVudC5jcHAKaW5kZXggOWE3N2M1MzliYzllMGJiNDI4Y2RkMzA2MWM4NTlh
OTdhYWEzMTIzZC4uNTg0ZDhlMDc5ZDc1ZGQwZTc3MDc3YWRiMWZmMDU5MmE3NTNhYzAyOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGVDbGllbnQuY3BwCkBAIC01NCwxNCArNTQsNiBAQCB2b2lkIElu
amVjdGVkQnVuZGxlQ2xpZW50Ojp3aWxsRGVzdHJveVBhZ2UoSW5qZWN0ZWRCdW5kbGUmIGJ1bmRs
ZSwgV2ViUGFnZSYgcGFnZQogICAgIG1fY2xpZW50LndpbGxEZXN0cm95UGFnZSh0b0FQSSgmYnVu
ZGxlKSwgdG9BUEkoJnBhZ2UpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogfQogCi12b2lk
IEluamVjdGVkQnVuZGxlQ2xpZW50OjpkaWRJbml0aWFsaXplUGFnZUdyb3VwKEluamVjdGVkQnVu
ZGxlJiBidW5kbGUsIFdlYlBhZ2VHcm91cFByb3h5JiBwYWdlR3JvdXApCi17Ci0gICAgaWYgKCFt
X2NsaWVudC5kaWRJbml0aWFsaXplUGFnZUdyb3VwKQotICAgICAgICByZXR1cm47Ci0KLSAgICBt
X2NsaWVudC5kaWRJbml0aWFsaXplUGFnZUdyb3VwKHRvQVBJKCZidW5kbGUpLCB0b0FQSSgmcGFn
ZUdyb3VwKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKLX0KLQogdm9pZCBJbmplY3RlZEJ1
bmRsZUNsaWVudDo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSW5qZWN0ZWRCdW5kbGUmIGJ1bmRsZSwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlTmFtZSwgQVBJOjpPYmplY3QqIG1lc3NhZ2VCb2R5KQogewogICAg
IGlmICghbV9jbGllbnQuZGlkUmVjZWl2ZU1lc3NhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVDbGllbnQuaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUNsaWVu
dC5oCmluZGV4IGJkZjgzZDU4Nzk0ZGUzMzNlNDFhMzIyZmQxNTk2YTU5N2Y1NzIxOWIuLjdjZGVh
ZWQ2NjRjYmEzODQ1YTMzOWQ0MGZiNTRhNGZlZmY3N2M4MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZUNsaWVudC5oCkBAIC01MSw3ICs1MSw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZGlkQ3JlYXRl
UGFnZShJbmplY3RlZEJ1bmRsZSYsIFdlYlBhZ2UmKSBvdmVycmlkZTsKICAgICB2b2lkIHdpbGxE
ZXN0cm95UGFnZShJbmplY3RlZEJ1bmRsZSYsIFdlYlBhZ2UmKSBvdmVycmlkZTsKLSAgICB2b2lk
IGRpZEluaXRpYWxpemVQYWdlR3JvdXAoSW5qZWN0ZWRCdW5kbGUmLCBXZWJQYWdlR3JvdXBQcm94
eSYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSW5qZWN0ZWRCdW5kbGUm
LCBjb25zdCBXVEY6OlN0cmluZyYsIEFQSTo6T2JqZWN0Kikgb3ZlcnJpZGU7CiAgICAgdm9pZCBk
aWRSZWNlaXZlTWVzc2FnZVRvUGFnZShJbmplY3RlZEJ1bmRsZSYsIFdlYlBhZ2UmLCBjb25zdCBX
VEY6OlN0cmluZyYsIEFQSTo6T2JqZWN0Kikgb3ZlcnJpZGU7CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZUdyb3VwUHJveHkuY3BwIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZUdyb3VwUHJveHkuY3BwCmluZGV4
IDMwNTI4NWMyYzI2ZWM1YTQ4MzNiOTg0MDJlMjc0YWEwNjNjODY0MmMuLmIzOWJiNWU4OGY2NDIy
MWY1ZGFlMDc5NmIwOTFhZjdkYTFjOTc2ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2VHcm91cFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlR3JvdXBQcm94eS5jcHAKQEAgLTM3LDEyICszNyw3
IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBSZWY8V2ViUGFnZUdyb3VwUHJveHk+IFdlYlBhZ2VH
cm91cFByb3h5OjpjcmVhdGUoY29uc3QgV2ViUGFnZUdyb3VwRGF0YSYgZGF0YSkKIHsKLSAgICBh
dXRvIHBhZ2VHcm91cCA9IGFkb3B0UmVmKCpuZXcgV2ViUGFnZUdyb3VwUHJveHkoZGF0YSkpOwot
Ci0gICAgaWYgKFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmluamVjdGVkQnVuZGxlKCkpCi0gICAg
ICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmluamVjdGVkQnVuZGxlKCktPmRpZEluaXRpYWxp
emVQYWdlR3JvdXAocGFnZUdyb3VwLnB0cigpKTsKLQotICAgIHJldHVybiBwYWdlR3JvdXA7Cisg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViUGFnZUdyb3VwUHJveHkoZGF0YSkpOwogfQogCiBX
ZWJQYWdlR3JvdXBQcm94eTo6V2ViUGFnZUdyb3VwUHJveHkoY29uc3QgV2ViUGFnZUdyb3VwRGF0
YSYgZGF0YSkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwpp
bmRleCA5MmM4ZTRlYTRmMDY5MzMzNzMxNmZkMzA3ZTQ2M2Y3YmYzMjkzMzgwLi45YThlMjhjNjRi
NjRhZDRlNDQ5YjQ1YmEzMzVjM2E4MmNjZmZhYjZhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMjEtMDUtMDYgIEFs
ZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1v
dmUgV0tCdW5kbGVQYWdlR3JvdXBSZWYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyNTQ3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFsc28gdXNlIHNvbWUgc21hcnQgcG9pbnRlcnMgaW5zdGVhZCBvZiBy
YXcgcG9pbnRlcnMgdG8ga2VlcCB0aGluZ3Mgc2FmZS4KKworICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6
OkluamVjdGVkQnVuZGxlQ29udHJvbGxlcjo6SW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyKToKKyAg
ICAgICAgKFRlc3RXZWJLaXRBUEk6OkluamVjdGVkQnVuZGxlQ29udHJvbGxlcjo6aW5pdGlhbGl6
ZSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpJbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXI6OmRp
ZEluaXRpYWxpemVQYWdlR3JvdXApOiBEZWxldGVkLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
SW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyLmg6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpJbmpl
Y3RlZEJ1bmRsZUNvbnRyb2xsZXI6OmJ1bmRsZSBjb25zdCk6CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9JbmplY3RlZEJ1bmRsZVRlc3QuaDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OkluamVj
dGVkQnVuZGxlVGVzdDo6d2lsbERlc3Ryb3lQYWdlKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6
OkluamVjdGVkQnVuZGxlVGVzdDo6UmVnaXN0ZXI6OmNyZWF0ZSk6CisgICAgICAgIChUZXN0V2Vi
S2l0QVBJOjpJbmplY3RlZEJ1bmRsZVRlc3Q6OmRpZEluaXRpYWxpemVQYWdlR3JvdXApOiBEZWxl
dGVkLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0RPTVdpbmRvd0V4dGVu
c2lvbkJhc2ljX0J1bmRsZS5jcHA6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXQvRE9NV2luZG93RXh0ZW5zaW9uTm9DYWNoZV9CdW5kbGUuY3BwOgorICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0RvY3VtZW50U3RhcnRVc2VyU2NyaXB0QWxlcnRDcmFzaF9C
dW5kbGUuY3BwOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0luamVjdGVk
QnVuZGxlRGlzYWJsZU92ZXJyaWRlQnVpbHRpbnNCZWhhdmlvcl9CdW5kbGUuY3BwOgorICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0luamVjdGVkQnVuZGxlTWFrZUFsbFNoYWRv
d1Jvb3RzT3Blbl9CdW5kbGUuY3BwOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV1RSOjpJbmplY3RlZEJ1bmRs
ZTo6aW5pdGlhbGl6ZSk6CisgICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlOjpkaWRDcmVhdGVQ
YWdlKToKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGU6OmRpZFJlY2VpdmVNZXNzYWdlKToK
KyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGU6OnJlcG9ydExpdmVEb2N1bWVudHMpOgorICAg
ICAgICAoV1RSOjpJbmplY3RlZEJ1bmRsZTo6ZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2UpOgorICAg
ICAgICAoV1RSOjpJbmplY3RlZEJ1bmRsZTo6YmVnaW5UZXN0aW5nKToKKyAgICAgICAgKFdUUjo6
SW5qZWN0ZWRCdW5kbGU6OnN0YXRpc3RpY3NOb3RpZnlPYnNlcnZlcik6CisgICAgICAgIChXVFI6
OkluamVjdGVkQnVuZGxlOjpkaWRJbml0aWFsaXplUGFnZUdyb3VwKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmg6Cisg
ICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlOjpidW5kbGUgY29uc3QpOgorICAgICAgICAoV1RS
OjpJbmplY3RlZEJ1bmRsZTo6cGFnZUdyb3VwIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwOgorICAgICAgICAo
V1RSOjpUZXN0UnVubmVyOjpzZXRVc2VyU3R5bGVTaGVldEVuYWJsZWQpOgorICAgICAgICAoV1RS
OjpUZXN0UnVubmVyOjpzZXRBc3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5hYmxlZCk6CisKIDIw
MjEtMDUtMDYgIFNhbSBTbmVkZG9uICA8Z3NuZWRkZXJzQGFwcGxlLmNvbT4KIAogICAgICAgICBt
YXJrIGFsbCBTQ00gdGVzdHMgdXNpbmcgU1ZOIGFzIHNsb3csIGEgY291cGxlIGFzIHhmYWlsOyBl
bmFibGUgU0NNCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL0luamVjdGVkQnVuZGxl
Q29udHJvbGxlci5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL0luamVjdGVkQnVuZGxlQ29udHJv
bGxlci5jcHAKaW5kZXggNWRiM2NkNDRlNzVhYTI3MTliYjM4Y2NlZmMwN2EzNjIwNTAzNDQ5Zi4u
NTkzZWM3ZjI1NjhjMzQyMmY4OTA2NWM0YzVmOWQyY2VlZTU1NmM3ZiAxMDA2NDQKLS0tIGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9JbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyLmNwcApAQCAtNDMsOCArNDMs
NiBAQCBJbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXImIEluamVjdGVkQnVuZGxlQ29udHJvbGxlcjo6
c2luZ2xldG9uKCkKIH0KIAogSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyOjpJbmplY3RlZEJ1bmRs
ZUNvbnRyb2xsZXIoKQotICAgIDogbV9idW5kbGUoMCkKLSAgICAsIG1fY3VycmVudFRlc3QoMCkK
IHsKIH0KIApAQCAtNjEsMTEgKzU5LDExIEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVy
Ojppbml0aWFsaXplKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tUeXBlUmVmIGluaXRpYWxpCiAgICAg
ICAgIHsgMCwgdGhpcyB9LAogICAgICAgICBkaWRDcmVhdGVQYWdlLAogICAgICAgICB3aWxsRGVz
dHJveVBhZ2UsCi0gICAgICAgIGRpZEluaXRpYWxpemVQYWdlR3JvdXAsCisgICAgICAgIG51bGxw
dHIsCiAgICAgICAgIGRpZFJlY2VpdmVNZXNzYWdlLAogICAgICAgICBkaWRSZWNlaXZlTWVzc2Fn
ZVRvUGFnZQogICAgIH07Ci0gICAgV0tCdW5kbGVTZXRDbGllbnQobV9idW5kbGUsICZjbGllbnQu
YmFzZSk7CisgICAgV0tCdW5kbGVTZXRDbGllbnQobV9idW5kbGUuZ2V0KCksICZjbGllbnQuYmFz
ZSk7CiAKICAgICAvLyBJbml0aWFsaXplIHRoZSB0ZXN0IGZyb20gdGhlICJpbml0aWFsaXphdGlv
blVzZXJEYXRhIi4KIApAQCAtOTQsMTMgKzkyLDYgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZUNvbnRy
b2xsZXI6OndpbGxEZXN0cm95UGFnZShXS0J1bmRsZVJlZiBidW5kbGUsIFdLQnVuZGxlUGFnZVIK
ICAgICBzZWxmLT5tX2N1cnJlbnRUZXN0LT53aWxsRGVzdHJveVBhZ2UoYnVuZGxlLCBwYWdlKTsK
IH0KIAotdm9pZCBJbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXI6OmRpZEluaXRpYWxpemVQYWdlR3Jv
dXAoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXAsIGNv
bnN0IHZvaWQqIGNsaWVudEluZm8pCi17Ci0gICAgSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyKiBz
ZWxmID0gc3RhdGljX2Nhc3Q8SW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyKj4oY29uc3RfY2FzdDx2
b2lkKj4oY2xpZW50SW5mbykpOwotICAgIGFzc2VydChzZWxmLT5tX2N1cnJlbnRUZXN0KTsKLSAg
ICBzZWxmLT5tX2N1cnJlbnRUZXN0LT5kaWRJbml0aWFsaXplUGFnZUdyb3VwKGJ1bmRsZSwgcGFn
ZUdyb3VwKTsKLX0KLQogdm9pZCBJbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXI6OmRpZFJlY2VpdmVN
ZXNzYWdlKFdLQnVuZGxlUmVmIGJ1bmRsZSwgV0tTdHJpbmdSZWYgbWVzc2FnZU5hbWUsIFdLVHlw
ZVJlZiBtZXNzYWdlQm9keSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKIHsKICAgICBJbmplY3Rl
ZEJ1bmRsZUNvbnRyb2xsZXIqIHNlbGYgPSBzdGF0aWNfY2FzdDxJbmplY3RlZEJ1bmRsZUNvbnRy
b2xsZXIqPihjb25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZvKSk7CmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL0luamVjdGVkQnVuZGxlQ29udHJvbGxlci5oIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9JbmplY3RlZEJ1bmRsZUNvbnRyb2xsZXIuaAppbmRleCBlYWE3ZjBkMTc4ZDQzNjgz
NjZmNWQyNmUxZTkxNmJhYjVlODNlZjEzLi5jNThlNDA2Yzc0NTE4M2VhY2ViZmI0NTE0NDUxYjhh
MDI2NTMyMzFlIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL0luamVjdGVkQnVuZGxl
Q29udHJvbGxlci5oCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvSW5qZWN0ZWRCdW5kbGVDb250
cm9sbGVyLmgKQEAgLTIzLDEwICsyMywxMCBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgogICovCiAKLSNpZm5kZWYgSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyX2gKLSNkZWZp
bmUgSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyX2gKKyNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSA8
V2ViS2l0L1dLQnVuZGxlLmg+CisjaW5jbHVkZSA8V2ViS2l0L1dLUmV0YWluUHRyLmg+CiAjaW5j
bHVkZSA8bWFwPgogI2luY2x1ZGUgPHN0cmluZz4KIApAQCAtNDMsMTAgKzQzLDEwIEBAIHB1Ymxp
YzoKICAgICB2b2lkIGR1bXBUZXN0TmFtZXMoKTsKICAgICB2b2lkIGluaXRpYWxpemVUZXN0TmFt
ZWQoV0tCdW5kbGVSZWYgYnVuZGxlLCBjb25zdCBzdGQ6OnN0cmluZyYsIFdLVHlwZVJlZiB1c2Vy
RGF0YSk7CiAKLSAgICB0eXBlZGVmIEluamVjdGVkQnVuZGxlVGVzdCogKCpDcmVhdGVJbmplY3Rl
ZEJ1bmRsZVRlc3RGdW5jdGlvbikoY29uc3Qgc3RkOjpzdHJpbmcmKTsKKyAgICB0eXBlZGVmIHN0
ZDo6dW5pcXVlX3B0cjxJbmplY3RlZEJ1bmRsZVRlc3Q+ICgqQ3JlYXRlSW5qZWN0ZWRCdW5kbGVU
ZXN0RnVuY3Rpb24pKGNvbnN0IHN0ZDo6c3RyaW5nJik7CiAgICAgdm9pZCByZWdpc3RlckNyZWF0
ZUluamVjdGVkQnVuZGxlVGVzdEZ1bmN0aW9uKGNvbnN0IHN0ZDo6c3RyaW5nJiwgQ3JlYXRlSW5q
ZWN0ZWRCdW5kbGVUZXN0RnVuY3Rpb24pOwogCi0gICAgV0tCdW5kbGVSZWYgYnVuZGxlKCkgY29u
c3QgeyByZXR1cm4gbV9idW5kbGU7IH0KKyAgICBXS0J1bmRsZVJlZiBidW5kbGUoKSBjb25zdCB7
IHJldHVybiBtX2J1bmRsZS5nZXQoKTsgfQogICAgIAogcHJpdmF0ZToKICAgICBJbmplY3RlZEJ1
bmRsZUNvbnRyb2xsZXIoKTsKQEAgLTU2LDE1ICs1NiwxMiBAQCBwcml2YXRlOgogCiAgICAgc3Rh
dGljIHZvaWQgZGlkQ3JlYXRlUGFnZShXS0J1bmRsZVJlZiwgV0tCdW5kbGVQYWdlUmVmLCBjb25z
dCB2b2lkKiBjbGllbnRJbmZvKTsKICAgICBzdGF0aWMgdm9pZCB3aWxsRGVzdHJveVBhZ2UoV0tC
dW5kbGVSZWYsIFdLQnVuZGxlUGFnZVJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Ci0gICAg
c3RhdGljIHZvaWQgZGlkSW5pdGlhbGl6ZVBhZ2VHcm91cChXS0J1bmRsZVJlZiwgV0tCdW5kbGVQ
YWdlR3JvdXBSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogICAgIHN0YXRpYyB2b2lkIGRp
ZFJlY2VpdmVNZXNzYWdlKFdLQnVuZGxlUmVmLCBXS1N0cmluZ1JlZiBtZXNzYWdlTmFtZSwgV0tU
eXBlUmVmIG1lc3NhZ2VCb2R5LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKICAgICBzdGF0aWMg
dm9pZCBkaWRSZWNlaXZlTWVzc2FnZVRvUGFnZShXS0J1bmRsZVJlZiwgV0tCdW5kbGVQYWdlUmVm
LCBXS1N0cmluZ1JlZiBtZXNzYWdlTmFtZSwgV0tUeXBlUmVmIG1lc3NhZ2VCb2R5LCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKTsKIAogICAgIHN0ZDo6bWFwPHN0ZDo6c3RyaW5nLCBDcmVhdGVJbmpl
Y3RlZEJ1bmRsZVRlc3RGdW5jdGlvbj4gbV9jcmVhdGVJbmplY3RlZEJ1bmRsZVRlc3RGdW5jdGlv
bnM7Ci0gICAgV0tCdW5kbGVSZWYgbV9idW5kbGU7Ci0gICAgSW5qZWN0ZWRCdW5kbGVUZXN0KiBt
X2N1cnJlbnRUZXN0OworICAgIFdLUmV0YWluUHRyPFdLQnVuZGxlUmVmPiBtX2J1bmRsZTsKKyAg
ICBzdGQ6OnVuaXF1ZV9wdHI8SW5qZWN0ZWRCdW5kbGVUZXN0PiBtX2N1cnJlbnRUZXN0OwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQotCi0jZW5kaWYgLy8gSW5qZWN0ZWRCdW5k
bGVDb250cm9sbGVyX2gKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvSW5qZWN0ZWRC
dW5kbGVUZXN0LmggYi9Ub29scy9UZXN0V2ViS2l0QVBJL0luamVjdGVkQnVuZGxlVGVzdC5oCmlu
ZGV4IGFkMmNiOTU4MTE1ZjlkMGM1OThhY2QyYThiM2Y5Y2VjNTEzYzAwZWMuLmFmZTE5N2FlN2Q2
NzcyMDgzY2NjNTU0ZDg5NzM0ZDM2NjNkM2YyNjMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvSW5qZWN0ZWRCdW5kbGVUZXN0LmgKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Jbmpl
Y3RlZEJ1bmRsZVRlc3QuaApAQCAtMzgsNyArMzgsNiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFs
IHZvaWQgZGlkQ3JlYXRlUGFnZShXS0J1bmRsZVJlZiwgV0tCdW5kbGVQYWdlUmVmKSB7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgd2lsbERlc3Ryb3lQYWdlKFdLQnVuZGxlUmVmLCBXS0J1bmRsZVBhZ2VS
ZWYpIHsgfQotICAgIHZpcnR1YWwgdm9pZCBkaWRJbml0aWFsaXplUGFnZUdyb3VwKFdLQnVuZGxl
UmVmLCBXS0J1bmRsZVBhZ2VHcm91cFJlZikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2Vp
dmVNZXNzYWdlKFdLQnVuZGxlUmVmLCBXS1N0cmluZ1JlZiBtZXNzYWdlTmFtZSwgV0tUeXBlUmVm
IG1lc3NhZ2VCb2R5KSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2VUb1Bh
Z2UoV0tCdW5kbGVSZWYsIFdLQnVuZGxlUGFnZVJlZiwgV0tTdHJpbmdSZWYgbWVzc2FnZU5hbWUs
IFdLVHlwZVJlZiBtZXNzYWdlQm9keSkgeyB9CiAKQEAgLTUyLDkgKzUxLDkgQEAgcHVibGljOgog
ICAgICAgICB9CiAKICAgICBwcml2YXRlOgotICAgICAgICBzdGF0aWMgSW5qZWN0ZWRCdW5kbGVU
ZXN0KiBjcmVhdGUoY29uc3Qgc3RkOjpzdHJpbmcmIGlkZW50aWZpZXIpIAorICAgICAgICBzdGF0
aWMgc3RkOjp1bmlxdWVfcHRyPEluamVjdGVkQnVuZGxlVGVzdD4gY3JlYXRlKGNvbnN0IHN0ZDo6
c3RyaW5nJiBpZGVudGlmaWVyKQogICAgICAgICB7Ci0gICAgICAgICAgICByZXR1cm4gbmV3IFRl
c3RDbGFzc1R5KGlkZW50aWZpZXIpOworICAgICAgICAgICAgcmV0dXJuIG1ha2VVbmlxdWVXaXRo
b3V0RmFzdE1hbGxvY0NoZWNrPFRlc3RDbGFzc1R5PihpZGVudGlmaWVyKTsKICAgICAgICAgfQog
ICAgIH07CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0RP
TVdpbmRvd0V4dGVuc2lvbkJhc2ljX0J1bmRsZS5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdC9ET01XaW5kb3dFeHRlbnNpb25CYXNpY19CdW5kbGUuY3BwCmluZGV4IDI0MzNj
YTUyOGVmNTRkYmExYjZmZTZlZTc2YmYwMzJkNGVlODY4NjYuLjQ4ZjU5OTg2MWRlMWY4YzFhZWJj
YjAxOWNiNDJhMTRlNzQ0ZjY3NTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0L0RPTVdpbmRvd0V4dGVuc2lvbkJhc2ljX0J1bmRsZS5jcHAKKysrIGIvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvRE9NV2luZG93RXh0ZW5zaW9uQmFzaWNfQnVuZGxl
LmNwcApAQCAtMzEsNyArMzEsNiBAQAogI2luY2x1ZGUgPFdlYktpdC9XS0J1bmRsZURPTVdpbmRv
d0V4dGVuc2lvbi5oPgogI2luY2x1ZGUgPFdlYktpdC9XS0J1bmRsZUZyYW1lLmg+CiAjaW5jbHVk
ZSA8V2ViS2l0L1dLQnVuZGxlUGFnZS5oPgotI2luY2x1ZGUgPFdlYktpdC9XS0J1bmRsZVBhZ2VH
cm91cC5oPgogI2luY2x1ZGUgPFdlYktpdC9XS0J1bmRsZVBhZ2VQcml2YXRlLmg+CiAjaW5jbHVk
ZSA8V2ViS2l0L1dLQnVuZGxlUHJpdmF0ZS5oPgogI2luY2x1ZGUgPFdlYktpdC9XS0J1bmRsZVNj
cmlwdFdvcmxkLmg+CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dC9ET01XaW5kb3dFeHRlbnNpb25Ob0NhY2hlX0J1bmRsZS5jcHAgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdC9ET01XaW5kb3dFeHRlbnNpb25Ob0NhY2hlX0J1bmRsZS5jcHAKaW5k
ZXggMWM2OGIxZjdiYzgxYWVhMzkyMGI1NjY2OTBjMGExNjhmMWU0ZGNmMy4uNzZmODM2ZWE2ODdj
YjU3NWQzNTk2MDRkZTIyMmJkN2YxOTU4YWE3ZiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQvRE9NV2luZG93RXh0ZW5zaW9uTm9DYWNoZV9CdW5kbGUuY3BwCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0RPTVdpbmRvd0V4dGVuc2lvbk5v
Q2FjaGVfQnVuZGxlLmNwcApAQCAtMzEsNyArMzEsNiBAQAogI2luY2x1ZGUgPFdlYktpdC9XS0J1
bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5oPgogI2luY2x1ZGUgPFdlYktpdC9XS0J1bmRsZUZyYW1l
Lmg+CiAjaW5jbHVkZSA8V2ViS2l0L1dLQnVuZGxlUGFnZS5oPgotI2luY2x1ZGUgPFdlYktpdC9X
S0J1bmRsZVBhZ2VHcm91cC5oPgogI2luY2x1ZGUgPFdlYktpdC9XS0J1bmRsZVBhZ2VQcml2YXRl
Lmg+CiAjaW5jbHVkZSA8V2ViS2l0L1dLQnVuZGxlUHJpdmF0ZS5oPgogI2luY2x1ZGUgPFdlYktp
dC9XS0J1bmRsZVNjcmlwdFdvcmxkLmg+CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdC9Eb2N1bWVudFN0YXJ0VXNlclNjcmlwdEFsZXJ0Q3Jhc2hfQnVuZGxlLmNw
cCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0RvY3VtZW50U3RhcnRVc2VyU2Ny
aXB0QWxlcnRDcmFzaF9CdW5kbGUuY3BwCmluZGV4IDhiY2QyN2NkMjNkOGRkM2VmZGY3MGZkNjkx
ODgwMGIxYjA0MWI4NjguLmI3MzE1NDcxZmE1NjA5YmRlNTYxMDdmM2NiZTVlZTI0YThjZTk0ODYg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0RvY3VtZW50U3Rh
cnRVc2VyU2NyaXB0QWxlcnRDcmFzaF9CdW5kbGUuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0L0RvY3VtZW50U3RhcnRVc2VyU2NyaXB0QWxlcnRDcmFzaF9CdW5kbGUu
Y3BwCkBAIC0yOCw3ICsyOCw2IEBACiAjaWYgV0tfSEFWRV9DX1NQSQogCiAjaW5jbHVkZSAiSW5q
ZWN0ZWRCdW5kbGVUZXN0LmgiCi0jaW5jbHVkZSA8V2ViS2l0L1dLQnVuZGxlUGFnZUdyb3VwLmg+
CiAjaW5jbHVkZSA8V2ViS2l0L1dLQnVuZGxlUGFnZVByaXZhdGUuaD4KICNpbmNsdWRlIDxXZWJL
aXQvV0tCdW5kbGVQcml2YXRlLmg+CiAjaW5jbHVkZSA8V2ViS2l0L1dLQnVuZGxlU2NyaXB0V29y
bGQuaD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L0luamVj
dGVkQnVuZGxlRGlzYWJsZU92ZXJyaWRlQnVpbHRpbnNCZWhhdmlvcl9CdW5kbGUuY3BwIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvSW5qZWN0ZWRCdW5kbGVEaXNhYmxlT3ZlcnJp
ZGVCdWlsdGluc0JlaGF2aW9yX0J1bmRsZS5jcHAKaW5kZXggM2IwMWNiNmVlOWRjNDkyOGU4MGVl
MDRkOTI5Zjk0MWIxYTVlZmM0NS4uODFlYzI5NGY5ZjU3ZjE3N2Y2MDg0NDdlNDNhYTQwMTA4M2E1
MmMwMSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvSW5qZWN0
ZWRCdW5kbGVEaXNhYmxlT3ZlcnJpZGVCdWlsdGluc0JlaGF2aW9yX0J1bmRsZS5jcHAKKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvSW5qZWN0ZWRCdW5kbGVEaXNhYmxlT3Zl
cnJpZGVCdWlsdGluc0JlaGF2aW9yX0J1bmRsZS5jcHAKQEAgLTI4LDcgKzI4LDYgQEAKICNpZiBX
S19IQVZFX0NfU1BJCiAKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVRlc3QuaCIKLSNpbmNsdWRl
IDxXZWJLaXQvV0tCdW5kbGVQYWdlR3JvdXAuaD4KICNpbmNsdWRlIDxXZWJLaXQvV0tCdW5kbGVQ
YWdlUHJpdmF0ZS5oPgogI2luY2x1ZGUgPFdlYktpdC9XS0J1bmRsZVByaXZhdGUuaD4KICNpbmNs
dWRlIDxXZWJLaXQvV0tCdW5kbGVTY3JpcHRXb3JsZC5oPgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvSW5qZWN0ZWRCdW5kbGVNYWtlQWxsU2hhZG93Um9vdHNP
cGVuX0J1bmRsZS5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9JbmplY3Rl
ZEJ1bmRsZU1ha2VBbGxTaGFkb3dSb290c09wZW5fQnVuZGxlLmNwcAppbmRleCA0NDRmYjhlNWE4
ZDAyYjY4MWFmYWJkZjFkMjcyMTJiOTE5ODFlMTdhLi43NzA3OWM4MWE1ZDEyYjc5YTM1YmVjNDhj
ZWU5MjZlN2VhZTQ4NWM5IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdC9JbmplY3RlZEJ1bmRsZU1ha2VBbGxTaGFkb3dSb290c09wZW5fQnVuZGxlLmNwcAorKysg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9JbmplY3RlZEJ1bmRsZU1ha2VBbGxT
aGFkb3dSb290c09wZW5fQnVuZGxlLmNwcApAQCAtMjgsNyArMjgsNiBAQAogI2lmIFdLX0hBVkVf
Q19TUEkKIAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlVGVzdC5oIgotI2luY2x1ZGUgPFdlYktp
dC9XS0J1bmRsZVBhZ2VHcm91cC5oPgogI2luY2x1ZGUgPFdlYktpdC9XS0J1bmRsZVBhZ2VQcml2
YXRlLmg+CiAjaW5jbHVkZSA8V2ViS2l0L1dLQnVuZGxlUHJpdmF0ZS5oPgogI2luY2x1ZGUgPFdl
YktpdC9XS0J1bmRsZVNjcmlwdFdvcmxkLmg+CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcCBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCmluZGV4IDIwZTcyZDZk
YTg5M2FmNGVhZGMxODExM2I4MTFhZmIwMzU0Zjc1N2MuLjYxMGUyMjQzMDQ1ZThlYmYxMWQyNTcy
ZTJiMTNmYTg1MDA4N2RjZjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCkBAIC03NCwxMSArNzQsNiBAQCB2
b2lkIEluamVjdGVkQnVuZGxlOjp3aWxsRGVzdHJveVBhZ2UoV0tCdW5kbGVSZWYgYnVuZGxlLCBX
S0J1bmRsZVBhZ2VSZWYgcGFnZSwgYwogICAgIHN0YXRpY19jYXN0PEluamVjdGVkQnVuZGxlKj4o
Y29uc3RfY2FzdDx2b2lkKj4oY2xpZW50SW5mbykpLT53aWxsRGVzdHJveVBhZ2UocGFnZSk7CiB9
CiAKLXZvaWQgSW5qZWN0ZWRCdW5kbGU6OmRpZEluaXRpYWxpemVQYWdlR3JvdXAoV0tCdW5kbGVS
ZWYgYnVuZGxlLCBXS0J1bmRsZVBhZ2VHcm91cFJlZiBwYWdlR3JvdXAsIGNvbnN0IHZvaWQqIGNs
aWVudEluZm8pCi17Ci0gICAgc3RhdGljX2Nhc3Q8SW5qZWN0ZWRCdW5kbGUqPihjb25zdF9jYXN0
PHZvaWQqPihjbGllbnRJbmZvKSktPmRpZEluaXRpYWxpemVQYWdlR3JvdXAocGFnZUdyb3VwKTsK
LX0KLQogdm9pZCBJbmplY3RlZEJ1bmRsZTo6ZGlkUmVjZWl2ZU1lc3NhZ2UoV0tCdW5kbGVSZWYg
YnVuZGxlLCBXS1N0cmluZ1JlZiBtZXNzYWdlTmFtZSwgV0tUeXBlUmVmIG1lc3NhZ2VCb2R5LCBj
b25zdCB2b2lkKiBjbGllbnRJbmZvKQogewogICAgIHN0YXRpY19jYXN0PEluamVjdGVkQnVuZGxl
Kj4oY29uc3RfY2FzdDx2b2lkKj4oY2xpZW50SW5mbykpLT5kaWRSZWNlaXZlTWVzc2FnZShtZXNz
YWdlTmFtZSwgbWVzc2FnZUJvZHkpOwpAQCAtOTcsMTIgKzkyLDEyIEBAIHZvaWQgSW5qZWN0ZWRC
dW5kbGU6OmluaXRpYWxpemUoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS1R5cGVSZWYgaW5pdGlhbGl6
YXRpb25Vc2VyCiAgICAgICAgIHsgMSwgdGhpcyB9LAogICAgICAgICBkaWRDcmVhdGVQYWdlLAog
ICAgICAgICB3aWxsRGVzdHJveVBhZ2UsCi0gICAgICAgIGRpZEluaXRpYWxpemVQYWdlR3JvdXAs
CisgICAgICAgIG51bGxwdHIsCiAgICAgICAgIGRpZFJlY2VpdmVNZXNzYWdlLAogICAgICAgICBk
aWRSZWNlaXZlTWVzc2FnZVRvUGFnZQogICAgIH07Ci0gICAgV0tCdW5kbGVTZXRDbGllbnQobV9i
dW5kbGUsICZjbGllbnQuYmFzZSk7Ci0gICAgV0tCdW5kbGVTZXRTZXJ2aWNlV29ya2VyUHJveHlD
cmVhdGlvbkNhbGxiYWNrKG1fYnVuZGxlLCBXZWJDb3JlVGVzdFN1cHBvcnQ6OnNldHVwTmV3bHlD
cmVhdGVkU2VydmljZVdvcmtlcik7CisgICAgV0tCdW5kbGVTZXRDbGllbnQobV9idW5kbGUuZ2V0
KCksICZjbGllbnQuYmFzZSk7CisgICAgV0tCdW5kbGVTZXRTZXJ2aWNlV29ya2VyUHJveHlDcmVh
dGlvbkNhbGxiYWNrKG1fYnVuZGxlLmdldCgpLCBXZWJDb3JlVGVzdFN1cHBvcnQ6OnNldHVwTmV3
bHlDcmVhdGVkU2VydmljZVdvcmtlcik7CiAgICAgcGxhdGZvcm1Jbml0aWFsaXplKGluaXRpYWxp
emF0aW9uVXNlckRhdGEpOwogICAgIFdlYkNvcmVUZXN0U3VwcG9ydDo6cG9wdWxhdGVKSVRPcGVy
YXRpb25zKCk7CiAKQEAgLTEyMSw3ICsxMTYsNyBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpkaWRD
cmVhdGVQYWdlKFdLQnVuZGxlUGFnZVJlZiBwYWdlKQogCiAgICAgV0tUeXBlUmVmIHJlc3VsdCA9
IG51bGxwdHI7CiAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KLSAgICBX
S0J1bmRsZVBvc3RTeW5jaHJvbm91c01lc3NhZ2UobV9idW5kbGUsIHRvV0soIkluaXRpYWxpemF0
aW9uIikuZ2V0KCksIG51bGxwdHIsICZyZXN1bHQpOworICAgIFdLQnVuZGxlUG9zdFN5bmNocm9u
b3VzTWVzc2FnZShtX2J1bmRsZS5nZXQoKSwgdG9XSygiSW5pdGlhbGl6YXRpb24iKS5nZXQoKSwg
bnVsbHB0ciwgJnJlc3VsdCk7CiAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5E
CiAgICAgYXV0byBpbml0aWFsaXphdGlvbkRpY3Rpb25hcnkgPSBhZG9wdFdLKGRpY3Rpb25hcnlW
YWx1ZShyZXN1bHQpKTsKIApAQCAtMTM2LDExICsxMzEsNiBAQCB2b2lkIEluamVjdGVkQnVuZGxl
Ojp3aWxsRGVzdHJveVBhZ2UoV0tCdW5kbGVQYWdlUmVmIHBhZ2UpCiAgICAgfSk7CiB9CiAKLXZv
aWQgSW5qZWN0ZWRCdW5kbGU6OmRpZEluaXRpYWxpemVQYWdlR3JvdXAoV0tCdW5kbGVQYWdlR3Jv
dXBSZWYgcGFnZUdyb3VwKQotewotICAgIG1fcGFnZUdyb3VwID0gcGFnZUdyb3VwOwotfQotCiB2
b2lkIEluamVjdGVkQnVuZGxlOjpzZXRVcEluamVjdGVkQnVuZGxlQ2xpZW50cyhXS0J1bmRsZVBh
Z2VSZWYgcGFnZSkKIHsKICAgICBXS0J1bmRsZVBhZ2VGb3JtQ2xpZW50VjIgZm9ybUNsaWVudCA9
IHsKQEAgLTE3OCw3ICsxNjgsNyBAQCBXS0J1bmRsZVBhZ2VSZWYgSW5qZWN0ZWRCdW5kbGU6OnBh
Z2VSZWYoKSBjb25zdAogCiB2b2lkIEluamVjdGVkQnVuZGxlOjpkaWRSZWNlaXZlTWVzc2FnZShX
S1N0cmluZ1JlZiwgV0tUeXBlUmVmKQogewotICAgIFdLQnVuZGxlUG9zdE1lc3NhZ2UobV9idW5k
bGUsIHRvV0soIkVycm9yIikuZ2V0KCksIHRvV0soIlVua25vd24iKS5nZXQoKSk7CisgICAgV0tC
dW5kbGVQb3N0TWVzc2FnZShtX2J1bmRsZS5nZXQoKSwgdG9XSygiRXJyb3IiKS5nZXQoKSwgdG9X
SygiVW5rbm93biIpLmdldCgpKTsKIH0KIAogc3RhdGljIHZvaWQgcG9zdEdDVGFzayh2b2lkKiBj
b250ZXh0KQpAQCAtMTkxLDEwICsxODEsMTAgQEAgc3RhdGljIHZvaWQgcG9zdEdDVGFzayh2b2lk
KiBjb250ZXh0KQogdm9pZCBJbmplY3RlZEJ1bmRsZTo6cmVwb3J0TGl2ZURvY3VtZW50cyhXS0J1
bmRsZVBhZ2VSZWYgcGFnZSkKIHsKICAgICAvLyBSZWxlYXNlIG1lbW9yeSBhZ2FpbiwgYWZ0ZXIg
dGhlIEdDIGFuZCB0aW1lciBmaXJlLiBUaGlzIGlzIG5lY2Vzc2FyeSB0byBjbGVhciBlbnRyaWVz
IGZyb20gQ2FjaGVkUmVzb3VyY2VMb2FkZXIncyBtX2RvY3VtZW50UmVzb3VyY2VzIGluIHNvbWUg
c2NlbmFyaW9zLgotICAgIFdLQnVuZGxlUmVsZWFzZU1lbW9yeShtX2J1bmRsZSk7CisgICAgV0tC
dW5kbGVSZWxlYXNlTWVtb3J5KG1fYnVuZGxlLmdldCgpKTsKIAogICAgIGNvbnN0IGJvb2wgZXhj
bHVkZURvY3VtZW50c0luUGFnZUdyb3VwID0gdHJ1ZTsKLSAgICBXS0J1bmRsZVBhZ2VQb3N0TWVz
c2FnZShwYWdlLCB0b1dLKCJMaXZlRG9jdW1lbnRzIikuZ2V0KCksIGFkb3B0V0soV0tCdW5kbGVH
ZXRMaXZlRG9jdW1lbnRVUkxzKG1fYnVuZGxlLCBtX3BhZ2VHcm91cCwgZXhjbHVkZURvY3VtZW50
c0luUGFnZUdyb3VwKSkuZ2V0KCkpOworICAgIFdLQnVuZGxlUGFnZVBvc3RNZXNzYWdlKHBhZ2Us
IHRvV0soIkxpdmVEb2N1bWVudHMiKS5nZXQoKSwgYWRvcHRXSyhXS0J1bmRsZUdldExpdmVEb2N1
bWVudFVSTHNGb3JUZXN0aW5nKG1fYnVuZGxlLmdldCgpLCBleGNsdWRlRG9jdW1lbnRzSW5QYWdl
R3JvdXApKS5nZXQoKSk7CiB9CiAKIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OmRpZFJlY2VpdmVNZXNz
YWdlVG9QYWdlKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBtZXNzYWdlTmFtZSwg
V0tUeXBlUmVmIG1lc3NhZ2VCb2R5KQpAQCAtMjE2LDcgKzIwNiw3IEBAIHZvaWQgSW5qZWN0ZWRC
dW5kbGU6OmRpZFJlY2VpdmVNZXNzYWdlVG9QYWdlKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS1N0
cmluZ1JlZiBtCiAgICAgICAgIGlmIChhdXRvIG9wdGlvbnMgPSBzdHJpbmdWYWx1ZShtZXNzYWdl
Qm9keURpY3Rpb25hcnksICJKU0NPcHRpb25zIikpCiAgICAgICAgICAgICBKU0M6Ok9wdGlvbnM6
OnNldE9wdGlvbnModG9XVEZTdHJpbmcob3B0aW9ucykudXRmOCgpLmRhdGEoKSk7CiAgICAgICAg
IGlmIChib29sZWFuVmFsdWUobWVzc2FnZUJvZHlEaWN0aW9uYXJ5LCAiU2hvdWxkR0MiKSkKLSAg
ICAgICAgICAgIFdLQnVuZGxlR2FyYmFnZUNvbGxlY3RKYXZhU2NyaXB0T2JqZWN0cyhtX2J1bmRs
ZSk7CisgICAgICAgICAgICBXS0J1bmRsZUdhcmJhZ2VDb2xsZWN0SmF2YVNjcmlwdE9iamVjdHMo
bV9idW5kbGUuZ2V0KCkpOwogCiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJF
RSkKICAgICAgICAgbV9hY2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlTW9kZSA9IGJvb2xlYW5WYWx1
ZShtZXNzYWdlQm9keURpY3Rpb25hcnksICJBY2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlIik7CkBA
IC0yNDMsMTIgKzIzMywxMiBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpkaWRSZWNlaXZlTWVzc2Fn
ZVRvUGFnZShXS0J1bmRsZVBhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbQogCiAgICAgaWYgKFdL
U3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJHZXRMaXZlRG9jdW1lbnRz
IikpIHsKICAgICAgICAgY29uc3QgYm9vbCBleGNsdWRlRG9jdW1lbnRzSW5QYWdlR3JvdXAgPSBm
YWxzZTsKLSAgICAgICAgcG9zdFBhZ2VNZXNzYWdlKCJMaXZlRG9jdW1lbnRzIiwgYWRvcHRXSyhX
S0J1bmRsZUdldExpdmVEb2N1bWVudFVSTHMobV9idW5kbGUsIG1fcGFnZUdyb3VwLCBleGNsdWRl
RG9jdW1lbnRzSW5QYWdlR3JvdXApKSk7CisgICAgICAgIHBvc3RQYWdlTWVzc2FnZSgiTGl2ZURv
Y3VtZW50cyIsIGFkb3B0V0soV0tCdW5kbGVHZXRMaXZlRG9jdW1lbnRVUkxzRm9yVGVzdGluZyht
X2J1bmRsZS5nZXQoKSwgZXhjbHVkZURvY3VtZW50c0luUGFnZUdyb3VwKSkpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCiAgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcobWVz
c2FnZU5hbWUsICJDaGVja0ZvcldvcmxkTGVha3MiKSkgewotICAgICAgICBXS0J1bmRsZVJlbGVh
c2VNZW1vcnkobV9idW5kbGUpOworICAgICAgICBXS0J1bmRsZVJlbGVhc2VNZW1vcnkobV9idW5k
bGUuZ2V0KCkpOwogCiAgICAgICAgIFdLUmV0YWluKHBhZ2UpOyAvLyBCYWxhbmNlZCBieSB0aGUg
cmVsZWFzZSBpbiBwb3N0R0NUYXNrLgogICAgICAgICBXS0J1bmRsZVBhZ2VDYWxsQWZ0ZXJUYXNr
c0FuZFRpbWVycyhwYWdlLCBwb3N0R0NUYXNrLCAodm9pZCopcGFnZSk7CkBAIC01MjgsMTQgKzUx
OCwxNCBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpiZWdpblRlc3RpbmcoV0tEaWN0aW9uYXJ5UmVm
IHNldHRpbmdzLCBCZWdpbmdUZXN0aW5nTW9kZSB0ZQogICAgIGlmICh0ZXN0aW5nTW9kZSAhPSBC
ZWdpbmdUZXN0aW5nTW9kZTo6TmV3KQogICAgICAgICByZXR1cm47CiAKLSAgICBXS0J1bmRsZUNs
ZWFyQWxsRGF0YWJhc2VzKG1fYnVuZGxlKTsKKyAgICBXS0J1bmRsZUNsZWFyQWxsRGF0YWJhc2Vz
KG1fYnVuZGxlLmdldCgpKTsKICAgICBXS0J1bmRsZVBhZ2VDbGVhckFwcGxpY2F0aW9uQ2FjaGUo
cGFnZSgpLT5wYWdlKCkpOwotICAgIFdLQnVuZGxlUmVzZXRPcmlnaW5BY2Nlc3NBbGxvd0xpc3Rz
KG1fYnVuZGxlKTsKLSAgICBXS0J1bmRsZUNsZWFyUmVzb3VyY2VMb2FkU3RhdGlzdGljcyhtX2J1
bmRsZSk7CisgICAgV0tCdW5kbGVSZXNldE9yaWdpbkFjY2Vzc0FsbG93TGlzdHMobV9idW5kbGUu
Z2V0KCkpOworICAgIFdLQnVuZGxlQ2xlYXJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKG1fYnVuZGxl
LmdldCgpKTsKIAogICAgIC8vIFtXSzJdIFJFR1JFU1NJT04ocjEyODYyMyk6IEl0IG1hZGUgbGF5
b3V0IHRlc3RzIGV4dHJlbWVseSBzbG93CiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTk2ODYyCi0gICAgLy8gV0tCdW5kbGVTZXREYXRhYmFzZVF1b3RhKG1f
YnVuZGxlLCA1ICogMTAyNCAqIDEwMjQpOworICAgIC8vIFdLQnVuZGxlU2V0RGF0YWJhc2VRdW90
YShtX2J1bmRsZS5nZXQoKSwgNSAqIDEwMjQgKiAxMDI0KTsKIH0KIAogdm9pZCBJbmplY3RlZEJ1
bmRsZTo6ZG9uZSgpCkBAIC04MzksNyArODI5LDcgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0
QWxsb3dzQW55U1NMQ2VydGlmaWNhdGUoYm9vbCBhbGxvd3NBbnlTU0xDZXJ0aWZpY2F0ZSkKIAog
Ym9vbCBJbmplY3RlZEJ1bmRsZTo6c3RhdGlzdGljc05vdGlmeU9ic2VydmVyKCkKIHsKLSAgICBy
ZXR1cm4gV0tCdW5kbGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzTm90aWZ5T2JzZXJ2ZXIobV9idW5k
bGUpOworICAgIHJldHVybiBXS0J1bmRsZVJlc291cmNlTG9hZFN0YXRpc3RpY3NOb3RpZnlPYnNl
cnZlcihtX2J1bmRsZS5nZXQoKSk7CiB9CiAKIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnRleHREaWRD
aGFuZ2VJblRleHRGaWVsZCgpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgKaW5kZXggNmQxMjAxZWIwN2JmOGM3ZmNmZDBi
ZmNiOTYwOTdjMzgyMWI5YmQ1Yy4uYmY3MTU1M2I3NWVjODY2Mzg4MjBlZjMxYTM0ZTJmZjc3NzUy
NDgzYiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZS5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGUuaApAQCAtNTEsOCArNTEsNyBAQCBwdWJsaWM6CiAgICAgLy8gSW5p
dGlhbGl6ZSB0aGUgSW5qZWN0ZWRCdW5kbGUuCiAgICAgdm9pZCBpbml0aWFsaXplKFdLQnVuZGxl
UmVmLCBXS1R5cGVSZWYgaW5pdGlhbGl6YXRpb25Vc2VyRGF0YSk7CiAKLSAgICBXS0J1bmRsZVJl
ZiBidW5kbGUoKSBjb25zdCB7IHJldHVybiBtX2J1bmRsZTsgfQotICAgIFdLQnVuZGxlUGFnZUdy
b3VwUmVmIHBhZ2VHcm91cCgpIGNvbnN0IHsgcmV0dXJuIG1fcGFnZUdyb3VwOyB9CisgICAgV0tC
dW5kbGVSZWYgYnVuZGxlKCkgY29uc3QgeyByZXR1cm4gbV9idW5kbGUuZ2V0KCk7IH0KIAogICAg
IFRlc3RSdW5uZXIqIHRlc3RSdW5uZXIoKSB7IHJldHVybiBtX3Rlc3RSdW5uZXIuZ2V0KCk7IH0K
ICAgICBHQ0NvbnRyb2xsZXIqIGdjQ29udHJvbGxlcigpIHsgcmV0dXJuIG1fZ2NDb250cm9sbGVy
LmdldCgpOyB9CkBAIC0xNTIsMTMgKzE1MSwxMSBAQCBwcml2YXRlOgogCiAgICAgc3RhdGljIHZv
aWQgZGlkQ3JlYXRlUGFnZShXS0J1bmRsZVJlZiwgV0tCdW5kbGVQYWdlUmVmLCBjb25zdCB2b2lk
KiBjbGllbnRJbmZvKTsKICAgICBzdGF0aWMgdm9pZCB3aWxsRGVzdHJveVBhZ2UoV0tCdW5kbGVS
ZWYsIFdLQnVuZGxlUGFnZVJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Ci0gICAgc3RhdGlj
IHZvaWQgZGlkSW5pdGlhbGl6ZVBhZ2VHcm91cChXS0J1bmRsZVJlZiwgV0tCdW5kbGVQYWdlR3Jv
dXBSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogICAgIHN0YXRpYyB2b2lkIGRpZFJlY2Vp
dmVNZXNzYWdlKFdLQnVuZGxlUmVmLCBXS1N0cmluZ1JlZiBtZXNzYWdlTmFtZSwgV0tUeXBlUmVm
IG1lc3NhZ2VCb2R5LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKICAgICBzdGF0aWMgdm9pZCBk
aWRSZWNlaXZlTWVzc2FnZVRvUGFnZShXS0J1bmRsZVJlZiwgV0tCdW5kbGVQYWdlUmVmLCBXS1N0
cmluZ1JlZiBtZXNzYWdlTmFtZSwgV0tUeXBlUmVmIG1lc3NhZ2VCb2R5LCBjb25zdCB2b2lkKiBj
bGllbnRJbmZvKTsKIAogICAgIHZvaWQgZGlkQ3JlYXRlUGFnZShXS0J1bmRsZVBhZ2VSZWYpOwog
ICAgIHZvaWQgd2lsbERlc3Ryb3lQYWdlKFdLQnVuZGxlUGFnZVJlZik7Ci0gICAgdm9pZCBkaWRJ
bml0aWFsaXplUGFnZUdyb3VwKFdLQnVuZGxlUGFnZUdyb3VwUmVmKTsKICAgICB2b2lkIGRpZFJl
Y2VpdmVNZXNzYWdlKFdLU3RyaW5nUmVmIG1lc3NhZ2VOYW1lLCBXS1R5cGVSZWYgbWVzc2FnZUJv
ZHkpOwogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2UoV0tCdW5kbGVQYWdlUmVmLCBX
S1N0cmluZ1JlZiBtZXNzYWdlTmFtZSwgV0tUeXBlUmVmIG1lc3NhZ2VCb2R5KTsKIApAQCAtMTY5
LDggKzE2Niw3IEBAIHByaXZhdGU6CiAgICAgZW51bSBjbGFzcyBCZWdpbmdUZXN0aW5nTW9kZSB7
IE5ldywgUmVzdW1lIH07CiAgICAgdm9pZCBiZWdpblRlc3RpbmcoV0tEaWN0aW9uYXJ5UmVmIGlu
aXRpYWxTZXR0aW5ncywgQmVnaW5nVGVzdGluZ01vZGUpOwogCi0gICAgV0tCdW5kbGVSZWYgbV9i
dW5kbGUgeyBudWxscHRyIH07Ci0gICAgV0tCdW5kbGVQYWdlR3JvdXBSZWYgbV9wYWdlR3JvdXAg
eyBudWxscHRyIH07CisgICAgV0tSZXRhaW5QdHI8V0tCdW5kbGVSZWY+IG1fYnVuZGxlOwogICAg
IFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8SW5qZWN0ZWRCdW5kbGVQYWdlPj4gbV9wYWdlczsKIAog
I2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCmluZGV4IGM2OWRiZjU1ZTI1MDViZDBmMjM0
NjFhODAzZDJjNzFkYTk3NDE0NzMuLjJlMDUwODUxYjk2MDg5YWZlNWRiYmQwNDVjNDRiMzA3ZDk4
MmFmY2MgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
VGVzdFJ1bm5lci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9UZXN0UnVubmVyLmNwcApAQCAtNzkwLDcgKzc5MCw3IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0
VXNlclN0eWxlU2hlZXRFbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICBhdXRvIGVtcHR5U3RyaW5n
ID0gdG9XSygiIik7CiAgICAgYXV0byBsb2NhdGlvbiA9IGVuYWJsZWQgPyBtX3VzZXJTdHlsZVNo
ZWV0TG9jYXRpb24uZ2V0KCkgOiBlbXB0eVN0cmluZy5nZXQoKTsKICAgICBhdXRvJiBpbmplY3Rl
ZEJ1bmRsZSA9IEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKTsKLSAgICBXS0J1bmRsZVNldFVz
ZXJTdHlsZVNoZWV0TG9jYXRpb24oaW5qZWN0ZWRCdW5kbGUuYnVuZGxlKCksIGluamVjdGVkQnVu
ZGxlLnBhZ2VHcm91cCgpLCBsb2NhdGlvbik7CisgICAgV0tCdW5kbGVTZXRVc2VyU3R5bGVTaGVl
dExvY2F0aW9uRm9yVGVzdGluZyhpbmplY3RlZEJ1bmRsZS5idW5kbGUoKSwgbG9jYXRpb24pOwog
fQogCiB2b2lkIFRlc3RSdW5uZXI6OnNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb24oSlNTdHJpbmdS
ZWYgbG9jYXRpb24pCkBAIC04MjQsNyArODI0LDcgQEAgdm9pZCBUZXN0UnVubmVyOjpzZXRDYWNo
ZU1vZGVsKGludCBtb2RlbCkKIHZvaWQgVGVzdFJ1bm5lcjo6c2V0QXN5bmNocm9ub3VzU3BlbGxD
aGVja2luZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQogewogICAgIGF1dG8mIGluamVjdGVkQnVuZGxl
ID0gSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpOwotICAgIFdLQnVuZGxlU2V0QXN5bmNocm9u
b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoaW5qZWN0ZWRCdW5kbGUuYnVuZGxlKCksIGluamVjdGVk
QnVuZGxlLnBhZ2VHcm91cCgpLCBlbmFibGVkKTsKKyAgICBXS0J1bmRsZVNldEFzeW5jaHJvbm91
c1NwZWxsQ2hlY2tpbmdFbmFibGVkRm9yVGVzdGluZyhpbmplY3RlZEJ1bmRsZS5idW5kbGUoKSwg
ZW5hYmxlZCk7CiB9CiAKIHZvaWQgVGVzdFJ1bm5lcjo6Z3JhbnRXZWJOb3RpZmljYXRpb25QZXJt
aXNzaW9uKEpTU3RyaW5nUmVmIG9yaWdpbikK
</data>
<flag name="review"
          id="448699"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>