<?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>63886</bug_id>
          
          <creation_ts>2011-07-03 20:51:44 -0700</creation_ts>
          <short_desc>REGRESSION(r90347): Build breaks on Leopard, Chromium-win, WinCairo, and WinCE. (Requested by tkent on #webkit).</short_desc>
          <delta_ts>2011-07-03 20:54:53 -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>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>16652</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>barraclough</cc>
    
    <cc>sam</cc>
    
    <cc>tkent</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>431778</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-03 20:51:44 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/90347 broke the build:
Build breaks on Leopard, Chromium-win, WinCairo, and WinCE. (Requested by tkent on #webkit).

This is an automatic bug report generated by the sheriff-bot. 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 case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431779</commentid>
    <comment_count>1</comment_count>
      <attachid>99591</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-03 20:52:07 -0700</bug_when>
    <thetext>Created attachment 99591
ROLLOUT of r90347

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 rollout will be successful.  This process takes approximately 15 minutes.

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

  webkit-patch land-attachment ATTACHMENT_ID --ignore-builders

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431780</commentid>
    <comment_count>2</comment_count>
      <attachid>99591</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-07-03 20:54:47 -0700</bug_when>
    <thetext>Comment on attachment 99591
ROLLOUT of r90347

Clearing flags on attachment: 99591

Committed r90349: &lt;http://trac.webkit.org/changeset/90349&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431781</commentid>
    <comment_count>3</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-07-03 20:54:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99591</attachid>
            <date>2011-07-03 20:52:07 -0700</date>
            <delta_ts>2011-07-03 20:54:47 -0700</delta_ts>
            <desc>ROLLOUT of r90347</desc>
            <filename>bug-63886-20110704035136.patch</filename>
            <type>text/plain</type>
            <size>59090</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTAzNDgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3NWVjMjY0OWRiZGQzYTM4ZDk0OWYy
Yjg1ZWEyZTczZTZhNjFlYTUwLi5kNzYyZDVhZTY0OThlNTQyZTJhMWFhZDk3OTgwMzNkZDkwODY0
NmRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDctMDMgIFNoZXJpZmYgQm90ICA8d2Vi
a2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHI5MDM0Ny4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvOTAz
NDcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzODg2
CisKKyAgICAgICAgQnVpbGQgYnJlYWtzIG9uIExlb3BhcmQsIENocm9taXVtLXdpbiwgV2luQ2Fp
cm8sIGFuZCBXaW5DRS4KKyAgICAgICAgKFJlcXVlc3RlZCBieSB0a2VudCBvbiAjd2Via2l0KS4K
KworICAgICAgICAqIGZhc3QvanMvbnVtYmVyLXRvU3RyaW5nLWV4cGVjdGVkLnR4dDoKKwogMjAx
MS0wNy0wMSAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvanMvbnVtYmVyLXRvU3RyaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvanMv
bnVtYmVyLXRvU3RyaW5nLWV4cGVjdGVkLnR4dAppbmRleCBjYTg4MWJlYTVkMzQyYjM0OWZjZWQy
YzEwNTlmOGY2OTRlODM3ZTM4Li4zODg0ODI3N2Y5YzlhMzUyNWExZTgyYTZkMmQ1NzI5Njk3Nzgz
NDBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2pzL251bWJlci10b1N0cmluZy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9udW1iZXItdG9TdHJpbmctZXhwZWN0
ZWQudHh0CkBAIC0xMiw0MSArMTIsNDEgQEAgUEFTUyAoMTIzNC41NjcpLnRvU3RyaW5nKDEpIHRo
cmV3IGV4Y2VwdGlvbiBSYW5nZUVycm9yOiB0b1N0cmluZygpIHJhZGl4IGFyZ3VtZW4KIFBBU1Mg
KDEyMzQuNTY3KS50b1N0cmluZyh0cnVlKSB0aHJldyBleGNlcHRpb24gUmFuZ2VFcnJvcjogdG9T
dHJpbmcoKSByYWRpeCBhcmd1bWVudCBtdXN0IGJlIGJldHdlZW4gMiBhbmQgMzYuCiBQQVNTICgx
MjM0LjU2NykudG9TdHJpbmcoJzEnKSB0aHJldyBleGNlcHRpb24gUmFuZ2VFcnJvcjogdG9TdHJp
bmcoKSByYWRpeCBhcmd1bWVudCBtdXN0IGJlIGJldHdlZW4gMiBhbmQgMzYuCiBQQVNTICgxMjM0
LjU2NykudG9TdHJpbmcoMikgaXMgIjEwMDExMDEwMDEwLjEwMDEwMDAxMDAxMDAxMTAxMTEwMTAw
MTAxMTExMDAwMTEwMTAxMDEiCi1QQVNTICgxMjM0LjU2NykudG9TdHJpbmcoMykgaXMgIjEyMDAy
MDEuMTIwMDIyMTAwMDIxMDAxMDIxMDIxMDAyMjAyIgorRkFJTCAoMTIzNC41NjcpLnRvU3RyaW5n
KDMpIHNob3VsZCBiZSAxMjAwMjAxLjEyMDAyMjEwMDAyMTAwMTAyMTAyMTAwMjIwMi4gV2FzIDEy
MDAyMDEuMTIwMDIyMTAwMDIxMDAxMDIxMDIxMDAyMjAxMjAwMTEwMjIyMjAwMTIxMTAyMTIxMTEy
MjEwMjEyMDEwMDAxMDIxMDIwMDIwMDAxMDAyMTIyMjAxMTEwMDAyMjEwMjExMTExMTIyMDAwMDEy
MDEyMTAyMDIwMjAyMjIyMjAxMjIyMTAwMjAyMDIxMTAxMjIyMTEyMjExMjAwMDEwMDAxMTEwMTAw
MTAwMTAwMjIyMjAyMjAxMjAyMDAxMDIyMDAyMjEyMjAyMjExMDIwMjAwMjAwMjIwMjIyMjIwMjIx
MjAxMDAyMTIwMTIxMjAxMjIyMDAyMTEyMTExMTAwMDAwMDIxMTIwMDIwMDIyMjAwMDExMjAxMjEx
MjIwMjExMTEwMjEwMjIyMTEyMDAwMDIxMjExMTIwMjIwMTAyMjExMTAyMTEwMDIyMTEyMDAxMDAx
MTIyMDAyMDEwMDIyMDAyMTIyMTExMDAwMjIxMjExMTIwMDAwMjIxMjIyMTEwMjIyMTAwMjAyMDIy
MDAwMTExMDEyMDAyMTIxMDIxMTAxMDIyMTIxMTAwMTIyMDAxMTEyMTIxMDExMDAwMDEwMTEyMDEw
MjAwMDIwMjAxMTAyMjAwMjIyMDIyMjEwMTAxMDIyMTIxMTAwMDEyMDAxMDAyMjEwMjAwMjIxMDAy
MTIyMTAwMjEyMjIxMTAyMTEyMDIwMTExMTEwMTIwMjExMDEwMDAwMTEyMTExMTEyMDEyMjEyMDEy
MjExMDIwMTIwMTIyMjAyMDIyMTAxMTAwMjEyMTAyMjIwMDIwMTIxMDEyMjAwMDAyMjAyMDIwMDAw
MTAwMDAwMDIyMTIyMTExMjIwMDIyMDEwMDIyMjEyMDIxMDAyMDAwMTIwMTIwMjEyMTAxMDIwMDAx
MTIxMDAyMDAwMTIxMDIxMDEyMTIwMjAyMjEwMjEwMTExMDEyMjAyMDEwMDAyMDAyMTIyMjEwMjAx
MjAxMjIyMjIxMjEyMTExMTEyMTEyMTEyMTEwMTIxMjEyMjAyMTAwMTAxMDIyMjIwMTIwMDIyMTIw
MDAxMTIyMDExMTEyMTExMTExMTEwMjAyMjIyMjExMDAyMjIyMjExMjIwMDAyMDAyMTEwMDIwMjIx
MDAyMDAxMjIxMjAwMTAwMTEwMjExMTExMTIyMTIwMTAyMDIyMjIwMTAwMDIxMDIyMDEyMTAwMDEw
MDIyMDEyMTExMTIyMjEyMTAxMTExMDEwMTEwMjAwMTAwMjAyMjAyMTAxMTIwMTIwMDEwMTIwMDAw
MTIxMDIxMDEyMTAwMDAyMDEyMTExMDEwMjExMDIxMDIwMTAxMDAyMTEyMjAxMjIwMTExMTExMTIw
MTEwMi4KIFBBU1MgKDEyMzQuNTY3KS50b1N0cmluZyg0KSBpcyAiMTAzMTAyLjIxMDEwMjEyMzIy
MTEzMjAzMTExIgogUEFTUyAoMTIzNC41NjcpLnRvU3RyaW5nKDQuOSkgaXMgIjEwMzEwMi4yMTAx
MDIxMjMyMjExMzIwMzExMSIKLVBBU1MgKDEyMzQuNTY3KS50b1N0cmluZyg1KSBpcyAiMTQ0MTQu
MjQwNDE0MTQxNDE0MTQxNDE0IgotUEFTUyAoMTIzNC41NjcpLnRvU3RyaW5nKDYpIGlzICI1NDE0
LjMyMjI0NTU0MTM0NDMwMjMzIgotUEFTUyAoMTIzNC41NjcpLnRvU3RyaW5nKDcpIGlzICIzNDEy
LjM2NTMyMzY2MTExMTY1MyIKK0ZBSUwgKDEyMzQuNTY3KS50b1N0cmluZyg1KSBzaG91bGQgYmUg
MTQ0MTQuMjQwNDE0MTQxNDE0MTQxNDE0LiBXYXMgMTQ0MTQuMjQwNDE0MTQxNDE0MTQxNDE0MjAw
MTMzMDExNDQyNDM0MDMxMDQwMTI0MzMwMjQ0MDIzMTI0MjAwMDExMzA0MzEyMzExMzI0MTAwMzIw
MzEwMzIyMjMyMzM0NDAxMjQxNDQ0MDIzMzAxMzAxNDI0MzExNDAyNDEwMzQzNDQwNDQwMTQ0MjM0
MTIxMjIxMDA0MDQyMzEzMjE0NDMzMjIzMzEyMzQwMzQ0NDIxNDMzMzAzNDAzMjEyMDEyMjM0MjEw
MTMwNDQ0NDEwMDIxMzEzMDIyMTMxMjEyNDMwMjMxLgorRkFJTCAoMTIzNC41NjcpLnRvU3RyaW5n
KDYpIHNob3VsZCBiZSA1NDE0LjMyMjI0NTU0MTM0NDMwMjMzLiBXYXMgNTQxNC4zMjIyNDU1NDEz
NDQzMDIzMzIzMzU1NDQxNDMyNDIyNTE1NTQxNTEzLgorRkFJTCAoMTIzNC41NjcpLnRvU3RyaW5n
KDcpIHNob3VsZCBiZSAzNDEyLjM2NTMyMzY2MTExMTY1My4gV2FzIDM0MTIuMzY1MzIzNjYxMTEx
NjUyNTAwMzAwNjMyMjAwMTEwNjI2MjUyNjQyMzUwMjIzNjYwMzEzNTUwMDY0MjM1NjI0MDAzNTMz
NTEwMzM1MTQ2MDQ0NDM2NjEyMzMxMjYzMDYzNTQ0NjYwNjYyNDA2NjI1MjAwMzMzMTIxMTAyMjIw
MDQ2MTI1NDIyMTYzNjQzMDA1MjU1MzQzMzMyMjEzMDQxNTA0NDQyMDMxNDEyMTA1MDAxNjIzMDI1
MTYyMTA0MzQzMTUxNTIyMzQzNDAzMjY2MDM2MzU0NjE1MDEzMzYyNDIxMTYyMDMzMTQxNTMzNTQ2
NTExMjY1MzIxMDUzNjU0MTUxMTY1MDAzNDA1MDE1MDU1MzQxNDQxNTY2NTIwMzA1NTQwMTI0NjU2
MjU1NjUxNjEzMzI2NDUzMzQyMjM2NTExNDUxMDQ0MjU1NTQ1MjYzMDIwMjMwMzQ2NTQ2MDAwNjY1
NjQ1MTIxMjMwMTI1MjU1NDY0MDQyMTYxMTIwMjAzNjQxMjA2MTAxNDQwMTI0MzQxMTYxNjIyMDEy
NDMzMjUwMzYxNjQwNDAyMTUxMjA2NjU0MTUyMDEzMjAyMjE2NjIzMzM1MjYyMDQzNjAwNjYwMTY1
NDYxNTM1MTE0MjYwNTIyNTA1MTMzMTQ1NjY1NTI2NTY0NDEwNTQ2NDQ0MDYyMDYxMjEzMjAwNDEw
MjYzMTYxMTQwMTQxMTUyNTM2MzAwMTY0NDY0MjM2MDU0MDUxNDIyNTQxNjUyMTQ0MDMyNjI1NTIy
NTE2MjYwMzA1MzMzMTMwMzMxNjUxMDQ2MTEwNDUwMjQ1NTU1NDE2MDY0NTIwMzM0MTYzMTM1NjUy
MzQzMDY1MTY1MDE1NjQyMTIxNDQ2NDQzNDEyNDMyMzM2NDMxMjIwNTExNTAxNTU0MzQ1MjIzMDIy
MjQ1NjY2MjMxMzY0NTI0MTYzMjIyMjAzMjI0MzEwMTMzMzU2MDUyNDM1MzE1MzU2MjE0MTM2NTI2
NjUxMzM2NTIxMzAwNjI0NTE0NjYyMzUzMDI2NDM0NDY0MTU0MjUwNTU0NTQxMTIwMTQzMzU0MzAz
MDMyMTE1MDAxMzY2NjYyMjYwMTI0NTQxMTEwMDYxNTEzNDY0MzYzNDEwMzQzNTI2MjY1MjYwNDQw
NjM1NjI1NDMzNDExNjIyMDAzMjM0NjEwMjIwNTQzMTI0MTUwNjIyMjQ2MzQxNTUxMzM2MjY1NTQx
NjI0MzE1NDQwNTU0MTIyMDE2MjQ2MTQzNTYwMTQzMTI2MDQxMjI1MDAzMDEuCiBQQVNTICgxMjM0
LjU2NykudG9TdHJpbmcoOCkgaXMgIjIzMjIuNDQyMjMzNTEzNjE1MjQiCi1QQVNTICgxMjM0LjU2
NykudG9TdHJpbmcoOSkgaXMgIjE2MjEuNTA4MzA3MDM3MjMyNjUiCitGQUlMICgxMjM0LjU2Nyku
dG9TdHJpbmcoOSkgc2hvdWxkIGJlIDE2MjEuNTA4MzA3MDM3MjMyNjUuIFdhcyAxNjIxLjUwODMw
NzAzNzIzMjY1MDQyODYxNzM3NzQ4Mzc2MzAzNzIwNjAzMjU4MTQwMjcyNDQ0ODAwNTE3MjIyMjg4
MTg3MDY2NzM1ODQ4NDYwMzA0MzMxMDMyODY4MTY2MTI2Mjc4MjczNjYyMDgyODgyNzYzMjUxNzY1
ODA3NTQ0MDAwNzUwNjI4MDE1MTc1Njc0MzcyODQ2MDI1NDUyNjM4NDM3MzI3NTAzMTU2MjEwODA3
ODQzMDg1NDUwMDg1ODQyODMyMjI2MDQzNTA3NzI0MTI3NzMxODA0NTUzNDAwMzQ2MzYwNjY0MjYy
ODI4MzMzODU0MDE2MTA4MzYyNzA3ODMyNTg0MjQ2NjQ0MzUyNDEwMDQ3NDQ2NTc2NTczNjUxODY2
ODM0MDc3MjgwNjUzNTYwMjY2NjAxMDAwODU3NDgwODEwODc2NzA2MDUxNjc3MTIwMTUzMjAxNzIz
NTUyMjcyMzQzNTY2MzA2MjU4MzY1MTg4Nzc3NDQ3NTQ3MzU1NTY3MDMzODgxNjI3NjA0ODE0NTQ0
NDQyMjg4NDA4ODc1NjA2MjQwNjgzMjA1NzYxMDQyNDQ0ODUxMjI4NjMwNzI2NTMwMzI2NTQ0ODc3
MTQzMzQyMDMyMjY3MTUxNjExNjAxNzIzNTMwMjE3NDEyNDIzNjMzMjQ4MTgxNDQ0NjQyMDI4MTI1
MTYyODAzODE3NzU1MDc2MTM3MDI1ODU3ODg1ODM0MjQ4ODExMjU4MDcxODU4ODg1Mzg2NzYyMTA4
MzE0ODYxNDQ1NjIzNzU4NjQyNjEzNDUxNDczODMyMjIzMjIyNzIwNTU2MzQ1NDczNjMzMDY2ODM0
MDgzNjU1NzM4NjA0MjUyMzQzNzM1NDg4NzM2ODE2Mzg1NDgxMTAyNDY4Njg2MDQxMDA3NDY4ODMx
NjU3MjEyNDQ2NzU3NTEwNDgwMTIxMjY3ODIxNTc4NzgxNTQzNTM3MTMzNzE3NTg0NjI0MzIwMDMx
ODM1ODI1MjYwMTE1ODY4NDQzNzgwNTMyMDA4MjczMzEwMDg2MjQ1MTYwMTA1NTQ0NTY3MTI4MDc1
NjMxMDgzNDcwNDY2NTc2NzQ2NjU2NTExMzE0MjIxNDQ1NTAyNTYxNjgwNDcwMTQyMTU2NzcwMzAx
NDE0NDM1ODcwMDgxMDU2MTAzNzUzNDA1MzM2NTgzODQzODUwMDMyNjYwNDcwMTQwNjY2MzI3ODQ1
MTI0NDAzMDA4NjU2MTY2MDI3NjU4MjAxNjQyNTg4Njc1MDU4MDI2NjcxNjMyNDMwODU3NjczMDE0
NTMwMDYyNzQyNjY1NjA4MzgwNDI2MTM2NjY2NTMwMjE3Mzc0MTIxNzY1NTI4NzQyNTguCiBQQVNT
ICgxMjM0LjU2NykudG9TdHJpbmcoMTApIGlzICIxMjM0LjU2NyIKLVBBU1MgKDEyMzQuNTY3KS50
b1N0cmluZygxMSkgaXMgImEyMi42MjY3NGEwYTU4ODUiCi1QQVNTICgxMjM0LjU2NykudG9TdHJp
bmcoMTIpIGlzICI4NmEuNjk3OTM4YjE3NzAxIgotUEFTUyAoMTIzNC41NjcpLnRvU3RyaW5nKDEz
KSBpcyAiNzNjLjc0YTkxMTkxYTY1IgotUEFTUyAoMTIzNC41NjcpLnRvU3RyaW5nKDE0KSBpcyAi
NjQyLjdkMWJjMmNhYTc1NyIKLVBBU1MgKDEyMzQuNTY3KS50b1N0cmluZygxNSkgaXMgIjU3NC44
Nzg5NTk1OTU5NiIKK0ZBSUwgKDEyMzQuNTY3KS50b1N0cmluZygxMSkgc2hvdWxkIGJlIGEyMi42
MjY3NGEwYTU4ODUuIFdhcyBhMjIuNjI2NzRhMGE1ODg0OTE0NTY4NGE0NjI1MDczODQyMTk3ODc4
Nzg5NTQ3Mzc2ODk5ODlhMzQ3NjQ3NjgwODc2MDk1YTIzNDU4NjA4ODUwNDYwMzEyODdhOWExNjk0
YTM5NzEzMTkzNDE0MjAyNjc0NTE2NmE3MDQzNDQ3NzNhNzM3MDA4MDI2OTQ2ODMxMjUzNDM5ODg5
NDE3NTU1NDZhODE0ODQ5NTk0YTM2NDAyOTYwN2FhMDc3MWEyNDQ3MDY4OTMwYWE1NTc3NTk5Njg5
NzI1N2EzODU1NzE2MzQwMjg2YTk5NjkzOTY2OTg2ODQyNTA1NmE0Mjk0NGE0NTQzNzI1MjAyMDk5
NjA1MzQzMzE2MDQ1ODM4NjU5MjA3NTYyYTAwNTE5YTQwMjM2MjJhODI2MDY1MzlhOTQ3MzY2NDUz
MTcwNTZhYTk0ODI0NjhhOTk2OTk0YTM0NzQ3MTE1M2E3MWE4Njg0YTg4MTc4NjYzNDkyOTQxMDIz
MTU1NDEzMzM5NjQ2NjgxMGExMzEwMTM3OTk5YWE5OTExMDc2ODIxMDk5YTIwMjQ3NTQxMjEzNzE1
MTE4MTIzMDE5NTc0NjM2NDQxMjA5NDUyNDE0OTE0YTY5NmEyOTY5ODQ5MzI4OTQ0NTMwYTM0ODQ0
NTMzOTIyOTY1MzA2ODQ4YTk1YTIxODk0NTQzMTYxOTI3ODczMzgwNzIyNDExMTgwMzIxMjA3NTc4
MDhhMjU4OGE5MDBhNzQxOTM5MTMyNDA2MWE1NDRhYTFhNzRhOGE5MzczNjY5MzYyOTI3YTQwMjBh
NjI4YTczNDFhOTIwNTU5MzgyYTQ3MzI5MTQzOTM5NGE1MjQ0NzQ1NTI3ODE5MWEwMDc0OTQ0OTkx
MjIzNDQ2YTA5NTI5ODU3OTM4YTg5NDQxODE4ODQ3MTRhMzc1OTI0MTYzMDk2NTI1OTYwNjBhMTU5
NTAxNjcyNTM0MTQzNzAyODc1OTM3MjkzODY1NTAzODA3MzBhYTIxMDU5YTA0MTMxYTI3NDkzNmE4
NDMzNDg5MTkzMjk2MTIxMzMyNzE5OTgzNzhhNTc1Mjk3OTQyNTlhNTY0NGE1MTkxNTgxMmFhMTAy
MzIwNzIxNDIyNTExNTMzNDM2MDY0MDI2YTI2OGE0Njc3NDAxMzEwODcwNjIwMzg2OTI1YTYyMjQ1
NDBhNzhhODAzMjk0NTA2NTAxNzQ3MDc4NTA4NDc5MzIwNzc2M2EzYTAyYTk0NDkxMjc0NDM2NTk4
NTFhOTgyOTc5MjAzMDAzNTM0MDIwODEzNDQwMjkzOTlhOTEyMTg1MjUxMTEwNTcxNmE5MzI1MDEz
MjIyMDc0NTUxYTQ2Njk3Mzk5OS4KK0ZBSUwgKDEyMzQuNTY3KS50b1N0cmluZygxMikgc2hvdWxk
IGJlIDg2YS42OTc5MzhiMTc3MDEuIFdhcyA4NmEuNjk3OTM4YjE3NzAxMjcyOTBiOTkuCitGQUlM
ICgxMjM0LjU2NykudG9TdHJpbmcoMTMpIHNob3VsZCBiZSA3M2MuNzRhOTExOTFhNjUuIFdhcyA3
M2MuNzRhOTExOTFhNjRjYjg2ODUwYmMwOGE2OTQzNDBjNzY1OTc5NjM0YTAxMDcwNjk5MWMwODhh
NjEwMThiMjlhMTZhNzQwOTM3OTU2NDA3OTM4NDZhNzUyMDU4NzgxNmJhNTY0MDViN2E4NzI4Njli
Mzk1YzMzNmNhNTE5NDc0YmFhMTc1MzkxNjkxNzNhODgwYjQ5YzE3ODA3NGJhNTUxYTU3ODFhMTE1
MTUyNzkzMzI0MjkxYjkyNjBiNjAzMzM1NzM5NTU3Mzc4NDViMDNhMjMyMWE2NTI3N2E3ODA5MjNi
MjYyODk4NTk3OTczYmM0YjY2OTcwNTY4MGEwYjFiODhiMzY2YjYzODZjOTYyMDg5NzljMTRhOTYz
MmM1MTYzMjY4ODM1MjI4NDAxNjViMzhjOGI0MTViN2EzMzlhYmM2Y2E3MDUxYjBhYzcwMjc3MjQ0
YTA1NDc3YjhhMGEwOWNhYjA3MmEyN2I5MjAzODk0NzdiNjU2MTY4MzExMTY1MTQ0MTljNDQ1MTI5
NjdhOTJiMzljYTczYWMwMWM0NjFiNjczNWNhMzFiY2MxN2FiYTdhNzY0MTJhN2E1OTlhOGMyMTdj
NmE3NGE2N2FhNmM0NjY0NDMyMDY1NzMyY2FhN2MyNGExODU2MTcwNzQ4NjQ3YzJiMDQ5YzE5YzU3
MjMyM2MwMzMwMWMyODNiNjljYjQ2YjA5YTA0NWI0NDRhNGM3YzgyOTAxNjU2NTgzMjY3Njk3Mzg5
YjMxOGE3M2IxNzFhMTg0MDYzMjRhNzhiNWM0NzhhOWM2N2M5OWM4NzdiMTA3NDQ4Y2FjNjUxOTQ1
NTcwYTgzMjIwYmFhNGEzMDQ4MTU3MTg5ODQ1Y2I2NmI3MzYxYzEyOWNjMzAxNmM1MmM0Yjg1OGNi
MDg3NGNhMTIyYjhiN2JhOTMzM2FhOTQ2MzkxYTI0YjhjODY5NTg5Njg3NzNiYzE4Mjc4MDIyYjFi
YTc2YjI0NzI3YzJjY2E1NTQ0MjY5NzU0OTM5MmExNTI5MjcxMzkyMDhjMTI3NDViYzI2YTVjMTc0
MzIzMzI5OTBhMzI2NzkxNWIwNjMzMTM3NGE3YTg0Yjk0NjljMDIwODM1ODI5MDMzN2M5OWNiMzIz
YTkwNzZhMjg0YzViMzE4YmM4MjY5ODljOGI4NjYzYmMyNDlhOWM2ODczOTU1MDQ5NTg4MjVjMWE1
NDFiMDg3MTBiYjY0NzI4OGNhNGMxMTc5Y2MyYWM4NDc2MTEyM2E3YjI3NTkxMGNiN2E0M2MxOGMy
OTNiMWM3NTRiMDFjYjlhMjExNzY3MzU2YTYyNjg4Nzk4MGIzODQ4MjJjMTRhNTc0OTQzMzE5NDZh
NS4KK0ZBSUwgKDEyMzQuNTY3KS50b1N0cmluZygxNCkgc2hvdWxkIGJlIDY0Mi43ZDFiYzJjYWE3
NTcuIFdhcyA2NDIuN2QxYmMyY2FhNzU3MzVjY2I0NThhMGQwYjZiYjYxMzFiOTExNDUzNy4KK0ZB
SUwgKDEyMzQuNTY3KS50b1N0cmluZygxNSkgc2hvdWxkIGJlIDU3NC44Nzg5NTk1OTU5Ni4gV2Fz
IDU3NC44Nzg5NTk1OTU5NWE0YmJhYzgwYmMxZTkwZWViNWJjOGMxOGIzZGM3N2E1OTYyMTE2YjE1
OWQ2NmJiYjdiZDk1YTRjNzk4NGM2MzMyMjQzNDYxNWU4MDIzNWI4YTQ4MjY2OWE4NWU5NzIxOGM0
MTUxOGUwMGViODk4YWJhNDYzNTkzZDNiNGQwMGU3ZGMxZDAzNDNjZDI3MTYxMDk2ZGQ4MTA1OTM2
NjlkMTU2MTk4MmJjYzM1Y2RhMmU1NGMyOGRlNzc1OWMxNTg2YWRjODY3MjA5YjAzNDI5MzAzOWUw
M2JkY2UyOWNiNmE4YmU3ZDY1ZTA5ODQ0MDk0OTg5YTJkNTM2NjNkMTIyMzMwYmM5NDA0OGQxYmQ2
NzcyMmE4NmRiMDY4YTA2NzkwMjVkNzhkYjkzMTIyNzJjOGI5MTY3MTU5NmQ3NWQ4MGM1MzMzMWVi
MDE4NTc5YzgzMTE1YzJkMDA1ODFkYjkxMGU4ZTRjYjQ0YzRjOTU4YzhkODZkZDU5ZDU1NDM5Yjdj
ODQ5ZGEzMjEzMGRlZDUzYTY5N2EyNmE4ZGNlYTZiOGRkYzJhZDA0NzYyNGJiYTkyMjkwOWQ4YzJk
NDg0NjBiYzMzYTJlODE2ZDllY2RlMTNkNmQyNGVlNjU4OWIwYWQ5ZDY5NmNjMjg3NTNiODAyMGFk
MjFlODZhYzQzNjM5MTRhZGM0YTg3MTM5YWIxODgzMTM0MzljZDJlYTg2MjJiNGJkNTQwMzNlOGE0
YTZlNjFhODBjODIyOWRjMzczOTlkNzM5NzhkMWQzNDQzYjMxYzk4N2UxNTg5MDQyMTRjY2U3ODVk
ODRlMjJlMmE2MDYyM2IxNDEyOTJlNjc1NzViMWQxYTA1MGRiY2NkMDJjNDczMjYzOGQyNGI0YzIy
NmU5ZGNjMWEzODdjZDdkMmExZTc5N2UwNzU3YTlkZTEwODg0NjcxOWFhYjI5OTliNTg2NjliMjFh
YjA2Y2VlM2FjNmUyOTk5MDc4MTUwNTk1ODU5NWE0Y2UwYmUwNzEwYzViMjE5MDM2NWEyZGJiYmM1
ZWVhNDk5MzY2NWUxZDI1MjY2ZGUzN2MxOTYwNTQ4OGEyYjFjZTA1NDM2MTA5N2U2M2MwOGViYmI3
ZGU3MDkyNDc2ZGRiMGI1MmM4OTQ3MGE5NTdiOTk5YjM0YjJiY2I3MzAwNTNlODllZDQ4Nzg5ZDlh
MjA0MDViMzYwZDA4NGIzODA1NjU5OTAwYmQ4YjgzMTg1MjkyOWJiNTQyZTQ1ZTM4MzZjMjZjNDIz
ZTg0MjE3MjQ2MTljMmE5NzI1ZTQzN2M5NmE4MzQ4NDk2MTk4NWRkYzJkNGQ4YTA2MGRhZTExN2Q3
MTBjLgogUEFTUyAoMTIzNC41NjcpLnRvU3RyaW5nKDE2KSBpcyAiNGQyLjkxMjZlOTc4ZDUiCi1Q
QVNTICgxMjM0LjU2NykudG9TdHJpbmcoMTcpIGlzICI0NGEuOWFlYjZmYWEwZGEiCi1QQVNTICgx
MjM0LjU2NykudG9TdHJpbmcoMTgpIGlzICIzZWEuYTNjZDcxMDJhYyIKLVBBU1MgKDEyMzQuNTY3
KS50b1N0cmluZygxOSkgaXMgIjM3aS5hZWQxMDJhMDRkIgorRkFJTCAoMTIzNC41NjcpLnRvU3Ry
aW5nKDE3KSBzaG91bGQgYmUgNDRhLjlhZWI2ZmFhMGRhLiBXYXMgNDRhLjlhZWI2ZmFhMGRhMmM1
ZTg4Nzg4ZDBmNTJkMmViYzAyM2FlNTQ5NDkyNmRlNTUwNzJlZTQxMTRmYjM4Z2E1MjU4ZGQyNGEx
Z2E0MjUwYmIzMjI0N2c1ODIxMTRnOTJnYzk5NDYyY2JiNWQ4NTg0YTIxZDA5ZWFhZGcwMGRjNDBl
YzkzOGdnZGI5ZTIwOTFnZjJhYzQ4MjQ0MmZiY2JjMjhjZGU4MmFhNmU3OWU2YTU3YWYzOGU1MWZn
MTc2NTI2ZGFiYzY1NDk5MDBjODk3NjE0MGJiNGY1Y2QwZDljNjQyYmRiYjdlNzEzNWQwZWEzNWZl
YjU4MDVlN2JhOTc5NzVhMWYyZmE0NWY2MmU3NzQzMDdnNzYwZWMyMzBlNDMwNjRlZGc1MTdnZjdj
OWM5M2QyNGM0M2JnMjQwOTQ0MDZiMGI0NzkyY2c1NGEzOGYyYjMwNjVhZ2czOTBlZmUzM2U3NjU1
ZjAyODhkMzBlYzZiNmNiOTk0OTYxNjI1ZDE4ZzYzNmJmMWczNDQzYzJhOWc1ZGMyMjJjNTQ2YzQx
N2E1MGIzZTc0ZGY5NGQyMTdiZ2VlZThmYWQxY2Y1YzI1MTdnOWU3YmFiZWNkMzhiNzA5MmZkOWNn
NTE5ZzAyOWdmNzAxYTgyOWU5OGczNzQwMmJjNDk2ZGMzZzBmMTQ3MzU2NGIzM2FlZWRlNWNjNzBn
ZTU4Nzc4ZGRhZDczMGZlZWY0MDk0NDlhY2dkMmEyYmNjMTkxN2I3OTdjOTRlYzU3ZWI0Zzg4MDVl
OTcwOGM1ZzU3YTc4NjI2MDI5YjVjMjQ3YWUxMmdmOGU3YzU0YmQ4MDI0Y2ZnYzYzYTFmNzIzZDI5
NWNkZjNnZGY4M2dnMTc3MzZhODQ2MTRnMWY2OGRkZDFlNDQ5NGYyN2Q2MWJhNTkwMWYyMzg0ZDZk
ZWRjNzg3NWIxYmFiYjhnMDk1NzBmYTNmZDMyZjE5N2Q1OWZnNDk5NzI5MjYxZzhmZ2JnNzUzZWFk
NGRhZmNmZjFmYThlZjcxOWE2OTRkYjkyYTgwZjUzNWM2MTI4ZWc1NjU5YTY4ZWZkZ2dkOWIzMmVj
Njk3MGU3Y2I0MWZiZzk5YWYwMmQzOGMxZWdiODI4NDA3ZWVnY2M0Y2Y5ODVjNzdnZ2RmNWdjNWI1
NGE4ZzdiZGQ0YWcyMzE4Z2RmMzUxMmVhN2E0MWQxYmUyYzY2NWdiYzU2MTkzNDJiOTIwMGYwZ2Rh
OWNkMmM5NTdhZjZkMjlnZWdlZTcyMjhiN2RiYWU3ZjY3ODhjNGVnNDU1NmE5Y2EyZTEzZTc1NTg4
ZzM2OWJhMTI3MmExYjQuCitGQUlMICgxMjM0LjU2NykudG9TdHJpbmcoMTgpIHNob3VsZCBiZSAz
ZWEuYTNjZDcxMDJhYy4gV2FzIDNlYS5hM2NkNzEwMmFiZjAzZGQzZmNmMDUzNTYzOGQ5ZDMxM2Vo
YTc1YjQ5LgorRkFJTCAoMTIzNC41NjcpLnRvU3RyaW5nKDE5KSBzaG91bGQgYmUgMzdpLmFlZDEw
MmEwNGQuIFdhcyAzN2kuYWVkMTAyYTA0ZDQwNzgyZWJoMWUyZ2M3aTU1OGMzMGZiZTIzMGRoYTU3
MDE5ZTNhMzBlNDM0MjIwZjcxNDJhYjMzZjZlNGgzZWM5aGE1N2I0NzRhNTJhOWRkaGViMTUxNTk0
ZTc2NjE0MThpZjFnZ2MyNGgyNmU2NTc0NzY5ZzE0OGMyNzhlZmM2M2RlZDEzNjE1YmY2YjFpZ2Rk
aWcxaTZkMGZmZTY0YTlmYWFkNWI0Z2YyNDBjZDA3NGI1aGMzaWRhZmVjMWJlNzdnNGNiMDc1NWc4
YTBkNjUyY2VnOWU3NDliZGFoNTZhMmg1ZDNiOTRjNzRmZjBiNzhhaWRnYWI2OTNpZjEwYWI4aDA0
NjQyNTEzN2FlNTI1MGYwNGMwN2RjMjJpZmJkYTNmZ2RlaDlhNmUxZDIzZDVlYmdhMjkzZ2U1ODE0
NDFlZWIwN2I4ODQxOTc0MjRiMGMzZ2ZlY2g3ODIwZmJnZzk1ZWFoZGMzYWNlYWhjaTY1aTgyM2Qz
aDE0NmRkODBpZWZmMjNiaTg0YmVjMjE5ZWE5aGU0N2lnM2czMDljaTFoN2YwaTBpMjliYWI0YjFm
aGQxOWY5ZWRmNGlmMWYyOGE1YjBiYWM4N2NpaGUyOGFiYmgxZjRhYmVnYmEyMmdlaDFjNmg1MmMw
N2UwY2k1Z2k4MTllNDFkM2QwZmRlZTUwaDI3YzhoaWQwM2E5NWdjZjRoYWMxNjE4OGFlNWlpNzE5
ZGk4NWFkM2E4ZmQwNTlhYTYzYjFnZTlmYzU0MWhmNjllZTY2Z2YwMTc1YjQxY2ExZGhhaGFhMzlo
YzdpZDdjOTFkYzhkMDllN2gwaWQwMjUyNTMyZGc0OTNnNWY4MGEyMDljMzFmNDFjOTJpZmgwMmky
M2lnZWQwNmk2Y2Y5Nzc3ZzNhMTBoaWYzaTMyMTdkMzJiMDBmaWk3YWc0YzhlZTlpYWRmMzIwMWkz
NjZiNGcyM2djNTA1ZzYzYzg0NmI1MTAyZDVnZzg2ZGhoMmQ4ZWFmMzAxYWMxM2NnMGY0NWQxNzFm
ZjQ3OWcxOTk1ZjFoYzdjN2lpMWkwYjk4MWUyZTA0MmIzNzFhNjhoYjY0YzVmaDkyaGYzMGZkNzJl
MDczYmY0MzlhZTEwZGc0ZzczOWgxNzBkZGYzOTRjYmVhOTBoaDU0OTBmaWE4M2QzNmJpZ2Y3MmE1
ZWNmOGNmMTI2ZDU0aDdnaGRlZzVmaWMwaTIxZGI3N2hmODhoYWVmZGIxMmgzMjIyZmM1YzdkMzA3
NzA3aDVjZWczaTAxYTE3YmU1YzMxYTVnYjlkaGFkNmNhNmljYTdjNGJhNDQ5MTUwNGI3aDIxYzJk
ODNiMmRiM2ZpNjdjaC4KIFBBU1MgKDEyMzQuNTY3KS50b1N0cmluZygyMCkgaXMgIjMxZS5iNmci
Ci1QQVNTICgxMjM0LjU2NykudG9TdHJpbmcoMjEpIGlzICIyZ2cuYmowa2Y1Y2ZlOSIKLVBBU1Mg
KDEyMzQuNTY3KS50b1N0cmluZygyMikgaXMgIjJjMi5jYTk5MzdjYWsiCi1QQVNTICgxMjM0LjU2
NykudG9TdHJpbmcoMjMpIGlzICIyN2YuZDBsZmpiMWE3YyIKLVBBU1MgKDEyMzQuNTY3KS50b1N0
cmluZygyNCkgaXMgIjIzYS5kZWU0bmo5OWoiCi1QQVNTICgxMjM0LjU2NykudG9TdHJpbmcoMjUp
IGlzICIxbzkuZTQ5OTk5OTk5IgotUEFTUyAoMTIzNC41NjcpLnRvU3RyaW5nKDI2KSBpcyAiMWxj
LmVqN2ZhNHBrZiIKLVBBU1MgKDEyMzQuNTY3KS50b1N0cmluZygyNykgaXMgIjFpai5mODk3MTc3
MmsiCi1QQVNTICgxMjM0LjU2NykudG9TdHJpbmcoMjgpIGlzICIxZzIuZm9lbHFpYThlIgotUEFT
UyAoMTIzNC41NjcpLnRvU3RyaW5nKDI5KSBpcyAiMWRnLmdjb2c5ZTA1cSIKK0ZBSUwgKDEyMzQu
NTY3KS50b1N0cmluZygyMSkgc2hvdWxkIGJlIDJnZy5iajBrZjVjZmU5LiBXYXMgMmdnLmJqMGtm
NWNmZTkxaGs2ZmczODNiMTkzOGZmOGQwMGg0azkyOTU5NTlqY2JqOWM5MjgyZTg0MGIxNjlramkx
ZWczMjg5M2FmZTA2M2YwYmJma2VmMmNiYWVnY2EwMzViZjEwYjJhajNlNmY2Zmcwa2czNWs4ajgy
ajgyZTA4ZTZiaTBjMmllOGhoY2djNTdpaDZhZWdiOWJoN2c4MDg2MTlrMjY0aDZoYzI5azgxMmE3
MGdrMjEwZzMxNWQ5YmZoN2lmNmg2Y2s5NTExYjJrZmIxZmc0ZWQ2NmdkaWdiNjQxNzM4ZDVhNjVn
Yzc0OGUxYjY4OGNpZ2tjaWY1MWNiMjYxaGQ0amhqNWg0NjAyZTJhZGRiaWUwZDNkNWRjMjZiaGtl
Y2VhOTYxaDRpYTgzOGUyYmM5MmFnMzRhMzcwYzZlamFmMjdkamllYmdoY2gyOWZlZWtqMTdnZjYy
Zzc0ZDBoNTc1Zzk0YWVrZDdrZGZjYmI1NWVqYmIyZTk2YmhqN2I5MTQ1MGphYWIyNGppaTNhZWhh
ZWQ2MTQxZWozZmNjajhoZmprMzRraDVpZGdoZmI4ZDFraDM5YWRhZjJjZTVlaDc1NmVqMDg4Z2c5
YWI5OWZiMzMyMTU4ZGNkNTliOGFoMTA4ZWkzNDMxajZpMTFrMDkyY2lpYmtoMmloOWRnaDliMDky
MjExOWM5ODY4NGIzODg0NjYzMGRpZWpnNjBrMWQ5M2NnNmlmazU3ZTU0YWtpaGJpODlraDloMDg0
Y2tjZzVhN2lpZWc2YzAxZTkwZDA5ZGJhaWs5YjE1azlrZmowaWdoMDBkaThiY2VpNGlmZWszOGhl
ZWEwMTRmMGVpMmFmYThpYjA4aWk5ZWcyZTBrNzFkNDM5MDZmMTNiYWMwOGc5ZTZmMjJiNzZraWhj
YTFhMTNmZjBlY2k0MjE3aDc4NGFoZ2Q1Nzg5ajMwOGJkZ2ZqZ2VraGtqaGY2ZmU0M2RraWg0MGhi
MjE2M2k2MTNkZDRnMWpmY2IxaWJjNGk0Njlla2JjMzhraDk5aTkzazE0YWc3aWtlamZhNTI4YzM4
ajkwZmhhYjhrZWFpOGNjY2lrZzVmNjk3NDk5MzRkMjg1Nmk1OTA4amgyaGg5OWY1amlnOGhoMmVo
NGNhOGdoMTlrN2gyZzBhNjNoYmM5NmQwa2cyN2tlMDc1OWRjODEwN2U2M2pkMGRka2I4ZmUwa2sw
YTA0Y2lhZGFpYjUxa2YxMDFpMzY0aTBpYzFnZWRoMTQ1aTJnaGk0aWU0ajFhZ2MzZmdiNWhja2pq
NGVhNWVrZTA0aGo1OWllOWU0aGM0YmNlMTZnaGYzN2c0YjdmaDNqaDQzYmZjNTJhODEuCitGQUlM
ICgxMjM0LjU2NykudG9TdHJpbmcoMjIpIHNob3VsZCBiZSAyYzIuY2E5OTM3Y2FrLiBXYXMgMmMy
LmNhOTkzN2NhazFkNTAyMzk5ZjJoa2E4YTNjODdoMGtjNzZmYTZqNWIuCitGQUlMICgxMjM0LjU2
NykudG9TdHJpbmcoMjMpIHNob3VsZCBiZSAyN2YuZDBsZmpiMWE3Yy4gV2FzIDI3Zi5kMGxmamIx
YTdjNmNhYmZqN2dlZTMzamRqYTlmZzljbWpnMzc4ZmhlYTE5Y2ZhYmc4OTZmaTBhYjFnbDgzOWZp
bDVjZzhkajFoYmdqYWdiMGlsbTg4ZW0ybDllM2pnOGhtbTE5ZWJtbWpqNmZrMWwxOWZnNzAxMWMx
ajZqaTNjNmJsMWxoazNraGJsMTA1YzJkM2NlMWoyYjM4MThhbWw3MmxjaDY1OGVsYzRkMWg5ZDk0
Y2o4NjFlZzc1ajBrNTlmZGw1OTZpOTc4YmU4MjFsZ2tpbWw1ZGE3MmJkM2owaDU2M2g2a2hmNzBt
NjRkOWgyZWFjNDZsNGEyZzMzNWkwMTBoZGwwaDVoMWI2MWFnZGhtZDdrZG1tY2gwNWlsamFkaGgx
MGk4NmxhaDFhamY0Zmo3aTJtOGgxOGpqZjJhbWQyZTY2YTg2ZWkzajBoNzdiN2tmNmo2NTdhbTFm
NmltamFhYTI4ZjAyMW05YTEzaWNrYTUzNmMwZmE2NWFhbGJibGllaTI2Y2xsMzhhYzFjbTM0M2gw
ZWM4aDBrNG1oMWtiaGxhNmE5ODg5bGxqNmRiMDdlYjlnbWZpaGdnZDFrYWltNzBnYjZsMDgyamNh
bGRnMzUzYWU5aTM1Zzc3ZmVtN2JnNzdrN2VtNGM0MWZoYmVqbWhoZ2dqNGJsbGkzZjc1MTBsNTVs
MWowYzBoODYyY2k5aGUyZGxha2kyajBpZWFoMzZkOGkzZ2YzZGk3aDA5NWFqa2JkM2FtZ2xnZ2M1
aTZpZmg0MDc2ZzQzNmpjYzliYzMzNW1iZ2VjMjNiamdma2k1NGZtOWZjMTA1YzJnMWw5bWM4bW1n
bTFqM2U4aTk2aGpkMzhpYzVrZWI4bTUza2Iya2NlYzE4YzA0MzY5bGc5N2RrNjYwaWRiaWpmY2Zo
OWVmMGcwNWM0MTExNmkxbDY2NDkwMGpqZjVqZ2tpa2w5a2toajZqOGNsbTVoNTg0bDI4NzVqNGo4
YzM1OGs4ajNmODhjNGEyOTdjYmM4MThqMjZhMGlobWYyMWxsNmtrZm05MTFhZTRlN2hiMmw1aGE4
NWZmZGk2M2htazk3Y2RkNG1mY2ltOTdnbWhjbGg0M2lnMmo1bWE1YzE5aGxlOGkyaGhsbTJnampt
aWFlMzA3NTRtYjdkMGw3ODgxaWdoaGgwYzBiZmFnZWttMDdoMzQ0YmRsaTc3bTVqajk3ZzY5YWVn
ODE2M2VkNmFtZ2ZtMDM5YmoyYjlpYjlhbGRmYTEwM2k4M2NlYmgwYmdkajhtN2w4MjNrMmQ2aDRs
OG1pYTloazY3M21haWEyMm1pazRrM2wwN2gwMm1iOWc1NmxrMjZnM21pY2owNTNnLgorRkFJTCAo
MTIzNC41NjcpLnRvU3RyaW5nKDI0KSBzaG91bGQgYmUgMjNhLmRlZTRuajk5ai4gV2FzIDIzYS5k
ZWU0bmo5OWowZmc3Yy4KK0ZBSUwgKDEyMzQuNTY3KS50b1N0cmluZygyNSkgc2hvdWxkIGJlIDFv
OS5lNDk5OTk5OTkuIFdhcyAxbzkuZTQ5OTk5OTk5YTFpMTltbmtnNDFlaTJvMmdlYTA2Zm43Zzhl
NTNhZzNjZGRqazdsb2tkZjgxbW42a2U1amprbzFvZGxiYzU0NGQ4Ym9pY2k3ajNvbTlpZmozYmE3
ZG01ODRvbDBiZ2ZjODc3bjJnLgorRkFJTCAoMTIzNC41NjcpLnRvU3RyaW5nKDI2KSBzaG91bGQg
YmUgMWxjLmVqN2ZhNHBrZi4gV2FzIDFsYy5lajdmYTRwa2ZiNWkzOTYxbzhrODMyaG01OTRoOHA1
NThnYms4MzZkLgorRkFJTCAoMTIzNC41NjcpLnRvU3RyaW5nKDI3KSBzaG91bGQgYmUgMWlqLmY4
OTcxNzcyay4gV2FzIDFpai5mODk3MTc3MmppY3FpZ2JnZWxuMzE3NjYxMmhqYzJsbWRoMDU1YjZr
cWpxOWs3YXFlbWkzMWM5OTlxa2prMTgybmttNmlpb3FvcGoyZmdqcTJlZDkwN2Y2OGk0am1vbWNs
cWUwN21mb2JtYmM4ZTExaDIzODJoZDBwbWYwcHFjcTlrODBkNTJnN2E4ZzloMWVnNDAzZTNpNmpi
aXE4bGE4Zzk1MTJsaXAyaDlucGJlNmRjZm0zMGVkZTVuNW02ZmhrOGE5bmJvNmc1aTJrNjA5MDho
ZG84MzhuNzIwZmZuYTYxZzIwZzc1ZmtsbGQ1azMyMmhsampxcG5kZWVlY2duazlhOG9mOGYxaDRl
ZGRja3FtMnFtbzIyYzZwMjFwaTljbWRoZmI4bzk3ODU5Mzg1ZGhuYWQzY2k5a2thZmYzZjBnNzU5
MjVkM203NmEyZWpvZGRmY2k4ajdqaXExODVnZ2luMWI5N3FoaHBxYWJlcTNiaGlsaGhxcGxxN2lq
Mmw0aGlkZG83N2hvY280NGZkbTg5azcyNnA2NWgzZG1tNmEwazhhOXA2Z3BibzFiZmxkN2FtcXBi
ODUzcG1vYTBta29xMGM5MmRrcTlmaGIzbWU3aGUzNG8xNmJraDZlbnBvZWQ1YmFhNzVlcGY3YzYw
OWhhcTdraTE0cWttZDdvNTlpMmttMzMwcTJkamkxMW5kZWthOGltbzk5cDRsNGs1bjdlNmg1M2M0
YjZkZG4wbmlmbzRsMWNqaDdsMzBkNGRhcWwwbzloMTE3ZzQxbGI1cDhkOGYwOW9pNGwxYzZrMzho
ZGo3ZDEwMm9oMWswOGZoazBmY25xb21paGk4NmxmOW05OGhmbTA0ZTkwaXBjb2pvMmxvNDgxYjZr
NTkyNWNtYTZnam44cGNucWRjOTM2aDhuNzdkZTZoZjloYzQ2YmdwbWFoamlqbGxjb2M3bGJkaTZt
bG0ybW41MjQ3a2JrYWVqamVtZzJlaGlvaTc1cDY0YjlxN2NhZTA0Nm0xYjdlcXA3NDM0OGtxbWo2
NDNoZjQwbzQ4bmE5bG0ycDNrM2NmM2VhbGwyYXFrN3A3M2g1aGdxNms4MmNsZ24xMWtkY2IxNTBj
cTU2MDdqcGFkb29ucHA1aTc4YTNsbWhuYmJxNGw4MzI1YTAzaGQ3bTM3Zmw5NGlnaTQzY2dwMGc0
aGdkNWhrcGsxZ2lqaGVhNTA4ZXFiZ2RnbWJiaWtoOWs2N2Q2MGhuZTUybGM2OGM0amY0OTFrajhi
aTY5MXA5MWQ2YTRiZzFwcGtuM2NxMGgzNG9jOWIybWozM29vbGxxajVwM2M0N2xnODNsMzJqMGtl
cDhqbjExbW8xNjA2NjdwLgorRkFJTCAoMTIzNC41NjcpLnRvU3RyaW5nKDI4KSBzaG91bGQgYmUg
MWcyLmZvZWxxaWE4ZS4gV2FzIDFnMi5mb2VscWlhOGViZmxkZTJjOTg4bC4KK0ZBSUwgKDEyMzQu
NTY3KS50b1N0cmluZygyOSkgc2hvdWxkIGJlIDFkZy5nY29nOWUwNXEuIFdhcyAxZGcuZ2NvZzll
MDVwbzBuaDFuajAzY2JnbzFzNGlkNWtmMmZxZjhucTdyY29rcjVyNjNubzZiOWhqMWduaGpiY2M0
bTZrZmM3ZmRlMTdjaGRwNXFiZnFjNTBmMnNxam1xb283NHNtOWs1bHNrZ3ByOXI4ZmQ1Y245MzQz
a3I4MTE1b2lmcmsyZzdobm5ybTFxMWVzOTNiM2xscmloczkzc2kxczNiY2plcXJjcGJnaTBrYWho
cDNkNGdwY2txbWFpNzAxOXNpY25tOTlpOXNzYmM3ODM1MTRkNDdmNnFtNG04OXA1cmQwaHBlYXI4
cDNscjBsY2lnbzIzYmZhMGgxYzdlMHJqaDY2MHI4ZWY1aDY4ZjBxYjc2N2MyMnJubGYzMjIzcWNh
cTlvYjBpaTY5ZjIxcThrajI5YjI5ZjNyczM2ZjU2cmtzZHE5NDM4Y2k5ZTE2aGxnM3JxbTNtajdn
bXJmc2w1NjYyc2c3b3BpMWVnYmFwMm9yZWpmamdocjZvYWtoZ28zNHMzbWRuM3A4Yjk0aXBmam82
NGNtaGJpY2dpcWs1M2I0Ym9zamhtaTMycDBrMWlhbWZxaTk2N2E1NjRzcnBhbTFoOTQxZjZrNm1o
bnA0YmY5ZGtyaTVxZHE0ajVmbWtsOG9iaGQyNjk3cWMyazFzMWVramNxZzdvYThha2Nma2hsb3Jr
bXFkNGhna2g2aTc0bDFhcGo4MGtmNjY2cDMwZmgxcTlkZzhhOGxqb2VhZ2NqaDM5MTM5b2ZncmVs
ZjFmNm9jOG02YWcwZ2NpcDg5bzcxc2c4YmVmZ2E4bjBraWU3bzIyN2Y3cXFpM2llamtsYzMxbjRt
Z2hsMjRkNDdqODk1czU2YTY2ZzczbWtwNnM1ZWcxOTExZTA0amRjNWxrcnJybTBnaW1ubTVyYzBl
b2Rlcmtqb2Y1NDVkcmNscGhqNWwzZm9yZ21uaWJkcG80czQ2M3JnOWFnNG5rZTUybWliMDdoZDI2
amhiYTVpcDk0YnAycTA1YjZuamxyZTMzbWlrYjhyNjFsNThlaWk5NjJpNmFvNnE4aW9zb2s3c2lo
MjFkZjFjMzNtNGczM2ZiYmtlNzA5c3BqOG0wZmRuYzBybWw2Yzk0cHJybGU0NjE0YnMxMDY5a2Nr
NjJnNDhrZTM4NnJia25uMnNhazcwc2xqNGo0OW8zOWNzNmg3ZXJpM2xiNG44ZDdkc2EyNzltb21z
M3FnMjhuMjZkaGRkbjlqOGNrazY5N2o5a24ybGs4b28zOXAwOTllbzcxcG80aGw2MjU1b2Y3bTY1
N2ZvbHNwcGNjNWczOWFmcWJxZjVkczBxOTdhMzJra2lmMG9tbjYyaGY1OGcwNjM4Yi4KIFBBU1Mg
KDEyMzQuNTY3KS50b1N0cmluZygzMCkgaXMgIjFiNC5oMDkiCi1QQVNTICgxMjM0LjU2NykudG9T
dHJpbmcoMzEpIGlzICIxOHAuaGhyZmNqM3QiCitGQUlMICgxMjM0LjU2NykudG9TdHJpbmcoMzEp
IHNob3VsZCBiZSAxOHAuaGhyZmNqM3QuIFdhcyAxOHAuaGhyZmNqM3QxazQxZjN1cjQ3NW5tMGJn
MWg4Z3U0ZzEzY2UybmUwcm0yaXIzcnBxYWVlNW1mNXRndGgybzhsZ3VmOGUzYjg4YmhwdDJyNTFn
Nzh1bHV1M2ExZnFmdGl0bjQ2aGswYWNxNHN0cGVtaG5hMWthbGxwbGJvMjMyZnF0ajRjaDFta3Ny
MGtuMzhnMmczazluYnR0ZXR0ZWhqcjU2c3QwNHRjZG42bzk1Z3VoaXFlOWEwYmNybG1oYTdodDdl
NDV1ZXQ1cGswczM5Mjhiamd1aGhyYzRpajk4aGhwdGh1OTVwanU0ZDQwOTdyN2lwYzFrMmI1bzhx
ajlxZWNrNWRmZGVxaW1rcDE1NWZoMm9lNW1mazNhYmtlYmFxNmozZXVic3NyamZvZDNwMTdpczcx
dHFpZWFmN25hOTlwNDgyc2xsNmpyMW9paHJpYnRoNWJnNDFoYTdxZDN0ZW5mZjdnMTcxa2ZkZ3V0
NTgwczJub2g5cWxxOGxja2dzaXVrcnQyMW9uZ25vMWpjNDc3cmYwN2NyNmQ1dWpxYTdzcmwxYmRr
b24xNTY2MTlhMW85b2xtY3RiaWl1MWloMjhmYmp1cGhjZDBuZ3FpanNoOG41aDU5c2ZzNHFocGR1
NjJqa3VyNnRpZ2tnZW01MG9naDM3bjNqc3JkcjRkOGg3dGEzaDg0cDJpdXJlb2ltcGEzMWVpb3R0
MjM3bGE4ZDBiOXNxanE5bDhyYTk3bTRsZG5lcnNibXB1bjY0ZGw1MGpmMzJrb3A2aWRpYmY3YmVr
cnI2cHBvdDV1dGRrbmJxMGxpZDBma2Vob2Mzc3NmNm9ybTNnNTBoNmVtZnNtbDBwcGMxYWU2ODgx
ZHV1Zml1ajNlODRiNnVob245M3FrNGFtZTQ5NG9jbGFmZDFtcHByc2lhcWQ4Z3BpN201YnJtcThu
cmgybmxybzdwaGI3cGRsaTFwYjBnZmVkbHVoMGJqYjllbm5ldHNmZGpzM3UuCiBQQVNTICgxMjM0
LjU2NykudG9TdHJpbmcoMzIpIGlzICIxNmkuaTRqZWl1NmwiCi1QQVNTICgxMjM0LjU2NykudG9T
dHJpbmcoMzMpIGlzICIxNGQuaW5mOTZyZHZtIgotUEFTUyAoMTIzNC41NjcpLnRvU3RyaW5nKDM0
KSBpcyAiMTJhLmo5ZmNoZHRtIgotUEFTUyAoMTIzNC41NjcpLnRvU3RyaW5nKDM1KSBpcyAiMTA5
Lmp0azRkNGQ0ZSIKLVBBU1MgKDEyMzQuNTY3KS50b1N0cmluZygzNikgaXMgInlhLmtldHk5c2lm
bCIKK0ZBSUwgKDEyMzQuNTY3KS50b1N0cmluZygzMykgc2hvdWxkIGJlIDE0ZC5pbmY5NnJkdm0u
IFdhcyAxNGQuaW5mOTZyZHZsbW53Y2k5MDg4dmJuZHE0dWY0ZnV0cGlyZjN0dDZiZG5taWtmNXZw
dG93MmxmZG85Z202aGJyOWJ2cmI3c2xkNmNlYjBubTBlNmFmNmIuCitGQUlMICgxMjM0LjU2Nyku
dG9TdHJpbmcoMzQpIHNob3VsZCBiZSAxMmEuajlmY2hkdG0uIFdhcyAxMmEuajlmY2hkdG0xaTBl
OGVkYmYwdm9nbjBpdDh2c3gzcjhzOXM1YWw4aC4KK0ZBSUwgKDEyMzQuNTY3KS50b1N0cmluZygz
NSkgc2hvdWxkIGJlIDEwOS5qdGs0ZDRkNGUuIFdhcyAxMDkuanRrNGQ0ZDRkb2ZsZmU3eGkxNjl3
ZDZveWpxMDF2cWNsMmYxNTBiaXMxY2xpZGdvNHZnM255Ymp0ZW8xbG1qd3h2YWhmeTZkcW53eWRn
YXltcGJjdjBncGdrYTJid2VqZ24wdTBndXRqNThvZzVtNGFiMnVkbHZ4Zm9mcXlqb3I0dHFxcmcx
aWs2bmMxZWx5bmptMHA0M2o0MzY5MXk2Y2Z4aXJybXlub21mbzB4dDgwOHlmdDlwZXZrM2xqaXdi
b2FxMHV5cjZoOTg5cG41YWV4c2t3cHA4a2IwaHJ3ZTQ1dm9taXY3cGhrbDFtc3VrOHR5YTdhYWdq
bmRyNWZoa2lhNmlsbHd0anFqdjhrcGc5ajFjbTl5aDYweDB1ZGo2MGN3dTVuZDEyZDU5cDh2ZzB3
czdxdm1ud240N3NkYnhyOTdvNjBzdDhidXNzbDI5MzJ1Z2hqaWl0am5hOXA2czU1Ympka2d4ZW9i
dms5ZXVjMDRndTc5cG5hNG9xb3hjdjQ1MjJnZ2JjZ284NTJwbjlqYXlyb3k4NnNmMnExMTloeW1n
cmN0N2dqN2dpZGJpODhpb3c2NmRqY2JxZzFnNWo2ZmM1dW1iNWZzc2RlNXVxM3J2Yzl4MGc4MWVv
NXVyc2piMXB0d3UxOGxqc2t0dHFpaXhmbXRoaW9ubmo3bDVwN3FlbXF0bjljZHI0eG5heDM2MWw2
MHZpc3RtOHBtamlmZ2JoMGo5c2U2cm5la3l5ZWtuMWM4MG85NWl2YnBubWV3YTFhYzFwMnN1aDRk
a3QwcDdqbXNoeDVxYjkyY292NnYxMnduN2R4ZHI4dGl0MDUxbmN0cnk4eXQ3anBzZnNleDQ2ODN5
d2J0Y3g5Y2p1bDUyc2N2MXVkN2M5OTZjd2ExaWVzaHBhNGc2b2N5dndtNzg2bGhoa3dzYnQwZXAw
YTA4OHh1dW9tZzJocWdhMnBrN2lic2I0NTd1aTVjbGU0MnQ3eWo3dWdmcDJ5bml2aGEwYnhxczg2
OGI1eXE1OWhnM3JpM3Y5YjBha3hnMHhnazNmeDRvNXBjYXliOWd2MHNtMXZoZ2V0NzJnNmxwMjBm
MXEzaTZzdWJjOXFrdnZ5dGNsaTAzN2gzdzQ3eDlqMzQzd3hlNTN2b2RiM2R5bzlxOGE0YWo0ZGN5
c3g5NWs1b3NlMzYyNjdiZTFtZGxpNHRxdzdoY2ozb2Fld2VwZTBsaXZoNThwMXcxdmpjM3czMW01
YzR2MWtlOTRxZGFtbDQ1ZHVsdjhnajdrNzVid3BkOTdoOWVtdnljYmU3YWt1dmp0MXY1ZDM3a3No
c3Jla2pmb2RmOTU3am5hazRhZ25rYnY5OTkzeWNiNjlpbS4KK0ZBSUwgKDEyMzQuNTY3KS50b1N0
cmluZygzNikgc2hvdWxkIGJlIHlhLmtldHk5c2lmbC4gV2FzIHlhLmtldHk5c2lma2x6c2FrcWhi
eWI5LgogUEFTUyAoMTIzNC41NjcpLnRvU3RyaW5nKDM3KSB0aHJldyBleGNlcHRpb24gUmFuZ2VF
cnJvcjogdG9TdHJpbmcoKSByYWRpeCBhcmd1bWVudCBtdXN0IGJlIGJldHdlZW4gMiBhbmQgMzYu
CiBQQVNTICgxMjM0LjU2NykudG9TdHJpbmcoLTEpIHRocmV3IGV4Y2VwdGlvbiBSYW5nZUVycm9y
OiB0b1N0cmluZygpIHJhZGl4IGFyZ3VtZW50IG11c3QgYmUgYmV0d2VlbiAyIGFuZCAzNi4KIFBB
U1MgKDEyMzQuNTY3KS50b1N0cmluZyhwb3NJbmYpIHRocmV3IGV4Y2VwdGlvbiBSYW5nZUVycm9y
OiB0b1N0cmluZygpIHJhZGl4IGFyZ3VtZW50IG11c3QgYmUgYmV0d2VlbiAyIGFuZCAzNi4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGExZTY2ZjI5MTcxM2Y1NDVhMTU4MDU5ZTIzMzFhZmM0
OTQxODIyNTMuLmQ1ZjczZWIwMmY2Y2YyN2NlYTNjYTM4NzIwZTBhNjFiNGYxNGQ5OGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDExLTA3LTAzICBTaGVyaWZm
IEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByOTAzNDcuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hh
bmdlc2V0LzkwMzQ3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02Mzg4NgorCisgICAgICAgIEJ1aWxkIGJyZWFrcyBvbiBMZW9wYXJkLCBDaHJvbWl1bS13
aW4sIFdpbkNhaXJvLCBhbmQgV2luQ0UuCisgICAgICAgIChSZXF1ZXN0ZWQgYnkgdGtlbnQgb24g
I3dlYmtpdCkuCisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIHJ1bnRpbWUvQmlnSW50ZWdlci5oOiBSZW1vdmVkLgorICAgICAg
ICAqIHJ1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6bnVtYmVyUHJv
dG9GdW5jVG9QcmVjaXNpb24pOgorICAgICAgICAoSlNDOjpudW1iZXJQcm90b0Z1bmNUb1N0cmlu
Zyk6CisgICAgICAgICogcnVudGltZS9VaW50MTZXaXRoRnJhY3Rpb24uaDogUmVtb3ZlZC4KKyAg
ICAgICAgKiB3dGYvTWF0aEV4dHJhcy5oOgorCiAyMDExLTA2LTMwICBHYXZpbiBCYXJyYWNsb3Vn
aCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2Vp
bmlnLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkNWY3ZGFkNzk1NmIyZmE2Y2E1
MzI0NDBiZGRjNDY0Njk2NWE0ZDFmLi5jOTg5OGU0ZTZjNGJkOGYyNzM2MGUyZTZkYTE2ZTIxMDI1
NmU1MzZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjU0LDggKzI1NCw2IEBA
CiAJCTg2NTY1NzQzMTE1QkUzREEwMDI5MUY0MCAvKiBDU3RyaW5nLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NjU2NTc0MTExNUJFM0RBMDAyOTFGNDAg
LyogQ1N0cmluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTg2NUEzMEYxMTM1MDA3RTEwMENEQjQ5RSAvKiBKU1ZhbHVlSW5saW5lTWV0aG9kcy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODY1QTMwRjAx
MzUwMDdFMTAwQ0RCNDlFIC8qIEpTVmFsdWVJbmxpbmVNZXRob2RzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJODY1RjQwODgxMEU3RDU2MzAwOTQ3
MzYxIC8qIEFQSVNoaW1zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4NjVGNDA4NzEwRTdENTYzMDA5NDczNjEgLyogQVBJU2hpbXMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk4NjY3MzlEMjEzQkZERTcx
MDAyM0Q4N0MgLyogQmlnSW50ZWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODY2NzM5RDAxM0JGREU3MTAwMjNEODdDIC8qIEJpZ0ludGVnZXIuaCAq
LzsgfTsKLQkJODY2NzM5RDMxM0JGREU3MTAwMjNEODdDIC8qIFVpbnQxNldpdGhGcmFjdGlvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODY2NzM5RDEx
M0JGREU3MTAwMjNEODdDIC8qIFVpbnQxNldpdGhGcmFjdGlvbi5oICovOyB9OwogCQk4NjY3NkQ1
MjExRkVEOUJDMDA0QjY4NjMgLyogQnVtcFBvaW50ZXJBbGxvY2F0b3IuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2Njc2RDREMTFGRUQ1NUQwMDRCNjg2
MyAvKiBCdW1wUG9pbnRlckFsbG9jYXRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTg2NzA0QjQyMTJEQjhBODEwMEE5RkU3QiAvKiBZYXJyU3lu
dGF4Q2hlY2tlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4NjcwNEI0MDEyREI4QTgxMDBBOUZFN0IgLyogWWFyclN5bnRheENoZWNrZXIuY3BwICov
OyB9OwogCQk4NjcwNEI0MzEyREI4QTgxMDBBOUZFN0IgLyogWWFyclN5bnRheENoZWNrZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg2NzA0QjQxMTJE
QjhBODEwMEE5RkU3QiAvKiBZYXJyU3ludGF4Q2hlY2tlci5oICovOyB9OwpAQCAtOTQzLDggKzk0
MSw2IEBACiAJCTg2NTY1NzQxMTE1QkUzREEwMDI5MUY0MCAvKiBDU3RyaW5nLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IENTdHJpbmcuaDsgcGF0aCA9IHRleHQvQ1N0cmluZy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NjVBMzBGMDEzNTAwN0UxMDBDREI0OUUg
LyogSlNWYWx1ZUlubGluZU1ldGhvZHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNWYWx1ZUlubGluZU1ldGhvZHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
ODY1RjQwODcxMEU3RDU2MzAwOTQ3MzYxIC8qIEFQSVNoaW1zLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEFQSVNoaW1zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTg2NjczOUQwMTNCRkRFNzEwMDIzRDg3QyAvKiBCaWdJbnRlZ2VyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEJpZ0ludGVnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKLQkJODY2NzM5RDExM0JGREU3MTAwMjNEODdDIC8qIFVpbnQxNldpdGhGcmFjdGlvbi5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBVaW50MTZXaXRoRnJhY3Rpb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODY2NzZENEQxMUZFRDU1RDAwNEI2ODYzIC8qIEJ1
bXBQb2ludGVyQWxsb2NhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJ1
bXBQb2ludGVyQWxsb2NhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2NzA0
QjQwMTJEQjhBODEwMEE5RkU3QiAvKiBZYXJyU3ludGF4Q2hlY2tlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBZYXJyU3ludGF4Q2hlY2tlci5jcHA7IHBhdGggPSB5
YXJyL1lhcnJTeW50YXhDaGVja2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
ODY3MDRCNDExMkRCOEE4MTAwQTlGRTdCIC8qIFlhcnJTeW50YXhDaGVja2VyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFlhcnJTeW50YXhDaGVja2VyLmg7IHBhdGggPSB5YXJy
L1lhcnJTeW50YXhDaGVja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODQ0
LDcgKzE4NDAsNiBAQAogCQkJCUY2OTJBODREMDI1NTU5N0QwMUZGNjBGNyAvKiBBcnJheVByb3Rv
dHlwZS5jcHAgKi8sCiAJCQkJRjY5MkE4NEUwMjU1NTk3RDAxRkY2MEY3IC8qIEFycmF5UHJvdG90
eXBlLmggKi8sCiAJCQkJMTQ3QjgzQUEwRTZEQjhDOTAwNDc3NUE0IC8qIEJhdGNoZWRUcmFuc2l0
aW9uT3B0aW1pemVyLmggKi8sCi0JCQkJODY2NzM5RDAxM0JGREU3MTAwMjNEODdDIC8qIEJpZ0lu
dGVnZXIuaCAqLywKIAkJCQlCQzc5NTIzMjBFMTVFQjU2MDBBODk4QUIgLyogQm9vbGVhbkNvbnN0
cnVjdG9yLmNwcCAqLywKIAkJCQlCQzc5NTIzMzBFMTVFQjU2MDBBODk4QUIgLyogQm9vbGVhbkNv
bnN0cnVjdG9yLmggKi8sCiAJCQkJRjY5MkE4NTAwMjU1NTk3RDAxRkY2MEY3IC8qIEJvb2xlYW5P
YmplY3QuY3BwICovLApAQCAtMjAxNSw3ICsyMDEwLDYgQEAKIAkJCQkxNEE0MkUzRTBGNEY2MEVF
MDA1OTkwOTkgLyogVGltZW91dENoZWNrZXIuaCAqLywKIAkJCQk1RDUzNzI2RDBFMUM1NDZCMDAy
MUU1NDkgLyogVHJhY2luZy5kICovLAogCQkJCTVENTM3MjZFMEUxQzU0ODgwMDIxRTU0OSAvKiBU
cmFjaW5nLmggKi8sCi0JCQkJODY2NzM5RDExM0JGREU3MTAwMjNEODdDIC8qIFVpbnQxNldpdGhG
cmFjdGlvbi5oICovLAogCQkJCUY2OTJBODg1MDI1NTU5N0QwMUZGNjBGNyAvKiBVU3RyaW5nLmNw
cCAqLywKIAkJCQlGNjkyQTg4NjAyNTU1OTdEMDFGRjYwRjcgLyogVVN0cmluZy5oICovLAogCQkJ
CTA4RERBNUJCMTI2NDVGMUQwMDc1MTczMiAvKiBVU3RyaW5nQnVpbGRlci5oICovLApAQCAtMjU4
MCw4ICsyNTc0LDYgQEAKIAkJCQkxNEJBNzhGMTEzQUFCODhGMDA1QjdDMkMgLyogU2xvdFZpc2l0
b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0QkE3QTk4MTNBQURGRjgwMDVCN0MyQyAvKiBIZWFw
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzZGNTRBMzEzQjI4QUFCMDBFRjJCQ0UgLyogSklUV3Jp
dGVCYXJyaWVyLmggaW4gSGVhZGVycyAqLywKLQkJCQk4NjY3MzlEMjEzQkZERTcxMDAyM0Q4N0Mg
LyogQmlnSW50ZWdlci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJODY2NzM5RDMxM0JGREU3MTAwMjNE
ODdDIC8qIFVpbnQxNldpdGhGcmFjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVu
T25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9CaWdJbnRlZ2VyLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9CaWdJbnRlZ2VyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDgzMzgyOWRmNmM2NjM0OWEzN2Q4YzI5ZmYxOTVhMTE1NTUxYTQxNjEuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQmlnSW50ZWdlci5oCisrKyAvZGV2L251bGwKQEAgLTEsMTEyICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2lmbmRlZiBCaWdJ
bnRlZ2VyX2gKLSNkZWZpbmUgQmlnSW50ZWdlcl9oCi0KLSNpbmNsdWRlIDx3dGYvTWF0aEV4dHJh
cy5oPgotCi1uYW1lc3BhY2UgSlNDIHsKLQotLy8gVGhpcyBpcyB1c2VkIGluIGNvbnZlcnRpbmcg
dGhlIGludGVnZXIgcGFydCBvZiBhIG51bWJlciB0byBhIHN0cmluZy4KLWNsYXNzIEJpZ0ludGVn
ZXIgewotcHVibGljOgotICAgIEJpZ0ludGVnZXIoZG91YmxlIG51bWJlcikKLSAgICB7Ci0gICAg
ICAgIEFTU0VSVChpc2Zpbml0ZShudW1iZXIpICYmICFzaWduYml0KG51bWJlcikpOwotICAgICAg
ICBBU1NFUlQobnVtYmVyID09IGZsb29yKG51bWJlcikpOwotCi0gICAgICAgIGJvb2wgc2lnbjsK
LSAgICAgICAgaW50MzJfdCBleHBvbmVudDsKLSAgICAgICAgdWludDY0X3QgbWFudGlzc2E7Ci0g
ICAgICAgIGRlY29tcG9zZURvdWJsZShudW1iZXIsIHNpZ24sIGV4cG9uZW50LCBtYW50aXNzYSk7
Ci0gICAgICAgIEFTU0VSVCghc2lnbiAmJiBleHBvbmVudCA+PSAwKTsKLQotICAgICAgICBpbnQz
Ml90IHplcm9CaXRzID0gZXhwb25lbnQgLSA1MjsKLQotICAgICAgICBpZiAoemVyb0JpdHMgPCAw
KSB7Ci0gICAgICAgICAgICBtYW50aXNzYSA+Pj0gLXplcm9CaXRzOwotICAgICAgICAgICAgemVy
b0JpdHMgPSAwOwotICAgICAgICB9Ci0KLSAgICAgICAgd2hpbGUgKHplcm9CaXRzID49IDMyKSB7
Ci0gICAgICAgICAgICBtX3ZhbHVlcy5hcHBlbmQoMCk7Ci0gICAgICAgICAgICB6ZXJvQml0cyAt
PSAzMjsKLSAgICAgICAgfQotCi0gICAgICAgIC8vIExlZnQgYWxpZ24gdGhlIDUzIGJpdHMgb2Yg
dGhlIG1hbnRpc3NhIHdpdGhpbiA5NiBiaXRzLgotICAgICAgICB1aW50MzJfdCB2YWx1ZXNbM107
Ci0gICAgICAgIHZhbHVlc1swXSA9IHN0YXRpY19jYXN0PHVpbnQzMl90PihtYW50aXNzYSk7Ci0g
ICAgICAgIHZhbHVlc1sxXSA9IHN0YXRpY19jYXN0PHVpbnQzMl90PihtYW50aXNzYSA+PiAzMik7
Ci0gICAgICAgIHZhbHVlc1syXSA9IDA7Ci0gICAgICAgIC8vIFNoaWZ0IGJhc2VkIG9uIHRoZSBy
ZW1haW5kZXIgb2YgdGhlIGV4cG9uZW50LgotICAgICAgICBpZiAoemVyb0JpdHMpIHsKLSAgICAg
ICAgICAgIHZhbHVlc1syXSA9IHZhbHVlc1sxXSA+PiAoMzIgLSB6ZXJvQml0cyk7Ci0gICAgICAg
ICAgICB2YWx1ZXNbMV0gPSAodmFsdWVzWzFdIDw8IHplcm9CaXRzKSB8ICh2YWx1ZXNbMF0gPj4g
KDMyIC0gemVyb0JpdHMpKTsKLSAgICAgICAgICAgIHZhbHVlc1swXSA9ICh2YWx1ZXNbMF0gPDwg
emVyb0JpdHMpOwotICAgICAgICB9Ci0gICAgICAgIG1fdmFsdWVzLmFwcGVuZCh2YWx1ZXNbMF0p
OwotICAgICAgICBtX3ZhbHVlcy5hcHBlbmQodmFsdWVzWzFdKTsKLSAgICAgICAgbV92YWx1ZXMu
YXBwZW5kKHZhbHVlc1syXSk7Ci0KLSAgICAgICAgLy8gQ2Fub25pY2FsaXplOyByZW1vdmUgYWxs
IHRyYWlsaW5nIHplcm9zLgotICAgICAgICB3aGlsZSAobV92YWx1ZXMuc2l6ZSgpICYmICFtX3Zh
bHVlcy5sYXN0KCkpCi0gICAgICAgICAgICBtX3ZhbHVlcy5yZW1vdmVMYXN0KCk7Ci0gICAgfQot
Ci0gICAgdWludDMyX3QgZGl2aWRlKHVpbnQzMl90IGRpdmlzb3IpCi0gICAgewotICAgICAgICB1
aW50MzJfdCBjYXJyeSA9IDA7Ci0KLSAgICAgICAgZm9yIChzaXplX3QgaSA9IG1fdmFsdWVzLnNp
emUoKTsgaTsgKSB7Ci0gICAgICAgICAgICAtLWk7Ci0gICAgICAgICAgICB1aW50NjRfdCBkaXZp
ZGVuZCA9IChzdGF0aWNfY2FzdDx1aW50NjRfdD4oY2FycnkpIDw8IDMyKSArIHN0YXRpY19jYXN0
PHVpbnQ2NF90PihtX3ZhbHVlc1tpXSk7Ci0KLSAgICAgICAgICAgIHVpbnQ2NF90IHJlc3VsdCA9
IGRpdmlkZW5kIC8gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KGRpdmlzb3IpOwotICAgICAgICAgICAg
QVNTRVJUKHJlc3VsdCA9PSBzdGF0aWNfY2FzdDx1aW50MzJfdD4ocmVzdWx0KSk7Ci0gICAgICAg
ICAgICB1aW50NjRfdCByZW1haW5kZXIgPSBkaXZpZGVuZCAlIHN0YXRpY19jYXN0PHVpbnQ2NF90
PihkaXZpc29yKTsKLSAgICAgICAgICAgIEFTU0VSVChyZW1haW5kZXIgPT0gc3RhdGljX2Nhc3Q8
dWludDMyX3Q+KHJlbWFpbmRlcikpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBtX3ZhbHVl
c1tpXSA9IHN0YXRpY19jYXN0PHVpbnQzMl90PihyZXN1bHQpOwotICAgICAgICAgICAgY2Fycnkg
PSBzdGF0aWNfY2FzdDx1aW50MzJfdD4ocmVtYWluZGVyKTsKLSAgICAgICAgfQotCi0gICAgICAg
IC8vIENhbm9uaWNhbGl6ZTsgcmVtb3ZlIGFsbCB0cmFpbGluZyB6ZXJvcy4KLSAgICAgICAgd2hp
bGUgKG1fdmFsdWVzLnNpemUoKSAmJiAhbV92YWx1ZXMubGFzdCgpKQotICAgICAgICAgICAgbV92
YWx1ZXMucmVtb3ZlTGFzdCgpOwotCi0gICAgICAgIHJldHVybiBjYXJyeTsKLSAgICB9Ci0KLSAg
ICBib29sIG9wZXJhdG9yISgpIHsgcmV0dXJuICFtX3ZhbHVlcy5zaXplKCk7IH0KLQotcHJpdmF0
ZToKLSAgICBWZWN0b3I8dWludDMyX3QsIDM2PiBtX3ZhbHVlczsKLX07Ci0KLX0KLQotI2VuZGlm
Ci0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlclByb3Rv
dHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJQcm90b3R5cGUu
Y3BwCmluZGV4IDY3OWY3NDc5ZGVjN2VlYjU0M2VlOWU2MjMzM2YwNmY4M2Q0OWVmNGQuLmY1OTkz
MjNmYWE5MzBlZmRjOWY1NDUwMWFjMjk4ZDUxYmZhMGJhNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlclByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVtYmVyUHJvdG90eXBlLmNwcApAQCAtMjIsMTIgKzIyLDEw
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTnVtYmVyUHJvdG90eXBlLmgiCiAK
LSNpbmNsdWRlICJCaWdJbnRlZ2VyLmgiCiAjaW5jbHVkZSAiRXJyb3IuaCIKICNpbmNsdWRlICJK
U0Z1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNTdHJpbmcuaCIKICNpbmNsdWRlICJPcGVyYXRpb25z
LmgiCi0jaW5jbHVkZSAiVWludDE2V2l0aEZyYWN0aW9uLmgiCiAjaW5jbHVkZSAiZHRvYS5oIgog
I2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0RlY2ltYWxOdW1iZXIu
aD4KQEAgLTExMywyMTAgKzExMSw2IEBAIHN0YXRpYyBBTFdBWVNfSU5MSU5FIGJvb2wgZ2V0SW50
ZWdlckFyZ3VtZW50SW5SYW5nZShFeGVjU3RhdGUqIGV4ZWMsIGludCBsb3csIGluCiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKLS8vIFRoZSBsYXJnZXN0IGZpbml0ZSBmbG9hdGluZyBwb2ludCBudW1i
ZXIgaXMgMS5tYW50aXNzYSAqIDJeKDB4N2ZlLTB4M2ZmKS4KLS8vIFNpbmNlIDJeTiBpbiBiaW5h
cnkgaXMgYSBvbmUgYml0IGZvbGxvd2VkIGJ5IE4gemVybyBiaXRzLiAxICogMl4zZmYgcmVxdWly
ZXMKLS8vIGF0IG1vc3QgMTAyNCBjaGFyYWN0ZXJzIHRvIHRoZSBsZWZ0IG9mIGEgZGVjaW1hbCBw
b2ludCwgaW4gYmFzZSAyICgxMDI1IGlmCi0vLyB3ZSBpbmNsdWRlIGEgbWludXMgc2lnbikuIEZv
ciB0aGUgZnJhY3Rpb24sIGEgdmFsdWUgd2l0aCBhbiBleHBvbmVudCBvZiAwCi0vLyBoYXMgdXAg
dG8gNTIgYml0cyB0byB0aGUgcmlnaHQgb2YgdGhlIGRlY2ltYWwgcG9pbnQuIEVhY2ggZGVjcmVt
ZW50IG9mIHRoZQotLy8gZXhwb25lbnQgZG93biB0byBhIG1pbmltdW0gb2YgLTB4M2ZlIGFkZHMg
YW4gYWRkaXRpb25hbCBkaWdpdCB0byB0aGUgbGVuZ3RoCi0vLyBvZiB0aGUgZnJhY3Rpb24uIEFz
IHN1Y2ggdGhlIG1heGltdW0gZnJhY3Rpb24gc2l6ZSBpcyAxMDc1ICgxMDc2IGluY2x1ZGluZwot
Ly8gYSBwb2ludCkuIFdlIHBpY2sgYSBidWZmZXIgc2l6ZSBzdWNoIHRoYXQgY2FuIHNpbXBseSBw
bGFjZSB0aGUgcG9pbnQgaW4gdGhlCi0vLyBjZW50ZXIgb2YgdGhlIGJ1ZmZlciwgYW5kIGFyZSBn
dWFyYW50ZWVkIHRvIGhhdmUgZW5vdWdoIHNwYWNlIGluIGVhY2ggZGlyZWN0aW9uCi0vLyBmbyBh
bnkgbnVtYmVyIG9mIGRpZ2l0cyBhbiBJRUVFIG51bWJlciBtYXkgcmVxdWlyZSB0byByZXByZXNl
bnQuCi10eXBlZGVmIGNoYXIgUmFkaXhCdWZmZXJbMjE4MF07Ci0KLS8vIE1hcHBpbmcgZnJvbSBp
bnRlZ2VycyAwLi4zNSB0byBkaWdpdCBpZGVudGlmeWluZyB0aGlzIHZhbHVlLCBmb3IgcmFkaXgg
Mi4uMzYuCi1zdGF0aWMgY29uc3QgY2hhciogY29uc3QgcmFkaXhEaWdpdHMgPSAiMDEyMzQ1Njc4
OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IjsKLQotc3RhdGljIGNoYXIqIHRvU3RyaW5nV2l0
aFJhZGl4KFJhZGl4QnVmZmVyJiBidWZmZXIsIGRvdWJsZSBudW1iZXIsIHVuc2lnbmVkIHJhZGl4
KQotewotICAgIEFTU0VSVChpc2Zpbml0ZShudW1iZXIpKTsKLSAgICBBU1NFUlQocmFkaXggPj0g
MiAmJiByYWRpeCA8PSAzNik7Ci0KLSAgICAvLyBQb3NpdGlvbiB0aGUgZGVjaW1hbCBwb2ludCBh
dCB0aGUgY2VudGVyIG9mIHRoZSBzdHJpbmcsIHNldAotICAgIC8vIHRoZSBzdGFydE9mUmVzdWx0
U3RyaW5nIHBvaW50ZXIgdG8gcG9pbnQgYXQgdGhlIGRlY2ltYWwgcG9pbnQuCi0gICAgY2hhciog
ZGVjaW1hbFBvaW50ID0gYnVmZmVyICsgc2l6ZW9mKGJ1ZmZlcikgLyAyOwotICAgIGNoYXIqIHN0
YXJ0T2ZSZXN1bHRTdHJpbmcgPSBkZWNpbWFsUG9pbnQ7Ci0KLSAgICAvLyBFeHRyYWN0IHRoZSBz
aWduLgotICAgIGJvb2wgaXNOZWdhdGl2ZSA9IG51bWJlciA8IDA7Ci0gICAgaWYgKHNpZ25iaXQo
bnVtYmVyKSkKLSAgICAgICAgbnVtYmVyID0gLW51bWJlcjsKLSAgICBkb3VibGUgaW50ZWdlclBh
cnQgPSBmbG9vcihudW1iZXIpOwotCi0gICAgLy8gV2UgdXNlIHRoaXMgdG8gdGVzdCBmb3Igb2Rk
IHZhbHVlcyBpbiBvZGQgcmFkaXggYmFzZXMuCi0gICAgLy8gV2hlcmUgdGhlIGJhc2UgaXMgZXZl
biwgKGUuZy4gMTApLCB0byBkZXRlcm1pbmUgd2hldGhlciBhIHZhbHVlIGlzIGV2ZW4gd2UgbmVl
ZCBvbmx5Ci0gICAgLy8gY29uc2lkZXIgdGhlIGxlYXN0IHNpZ25pZmljYW50IGRpZ2l0LiBGb3Ig
ZXhhbXBsZSwgMTI0IGluIGJhc2UgMTAgaXMgZXZlbiwgYmVjYXVzZSAnNCcKLSAgICAvLyBpcyBl
dmVuLiBpZiB0aGUgcmFkaXggaXMgb2RkLCB0aGVuIHRoZSByYWRpeCByYWlzZWQgdG8gYW4gaW50
ZWdlciBwb3dlciBpcyBhbHNvIG9kZC4KLSAgICAvLyBFLmcuIGluIGJhc2UgNSwgMTI0IHJlcHJl
c2VudHMgKDEgKiAxMjUgKyAyICogMjUgKyA0ICogNSkuIFNpbmNlIGVhY2ggZGlnaXQgaW4gdGhl
IHZhbHVlCi0gICAgLy8gaXMgbXVsdGlwbGllZCBieSBhbiBvZGQgbnVtYmVyLCB0aGUgcmVzdWx0
IGlzIGV2ZW4gaWYgdGhlIHN1bSBvZiBhbGwgZGlnaXRzIGlzIGV2ZW4uCi0gICAgLy8KLSAgICAv
LyBGb3IgdGhlIGludGVnZXIgcG9ydGlvbiBvZiB0aGUgcmVzdWx0LCB3ZSBvbmx5IG5lZWQgdGVz
dCB3aGV0aGVyIHRoZSBpbnRlZ2VyIHZhbHVlIGlzCi0gICAgLy8gZXZlbiBvciBvZGQuIEZvciBl
YWNoIGRpZ2l0IG9mIHRoZSBmcmFjdGlvbiBhZGRlZCwgd2Ugc2hvdWxkIGludmVydCBvdXIgaWRl
YSBvZiB3aGV0aGVyCi0gICAgLy8gdGhlIG51bWJlciBpcyBvZGQgaWYgdGhlIG5ldyBkaWdpdCBp
cyBvZGQuCi0gICAgLy8KLSAgICAvLyBBbHNvIGluaXRpYWxpemUgZGlnaXQgdG8gdGhpcyB2YWx1
ZTsgZm9yIGV2ZW4gcmFkaXggdmFsdWVzIHdlIG9ubHkgbmVlZCB0cmFjayB3aGV0aGVyCi0gICAg
Ly8gdGhlIGxhc3QgaW5kaXZpZHVhbCBkaWdpdCB3YXMgb2RkLgotICAgIGJvb2wgaW50ZWdlclBh
cnRJc09kZCA9IGludGVnZXJQYXJ0IDw9IHN0YXRpY19jYXN0PGRvdWJsZT4oMHgxRkZGRkZGRkZG
RkZGRnVsbCkgJiYgc3RhdGljX2Nhc3Q8aW50NjRfdD4oaW50ZWdlclBhcnQpICYgMTsKLSAgICBB
U1NFUlQoaW50ZWdlclBhcnRJc09kZCA9PSBzdGF0aWNfY2FzdDxib29sPihmbW9kKGludGVnZXJQ
YXJ0LCAyKSkpOwotICAgIGJvb2wgaXNPZGRJbk9kZFJhZGl4ID0gaW50ZWdlclBhcnRJc09kZDsK
LSAgICB1aW50MzJfdCBkaWdpdCA9IGludGVnZXJQYXJ0SXNPZGQ7Ci0KLSAgICAvLyBDaGVjayBp
ZiB0aGUgdmFsdWUgaGFzIGEgZnJhY3Rpb25hbCBwYXJ0IHRvIGNvbnZlcnQuCi0gICAgZG91Ymxl
IGZyYWN0aW9uUGFydCA9IG51bWJlciAtIGludGVnZXJQYXJ0OwotICAgIGlmIChmcmFjdGlvblBh
cnQpIHsKLSAgICAgICAgLy8gV3JpdGUgdGhlIGRlY2ltYWwgcG9pbnQgbm93LgotICAgICAgICAq
ZGVjaW1hbFBvaW50ID0gJy4nOwotCi0gICAgICAgIC8vIEhpZ2hlciBwcmVjaXNpb24gcmVwcmVz
ZW50YXRpb24gb2YgdGhlIGZyYWN0aW9uYWwgcGFydC4KLSAgICAgICAgVWludDE2V2l0aEZyYWN0
aW9uIGZyYWN0aW9uKGZyYWN0aW9uUGFydCk7Ci0KLSAgICAgICAgYm9vbCBuZWVkc1JvdW5kaW5n
VXAgPSBmYWxzZTsKLSAgICAgICAgY2hhciogZW5kT2ZSZXN1bHRTdHJpbmcgPSBkZWNpbWFsUG9p
bnQgKyAxOwotCi0gICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgZGVsdGEgZnJvbSB0aGUgY3VycmVu
dCBudW1iZXIgdG8gdGhlIG5leHQgJiBwcmV2aW91cyBwb3NzaWJsZSBJRUVFIG51bWJlcnMuCi0g
ICAgICAgIGRvdWJsZSBuZXh0TnVtYmVyID0gbmV4dGFmdGVyKG51bWJlciwgc3RkOjpudW1lcmlj
X2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgpKTsKLSAgICAgICAgZG91YmxlIGxhc3ROdW1iZXIg
PSBuZXh0YWZ0ZXIobnVtYmVyLCAtc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0
eSgpKTsKLSAgICAgICAgQVNTRVJUKGlzZmluaXRlKG5leHROdW1iZXIpICYmICFzaWduYml0KG5l
eHROdW1iZXIpKTsKLSAgICAgICAgQVNTRVJUKGlzZmluaXRlKGxhc3ROdW1iZXIpICYmICFzaWdu
Yml0KGxhc3ROdW1iZXIpKTsKLSAgICAgICAgZG91YmxlIGRlbHRhTmV4dERvdWJsZSA9IG5leHRO
dW1iZXIgLSBudW1iZXI7Ci0gICAgICAgIGRvdWJsZSBkZWx0YUxhc3REb3VibGUgPSBudW1iZXIg
LSBsYXN0TnVtYmVyOwotICAgICAgICBBU1NFUlQoaXNmaW5pdGUoZGVsdGFOZXh0RG91YmxlKSAm
JiAhc2lnbmJpdChkZWx0YU5leHREb3VibGUpKTsKLSAgICAgICAgQVNTRVJUKGlzZmluaXRlKGRl
bHRhTGFzdERvdWJsZSkgJiYgIXNpZ25iaXQoZGVsdGFMYXN0RG91YmxlKSk7Ci0KLSAgICAgICAg
Ly8gV2UgdHJhY2sgdGhlIGRlbHRhIGZyb20gdGhlIGN1cnJlbnQgdmFsdWUgdG8gdGhlIG5leHQs
IHRvIHRyYWNrIGhvdyBtYW55IGRpZ2l0cyBvZiB0aGUKLSAgICAgICAgLy8gZnJhY3Rpb24gd2Ug
bmVlZCB0byB3cml0ZS4gRm9yIGV4YW1wbGUsIGlmIHRoZSB2YWx1ZSB3ZSBhcmUgY29udmVydGlu
ZyBpcyBwcmVjaXNlbHkKLSAgICAgICAgLy8gMS4yMzQ1LCBzbyBmYXIgd2UgaGF2ZSB3cml0dGVu
IHRoZSBkaWdpdHMgIjEuMjMiIHRvIGEgc3RyaW5nIGxlYXZpbmcgYSByZW1haW5kZXIgb2YKLSAg
ICAgICAgLy8gMC40NSwgYW5kIHdlIHdhbnQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgd2UgY2FuIHJv
dW5kIG9mZiwgb3Igd2hldGhlciB3ZSBuZWVkIHRvIGtlZXAKLSAgICAgICAgLy8gYXBwZW5kaW5n
IGRpZ2l0cyAoJzQnKS4gV2UgY2FuIHN0b3AgYWRkaW5nIGRpZ2l0cyBwcm92aWRlZCB0aGF0IHRo
ZW4gbmV4dCBwb3NzaWJsZQotICAgICAgICAvLyBsb3dlciBJRUVFIHZhbHVlIGlzIGZ1cnRoZXIg
ZnJvbSAxLjIzIHRoYW4gdGhlIHJlbWFpbmRlciB3ZSdkIGJlIHJvdW5kaW5nIG9mZiAoMC40NSks
Ci0gICAgICAgIC8vIHdoaWNoIGlzIHRvIHNheSwgbGVzcyB0aGFuIDEuMjI1NS4gUHV0IGFub3Ro
ZXIgd2F5LCB0aGUgZGVsdGEgYmV0d2VlbiB0aGUgcHJpb3IKLSAgICAgICAgLy8gcG9zc2libGUg
dmFsdWUgYW5kIHRoaXMgbnVtYmVyIG11c3QgYmUgbW9yZSB0aGFuIDJ4IHRoZSByZW1haW5kZXIg
d2UnZCBiZSByb3VuZGluZyBvZmYKLSAgICAgICAgLy8gKG9yIG1vcmUgc2ltcGx5IGhhbGYgdGhl
IGRlbHRhIGJldHdlZW4gbnVtYmVycyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB0aGUgcmVtYWluZGVy
KS4KLSAgICAgICAgLy8KLSAgICAgICAgLy8gU2ltaWxhcmx5IHdlIG5lZWQgdHJhY2sgdGhlIGRl
bHRhIHRvIHRoZSBuZXh0IHBvc3NpYmxlIHZhbHVlLCB0byBkZXJ0ZXJtaW5lIHdoZXRoZXIKLSAg
ICAgICAgLy8gdG8gcm91bmQgdXAuIEluIGFsbW9zdCBhbGwgY2FzZXMgKG90aGVyIHRoYW4gYXQg
ZXhwb25lbnQgYm91bmRhcmllcykgdGhlIGRlbHRhcyB0bwotICAgICAgICAvLyBwcmlvciBhbmQg
c3Vic2VxdWVudCB2YWx1ZXMgYXJlIGlkZW50aWNhbCwgc28gd2UgZG9uJ3QgbmVlZCB0cmFjayB0
aGVuIHNlcGFyYXRlbHkuCi0gICAgICAgIGlmIChkZWx0YU5leHREb3VibGUgIT0gZGVsdGFMYXN0
RG91YmxlKSB7Ci0gICAgICAgICAgICAvLyBTaW5jZSB0aGUgZGVsdGFzIGFyZSBkaWZmZXJlbnQg
dHJhY2sgdGhlbSBzZXBhcmF0ZWx5LiBQcmUtbXVsdGlwbHkgYnkgMC41LgotICAgICAgICAgICAg
VWludDE2V2l0aEZyYWN0aW9uIGhhbGZEZWx0YU5leHQoZGVsdGFOZXh0RG91YmxlLCAxKTsKLSAg
ICAgICAgICAgIFVpbnQxNldpdGhGcmFjdGlvbiBoYWxmRGVsdGFMYXN0KGRlbHRhTGFzdERvdWJs
ZSwgMSk7Ci0KLSAgICAgICAgICAgIHdoaWxlICh0cnVlKSB7Ci0gICAgICAgICAgICAgICAgLy8g
ZXhhbWluZSB0aGUgcmVtYWluZGVyIHRvIGRldGVybWluZSB3aGV0aGVyIHdlIHNob3VsZCBiZSBj
b25zaWRlcmluZyByb3VuZGluZwotICAgICAgICAgICAgICAgIC8vIHVwIG9yIGRvd24uIElmIHJl
bWFpbmRlciBpcyBwcmVjaXNlbHkgMC41IHJvdW5kaW5nIGlzIHRvIGV2ZW4uCi0gICAgICAgICAg
ICAgICAgaW50IGRDb21wYXJlUG9pbnQ1ID0gZnJhY3Rpb24uY29tcGFyZVBvaW50NSgpOwotICAg
ICAgICAgICAgICAgIGlmIChkQ29tcGFyZVBvaW50NSA+IDAgfHwgKCFkQ29tcGFyZVBvaW50NSAm
JiAocmFkaXggJiAxID8gaXNPZGRJbk9kZFJhZGl4IDogZGlnaXQgJiAxKSkpIHsKLSAgICAgICAg
ICAgICAgICAgICAgLy8gQ2hlY2sgZm9yIHJvdW5kaW5nIHVwOyBhcmUgd2UgY2xvc2VyIHRvIHRo
ZSB2YWx1ZSB3ZSdkIHJvdW5kIG9mZiB0byB0aGFuCi0gICAgICAgICAgICAgICAgICAgIC8vIHRo
ZSBuZXh0IElFRUUgdmFsdWUgd291bGQgYmU/Ci0gICAgICAgICAgICAgICAgICAgIGlmIChmcmFj
dGlvbi5zdW1HcmVhdGVyVGhhbk9uZShoYWxmRGVsdGFOZXh0KSkgewotICAgICAgICAgICAgICAg
ICAgICAgICAgbmVlZHNSb3VuZGluZ1VwID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsK
LSAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgZm9yIHJvdW5kaW5nIGRvd247IGFyZSB3ZSBj
bG9zZXIgdG8gdGhlIHZhbHVlIHdlJ2Qgcm91bmQgb2ZmIHRvIHRoYW4KLSAgICAgICAgICAgICAg
ICAgICAgLy8gdGhlIHByaW9yIElFRUUgdmFsdWUgd291bGQgYmU/Ci0gICAgICAgICAgICAgICAg
ICAgIGlmIChmcmFjdGlvbiA8IGhhbGZEZWx0YUxhc3QpCi0gICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBBU1NFUlQoZW5k
T2ZSZXN1bHRTdHJpbmcgPCAoYnVmZmVyICsgc2l6ZW9mKGJ1ZmZlcikgLSAxKSk7Ci0gICAgICAg
ICAgICAgICAgLy8gV3JpdGUgYSBkaWdpdCB0byB0aGUgc3RyaW5nLgotICAgICAgICAgICAgICAg
IGZyYWN0aW9uICo9IHJhZGl4OwotICAgICAgICAgICAgICAgIGRpZ2l0ID0gZnJhY3Rpb24uZmxv
b3JBbmRTdWJ0cmFjdCgpOwotICAgICAgICAgICAgICAgICplbmRPZlJlc3VsdFN0cmluZysrID0g
cmFkaXhEaWdpdHNbZGlnaXRdOwotICAgICAgICAgICAgICAgIC8vIEtlZXAgdHJhY2sgd2hldGhl
ciB0aGUgcG9ydGlvbiB3cml0dGVuIGlzIGN1cnJlbnRseSBldmVuLCBpZiB0aGUgcmFkaXggaXMg
b2RkLgotICAgICAgICAgICAgICAgIGlmIChkaWdpdCAmIDEpCi0gICAgICAgICAgICAgICAgICAg
IGlzT2RkSW5PZGRSYWRpeCA9ICFpc09kZEluT2RkUmFkaXg7Ci0KLSAgICAgICAgICAgICAgICAv
LyBTaGlmdCB0aGUgZnJhY3Rpb25zIGJ5IHJhZGl4LgotICAgICAgICAgICAgICAgIGhhbGZEZWx0
YU5leHQgKj0gcmFkaXg7Ci0gICAgICAgICAgICAgICAgaGFsZkRlbHRhTGFzdCAqPSByYWRpeDsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8vIFRoaXMgY29k
ZSBpcyBpZGVudGljYWwgdG8gdGhhdCBhYm92ZSwgZXhjZXB0IHNpbmNlIGRlbHRhTmV4dERvdWJs
ZSAhPSBkZWx0YUxhc3REb3VibGUKLSAgICAgICAgICAgIC8vIHdlIGRvbid0IG5lZWQgdG8gdHJh
Y2sgdGhlc2UgdHdvIHZhbHVlcyBzZXBhcmF0ZWx5LgotICAgICAgICAgICAgVWludDE2V2l0aEZy
YWN0aW9uIGhhbGZEZWx0YShkZWx0YU5leHREb3VibGUsIDEpOwotCi0gICAgICAgICAgICB3aGls
ZSAodHJ1ZSkgewotICAgICAgICAgICAgICAgIGludCBkQ29tcGFyZVBvaW50NSA9IGZyYWN0aW9u
LmNvbXBhcmVQb2ludDUoKTsKLSAgICAgICAgICAgICAgICBpZiAoZENvbXBhcmVQb2ludDUgPiAw
IHx8ICghZENvbXBhcmVQb2ludDUgJiYgKHJhZGl4ICYgMSA/IGlzT2RkSW5PZGRSYWRpeCA6IGRp
Z2l0ICYgMSkpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChmcmFjdGlvbi5zdW1HcmVhdGVy
VGhhbk9uZShoYWxmRGVsdGEpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBuZWVkc1JvdW5k
aW5nVXAgPSB0cnVlOwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGZyYWN0aW9uIDwgaGFsZkRl
bHRhKQotICAgICAgICAgICAgICAgICAgICBicmVhazsKLQotICAgICAgICAgICAgICAgIEFTU0VS
VChlbmRPZlJlc3VsdFN0cmluZyA8IChidWZmZXIgKyBzaXplb2YoYnVmZmVyKSAtIDEpKTsKLSAg
ICAgICAgICAgICAgICBmcmFjdGlvbiAqPSByYWRpeDsKLSAgICAgICAgICAgICAgICBkaWdpdCA9
IGZyYWN0aW9uLmZsb29yQW5kU3VidHJhY3QoKTsKLSAgICAgICAgICAgICAgICBpZiAoZGlnaXQg
JiAxKQotICAgICAgICAgICAgICAgICAgICBpc09kZEluT2RkUmFkaXggPSAhaXNPZGRJbk9kZFJh
ZGl4OwotICAgICAgICAgICAgICAgICplbmRPZlJlc3VsdFN0cmluZysrID0gcmFkaXhEaWdpdHNb
ZGlnaXRdOwotCi0gICAgICAgICAgICAgICAgaGFsZkRlbHRhICo9IHJhZGl4OwotICAgICAgICAg
ICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGZyYWN0aW9uIG5lZWRz
IHJvdW5kaW5nIG9mZiAoZmxhZyBzZXQgaW4gdGhlIGxvb3Agd3JpdGluZyBkaWdpdHMsIGFib3Zl
KS4KLSAgICAgICAgaWYgKG5lZWRzUm91bmRpbmdVcCkgewotICAgICAgICAgICAgLy8gV2hpbHN0
IHRoZSBsYXN0IGRpZ2l0IGlzIHRoZSBtYXhpbXVtIGluIHRoZSBjdXJyZW50IHJhZGl4LCByZW1v
dmUgaXQuCi0gICAgICAgICAgICAvLyBlLmcuIHJvdW5kaW5nIHVwIHRoZSBsYXN0IGRpZ2l0IGlu
ICIxMi4zOTk5IiBpcyB0aGUgc2FtZSBhcyByb3VuZGluZyB1cCB0aGUKLSAgICAgICAgICAgIC8v
IGxhc3QgZGlnaXQgaW4gIjEyLjMiIC0gYm90aCByb3VuZCB1cCB0byAiMTIuNCIuCi0gICAgICAg
ICAgICB3aGlsZSAoZW5kT2ZSZXN1bHRTdHJpbmdbLTFdID09IHJhZGl4RGlnaXRzW3JhZGl4IC0g
MV0pCi0gICAgICAgICAgICAgICAgLS1lbmRPZlJlc3VsdFN0cmluZzsKLQotICAgICAgICAgICAg
Ly8gUmFkaXggZGlnaXRzIGFyZSBzZXF1ZW50aWFsIGluIGFzY2lpL3VuaWNvZGUsIGV4Y2VwdCBm
b3IgJzknIGFuZCAnYScuCi0gICAgICAgICAgICAvLyBFLmcuIHRoZSBmaXJzdCAnaWYnIGNhc2Ug
aGFuZGxlcyByb3VuZGluZyA2Ny44OSB0byA2Ny44YSBpbiBiYXNlIDE2LgotICAgICAgICAgICAg
Ly8gVGhlICdlbHNlIGlmJyBjYXNlIGhhbmRsZXMgcm91bmRpbmcgb2YgYWxsIG90aGVyIGRpZ2l0
cy4KLSAgICAgICAgICAgIGlmIChlbmRPZlJlc3VsdFN0cmluZ1stMV0gPT0gJzknKQotICAgICAg
ICAgICAgICAgIGVuZE9mUmVzdWx0U3RyaW5nWy0xXSA9ICdhJzsKLSAgICAgICAgICAgIGVsc2Ug
aWYgKGVuZE9mUmVzdWx0U3RyaW5nWy0xXSAhPSAnLicpCi0gICAgICAgICAgICAgICAgKytlbmRP
ZlJlc3VsdFN0cmluZ1stMV07Ci0gICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICAv
LyBPbmUgb3RoZXIgcG9zc2liaWxpdHkgLSB0aGVyZSBtYXkgYmUgbm8gZGlnaXRzIHRvIHJvdW5k
IHVwIGluIHRoZSBmcmFjdGlvbgotICAgICAgICAgICAgICAgIC8vIChvciBhbGwgbWF5IGJlIGJl
ZW4gcm91bmRlZCBvZmYgYWxyZWFkeSksIGluIHdoaWNoIGNhc2Ugd2UgbWF5IG5lZWQgdG8KLSAg
ICAgICAgICAgICAgICAvLyByb3VuZCBpbnRvIHRoZSBpbnRlZ2VyIHBvcnRpb24gb2YgdGhlIG51
bWJlci4gUmVtb3ZlIHRoZSBkZWNpbWFsIHBvaW50LgotICAgICAgICAgICAgICAgIC0tZW5kT2ZS
ZXN1bHRTdHJpbmc7Ci0gICAgICAgICAgICAgICAgLy8gSW4gb3JkZXIgdG8gZ2V0IGhlcmUgdGhl
cmUgbXVzdCBoYXZlIGJlZW4gYSBub24temVybyBmcmFjdGlvbiwgaW4gd2hpY2ggY2FzZQotICAg
ICAgICAgICAgICAgIC8vIHRoZXJlIG11c3QgYmUgYXQgbGVhc3Qgb25lIGJpdCBvZiB0aGUgdmFs
dWUncyBtYW50aXNzYSBub3QgaW4gdXNlIGluIHRoZQotICAgICAgICAgICAgICAgIC8vIGludGVn
ZXIgcGFydCBvZiB0aGUgbnVtYmVyLiBBcyBzdWNoLCBhZGRpbmcgdG8gdGhlIGludGVnZXIgcGFy
dCBzaG91bGQgbm90Ci0gICAgICAgICAgICAgICAgLy8gYmUgYWJsZSB0byBsb3NlIHByZWNpc2lv
bi4KLSAgICAgICAgICAgICAgICBBU1NFUlQoKGludGVnZXJQYXJ0ICsgMSkgLSBpbnRlZ2VyUGFy
dCA9PSAxKTsKLSAgICAgICAgICAgICAgICArK2ludGVnZXJQYXJ0OwotICAgICAgICAgICAgfQot
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8gV2Ugb25seSBuZWVkIHRvIGNoZWNrIGZv
ciB0cmFpbGluZyB6ZXJvcyBpZiB0aGUgdmFsdWUgZG9lcyBub3QgZ2V0IHJvdW5kZWQgdXAuCi0g
ICAgICAgICAgICB3aGlsZSAoZW5kT2ZSZXN1bHRTdHJpbmdbLTFdID09ICcwJykKLSAgICAgICAg
ICAgICAgICAtLWVuZE9mUmVzdWx0U3RyaW5nOwotICAgICAgICB9Ci0KLSAgICAgICAgKmVuZE9m
UmVzdWx0U3RyaW5nID0gJ1wwJzsKLSAgICAgICAgQVNTRVJUKGVuZE9mUmVzdWx0U3RyaW5nIDwg
YnVmZmVyICsgc2l6ZW9mKGJ1ZmZlcikpOwotICAgIH0gZWxzZQotICAgICAgICAqZGVjaW1hbFBv
aW50ID0gJ1wwJzsKLQotICAgIEJpZ0ludGVnZXIgdW5pdHMoaW50ZWdlclBhcnQpOwotCi0gICAg
Ly8gQWx3YXlzIGxvb3AgYXQgbGVhc3Qgb25jZSwgdG8gZW1pdCBhdCBsZWFzdCAnMCcuCi0gICAg
ZG8gewotICAgICAgICBBU1NFUlQoYnVmZmVyIDwgc3RhcnRPZlJlc3VsdFN0cmluZyk7Ci0KLSAg
ICAgICAgLy8gUmVhZCBhIHNpbmdsZSBkaWdpdCBhbmQgd3JpdGUgaXQgdG8gdGhlIGZyb250IG9m
IHRoZSBzdHJpbmcuCi0gICAgICAgIC8vIERpdmlkZSBieSByYWRpeCB0byByZW1vdmUgb25lIGRp
Z2l0IGZyb20gdGhlIHZhbHVlLgotICAgICAgICBkaWdpdCA9IHVuaXRzLmRpdmlkZShyYWRpeCk7
Ci0gICAgICAgICotLXN0YXJ0T2ZSZXN1bHRTdHJpbmcgPSByYWRpeERpZ2l0c1tkaWdpdF07Ci0g
ICAgfSB3aGlsZSAoISF1bml0cyk7Ci0KLSAgICAvLyBJZiB0aGUgbnVtYmVyIGlzIG5lZ2F0aXZl
LCBwcmVwZW5kICctJy4KLSAgICBpZiAoaXNOZWdhdGl2ZSkKLSAgICAgICAgKi0tc3RhcnRPZlJl
c3VsdFN0cmluZyA9ICctJzsKLSAgICBBU1NFUlQoYnVmZmVyIDw9IHN0YXJ0T2ZSZXN1bHRTdHJp
bmcpOwotCi0gICAgcmV0dXJuIHN0YXJ0T2ZSZXN1bHRTdHJpbmc7Ci19Ci0KIC8vIHRvRXhwb25l
bnRpYWwgY29udmVydHMgYSBudW1iZXIgdG8gYSBzdHJpbmcsIGFsd2F5cyBmb3JtYXR0aW5nIGFz
IGFuIGV4cG9lbnRpYWwuCiAvLyBUaGlzIG1ldGhvZCB0YWtlcyBhbiBvcHRpb25hbCBhcmd1bWVu
dCBzcGVjaWZ5aW5nIGEgbnVtYmVyIG9mICpkZWNpbWFsIHBsYWNlcyoKIC8vIHRvIHJvdW5kIHRo
ZSBzaWduaWZpY2FuZCB0byAob3IsIHB1dCBhbm90aGVyIHdheSwgdGhpcyBtZXRob2Qgb3B0aW9u
YWxseSByb3VuZHMKQEAgLTQxNSw3ICsyMDksNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIG51bWJlclByb3RvRnVuY1RvUHJlY2lzaW9uKEV4ZWNTdGF0ZSogZXhlYykKICAgICAvLyBD
b252ZXJ0IHRvIGRlY2ltYWwgd2l0aCByb3VuZGluZy4KICAgICBEZWNpbWFsTnVtYmVyIG51bWJl
cih4LCBSb3VuZGluZ1NpZ25pZmljYW50RmlndXJlcywgc2lnbmlmaWNhbnRGaWd1cmVzKTsKICAg
ICAvLyBJZiBudW1iZXIgaXMgaW4gdGhlIHJhbmdlIDFlLTYgPD0geCA8IHBvdygxMCwgc2lnbmlm
aWNhbnRGaWd1cmVzKSB0aGVuIGZvcm1hdAotICAgIC8vIGFzIGRlY2ltYWwuIE90aGVyd2lzZSwg
Zm9ybWF0IHRoZSBudW1iZXIgYXMgYW4gZXhwb25lbnRpYWwuIERlY2ltYWwgZm9ybWF0CisgICAg
Ly8gYXMgZGVjaW1hbC4gT3RoZXJ3aXNlLCBmb3JtYXQgdGhlIG51bWJlciBhcyBhbiBleHBvbmVu
dGlhbC4gIERlY2ltYWwgZm9ybWF0CiAgICAgLy8gZGVtYW5kcyBhIG1pbmltdW0gb2YgKGV4cG9u
ZW50ICsgMSkgZGlnaXRzIHRvIHJlcHJlc2VudCBhIG51bWJlciwgZm9yIGV4YW1wbGUKICAgICAv
LyAxMjM0ICgxLjIzNGUrMykgcmVxdWlyZXMgNCBkaWdpdHMuIChTZWUgRUNNQS0yNjIgMTUuNy40
LjcuMTAuYykKICAgICBOdW1iZXJUb1N0cmluZ0J1ZmZlciBidWZmZXI7CkBAIC00NDQsMTMgKzIz
OCwxNSBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG51bWJlclByb3RvRnVuY1RvU3Ry
aW5nKEV4ZWNTdGF0ZSogZXhlYykKICAgICBpZiAocmFkaXggPT0gMTApCiAgICAgICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoanNTdHJpbmcoZXhlYywgdi50b1N0cmluZyhleGVjKSkpOwogCisg
ICAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGRpZ2l0cyA9ICIwMTIzNDU2Nzg5YWJjZGVmZ2hp
amtsbW5vcHFyc3R1dnd4eXoiOworCiAgICAgLy8gRmFzdCBwYXRoIGZvciBudW1iZXIgdG8gY2hh
cmFjdGVyIGNvbnZlcnNpb24uCiAgICAgaWYgKHJhZGl4ID09IDM2KSB7CiAgICAgICAgIGlmICh2
LmlzSW50MzIoKSkgewogICAgICAgICAgICAgaW50IHggPSB2LmFzSW50MzIoKTsKICAgICAgICAg
ICAgIGlmIChzdGF0aWNfY2FzdDx1bnNpZ25lZD4oeCkgPCAzNikgeyAvLyBFeGNsdWRlIG5lZ2F0
aXZlcwogICAgICAgICAgICAgICAgIEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSA9ICZleGVjLT5n
bG9iYWxEYXRhKCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShnbG9i
YWxEYXRhLT5zbWFsbFN0cmluZ3Muc2luZ2xlQ2hhcmFjdGVyU3RyaW5nKGdsb2JhbERhdGEsIHJh
ZGl4RGlnaXRzW3hdKSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShn
bG9iYWxEYXRhLT5zbWFsbFN0cmluZ3Muc2luZ2xlQ2hhcmFjdGVyU3RyaW5nKGdsb2JhbERhdGEs
IGRpZ2l0c1t4XSkpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQpAQCAtNDU4LDEy
ICsyNTQsNTMgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBudW1iZXJQcm90b0Z1bmNU
b1N0cmluZyhFeGVjU3RhdGUqIGV4ZWMpCiAgICAgaWYgKHJhZGl4IDwgMiB8fCByYWRpeCA+IDM2
KQogICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKGV4ZWMsIGNyZWF0ZVJhbmdlRXJyb3IoZXhl
YywgInRvU3RyaW5nKCkgcmFkaXggYXJndW1lbnQgbXVzdCBiZSBiZXR3ZWVuIDIgYW5kIDM2Iikp
OwogCisgICAgLy8gSU5UX01BWCByZXN1bHRzIGluIDEwMjQgY2hhcmFjdGVycyBsZWZ0IG9mIHRo
ZSBkb3Qgd2l0aCByYWRpeCAyCisgICAgLy8gZ2l2ZSB0aGUgc2FtZSBzcGFjZSBvbiB0aGUgcmln
aHQgc2lkZS4gc2FmZXR5IGNoZWNrcyBhcmUgaW4gcGxhY2UKKyAgICAvLyB1bmxlc3Mgc29tZW9u
ZSBmaW5kcyBhIHByZWNpc2UgcnVsZS4KKyAgICBjaGFyIHNbMjA0OCArIDNdOworICAgIGNvbnN0
IGNoYXIqIGxhc3RDaGFySW5TdHJpbmcgPSBzICsgc2l6ZW9mKHMpIC0gMTsKICAgICBkb3VibGUg
eCA9IHYudW5jaGVja2VkR2V0TnVtYmVyKCk7CiAgICAgaWYgKCFpc2Zpbml0ZSh4KSkKICAgICAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1N0cmluZyhleGVjLCBVU3RyaW5nOjpudW1iZXIo
eCkpKTsKIAotICAgIFJhZGl4QnVmZmVyIHM7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShq
c1N0cmluZyhleGVjLCB0b1N0cmluZ1dpdGhSYWRpeChzLCB4LCByYWRpeCkpKTsKKyAgICBib29s
IGlzTmVnYXRpdmUgPSB4IDwgMC4wOworICAgIGlmIChpc05lZ2F0aXZlKQorICAgICAgICB4ID0g
LXg7CisKKyAgICBkb3VibGUgaW50ZWdlclBhcnQgPSBmbG9vcih4KTsKKyAgICBjaGFyKiBkZWNp
bWFsUG9pbnQgPSBzICsgc2l6ZW9mKHMpIC8gMjsKKworICAgIC8vIGNvbnZlcnQgaW50ZWdlciBw
b3J0aW9uCisgICAgY2hhciogcCA9IGRlY2ltYWxQb2ludDsKKyAgICBkb3VibGUgZCA9IGludGVn
ZXJQYXJ0OworICAgIGRvIHsKKyAgICAgICAgaW50IHJlbWFpbmRlckRpZ2l0ID0gc3RhdGljX2Nh
c3Q8aW50PihmbW9kKGQsIHJhZGl4KSk7CisgICAgICAgICotLXAgPSBkaWdpdHNbcmVtYWluZGVy
RGlnaXRdOworICAgICAgICBkIC89IHJhZGl4OworICAgIH0gd2hpbGUgKChkIDw9IC0xLjAgfHwg
ZCA+PSAxLjApICYmIHMgPCBwKTsKKworICAgIGlmIChpc05lZ2F0aXZlKQorICAgICAgICAqLS1w
ID0gJy0nOworICAgIGNoYXIqIHN0YXJ0T2ZSZXN1bHRTdHJpbmcgPSBwOworICAgIEFTU0VSVChz
IDw9IHN0YXJ0T2ZSZXN1bHRTdHJpbmcpOworCisgICAgZCA9IHggLSBpbnRlZ2VyUGFydDsKKyAg
ICBwID0gZGVjaW1hbFBvaW50OworICAgIGNvbnN0IGRvdWJsZSBlcHNpbG9uID0gMC4wMDE7IC8v
IFRPRE86IGd1ZXNzZWQuIGJhc2Ugb24gcmFkaXggPworICAgIGJvb2wgaGFzRnJhY3Rpb25hbFBh
cnQgPSAoZCA8IC1lcHNpbG9uIHx8IGQgPiBlcHNpbG9uKTsKKyAgICBpZiAoaGFzRnJhY3Rpb25h
bFBhcnQpIHsKKyAgICAgICAgKnArKyA9ICcuJzsKKyAgICAgICAgZG8geworICAgICAgICAgICAg
ZCAqPSByYWRpeDsKKyAgICAgICAgICAgIGNvbnN0IGludCBkaWdpdCA9IHN0YXRpY19jYXN0PGlu
dD4oZCk7CisgICAgICAgICAgICAqcCsrID0gZGlnaXRzW2RpZ2l0XTsKKyAgICAgICAgICAgIGQg
LT0gZGlnaXQ7CisgICAgICAgIH0gd2hpbGUgKChkIDwgLWVwc2lsb24gfHwgZCA+IGVwc2lsb24p
ICYmIHAgPCBsYXN0Q2hhckluU3RyaW5nKTsKKyAgICB9CisgICAgKnAgPSAnXDAnOworICAgIEFT
U0VSVChwIDwgcyArIHNpemVvZihzKSk7CisKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpz
U3RyaW5nKGV4ZWMsIHN0YXJ0T2ZSZXN1bHRTdHJpbmcpKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBudW1iZXJQcm90b0Z1bmNUb0xvY2FsZVN0cmluZyhFeGVjU3RhdGUqIGV4
ZWMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9VaW50MTZXaXRo
RnJhY3Rpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1VpbnQxNldpdGhGcmFj
dGlvbi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMTZmYjg5MWQ5ZjM1YTMwMDUw
ODIyYzE0NzBjMDY2YzgzODRlY2FmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1VpbnQxNldpdGhGcmFj
dGlvbi5oCisrKyAvZGV2L251bGwKQEAgLTEsMjcwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2lmbmRlZiBVaW50MTZXaXRoRnJhY3Rpb25f
aAotI2RlZmluZSBVaW50MTZXaXRoRnJhY3Rpb25faAotCi0jaW5jbHVkZSA8d3RmL01hdGhFeHRy
YXMuaD4KLQotbmFtZXNwYWNlIEpTQyB7Ci0KLS8vIFdvdWxkIGJlIG5pY2UgaWYgdGhpcyB3YXMg
YSBzdGF0aWMgY29uc3QgbWVtYmVyLCBidXQgdGhlIE9TIFggbGlua2VyCi0vLyBzZWVtcyB0byB3
YW50IGEgc3ltYm9sIGluIHRoZSBiaW5hcnkgaW4gdGhhdCBjYXNlLi4uCi0jZGVmaW5lIG9uZUdy
ZWF0ZXJUaGFuTWF4VUludDE2IDB4MTAwMDAKLQotLy8gQSB1aW50MTZfdCB3aXRoIGFuIGluZmlu
aXRlIHByZWNpc2lvbiBmcmFjdGlvbi4gVXBvbiBvdmVyZmxvd2luZwotLy8gdGhlIHVpbnQxNl90
IHJhbmdlLCB0aGlzIGNsYXNzIHdpbGwgY2xhbXAgdG8gb25lR3JlYXRlclRoYW5NYXhVSW50MTYu
Ci0vLyBUaGlzIGlzIHVzZWQgaW4gY29udmVydGluZyB0aGUgZnJhY3Rpb24gcGFydCBvZiBhIG51
bWJlciB0byBhIHN0cmluZy4KLWNsYXNzIFVpbnQxNldpdGhGcmFjdGlvbiB7Ci1wdWJsaWM6Ci0g
ICAgZXhwbGljaXQgVWludDE2V2l0aEZyYWN0aW9uKGRvdWJsZSBudW1iZXIsIHVpbnQxNl90IGRp
dmlkZUJ5RXhwb25lbnQgPSAwKQotICAgIHsKLSAgICAgICAgQVNTRVJUKG51bWJlciAmJiBpc2Zp
bml0ZShudW1iZXIpICYmICFzaWduYml0KG51bWJlcikpOwotCi0gICAgICAgIC8vIENoZWNrIGZv
ciB2YWx1ZXMgb3V0IG9mIHVpbnQxNl90IHJhbmdlLgotICAgICAgICBpZiAobnVtYmVyID49IG9u
ZUdyZWF0ZXJUaGFuTWF4VUludDE2KSB7Ci0gICAgICAgICAgICBtX3ZhbHVlcy5hcHBlbmQob25l
R3JlYXRlclRoYW5NYXhVSW50MTYpOwotICAgICAgICAgICAgbV9sZWFkaW5nWmVyb3MgPSAwOwot
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgLy8gQXBwZW5kIHRoZSB1
bml0cyB0byBtX3ZhbHVlcy4KLSAgICAgICAgZG91YmxlIGludGVnZXJQYXJ0ID0gZmxvb3IobnVt
YmVyKTsKLSAgICAgICAgbV92YWx1ZXMuYXBwZW5kKHN0YXRpY19jYXN0PHVpbnQzMl90PihpbnRl
Z2VyUGFydCkpOwotCi0gICAgICAgIGJvb2wgc2lnbjsKLSAgICAgICAgaW50MzJfdCBleHBvbmVu
dDsKLSAgICAgICAgdWludDY0X3QgbWFudGlzc2E7Ci0gICAgICAgIGRlY29tcG9zZURvdWJsZShu
dW1iZXIgLSBpbnRlZ2VyUGFydCwgc2lnbiwgZXhwb25lbnQsIG1hbnRpc3NhKTsKLSAgICAgICAg
QVNTRVJUKCFzaWduICYmIGV4cG9uZW50IDwgMCk7Ci0gICAgICAgIGV4cG9uZW50IC09IGRpdmlk
ZUJ5RXhwb25lbnQ7Ci0KLSAgICAgICAgaW50MzJfdCB6ZXJvQml0cyA9IC1leHBvbmVudDsKLSAg
ICAgICAgLS16ZXJvQml0czsKLQotICAgICAgICAvLyBBcHBlbmQgdGhlIGFwcGVuZCB3b3JkcyBm
b3IgdG8gbV92YWx1ZXMuCi0gICAgICAgIHdoaWxlICh6ZXJvQml0cyA+PSAzMikgewotICAgICAg
ICAgICAgbV92YWx1ZXMuYXBwZW5kKDApOwotICAgICAgICAgICAgemVyb0JpdHMgLT0gMzI7Ci0g
ICAgICAgIH0KLQotICAgICAgICAvLyBMZWZ0IGFsaWduIHRoZSA1MyBiaXRzIG9mIHRoZSBtYW50
aXNzYSB3aXRoaW4gOTYgYml0cy4KLSAgICAgICAgdWludDMyX3QgdmFsdWVzWzNdOwotICAgICAg
ICB2YWx1ZXNbMF0gPSBzdGF0aWNfY2FzdDx1aW50MzJfdD4obWFudGlzc2EgPj4gMjEpOwotICAg
ICAgICB2YWx1ZXNbMV0gPSBzdGF0aWNfY2FzdDx1aW50MzJfdD4obWFudGlzc2EgPDwgMTEpOwot
ICAgICAgICB2YWx1ZXNbMl0gPSAwOwotICAgICAgICAvLyBTaGlmdCBiYXNlZCBvbiB0aGUgcmVt
YWluZGVyIG9mIHRoZSBleHBvbmVudC4KLSAgICAgICAgaWYgKHplcm9CaXRzKSB7Ci0gICAgICAg
ICAgICB2YWx1ZXNbMl0gPSB2YWx1ZXNbMV0gPDwgKDMyIC0gemVyb0JpdHMpOwotICAgICAgICAg
ICAgdmFsdWVzWzFdID0gKHZhbHVlc1sxXSA+PiB6ZXJvQml0cykgfCAodmFsdWVzWzBdIDw8ICgz
MiAtIHplcm9CaXRzKSk7Ci0gICAgICAgICAgICB2YWx1ZXNbMF0gPSAodmFsdWVzWzBdID4+IHpl
cm9CaXRzKTsKLSAgICAgICAgfQotICAgICAgICBtX3ZhbHVlcy5hcHBlbmQodmFsdWVzWzBdKTsK
LSAgICAgICAgbV92YWx1ZXMuYXBwZW5kKHZhbHVlc1sxXSk7Ci0gICAgICAgIG1fdmFsdWVzLmFw
cGVuZCh2YWx1ZXNbMl0pOwotCi0gICAgICAgIC8vIENhbm9uaWNhbGl6ZTsgcmVtb3ZlIGFueSB0
cmFpbGluZyB6ZXJvcy4KLSAgICAgICAgd2hpbGUgKG1fdmFsdWVzLnNpemUoKSA+IDEgJiYgIW1f
dmFsdWVzLmxhc3QoKSkKLSAgICAgICAgICAgIG1fdmFsdWVzLnJlbW92ZUxhc3QoKTsKLQotICAg
ICAgICAvLyBDb3VudCB0aGUgbnVtYmVyIG9mIGxlYWRpbmcgemVybywgdGhpcyBpcyB1c2VmdWwg
aW4gb3B0aW1pemluZyBtdWx0aXBsaWVzLgotICAgICAgICBtX2xlYWRpbmdaZXJvcyA9IDA7Ci0g
ICAgICAgIHdoaWxlIChtX2xlYWRpbmdaZXJvcyA8IG1fdmFsdWVzLnNpemUoKSAmJiAhbV92YWx1
ZXNbbV9sZWFkaW5nWmVyb3NdKQotICAgICAgICAgICAgKyttX2xlYWRpbmdaZXJvczsKLSAgICB9
Ci0KLSAgICBVaW50MTZXaXRoRnJhY3Rpb24mIG9wZXJhdG9yKj0odWludDE2X3QgbXVsdGlwbGll
cikKLSAgICB7Ci0gICAgICAgIEFTU0VSVChjaGVja0NvbnNpc3RlbmN5KCkpOwotCi0gICAgICAg
IC8vIGl0ZXJhdGF0ZSBiYWNrd2FyZHMgb3ZlciB0aGUgZnJhY3Rpb24gdW50aWwgd2UgcmVhY2gg
dGhlIGxlYWRpbmcgemVyb3MsCi0gICAgICAgIC8vIHBhc3NpbmcgdGhlIGNhcnJ5IGZyb20gb25l
IGNhbGN1bGF0aW9uIGludG8gdGhlIG5leHQuCi0gICAgICAgIHVpbnQ2NF90IGFjY3VtdWxhdG9y
ID0gMDsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IG1fdmFsdWVzLnNpemUoKTsgaSA+IG1fbGVh
ZGluZ1plcm9zOyApIHsKLSAgICAgICAgICAgIC0taTsKLSAgICAgICAgICAgIGFjY3VtdWxhdG9y
ICs9IHN0YXRpY19jYXN0PHVpbnQ2NF90PihtX3ZhbHVlc1tpXSkgKiBzdGF0aWNfY2FzdDx1aW50
NjRfdD4obXVsdGlwbGllcik7Ci0gICAgICAgICAgICBtX3ZhbHVlc1tpXSA9IHN0YXRpY19jYXN0
PHVpbnQzMl90PihhY2N1bXVsYXRvcik7Ci0gICAgICAgICAgICBhY2N1bXVsYXRvciA+Pj0gMzI7
Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAoIW1fbGVhZGluZ1plcm9zKSB7Ci0gICAgICAgICAg
ICAvLyBXaXRoIGEgbXVsdGlwbGljYW5kIGFuZCBtdWx0aXBsaWVyIGluIHRoZSB1aW50MTZfdCBy
YW5nZSwgdGhpcyBjYW5ub3QgY2FycnkKLSAgICAgICAgICAgIC8vIChldmVuIGFsbG93aW5nIGZv
ciB0aGUgaW5maW5pdHkgdmFsdWUpLgotICAgICAgICAgICAgQVNTRVJUKCFhY2N1bXVsYXRvcik7
Ci0gICAgICAgICAgICAvLyBDaGVjayBmb3Igb3ZlcmZsb3cgJiBjbGFtcCB0byAnaW5maW5pdHkn
LgotICAgICAgICAgICAgaWYgKG1fdmFsdWVzWzBdID49IG9uZUdyZWF0ZXJUaGFuTWF4VUludDE2
KSB7Ci0gICAgICAgICAgICAgICAgbV92YWx1ZXMuc2hyaW5rKDEpOwotICAgICAgICAgICAgICAg
IG1fdmFsdWVzWzBdID0gb25lR3JlYXRlclRoYW5NYXhVSW50MTY7Ci0gICAgICAgICAgICAgICAg
bV9sZWFkaW5nWmVyb3MgPSAwOwotICAgICAgICAgICAgICAgIHJldHVybiAqdGhpczsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfSBlbHNlIGlmIChhY2N1bXVsYXRvcikgewotICAgICAgICAgICAg
Ly8gQ2hlY2sgZm9yIGNhcnJ5IGZyb20gdGhlIGxhc3QgbXVsdGlwbHksIGlmIHNvIG92ZXJ3cml0
ZSBsYXN0IGxlYWRpbmcgemVyby4KLSAgICAgICAgICAgIG1fdmFsdWVzWy0tbV9sZWFkaW5nWmVy
b3NdID0gYWNjdW11bGF0b3I7Ci0gICAgICAgICAgICAvLyBUaGUgbGltaXRlZCByYW5nZSBvZiB0
aGUgbXVsdGlwbGllciBzaG91bGQgbWVhbiB0aGF0IGV2ZW4gaWYgd2UgY2FycnkgaW50bwotICAg
ICAgICAgICAgLy8gdGhlIHVuaXRzLCB3ZSBkb24ndCBuZWVkIHRvIGNoZWNrIGZvciBvdmVyZmxv
dyBvZiB0aGUgdWludDE2X3QgcmFuZ2UuCi0gICAgICAgICAgICBBU1NFUlQobV92YWx1ZXNbMF0g
PCBvbmVHcmVhdGVyVGhhbk1heFVJbnQxNik7Ci0gICAgICAgIH0KLQotICAgICAgICAvLyBNdWx0
aXBsaWNhdGlvbiBieSBhbiBldmVuIHZhbHVlIG1heSBpbnRyb2R1Y2UgdHJhaWxpbmcgemVyb3M7
IGlmIHNvLCBjbGVhbiB0aGVtCi0gICAgICAgIC8vIHVwLiAoS2VlcGluZyB0aGUgdmFsdWUgaW4g
YSBub3JtYWxpemVkIGZvcm0gbWFrZXMgc29tZSBvZiB0aGUgY29tcGFyaXNvbiBvcGVyYXRpb25z
Ci0gICAgICAgIC8vIG1vcmUgZWZmaWNpZW50KS4KLSAgICAgICAgd2hpbGUgKG1fdmFsdWVzLnNp
emUoKSA+IDEgJiYgIW1fdmFsdWVzLmxhc3QoKSkKLSAgICAgICAgICAgIG1fdmFsdWVzLnJlbW92
ZUxhc3QoKTsKLSAgICAgICAgQVNTRVJUKGNoZWNrQ29uc2lzdGVuY3koKSk7Ci0gICAgICAgIHJl
dHVybiAqdGhpczsKLSAgICB9Ci0KLSAgICBib29sIG9wZXJhdG9yPChjb25zdCBVaW50MTZXaXRo
RnJhY3Rpb24mIG90aGVyKQotICAgIHsKLSAgICAgICAgQVNTRVJUKGNoZWNrQ29uc2lzdGVuY3ko
KSk7Ci0gICAgICAgIEFTU0VSVChvdGhlci5jaGVja0NvbnNpc3RlbmN5KCkpOwotCi0gICAgICAg
IC8vIEl0ZXJhdGUgb3ZlciB0aGUgY29tbW9uIGxlbmd0aHMgb2YgYXJyYXlzLgotICAgICAgICBz
aXplX3QgbWluU2l6ZSA9IHN0ZDo6bWluKG1fdmFsdWVzLnNpemUoKSwgb3RoZXIubV92YWx1ZXMu
c2l6ZSgpKTsKLSAgICAgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IG1pblNpemU7
ICsraW5kZXgpIHsKLSAgICAgICAgICAgIC8vIElmIHdlIGZpbmQgYSB2YWx1ZSB0aGF0IGlzIG5v
dCBlcXVhbCwgY29tcGFyZSBhbmQgcmV0dXJuLgotICAgICAgICAgICAgdWludDMyX3QgZnJvbVRo
aXMgPSBtX3ZhbHVlc1tpbmRleF07Ci0gICAgICAgICAgICB1aW50MzJfdCBmcm9tT3RoZXIgPSBv
dGhlci5tX3ZhbHVlc1tpbmRleF07Ci0gICAgICAgICAgICBpZiAoZnJvbVRoaXMgIT0gZnJvbU90
aGVyKQotICAgICAgICAgICAgICAgIHJldHVybiBmcm9tVGhpcyA8IGZyb21PdGhlcjsKLSAgICAg
ICAgfQotICAgICAgICAvLyBJZiB0aGVzZSBudW1iZXJzIGhhdmUgdGhlIHNhbWUgbGVuZ3Rocywg
dGhleSBhcmUgZXF1YWwsCi0gICAgICAgIC8vIG90aGVyd2lzZSB3aGljaCBldmVyIG51bWJlciBo
YXMgYSBsb25nZXIgZnJhY3Rpb24gaW4gbGFyZ2VyLgotICAgICAgICByZXR1cm4gb3RoZXIubV92
YWx1ZXMuc2l6ZSgpID4gbWluU2l6ZTsKLSAgICB9Ci0KLSAgICAvLyBSZXR1cm4gdGhlIGZsb29y
IChub24tZnJhY3Rpb25hbCBwb3J0aW9uKSBvZiB0aGUgbnVtYmVyLCBjbGVhcmluZyB0aGlzIHRv
IHplcm8sCi0gICAgLy8gbGVhdmluZyB0aGUgZnJhY3Rpb25hbCBwYXJ0IHVuY2hhbmdlZC4KLSAg
ICB1aW50MzJfdCBmbG9vckFuZFN1YnRyYWN0KCkKLSAgICB7Ci0gICAgICAgIC8vICdmbG9vcicg
aXMgc2ltcGxlIHRoZSBpbnRlZ2VyIHBvcnRpb24gb2YgdGhlIHZhbHVlLgotICAgICAgICB1aW50
MzJfdCBmbG9vciA9IG1fdmFsdWVzWzBdOwotCi0gICAgICAgIC8vIElmIGZsb29yIGlzIG5vbi16
ZXJvLCAKLSAgICAgICAgaWYgKGZsb29yKSB7Ci0gICAgICAgICAgICBtX3ZhbHVlc1swXSA9IDA7
Ci0gICAgICAgICAgICBtX2xlYWRpbmdaZXJvcyA9IDE7Ci0gICAgICAgICAgICB3aGlsZSAobV9s
ZWFkaW5nWmVyb3MgPCBtX3ZhbHVlcy5zaXplKCkgJiYgIW1fdmFsdWVzW21fbGVhZGluZ1plcm9z
XSkKLSAgICAgICAgICAgICAgICArK21fbGVhZGluZ1plcm9zOwotICAgICAgICB9Ci0KLSAgICAg
ICAgcmV0dXJuIGZsb29yOwotICAgIH0KLQotICAgIC8vIENvbXBhcmUgdGhpcyB2YWx1ZSB0byAw
LjUsIHJldHVybnMgLTEgZm9yIGxlc3MgdGhhbiwgMCBmb3IgZXF1YWwsIDEgZm9yIGdyZWF0ZXIu
Ci0gICAgaW50IGNvbXBhcmVQb2ludDUoKQotICAgIHsKLSAgICAgICAgQVNTRVJUKGNoZWNrQ29u
c2lzdGVuY3koKSk7Ci0gICAgICAgIC8vIElmIHVuaXRzICE9IDAsIHRoaXMgaXMgZ3JlYXRlciB0
aGFuIDAuNS4KLSAgICAgICAgaWYgKG1fdmFsdWVzWzBdKQotICAgICAgICAgICAgcmV0dXJuIDE7
Ci0gICAgICAgIC8vIElmIHNpemUgPT0gMSB0aGlzIHZhbHVlIGlzIDAsIGhlbmNlIDwgMC41Lgot
ICAgICAgICBpZiAobV92YWx1ZXMuc2l6ZSgpID09IDEpCi0gICAgICAgICAgICByZXR1cm4gLTE7
Ci0gICAgICAgIC8vIENvbXBhcmUgdG8gMC41LgotICAgICAgICBpZiAobV92YWx1ZXNbMV0gPiAw
eDgwMDAwMDAwdWwpCi0gICAgICAgICAgICByZXR1cm4gMTsKLSAgICAgICAgaWYgKG1fdmFsdWVz
WzFdIDwgMHg4MDAwMDAwMHVsKQotICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgICAgICAvLyBD
aGVjayBmb3IgbW9yZSB3b3JkcyAtIHNpbmNlIG5vcm1hbGl6ZWQgbnVtYmVycyBoYXZlIG5vIHRy
YWlsaW5nIHplcm9zLCBpZgotICAgICAgICAvLyB0aGVyZSBhcmUgbW9yZSB0aGF0IHR3byBkaWdp
dHMgd2UgY2FuIGFzc3VtZSBhdCBsZWFzdCBvbmUgbW9yZSBpcyBub24temVybywKLSAgICAgICAg
Ly8gYW5kIGhlbmNlIHRoZSB2YWx1ZSBpcyA+IDAuNS4KLSAgICAgICAgcmV0dXJuIG1fdmFsdWVz
LnNpemUoKSA+IDIgPyAxIDogMDsKLSAgICB9Ci0KLSAgICAvLyBSZXR1cm4gdHJ1ZSBpZiB0aGUg
c3VtIG9mIHRoaXMgcGx1cyBhZGRlbmQgd291bGQgYmUgZ3JlYXRlciB0aGFuIDEuCi0gICAgYm9v
bCBzdW1HcmVhdGVyVGhhbk9uZShjb25zdCBVaW50MTZXaXRoRnJhY3Rpb24mIGFkZGVuZCkgCi0g
ICAgewotICAgICAgICBBU1NFUlQoY2hlY2tDb25zaXN0ZW5jeSgpKTsKLSAgICAgICAgQVNTRVJU
KGFkZGVuZC5jaGVja0NvbnNpc3RlbmN5KCkpOwotCi0gICAgICAgIC8vIEZpcnN0LCBzdW0gdGhl
IHVuaXRzLiBJZiB0aGUgcmVzdWx0IGlzIGdyZWF0ZXIgdGhhbiBvbmUsIHJldHVybiB0cnVlLgot
ICAgICAgICAvLyBJZiBlcXVhbCB0byBvbmUsIHJldHVybiB0cnVlIGlmIGVpdGhlciBudW1iZXIg
aGFzIGEgZnJhY3Rpb25hbCBwYXJ0LgotICAgICAgICB1aW50MzJfdCBzdW0gPSBtX3ZhbHVlc1sw
XSArIGFkZGVuZC5tX3ZhbHVlc1swXTsKLSAgICAgICAgaWYgKHN1bSkKLSAgICAgICAgICAgIHJl
dHVybiBzdW0gPiAxIHx8IHN0ZDo6bWF4KG1fdmFsdWVzLnNpemUoKSwgYWRkZW5kLm1fdmFsdWVz
LnNpemUoKSkgPiAxOwotCi0gICAgICAgIC8vIFdlIGNvdWxkIHN0aWxsIHByb2R1Y2UgYSByZXN1
bHQgZ3JlYXRlciB0aGFuIHplcm8gaWYgYWRkaXRpb24gb2YgdGhlIG5leHQKLSAgICAgICAgLy8g
d29yZCBmcm9tIHRoZSBmcmFjdGlvbiB3ZXJlIHRvIGNhcnJ5LCBsZWF2aW5nIGEgcmVzdWx0ID4g
MC4KLQotICAgICAgICAvLyBJdGVyYXRlIG92ZXIgdGhlIGNvbW1vbiBsZW5ndGhzIG9mIGFycmF5
cy4KLSAgICAgICAgc2l6ZV90IG1pblNpemUgPSBzdGQ6Om1pbihtX3ZhbHVlcy5zaXplKCksIGFk
ZGVuZC5tX3ZhbHVlcy5zaXplKCkpOwotICAgICAgICBmb3IgKHNpemVfdCBpbmRleCA9IDE7IGlu
ZGV4IDwgbWluU2l6ZTsgKytpbmRleCkgewotICAgICAgICAgICAgLy8gU3VtIHRoZSBuZXh0IHdv
cmQgZnJvbSB0aGlzICYgdGhlIGFkZGVuZC4KLSAgICAgICAgICAgIHVpbnQzMl90IGZyb21UaGlz
ID0gbV92YWx1ZXNbaW5kZXhdOwotICAgICAgICAgICAgdWludDMyX3QgZnJvbUFkZGVuZCA9IGFk
ZGVuZC5tX3ZhbHVlc1tpbmRleF07Ci0gICAgICAgICAgICBzdW0gPSBmcm9tVGhpcyArIGZyb21B
ZGRlbmQ7Ci0KLSAgICAgICAgICAgIC8vIENoZWNrIGZvciBvdmVyZmxvdy4gSWYgc28sIGNoZWNr
IHdoZXRoZXIgdGhlIHJlbWFpbmluZyByZXN1bHQgaXMgbm9uLXplcm8sCi0gICAgICAgICAgICAv
LyBvciBpZiB0aGVyZSBhcmUgYW55IGZ1cnRoZXIgd29yZHMgaW4gdGhlIGZyYWN0aW9uLgotICAg
ICAgICAgICAgaWYgKHN1bSA8IGZyb21UaGlzKQotICAgICAgICAgICAgICAgIHJldHVybiBzdW0g
fHwgKGluZGV4ICsgMSkgPCBzdGQ6Om1heChtX3ZhbHVlcy5zaXplKCksIGFkZGVuZC5tX3ZhbHVl
cy5zaXplKCkpOwotCi0gICAgICAgICAgICAvLyBJZiB0aGUgc3VtIGlzIHVpbnQzMl90IG1heCwg
dGhlbiB3ZSB3b3VsZCBjYXJyeSBhIDEgaWYgYWRkaXRpb24gb2YgdGhlIG5leHQKLSAgICAgICAg
ICAgIC8vIGRpZ2l0cyBpbiB0aGUgbnVtYmVyIHdlcmUgdG8gb3ZlcmZsb3cuCi0gICAgICAgICAg
ICBpZiAoc3VtICE9IDB4RkZGRkZGRkYpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgICAgICB9Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAg
Ym9vbCBjaGVja0NvbnNpc3RlbmN5KCkgY29uc3QKLSAgICB7Ci0gICAgICAgIC8vIEFsbCB2YWx1
ZXMgc2hvdWxkIGhhdmUgYXQgbGVhc3Qgb25lIHZhbHVlLgotICAgICAgICByZXR1cm4gKG1fdmFs
dWVzLnNpemUoKSkKLSAgICAgICAgICAgIC8vIFRoZSB1bml0cyB2YWx1ZSBtdXN0IGJlIGEgdWlu
dDE2X3QsIG9yIHRoZSB2YWx1ZSBpcyB0aGUgb3ZlcmZsb3cgdmFsdWUuCi0gICAgICAgICAgICAm
JiAobV92YWx1ZXNbMF0gPCBvbmVHcmVhdGVyVGhhbk1heFVJbnQxNiB8fCAobV92YWx1ZXNbMF0g
PT0gb25lR3JlYXRlclRoYW5NYXhVSW50MTYgJiYgbV92YWx1ZXMuc2l6ZSgpID09IDEpKQotICAg
ICAgICAgICAgLy8gVGhlcmUgc2hvdWxkIGJlIG5vIHRyYWlsaW5nIHplcm9zICh1bmxlc3MgdGhp
cyB2YWx1ZSBpcyB6ZXJvISkuCi0gICAgICAgICAgICAmJiAobV92YWx1ZXMubGFzdCgpIHx8IG1f
dmFsdWVzLnNpemUoKSA9PSAxKTsKLSAgICB9Ci0KLSAgICAvLyBUaGUgaW50ZXJuYWwgc3RvcmFn
ZSBvZiB0aGUgbnVtYmVyLiBUaGlzIHZlY3RvciBpcyBhbHdheXMgYXQgbGVhc3Qgb25lIGVudHJ5
IGluIHNpemUsCi0gICAgLy8gd2l0aCB0aGUgZmlyc3QgZW50cnkgaG9sZGluZyB0aGUgcG9ydGlv
biBvZiB0aGUgbnVtYmVyIGdyZWF0ZXIgdGhhbiB6ZXJvLiBUaGUgZmlyc3QKLSAgICAvLyB2YWx1
ZSBhbHdheXMgaG9sZCBhIHZhbHVlIGluIHRoZSB1aW50MTZfdCByYW5nZSwgb3IgaG9sZHMgdGhl
IHZhbHVlIG9uZUdyZWF0ZXJUaGFuTWF4VUludDE2IHRvCi0gICAgLy8gaW5kaWNhdGUgdGhlIHZh
bHVlIGhhcyBvdmVyZmxvd2VkIHRvID49IDB4MTAwMDAuIElmIHRoZSB1bml0cyB2YWx1ZSBpcyBv
bmVHcmVhdGVyVGhhbk1heFVJbnQxNiwKLSAgICAvLyB0aGVyZSBjYW4gYmUgbm8gZnJhY3Rpb24g
KHNpemUgbXVzdCBiZSAxKS4KLSAgICAvLwotICAgIC8vIFN1YnNlcXVlbnQgdmFsdWVzIGluIHRo
ZSBhcnJheSByZXByZXNlbnQgcG9ydGlvbnMgb2YgdGhlIGZyYWN0aW9uYWwgcGFydCBvZiB0aGlz
IG51bWJlci4KLSAgICAvLyBUaGUgdG90YWwgdmFsdWUgb2YgdGhlIG51bWJlciBpcyB0aGUgc3Vt
IG9mIChtX3ZhbHVlc1tpXSAvIHBvdygyXjMyLCBpKSksIGZvciBlYWNoIGkKLSAgICAvLyBpbiB0
aGUgYXJyYXkuIFRoZSB2ZWN0b3Igc2hvdWxkIGNvbnRhaW4gbm8gdHJhaWxpbmcgemVyb3MsIGV4
Y2VwdCBmb3IgdGhlIHZhbHVlICcwJywKLSAgICAvLyByZXByZXNlbnRlZCBieSBhIHZlY3RvciBj
b250aWFuaW5nIGEgc2luZ2xlIHplcm8gdmFsdWUuIFRoZXNlIGNvbnN0cmFpbnRzIGFyZSBjaGVj
a2VkCi0gICAgLy8gYnkgJ2NoZWNrQ29uc2lzdGVuY3koKScsIGFib3ZlLgotICAgIC8vCi0gICAg
Ly8gVGhlIGlubGluZSBjYXBhY2l0eSBvZiB0aGUgdmVjdG9yIGlzIHNldCB0byBiZSBhYmxlIHRv
IGNvbnRhaW4gYW55IElFRUUgZG91YmxlICgxIGZvcgotICAgIC8vIHRoZSB1bml0cyBjb2x1bW4s
IDMyIGZvciB6ZXJvcyBpbnRyb2R1Y2VkIGR1ZSB0byBhbiBleHBvbmVudCB1cCB0byAtM0ZFLCBh
bmQgMiBmb3IKLSAgICAvLyBiaXRzIHRha2VuIGZyb20gdGhlIG1hbnRpc3NhKS4KLSAgICBWZWN0
b3I8dWludDMyX3QsIDM2PiBtX3ZhbHVlczsKLQotICAgIC8vIENhY2hlIGEgY291bnQgb2YgdGhl
IG51bWJlciBvZiBsZWFkaW5nIHplcm9zIGluIG1fdmFsdWVzLiBXZSBjYW4gdXNlIHRoaXMgdG8g
b3B0aW1pemUKLSAgICAvLyBtZXRob2RzIHRoYXQgd291bGQgb3RoZXJ3aXNlIG5lZWQgdmlzaXQg
YWxsIHdvcmRzIGluIHRoZSB2ZWN0b3IsIGUuZy4gbXVsdGlwbGljYXRpb24uCi0gICAgc2l6ZV90
IG1fbGVhZGluZ1plcm9zOwotfTsKLQotfQotCi0jZW5kaWYKLQpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi9NYXRoRXh0cmFzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL01hdGhFeHRyYXMuaAppbmRleCBlMzZmOWU5NjU0MDE1MDJjOTVhMGQ2YjU3MWUzNWZjM2Vh
ODQ2ZjEwLi5lZTQyNDU1OGFkZWU3MzU3M2JjYTY0MWFiN2MzYjJiYjgxN2QwYTljIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL01hdGhFeHRyYXMuaAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL01hdGhFeHRyYXMuaApAQCAtMzEsNyArMzEsNiBAQAogI2luY2x1
ZGUgPGZsb2F0Lmg+CiAjaW5jbHVkZSA8bGltaXRzPgogI2luY2x1ZGUgPHN0ZGxpYi5oPgotI2lu
Y2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAogI2lmIE9TKFNPTEFSSVMpCiAjaW5jbHVkZSA8
aWVlZWZwLmg+CkBAIC0yNjAsMjUgKzI1OSw0IEBAIHVzaW5nIHN0ZDo6aXNuYW47CiB1c2luZyBz
dGQ6OnNpZ25iaXQ7CiAjZW5kaWYKIAotLy8gZGVjb21wb3NlICdudW1iZXInIHRvIGl0cyBzaWdu
LCBleHBvbmVudCwgYW5kIG1hbnRpc3NhIGNvbXBvbmVudHMuCi0vLyBUaGUgcmVzdWx0IGlzIGlu
dGVycHJldGVkIGFzOgotLy8gICAgIChzaWduID8gLTEgOiAxKSAqIHBvdygyLCBleHBvbmVudCkg
KiAobWFudGlzc2EgLyAoMSA8PCA1MikpCi1pbmxpbmUgdm9pZCBkZWNvbXBvc2VEb3VibGUoZG91
YmxlIG51bWJlciwgYm9vbCYgc2lnbiwgaW50MzJfdCYgZXhwb25lbnQsIHVpbnQ2NF90JiBtYW50
aXNzYSkKLXsKLSAgICBBU1NFUlQoaXNmaW5pdGUobnVtYmVyKSk7Ci0KLSAgICBzaWduID0gc2ln
bmJpdChudW1iZXIpOwotCi0gICAgdWludDY0X3QgYml0cyA9IFdURjo6Yml0d2lzZV9jYXN0PHVp
bnQ2NF90PihudW1iZXIpOwotICAgIGV4cG9uZW50ID0gKHN0YXRpY19jYXN0PGludDMyX3Q+KGJp
dHMgPj4gNTIpICYgMHg3ZmYpIC0gMHgzZmY7Ci0gICAgbWFudGlzc2EgPSBiaXRzICYgMHhGRkZG
RkZGRkZGRkZGdWxsOwotCi0gICAgLy8gQ2hlY2sgZm9yIHplcm8vZGVub3JtYWwgdmFsdWVzOyBp
ZiBzbywgYWRqdXN0IHRoZSBleHBvbmVudCwKLSAgICAvLyBpZiBub3QgaW5zZXJ0IHRoZSBpbXBs
aWNpdCwgb21pdHRlZCBsZWFkaW5nIDEgYml0LgotICAgIGlmIChleHBvbmVudCA9PSAtMHgzZmYp
Ci0gICAgICAgIGV4cG9uZW50ID0gbWFudGlzc2EgPyAtMHgzZmUgOiAwOwotICAgIGVsc2UKLSAg
ICAgICAgbWFudGlzc2EgfD0gMHgxMDAwMDAwMDAwMDAwMHVsbDsKLX0KLQogI2VuZGlmIC8vICNp
Zm5kZWYgV1RGX01hdGhFeHRyYXNfaApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IDBmZGVjODkyYzY4YTdhNjVhZTZjZjE4YzAyMmY2MTc2OTg3MDNj
YjAuLmY5NTczMjZmMDFmZDM5ODAyNGMwZjJkNTI2NzQ5M2VjOWFjNjllMTMgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxMS0wNy0wMyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisK
KyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjkwMzQ3LgorICAgICAgICBodHRwOi8v
dHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC85MDM0NworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM4ODYKKworICAgICAgICBCdWlsZCBicmVha3Mgb24g
TGVvcGFyZCwgQ2hyb21pdW0td2luLCBXaW5DYWlybywgYW5kIFdpbkNFLgorICAgICAgICAoUmVx
dWVzdGVkIGJ5IHRrZW50IG9uICN3ZWJraXQpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUv
Rm9yd2FyZGluZ0hlYWRlcnMvd3RmL1N0ZExpYkV4dHJhcy5oOiBSZW1vdmVkLgorCiAyMDExLTA3
LTAzICBEYW5pZWwgQmF0ZXMgIDxkYmF0ZXNAd2Via2l0Lm9yZz4KIAogICAgICAgICBJbXBvcnQg
Q2hlY2tvdXQgaW4gc2NtX3VuaXR0ZXN0cy5weSBhbmQgbG9nZ2luZyBpbiBzdm4ucHkgdG8gZml4
CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYv
U3RkTGliRXh0cmFzLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9Gb3J3YXJkaW5nSGVhZGVycy93
dGYvU3RkTGliRXh0cmFzLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMyMjJlYzFm
MWUyZGZhYmU3ZTNjN2NkMTA2MDkyNzI0Y2ZmYmU1MjkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvRm9yd2FyZGluZ0hl
YWRlcnMvd3RmL1N0ZExpYkV4dHJhcy5oCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL1N0ZExpYkV4dHJhcy5oPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>