<?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>246349</bug_id>
          
          <creation_ts>2022-10-11 10:38:36 -0700</creation_ts>
          <short_desc>REGRESSION(255361@main): RAMification 3% regression</short_desc>
          <delta_ts>2022-10-11 10:46:18 -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>
          
          <blocked>245986</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>pangle</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1904810</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2022-10-11 10:38:36 -0700</bug_when>
    <thetext>https://commits.webkit.org/255361@main introduced a regression:
RAMification 3% regression

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1904812</commentid>
    <comment_count>1</comment_count>
      <attachid>462926</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2022-10-11 10:38:40 -0700</bug_when>
    <thetext>Created attachment 462926
REVERT of 255361@main

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the revert will be successful.  This process takes approximately 15 minutes.

If you would like to land the revert faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1904819</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-10-11 10:45:20 -0700</bug_when>
    <thetext>Committed 255389@main (0b7428a43f9a): &lt;https://commits.webkit.org/255389@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 462926.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1904820</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-10-11 10:46:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/101040384&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>462926</attachid>
            <date>2022-10-11 10:38:40 -0700</date>
            <delta_ts>2022-10-11 10:45:21 -0700</delta_ts>
            <desc>REVERT of 255361@main</desc>
            <filename>bug-246349-20221011103840.patch</filename>
            <type>text/plain</type>
            <size>45077</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">RnJvbSA2ZjM1OGZjMGNlMjZlYmJmZmVjYjMwMGI2YjM2NzRiOGRjZTZkODFhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDb21taXQgUXVldWUgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3Jn
