<?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>224391</bug_id>
          
          <creation_ts>2021-04-09 14:24:05 -0700</creation_ts>
          <short_desc>Deprecate and remove most of _WKUserContentFilter</short_desc>
          <delta_ts>2022-09-01 23:06:12 -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>darin</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1748869</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-09 14:24:05 -0700</bug_when>
    <thetext>Deprecate and remove most of _WKUserContentFilter</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1748870</commentid>
    <comment_count>1</comment_count>
      <attachid>425654</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-09 14:27:33 -0700</bug_when>
    <thetext>Created attachment 425654
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1748961</commentid>
    <comment_count>2</comment_count>
      <attachid>425677</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-09 21:46:21 -0700</bug_when>
    <thetext>Created attachment 425677
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749015</commentid>
    <comment_count>3</comment_count>
      <attachid>425677</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-10 11:59:57 -0700</bug_when>
    <thetext>Comment on attachment 425677
Patch

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

There seems to be an InstallAPI issue with the classes that are removed on iOS that needs to be addressed somehow. r=me assuming that’s worked out

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKUserContentFilter.mm:31
&gt; +IGNORE_WARNINGS_BEGIN(&quot;deprecated-implementations&quot;)

Kind of surprised we don’t have a separate named macro for this one.

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKUserContentFilter.mm:35
&gt; +- (id)_initWithWKContentRuleList:(WKContentRuleList *)contentRuleList

Not sure exactly how stubby to leave these stub classes. Could imagine also overriding init to return nil like this.

&gt; Source/WebKit/UIProcess/API/Cocoa/_WKUserContentFilter.mm:37
&gt; +    return nil;

We ought to release or dealloc self before returning nil.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751246</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-16 14:25:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/76778414&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760849</commentid>
    <comment_count>5</comment_count>
      <attachid>425677</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-05-17 13:15:04 -0700</bug_when>
    <thetext>Comment on attachment 425677
Patch

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

&gt; Source/WebKit/ChangeLog:8
&gt; +        I removed its use in rdar://75889414 so we can remove most of it, but we still need a class with that name to launch SafariForWebKitDevelopment.

SafariForWebKitDevelopment is already so broken from other things I can&apos;t test how much I need to leave, so I&apos;m just going to remove all of it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760852</commentid>
    <comment_count>6</comment_count>
      <attachid>428858</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-05-17 13:25:08 -0700</bug_when>
    <thetext>Created attachment 428858
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760882</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-17 14:14:05 -0700</bug_when>
    <thetext>Committed r277605 (237822@main): &lt;https://commits.webkit.org/237822@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 428858.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760970</commentid>
    <comment_count>8</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-05-17 17:29:51 -0700</bug_when>
    <thetext>This seems to have caused iOS test failures.  Investigating...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760990</commentid>
    <comment_count>9</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-05-17 18:34:22 -0700</bug_when>
    <thetext>Very strange.  All our test infrastructure doesn&apos;t seem to start any more after this change.
Reverted in r277627</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1895546</commentid>
    <comment_count>10</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-09-01 11:22:07 -0700</bug_when>
    <thetext>Re-opening for pull request https://github.com/WebKit/WebKit/pull/3922</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1895710</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-09-01 23:06:10 -0700</bug_when>
    <thetext>Committed 254090@main (3d76e58f2afd): &lt;https://commits.webkit.org/254090@main&gt;

Reviewed commits have been landed. Closing PR #3922 and removing active labels.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425654</attachid>
            <date>2021-04-09 14:27:33 -0700</date>
            <delta_ts>2021-04-09 21:46:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224391-20210409142732.patch</filename>
            <type>text/plain</type>
            <size>57368</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NzY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQ4ZTNlYzNjNmNjNDg0ZDll
ODY2OWFkOTE2YTllNTdjNTk3OTY2ZWIuLjhkYWY0ZTE5NzFkYmUyMzcxN2M5NWMyNjIwY2Q1ZWVk
YWZhNzdlNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMjEtMDQtMDkgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBEZXByZWNhdGUg
YW5kIHJlbW92ZSBtb3N0IG9mIF9XS1VzZXJDb250ZW50RmlsdGVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQzOTEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJIHJlbW92ZWQgaXRzIHVzZSBpbiByZGFy
Oi8vNzU4ODk0MTQgc28gd2UgY2FuIHJlbW92ZSBtb3N0IG9mIGl0LCBidXQgd2Ugc3RpbGwgbmVl
ZCBhIGNsYXNzIHdpdGggdGhhdCBuYW1lIHRvIGxhdW5jaCBTYWZhcmlGb3JXZWJLaXREZXZlbG9w
bWVudC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyQ29udGVudENvbnRy
b2xsZXIubW06CisgICAgICAgICgtW1dLVXNlckNvbnRlbnRDb250cm9sbGVyIF9hZGRVc2VyQ29u
dGVudEZpbHRlcjpdKToKKyAgICAgICAgKC1bV0tVc2VyQ29udGVudENvbnRyb2xsZXIgX3JlbW92
ZUFsbFVzZXJDb250ZW50RmlsdGVyc10pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tVc2VyQ29udGVudENvbnRyb2xsZXJQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLm1tOgorICAgICAgICAo
K1tfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlIGRlZmF1bHRTdG9yZV0pOgorICAgICAgICAo
K1tfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlIHN0b3JlV2l0aFVSTDpdKToKKyAgICAgICAg
KC1bX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZSBjb21waWxlQ29udGVudEV4dGVuc2lvbkZv
cklkZW50aWZpZXI6ZW5jb2RlZENvbnRlbnRFeHRlbnNpb246Y29tcGxldGlvbkhhbmRsZXI6XSk6
CisgICAgICAgICgtW19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgbG9va3VwQ29udGVudEV4
dGVuc2lvbkZvcklkZW50aWZpZXI6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAgICgtW19X
S1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgcmVtb3ZlQ29udGVudEV4dGVuc2lvbkZvcklkZW50
aWZpZXI6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAgICh0b1VzZXJDb250ZW50UnVsZUxp
c3RTdG9yZUVycm9yKTogRGVsZXRlZC4KKyAgICAgICAgKC1bX1dLVXNlckNvbnRlbnRFeHRlbnNp
b25TdG9yZSBfYXBpT2JqZWN0XSk6IERlbGV0ZWQuCisgICAgICAgICgtW19XS1VzZXJDb250ZW50
RXh0ZW5zaW9uU3RvcmUgX3JlbW92ZUFsbENvbnRlbnRFeHRlbnNpb25zXSk6IERlbGV0ZWQuCisg
ICAgICAgICgtW19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgX2ludmFsaWRhdGVDb250ZW50
RXh0ZW5zaW9uVmVyc2lvbkZvcklkZW50aWZpZXI6XSk6IERlbGV0ZWQuCisgICAgICAgICgtW19X
S1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgX2luaXRXaXRoV0tDb250ZW50UnVsZUxpc3RTdG9y
ZTpdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZSBf
Y29udGVudFJ1bGVMaXN0U3RvcmVdKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVJbnRlcm5hbC5oOiBSZW1vdmVkLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9y
ZVByaXZhdGUuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Vz
ZXJDb250ZW50RmlsdGVyLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2Vy
Q29udGVudEZpbHRlci5tbToKKyAgICAgICAgKC1bX1dLVXNlckNvbnRlbnRGaWx0ZXIgX2luaXRX
aXRoV0tDb250ZW50UnVsZUxpc3Q6XSk6CisgICAgICAgICgtW19XS1VzZXJDb250ZW50RmlsdGVy
IF9hcGlPYmplY3RdKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19X
S1VzZXJDb250ZW50RmlsdGVySW50ZXJuYWwuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50RmlsdGVyUHJpdmF0ZS5oOiBSZW1vdmVkLgorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAgICAqIFdlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDIxLTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgTmVlZCB0byBwcm9wYWdhdGUgYW5kIHVzZSAnY2FuU2hv
d1doaWxlTG9ja2VkJyBpbiB0aGUgR1BVIFByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VzZXJDb250ZW50Q29udHJvbGxlci5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VzZXJDb250ZW50Q29udHJvbGxlci5tbQpp
bmRleCBjNmIzZTQ3MGMxODU4MTk1NTY5YTcyNmM4Y2ZhNTM1YWY4OGIzN2E5Li43NjkwM2EyNjdm
MmY3ODIyNDlhYzVlYzdiOTAxODQxNjM1ZjIwNWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyQ29udGVudENvbnRyb2xsZXIubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVXNlckNvbnRlbnRDb250cm9sbGVyLm1t
CkBAIC00MCw3ICs0MCw2IEBACiAjaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5oIgogI2ltcG9y
dCAiV2ViU2NyaXB0TWVzc2FnZUhhbmRsZXIuaCIKICNpbXBvcnQgIldlYlVzZXJDb250ZW50Q29u
dHJvbGxlclByb3h5LmgiCi0jaW1wb3J0ICJfV0tVc2VyQ29udGVudEZpbHRlckludGVybmFsLmgi
CiAjaW1wb3J0ICJfV0tVc2VyQ29udGVudFdvcmxkSW50ZXJuYWwuaCIKICNpbXBvcnQgIl9XS1Vz
ZXJTdHlsZVNoZWV0SW50ZXJuYWwuaCIKICNpbXBvcnQgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4u
aD4KQEAgLTI3Nyw5ICsyNzYsNiBAQCBwcml2YXRlOgogCiAtICh2b2lkKV9hZGRVc2VyQ29udGVu
dEZpbHRlcjooX1dLVXNlckNvbnRlbnRGaWx0ZXIgKil1c2VyQ29udGVudEZpbHRlcgogewotI2lm
IEVOQUJMRShDT05URU5UX0VYVEVOU0lPTlMpCi0gICAgX3VzZXJDb250ZW50Q29udHJvbGxlclBy
b3h5LT5hZGRDb250ZW50UnVsZUxpc3QoKnVzZXJDb250ZW50RmlsdGVyLT5fY29udGVudFJ1bGVM
aXN0LT5fY29udGVudFJ1bGVMaXN0KTsKLSNlbmRpZgogfQogCiAtICh2b2lkKV9yZW1vdmVVc2Vy
Q29udGVudEZpbHRlcjooTlNTdHJpbmcgKil1c2VyQ29udGVudEZpbHRlck5hbWUKQEAgLTI5MSw5
ICsyODcsNiBAQCBwcml2YXRlOgogCiAtICh2b2lkKV9yZW1vdmVBbGxVc2VyQ29udGVudEZpbHRl
cnMKIHsKLSNpZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQotICAgIF91c2VyQ29udGVudENv
bnRyb2xsZXJQcm94eS0+cmVtb3ZlQWxsQ29udGVudFJ1bGVMaXN0cygpOwotI2VuZGlmCiB9CiAK
IC0gKE5TQXJyYXkgKilfdXNlclN0eWxlU2hlZXRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyQ29udGVudENvbnRyb2xsZXJQcml2YXRlLmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyQ29udGVudENvbnRyb2xsZXJQ
cml2YXRlLmgKaW5kZXggYTI1MmQwNDE2Njc0YzQ4MDQ2MmIxYTkxMTk4MGY2MmY1OWI3MDJhMS4u
ZTQ0NmI1OGI5ZjkwOWE3NjI0ODhlOTk5MGU2NDg0ZTdkMzljZDRlMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVXNlckNvbnRlbnRDb250cm9sbGVyUHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VzZXJDb250
ZW50Q29udHJvbGxlclByaXZhdGUuaApAQCAtMzgsOSArMzgsOSBAQAogCiAtICh2b2lkKV9hZGRV
c2VyU2NyaXB0SW1tZWRpYXRlbHk6KFdLVXNlclNjcmlwdCAqKXVzZXJTY3JpcHQgV0tfQVBJX0FW
QUlMQUJMRShtYWNvcygxMC4xNCksIGlvcygxMi4wKSk7CiAKLS0gKHZvaWQpX2FkZFVzZXJDb250
ZW50RmlsdGVyOihfV0tVc2VyQ29udGVudEZpbHRlciAqKXVzZXJDb250ZW50RmlsdGVyIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3MoMTAuMTEpLCBpb3MoOS4wKSk7CistICh2b2lkKV9hZGRVc2VyQ29u
dGVudEZpbHRlcjooX1dLVXNlckNvbnRlbnRGaWx0ZXIgKil1c2VyQ29udGVudEZpbHRlciBXS19B
UElfREVQUkVDQVRFRF9XSVRIX1JFUExBQ0VNRU5UKCJhZGRDb250ZW50UnVsZUxpc3QiLCBtYWNv
cygxMC4xMSwgV0tfTUFDX1RCQSksIGlvcyg5LjAsIFdLX0lPU19UQkEpKTsKIC0gKHZvaWQpX3Jl
bW92ZVVzZXJDb250ZW50RmlsdGVyOihOU1N0cmluZyAqKXVzZXJDb250ZW50RmlsdGVyTmFtZSBX
S19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjExKSwgaW9zKDkuMCkpOwotLSAodm9pZClfcmVtb3Zl
QWxsVXNlckNvbnRlbnRGaWx0ZXJzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTEpLCBpb3Mo
OS4wKSk7CistICh2b2lkKV9yZW1vdmVBbGxVc2VyQ29udGVudEZpbHRlcnMgV0tfQVBJX0RFUFJF
Q0FURURfV0lUSF9SRVBMQUNFTUVOVCgicmVtb3ZlQWxsQ29udGVudFJ1bGVMaXN0cyIsIG1hY29z
KDEwLjExLCBXS19NQUNfVEJBKSwgaW9zKDkuMCwgV0tfSU9TX1RCQSkpOwogCiBAcHJvcGVydHkg
KG5vbmF0b21pYywgcmVhZG9ubHksIGNvcHkpIE5TQXJyYXk8X1dLVXNlclN0eWxlU2hlZXQgKj4g
Kl91c2VyU3R5bGVTaGVldHMgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMiksIGlvcygxMC4w
KSk7CiAtICh2b2lkKV9hZGRVc2VyU3R5bGVTaGVldDooX1dLVXNlclN0eWxlU2hlZXQgKil1c2Vy
U3R5bGVTaGVldCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEyKSwgaW9zKDEwLjApKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVu
dEV4dGVuc2lvblN0b3JlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
VXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZS5oCmluZGV4IDAwN2ViYWVmNzM5NGUwOGQ5ODQxYWMy
ODNhYjdjYzJjYmUxYmNlNWYuLjk3ZDNiYjgwMWJkODllYTQ0YmFjNjJiNTFjMDZkNGFjOGI2ODYx
NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2Vy
Q29udGVudEV4dGVuc2lvblN0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUuaApAQCAtMjcsNyArMjcsNyBAQAog
CiBAY2xhc3MgX1dLVXNlckNvbnRlbnRGaWx0ZXI7CiAKLVdLX0NMQVNTX0FWQUlMQUJMRShtYWNv
cygxMC4xMSksIGlvcyg5LjApKQorV0tfQVBJX0RFUFJFQ0FURURfV0lUSF9SRVBMQUNFTUVOVCgi
V0tDb250ZW50UnVsZUxpc3RTdG9yZSIsIG1hY29zKDEwLjExLCBXS19NQUNfVEJBKSwgaW9zKDku
MCwgV0tfSU9TX1RCQSkpCiBAaW50ZXJmYWNlIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUg
OiBOU09iamVjdAogCiArIChpbnN0YW5jZXR5cGUpZGVmYXVsdFN0b3JlOwpAQCAtMzksNyArMzks
NyBAQCBXS19DTEFTU19BVkFJTEFCTEUobWFjb3MoMTAuMTEpLCBpb3MoOS4wKSkKIAogQGVuZAog
Ci1XS19FWFRFUk4gTlNTdHJpbmcgKiBjb25zdCBfV0tVc2VyQ29udGVudEV4dGVuc2lvbnNEb21h
aW4gV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMiksIGlvcygxMC4wKSk7CitXS19FWFRFUk4g
TlNTdHJpbmcgKiBjb25zdCBfV0tVc2VyQ29udGVudEV4dGVuc2lvbnNEb21haW4gV0tfQVBJX0RF
UFJFQ0FURURfV0lUSF9SRVBMQUNFTUVOVCgiV0tFcnJvckRvbWFpbiIsIG1hY29zKDEwLjEyLCBX
S19NQUNfVEJBKSwgaW9zKDEwLjAsIFdLX0lPU19UQkEpKTsKIAogdHlwZWRlZiBOU19FTlVNKE5T
SW50ZWdlciwgX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZUVycm9yQ29kZSkgewogICAgIF9X
S1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVFcnJvckxvb2t1cEZhaWxlZCwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudEV4dGVuc2lv
blN0b3JlLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250
ZW50RXh0ZW5zaW9uU3RvcmUubW0KaW5kZXggMWQxZDg3MjQyOTE3ODM5ZTAzYzZjMDExMGE5NGE4
M2NjNmUwZTg3MS4uNDU3MDczNTMyZjFkZTk3ODI0MTE2Y2Y4ZjBhMTU5OGQxNmEzODU0YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50
RXh0ZW5zaW9uU3RvcmUubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUubW0KQEAgLTI0LDExMCArMjQsMzkgQEAKICAq
LwogCiAjaW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQgIl9XS1VzZXJDb250ZW50RXh0ZW5zaW9u
U3RvcmVJbnRlcm5hbC5oIgorI2ltcG9ydCAiX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZS5o
IgogCi0jaW1wb3J0ICJXS0NvbnRlbnRSdWxlTGlzdFN0b3JlSW50ZXJuYWwuaCIKLSNpbXBvcnQg
IldLQ29udGVudFJ1bGVMaXN0U3RvcmVQcml2YXRlLmgiCiAjaW1wb3J0ICJXS0Vycm9ySW50ZXJu
YWwuaCIKLSNpbXBvcnQgIl9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVQcml2YXRlLmgiCi0j
aW1wb3J0ICJfV0tVc2VyQ29udGVudEZpbHRlckludGVybmFsLmgiCi0jaW1wb3J0ICJfV0tVc2Vy
Q29udGVudEZpbHRlclByaXZhdGUuaCIKLSNpbXBvcnQgPHN0cmluZz4KIAogTlNTdHJpbmcgKiBj
b25zdCBfV0tVc2VyQ29udGVudEV4dGVuc2lvbnNEb21haW4gPSBAIldLRXJyb3JEb21haW4iOwog
Ci1zdGF0aWMgTlNFcnJvciAqdG9Vc2VyQ29udGVudFJ1bGVMaXN0U3RvcmVFcnJvcihjb25zdCBO
U0Vycm9yICplcnJvcikKLXsKLSAgICBpZiAoIWVycm9yKQotICAgICAgICByZXR1cm4gbmlsOwot
Ci0gICAgQVNTRVJUKGVycm9yLmRvbWFpbiA9PSBXS0Vycm9yRG9tYWluKTsKLSAgICBzd2l0Y2gg
KGVycm9yLmNvZGUpIHsKLSAgICBjYXNlIFdLRXJyb3JDb250ZW50UnVsZUxpc3RTdG9yZUxvb2tV
cEZhaWxlZDoKLSAgICAgICAgcmV0dXJuIFtOU0Vycm9yIGVycm9yV2l0aERvbWFpbjpfV0tVc2Vy
Q29udGVudEV4dGVuc2lvbnNEb21haW4gY29kZTpfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3Jl
RXJyb3JMb29rdXBGYWlsZWQgdXNlckluZm86ZXJyb3IudXNlckluZm9dOwotICAgIGNhc2UgV0tF
cnJvckNvbnRlbnRSdWxlTGlzdFN0b3JlVmVyc2lvbk1pc21hdGNoOgotICAgICAgICByZXR1cm4g
W05TRXJyb3IgZXJyb3JXaXRoRG9tYWluOl9XS1VzZXJDb250ZW50RXh0ZW5zaW9uc0RvbWFpbiBj
b2RlOl9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVFcnJvclZlcnNpb25NaXNtYXRjaCB1c2Vy
SW5mbzplcnJvci51c2VySW5mb107Ci0gICAgY2FzZSBXS0Vycm9yQ29udGVudFJ1bGVMaXN0U3Rv
cmVDb21waWxlRmFpbGVkOgotICAgICAgICByZXR1cm4gW05TRXJyb3IgZXJyb3JXaXRoRG9tYWlu
Ol9XS1VzZXJDb250ZW50RXh0ZW5zaW9uc0RvbWFpbiBjb2RlOl9XS1VzZXJDb250ZW50RXh0ZW5z
aW9uU3RvcmVFcnJvckNvbXBpbGVGYWlsZWQgdXNlckluZm86ZXJyb3IudXNlckluZm9dOwotICAg
IGNhc2UgV0tFcnJvckNvbnRlbnRSdWxlTGlzdFN0b3JlUmVtb3ZlRmFpbGVkOgotICAgICAgICBy
ZXR1cm4gW05TRXJyb3IgZXJyb3JXaXRoRG9tYWluOl9XS1VzZXJDb250ZW50RXh0ZW5zaW9uc0Rv
bWFpbiBjb2RlOl9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVFcnJvclJlbW92ZUZhaWxlZCB1
c2VySW5mbzplcnJvci51c2VySW5mb107Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgUkVMRUFTRV9B
U1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICB9Ci19Ci0KK0lHTk9SRV9XQVJOSU5HU19CRUdJTigi
ZGVwcmVjYXRlZC1pbXBsZW1lbnRhdGlvbnMiKQogQGltcGxlbWVudGF0aW9uIF9XS1VzZXJDb250
ZW50RXh0ZW5zaW9uU3RvcmUKK0lHTk9SRV9XQVJOSU5HU19FTkQKIAogKyAoaW5zdGFuY2V0eXBl
KWRlZmF1bHRTdG9yZQogewotICAgIHJldHVybiBhZG9wdE5TKFtbX1dLVXNlckNvbnRlbnRFeHRl
bnNpb25TdG9yZSBhbGxvY10gX2luaXRXaXRoV0tDb250ZW50UnVsZUxpc3RTdG9yZTpbV0tDb250
ZW50UnVsZUxpc3RTdG9yZSBkZWZhdWx0U3RvcmVXaXRoTGVnYWN5RmlsZW5hbWVdXSkuYXV0b3Jl
bGVhc2UoKTsKKyAgICByZXR1cm4gbmlsOwogfQogCiArIChpbnN0YW5jZXR5cGUpc3RvcmVXaXRo
VVJMOihOU1VSTCAqKXVybAogewotICAgIHJldHVybiBhZG9wdE5TKFtbX1dLVXNlckNvbnRlbnRF
eHRlbnNpb25TdG9yZSBhbGxvY10gX2luaXRXaXRoV0tDb250ZW50UnVsZUxpc3RTdG9yZTpbV0tD
b250ZW50UnVsZUxpc3RTdG9yZSBzdG9yZVdpdGhVUkxBbmRMZWdhY3lGaWxlbmFtZTp1cmxdXSku
YXV0b3JlbGVhc2UoKTsKKyAgICByZXR1cm4gbmlsOwogfQogCiAtICh2b2lkKWNvbXBpbGVDb250
ZW50RXh0ZW5zaW9uRm9ySWRlbnRpZmllcjooTlNTdHJpbmcgKilpZGVudGlmaWVyIGVuY29kZWRD
b250ZW50RXh0ZW5zaW9uOihOU1N0cmluZyAqKWVuY29kZWRDb250ZW50UnVsZUxpc3QgY29tcGxl
dGlvbkhhbmRsZXI6KHZvaWQgKF4pKF9XS1VzZXJDb250ZW50RmlsdGVyICosIE5TRXJyb3IgKikp
Y29tcGxldGlvbkhhbmRsZXIKIHsKLSAgICBbX2NvbnRlbnRSdWxlTGlzdFN0b3JlIF9jb21waWxl
Q29udGVudFJ1bGVMaXN0Rm9ySWRlbnRpZmllcjppZGVudGlmaWVyIGVuY29kZWRDb250ZW50UnVs
ZUxpc3Q6ZW5jb2RlZENvbnRlbnRSdWxlTGlzdCBjb21wbGV0aW9uSGFuZGxlcjpeKFdLQ29udGVu
dFJ1bGVMaXN0ICpjb250ZW50UnVsZUxpc3QsIE5TRXJyb3IgKmVycm9yKSB7Ci0gICAgICAgIGF1
dG8gY29udGVudEZpbHRlciA9IGNvbnRlbnRSdWxlTGlzdCA/IGFkb3B0TlMoW1tfV0tVc2VyQ29u
dGVudEZpbHRlciBhbGxvY10gX2luaXRXaXRoV0tDb250ZW50UnVsZUxpc3Q6Y29udGVudFJ1bGVM
aXN0XSkgOiBuaWw7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGNvbnRlbnRGaWx0ZXIuZ2V0
KCksIHRvVXNlckNvbnRlbnRSdWxlTGlzdFN0b3JlRXJyb3IoZXJyb3IpKTsKLSAgICB9XTsKKyAg
ICBjb21wbGV0aW9uSGFuZGxlcihuaWwsIGFkb3B0TlMoW1tOU0Vycm9yIGFsbG9jXSBpbml0V2l0
aERvbWFpbjpXS0Vycm9yRG9tYWluIGNvZGU6V0tFcnJvckNvbnRlbnRSdWxlTGlzdFN0b3JlQ29t
cGlsZUZhaWxlZCB1c2VySW5mbzpuaWxdKS5nZXQoKSk7CiB9CiAKIC0gKHZvaWQpbG9va3VwQ29u
dGVudEV4dGVuc2lvbkZvcklkZW50aWZpZXI6KE5TU3RyaW5nICopaWRlbnRpZmllciBjb21wbGV0
aW9uSGFuZGxlcjoodm9pZCAoXikoX1dLVXNlckNvbnRlbnRGaWx0ZXIgKiwgTlNFcnJvciAqKSlj
b21wbGV0aW9uSGFuZGxlcgogewotICAgIFtfY29udGVudFJ1bGVMaXN0U3RvcmUgbG9va1VwQ29u
dGVudFJ1bGVMaXN0Rm9ySWRlbnRpZmllcjppZGVudGlmaWVyIGNvbXBsZXRpb25IYW5kbGVyOl4o
V0tDb250ZW50UnVsZUxpc3QgKmNvbnRlbnRSdWxlTGlzdCwgTlNFcnJvciAqZXJyb3IpIHsKLSAg
ICAgICAgYXV0byBjb250ZW50RmlsdGVyID0gY29udGVudFJ1bGVMaXN0ID8gYWRvcHROUyhbW19X
S1VzZXJDb250ZW50RmlsdGVyIGFsbG9jXSBfaW5pdFdpdGhXS0NvbnRlbnRSdWxlTGlzdDpjb250
ZW50UnVsZUxpc3RdKSA6IG5pbDsKLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoY29udGVudEZp
bHRlci5nZXQoKSwgdG9Vc2VyQ29udGVudFJ1bGVMaXN0U3RvcmVFcnJvcihlcnJvcikpOwotICAg
IH1dOworICAgIGNvbXBsZXRpb25IYW5kbGVyKG5pbCwgYWRvcHROUyhbW05TRXJyb3IgYWxsb2Nd
IGluaXRXaXRoRG9tYWluOldLRXJyb3JEb21haW4gY29kZTpXS0Vycm9yQ29udGVudFJ1bGVMaXN0
U3RvcmVMb29rVXBGYWlsZWQgdXNlckluZm86bmlsXSkuZ2V0KCkpOwogfQogCiAtICh2b2lkKXJl
bW92ZUNvbnRlbnRFeHRlbnNpb25Gb3JJZGVudGlmaWVyOihOU1N0cmluZyAqKWlkZW50aWZpZXIg
Y29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5TRXJyb3IgKikpY29tcGxldGlvbkhhbmRsZXIK
IHsKLSAgICBbX2NvbnRlbnRSdWxlTGlzdFN0b3JlIHJlbW92ZUNvbnRlbnRSdWxlTGlzdEZvcklk
ZW50aWZpZXI6aWRlbnRpZmllciBjb21wbGV0aW9uSGFuZGxlcjpeKE5TRXJyb3IgKmVycm9yKSB7
Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHRvVXNlckNvbnRlbnRSdWxlTGlzdFN0b3JlRXJy
b3IoZXJyb3IpKTsKLSAgICB9XTsKLX0KLQotI3ByYWdtYSBtYXJrIFdLT2JqZWN0IHByb3RvY29s
IGltcGxlbWVudGF0aW9uCi0KLS0gKEFQSTo6T2JqZWN0JilfYXBpT2JqZWN0Ci17Ci0gICAgcmV0
dXJuIFtfY29udGVudFJ1bGVMaXN0U3RvcmUgX2FwaU9iamVjdF07Ci19Ci0KLUBlbmQKLQotQGlt
cGxlbWVudGF0aW9uIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgKFdLUHJpdmF0ZSkKLQot
Ly8gRm9yIHRlc3Rpbmcgb25seS4KLQotLSAodm9pZClfcmVtb3ZlQWxsQ29udGVudEV4dGVuc2lv
bnMKLXsKLSAgICBbX2NvbnRlbnRSdWxlTGlzdFN0b3JlIF9yZW1vdmVBbGxDb250ZW50UnVsZUxp
c3RzXTsKLX0KLQotLSAodm9pZClfaW52YWxpZGF0ZUNvbnRlbnRFeHRlbnNpb25WZXJzaW9uRm9y
SWRlbnRpZmllcjooTlNTdHJpbmcgKilpZGVudGlmaWVyCi17Ci0gICAgW19jb250ZW50UnVsZUxp
c3RTdG9yZSBfaW52YWxpZGF0ZUNvbnRlbnRSdWxlTGlzdFZlcnNpb25Gb3JJZGVudGlmaWVyOmlk
ZW50aWZpZXJdOwotfQotCi0tIChpZClfaW5pdFdpdGhXS0NvbnRlbnRSdWxlTGlzdFN0b3JlOihX
S0NvbnRlbnRSdWxlTGlzdFN0b3JlKiljb250ZW50UnVsZUxpc3RTdG9yZQotewotICAgIHNlbGYg
PSBbc3VwZXIgaW5pdF07Ci0gICAgaWYgKCFzZWxmKQotICAgICAgICByZXR1cm4gbmlsOwotICAg
IAotICAgIF9jb250ZW50UnVsZUxpc3RTdG9yZSA9IGNvbnRlbnRSdWxlTGlzdFN0b3JlOwotICAg
IAotICAgIHJldHVybiBzZWxmOwotfQotCi0tIChXS0NvbnRlbnRSdWxlTGlzdFN0b3JlICopX2Nv
bnRlbnRSdWxlTGlzdFN0b3JlCi17Ci0gICAgcmV0dXJuIF9jb250ZW50UnVsZUxpc3RTdG9yZS5n
ZXQoKTsKKyAgICBjb21wbGV0aW9uSGFuZGxlcihhZG9wdE5TKFtbTlNFcnJvciBhbGxvY10gaW5p
dFdpdGhEb21haW46V0tFcnJvckRvbWFpbiBjb2RlOldLRXJyb3JDb250ZW50UnVsZUxpc3RTdG9y
ZVJlbW92ZUZhaWxlZCB1c2VySW5mbzpuaWxdKS5nZXQoKSk7CiB9CiAKIEBlbmQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudEV4dGVu
c2lvblN0b3JlSW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlSW50ZXJuYWwuaApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNmY0ZGZhZTA5MDZjNjA1ODE4Njc1MTUxZDg4NjllZDZjMzZmZDI0NS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZUludGVybmFs
LmgKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAi
X1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZVByaXZhdGUuaCIKLQotI2ltcG9ydCAiQVBJQ29u
dGVudFJ1bGVMaXN0U3RvcmUuaCIKLSNpbXBvcnQgIldLT2JqZWN0LmgiCi0KLUBjbGFzcyBXS0Nv
bnRlbnRSdWxlTGlzdFN0b3JlOwotCi1AaW50ZXJmYWNlIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9u
U3RvcmUgKCkgPFdLT2JqZWN0PiB7Ci1AcGFja2FnZQotICAgIFJldGFpblB0cjxXS0NvbnRlbnRS
dWxlTGlzdFN0b3JlPiBfY29udGVudFJ1bGVMaXN0U3RvcmU7Ci19Ci1AZW5kCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRFeHRlbnNp
b25TdG9yZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tV
c2VyQ29udGVudEV4dGVuc2lvblN0b3JlUHJpdmF0ZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA1NjExOTQwODVkNGI3ZjBlMTNmZGJkYzZmMDcyZWQxZTY5MjYyNGY2Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlUHJpdmF0ZS5oCisr
KyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
LSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgot
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgPFdlYktp
dC9fV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLmg+Ci0KLUBjbGFzcyBXS0NvbnRlbnRSdWxl
TGlzdFN0b3JlOwotCi1AaW50ZXJmYWNlIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgKFdL
UHJpdmF0ZSkKLQotLy8gRm9yIHRlc3Rpbmcgb25seS4KLS0gKHZvaWQpX3JlbW92ZUFsbENvbnRl
bnRFeHRlbnNpb25zOwotLSAodm9pZClfaW52YWxpZGF0ZUNvbnRlbnRFeHRlbnNpb25WZXJzaW9u
Rm9ySWRlbnRpZmllcjooTlNTdHJpbmcgKilpZGVudGlmaWVyOwotCi0tIChpZClfaW5pdFdpdGhX
S0NvbnRlbnRSdWxlTGlzdFN0b3JlOihXS0NvbnRlbnRSdWxlTGlzdFN0b3JlICopY29udGVudFJ1
bGVMaXN0U3RvcmUgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMyksIGlvcygxMS4wKSk7Ci1A
cHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFdLQ29udGVudFJ1bGVMaXN0U3RvcmUgKl9j
b250ZW50UnVsZUxpc3RTdG9yZSBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjE1KSwgaW9zKDEz
LjApKTsKLQotQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS1VzZXJDb250ZW50RmlsdGVyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLVXNlckNvbnRlbnRGaWx0ZXIuaAppbmRleCAxN2I0ZDFkNjkxZTIwNDA3MDA2Yjk5
YjAzMDMyNTllYjk0OWRiNDZjLi4zZGRiODJkNzUxNGVhNmEyOTRkYTJiYjkxNjZlZmJhNjY0MWEw
ODNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNl
ckNvbnRlbnRGaWx0ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLVXNlckNvbnRlbnRGaWx0ZXIuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjaW1wb3J0IDxXZWJL
aXQvV0tGb3VuZGF0aW9uLmg+CiAKLVdLX0NMQVNTX0FWQUlMQUJMRShtYWNvcygxMC4xMSksIGlv
cyg5LjApKQorV0tfQVBJX0RFUFJFQ0FURURfV0lUSF9SRVBMQUNFTUVOVChtYWNvcygxMC4xMSwg
V0tfTUFDX1RCQSksIGlvcyg5LjAsIFdLX0lPU19UQkEpKQogQGludGVyZmFjZSBfV0tVc2VyQ29u
dGVudEZpbHRlciA6IE5TT2JqZWN0CiAKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudEZpbHRlci5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudEZpbHRlci5tbQppbmRleCBiYjhh
MDk0ZTA2NTU0OGY2YWM3YTg2MGZiNzM2ZTZiZjZlOTcxMWNlLi44YTRiMjczYzBlYmFjYmRlNDVh
OGIzMzE2ZTM0N2ZkZjY1ZTkyOWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRGaWx0ZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50RmlsdGVyLm1tCkBAIC0yNCwzNiArMjQs
MTcgQEAKICAqLwogCiAjaW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQgIl9XS1VzZXJDb250ZW50
RmlsdGVySW50ZXJuYWwuaCIKKyNpbXBvcnQgIl9XS1VzZXJDb250ZW50RmlsdGVyLmgiCiAKLSNp
bXBvcnQgIldLQ29udGVudFJ1bGVMaXN0SW50ZXJuYWwuaCIKLSNpbXBvcnQgIldlYkNvbXBpbGVk
Q29udGVudFJ1bGVMaXN0LmgiCi0jaW1wb3J0IDxXZWJDb3JlL0NvbnRlbnRFeHRlbnNpb25Db21w
aWxlci5oPgotI2ltcG9ydCA8V2ViQ29yZS9Db250ZW50RXh0ZW5zaW9uRXJyb3IuaD4KLSNpbXBv
cnQgPHN0cmluZz4KK0BjbGFzcyBXS0NvbnRlbnRSdWxlTGlzdDsKIAorSUdOT1JFX1dBUk5JTkdT
X0JFR0lOKCJkZXByZWNhdGVkLWltcGxlbWVudGF0aW9ucyIpCiBAaW1wbGVtZW50YXRpb24gX1dL
VXNlckNvbnRlbnRGaWx0ZXIKK0lHTk9SRV9XQVJOSU5HU19FTkQKIAotI3ByYWdtYSBtYXJrIFdL
T2JqZWN0IHByb3RvY29sIGltcGxlbWVudGF0aW9uCi0KLS0gKEFQSTo6T2JqZWN0JilfYXBpT2Jq
ZWN0Ci17Ci0gICAgcmV0dXJuIFtfY29udGVudFJ1bGVMaXN0IF9hcGlPYmplY3RdOwotfQotCi1A
ZW5kCi0KLUBpbXBsZW1lbnRhdGlvbiBfV0tVc2VyQ29udGVudEZpbHRlciAoV0tQcml2YXRlKQot
Ci0tIChpZClfaW5pdFdpdGhXS0NvbnRlbnRSdWxlTGlzdDooV0tDb250ZW50UnVsZUxpc3QqKWNv
bnRlbnRSdWxlTGlzdAorLSAoaWQpX2luaXRXaXRoV0tDb250ZW50UnVsZUxpc3Q6KFdLQ29udGVu
dFJ1bGVMaXN0ICopY29udGVudFJ1bGVMaXN0CiB7Ci0gICAgc2VsZiA9IFtzdXBlciBpbml0XTsK
LSAgICBpZiAoIXNlbGYpCi0gICAgICAgIHJldHVybiBuaWw7Ci0gICAgCi0gICAgX2NvbnRlbnRS
dWxlTGlzdCA9IGNvbnRlbnRSdWxlTGlzdDsKLSAgICAKLSAgICByZXR1cm4gc2VsZjsKKyAgICBy
ZXR1cm4gbmlsOwogfQogCiBAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRGaWx0ZXJJbnRlcm5hbC5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50RmlsdGVySW50ZXJuYWwuaApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjg3ODQwZjA5YzUyMmZkZTQxNjM0NDI2OTllZjVl
YTE2YjUwYzIwYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRGaWx0ZXJJ
bnRlcm5hbC5oCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
bXBvcnQgIl9XS1VzZXJDb250ZW50RmlsdGVyLmgiCi0KLSNpbXBvcnQgIkFQSUNvbnRlbnRSdWxl
TGlzdC5oIgotI2ltcG9ydCAiV0tPYmplY3QuaCIKLQotQGNsYXNzIFdLQ29udGVudFJ1bGVMaXN0
OwotCi1AaW50ZXJmYWNlIF9XS1VzZXJDb250ZW50RmlsdGVyICgpIDxXS09iamVjdD4gewotQHBh
Y2thZ2UKLSAgICBSZXRhaW5QdHI8V0tDb250ZW50UnVsZUxpc3Q+IF9jb250ZW50UnVsZUxpc3Q7
Ci19Ci1AZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLVXNlckNvbnRlbnRGaWx0ZXJQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLVXNlckNvbnRlbnRGaWx0ZXJQcml2YXRlLmgKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDI2N2FkNTEwOTEwODAyZDNmN2ZhNzczZGVlMGQwYTYzMWJiMWUwOTUuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50RmlsdGVyUHJpdmF0ZS5oCisrKyAv
ZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
LSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgPFdlYktpdC9f
V0tVc2VyQ29udGVudEZpbHRlci5oPgotCi1AY2xhc3MgV0tVc2VyQ29udGVudFJ1bGVMaXN0Owot
Ci1AaW50ZXJmYWNlIF9XS1VzZXJDb250ZW50RmlsdGVyIChXS1ByaXZhdGUpCi0KLS0gKGlkKV9p
bml0V2l0aFdLQ29udGVudFJ1bGVMaXN0OihXS0NvbnRlbnRSdWxlTGlzdCopY29udGVudFJ1bGVM
aXN0IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTMpLCBpb3MoMTEuMCkpOwotCi1AZW5kCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAppbmRleCBkMDYwZjJkMGE0YjU3
ZmNmNzg2YzAzYzA5ZWU2MzQ4ZDg1Y2M3MTgzLi5kNTA1M2MxZjI3NGU2ZWFhZmQ5ZmU2ODg0YTAx
NGRjYTM0NTBmZTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgK
QEAgLTcwNywxMCArNzA3LDYgQEAgcHJpdmF0ZToKICAgICBtdXRhYmxlIFJldGFpblB0cjxOU1Nl
dD4gbV9jbGFzc2VzRm9yUGFyYW1ldGVyQ29kZXI7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShDT05U
RU5UX0VYVEVOU0lPTlMpCi0gICAgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4gbV9lbmNvZGVkQ29u
dGVudEV4dGVuc2lvbnM7Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShHQU1FUEFEKQogICAgIEhhc2hT
ZXQ8V2ViUHJvY2Vzc1Byb3h5Kj4gbV9wcm9jZXNzZXNVc2luZ0dhbWVwYWRzOwogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAw
Y2U2ZmM3MDEzNmY1ODEyNDMwOTE0N2NmMTFmM2ZlZTY2MzdiMDgwLi5lMmJkMzVjN2RlODBmNTlk
YTUxNmJkN2E1OTkyMjY3OTJhZTU4MmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyNzYsNyArMTI3Niw2IEBACiAJCTVDQkM5QjhF
MUM2NTJDQTAwMEE4RkRDRiAvKiBOZXR3b3JrRGF0YVRhc2suaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQkM5Qjg5MUM2NTI0QTUwMEE4RkRDRiAvKiBO
ZXR3b3JrRGF0YVRhc2suaCAqLzsgfTsKIAkJNUNCRDU5NUMyMjgwRURGNDAwMkIyMkFBIC8qIF9X
S0N1c3RvbUhlYWRlckZpZWxkcy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDVDNUQyMzg4MjI3QTE4OTIwMDBCOUJEQSAvKiBfV0tDdXN0b21IZWFkZXJG
aWVsZHMubW0gKi87IH07CiAJCTVDRDI4NjUxMUU3MjM1OTkwMDk0RkRDOCAvKiBXS0NvbnRlbnRS
dWxlTGlzdFN0b3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1Q0QyODY0RDFFNzIyRjQ0MDA5NEZEQzggLyogV0tDb250ZW50UnVsZUxpc3RTdG9yZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKLQkJNUNEMjg2
NTMxRTcyMzVBQTAwOTRGREM4IC8qIF9XS1VzZXJDb250ZW50RmlsdGVyUHJpdmF0ZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNEMjg2NDkxRTcyMkY0
NDAwOTRGREM4IC8qIF9XS1VzZXJDb250ZW50RmlsdGVyUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTVDRDI4NjU0MUU3MjM1QjEwMDk0
RkRDOCAvKiBXS0NvbnRlbnRSdWxlTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNUNEMjg2NEExRTcyMkY0NDAwOTRGREM4IC8qIFdLQ29udGVudFJ1
bGVMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9Owog
CQk1Q0QyODY1NTFFNzIzNUI4MDA5NEZEQzggLyogV0tDb250ZW50UnVsZUxpc3RJbnRlcm5hbC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNEMjg2NEMx
RTcyMkY0NDAwOTRGREM4IC8qIFdLQ29udGVudFJ1bGVMaXN0SW50ZXJuYWwuaCAqLzsgfTsKIAkJ
NUNEMjg2NTcxRTcyMzVDOTAwOTRGREM4IC8qIFdLQ29udGVudFJ1bGVMaXN0U3RvcmVJbnRlcm5h
bC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNEMjg2
NEYxRTcyMkY0NDAwOTRGREM4IC8qIFdLQ29udGVudFJ1bGVMaXN0U3RvcmVJbnRlcm5hbC5oICov
OyB9OwpAQCAtMTM0OCw3ICsxMzQ3LDYgQEAKIAkJN0MxMzVBQTkxNzNCMEJDQTAwNTg2QUUyIC8q
IFdLUGx1Z2luSW5mb3JtYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDdDMTM1QUE3MTczQjBCQ0EwMDU4NkFFMiAvKiBXS1BsdWdpbkluZm9ybWF0
aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
N0MxQkEzM0UxQTRBMEU2MDAwNDNFMjQ5IC8qIEFQSURpY3Rpb25hcnkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDMUJBMzNDMUE0QTBFNjAwMDQzRTI0
OSAvKiBBUElEaWN0aW9uYXJ5LmggKi87IH07CiAJCTdDMjQxMzAzMUFBQ0ZBNzUwMEE1OEMxNSAv
KiBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzI0MTMwMTFBQUNGQTc1MDBBNThDMTUgLyogX1dLVXNl
ckNvbnRlbnRFeHRlbnNpb25TdG9yZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07Ci0JCTdDMjQxMzA1MUFBQ0ZBOUMwMEE1OEMxNSAvKiBfV0tVc2VyQ29u
dGVudEV4dGVuc2lvblN0b3JlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDdDMjQxMzA0MUFBQ0ZBOUMwMEE1OEMxNSAvKiBfV0tVc2VyQ29u
dGVudEV4dGVuc2lvblN0b3JlSW50ZXJuYWwuaCAqLzsgfTsKIAkJN0MyNDEzMDkxQUFDRkNCNDAw
QTU4QzE1IC8qIFdLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZVJlZi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MyNDEzMDcxQUFDRkNCNDAwQTU4QzE1
IC8qIFdLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZVJlZi5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdDMzYxRDczMTkyN0ZBMzYwMDM2QTU5RCAv
KiBXZWJTY3JpcHRNZXNzYWdlSGFuZGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0MzNjFENzAxOTI3RkEzNjAwMzZBNTlEIC8qIFdlYlNjcmlwdE1l
c3NhZ2VIYW5kbGVyLmggKi87IH07CiAJCTdDMzYxRDc4MTkyODAzQkQwMDM2QTU5RCAvKiBXZWJV
c2VyQ29udGVudENvbnRyb2xsZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzM2MUQ3NjE5MjgwM0JEMDAzNkE1
OUQgLyogV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICov
OyB9OwpAQCAtMTM3MSwxMiArMTM2OSwxMCBAQAogCQk3Qzg5RDJCNDFBNkIwNjhDMDAzQTVGREUg
LyogQVBJQ29udGVudFJ1bGVMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3Qzg5RDJCMjFBNkIwNjhDMDAzQTVGREUgLyogQVBJQ29udGVudFJ1bGVM
aXN0LmggKi87IH07CiAJCTdDODlEMkI2MUE2QjBERDkwMDNBNUZERSAvKiBXS1VzZXJDb250ZW50
Q29udHJvbGxlclByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDdDODlEMkI1MUE2QjBERDkwMDNBNUZERSAvKiBXS1VzZXJDb250ZW50Q29udHJv
bGxlclByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk3Qzg5RDJCQTFBNkIwRjJDMDAzQTVGREUgLyogX1dLVXNlckNvbnRlbnRGaWx0ZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDODlEMkI4
MUE2QjBGMkMwMDNBNUZERSAvKiBfV0tVc2VyQ29udGVudEZpbHRlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTdDODlEMkJDMUE2QjBGNUIwMDNB
NUZERSAvKiBfV0tVc2VyQ29udGVudEZpbHRlckludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Qzg5RDJCQjFBNkIwRjVCMDAzQTVGREUgLyog
X1dLVXNlckNvbnRlbnRGaWx0ZXJJbnRlcm5hbC5oICovOyB9OwogCQk3Qzg5RDJENzFBNkM2QkU2
MDAzQTVGREUgLyogX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uSW50ZXJuYWwuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDODlEMkQ2MUE2QzZCRTYw
MDNBNUZERSAvKiBfV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb25JbnRlcm5hbC5oICovOyB9Owog
CQk3QzhFQjExNzE4REI2QTE5MDA3OTE3QzIgLyogV0tQcmVmZXJlbmNlc1ByaXZhdGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDOEVCMTE2MThEQjZB
MTkwMDc5MTdDMiAvKiBXS1ByZWZlcmVuY2VzUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdDOUQxNTM3MTg0NTg0REEwMDlEMzkxOCAv
KiBXS0Jyb3dzaW5nQ29udGV4dEdyb3VwSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDOUQxNTM2MTg0NTg0REEwMDlEMzkxOCAvKiBXS0Jy
b3dzaW5nQ29udGV4dEdyb3VwSW50ZXJuYWwuaCAqLzsgfTsKIAkJN0NBMjU0RUIxODI5OTNDRTAw
RkM4QTQxIC8qIFdLQnJvd3NpbmdDb250ZXh0UG9saWN5RGVsZWdhdGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDQTI1NEVBMTgyOTkzQ0UwMEZDOEE0
MSAvKiBXS0Jyb3dzaW5nQ29udGV4dFBvbGljeURlbGVnYXRlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJN0NBMzc5M0UxQUMzNzhCMzAwNzlEQzM3
IC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0EzNzkzRDFBQzM3OEIzMDA3OURDMzcg
LyogX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZVByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3Q0IxMDBGMTFGQTM4NThBMDAxNzI5
RUUgLyogV2ViUHJlZmVyZW5jZXNLZXlzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDdDQjEwMEVFMUZBMkQ3NEEwMDE3MjlFRSAvKiBXZWJQcmVmZXJl
bmNlc0tleXMuY3BwICovOyB9OwogCQk3Q0IxMDBGMjFGQTM4NThFMDAxNzI5RUUgLyogV2ViUHJl
ZmVyZW5jZXNEZWZpbml0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gN0NERTczQTMxRjlEQUI2NTAwMzkwMzEyIC8qIFdlYlByZWZlcmVuY2VzRGVm
aW5pdGlvbnMuaCAqLzsgfTsKIAkJN0NCMTAwRjMxRkEzODU4RTAwMTcyOUVFIC8qIFdlYlByZWZl
cmVuY2VzS2V5cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0NCMTAwRUYxRkEyRDc0QjAwMTcyOUVFIC8qIFdlYlByZWZlcmVuY2VzS2V5cy5oICovOyB9
OwpAQCAtNDQ5Miw3ICs0NDg4LDYgQEAKIAkJNUNCQzlCODkxQzY1MjRBNTAwQThGRENGIC8qIE5l
dHdvcmtEYXRhVGFzay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOZXR3b3Jr
RGF0YVRhc2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNCQzlCOEIxQzY1MjU3
MzAwQThGRENGIC8qIE5ldHdvcmtEYXRhVGFza0NvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gTmV0d29ya0RhdGFUYXNrQ29jb2EubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTVDQzVEQjkxMjE0ODhFMTYwMDZDQjhBOCAvKiBTaGFyZWRCdWZm
ZXJDb3B5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNoYXJlZEJ1ZmZlckNv
cHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNUNEMjg2NDkxRTcyMkY0NDAwOTRG
REM4IC8qIF9XS1VzZXJDb250ZW50RmlsdGVyUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBfV0tVc2VyQ29udGVudEZpbHRlclByaXZhdGUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNUNEMjg2NEExRTcyMkY0NDAwOTRGREM4IC8qIFdLQ29udGVudFJ1
bGVMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQ29udGVudFJ1bGVM
aXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVDRDI4NjRCMUU3MjJGNDQwMDk0
RkRDOCAvKiBXS0NvbnRlbnRSdWxlTGlzdC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFdLQ29udGVudFJ1bGVMaXN0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1Q0QyODY0QzFFNzIyRjQ0MDA5NEZEQzggLyogV0tDb250ZW50UnVsZUxpc3RJbnRl
cm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0NvbnRlbnRSdWxlTGlz
dEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00NjM0LDcgKzQ2Mjks
NiBAQAogCQk3QzFCQTMzQzFBNEEwRTYwMDA0M0UyNDkgLyogQVBJRGljdGlvbmFyeS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBUElEaWN0aW9uYXJ5Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTdDMjQxMzAwMUFBQ0ZBNzUwMEE1OEMxNSAvKiBfV0tVc2VyQ29u
dGVudEV4dGVuc2lvblN0b3JlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZS5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJN0MyNDEzMDExQUFDRkE3NTAwQTU4QzE1IC8qIF9XS1VzZXJDb250ZW50RXh0
ZW5zaW9uU3RvcmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLVXNlckNv
bnRlbnRFeHRlbnNpb25TdG9yZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk3QzI0
MTMwNDFBQUNGQTlDMDBBNThDMTUgLyogX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZUludGVy
bmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS1VzZXJDb250ZW50RXh0
ZW5zaW9uU3RvcmVJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzI0
MTMwNjFBQUNGQ0I0MDBBNThDMTUgLyogV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlUmVmLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLVXNlckNvbnRlbnRFeHRl
bnNpb25TdG9yZVJlZi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDMjQxMzA3
MUFBQ0ZDQjQwMEE1OEMxNSAvKiBXS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVSZWYuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3Jl
UmVmLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDMzYxRDZGMTkyN0ZBMzYwMDM2
QTU5RCAvKiBXZWJTY3JpcHRNZXNzYWdlSGFuZGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXZWJTY3JpcHRNZXNzYWdlSGFuZGxlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC00NjgwLDEyICs0Njc0LDEwIEBACiAJCTdDODlEMkI1MUE2QjBE
RDkwMDNBNUZERSAvKiBXS1VzZXJDb250ZW50Q29udHJvbGxlclByaXZhdGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tVc2VyQ29udGVudENvbnRyb2xsZXJQcml2YXRlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDODlEMkI3MUE2QjBGMkMwMDNBNUZERSAv
KiBfV0tVc2VyQ29udGVudEZpbHRlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IF9XS1VzZXJDb250ZW50RmlsdGVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3Qzg5RDJCODFBNkIwRjJDMDAzQTVGREUgLyogX1dLVXNlckNvbnRlbnRGaWx0ZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLVXNlckNvbnRlbnRGaWx0ZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJN0M4OUQyQkIxQTZCMEY1QjAwM0E1RkRF
IC8qIF9XS1VzZXJDb250ZW50RmlsdGVySW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gX1dLVXNlckNvbnRlbnRGaWx0ZXJJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3Qzg5RDJENjFBNkM2QkU2MDAzQTVGREUgLyogX1dLUHJvY2Vzc1Bv
b2xDb25maWd1cmF0aW9uSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJN0M4RUIxMTYxOERCNkExOTAwNzkxN0MyIC8qIFdLUHJlZmVyZW5jZXNQ
cml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLUHJlZmVyZW5jZXNQ
cml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDOUQxNTM2MTg0NTg0REEw
MDlEMzkxOCAvKiBXS0Jyb3dzaW5nQ29udGV4dEdyb3VwSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV0tCcm93c2luZ0NvbnRleHRHcm91cEludGVybmFsLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDQTI1NEVBMTgyOTkzQ0UwMEZDOEE0MSAvKiBX
S0Jyb3dzaW5nQ29udGV4dFBvbGljeURlbGVnYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdLQnJvd3NpbmdDb250ZXh0UG9saWN5RGVsZWdhdGUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJN0NBMzc5M0QxQUMzNzhCMzAwNzlEQzM3IC8qIF9XS1VzZXJDb250
ZW50RXh0ZW5zaW9uU3RvcmVQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTdDQjEwMEVFMUZBMkQ3NEEwMDE3MjlFRSAvKiBXZWJQcmVmZXJlbmNl
c0tleXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViUHJlZmVyZW5jZXNLZXlzLmNwcDsgcGF0
aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUHJlZmVyZW5jZXNLZXlzLmNwcDsgc291cmNl
VHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJN0NCMTAwRUYxRkEyRDc0QjAwMTcyOUVF
IC8qIFdlYlByZWZlcmVuY2VzS2V5cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJQcmVmZXJlbmNlc0tl
eXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUHJlZmVyZW5jZXNLZXlzLmg7
IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTdDQjEwMEYwMUZBMkQ3ODQw
MDE3MjlFRSAvKiBXZWJQcmVmZXJlbmNlc1N0b3JlRGVmYXVsdHNNYXAuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gV2ViUHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzTWFwLmNwcDsgcGF0aCA9IERlcml2
ZWRTb3VyY2VzL1dlYktpdDIvV2ViUHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzTWFwLmNwcDsgc291
cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKQEAgLTgwMDgsMTIgKzgwMDAsOCBAQAog
CQkJCTJEQUNFNjREMThBREJGRjAwMEU0Q0E3NiAvKiBfV0tUaHVtYm5haWxWaWV3SW50ZXJuYWwu
aCAqLywKIAkJCQk3QzI0MTMwMTFBQUNGQTc1MDBBNThDMTUgLyogX1dLVXNlckNvbnRlbnRFeHRl
bnNpb25TdG9yZS5oICovLAogCQkJCTdDMjQxMzAwMUFBQ0ZBNzUwMEE1OEMxNSAvKiBfV0tVc2Vy
Q29udGVudEV4dGVuc2lvblN0b3JlLm1tICovLAotCQkJCTdDMjQxMzA0MUFBQ0ZBOUMwMEE1OEMx
NSAvKiBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlSW50ZXJuYWwuaCAqLywKLQkJCQk3Q0Ez
NzkzRDFBQzM3OEIzMDA3OURDMzcgLyogX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZVByaXZh
dGUuaCAqLywKIAkJCQk3Qzg5RDJCODFBNkIwRjJDMDAzQTVGREUgLyogX1dLVXNlckNvbnRlbnRG
aWx0ZXIuaCAqLywKIAkJCQk3Qzg5RDJCNzFBNkIwRjJDMDAzQTVGREUgLyogX1dLVXNlckNvbnRl
bnRGaWx0ZXIubW0gKi8sCi0JCQkJN0M4OUQyQkIxQTZCMEY1QjAwM0E1RkRFIC8qIF9XS1VzZXJD
b250ZW50RmlsdGVySW50ZXJuYWwuaCAqLywKLQkJCQk1Q0QyODY0OTFFNzIyRjQ0MDA5NEZEQzgg
LyogX1dLVXNlckNvbnRlbnRGaWx0ZXJQcml2YXRlLmggKi8sCiAJCQkJN0M4ODJERjMxQzdFOTk1
RTAwNkJGNzMxIC8qIF9XS1VzZXJDb250ZW50V29ybGQuaCAqLywKIAkJCQk3Qzg4MkRGNDFDN0U5
OTVFMDA2QkY3MzEgLyogX1dLVXNlckNvbnRlbnRXb3JsZC5tbSAqLywKIAkJCQk3Qzg4MkRGNTFD
N0U5OTVFMDA2QkY3MzEgLyogX1dLVXNlckNvbnRlbnRXb3JsZEludGVybmFsLmggKi8sCkBAIC0x
MTY2OCwxMSArMTE2NTYsNyBAQAogCQkJCTJEQUNFNjRFMThBREJGRjAwMEU0Q0E3NiAvKiBfV0tU
aHVtYm5haWxWaWV3SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTk5RTcxODlDMjFGNzlE
OUUwMDU1RTk3NSAvKiBfV0tUb3VjaEV2ZW50R2VuZXJhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk3QzI0MTMwMzFBQUNGQTc1MDBBNThDMTUgLyogX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9y
ZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJN0MyNDEzMDUxQUFDRkE5QzAwQTU4QzE1IC8qIF9XS1Vz
ZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJN0NB
Mzc5M0UxQUMzNzhCMzAwNzlEQzM3IC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVQcml2
YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3Qzg5RDJCQTFBNkIwRjJDMDAzQTVGREUgLyogX1dL
VXNlckNvbnRlbnRGaWx0ZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCTdDODlEMkJDMUE2QjBGNUIw
MDNBNUZERSAvKiBfV0tVc2VyQ29udGVudEZpbHRlckludGVybmFsLmggaW4gSGVhZGVycyAqLywK
LQkJCQk1Q0QyODY1MzFFNzIzNUFBMDA5NEZEQzggLyogX1dLVXNlckNvbnRlbnRGaWx0ZXJQcml2
YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3Qzg4MkRGNzFDN0U5OTY1MDA2QkY3MzEgLyogX1dL
VXNlckNvbnRlbnRXb3JsZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M4ODJERjkxQzdFOTk2RjAw
NkJGNzMxIC8qIF9XS1VzZXJDb250ZW50V29ybGRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJN0NCMzY1QUExRDMxREI3MDAwNzE1OENBIC8qIF9XS1VzZXJJbml0aWF0ZWRBY3Rpb24uaCBp
biBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IDdjNjAyOGZiY2EzZDg0ZTdmYzI1Y2QxMmVjNDFkNmZjYTgxNDgxZDguLmRlY2Yw
YTM3MjljYjA0OGViODFjNTk4NGU0NjUxNDMxY2JkYTQxMTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAyMS0wNC0w
OSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAg
IERlcHJlY2F0ZSBhbmQgcmVtb3ZlIG1vc3Qgb2YgX1dLVXNlckNvbnRlbnRGaWx0ZXIKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDM5MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTWluaUJyb3dzZXIv
bWFjL0V4dGVuc2lvbk1hbmFnZXJXaW5kb3dDb250cm9sbGVyLm06CisgICAgICAgICgtW0V4dGVu
c2lvbk1hbmFnZXJXaW5kb3dDb250cm9sbGVyIGluaXRdKToKKyAgICAgICAgKC1bRXh0ZW5zaW9u
TWFuYWdlcldpbmRvd0NvbnRyb2xsZXIgYWRkOl0pOgorICAgICAgICAoLVtFeHRlbnNpb25NYW5h
Z2VyV2luZG93Q29udHJvbGxlciByZW1vdmU6XSk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJzaXRlUG9saWNpZXMubW06CisgICAgICAgIChU
RVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1VzZXJD
b250ZW50RXh0ZW5zaW9uU3RvcmUubW06IFJlbW92ZWQuCisgICAgICAgIFRoZXNlIHRlc3RzIGhh
ZCBhbHJlYWR5IGJlZW4gY29waWVkIHRvIGEgdmVyc2lvbiB0aGF0IHVzZXMgV0tDb250ZW50UnVs
ZUxpc3QuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNv
Y29hLm1tOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cmVzZXRDb250ZW50RXh0ZW5z
aW9ucyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9tYWMvVGVzdENvbnRyb2xsZXJNYWMu
bW06CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpjb25maWd1cmVDb250ZW50RXh0ZW5z
aW9uRm9yVGVzdCk6CisKIDIwMjEtMDQtMDkgIEFkaXR5YSBLZWVydGhpICA8YWtlZXJ0aGlAYXBw
bGUuY29tPgogCiAgICAgICAgIFtpT1NdW0ZDUl0gVXNlIGNvbnRleHQgbWVudXMgZm9yIHRleHQg
aW5wdXQgZGF0YWxpc3QgZHJvcGRvd25zCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9t
YWMvRXh0ZW5zaW9uTWFuYWdlcldpbmRvd0NvbnRyb2xsZXIubSBiL1Rvb2xzL01pbmlCcm93c2Vy
L21hYy9FeHRlbnNpb25NYW5hZ2VyV2luZG93Q29udHJvbGxlci5tCmluZGV4IDBlNDczMGU1YjE0
ODdlMzdjYmU3ZGNkNTk5YjcxM2U0ZjU1ODRhNzEuLjA4YzUwZGYzNGUzM2Y0NzJjNWZhYjE4ZDIw
MjU4ZGExMzY1MWIxZWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL21hYy9FeHRlbnNp
b25NYW5hZ2VyV2luZG93Q29udHJvbGxlci5tCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL21hYy9F
eHRlbnNpb25NYW5hZ2VyV2luZG93Q29udHJvbGxlci5tCkBAIC0yNyw3ICsyNyw2IEBACiAKICNp
bXBvcnQgIkFwcERlbGVnYXRlLmgiCiAjaW1wb3J0IDxXZWJLaXQvV0tVc2VyQ29udGVudENvbnRy
b2xsZXJQcml2YXRlLmg+Ci0jaW1wb3J0IDxXZWJLaXQvX1dLVXNlckNvbnRlbnRFeHRlbnNpb25T
dG9yZS5oPgogCiBAaW1wbGVtZW50YXRpb24gRXh0ZW5zaW9uTWFuYWdlcldpbmRvd0NvbnRyb2xs
ZXIKIApAQCAtMzgsNyArMzcsNyBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdAogICAgICAgICBOU0Fy
cmF5KiBpbnN0YWxsZWRDb250ZW50RXh0ZW5zaW9ucyA9IFtbTlNVc2VyRGVmYXVsdHMgc3RhbmRh
cmRVc2VyRGVmYXVsdHNdIGFycmF5Rm9yS2V5OkAiSW5zdGFsbGVkQ29udGVudEV4dGVuc2lvbnMi
XTsKICAgICAgICAgaWYgKGluc3RhbGxlZENvbnRlbnRFeHRlbnNpb25zKSB7CiAgICAgICAgICAg
ICBmb3IgKE5TU3RyaW5nICppZGVudGlmaWVyIGluIGluc3RhbGxlZENvbnRlbnRFeHRlbnNpb25z
KSB7Ci0gICAgICAgICAgICAgICAgW1tfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlIGRlZmF1
bHRTdG9yZV0gbG9va3VwQ29udGVudEV4dGVuc2lvbkZvcklkZW50aWZpZXI6aWRlbnRpZmllciBj
b21wbGV0aW9uSGFuZGxlcjpeKF9XS1VzZXJDb250ZW50RmlsdGVyICpleHRlbnNpb24sIE5TRXJy
b3IgKmVycm9yKQorICAgICAgICAgICAgICAgIFtbV0tDb250ZW50UnVsZUxpc3RTdG9yZSBkZWZh
dWx0U3RvcmVdIGxvb2tVcENvbnRlbnRSdWxlTGlzdEZvcklkZW50aWZpZXI6aWRlbnRpZmllciBj
b21wbGV0aW9uSGFuZGxlcjpeKFdLQ29udGVudFJ1bGVMaXN0ICpsaXN0LCBOU0Vycm9yICplcnJv
cikKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChlcnJvcikgewog
ICAgICAgICAgICAgICAgICAgICAgICAgTlNMb2coQCJFeHRlbnNpb24gc3RvcmUgZ290IG91dCBv
ZiBzeW5jIHdpdGggc3lzdGVtIGRlZmF1bHRzLiIpOwpAQCAtNDYsNyArNDUsNyBAQCAtIChpbnN0
YW5jZXR5cGUpaW5pdAogICAgICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICAg
ICAgQnJvd3NlckFwcERlbGVnYXRlKiBhcHBEZWxlZ2F0ZSA9IFtbTlNBcHBsaWNhdGlvbiBzaGFy
ZWRBcHBsaWNhdGlvbl0gYnJvd3NlckFwcERlbGVnYXRlXTsKLSAgICAgICAgICAgICAgICAgICAg
W2FwcERlbGVnYXRlLnVzZXJDb250ZW50Q29udG9sbGVyIF9hZGRVc2VyQ29udGVudEZpbHRlcjpl
eHRlbnNpb25dOworICAgICAgICAgICAgICAgICAgICBbYXBwRGVsZWdhdGUudXNlckNvbnRlbnRD
b250b2xsZXIgYWRkQ29udGVudFJ1bGVMaXN0Omxpc3RdOwogICAgICAgICAgICAgICAgIH1dOwog
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIApAQCAtODMsNyArODIsNyBAQCAtIChJQkFj
dGlvbilhZGQ6KGlkKXNlbmRlcgogICAgICAgICBOU1N0cmluZyAqaWRlbnRpZmllciA9IHVybC5s
YXN0UGF0aENvbXBvbmVudDsKICAgICAgICAgTlNTdHJpbmcgKmpzb25TdHJpbmcgPSBbW05TU3Ry
aW5nIGFsbG9jXSBpbml0V2l0aENvbnRlbnRzT2ZVUkw6dXJsIGVuY29kaW5nOk5TVVRGOFN0cmlu
Z0VuY29kaW5nIGVycm9yOm5pbF07CiAKLSAgICAgICAgW1tfV0tVc2VyQ29udGVudEV4dGVuc2lv
blN0b3JlIGRlZmF1bHRTdG9yZV0gY29tcGlsZUNvbnRlbnRFeHRlbnNpb25Gb3JJZGVudGlmaWVy
OmlkZW50aWZpZXIgZW5jb2RlZENvbnRlbnRFeHRlbnNpb246anNvblN0cmluZyBjb21wbGV0aW9u
SGFuZGxlcjpeKF9XS1VzZXJDb250ZW50RmlsdGVyICpleHRlbnNpb24sIE5TRXJyb3IgKmVycm9y
KQorICAgICAgICBbW1dLQ29udGVudFJ1bGVMaXN0U3RvcmUgZGVmYXVsdFN0b3JlXSBjb21waWxl
Q29udGVudFJ1bGVMaXN0Rm9ySWRlbnRpZmllcjppZGVudGlmaWVyIGVuY29kZWRDb250ZW50UnVs
ZUxpc3Q6anNvblN0cmluZyBjb21wbGV0aW9uSGFuZGxlcjpeKFdLQ29udGVudFJ1bGVMaXN0ICps
aXN0LCBOU0Vycm9yICplcnJvcikKICAgICAgICAgewogICAgICAgICAgICAgCiAgICAgICAgICAg
ICBpZiAoZXJyb3IpIHsKQEAgLTEwOCw3ICsxMDcsNyBAQCAtIChJQkFjdGlvbilhZGQ6KGlkKXNl
bmRlcgogICAgICAgICAgICAgW2FycmF5Q29udHJvbGxlciBhZGRPYmplY3Q6aWRlbnRpZmllcl07
CiAKICAgICAgICAgICAgIEJyb3dzZXJBcHBEZWxlZ2F0ZSogYXBwRGVsZWdhdGUgPSBbW05TQXBw
bGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dIGJyb3dzZXJBcHBEZWxlZ2F0ZV07Ci0gICAgICAg
ICAgICBbYXBwRGVsZWdhdGUudXNlckNvbnRlbnRDb250b2xsZXIgX2FkZFVzZXJDb250ZW50Rmls
dGVyOmV4dGVuc2lvbl07CisgICAgICAgICAgICBbYXBwRGVsZWdhdGUudXNlckNvbnRlbnRDb250
b2xsZXIgYWRkQ29udGVudFJ1bGVMaXN0Omxpc3RdOwogICAgICAgICB9XTsKICAgICB9XTsKIApA
QCAtMTIwLDcgKzExOSw3IEBAIC0gKElCQWN0aW9uKXJlbW92ZTooaWQpc2VuZGVyCiAKICAgICBO
U1N0cmluZyAqaWRlbnRpZmllclRvUmVtb3ZlID0gYXJyYXlDb250cm9sbGVyLmFycmFuZ2VkT2Jq
ZWN0c1tpbmRleF07CiAKLSAgICBbW19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgZGVmYXVs
dFN0b3JlXSByZW1vdmVDb250ZW50RXh0ZW5zaW9uRm9ySWRlbnRpZmllcjppZGVudGlmaWVyVG9S
ZW1vdmUgY29tcGxldGlvbkhhbmRsZXI6XihOU0Vycm9yICplcnJvcikKKyAgICBbW1dLQ29udGVu
dFJ1bGVMaXN0U3RvcmUgZGVmYXVsdFN0b3JlXSByZW1vdmVDb250ZW50UnVsZUxpc3RGb3JJZGVu
dGlmaWVyOmlkZW50aWZpZXJUb1JlbW92ZSBjb21wbGV0aW9uSGFuZGxlcjpeKE5TRXJyb3IgKmVy
cm9yKQogICAgIHsKICAgICAgICAgaWYgKGVycm9yKSB7CiAgICAgICAgICAgICBOU0FsZXJ0ICph
bGVydCA9IFtOU0FsZXJ0IGFsZXJ0V2l0aEVycm9yOmVycm9yXTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggMGY0OWUwM2ZlNTk2NmYxYmI0NjcyYjdhNjg3Y2JiZGExODFmOWEzYS4uMDRmN2Q3
NzBhNzdlMDY3ZTUyOGYxNDM1MzAxMWFlZDM1ZDkyYWNmMCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTc5OSw3ICs3OTksNiBAQAogCQk3Q0Q0QzI2RTFFMkMwRTZFMDA5Mjk0NzAgLyogU3Ry
aW5nQ29uY2F0ZW5hdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gN0NENEMyNkMxRTJDMEU2RTAwOTI5NDcwIC8qIFN0cmluZ0NvbmNhdGVuYXRlLmNw
cCAqLzsgfTsKIAkJN0NENzBDNEYyNEE0MzZFRTAwRTYxMDQwIC8qIFN0cmluZ1BhcnNpbmdCdWZm
ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NE
NzBDNEUyNEE0MzZFRTAwRTYxMDQwIC8qIFN0cmluZ1BhcnNpbmdCdWZmZXIuY3BwICovOyB9Owog
CQk3Q0VCNjJBQjIyMzYwOURFMDA2OUNCQjAgLyogSXRlcmF0b3JSYW5nZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0VCNjJBOTIyMzYwODZDMDA2
OUNCQjAgLyogSXRlcmF0b3JSYW5nZS5jcHAgKi87IH07Ci0JCTdDRUZBOTY2MUFDMEI5RTIwMEI5
MTBGRCAvKiBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NFRkE5NjQxQUMwQjlFMjAwQjkxMEZEIC8q
IF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUubW0gKi87IH07CiAJCTdDRkJDQUU1MTc0MzIz
OEYwMEIyQkZDRiAvKiBXaWxsTG9hZF9CdW5kbGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NGQkNBRTMxNzQzMjM4RTAwQjJCRkNGIC8qIFdpbGxM
b2FkX0J1bmRsZS5jcHAgKi87IH07CiAJCTgzMEYyRTBDMjA5QTZBOEUwMEQzNkZGMSAvKiBXZWJD
b250ZW50UHJvY2Vzc0RpZFRlcm1pbmF0ZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDgzMEYyRTBCMjA5QTZBNzQwMEQzNkZGMSAvKiBXZWJDb250ZW50
UHJvY2Vzc0RpZFRlcm1pbmF0ZS5tbSAqLzsgfTsKIAkJODMxNDhCMDYyMDJBQzZBNDAwQkFERTk5
IC8qIEluamVjdGVkQnVuZGxlRGlzYWJsZU92ZXJyaWRlQnVpbHRpbnNCZWhhdmlvci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MzE0OEIwNTIwMkFD
NjgyMDBCQURFOTkgLyogSW5qZWN0ZWRCdW5kbGVEaXNhYmxlT3ZlcnJpZGVCdWlsdGluc0JlaGF2
aW9yLmNwcCAqLzsgfTsKQEAgLTI0NjAsNyArMjQ1OSw2IEBACiAJCTdDRDRDMjZDMUUyQzBFNkUw
MDkyOTQ3MCAvKiBTdHJpbmdDb25jYXRlbmF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBTdHJpbmdDb25jYXRlbmF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTdDRDcwQzRFMjRBNDM2RUUwMEU2MTA0MCAvKiBTdHJpbmdQYXJzaW5nQnVmZmVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0cmluZ1BhcnNpbmdCdWZmZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk3Q0VCNjJBOTIyMzYwODZDMDA2OUNCQjAgLyogSXRlcmF0
b3JSYW5nZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJdGVyYXRvclJhbmdlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJN0NFRkE5NjQxQUMwQjlFMjAwQjkxMEZEIC8qIF9XS1Vz
ZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3Q0ZCQ0FERDE3NDMyMzRGMDBCMkJGQ0YgLyogV2lsbExvYWQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2lsbExvYWQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3Q0ZCQ0FFMzE3NDMyMzhFMDBCMkJGQ0YgLyogV2ls
bExvYWRfQnVuZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdp
bGxMb2FkX0J1bmRsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgxQjUwMTky
MTQwRjIzMjMwMEQ5RUI1OCAvKiBTdHJpbmdCdWlsZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFN0cmluZ0J1aWxkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMzMxMyw3ICszMzExLDYgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCUExNkY2
NkI4MUM0MEU5RTEwMEJENEQyNCAvKiBSZXNvdXJjZXMgKi8sCiAJCQkJNUNFQUI1REYxRkE5MzdD
QjAwQTc3RkFBIC8qIF9XS0lucHV0RGVsZWdhdGUubW0gKi8sCi0JCQkJN0NFRkE5NjQxQUMwQjlF
MjAwQjkxMEZEIC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUubW0gKi8sCiAJCQkJNTdD
NjI0NEQyMzQ2QkNGQTAwMzgzRkU3IC8qIF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0gKi8s
CiAJCQkJMDc0NjY0NTgyMkZGNjMwNTAwRTM0NTFBIC8qIEFjY2Vzc2liaWxpdHlUZXN0UGx1Z2lu
Lm1tICovLAogCQkJCTA3NDY2NDU3MjJGRjYyRDAwMEUzNDUxQSAvKiBBY2Nlc3NpYmlsaXR5VGVz
dFN1cHBvcnRQcm90b2NvbC5oICovLApAQCAtNTIyMSw3ICs1MjE4LDYgQEAKIAkJCWJ1aWxkQWN0
aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKIAkJCQk1Q0VBQjVFMTFGQTkzOUY0
MDBBNzdGQUEgLyogX1dLSW5wdXREZWxlZ2F0ZS5tbSBpbiBTb3VyY2VzICovLAotCQkJCTdDRUZB
OTY2MUFDMEI5RTIwMEI5MTBGRCAvKiBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTdDNjI0NEUyMzQ2QkNGQTAwMzgzRkU3IC8qIF9XS1dlYkF1dGhl
bnRpY2F0aW9uUGFuZWwubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VFNDFBNDExQUU2MDA0
NDdDNEMgLyogQWJvdXRCbGFua0xvYWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQjMx
QTQxMUE3RTAwNDQ3QzRDIC8qIEFjY2VwdHNGaXJzdE1vdXNlLm1tIGluIFNvdXJjZXMgKi8sCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dlYnNpdGVQ
b2xpY2llcy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV2Vic2l0
ZVBvbGljaWVzLm1tCmluZGV4IGJlZjI0Mjg4YWUwZWZmZWExNDQ2YThmY2ExYWE4YjhlNzI3NmJk
NTYuLmVlMTZlYmU3NzgxZjM4ZGI3MGY3YWRhNDQzNDAyYTMyNmQ0ODhjODEgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV2Vic2l0ZVBvbGljaWVzLm1t
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV2Vic2l0ZVBvbGlj
aWVzLm1tCkBAIC0yOSw2ICsyOSw3IEBACiAjaW1wb3J0ICJUZXN0TmF2aWdhdGlvbkRlbGVnYXRl
LmgiCiAjaW1wb3J0ICJUZXN0VUlEZWxlZ2F0ZS5oIgogI2ltcG9ydCAiVGVzdFdLV2ViVmlldy5o
IgorI2ltcG9ydCA8V2ViS2l0L1dLQ29udGVudFJ1bGVMaXN0U3RvcmVQcml2YXRlLmg+CiAjaW1w
b3J0IDxXZWJLaXQvV0tNdXRhYmxlRGljdGlvbmFyeS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLTmF2
aWdhdGlvbkRlbGVnYXRlUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLUGFnZVByaXZhdGUu
aD4KQEAgLTQzLDcgKzQ0LDYgQEAKICNpbXBvcnQgPFdlYktpdC9XS1dlYnNpdGVEYXRhU3RvcmVQ
cml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tXZWJzaXRlUG9saWNpZXMuaD4KICNpbXBvcnQg
PFdlYktpdC9fV0tDdXN0b21IZWFkZXJGaWVsZHMuaD4KLSNpbXBvcnQgPFdlYktpdC9fV0tVc2Vy
Q29udGVudEV4dGVuc2lvblN0b3JlUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L19XS1dlYnNp
dGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmg+CiAjaW1wb3J0IDx3dGYvRnVuY3Rpb24uaD4KICNp
bXBvcnQgPHd0Zi9IYXNoTWFwLmg+CkBAIC0xMzcsMTUgKzEzNywxNSBAQCBzdGF0aWMgc2l6ZV90
IGFsZXJ0Q291bnQ7CiAKIFRFU1QoV2VicGFnZVByZWZlcmVuY2VzLCBXZWJzaXRlUG9saWNpZXND
b250ZW50QmxvY2tlcnNFbmFibGVkKQogewotICAgIFtbX1dLVXNlckNvbnRlbnRFeHRlbnNpb25T
dG9yZSBkZWZhdWx0U3RvcmVdIF9yZW1vdmVBbGxDb250ZW50RXh0ZW5zaW9uc107CisgICAgW1tX
S0NvbnRlbnRSdWxlTGlzdFN0b3JlIGRlZmF1bHRTdG9yZV0gX3JlbW92ZUFsbENvbnRlbnRSdWxl
TGlzdHNdOwogCiAgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKIAogICAgIGRvbmVDb21waWxpbmcgPSBmYWxzZTsK
ICAgICBOU1N0cmluZyogY29udGVudEJsb2NrZXIgPSBAIlt7XCJhY3Rpb25cIjp7XCJ0eXBlXCI6
XCJjc3MtZGlzcGxheS1ub25lXCIsXCJzZWxlY3RvclwiOlwiLmhpZGRlblwifSxcInRyaWdnZXJc
Ijp7XCJ1cmwtZmlsdGVyXCI6XCIuKlwifX1dIjsKLSAgICBbW19XS1VzZXJDb250ZW50RXh0ZW5z
aW9uU3RvcmUgZGVmYXVsdFN0b3JlXSBjb21waWxlQ29udGVudEV4dGVuc2lvbkZvcklkZW50aWZp
ZXI6QCJXZWJzaXRlUG9saWNpZXNUZXN0IiBlbmNvZGVkQ29udGVudEV4dGVuc2lvbjpjb250ZW50
QmxvY2tlciBjb21wbGV0aW9uSGFuZGxlcjpeKF9XS1VzZXJDb250ZW50RmlsdGVyICpmaWx0ZXIs
IE5TRXJyb3IgKmVycm9yKSB7CisgICAgW1tXS0NvbnRlbnRSdWxlTGlzdFN0b3JlIGRlZmF1bHRT
dG9yZV0gY29tcGlsZUNvbnRlbnRSdWxlTGlzdEZvcklkZW50aWZpZXI6QCJXZWJzaXRlUG9saWNp
ZXNUZXN0IiBlbmNvZGVkQ29udGVudFJ1bGVMaXN0OmNvbnRlbnRCbG9ja2VyIGNvbXBsZXRpb25I
YW5kbGVyOl4oV0tDb250ZW50UnVsZUxpc3QgKmxpc3QsIE5TRXJyb3IgKmVycm9yKSB7CiAgICAg
ICAgIEVYUEVDVF9UUlVFKGVycm9yID09IG5pbCk7Ci0gICAgICAgIFtbY29uZmlndXJhdGlvbiB1
c2VyQ29udGVudENvbnRyb2xsZXJdIF9hZGRVc2VyQ29udGVudEZpbHRlcjpmaWx0ZXJdOworICAg
ICAgICBbW2NvbmZpZ3VyYXRpb24gdXNlckNvbnRlbnRDb250cm9sbGVyXSBhZGRDb250ZW50UnVs
ZUxpc3Q6bGlzdF07CiAgICAgICAgIGRvbmVDb21waWxpbmcgPSB0cnVlOwogICAgIH1dOwogICAg
IFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZUNvbXBpbGluZyk7CkBAIC0xNzAsNyArMTcw
LDcgQEAgVEVTVChXZWJwYWdlUHJlZmVyZW5jZXMsIFdlYnNpdGVQb2xpY2llc0NvbnRlbnRCbG9j
a2Vyc0VuYWJsZWQpCiAgICAgW3dlYlZpZXcgX3JlbG9hZFdpdGhvdXRDb250ZW50QmxvY2tlcnNd
OwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmcmVjZWl2ZWRBbGVydCk7CiAKLSAgICBb
W19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgZGVmYXVsdFN0b3JlXSBfcmVtb3ZlQWxsQ29u
dGVudEV4dGVuc2lvbnNdOworICAgIFtbV0tDb250ZW50UnVsZUxpc3RTdG9yZSBkZWZhdWx0U3Rv
cmVdIF9yZW1vdmVBbGxDb250ZW50UnVsZUxpc3RzXTsKIH0KIAogQGludGVyZmFjZSBBdXRvcGxh
eVBvbGljaWVzRGVsZWdhdGUgOiBUZXN0TmF2aWdhdGlvbkRlbGVnYXRlIDxXS05hdmlnYXRpb25E
ZWxlZ2F0ZSwgV0tVSURlbGVnYXRlUHJpdmF0ZT4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZS5tbSBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLVXNlckNvbnRlbnRFeHRl
bnNpb25TdG9yZS5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTgyMjhkM2M0ZWNk
ODMzYWM3YjY5YWRlZGRlNDhkYjg4ZTVkZTVjNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29h
L19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUubW0KKysrIC9kZXYvbnVsbApAQCAtMSwxODIg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
LSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0g
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgImNvbmZpZy5oIgotI2ltcG9ydCA8V2ViS2l0
L1dLRm91bmRhdGlvbi5oPgotCi0jaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgotI2ltcG9y
dCAiVGVzdC5oIgotI2ltcG9ydCA8V2ViS2l0L19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVQ
cml2YXRlLmg+Ci0jaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+Ci0KLWNsYXNzIF9XS1VzZXJDb250
ZW50RXh0ZW5zaW9uU3RvcmVUZXN0IDogcHVibGljIHRlc3Rpbmc6OlRlc3QgewotcHVibGljOgot
ICAgIHZpcnR1YWwgdm9pZCBTZXRVcCgpCi0gICAgewotICAgICAgICBbW19XS1VzZXJDb250ZW50
RXh0ZW5zaW9uU3RvcmUgZGVmYXVsdFN0b3JlXSBfcmVtb3ZlQWxsQ29udGVudEV4dGVuc2lvbnNd
OwotICAgIH0KLX07Ci0KLXN0YXRpYyBOU1N0cmluZyAqYmFzaWNGaWx0ZXIgPSBAIlt7XCJhY3Rp
b25cIjp7XCJ0eXBlXCI6XCJibG9ja1wifSxcInRyaWdnZXJcIjp7XCJ1cmwtZmlsdGVyXCI6XCIu
KndlYmtpdC5vcmdcIn19XSI7Ci0KLVRFU1RfRihfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3Jl
VGVzdCwgQ29tcGlsZSkKLXsKLSAgICBfX2Jsb2NrIGJvb2wgZG9uZUNvbXBpbGluZyA9IGZhbHNl
OwotICAgIFtbX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZSBkZWZhdWx0U3RvcmVdIGNvbXBp
bGVDb250ZW50RXh0ZW5zaW9uRm9ySWRlbnRpZmllcjpAIlRlc3RFeHRlbnNpb24iIGVuY29kZWRD
b250ZW50RXh0ZW5zaW9uOmJhc2ljRmlsdGVyIGNvbXBsZXRpb25IYW5kbGVyOl4oX1dLVXNlckNv
bnRlbnRGaWx0ZXIgKmZpbHRlciwgTlNFcnJvciAqZXJyb3IpIHsKLSAgICAKLSAgICAgICAgRVhQ
RUNUX05PVF9OVUxMKGZpbHRlcik7Ci0gICAgICAgIEVYUEVDVF9OVUxMKGVycm9yKTsKLQotICAg
ICAgICBkb25lQ29tcGlsaW5nID0gdHJ1ZTsKLSAgICB9XTsKLSAgICBUZXN0V2ViS2l0QVBJOjpV
dGlsOjpydW4oJmRvbmVDb21waWxpbmcpOwotfQotCi1zdGF0aWMgTlNTdHJpbmcgKmludmFsaWRG
aWx0ZXIgPSBAIlsiOwotCi1zdGF0aWMgdm9pZCBjaGVja0RvbWFpbihOU0Vycm9yICplcnJvcikK
LXsKLSAgICBFWFBFQ1RfU1RSRVEoW1tlcnJvciBkb21haW5dIFVURjhTdHJpbmddLCBbX1dLVXNl
ckNvbnRlbnRFeHRlbnNpb25zRG9tYWluIFVURjhTdHJpbmddKTsKLX0KLQotVEVTVF9GKF9XS1Vz
ZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVUZXN0LCBJbnZhbGlkRXh0ZW5zaW9uKQotewotICAgIF9f
YmxvY2sgYm9vbCBkb25lQ29tcGlsaW5nID0gZmFsc2U7Ci0gICAgW1tfV0tVc2VyQ29udGVudEV4
dGVuc2lvblN0b3JlIGRlZmF1bHRTdG9yZV0gY29tcGlsZUNvbnRlbnRFeHRlbnNpb25Gb3JJZGVu
dGlmaWVyOkAiVGVzdEV4dGVuc2lvbiIgZW5jb2RlZENvbnRlbnRFeHRlbnNpb246aW52YWxpZEZp
bHRlciBjb21wbGV0aW9uSGFuZGxlcjpeKF9XS1VzZXJDb250ZW50RmlsdGVyICpmaWx0ZXIsIE5T
RXJyb3IgKmVycm9yKSB7Ci0gICAgCi0gICAgICAgIEVYUEVDVF9OVUxMKGZpbHRlcik7Ci0gICAg
ICAgIEVYUEVDVF9OT1RfTlVMTChlcnJvcik7Ci0gICAgICAgIGNoZWNrRG9tYWluKGVycm9yKTsK
LSAgICAgICAgRVhQRUNUX0VRKGVycm9yLmNvZGUsIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3Rv
cmVFcnJvckNvbXBpbGVGYWlsZWQpOwotICAgICAgICBFWFBFQ1RfU1RSRVEoIlJ1bGUgbGlzdCBj
b21waWxhdGlvbiBmYWlsZWQ6IEZhaWxlZCB0byBwYXJzZSB0aGUgSlNPTiBTdHJpbmcuIiwgW1tl
cnJvciBoZWxwQW5jaG9yXSBVVEY4U3RyaW5nXSk7Ci0KLSAgICAgICAgZG9uZUNvbXBpbGluZyA9
IHRydWU7Ci0gICAgfV07Ci0gICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lQ29tcGls
aW5nKTsKLX0KLQotVEVTVF9GKF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVUZXN0LCBMb29r
dXApCi17Ci0gICAgX19ibG9jayBib29sIGRvbmVDb21waWxpbmcgPSBmYWxzZTsKLSAgICBbW19X
S1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgZGVmYXVsdFN0b3JlXSBjb21waWxlQ29udGVudEV4
dGVuc2lvbkZvcklkZW50aWZpZXI6QCJUZXN0RXh0ZW5zaW9uIiBlbmNvZGVkQ29udGVudEV4dGVu
c2lvbjpiYXNpY0ZpbHRlciBjb21wbGV0aW9uSGFuZGxlcjpeKF9XS1VzZXJDb250ZW50RmlsdGVy
ICpmaWx0ZXIsIE5TRXJyb3IgKmVycm9yKSB7Ci0gICAgCi0gICAgICAgIEVYUEVDVF9OT1RfTlVM
TChmaWx0ZXIpOwotICAgICAgICBFWFBFQ1RfTlVMTChlcnJvcik7Ci0KLSAgICAgICAgZG9uZUNv
bXBpbGluZyA9IHRydWU7Ci0gICAgfV07Ci0gICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZk
b25lQ29tcGlsaW5nKTsKLQotICAgIF9fYmxvY2sgYm9vbCBkb25lTG9va2luZ1VwID0gZmFsc2U7
Ci0gICAgW1tfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlIGRlZmF1bHRTdG9yZV0gbG9va3Vw
Q29udGVudEV4dGVuc2lvbkZvcklkZW50aWZpZXI6QCJUZXN0RXh0ZW5zaW9uIiBjb21wbGV0aW9u
SGFuZGxlcjpeKF9XS1VzZXJDb250ZW50RmlsdGVyICpmaWx0ZXIsIE5TRXJyb3IgKmVycm9yKSB7
Ci0gICAgCi0gICAgICAgIEVYUEVDVF9OT1RfTlVMTChmaWx0ZXIpOwotICAgICAgICBFWFBFQ1Rf
TlVMTChlcnJvcik7Ci0KLSAgICAgICAgZG9uZUxvb2tpbmdVcCA9IHRydWU7Ci0gICAgfV07Ci0g
ICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lTG9va2luZ1VwKTsKLX0KLQotVEVTVF9G
KF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVUZXN0LCBOb25FeGlzdGluZ0lkZW50aWZpZXJM
b29rdXApCi17Ci0gICAgX19ibG9jayBib29sIGRvbmVMb29raW5nVXAgPSBmYWxzZTsKLSAgICBb
W19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgZGVmYXVsdFN0b3JlXSBsb29rdXBDb250ZW50
RXh0ZW5zaW9uRm9ySWRlbnRpZmllcjpAIkRvZXNOb3RFeGlzdCIgY29tcGxldGlvbkhhbmRsZXI6
XihfV0tVc2VyQ29udGVudEZpbHRlciAqZmlsdGVyLCBOU0Vycm9yICplcnJvcikgewotICAgIAot
ICAgICAgICBFWFBFQ1RfTlVMTChmaWx0ZXIpOwotICAgICAgICBFWFBFQ1RfTk9UX05VTEwoZXJy
b3IpOwotICAgICAgICBjaGVja0RvbWFpbihlcnJvcik7Ci0gICAgICAgIEVYUEVDVF9FUShlcnJv
ci5jb2RlLCBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlRXJyb3JMb29rdXBGYWlsZWQpOwot
ICAgICAgICBFWFBFQ1RfU1RSRVEoIlJ1bGUgbGlzdCBsb29rdXAgZmFpbGVkOiBVbnNwZWNpZmll
ZCBlcnJvciBkdXJpbmcgbG9va3VwLiIsIFtbZXJyb3IgaGVscEFuY2hvcl0gVVRGOFN0cmluZ10p
OwotICAgICAgICAKLSAgICAgICAgZG9uZUxvb2tpbmdVcCA9IHRydWU7Ci0gICAgfV07Ci0gICAg
VGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lTG9va2luZ1VwKTsKLX0KLQotVEVTVF9GKF9X
S1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVUZXN0LCBWZXJzaW9uTWlzbWF0Y2gpCi17Ci0gICAg
X19ibG9jayBib29sIGRvbmVDb21waWxpbmcgPSBmYWxzZTsKLSAgICBbW19XS1VzZXJDb250ZW50
RXh0ZW5zaW9uU3RvcmUgZGVmYXVsdFN0b3JlXSBjb21waWxlQ29udGVudEV4dGVuc2lvbkZvcklk
ZW50aWZpZXI6QCJUZXN0RXh0ZW5zaW9uIiBlbmNvZGVkQ29udGVudEV4dGVuc2lvbjpiYXNpY0Zp
bHRlciBjb21wbGV0aW9uSGFuZGxlcjpeKF9XS1VzZXJDb250ZW50RmlsdGVyICpmaWx0ZXIsIE5T
RXJyb3IgKmVycm9yKQotICAgIHsKLSAgICAgICAgCi0gICAgICAgIEVYUEVDVF9OT1RfTlVMTChm
aWx0ZXIpOwotICAgICAgICBFWFBFQ1RfTlVMTChlcnJvcik7Ci0gICAgICAgIAotICAgICAgICBk
b25lQ29tcGlsaW5nID0gdHJ1ZTsKLSAgICB9XTsKLSAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpy
dW4oJmRvbmVDb21waWxpbmcpOwotCi0gICAgW1tfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3Jl
IGRlZmF1bHRTdG9yZV0gX2ludmFsaWRhdGVDb250ZW50RXh0ZW5zaW9uVmVyc2lvbkZvcklkZW50
aWZpZXI6QCJUZXN0RXh0ZW5zaW9uIl07Ci0gICAgCi0gICAgX19ibG9jayBib29sIGRvbmVMb29r
aW5nVXAgPSBmYWxzZTsKLSAgICBbW19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgZGVmYXVs
dFN0b3JlXSBsb29rdXBDb250ZW50RXh0ZW5zaW9uRm9ySWRlbnRpZmllcjpAIlRlc3RFeHRlbnNp
b24iIGNvbXBsZXRpb25IYW5kbGVyOl4oX1dLVXNlckNvbnRlbnRGaWx0ZXIgKmZpbHRlciwgTlNF
cnJvciAqZXJyb3IpCi0gICAgewotICAgICAgICAKLSAgICAgICAgRVhQRUNUX05VTEwoZmlsdGVy
KTsKLSAgICAgICAgRVhQRUNUX05PVF9OVUxMKGVycm9yKTsKLSAgICAgICAgY2hlY2tEb21haW4o
ZXJyb3IpOwotICAgICAgICBFWFBFQ1RfRVEoZXJyb3IuY29kZSwgX1dLVXNlckNvbnRlbnRFeHRl
bnNpb25TdG9yZUVycm9yVmVyc2lvbk1pc21hdGNoKTsKLSAgICAgICAgRVhQRUNUX1NUUkVRKCJS
dWxlIGxpc3QgbG9va3VwIGZhaWxlZDogVmVyc2lvbiBvZiBmaWxlIGRvZXMgbm90IG1hdGNoIHZl
cnNpb24gb2YgaW50ZXJwcmV0ZXIuIiwgW1tlcnJvciBoZWxwQW5jaG9yXSBVVEY4U3RyaW5nXSk7
Ci0gICAgICAgIAotICAgICAgICBkb25lTG9va2luZ1VwID0gdHJ1ZTsKLSAgICB9XTsKLSAgICBU
ZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmVMb29raW5nVXApOwotfQotCi1URVNUX0YoX1dL
VXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZVRlc3QsIFJlbW92YWwpCi17Ci0gICAgX19ibG9jayBi
b29sIGRvbmVDb21waWxpbmcgPSBmYWxzZTsKLSAgICBbW19XS1VzZXJDb250ZW50RXh0ZW5zaW9u
U3RvcmUgZGVmYXVsdFN0b3JlXSBjb21waWxlQ29udGVudEV4dGVuc2lvbkZvcklkZW50aWZpZXI6
QCJUZXN0RXh0ZW5zaW9uIiBlbmNvZGVkQ29udGVudEV4dGVuc2lvbjpiYXNpY0ZpbHRlciBjb21w
bGV0aW9uSGFuZGxlcjpeKF9XS1VzZXJDb250ZW50RmlsdGVyICpmaWx0ZXIsIE5TRXJyb3IgKmVy
cm9yKSB7Ci0gICAgCi0gICAgICAgIEVYUEVDVF9OT1RfTlVMTChmaWx0ZXIpOwotICAgICAgICBF
WFBFQ1RfTlVMTChlcnJvcik7Ci0KLSAgICAgICAgZG9uZUNvbXBpbGluZyA9IHRydWU7Ci0gICAg
fV07Ci0gICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lQ29tcGlsaW5nKTsKLQotICAg
IF9fYmxvY2sgYm9vbCBkb25lUmVtb3ZpbmcgPSBmYWxzZTsKLSAgICBbW19XS1VzZXJDb250ZW50
RXh0ZW5zaW9uU3RvcmUgZGVmYXVsdFN0b3JlXSByZW1vdmVDb250ZW50RXh0ZW5zaW9uRm9ySWRl
bnRpZmllcjpAIlRlc3RFeHRlbnNpb24iIGNvbXBsZXRpb25IYW5kbGVyOl4oTlNFcnJvciAqZXJy
b3IpIHsKLSAgICAgICAgRVhQRUNUX05VTEwoZXJyb3IpOwotCi0gICAgICAgIGRvbmVSZW1vdmlu
ZyA9IHRydWU7Ci0gICAgfV07Ci0gICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lUmVt
b3ZpbmcpOwotfQotCi1URVNUX0YoX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZVRlc3QsIE5v
bkV4aXN0aW5nSWRlbnRpZmllclJlbW92ZSkKLXsKLSAgICBfX2Jsb2NrIGJvb2wgZG9uZVJlbW92
aW5nID0gZmFsc2U7Ci0gICAgW1tfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlIGRlZmF1bHRT
dG9yZV0gcmVtb3ZlQ29udGVudEV4dGVuc2lvbkZvcklkZW50aWZpZXI6QCJEb2VzTm90RXhpc3Qi
IGNvbXBsZXRpb25IYW5kbGVyOl4oTlNFcnJvciAqZXJyb3IpIHsKLSAgICAgICAgRVhQRUNUX05P
VF9OVUxMKGVycm9yKTsKLSAgICAgICAgY2hlY2tEb21haW4oZXJyb3IpOwotICAgICAgICBFWFBF
Q1RfRVEoZXJyb3IuY29kZSwgX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZUVycm9yUmVtb3Zl
RmFpbGVkKTsKLSAgICAgICAgRVhQRUNUX1NUUkVRKCJSdWxlIGxpc3QgcmVtb3ZhbCBmYWlsZWQ6
IFVuc3BlY2lmaWVkIGVycm9yIGR1cmluZyByZW1vdmUuIiwgW1tlcnJvciBoZWxwQW5jaG9yXSBV
VEY4U3RyaW5nXSk7Ci0KLSAgICAgICAgZG9uZVJlbW92aW5nID0gdHJ1ZTsKLSAgICB9XTsKLSAg
ICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmVSZW1vdmluZyk7Ci19CmRpZmYgLS1naXQg
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0gYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0KaW5kZXgg
MDYyOGM4OGYxMDdhMTNlNDM2YjZlZGNiZTA2NWJkNTdmZGM5MmNhZi4uNjI0NDQ0YWYwOTU5YTdk
NjE3Nzc4ODQ5MGZlMDg1ODdlNGU2MDIyMSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbQpAQCAtMzUsNiArMzUsNyBAQAogI2lt
cG9ydCAiV2ViQ29yZVRlc3RTdXBwb3J0LmgiCiAjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRp
b24uaD4KICNpbXBvcnQgPFNlY3VyaXR5L1NlY0l0ZW0uaD4KKyNpbXBvcnQgPFdlYktpdC9XS0Nv
bnRlbnRSdWxlTGlzdFN0b3JlUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLQ29udGV4dENv
bmZpZ3VyYXRpb25SZWYuaD4KICNpbXBvcnQgPFdlYktpdC9XS0NvbnRleHRQcml2YXRlLmg+CiAj
aW1wb3J0IDxXZWJLaXQvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaD4KQEAgLTUwLDggKzUxLDYg
QEAKICNpbXBvcnQgPFdlYktpdC9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmg+CiAjaW1wb3J0
IDxXZWJLaXQvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmg+CiAjaW1wb3J0IDxXZWJLaXQvX1dLQXBw
bGljYXRpb25NYW5pZmVzdC5oPgotI2ltcG9ydCA8V2ViS2l0L19XS1VzZXJDb250ZW50RXh0ZW5z
aW9uU3RvcmUuaD4KLSNpbXBvcnQgPFdlYktpdC9fV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3Jl
UHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L19XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0
aW9uLmg+CiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9ydCA8d3RmL2NvY29hL1Zl
Y3RvckNvY29hLmg+CkBAIC0yNjIsMTEgKzI2MSwxMiBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpz
ZXREZWZhdWx0Q2FsZW5kYXJUeXBlKE5TU3RyaW5nICppZGVudGlmaWVyLCBOU1N0cmluZyAqbG9j
YQogdm9pZCBUZXN0Q29udHJvbGxlcjo6cmVzZXRDb250ZW50RXh0ZW5zaW9ucygpCiB7CiAgICAg
X19ibG9jayBib29sIGRvbmVSZW1vdmluZyA9IGZhbHNlOwotICAgIFtbX1dLVXNlckNvbnRlbnRF
eHRlbnNpb25TdG9yZSBkZWZhdWx0U3RvcmVdIHJlbW92ZUNvbnRlbnRFeHRlbnNpb25Gb3JJZGVu
dGlmaWVyOkAiVGVzdENvbnRlbnRFeHRlbnNpb25zIiBjb21wbGV0aW9uSGFuZGxlcjpeKE5TRXJy
b3IgKmVycm9yKSB7CisgICAgLy8gRklYTUU6IFRoaXMgZG9lcyBub3QgbWF0Y2ggdGhlIHN0b3Jl
IHVzZWQgaW4gVGVzdENvbnRyb2xsZXI6OmNvbmZpZ3VyZUNvbnRlbnRFeHRlbnNpb25Gb3JUZXN0
LiBJdCBwcm9iYWJseSBzaG91bGQuCisgICAgW1tXS0NvbnRlbnRSdWxlTGlzdFN0b3JlIGRlZmF1
bHRTdG9yZV0gcmVtb3ZlQ29udGVudFJ1bGVMaXN0Rm9ySWRlbnRpZmllcjpAIlRlc3RDb250ZW50
RXh0ZW5zaW9ucyIgY29tcGxldGlvbkhhbmRsZXI6XihOU0Vycm9yICplcnJvcikgewogICAgICAg
ICBkb25lUmVtb3ZpbmcgPSB0cnVlOwogICAgIH1dOwogICAgIHBsYXRmb3JtUnVuVW50aWwoZG9u
ZVJlbW92aW5nLCBub1RpbWVvdXQpOwotICAgIFtbX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9y
ZSBkZWZhdWx0U3RvcmVdIF9yZW1vdmVBbGxDb250ZW50RXh0ZW5zaW9uc107CisgICAgW1tXS0Nv
bnRlbnRSdWxlTGlzdFN0b3JlIGRlZmF1bHRTdG9yZV0gX3JlbW92ZUFsbENvbnRlbnRSdWxlTGlz
dHNdOwogCiAgICAgaWYgKGF1dG8qIHdlYlZpZXcgPSBtYWluV2ViVmlldygpKSB7CiAgICAgICAg
IFRlc3RSdW5uZXJXS1dlYlZpZXcgKnBsYXRmb3JtVmlldyA9IHdlYlZpZXctPnBsYXRmb3JtVmll
dygpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvVGVzdENvbnRyb2xs
ZXJNYWMubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9UZXN0Q29udHJvbGxlck1hYy5t
bQppbmRleCA5MzA0NDcxY2I1MTY2YTU0OTJkYWMzNDFkNzAyMzEwMmEzZmRkZjU5Li4wMmI0YThh
MWNmNmU3ODQzZGY1ZGM0YTNhZjU5ZGYzMzNlNjFhMGEyIDEwMDY0NAotLS0gYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL21hYy9UZXN0Q29udHJvbGxlck1hYy5tbQorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL21hYy9UZXN0Q29udHJvbGxlck1hYy5tbQpAQCAtNDIsOCArNDIsNiBAQAogI2lt
cG9ydCA8V2ViS2l0L1dLV2ViVmlld0NvbmZpZ3VyYXRpb24uaD4KICNpbXBvcnQgPFdlYktpdC9X
S1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmll
d1ByaXZhdGUuaD4KLSNpbXBvcnQgPFdlYktpdC9fV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3Jl
Lmg+Ci0jaW1wb3J0IDxXZWJLaXQvX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZVByaXZhdGUu
aD4KICNpbXBvcnQgPG1hY2gtby9keWxkLmg+CiAKIEBpbnRlcmZhY2UgTlNTb3VuZCAoKQpAQCAt
MjEwLDEwICsyMDgsMTAgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6Y29uZmlndXJlQ29udGVudEV4
dGVuc2lvbkZvclRlc3QoY29uc3QgVGVzdEludm9jYXRpb24mIHRlc3QKICAgICB9IGVsc2UKICAg
ICAgICAgdGVtcERpciA9IFtOU1VSTCBmaWxlVVJMV2l0aFBhdGg6W05TVGVtcG9yYXJ5RGlyZWN0
b3J5KCkgc3RyaW5nQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50OkAiQ29udGVudEV4dGVuc2lvbnMi
XSBpc0RpcmVjdG9yeTpZRVNdOwogCi0gICAgW1tfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3Jl
IHN0b3JlV2l0aFVSTDp0ZW1wRGlyXSBjb21waWxlQ29udGVudEV4dGVuc2lvbkZvcklkZW50aWZp
ZXI6QCJUZXN0Q29udGVudEV4dGVuc2lvbnMiIGVuY29kZWRDb250ZW50RXh0ZW5zaW9uOmNvbnRl
bnRFeHRlbnNpb25TdHJpbmcuZ2V0KCkgY29tcGxldGlvbkhhbmRsZXI6XihfV0tVc2VyQ29udGVu
dEZpbHRlciAqZmlsdGVyLCBOU0Vycm9yICplcnJvcikKKyAgICBbW1dLQ29udGVudFJ1bGVMaXN0
U3RvcmUgc3RvcmVXaXRoVVJMOnRlbXBEaXJdIGNvbXBpbGVDb250ZW50UnVsZUxpc3RGb3JJZGVu
dGlmaWVyOkAiVGVzdENvbnRlbnRFeHRlbnNpb25zIiBlbmNvZGVkQ29udGVudFJ1bGVMaXN0OmNv
bnRlbnRFeHRlbnNpb25TdHJpbmcuZ2V0KCkgY29tcGxldGlvbkhhbmRsZXI6XihXS0NvbnRlbnRS
dWxlTGlzdCAqbGlzdCwgTlNFcnJvciAqZXJyb3IpCiAgICAgewogICAgICAgICBpZiAoIWVycm9y
KQotICAgICAgICAgICAgW21haW5XZWJWaWV3KCktPnBsYXRmb3JtVmlldygpLmNvbmZpZ3VyYXRp
b24udXNlckNvbnRlbnRDb250cm9sbGVyIF9hZGRVc2VyQ29udGVudEZpbHRlcjpmaWx0ZXJdOwor
ICAgICAgICAgICAgW21haW5XZWJWaWV3KCktPnBsYXRmb3JtVmlldygpLmNvbmZpZ3VyYXRpb24u
dXNlckNvbnRlbnRDb250cm9sbGVyIGFkZENvbnRlbnRSdWxlTGlzdDpsaXN0XTsKICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgTlNMb2coQCIlQCIsIFtlcnJvciBoZWxwQW5jaG9yXSk7CiAgICAg
ICAgIGRvbmVDb21waWxpbmcgPSB0cnVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425677</attachid>
            <date>2021-04-09 21:46:21 -0700</date>
            <delta_ts>2021-05-17 13:25:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224391-20210409214620.patch</filename>
            <type>text/plain</type>
            <size>57389</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NzY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQ4ZTNlYzNjNmNjNDg0ZDll
ODY2OWFkOTE2YTllNTdjNTk3OTY2ZWIuLjhkYWY0ZTE5NzFkYmUyMzcxN2M5NWMyNjIwY2Q1ZWVk
YWZhNzdlNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMjEtMDQtMDkgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBEZXByZWNhdGUg
YW5kIHJlbW92ZSBtb3N0IG9mIF9XS1VzZXJDb250ZW50RmlsdGVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjQzOTEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJIHJlbW92ZWQgaXRzIHVzZSBpbiByZGFy
Oi8vNzU4ODk0MTQgc28gd2UgY2FuIHJlbW92ZSBtb3N0IG9mIGl0LCBidXQgd2Ugc3RpbGwgbmVl
ZCBhIGNsYXNzIHdpdGggdGhhdCBuYW1lIHRvIGxhdW5jaCBTYWZhcmlGb3JXZWJLaXREZXZlbG9w
bWVudC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyQ29udGVudENvbnRy
b2xsZXIubW06CisgICAgICAgICgtW1dLVXNlckNvbnRlbnRDb250cm9sbGVyIF9hZGRVc2VyQ29u
dGVudEZpbHRlcjpdKToKKyAgICAgICAgKC1bV0tVc2VyQ29udGVudENvbnRyb2xsZXIgX3JlbW92
ZUFsbFVzZXJDb250ZW50RmlsdGVyc10pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tVc2VyQ29udGVudENvbnRyb2xsZXJQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLm1tOgorICAgICAgICAo
K1tfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlIGRlZmF1bHRTdG9yZV0pOgorICAgICAgICAo
K1tfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlIHN0b3JlV2l0aFVSTDpdKToKKyAgICAgICAg
KC1bX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZSBjb21waWxlQ29udGVudEV4dGVuc2lvbkZv
cklkZW50aWZpZXI6ZW5jb2RlZENvbnRlbnRFeHRlbnNpb246Y29tcGxldGlvbkhhbmRsZXI6XSk6
CisgICAgICAgICgtW19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgbG9va3VwQ29udGVudEV4
dGVuc2lvbkZvcklkZW50aWZpZXI6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAgICgtW19X
S1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgcmVtb3ZlQ29udGVudEV4dGVuc2lvbkZvcklkZW50
aWZpZXI6Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAgICh0b1VzZXJDb250ZW50UnVsZUxp
c3RTdG9yZUVycm9yKTogRGVsZXRlZC4KKyAgICAgICAgKC1bX1dLVXNlckNvbnRlbnRFeHRlbnNp
b25TdG9yZSBfYXBpT2JqZWN0XSk6IERlbGV0ZWQuCisgICAgICAgICgtW19XS1VzZXJDb250ZW50
RXh0ZW5zaW9uU3RvcmUgX3JlbW92ZUFsbENvbnRlbnRFeHRlbnNpb25zXSk6IERlbGV0ZWQuCisg
ICAgICAgICgtW19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgX2ludmFsaWRhdGVDb250ZW50
RXh0ZW5zaW9uVmVyc2lvbkZvcklkZW50aWZpZXI6XSk6IERlbGV0ZWQuCisgICAgICAgICgtW19X
S1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgX2luaXRXaXRoV0tDb250ZW50UnVsZUxpc3RTdG9y
ZTpdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZSBf
Y29udGVudFJ1bGVMaXN0U3RvcmVdKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVJbnRlcm5hbC5oOiBSZW1vdmVkLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9y
ZVByaXZhdGUuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Vz
ZXJDb250ZW50RmlsdGVyLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2Vy
Q29udGVudEZpbHRlci5tbToKKyAgICAgICAgKC1bX1dLVXNlckNvbnRlbnRGaWx0ZXIgX2luaXRX
aXRoV0tDb250ZW50UnVsZUxpc3Q6XSk6CisgICAgICAgICgtW19XS1VzZXJDb250ZW50RmlsdGVy
IF9hcGlPYmplY3RdKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19X
S1VzZXJDb250ZW50RmlsdGVySW50ZXJuYWwuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50RmlsdGVyUHJpdmF0ZS5oOiBSZW1vdmVkLgorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oOgorICAgICAgICAqIFdlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDIxLTA0LTA5ICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgTmVlZCB0byBwcm9wYWdhdGUgYW5kIHVzZSAnY2FuU2hv
d1doaWxlTG9ja2VkJyBpbiB0aGUgR1BVIFByb2Nlc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VzZXJDb250ZW50Q29udHJvbGxlci5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VzZXJDb250ZW50Q29udHJvbGxlci5tbQpp
bmRleCBjNmIzZTQ3MGMxODU4MTk1NTY5YTcyNmM4Y2ZhNTM1YWY4OGIzN2E5Li43NjkwM2EyNjdm
MmY3ODIyNDlhYzVlYzdiOTAxODQxNjM1ZjIwNWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyQ29udGVudENvbnRyb2xsZXIubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVXNlckNvbnRlbnRDb250cm9sbGVyLm1t
CkBAIC00MCw3ICs0MCw2IEBACiAjaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5oIgogI2ltcG9y
dCAiV2ViU2NyaXB0TWVzc2FnZUhhbmRsZXIuaCIKICNpbXBvcnQgIldlYlVzZXJDb250ZW50Q29u
dHJvbGxlclByb3h5LmgiCi0jaW1wb3J0ICJfV0tVc2VyQ29udGVudEZpbHRlckludGVybmFsLmgi
CiAjaW1wb3J0ICJfV0tVc2VyQ29udGVudFdvcmxkSW50ZXJuYWwuaCIKICNpbXBvcnQgIl9XS1Vz
ZXJTdHlsZVNoZWV0SW50ZXJuYWwuaCIKICNpbXBvcnQgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4u
aD4KQEAgLTI3Nyw5ICsyNzYsNiBAQCBwcml2YXRlOgogCiAtICh2b2lkKV9hZGRVc2VyQ29udGVu
dEZpbHRlcjooX1dLVXNlckNvbnRlbnRGaWx0ZXIgKil1c2VyQ29udGVudEZpbHRlcgogewotI2lm
IEVOQUJMRShDT05URU5UX0VYVEVOU0lPTlMpCi0gICAgX3VzZXJDb250ZW50Q29udHJvbGxlclBy
b3h5LT5hZGRDb250ZW50UnVsZUxpc3QoKnVzZXJDb250ZW50RmlsdGVyLT5fY29udGVudFJ1bGVM
aXN0LT5fY29udGVudFJ1bGVMaXN0KTsKLSNlbmRpZgogfQogCiAtICh2b2lkKV9yZW1vdmVVc2Vy
Q29udGVudEZpbHRlcjooTlNTdHJpbmcgKil1c2VyQ29udGVudEZpbHRlck5hbWUKQEAgLTI5MSw5
ICsyODcsNiBAQCBwcml2YXRlOgogCiAtICh2b2lkKV9yZW1vdmVBbGxVc2VyQ29udGVudEZpbHRl
cnMKIHsKLSNpZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQotICAgIF91c2VyQ29udGVudENv
bnRyb2xsZXJQcm94eS0+cmVtb3ZlQWxsQ29udGVudFJ1bGVMaXN0cygpOwotI2VuZGlmCiB9CiAK
IC0gKE5TQXJyYXkgKilfdXNlclN0eWxlU2hlZXRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyQ29udGVudENvbnRyb2xsZXJQcml2YXRlLmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyQ29udGVudENvbnRyb2xsZXJQ
cml2YXRlLmgKaW5kZXggYTI1MmQwNDE2Njc0YzQ4MDQ2MmIxYTkxMTk4MGY2MmY1OWI3MDJhMS4u
ZTQ0NmI1OGI5ZjkwOWE3NjI0ODhlOTk5MGU2NDg0ZTdkMzljZDRlMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVXNlckNvbnRlbnRDb250cm9sbGVyUHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VzZXJDb250
ZW50Q29udHJvbGxlclByaXZhdGUuaApAQCAtMzgsOSArMzgsOSBAQAogCiAtICh2b2lkKV9hZGRV
c2VyU2NyaXB0SW1tZWRpYXRlbHk6KFdLVXNlclNjcmlwdCAqKXVzZXJTY3JpcHQgV0tfQVBJX0FW
QUlMQUJMRShtYWNvcygxMC4xNCksIGlvcygxMi4wKSk7CiAKLS0gKHZvaWQpX2FkZFVzZXJDb250
ZW50RmlsdGVyOihfV0tVc2VyQ29udGVudEZpbHRlciAqKXVzZXJDb250ZW50RmlsdGVyIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3MoMTAuMTEpLCBpb3MoOS4wKSk7CistICh2b2lkKV9hZGRVc2VyQ29u
dGVudEZpbHRlcjooX1dLVXNlckNvbnRlbnRGaWx0ZXIgKil1c2VyQ29udGVudEZpbHRlciBXS19B
UElfREVQUkVDQVRFRF9XSVRIX1JFUExBQ0VNRU5UKCJhZGRDb250ZW50UnVsZUxpc3QiLCBtYWNv
cygxMC4xMSwgV0tfTUFDX1RCQSksIGlvcyg5LjAsIFdLX0lPU19UQkEpKTsKIC0gKHZvaWQpX3Jl
bW92ZVVzZXJDb250ZW50RmlsdGVyOihOU1N0cmluZyAqKXVzZXJDb250ZW50RmlsdGVyTmFtZSBX
S19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjExKSwgaW9zKDkuMCkpOwotLSAodm9pZClfcmVtb3Zl
QWxsVXNlckNvbnRlbnRGaWx0ZXJzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTEpLCBpb3Mo
OS4wKSk7CistICh2b2lkKV9yZW1vdmVBbGxVc2VyQ29udGVudEZpbHRlcnMgV0tfQVBJX0RFUFJF
Q0FURURfV0lUSF9SRVBMQUNFTUVOVCgicmVtb3ZlQWxsQ29udGVudFJ1bGVMaXN0cyIsIG1hY29z
KDEwLjExLCBXS19NQUNfVEJBKSwgaW9zKDkuMCwgV0tfSU9TX1RCQSkpOwogCiBAcHJvcGVydHkg
KG5vbmF0b21pYywgcmVhZG9ubHksIGNvcHkpIE5TQXJyYXk8X1dLVXNlclN0eWxlU2hlZXQgKj4g
Kl91c2VyU3R5bGVTaGVldHMgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMiksIGlvcygxMC4w
KSk7CiAtICh2b2lkKV9hZGRVc2VyU3R5bGVTaGVldDooX1dLVXNlclN0eWxlU2hlZXQgKil1c2Vy
U3R5bGVTaGVldCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEyKSwgaW9zKDEwLjApKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVu
dEV4dGVuc2lvblN0b3JlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
VXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZS5oCmluZGV4IDAwN2ViYWVmNzM5NGUwOGQ5ODQxYWMy
ODNhYjdjYzJjYmUxYmNlNWYuLjk3ZDNiYjgwMWJkODllYTQ0YmFjNjJiNTFjMDZkNGFjOGI2ODYx
NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2Vy
Q29udGVudEV4dGVuc2lvblN0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUuaApAQCAtMjcsNyArMjcsNyBAQAog
CiBAY2xhc3MgX1dLVXNlckNvbnRlbnRGaWx0ZXI7CiAKLVdLX0NMQVNTX0FWQUlMQUJMRShtYWNv
cygxMC4xMSksIGlvcyg5LjApKQorV0tfQVBJX0RFUFJFQ0FURURfV0lUSF9SRVBMQUNFTUVOVCgi
V0tDb250ZW50UnVsZUxpc3RTdG9yZSIsIG1hY29zKDEwLjExLCBXS19NQUNfVEJBKSwgaW9zKDku
MCwgV0tfSU9TX1RCQSkpCiBAaW50ZXJmYWNlIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUg
OiBOU09iamVjdAogCiArIChpbnN0YW5jZXR5cGUpZGVmYXVsdFN0b3JlOwpAQCAtMzksNyArMzks
NyBAQCBXS19DTEFTU19BVkFJTEFCTEUobWFjb3MoMTAuMTEpLCBpb3MoOS4wKSkKIAogQGVuZAog
Ci1XS19FWFRFUk4gTlNTdHJpbmcgKiBjb25zdCBfV0tVc2VyQ29udGVudEV4dGVuc2lvbnNEb21h
aW4gV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMiksIGlvcygxMC4wKSk7CitXS19FWFRFUk4g
TlNTdHJpbmcgKiBjb25zdCBfV0tVc2VyQ29udGVudEV4dGVuc2lvbnNEb21haW4gV0tfQVBJX0RF
UFJFQ0FURURfV0lUSF9SRVBMQUNFTUVOVCgiV0tFcnJvckRvbWFpbiIsIG1hY29zKDEwLjEyLCBX
S19NQUNfVEJBKSwgaW9zKDEwLjAsIFdLX0lPU19UQkEpKTsKIAogdHlwZWRlZiBOU19FTlVNKE5T
SW50ZWdlciwgX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZUVycm9yQ29kZSkgewogICAgIF9X
S1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVFcnJvckxvb2t1cEZhaWxlZCwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudEV4dGVuc2lv
blN0b3JlLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250
ZW50RXh0ZW5zaW9uU3RvcmUubW0KaW5kZXggMWQxZDg3MjQyOTE3ODM5ZTAzYzZjMDExMGE5NGE4
M2NjNmUwZTg3MS4uNDU3MDczNTMyZjFkZTk3ODI0MTE2Y2Y4ZjBhMTU5OGQxNmEzODU0YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50
RXh0ZW5zaW9uU3RvcmUubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUubW0KQEAgLTI0LDExMCArMjQsMzkgQEAKICAq
LwogCiAjaW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQgIl9XS1VzZXJDb250ZW50RXh0ZW5zaW9u
U3RvcmVJbnRlcm5hbC5oIgorI2ltcG9ydCAiX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZS5o
IgogCi0jaW1wb3J0ICJXS0NvbnRlbnRSdWxlTGlzdFN0b3JlSW50ZXJuYWwuaCIKLSNpbXBvcnQg
IldLQ29udGVudFJ1bGVMaXN0U3RvcmVQcml2YXRlLmgiCiAjaW1wb3J0ICJXS0Vycm9ySW50ZXJu
YWwuaCIKLSNpbXBvcnQgIl9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVQcml2YXRlLmgiCi0j
aW1wb3J0ICJfV0tVc2VyQ29udGVudEZpbHRlckludGVybmFsLmgiCi0jaW1wb3J0ICJfV0tVc2Vy
Q29udGVudEZpbHRlclByaXZhdGUuaCIKLSNpbXBvcnQgPHN0cmluZz4KIAogTlNTdHJpbmcgKiBj
b25zdCBfV0tVc2VyQ29udGVudEV4dGVuc2lvbnNEb21haW4gPSBAIldLRXJyb3JEb21haW4iOwog
Ci1zdGF0aWMgTlNFcnJvciAqdG9Vc2VyQ29udGVudFJ1bGVMaXN0U3RvcmVFcnJvcihjb25zdCBO
U0Vycm9yICplcnJvcikKLXsKLSAgICBpZiAoIWVycm9yKQotICAgICAgICByZXR1cm4gbmlsOwot
Ci0gICAgQVNTRVJUKGVycm9yLmRvbWFpbiA9PSBXS0Vycm9yRG9tYWluKTsKLSAgICBzd2l0Y2gg
KGVycm9yLmNvZGUpIHsKLSAgICBjYXNlIFdLRXJyb3JDb250ZW50UnVsZUxpc3RTdG9yZUxvb2tV
cEZhaWxlZDoKLSAgICAgICAgcmV0dXJuIFtOU0Vycm9yIGVycm9yV2l0aERvbWFpbjpfV0tVc2Vy
Q29udGVudEV4dGVuc2lvbnNEb21haW4gY29kZTpfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3Jl
RXJyb3JMb29rdXBGYWlsZWQgdXNlckluZm86ZXJyb3IudXNlckluZm9dOwotICAgIGNhc2UgV0tF
cnJvckNvbnRlbnRSdWxlTGlzdFN0b3JlVmVyc2lvbk1pc21hdGNoOgotICAgICAgICByZXR1cm4g
W05TRXJyb3IgZXJyb3JXaXRoRG9tYWluOl9XS1VzZXJDb250ZW50RXh0ZW5zaW9uc0RvbWFpbiBj
b2RlOl9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVFcnJvclZlcnNpb25NaXNtYXRjaCB1c2Vy
SW5mbzplcnJvci51c2VySW5mb107Ci0gICAgY2FzZSBXS0Vycm9yQ29udGVudFJ1bGVMaXN0U3Rv
cmVDb21waWxlRmFpbGVkOgotICAgICAgICByZXR1cm4gW05TRXJyb3IgZXJyb3JXaXRoRG9tYWlu
Ol9XS1VzZXJDb250ZW50RXh0ZW5zaW9uc0RvbWFpbiBjb2RlOl9XS1VzZXJDb250ZW50RXh0ZW5z
aW9uU3RvcmVFcnJvckNvbXBpbGVGYWlsZWQgdXNlckluZm86ZXJyb3IudXNlckluZm9dOwotICAg
IGNhc2UgV0tFcnJvckNvbnRlbnRSdWxlTGlzdFN0b3JlUmVtb3ZlRmFpbGVkOgotICAgICAgICBy
ZXR1cm4gW05TRXJyb3IgZXJyb3JXaXRoRG9tYWluOl9XS1VzZXJDb250ZW50RXh0ZW5zaW9uc0Rv
bWFpbiBjb2RlOl9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVFcnJvclJlbW92ZUZhaWxlZCB1
c2VySW5mbzplcnJvci51c2VySW5mb107Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgUkVMRUFTRV9B
U1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICB9Ci19Ci0KK0lHTk9SRV9XQVJOSU5HU19CRUdJTigi
ZGVwcmVjYXRlZC1pbXBsZW1lbnRhdGlvbnMiKQogQGltcGxlbWVudGF0aW9uIF9XS1VzZXJDb250
ZW50RXh0ZW5zaW9uU3RvcmUKK0lHTk9SRV9XQVJOSU5HU19FTkQKIAogKyAoaW5zdGFuY2V0eXBl
KWRlZmF1bHRTdG9yZQogewotICAgIHJldHVybiBhZG9wdE5TKFtbX1dLVXNlckNvbnRlbnRFeHRl
bnNpb25TdG9yZSBhbGxvY10gX2luaXRXaXRoV0tDb250ZW50UnVsZUxpc3RTdG9yZTpbV0tDb250
ZW50UnVsZUxpc3RTdG9yZSBkZWZhdWx0U3RvcmVXaXRoTGVnYWN5RmlsZW5hbWVdXSkuYXV0b3Jl
bGVhc2UoKTsKKyAgICByZXR1cm4gbmlsOwogfQogCiArIChpbnN0YW5jZXR5cGUpc3RvcmVXaXRo
VVJMOihOU1VSTCAqKXVybAogewotICAgIHJldHVybiBhZG9wdE5TKFtbX1dLVXNlckNvbnRlbnRF
eHRlbnNpb25TdG9yZSBhbGxvY10gX2luaXRXaXRoV0tDb250ZW50UnVsZUxpc3RTdG9yZTpbV0tD
b250ZW50UnVsZUxpc3RTdG9yZSBzdG9yZVdpdGhVUkxBbmRMZWdhY3lGaWxlbmFtZTp1cmxdXSku
YXV0b3JlbGVhc2UoKTsKKyAgICByZXR1cm4gbmlsOwogfQogCiAtICh2b2lkKWNvbXBpbGVDb250
ZW50RXh0ZW5zaW9uRm9ySWRlbnRpZmllcjooTlNTdHJpbmcgKilpZGVudGlmaWVyIGVuY29kZWRD
b250ZW50RXh0ZW5zaW9uOihOU1N0cmluZyAqKWVuY29kZWRDb250ZW50UnVsZUxpc3QgY29tcGxl
dGlvbkhhbmRsZXI6KHZvaWQgKF4pKF9XS1VzZXJDb250ZW50RmlsdGVyICosIE5TRXJyb3IgKikp
Y29tcGxldGlvbkhhbmRsZXIKIHsKLSAgICBbX2NvbnRlbnRSdWxlTGlzdFN0b3JlIF9jb21waWxl
Q29udGVudFJ1bGVMaXN0Rm9ySWRlbnRpZmllcjppZGVudGlmaWVyIGVuY29kZWRDb250ZW50UnVs
ZUxpc3Q6ZW5jb2RlZENvbnRlbnRSdWxlTGlzdCBjb21wbGV0aW9uSGFuZGxlcjpeKFdLQ29udGVu
dFJ1bGVMaXN0ICpjb250ZW50UnVsZUxpc3QsIE5TRXJyb3IgKmVycm9yKSB7Ci0gICAgICAgIGF1
dG8gY29udGVudEZpbHRlciA9IGNvbnRlbnRSdWxlTGlzdCA/IGFkb3B0TlMoW1tfV0tVc2VyQ29u
dGVudEZpbHRlciBhbGxvY10gX2luaXRXaXRoV0tDb250ZW50UnVsZUxpc3Q6Y29udGVudFJ1bGVM
aXN0XSkgOiBuaWw7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGNvbnRlbnRGaWx0ZXIuZ2V0
KCksIHRvVXNlckNvbnRlbnRSdWxlTGlzdFN0b3JlRXJyb3IoZXJyb3IpKTsKLSAgICB9XTsKKyAg
ICBjb21wbGV0aW9uSGFuZGxlcihuaWwsIGFkb3B0TlMoW1tOU0Vycm9yIGFsbG9jXSBpbml0V2l0
aERvbWFpbjpXS0Vycm9yRG9tYWluIGNvZGU6V0tFcnJvckNvbnRlbnRSdWxlTGlzdFN0b3JlQ29t
cGlsZUZhaWxlZCB1c2VySW5mbzpuaWxdKS5nZXQoKSk7CiB9CiAKIC0gKHZvaWQpbG9va3VwQ29u
dGVudEV4dGVuc2lvbkZvcklkZW50aWZpZXI6KE5TU3RyaW5nICopaWRlbnRpZmllciBjb21wbGV0
aW9uSGFuZGxlcjoodm9pZCAoXikoX1dLVXNlckNvbnRlbnRGaWx0ZXIgKiwgTlNFcnJvciAqKSlj
b21wbGV0aW9uSGFuZGxlcgogewotICAgIFtfY29udGVudFJ1bGVMaXN0U3RvcmUgbG9va1VwQ29u
dGVudFJ1bGVMaXN0Rm9ySWRlbnRpZmllcjppZGVudGlmaWVyIGNvbXBsZXRpb25IYW5kbGVyOl4o
V0tDb250ZW50UnVsZUxpc3QgKmNvbnRlbnRSdWxlTGlzdCwgTlNFcnJvciAqZXJyb3IpIHsKLSAg
ICAgICAgYXV0byBjb250ZW50RmlsdGVyID0gY29udGVudFJ1bGVMaXN0ID8gYWRvcHROUyhbW19X
S1VzZXJDb250ZW50RmlsdGVyIGFsbG9jXSBfaW5pdFdpdGhXS0NvbnRlbnRSdWxlTGlzdDpjb250
ZW50UnVsZUxpc3RdKSA6IG5pbDsKLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoY29udGVudEZp
bHRlci5nZXQoKSwgdG9Vc2VyQ29udGVudFJ1bGVMaXN0U3RvcmVFcnJvcihlcnJvcikpOwotICAg
IH1dOworICAgIGNvbXBsZXRpb25IYW5kbGVyKG5pbCwgYWRvcHROUyhbW05TRXJyb3IgYWxsb2Nd
IGluaXRXaXRoRG9tYWluOldLRXJyb3JEb21haW4gY29kZTpXS0Vycm9yQ29udGVudFJ1bGVMaXN0
U3RvcmVMb29rVXBGYWlsZWQgdXNlckluZm86bmlsXSkuZ2V0KCkpOwogfQogCiAtICh2b2lkKXJl
bW92ZUNvbnRlbnRFeHRlbnNpb25Gb3JJZGVudGlmaWVyOihOU1N0cmluZyAqKWlkZW50aWZpZXIg
Y29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKE5TRXJyb3IgKikpY29tcGxldGlvbkhhbmRsZXIK
IHsKLSAgICBbX2NvbnRlbnRSdWxlTGlzdFN0b3JlIHJlbW92ZUNvbnRlbnRSdWxlTGlzdEZvcklk
ZW50aWZpZXI6aWRlbnRpZmllciBjb21wbGV0aW9uSGFuZGxlcjpeKE5TRXJyb3IgKmVycm9yKSB7
Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHRvVXNlckNvbnRlbnRSdWxlTGlzdFN0b3JlRXJy
b3IoZXJyb3IpKTsKLSAgICB9XTsKLX0KLQotI3ByYWdtYSBtYXJrIFdLT2JqZWN0IHByb3RvY29s
IGltcGxlbWVudGF0aW9uCi0KLS0gKEFQSTo6T2JqZWN0JilfYXBpT2JqZWN0Ci17Ci0gICAgcmV0
dXJuIFtfY29udGVudFJ1bGVMaXN0U3RvcmUgX2FwaU9iamVjdF07Ci19Ci0KLUBlbmQKLQotQGlt
cGxlbWVudGF0aW9uIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgKFdLUHJpdmF0ZSkKLQot
Ly8gRm9yIHRlc3Rpbmcgb25seS4KLQotLSAodm9pZClfcmVtb3ZlQWxsQ29udGVudEV4dGVuc2lv
bnMKLXsKLSAgICBbX2NvbnRlbnRSdWxlTGlzdFN0b3JlIF9yZW1vdmVBbGxDb250ZW50UnVsZUxp
c3RzXTsKLX0KLQotLSAodm9pZClfaW52YWxpZGF0ZUNvbnRlbnRFeHRlbnNpb25WZXJzaW9uRm9y
SWRlbnRpZmllcjooTlNTdHJpbmcgKilpZGVudGlmaWVyCi17Ci0gICAgW19jb250ZW50UnVsZUxp
c3RTdG9yZSBfaW52YWxpZGF0ZUNvbnRlbnRSdWxlTGlzdFZlcnNpb25Gb3JJZGVudGlmaWVyOmlk
ZW50aWZpZXJdOwotfQotCi0tIChpZClfaW5pdFdpdGhXS0NvbnRlbnRSdWxlTGlzdFN0b3JlOihX
S0NvbnRlbnRSdWxlTGlzdFN0b3JlKiljb250ZW50UnVsZUxpc3RTdG9yZQotewotICAgIHNlbGYg
PSBbc3VwZXIgaW5pdF07Ci0gICAgaWYgKCFzZWxmKQotICAgICAgICByZXR1cm4gbmlsOwotICAg
IAotICAgIF9jb250ZW50UnVsZUxpc3RTdG9yZSA9IGNvbnRlbnRSdWxlTGlzdFN0b3JlOwotICAg
IAotICAgIHJldHVybiBzZWxmOwotfQotCi0tIChXS0NvbnRlbnRSdWxlTGlzdFN0b3JlICopX2Nv
bnRlbnRSdWxlTGlzdFN0b3JlCi17Ci0gICAgcmV0dXJuIF9jb250ZW50UnVsZUxpc3RTdG9yZS5n
ZXQoKTsKKyAgICBjb21wbGV0aW9uSGFuZGxlcihhZG9wdE5TKFtbTlNFcnJvciBhbGxvY10gaW5p
dFdpdGhEb21haW46V0tFcnJvckRvbWFpbiBjb2RlOldLRXJyb3JDb250ZW50UnVsZUxpc3RTdG9y
ZVJlbW92ZUZhaWxlZCB1c2VySW5mbzpuaWxdKS5nZXQoKSk7CiB9CiAKIEBlbmQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudEV4dGVu
c2lvblN0b3JlSW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlSW50ZXJuYWwuaApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNmY0ZGZhZTA5MDZjNjA1ODE4Njc1MTUxZDg4NjllZDZjMzZmZDI0NS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZUludGVybmFs
LmgKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAi
X1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZVByaXZhdGUuaCIKLQotI2ltcG9ydCAiQVBJQ29u
dGVudFJ1bGVMaXN0U3RvcmUuaCIKLSNpbXBvcnQgIldLT2JqZWN0LmgiCi0KLUBjbGFzcyBXS0Nv
bnRlbnRSdWxlTGlzdFN0b3JlOwotCi1AaW50ZXJmYWNlIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9u
U3RvcmUgKCkgPFdLT2JqZWN0PiB7Ci1AcGFja2FnZQotICAgIFJldGFpblB0cjxXS0NvbnRlbnRS
dWxlTGlzdFN0b3JlPiBfY29udGVudFJ1bGVMaXN0U3RvcmU7Ci19Ci1AZW5kCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRFeHRlbnNp
b25TdG9yZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tV
c2VyQ29udGVudEV4dGVuc2lvblN0b3JlUHJpdmF0ZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA1NjExOTQwODVkNGI3ZjBlMTNmZGJkYzZmMDcyZWQxZTY5MjYyNGY2Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlUHJpdmF0ZS5oCisr
KyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
LSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgot
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgPFdlYktp
dC9fV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLmg+Ci0KLUBjbGFzcyBXS0NvbnRlbnRSdWxl
TGlzdFN0b3JlOwotCi1AaW50ZXJmYWNlIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgKFdL
UHJpdmF0ZSkKLQotLy8gRm9yIHRlc3Rpbmcgb25seS4KLS0gKHZvaWQpX3JlbW92ZUFsbENvbnRl
bnRFeHRlbnNpb25zOwotLSAodm9pZClfaW52YWxpZGF0ZUNvbnRlbnRFeHRlbnNpb25WZXJzaW9u
Rm9ySWRlbnRpZmllcjooTlNTdHJpbmcgKilpZGVudGlmaWVyOwotCi0tIChpZClfaW5pdFdpdGhX
S0NvbnRlbnRSdWxlTGlzdFN0b3JlOihXS0NvbnRlbnRSdWxlTGlzdFN0b3JlICopY29udGVudFJ1
bGVMaXN0U3RvcmUgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMyksIGlvcygxMS4wKSk7Ci1A
cHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFdLQ29udGVudFJ1bGVMaXN0U3RvcmUgKl9j
b250ZW50UnVsZUxpc3RTdG9yZSBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjE1KSwgaW9zKDEz
LjApKTsKLQotQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS1VzZXJDb250ZW50RmlsdGVyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLVXNlckNvbnRlbnRGaWx0ZXIuaAppbmRleCAxN2I0ZDFkNjkxZTIwNDA3MDA2Yjk5
YjAzMDMyNTllYjk0OWRiNDZjLi42Yzg4ZWE1MWE2OTU2YzA0YWM1NGU2N2IxYmE3ZGNjZDI5YzM4
YzY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNl
ckNvbnRlbnRGaWx0ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLVXNlckNvbnRlbnRGaWx0ZXIuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjaW1wb3J0IDxXZWJL
aXQvV0tGb3VuZGF0aW9uLmg+CiAKLVdLX0NMQVNTX0FWQUlMQUJMRShtYWNvcygxMC4xMSksIGlv
cyg5LjApKQorV0tfQVBJX0RFUFJFQ0FURURfV0lUSF9SRVBMQUNFTUVOVCgiV0tDb250ZW50UnVs
ZUxpc3QiLCBtYWNvcygxMC4xMSwgV0tfTUFDX1RCQSksIGlvcyg5LjAsIFdLX0lPU19UQkEpKQog
QGludGVyZmFjZSBfV0tVc2VyQ29udGVudEZpbHRlciA6IE5TT2JqZWN0CiAKIEBlbmQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudEZp
bHRlci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVu
dEZpbHRlci5tbQppbmRleCBiYjhhMDk0ZTA2NTU0OGY2YWM3YTg2MGZiNzM2ZTZiZjZlOTcxMWNl
Li44YTRiMjczYzBlYmFjYmRlNDVhOGIzMzE2ZTM0N2ZkZjY1ZTkyOWQ4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRGaWx0ZXIubW0K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50Rmls
dGVyLm1tCkBAIC0yNCwzNiArMjQsMTcgQEAKICAqLwogCiAjaW1wb3J0ICJjb25maWcuaCIKLSNp
bXBvcnQgIl9XS1VzZXJDb250ZW50RmlsdGVySW50ZXJuYWwuaCIKKyNpbXBvcnQgIl9XS1VzZXJD
b250ZW50RmlsdGVyLmgiCiAKLSNpbXBvcnQgIldLQ29udGVudFJ1bGVMaXN0SW50ZXJuYWwuaCIK
LSNpbXBvcnQgIldlYkNvbXBpbGVkQ29udGVudFJ1bGVMaXN0LmgiCi0jaW1wb3J0IDxXZWJDb3Jl
L0NvbnRlbnRFeHRlbnNpb25Db21waWxlci5oPgotI2ltcG9ydCA8V2ViQ29yZS9Db250ZW50RXh0
ZW5zaW9uRXJyb3IuaD4KLSNpbXBvcnQgPHN0cmluZz4KK0BjbGFzcyBXS0NvbnRlbnRSdWxlTGlz
dDsKIAorSUdOT1JFX1dBUk5JTkdTX0JFR0lOKCJkZXByZWNhdGVkLWltcGxlbWVudGF0aW9ucyIp
CiBAaW1wbGVtZW50YXRpb24gX1dLVXNlckNvbnRlbnRGaWx0ZXIKK0lHTk9SRV9XQVJOSU5HU19F
TkQKIAotI3ByYWdtYSBtYXJrIFdLT2JqZWN0IHByb3RvY29sIGltcGxlbWVudGF0aW9uCi0KLS0g
KEFQSTo6T2JqZWN0JilfYXBpT2JqZWN0Ci17Ci0gICAgcmV0dXJuIFtfY29udGVudFJ1bGVMaXN0
IF9hcGlPYmplY3RdOwotfQotCi1AZW5kCi0KLUBpbXBsZW1lbnRhdGlvbiBfV0tVc2VyQ29udGVu
dEZpbHRlciAoV0tQcml2YXRlKQotCi0tIChpZClfaW5pdFdpdGhXS0NvbnRlbnRSdWxlTGlzdDoo
V0tDb250ZW50UnVsZUxpc3QqKWNvbnRlbnRSdWxlTGlzdAorLSAoaWQpX2luaXRXaXRoV0tDb250
ZW50UnVsZUxpc3Q6KFdLQ29udGVudFJ1bGVMaXN0ICopY29udGVudFJ1bGVMaXN0CiB7Ci0gICAg
c2VsZiA9IFtzdXBlciBpbml0XTsKLSAgICBpZiAoIXNlbGYpCi0gICAgICAgIHJldHVybiBuaWw7
Ci0gICAgCi0gICAgX2NvbnRlbnRSdWxlTGlzdCA9IGNvbnRlbnRSdWxlTGlzdDsKLSAgICAKLSAg
ICByZXR1cm4gc2VsZjsKKyAgICByZXR1cm4gbmlsOwogfQogCiBAZW5kCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRGaWx0ZXJJbnRl
cm5hbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50
RmlsdGVySW50ZXJuYWwuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjg3ODQwZjA5
YzUyMmZkZTQxNjM0NDI2OTllZjVlYTE2YjUwYzIwYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLVXNlckNvbnRlbnRGaWx0ZXJJbnRlcm5hbC5oCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgIl9XS1VzZXJDb250ZW50RmlsdGVyLmgiCi0KLSNp
bXBvcnQgIkFQSUNvbnRlbnRSdWxlTGlzdC5oIgotI2ltcG9ydCAiV0tPYmplY3QuaCIKLQotQGNs
YXNzIFdLQ29udGVudFJ1bGVMaXN0OwotCi1AaW50ZXJmYWNlIF9XS1VzZXJDb250ZW50RmlsdGVy
ICgpIDxXS09iamVjdD4gewotQHBhY2thZ2UKLSAgICBSZXRhaW5QdHI8V0tDb250ZW50UnVsZUxp
c3Q+IF9jb250ZW50UnVsZUxpc3Q7Ci19Ci1AZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRGaWx0ZXJQcml2YXRlLmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRGaWx0ZXJQcml2YXRl
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI2N2FkNTEwOTEwODAyZDNmN2ZhNzcz
ZGVlMGQwYTYzMWJiMWUwOTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50
RmlsdGVyUHJpdmF0ZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0g
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQot
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNpbXBvcnQgPFdlYktpdC9fV0tVc2VyQ29udGVudEZpbHRlci5oPgotCi1AY2xhc3MgV0tV
c2VyQ29udGVudFJ1bGVMaXN0OwotCi1AaW50ZXJmYWNlIF9XS1VzZXJDb250ZW50RmlsdGVyIChX
S1ByaXZhdGUpCi0KLS0gKGlkKV9pbml0V2l0aFdLQ29udGVudFJ1bGVMaXN0OihXS0NvbnRlbnRS
dWxlTGlzdCopY29udGVudFJ1bGVMaXN0IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTMpLCBp
b3MoMTEuMCkpOwotCi1AZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUG9vbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wu
aAppbmRleCBkMDYwZjJkMGE0YjU3ZmNmNzg2YzAzYzA5ZWU2MzQ4ZDg1Y2M3MTgzLi5kNTA1M2Mx
ZjI3NGU2ZWFhZmQ5ZmU2ODg0YTAxNGRjYTM0NTBmZTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmgKQEAgLTcwNywxMCArNzA3LDYgQEAgcHJpdmF0ZToKICAgICBt
dXRhYmxlIFJldGFpblB0cjxOU1NldD4gbV9jbGFzc2VzRm9yUGFyYW1ldGVyQ29kZXI7CiAjZW5k
aWYKIAotI2lmIEVOQUJMRShDT05URU5UX0VYVEVOU0lPTlMpCi0gICAgSGFzaE1hcDxTdHJpbmcs
IFN0cmluZz4gbV9lbmNvZGVkQ29udGVudEV4dGVuc2lvbnM7Ci0jZW5kaWYKLQogI2lmIEVOQUJM
RShHQU1FUEFEKQogICAgIEhhc2hTZXQ8V2ViUHJvY2Vzc1Byb3h5Kj4gbV9wcm9jZXNzZXNVc2lu
Z0dhbWVwYWRzOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCAwY2U2ZmM3MDEzNmY1ODEyNDMwOTE0N2NmMTFmM2ZlZTY2Mzdi
MDgwLi5lMmJkMzVjN2RlODBmNTlkYTUxNmJkN2E1OTkyMjY3OTJhZTU4MmUxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyNzYsNyAr
MTI3Niw2IEBACiAJCTVDQkM5QjhFMUM2NTJDQTAwMEE4RkRDRiAvKiBOZXR3b3JrRGF0YVRhc2su
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQkM5Qjg5
MUM2NTI0QTUwMEE4RkRDRiAvKiBOZXR3b3JrRGF0YVRhc2suaCAqLzsgfTsKIAkJNUNCRDU5NUMy
MjgwRURGNDAwMkIyMkFBIC8qIF9XS0N1c3RvbUhlYWRlckZpZWxkcy5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDNUQyMzg4MjI3QTE4OTIwMDBCOUJE
QSAvKiBfV0tDdXN0b21IZWFkZXJGaWVsZHMubW0gKi87IH07CiAJCTVDRDI4NjUxMUU3MjM1OTkw
MDk0RkRDOCAvKiBXS0NvbnRlbnRSdWxlTGlzdFN0b3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0QyODY0RDFFNzIyRjQ0MDA5NEZEQzggLyogV0tD
b250ZW50UnVsZUxpc3RTdG9yZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1Ymxp
YywgKTsgfTsgfTsKLQkJNUNEMjg2NTMxRTcyMzVBQTAwOTRGREM4IC8qIF9XS1VzZXJDb250ZW50
RmlsdGVyUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNUNEMjg2NDkxRTcyMkY0NDAwOTRGREM4IC8qIF9XS1VzZXJDb250ZW50RmlsdGVyUHJp
dmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTVDRDI4NjU0MUU3MjM1QjEwMDk0RkRDOCAvKiBXS0NvbnRlbnRSdWxlTGlzdC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNEMjg2NEExRTcyMkY0NDAw
OTRGREM4IC8qIFdLQ29udGVudFJ1bGVMaXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHVibGljLCApOyB9OyB9OwogCQk1Q0QyODY1NTFFNzIzNUI4MDA5NEZEQzggLyogV0tDb250
ZW50UnVsZUxpc3RJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNUNEMjg2NEMxRTcyMkY0NDAwOTRGREM4IC8qIFdLQ29udGVudFJ1bGVMaXN0
SW50ZXJuYWwuaCAqLzsgfTsKIAkJNUNEMjg2NTcxRTcyMzVDOTAwOTRGREM4IC8qIFdLQ29udGVu
dFJ1bGVMaXN0U3RvcmVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNUNEMjg2NEYxRTcyMkY0NDAwOTRGREM4IC8qIFdLQ29udGVudFJ1bGVM
aXN0U3RvcmVJbnRlcm5hbC5oICovOyB9OwpAQCAtMTM0OCw3ICsxMzQ3LDYgQEAKIAkJN0MxMzVB
QTkxNzNCMEJDQTAwNTg2QUUyIC8qIFdLUGx1Z2luSW5mb3JtYXRpb24uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDMTM1QUE3MTczQjBCQ0EwMDU4NkFF
MiAvKiBXS1BsdWdpbkluZm9ybWF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0MxQkEzM0UxQTRBMEU2MDAwNDNFMjQ5IC8qIEFQSURpY3Rp
b25hcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdD
MUJBMzNDMUE0QTBFNjAwMDQzRTI0OSAvKiBBUElEaWN0aW9uYXJ5LmggKi87IH07CiAJCTdDMjQx
MzAzMUFBQ0ZBNzUwMEE1OEMxNSAvKiBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzI0MTMwMTFBQUNG
QTc1MDBBNThDMTUgLyogX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTdDMjQxMzA1MUFBQ0ZBOUMw
MEE1OEMxNSAvKiBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlSW50ZXJuYWwuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDMjQxMzA0MUFBQ0ZBOUMw
MEE1OEMxNSAvKiBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlSW50ZXJuYWwuaCAqLzsgfTsK
IAkJN0MyNDEzMDkxQUFDRkNCNDAwQTU4QzE1IC8qIFdLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9y
ZVJlZi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0My
NDEzMDcxQUFDRkNCNDAwQTU4QzE1IC8qIFdLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZVJlZi5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdDMzYx
RDczMTkyN0ZBMzYwMDM2QTU5RCAvKiBXZWJTY3JpcHRNZXNzYWdlSGFuZGxlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MzNjFENzAxOTI3RkEzNjAw
MzZBNTlEIC8qIFdlYlNjcmlwdE1lc3NhZ2VIYW5kbGVyLmggKi87IH07CiAJCTdDMzYxRDc4MTky
ODAzQkQwMDM2QTU5RCAvKiBXZWJVc2VyQ29udGVudENvbnRyb2xsZXJQcm94eU1lc3NhZ2VSZWNl
aXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
QzM2MUQ3NjE5MjgwM0JEMDAzNkE1OUQgLyogV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHlN
ZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwpAQCAtMTM3MSwxMiArMTM2OSwxMCBAQAogCQk3Qzg5
RDJCNDFBNkIwNjhDMDAzQTVGREUgLyogQVBJQ29udGVudFJ1bGVMaXN0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Qzg5RDJCMjFBNkIwNjhDMDAzQTVG
REUgLyogQVBJQ29udGVudFJ1bGVMaXN0LmggKi87IH07CiAJCTdDODlEMkI2MUE2QjBERDkwMDNB
NUZERSAvKiBXS1VzZXJDb250ZW50Q29udHJvbGxlclByaXZhdGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDODlEMkI1MUE2QjBERDkwMDNBNUZERSAv
KiBXS1VzZXJDb250ZW50Q29udHJvbGxlclByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3Qzg5RDJCQTFBNkIwRjJDMDAzQTVGREUgLyog
X1dLVXNlckNvbnRlbnRGaWx0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDdDODlEMkI4MUE2QjBGMkMwMDNBNUZERSAvKiBfV0tVc2VyQ29udGVudEZp
bHRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0J
CTdDODlEMkJDMUE2QjBGNUIwMDNBNUZERSAvKiBfV0tVc2VyQ29udGVudEZpbHRlckludGVybmFs
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Qzg5RDJC
QjFBNkIwRjVCMDAzQTVGREUgLyogX1dLVXNlckNvbnRlbnRGaWx0ZXJJbnRlcm5hbC5oICovOyB9
OwogCQk3Qzg5RDJENzFBNkM2QkU2MDAzQTVGREUgLyogX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0
aW9uSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDdDODlEMkQ2MUE2QzZCRTYwMDNBNUZERSAvKiBfV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRp
b25JbnRlcm5hbC5oICovOyB9OwogCQk3QzhFQjExNzE4REI2QTE5MDA3OTE3QzIgLyogV0tQcmVm
ZXJlbmNlc1ByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDdDOEVCMTE2MThEQjZBMTkwMDc5MTdDMiAvKiBXS1ByZWZlcmVuY2VzUHJpdmF0ZS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdDOUQx
NTM3MTg0NTg0REEwMDlEMzkxOCAvKiBXS0Jyb3dzaW5nQ29udGV4dEdyb3VwSW50ZXJuYWwuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDOUQxNTM2MTg0
NTg0REEwMDlEMzkxOCAvKiBXS0Jyb3dzaW5nQ29udGV4dEdyb3VwSW50ZXJuYWwuaCAqLzsgfTsK
IAkJN0NBMjU0RUIxODI5OTNDRTAwRkM4QTQxIC8qIFdLQnJvd3NpbmdDb250ZXh0UG9saWN5RGVs
ZWdhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdD
QTI1NEVBMTgyOTkzQ0UwMEZDOEE0MSAvKiBXS0Jyb3dzaW5nQ29udGV4dFBvbGljeURlbGVnYXRl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJN0NB
Mzc5M0UxQUMzNzhCMzAwNzlEQzM3IC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVQcml2
YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0Ez
NzkzRDFBQzM3OEIzMDA3OURDMzcgLyogX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZVByaXZh
dGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3
Q0IxMDBGMTFGQTM4NThBMDAxNzI5RUUgLyogV2ViUHJlZmVyZW5jZXNLZXlzLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDQjEwMEVFMUZBMkQ3NEEw
MDE3MjlFRSAvKiBXZWJQcmVmZXJlbmNlc0tleXMuY3BwICovOyB9OwogCQk3Q0IxMDBGMjFGQTM4
NThFMDAxNzI5RUUgLyogV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NERTczQTMxRjlEQUI2NTAwMzkwMzEy
IC8qIFdlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaCAqLzsgfTsKIAkJN0NCMTAwRjMxRkEzODU4
RTAwMTcyOUVFIC8qIFdlYlByZWZlcmVuY2VzS2V5cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NCMTAwRUYxRkEyRDc0QjAwMTcyOUVFIC8qIFdlYlBy
ZWZlcmVuY2VzS2V5cy5oICovOyB9OwpAQCAtNDQ5Miw3ICs0NDg4LDYgQEAKIAkJNUNCQzlCODkx
QzY1MjRBNTAwQThGRENGIC8qIE5ldHdvcmtEYXRhVGFzay5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBOZXR3b3JrRGF0YVRhc2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNUNCQzlCOEIxQzY1MjU3MzAwQThGRENGIC8qIE5ldHdvcmtEYXRhVGFza0NvY29hLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTmV0d29ya0RhdGFUYXNr
Q29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVDQzVEQjkxMjE0ODhFMTYw
MDZDQjhBOCAvKiBTaGFyZWRCdWZmZXJDb3B5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFNoYXJlZEJ1ZmZlckNvcHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
NUNEMjg2NDkxRTcyMkY0NDAwOTRGREM4IC8qIF9XS1VzZXJDb250ZW50RmlsdGVyUHJpdmF0ZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tVc2VyQ29udGVudEZpbHRlclBy
aXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNEMjg2NEExRTcyMkY0NDAw
OTRGREM4IC8qIFdLQ29udGVudFJ1bGVMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdLQ29udGVudFJ1bGVMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTVDRDI4NjRCMUU3MjJGNDQwMDk0RkRDOCAvKiBXS0NvbnRlbnRSdWxlTGlzdC5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLQ29udGVudFJ1bGVMaXN0Lm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0QyODY0QzFFNzIyRjQ0MDA5NEZEQzggLyog
V0tDb250ZW50UnVsZUxpc3RJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXS0NvbnRlbnRSdWxlTGlzdEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC00NjM0LDcgKzQ2MjksNiBAQAogCQk3QzFCQTMzQzFBNEEwRTYwMDA0M0UyNDkgLyog
QVBJRGljdGlvbmFyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBUElEaWN0
aW9uYXJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDMjQxMzAwMUFBQ0ZBNzUw
MEE1OEMxNSAvKiBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZS5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0MyNDEzMDExQUFDRkE3NTAwQTU4QzE1
IC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQk3QzI0MTMwNDFBQUNGQTlDMDBBNThDMTUgLyogX1dLVXNlckNvbnRl
bnRFeHRlbnNpb25TdG9yZUludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3QzI0MTMwNjFBQUNGQ0I0MDBBNThDMTUgLyogV0tVc2VyQ29udGVu
dEV4dGVuc2lvblN0b3JlUmVmLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFdLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZVJlZi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTdDMjQxMzA3MUFBQ0ZDQjQwMEE1OEMxNSAvKiBXS1VzZXJDb250ZW50RXh0
ZW5zaW9uU3RvcmVSZWYuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tVc2Vy
Q29udGVudEV4dGVuc2lvblN0b3JlUmVmLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTdDMzYxRDZGMTkyN0ZBMzYwMDM2QTU5RCAvKiBXZWJTY3JpcHRNZXNzYWdlSGFuZGxlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJTY3JpcHRNZXNzYWdlSGFu
ZGxlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00NjgwLDEyICs0Njc0LDEw
IEBACiAJCTdDODlEMkI1MUE2QjBERDkwMDNBNUZERSAvKiBXS1VzZXJDb250ZW50Q29udHJvbGxl
clByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tVc2VyQ29udGVu
dENvbnRyb2xsZXJQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDODlE
MkI3MUE2QjBGMkMwMDNBNUZERSAvKiBfV0tVc2VyQ29udGVudEZpbHRlci5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IF9XS1VzZXJDb250ZW50RmlsdGVyLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3Qzg5RDJCODFBNkIwRjJDMDAzQTVGREUgLyog
X1dLVXNlckNvbnRlbnRGaWx0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
X1dLVXNlckNvbnRlbnRGaWx0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJN0M4
OUQyQkIxQTZCMEY1QjAwM0E1RkRFIC8qIF9XS1VzZXJDb250ZW50RmlsdGVySW50ZXJuYWwuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLVXNlckNvbnRlbnRGaWx0ZXJJbnRl
cm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3Qzg5RDJENjFBNkM2QkU2MDAz
QTVGREUgLyogX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uSW50ZXJuYWwuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uSW50ZXJu
YWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M4RUIxMTYxOERCNkExOTAwNzkx
N0MyIC8qIFdLUHJlZmVyZW5jZXNQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdLUHJlZmVyZW5jZXNQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTdDOUQxNTM2MTg0NTg0REEwMDlEMzkxOCAvKiBXS0Jyb3dzaW5nQ29udGV4dEdyb3VwSW50
ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tCcm93c2luZ0NvbnRl
eHRHcm91cEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDQTI1NEVB
MTgyOTkzQ0UwMEZDOEE0MSAvKiBXS0Jyb3dzaW5nQ29udGV4dFBvbGljeURlbGVnYXRlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQnJvd3NpbmdDb250ZXh0UG9saWN5RGVs
ZWdhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJN0NBMzc5M0QxQUMzNzhCMzAw
NzlEQzM3IC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVQcml2YXRlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVQcml2
YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDQjEwMEVFMUZBMkQ3NEEwMDE3
MjlFRSAvKiBXZWJQcmVmZXJlbmNlc0tleXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViUHJl
ZmVyZW5jZXNLZXlzLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUHJlZmVy
ZW5jZXNLZXlzLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJN0NC
MTAwRUYxRkEyRDc0QjAwMTcyOUVFIC8qIFdlYlByZWZlcmVuY2VzS2V5cy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBXZWJQcmVmZXJlbmNlc0tleXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIv
V2ViUHJlZmVyZW5jZXNLZXlzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07
CiAJCTdDQjEwMEYwMUZBMkQ3ODQwMDE3MjlFRSAvKiBXZWJQcmVmZXJlbmNlc1N0b3JlRGVmYXVs
dHNNYXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViUHJlZmVyZW5jZXNTdG9yZURlZmF1bHRz
TWFwLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUHJlZmVyZW5jZXNTdG9y
ZURlZmF1bHRzTWFwLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKQEAg
LTgwMDgsMTIgKzgwMDAsOCBAQAogCQkJCTJEQUNFNjREMThBREJGRjAwMEU0Q0E3NiAvKiBfV0tU
aHVtYm5haWxWaWV3SW50ZXJuYWwuaCAqLywKIAkJCQk3QzI0MTMwMTFBQUNGQTc1MDBBNThDMTUg
LyogX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZS5oICovLAogCQkJCTdDMjQxMzAwMUFBQ0ZB
NzUwMEE1OEMxNSAvKiBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLm1tICovLAotCQkJCTdD
MjQxMzA0MUFBQ0ZBOUMwMEE1OEMxNSAvKiBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlSW50
ZXJuYWwuaCAqLywKLQkJCQk3Q0EzNzkzRDFBQzM3OEIzMDA3OURDMzcgLyogX1dLVXNlckNvbnRl
bnRFeHRlbnNpb25TdG9yZVByaXZhdGUuaCAqLywKIAkJCQk3Qzg5RDJCODFBNkIwRjJDMDAzQTVG
REUgLyogX1dLVXNlckNvbnRlbnRGaWx0ZXIuaCAqLywKIAkJCQk3Qzg5RDJCNzFBNkIwRjJDMDAz
QTVGREUgLyogX1dLVXNlckNvbnRlbnRGaWx0ZXIubW0gKi8sCi0JCQkJN0M4OUQyQkIxQTZCMEY1
QjAwM0E1RkRFIC8qIF9XS1VzZXJDb250ZW50RmlsdGVySW50ZXJuYWwuaCAqLywKLQkJCQk1Q0Qy
ODY0OTFFNzIyRjQ0MDA5NEZEQzggLyogX1dLVXNlckNvbnRlbnRGaWx0ZXJQcml2YXRlLmggKi8s
CiAJCQkJN0M4ODJERjMxQzdFOTk1RTAwNkJGNzMxIC8qIF9XS1VzZXJDb250ZW50V29ybGQuaCAq
LywKIAkJCQk3Qzg4MkRGNDFDN0U5OTVFMDA2QkY3MzEgLyogX1dLVXNlckNvbnRlbnRXb3JsZC5t
bSAqLywKIAkJCQk3Qzg4MkRGNTFDN0U5OTVFMDA2QkY3MzEgLyogX1dLVXNlckNvbnRlbnRXb3Js
ZEludGVybmFsLmggKi8sCkBAIC0xMTY2OCwxMSArMTE2NTYsNyBAQAogCQkJCTJEQUNFNjRFMThB
REJGRjAwMEU0Q0E3NiAvKiBfV0tUaHVtYm5haWxWaWV3SW50ZXJuYWwuaCBpbiBIZWFkZXJzICov
LAogCQkJCTk5RTcxODlDMjFGNzlEOUUwMDU1RTk3NSAvKiBfV0tUb3VjaEV2ZW50R2VuZXJhdG9y
LmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzI0MTMwMzFBQUNGQTc1MDBBNThDMTUgLyogX1dLVXNl
ckNvbnRlbnRFeHRlbnNpb25TdG9yZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJN0MyNDEzMDUxQUFD
RkE5QzAwQTU4QzE1IC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVJbnRlcm5hbC5oIGlu
IEhlYWRlcnMgKi8sCi0JCQkJN0NBMzc5M0UxQUMzNzhCMzAwNzlEQzM3IC8qIF9XS1VzZXJDb250
ZW50RXh0ZW5zaW9uU3RvcmVQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3Qzg5RDJCQTFB
NkIwRjJDMDAzQTVGREUgLyogX1dLVXNlckNvbnRlbnRGaWx0ZXIuaCBpbiBIZWFkZXJzICovLAot
CQkJCTdDODlEMkJDMUE2QjBGNUIwMDNBNUZERSAvKiBfV0tVc2VyQ29udGVudEZpbHRlckludGVy
bmFsLmggaW4gSGVhZGVycyAqLywKLQkJCQk1Q0QyODY1MzFFNzIzNUFBMDA5NEZEQzggLyogX1dL
VXNlckNvbnRlbnRGaWx0ZXJQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3Qzg4MkRGNzFD
N0U5OTY1MDA2QkY3MzEgLyogX1dLVXNlckNvbnRlbnRXb3JsZC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJN0M4ODJERjkxQzdFOTk2RjAwNkJGNzMxIC8qIF9XS1VzZXJDb250ZW50V29ybGRJbnRlcm5h
bC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0NCMzY1QUExRDMxREI3MDAwNzE1OENBIC8qIF9XS1Vz
ZXJJbml0aWF0ZWRBY3Rpb24uaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDdjNjAyOGZiY2EzZDg0ZTdmYzI1Y2QxMmVj
NDFkNmZjYTgxNDgxZDguLmRlY2YwYTM3MjljYjA0OGViODFjNTk4NGU0NjUxNDMxY2JkYTQxMTcg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNCBAQAorMjAyMS0wNC0wOSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3
ZWJraXQub3JnPgorCisgICAgICAgIERlcHJlY2F0ZSBhbmQgcmVtb3ZlIG1vc3Qgb2YgX1dLVXNl
ckNvbnRlbnRGaWx0ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyNDM5MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogTWluaUJyb3dzZXIvbWFjL0V4dGVuc2lvbk1hbmFnZXJXaW5kb3dDb250cm9sbGVy
Lm06CisgICAgICAgICgtW0V4dGVuc2lvbk1hbmFnZXJXaW5kb3dDb250cm9sbGVyIGluaXRdKToK
KyAgICAgICAgKC1bRXh0ZW5zaW9uTWFuYWdlcldpbmRvd0NvbnRyb2xsZXIgYWRkOl0pOgorICAg
ICAgICAoLVtFeHRlbnNpb25NYW5hZ2VyV2luZG93Q29udHJvbGxlciByZW1vdmU6XSk6CisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJzaXRlUG9s
aWNpZXMubW06CisgICAgICAgIChURVNUKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUubW06IFJlbW92ZWQuCisg
ICAgICAgIFRoZXNlIHRlc3RzIGhhZCBhbHJlYWR5IGJlZW4gY29waWVkIHRvIGEgdmVyc2lvbiB0
aGF0IHVzZXMgV0tDb250ZW50UnVsZUxpc3QuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9j
b2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxl
cjo6cmVzZXRDb250ZW50RXh0ZW5zaW9ucyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9t
YWMvVGVzdENvbnRyb2xsZXJNYWMubW06CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpj
b25maWd1cmVDb250ZW50RXh0ZW5zaW9uRm9yVGVzdCk6CisKIDIwMjEtMDQtMDkgIEFkaXR5YSBL
ZWVydGhpICA8YWtlZXJ0aGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdW0ZDUl0gVXNlIGNv
bnRleHQgbWVudXMgZm9yIHRleHQgaW5wdXQgZGF0YWxpc3QgZHJvcGRvd25zCmRpZmYgLS1naXQg
YS9Ub29scy9NaW5pQnJvd3Nlci9tYWMvRXh0ZW5zaW9uTWFuYWdlcldpbmRvd0NvbnRyb2xsZXIu
bSBiL1Rvb2xzL01pbmlCcm93c2VyL21hYy9FeHRlbnNpb25NYW5hZ2VyV2luZG93Q29udHJvbGxl
ci5tCmluZGV4IDBlNDczMGU1YjE0ODdlMzdjYmU3ZGNkNTk5YjcxM2U0ZjU1ODRhNzEuLjA4YzUw
ZGYzNGUzM2Y0NzJjNWZhYjE4ZDIwMjU4ZGExMzY1MWIxZWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01p
bmlCcm93c2VyL21hYy9FeHRlbnNpb25NYW5hZ2VyV2luZG93Q29udHJvbGxlci5tCisrKyBiL1Rv
b2xzL01pbmlCcm93c2VyL21hYy9FeHRlbnNpb25NYW5hZ2VyV2luZG93Q29udHJvbGxlci5tCkBA
IC0yNyw3ICsyNyw2IEBACiAKICNpbXBvcnQgIkFwcERlbGVnYXRlLmgiCiAjaW1wb3J0IDxXZWJL
aXQvV0tVc2VyQ29udGVudENvbnRyb2xsZXJQcml2YXRlLmg+Ci0jaW1wb3J0IDxXZWJLaXQvX1dL
VXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZS5oPgogCiBAaW1wbGVtZW50YXRpb24gRXh0ZW5zaW9u
TWFuYWdlcldpbmRvd0NvbnRyb2xsZXIKIApAQCAtMzgsNyArMzcsNyBAQCAtIChpbnN0YW5jZXR5
cGUpaW5pdAogICAgICAgICBOU0FycmF5KiBpbnN0YWxsZWRDb250ZW50RXh0ZW5zaW9ucyA9IFtb
TlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIGFycmF5Rm9yS2V5OkAiSW5zdGFs
bGVkQ29udGVudEV4dGVuc2lvbnMiXTsKICAgICAgICAgaWYgKGluc3RhbGxlZENvbnRlbnRFeHRl
bnNpb25zKSB7CiAgICAgICAgICAgICBmb3IgKE5TU3RyaW5nICppZGVudGlmaWVyIGluIGluc3Rh
bGxlZENvbnRlbnRFeHRlbnNpb25zKSB7Ci0gICAgICAgICAgICAgICAgW1tfV0tVc2VyQ29udGVu
dEV4dGVuc2lvblN0b3JlIGRlZmF1bHRTdG9yZV0gbG9va3VwQ29udGVudEV4dGVuc2lvbkZvcklk
ZW50aWZpZXI6aWRlbnRpZmllciBjb21wbGV0aW9uSGFuZGxlcjpeKF9XS1VzZXJDb250ZW50Rmls
dGVyICpleHRlbnNpb24sIE5TRXJyb3IgKmVycm9yKQorICAgICAgICAgICAgICAgIFtbV0tDb250
ZW50UnVsZUxpc3RTdG9yZSBkZWZhdWx0U3RvcmVdIGxvb2tVcENvbnRlbnRSdWxlTGlzdEZvcklk
ZW50aWZpZXI6aWRlbnRpZmllciBjb21wbGV0aW9uSGFuZGxlcjpeKFdLQ29udGVudFJ1bGVMaXN0
ICpsaXN0LCBOU0Vycm9yICplcnJvcikKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAgICAgIGlmIChlcnJvcikgewogICAgICAgICAgICAgICAgICAgICAgICAgTlNMb2coQCJFeHRl
bnNpb24gc3RvcmUgZ290IG91dCBvZiBzeW5jIHdpdGggc3lzdGVtIGRlZmF1bHRzLiIpOwpAQCAt
NDYsNyArNDUsNyBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdAogICAgICAgICAgICAgICAgICAgICB9
CiAKICAgICAgICAgICAgICAgICAgICAgQnJvd3NlckFwcERlbGVnYXRlKiBhcHBEZWxlZ2F0ZSA9
IFtbTlNBcHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0gYnJvd3NlckFwcERlbGVnYXRlXTsK
LSAgICAgICAgICAgICAgICAgICAgW2FwcERlbGVnYXRlLnVzZXJDb250ZW50Q29udG9sbGVyIF9h
ZGRVc2VyQ29udGVudEZpbHRlcjpleHRlbnNpb25dOworICAgICAgICAgICAgICAgICAgICBbYXBw
RGVsZWdhdGUudXNlckNvbnRlbnRDb250b2xsZXIgYWRkQ29udGVudFJ1bGVMaXN0Omxpc3RdOwog
ICAgICAgICAgICAgICAgIH1dOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIApAQCAt
ODMsNyArODIsNyBAQCAtIChJQkFjdGlvbilhZGQ6KGlkKXNlbmRlcgogICAgICAgICBOU1N0cmlu
ZyAqaWRlbnRpZmllciA9IHVybC5sYXN0UGF0aENvbXBvbmVudDsKICAgICAgICAgTlNTdHJpbmcg
Kmpzb25TdHJpbmcgPSBbW05TU3RyaW5nIGFsbG9jXSBpbml0V2l0aENvbnRlbnRzT2ZVUkw6dXJs
IGVuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nIGVycm9yOm5pbF07CiAKLSAgICAgICAgW1tf
V0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlIGRlZmF1bHRTdG9yZV0gY29tcGlsZUNvbnRlbnRF
eHRlbnNpb25Gb3JJZGVudGlmaWVyOmlkZW50aWZpZXIgZW5jb2RlZENvbnRlbnRFeHRlbnNpb246
anNvblN0cmluZyBjb21wbGV0aW9uSGFuZGxlcjpeKF9XS1VzZXJDb250ZW50RmlsdGVyICpleHRl
bnNpb24sIE5TRXJyb3IgKmVycm9yKQorICAgICAgICBbW1dLQ29udGVudFJ1bGVMaXN0U3RvcmUg
ZGVmYXVsdFN0b3JlXSBjb21waWxlQ29udGVudFJ1bGVMaXN0Rm9ySWRlbnRpZmllcjppZGVudGlm
aWVyIGVuY29kZWRDb250ZW50UnVsZUxpc3Q6anNvblN0cmluZyBjb21wbGV0aW9uSGFuZGxlcjpe
KFdLQ29udGVudFJ1bGVMaXN0ICpsaXN0LCBOU0Vycm9yICplcnJvcikKICAgICAgICAgewogICAg
ICAgICAgICAgCiAgICAgICAgICAgICBpZiAoZXJyb3IpIHsKQEAgLTEwOCw3ICsxMDcsNyBAQCAt
IChJQkFjdGlvbilhZGQ6KGlkKXNlbmRlcgogICAgICAgICAgICAgW2FycmF5Q29udHJvbGxlciBh
ZGRPYmplY3Q6aWRlbnRpZmllcl07CiAKICAgICAgICAgICAgIEJyb3dzZXJBcHBEZWxlZ2F0ZSog
YXBwRGVsZWdhdGUgPSBbW05TQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dIGJyb3dzZXJB
cHBEZWxlZ2F0ZV07Ci0gICAgICAgICAgICBbYXBwRGVsZWdhdGUudXNlckNvbnRlbnRDb250b2xs
ZXIgX2FkZFVzZXJDb250ZW50RmlsdGVyOmV4dGVuc2lvbl07CisgICAgICAgICAgICBbYXBwRGVs
ZWdhdGUudXNlckNvbnRlbnRDb250b2xsZXIgYWRkQ29udGVudFJ1bGVMaXN0Omxpc3RdOwogICAg
ICAgICB9XTsKICAgICB9XTsKIApAQCAtMTIwLDcgKzExOSw3IEBAIC0gKElCQWN0aW9uKXJlbW92
ZTooaWQpc2VuZGVyCiAKICAgICBOU1N0cmluZyAqaWRlbnRpZmllclRvUmVtb3ZlID0gYXJyYXlD
b250cm9sbGVyLmFycmFuZ2VkT2JqZWN0c1tpbmRleF07CiAKLSAgICBbW19XS1VzZXJDb250ZW50
RXh0ZW5zaW9uU3RvcmUgZGVmYXVsdFN0b3JlXSByZW1vdmVDb250ZW50RXh0ZW5zaW9uRm9ySWRl
bnRpZmllcjppZGVudGlmaWVyVG9SZW1vdmUgY29tcGxldGlvbkhhbmRsZXI6XihOU0Vycm9yICpl
cnJvcikKKyAgICBbW1dLQ29udGVudFJ1bGVMaXN0U3RvcmUgZGVmYXVsdFN0b3JlXSByZW1vdmVD
b250ZW50UnVsZUxpc3RGb3JJZGVudGlmaWVyOmlkZW50aWZpZXJUb1JlbW92ZSBjb21wbGV0aW9u
SGFuZGxlcjpeKE5TRXJyb3IgKmVycm9yKQogICAgIHsKICAgICAgICAgaWYgKGVycm9yKSB7CiAg
ICAgICAgICAgICBOU0FsZXJ0ICphbGVydCA9IFtOU0FsZXJ0IGFsZXJ0V2l0aEVycm9yOmVycm9y
XTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMGY0OWUwM2ZlNTk2NmYxYmI0NjcyYjdhNjg3
Y2JiZGExODFmOWEzYS4uMDRmN2Q3NzBhNzdlMDY3ZTUyOGYxNDM1MzAxMWFlZDM1ZDkyYWNmMCAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTc5OSw3ICs3OTksNiBAQAogCQk3Q0Q0QzI2RTFF
MkMwRTZFMDA5Mjk0NzAgLyogU3RyaW5nQ29uY2F0ZW5hdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NENEMyNkMxRTJDMEU2RTAwOTI5NDcwIC8q
IFN0cmluZ0NvbmNhdGVuYXRlLmNwcCAqLzsgfTsKIAkJN0NENzBDNEYyNEE0MzZFRTAwRTYxMDQw
IC8qIFN0cmluZ1BhcnNpbmdCdWZmZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0NENzBDNEUyNEE0MzZFRTAwRTYxMDQwIC8qIFN0cmluZ1BhcnNp
bmdCdWZmZXIuY3BwICovOyB9OwogCQk3Q0VCNjJBQjIyMzYwOURFMDA2OUNCQjAgLyogSXRlcmF0
b3JSYW5nZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3Q0VCNjJBOTIyMzYwODZDMDA2OUNCQjAgLyogSXRlcmF0b3JSYW5nZS5jcHAgKi87IH07Ci0J
CTdDRUZBOTY2MUFDMEI5RTIwMEI5MTBGRCAvKiBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3Jl
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NFRkE5
NjQxQUMwQjlFMjAwQjkxMEZEIC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUubW0gKi87
IH07CiAJCTdDRkJDQUU1MTc0MzIzOEYwMEIyQkZDRiAvKiBXaWxsTG9hZF9CdW5kbGUuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NGQkNBRTMxNzQz
MjM4RTAwQjJCRkNGIC8qIFdpbGxMb2FkX0J1bmRsZS5jcHAgKi87IH07CiAJCTgzMEYyRTBDMjA5
QTZBOEUwMEQzNkZGMSAvKiBXZWJDb250ZW50UHJvY2Vzc0RpZFRlcm1pbmF0ZS5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzMEYyRTBCMjA5QTZBNzQw
MEQzNkZGMSAvKiBXZWJDb250ZW50UHJvY2Vzc0RpZFRlcm1pbmF0ZS5tbSAqLzsgfTsKIAkJODMx
NDhCMDYyMDJBQzZBNDAwQkFERTk5IC8qIEluamVjdGVkQnVuZGxlRGlzYWJsZU92ZXJyaWRlQnVp
bHRpbnNCZWhhdmlvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4MzE0OEIwNTIwMkFDNjgyMDBCQURFOTkgLyogSW5qZWN0ZWRCdW5kbGVEaXNhYmxl
T3ZlcnJpZGVCdWlsdGluc0JlaGF2aW9yLmNwcCAqLzsgfTsKQEAgLTI0NjAsNyArMjQ1OSw2IEBA
CiAJCTdDRDRDMjZDMUUyQzBFNkUwMDkyOTQ3MCAvKiBTdHJpbmdDb25jYXRlbmF0ZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHJpbmdDb25jYXRlbmF0ZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDRDcwQzRFMjRBNDM2RUUwMEU2MTA0MCAv
KiBTdHJpbmdQYXJzaW5nQnVmZmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0cmluZ1BhcnNp
bmdCdWZmZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3Q0VCNjJBOTIyMzYw
ODZDMDA2OUNCQjAgLyogSXRlcmF0b3JSYW5nZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJdGVy
YXRvclJhbmdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJN0NFRkE5NjQxQUMw
QjlFMjAwQjkxMEZEIC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0
b3JlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3Q0ZCQ0FERDE3NDMyMzRGMDBC
MkJGQ0YgLyogV2lsbExvYWQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV2lsbExvYWQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3Q0ZCQ0FFMzE3
NDMyMzhFMDBCMkJGQ0YgLyogV2lsbExvYWRfQnVuZGxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdpbGxMb2FkX0J1bmRsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTgxQjUwMTkyMTQwRjIzMjMwMEQ5RUI1OCAvKiBTdHJpbmdCdWlsZGVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0cmluZ0J1aWxkZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzMxMyw3ICszMzExLDYgQEAKIAkJCWNo
aWxkcmVuID0gKAogCQkJCUExNkY2NkI4MUM0MEU5RTEwMEJENEQyNCAvKiBSZXNvdXJjZXMgKi8s
CiAJCQkJNUNFQUI1REYxRkE5MzdDQjAwQTc3RkFBIC8qIF9XS0lucHV0RGVsZWdhdGUubW0gKi8s
Ci0JCQkJN0NFRkE5NjQxQUMwQjlFMjAwQjkxMEZEIC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9u
U3RvcmUubW0gKi8sCiAJCQkJNTdDNjI0NEQyMzQ2QkNGQTAwMzgzRkU3IC8qIF9XS1dlYkF1dGhl
bnRpY2F0aW9uUGFuZWwubW0gKi8sCiAJCQkJMDc0NjY0NTgyMkZGNjMwNTAwRTM0NTFBIC8qIEFj
Y2Vzc2liaWxpdHlUZXN0UGx1Z2luLm1tICovLAogCQkJCTA3NDY2NDU3MjJGRjYyRDAwMEUzNDUx
QSAvKiBBY2Nlc3NpYmlsaXR5VGVzdFN1cHBvcnRQcm90b2NvbC5oICovLApAQCAtNTIyMSw3ICs1
MjE4LDYgQEAKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgK
IAkJCQk1Q0VBQjVFMTFGQTkzOUY0MDBBNzdGQUEgLyogX1dLSW5wdXREZWxlZ2F0ZS5tbSBpbiBT
b3VyY2VzICovLAotCQkJCTdDRUZBOTY2MUFDMEI5RTIwMEI5MTBGRCAvKiBfV0tVc2VyQ29udGVu
dEV4dGVuc2lvblN0b3JlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTdDNjI0NEUyMzQ2QkNGQTAw
MzgzRkU3IC8qIF9XS1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwubW0gaW4gU291cmNlcyAqLywKIAkJ
CQk3Q0NFN0VFNDFBNDExQUU2MDA0NDdDNEMgLyogQWJvdXRCbGFua0xvYWQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJN0NDRTdFQjMxQTQxMUE3RTAwNDQ3QzRDIC8qIEFjY2VwdHNGaXJzdE1vdXNl
Lm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL1dlYnNpdGVQb2xpY2llcy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvV2Vic2l0ZVBvbGljaWVzLm1tCmluZGV4IGJlZjI0Mjg4YWUwZWZmZWEx
NDQ2YThmY2ExYWE4YjhlNzI3NmJkNTYuLmVlMTZlYmU3NzgxZjM4ZGI3MGY3YWRhNDQzNDAyYTMy
NmQ0ODhjODEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvV2Vic2l0ZVBvbGljaWVzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvV2Vic2l0ZVBvbGljaWVzLm1tCkBAIC0yOSw2ICsyOSw3IEBACiAjaW1wb3J0ICJU
ZXN0TmF2aWdhdGlvbkRlbGVnYXRlLmgiCiAjaW1wb3J0ICJUZXN0VUlEZWxlZ2F0ZS5oIgogI2lt
cG9ydCAiVGVzdFdLV2ViVmlldy5oIgorI2ltcG9ydCA8V2ViS2l0L1dLQ29udGVudFJ1bGVMaXN0
U3RvcmVQcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tNdXRhYmxlRGljdGlvbmFyeS5oPgog
I2ltcG9ydCA8V2ViS2l0L1dLTmF2aWdhdGlvbkRlbGVnYXRlUHJpdmF0ZS5oPgogI2ltcG9ydCA8
V2ViS2l0L1dLUGFnZVByaXZhdGUuaD4KQEAgLTQzLDcgKzQ0LDYgQEAKICNpbXBvcnQgPFdlYktp
dC9XS1dlYnNpdGVEYXRhU3RvcmVQcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tXZWJzaXRl
UG9saWNpZXMuaD4KICNpbXBvcnQgPFdlYktpdC9fV0tDdXN0b21IZWFkZXJGaWVsZHMuaD4KLSNp
bXBvcnQgPFdlYktpdC9fV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlUHJpdmF0ZS5oPgogI2lt
cG9ydCA8V2ViS2l0L19XS1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmg+CiAjaW1wb3J0
IDx3dGYvRnVuY3Rpb24uaD4KICNpbXBvcnQgPHd0Zi9IYXNoTWFwLmg+CkBAIC0xMzcsMTUgKzEz
NywxNSBAQCBzdGF0aWMgc2l6ZV90IGFsZXJ0Q291bnQ7CiAKIFRFU1QoV2VicGFnZVByZWZlcmVu
Y2VzLCBXZWJzaXRlUG9saWNpZXNDb250ZW50QmxvY2tlcnNFbmFibGVkKQogewotICAgIFtbX1dL
VXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZSBkZWZhdWx0U3RvcmVdIF9yZW1vdmVBbGxDb250ZW50
RXh0ZW5zaW9uc107CisgICAgW1tXS0NvbnRlbnRSdWxlTGlzdFN0b3JlIGRlZmF1bHRTdG9yZV0g
X3JlbW92ZUFsbENvbnRlbnRSdWxlTGlzdHNdOwogCiAgICAgYXV0byBjb25maWd1cmF0aW9uID0g
YWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKIAogICAgIGRv
bmVDb21waWxpbmcgPSBmYWxzZTsKICAgICBOU1N0cmluZyogY29udGVudEJsb2NrZXIgPSBAIlt7
XCJhY3Rpb25cIjp7XCJ0eXBlXCI6XCJjc3MtZGlzcGxheS1ub25lXCIsXCJzZWxlY3RvclwiOlwi
LmhpZGRlblwifSxcInRyaWdnZXJcIjp7XCJ1cmwtZmlsdGVyXCI6XCIuKlwifX1dIjsKLSAgICBb
W19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgZGVmYXVsdFN0b3JlXSBjb21waWxlQ29udGVu
dEV4dGVuc2lvbkZvcklkZW50aWZpZXI6QCJXZWJzaXRlUG9saWNpZXNUZXN0IiBlbmNvZGVkQ29u
dGVudEV4dGVuc2lvbjpjb250ZW50QmxvY2tlciBjb21wbGV0aW9uSGFuZGxlcjpeKF9XS1VzZXJD
b250ZW50RmlsdGVyICpmaWx0ZXIsIE5TRXJyb3IgKmVycm9yKSB7CisgICAgW1tXS0NvbnRlbnRS
dWxlTGlzdFN0b3JlIGRlZmF1bHRTdG9yZV0gY29tcGlsZUNvbnRlbnRSdWxlTGlzdEZvcklkZW50
aWZpZXI6QCJXZWJzaXRlUG9saWNpZXNUZXN0IiBlbmNvZGVkQ29udGVudFJ1bGVMaXN0OmNvbnRl
bnRCbG9ja2VyIGNvbXBsZXRpb25IYW5kbGVyOl4oV0tDb250ZW50UnVsZUxpc3QgKmxpc3QsIE5T
RXJyb3IgKmVycm9yKSB7CiAgICAgICAgIEVYUEVDVF9UUlVFKGVycm9yID09IG5pbCk7Ci0gICAg
ICAgIFtbY29uZmlndXJhdGlvbiB1c2VyQ29udGVudENvbnRyb2xsZXJdIF9hZGRVc2VyQ29udGVu
dEZpbHRlcjpmaWx0ZXJdOworICAgICAgICBbW2NvbmZpZ3VyYXRpb24gdXNlckNvbnRlbnRDb250
cm9sbGVyXSBhZGRDb250ZW50UnVsZUxpc3Q6bGlzdF07CiAgICAgICAgIGRvbmVDb21waWxpbmcg
PSB0cnVlOwogICAgIH1dOwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZUNvbXBp
bGluZyk7CkBAIC0xNzAsNyArMTcwLDcgQEAgVEVTVChXZWJwYWdlUHJlZmVyZW5jZXMsIFdlYnNp
dGVQb2xpY2llc0NvbnRlbnRCbG9ja2Vyc0VuYWJsZWQpCiAgICAgW3dlYlZpZXcgX3JlbG9hZFdp
dGhvdXRDb250ZW50QmxvY2tlcnNdOwogICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmcmVj
ZWl2ZWRBbGVydCk7CiAKLSAgICBbW19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgZGVmYXVs
dFN0b3JlXSBfcmVtb3ZlQWxsQ29udGVudEV4dGVuc2lvbnNdOworICAgIFtbV0tDb250ZW50UnVs
ZUxpc3RTdG9yZSBkZWZhdWx0U3RvcmVdIF9yZW1vdmVBbGxDb250ZW50UnVsZUxpc3RzXTsKIH0K
IAogQGludGVyZmFjZSBBdXRvcGxheVBvbGljaWVzRGVsZWdhdGUgOiBUZXN0TmF2aWdhdGlvbkRl
bGVnYXRlIDxXS05hdmlnYXRpb25EZWxlZ2F0ZSwgV0tVSURlbGVnYXRlUHJpdmF0ZT4KZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLVXNlckNvbnRl
bnRFeHRlbnNpb25TdG9yZS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZS5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggOTgyMjhkM2M0ZWNkODMzYWM3YjY5YWRlZGRlNDhkYjg4ZTVkZTVjNy4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUubW0KKysr
IC9kZXYvbnVsbApAQCAtMSwxODIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
LSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgot
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgImNvbmZp
Zy5oIgotI2ltcG9ydCA8V2ViS2l0L1dLRm91bmRhdGlvbi5oPgotCi0jaW1wb3J0ICJQbGF0Zm9y
bVV0aWxpdGllcy5oIgotI2ltcG9ydCAiVGVzdC5oIgotI2ltcG9ydCA8V2ViS2l0L19XS1VzZXJD
b250ZW50RXh0ZW5zaW9uU3RvcmVQcml2YXRlLmg+Ci0jaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+
Ci0KLWNsYXNzIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVUZXN0IDogcHVibGljIHRlc3Rp
bmc6OlRlc3QgewotcHVibGljOgotICAgIHZpcnR1YWwgdm9pZCBTZXRVcCgpCi0gICAgewotICAg
ICAgICBbW19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgZGVmYXVsdFN0b3JlXSBfcmVtb3Zl
QWxsQ29udGVudEV4dGVuc2lvbnNdOwotICAgIH0KLX07Ci0KLXN0YXRpYyBOU1N0cmluZyAqYmFz
aWNGaWx0ZXIgPSBAIlt7XCJhY3Rpb25cIjp7XCJ0eXBlXCI6XCJibG9ja1wifSxcInRyaWdnZXJc
Ijp7XCJ1cmwtZmlsdGVyXCI6XCIuKndlYmtpdC5vcmdcIn19XSI7Ci0KLVRFU1RfRihfV0tVc2Vy
Q29udGVudEV4dGVuc2lvblN0b3JlVGVzdCwgQ29tcGlsZSkKLXsKLSAgICBfX2Jsb2NrIGJvb2wg
ZG9uZUNvbXBpbGluZyA9IGZhbHNlOwotICAgIFtbX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9y
ZSBkZWZhdWx0U3RvcmVdIGNvbXBpbGVDb250ZW50RXh0ZW5zaW9uRm9ySWRlbnRpZmllcjpAIlRl
c3RFeHRlbnNpb24iIGVuY29kZWRDb250ZW50RXh0ZW5zaW9uOmJhc2ljRmlsdGVyIGNvbXBsZXRp
b25IYW5kbGVyOl4oX1dLVXNlckNvbnRlbnRGaWx0ZXIgKmZpbHRlciwgTlNFcnJvciAqZXJyb3Ip
IHsKLSAgICAKLSAgICAgICAgRVhQRUNUX05PVF9OVUxMKGZpbHRlcik7Ci0gICAgICAgIEVYUEVD
VF9OVUxMKGVycm9yKTsKLQotICAgICAgICBkb25lQ29tcGlsaW5nID0gdHJ1ZTsKLSAgICB9XTsK
LSAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmVDb21waWxpbmcpOwotfQotCi1zdGF0
aWMgTlNTdHJpbmcgKmludmFsaWRGaWx0ZXIgPSBAIlsiOwotCi1zdGF0aWMgdm9pZCBjaGVja0Rv
bWFpbihOU0Vycm9yICplcnJvcikKLXsKLSAgICBFWFBFQ1RfU1RSRVEoW1tlcnJvciBkb21haW5d
IFVURjhTdHJpbmddLCBbX1dLVXNlckNvbnRlbnRFeHRlbnNpb25zRG9tYWluIFVURjhTdHJpbmdd
KTsKLX0KLQotVEVTVF9GKF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVUZXN0LCBJbnZhbGlk
RXh0ZW5zaW9uKQotewotICAgIF9fYmxvY2sgYm9vbCBkb25lQ29tcGlsaW5nID0gZmFsc2U7Ci0g
ICAgW1tfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlIGRlZmF1bHRTdG9yZV0gY29tcGlsZUNv
bnRlbnRFeHRlbnNpb25Gb3JJZGVudGlmaWVyOkAiVGVzdEV4dGVuc2lvbiIgZW5jb2RlZENvbnRl
bnRFeHRlbnNpb246aW52YWxpZEZpbHRlciBjb21wbGV0aW9uSGFuZGxlcjpeKF9XS1VzZXJDb250
ZW50RmlsdGVyICpmaWx0ZXIsIE5TRXJyb3IgKmVycm9yKSB7Ci0gICAgCi0gICAgICAgIEVYUEVD
VF9OVUxMKGZpbHRlcik7Ci0gICAgICAgIEVYUEVDVF9OT1RfTlVMTChlcnJvcik7Ci0gICAgICAg
IGNoZWNrRG9tYWluKGVycm9yKTsKLSAgICAgICAgRVhQRUNUX0VRKGVycm9yLmNvZGUsIF9XS1Vz
ZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVFcnJvckNvbXBpbGVGYWlsZWQpOwotICAgICAgICBFWFBF
Q1RfU1RSRVEoIlJ1bGUgbGlzdCBjb21waWxhdGlvbiBmYWlsZWQ6IEZhaWxlZCB0byBwYXJzZSB0
aGUgSlNPTiBTdHJpbmcuIiwgW1tlcnJvciBoZWxwQW5jaG9yXSBVVEY4U3RyaW5nXSk7Ci0KLSAg
ICAgICAgZG9uZUNvbXBpbGluZyA9IHRydWU7Ci0gICAgfV07Ci0gICAgVGVzdFdlYktpdEFQSTo6
VXRpbDo6cnVuKCZkb25lQ29tcGlsaW5nKTsKLX0KLQotVEVTVF9GKF9XS1VzZXJDb250ZW50RXh0
ZW5zaW9uU3RvcmVUZXN0LCBMb29rdXApCi17Ci0gICAgX19ibG9jayBib29sIGRvbmVDb21waWxp
bmcgPSBmYWxzZTsKLSAgICBbW19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgZGVmYXVsdFN0
b3JlXSBjb21waWxlQ29udGVudEV4dGVuc2lvbkZvcklkZW50aWZpZXI6QCJUZXN0RXh0ZW5zaW9u
IiBlbmNvZGVkQ29udGVudEV4dGVuc2lvbjpiYXNpY0ZpbHRlciBjb21wbGV0aW9uSGFuZGxlcjpe
KF9XS1VzZXJDb250ZW50RmlsdGVyICpmaWx0ZXIsIE5TRXJyb3IgKmVycm9yKSB7Ci0gICAgCi0g
ICAgICAgIEVYUEVDVF9OT1RfTlVMTChmaWx0ZXIpOwotICAgICAgICBFWFBFQ1RfTlVMTChlcnJv
cik7Ci0KLSAgICAgICAgZG9uZUNvbXBpbGluZyA9IHRydWU7Ci0gICAgfV07Ci0gICAgVGVzdFdl
YktpdEFQSTo6VXRpbDo6cnVuKCZkb25lQ29tcGlsaW5nKTsKLQotICAgIF9fYmxvY2sgYm9vbCBk
b25lTG9va2luZ1VwID0gZmFsc2U7Ci0gICAgW1tfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3Jl
IGRlZmF1bHRTdG9yZV0gbG9va3VwQ29udGVudEV4dGVuc2lvbkZvcklkZW50aWZpZXI6QCJUZXN0
RXh0ZW5zaW9uIiBjb21wbGV0aW9uSGFuZGxlcjpeKF9XS1VzZXJDb250ZW50RmlsdGVyICpmaWx0
ZXIsIE5TRXJyb3IgKmVycm9yKSB7Ci0gICAgCi0gICAgICAgIEVYUEVDVF9OT1RfTlVMTChmaWx0
ZXIpOwotICAgICAgICBFWFBFQ1RfTlVMTChlcnJvcik7Ci0KLSAgICAgICAgZG9uZUxvb2tpbmdV
cCA9IHRydWU7Ci0gICAgfV07Ci0gICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lTG9v
a2luZ1VwKTsKLX0KLQotVEVTVF9GKF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVUZXN0LCBO
b25FeGlzdGluZ0lkZW50aWZpZXJMb29rdXApCi17Ci0gICAgX19ibG9jayBib29sIGRvbmVMb29r
aW5nVXAgPSBmYWxzZTsKLSAgICBbW19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgZGVmYXVs
dFN0b3JlXSBsb29rdXBDb250ZW50RXh0ZW5zaW9uRm9ySWRlbnRpZmllcjpAIkRvZXNOb3RFeGlz
dCIgY29tcGxldGlvbkhhbmRsZXI6XihfV0tVc2VyQ29udGVudEZpbHRlciAqZmlsdGVyLCBOU0Vy
cm9yICplcnJvcikgewotICAgIAotICAgICAgICBFWFBFQ1RfTlVMTChmaWx0ZXIpOwotICAgICAg
ICBFWFBFQ1RfTk9UX05VTEwoZXJyb3IpOwotICAgICAgICBjaGVja0RvbWFpbihlcnJvcik7Ci0g
ICAgICAgIEVYUEVDVF9FUShlcnJvci5jb2RlLCBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3Jl
RXJyb3JMb29rdXBGYWlsZWQpOwotICAgICAgICBFWFBFQ1RfU1RSRVEoIlJ1bGUgbGlzdCBsb29r
dXAgZmFpbGVkOiBVbnNwZWNpZmllZCBlcnJvciBkdXJpbmcgbG9va3VwLiIsIFtbZXJyb3IgaGVs
cEFuY2hvcl0gVVRGOFN0cmluZ10pOwotICAgICAgICAKLSAgICAgICAgZG9uZUxvb2tpbmdVcCA9
IHRydWU7Ci0gICAgfV07Ci0gICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lTG9va2lu
Z1VwKTsKLX0KLQotVEVTVF9GKF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVUZXN0LCBWZXJz
aW9uTWlzbWF0Y2gpCi17Ci0gICAgX19ibG9jayBib29sIGRvbmVDb21waWxpbmcgPSBmYWxzZTsK
LSAgICBbW19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgZGVmYXVsdFN0b3JlXSBjb21waWxl
Q29udGVudEV4dGVuc2lvbkZvcklkZW50aWZpZXI6QCJUZXN0RXh0ZW5zaW9uIiBlbmNvZGVkQ29u
dGVudEV4dGVuc2lvbjpiYXNpY0ZpbHRlciBjb21wbGV0aW9uSGFuZGxlcjpeKF9XS1VzZXJDb250
ZW50RmlsdGVyICpmaWx0ZXIsIE5TRXJyb3IgKmVycm9yKQotICAgIHsKLSAgICAgICAgCi0gICAg
ICAgIEVYUEVDVF9OT1RfTlVMTChmaWx0ZXIpOwotICAgICAgICBFWFBFQ1RfTlVMTChlcnJvcik7
Ci0gICAgICAgIAotICAgICAgICBkb25lQ29tcGlsaW5nID0gdHJ1ZTsKLSAgICB9XTsKLSAgICBU
ZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmVDb21waWxpbmcpOwotCi0gICAgW1tfV0tVc2Vy
Q29udGVudEV4dGVuc2lvblN0b3JlIGRlZmF1bHRTdG9yZV0gX2ludmFsaWRhdGVDb250ZW50RXh0
ZW5zaW9uVmVyc2lvbkZvcklkZW50aWZpZXI6QCJUZXN0RXh0ZW5zaW9uIl07Ci0gICAgCi0gICAg
X19ibG9jayBib29sIGRvbmVMb29raW5nVXAgPSBmYWxzZTsKLSAgICBbW19XS1VzZXJDb250ZW50
RXh0ZW5zaW9uU3RvcmUgZGVmYXVsdFN0b3JlXSBsb29rdXBDb250ZW50RXh0ZW5zaW9uRm9ySWRl
bnRpZmllcjpAIlRlc3RFeHRlbnNpb24iIGNvbXBsZXRpb25IYW5kbGVyOl4oX1dLVXNlckNvbnRl
bnRGaWx0ZXIgKmZpbHRlciwgTlNFcnJvciAqZXJyb3IpCi0gICAgewotICAgICAgICAKLSAgICAg
ICAgRVhQRUNUX05VTEwoZmlsdGVyKTsKLSAgICAgICAgRVhQRUNUX05PVF9OVUxMKGVycm9yKTsK
LSAgICAgICAgY2hlY2tEb21haW4oZXJyb3IpOwotICAgICAgICBFWFBFQ1RfRVEoZXJyb3IuY29k
ZSwgX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZUVycm9yVmVyc2lvbk1pc21hdGNoKTsKLSAg
ICAgICAgRVhQRUNUX1NUUkVRKCJSdWxlIGxpc3QgbG9va3VwIGZhaWxlZDogVmVyc2lvbiBvZiBm
aWxlIGRvZXMgbm90IG1hdGNoIHZlcnNpb24gb2YgaW50ZXJwcmV0ZXIuIiwgW1tlcnJvciBoZWxw
QW5jaG9yXSBVVEY4U3RyaW5nXSk7Ci0gICAgICAgIAotICAgICAgICBkb25lTG9va2luZ1VwID0g
dHJ1ZTsKLSAgICB9XTsKLSAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmVMb29raW5n
VXApOwotfQotCi1URVNUX0YoX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZVRlc3QsIFJlbW92
YWwpCi17Ci0gICAgX19ibG9jayBib29sIGRvbmVDb21waWxpbmcgPSBmYWxzZTsKLSAgICBbW19X
S1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgZGVmYXVsdFN0b3JlXSBjb21waWxlQ29udGVudEV4
dGVuc2lvbkZvcklkZW50aWZpZXI6QCJUZXN0RXh0ZW5zaW9uIiBlbmNvZGVkQ29udGVudEV4dGVu
c2lvbjpiYXNpY0ZpbHRlciBjb21wbGV0aW9uSGFuZGxlcjpeKF9XS1VzZXJDb250ZW50RmlsdGVy
ICpmaWx0ZXIsIE5TRXJyb3IgKmVycm9yKSB7Ci0gICAgCi0gICAgICAgIEVYUEVDVF9OT1RfTlVM
TChmaWx0ZXIpOwotICAgICAgICBFWFBFQ1RfTlVMTChlcnJvcik7Ci0KLSAgICAgICAgZG9uZUNv
bXBpbGluZyA9IHRydWU7Ci0gICAgfV07Ci0gICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZk
b25lQ29tcGlsaW5nKTsKLQotICAgIF9fYmxvY2sgYm9vbCBkb25lUmVtb3ZpbmcgPSBmYWxzZTsK
LSAgICBbW19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgZGVmYXVsdFN0b3JlXSByZW1vdmVD
b250ZW50RXh0ZW5zaW9uRm9ySWRlbnRpZmllcjpAIlRlc3RFeHRlbnNpb24iIGNvbXBsZXRpb25I
YW5kbGVyOl4oTlNFcnJvciAqZXJyb3IpIHsKLSAgICAgICAgRVhQRUNUX05VTEwoZXJyb3IpOwot
Ci0gICAgICAgIGRvbmVSZW1vdmluZyA9IHRydWU7Ci0gICAgfV07Ci0gICAgVGVzdFdlYktpdEFQ
STo6VXRpbDo6cnVuKCZkb25lUmVtb3ZpbmcpOwotfQotCi1URVNUX0YoX1dLVXNlckNvbnRlbnRF
eHRlbnNpb25TdG9yZVRlc3QsIE5vbkV4aXN0aW5nSWRlbnRpZmllclJlbW92ZSkKLXsKLSAgICBf
X2Jsb2NrIGJvb2wgZG9uZVJlbW92aW5nID0gZmFsc2U7Ci0gICAgW1tfV0tVc2VyQ29udGVudEV4
dGVuc2lvblN0b3JlIGRlZmF1bHRTdG9yZV0gcmVtb3ZlQ29udGVudEV4dGVuc2lvbkZvcklkZW50
aWZpZXI6QCJEb2VzTm90RXhpc3QiIGNvbXBsZXRpb25IYW5kbGVyOl4oTlNFcnJvciAqZXJyb3Ip
IHsKLSAgICAgICAgRVhQRUNUX05PVF9OVUxMKGVycm9yKTsKLSAgICAgICAgY2hlY2tEb21haW4o
ZXJyb3IpOwotICAgICAgICBFWFBFQ1RfRVEoZXJyb3IuY29kZSwgX1dLVXNlckNvbnRlbnRFeHRl
bnNpb25TdG9yZUVycm9yUmVtb3ZlRmFpbGVkKTsKLSAgICAgICAgRVhQRUNUX1NUUkVRKCJSdWxl
IGxpc3QgcmVtb3ZhbCBmYWlsZWQ6IFVuc3BlY2lmaWVkIGVycm9yIGR1cmluZyByZW1vdmUuIiwg
W1tlcnJvciBoZWxwQW5jaG9yXSBVVEY4U3RyaW5nXSk7Ci0KLSAgICAgICAgZG9uZVJlbW92aW5n
ID0gdHJ1ZTsKLSAgICB9XTsKLSAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmVSZW1v
dmluZyk7Ci19CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RD
b250cm9sbGVyQ29jb2EubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250
cm9sbGVyQ29jb2EubW0KaW5kZXggMDYyOGM4OGYxMDdhMTNlNDM2YjZlZGNiZTA2NWJkNTdmZGM5
MmNhZi4uNjI0NDQ0YWYwOTU5YTdkNjE3Nzc4ODQ5MGZlMDg1ODdlNGU2MDIyMSAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tCisr
KyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbQpA
QCAtMzUsNiArMzUsNyBAQAogI2ltcG9ydCAiV2ViQ29yZVRlc3RTdXBwb3J0LmgiCiAjaW1wb3J0
IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KICNpbXBvcnQgPFNlY3VyaXR5L1NlY0l0ZW0uaD4K
KyNpbXBvcnQgPFdlYktpdC9XS0NvbnRlbnRSdWxlTGlzdFN0b3JlUHJpdmF0ZS5oPgogI2ltcG9y
dCA8V2ViS2l0L1dLQ29udGV4dENvbmZpZ3VyYXRpb25SZWYuaD4KICNpbXBvcnQgPFdlYktpdC9X
S0NvbnRleHRQcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tQcmVmZXJlbmNlc1JlZlByaXZh
dGUuaD4KQEAgLTUwLDggKzUxLDYgQEAKICNpbXBvcnQgPFdlYktpdC9XS1dlYnNpdGVEYXRhU3Rv
cmVQcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tXZWJzaXRlRGF0YVN0b3JlUmVmLmg+CiAj
aW1wb3J0IDxXZWJLaXQvX1dLQXBwbGljYXRpb25NYW5pZmVzdC5oPgotI2ltcG9ydCA8V2ViS2l0
L19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUuaD4KLSNpbXBvcnQgPFdlYktpdC9fV0tVc2Vy
Q29udGVudEV4dGVuc2lvblN0b3JlUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L19XS1dlYnNp
dGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmg+CiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgog
I2ltcG9ydCA8d3RmL2NvY29hL1ZlY3RvckNvY29hLmg+CkBAIC0yNjIsMTEgKzI2MSwxMiBAQCB2
b2lkIFRlc3RDb250cm9sbGVyOjpzZXREZWZhdWx0Q2FsZW5kYXJUeXBlKE5TU3RyaW5nICppZGVu
dGlmaWVyLCBOU1N0cmluZyAqbG9jYQogdm9pZCBUZXN0Q29udHJvbGxlcjo6cmVzZXRDb250ZW50
RXh0ZW5zaW9ucygpCiB7CiAgICAgX19ibG9jayBib29sIGRvbmVSZW1vdmluZyA9IGZhbHNlOwot
ICAgIFtbX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZSBkZWZhdWx0U3RvcmVdIHJlbW92ZUNv
bnRlbnRFeHRlbnNpb25Gb3JJZGVudGlmaWVyOkAiVGVzdENvbnRlbnRFeHRlbnNpb25zIiBjb21w
bGV0aW9uSGFuZGxlcjpeKE5TRXJyb3IgKmVycm9yKSB7CisgICAgLy8gRklYTUU6IFRoaXMgZG9l
cyBub3QgbWF0Y2ggdGhlIHN0b3JlIHVzZWQgaW4gVGVzdENvbnRyb2xsZXI6OmNvbmZpZ3VyZUNv
bnRlbnRFeHRlbnNpb25Gb3JUZXN0LiBJdCBwcm9iYWJseSBzaG91bGQuCisgICAgW1tXS0NvbnRl
bnRSdWxlTGlzdFN0b3JlIGRlZmF1bHRTdG9yZV0gcmVtb3ZlQ29udGVudFJ1bGVMaXN0Rm9ySWRl
bnRpZmllcjpAIlRlc3RDb250ZW50RXh0ZW5zaW9ucyIgY29tcGxldGlvbkhhbmRsZXI6XihOU0Vy
cm9yICplcnJvcikgewogICAgICAgICBkb25lUmVtb3ZpbmcgPSB0cnVlOwogICAgIH1dOwogICAg
IHBsYXRmb3JtUnVuVW50aWwoZG9uZVJlbW92aW5nLCBub1RpbWVvdXQpOwotICAgIFtbX1dLVXNl
ckNvbnRlbnRFeHRlbnNpb25TdG9yZSBkZWZhdWx0U3RvcmVdIF9yZW1vdmVBbGxDb250ZW50RXh0
ZW5zaW9uc107CisgICAgW1tXS0NvbnRlbnRSdWxlTGlzdFN0b3JlIGRlZmF1bHRTdG9yZV0gX3Jl
bW92ZUFsbENvbnRlbnRSdWxlTGlzdHNdOwogCiAgICAgaWYgKGF1dG8qIHdlYlZpZXcgPSBtYWlu
V2ViVmlldygpKSB7CiAgICAgICAgIFRlc3RSdW5uZXJXS1dlYlZpZXcgKnBsYXRmb3JtVmlldyA9
IHdlYlZpZXctPnBsYXRmb3JtVmlldygpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9tYWMvVGVzdENvbnRyb2xsZXJNYWMubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21h
Yy9UZXN0Q29udHJvbGxlck1hYy5tbQppbmRleCA5MzA0NDcxY2I1MTY2YTU0OTJkYWMzNDFkNzAy
MzEwMmEzZmRkZjU5Li4wMmI0YThhMWNmNmU3ODQzZGY1ZGM0YTNhZjU5ZGYzMzNlNjFhMGEyIDEw
MDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9UZXN0Q29udHJvbGxlck1hYy5t
bQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9UZXN0Q29udHJvbGxlck1hYy5tbQpA
QCAtNDIsOCArNDIsNiBAQAogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld0NvbmZpZ3VyYXRpb24u
aD4KICNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oPgogI2lt
cG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KLSNpbXBvcnQgPFdlYktpdC9fV0tVc2Vy
Q29udGVudEV4dGVuc2lvblN0b3JlLmg+Ci0jaW1wb3J0IDxXZWJLaXQvX1dLVXNlckNvbnRlbnRF
eHRlbnNpb25TdG9yZVByaXZhdGUuaD4KICNpbXBvcnQgPG1hY2gtby9keWxkLmg+CiAKIEBpbnRl
cmZhY2UgTlNTb3VuZCAoKQpAQCAtMjEwLDEwICsyMDgsMTAgQEAgdm9pZCBUZXN0Q29udHJvbGxl
cjo6Y29uZmlndXJlQ29udGVudEV4dGVuc2lvbkZvclRlc3QoY29uc3QgVGVzdEludm9jYXRpb24m
IHRlc3QKICAgICB9IGVsc2UKICAgICAgICAgdGVtcERpciA9IFtOU1VSTCBmaWxlVVJMV2l0aFBh
dGg6W05TVGVtcG9yYXJ5RGlyZWN0b3J5KCkgc3RyaW5nQnlBcHBlbmRpbmdQYXRoQ29tcG9uZW50
OkAiQ29udGVudEV4dGVuc2lvbnMiXSBpc0RpcmVjdG9yeTpZRVNdOwogCi0gICAgW1tfV0tVc2Vy
Q29udGVudEV4dGVuc2lvblN0b3JlIHN0b3JlV2l0aFVSTDp0ZW1wRGlyXSBjb21waWxlQ29udGVu
dEV4dGVuc2lvbkZvcklkZW50aWZpZXI6QCJUZXN0Q29udGVudEV4dGVuc2lvbnMiIGVuY29kZWRD
b250ZW50RXh0ZW5zaW9uOmNvbnRlbnRFeHRlbnNpb25TdHJpbmcuZ2V0KCkgY29tcGxldGlvbkhh
bmRsZXI6XihfV0tVc2VyQ29udGVudEZpbHRlciAqZmlsdGVyLCBOU0Vycm9yICplcnJvcikKKyAg
ICBbW1dLQ29udGVudFJ1bGVMaXN0U3RvcmUgc3RvcmVXaXRoVVJMOnRlbXBEaXJdIGNvbXBpbGVD
b250ZW50UnVsZUxpc3RGb3JJZGVudGlmaWVyOkAiVGVzdENvbnRlbnRFeHRlbnNpb25zIiBlbmNv
ZGVkQ29udGVudFJ1bGVMaXN0OmNvbnRlbnRFeHRlbnNpb25TdHJpbmcuZ2V0KCkgY29tcGxldGlv
bkhhbmRsZXI6XihXS0NvbnRlbnRSdWxlTGlzdCAqbGlzdCwgTlNFcnJvciAqZXJyb3IpCiAgICAg
ewogICAgICAgICBpZiAoIWVycm9yKQotICAgICAgICAgICAgW21haW5XZWJWaWV3KCktPnBsYXRm
b3JtVmlldygpLmNvbmZpZ3VyYXRpb24udXNlckNvbnRlbnRDb250cm9sbGVyIF9hZGRVc2VyQ29u
dGVudEZpbHRlcjpmaWx0ZXJdOworICAgICAgICAgICAgW21haW5XZWJWaWV3KCktPnBsYXRmb3Jt
VmlldygpLmNvbmZpZ3VyYXRpb24udXNlckNvbnRlbnRDb250cm9sbGVyIGFkZENvbnRlbnRSdWxl
TGlzdDpsaXN0XTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgTlNMb2coQCIlQCIsIFtlcnJv
ciBoZWxwQW5jaG9yXSk7CiAgICAgICAgIGRvbmVDb21waWxpbmcgPSB0cnVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428858</attachid>
            <date>2021-05-17 13:25:08 -0700</date>
            <delta_ts>2021-05-17 16:39:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224391-20210517132507.patch</filename>
            <type>text/plain</type>
            <size>65649</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3NTk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDBkZGMyMTE0OTZhMGUxMDA5
YjYwOWY3MTFjNjVlMjk0MjU2NzIyYzkuLjlhNTJjYzU4M2RjYzlmNTU1NzM3MjZmMjIzNDFjZjc4
MjNhNzlhNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMjEtMDUtMTcgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZW1vdmUgX1dL
VXNlckNvbnRlbnRGaWx0ZXIgYW5kIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDM5MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIEkgcmVtb3ZlZCB0aGVpciB1
c2UgaW4gcmRhcjovLzc1ODg5NDE0CisgICAgICAgIFRoZXkgd2VyZSByZXBsYWNlZCBieSBXS0Nv
bnRlbnRSdWxlTGlzdCBhbmQgV0tDb250ZW50UnVsZUxpc3RTdG9yZS4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyQ29udGVudENvbnRyb2xsZXIubW06CisgICAgICAgICgt
W1dLVXNlckNvbnRlbnRDb250cm9sbGVyIF9hZGRVc2VyQ29udGVudEZpbHRlcjpdKToKKyAgICAg
ICAgKC1bV0tVc2VyQ29udGVudENvbnRyb2xsZXIgX3JlbW92ZUFsbFVzZXJDb250ZW50RmlsdGVy
c10pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyQ29udGVudENvbnRyb2xs
ZXJQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVu
dEV4dGVuc2lvblN0b3JlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2Vy
Q29udGVudEV4dGVuc2lvblN0b3JlLm1tOgorICAgICAgICAoK1tfV0tVc2VyQ29udGVudEV4dGVu
c2lvblN0b3JlIGRlZmF1bHRTdG9yZV0pOgorICAgICAgICAoK1tfV0tVc2VyQ29udGVudEV4dGVu
c2lvblN0b3JlIHN0b3JlV2l0aFVSTDpdKToKKyAgICAgICAgKC1bX1dLVXNlckNvbnRlbnRFeHRl
bnNpb25TdG9yZSBjb21waWxlQ29udGVudEV4dGVuc2lvbkZvcklkZW50aWZpZXI6ZW5jb2RlZENv
bnRlbnRFeHRlbnNpb246Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAgICgtW19XS1VzZXJD
b250ZW50RXh0ZW5zaW9uU3RvcmUgbG9va3VwQ29udGVudEV4dGVuc2lvbkZvcklkZW50aWZpZXI6
Y29tcGxldGlvbkhhbmRsZXI6XSk6CisgICAgICAgICgtW19XS1VzZXJDb250ZW50RXh0ZW5zaW9u
U3RvcmUgcmVtb3ZlQ29udGVudEV4dGVuc2lvbkZvcklkZW50aWZpZXI6Y29tcGxldGlvbkhhbmRs
ZXI6XSk6CisgICAgICAgICh0b1VzZXJDb250ZW50UnVsZUxpc3RTdG9yZUVycm9yKTogRGVsZXRl
ZC4KKyAgICAgICAgKC1bX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZSBfYXBpT2JqZWN0XSk6
IERlbGV0ZWQuCisgICAgICAgICgtW19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgX3JlbW92
ZUFsbENvbnRlbnRFeHRlbnNpb25zXSk6IERlbGV0ZWQuCisgICAgICAgICgtW19XS1VzZXJDb250
ZW50RXh0ZW5zaW9uU3RvcmUgX2ludmFsaWRhdGVDb250ZW50RXh0ZW5zaW9uVmVyc2lvbkZvcklk
ZW50aWZpZXI6XSk6IERlbGV0ZWQuCisgICAgICAgICgtW19XS1VzZXJDb250ZW50RXh0ZW5zaW9u
U3RvcmUgX2luaXRXaXRoV0tDb250ZW50UnVsZUxpc3RTdG9yZTpdKTogRGVsZXRlZC4KKyAgICAg
ICAgKC1bX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZSBfY29udGVudFJ1bGVMaXN0U3RvcmVd
KTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50
RXh0ZW5zaW9uU3RvcmVJbnRlcm5hbC5oOiBSZW1vdmVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZVByaXZhdGUuaDogUmVtb3ZlZC4K
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50RmlsdGVyLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudEZpbHRlci5tbToKKyAg
ICAgICAgKC1bX1dLVXNlckNvbnRlbnRGaWx0ZXIgX2luaXRXaXRoV0tDb250ZW50UnVsZUxpc3Q6
XSk6CisgICAgICAgICgtW19XS1VzZXJDb250ZW50RmlsdGVyIF9hcGlPYmplY3RdKTogRGVsZXRl
ZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50RmlsdGVySW50
ZXJuYWwuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJD
b250ZW50RmlsdGVyUHJpdmF0ZS5oOiBSZW1vdmVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5oOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorCiAyMDIxLTA1LTE0ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIEFsbG93IHdoZWVsIGV2ZW50cyB0byBiZSBjb2FsZXNjZWQgZHVyaW5nIHNjcm9s
bCBkZWNlbGVyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4
dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCBhODI4MzMzMGU1NGM5MWI4
MzM4MTI4NmEwYmFhN2Q1YzRlNDFlMmZmLi42YjI1YmI4NWFiOWYyZDVlNzk5ODIwMzJhZDFlYzVl
ZDZmZTcwM2U3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysr
IGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0yOTIsOCArMjkyLDYgQEAgVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tUZXh0TWFuaXB1bGF0aW9uRXhjbHVzaW9uUnVsZS5tbQogVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tUZXh0TWFuaXB1bGF0aW9uSXRlbS5tbQogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tUZXh0TWFuaXB1bGF0aW9uVG9rZW4ubW0KIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLVGh1bWJuYWlsVmlldy5tbQotVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudEV4
dGVuc2lvblN0b3JlLm1tCi1VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50RmlsdGVy
Lm1tCiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50V29ybGQubW0KIFVJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLVXNlckluaXRpYXRlZEFjdGlvbi5tbQogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tVc2VyU3R5bGVTaGVldC5tbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLVXNlckNvbnRlbnRDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLVXNlckNvbnRlbnRDb250cm9sbGVyLm1tCmluZGV4IGM2YjNl
NDcwYzE4NTgxOTU1NjlhNzI2YzhjZmE1MzVhZjg4YjM3YTkuLjkwMzIyMzBlOWI4YzQzOTk1ZDE5
MTEyM2I4YjRjNGNiZTBjN2QyNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1VzZXJDb250ZW50Q29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyQ29udGVudENvbnRyb2xsZXIubW0KQEAgLTQwLDcg
KzQwLDYgQEAKICNpbXBvcnQgIldLV2ViVmlld0ludGVybmFsLmgiCiAjaW1wb3J0ICJXZWJTY3Jp
cHRNZXNzYWdlSGFuZGxlci5oIgogI2ltcG9ydCAiV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJv
eHkuaCIKLSNpbXBvcnQgIl9XS1VzZXJDb250ZW50RmlsdGVySW50ZXJuYWwuaCIKICNpbXBvcnQg
Il9XS1VzZXJDb250ZW50V29ybGRJbnRlcm5hbC5oIgogI2ltcG9ydCAiX1dLVXNlclN0eWxlU2hl
ZXRJbnRlcm5hbC5oIgogI2ltcG9ydCA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbi5oPgpAQCAtMjc1
LDEzICsyNzQsNiBAQCBwcml2YXRlOgogICAgIF91c2VyQ29udGVudENvbnRyb2xsZXJQcm94eS0+
YWRkVXNlclNjcmlwdCgqdXNlclNjcmlwdC0+X3VzZXJTY3JpcHQsIFdlYktpdDo6SW5qZWN0VXNl
clNjcmlwdEltbWVkaWF0ZWx5OjpZZXMpOwogfQogCi0tICh2b2lkKV9hZGRVc2VyQ29udGVudEZp
bHRlcjooX1dLVXNlckNvbnRlbnRGaWx0ZXIgKil1c2VyQ29udGVudEZpbHRlcgotewotI2lmIEVO
QUJMRShDT05URU5UX0VYVEVOU0lPTlMpCi0gICAgX3VzZXJDb250ZW50Q29udHJvbGxlclByb3h5
LT5hZGRDb250ZW50UnVsZUxpc3QoKnVzZXJDb250ZW50RmlsdGVyLT5fY29udGVudFJ1bGVMaXN0
LT5fY29udGVudFJ1bGVMaXN0KTsKLSNlbmRpZgotfQotCiAtICh2b2lkKV9yZW1vdmVVc2VyQ29u
dGVudEZpbHRlcjooTlNTdHJpbmcgKil1c2VyQ29udGVudEZpbHRlck5hbWUKIHsKICNpZiBFTkFC
TEUoQ09OVEVOVF9FWFRFTlNJT05TKQpAQCAtMjg5LDEzICsyODEsNiBAQCBwcml2YXRlOgogI2Vu
ZGlmCiB9CiAKLS0gKHZvaWQpX3JlbW92ZUFsbFVzZXJDb250ZW50RmlsdGVycwotewotI2lmIEVO
QUJMRShDT05URU5UX0VYVEVOU0lPTlMpCi0gICAgX3VzZXJDb250ZW50Q29udHJvbGxlclByb3h5
LT5yZW1vdmVBbGxDb250ZW50UnVsZUxpc3RzKCk7Ci0jZW5kaWYKLX0KLQogLSAoTlNBcnJheSAq
KV91c2VyU3R5bGVTaGVldHMKIHsKICAgICByZXR1cm4gd3JhcHBlcihfdXNlckNvbnRlbnRDb250
cm9sbGVyUHJveHktPnVzZXJTdHlsZVNoZWV0cygpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VzZXJDb250ZW50Q29udHJvbGxlclByaXZhdGUuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VzZXJDb250ZW50Q29udHJvbGxl
clByaXZhdGUuaAppbmRleCBhMjUyZDA0MTY2NzRjNDgwNDYyYjFhOTExOTgwZjYyZjU5YjcwMmEx
Li5lYmMzMzJkNGEzMzMzYzRmMjU5ZDRmZjAyNmM2NDQ1MjNmZTM1MTlkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyQ29udGVudENvbnRyb2xsZXJQ
cml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVXNlckNv
bnRlbnRDb250cm9sbGVyUHJpdmF0ZS5oCkBAIC0yNyw3ICsyNyw2IEBACiAKIEBjbGFzcyBXS0Nv
bnRlbnRXb3JsZDsKIEBjbGFzcyBXS1VzZXJTY3JpcHQ7Ci1AY2xhc3MgX1dLVXNlckNvbnRlbnRG
aWx0ZXI7CiBAY2xhc3MgX1dLVXNlckNvbnRlbnRXb3JsZDsKIEBjbGFzcyBfV0tVc2VyU3R5bGVT
aGVldDsKIApAQCAtMzgsOSArMzcsNyBAQAogCiAtICh2b2lkKV9hZGRVc2VyU2NyaXB0SW1tZWRp
YXRlbHk6KFdLVXNlclNjcmlwdCAqKXVzZXJTY3JpcHQgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygx
MC4xNCksIGlvcygxMi4wKSk7CiAKLS0gKHZvaWQpX2FkZFVzZXJDb250ZW50RmlsdGVyOihfV0tV
c2VyQ29udGVudEZpbHRlciAqKXVzZXJDb250ZW50RmlsdGVyIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3MoMTAuMTEpLCBpb3MoOS4wKSk7CiAtICh2b2lkKV9yZW1vdmVVc2VyQ29udGVudEZpbHRlcjoo
TlNTdHJpbmcgKil1c2VyQ29udGVudEZpbHRlck5hbWUgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygx
MC4xMSksIGlvcyg5LjApKTsKLS0gKHZvaWQpX3JlbW92ZUFsbFVzZXJDb250ZW50RmlsdGVycyBX
S19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjExKSwgaW9zKDkuMCkpOwogCiBAcHJvcGVydHkgKG5v
bmF0b21pYywgcmVhZG9ubHksIGNvcHkpIE5TQXJyYXk8X1dLVXNlclN0eWxlU2hlZXQgKj4gKl91
c2VyU3R5bGVTaGVldHMgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMiksIGlvcygxMC4wKSk7
CiAtICh2b2lkKV9hZGRVc2VyU3R5bGVTaGVldDooX1dLVXNlclN0eWxlU2hlZXQgKil1c2VyU3R5
bGVTaGVldCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEyKSwgaW9zKDEwLjApKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudEV4
dGVuc2lvblN0b3JlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNl
ckNvbnRlbnRFeHRlbnNpb25TdG9yZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDdlYmFlZjczOTRlMDhkOTg0MWFjMjgzYWI3Y2MyY2JlMWJjZTVmLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLmgKKysrIC9kZXYvbnVsbApAQCAt
MSw0OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCA8V2ViS2l0L1dLRm91bmRhdGlvbi5o
PgotCi1AY2xhc3MgX1dLVXNlckNvbnRlbnRGaWx0ZXI7Ci0KLVdLX0NMQVNTX0FWQUlMQUJMRSht
YWNvcygxMC4xMSksIGlvcyg5LjApKQotQGludGVyZmFjZSBfV0tVc2VyQ29udGVudEV4dGVuc2lv
blN0b3JlIDogTlNPYmplY3QKLQotKyAoaW5zdGFuY2V0eXBlKWRlZmF1bHRTdG9yZTsKLSsgKGlu
c3RhbmNldHlwZSlzdG9yZVdpdGhVUkw6KE5TVVJMICopdXJsOwotCi0tICh2b2lkKWNvbXBpbGVD
b250ZW50RXh0ZW5zaW9uRm9ySWRlbnRpZmllcjooTlNTdHJpbmcgKilpZGVudGlmaWVyIGVuY29k
ZWRDb250ZW50RXh0ZW5zaW9uOihOU1N0cmluZyAqKSBOU19SRUxFQVNFU19BUkdVTUVOVCBlbmNv
ZGVkQ29udGVudEV4dGVuc2lvbiBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoX1dLVXNlckNv
bnRlbnRGaWx0ZXIgKiwgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlcjsKLS0gKHZvaWQpbG9v
a3VwQ29udGVudEV4dGVuc2lvbkZvcklkZW50aWZpZXI6KE5TU3RyaW5nICopaWRlbnRpZmllciBj
b21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoX1dLVXNlckNvbnRlbnRGaWx0ZXIgKiwgTlNFcnJv
ciAqKSljb21wbGV0aW9uSGFuZGxlcjsKLS0gKHZvaWQpcmVtb3ZlQ29udGVudEV4dGVuc2lvbkZv
cklkZW50aWZpZXI6KE5TU3RyaW5nICopaWRlbnRpZmllciBjb21wbGV0aW9uSGFuZGxlcjoodm9p
ZCAoXikoTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlcjsKLQotQGVuZAotCi1XS19FWFRFUk4g
TlNTdHJpbmcgKiBjb25zdCBfV0tVc2VyQ29udGVudEV4dGVuc2lvbnNEb21haW4gV0tfQVBJX0FW
QUlMQUJMRShtYWNvcygxMC4xMiksIGlvcygxMC4wKSk7Ci0KLXR5cGVkZWYgTlNfRU5VTShOU0lu
dGVnZXIsIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVFcnJvckNvZGUpIHsKLSAgICBfV0tV
c2VyQ29udGVudEV4dGVuc2lvblN0b3JlRXJyb3JMb29rdXBGYWlsZWQsCi0gICAgX1dLVXNlckNv
bnRlbnRFeHRlbnNpb25TdG9yZUVycm9yVmVyc2lvbk1pc21hdGNoLAotICAgIF9XS1VzZXJDb250
ZW50RXh0ZW5zaW9uU3RvcmVFcnJvckNvbXBpbGVGYWlsZWQsCi0gICAgX1dLVXNlckNvbnRlbnRF
eHRlbnNpb25TdG9yZUVycm9yUmVtb3ZlRmFpbGVkLAotfSBXS19BUElfQVZBSUxBQkxFKG1hY29z
KDEwLjEyKSwgaW9zKDEwLjApKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUubW0KZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFkMWQ4NzI0MjkxNzgzOWUwM2M2YzAxMTBhOTRh
ODNjYzZlMGU4NzEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50RXh0ZW5z
aW9uU3RvcmUubW0KKysrIC9kZXYvbnVsbApAQCAtMSwxMzMgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0g
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpbXBvcnQgImNvbmZpZy5oIgotI2ltcG9ydCAiX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9y
ZUludGVybmFsLmgiCi0KLSNpbXBvcnQgIldLQ29udGVudFJ1bGVMaXN0U3RvcmVJbnRlcm5hbC5o
IgotI2ltcG9ydCAiV0tDb250ZW50UnVsZUxpc3RTdG9yZVByaXZhdGUuaCIKLSNpbXBvcnQgIldL
RXJyb3JJbnRlcm5hbC5oIgotI2ltcG9ydCAiX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZVBy
aXZhdGUuaCIKLSNpbXBvcnQgIl9XS1VzZXJDb250ZW50RmlsdGVySW50ZXJuYWwuaCIKLSNpbXBv
cnQgIl9XS1VzZXJDb250ZW50RmlsdGVyUHJpdmF0ZS5oIgotI2ltcG9ydCA8c3RyaW5nPgotCi1O
U1N0cmluZyAqIGNvbnN0IF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uc0RvbWFpbiA9IEAiV0tFcnJv
ckRvbWFpbiI7Ci0KLXN0YXRpYyBOU0Vycm9yICp0b1VzZXJDb250ZW50UnVsZUxpc3RTdG9yZUVy
cm9yKGNvbnN0IE5TRXJyb3IgKmVycm9yKQotewotICAgIGlmICghZXJyb3IpCi0gICAgICAgIHJl
dHVybiBuaWw7Ci0KLSAgICBBU1NFUlQoZXJyb3IuZG9tYWluID09IFdLRXJyb3JEb21haW4pOwot
ICAgIHN3aXRjaCAoZXJyb3IuY29kZSkgewotICAgIGNhc2UgV0tFcnJvckNvbnRlbnRSdWxlTGlz
dFN0b3JlTG9va1VwRmFpbGVkOgotICAgICAgICByZXR1cm4gW05TRXJyb3IgZXJyb3JXaXRoRG9t
YWluOl9XS1VzZXJDb250ZW50RXh0ZW5zaW9uc0RvbWFpbiBjb2RlOl9XS1VzZXJDb250ZW50RXh0
ZW5zaW9uU3RvcmVFcnJvckxvb2t1cEZhaWxlZCB1c2VySW5mbzplcnJvci51c2VySW5mb107Ci0g
ICAgY2FzZSBXS0Vycm9yQ29udGVudFJ1bGVMaXN0U3RvcmVWZXJzaW9uTWlzbWF0Y2g6Ci0gICAg
ICAgIHJldHVybiBbTlNFcnJvciBlcnJvcldpdGhEb21haW46X1dLVXNlckNvbnRlbnRFeHRlbnNp
b25zRG9tYWluIGNvZGU6X1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZUVycm9yVmVyc2lvbk1p
c21hdGNoIHVzZXJJbmZvOmVycm9yLnVzZXJJbmZvXTsKLSAgICBjYXNlIFdLRXJyb3JDb250ZW50
UnVsZUxpc3RTdG9yZUNvbXBpbGVGYWlsZWQ6Ci0gICAgICAgIHJldHVybiBbTlNFcnJvciBlcnJv
cldpdGhEb21haW46X1dLVXNlckNvbnRlbnRFeHRlbnNpb25zRG9tYWluIGNvZGU6X1dLVXNlckNv
bnRlbnRFeHRlbnNpb25TdG9yZUVycm9yQ29tcGlsZUZhaWxlZCB1c2VySW5mbzplcnJvci51c2Vy
SW5mb107Ci0gICAgY2FzZSBXS0Vycm9yQ29udGVudFJ1bGVMaXN0U3RvcmVSZW1vdmVGYWlsZWQ6
Ci0gICAgICAgIHJldHVybiBbTlNFcnJvciBlcnJvcldpdGhEb21haW46X1dLVXNlckNvbnRlbnRF
eHRlbnNpb25zRG9tYWluIGNvZGU6X1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZUVycm9yUmVt
b3ZlRmFpbGVkIHVzZXJJbmZvOmVycm9yLnVzZXJJbmZvXTsKLSAgICBkZWZhdWx0OgotICAgICAg
ICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIH0KLX0KLQotQGltcGxlbWVudGF0
aW9uIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUKLQotKyAoaW5zdGFuY2V0eXBlKWRlZmF1
bHRTdG9yZQotewotICAgIHJldHVybiBhZG9wdE5TKFtbX1dLVXNlckNvbnRlbnRFeHRlbnNpb25T
dG9yZSBhbGxvY10gX2luaXRXaXRoV0tDb250ZW50UnVsZUxpc3RTdG9yZTpbV0tDb250ZW50UnVs
ZUxpc3RTdG9yZSBkZWZhdWx0U3RvcmVXaXRoTGVnYWN5RmlsZW5hbWVdXSkuYXV0b3JlbGVhc2Uo
KTsKLX0KLQotKyAoaW5zdGFuY2V0eXBlKXN0b3JlV2l0aFVSTDooTlNVUkwgKil1cmwKLXsKLSAg
ICByZXR1cm4gYWRvcHROUyhbW19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgYWxsb2NdIF9p
bml0V2l0aFdLQ29udGVudFJ1bGVMaXN0U3RvcmU6W1dLQ29udGVudFJ1bGVMaXN0U3RvcmUgc3Rv
cmVXaXRoVVJMQW5kTGVnYWN5RmlsZW5hbWU6dXJsXV0pLmF1dG9yZWxlYXNlKCk7Ci19Ci0KLS0g
KHZvaWQpY29tcGlsZUNvbnRlbnRFeHRlbnNpb25Gb3JJZGVudGlmaWVyOihOU1N0cmluZyAqKWlk
ZW50aWZpZXIgZW5jb2RlZENvbnRlbnRFeHRlbnNpb246KE5TU3RyaW5nICopZW5jb2RlZENvbnRl
bnRSdWxlTGlzdCBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoX1dLVXNlckNvbnRlbnRGaWx0
ZXIgKiwgTlNFcnJvciAqKSljb21wbGV0aW9uSGFuZGxlcgotewotICAgIFtfY29udGVudFJ1bGVM
aXN0U3RvcmUgX2NvbXBpbGVDb250ZW50UnVsZUxpc3RGb3JJZGVudGlmaWVyOmlkZW50aWZpZXIg
ZW5jb2RlZENvbnRlbnRSdWxlTGlzdDplbmNvZGVkQ29udGVudFJ1bGVMaXN0IGNvbXBsZXRpb25I
YW5kbGVyOl4oV0tDb250ZW50UnVsZUxpc3QgKmNvbnRlbnRSdWxlTGlzdCwgTlNFcnJvciAqZXJy
b3IpIHsKLSAgICAgICAgYXV0byBjb250ZW50RmlsdGVyID0gY29udGVudFJ1bGVMaXN0ID8gYWRv
cHROUyhbW19XS1VzZXJDb250ZW50RmlsdGVyIGFsbG9jXSBfaW5pdFdpdGhXS0NvbnRlbnRSdWxl
TGlzdDpjb250ZW50UnVsZUxpc3RdKSA6IG5pbDsKLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIo
Y29udGVudEZpbHRlci5nZXQoKSwgdG9Vc2VyQ29udGVudFJ1bGVMaXN0U3RvcmVFcnJvcihlcnJv
cikpOwotICAgIH1dOwotfQotCi0tICh2b2lkKWxvb2t1cENvbnRlbnRFeHRlbnNpb25Gb3JJZGVu
dGlmaWVyOihOU1N0cmluZyAqKWlkZW50aWZpZXIgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4p
KF9XS1VzZXJDb250ZW50RmlsdGVyICosIE5TRXJyb3IgKikpY29tcGxldGlvbkhhbmRsZXIKLXsK
LSAgICBbX2NvbnRlbnRSdWxlTGlzdFN0b3JlIGxvb2tVcENvbnRlbnRSdWxlTGlzdEZvcklkZW50
aWZpZXI6aWRlbnRpZmllciBjb21wbGV0aW9uSGFuZGxlcjpeKFdLQ29udGVudFJ1bGVMaXN0ICpj
b250ZW50UnVsZUxpc3QsIE5TRXJyb3IgKmVycm9yKSB7Ci0gICAgICAgIGF1dG8gY29udGVudEZp
bHRlciA9IGNvbnRlbnRSdWxlTGlzdCA/IGFkb3B0TlMoW1tfV0tVc2VyQ29udGVudEZpbHRlciBh
bGxvY10gX2luaXRXaXRoV0tDb250ZW50UnVsZUxpc3Q6Y29udGVudFJ1bGVMaXN0XSkgOiBuaWw7
Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGNvbnRlbnRGaWx0ZXIuZ2V0KCksIHRvVXNlckNv
bnRlbnRSdWxlTGlzdFN0b3JlRXJyb3IoZXJyb3IpKTsKLSAgICB9XTsKLX0KLQotLSAodm9pZCly
ZW1vdmVDb250ZW50RXh0ZW5zaW9uRm9ySWRlbnRpZmllcjooTlNTdHJpbmcgKilpZGVudGlmaWVy
IGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShOU0Vycm9yICopKWNvbXBsZXRpb25IYW5kbGVy
Ci17Ci0gICAgW19jb250ZW50UnVsZUxpc3RTdG9yZSByZW1vdmVDb250ZW50UnVsZUxpc3RGb3JJ
ZGVudGlmaWVyOmlkZW50aWZpZXIgY29tcGxldGlvbkhhbmRsZXI6XihOU0Vycm9yICplcnJvcikg
ewotICAgICAgICBjb21wbGV0aW9uSGFuZGxlcih0b1VzZXJDb250ZW50UnVsZUxpc3RTdG9yZUVy
cm9yKGVycm9yKSk7Ci0gICAgfV07Ci19Ci0KLSNwcmFnbWEgbWFyayBXS09iamVjdCBwcm90b2Nv
bCBpbXBsZW1lbnRhdGlvbgotCi0tIChBUEk6Ok9iamVjdCYpX2FwaU9iamVjdAotewotICAgIHJl
dHVybiBbX2NvbnRlbnRSdWxlTGlzdFN0b3JlIF9hcGlPYmplY3RdOwotfQotCi1AZW5kCi0KLUBp
bXBsZW1lbnRhdGlvbiBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlIChXS1ByaXZhdGUpCi0K
LS8vIEZvciB0ZXN0aW5nIG9ubHkuCi0KLS0gKHZvaWQpX3JlbW92ZUFsbENvbnRlbnRFeHRlbnNp
b25zCi17Ci0gICAgW19jb250ZW50UnVsZUxpc3RTdG9yZSBfcmVtb3ZlQWxsQ29udGVudFJ1bGVM
aXN0c107Ci19Ci0KLS0gKHZvaWQpX2ludmFsaWRhdGVDb250ZW50RXh0ZW5zaW9uVmVyc2lvbkZv
cklkZW50aWZpZXI6KE5TU3RyaW5nICopaWRlbnRpZmllcgotewotICAgIFtfY29udGVudFJ1bGVM
aXN0U3RvcmUgX2ludmFsaWRhdGVDb250ZW50UnVsZUxpc3RWZXJzaW9uRm9ySWRlbnRpZmllcjpp
ZGVudGlmaWVyXTsKLX0KLQotLSAoaWQpX2luaXRXaXRoV0tDb250ZW50UnVsZUxpc3RTdG9yZToo
V0tDb250ZW50UnVsZUxpc3RTdG9yZSopY29udGVudFJ1bGVMaXN0U3RvcmUKLXsKLSAgICBzZWxm
ID0gW3N1cGVyIGluaXRdOwotICAgIGlmICghc2VsZikKLSAgICAgICAgcmV0dXJuIG5pbDsKLSAg
ICAKLSAgICBfY29udGVudFJ1bGVMaXN0U3RvcmUgPSBjb250ZW50UnVsZUxpc3RTdG9yZTsKLSAg
ICAKLSAgICByZXR1cm4gc2VsZjsKLX0KLQotLSAoV0tDb250ZW50UnVsZUxpc3RTdG9yZSAqKV9j
b250ZW50UnVsZUxpc3RTdG9yZQotewotICAgIHJldHVybiBfY29udGVudFJ1bGVMaXN0U3RvcmUu
Z2V0KCk7Ci19Ci0KLUBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlSW50ZXJuYWwuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlSW50
ZXJuYWwuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmY0ZGZhZTA5MDZjNjA1ODE4
Njc1MTUxZDg4NjllZDZjMzZmZDI0NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNv
bnRlbnRFeHRlbnNpb25TdG9yZUludGVybmFsLmgKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZVBy
aXZhdGUuaCIKLQotI2ltcG9ydCAiQVBJQ29udGVudFJ1bGVMaXN0U3RvcmUuaCIKLSNpbXBvcnQg
IldLT2JqZWN0LmgiCi0KLUBjbGFzcyBXS0NvbnRlbnRSdWxlTGlzdFN0b3JlOwotCi1AaW50ZXJm
YWNlIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgKCkgPFdLT2JqZWN0PiB7Ci1AcGFja2Fn
ZQotICAgIFJldGFpblB0cjxXS0NvbnRlbnRSdWxlTGlzdFN0b3JlPiBfY29udGVudFJ1bGVMaXN0
U3RvcmU7Ci19Ci1AZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZVByaXZhdGUuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlUHJpdmF0
ZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NjExOTQwODVkNGI3ZjBlMTNmZGJk
YzZmMDcyZWQxZTY5MjYyNGY2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVu
dEV4dGVuc2lvblN0b3JlUHJpdmF0ZS5oCisrKyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpbXBvcnQgPFdlYktpdC9fV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3Jl
Lmg+Ci0KLUBjbGFzcyBXS0NvbnRlbnRSdWxlTGlzdFN0b3JlOwotCi1AaW50ZXJmYWNlIF9XS1Vz
ZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgKFdLUHJpdmF0ZSkKLQotLy8gRm9yIHRlc3Rpbmcgb25s
eS4KLS0gKHZvaWQpX3JlbW92ZUFsbENvbnRlbnRFeHRlbnNpb25zOwotLSAodm9pZClfaW52YWxp
ZGF0ZUNvbnRlbnRFeHRlbnNpb25WZXJzaW9uRm9ySWRlbnRpZmllcjooTlNTdHJpbmcgKilpZGVu
dGlmaWVyOwotCi0tIChpZClfaW5pdFdpdGhXS0NvbnRlbnRSdWxlTGlzdFN0b3JlOihXS0NvbnRl
bnRSdWxlTGlzdFN0b3JlICopY29udGVudFJ1bGVMaXN0U3RvcmUgV0tfQVBJX0FWQUlMQUJMRSht
YWNvcygxMC4xMyksIGlvcygxMS4wKSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkp
IFdLQ29udGVudFJ1bGVMaXN0U3RvcmUgKl9jb250ZW50UnVsZUxpc3RTdG9yZSBXS19BUElfQVZB
SUxBQkxFKG1hY29zKDEwLjE1KSwgaW9zKDEzLjApKTsKLQotQGVuZApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50RmlsdGVyLmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRGaWx0ZXIuaApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTdiNGQxZDY5MWUyMDQwNzAwNmI5OWIwMzAz
MjU5ZWI5NDlkYjQ2Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRGaWx0
ZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW1wb3J0
IDxXZWJLaXQvV0tGb3VuZGF0aW9uLmg+Ci0KLVdLX0NMQVNTX0FWQUlMQUJMRShtYWNvcygxMC4x
MSksIGlvcyg5LjApKQotQGludGVyZmFjZSBfV0tVc2VyQ29udGVudEZpbHRlciA6IE5TT2JqZWN0
Ci0KLUBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tVc2VyQ29udGVudEZpbHRlci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tVc2VyQ29udGVudEZpbHRlci5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YmI4YTA5NGUwNjU1NDhmNmFjN2E4NjBmYjczNmU2YmY2ZTk3MTFjZS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLVXNlckNvbnRlbnRGaWx0ZXIubW0KKysrIC9kZXYvbnVsbApAQCAtMSw1OSAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
LSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgot
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJfV0tVc2Vy
Q29udGVudEZpbHRlckludGVybmFsLmgiCi0KLSNpbXBvcnQgIldLQ29udGVudFJ1bGVMaXN0SW50
ZXJuYWwuaCIKLSNpbXBvcnQgIldlYkNvbXBpbGVkQ29udGVudFJ1bGVMaXN0LmgiCi0jaW1wb3J0
IDxXZWJDb3JlL0NvbnRlbnRFeHRlbnNpb25Db21waWxlci5oPgotI2ltcG9ydCA8V2ViQ29yZS9D
b250ZW50RXh0ZW5zaW9uRXJyb3IuaD4KLSNpbXBvcnQgPHN0cmluZz4KLQotQGltcGxlbWVudGF0
aW9uIF9XS1VzZXJDb250ZW50RmlsdGVyCi0KLSNwcmFnbWEgbWFyayBXS09iamVjdCBwcm90b2Nv
bCBpbXBsZW1lbnRhdGlvbgotCi0tIChBUEk6Ok9iamVjdCYpX2FwaU9iamVjdAotewotICAgIHJl
dHVybiBbX2NvbnRlbnRSdWxlTGlzdCBfYXBpT2JqZWN0XTsKLX0KLQotQGVuZAotCi1AaW1wbGVt
ZW50YXRpb24gX1dLVXNlckNvbnRlbnRGaWx0ZXIgKFdLUHJpdmF0ZSkKLQotLSAoaWQpX2luaXRX
aXRoV0tDb250ZW50UnVsZUxpc3Q6KFdLQ29udGVudFJ1bGVMaXN0Kiljb250ZW50UnVsZUxpc3QK
LXsKLSAgICBzZWxmID0gW3N1cGVyIGluaXRdOwotICAgIGlmICghc2VsZikKLSAgICAgICAgcmV0
dXJuIG5pbDsKLSAgICAKLSAgICBfY29udGVudFJ1bGVMaXN0ID0gY29udGVudFJ1bGVMaXN0Owot
ICAgIAotICAgIHJldHVybiBzZWxmOwotfQotCi1AZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRGaWx0ZXJJbnRlcm5hbC5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50RmlsdGVySW50
ZXJuYWwuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzk5OWUxZGEzMWQ1M2FmY2Fj
ZWNjZTVlMTNhMDU1ZWRiZjgzODU4Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNv
bnRlbnRGaWx0ZXJJbnRlcm5hbC5oCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLSNpbXBvcnQgPFdlYktpdC9fV0tVc2VyQ29udGVudEZpbHRlci5oPgotCi0jaW1w
b3J0ICJBUElDb250ZW50UnVsZUxpc3QuaCIKLSNpbXBvcnQgIldLT2JqZWN0LmgiCi0KLUBjbGFz
cyBXS0NvbnRlbnRSdWxlTGlzdDsKLQotQGludGVyZmFjZSBfV0tVc2VyQ29udGVudEZpbHRlciAo
KSA8V0tPYmplY3Q+IHsKLUBwYWNrYWdlCi0gICAgUmV0YWluUHRyPFdLQ29udGVudFJ1bGVMaXN0
PiBfY29udGVudFJ1bGVMaXN0OwotfQotQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50RmlsdGVyUHJpdmF0ZS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50RmlsdGVyUHJpdmF0ZS5o
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNjdhZDUxMDkxMDgwMmQzZjdmYTc3M2Rl
ZTBkMGE2MzFiYjFlMDk1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudEZp
bHRlclByaXZhdGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jaW1wb3J0IDxXZWJLaXQvX1dLVXNlckNvbnRlbnRGaWx0ZXIuaD4KLQotQGNsYXNzIFdLVXNl
ckNvbnRlbnRSdWxlTGlzdDsKLQotQGludGVyZmFjZSBfV0tVc2VyQ29udGVudEZpbHRlciAoV0tQ
cml2YXRlKQotCi0tIChpZClfaW5pdFdpdGhXS0NvbnRlbnRSdWxlTGlzdDooV0tDb250ZW50UnVs
ZUxpc3QqKWNvbnRlbnRSdWxlTGlzdCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEzKSwgaW9z
KDExLjApKTsKLQotQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViVVJMU2NoZW1lSGFuZGxlckNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViVVJMU2NoZW1lSGFuZGxlckNvY29hLm1tCmluZGV4IGUzOTc5ZTkwMWI0ZjhkNmEy
OWYxMDU2YmY4MjI4NmRlMjViYjdiNTAuLjI4NDcyNGVjNGM0MDMxMjgxYzNmODNhYjkwYTYyZDZm
MWU4NDljZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlVS
TFNjaGVtZUhhbmRsZXJDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJVUkxTY2hlbWVIYW5kbGVyQ29jb2EubW0KQEAgLTMwLDYgKzMwLDcgQEAKICNpbXBvcnQg
IldLVVJMU2NoZW1lSGFuZGxlci5oIgogI2ltcG9ydCAiV0tVUkxTY2hlbWVUYXNrSW50ZXJuYWwu
aCIKICNpbXBvcnQgIldLV2ViVmlld0ludGVybmFsLmgiCisjaW1wb3J0ICJXZWJQYWdlUHJveHku
aCIKICNpbXBvcnQgIldlYlVSTFNjaGVtZVRhc2suaCIKICNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IGI3Mzg3MmVk
YjRiZmZlOGI0ZTFlM2U0MGI5MTYwYTg4NjZmODY3MDUuLjBlNzJkMjU2NGIxNWRhM2NhYjRmYmUx
ZGI0MzEwNGZmZDc4YzZhOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuaApAQCAtNzA3LDEwICs3MDcsNiBAQCBwcml2YXRlOgogICAgIG11dGFibGUgUmV0YWluUHRy
PE5TU2V0PiBtX2NsYXNzZXNGb3JQYXJhbWV0ZXJDb2RlcjsKICNlbmRpZgogCi0jaWYgRU5BQkxF
KENPTlRFTlRfRVhURU5TSU9OUykKLSAgICBIYXNoTWFwPFN0cmluZywgU3RyaW5nPiBtX2VuY29k
ZWRDb250ZW50RXh0ZW5zaW9uczsKLSNlbmRpZgotCiAjaWYgRU5BQkxFKEdBTUVQQUQpCiAgICAg
V2Vha0hhc2hTZXQ8V2ViUHJvY2Vzc1Byb3h5PiBtX3Byb2Nlc3Nlc1VzaW5nR2FtZXBhZHM7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDAwZmQ5ZDM2MDY0NGEwN2NjN2IyMjM2YzE1ZjJlNGI2YjQ3ZTY4NWYuLjVkOGMzMTIw
NzVmMjU5MzEwODI3YzBkZjE0NTUyZGU5NjJhZjNmYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTI5MSw3ICsxMjkxLDYgQEAKIAkJ
NUNCQzlCOEUxQzY1MkNBMDAwQThGRENGIC8qIE5ldHdvcmtEYXRhVGFzay5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNCQzlCODkxQzY1MjRBNTAwQThG
RENGIC8qIE5ldHdvcmtEYXRhVGFzay5oICovOyB9OwogCQk1Q0JENTk1QzIyODBFREY0MDAyQjIy
QUEgLyogX1dLQ3VzdG9tSGVhZGVyRmllbGRzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNUM1RDIzODgyMjdBMTg5MjAwMEI5QkRBIC8qIF9XS0N1c3Rv
bUhlYWRlckZpZWxkcy5tbSAqLzsgfTsKIAkJNUNEMjg2NTExRTcyMzU5OTAwOTRGREM4IC8qIFdL
Q29udGVudFJ1bGVMaXN0U3RvcmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDVDRDI4NjREMUU3MjJGNDQwMDk0RkRDOCAvKiBXS0NvbnRlbnRSdWxlTGlz
dFN0b3JlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9Owot
CQk1Q0QyODY1MzFFNzIzNUFBMDA5NEZEQzggLyogX1dLVXNlckNvbnRlbnRGaWx0ZXJQcml2YXRl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0QyODY0
OTFFNzIyRjQ0MDA5NEZEQzggLyogX1dLVXNlckNvbnRlbnRGaWx0ZXJQcml2YXRlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNUNEMjg2NTQxRTcy
MzVCMTAwOTRGREM4IC8qIFdLQ29udGVudFJ1bGVMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0QyODY0QTFFNzIyRjQ0MDA5NEZEQzggLyogV0tD
b250ZW50UnVsZUxpc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7
IH07IH07CiAJCTVDRDI4NjU1MUU3MjM1QjgwMDk0RkRDOCAvKiBXS0NvbnRlbnRSdWxlTGlzdElu
dGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
Q0QyODY0QzFFNzIyRjQ0MDA5NEZEQzggLyogV0tDb250ZW50UnVsZUxpc3RJbnRlcm5hbC5oICov
OyB9OwogCQk1Q0QyODY1NzFFNzIzNUM5MDA5NEZEQzggLyogV0tDb250ZW50UnVsZUxpc3RTdG9y
ZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1Q0QyODY0RjFFNzIyRjQ0MDA5NEZEQzggLyogV0tDb250ZW50UnVsZUxpc3RTdG9yZUludGVy
bmFsLmggKi87IH07CkBAIC0xMzYyLDggKzEzNjEsNiBAQAogCQk3QzA2NUYyQzFDOENEOTVGMDBD
MkQ5NTAgLyogV2ViVXNlckNvbnRlbnRDb250cm9sbGVyRGF0YVR5cGVzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzA2NUYyQTFDOENEOTVGMDBDMkQ5
NTAgLyogV2ViVXNlckNvbnRlbnRDb250cm9sbGVyRGF0YVR5cGVzLmggKi87IH07CiAJCTdDMTM1
QUE5MTczQjBCQ0EwMDU4NkFFMiAvKiBXS1BsdWdpbkluZm9ybWF0aW9uLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzEzNUFBNzE3M0IwQkNBMDA1ODZB
RTIgLyogV0tQbHVnaW5JbmZvcm1hdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTdDMUJBMzNFMUE0QTBFNjAwMDQzRTI0OSAvKiBBUElEaWN0
aW9uYXJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
QzFCQTMzQzFBNEEwRTYwMDA0M0UyNDkgLyogQVBJRGljdGlvbmFyeS5oICovOyB9OwotCQk3QzI0
MTMwMzFBQUNGQTc1MDBBNThDMTUgLyogX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0MyNDEzMDExQUFD
RkE3NTAwQTU4QzE1IC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk3QzI0MTMwNTFBQUNGQTlD
MDBBNThDMTUgLyogX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZUludGVybmFsLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzI0MTMwNDFBQUNGQTlD
MDBBNThDMTUgLyogX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZUludGVybmFsLmggKi87IH07
CiAJCTdDMjQxMzA5MUFBQ0ZDQjQwMEE1OEMxNSAvKiBXS1VzZXJDb250ZW50RXh0ZW5zaW9uU3Rv
cmVSZWYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdD
MjQxMzA3MUFBQ0ZDQjQwMEE1OEMxNSAvKiBXS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVSZWYu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QzM2
MUQ3MzE5MjdGQTM2MDAzNkE1OUQgLyogV2ViU2NyaXB0TWVzc2FnZUhhbmRsZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDMzYxRDcwMTkyN0ZBMzYw
MDM2QTU5RCAvKiBXZWJTY3JpcHRNZXNzYWdlSGFuZGxlci5oICovOyB9OwogCQk3QzM2MUQ3ODE5
MjgwM0JEMDAzNkE1OUQgLyogV2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveHlNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
N0MzNjFENzYxOTI4MDNCRDAwMzZBNTlEIC8qIFdlYlVzZXJDb250ZW50Q29udHJvbGxlclByb3h5
TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKQEAgLTEzODUsMTMgKzEzODIsMTAgQEAKIAkJN0M4
OUQyQTQxQTY3ODg3NTAwM0E1RkRFIC8qIFdLVXNlclNjcmlwdFJlZi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M4OUQyQTIxQTY3ODg3NTAwM0E1RkRF
IC8qIFdLVXNlclNjcmlwdFJlZi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTdDODlEMkI0MUE2QjA2OEMwMDNBNUZERSAvKiBBUElDb250ZW50UnVs
ZUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdD
ODlEMkIyMUE2QjA2OEMwMDNBNUZERSAvKiBBUElDb250ZW50UnVsZUxpc3QuaCAqLzsgfTsKIAkJ
N0M4OUQyQjYxQTZCMEREOTAwM0E1RkRFIC8qIFdLVXNlckNvbnRlbnRDb250cm9sbGVyUHJpdmF0
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M4OUQy
QjUxQTZCMEREOTAwM0E1RkRFIC8qIFdLVXNlckNvbnRlbnRDb250cm9sbGVyUHJpdmF0ZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTdDODlEMkJB
MUE2QjBGMkMwMDNBNUZERSAvKiBfV0tVc2VyQ29udGVudEZpbHRlci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M4OUQyQjgxQTZCMEYyQzAwM0E1RkRF
IC8qIF9XS1VzZXJDb250ZW50RmlsdGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKLQkJN0M4OUQyQkMxQTZCMEY1QjAwM0E1RkRFIC8qIF9XS1VzZXJD
b250ZW50RmlsdGVySW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDdDODlEMkJCMUE2QjBGNUIwMDNBNUZERSAvKiBfV0tVc2VyQ29udGVudEZp
bHRlckludGVybmFsLmggKi87IH07CiAJCTdDODlEMkQ3MUE2QzZCRTYwMDNBNUZERSAvKiBfV0tQ
cm9jZXNzUG9vbENvbmZpZ3VyYXRpb25JbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M4OUQyRDYxQTZDNkJFNjAwM0E1RkRFIC8qIF9XS1By
b2Nlc3NQb29sQ29uZmlndXJhdGlvbkludGVybmFsLmggKi87IH07CiAJCTdDOEVCMTE3MThEQjZB
MTkwMDc5MTdDMiAvKiBXS1ByZWZlcmVuY2VzUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M4RUIxMTYxOERCNkExOTAwNzkxN0MyIC8qIFdL
UHJlZmVyZW5jZXNQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJN0M5RDE1MzcxODQ1ODREQTAwOUQzOTE4IC8qIFdLQnJvd3NpbmdDb250
ZXh0R3JvdXBJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gN0M5RDE1MzYxODQ1ODREQTAwOUQzOTE4IC8qIFdLQnJvd3NpbmdDb250ZXh0R3Jv
dXBJbnRlcm5hbC5oICovOyB9OwogCQk3Q0EyNTRFQjE4Mjk5M0NFMDBGQzhBNDEgLyogV0tCcm93
c2luZ0NvbnRleHRQb2xpY3lEZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0NBMjU0RUExODI5OTNDRTAwRkM4QTQxIC8qIFdLQnJvd3NpbmdD
b250ZXh0UG9saWN5RGVsZWdhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwotCQk3Q0EzNzkzRTFBQzM3OEIzMDA3OURDMzcgLyogX1dLVXNlckNvbnRl
bnRFeHRlbnNpb25TdG9yZVByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDdDQTM3OTNEMUFDMzc4QjMwMDc5REMzNyAvKiBfV0tVc2VyQ29udGVu
dEV4dGVuc2lvblN0b3JlUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTdDQjEwMEYxMUZBMzg1OEEwMDE3MjlFRSAvKiBXZWJQcmVmZXJl
bmNlc0tleXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0NCMTAwRUUxRkEyRDc0QTAwMTcyOUVFIC8qIFdlYlByZWZlcmVuY2VzS2V5cy5jcHAgKi87
IH07CiAJCTdDQjEwMEYyMUZBMzg1OEUwMDE3MjlFRSAvKiBXZWJQcmVmZXJlbmNlc0RlZmluaXRp
b25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0RF
NzNBMzFGOURBQjY1MDAzOTAzMTIgLyogV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oICovOyB9
OwogCQk3Q0IxMDBGMzFGQTM4NThFMDAxNzI5RUUgLyogV2ViUHJlZmVyZW5jZXNLZXlzLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0IxMDBFRjFGQTJE
NzRCMDAxNzI5RUUgLyogV2ViUHJlZmVyZW5jZXNLZXlzLmggKi87IH07CkBAIC00NTIxLDcgKzQ1
MTUsNiBAQAogCQk1Q0JDOUI4OTFDNjUyNEE1MDBBOEZEQ0YgLyogTmV0d29ya0RhdGFUYXNrLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtEYXRhVGFzay5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0JDOUI4QjFDNjUyNTczMDBBOEZEQ0YgLyogTmV0
d29ya0RhdGFUYXNrQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBOZXR3b3JrRGF0YVRhc2tDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNUNDNURCOTEyMTQ4OEUxNjAwNkNCOEE4IC8qIFNoYXJlZEJ1ZmZlckNvcHkuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2hhcmVkQnVmZmVyQ29weS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk1Q0QyODY0OTFFNzIyRjQ0MDA5NEZEQzggLyogX1dLVXNlckNv
bnRlbnRGaWx0ZXJQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9X
S1VzZXJDb250ZW50RmlsdGVyUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1Q0QyODY0QTFFNzIyRjQ0MDA5NEZEQzggLyogV0tDb250ZW50UnVsZUxpc3QuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tDb250ZW50UnVsZUxpc3QuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNEMjg2NEIxRTcyMkY0NDAwOTRGREM4IC8qIFdLQ29udGVu
dFJ1bGVMaXN0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tD
b250ZW50UnVsZUxpc3QubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVDRDI4NjRD
MUU3MjJGNDQwMDk0RkRDOCAvKiBXS0NvbnRlbnRSdWxlTGlzdEludGVybmFsLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQ29udGVudFJ1bGVMaXN0SW50ZXJuYWwuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ2NjEsOSArNDY1NCw2IEBACiAJCTdDMTM1QUFB
MTczQjBDRkYwMDU4NkFFMiAvKiBQbHVnaW5JbmZvcm1hdGlvbk1hYy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFBsdWdpbkluZm9ybWF0aW9uTWFjLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzFCQTMzQjFBNEEwRTYwMDA0M0UyNDkgLyogQVBJ
RGljdGlvbmFyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBUElE
aWN0aW9uYXJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0MxQkEzM0MxQTRB
MEU2MDAwNDNFMjQ5IC8qIEFQSURpY3Rpb25hcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQVBJRGljdGlvbmFyeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk3
QzI0MTMwMDFBQUNGQTc1MDBBNThDMTUgLyogX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZS5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IF9XS1VzZXJDb250ZW50
RXh0ZW5zaW9uU3RvcmUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdDMjQxMzAx
MUFBQ0ZBNzUwMEE1OEMxNSAvKiBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJN0MyNDEzMDQxQUFDRkE5QzAwQTU4QzE1
IC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVJbnRlcm5hbC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlSW50ZXJuYWwu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0MyNDEzMDYxQUFDRkNCNDAwQTU4QzE1
IC8qIFdLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZVJlZi5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBXS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVSZWYuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzI0MTMwNzFBQUNGQ0I0MDBBNThDMTUgLyog
V0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlUmVmLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZVJlZi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3QzM2MUQ2RjE5MjdGQTM2MDAzNkE1OUQgLyogV2ViU2NyaXB0TWVz
c2FnZUhhbmRsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vi
U2NyaXB0TWVzc2FnZUhhbmRsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
NDcwNywxNCArNDY5NywxMCBAQAogCQk3Qzg5RDJCMTFBNkIwNjhDMDAzQTVGREUgLyogQVBJQ29u
dGVudFJ1bGVMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFQ
SUNvbnRlbnRSdWxlTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDODlE
MkIyMUE2QjA2OEMwMDNBNUZERSAvKiBBUElDb250ZW50UnVsZUxpc3QuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJQ29udGVudFJ1bGVMaXN0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTdDODlEMkI1MUE2QjBERDkwMDNBNUZERSAvKiBXS1VzZXJDb250ZW50
Q29udHJvbGxlclByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tV
c2VyQ29udGVudENvbnRyb2xsZXJQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTdDODlEMkI3MUE2QjBGMkMwMDNBNUZERSAvKiBfV0tVc2VyQ29udGVudEZpbHRlci5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IF9XS1VzZXJDb250ZW50Rmls
dGVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk3Qzg5RDJCODFBNkIwRjJDMDAz
QTVGREUgLyogX1dLVXNlckNvbnRlbnRGaWx0ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gX1dLVXNlckNvbnRlbnRGaWx0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJN0M4OUQyQkIxQTZCMEY1QjAwM0E1RkRFIC8qIF9XS1VzZXJDb250ZW50RmlsdGVySW50
ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLVXNlckNvbnRlbnRG
aWx0ZXJJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3Qzg5RDJENjFB
NkM2QkU2MDAzQTVGREUgLyogX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uSW50ZXJuYWwuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0
aW9uSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M4RUIxMTYxOERC
NkExOTAwNzkxN0MyIC8qIFdLUHJlZmVyZW5jZXNQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdLUHJlZmVyZW5jZXNQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTdDOUQxNTM2MTg0NTg0REEwMDlEMzkxOCAvKiBXS0Jyb3dzaW5nQ29udGV4
dEdyb3VwSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tCcm93
c2luZ0NvbnRleHRHcm91cEludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTdDQTI1NEVBMTgyOTkzQ0UwMEZDOEE0MSAvKiBXS0Jyb3dzaW5nQ29udGV4dFBvbGljeURlbGVn
YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQnJvd3NpbmdDb250ZXh0
UG9saWN5RGVsZWdhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJN0NBMzc5M0Qx
QUMzNzhCMzAwNzlEQzM3IC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVQcml2YXRlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS1VzZXJDb250ZW50RXh0ZW5zaW9u
U3RvcmVQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDQjEwMEVFMUZB
MkQ3NEEwMDE3MjlFRSAvKiBXZWJQcmVmZXJlbmNlc0tleXMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gV2ViUHJlZmVyZW5jZXNLZXlzLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIv
V2ViUHJlZmVyZW5jZXNLZXlzLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsg
fTsKIAkJN0NCMTAwRUYxRkEyRDc0QjAwMTcyOUVFIC8qIFdlYlByZWZlcmVuY2VzS2V5cy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBXZWJQcmVmZXJlbmNlc0tleXMuaDsgcGF0aCA9IERlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvV2ViUHJlZmVyZW5jZXNLZXlzLmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNU
U19ESVI7IH07CiAJCTdDQjEwMEYwMUZBMkQ3ODQwMDE3MjlFRSAvKiBXZWJQcmVmZXJlbmNlc1N0
b3JlRGVmYXVsdHNNYXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViUHJlZmVyZW5jZXNTdG9y
ZURlZmF1bHRzTWFwLmNwcDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUHJlZmVy
ZW5jZXNTdG9yZURlZmF1bHRzTWFwLmNwcDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJ
UjsgfTsKQEAgLTgwNTUsMTQgKzgwNDEsNiBAQAogCQkJCTJENkIzNzE5MThBOTY3QUQwMDQyQUU4
MCAvKiBfV0tUaHVtYm5haWxWaWV3LmggKi8sCiAJCQkJMkQ2QjM3MUExOEE5NjdBRDAwNDJBRTgw
IC8qIF9XS1RodW1ibmFpbFZpZXcubW0gKi8sCiAJCQkJMkRBQ0U2NEQxOEFEQkZGMDAwRTRDQTc2
IC8qIF9XS1RodW1ibmFpbFZpZXdJbnRlcm5hbC5oICovLAotCQkJCTdDMjQxMzAxMUFBQ0ZBNzUw
MEE1OEMxNSAvKiBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLmggKi8sCi0JCQkJN0MyNDEz
MDAxQUFDRkE3NTAwQTU4QzE1IC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUubW0gKi8s
Ci0JCQkJN0MyNDEzMDQxQUFDRkE5QzAwQTU4QzE1IC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9u
U3RvcmVJbnRlcm5hbC5oICovLAotCQkJCTdDQTM3OTNEMUFDMzc4QjMwMDc5REMzNyAvKiBfV0tV
c2VyQ29udGVudEV4dGVuc2lvblN0b3JlUHJpdmF0ZS5oICovLAotCQkJCTdDODlEMkI4MUE2QjBG
MkMwMDNBNUZERSAvKiBfV0tVc2VyQ29udGVudEZpbHRlci5oICovLAotCQkJCTdDODlEMkI3MUE2
QjBGMkMwMDNBNUZERSAvKiBfV0tVc2VyQ29udGVudEZpbHRlci5tbSAqLywKLQkJCQk3Qzg5RDJC
QjFBNkIwRjVCMDAzQTVGREUgLyogX1dLVXNlckNvbnRlbnRGaWx0ZXJJbnRlcm5hbC5oICovLAot
CQkJCTVDRDI4NjQ5MUU3MjJGNDQwMDk0RkRDOCAvKiBfV0tVc2VyQ29udGVudEZpbHRlclByaXZh
dGUuaCAqLywKIAkJCQk3Qzg4MkRGMzFDN0U5OTVFMDA2QkY3MzEgLyogX1dLVXNlckNvbnRlbnRX
b3JsZC5oICovLAogCQkJCTdDODgyREY0MUM3RTk5NUUwMDZCRjczMSAvKiBfV0tVc2VyQ29udGVu
dFdvcmxkLm1tICovLAogCQkJCTdDODgyREY1MUM3RTk5NUUwMDZCRjczMSAvKiBfV0tVc2VyQ29u
dGVudFdvcmxkSW50ZXJuYWwuaCAqLywKQEAgLTExNzE2LDEyICsxMTY5NCw2IEBACiAJCQkJMkQ2
QjM3MUIxOEE5NjdBRDAwNDJBRTgwIC8qIF9XS1RodW1ibmFpbFZpZXcuaCBpbiBIZWFkZXJzICov
LAogCQkJCTJEQUNFNjRFMThBREJGRjAwMEU0Q0E3NiAvKiBfV0tUaHVtYm5haWxWaWV3SW50ZXJu
YWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTk5RTcxODlDMjFGNzlEOUUwMDU1RTk3NSAvKiBfV0tU
b3VjaEV2ZW50R2VuZXJhdG9yLmggaW4gSGVhZGVycyAqLywKLQkJCQk3QzI0MTMwMzFBQUNGQTc1
MDBBNThDMTUgLyogX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZS5oIGluIEhlYWRlcnMgKi8s
Ci0JCQkJN0MyNDEzMDUxQUFDRkE5QzAwQTU4QzE1IC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9u
U3RvcmVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJN0NBMzc5M0UxQUMzNzhCMzAwNzlE
QzM3IC8qIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVQcml2YXRlLmggaW4gSGVhZGVycyAq
LywKLQkJCQk3Qzg5RDJCQTFBNkIwRjJDMDAzQTVGREUgLyogX1dLVXNlckNvbnRlbnRGaWx0ZXIu
aCBpbiBIZWFkZXJzICovLAotCQkJCTdDODlEMkJDMUE2QjBGNUIwMDNBNUZERSAvKiBfV0tVc2Vy
Q29udGVudEZpbHRlckludGVybmFsLmggaW4gSGVhZGVycyAqLywKLQkJCQk1Q0QyODY1MzFFNzIz
NUFBMDA5NEZEQzggLyogX1dLVXNlckNvbnRlbnRGaWx0ZXJQcml2YXRlLmggaW4gSGVhZGVycyAq
LywKIAkJCQk3Qzg4MkRGNzFDN0U5OTY1MDA2QkY3MzEgLyogX1dLVXNlckNvbnRlbnRXb3JsZC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJN0M4ODJERjkxQzdFOTk2RjAwNkJGNzMxIC8qIF9XS1VzZXJD
b250ZW50V29ybGRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0NCMzY1QUExRDMxREI3
MDAwNzE1OENBIC8qIF9XS1VzZXJJbml0aWF0ZWRBY3Rpb24uaCBpbiBIZWFkZXJzICovLApkaWZm
IC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDI1MGIzMjkw
YmIzZDg2MTljOGJjYzgwNGE4YTVmOTY2NmNlYmUxNTEuLmNiYTE4ZWFlMTM5MGYxNzcyNzRlN2Y2
YTY1Zjg2OTlmOWRlOTE4MmMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAyMS0wNS0xNyAgQWxleCBDaHJpc3RlbnNl
biAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92ZSBfV0tVc2VyQ29u
dGVudEZpbHRlciBhbmQgX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0MzkxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9tYWMvRXh0ZW5z
aW9uTWFuYWdlcldpbmRvd0NvbnRyb2xsZXIubToKKyAgICAgICAgKC1bRXh0ZW5zaW9uTWFuYWdl
cldpbmRvd0NvbnRyb2xsZXIgaW5pdF0pOgorICAgICAgICAoLVtFeHRlbnNpb25NYW5hZ2VyV2lu
ZG93Q29udHJvbGxlciBhZGQ6XSk6CisgICAgICAgICgtW0V4dGVuc2lvbk1hbmFnZXJXaW5kb3dD
b250cm9sbGVyIHJlbW92ZTpdKToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRB
UEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdENvY29hL1dlYnNpdGVQb2xpY2llcy5tbToKKyAgICAgICAgKFRFU1QpOgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvX1dLVXNlckNvbnRlbnRFeHRl
bnNpb25TdG9yZS5tbTogUmVtb3ZlZC4KKyAgICAgICAgVGhlc2UgdGVzdHMgaGFkIGFscmVhZHkg
YmVlbiBjb3BpZWQgdG8gYSB2ZXJzaW9uIHRoYXQgdXNlcyBXS0NvbnRlbnRSdWxlTGlzdC4KKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW06Cisg
ICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpyZXNldENvbnRlbnRFeHRlbnNpb25zKToKKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL21hYy9UZXN0Q29udHJvbGxlck1hYy5tbToKKyAgICAg
ICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmNvbmZpZ3VyZUNvbnRlbnRFeHRlbnNpb25Gb3JUZXN0
KToKKwogMjAyMS0wNS0xNSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAg
ICAgICBNZWRpYVNlc3Npb25Db29yZGluYXRvciBzdXJ2aXZlcyBwYWdlIHJlbG9hZC9uYXZpZ2F0
aW9uCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9tYWMvQXBwRGVsZWdhdGUubSBiL1Rv
b2xzL01pbmlCcm93c2VyL21hYy9BcHBEZWxlZ2F0ZS5tCmluZGV4IDc1ZDY5MWRlMjZiZmE5ZjNl
ZGMyMGM1MzMwMGI3YTMxNDliNzM5ZGEuLjFmZGMyZjZjYTExY2M2ZjE5MjdlOTU3MDgwODFhOWFj
NDU0MDBjMGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL21hYy9BcHBEZWxlZ2F0ZS5t
CisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL21hYy9BcHBEZWxlZ2F0ZS5tCkBAIC0zOCw3ICszOCw2
IEBACiAjaW1wb3J0IDxXZWJLaXQvX1dLRXhwZXJpbWVudGFsRmVhdHVyZS5oPgogI2ltcG9ydCA8
V2ViS2l0L19XS0ludGVybmFsRGVidWdGZWF0dXJlLmg+CiAjaW1wb3J0IDxXZWJLaXQvX1dLUHJv
Y2Vzc1Bvb2xDb25maWd1cmF0aW9uLmg+Ci0jaW1wb3J0IDxXZWJLaXQvX1dLVXNlckNvbnRlbnRF
eHRlbnNpb25TdG9yZS5oPgogI2ltcG9ydCA8V2ViS2l0L19XS1dlYnNpdGVEYXRhU3RvcmVDb25m
aWd1cmF0aW9uLmg+CiAKIGVudW0gewpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvbWFj
L0V4dGVuc2lvbk1hbmFnZXJXaW5kb3dDb250cm9sbGVyLm0gYi9Ub29scy9NaW5pQnJvd3Nlci9t
YWMvRXh0ZW5zaW9uTWFuYWdlcldpbmRvd0NvbnRyb2xsZXIubQppbmRleCAwZTQ3MzBlNWIxNDg3
ZTM3Y2JlN2RjZDU5OWI3MTNlNGY1NTg0YTcxLi4wOGM1MGRmMzRlMzNmNDcyYzVmYWIxOGQyMDI1
OGRhMTM2NTFiMWVjIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9tYWMvRXh0ZW5zaW9u
TWFuYWdlcldpbmRvd0NvbnRyb2xsZXIubQorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9tYWMvRXh0
ZW5zaW9uTWFuYWdlcldpbmRvd0NvbnRyb2xsZXIubQpAQCAtMjcsNyArMjcsNiBAQAogCiAjaW1w
b3J0ICJBcHBEZWxlZ2F0ZS5oIgogI2ltcG9ydCA8V2ViS2l0L1dLVXNlckNvbnRlbnRDb250cm9s
bGVyUHJpdmF0ZS5oPgotI2ltcG9ydCA8V2ViS2l0L19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3Rv
cmUuaD4KIAogQGltcGxlbWVudGF0aW9uIEV4dGVuc2lvbk1hbmFnZXJXaW5kb3dDb250cm9sbGVy
CiAKQEAgLTM4LDcgKzM3LDcgQEAgLSAoaW5zdGFuY2V0eXBlKWluaXQKICAgICAgICAgTlNBcnJh
eSogaW5zdGFsbGVkQ29udGVudEV4dGVuc2lvbnMgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJk
VXNlckRlZmF1bHRzXSBhcnJheUZvcktleTpAIkluc3RhbGxlZENvbnRlbnRFeHRlbnNpb25zIl07
CiAgICAgICAgIGlmIChpbnN0YWxsZWRDb250ZW50RXh0ZW5zaW9ucykgewogICAgICAgICAgICAg
Zm9yIChOU1N0cmluZyAqaWRlbnRpZmllciBpbiBpbnN0YWxsZWRDb250ZW50RXh0ZW5zaW9ucykg
ewotICAgICAgICAgICAgICAgIFtbX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZSBkZWZhdWx0
U3RvcmVdIGxvb2t1cENvbnRlbnRFeHRlbnNpb25Gb3JJZGVudGlmaWVyOmlkZW50aWZpZXIgY29t
cGxldGlvbkhhbmRsZXI6XihfV0tVc2VyQ29udGVudEZpbHRlciAqZXh0ZW5zaW9uLCBOU0Vycm9y
ICplcnJvcikKKyAgICAgICAgICAgICAgICBbW1dLQ29udGVudFJ1bGVMaXN0U3RvcmUgZGVmYXVs
dFN0b3JlXSBsb29rVXBDb250ZW50UnVsZUxpc3RGb3JJZGVudGlmaWVyOmlkZW50aWZpZXIgY29t
cGxldGlvbkhhbmRsZXI6XihXS0NvbnRlbnRSdWxlTGlzdCAqbGlzdCwgTlNFcnJvciAqZXJyb3Ip
CiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IpIHsKICAg
ICAgICAgICAgICAgICAgICAgICAgIE5TTG9nKEAiRXh0ZW5zaW9uIHN0b3JlIGdvdCBvdXQgb2Yg
c3luYyB3aXRoIHN5c3RlbSBkZWZhdWx0cy4iKTsKQEAgLTQ2LDcgKzQ1LDcgQEAgLSAoaW5zdGFu
Y2V0eXBlKWluaXQKICAgICAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgICAg
IEJyb3dzZXJBcHBEZWxlZ2F0ZSogYXBwRGVsZWdhdGUgPSBbW05TQXBwbGljYXRpb24gc2hhcmVk
QXBwbGljYXRpb25dIGJyb3dzZXJBcHBEZWxlZ2F0ZV07Ci0gICAgICAgICAgICAgICAgICAgIFth
cHBEZWxlZ2F0ZS51c2VyQ29udGVudENvbnRvbGxlciBfYWRkVXNlckNvbnRlbnRGaWx0ZXI6ZXh0
ZW5zaW9uXTsKKyAgICAgICAgICAgICAgICAgICAgW2FwcERlbGVnYXRlLnVzZXJDb250ZW50Q29u
dG9sbGVyIGFkZENvbnRlbnRSdWxlTGlzdDpsaXN0XTsKICAgICAgICAgICAgICAgICB9XTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAKQEAgLTgzLDcgKzgyLDcgQEAgLSAoSUJBY3Rp
b24pYWRkOihpZClzZW5kZXIKICAgICAgICAgTlNTdHJpbmcgKmlkZW50aWZpZXIgPSB1cmwubGFz
dFBhdGhDb21wb25lbnQ7CiAgICAgICAgIE5TU3RyaW5nICpqc29uU3RyaW5nID0gW1tOU1N0cmlu
ZyBhbGxvY10gaW5pdFdpdGhDb250ZW50c09mVVJMOnVybCBlbmNvZGluZzpOU1VURjhTdHJpbmdF
bmNvZGluZyBlcnJvcjpuaWxdOwogCi0gICAgICAgIFtbX1dLVXNlckNvbnRlbnRFeHRlbnNpb25T
dG9yZSBkZWZhdWx0U3RvcmVdIGNvbXBpbGVDb250ZW50RXh0ZW5zaW9uRm9ySWRlbnRpZmllcjpp
ZGVudGlmaWVyIGVuY29kZWRDb250ZW50RXh0ZW5zaW9uOmpzb25TdHJpbmcgY29tcGxldGlvbkhh
bmRsZXI6XihfV0tVc2VyQ29udGVudEZpbHRlciAqZXh0ZW5zaW9uLCBOU0Vycm9yICplcnJvcikK
KyAgICAgICAgW1tXS0NvbnRlbnRSdWxlTGlzdFN0b3JlIGRlZmF1bHRTdG9yZV0gY29tcGlsZUNv
bnRlbnRSdWxlTGlzdEZvcklkZW50aWZpZXI6aWRlbnRpZmllciBlbmNvZGVkQ29udGVudFJ1bGVM
aXN0Ompzb25TdHJpbmcgY29tcGxldGlvbkhhbmRsZXI6XihXS0NvbnRlbnRSdWxlTGlzdCAqbGlz
dCwgTlNFcnJvciAqZXJyb3IpCiAgICAgICAgIHsKICAgICAgICAgICAgIAogICAgICAgICAgICAg
aWYgKGVycm9yKSB7CkBAIC0xMDgsNyArMTA3LDcgQEAgLSAoSUJBY3Rpb24pYWRkOihpZClzZW5k
ZXIKICAgICAgICAgICAgIFthcnJheUNvbnRyb2xsZXIgYWRkT2JqZWN0OmlkZW50aWZpZXJdOwog
CiAgICAgICAgICAgICBCcm93c2VyQXBwRGVsZWdhdGUqIGFwcERlbGVnYXRlID0gW1tOU0FwcGxp
Y2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSBicm93c2VyQXBwRGVsZWdhdGVdOwotICAgICAgICAg
ICAgW2FwcERlbGVnYXRlLnVzZXJDb250ZW50Q29udG9sbGVyIF9hZGRVc2VyQ29udGVudEZpbHRl
cjpleHRlbnNpb25dOworICAgICAgICAgICAgW2FwcERlbGVnYXRlLnVzZXJDb250ZW50Q29udG9s
bGVyIGFkZENvbnRlbnRSdWxlTGlzdDpsaXN0XTsKICAgICAgICAgfV07CiAgICAgfV07CiAKQEAg
LTEyMCw3ICsxMTksNyBAQCAtIChJQkFjdGlvbilyZW1vdmU6KGlkKXNlbmRlcgogCiAgICAgTlNT
dHJpbmcgKmlkZW50aWZpZXJUb1JlbW92ZSA9IGFycmF5Q29udHJvbGxlci5hcnJhbmdlZE9iamVj
dHNbaW5kZXhdOwogCi0gICAgW1tfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlIGRlZmF1bHRT
dG9yZV0gcmVtb3ZlQ29udGVudEV4dGVuc2lvbkZvcklkZW50aWZpZXI6aWRlbnRpZmllclRvUmVt
b3ZlIGNvbXBsZXRpb25IYW5kbGVyOl4oTlNFcnJvciAqZXJyb3IpCisgICAgW1tXS0NvbnRlbnRS
dWxlTGlzdFN0b3JlIGRlZmF1bHRTdG9yZV0gcmVtb3ZlQ29udGVudFJ1bGVMaXN0Rm9ySWRlbnRp
ZmllcjppZGVudGlmaWVyVG9SZW1vdmUgY29tcGxldGlvbkhhbmRsZXI6XihOU0Vycm9yICplcnJv
cikKICAgICB7CiAgICAgICAgIGlmIChlcnJvcikgewogICAgICAgICAgICAgTlNBbGVydCAqYWxl
cnQgPSBbTlNBbGVydCBhbGVydFdpdGhFcnJvcjplcnJvcl07CmRpZmYgLS1naXQgYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDY0NmY4NDIwN2EwZWUzODk4YWM3Yzk5YWE3YjNiOGI1ZDI4NDhlMzguLmU5ZmI3YmM3
NjkyZjMwYWQ3NTE0MTM4M2Q1NjliMDU5ZjkwYTU4MTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC04MDYsNyArODA2LDYgQEAKIAkJN0NENEMyNkUxRTJDMEU2RTAwOTI5NDcwIC8qIFN0cmlu
Z0NvbmNhdGVuYXRlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDdDRDRDMjZDMUUyQzBFNkUwMDkyOTQ3MCAvKiBTdHJpbmdDb25jYXRlbmF0ZS5jcHAg
Ki87IH07CiAJCTdDRDcwQzRGMjRBNDM2RUUwMEU2MTA0MCAvKiBTdHJpbmdQYXJzaW5nQnVmZmVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRDcw
QzRFMjRBNDM2RUUwMEU2MTA0MCAvKiBTdHJpbmdQYXJzaW5nQnVmZmVyLmNwcCAqLzsgfTsKIAkJ
N0NFQjYyQUIyMjM2MDlERTAwNjlDQkIwIC8qIEl0ZXJhdG9yUmFuZ2UuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0NFQjYyQTkyMjM2MDg2QzAwNjlD
QkIwIC8qIEl0ZXJhdG9yUmFuZ2UuY3BwICovOyB9OwotCQk3Q0VGQTk2NjFBQzBCOUUyMDBCOTEw
RkQgLyogX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZS5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRUZBOTY0MUFDMEI5RTIwMEI5MTBGRCAvKiBf
V0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLm1tICovOyB9OwogCQk3Q0ZCQ0FFNTE3NDMyMzhG
MDBCMkJGQ0YgLyogV2lsbExvYWRfQnVuZGxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRkJDQUUzMTc0MzIzOEUwMEIyQkZDRiAvKiBXaWxsTG9h
ZF9CdW5kbGUuY3BwICovOyB9OwogCQk4MzBGMkUwQzIwOUE2QThFMDBEMzZGRjEgLyogV2ViQ29u
dGVudFByb2Nlc3NEaWRUZXJtaW5hdGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4MzBGMkUwQjIwOUE2QTc0MDBEMzZGRjEgLyogV2ViQ29udGVudFBy
b2Nlc3NEaWRUZXJtaW5hdGUubW0gKi87IH07CiAJCTgzMTQ4QjA2MjAyQUM2QTQwMEJBREU5OSAv
KiBJbmplY3RlZEJ1bmRsZURpc2FibGVPdmVycmlkZUJ1aWx0aW5zQmVoYXZpb3IuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODMxNDhCMDUyMDJBQzY4
MjAwQkFERTk5IC8qIEluamVjdGVkQnVuZGxlRGlzYWJsZU92ZXJyaWRlQnVpbHRpbnNCZWhhdmlv
ci5jcHAgKi87IH07CkBAIC0yNDgzLDcgKzI0ODIsNiBAQAogCQk3Q0Q0QzI2QzFFMkMwRTZFMDA5
Mjk0NzAgLyogU3RyaW5nQ29uY2F0ZW5hdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gU3RyaW5nQ29uY2F0ZW5hdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3Q0Q3MEM0RTI0QTQzNkVFMDBFNjEwNDAgLyogU3RyaW5nUGFyc2luZ0J1ZmZlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHJpbmdQYXJzaW5nQnVmZmVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0NFQjYyQTkyMjM2MDg2QzAwNjlDQkIwIC8qIEl0ZXJhdG9y
UmFuZ2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSXRlcmF0b3JSYW5nZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdDRUZBOTY0MUFDMEI5RTIwMEI5MTBGRCAvKiBfV0tVc2Vy
Q29udGVudEV4dGVuc2lvblN0b3JlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZS5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJN0NGQkNBREQxNzQzMjM0RjAwQjJCRkNGIC8qIFdpbGxMb2FkLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdpbGxMb2FkLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0NGQkNBRTMxNzQzMjM4RTAwQjJCRkNGIC8qIFdpbGxM
b2FkX0J1bmRsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXaWxs
TG9hZF9CdW5kbGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4MUI1MDE5MjE0
MEYyMzIzMDBEOUVCNTggLyogU3RyaW5nQnVpbGRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBTdHJpbmdCdWlsZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTMzNDIsNyArMzM0MCw2IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJCQlBMTZGNjZC
ODFDNDBFOUUxMDBCRDREMjQgLyogUmVzb3VyY2VzICovLAogCQkJCTVDRUFCNURGMUZBOTM3Q0Iw
MEE3N0ZBQSAvKiBfV0tJbnB1dERlbGVnYXRlLm1tICovLAotCQkJCTdDRUZBOTY0MUFDMEI5RTIw
MEI5MTBGRCAvKiBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLm1tICovLAogCQkJCTU3QzYy
NDREMjM0NkJDRkEwMDM4M0ZFNyAvKiBfV0tXZWJBdXRoZW50aWNhdGlvblBhbmVsLm1tICovLAog
CQkJCTA3NDY2NDU4MjJGRjYzMDUwMEUzNDUxQSAvKiBBY2Nlc3NpYmlsaXR5VGVzdFBsdWdpbi5t
bSAqLywKIAkJCQkwNzQ2NjQ1NzIyRkY2MkQwMDBFMzQ1MUEgLyogQWNjZXNzaWJpbGl0eVRlc3RT
dXBwb3J0UHJvdG9jb2wuaCAqLywKQEAgLTUyNjksNyArNTI2Niw2IEBACiAJCQlidWlsZEFjdGlv
bk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCiAJCQkJNUNFQUI1RTExRkE5MzlGNDAw
QTc3RkFBIC8qIF9XS0lucHV0RGVsZWdhdGUubW0gaW4gU291cmNlcyAqLywKLQkJCQk3Q0VGQTk2
NjFBQzBCOUUyMDBCOTEwRkQgLyogX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZS5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTU3QzYyNDRFMjM0NkJDRkEwMDM4M0ZFNyAvKiBfV0tXZWJBdXRoZW50
aWNhdGlvblBhbmVsLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFRTQxQTQxMUFFNjAwNDQ3
QzRDIC8qIEFib3V0QmxhbmtMb2FkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDQ0U3RUIzMUE0
MTFBN0UwMDQ0N0M0QyAvKiBBY2NlcHRzRmlyc3RNb3VzZS5tbSBpbiBTb3VyY2VzICovLApkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJzaXRlUG9s
aWNpZXMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dlYnNpdGVQ
b2xpY2llcy5tbQppbmRleCAyOTMyMTQwZDYzZjcxZGMwNzQ5MTM2ZTQ3MjM5MDNmM2FkYjNmYjEw
Li4yNjNhODU1Njk3NWVjNGZjZTMyM2QyNTc5YjBkMGM2ZWVkNjBiZDk5IDEwMDY0NAotLS0gYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dlYnNpdGVQb2xpY2llcy5tbQor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dlYnNpdGVQb2xpY2ll
cy5tbQpAQCAtMjksNiArMjksNyBAQAogI2ltcG9ydCAiVGVzdE5hdmlnYXRpb25EZWxlZ2F0ZS5o
IgogI2ltcG9ydCAiVGVzdFVJRGVsZWdhdGUuaCIKICNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIK
KyNpbXBvcnQgPFdlYktpdC9XS0NvbnRlbnRSdWxlTGlzdFN0b3JlUHJpdmF0ZS5oPgogI2ltcG9y
dCA8V2ViS2l0L1dLTXV0YWJsZURpY3Rpb25hcnkuaD4KICNpbXBvcnQgPFdlYktpdC9XS05hdmln
YXRpb25EZWxlZ2F0ZVByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1BhZ2VQcml2YXRlLmg+
CkBAIC00Myw3ICs0NCw2IEBACiAjaW1wb3J0IDxXZWJLaXQvV0tXZWJzaXRlRGF0YVN0b3JlUHJp
dmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2Vic2l0ZVBvbGljaWVzLmg+CiAjaW1wb3J0IDxX
ZWJLaXQvX1dLQ3VzdG9tSGVhZGVyRmllbGRzLmg+Ci0jaW1wb3J0IDxXZWJLaXQvX1dLVXNlckNv
bnRlbnRFeHRlbnNpb25TdG9yZVByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9fV0tXZWJzaXRl
RGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oPgogI2ltcG9ydCA8d3RmL0Z1bmN0aW9uLmg+CiAjaW1w
b3J0IDx3dGYvSGFzaE1hcC5oPgpAQCAtMTM3LDE1ICsxMzcsMTUgQEAgc3RhdGljIHNpemVfdCBh
bGVydENvdW50OwogCiBURVNUKFdlYnBhZ2VQcmVmZXJlbmNlcywgV2Vic2l0ZVBvbGljaWVzQ29u
dGVudEJsb2NrZXJzRW5hYmxlZCkKIHsKLSAgICBbW19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3Rv
cmUgZGVmYXVsdFN0b3JlXSBfcmVtb3ZlQWxsQ29udGVudEV4dGVuc2lvbnNdOworICAgIFtbV0tD
b250ZW50UnVsZUxpc3RTdG9yZSBkZWZhdWx0U3RvcmVdIF9yZW1vdmVBbGxDb250ZW50UnVsZUxp
c3RzXTsKIAogICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25m
aWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CiAKICAgICBkb25lQ29tcGlsaW5nID0gZmFsc2U7CiAg
ICAgTlNTdHJpbmcqIGNvbnRlbnRCbG9ja2VyID0gQCJbe1wiYWN0aW9uXCI6e1widHlwZVwiOlwi
Y3NzLWRpc3BsYXktbm9uZVwiLFwic2VsZWN0b3JcIjpcIi5oaWRkZW5cIn0sXCJ0cmlnZ2VyXCI6
e1widXJsLWZpbHRlclwiOlwiLipcIn19XSI7Ci0gICAgW1tfV0tVc2VyQ29udGVudEV4dGVuc2lv
blN0b3JlIGRlZmF1bHRTdG9yZV0gY29tcGlsZUNvbnRlbnRFeHRlbnNpb25Gb3JJZGVudGlmaWVy
OkAiV2Vic2l0ZVBvbGljaWVzVGVzdCIgZW5jb2RlZENvbnRlbnRFeHRlbnNpb246Y29udGVudEJs
b2NrZXIgY29tcGxldGlvbkhhbmRsZXI6XihfV0tVc2VyQ29udGVudEZpbHRlciAqZmlsdGVyLCBO
U0Vycm9yICplcnJvcikgeworICAgIFtbV0tDb250ZW50UnVsZUxpc3RTdG9yZSBkZWZhdWx0U3Rv
cmVdIGNvbXBpbGVDb250ZW50UnVsZUxpc3RGb3JJZGVudGlmaWVyOkAiV2Vic2l0ZVBvbGljaWVz
VGVzdCIgZW5jb2RlZENvbnRlbnRSdWxlTGlzdDpjb250ZW50QmxvY2tlciBjb21wbGV0aW9uSGFu
ZGxlcjpeKFdLQ29udGVudFJ1bGVMaXN0ICpsaXN0LCBOU0Vycm9yICplcnJvcikgewogICAgICAg
ICBFWFBFQ1RfVFJVRShlcnJvciA9PSBuaWwpOwotICAgICAgICBbW2NvbmZpZ3VyYXRpb24gdXNl
ckNvbnRlbnRDb250cm9sbGVyXSBfYWRkVXNlckNvbnRlbnRGaWx0ZXI6ZmlsdGVyXTsKKyAgICAg
ICAgW1tjb25maWd1cmF0aW9uIHVzZXJDb250ZW50Q29udHJvbGxlcl0gYWRkQ29udGVudFJ1bGVM
aXN0Omxpc3RdOwogICAgICAgICBkb25lQ29tcGlsaW5nID0gdHJ1ZTsKICAgICB9XTsKICAgICBU
ZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmVDb21waWxpbmcpOwpAQCAtMTcwLDcgKzE3MCw3
IEBAIFRFU1QoV2VicGFnZVByZWZlcmVuY2VzLCBXZWJzaXRlUG9saWNpZXNDb250ZW50QmxvY2tl
cnNFbmFibGVkKQogICAgIFt3ZWJWaWV3IF9yZWxvYWRXaXRob3V0Q29udGVudEJsb2NrZXJzXTsK
ICAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJnJlY2VpdmVkQWxlcnQpOwogCi0gICAgW1tf
V0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlIGRlZmF1bHRTdG9yZV0gX3JlbW92ZUFsbENvbnRl
bnRFeHRlbnNpb25zXTsKKyAgICBbW1dLQ29udGVudFJ1bGVMaXN0U3RvcmUgZGVmYXVsdFN0b3Jl
XSBfcmVtb3ZlQWxsQ29udGVudFJ1bGVMaXN0c107CiB9CiAKIEBpbnRlcmZhY2UgQXV0b3BsYXlQ
b2xpY2llc0RlbGVnYXRlIDogVGVzdE5hdmlnYXRpb25EZWxlZ2F0ZSA8V0tOYXZpZ2F0aW9uRGVs
ZWdhdGUsIFdLVUlEZWxlZ2F0ZVByaXZhdGU+CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUubW0gYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL19XS1VzZXJDb250ZW50RXh0ZW5z
aW9uU3RvcmUubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk4MjI4ZDNjNGVjZDgz
M2FjN2I2OWFkZWRkZTQ4ZGI4OGU1ZGU1YzcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9f
V0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLm1tCisrKyAvZGV2L251bGwKQEAgLTEsMTgyICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0g
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQgPFdlYktpdC9X
S0ZvdW5kYXRpb24uaD4KLQotI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKLSNpbXBvcnQg
IlRlc3QuaCIKLSNpbXBvcnQgPFdlYktpdC9fV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlUHJp
dmF0ZS5oPgotI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgotCi1jbGFzcyBfV0tVc2VyQ29udGVu
dEV4dGVuc2lvblN0b3JlVGVzdCA6IHB1YmxpYyB0ZXN0aW5nOjpUZXN0IHsKLXB1YmxpYzoKLSAg
ICB2aXJ0dWFsIHZvaWQgU2V0VXAoKQotICAgIHsKLSAgICAgICAgW1tfV0tVc2VyQ29udGVudEV4
dGVuc2lvblN0b3JlIGRlZmF1bHRTdG9yZV0gX3JlbW92ZUFsbENvbnRlbnRFeHRlbnNpb25zXTsK
LSAgICB9Ci19OwotCi1zdGF0aWMgTlNTdHJpbmcgKmJhc2ljRmlsdGVyID0gQCJbe1wiYWN0aW9u
XCI6e1widHlwZVwiOlwiYmxvY2tcIn0sXCJ0cmlnZ2VyXCI6e1widXJsLWZpbHRlclwiOlwiLip3
ZWJraXQub3JnXCJ9fV0iOwotCi1URVNUX0YoX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZVRl
c3QsIENvbXBpbGUpCi17Ci0gICAgX19ibG9jayBib29sIGRvbmVDb21waWxpbmcgPSBmYWxzZTsK
LSAgICBbW19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUgZGVmYXVsdFN0b3JlXSBjb21waWxl
Q29udGVudEV4dGVuc2lvbkZvcklkZW50aWZpZXI6QCJUZXN0RXh0ZW5zaW9uIiBlbmNvZGVkQ29u
dGVudEV4dGVuc2lvbjpiYXNpY0ZpbHRlciBjb21wbGV0aW9uSGFuZGxlcjpeKF9XS1VzZXJDb250
ZW50RmlsdGVyICpmaWx0ZXIsIE5TRXJyb3IgKmVycm9yKSB7Ci0gICAgCi0gICAgICAgIEVYUEVD
VF9OT1RfTlVMTChmaWx0ZXIpOwotICAgICAgICBFWFBFQ1RfTlVMTChlcnJvcik7Ci0KLSAgICAg
ICAgZG9uZUNvbXBpbGluZyA9IHRydWU7Ci0gICAgfV07Ci0gICAgVGVzdFdlYktpdEFQSTo6VXRp
bDo6cnVuKCZkb25lQ29tcGlsaW5nKTsKLX0KLQotc3RhdGljIE5TU3RyaW5nICppbnZhbGlkRmls
dGVyID0gQCJbIjsKLQotc3RhdGljIHZvaWQgY2hlY2tEb21haW4oTlNFcnJvciAqZXJyb3IpCi17
Ci0gICAgRVhQRUNUX1NUUkVRKFtbZXJyb3IgZG9tYWluXSBVVEY4U3RyaW5nXSwgW19XS1VzZXJD
b250ZW50RXh0ZW5zaW9uc0RvbWFpbiBVVEY4U3RyaW5nXSk7Ci19Ci0KLVRFU1RfRihfV0tVc2Vy
Q29udGVudEV4dGVuc2lvblN0b3JlVGVzdCwgSW52YWxpZEV4dGVuc2lvbikKLXsKLSAgICBfX2Js
b2NrIGJvb2wgZG9uZUNvbXBpbGluZyA9IGZhbHNlOwotICAgIFtbX1dLVXNlckNvbnRlbnRFeHRl
bnNpb25TdG9yZSBkZWZhdWx0U3RvcmVdIGNvbXBpbGVDb250ZW50RXh0ZW5zaW9uRm9ySWRlbnRp
ZmllcjpAIlRlc3RFeHRlbnNpb24iIGVuY29kZWRDb250ZW50RXh0ZW5zaW9uOmludmFsaWRGaWx0
ZXIgY29tcGxldGlvbkhhbmRsZXI6XihfV0tVc2VyQ29udGVudEZpbHRlciAqZmlsdGVyLCBOU0Vy
cm9yICplcnJvcikgewotICAgIAotICAgICAgICBFWFBFQ1RfTlVMTChmaWx0ZXIpOwotICAgICAg
ICBFWFBFQ1RfTk9UX05VTEwoZXJyb3IpOwotICAgICAgICBjaGVja0RvbWFpbihlcnJvcik7Ci0g
ICAgICAgIEVYUEVDVF9FUShlcnJvci5jb2RlLCBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3Jl
RXJyb3JDb21waWxlRmFpbGVkKTsKLSAgICAgICAgRVhQRUNUX1NUUkVRKCJSdWxlIGxpc3QgY29t
cGlsYXRpb24gZmFpbGVkOiBGYWlsZWQgdG8gcGFyc2UgdGhlIEpTT04gU3RyaW5nLiIsIFtbZXJy
b3IgaGVscEFuY2hvcl0gVVRGOFN0cmluZ10pOwotCi0gICAgICAgIGRvbmVDb21waWxpbmcgPSB0
cnVlOwotICAgIH1dOwotICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZUNvbXBpbGlu
Zyk7Ci19Ci0KLVRFU1RfRihfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlVGVzdCwgTG9va3Vw
KQotewotICAgIF9fYmxvY2sgYm9vbCBkb25lQ29tcGlsaW5nID0gZmFsc2U7Ci0gICAgW1tfV0tV
c2VyQ29udGVudEV4dGVuc2lvblN0b3JlIGRlZmF1bHRTdG9yZV0gY29tcGlsZUNvbnRlbnRFeHRl
bnNpb25Gb3JJZGVudGlmaWVyOkAiVGVzdEV4dGVuc2lvbiIgZW5jb2RlZENvbnRlbnRFeHRlbnNp
b246YmFzaWNGaWx0ZXIgY29tcGxldGlvbkhhbmRsZXI6XihfV0tVc2VyQ29udGVudEZpbHRlciAq
ZmlsdGVyLCBOU0Vycm9yICplcnJvcikgewotICAgIAotICAgICAgICBFWFBFQ1RfTk9UX05VTEwo
ZmlsdGVyKTsKLSAgICAgICAgRVhQRUNUX05VTEwoZXJyb3IpOwotCi0gICAgICAgIGRvbmVDb21w
aWxpbmcgPSB0cnVlOwotICAgIH1dOwotICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9u
ZUNvbXBpbGluZyk7Ci0KLSAgICBfX2Jsb2NrIGJvb2wgZG9uZUxvb2tpbmdVcCA9IGZhbHNlOwot
ICAgIFtbX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZSBkZWZhdWx0U3RvcmVdIGxvb2t1cENv
bnRlbnRFeHRlbnNpb25Gb3JJZGVudGlmaWVyOkAiVGVzdEV4dGVuc2lvbiIgY29tcGxldGlvbkhh
bmRsZXI6XihfV0tVc2VyQ29udGVudEZpbHRlciAqZmlsdGVyLCBOU0Vycm9yICplcnJvcikgewot
ICAgIAotICAgICAgICBFWFBFQ1RfTk9UX05VTEwoZmlsdGVyKTsKLSAgICAgICAgRVhQRUNUX05V
TEwoZXJyb3IpOwotCi0gICAgICAgIGRvbmVMb29raW5nVXAgPSB0cnVlOwotICAgIH1dOwotICAg
IFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZUxvb2tpbmdVcCk7Ci19Ci0KLVRFU1RfRihf
V0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlVGVzdCwgTm9uRXhpc3RpbmdJZGVudGlmaWVyTG9v
a3VwKQotewotICAgIF9fYmxvY2sgYm9vbCBkb25lTG9va2luZ1VwID0gZmFsc2U7Ci0gICAgW1tf
V0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlIGRlZmF1bHRTdG9yZV0gbG9va3VwQ29udGVudEV4
dGVuc2lvbkZvcklkZW50aWZpZXI6QCJEb2VzTm90RXhpc3QiIGNvbXBsZXRpb25IYW5kbGVyOl4o
X1dLVXNlckNvbnRlbnRGaWx0ZXIgKmZpbHRlciwgTlNFcnJvciAqZXJyb3IpIHsKLSAgICAKLSAg
ICAgICAgRVhQRUNUX05VTEwoZmlsdGVyKTsKLSAgICAgICAgRVhQRUNUX05PVF9OVUxMKGVycm9y
KTsKLSAgICAgICAgY2hlY2tEb21haW4oZXJyb3IpOwotICAgICAgICBFWFBFQ1RfRVEoZXJyb3Iu
Y29kZSwgX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZUVycm9yTG9va3VwRmFpbGVkKTsKLSAg
ICAgICAgRVhQRUNUX1NUUkVRKCJSdWxlIGxpc3QgbG9va3VwIGZhaWxlZDogVW5zcGVjaWZpZWQg
ZXJyb3IgZHVyaW5nIGxvb2t1cC4iLCBbW2Vycm9yIGhlbHBBbmNob3JdIFVURjhTdHJpbmddKTsK
LSAgICAgICAgCi0gICAgICAgIGRvbmVMb29raW5nVXAgPSB0cnVlOwotICAgIH1dOwotICAgIFRl
c3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZUxvb2tpbmdVcCk7Ci19Ci0KLVRFU1RfRihfV0tV
c2VyQ29udGVudEV4dGVuc2lvblN0b3JlVGVzdCwgVmVyc2lvbk1pc21hdGNoKQotewotICAgIF9f
YmxvY2sgYm9vbCBkb25lQ29tcGlsaW5nID0gZmFsc2U7Ci0gICAgW1tfV0tVc2VyQ29udGVudEV4
dGVuc2lvblN0b3JlIGRlZmF1bHRTdG9yZV0gY29tcGlsZUNvbnRlbnRFeHRlbnNpb25Gb3JJZGVu
dGlmaWVyOkAiVGVzdEV4dGVuc2lvbiIgZW5jb2RlZENvbnRlbnRFeHRlbnNpb246YmFzaWNGaWx0
ZXIgY29tcGxldGlvbkhhbmRsZXI6XihfV0tVc2VyQ29udGVudEZpbHRlciAqZmlsdGVyLCBOU0Vy
cm9yICplcnJvcikKLSAgICB7Ci0gICAgICAgIAotICAgICAgICBFWFBFQ1RfTk9UX05VTEwoZmls
dGVyKTsKLSAgICAgICAgRVhQRUNUX05VTEwoZXJyb3IpOwotICAgICAgICAKLSAgICAgICAgZG9u
ZUNvbXBpbGluZyA9IHRydWU7Ci0gICAgfV07Ci0gICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVu
KCZkb25lQ29tcGlsaW5nKTsKLQotICAgIFtbX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZSBk
ZWZhdWx0U3RvcmVdIF9pbnZhbGlkYXRlQ29udGVudEV4dGVuc2lvblZlcnNpb25Gb3JJZGVudGlm
aWVyOkAiVGVzdEV4dGVuc2lvbiJdOwotICAgIAotICAgIF9fYmxvY2sgYm9vbCBkb25lTG9va2lu
Z1VwID0gZmFsc2U7Ci0gICAgW1tfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlIGRlZmF1bHRT
dG9yZV0gbG9va3VwQ29udGVudEV4dGVuc2lvbkZvcklkZW50aWZpZXI6QCJUZXN0RXh0ZW5zaW9u
IiBjb21wbGV0aW9uSGFuZGxlcjpeKF9XS1VzZXJDb250ZW50RmlsdGVyICpmaWx0ZXIsIE5TRXJy
b3IgKmVycm9yKQotICAgIHsKLSAgICAgICAgCi0gICAgICAgIEVYUEVDVF9OVUxMKGZpbHRlcik7
Ci0gICAgICAgIEVYUEVDVF9OT1RfTlVMTChlcnJvcik7Ci0gICAgICAgIGNoZWNrRG9tYWluKGVy
cm9yKTsKLSAgICAgICAgRVhQRUNUX0VRKGVycm9yLmNvZGUsIF9XS1VzZXJDb250ZW50RXh0ZW5z
aW9uU3RvcmVFcnJvclZlcnNpb25NaXNtYXRjaCk7Ci0gICAgICAgIEVYUEVDVF9TVFJFUSgiUnVs
ZSBsaXN0IGxvb2t1cCBmYWlsZWQ6IFZlcnNpb24gb2YgZmlsZSBkb2VzIG5vdCBtYXRjaCB2ZXJz
aW9uIG9mIGludGVycHJldGVyLiIsIFtbZXJyb3IgaGVscEFuY2hvcl0gVVRGOFN0cmluZ10pOwot
ICAgICAgICAKLSAgICAgICAgZG9uZUxvb2tpbmdVcCA9IHRydWU7Ci0gICAgfV07Ci0gICAgVGVz
dFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lTG9va2luZ1VwKTsKLX0KLQotVEVTVF9GKF9XS1Vz
ZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVUZXN0LCBSZW1vdmFsKQotewotICAgIF9fYmxvY2sgYm9v
bCBkb25lQ29tcGlsaW5nID0gZmFsc2U7Ci0gICAgW1tfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0
b3JlIGRlZmF1bHRTdG9yZV0gY29tcGlsZUNvbnRlbnRFeHRlbnNpb25Gb3JJZGVudGlmaWVyOkAi
VGVzdEV4dGVuc2lvbiIgZW5jb2RlZENvbnRlbnRFeHRlbnNpb246YmFzaWNGaWx0ZXIgY29tcGxl
dGlvbkhhbmRsZXI6XihfV0tVc2VyQ29udGVudEZpbHRlciAqZmlsdGVyLCBOU0Vycm9yICplcnJv
cikgewotICAgIAotICAgICAgICBFWFBFQ1RfTk9UX05VTEwoZmlsdGVyKTsKLSAgICAgICAgRVhQ
RUNUX05VTEwoZXJyb3IpOwotCi0gICAgICAgIGRvbmVDb21waWxpbmcgPSB0cnVlOwotICAgIH1d
OwotICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZUNvbXBpbGluZyk7Ci0KLSAgICBf
X2Jsb2NrIGJvb2wgZG9uZVJlbW92aW5nID0gZmFsc2U7Ci0gICAgW1tfV0tVc2VyQ29udGVudEV4
dGVuc2lvblN0b3JlIGRlZmF1bHRTdG9yZV0gcmVtb3ZlQ29udGVudEV4dGVuc2lvbkZvcklkZW50
aWZpZXI6QCJUZXN0RXh0ZW5zaW9uIiBjb21wbGV0aW9uSGFuZGxlcjpeKE5TRXJyb3IgKmVycm9y
KSB7Ci0gICAgICAgIEVYUEVDVF9OVUxMKGVycm9yKTsKLQotICAgICAgICBkb25lUmVtb3Zpbmcg
PSB0cnVlOwotICAgIH1dOwotICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZVJlbW92
aW5nKTsKLX0KLQotVEVTVF9GKF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVUZXN0LCBOb25F
eGlzdGluZ0lkZW50aWZpZXJSZW1vdmUpCi17Ci0gICAgX19ibG9jayBib29sIGRvbmVSZW1vdmlu
ZyA9IGZhbHNlOwotICAgIFtbX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZSBkZWZhdWx0U3Rv
cmVdIHJlbW92ZUNvbnRlbnRFeHRlbnNpb25Gb3JJZGVudGlmaWVyOkAiRG9lc05vdEV4aXN0IiBj
b21wbGV0aW9uSGFuZGxlcjpeKE5TRXJyb3IgKmVycm9yKSB7Ci0gICAgICAgIEVYUEVDVF9OT1Rf
TlVMTChlcnJvcik7Ci0gICAgICAgIGNoZWNrRG9tYWluKGVycm9yKTsKLSAgICAgICAgRVhQRUNU
X0VRKGVycm9yLmNvZGUsIF9XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmVFcnJvclJlbW92ZUZh
aWxlZCk7Ci0gICAgICAgIEVYUEVDVF9TVFJFUSgiUnVsZSBsaXN0IHJlbW92YWwgZmFpbGVkOiBV
bnNwZWNpZmllZCBlcnJvciBkdXJpbmcgcmVtb3ZlLiIsIFtbZXJyb3IgaGVscEFuY2hvcl0gVVRG
OFN0cmluZ10pOwotCi0gICAgICAgIGRvbmVSZW1vdmluZyA9IHRydWU7Ci0gICAgfV07Ci0gICAg
VGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lUmVtb3ZpbmcpOwotfQpkaWZmIC0tZ2l0IGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0Q29udHJvbGxlckNvY29hLm1tCmluZGV4IDZm
MTRmY2Q3YjMxZjQzNjk1ZWVhYTE3MzYwMThmMjg1ODkwMTRjMDcuLjAxMDUzZTkxY2U1M2U5NDBl
NjA2ZTVhYjE4M2M2MzQ0ZmQ3Mzk0ZTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvY29jb2EvVGVzdENvbnRyb2xsZXJDb2NvYS5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL2NvY29hL1Rlc3RDb250cm9sbGVyQ29jb2EubW0KQEAgLTM1LDYgKzM1LDcgQEAKICNpbXBv
cnQgIldlYkNvcmVUZXN0U3VwcG9ydC5oIgogI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9u
Lmg+CiAjaW1wb3J0IDxTZWN1cml0eS9TZWNJdGVtLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tDb250
ZW50UnVsZUxpc3RTdG9yZVByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS0NvbnRleHRDb25m
aWd1cmF0aW9uUmVmLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tDb250ZXh0UHJpdmF0ZS5oPgogI2lt
cG9ydCA8V2ViS2l0L1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg+CkBAIC01MCw4ICs1MSw2IEBA
CiAjaW1wb3J0IDxXZWJLaXQvV0tXZWJzaXRlRGF0YVN0b3JlUHJpdmF0ZS5oPgogI2ltcG9ydCA8
V2ViS2l0L1dLV2Vic2l0ZURhdGFTdG9yZVJlZi5oPgogI2ltcG9ydCA8V2ViS2l0L19XS0FwcGxp
Y2F0aW9uTWFuaWZlc3QuaD4KLSNpbXBvcnQgPFdlYktpdC9fV0tVc2VyQ29udGVudEV4dGVuc2lv
blN0b3JlLmg+Ci0jaW1wb3J0IDxXZWJLaXQvX1dLVXNlckNvbnRlbnRFeHRlbnNpb25TdG9yZVBy
aXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9fV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlv
bi5oPgogI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KICNpbXBvcnQgPHd0Zi9jb2NvYS9WZWN0
b3JDb2NvYS5oPgpAQCAtMjYzLDE1ICsyNjIsMTYgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0
RGVmYXVsdENhbGVuZGFyVHlwZShOU1N0cmluZyAqaWRlbnRpZmllciwgTlNTdHJpbmcgKmxvY2EK
IHZvaWQgVGVzdENvbnRyb2xsZXI6OnJlc2V0Q29udGVudEV4dGVuc2lvbnMoKQogewogICAgIF9f
YmxvY2sgYm9vbCBkb25lUmVtb3ZpbmcgPSBmYWxzZTsKLSAgICBbW19XS1VzZXJDb250ZW50RXh0
ZW5zaW9uU3RvcmUgZGVmYXVsdFN0b3JlXSByZW1vdmVDb250ZW50RXh0ZW5zaW9uRm9ySWRlbnRp
ZmllcjpAIlRlc3RDb250ZW50RXh0ZW5zaW9ucyIgY29tcGxldGlvbkhhbmRsZXI6XihOU0Vycm9y
ICplcnJvcikgeworICAgIC8vIEZJWE1FOiBUaGlzIGRvZXMgbm90IG1hdGNoIHRoZSBzdG9yZSB1
c2VkIGluIFRlc3RDb250cm9sbGVyOjpjb25maWd1cmVDb250ZW50RXh0ZW5zaW9uRm9yVGVzdC4g
SXQgcHJvYmFibHkgc2hvdWxkLgorICAgIFtbV0tDb250ZW50UnVsZUxpc3RTdG9yZSBkZWZhdWx0
U3RvcmVdIHJlbW92ZUNvbnRlbnRSdWxlTGlzdEZvcklkZW50aWZpZXI6QCJUZXN0Q29udGVudEV4
dGVuc2lvbnMiIGNvbXBsZXRpb25IYW5kbGVyOl4oTlNFcnJvciAqZXJyb3IpIHsKICAgICAgICAg
ZG9uZVJlbW92aW5nID0gdHJ1ZTsKICAgICB9XTsKICAgICBwbGF0Zm9ybVJ1blVudGlsKGRvbmVS
ZW1vdmluZywgbm9UaW1lb3V0KTsKLSAgICBbW19XS1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUg
ZGVmYXVsdFN0b3JlXSBfcmVtb3ZlQWxsQ29udGVudEV4dGVuc2lvbnNdOworICAgIFtbV0tDb250
ZW50UnVsZUxpc3RTdG9yZSBkZWZhdWx0U3RvcmVdIF9yZW1vdmVBbGxDb250ZW50UnVsZUxpc3Rz
XTsKIAogICAgIGlmIChhdXRvKiB3ZWJWaWV3ID0gbWFpbldlYlZpZXcoKSkgewogICAgICAgICBU
ZXN0UnVubmVyV0tXZWJWaWV3ICpwbGF0Zm9ybVZpZXcgPSB3ZWJWaWV3LT5wbGF0Zm9ybVZpZXco
KTsKLSAgICAgICAgW3BsYXRmb3JtVmlldy5jb25maWd1cmF0aW9uLnVzZXJDb250ZW50Q29udHJv
bGxlciBfcmVtb3ZlQWxsVXNlckNvbnRlbnRGaWx0ZXJzXTsKKyAgICAgICAgW3BsYXRmb3JtVmll
dy5jb25maWd1cmF0aW9uLnVzZXJDb250ZW50Q29udHJvbGxlciByZW1vdmVBbGxDb250ZW50UnVs
ZUxpc3RzXTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
bWFjL1Rlc3RDb250cm9sbGVyTWFjLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvVGVz
dENvbnRyb2xsZXJNYWMubW0KaW5kZXggMjQwYzljNGM2NjI4YzEyYzUyYTVlMTI4N2EwY2NlYzI0
MjkwMmViYS4uMzFkZjk4OTcxOGNmMzgxZGM2MTFmMzM5YjdkYzg2NmYxYjVkNGMzZiAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvVGVzdENvbnRyb2xsZXJNYWMubW0KKysr
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvVGVzdENvbnRyb2xsZXJNYWMubW0KQEAgLTQy
LDggKzQyLDYgQEAKICNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdDb25maWd1cmF0aW9uLmg+CiAj
aW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaD4KICNpbXBvcnQg
PFdlYktpdC9XS1dlYlZpZXdQcml2YXRlLmg+Ci0jaW1wb3J0IDxXZWJLaXQvX1dLVXNlckNvbnRl
bnRFeHRlbnNpb25TdG9yZS5oPgotI2ltcG9ydCA8V2ViS2l0L19XS1VzZXJDb250ZW50RXh0ZW5z
aW9uU3RvcmVQcml2YXRlLmg+CiAjaW1wb3J0IDxtYWNoLW8vZHlsZC5oPgogCiBAaW50ZXJmYWNl
IE5TU291bmQgKCkKQEAgLTIwNiwxMCArMjA0LDEwIEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmNv
bmZpZ3VyZUNvbnRlbnRFeHRlbnNpb25Gb3JUZXN0KGNvbnN0IFRlc3RJbnZvY2F0aW9uJiB0ZXN0
CiAgICAgfSBlbHNlCiAgICAgICAgIHRlbXBEaXIgPSBbTlNVUkwgZmlsZVVSTFdpdGhQYXRoOltO
U1RlbXBvcmFyeURpcmVjdG9yeSgpIHN0cmluZ0J5QXBwZW5kaW5nUGF0aENvbXBvbmVudDpAIkNv
bnRlbnRFeHRlbnNpb25zIl0gaXNEaXJlY3Rvcnk6WUVTXTsKIAotICAgIFtbX1dLVXNlckNvbnRl
bnRFeHRlbnNpb25TdG9yZSBzdG9yZVdpdGhVUkw6dGVtcERpcl0gY29tcGlsZUNvbnRlbnRFeHRl
bnNpb25Gb3JJZGVudGlmaWVyOkAiVGVzdENvbnRlbnRFeHRlbnNpb25zIiBlbmNvZGVkQ29udGVu
dEV4dGVuc2lvbjpjb250ZW50RXh0ZW5zaW9uU3RyaW5nLmdldCgpIGNvbXBsZXRpb25IYW5kbGVy
Ol4oX1dLVXNlckNvbnRlbnRGaWx0ZXIgKmZpbHRlciwgTlNFcnJvciAqZXJyb3IpCisgICAgW1tX
S0NvbnRlbnRSdWxlTGlzdFN0b3JlIHN0b3JlV2l0aFVSTDp0ZW1wRGlyXSBjb21waWxlQ29udGVu
dFJ1bGVMaXN0Rm9ySWRlbnRpZmllcjpAIlRlc3RDb250ZW50RXh0ZW5zaW9ucyIgZW5jb2RlZENv
bnRlbnRSdWxlTGlzdDpjb250ZW50RXh0ZW5zaW9uU3RyaW5nLmdldCgpIGNvbXBsZXRpb25IYW5k
bGVyOl4oV0tDb250ZW50UnVsZUxpc3QgKmxpc3QsIE5TRXJyb3IgKmVycm9yKQogICAgIHsKICAg
ICAgICAgaWYgKCFlcnJvcikKLSAgICAgICAgICAgIFttYWluV2ViVmlldygpLT5wbGF0Zm9ybVZp
ZXcoKS5jb25maWd1cmF0aW9uLnVzZXJDb250ZW50Q29udHJvbGxlciBfYWRkVXNlckNvbnRlbnRG
aWx0ZXI6ZmlsdGVyXTsKKyAgICAgICAgICAgIFttYWluV2ViVmlldygpLT5wbGF0Zm9ybVZpZXco
KS5jb25maWd1cmF0aW9uLnVzZXJDb250ZW50Q29udHJvbGxlciBhZGRDb250ZW50UnVsZUxpc3Q6
bGlzdF07CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIE5TTG9nKEAiJUAiLCBbZXJyb3IgaGVs
cEFuY2hvcl0pOwogICAgICAgICBkb25lQ29tcGlsaW5nID0gdHJ1ZTsK
</data>
<flag name="commit-queue"
          id="449939"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>