PgpEYXRlOiBUdWUsIDExIE9jdCAyMDIyIDEwOjM4OjM4IC0wNzAwClN1YmplY3Q6IFtQQVRDSF0g
VW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNTUzNjFAbWFpbi4KIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yNDYzNDkKClJBTWlmaWNhdGlvbiAzJSByZWdyZXNzaW9uCgpS
ZXZlcnRlZCBjaGFuZ2VzZXQ6CgoiUmVtb3RlIFdlYiBJbnNwZWN0b3I6IFtDb2NvYV0gYGluc3Bl
Y3RhYmxlYCBBUEkiCmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDU5
ODYKaHR0cHM6Ly9jb21taXRzLndlYmtpdC5vcmcvMjU1MzYxQG1haW4KLS0tCiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTQ29udGV4dC5oICAgICAgICAgfCAgOSArLS0KIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0Lm1tICAgICAgICB8IDE0ICstLS0tCiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTQ29udGV4dFByaXZhdGUuaCAgfCAgMiArLQogU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS9KU0NvbnRleHRSZWYuY3BwICAgIHwgNTYgKysrKysrKystLS0tLS0tLS0t
LQogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NvbnRleHRSZWYuaCAgICAgIHwgMjMgKyst
LS0tLS0KIC4uLi9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0UmVmUHJpdmF0ZS5oICB8ICA0
ICstCiAuLi4vSmF2YVNjcmlwdENvcmUvQVBJL0pTUmVtb3RlSW5zcGVjdG9yLmNwcCAgfCA1NSAr
LS0tLS0tLS0tLS0tLS0tLS0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNSZW1vdGVJbnNw
ZWN0b3IuaCB8ICAyICstCiAuLi4vSmF2YVNjcmlwdENvcmUvQVBJL1dlYktpdEF2YWlsYWJpbGl0
eS5oICAgfCAgOCAtLS0KIC4uLi9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvdGVzdEluY2x1ZGVz
Lm0gICB8ICAxIC0KIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9jb25maWcuaCAgICAgICAgICAgICAg
ICB8ICAxIC0KIC4uLi9KU0dsb2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwICAgICB8
ICAyICstCiAuLi4vcmVtb3RlL1JlbW90ZUluc3BlY3Rpb25UYXJnZXQuY3BwICAgICAgICAgfCAy
OCArKystLS0tLS0tCiAuLi4vaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0aW9uVGFyZ2V0
LmggfCAgNiArLQogLi4uL2luc3BlY3Rvci9yZW1vdGUvUmVtb3RlSW5zcGVjdG9yLmggICAgICAg
IHwgIDEgLQogLi4uL3JlbW90ZS9jb2NvYS9SZW1vdGVJbnNwZWN0b3JDb2NvYS5tbSAgICAgIHwg
MTUgKy0tLS0KIC4uLi9yZW1vdGUvZ2xpYi9SZW1vdGVJbnNwZWN0b3JHbGliLmNwcCAgICAgICB8
ICAyICstCiAuLi4vcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTb2NrZXQuY3BwICAgfCAg
MiArLQogU291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAgICAgICAgICAgICAgICAgIHwgIDgg
Ky0tCiAuLi4vSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgfCAxMiAr
Ky0tCiAuLi4vSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oICAgfCAgNiAr
LQogLi4uL3d0Zi9jb2NvYS9SdW50aW1lQXBwbGljYXRpb25DaGVja3NDb2NvYS5oIHwgIDEgLQog
U291cmNlL1dlYkNvcmUvY29uZmlnLmggICAgICAgICAgICAgICAgICAgICAgIHwgIDMgLQogLi4u
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIHwgIDEgLQogU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmNwcCAgICAgICAgICAgICAgICAgIHwgIDggKy0tCiBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuaCAgICAgICAgICAgICAgICAgICAgfCAgNCArLQogLi4uL2NvbnRl
eHQvU2VydmljZVdvcmtlclRocmVhZFByb3h5LmNwcCAgICAgIHwgIDIgKy0KIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAgICAgICB8ICA0ICstCiAuLi4vQ29jb2EvQVBJ
U2VyaWFsaXplZFNjcmlwdFZhbHVlQ29jb2EubW0gICAgfCAgNCAtLQogU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5oIHwgIDYgLS0KIC4uLi9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gICB8IDMwICsrKy0tLS0tLS0KIC4uLi9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaCAgICB8ICAyICstCiAuLi4vbWFjL1dLSW5z
cGVjdG9yVmlld0NvbnRyb2xsZXIubW0gICAgICAgICAgfCAgMSAtCiBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwICAgICAgfCAxMSArKy0tCiBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaCAgICAgICAgfCAgNCArLQogU291cmNlL1dlYktpdC9XZWJL
aXQyUHJlZml4LmggICAgICAgICAgICAgICAgIHwgIDMgLQogU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJWaWV3Lm1tICAgIHwgIDggKy0tCiAuLi4vbWFjL1dLMkJyb3dzZXJXaW5k
b3dDb250cm9sbGVyLm0gICAgICAgICAgfCAgMSAtCiAuLi4vV2ViVmlld0NvbnRyb2xsZXIubSAg
ICAgICAgICAgICAgICAgICAgICAgfCAgMSAtCiAuLi4vY29jb2EvVGVzdFJ1bm5lcldLV2ViVmll
dy5tbSAgICAgICAgICAgICAgfCAgMSAtCiA0MCBmaWxlcyBjaGFuZ2VkLCA5MiBpbnNlcnRpb25z
KCspLCAyNjAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0FQSS9KU0NvbnRleHQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0LmgK
aW5kZXggNjdmNDcwYzI0ZDcwLi5kNGU3MWNhNGU5MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU0NvbnRleHQuaApAQCAtMTcxLDE2ICsxNzEsOSBAQCBKU0NfQ0xBU1NfQVZBSUxBQkxFKG1h
Y29zKDEwLjkpLCBpb3MoNy4wKSkKIAogLyohCiBAcHJvcGVydHkKLUBkaXNjdXNzaW9uIE5hbWUg
b2YgdGhlIEpTQ29udGV4dC4gRXhwb3NlZCB3aGVuIGluc3BlY3RpbmcgdGhlIGNvbnRleHQuCitA
ZGlzY3Vzc2lvbiBOYW1lIG9mIHRoZSBKU0NvbnRleHQuIEV4cG9zZWQgd2hlbiByZW1vdGUgZGVi
dWdnaW5nIHRoZSBjb250ZXh0LgogKi8KIEBwcm9wZXJ0eSAoY29weSkgTlNTdHJpbmcgKm5hbWUg
SlNDX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTApLCBpb3MoOC4wKSk7Ci0KLS8qIQotQHByb3Bl
cnR5Ci1AZGlzY3Vzc2lvbiBDb250cm9scyB3aGV0aGVyIHRoaXMgQGxpbmsgSlNDb250ZXh0IEAv
bGluayBpcyBpbnNwZWN0YWJsZSBpbiBXZWIgSW5zcGVjdG9yLiBUaGUgZGVmYXVsdCB2YWx1ZSBp
cyBOTy4KLSovCi1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPXNldEluc3BlY3RhYmxlOikg
Qk9PTCBpbnNwZWN0YWJsZSBKU0NfQVBJX0FWQUlMQUJMRShtYWNvcyhKU0NfTUFDX1RCQSksIGlv
cyhKU0NfSU9TX1RCQSkpIE5TX1NXSUZUX05BTUUoaXNJbnNwZWN0YWJsZSk7Ci0KIEBlbmQKIAog
LyohCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ29udGV4dC5tbSBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0Lm1tCmluZGV4IDJmODlkMTkxNDky
Mi4uMWIxNDIyMTg0NWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
Q29udGV4dC5tbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ29udGV4dC5tbQpA
QCAtMjczLDI0ICsyNzMsMTQgQEAgLSAodm9pZClzZXROYW1lOihOU1N0cmluZyAqKW5hbWUKICAg
ICBKU0dsb2JhbENvbnRleHRTZXROYW1lKG1fY29udGV4dCwgT3BhcXVlSlNTdHJpbmc6OnRyeUNy
ZWF0ZShuYW1lKS5nZXQoKSk7CiB9CiAKLS0gKEJPT0wpaW5zcGVjdGFibGUKLXsKLSAgICByZXR1
cm4gSlNHbG9iYWxDb250ZXh0SXNJbnNwZWN0YWJsZShtX2NvbnRleHQpOwotfQotCi0tICh2b2lk
KXNldEluc3BlY3RhYmxlOihCT09MKWluc3BlY3RhYmxlCi17Ci0gICAgSlNHbG9iYWxDb250ZXh0
U2V0SW5zcGVjdGFibGUobV9jb250ZXh0LCBpbnNwZWN0YWJsZSk7Ci19Ci0KIC0gKEJPT0wpX3Jl
bW90ZUluc3BlY3Rpb25FbmFibGVkCiB7Ci0gICAgcmV0dXJuIHNlbGYuaW5zcGVjdGFibGU7Cisg
ICAgcmV0dXJuIEpTR2xvYmFsQ29udGV4dEdldFJlbW90ZUluc3BlY3Rpb25FbmFibGVkKG1fY29u
dGV4dCk7CiB9CiAKIC0gKHZvaWQpX3NldFJlbW90ZUluc3BlY3Rpb25FbmFibGVkOihCT09MKWVu
YWJsZWQKIHsKLSAgICBzZWxmLmluc3BlY3RhYmxlID0gZW5hYmxlZDsKKyAgICBKU0dsb2JhbENv
bnRleHRTZXRSZW1vdGVJbnNwZWN0aW9uRW5hYmxlZChtX2NvbnRleHQsIGVuYWJsZWQpOwogfQog
CiAtIChCT09MKV9pbmNsdWRlc05hdGl2ZUNhbGxTdGFja1doZW5SZXBvcnRpbmdFeGNlcHRpb25z
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ29udGV4dFByaXZhdGUu
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0UHJpdmF0ZS5oCmluZGV4IDUz
MzhhNDE2ZWRmYi4uODM4YTlkZTUyYTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQVBJL0pTQ29udGV4dFByaXZhdGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ29udGV4dFByaXZhdGUuaApAQCAtNjksNyArNjksNyBAQAogQHByb3BlcnR5CiBAZGlzY3Vz
c2lvbiBSZW1vdGUgaW5zcGVjdGlvbiBzZXR0aW5nIG9mIHRoZSBKU0NvbnRleHQuIERlZmF1bHQg
dmFsdWUgaXMgWUVTLgogKi8KLUBwcm9wZXJ0eSAoc2V0dGVyPV9zZXRSZW1vdGVJbnNwZWN0aW9u
RW5hYmxlZDopIEJPT0wgX3JlbW90ZUluc3BlY3Rpb25FbmFibGVkIEpTQ19BUElfREVQUkVDQVRF
RF9XSVRIX1JFUExBQ0VNRU5UKCJpbnNwZWN0YWJsZSIsIG1hY29zKDEwLjEwLCBKU0NfTUFDX1RC
QSksIGlvcyg4LjAsIEpTQ19JT1NfVEJBKSk7CitAcHJvcGVydHkgKHNldHRlcj1fc2V0UmVtb3Rl
SW5zcGVjdGlvbkVuYWJsZWQ6KSBCT09MIF9yZW1vdGVJbnNwZWN0aW9uRW5hYmxlZCBKU0NfQVBJ
X0FWQUlMQUJMRShtYWNvcygxMC4xMCksIGlvcyg4LjApKTsKIAogLyohCiBAcHJvcGVydHkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0UmVmLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0UmVmLmNwcAppbmRleCBiYzRhYWUyY2Fj
NDMuLjQ2NzM3ODA1YTAxMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U0NvbnRleHRSZWYuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0
UmVmLmNwcApAQCAtMTQxLDcgKzE0MSw4IEBAIEpTR2xvYmFsQ29udGV4dFJlZiBKU0dsb2JhbENv
bnRleHRDcmVhdGVJbkdyb3VwKEpTQ29udGV4dEdyb3VwUmVmIGdyb3VwLCBKU0NsYXNzCiAgICAg
aWYgKCFnbG9iYWxPYmplY3RDbGFzcykgewogICAgICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0ID0gSlNBUElHbG9iYWxPYmplY3Q6OmNyZWF0ZSh2bS5nZXQoKSwgSlNBUElHbG9iYWxP
YmplY3Q6OmNyZWF0ZVN0cnVjdHVyZSh2bS5nZXQoKSwganNOdWxsKCkpKTsKICNpZiBFTkFCTEUo
UkVNT1RFX0lOU1BFQ1RPUikKLSAgICAgICAgZ2xvYmFsT2JqZWN0LT5zZXRJbnNwZWN0YWJsZShK
U1JlbW90ZUluc3BlY3RvckdldEluc3BlY3Rpb25FbmFibGVkQnlEZWZhdWx0KCkpOworICAgICAg
ICBpZiAoSlNSZW1vdGVJbnNwZWN0b3JHZXRJbnNwZWN0aW9uRW5hYmxlZEJ5RGVmYXVsdCgpKQor
ICAgICAgICAgICAgZ2xvYmFsT2JqZWN0LT5zZXRSZW1vdGVEZWJ1Z2dpbmdFbmFibGVkKHRydWUp
OwogI2VuZGlmCiAgICAgICAgIHJldHVybiBKU0dsb2JhbENvbnRleHRSZXRhaW4odG9HbG9iYWxS
ZWYoZ2xvYmFsT2JqZWN0KSk7CiAgICAgfQpAQCAtMTUyLDcgKzE1Myw4IEBAIEpTR2xvYmFsQ29u
dGV4dFJlZiBKU0dsb2JhbENvbnRleHRDcmVhdGVJbkdyb3VwKEpTQ29udGV4dEdyb3VwUmVmIGdy
b3VwLCBKU0NsYXNzCiAgICAgICAgIHByb3RvdHlwZSA9IGpzTnVsbCgpOwogICAgIGdsb2JhbE9i
amVjdC0+cmVzZXRQcm90b3R5cGUodm0uZ2V0KCksIHByb3RvdHlwZSk7CiAjaWYgRU5BQkxFKFJF
TU9URV9JTlNQRUNUT1IpCi0gICAgZ2xvYmFsT2JqZWN0LT5zZXRJbnNwZWN0YWJsZShKU1JlbW90
ZUluc3BlY3RvckdldEluc3BlY3Rpb25FbmFibGVkQnlEZWZhdWx0KCkpOworICAgIGlmIChKU1Jl
bW90ZUluc3BlY3RvckdldEluc3BlY3Rpb25FbmFibGVkQnlEZWZhdWx0KCkpCisgICAgICAgIGds
b2JhbE9iamVjdC0+c2V0UmVtb3RlRGVidWdnaW5nRW5hYmxlZCh0cnVlKTsKICNlbmRpZgogICAg
IHJldHVybiBKU0dsb2JhbENvbnRleHRSZXRhaW4odG9HbG9iYWxSZWYoZ2xvYmFsT2JqZWN0KSk7
CiB9CkBAIC0yNDcsMzQgKzI0OSw2IEBAIHZvaWQgSlNHbG9iYWxDb250ZXh0U2V0TmFtZShKU0ds
b2JhbENvbnRleHRSZWYgY3R4LCBKU1N0cmluZ1JlZiBuYW1lKQogICAgIGdsb2JhbE9iamVjdC0+
c2V0TmFtZShuYW1lID8gbmFtZS0+c3RyaW5nKCkgOiBTdHJpbmcoKSk7CiB9CiAKLWJvb2wgSlNH
bG9iYWxDb250ZXh0SXNJbnNwZWN0YWJsZShKU0dsb2JhbENvbnRleHRSZWYgY3R4KQotewotICAg
IGlmICghY3R4KSB7Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRv
SlMoY3R4KTsKLSAgICBWTSYgdm0gPSBnbG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgSlNMb2NrSG9s
ZGVyIGxvY2sodm0pOwotCi0gICAgcmV0dXJuIGdsb2JhbE9iamVjdC0+aW5zcGVjdGFibGUoKTsK
LX0KLQotdm9pZCBKU0dsb2JhbENvbnRleHRTZXRJbnNwZWN0YWJsZShKU0dsb2JhbENvbnRleHRS
ZWYgY3R4LCBib29sIGluc3BlY3RhYmxlKQotewotICAgIGlmICghY3R4KSB7Ci0gICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHRvSlMoY3R4KTsKLSAgICBWTSYgdm0gPSBnbG9iYWxP
YmplY3QtPnZtKCk7Ci0gICAgSlNMb2NrSG9sZGVyIGxvY2sodm0pOwotCi0gICAgZ2xvYmFsT2Jq
ZWN0LT5zZXRJbnNwZWN0YWJsZShpbnNwZWN0YWJsZSk7Ci19Ci0KIHZvaWQgSlNHbG9iYWxDb250
ZXh0U2V0VW5oYW5kbGVkUmVqZWN0aW9uQ2FsbGJhY2soSlNHbG9iYWxDb250ZXh0UmVmIGN0eCwg
SlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKIHsKICAgICBpZiAo
IWN0eCkgewpAQCAtMzc0LDEyICszNDgsMzAgQEAgSlNTdHJpbmdSZWYgSlNDb250ZXh0Q3JlYXRl
QmFja3RyYWNlKEpTQ29udGV4dFJlZiBjdHgsIHVuc2lnbmVkIG1heFN0YWNrU2l6ZSkKIAogYm9v
bCBKU0dsb2JhbENvbnRleHRHZXRSZW1vdGVJbnNwZWN0aW9uRW5hYmxlZChKU0dsb2JhbENvbnRl
eHRSZWYgY3R4KQogewotICAgIHJldHVybiBKU0dsb2JhbENvbnRleHRJc0luc3BlY3RhYmxlKGN0
eCk7CisgICAgaWYgKCFjdHgpIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0ID0gdG9KUyhjdHgpOworICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBK
U0xvY2tIb2xkZXIgbG9jayh2bSk7CisKKyAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LT5yZW1vdGVE
ZWJ1Z2dpbmdFbmFibGVkKCk7CiB9CiAKIHZvaWQgSlNHbG9iYWxDb250ZXh0U2V0UmVtb3RlSW5z
cGVjdGlvbkVuYWJsZWQoSlNHbG9iYWxDb250ZXh0UmVmIGN0eCwgYm9vbCBlbmFibGVkKQogewot
ICAgIEpTR2xvYmFsQ29udGV4dFNldEluc3BlY3RhYmxlKGN0eCwgZW5hYmxlZCk7CisgICAgaWYg
KCFjdHgpIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gdG9KUyhjdHgpOwor
ICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKKyAgICBKU0xvY2tIb2xkZXIgbG9jayh2
bSk7CisKKyAgICBnbG9iYWxPYmplY3QtPnNldFJlbW90ZURlYnVnZ2luZ0VuYWJsZWQoZW5hYmxl
ZCk7CiB9CiAKIGJvb2wgSlNHbG9iYWxDb250ZXh0R2V0SW5jbHVkZXNOYXRpdmVDYWxsU3RhY2tX
aGVuUmVwb3J0aW5nRXhjZXB0aW9ucyhKU0dsb2JhbENvbnRleHRSZWYgY3R4KQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NvbnRleHRSZWYuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0UmVmLmgKaW5kZXggZmI0NzAxNTRkMmEyLi4xY2U3NDM1
ODA0ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0UmVm
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NvbnRleHRSZWYuaApAQCAtMTQz
LDM0ICsxNDMsMTkgQEAgSlNfRVhQT1JUIEpTR2xvYmFsQ29udGV4dFJlZiBKU0NvbnRleHRHZXRH
bG9iYWxDb250ZXh0KEpTQ29udGV4dFJlZiBjdHgpIEpTQ19BUEkKIEBhYnN0cmFjdCBHZXRzIGEg
Y29weSBvZiB0aGUgbmFtZSBvZiBhIGNvbnRleHQuCiBAcGFyYW0gY3R4IFRoZSBKU0dsb2JhbENv
bnRleHQgd2hvc2UgbmFtZSB5b3Ugd2FudCB0byBnZXQuCiBAcmVzdWx0IFRoZSBuYW1lIGZvciBj
dHguCi1AZGlzY3Vzc2lvbiBBIEpTR2xvYmFsQ29udGV4dCdzIG5hbWUgaXMgZXhwb3NlZCB3aGVu
IGluc3BlY3RpbmcgdGhlIGNvbnRleHQgdG8gbWFrZSBpdCBlYXNpZXIgdG8gaWRlbnRpZnkgdGhl
IGNvbnRleHQgeW91IHdvdWxkIGxpa2UgdG8gaW5zcGVjdC4KK0BkaXNjdXNzaW9uIEEgSlNHbG9i
YWxDb250ZXh0J3MgbmFtZSBpcyBleHBvc2VkIGZvciByZW1vdGUgZGVidWdnaW5nIHRvIG1ha2Ug
aXQKK2Vhc2llciB0byBpZGVudGlmeSB0aGUgY29udGV4dCB5b3Ugd291bGQgbGlrZSB0byBhdHRh
Y2ggdG8uCiAqLwogSlNfRVhQT1JUIEpTU3RyaW5nUmVmIEpTR2xvYmFsQ29udGV4dENvcHlOYW1l
KEpTR2xvYmFsQ29udGV4dFJlZiBjdHgpIEpTQ19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEwKSwg
aW9zKDguMCkpOwogCiAvKiEKIEBmdW5jdGlvbgotQGFic3RyYWN0IFNldHMgdGhlIG5hbWUgZXhw
b3NlZCB3aGVuIGluc3BlY3RpbmcgYSBjb250ZXh0LgorQGFic3RyYWN0IFNldHMgdGhlIHJlbW90
ZSBkZWJ1Z2dpbmcgbmFtZSBmb3IgYSBjb250ZXh0LgogQHBhcmFtIGN0eCBUaGUgSlNHbG9iYWxD
b250ZXh0IHRoYXQgeW91IHdhbnQgdG8gbmFtZS4KLUBwYXJhbSBuYW1lIFRoZSBuYW1lIHRvIHNl
dCBvbiB0aGUgY29udGV4dC4KK0BwYXJhbSBuYW1lIFRoZSByZW1vdGUgZGVidWdnaW5nIG5hbWUg
dG8gc2V0IG9uIGN0eC4KICovCiBKU19FWFBPUlQgdm9pZCBKU0dsb2JhbENvbnRleHRTZXROYW1l
KEpTR2xvYmFsQ29udGV4dFJlZiBjdHgsIEpTU3RyaW5nUmVmIG5hbWUpIEpTQ19BUElfQVZBSUxB
QkxFKG1hY29zKDEwLjEwKSwgaW9zKDguMCkpOwogCi0vKiEKLUBmdW5jdGlvbgotQGFic3RyYWN0
IEdldHMgd2hldGhlciB0aGUgY29udGV4dCBpcyBpbnNwZWN0YWJsZSBpbiBXZWIgSW5zcGVjdG9y
LgotQHBhcmFtIGN0eCBUaGUgSlNHbG9iYWxDb250ZXh0IHRoYXQgeW91IHdhbnQgdG8gY2hhbmdl
IHRoZSBpbnNwZWN0YWJpbGl0eSBvZi4KLUByZXN1bHQgV2hldGhlciB0aGUgY29udGV4dCBpcyBp
bnNwZWN0YWJsZSBpbiBXZWIgSW5zcGVjdG9yLgotKi8KLUpTX0VYUE9SVCBib29sIEpTR2xvYmFs
Q29udGV4dElzSW5zcGVjdGFibGUoSlNHbG9iYWxDb250ZXh0UmVmIGN0eCkgSlNDX0FQSV9BVkFJ
TEFCTEUobWFjb3MoSlNDX01BQ19UQkEpLCBpb3MoSlNDX0lPU19UQkEpKTsKLQotLyohCi1AZnVu
Y3Rpb24KLUBhYnN0cmFjdCBTZXRzIHdoZXRoZXIgdGhlIGNvbnRleHQgaXMgaW5zcGVjdGFibGUg
aW4gV2ViIEluc3BlY3Rvci4gRGVmYXVsdCB2YWx1ZSBpcyBOTy4KLUBwYXJhbSBjdHggVGhlIEpT
R2xvYmFsQ29udGV4dCB0aGF0IHlvdSB3YW50IHRvIGNoYW5nZSB0aGUgaW5zcGVjdGFiaWxpdHkg
b2YuCi1AcGFyYW0gaW5zcGVjdGFibGUgWUVTIHRvIGFsbG93IFdlYiBJbnNwZWN0b3IgdG8gY29u
bmVjdCB0byB0aGUgY29udGV4dCwgb3RoZXJ3aXNlIE5PLgotKi8KLUpTX0VYUE9SVCB2b2lkIEpT
R2xvYmFsQ29udGV4dFNldEluc3BlY3RhYmxlKEpTR2xvYmFsQ29udGV4dFJlZiBjdHgsIGJvb2wg
aW5zcGVjdGFibGUpIEpTQ19BUElfQVZBSUxBQkxFKG1hY29zKEpTQ19NQUNfVEJBKSwgaW9zKEpT
Q19JT1NfVEJBKSk7Ci0KICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ29udGV4dFJlZlByaXZhdGUuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDb250ZXh0UmVmUHJpdmF0ZS5oCmluZGV4IDk2MWZlN2M2
NDI1YS4uZjdiNWJmNjg5YjA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L0pTQ29udGV4dFJlZlByaXZhdGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
Q29udGV4dFJlZlByaXZhdGUuaApAQCAtMTAxLDcgKzEwMSw3IEBAIEpTX0VYUE9SVCB2b2lkIEpT
Q29udGV4dEdyb3VwQ2xlYXJFeGVjdXRpb25UaW1lTGltaXQoSlNDb250ZXh0R3JvdXBSZWYgZ3Jv
dXApIEpTCiBAcmVzdWx0IFRoZSB2YWx1ZSBvZiB0aGUgc2V0dGluZywgdHJ1ZSBpZiByZW1vdGUg
aW5zcGVjdGlvbiBpcyBlbmFibGVkLCBvdGhlcndpc2UgZmFsc2UuCiBAZGlzY3Vzc2lvbiBSZW1v
dGUgaW5zcGVjdGlvbiBpcyB0cnVlIGJ5IGRlZmF1bHQuCiAqLwotSlNfRVhQT1JUIGJvb2wgSlNH
bG9iYWxDb250ZXh0R2V0UmVtb3RlSW5zcGVjdGlvbkVuYWJsZWQoSlNHbG9iYWxDb250ZXh0UmVm
IGN0eCkgSlNDX0FQSV9ERVBSRUNBVEVEX1dJVEhfUkVQTEFDRU1FTlQoIkpTR2xvYmFsQ29udGV4
dElzSW5zcGVjdGFibGUiLCBtYWNvcygxMC4xMCwgSlNDX01BQ19UQkEpLCBpb3MoOC4wLCBKU0Nf
SU9TX1RCQSkpOworSlNfRVhQT1JUIGJvb2wgSlNHbG9iYWxDb250ZXh0R2V0UmVtb3RlSW5zcGVj
dGlvbkVuYWJsZWQoSlNHbG9iYWxDb250ZXh0UmVmIGN0eCkgSlNDX0FQSV9BVkFJTEFCTEUobWFj
b3MoMTAuMTApLCBpb3MoOC4wKSk7CiAKIC8qIQogQGZ1bmN0aW9uCkBAIC0xMDksNyArMTA5LDcg
QEAgSlNfRVhQT1JUIGJvb2wgSlNHbG9iYWxDb250ZXh0R2V0UmVtb3RlSW5zcGVjdGlvbkVuYWJs
ZWQoSlNHbG9iYWxDb250ZXh0UmVmIGN0eCkKIEBwYXJhbSBjdHggVGhlIEpTR2xvYmFsQ29udGV4
dCB0aGF0IHlvdSB3YW50IHRvIGNoYW5nZS4KIEBwYXJhbSBlbmFibGVkIFRoZSBuZXcgcmVtb3Rl
IGluc3BlY3Rpb24gZW5hYmxlZCBzZXR0aW5nIGZvciB0aGUgY29udGV4dC4KICovCi1KU19FWFBP
UlQgdm9pZCBKU0dsb2JhbENvbnRleHRTZXRSZW1vdGVJbnNwZWN0aW9uRW5hYmxlZChKU0dsb2Jh
bENvbnRleHRSZWYgY3R4LCBib29sIGVuYWJsZWQpIEpTQ19BUElfREVQUkVDQVRFRF9XSVRIX1JF
UExBQ0VNRU5UKCJKU0dsb2JhbENvbnRleHRTZXRJbnNwZWN0YWJsZSIsIG1hY29zKDEwLjEwLCBK
U0NfTUFDX1RCQSksIGlvcyg4LjAsIEpTQ19JT1NfVEJBKSk7CitKU19FWFBPUlQgdm9pZCBKU0ds
b2JhbENvbnRleHRTZXRSZW1vdGVJbnNwZWN0aW9uRW5hYmxlZChKU0dsb2JhbENvbnRleHRSZWYg
Y3R4LCBib29sIGVuYWJsZWQpIEpTQ19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEwKSwgaW9zKDgu
MCkpOyAgICAKIAogLyohCiBAZnVuY3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNSZW1vdGVJbnNwZWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS9KU1JlbW90ZUluc3BlY3Rvci5jcHAKaW5kZXggZDAyOTM4ODFiYWJiLi45NjcyZWYwMjE0NDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNSZW1vdGVJbnNwZWN0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNSZW1vdGVJbnNwZWN0b3IuY3Bw
CkBAIC0zMywxNCArMzMsOSBAQAogI2luY2x1ZGUgIlJlbW90ZUluc3BlY3Rvci5oIgogI2VuZGlm
CiAKLSNpZiBQTEFURk9STShDT0NPQSkKLSNpbmNsdWRlIDx3dGYvY29jb2EvRW50aXRsZW1lbnRz
Lmg+Ci0jaW5jbHVkZSA8d3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmg+
Ci0jZW5kaWYKLQogdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKIAotc3RhdGljIHN0ZDo6b3B0
aW9uYWw8Ym9vbD4gcmVtb3RlSW5zcGVjdGlvbkVuYWJsZWRCeURlZmF1bHQgPSBzdGQ6Om51bGxv
cHQ7CitzdGF0aWMgYm9vbCByZW1vdGVJbnNwZWN0aW9uRW5hYmxlZEJ5RGVmYXVsdCA9IHRydWU7
CiAKIHZvaWQgSlNSZW1vdGVJbnNwZWN0b3JEaXNhYmxlQXV0b1N0YXJ0KHZvaWQpCiB7CkBAIC03
Myw1NSArNjgsOSBAQCB2b2lkIEpTUmVtb3RlSW5zcGVjdG9yU2V0TG9nVG9TeXN0ZW1Db25zb2xl
KGJvb2wgbG9nVG9TeXN0ZW1Db25zb2xlKQogICAgIEpTR2xvYmFsT2JqZWN0Q29uc29sZUNsaWVu
dDo6c2V0TG9nVG9TeXN0ZW1Db25zb2xlKGxvZ1RvU3lzdGVtQ29uc29sZSk7CiB9CiAKLSNpZiBQ
TEFURk9STShDT0NPQSkKLXN0YXRpYyBib29sIG1haW5Qcm9jZXNzSGFzRW50aXRsZW1lbnQoQVND
SUlMaXRlcmFsIGVudGl0bGVtZW50LCBzdGQ6Om9wdGlvbmFsPGF1ZGl0X3Rva2VuX3Q+IHBhcmVu
dFByb2Nlc3NBdWRpdFRva2VuKQotewotICAgIGlmIChwYXJlbnRQcm9jZXNzQXVkaXRUb2tlbikK
LSAgICAgICAgcmV0dXJuIFdURjo6aGFzRW50aXRsZW1lbnQoKnBhcmVudFByb2Nlc3NBdWRpdFRv
a2VuLCBlbnRpdGxlbWVudCk7Ci0KLSAgICByZXR1cm4gV1RGOjpwcm9jZXNzSGFzRW50aXRsZW1l
bnQoZW50aXRsZW1lbnQpOwotfQotI2VuZGlmCi0KLXN0YXRpYyBib29sIGRlZmF1bHRTdGF0ZUZv
clJlbW90ZUluc3BlY3Rpb25FbmFibGVkQnlEZWZhdWx0KHZvaWQpCi17Ci0jaWYgUExBVEZPUk0o
Q09DT0EpCi0gICAgYXV0byBwYXJlbnRQcm9jZXNzQXVkaXRUb2tlbiA9IFJlbW90ZUluc3BlY3Rv
cjo6c2luZ2xldG9uKCkucGFyZW50UHJvY2Vzc0F1ZGl0VG9rZW4oKTsKLQotICAgIGlmICghbGlu
a2VkT25PckFmdGVyU0RLV2l0aEJlaGF2aW9yKFNES0FsaWduZWRCZWhhdmlvcjo6SW5zcGVjdGFi
bGVEZWZhdWx0c1RvRGlzYWJsZWQpKSB7Ci0jaWYgUExBVEZPUk0oTUFDKQotICAgICAgICBhdXRv
IGRldmVsb3BlclByb3Zpc2lvbmluZ0VudGl0bGVtZW50ID0gImNvbS5hcHBsZS5zZWN1cml0eS5n
ZXQtdGFzay1hbGxvdyJfczsKLSNlbHNlCi0gICAgICAgIGF1dG8gZGV2ZWxvcGVyUHJvdmlzaW9u
aW5nRW50aXRsZW1lbnQgPSAiZ2V0LXRhc2stYWxsb3ciX3M7Ci0jZW5kaWYKLSAgICAgICAgaWYg
KG1haW5Qcm9jZXNzSGFzRW50aXRsZW1lbnQoZGV2ZWxvcGVyUHJvdmlzaW9uaW5nRW50aXRsZW1l
bnQsIHBhcmVudFByb2Nlc3NBdWRpdFRva2VuKSkgewotICAgICAgICAgICAgV1RGTG9nQWx3YXlz
KCJJbnNwZWN0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBmb3IgcHJvY2VzcyBvciBwYXJlbnQg
YXBwbGljYXRpb24gd2l0aCAnJXMnIGVudGl0bGVtZW50IGxpbmtlZCBhZ2FpbnN0IG9sZCBTREsu
IFVzZSBgaW5zcGVjdGFibGVgIEFQSSB0byBlbmFibGUgaW5zcGVjdGlvbiBvbiBuZXdlciBTREtz
LiIsIGRldmVsb3BlclByb3Zpc2lvbmluZ0VudGl0bGVtZW50LmNoYXJhY3RlcnMoKSk7Ci0gICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgfQotICAgIH0KLQotI2lmIFBMQVRGT1JNKE1B
QykKLSAgICBhdXRvIGRlcHJlY2F0ZWRXZWJJbnNwZWN0b3JBbGxvd0VudGl0bGVtZW50ID0gImNv
bS5hcHBsZS53ZWJpbnNwZWN0b3IuYWxsb3ciX3M7Ci0jZWxzZQotICAgIGF1dG8gZGVwcmVjYXRl
ZFdlYkluc3BlY3RvckFsbG93RW50aXRsZW1lbnQgPSAiY29tLmFwcGxlLnByaXZhdGUud2ViaW5z
cGVjdG9yLmFsbG93LXJlbW90ZS1pbnNwZWN0aW9uIl9zOwotI2VuZGlmCi0gICAgaWYgKG1haW5Q
cm9jZXNzSGFzRW50aXRsZW1lbnQoZGVwcmVjYXRlZFdlYkluc3BlY3RvckFsbG93RW50aXRsZW1l
bnQsIHBhcmVudFByb2Nlc3NBdWRpdFRva2VuKSkgewotICAgICAgICBXVEZMb2dBbHdheXMoIklu
c3BlY3Rpb24gaXMgZW5hYmxlZCBieSBkZWZhdWx0IGZvciBwcm9jZXNzIG9yIHBhcmVudCBhcHBs
aWNhdGlvbiB3aXRoIGRlcHJlY2F0ZWQgJyVzJyBlbnRpdGxlbWVudC4gVXNlIGBpbnNwZWN0YWJs
ZWAgQVBJIHRvIGVuYWJsZSBpbnNwZWN0aW9uIGluc3RlYWQuIiwgZGVwcmVjYXRlZFdlYkluc3Bl
Y3RvckFsbG93RW50aXRsZW1lbnQuY2hhcmFjdGVycygpKTsKLSAgICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgfQotCi0gICAgcmV0dXJuIGZhbHNlOwotI2Vsc2UKLSAgICByZXR1cm4gdHJ1ZTsKLSNl
bmRpZiAvLyBub3QgUExBVEZPUk0oQ09DT0EpCi19Ci0KIGJvb2wgSlNSZW1vdGVJbnNwZWN0b3JH
ZXRJbnNwZWN0aW9uRW5hYmxlZEJ5RGVmYXVsdCh2b2lkKQogewotICAgIGlmICghcmVtb3RlSW5z
cGVjdGlvbkVuYWJsZWRCeURlZmF1bHQpCi0gICAgICAgIHJlbW90ZUluc3BlY3Rpb25FbmFibGVk
QnlEZWZhdWx0ID0gZGVmYXVsdFN0YXRlRm9yUmVtb3RlSW5zcGVjdGlvbkVuYWJsZWRCeURlZmF1
bHQoKTsKLQotICAgIHJldHVybiByZW1vdGVJbnNwZWN0aW9uRW5hYmxlZEJ5RGVmYXVsdC52YWx1
ZSgpOworICAgIHJldHVybiByZW1vdGVJbnNwZWN0aW9uRW5hYmxlZEJ5RGVmYXVsdDsKIH0KIAog
dm9pZCBKU1JlbW90ZUluc3BlY3RvclNldEluc3BlY3Rpb25FbmFibGVkQnlEZWZhdWx0KGJvb2wg
ZW5hYmxlZEJ5RGVmYXVsdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
SlNSZW1vdGVJbnNwZWN0b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNSZW1vdGVJ
bnNwZWN0b3IuaAppbmRleCBjYjU5MWVlN2Q4NTEuLjAwY2EyOGQ4ZmY0NCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1JlbW90ZUluc3BlY3Rvci5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNSZW1vdGVJbnNwZWN0b3IuaApAQCAtNDgsNyArNDgsNyBA
QCBKU19FWFBPUlQgdm9pZCBKU1JlbW90ZUluc3BlY3RvclNldFBhcmVudFByb2Nlc3NJbmZvcm1h
dGlvbihKU1Byb2Nlc3NJRCwgY29uc3QgdQogSlNfRVhQT1JUIHZvaWQgSlNSZW1vdGVJbnNwZWN0
b3JTZXRMb2dUb1N5c3RlbUNvbnNvbGUoYm9vbCkgSlNDX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAu
MTEpLCBpb3MoOS4wKSk7CiAKIEpTX0VYUE9SVCBib29sIEpTUmVtb3RlSW5zcGVjdG9yR2V0SW5z
cGVjdGlvbkVuYWJsZWRCeURlZmF1bHQodm9pZCkgSlNDX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAu
MTEpLCBpb3MoOS4wKSk7Ci1KU19FWFBPUlQgdm9pZCBKU1JlbW90ZUluc3BlY3RvclNldEluc3Bl
Y3Rpb25FbmFibGVkQnlEZWZhdWx0KGJvb2wpIEpTQ19BUElfREVQUkVDQVRFRCgiVXNlIEpTR2xv
YmFsQ29udGV4dFNldEluc3BlY3RhYmxlIG9uIGEgc2luZ2xlIEpTR2xvYmFsQ29udGV4dFJlZi4i
LCBtYWNvcygxMC4xMSwgSlNDX01BQ19UQkEpLCBpb3MoOS4wLCBKU0NfSU9TX1RCQSkpOworSlNf
RVhQT1JUIHZvaWQgSlNSZW1vdGVJbnNwZWN0b3JTZXRJbnNwZWN0aW9uRW5hYmxlZEJ5RGVmYXVs
dChib29sKSBKU0NfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMSksIGlvcyg5LjApKTsKIAogI2lm
ZGVmIF9fY3BsdXNwbHVzCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJ
L1dlYktpdEF2YWlsYWJpbGl0eS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9XZWJLaXRB
dmFpbGFiaWxpdHkuaAppbmRleCA1MjBmMWJjYTQyYTIuLjJhMWNlN2NlMTZmNiAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9XZWJLaXRBdmFpbGFiaWxpdHkuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL1dlYktpdEF2YWlsYWJpbGl0eS5oCkBAIC0zNCwxOCAr
MzQsMTAgQEAKICNpZiBkZWZpbmVkKEJVSUxESU5HX0dUS19fKQogI3VuZGVmIEpTQ19BUElfQVZB
SUxBQkxFCiAjZGVmaW5lIEpTQ19BUElfQVZBSUxBQkxFKC4uLikKLQotI3VuZGVmIEpTQ19BUElf
REVQUkVDQVRFRAotI2RlZmluZSBKU0NfQVBJX0RFUFJFQ0FURUQoLi4uKQotCi0jdW5kZWYgSlND
X0FQSV9ERVBSRUNBVEVEX1dJVEhfUkVQTEFDRU1FTlQKLSNkZWZpbmUgSlNDX0FQSV9ERVBSRUNB
VEVEX1dJVEhfUkVQTEFDRU1FTlQoLi4uKQogI2VuZGlmCiAKICNlbHNlCiAjZGVmaW5lIEpTQ19B
UElfQVZBSUxBQkxFKC4uLikKLSNkZWZpbmUgSlNDX0FQSV9ERVBSRUNBVEVEKC4uLikKLSNkZWZp
bmUgSlNDX0FQSV9ERVBSRUNBVEVEX1dJVEhfUkVQTEFDRU1FTlQoLi4uKQogI2VuZGlmCiAKICNl
bmRpZiAvKiBfX1dlYktpdEF2YWlsYWJpbGl0eV9fICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL3Rlc3RzL3Rlc3RJbmNsdWRlcy5tIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS90ZXN0cy90ZXN0SW5jbHVkZXMubQppbmRleCBmZmZjZmY1YTUzYzAuLmJmZTExOWM0
ZjE1YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0SW5j
bHVkZXMubQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL3Rlc3RzL3Rlc3RJbmNsdWRl
cy5tCkBAIC0yNyw3ICsyNyw2IEBACiAvLyBTaW5jZSB3ZSBpbmNsdWRlIGZpbGVzIHRoYXQgaGF2
ZW4ndCBwYXNzZWQgdGhyb3VnaCB0aGUgcmV3cml0ZXIgd2UgbmVlZCB0byBoYW5kbGUgdGhlIG5v
bi1yZXdyaXR0ZW4gdmFsdWVzLi4uCiAjZGVmaW5lIEpTQ19BUElfQVZBSUxBQkxFKC4uLikKICNk
ZWZpbmUgSlNDX0FQSV9ERVBSRUNBVEVEKC4uLikKLSNkZWZpbmUgSlNDX0FQSV9ERVBSRUNBVEVE
X1dJVEhfUkVQTEFDRU1FTlQoLi4uKQogI2RlZmluZSBKU0NfQ0xBU1NfQVZBSUxBQkxFKC4uLikK
ICNkZWZpbmUgSlNDX01BQ19WRVJTSU9OX1RCQSAwCiAjZGVmaW5lIEpTQ19JT1NfVkVSU0lPTl9U
QkEgMApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2NvbmZpZy5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2NvbmZpZy5oCmluZGV4IDVmYjY3M2M3Yzc0Zi4uOTdjNjQ0MjE1ZmI2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvY29uZmlnLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2NvbmZpZy5oCkBAIC0yNiw3ICsyNiw2IEBACiAjZGVmaW5lIEpTQ19B
UElfQVZBSUxBQkxFKC4uLikKICNkZWZpbmUgSlNDX0NMQVNTX0FWQUlMQUJMRSguLi4pIEpTX0VY
UE9SVAogI2RlZmluZSBKU0NfQVBJX0RFUFJFQ0FURUQoLi4uKQotI2RlZmluZSBKU0NfQVBJX0RF
UFJFQ0FURURfV0lUSF9SRVBMQUNFTUVOVCguLi4pCiAvLyBVc2UgemVybyBzaW5jZSBpdCB3aWxs
IGJlIGxlc3MgdGhhbiBhbnkgcG9zc2libGUgdmVyc2lvbiBudW1iZXIuCiAjZGVmaW5lIEpTQ19N
QUNfVkVSU0lPTl9UQkEgMAogI2RlZmluZSBKU0NfSU9TX1ZFUlNJT05fVEJBIDAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0
b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSlNHbG9i
YWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCA3NGExZWE1MjJjZjAuLmEzMGFm
Y2M5ODA3YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9KU0ds
b2JhbE9iamVjdEluc3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAt
MjExLDcgKzIxMSw3IEBAIGJvb2wgSlNHbG9iYWxPYmplY3RJbnNwZWN0b3JDb250cm9sbGVyOjpk
ZXZlbG9wZXJFeHRyYXNFbmFibGVkKCkgY29uc3QKICAgICBpZiAoIVJlbW90ZUluc3BlY3Rvcjo6
c2luZ2xldG9uKCkuZW5hYmxlZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAo
IW1fZ2xvYmFsT2JqZWN0Lmluc3BlY3RvckRlYnVnZ2FibGUoKS5pbnNwZWN0YWJsZSgpKQorICAg
IGlmICghbV9nbG9iYWxPYmplY3QuaW5zcGVjdG9yRGVidWdnYWJsZSgpLnJlbW90ZURlYnVnZ2lu
Z0FsbG93ZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rpb25U
YXJnZXQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvUmVtb3Rl
SW5zcGVjdGlvblRhcmdldC5jcHAKaW5kZXggMjVkZWE3MTQ2M2RjLi5iZmZmYTE3YWRiNGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUlu
c3BlY3Rpb25UYXJnZXQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
cmVtb3RlL1JlbW90ZUluc3BlY3Rpb25UYXJnZXQuY3BwCkBAIC0zMiwzNSArMzIsMjEgQEAKICNp
bmNsdWRlICJSZW1vdGVJbnNwZWN0b3IuaCIKICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgogCi0j
aWYgUExBVEZPUk0oQ09DT0EpCi0jaW5jbHVkZSA8d3RmL3NwaS9kYXJ3aW4vT1NWYXJpYW50U1BJ
Lmg+Ci0jZW5kaWYKLQogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKIGJvb2wgUmVtb3RlSW5zcGVj
dGlvblRhcmdldDo6cmVtb3RlQ29udHJvbEFsbG93ZWQoKSBjb25zdAogewotICAgIHJldHVybiBp
bnNwZWN0YWJsZSgpIHx8IGhhc0xvY2FsRGVidWdnZXIoKTsKKyAgICByZXR1cm4gcmVtb3RlRGVi
dWdnaW5nQWxsb3dlZCgpIHx8IGhhc0xvY2FsRGVidWdnZXIoKTsKIH0KIAotYm9vbCBSZW1vdGVJ
bnNwZWN0aW9uVGFyZ2V0OjppbnNwZWN0YWJsZSgpIGNvbnN0Cit2b2lkIFJlbW90ZUluc3BlY3Rp
b25UYXJnZXQ6OnNldFJlbW90ZURlYnVnZ2luZ0FsbG93ZWQoYm9vbCBhbGxvd2VkKQogewotI2lm
IFBMQVRGT1JNKENPQ09BKQotICAgIHN0YXRpYyBib29sIGFsbG93SW50ZXJuYWxTZWN1cml0eVBv
bGljaWVzID0gb3NfdmFyaWFudF9hbGxvd3NfaW50ZXJuYWxfc2VjdXJpdHlfcG9saWNpZXMoImNv
bS5hcHBsZS5XZWJJbnNwZWN0b3IiKTsKLSAgICBpZiAoYWxsb3dJbnRlcm5hbFNlY3VyaXR5UG9s
aWNpZXMpIHsKLSAgICAgICAgc3RhdGljIGJvb2wgc2ltdWxhdGVDdXN0b21lckluc3RhbGwgPSBD
RlByZWZlcmVuY2VzR2V0QXBwQm9vbGVhblZhbHVlKENGU1RSKCJXZWJLaXRXZWJJbnNwZWN0b3JT
aW11bGF0ZUN1c3RvbWVySW5zdGFsbCIpLCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRBcHBsaWNhdGlv
biwgbnVsbHB0cik7Ci0gICAgICAgIGlmICghc2ltdWxhdGVDdXN0b21lckluc3RhbGwpCi0gICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0jZW5kaWYKLSAgICByZXR1cm4gbV9pbnNwZWN0
YWJsZTsKLX0KKyAgICBpZiAobV9hbGxvd2VkID09IGFsbG93ZWQpCisgICAgICAgIHJldHVybjsK
IAotdm9pZCBSZW1vdGVJbnNwZWN0aW9uVGFyZ2V0OjpzZXRJbnNwZWN0YWJsZShib29sIGluc3Bl
Y3RhYmxlKQotewotICAgIG1faW5zcGVjdGFibGUgPSBpbnNwZWN0YWJsZTsKKyAgICBtX2FsbG93
ZWQgPSBhbGxvd2VkOwogCi0gICAgaWYgKFJlbW90ZUluc3BlY3Rpb25UYXJnZXQ6Omluc3BlY3Rh
YmxlKCkgJiYgYXV0b21hdGljSW5zcGVjdGlvbkFsbG93ZWQoKSkKKyAgICBpZiAobV9hbGxvd2Vk
ICYmIGF1dG9tYXRpY0luc3BlY3Rpb25BbGxvd2VkKCkpCiAgICAgICAgIFJlbW90ZUluc3BlY3Rv
cjo6c2luZ2xldG9uKCkudXBkYXRlQXV0b21hdGljSW5zcGVjdGlvbkNhbmRpZGF0ZSh0aGlzKTsK
ICAgICBlbHNlCiAgICAgICAgIFJlbW90ZUluc3BlY3Rvcjo6c2luZ2xldG9uKCkudXBkYXRlVGFy
Z2V0KHRoaXMpOwpAQCAtNjksNyArNTUsNyBAQCB2b2lkIFJlbW90ZUluc3BlY3Rpb25UYXJnZXQ6
OnNldEluc3BlY3RhYmxlKGJvb2wgaW5zcGVjdGFibGUpCiB2b2lkIFJlbW90ZUluc3BlY3Rpb25U
YXJnZXQ6OnBhdXNlV2FpdGluZ0ZvckF1dG9tYXRpY0luc3BlY3Rpb24oKQogewogICAgIEFTU0VS
VCh0YXJnZXRJZGVudGlmaWVyKCkpOwotICAgIEFTU0VSVChpbnNwZWN0YWJsZSgpKTsKKyAgICBB
U1NFUlQobV9hbGxvd2VkKTsKICAgICBBU1NFUlQoYXV0b21hdGljSW5zcGVjdGlvbkFsbG93ZWQo
KSk7CiAKICAgICB3aGlsZSAoUmVtb3RlSW5zcGVjdG9yOjpzaW5nbGV0b24oKS53YWl0aW5nRm9y
QXV0b21hdGljSW5zcGVjdGlvbih0YXJnZXRJZGVudGlmaWVyKCkpKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0aW9uVGFy
Z2V0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNw
ZWN0aW9uVGFyZ2V0LmgKaW5kZXggMTk5MWJmYWQ5ZDY5Li5iNTVlNjI3MzFiOWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3BlY3Rp
b25UYXJnZXQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9S
ZW1vdGVJbnNwZWN0aW9uVGFyZ2V0LmgKQEAgLTM4LDggKzM4LDggQEAgY2xhc3MgRnJvbnRlbmRD
aGFubmVsOwogCiBjbGFzcyBKU19FWFBPUlRfUFJJVkFURSBSZW1vdGVJbnNwZWN0aW9uVGFyZ2V0
IDogcHVibGljIFJlbW90ZUNvbnRyb2xsYWJsZVRhcmdldCB7CiBwdWJsaWM6Ci0gICAgYm9vbCBp
bnNwZWN0YWJsZSgpIGNvbnN0OwotICAgIHZvaWQgc2V0SW5zcGVjdGFibGUoYm9vbCk7CisgICAg
Ym9vbCByZW1vdGVEZWJ1Z2dpbmdBbGxvd2VkKCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd2VkOyB9
CisgICAgdm9pZCBzZXRSZW1vdGVEZWJ1Z2dpbmdBbGxvd2VkKGJvb2wpOwogCiAjaWYgVVNFKENG
KQogICAgIENGUnVuTG9vcFJlZiB0YXJnZXRSdW5Mb29wKCkgY29uc3QgZmluYWwgeyByZXR1cm4g
bV9ydW5Mb29wLmdldCgpOyB9CkBAIC02MCw3ICs2MCw3IEBAIHB1YmxpYzoKICAgICBib29sIHJl
bW90ZUNvbnRyb2xBbGxvd2VkKCkgY29uc3QgZmluYWw7CiAKIHByaXZhdGU6Ci0gICAgYm9vbCBt
X2luc3BlY3RhYmxlOworICAgIGJvb2wgbV9hbGxvd2VkIHsgZmFsc2UgfTsKICNpZiBVU0UoQ0Yp
CiAgICAgUmV0YWluUHRyPENGUnVuTG9vcFJlZj4gbV9ydW5Mb29wOwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0
b3IuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL1JlbW90ZUluc3Bl
Y3Rvci5oCmluZGV4IGVmYWNjODllYzI4ZC4uNjJiZjU1NDg5MGVmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3IuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9SZW1vdGVJbnNwZWN0b3Iu
aApAQCAtMTU4LDcgKzE1OCw2IEBAIHB1YmxpYzoKICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBw
YXJlbnRQcm9jZXNzQXVkaXREYXRhKCkgY29uc3QgeyByZXR1cm4gbV9wYXJlbnRQcm9jZXNzQXVk
aXREYXRhOyB9CiAgICAgdm9pZCBzZXRQYXJlbnRQcm9jZXNzSW5mb3JtYXRpb24oUHJvY2Vzc0lE
LCBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBhdWRpdERhdGEpOwogICAgIHZvaWQgc2V0UGFyZW50UHJv
Y2Vzc0luZm9tYXRpb25Jc0RlbGF5ZWQoKTsKLSAgICBzdGQ6Om9wdGlvbmFsPGF1ZGl0X3Rva2Vu
X3Q+IHBhcmVudFByb2Nlc3NBdWRpdFRva2VuKCk7CiAjZW5kaWYKIAogICAgIHZvaWQgdXBkYXRl
VGFyZ2V0TGlzdGluZyhUYXJnZXRJRCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3JlbW90ZS9jb2NvYS9SZW1vdGVJbnNwZWN0b3JDb2NvYS5tbSBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL2NvY29hL1JlbW90ZUluc3BlY3RvckNv
Y29hLm1tCmluZGV4IGIzZWRkY2MzMDQyMi4uNGIwMDc1Njk0MzJmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9jb2NvYS9SZW1vdGVJbnNwZWN0b3JD
b2NvYS5tbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9jb2Nv
YS9SZW1vdGVJbnNwZWN0b3JDb2NvYS5tbQpAQCAtMzYyLDE5ICszNjIsNiBAQCB2b2lkIFJlbW90
ZUluc3BlY3Rvcjo6c2V0UGFyZW50UHJvY2Vzc0luZm9ybWF0aW9uKHBpZF90IHBpZCwgUmV0YWlu
UHRyPENGRGF0YVJlZgogICAgICAgICByZWNlaXZlZFByb3h5QXBwbGljYXRpb25TZXR1cE1lc3Nh
Z2UobmlsKTsKIH0KIAotc3RkOjpvcHRpb25hbDxhdWRpdF90b2tlbl90PiBSZW1vdGVJbnNwZWN0
b3I6OnBhcmVudFByb2Nlc3NBdWRpdFRva2VuKCkKLXsKLSAgICBMb2NrZXIgbG9ja2VyIHsgbV9t
dXRleCB9OwotCi0gICAgaWYgKCFtX3BhcmVudFByb2Nlc3NBdWRpdERhdGEpCi0gICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7Ci0KLSAgICBpZiAoQ0ZEYXRhR2V0TGVuZ3RoKG1fcGFyZW50UHJv
Y2Vzc0F1ZGl0RGF0YS5nZXQoKSkgIT0gc2l6ZW9mKGF1ZGl0X3Rva2VuX3QpKQotICAgICAgICBy
ZXR1cm4gc3RkOjpudWxsb3B0OwotCi0gICAgcmV0dXJuICooY29uc3QgYXVkaXRfdG9rZW5fdCAq
KUNGRGF0YUdldEJ5dGVQdHIobV9wYXJlbnRQcm9jZXNzQXVkaXREYXRhLmdldCgpKTsKLX0KLQog
I3ByYWdtYSBtYXJrIC0gUmVtb3RlSW5zcGVjdG9yWFBDQ29ubmVjdGlvbjo6Q2xpZW50CiAKIHZv
aWQgUmVtb3RlSW5zcGVjdG9yOjp4cGNDb25uZWN0aW9uUmVjZWl2ZWRNZXNzYWdlKFJlbW90ZUlu
c3BlY3RvclhQQ0Nvbm5lY3Rpb24qLCBOU1N0cmluZyAqbWVzc2FnZU5hbWUsIE5TRGljdGlvbmFy
eSAqdXNlckluZm8pCkBAIC00NTYsNyArNDQzLDcgQEAgUmV0YWluUHRyPE5TRGljdGlvbmFyeT4g
UmVtb3RlSW5zcGVjdG9yOjpsaXN0aW5nRm9ySW5zcGVjdGlvblRhcmdldChjb25zdCBSZW1vdGUK
ICAgICAvLyBNdXN0IGNvbGxlY3QgdGFyZ2V0IGluZm9ybWF0aW9uIG9uIHRoZSBXZWJUaHJlYWQs
IE1haW4sIG9yIFdvcmtlciB0aHJlYWQgc2luY2UgUmVtb3RlVGFyZ2V0cyBhcmUKICAgICAvLyBp
bXBsZW1lbnRlZCBieSBub24tdGhyZWFkc2FmZSBKU0MgLyBXZWJDb3JlIGNsYXNzZXMgc3VjaCBh
cyBKU0dsb2JhbE9iamVjdCBvciBXZWJDb3JlOjpQYWdlLgogCi0gICAgaWYgKCF0YXJnZXQuaW5z
cGVjdGFibGUoKSkKKyAgICBpZiAoIXRhcmdldC5yZW1vdGVEZWJ1Z2dpbmdBbGxvd2VkKCkpCiAg
ICAgICAgIHJldHVybiBuaWw7CiAKICAgICBSZXRhaW5QdHI8TlNNdXRhYmxlRGljdGlvbmFyeT4g
bGlzdGluZyA9IGFkb3B0TlMoW1tOU011dGFibGVEaWN0aW9uYXJ5IGFsbG9jXSBpbml0XSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9nbGliL1Jl
bW90ZUluc3BlY3RvckdsaWIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9y
ZW1vdGUvZ2xpYi9SZW1vdGVJbnNwZWN0b3JHbGliLmNwcAppbmRleCAxNzRmYjQwNDVlYmMuLjJk
ODgxMWIzMDc0ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9y
ZW1vdGUvZ2xpYi9SZW1vdGVJbnNwZWN0b3JHbGliLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3JlbW90ZS9nbGliL1JlbW90ZUluc3BlY3RvckdsaWIuY3BwCkBAIC0x
NzAsNyArMTcwLDcgQEAgc3RhdGljIGNvbnN0IGNoYXIqIHRhcmdldERlYnVnZ2FibGVUeXBlKFJl
bW90ZUluc3BlY3Rpb25UYXJnZXQ6OlR5cGUgdHlwZSkKIAogVGFyZ2V0TGlzdGluZyBSZW1vdGVJ
bnNwZWN0b3I6Omxpc3RpbmdGb3JJbnNwZWN0aW9uVGFyZ2V0KGNvbnN0IFJlbW90ZUluc3BlY3Rp
b25UYXJnZXQmIHRhcmdldCkgY29uc3QKIHsKLSAgICBpZiAoIXRhcmdldC5pbnNwZWN0YWJsZSgp
KQorICAgIGlmICghdGFyZ2V0LnJlbW90ZURlYnVnZ2luZ0FsbG93ZWQoKSkKICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CiAKICAgICByZXR1cm4gZ192YXJpYW50X25ldygiKHRzc3NiKSIsIHN0YXRp
Y19jYXN0PGd1aW50NjQ+KHRhcmdldC50YXJnZXRJZGVudGlmaWVyKCkpLApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3Bl
Y3RvclNvY2tldC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9z
b2NrZXQvUmVtb3RlSW5zcGVjdG9yU29ja2V0LmNwcAppbmRleCA2OGQyY2E5MjkwYzIuLjQ3MzM0
ZDgzM2U1YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1v
dGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNvY2tldC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNvY2tldC5jcHAK
QEAgLTExNyw3ICsxMTcsNyBAQCB2b2lkIFJlbW90ZUluc3BlY3Rvcjo6c3RvcEludGVybmFsKFN0
b3BTb3VyY2UpCiAKIFRhcmdldExpc3RpbmcgUmVtb3RlSW5zcGVjdG9yOjpsaXN0aW5nRm9ySW5z
cGVjdGlvblRhcmdldChjb25zdCBSZW1vdGVJbnNwZWN0aW9uVGFyZ2V0JiB0YXJnZXQpIGNvbnN0
CiB7Ci0gICAgaWYgKCF0YXJnZXQuaW5zcGVjdGFibGUoKSkKKyAgICBpZiAoIXRhcmdldC5yZW1v
dGVEZWJ1Z2dpbmdBbGxvd2VkKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgLy8g
RklYTUU6IFN1cHBvcnQgcmVtb3RlIGRlYnVnZ2luZyBvZiBhIFNlcnZpY2VXb3JrZXIuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qc2MuY3BwCmluZGV4IDgyMjYxODJhYmMwMS4uZjViMGQ2ZGEwOTljIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvanNjLmNwcApAQCAtNDUxLDcgKzQ1MSw3IEBAIHB1YmxpYzoKICAgICBib29sIG1fZHVtcE1l
bW9yeUZvb3RwcmludCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2R1bXBMaW5rQnVmZmVyU3RhdHMg
eyBmYWxzZSB9OwogICAgIGJvb2wgbV9kdW1wU2FtcGxpbmdQcm9maWxlckRhdGEgeyBmYWxzZSB9
OwotICAgIGJvb2wgbV9pbnNwZWN0YWJsZSB7IGZhbHNlIH07CisgICAgYm9vbCBtX2VuYWJsZVJl
bW90ZURlYnVnZ2luZyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2NhbkJsb2NrSXNGYWxzZSB7IGZh
bHNlIH07CiAKICAgICB2b2lkIHBhcnNlQXJndW1lbnRzKGludCwgY2hhcioqKTsKQEAgLTM2NzMs
OCArMzY3Myw4IEBAIHZvaWQgQ29tbWFuZExpbmU6OnBhcnNlQXJndW1lbnRzKGludCBhcmdjLCBj
aGFyKiogYXJndikKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKLSAgICAgICAg
aWYgKCFzdHJjbXAoYXJnLCAiLS1pbnNwZWN0YWJsZSIpIHx8ICFzdHJjbXAoYXJnLCAiLS1yZW1v
dGUtZGVidWciKSkgewotICAgICAgICAgICAgbV9pbnNwZWN0YWJsZSA9IHRydWU7CisgICAgICAg
IGlmICghc3RyY21wKGFyZywgIi0tcmVtb3RlLWRlYnVnIikpIHsKKyAgICAgICAgICAgIG1fZW5h
YmxlUmVtb3RlRGVidWdnaW5nID0gdHJ1ZTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAg
ICB9CiAKQEAgLTM3NzMsNyArMzc3Myw3IEBAIGludCBydW5KU0MoY29uc3QgQ29tbWFuZExpbmUm
IG9wdGlvbnMsIGJvb2wgaXNXb3JrZXIsIGNvbnN0IEZ1bmMmIGZ1bmMpCiAKICAgICAgICAgc3Rh
cnRUaW1lb3V0VGhyZWFkSWZOZWVkZWQodm0pOwogICAgICAgICBnbG9iYWxPYmplY3QgPSBHbG9i
YWxPYmplY3Q6OmNyZWF0ZSh2bSwgR2xvYmFsT2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUodm0sIGpz
TnVsbCgpKSwgb3B0aW9ucy5tX2FyZ3VtZW50cyk7Ci0gICAgICAgIGdsb2JhbE9iamVjdC0+c2V0
SW5zcGVjdGFibGUob3B0aW9ucy5tX2luc3BlY3RhYmxlKTsKKyAgICAgICAgZ2xvYmFsT2JqZWN0
LT5zZXRSZW1vdGVEZWJ1Z2dpbmdFbmFibGVkKG9wdGlvbnMubV9lbmFibGVSZW1vdGVEZWJ1Z2dp
bmcpOwogICAgICAgICBmdW5jKHZtLCBnbG9iYWxPYmplY3QsIHN1Y2Nlc3MpOwogICAgICAgICB2
bS5kcmFpbk1pY3JvdGFza3MoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXggY2I2ZDJiMjE0M2Q2Li4yN2QxMDA2ZGRi
NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVj
dC5jcHAKQEAgLTI4MjMsMjEgKzI4MjMsMTkgQEAgdm9pZCBzbG93VmFsaWRhdGVDZWxsKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyhn
bG9iYWxPYmplY3QsIEpTR2xvYmFsT2JqZWN0OjppbmZvKCkpOwogfQogCi12b2lkIEpTR2xvYmFs
T2JqZWN0OjpzZXRJbnNwZWN0YWJsZShib29sIGluc3BlY3RhYmxlKQordm9pZCBKU0dsb2JhbE9i
amVjdDo6c2V0UmVtb3RlRGVidWdnaW5nRW5hYmxlZChib29sIGVuYWJsZWQpCiB7CiAjaWYgRU5B
QkxFKFJFTU9URV9JTlNQRUNUT1IpCi0gICAgLy8gRklYTUU6IDxodHRwOi8vd2Via2l0Lm9yZy9i
LzI0NjIzNz4gTG9jYWwgaW5zcGVjdGlvbiBzaG91bGQgYmUgY29udHJvbGxlZCBieSBgaW5zcGVj
dGFibGVgIEFQSS4KLSAgICBtX2luc3BlY3RvckRlYnVnZ2FibGUtPnNldEluc3BlY3RhYmxlKGlu
c3BlY3RhYmxlKTsKKyAgICBtX2luc3BlY3RvckRlYnVnZ2FibGUtPnNldFJlbW90ZURlYnVnZ2lu
Z0FsbG93ZWQoZW5hYmxlZCk7CiAjZWxzZQotICAgIFVOVVNFRF9QQVJBTShpbnNwZWN0YWJsZSk7
CisgICAgVU5VU0VEX1BBUkFNKGVuYWJsZWQpOwogI2VuZGlmCiB9CiAKLWJvb2wgSlNHbG9iYWxP
YmplY3Q6Omluc3BlY3RhYmxlKCkgY29uc3QKK2Jvb2wgSlNHbG9iYWxPYmplY3Q6OnJlbW90ZURl
YnVnZ2luZ0VuYWJsZWQoKSBjb25zdAogewogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQot
ICAgIC8vIEZJWE1FOiA8aHR0cDovL3dlYmtpdC5vcmcvYi8yNDYyMzc+IExvY2FsIGluc3BlY3Rp
b24gc2hvdWxkIGJlIGNvbnRyb2xsZWQgYnkgYGluc3BlY3RhYmxlYCBBUEkuCi0gICAgcmV0dXJu
IG1faW5zcGVjdG9yRGVidWdnYWJsZS0+aW5zcGVjdGFibGUoKTsKKyAgICByZXR1cm4gbV9pbnNw
ZWN0b3JEZWJ1Z2dhYmxlLT5yZW1vdGVEZWJ1Z2dpbmdBbGxvd2VkKCk7CiAjZWxzZQogICAgIHJl
dHVybiBmYWxzZTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
R2xvYmFsT2JqZWN0LmgKaW5kZXggOWI2MzMxMWVlYTIxLi43ODU2MzNlNGM3ZDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaApAQCAtNTIwLDcg
KzUyMCw2IEBAIHB1YmxpYzoKICAgICBEZWJ1Z2dlciogbV9kZWJ1Z2dlcjsKIAogI2lmIEVOQUJM
RShSRU1PVEVfSU5TUEVDVE9SKQotICAgIC8vIEZJWE1FOiA8aHR0cDovL3dlYmtpdC5vcmcvYi8y
NDYyMzc+IExvY2FsIGluc3BlY3Rpb24gc2hvdWxkIGJlIGNvbnRyb2xsZWQgYnkgYGluc3BlY3Rh
YmxlYCBBUEkuCiAgICAgc3RkOjp1bmlxdWVfcHRyPEluc3BlY3Rvcjo6SlNHbG9iYWxPYmplY3RJ
bnNwZWN0b3JDb250cm9sbGVyPiBtX2luc3BlY3RvckNvbnRyb2xsZXI7CiAgICAgc3RkOjp1bmlx
dWVfcHRyPEpTR2xvYmFsT2JqZWN0RGVidWdnYWJsZT4gbV9pbnNwZWN0b3JEZWJ1Z2dhYmxlOwog
I2VuZGlmCkBAIC0xMDQ5LDggKzEwNDgsOCBAQCBwdWJsaWM6CiAgICAgU3RydWN0dXJlKiBwbGFp
blRpbWVTdHJ1Y3R1cmUoKSB7IHJldHVybiBtX3BsYWluVGltZVN0cnVjdHVyZS5nZXQodGhpcyk7
IH0KICAgICBTdHJ1Y3R1cmUqIHRpbWVab25lU3RydWN0dXJlKCkgeyByZXR1cm4gbV90aW1lWm9u
ZVN0cnVjdHVyZS5nZXQodGhpcyk7IH0KIAotICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgc2V0
SW5zcGVjdGFibGUoYm9vbCk7Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBpbnNwZWN0YWJs
ZSgpIGNvbnN0OworICAgIEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgc2V0UmVtb3RlRGVidWdnaW5n
RW5hYmxlZChib29sKTsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIHJlbW90ZURlYnVnZ2lu
Z0VuYWJsZWQoKSBjb25zdDsKIAogICAgIHZvaWQgc2V0SXNJVE1MKCk7CiAKQEAgLTEwNjYsNyAr
MTA2NSw2IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgcHRyZGlmZl90IG9mZnNldE9mRnVuY3Rpb25Q
cm90b0hhc0luc3RhbmNlU3ltYm9sRnVuY3Rpb24oKSB7IHJldHVybiBPQkpFQ1RfT0ZGU0VUT0Yo
SlNHbG9iYWxPYmplY3QsIG1fZnVuY3Rpb25Qcm90b0hhc0luc3RhbmNlU3ltYm9sRnVuY3Rpb24p
OyB9CiAKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKLSAgICAvLyBGSVhNRTogPGh0dHA6
Ly93ZWJraXQub3JnL2IvMjQ2MjM3PiBMb2NhbCBpbnNwZWN0aW9uIHNob3VsZCBiZSBjb250cm9s
bGVkIGJ5IGBpbnNwZWN0YWJsZWAgQVBJLgogICAgIEluc3BlY3Rvcjo6SlNHbG9iYWxPYmplY3RJ
bnNwZWN0b3JDb250cm9sbGVyJiBpbnNwZWN0b3JDb250cm9sbGVyKCkgY29uc3QgeyByZXR1cm4g
Km1faW5zcGVjdG9yQ29udHJvbGxlci5nZXQoKTsgfQogICAgIEpTR2xvYmFsT2JqZWN0RGVidWdn
YWJsZSYgaW5zcGVjdG9yRGVidWdnYWJsZSgpIHsgcmV0dXJuICptX2luc3BlY3RvckRlYnVnZ2Fi
bGUuZ2V0KCk7IH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvY29jb2EvUnVu
dGltZUFwcGxpY2F0aW9uQ2hlY2tzQ29jb2EuaCBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL1J1bnRp
bWVBcHBsaWNhdGlvbkNoZWNrc0NvY29hLmgKaW5kZXggYjI4MTJjZjBmYzkyLi4wZWRmODk1YTM4
YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL1J1bnRpbWVBcHBsaWNhdGlvbkNo
ZWNrc0NvY29hLmgKKysrIGIvU291cmNlL1dURi93dGYvY29jb2EvUnVudGltZUFwcGxpY2F0aW9u
Q2hlY2tzQ29jb2EuaApAQCAtNTcsNyArNTcsNiBAQCBlbnVtIGNsYXNzIFNES0FsaWduZWRCZWhh
dmlvciB7CiAgICAgSGFzVUlDb250ZXh0TWVudUludGVyYWN0aW9uLAogICAgIEhUTUxEb2N1bWVu
dFN1cHBvcnRlZFByb3BlcnR5TmFtZXMsCiAgICAgSW5pdGlhbGl6ZVdlYktpdDJNYWluVGhyZWFk
QXNzZXJ0aW9uLAotICAgIEluc3BlY3RhYmxlRGVmYXVsdHNUb0Rpc2FibGVkLAogICAgIExhenlH
ZXN0dXJlUmVjb2duaXplckluc3RhbGxhdGlvbiwKICAgICBMaW5rUHJldmlld0VuYWJsZWRCeURl
ZmF1bHQsCiAgICAgTWFpblRocmVhZFJlbGVhc2VBc3NlcnRpb25JbldlYlBhZ2VQcm94eSwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NvbmZpZy5oIGIvU291cmNlL1dlYkNvcmUvY29uZmln
LmgKaW5kZXggNzYwYzQzZWQ1ZjRmLi4wYjc2MjU5YzBmMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2NvbmZpZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NvbmZpZy5oCkBAIC00NSw5ICs0
NSw2IEBACiAjaWZuZGVmIEpTQ19BUElfREVQUkVDQVRFRAogI2RlZmluZSBKU0NfQVBJX0RFUFJF
Q0FURUQoLi4uKQogI2VuZGlmCi0jaWZuZGVmIEpTQ19BUElfREVQUkVDQVRFRF9XSVRIX1JFUExB
Q0VNRU5UCi0jZGVmaW5lIEpTQ19BUElfREVQUkVDQVRFRF9XSVRIX1JFUExBQ0VNRU5UKC4uLikK
LSNlbmRpZgogI2VuZGlmCiAKICNpZmRlZiBfX2NwbHVzcGx1cwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IGQzOTJjZjUxNGEwMy4u
NDkxYmYzMzdlZTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNvbnRyb2xsZXIuY3BwCkBAIC00MDMsNyArNDAzLDYgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9s
bGVyOjppbnNwZWN0KE5vZGUqIG5vZGUpCiAKIGJvb2wgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZW5h
YmxlZCgpIGNvbnN0CiB7Ci0gICAgLy8gRklYTUU6IDxodHRwOi8vd2Via2l0Lm9yZy9iLzI0NjIz
Nz4gTG9jYWwgaW5zcGVjdGlvbiBzaG91bGQgYmUgY29udHJvbGxlZCBieSBgaW5zcGVjdGFibGVg
IEFQSS4KICAgICByZXR1cm4gZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCgpOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
YWdlLmNwcAppbmRleCAyMDFjNzhkMmQzYWUuLjY4OGRiZTE4ZDZlZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
Y3BwCkBAIC0yNzAzLDE0ICsyNzAzLDE0IEBAIHZvaWQgUGFnZTo6c2V0Q3VycmVudEtleWJvYXJk
U2Nyb2xsaW5nQW5pbWF0b3IoS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvciogYW5pbWF0CiAKICNp
ZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKIAotYm9vbCBQYWdlOjppbnNwZWN0YWJsZSgpIGNv
bnN0Citib29sIFBhZ2U6OnJlbW90ZUluc3BlY3Rpb25BbGxvd2VkKCkgY29uc3QKIHsKLSAgICBy
ZXR1cm4gbV9pbnNwZWN0b3JEZWJ1Z2dhYmxlLT5pbnNwZWN0YWJsZSgpOworICAgIHJldHVybiBt
X2luc3BlY3RvckRlYnVnZ2FibGUtPnJlbW90ZURlYnVnZ2luZ0FsbG93ZWQoKTsKIH0KIAotdm9p
ZCBQYWdlOjpzZXRJbnNwZWN0YWJsZShib29sIGluc3BlY3RhYmxlKQordm9pZCBQYWdlOjpzZXRS
ZW1vdGVJbnNwZWN0aW9uQWxsb3dlZChib29sIGFsbG93ZWQpCiB7Ci0gICAgbV9pbnNwZWN0b3JE
ZWJ1Z2dhYmxlLT5zZXRJbnNwZWN0YWJsZShpbnNwZWN0YWJsZSk7CisgICAgbV9pbnNwZWN0b3JE
ZWJ1Z2dhYmxlLT5zZXRSZW1vdGVEZWJ1Z2dpbmdBbGxvd2VkKGFsbG93ZWQpOwogfQogCiBTdHJp
bmcgUGFnZTo6cmVtb3RlSW5zcGVjdGlvbk5hbWVPdmVycmlkZSgpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5o
CmluZGV4IGNhZGQ3M2FmNWVhNi4uZDlkZGM3ZmNjN2NjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaApAQCAtMzI5
LDggKzMyOSw4IEBAIHB1YmxpYzoKIAogCiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCi0g
ICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBpbnNwZWN0YWJsZSgpIGNvbnN0OwotICAgIFdFQkNPUkVf
RVhQT1JUIHZvaWQgc2V0SW5zcGVjdGFibGUoYm9vbCk7CisgICAgV0VCQ09SRV9FWFBPUlQgYm9v
bCByZW1vdGVJbnNwZWN0aW9uQWxsb3dlZCgpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgc2V0UmVtb3RlSW5zcGVjdGlvbkFsbG93ZWQoYm9vbCk7CiAgICAgV0VCQ09SRV9FWFBPUlQg
U3RyaW5nIHJlbW90ZUluc3BlY3Rpb25OYW1lT3ZlcnJpZGUoKSBjb25zdDsKICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHNldFJlbW90ZUluc3BlY3Rpb25OYW1lT3ZlcnJpZGUoY29uc3QgU3RyaW5n
Jik7CiAgICAgdm9pZCByZW1vdGVJbnNwZWN0b3JJbmZvcm1hdGlvbkRpZENoYW5nZSgpIGNvbnN0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2Vy
dmljZVdvcmtlclRocmVhZFByb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWRQcm94eS5jcHAKaW5kZXggMjk0NDI4M2YxNzA4
Li43NjE0N2I3ODg0YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWRQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZFByb3h5LmNwcApA
QCAtODMsNyArODMsNyBAQCBTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OlNlcnZpY2VXb3JrZXJU
aHJlYWRQcm94eShVbmlxdWVSZWY8UGFnZT4mJiBwYWdlLCBTZXJ2aQogICAgIGFsbFNlcnZpY2VX
b3JrZXJUaHJlYWRQcm94aWVzKCkuYWRkKHRoaXMpOwogCiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQ
RUNUT1IpCi0gICAgbV9yZW1vdGVEZWJ1Z2dhYmxlLT5zZXRJbnNwZWN0YWJsZSh0cnVlKTsKKyAg
ICBtX3JlbW90ZURlYnVnZ2FibGUtPnNldFJlbW90ZURlYnVnZ2luZ0FsbG93ZWQodHJ1ZSk7CiAg
ICAgbV9yZW1vdGVEZWJ1Z2dhYmxlLT5pbml0KCk7CiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCmluZGV4IDY4MTg2NGYwNTRlMy4uYzgwNTNmNzM3NzE1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAKQEAgLTI3NjksNyAr
Mjc2OSw3IEBAIHZvaWQgV0tQYWdlU2V0Q29udHJvbGxlZEJ5QXV0b21hdGlvbihXS1BhZ2VSZWYg
cGFnZVJlZiwgYm9vbCBjb250cm9sbGVkKQogYm9vbCBXS1BhZ2VHZXRBbGxvd3NSZW1vdGVJbnNw
ZWN0aW9uKFdLUGFnZVJlZiBwYWdlKQogewogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQot
ICAgIHJldHVybiB0b0ltcGwocGFnZSktPmluc3BlY3RhYmxlKCk7CisgICAgcmV0dXJuIHRvSW1w
bChwYWdlKS0+YWxsb3dzUmVtb3RlSW5zcGVjdGlvbigpOwogI2Vsc2UKICAgICBVTlVTRURfUEFS
QU0ocGFnZSk7CiAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjc4MCw3ICsyNzgwLDcgQEAgdm9pZCBX
S1BhZ2VTZXRBbGxvd3NSZW1vdGVJbnNwZWN0aW9uKFdLUGFnZVJlZiBwYWdlUmVmLCBib29sIGFs
bG93KQogewogICAgIENSQVNIX0lGX1NVU1BFTkRFRDsKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BF
Q1RPUikKLSAgICB0b0ltcGwocGFnZVJlZiktPnNldEluc3BlY3RhYmxlKGFsbG93KTsKKyAgICB0
b0ltcGwocGFnZVJlZiktPnNldEFsbG93c1JlbW90ZUluc3BlY3Rpb24oYWxsb3cpOwogI2Vsc2UK
ICAgICBVTlVTRURfUEFSQU0ocGFnZVJlZik7CiAgICAgVU5VU0VEX1BBUkFNKGFsbG93KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVk
U2NyaXB0VmFsdWVDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9B
UElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbQppbmRleCAzYmIwYzEyMTlhNWQuLjM4ZGMx
NGIxODk3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL0FQ
SVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9BUElTZXJpYWxpemVkU2NyaXB0VmFsdWVDb2NvYS5tbQpAQCAtNDksMTQg
KzQ5LDEwIEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIG1fbGFzdFVzZVRpbWUgPSBNb25vdG9u
aWNUaW1lOjpub3coKTsKICAgICAgICAgaWYgKCFtX2NvbnRleHQpIHsKLSAgICAgICAgICAgIC8v
IEZJWE1FOiByZGFyOi8vMTAwNzM4MzU3IFJlbW90ZSBXZWIgSW5zcGVjdG9yOiBSZW1vdmUgdXNl
IG9mIEpTUmVtb3RlSW5zcGVjdG9yR2V0SW5zcGVjdGlvbkVuYWJsZWRCeURlZmF1bHQKLSAgICAg
ICAgICAgIC8vIGFuZCBKU1JlbW90ZUluc3BlY3RvclNldEluc3BlY3Rpb25FbmFibGVkQnlEZWZh
dWx0IG9uY2UgdGhlIGRlZmF1bHQgc3RhdGUgaXMgYWx3YXlzIGZhbHNlLgotICAgICAgICAgICAg
QUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KICAgICAgICAgICAgIGJvb2wgcHJl
dmlvdXMgPSBKU1JlbW90ZUluc3BlY3RvckdldEluc3BlY3Rpb25FbmFibGVkQnlEZWZhdWx0KCk7
CiAgICAgICAgICAgICBKU1JlbW90ZUluc3BlY3RvclNldEluc3BlY3Rpb25FbmFibGVkQnlEZWZh
dWx0KGZhbHNlKTsKICAgICAgICAgICAgIG1fY29udGV4dCA9IGFkb3B0TlMoW1tKU0NvbnRleHQg
YWxsb2NdIGluaXRdKTsKICAgICAgICAgICAgIEpTUmVtb3RlSW5zcGVjdG9yU2V0SW5zcGVjdGlv
bkVuYWJsZWRCeURlZmF1bHQocHJldmlvdXMpOwotICAgICAgICAgICAgQUxMT1dfREVQUkVDQVRF
RF9ERUNMQVJBVElPTlNfRU5ECiAKICAgICAgICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KHNo
YXJlZEpTQ29udGV4dE1heElkbGVUaW1lKTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5oCmluZGV4IDg3Nzc2ZTRjY2U5MS4uMTU4ZmE4
YjRkMWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
dy5oCkBAIC02NTgsMTIgKzY1OCw2IEBAIFRoZSB1bmlmb3JtIHR5cGUgaWRlbnRpZmllciBrVVRU
eXBlV2ViQXJjaGl2ZSBjYW4gYmUgdXNlZCBnZXQgdGhlIHJlbGF0ZWQgcGFzdGViCiAKICNlbmRp
ZgogCi0vKiEKLUBhYnN0cmFjdCBDb250cm9scyB3aGV0aGVyIHRoaXMgQGxpbmsgV0tXZWJWaWV3
IEAvbGluayBpcyBpbnNwZWN0YWJsZSBpbiBXZWIgSW5zcGVjdG9yLgotQGRpc2N1c3Npb24gVGhl
IGRlZmF1bHQgdmFsdWUgaXMgTk8uCi0qLwotQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1z
ZXRJbnNwZWN0YWJsZTopIEJPT0wgaW5zcGVjdGFibGUgTlNfU1dJRlRfTkFNRShpc0luc3BlY3Rh
YmxlKSBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkp
OwotCiBAZW5kCiAKICNpZiAhVEFSR0VUX09TX0lQSE9ORQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggYTc1YTM1NzY4NzI5Li45MjIzOTkz
MDkxY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
dy5tbQpAQCAtMTQyMiwyNSArMTQyMiw2IEBAIC0gKHZvaWQpc2V0SW50ZXJhY3Rpb25TdGF0ZToo
aWQpaW50ZXJhY3Rpb25TdGF0ZQogICAgIF9wYWdlLT5yZXN0b3JlRnJvbVNlc3Npb25TdGF0ZShz
ZXNzaW9uU3RhdGUsIHRydWUpOwogfQogCi0tIChCT09MKWluc3BlY3RhYmxlCi17Ci0jaWYgRU5B
QkxFKFJFTU9URV9JTlNQRUNUT1IpCi0gICAgLy8gRklYTUU6IDxodHRwOi8vd2Via2l0Lm9yZy9i
LzI0NjIzNz4gTG9jYWwgaW5zcGVjdGlvbiBzaG91bGQgYmUgY29udHJvbGxlZCBieSBgaW5zcGVj
dGFibGVgIEFQSS4KLSAgICByZXR1cm4gX3BhZ2UtPmluc3BlY3RhYmxlKCk7Ci0jZWxzZQotICAg
IHJldHVybiBOTzsKLSNlbmRpZgotfQotCi0tICh2b2lkKXNldEluc3BlY3RhYmxlOihCT09MKWlu
c3BlY3RhYmxlCi17Ci0gICAgVEhST1dfSUZfU1VTUEVOREVEOwotI2lmIEVOQUJMRShSRU1PVEVf
SU5TUEVDVE9SKQotICAgIC8vIEZJWE1FOiA8aHR0cDovL3dlYmtpdC5vcmcvYi8yNDYyMzc+IExv
Y2FsIGluc3BlY3Rpb24gc2hvdWxkIGJlIGNvbnRyb2xsZWQgYnkgYGluc3BlY3RhYmxlYCBBUEku
Ci0gICAgX3BhZ2UtPnNldEluc3BlY3RhYmxlKGluc3BlY3RhYmxlKTsKLSNlbmRpZgotfQotCiAj
cHJhZ21hIG1hcmsgLSBpT1MgQVBJCiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpAQCAtMzA1
OCwxMiArMzAzOSwxOSBAQCAtIChCT09MKV9kZWZlcnJhYmxlVXNlclNjcmlwdHNOZWVkTm90aWZp
Y2F0aW9uCiAKIC0gKEJPT0wpX2FsbG93c1JlbW90ZUluc3BlY3Rpb24KIHsKLSAgICByZXR1cm4g
c2VsZi5pbnNwZWN0YWJsZTsKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKKyAgICByZXR1
cm4gX3BhZ2UtPmFsbG93c1JlbW90ZUluc3BlY3Rpb24oKTsKKyNlbHNlCisgICAgcmV0dXJuIE5P
OworI2VuZGlmCiB9CiAKIC0gKHZvaWQpX3NldEFsbG93c1JlbW90ZUluc3BlY3Rpb246KEJPT0wp
YWxsb3cKIHsKLSAgICBzZWxmLmluc3BlY3RhYmxlID0gYWxsb3c7CisgICAgVEhST1dfSUZfU1VT
UEVOREVEOworI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQorICAgIF9wYWdlLT5zZXRBbGxv
d3NSZW1vdGVJbnNwZWN0aW9uKGFsbG93KTsKKyNlbmRpZgogfQogCiAtIChOU1N0cmluZyAqKV9y
ZW1vdGVJbnNwZWN0aW9uTmFtZU92ZXJyaWRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAppbmRleCA2N2RmYWNjYzM4NDAuLjAx
OTRkNGU0OTc2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlld1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3UHJpdmF0ZS5oCkBAIC0yMDIsNyArMjAyLDcgQEAgZm9yIHRoaXMgcHJvcGVy
dHkuCiAtIChXS05hdmlnYXRpb24gKilfcmVzdG9yZVNlc3Npb25TdGF0ZTooX1dLU2Vzc2lvblN0
YXRlICopc2Vzc2lvblN0YXRlIGFuZE5hdmlnYXRlOihCT09MKW5hdmlnYXRlOwogLSAoX1dLU2Vz
c2lvblN0YXRlICopX3Nlc3Npb25TdGF0ZVdpdGhGaWx0ZXI6KEJPT0wgKF4pKFdLQmFja0Zvcndh
cmRMaXN0SXRlbSAqaXRlbSkpZmlsdGVyOwogCi1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVy
PV9zZXRBbGxvd3NSZW1vdGVJbnNwZWN0aW9uOikgQk9PTCBfYWxsb3dzUmVtb3RlSW5zcGVjdGlv
biBXS19BUElfREVQUkVDQVRFRF9XSVRIX1JFUExBQ0VNRU5UKCJpbnNwZWN0YWJsZSIsIG1hY29z
KDEwLjEwLCBXS19NQUNfVEJBKSwgaW9zKDguMCwgV0tfSU9TX1RCQSkpOworQHByb3BlcnR5IChu
b25hdG9taWMsIHNldHRlcj1fc2V0QWxsb3dzUmVtb3RlSW5zcGVjdGlvbjopIEJPT0wgX2FsbG93
c1JlbW90ZUluc3BlY3Rpb247CiBAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSwgc2V0dGVyPV9z
ZXRSZW1vdGVJbnNwZWN0aW9uTmFtZU92ZXJyaWRlOikgTlNTdHJpbmcgKl9yZW1vdGVJbnNwZWN0
aW9uTmFtZU92ZXJyaWRlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTIpLCBpb3MoMTAuMCkp
OwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIF9pc0JlaW5nSW5zcGVjdGVk
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTIuMCksIGlvcygxNS4wKSk7CiBAcHJvcGVydHkgKG5v
bmF0b21pYywgcmVhZG9ubHkpIF9XS0luc3BlY3RvciAqX2luc3BlY3RvciBXS19BUElfQVZBSUxB
QkxFKG1hY29zKDEwLjE0LjQpLCBpb3MoMTIuMikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvSW5zcGVjdG9yL21hYy9XS0luc3BlY3RvclZpZXdDb250cm9sbGVyLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL21hYy9XS0luc3BlY3RvclZpZXdDb250
cm9sbGVyLm1tCmluZGV4IGJiZWQ1OGQ3ZGFkYi4uNjU5NDAyM2UzZTM1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9JbnNwZWN0b3IvbWFjL1dLSW5zcGVjdG9yVmlld0NvbnRy
b2xsZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvSW5zcGVjdG9yL21hYy9XS0lu
c3BlY3RvclZpZXdDb250cm9sbGVyLm1tCkBAIC05NSw3ICs5NSw2IEBAIC0gKFdLV2ViVmlldyAq
KXdlYlZpZXcKICAgICBpZiAoIV93ZWJWaWV3KSB7CiAgICAgICAgIE5TUmVjdCBpbml0aWFsRnJh
bWUgPSBOU01ha2VSZWN0KDAsIDAsIFdlYktpdDo6V2ViSW5zcGVjdG9yVUlQcm94eTo6aW5pdGlh
bFdpbmRvd1dpZHRoLCBXZWJLaXQ6OldlYkluc3BlY3RvclVJUHJveHk6OmluaXRpYWxXaW5kb3dI
ZWlnaHQpOwogICAgICAgICBfd2ViVmlldyA9IGFkb3B0TlMoW1tXS0luc3BlY3RvcldLV2ViVmll
dyBhbGxvY10gaW5pdFdpdGhGcmFtZTppbml0aWFsRnJhbWUgY29uZmlndXJhdGlvbjpzZWxmLndl
YlZpZXdDb25maWd1cmF0aW9uXSk7Ci0gICAgICAgIFtfd2ViVmlldyBzZXRJbnNwZWN0YWJsZTpZ
RVNdOwogICAgICAgICBbX3dlYlZpZXcgc2V0VUlEZWxlZ2F0ZTpzZWxmXTsKICAgICAgICAgW193
ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpzZWxmXTsKICAgICAgICAgW193ZWJWaWV3IHNl
dEluc3BlY3RvcldLV2ViVmlld0RlbGVnYXRlOnNlbGZdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggMjgwNGQ5Y2YyYjZhLi5lZGNmYmI2YzliNDkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMjY4LDcgKzI2OCw2IEBA
CiAjZW5kaWYKIAogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQotI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL0pTUmVtb3RlSW5zcGVjdG9yLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
UmVtb3RlSW5zcGVjdG9yLmg+CiAjZW5kaWYKIApAQCAtNTczLDcgKzU3Miw3IEBAIFdlYlBhZ2VQ
cm94eTo6V2ViUGFnZVByb3h5KFBhZ2VDbGllbnQmIHBhZ2VDbGllbnQsIFdlYlByb2Nlc3NQcm94
eSYgcHJvY2VzcywgUmVmCiAjZW5kaWYKIAogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQot
ICAgIG1faW5zcGVjdG9yRGVidWdnYWJsZS0+c2V0SW5zcGVjdGFibGUoSlNSZW1vdGVJbnNwZWN0
b3JHZXRJbnNwZWN0aW9uRW5hYmxlZEJ5RGVmYXVsdCgpKTsKKyAgICBtX2luc3BlY3RvckRlYnVn
Z2FibGUtPnNldFJlbW90ZURlYnVnZ2luZ0FsbG93ZWQodHJ1ZSk7CiAgICAgbV9pbnNwZWN0b3JE
ZWJ1Z2dhYmxlLT5pbml0KCk7CiAjZW5kaWYKICAgICBtX2luc3BlY3RvckNvbnRyb2xsZXItPmlu
aXQoKTsKQEAgLTE5OTQsMTQgKzE5OTMsMTQgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnNldEluZGlj
YXRpbmcoYm9vbCBpbmRpY2F0aW5nKQogICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlNldElu
ZGljYXRpbmcoaW5kaWNhdGluZykpOwogfQogCi1ib29sIFdlYlBhZ2VQcm94eTo6aW5zcGVjdGFi
bGUoKSBjb25zdAorYm9vbCBXZWJQYWdlUHJveHk6OmFsbG93c1JlbW90ZUluc3BlY3Rpb24oKSBj
b25zdAogewotICAgIHJldHVybiBtX2luc3BlY3RvckRlYnVnZ2FibGUtPmluc3BlY3RhYmxlKCk7
CisgICAgcmV0dXJuIG1faW5zcGVjdG9yRGVidWdnYWJsZS0+cmVtb3RlRGVidWdnaW5nQWxsb3dl
ZCgpOwogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6c2V0SW5zcGVjdGFibGUoYm9vbCBpbnNwZWN0
YWJsZSkKK3ZvaWQgV2ViUGFnZVByb3h5OjpzZXRBbGxvd3NSZW1vdGVJbnNwZWN0aW9uKGJvb2wg
YWxsb3cpCiB7Ci0gICAgbV9pbnNwZWN0b3JEZWJ1Z2dhYmxlLT5zZXRJbnNwZWN0YWJsZShpbnNw
ZWN0YWJsZSk7CisgICAgbV9pbnNwZWN0b3JEZWJ1Z2dhYmxlLT5zZXRSZW1vdGVEZWJ1Z2dpbmdB
bGxvd2VkKGFsbG93KTsKIH0KIAogU3RyaW5nIFdlYlBhZ2VQcm94eTo6cmVtb3RlSW5zcGVjdGlv
bk5hbWVPdmVycmlkZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
CmluZGV4IDhkZGU1ODAzNjA4MS4uMTI4YjgzNjRhZTk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaApAQCAtNTU2LDggKzU1Niw4IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJM
RShSRU1PVEVfSU5TUEVDVE9SKQogICAgIHZvaWQgc2V0SW5kaWNhdGluZyhib29sKTsKLSAgICBi
b29sIGluc3BlY3RhYmxlKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRJbnNwZWN0YWJsZShib29sKTsK
KyAgICBib29sIGFsbG93c1JlbW90ZUluc3BlY3Rpb24oKSBjb25zdDsKKyAgICB2b2lkIHNldEFs
bG93c1JlbW90ZUluc3BlY3Rpb24oYm9vbCk7CiAgICAgU3RyaW5nIHJlbW90ZUluc3BlY3Rpb25O
YW1lT3ZlcnJpZGUoKSBjb25zdDsKICAgICB2b2lkIHNldFJlbW90ZUluc3BlY3Rpb25OYW1lT3Zl
cnJpZGUoY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCByZW1vdGVJbnNwZWN0b3JJbmZvcm1hdGlv
bkRpZENoYW5nZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQyUHJlZml4Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYktpdDJQcmVmaXguaAppbmRleCAxMWYwYmQ3NmIyN2UuLjQwNmFh
ODExOGZhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQyUHJlZml4LmgKKysrIGIv
U291cmNlL1dlYktpdC9XZWJLaXQyUHJlZml4LmgKQEAgLTU5LDkgKzU5LDYgQEAKICNpZm5kZWYg
SlNDX0FQSV9ERVBSRUNBVEVECiAjZGVmaW5lIEpTQ19BUElfREVQUkVDQVRFRCguLi4pCiAjZW5k
aWYKLSNpZm5kZWYgSlNDX0FQSV9ERVBSRUNBVEVEX1dJVEhfUkVQTEFDRU1FTlQKLSNkZWZpbmUg
SlNDX0FQSV9ERVBSRUNBVEVEX1dJVEhfUkVQTEFDRU1FTlQoLi4uKQotI2VuZGlmCiAjZW5kaWYg
Ly8gQlVJTERJTkdfV0lUSF9DTUFLRQogCiAjZW5kaWYgLy8gUExBVEZPUk0oQ09DT0EpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggNDFjMmNmOGM3OGE5
Li4zNGI2N2JhMWI5ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZp
ZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0KQEAgLTE1ODUsNyArMTU4NSw3IEBAIC0gKHZvaWQpX2NvbW1vbkluaXRpYWxpemF0aW9u
V2l0aEZyYW1lTmFtZTooTlNTdHJpbmcgKilmcmFtZU5hbWUgZ3JvdXBOYW1lOihOU1N0CiAjZW5k
aWYKIAogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQotICAgIF9wcml2YXRlLT5wYWdlLT5z
ZXRJbnNwZWN0YWJsZSh0cnVlKTsKKyAgICBfcHJpdmF0ZS0+cGFnZS0+c2V0UmVtb3RlSW5zcGVj
dGlvbkFsbG93ZWQodHJ1ZSk7CiAjZW5kaWYKIAogICAgIF9wcml2YXRlLT5wYWdlLT5zZXRDYW5T
dGFydE1lZGlhKFtzZWxmIHdpbmRvd10pOwpAQCAtMTg3MCw3ICsxODcwLDcgQEAgLSAoaWQpaW5p
dFNpbXBsZUhUTUxEb2N1bWVudFdpdGhTdHlsZTooTlNTdHJpbmcgKilzdHlsZSBmcmFtZTooQ0dS
ZWN0KWZyYW1lIHByZWYKICAgICBfcHJpdmF0ZS0+cGFnZS0+c2V0R3JvdXBOYW1lKGdyb3VwTmFt
ZSk7CiAKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKLSAgICBfcHJpdmF0ZS0+cGFnZS0+
c2V0SW5zcGVjdGFibGUoaXNJbnRlcm5hbEluc3RhbGwoKSk7CisgICAgX3ByaXZhdGUtPnBhZ2Ut
PnNldFJlbW90ZUluc3BlY3Rpb25BbGxvd2VkKGlzSW50ZXJuYWxJbnN0YWxsKCkpOwogI2VuZGlm
CiAKICAgICBbc2VsZiBfdXBkYXRlU2NyZWVuU2NhbGVGcm9tV2luZG93XTsKQEAgLTI2ODcsMTIg
KzI2ODcsMTIgQEAgKyAoQk9PTClfaGFzUmVtb3RlSW5zcGVjdG9yU2Vzc2lvbgogCiAtIChCT09M
KWFsbG93c1JlbW90ZUluc3BlY3Rpb24KIHsKLSAgICByZXR1cm4gX3ByaXZhdGUtPnBhZ2UtPmlu
c3BlY3RhYmxlKCk7CisgICAgcmV0dXJuIF9wcml2YXRlLT5wYWdlLT5yZW1vdGVJbnNwZWN0aW9u
QWxsb3dlZCgpOwogfQogCiAtICh2b2lkKXNldEFsbG93c1JlbW90ZUluc3BlY3Rpb246KEJPT0wp
YWxsb3cKIHsKLSAgICBfcHJpdmF0ZS0+cGFnZS0+c2V0SW5zcGVjdGFibGUoYWxsb3cpOworICAg
IF9wcml2YXRlLT5wYWdlLT5zZXRSZW1vdGVJbnNwZWN0aW9uQWxsb3dlZChhbGxvdyk7CiB9CiAK
IC0gKHZvaWQpc2V0U2hvd2luZ0luc3BlY3RvckluZGljYXRpb246KEJPT0wpc2hvd2luZwpkaWZm
IC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvbWFjL1dLMkJyb3dzZXJXaW5kb3dDb250cm9sbGVy
Lm0gYi9Ub29scy9NaW5pQnJvd3Nlci9tYWMvV0syQnJvd3NlcldpbmRvd0NvbnRyb2xsZXIubQpp
bmRleCA2NzE0MzdhZmM1ODEuLjZkODBjNzY5N2EzZiAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJy
b3dzZXIvbWFjL1dLMkJyb3dzZXJXaW5kb3dDb250cm9sbGVyLm0KKysrIGIvVG9vbHMvTWluaUJy
b3dzZXIvbWFjL1dLMkJyb3dzZXJXaW5kb3dDb250cm9sbGVyLm0KQEAgLTkyLDcgKzkyLDYgQEAg
QGltcGxlbWVudGF0aW9uIFdLMkJyb3dzZXJXaW5kb3dDb250cm9sbGVyIHsKIC0gKHZvaWQpYXdh
a2VGcm9tTmliCiB7CiAgICAgX3dlYlZpZXcgPSBbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhG
cmFtZTpbY29udGFpbmVyVmlldyBib3VuZHNdIGNvbmZpZ3VyYXRpb246X2NvbmZpZ3VyYXRpb25d
OwotICAgIF93ZWJWaWV3Lmluc3BlY3RhYmxlID0gWUVTOwogICAgIFtzZWxmIGRpZENoYW5nZVNl
dHRpbmdzXTsKIAogICAgIF93ZWJWaWV3LmFsbG93c01hZ25pZmljYXRpb24gPSBZRVM7CmRpZmYg
LS1naXQgYS9Ub29scy9Nb2JpbGVNaW5pQnJvd3Nlci9Nb2JpbGVNaW5pQnJvd3NlckZyYW1ld29y
ay9XZWJWaWV3Q29udHJvbGxlci5tIGIvVG9vbHMvTW9iaWxlTWluaUJyb3dzZXIvTW9iaWxlTWlu
aUJyb3dzZXJGcmFtZXdvcmsvV2ViVmlld0NvbnRyb2xsZXIubQppbmRleCA2NmM4YmRmNWVlY2Qu
LjMzYWIwMzdlNWRhNCAxMDA2NDQKLS0tIGEvVG9vbHMvTW9iaWxlTWluaUJyb3dzZXIvTW9iaWxl
TWluaUJyb3dzZXJGcmFtZXdvcmsvV2ViVmlld0NvbnRyb2xsZXIubQorKysgYi9Ub29scy9Nb2Jp
bGVNaW5pQnJvd3Nlci9Nb2JpbGVNaW5pQnJvd3NlckZyYW1ld29yay9XZWJWaWV3Q29udHJvbGxl
ci5tCkBAIC0xODAsNyArMTgwLDYgQEAgLSAoV0tXZWJWaWV3ICopY3JlYXRlV2ViVmlldwogICAg
IGNvbmZpZ3VyYXRpb24ucHJlZmVyZW5jZXMuX21vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQgPSBZ
RVM7CiAKICAgICBXS1dlYlZpZXcgKndlYlZpZXcgPSBbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdp
dGhGcmFtZTpzZWxmLndlYlZpZXdDb250YWluZXIuYm91bmRzIGNvbmZpZ3VyYXRpb246Y29uZmln
dXJhdGlvbl07Ci0gICAgd2ViVmlldy5pbnNwZWN0YWJsZSA9IFlFUzsKICAgICB3ZWJWaWV3Lm5h
dmlnYXRpb25EZWxlZ2F0ZSA9IHNlbGY7CiAgICAgd2ViVmlldy5hdXRvcmVzaXppbmdNYXNrID0g
VUlWaWV3QXV0b3Jlc2l6aW5nRmxleGlibGVXaWR0aCB8IFVJVmlld0F1dG9yZXNpemluZ0ZsZXhp
YmxlSGVpZ2h0OwogICAgIFt3ZWJWaWV3IGFkZE9ic2VydmVyOnNlbGYgZm9yS2V5UGF0aDpAInRp
dGxlIiBvcHRpb25zOk5TS2V5VmFsdWVPYnNlcnZpbmdPcHRpb25OZXcgY29udGV4dDpUaXRsZUNv
bnRleHRdOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0UnVu
bmVyV0tXZWJWaWV3Lm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0UnVubmVy
V0tXZWJWaWV3Lm1tCmluZGV4IGE2YjRkNzg2MmI0NC4uYmViNzlhYTVhZjU5IDEwMDY0NAotLS0g
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RSdW5uZXJXS1dlYlZpZXcubW0KKysr
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0UnVubmVyV0tXZWJWaWV3Lm1tCkBA
IC0xMTYsNyArMTE2LDYgQEAgLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRnJhbWU6KENHUmVjdClm
cmFtZSBjb25maWd1cmF0aW9uOihXS1dlYlZpZXdDb25maWd1cmF0aW8KICAgICAgICAgQUxMT1df
REVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECiAgICAgICAgIFtjZW50ZXIgYWRkT2JzZXJ2ZXI6
c2VsZiBzZWxlY3RvcjpAc2VsZWN0b3IoX3dpbGxQcmVzZW50UG9wb3ZlcikgbmFtZTpAIlVJUG9w
b3ZlckNvbnRyb2xsZXJXaWxsUHJlc2VudFBvcG92ZXJOb3RpZmljYXRpb24iIG9iamVjdDpuaWxd
OwogICAgICAgICBbY2VudGVyIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9k
aWREaXNtaXNzUG9wb3ZlcikgbmFtZTpAIlVJUG9wb3ZlckNvbnRyb2xsZXJEaWREaXNtaXNzUG9w
b3Zlck5vdGlmaWNhdGlvbiIgb2JqZWN0Om5pbF07Ci0gICAgICAgIHNlbGYuaW5zcGVjdGFibGUg
PSBZRVM7CiAgICAgICAgIHNlbGYuVUlEZWxlZ2F0ZSA9IHNlbGY7CiAgICAgICAgIHNlbGYuX2lu
cHV0RGVsZWdhdGUgPSBzZWxmOwogICAgICAgICBzZWxmLmZvY3VzU3RhcnRzSW5wdXRTZXNzaW9u
UG9saWN5ID0gX1dLRm9jdXNTdGFydHNJbnB1dFNlc3Npb25Qb2xpY3lBdXRvOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>