GNU bug report logs - #77924
31.0.50; [Feature branch] Change marker implementation

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Gerd Möllmann <gerd.moellmann@HIDDEN>; dated Sat, 19 Apr 2025 16:06:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 19:53:17 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 15:53:17 2025
Received: from localhost ([127.0.0.1]:41528 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u82dJ-00056w-Aa
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 15:53:17 -0400
Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]:54458)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u82dF-00056K-3f
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 15:53:15 -0400
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-39c13fa05ebso975280f8f.0
 for <77924 <at> debbugs.gnu.org>; Thu, 24 Apr 2025 12:53:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745524387; x=1746129187; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=QPHa1NUJSZEEcB4YYObbYARmR08KNT8YvJrQzwdg4uQ=;
 b=iKETf/dL8xHSDOqZKqIKJiEu7ckUpyyu00lG6dj4ZRVn73I2ZsEa2VEDnvGTjpylJI
 /+qi8Y7KGtWb0XMPyDXr+RKqIIwztjg5TEnM3d+KSX+mHqDk0NFqSnVNh1EVZAIgIXp4
 pARa/jD6xGnhHIeH9i0RhNGlTZZ+8GUsBx+vOoIN9ClnC6Dtdd7ipFuDepTR/kRun/XT
 mUquzhZSMROzs0KtJH9mrvE+PK7qp0PTlJDzVF7nNBziQxUAXveGSinK1aC3JZtZT8DN
 bmanw4gtKkaHItBl8d0c0H26/M4jcEZ770Ol9eg+RErduZeoGgbYYF7QtN5dFhI/lf+i
 HPDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745524387; x=1746129187;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=QPHa1NUJSZEEcB4YYObbYARmR08KNT8YvJrQzwdg4uQ=;
 b=rZwTb8eIngWYmf5aXf3gOYMdb2hWt9p9Z7nViHk/IeGzofm0xPJxmdMs5yeeX/jZkq
 I0QFuDlyaDLU7++hFsz4+2ynkOE6fkytdzyqH41Qvq0+5YQ2VaWVLWfrkRVW+1zle2Bs
 3JG51XI4I+TaKrK8DvaaIQGcG/WQSbFkVkegoaAoaAaai6a0aJQdWQpThcuknJlzz51l
 BgXJN0TP2rrOKjdTcth4Wt3rHWcdj5ffMRlP9Yo1YlTbJ2tSA2FOaaSo9VS6v+PB9EwM
 Qo7R7JpjmFWOZxnHoAoLSqjFK5tpN1Wg0a5T263txYNTLqFizVPyqpvdsYQXXwJIqtjk
 Y2JQ==
X-Forwarded-Encrypted: i=1;
 AJvYcCXIvr89oy6hm0NOOSD3AthAanUM5Bj1zudhnZyCk7Xn0VGlOdFSSTTQ43gN3+DKOD3Fp6OYpw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YywSuVtvbLJRf8yz5YD8Yc2HgXc5G+EgmkIVxbihpCi1erytWfa
 f01fFvaf+gyIs++3NXG3HoogYsIAFG1+nnBxvSJg7bd0smGrFyS4
X-Gm-Gg: ASbGncuGGOZMs3lqorq3V9Ns4Imnd8CZv472Fg5OBRUcCxp3V5aP3PzHUnbcHeR5OhV
 dgcKuxz+xG4IzrlC5rbV+kJic6pI3ahGpGyX6ZZ7ymL7EAo3enRBh0cYF4z2S41hWJGSpYrjmgs
 NrKVs+4POuLG+3yZ5GsiGrfJ2QN1+iCRrBh9QC2pnB1nrOMjwWdoqjsqk6J/rVKzVYmr3Q9Ct5A
 9VTDtOUw6jsv8FVqyY4WQ33L/hPXWZHP4HMNHFL7BN54ppJK+jIAjaiELjLTyobk8r10tZZcuZe
 Bn7+o7xB9tX8TtBxu7FV1vcE/YoiXCE56QCj1xB39mHNMvJ8y7djgl8kgjWmHgn7k3NQKunC7ue
 Bwprx4lZiAAXQzk9QNWiDHAzJiVF7L1KM/FpDxDDruhclh9EJSg==
X-Google-Smtp-Source: AGHT+IG0leP7OrF+9rm2Gx1u5SmiQtEMXgTlk1ePYxRXVk3L00UiUuxam1R0ZoKEcg/Tze9WgomrSA==
X-Received: by 2002:a5d:47aa:0:b0:39d:724f:a8cd with SMTP id
 ffacd0b85a97d-3a072ad9c43mr489800f8f.35.1745524386796; 
 Thu, 24 Apr 2025 12:53:06 -0700 (PDT)
Received: from pro2 (p200300e0b70e65008c33e61e626c43d3.dip0.t-ipconnect.de.
 [2003:e0:b70e:6500:8c33:e61e:626c:43d3])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3a073ca5debsm230680f8f.38.2025.04.24.12.53.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 24 Apr 2025 12:53:06 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Pip Cet <pipcet@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <87r01hnyya.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN> <m234e0xo35.fsf@HIDDEN>
 <m2frhzbi1y.fsf@HIDDEN> <861ptj10kb.fsf@HIDDEN>
 <m2zfg7nh42.fsf@HIDDEN> <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN>
 <86plh3ym7l.fsf@HIDDEN> <865xitzsek.fsf@HIDDEN>
 <m2tt6dbk3c.fsf@HIDDEN> <87r01hnyya.fsf@HIDDEN>
Date: Thu, 24 Apr 2025 21:53:05 +0200
Message-ID: <m2ikmtbala.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: Eli Zaretskii <eliz@HIDDEN>, monnier@HIDDEN,
 77924 <at> debbugs.gnu.org, stefankangas@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Pip Cet <pipcet@HIDDEN> writes:

> Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:
>
>> Eli Zaretskii <eliz@HIDDEN> writes:
>>
>>>> +  DO_MARKERS (b, m)
>>>> +    {
>>>> +      if (!vectorlike_marked_p (&m->header))
>>>> +	marker_vector_remove (XVECTOR (BUF_MARKERS (b)), m);
>>>> +    }
>>>> +  END_DO_MARKERS;
>>>
>>> Would it be possible not to introduce macros that modify the C syntax?
>>> These are problematic for more than one reason (one being that they
>>> are not recognized by C modes we use).  We have macros whose names
>>> start with FOR_EACH_ (like FOR_EACH_FRAME); can we introduce
>>> FOR_EACH_MARKER instead, and not hide opening/closing braces inside
>>> macros?
>>
>> I tried, already in igc, but failed. IOW, I don't now a way to get rid
>> of the END_DO_MARKERS.
>
> Okay, I'll bite.

:-)

> I think what we should do is mimic FOR_EACH_TAIL, and use
> FOR_EACH_MARKER like this:
>
> struct Lisp_Marker *m;
> FOR_EACH_MARKER (b, m)
>   {
>     /* do something with m */
>   }

We need an if somewhere for the MARKERP, don't we? So...

> However, if we wanted to, we could do this (the "continued" thing is
> overkill to make "break" work in a FOR_EACH_MARKER loop):

... we'll need this.

The continued thing is quite clever, didn't think of it. I dismissed the
two for loops because of the break/continue. So, since it's already
done, and can be pilfered, that's fine with me :-). Let's see if the
others find it too complicated.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 19:26:30 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 15:26:30 2025
Received: from localhost ([127.0.0.1]:41362 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u82DM-0003Hy-HG
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 15:26:30 -0400
Received: from mail-24418.protonmail.ch ([109.224.244.18]:38613)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <pipcet@HIDDEN>)
 id 1u82DI-0003HS-1p
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 15:26:26 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail3; t=1745522776; x=1745781976;
 bh=S6O1uIRUHlQqMBSBOLG/aKN0wz58JSiPU5lFf5zrmCk=;
 h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
 b=olL9chZDu3uNhAiZP3aa9cPVQMNXcJ/XvVH/ganyFYVWyGOffM5uhDWDKcHHPPdMV
 FexlRqI3f3PyxL++NAq3S5/h7AvG0vwVoPHwATGMP8QQNrdbWMQrljpmVxFpCfADLt
 btxcYmWT/bT5vHwiVVDt1g/9wi0DZ5wrFOsp0JmAinOPfCEH3jNPxTCqu8LovB8SF7
 Hn+L5MCwiXP8SXqtyYdo34/PJTyYsA+5qSDa+RFT5CoZddwsdS3HCdncrOx2skQfKT
 XeIP+mhusfU0kH/SLax/qjMjqtPMeHdlI38YEglwrtA8d51H9ykTdn7wX536hWuiyy
 LJCuTee8wKkhQ==
Date: Thu, 24 Apr 2025 19:26:10 +0000
To: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
From: Pip Cet <pipcet@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
Message-ID: <87r01hnyya.fsf@HIDDEN>
In-Reply-To: <m2tt6dbk3c.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN> <m234e0xo35.fsf@HIDDEN>
 <m2frhzbi1y.fsf@HIDDEN> <861ptj10kb.fsf@HIDDEN>
 <m2zfg7nh42.fsf@HIDDEN> <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN>
 <86plh3ym7l.fsf@HIDDEN> <865xitzsek.fsf@HIDDEN> <m2tt6dbk3c.fsf@HIDDEN>
Feedback-ID: 112775352:user:proton
X-Pm-Message-ID: 04c9bb4fba03fe4d0493e297c4a22a249b6e6071
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: Eli Zaretskii <eliz@HIDDEN>, monnier@HIDDEN,
 77924 <at> debbugs.gnu.org, stefankangas@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:

> Eli Zaretskii <eliz@HIDDEN> writes:
>
>>> +  DO_MARKERS (b, m)
>>> +    {
>>> +      if (!vectorlike_marked_p (&m->header))
>>> +=09marker_vector_remove (XVECTOR (BUF_MARKERS (b)), m);
>>> +    }
>>> +  END_DO_MARKERS;
>>
>> Would it be possible not to introduce macros that modify the C syntax?
>> These are problematic for more than one reason (one being that they
>> are not recognized by C modes we use).  We have macros whose names
>> start with FOR_EACH_ (like FOR_EACH_FRAME); can we introduce
>> FOR_EACH_MARKER instead, and not hide opening/closing braces inside
>> macros?
>
> I tried, already in igc, but failed. IOW, I don't now a way to get rid
> of the END_DO_MARKERS.

Okay, I'll bite.

I think what we should do is mimic FOR_EACH_TAIL, and use
FOR_EACH_MARKER like this:

struct Lisp_Marker *m;
FOR_EACH_MARKER (b, m)
  {
    /* do something with m */
  }

However, if we wanted to, we could do this (the "continued" thing is
overkill to make "break" work in a FOR_EACH_MARKER loop):

diff --git a/src/marker-vector.h b/src/marker-vector.h
index 141e79ac0ee..bfca02fc33d 100644
--- a/src/marker-vector.h
+++ b/src/marker-vector.h
@@ -39,27 +39,55 @@ #define EMACS_MARKER_VECTOR_H
   MARKER_VECTOR_ENTRY_SIZE =3D 2,
 };
=20
-/* Iterate over markers in marker vector MV, binding a variable with
-   name M to a pointer to Lisp_Marker.  The loop must be ended
-   with an END_DO_MARKERS.  */
-
-# define DO_MARKERS_OF_VECTOR(mv, m)=09=09=09=09=09\
-  for (ptrdiff_t e_ =3D MARKER_VECTOR_HEADER_SIZE,=09=09=09\
-=09 end_ =3D XFIXNUM (AREF (mv, MARKER_VECTOR_MAX_ENTRY));=09=09\
-       e_ <=3D end_;=09=09=09=09=09=09=09\
-       e_ +=3D MARKER_VECTOR_ENTRY_SIZE)=09=09=09=09=09\
-    {=09=09=09=09=09=09=09=09=09\
-       Lisp_Object m_ =3D AREF (mv, e_ + MARKER_VECTOR_OFFSET_MARKER);=09\
-       if (MARKERP (m_))=09=09=09=09=09=09\
-=09 {=09=09=09=09=09=09=09=09\
-            struct Lisp_Marker *m =3D XMARKER (m_);
-
-/* Iterate over markers of buffer B, binding a variable with name M to a
-   pointer to Lisp_Marker.  The loop must be ended with an
-   END_DO_MARKERS.  */
-
-# define DO_MARKERS(b, m) DO_MARKERS_OF_VECTOR (BUF_MARKERS (b), m)
-# define END_DO_MARKERS }}
+struct for_each_marker_data
+{
+  ptrdiff_t e;
+  ptrdiff_t end;
+  Lisp_Object m;
+  Lisp_Object mv;
+  bool continued;
+  struct Lisp_Marker *marker;
+};
+
+INLINE struct for_each_marker_data
+build_for_each_marker_data(Lisp_Object mv)
+{
+  struct for_each_marker_data ret;
+  ret.e =3D MARKER_VECTOR_HEADER_SIZE;
+  ret.end =3D XFIXNUM (AREF (mv, MARKER_VECTOR_MAX_ENTRY));
+  ret.m =3D Qnil;
+  ret.mv =3D mv;
+  ret.marker =3D NULL;
+  ret.continued =3D true;
+  return ret;
+}
+
+INLINE bool
+next_marker_entry (struct for_each_marker_data *d)
+{
+  if (!d->continued)
+    return false;
+  while (d->e <=3D d->end)
+    {
+      d->m =3D AREF (d->mv, d->e + MARKER_VECTOR_OFFSET_MARKER);
+      d->e +=3D MARKER_VECTOR_ENTRY_SIZE;
+      if (MARKERP (d->m))
+=09{
+=09  d->marker =3D XMARKER (d->m);
+=09  d->continued =3D false;
+=09  return true;
+=09}
+    }
+  return false;
+}
+
+#define FOR_EACH_MARKER_OF_VECTOR(v, m)=09=09=09=09=09\
+  for (struct for_each_marker_data d_ =3D build_for_each_marker_data (v); =
\
+       next_marker_entry (&d_);)=09=09=09=09=09\
+    for (struct Lisp_Marker *m =3D d_.marker; !d_.continued; d_.continued =
=3D true)
+
+#define FOR_EACH_MARKER(b, m) \
+  FOR_EACH_MARKER_OF_VECTOR(BUF_MARKERS (b), m)
=20
 Lisp_Object make_marker_vector (void);
 Lisp_Object alloc_marker_vector (ptrdiff_t len);
diff --git a/src/alloc.c b/src/alloc.c
index c90f60ee518..30bdd1140b8 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -7114,12 +7114,11 @@ sweep_symbols (void)
 static void
 unchain_dead_markers (struct buffer *b)
 {
-  DO_MARKERS (b, m)
+  FOR_EACH_MARKER (b, m)
     {
       if (!vectorlike_marked_p (&m->header))
 =09marker_vector_remove (XVECTOR (BUF_MARKERS (b)), m);
     }
-  END_DO_MARKERS;
 }
=20
 NO_INLINE /* For better stack traces */
diff --git a/src/buffer.c b/src/buffer.c
index 93a2edb3693..21b6096517d 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -2073,12 +2073,11 @@ DEFUN ("kill-buffer", Fkill_buffer, Skill_buffer, 0=
, 1, "bKill buffer: ",
       /* Unchain all markers that belong to this indirect buffer.
 =09 Don't unchain the markers that belong to the base buffer
 =09 or its other indirect buffers.  */
-      DO_MARKERS (b, m)
+      FOR_EACH_MARKER (b, m)
 =09{
 =09  if (m->buffer =3D=3D b)
 =09    marker_vector_remove (XVECTOR (BUF_MARKERS (b)), m);
 =09}
-      END_DO_MARKERS;
=20
      /* Intervals should be owned by the base buffer (Bug#16502).  */
       i =3D buffer_intervals (b);
@@ -2618,7 +2617,7 @@ #define swapfield_(field, type) \
   other_buffer->text->end_unchanged =3D other_buffer->text->gpt;
   swap_buffer_overlays (current_buffer, other_buffer);
   {
-    DO_MARKERS (current_buffer, m)
+    FOR_EACH_MARKER (current_buffer, m)
       {
 =09if (m->buffer =3D=3D other_buffer)
 =09  m->buffer =3D current_buffer;
@@ -2627,8 +2626,7 @@ #define swapfield_(field, type) \
 =09     BUF_MARKERS(buf) should either be for `buf' or dead.  */
 =09  eassert (!m->buffer);
       }
-    END_DO_MARKERS;
-    DO_MARKERS (other_buffer, m)
+    FOR_EACH_MARKER (other_buffer, m)
       {
 =09if (m->buffer =3D=3D current_buffer)
 =09  m->buffer =3D other_buffer;
@@ -2637,7 +2635,6 @@ #define swapfield_(field, type) \
 =09     BUF_MARKERS(buf) should either be for `buf' or dead.  */
 =09  eassert (!m->buffer);
       }
-    END_DO_MARKERS;
   }
=20
   { /* Some of the C code expects that both window markers of a
@@ -2746,12 +2743,11 @@ DEFUN ("set-buffer-multibyte", Fset_buffer_multibyt=
e, Sset_buffer_multibyte,
       GPT =3D GPT_BYTE;
       TEMP_SET_PT_BOTH (PT_BYTE, PT_BYTE);
=20
-      DO_MARKERS (current_buffer, tail)
+      FOR_EACH_MARKER (current_buffer, tail)
 =09{
 =09  const ptrdiff_t bytepos =3D marker_vector_bytepos (tail);
 =09  marker_vector_set_charpos (tail, bytepos);
 =09}
-      END_DO_MARKERS;
=20
       /* Convert multibyte form of 8-bit characters to unibyte.  */
       pos =3D BEG;
@@ -2901,13 +2897,12 @@ DEFUN ("set-buffer-multibyte", Fset_buffer_multibyt=
e, Sset_buffer_multibyte,
 =09TEMP_SET_PT_BOTH (position, byte);
       }
=20
-      DO_MARKERS (current_buffer, tail)
+      FOR_EACH_MARKER (current_buffer, tail)
 =09{
 =09  ptrdiff_t bytepos =3D marker_vector_bytepos (tail);
 =09  bytepos =3D advance_to_char_boundary (bytepos);
 =09  marker_vector_set_charpos (tail, BYTE_TO_CHAR (bytepos));
 =09}
-      END_DO_MARKERS;
=20
       /* Do this last, so it can calculate the new correspondences
 =09 between chars and bytes.  */
diff --git a/src/coding.c b/src/coding.c
index f3dd2639e73..51c87fb3161 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -8118,14 +8118,13 @@ decode_coding_object (struct coding_system *coding,
 =09move_gap_both (from, from_byte);
       if (BASE_EQ (src_object, dst_object))
 =09{
-=09  DO_MARKERS (current_buffer, tail)
+=09  FOR_EACH_MARKER (current_buffer, tail)
 =09    {
 =09      const ptrdiff_t charpos =3D marker_vector_charpos (tail);
 =09      tail->need_adjustment
 =09=09=3D charpos =3D=3D (tail->insertion_type ? from : to);
 =09      need_marker_adjustment |=3D tail->need_adjustment;
 =09    }
-=09  END_DO_MARKERS;
 =09  saved_pt =3D PT, saved_pt_byte =3D PT_BYTE;
 =09  TEMP_SET_PT_BOTH (from, from_byte);
 =09  current_buffer->text->inhibit_shrinking =3D true;
@@ -8250,7 +8249,7 @@ decode_coding_object (struct coding_system *coding,
=20
       if (need_marker_adjustment)
 =09{
-=09  DO_MARKERS (current_buffer, tail)
+=09  FOR_EACH_MARKER (current_buffer, tail)
 =09    {
 =09      if (tail->need_adjustment)
 =09=09{
@@ -8269,7 +8268,6 @@ decode_coding_object (struct coding_system *coding,
 =09=09    }
 =09=09}
 =09    }
-=09  END_DO_MARKERS;
 =09}
     }
=20
@@ -8340,14 +8338,13 @@ encode_coding_object (struct coding_system *coding,
   if (BASE_EQ (src_object, dst_object) && BUFFERP (src_object))
     {
       same_buffer =3D true;
-      DO_MARKERS (XBUFFER (src_object), tail)
+      FOR_EACH_MARKER (XBUFFER (src_object), tail)
 =09{
 =09  const ptrdiff_t charpos =3D marker_vector_charpos (tail);
 =09  tail->need_adjustment
 =09    =3D charpos =3D=3D (tail->insertion_type ? from : to);
 =09  need_marker_adjustment |=3D tail->need_adjustment;
 =09}
-      END_DO_MARKERS;
     }
=20
   if (! NILP (CODING_ATTR_PRE_WRITE (attrs)))
@@ -8505,7 +8502,7 @@ encode_coding_object (struct coding_system *coding,
=20
       if (need_marker_adjustment)
 =09{
-=09  DO_MARKERS (current_buffer, tail)
+=09  FOR_EACH_MARKER (current_buffer, tail)
 =09    {
 =09      if (tail->need_adjustment)
 =09=09{
@@ -8524,7 +8521,6 @@ encode_coding_object (struct coding_system *coding,
 =09=09    }
 =09=09}
 =09    }
-=09  END_DO_MARKERS;
 =09}
     }
=20
diff --git a/src/editfns.c b/src/editfns.c
index 61cb7bdd201..b96275dc0a3 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -4438,7 +4438,7 @@ transpose_markers (ptrdiff_t start1, ptrdiff_t end1,
   amt1 =3D (end2 - start2) + (start2 - end1);
   amt2 =3D (end1 - start1) + (start2 - end1);
=20
-  DO_MARKERS (current_buffer, marker)
+  FOR_EACH_MARKER (current_buffer, marker)
     {
       mpos =3D marker_vector_charpos (marker);
       if (mpos >=3D start1 && mpos < end2)
@@ -4452,7 +4452,6 @@ transpose_markers (ptrdiff_t start1, ptrdiff_t end1,
 =09}
       marker_vector_set_charpos (marker, mpos);
     }
-  END_DO_MARKERS;
 }
=20
 DEFUN ("transpose-regions", Ftranspose_regions, Stranspose_regions, 4, 5,
diff --git a/src/marker-vector.c b/src/marker-vector.c
index b65bbe15845..cd2603f9561 100644
--- a/src/marker-vector.c
+++ b/src/marker-vector.c
@@ -164,7 +164,7 @@ check_marker_vector (struct Lisp_Vector *v, bool alloca=
ting)
=20
   size_t nused =3D 0;
   Lisp_Object mv =3D make_lisp_ptr (v, Lisp_Vectorlike);
-  DO_MARKERS_OF_VECTOR (mv, m)
+  FOR_EACH_MARKER_OF_VECTOR (mv, m)
     {
       eassert (m->entry =3D=3D e_);
       eassert (m->buffer !=3D NULL);
@@ -175,7 +175,6 @@ check_marker_vector (struct Lisp_Vector *v, bool alloca=
ting)
 =09}
       ++nused;
     }
-  END_DO_MARKERS;
=20
   eassert ((nused + nfree) * MARKER_VECTOR_ENTRY_SIZE
 =09   + MARKER_VECTOR_HEADER_SIZE =3D=3D gc_vsize (v));
@@ -286,11 +285,10 @@ marker_vector_reset (struct buffer *b)
   /* The old GC contains at least one assertion that unchaining markers
      in kill-buffer resets the markers' buffers.  IGC does not do this,
      can't do this, and does not need it.  */
-  DO_MARKERS (b, m)
+  FOR_EACH_MARKER (b, m)
     {
       m->buffer =3D NULL;
     }
-  END_DO_MARKERS;
   BUF_MARKERS (b) =3D Qnil;
 }
=20
@@ -348,7 +346,7 @@ marker_vector_adjust_for_insert (struct buffer *b,
 {
   const ptrdiff_t nchars =3D to_charpos - from_charpos;
   struct Lisp_Vector *v =3D XVECTOR (BUF_MARKERS (b));
-  DO_MARKERS (b, m)
+  FOR_EACH_MARKER (b, m)
     {
       const ptrdiff_t charpos =3D XFIXNUM (CHARPOS (v, m->entry));
       if (charpos =3D=3D from_charpos)
@@ -359,7 +357,6 @@ marker_vector_adjust_for_insert (struct buffer *b,
       else if (charpos > from_charpos)
 =09CHARPOS (v, m->entry) =3D make_fixnum (charpos + nchars);
     }
-  END_DO_MARKERS;
 }
=20
 /* Adjust marker positions of buffer Bs for a replacement of text at
@@ -375,7 +372,7 @@ marker_vector_adjust_for_replace (struct buffer *b,
   const ptrdiff_t diff_nchars =3D new_nchars - old_nchars;
   const ptrdiff_t old_to_charpos =3D from_charpos + old_nchars;
   struct Lisp_Vector *v =3D XVECTOR (BUF_MARKERS (b));
-  DO_MARKERS (b, m)
+  FOR_EACH_MARKER (b, m)
     {
       const ptrdiff_t charpos =3D XFIXNUM (CHARPOS (v, m->entry));
       if (charpos >=3D old_to_charpos)
@@ -383,5 +380,4 @@ marker_vector_adjust_for_replace (struct buffer *b,
       else if (charpos > from_charpos)
 =09CHARPOS (v, m->entry) =3D make_fixnum (from_charpos);
     }
-  END_DO_MARKERS;
 }
diff --git a/src/undo.c b/src/undo.c
index 65de0bd4e13..3e63c8af3f9 100644
--- a/src/undo.c
+++ b/src/undo.c
@@ -128,7 +128,7 @@ record_marker_adjustments (ptrdiff_t from, ptrdiff_t to=
)
 {
   prepare_record ();
=20
-  DO_MARKERS (current_buffer, m)
+  FOR_EACH_MARKER (current_buffer, m)
     {
       ptrdiff_t charpos =3D marker_vector_charpos (m);
       eassert (charpos <=3D Z);
@@ -154,7 +154,6 @@ record_marker_adjustments (ptrdiff_t from, ptrdiff_t to=
)
             }
         }
     }
-  END_DO_MARKERS;
 }
=20
 /* Record that a deletion is about to take place, of the characters in


Note that "m" appears only once, so there is another possibility:

FOR_EACH_MARKER (v, struct Lisp_Marker *m)
  {
    /* do something with m */
  }


I'm not saying any of this is a good idea, but it appears possible.

Pip





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 18:25:23 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 14:25:23 2025
Received: from localhost ([127.0.0.1]:41089 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u81GC-00081B-9a
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 14:25:22 -0400
Received: from mail-pl1-x644.google.com ([2607:f8b0:4864:20::644]:52582)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <visuweshm@HIDDEN>)
 id 1u81G8-0007wW-1v
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 14:25:17 -0400
Received: by mail-pl1-x644.google.com with SMTP id
 d9443c01a7336-223fd89d036so18072115ad.1
 for <77924 <at> debbugs.gnu.org>; Thu, 24 Apr 2025 11:25:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745519109; x=1746123909; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=RoWpk8IzzWQfe6zsmYUWErMlllzg569+kKHJqeG46tw=;
 b=FYjYHE1Y6UMyws4yyFvvwUY/vHSiodlwG8x5CGdZDdKR1tN/J5Z4r96tkSkQOVHPC8
 90Hofrn/v+jGnwSPmGvmGYoletQdEQyGscMKPwCeV4WIRluH3lCNtDWR+JI6ijG3Rjp9
 1rYu7OxQOgkKCrNWi+x+OEfNzASTE5tS1sAIvYjmocxC5ofVSJCZ3OSO2kyTEIdJ7Kus
 OGCkh2ZQiV8h5UkWstu1l1N800uwbs6kjFmF+a6odlLqVyyfx63cjNjH98t2WKJa1t1H
 hj4OxziPU4nC0Rfgr5joR6493qqXMZpvqVjPOi+Nk6d/0VGhPm/ZBZxV7gI2r28aPBhn
 7gMA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745519109; x=1746123909;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=RoWpk8IzzWQfe6zsmYUWErMlllzg569+kKHJqeG46tw=;
 b=UWz8fGErTXLyavMa46bE8uA+jBN21uEACOrjxS9JZEfO8cLxqthGW9Oyv6WBIrnZqo
 WoJwSCuCXAR/oebFWLnjD1XY5HB4cQZCTUApXRrAkoXuALH92UT2jwpcyHHnHpIysklb
 WsLzg6QenHKNfuzP6Zy9R4+BY+qePu+K8aRQ2efVgshQu9pWa29XIoQXQV6e5tGZRyxw
 G6FYQ/R/WeFkHjoaxhftmNiDFNCmfkuO88tbKJpYmxZlorBe1OpwbrWWkYfyi/ufsHG5
 uDKqLn9iWXmdcFYQK/yoIMNa9DzcA4HUf6ZkAeuOaxjompMIaGbm4mnIcCam6yCyNu9n
 Vktg==
X-Forwarded-Encrypted: i=1;
 AJvYcCXn+QRFJNUHR1lEnVxbuKdqMH5q6NXr0hDX8fPkZc+eu/dfTJ7sWpQb0/bYnAaFacaxCelXmw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YzM72QCppFHE5bcMU08uOvETnbshZtQ63DgZPntoyBWTqi6ePFX
 ooDx/H3Fgv0PL+edPgd+dsiu57n8vqBQKvBQh9z1jJV/ZNOwC+yv
X-Gm-Gg: ASbGncuLVA2UpcXSjxA+xO1KYFwj9pKp70/RYuJeyDP5uqGxBZAxOJ8E/mOGuhHzD24
 Xtz3AOCS5EF5ftJu7awnyZXBuH3srGQicpeKnZB+BdPtpgkdNgOwYwGTRFfszqFN9V1/4aI+0S2
 lKKMOThQpa4cl1b7tzz5S9FSGuY/kz/8IkZhIQYdOCutHZwM58Qd476u9iFsp3UXUekcpPKS66y
 0vjyjLIwFWXSVpiBiURG6UHzQ2msDvxO/ka5GvcB6AEbt1KcrNLXSkFYOY4FrDg75ej0eIsxGmi
 cUPiE1jqnXQGzEb+rFPPgLoauXZPFbxfWoG18E6FNA==
X-Google-Smtp-Source: AGHT+IFSxgvTwrncWdlBWolH6VxazZezDFIEgLFs2nEfS60sbDpdBB69vVxCQ62jDX43D70jT0XlKA==
X-Received: by 2002:a17:902:d4ce:b0:216:6283:5a8c with SMTP id
 d9443c01a7336-22dbd460b20mr6495735ad.39.1745519109355; 
 Thu, 24 Apr 2025 11:25:09 -0700 (PDT)
Received: from localhost ([1.7.159.71]) by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-22db5104da6sm16847965ad.205.2025.04.24.11.25.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 24 Apr 2025 11:25:08 -0700 (PDT)
From: Visuwesh <visuweshm@HIDDEN>
To: Gerd =?utf-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <m2plh1bjwf.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN> <jwvecxiga9d.fsf-monnier+emacs@HIDDEN>
 <86msc6ywyx.fsf@HIDDEN> <m2ikmunmiq.fsf@HIDDEN>
 <86cyd2yp45.fsf@HIDDEN> <m2a586neq2.fsf@HIDDEN>
 <jwvzfg5zgpf.fsf-monnier+emacs@HIDDEN> <m2plh1bjwf.fsf@HIDDEN>
Date: Thu, 24 Apr 2025 23:55:05 +0530
Message-ID: <87v7qtto1q.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: Eli Zaretskii <eliz@HIDDEN>, yantar92@HIDDEN,
 Stefan Monnier <monnier@HIDDEN>, 77924 <at> debbugs.gnu.org,
 stefankangas@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

[=E0=AE=B5=E0=AE=BF=E0=AE=AF=E0=AE=BE=E0=AE=B4=E0=AE=A9=E0=AF=8D =E0=AE=8F=
=E0=AE=AA=E0=AF=8D=E0=AE=B0=E0=AE=B2=E0=AF=8D 24, 2025] Gerd M=C3=B6llmann =
wrote:

>> So the benchmark tests scroll time, including jit/font-lock time.
>> It uses its own copy of a major mode, so that you can compare "scroll +
>> font-lock" performance between different Emacs releases without being
>> affected by improvements/regressions in CC-mode itself.
>
> So maybe it would make sense to run both that benchmark as-is plus one
> without smie but with tamil.txt, I guess. Or in other words, now only
> the as-is benchmark, because the tamil.txt results I've already posted.

Before including tamil.txt, I would like to make clear that the file
contents is volume 1 of a (popular) novel which was released in the 50s.
I got the text itself from Project Madurai which states that [1]:

    Acknowledgement:
    Our Sincere thanks go to the following persons for their assistance in =
the preparation of this work.
    Etext preparation : AU-KBC Research Center (Mr. Baskaran), Anna Univers=
ity, Chennai,India
    Proof-reading: Mr. S. Anbumani, Mr. N.D. Logasundaram,Mr. Narayanan Gov=
indarajan,
    Ms. Pavithra Srinivasan, Mr. Ramachandran Mahadevan, Ms. Sathya, Mr. Sr=
eeram Krishnamoorthy,
    Dr. Sridhar Rathinam, Mrs. Srilatha Rajagopal, Mr. VinothJagannathan
    Web version: Mr. S. Anbumani, Blacksburg, Virginia, USA

    This webpage presents the Etxt in Tamil script in Unicode encoding.
    This file was last revised on Apr. 12, 2003

    =C2=A9 Project Madurai, 1998-2021.
    Project Madurai is an open, voluntary, worldwide initiative devoted to =
preparation
    of electronic texts of tamil literary works and to distribute them free=
 on the Internet.
    Details of Project Madurai are available at the website
    https://www.projectmadurai.org/
    You are welcome to freely distribute this file, provided this header pa=
ge is kept intact.=20=20=20

So I assume there should no problem in distributing it in the repo.  If
there could be, we could try composing all the text from any work in
freetamilebooks.com which publishes under the CC BY-NC-SA license.

1. https://www.projectmadurai.org/pm_etexts/utf8/pmuni0169_00.html




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 16:32:12 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 12:32:12 2025
Received: from localhost ([127.0.0.1]:40613 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7zUi-0001KI-D2
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 12:32:12 -0400
Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]:52482)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7zUe-0001Jm-0L
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 12:32:08 -0400
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-4394a0c65fcso12675755e9.1
 for <77924 <at> debbugs.gnu.org>; Thu, 24 Apr 2025 09:32:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745512321; x=1746117121; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=1fliT/YR8A2oaPHpeu3QuxHV3vCwvGGv8CjkWUaKDbY=;
 b=WeYBYhhnN5Mlh+IWtPmmlpb73CDTeElcOFMlA//NNon4TpAFxmeuJW9TqEkSKfy2v7
 ETUUJCmw9lw3Y+WVBoCTqvUXccPSXB4bhYm5Tt34lASEIjROTzHRMWCBQLffyhPUcWLG
 DX2RaUbqFTzD4WIz0Eb8UJySIn8IPH+Iez4EP6mIqtwySwJSVIhW8IWnT+TFE9MoQ8Fd
 m09IktdiEPVT8unzaxAX7S2dDW7DljtXQfJpQqOl3pBYq+pHNYseNQGURxzztRZClHTQ
 WZrgyMhKdL7cgbyK1M6MVassmU9A7ixnT/98fLfA25bIjVe6hXrMGtKVGg2mWMnuBarA
 d75w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745512321; x=1746117121;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=1fliT/YR8A2oaPHpeu3QuxHV3vCwvGGv8CjkWUaKDbY=;
 b=oe6cJCFlEr3ucgq+V9D9/Ewaa4hz0YBQA+hatMj8G8sEO9k7xc9ru+GZfwFfVLxTlW
 dYCbT/fkHb1VNluEeR7H4HcNpj111e7M/ZOahE33xXQZmm7IBVvUYClIer3WFy0iVY5u
 XWJ564SxaXCydoLkHBfuYxogTaVboCM23++1+qeWhMjY9cYJ2eG7M6fnTWuh2DW4AtoK
 kZBsJixIeM3arAhesdMgwVTXyRxPe1zyPSiJD6y6R13JxpMj0jVl9RqzMeYWRcKhwk8r
 RbeES73QayBWn78D5tsY8LXzbRRtu0r8GqY8wRtOhrGPmx21dodcWtizBHYbPRGYBc4/
 KWnw==
X-Forwarded-Encrypted: i=1;
 AJvYcCXqcX11voCAS/aDu/xMUGZb9i48y5Vo0x9c3/gxJL3fooiBlYfu24oCzonohA6HFobARHdVPw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YzqnCkigAnwbz4eXQgCmUrrpBsBvm4Qv+5ZRLz1qyyNde8BPGp0
 WH361Q0lYNjAcjk4XPRDE+RcC5UzQZ9Xbj7dSjjuLHIZjH4VHp0u
X-Gm-Gg: ASbGncuXlV3X10k0h2k45QD0uCMYGHnT8MtoB/hSWus7AeLMjLSGIftb23l9KeM7lHY
 jD1qfrRbOeITeRRU/U8oKGPSzHSOx5NWieOsLNtGiUNTA5OmrB8zuWjOKZOVNHLlv09Bl+qfSiw
 9Bh2bhuVTQvnVWqCyoTi9dXefux5MF9qrGitoyc+smg1p8iK0GJ4hnChE7jl3jcYcUPZcw2VLKS
 Vazq7vO+qZlxQWgZ1UmHHkQVTt8PU1k4/VkH85/v929Oqczaqh2EQM7UDO1puHYEvfG9MpOxc0T
 qWll2WOMlY9vCe+j2Mx4Sxgtfp2L+HFIHeksOfLvrt3dsFefmDXfKa7jLwXhLhT/7V2/a7TVkZS
 SUpduxWniYfMEgHvyLkzkN1sb2+woqKb6K77+tcu0+M6mlCZCQA==
X-Google-Smtp-Source: AGHT+IH4SP76KuyUlfTC+VXlTE7M5gE5gVjYjKxeGnsEJAabR1QAZ/YW8hZBB5DOQjnWdK/KPkYnmQ==
X-Received: by 2002:a05:600c:83c6:b0:43c:f8fe:dd82 with SMTP id
 5b1f17b1804b1-440a310ec66mr1863355e9.18.1745512321312; 
 Thu, 24 Apr 2025 09:32:01 -0700 (PDT)
Received: from pro2 (p200300e0b70e65008c33e61e626c43d3.dip0.t-ipconnect.de.
 [2003:e0:b70e:6500:8c33:e61e:626c:43d3])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3a06d4a7ff8sm2694427f8f.13.2025.04.24.09.32.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 24 Apr 2025 09:32:00 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <jwvzfg5zgpf.fsf-monnier+emacs@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN> <jwvecxiga9d.fsf-monnier+emacs@HIDDEN>
 <86msc6ywyx.fsf@HIDDEN> <m2ikmunmiq.fsf@HIDDEN>
 <86cyd2yp45.fsf@HIDDEN> <m2a586neq2.fsf@HIDDEN>
 <jwvzfg5zgpf.fsf-monnier+emacs@HIDDEN>
Date: Thu, 24 Apr 2025 18:32:00 +0200
Message-ID: <m2plh1bjwf.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: Eli Zaretskii <eliz@HIDDEN>, yantar92@HIDDEN, stefankangas@HIDDEN,
 77924 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Stefan Monnier <monnier@HIDDEN> writes:

>>> Evaluate this, then invoke "M-x scroll-up-benchmark" in a large buffer
>>> with lots of non-ASCII characters.  Compare the timings between the
>>> two versions of Emacs.
>>
>> elb-scroll from elisp-bechmarks is basically
>>
>>       (dotimes (_ 10)
>>         (elb-smie-mode)
>>         (goto-char (point-min))
>>         (condition-case nil
>>             (while t (scroll-up nil) (redisplay 'force))
>>           (end-of-buffer nil))))))
>>
>> looks similar, but I don't know what elb-smie-mode does.
>
> It's a major mode for the C language, separate from CC-mode.
> [ It's basically "vendored" copy of the `sm-c-mode` that's on GNU
> ELPA.  ]

Ah, interesting. 

> So the benchmark tests scroll time, including jit/font-lock time.
> It uses its own copy of a major mode, so that you can compare "scroll +
> font-lock" performance between different Emacs releases without being
> affected by improvements/regressions in CC-mode itself.

So maybe it would make sense to run both that benchmark as-is plus one
without smie but with tamil.txt, I guess. Or in other words, now only
the as-is benchmark, because the tamil.txt results I've already posted.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 16:28:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 12:28:07 2025
Received: from localhost ([127.0.0.1]:40586 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7zQk-00011c-Ix
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 12:28:07 -0400
Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:48550)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7zQe-00010y-Bb
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 12:28:01 -0400
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-39c1efbefc6so935994f8f.1
 for <77924 <at> debbugs.gnu.org>; Thu, 24 Apr 2025 09:28:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745512073; x=1746116873; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=bacTVFrBpbECjWSNbEG0gGdtQGkj7y2Fh6Z3UQjhqh0=;
 b=XFiwXw3wz5dkyMtHm/W2j+KdxdwNcnpInFuzwui/GzVlTdyQBx97CX1k0fFdbqCP31
 lk32FlXLi1IuwiN3V76bp9f7CnXE1JsskYx2co/XFrwDXY2EC/yFq9XjA/k0+fOhbxb6
 GLWWTEe384rPaSBYJcWsoRjgTVZi93dI9N1jP8QPAvzcLON/vRFBKbf1DVX+LKd1jAkt
 e5xIO+t9H5ib92mas2z2a+6j8jTJAKwY9uJK+z5VTZP93Xai9dd5oPUl3ZcdxWLGq4JX
 g+LgbMZEhGcI8+Crkm3oA39IQH9ySAekINYJXb2UigyzAbmhsH+oTIeDLXNX2g4AdN+h
 yXlw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745512073; x=1746116873;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=bacTVFrBpbECjWSNbEG0gGdtQGkj7y2Fh6Z3UQjhqh0=;
 b=PEnY+aaW3gw8r+KO76CZzByx7/RUsaFiNNbOMqYH/fKGbsVrYn9fNUHp1Zah94SYwr
 UBadT+IOVmTcX8hhS5buAFe60iYTigzG2fcjklRSTvLAGvPxcmlmy97rZv/0V53WaNXA
 K2lUbMbTMlB4Ex/rQMTC9bIQmGMZAtSNJLnJHsE5XYZ+z9bJtGrRj76ovdOWdcPLTQ3o
 qAaQXKJFY1OtYSfx//tjmHEGeCiHL1Trtgt8E0UbmrliX0QW8i2GuhlKoWGfFkDQEuGx
 qIVHp5RESTGo0CnQjjFU/BdQnSGgc0d7/JM808HGRnUPXaNanGqgVHAR+d6G7if2iC7N
 8I1A==
X-Forwarded-Encrypted: i=1;
 AJvYcCXrYm9LBgQjeVtkIhyehFPNot82smsYkD/G/iTwzrw5GbozAAG/Yeo02VghRbkWA3CvEOqLdA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YxpyR+yQcwhajYQm26zqV9Os9j4NSOhGtFXOk6tpsdKHDqpRzhf
 F2yXYMvRpPLBe1ACHqMVHc5MPpYfeNs8uLwADEWBcHGsiHsflnST8UE41BCL
X-Gm-Gg: ASbGncv6Fv+Efq1mPn4T5Bwg9QfKSpORm/LO3X0DIPbVZ3uEhnpfv715dDtSkMZZjL0
 ftDM9aWyNDV6l0abVWeg0zDIINkmed/sbY/5q9YJEYAVI0K/2zDa79jRK/dE0Baslym80DfbTBT
 O8ynLJyIXHpqOahY7qOkqX6+4mUfJFWLgMN+HOl5kwALcddUmEeWT5idcDD+u7GRrIy/0mQR6ub
 hpnNzN0ByEMfrjlTqcAXKWvrRKgQubKPjYdsDMVpmt5SBMvZayojZmaqscCDfH2zXyi60gdiGp2
 CiRt5DXJMYWsCB6+BTQsgSk9NbTVI6OrTc5FhkcH0P5pt2LCUmCuHR6Px5ezDZ8Z7By3SCZ2Jf2
 F5d8QQ2esgjh8JUX+Yl2YsIokMvV8WXmooyonxoYGYL1EPErvqLSfBWROKFgn
X-Google-Smtp-Source: AGHT+IEgrgFhWuynT6rl0tqmKYIoWZeaX1ampLqZLN7XZf0Pss3p1r+p0j22HkEnZDVFDjzOl3tXAA==
X-Received: by 2002:a5d:47a9:0:b0:39a:cc34:2f9b with SMTP id
 ffacd0b85a97d-3a06cf5958amr2707339f8f.16.1745512073434; 
 Thu, 24 Apr 2025 09:27:53 -0700 (PDT)
Received: from pro2 (p200300e0b70e65008c33e61e626c43d3.dip0.t-ipconnect.de.
 [2003:e0:b70e:6500:8c33:e61e:626c:43d3])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3a06d4a800esm2569884f8f.3.2025.04.24.09.27.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 24 Apr 2025 09:27:52 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <865xitzsek.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <865xitzsek.fsf@HIDDEN>
Date: Thu, 24 Apr 2025 18:27:51 +0200
Message-ID: <m2tt6dbk3c.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: 77924
Cc: monnier@HIDDEN, 77924 <at> debbugs.gnu.org, stefankangas@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

>> Cc: gerd.moellmann@HIDDEN, stefankangas@HIDDEN, 77924 <at> debbugs.gnu.org
>> Date: Wed, 23 Apr 2025 17:41:18 +0300
>> From: Eli Zaretskii <eliz@HIDDEN>
>>
>> > From: Stefan Monnier <monnier@HIDDEN>
>> > Cc: Eli Zaretskii <eliz@HIDDEN>,  stefankangas@HIDDEN,
>> >   77924 <at> debbugs.gnu.org
>> > Date: Wed, 23 Apr 2025 10:34:11 -0400
>> >
>> > FWIW, I'm not a great fan of rebasing either.  I did rebase the branch
>> > last night not for rebasing's sake but because I felt there was a need
>> > for more detailed commit messages.
>> >
>> > In any case, any objection to merging the branch?
>>
>> I'd like to have a closer review of it first, so please wait for a
>> while.  When I skimmed it, I remember having several, hopefully minor,
>> aspects that stood out, and I want to take a closer look.
>
> See below:
>
>> -  m->next = BUF_MARKERS (buf);
>> -  BUF_MARKERS (buf) = m;
>> +  marker_vector_add (buf, m);
>> +  marker_vector_set_charpos (m, charpos);
>
> Could we please name functions that manipulate and get marker
> information marker_SOMETHING and not marker_vector_something?
> marker_vector_add is semi-okay (although marker_add would have been
> nicer, IMO), but marker_vector_set_charpos and marker_vector_charpos
> are not, because AFAIU they manipulate the marker's position, not
> marker-vector's position.
>
> In general, wherever the fact that we have a vector of markers is
> merely an implementation detail that is not important to the
> programmer, can we just drop the "vector" part from the names of the
> functions, for the same reason that the old functions and macros
> weren't called marker_list_SOMETHING?

Well. For one thing, the marker is now no longer the central data
structure. It's basically only fancy index into a marker vector + 2 bit
flags (which could/should by moved to the marker vector, maybe). The
marker vector is the central data structure holding a character position
which the marker refers to.

Secondly functions marker_position and marker_byte_position still exist,
basically one level higher. But below that level, the implementation
necessarily lurks.

That's why I'd prefer to keep the marker_vector prefix.

>> +  DO_MARKERS (b, m)
>> +    {
>> +      if (!vectorlike_marked_p (&m->header))
>> +	marker_vector_remove (XVECTOR (BUF_MARKERS (b)), m);
>> +    }
>> +  END_DO_MARKERS;
>
> Would it be possible not to introduce macros that modify the C syntax?
> These are problematic for more than one reason (one being that they
> are not recognized by C modes we use).  We have macros whose names
> start with FOR_EACH_ (like FOR_EACH_FRAME); can we introduce
> FOR_EACH_MARKER instead, and not hide opening/closing braces inside
> macros?

I tried, already in igc, but failed. IOW, I don't now a way to get rid
of the END_DO_MARKERS.

[...]

I hope Stef can take care of some of the rest. Stef, please let me know
if should help. It could take a few days though, because of real-world
interference. 

Thanks for the review.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 16:14:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 12:14:00 2025
Received: from localhost ([127.0.0.1]:40532 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7zD5-00009n-IN
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 12:14:00 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:22354)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <monnier@HIDDEN>)
 id 1u7zCz-00008z-4O
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 12:13:53 -0400
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 8EE0B442746;
 Thu, 24 Apr 2025 12:13:46 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1745511225;
 bh=22T0vDpbkqvbge9vFSizh1y24vJQ8nVNc3IlEmS3IdY=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=cZPJSpeixPjKf2cD9Hwz4hOFE0syv+umQegjwvgLXljdh9770xI8ySkX4608QvoFk
 MOM1e/l2UY1AK0DMu7Vr8ySy7I2PxPUIfPA5zSQ+rY4UzB+lTQLMZtb2lVSOfye4sh
 nOGP/YfdW1fsGhZm1fZm2fUHvneZEVN8PFlK3zFP/kUVCUi6mOe5I2lv9zXkMrWBXy
 BrvpngWBDUd6SwtGsmYSgcTMmidNhGEKTtgtQ6BcFzFqV/Tui9NYaHJ91kMLaeRGT1
 p/XtnPXqpLJJu9B4xO9YI/KYy237ORBe2Bv5rnA14AfFNfvzuMs9q71gU/PBszIild
 J8Yw8o8IkgnaA==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 2EB0844273B;
 Thu, 24 Apr 2025 12:13:45 -0400 (EDT)
Received: from pastel (104-195-208-18.cpe.teksavvy.com [104.195.208.18])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id EDB2112076C;
 Thu, 24 Apr 2025 12:13:44 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Gerd =?windows-1252?Q?M=F6llmann?= <gerd.moellmann@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <m2a586neq2.fsf@HIDDEN>
Message-ID: <jwvzfg5zgpf.fsf-monnier+emacs@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN> <jwvecxiga9d.fsf-monnier+emacs@HIDDEN>
 <86msc6ywyx.fsf@HIDDEN> <m2ikmunmiq.fsf@HIDDEN>
 <86cyd2yp45.fsf@HIDDEN> <m2a586neq2.fsf@HIDDEN>
Date: Thu, 24 Apr 2025 12:13:44 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.016 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77924
Cc: Eli Zaretskii <eliz@HIDDEN>, yantar92@HIDDEN, stefankangas@HIDDEN,
 77924 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

>> Evaluate this, then invoke "M-x scroll-up-benchmark" in a large buffer
>> with lots of non-ASCII characters.  Compare the timings between the
>> two versions of Emacs.
>
> elb-scroll from elisp-bechmarks is basically
>
>       (dotimes (_ 10)
>         (elb-smie-mode)
>         (goto-char (point-min))
>         (condition-case nil
>             (while t (scroll-up nil) (redisplay 'force))
>           (end-of-buffer nil))))))
>
> looks similar, but I don't know what elb-smie-mode does.

It's a major mode for the C language, separate from CC-mode.
[ It's basically "vendored" copy of the `sm-c-mode` that's on GNU ELPA.  ]

So the benchmark tests scroll time, including jit/font-lock time.
It uses its own copy of a major mode, so that you can compare "scroll +
font-lock" performance between different Emacs releases without being
affected by improvements/regressions in CC-mode itself.


        Stefan





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 13:35:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 09:35:08 2025
Received: from localhost ([127.0.0.1]:37402 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7wjM-0006Y6-6P
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 09:35:08 -0400
Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]:53481)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7wjI-0006VF-9c
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 09:35:04 -0400
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-43cf06eabdaso9577845e9.2
 for <77924 <at> debbugs.gnu.org>; Thu, 24 Apr 2025 06:35:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745501698; x=1746106498; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=Egk9/WQ65hXIG6ZIbCP+XnTtPpHPRnJ/Op22KN3dASA=;
 b=mrG/3HJjaDgvBi0V0Fap7ZVa4tBeMLb85B0j9rBjoyZ/VSqQ8b0K+Fen/NsUeMJA5S
 WMjYIgvYgh7JJ9fNzEnuu6Uam8I40HiW5Z5swwleY2mWy7mOB2rwAGgqyLhA4CGDqJWB
 7qvi4Z4hnZx1VMoGBuLoNIJ1UgyuH7iDsPSfJJMsHy8b+GMwDx1sbf+XzjS1JTyiNsLf
 qDWMbunGrlZlPu9h+TpIuqAYRkMFc4eCcLTdv9rzG6V6qfntHt9e2Lx55LLtxV+xKaFs
 C4HElAOiWTAGroytVmiXkDNizs6qsMdCak/fNv4uQonWtX2VO35pft2mrKUyb8kxHztd
 wxrw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745501698; x=1746106498;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=Egk9/WQ65hXIG6ZIbCP+XnTtPpHPRnJ/Op22KN3dASA=;
 b=K9S9podQbYw7yRL59+SFW+g9T/01bvlV8J3YOzcPghdg/TFEfuW0QR/9IA5cV4iBu4
 TZfZdY9s2cVEL+Z4wcvsPWUv2rWkwMPqAab2BJ5fchMbjk8g1//me5pPb/WJpeb0Sb3j
 ZwZ+mfz4FOGs3TXnfKtuaiux7gXXJWbQYuI/Tx2l4g2PKVXOA9WaO7Ui6h7uMRUx7FeH
 GBMBGu0iJa68PBnWE7G83usTB52GvCQ2Y5X2/We5kaMmxaN55GOo+az1x9Db7IWbVP0g
 nKpDTpDSx3v9K7nG5VVgo53NlaVKHGB9lvJJNMqYTGssWh1jwApZJeIkOHl/4aNkIeSP
 8dfQ==
X-Forwarded-Encrypted: i=1;
 AJvYcCUNATZwU3jVTScrcIO6Q9TVCCTEkt1XP94jeY9fygW61Plz/D8FpjUMu0+/Dlk0uPRAa8VAqA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YwI8QVxWi7sZT91K0uOXMgZEpce7Bvpmj4R+98+nAH5GoMap/X8
 OHntidi3ru16RUqApHZWLbt8Y1r7SIRZ56O6ms96dBDv+nQf2r7gw1IVy0hV
X-Gm-Gg: ASbGncs1r0EF1/WZ56Rl2nijCpkxeYICu/hMcGItd9JiriihgetJCaiR4FPWsvtNZlx
 rCIAf4suzOmy1rK8oFImSFU4yCOUmB6kHFvX4Fjm9mUSNHg1DYLg4xh7QVp2wfcOfQeyTxbEa0r
 QiWaNuI8uZ2SaFqX3psXqXw1ZjRhdO9hyURF1IJfBdplChD1EvomqjO6akKem/R2itiz8TsJTDJ
 KCgWpFHVNGmKucZqNzvKv5m/HxsqlqLjpH031S8F65f7PI8yg4OycRRefJLSuh61QgkmGX+czvj
 OiO6PQkvA/xYl0etkgjamvmw3tdmyCPjleA1trFEskH4sLe2t1I4UWwqxoy2f1NLC92cNaOpOZm
 TkNOU5xIi0N7JjSNE0tjIDXi4xOV+y5izb1RYa2VRmOTW
X-Google-Smtp-Source: AGHT+IFupUPyO/rGuay9wnwLs0yThajtQgZg1mHxUzXzYT/WJkF6QCxIUkEYfJtikfRD3IKA0o9msA==
X-Received: by 2002:a05:600c:b8e:b0:43c:ec28:d31b with SMTP id
 5b1f17b1804b1-4409bd0fbacmr24732225e9.10.1745501697173; 
 Thu, 24 Apr 2025 06:34:57 -0700 (PDT)
Received: from pro2 (p200300e0b70e65008c33e61e626c43d3.dip0.t-ipconnect.de.
 [2003:e0:b70e:6500:8c33:e61e:626c:43d3])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4409d2e0414sm21757665e9.40.2025.04.24.06.34.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 24 Apr 2025 06:34:56 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Visuwesh <visuweshm@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <87zfg5939u.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN> <jwvecxiga9d.fsf-monnier+emacs@HIDDEN>
 <86msc6ywyx.fsf@HIDDEN> <87plh2m72a.fsf@HIDDEN>
 <m2ecxinkcd.fsf@HIDDEN> <87zfg5939u.fsf@HIDDEN>
Date: Thu, 24 Apr 2025 15:34:55 +0200
Message-ID: <m2zfg5bs3k.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Debbugs-Envelope-To: 77924
Cc: Eli Zaretskii <eliz@HIDDEN>, yantar92@HIDDEN,
 Stefan Monnier <monnier@HIDDEN>, 77924 <at> debbugs.gnu.org,
 stefankangas@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Visuwesh <visuweshm@HIDDEN> writes:

> [=E0=AE=B5=E0=AE=BF=E0=AE=AF=E0=AE=BE=E0=AE=B4=E0=AE=A9=E0=AF=8D =E0=AE=
=8F=E0=AE=AA=E0=AF=8D=E0=AE=B0=E0=AE=B2=E0=AF=8D 24, 2025] Gerd M=C3=B6llma=
nn wrote:
>
>>> Is there a standard benchmark code that I can try for this?  I have such
>>> a large HTML file with Tamil text, and I can scroll through the buffer
>>> produced by shr-render-buffer.
>>
>> The elisp-benchmarks package has an elb-scroll.el, in its benchmarks
>> directory. AFAICT, that loads an xmenu.c from the resources
>> sub-directory of the benchmarks.
>>
>> You could copy that, or modify it.
>>
>> P.S.
>>
>> One can set the benchmarks directory to somewhere else, and run
>> benchmarks like this:
>>
>>   (setq elb-bench-directory "~/emacs/notes/code/benchmarks")
>>   (elisp-benchmarks-run ".*replace-region-contents.*" t 100)
>>
>> The 100 is the number of runs, which should be chosen high enough that
>> the "err" column in the result buffer is reasonably low. I'd start with
>> 1 to see how long that takes, and then increase it.
>
> I ran the benchmark with the text file tamil.txt in place of xmenu.c,
> but I didn't disable elb-smie-mode since I ran into weird issues.  In
> both master and text-index cases, I ran the benchmark with
>
>     % emacs -Q -l elisp-benchmarks-run --eval '(elisp-benchmarks-run "elb=
-scroll" t 10)'
>
> and here are the results for the master branch:
>
> * Results
>
>   | test   | non-gc (s) | gc (s) | gcs | total (s) | err |
>   |--------+------------+--------+-----+-----------+-----|
>   | scroll |     155.73 |  49.29 | 835 |    205.02 |  0% |
>   |--------+------------+--------+-----+-----------+-----|
>   | total  |     155.73 |  49.29 | 835 |    205.02 |  0% |
>
> and for the scratch/text-index branch:
>
> * Results
>
>   | test   | non-gc (s) | gc (s) | gcs | total (s) | err |
>   |--------+------------+--------+-----+-----------+-----|
>   | scroll |     171.89 |  51.56 | 869 |    223.44 |  1% |
>   |--------+------------+--------+-----+-----------+-----|
>   | total  |     171.89 |  51.56 | 869 |    223.44 |  1% |
>
> Unfortunately, my laptop went to power saving mode during the last two
> minutes or so for the scratch/text-index benchmark run so that might
> play into the numbers a tiny bit.  I can try repeating the test later
> for the latter case if desired.  Empirically speaking, both branches
> seemed to scroll at the same speed.
>
> This is how I configured both Emacses:
>
>     % ./configure --with-sound=3Dalsa --with-x-toolkit=3Dmotif \
>                   --without-xaw3d --without-gconf --without-libsystemd \
>                   --with-cairo CFLAGS=3D-g3 CC=3D$(which gcc-13)
>
> If anyone wants to repeat the test, I attach the text file (compressed)
> I use here.

Same on Mac mini M1, idle, tamil.txt but without the elb-smie-mode, 10
runs.

* master Results

  | test   | non-gc (s) | gc (s) |  gcs | total (s) | err (s) |
  |--------+------------+--------+------+-----------+---------|
  | scroll |      23.48 |  12.00 | 1271 |     35.48 |    0.23 |
  |--------+------------+--------+------+-----------+---------|
  | total  |      23.48 |  12.00 | 1271 |     35.48 |    0.23 |

* text-index Results

  | test   | non-gc (s) | gc (s) |  gcs | total (s) | err (s) |
  |--------+------------+--------+------+-----------+---------|
  | scroll |      23.03 |  12.06 | 1271 |     35.09 |    0.15 |
  |--------+------------+--------+------+-----------+---------|
  | total  |      23.03 |  12.06 | 1271 |     35.09 |    0.15 |

Config


--=-=-=
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=config.log
Content-Transfer-Encoding: base64
Content-Description: config.log

VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp
bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz
IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IEdOVSBFbWFjcyBjb25maWd1cmUgMzEuMC41
MCwgd2hpY2ggd2FzCmdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi43Mi4gIEludm9jYXRpb24g
Y29tbWFuZCBsaW5lIHdhcwoKICAkIC9Vc2Vycy9nZXJkL2VtYWNzL3NhdmFubmFoL3RleHQtaW5k
ZXgvY29uZmlndXJlIC0tY2FjaGUtZmlsZSAvdmFyL2ZvbGRlcnMvMWQva182dDI1Zjk0c2w4M3N6
cWJmOGdwa3JoMDAwMGduL1QvL2NvbmZpZy5jYWNoZS50ZXh0LWluZGV4IC0td2l0aC1uYXRpdmUt
Y29tcGlsYXRpb249bm8gQ0M9Y2xhbmcgJ0NGTEFHUz0tV2dudS1pbWFnaW5hcnktY29uc3RhbnQg
LVd1bnVzZWQtcmVzdWx0IC1nIC1GIC9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0Rl
dmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5z
ZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3JrcyAtV25vLWlnbm9yZWQtYXR0cmlidXRlcyAtV25v
LWZsYWctZW51bSAtV25vLW1pc3NpbmctbWV0aG9kLXJldHVybi10eXBlIC1Xbm8tdmFyaWFkaWMt
bWFjcm9zIC1Xbm8tc3RyaWN0LXByb3RvdHlwZXMgLVduby1hdmFpbGFiaWxpdHkgLVduby1udWxs
YWJpbGl0eS1jb21wbGV0ZW5lc3MnCgojIyAtLS0tLS0tLS0gIyMKIyMgUGxhdGZvcm0uICMjCiMj
IC0tLS0tLS0tLSAjIwoKaG9zdG5hbWUgPSBtaW5pCnVuYW1lIC1tID0gYXJtNjQKdW5hbWUgLXIg
PSAyNC40LjAKdW5hbWUgLXMgPSBEYXJ3aW4KdW5hbWUgLXYgPSBEYXJ3aW4gS2VybmVsIFZlcnNp
b24gMjQuNC4wOiBGcmkgQXByIDExIDE4OjMyOjQzIFBEVCAyMDI1OyByb290OnhudS0xMTQxNy4x
MDEuMTV+MTE3L1JFTEVBU0VfQVJNNjRfVDgxMDMKCi91c3IvYmluL3VuYW1lIC1wID0gYXJtCi9i
aW4vdW5hbWUgLVggICAgID0gdW5rbm93bgoKL2Jpbi9hcmNoICAgICAgICAgICAgICA9IHVua25v
d24KL3Vzci9iaW4vYXJjaCAtayAgICAgICA9IHVua25vd24KL3Vzci9jb252ZXgvZ2V0c3lzaW5m
byA9IHVua25vd24KL3Vzci9iaW4vaG9zdGluZm8gICAgICA9IE1hY2gga2VybmVsIHZlcnNpb246
CgkgRGFyd2luIEtlcm5lbCBWZXJzaW9uIDI0LjQuMDogRnJpIEFwciAxMSAxODozMjo0MyBQRFQg
MjAyNTsgcm9vdDp4bnUtMTE0MTcuMTAxLjE1fjExNy9SRUxFQVNFX0FSTTY0X1Q4MTAzCktlcm5l
bCBjb25maWd1cmVkIGZvciB1cCB0byA4IHByb2Nlc3NvcnMuCjggcHJvY2Vzc29ycyBhcmUgcGh5
c2ljYWxseSBhdmFpbGFibGUuCjggcHJvY2Vzc29ycyBhcmUgbG9naWNhbGx5IGF2YWlsYWJsZS4K
UHJvY2Vzc29yIHR5cGU6IGFybTY0ZSAoQVJNNjRFKQpQcm9jZXNzb3JzIGFjdGl2ZTogMCAxIDIg
MyA0IDUgNiA3ClByaW1hcnkgbWVtb3J5IGF2YWlsYWJsZTogMTYuMDAgZ2lnYWJ5dGVzCkRlZmF1
bHQgcHJvY2Vzc29yIHNldDogNjg2IHRhc2tzLCAyNDEyIHRocmVhZHMsIDggcHJvY2Vzc29ycwpM
b2FkIGF2ZXJhZ2U6IDIuNjcsIE1hY2ggZmFjdG9yOiA1LjMyCi9iaW4vbWFjaGluZSAgICAgICAg
ICAgPSB1bmtub3duCi91c3IvYmluL29zbGV2ZWwgICAgICAgPSB1bmtub3duCi9iaW4vdW5pdmVy
c2UgICAgICAgICAgPSB1bmtub3duCgpQQVRIOiAvb3B0L2hvbWVicmV3L29wdC9sbHZtL2Jpbi8K
UEFUSDogL29wdC9ob21lYnJldy9vcHQvb3Blbmpkay9iaW4vClBBVEg6IC9vcHQvaG9tZWJyZXcv
YmluLwpQQVRIOiAvb3B0L2hvbWVicmV3L3NiaW4vClBBVEg6IC9vcHQvaG9tZWJyZXcvb3B0L2xs
dm0vYmluLwpQQVRIOiAvb3B0L2hvbWVicmV3L29wdC9vcGVuamRrL2Jpbi8KUEFUSDogL3Vzci9i
aW4vClBBVEg6IC9iaW4vClBBVEg6IC91c3Ivc2Jpbi8KUEFUSDogL3NiaW4vClBBVEg6IC9Vc2Vy
cy9nZXJkL2Jpbi8KUEFUSDogL3Vzci9sb2NhbC9NYWNHUEcyL2Jpbi8KUEFUSDogL0xpYnJhcnkv
QXBwbGUvdXNyL2Jpbi8KUEFUSDogL0FwcGxpY2F0aW9ucy9FbWFjcy5hcHAvQ29udGVudHMvTWFj
T1MvYmluLwpQQVRIOiAvQXBwbGljYXRpb25zL0VtYWNzLmFwcC9Db250ZW50cy9NYWNPUy8KUEFU
SDogL3Vzci9sb2NhbC9iaW4vClBBVEg6IC9TeXN0ZW0vQ3J5cHRleGVzL0FwcC91c3IvYmluLwpQ
QVRIOiAvdmFyL3J1bi9jb20uYXBwbGUuc2VjdXJpdHkuY3J5cHRleGQvY29kZXguc3lzdGVtL2Jv
b3RzdHJhcC91c3IvbG9jYWwvYmluLwpQQVRIOiAvdmFyL3J1bi9jb20uYXBwbGUuc2VjdXJpdHku
Y3J5cHRleGQvY29kZXguc3lzdGVtL2Jvb3RzdHJhcC91c3IvYmluLwpQQVRIOiAvdmFyL3J1bi9j
b20uYXBwbGUuc2VjdXJpdHkuY3J5cHRleGQvY29kZXguc3lzdGVtL2Jvb3RzdHJhcC91c3IvYXBw
bGVpbnRlcm5hbC9iaW4vClBBVEg6IC9vcHQvWDExL2Jpbi8KUEFUSDogL3Vzci90ZXhiaW4vClBB
VEg6IC9Vc2Vycy9nZXJkLy5sb2NhbC9iaW4vClBBVEg6IC9vcHQvaG9tZWJyZXcvYmluLwpQQVRI
OiAvb3B0L2hvbWVicmV3L3NiaW4vClBBVEg6IC9Vc2Vycy9nZXJkL2Jpbi8KUEFUSDogL2Jpbi8K
UEFUSDogL3Vzci9zYmluLwpQQVRIOiAvc2Jpbi8KUEFUSDogL3Vzci9sb2NhbC9NYWNHUEcyL2Jp
bi8KUEFUSDogL0xpYnJhcnkvQXBwbGUvdXNyL2Jpbi8KUEFUSDogL0FwcGxpY2F0aW9ucy9FbWFj
cy5hcHAvQ29udGVudHMvTWFjT1MvYmluLwpQQVRIOiAvQXBwbGljYXRpb25zL0VtYWNzLmFwcC9D
b250ZW50cy9NYWNPUy8KUEFUSDogL1VzZXJzL2dlcmQvLmxvY2FsL2Jpbi8KCgojIyAtLS0tLS0t
LS0tLSAjIwojIyBDb3JlIHRlc3RzLiAjIwojIyAtLS0tLS0tLS0tLSAjIwoKY29uZmlndXJlOjQy
NTA6IGxvYWRpbmcgY2FjaGUgL3Zhci9mb2xkZXJzLzFkL2tfNnQyNWY5NHNsODNzenFiZjhncGty
aDAwMDBnbi9ULy9jb25maWcuY2FjaGUudGV4dC1pbmRleApjb25maWd1cmU6NDkwMzogbG9va2lu
ZyBmb3IgYXV4IGZpbGVzOiBpbnN0YWxsLXNoIG5kay1idWlsZC1oZWxwZXIubWsgY29uZmlnLmd1
ZXNzIGNvbmZpZy5zdWIKY29uZmlndXJlOjQ5MTY6ICB0cnlpbmcgLi9idWlsZC1hdXgvCmNvbmZp
Z3VyZTo0OTI3OiAgIC4vYnVpbGQtYXV4L2luc3RhbGwtc2ggZm91bmQKY29uZmlndXJlOjQ5NDU6
ICAgLi9idWlsZC1hdXgvbmRrLWJ1aWxkLWhlbHBlci5tayBmb3VuZApjb25maWd1cmU6NDk0NTog
ICAuL2J1aWxkLWF1eC9jb25maWcuZ3Vlc3MgZm91bmQKY29uZmlndXJlOjQ5NDU6ICAgLi9idWls
ZC1hdXgvY29uZmlnLnN1YiBmb3VuZApjb25maWd1cmU6NTEzMTogY2hlY2tpbmcgZm9yIHhjcnVu
CmNvbmZpZ3VyZTo1MTY0OiByZXN1bHQ6IHhjcnVuCmNvbmZpZ3VyZTo1MTc5OiBjaGVja2luZyBm
b3IgbWFrZQpjb25maWd1cmU6NTIxMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjUyMzc6IGNoZWNr
aW5nIGZvciBHTlUgTWFrZQpjb25maWd1cmU6NTI5NDogcmVzdWx0OiBnbWFrZQpjb25maWd1cmU6
NTMyODogY2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5cGUKY29uZmlndXJlOjUzNDQ6IHJlc3VsdDog
YWFyY2g2NC1hcHBsZS1kYXJ3aW4yNC40LjAKY29uZmlndXJlOjUzNjQ6IGNoZWNraW5nIGhvc3Qg
c3lzdGVtIHR5cGUKY29uZmlndXJlOjUzNzk6IHJlc3VsdDogYWFyY2g2NC1hcHBsZS1kYXJ3aW4y
NC40LjAKY29uZmlndXJlOjkyOTM6IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIHZlcnNpb24KY29u
ZmlndXJlOjkzMDI6IGNsYW5nIC0tdmVyc2lvbiA+JjUKSG9tZWJyZXcgY2xhbmcgdmVyc2lvbiAy
MC4xLjIKVGFyZ2V0OiBhcm02NC1hcHBsZS1kYXJ3aW4yNC40LjAKVGhyZWFkIG1vZGVsOiBwb3Np
eApJbnN0YWxsZWREaXI6IC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2xsdm0vMjAuMS4yL2JpbgpDb25m
aWd1cmF0aW9uIGZpbGU6IC9vcHQvaG9tZWJyZXcvZXRjL2NsYW5nL2FybTY0LWFwcGxlLWRhcndp
bjI0LmNmZwpjb25maWd1cmU6OTMxMzogJD8gPSAwCmNvbmZpZ3VyZTo5MzAyOiBjbGFuZyAtdiA+
JjUKSG9tZWJyZXcgY2xhbmcgdmVyc2lvbiAyMC4xLjIKVGFyZ2V0OiBhcm02NC1hcHBsZS1kYXJ3
aW4yNC40LjAKVGhyZWFkIG1vZGVsOiBwb3NpeApJbnN0YWxsZWREaXI6IC9vcHQvaG9tZWJyZXcv
Q2VsbGFyL2xsdm0vMjAuMS4yL2JpbgpDb25maWd1cmF0aW9uIGZpbGU6IC9vcHQvaG9tZWJyZXcv
ZXRjL2NsYW5nL2FybTY0LWFwcGxlLWRhcndpbjI0LmNmZwpTeXN0ZW0gY29uZmlndXJhdGlvbiBm
aWxlIGRpcmVjdG9yeTogL29wdC9ob21lYnJldy9ldGMvY2xhbmcKVXNlciBjb25maWd1cmF0aW9u
IGZpbGUgZGlyZWN0b3J5OiAvVXNlcnMvZ2VyZC8uY29uZmlnL2NsYW5nCmNvbmZpZ3VyZTo5MzEz
OiAkPyA9IDAKY29uZmlndXJlOjkzMDI6IGNsYW5nIC1WID4mNQpjbGFuZzogZXJyb3I6IGFyZ3Vt
ZW50IHRvICctVicgaXMgbWlzc2luZyAoZXhwZWN0ZWQgMSB2YWx1ZSkKY2xhbmc6IGVycm9yOiBu
byBpbnB1dCBmaWxlcwpjb25maWd1cmU6OTMxMzogJD8gPSAxCmNvbmZpZ3VyZTo5MzAyOiBjbGFu
ZyAtcXZlcnNpb24gPiY1CmNsYW5nOiBlcnJvcjogdW5rbm93biBhcmd1bWVudCAnLXF2ZXJzaW9u
JzsgZGlkIHlvdSBtZWFuICctLXZlcnNpb24nPwpjbGFuZzogZXJyb3I6IG5vIGlucHV0IGZpbGVz
CmNvbmZpZ3VyZTo5MzEzOiAkPyA9IDEKY29uZmlndXJlOjkzMDI6IGNsYW5nIC12ZXJzaW9uID4m
NQpjbGFuZzogZXJyb3I6IHVua25vd24gYXJndW1lbnQgJy12ZXJzaW9uJzsgZGlkIHlvdSBtZWFu
ICctLXZlcnNpb24nPwpjbGFuZzogZXJyb3I6IG5vIGlucHV0IGZpbGVzCmNvbmZpZ3VyZTo5MzEz
OiAkPyA9IDEKY29uZmlndXJlOjkzMzM6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIg
d29ya3MKY29uZmlndXJlOjkzNTU6IGNsYW5nIC1XZ251LWltYWdpbmFyeS1jb25zdGFudCAtV3Vu
dXNlZC1yZXN1bHQgLWcgLUYgL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxv
cGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9T
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzIC1Xbm8taWdub3JlZC1hdHRyaWJ1dGVzIC1Xbm8tZmxh
Zy1lbnVtIC1Xbm8tbWlzc2luZy1tZXRob2QtcmV0dXJuLXR5cGUgLVduby12YXJpYWRpYy1tYWNy
b3MgLVduby1zdHJpY3QtcHJvdG90eXBlcyAtV25vLWF2YWlsYWJpbGl0eSAtV25vLW51bGxhYmls
aXR5LWNvbXBsZXRlbmVzcyAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6OTM1OTogJD8gPSAw
CmNvbmZpZ3VyZTo5NDEwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTQxNDogY2hlY2tpbmcgZm9y
IEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lCmNvbmZpZ3VyZTo5NDE2OiByZXN1
bHQ6IGEub3V0CmNvbmZpZ3VyZTo5NDIyOiBjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFi
bGVzCmNvbmZpZ3VyZTo5NDI5OiBjbGFuZyAtbyBjb25mdGVzdCAtV2dudS1pbWFnaW5hcnktY29u
c3RhbnQgLVd1bnVzZWQtcmVzdWx0IC1nIC1GIC9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRl
bnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01h
Y09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3JrcyAtV25vLWlnbm9yZWQtYXR0cmlidXRl
cyAtV25vLWZsYWctZW51bSAtV25vLW1pc3NpbmctbWV0aG9kLXJldHVybi10eXBlIC1Xbm8tdmFy
aWFkaWMtbWFjcm9zIC1Xbm8tc3RyaWN0LXByb3RvdHlwZXMgLVduby1hdmFpbGFiaWxpdHkgLVdu
by1udWxsYWJpbGl0eS1jb21wbGV0ZW5lc3MgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjk0
MzM6ICQ/ID0gMApjb25maWd1cmU6OTQ1NzogcmVzdWx0OiAKY29uZmlndXJlOjk0ODE6IGNoZWNr
aW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZwpjb25maWd1cmU6OTQ4OTogY2xhbmcg
LW8gY29uZnRlc3QgLVdnbnUtaW1hZ2luYXJ5LWNvbnN0YW50IC1XdW51c2VkLXJlc3VsdCAtZyAt
RiAvQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01h
Y09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MgLVduby1pZ25vcmVkLWF0dHJpYnV0ZXMgLVduby1mbGFnLWVudW0gLVduby1taXNz
aW5nLW1ldGhvZC1yZXR1cm4tdHlwZSAtV25vLXZhcmlhZGljLW1hY3JvcyAtV25vLXN0cmljdC1w
cm90b3R5cGVzIC1Xbm8tYXZhaWxhYmlsaXR5IC1Xbm8tbnVsbGFiaWxpdHktY29tcGxldGVuZXNz
ICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo5NDkzOiAkPyA9IDAKY29uZmlndXJlOjk1MDA6
IC4vY29uZnRlc3QKY29uZmlndXJlOjk1MDQ6ICQ/ID0gMApjb25maWd1cmU6OTUxOTogcmVzdWx0
OiBubwpjb25maWd1cmU6OTUyNTogY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMK
Y29uZmlndXJlOjk1NzY6IHJlc3VsdDogbwpjb25maWd1cmU6OTU4MDogY2hlY2tpbmcgd2hldGhl
ciB0aGUgY29tcGlsZXIgc3VwcG9ydHMgR05VIEMKY29uZmlndXJlOjk2MTI6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZTo5NjIzOiBjaGVja2luZyB3aGV0aGVyIGNsYW5nIGFjY2VwdHMgLWcKY29uZmln
dXJlOjk2OTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5NzExOiBjaGVja2luZyBmb3IgY2xhbmcg
b3B0aW9uIHRvIGVuYWJsZSBDMTEgZmVhdHVyZXMKY29uZmlndXJlOjk3NDU6IHJlc3VsdDogbm9u
ZSBuZWVkZWQKY29uZmlndXJlOjk4NjQ6IGNoZWNraW5nIHdoZXRoZXIgdGhlIGNvbXBpbGVyIGlz
IGNsYW5nCmNvbmZpZ3VyZTo5ODk3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTkwMTogY2hlY2tp
bmcgZm9yIGNvbXBpbGVyIG9wdGlvbiBuZWVkZWQgd2hlbiBjaGVja2luZyBmb3IgZGVjbGFyYXRp
b25zCmNvbmZpZ3VyZTo5OTM2OiByZXN1bHQ6IC1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVj
bGFyYXRpb24KY29uZmlndXJlOjk5NTE6IGNoZWNraW5nIGZvciBhcgpjb25maWd1cmU6OTk4NDog
cmVzdWx0OiBhcgpjb25maWd1cmU6MTAwMDk6IGNoZWNraW5nIHdoZXRoZXIgY2xhbmcgYW5kIGNj
IHVuZGVyc3RhbmQgLWMgYW5kIC1vIHRvZ2V0aGVyCmNvbmZpZ3VyZToxMDExMTogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjEwMTU0OiBjaGVja2luZyBmb3Igc3RkaW8uaApjb25maWd1cmU6MTAxNTQ6
IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMDE1NDogY2hlY2tpbmcgZm9yIHN0ZGxpYi5oCmNvbmZp
Z3VyZToxMDE1NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwMTU0OiBjaGVja2luZyBmb3Igc3Ry
aW5nLmgKY29uZmlndXJlOjEwMTU0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTAxNTQ6IGNoZWNr
aW5nIGZvciBpbnR0eXBlcy5oCmNvbmZpZ3VyZToxMDE1NDogcmVzdWx0OiB5ZXMKY29uZmlndXJl
OjEwMTU0OiBjaGVja2luZyBmb3Igc3RkaW50LmgKY29uZmlndXJlOjEwMTU0OiByZXN1bHQ6IHll
cwpjb25maWd1cmU6MTAxNTQ6IGNoZWNraW5nIGZvciBzdHJpbmdzLmgKY29uZmlndXJlOjEwMTU0
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTAxNTQ6IGNoZWNraW5nIGZvciBzeXMvc3RhdC5oCmNv
bmZpZ3VyZToxMDE1NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwMTU0OiBjaGVja2luZyBmb3Ig
c3lzL3R5cGVzLmgKY29uZmlndXJlOjEwMTU0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTAxNTQ6
IGNoZWNraW5nIGZvciB1bmlzdGQuaApjb25maWd1cmU6MTAxNTQ6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZToxMDE1NDogY2hlY2tpbmcgZm9yIHdjaGFyLmgKY29uZmlndXJlOjEwMTU0OiByZXN1bHQ6
IHllcwpjb25maWd1cmU6MTAxNTQ6IGNoZWNraW5nIGZvciBtaW5peC9jb25maWcuaApjb25maWd1
cmU6MTAxNTQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjEwMTU0OiBjaGVja2luZyBmb3IgbGludXgv
ZnMuaApjb25maWd1cmU6MTAxNTQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjEwMTU0OiBjaGVja2lu
ZyBmb3IgbWFsbG9jLmgKY29uZmlndXJlOjEwMTU0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMDE1
NDogY2hlY2tpbmcgZm9yIHN5cy9zeXN0ZW1pbmZvLmgKY29uZmlndXJlOjEwMTU0OiByZXN1bHQ6
IG5vCmNvbmZpZ3VyZToxMDE1NDogY2hlY2tpbmcgZm9yIHN5cy9zeXNpbmZvLmgKY29uZmlndXJl
OjEwMTU0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMDE1NDogY2hlY2tpbmcgZm9yIGNvZmYuaApj
b25maWd1cmU6MTAxNTQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjEwMTU0OiBjaGVja2luZyBmb3Ig
cHR5LmgKY29uZmlndXJlOjEwMTU0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMDE1NDogY2hlY2tp
bmcgZm9yIHN5cy9yZXNvdXJjZS5oCmNvbmZpZ3VyZToxMDE1NDogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjEwMTU0OiBjaGVja2luZyBmb3Igc3lzL3V0c25hbWUuaApjb25maWd1cmU6MTAxNTQ6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZToxMDE1NDogY2hlY2tpbmcgZm9yIHB3ZC5oCmNvbmZpZ3VyZTox
MDE1NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwMTU0OiBjaGVja2luZyBmb3IgdXRpbC5oCmNv
bmZpZ3VyZToxMDE1NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwMTU0OiBjaGVja2luZyBmb3Ig
c2FuaXRpemVyL2xzYW5faW50ZXJmYWNlLmgKY29uZmlndXJlOjEwMTU0OiByZXN1bHQ6IHllcwpj
b25maWd1cmU6MTAxNTQ6IGNoZWNraW5nIGZvciBzYW5pdGl6ZXIvYXNhbl9pbnRlcmZhY2UuaApj
b25maWd1cmU6MTAxNTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMDE1NDogY2hlY2tpbmcgZm9y
IHNhbml0aXplci9jb21tb25faW50ZXJmYWNlX2RlZnMuaApjb25maWd1cmU6MTAxNTQ6IHJlc3Vs
dDogeWVzCmNvbmZpZ3VyZToxMDE1NDogY2hlY2tpbmcgZm9yIHN5cy9zb2NrZXQuaApjb25maWd1
cmU6MTAxNTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMDE1NDogY2hlY2tpbmcgZm9yIHN5cy9w
YXJhbS5oCmNvbmZpZ3VyZToxMDE1NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwMTU0OiBjaGVj
a2luZyBmb3IgcHRocmVhZC5oCmNvbmZpZ3VyZToxMDE1NDogcmVzdWx0OiB5ZXMKY29uZmlndXJl
OjEwMTU0OiBjaGVja2luZyBmb3IgbWFsbG9jL21hbGxvYy5oCmNvbmZpZ3VyZToxMDE1NDogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjEwMTU0OiBjaGVja2luZyBmb3Igc3lzL3VuLmgKY29uZmlndXJl
OjEwMTU0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTAxNTQ6IGNoZWNraW5nIGZvciB2Zm9yay5o
CmNvbmZpZ3VyZToxMDE1NDogcmVzdWx0OiBubwpjb25maWd1cmU6MTAxNTQ6IGNoZWNraW5nIGZv
ciBzdGRib29sLmgKY29uZmlndXJlOjEwMTU0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTAxNTQ6
IGNoZWNraW5nIGZvciB1dG1wLmgKY29uZmlndXJlOjEwMTU0OiByZXN1bHQ6IHllcwpjb25maWd1
cmU6MTAxNTQ6IGNoZWNraW5nIGZvciB1dG1weC5oCmNvbmZpZ3VyZToxMDE1NDogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjEwMTU0OiBjaGVja2luZyBmb3IgT1MuaApjb25maWd1cmU6MTAxNTQ6IHJl
c3VsdDogbm8KY29uZmlndXJlOjEwMTU0OiBjaGVja2luZyBmb3IgYnl0ZXN3YXAuaApjb25maWd1
cmU6MTAxNTQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjEwMTU0OiBjaGVja2luZyBmb3IgZGlyZW50
LmgKY29uZmlndXJlOjEwMTU0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTAxNTQ6IGNoZWNraW5n
IGZvciBleGVjaW5mby5oCmNvbmZpZ3VyZToxMDE1NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEw
MTU0OiBjaGVja2luZyBmb3IgbGludXgveGF0dHIuaApjb25maWd1cmU6MTAxNTQ6IHJlc3VsdDog
bm8KY29uZmlndXJlOjEwMTU0OiBjaGVja2luZyBmb3Igc2VsaW51eC9zZWxpbnV4LmgKY29uZmln
dXJlOjEwMTU0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMDE1NDogY2hlY2tpbmcgZm9yIHN0ZGlv
X2V4dC5oCmNvbmZpZ3VyZToxMDE1NDogcmVzdWx0OiBubwpjb25maWd1cmU6MTAxNTQ6IGNoZWNr
aW5nIGZvciBzeXMvdmZzLmgKY29uZmlndXJlOjEwMTU0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTox
MDE1NDogY2hlY2tpbmcgZm9yIHN5cy9mc190eXBlcy5oCmNvbmZpZ3VyZToxMDE1NDogcmVzdWx0
OiBubwpjb25maWd1cmU6MTAxNTQ6IGNoZWNraW5nIGZvciBnZXRvcHQuaApjb25maWd1cmU6MTAx
NTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMDE1NDogY2hlY2tpbmcgZm9yIHN5cy90aW1lLmgK
Y29uZmlndXJlOjEwMTU0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTAxNTQ6IGNoZWNraW5nIGZv
ciBpZWVlNzU0LmgKY29uZmlndXJlOjEwMTU0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMDE1NDog
Y2hlY2tpbmcgZm9yIGxpbWl0cy5oCmNvbmZpZ3VyZToxMDE1NDogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjEwMTU0OiBjaGVja2luZyBmb3Igc3lzL3NlbGVjdC5oCmNvbmZpZ3VyZToxMDE1NDogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjEwMTU0OiBjaGVja2luZyBmb3Igc3RkYml0LmgKY29uZmlndXJl
OjEwMTU0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMDE1NDogY2hlY2tpbmcgZm9yIHN0ZGNrZGlu
dC5oCmNvbmZpZ3VyZToxMDE1NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwMTU0OiBjaGVja2lu
ZyBmb3Igc3lzL3JhbmRvbS5oCmNvbmZpZ3VyZToxMDE1NDogcmVzdWx0OiB5ZXMKY29uZmlndXJl
OjEwMTU0OiBjaGVja2luZyBmb3IgZW5kaWFuLmgKY29uZmlndXJlOjEwMTU0OiByZXN1bHQ6IG5v
CmNvbmZpZ3VyZToxMDE1NDogY2hlY2tpbmcgZm9yIHN5cy9lbmRpYW4uaApjb25maWd1cmU6MTAx
NTQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjEwMTg1OiBjaGVja2luZyB3aGV0aGVyIGl0IGlzIHNh
ZmUgdG8gZGVmaW5lIF9fRVhURU5TSU9OU19fCmNvbmZpZ3VyZToxMDIxNDogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjEwMjE3OiBjaGVja2luZyB3aGV0aGVyIF9YT1BFTl9TT1VSQ0Ugc2hvdWxkIGJl
IGRlZmluZWQKY29uZmlndXJlOjEwMjY4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMDM0NjogY2hl
Y2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IKY29uZmlndXJlOjEwNDE3OiByZXN1
bHQ6IGNsYW5nIC1FCmNvbmZpZ3VyZToxMDQzMTogY2xhbmcgLUUgIGNvbmZ0ZXN0LmMKY29uZmln
dXJlOjEwNDMxOiAkPyA9IDAKY29uZmlndXJlOjEwNDQ3OiBjbGFuZyAtRSAgY29uZnRlc3QuYwpj
b25mdGVzdC5jOjYzOjEwOiBmYXRhbCBlcnJvcjogJ2FjX25vbmV4aXN0ZW50LmgnIGZpbGUgbm90
IGZvdW5kCiAgIDYzIHwgI2luY2x1ZGUgPGFjX25vbmV4aXN0ZW50Lmg+CiAgICAgIHwgICAgICAg
ICAgXn5+fn5+fn5+fn5+fn5+fn5+CjEgZXJyb3IgZ2VuZXJhdGVkLgpjb25maWd1cmU6MTA0NDc6
ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov
CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFS
TkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjMxLjAuNTAiCnwgI2RlZmlu
ZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDMxLjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JV
R1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0
dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgSEFWRV9QRFVNUEVS
IDEKfCAjZGVmaW5lIEhBVkVfTUFJTFVUSUxTIDEKfCAjZGVmaW5lIEdDX1JFTUVNQkVSX0xBU1Rf
TUFSS0VEIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I
IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK
fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk
ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNk
ZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZF
X1NBTklUSVpFUl9MU0FOX0lOVEVSRkFDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU0FOSVRJWkVSX0FT
QU5fSU5URVJGQUNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TQU5JVElaRVJfQ09NTU9OX0lOVEVSRkFD
RV9ERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01B
TExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVf
U1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUFhf
SCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAx
CnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwg
I2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1REQ0tESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkFORE9NX0ggMQp8
ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5l
IF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQ
VVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNk
ZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElD
UyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2Rl
ZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19X
QU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5
X0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwg
I2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19T
VERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVO
Q1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNf
XyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxhY19ub25leGlzdGVudC5o
Pgpjb25maWd1cmU6MTA0ODA6IGNoZWNraW5nIGZvciBlZ3JlcCAtZQpjb25maWd1cmU6MTA2MTA6
IHJlc3VsdDogL3Vzci9iaW4vZ3JlcCAtRQpjb25maWd1cmU6MTA2MTc6IGNoZWNraW5nIGZvciBN
aW5peCBBbXN0ZXJkYW0gY29tcGlsZXIKY29uZmlndXJlOjEwNjQ1OiByZXN1bHQ6IG5vCmNvbmZp
Z3VyZToxMDgyMjogY2hlY2tpbmcgZm9yIHJhbmxpYgpjb25maWd1cmU6MTA4NTU6IHJlc3VsdDog
cmFubGliCmNvbmZpZ3VyZToxMDkyMjogY2hlY2tpbmcgZm9yIGNsYW5nIG9wdGlvbiB0byBzdXBw
b3J0IGxhcmdlIGZpbGVzCmNvbmZpZ3VyZToxMTAwMDogcmVzdWx0OiBub25lIG5lZWRlZApjb25m
aWd1cmU6MTEwMjU6IGNoZWNraW5nIGZvciBjbGFuZyBvcHRpb24gdG8gc3VwcG9ydCB0aW1lc3Rh
bXBzIGFmdGVyIDIwMzgKY29uZmlndXJlOjExMDY5OiByZXN1bHQ6IG5vbmUgbmVlZGVkCmNvbmZp
Z3VyZToxMTg2NjogY2hlY2tpbmcgd2hldGhlciBjbGFuZyBhY2NlcHRzIC1PCmNvbmZpZ3VyZTox
MTg5NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjExOTA5OiBjaGVja2luZyB3aGV0aGVyIHRoZSBj
b21waWxlciBpcyBjbGFuZwpjb25maWd1cmU6MTE5NDA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox
MjA1MDogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVdlcnJvciAtV3Vua25v
d24td2FybmluZy1vcHRpb24KY29uZmlndXJlOjEyMDgzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6
MTIzNzU6IGNoZWNraW5nIHdoZXRoZXIgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyBp
cyBuZWVkZWQKY29uZmlndXJlOjEyNDIxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjQyNDogY2hl
Y2tpbmcgd2hldGhlciAtV3VuaW5pdGlhbGl6ZWQgaXMgc3VwcG9ydGVkCmNvbmZpZ3VyZToxMjQ1
NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyNjAxOiBjaGVja2luZyB3aGV0aGVyIEMgY29tcGls
ZXIgaGFuZGxlcyAtZnN0cmljdC1mbGV4LWFycmF5cwpjb25maWd1cmU6MTI2MzU6IHJlc3VsdDog
bm8KY29uZmlndXJlOjEyNjAxOiBjaGVja2luZyB3aGV0aGVyIEMgY29tcGlsZXIgaGFuZGxlcyAt
V2FsbApjb25maWd1cmU6MTI2MzU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjYwMTogY2hlY2tp
bmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVdhcml0aC1jb252ZXJzaW9uCmNvbmZpZ3Vy
ZToxMjYzNTogcmVzdWx0OiBubwpjb25maWd1cmU6MTI2MDE6IGNoZWNraW5nIHdoZXRoZXIgQyBj
b21waWxlciBoYW5kbGVzIC1XZGF0ZS10aW1lCmNvbmZpZ3VyZToxMjYzNTogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjEyNjAxOiBjaGVja2luZyB3aGV0aGVyIEMgY29tcGlsZXIgaGFuZGxlcyAtV2Rp
c2FibGVkLW9wdGltaXphdGlvbgpjb25maWd1cmU6MTI2MzU6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZToxMjYwMTogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVdkdXBsaWNhdGVk
LWNvbmQKY29uZmlndXJlOjEyNjM1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjYwMTogY2hlY2tp
bmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVdleHRyYQpjb25maWd1cmU6MTI2MzU6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZToxMjYwMTogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhh
bmRsZXMgLVdmb3JtYXQtc2lnbmVkbmVzcwpjb25maWd1cmU6MTI2MzU6IHJlc3VsdDogeWVzCmNv
bmZpZ3VyZToxMjYwMTogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVdmbGV4
LWFycmF5LW1lbWJlci1ub3QtYXQtZW5kCmNvbmZpZ3VyZToxMjYzNTogcmVzdWx0OiBubwpjb25m
aWd1cmU6MTI2MDE6IGNoZWNraW5nIHdoZXRoZXIgQyBjb21waWxlciBoYW5kbGVzIC1XaW5pdC1z
ZWxmCmNvbmZpZ3VyZToxMjYzNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyNjAxOiBjaGVja2lu
ZyB3aGV0aGVyIEMgY29tcGlsZXIgaGFuZGxlcyAtV2ludmFsaWQtcGNoCmNvbmZpZ3VyZToxMjYz
NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyNjAxOiBjaGVja2luZyB3aGV0aGVyIEMgY29tcGls
ZXIgaGFuZGxlcyAtV2xvZ2ljYWwtb3AKY29uZmlndXJlOjEyNjM1OiByZXN1bHQ6IG5vCmNvbmZp
Z3VyZToxMjYwMTogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVdtaXNzaW5n
LWRlY2xhcmF0aW9ucwpjb25maWd1cmU6MTI2MzU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjYw
MTogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVdtaXNzaW5nLWluY2x1ZGUt
ZGlycwpjb25maWd1cmU6MTI2MzU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjYwMTogY2hlY2tp
bmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVdtaXNzaW5nLXByb3RvdHlwZXMKY29uZmln
dXJlOjEyNjM1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTI2MDE6IGNoZWNraW5nIHdoZXRoZXIg
QyBjb21waWxlciBoYW5kbGVzIC1XbWlzc2luZy12YXJpYWJsZS1kZWNsYXJhdGlvbnMKY29uZmln
dXJlOjEyNjM1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTI2MDE6IGNoZWNraW5nIHdoZXRoZXIg
QyBjb21waWxlciBoYW5kbGVzIC1XbmVzdGVkLWV4dGVybnMKY29uZmlndXJlOjEyNjM1OiByZXN1
bHQ6IHllcwpjb25maWd1cmU6MTI2MDE6IGNoZWNraW5nIHdoZXRoZXIgQyBjb21waWxlciBoYW5k
bGVzIC1XbnVsbC1kZXJlZmVyZW5jZQpjb25maWd1cmU6MTI2MzU6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZToxMjYwMTogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVdvbGQtc3R5
bGUtZGVmaW5pdGlvbgpjb25maWd1cmU6MTI2MzU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjYw
MTogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVdvcGVubXAtc2ltZApjb25m
aWd1cmU6MTI2MzU6IHJlc3VsdDogbm8KY29uZmlndXJlOjEyNjAxOiBjaGVja2luZyB3aGV0aGVy
IEMgY29tcGlsZXIgaGFuZGxlcyAtV3BhY2tlZApjb25maWd1cmU6MTI2MzU6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZToxMjYwMTogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVdw
b2ludGVyLWFyaXRoCmNvbmZpZ3VyZToxMjYzNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyNjAx
OiBjaGVja2luZyB3aGV0aGVyIEMgY29tcGlsZXIgaGFuZGxlcyAtV3N0cmljdC1mbGV4LWFycmF5
cwpjb25maWd1cmU6MTI2MzU6IHJlc3VsdDogbm8KY29uZmlndXJlOjEyNjAxOiBjaGVja2luZyB3
aGV0aGVyIEMgY29tcGlsZXIgaGFuZGxlcyAtV3N0cmljdC1wcm90b3R5cGVzCmNvbmZpZ3VyZTox
MjYzNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyNjAxOiBjaGVja2luZyB3aGV0aGVyIEMgY29t
cGlsZXIgaGFuZGxlcyAtV3N1Z2dlc3QtYXR0cmlidXRlPWZvcm1hdApjb25maWd1cmU6MTI2MzU6
IHJlc3VsdDogbm8KY29uZmlndXJlOjEyNjAxOiBjaGVja2luZyB3aGV0aGVyIEMgY29tcGlsZXIg
aGFuZGxlcyAtV3N1Z2dlc3QtYXR0cmlidXRlPW5vcmV0dXJuCmNvbmZpZ3VyZToxMjYzNTogcmVz
dWx0OiBubwpjb25maWd1cmU6MTI2MDE6IGNoZWNraW5nIHdoZXRoZXIgQyBjb21waWxlciBoYW5k
bGVzIC1Xc3VnZ2VzdC1maW5hbC1tZXRob2RzCmNvbmZpZ3VyZToxMjYzNTogcmVzdWx0OiBubwpj
b25maWd1cmU6MTI2MDE6IGNoZWNraW5nIHdoZXRoZXIgQyBjb21waWxlciBoYW5kbGVzIC1Xc3Vn
Z2VzdC1maW5hbC10eXBlcwpjb25maWd1cmU6MTI2MzU6IHJlc3VsdDogbm8KY29uZmlndXJlOjEy
NjAxOiBjaGVja2luZyB3aGV0aGVyIEMgY29tcGlsZXIgaGFuZGxlcyAtV3RyYW1wb2xpbmVzCmNv
bmZpZ3VyZToxMjYzNTogcmVzdWx0OiBubwpjb25maWd1cmU6MTI2MDE6IGNoZWNraW5nIHdoZXRo
ZXIgQyBjb21waWxlciBoYW5kbGVzIC1XdW5pbml0aWFsaXplZApjb25maWd1cmU6MTI2MzU6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZToxMjYwMTogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhh
bmRsZXMgLVd1bmtub3duLXByYWdtYXMKY29uZmlndXJlOjEyNjM1OiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6MTI2MDE6IGNoZWNraW5nIHdoZXRoZXIgQyBjb21waWxlciBoYW5kbGVzIC1XdW51c2Vk
LW1hY3Jvcwpjb25maWd1cmU6MTI2MzU6IHJlc3VsdDogbm8KY29uZmlndXJlOjEyNjAxOiBjaGVj
a2luZyB3aGV0aGVyIEMgY29tcGlsZXIgaGFuZGxlcyAtV3ZhcmlhZGljLW1hY3Jvcwpjb25maWd1
cmU6MTI2MzU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjYwMTogY2hlY2tpbmcgd2hldGhlciBD
IGNvbXBpbGVyIGhhbmRsZXMgLVd2ZWN0b3Itb3BlcmF0aW9uLXBlcmZvcm1hbmNlCmNvbmZpZ3Vy
ZToxMjYzNTogcmVzdWx0OiBubwpjb25maWd1cmU6MTI2MDE6IGNoZWNraW5nIHdoZXRoZXIgQyBj
b21waWxlciBoYW5kbGVzIC1Xd3JpdGUtc3RyaW5ncwpjb25maWd1cmU6MTI2MzU6IHJlc3VsdDog
eWVzCmNvbmZpZ3VyZToxMjYwMTogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMg
LVdhcnJheS1ib3VuZHM9Mgpjb25maWd1cmU6MTI2MzU6IHJlc3VsdDogbm8KY29uZmlndXJlOjEy
NjAxOiBjaGVja2luZyB3aGV0aGVyIEMgY29tcGlsZXIgaGFuZGxlcyAtV2F0dHJpYnV0ZS1hbGlh
cz0yCmNvbmZpZ3VyZToxMjYzNTogcmVzdWx0OiBubwpjb25maWd1cmU6MTI2MDE6IGNoZWNraW5n
IHdoZXRoZXIgQyBjb21waWxlciBoYW5kbGVzIC1XZm9ybWF0PTIKY29uZmlndXJlOjEyNjM1OiBy
ZXN1bHQ6IHllcwpjb25maWd1cmU6MTI2MDE6IGNoZWNraW5nIHdoZXRoZXIgQyBjb21waWxlciBo
YW5kbGVzIC1XZm9ybWF0LXRydW5jYXRpb249Mgpjb25maWd1cmU6MTI2MzU6IHJlc3VsdDogbm8K
Y29uZmlndXJlOjEyNjAxOiBjaGVja2luZyB3aGV0aGVyIEMgY29tcGlsZXIgaGFuZGxlcyAtV2lt
cGxpY2l0LWZhbGx0aHJvdWdoPTUKY29uZmlndXJlOjEyNjM1OiByZXN1bHQ6IG5vCmNvbmZpZ3Vy
ZToxMjYwMTogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVdzaGlmdC1vdmVy
Zmxvdz0yCmNvbmZpZ3VyZToxMjYzNTogcmVzdWx0OiBubwpjb25maWd1cmU6MTI2MDE6IGNoZWNr
aW5nIHdoZXRoZXIgQyBjb21waWxlciBoYW5kbGVzIC1XdXNlLWFmdGVyLWZyZWU9Mwpjb25maWd1
cmU6MTI2MzU6IHJlc3VsdDogbm8KY29uZmlndXJlOjEyNjAxOiBjaGVja2luZyB3aGV0aGVyIEMg
Y29tcGlsZXIgaGFuZGxlcyAtV3ZsYS1sYXJnZXItdGhhbj00MDMxCmNvbmZpZ3VyZToxMjYzNTog
cmVzdWx0OiBubwpjb25maWd1cmU6MTI2MDE6IGNoZWNraW5nIHdoZXRoZXIgQyBjb21waWxlciBo
YW5kbGVzIC1XdGhyZWFkLXNhZmV0eQpjb25maWd1cmU6MTI2MzU6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZToxMjY0NjogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVdyZWR1bmRh
bnQtZGVjbHMKY29uZmlndXJlOjEyNjc5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTI2ODk6IGNo
ZWNraW5nIHdoZXRoZXIgQyBjb21waWxlciBoYW5kbGVzIC1XdHJhaWxpbmctd2hpdGVzcGFjZQpj
b25maWd1cmU6MTI3MDk6IGNsYW5nIC1vIGNvbmZ0ZXN0IC1XZ251LWltYWdpbmFyeS1jb25zdGFu
dCAtV3VudXNlZC1yZXN1bHQgLWcgLUYgL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMv
RGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NY
LnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzIC1Xbm8taWdub3JlZC1hdHRyaWJ1dGVzIC1X
bm8tZmxhZy1lbnVtIC1Xbm8tbWlzc2luZy1tZXRob2QtcmV0dXJuLXR5cGUgLVduby12YXJpYWRp
Yy1tYWNyb3MgLVduby1zdHJpY3QtcHJvdG90eXBlcyAtV25vLWF2YWlsYWJpbGl0eSAtV25vLW51
bGxhYmlsaXR5LWNvbXBsZXRlbmVzcyAtTyAtV3Vua25vd24td2FybmluZy1vcHRpb24gLVdlcnJv
ciAtV3RyYWlsaW5nLXdoaXRlc3BhY2UgICBjb25mdGVzdC5jICA+JjUKZXJyb3I6IHVua25vd24g
d2FybmluZyBvcHRpb24gJy1XdHJhaWxpbmctd2hpdGVzcGFjZSc7IGRpZCB5b3UgbWVhbiAnLVd1
bmljb2RlLXdoaXRlc3BhY2UnPyBbLVdlcnJvciwtV3Vua25vd24td2FybmluZy1vcHRpb25dCmNv
bmZpZ3VyZToxMjcwOTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q
IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZp
bmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMzEu
MC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMzEuMC41MCIKfCAjZGVm
aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQ
QUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmlu
ZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgSEFWRV9NQUlMVVRJTFMgMQp8ICNkZWZpbmUgR0Nf
UkVNRU1CRVJfTEFTVF9NQVJLRUQgMQp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5l
IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF
X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NU
UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJf
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VU
U05BTUVfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRJTF9IIDEK
fCAjZGVmaW5lIEhBVkVfU0FOSVRJWkVSX0xTQU5fSU5URVJGQUNFX0ggMQp8ICNkZWZpbmUgSEFW
RV9TQU5JVElaRVJfQVNBTl9JTlRFUkZBQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NBTklUSVpFUl9D
T01NT05fSU5URVJGQUNFX0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwg
I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9IIDEKfCAj
ZGVmaW5lIEhBVkVfTUFMTE9DX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVERCT09MX0ggMQp8ICNkZWZpbmUgSEFWRV9VVE1QX0ggMQp8ICNkZWZp
bmUgSEFWRV9VVE1QWF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW
RV9FWEVDSU5GT19IIDEKfCAjZGVmaW5lIEhBVkVfR0VUT1BUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
U0VMRUNUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERDS0RJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19SQU5ET01fSCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgX0FMTF9TT1VS
Q0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAx
CnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfTkVUQlNE
X1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BU
SFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJT
X0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNk
ZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENf
V0FOVF9JRUNfNjA1NTlfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZV
TkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAx
CnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U
X01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5l
IF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9MSU5VWF9TT1VSQ0VfQ09NUEFUIDEKfCAjZGVm
aW5lIF9fVVNFX01JTkdXX0FOU0lfU1RESU8gMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAK
fCBpbnQKfCBtYWluICh2b2lkKQp8IHsKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmln
dXJlOjEyNzIyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjczMjogY2hlY2tpbmcgd2hldGhlciBD
IGNvbXBpbGVyIGhhbmRsZXMgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycwpjb25maWd1
cmU6MTI3NjU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjc3NTogY2hlY2tpbmcgd2hldGhlciBD
IGNvbXBpbGVyIGhhbmRsZXMgLVduby1vdmVycmlkZS1pbml0CmNvbmZpZ3VyZToxMjgwODogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjEyODE4OiBjaGVja2luZyB3aGV0aGVyIEMgY29tcGlsZXIgaGFu
ZGxlcyAtV25vLXNpZ24tY29tcGFyZQpjb25maWd1cmU6MTI4NTE6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZToxMjg2MTogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVduby10eXBl
LWxpbWl0cwpjb25maWd1cmU6MTI4OTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjkwNDogY2hl
Y2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVduby11bnVzZWQtcGFyYW1ldGVyCmNv
bmZpZ3VyZToxMjkzNzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyOTQ3OiBjaGVja2luZyB3aGV0
aGVyIEMgY29tcGlsZXIgaGFuZGxlcyAtV25vLWZvcm1hdC1ub25saXRlcmFsCmNvbmZpZ3VyZTox
Mjk4MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyOTkwOiBjaGVja2luZyB3aGV0aGVyIEMgY29t
cGlsZXIgaGFuZGxlcyAtV25vLWJpZGktY2hhcnMKY29uZmlndXJlOjEzMDIzOiByZXN1bHQ6IG5v
CmNvbmZpZ3VyZToxMzA4MjogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVdu
by1iaXR3aXNlLWluc3RlYWQtb2YtbG9naWNhbApjb25maWd1cmU6MTMxMTU6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZToxMzEyNTogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVdu
by1taXNzaW5nLWJyYWNlcwpjb25maWd1cmU6MTMxNTg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox
MzE2ODogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVduby1udWxsLXBvaW50
ZXItYXJpdGhtZXRpYwpjb25maWd1cmU6MTMyMDE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzIx
MTogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVduby1pbXBsaWNpdC1jb25z
dC1pbnQtZmxvYXQtY29udmVyc2lvbgpjb25maWd1cmU6MTMyNDQ6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZToxMzI1NDogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVduby1pbnQt
aW4tYm9vbC1jb250ZXh0CmNvbmZpZ3VyZToxMzI4NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEz
Mjk3OiBjaGVja2luZyB3aGV0aGVyIEMgY29tcGlsZXIgaGFuZGxlcyAtV25vLXNoaWZ0LW92ZXJm
bG93CmNvbmZpZ3VyZToxMzMzMDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzNDA2OiBjaGVja2lu
ZyB3aGV0aGVyIEMgY29tcGlsZXIgaGFuZGxlcyAtV25vLWluaXRpYWxpemVyLW92ZXJyaWRlcwpj
b25maWd1cmU6MTM0Mzk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzQ0OTogY2hlY2tpbmcgd2hl
dGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVduby10YXV0b2xvZ2ljYWwtY29tcGFyZQpjb25maWd1
cmU6MTM0ODI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzQ5MjogY2hlY2tpbmcgd2hldGhlciBD
IGNvbXBpbGVyIGhhbmRsZXMgLVduby10YXV0b2xvZ2ljYWwtY29uc3RhbnQtb3V0LW9mLXJhbmdl
LWNvbXBhcmUKY29uZmlndXJlOjEzNTI1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM1NDE6IGNo
ZWNraW5nIHdoZXRoZXIgQyBjb21waWxlciBoYW5kbGVzIC1Xbm8tZGVwcmVjYXRlZC1kZWNsYXJh
dGlvbnMKY29uZmlndXJlOjEzNTc0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM3NjA6IGNoZWNr
aW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwKY29uZmlndXJlOjEzODM0OiByZXN1bHQ6
IC9vcHQvaG9tZWJyZXcvYmluL2dpbnN0YWxsIC1jCmNvbmZpZ3VyZToxMzg0OTogY2hlY2tpbmcg
Zm9yIGdhd2sKY29uZmlndXJlOjEzODgyOiByZXN1bHQ6IGF3awpjb25maWd1cmU6MTM4OTY6IGNo
ZWNraW5nIGNvbW1hbmQgdG8gc3ltbGluayBmaWxlcyBpbiB0aGUgc2FtZSBkaXJlY3RvcnkKY29u
ZmlndXJlOjEzOTE5OiByZXN1bHQ6IGxuIC1zCmNvbmZpZ3VyZToxMzkzMzogY2hlY2tpbmcgZm9y
IGluc3RhbGwtaW5mbwpjb25maWd1cmU6MTM5NzA6IHJlc3VsdDogL29wdC9ob21lYnJldy9iaW4v
aW5zdGFsbC1pbmZvCmNvbmZpZ3VyZToxMzk4MDogY2hlY2tpbmcgZm9yIGd6aXAKY29uZmlndXJl
OjE0MDE2OiByZXN1bHQ6IC91c3IvYmluL2d6aXAKY29uZmlndXJlOjE0MDI4OiBjaGVja2luZyBm
b3IgJ2ZpbmQnIGFyZ3MgdG8gZGVsZXRlIGEgZmlsZQpjb25maWd1cmU6MTQwNDM6IHJlc3VsdDog
LWRlbGV0ZQpjb25maWd1cmU6MTQwNjA6IGNoZWNraW5nIGZvciBicmV3CmNvbmZpZ3VyZToxNDA5
MzogcmVzdWx0OiBicmV3CmNvbmZpZ3VyZToxNDEwNzogY2hlY2tpbmcgZm9yIG1ha2VpbmZvCmNv
bmZpZ3VyZToxNDE0MzogcmVzdWx0OiAvb3B0L2hvbWVicmV3L2Jpbi9tYWtlaW5mbwpjb25maWd1
cmU6MTQxNTc6IGNoZWNraW5nIGZvciBwb3J0CmNvbmZpZ3VyZToxNDE5NjogcmVzdWx0OiBubwpj
b25maWd1cmU6MTQyNTQ6IGNoZWNraW5nIHdoZXRoZXIgYWRkcmVzc2VzIGFyZSBzYW5pdGl6ZWQK
Y29uZmlndXJlOjE0Mjg4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNDMzODogY2hlY2tpbmcgZm9y
IGZsYWdzIHRvIHdvcmsgYXJvdW5kIEdDQyBidWcgNTg0MTYKY29uZmlndXJlOjE0Mzk5OiByZXN1
bHQ6IG5vbmUgbmVlZGVkCmNvbmZpZ3VyZToxNDQ2NTogY2hlY2tpbmcgZm9yIG1hdGggbGlicmFy
eQpjb25maWd1cmU6MTQ1MzY6IHJlc3VsdDogbm9uZSByZXF1aXJlZApjb25maWd1cmU6MTQ2NDQ6
IGNoZWNraW5nIGZvciBwa2ctY29uZmlnCmNvbmZpZ3VyZToxNDY4MDogcmVzdWx0OiAvb3B0L2hv
bWVicmV3L2Jpbi9wa2ctY29uZmlnCmNvbmZpZ3VyZToxNDcwNTogY2hlY2tpbmcgcGtnLWNvbmZp
ZyBpcyBhdCBsZWFzdCB2ZXJzaW9uIDAuOS4wCmNvbmZpZ3VyZToxNDcwODogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjE0NzI4OiBjaGVja2luZyBmb3IgbWFjaGluZS9zb3VuZGNhcmQuaApjb25maWd1
cmU6MTQ3Mjg6IHJlc3VsdDogbm8KY29uZmlndXJlOjE0NzI4OiBjaGVja2luZyBmb3Igc3lzL3Nv
dW5kY2FyZC5oCmNvbmZpZ3VyZToxNDcyODogcmVzdWx0OiBubwpjb25maWd1cmU6MTQ3Mjg6IGNo
ZWNraW5nIGZvciBzb3VuZGNhcmQuaApjb25maWd1cmU6MTQ3Mjg6IHJlc3VsdDogbm8KY29uZmln
dXJlOjE0NzI4OiBjaGVja2luZyBmb3IgbW1zeXN0ZW0uaApjb25maWd1cmU6MTQ3Mjg6IHJlc3Vs
dDogbm8KY29uZmlndXJlOjE0NzQ5OiBjaGVja2luZyBmb3IgX29zc19pb2N0bCBpbiAtbG9zc2F1
ZGlvCmNvbmZpZ3VyZToxNDc5MDogcmVzdWx0OiBubwpjb25maWd1cmU6MTQ5MTA6IGNoZWNraW5n
IGZvciBhbHNhID49IDEuMC4wCmNvbmZpZ3VyZToxNDkxNzogJFBLR19DT05GSUcgLS1leGlzdHMg
LS1wcmludC1lcnJvcnMgIiRBTFNBX01PRFVMRVMiClBhY2thZ2UgYWxzYSB3YXMgbm90IGZvdW5k
IGluIHRoZSBwa2ctY29uZmlnIHNlYXJjaCBwYXRoLgpQZXJoYXBzIHlvdSBzaG91bGQgYWRkIHRo
ZSBkaXJlY3RvcnkgY29udGFpbmluZyBgYWxzYS5wYycKdG8gdGhlIFBLR19DT05GSUdfUEFUSCBl
bnZpcm9ubWVudCB2YXJpYWJsZQpQYWNrYWdlICdhbHNhJyBub3QgZm91bmQKY29uZmlndXJlOjE0
OTIwOiAkPyA9IDEKY29uZmlndXJlOjE0OTM0OiAkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXByaW50
LWVycm9ycyAiJEFMU0FfTU9EVUxFUyIKUGFja2FnZSBhbHNhIHdhcyBub3QgZm91bmQgaW4gdGhl
IHBrZy1jb25maWcgc2VhcmNoIHBhdGguClBlcmhhcHMgeW91IHNob3VsZCBhZGQgdGhlIGRpcmVj
dG9yeSBjb250YWluaW5nIGBhbHNhLnBjJwp0byB0aGUgUEtHX0NPTkZJR19QQVRIIGVudmlyb25t
ZW50IHZhcmlhYmxlClBhY2thZ2UgJ2Fsc2EnIG5vdCBmb3VuZApjb25maWd1cmU6MTQ5Mzc6ICQ/
ID0gMQpjb25maWd1cmU6MTQ5NTE6IHJlc3VsdDogbm8KUGFja2FnZSAnYWxzYScgbm90IGZvdW5k
CmNvbmZpZ3VyZToxNTAyMTogY2hlY2tpbmcgZm9yIEFERFJfTk9fUkFORE9NSVpFCmNvbmZpZ3Vy
ZToxNTA0OTogcmVzdWx0OiBubwpjb25maWd1cmU6MTUxMjk6IGNsYW5nIC1FICAgIGNvbmZ0ZXN0
LmMKY29uZmlndXJlOjE1MTI5OiAkPyA9IDAKY29uZmlndXJlOjE1MTM2OiBjaGVja2luZyBmb3Ig
c3lzL3dhaXQuaCB0aGF0IGlzIFBPU0lYLjEgY29tcGF0aWJsZQpjb25maWd1cmU6MTUxNzM6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZToxNTE4NDogY2hlY2tpbmcgZm9yIG5ldC9pZi5oCmNvbmZpZ3Vy
ZToxNTE4NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1MTk1OiBjaGVja2luZyBmb3IgaWZhZGRy
cy5oCmNvbmZpZ3VyZToxNTE5NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1MjA2OiBjaGVja2lu
ZyBmb3IgbmV0L2lmX2RsLmgKY29uZmlndXJlOjE1MjA2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6
MTUyMTg6IGNoZWNraW5nIGZvciBzdHJ1Y3QgaWZyZXEuaWZyX2ZsYWdzCmNvbmZpZ3VyZToxNTIx
ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1MjMzOiBjaGVja2luZyBmb3Igc3RydWN0IGlmcmVx
Lmlmcl9od2FkZHIKY29uZmlndXJlOjE1MjMzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNTI0ODog
Y2hlY2tpbmcgZm9yIHN0cnVjdCBpZnJlcS5pZnJfbmV0bWFzawpjb25maWd1cmU6MTUyNDg6IHJl
c3VsdDogbm8KY29uZmlndXJlOjE1MjYzOiBjaGVja2luZyBmb3Igc3RydWN0IGlmcmVxLmlmcl9i
cm9hZGFkZHIKY29uZmlndXJlOjE1MjYzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTUyNzg6IGNo
ZWNraW5nIGZvciBzdHJ1Y3QgaWZyZXEuaWZyX2FkZHIKY29uZmlndXJlOjE1Mjc4OiByZXN1bHQ6
IHllcwpjb25maWd1cmU6MTUyOTM6IGNoZWNraW5nIGZvciBzdHJ1Y3QgaWZyZXEuaWZyX2FkZHIu
c2FfbGVuCmNvbmZpZ3VyZToxNTI5MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1MzE1OiBjaGVj
a2luZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtTU1EIC1NRgpjb25maWd1cmU6MTUzNDc6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZToxNTM3MjogY2hlY2tpbmcgZm9yIGNsYW5nIG9wdGlvbnMgbmVl
ZGVkIHRvIGRldGVjdCBhbGwgdW5kZWNsYXJlZCBmdW5jdGlvbnMKY29uZmlndXJlOjE1NDQxOiBy
ZXN1bHQ6IG5vbmUgbmVlZGVkCmNvbmZpZ3VyZToxNTU1NTogY2hlY2tpbmcgZm9yIHN0cnVjdCBw
YXNzd2QucHdfZ2Vjb3MKY29uZmlndXJlOjE1NTU1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU1
ODc6IGNoZWNraW5nIGZvciBYCmNvbmZpZ3VyZToxNTgwNDogcmVzdWx0OiBubwpjb25maWd1cmU6
MTU5Nzc6IGNoZWNraW5nIGZvciBBcHBLaXQvQXBwS2l0LmgKY29uZmlndXJlOjE1OTc3OiBjbGFu
ZyAtYyAtV2dudS1pbWFnaW5hcnktY29uc3RhbnQgLVd1bnVzZWQtcmVzdWx0IC1nIC1GIC9BcHBs
aWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBs
YXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jr
cyAtV25vLWlnbm9yZWQtYXR0cmlidXRlcyAtV25vLWZsYWctZW51bSAtV25vLW1pc3NpbmctbWV0
aG9kLXJldHVybi10eXBlIC1Xbm8tdmFyaWFkaWMtbWFjcm9zIC1Xbm8tc3RyaWN0LXByb3RvdHlw
ZXMgLVduby1hdmFpbGFiaWxpdHkgLVduby1udWxsYWJpbGl0eS1jb21wbGV0ZW5lc3MgLU8gLXgg
b2JqZWN0aXZlLWMgICAgIC14IG9iamVjdGl2ZS1jICBjb25mdGVzdC5jID4mNQpJbiBmaWxlIGlu
Y2x1ZGVkIGZyb20gY29uZnRlc3QuYzoxMDY6CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvQXBwbGlj
YXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0
Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mv
QXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL0FwcEtpdC5oOjEwOgpJbiBmaWxlIGluY2x1ZGVkIGZy
b20gL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9N
YWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL0hlYWRlcnMvRm91bmRhdGlvbi5oOjk0OgpJ
biBmaWxlIGluY2x1ZGVkIGZyb20gL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2
ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNk
ay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL0hlYWRlcnMv
TlNVUkxFcnJvci5oOjE1OgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL0FwcGxpY2F0aW9ucy9YY29k
ZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxv
cGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVTZXJ2aWNl
cy5mcmFtZXdvcmsvSGVhZGVycy9Db3JlU2VydmljZXMuaDoyMzoKSW4gZmlsZSBpbmNsdWRlZCBm
cm9tIC9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMv
TWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkv
RnJhbWV3b3Jrcy9Db3JlU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvQUUuZnJhbWV3b3Jr
L0hlYWRlcnMvQUUuaDoyMDoKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9BcHBsaWNhdGlvbnMvWGNv
ZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVs
b3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlU2Vydmlj
ZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvQ2FyYm9uQ29yZS5mcmFtZXdvcmsvSGVhZGVycy9DYXJi
b25Db3JlLmg6Mzk6Ci9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9Q
bGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVt
L0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvQ2Fy
Ym9uQ29yZS5mcmFtZXdvcmsvSGVhZGVycy9TY3JpcHQuaDo4Mzc6Mzogd2FybmluZzogJ1Njcmlw
dFRva2VuVHlwZScgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxMy4w
IC0gRGVwcmVjYXRlZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICA4MzcgfCAgIFNjcmlw
dFRva2VuVHlwZSAgICAgdGhlVG9rZW47CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUu
YXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Bl
ci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlU2VydmljZXMu
ZnJhbWV3b3JrL0ZyYW1ld29ya3MvQ2FyYm9uQ29yZS5mcmFtZXdvcmsvSGVhZGVycy9TY3JpcHQu
aDo4MzM6NDE6IG5vdGU6ICdTY3JpcHRUb2tlblR5cGUnIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFy
a2VkIGRlcHJlY2F0ZWQgaGVyZQogIDgzMyB8IHR5cGVkZWYgc2hvcnQgICAgICAgICAgICAgICAg
ICAgICAgICAgICBTY3JpcHRUb2tlblR5cGUgQVBJX0RFUFJFQ0FURUQoICJEZXByZWNhdGVkIiwg
bWFjb3MoMTAuMCwxMy4wKSk7OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9Q
bGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVt
L0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvQ2Fy
Ym9uQ29yZS5mcmFtZXdvcmsvSGVhZGVycy9TY3JpcHQuaDo4NTc6Mzogd2FybmluZzogJ1Njcmlw
dFRva2VuVHlwZScgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxMy4w
IC0gRGVwcmVjYXRlZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICA4NTcgfCAgIFNjcmlw
dFRva2VuVHlwZSAgICAgbGVmdERlbGltc1syXTsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9Y
Y29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2
ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVTZXJ2
aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9DYXJib25Db3JlLmZyYW1ld29yay9IZWFkZXJzL1Nj
cmlwdC5oOjgzMzo0MTogbm90ZTogJ1NjcmlwdFRva2VuVHlwZScgaGFzIGJlZW4gZXhwbGljaXRs
eSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgODMzIHwgdHlwZWRlZiBzaG9ydCAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFNjcmlwdFRva2VuVHlwZSBBUElfREVQUkVDQVRFRCggIkRlcHJlY2F0
ZWQiLCBtYWNvcygxMC4wLDEzLjApKTs7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxv
cGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9T
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVTZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jr
cy9DYXJib25Db3JlLmZyYW1ld29yay9IZWFkZXJzL1NjcmlwdC5oOjg1ODozOiB3YXJuaW5nOiAn
U2NyaXB0VG9rZW5UeXBlJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09T
IDEzLjAgLSBEZXByZWNhdGVkIFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogIDg1OCB8ICAg
U2NyaXB0VG9rZW5UeXBlICAgICByaWdodERlbGltc1syXTsKICAgICAgfCAgIF4KL0FwcGxpY2F0
aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZv
cm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0Nv
cmVTZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9DYXJib25Db3JlLmZyYW1ld29yay9IZWFk
ZXJzL1NjcmlwdC5oOjgzMzo0MTogbm90ZTogJ1NjcmlwdFRva2VuVHlwZScgaGFzIGJlZW4gZXhw
bGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgODMzIHwgdHlwZWRlZiBzaG9ydCAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFNjcmlwdFRva2VuVHlwZSBBUElfREVQUkVDQVRFRCggIkRl
cHJlY2F0ZWQiLCBtYWNvcygxMC4wLDEzLjApKTs7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMv
RGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NY
LnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVTZXJ2aWNlcy5mcmFtZXdvcmsvRnJh
bWV3b3Jrcy9DYXJib25Db3JlLmZyYW1ld29yay9IZWFkZXJzL1NjcmlwdC5oOjg1OTozOiB3YXJu
aW5nOiAnU2NyaXB0VG9rZW5UeXBlJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGlu
IG1hY09TIDEzLjAgLSBEZXByZWNhdGVkIFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogIDg1
OSB8ICAgU2NyaXB0VG9rZW5UeXBlICAgICBsZWZ0Q29tbWVudFs0XTsKICAgICAgfCAgIF4KL0Fw
cGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gu
cGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdv
cmtzL0NvcmVTZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9DYXJib25Db3JlLmZyYW1ld29y
ay9IZWFkZXJzL1NjcmlwdC5oOjgzMzo0MTogbm90ZTogJ1NjcmlwdFRva2VuVHlwZScgaGFzIGJl
ZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgODMzIHwgdHlwZWRlZiBzaG9y
dCAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmlwdFRva2VuVHlwZSBBUElfREVQUkVDQVRF
RCggIkRlcHJlY2F0ZWQiLCBtYWNvcygxMC4wLDEzLjApKTs7CiAgICAgIHwgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29u
dGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3Mv
TWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVTZXJ2aWNlcy5mcmFtZXdv
cmsvRnJhbWV3b3Jrcy9DYXJib25Db3JlLmZyYW1ld29yay9IZWFkZXJzL1NjcmlwdC5oOjg2MDoz
OiB3YXJuaW5nOiAnU2NyaXB0VG9rZW5UeXBlJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNh
dGVkIGluIG1hY09TIDEzLjAgLSBEZXByZWNhdGVkIFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25z
XQogIDg2MCB8ICAgU2NyaXB0VG9rZW5UeXBlICAgICByaWdodENvbW1lbnRbNF07CiAgICAgIHwg
ICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMv
TWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkv
RnJhbWV3b3Jrcy9Db3JlU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvQ2FyYm9uQ29yZS5m
cmFtZXdvcmsvSGVhZGVycy9TY3JpcHQuaDo4MzM6NDE6IG5vdGU6ICdTY3JpcHRUb2tlblR5cGUn
IGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogIDgzMyB8IHR5cGVk
ZWYgc2hvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICBTY3JpcHRUb2tlblR5cGUgQVBJX0RF
UFJFQ0FURUQoICJEZXByZWNhdGVkIiwgbWFjb3MoMTAuMCwxMy4wKSk7OwogICAgICB8ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUu
YXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Bl
ci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlU2VydmljZXMu
ZnJhbWV3b3JrL0ZyYW1ld29ya3MvQ2FyYm9uQ29yZS5mcmFtZXdvcmsvSGVhZGVycy9TY3JpcHQu
aDo4NjE6Mzogd2FybmluZzogJ1NjcmlwdFRva2VuVHlwZScgaXMgZGVwcmVjYXRlZDogZmlyc3Qg
ZGVwcmVjYXRlZCBpbiBtYWNPUyAxMy4wIC0gRGVwcmVjYXRlZCBbLVdkZXByZWNhdGVkLWRlY2xh
cmF0aW9uc10KICA4NjEgfCAgIFNjcmlwdFRva2VuVHlwZSAgICAgZXNjYXBlQ29kZTsgICAgICAg
ICAgICAgLyplc2NhcGUgc3ltYm9sIGNvZGUqLwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hj
b2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZl
bG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZVNlcnZp
Y2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL0NhcmJvbkNvcmUuZnJhbWV3b3JrL0hlYWRlcnMvU2Ny
aXB0Lmg6ODMzOjQxOiBub3RlOiAnU2NyaXB0VG9rZW5UeXBlJyBoYXMgYmVlbiBleHBsaWNpdGx5
IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICA4MzMgfCB0eXBlZGVmIHNob3J0ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgU2NyaXB0VG9rZW5UeXBlIEFQSV9ERVBSRUNBVEVEKCAiRGVwcmVjYXRl
ZCIsIG1hY29zKDEwLjAsMTMuMCkpOzsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9w
ZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5
c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZVNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtz
L0NhcmJvbkNvcmUuZnJhbWV3b3JrL0hlYWRlcnMvU2NyaXB0Lmg6ODYyOjM6IHdhcm5pbmc6ICdT
Y3JpcHRUb2tlblR5cGUnIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1Mg
MTMuMCAtIERlcHJlY2F0ZWQgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgODYyIHwgICBT
Y3JpcHRUb2tlblR5cGUgICAgIGRlY2ltYWxDb2RlOwogICAgICB8ICAgXgovQXBwbGljYXRpb25z
L1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9E
ZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZVNl
cnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL0NhcmJvbkNvcmUuZnJhbWV3b3JrL0hlYWRlcnMv
U2NyaXB0Lmg6ODMzOjQxOiBub3RlOiAnU2NyaXB0VG9rZW5UeXBlJyBoYXMgYmVlbiBleHBsaWNp
dGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICA4MzMgfCB0eXBlZGVmIHNob3J0ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgU2NyaXB0VG9rZW5UeXBlIEFQSV9ERVBSRUNBVEVEKCAiRGVwcmVj
YXRlZCIsIG1hY29zKDEwLjAsMTMuMCkpOzsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gY29uZnRlc3QuYzoxMDY6
CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9E
ZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1gu
c2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL0Fw
cEtpdC5oOjE1OgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAv
Q29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NE
S3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsv
SGVhZGVycy9OU0FjY2Vzc2liaWxpdHlDb2xvci5oOjk6CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAv
QXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09T
WC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1l
d29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TQ29sb3IuaDo0NjoKSW4gZmlsZSBpbmNs
dWRlZCBmcm9tIC9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0
Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNBcHBsaWNhdGlvbi5o
OjEwOgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVu
dHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFj
T1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVy
cy9OU1Jlc3BvbmRlci5oOjEwOgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL0FwcGxpY2F0aW9ucy9Y
Y29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2
ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5m
cmFtZXdvcmsvSGVhZGVycy9OU0V2ZW50Lmg6MTA6CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvQXBw
bGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5w
bGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29y
a3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvSGVhZGVycy9BcHBsaWNhdGlvblNlcnZp
Y2VzLmg6NDM6CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvQXBwbGljYXRpb25zL1hjb2RlLmFwcC9D
b250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RL
cy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNl
cy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9ISVNlcnZpY2VzLmZyYW1ld29yay9IZWFkZXJzL0hJU2Vy
dmljZXMuaDoyNjoKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9BcHBsaWNhdGlvbnMvWGNvZGUuYXBw
L0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9T
REtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZp
Y2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL0hJU2VydmljZXMuZnJhbWV3b3JrL0hlYWRlcnMvSElT
aGFwZS5oOjIyOgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAv
Q29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NE
S3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2Vydmlj
ZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvUXVpY2tkcmF3Lmg6
MzE6Ci9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMv
TWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkv
RnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZy
YW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDo0NzU6Mzogd2FybmluZzogJ0NN
RGF0ZVRpbWUnIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAuNiBb
LVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICA0NzUgfCAgIENNRGF0ZVRpbWUgICAgICAgICAg
ZGF0ZVRpbWU7ICAgICAgICAgICAgICAgLyogZGF0ZSBhbmQgdGltZSBvZiBwcm9maWxlIGNyZWF0
aW9uICovCiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVs
b3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsv
U3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9G
cmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDo0MjQ6
Mzogbm90ZTogJ0NNRGF0ZVRpbWUnIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0
ZWQgaGVyZQogIDQyNCB8IH0gQ01EYXRlVGltZSBERVBSRUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJ
T05fMTBfNl9BTkRfTEFURVI7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0Nv
bnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtz
L01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2Vz
LmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJl
Y2F0ZWQuaDo0ODM6Mzogd2FybmluZzogJ0NNRml4ZWRYWVpDb2xvcicgaXMgZGVwcmVjYXRlZDog
Zmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25z
XQogIDQ4MyB8ICAgQ01GaXhlZFhZWkNvbG9yICAgICB3aGl0ZTsgICAgICAgICAgICAgICAgICAv
KiBwcm9maWxlIGlsbHVtaW5hbnQgKi8KICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5h
cHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVy
L1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2Vy
dmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5j
RGVwcmVjYXRlZC5oOjQzNTozOiBub3RlOiAnQ01GaXhlZFhZWkNvbG9yJyBoYXMgYmVlbiBleHBs
aWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICA0MzUgfCB9IENNRml4ZWRYWVpDb2xvciBE
RVBSRUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJT05fMTBfNl9BTkRfTEFURVI7CiAgICAgIHwgICBe
Ci9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFj
T1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1l
d29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDo0OTU6Mzogd2FybmluZzogJ0NNRGF0
ZVRpbWUnIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAuNiBbLVdk
ZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICA0OTUgfCAgIENNRGF0ZVRpbWUgICAgICAgICAgZGF0
ZVRpbWU7ICAgICAgICAgICAgICAgLyogZGF0ZSBhbmQgdGltZSBvZiBwcm9maWxlIGNyZWF0aW9u
ICovCiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Bl
ci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lz
dGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFt
ZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDo0MjQ6Mzog
bm90ZTogJ0NNRGF0ZVRpbWUnIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQg
aGVyZQogIDQyNCB8IH0gQ01EYXRlVGltZSBERVBSRUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJT05f
MTBfNl9BTkRfTEFURVI7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRl
bnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01h
Y09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZy
YW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0
ZWQuaDo1MDM6Mzogd2FybmluZzogJ0NNRml4ZWRYWVpDb2xvcicgaXMgZGVwcmVjYXRlZDogZmly
c3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQog
IDUwMyB8ICAgQ01GaXhlZFhZWkNvbG9yICAgICB3aGl0ZTsgICAgICAgICAgICAgICAgICAvKiBw
cm9maWxlIGlsbHVtaW5hbnQgKi8KICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAv
Q29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NE
S3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2Vydmlj
ZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVw
cmVjYXRlZC5oOjQzNTozOiBub3RlOiAnQ01GaXhlZFhZWkNvbG9yJyBoYXMgYmVlbiBleHBsaWNp
dGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICA0MzUgfCB9IENNRml4ZWRYWVpDb2xvciBERVBS
RUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJT05fMTBfNl9BTkRfTEFURVI7CiAgICAgIHwgICBeCi9B
cHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NY
LnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3
b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29y
ay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDo1MDU6Mzogd2FybmluZzogJ0NNUHJvZmls
ZU1ENScgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2Rl
cHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogIDUwNSB8ICAgQ01Qcm9maWxlTUQ1ICAgICAgICBkaWdl
c3Q7ICAgICAgICAgICAgICAgICAvKiBQcm9maWxlIG1lc3NhZ2UgZGlnZXN0ICovCiAgICAgIHwg
ICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMv
TWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkv
RnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZy
YW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDo0NDg6NDE6IG5vdGU6ICdDTVBy
b2ZpbGVNRDUnIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogIDQ0
OCB8IHR5cGVkZWYgdW5zaWduZWQgY2hhciAgICAgICAgICAgICAgICAgICBDTVByb2ZpbGVNRDVb
MTZdIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsKICAgICAg
fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25z
L1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9E
ZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGlj
YXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9D
b2xvclN5bmNEZXByZWNhdGVkLmg6NTE3OjM6IHdhcm5pbmc6ICdDTVRhZ1JlY29yZCcgaXMgZGVw
cmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVj
bGFyYXRpb25zXQogIDUxNyB8ICAgQ01UYWdSZWNvcmQgICAgICAgICB0YWdMaXN0WzFdOyAgICAg
ICAgICAgICAvKiB2YXJpYWJsZSBzaXplLCBkZXRlcm1pbmVkIGJ5IGNvdW50ICovCiAgICAgIHwg
ICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMv
TWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkv
RnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZy
YW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDo1MTM6Mzogbm90ZTogJ0NNVGFn
UmVjb3JkJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICA1MTMg
fCB9IENNVGFnUmVjb3JkIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9M
QVRFUjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxv
cGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9T
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0Zy
YW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjUyMToz
OiB3YXJuaW5nOiAnQ00ySGVhZGVyJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGlu
IG1hY09TIDEwLjYgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgNTIxIHwgICBDTTJIZWFk
ZXIgICAgICAgICAgIGhlYWRlcjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAv
Q29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NE
S3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2Vydmlj
ZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVw
cmVjYXRlZC5oOjQ4NjozOiBub3RlOiAnQ00ySGVhZGVyJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1h
cmtlZCBkZXByZWNhdGVkIGhlcmUKICA0ODYgfCB9IENNMkhlYWRlciBERVBSRUNBVEVEX0lOX01B
Q19PU19YX1ZFUlNJT05fMTBfNl9BTkRfTEFURVI7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMv
WGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0Rl
dmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNh
dGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0Nv
bG9yU3luY0RlcHJlY2F0ZWQuaDo1MjI6Mzogd2FybmluZzogJ0NNVGFnRWxlbVRhYmxlJyBpcyBk
ZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDEwLjYgWy1XZGVwcmVjYXRlZC1k
ZWNsYXJhdGlvbnNdCiAgNTIyIHwgICBDTVRhZ0VsZW1UYWJsZSAgICAgIHRhZ1RhYmxlOwogICAg
ICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZv
cm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJy
YXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9R
RC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6NTE4OjM6IG5vdGU6ICdD
TVRhZ0VsZW1UYWJsZScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJl
CiAgNTE4IHwgfSBDTVRhZ0VsZW1UYWJsZSBERVBSRUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJT05f
MTBfNl9BTkRfTEFURVI7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRl
bnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01h
Y09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZy
YW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0
ZWQuaDo1NTA6Mzogd2FybmluZzogJ0NNRGF0ZVRpbWUnIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRl
cHJlY2F0ZWQgaW4gbWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICA1NTAg
fCAgIENNRGF0ZVRpbWUgICAgICAgICAgZGF0ZVRpbWU7ICAgICAgICAgICAgICAgLyogKi8KICAg
ICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRm
b3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGli
cmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3Mv
UUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjQyNDozOiBub3RlOiAn
Q01EYXRlVGltZScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAg
NDI0IHwgfSBDTURhdGVUaW1lIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FO
RF9MQVRFUjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2
ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNk
ay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3Jr
L0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjYx
ODozOiB3YXJuaW5nOiAnQ01GaXhlZFhZWkNvbG9yJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXBy
ZWNhdGVkIGluIG1hY09TIDEwLjYgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgNjE4IHwg
ICBDTUZpeGVkWFlaQ29sb3IgICAgIGJhY2tpbmdYWVo7ICAgICAgICAgICAgIC8qIGFic29sdXRl
IFhZWiB2YWx1ZXMgb2YgYmFja2luZyAqLwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2Rl
LmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9w
ZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25T
ZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5
bmNEZXByZWNhdGVkLmg6NDM1OjM6IG5vdGU6ICdDTUZpeGVkWFlaQ29sb3InIGhhcyBiZWVuIGV4
cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogIDQzNSB8IH0gQ01GaXhlZFhZWkNvbG9y
IERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsKICAgICAgfCAg
IF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9N
YWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJh
bWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjY2MjozOiB3YXJuaW5nOiAnQ01G
aXhlZFhZQ29sb3InIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAu
NiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICA2NjIgfCAgIENNRml4ZWRYWUNvbG9yICAg
ICAgcmVkUGhvc3Bob3I7ICAgICAgICAgICAgLyogUGhvc3Bob3JzIC0gbmF0aXZlIGNyb21hdGlj
aXR5IHZhbHVlcyBvZiB0aGUgZGlzcGxheSAgKi8KICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9Y
Y29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2
ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0
aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29s
b3JTeW5jRGVwcmVjYXRlZC5oOjQyOTozOiBub3RlOiAnQ01GaXhlZFhZQ29sb3InIGhhcyBiZWVu
IGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogIDQyOSB8IH0gQ01GaXhlZFhZQ29s
b3IgREVQUkVDQVRFRF9JTl9NQUNfT1NfWF9WRVJTSU9OXzEwXzZfQU5EX0xBVEVSOwogICAgICB8
ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1z
L01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5
L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5m
cmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6NjYzOjM6IHdhcm5pbmc6ICdD
TUZpeGVkWFlDb2xvcicgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAx
MC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogIDY2MyB8ICAgQ01GaXhlZFhZQ29sb3Ig
ICAgICBncmVlblBob3NwaG9yOwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9D
b250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RL
cy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNl
cy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXBy
ZWNhdGVkLmg6NDI5OjM6IG5vdGU6ICdDTUZpeGVkWFlDb2xvcicgaGFzIGJlZW4gZXhwbGljaXRs
eSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgNDI5IHwgfSBDTUZpeGVkWFlDb2xvciBERVBSRUNB
VEVEX0lOX01BQ19PU19YX1ZFUlNJT05fMTBfNl9BTkRfTEFURVI7CiAgICAgIHwgICBeCi9BcHBs
aWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBs
YXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jr
cy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9I
ZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDo2NjQ6Mzogd2FybmluZzogJ0NNRml4ZWRYWUNv
bG9yJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDEwLjYgWy1XZGVw
cmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgNjY0IHwgICBDTUZpeGVkWFlDb2xvciAgICAgIGJsdWVQ
aG9zcGhvcjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2
ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNk
ay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3Jr
L0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjQy
OTozOiBub3RlOiAnQ01GaXhlZFhZQ29sb3InIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRl
cHJlY2F0ZWQgaGVyZQogIDQyOSB8IH0gQ01GaXhlZFhZQ29sb3IgREVQUkVDQVRFRF9JTl9NQUNf
T1NfWF9WRVJTSU9OXzEwXzZfQU5EX0xBVEVSOwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hj
b2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZl
bG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRp
b25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xv
clN5bmNEZXByZWNhdGVkLmg6NjY1OjM6IHdhcm5pbmc6ICdDTUZpeGVkWFlDb2xvcicgaXMgZGVw
cmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVj
bGFyYXRpb25zXQogIDY2NSB8ICAgQ01GaXhlZFhZQ29sb3IgICAgICB3aGl0ZVBvaW50OwogICAg
ICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZv
cm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJy
YXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9R
RC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6NDI5OjM6IG5vdGU6ICdD
TUZpeGVkWFlDb2xvcicgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJl
CiAgNDI5IHwgfSBDTUZpeGVkWFlDb2xvciBERVBSRUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJT05f
MTBfNl9BTkRfTEFURVI7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRl
bnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01h
Y09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZy
YW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0
ZWQuaDo2ODE6Mzogd2FybmluZzogJ0NNTmF0aXZlRGlzcGxheUluZm8nIGlzIGRlcHJlY2F0ZWQ6
IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9u
c10KICA2ODEgfCAgIENNTmF0aXZlRGlzcGxheUluZm8gbmF0aXZlRGlzcGxheUluZm87ICAgICAg
LyogZGF0YSBvZiB0eXBlIENNTmF0aXZlRGlzcGxheUluZm8gKi8KICAgICAgfCAgIF4KL0FwcGxp
Y2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxh
dGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz
L0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hl
YWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjY3NjozOiBub3RlOiAnQ01OYXRpdmVEaXNwbGF5
SW5mbycgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgNjc2IHwg
fSBDTU5hdGl2ZURpc3BsYXlJbmZvIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82
X0FORF9MQVRFUjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMv
RGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NY
LnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3
b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5o
OjczNDozOiB3YXJuaW5nOiAnQ01TY3JlZW5pbmdDaGFubmVsUmVjJyBpcyBkZXByZWNhdGVkOiBm
aXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDEwLjYgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNd
CiAgNzM0IHwgICBDTVNjcmVlbmluZ0NoYW5uZWxSZWMgIGNoYW5uZWxJbmZvWzFdOyAgICAgIC8q
IHZhcmlhYmxlIHNpemUsIGRldGVybWluZWQgYnkgY2hhbm5lbENvdW50ICovCiAgICAgIHwgICBe
Ci9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFj
T1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1l
d29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDo3Mjc6Mzogbm90ZTogJ0NNU2NyZWVu
aW5nQ2hhbm5lbFJlYycgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJl
CiAgNzI3IHwgfSBDTVNjcmVlbmluZ0NoYW5uZWxSZWMgREVQUkVDQVRFRF9JTl9NQUNfT1NfWF9W
RVJTSU9OXzEwXzZfQU5EX0xBVEVSOwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFw
cC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIv
U0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2
aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNE
ZXByZWNhdGVkLmg6NzgyOjM6IHdhcm5pbmc6ICdDTUZpeGVkWFlaQ29sb3InIGlzIGRlcHJlY2F0
ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0
aW9uc10KICA3ODIgfCAgIENNRml4ZWRYWVpDb2xvciAgICAgaWxsdW1pbmFudDsgICAgICAgICAg
ICAgLyogYWJzb2x1dGUgWFlacyBvZiBpbGx1bWluYW50ICBpbiBjZC9tXjIgKi8KICAgICAgfCAg
IF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9N
YWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJh
bWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjQzNTozOiBub3RlOiAnQ01GaXhl
ZFhZWkNvbG9yJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICA0
MzUgfCB9IENNRml4ZWRYWVpDb2xvciBERVBSRUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJT05fMTBf
Nl9BTkRfTEFURVI7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRz
L0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09T
WC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1l
d29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQu
aDo3ODM6Mzogd2FybmluZzogJ0NNRml4ZWRYWVpDb2xvcicgaXMgZGVwcmVjYXRlZDogZmlyc3Qg
ZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogIDc4
MyB8ICAgQ01GaXhlZFhZWkNvbG9yICAgICBzdXJyb3VuZDsgICAgICAgICAgICAgICAvKiBhYnNv
bHV0ZSBYWVpzIG9mIHN1cnJvdW5kIGluIGNkL21eMiAqLwogICAgICB8ICAgXgovQXBwbGljYXRp
b25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9y
bS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBw
bGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVy
cy9Db2xvclN5bmNEZXByZWNhdGVkLmg6NDM1OjM6IG5vdGU6ICdDTUZpeGVkWFlaQ29sb3InIGhh
cyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogIDQzNSB8IH0gQ01GaXhl
ZFhZWkNvbG9yIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsK
ICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1Bs
YXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0v
TGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29y
a3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjc5MDozOiB3YXJu
aW5nOiAnQ01GaXhlZFhZWkNvbG9yJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGlu
IG1hY09TIDEwLjYgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgNzkwIHwgICBDTUZpeGVk
WFlaQ29sb3IgICAgIFhZWlsxXTsgICAgICAgICAgICAgICAgIC8qIHZhcmlhYmxlIHNpemUsIGRl
dGVybWluZWQgYnkgdGFnIGVsZW1lbnQgc2l6ZSAqLwogICAgICB8ICAgXgovQXBwbGljYXRpb25z
L1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9E
ZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGlj
YXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9D
b2xvclN5bmNEZXByZWNhdGVkLmg6NDM1OjM6IG5vdGU6ICdDTUZpeGVkWFlaQ29sb3InIGhhcyBi
ZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogIDQzNSB8IH0gQ01GaXhlZFhZ
WkNvbG9yIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsKICAg
ICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRm
b3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGli
cmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3Mv
UUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjgyOTozOiB3YXJuaW5n
OiAnQ01JbnRlbnRDUkRWTVNpemUnIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4g
bWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICA4MjkgfCAgIENNSW50ZW50
Q1JEVk1TaXplICAgaW50ZW50Q1JEWzFdOyAgICAgICAgICAgLyogdmFyaWFibGUgc2l6ZSwgZGV0
ZXJtaW5lZCBieSBjb3VudCAqLwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9D
b250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RL
cy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNl
cy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXBy
ZWNhdGVkLmg6ODIzOjM6IG5vdGU6ICdDTUludGVudENSRFZNU2l6ZScgaGFzIGJlZW4gZXhwbGlj
aXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgODIzIHwgfSBDTUludGVudENSRFZNU2l6ZSBE
RVBSRUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJT05fMTBfNl9BTkRfTEFURVI7CiAgICAgIHwgICBe
Ci9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFj
T1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1l
d29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDo4NjA6NTogd2FybmluZzogJ0NNVmlk
ZW9DYXJkR2FtbWFUYWJsZScgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNP
UyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogIDg2MCB8ICAgICBDTVZpZGVvQ2Fy
ZEdhbW1hVGFibGUgICAgdGFibGU7CiAgICAgIHwgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5h
cHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVy
L1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2Vy
dmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5j
RGVwcmVjYXRlZC5oOjg0MzozOiBub3RlOiAnQ01WaWRlb0NhcmRHYW1tYVRhYmxlJyBoYXMgYmVl
biBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICA4NDMgfCB9IENNVmlkZW9DYXJk
R2FtbWFUYWJsZSBERVBSRUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJT05fMTBfNl9BTkRfTEFURVI7
CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9Q
bGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVt
L0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdv
cmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDo4NjE6NTogd2Fy
bmluZzogJ0NNVmlkZW9DYXJkR2FtbWFGb3JtdWxhJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXBy
ZWNhdGVkIGluIG1hY09TIDEwLjYgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgODYxIHwg
ICAgIENNVmlkZW9DYXJkR2FtbWFGb3JtdWxhICBmb3JtdWxhOwogICAgICB8ICAgICBeCi9BcHBs
aWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBs
YXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jr
cy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9I
ZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDo4NTU6Mzogbm90ZTogJ0NNVmlkZW9DYXJkR2Ft
bWFGb3JtdWxhJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICA4
NTUgfCB9IENNVmlkZW9DYXJkR2FtbWFGb3JtdWxhIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVS
U0lPTl8xMF82X0FORF9MQVRFUjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAv
Q29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NE
S3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2Vydmlj
ZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVw
cmVjYXRlZC5oOjg2ODozOiB3YXJuaW5nOiAnQ01WaWRlb0NhcmRHYW1tYScgaXMgZGVwcmVjYXRl
ZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRp
b25zXQogIDg2OCB8ICAgQ01WaWRlb0NhcmRHYW1tYSAgICBnYW1tYTsKICAgICAgfCAgIF4KL0Fw
cGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gu
cGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdv
cmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3Jr
L0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjg2MzozOiBub3RlOiAnQ01WaWRlb0NhcmRH
YW1tYScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgODYzIHwg
fSBDTVZpZGVvQ2FyZEdhbW1hIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FO
RF9MQVRFUjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2
ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNk
ay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3Jr
L0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjg4
NTozOiB3YXJuaW5nOiAnQ01NYWtlQW5kTW9kZWwnIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJl
Y2F0ZWQgaW4gbWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICA4ODUgfCAg
IENNTWFrZUFuZE1vZGVsICAgICAgbWFrZUFuZE1vZGVsOwogICAgICB8ICAgXgovQXBwbGljYXRp
b25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9y
bS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBw
bGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVy
cy9Db2xvclN5bmNEZXByZWNhdGVkLmg6ODgwOjM6IG5vdGU6ICdDTU1ha2VBbmRNb2RlbCcgaGFz
IGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgODgwIHwgfSBDTU1ha2VB
bmRNb2RlbCBERVBSRUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJT05fMTBfNl9BTkRfTEFURVI7CiAg
ICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0
Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtz
L1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDoxMTg3OjM6IHdhcm5p
bmc6ICdDTTJIZWFkZXInIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1Mg
MTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KIDExODcgfCAgIENNMkhlYWRlciAgICAg
ICAgICAgY20yOwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9E
ZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1gu
c2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdv
cmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6
NDg2OjM6IG5vdGU6ICdDTTJIZWFkZXInIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJl
Y2F0ZWQgaGVyZQogIDQ4NiB8IH0gQ00ySGVhZGVyIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVS
U0lPTl8xMF82X0FORF9MQVRFUjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAv
Q29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NE
S3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2Vydmlj
ZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVw
cmVjYXRlZC5oOjExODg6Mzogd2FybmluZzogJ0NNNEhlYWRlcicgaXMgZGVwcmVjYXRlZDogZmly
c3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQog
MTE4OCB8ICAgQ000SGVhZGVyICAgICAgICAgICBjbTQ7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlv
bnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3Jt
L0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBs
aWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJz
L0NvbG9yU3luY0RlcHJlY2F0ZWQuaDo1MDc6Mzogbm90ZTogJ0NNNEhlYWRlcicgaGFzIGJlZW4g
ZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgNTA3IHwgfSBDTTRIZWFkZXIgREVQ
UkVDQVRFRF9JTl9NQUNfT1NfWF9WRVJTSU9OXzEwXzZfQU5EX0xBVEVSOwogICAgICB8ICAgXgov
QXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09T
WC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1l
d29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdv
cmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTE5NjozOiB3YXJuaW5nOiAnQ01Qcm9m
aWxlUmVmJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDEwLjYgWy1X
ZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAxMTk2IHwgICBDTVByb2ZpbGVSZWYgICAgICAgIHBy
b2ZpbGVTZXRbMV07ICAgICAgICAgIC8qIFZhcmlhYmxlLiBPcmRlcmVkIGZyb20gU291cmNlIC0+
IERlc3QgKi8KICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2
ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNk
ay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3Jr
L0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjEw
MDA6NDE6IG5vdGU6ICdDTVByb2ZpbGVSZWYnIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRl
cHJlY2F0ZWQgaGVyZQogMTAwMCB8IHR5cGVkZWYgc3RydWN0IE9wYXF1ZUNNUHJvZmlsZVJlZiog
ICAgICBDTVByb2ZpbGVSZWYgREVQUkVDQVRFRF9JTl9NQUNfT1NfWF9WRVJTSU9OXzEwXzZfQU5E
X0xBVEVSOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe
Ci9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFj
T1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1l
d29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDoxMjAzOjM6IHdhcm5pbmc6ICdDTVBy
b2ZpbGVSZWYnIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAuNiBb
LVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KIDEyMDMgfCAgIENNUHJvZmlsZVJlZiAgICAgICAg
cHJvZmlsZTsgICAgICAgICAgICAgICAgLyogcHJvZmlsZSAqLwogICAgICB8ICAgXgovQXBwbGlj
YXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0
Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mv
QXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVh
ZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTAwMDo0MTogbm90ZTogJ0NNUHJvZmlsZVJlZicg
aGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAxMDAwIHwgdHlwZWRl
ZiBzdHJ1Y3QgT3BhcXVlQ01Qcm9maWxlUmVmKiAgICAgIENNUHJvZmlsZVJlZiBERVBSRUNBVEVE
X0lOX01BQ19PU19YX1ZFUlNJT05fMTBfNl9BTkRfTEFURVI7CiAgICAgIHwgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29u
dGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3Mv
TWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMu
ZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVj
YXRlZC5oOjEyMTE6Mzogd2FybmluZzogJ05DTUNvbmNhdFByb2ZpbGVTcGVjJyBpcyBkZXByZWNh
dGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDEwLjYgWy1XZGVwcmVjYXRlZC1kZWNsYXJh
dGlvbnNdCiAxMjExIHwgICBOQ01Db25jYXRQcm9maWxlU3BlYyAgcHJvZmlsZVNwZWNzWzFdOyAg
ICAgIC8qIFZhcmlhYmxlLiBPcmRlcmVkIGZyb20gU291cmNlIC0+IERlc3QgKi8KICAgICAgfCAg
IF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9N
YWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJh
bWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjEyMDQ6Mzogbm90ZTogJ05DTUNv
bmNhdFByb2ZpbGVTcGVjJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhl
cmUKIDEyMDQgfCB9IE5DTUNvbmNhdFByb2ZpbGVTcGVjIERFUFJFQ0FURURfSU5fTUFDX09TX1hf
VkVSU0lPTl8xMF82X0FORF9MQVRFUjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5h
cHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVy
L1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2Vy
dmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5j
RGVwcmVjYXRlZC5oOjEzMDI6Mzogd2FybmluZzogJ0NNUkdCQ29sb3InIGlzIGRlcHJlY2F0ZWQ6
IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9u
c10KIDEzMDIgfCAgIENNUkdCQ29sb3IgICAgICAgICAgcmdiOwogICAgICB8ICAgXgovQXBwbGlj
YXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0
Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mv
QXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVh
ZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTIzMjozOiBub3RlOiAnQ01SR0JDb2xvcicgaGFz
IGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAxMjMyIHwgfSBDTVJHQkNv
bG9yIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsKICAgICAg
fCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jt
cy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQu
ZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjEzMDM6Mzogd2FybmluZzog
J0NNSFNWQ29sb3InIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAu
NiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KIDEzMDMgfCAgIENNSFNWQ29sb3IgICAgICAg
ICAgaHN2OwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZl
bG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2Rr
L1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsv
RnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTI1
NzozOiBub3RlOiAnQ01IU1ZDb2xvcicgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVj
YXRlZCBoZXJlCiAxMjU3IHwgfSBDTUhTVkNvbG9yIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVS
U0lPTl8xMF82X0FORF9MQVRFUjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAv
Q29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NE
S3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2Vydmlj
ZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVw
cmVjYXRlZC5oOjEzMDQ6Mzogd2FybmluZzogJ0NNSExTQ29sb3InIGlzIGRlcHJlY2F0ZWQ6IGZp
cnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10K
IDEzMDQgfCAgIENNSExTQ29sb3IgICAgICAgICAgaGxzOwogICAgICB8ICAgXgovQXBwbGljYXRp
b25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9y
bS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBw
bGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVy
cy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTI1MTozOiBub3RlOiAnQ01ITFNDb2xvcicgaGFzIGJl
ZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAxMjUxIHwgfSBDTUhMU0NvbG9y
IERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsKICAgICAgfCAg
IF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9N
YWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJh
bWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjEzMDY6Mzogd2FybmluZzogJ0NN
TGFiQ29sb3InIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAuNiBb
LVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KIDEzMDYgfCAgIENNTGFiQ29sb3IgICAgICAgICAg
TGFiOwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9w
ZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5
c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJh
bWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTI2Mzoz
OiBub3RlOiAnQ01MYWJDb2xvcicgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRl
ZCBoZXJlCiAxMjYzIHwgfSBDTUxhYkNvbG9yIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lP
Tl8xMF82X0FORF9MQVRFUjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29u
dGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3Mv
TWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMu
ZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVj
YXRlZC5oOjEzMDc6Mzogd2FybmluZzogJ0NNTHV2Q29sb3InIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0
IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KIDEz
MDcgfCAgIENNTHV2Q29sb3IgICAgICAgICAgTHV2OwogICAgICB8ICAgXgovQXBwbGljYXRpb25z
L1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9E
ZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGlj
YXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9D
b2xvclN5bmNEZXByZWNhdGVkLmg6MTI2OTozOiBub3RlOiAnQ01MdXZDb2xvcicgaGFzIGJlZW4g
ZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAxMjY5IHwgfSBDTUx1dkNvbG9yIERF
UFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsKICAgICAgfCAgIF4K
L0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNP
U1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3
b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjEzMDg6Mzogd2FybmluZzogJ0NNWXh5
Q29sb3InIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAuNiBbLVdk
ZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KIDEzMDggfCAgIENNWXh5Q29sb3IgICAgICAgICAgWXh5
OwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIv
UGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3Rl
bS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3
b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTI3NTozOiBu
b3RlOiAnQ01ZeHlDb2xvcicgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBo
ZXJlCiAxMjc1IHwgfSBDTVl4eUNvbG9yIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8x
MF82X0FORF9MQVRFUjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVu
dHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFj
T1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJh
bWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRl
ZC5oOjEzMDk6Mzogd2FybmluZzogJ0NNQ01ZS0NvbG9yJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBk
ZXByZWNhdGVkIGluIG1hY09TIDEwLjYgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAxMzA5
IHwgICBDTUNNWUtDb2xvciAgICAgICAgIGNteWs7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMv
WGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0Rl
dmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNh
dGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0Nv
bG9yU3luY0RlcHJlY2F0ZWQuaDoxMjM5OjM6IG5vdGU6ICdDTUNNWUtDb2xvcicgaGFzIGJlZW4g
ZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAxMjM5IHwgfSBDTUNNWUtDb2xvciBE
RVBSRUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJT05fMTBfNl9BTkRfTEFURVI7CiAgICAgIHwgICBe
Ci9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFj
T1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1l
d29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDoxMzEwOjM6IHdhcm5pbmc6ICdDTUNN
WUNvbG9yJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDEwLjYgWy1X
ZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAxMzEwIHwgICBDTUNNWUNvbG9yICAgICAgICAgIGNt
eTsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVy
L1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1l
d29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjEyNDU6Mzog
bm90ZTogJ0NNQ01ZQ29sb3InIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQg
aGVyZQogMTI0NSB8IH0gQ01DTVlDb2xvciBERVBSRUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJT05f
MTBfNl9BTkRfTEFURVI7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRl
bnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01h
Y09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZy
YW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0
ZWQuaDoxMzExOjM6IHdhcm5pbmc6ICdDTUdyYXlDb2xvcicgaXMgZGVwcmVjYXRlZDogZmlyc3Qg
ZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogMTMx
MSB8ICAgQ01HcmF5Q29sb3IgICAgICAgICBncmF5OwogICAgICB8ICAgXgovQXBwbGljYXRpb25z
L1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9E
ZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGlj
YXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9D
b2xvclN5bmNEZXByZWNhdGVkLmg6MTI3OTozOiBub3RlOiAnQ01HcmF5Q29sb3InIGhhcyBiZWVu
IGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogMTI3OSB8IH0gQ01HcmF5Q29sb3Ig
REVQUkVDQVRFRF9JTl9NQUNfT1NfWF9WRVJTSU9OXzEwXzZfQU5EX0xBVEVSOwogICAgICB8ICAg
XgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01h
Y09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFt
ZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTMxMjozOiB3YXJuaW5nOiAnQ01N
dWx0aWNoYW5uZWw1Q29sb3InIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFj
T1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KIDEzMTIgfCAgIENNTXVsdGljaGFu
bmVsNUNvbG9yICBtYzU7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRl
bnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01h
Y09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZy
YW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0
ZWQuaDoxMjgzOjM6IG5vdGU6ICdDTU11bHRpY2hhbm5lbDVDb2xvcicgaGFzIGJlZW4gZXhwbGlj
aXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAxMjgzIHwgfSBDTU11bHRpY2hhbm5lbDVDb2xv
ciBERVBSRUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJT05fMTBfNl9BTkRfTEFURVI7CiAgICAgIHwg
ICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMv
TWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkv
RnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZy
YW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDoxMzEzOjM6IHdhcm5pbmc6ICdD
TU11bHRpY2hhbm5lbDZDb2xvcicgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBt
YWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogMTMxMyB8ICAgQ01NdWx0aWNo
YW5uZWw2Q29sb3IgIG1jNjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29u
dGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3Mv
TWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMu
ZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVj
YXRlZC5oOjEyODc6Mzogbm90ZTogJ0NNTXVsdGljaGFubmVsNkNvbG9yJyBoYXMgYmVlbiBleHBs
aWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKIDEyODcgfCB9IENNTXVsdGljaGFubmVsNkNv
bG9yIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsKICAgICAg
fCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jt
cy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQu
ZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjEzMTQ6Mzogd2FybmluZzog
J0NNTXVsdGljaGFubmVsN0NvbG9yJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGlu
IG1hY09TIDEwLjYgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAxMzE0IHwgICBDTU11bHRp
Y2hhbm5lbDdDb2xvciAgbWM3OwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9D
b250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RL
cy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNl
cy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXBy
ZWNhdGVkLmg6MTI5MTozOiBub3RlOiAnQ01NdWx0aWNoYW5uZWw3Q29sb3InIGhhcyBiZWVuIGV4
cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogMTI5MSB8IH0gQ01NdWx0aWNoYW5uZWw3
Q29sb3IgREVQUkVDQVRFRF9JTl9NQUNfT1NfWF9WRVJTSU9OXzEwXzZfQU5EX0xBVEVSOwogICAg
ICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZv
cm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJy
YXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9R
RC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTMxNTozOiB3YXJuaW5n
OiAnQ01NdWx0aWNoYW5uZWw4Q29sb3InIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQg
aW4gbWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KIDEzMTUgfCAgIENNTXVs
dGljaGFubmVsOENvbG9yICBtYzg7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBw
L0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9T
REtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZp
Y2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0Rl
cHJlY2F0ZWQuaDoxMjk1OjM6IG5vdGU6ICdDTU11bHRpY2hhbm5lbDhDb2xvcicgaGFzIGJlZW4g
ZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAxMjk1IHwgfSBDTU11bHRpY2hhbm5l
bDhDb2xvciBERVBSRUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJT05fMTBfNl9BTkRfTEFURVI7CiAg
ICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0
Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtz
L1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDoxMzE2OjM6IHdhcm5p
bmc6ICdDTU5hbWVkQ29sb3InIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFj
T1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KIDEzMTYgfCAgIENNTmFtZWRDb2xv
ciAgICAgICAgbmFtZWRDb2xvcjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAv
Q29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NE
S3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2Vydmlj
ZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVw
cmVjYXRlZC5oOjEyOTk6Mzogbm90ZTogJ0NNTmFtZWRDb2xvcicgaGFzIGJlZW4gZXhwbGljaXRs
eSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAxMjk5IHwgfSBDTU5hbWVkQ29sb3IgREVQUkVDQVRF
RF9JTl9NQUNfT1NfWF9WRVJTSU9OXzEwXzZfQU5EX0xBVEVSOwogICAgICB8ICAgXgovQXBwbGlj
YXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0
Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mv
QXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVh
ZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTUxNTozOiB3YXJuaW5nOiAnQ01CaXRtYXBDb2xv
clNwYWNlJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDEwLjYgWy1X
ZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAxNTE1IHwgICBDTUJpdG1hcENvbG9yU3BhY2UgIHNw
YWNlOwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9w
ZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5
c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJh
bWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTUwNzo0
MTogbm90ZTogJ0NNQml0bWFwQ29sb3JTcGFjZScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQg
ZGVwcmVjYXRlZCBoZXJlCiAxNTA3IHwgdHlwZWRlZiBVSW50MzIgICAgICAgICAgICAgICAgICAg
ICAgICAgIENNQml0bWFwQ29sb3JTcGFjZSBERVBSRUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJT05f
MTBfNl9BTkRfTEFURVI7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRm
b3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGli
cmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3Mv
UUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjE1ODk6Mzogd2Fybmlu
ZzogJ0NNSGFuZGxlTG9jYXRpb24nIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4g
bWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KIDE1ODkgfCAgIENNSGFuZGxl
TG9jYXRpb24gICAgaGFuZGxlTG9jOwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFw
cC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIv
U0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2
aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNE
ZXByZWNhdGVkLmg6MTU1NzozOiBub3RlOiAnQ01IYW5kbGVMb2NhdGlvbicgaGFzIGJlZW4gZXhw
bGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAxNTU3IHwgfSBDTUhhbmRsZUxvY2F0aW9u
IERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsKICAgICAgfCAg
IF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9N
YWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJh
bWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjE1OTQ6Mzogd2FybmluZzogJ0NN
UGF0aExvY2F0aW9uJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDEw
LjYgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAxNTk0IHwgICBDTVBhdGhMb2NhdGlvbiAg
ICAgIHBhdGhMb2M7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRz
L0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09T
WC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1l
d29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQu
aDoxNTc4OjM6IG5vdGU6ICdDTVBhdGhMb2NhdGlvbicgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJr
ZWQgZGVwcmVjYXRlZCBoZXJlCiAxNTc4IHwgfSBDTVBhdGhMb2NhdGlvbiBERVBSRUNBVEVEX0lO
X01BQ19PU19YX1ZFUlNJT05fMTBfNl9BTkRfTEFURVI7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlv
bnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3Jt
L0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBs
aWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJz
L0NvbG9yU3luY0RlcHJlY2F0ZWQuaDoxNTk1OjM6IHdhcm5pbmc6ICdDTUJ1ZmZlckxvY2F0aW9u
JyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDEwLjYgWy1XZGVwcmVj
YXRlZC1kZWNsYXJhdGlvbnNdCiAxNTk1IHwgICBDTUJ1ZmZlckxvY2F0aW9uICAgIGJ1ZmZlckxv
YzsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVy
L1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1l
d29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjE1ODM6Mzog
bm90ZTogJ0NNQnVmZmVyTG9jYXRpb24nIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJl
Y2F0ZWQgaGVyZQogMTU4MyB8IH0gQ01CdWZmZXJMb2NhdGlvbiBERVBSRUNBVEVEX0lOX01BQ19P
U19YX1ZFUlNJT05fMTBfNl9BTkRfTEFURVI7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNv
ZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVs
b3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlv
blNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9y
U3luY0RlcHJlY2F0ZWQuaDoxNjAwOjM6IHdhcm5pbmc6ICdDTVByb2ZMb2MnIGlzIGRlcHJlY2F0
ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0
aW9uc10KIDE2MDAgfCAgIENNUHJvZkxvYyAgICAgICAgICAgdTsKICAgICAgfCAgIF4KL0FwcGxp
Y2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxh
dGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz
L0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hl
YWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjE1OTY6Mzogbm90ZTogJ0NNUHJvZkxvYycgaGFz
IGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAxNTk2IHwgfSBDTVByb2ZM
b2MgREVQUkVDQVRFRF9JTl9NQUNfT1NfWF9WRVJTSU9OXzEwXzZfQU5EX0xBVEVSOwogICAgICB8
ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1z
L01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5
L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5m
cmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTYwNTo0Mjogd2FybmluZzog
J0NNUHJvZmlsZUxvY2F0aW9uJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1h
Y09TIDEwLjYgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAxNjA1IHwgICBjbUN1cnJlbnRQ
cm9maWxlTG9jYXRpb25TaXplICA9IHNpemVvZihDTVByb2ZpbGVMb2NhdGlvbikKICAgICAgfCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9Y
Y29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2
ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0
aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29s
b3JTeW5jRGVwcmVjYXRlZC5oOjE2MDE6Mzogbm90ZTogJ0NNUHJvZmlsZUxvY2F0aW9uJyBoYXMg
YmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKIDE2MDEgfCB9IENNUHJvZmls
ZUxvY2F0aW9uIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsK
ICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1Bs
YXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0v
TGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29y
a3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjE2MjA6Mzogd2Fy
bmluZzogJ0NNMkhlYWRlcicgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNP
UyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogMTYyMCB8ICAgQ00ySGVhZGVyICAg
ICAgICAgICBoZWFkZXI7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRl
bnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01h
Y09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZy
YW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0
ZWQuaDo0ODY6Mzogbm90ZTogJ0NNMkhlYWRlcicgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQg
ZGVwcmVjYXRlZCBoZXJlCiAgNDg2IHwgfSBDTTJIZWFkZXIgREVQUkVDQVRFRF9JTl9NQUNfT1Nf
WF9WRVJTSU9OXzEwXzZfQU5EX0xBVEVSOwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2Rl
LmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9w
ZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25T
ZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5
bmNEZXByZWNhdGVkLmg6MTYyMzozOiB3YXJuaW5nOiAnQ01Qcm9maWxlTG9jYXRpb24nIGlzIGRl
cHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRl
Y2xhcmF0aW9uc10KIDE2MjMgfCAgIENNUHJvZmlsZUxvY2F0aW9uICAgbG9jYXRpb247CiAgICAg
IHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9y
bXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJh
cnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FE
LmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDoxNjAxOjM6IG5vdGU6ICdD
TVByb2ZpbGVMb2NhdGlvbicgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBo
ZXJlCiAxNjAxIHwgfSBDTVByb2ZpbGVMb2NhdGlvbiBERVBSRUNBVEVEX0lOX01BQ19PU19YX1ZF
UlNJT05fMTBfNl9BTkRfTEFURVI7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBw
L0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9T
REtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZp
Y2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0Rl
cHJlY2F0ZWQuaDoxNjI3OjM6IHdhcm5pbmc6ICdDTU1ha2VBbmRNb2RlbCcgaXMgZGVwcmVjYXRl
ZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRp
b25zXQogMTYyNyB8ICAgQ01NYWtlQW5kTW9kZWwgKiAgICBtYWtlQW5kTW9kZWw7CiAgICAgIHwg
ICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMv
TWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkv
RnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZy
YW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDo4ODA6Mzogbm90ZTogJ0NNTWFr
ZUFuZE1vZGVsJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICA4
ODAgfCB9IENNTWFrZUFuZE1vZGVsIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82
X0FORF9MQVRFUjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMv
RGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NY
LnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3
b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5o
OjE2Mjg6Mzogd2FybmluZzogJ0NNUHJvZmlsZU1ENScgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVw
cmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogMTYyOCB8
ICAgQ01Qcm9maWxlTUQ1ICogICAgICBkaWdlc3Q7ICAgICAgICAgICAgICAgICAvKiBEZXJpdmVk
IGZyb20gdGhlIFJTQSBEYXRhIFNlY3VyaXR5LCBJbmMuIE1ENSBNZXNzYWdlLURpZ2VzdCBBbGdv
cml0aG0gKi8KICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2
ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNk
ay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3Jr
L0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjQ0
ODo0MTogbm90ZTogJ0NNUHJvZmlsZU1ENScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVw
cmVjYXRlZCBoZXJlCiAgNDQ4IHwgdHlwZWRlZiB1bnNpZ25lZCBjaGFyICAgICAgICAgICAgICAg
ICAgIENNUHJvZmlsZU1ENVsxNl0gREVQUkVDQVRFRF9JTl9NQUNfT1NfWF9WRVJTSU9OXzEwXzZf
QU5EX0xBVEVSOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMv
TWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkv
RnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZy
YW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDoxOTk0OjM6IHdhcm5pbmc6ICdD
TURldmljZUlEJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDEwLjYg
Wy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAxOTk0IHwgICBDTURldmljZUlEICAgICAgICAg
IGRldmljZUlEOyAgICAgICAgICAgICAgIC8qIGRldmljZSBJRCAqLwogICAgICB8ICAgXgovQXBw
bGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5w
bGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29y
a3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsv
SGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTk1OTo0MTogbm90ZTogJ0NNRGV2aWNlSUQn
IGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogMTk1OSB8IHR5cGVk
ZWYgVUludDMyICAgICAgICAgICAgICAgICAgICAgICAgICBDTURldmljZUlEIERFUFJFQ0FURURf
SU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsKICAgICAgfCAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250
ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9N
YWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5m
cmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNh
dGVkLmg6MTk5NjozOiB3YXJuaW5nOiAnQ01EZXZpY2VTdGF0ZScgaXMgZGVwcmVjYXRlZDogZmly
c3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQog
MTk5NiB8ICAgQ01EZXZpY2VTdGF0ZSAgICAgICBkZXZpY2VTdGF0ZTsgICAgICAgICAgICAvKiBE
ZXZpY2UgU3RhdGUgZmxhZ3MgKi8KICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAv
Q29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NE
S3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2Vydmlj
ZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVw
cmVjYXRlZC5oOjE5NTM6NDE6IG5vdGU6ICdDTURldmljZVN0YXRlJyBoYXMgYmVlbiBleHBsaWNp
dGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKIDE5NTMgfCB0eXBlZGVmIFVJbnQzMiAgICAgICAg
ICAgICAgICAgICAgICAgICAgQ01EZXZpY2VTdGF0ZSBERVBSRUNBVEVEX0lOX01BQ19PU19YX1ZF
UlNJT05fMTBfNl9BTkRfTEFURVI7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVy
L1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1l
d29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjE5OTc6Mzog
d2FybmluZzogJ0NNRGV2aWNlUHJvZmlsZUlEJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNh
dGVkIGluIG1hY09TIDEwLjYgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAxOTk3IHwgICBD
TURldmljZVByb2ZpbGVJRCAgIGRlZmF1bHRQcm9maWxlSUQ7ICAgICAgIC8qIENhbiBjaGFuZ2Ug
Ki8KICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVy
L1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1l
d29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjE5NjQ6NDE6
IG5vdGU6ICdDTURldmljZVByb2ZpbGVJRCcgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVw
cmVjYXRlZCBoZXJlCiAxOTY0IHwgdHlwZWRlZiBVSW50MzIgICAgICAgICAgICAgICAgICAgICAg
ICAgIENNRGV2aWNlUHJvZmlsZUlEIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82
X0FORF9MQVRFUjsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1z
L01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5
L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5m
cmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MjAxMDozOiB3YXJuaW5nOiAn
Q01EZXZpY2VQcm9maWxlSUQnIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFj
T1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KIDIwMTAgfCAgIENNRGV2aWNlUHJv
ZmlsZUlEICAgcHJvZmlsZUlEOyAgICAgICAgICAgICAgLyogVGhlIGlkZW50aWZpZXIgZm9yIHRo
aXMgcHJvZmlsZSAqLwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50
cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNP
U1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFt
ZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVk
Lmg6MTk2NDo0MTogbm90ZTogJ0NNRGV2aWNlUHJvZmlsZUlEJyBoYXMgYmVlbiBleHBsaWNpdGx5
IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKIDE5NjQgfCB0eXBlZGVmIFVJbnQzMiAgICAgICAgICAg
ICAgICAgICAgICAgICAgQ01EZXZpY2VQcm9maWxlSUQgREVQUkVDQVRFRF9JTl9NQUNfT1NfWF9W
RVJTSU9OXzEwXzZfQU5EX0xBVEVSOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Bl
ci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lz
dGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFt
ZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDoyMDExOjM6
IHdhcm5pbmc6ICdDTVByb2ZpbGVMb2NhdGlvbicgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVj
YXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogMjAxMSB8ICAg
Q01Qcm9maWxlTG9jYXRpb24gICBwcm9maWxlTG9jOyAgICAgICAgICAgICAvKiBUaGUgcHJvZmls
ZSdzIGxvY2F0aW9uICovCiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRl
bnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01h
Y09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZy
YW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0
ZWQuaDoxNjAxOjM6IG5vdGU6ICdDTVByb2ZpbGVMb2NhdGlvbicgaGFzIGJlZW4gZXhwbGljaXRs
eSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAxNjAxIHwgfSBDTVByb2ZpbGVMb2NhdGlvbiBERVBS
RUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJT05fMTBfNl9BTkRfTEFURVI7CiAgICAgIHwgICBeCi9B
cHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NY
LnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3
b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29y
ay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDoyMDE4OjM6IHdhcm5pbmc6ICdDTURldmlj
ZVByb2ZpbGVJRCcgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42
IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogMjAxOCB8ICAgQ01EZXZpY2VQcm9maWxlSUQg
ICBwcm9maWxlSUQ7ICAgICAgICAgICAgICAvKiBUaGUgaWRlbnRpZmllciBmb3IgdGhpcyBwcm9m
aWxlICovCiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVs
b3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsv
U3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9G
cmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDoxOTY0
OjQxOiBub3RlOiAnQ01EZXZpY2VQcm9maWxlSUQnIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2Vk
IGRlcHJlY2F0ZWQgaGVyZQogMTk2NCB8IHR5cGVkZWYgVUludDMyICAgICAgICAgICAgICAgICAg
ICAgICAgICBDTURldmljZVByb2ZpbGVJRCBERVBSRUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJT05f
MTBfNl9BTkRfTEFURVI7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRm
b3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGli
cmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3Mv
UUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjIwMTk6Mzogd2Fybmlu
ZzogJ0NNUHJvZmlsZUxvY2F0aW9uJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGlu
IG1hY09TIDEwLjYgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAyMDE5IHwgICBDTVByb2Zp
bGVMb2NhdGlvbiAgIHByb2ZpbGVMb2M7ICAgICAgICAgICAgIC8qIFRoZSBwcm9maWxlJ3MgbG9j
YXRpb24gKi8KICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2
ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNk
ay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3Jr
L0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjE2
MDE6Mzogbm90ZTogJ0NNUHJvZmlsZUxvY2F0aW9uJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtl
ZCBkZXByZWNhdGVkIGhlcmUKIDE2MDEgfCB9IENNUHJvZmlsZUxvY2F0aW9uIERFUFJFQ0FURURf
SU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsKICAgICAgfCAgIF4KL0FwcGxpY2F0
aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZv
cm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0Fw
cGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRl
cnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjIwMjE6Mzogd2FybmluZzogJ0NNRGV2aWNlUHJvZmls
ZVNjb3BlJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDEwLjYgWy1X
ZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAyMDIxIHwgICBDTURldmljZVByb2ZpbGVTY29wZSAg
cHJvZmlsZVNjb3BlOyAgICAgICAgIC8qIFRoZSBzY29wZSB0aGlzIHByb2ZpbGUgYXBwbGllcyB0
byAqLwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9w
ZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5
c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJh
bWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTk4NTox
ODogbm90ZTogJ0NNRGV2aWNlUHJvZmlsZVNjb3BlJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtl
ZCBkZXByZWNhdGVkIGhlcmUKIDE5ODUgfCB9IENNRGV2aWNlU2NvcGUsIENNRGV2aWNlUHJvZmls
ZVNjb3BlIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsKICAg
ICAgfCAgICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMv
RGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NY
LnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3
b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5o
OjIwMzM6Mzogd2FybmluZzogJ0NNRGV2aWNlUHJvZmlsZUluZm8nIGlzIGRlcHJlY2F0ZWQ6IGZp
cnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10K
IDIwMzMgfCAgIENNRGV2aWNlUHJvZmlsZUluZm8gIHByb2ZpbGVzWzFdOyAgICAgICAgICAgLyog
VGhlIHByb2ZpbGUgaW5mbyByZWNvcmRzICovCiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNv
ZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVs
b3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlv
blNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9y
U3luY0RlcHJlY2F0ZWQuaDoyMDE0OjM6IG5vdGU6ICdDTURldmljZVByb2ZpbGVJbmZvJyBoYXMg
YmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKIDIwMTQgfCB9IENNRGV2aWNl
UHJvZmlsZUluZm8gREVQUkVDQVRFRF9JTl9NQUNfT1NfWF9WRVJTSU9OXzEwXzZfQU5EX0xBVEVS
OwogICAgICB8ICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gY29uZnRlc3QuYzoxMDY6CkluIGZp
bGUgaW5jbHVkZWQgZnJvbSAvQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9w
ZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5
c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL0FwcEtpdC5o
OjEwNjoKL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jt
cy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVy
Lmg6MzA6MTU6IHdhcm5pbmc6ICdOU1ZvaWNlQXR0cmlidXRlS2V5JyBpcyBkZXByZWNhdGVkOiBm
aXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDE0LjAgLSBVc2UgQVZTcGVlY2hTeW50aGVzaXplciBp
biBBVkZvdW5kYXRpb24gaW5zdGVhZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICAgMzAg
fCBBUFBLSVRfRVhURVJOIE5TVm9pY2VBdHRyaWJ1dGVLZXkgY29uc3QgTlNWb2ljZUxvY2FsZUlk
ZW50aWZpZXIgQVBJX0FWQUlMQUJMRShtYWNvcygxMC41KSk7CiAgICAgIHwgICAgICAgICAgICAg
ICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMv
TWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkv
RnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5o
OjI0OjIwOiBub3RlOiAnTlNWb2ljZUF0dHJpYnV0ZUtleScgaGFzIGJlZW4gZXhwbGljaXRseSBt
YXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgIDI0IHwgdHlwZWRlZiBOU1N0cmluZyAqIE5TVm9pY2VB
dHRyaWJ1dGVLZXkgTlNfVFlQRURfRU5VTTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXgov
QXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09T
WC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1l
d29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDozMTox
NTogd2FybmluZzogJ05TVm9pY2VBdHRyaWJ1dGVLZXknIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRl
cHJlY2F0ZWQgaW4gbWFjT1MgMTQuMCAtIFVzZSBBVlNwZWVjaFN5bnRoZXNpemVyIGluIEFWRm91
bmRhdGlvbiBpbnN0ZWFkIFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogICAzMSB8IEFQUEtJ
VF9FWFRFUk4gTlNWb2ljZUF0dHJpYnV0ZUtleSBjb25zdCBOU1ZvaWNlU3VwcG9ydGVkQ2hhcmFj
dGVycyBBUElfQVZBSUxBQkxFKG1hY29zKDEwLjUpKTsKICAgICAgfCAgICAgICAgICAgICAgIF4K
L0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNP
U1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6MjQ6
MjA6IG5vdGU6ICdOU1ZvaWNlQXR0cmlidXRlS2V5JyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtl
ZCBkZXByZWNhdGVkIGhlcmUKICAgMjQgfCB0eXBlZGVmIE5TU3RyaW5nICogTlNWb2ljZUF0dHJp
YnV0ZUtleSBOU19UWVBFRF9FTlVNOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBeCi9BcHBs
aWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBs
YXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jr
cy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjMyOjE1OiB3
YXJuaW5nOiAnTlNWb2ljZUF0dHJpYnV0ZUtleScgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVj
YXRlZCBpbiBtYWNPUyAxNC4wIC0gVXNlIEFWU3BlZWNoU3ludGhlc2l6ZXIgaW4gQVZGb3VuZGF0
aW9uIGluc3RlYWQgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgIDMyIHwgQVBQS0lUX0VY
VEVSTiBOU1ZvaWNlQXR0cmlidXRlS2V5IGNvbnN0IE5TVm9pY2VJbmRpdmlkdWFsbHlTcG9rZW5D
aGFyYWN0ZXJzIEFQSV9BVkFJTEFCTEUobWFjb3MoMTAuNSkpOwogICAgICB8ICAgICAgICAgICAg
ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1z
L01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5
L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIu
aDoyNDoyMDogbm90ZTogJ05TVm9pY2VBdHRyaWJ1dGVLZXknIGhhcyBiZWVuIGV4cGxpY2l0bHkg
bWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogICAyNCB8IHR5cGVkZWYgTlNTdHJpbmcgKiBOU1ZvaWNl
QXR0cmlidXRlS2V5IE5TX1RZUEVEX0VOVU07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF4K
L0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNP
U1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6MzY6
MTU6IHdhcm5pbmc6ICdOU1NwZWVjaERpY3Rpb25hcnlLZXknIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0
IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTQuMCAtIFVzZSBBVlNwZWVjaFN5bnRoZXNpemVyIGluIEFW
Rm91bmRhdGlvbiBpbnN0ZWFkIFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogICAzNiB8IEFQ
UEtJVF9FWFRFUk4gTlNTcGVlY2hEaWN0aW9uYXJ5S2V5IGNvbnN0IE5TU3BlZWNoRGljdGlvbmFy
eUxvY2FsZUlkZW50aWZpZXIgQVBJX0FWQUlMQUJMRShtYWNvcygxMC41KSk7ICAvLyBOU1N0cmlu
ZwogICAgICB8ICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50
cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNP
U1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJz
L05TU3BlZWNoU3ludGhlc2l6ZXIuaDozNToyMDogbm90ZTogJ05TU3BlZWNoRGljdGlvbmFyeUtl
eScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgIDM1IHwgdHlw
ZWRlZiBOU1N0cmluZyAqIE5TU3BlZWNoRGljdGlvbmFyeUtleSBOU19UWVBFRF9FTlVNOwogICAg
ICB8ICAgICAgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRz
L0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09T
WC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMv
TlNTcGVlY2hTeW50aGVzaXplci5oOjM3OjE1OiB3YXJuaW5nOiAnTlNTcGVlY2hEaWN0aW9uYXJ5
S2V5JyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDE0LjAgLSBVc2Ug
QVZTcGVlY2hTeW50aGVzaXplciBpbiBBVkZvdW5kYXRpb24gaW5zdGVhZCBbLVdkZXByZWNhdGVk
LWRlY2xhcmF0aW9uc10KICAgMzcgfCBBUFBLSVRfRVhURVJOIE5TU3BlZWNoRGljdGlvbmFyeUtl
eSBjb25zdCBOU1NwZWVjaERpY3Rpb25hcnlNb2RpZmljYXRpb25EYXRlIEFQSV9BVkFJTEFCTEUo
bWFjb3MoMTAuNSkpOyAgLy8gTlNTdHJpbmcKICAgICAgfCAgICAgICAgICAgICAgIF4KL0FwcGxp
Y2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxh
dGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz
L0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6MzU6MjA6IG5v
dGU6ICdOU1NwZWVjaERpY3Rpb25hcnlLZXknIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRl
cHJlY2F0ZWQgaGVyZQogICAzNSB8IHR5cGVkZWYgTlNTdHJpbmcgKiBOU1NwZWVjaERpY3Rpb25h
cnlLZXkgTlNfVFlQRURfRU5VTTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXgovQXBwbGlj
YXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0
Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mv
QXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDozODoxNTogd2Fy
bmluZzogJ05TU3BlZWNoRGljdGlvbmFyeUtleScgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVj
YXRlZCBpbiBtYWNPUyAxNC4wIC0gVXNlIEFWU3BlZWNoU3ludGhlc2l6ZXIgaW4gQVZGb3VuZGF0
aW9uIGluc3RlYWQgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgIDM4IHwgQVBQS0lUX0VY
VEVSTiBOU1NwZWVjaERpY3Rpb25hcnlLZXkgY29uc3QgTlNTcGVlY2hEaWN0aW9uYXJ5UHJvbnVu
Y2lhdGlvbnMgQVBJX0FWQUlMQUJMRShtYWNvcygxMC41KSk7ICAvLyBOU0FycmF5CiAgICAgIHwg
ICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Bl
ci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lz
dGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hT
eW50aGVzaXplci5oOjM1OjIwOiBub3RlOiAnTlNTcGVlY2hEaWN0aW9uYXJ5S2V5JyBoYXMgYmVl
biBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICAgMzUgfCB0eXBlZGVmIE5TU3Ry
aW5nICogTlNTcGVlY2hEaWN0aW9uYXJ5S2V5IE5TX1RZUEVEX0VOVU07CiAgICAgIHwgICAgICAg
ICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVy
L1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5
bnRoZXNpemVyLmg6Mzk6MTU6IHdhcm5pbmc6ICdOU1NwZWVjaERpY3Rpb25hcnlLZXknIGlzIGRl
cHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTQuMCAtIFVzZSBBVlNwZWVjaFN5
bnRoZXNpemVyIGluIEFWRm91bmRhdGlvbiBpbnN0ZWFkIFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRp
b25zXQogICAzOSB8IEFQUEtJVF9FWFRFUk4gTlNTcGVlY2hEaWN0aW9uYXJ5S2V5IGNvbnN0IE5T
U3BlZWNoRGljdGlvbmFyeUFiYnJldmlhdGlvbnMgQVBJX0FWQUlMQUJMRShtYWNvcygxMC41KSk7
ICAvLyBOU0FycmF5CiAgICAgIHwgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUu
YXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Bl
ci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3
b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjM1OjIwOiBub3RlOiAnTlNTcGVlY2hE
aWN0aW9uYXJ5S2V5JyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUK
ICAgMzUgfCB0eXBlZGVmIE5TU3RyaW5nICogTlNTcGVlY2hEaWN0aW9uYXJ5S2V5IE5TX1RZUEVE
X0VOVU07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5h
cHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVy
L1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdv
cmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6NDA6MTU6IHdhcm5pbmc6ICdOU1NwZWVj
aERpY3Rpb25hcnlLZXknIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1Mg
MTQuMCAtIFVzZSBBVlNwZWVjaFN5bnRoZXNpemVyIGluIEFWRm91bmRhdGlvbiBpbnN0ZWFkIFst
V2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogICA0MCB8IEFQUEtJVF9FWFRFUk4gTlNTcGVlY2hE
aWN0aW9uYXJ5S2V5IGNvbnN0IE5TU3BlZWNoRGljdGlvbmFyeUVudHJ5U3BlbGxpbmcgQVBJX0FW
QUlMQUJMRShtYWNvcygxMC41KSk7ICAvLyBOU1N0cmluZwogICAgICB8ICAgICAgICAgICAgICAg
XgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01h
Y09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDoz
NToyMDogbm90ZTogJ05TU3BlZWNoRGljdGlvbmFyeUtleScgaGFzIGJlZW4gZXhwbGljaXRseSBt
YXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgIDM1IHwgdHlwZWRlZiBOU1N0cmluZyAqIE5TU3BlZWNo
RGljdGlvbmFyeUtleSBOU19UWVBFRF9FTlVNOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBe
Ci9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFj
T1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjQx
OjE1OiB3YXJuaW5nOiAnTlNTcGVlY2hEaWN0aW9uYXJ5S2V5JyBpcyBkZXByZWNhdGVkOiBmaXJz
dCBkZXByZWNhdGVkIGluIG1hY09TIDE0LjAgLSBVc2UgQVZTcGVlY2hTeW50aGVzaXplciBpbiBB
VkZvdW5kYXRpb24gaW5zdGVhZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICAgNDEgfCBB
UFBLSVRfRVhURVJOIE5TU3BlZWNoRGljdGlvbmFyeUtleSBjb25zdCBOU1NwZWVjaERpY3Rpb25h
cnlFbnRyeVBob25lbWVzIEFQSV9BVkFJTEFCTEUobWFjb3MoMTAuNSkpOyAgLy8gTlNTdHJpbmcK
ICAgICAgfCAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMv
RGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NY
LnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9O
U1NwZWVjaFN5bnRoZXNpemVyLmg6MzU6MjA6IG5vdGU6ICdOU1NwZWVjaERpY3Rpb25hcnlLZXkn
IGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogICAzNSB8IHR5cGVk
ZWYgTlNTdHJpbmcgKiBOU1NwZWVjaERpY3Rpb25hcnlLZXkgTlNfVFlQRURfRU5VTTsKICAgICAg
fCAgICAgICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9E
ZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1gu
c2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05T
U3BlZWNoU3ludGhlc2l6ZXIuaDo0ODoxNTogd2FybmluZzogJ05TVm9pY2VHZW5kZXJOYW1lJyBp
cyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDE0LjAgLSBVc2UgQVZTcGVl
Y2hTeW50aGVzaXplciBpbiBBVkZvdW5kYXRpb24gaW5zdGVhZCBbLVdkZXByZWNhdGVkLWRlY2xh
cmF0aW9uc10KICAgNDggfCBBUFBLSVRfRVhURVJOIE5TVm9pY2VHZW5kZXJOYW1lIGNvbnN0IE5T
Vm9pY2VHZW5kZXJOZXV0cmFsIEFQSV9BVkFJTEFCTEUobWFjb3MoMTIuMykpOwogICAgICB8ICAg
ICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIv
UGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3Rl
bS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3lu
dGhlc2l6ZXIuaDo0NDoyMDogbm90ZTogJ05TVm9pY2VHZW5kZXJOYW1lJyBoYXMgYmVlbiBleHBs
aWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICAgNDQgfCB0eXBlZGVmIE5TU3RyaW5nICog
TlNWb2ljZUdlbmRlck5hbWUgTlNfVFlQRURfRU5VTTsKICAgICAgfCAgICAgICAgICAgICAgICAg
ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1z
L01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5
L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIu
aDo1MjoxNTogd2FybmluZzogJ05TU3BlZWNoUHJvcGVydHlLZXknIGlzIGRlcHJlY2F0ZWQ6IGZp
cnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTQuMCAtIFVzZSBBVlNwZWVjaFN5bnRoZXNpemVyIGlu
IEFWRm91bmRhdGlvbiBpbnN0ZWFkIFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogICA1MiB8
IEFQUEtJVF9FWFRFUk4gTlNTcGVlY2hQcm9wZXJ0eUtleSBjb25zdCBOU1NwZWVjaFN0YXR1c1By
b3BlcnR5IEFQSV9BVkFJTEFCTEUobWFjb3MoMTAuNSkpOyAgLy8gTlNEaWN0aW9uYXJ5LCBzZWUg
a2V5cyBiZWxvdwogICAgICB8ICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFw
cC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIv
U0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29y
ay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDo1MToyMDogbm90ZTogJ05TU3BlZWNoUHJv
cGVydHlLZXknIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogICA1
MSB8IHR5cGVkZWYgTlNTdHJpbmcgKiBOU1NwZWVjaFByb3BlcnR5S2V5IE5TX1RZUEVEX0VOVU07
CiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29u
dGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3Mv
TWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVh
ZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6NTM6MTU6IHdhcm5pbmc6ICdOU1NwZWVjaFByb3Bl
cnR5S2V5JyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDE0LjAgLSBV
c2UgQVZTcGVlY2hTeW50aGVzaXplciBpbiBBVkZvdW5kYXRpb24gaW5zdGVhZCBbLVdkZXByZWNh
dGVkLWRlY2xhcmF0aW9uc10KICAgNTMgfCBBUFBLSVRfRVhURVJOIE5TU3BlZWNoUHJvcGVydHlL
ZXkgY29uc3QgTlNTcGVlY2hFcnJvcnNQcm9wZXJ0eSBBUElfQVZBSUxBQkxFKG1hY29zKDEwLjUp
KTsgIC8vIE5TRGljdGlvbmFyeSwgc2VlIGtleXMgYmVsb3cKICAgICAgfCAgICAgICAgICAgICAg
IF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9N
YWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6
NTE6MjA6IG5vdGU6ICdOU1NwZWVjaFByb3BlcnR5S2V5JyBoYXMgYmVlbiBleHBsaWNpdGx5IG1h
cmtlZCBkZXByZWNhdGVkIGhlcmUKICAgNTEgfCB0eXBlZGVmIE5TU3RyaW5nICogTlNTcGVlY2hQ
cm9wZXJ0eUtleSBOU19UWVBFRF9FTlVNOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBeCi9B
cHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NY
LnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3
b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjU0OjE1
OiB3YXJuaW5nOiAnTlNTcGVlY2hQcm9wZXJ0eUtleScgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVw
cmVjYXRlZCBpbiBtYWNPUyAxNC4wIC0gVXNlIEFWU3BlZWNoU3ludGhlc2l6ZXIgaW4gQVZGb3Vu
ZGF0aW9uIGluc3RlYWQgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgIDU0IHwgQVBQS0lU
X0VYVEVSTiBOU1NwZWVjaFByb3BlcnR5S2V5IGNvbnN0IE5TU3BlZWNoSW5wdXRNb2RlUHJvcGVy
dHkgQVBJX0FWQUlMQUJMRShtYWNvcygxMC41KSk7ICAvLyBOU1N0cmluZzogTlNTcGVlY2hNb2Rl
VGV4dFByb3BlcnR5IG9yIE5TU3BlZWNoTW9kZVBob25lbWVQcm9wZXJ0eQogICAgICB8ICAgICAg
ICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxh
dGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9M
aWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhl
c2l6ZXIuaDo1MToyMDogbm90ZTogJ05TU3BlZWNoUHJvcGVydHlLZXknIGhhcyBiZWVuIGV4cGxp
Y2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogICA1MSB8IHR5cGVkZWYgTlNTdHJpbmcgKiBO
U1NwZWVjaFByb3BlcnR5S2V5IE5TX1RZUEVEX0VOVU07CiAgICAgIHwgICAgICAgICAgICAgICAg
ICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jt
cy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVy
Lmg6NTU6MTU6IHdhcm5pbmc6ICdOU1NwZWVjaFByb3BlcnR5S2V5JyBpcyBkZXByZWNhdGVkOiBm
aXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDE0LjAgLSBVc2UgQVZTcGVlY2hTeW50aGVzaXplciBp
biBBVkZvdW5kYXRpb24gaW5zdGVhZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICAgNTUg
fCBBUFBLSVRfRVhURVJOIE5TU3BlZWNoUHJvcGVydHlLZXkgY29uc3QgTlNTcGVlY2hDaGFyYWN0
ZXJNb2RlUHJvcGVydHkgQVBJX0FWQUlMQUJMRShtYWNvcygxMC41KSk7IC8vIE5TU3RyaW5nOiBO
U1NwZWVjaE1vZGVOb3JtYWxQcm9wZXJ0eSBvciBOU1NwZWVjaE1vZGVMaXRlcmFsUHJvcGVydHkK
ICAgICAgfCAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMv
RGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NY
LnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9O
U1NwZWVjaFN5bnRoZXNpemVyLmg6NTE6MjA6IG5vdGU6ICdOU1NwZWVjaFByb3BlcnR5S2V5JyBo
YXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICAgNTEgfCB0eXBlZGVm
IE5TU3RyaW5nICogTlNTcGVlY2hQcm9wZXJ0eUtleSBOU19UWVBFRF9FTlVNOwogICAgICB8ICAg
ICAgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVs
b3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsv
U3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVl
Y2hTeW50aGVzaXplci5oOjU2OjE1OiB3YXJuaW5nOiAnTlNTcGVlY2hQcm9wZXJ0eUtleScgaXMg
ZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxNC4wIC0gVXNlIEFWU3BlZWNo
U3ludGhlc2l6ZXIgaW4gQVZGb3VuZGF0aW9uIGluc3RlYWQgWy1XZGVwcmVjYXRlZC1kZWNsYXJh
dGlvbnNdCiAgIDU2IHwgQVBQS0lUX0VYVEVSTiBOU1NwZWVjaFByb3BlcnR5S2V5IGNvbnN0IE5T
U3BlZWNoTnVtYmVyTW9kZVByb3BlcnR5IEFQSV9BVkFJTEFCTEUobWFjb3MoMTAuNSkpOyAvLyBO
U1N0cmluZzogTlNTcGVlY2hNb2RlTm9ybWFsUHJvcGVydHkgb3IgTlNTcGVlY2hNb2RlTGl0ZXJh
bFByb3BlcnR5CiAgICAgIHwgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBw
L0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9T
REtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3Jr
L0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjUxOjIwOiBub3RlOiAnTlNTcGVlY2hQcm9w
ZXJ0eUtleScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgIDUx
IHwgdHlwZWRlZiBOU1N0cmluZyAqIE5TU3BlZWNoUHJvcGVydHlLZXkgTlNfVFlQRURfRU5VTTsK
ICAgICAgfCAgICAgICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250
ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9N
YWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFk
ZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDo1NzoxNTogd2FybmluZzogJ05TU3BlZWNoUHJvcGVy
dHlLZXknIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTQuMCAtIFVz
ZSBBVlNwZWVjaFN5bnRoZXNpemVyIGluIEFWRm91bmRhdGlvbiBpbnN0ZWFkIFstV2RlcHJlY2F0
ZWQtZGVjbGFyYXRpb25zXQogICA1NyB8IEFQUEtJVF9FWFRFUk4gTlNTcGVlY2hQcm9wZXJ0eUtl
eSBjb25zdCBOU1NwZWVjaFJhdGVQcm9wZXJ0eSBBUElfQVZBSUxBQkxFKG1hY29zKDEwLjUpKTsg
IC8vIE5TTnVtYmVyCiAgICAgIHwgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUu
YXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Bl
ci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3
b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjUxOjIwOiBub3RlOiAnTlNTcGVlY2hQ
cm9wZXJ0eUtleScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAg
IDUxIHwgdHlwZWRlZiBOU1N0cmluZyAqIE5TU3BlZWNoUHJvcGVydHlLZXkgTlNfVFlQRURfRU5V
TTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9D
b250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RL
cy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9I
ZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDo1ODoxNTogd2FybmluZzogJ05TU3BlZWNoUHJv
cGVydHlLZXknIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTQuMCAt
IFVzZSBBVlNwZWVjaFN5bnRoZXNpemVyIGluIEFWRm91bmRhdGlvbiBpbnN0ZWFkIFstV2RlcHJl
Y2F0ZWQtZGVjbGFyYXRpb25zXQogICA1OCB8IEFQUEtJVF9FWFRFUk4gTlNTcGVlY2hQcm9wZXJ0
eUtleSBjb25zdCBOU1NwZWVjaFBpdGNoQmFzZVByb3BlcnR5IEFQSV9BVkFJTEFCTEUobWFjb3Mo
MTAuNSkpOyAgLy8gTlNOdW1iZXIKICAgICAgfCAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9u
cy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0v
RGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtp
dC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6NTE6MjA6IG5vdGU6ICdO
U1NwZWVjaFByb3BlcnR5S2V5JyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVk
IGhlcmUKICAgNTEgfCB0eXBlZGVmIE5TU3RyaW5nICogTlNTcGVlY2hQcm9wZXJ0eUtleSBOU19U
WVBFRF9FTlVNOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNv
ZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVs
b3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJh
bWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjU5OjE1OiB3YXJuaW5nOiAnTlNT
cGVlY2hQcm9wZXJ0eUtleScgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNP
UyAxNC4wIC0gVXNlIEFWU3BlZWNoU3ludGhlc2l6ZXIgaW4gQVZGb3VuZGF0aW9uIGluc3RlYWQg
Wy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgIDU5IHwgQVBQS0lUX0VYVEVSTiBOU1NwZWVj
aFByb3BlcnR5S2V5IGNvbnN0IE5TU3BlZWNoUGl0Y2hNb2RQcm9wZXJ0eSBBUElfQVZBSUxBQkxF
KG1hY29zKDEwLjUpKTsgIC8vIE5TTnVtYmVyCiAgICAgIHwgICAgICAgICAgICAgICBeCi9BcHBs
aWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBs
YXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jr
cy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjUxOjIwOiBu
b3RlOiAnTlNTcGVlY2hQcm9wZXJ0eUtleScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVw
cmVjYXRlZCBoZXJlCiAgIDUxIHwgdHlwZWRlZiBOU1N0cmluZyAqIE5TU3BlZWNoUHJvcGVydHlL
ZXkgTlNfVFlQRURfRU5VTTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXgovQXBwbGljYXRp
b25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9y
bS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBw
S2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDo2MDoxNTogd2Fybmlu
ZzogJ05TU3BlZWNoUHJvcGVydHlLZXknIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQg
aW4gbWFjT1MgMTQuMCAtIFVzZSBBVlNwZWVjaFN5bnRoZXNpemVyIGluIEFWRm91bmRhdGlvbiBp
bnN0ZWFkIFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogICA2MCB8IEFQUEtJVF9FWFRFUk4g
TlNTcGVlY2hQcm9wZXJ0eUtleSBjb25zdCBOU1NwZWVjaFZvbHVtZVByb3BlcnR5IEFQSV9BVkFJ
TEFCTEUobWFjb3MoMTAuNSkpOyAgLy8gTlNOdW1iZXIKICAgICAgfCAgICAgICAgICAgICAgIF4K
L0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNP
U1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6NTE6
MjA6IG5vdGU6ICdOU1NwZWVjaFByb3BlcnR5S2V5JyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtl
ZCBkZXByZWNhdGVkIGhlcmUKICAgNTEgfCB0eXBlZGVmIE5TU3RyaW5nICogTlNTcGVlY2hQcm9w
ZXJ0eUtleSBOU19UWVBFRF9FTlVNOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBeCi9BcHBs
aWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBs
YXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jr
cy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjYxOjE1OiB3
YXJuaW5nOiAnTlNTcGVlY2hQcm9wZXJ0eUtleScgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVj
YXRlZCBpbiBtYWNPUyAxNC4wIC0gVXNlIEFWU3BlZWNoU3ludGhlc2l6ZXIgaW4gQVZGb3VuZGF0
aW9uIGluc3RlYWQgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgIDYxIHwgQVBQS0lUX0VY
VEVSTiBOU1NwZWVjaFByb3BlcnR5S2V5IGNvbnN0IE5TU3BlZWNoU3ludGhlc2l6ZXJJbmZvUHJv
cGVydHkgQVBJX0FWQUlMQUJMRShtYWNvcygxMC41KSk7ICAvLyBOU0RpY3Rpb25hcnksIHNlZSBr
ZXlzIGJlbG93CiAgICAgIHwgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBw
L0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9T
REtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3Jr
L0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjUxOjIwOiBub3RlOiAnTlNTcGVlY2hQcm9w
ZXJ0eUtleScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgIDUx
IHwgdHlwZWRlZiBOU1N0cmluZyAqIE5TU3BlZWNoUHJvcGVydHlLZXkgTlNfVFlQRURfRU5VTTsK
ICAgICAgfCAgICAgICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250
ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9N
YWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFk
ZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDo2MjoxNTogd2FybmluZzogJ05TU3BlZWNoUHJvcGVy
dHlLZXknIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTQuMCAtIFVz
ZSBBVlNwZWVjaFN5bnRoZXNpemVyIGluIEFWRm91bmRhdGlvbiBpbnN0ZWFkIFstV2RlcHJlY2F0
ZWQtZGVjbGFyYXRpb25zXQogICA2MiB8IEFQUEtJVF9FWFRFUk4gTlNTcGVlY2hQcm9wZXJ0eUtl
eSBjb25zdCBOU1NwZWVjaFJlY2VudFN5bmNQcm9wZXJ0eSBBUElfQVZBSUxBQkxFKG1hY29zKDEw
LjUpKTsgIC8vIE5TTnVtYmVyCiAgICAgIHwgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMv
WGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0Rl
dmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQu
ZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjUxOjIwOiBub3RlOiAnTlNT
cGVlY2hQcm9wZXJ0eUtleScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBo
ZXJlCiAgIDUxIHwgdHlwZWRlZiBOU1N0cmluZyAqIE5TU3BlZWNoUHJvcGVydHlLZXkgTlNfVFlQ
RURfRU5VTTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2Rl
LmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9w
ZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1l
d29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDo2MzoxNTogd2FybmluZzogJ05TU3Bl
ZWNoUHJvcGVydHlLZXknIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1Mg
MTQuMCAtIFVzZSBBVlNwZWVjaFN5bnRoZXNpemVyIGluIEFWRm91bmRhdGlvbiBpbnN0ZWFkIFst
V2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogICA2MyB8IEFQUEtJVF9FWFRFUk4gTlNTcGVlY2hQ
cm9wZXJ0eUtleSBjb25zdCBOU1NwZWVjaFBob25lbWVTeW1ib2xzUHJvcGVydHkgQVBJX0FWQUlM
QUJMRShtYWNvcygxMC41KSk7ICAvLyBOU0RpY3Rpb25hcnksIHNlZSBrZXlzIGJlbG93CiAgICAg
IHwgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVs
b3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsv
U3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVl
Y2hTeW50aGVzaXplci5oOjUxOjIwOiBub3RlOiAnTlNTcGVlY2hQcm9wZXJ0eUtleScgaGFzIGJl
ZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgIDUxIHwgdHlwZWRlZiBOU1N0
cmluZyAqIE5TU3BlZWNoUHJvcGVydHlLZXkgTlNfVFlQRURfRU5VTTsKICAgICAgfCAgICAgICAg
ICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIv
UGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3Rl
bS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3lu
dGhlc2l6ZXIuaDo2NDoxNTogd2FybmluZzogJ05TU3BlZWNoUHJvcGVydHlLZXknIGlzIGRlcHJl
Y2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTQuMCAtIFVzZSBBVlNwZWVjaFN5bnRo
ZXNpemVyIGluIEFWRm91bmRhdGlvbiBpbnN0ZWFkIFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25z
XQogICA2NCB8IEFQUEtJVF9FWFRFUk4gTlNTcGVlY2hQcm9wZXJ0eUtleSBjb25zdCBOU1NwZWVj
aEN1cnJlbnRWb2ljZVByb3BlcnR5IEFQSV9BVkFJTEFCTEUobWFjb3MoMTAuNSkpOyAgLy8gTlNT
dHJpbmcKICAgICAgfCAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29u
dGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3Mv
TWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVh
ZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6NTE6MjA6IG5vdGU6ICdOU1NwZWVjaFByb3BlcnR5
S2V5JyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICAgNTEgfCB0
eXBlZGVmIE5TU3RyaW5nICogTlNTcGVlY2hQcm9wZXJ0eUtleSBOU19UWVBFRF9FTlVNOwogICAg
ICB8ICAgICAgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRz
L0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09T
WC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMv
TlNTcGVlY2hTeW50aGVzaXplci5oOjY1OjE1OiB3YXJuaW5nOiAnTlNTcGVlY2hQcm9wZXJ0eUtl
eScgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxNC4wIC0gVXNlIEFW
U3BlZWNoU3ludGhlc2l6ZXIgaW4gQVZGb3VuZGF0aW9uIGluc3RlYWQgWy1XZGVwcmVjYXRlZC1k
ZWNsYXJhdGlvbnNdCiAgIDY1IHwgQVBQS0lUX0VYVEVSTiBOU1NwZWVjaFByb3BlcnR5S2V5IGNv
bnN0IE5TU3BlZWNoQ29tbWFuZERlbGltaXRlclByb3BlcnR5IEFQSV9BVkFJTEFCTEUobWFjb3Mo
MTAuNSkpOyAgLy8gTlNEaWN0aW9uYXJ5LCBzZWUga2V5cyBiZWxvdwogICAgICB8ICAgICAgICAg
ICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZv
cm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJy
YXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6
ZXIuaDo1MToyMDogbm90ZTogJ05TU3BlZWNoUHJvcGVydHlLZXknIGhhcyBiZWVuIGV4cGxpY2l0
bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogICA1MSB8IHR5cGVkZWYgTlNTdHJpbmcgKiBOU1Nw
ZWVjaFByb3BlcnR5S2V5IE5TX1RZUEVEX0VOVU07CiAgICAgIHwgICAgICAgICAgICAgICAgICAg
IF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9N
YWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6
NjY6MTU6IHdhcm5pbmc6ICdOU1NwZWVjaFByb3BlcnR5S2V5JyBpcyBkZXByZWNhdGVkOiBmaXJz
dCBkZXByZWNhdGVkIGluIG1hY09TIDE0LjAgLSBVc2UgQVZTcGVlY2hTeW50aGVzaXplciBpbiBB
VkZvdW5kYXRpb24gaW5zdGVhZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICAgNjYgfCBB
UFBLSVRfRVhURVJOIE5TU3BlZWNoUHJvcGVydHlLZXkgY29uc3QgTlNTcGVlY2hSZXNldFByb3Bl
cnR5IEFQSV9BVkFJTEFCTEUobWFjb3MoMTAuNSkpOwogICAgICB8ICAgICAgICAgICAgICAgXgov
QXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09T
WC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1l
d29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDo1MToy
MDogbm90ZTogJ05TU3BlZWNoUHJvcGVydHlLZXknIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2Vk
IGRlcHJlY2F0ZWQgaGVyZQogICA1MSB8IHR5cGVkZWYgTlNTdHJpbmcgKiBOU1NwZWVjaFByb3Bl
cnR5S2V5IE5TX1RZUEVEX0VOVU07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF4KL0FwcGxp
Y2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxh
dGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz
L0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6Njc6MTU6IHdh
cm5pbmc6ICdOU1NwZWVjaFByb3BlcnR5S2V5JyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNh
dGVkIGluIG1hY09TIDE0LjAgLSBVc2UgQVZTcGVlY2hTeW50aGVzaXplciBpbiBBVkZvdW5kYXRp
b24gaW5zdGVhZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICAgNjcgfCBBUFBLSVRfRVhU
RVJOIE5TU3BlZWNoUHJvcGVydHlLZXkgY29uc3QgTlNTcGVlY2hPdXRwdXRUb0ZpbGVVUkxQcm9w
ZXJ0eSBBUElfQVZBSUxBQkxFKG1hY29zKDEwLjUpKTsgIC8vIE5TVVJMCiAgICAgIHwgICAgICAg
ICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0
Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVz
aXplci5oOjUxOjIwOiBub3RlOiAnTlNTcGVlY2hQcm9wZXJ0eUtleScgaGFzIGJlZW4gZXhwbGlj
aXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgIDUxIHwgdHlwZWRlZiBOU1N0cmluZyAqIE5T
U3BlZWNoUHJvcGVydHlLZXkgTlNfVFlQRURfRU5VTTsKICAgICAgfCAgICAgICAgICAgICAgICAg
ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1z
L01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5
L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIu
aDoxMjU6MTU6IHdhcm5pbmc6ICdOU1NwZWVjaE1vZGUnIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRl
cHJlY2F0ZWQgaW4gbWFjT1MgMTQuMCAtIFVzZSBBVlNwZWVjaFN5bnRoZXNpemVyIGluIEFWRm91
bmRhdGlvbiBpbnN0ZWFkIFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogIDEyNSB8IEFQUEtJ
VF9FWFRFUk4gTlNTcGVlY2hNb2RlIGNvbnN0IE5TU3BlZWNoTW9kZVRleHQgQVBJX0FWQUlMQUJM
RShtYWNvcygxMC41KSk7CiAgICAgIHwgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNv
ZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVs
b3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJh
bWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjEyMzoyMDogbm90ZTogJ05TU3Bl
ZWNoTW9kZScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgMTIz
IHwgdHlwZWRlZiBOU1N0cmluZyAqIE5TU3BlZWNoTW9kZSBOU19UWVBFRF9FTlVNOwogICAgICB8
ICAgICAgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0Rl
dmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5z
ZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNT
cGVlY2hTeW50aGVzaXplci5oOjEyNjoxNTogd2FybmluZzogJ05TU3BlZWNoTW9kZScgaXMgZGVw
cmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxNC4wIC0gVXNlIEFWU3BlZWNoU3lu
dGhlc2l6ZXIgaW4gQVZGb3VuZGF0aW9uIGluc3RlYWQgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlv
bnNdCiAgMTI2IHwgQVBQS0lUX0VYVEVSTiBOU1NwZWVjaE1vZGUgY29uc3QgTlNTcGVlY2hNb2Rl
UGhvbmVtZSBBUElfQVZBSUxBQkxFKG1hY29zKDEwLjUpKTsKICAgICAgfCAgICAgICAgICAgICAg
IF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9N
YWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6
MTIzOjIwOiBub3RlOiAnTlNTcGVlY2hNb2RlJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBk
ZXByZWNhdGVkIGhlcmUKICAxMjMgfCB0eXBlZGVmIE5TU3RyaW5nICogTlNTcGVlY2hNb2RlIE5T
X1RZUEVEX0VOVU07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9Y
Y29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2
ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5m
cmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6MTI4OjE1OiB3YXJuaW5nOiAn
TlNTcGVlY2hNb2RlJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDE0
LjAgLSBVc2UgQVZTcGVlY2hTeW50aGVzaXplciBpbiBBVkZvdW5kYXRpb24gaW5zdGVhZCBbLVdk
ZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICAxMjggfCBBUFBLSVRfRVhURVJOIE5TU3BlZWNoTW9k
ZSBjb25zdCBOU1NwZWVjaE1vZGVOb3JtYWwgQVBJX0FWQUlMQUJMRShtYWNvcygxMC41KSk7CiAg
ICAgIHwgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0Rl
dmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5z
ZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNT
cGVlY2hTeW50aGVzaXplci5oOjEyMzoyMDogbm90ZTogJ05TU3BlZWNoTW9kZScgaGFzIGJlZW4g
ZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgMTIzIHwgdHlwZWRlZiBOU1N0cmlu
ZyAqIE5TU3BlZWNoTW9kZSBOU19UWVBFRF9FTlVNOwogICAgICB8ICAgICAgICAgICAgICAgICAg
ICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMv
TWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkv
RnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5o
OjEyOToxNTogd2FybmluZzogJ05TU3BlZWNoTW9kZScgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVw
cmVjYXRlZCBpbiBtYWNPUyAxNC4wIC0gVXNlIEFWU3BlZWNoU3ludGhlc2l6ZXIgaW4gQVZGb3Vu
ZGF0aW9uIGluc3RlYWQgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgMTI5IHwgQVBQS0lU
X0VYVEVSTiBOU1NwZWVjaE1vZGUgY29uc3QgTlNTcGVlY2hNb2RlTGl0ZXJhbCBBUElfQVZBSUxB
QkxFKG1hY29zKDEwLjUpKTsKICAgICAgfCAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9Y
Y29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2
ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5m
cmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6MTIzOjIwOiBub3RlOiAnTlNT
cGVlY2hNb2RlJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICAx
MjMgfCB0eXBlZGVmIE5TU3RyaW5nICogTlNTcGVlY2hNb2RlIE5TX1RZUEVEX0VOVU07CiAgICAg
IHwgICAgICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMv
RGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NY
LnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9O
U1NwZWVjaFN5bnRoZXNpemVyLmg6MTMzOjE1OiB3YXJuaW5nOiAnTlNTcGVlY2hTdGF0dXNLZXkn
IGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTQuMCAtIFVzZSBBVlNw
ZWVjaFN5bnRoZXNpemVyIGluIEFWRm91bmRhdGlvbiBpbnN0ZWFkIFstV2RlcHJlY2F0ZWQtZGVj
bGFyYXRpb25zXQogIDEzMyB8IEFQUEtJVF9FWFRFUk4gTlNTcGVlY2hTdGF0dXNLZXkgY29uc3Qg
TlNTcGVlY2hTdGF0dXNPdXRwdXRCdXN5IEFQSV9BVkFJTEFCTEUobWFjb3MoMTAuNSkpOyAgLy8g
TlNOdW1iZXIKICAgICAgfCAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAv
Q29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NE
S3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsv
SGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6MTMyOjIwOiBub3RlOiAnTlNTcGVlY2hTdGF0
dXNLZXknIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogIDEzMiB8
IHR5cGVkZWYgTlNTdHJpbmcgKiBOU1NwZWVjaFN0YXR1c0tleSBOU19UWVBFRF9FTlVNOwogICAg
ICB8ICAgICAgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRz
L0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09T
WC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMv
TlNTcGVlY2hTeW50aGVzaXplci5oOjEzNDoxNTogd2FybmluZzogJ05TU3BlZWNoU3RhdHVzS2V5
JyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDE0LjAgLSBVc2UgQVZT
cGVlY2hTeW50aGVzaXplciBpbiBBVkZvdW5kYXRpb24gaW5zdGVhZCBbLVdkZXByZWNhdGVkLWRl
Y2xhcmF0aW9uc10KICAxMzQgfCBBUFBLSVRfRVhURVJOIE5TU3BlZWNoU3RhdHVzS2V5IGNvbnN0
IE5TU3BlZWNoU3RhdHVzT3V0cHV0UGF1c2VkIEFQSV9BVkFJTEFCTEUobWFjb3MoMTAuNSkpOyAg
Ly8gTlNOdW1iZXIKICAgICAgfCAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5h
cHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVy
L1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdv
cmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6MTMyOjIwOiBub3RlOiAnTlNTcGVlY2hT
dGF0dXNLZXknIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogIDEz
MiB8IHR5cGVkZWYgTlNTdHJpbmcgKiBOU1NwZWVjaFN0YXR1c0tleSBOU19UWVBFRF9FTlVNOwog
ICAgICB8ICAgICAgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRl
bnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01h
Y09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRl
cnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjEzNToxNTogd2FybmluZzogJ05TU3BlZWNoU3RhdHVz
S2V5JyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDE0LjAgLSBVc2Ug
QVZTcGVlY2hTeW50aGVzaXplciBpbiBBVkZvdW5kYXRpb24gaW5zdGVhZCBbLVdkZXByZWNhdGVk
LWRlY2xhcmF0aW9uc10KICAxMzUgfCBBUFBLSVRfRVhURVJOIE5TU3BlZWNoU3RhdHVzS2V5IGNv
bnN0IE5TU3BlZWNoU3RhdHVzTnVtYmVyT2ZDaGFyYWN0ZXJzTGVmdCBBUElfQVZBSUxBQkxFKG1h
Y29zKDEwLjUpKTsgIC8vIE5TTnVtYmVyCiAgICAgIHwgICAgICAgICAgICAgICBeCi9BcHBsaWNh
dGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRm
b3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9B
cHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjEzMjoyMDogbm90
ZTogJ05TU3BlZWNoU3RhdHVzS2V5JyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNh
dGVkIGhlcmUKICAxMzIgfCB0eXBlZGVmIE5TU3RyaW5nICogTlNTcGVlY2hTdGF0dXNLZXkgTlNf
VFlQRURfRU5VTTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hj
b2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZl
bG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZy
YW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDoxMzY6MTU6IHdhcm5pbmc6ICdO
U1NwZWVjaFN0YXR1c0tleScgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNP
UyAxNC4wIC0gVXNlIEFWU3BlZWNoU3ludGhlc2l6ZXIgaW4gQVZGb3VuZGF0aW9uIGluc3RlYWQg
Wy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgMTM2IHwgQVBQS0lUX0VYVEVSTiBOU1NwZWVj
aFN0YXR1c0tleSBjb25zdCBOU1NwZWVjaFN0YXR1c1Bob25lbWVDb2RlIEFQSV9BVkFJTEFCTEUo
bWFjb3MoMTAuNSkpOyAgLy8gTlNOdW1iZXIKICAgICAgfCAgICAgICAgICAgICAgIF4KL0FwcGxp
Y2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxh
dGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz
L0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6MTMyOjIwOiBu
b3RlOiAnTlNTcGVlY2hTdGF0dXNLZXknIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJl
Y2F0ZWQgaGVyZQogIDEzMiB8IHR5cGVkZWYgTlNTdHJpbmcgKiBOU1NwZWVjaFN0YXR1c0tleSBO
U19UWVBFRF9FTlVNOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMv
WGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0Rl
dmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQu
ZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjE0MDoxNTogd2FybmluZzog
J05TU3BlZWNoRXJyb3JLZXknIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFj
T1MgMTQuMCAtIFVzZSBBVlNwZWVjaFN5bnRoZXNpemVyIGluIEFWRm91bmRhdGlvbiBpbnN0ZWFk
IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogIDE0MCB8IEFQUEtJVF9FWFRFUk4gTlNTcGVl
Y2hFcnJvcktleSBjb25zdCBOU1NwZWVjaEVycm9yQ291bnQgQVBJX0FWQUlMQUJMRShtYWNvcygx
MC41KSk7ICAvLyBOU051bWJlcgogICAgICB8ICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25z
L1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9E
ZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0
LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDoxMzk6MjA6IG5vdGU6ICdO
U1NwZWVjaEVycm9yS2V5JyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhl
cmUKICAxMzkgfCB0eXBlZGVmIE5TU3RyaW5nICogTlNTcGVlY2hFcnJvcktleSBOU19UWVBFRF9F
TlVNOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBw
L0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9T
REtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3Jr
L0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjE0MToxNTogd2FybmluZzogJ05TU3BlZWNo
RXJyb3JLZXknIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTQuMCAt
IFVzZSBBVlNwZWVjaFN5bnRoZXNpemVyIGluIEFWRm91bmRhdGlvbiBpbnN0ZWFkIFstV2RlcHJl
Y2F0ZWQtZGVjbGFyYXRpb25zXQogIDE0MSB8IEFQUEtJVF9FWFRFUk4gTlNTcGVlY2hFcnJvcktl
eSBjb25zdCBOU1NwZWVjaEVycm9yT2xkZXN0Q29kZSBBUElfQVZBSUxBQkxFKG1hY29zKDEwLjUp
KTsgIC8vIE5TTnVtYmVyCiAgICAgIHwgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNv
ZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVs
b3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJh
bWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjEzOToyMDogbm90ZTogJ05TU3Bl
ZWNoRXJyb3JLZXknIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQog
IDEzOSB8IHR5cGVkZWYgTlNTdHJpbmcgKiBOU1NwZWVjaEVycm9yS2V5IE5TX1RZUEVEX0VOVU07
CiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29u
dGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3Mv
TWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVh
ZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6MTQyOjE1OiB3YXJuaW5nOiAnTlNTcGVlY2hFcnJv
cktleScgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxNC4wIC0gVXNl
IEFWU3BlZWNoU3ludGhlc2l6ZXIgaW4gQVZGb3VuZGF0aW9uIGluc3RlYWQgWy1XZGVwcmVjYXRl
ZC1kZWNsYXJhdGlvbnNdCiAgMTQyIHwgQVBQS0lUX0VYVEVSTiBOU1NwZWVjaEVycm9yS2V5IGNv
bnN0IE5TU3BlZWNoRXJyb3JPbGRlc3RDaGFyYWN0ZXJPZmZzZXQgQVBJX0FWQUlMQUJMRShtYWNv
cygxMC41KSk7ICAvLyBOU051bWJlcgogICAgICB8ICAgICAgICAgICAgICAgXgovQXBwbGljYXRp
b25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9y
bS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBw
S2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDoxMzk6MjA6IG5vdGU6
ICdOU1NwZWVjaEVycm9yS2V5JyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVk
IGhlcmUKICAxMzkgfCB0eXBlZGVmIE5TU3RyaW5nICogTlNTcGVlY2hFcnJvcktleSBOU19UWVBF
RF9FTlVNOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUu
YXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Bl
ci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3
b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjE0MzoxNTogd2FybmluZzogJ05TU3Bl
ZWNoRXJyb3JLZXknIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTQu
MCAtIFVzZSBBVlNwZWVjaFN5bnRoZXNpemVyIGluIEFWRm91bmRhdGlvbiBpbnN0ZWFkIFstV2Rl
cHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogIDE0MyB8IEFQUEtJVF9FWFRFUk4gTlNTcGVlY2hFcnJv
cktleSBjb25zdCBOU1NwZWVjaEVycm9yTmV3ZXN0Q29kZSBBUElfQVZBSUxBQkxFKG1hY29zKDEw
LjUpKTsgIC8vIE5TTnVtYmVyCiAgICAgIHwgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMv
WGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0Rl
dmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQu
ZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjEzOToyMDogbm90ZTogJ05T
U3BlZWNoRXJyb3JLZXknIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVy
ZQogIDEzOSB8IHR5cGVkZWYgTlNTdHJpbmcgKiBOU1NwZWVjaEVycm9yS2V5IE5TX1RZUEVEX0VO
VU07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAv
Q29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NE
S3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsv
SGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6MTQ0OjE1OiB3YXJuaW5nOiAnTlNTcGVlY2hF
cnJvcktleScgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxNC4wIC0g
VXNlIEFWU3BlZWNoU3ludGhlc2l6ZXIgaW4gQVZGb3VuZGF0aW9uIGluc3RlYWQgWy1XZGVwcmVj
YXRlZC1kZWNsYXJhdGlvbnNdCiAgMTQ0IHwgQVBQS0lUX0VYVEVSTiBOU1NwZWVjaEVycm9yS2V5
IGNvbnN0IE5TU3BlZWNoRXJyb3JOZXdlc3RDaGFyYWN0ZXJPZmZzZXQgQVBJX0FWQUlMQUJMRSht
YWNvcygxMC41KSk7ICAvLyBOU051bWJlcgogICAgICB8ICAgICAgICAgICAgICAgXgovQXBwbGlj
YXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0
Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mv
QXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDoxMzk6MjA6IG5v
dGU6ICdOU1NwZWVjaEVycm9yS2V5JyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNh
dGVkIGhlcmUKICAxMzkgfCB0eXBlZGVmIE5TU3RyaW5nICogTlNTcGVlY2hFcnJvcktleSBOU19U
WVBFRF9FTlVNOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNv
ZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVs
b3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJh
bWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjE0ODoxNTogd2FybmluZzogJ05T
U3BlZWNoU3ludGhlc2l6ZXJJbmZvS2V5JyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVk
IGluIG1hY09TIDE0LjAgLSBVc2UgQVZTcGVlY2hTeW50aGVzaXplciBpbiBBVkZvdW5kYXRpb24g
aW5zdGVhZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICAxNDggfCBBUFBLSVRfRVhURVJO
IE5TU3BlZWNoU3ludGhlc2l6ZXJJbmZvS2V5IGNvbnN0IE5TU3BlZWNoU3ludGhlc2l6ZXJJbmZv
SWRlbnRpZmllciBBUElfQVZBSUxBQkxFKG1hY29zKDEwLjUpKTsgIC8vIE5TU3RyaW5nCiAgICAg
IHwgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVs
b3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsv
U3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVl
Y2hTeW50aGVzaXplci5oOjE0NzoyMDogbm90ZTogJ05TU3BlZWNoU3ludGhlc2l6ZXJJbmZvS2V5
JyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICAxNDcgfCB0eXBl
ZGVmIE5TU3RyaW5nICogTlNTcGVlY2hTeW50aGVzaXplckluZm9LZXkgTlNfVFlQRURfRU5VTTsK
ICAgICAgfCAgICAgICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250
ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9N
YWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFk
ZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDoxNDk6MTU6IHdhcm5pbmc6ICdOU1NwZWVjaFN5bnRo
ZXNpemVySW5mb0tleScgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAx
NC4wIC0gVXNlIEFWU3BlZWNoU3ludGhlc2l6ZXIgaW4gQVZGb3VuZGF0aW9uIGluc3RlYWQgWy1X
ZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgMTQ5IHwgQVBQS0lUX0VYVEVSTiBOU1NwZWVjaFN5
bnRoZXNpemVySW5mb0tleSBjb25zdCBOU1NwZWVjaFN5bnRoZXNpemVySW5mb1ZlcnNpb24gQVBJ
X0FWQUlMQUJMRShtYWNvcygxMC41KSk7ICAvLyBOU1N0cmluZwogICAgICB8ICAgICAgICAgICAg
ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1z
L01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5
L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIu
aDoxNDc6MjA6IG5vdGU6ICdOU1NwZWVjaFN5bnRoZXNpemVySW5mb0tleScgaGFzIGJlZW4gZXhw
bGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgMTQ3IHwgdHlwZWRlZiBOU1N0cmluZyAq
IE5TU3BlZWNoU3ludGhlc2l6ZXJJbmZvS2V5IE5TX1RZUEVEX0VOVU07CiAgICAgIHwgICAgICAg
ICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVy
L1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5
bnRoZXNpemVyLmg6MTUzOjE1OiB3YXJuaW5nOiAnTlNTcGVlY2hQaG9uZW1lSW5mb0tleScgaXMg
ZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxNC4wIC0gVXNlIEFWU3BlZWNo
U3ludGhlc2l6ZXIgaW4gQVZGb3VuZGF0aW9uIGluc3RlYWQgWy1XZGVwcmVjYXRlZC1kZWNsYXJh
dGlvbnNdCiAgMTUzIHwgQVBQS0lUX0VYVEVSTiBOU1NwZWVjaFBob25lbWVJbmZvS2V5IGNvbnN0
IE5TU3BlZWNoUGhvbmVtZUluZm9PcGNvZGUgQVBJX0FWQUlMQUJMRShtYWNvcygxMC41KSk7ICAv
LyBOU051bWJlcgogICAgICB8ICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFw
cC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIv
U0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29y
ay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDoxNTI6MjA6IG5vdGU6ICdOU1NwZWVjaFBo
b25lbWVJbmZvS2V5JyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUK
ICAxNTIgfCB0eXBlZGVmIE5TU3RyaW5nICogTlNTcGVlY2hQaG9uZW1lSW5mb0tleSBOU19UWVBF
RF9FTlVNOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUu
YXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Bl
ci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3
b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjE1NDoxNTogd2FybmluZzogJ05TU3Bl
ZWNoUGhvbmVtZUluZm9LZXknIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFj
T1MgMTQuMCAtIFVzZSBBVlNwZWVjaFN5bnRoZXNpemVyIGluIEFWRm91bmRhdGlvbiBpbnN0ZWFk
IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogIDE1NCB8IEFQUEtJVF9FWFRFUk4gTlNTcGVl
Y2hQaG9uZW1lSW5mb0tleSBjb25zdCBOU1NwZWVjaFBob25lbWVJbmZvU3ltYm9sIEFQSV9BVkFJ
TEFCTEUobWFjb3MoMTAuNSkpOyAgLy8gTlNTdHJpbmcKICAgICAgfCAgICAgICAgICAgICAgIF4K
L0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNP
U1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6MTUy
OjIwOiBub3RlOiAnTlNTcGVlY2hQaG9uZW1lSW5mb0tleScgaGFzIGJlZW4gZXhwbGljaXRseSBt
YXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgMTUyIHwgdHlwZWRlZiBOU1N0cmluZyAqIE5TU3BlZWNo
UGhvbmVtZUluZm9LZXkgTlNfVFlQRURfRU5VTTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAg
XgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01h
Y09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDox
NTU6MTU6IHdhcm5pbmc6ICdOU1NwZWVjaFBob25lbWVJbmZvS2V5JyBpcyBkZXByZWNhdGVkOiBm
aXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDE0LjAgLSBVc2UgQVZTcGVlY2hTeW50aGVzaXplciBp
biBBVkZvdW5kYXRpb24gaW5zdGVhZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICAxNTUg
fCBBUFBLSVRfRVhURVJOIE5TU3BlZWNoUGhvbmVtZUluZm9LZXkgY29uc3QgTlNTcGVlY2hQaG9u
ZW1lSW5mb0V4YW1wbGUgQVBJX0FWQUlMQUJMRShtYWNvcygxMC41KSk7ICAvLyBOU1N0cmluZwog
ICAgICB8ICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9E
ZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1gu
c2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05T
U3BlZWNoU3ludGhlc2l6ZXIuaDoxNTI6MjA6IG5vdGU6ICdOU1NwZWVjaFBob25lbWVJbmZvS2V5
JyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICAxNTIgfCB0eXBl
ZGVmIE5TU3RyaW5nICogTlNTcGVlY2hQaG9uZW1lSW5mb0tleSBOU19UWVBFRF9FTlVNOwogICAg
ICB8ICAgICAgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRz
L0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09T
WC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMv
TlNTcGVlY2hTeW50aGVzaXplci5oOjE1NjoxNTogd2FybmluZzogJ05TU3BlZWNoUGhvbmVtZUlu
Zm9LZXknIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTQuMCAtIFVz
ZSBBVlNwZWVjaFN5bnRoZXNpemVyIGluIEFWRm91bmRhdGlvbiBpbnN0ZWFkIFstV2RlcHJlY2F0
ZWQtZGVjbGFyYXRpb25zXQogIDE1NiB8IEFQUEtJVF9FWFRFUk4gTlNTcGVlY2hQaG9uZW1lSW5m
b0tleSBjb25zdCBOU1NwZWVjaFBob25lbWVJbmZvSGlsaXRlU3RhcnQgQVBJX0FWQUlMQUJMRSht
YWNvcygxMC41KSk7ICAvLyBOU051bWJlcgogICAgICB8ICAgICAgICAgICAgICAgXgovQXBwbGlj
YXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0
Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mv
QXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDoxNTI6MjA6IG5v
dGU6ICdOU1NwZWVjaFBob25lbWVJbmZvS2V5JyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBk
ZXByZWNhdGVkIGhlcmUKICAxNTIgfCB0eXBlZGVmIE5TU3RyaW5nICogTlNTcGVlY2hQaG9uZW1l
SW5mb0tleSBOU19UWVBFRF9FTlVNOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBeCi9BcHBs
aWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBs
YXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jr
cy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjE1NzoxNTog
d2FybmluZzogJ05TU3BlZWNoUGhvbmVtZUluZm9LZXknIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRl
cHJlY2F0ZWQgaW4gbWFjT1MgMTQuMCAtIFVzZSBBVlNwZWVjaFN5bnRoZXNpemVyIGluIEFWRm91
bmRhdGlvbiBpbnN0ZWFkIFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogIDE1NyB8IEFQUEtJ
VF9FWFRFUk4gTlNTcGVlY2hQaG9uZW1lSW5mb0tleSBjb25zdCBOU1NwZWVjaFBob25lbWVJbmZv
SGlsaXRlRW5kIEFQSV9BVkFJTEFCTEUobWFjb3MoMTAuNSkpOyAgLy8gTlNOdW1iZXIKICAgICAg
fCAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxv
cGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9T
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVj
aFN5bnRoZXNpemVyLmg6MTUyOjIwOiBub3RlOiAnTlNTcGVlY2hQaG9uZW1lSW5mb0tleScgaGFz
IGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgMTUyIHwgdHlwZWRlZiBO
U1N0cmluZyAqIE5TU3BlZWNoUGhvbmVtZUluZm9LZXkgTlNfVFlQRURfRU5VTTsKICAgICAgfCAg
ICAgICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZl
bG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2Rr
L1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3Bl
ZWNoU3ludGhlc2l6ZXIuaDoxNjE6MTU6IHdhcm5pbmc6ICdOU1NwZWVjaENvbW1hbmREZWxpbWl0
ZXJLZXknIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTQuMCAtIFVz
ZSBBVlNwZWVjaFN5bnRoZXNpemVyIGluIEFWRm91bmRhdGlvbiBpbnN0ZWFkIFstV2RlcHJlY2F0
ZWQtZGVjbGFyYXRpb25zXQogIDE2MSB8IEFQUEtJVF9FWFRFUk4gTlNTcGVlY2hDb21tYW5kRGVs
aW1pdGVyS2V5IGNvbnN0IE5TU3BlZWNoQ29tbWFuZFByZWZpeCBBUElfQVZBSUxBQkxFKG1hY29z
KDEwLjUpKTsgIC8vIE5TU3RyaW5nCiAgICAgIHwgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlv
bnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3Jt
L0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBL
aXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjE2MDoyMDogbm90ZTog
J05TU3BlZWNoQ29tbWFuZERlbGltaXRlcktleScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQg
ZGVwcmVjYXRlZCBoZXJlCiAgMTYwIHwgdHlwZWRlZiBOU1N0cmluZyAqIE5TU3BlZWNoQ29tbWFu
ZERlbGltaXRlcktleSBOU19UWVBFRF9FTlVNOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBe
Ci9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFj
T1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjE2
MjoxNTogd2FybmluZzogJ05TU3BlZWNoQ29tbWFuZERlbGltaXRlcktleScgaXMgZGVwcmVjYXRl
ZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxNC4wIC0gVXNlIEFWU3BlZWNoU3ludGhlc2l6
ZXIgaW4gQVZGb3VuZGF0aW9uIGluc3RlYWQgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAg
MTYyIHwgQVBQS0lUX0VYVEVSTiBOU1NwZWVjaENvbW1hbmREZWxpbWl0ZXJLZXkgY29uc3QgTlNT
cGVlY2hDb21tYW5kU3VmZml4IEFQSV9BVkFJTEFCTEUobWFjb3MoMTAuNSkpOyAgLy8gTlNTdHJp
bmcKICAgICAgfCAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVu
dHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFj
T1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVy
cy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6MTYwOjIwOiBub3RlOiAnTlNTcGVlY2hDb21tYW5kRGVs
aW1pdGVyS2V5JyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICAx
NjAgfCB0eXBlZGVmIE5TU3RyaW5nICogTlNTcGVlY2hDb21tYW5kRGVsaW1pdGVyS2V5IE5TX1RZ
UEVEX0VOVU07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF4KMTE3IHdhcm5pbmdzIGdlbmVy
YXRlZC4KY29uZmlndXJlOjE1OTc3OiAkPyA9IDAKY29uZmlndXJlOjE1OTc3OiByZXN1bHQ6IHll
cwpjb25maWd1cmU6MTU5OTE6IGNoZWNraW5nIGZvciBNYWMgT1MgWCAxMC42IG9yIG5ld2VyCmNv
bmZpZ3VyZToxNjAxMjogY2xhbmcgLWMgLVdnbnUtaW1hZ2luYXJ5LWNvbnN0YW50IC1XdW51c2Vk
LXJlc3VsdCAtZyAtRiAvQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIv
UGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3Rl
bS9MaWJyYXJ5L0ZyYW1ld29ya3MgLVduby1pZ25vcmVkLWF0dHJpYnV0ZXMgLVduby1mbGFnLWVu
dW0gLVduby1taXNzaW5nLW1ldGhvZC1yZXR1cm4tdHlwZSAtV25vLXZhcmlhZGljLW1hY3JvcyAt
V25vLXN0cmljdC1wcm90b3R5cGVzIC1Xbm8tYXZhaWxhYmlsaXR5IC1Xbm8tbnVsbGFiaWxpdHkt
Y29tcGxldGVuZXNzIC1PIC14IG9iamVjdGl2ZS1jICAgICAteCBvYmplY3RpdmUtYyAgY29uZnRl
c3QuYyA+JjUKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGNvbmZ0ZXN0LmM6Nzg6CkluIGZpbGUgaW5j
bHVkZWQgZnJvbSAvQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxh
dGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9M
aWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL0FwcEtpdC5oOjEwOgpJ
biBmaWxlIGluY2x1ZGVkIGZyb20gL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2
ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNk
ay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24uZnJhbWV3b3JrL0hlYWRlcnMv
Rm91bmRhdGlvbi5oOjk0OgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL0FwcGxpY2F0aW9ucy9YY29k
ZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxv
cGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0ZvdW5kYXRpb24u
ZnJhbWV3b3JrL0hlYWRlcnMvTlNVUkxFcnJvci5oOjE1OgpJbiBmaWxlIGluY2x1ZGVkIGZyb20g
L0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNP
U1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzL0NvcmVTZXJ2aWNlcy5mcmFtZXdvcmsvSGVhZGVycy9Db3JlU2VydmljZXMuaDoyMzoK
SW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0Rl
dmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5z
ZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1l
d29ya3MvQUUuZnJhbWV3b3JrL0hlYWRlcnMvQUUuaDoyMDoKSW4gZmlsZSBpbmNsdWRlZCBmcm9t
IC9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFj
T1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy9Db3JlU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvQ2FyYm9uQ29yZS5mcmFt
ZXdvcmsvSGVhZGVycy9DYXJib25Db3JlLmg6Mzk6Ci9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0Nv
bnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtz
L01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlU2VydmljZXMuZnJhbWV3
b3JrL0ZyYW1ld29ya3MvQ2FyYm9uQ29yZS5mcmFtZXdvcmsvSGVhZGVycy9TY3JpcHQuaDo4Mzc6
Mzogd2FybmluZzogJ1NjcmlwdFRva2VuVHlwZScgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVj
YXRlZCBpbiBtYWNPUyAxMy4wIC0gRGVwcmVjYXRlZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9u
c10KICA4MzcgfCAgIFNjcmlwdFRva2VuVHlwZSAgICAgdGhlVG9rZW47CiAgICAgIHwgICBeCi9B
cHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NY
LnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3
b3Jrcy9Db3JlU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvQ2FyYm9uQ29yZS5mcmFtZXdv
cmsvSGVhZGVycy9TY3JpcHQuaDo4MzM6NDE6IG5vdGU6ICdTY3JpcHRUb2tlblR5cGUnIGhhcyBi
ZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogIDgzMyB8IHR5cGVkZWYgc2hv
cnQgICAgICAgICAgICAgICAgICAgICAgICAgICBTY3JpcHRUb2tlblR5cGUgQVBJX0RFUFJFQ0FU
RUQoICJEZXByZWNhdGVkIiwgbWFjb3MoMTAuMCwxMy4wKSk7OwogICAgICB8ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0Nv
bnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtz
L01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlU2VydmljZXMuZnJhbWV3
b3JrL0ZyYW1ld29ya3MvQ2FyYm9uQ29yZS5mcmFtZXdvcmsvSGVhZGVycy9TY3JpcHQuaDo4NTc6
Mzogd2FybmluZzogJ1NjcmlwdFRva2VuVHlwZScgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVj
YXRlZCBpbiBtYWNPUyAxMy4wIC0gRGVwcmVjYXRlZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9u
c10KICA4NTcgfCAgIFNjcmlwdFRva2VuVHlwZSAgICAgbGVmdERlbGltc1syXTsKICAgICAgfCAg
IF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9N
YWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL0NvcmVTZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9DYXJib25Db3JlLmZy
YW1ld29yay9IZWFkZXJzL1NjcmlwdC5oOjgzMzo0MTogbm90ZTogJ1NjcmlwdFRva2VuVHlwZScg
aGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgODMzIHwgdHlwZWRl
ZiBzaG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmlwdFRva2VuVHlwZSBBUElfREVQ
UkVDQVRFRCggIkRlcHJlY2F0ZWQiLCBtYWNvcygxMC4wLDEzLjApKTs7CiAgICAgIHwgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5h
cHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVy
L1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVTZXJ2aWNlcy5m
cmFtZXdvcmsvRnJhbWV3b3Jrcy9DYXJib25Db3JlLmZyYW1ld29yay9IZWFkZXJzL1NjcmlwdC5o
Ojg1ODozOiB3YXJuaW5nOiAnU2NyaXB0VG9rZW5UeXBlJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBk
ZXByZWNhdGVkIGluIG1hY09TIDEzLjAgLSBEZXByZWNhdGVkIFstV2RlcHJlY2F0ZWQtZGVjbGFy
YXRpb25zXQogIDg1OCB8ICAgU2NyaXB0VG9rZW5UeXBlICAgICByaWdodERlbGltc1syXTsKICAg
ICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRm
b3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGli
cmFyeS9GcmFtZXdvcmtzL0NvcmVTZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9DYXJib25D
b3JlLmZyYW1ld29yay9IZWFkZXJzL1NjcmlwdC5oOjgzMzo0MTogbm90ZTogJ1NjcmlwdFRva2Vu
VHlwZScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgODMzIHwg
dHlwZWRlZiBzaG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmlwdFRva2VuVHlwZSBB
UElfREVQUkVDQVRFRCggIkRlcHJlY2F0ZWQiLCBtYWNvcygxMC4wLDEzLjApKTs7CiAgICAgIHwg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9Y
Y29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2
ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVTZXJ2
aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9DYXJib25Db3JlLmZyYW1ld29yay9IZWFkZXJzL1Nj
cmlwdC5oOjg1OTozOiB3YXJuaW5nOiAnU2NyaXB0VG9rZW5UeXBlJyBpcyBkZXByZWNhdGVkOiBm
aXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDEzLjAgLSBEZXByZWNhdGVkIFstV2RlcHJlY2F0ZWQt
ZGVjbGFyYXRpb25zXQogIDg1OSB8ICAgU2NyaXB0VG9rZW5UeXBlICAgICBsZWZ0Q29tbWVudFs0
XTsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVy
L1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0NvcmVTZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9D
YXJib25Db3JlLmZyYW1ld29yay9IZWFkZXJzL1NjcmlwdC5oOjgzMzo0MTogbm90ZTogJ1Njcmlw
dFRva2VuVHlwZScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAg
ODMzIHwgdHlwZWRlZiBzaG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjcmlwdFRva2Vu
VHlwZSBBUElfREVQUkVDQVRFRCggIkRlcHJlY2F0ZWQiLCBtYWNvcygxMC4wLDEzLjApKTs7CiAg
ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0
aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZv
cm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0Nv
cmVTZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9DYXJib25Db3JlLmZyYW1ld29yay9IZWFk
ZXJzL1NjcmlwdC5oOjg2MDozOiB3YXJuaW5nOiAnU2NyaXB0VG9rZW5UeXBlJyBpcyBkZXByZWNh
dGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDEzLjAgLSBEZXByZWNhdGVkIFstV2RlcHJl
Y2F0ZWQtZGVjbGFyYXRpb25zXQogIDg2MCB8ICAgU2NyaXB0VG9rZW5UeXBlICAgICByaWdodENv
bW1lbnRbNF07CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0Rl
dmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5z
ZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Db3JlU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1l
d29ya3MvQ2FyYm9uQ29yZS5mcmFtZXdvcmsvSGVhZGVycy9TY3JpcHQuaDo4MzM6NDE6IG5vdGU6
ICdTY3JpcHRUb2tlblR5cGUnIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQg
aGVyZQogIDgzMyB8IHR5cGVkZWYgc2hvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICBTY3Jp
cHRUb2tlblR5cGUgQVBJX0RFUFJFQ0FURUQoICJEZXByZWNhdGVkIiwgbWFjb3MoMTAuMCwxMy4w
KSk7OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9B
cHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NY
LnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3
b3Jrcy9Db3JlU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvQ2FyYm9uQ29yZS5mcmFtZXdv
cmsvSGVhZGVycy9TY3JpcHQuaDo4NjE6Mzogd2FybmluZzogJ1NjcmlwdFRva2VuVHlwZScgaXMg
ZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxMy4wIC0gRGVwcmVjYXRlZCBb
LVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICA4NjEgfCAgIFNjcmlwdFRva2VuVHlwZSAgICAg
ZXNjYXBlQ29kZTsgICAgICAgICAgICAgLyplc2NhcGUgc3ltYm9sIGNvZGUqLwogICAgICB8ICAg
XgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01h
Y09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvQ29yZVNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL0NhcmJvbkNvcmUuZnJh
bWV3b3JrL0hlYWRlcnMvU2NyaXB0Lmg6ODMzOjQxOiBub3RlOiAnU2NyaXB0VG9rZW5UeXBlJyBo
YXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICA4MzMgfCB0eXBlZGVm
IHNob3J0ICAgICAgICAgICAgICAgICAgICAgICAgICAgU2NyaXB0VG9rZW5UeXBlIEFQSV9ERVBS
RUNBVEVEKCAiRGVwcmVjYXRlZCIsIG1hY29zKDEwLjAsMTMuMCkpOzsKICAgICAgfCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFw
cC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIv
U0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ29yZVNlcnZpY2VzLmZy
YW1ld29yay9GcmFtZXdvcmtzL0NhcmJvbkNvcmUuZnJhbWV3b3JrL0hlYWRlcnMvU2NyaXB0Lmg6
ODYyOjM6IHdhcm5pbmc6ICdTY3JpcHRUb2tlblR5cGUnIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRl
cHJlY2F0ZWQgaW4gbWFjT1MgMTMuMCAtIERlcHJlY2F0ZWQgWy1XZGVwcmVjYXRlZC1kZWNsYXJh
dGlvbnNdCiAgODYyIHwgICBTY3JpcHRUb2tlblR5cGUgICAgIGRlY2ltYWxDb2RlOwogICAgICB8
ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1z
L01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5
L0ZyYW1ld29ya3MvQ29yZVNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL0NhcmJvbkNvcmUu
ZnJhbWV3b3JrL0hlYWRlcnMvU2NyaXB0Lmg6ODMzOjQxOiBub3RlOiAnU2NyaXB0VG9rZW5UeXBl
JyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICA4MzMgfCB0eXBl
ZGVmIHNob3J0ICAgICAgICAgICAgICAgICAgICAgICAgICAgU2NyaXB0VG9rZW5UeXBlIEFQSV9E
RVBSRUNBVEVEKCAiRGVwcmVjYXRlZCIsIG1hY29zKDEwLjAsMTMuMCkpOzsKICAgICAgfCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZy
b20gY29uZnRlc3QuYzo3ODoKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9BcHBsaWNhdGlvbnMvWGNv
ZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVs
b3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJh
bWV3b3JrL0hlYWRlcnMvQXBwS2l0Lmg6MTU6CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvQXBwbGlj
YXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0
Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mv
QXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TQWNjZXNzaWJpbGl0eUNvbG9yLmg6OToKSW4gZmls
ZSBpbmNsdWRlZCBmcm9tIC9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Bl
ci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lz
dGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNDb2xvci5o
OjQ2OgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVu
dHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFj
T1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVy
cy9OU0FwcGxpY2F0aW9uLmg6MTA6CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvQXBwbGljYXRpb25z
L1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9E
ZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0
LmZyYW1ld29yay9IZWFkZXJzL05TUmVzcG9uZGVyLmg6MTA6CkluIGZpbGUgaW5jbHVkZWQgZnJv
bSAvQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01h
Y09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TRXZlbnQuaDoxMDoKSW4gZmlsZSBp
bmNsdWRlZCBmcm9tIC9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9Q
bGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVt
L0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9IZWFkZXJz
L0FwcGxpY2F0aW9uU2VydmljZXMuaDo0MzoKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9BcHBsaWNh
dGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRm
b3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9B
cHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL0hJU2VydmljZXMuZnJhbWV3
b3JrL0hlYWRlcnMvSElTZXJ2aWNlcy5oOjI2OgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL0FwcGxp
Y2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxh
dGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz
L0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvSElTZXJ2aWNlcy5mcmFt
ZXdvcmsvSGVhZGVycy9ISVNoYXBlLmg6MjI6CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvQXBwbGlj
YXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0
Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mv
QXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVh
ZGVycy9RdWlja2RyYXcuaDozMToKL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2
ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNk
ay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3Jr
L0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjQ3
NTozOiB3YXJuaW5nOiAnQ01EYXRlVGltZScgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRl
ZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogIDQ3NSB8ICAgQ01E
YXRlVGltZSAgICAgICAgICBkYXRlVGltZTsgICAgICAgICAgICAgICAvKiBkYXRlIGFuZCB0aW1l
IG9mIHByb2ZpbGUgY3JlYXRpb24gKi8KICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5h
cHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVy
L1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2Vy
dmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5j
RGVwcmVjYXRlZC5oOjQyNDozOiBub3RlOiAnQ01EYXRlVGltZScgaGFzIGJlZW4gZXhwbGljaXRs
eSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgNDI0IHwgfSBDTURhdGVUaW1lIERFUFJFQ0FURURf
SU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsKICAgICAgfCAgIF4KL0FwcGxpY2F0
aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZv
cm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0Fw
cGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRl
cnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjQ4MzozOiB3YXJuaW5nOiAnQ01GaXhlZFhZWkNvbG9y
JyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDEwLjYgWy1XZGVwcmVj
YXRlZC1kZWNsYXJhdGlvbnNdCiAgNDgzIHwgICBDTUZpeGVkWFlaQ29sb3IgICAgIHdoaXRlOyAg
ICAgICAgICAgICAgICAgIC8qIHByb2ZpbGUgaWxsdW1pbmFudCAqLwogICAgICB8ICAgXgovQXBw
bGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5w
bGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29y
a3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsv
SGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6NDM1OjM6IG5vdGU6ICdDTUZpeGVkWFlaQ29s
b3InIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogIDQzNSB8IH0g
Q01GaXhlZFhZWkNvbG9yIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9M
QVRFUjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxv
cGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9T
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0Zy
YW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjQ5NToz
OiB3YXJuaW5nOiAnQ01EYXRlVGltZScgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBp
biBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogIDQ5NSB8ICAgQ01EYXRl
VGltZSAgICAgICAgICBkYXRlVGltZTsgICAgICAgICAgICAgICAvKiBkYXRlIGFuZCB0aW1lIG9m
IHByb2ZpbGUgY3JlYXRpb24gKi8KICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAv
Q29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NE
S3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2Vydmlj
ZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVw
cmVjYXRlZC5oOjQyNDozOiBub3RlOiAnQ01EYXRlVGltZScgaGFzIGJlZW4gZXhwbGljaXRseSBt
YXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgNDI0IHwgfSBDTURhdGVUaW1lIERFUFJFQ0FURURfSU5f
TUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9u
cy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0v
RGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxp
Y2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMv
Q29sb3JTeW5jRGVwcmVjYXRlZC5oOjUwMzozOiB3YXJuaW5nOiAnQ01GaXhlZFhZWkNvbG9yJyBp
cyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDEwLjYgWy1XZGVwcmVjYXRl
ZC1kZWNsYXJhdGlvbnNdCiAgNTAzIHwgICBDTUZpeGVkWFlaQ29sb3IgICAgIHdoaXRlOyAgICAg
ICAgICAgICAgICAgIC8qIHByb2ZpbGUgaWxsdW1pbmFudCAqLwogICAgICB8ICAgXgovQXBwbGlj
YXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0
Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mv
QXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVh
ZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6NDM1OjM6IG5vdGU6ICdDTUZpeGVkWFlaQ29sb3In
IGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogIDQzNSB8IH0gQ01G
aXhlZFhZWkNvbG9yIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRF
UjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVy
L1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1l
d29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjUwNTozOiB3
YXJuaW5nOiAnQ01Qcm9maWxlTUQ1JyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGlu
IG1hY09TIDEwLjYgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgNTA1IHwgICBDTVByb2Zp
bGVNRDUgICAgICAgIGRpZ2VzdDsgICAgICAgICAgICAgICAgIC8qIFByb2ZpbGUgbWVzc2FnZSBk
aWdlc3QgKi8KICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2
ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNk
ay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3Jr
L0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjQ0
ODo0MTogbm90ZTogJ0NNUHJvZmlsZU1ENScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVw
cmVjYXRlZCBoZXJlCiAgNDQ4IHwgdHlwZWRlZiB1bnNpZ25lZCBjaGFyICAgICAgICAgICAgICAg
ICAgIENNUHJvZmlsZU1ENVsxNl0gREVQUkVDQVRFRF9JTl9NQUNfT1NfWF9WRVJTSU9OXzEwXzZf
QU5EX0xBVEVSOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMv
TWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkv
RnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZy
YW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDo1MTc6Mzogd2FybmluZzogJ0NN
VGFnUmVjb3JkJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDEwLjYg
Wy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgNTE3IHwgICBDTVRhZ1JlY29yZCAgICAgICAg
IHRhZ0xpc3RbMV07ICAgICAgICAgICAgIC8qIHZhcmlhYmxlIHNpemUsIGRldGVybWluZWQgYnkg
Y291bnQgKi8KICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2
ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNk
ay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3Jr
L0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjUx
MzozOiBub3RlOiAnQ01UYWdSZWNvcmQnIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJl
Y2F0ZWQgaGVyZQogIDUxMyB8IH0gQ01UYWdSZWNvcmQgREVQUkVDQVRFRF9JTl9NQUNfT1NfWF9W
RVJTSU9OXzEwXzZfQU5EX0xBVEVSOwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFw
cC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIv
U0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2
aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNE
ZXByZWNhdGVkLmg6NTIxOjM6IHdhcm5pbmc6ICdDTTJIZWFkZXInIGlzIGRlcHJlY2F0ZWQ6IGZp
cnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10K
ICA1MjEgfCAgIENNMkhlYWRlciAgICAgICAgICAgaGVhZGVyOwogICAgICB8ICAgXgovQXBwbGlj
YXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0
Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mv
QXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVh
ZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6NDg2OjM6IG5vdGU6ICdDTTJIZWFkZXInIGhhcyBi
ZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogIDQ4NiB8IH0gQ00ySGVhZGVy
IERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsKICAgICAgfCAg
IF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9N
YWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJh
bWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjUyMjozOiB3YXJuaW5nOiAnQ01U
YWdFbGVtVGFibGUnIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAu
NiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICA1MjIgfCAgIENNVGFnRWxlbVRhYmxlICAg
ICAgdGFnVGFibGU7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRz
L0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09T
WC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1l
d29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQu
aDo1MTg6Mzogbm90ZTogJ0NNVGFnRWxlbVRhYmxlJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtl
ZCBkZXByZWNhdGVkIGhlcmUKICA1MTggfCB9IENNVGFnRWxlbVRhYmxlIERFUFJFQ0FURURfSU5f
TUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9u
cy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0v
RGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxp
Y2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMv
Q29sb3JTeW5jRGVwcmVjYXRlZC5oOjU1MDozOiB3YXJuaW5nOiAnQ01EYXRlVGltZScgaXMgZGVw
cmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVj
bGFyYXRpb25zXQogIDU1MCB8ICAgQ01EYXRlVGltZSAgICAgICAgICBkYXRlVGltZTsgICAgICAg
ICAgICAgICAvKiAqLwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50
cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNP
U1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFt
ZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVk
Lmg6NDI0OjM6IG5vdGU6ICdDTURhdGVUaW1lJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBk
ZXByZWNhdGVkIGhlcmUKICA0MjQgfCB9IENNRGF0ZVRpbWUgREVQUkVDQVRFRF9JTl9NQUNfT1Nf
WF9WRVJTSU9OXzEwXzZfQU5EX0xBVEVSOwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2Rl
LmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9w
ZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25T
ZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5
bmNEZXByZWNhdGVkLmg6NjE4OjM6IHdhcm5pbmc6ICdDTUZpeGVkWFlaQ29sb3InIGlzIGRlcHJl
Y2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xh
cmF0aW9uc10KICA2MTggfCAgIENNRml4ZWRYWVpDb2xvciAgICAgYmFja2luZ1hZWjsgICAgICAg
ICAgICAgLyogYWJzb2x1dGUgWFlaIHZhbHVlcyBvZiBiYWNraW5nICovCiAgICAgIHwgICBeCi9B
cHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NY
LnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3
b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29y
ay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDo0MzU6Mzogbm90ZTogJ0NNRml4ZWRYWVpD
b2xvcicgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgNDM1IHwg
fSBDTUZpeGVkWFlaQ29sb3IgREVQUkVDQVRFRF9JTl9NQUNfT1NfWF9WRVJTSU9OXzEwXzZfQU5E
X0xBVEVSOwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZl
bG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2Rr
L1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsv
RnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6NjYy
OjM6IHdhcm5pbmc6ICdDTUZpeGVkWFlDb2xvcicgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVj
YXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogIDY2MiB8ICAg
Q01GaXhlZFhZQ29sb3IgICAgICByZWRQaG9zcGhvcjsgICAgICAgICAgICAvKiBQaG9zcGhvcnMg
LSBuYXRpdmUgY3JvbWF0aWNpdHkgdmFsdWVzIG9mIHRoZSBkaXNwbGF5ICAqLwogICAgICB8ICAg
XgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01h
Y09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFt
ZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6NDI5OjM6IG5vdGU6ICdDTUZpeGVk
WFlDb2xvcicgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgNDI5
IHwgfSBDTUZpeGVkWFlDb2xvciBERVBSRUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJT05fMTBfNl9B
TkRfTEFURVI7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0Rl
dmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5z
ZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29y
ay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDo2
NjM6Mzogd2FybmluZzogJ0NNRml4ZWRYWUNvbG9yJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXBy
ZWNhdGVkIGluIG1hY09TIDEwLjYgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgNjYzIHwg
ICBDTUZpeGVkWFlDb2xvciAgICAgIGdyZWVuUGhvc3Bob3I7CiAgICAgIHwgICBeCi9BcHBsaWNh
dGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRm
b3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9B
cHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFk
ZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDo0Mjk6Mzogbm90ZTogJ0NNRml4ZWRYWUNvbG9yJyBo
YXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICA0MjkgfCB9IENNRml4
ZWRYWUNvbG9yIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsK
ICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1Bs
YXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0v
TGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29y
a3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjY2NDozOiB3YXJu
aW5nOiAnQ01GaXhlZFhZQ29sb3InIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4g
bWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICA2NjQgfCAgIENNRml4ZWRY
WUNvbG9yICAgICAgYmx1ZVBob3NwaG9yOwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2Rl
LmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9w
ZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25T
ZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5
bmNEZXByZWNhdGVkLmg6NDI5OjM6IG5vdGU6ICdDTUZpeGVkWFlDb2xvcicgaGFzIGJlZW4gZXhw
bGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgNDI5IHwgfSBDTUZpeGVkWFlDb2xvciBE
RVBSRUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJT05fMTBfNl9BTkRfTEFURVI7CiAgICAgIHwgICBe
Ci9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFj
T1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1l
d29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDo2NjU6Mzogd2FybmluZzogJ0NNRml4
ZWRYWUNvbG9yJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDEwLjYg
Wy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgNjY1IHwgICBDTUZpeGVkWFlDb2xvciAgICAg
IHdoaXRlUG9pbnQ7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRz
L0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09T
WC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1l
d29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQu
aDo0Mjk6Mzogbm90ZTogJ0NNRml4ZWRYWUNvbG9yJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtl
ZCBkZXByZWNhdGVkIGhlcmUKICA0MjkgfCB9IENNRml4ZWRYWUNvbG9yIERFUFJFQ0FURURfSU5f
TUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9u
cy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0v
RGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxp
Y2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMv
Q29sb3JTeW5jRGVwcmVjYXRlZC5oOjY4MTozOiB3YXJuaW5nOiAnQ01OYXRpdmVEaXNwbGF5SW5m
bycgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJl
Y2F0ZWQtZGVjbGFyYXRpb25zXQogIDY4MSB8ICAgQ01OYXRpdmVEaXNwbGF5SW5mbyBuYXRpdmVE
aXNwbGF5SW5mbzsgICAgICAvKiBkYXRhIG9mIHR5cGUgQ01OYXRpdmVEaXNwbGF5SW5mbyAqLwog
ICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxh
dGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9M
aWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jr
cy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6Njc2OjM6IG5vdGU6
ICdDTU5hdGl2ZURpc3BsYXlJbmZvJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNh
dGVkIGhlcmUKICA2NzYgfCB9IENNTmF0aXZlRGlzcGxheUluZm8gREVQUkVDQVRFRF9JTl9NQUNf
T1NfWF9WRVJTSU9OXzEwXzZfQU5EX0xBVEVSOwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hj
b2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZl
bG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRp
b25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xv
clN5bmNEZXByZWNhdGVkLmg6NzM0OjM6IHdhcm5pbmc6ICdDTVNjcmVlbmluZ0NoYW5uZWxSZWMn
IGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAuNiBbLVdkZXByZWNh
dGVkLWRlY2xhcmF0aW9uc10KICA3MzQgfCAgIENNU2NyZWVuaW5nQ2hhbm5lbFJlYyAgY2hhbm5l
bEluZm9bMV07ICAgICAgLyogdmFyaWFibGUgc2l6ZSwgZGV0ZXJtaW5lZCBieSBjaGFubmVsQ291
bnQgKi8KICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxv
cGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9T
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0Zy
YW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjcyNzoz
OiBub3RlOiAnQ01TY3JlZW5pbmdDaGFubmVsUmVjJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtl
ZCBkZXByZWNhdGVkIGhlcmUKICA3MjcgfCB9IENNU2NyZWVuaW5nQ2hhbm5lbFJlYyBERVBSRUNB
VEVEX0lOX01BQ19PU19YX1ZFUlNJT05fMTBfNl9BTkRfTEFURVI7CiAgICAgIHwgICBeCi9BcHBs
aWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBs
YXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jr
cy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9I
ZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDo3ODI6Mzogd2FybmluZzogJ0NNRml4ZWRYWVpD
b2xvcicgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2Rl
cHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogIDc4MiB8ICAgQ01GaXhlZFhZWkNvbG9yICAgICBpbGx1
bWluYW50OyAgICAgICAgICAgICAvKiBhYnNvbHV0ZSBYWVpzIG9mIGlsbHVtaW5hbnQgIGluIGNk
L21eMiAqLwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZl
bG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2Rr
L1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsv
RnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6NDM1
OjM6IG5vdGU6ICdDTUZpeGVkWFlaQ29sb3InIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRl
cHJlY2F0ZWQgaGVyZQogIDQzNSB8IH0gQ01GaXhlZFhZWkNvbG9yIERFUFJFQ0FURURfSU5fTUFD
X09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9Y
Y29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2
ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0
aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29s
b3JTeW5jRGVwcmVjYXRlZC5oOjc4MzozOiB3YXJuaW5nOiAnQ01GaXhlZFhZWkNvbG9yJyBpcyBk
ZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDEwLjYgWy1XZGVwcmVjYXRlZC1k
ZWNsYXJhdGlvbnNdCiAgNzgzIHwgICBDTUZpeGVkWFlaQ29sb3IgICAgIHN1cnJvdW5kOyAgICAg
ICAgICAgICAgIC8qIGFic29sdXRlIFhZWnMgb2Ygc3Vycm91bmQgaW4gY2QvbV4yICovCiAgICAg
IHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9y
bXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJh
cnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FE
LmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDo0MzU6Mzogbm90ZTogJ0NN
Rml4ZWRYWVpDb2xvcicgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJl
CiAgNDM1IHwgfSBDTUZpeGVkWFlaQ29sb3IgREVQUkVDQVRFRF9JTl9NQUNfT1NfWF9WRVJTSU9O
XzEwXzZfQU5EX0xBVEVSOwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250
ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9N
YWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5m
cmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNh
dGVkLmg6NzkwOjM6IHdhcm5pbmc6ICdDTUZpeGVkWFlaQ29sb3InIGlzIGRlcHJlY2F0ZWQ6IGZp
cnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10K
ICA3OTAgfCAgIENNRml4ZWRYWVpDb2xvciAgICAgWFlaWzFdOyAgICAgICAgICAgICAgICAgLyog
dmFyaWFibGUgc2l6ZSwgZGV0ZXJtaW5lZCBieSB0YWcgZWxlbWVudCBzaXplICovCiAgICAgIHwg
ICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMv
TWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkv
RnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZy
YW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDo0MzU6Mzogbm90ZTogJ0NNRml4
ZWRYWVpDb2xvcicgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAg
NDM1IHwgfSBDTUZpeGVkWFlaQ29sb3IgREVQUkVDQVRFRF9JTl9NQUNfT1NfWF9WRVJTSU9OXzEw
XzZfQU5EX0xBVEVSOwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50
cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNP
U1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFt
ZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVk
Lmg6ODI5OjM6IHdhcm5pbmc6ICdDTUludGVudENSRFZNU2l6ZScgaXMgZGVwcmVjYXRlZDogZmly
c3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQog
IDgyOSB8ICAgQ01JbnRlbnRDUkRWTVNpemUgICBpbnRlbnRDUkRbMV07ICAgICAgICAgICAvKiB2
YXJpYWJsZSBzaXplLCBkZXRlcm1pbmVkIGJ5IGNvdW50ICovCiAgICAgIHwgICBeCi9BcHBsaWNh
dGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRm
b3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9B
cHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFk
ZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDo4MjM6Mzogbm90ZTogJ0NNSW50ZW50Q1JEVk1TaXpl
JyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICA4MjMgfCB9IENN
SW50ZW50Q1JEVk1TaXplIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9M
QVRFUjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxv
cGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9T
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0Zy
YW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjg2MDo1
OiB3YXJuaW5nOiAnQ01WaWRlb0NhcmRHYW1tYVRhYmxlJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBk
ZXByZWNhdGVkIGluIG1hY09TIDEwLjYgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgODYw
IHwgICAgIENNVmlkZW9DYXJkR2FtbWFUYWJsZSAgICB0YWJsZTsKICAgICAgfCAgICAgXgovQXBw
bGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5w
bGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29y
a3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsv
SGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6ODQzOjM6IG5vdGU6ICdDTVZpZGVvQ2FyZEdh
bW1hVGFibGUnIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogIDg0
MyB8IH0gQ01WaWRlb0NhcmRHYW1tYVRhYmxlIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lP
Tl8xMF82X0FORF9MQVRFUjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29u
dGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3Mv
TWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMu
ZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVj
YXRlZC5oOjg2MTo1OiB3YXJuaW5nOiAnQ01WaWRlb0NhcmRHYW1tYUZvcm11bGEnIGlzIGRlcHJl
Y2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xh
cmF0aW9uc10KICA4NjEgfCAgICAgQ01WaWRlb0NhcmRHYW1tYUZvcm11bGEgIGZvcm11bGE7CiAg
ICAgIHwgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1Bs
YXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0v
TGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29y
a3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjg1NTozOiBub3Rl
OiAnQ01WaWRlb0NhcmRHYW1tYUZvcm11bGEnIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRl
cHJlY2F0ZWQgaGVyZQogIDg1NSB8IH0gQ01WaWRlb0NhcmRHYW1tYUZvcm11bGEgREVQUkVDQVRF
RF9JTl9NQUNfT1NfWF9WRVJTSU9OXzEwXzZfQU5EX0xBVEVSOwogICAgICB8ICAgXgovQXBwbGlj
YXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0
Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mv
QXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVh
ZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6ODY4OjM6IHdhcm5pbmc6ICdDTVZpZGVvQ2FyZEdh
bW1hJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDEwLjYgWy1XZGVw
cmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgODY4IHwgICBDTVZpZGVvQ2FyZEdhbW1hICAgIGdhbW1h
OwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIv
UGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3Rl
bS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3
b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6ODYzOjM6IG5v
dGU6ICdDTVZpZGVvQ2FyZEdhbW1hJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNh
dGVkIGhlcmUKICA4NjMgfCB9IENNVmlkZW9DYXJkR2FtbWEgREVQUkVDQVRFRF9JTl9NQUNfT1Nf
WF9WRVJTSU9OXzEwXzZfQU5EX0xBVEVSOwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2Rl
LmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9w
ZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25T
ZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5
bmNEZXByZWNhdGVkLmg6ODg1OjM6IHdhcm5pbmc6ICdDTU1ha2VBbmRNb2RlbCcgaXMgZGVwcmVj
YXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFy
YXRpb25zXQogIDg4NSB8ICAgQ01NYWtlQW5kTW9kZWwgICAgICBtYWtlQW5kTW9kZWw7CiAgICAg
IHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9y
bXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJh
cnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FE
LmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDo4ODA6Mzogbm90ZTogJ0NN
TWFrZUFuZE1vZGVsJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUK
ICA4ODAgfCB9IENNTWFrZUFuZE1vZGVsIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8x
MF82X0FORF9MQVRFUjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVu
dHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFj
T1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJh
bWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRl
ZC5oOjExODc6Mzogd2FybmluZzogJ0NNMkhlYWRlcicgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVw
cmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogMTE4NyB8
ICAgQ00ySGVhZGVyICAgICAgICAgICBjbTI7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNv
ZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVs
b3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlv
blNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9y
U3luY0RlcHJlY2F0ZWQuaDo0ODY6Mzogbm90ZTogJ0NNMkhlYWRlcicgaGFzIGJlZW4gZXhwbGlj
aXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgNDg2IHwgfSBDTTJIZWFkZXIgREVQUkVDQVRF
RF9JTl9NQUNfT1NfWF9WRVJTSU9OXzEwXzZfQU5EX0xBVEVSOwogICAgICB8ICAgXgovQXBwbGlj
YXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0
Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mv
QXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVh
ZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTE4ODozOiB3YXJuaW5nOiAnQ000SGVhZGVyJyBp
cyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDEwLjYgWy1XZGVwcmVjYXRl
ZC1kZWNsYXJhdGlvbnNdCiAxMTg4IHwgICBDTTRIZWFkZXIgICAgICAgICAgIGNtNDsKICAgICAg
fCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jt
cy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQu
ZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjUwNzozOiBub3RlOiAnQ000
SGVhZGVyJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICA1MDcg
fCB9IENNNEhlYWRlciBERVBSRUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJT05fMTBfNl9BTkRfTEFU
RVI7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Bl
ci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lz
dGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFt
ZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDoxMTk2OjM6
IHdhcm5pbmc6ICdDTVByb2ZpbGVSZWYnIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQg
aW4gbWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KIDExOTYgfCAgIENNUHJv
ZmlsZVJlZiAgICAgICAgcHJvZmlsZVNldFsxXTsgICAgICAgICAgLyogVmFyaWFibGUuIE9yZGVy
ZWQgZnJvbSBTb3VyY2UgLT4gRGVzdCAqLwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2Rl
LmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9w
ZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25T
ZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5
bmNEZXByZWNhdGVkLmg6MTAwMDo0MTogbm90ZTogJ0NNUHJvZmlsZVJlZicgaGFzIGJlZW4gZXhw
bGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAxMDAwIHwgdHlwZWRlZiBzdHJ1Y3QgT3Bh
cXVlQ01Qcm9maWxlUmVmKiAgICAgIENNUHJvZmlsZVJlZiBERVBSRUNBVEVEX0lOX01BQ19PU19Y
X1ZFUlNJT05fMTBfNl9BTkRfTEFURVI7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxv
cGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9T
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0Zy
YW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjEyMDM6
Mzogd2FybmluZzogJ0NNUHJvZmlsZVJlZicgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRl
ZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogMTIwMyB8ICAgQ01Q
cm9maWxlUmVmICAgICAgICBwcm9maWxlOyAgICAgICAgICAgICAgICAvKiBwcm9maWxlICovCiAg
ICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0
Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtz
L1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDoxMDAwOjQxOiBub3Rl
OiAnQ01Qcm9maWxlUmVmJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhl
cmUKIDEwMDAgfCB0eXBlZGVmIHN0cnVjdCBPcGFxdWVDTVByb2ZpbGVSZWYqICAgICAgQ01Qcm9m
aWxlUmVmIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsKICAg
ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovQXBwbGljYXRp
b25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9y
bS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBw
bGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVy
cy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTIxMTozOiB3YXJuaW5nOiAnTkNNQ29uY2F0UHJvZmls
ZVNwZWMnIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAuNiBbLVdk
ZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KIDEyMTEgfCAgIE5DTUNvbmNhdFByb2ZpbGVTcGVjICBw
cm9maWxlU3BlY3NbMV07ICAgICAgLyogVmFyaWFibGUuIE9yZGVyZWQgZnJvbSBTb3VyY2UgLT4g
RGVzdCAqLwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZl
bG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2Rr
L1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsv
RnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTIw
NDozOiBub3RlOiAnTkNNQ29uY2F0UHJvZmlsZVNwZWMnIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFy
a2VkIGRlcHJlY2F0ZWQgaGVyZQogMTIwNCB8IH0gTkNNQ29uY2F0UHJvZmlsZVNwZWMgREVQUkVD
QVRFRF9JTl9NQUNfT1NfWF9WRVJTSU9OXzEwXzZfQU5EX0xBVEVSOwogICAgICB8ICAgXgovQXBw
bGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5w
bGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29y
a3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsv
SGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTMwMjozOiB3YXJuaW5nOiAnQ01SR0JDb2xv
cicgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJl
Y2F0ZWQtZGVjbGFyYXRpb25zXQogMTMwMiB8ICAgQ01SR0JDb2xvciAgICAgICAgICByZ2I7CiAg
ICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0
Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtz
L1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDoxMjMyOjM6IG5vdGU6
ICdDTVJHQkNvbG9yJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUK
IDEyMzIgfCB9IENNUkdCQ29sb3IgREVQUkVDQVRFRF9JTl9NQUNfT1NfWF9WRVJTSU9OXzEwXzZf
QU5EX0xBVEVSOwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9E
ZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1gu
c2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdv
cmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6
MTMwMzozOiB3YXJuaW5nOiAnQ01IU1ZDb2xvcicgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVj
YXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogMTMwMyB8ICAg
Q01IU1ZDb2xvciAgICAgICAgICBoc3Y7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUu
YXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Bl
ci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNl
cnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3lu
Y0RlcHJlY2F0ZWQuaDoxMjU3OjM6IG5vdGU6ICdDTUhTVkNvbG9yJyBoYXMgYmVlbiBleHBsaWNp
dGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKIDEyNTcgfCB9IENNSFNWQ29sb3IgREVQUkVDQVRF
RF9JTl9NQUNfT1NfWF9WRVJTSU9OXzEwXzZfQU5EX0xBVEVSOwogICAgICB8ICAgXgovQXBwbGlj
YXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0
Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mv
QXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVh
ZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTMwNDozOiB3YXJuaW5nOiAnQ01ITFNDb2xvcicg
aXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0
ZWQtZGVjbGFyYXRpb25zXQogMTMwNCB8ICAgQ01ITFNDb2xvciAgICAgICAgICBobHM7CiAgICAg
IHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9y
bXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJh
cnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FE
LmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDoxMjUxOjM6IG5vdGU6ICdD
TUhMU0NvbG9yJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKIDEy
NTEgfCB9IENNSExTQ29sb3IgREVQUkVDQVRFRF9JTl9NQUNfT1NfWF9WRVJTSU9OXzEwXzZfQU5E
X0xBVEVSOwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZl
bG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2Rr
L1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsv
RnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTMw
NjozOiB3YXJuaW5nOiAnQ01MYWJDb2xvcicgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRl
ZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogMTMwNiB8ICAgQ01M
YWJDb2xvciAgICAgICAgICBMYWI7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBw
L0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9T
REtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZp
Y2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0Rl
cHJlY2F0ZWQuaDoxMjYzOjM6IG5vdGU6ICdDTUxhYkNvbG9yJyBoYXMgYmVlbiBleHBsaWNpdGx5
IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKIDEyNjMgfCB9IENNTGFiQ29sb3IgREVQUkVDQVRFRF9J
Tl9NQUNfT1NfWF9WRVJTSU9OXzEwXzZfQU5EX0xBVEVSOwogICAgICB8ICAgXgovQXBwbGljYXRp
b25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9y
bS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBw
bGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVy
cy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTMwNzozOiB3YXJuaW5nOiAnQ01MdXZDb2xvcicgaXMg
ZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQt
ZGVjbGFyYXRpb25zXQogMTMwNyB8ICAgQ01MdXZDb2xvciAgICAgICAgICBMdXY7CiAgICAgIHwg
ICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMv
TWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkv
RnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZy
YW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDoxMjY5OjM6IG5vdGU6ICdDTUx1
dkNvbG9yJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKIDEyNjkg
fCB9IENNTHV2Q29sb3IgREVQUkVDQVRFRF9JTl9NQUNfT1NfWF9WRVJTSU9OXzEwXzZfQU5EX0xB
VEVSOwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9w
ZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5
c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJh
bWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTMwODoz
OiB3YXJuaW5nOiAnQ01ZeHlDb2xvcicgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBp
biBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogMTMwOCB8ICAgQ01ZeHlD
b2xvciAgICAgICAgICBZeHk7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0Nv
bnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtz
L01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2Vz
LmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJl
Y2F0ZWQuaDoxMjc1OjM6IG5vdGU6ICdDTVl4eUNvbG9yJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1h
cmtlZCBkZXByZWNhdGVkIGhlcmUKIDEyNzUgfCB9IENNWXh5Q29sb3IgREVQUkVDQVRFRF9JTl9N
QUNfT1NfWF9WRVJTSU9OXzEwXzZfQU5EX0xBVEVSOwogICAgICB8ICAgXgovQXBwbGljYXRpb25z
L1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9E
ZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGlj
YXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9D
b2xvclN5bmNEZXByZWNhdGVkLmg6MTMwOTozOiB3YXJuaW5nOiAnQ01DTVlLQ29sb3InIGlzIGRl
cHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRl
Y2xhcmF0aW9uc10KIDEzMDkgfCAgIENNQ01ZS0NvbG9yICAgICAgICAgY215azsKICAgICAgfCAg
IF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9N
YWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJh
bWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjEyMzk6Mzogbm90ZTogJ0NNQ01Z
S0NvbG9yJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKIDEyMzkg
fCB9IENNQ01ZS0NvbG9yIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9M
QVRFUjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxv
cGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9T
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0Zy
YW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjEzMTA6
Mzogd2FybmluZzogJ0NNQ01ZQ29sb3InIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQg
aW4gbWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KIDEzMTAgfCAgIENNQ01Z
Q29sb3IgICAgICAgICAgY215OwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9D
b250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RL
cy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNl
cy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXBy
ZWNhdGVkLmg6MTI0NTozOiBub3RlOiAnQ01DTVlDb2xvcicgaGFzIGJlZW4gZXhwbGljaXRseSBt
YXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAxMjQ1IHwgfSBDTUNNWUNvbG9yIERFUFJFQ0FURURfSU5f
TUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9u
cy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0v
RGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxp
Y2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMv
Q29sb3JTeW5jRGVwcmVjYXRlZC5oOjEzMTE6Mzogd2FybmluZzogJ0NNR3JheUNvbG9yJyBpcyBk
ZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDEwLjYgWy1XZGVwcmVjYXRlZC1k
ZWNsYXJhdGlvbnNdCiAxMzExIHwgICBDTUdyYXlDb2xvciAgICAgICAgIGdyYXk7CiAgICAgIHwg
ICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMv
TWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkv
RnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZy
YW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDoxMjc5OjM6IG5vdGU6ICdDTUdy
YXlDb2xvcicgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAxMjc5
IHwgfSBDTUdyYXlDb2xvciBERVBSRUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJT05fMTBfNl9BTkRf
TEFURVI7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVs
b3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsv
U3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9G
cmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDoxMzEy
OjM6IHdhcm5pbmc6ICdDTU11bHRpY2hhbm5lbDVDb2xvcicgaXMgZGVwcmVjYXRlZDogZmlyc3Qg
ZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogMTMx
MiB8ICAgQ01NdWx0aWNoYW5uZWw1Q29sb3IgIG1jNTsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9u
cy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0v
RGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxp
Y2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMv
Q29sb3JTeW5jRGVwcmVjYXRlZC5oOjEyODM6Mzogbm90ZTogJ0NNTXVsdGljaGFubmVsNUNvbG9y
JyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKIDEyODMgfCB9IENN
TXVsdGljaGFubmVsNUNvbG9yIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FO
RF9MQVRFUjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2
ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNk
ay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3Jr
L0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjEz
MTM6Mzogd2FybmluZzogJ0NNTXVsdGljaGFubmVsNkNvbG9yJyBpcyBkZXByZWNhdGVkOiBmaXJz
dCBkZXByZWNhdGVkIGluIG1hY09TIDEwLjYgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAx
MzEzIHwgICBDTU11bHRpY2hhbm5lbDZDb2xvciAgbWM2OwogICAgICB8ICAgXgovQXBwbGljYXRp
b25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9y
bS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBw
bGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVy
cy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTI4NzozOiBub3RlOiAnQ01NdWx0aWNoYW5uZWw2Q29s
b3InIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogMTI4NyB8IH0g
Q01NdWx0aWNoYW5uZWw2Q29sb3IgREVQUkVDQVRFRF9JTl9NQUNfT1NfWF9WRVJTSU9OXzEwXzZf
QU5EX0xBVEVSOwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9E
ZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1gu
c2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdv
cmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6
MTMxNDozOiB3YXJuaW5nOiAnQ01NdWx0aWNoYW5uZWw3Q29sb3InIGlzIGRlcHJlY2F0ZWQ6IGZp
cnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10K
IDEzMTQgfCAgIENNTXVsdGljaGFubmVsN0NvbG9yICBtYzc7CiAgICAgIHwgICBeCi9BcHBsaWNh
dGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRm
b3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9B
cHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFk
ZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDoxMjkxOjM6IG5vdGU6ICdDTU11bHRpY2hhbm5lbDdD
b2xvcicgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAxMjkxIHwg
fSBDTU11bHRpY2hhbm5lbDdDb2xvciBERVBSRUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJT05fMTBf
Nl9BTkRfTEFURVI7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRz
L0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09T
WC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1l
d29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQu
aDoxMzE1OjM6IHdhcm5pbmc6ICdDTU11bHRpY2hhbm5lbDhDb2xvcicgaXMgZGVwcmVjYXRlZDog
Zmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25z
XQogMTMxNSB8ICAgQ01NdWx0aWNoYW5uZWw4Q29sb3IgIG1jODsKICAgICAgfCAgIF4KL0FwcGxp
Y2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxh
dGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz
L0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hl
YWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjEyOTU6Mzogbm90ZTogJ0NNTXVsdGljaGFubmVs
OENvbG9yJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKIDEyOTUg
fCB9IENNTXVsdGljaGFubmVsOENvbG9yIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8x
MF82X0FORF9MQVRFUjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVu
dHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFj
T1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJh
bWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRl
ZC5oOjEzMTY6Mzogd2FybmluZzogJ0NNTmFtZWRDb2xvcicgaXMgZGVwcmVjYXRlZDogZmlyc3Qg
ZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogMTMx
NiB8ICAgQ01OYW1lZENvbG9yICAgICAgICBuYW1lZENvbG9yOwogICAgICB8ICAgXgovQXBwbGlj
YXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0
Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mv
QXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVh
ZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTI5OTozOiBub3RlOiAnQ01OYW1lZENvbG9yJyBo
YXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKIDEyOTkgfCB9IENNTmFt
ZWRDb2xvciBERVBSRUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJT05fMTBfNl9BTkRfTEFURVI7CiAg
ICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0
Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtz
L1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDoxNTE1OjM6IHdhcm5p
bmc6ICdDTUJpdG1hcENvbG9yU3BhY2UnIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQg
aW4gbWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KIDE1MTUgfCAgIENNQml0
bWFwQ29sb3JTcGFjZSAgc3BhY2U7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBw
L0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9T
REtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZp
Y2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0Rl
cHJlY2F0ZWQuaDoxNTA3OjQxOiBub3RlOiAnQ01CaXRtYXBDb2xvclNwYWNlJyBoYXMgYmVlbiBl
eHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKIDE1MDcgfCB0eXBlZGVmIFVJbnQzMiAg
ICAgICAgICAgICAgICAgICAgICAgICAgQ01CaXRtYXBDb2xvclNwYWNlIERFUFJFQ0FURURfSU5f
TUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsKICAgICAgfCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50
cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNP
U1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFt
ZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVk
Lmg6MTU4OTozOiB3YXJuaW5nOiAnQ01IYW5kbGVMb2NhdGlvbicgaXMgZGVwcmVjYXRlZDogZmly
c3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQog
MTU4OSB8ICAgQ01IYW5kbGVMb2NhdGlvbiAgICBoYW5kbGVMb2M7CiAgICAgIHwgICBeCi9BcHBs
aWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBs
YXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jr
cy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9I
ZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDoxNTU3OjM6IG5vdGU6ICdDTUhhbmRsZUxvY2F0
aW9uJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKIDE1NTcgfCB9
IENNSGFuZGxlTG9jYXRpb24gREVQUkVDQVRFRF9JTl9NQUNfT1NfWF9WRVJTSU9OXzEwXzZfQU5E
X0xBVEVSOwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZl
bG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2Rr
L1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsv
RnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTU5
NDozOiB3YXJuaW5nOiAnQ01QYXRoTG9jYXRpb24nIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJl
Y2F0ZWQgaW4gbWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KIDE1OTQgfCAg
IENNUGF0aExvY2F0aW9uICAgICAgcGF0aExvYzsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9Y
Y29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2
ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0
aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29s
b3JTeW5jRGVwcmVjYXRlZC5oOjE1Nzg6Mzogbm90ZTogJ0NNUGF0aExvY2F0aW9uJyBoYXMgYmVl
biBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKIDE1NzggfCB9IENNUGF0aExvY2F0
aW9uIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsKICAgICAg
fCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jt
cy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQu
ZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjE1OTU6Mzogd2FybmluZzog
J0NNQnVmZmVyTG9jYXRpb24nIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFj
T1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KIDE1OTUgfCAgIENNQnVmZmVyTG9j
YXRpb24gICAgYnVmZmVyTG9jOwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9D
b250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RL
cy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNl
cy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXBy
ZWNhdGVkLmg6MTU4MzozOiBub3RlOiAnQ01CdWZmZXJMb2NhdGlvbicgaGFzIGJlZW4gZXhwbGlj
aXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAxNTgzIHwgfSBDTUJ1ZmZlckxvY2F0aW9uIERF
UFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsKICAgICAgfCAgIF4K
L0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNP
U1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3
b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjE2MDA6Mzogd2FybmluZzogJ0NNUHJv
ZkxvYycgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2Rl
cHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogMTYwMCB8ICAgQ01Qcm9mTG9jICAgICAgICAgICB1Owog
ICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxh
dGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9M
aWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jr
cy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTU5NjozOiBub3Rl
OiAnQ01Qcm9mTG9jJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUK
IDE1OTYgfCB9IENNUHJvZkxvYyBERVBSRUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJT05fMTBfNl9B
TkRfTEFURVI7CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0Rl
dmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5z
ZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29y
ay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDox
NjA1OjQyOiB3YXJuaW5nOiAnQ01Qcm9maWxlTG9jYXRpb24nIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0
IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KIDE2
MDUgfCAgIGNtQ3VycmVudFByb2ZpbGVMb2NhdGlvblNpemUgID0gc2l6ZW9mKENNUHJvZmlsZUxv
Y2F0aW9uKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01h
Y09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFt
ZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTYwMTozOiBub3RlOiAnQ01Qcm9m
aWxlTG9jYXRpb24nIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQog
MTYwMSB8IH0gQ01Qcm9maWxlTG9jYXRpb24gREVQUkVDQVRFRF9JTl9NQUNfT1NfWF9WRVJTSU9O
XzEwXzZfQU5EX0xBVEVSOwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250
ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9N
YWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5m
cmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNh
dGVkLmg6MTYyMDozOiB3YXJuaW5nOiAnQ00ySGVhZGVyJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBk
ZXByZWNhdGVkIGluIG1hY09TIDEwLjYgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAxNjIw
IHwgICBDTTJIZWFkZXIgICAgICAgICAgIGhlYWRlcjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9u
cy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0v
RGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxp
Y2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMv
Q29sb3JTeW5jRGVwcmVjYXRlZC5oOjQ4NjozOiBub3RlOiAnQ00ySGVhZGVyJyBoYXMgYmVlbiBl
eHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICA0ODYgfCB9IENNMkhlYWRlciBERVBS
RUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJT05fMTBfNl9BTkRfTEFURVI7CiAgICAgIHwgICBeCi9B
cHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NY
LnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3
b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29y
ay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDoxNjIzOjM6IHdhcm5pbmc6ICdDTVByb2Zp
bGVMb2NhdGlvbicgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42
IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogMTYyMyB8ICAgQ01Qcm9maWxlTG9jYXRpb24g
ICBsb2NhdGlvbjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMv
RGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NY
LnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3
b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5o
OjE2MDE6Mzogbm90ZTogJ0NNUHJvZmlsZUxvY2F0aW9uJyBoYXMgYmVlbiBleHBsaWNpdGx5IG1h
cmtlZCBkZXByZWNhdGVkIGhlcmUKIDE2MDEgfCB9IENNUHJvZmlsZUxvY2F0aW9uIERFUFJFQ0FU
RURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsKICAgICAgfCAgIF4KL0FwcGxp
Y2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxh
dGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz
L0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hl
YWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjE2Mjc6Mzogd2FybmluZzogJ0NNTWFrZUFuZE1v
ZGVsJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDEwLjYgWy1XZGVw
cmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAxNjI3IHwgICBDTU1ha2VBbmRNb2RlbCAqICAgIG1ha2VB
bmRNb2RlbDsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2
ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNk
ay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3Jr
L0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjg4
MDozOiBub3RlOiAnQ01NYWtlQW5kTW9kZWwnIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRl
cHJlY2F0ZWQgaGVyZQogIDg4MCB8IH0gQ01NYWtlQW5kTW9kZWwgREVQUkVDQVRFRF9JTl9NQUNf
T1NfWF9WRVJTSU9OXzEwXzZfQU5EX0xBVEVSOwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hj
b2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZl
bG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRp
b25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xv
clN5bmNEZXByZWNhdGVkLmg6MTYyODozOiB3YXJuaW5nOiAnQ01Qcm9maWxlTUQ1JyBpcyBkZXBy
ZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDEwLjYgWy1XZGVwcmVjYXRlZC1kZWNs
YXJhdGlvbnNdCiAxNjI4IHwgICBDTVByb2ZpbGVNRDUgKiAgICAgIGRpZ2VzdDsgICAgICAgICAg
ICAgICAgIC8qIERlcml2ZWQgZnJvbSB0aGUgUlNBIERhdGEgU2VjdXJpdHksIEluYy4gTUQ1IE1l
c3NhZ2UtRGlnZXN0IEFsZ29yaXRobSAqLwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2Rl
LmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9w
ZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25T
ZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5
bmNEZXByZWNhdGVkLmg6NDQ4OjQxOiBub3RlOiAnQ01Qcm9maWxlTUQ1JyBoYXMgYmVlbiBleHBs
aWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICA0NDggfCB0eXBlZGVmIHVuc2lnbmVkIGNo
YXIgICAgICAgICAgICAgICAgICAgQ01Qcm9maWxlTUQ1WzE2XSBERVBSRUNBVEVEX0lOX01BQ19P
U19YX1ZFUlNJT05fMTBfNl9BTkRfTEFURVI7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2
ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNk
ay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3Jr
L0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjE5
OTQ6Mzogd2FybmluZzogJ0NNRGV2aWNlSUQnIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0
ZWQgaW4gbWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KIDE5OTQgfCAgIENN
RGV2aWNlSUQgICAgICAgICAgZGV2aWNlSUQ7ICAgICAgICAgICAgICAgLyogZGV2aWNlIElEICov
CiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9Q
bGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVt
L0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdv
cmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDoxOTU5OjQxOiBu
b3RlOiAnQ01EZXZpY2VJRCcgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBo
ZXJlCiAxOTU5IHwgdHlwZWRlZiBVSW50MzIgICAgICAgICAgICAgICAgICAgICAgICAgIENNRGV2
aWNlSUQgREVQUkVDQVRFRF9JTl9NQUNfT1NfWF9WRVJTSU9OXzEwXzZfQU5EX0xBVEVSOwogICAg
ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlv
bnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3Jt
L0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBs
aWNhdGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJz
L0NvbG9yU3luY0RlcHJlY2F0ZWQuaDoxOTk2OjM6IHdhcm5pbmc6ICdDTURldmljZVN0YXRlJyBp
cyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDEwLjYgWy1XZGVwcmVjYXRl
ZC1kZWNsYXJhdGlvbnNdCiAxOTk2IHwgICBDTURldmljZVN0YXRlICAgICAgIGRldmljZVN0YXRl
OyAgICAgICAgICAgIC8qIERldmljZSBTdGF0ZSBmbGFncyAqLwogICAgICB8ICAgXgovQXBwbGlj
YXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0
Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mv
QXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVh
ZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MTk1Mzo0MTogbm90ZTogJ0NNRGV2aWNlU3RhdGUn
IGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogMTk1MyB8IHR5cGVk
ZWYgVUludDMyICAgICAgICAgICAgICAgICAgICAgICAgICBDTURldmljZVN0YXRlIERFUFJFQ0FU
RURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsKICAgICAgfCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9D
b250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RL
cy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNl
cy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXBy
ZWNhdGVkLmg6MTk5NzozOiB3YXJuaW5nOiAnQ01EZXZpY2VQcm9maWxlSUQnIGlzIGRlcHJlY2F0
ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0
aW9uc10KIDE5OTcgfCAgIENNRGV2aWNlUHJvZmlsZUlEICAgZGVmYXVsdFByb2ZpbGVJRDsgICAg
ICAgLyogQ2FuIGNoYW5nZSAqLwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9D
b250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RL
cy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNl
cy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXBy
ZWNhdGVkLmg6MTk2NDo0MTogbm90ZTogJ0NNRGV2aWNlUHJvZmlsZUlEJyBoYXMgYmVlbiBleHBs
aWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKIDE5NjQgfCB0eXBlZGVmIFVJbnQzMiAgICAg
ICAgICAgICAgICAgICAgICAgICAgQ01EZXZpY2VQcm9maWxlSUQgREVQUkVDQVRFRF9JTl9NQUNf
T1NfWF9WRVJTSU9OXzEwXzZfQU5EX0xBVEVSOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0Rl
dmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5z
ZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZpY2VzLmZyYW1ld29y
ay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0RlcHJlY2F0ZWQuaDoy
MDEwOjM6IHdhcm5pbmc6ICdDTURldmljZVByb2ZpbGVJRCcgaXMgZGVwcmVjYXRlZDogZmlyc3Qg
ZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogMjAx
MCB8ICAgQ01EZXZpY2VQcm9maWxlSUQgICBwcm9maWxlSUQ7ICAgICAgICAgICAgICAvKiBUaGUg
aWRlbnRpZmllciBmb3IgdGhpcyBwcm9maWxlICovCiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMv
WGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0Rl
dmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNh
dGlvblNlcnZpY2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0Nv
bG9yU3luY0RlcHJlY2F0ZWQuaDoxOTY0OjQxOiBub3RlOiAnQ01EZXZpY2VQcm9maWxlSUQnIGhh
cyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogMTk2NCB8IHR5cGVkZWYg
VUludDMyICAgICAgICAgICAgICAgICAgICAgICAgICBDTURldmljZVByb2ZpbGVJRCBERVBSRUNB
VEVEX0lOX01BQ19PU19YX1ZFUlNJT05fMTBfNl9BTkRfTEFURVI7CiAgICAgIHwgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAv
Q29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NE
S3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2Vydmlj
ZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVw
cmVjYXRlZC5oOjIwMTE6Mzogd2FybmluZzogJ0NNUHJvZmlsZUxvY2F0aW9uJyBpcyBkZXByZWNh
dGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDEwLjYgWy1XZGVwcmVjYXRlZC1kZWNsYXJh
dGlvbnNdCiAyMDExIHwgICBDTVByb2ZpbGVMb2NhdGlvbiAgIHByb2ZpbGVMb2M7ICAgICAgICAg
ICAgIC8qIFRoZSBwcm9maWxlJ3MgbG9jYXRpb24gKi8KICAgICAgfCAgIF4KL0FwcGxpY2F0aW9u
cy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0v
RGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxp
Y2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMv
Q29sb3JTeW5jRGVwcmVjYXRlZC5oOjE2MDE6Mzogbm90ZTogJ0NNUHJvZmlsZUxvY2F0aW9uJyBo
YXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKIDE2MDEgfCB9IENNUHJv
ZmlsZUxvY2F0aW9uIERFUFJFQ0FURURfSU5fTUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRF
UjsKICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVy
L1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1l
d29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjIwMTg6Mzog
d2FybmluZzogJ0NNRGV2aWNlUHJvZmlsZUlEJyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNh
dGVkIGluIG1hY09TIDEwLjYgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAyMDE4IHwgICBD
TURldmljZVByb2ZpbGVJRCAgIHByb2ZpbGVJRDsgICAgICAgICAgICAgIC8qIFRoZSBpZGVudGlm
aWVyIGZvciB0aGlzIHByb2ZpbGUgKi8KICAgICAgfCAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5h
cHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVy
L1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcGxpY2F0aW9uU2Vy
dmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3b3JrL0hlYWRlcnMvQ29sb3JTeW5j
RGVwcmVjYXRlZC5oOjE5NjQ6NDE6IG5vdGU6ICdDTURldmljZVByb2ZpbGVJRCcgaGFzIGJlZW4g
ZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAxOTY0IHwgdHlwZWRlZiBVSW50MzIg
ICAgICAgICAgICAgICAgICAgICAgICAgIENNRGV2aWNlUHJvZmlsZUlEIERFUFJFQ0FURURfSU5f
TUFDX09TX1hfVkVSU0lPTl8xMF82X0FORF9MQVRFUjsKICAgICAgfCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50
cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNP
U1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFt
ZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVk
Lmg6MjAxOTozOiB3YXJuaW5nOiAnQ01Qcm9maWxlTG9jYXRpb24nIGlzIGRlcHJlY2F0ZWQ6IGZp
cnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10K
IDIwMTkgfCAgIENNUHJvZmlsZUxvY2F0aW9uICAgcHJvZmlsZUxvYzsgICAgICAgICAgICAgLyog
VGhlIHByb2ZpbGUncyBsb2NhdGlvbiAqLwogICAgICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2Rl
LmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9w
ZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25T
ZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5
bmNEZXByZWNhdGVkLmg6MTYwMTozOiBub3RlOiAnQ01Qcm9maWxlTG9jYXRpb24nIGhhcyBiZWVu
IGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogMTYwMSB8IH0gQ01Qcm9maWxlTG9j
YXRpb24gREVQUkVDQVRFRF9JTl9NQUNfT1NfWF9WRVJTSU9OXzEwXzZfQU5EX0xBVEVSOwogICAg
ICB8ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZv
cm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJy
YXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRpb25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9R
RC5mcmFtZXdvcmsvSGVhZGVycy9Db2xvclN5bmNEZXByZWNhdGVkLmg6MjAyMTozOiB3YXJuaW5n
OiAnQ01EZXZpY2VQcm9maWxlU2NvcGUnIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQg
aW4gbWFjT1MgMTAuNiBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KIDIwMjEgfCAgIENNRGV2
aWNlUHJvZmlsZVNjb3BlICBwcm9maWxlU2NvcGU7ICAgICAgICAgLyogVGhlIHNjb3BlIHRoaXMg
cHJvZmlsZSBhcHBsaWVzIHRvICovCiAgICAgIHwgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBw
L0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9T
REtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBsaWNhdGlvblNlcnZp
Y2VzLmZyYW1ld29yay9GcmFtZXdvcmtzL1FELmZyYW1ld29yay9IZWFkZXJzL0NvbG9yU3luY0Rl
cHJlY2F0ZWQuaDoxOTg1OjE4OiBub3RlOiAnQ01EZXZpY2VQcm9maWxlU2NvcGUnIGhhcyBiZWVu
IGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogMTk4NSB8IH0gQ01EZXZpY2VTY29w
ZSwgQ01EZXZpY2VQcm9maWxlU2NvcGUgREVQUkVDQVRFRF9JTl9NQUNfT1NfWF9WRVJTSU9OXzEw
XzZfQU5EX0xBVEVSOwogICAgICB8ICAgICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hj
b2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZl
bG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwbGljYXRp
b25TZXJ2aWNlcy5mcmFtZXdvcmsvRnJhbWV3b3Jrcy9RRC5mcmFtZXdvcmsvSGVhZGVycy9Db2xv
clN5bmNEZXByZWNhdGVkLmg6MjAzMzozOiB3YXJuaW5nOiAnQ01EZXZpY2VQcm9maWxlSW5mbycg
aXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxMC42IFstV2RlcHJlY2F0
ZWQtZGVjbGFyYXRpb25zXQogMjAzMyB8ICAgQ01EZXZpY2VQcm9maWxlSW5mbyAgcHJvZmlsZXNb
MV07ICAgICAgICAgICAvKiBUaGUgcHJvZmlsZSBpbmZvIHJlY29yZHMgKi8KICAgICAgfCAgIF4K
L0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNP
U1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzL0FwcGxpY2F0aW9uU2VydmljZXMuZnJhbWV3b3JrL0ZyYW1ld29ya3MvUUQuZnJhbWV3
b3JrL0hlYWRlcnMvQ29sb3JTeW5jRGVwcmVjYXRlZC5oOjIwMTQ6Mzogbm90ZTogJ0NNRGV2aWNl
UHJvZmlsZUluZm8nIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQog
MjAxNCB8IH0gQ01EZXZpY2VQcm9maWxlSW5mbyBERVBSRUNBVEVEX0lOX01BQ19PU19YX1ZFUlNJ
T05fMTBfNl9BTkRfTEFURVI7CiAgICAgIHwgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25m
dGVzdC5jOjc4OgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAv
Q29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NE
S3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsv
SGVhZGVycy9BcHBLaXQuaDoxMDY6Ci9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0Rl
dmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5z
ZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNT
cGVlY2hTeW50aGVzaXplci5oOjMwOjE1OiB3YXJuaW5nOiAnTlNWb2ljZUF0dHJpYnV0ZUtleScg
aXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxNC4wIC0gVXNlIEFWU3Bl
ZWNoU3ludGhlc2l6ZXIgaW4gQVZGb3VuZGF0aW9uIGluc3RlYWQgWy1XZGVwcmVjYXRlZC1kZWNs
YXJhdGlvbnNdCiAgIDMwIHwgQVBQS0lUX0VYVEVSTiBOU1ZvaWNlQXR0cmlidXRlS2V5IGNvbnN0
IE5TVm9pY2VMb2NhbGVJZGVudGlmaWVyIEFQSV9BVkFJTEFCTEUobWFjb3MoMTAuNSkpOwogICAg
ICB8ICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZl
bG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2Rr
L1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3Bl
ZWNoU3ludGhlc2l6ZXIuaDoyNDoyMDogbm90ZTogJ05TVm9pY2VBdHRyaWJ1dGVLZXknIGhhcyBi
ZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogICAyNCB8IHR5cGVkZWYgTlNT
dHJpbmcgKiBOU1ZvaWNlQXR0cmlidXRlS2V5IE5TX1RZUEVEX0VOVU07CiAgICAgIHwgICAgICAg
ICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVy
L1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5
bnRoZXNpemVyLmg6MzE6MTU6IHdhcm5pbmc6ICdOU1ZvaWNlQXR0cmlidXRlS2V5JyBpcyBkZXBy
ZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDE0LjAgLSBVc2UgQVZTcGVlY2hTeW50
aGVzaXplciBpbiBBVkZvdW5kYXRpb24gaW5zdGVhZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9u
c10KICAgMzEgfCBBUFBLSVRfRVhURVJOIE5TVm9pY2VBdHRyaWJ1dGVLZXkgY29uc3QgTlNWb2lj
ZVN1cHBvcnRlZENoYXJhY3RlcnMgQVBJX0FWQUlMQUJMRShtYWNvcygxMC41KSk7CiAgICAgIHwg
ICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Bl
ci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lz
dGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hT
eW50aGVzaXplci5oOjI0OjIwOiBub3RlOiAnTlNWb2ljZUF0dHJpYnV0ZUtleScgaGFzIGJlZW4g
ZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgIDI0IHwgdHlwZWRlZiBOU1N0cmlu
ZyAqIE5TVm9pY2VBdHRyaWJ1dGVLZXkgTlNfVFlQRURfRU5VTTsKICAgICAgfCAgICAgICAgICAg
ICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxh
dGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9M
aWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhl
c2l6ZXIuaDozMjoxNTogd2FybmluZzogJ05TVm9pY2VBdHRyaWJ1dGVLZXknIGlzIGRlcHJlY2F0
ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTQuMCAtIFVzZSBBVlNwZWVjaFN5bnRoZXNp
emVyIGluIEFWRm91bmRhdGlvbiBpbnN0ZWFkIFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQog
ICAzMiB8IEFQUEtJVF9FWFRFUk4gTlNWb2ljZUF0dHJpYnV0ZUtleSBjb25zdCBOU1ZvaWNlSW5k
aXZpZHVhbGx5U3Bva2VuQ2hhcmFjdGVycyBBUElfQVZBSUxBQkxFKG1hY29zKDEwLjUpKTsKICAg
ICAgfCAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2
ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNk
ay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1Nw
ZWVjaFN5bnRoZXNpemVyLmg6MjQ6MjA6IG5vdGU6ICdOU1ZvaWNlQXR0cmlidXRlS2V5JyBoYXMg
YmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICAgMjQgfCB0eXBlZGVmIE5T
U3RyaW5nICogTlNWb2ljZUF0dHJpYnV0ZUtleSBOU19UWVBFRF9FTlVNOwogICAgICB8ICAgICAg
ICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Bl
ci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lz
dGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hT
eW50aGVzaXplci5oOjM2OjE1OiB3YXJuaW5nOiAnTlNTcGVlY2hEaWN0aW9uYXJ5S2V5JyBpcyBk
ZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDE0LjAgLSBVc2UgQVZTcGVlY2hT
eW50aGVzaXplciBpbiBBVkZvdW5kYXRpb24gaW5zdGVhZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0
aW9uc10KICAgMzYgfCBBUFBLSVRfRVhURVJOIE5TU3BlZWNoRGljdGlvbmFyeUtleSBjb25zdCBO
U1NwZWVjaERpY3Rpb25hcnlMb2NhbGVJZGVudGlmaWVyIEFQSV9BVkFJTEFCTEUobWFjb3MoMTAu
NSkpOyAgLy8gTlNTdHJpbmcKICAgICAgfCAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9Y
Y29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2
ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5m
cmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6MzU6MjA6IG5vdGU6ICdOU1Nw
ZWVjaERpY3Rpb25hcnlLZXknIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQg
aGVyZQogICAzNSB8IHR5cGVkZWYgTlNTdHJpbmcgKiBOU1NwZWVjaERpY3Rpb25hcnlLZXkgTlNf
VFlQRURfRU5VTTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hj
b2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZl
bG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZy
YW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDozNzoxNTogd2FybmluZzogJ05T
U3BlZWNoRGljdGlvbmFyeUtleScgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBt
YWNPUyAxNC4wIC0gVXNlIEFWU3BlZWNoU3ludGhlc2l6ZXIgaW4gQVZGb3VuZGF0aW9uIGluc3Rl
YWQgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgIDM3IHwgQVBQS0lUX0VYVEVSTiBOU1Nw
ZWVjaERpY3Rpb25hcnlLZXkgY29uc3QgTlNTcGVlY2hEaWN0aW9uYXJ5TW9kaWZpY2F0aW9uRGF0
ZSBBUElfQVZBSUxBQkxFKG1hY29zKDEwLjUpKTsgIC8vIE5TU3RyaW5nCiAgICAgIHwgICAgICAg
ICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0
Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVz
aXplci5oOjM1OjIwOiBub3RlOiAnTlNTcGVlY2hEaWN0aW9uYXJ5S2V5JyBoYXMgYmVlbiBleHBs
aWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICAgMzUgfCB0eXBlZGVmIE5TU3RyaW5nICog
TlNTcGVlY2hEaWN0aW9uYXJ5S2V5IE5TX1RZUEVEX0VOVU07CiAgICAgIHwgICAgICAgICAgICAg
ICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRm
b3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGli
cmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNp
emVyLmg6Mzg6MTU6IHdhcm5pbmc6ICdOU1NwZWVjaERpY3Rpb25hcnlLZXknIGlzIGRlcHJlY2F0
ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTQuMCAtIFVzZSBBVlNwZWVjaFN5bnRoZXNp
emVyIGluIEFWRm91bmRhdGlvbiBpbnN0ZWFkIFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQog
ICAzOCB8IEFQUEtJVF9FWFRFUk4gTlNTcGVlY2hEaWN0aW9uYXJ5S2V5IGNvbnN0IE5TU3BlZWNo
RGljdGlvbmFyeVByb251bmNpYXRpb25zIEFQSV9BVkFJTEFCTEUobWFjb3MoMTAuNSkpOyAgLy8g
TlNBcnJheQogICAgICB8ICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9D
b250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RL
cy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9I
ZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDozNToyMDogbm90ZTogJ05TU3BlZWNoRGljdGlv
bmFyeUtleScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgIDM1
IHwgdHlwZWRlZiBOU1N0cmluZyAqIE5TU3BlZWNoRGljdGlvbmFyeUtleSBOU19UWVBFRF9FTlVN
OwogICAgICB8ICAgICAgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0Nv
bnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtz
L01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hl
YWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjM5OjE1OiB3YXJuaW5nOiAnTlNTcGVlY2hEaWN0
aW9uYXJ5S2V5JyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDE0LjAg
LSBVc2UgQVZTcGVlY2hTeW50aGVzaXplciBpbiBBVkZvdW5kYXRpb24gaW5zdGVhZCBbLVdkZXBy
ZWNhdGVkLWRlY2xhcmF0aW9uc10KICAgMzkgfCBBUFBLSVRfRVhURVJOIE5TU3BlZWNoRGljdGlv
bmFyeUtleSBjb25zdCBOU1NwZWVjaERpY3Rpb25hcnlBYmJyZXZpYXRpb25zIEFQSV9BVkFJTEFC
TEUobWFjb3MoMTAuNSkpOyAgLy8gTlNBcnJheQogICAgICB8ICAgICAgICAgICAgICAgXgovQXBw
bGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5w
bGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29y
a3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDozNToyMDog
bm90ZTogJ05TU3BlZWNoRGljdGlvbmFyeUtleScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQg
ZGVwcmVjYXRlZCBoZXJlCiAgIDM1IHwgdHlwZWRlZiBOU1N0cmluZyAqIE5TU3BlZWNoRGljdGlv
bmFyeUtleSBOU19UWVBFRF9FTlVNOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBeCi9BcHBs
aWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBs
YXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jr
cy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjQwOjE1OiB3
YXJuaW5nOiAnTlNTcGVlY2hEaWN0aW9uYXJ5S2V5JyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXBy
ZWNhdGVkIGluIG1hY09TIDE0LjAgLSBVc2UgQVZTcGVlY2hTeW50aGVzaXplciBpbiBBVkZvdW5k
YXRpb24gaW5zdGVhZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICAgNDAgfCBBUFBLSVRf
RVhURVJOIE5TU3BlZWNoRGljdGlvbmFyeUtleSBjb25zdCBOU1NwZWVjaERpY3Rpb25hcnlFbnRy
eVNwZWxsaW5nIEFQSV9BVkFJTEFCTEUobWFjb3MoMTAuNSkpOyAgLy8gTlNTdHJpbmcKICAgICAg
fCAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxv
cGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9T
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVj
aFN5bnRoZXNpemVyLmg6MzU6MjA6IG5vdGU6ICdOU1NwZWVjaERpY3Rpb25hcnlLZXknIGhhcyBi
ZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogICAzNSB8IHR5cGVkZWYgTlNT
dHJpbmcgKiBOU1NwZWVjaERpY3Rpb25hcnlLZXkgTlNfVFlQRURfRU5VTTsKICAgICAgfCAgICAg
ICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9w
ZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5
c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNo
U3ludGhlc2l6ZXIuaDo0MToxNTogd2FybmluZzogJ05TU3BlZWNoRGljdGlvbmFyeUtleScgaXMg
ZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxNC4wIC0gVXNlIEFWU3BlZWNo
U3ludGhlc2l6ZXIgaW4gQVZGb3VuZGF0aW9uIGluc3RlYWQgWy1XZGVwcmVjYXRlZC1kZWNsYXJh
dGlvbnNdCiAgIDQxIHwgQVBQS0lUX0VYVEVSTiBOU1NwZWVjaERpY3Rpb25hcnlLZXkgY29uc3Qg
TlNTcGVlY2hEaWN0aW9uYXJ5RW50cnlQaG9uZW1lcyBBUElfQVZBSUxBQkxFKG1hY29zKDEwLjUp
KTsgIC8vIE5TU3RyaW5nCiAgICAgIHwgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNv
ZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVs
b3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJh
bWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjM1OjIwOiBub3RlOiAnTlNTcGVl
Y2hEaWN0aW9uYXJ5S2V5JyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhl
cmUKICAgMzUgfCB0eXBlZGVmIE5TU3RyaW5nICogTlNTcGVlY2hEaWN0aW9uYXJ5S2V5IE5TX1RZ
UEVEX0VOVU07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29k
ZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxv
cGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFt
ZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6NDg6MTU6IHdhcm5pbmc6ICdOU1Zv
aWNlR2VuZGVyTmFtZScgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAx
NC4wIC0gVXNlIEFWU3BlZWNoU3ludGhlc2l6ZXIgaW4gQVZGb3VuZGF0aW9uIGluc3RlYWQgWy1X
ZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgIDQ4IHwgQVBQS0lUX0VYVEVSTiBOU1ZvaWNlR2Vu
ZGVyTmFtZSBjb25zdCBOU1ZvaWNlR2VuZGVyTmV1dHJhbCBBUElfQVZBSUxBQkxFKG1hY29zKDEy
LjMpKTsKICAgICAgfCAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29u
dGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3Mv
TWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVh
ZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6NDQ6MjA6IG5vdGU6ICdOU1ZvaWNlR2VuZGVyTmFt
ZScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgIDQ0IHwgdHlw
ZWRlZiBOU1N0cmluZyAqIE5TVm9pY2VHZW5kZXJOYW1lIE5TX1RZUEVEX0VOVU07CiAgICAgIHwg
ICAgICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2
ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNk
ay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1Nw
ZWVjaFN5bnRoZXNpemVyLmg6NTI6MTU6IHdhcm5pbmc6ICdOU1NwZWVjaFByb3BlcnR5S2V5JyBp
cyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDE0LjAgLSBVc2UgQVZTcGVl
Y2hTeW50aGVzaXplciBpbiBBVkZvdW5kYXRpb24gaW5zdGVhZCBbLVdkZXByZWNhdGVkLWRlY2xh
cmF0aW9uc10KICAgNTIgfCBBUFBLSVRfRVhURVJOIE5TU3BlZWNoUHJvcGVydHlLZXkgY29uc3Qg
TlNTcGVlY2hTdGF0dXNQcm9wZXJ0eSBBUElfQVZBSUxBQkxFKG1hY29zKDEwLjUpKTsgIC8vIE5T
RGljdGlvbmFyeSwgc2VlIGtleXMgYmVsb3cKICAgICAgfCAgICAgICAgICAgICAgIF4KL0FwcGxp
Y2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxh
dGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz
L0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6NTE6MjA6IG5v
dGU6ICdOU1NwZWVjaFByb3BlcnR5S2V5JyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXBy
ZWNhdGVkIGhlcmUKICAgNTEgfCB0eXBlZGVmIE5TU3RyaW5nICogTlNTcGVlY2hQcm9wZXJ0eUtl
eSBOU19UWVBFRF9FTlVNOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlv
bnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3Jt
L0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBL
aXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjUzOjE1OiB3YXJuaW5n
OiAnTlNTcGVlY2hQcm9wZXJ0eUtleScgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBp
biBtYWNPUyAxNC4wIC0gVXNlIEFWU3BlZWNoU3ludGhlc2l6ZXIgaW4gQVZGb3VuZGF0aW9uIGlu
c3RlYWQgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgIDUzIHwgQVBQS0lUX0VYVEVSTiBO
U1NwZWVjaFByb3BlcnR5S2V5IGNvbnN0IE5TU3BlZWNoRXJyb3JzUHJvcGVydHkgQVBJX0FWQUlM
QUJMRShtYWNvcygxMC41KSk7ICAvLyBOU0RpY3Rpb25hcnksIHNlZSBrZXlzIGJlbG93CiAgICAg
IHwgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVs
b3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsv
U3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVl
Y2hTeW50aGVzaXplci5oOjUxOjIwOiBub3RlOiAnTlNTcGVlY2hQcm9wZXJ0eUtleScgaGFzIGJl
ZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgIDUxIHwgdHlwZWRlZiBOU1N0
cmluZyAqIE5TU3BlZWNoUHJvcGVydHlLZXkgTlNfVFlQRURfRU5VTTsKICAgICAgfCAgICAgICAg
ICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIv
UGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3Rl
bS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3lu
dGhlc2l6ZXIuaDo1NDoxNTogd2FybmluZzogJ05TU3BlZWNoUHJvcGVydHlLZXknIGlzIGRlcHJl
Y2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTQuMCAtIFVzZSBBVlNwZWVjaFN5bnRo
ZXNpemVyIGluIEFWRm91bmRhdGlvbiBpbnN0ZWFkIFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25z
XQogICA1NCB8IEFQUEtJVF9FWFRFUk4gTlNTcGVlY2hQcm9wZXJ0eUtleSBjb25zdCBOU1NwZWVj
aElucHV0TW9kZVByb3BlcnR5IEFQSV9BVkFJTEFCTEUobWFjb3MoMTAuNSkpOyAgLy8gTlNTdHJp
bmc6IE5TU3BlZWNoTW9kZVRleHRQcm9wZXJ0eSBvciBOU1NwZWVjaE1vZGVQaG9uZW1lUHJvcGVy
dHkKICAgICAgfCAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVu
dHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFj
T1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVy
cy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6NTE6MjA6IG5vdGU6ICdOU1NwZWVjaFByb3BlcnR5S2V5
JyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICAgNTEgfCB0eXBl
ZGVmIE5TU3RyaW5nICogTlNTcGVlY2hQcm9wZXJ0eUtleSBOU19UWVBFRF9FTlVNOwogICAgICB8
ICAgICAgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0Rl
dmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5z
ZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNT
cGVlY2hTeW50aGVzaXplci5oOjU1OjE1OiB3YXJuaW5nOiAnTlNTcGVlY2hQcm9wZXJ0eUtleScg
aXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxNC4wIC0gVXNlIEFWU3Bl
ZWNoU3ludGhlc2l6ZXIgaW4gQVZGb3VuZGF0aW9uIGluc3RlYWQgWy1XZGVwcmVjYXRlZC1kZWNs
YXJhdGlvbnNdCiAgIDU1IHwgQVBQS0lUX0VYVEVSTiBOU1NwZWVjaFByb3BlcnR5S2V5IGNvbnN0
IE5TU3BlZWNoQ2hhcmFjdGVyTW9kZVByb3BlcnR5IEFQSV9BVkFJTEFCTEUobWFjb3MoMTAuNSkp
OyAvLyBOU1N0cmluZzogTlNTcGVlY2hNb2RlTm9ybWFsUHJvcGVydHkgb3IgTlNTcGVlY2hNb2Rl
TGl0ZXJhbFByb3BlcnR5CiAgICAgIHwgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNv
ZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVs
b3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJh
bWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjUxOjIwOiBub3RlOiAnTlNTcGVl
Y2hQcm9wZXJ0eUtleScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJl
CiAgIDUxIHwgdHlwZWRlZiBOU1N0cmluZyAqIE5TU3BlZWNoUHJvcGVydHlLZXkgTlNfVFlQRURf
RU5VTTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFw
cC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIv
U0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29y
ay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDo1NjoxNTogd2FybmluZzogJ05TU3BlZWNo
UHJvcGVydHlLZXknIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTQu
MCAtIFVzZSBBVlNwZWVjaFN5bnRoZXNpemVyIGluIEFWRm91bmRhdGlvbiBpbnN0ZWFkIFstV2Rl
cHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogICA1NiB8IEFQUEtJVF9FWFRFUk4gTlNTcGVlY2hQcm9w
ZXJ0eUtleSBjb25zdCBOU1NwZWVjaE51bWJlck1vZGVQcm9wZXJ0eSBBUElfQVZBSUxBQkxFKG1h
Y29zKDEwLjUpKTsgLy8gTlNTdHJpbmc6IE5TU3BlZWNoTW9kZU5vcm1hbFByb3BlcnR5IG9yIE5T
U3BlZWNoTW9kZUxpdGVyYWxQcm9wZXJ0eQogICAgICB8ICAgICAgICAgICAgICAgXgovQXBwbGlj
YXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0
Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mv
QXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDo1MToyMDogbm90
ZTogJ05TU3BlZWNoUHJvcGVydHlLZXknIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJl
Y2F0ZWQgaGVyZQogICA1MSB8IHR5cGVkZWYgTlNTdHJpbmcgKiBOU1NwZWVjaFByb3BlcnR5S2V5
IE5TX1RZUEVEX0VOVU07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9u
cy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0v
RGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtp
dC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6NTc6MTU6IHdhcm5pbmc6
ICdOU1NwZWVjaFByb3BlcnR5S2V5JyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGlu
IG1hY09TIDE0LjAgLSBVc2UgQVZTcGVlY2hTeW50aGVzaXplciBpbiBBVkZvdW5kYXRpb24gaW5z
dGVhZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICAgNTcgfCBBUFBLSVRfRVhURVJOIE5T
U3BlZWNoUHJvcGVydHlLZXkgY29uc3QgTlNTcGVlY2hSYXRlUHJvcGVydHkgQVBJX0FWQUlMQUJM
RShtYWNvcygxMC41KSk7ICAvLyBOU051bWJlcgogICAgICB8ICAgICAgICAgICAgICAgXgovQXBw
bGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5w
bGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29y
a3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDo1MToyMDog
bm90ZTogJ05TU3BlZWNoUHJvcGVydHlLZXknIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRl
cHJlY2F0ZWQgaGVyZQogICA1MSB8IHR5cGVkZWYgTlNTdHJpbmcgKiBOU1NwZWVjaFByb3BlcnR5
S2V5IE5TX1RZUEVEX0VOVU07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0
aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZv
cm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0Fw
cEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6NTg6MTU6IHdhcm5p
bmc6ICdOU1NwZWVjaFByb3BlcnR5S2V5JyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVk
IGluIG1hY09TIDE0LjAgLSBVc2UgQVZTcGVlY2hTeW50aGVzaXplciBpbiBBVkZvdW5kYXRpb24g
aW5zdGVhZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICAgNTggfCBBUFBLSVRfRVhURVJO
IE5TU3BlZWNoUHJvcGVydHlLZXkgY29uc3QgTlNTcGVlY2hQaXRjaEJhc2VQcm9wZXJ0eSBBUElf
QVZBSUxBQkxFKG1hY29zKDEwLjUpKTsgIC8vIE5TTnVtYmVyCiAgICAgIHwgICAgICAgICAgICAg
ICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMv
TWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkv
RnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5o
OjUxOjIwOiBub3RlOiAnTlNTcGVlY2hQcm9wZXJ0eUtleScgaGFzIGJlZW4gZXhwbGljaXRseSBt
YXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgIDUxIHwgdHlwZWRlZiBOU1N0cmluZyAqIE5TU3BlZWNo
UHJvcGVydHlLZXkgTlNfVFlQRURfRU5VTTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXgov
QXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09T
WC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1l
d29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDo1OTox
NTogd2FybmluZzogJ05TU3BlZWNoUHJvcGVydHlLZXknIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRl
cHJlY2F0ZWQgaW4gbWFjT1MgMTQuMCAtIFVzZSBBVlNwZWVjaFN5bnRoZXNpemVyIGluIEFWRm91
bmRhdGlvbiBpbnN0ZWFkIFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogICA1OSB8IEFQUEtJ
VF9FWFRFUk4gTlNTcGVlY2hQcm9wZXJ0eUtleSBjb25zdCBOU1NwZWVjaFBpdGNoTW9kUHJvcGVy
dHkgQVBJX0FWQUlMQUJMRShtYWNvcygxMC41KSk7ICAvLyBOU051bWJlcgogICAgICB8ICAgICAg
ICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxh
dGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9M
aWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhl
c2l6ZXIuaDo1MToyMDogbm90ZTogJ05TU3BlZWNoUHJvcGVydHlLZXknIGhhcyBiZWVuIGV4cGxp
Y2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogICA1MSB8IHR5cGVkZWYgTlNTdHJpbmcgKiBO
U1NwZWVjaFByb3BlcnR5S2V5IE5TX1RZUEVEX0VOVU07CiAgICAgIHwgICAgICAgICAgICAgICAg
ICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jt
cy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVy
Lmg6NjA6MTU6IHdhcm5pbmc6ICdOU1NwZWVjaFByb3BlcnR5S2V5JyBpcyBkZXByZWNhdGVkOiBm
aXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDE0LjAgLSBVc2UgQVZTcGVlY2hTeW50aGVzaXplciBp
biBBVkZvdW5kYXRpb24gaW5zdGVhZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICAgNjAg
fCBBUFBLSVRfRVhURVJOIE5TU3BlZWNoUHJvcGVydHlLZXkgY29uc3QgTlNTcGVlY2hWb2x1bWVQ
cm9wZXJ0eSBBUElfQVZBSUxBQkxFKG1hY29zKDEwLjUpKTsgIC8vIE5TTnVtYmVyCiAgICAgIHwg
ICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Bl
ci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lz
dGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hT
eW50aGVzaXplci5oOjUxOjIwOiBub3RlOiAnTlNTcGVlY2hQcm9wZXJ0eUtleScgaGFzIGJlZW4g
ZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgIDUxIHwgdHlwZWRlZiBOU1N0cmlu
ZyAqIE5TU3BlZWNoUHJvcGVydHlLZXkgTlNfVFlQRURfRU5VTTsKICAgICAgfCAgICAgICAgICAg
ICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxh
dGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9M
aWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhl
c2l6ZXIuaDo2MToxNTogd2FybmluZzogJ05TU3BlZWNoUHJvcGVydHlLZXknIGlzIGRlcHJlY2F0
ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTQuMCAtIFVzZSBBVlNwZWVjaFN5bnRoZXNp
emVyIGluIEFWRm91bmRhdGlvbiBpbnN0ZWFkIFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQog
ICA2MSB8IEFQUEtJVF9FWFRFUk4gTlNTcGVlY2hQcm9wZXJ0eUtleSBjb25zdCBOU1NwZWVjaFN5
bnRoZXNpemVySW5mb1Byb3BlcnR5IEFQSV9BVkFJTEFCTEUobWFjb3MoMTAuNSkpOyAgLy8gTlNE
aWN0aW9uYXJ5LCBzZWUga2V5cyBiZWxvdwogICAgICB8ICAgICAgICAgICAgICAgXgovQXBwbGlj
YXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0
Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mv
QXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDo1MToyMDogbm90
ZTogJ05TU3BlZWNoUHJvcGVydHlLZXknIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJl
Y2F0ZWQgaGVyZQogICA1MSB8IHR5cGVkZWYgTlNTdHJpbmcgKiBOU1NwZWVjaFByb3BlcnR5S2V5
IE5TX1RZUEVEX0VOVU07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9u
cy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0v
RGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtp
dC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6NjI6MTU6IHdhcm5pbmc6
ICdOU1NwZWVjaFByb3BlcnR5S2V5JyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGlu
IG1hY09TIDE0LjAgLSBVc2UgQVZTcGVlY2hTeW50aGVzaXplciBpbiBBVkZvdW5kYXRpb24gaW5z
dGVhZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICAgNjIgfCBBUFBLSVRfRVhURVJOIE5T
U3BlZWNoUHJvcGVydHlLZXkgY29uc3QgTlNTcGVlY2hSZWNlbnRTeW5jUHJvcGVydHkgQVBJX0FW
QUlMQUJMRShtYWNvcygxMC41KSk7ICAvLyBOU051bWJlcgogICAgICB8ICAgICAgICAgICAgICAg
XgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01h
Y09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDo1
MToyMDogbm90ZTogJ05TU3BlZWNoUHJvcGVydHlLZXknIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFy
a2VkIGRlcHJlY2F0ZWQgaGVyZQogICA1MSB8IHR5cGVkZWYgTlNTdHJpbmcgKiBOU1NwZWVjaFBy
b3BlcnR5S2V5IE5TX1RZUEVEX0VOVU07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF4KL0Fw
cGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gu
cGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdv
cmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6NjM6MTU6
IHdhcm5pbmc6ICdOU1NwZWVjaFByb3BlcnR5S2V5JyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXBy
ZWNhdGVkIGluIG1hY09TIDE0LjAgLSBVc2UgQVZTcGVlY2hTeW50aGVzaXplciBpbiBBVkZvdW5k
YXRpb24gaW5zdGVhZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICAgNjMgfCBBUFBLSVRf
RVhURVJOIE5TU3BlZWNoUHJvcGVydHlLZXkgY29uc3QgTlNTcGVlY2hQaG9uZW1lU3ltYm9sc1By
b3BlcnR5IEFQSV9BVkFJTEFCTEUobWFjb3MoMTAuNSkpOyAgLy8gTlNEaWN0aW9uYXJ5LCBzZWUg
a2V5cyBiZWxvdwogICAgICB8ICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFw
cC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIv
U0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29y
ay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDo1MToyMDogbm90ZTogJ05TU3BlZWNoUHJv
cGVydHlLZXknIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogICA1
MSB8IHR5cGVkZWYgTlNTdHJpbmcgKiBOU1NwZWVjaFByb3BlcnR5S2V5IE5TX1RZUEVEX0VOVU07
CiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29u
dGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3Mv
TWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVh
ZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6NjQ6MTU6IHdhcm5pbmc6ICdOU1NwZWVjaFByb3Bl
cnR5S2V5JyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDE0LjAgLSBV
c2UgQVZTcGVlY2hTeW50aGVzaXplciBpbiBBVkZvdW5kYXRpb24gaW5zdGVhZCBbLVdkZXByZWNh
dGVkLWRlY2xhcmF0aW9uc10KICAgNjQgfCBBUFBLSVRfRVhURVJOIE5TU3BlZWNoUHJvcGVydHlL
ZXkgY29uc3QgTlNTcGVlY2hDdXJyZW50Vm9pY2VQcm9wZXJ0eSBBUElfQVZBSUxBQkxFKG1hY29z
KDEwLjUpKTsgIC8vIE5TU3RyaW5nCiAgICAgIHwgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlv
bnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3Jt
L0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBL
aXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjUxOjIwOiBub3RlOiAn
TlNTcGVlY2hQcm9wZXJ0eUtleScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRl
ZCBoZXJlCiAgIDUxIHwgdHlwZWRlZiBOU1N0cmluZyAqIE5TU3BlZWNoUHJvcGVydHlLZXkgTlNf
VFlQRURfRU5VTTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hj
b2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZl
bG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZy
YW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDo2NToxNTogd2FybmluZzogJ05T
U3BlZWNoUHJvcGVydHlLZXknIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFj
T1MgMTQuMCAtIFVzZSBBVlNwZWVjaFN5bnRoZXNpemVyIGluIEFWRm91bmRhdGlvbiBpbnN0ZWFk
IFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogICA2NSB8IEFQUEtJVF9FWFRFUk4gTlNTcGVl
Y2hQcm9wZXJ0eUtleSBjb25zdCBOU1NwZWVjaENvbW1hbmREZWxpbWl0ZXJQcm9wZXJ0eSBBUElf
QVZBSUxBQkxFKG1hY29zKDEwLjUpKTsgIC8vIE5TRGljdGlvbmFyeSwgc2VlIGtleXMgYmVsb3cK
ICAgICAgfCAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMv
RGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NY
LnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9O
U1NwZWVjaFN5bnRoZXNpemVyLmg6NTE6MjA6IG5vdGU6ICdOU1NwZWVjaFByb3BlcnR5S2V5JyBo
YXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICAgNTEgfCB0eXBlZGVm
IE5TU3RyaW5nICogTlNTcGVlY2hQcm9wZXJ0eUtleSBOU19UWVBFRF9FTlVNOwogICAgICB8ICAg
ICAgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVs
b3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsv
U3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVl
Y2hTeW50aGVzaXplci5oOjY2OjE1OiB3YXJuaW5nOiAnTlNTcGVlY2hQcm9wZXJ0eUtleScgaXMg
ZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxNC4wIC0gVXNlIEFWU3BlZWNo
U3ludGhlc2l6ZXIgaW4gQVZGb3VuZGF0aW9uIGluc3RlYWQgWy1XZGVwcmVjYXRlZC1kZWNsYXJh
dGlvbnNdCiAgIDY2IHwgQVBQS0lUX0VYVEVSTiBOU1NwZWVjaFByb3BlcnR5S2V5IGNvbnN0IE5T
U3BlZWNoUmVzZXRQcm9wZXJ0eSBBUElfQVZBSUxBQkxFKG1hY29zKDEwLjUpKTsKICAgICAgfCAg
ICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVy
L1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0
ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5
bnRoZXNpemVyLmg6NTE6MjA6IG5vdGU6ICdOU1NwZWVjaFByb3BlcnR5S2V5JyBoYXMgYmVlbiBl
eHBsaWNpdGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICAgNTEgfCB0eXBlZGVmIE5TU3RyaW5n
ICogTlNTcGVlY2hQcm9wZXJ0eUtleSBOU19UWVBFRF9FTlVNOwogICAgICB8ICAgICAgICAgICAg
ICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0
Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVz
aXplci5oOjY3OjE1OiB3YXJuaW5nOiAnTlNTcGVlY2hQcm9wZXJ0eUtleScgaXMgZGVwcmVjYXRl
ZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxNC4wIC0gVXNlIEFWU3BlZWNoU3ludGhlc2l6
ZXIgaW4gQVZGb3VuZGF0aW9uIGluc3RlYWQgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAg
IDY3IHwgQVBQS0lUX0VYVEVSTiBOU1NwZWVjaFByb3BlcnR5S2V5IGNvbnN0IE5TU3BlZWNoT3V0
cHV0VG9GaWxlVVJMUHJvcGVydHkgQVBJX0FWQUlMQUJMRShtYWNvcygxMC41KSk7ICAvLyBOU1VS
TAogICAgICB8ICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50
cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNP
U1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJz
L05TU3BlZWNoU3ludGhlc2l6ZXIuaDo1MToyMDogbm90ZTogJ05TU3BlZWNoUHJvcGVydHlLZXkn
IGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogICA1MSB8IHR5cGVk
ZWYgTlNTdHJpbmcgKiBOU1NwZWVjaFByb3BlcnR5S2V5IE5TX1RZUEVEX0VOVU07CiAgICAgIHwg
ICAgICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2
ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNk
ay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1Nw
ZWVjaFN5bnRoZXNpemVyLmg6MTI1OjE1OiB3YXJuaW5nOiAnTlNTcGVlY2hNb2RlJyBpcyBkZXBy
ZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDE0LjAgLSBVc2UgQVZTcGVlY2hTeW50
aGVzaXplciBpbiBBVkZvdW5kYXRpb24gaW5zdGVhZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9u
c10KICAxMjUgfCBBUFBLSVRfRVhURVJOIE5TU3BlZWNoTW9kZSBjb25zdCBOU1NwZWVjaE1vZGVU
ZXh0IEFQSV9BVkFJTEFCTEUobWFjb3MoMTAuNSkpOwogICAgICB8ICAgICAgICAgICAgICAgXgov
QXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09T
WC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1l
d29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDoxMjM6
MjA6IG5vdGU6ICdOU1NwZWVjaE1vZGUnIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJl
Y2F0ZWQgaGVyZQogIDEyMyB8IHR5cGVkZWYgTlNTdHJpbmcgKiBOU1NwZWVjaE1vZGUgTlNfVFlQ
RURfRU5VTTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2Rl
LmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9w
ZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1l
d29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDoxMjY6MTU6IHdhcm5pbmc6ICdOU1Nw
ZWVjaE1vZGUnIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTQuMCAt
IFVzZSBBVlNwZWVjaFN5bnRoZXNpemVyIGluIEFWRm91bmRhdGlvbiBpbnN0ZWFkIFstV2RlcHJl
Y2F0ZWQtZGVjbGFyYXRpb25zXQogIDEyNiB8IEFQUEtJVF9FWFRFUk4gTlNTcGVlY2hNb2RlIGNv
bnN0IE5TU3BlZWNoTW9kZVBob25lbWUgQVBJX0FWQUlMQUJMRShtYWNvcygxMC41KSk7CiAgICAg
IHwgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVs
b3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsv
U3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVl
Y2hTeW50aGVzaXplci5oOjEyMzoyMDogbm90ZTogJ05TU3BlZWNoTW9kZScgaGFzIGJlZW4gZXhw
bGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgMTIzIHwgdHlwZWRlZiBOU1N0cmluZyAq
IE5TU3BlZWNoTW9kZSBOU19UWVBFRF9FTlVNOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBe
Ci9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFj
T1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjEy
ODoxNTogd2FybmluZzogJ05TU3BlZWNoTW9kZScgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVj
YXRlZCBpbiBtYWNPUyAxNC4wIC0gVXNlIEFWU3BlZWNoU3ludGhlc2l6ZXIgaW4gQVZGb3VuZGF0
aW9uIGluc3RlYWQgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgMTI4IHwgQVBQS0lUX0VY
VEVSTiBOU1NwZWVjaE1vZGUgY29uc3QgTlNTcGVlY2hNb2RlTm9ybWFsIEFQSV9BVkFJTEFCTEUo
bWFjb3MoMTAuNSkpOwogICAgICB8ICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2Rl
LmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9w
ZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1l
d29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDoxMjM6MjA6IG5vdGU6ICdOU1NwZWVj
aE1vZGUnIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogIDEyMyB8
IHR5cGVkZWYgTlNTdHJpbmcgKiBOU1NwZWVjaE1vZGUgTlNfVFlQRURfRU5VTTsKICAgICAgfCAg
ICAgICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZl
bG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2Rr
L1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3Bl
ZWNoU3ludGhlc2l6ZXIuaDoxMjk6MTU6IHdhcm5pbmc6ICdOU1NwZWVjaE1vZGUnIGlzIGRlcHJl
Y2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTQuMCAtIFVzZSBBVlNwZWVjaFN5bnRo
ZXNpemVyIGluIEFWRm91bmRhdGlvbiBpbnN0ZWFkIFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25z
XQogIDEyOSB8IEFQUEtJVF9FWFRFUk4gTlNTcGVlY2hNb2RlIGNvbnN0IE5TU3BlZWNoTW9kZUxp
dGVyYWwgQVBJX0FWQUlMQUJMRShtYWNvcygxMC41KSk7CiAgICAgIHwgICAgICAgICAgICAgICBe
Ci9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFj
T1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJh
bWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjEy
MzoyMDogbm90ZTogJ05TU3BlZWNoTW9kZScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVw
cmVjYXRlZCBoZXJlCiAgMTIzIHwgdHlwZWRlZiBOU1N0cmluZyAqIE5TU3BlZWNoTW9kZSBOU19U
WVBFRF9FTlVNOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNv
ZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVs
b3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJh
bWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjEzMzoxNTogd2FybmluZzogJ05T
U3BlZWNoU3RhdHVzS2V5JyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09T
IDE0LjAgLSBVc2UgQVZTcGVlY2hTeW50aGVzaXplciBpbiBBVkZvdW5kYXRpb24gaW5zdGVhZCBb
LVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICAxMzMgfCBBUFBLSVRfRVhURVJOIE5TU3BlZWNo
U3RhdHVzS2V5IGNvbnN0IE5TU3BlZWNoU3RhdHVzT3V0cHV0QnVzeSBBUElfQVZBSUxBQkxFKG1h
Y29zKDEwLjUpKTsgIC8vIE5TTnVtYmVyCiAgICAgIHwgICAgICAgICAgICAgICBeCi9BcHBsaWNh
dGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRm
b3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9B
cHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjEzMjoyMDogbm90
ZTogJ05TU3BlZWNoU3RhdHVzS2V5JyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXByZWNh
dGVkIGhlcmUKICAxMzIgfCB0eXBlZGVmIE5TU3RyaW5nICogTlNTcGVlY2hTdGF0dXNLZXkgTlNf
VFlQRURfRU5VTTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hj
b2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZl
bG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZy
YW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDoxMzQ6MTU6IHdhcm5pbmc6ICdO
U1NwZWVjaFN0YXR1c0tleScgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNP
UyAxNC4wIC0gVXNlIEFWU3BlZWNoU3ludGhlc2l6ZXIgaW4gQVZGb3VuZGF0aW9uIGluc3RlYWQg
Wy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgMTM0IHwgQVBQS0lUX0VYVEVSTiBOU1NwZWVj
aFN0YXR1c0tleSBjb25zdCBOU1NwZWVjaFN0YXR1c091dHB1dFBhdXNlZCBBUElfQVZBSUxBQkxF
KG1hY29zKDEwLjUpKTsgIC8vIE5TTnVtYmVyCiAgICAgIHwgICAgICAgICAgICAgICBeCi9BcHBs
aWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBs
YXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jr
cy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjEzMjoyMDog
bm90ZTogJ05TU3BlZWNoU3RhdHVzS2V5JyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBkZXBy
ZWNhdGVkIGhlcmUKICAxMzIgfCB0eXBlZGVmIE5TU3RyaW5nICogTlNTcGVlY2hTdGF0dXNLZXkg
TlNfVFlQRURfRU5VTTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25z
L1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9E
ZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0
LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDoxMzU6MTU6IHdhcm5pbmc6
ICdOU1NwZWVjaFN0YXR1c0tleScgaXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBt
YWNPUyAxNC4wIC0gVXNlIEFWU3BlZWNoU3ludGhlc2l6ZXIgaW4gQVZGb3VuZGF0aW9uIGluc3Rl
YWQgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgMTM1IHwgQVBQS0lUX0VYVEVSTiBOU1Nw
ZWVjaFN0YXR1c0tleSBjb25zdCBOU1NwZWVjaFN0YXR1c051bWJlck9mQ2hhcmFjdGVyc0xlZnQg
QVBJX0FWQUlMQUJMRShtYWNvcygxMC41KSk7ICAvLyBOU051bWJlcgogICAgICB8ICAgICAgICAg
ICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZv
cm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJy
YXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6
ZXIuaDoxMzI6MjA6IG5vdGU6ICdOU1NwZWVjaFN0YXR1c0tleScgaGFzIGJlZW4gZXhwbGljaXRs
eSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgMTMyIHwgdHlwZWRlZiBOU1N0cmluZyAqIE5TU3Bl
ZWNoU3RhdHVzS2V5IE5TX1RZUEVEX0VOVU07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF4K
L0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNP
U1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFt
ZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6MTM2
OjE1OiB3YXJuaW5nOiAnTlNTcGVlY2hTdGF0dXNLZXknIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRl
cHJlY2F0ZWQgaW4gbWFjT1MgMTQuMCAtIFVzZSBBVlNwZWVjaFN5bnRoZXNpemVyIGluIEFWRm91
bmRhdGlvbiBpbnN0ZWFkIFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogIDEzNiB8IEFQUEtJ
VF9FWFRFUk4gTlNTcGVlY2hTdGF0dXNLZXkgY29uc3QgTlNTcGVlY2hTdGF0dXNQaG9uZW1lQ29k
ZSBBUElfQVZBSUxBQkxFKG1hY29zKDEwLjUpKTsgIC8vIE5TTnVtYmVyCiAgICAgIHwgICAgICAg
ICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0
Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xp
YnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVz
aXplci5oOjEzMjoyMDogbm90ZTogJ05TU3BlZWNoU3RhdHVzS2V5JyBoYXMgYmVlbiBleHBsaWNp
dGx5IG1hcmtlZCBkZXByZWNhdGVkIGhlcmUKICAxMzIgfCB0eXBlZGVmIE5TU3RyaW5nICogTlNT
cGVlY2hTdGF0dXNLZXkgTlNfVFlQRURfRU5VTTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAg
XgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01h
Y09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDox
NDA6MTU6IHdhcm5pbmc6ICdOU1NwZWVjaEVycm9yS2V5JyBpcyBkZXByZWNhdGVkOiBmaXJzdCBk
ZXByZWNhdGVkIGluIG1hY09TIDE0LjAgLSBVc2UgQVZTcGVlY2hTeW50aGVzaXplciBpbiBBVkZv
dW5kYXRpb24gaW5zdGVhZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICAxNDAgfCBBUFBL
SVRfRVhURVJOIE5TU3BlZWNoRXJyb3JLZXkgY29uc3QgTlNTcGVlY2hFcnJvckNvdW50IEFQSV9B
VkFJTEFCTEUobWFjb3MoMTAuNSkpOyAgLy8gTlNOdW1iZXIKICAgICAgfCAgICAgICAgICAgICAg
IF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9N
YWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6
MTM5OjIwOiBub3RlOiAnTlNTcGVlY2hFcnJvcktleScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJr
ZWQgZGVwcmVjYXRlZCBoZXJlCiAgMTM5IHwgdHlwZWRlZiBOU1N0cmluZyAqIE5TU3BlZWNoRXJy
b3JLZXkgTlNfVFlQRURfRU5VTTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXgovQXBwbGlj
YXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0
Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mv
QXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDoxNDE6MTU6IHdh
cm5pbmc6ICdOU1NwZWVjaEVycm9yS2V5JyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVk
IGluIG1hY09TIDE0LjAgLSBVc2UgQVZTcGVlY2hTeW50aGVzaXplciBpbiBBVkZvdW5kYXRpb24g
aW5zdGVhZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICAxNDEgfCBBUFBLSVRfRVhURVJO
IE5TU3BlZWNoRXJyb3JLZXkgY29uc3QgTlNTcGVlY2hFcnJvck9sZGVzdENvZGUgQVBJX0FWQUlM
QUJMRShtYWNvcygxMC41KSk7ICAvLyBOU051bWJlcgogICAgICB8ICAgICAgICAgICAgICAgXgov
QXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09T
WC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1l
d29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDoxMzk6
MjA6IG5vdGU6ICdOU1NwZWVjaEVycm9yS2V5JyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtlZCBk
ZXByZWNhdGVkIGhlcmUKICAxMzkgfCB0eXBlZGVmIE5TU3RyaW5nICogTlNTcGVlY2hFcnJvcktl
eSBOU19UWVBFRF9FTlVNOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlv
bnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3Jt
L0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBL
aXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjE0MjoxNTogd2Fybmlu
ZzogJ05TU3BlZWNoRXJyb3JLZXknIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4g
bWFjT1MgMTQuMCAtIFVzZSBBVlNwZWVjaFN5bnRoZXNpemVyIGluIEFWRm91bmRhdGlvbiBpbnN0
ZWFkIFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogIDE0MiB8IEFQUEtJVF9FWFRFUk4gTlNT
cGVlY2hFcnJvcktleSBjb25zdCBOU1NwZWVjaEVycm9yT2xkZXN0Q2hhcmFjdGVyT2Zmc2V0IEFQ
SV9BVkFJTEFCTEUobWFjb3MoMTAuNSkpOyAgLy8gTlNOdW1iZXIKICAgICAgfCAgICAgICAgICAg
ICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jt
cy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFy
eS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVy
Lmg6MTM5OjIwOiBub3RlOiAnTlNTcGVlY2hFcnJvcktleScgaGFzIGJlZW4gZXhwbGljaXRseSBt
YXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgMTM5IHwgdHlwZWRlZiBOU1N0cmluZyAqIE5TU3BlZWNo
RXJyb3JLZXkgTlNfVFlQRURfRU5VTTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXgovQXBw
bGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5w
bGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29y
a3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDoxNDM6MTU6
IHdhcm5pbmc6ICdOU1NwZWVjaEVycm9yS2V5JyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNh
dGVkIGluIG1hY09TIDE0LjAgLSBVc2UgQVZTcGVlY2hTeW50aGVzaXplciBpbiBBVkZvdW5kYXRp
b24gaW5zdGVhZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICAxNDMgfCBBUFBLSVRfRVhU
RVJOIE5TU3BlZWNoRXJyb3JLZXkgY29uc3QgTlNTcGVlY2hFcnJvck5ld2VzdENvZGUgQVBJX0FW
QUlMQUJMRShtYWNvcygxMC41KSk7ICAvLyBOU051bWJlcgogICAgICB8ICAgICAgICAgICAgICAg
XgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01h
Y09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0Zy
YW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDox
Mzk6MjA6IG5vdGU6ICdOU1NwZWVjaEVycm9yS2V5JyBoYXMgYmVlbiBleHBsaWNpdGx5IG1hcmtl
ZCBkZXByZWNhdGVkIGhlcmUKICAxMzkgfCB0eXBlZGVmIE5TU3RyaW5nICogTlNTcGVlY2hFcnJv
cktleSBOU19UWVBFRF9FTlVNOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBeCi9BcHBsaWNh
dGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRm
b3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9B
cHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjE0NDoxNTogd2Fy
bmluZzogJ05TU3BlZWNoRXJyb3JLZXknIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQg
aW4gbWFjT1MgMTQuMCAtIFVzZSBBVlNwZWVjaFN5bnRoZXNpemVyIGluIEFWRm91bmRhdGlvbiBp
bnN0ZWFkIFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogIDE0NCB8IEFQUEtJVF9FWFRFUk4g
TlNTcGVlY2hFcnJvcktleSBjb25zdCBOU1NwZWVjaEVycm9yTmV3ZXN0Q2hhcmFjdGVyT2Zmc2V0
IEFQSV9BVkFJTEFCTEUobWFjb3MoMTAuNSkpOyAgLy8gTlNOdW1iZXIKICAgICAgfCAgICAgICAg
ICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRm
b3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGli
cmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNp
emVyLmg6MTM5OjIwOiBub3RlOiAnTlNTcGVlY2hFcnJvcktleScgaGFzIGJlZW4gZXhwbGljaXRs
eSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgMTM5IHwgdHlwZWRlZiBOU1N0cmluZyAqIE5TU3Bl
ZWNoRXJyb3JLZXkgTlNfVFlQRURfRU5VTTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXgov
QXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09T
WC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1l
d29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDoxNDg6
MTU6IHdhcm5pbmc6ICdOU1NwZWVjaFN5bnRoZXNpemVySW5mb0tleScgaXMgZGVwcmVjYXRlZDog
Zmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxNC4wIC0gVXNlIEFWU3BlZWNoU3ludGhlc2l6ZXIg
aW4gQVZGb3VuZGF0aW9uIGluc3RlYWQgWy1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnNdCiAgMTQ4
IHwgQVBQS0lUX0VYVEVSTiBOU1NwZWVjaFN5bnRoZXNpemVySW5mb0tleSBjb25zdCBOU1NwZWVj
aFN5bnRoZXNpemVySW5mb0lkZW50aWZpZXIgQVBJX0FWQUlMQUJMRShtYWNvcygxMC41KSk7ICAv
LyBOU1N0cmluZwogICAgICB8ICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFw
cC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIv
U0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29y
ay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDoxNDc6MjA6IG5vdGU6ICdOU1NwZWVjaFN5
bnRoZXNpemVySW5mb0tleScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBo
ZXJlCiAgMTQ3IHwgdHlwZWRlZiBOU1N0cmluZyAqIE5TU3BlZWNoU3ludGhlc2l6ZXJJbmZvS2V5
IE5TX1RZUEVEX0VOVU07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9u
cy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0v
RGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtp
dC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6MTQ5OjE1OiB3YXJuaW5n
OiAnTlNTcGVlY2hTeW50aGVzaXplckluZm9LZXknIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJl
Y2F0ZWQgaW4gbWFjT1MgMTQuMCAtIFVzZSBBVlNwZWVjaFN5bnRoZXNpemVyIGluIEFWRm91bmRh
dGlvbiBpbnN0ZWFkIFstV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogIDE0OSB8IEFQUEtJVF9F
WFRFUk4gTlNTcGVlY2hTeW50aGVzaXplckluZm9LZXkgY29uc3QgTlNTcGVlY2hTeW50aGVzaXpl
ckluZm9WZXJzaW9uIEFQSV9BVkFJTEFCTEUobWFjb3MoMTAuNSkpOyAgLy8gTlNTdHJpbmcKICAg
ICAgfCAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2
ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNk
ay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1Nw
ZWVjaFN5bnRoZXNpemVyLmg6MTQ3OjIwOiBub3RlOiAnTlNTcGVlY2hTeW50aGVzaXplckluZm9L
ZXknIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogIDE0NyB8IHR5
cGVkZWYgTlNTdHJpbmcgKiBOU1NwZWVjaFN5bnRoZXNpemVySW5mb0tleSBOU19UWVBFRF9FTlVN
OwogICAgICB8ICAgICAgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0Nv
bnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtz
L01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hl
YWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjE1MzoxNTogd2FybmluZzogJ05TU3BlZWNoUGhv
bmVtZUluZm9LZXknIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTQu
MCAtIFVzZSBBVlNwZWVjaFN5bnRoZXNpemVyIGluIEFWRm91bmRhdGlvbiBpbnN0ZWFkIFstV2Rl
cHJlY2F0ZWQtZGVjbGFyYXRpb25zXQogIDE1MyB8IEFQUEtJVF9FWFRFUk4gTlNTcGVlY2hQaG9u
ZW1lSW5mb0tleSBjb25zdCBOU1NwZWVjaFBob25lbWVJbmZvT3Bjb2RlIEFQSV9BVkFJTEFCTEUo
bWFjb3MoMTAuNSkpOyAgLy8gTlNOdW1iZXIKICAgICAgfCAgICAgICAgICAgICAgIF4KL0FwcGxp
Y2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxh
dGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz
L0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6MTUyOjIwOiBu
b3RlOiAnTlNTcGVlY2hQaG9uZW1lSW5mb0tleScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQg
ZGVwcmVjYXRlZCBoZXJlCiAgMTUyIHwgdHlwZWRlZiBOU1N0cmluZyAqIE5TU3BlZWNoUGhvbmVt
ZUluZm9LZXkgTlNfVFlQRURfRU5VTTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXgovQXBw
bGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5w
bGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29y
a3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDoxNTQ6MTU6
IHdhcm5pbmc6ICdOU1NwZWVjaFBob25lbWVJbmZvS2V5JyBpcyBkZXByZWNhdGVkOiBmaXJzdCBk
ZXByZWNhdGVkIGluIG1hY09TIDE0LjAgLSBVc2UgQVZTcGVlY2hTeW50aGVzaXplciBpbiBBVkZv
dW5kYXRpb24gaW5zdGVhZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICAxNTQgfCBBUFBL
SVRfRVhURVJOIE5TU3BlZWNoUGhvbmVtZUluZm9LZXkgY29uc3QgTlNTcGVlY2hQaG9uZW1lSW5m
b1N5bWJvbCBBUElfQVZBSUxBQkxFKG1hY29zKDEwLjUpKTsgIC8vIE5TU3RyaW5nCiAgICAgIHwg
ICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Bl
ci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lz
dGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hT
eW50aGVzaXplci5oOjE1MjoyMDogbm90ZTogJ05TU3BlZWNoUGhvbmVtZUluZm9LZXknIGhhcyBi
ZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogIDE1MiB8IHR5cGVkZWYgTlNT
dHJpbmcgKiBOU1NwZWVjaFBob25lbWVJbmZvS2V5IE5TX1RZUEVEX0VOVU07CiAgICAgIHwgICAg
ICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxv
cGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9T
eXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVj
aFN5bnRoZXNpemVyLmg6MTU1OjE1OiB3YXJuaW5nOiAnTlNTcGVlY2hQaG9uZW1lSW5mb0tleScg
aXMgZGVwcmVjYXRlZDogZmlyc3QgZGVwcmVjYXRlZCBpbiBtYWNPUyAxNC4wIC0gVXNlIEFWU3Bl
ZWNoU3ludGhlc2l6ZXIgaW4gQVZGb3VuZGF0aW9uIGluc3RlYWQgWy1XZGVwcmVjYXRlZC1kZWNs
YXJhdGlvbnNdCiAgMTU1IHwgQVBQS0lUX0VYVEVSTiBOU1NwZWVjaFBob25lbWVJbmZvS2V5IGNv
bnN0IE5TU3BlZWNoUGhvbmVtZUluZm9FeGFtcGxlIEFQSV9BVkFJTEFCTEUobWFjb3MoMTAuNSkp
OyAgLy8gTlNTdHJpbmcKICAgICAgfCAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29k
ZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxv
cGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFt
ZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6MTUyOjIwOiBub3RlOiAnTlNTcGVl
Y2hQaG9uZW1lSW5mb0tleScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBo
ZXJlCiAgMTUyIHwgdHlwZWRlZiBOU1N0cmluZyAqIE5TU3BlZWNoUGhvbmVtZUluZm9LZXkgTlNf
VFlQRURfRU5VTTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hj
b2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZl
bG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZy
YW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIuaDoxNTY6MTU6IHdhcm5pbmc6ICdO
U1NwZWVjaFBob25lbWVJbmZvS2V5JyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGlu
IG1hY09TIDE0LjAgLSBVc2UgQVZTcGVlY2hTeW50aGVzaXplciBpbiBBVkZvdW5kYXRpb24gaW5z
dGVhZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICAxNTYgfCBBUFBLSVRfRVhURVJOIE5T
U3BlZWNoUGhvbmVtZUluZm9LZXkgY29uc3QgTlNTcGVlY2hQaG9uZW1lSW5mb0hpbGl0ZVN0YXJ0
IEFQSV9BVkFJTEFCTEUobWFjb3MoMTAuNSkpOyAgLy8gTlNOdW1iZXIKICAgICAgfCAgICAgICAg
ICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRm
b3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGli
cmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdvcmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNp
emVyLmg6MTUyOjIwOiBub3RlOiAnTlNTcGVlY2hQaG9uZW1lSW5mb0tleScgaGFzIGJlZW4gZXhw
bGljaXRseSBtYXJrZWQgZGVwcmVjYXRlZCBoZXJlCiAgMTUyIHwgdHlwZWRlZiBOU1N0cmluZyAq
IE5TU3BlZWNoUGhvbmVtZUluZm9LZXkgTlNfVFlQRURfRU5VTTsKICAgICAgfCAgICAgICAgICAg
ICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxh
dGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9M
aWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhl
c2l6ZXIuaDoxNTc6MTU6IHdhcm5pbmc6ICdOU1NwZWVjaFBob25lbWVJbmZvS2V5JyBpcyBkZXBy
ZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGluIG1hY09TIDE0LjAgLSBVc2UgQVZTcGVlY2hTeW50
aGVzaXplciBpbiBBVkZvdW5kYXRpb24gaW5zdGVhZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9u
c10KICAxNTcgfCBBUFBLSVRfRVhURVJOIE5TU3BlZWNoUGhvbmVtZUluZm9LZXkgY29uc3QgTlNT
cGVlY2hQaG9uZW1lSW5mb0hpbGl0ZUVuZCBBUElfQVZBSUxBQkxFKG1hY29zKDEwLjUpKTsgIC8v
IE5TTnVtYmVyCiAgICAgIHwgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMvWGNvZGUuYXBw
L0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9T
REtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQuZnJhbWV3b3Jr
L0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjE1MjoyMDogbm90ZTogJ05TU3BlZWNoUGhv
bmVtZUluZm9LZXknIGhhcyBiZWVuIGV4cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQog
IDE1MiB8IHR5cGVkZWYgTlNTdHJpbmcgKiBOU1NwZWVjaFBob25lbWVJbmZvS2V5IE5TX1RZUEVE
X0VOVU07CiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF4KL0FwcGxpY2F0aW9ucy9YY29kZS5h
cHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVy
L1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL0FwcEtpdC5mcmFtZXdv
cmsvSGVhZGVycy9OU1NwZWVjaFN5bnRoZXNpemVyLmg6MTYxOjE1OiB3YXJuaW5nOiAnTlNTcGVl
Y2hDb21tYW5kRGVsaW1pdGVyS2V5JyBpcyBkZXByZWNhdGVkOiBmaXJzdCBkZXByZWNhdGVkIGlu
IG1hY09TIDE0LjAgLSBVc2UgQVZTcGVlY2hTeW50aGVzaXplciBpbiBBVkZvdW5kYXRpb24gaW5z
dGVhZCBbLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KICAxNjEgfCBBUFBLSVRfRVhURVJOIE5T
U3BlZWNoQ29tbWFuZERlbGltaXRlcktleSBjb25zdCBOU1NwZWVjaENvbW1hbmRQcmVmaXggQVBJ
X0FWQUlMQUJMRShtYWNvcygxMC41KSk7ICAvLyBOU1N0cmluZwogICAgICB8ICAgICAgICAgICAg
ICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1z
L01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5
L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNoU3ludGhlc2l6ZXIu
aDoxNjA6MjA6IG5vdGU6ICdOU1NwZWVjaENvbW1hbmREZWxpbWl0ZXJLZXknIGhhcyBiZWVuIGV4
cGxpY2l0bHkgbWFya2VkIGRlcHJlY2F0ZWQgaGVyZQogIDE2MCB8IHR5cGVkZWYgTlNTdHJpbmcg
KiBOU1NwZWVjaENvbW1hbmREZWxpbWl0ZXJLZXkgTlNfVFlQRURfRU5VTTsKICAgICAgfCAgICAg
ICAgICAgICAgICAgICAgXgovQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9w
ZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5
c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvQXBwS2l0LmZyYW1ld29yay9IZWFkZXJzL05TU3BlZWNo
U3ludGhlc2l6ZXIuaDoxNjI6MTU6IHdhcm5pbmc6ICdOU1NwZWVjaENvbW1hbmREZWxpbWl0ZXJL
ZXknIGlzIGRlcHJlY2F0ZWQ6IGZpcnN0IGRlcHJlY2F0ZWQgaW4gbWFjT1MgMTQuMCAtIFVzZSBB
VlNwZWVjaFN5bnRoZXNpemVyIGluIEFWRm91bmRhdGlvbiBpbnN0ZWFkIFstV2RlcHJlY2F0ZWQt
ZGVjbGFyYXRpb25zXQogIDE2MiB8IEFQUEtJVF9FWFRFUk4gTlNTcGVlY2hDb21tYW5kRGVsaW1p
dGVyS2V5IGNvbnN0IE5TU3BlZWNoQ29tbWFuZFN1ZmZpeCBBUElfQVZBSUxBQkxFKG1hY29zKDEw
LjUpKTsgIC8vIE5TU3RyaW5nCiAgICAgIHwgICAgICAgICAgICAgICBeCi9BcHBsaWNhdGlvbnMv
WGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0Rl
dmVsb3Blci9TREtzL01hY09TWC5zZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9BcHBLaXQu
ZnJhbWV3b3JrL0hlYWRlcnMvTlNTcGVlY2hTeW50aGVzaXplci5oOjE2MDoyMDogbm90ZTogJ05T
U3BlZWNoQ29tbWFuZERlbGltaXRlcktleScgaGFzIGJlZW4gZXhwbGljaXRseSBtYXJrZWQgZGVw
cmVjYXRlZCBoZXJlCiAgMTYwIHwgdHlwZWRlZiBOU1N0cmluZyAqIE5TU3BlZWNoQ29tbWFuZERl
bGltaXRlcktleSBOU19UWVBFRF9FTlVNOwogICAgICB8ICAgICAgICAgICAgICAgICAgICBeCjEx
NyB3YXJuaW5ncyBnZW5lcmF0ZWQuCmNvbmZpZ3VyZToxNjAxMjogJD8gPSAwCmNvbmZpZ3VyZTox
NjAyMDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2MDI4OiBjaGVja2luZyBmb3IgTWFjIE9TIFgg
MTIuMCBvciBsYXRlcgpjb25maWd1cmU6MTYwNTA6IGNsYW5nIC1jIC1XZ251LWltYWdpbmFyeS1j
b25zdGFudCAtV3VudXNlZC1yZXN1bHQgLWcgLUYgL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29u
dGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3Mv
TWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzIC1Xbm8taWdub3JlZC1hdHRyaWJ1
dGVzIC1Xbm8tZmxhZy1lbnVtIC1Xbm8tbWlzc2luZy1tZXRob2QtcmV0dXJuLXR5cGUgLVduby12
YXJpYWRpYy1tYWNyb3MgLVduby1zdHJpY3QtcHJvdG90eXBlcyAtV25vLWF2YWlsYWJpbGl0eSAt
V25vLW51bGxhYmlsaXR5LWNvbXBsZXRlbmVzcyAtTyAteCBvYmplY3RpdmUtYyAgICAgLXggb2Jq
ZWN0aXZlLWMgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6ODE6MTogZXJyb3I6IHVua25vd24g
dHlwZSBuYW1lICdNYWMnCiAgIDgxIHwgTWFjIE9TIFggMTIueCBvciBsYXRlci4KICAgICAgfCBe
CmNvbmZ0ZXN0LmM6ODE6NzogZXJyb3I6IGV4cGVjdGVkICc7JyBhZnRlciB0b3AgbGV2ZWwgZGVj
bGFyYXRvcgogICA4MSB8IE1hYyBPUyBYIDEyLnggb3IgbGF0ZXIuCiAgICAgIHwgICAgICAgXgog
ICAgICB8ICAgICAgIDsKMiBlcnJvcnMgZ2VuZXJhdGVkLgpjb25maWd1cmU6MTYwNTA6ICQ/ID0g
MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl
ZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi
ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjMxLjAuNTAiCnwgI2RlZmluZSBQQUNL
QUdFX1NUUklORyAiR05VIEVtYWNzIDMxLjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S
VCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8v
d3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAj
ZGVmaW5lIEhBVkVfTUFJTFVUSUxTIDEKfCAjZGVmaW5lIEdDX1JFTUVNQkVSX0xBU1RfTUFSS0VE
IDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm
aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg
SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0ggMQp8ICNkZWZpbmUg
SEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmluZSBIQVZFX1NBTklU
SVpFUl9MU0FOX0lOVEVSRkFDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU0FOSVRJWkVSX0FTQU5fSU5U
RVJGQUNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TQU5JVElaRVJfQ09NTU9OX0lOVEVSRkFDRV9ERUZT
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFS
QU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19N
QUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5lIEhBVkVfU1REQk9P
TF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUFhfSCAxCnwg
I2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lORk9fSCAxCnwgI2Rl
ZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmlu
ZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9IIDEKfCAjZGVmaW5l
IEhBVkVfU1REQ0tESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkFORE9NX0ggMQp8ICNkZWZp
bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJX
SU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxU
X1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUg
X09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwg
I2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBf
X1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lF
Q182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0VYVF9f
IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmlu
ZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dB
TlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAx
CnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwg
I2RlZmluZSBfTElOVVhfU09VUkNFX0NPTVBBVCAxCnwgI2RlZmluZSBfX1VTRV9NSU5HV19BTlNJ
X1NURElPIDEKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJkYXJ3
aW4iCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8
ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCnwgI2Rl
ZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9G
TEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKfCAjZGVm
aW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lG
UkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9QQVNTV0RfUFdfR0VD
T1MgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgLyogZW5kIGNvbmZk
ZWZzLmguICAqLwp8IAp8ICNpbmNsdWRlIDxBdmFpbGFiaWxpdHlNYWNyb3MuaD4KfCAjaWYgTUFD
X09TX1hfVkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxMjAwMDAKfCBNYWMgT1MgWCAxMi54IG9yIGxh
dGVyLgp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKHZvaWQpCnwgewp8IAp8ICAgOwp8ICAgcmV0
dXJuIDA7CnwgfQpjb25maWd1cmU6MTYwNjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjE4MDog
Y2hlY2tpbmcgZm9yIGdjYwpjb25maWd1cmU6MTYyMDE6IGZvdW5kIC91c3IvYmluL2djYwpjb25m
aWd1cmU6MTYyMTM6IHJlc3VsdDogZ2NjCmNvbmZpZ3VyZToxNjIzODogY2hlY2tpbmcgZm9yIE9i
amVjdGl2ZSBDIGNvbXBpbGVyIHZlcnNpb24KY29uZmlndXJlOjE2MjQ3OiBnY2MgLS12ZXJzaW9u
ID4mNQpBcHBsZSBjbGFuZyB2ZXJzaW9uIDE3LjAuMCAoY2xhbmctMTcwMC4wLjEzLjMpClRhcmdl
dDogYXJtNjQtYXBwbGUtZGFyd2luMjQuNC4wClRocmVhZCBtb2RlbDogcG9zaXgKSW5zdGFsbGVk
RGlyOiAvQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvVG9vbGNoYWlu
cy9YY29kZURlZmF1bHQueGN0b29sY2hhaW4vdXNyL2Jpbgpjb25maWd1cmU6MTYyNTg6ICQ/ID0g
MApjb25maWd1cmU6MTYyNDc6IGdjYyAtdiA+JjUKQXBwbGUgY2xhbmcgdmVyc2lvbiAxNy4wLjAg
KGNsYW5nLTE3MDAuMC4xMy4zKQpUYXJnZXQ6IGFybTY0LWFwcGxlLWRhcndpbjI0LjQuMApUaHJl
YWQgbW9kZWw6IHBvc2l4Ckluc3RhbGxlZERpcjogL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29u
dGVudHMvRGV2ZWxvcGVyL1Rvb2xjaGFpbnMvWGNvZGVEZWZhdWx0LnhjdG9vbGNoYWluL3Vzci9i
aW4KY29uZmlndXJlOjE2MjU4OiAkPyA9IDAKY29uZmlndXJlOjE2MjQ3OiBnY2MgLVYgPiY1CmNs
YW5nOiBlcnJvcjogYXJndW1lbnQgdG8gJy1WJyBpcyBtaXNzaW5nIChleHBlY3RlZCAxIHZhbHVl
KQpjbGFuZzogZXJyb3I6IG5vIGlucHV0IGZpbGVzCmNvbmZpZ3VyZToxNjI1ODogJD8gPSAxCmNv
bmZpZ3VyZToxNjI0NzogZ2NjIC1xdmVyc2lvbiA+JjUKY2xhbmc6IGVycm9yOiB1bmtub3duIGFy
Z3VtZW50ICctcXZlcnNpb24nOyBkaWQgeW91IG1lYW4gJy0tdmVyc2lvbic/CmNsYW5nOiBlcnJv
cjogbm8gaW5wdXQgZmlsZXMKY29uZmlndXJlOjE2MjU4OiAkPyA9IDEKY29uZmlndXJlOjE2MjYy
OiBjaGVja2luZyB3aGV0aGVyIHRoZSBjb21waWxlciBzdXBwb3J0cyBHTlUgT2JqZWN0aXZlIEMK
Y29uZmlndXJlOjE2MjgyOiBnY2MgLWMgICAgIGNvbmZ0ZXN0Lm0gPiY1CmNvbmZpZ3VyZToxNjI4
MjogJD8gPSAwCmNvbmZpZ3VyZToxNjI5NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2MzA1OiBj
aGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nCmNvbmZpZ3VyZToxNjMyNjogZ2NjIC1jIC1n
ICAgIGNvbmZ0ZXN0Lm0gPiY1CmNvbmZpZ3VyZToxNjMyNjogJD8gPSAwCmNvbmZpZ3VyZToxNjM3
MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2Mzk3OiBjaGVja2luZyBpZiB0aGUgT2JqZWN0aXZl
IEMgY29tcGlsZXIgc3VwcG9ydHMgaW5zdGFuY2V0eXBlCmNvbmZpZ3VyZToxNjQwOTogZ2NjIC1j
IC1nIC1PMiAgICBjb25mdGVzdC5tID4mNQpjb25maWd1cmU6MTY0MDk6ICQ/ID0gMApjb25maWd1
cmU6MTY0MTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjQyODogY2hlY2tpbmcgaWYgdGhlIE9i
amVjdGl2ZSBDIGNvbXBpbGVyIGRlZmF1bHRzIHRvIEM5OQpjb25maWd1cmU6MTY0NDU6IGdjYyAt
YyAtZyAtTzIgICAgY29uZnRlc3QubSA+JjUKY29uZnRlc3QubTo4NToxODogd2FybmluZzogZm9y
IGxvb3AgaGFzIGVtcHR5IGJvZHkgWy1XZW1wdHktYm9keV0KICAgODUgfCBmb3IgKGludCBpID0g
MDs7KTsKICAgICAgfCAgICAgICAgICAgICAgICAgIF4KY29uZnRlc3QubTo4NToxODogbm90ZTog
cHV0IHRoZSBzZW1pY29sb24gb24gYSBzZXBhcmF0ZSBsaW5lIHRvIHNpbGVuY2UgdGhpcyB3YXJu
aW5nCjEgd2FybmluZyBnZW5lcmF0ZWQuCmNvbmZpZ3VyZToxNjQ0NTogJD8gPSAwCmNvbmZpZ3Vy
ZToxNjQ1NTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3MzMwOiBjaGVja2luZyB3aGV0aGVyIG1h
bGxvYyBpcyBEb3VnIExlYSBzdHlsZQpjb25maWd1cmU6MTczNjA6IHJlc3VsdDogbm8KY29uZmln
dXJlOjE3MzY2OiBjaGVja2luZyBhbGlnbm1lbnQgb2YgaW50CmNvbmZpZ3VyZToxNzM5MDogcmVz
dWx0OiA0CmNvbmZpZ3VyZToxNzQwMDogY2hlY2tpbmcgYWxpZ25tZW50IG9mIGxvbmcKY29uZmln
dXJlOjE3NDI0OiByZXN1bHQ6IDgKY29uZmlndXJlOjE3NDM0OiBjaGVja2luZyBhbGlnbm1lbnQg
b2YgbG9uZyBsb25nCmNvbmZpZ3VyZToxNzQ1ODogcmVzdWx0OiA4CmNvbmZpZ3VyZToxNzQ3MDog
Y2hlY2tpbmcgc2l6ZSBvZiBsb25nCmNvbmZpZ3VyZToxNzQ5MzogcmVzdWx0OiA4CmNvbmZpZ3Vy
ZToxNzUwMjogY2hlY2tpbmcgZm9yIHN0cnVjdCBhbGlnbm1lbnQKY29uZmlndXJlOjE3NTMzOiBy
ZXN1bHQ6IHllcwpjb25maWd1cmU6MTc1NDk6IGNoZWNraW5nIGZvciBzdGRhbGlnbi5oCmNvbmZp
Z3VyZToxNzU0OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3NTU2OiBjaGVja2luZyB3aGV0aGVy
IGFsaWduYXMgaXMgcmVxdWlyZWQgeWV0IHVuYXZhaWxhYmxlCmNvbmZpZ3VyZToxNzYwNjogcmVz
dWx0OiBubwpjb25maWd1cmU6MTc2MjQ6IGNoZWNraW5nIGZvciBzYnJrCmNvbmZpZ3VyZToxNzYy
NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3NjI0OiBjaGVja2luZyBmb3IgZ2V0cGFnZXNpemUK
Y29uZmlndXJlOjE3NjI0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTc2MjQ6IGNoZWNraW5nIGZv
ciBfX2xzYW5faWdub3JlX29iamVjdApjb25maWd1cmU6MTc2MjQ6IHJlc3VsdDogbm8KY29uZmln
dXJlOjE3NjI0OiBjaGVja2luZyBmb3IgZm9yawpjb25maWd1cmU6MTc2MjQ6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZToxNzYyNDogY2hlY2tpbmcgZm9yIHZmb3JrCmNvbmZpZ3VyZToxNzYyNDogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjE3NjI0OiBjaGVja2luZyBmb3IgZmNobW9kCmNvbmZpZ3VyZTox
NzYyNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3NjI0OiBjaGVja2luZyBmb3IgdXRtcG5hbWUK
Y29uZmlndXJlOjE3NjI0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNzYyNDogY2hlY2tpbmcgZm9y
IHV0bXB4bmFtZQpjb25maWd1cmU6MTc2MjQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzYyNDog
Y2hlY2tpbmcgZm9yIGNhbm9uaWNhbGl6ZV9maWxlX25hbWUKY29uZmlndXJlOjE3NjI0OiByZXN1
bHQ6IG5vCmNvbmZpZ3VyZToxNzYyNDogY2hlY2tpbmcgZm9yIHJlYWxwYXRoCmNvbmZpZ3VyZTox
NzYyNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3NjI0OiBjaGVja2luZyBmb3IgbHN0YXQKY29u
ZmlndXJlOjE3NjI0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTc2MjQ6IGNoZWNraW5nIGZvciBm
Y2htb2RhdApjb25maWd1cmU6MTc2MjQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzYyNDogY2hl
Y2tpbmcgZm9yIGxjaG1vZApjb25maWd1cmU6MTc2MjQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTox
NzYyNDogY2hlY2tpbmcgZm9yIGZjbnRsCmNvbmZpZ3VyZToxNzYyNDogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjE3NjI0OiBjaGVja2luZyBmb3IgZmRvcGVuZGlyCmNvbmZpZ3VyZToxNzYyNDogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjE3NjI0OiBjaGVja2luZyBmb3IgbGlzdHhhdHRyCmNvbmZpZ3Vy
ZToxNzYyNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3NjI0OiBjaGVja2luZyBmb3IgZnN0YXRh
dApjb25maWd1cmU6MTc2MjQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzYyNDogY2hlY2tpbmcg
Zm9yIGZzeW5jCmNvbmZpZ3VyZToxNzYyNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3NjI0OiBj
aGVja2luZyBmb3IgZ2V0dGltZW9mZGF5CmNvbmZpZ3VyZToxNzYyNDogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjE3NjI0OiBjaGVja2luZyBmb3IgbWVtc2V0X3MKY29uZmlndXJlOjE3NjI0OiByZXN1
bHQ6IHllcwpjb25maWd1cmU6MTc2MjQ6IGNoZWNraW5nIGZvciBzdHJmdGltZV96CmNvbmZpZ3Vy
ZToxNzYyNDogcmVzdWx0OiBubwpjb25maWd1cmU6MTc2MjQ6IGNoZWNraW5nIGZvciBwc2VsZWN0
CmNvbmZpZ3VyZToxNzYyNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3NjI0OiBjaGVja2luZyBm
b3IgcHRocmVhZF9zaWdtYXNrCmNvbmZpZ3VyZToxNzYyNDogcmVzdWx0OiB5ZXMKY29uZmlndXJl
OjE3NjI0OiBjaGVja2luZyBmb3IgcmVhZGxpbmsKY29uZmlndXJlOjE3NjI0OiByZXN1bHQ6IHll
cwpjb25maWd1cmU6MTc2MjQ6IGNoZWNraW5nIGZvciBpc2JsYW5rCmNvbmZpZ3VyZToxNzYyNDog
cmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3NjI0OiBjaGVja2luZyBmb3IgaXN3Y3R5cGUKY29uZmln
dXJlOjE3NjI0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTc2MjQ6IGNoZWNraW5nIGZvciBzdHJ0
b2ltYXgKY29uZmlndXJlOjE3NjI0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTc2MjQ6IGNoZWNr
aW5nIGZvciBzeW1saW5rCmNvbmZpZ3VyZToxNzYyNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3
NjI0OiBjaGVja2luZyBmb3IgbG9jYWx0aW1lX3IKY29uZmlndXJlOjE3NjI0OiByZXN1bHQ6IHll
cwpjb25maWd1cmU6MTc2MjQ6IGNoZWNraW5nIGZvciBnZXRkdGFibGVzaXplCmNvbmZpZ3VyZTox
NzYyNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3NjI0OiBjaGVja2luZyBmb3IgdXRpbWVucwpj
b25maWd1cmU6MTc2MjQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjE3NjI0OiBjaGVja2luZyBmb3Ig
bHV0aW1lbnMKY29uZmlndXJlOjE3NjI0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNzcyNTogY2hl
Y2tpbmcgZm9yIHdvcmtpbmcgbW1hcApjb25maWd1cmU6MTc4ODk6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZToxNzkwNzogY2hlY2tpbmcgZm9yIG1haW4gaW4gLWxYYnNkCmNvbmZpZ3VyZToxNzkzOTog
cmVzdWx0OiBubwpjb25maWd1cmU6MTc5NTE6IGNoZWNraW5nIGZvciBwdGhyZWFkIGxpYnJhcnkK
Y29uZmlndXJlOjE4MDAwOiByZXN1bHQ6IG5vbmUgbmVlZGVkCmNvbmZpZ3VyZToxODAyNzogY2hl
Y2tpbmcgZm9yIHRocmVhZCBzdXBwb3J0CmNvbmZpZ3VyZToxODA0MzogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjE4Mzc5OiBjaGVja2luZyBmb3IgbGlicnN2Zy0yLjAgPj0gMi4xNC4wCmNvbmZpZ3Vy
ZToxODM4NjogJFBLR19DT05GSUcgLS1leGlzdHMgLS1wcmludC1lcnJvcnMgIiRSU1ZHX01PRFVM
RSIKY29uZmlndXJlOjE4Mzg5OiAkPyA9IDAKY29uZmlndXJlOjE4NDAzOiAkUEtHX0NPTkZJRyAt
LWV4aXN0cyAtLXByaW50LWVycm9ycyAiJFJTVkdfTU9EVUxFIgpjb25maWd1cmU6MTg0MDY6ICQ/
ID0gMApjb25maWd1cmU6MTg0NDQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxODU3NDogY2hlY2tp
bmcgZm9yIGxpYndlYnBkZW11eCA+PSAwLjYuMApjb25maWd1cmU6MTg1ODE6ICRQS0dfQ09ORklH
IC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzICIkV0VCUF9NT0RVTEUiCmNvbmZpZ3VyZToxODU4NDog
JD8gPSAwCmNvbmZpZ3VyZToxODU5ODogJFBLR19DT05GSUcgLS1leGlzdHMgLS1wcmludC1lcnJv
cnMgIiRXRUJQX01PRFVMRSIKY29uZmlndXJlOjE4NjAxOiAkPyA9IDAKY29uZmlndXJlOjE4NjM5
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTg2NTg6IGNoZWNraW5nIGZvciBXZWJQR2V0SW5mbwpj
b25maWd1cmU6MTg2NTg6IGNsYW5nIC1vIGNvbmZ0ZXN0IC1XZ251LWltYWdpbmFyeS1jb25zdGFu
dCAtV3VudXNlZC1yZXN1bHQgLWcgLUYgL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMv
RGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NY
LnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzIC1Xbm8taWdub3JlZC1hdHRyaWJ1dGVzIC1X
bm8tZmxhZy1lbnVtIC1Xbm8tbWlzc2luZy1tZXRob2QtcmV0dXJuLXR5cGUgLVduby12YXJpYWRp
Yy1tYWNyb3MgLVduby1zdHJpY3QtcHJvdG90eXBlcyAtV25vLWF2YWlsYWJpbGl0eSAtV25vLW51
bGxhYmlsaXR5LWNvbXBsZXRlbmVzcyAtTyAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9s
aWJyc3ZnLzIuNjAuMC9pbmNsdWRlL2xpYnJzdmctMi4wIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcv
aW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9saWJ0
aWZmLzQuNy4wL2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9vcHQvenN0ZC9pbmNsdWRl
IC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL3h6LzUuOC4xL2luY2x1ZGUgLWlzeXN0ZW0g
L29wdC9ob21lYnJldy9vcHQvanBlZy10dXJiby9pbmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJy
ZXcvQ2VsbGFyL2NhaXJvLzEuMTguNC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVtIC9vcHQvaG9tZWJy
ZXcvQ2VsbGFyL2NhaXJvLzEuMTguNC9pbmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2Vs
bGFyL3BhbmdvLzEuNTYuMy9pbmNsdWRlL3BhbmdvLTEuMCAtaXN5c3RlbSAvb3B0L2hvbWVicmV3
L0NlbGxhci9nbGliLzIuODQuMF8xL2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxs
YXIvZnJpYmlkaS8xLjAuMTYvaW5jbHVkZS9mcmliaWRpIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcv
Q2VsbGFyL2ZvbnRjb25maWcvMi4xNi4wL2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9D
ZWxsYXIvbGlieGV4dC8xLjMuNi9pbmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFy
L3hvcmdwcm90by8yMDI0LjEvaW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9s
aWJ4cmVuZGVyLzAuOS4xMi9pbmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2xp
YngxMS8xLjguMTIvaW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9saWJ4Y2Iv
MS4xNy4wL2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvbGlieGF1LzEuMC4x
Mi9pbmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2xpYnhkbWNwLzEuMS41L2lu
Y2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvcGl4bWFuLzAuNDQuMi9pbmNsdWRl
L3BpeG1hbi0xIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2hhcmZidXp6LzExLjAuMS9p
bmNsdWRlL2hhcmZidXp6IC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvb3B0L2ZyZWV0eXBlL2luY2x1
ZGUvZnJlZXR5cGUyIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvb3B0L2xpYnBuZy9pbmNsdWRlL2xp
YnBuZzE2IC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2dyYXBoaXRlMi8xLjMuMTQvaW5j
bHVkZSAtaXN5c3RlbSAvTGlicmFyeS9EZXZlbG9wZXIvQ29tbWFuZExpbmVUb29scy9TREtzL01h
Y09TWDE1LnNkay91c3IvaW5jbHVkZS9mZmkgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIv
Z2xpYi8yLjg0LjBfMS9pbmNsdWRlL2dsaWItMi4wIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2Vs
bGFyL2dsaWIvMi44NC4wXzEvbGliL2dsaWItMi4wL2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21l
YnJldy9vcHQvZ2V0dGV4dC9pbmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL3Bj
cmUyLzEwLjQ1L2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9vcHQvd2VicC9pbmNsdWRl
IC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvb3B0L3dlYnAvaW5jbHVkZS93ZWJwICAgICBjb25mdGVz
dC5jICAgLUwvb3B0L2hvbWVicmV3L29wdC93ZWJwL2xpYiAtbHdlYnBkZW11eCA+JjUKVW5kZWZp
bmVkIHN5bWJvbHMgZm9yIGFyY2hpdGVjdHVyZSBhcm02NDoKICAiX1dlYlBHZXRJbmZvIiwgcmVm
ZXJlbmNlZCBmcm9tOgogICAgICBfbWFpbiBpbiBjb25mdGVzdC02MWEyMTMubwpsZDogc3ltYm9s
KHMpIG5vdCBmb3VuZCBmb3IgYXJjaGl0ZWN0dXJlIGFybTY0CmNsYW5nOiBlcnJvcjogbGlua2Vy
IGNvbW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlv
bikKY29uZmlndXJlOjE4NjU4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6
CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwg
I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O
ICIzMS4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAzMS4wLjUwIgp8
ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVm
aW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAj
ZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBIQVZFX01BSUxVVElMUyAxCnwgI2RlZmlu
ZSBHQ19SRU1FTUJFUl9MQVNUX01BUktFRCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l
IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB
VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9X
Q0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfVVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElM
X0ggMQp8ICNkZWZpbmUgSEFWRV9TQU5JVElaRVJfTFNBTl9JTlRFUkZBQ0VfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NBTklUSVpFUl9BU0FOX0lOVEVSRkFDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU0FOSVRJ
WkVSX0NPTU1PTl9JTlRFUkZBQ0VfREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0gg
MQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5f
SCAxCnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwg
I2RlZmluZSBIQVZFX1VUTVBYX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu
ZSBIQVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBI
QVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NURENLRElOVF9IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1JBTkRPTV9IIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBfQUxM
X1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09V
UkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9O
RVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9T
SVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FU
VFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAx
CnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9f
U1REQ19XQU5UX0lFQ182MDU1OV9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1
NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VY
VF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERD
X1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNk
ZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0xJTlVYX1NPVVJDRV9DT01QQVQgMQp8
ICNkZWZpbmUgX19VU0VfTUlOR1dfQU5TSV9TVERJTyAxCnwgI2RlZmluZSBHQ0NfTElOVCAxCnwg
I2RlZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZp
bmUgSEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZS
RVFfSUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAx
CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUg
SEFWRV9TVFJVQ1RfUEFTU1dEX1BXX0dFQ09TIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3
LT5wd19nZWNvcwp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIE5T
X1NFTEZfQ09OVEFJTkVEIDEKfCAjZGVmaW5lIE5BVElWRV9PQkpDX0lOU1RBTkNFVFlQRSAxCnwg
I2RlZmluZSBBTElHTk9GX0lOVCA0CnwgI2RlZmluZSBBTElHTk9GX0xPTkcgOAp8ICNkZWZpbmUg
QUxJR05PRl9MT05HX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkcgOAp8ICNkZWZpbmUgSEFW
RV9TVFJVQ1RfQVRUUklCVVRFX0FMSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9TVERBTElHTl9IIDEK
fCAjZGVmaW5lIEhBVkVfU0JSSyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVm
aW5lIEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfRkNI
TU9EIDEKfCAjZGVmaW5lIEhBVkVfVVRNUFhOQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBTFBBVEgg
MQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PREFUIDEKfCAjZGVm
aW5lIEhBVkVfTENITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9G
RE9QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9MSVNUWEFUVFIgMQp8ICNkZWZpbmUgSEFWRV9GU1RB
VEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkg
MQp8ICNkZWZpbmUgSEFWRV9NRU1TRVRfUyAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNk
ZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwg
I2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9JU1dDVFlQRSAxCnwgI2RlZmlu
ZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFW
RV9MT0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUg
U1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhS
RUFEIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8
IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgV2ViUEdldEluZm8gdG8gYW4gaW5u
b2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBXZWJQR2V0SW5mby4K
fCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9m
ZGF5LiAgKi8KfCAjZGVmaW5lIFdlYlBHZXRJbmZvIGlubm9jdW91c19XZWJQR2V0SW5mbwp8IAp8
IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBm
ZXcgcHJvdG90eXBlcywKfCAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIFdlYlBHZXRJ
bmZvICh2b2lkKTsgYmVsb3cuICAqLwp8IAp8ICNpbmNsdWRlIDxsaW1pdHMuaD4KfCAjdW5kZWYg
V2ViUEdldEluZm8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0
byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0
aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVu
dCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8
IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIFdlYlBHZXRJbmZvICh2b2lkKTsKfCAvKiBUaGUg
R05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1l
bnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJl
IGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUg
bm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9XZWJQR2V0
SW5mbyB8fCBkZWZpbmVkIF9fc3R1Yl9fX1dlYlBHZXRJbmZvCnwgY2hva2UgbWUKfCAjZW5kaWYK
fCAKfCBpbnQKfCBtYWluICh2b2lkKQp8IHsKfCByZXR1cm4gV2ViUEdldEluZm8gKCk7CnwgICA7
CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxODY1ODogcmVzdWx0OiBubwpjb25maWd1cmU6
MTg3NjQ6IGNoZWNraW5nIGZvciBsaWJ3ZWJwZGVtdXggPj0gMC42LjAgbGlid2VicGRlY29kZXIg
Pj0gMC42LjAKY29uZmlndXJlOjE4NzcxOiAkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXByaW50LWVy
cm9ycyAiJFdFQlBfTU9EVUxFIgpjb25maWd1cmU6MTg3NzQ6ICQ/ID0gMApjb25maWd1cmU6MTg3
ODg6ICRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzICIkV0VCUF9NT0RVTEUiCmNv
bmZpZ3VyZToxODc5MTogJD8gPSAwCmNvbmZpZ3VyZToxODgyOTogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjE4OTU2OiBjaGVja2luZyBmb3Igc3FsaXRlMwpjb25maWd1cmU6MTg5ODg6IHJlc3VsdDog
eWVzCmNvbmZpZ3VyZToxODk5ODogY2hlY2tpbmcgZm9yIHNxbGl0ZTNfbG9hZF9leHRlbnNpb24g
aW4gLWxzcWxpdGUzCmNvbmZpZ3VyZToxOTAzOTogcmVzdWx0OiBubwpjb25maWd1cmU6MTk1Mjc6
IGNoZWNraW5nIGZvciBnZXRhZGRyaW5mb19hIGluIC1sYW5sCmNvbmZpZ3VyZToxOTU2ODogcmVz
dWx0OiBubwpjb25maWd1cmU6MjAxMDk6IGNoZWNraW5nIGZvciBtYWxsb2NfdHJpbQpjb25maWd1
cmU6MjAxMDk6IHJlc3VsdDogbm8KY29uZmlndXJlOjIwMjE3OiBjaGVja2luZyBmb3IgZGJ1cy0x
ID49IDEuMApjb25maWd1cmU6MjAyMjQ6ICRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJy
b3JzICJkYnVzLTEgPj0gMS4wIgpjb25maWd1cmU6MjAyMjc6ICQ/ID0gMApjb25maWd1cmU6MjAy
NDE6ICRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzICJkYnVzLTEgPj0gMS4wIgpj
b25maWd1cmU6MjAyNDQ6ICQ/ID0gMApjb25maWd1cmU6MjAyODI6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZToyMDI5NTogY2hlY2tpbmcgZm9yIGRidXNfd2F0Y2hfZ2V0X3VuaXhfZmQKY29uZmlndXJl
OjIwMjk1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjAzMDE6IGNoZWNraW5nIGZvciBkYnVzX3R5
cGVfaXNfdmFsaWQKY29uZmlndXJlOjIwMzAxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjAzMDc6
IGNoZWNraW5nIGZvciBkYnVzX3ZhbGlkYXRlX2J1c19uYW1lCmNvbmZpZ3VyZToyMDMwNzogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjIwMzEzOiBjaGVja2luZyBmb3IgZGJ1c192YWxpZGF0ZV9wYXRo
CmNvbmZpZ3VyZToyMDMxMzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIwMzE5OiBjaGVja2luZyBm
b3IgZGJ1c192YWxpZGF0ZV9pbnRlcmZhY2UKY29uZmlndXJlOjIwMzE5OiByZXN1bHQ6IHllcwpj
b25maWd1cmU6MjAzMjU6IGNoZWNraW5nIGZvciBkYnVzX3ZhbGlkYXRlX21lbWJlcgpjb25maWd1
cmU6MjAzMjU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMDMzMTogY2hlY2tpbmcgZm9yIGRidXNf
bWVzc2FnZV9zZXRfYWxsb3dfaW50ZXJhY3RpdmVfYXV0aG9yaXphdGlvbgpjb25maWd1cmU6MjAz
MzE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMTAyNTogY2hlY2tpbmcgZm9yIGxnZXRmaWxlY29u
IGluIC1sc2VsaW51eApjb25maWd1cmU6MjEwNjY6IHJlc3VsdDogbm8KY29uZmlndXJlOjIxMTg4
OiBjaGVja2luZyBmb3IgZ251dGxzID49IDIuMTIuMgpjb25maWd1cmU6MjExOTU6ICRQS0dfQ09O
RklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzICJnbnV0bHMgPj0gMi4xMi4yIgpjb25maWd1cmU6
MjExOTg6ICQ/ID0gMApjb25maWd1cmU6MjEyMTI6ICRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJp
bnQtZXJyb3JzICJnbnV0bHMgPj0gMi4xMi4yIgpjb25maWd1cmU6MjEyMTU6ICQ/ID0gMApjb25m
aWd1cmU6MjEyNTM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMTM3NDogY2hlY2tpbmcgZm9yIGxp
YnN5c3RlbWQgPj0gMjIyCmNvbmZpZ3VyZToyMTM4MTogJFBLR19DT05GSUcgLS1leGlzdHMgLS1w
cmludC1lcnJvcnMgImxpYnN5c3RlbWQgPj0gMjIyIgpQYWNrYWdlIGxpYnN5c3RlbWQgd2FzIG5v
dCBmb3VuZCBpbiB0aGUgcGtnLWNvbmZpZyBzZWFyY2ggcGF0aC4KUGVyaGFwcyB5b3Ugc2hvdWxk
IGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYGxpYnN5c3RlbWQucGMnCnRvIHRoZSBQS0df
Q09ORklHX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGUKUGFja2FnZSAnbGlic3lzdGVtZCcgbm90
IGZvdW5kCmNvbmZpZ3VyZToyMTM4NDogJD8gPSAxCmNvbmZpZ3VyZToyMTM5ODogJFBLR19DT05G
SUcgLS1leGlzdHMgLS1wcmludC1lcnJvcnMgImxpYnN5c3RlbWQgPj0gMjIyIgpQYWNrYWdlIGxp
YnN5c3RlbWQgd2FzIG5vdCBmb3VuZCBpbiB0aGUgcGtnLWNvbmZpZyBzZWFyY2ggcGF0aC4KUGVy
aGFwcyB5b3Ugc2hvdWxkIGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYGxpYnN5c3RlbWQu
cGMnCnRvIHRoZSBQS0dfQ09ORklHX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGUKUGFja2FnZSAn
bGlic3lzdGVtZCcgbm90IGZvdW5kCmNvbmZpZ3VyZToyMTQwMTogJD8gPSAxCmNvbmZpZ3VyZToy
MTQxNTogcmVzdWx0OiBubwpQYWNrYWdlICdsaWJzeXN0ZW1kJyBub3QgZm91bmQKY29uZmlndXJl
OjIxNTU4OiBjaGVja2luZyBmb3IgdHJlZS1zaXR0ZXIgPj0gMC4yMC4yCmNvbmZpZ3VyZToyMTU2
NTogJFBLR19DT05GSUcgLS1leGlzdHMgLS1wcmludC1lcnJvcnMgInRyZWUtc2l0dGVyID49IDAu
MjAuMiIKY29uZmlndXJlOjIxNTY4OiAkPyA9IDAKY29uZmlndXJlOjIxNTgyOiAkUEtHX0NPTkZJ
RyAtLWV4aXN0cyAtLXByaW50LWVycm9ycyAidHJlZS1zaXR0ZXIgPj0gMC4yMC4yIgpjb25maWd1
cmU6MjE1ODU6ICQ/ID0gMApjb25maWd1cmU6MjE2MjM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToy
MTg2ODogY2hlY2tpbmcgZm9yIHN5cy9pbm90aWZ5LmgKY29uZmlndXJlOjIxODY4OiByZXN1bHQ6
IG5vCmNvbmZpZ3VyZToyMjAwMDogY2hlY2tpbmcgZm9yIGxpYmtxdWV1ZQpjb25maWd1cmU6MjIw
MDc6ICRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzICJsaWJrcXVldWUiClBhY2th
Z2UgbGlia3F1ZXVlIHdhcyBub3QgZm91bmQgaW4gdGhlIHBrZy1jb25maWcgc2VhcmNoIHBhdGgu
ClBlcmhhcHMgeW91IHNob3VsZCBhZGQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIGBsaWJrcXVl
dWUucGMnCnRvIHRoZSBQS0dfQ09ORklHX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGUKUGFja2Fn
ZSAnbGlia3F1ZXVlJyBub3QgZm91bmQKY29uZmlndXJlOjIyMDEwOiAkPyA9IDEKY29uZmlndXJl
OjIyMDI0OiAkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXByaW50LWVycm9ycyAibGlia3F1ZXVlIgpQ
YWNrYWdlIGxpYmtxdWV1ZSB3YXMgbm90IGZvdW5kIGluIHRoZSBwa2ctY29uZmlnIHNlYXJjaCBw
YXRoLgpQZXJoYXBzIHlvdSBzaG91bGQgYWRkIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyBgbGli
a3F1ZXVlLnBjJwp0byB0aGUgUEtHX0NPTkZJR19QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlClBh
Y2thZ2UgJ2xpYmtxdWV1ZScgbm90IGZvdW5kCmNvbmZpZ3VyZToyMjAyNzogJD8gPSAxCmNvbmZp
Z3VyZToyMjA0MTogcmVzdWx0OiBubwpQYWNrYWdlICdsaWJrcXVldWUnIG5vdCBmb3VuZApjb25m
aWd1cmU6MjIwODI6IGNoZWNraW5nIGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcga3F1ZXVlCmNvbmZp
Z3VyZToyMjE0MDogcmVzdWx0OiBub25lIHJlcXVpcmVkCmNvbmZpZ3VyZToyMjg1NzogY2xhbmcg
LWMgLVdnbnUtaW1hZ2luYXJ5LWNvbnN0YW50IC1XdW51c2VkLXJlc3VsdCAtZyAtRiAvQXBwbGlj
YXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0
Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3Mg
LVduby1pZ25vcmVkLWF0dHJpYnV0ZXMgLVduby1mbGFnLWVudW0gLVduby1taXNzaW5nLW1ldGhv
ZC1yZXR1cm4tdHlwZSAtV25vLXZhcmlhZGljLW1hY3JvcyAtV25vLXN0cmljdC1wcm90b3R5cGVz
IC1Xbm8tYXZhaWxhYmlsaXR5IC1Xbm8tbnVsbGFiaWxpdHktY29tcGxldGVuZXNzIC1PIC1pc3lz
dGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2xpYnJzdmcvMi42MC4wL2luY2x1ZGUvbGlicnN2Zy0y
LjAgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1pc3lzdGVt
IC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2xpYnRpZmYvNC43LjAvaW5jbHVkZSAtaXN5c3RlbSAvb3B0
L2hvbWVicmV3L29wdC96c3RkL2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIv
eHovNS44LjEvaW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L29wdC9qcGVnLXR1cmJvL2lu
Y2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvY2Fpcm8vMS4xOC40L2luY2x1ZGUv
Y2Fpcm8gLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvY2Fpcm8vMS4xOC40L2luY2x1ZGUg
LWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvcGFuZ28vMS41Ni4zL2luY2x1ZGUvcGFuZ28t
MS4wIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2dsaWIvMi44NC4wXzEvaW5jbHVkZSAt
aXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9mcmliaWRpLzEuMC4xNi9pbmNsdWRlL2ZyaWJp
ZGkgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvZm9udGNvbmZpZy8yLjE2LjAvaW5jbHVk
ZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9saWJ4ZXh0LzEuMy42L2luY2x1ZGUgLWlz
eXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIveG9yZ3Byb3RvLzIwMjQuMS9pbmNsdWRlIC1pc3lz
dGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2xpYnhyZW5kZXIvMC45LjEyL2luY2x1ZGUgLWlzeXN0
ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvbGlieDExLzEuOC4xMi9pbmNsdWRlIC1pc3lzdGVtIC9v
cHQvaG9tZWJyZXcvQ2VsbGFyL2xpYnhjYi8xLjE3LjAvaW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hv
bWVicmV3L0NlbGxhci9saWJ4YXUvMS4wLjEyL2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJl
dy9DZWxsYXIvbGlieGRtY3AvMS4xLjUvaW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0Nl
bGxhci9waXhtYW4vMC40NC4yL2luY2x1ZGUvcGl4bWFuLTEgLWlzeXN0ZW0gL29wdC9ob21lYnJl
dy9DZWxsYXIvaGFyZmJ1enovMTEuMC4xL2luY2x1ZGUvaGFyZmJ1enogLWlzeXN0ZW0gL29wdC9o
b21lYnJldy9vcHQvZnJlZXR5cGUvaW5jbHVkZS9mcmVldHlwZTIgLWlzeXN0ZW0gL29wdC9ob21l
YnJldy9vcHQvbGlicG5nL2luY2x1ZGUvbGlicG5nMTYgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9D
ZWxsYXIvZ3JhcGhpdGUyLzEuMy4xNC9pbmNsdWRlIC1pc3lzdGVtIC9MaWJyYXJ5L0RldmVsb3Bl
ci9Db21tYW5kTGluZVRvb2xzL1NES3MvTWFjT1NYMTUuc2RrL3Vzci9pbmNsdWRlL2ZmaSAtaXN5
c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9nbGliLzIuODQuMF8xL2luY2x1ZGUvZ2xpYi0yLjAg
LWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvZ2xpYi8yLjg0LjBfMS9saWIvZ2xpYi0yLjAv
aW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L29wdC9nZXR0ZXh0L2luY2x1ZGUgLWlzeXN0
ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvcGNyZTIvMTAuNDUvaW5jbHVkZSAgICBjb25mdGVzdC5j
ID4mNQpjb25maWd1cmU6MjI4NTc6ICQ/ID0gMApjb25maWd1cmU6Mjc3ODY6IGNoZWNraW5nIGZv
ciBqcGVnbGliIDZiIG9yIGxhdGVyCmNvbmZpZ3VyZToyNzgyMDogY2xhbmcgLW8gY29uZnRlc3Qg
LVdnbnUtaW1hZ2luYXJ5LWNvbnN0YW50IC1XdW51c2VkLXJlc3VsdCAtZyAtRiAvQXBwbGljYXRp
b25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9y
bS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MgLVdu
by1pZ25vcmVkLWF0dHJpYnV0ZXMgLVduby1mbGFnLWVudW0gLVduby1taXNzaW5nLW1ldGhvZC1y
ZXR1cm4tdHlwZSAtV25vLXZhcmlhZGljLW1hY3JvcyAtV25vLXN0cmljdC1wcm90b3R5cGVzIC1X
bm8tYXZhaWxhYmlsaXR5IC1Xbm8tbnVsbGFiaWxpdHktY29tcGxldGVuZXNzIC1PIC1pc3lzdGVt
IC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2xpYnJzdmcvMi42MC4wL2luY2x1ZGUvbGlicnN2Zy0yLjAg
LWlzeXN0ZW0gL29wdC9ob21lYnJldy9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1pc3lzdGVtIC9v
cHQvaG9tZWJyZXcvQ2VsbGFyL2xpYnRpZmYvNC43LjAvaW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hv
bWVicmV3L29wdC96c3RkL2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIveHov
NS44LjEvaW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L29wdC9qcGVnLXR1cmJvL2luY2x1
ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvY2Fpcm8vMS4xOC40L2luY2x1ZGUvY2Fp
cm8gLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvY2Fpcm8vMS4xOC40L2luY2x1ZGUgLWlz
eXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvcGFuZ28vMS41Ni4zL2luY2x1ZGUvcGFuZ28tMS4w
IC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2dsaWIvMi44NC4wXzEvaW5jbHVkZSAtaXN5
c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9mcmliaWRpLzEuMC4xNi9pbmNsdWRlL2ZyaWJpZGkg
LWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvZm9udGNvbmZpZy8yLjE2LjAvaW5jbHVkZSAt
aXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9saWJ4ZXh0LzEuMy42L2luY2x1ZGUgLWlzeXN0
ZW0gL29wdC9ob21lYnJldy9DZWxsYXIveG9yZ3Byb3RvLzIwMjQuMS9pbmNsdWRlIC1pc3lzdGVt
IC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2xpYnhyZW5kZXIvMC45LjEyL2luY2x1ZGUgLWlzeXN0ZW0g
L29wdC9ob21lYnJldy9DZWxsYXIvbGlieDExLzEuOC4xMi9pbmNsdWRlIC1pc3lzdGVtIC9vcHQv
aG9tZWJyZXcvQ2VsbGFyL2xpYnhjYi8xLjE3LjAvaW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVi
cmV3L0NlbGxhci9saWJ4YXUvMS4wLjEyL2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9D
ZWxsYXIvbGlieGRtY3AvMS4xLjUvaW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxh
ci9waXhtYW4vMC40NC4yL2luY2x1ZGUvcGl4bWFuLTEgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9D
ZWxsYXIvaGFyZmJ1enovMTEuMC4xL2luY2x1ZGUvaGFyZmJ1enogLWlzeXN0ZW0gL29wdC9ob21l
YnJldy9vcHQvZnJlZXR5cGUvaW5jbHVkZS9mcmVldHlwZTIgLWlzeXN0ZW0gL29wdC9ob21lYnJl
dy9vcHQvbGlicG5nL2luY2x1ZGUvbGlicG5nMTYgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxs
YXIvZ3JhcGhpdGUyLzEuMy4xNC9pbmNsdWRlIC1pc3lzdGVtIC9MaWJyYXJ5L0RldmVsb3Blci9D
b21tYW5kTGluZVRvb2xzL1NES3MvTWFjT1NYMTUuc2RrL3Vzci9pbmNsdWRlL2ZmaSAtaXN5c3Rl
bSAvb3B0L2hvbWVicmV3L0NlbGxhci9nbGliLzIuODQuMF8xL2luY2x1ZGUvZ2xpYi0yLjAgLWlz
eXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvZ2xpYi8yLjg0LjBfMS9saWIvZ2xpYi0yLjAvaW5j
bHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L29wdC9nZXR0ZXh0L2luY2x1ZGUgLWlzeXN0ZW0g
L29wdC9ob21lYnJldy9DZWxsYXIvcGNyZTIvMTAuNDUvaW5jbHVkZSAgICAgY29uZnRlc3QuYyAt
bHNxbGl0ZTMgICA+JjUKVW5kZWZpbmVkIHN5bWJvbHMgZm9yIGFyY2hpdGVjdHVyZSBhcm02NDoK
ICAiX2pwZWdfQ3JlYXRlRGVjb21wcmVzcyIsIHJlZmVyZW5jZWQgZnJvbToKICAgICAgX21haW4g
aW4gY29uZnRlc3QtOWVkNjc4Lm8KICAiX2pwZWdfZGVzdHJveV9kZWNvbXByZXNzIiwgcmVmZXJl
bmNlZCBmcm9tOgogICAgICBfbWFpbiBpbiBjb25mdGVzdC05ZWQ2NzgubwpsZDogc3ltYm9sKHMp
IG5vdCBmb3VuZCBmb3IgYXJjaGl0ZWN0dXJlIGFybTY0CmNsYW5nOiBlcnJvcjogbGlua2VyIGNv
bW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikK
Y29uZmlndXJlOjI3ODIwOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg
LyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2Rl
ZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIz
MS4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAzMS4wLjUwIgp8ICNk
ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5l
IFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVm
aW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBIQVZFX01BSUxVVElMUyAxCnwgI2RlZmluZSBH
Q19SRU1FTUJFUl9MQVNUX01BUktFRCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhB
VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf
U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hB
Ul9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
VVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElMX0gg
MQp8ICNkZWZpbmUgSEFWRV9TQU5JVElaRVJfTFNBTl9JTlRFUkZBQ0VfSCAxCnwgI2RlZmluZSBI
QVZFX1NBTklUSVpFUl9BU0FOX0lOVEVSRkFDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU0FOSVRJWkVS
X0NPTU1PTl9JTlRFUkZBQ0VfREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8
ICNkZWZpbmUgSEFWRV9NQUxMT0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAx
CnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2Rl
ZmluZSBIQVZFX1VUTVBYX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBI
QVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NURENLRElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1JBTkRPTV9IIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBfQUxMX1NP
VVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNF
IDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9ORVRC
U0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhf
UFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJ
QlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwg
I2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1RE
Q19XQU5UX0lFQ182MDU1OV9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlf
RlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9f
IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dB
TlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZp
bmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0xJTlVYX1NPVVJDRV9DT01QQVQgMQp8ICNk
ZWZpbmUgX19VU0VfTUlOR1dfQU5TSV9TVERJTyAxCnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2Rl
ZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUg
SEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBI
QVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf
SUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwg
I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFW
RV9TVFJVQ1RfUEFTU1dEX1BXX0dFQ09TIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5w
d19nZWNvcwp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIE5TX1NF
TEZfQ09OVEFJTkVEIDEKfCAjZGVmaW5lIE5BVElWRV9PQkpDX0lOU1RBTkNFVFlQRSAxCnwgI2Rl
ZmluZSBBTElHTk9GX0lOVCA0CnwgI2RlZmluZSBBTElHTk9GX0xPTkcgOAp8ICNkZWZpbmUgQUxJ
R05PRl9MT05HX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkcgOAp8ICNkZWZpbmUgSEFWRV9T
VFJVQ1RfQVRUUklCVVRFX0FMSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9TVERBTElHTl9IIDEKfCAj
ZGVmaW5lIEhBVkVfU0JSSyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5l
IEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9E
IDEKfCAjZGVmaW5lIEhBVkVfVVRNUFhOQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBTFBBVEggMQp8
ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PREFUIDEKfCAjZGVmaW5l
IEhBVkVfTENITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GRE9Q
RU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9MSVNUWEFUVFIgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFU
IDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8
ICNkZWZpbmUgSEFWRV9NRU1TRVRfUyAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZp
bmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2Rl
ZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9JU1dDVFlQRSAxCnwgI2RlZmluZSBI
QVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9M
T0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgU1lT
VEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE
IDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNk
ZWZpbmUgSEFWRV9XRUJQIDEKfCAjZGVmaW5lIEhBVkVfU1FMSVRFMyAxCnwgI2RlZmluZSBIQVZF
X0RCVVMgMQp8ICNkZWZpbmUgSEFWRV9EQlVTX1dBVENIX0dFVF9VTklYX0ZEIDEKfCAjZGVmaW5l
IEhBVkVfREJVU19UWVBFX0lTX1ZBTElEIDEKfCAjZGVmaW5lIEhBVkVfREJVU19WQUxJREFURV9C
VVNfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RCVVNfVkFMSURBVEVfUEFUSCAxCnwgI2RlZmluZSBI
QVZFX0RCVVNfVkFMSURBVEVfSU5URVJGQUNFIDEKfCAjZGVmaW5lIEhBVkVfREJVU19WQUxJREFU
RV9NRU1CRVIgMQp8ICNkZWZpbmUgSEFWRV9EQlVTX01FU1NBR0VfU0VUX0FMTE9XX0lOVEVSQUNU
SVZFX0FVVEhPUklaQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFW
RV9UUkVFX1NJVFRFUiAxCnwgI2RlZmluZSBIQVZFX0tRVUVVRSAxCnwgI2RlZmluZSBVU0VfRklM
RV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUg
SEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8
ICN1bmRlZiBIQVZFX1NURExJQl9IIC8qIEF2b2lkIGNvbmZpZy5oL2pwZWdsaWIuaCBjb2xsaXNp
b24uICAqLwp8IAkJICAjaW5jbHVkZSA8c3RkaW8uaD4gLyoganBlZ2xpYi5oIG5lZWRzIEZJTEUg
YW5kIHNpemVfdC4gICovCnwgCQkgICNpbmNsdWRlIDxqcGVnbGliLmg+CnwgCQkgICNpbmNsdWRl
IDxqZXJyb3IuaD4KfCAJCSAgY2hhciB2ZXJpZnlbSlBFR19MSUJfVkVSU0lPTiA8IDYyID8gLTEg
OiAxXTsKfCAJCSAgc3RydWN0IGpwZWdfZGVjb21wcmVzc19zdHJ1Y3QgY2luZm87CnwgCnwgaW50
CnwgbWFpbiAodm9pZCkKfCB7CnwgCnwgCQkgIGpwZWdfY3JlYXRlX2RlY29tcHJlc3MgKCZjaW5m
byk7CnwgCQkgIFdBUk5NUyAoJmNpbmZvLCBKV1JOX0pQRUdfRU9GKTsKfCAJCSAganBlZ19kZXN0
cm95X2RlY29tcHJlc3MgKCZjaW5mbyk7CnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZp
Z3VyZToyNzgyMDogY2xhbmcgLW8gY29uZnRlc3QgLVdnbnUtaW1hZ2luYXJ5LWNvbnN0YW50IC1X
dW51c2VkLXJlc3VsdCAtZyAtRiAvQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZl
bG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2Rr
L1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MgLVduby1pZ25vcmVkLWF0dHJpYnV0ZXMgLVduby1m
bGFnLWVudW0gLVduby1taXNzaW5nLW1ldGhvZC1yZXR1cm4tdHlwZSAtV25vLXZhcmlhZGljLW1h
Y3JvcyAtV25vLXN0cmljdC1wcm90b3R5cGVzIC1Xbm8tYXZhaWxhYmlsaXR5IC1Xbm8tbnVsbGFi
aWxpdHktY29tcGxldGVuZXNzIC1PIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2xpYnJz
dmcvMi42MC4wL2luY2x1ZGUvbGlicnN2Zy0yLjAgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9pbmNs
dWRlL2dkay1waXhidWYtMi4wIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2xpYnRpZmYv
NC43LjAvaW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L29wdC96c3RkL2luY2x1ZGUgLWlz
eXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIveHovNS44LjEvaW5jbHVkZSAtaXN5c3RlbSAvb3B0
L2hvbWVicmV3L29wdC9qcGVnLXR1cmJvL2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9D
ZWxsYXIvY2Fpcm8vMS4xOC40L2luY2x1ZGUvY2Fpcm8gLWlzeXN0ZW0gL29wdC9ob21lYnJldy9D
ZWxsYXIvY2Fpcm8vMS4xOC40L2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIv
cGFuZ28vMS41Ni4zL2luY2x1ZGUvcGFuZ28tMS4wIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2Vs
bGFyL2dsaWIvMi44NC4wXzEvaW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9m
cmliaWRpLzEuMC4xNi9pbmNsdWRlL2ZyaWJpZGkgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxs
YXIvZm9udGNvbmZpZy8yLjE2LjAvaW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxh
ci9saWJ4ZXh0LzEuMy42L2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIveG9y
Z3Byb3RvLzIwMjQuMS9pbmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2xpYnhy
ZW5kZXIvMC45LjEyL2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvbGlieDEx
LzEuOC4xMi9pbmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2xpYnhjYi8xLjE3
LjAvaW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9saWJ4YXUvMS4wLjEyL2lu
Y2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvbGlieGRtY3AvMS4xLjUvaW5jbHVk
ZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9waXhtYW4vMC40NC4yL2luY2x1ZGUvcGl4
bWFuLTEgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvaGFyZmJ1enovMTEuMC4xL2luY2x1
ZGUvaGFyZmJ1enogLWlzeXN0ZW0gL29wdC9ob21lYnJldy9vcHQvZnJlZXR5cGUvaW5jbHVkZS9m
cmVldHlwZTIgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9vcHQvbGlicG5nL2luY2x1ZGUvbGlicG5n
MTYgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvZ3JhcGhpdGUyLzEuMy4xNC9pbmNsdWRl
IC1pc3lzdGVtIC9MaWJyYXJ5L0RldmVsb3Blci9Db21tYW5kTGluZVRvb2xzL1NES3MvTWFjT1NY
MTUuc2RrL3Vzci9pbmNsdWRlL2ZmaSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9nbGli
LzIuODQuMF8xL2luY2x1ZGUvZ2xpYi0yLjAgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIv
Z2xpYi8yLjg0LjBfMS9saWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3
L29wdC9nZXR0ZXh0L2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvcGNyZTIv
MTAuNDUvaW5jbHVkZSAgICAgY29uZnRlc3QuYyAtbHNxbGl0ZTMgICAtbGpwZWcgPiY1CmxkOiBs
aWJyYXJ5ICdqcGVnJyBub3QgZm91bmQKY2xhbmc6IGVycm9yOiBsaW5rZXIgY29tbWFuZCBmYWls
ZWQgd2l0aCBleGl0IGNvZGUgMSAodXNlIC12IHRvIHNlZSBpbnZvY2F0aW9uKQpjb25maWd1cmU6
Mjc4MjA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm
cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tB
R0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjMxLjAuNTAiCnwg
I2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDMxLjAuNTAiCnwgI2RlZmluZSBQQUNL
QUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9V
UkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgSEFWRV9Q
RFVNUEVSIDEKfCAjZGVmaW5lIEhBVkVfTUFJTFVUSUxTIDEKfCAjZGVmaW5lIEdDX1JFTUVNQkVS
X0xBU1RfTUFSS0VEIDEKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NU
RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF
U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg
MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg
MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VVFNOQU1FX0gg
MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1VUSUxfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NBTklUSVpFUl9MU0FOX0lOVEVSRkFDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU0FOSVRJ
WkVSX0FTQU5fSU5URVJGQUNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TQU5JVElaRVJfQ09NTU9OX0lO
VEVSRkFDRV9ERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCnwgI2RlZmluZSBI
QVZFX01BTExPQ19NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VTl9IIDEKfCAjZGVmaW5l
IEhBVkVfU1REQk9PTF9IIDEKfCAjZGVmaW5lIEhBVkVfVVRNUF9IIDEKfCAjZGVmaW5lIEhBVkVf
VVRNUFhfSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfRVhFQ0lO
Rk9fSCAxCnwgI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVf
SCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NFTEVDVF9I
IDEKfCAjZGVmaW5lIEhBVkVfU1REQ0tESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkFORE9N
X0ggMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAj
ZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZp
bmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0Ug
MQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NF
TUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAx
CnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9f
U1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVD
XzYwNTU5X0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRf
XyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZp
bmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQ
RUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfX0VYVEVO
U0lPTlNfXyAxCnwgI2RlZmluZSBfTElOVVhfU09VUkNFX0NPTVBBVCAxCnwgI2RlZmluZSBfX1VT
RV9NSU5HV19BTlNJX1NURElPIDEKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RF
TV9UWVBFICJkYXJ3aW4iCnwgI2RlZmluZSBIQVZFX1RFUk1fSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCnwgI2RlZmluZSBIQVZFX0lGQURE
UlNfSCAxCnwgI2RlZmluZSBIQVZFX05FVF9JRl9ETF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNU
X0lGUkVRX0lGUl9GTEFHUyAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURB
RERSIDEKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSIDEKfCAjZGVmaW5lIEhB
VkVfU1RSVUNUX0lGUkVRX0lGUl9BRERSX1NBX0xFTiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9Q
QVNTV0RfUFdfR0VDT1MgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwg
I2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgTlNfU0VMRl9DT05UQUlO
RUQgMQp8ICNkZWZpbmUgTkFUSVZFX09CSkNfSU5TVEFOQ0VUWVBFIDEKfCAjZGVmaW5lIEFMSUdO
T0ZfSU5UIDQKfCAjZGVmaW5lIEFMSUdOT0ZfTE9ORyA4CnwgI2RlZmluZSBBTElHTk9GX0xPTkdf
TE9ORyA4CnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA4CnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BVFRS
SUJVVEVfQUxJR05FRCAxCnwgI2RlZmluZSBIQVZFX1NUREFMSUdOX0ggMQp8ICNkZWZpbmUgSEFW
RV9TQlJLIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9GT1JL
IDEKfCAjZGVmaW5lIEhBVkVfVkZPUksgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0QgMQp8ICNkZWZp
bmUgSEFWRV9VVE1QWE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SRUFMUEFUSCAxCnwgI2RlZmluZSBI
QVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9MQ0hN
T0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZET1BFTkRJUiAxCnwg
I2RlZmluZSBIQVZFX0xJU1RYQVRUUiAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZp
bmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBI
QVZFX01FTVNFVF9TIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX1BU
SFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVf
SVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9J
TUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0xPQ0FMVElNRV9S
IDEKfCAjZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9D
IDEKfCAjZGVmaW5lIEhBVkVfTU1BUCAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQUQgMQp8ICNkZWZp
bmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZF
X1dFQlAgMQp8ICNkZWZpbmUgSEFWRV9TUUxJVEUzIDEKfCAjZGVmaW5lIEhBVkVfREJVUyAxCnwg
I2RlZmluZSBIQVZFX0RCVVNfV0FUQ0hfR0VUX1VOSVhfRkQgMQp8ICNkZWZpbmUgSEFWRV9EQlVT
X1RZUEVfSVNfVkFMSUQgMQp8ICNkZWZpbmUgSEFWRV9EQlVTX1ZBTElEQVRFX0JVU19OQU1FIDEK
fCAjZGVmaW5lIEhBVkVfREJVU19WQUxJREFURV9QQVRIIDEKfCAjZGVmaW5lIEhBVkVfREJVU19W
QUxJREFURV9JTlRFUkZBQ0UgMQp8ICNkZWZpbmUgSEFWRV9EQlVTX1ZBTElEQVRFX01FTUJFUiAx
CnwgI2RlZmluZSBIQVZFX0RCVVNfTUVTU0FHRV9TRVRfQUxMT1dfSU5URVJBQ1RJVkVfQVVUSE9S
SVpBVElPTiAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX1RSRUVfU0lU
VEVSIDEKfCAjZGVmaW5lIEhBVkVfS1FVRVVFIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAx
CnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBIQVZFX1hJTSAx
CnwgI2RlZmluZSBVU0VfWElNIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI3VuZGVmIEhB
VkVfU1RETElCX0ggLyogQXZvaWQgY29uZmlnLmgvanBlZ2xpYi5oIGNvbGxpc2lvbi4gICovCnwg
CQkgICNpbmNsdWRlIDxzdGRpby5oPiAvKiBqcGVnbGliLmggbmVlZHMgRklMRSBhbmQgc2l6ZV90
LiAgKi8KfCAJCSAgI2luY2x1ZGUgPGpwZWdsaWIuaD4KfCAJCSAgI2luY2x1ZGUgPGplcnJvci5o
Pgp8IAkJICBjaGFyIHZlcmlmeVtKUEVHX0xJQl9WRVJTSU9OIDwgNjIgPyAtMSA6IDFdOwp8IAkJ
ICBzdHJ1Y3QganBlZ19kZWNvbXByZXNzX3N0cnVjdCBjaW5mbzsKfCAKfCBpbnQKfCBtYWluICh2
b2lkKQp8IHsKfCAKfCAJCSAganBlZ19jcmVhdGVfZGVjb21wcmVzcyAoJmNpbmZvKTsKfCAJCSAg
V0FSTk1TICgmY2luZm8sIEpXUk5fSlBFR19FT0YpOwp8IAkJICBqcGVnX2Rlc3Ryb3lfZGVjb21w
cmVzcyAoJmNpbmZvKTsKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI3ODM0
OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNzk1NDogY2hlY2tpbmcgZm9yIGxjbXMyCmNvbmZpZ3Vy
ZToyNzk2MTogJFBLR19DT05GSUcgLS1leGlzdHMgLS1wcmludC1lcnJvcnMgImxjbXMyIgpjb25m
aWd1cmU6Mjc5NjQ6ICQ/ID0gMApjb25maWd1cmU6Mjc5Nzg6ICRQS0dfQ09ORklHIC0tZXhpc3Rz
IC0tcHJpbnQtZXJyb3JzICJsY21zMiIKY29uZmlndXJlOjI3OTgxOiAkPyA9IDAKY29uZmlndXJl
OjI4MDE5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjgwNDM6IGNoZWNraW5nIGZvciBsaWJyYXJ5
IGNvbnRhaW5pbmcgaW5mbGF0ZUVuZApjb25maWd1cmU6MjgwNzU6IHJlc3VsdDogLWx6CmNvbmZp
Z3VyZToyODE2NDogY2hlY2tpbmcgZm9yIGRsYWRkcgpjb25maWd1cmU6MjgxNjQ6IHJlc3VsdDog
eWVzCmNvbmZpZ3VyZToyODE3MDogY2hlY2tpbmcgZm9yIGRsZnVuYwpjb25maWd1cmU6MjgxNzA6
IHJlc3VsdDogbm8KY29uZmlndXJlOjI4Nzg1OiBjaGVja2luZyBmb3IgbGlicG5nID49IDEuMC4w
CmNvbmZpZ3VyZToyODc5MjogJFBLR19DT05GSUcgLS1leGlzdHMgLS1wcmludC1lcnJvcnMgImxp
YnBuZyA+PSAxLjAuMCIKY29uZmlndXJlOjI4Nzk1OiAkPyA9IDAKY29uZmlndXJlOjI4ODA5OiAk
UEtHX0NPTkZJRyAtLWV4aXN0cyAtLXByaW50LWVycm9ycyAibGlicG5nID49IDEuMC4wIgpjb25m
aWd1cmU6Mjg4MTI6ICQ/ID0gMApjb25maWd1cmU6Mjg4NTA6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZToyODkyMjogY2hlY2tpbmcgd2hldGhlciBwbmdfbG9uZ2ptcCBpcyBkZWNsYXJlZApjb25maWd1
cmU6Mjg5MjI6IGNsYW5nIC1jIC1XZ251LWltYWdpbmFyeS1jb25zdGFudCAtV3VudXNlZC1yZXN1
bHQgLWcgLUYgL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRm
b3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGli
cmFyeS9GcmFtZXdvcmtzIC1Xbm8taWdub3JlZC1hdHRyaWJ1dGVzIC1Xbm8tZmxhZy1lbnVtIC1X
bm8tbWlzc2luZy1tZXRob2QtcmV0dXJuLXR5cGUgLVduby12YXJpYWRpYy1tYWNyb3MgLVduby1z
dHJpY3QtcHJvdG90eXBlcyAtV25vLWF2YWlsYWJpbGl0eSAtV25vLW51bGxhYmlsaXR5LWNvbXBs
ZXRlbmVzcyAtTyAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9saWJyc3ZnLzIuNjAuMC9p
bmNsdWRlL2xpYnJzdmctMi4wIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvaW5jbHVkZS9nZGstcGl4
YnVmLTIuMCAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9saWJ0aWZmLzQuNy4wL2luY2x1
ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9vcHQvenN0ZC9pbmNsdWRlIC1pc3lzdGVtIC9vcHQv
aG9tZWJyZXcvQ2VsbGFyL3h6LzUuOC4xL2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9v
cHQvanBlZy10dXJiby9pbmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2NhaXJv
LzEuMTguNC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2NhaXJv
LzEuMTguNC9pbmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL3BhbmdvLzEuNTYu
My9pbmNsdWRlL3BhbmdvLTEuMCAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9nbGliLzIu
ODQuMF8xL2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvZnJpYmlkaS8xLjAu
MTYvaW5jbHVkZS9mcmliaWRpIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2ZvbnRjb25m
aWcvMi4xNi4wL2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvbGlieGV4dC8x
LjMuNi9pbmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL3hvcmdwcm90by8yMDI0
LjEvaW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9saWJ4cmVuZGVyLzAuOS4x
Mi9pbmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2xpYngxMS8xLjguMTIvaW5j
bHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9saWJ4Y2IvMS4xNy4wL2luY2x1ZGUg
LWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvbGlieGF1LzEuMC4xMi9pbmNsdWRlIC1pc3lz
dGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2xpYnhkbWNwLzEuMS41L2luY2x1ZGUgLWlzeXN0ZW0g
L29wdC9ob21lYnJldy9DZWxsYXIvcGl4bWFuLzAuNDQuMi9pbmNsdWRlL3BpeG1hbi0xIC1pc3lz
dGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2hhcmZidXp6LzExLjAuMS9pbmNsdWRlL2hhcmZidXp6
IC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvb3B0L2ZyZWV0eXBlL2luY2x1ZGUvZnJlZXR5cGUyIC1p
c3lzdGVtIC9vcHQvaG9tZWJyZXcvb3B0L2xpYnBuZy9pbmNsdWRlL2xpYnBuZzE2IC1pc3lzdGVt
IC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2dyYXBoaXRlMi8xLjMuMTQvaW5jbHVkZSAtaXN5c3RlbSAv
TGlicmFyeS9EZXZlbG9wZXIvQ29tbWFuZExpbmVUb29scy9TREtzL01hY09TWDE1LnNkay91c3Iv
aW5jbHVkZS9mZmkgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvZ2xpYi8yLjg0LjBfMS9p
bmNsdWRlL2dsaWItMi4wIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2dsaWIvMi44NC4w
XzEvbGliL2dsaWItMi4wL2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9vcHQvZ2V0dGV4
dC9pbmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL3BjcmUyLzEwLjQ1L2luY2x1
ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9vcHQvbGlicG5nL2luY2x1ZGUvbGlicG5nMTYgICAg
IGNvbmZ0ZXN0LmMgPiY1IC1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb24KY29u
ZmlndXJlOjI4OTIyOiAkPyA9IDAKY29uZmlndXJlOjI4OTIyOiByZXN1bHQ6IHllcwpjb25maWd1
cmU6Mjg5Njc6IGNoZWNraW5nIGZvciB0aWZmaW8uaApjb25maWd1cmU6Mjg5Njc6IGNsYW5nIC1j
IC1XZ251LWltYWdpbmFyeS1jb25zdGFudCAtV3VudXNlZC1yZXN1bHQgLWcgLUYgL0FwcGxpY2F0
aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZv
cm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzIC1X
bm8taWdub3JlZC1hdHRyaWJ1dGVzIC1Xbm8tZmxhZy1lbnVtIC1Xbm8tbWlzc2luZy1tZXRob2Qt
cmV0dXJuLXR5cGUgLVduby12YXJpYWRpYy1tYWNyb3MgLVduby1zdHJpY3QtcHJvdG90eXBlcyAt
V25vLWF2YWlsYWJpbGl0eSAtV25vLW51bGxhYmlsaXR5LWNvbXBsZXRlbmVzcyAtTyAtaXN5c3Rl
bSAvb3B0L2hvbWVicmV3L0NlbGxhci9saWJyc3ZnLzIuNjAuMC9pbmNsdWRlL2xpYnJzdmctMi4w
IC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtaXN5c3RlbSAv
b3B0L2hvbWVicmV3L0NlbGxhci9saWJ0aWZmLzQuNy4wL2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9o
b21lYnJldy9vcHQvenN0ZC9pbmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL3h6
LzUuOC4xL2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9vcHQvanBlZy10dXJiby9pbmNs
dWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2NhaXJvLzEuMTguNC9pbmNsdWRlL2Nh
aXJvIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2NhaXJvLzEuMTguNC9pbmNsdWRlIC1p
c3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL3BhbmdvLzEuNTYuMy9pbmNsdWRlL3BhbmdvLTEu
MCAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9nbGliLzIuODQuMF8xL2luY2x1ZGUgLWlz
eXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvZnJpYmlkaS8xLjAuMTYvaW5jbHVkZS9mcmliaWRp
IC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2ZvbnRjb25maWcvMi4xNi4wL2luY2x1ZGUg
LWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvbGlieGV4dC8xLjMuNi9pbmNsdWRlIC1pc3lz
dGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL3hvcmdwcm90by8yMDI0LjEvaW5jbHVkZSAtaXN5c3Rl
bSAvb3B0L2hvbWVicmV3L0NlbGxhci9saWJ4cmVuZGVyLzAuOS4xMi9pbmNsdWRlIC1pc3lzdGVt
IC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2xpYngxMS8xLjguMTIvaW5jbHVkZSAtaXN5c3RlbSAvb3B0
L2hvbWVicmV3L0NlbGxhci9saWJ4Y2IvMS4xNy4wL2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21l
YnJldy9DZWxsYXIvbGlieGF1LzEuMC4xMi9pbmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcv
Q2VsbGFyL2xpYnhkbWNwLzEuMS41L2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxs
YXIvcGl4bWFuLzAuNDQuMi9pbmNsdWRlL3BpeG1hbi0xIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcv
Q2VsbGFyL2hhcmZidXp6LzExLjAuMS9pbmNsdWRlL2hhcmZidXp6IC1pc3lzdGVtIC9vcHQvaG9t
ZWJyZXcvb3B0L2ZyZWV0eXBlL2luY2x1ZGUvZnJlZXR5cGUyIC1pc3lzdGVtIC9vcHQvaG9tZWJy
ZXcvb3B0L2xpYnBuZy9pbmNsdWRlL2xpYnBuZzE2IC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2Vs
bGFyL2dyYXBoaXRlMi8xLjMuMTQvaW5jbHVkZSAtaXN5c3RlbSAvTGlicmFyeS9EZXZlbG9wZXIv
Q29tbWFuZExpbmVUb29scy9TREtzL01hY09TWDE1LnNkay91c3IvaW5jbHVkZS9mZmkgLWlzeXN0
ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvZ2xpYi8yLjg0LjBfMS9pbmNsdWRlL2dsaWItMi4wIC1p
c3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2dsaWIvMi44NC4wXzEvbGliL2dsaWItMi4wL2lu
Y2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9vcHQvZ2V0dGV4dC9pbmNsdWRlIC1pc3lzdGVt
IC9vcHQvaG9tZWJyZXcvQ2VsbGFyL3BjcmUyLzEwLjQ1L2luY2x1ZGUgICAgY29uZnRlc3QuYyA+
JjUKY29uZmlndXJlOjI4OTY3OiAkPyA9IDAKY29uZmlndXJlOjI4OTY3OiByZXN1bHQ6IHllcwpj
b25maWd1cmU6Mjg5NzM6IGNoZWNraW5nIGZvciBUSUZGR2V0VmVyc2lvbiBpbiAtbHRpZmYKY29u
ZmlndXJlOjI5MDAyOiBjbGFuZyAtbyBjb25mdGVzdCAtV2dudS1pbWFnaW5hcnktY29uc3RhbnQg
LVd1bnVzZWQtcmVzdWx0IC1nIC1GIC9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0Rl
dmVsb3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5z
ZGsvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3JrcyAtV25vLWlnbm9yZWQtYXR0cmlidXRlcyAtV25v
LWZsYWctZW51bSAtV25vLW1pc3NpbmctbWV0aG9kLXJldHVybi10eXBlIC1Xbm8tdmFyaWFkaWMt
bWFjcm9zIC1Xbm8tc3RyaWN0LXByb3RvdHlwZXMgLVduby1hdmFpbGFiaWxpdHkgLVduby1udWxs
YWJpbGl0eS1jb21wbGV0ZW5lc3MgLU8gLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvbGli
cnN2Zy8yLjYwLjAvaW5jbHVkZS9saWJyc3ZnLTIuMCAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L2lu
Y2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvbGlidGlm
Zi80LjcuMC9pbmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvb3B0L3pzdGQvaW5jbHVkZSAt
aXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci94ei81LjguMS9pbmNsdWRlIC1pc3lzdGVtIC9v
cHQvaG9tZWJyZXcvb3B0L2pwZWctdHVyYm8vaW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3
L0NlbGxhci9jYWlyby8xLjE4LjQvaW5jbHVkZS9jYWlybyAtaXN5c3RlbSAvb3B0L2hvbWVicmV3
L0NlbGxhci9jYWlyby8xLjE4LjQvaW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxh
ci9wYW5nby8xLjU2LjMvaW5jbHVkZS9wYW5nby0xLjAgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9D
ZWxsYXIvZ2xpYi8yLjg0LjBfMS9pbmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFy
L2ZyaWJpZGkvMS4wLjE2L2luY2x1ZGUvZnJpYmlkaSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0Nl
bGxhci9mb250Y29uZmlnLzIuMTYuMC9pbmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2Vs
bGFyL2xpYnhleHQvMS4zLjYvaW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci94
b3JncHJvdG8vMjAyNC4xL2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvbGli
eHJlbmRlci8wLjkuMTIvaW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9saWJ4
MTEvMS44LjEyL2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvbGlieGNiLzEu
MTcuMC9pbmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2xpYnhhdS8xLjAuMTIv
aW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9saWJ4ZG1jcC8xLjEuNS9pbmNs
dWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL3BpeG1hbi8wLjQ0LjIvaW5jbHVkZS9w
aXhtYW4tMSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9oYXJmYnV6ei8xMS4wLjEvaW5j
bHVkZS9oYXJmYnV6eiAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L29wdC9mcmVldHlwZS9pbmNsdWRl
L2ZyZWV0eXBlMiAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L29wdC9saWJwbmcvaW5jbHVkZS9saWJw
bmcxNiAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9ncmFwaGl0ZTIvMS4zLjE0L2luY2x1
ZGUgLWlzeXN0ZW0gL0xpYnJhcnkvRGV2ZWxvcGVyL0NvbW1hbmRMaW5lVG9vbHMvU0RLcy9NYWNP
U1gxNS5zZGsvdXNyL2luY2x1ZGUvZmZpIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2ds
aWIvMi44NC4wXzEvaW5jbHVkZS9nbGliLTIuMCAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxh
ci9nbGliLzIuODQuMF8xL2xpYi9nbGliLTIuMC9pbmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJy
ZXcvb3B0L2dldHRleHQvaW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9wY3Jl
Mi8xMC40NS9pbmNsdWRlICAgICBjb25mdGVzdC5jIC1sdGlmZiAtbHogLWxtIC1sc3FsaXRlMyAg
ID4mNQpsZDogbGlicmFyeSAndGlmZicgbm90IGZvdW5kCmNsYW5nOiBlcnJvcjogbGlua2VyIGNv
bW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEgKHVzZSAtdiB0byBzZWUgaW52b2NhdGlvbikK
Y29uZmlndXJlOjI5MDAyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg
LyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2Rl
ZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIz
MS4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAzMS4wLjUwIgp8ICNk
ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5l
IFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVm
aW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBIQVZFX01BSUxVVElMUyAxCnwgI2RlZmluZSBH
Q19SRU1FTUJFUl9MQVNUX01BUktFRCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhB
VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf
U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hB
Ul9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
VVRTTkFNRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElMX0gg
MQp8ICNkZWZpbmUgSEFWRV9TQU5JVElaRVJfTFNBTl9JTlRFUkZBQ0VfSCAxCnwgI2RlZmluZSBI
QVZFX1NBTklUSVpFUl9BU0FOX0lOVEVSRkFDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU0FOSVRJWkVS
X0NPTU1PTl9JTlRFUkZBQ0VfREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8
ICNkZWZpbmUgSEFWRV9NQUxMT0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAx
CnwgI2RlZmluZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2Rl
ZmluZSBIQVZFX1VUTVBYX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBI
QVZFX0VYRUNJTkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19TRUxFQ1RfSCAxCnwgI2RlZmluZSBIQVZFX1NURENLRElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1JBTkRPTV9IIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBfQUxMX1NP
VVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNF
IDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9ORVRC
U0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhf
UFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJ
QlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwg
I2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1RE
Q19XQU5UX0lFQ182MDU1OV9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlf
RlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9f
IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dB
TlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZp
bmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0xJTlVYX1NPVVJDRV9DT01QQVQgMQp8ICNk
ZWZpbmUgX19VU0VfTUlOR1dfQU5TSV9TVERJTyAxCnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2Rl
ZmluZSBTWVNURU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUg
SEFWRV9JRkFERFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBI
QVZFX1NUUlVDVF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFf
SUZSX0JST0FEQUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwg
I2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFW
RV9TVFJVQ1RfUEFTU1dEX1BXX0dFQ09TIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5w
d19nZWNvcwp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIE5TX1NF
TEZfQ09OVEFJTkVEIDEKfCAjZGVmaW5lIE5BVElWRV9PQkpDX0lOU1RBTkNFVFlQRSAxCnwgI2Rl
ZmluZSBBTElHTk9GX0lOVCA0CnwgI2RlZmluZSBBTElHTk9GX0xPTkcgOAp8ICNkZWZpbmUgQUxJ
R05PRl9MT05HX0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkcgOAp8ICNkZWZpbmUgSEFWRV9T
VFJVQ1RfQVRUUklCVVRFX0FMSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9TVERBTElHTl9IIDEKfCAj
ZGVmaW5lIEhBVkVfU0JSSyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5l
IEhBVkVfRk9SSyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9E
IDEKfCAjZGVmaW5lIEhBVkVfVVRNUFhOQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBTFBBVEggMQp8
ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PREFUIDEKfCAjZGVmaW5l
IEhBVkVfTENITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GRE9Q
RU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9MSVNUWEFUVFIgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFU
IDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8
ICNkZWZpbmUgSEFWRV9NRU1TRVRfUyAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZp
bmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2Rl
ZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9JU1dDVFlQRSAxCnwgI2RlZmluZSBI
QVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9M
T0NBTFRJTUVfUiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgU1lT
VEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE
IDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNk
ZWZpbmUgSEFWRV9XRUJQIDEKfCAjZGVmaW5lIEhBVkVfU1FMSVRFMyAxCnwgI2RlZmluZSBIQVZF
X0RCVVMgMQp8ICNkZWZpbmUgSEFWRV9EQlVTX1dBVENIX0dFVF9VTklYX0ZEIDEKfCAjZGVmaW5l
IEhBVkVfREJVU19UWVBFX0lTX1ZBTElEIDEKfCAjZGVmaW5lIEhBVkVfREJVU19WQUxJREFURV9C
VVNfTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RCVVNfVkFMSURBVEVfUEFUSCAxCnwgI2RlZmluZSBI
QVZFX0RCVVNfVkFMSURBVEVfSU5URVJGQUNFIDEKfCAjZGVmaW5lIEhBVkVfREJVU19WQUxJREFU
RV9NRU1CRVIgMQp8ICNkZWZpbmUgSEFWRV9EQlVTX01FU1NBR0VfU0VUX0FMTE9XX0lOVEVSQUNU
SVZFX0FVVEhPUklaQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFW
RV9UUkVFX1NJVFRFUiAxCnwgI2RlZmluZSBIQVZFX0tRVUVVRSAxCnwgI2RlZmluZSBVU0VfRklM
RV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUg
SEFWRV9YSU0gMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAj
ZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBEWU5BTUlDX0xJQl9TVUZGSVggIi5keWxpYiIK
fCAjZGVmaW5lIERZTkFNSUNfTElCX1NFQ09OREFSWV9TVUZGSVggIi5zbyIKfCAjZGVmaW5lIEhB
VkVfRExBRERSIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NV
RkZJWCAiLmR5bGliIgp8ICNkZWZpbmUgTU9EVUxFU19TRUNPTkRBUllfU1VGRklYICIuc28iCnwg
I2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8
IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFs
IHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBt
aWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVu
IGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuCnwgICAgVGhlICdleHRl
cm4gIkMiJyBpcyBmb3IgYnVpbGRzIGJ5IEMrKyBjb21waWxlcnM7CnwgICAgYWx0aG91Z2ggdGhp
cyBpcyBub3QgZ2VuZXJhbGx5IHN1cHBvcnRlZCBpbiBDIGNvZGUgc3VwcG9ydGluZyBpdCBoZXJl
CnwgICAgaGFzIGxpdHRsZSBjb3N0IGFuZCBzb21lIHByYWN0aWNhbCBiZW5lZml0IChzciAxMTA1
MzIpLiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hh
ciBUSUZGR2V0VmVyc2lvbiAodm9pZCk7CnwgaW50CnwgbWFpbiAodm9pZCkKfCB7CnwgcmV0dXJu
IFRJRkZHZXRWZXJzaW9uICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6Mjkw
MTQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjI5MTQ3OiBjaGVja2luZyBmb3IgZ2lmX2xpYi5oCmNv
bmZpZ3VyZToyOTE0NzogY2xhbmcgLWMgLVdnbnUtaW1hZ2luYXJ5LWNvbnN0YW50IC1XdW51c2Vk
LXJlc3VsdCAtZyAtRiAvQXBwbGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIv
UGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3Rl
bS9MaWJyYXJ5L0ZyYW1ld29ya3MgLVduby1pZ25vcmVkLWF0dHJpYnV0ZXMgLVduby1mbGFnLWVu
dW0gLVduby1taXNzaW5nLW1ldGhvZC1yZXR1cm4tdHlwZSAtV25vLXZhcmlhZGljLW1hY3JvcyAt
V25vLXN0cmljdC1wcm90b3R5cGVzIC1Xbm8tYXZhaWxhYmlsaXR5IC1Xbm8tbnVsbGFiaWxpdHkt
Y29tcGxldGVuZXNzIC1PIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2xpYnJzdmcvMi42
MC4wL2luY2x1ZGUvbGlicnN2Zy0yLjAgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9pbmNsdWRlL2dk
ay1waXhidWYtMi4wIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2xpYnRpZmYvNC43LjAv
aW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L29wdC96c3RkL2luY2x1ZGUgLWlzeXN0ZW0g
L29wdC9ob21lYnJldy9DZWxsYXIveHovNS44LjEvaW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVi
cmV3L29wdC9qcGVnLXR1cmJvL2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIv
Y2Fpcm8vMS4xOC40L2luY2x1ZGUvY2Fpcm8gLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIv
Y2Fpcm8vMS4xOC40L2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvcGFuZ28v
MS41Ni4zL2luY2x1ZGUvcGFuZ28tMS4wIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2ds
aWIvMi44NC4wXzEvaW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9mcmliaWRp
LzEuMC4xNi9pbmNsdWRlL2ZyaWJpZGkgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvZm9u
dGNvbmZpZy8yLjE2LjAvaW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9saWJ4
ZXh0LzEuMy42L2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIveG9yZ3Byb3Rv
LzIwMjQuMS9pbmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2xpYnhyZW5kZXIv
MC45LjEyL2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvbGlieDExLzEuOC4x
Mi9pbmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2xpYnhjYi8xLjE3LjAvaW5j
bHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9saWJ4YXUvMS4wLjEyL2luY2x1ZGUg
LWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvbGlieGRtY3AvMS4xLjUvaW5jbHVkZSAtaXN5
c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9waXhtYW4vMC40NC4yL2luY2x1ZGUvcGl4bWFuLTEg
LWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvaGFyZmJ1enovMTEuMC4xL2luY2x1ZGUvaGFy
ZmJ1enogLWlzeXN0ZW0gL29wdC9ob21lYnJldy9vcHQvZnJlZXR5cGUvaW5jbHVkZS9mcmVldHlw
ZTIgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9vcHQvbGlicG5nL2luY2x1ZGUvbGlicG5nMTYgLWlz
eXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvZ3JhcGhpdGUyLzEuMy4xNC9pbmNsdWRlIC1pc3lz
dGVtIC9MaWJyYXJ5L0RldmVsb3Blci9Db21tYW5kTGluZVRvb2xzL1NES3MvTWFjT1NYMTUuc2Rr
L3Vzci9pbmNsdWRlL2ZmaSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9nbGliLzIuODQu
MF8xL2luY2x1ZGUvZ2xpYi0yLjAgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvZ2xpYi8y
Ljg0LjBfMS9saWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L29wdC9n
ZXR0ZXh0L2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvcGNyZTIvMTAuNDUv
aW5jbHVkZSAgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjE3MzoxMDogZmF0YWwgZXJyb3I6
ICdnaWZfbGliLmgnIGZpbGUgbm90IGZvdW5kCiAgMTczIHwgI2luY2x1ZGUgPGdpZl9saWIuaD4K
ICAgICAgfCAgICAgICAgICBefn5+fn5+fn5+fgoxIGVycm9yIGdlbmVyYXRlZC4KY29uZmlndXJl
OjI5MTQ3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl
ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNL
QUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIzMS4wLjUwIgp8
ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAzMS4wLjUwIgp8ICNkZWZpbmUgUEFD
S0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0Vf
VVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIEhBVkVf
UERVTVBFUiAxCnwgI2RlZmluZSBIQVZFX01BSUxVVElMUyAxCnwgI2RlZmluZSBHQ19SRU1FTUJF
Ul9MQVNUX01BUktFRCAxCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ
RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I
IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVVRTTkFNRV9I
IDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9VVElMX0ggMQp8ICNkZWZp
bmUgSEFWRV9TQU5JVElaRVJfTFNBTl9JTlRFUkZBQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1NBTklU
SVpFUl9BU0FOX0lOVEVSRkFDRV9IIDEKfCAjZGVmaW5lIEhBVkVfU0FOSVRJWkVSX0NPTU1PTl9J
TlRFUkZBQ0VfREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5l
IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX0ggMQp8ICNkZWZpbmUg
SEFWRV9NQUxMT0NfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCnwgI2RlZmlu
ZSBIQVZFX1NUREJPT0xfSCAxCnwgI2RlZmluZSBIQVZFX1VUTVBfSCAxCnwgI2RlZmluZSBIQVZF
X1VUTVBYX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX0VYRUNJ
TkZPX0ggMQp8ICNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F
X0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TRUxFQ1Rf
SCAxCnwgI2RlZmluZSBIQVZFX1NURENLRElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JBTkRP
TV9IIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwg
I2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVm
aW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNF
IDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9T
RU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18g
MQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBf
X1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lF
Q182MDU1OV9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhU
X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVm
aW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9T
UEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX19FWFRF
TlNJT05TX18gMQp8ICNkZWZpbmUgX0xJTlVYX1NPVVJDRV9DT01QQVQgMQp8ICNkZWZpbmUgX19V
U0VfTUlOR1dfQU5TSV9TVERJTyAxCnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNU
RU1fVFlQRSAiZGFyd2luIgp8ICNkZWZpbmUgSEFWRV9URVJNX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUX0lGX0ggMQp8ICNkZWZpbmUgSEFWRV9JRkFE
RFJTX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRfSUZfRExfSCAxCnwgI2RlZmluZSBIQVZFX1NUUlVD
VF9JRlJFUV9JRlJfRkxBR1MgMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0JST0FE
QUREUiAxCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUiAxCnwgI2RlZmluZSBI
QVZFX1NUUlVDVF9JRlJFUV9JRlJfQUREUl9TQV9MRU4gMQp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf
UEFTU1dEX1BXX0dFQ09TIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8
ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIE5TX1NFTEZfQ09OVEFJ
TkVEIDEKfCAjZGVmaW5lIE5BVElWRV9PQkpDX0lOU1RBTkNFVFlQRSAxCnwgI2RlZmluZSBBTElH
Tk9GX0lOVCA0CnwgI2RlZmluZSBBTElHTk9GX0xPTkcgOAp8ICNkZWZpbmUgQUxJR05PRl9MT05H
X0xPTkcgOAp8ICNkZWZpbmUgU0laRU9GX0xPTkcgOAp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQVRU
UklCVVRFX0FMSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9TVERBTElHTl9IIDEKfCAjZGVmaW5lIEhB
VkVfU0JSSyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfRk9S
SyAxCnwgI2RlZmluZSBIQVZFX1ZGT1JLIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EIDEKfCAjZGVm
aW5lIEhBVkVfVVRNUFhOQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBTFBBVEggMQp8ICNkZWZpbmUg
SEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PREFUIDEKfCAjZGVmaW5lIEhBVkVfTENI
TU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GRE9QRU5ESVIgMQp8
ICNkZWZpbmUgSEFWRV9MSVNUWEFUVFIgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVm
aW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUg
SEFWRV9NRU1TRVRfUyAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9Q
VEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZF
X0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9JU1dDVFlQRSAxCnwgI2RlZmluZSBIQVZFX1NUUlRP
SU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9MT0NBTFRJTUVf
UiAxCnwgI2RlZmluZSBIQVZFX0dFVERUQUJMRVNJWkUgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExP
QyAxCnwgI2RlZmluZSBIQVZFX01NQVAgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEIDEKfCAjZGVm
aW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFW
RV9XRUJQIDEKfCAjZGVmaW5lIEhBVkVfU1FMSVRFMyAxCnwgI2RlZmluZSBIQVZFX0RCVVMgMQp8
ICNkZWZpbmUgSEFWRV9EQlVTX1dBVENIX0dFVF9VTklYX0ZEIDEKfCAjZGVmaW5lIEhBVkVfREJV
U19UWVBFX0lTX1ZBTElEIDEKfCAjZGVmaW5lIEhBVkVfREJVU19WQUxJREFURV9CVVNfTkFNRSAx
CnwgI2RlZmluZSBIQVZFX0RCVVNfVkFMSURBVEVfUEFUSCAxCnwgI2RlZmluZSBIQVZFX0RCVVNf
VkFMSURBVEVfSU5URVJGQUNFIDEKfCAjZGVmaW5lIEhBVkVfREJVU19WQUxJREFURV9NRU1CRVIg
MQp8ICNkZWZpbmUgSEFWRV9EQlVTX01FU1NBR0VfU0VUX0FMTE9XX0lOVEVSQUNUSVZFX0FVVEhP
UklaQVRJT04gMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9UUkVFX1NJ
VFRFUiAxCnwgI2RlZmluZSBIQVZFX0tRVUVVRSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkg
MQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgSEFWRV9YSU0g
MQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhB
VkVfWkxJQiAxCnwgI2RlZmluZSBEWU5BTUlDX0xJQl9TVUZGSVggIi5keWxpYiIKfCAjZGVmaW5l
IERZTkFNSUNfTElCX1NFQ09OREFSWV9TVUZGSVggIi5zbyIKfCAjZGVmaW5lIEhBVkVfRExBRERS
IDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmR5
bGliIgp8ICNkZWZpbmUgTU9EVUxFU19TRUNPTkRBUllfU1VGRklYICIuc28iCnwgI2RlZmluZSBO
QVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8IC8qIGVuZCBj
b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2lmZGVmIEhBVkVfU1RESU9f
SAp8ICMgaW5jbHVkZSA8c3RkaW8uaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERMSUJfSAp8
ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAj
IGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAj
IGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAj
IGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMg
aW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwg
IyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9I
CnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9I
CnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8Z2lmX2xpYi5oPgpj
b25maWd1cmU6MjkxNDc6IHJlc3VsdDogbm8KY29uZmlndXJlOjI5NDY4OiBjaGVja2luZyBmb3Ig
Z3BtLmgKY29uZmlndXJlOjI5NDY4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozMTA5NjogY2hlY2tp
bmcgZm9yIGxpYnhtbC0yLjAgPiAyLjYuMTcKY29uZmlndXJlOjMxMTAzOiAkUEtHX0NPTkZJRyAt
LWV4aXN0cyAtLXByaW50LWVycm9ycyAibGlieG1sLTIuMCA+IDIuNi4xNyIKY29uZmlndXJlOjMx
MTA2OiAkPyA9IDAKY29uZmlndXJlOjMxMTIwOiAkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXByaW50
LWVycm9ycyAibGlieG1sLTIuMCA+IDIuNi4xNyIKY29uZmlndXJlOjMxMTIzOiAkPyA9IDAKY29u
ZmlndXJlOjMxMTYxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzEyMTI6IGNoZWNraW5nIGZvciBo
dG1sUmVhZE1lbW9yeSBpbiAtbHhtbDIKY29uZmlndXJlOjMxMjUzOiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6MzE1Mjg6IGNoZWNraW5nIGZvciBsaW51eC9zZWNjb21wLmgKY29uZmlndXJlOjMxNTI4
OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozMTUyODogY2hlY2tpbmcgZm9yIGxpbnV4L2ZpbHRlci5o
CmNvbmZpZ3VyZTozMTUyODogcmVzdWx0OiBubwpjb25maWd1cmU6MzE2Njk6IGNoZWNraW5nIGZv
ciBsaWJzZWNjb21wID49IDIuNS4yCmNvbmZpZ3VyZTozMTY3NjogJFBLR19DT05GSUcgLS1leGlz
dHMgLS1wcmludC1lcnJvcnMgImxpYnNlY2NvbXAgPj0gMi41LjIiClBhY2thZ2UgbGlic2VjY29t
cCB3YXMgbm90IGZvdW5kIGluIHRoZSBwa2ctY29uZmlnIHNlYXJjaCBwYXRoLgpQZXJoYXBzIHlv
dSBzaG91bGQgYWRkIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyBgbGlic2VjY29tcC5wYycKdG8g
dGhlIFBLR19DT05GSUdfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZQpQYWNrYWdlICdsaWJzZWNj
b21wJyBub3QgZm91bmQKY29uZmlndXJlOjMxNjc5OiAkPyA9IDEKY29uZmlndXJlOjMxNjkzOiAk
UEtHX0NPTkZJRyAtLWV4aXN0cyAtLXByaW50LWVycm9ycyAibGlic2VjY29tcCA+PSAyLjUuMiIK
UGFja2FnZSBsaWJzZWNjb21wIHdhcyBub3QgZm91bmQgaW4gdGhlIHBrZy1jb25maWcgc2VhcmNo
IHBhdGguClBlcmhhcHMgeW91IHNob3VsZCBhZGQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIGBs
aWJzZWNjb21wLnBjJwp0byB0aGUgUEtHX0NPTkZJR19QQVRIIGVudmlyb25tZW50IHZhcmlhYmxl
ClBhY2thZ2UgJ2xpYnNlY2NvbXAnIG5vdCBmb3VuZApjb25maWd1cmU6MzE2OTY6ICQ/ID0gMQpj
b25maWd1cmU6MzE3MTA6IHJlc3VsdDogbm8KUGFja2FnZSAnbGlic2VjY29tcCcgbm90IGZvdW5k
CmNvbmZpZ3VyZTozMTc1MDogY2hlY2tpbmcgZm9yIGFjY2VwdDQKY29uZmlndXJlOjMxNzUwOiBy
ZXN1bHQ6IG5vCmNvbmZpZ3VyZTozMTc1NjogY2hlY2tpbmcgZm9yIGZjaGRpcgpjb25maWd1cmU6
MzE3NTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMTc2MjogY2hlY2tpbmcgZm9yIGdldGhvc3Ru
YW1lCmNvbmZpZ3VyZTozMTc2MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMxNzY4OiBjaGVja2lu
ZyBmb3IgZ2V0cnVzYWdlCmNvbmZpZ3VyZTozMTc2ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMx
Nzc0OiBjaGVja2luZyBmb3IgZ2V0X2N1cnJlbnRfZGlyX25hbWUKY29uZmlndXJlOjMxNzc0OiBy
ZXN1bHQ6IG5vCmNvbmZpZ3VyZTozMTc4MDogY2hlY2tpbmcgZm9yIGxyYW5kNDgKY29uZmlndXJl
OjMxNzgwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzE3ODY6IGNoZWNraW5nIGZvciByYW5kb20K
Y29uZmlndXJlOjMxNzg2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzE3OTI6IGNoZWNraW5nIGZv
ciByaW50CmNvbmZpZ3VyZTozMTc5MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMxNzk4OiBjaGVj
a2luZyBmb3IgdGNkcmFpbgpjb25maWd1cmU6MzE3OTg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToz
MTgwNDogY2hlY2tpbmcgZm9yIHRydW5jCmNvbmZpZ3VyZTozMTgwNDogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjMxODEwOiBjaGVja2luZyBmb3Igc2VsZWN0CmNvbmZpZ3VyZTozMTgxMDogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjMxODE2OiBjaGVja2luZyBmb3IgZ2V0cGFnZXNpemUKY29uZmlndXJl
OjMxODE2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzE4MjI6IGNoZWNraW5nIGZvciBuZXdsb2Nh
bGUKY29uZmlndXJlOjMxODIyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzE4Mjg6IGNoZWNraW5n
IGZvciBnZXRybGltaXQKY29uZmlndXJlOjMxODI4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzE4
MzQ6IGNoZWNraW5nIGZvciBzZXRybGltaXQKY29uZmlndXJlOjMxODM0OiByZXN1bHQ6IHllcwpj
b25maWd1cmU6MzE4NDA6IGNoZWNraW5nIGZvciBzaHV0ZG93bgpjb25maWd1cmU6MzE4NDA6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZTozMTg0NjogY2hlY2tpbmcgZm9yIHB0aHJlYWRfc2lnbWFzawpj
b25maWd1cmU6MzE4NDY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMTg1MjogY2hlY2tpbmcgZm9y
IHN0cnNpZ25hbApjb25maWd1cmU6MzE4NTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMTg1ODog
Y2hlY2tpbmcgZm9yIHNldGl0aW1lcgpjb25maWd1cmU6MzE4NTg6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZTozMTg2NDogY2hlY2tpbmcgZm9yIHNlbmR0bwpjb25maWd1cmU6MzE4NjQ6IHJlc3VsdDog
eWVzCmNvbmZpZ3VyZTozMTg3MDogY2hlY2tpbmcgZm9yIHJlY3Zmcm9tCmNvbmZpZ3VyZTozMTg3
MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMxODc2OiBjaGVja2luZyBmb3IgZ2V0c29ja25hbWUK
Y29uZmlndXJlOjMxODc2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzE4ODI6IGNoZWNraW5nIGZv
ciBnZXRpZmFkZHJzCmNvbmZpZ3VyZTozMTg4MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMxODg4
OiBjaGVja2luZyBmb3IgZnJlZWlmYWRkcnMKY29uZmlndXJlOjMxODg4OiByZXN1bHQ6IHllcwpj
b25maWd1cmU6MzE4OTQ6IGNoZWNraW5nIGZvciBnYWlfc3RyZXJyb3IKY29uZmlndXJlOjMxODk0
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzE5MDA6IGNoZWNraW5nIGZvciBzeW5jCmNvbmZpZ3Vy
ZTozMTkwMDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMxOTA2OiBjaGVja2luZyBmb3IgZW5kcHdl
bnQKY29uZmlndXJlOjMxOTA2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzE5MTI6IGNoZWNraW5n
IGZvciBnZXRncmVudApjb25maWd1cmU6MzE5MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMTkx
ODogY2hlY2tpbmcgZm9yIGVuZGdyZW50CmNvbmZpZ3VyZTozMTkxODogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjMxOTI0OiBjaGVja2luZyBmb3IgY2ZtYWtlcmF3CmNvbmZpZ3VyZTozMTkyNDogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjMxOTMwOiBjaGVja2luZyBmb3IgY2ZzZXRzcGVlZApjb25maWd1
cmU6MzE5MzA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMTkzNjogY2hlY2tpbmcgZm9yIF9fZXhl
Y3V0YWJsZV9zdGFydApjb25maWd1cmU6MzE5MzY6IHJlc3VsdDogbm8KY29uZmlndXJlOjMxOTQy
OiBjaGVja2luZyBmb3IgbG9nMgpjb25maWd1cmU6MzE5NDI6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZTozMTk0ODogY2hlY2tpbmcgZm9yIHB0aHJlYWRfc2V0bmFtZV9ucApjb25maWd1cmU6MzE5NDg6
IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMTk1NDogY2hlY2tpbmcgZm9yIHB0aHJlYWRfc2V0X25h
bWVfbnAKY29uZmlndXJlOjMxOTU0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozMTk2NTogY2hlY2tp
bmcgZm9yIGdldHB3ZW50CmNvbmZpZ3VyZTozMjAxODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMy
MDM2OiBjaGVja2luZyBmb3IgcmVuYW1lYXQyCmNvbmZpZ3VyZTozMjA4OTogcmVzdWx0OiBubwpj
b25maWd1cmU6MzIxODY6IGNoZWNraW5nIHdoZXRoZXIgcHRocmVhZF9zZXRuYW1lX25wIHRha2Vz
IGEgc2luZ2xlIGFyZ3VtZW50CmNvbmZpZ3VyZTozMjIxMzogcmVzdWx0OiB5ZXMKY29uZmlndXJl
OjMyMjYxOiBjaGVja2luZyBmb3IgYWxpZ25lZF9hbGxvYwpjb25maWd1cmU6MzIyNjE6IHJlc3Vs
dDogeWVzCmNvbmZpZ3VyZTozMjI3MTogY2hlY2tpbmcgd2hldGhlciBhbGlnbmVkX2FsbG9jIGlz
IGRlY2xhcmVkCmNvbmZpZ3VyZTozMjI3MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMyMjg0OiBj
aGVja2luZyBmb3IgcG9zaXhfbWFkdmlzZQpjb25maWd1cmU6MzIyODQ6IHJlc3VsdDogeWVzCmNv
bmZpZ3VyZTozMjI5MDogY2hlY2tpbmcgZm9yIG1hZHZpc2UKY29uZmlndXJlOjMyMjkwOiByZXN1
bHQ6IHllcwpjb25maWd1cmU6MzIyOTg6IGNoZWNraW5nIGZvciBfX2J1aWx0aW5fZnJhbWVfYWRk
cmVzcwpjb25maWd1cmU6MzIzMjY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMjMzMzogY2hlY2tp
bmcgZm9yIF9fYnVpbHRpbl91bndpbmRfaW5pdApjb25maWd1cmU6MzIzNjE6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZTozMjM3MjogY2hlY2tpbmcgZm9yIGRlY2xhcmF0aW9ucyBvZiBmc2Vla28gYW5k
IGZ0ZWxsbwpjb25maWd1cmU6MzI0NTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMjQ2ODogY2hl
Y2tpbmcgZm9yIGdyYW50cHQKY29uZmlndXJlOjMyNDY4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6
MzI0Nzc6IGNoZWNraW5nIGZvciBnZXRwdApjb25maWd1cmU6MzI0Nzc6IHJlc3VsdDogbm8KY29u
ZmlndXJlOjMyNDgzOiBjaGVja2luZyBmb3IgcG9zaXhfb3BlbnB0CmNvbmZpZ3VyZTozMjQ4Mzog
cmVzdWx0OiB5ZXMKY29uZmlndXJlOjMyNDk3OiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWlu
aW5nIHRwdXRzCmNvbmZpZ3VyZTozMjU3MjogcmVzdWx0OiAtbG5jdXJzZXMKY29uZmlndXJlOjMy
Njg3OiBjaGVja2luZyB3aGV0aGVyIC1sbmN1cnNlcyBsaWJyYXJ5IGRlZmluZXMgQkMKY29uZmln
dXJlOjMyNzE4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzI3MzU6IGNoZWNraW5nIGZvciB0aW1l
cmZkIGludGVyZmFjZQpjb25maWd1cmU6MzI3NjU6IHJlc3VsdDogbm8KY29uZmlndXJlOjMyNzc0
OiBjaGVja2luZyB3aGV0aGVyIHNpZ25hbHMgY2FuIGJlIGhhbmRsZWQgb24gYWx0ZXJuYXRlIHN0
YWNrCmNvbmZpZ3VyZTozMjgwOTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMzNTM4OiBjaGVja2lu
ZyBmb3IgdmFsZ3JpbmQvdmFsZ3JpbmQuaApjb25maWd1cmU6MzM1Mzg6IHJlc3VsdDogbm8KY29u
ZmlndXJlOjMzNTQ2OiBjaGVja2luZyBmb3Igc3RydWN0IHVuaXBhaXIudW5pY29kZQpjb25maWd1
cmU6MzM1NDY6IHJlc3VsdDogbm8KY29uZmlndXJlOjMzNTYxOiBjaGVja2luZyBmb3IgcGlkX3QK
Y29uZmlndXJlOjMzNTYxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzM2MDU6IGNoZWNraW5nIGZv
ciB3b3JraW5nIGZvcmsKY29uZmlndXJlOjMzNjQzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzM2
NjQ6IGNoZWNraW5nIGZvciB3b3JraW5nIHZmb3JrCmNvbmZpZ3VyZTozMzc5NjogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjMzODIyOiBjaGVja2luZyBmb3Igc25wcmludGYKY29uZmlndXJlOjMzODIy
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzM4Mjg6IGNoZWNraW5nIGZvciBvcGVuX21lbXN0cmVh
bQpjb25maWd1cmU6MzM4Mjg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMzgzNjogY2hlY2tpbmcg
Zm9yIHNwYXduLmgKY29uZmlndXJlOjMzODM2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzM4NDQ6
IGNoZWNraW5nIGZvciBwb3NpeF9zcGF3bgpjb25maWd1cmU6MzM4NDQ6IHJlc3VsdDogeWVzCmNv
bmZpZ3VyZTozMzg1MDogY2hlY2tpbmcgZm9yIHBvc2l4X3NwYXduX2ZpbGVfYWN0aW9uc19hZGRj
aGRpcgpjb25maWd1cmU6MzM4NTA6IHJlc3VsdDogbm8KY29uZmlndXJlOjMzODU2OiBjaGVja2lu
ZyBmb3IgcG9zaXhfc3Bhd25fZmlsZV9hY3Rpb25zX2FkZGNoZGlyX25wCmNvbmZpZ3VyZTozMzg1
NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMzODYyOiBjaGVja2luZyBmb3IgcG9zaXhfc3Bhd25h
dHRyX3NldGZsYWdzCmNvbmZpZ3VyZTozMzg2MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMzODcz
OiBjaGVja2luZyB3aGV0aGVyIFBPU0lYX1NQQVdOX1NFVFNJRCBpcyBkZWNsYXJlZApjb25maWd1
cmU6MzM4NzM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMzg4OTogY2hlY2tpbmcgd2hldGhlciBH
TGliIGlzIGxpbmtlZCBpbgpjb25maWd1cmU6MzM5MjY6IHJlc3VsdDogbm8KY29uZmlndXJlOjMz
OTQwOiBjaGVja2luZyBmb3IgbmxfbGFuZ2luZm8gYW5kIENPREVTRVQKY29uZmlndXJlOjMzOTY5
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzM5ODA6IGNoZWNraW5nIGZvciBubF9sYW5naW5mbyBh
bmQgX05MX1BBUEVSX1dJRFRICmNvbmZpZ3VyZTozNDAwOTogcmVzdWx0OiBubwpjb25maWd1cmU6
MzQwMjE6IGNoZWNraW5nIGZvciBtYnN0YXRlX3QKY29uZmlndXJlOjM0MDQ5OiByZXN1bHQ6IHll
cwpjb25maWd1cmU6MzQ1NDc6IGNoZWNraW5nIGZvciBfc2V0am1wCmNvbmZpZ3VyZTozNDU4MTog
cmVzdWx0OiB5ZXMKY29uZmlndXJlOjM0NTkwOiBjaGVja2luZyBmb3Igc2lnc2V0am1wCmNvbmZp
Z3VyZTozNDYyMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjM0NzU1OiBjaGVja2luZyBQT1NJWCB0
ZXJtaW9zCmNvbmZpZ3VyZTozNDc4NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjM0Nzk1OiBjaGVj
a2luZyBzaXplIG9mIHNwZWVkX3QKY29uZmlndXJlOjM0ODE5OiByZXN1bHQ6IDgKY29uZmlndXJl
OjM0ODM1OiBjaGVja2luZyBmb3IgdXNhYmxlIEZJT05SRUFECmNvbmZpZ3VyZTozNDg4MjogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjM0ODkwOiBjaGVja2luZyBmb3IgdXNhYmxlIFNJR0lPCmNvbmZp
Z3VyZTozNDkxOTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjM1MTgzOiBjaGVja2luZyBmb3IgQy9D
KysgcmVzdHJpY3Qga2V5d29yZApjb25maWd1cmU6MzUyMjM6IHJlc3VsdDogX19yZXN0cmljdF9f
CmNvbmZpZ3VyZTozNTIzNTogY2hlY2tpbmcgZm9yIHR5cGVvZiBzeW50YXggYW5kIGtleXdvcmQg
c3BlbGxpbmcKY29uZmlndXJlOjM1Mjc2OiByZXN1bHQ6IHR5cGVvZgpjb25maWd1cmU6MzUyOTA6
IGNoZWNraW5nIGZvciBzdGF0ZW1lbnQgZXhwcmVzc2lvbnMKY29uZmlndXJlOjM1MzE3OiByZXN1
bHQ6IHllcwpjb25maWd1cmU6MzUzNzY6IGNoZWNraW5nIHdoZXRoZXIgbWFsbG9jICgwKSByZXR1
cm5zIG5vbm51bGwKY29uZmlndXJlOjM1NDI2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzU1MDU6
IGNoZWNraW5nIGZvciBzeXMvYWNsLmgKY29uZmlndXJlOjM1NTA1OiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6MzU1MTY6IGNoZWNraW5nIGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcgYWNsX2dldF9maWxl
CmNvbmZpZ3VyZTozNTU3NDogcmVzdWx0OiBub25lIHJlcXVpcmVkCmNvbmZpZ3VyZTozNTU4Mzog
Y2hlY2tpbmcgZm9yIGFjbF9nZXRfZmlsZQpjb25maWd1cmU6MzU1ODM6IHJlc3VsdDogeWVzCmNv
bmZpZ3VyZTozNTU4OTogY2hlY2tpbmcgZm9yIGFjbF9nZXRfZmQKY29uZmlndXJlOjM1NTg5OiBy
ZXN1bHQ6IHllcwpjb25maWd1cmU6MzU1OTU6IGNoZWNraW5nIGZvciBhY2xfc2V0X2ZpbGUKY29u
ZmlndXJlOjM1NTk1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzU2MDE6IGNoZWNraW5nIGZvciBh
Y2xfc2V0X2ZkCmNvbmZpZ3VyZTozNTYwMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjM1NjA3OiBj
aGVja2luZyBmb3IgYWNsX2dldF9saW5rX25wCmNvbmZpZ3VyZTozNTYwNzogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjM1NjEzOiBjaGVja2luZyBmb3IgYWNsX2ZyZWUKY29uZmlndXJlOjM1NjEzOiBy
ZXN1bHQ6IHllcwpjb25maWd1cmU6MzU2MTk6IGNoZWNraW5nIGZvciBhY2xfZnJvbV9tb2RlCmNv
bmZpZ3VyZTozNTYxOTogcmVzdWx0OiBubwpjb25maWd1cmU6MzU2MjU6IGNoZWNraW5nIGZvciBh
Y2xfZnJvbV90ZXh0CmNvbmZpZ3VyZTozNTYyNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjM1NjMx
OiBjaGVja2luZyBmb3IgYWNsX2RlbGV0ZV9kZWZfZmlsZQpjb25maWd1cmU6MzU2MzE6IHJlc3Vs
dDogeWVzCmNvbmZpZ3VyZTozNTYzNzogY2hlY2tpbmcgZm9yIGFjbF9leHRlbmRlZF9maWxlCmNv
bmZpZ3VyZTozNTYzNzogcmVzdWx0OiBubwpjb25maWd1cmU6MzU2NDM6IGNoZWNraW5nIGZvciBh
Y2xfZGVsZXRlX2ZkX25wCmNvbmZpZ3VyZTozNTY0MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjM1
NjQ5OiBjaGVja2luZyBmb3IgYWNsX2RlbGV0ZV9maWxlX25wCmNvbmZpZ3VyZTozNTY0OTogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjM1NjU1OiBjaGVja2luZyBmb3IgYWNsX2NvcHlfZXh0X25hdGl2
ZQpjb25maWd1cmU6MzU2NTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozNTY2MTogY2hlY2tpbmcg
Zm9yIGFjbF9jcmVhdGVfZW50cnlfbnAKY29uZmlndXJlOjM1NjYxOiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6MzU2Njc6IGNoZWNraW5nIGZvciBhY2xfdG9fc2hvcnRfdGV4dApjb25maWd1cmU6MzU2
Njc6IHJlc3VsdDogbm8KY29uZmlndXJlOjM1NjczOiBjaGVja2luZyBmb3IgYWNsX2ZyZWVfdGV4
dApjb25maWd1cmU6MzU2NzM6IHJlc3VsdDogbm8KY29uZmlndXJlOjM1NjgyOiBjaGVja2luZyBm
b3Igd29ya2luZyBhY2xfZ2V0X2ZpbGUKY29uZmlndXJlOjM1NzE3OiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6MzU3MjU6IGNoZWNraW5nIGZvciBhY2wvbGliYWNsLmgKY29uZmlndXJlOjM1NzI1OiBy
ZXN1bHQ6IG5vCmNvbmZpZ3VyZTozNTc0MzogY2hlY2tpbmcgZm9yIGFjbF9lbnRyaWVzCmNvbmZp
Z3VyZTozNTc0MzogcmVzdWx0OiBubwpjb25maWd1cmU6MzU3NTc6IGNoZWNraW5nIGZvciBBQ0xf
RklSU1RfRU5UUlkKY29uZmlndXJlOjM1Nzg2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzU3OTM6
IGNoZWNraW5nIGZvciBBQ0xfVFlQRV9FWFRFTkRFRApjb25maWd1cmU6MzU4MjI6IHJlc3VsdDog
eWVzCmNvbmZpZ3VyZTozNjAxMjogY2hlY2tpbmcgZm9yIHdvcmtpbmcgYWxsb2NhLmgKY29uZmln
dXJlOjM2MDQxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzYwNDk6IGNoZWNraW5nIGZvciBhbGxv
Y2EKY29uZmlndXJlOjM2MDk0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzYxNjg6IGNoZWNraW5n
IGZvciBhIHJhY2UtZnJlZSBta2RpciAtcApjb25maWd1cmU6MzYyMTE6IHJlc3VsdDogL29wdC9o
b21lYnJldy9iaW4vZ21rZGlyIC1wCmNvbmZpZ3VyZTozNjIxNjogY2hlY2tpbmcgd2hldGhlciB0
aGUgcHJlcHJvY2Vzc29yIHN1cHBvcnRzIGluY2x1ZGVfbmV4dApjb25maWd1cmU6MzYyODE6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZTozNjMwMzogY2hlY2tpbmcgd2hldGhlciBzb3VyY2UgY29kZSBs
aW5lIGxlbmd0aCBpcyB1bmxpbWl0ZWQKY29uZmlndXJlOjM2MzMwOiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6MzYzNTE6IGNoZWNraW5nIHdoZXRoZXIgZW5kdXRlbnQgaXMgZGVjbGFyZWQKY29uZmln
dXJlOjM2MzUxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozNjM4MjogY2hlY2tpbmcgZm9yIHN0cnVj
dCB1dG1weC51dF91c2VyCmNvbmZpZ3VyZTozNjM4MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjM2
MzkyOiBjaGVja2luZyBmb3Igc3RydWN0IHV0bXAudXRfdXNlcgpjb25maWd1cmU6MzYzOTI6IHJl
c3VsdDogbm8KY29uZmlndXJlOjM2NDAyOiBjaGVja2luZyBmb3Igc3RydWN0IHV0bXB4LnV0X25h
bWUKY29uZmlndXJlOjM2NDAyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozNjQxMjogY2hlY2tpbmcg
Zm9yIHN0cnVjdCB1dG1wLnV0X25hbWUKY29uZmlndXJlOjM2NDEyOiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6MzY0MjI6IGNoZWNraW5nIGZvciBzdHJ1Y3QgdXRtcHgudXRfdHlwZQpjb25maWd1cmU6
MzY0MjI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozNjQzMjogY2hlY2tpbmcgZm9yIHN0cnVjdCB1
dG1wLnV0X3R5cGUKY29uZmlndXJlOjM2NDMyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozNjQ0Mjog
Y2hlY2tpbmcgZm9yIHN0cnVjdCB1dG1weC51dF9waWQKY29uZmlndXJlOjM2NDQyOiByZXN1bHQ6
IHllcwpjb25maWd1cmU6MzY0NTI6IGNoZWNraW5nIGZvciBzdHJ1Y3QgdXRtcC51dF9waWQKY29u
ZmlndXJlOjM2NDUyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozNjQ2MjogY2hlY2tpbmcgZm9yIHN0
cnVjdCB1dG1wLnV0X3R2CmNvbmZpZ3VyZTozNjQ2MjogcmVzdWx0OiBubwpjb25maWd1cmU6MzY0
NzI6IGNoZWNraW5nIGZvciBzdHJ1Y3QgdXRtcHgudXRfaG9zdApjb25maWd1cmU6MzY0NzI6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZTozNjQ4MjogY2hlY2tpbmcgZm9yIHN0cnVjdCB1dG1wLnV0X2hv
c3QKY29uZmlndXJlOjM2NDgyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzY0OTI6IGNoZWNraW5n
IGZvciBzdHJ1Y3QgdXRtcHgudXRfaWQKY29uZmlndXJlOjM2NDkyOiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6MzY1MDI6IGNoZWNraW5nIGZvciBzdHJ1Y3QgdXRtcC51dF9pZApjb25maWd1cmU6MzY1
MDI6IHJlc3VsdDogbm8KY29uZmlndXJlOjM2NTEyOiBjaGVja2luZyBmb3Igc3RydWN0IHV0bXB4
LnV0X3Nlc3Npb24KY29uZmlndXJlOjM2NTEyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozNjUyMjog
Y2hlY2tpbmcgZm9yIHN0cnVjdCB1dG1wLnV0X3Nlc3Npb24KY29uZmlndXJlOjM2NTIyOiByZXN1
bHQ6IG5vCmNvbmZpZ3VyZTozNjUzMjogY2hlY2tpbmcgZm9yIHN0cnVjdCB1dG1weC51dF9leGl0
CmNvbmZpZ3VyZTozNjUzMjogcmVzdWx0OiBubwpjb25maWd1cmU6MzY1NDI6IGNoZWNraW5nIGZv
ciBzdHJ1Y3QgdXRtcC51dF9leGl0CmNvbmZpZ3VyZTozNjU0MjogcmVzdWx0OiBubwpjb25maWd1
cmU6MzY1NTM6IGNoZWNraW5nIGZvciBzdHJ1Y3QgdXRtcHgudXRfZXhpdC51dF9leGl0CmNvbmZp
Z3VyZTozNjU1MzogcmVzdWx0OiBubwpjb25maWd1cmU6MzY1NjM6IGNoZWNraW5nIGZvciBzdHJ1
Y3QgdXRtcHgudXRfZXhpdC5lX2V4aXQKY29uZmlndXJlOjM2NTYzOiByZXN1bHQ6IG5vCmNvbmZp
Z3VyZTozNjU3MzogY2hlY2tpbmcgZm9yIHN0cnVjdCB1dG1wLnV0X2V4aXQuZV9leGl0CmNvbmZp
Z3VyZTozNjU3MzogcmVzdWx0OiBubwpjb25maWd1cmU6MzY1ODQ6IGNoZWNraW5nIGZvciBzdHJ1
Y3QgdXRtcHgudXRfZXhpdC51dF90ZXJtaW5hdGlvbgpjb25maWd1cmU6MzY1ODQ6IHJlc3VsdDog
bm8KY29uZmlndXJlOjM2NTk0OiBjaGVja2luZyBmb3Igc3RydWN0IHV0bXB4LnV0X2V4aXQuZV90
ZXJtaW5hdGlvbgpjb25maWd1cmU6MzY1OTQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjM2NjA0OiBj
aGVja2luZyBmb3Igc3RydWN0IHV0bXAudXRfZXhpdC5lX3Rlcm1pbmF0aW9uCmNvbmZpZ3VyZToz
NjYwNDogcmVzdWx0OiBubwpjb25maWd1cmU6MzY2MTY6IGNoZWNraW5nIHdoZXRoZXIgc3lzaW5m
byBpcyBkZWNsYXJlZApjb25maWd1cmU6MzY2MTY6IHJlc3VsdDogbm8KY29uZmlndXJlOjM2NjMx
OiBjaGVja2luZyBmb3Igc3lzL3N5c2N0bC5oCmNvbmZpZ3VyZTozNjYzMTogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjM2NjQzOiBjaGVja2luZyBmb3Igc3lzY3RsCmNvbmZpZ3VyZTozNjY0MzogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjM2NzQ3OiBjaGVja2luZyB3aGV0aGVyIGxzdGF0IGNvcnJlY3Rs
eSBoYW5kbGVzIHRyYWlsaW5nIHNsYXNoCmNvbmZpZ3VyZTozNjgxMDogcmVzdWx0OiBubwpjb25m
aWd1cmU6MzY4MjM6IGNoZWNraW5nIHdoZXRoZXIgLy8gaXMgZGlzdGluY3QgZnJvbSAvCmNvbmZp
Z3VyZTozNjg1NDogcmVzdWx0OiBubwpjb25maWd1cmU6MzY4NjY6IGNoZWNraW5nIHdoZXRoZXIg
cmVhbHBhdGggd29ya3MKY29uZmlndXJlOjM3MTAyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozNzEy
MzogY2hlY2tpbmcgZm9yIGZhY2Nlc3NhdApjb25maWd1cmU6MzcxNzY6IHJlc3VsdDogeWVzCmNv
bmZpZ3VyZTozNzE5NDogY2hlY2tpbmcgZm9yIGdldGN3ZApjb25maWd1cmU6MzcxOTQ6IHJlc3Vs
dDogeWVzCmNvbmZpZ3VyZTozNzg2NjogY2hlY2tpbmcgd2hldGhlciBieXRlIG9yZGVyaW5nIGlz
IGJpZ2VuZGlhbgpjb25maWd1cmU6MzgwODg6IHJlc3VsdDogbm8KY29uZmlndXJlOjM4MzI3OiBj
aGVja2luZyBpZiBlbnZpcm9uIGlzIHByb3Blcmx5IGRlY2xhcmVkCmNvbmZpZ3VyZTozODM2MTog
cmVzdWx0OiBubwpjb25maWd1cmU6MzgzNzg6IGNoZWNraW5nIGZvciBjb21wbGV0ZSBlcnJuby5o
CmNvbmZpZ3VyZTozODQ1ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjM4NzcyOiBjaGVja2luZyB3
aGV0aGVyIGN0eXBlLmggZGVmaW5lcyBfX2hlYWRlcl9pbmxpbmUKY29uZmlndXJlOjM4Nzk2OiBy
ZXN1bHQ6IHllcwpjb25maWd1cmU6Mzg5NjE6IGNoZWNraW5nIGZvciBtb2RlX3QKY29uZmlndXJl
OjM4OTYxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzkwNzY6IGNoZWNraW5nIGZvciBsaWJyYXJ5
IGNvbnRhaW5pbmcgc2V0ZmlsZWNvbgpjb25maWd1cmU6MzkxMzQ6IHJlc3VsdDogbm8KY29uZmln
dXJlOjM5MTkxOiBjaGVja2luZyB3aGV0aGVyIHN0cm1vZGUgaXMgZGVjbGFyZWQKY29uZmlndXJl
OjM5MTkxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzkyNjA6IGNoZWNraW5nIHdoZXRoZXIgZ2V0
bGluZSBpcyBkZWNsYXJlZApjb25maWd1cmU6MzkyNjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToz
OTY1NzogY2hlY2tpbmcgZm9yIGdldG9wdC5oCmNvbmZpZ3VyZTozOTY1NzogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjM5Njc0OiBjaGVja2luZyBmb3IgZ2V0b3B0X2xvbmdfb25seQpjb25maWd1cmU6
Mzk2NzQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozOTY4ODogY2hlY2tpbmcgd2hldGhlciBnZXRv
cHQgaXMgUE9TSVggY29tcGF0aWJsZQpjb25maWd1cmU6Mzk4NjM6IHJlc3VsdDogbm8KY29uZmln
dXJlOjQwMTkxOiBjaGVja2luZyBmb3IgZ2xpYmMtY29tcGF0aWJsZSBzeXMvY2RlZnMuaApjb25m
aWd1cmU6NDAyMTQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjQwMjQ4OiBjaGVja2luZyB3aGV0aGVy
IHRpbWVzcGVjX2dldCBpcyBkZWNsYXJlZApjb25maWd1cmU6NDAyNDg6IHJlc3VsdDogeWVzCmNv
bmZpZ3VyZTo0MDI1NDogY2hlY2tpbmcgZm9yIHRpbWVzcGVjX2dldApjb25maWd1cmU6NDAyOTc6
IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MDQyMzogY2hlY2tpbmcgZm9yIHN0cnVjdCB0aW1ldmFs
CmNvbmZpZ3VyZTo0MDQ1ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQwNDYzOiBjaGVja2luZyBm
b3Igd2lkZS1lbm91Z2ggc3RydWN0IHRpbWV2YWwudHZfc2VjIG1lbWJlcgpjb25maWd1cmU6NDA1
MDI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MDYwMjogY2hlY2tpbmcgd2hldGhlciBsaW1pdHMu
aCBoYXMgV09SRF9CSVQsIEJPT0xfV0lEVEggZXRjLgpjb25maWd1cmU6NDA2Mzk6IHJlc3VsdDog
bm8KY29uZmlndXJlOjQwNjc4OiBjaGVja2luZyB3aGV0aGVyIHRoZSBjb21waWxlciBwcm9kdWNl
cyBtdWx0aS1hcmNoIGJpbmFyaWVzCmNvbmZpZ3VyZTo0MDcyMjogcmVzdWx0OiBubwpjb25maWd1
cmU6NDA4NTU6IGNoZWNraW5nIHdoZXRoZXIgc3RkaW50LmggY29uZm9ybXMgdG8gQzk5CmNvbmZp
Z3VyZTo0MTEzNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQxMTQ2OiBjaGVja2luZyB3aGV0aGVy
IHN0ZGludC5oIHdvcmtzIHdpdGhvdXQgSVNPIEMgcHJlZGVmaW5lcwpjb25maWd1cmU6NDExODc6
IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MTE5ODogY2hlY2tpbmcgd2hldGhlciBzdGRpbnQuaCBo
YXMgVUlOVE1BWF9XSURUSCBldGMuCmNvbmZpZ3VyZTo0MTIzODogcmVzdWx0OiBubwpjb25maWd1
cmU6NDE3Nzg6IGNoZWNraW5nIHdoZXRoZXIgbWFsbG9jIGlzIHB0cmRpZmZfdCBzYWZlCmNvbmZp
Z3VyZTo0MTgyNjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQxODQ0OiBjaGVja2luZyB3aGV0aGVy
IG1hbGxvYywgcmVhbGxvYywgY2FsbG9jIHNldCBlcnJubyBvbiBmYWlsdXJlCmNvbmZpZ3VyZTo0
MTg4NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQxOTA3OiBjaGVja2luZyB3aGV0aGVyIG1hbGxv
YyAoMCkgcmV0dXJucyBub25udWxsCmNvbmZpZ3VyZTo0MTk1NzogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjQyMDE5OiBjaGVja2luZyB3aGV0aGVyIG1lbW1lbSBpcyBkZWNsYXJlZApjb25maWd1cmU6
NDIwMTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MjIyNzogY2hlY2tpbmcgd2hldGhlciBtZW1y
Y2hyIGlzIGRlY2xhcmVkCmNvbmZpZ3VyZTo0MjIyNzogcmVzdWx0OiBubwpjb25maWd1cmU6NDIy
NDI6IGNoZWNraW5nIHdoZXRoZXIgPGxpbWl0cy5oPiBkZWZpbmVzIE1JTiBhbmQgTUFYCmNvbmZp
Z3VyZTo0MjI3MDogcmVzdWx0OiBubwpjb25maWd1cmU6NDIyODM6IGNoZWNraW5nIHdoZXRoZXIg
PHN5cy9wYXJhbS5oPiBkZWZpbmVzIE1JTiBhbmQgTUFYCmNvbmZpZ3VyZTo0MjMxMTogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjQyMzQ3OiBjaGVja2luZyB3aGV0aGVyIHRpbWVfdCBpcyBzaWduZWQK
Y29uZmlndXJlOjQyMzc1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDIzODM6IGNoZWNraW5nIHdo
ZXRoZXIgYWxhcm0gaXMgZGVjbGFyZWQKY29uZmlndXJlOjQyMzgzOiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6NDIzOTk6IGNoZWNraW5nIGZvciB3b3JraW5nIG1rdGltZQpjb25maWd1cmU6NDI2NjI6
IHJlc3VsdDogbm8KY29uZmlndXJlOjQyNzI4OiBjaGVja2luZyBmb3Igc3RydWN0IHRtLnRtX2dt
dG9mZgpjb25maWd1cmU6NDI3Mjg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0MjczODogY2hlY2tp
bmcgZm9yIHN0cnVjdCB0bS50bV96b25lCmNvbmZpZ3VyZTo0MjczODogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjQyNzY3OiBjaGVja2luZyB3aGV0aGVyIDxzeXMvc2VsZWN0Lmg+IGlzIHNlbGYtY29u
dGFpbmVkCmNvbmZpZ3VyZTo0Mjg1MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzMDIzOiBjaGVj
a2luZyB3aGV0aGVyIHJlYWxsb2Mgc2hvdWxkIGFib3J0IHVwb24gdW5kZWZpbmVkIGJlaGF2aW91
cgpjb25maWd1cmU6NDMwMzI6IHJlc3VsdDogbm8KY29uZmlndXJlOjQzMDM1OiBjaGVja2luZyBm
b3IgaW5saW5lCmNvbmZpZ3VyZTo0MzA2MjogcmVzdWx0OiBpbmxpbmUKY29uZmlndXJlOjQzMDgz
OiBjaGVja2luZyBmb3Igc2lnc2V0X3QKY29uZmlndXJlOjQzMDgzOiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6NDMxODQ6IGNoZWNraW5nIGZvciB2b2xhdGlsZSBzaWdfYXRvbWljX3QKY29uZmlndXJl
OjQzMTg0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDMyMDI6IGNoZWNraW5nIGZvciBzaWdoYW5k
bGVyX3QKY29uZmlndXJlOjQzMjAyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0MzI3MDogY2hlY2tp
bmcgZm9yIGdvb2QgbWF4X2FsaWduX3QKY29uZmlndXJlOjQzMzE4OiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6NDMzMjU6IGNoZWNraW5nIHdoZXRoZXIgTlVMTCBjYW4gYmUgdXNlZCBpbiBhcmJpdHJh
cnkgZXhwcmVzc2lvbnMKY29uZmlndXJlOjQzMzU0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDMz
NjE6IGNoZWNraW5nIGZvciB1bnJlYWNoYWJsZQpjb25maWd1cmU6NDMzOTI6IHJlc3VsdDogbm8K
Y29uZmlndXJlOjQzMzk4OiBjaGVja2luZyB3aGV0aGVyIG51bGxwdHJfdCBuZWVkcyA8c3RkZGVm
Lmg+CmNvbmZpZ3VyZTo0MzQxODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNDI1OiBjaGVja2lu
ZyB3aGV0aGVyIDxzdGRkZWYuaD4gaXMgaWRlbXBvdGVudApjb25maWd1cmU6NDM0Mzk6IGNsYW5n
IC1jIC1XZ251LWltYWdpbmFyeS1jb25zdGFudCAtV3VudXNlZC1yZXN1bHQgLWcgLUYgL0FwcGxp
Y2F0aW9ucy9YY29kZS5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxh
dGZvcm0vRGV2ZWxvcGVyL1NES3MvTWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz
IC1Xbm8taWdub3JlZC1hdHRyaWJ1dGVzIC1Xbm8tZmxhZy1lbnVtIC1Xbm8tbWlzc2luZy1tZXRo
b2QtcmV0dXJuLXR5cGUgLVduby12YXJpYWRpYy1tYWNyb3MgLVduby1zdHJpY3QtcHJvdG90eXBl
cyAtV25vLWF2YWlsYWJpbGl0eSAtV25vLW51bGxhYmlsaXR5LWNvbXBsZXRlbmVzcyAtTyAgICBj
b25mdGVzdC5jID4mNQpjb25maWd1cmU6NDM0Mzk6ICQ/ID0gMApjb25maWd1cmU6NDM0NTA6IHJl
c3VsdDogZ3Vlc3NpbmcgeWVzCmNvbmZpZ3VyZTo0MzUzNzogY2hlY2tpbmcgd2hldGhlciBmY2xv
c2VhbGwgaXMgZGVjbGFyZWQKY29uZmlndXJlOjQzNTM3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0
MzU0NzogY2hlY2tpbmcgd2hldGhlciBnZXR3IGlzIGRlY2xhcmVkCmNvbmZpZ3VyZTo0MzU0Nzog
cmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzNTU3OiBjaGVja2luZyB3aGV0aGVyIHB1dHcgaXMgZGVj
bGFyZWQKY29uZmlndXJlOjQzNTU3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM2NDM6IGNoZWNr
aW5nIHdoaWNoIGZsYXZvciBvZiBwcmludGYgYXR0cmlidXRlIG1hdGNoZXMgaW50dHlwZXMgbWFj
cm9zCmNvbmZpZ3VyZTo0MzY4MTogcmVzdWx0OiBzeXN0ZW0KY29uZmlndXJlOjQzNzE4OiBjaGVj
a2luZyBmb3IgYW4gZW5nbGlzaCBVbmljb2RlIGxvY2FsZQpjb25maWd1cmU6NDM4NDE6IHJlc3Vs
dDogZW5fVVMuVVRGLTgKY29uZmlndXJlOjQzODUyOiBjaGVja2luZyB3aGV0aGVyIGVjdnQgaXMg
ZGVjbGFyZWQKY29uZmlndXJlOjQzODUyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDM4NjI6IGNo
ZWNraW5nIHdoZXRoZXIgZmN2dCBpcyBkZWNsYXJlZApjb25maWd1cmU6NDM4NjI6IHJlc3VsdDog
eWVzCmNvbmZpZ3VyZTo0Mzg3MjogY2hlY2tpbmcgd2hldGhlciBnY3Z0IGlzIGRlY2xhcmVkCmNv
bmZpZ3VyZTo0Mzg3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQzOTY0OiBjaGVja2luZyB3aGV0
aGVyIE1CX0NVUl9NQVggaXMgY29ycmVjdApjb25maWd1cmU6NDQwMzY6IHJlc3VsdDogeWVzCmNv
bmZpZ3VyZTo0NDE0MjogY2hlY2tpbmcgd2hldGhlciBzdHJubGVuIGlzIGRlY2xhcmVkCmNvbmZp
Z3VyZTo0NDE0MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ0MTUzOiBjaGVja2luZyB3aGV0aGVy
IHN0cnRvaW1heCBpcyBkZWNsYXJlZApjb25maWd1cmU6NDQxNTM6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZTo0NDI2MTogY2hlY2tpbmcgd2hldGhlciBzdGF0IGZpbGUtbW9kZSBtYWNyb3MgYXJlIGJy
b2tlbgpjb25maWd1cmU6NDQyOTk6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ0NDA1OiBjaGVja2lu
ZyBmb3IgbmxpbmtfdApjb25maWd1cmU6NDQ0MDU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NDUy
NzogY2hlY2tpbmcgZm9yIGJsa3NpemVfdApjb25maWd1cmU6NDQ1Mjc6IHJlc3VsdDogeWVzCmNv
bmZpZ3VyZTo0NDUzODogY2hlY2tpbmcgZm9yIGJsa2NudF90CmNvbmZpZ3VyZTo0NDUzODogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjQ0NTUzOiBjaGVja2luZyBmb3Igc3RydWN0IHRpbWVzcGVjIGlu
IDx0aW1lLmg+CmNvbmZpZ3VyZTo0NDU4MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ0NzgwOiBj
aGVja2luZyBmb3IgVElNRV9VVEMgaW4gPHRpbWUuaD4KY29uZmlndXJlOjQ0ODA4OiByZXN1bHQ6
IHllcwpjb25maWd1cmU6NDQ4MTg6IGNoZWNraW5nIHdoZXRoZXIgZXhlY3ZwZSBpcyBkZWNsYXJl
ZApjb25maWd1cmU6NDQ4MTg6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ0OTMxOiBjaGVja2luZyB3
aGV0aGVyIGNsZWFyZXJyX3VubG9ja2VkIGlzIGRlY2xhcmVkCmNvbmZpZ3VyZTo0NDkzMTogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjQ0OTQxOiBjaGVja2luZyB3aGV0aGVyIGZlb2ZfdW5sb2NrZWQg
aXMgZGVjbGFyZWQKY29uZmlndXJlOjQ0OTQxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDQ5NTE6
IGNoZWNraW5nIHdoZXRoZXIgZmVycm9yX3VubG9ja2VkIGlzIGRlY2xhcmVkCmNvbmZpZ3VyZTo0
NDk1MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ0OTYxOiBjaGVja2luZyB3aGV0aGVyIGZmbHVz
aF91bmxvY2tlZCBpcyBkZWNsYXJlZApjb25maWd1cmU6NDQ5NjE6IHJlc3VsdDogbm8KY29uZmln
dXJlOjQ0OTcxOiBjaGVja2luZyB3aGV0aGVyIGZnZXRzX3VubG9ja2VkIGlzIGRlY2xhcmVkCmNv
bmZpZ3VyZTo0NDk3MTogcmVzdWx0OiBubwpjb25maWd1cmU6NDQ5ODE6IGNoZWNraW5nIHdoZXRo
ZXIgZnB1dGNfdW5sb2NrZWQgaXMgZGVjbGFyZWQKY29uZmlndXJlOjQ0OTgxOiByZXN1bHQ6IG5v
CmNvbmZpZ3VyZTo0NDk5MTogY2hlY2tpbmcgd2hldGhlciBmcHV0c191bmxvY2tlZCBpcyBkZWNs
YXJlZApjb25maWd1cmU6NDQ5OTE6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ1MDAxOiBjaGVja2lu
ZyB3aGV0aGVyIGZyZWFkX3VubG9ja2VkIGlzIGRlY2xhcmVkCmNvbmZpZ3VyZTo0NTAwMTogcmVz
dWx0OiBubwpjb25maWd1cmU6NDUwMTE6IGNoZWNraW5nIHdoZXRoZXIgZndyaXRlX3VubG9ja2Vk
IGlzIGRlY2xhcmVkCmNvbmZpZ3VyZTo0NTAxMTogcmVzdWx0OiBubwpjb25maWd1cmU6NDUwMjE6
IGNoZWNraW5nIHdoZXRoZXIgZ2V0Y191bmxvY2tlZCBpcyBkZWNsYXJlZApjb25maWd1cmU6NDUw
MjE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NTAzMTogY2hlY2tpbmcgd2hldGhlciBnZXRjaGFy
X3VubG9ja2VkIGlzIGRlY2xhcmVkCmNvbmZpZ3VyZTo0NTAzMTogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjQ1MDQxOiBjaGVja2luZyB3aGV0aGVyIHB1dGNfdW5sb2NrZWQgaXMgZGVjbGFyZWQKY29u
ZmlndXJlOjQ1MDQxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDUwNTE6IGNoZWNraW5nIHdoZXRo
ZXIgcHV0Y2hhcl91bmxvY2tlZCBpcyBkZWNsYXJlZApjb25maWd1cmU6NDUwNTE6IHJlc3VsdDog
eWVzCmNvbmZpZ3VyZTo0NTM4NTogY2hlY2tpbmcgdHlwZSBvZiBhcnJheSBhcmd1bWVudCB0byBn
ZXRncm91cHMKY29uZmlndXJlOjQ1NTAwOiByZXN1bHQ6IGdpZF90CmNvbmZpZ3VyZTo0NTUwNTog
Y2hlY2tpbmcgd2hldGhlciBnZXRkZWxpbSBpcyBkZWNsYXJlZApjb25maWd1cmU6NDU1MDU6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZTo0NTUxNjogY2hlY2tpbmcgd2hldGhlciBnZXRkdGFibGVzaXpl
IGlzIGRlY2xhcmVkCmNvbmZpZ3VyZTo0NTUxNjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ1NTI3
OiBjaGVja2luZyBmb3IgT19DTE9FWEVDCmNvbmZpZ3VyZTo0NTU1ODogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjQ1NTYzOiBjaGVja2luZyBmb3IgcHJvbW90ZWQgbW9kZV90IHR5cGUKY29uZmlndXJl
OjQ1NTkyOiByZXN1bHQ6IGludApjb25maWd1cmU6NDU1OTk6IGNoZWNraW5nIHdoZXRoZXIgdGhl
IHV0aW1lcyBmdW5jdGlvbiB3b3Jrcwpjb25maWd1cmU6NDU3NTU6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZTo0NTc3MDogY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgb3B0aW9uIHRvIGFsbG93IHdhcm5p
bmdzCmNvbmZpZ3VyZTo0NTc5OTogcmVzdWx0OiAtV25vLWVycm9yCmNvbmZpZ3VyZTo0NTg0NTog
Y2xhbmcgLVdnbnUtaW1hZ2luYXJ5LWNvbnN0YW50IC1XdW51c2VkLXJlc3VsdCAtZyAtRiAvQXBw
bGljYXRpb25zL1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5w
bGF0Zm9ybS9EZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29y
a3MgLVduby1pZ25vcmVkLWF0dHJpYnV0ZXMgLVduby1mbGFnLWVudW0gLVduby1taXNzaW5nLW1l
dGhvZC1yZXR1cm4tdHlwZSAtV25vLXZhcmlhZGljLW1hY3JvcyAtV25vLXN0cmljdC1wcm90b3R5
cGVzIC1Xbm8tYXZhaWxhYmlsaXR5IC1Xbm8tbnVsbGFiaWxpdHktY29tcGxldGVuZXNzIC1PICAg
IC1FIGNvbmZ0ZXN0LmMgPiBjb25mdGVzdC5vdXQKY29uZmlndXJlOjQ1ODQ4OiAkPyA9IDAKY29u
ZmlndXJlOjQ1ODgyOiBjaGVja2luZyBmb3IgYWxpZ25hcyBhbmQgYWxpZ25vZgpjb25maWd1cmU6
NDU5NTQ6IHJlc3VsdDogeWVzLCA8c3RkYWxpZ24uaD4gbWFjcm9zCmNvbmZpZ3VyZTo0NTk3Njog
Y2hlY2tpbmcgZm9yIGFsbG9jYSBhcyBhIGNvbXBpbGVyIGJ1aWx0LWluCmNvbmZpZ3VyZTo0NjAw
NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ2MDUzOiBjaGVja2luZyBmb3Igc3RhdGljX2Fzc2Vy
dApjb25maWd1cmU6NDYxMDU6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ2MjIzOiBjaGVja2luZyBm
b3IgYm9vbCwgdHJ1ZSwgZmFsc2UKY29uZmlndXJlOjQ2MjQ4OiByZXN1bHQ6IG5vCmNvbmZpZ3Vy
ZTo0NjI2MjogY2hlY2tpbmcgZm9yIF9fYnVpbHRpbl9leHBlY3QKY29uZmlndXJlOjQ2MzA4OiBy
ZXN1bHQ6IHllcwpjb25maWd1cmU6NDY0NjI6IGNoZWNraW5nIGZvciByZWFkbGlua2F0CmNvbmZp
Z3VyZTo0NjUxNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ2NTU2OiBjaGVja2luZyBmb3IgbGli
cmFyeSBjb250YWluaW5nIGNsb2NrX2dldHRpbWUKY29uZmlndXJlOjQ2NjE0OiByZXN1bHQ6IG5v
bmUgcmVxdWlyZWQKY29uZmlndXJlOjQ2NjI0OiBjaGVja2luZyBmb3IgY2xvY2tfZ2V0cmVzCmNv
bmZpZ3VyZTo0NjYyNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ2NjMwOiBjaGVja2luZyBmb3Ig
Y2xvY2tfZ2V0dGltZQpjb25maWd1cmU6NDY2MzA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NjYz
NjogY2hlY2tpbmcgZm9yIGNsb2NrX3NldHRpbWUKY29uZmlndXJlOjQ2NjM2OiByZXN1bHQ6IHll
cwpjb25maWd1cmU6NDY3MDU6IGNoZWNraW5nIGZvciBjb3B5X2ZpbGVfcmFuZ2UKY29uZmlndXJl
OjQ2NzU4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0Njg0MTogY2hlY2tpbmcgZm9yIGRfdHlwZSBt
ZW1iZXIgaW4gZGlyZWN0b3J5IHN0cnVjdApjb25maWd1cmU6NDY4NzQ6IHJlc3VsdDogeWVzCmNv
bmZpZ3VyZTo0Njg5MjogY2hlY2tpbmcgd2hldGhlciAvLyBpcyBkaXN0aW5jdCBmcm9tIC8KY29u
ZmlndXJlOjQ2OTIzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0NjkzNDogY2hlY2tpbmcgd2hldGhl
ciBkdXAyIHdvcmtzCmNvbmZpZ3VyZTo0NzA0MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ3MTQw
OiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIGJhY2t0cmFjZV9zeW1ib2xzX2ZkCmNv
bmZpZ3VyZTo0NzE5ODogcmVzdWx0OiBub25lIHJlcXVpcmVkCmNvbmZpZ3VyZTo0NzI2MDogY2hl
Y2tpbmcgZm9yIGZhY2Nlc3NhdApjb25maWd1cmU6NDczMTM6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZTo0NzM1MTogY2hlY2tpbmcgZm9yIGFjY2Vzcwpjb25maWd1cmU6NDczNTE6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZTo0NzM4ODogY2hlY2tpbmcgd2hldGhlciBmY2htb2RhdCB3b3Jrcwpjb25maWd1
cmU6NDc0Nzk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NzYxNDogY2hlY2tpbmcgd2hldGhlciBm
Y250bCBoYW5kbGVzIEZfRFVQRkQgY29ycmVjdGx5CmNvbmZpZ3VyZTo0NzY5MjogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjQ3NzEwOiBjaGVja2luZyB3aGV0aGVyIGZjbnRsIHVuZGVyc3RhbmRzIEZf
RFVQRkRfQ0xPRVhFQwpjb25maWd1cmU6NDc3ODU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0Nzgz
ODogY2hlY2tpbmcgd2hldGhlciBmZG9wZW5kaXIgaXMgZGVjbGFyZWQKY29uZmlndXJlOjQ3ODM4
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDc4NjI6IGNoZWNraW5nIHdoZXRoZXIgZmRvcGVuZGly
IHdvcmtzCmNvbmZpZ3VyZTo0NzkyNjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ4MTA0OiBjaGVj
a2luZyBmb3IgZmxleGlibGUgYXJyYXkgbWVtYmVyCmNvbmZpZ3VyZTo0ODE0MzogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjQ4MTYyOiBjaGVja2luZyBmb3IgX19mcGVuZGluZwpjb25maWd1cmU6NDgx
OTI6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ4MjE5OiBjaGVja2luZyB3aGV0aGVyIGZyZWUgaXMg
a25vd24gdG8gcHJlc2VydmUgZXJybm8KY29uZmlndXJlOjQ4MjU0OiByZXN1bHQ6IG5vCmNvbmZp
Z3VyZTo0ODMwNTogY2hlY2tpbmcgd2hldGhlciBmc3RhdGF0ICguLi4sIDApIHdvcmtzCmNvbmZp
Z3VyZTo0ODM0NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ4NDAwOiBjaGVja2luZyBmb3Igc3lz
L21vdW50LmgKY29uZmlndXJlOjQ4NDAwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDg0MjU6IGNo
ZWNraW5nIGZvciBzdGF0dmZzIGZ1bmN0aW9uIChTVlI0KQpjb25maWd1cmU6NDg0NzM6IHJlc3Vs
dDogbm8KY29uZmlndXJlOjQ4NTMyOiBjaGVja2luZyBmb3IgdHdvLWFyZ3VtZW50IHN0YXRmcyB3
aXRoIHN0YXRmcy5mX2Zyc2l6ZSBtZW1iZXIKY29uZmlndXJlOjQ4NTc3OiByZXN1bHQ6IG5vCmNv
bmZpZ3VyZTo0ODU4ODogY2hlY2tpbmcgZm9yIDMtYXJndW1lbnQgc3RhdGZzIGZ1bmN0aW9uIChE
RUMgT1NGLzEpCmNvbmZpZ3VyZTo0ODYyNzogcmVzdWx0OiBubwpjb25maWd1cmU6NDg2NDQ6IGNo
ZWNraW5nIGZvciB0d28tYXJndW1lbnQgc3RhdGZzIHdpdGggc3RhdGZzLmZfYnNpemUgbWVtYmVy
IChBSVgsIDQuM0JTRCkKY29uZmlndXJlOjQ4Njg5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDg4
MzA6IGNoZWNraW5nIGZvciBzeXMvZnMvczVwYXJhbS5oCmNvbmZpZ3VyZTo0ODgzMDogcmVzdWx0
OiBubwpjb25maWd1cmU6NDg4MzY6IGNoZWNraW5nIGZvciBzeXMvc3RhdGZzLmgKY29uZmlndXJl
OjQ4ODM2OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0ODg0NDogY2hlY2tpbmcgZm9yIHN0YXRmcyB0
aGF0IHRydW5jYXRlcyBibG9jayBjb3VudHMKY29uZmlndXJlOjQ4ODgwOiByZXN1bHQ6IG5vCmNv
bmZpZ3VyZTo0ODkzMjogY2hlY2tpbmcgZm9yIGZ1dGltZW5zCmNvbmZpZ3VyZTo0ODk4NTogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjQ5MDA1OiBjaGVja2luZyB3aGV0aGVyIGZ1dGltZW5zIHdvcmtz
CmNvbmZpZ3VyZTo0OTA5ODogcmVzdWx0OiBubwpjb25maWd1cmU6NDkxNDA6IGNoZWNraW5nIGZv
ciBnZXRsaW5lCmNvbmZpZ3VyZTo0OTE5MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ5MjA4OiBj
aGVja2luZyBmb3Igd29ya2luZyBnZXRsaW5lIGZ1bmN0aW9uCmNvbmZpZ3VyZTo0OTI5NDogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjQ5MzU4OiBjaGVja2luZyBmb3IgZ2V0bG9hZGF2Zwpjb25maWd1
cmU6NDk0MTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0OTgzNDogY2hlY2tpbmcgZm9yIHN5cy9s
b2FkYXZnLmgKY29uZmlndXJlOjQ5ODM0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0OTg0NjogY2hl
Y2tpbmcgd2hldGhlciBnZXRsb2FkYXZnIGlzIGRlY2xhcmVkCmNvbmZpZ3VyZTo0OTg0NjogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjUwMTI1OiBjaGVja2luZyBmb3IgZ2V0cmFuZG9tCmNvbmZpZ3Vy
ZTo1MDE4MzogcmVzdWx0OiBubwpjb25maWd1cmU6NTAzNTE6IGNoZWNraW5nIGZvciBnZXR0aW1l
b2ZkYXkgd2l0aCBQT1NJWCBzaWduYXR1cmUKY29uZmlndXJlOjUwNDEwOiByZXN1bHQ6IHllcwpj
b25maWd1cmU6NTA1MDU6IGNoZWNraW5nIHdoZXRoZXIgdGhlIGNvbXBpbGVyIHN1cHBvcnRzIHRo
ZSBfX2lubGluZSBrZXl3b3JkCmNvbmZpZ3VyZTo1MDUzMzogcmVzdWx0OiB5ZXMKY29uZmlndXJl
OjUwNTU3OiBjaGVja2luZyBmb3IgZ21wLmgKY29uZmlndXJlOjUwNTU3OiByZXN1bHQ6IG5vCmNv
bmZpZ3VyZTo1MDU1NzogY2hlY2tpbmcgZm9yIGdtcC9nbXAuaApjb25maWd1cmU6NTA1NTc6IHJl
c3VsdDogbm8KY29uZmlndXJlOjUwODYwOiBjaGVja2luZyBmb3IgbWVtbWVtCmNvbmZpZ3VyZTo1
MDg2MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjUwODc2OiBjaGVja2luZyB3aGV0aGVyIG1lbW1l
bSB3b3Jrcwpjb25maWd1cmU6NTA5NjA6IHJlc3VsdDogbm8KY29uZmlndXJlOjUxMDExOiBjaGVj
a2luZyBmb3IgbWVtcGNweQpjb25maWd1cmU6NTEwNjQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjUx
MTMwOiBjaGVja2luZyBmb3IgbWVtcmNocgpjb25maWd1cmU6NTExMzA6IHJlc3VsdDogbm8KY29u
ZmlndXJlOjUxMTc4OiBjaGVja2luZyBmb3IgbWVtc2V0X2V4cGxpY2l0CmNvbmZpZ3VyZTo1MTIz
MTogcmVzdWx0OiBubwpjb25maWd1cmU6NTEyNjQ6IGNoZWNraW5nIGZvciBleHBsaWNpdF9tZW1z
ZXQKY29uZmlndXJlOjUxMjY0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1MTI3MzogY2hlY2tpbmcg
Zm9yIHdvcmtpbmcgbWVtc2V0X3MKY29uZmlndXJlOjUxMzIxOiByZXN1bHQ6IHllcwpjb25maWd1
cmU6NTEzNjQ6IGNoZWNraW5nIGZvciBta29zdGVtcApjb25maWd1cmU6NTE0MTc6IHJlc3VsdDog
eWVzCmNvbmZpZ3VyZTo1MTUzNTogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBuYW5v
c2xlZXAKY29uZmlndXJlOjUxNTkzOiByZXN1bHQ6IG5vbmUgcmVxdWlyZWQKY29uZmlndXJlOjUx
NjE0OiBjaGVja2luZyBmb3Igd29ya2luZyBuYW5vc2xlZXAKY29uZmlndXJlOjUxNzI1OiByZXN1
bHQ6IG5vIChtaXNoYW5kbGVzIGxhcmdlIGFyZ3VtZW50cykKY29uZmlndXJlOjUxNzc2OiBjaGVj
a2luZyBmb3Igc3lzL3BzdGF0LmgKY29uZmlndXJlOjUxNzc2OiByZXN1bHQ6IG5vCmNvbmZpZ3Vy
ZTo1MTc4MzogY2hlY2tpbmcgZm9yIHN5cy9zeXNtcC5oCmNvbmZpZ3VyZTo1MTc4MzogcmVzdWx0
OiBubwpjb25maWd1cmU6NTE3OTA6IGNoZWNraW5nIGZvciBzeXMvcGFyYW0uaApjb25maWd1cmU6
NTE3OTA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1MTc5ODogY2hlY2tpbmcgZm9yIHN5cy9zeXNj
dGwuaApjb25maWd1cmU6NTE3OTg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1MTgxMTogY2hlY2tp
bmcgZm9yIHNjaGVkX2dldGFmZmluaXR5X25wCmNvbmZpZ3VyZTo1MTgxMTogcmVzdWx0OiBubwpj
b25maWd1cmU6NTE4MTc6IGNoZWNraW5nIGZvciBwc3RhdF9nZXRkeW5hbWljCmNvbmZpZ3VyZTo1
MTgxNzogcmVzdWx0OiBubwpjb25maWd1cmU6NTE4MjM6IGNoZWNraW5nIGZvciBzeXNtcApjb25m
aWd1cmU6NTE4MjM6IHJlc3VsdDogbm8KY29uZmlndXJlOjUxODI5OiBjaGVja2luZyBmb3Igc3lz
Y3RsCmNvbmZpZ3VyZTo1MTgyOTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjUxODM4OiBjaGVja2lu
ZyBmb3Igc2NoZWRfZ2V0YWZmaW5pdHkKY29uZmlndXJlOjUxODkxOiByZXN1bHQ6IG5vCmNvbmZp
Z3VyZTo1MTk2MjogY2hlY2tpbmcgZm9yIHBpcGUyCmNvbmZpZ3VyZTo1MjAxNTogcmVzdWx0OiBu
bwpjb25maWd1cmU6NTIwNTk6IGNoZWNraW5nIHdoZXRoZXIgc2lnbmF0dXJlIG9mIHBzZWxlY3Qg
Y29uZm9ybXMgdG8gUE9TSVgKY29uZmlndXJlOjUyMDkxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6
NTIwOTQ6IGNoZWNraW5nIHdoZXRoZXIgcHNlbGVjdCBkZXRlY3RzIGludmFsaWQgZmRzCmNvbmZp
Z3VyZTo1MjE2MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjUyMjAzOiBjaGVja2luZyB3aGV0aGVy
IHB0aHJlYWRfc2lnbWFzayBpcyBhIG1hY3JvCmNvbmZpZ3VyZTo1MjIzMTogcmVzdWx0OiBubwpj
b25maWd1cmU6NTIyNjI6IGNoZWNraW5nIHdoZXRoZXIgcHRocmVhZF9zaWdtYXNrIHdvcmtzIHdp
dGhvdXQgLWxwdGhyZWFkCmNvbmZpZ3VyZTo1MjMwODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjUy
MzIxOiBjaGVja2luZyB3aGV0aGVyIHB0aHJlYWRfc2lnbWFzayByZXR1cm5zIGVycm9yIG51bWJl
cnMKY29uZmlndXJlOjUyMzcxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTIzODI6IGNoZWNraW5n
IHdoZXRoZXIgcHRocmVhZF9zaWdtYXNrIHVuYmxvY2tzIHNpZ25hbHMgY29ycmVjdGx5CmNvbmZp
Z3VyZTo1MjQ2MDogcmVzdWx0OiBndWVzc2luZyB5ZXMKY29uZmlndXJlOjUyNTI1OiBjaGVja2lu
ZyBmb3IgeGF0dHIgbGlicmFyeSB3aXRoIEFUVFJfQUNUSU9OX1BFUk1JU1NJT05TCmNvbmZpZ3Vy
ZTo1MjU3MDogcmVzdWx0OiBubwpjb25maWd1cmU6NTI1NzM6IFdBUk5JTkc6IGxpYmF0dHIgZGV2
ZWxvcG1lbnQgbGlicmFyeSB3YXMgbm90IGZvdW5kIG9yIG5vdCB1c2FibGUuCmNvbmZpZ3VyZTo1
MjU3NTogV0FSTklORzogR05VIEVtYWNzIHdpbGwgYmUgYnVpbHQgd2l0aG91dCB4YXR0ciBzdXBw
b3J0Lgpjb25maWd1cmU6NTI2MDI6IGNoZWNraW5nIHdoZXRoZXIgcmVhZGxpbmsgc2lnbmF0dXJl
IGlzIGNvcnJlY3QKY29uZmlndXJlOjUyNjM0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTI2Mzc6
IGNoZWNraW5nIHdoZXRoZXIgcmVhZGxpbmsgaGFuZGxlcyB0cmFpbGluZyBzbGFzaCBjb3JyZWN0
bHkKY29uZmlndXJlOjUyNjk0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1MjcxMDogY2hlY2tpbmcg
d2hldGhlciByZWFkbGluayB0cnVuY2F0ZXMgcmVzdWx0cyBjb3JyZWN0bHkKY29uZmlndXJlOjUy
NzY2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTI4MjU6IGNoZWNraW5nIGZvciByZWFkbGlua2F0
CmNvbmZpZ3VyZTo1Mjg3ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjUyODk5OiBjaGVja2luZyB3
aGV0aGVyIHJlYWRsaW5rYXQgc2lnbmF0dXJlIGlzIGNvcnJlY3QKY29uZmlndXJlOjUyOTMxOiBy
ZXN1bHQ6IHllcwpjb25maWd1cmU6NTI5ODk6IGNoZWNraW5nIHdoZXRoZXIgcmVhbGxvYyAoLi4u
LCAwKSByZXR1cm5zIG5vbm51bGwKY29uZmlndXJlOjUzMDQxOiByZXN1bHQ6IHllcwpjb25maWd1
cmU6NTMxMDA6IGNoZWNraW5nIGZvciB3b3JraW5nIHJlX2NvbXBpbGVfcGF0dGVybgpjb25maWd1
cmU6NTM0Mzg6IHJlc3VsdDogbm8KY29uZmlndXJlOjUzNTE5OiBjaGVja2luZyBmb3IgbGliaW50
bC5oCmNvbmZpZ3VyZTo1MzUxOTogcmVzdWx0OiBubwpjb25maWd1cmU6NTM1Mjc6IGNoZWNraW5n
IHdoZXRoZXIgaXNibGFuayBpcyBkZWNsYXJlZApjb25maWd1cmU6NTM1Mjc6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZTo1MzU0MzogY2hlY2tpbmcgZm9yIHNpZzJzdHIKY29uZmlndXJlOjUzNTQzOiBy
ZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1MzU0OTogY2hlY2tpbmcgZm9yIHN0cjJzaWcKY29uZmlndXJl
OjUzNTQ5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1MzU5ODogY2hlY2tpbmcgZm9yIHNpZ2Rlc2Ny
X25wCmNvbmZpZ3VyZTo1MzU5ODogcmVzdWx0OiBubwpjb25maWd1cmU6NTM2NDQ6IGNoZWNraW5n
IGZvciBzb2NrbGVuX3QKY29uZmlndXJlOjUzNjQ0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTM3
MTA6IGNoZWNraW5nIGZvciBzc2l6ZV90CmNvbmZpZ3VyZTo1MzczODogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjUzNzg2OiBjaGVja2luZyBmb3Igc3RydWN0IHN0YXQuc3RfYXRpbS50dl9uc2VjCmNv
bmZpZ3VyZTo1Mzc4NjogcmVzdWx0OiBubwpjb25maWd1cmU6NTM4NDA6IGNoZWNraW5nIGZvciBz
dHJ1Y3Qgc3RhdC5zdF9hdGltZXNwZWMudHZfbnNlYwpjb25maWd1cmU6NTM4NDA6IHJlc3VsdDog
eWVzCmNvbmZpZ3VyZTo1Mzg4NDogY2hlY2tpbmcgZm9yIHN0cnVjdCBzdGF0LnN0X2JpcnRodGlt
ZXNwZWMudHZfbnNlYwpjb25maWd1cmU6NTM4ODQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1NDM4
MTogY2hlY2tpbmcgZm9yIHN0cGNweQpjb25maWd1cmU6NTQ0MzQ6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZTo1NDUxMzogY2hlY2tpbmcgZm9yIHdvcmtpbmcgc3Rybmxlbgpjb25maWd1cmU6NTQ1OTM6
IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1NDY0ODogY2hlY2tpbmcgd2hldGhlciBzdHJ0b2ltYXgg
d29ya3MKY29uZmlndXJlOjU0NzIxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTQ3Nzk6IGNoZWNr
aW5nIHdoZXRoZXIgc3ltbGluayBoYW5kbGVzIHRyYWlsaW5nIHNsYXNoIGNvcnJlY3RseQpjb25m
aWd1cmU6NTQ4MzQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjU0OTI1OiBjaGVja2luZyB3aGV0aGVy
IGxvY2FsdGltZV9yIGlzIGRlY2xhcmVkCmNvbmZpZ3VyZTo1NDkyNTogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjU0OTUwOiBjaGVja2luZyB3aGV0aGVyIGxvY2FsdGltZV9yIGlzIGNvbXBhdGlibGUg
d2l0aCBpdHMgUE9TSVggc2lnbmF0dXJlCmNvbmZpZ3VyZTo1NDk5MzogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjU1MDg2OiBjaGVja2luZyB3aGV0aGVyIGxvY2FsdGltZSB3b3JrcyBldmVuIG5lYXIg
ZXh0cmVtYQpjb25maWd1cmU6NTUxMzQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1NTE0MjogY2hl
Y2tpbmcgZm9yIHRpbWV6b25lX3QKY29uZmlndXJlOjU1MTQyOiByZXN1bHQ6IG5vCmNvbmZpZ3Vy
ZTo1NTE1ODogY2hlY2tpbmcgZm9yIHR6YWxsb2MKY29uZmlndXJlOjU1MjExOiByZXN1bHQ6IG5v
CmNvbmZpZ3VyZTo1NTI3NDogY2hlY2tpbmcgZm9yIHRpbWVnbQpjb25maWd1cmU6NTUzMjc6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZTo1NTM5MDogY2hlY2tpbmcgd2hldGhlciB0aW1lcl9zZXR0aW1l
IGlzIGRlY2xhcmVkCmNvbmZpZ3VyZTo1NTM5MDogcmVzdWx0OiBubwpjb25maWd1cmU6NTU1MjE6
IGNoZWNraW5nIGZvciB1dGltZW5zYXQKY29uZmlndXJlOjU1NTc0OiByZXN1bHQ6IHllcwpjb25m
aWd1cmU6NTU1OTQ6IGNoZWNraW5nIHdoZXRoZXIgdXRpbWVuc2F0IHdvcmtzCmNvbmZpZ3VyZTo1
NTcyMTogcmVzdWx0OiBubwpjb25maWd1cmU6NTU3NjI6IGNoZWNraW5nIGZvciB2YXJpYWJsZS1s
ZW5ndGggYXJyYXlzCmNvbmZpZ3VyZTo1NTgzMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU3MzIw
OiBjaGVja2luZyBmb3IgcmF3bWVtY2hyCmNvbmZpZ3VyZTo1NzMyMDogcmVzdWx0OiBubwpjb25m
aWd1cmU6NTcxODg6IGNoZWNraW5nIHdoZXRoZXIgb3BlbiByZWNvZ25pemVzIGEgdHJhaWxpbmcg
c2xhc2gKY29uZmlndXJlOjU3MjQ5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1NjA4NDogY2hlY2tp
bmcgZm9yIGV1aWRhY2Nlc3MKY29uZmlndXJlOjU2MDg0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1
NjEwOTogY2hlY2tpbmcgZm9yIGZhY2Nlc3NhdApjb25maWd1cmU6NTYxNjI6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZTo1NjE3NjogY2hlY2tpbmcgZm9yIGxpYmdlbi5oCmNvbmZpZ3VyZTo1NjE3Njog
cmVzdWx0OiB5ZXMKY29uZmlndXJlOjU2MTg0OiBjaGVja2luZyBmb3IgZ2V0Z3JvdXBzCmNvbmZp
Z3VyZTo1NjE4NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjU2MjQ4OiBjaGVja2luZyBmb3Igd29y
a2luZyBnZXRncm91cHMKY29uZmlndXJlOjU2Mjk0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTYz
MTY6IGNoZWNraW5nIGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcgZWFjY2Vzcwpjb25maWd1cmU6NTYz
NzQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjU2Mzg0OiBjaGVja2luZyBmb3IgZWFjY2Vzcwpjb25m
aWd1cmU6NTYzODQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjU3MDM1OiBjaGVja2luZyBmb3IgZ3Jv
dXBfbWVtYmVyCmNvbmZpZ3VyZTo1NzAzNTogcmVzdWx0OiBubwpjb25maWd1cmU6NTY3ODQ6IGNo
ZWNraW5nIGZvciBnZXRncm91cHMKY29uZmlndXJlOjU2Nzg0OiByZXN1bHQ6IHllcwpjb25maWd1
cmU6NTY4NDg6IGNoZWNraW5nIGZvciB3b3JraW5nIGdldGdyb3Vwcwpjb25maWd1cmU6NTY4OTQ6
IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1NjkyMjogY2hlY2tpbmcgd2hldGhlciBnZXRncm91cHMg
aGFuZGxlcyBuZWdhdGl2ZSB2YWx1ZXMKY29uZmlndXJlOjU2OTY5OiByZXN1bHQ6IG5vCmNvbmZp
Z3VyZTo1NzUwOTogY2hlY2tpbmcgZm9yIGZ1dGltZXMKY29uZmlndXJlOjU3NTYyOiByZXN1bHQ6
IHllcwpjb25maWd1cmU6NTc1Nzg6IGNoZWNraW5nIGZvciBmdXRpbWVzYXQKY29uZmlndXJlOjU3
NjMxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo1NzY0NzogY2hlY2tpbmcgZm9yIGx1dGltZXMKY29u
ZmlndXJlOjU3NzAwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTc3MTY6IGNoZWNraW5nIGZvciBm
dXRpbWVucwpjb25maWd1cmU6NTc3Njk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1Nzc4NTogY2hl
Y2tpbmcgZm9yIHV0aW1lbnNhdApjb25maWd1cmU6NTc4Mzg6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZTo1NzEzODogY2hlY2tpbmcgZm9yIF9fbWt0aW1lX2ludGVybmFsCmNvbmZpZ3VyZTo1NzEzODog
cmVzdWx0OiBubwpjb25maWd1cmU6NTgyMzg6IGNoZWNraW5nIGZvciB0aW1lcl9nZXRvdmVycnVu
CmNvbmZpZ3VyZTo1ODIzODogcmVzdWx0OiBubwpjb25maWd1cmU6NTkyMTY6IHVwZGF0aW5nIGNh
Y2hlIC92YXIvZm9sZGVycy8xZC9rXzZ0MjVmOTRzbDgzc3pxYmY4Z3BrcmgwMDAwZ24vVC8vY29u
ZmlnLmNhY2hlLnRleHQtaW5kZXgKY29uZmlndXJlOjU5MzQ4OiBjcmVhdGluZyAuL2NvbmZpZy5z
dGF0dXMKCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgUnVubmluZyBjb25maWcuc3Rh
dHVzLiAjIwojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjCgpUaGlzIGZpbGUgd2FzIGV4dGVu
ZGVkIGJ5IEdOVSBFbWFjcyBjb25maWcuc3RhdHVzIDMxLjAuNTAsIHdoaWNoIHdhcwpnZW5lcmF0
ZWQgYnkgR05VIEF1dG9jb25mIDIuNzIuICBJbnZvY2F0aW9uIGNvbW1hbmQgbGluZSB3YXMKCiAg
Q09ORklHX0ZJTEVTICAgID0gCiAgQ09ORklHX0hFQURFUlMgID0gCiAgQ09ORklHX0xJTktTICAg
ID0gCiAgQ09ORklHX0NPTU1BTkRTID0gCiAgJCAuL2NvbmZpZy5zdGF0dXMgCgpvbiBtaW5pCgpj
b25maWcuc3RhdHVzOjI2MjE6IGNyZWF0aW5nIHNyYy92ZXJib3NlLm1rCmNvbmZpZy5zdGF0dXM6
MjYyMTogY3JlYXRpbmcgc3JjL2VtYWNzLW1vZHVsZS5oCmNvbmZpZy5zdGF0dXM6MjYyMTogY3Jl
YXRpbmcgbmV4dHN0ZXAvQ29jb2EvRW1hY3MuYmFzZS9Db250ZW50cy9JbmZvLnBsaXN0CmNvbmZp
Zy5zdGF0dXM6MjYyMTogY3JlYXRpbmcgbmV4dHN0ZXAvQ29jb2EvRW1hY3MuYmFzZS9Db250ZW50
cy9SZXNvdXJjZXMvRW5nbGlzaC5scHJvai9JbmZvUGxpc3Quc3RyaW5ncwpjb25maWcuc3RhdHVz
OjI2MjE6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MjYyMTogY3JlYXRpbmcgbGli
L2dudWxpYi5tawpjb25maWcuc3RhdHVzOjI2MjE6IGNyZWF0aW5nIC4vZG9jL21hbi9lbWFjcy4x
CmNvbmZpZy5zdGF0dXM6MjYyMTogY3JlYXRpbmcgbGliL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6
MjYyMTogY3JlYXRpbmcgbGliLXNyYy9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjI2MjE6IGNyZWF0
aW5nIG9sZFhNZW51L01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MjYyMTogY3JlYXRpbmcgc3JjL01h
a2VmaWxlCmNvbmZpZy5zdGF0dXM6MjYyMTogY3JlYXRpbmcgbHdsaWIvTWFrZWZpbGUKY29uZmln
LnN0YXR1czoyNjIxOiBjcmVhdGluZyBuZXh0c3RlcC9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjI2
MjE6IGNyZWF0aW5nIG50L01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MjYyMTogY3JlYXRpbmcgZG9j
L2VtYWNzL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MjYyMTogY3JlYXRpbmcgZG9jL21pc2MvTWFr
ZWZpbGUKY29uZmlnLnN0YXR1czoyNjIxOiBjcmVhdGluZyBkb2MvbGlzcGludHJvL01ha2VmaWxl
CmNvbmZpZy5zdGF0dXM6MjYyMTogY3JlYXRpbmcgZG9jL2xpc3ByZWYvTWFrZWZpbGUKY29uZmln
LnN0YXR1czoyNjIxOiBjcmVhdGluZyBsaXNwL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MjYyMTog
Y3JlYXRpbmcgbGVpbS9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjI2MjE6IGNyZWF0aW5nIHRlc3Qv
TWFrZWZpbGUKY29uZmlnLnN0YXR1czoyNjIxOiBjcmVhdGluZyB0ZXN0L21hbnVhbC9ub3Zlcmxh
eS9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjI2MjE6IGNyZWF0aW5nIHRlc3QvaW5mcmEvTWFrZWZp
bGUKY29uZmlnLnN0YXR1czoyNjIxOiBjcmVhdGluZyBhZG1pbi9jaGFyc2V0cy9NYWtlZmlsZQpj
b25maWcuc3RhdHVzOjI2MjE6IGNyZWF0aW5nIGFkbWluL3VuaWRhdGEvTWFrZWZpbGUKY29uZmln
LnN0YXR1czoyNjIxOiBjcmVhdGluZyBhZG1pbi9ncmFtbWFycy9NYWtlZmlsZQpjb25maWcuc3Rh
dHVzOjI2MjE6IGNyZWF0aW5nIGphdmEvTWFrZWZpbGUKY29uZmlnLnN0YXR1czoyNjIxOiBjcmVh
dGluZyBjcm9zcy9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjI2MjE6IGNyZWF0aW5nIGphdmEvQW5k
cm9pZE1hbmlmZXN0LnhtbApjb25maWcuc3RhdHVzOjI2MjE6IGNyZWF0aW5nIHNyYy9jb25maWcu
aApjb25maWcuc3RhdHVzOjI4NTI6IGV4ZWN1dGluZyBzcmMvZXBhdGhzLmggY29tbWFuZHMKY29u
ZmlnLnN0YXR1czoyODUyOiBleGVjdXRpbmcgc3JjLy5nZGJpbml0IGNvbW1hbmRzCmNvbmZpZy5z
dGF0dXM6Mjg1MjogZXhlY3V0aW5nIGRvYy9lbWFjcy9lbWFjc3Zlci50ZXhpIGNvbW1hbmRzCmNv
bmZpZy5zdGF0dXM6Mjg1MjogZXhlY3V0aW5nIGV0Yy1yZWZjYXJkcy1lbWFjc3Zlci50ZXggY29t
bWFuZHMKCiMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgQ2FjaGUgdmFyaWFibGVzLiAjIwojIyAt
LS0tLS0tLS0tLS0tLS0tICMjCgphY19jdl9hbGlnbm9mX2ludD00CmFjX2N2X2FsaWdub2ZfbG9u
Zz04CmFjX2N2X2FsaWdub2ZfbG9uZ19sb25nPTgKYWNfY3ZfYnVpbGQ9YWFyY2g2NC1hcHBsZS1k
YXJ3aW4yNC40LjAKYWNfY3ZfY19iaWdlbmRpYW49bm8KYWNfY3ZfY19jb21waWxlcl9nbnU9eWVz
CmFjX2N2X2NfZmxleG1lbWJlcj15ZXMKYWNfY3ZfY19pbmxpbmU9aW5saW5lCmFjX2N2X2NfcmVz
dHJpY3Q9X19yZXN0cmljdF9fCmFjX2N2X2NfdHlwZW9mPXR5cGVvZgphY19jdl9jX3VuZGVjbGFy
ZWRfYnVpbHRpbl9vcHRpb25zPSdub25lIG5lZWRlZCcKYWNfY3ZfY192YXJhcnJheXM9eWVzCmFj
X2N2X2Vudl9BTFNBX0NGTEFHU19zZXQ9CmFjX2N2X2Vudl9BTFNBX0NGTEFHU192YWx1ZT0KYWNf
Y3ZfZW52X0FMU0FfTElCU19zZXQ9CmFjX2N2X2Vudl9BTFNBX0xJQlNfdmFsdWU9CmFjX2N2X2Vu
dl9BTkRST0lEX0NDX3NldD0KYWNfY3ZfZW52X0FORFJPSURfQ0NfdmFsdWU9CmFjX2N2X2Vudl9B
TkRST0lEX0NGTEFHU19zZXQ9CmFjX2N2X2Vudl9BTkRST0lEX0NGTEFHU192YWx1ZT0KYWNfY3Zf
ZW52X0FQS1NJR05FUl9zZXQ9CmFjX2N2X2Vudl9BUEtTSUdORVJfdmFsdWU9CmFjX2N2X2Vudl9D
QUlST19DRkxBR1Nfc2V0PQphY19jdl9lbnZfQ0FJUk9fQ0ZMQUdTX3ZhbHVlPQphY19jdl9lbnZf
Q0FJUk9fTElCU19zZXQ9CmFjX2N2X2Vudl9DQUlST19MSUJTX3ZhbHVlPQphY19jdl9lbnZfQ0FJ
Uk9fWENCX0NGTEFHU19zZXQ9CmFjX2N2X2Vudl9DQUlST19YQ0JfQ0ZMQUdTX3ZhbHVlPQphY19j
dl9lbnZfQ0FJUk9fWENCX0xJQlNfc2V0PQphY19jdl9lbnZfQ0FJUk9fWENCX0xJQlNfdmFsdWU9
CmFjX2N2X2Vudl9DQUlST19YTElCX0NGTEFHU19zZXQ9CmFjX2N2X2Vudl9DQUlST19YTElCX0NG
TEFHU192YWx1ZT0KYWNfY3ZfZW52X0NBSVJPX1hMSUJfTElCU19zZXQ9CmFjX2N2X2Vudl9DQUlS
T19YTElCX0xJQlNfdmFsdWU9CmFjX2N2X2Vudl9DQ0Nfc2V0PQphY19jdl9lbnZfQ0NDX3ZhbHVl
PQphY19jdl9lbnZfQ0Nfc2V0PXNldAphY19jdl9lbnZfQ0NfdmFsdWU9Y2xhbmcKYWNfY3ZfZW52
X0NGTEFHU19zZXQ9c2V0CmFjX2N2X2Vudl9DRkxBR1NfdmFsdWU9Jy1XZ251LWltYWdpbmFyeS1j
b25zdGFudCAtV3VudXNlZC1yZXN1bHQgLWcgLUYgL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAvQ29u
dGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9NYWNPU1gucGxhdGZvcm0vRGV2ZWxvcGVyL1NES3Mv
TWFjT1NYLnNkay9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzIC1Xbm8taWdub3JlZC1hdHRyaWJ1
dGVzIC1Xbm8tZmxhZy1lbnVtIC1Xbm8tbWlzc2luZy1tZXRob2QtcmV0dXJuLXR5cGUgLVduby12
YXJpYWRpYy1tYWNyb3MgLVduby1zdHJpY3QtcHJvdG90eXBlcyAtV25vLWF2YWlsYWJpbGl0eSAt
V25vLW51bGxhYmlsaXR5LWNvbXBsZXRlbmVzcycKYWNfY3ZfZW52X0NQUEZMQUdTX3NldD0KYWNf
Y3ZfZW52X0NQUEZMQUdTX3ZhbHVlPQphY19jdl9lbnZfQ1BQX3NldD0KYWNfY3ZfZW52X0NQUF92
YWx1ZT0KYWNfY3ZfZW52X0NYWEZMQUdTX3NldD0KYWNfY3ZfZW52X0NYWEZMQUdTX3ZhbHVlPQph
Y19jdl9lbnZfQ1hYX3NldD0KYWNfY3ZfZW52X0NYWF92YWx1ZT0KYWNfY3ZfZW52X0RCVVNfQ0ZM
QUdTX3NldD0KYWNfY3ZfZW52X0RCVVNfQ0ZMQUdTX3ZhbHVlPQphY19jdl9lbnZfREJVU19MSUJT
X3NldD0KYWNfY3ZfZW52X0RCVVNfTElCU192YWx1ZT0KYWNfY3ZfZW52X0ZPTlRDT05GSUdfQ0ZM
QUdTX3NldD0KYWNfY3ZfZW52X0ZPTlRDT05GSUdfQ0ZMQUdTX3ZhbHVlPQphY19jdl9lbnZfRk9O
VENPTkZJR19MSUJTX3NldD0KYWNfY3ZfZW52X0ZPTlRDT05GSUdfTElCU192YWx1ZT0KYWNfY3Zf
ZW52X0ZSRUVUWVBFX0NGTEFHU19zZXQ9CmFjX2N2X2Vudl9GUkVFVFlQRV9DRkxBR1NfdmFsdWU9
CmFjX2N2X2Vudl9GUkVFVFlQRV9MSUJTX3NldD0KYWNfY3ZfZW52X0ZSRUVUWVBFX0xJQlNfdmFs
dWU9CmFjX2N2X2Vudl9HQ09ORl9DRkxBR1Nfc2V0PQphY19jdl9lbnZfR0NPTkZfQ0ZMQUdTX3Zh
bHVlPQphY19jdl9lbnZfR0NPTkZfTElCU19zZXQ9CmFjX2N2X2Vudl9HQ09ORl9MSUJTX3ZhbHVl
PQphY19jdl9lbnZfR0ZJTEVOT1RJRllfQ0ZMQUdTX3NldD0KYWNfY3ZfZW52X0dGSUxFTk9USUZZ
X0NGTEFHU192YWx1ZT0KYWNfY3ZfZW52X0dGSUxFTk9USUZZX0xJQlNfc2V0PQphY19jdl9lbnZf
R0ZJTEVOT1RJRllfTElCU192YWx1ZT0KYWNfY3ZfZW52X0dPQkpFQ1RfQ0ZMQUdTX3NldD0KYWNf
Y3ZfZW52X0dPQkpFQ1RfQ0ZMQUdTX3ZhbHVlPQphY19jdl9lbnZfR09CSkVDVF9MSUJTX3NldD0K
YWNfY3ZfZW52X0dPQkpFQ1RfTElCU192YWx1ZT0KYWNfY3ZfZW52X0dTRVRUSU5HU19DRkxBR1Nf
c2V0PQphY19jdl9lbnZfR1NFVFRJTkdTX0NGTEFHU192YWx1ZT0KYWNfY3ZfZW52X0dTRVRUSU5H
U19MSUJTX3NldD0KYWNfY3ZfZW52X0dTRVRUSU5HU19MSUJTX3ZhbHVlPQphY19jdl9lbnZfR1RL
X0NGTEFHU19zZXQ9CmFjX2N2X2Vudl9HVEtfQ0ZMQUdTX3ZhbHVlPQphY19jdl9lbnZfR1RLX0xJ
QlNfc2V0PQphY19jdl9lbnZfR1RLX0xJQlNfdmFsdWU9CmFjX2N2X2Vudl9IQVJGQlVaWl9DRkxB
R1Nfc2V0PQphY19jdl9lbnZfSEFSRkJVWlpfQ0ZMQUdTX3ZhbHVlPQphY19jdl9lbnZfSEFSRkJV
WlpfTElCU19zZXQ9CmFjX2N2X2Vudl9IQVJGQlVaWl9MSUJTX3ZhbHVlPQphY19jdl9lbnZfSU1B
R0VNQUdJQ0tfQ0ZMQUdTX3NldD0KYWNfY3ZfZW52X0lNQUdFTUFHSUNLX0NGTEFHU192YWx1ZT0K
YWNfY3ZfZW52X0lNQUdFTUFHSUNLX0xJQlNfc2V0PQphY19jdl9lbnZfSU1BR0VNQUdJQ0tfTElC
U192YWx1ZT0KYWNfY3ZfZW52X0pBUlNJR05FUl9zZXQ9CmFjX2N2X2Vudl9KQVJTSUdORVJfdmFs
dWU9CmFjX2N2X2Vudl9KQVZBQ19zZXQ9CmFjX2N2X2Vudl9KQVZBQ192YWx1ZT0KYWNfY3ZfZW52
X0tRVUVVRV9DRkxBR1Nfc2V0PQphY19jdl9lbnZfS1FVRVVFX0NGTEFHU192YWx1ZT0KYWNfY3Zf
ZW52X0tRVUVVRV9MSUJTX3NldD0KYWNfY3ZfZW52X0tRVUVVRV9MSUJTX3ZhbHVlPQphY19jdl9l
bnZfTENNUzJfQ0ZMQUdTX3NldD0KYWNfY3ZfZW52X0xDTVMyX0NGTEFHU192YWx1ZT0KYWNfY3Zf
ZW52X0xDTVMyX0xJQlNfc2V0PQphY19jdl9lbnZfTENNUzJfTElCU192YWx1ZT0KYWNfY3ZfZW52
X0xERkxBR1Nfc2V0PQphY19jdl9lbnZfTERGTEFHU192YWx1ZT0KYWNfY3ZfZW52X0xJQkdOVVRM
U19DRkxBR1Nfc2V0PQphY19jdl9lbnZfTElCR05VVExTX0NGTEFHU192YWx1ZT0KYWNfY3ZfZW52
X0xJQkdOVVRMU19MSUJTX3NldD0KYWNfY3ZfZW52X0xJQkdOVVRMU19MSUJTX3ZhbHVlPQphY19j
dl9lbnZfTElCT1RGX0NGTEFHU19zZXQ9CmFjX2N2X2Vudl9MSUJPVEZfQ0ZMQUdTX3ZhbHVlPQph
Y19jdl9lbnZfTElCT1RGX0xJQlNfc2V0PQphY19jdl9lbnZfTElCT1RGX0xJQlNfdmFsdWU9CmFj
X2N2X2Vudl9MSUJTRUNDT01QX0NGTEFHU19zZXQ9CmFjX2N2X2Vudl9MSUJTRUNDT01QX0NGTEFH
U192YWx1ZT0KYWNfY3ZfZW52X0xJQlNFQ0NPTVBfTElCU19zZXQ9CmFjX2N2X2Vudl9MSUJTRUND
T01QX0xJQlNfdmFsdWU9CmFjX2N2X2Vudl9MSUJTWVNURU1EX0NGTEFHU19zZXQ9CmFjX2N2X2Vu
dl9MSUJTWVNURU1EX0NGTEFHU192YWx1ZT0KYWNfY3ZfZW52X0xJQlNZU1RFTURfTElCU19zZXQ9
CmFjX2N2X2Vudl9MSUJTWVNURU1EX0xJQlNfdmFsdWU9CmFjX2N2X2Vudl9MSUJTX3NldD0KYWNf
Y3ZfZW52X0xJQlNfdmFsdWU9CmFjX2N2X2Vudl9MSUJYTUwyX0NGTEFHU19zZXQ9CmFjX2N2X2Vu
dl9MSUJYTUwyX0NGTEFHU192YWx1ZT0KYWNfY3ZfZW52X0xJQlhNTDJfTElCU19zZXQ9CmFjX2N2
X2Vudl9MSUJYTUwyX0xJQlNfdmFsdWU9CmFjX2N2X2Vudl9NMTdOX0ZMVF9DRkxBR1Nfc2V0PQph
Y19jdl9lbnZfTTE3Tl9GTFRfQ0ZMQUdTX3ZhbHVlPQphY19jdl9lbnZfTTE3Tl9GTFRfTElCU19z
ZXQ9CmFjX2N2X2Vudl9NMTdOX0ZMVF9MSUJTX3ZhbHVlPQphY19jdl9lbnZfT0JKQ0ZMQUdTX3Nl
dD0KYWNfY3ZfZW52X09CSkNGTEFHU192YWx1ZT0KYWNfY3ZfZW52X09CSkNfc2V0PQphY19jdl9l
bnZfT0JKQ192YWx1ZT0KYWNfY3ZfZW52X1BLR19DT05GSUdfTElCRElSX3NldD0KYWNfY3ZfZW52
X1BLR19DT05GSUdfTElCRElSX3ZhbHVlPQphY19jdl9lbnZfUEtHX0NPTkZJR19QQVRIX3NldD0K
YWNfY3ZfZW52X1BLR19DT05GSUdfUEFUSF92YWx1ZT0KYWNfY3ZfZW52X1BLR19DT05GSUdfc2V0
PQphY19jdl9lbnZfUEtHX0NPTkZJR192YWx1ZT0KYWNfY3ZfZW52X1BOR19DRkxBR1Nfc2V0PQph
Y19jdl9lbnZfUE5HX0NGTEFHU192YWx1ZT0KYWNfY3ZfZW52X1BOR19MSUJTX3NldD0KYWNfY3Zf
ZW52X1BOR19MSUJTX3ZhbHVlPQphY19jdl9lbnZfUlNWR19DRkxBR1Nfc2V0PQphY19jdl9lbnZf
UlNWR19DRkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9SU1ZHX0xJQlNfc2V0PQphY19jdl9lbnZfUlNW
R19MSUJTX3ZhbHVlPQphY19jdl9lbnZfU0RLX0JVSUxEX1RPT0xTX3NldD0KYWNfY3ZfZW52X1NE
S19CVUlMRF9UT09MU192YWx1ZT0KYWNfY3ZfZW52X1RSRUVfU0lUVEVSX0NGTEFHU19zZXQ9CmFj
X2N2X2Vudl9UUkVFX1NJVFRFUl9DRkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9UUkVFX1NJVFRFUl9M
SUJTX3NldD0KYWNfY3ZfZW52X1RSRUVfU0lUVEVSX0xJQlNfdmFsdWU9CmFjX2N2X2Vudl9XRUJL
SVRfQ0ZMQUdTX3NldD0KYWNfY3ZfZW52X1dFQktJVF9DRkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9X
RUJLSVRfTElCU19zZXQ9CmFjX2N2X2Vudl9XRUJLSVRfTElCU192YWx1ZT0KYWNfY3ZfZW52X1dF
QlBfQ0ZMQUdTX3NldD0KYWNfY3ZfZW52X1dFQlBfQ0ZMQUdTX3ZhbHVlPQphY19jdl9lbnZfV0VC
UF9MSUJTX3NldD0KYWNfY3ZfZW52X1dFQlBfTElCU192YWx1ZT0KYWNfY3ZfZW52X1hGSVhFU19D
RkxBR1Nfc2V0PQphY19jdl9lbnZfWEZJWEVTX0NGTEFHU192YWx1ZT0KYWNfY3ZfZW52X1hGSVhF
U19MSUJTX3NldD0KYWNfY3ZfZW52X1hGSVhFU19MSUJTX3ZhbHVlPQphY19jdl9lbnZfWEZUX0NG
TEFHU19zZXQ9CmFjX2N2X2Vudl9YRlRfQ0ZMQUdTX3ZhbHVlPQphY19jdl9lbnZfWEZUX0xJQlNf
c2V0PQphY19jdl9lbnZfWEZUX0xJQlNfdmFsdWU9CmFjX2N2X2Vudl9YSU5FUkFNQV9DRkxBR1Nf
c2V0PQphY19jdl9lbnZfWElORVJBTUFfQ0ZMQUdTX3ZhbHVlPQphY19jdl9lbnZfWElORVJBTUFf
TElCU19zZXQ9CmFjX2N2X2Vudl9YSU5FUkFNQV9MSUJTX3ZhbHVlPQphY19jdl9lbnZfWElOUFVU
X0NGTEFHU19zZXQ9CmFjX2N2X2Vudl9YSU5QVVRfQ0ZMQUdTX3ZhbHVlPQphY19jdl9lbnZfWElO
UFVUX0xJQlNfc2V0PQphY19jdl9lbnZfWElOUFVUX0xJQlNfdmFsdWU9CmFjX2N2X2Vudl9YTUtN
Rl9zZXQ9CmFjX2N2X2Vudl9YTUtNRl92YWx1ZT0KYWNfY3ZfZW52X1hSQU5EUl9DRkxBR1Nfc2V0
PQphY19jdl9lbnZfWFJBTkRSX0NGTEFHU192YWx1ZT0KYWNfY3ZfZW52X1hSQU5EUl9MSUJTX3Nl
dD0KYWNfY3ZfZW52X1hSQU5EUl9MSUJTX3ZhbHVlPQphY19jdl9lbnZfWklQX3NldD0KYWNfY3Zf
ZW52X1pJUF92YWx1ZT0KYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3NldD0KYWNfY3ZfZW52X2J1aWxk
X2FsaWFzX3ZhbHVlPQphY19jdl9lbnZfaG9zdF9hbGlhc19zZXQ9CmFjX2N2X2Vudl9ob3N0X2Fs
aWFzX3ZhbHVlPQphY19jdl9lbnZfdGFyZ2V0X2FsaWFzX3NldD0KYWNfY3ZfZW52X3RhcmdldF9h
bGlhc192YWx1ZT0KYWNfY3ZfZnVuY19XZWJQR2V0SW5mbz1ubwphY19jdl9mdW5jX19fZXhlY3V0
YWJsZV9zdGFydD1ubwphY19jdl9mdW5jX19fbHNhbl9pZ25vcmVfb2JqZWN0PW5vCmFjX2N2X2Z1
bmNfX19ta3RpbWVfaW50ZXJuYWw9bm8KYWNfY3ZfZnVuY19hY2NlcHQ0PW5vCmFjX2N2X2Z1bmNf
YWNjZXNzPXllcwphY19jdl9mdW5jX2FjbF9jb3B5X2V4dF9uYXRpdmU9eWVzCmFjX2N2X2Z1bmNf
YWNsX2NyZWF0ZV9lbnRyeV9ucD15ZXMKYWNfY3ZfZnVuY19hY2xfZGVsZXRlX2RlZl9maWxlPXll
cwphY19jdl9mdW5jX2FjbF9kZWxldGVfZmRfbnA9eWVzCmFjX2N2X2Z1bmNfYWNsX2RlbGV0ZV9m
aWxlX25wPXllcwphY19jdl9mdW5jX2FjbF9lbnRyaWVzPW5vCmFjX2N2X2Z1bmNfYWNsX2V4dGVu
ZGVkX2ZpbGU9bm8KYWNfY3ZfZnVuY19hY2xfZnJlZT15ZXMKYWNfY3ZfZnVuY19hY2xfZnJlZV90
ZXh0PW5vCmFjX2N2X2Z1bmNfYWNsX2Zyb21fbW9kZT1ubwphY19jdl9mdW5jX2FjbF9mcm9tX3Rl
eHQ9eWVzCmFjX2N2X2Z1bmNfYWNsX2dldF9mZD15ZXMKYWNfY3ZfZnVuY19hY2xfZ2V0X2ZpbGU9
eWVzCmFjX2N2X2Z1bmNfYWNsX2dldF9saW5rX25wPXllcwphY19jdl9mdW5jX2FjbF9zZXRfZmQ9
eWVzCmFjX2N2X2Z1bmNfYWNsX3NldF9maWxlPXllcwphY19jdl9mdW5jX2FjbF90b19zaG9ydF90
ZXh0PW5vCmFjX2N2X2Z1bmNfYWxpZ25lZF9hbGxvYz15ZXMKYWNfY3ZfZnVuY19hbGxvY2Ffd29y
a3M9eWVzCmFjX2N2X2Z1bmNfY2Fub25pY2FsaXplX2ZpbGVfbmFtZT1ubwphY19jdl9mdW5jX2Nm
bWFrZXJhdz15ZXMKYWNfY3ZfZnVuY19jZnNldHNwZWVkPXllcwphY19jdl9mdW5jX2Nsb2NrX2dl
dHJlcz15ZXMKYWNfY3ZfZnVuY19jbG9ja19nZXR0aW1lPXllcwphY19jdl9mdW5jX2Nsb2NrX3Nl
dHRpbWU9eWVzCmFjX2N2X2Z1bmNfY29weV9maWxlX3JhbmdlPW5vCmFjX2N2X2Z1bmNfZGJ1c19t
ZXNzYWdlX3NldF9hbGxvd19pbnRlcmFjdGl2ZV9hdXRob3JpemF0aW9uPXllcwphY19jdl9mdW5j
X2RidXNfdHlwZV9pc192YWxpZD15ZXMKYWNfY3ZfZnVuY19kYnVzX3ZhbGlkYXRlX2J1c19uYW1l
PXllcwphY19jdl9mdW5jX2RidXNfdmFsaWRhdGVfaW50ZXJmYWNlPXllcwphY19jdl9mdW5jX2Ri
dXNfdmFsaWRhdGVfbWVtYmVyPXllcwphY19jdl9mdW5jX2RidXNfdmFsaWRhdGVfcGF0aD15ZXMK
YWNfY3ZfZnVuY19kYnVzX3dhdGNoX2dldF91bml4X2ZkPXllcwphY19jdl9mdW5jX2RsYWRkcj15
ZXMKYWNfY3ZfZnVuY19kbGZ1bmM9bm8KYWNfY3ZfZnVuY19lYWNjZXNzPW5vCmFjX2N2X2Z1bmNf
ZW5kZ3JlbnQ9eWVzCmFjX2N2X2Z1bmNfZW5kcHdlbnQ9eWVzCmFjX2N2X2Z1bmNfZXVpZGFjY2Vz
cz1ubwphY19jdl9mdW5jX2V4cGxpY2l0X21lbXNldD1ubwphY19jdl9mdW5jX2ZhY2Nlc3NhdD15
ZXMKYWNfY3ZfZnVuY19mY2hkaXI9eWVzCmFjX2N2X2Z1bmNfZmNobW9kPXllcwphY19jdl9mdW5j
X2ZjaG1vZGF0PXllcwphY19jdl9mdW5jX2ZjbnRsPXllcwphY19jdl9mdW5jX2Zkb3BlbmRpcj15
ZXMKYWNfY3ZfZnVuY19mb3JrPXllcwphY19jdl9mdW5jX2Zvcmtfd29ya3M9eWVzCmFjX2N2X2Z1
bmNfZnJlZWlmYWRkcnM9eWVzCmFjX2N2X2Z1bmNfZnNlZWtvX2Z0ZWxsbz15ZXMKYWNfY3ZfZnVu
Y19mc3RhdGF0PXllcwphY19jdl9mdW5jX2ZzeW5jPXllcwphY19jdl9mdW5jX2Z1dGltZW5zPXll
cwphY19jdl9mdW5jX2Z1dGltZXM9eWVzCmFjX2N2X2Z1bmNfZnV0aW1lc2F0PW5vCmFjX2N2X2Z1
bmNfZ2FpX3N0cmVycm9yPXllcwphY19jdl9mdW5jX2dldF9jdXJyZW50X2Rpcl9uYW1lPW5vCmFj
X2N2X2Z1bmNfZ2V0Y3dkPXllcwphY19jdl9mdW5jX2dldGR0YWJsZXNpemU9eWVzCmFjX2N2X2Z1
bmNfZ2V0Z3JlbnQ9eWVzCmFjX2N2X2Z1bmNfZ2V0Z3JvdXBzPXllcwphY19jdl9mdW5jX2dldGdy
b3Vwc193b3Jrcz15ZXMKYWNfY3ZfZnVuY19nZXRob3N0bmFtZT15ZXMKYWNfY3ZfZnVuY19nZXRp
ZmFkZHJzPXllcwphY19jdl9mdW5jX2dldGxpbmU9eWVzCmFjX2N2X2Z1bmNfZ2V0bG9hZGF2Zz15
ZXMKYWNfY3ZfZnVuY19nZXRvcHRfbG9uZ19vbmx5PXllcwphY19jdl9mdW5jX2dldHBhZ2VzaXpl
PXllcwphY19jdl9mdW5jX2dldHB0PW5vCmFjX2N2X2Z1bmNfZ2V0cHdlbnQ9eWVzCmFjX2N2X2Z1
bmNfZ2V0cmFuZG9tPW5vCmFjX2N2X2Z1bmNfZ2V0cmxpbWl0PXllcwphY19jdl9mdW5jX2dldHJ1
c2FnZT15ZXMKYWNfY3ZfZnVuY19nZXRzb2NrbmFtZT15ZXMKYWNfY3ZfZnVuY19nZXR0aW1lb2Zk
YXk9eWVzCmFjX2N2X2Z1bmNfZ3JhbnRwdD15ZXMKYWNfY3ZfZnVuY19ncm91cF9tZW1iZXI9bm8K
YWNfY3ZfZnVuY19pc2JsYW5rPXllcwphY19jdl9mdW5jX2lzd2N0eXBlPXllcwphY19jdl9mdW5j
X2xjaG1vZD15ZXMKYWNfY3ZfZnVuY19saXN0eGF0dHI9eWVzCmFjX2N2X2Z1bmNfbG9jYWx0aW1l
X3I9eWVzCmFjX2N2X2Z1bmNfbG9nMj15ZXMKYWNfY3ZfZnVuY19scmFuZDQ4PXllcwphY19jdl9m
dW5jX2xzdGF0PXllcwphY19jdl9mdW5jX2x1dGltZW5zPW5vCmFjX2N2X2Z1bmNfbHV0aW1lcz15
ZXMKYWNfY3ZfZnVuY19tYWR2aXNlPXllcwphY19jdl9mdW5jX21hbGxvY18wX25vbm51bGw9eWVz
CmFjX2N2X2Z1bmNfbWFsbG9jX3RyaW09bm8KYWNfY3ZfZnVuY19tZW1tZW09eWVzCmFjX2N2X2Z1
bmNfbWVtcGNweT1ubwphY19jdl9mdW5jX21lbXJjaHI9bm8KYWNfY3ZfZnVuY19tZW1zZXRfZXhw
bGljaXQ9bm8KYWNfY3ZfZnVuY19tZW1zZXRfcz15ZXMKYWNfY3ZfZnVuY19ta29zdGVtcD15ZXMK
YWNfY3ZfZnVuY19tbWFwX2ZpeGVkX21hcHBlZD15ZXMKYWNfY3ZfZnVuY19uZXdsb2NhbGU9eWVz
CmFjX2N2X2Z1bmNfb3Blbl9tZW1zdHJlYW09eWVzCmFjX2N2X2Z1bmNfcGlwZTI9bm8KYWNfY3Zf
ZnVuY19wb3NpeF9tYWR2aXNlPXllcwphY19jdl9mdW5jX3Bvc2l4X29wZW5wdD15ZXMKYWNfY3Zf
ZnVuY19wb3NpeF9zcGF3bj15ZXMKYWNfY3ZfZnVuY19wb3NpeF9zcGF3bl9maWxlX2FjdGlvbnNf
YWRkY2hkaXI9bm8KYWNfY3ZfZnVuY19wb3NpeF9zcGF3bl9maWxlX2FjdGlvbnNfYWRkY2hkaXJf
bnA9eWVzCmFjX2N2X2Z1bmNfcG9zaXhfc3Bhd25hdHRyX3NldGZsYWdzPXllcwphY19jdl9mdW5j
X3BzZWxlY3Q9eWVzCmFjX2N2X2Z1bmNfcHN0YXRfZ2V0ZHluYW1pYz1ubwphY19jdl9mdW5jX3B0
aHJlYWRfc2V0X25hbWVfbnA9bm8KYWNfY3ZfZnVuY19wdGhyZWFkX3NldG5hbWVfbnA9eWVzCmFj
X2N2X2Z1bmNfcHRocmVhZF9zaWdtYXNrPXllcwphY19jdl9mdW5jX3JhbmRvbT15ZXMKYWNfY3Zf
ZnVuY19yYXdtZW1jaHI9bm8KYWNfY3ZfZnVuY19yZWFkbGluaz15ZXMKYWNfY3ZfZnVuY19yZWFk
bGlua2F0PXllcwphY19jdl9mdW5jX3JlYWxwYXRoPXllcwphY19jdl9mdW5jX3JlY3Zmcm9tPXll
cwphY19jdl9mdW5jX3JlbmFtZWF0Mj1ubwphY19jdl9mdW5jX3JpbnQ9eWVzCmFjX2N2X2Z1bmNf
c2Jyaz15ZXMKYWNfY3ZfZnVuY19zY2hlZF9nZXRhZmZpbml0eT1ubwphY19jdl9mdW5jX3NjaGVk
X2dldGFmZmluaXR5X25wPW5vCmFjX2N2X2Z1bmNfc2VsZWN0PXllcwphY19jdl9mdW5jX3NlbmR0
bz15ZXMKYWNfY3ZfZnVuY19zZXRpdGltZXI9eWVzCmFjX2N2X2Z1bmNfc2V0cmxpbWl0PXllcwph
Y19jdl9mdW5jX3NodXRkb3duPXllcwphY19jdl9mdW5jX3NpZzJzdHI9bm8KYWNfY3ZfZnVuY19z
aWdkZXNjcl9ucD1ubwphY19jdl9mdW5jX3NucHJpbnRmPXllcwphY19jdl9mdW5jX3N0cGNweT15
ZXMKYWNfY3ZfZnVuY19zdHIyc2lnPW5vCmFjX2N2X2Z1bmNfc3RyZnRpbWVfej1ubwphY19jdl9m
dW5jX3N0cm5sZW5fd29ya2luZz15ZXMKYWNfY3ZfZnVuY19zdHJzaWduYWw9eWVzCmFjX2N2X2Z1
bmNfc3RydG9pbWF4PXllcwphY19jdl9mdW5jX3N5bWxpbms9eWVzCmFjX2N2X2Z1bmNfc3luYz15
ZXMKYWNfY3ZfZnVuY19zeXNjdGw9eWVzCmFjX2N2X2Z1bmNfc3lzbXA9bm8KYWNfY3ZfZnVuY190
Y2RyYWluPXllcwphY19jdl9mdW5jX3RpbWVnbT15ZXMKYWNfY3ZfZnVuY190aW1lcl9nZXRvdmVy
cnVuPW5vCmFjX2N2X2Z1bmNfdHJ1bmM9eWVzCmFjX2N2X2Z1bmNfdHphbGxvYz1ubwphY19jdl9m
dW5jX3V0aW1lbnM9bm8KYWNfY3ZfZnVuY191dGltZW5zYXQ9eWVzCmFjX2N2X2Z1bmNfdXRtcG5h
bWU9bm8KYWNfY3ZfZnVuY191dG1weG5hbWU9eWVzCmFjX2N2X2Z1bmNfdmZvcms9eWVzCmFjX2N2
X2Z1bmNfdmZvcmtfd29ya3M9eWVzCmFjX2N2X2hhdmVfZGVjbF9QT1NJWF9TUEFXTl9TRVRTSUQ9
eWVzCmFjX2N2X2hhdmVfZGVjbF9hbGFybT15ZXMKYWNfY3ZfaGF2ZV9kZWNsX2FsaWduZWRfYWxs
b2M9eWVzCmFjX2N2X2hhdmVfZGVjbF9jbGVhcmVycl91bmxvY2tlZD15ZXMKYWNfY3ZfaGF2ZV9k
ZWNsX2VjdnQ9eWVzCmFjX2N2X2hhdmVfZGVjbF9lbmR1dGVudD1ubwphY19jdl9oYXZlX2RlY2xf
ZXhlY3ZwZT1ubwphY19jdl9oYXZlX2RlY2xfZmNsb3NlYWxsPW5vCmFjX2N2X2hhdmVfZGVjbF9m
Y3Z0PXllcwphY19jdl9oYXZlX2RlY2xfZmRvcGVuZGlyPXllcwphY19jdl9oYXZlX2RlY2xfZmVv
Zl91bmxvY2tlZD15ZXMKYWNfY3ZfaGF2ZV9kZWNsX2ZlcnJvcl91bmxvY2tlZD15ZXMKYWNfY3Zf
aGF2ZV9kZWNsX2ZmbHVzaF91bmxvY2tlZD1ubwphY19jdl9oYXZlX2RlY2xfZmdldHNfdW5sb2Nr
ZWQ9bm8KYWNfY3ZfaGF2ZV9kZWNsX2ZwdXRjX3VubG9ja2VkPW5vCmFjX2N2X2hhdmVfZGVjbF9m
cHV0c191bmxvY2tlZD1ubwphY19jdl9oYXZlX2RlY2xfZnJlYWRfdW5sb2NrZWQ9bm8KYWNfY3Zf
aGF2ZV9kZWNsX2Z3cml0ZV91bmxvY2tlZD1ubwphY19jdl9oYXZlX2RlY2xfZ2N2dD15ZXMKYWNf
Y3ZfaGF2ZV9kZWNsX2dldGNfdW5sb2NrZWQ9eWVzCmFjX2N2X2hhdmVfZGVjbF9nZXRjaGFyX3Vu
bG9ja2VkPXllcwphY19jdl9oYXZlX2RlY2xfZ2V0ZGVsaW09eWVzCmFjX2N2X2hhdmVfZGVjbF9n
ZXRkdGFibGVzaXplPXllcwphY19jdl9oYXZlX2RlY2xfZ2V0bGluZT15ZXMKYWNfY3ZfaGF2ZV9k
ZWNsX2dldGxvYWRhdmc9eWVzCmFjX2N2X2hhdmVfZGVjbF9nZXR3PXllcwphY19jdl9oYXZlX2Rl
Y2xfaXNibGFuaz15ZXMKYWNfY3ZfaGF2ZV9kZWNsX2xvY2FsdGltZV9yPXllcwphY19jdl9oYXZl
X2RlY2xfbWVtbWVtPXllcwphY19jdl9oYXZlX2RlY2xfbWVtcmNocj1ubwphY19jdl9oYXZlX2Rl
Y2xfcG5nX2xvbmdqbXA9eWVzCmFjX2N2X2hhdmVfZGVjbF9wdXRjX3VubG9ja2VkPXllcwphY19j
dl9oYXZlX2RlY2xfcHV0Y2hhcl91bmxvY2tlZD15ZXMKYWNfY3ZfaGF2ZV9kZWNsX3B1dHc9eWVz
CmFjX2N2X2hhdmVfZGVjbF9zdHJtb2RlPXllcwphY19jdl9oYXZlX2RlY2xfc3Rybmxlbj15ZXMK
YWNfY3ZfaGF2ZV9kZWNsX3N0cnRvaW1heD15ZXMKYWNfY3ZfaGF2ZV9kZWNsX3N5c2luZm89bm8K
YWNfY3ZfaGF2ZV9kZWNsX3RpbWVyX3NldHRpbWU9bm8KYWNfY3ZfaGF2ZV9kZWNsX3RpbWVzcGVj
X2dldD15ZXMKYWNfY3ZfaGF2ZV94PWhhdmVfeD1ubwphY19jdl9oZWFkZXJfQXBwS2l0X0FwcEtp
dF9oPXllcwphY19jdl9oZWFkZXJfT1NfaD1ubwphY19jdl9oZWFkZXJfYWNsX2xpYmFjbF9oPW5v
CmFjX2N2X2hlYWRlcl9ieXRlc3dhcF9oPW5vCmFjX2N2X2hlYWRlcl9jb2ZmX2g9bm8KYWNfY3Zf
aGVhZGVyX2RpcmVudF9oPXllcwphY19jdl9oZWFkZXJfZW5kaWFuX2g9bm8KYWNfY3ZfaGVhZGVy
X2V4ZWNpbmZvX2g9eWVzCmFjX2N2X2hlYWRlcl9nZXRvcHRfaD15ZXMKYWNfY3ZfaGVhZGVyX2dp
Zl9saWJfaD1ubwphY19jdl9oZWFkZXJfZ21wX2dtcF9oPW5vCmFjX2N2X2hlYWRlcl9nbXBfaD1u
bwphY19jdl9oZWFkZXJfZ3BtX2g9bm8KYWNfY3ZfaGVhZGVyX2llZWU3NTRfaD1ubwphY19jdl9o
ZWFkZXJfaWZhZGRyc19oPXllcwphY19jdl9oZWFkZXJfaW50dHlwZXNfaD15ZXMKYWNfY3ZfaGVh
ZGVyX2xpYmdlbl9oPXllcwphY19jdl9oZWFkZXJfbGliaW50bF9oPW5vCmFjX2N2X2hlYWRlcl9s
aW1pdHNfaD15ZXMKYWNfY3ZfaGVhZGVyX2xpbnV4X2ZpbHRlcl9oPW5vCmFjX2N2X2hlYWRlcl9s
aW51eF9mc19oPW5vCmFjX2N2X2hlYWRlcl9saW51eF9zZWNjb21wX2g9bm8KYWNfY3ZfaGVhZGVy
X2xpbnV4X3hhdHRyX2g9bm8KYWNfY3ZfaGVhZGVyX21hY2hpbmVfc291bmRjYXJkX2g9bm8KYWNf
Y3ZfaGVhZGVyX21hbGxvY19oPW5vCmFjX2N2X2hlYWRlcl9tYWxsb2NfbWFsbG9jX2g9eWVzCmFj
X2N2X2hlYWRlcl9taW5peF9jb25maWdfaD1ubwphY19jdl9oZWFkZXJfbW1zeXN0ZW1faD1ubwph
Y19jdl9oZWFkZXJfbmV0X2lmX2RsX2g9eWVzCmFjX2N2X2hlYWRlcl9uZXRfaWZfaD15ZXMKYWNf
Y3ZfaGVhZGVyX3B0aHJlYWRfaD15ZXMKYWNfY3ZfaGVhZGVyX3B0eV9oPW5vCmFjX2N2X2hlYWRl
cl9wd2RfaD15ZXMKYWNfY3ZfaGVhZGVyX3Nhbml0aXplcl9hc2FuX2ludGVyZmFjZV9oPXllcwph
Y19jdl9oZWFkZXJfc2FuaXRpemVyX2NvbW1vbl9pbnRlcmZhY2VfZGVmc19oPXllcwphY19jdl9o
ZWFkZXJfc2FuaXRpemVyX2xzYW5faW50ZXJmYWNlX2g9eWVzCmFjX2N2X2hlYWRlcl9zZWxpbnV4
X3NlbGludXhfaD1ubwphY19jdl9oZWFkZXJfc291bmRjYXJkX2g9bm8KYWNfY3ZfaGVhZGVyX3Nw
YXduX2g9eWVzCmFjX2N2X2hlYWRlcl9zdGF0X2Jyb2tlbj1ubwphY19jdl9oZWFkZXJfc3RkYWxp
Z25faD15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGJpdF9oPW5vCmFjX2N2X2hlYWRlcl9zdGRib29sX2g9
eWVzCmFjX2N2X2hlYWRlcl9zdGRja2RpbnRfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGludF9oPXll
cwphY19jdl9oZWFkZXJfc3RkaW9fZXh0X2g9bm8KYWNfY3ZfaGVhZGVyX3N0ZGlvX2g9eWVzCmFj
X2N2X2hlYWRlcl9zdGRsaWJfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0cmluZ19oPXllcwphY19jdl9o
ZWFkZXJfc3RyaW5nc19oPXllcwphY19jdl9oZWFkZXJfc3lzX2FjbF9oPXllcwphY19jdl9oZWFk
ZXJfc3lzX2VuZGlhbl9oPW5vCmFjX2N2X2hlYWRlcl9zeXNfZnNfczVwYXJhbV9oPW5vCmFjX2N2
X2hlYWRlcl9zeXNfZnNfdHlwZXNfaD1ubwphY19jdl9oZWFkZXJfc3lzX2lub3RpZnlfaD1ubwph
Y19jdl9oZWFkZXJfc3lzX2xvYWRhdmdfaD1ubwphY19jdl9oZWFkZXJfc3lzX21vdW50X2g9eWVz
CmFjX2N2X2hlYWRlcl9zeXNfcGFyYW1faD15ZXMKYWNfY3ZfaGVhZGVyX3N5c19wc3RhdF9oPW5v
CmFjX2N2X2hlYWRlcl9zeXNfcmFuZG9tX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfcmVzb3VyY2Vf
aD15ZXMKYWNfY3ZfaGVhZGVyX3N5c19zZWxlY3RfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c19zb2Nr
ZXRfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c19zb3VuZGNhcmRfaD1ubwphY19jdl9oZWFkZXJfc3lz
X3N0YXRfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c19zdGF0ZnNfaD1ubwphY19jdl9oZWFkZXJfc3lz
X3N5c2N0bF9oPXllcwphY19jdl9oZWFkZXJfc3lzX3N5c2luZm9faD1ubwphY19jdl9oZWFkZXJf
c3lzX3N5c21wX2g9bm8KYWNfY3ZfaGVhZGVyX3N5c19zeXN0ZW1pbmZvX2g9bm8KYWNfY3ZfaGVh
ZGVyX3N5c190aW1lX2g9eWVzCmFjX2N2X2hlYWRlcl9zeXNfdHlwZXNfaD15ZXMKYWNfY3ZfaGVh
ZGVyX3N5c191bl9oPXllcwphY19jdl9oZWFkZXJfc3lzX3V0c25hbWVfaD15ZXMKYWNfY3ZfaGVh
ZGVyX3N5c192ZnNfaD1ubwphY19jdl9oZWFkZXJfc3lzX3dhaXRfaD15ZXMKYWNfY3ZfaGVhZGVy
X3RpZmZpb19oPXllcwphY19jdl9oZWFkZXJfdW5pc3RkX2g9eWVzCmFjX2N2X2hlYWRlcl91dGls
X2g9eWVzCmFjX2N2X2hlYWRlcl91dG1wX2g9eWVzCmFjX2N2X2hlYWRlcl91dG1weF9oPXllcwph
Y19jdl9oZWFkZXJfdmFsZ3JpbmRfdmFsZ3JpbmRfaD1ubwphY19jdl9oZWFkZXJfdmZvcmtfaD1u
bwphY19jdl9oZWFkZXJfd2NoYXJfaD15ZXMKYWNfY3ZfaG9zdD1hYXJjaDY0LWFwcGxlLWRhcndp
bjI0LjQuMAphY19jdl9saWJfWGJzZF9tYWluPW5vCmFjX2N2X2xpYl9hbmxfZ2V0YWRkcmluZm9f
YT1ubwphY19jdl9saWJfb3NzYXVkaW9fX29zc19pb2N0bD1ubwphY19jdl9saWJfc2VsaW51eF9s
Z2V0ZmlsZWNvbj1ubwphY19jdl9saWJfc3FsaXRlM19zcWxpdGUzX2xvYWRfZXh0ZW5zaW9uPW5v
CmFjX2N2X2xpYl90aWZmX1RJRkZHZXRWZXJzaW9uPW5vCmFjX2N2X2xpYl94bWwyX2h0bWxSZWFk
TWVtb3J5PXllcwphY19jdl9tZW1iZXJfc3RydWN0X2lmcmVxX2lmcl9hZGRyPXllcwphY19jdl9t
ZW1iZXJfc3RydWN0X2lmcmVxX2lmcl9hZGRyX3NhX2xlbj15ZXMKYWNfY3ZfbWVtYmVyX3N0cnVj
dF9pZnJlcV9pZnJfYnJvYWRhZGRyPXllcwphY19jdl9tZW1iZXJfc3RydWN0X2lmcmVxX2lmcl9m
bGFncz15ZXMKYWNfY3ZfbWVtYmVyX3N0cnVjdF9pZnJlcV9pZnJfaHdhZGRyPW5vCmFjX2N2X21l
bWJlcl9zdHJ1Y3RfaWZyZXFfaWZyX25ldG1hc2s9bm8KYWNfY3ZfbWVtYmVyX3N0cnVjdF9wYXNz
d2RfcHdfZ2Vjb3M9eWVzCmFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3RhdF9zdF9hdGltX3R2X25zZWM9
bm8KYWNfY3ZfbWVtYmVyX3N0cnVjdF9zdGF0X3N0X2F0aW1lc3BlY190dl9uc2VjPXllcwphY19j
dl9tZW1iZXJfc3RydWN0X3N0YXRfc3RfYmlydGh0aW1lc3BlY190dl9uc2VjPXllcwphY19jdl9t
ZW1iZXJfc3RydWN0X3RtX3RtX2dtdG9mZj15ZXMKYWNfY3ZfbWVtYmVyX3N0cnVjdF90bV90bV96
b25lPXllcwphY19jdl9tZW1iZXJfc3RydWN0X3VuaXBhaXJfdW5pY29kZT1ubwphY19jdl9tZW1i
ZXJfc3RydWN0X3V0bXBfdXRfZXhpdD1ubwphY19jdl9tZW1iZXJfc3RydWN0X3V0bXBfdXRfZXhp
dF9lX2V4aXQ9bm8KYWNfY3ZfbWVtYmVyX3N0cnVjdF91dG1wX3V0X2V4aXRfZV90ZXJtaW5hdGlv
bj1ubwphY19jdl9tZW1iZXJfc3RydWN0X3V0bXBfdXRfaG9zdD15ZXMKYWNfY3ZfbWVtYmVyX3N0
cnVjdF91dG1wX3V0X2lkPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3RfdXRtcF91dF9uYW1lPXllcwph
Y19jdl9tZW1iZXJfc3RydWN0X3V0bXBfdXRfcGlkPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3RfdXRt
cF91dF9zZXNzaW9uPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3RfdXRtcF91dF90dj1ubwphY19jdl9t
ZW1iZXJfc3RydWN0X3V0bXBfdXRfdHlwZT1ubwphY19jdl9tZW1iZXJfc3RydWN0X3V0bXBfdXRf
dXNlcj1ubwphY19jdl9tZW1iZXJfc3RydWN0X3V0bXB4X3V0X2V4aXQ9bm8KYWNfY3ZfbWVtYmVy
X3N0cnVjdF91dG1weF91dF9leGl0X2VfZXhpdD1ubwphY19jdl9tZW1iZXJfc3RydWN0X3V0bXB4
X3V0X2V4aXRfZV90ZXJtaW5hdGlvbj1ubwphY19jdl9tZW1iZXJfc3RydWN0X3V0bXB4X3V0X2V4
aXRfdXRfZXhpdD1ubwphY19jdl9tZW1iZXJfc3RydWN0X3V0bXB4X3V0X2V4aXRfdXRfdGVybWlu
YXRpb249bm8KYWNfY3ZfbWVtYmVyX3N0cnVjdF91dG1weF91dF9ob3N0PXllcwphY19jdl9tZW1i
ZXJfc3RydWN0X3V0bXB4X3V0X2lkPXllcwphY19jdl9tZW1iZXJfc3RydWN0X3V0bXB4X3V0X25h
bWU9bm8KYWNfY3ZfbWVtYmVyX3N0cnVjdF91dG1weF91dF9waWQ9eWVzCmFjX2N2X21lbWJlcl9z
dHJ1Y3RfdXRtcHhfdXRfc2Vzc2lvbj1ubwphY19jdl9tZW1iZXJfc3RydWN0X3V0bXB4X3V0X3R5
cGU9eWVzCmFjX2N2X21lbWJlcl9zdHJ1Y3RfdXRtcHhfdXRfdXNlcj15ZXMKYWNfY3Zfb2JqY19j
b21waWxlcl9nbnU9eWVzCmFjX2N2X29iamV4dD1vCmFjX2N2X3BhdGhfRUdSRVBfVFJBRElUSU9O
QUw9Jy91c3IvYmluL2dyZXAgLUUnCmFjX2N2X3BhdGhfR1pJUF9QUk9HPS91c3IvYmluL2d6aXAK
YWNfY3ZfcGF0aF9JTlNUQUxMX0lORk89L29wdC9ob21lYnJldy9iaW4vaW5zdGFsbC1pbmZvCmFj
X2N2X3BhdGhfTUFLRT1nbWFrZQphY19jdl9wYXRoX01BS0VJTkZPPS9vcHQvaG9tZWJyZXcvYmlu
L21ha2VpbmZvCmFjX2N2X3BhdGhfYWNfcHRfUEtHX0NPTkZJRz0vb3B0L2hvbWVicmV3L2Jpbi9w
a2ctY29uZmlnCmFjX2N2X3BhdGhfaW5zdGFsbD0nL29wdC9ob21lYnJldy9iaW4vZ2luc3RhbGwg
LWMnCmFjX2N2X3BhdGhfbWtkaXI9L29wdC9ob21lYnJldy9iaW4vZ21rZGlyCmFjX2N2X3Byb2df
QVI9YXIKYWNfY3ZfcHJvZ19BV0s9YXdrCmFjX2N2X3Byb2dfQlJFVz1icmV3CmFjX2N2X3Byb2df
Q1BQPSdjbGFuZyAtRScKYWNfY3ZfcHJvZ19IQVZFX1hTRVJWRVI9ZmFsc2UKYWNfY3ZfcHJvZ19N
QUtFX1BST0c9eWVzCmFjX2N2X3Byb2dfWENSVU49eGNydW4KYWNfY3ZfcHJvZ19hY19jdF9PQkpD
PWdjYwphY19jdl9wcm9nX2FjX2N0X1JBTkxJQj1yYW5saWIKYWNfY3ZfcHJvZ19jY19jMTE9CmFj
X2N2X3Byb2dfY2NfY2xhbmdfY19vPXllcwphY19jdl9wcm9nX2NjX2c9eWVzCmFjX2N2X3Byb2df
Y2Nfc3RkYz0KYWNfY3ZfcHJvZ19vYmpjX2c9eWVzCmFjX2N2X3NhZmVfdG9fZGVmaW5lX19fZXh0
ZW5zaW9uc19fPXllcwphY19jdl9zZWFyY2hfYWNsX2dldF9maWxlPSdub25lIHJlcXVpcmVkJwph
Y19jdl9zZWFyY2hfYmFja3RyYWNlX3N5bWJvbHNfZmQ9J25vbmUgcmVxdWlyZWQnCmFjX2N2X3Nl
YXJjaF9jbG9ja19nZXR0aW1lPSdub25lIHJlcXVpcmVkJwphY19jdl9zZWFyY2hfZWFjY2Vzcz1u
bwphY19jdl9zZWFyY2hfa3F1ZXVlPSdub25lIHJlcXVpcmVkJwphY19jdl9zZWFyY2hfbmFub3Ns
ZWVwPSdub25lIHJlcXVpcmVkJwphY19jdl9zZWFyY2hfc2V0ZmlsZWNvbj1ubwphY19jdl9zaG91
bGRfZGVmaW5lX194b3Blbl9zb3VyY2U9bm8KYWNfY3Zfc2l6ZW9mX2xvbmc9OAphY19jdl9zaXpl
b2Zfc3BlZWRfdD04CmFjX2N2X3N5c19sYXJnZWZpbGVfb3B0cz0nbm9uZSBuZWVkZWQnCmFjX2N2
X3N5c19wb3NpeF90ZXJtaW9zPXllcwphY19jdl9zeXNfeWVhcjIwMzhfb3B0cz0nbm9uZSBuZWVk
ZWQnCmFjX2N2X3R5cGVfYmxrY250X3Q9eWVzCmFjX2N2X3R5cGVfYmxrc2l6ZV90PXllcwphY19j
dl90eXBlX2dldGdyb3Vwcz1naWRfdAphY19jdl90eXBlX2dpZF90PXllcwphY19jdl90eXBlX21i
c3RhdGVfdD15ZXMKYWNfY3ZfdHlwZV9tb2RlX3Q9eWVzCmFjX2N2X3R5cGVfbmxpbmtfdD15ZXMK
YWNfY3ZfdHlwZV9waWRfdD15ZXMKYWNfY3ZfdHlwZV9zaWdoYW5kbGVyX3Q9bm8KYWNfY3ZfdHlw
ZV9zaWdzZXRfdD15ZXMKYWNfY3ZfdHlwZV9zb2NrbGVuX3Q9eWVzCmFjX2N2X3R5cGVfdGltZXpv
bmVfdD1ubwphY19jdl90eXBlX3ZvbGF0aWxlX3NpZ19hdG9taWNfdD15ZXMKYWNfY3Zfd29ya2lu
Z19hbGxvY2FfaD15ZXMKYW1fY3ZfZnVuY193b3JraW5nX2dldGxpbmU9eWVzCmFtX2N2X2xhbmdp
bmZvX2NvZGVzZXQ9eWVzCmVtYWNzX2N2X2FsaWduYXNfdW5hdmFpbGFibGU9bm8KZW1hY3NfY3Zf
YWx0ZXJuYXRlX3N0YWNrPXllcwplbWFjc19jdl9hdXRvZGVwZW5kPXllcwplbWFjc19jdl9jbGFu
Zz15ZXMKZW1hY3NfY3ZfZmluZF9kZWxldGU9LWRlbGV0ZQplbWFjc19jdl9mdW5jX19fYnVpbHRp
bl9mcmFtZV9hZGRyZXNzPXllcwplbWFjc19jdl9mdW5jX19fYnVpbHRpbl91bndpbmRfaW5pdD15
ZXMKZW1hY3NfY3ZfZnVuY19fc2V0am1wPXllcwplbWFjc19jdl9mdW5jX3NpZ3NldGptcD15ZXMK
ZW1hY3NfY3ZfZ2NjX2J1Z181ODQxNl9DRkxBR1M9J25vbmUgbmVlZGVkJwplbWFjc19jdl9oYXZl
X3NxbGl0ZTM9eWVzCmVtYWNzX2N2X2hhdmVfdGltZXJmZD1ubwplbWFjc19jdl9qcGVnbGliPW5v
CmVtYWNzX2N2X2xhbmdpbmZvX19ubF9wYXBlcl93aWR0aD1ubwplbWFjc19jdl9saWJfbWF0aD0n
bm9uZSByZXF1aXJlZCcKZW1hY3NfY3ZfbGliej0tbHoKZW1hY3NfY3ZfbGlua3NfZ2xpYj1ubwpl
bWFjc19jdl9sbl9zX2ZpbGVvbmx5PSdsbiAtcycKZW1hY3NfY3ZfbWFjb3N4XzEyXzA9eWVzCmVt
YWNzX2N2X29iamNfYzk5PXllcwplbWFjc19jdl9vYmpjX2luc3RhbmNldHlwZT15ZXMKZW1hY3Nf
Y3ZfcGVyc29uYWxpdHlfYWRkcl9ub19yYW5kb21pemU9bm8KZW1hY3NfY3ZfcHJvZ19jY19vPXll
cwplbWFjc19jdl9wdGhyZWFkX2xpYj0nbm9uZSBuZWVkZWQnCmVtYWNzX2N2X3B0aHJlYWRfc2V0
bmFtZV9ucF8xYXJnPXllcwplbWFjc19jdl9zYW5pdGl6ZV9hZGRyZXNzPW5vCmVtYWNzX2N2X3N0
YXRlbWVudF9leHByZXNzaW9ucz15ZXMKZW1hY3NfY3Zfc3RydWN0X2FsaWdubWVudD15ZXMKZW1h
Y3NfY3ZfdGVybWluZm9fZGVmaW5lc19CQz15ZXMKZW1hY3NfY3ZfdHB1dHNfbGliPS1sbmN1cnNl
cwplbWFjc19jdl91c2FibGVfRklPTlJFQUQ9eWVzCmVtYWNzX2N2X3VzYWJsZV9TSUdJTz15ZXMK
ZW1hY3NfY3ZfdmFyX2RvdWdfbGVhX21hbGxvYz1ubwpmdV9jdl9zeXNfc3RhdF9zdGF0ZnMyX2Jz
aXplPXllcwpmdV9jdl9zeXNfc3RhdF9zdGF0ZnMyX2Zyc2l6ZT1ubwpmdV9jdl9zeXNfc3RhdF9z
dGF0ZnMzX29zZjE9bm8KZnVfY3Zfc3lzX3N0YXRfc3RhdHZmcz1ubwpmdV9jdl9zeXNfdHJ1bmNh
dGluZ19zdGF0ZnM9bm8KZ2xfY3ZfX19idWlsdGluX2V4cGVjdD15ZXMKZ2xfY3ZfYWNsX0FDTF9G
SVJTVF9FTlRSWT15ZXMKZ2xfY3ZfYWNsX0FDTF9UWVBFX0VYVEVOREVEPXllcwpnbF9jdl9jX19f
aW5saW5lPXllcwpnbF9jdl9jX2Ftc3RlcmRhbV9jb21waWxlcj1ubwpnbF9jdl9jX2Jvb2w9bm8K
Z2xfY3ZfY19tdWx0aWFyY2g9bm8KZ2xfY3ZfY2Nfbm9tZmlfbmVlZGVkPW5vCmdsX2N2X2NjX3Vu
aW5pdGlhbGl6ZWRfc3VwcG9ydGVkPXllcwpnbF9jdl9jY193YWxsb3c9LVduby1lcnJvcgpnbF9j
dl9jbGVhbl92ZXJzaW9uX3N0ZGRlZj15ZXMKZ2xfY3ZfY29tcGlsZXJfY2hlY2tfZGVjbF9vcHRp
b249LVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbgpnbF9jdl9jb21waWxlcl9j
bGFuZz15ZXMKZ2xfY3ZfZGVjbF9udWxsX3dvcmtzPXllcwpnbF9jdl9kZWNsX3JlYWRsaW5rX3dv
cmtzPXllcwpnbF9jdl9kZWNsX3JlYWRsaW5rYXRfd29ya3M9eWVzCmdsX2N2X2RvdWJsZV9zbGFz
aF9yb290PW5vCmdsX2N2X2ZzX3NwYWNlPXllcwpnbF9jdl9mdW5jX19fZnBlbmRpbmc9bm8KZ2xf
Y3ZfZnVuY19jb3B5X2ZpbGVfcmFuZ2U9bm8KZ2xfY3ZfZnVuY19kdXAyX3dvcmtzPXllcwpnbF9j
dl9mdW5jX2ZjaG1vZGF0X3dvcmtzPXllcwpnbF9jdl9mdW5jX2ZjbnRsX2ZfZHVwZmRfY2xvZXhl
Yz15ZXMKZ2xfY3ZfZnVuY19mY250bF9mX2R1cGZkX3dvcmtzPXllcwpnbF9jdl9mdW5jX2Zkb3Bl
bmRpcl93b3Jrcz15ZXMKZ2xfY3ZfZnVuY19mcmVlX3ByZXNlcnZlc19lcnJubz1ubwpnbF9jdl9m
dW5jX2ZzdGF0YXRfemVyb19mbGFnPXllcwpnbF9jdl9mdW5jX2Z1dGltZW5zX3dvcmtzPW5vCmds
X2N2X2Z1bmNfZ2V0Z3JvdXBzX3dvcmtzPW5vCmdsX2N2X2Z1bmNfZ2V0b3B0X3Bvc2l4PW5vCmds
X2N2X2Z1bmNfZ2V0dGltZW9mZGF5X3Bvc2l4X3NpZ25hdHVyZT15ZXMKZ2xfY3ZfZnVuY19sb2Nh
bHRpbWVfd29ya3M9eWVzCmdsX2N2X2Z1bmNfbHN0YXRfZGVyZWZlcmVuY2VzX3NsYXNoZWRfc3lt
bGluaz1ubwpnbF9jdl9mdW5jX21hbGxvY18wX25vbm51bGw9MQpnbF9jdl9mdW5jX21hbGxvY19w
b3NpeD15ZXMKZ2xfY3ZfZnVuY19tZW1tZW1fd29ya3NfYWx3YXlzPW5vCmdsX2N2X2Z1bmNfbWVt
c2V0X3Nfd29ya3M9eWVzCmdsX2N2X2Z1bmNfbmFub3NsZWVwPSdubyAobWlzaGFuZGxlcyBsYXJn
ZSBhcmd1bWVudHMpJwpnbF9jdl9mdW5jX29wZW5fc2xhc2g9bm8KZ2xfY3ZfZnVuY19wcmludGZf
YXR0cmlidXRlX2ZsYXZvcj1zeXN0ZW0KZ2xfY3ZfZnVuY19wc2VsZWN0X2RldGVjdHNfZWJhZGY9
eWVzCmdsX2N2X2Z1bmNfcHRocmVhZF9zaWdtYXNrX2luX2xpYmNfd29ya3M9eWVzCmdsX2N2X2Z1
bmNfcHRocmVhZF9zaWdtYXNrX21hY3JvPW5vCmdsX2N2X2Z1bmNfcHRocmVhZF9zaWdtYXNrX3Jl
dHVybl93b3Jrcz15ZXMKZ2xfY3ZfZnVuY19wdGhyZWFkX3NpZ21hc2tfdW5ibG9ja193b3Jrcz0n
Z3Vlc3NpbmcgeWVzJwpnbF9jdl9mdW5jX3JlX2NvbXBpbGVfcGF0dGVybl93b3JraW5nPW5vCmds
X2N2X2Z1bmNfcmVhZGxpbmtfdHJhaWxpbmdfc2xhc2g9bm8KZ2xfY3ZfZnVuY19yZWFkbGlua190
cnVuY2F0ZT15ZXMKZ2xfY3ZfZnVuY19yZWFsbG9jXzBfbm9ubnVsbD15ZXMKZ2xfY3ZfZnVuY19y
ZWFsbG9jX3Nhbml0aXplPW5vCmdsX2N2X2Z1bmNfcmVhbHBhdGhfd29ya3M9bm8KZ2xfY3ZfZnVu
Y19zdHJ0b2ltYXg9eWVzCmdsX2N2X2Z1bmNfc3ltbGlua193b3Jrcz1ubwpnbF9jdl9mdW5jX3Rp
bWVzcGVjX2dldD15ZXMKZ2xfY3ZfZnVuY191bnJlYWNoYWJsZT1ubwpnbF9jdl9mdW5jX3V0aW1l
bnNhdF93b3Jrcz1ubwpnbF9jdl9mdW5jX3dvcmtpbmdfYWNsX2dldF9maWxlPXllcwpnbF9jdl9m
dW5jX3dvcmtpbmdfbWt0aW1lPW5vCmdsX2N2X2Z1bmNfd29ya2luZ191dGltZXM9eWVzCmdsX2N2
X2hhdmVfX19oZWFkZXJfaW5saW5lPXllcwpnbF9jdl9oYXZlX2luY2x1ZGVfbmV4dD15ZXMKZ2xf
Y3ZfaGVhZGVyX2Vycm5vX2hfY29tcGxldGU9eWVzCmdsX2N2X2hlYWRlcl9saW1pdHNfd2lkdGg9
bm8KZ2xfY3ZfaGVhZGVyX3N0ZGludF93aWR0aD1ubwpnbF9jdl9oZWFkZXJfc3RkaW50X3dpdGhv
dXRfU1REQ19tYWNyb3M9eWVzCmdsX2N2X2hlYWRlcl9zeXNfY2RlZnNfaD1ubwpnbF9jdl9oZWFk
ZXJfc3lzX3NlbGVjdF9oX3NlbGZjb250YWluZWQ9eWVzCmdsX2N2X2hlYWRlcl93b3JraW5nX3N0
ZGFsaWduX2g9J3llcywgPHN0ZGFsaWduLmg+IG1hY3JvcycKZ2xfY3ZfaGVhZGVyX3dvcmtpbmdf
c3RkaW50X2g9eWVzCmdsX2N2X21hY3JvX01CX0NVUl9NQVhfZ29vZD15ZXMKZ2xfY3ZfbWFjcm9f
T19DTE9FWEVDPXllcwpnbF9jdl9tYWxsb2NfcHRyZGlmZj15ZXMKZ2xfY3ZfbWlubWF4X2luX2xp
bWl0c19oPW5vCmdsX2N2X21pbm1heF9pbl9zeXNfcGFyYW1faD15ZXMKZ2xfY3ZfbmV4dF9hc3Nl
cnRfaD0nPGFzc2VydC5oPicKZ2xfY3ZfbmV4dF9kaXJlbnRfaD0nPGRpcmVudC5oPicKZ2xfY3Zf
bmV4dF9lbmRpYW5faD0nPGVuZGlhbi5oPicKZ2xfY3ZfbmV4dF9mY250bF9oPSc8ZmNudGwuaD4n
CmdsX2N2X25leHRfZ2V0b3B0X2g9JzxnZXRvcHQuaD4nCmdsX2N2X25leHRfaW50dHlwZXNfaD0n
PGludHR5cGVzLmg+JwpnbF9jdl9uZXh0X2xpbWl0c19oPSc8bGltaXRzLmg+JwpnbF9jdl9uZXh0
X3NpZ25hbF9oPSc8c2lnbmFsLmg+JwpnbF9jdl9uZXh0X3N0ZGRlZl9oPSc8c3RkZGVmLmg+Jwpn
bF9jdl9uZXh0X3N0ZGludF9oPSc8c3RkaW50Lmg+JwpnbF9jdl9uZXh0X3N0ZGlvX2g9JzxzdGRp
by5oPicKZ2xfY3ZfbmV4dF9zdGRsaWJfaD0nPHN0ZGxpYi5oPicKZ2xfY3ZfbmV4dF9zdHJpbmdf
aD0nPHN0cmluZy5oPicKZ2xfY3ZfbmV4dF9zeXNfcmFuZG9tX2g9JzxzeXMvcmFuZG9tLmg+Jwpn
bF9jdl9uZXh0X3N5c19zZWxlY3RfaD0nPHN5cy9zZWxlY3QuaD4nCmdsX2N2X25leHRfc3lzX3N0
YXRfaD0nPHN5cy9zdGF0Lmg+JwpnbF9jdl9uZXh0X3N5c190aW1lX2g9JzxzeXMvdGltZS5oPicK
Z2xfY3ZfbmV4dF9zeXNfdHlwZXNfaD0nPHN5cy90eXBlcy5oPicKZ2xfY3ZfbmV4dF90aW1lX2g9
Jzx0aW1lLmg+JwpnbF9jdl9uZXh0X3VuaXN0ZF9oPSc8dW5pc3RkLmg+JwpnbF9jdl9udWxscHRy
X3RfbmVlZHNfc3RkZGVmPXllcwpnbF9jdl9vbndhcmRzX2Z1bmNfY29weV9maWxlX3JhbmdlPW5v
CmdsX2N2X29ud2FyZHNfZnVuY19mYWNjZXNzYXQ9eWVzCmdsX2N2X29ud2FyZHNfZnVuY19mdXRp
bWVucz15ZXMKZ2xfY3Zfb253YXJkc19mdW5jX2Z1dGltZXM9eWVzCmdsX2N2X29ud2FyZHNfZnVu
Y19mdXRpbWVzYXQ9bm8KZ2xfY3Zfb253YXJkc19mdW5jX2dldGxpbmU9eWVzCmdsX2N2X29ud2Fy
ZHNfZnVuY19nZXRsb2FkYXZnPXllcwpnbF9jdl9vbndhcmRzX2Z1bmNfZ2V0cHdlbnQ9eWVzCmds
X2N2X29ud2FyZHNfZnVuY19nZXRyYW5kb209bm8KZ2xfY3Zfb253YXJkc19mdW5jX2x1dGltZXM9
eWVzCmdsX2N2X29ud2FyZHNfZnVuY19tZW1wY3B5PW5vCmdsX2N2X29ud2FyZHNfZnVuY19tZW1z
ZXRfZXhwbGljaXQ9bm8KZ2xfY3Zfb253YXJkc19mdW5jX21rb3N0ZW1wPXllcwpnbF9jdl9vbndh
cmRzX2Z1bmNfcGlwZTI9bm8KZ2xfY3Zfb253YXJkc19mdW5jX3JlYWRsaW5rYXQ9eWVzCmdsX2N2
X29ud2FyZHNfZnVuY19yZW5hbWVhdDI9bm8KZ2xfY3Zfb253YXJkc19mdW5jX3NjaGVkX2dldGFm
ZmluaXR5PW5vCmdsX2N2X29ud2FyZHNfZnVuY19zdHBjcHk9eWVzCmdsX2N2X29ud2FyZHNfZnVu
Y190aW1lZ209eWVzCmdsX2N2X29ud2FyZHNfZnVuY190aW1lc3BlY19nZXQ9eWVzCmdsX2N2X29u
d2FyZHNfZnVuY190emFsbG9jPW5vCmdsX2N2X29ud2FyZHNfZnVuY191dGltZW5zYXQ9eWVzCmds
X2N2X3Byb21vdGVkX21vZGVfdD1pbnQKZ2xfY3ZfcnBsX2FsbG9jYT15ZXMKZ2xfY3Zfc2lnX3Bz
ZWxlY3Q9eWVzCmdsX2N2X3NvdXJjZV9saW5lX2xlbmd0aF91bmxpbWl0ZWQ9eWVzCmdsX2N2X3Nz
aXplX3Q9eWVzCmdsX2N2X3N0YXRpY19hc3NlcnQ9bm8KZ2xfY3Zfc3RkZGVmX2lkZW1wb3RlbnQ9
J2d1ZXNzaW5nIHllcycKZ2xfY3Zfc3RydWN0X2RpcmVudF9kX3R5cGU9eWVzCmdsX2N2X3N5c19z
dHJ1Y3RfdGltZXNwZWNfaW5fdGltZV9oPXllcwpnbF9jdl9zeXNfc3RydWN0X3RpbWV2YWw9eWVz
CmdsX2N2X3N5c19zdHJ1Y3RfdGltZXZhbF90dl9zZWM9eWVzCmdsX2N2X3RpbWVfaF9oYXNfVElN
RV9VVEM9eWVzCmdsX2N2X3RpbWVfcl9wb3NpeD15ZXMKZ2xfY3ZfdGltZV90X2lzX3NpZ25lZD15
ZXMKZ2xfY3ZfdHlwZV9tYXhfYWxpZ25fdD15ZXMKZ2xfY3ZfdHlwZV9zaWdzZXRfdD15ZXMKZ2xf
Y3Zfd2Fybl9jX19XYWxsPXllcwpnbF9jdl93YXJuX2NfX1dhcml0aF9jb252ZXJzaW9uPW5vCmds
X2N2X3dhcm5fY19fV2FycmF5X2JvdW5kc18yPW5vCmdsX2N2X3dhcm5fY19fV2F0dHJpYnV0ZV9h
bGlhc18yPW5vCmdsX2N2X3dhcm5fY19fV2RhdGVfdGltZT15ZXMKZ2xfY3Zfd2Fybl9jX19XZGlz
YWJsZWRfb3B0aW1pemF0aW9uPXllcwpnbF9jdl93YXJuX2NfX1dkdXBsaWNhdGVkX2NvbmQ9bm8K
Z2xfY3Zfd2Fybl9jX19XZXJyb3JfX1d1bmtub3duX3dhcm5pbmdfb3B0aW9uPXllcwpnbF9jdl93
YXJuX2NfX1dleHRyYT15ZXMKZ2xfY3Zfd2Fybl9jX19XZmxleF9hcnJheV9tZW1iZXJfbm90X2F0
X2VuZD1ubwpnbF9jdl93YXJuX2NfX1dmb3JtYXRfMj15ZXMKZ2xfY3Zfd2Fybl9jX19XZm9ybWF0
X3NpZ25lZG5lc3M9eWVzCmdsX2N2X3dhcm5fY19fV2Zvcm1hdF90cnVuY2F0aW9uXzI9bm8KZ2xf
Y3Zfd2Fybl9jX19XaW1wbGljaXRfZmFsbHRocm91Z2hfNT1ubwpnbF9jdl93YXJuX2NfX1dpbml0
X3NlbGY9eWVzCmdsX2N2X3dhcm5fY19fV2ludmFsaWRfcGNoPXllcwpnbF9jdl93YXJuX2NfX1ds
b2dpY2FsX29wPW5vCmdsX2N2X3dhcm5fY19fV21pc3NpbmdfZGVjbGFyYXRpb25zPXllcwpnbF9j
dl93YXJuX2NfX1dtaXNzaW5nX2luY2x1ZGVfZGlycz15ZXMKZ2xfY3Zfd2Fybl9jX19XbWlzc2lu
Z19wcm90b3R5cGVzPXllcwpnbF9jdl93YXJuX2NfX1dtaXNzaW5nX3ZhcmlhYmxlX2RlY2xhcmF0
aW9ucz15ZXMKZ2xfY3Zfd2Fybl9jX19XbmVzdGVkX2V4dGVybnM9eWVzCmdsX2N2X3dhcm5fY19f
V25vX2JpZGlfY2hhcnM9bm8KZ2xfY3Zfd2Fybl9jX19Xbm9fYml0d2lzZV9pbnN0ZWFkX29mX2xv
Z2ljYWw9eWVzCmdsX2N2X3dhcm5fY19fV25vX2RlcHJlY2F0ZWRfZGVjbGFyYXRpb25zPXllcwpn
bF9jdl93YXJuX2NfX1dub19mb3JtYXRfbm9ubGl0ZXJhbD15ZXMKZ2xfY3Zfd2Fybl9jX19Xbm9f
aW1wbGljaXRfY29uc3RfaW50X2Zsb2F0X2NvbnZlcnNpb249eWVzCmdsX2N2X3dhcm5fY19fV25v
X2luaXRpYWxpemVyX292ZXJyaWRlcz15ZXMKZ2xfY3Zfd2Fybl9jX19Xbm9faW50X2luX2Jvb2xf
Y29udGV4dD15ZXMKZ2xfY3Zfd2Fybl9jX19Xbm9fbWlzc2luZ19icmFjZXM9eWVzCmdsX2N2X3dh
cm5fY19fV25vX21pc3NpbmdfZmllbGRfaW5pdGlhbGl6ZXJzPXllcwpnbF9jdl93YXJuX2NfX1du
b19udWxsX3BvaW50ZXJfYXJpdGhtZXRpYz15ZXMKZ2xfY3Zfd2Fybl9jX19Xbm9fb3ZlcnJpZGVf
aW5pdD15ZXMKZ2xfY3Zfd2Fybl9jX19Xbm9fc2hpZnRfb3ZlcmZsb3c9eWVzCmdsX2N2X3dhcm5f
Y19fV25vX3NpZ25fY29tcGFyZT15ZXMKZ2xfY3Zfd2Fybl9jX19Xbm9fdGF1dG9sb2dpY2FsX2Nv
bXBhcmU9eWVzCmdsX2N2X3dhcm5fY19fV25vX3RhdXRvbG9naWNhbF9jb25zdGFudF9vdXRfb2Zf
cmFuZ2VfY29tcGFyZT15ZXMKZ2xfY3Zfd2Fybl9jX19Xbm9fdHlwZV9saW1pdHM9eWVzCmdsX2N2
X3dhcm5fY19fV25vX3VudXNlZF9wYXJhbWV0ZXI9eWVzCmdsX2N2X3dhcm5fY19fV251bGxfZGVy
ZWZlcmVuY2U9eWVzCmdsX2N2X3dhcm5fY19fV29sZF9zdHlsZV9kZWZpbml0aW9uPXllcwpnbF9j
dl93YXJuX2NfX1dvcGVubXBfc2ltZD1ubwpnbF9jdl93YXJuX2NfX1dwYWNrZWQ9eWVzCmdsX2N2
X3dhcm5fY19fV3BvaW50ZXJfYXJpdGg9eWVzCmdsX2N2X3dhcm5fY19fV3JlZHVuZGFudF9kZWNs
cz15ZXMKZ2xfY3Zfd2Fybl9jX19Xc2hpZnRfb3ZlcmZsb3dfMj1ubwpnbF9jdl93YXJuX2NfX1dz
dHJpY3RfZmxleF9hcnJheXM9bm8KZ2xfY3Zfd2Fybl9jX19Xc3RyaWN0X3Byb3RvdHlwZXM9eWVz
CmdsX2N2X3dhcm5fY19fV3N1Z2dlc3RfYXR0cmlidXRlX2Zvcm1hdD1ubwpnbF9jdl93YXJuX2Nf
X1dzdWdnZXN0X2F0dHJpYnV0ZV9ub3JldHVybj1ubwpnbF9jdl93YXJuX2NfX1dzdWdnZXN0X2Zp
bmFsX21ldGhvZHM9bm8KZ2xfY3Zfd2Fybl9jX19Xc3VnZ2VzdF9maW5hbF90eXBlcz1ubwpnbF9j
dl93YXJuX2NfX1d0aHJlYWRfc2FmZXR5PXllcwpnbF9jdl93YXJuX2NfX1d0cmFpbGluZ193aGl0
ZXNwYWNlPW5vCmdsX2N2X3dhcm5fY19fV3RyYW1wb2xpbmVzPW5vCmdsX2N2X3dhcm5fY19fV3Vu
aW5pdGlhbGl6ZWQ9eWVzCmdsX2N2X3dhcm5fY19fV3Vua25vd25fcHJhZ21hcz15ZXMKZ2xfY3Zf
d2Fybl9jX19XdW51c2VkX21hY3Jvcz1ubwpnbF9jdl93YXJuX2NfX1d1c2VfYWZ0ZXJfZnJlZV8z
PW5vCmdsX2N2X3dhcm5fY19fV3ZhcmlhZGljX21hY3Jvcz15ZXMKZ2xfY3Zfd2Fybl9jX19XdmVj
dG9yX29wZXJhdGlvbl9wZXJmb3JtYW5jZT1ubwpnbF9jdl93YXJuX2NfX1d2bGFfbGFyZ2VyX3Ro
YW5fNDAzMT1ubwpnbF9jdl93YXJuX2NfX1d3cml0ZV9zdHJpbmdzPXllcwpnbF9jdl93YXJuX2Nf
X2ZzdHJpY3RfZmxleF9hcnJheXM9bm8KZ2xfY3ZfeGF0dHJfbGliPW5vCmd0X2N2X2xvY2FsZV9l
bl91dGY4PWVuX1VTLlVURi04Cmd0X2N2X3Zhcl9lbnZpcm9uX2RlY2xhcmF0aW9uPW5vCnBrZ19j
dl9EQlVTX0NGTEFHUz0nLUkvb3B0L2hvbWVicmV3L0NlbGxhci9kYnVzLzEuMTYuMi9pbmNsdWRl
L2RidXMtMS4wIC1JL29wdC9ob21lYnJldy9DZWxsYXIvZGJ1cy8xLjE2LjIvbGliL2RidXMtMS4w
L2luY2x1ZGUnCnBrZ19jdl9EQlVTX0xJQlM9Jy1ML29wdC9ob21lYnJldy9DZWxsYXIvZGJ1cy8x
LjE2LjIvbGliIC1sZGJ1cy0xJwpwa2dfY3ZfTENNUzJfQ0ZMQUdTPS1JL29wdC9ob21lYnJldy9v
cHQvbGl0dGxlLWNtczIvaW5jbHVkZQpwa2dfY3ZfTENNUzJfTElCUz0nLUwvb3B0L2hvbWVicmV3
L29wdC9saXR0bGUtY21zMi9saWIgLWxsY21zMicKcGtnX2N2X0xJQkdOVVRMU19DRkxBR1M9Jy1J
L29wdC9ob21lYnJldy9DZWxsYXIvZ251dGxzLzMuOC45L2luY2x1ZGUgLUkvb3B0L2hvbWVicmV3
L0NlbGxhci9uZXR0bGUvMy4xMC4xL2luY2x1ZGUgLUkvb3B0L2hvbWVicmV3L0NlbGxhci9saWJ0
YXNuMS80LjIwLjAvaW5jbHVkZSAtSS9vcHQvaG9tZWJyZXcvQ2VsbGFyL2xpYmlkbjIvMi4zLjgv
aW5jbHVkZSAtSS9vcHQvaG9tZWJyZXcvQ2VsbGFyL3AxMS1raXQvMC4yNS41L2luY2x1ZGUvcDEx
LWtpdC0xJwpwa2dfY3ZfTElCR05VVExTX0xJQlM9Jy1ML29wdC9ob21lYnJldy9DZWxsYXIvZ251
dGxzLzMuOC45L2xpYiAtbGdudXRscycKcGtnX2N2X0xJQlhNTDJfQ0ZMQUdTPQpwa2dfY3ZfTElC
WE1MMl9MSUJTPS1seG1sMgpwa2dfY3ZfUE5HX0NGTEFHUz0tSS9vcHQvaG9tZWJyZXcvb3B0L2xp
YnBuZy9pbmNsdWRlL2xpYnBuZzE2CnBrZ19jdl9QTkdfTElCUz0nLUwvb3B0L2hvbWVicmV3L29w
dC9saWJwbmcvbGliIC1scG5nMTYnCnBrZ19jdl9SU1ZHX0NGTEFHUz0nLUkvb3B0L2hvbWVicmV3
L0NlbGxhci9saWJyc3ZnLzIuNjAuMC9pbmNsdWRlL2xpYnJzdmctMi4wIC1JL29wdC9ob21lYnJl
dy9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1JL29wdC9ob21lYnJldy9DZWxsYXIvbGlidGlmZi80
LjcuMC9pbmNsdWRlIC1JL29wdC9ob21lYnJldy9vcHQvenN0ZC9pbmNsdWRlIC1JL29wdC9ob21l
YnJldy9DZWxsYXIveHovNS44LjEvaW5jbHVkZSAtSS9vcHQvaG9tZWJyZXcvb3B0L2pwZWctdHVy
Ym8vaW5jbHVkZSAtSS9vcHQvaG9tZWJyZXcvQ2VsbGFyL2NhaXJvLzEuMTguNC9pbmNsdWRlL2Nh
aXJvIC1JL29wdC9ob21lYnJldy9DZWxsYXIvY2Fpcm8vMS4xOC40L2luY2x1ZGUgLUkvb3B0L2hv
bWVicmV3L0NlbGxhci9wYW5nby8xLjU2LjMvaW5jbHVkZS9wYW5nby0xLjAgLUkvb3B0L2hvbWVi
cmV3L0NlbGxhci9nbGliLzIuODQuMF8xL2luY2x1ZGUgLUkvb3B0L2hvbWVicmV3L0NlbGxhci9m
cmliaWRpLzEuMC4xNi9pbmNsdWRlL2ZyaWJpZGkgLUkvb3B0L2hvbWVicmV3L0NlbGxhci9mb250
Y29uZmlnLzIuMTYuMC9pbmNsdWRlIC1JL29wdC9ob21lYnJldy9DZWxsYXIvbGlieGV4dC8xLjMu
Ni9pbmNsdWRlIC1JL29wdC9ob21lYnJldy9DZWxsYXIveG9yZ3Byb3RvLzIwMjQuMS9pbmNsdWRl
IC1JL29wdC9ob21lYnJldy9DZWxsYXIvbGlieHJlbmRlci8wLjkuMTIvaW5jbHVkZSAtSS9vcHQv
aG9tZWJyZXcvQ2VsbGFyL2xpYngxMS8xLjguMTIvaW5jbHVkZSAtSS9vcHQvaG9tZWJyZXcvQ2Vs
bGFyL2xpYnhjYi8xLjE3LjAvaW5jbHVkZSAtSS9vcHQvaG9tZWJyZXcvQ2VsbGFyL2xpYnhhdS8x
LjAuMTIvaW5jbHVkZSAtSS9vcHQvaG9tZWJyZXcvQ2VsbGFyL2xpYnhkbWNwLzEuMS41L2luY2x1
ZGUgLUkvb3B0L2hvbWVicmV3L0NlbGxhci9waXhtYW4vMC40NC4yL2luY2x1ZGUvcGl4bWFuLTEg
LUkvb3B0L2hvbWVicmV3L0NlbGxhci9oYXJmYnV6ei8xMS4wLjEvaW5jbHVkZS9oYXJmYnV6eiAt
SS9vcHQvaG9tZWJyZXcvb3B0L2ZyZWV0eXBlL2luY2x1ZGUvZnJlZXR5cGUyIC1JL29wdC9ob21l
YnJldy9vcHQvbGlicG5nL2luY2x1ZGUvbGlicG5nMTYgLUkvb3B0L2hvbWVicmV3L0NlbGxhci9n
cmFwaGl0ZTIvMS4zLjE0L2luY2x1ZGUgLUkvTGlicmFyeS9EZXZlbG9wZXIvQ29tbWFuZExpbmVU
b29scy9TREtzL01hY09TWDE1LnNkay91c3IvaW5jbHVkZS9mZmkgLUkvb3B0L2hvbWVicmV3L0Nl
bGxhci9nbGliLzIuODQuMF8xL2luY2x1ZGUvZ2xpYi0yLjAgLUkvb3B0L2hvbWVicmV3L0NlbGxh
ci9nbGliLzIuODQuMF8xL2xpYi9nbGliLTIuMC9pbmNsdWRlIC1JL29wdC9ob21lYnJldy9vcHQv
Z2V0dGV4dC9pbmNsdWRlIC1JL29wdC9ob21lYnJldy9DZWxsYXIvcGNyZTIvMTAuNDUvaW5jbHVk
ZScKcGtnX2N2X1JTVkdfTElCUz0nLUwvb3B0L2hvbWVicmV3L0NlbGxhci9saWJyc3ZnLzIuNjAu
MC9saWIgLWxyc3ZnLTIgLUwvb3B0L2hvbWVicmV3L2xpYiAtbGdka19waXhidWYtMi4wIC1ML29w
dC9ob21lYnJldy9DZWxsYXIvZ2xpYi8yLjg0LjBfMS9saWIgLWxnaW8tMi4wIC1ML29wdC9ob21l
YnJldy9DZWxsYXIvY2Fpcm8vMS4xOC40L2xpYiAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGli
LTIuMCAtTC9vcHQvaG9tZWJyZXcvb3B0L2dldHRleHQvbGliIC1saW50bCcKcGtnX2N2X1RSRUVf
U0lUVEVSX0NGTEFHUz0tSS9vcHQvaG9tZWJyZXcvQ2VsbGFyL3RyZWUtc2l0dGVyLzAuMjUuMy9p
bmNsdWRlCnBrZ19jdl9UUkVFX1NJVFRFUl9MSUJTPSctTC9vcHQvaG9tZWJyZXcvQ2VsbGFyL3Ry
ZWUtc2l0dGVyLzAuMjUuMy9saWIgLWx0cmVlLXNpdHRlcicKcGtnX2N2X1dFQlBfQ0ZMQUdTPSct
SS9vcHQvaG9tZWJyZXcvb3B0L3dlYnAvaW5jbHVkZSAtSS9vcHQvaG9tZWJyZXcvb3B0L3dlYnAv
aW5jbHVkZS93ZWJwJwpwa2dfY3ZfV0VCUF9MSUJTPSctTC9vcHQvaG9tZWJyZXcvb3B0L3dlYnAv
bGliIC1sd2VicGRlbXV4IC1sd2VicGRlY29kZXInCgojIyAtLS0tLS0tLS0tLS0tLS0tLSAjIwoj
IyBPdXRwdXQgdmFyaWFibGVzLiAjIwojIyAtLS0tLS0tLS0tLS0tLS0tLSAjIwoKQUFQVD0nJwpB
TExPQ0E9JycKQUxMT0NBX0g9J2FsbG9jYS5oJwpBTFNBX0NGTEFHUz0nJwpBTFNBX0xJQlM9JycK
QU1fREVGQVVMVF9WRVJCT1NJVFk9JzAnCkFORFJPSUQ9J25vJwpBTkRST0lEX0FCST0nJwpBTkRS
T0lEX0JVSUxEX0NGTEFHUz0nJwpBTkRST0lEX0NDPScnCkFORFJPSURfQ0ZMQUdTPScnCkFORFJP
SURfREVCVUdHQUJMRT0nJwpBTkRST0lEX0pBUj0nJwpBTkRST0lEX0xERkxBR1M9JycKQU5EUk9J
RF9MSUJTPScnCkFORFJPSURfTUlOX1NESz0nJwpBTkRST0lEX09CSj0nJwpBTkRST0lEX1NES18x
OF9PUl9FQVJMSUVSPScnCkFORFJPSURfU0RLXzhfT1JfRUFSTElFUj0nJwpBTkRST0lEX1NIQVJF
RF9VU0VSX0lEPScnCkFORFJPSURfU0hBUkVEX1VTRVJfTkFNRT0nJwpBUEtTSUdORVI9JycKQVBQ
TEVfVU5JVkVSU0FMX0JVSUxEPScwJwpBUj0nYXInCkFSRkxBR1M9J2NyJwpBU1NFUlRfSD0nYXNz
ZXJ0LmgnCkFVVE9fREVQRU5EPSd5ZXMnCkFXSz0nYXdrJwpCSVRTSVpFT0ZfUFRSRElGRl9UPScn
CkJJVFNJWkVPRl9TSUdfQVRPTUlDX1Q9JycKQklUU0laRU9GX1NJWkVfVD0nJwpCSVRTSVpFT0Zf
V0NIQVJfVD0nJwpCSVRTSVpFT0ZfV0lOVF9UPScnCkJMRVNTTUFJTF9UQVJHRVQ9JycKQlJFVz0n
YnJldycKQlVJTERfREVUQUlMUz0nJwpCWVRFU1dBUF9IPSdieXRlc3dhcC5oJwpDQUlST19DRkxB
R1M9JycKQ0FJUk9fTElCUz0nJwpDQUlST19YQ0JfQ0ZMQUdTPScnCkNBSVJPX1hDQl9MSUJTPScn
CkNBSVJPX1hMSUJfQ0ZMQUdTPScnCkNBSVJPX1hMSUJfTElCUz0nJwpDQU5fUFJJTlRfU1RBQ0tf
VFJBQ0U9JzAnCkNDPSdjbGFuZycKQ0ZMQUdTPSctV2dudS1pbWFnaW5hcnktY29uc3RhbnQgLVd1
bnVzZWQtcmVzdWx0IC1nIC1GIC9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVs
b3Blci9QbGF0Zm9ybXMvTWFjT1NYLnBsYXRmb3JtL0RldmVsb3Blci9TREtzL01hY09TWC5zZGsv
U3lzdGVtL0xpYnJhcnkvRnJhbWV3b3JrcyAtV25vLWlnbm9yZWQtYXR0cmlidXRlcyAtV25vLWZs
YWctZW51bSAtV25vLW1pc3NpbmctbWV0aG9kLXJldHVybi10eXBlIC1Xbm8tdmFyaWFkaWMtbWFj
cm9zIC1Xbm8tc3RyaWN0LXByb3RvdHlwZXMgLVduby1hdmFpbGFiaWxpdHkgLVduby1udWxsYWJp
bGl0eS1jb21wbGV0ZW5lc3MgLU8nCkNGTEFHU19TT1VORD0nJwpDSEVDS19TVFJVQ1RTPSdmYWxz
ZScKQ0xJRU5UUkVTPScnCkNMSUVOVFc9JycKQ0xPQ0tfVElNRV9MSUI9JycKQ01fT0JKPSdjbS5v
JwpDT01fRVJSTElCPScnCkNQUD0nY2xhbmcgLUUnCkNQUEZMQUdTPScgICcKQ1JZUFRPTElCPScn
CkNYWD0nJwpDWFhGTEFHUz0nJwpDWUdXSU5fT0JKPScnCkNfU1dJVENIX01BQ0hJTkU9JycKQ19T
V0lUQ0hfU1lTVEVNPScnCkNfU1dJVENIX1hfU0lURT0nJwpEOD0nJwpEQlVTX0NGTEFHUz0nLWlz
eXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvZGJ1cy8xLjE2LjIvaW5jbHVkZS9kYnVzLTEuMCAt
aXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9kYnVzLzEuMTYuMi9saWIvZGJ1cy0xLjAvaW5j
bHVkZScKREJVU19MSUJTPSctTC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2RidXMvMS4xNi4yL2xpYiAt
bGRidXMtMScKREJVU19PQko9J2RidXNiaW5kLm8nCkRFRlM9Jy1ESEFWRV9DT05GSUdfSCcKREVT
TElCPScnCkRJUl9IQVNfRkRfTUVNQkVSPScxJwpET0NNSVNDX1czMj0nJwpEVU1QSU5HPSdwZHVt
cGVyJwpEWU5BTUlDX0xJQl9TRUNPTkRBUllfU1VGRklYPScuc28nCkRZTkFNSUNfTElCX1NVRkZJ
WD0nLmR5bGliJwpEWU5MSUJfT0JKPSdkeW5saWIubycKRUNIT19DPSdcYycKRUNIT19OPScnCkVD
SE9fVD0nJwpFTUFDU1JFUz0nJwpFTUFDU19NQU5JRkVTVD0nJwpFTVVMVElIT1BfSElEREVOPScn
CkVNVUxUSUhPUF9WQUxVRT0nJwpFTkRJQU5fSD0nZW5kaWFuLmgnCkVORElBTl9IX0pVU1RfTUlT
U0lOR19TVERJTlQ9JzAnCkVOT0xJTktfSElEREVOPScnCkVOT0xJTktfVkFMVUU9JycKRU9WRVJG
TE9XX0hJRERFTj0nJwpFT1ZFUkZMT1dfVkFMVUU9JycKRVJSTk9fSD0nJwpFVUlEQUNDRVNTX0xJ
QkdFTj0nJwpFWEVDSU5GT19IPScnCkVYRUVYVD0nJwpGSUxFX0hBU19BQ0xfTElCPScnCkZJTkRf
REVMRVRFPSctZGVsZXRlJwpGT05UQ09ORklHX0NGTEFHUz0nJwpGT05UQ09ORklHX0xJQlM9JycK
Rk9OVF9PQko9JycKRlJFRVRZUEVfQ0ZMQUdTPScnCkZSRUVUWVBFX0xJQlM9JycKR0NPTkZfQ0ZM
QUdTPScnCkdDT05GX0xJQlM9JycKR0VUQUREUklORk9fQV9MSUJTPScnCkdFVExPQURBVkdfTElC
Uz0nJwpHRVRPUFRfQ0RFRlNfSD0nZ2V0b3B0LWNkZWZzLmgnCkdFVE9QVF9IPSdnZXRvcHQuaCcK
R0VUUkFORE9NX0xJQj0nJwpHRklMRU5PVElGWV9DRkxBR1M9JycKR0ZJTEVOT1RJRllfTElCUz0n
JwpHSUZfQ0ZMQUdTPScnCkdMX0NGTEFHX0FMTE9XX1dBUk5JTkdTPSctV25vLWVycm9yJwpHTF9D
RkxBR19HTlVMSUJfV0FSTklOR1M9JyAtV25vLWNhc3QtcXVhbCAtV25vLWNvbnZlcnNpb24gLVdu
by1mbG9hdC1lcXVhbCAtV25vLXNpZ24tY29tcGFyZSAtV25vLXVuZGVmIC1Xbm8tdW51c2VkLWZ1
bmN0aW9uIC1Xbm8tdW51c2VkLXBhcmFtZXRlciAtV25vLWZsb2F0LWNvbnZlcnNpb24gLVdpbXBs
aWNpdC1mYWxsdGhyb3VnaCAtV25vLXBlZGFudGljIC1Xbm8tdGF1dG9sb2dpY2FsLWNvbnN0YW50
LW91dC1vZi1yYW5nZS1jb21wYXJlIC1Xbm8tc2lnbi1jb252ZXJzaW9uIC1Xbm8tdHlwZS1saW1p
dHMgLVduby11bnVzZWQtY29uc3QtdmFyaWFibGUnCkdMX0NPTkRfTElCVE9PTF9DT05ESVRJT049
JycKR0xfQ09ORF9PQkpfQ0FOT05JQ0FMSVpFX0xHUExfQ09ORElUSU9OPScxJwpHTF9DT05EX09C
Sl9DT1BZX0ZJTEVfUkFOR0VfQ09ORElUSU9OPScxJwpHTF9DT05EX09CSl9ESVJGRF9DT05ESVRJ
T049JycKR0xfQ09ORF9PQkpfRFVQMl9DT05ESVRJT049JycKR0xfQ09ORF9PQkpfRVVJREFDQ0VT
U19DT05ESVRJT049JzEnCkdMX0NPTkRfT0JKX0VYRUNJTkZPX0NPTkRJVElPTj0nJwpHTF9DT05E
X09CSl9GQUNDRVNTQVRfQ09ORElUSU9OPScxJwpHTF9DT05EX09CSl9GQ0hNT0RBVF9DT05ESVRJ
T049JycKR0xfQ09ORF9PQkpfRkNOVExfQ09ORElUSU9OPScnCkdMX0NPTkRfT0JKX0ZET1BFTkRJ
Ul9DT05ESVRJT049JycKR0xfQ09ORF9PQkpfRlBFTkRJTkdfQ09ORElUSU9OPScxJwpHTF9DT05E
X09CSl9GUkVFX0NPTkRJVElPTj0nMScKR0xfQ09ORF9PQkpfRlNUQVRBVF9DT05ESVRJT049JzEn
CkdMX0NPTkRfT0JKX0ZTVVNBR0VfQ09ORElUSU9OPScxJwpHTF9DT05EX09CSl9GU1lOQ19DT05E
SVRJT049JycKR0xfQ09ORF9PQkpfRlVUSU1FTlNfQ09ORElUSU9OPScxJwpHTF9DT05EX09CSl9H
RVRERUxJTV9DT05ESVRJT049JycKR0xfQ09ORF9PQkpfR0VURFRBQkxFU0laRV9DT05ESVRJT049
JycKR0xfQ09ORF9PQkpfR0VUR1JPVVBTX0NPTkRJVElPTj0nMScKR0xfQ09ORF9PQkpfR0VUTElO
RV9DT05ESVRJT049JycKR0xfQ09ORF9PQkpfR0VUTE9BREFWR19DT05ESVRJT049JycKR0xfQ09O
RF9PQkpfR0VUT1BUX0NPTkRJVElPTj0nMScKR0xfQ09ORF9PQkpfR0VUUkFORE9NX0NPTkRJVElP
Tj0nMScKR0xfQ09ORF9PQkpfR0VUVElNRU9GREFZX0NPTkRJVElPTj0nJwpHTF9DT05EX09CSl9H
Uk9VUF9NRU1CRVJfQ09ORElUSU9OPScxJwpHTF9DT05EX09CSl9MQ0hNT0RfQ09ORElUSU9OPScn
CkdMX0NPTkRfT0JKX0xTVEFUX0NPTkRJVElPTj0nMScKR0xfQ09ORF9PQkpfTUVNUENQWV9DT05E
SVRJT049JzEnCkdMX0NPTkRfT0JKX01FTVJDSFJfQ09ORElUSU9OPScxJwpHTF9DT05EX09CSl9N
RU1TRVRfRVhQTElDSVRfQ09ORElUSU9OPScxJwpHTF9DT05EX09CSl9NSU5JX0dNUF9HTlVMSUJf
Q09ORElUSU9OPScxJwpHTF9DT05EX09CSl9NS09TVEVNUF9DT05ESVRJT049JycKR0xfQ09ORF9P
QkpfTkFOT1NMRUVQX0NPTkRJVElPTj0nMScKR0xfQ09ORF9PQkpfT1BFTl9DT05ESVRJT049JzEn
CkdMX0NPTkRfT0JKX1BTRUxFQ1RfQ09ORElUSU9OPScnCkdMX0NPTkRfT0JKX1BUSFJFQURfU0lH
TUFTS19DT05ESVRJT049JycKR0xfQ09ORF9PQkpfUkFXTUVNQ0hSX0NPTkRJVElPTj0nMScKR0xf
Q09ORF9PQkpfUkVBRExJTktBVF9DT05ESVRJT049JzEnCkdMX0NPTkRfT0JKX1JFQURMSU5LX0NP
TkRJVElPTj0nMScKR0xfQ09ORF9PQkpfUkVBTExPQ19QT1NJWF9DT05ESVRJT049JycKR0xfQ09O
RF9PQkpfUkVHRVhfQ09ORElUSU9OPScxJwpHTF9DT05EX09CSl9TSUcyU1RSX0NPTkRJVElPTj0n
MScKR0xfQ09ORF9PQkpfU0lHREVTQ1JfTlBfQ09ORElUSU9OPScxJwpHTF9DT05EX09CSl9TVERJ
T19SRUFEX0NPTkRJVElPTj0nJwpHTF9DT05EX09CSl9TVERJT19XUklURV9DT05ESVRJT049JycK
R0xfQ09ORF9PQkpfU1RQQ1BZX0NPTkRJVElPTj0nJwpHTF9DT05EX09CSl9TVFJOTEVOX0NPTkRJ
VElPTj0nJwpHTF9DT05EX09CSl9TVFJUT0lNQVhfQ09ORElUSU9OPScnCkdMX0NPTkRfT0JKX1NU
UlRPTExfQ09ORElUSU9OPScnCkdMX0NPTkRfT0JKX1NZTUxJTktfQ09ORElUSU9OPScxJwpHTF9D
T05EX09CSl9USU1FR01fQ09ORElUSU9OPScxJwpHTF9DT05EX09CSl9USU1FX1JaX0NPTkRJVElP
Tj0nMScKR0xfQ09ORF9PQkpfVElNRV9SX0NPTkRJVElPTj0nJwpHTF9DT05EX09CSl9VVElNRU5T
QVRfQ09ORElUSU9OPScxJwpHTF9HRU5FUkFURV9BTExPQ0FfSF9DT05ESVRJT049JzEnCkdMX0dF
TkVSQVRFX0FTU0VSVF9IX0NPTkRJVElPTj0nMScKR0xfR0VORVJBVEVfQllURVNXQVBfSF9DT05E
SVRJT049JzEnCkdMX0dFTkVSQVRFX0VORElBTl9IX0NPTkRJVElPTj0nMScKR0xfR0VORVJBVEVf
RVJSTk9fSF9DT05ESVRJT049JycKR0xfR0VORVJBVEVfRVhFQ0lORk9fSF9DT05ESVRJT049JycK
R0xfR0VORVJBVEVfR0VUT1BUX0NERUZTX0hfQ09ORElUSU9OPScxJwpHTF9HRU5FUkFURV9HRVRP
UFRfSF9DT05ESVRJT049JzEnCkdMX0dFTkVSQVRFX0dNUF9HTVBfSF9DT05ESVRJT049JycKR0xf
R0VORVJBVEVfR01QX0hfQ09ORElUSU9OPScxJwpHTF9HRU5FUkFURV9JRUVFNzU0X0hfQ09ORElU
SU9OPScxJwpHTF9HRU5FUkFURV9MSU1JVFNfSF9DT05ESVRJT049JzEnCkdMX0dFTkVSQVRFX01J
TklfR01QX0hfQ09ORElUSU9OPScxJwpHTF9HRU5FUkFURV9TVERCSVRfSF9DT05ESVRJT049JzEn
CkdMX0dFTkVSQVRFX1NURENLRElOVF9IX0NPTkRJVElPTj0nJwpHTF9HRU5FUkFURV9TVERERUZf
SF9DT05ESVRJT049JzEnCkdMX0dFTkVSQVRFX1NURElOVF9IX0NPTkRJVElPTj0nMScKR0xfR05V
TElCX0FCT1JUX0RFQlVHPScwJwpHTF9HTlVMSUJfQUNDRVNTPScwJwpHTF9HTlVMSUJfQUxJR05F
RF9BTExPQz0nMCcKR0xfR05VTElCX0FMUEhBU09SVD0nMCcKR0xfR05VTElCX0FUT0xMPScwJwpH
TF9HTlVMSUJfQ0FMTE9DX0dOVT0nMCcKR0xfR05VTElCX0NBTExPQ19QT1NJWD0nMCcKR0xfR05V
TElCX0NBTk9OSUNBTElaRV9GSUxFX05BTUU9JzEnCkdMX0dOVUxJQl9DSERJUj0nMCcKR0xfR05V
TElCX0NITU9EPScwJwpHTF9HTlVMSUJfQ0hPV049JzAnCkdMX0dOVUxJQl9DTE9TRT0nMCcKR0xf
R05VTElCX0NMT1NFRElSPScwJwpHTF9HTlVMSUJfQ09QWV9GSUxFX1JBTkdFPScxJwpHTF9HTlVM
SUJfQ1JFQVQ9JzAnCkdMX0dOVUxJQl9DVElNRT0nMCcKR0xfR05VTElCX0RJUkZEPScwJwpHTF9H
TlVMSUJfRFBSSU5URj0nMCcKR0xfR05VTElCX0RVUDI9JzEnCkdMX0dOVUxJQl9EVVAzPScwJwpH
TF9HTlVMSUJfRFVQPScwJwpHTF9HTlVMSUJfRFpQUklOVEY9JzAnCkdMX0dOVUxJQl9FTlZJUk9O
PScxJwpHTF9HTlVMSUJfRVVJREFDQ0VTUz0nMScKR0xfR05VTElCX0VYRUNMPScwJwpHTF9HTlVM
SUJfRVhFQ0xFPScwJwpHTF9HTlVMSUJfRVhFQ0xQPScwJwpHTF9HTlVMSUJfRVhFQ1Y9JzAnCkdM
X0dOVUxJQl9FWEVDVkU9JzAnCkdMX0dOVUxJQl9FWEVDVlA9JzAnCkdMX0dOVUxJQl9FWEVDVlBF
PScwJwpHTF9HTlVMSUJfRVhQTElDSVRfQlpFUk89JzAnCkdMX0dOVUxJQl9GQUNDRVNTQVQ9JzEn
CkdMX0dOVUxJQl9GQ0hESVI9JzAnCkdMX0dOVUxJQl9GQ0hNT0RBVD0nMScKR0xfR05VTElCX0ZD
SE9XTkFUPScwJwpHTF9HTlVMSUJfRkNMT1NFPScwJwpHTF9HTlVMSUJfRkNOVEw9JzEnCkdMX0dO
VUxJQl9GREFUQVNZTkM9JzAnCkdMX0dOVUxJQl9GRE9QRU49JzAnCkdMX0dOVUxJQl9GRE9QRU5E
SVI9JzEnCkdMX0dOVUxJQl9GRkxVU0g9JzAnCkdMX0dOVUxJQl9GRlNMPScwJwpHTF9HTlVMSUJf
RkZTTEw9JzAnCkdMX0dOVUxJQl9GR0VUQz0nMScKR0xfR05VTElCX0ZHRVRTPScxJwpHTF9HTlVM
SUJfRk9QRU49JzAnCkdMX0dOVUxJQl9GT1BFTl9HTlU9JzAnCkdMX0dOVUxJQl9GUFJJTlRGPScx
JwpHTF9HTlVMSUJfRlBSSU5URl9QT1NJWD0nMCcKR0xfR05VTElCX0ZQVVJHRT0nMCcKR0xfR05V
TElCX0ZQVVRDPScxJwpHTF9HTlVMSUJfRlBVVFM9JzEnCkdMX0dOVUxJQl9GUkVBRD0nMScKR0xf
R05VTElCX0ZSRUVfUE9TSVg9JzEnCkdMX0dOVUxJQl9GUkVPUEVOPScwJwpHTF9HTlVMSUJfRlND
QU5GPScxJwpHTF9HTlVMSUJfRlNFRUs9JzAnCkdMX0dOVUxJQl9GU0VFS089JzAnCkdMX0dOVUxJ
Ql9GU1RBVD0nMCcKR0xfR05VTElCX0ZTVEFUQVQ9JzEnCkdMX0dOVUxJQl9GU1lOQz0nMScKR0xf
R05VTElCX0ZURUxMPScwJwpHTF9HTlVMSUJfRlRFTExPPScwJwpHTF9HTlVMSUJfRlRSVU5DQVRF
PScwJwpHTF9HTlVMSUJfRlVUSU1FTlM9JzEnCkdMX0dOVUxJQl9GV1JJVEU9JzEnCkdMX0dOVUxJ
Ql9GWlBSSU5URj0nMCcKR0xfR05VTElCX0dFVEM9JzEnCkdMX0dOVUxJQl9HRVRDSEFSPScxJwpH
TF9HTlVMSUJfR0VUQ1dEPScwJwpHTF9HTlVMSUJfR0VUREVMSU09JzAnCkdMX0dOVUxJQl9HRVRE
T01BSU5OQU1FPScwJwpHTF9HTlVMSUJfR0VURFRBQkxFU0laRT0nMCcKR0xfR05VTElCX0dFVEVO
VFJPUFk9JzAnCkdMX0dOVUxJQl9HRVRHUk9VUFM9JzEnCkdMX0dOVUxJQl9HRVRIT1NUTkFNRT0n
MCcKR0xfR05VTElCX0dFVExJTkU9JzEnCkdMX0dOVUxJQl9HRVRMT0FEQVZHPScxJwpHTF9HTlVM
SUJfR0VUTE9HSU49JzAnCkdMX0dOVUxJQl9HRVRMT0dJTl9SPScwJwpHTF9HTlVMSUJfR0VUT1BU
X1BPU0lYPScxJwpHTF9HTlVMSUJfR0VUUEFHRVNJWkU9JzAnCkdMX0dOVUxJQl9HRVRQQVNTPScw
JwpHTF9HTlVMSUJfR0VUUEFTU19HTlU9JzAnCkdMX0dOVUxJQl9HRVRQUk9HTkFNRT0nMCcKR0xf
R05VTElCX0dFVFJBTkRPTT0nMScKR0xfR05VTElCX0dFVFNVQk9QVD0nMCcKR0xfR05VTElCX0dF
VFRJTUVPRkRBWT0nMScKR0xfR05VTElCX0dFVFVNQVNLPScwJwpHTF9HTlVMSUJfR0VUVVNFUlNI
RUxMPScwJwpHTF9HTlVMSUJfR1JBTlRQVD0nMCcKR0xfR05VTElCX0dST1VQX01FTUJFUj0nMScK
R0xfR05VTElCX0lNQVhBQlM9JzAnCkdMX0dOVUxJQl9JTUFYRElWPScwJwpHTF9HTlVMSUJfSVNB
VFRZPScwJwpHTF9HTlVMSUJfTENITU9EPScwJwpHTF9HTlVMSUJfTENIT1dOPScwJwpHTF9HTlVM
SUJfTElOSz0nMCcKR0xfR05VTElCX0xJTktBVD0nMCcKR0xfR05VTElCX0xPQ0FMVElNRT0nMCcK
R0xfR05VTElCX0xTRUVLPScwJwpHTF9HTlVMSUJfTFNUQVQ9JzEnCkdMX0dOVUxJQl9NQUxMT0Nf
R05VPScxJwpHTF9HTlVMSUJfTUFMTE9DX1BPU0lYPScxJwpHTF9HTlVMSUJfTUJTQ0FTRUNNUD0n
MCcKR0xfR05VTElCX01CU0NBU0VTVFI9JzAnCkdMX0dOVUxJQl9NQlNDSFI9JzAnCkdMX0dOVUxJ
Ql9NQlNDU1BOPScwJwpHTF9HTlVMSUJfTUJTTEVOPScwJwpHTF9HTlVMSUJfTUJTTkNBU0VDTVA9
JzAnCkdMX0dOVUxJQl9NQlNOTEVOPScwJwpHTF9HTlVMSUJfTUJTUEJSSz0nMCcKR0xfR05VTElC
X01CU1BDQVNFQ01QPScwJwpHTF9HTlVMSUJfTUJTUkNIUj0nMCcKR0xfR05VTElCX01CU1NFUD0n
MCcKR0xfR05VTElCX01CU1NQTj0nMCcKR0xfR05VTElCX01CU1NUUj0nMCcKR0xfR05VTElCX01C
U1RPS19SPScwJwpHTF9HTlVMSUJfTUJTVE9XQ1M9JzAnCkdMX0dOVUxJQl9NQlNfRU5EU1dJVEg9
JzAnCkdMX0dOVUxJQl9NQlNfU1RBUlRTV0lUSD0nMCcKR0xfR05VTElCX01CVE9XQz0nMCcKR0xf
R05VTElCX01EQV9BQ0NFU1M9JzEnCkdMX0dOVUxJQl9NREFfQ0hESVI9JzEnCkdMX0dOVUxJQl9N
REFfQ0hNT0Q9JzEnCkdMX0dOVUxJQl9NREFfQ0xPU0U9JzEnCkdMX0dOVUxJQl9NREFfQ1JFQVQ9
JzEnCkdMX0dOVUxJQl9NREFfRFVQMj0nMScKR0xfR05VTElCX01EQV9EVVA9JzEnCkdMX0dOVUxJ
Ql9NREFfRUNWVD0nMScKR0xfR05VTElCX01EQV9FWEVDTD0nMScKR0xfR05VTElCX01EQV9FWEVD
TEU9JzEnCkdMX0dOVUxJQl9NREFfRVhFQ0xQPScxJwpHTF9HTlVMSUJfTURBX0VYRUNWPScxJwpH
TF9HTlVMSUJfTURBX0VYRUNWRT0nMScKR0xfR05VTElCX01EQV9FWEVDVlA9JzEnCkdMX0dOVUxJ
Ql9NREFfRVhFQ1ZQRT0nMScKR0xfR05VTElCX01EQV9GQ0xPU0VBTEw9JzEnCkdMX0dOVUxJQl9N
REFfRkNWVD0nMScKR0xfR05VTElCX01EQV9GRE9QRU49JzEnCkdMX0dOVUxJQl9NREFfRklMRU5P
PScxJwpHTF9HTlVMSUJfTURBX0dDVlQ9JzEnCkdMX0dOVUxJQl9NREFfR0VUQ1dEPScxJwpHTF9H
TlVMSUJfTURBX0dFVFBJRD0nMScKR0xfR05VTElCX01EQV9HRVRXPScxJwpHTF9HTlVMSUJfTURB
X0lTQVRUWT0nMScKR0xfR05VTElCX01EQV9MU0VFSz0nMScKR0xfR05VTElCX01EQV9NRU1DQ1BZ
PScxJwpHTF9HTlVMSUJfTURBX01LRElSPScxJwpHTF9HTlVMSUJfTURBX01LVEVNUD0nMScKR0xf
R05VTElCX01EQV9PUEVOPScxJwpHTF9HTlVMSUJfTURBX1BVVEVOVj0nMScKR0xfR05VTElCX01E
QV9QVVRXPScxJwpHTF9HTlVMSUJfTURBX1JFQUQ9JzEnCkdMX0dOVUxJQl9NREFfUk1ESVI9JzEn
CkdMX0dOVUxJQl9NREFfU1RSRFVQPScxJwpHTF9HTlVMSUJfTURBX1NXQUI9JzEnCkdMX0dOVUxJ
Ql9NREFfVEVNUE5BTT0nMScKR0xfR05VTElCX01EQV9UWlNFVD0nMScKR0xfR05VTElCX01EQV9V
TUFTSz0nMScKR0xfR05VTElCX01EQV9VTkxJTks9JzEnCkdMX0dOVUxJQl9NREFfV1JJVEU9JzEn
CkdMX0dOVUxJQl9NRU1DSFI9JzAnCkdMX0dOVUxJQl9NRU1NRU09JzEnCkdMX0dOVUxJQl9NRU1Q
Q1BZPScxJwpHTF9HTlVMSUJfTUVNUkNIUj0nMScKR0xfR05VTElCX01FTVNFVF9FWFBMSUNJVD0n
MScKR0xfR05VTElCX01LRElSPScwJwpHTF9HTlVMSUJfTUtESVJBVD0nMCcKR0xfR05VTElCX01L
RFRFTVA9JzAnCkdMX0dOVUxJQl9NS0ZJRk89JzAnCkdMX0dOVUxJQl9NS0ZJRk9BVD0nMCcKR0xf
R05VTElCX01LTk9EPScwJwpHTF9HTlVMSUJfTUtOT0RBVD0nMCcKR0xfR05VTElCX01LT1NURU1Q
PScxJwpHTF9HTlVMSUJfTUtPU1RFTVBTPScwJwpHTF9HTlVMSUJfTUtTVEVNUD0nMCcKR0xfR05V
TElCX01LU1RFTVBTPScwJwpHTF9HTlVMSUJfTUtUSU1FPScxJwpHTF9HTlVMSUJfTkFOT1NMRUVQ
PScxJwpHTF9HTlVMSUJfTk9OQkxPQ0tJTkc9JzAnCkdMX0dOVUxJQl9PQlNUQUNLX1BSSU5URj0n
MCcKR0xfR05VTElCX09CU1RBQ0tfUFJJTlRGX1BPU0lYPScwJwpHTF9HTlVMSUJfT0JTVEFDS19a
UFJJTlRGPScwJwpHTF9HTlVMSUJfT1BFTj0nMScKR0xfR05VTElCX09QRU5BVD0nMCcKR0xfR05V
TElCX09QRU5ESVI9JzAnCkdMX0dOVUxJQl9PVkVSUklERVNfU1RSVUNUX1NUQVQ9JzAnCkdMX0dO
VUxJQl9QQ0xPU0U9JzAnCkdMX0dOVUxJQl9QRVJST1I9JzAnCkdMX0dOVUxJQl9QSVBFMj0nMScK
R0xfR05VTElCX1BJUEU9JzAnCkdMX0dOVUxJQl9QT1BFTj0nMCcKR0xfR05VTElCX1BPU0lYX01F
TUFMSUdOPScwJwpHTF9HTlVMSUJfUE9TSVhfT1BFTlBUPScwJwpHTF9HTlVMSUJfUFJFQUQ9JzAn
CkdMX0dOVUxJQl9QUklOVEY9JzEnCkdMX0dOVUxJQl9QUklOVEZfUE9TSVg9JzAnCkdMX0dOVUxJ
Ql9QU0VMRUNUPScxJwpHTF9HTlVMSUJfUFRIUkVBRF9TSUdNQVNLPScxJwpHTF9HTlVMSUJfUFRT
TkFNRT0nMCcKR0xfR05VTElCX1BUU05BTUVfUj0nMCcKR0xfR05VTElCX1BVVEM9JzEnCkdMX0dO
VUxJQl9QVVRDSEFSPScxJwpHTF9HTlVMSUJfUFVURU5WPScwJwpHTF9HTlVMSUJfUFVUUz0nMScK
R0xfR05VTElCX1BXUklURT0nMCcKR0xfR05VTElCX1FTT1JUX1I9JzAnCkdMX0dOVUxJQl9SQUlT
RT0nMCcKR0xfR05VTElCX1JBTkQ9JzAnCkdMX0dOVUxJQl9SQU5ET009JzAnCkdMX0dOVUxJQl9S
QU5ET01fUj0nMCcKR0xfR05VTElCX1JBV01FTUNIUj0nMScKR0xfR05VTElCX1JFQUQ9JzAnCkdM
X0dOVUxJQl9SRUFERElSPScwJwpHTF9HTlVMSUJfUkVBRExJTks9JzEnCkdMX0dOVUxJQl9SRUFE
TElOS0FUPScxJwpHTF9HTlVMSUJfUkVBTExPQ0FSUkFZPScwJwpHTF9HTlVMSUJfUkVBTExPQ19Q
T1NJWD0nMScKR0xfR05VTElCX1JFQUxQQVRIPScxJwpHTF9HTlVMSUJfUkVNT1ZFPScwJwpHTF9H
TlVMSUJfUkVOQU1FPScwJwpHTF9HTlVMSUJfUkVOQU1FQVQ9JzAnCkdMX0dOVUxJQl9SRVdJTkRE
SVI9JzAnCkdMX0dOVUxJQl9STURJUj0nMCcKR0xfR05VTElCX1JQTUFUQ0g9JzAnCkdMX0dOVUxJ
Ql9TQ0FORElSPScwJwpHTF9HTlVMSUJfU0NBTkY9JzEnCkdMX0dOVUxJQl9TRUNVUkVfR0VURU5W
PScwJwpHTF9HTlVMSUJfU0VMRUNUPScwJwpHTF9HTlVMSUJfU0VURU5WPScwJwpHTF9HTlVMSUJf
U0VUSE9TVE5BTUU9JzAnCkdMX0dOVUxJQl9TSUcyU1RSPScxJwpHTF9HTlVMSUJfU0lHQUJCUkVW
X05QPScwJwpHTF9HTlVMSUJfU0lHQUNUSU9OPScwJwpHTF9HTlVMSUJfU0lHREVTQ1JfTlA9JzEn
CkdMX0dOVUxJQl9TSUdOQUxfSF9TSUdQSVBFPScwJwpHTF9HTlVMSUJfU0lHUFJPQ01BU0s9JzAn
CkdMX0dOVUxJQl9TTEVFUD0nMCcKR0xfR05VTElCX1NOUFJJTlRGPScwJwpHTF9HTlVMSUJfU05a
UFJJTlRGPScwJwpHTF9HTlVMSUJfU1BSSU5URl9QT1NJWD0nMCcKR0xfR05VTElCX1NUQUNLX1RS
QUNFPScwJwpHTF9HTlVMSUJfU1RBVD0nMCcKR0xfR05VTElCX1NURElPX0hfTk9OQkxPQ0tJTkc9
JzAnCkdMX0dOVUxJQl9TVERJT19IX1NJR1BJUEU9JzAnCkdMX0dOVUxJQl9TVFBDUFk9JzEnCkdM
X0dOVUxJQl9TVFBOQ1BZPScwJwpHTF9HTlVMSUJfU1RSQ0FTRVNUUj0nMCcKR0xfR05VTElCX1NU
UkNIUk5VTD0nMCcKR0xfR05VTElCX1NUUkRVUD0nMCcKR0xfR05VTElCX1NUUkVSUk9SPScwJwpH
TF9HTlVMSUJfU1RSRVJST1JOQU1FX05QPScwJwpHTF9HTlVMSUJfU1RSRVJST1JfTD0nMCcKR0xf
R05VTElCX1NUUkVSUk9SX1I9JzAnCkdMX0dOVUxJQl9TVFJGVElNRT0nMCcKR0xfR05VTElCX1NU
Uk5DQVQ9JzAnCkdMX0dOVUxJQl9TVFJORFVQPScwJwpHTF9HTlVMSUJfU1RSTkxFTj0nMScKR0xf
R05VTElCX1NUUlBCUks9JzAnCkdMX0dOVUxJQl9TVFJQVElNRT0nMCcKR0xfR05VTElCX1NUUlNF
UD0nMCcKR0xfR05VTElCX1NUUlNJR05BTD0nMCcKR0xfR05VTElCX1NUUlNUUj0nMCcKR0xfR05V
TElCX1NUUlRPRD0nMCcKR0xfR05VTElCX1NUUlRPRj0nMCcKR0xfR05VTElCX1NUUlRPSU1BWD0n
MScKR0xfR05VTElCX1NUUlRPS19SPScwJwpHTF9HTlVMSUJfU1RSVE9MPScwJwpHTF9HTlVMSUJf
U1RSVE9MRD0nMCcKR0xfR05VTElCX1NUUlRPTEw9JzAnCkdMX0dOVUxJQl9TVFJUT1VMPScwJwpH
TF9HTlVMSUJfU1RSVE9VTEw9JzAnCkdMX0dOVUxJQl9TVFJUT1VNQVg9JzAnCkdMX0dOVUxJQl9T
VFJWRVJTQ01QPScwJwpHTF9HTlVMSUJfU1RSX0VORFNXSVRIPScwJwpHTF9HTlVMSUJfU1RSX1NU
QVJUU1dJVEg9JzAnCkdMX0dOVUxJQl9TWU1MSU5LPScxJwpHTF9HTlVMSUJfU1lNTElOS0FUPScw
JwpHTF9HTlVMSUJfU1lTVEVNX1BPU0lYPScwJwpHTF9HTlVMSUJfU1pQUklOVEY9JzAnCkdMX0dO
VUxJQl9USU1FPScwJwpHTF9HTlVMSUJfVElNRUdNPScxJwpHTF9HTlVMSUJfVElNRVNQRUNfR0VU
PScwJwpHTF9HTlVMSUJfVElNRVNQRUNfR0VUUkVTPScwJwpHTF9HTlVMSUJfVElNRV9SPScxJwpH
TF9HTlVMSUJfVElNRV9SWj0nMScKR0xfR05VTElCX1RNUEZJTEU9JzAnCkdMX0dOVUxJQl9UUlVO
Q0FURT0nMCcKR0xfR05VTElCX1RUWU5BTUVfUj0nMCcKR0xfR05VTElCX1RaTkFNRT0nMCcKR0xf
R05VTElCX1RaU0VUPScwJwpHTF9HTlVMSUJfVU5JU1REX0hfR0VUT1BUPScxJwpHTF9HTlVMSUJf
VU5JU1REX0hfTk9OQkxPQ0tJTkc9JzAnCkdMX0dOVUxJQl9VTklTVERfSF9TSUdQSVBFPScwJwpH
TF9HTlVMSUJfVU5MSU5LPScwJwpHTF9HTlVMSUJfVU5MSU5LQVQ9JzAnCkdMX0dOVUxJQl9VTkxP
Q0tQVD0nMCcKR0xfR05VTElCX1VOU0VURU5WPScwJwpHTF9HTlVMSUJfVVNMRUVQPScwJwpHTF9H
TlVMSUJfVVRJTUVOU0FUPScxJwpHTF9HTlVMSUJfVkFTUFJJTlRGPScwJwpHTF9HTlVMSUJfVkFT
WlBSSU5URj0nMCcKR0xfR05VTElCX1ZEUFJJTlRGPScwJwpHTF9HTlVMSUJfVkRaUFJJTlRGPScw
JwpHTF9HTlVMSUJfVkZQUklOVEY9JzEnCkdMX0dOVUxJQl9WRlBSSU5URl9QT1NJWD0nMCcKR0xf
R05VTElCX1ZGU0NBTkY9JzAnCkdMX0dOVUxJQl9WRlpQUklOVEY9JzAnCkdMX0dOVUxJQl9WUFJJ
TlRGPScxJwpHTF9HTlVMSUJfVlBSSU5URl9QT1NJWD0nMCcKR0xfR05VTElCX1ZTQ0FORj0nMCcK
R0xfR05VTElCX1ZTTlBSSU5URj0nMCcKR0xfR05VTElCX1ZTTlpQUklOVEY9JzAnCkdMX0dOVUxJ
Ql9WU1BSSU5URl9QT1NJWD0nMCcKR0xfR05VTElCX1ZTWlBSSU5URj0nMCcKR0xfR05VTElCX1Za
UFJJTlRGPScwJwpHTF9HTlVMSUJfV0NUT01CPScwJwpHTF9HTlVMSUJfV1JJVEU9JzAnCkdMX0dO
VUxJQl9aUFJJTlRGPScwJwpHTF9HTlVMSUJfX0VYSVQ9JzAnCkdMX1NURENfQklUX0NFSUw9JzAn
CkdMX1NURENfQklUX0ZMT09SPScwJwpHTF9TVERDX0JJVF9XSURUSD0nMScKR0xfU1REQ19DT1VO
VF9PTkVTPScxJwpHTF9TVERDX0NPVU5UX1pFUk9TPScwJwpHTF9TVERDX0ZJUlNUX0xFQURJTkdf
T05FPScwJwpHTF9TVERDX0ZJUlNUX0xFQURJTkdfWkVSTz0nMCcKR0xfU1REQ19GSVJTVF9UUkFJ
TElOR19PTkU9JzAnCkdMX1NURENfRklSU1RfVFJBSUxJTkdfWkVSTz0nMCcKR0xfU1REQ19IQVNf
U0lOR0xFX0JJVD0nMCcKR0xfU1REQ19MRUFESU5HX09ORVM9JzAnCkdMX1NURENfTEVBRElOR19a
RVJPUz0nMScKR0xfU1REQ19UUkFJTElOR19PTkVTPScwJwpHTF9TVERDX1RSQUlMSU5HX1pFUk9T
PScxJwpHTUFMTE9DX09CSj0nJwpHTVBfSD0nZ21wLmgnCkdOVUxJQkhFQURFUlNfT1ZFUlJJREVf
V0lOVF9UPScwJwpHTlVMSUJfV0FSTl9DRkxBR1M9JyAtV2FsbCAtV2RhdGUtdGltZSAtV2Rpc2Fi
bGVkLW9wdGltaXphdGlvbiAtV2V4dHJhIC1XZm9ybWF0LXNpZ25lZG5lc3MgLVdpbml0LXNlbGYg
LVdpbnZhbGlkLXBjaCAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1pbmNsdWRlLWRp
cnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdtaXNzaW5nLXZhcmlhYmxlLWRlY2xhcmF0aW9ucyAt
V25lc3RlZC1leHRlcm5zIC1XbnVsbC1kZXJlZmVyZW5jZSAtV29sZC1zdHlsZS1kZWZpbml0aW9u
IC1XcGFja2VkIC1XcG9pbnRlci1hcml0aCAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5pbml0aWFs
aXplZCAtV3Vua25vd24tcHJhZ21hcyAtV3ZhcmlhZGljLW1hY3JvcyAtV3dyaXRlLXN0cmluZ3Mg
LVdmb3JtYXQ9MiAtV3RocmVhZC1zYWZldHkgLVdyZWR1bmRhbnQtZGVjbHMgLVduby1taXNzaW5n
LWZpZWxkLWluaXRpYWxpemVycyAtV25vLW92ZXJyaWRlLWluaXQgLVduby1zaWduLWNvbXBhcmUg
LVduby10eXBlLWxpbWl0cyAtV25vLXVudXNlZC1wYXJhbWV0ZXIgLVduby1mb3JtYXQtbm9ubGl0
ZXJhbCAtV25vLWJpdHdpc2UtaW5zdGVhZC1vZi1sb2dpY2FsIC1Xbm8tbWlzc2luZy1icmFjZXMg
LVduby1udWxsLXBvaW50ZXItYXJpdGhtZXRpYyAtV25vLWltcGxpY2l0LWNvbnN0LWludC1mbG9h
dC1jb252ZXJzaW9uIC1Xbm8taW50LWluLWJvb2wtY29udGV4dCAtV25vLXNoaWZ0LW92ZXJmbG93
IC1Xbm8taW5pdGlhbGl6ZXItb3ZlcnJpZGVzIC1Xbm8tdGF1dG9sb2dpY2FsLWNvbXBhcmUgLVdu
by10YXV0b2xvZ2ljYWwtY29uc3RhbnQtb3V0LW9mLXJhbmdlLWNvbXBhcmUgLVduby1kZXByZWNh
dGVkLWRlY2xhcmF0aW9ucycKR05VU1RFUF9DRkxBR1M9JycKR05VX09CSkNfQ0ZMQUdTPScnCkdP
QkpFQ1RfQ0ZMQUdTPScnCkdPQkpFQ1RfTElCUz0nJwpHU0VUVElOR1NfQ0ZMQUdTPScnCkdTRVRU
SU5HU19MSUJTPScnCkdUS19DRkxBR1M9JycKR1RLX0xJQlM9JycKR1RLX09CSj0nJwpHWklQX1BS
T0c9Jy91c3IvYmluL2d6aXAnCkhBSUtVX0NGTEFHUz0nJwpIQUlLVV9DWFhfT0JKPScnCkhBSUtV
X0xJQlM9JycKSEFJS1VfT0JKPScnCkhBUkZCVVpaX0NGTEFHUz0nJwpIQVJGQlVaWl9MSUJTPScn
CkhBVkVfQUxJR05FRF9BTExPQz0nMScKSEFWRV9BTExPQ0FfSD0nMScKSEFWRV9BTFBIQVNPUlQ9
JzEnCkhBVkVfQVRPTEw9JzEnCkhBVkVfQkVfQVBQPSdubycKSEFWRV9CTEtDTlRfVD0nMScKSEFW
RV9CTEtTSVpFX1Q9JzEnCkhBVkVfQzk5X1NURElOVF9IPScxJwpIQVZFX0NBTk9OSUNBTElaRV9G
SUxFX05BTUU9JzAnCkhBVkVfQ0hPV049JzEnCkhBVkVfQ0xPU0VESVI9JzEnCkhBVkVfQ09QWV9G
SUxFX1JBTkdFPScwJwpIQVZFX0RFQ0xfRElSRkQ9JzEnCkhBVkVfREVDTF9FQ1ZUPScxJwpIQVZF
X0RFQ0xfRU5WSVJPTj0nMCcKSEFWRV9ERUNMX0VYRUNWUEU9JzAnCkhBVkVfREVDTF9GQ0hESVI9
JzEnCkhBVkVfREVDTF9GQ0xPU0VBTEw9JzAnCkhBVkVfREVDTF9GQ1ZUPScxJwpIQVZFX0RFQ0xf
RkRBVEFTWU5DPScxJwpIQVZFX0RFQ0xfRkRPUEVORElSPScxJwpIQVZFX0RFQ0xfRlBVUkdFPScx
JwpIQVZFX0RFQ0xfRlNFRUtPPScxJwpIQVZFX0RFQ0xfRlRFTExPPScxJwpIQVZFX0RFQ0xfR0NW
VD0nMScKSEFWRV9ERUNMX0dFVERFTElNPScxJwpIQVZFX0RFQ0xfR0VURE9NQUlOTkFNRT0nMScK
SEFWRV9ERUNMX0dFVExJTkU9JzEnCkhBVkVfREVDTF9HRVRMT0FEQVZHPScxJwpIQVZFX0RFQ0xf
R0VUTE9HSU49JzEnCkhBVkVfREVDTF9HRVRMT0dJTl9SPScxJwpIQVZFX0RFQ0xfR0VUUEFHRVNJ
WkU9JzEnCkhBVkVfREVDTF9HRVRVU0VSU0hFTEw9JzEnCkhBVkVfREVDTF9HRVRXPScxJwpIQVZF
X0RFQ0xfSU1BWEFCUz0nMScKSEFWRV9ERUNMX0lNQVhESVY9JzEnCkhBVkVfREVDTF9JTklUU1RB
VEU9JzEnCkhBVkVfREVDTF9MT0NBTFRJTUVfUj0nMScKSEFWRV9ERUNMX01FTU1FTT0nMScKSEFW
RV9ERUNMX01FTVJDSFI9JzAnCkhBVkVfREVDTF9PQlNUQUNLX1BSSU5URj0nMScKSEFWRV9ERUNM
X1BPU0lYX1NQQVdOX1NFVFNJRD0nJwpIQVZFX0RFQ0xfUFJPR1JBTV9JTlZPQ0FUSU9OX05BTUU9
JzEnCkhBVkVfREVDTF9QVVRXPScxJwpIQVZFX0RFQ0xfU0VURU5WPScxJwpIQVZFX0RFQ0xfU0VU
SE9TVE5BTUU9JzEnCkhBVkVfREVDTF9TRVRTVEFURT0nMScKSEFWRV9ERUNMX1NOUFJJTlRGPScx
JwpIQVZFX0RFQ0xfU1RSRFVQPScxJwpIQVZFX0RFQ0xfU1RSRVJST1JfUj0nMScKSEFWRV9ERUNM
X1NUUk5EVVA9JzEnCkhBVkVfREVDTF9TVFJOTEVOPScxJwpIQVZFX0RFQ0xfU1RSU0lHTkFMPScx
JwpIQVZFX0RFQ0xfU1RSVE9JTUFYPScxJwpIQVZFX0RFQ0xfU1RSVE9LX1I9JzEnCkhBVkVfREVD
TF9TVFJUT1VNQVg9JzEnCkhBVkVfREVDTF9UUlVOQ0FURT0nMScKSEFWRV9ERUNMX1RUWU5BTUVf
Uj0nMScKSEFWRV9ERUNMX1VOU0VURU5WPScxJwpIQVZFX0RFQ0xfVlNOUFJJTlRGPScxJwpIQVZF
X0RJUkVOVF9IPScxJwpIQVZFX0RQUklOVEY9JzEnCkhBVkVfRFVQMz0nMScKSEFWRV9FTkRJQU5f
SD0nMCcKSEFWRV9FVUlEQUNDRVNTPScwJwpIQVZFX0VYRUNWUEU9JzEnCkhBVkVfRVhQTElDSVRf
QlpFUk89JzEnCkhBVkVfRkFDQ0VTU0FUPScxJwpIQVZFX0ZDSERJUj0nMScKSEFWRV9GQ0hNT0RB
VD0nMScKSEFWRV9GQ0hPV05BVD0nMScKSEFWRV9GQ05UTD0nMScKSEFWRV9GREFUQVNZTkM9JzEn
CkhBVkVfRkRPUEVORElSPScxJwpIQVZFX0ZGU0w9JzEnCkhBVkVfRkZTTEw9JzEnCkhBVkVfRlNF
RUtPPScxJwpIQVZFX0ZTVEFUQVQ9JzEnCkhBVkVfRlNZTkM9JzEnCkhBVkVfRlRFTExPPScxJwpI
QVZFX0ZUUlVOQ0FURT0nMScKSEFWRV9GVVRJTUVOUz0nMScKSEFWRV9HRVREVEFCTEVTSVpFPScx
JwpIQVZFX0dFVEVOVFJPUFk9JzEnCkhBVkVfR0VUR1JPVVBTPScxJwpIQVZFX0dFVEhPU1ROQU1F
PScxJwpIQVZFX0dFVExPR0lOPScxJwpIQVZFX0dFVE9QVF9IPScxJwpIQVZFX0dFVFBBR0VTSVpF
PScxJwpIQVZFX0dFVFBBU1M9JzEnCkhBVkVfR0VUUFJPR05BTUU9JzEnCkhBVkVfR0VUUkFORE9N
PScwJwpIQVZFX0dFVFNVQk9QVD0nMScKSEFWRV9HRVRUSU1FT0ZEQVk9JzEnCkhBVkVfR0VUVU1B
U0s9JzEnCkhBVkVfR1JBTlRQVD0nMScKSEFWRV9HUk9VUF9NRU1CRVI9JzAnCkhBVkVfR1NFVFRJ
TkdTPSdubycKSEFWRV9JTUFYQUJTPScxJwpIQVZFX0lNQVhESVY9JzEnCkhBVkVfSU1BWERJVl9U
PScxJwpIQVZFX0lOSVRTVEFURT0nMScKSEFWRV9JTlRUWVBFU19IPScxJwpIQVZFX0xDSE1PRD0n
MScKSEFWRV9MQ0hPV049JzEnCkhBVkVfTElCR01QPSdubycKSEFWRV9MSUJTRUNDT01QPSdubycK
SEFWRV9MSU5LPScxJwpIQVZFX0xJTktBVD0nMScKSEFWRV9MU1RBVD0nMScKSEFWRV9NQUNQT1JU
Uz0nJwpIQVZFX01BWF9BTElHTl9UPScxJwpIQVZFX01CU0xFTj0nMCcKSEFWRV9NQlRPV0M9JzEn
CkhBVkVfTUVNUENQWT0nMCcKSEFWRV9NRU1TRVRfRVhQTElDSVQ9JzAnCkhBVkVfTUtESVJBVD0n
MScKSEFWRV9NS0RURU1QPScxJwpIQVZFX01LRklGTz0nMScKSEFWRV9NS0ZJRk9BVD0nMScKSEFW
RV9NS05PRD0nMScKSEFWRV9NS05PREFUPScxJwpIQVZFX01LT1NURU1QPScxJwpIQVZFX01LT1NU
RU1QUz0nMScKSEFWRV9NS1NURU1QPScxJwpIQVZFX01LU1RFTVBTPScxJwpIQVZFX01PRFVMRVM9
J3llcycKSEFWRV9OQU5PU0xFRVA9JzEnCkhBVkVfTkFUSVZFX0NPTVA9J25vJwpIQVZFX09GRjY0
X1Q9JzEnCkhBVkVfT1BFTkFUPScxJwpIQVZFX09QRU5ESVI9JzEnCkhBVkVfT1NfSD0nMCcKSEFW
RV9QQ0xPU0U9JzEnCkhBVkVfUERVTVBFUj0neWVzJwpIQVZFX1BHVEs9J25vJwpIQVZFX1BJUEUy
PScwJwpIQVZFX1BJUEU9JzEnCkhBVkVfUE9QRU49JzEnCkhBVkVfUE9TSVhfTUVNQUxJR049JzEn
CkhBVkVfUE9TSVhfT1BFTlBUPScxJwpIQVZFX1BPU0lYX1NJR05BTEJMT0NLSU5HPScxJwpIQVZF
X1BPU0lYX1NQQVdOPScnCkhBVkVfUE9TSVhfU1BBV05BVFRSX1NFVEZMQUdTPScnCkhBVkVfUE9T
SVhfU1BBV05fRklMRV9BQ1RJT05TX0FERENIRElSPScnCkhBVkVfUE9TSVhfU1BBV05fRklMRV9B
Q1RJT05TX0FERENIRElSX05QPScnCkhBVkVfUFJFQUQ9JzEnCkhBVkVfUFNFTEVDVD0nMScKSEFW
RV9QVEhSRUFEX1NJR01BU0s9JzEnCkhBVkVfUFRTTkFNRT0nMScKSEFWRV9QVFNOQU1FX1I9JzEn
CkhBVkVfUFdSSVRFPScxJwpIQVZFX1FTT1JUX1I9JzEnCkhBVkVfUkFJU0U9JzEnCkhBVkVfUkFO
RE9NPScxJwpIQVZFX1JBTkRPTV9IPScxJwpIQVZFX1JBTkRPTV9SPScxJwpIQVZFX1JBV01FTUNI
Uj0nMCcKSEFWRV9SRUFERElSPScxJwpIQVZFX1JFQURMSU5LPScxJwpIQVZFX1JFQURMSU5LQVQ9
JzEnCkhBVkVfUkVBTExPQ0FSUkFZPScxJwpIQVZFX1JFQUxQQVRIPScxJwpIQVZFX1JFTkFNRUFU
PScxJwpIQVZFX1JFV0lORERJUj0nMScKSEFWRV9SUE1BVENIPScxJwpIQVZFX1NDQU5ESVI9JzEn
CkhBVkVfU0VDQ09NUD0nbm8nCkhBVkVfU0VDVVJFX0dFVEVOVj0nMScKSEFWRV9TRVRFTlY9JzEn
CkhBVkVfU0VUSE9TVE5BTUU9JzEnCkhBVkVfU0VUU1RBVEU9JzEnCkhBVkVfU0lHMlNUUj0nMCcK
SEFWRV9TSUdBQkJSRVZfTlA9JzEnCkhBVkVfU0lHQUNUSU9OPScxJwpIQVZFX1NJR0RFU0NSX05Q
PScwJwpIQVZFX1NJR0hBTkRMRVJfVD0nMCcKSEFWRV9TSUdJTkZPX1Q9JzEnCkhBVkVfU0lHTkVE
X1NJR19BVE9NSUNfVD0nJwpIQVZFX1NJR05FRF9XQ0hBUl9UPScnCkhBVkVfU0lHTkVEX1dJTlRf
VD0nJwpIQVZFX1NJR1NFVF9UPScxJwpIQVZFX1NMRUVQPScxJwpIQVZFX1NQQVdOX0g9JycKSEFW
RV9TVERJTlRfSD0nMScKSEFWRV9TVFBDUFk9JzEnCkhBVkVfU1RQTkNQWT0nMScKSEFWRV9TVFIy
U0lHPScwJwpIQVZFX1NUUkNBU0VTVFI9JzEnCkhBVkVfU1RSQ0hSTlVMPScxJwpIQVZFX1NUUkVS
Uk9STkFNRV9OUD0nMScKSEFWRV9TVFJFUlJPUl9MPScxJwpIQVZFX1NUUlBCUks9JzEnCkhBVkVf
U1RSUFRJTUU9JzEnCkhBVkVfU1RSU0VQPScxJwpIQVZFX1NUUlRPRD0nMScKSEFWRV9TVFJUT0Y9
JzEnCkhBVkVfU1RSVE9MPScxJwpIQVZFX1NUUlRPTEQ9JzEnCkhBVkVfU1RSVE9MTD0nMScKSEFW
RV9TVFJUT1VMPScxJwpIQVZFX1NUUlRPVUxMPScxJwpIQVZFX1NUUlVDVF9SQU5ET01fREFUQT0n
MScKSEFWRV9TVFJVQ1RfU0lHQUNUSU9OX1NBX1NJR0FDVElPTj0nMScKSEFWRV9TVFJVQ1RfVElN
RVZBTD0nMScKSEFWRV9TVFJWRVJTQ01QPScxJwpIQVZFX1NZTUxJTks9JzEnCkhBVkVfU1lNTElO
S0FUPScxJwpIQVZFX1NZU19CSVRZUEVTX0g9JzAnCkhBVkVfU1lTX0NERUZTX0g9JzAnCkhBVkVf
U1lTX0VORElBTl9IPScwJwpIQVZFX1NZU19JTlRUWVBFU19IPScwJwpIQVZFX1NZU19MT0FEQVZH
X0g9JzAnCkhBVkVfU1lTX1BBUkFNX0g9JzAnCkhBVkVfU1lTX1JBTkRPTV9IPScxJwpIQVZFX1NZ
U19TRUxFQ1RfSD0nMScKSEFWRV9TWVNfVElNRV9IPScxJwpIQVZFX1NZU19UWVBFU19IPScxJwpI
QVZFX1RJTUVHTT0nMScKSEFWRV9USU1FU1BFQ19HRVQ9JzEnCkhBVkVfVElNRVNQRUNfR0VUUkVT
PScxJwpIQVZFX1RJTUVaT05FX1Q9JzAnCkhBVkVfVFlQRV9WT0xBVElMRV9TSUdfQVRPTUlDX1Q9
JzEnCkhBVkVfVFpBTExPQz0nMCcKSEFWRV9VTklTVERfSD0nMScKSEFWRV9VTkxJTktBVD0nMScK
SEFWRV9VTkxPQ0tQVD0nMScKSEFWRV9VU0xFRVA9JzEnCkhBVkVfVVRJTUVOU0FUPScxJwpIQVZF
X1ZBU1BSSU5URj0nMScKSEFWRV9WRFBSSU5URj0nMScKSEFWRV9XQ0hBUl9IPScxJwpIQVZFX1dJ
TlNPQ0syX0g9JzAnCkhBVkVfWFNFUlZFUj0nJwpIQVZFX19FWElUPScxJwpJRUVFNzU0X0g9J2ll
ZWU3NTQuaCcKSU1BR0VNQUdJQ0tfQ0ZMQUdTPScnCklNQUdFTUFHSUNLX0xJQlM9JycKSU5DTFVE
RV9ORVhUPSdpbmNsdWRlX25leHQnCklOQ0xVREVfTkVYVF9BU19GSVJTVF9ESVJFQ1RJVkU9J2lu
Y2x1ZGVfbmV4dCcKSU5TVEFMTF9BUkNIX0lOREVQX0VYVFJBPScnCklOU1RBTExfREFUQT0nJHtJ
TlNUQUxMfSAtbSA2NDQnCklOU1RBTExfSU5GTz0nL29wdC9ob21lYnJldy9iaW4vaW5zdGFsbC1p
bmZvJwpJTlNUQUxMX1BST0dSQU09JyR7SU5TVEFMTH0nCklOU1RBTExfU0NSSVBUPScke0lOU1RB
TEx9JwpJTlQzMl9NQVhfTFRfSU5UTUFYX01BWD0nMScKSU5UNjRfTUFYX0VRX0xPTkdfTUFYPSdk
ZWZpbmVkIF9MUDY0JwpJU19EOF9SOD0nJwpKQVJTSUdORVI9JycKSkFWQUM9JycKSlBFR19DRkxB
R1M9JycKS1FVRVVFX0NGTEFHUz0nJwpLUVVFVUVfTElCUz0nJwpLUkI0TElCPScnCktSQjVMSUI9
JycKTENNUzJfQ0ZMQUdTPSctaXN5c3RlbSAvb3B0L2hvbWVicmV3L29wdC9saXR0bGUtY21zMi9p
bmNsdWRlJwpMQ01TMl9MSUJTPSctTC9vcHQvaG9tZWJyZXcvb3B0L2xpdHRsZS1jbXMyL2xpYiAt
bGxjbXMyJwpMREZMQUdTPScnCkxEX1NXSVRDSF9TWVNURU09JycKTERfU1dJVENIX1NZU1RFTV9U
RU1BQ1M9JyAtZnJhbWV3b3JrIEFwcEtpdCAtZnJhbWV3b3JrIElPS2l0IC1mcmFtZXdvcmsgQ2Fy
Ym9uICAgICAgICAgICAgICAgICAgICAgLWZyYW1ld29yayBJT1N1cmZhY2UgLWZyYW1ld29yayBR
dWFydHpDb3JlIC1mcmFtZXdvcmsgVW5pZm9ybVR5cGVJZGVudGlmaWVycycKTERfU1dJVENIX1hf
U0lURT0nJwpMRF9TV0lUQ0hfWF9TSVRFX1JQQVRIPScnCkxJQkdDQ0pJVF9DRkxBR1M9JycKTElC
R0NDSklUX0xJQlM9JycKTElCR0lGPScnCkxJQkdNUD0nJwpMSUJHTVBfQ0ZMQUdTPScnCkxJQkdO
VVRMU19DRkxBR1M9Jy1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2dudXRscy8zLjguOS9p
bmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL25ldHRsZS8zLjEwLjEvaW5jbHVk
ZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9saWJ0YXNuMS80LjIwLjAvaW5jbHVkZSAt
aXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9saWJpZG4yLzIuMy44L2luY2x1ZGUgLWlzeXN0
ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvcDExLWtpdC8wLjI1LjUvaW5jbHVkZS9wMTEta2l0LTEn
CkxJQkdOVVRMU19MSUJTPSctTC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2dudXRscy8zLjguOS9saWIg
LWxnbnV0bHMnCkxJQkdOVV9MSUJERVBTPScnCkxJQkdOVV9MVExJQkRFUFM9JycKTElCR1BNPScn
CkxJQkhFU0lPRD0nJwpMSUJJTlRMPScnCkxJQkpQRUc9JycKTElCTU9EVUxFUz0nJwpMSUJPQkpT
PScnCkxJQk9URl9DRkxBR1M9JycKTElCT1RGX0xJQlM9JycKTElCUE5HPSctTC9vcHQvaG9tZWJy
ZXcvb3B0L2xpYnBuZy9saWIgLWxwbmcxNicKTElCUkVTT0xWPScnCkxJQlM9JyAnCkxJQlNFQ0NP
TVBfQ0ZMQUdTPScnCkxJQlNFQ0NPTVBfTElCUz0nJwpMSUJTRUxJTlVYX0NGTEFHUz0nJwpMSUJT
RUxJTlVYX0xJQlM9JycKTElCU09VTkQ9JycKTElCU1lTVEVNRF9DRkxBR1M9JycKTElCU1lTVEVN
RF9MSUJTPScnCkxJQlNfRUNMSUVOVD0nJwpMSUJTX0dOVVNURVA9JycKTElCU19NQUlMPScnCkxJ
QlNfU1lTVEVNPScnCkxJQlNfVEVSTUNBUD0nLWxuY3Vyc2VzJwpMSUJUSUZGPScnCkxJQlhNRU5V
PScnCkxJQlhNTDJfQ0ZMQUdTPScnCkxJQlhNTDJfTElCUz0nLWx4bWwyJwpMSUJYTVU9JycKTElC
WFBNPScnCkxJQlhTTT0nJwpMSUJYVFI2PScnCkxJQlhUX09USEVSPSckKExJQlhTTSknCkxJQlhf
T1RIRVI9JycKTElCWj0nLWx6JwpMSUJfQUNMPScnCkxJQl9DTE9DS19HRVRUSU1FPScnCkxJQl9F
QUNDRVNTPScnCkxJQl9FWEVDSU5GTz0nJwpMSUJfR0VUUkFORE9NPScnCkxJQl9NQVRIPScnCkxJ
Ql9OQU5PU0xFRVA9JycKTElCX1BUSFJFQUQ9JycKTElCX1BUSFJFQURfU0lHTUFTSz0nJwpMSUJf
U0VMSU5VWD0nJwpMSUJfVElNRVJfVElNRT0nJwpMSUJfV1NPQ0szMj0nJwpMSUJfWEFUVFI9JycK
TElNSVRTX0g9J2xpbWl0cy5oJwpMTl9TX0ZJTEVPTkxZPSdsbiAtcycKTE9DQUxFX0VOX1VURjg9
J2VuX1VTLlVURi04JwpMVExJQkdNUD0nJwpMVExJQklOVEw9JycKTFRMSUJPQkpTPScnCk0xN05f
RkxUX0NGTEFHUz0nJwpNMTdOX0ZMVF9MSUJTPScnCk1BS0VJTkZPPScvb3B0L2hvbWVicmV3L2Jp
bi9tYWtlaW5mbycKTUFLRV9QUk9HPSd5ZXMnCk1LRElSX1A9Jy9vcHQvaG9tZWJyZXcvYmluL2dt
a2RpciAtcCcKTU9EVUxFU19PQko9J2VtYWNzLW1vZHVsZS5vJwpNT0RVTEVTX1NFQ09OREFSWV9T
VUZGSVg9Jy5zbycKTU9EVUxFU19TVUZGSVg9Jy5keWxpYicKTkFOT1NMRUVQX0xJQj0nJwpOQVRJ
VkVfQ09NUElMQVRJT05fQU9UPSdubycKTkRLX0JVSUxEX0FCST0nJwpOREtfQlVJTERfQU5EUk9J
RF9NSz0nJwpOREtfQlVJTERfQU5ZX0NYWF9NT0RVTEU9JycKTkRLX0JVSUxEX0FSPScnCk5ES19C
VUlMRF9BUkNIPScnCk5ES19CVUlMRF9DQz0nJwpOREtfQlVJTERfQ0ZMQUdTPScnCk5ES19CVUlM
RF9DWFg9JycKTkRLX0JVSUxEX0NYWF9MREZMQUdTPScnCk5ES19CVUlMRF9DWFhfU0hBUkVEPScn
Ck5ES19CVUlMRF9DWFhfU1RMPScnCk5ES19CVUlMRF9NT0RVTEVTPScnCk5ES19CVUlMRF9OQVNN
PScnCk5ES19CVUlMRF9SRUFERUxGPScnCk5ES19CVUlMRF9TREs9JycKTkRLX0JVSUxEX1NPX0xE
RkxBR1M9JycKTkVYVF9BU1NFUlRfSD0nPGFzc2VydC5oPicKTkVYVF9BU19GSVJTVF9ESVJFQ1RJ
VkVfQVNTRVJUX0g9Jzxhc3NlcnQuaD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX0RJUkVOVF9I
PSc8ZGlyZW50Lmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9FTkRJQU5fSD0nPGVuZGlhbi5o
PicKTkVYVF9BU19GSVJTVF9ESVJFQ1RJVkVfRVJSTk9fSD0nJwpORVhUX0FTX0ZJUlNUX0RJUkVD
VElWRV9GQ05UTF9IPSc8ZmNudGwuaD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX0dFVE9QVF9I
PSc8Z2V0b3B0Lmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9JTlRUWVBFU19IPSc8aW50dHlw
ZXMuaD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX0xJTUlUU19IPSc8bGltaXRzLmg+JwpORVhU
X0FTX0ZJUlNUX0RJUkVDVElWRV9TSUdOQUxfSD0nPHNpZ25hbC5oPicKTkVYVF9BU19GSVJTVF9E
SVJFQ1RJVkVfU1REREVGX0g9JzxzdGRkZWYuaD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX1NU
RElOVF9IPSc8c3RkaW50Lmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9TVERJT19IPSc8c3Rk
aW8uaD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX1NURExJQl9IPSc8c3RkbGliLmg+JwpORVhU
X0FTX0ZJUlNUX0RJUkVDVElWRV9TVFJJTkdfSD0nPHN0cmluZy5oPicKTkVYVF9BU19GSVJTVF9E
SVJFQ1RJVkVfU1lTX1JBTkRPTV9IPSc8c3lzL3JhbmRvbS5oPicKTkVYVF9BU19GSVJTVF9ESVJF
Q1RJVkVfU1lTX1NFTEVDVF9IPSc8c3lzL3NlbGVjdC5oPicKTkVYVF9BU19GSVJTVF9ESVJFQ1RJ
VkVfU1lTX1NUQVRfSD0nPHN5cy9zdGF0Lmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9TWVNf
VElNRV9IPSc8c3lzL3RpbWUuaD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX1NZU19UWVBFU19I
PSc8c3lzL3R5cGVzLmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9USU1FX0g9Jzx0aW1lLmg+
JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9VTklTVERfSD0nPHVuaXN0ZC5oPicKTkVYVF9ESVJF
TlRfSD0nPGRpcmVudC5oPicKTkVYVF9FTkRJQU5fSD0nPGVuZGlhbi5oPicKTkVYVF9FUlJOT19I
PScnCk5FWFRfRkNOVExfSD0nPGZjbnRsLmg+JwpORVhUX0dFVE9QVF9IPSc8Z2V0b3B0Lmg+JwpO
RVhUX0lOVFRZUEVTX0g9JzxpbnR0eXBlcy5oPicKTkVYVF9MSU1JVFNfSD0nPGxpbWl0cy5oPicK
TkVYVF9TSUdOQUxfSD0nPHNpZ25hbC5oPicKTkVYVF9TVERERUZfSD0nPHN0ZGRlZi5oPicKTkVY
VF9TVERJTlRfSD0nPHN0ZGludC5oPicKTkVYVF9TVERJT19IPSc8c3RkaW8uaD4nCk5FWFRfU1RE
TElCX0g9JzxzdGRsaWIuaD4nCk5FWFRfU1RSSU5HX0g9JzxzdHJpbmcuaD4nCk5FWFRfU1lTX1JB
TkRPTV9IPSc8c3lzL3JhbmRvbS5oPicKTkVYVF9TWVNfU0VMRUNUX0g9JzxzeXMvc2VsZWN0Lmg+
JwpORVhUX1NZU19TVEFUX0g9JzxzeXMvc3RhdC5oPicKTkVYVF9TWVNfVElNRV9IPSc8c3lzL3Rp
bWUuaD4nCk5FWFRfU1lTX1RZUEVTX0g9JzxzeXMvdHlwZXMuaD4nCk5FWFRfVElNRV9IPSc8dGlt
ZS5oPicKTkVYVF9VTklTVERfSD0nPHVuaXN0ZC5oPicKTk9USUZZX0NGTEFHUz0nJwpOT1RJRllf
TElCUz0nJwpOT1RJRllfT0JKPSdrcXVldWUubycKTlNfT0JKPScnCk5TX09CSkNfT0JKPSduc3Rl
cm0ubyBuc2Zucy5vIG5zbWVudS5vIG5zc2VsZWN0Lm8gbnNpbWFnZS5vIG1hY2ZvbnQubycKTlRE
SVI9JycKTlRMSUI9JycKTlVMTFBUUl9UX05FRURTX1NURERFRj0nMScKT0JKQz0nZ2NjJwpPQkpD
RkxBR1M9Jy1nIC1PMicKT0JKRVhUPSdvJwpPVEhFUl9GSUxFUz0nbnMtYXBwJwpQQUNLQUdFX0JV
R1JFUE9SVD0nYnVnLWdudS1lbWFjc0BnbnUub3JnJwpQQUNLQUdFX05BTUU9J0dOVSBFbWFjcycK
UEFDS0FHRV9TVFJJTkc9J0dOVSBFbWFjcyAzMS4wLjUwJwpQQUNLQUdFX1RBUk5BTUU9J2VtYWNz
JwpQQUNLQUdFX1VSTD0naHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8nClBBQ0tB
R0VfVkVSU0lPTj0nMzEuMC41MCcKUEFUSF9TRVBBUkFUT1I9JzonClBBWENUTF9kdW1wZWQ9JycK
UEFYQ1RMX25vdGR1bXBlZD0nJwpQR1RLX0xJQlM9JycKUEdUS19PQko9JycKUEtHX0NPTkZJRz0n
L29wdC9ob21lYnJldy9iaW4vcGtnLWNvbmZpZycKUEtHX0NPTkZJR19MSUJESVI9JycKUEtHX0NP
TkZJR19QQVRIPScnClBOR19DRkxBR1M9Jy1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvb3B0L2xpYnBu
Zy9pbmNsdWRlL2xpYnBuZzE2JwpQTkdfTElCUz0nLUwvb3B0L2hvbWVicmV3L29wdC9saWJwbmcv
bGliIC1scG5nMTYnClBSQUdNQV9DT0xVTU5TPScnClBSQUdNQV9TWVNURU1fSEVBREVSPScjcHJh
Z21hIEdDQyBzeXN0ZW1faGVhZGVyJwpQUklQVFJfUFJFRklYPSdfX1BSSVBUUl9QUkVGSVgnClBS
T0ZJTElOR19DRkxBR1M9JycKUFRIUkVBRF9IX0RFRklORVNfU1RSVUNUX1RJTUVTUEVDPScwJwpQ
VEhSRUFEX1NJR01BU0tfTElCPScnClBUUkRJRkZfVF9TVUZGSVg9JycKUUNPUFlfQUNMX0xJQj0n
JwpSQUxMT0NfT0JKPScnClJBTkxJQj0ncmFubGliJwpSRUFERUxGPScnClJFUExBQ0VfQUJPUlQ9
JzAnClJFUExBQ0VfQUNDRVNTPScwJwpSRVBMQUNFX0FMSUdORURfQUxMT0M9JzAnClJFUExBQ0Vf
Q0FMTE9DX0ZPUl9DQUxMT0NfR05VPScwJwpSRVBMQUNFX0NBTExPQ19GT1JfQ0FMTE9DX1BPU0lY
PScwJwpSRVBMQUNFX0NBTk9OSUNBTElaRV9GSUxFX05BTUU9JzAnClJFUExBQ0VfQ0hNT0Q9JzAn
ClJFUExBQ0VfQ0hPV049JzAnClJFUExBQ0VfQ0xPU0U9JzAnClJFUExBQ0VfQ0xPU0VESVI9JzAn
ClJFUExBQ0VfQ09QWV9GSUxFX1JBTkdFPScwJwpSRVBMQUNFX0NSRUFUPScwJwpSRVBMQUNFX0NU
SU1FPScwJwpSRVBMQUNFX0RJUkZEPScwJwpSRVBMQUNFX0RQUklOVEY9JzAnClJFUExBQ0VfRFVQ
Mj0nMCcKUkVQTEFDRV9EVVAzPScwJwpSRVBMQUNFX0RVUD0nMCcKUkVQTEFDRV9FWEVDTD0nMCcK
UkVQTEFDRV9FWEVDTEU9JzAnClJFUExBQ0VfRVhFQ0xQPScwJwpSRVBMQUNFX0VYRUNWPScwJwpS
RVBMQUNFX0VYRUNWRT0nMCcKUkVQTEFDRV9FWEVDVlA9JzAnClJFUExBQ0VfRVhFQ1ZQRT0nMCcK
UkVQTEFDRV9GQUNDRVNTQVQ9JzEnClJFUExBQ0VfRkNIRElSPScwJwpSRVBMQUNFX0ZDSE1PREFU
PScwJwpSRVBMQUNFX0ZDSE9XTkFUPScwJwpSRVBMQUNFX0ZDTE9TRT0nMCcKUkVQTEFDRV9GQ05U
TD0nMCcKUkVQTEFDRV9GREFUQVNZTkM9JzAnClJFUExBQ0VfRkRPUEVOPScwJwpSRVBMQUNFX0ZE
T1BFTkRJUj0nMCcKUkVQTEFDRV9GRkxVU0g9JzAnClJFUExBQ0VfRkZTTEw9JzAnClJFUExBQ0Vf
Rk9QRU49JzAnClJFUExBQ0VfRk9QRU5fRk9SX0ZPUEVOX0dOVT0nMCcKUkVQTEFDRV9GUFJJTlRG
PScwJwpSRVBMQUNFX0ZQVVJHRT0nMCcKUkVQTEFDRV9GUkVFPScxJwpSRVBMQUNFX0ZSRU9QRU49
JzAnClJFUExBQ0VfRlNFRUs9JzAnClJFUExBQ0VfRlNFRUtPPScwJwpSRVBMQUNFX0ZTVEFUPScw
JwpSRVBMQUNFX0ZTVEFUQVQ9JzEnClJFUExBQ0VfRlRFTEw9JzAnClJFUExBQ0VfRlRFTExPPScw
JwpSRVBMQUNFX0ZUUlVOQ0FURT0nMCcKUkVQTEFDRV9GVVRJTUVOUz0nMScKUkVQTEFDRV9HRVRD
V0Q9JzAnClJFUExBQ0VfR0VUREVMSU09JzAnClJFUExBQ0VfR0VURE9NQUlOTkFNRT0nMCcKUkVQ
TEFDRV9HRVREVEFCTEVTSVpFPScwJwpSRVBMQUNFX0dFVEVOVFJPUFk9JzAnClJFUExBQ0VfR0VU
R1JPVVBTPScxJwpSRVBMQUNFX0dFVExJTkU9JzAnClJFUExBQ0VfR0VUTE9BREFWRz0nMCcKUkVQ
TEFDRV9HRVRMT0dJTj0nMCcKUkVQTEFDRV9HRVRMT0dJTl9SPScwJwpSRVBMQUNFX0dFVFBBR0VT
SVpFPScwJwpSRVBMQUNFX0dFVFBBU1M9JzAnClJFUExBQ0VfR0VUUEFTU19GT1JfR0VUUEFTU19H
TlU9JzAnClJFUExBQ0VfR0VUUFJPR05BTUU9JzAnClJFUExBQ0VfR0VUUkFORE9NPScwJwpSRVBM
QUNFX0dFVFNVQk9QVD0nMCcKUkVQTEFDRV9HRVRUSU1FT0ZEQVk9JzAnClJFUExBQ0VfR0VUVVNF
UlNIRUxMPScwJwpSRVBMQUNFX0dNVElNRT0nMCcKUkVQTEFDRV9JTUFYQUJTPScwJwpSRVBMQUNF
X0lNQVhESVY9JzAnClJFUExBQ0VfSU5JVFNUQVRFPScwJwpSRVBMQUNFX0lTQVRUWT0nMCcKUkVQ
TEFDRV9MQ0hPV049JzAnClJFUExBQ0VfTElOSz0nMCcKUkVQTEFDRV9MSU5LQVQ9JzAnClJFUExB
Q0VfTE9DQUxUSU1FPScwJwpSRVBMQUNFX0xPQ0FMVElNRV9SPScwJwpSRVBMQUNFX0xPQ0FMVElN
RV9SWj0nMCcKUkVQTEFDRV9MU0VFSz0nMCcKUkVQTEFDRV9MU1RBVD0nMScKUkVQTEFDRV9NQUxM
T0NfRk9SX01BTExPQ19HTlU9JzAnClJFUExBQ0VfTUFMTE9DX0ZPUl9NQUxMT0NfUE9TSVg9JzAn
ClJFUExBQ0VfTUJTVE9XQ1M9JzAnClJFUExBQ0VfTUJUT1dDPScwJwpSRVBMQUNFX01CX0NVUl9N
QVg9JzAnClJFUExBQ0VfTUVNQ0hSPScwJwpSRVBMQUNFX01FTU1FTT0nMScKUkVQTEFDRV9NRU1Q
Q1BZPScwJwpSRVBMQUNFX01FTVNFVF9FWFBMSUNJVD0nMCcKUkVQTEFDRV9NS0RJUj0nMCcKUkVQ
TEFDRV9NS0ZJRk89JzAnClJFUExBQ0VfTUtGSUZPQVQ9JzAnClJFUExBQ0VfTUtOT0Q9JzAnClJF
UExBQ0VfTUtOT0RBVD0nMCcKUkVQTEFDRV9NS09TVEVNUD0nMCcKUkVQTEFDRV9NS09TVEVNUFM9
JzAnClJFUExBQ0VfTUtTVEVNUD0nMCcKUkVQTEFDRV9NS1RJTUU9JzEnClJFUExBQ0VfTUtUSU1F
X1o9JzAnClJFUExBQ0VfTkFOT1NMRUVQPScxJwpSRVBMQUNFX05VTEw9JzAnClJFUExBQ0VfT0JT
VEFDS19QUklOVEY9JzAnClJFUExBQ0VfT1BFTj0nMScKUkVQTEFDRV9PUEVOQVQ9JzAnClJFUExB
Q0VfT1BFTkRJUj0nMCcKUkVQTEFDRV9QRVJST1I9JzAnClJFUExBQ0VfUElQRTI9JzAnClJFUExB
Q0VfUE9QRU49JzAnClJFUExBQ0VfUE9TSVhfTUVNQUxJR049JzAnClJFUExBQ0VfUE9TSVhfT1BF
TlBUPScwJwpSRVBMQUNFX1BSRUFEPScwJwpSRVBMQUNFX1BSSU5URj0nMCcKUkVQTEFDRV9QU0VM
RUNUPScwJwpSRVBMQUNFX1BUSFJFQURfU0lHTUFTSz0nMCcKUkVQTEFDRV9QVFNOQU1FPScwJwpS
RVBMQUNFX1BUU05BTUVfUj0nMCcKUkVQTEFDRV9QVVRFTlY9JzAnClJFUExBQ0VfUFdSSVRFPScw
JwpSRVBMQUNFX1FTT1JUX1I9JzAnClJFUExBQ0VfUkFJU0U9JzAnClJFUExBQ0VfUkFORD0nMCcK
UkVQTEFDRV9SQU5ET009JzAnClJFUExBQ0VfUkFORE9NX1I9JzAnClJFUExBQ0VfUkVBRD0nMCcK
UkVQTEFDRV9SRUFERElSPScwJwpSRVBMQUNFX1JFQURMSU5LPScxJwpSRVBMQUNFX1JFQURMSU5L
QVQ9JzEnClJFUExBQ0VfUkVBTExPQ0FSUkFZPScwJwpSRVBMQUNFX1JFQUxMT0NfRk9SX1JFQUxM
T0NfUE9TSVg9JzAnClJFUExBQ0VfUkVBTFBBVEg9JzEnClJFUExBQ0VfUkVNT1ZFPScwJwpSRVBM
QUNFX1JFTkFNRT0nMCcKUkVQTEFDRV9SRU5BTUVBVD0nMCcKUkVQTEFDRV9SRVdJTkRESVI9JzAn
ClJFUExBQ0VfUk1ESVI9JzAnClJFUExBQ0VfU0VMRUNUPScwJwpSRVBMQUNFX1NFVEVOVj0nMCcK
UkVQTEFDRV9TRVRIT1NUTkFNRT0nMCcKUkVQTEFDRV9TRVRTVEFURT0nMCcKUkVQTEFDRV9TTEVF
UD0nMCcKUkVQTEFDRV9TTlBSSU5URj0nMCcKUkVQTEFDRV9TUFJJTlRGPScwJwpSRVBMQUNFX1NU
QVQ9JzAnClJFUExBQ0VfU1RESU9fUkVBRF9GVU5DUz0nMCcKUkVQTEFDRV9TVERJT19XUklURV9G
VU5DUz0nMCcKUkVQTEFDRV9TVFBDUFk9JzAnClJFUExBQ0VfU1RQTkNQWT0nMCcKUkVQTEFDRV9T
VFJDQVNFU1RSPScwJwpSRVBMQUNFX1NUUkNIUk5VTD0nMCcKUkVQTEFDRV9TVFJEVVA9JzAnClJF
UExBQ0VfU1RSRVJST1I9JzAnClJFUExBQ0VfU1RSRVJST1JOQU1FX05QPScwJwpSRVBMQUNFX1NU
UkVSUk9SX0w9JzAnClJFUExBQ0VfU1RSRVJST1JfUj0nMCcKUkVQTEFDRV9TVFJGVElNRT0nMCcK
UkVQTEFDRV9TVFJOQ0FUPScwJwpSRVBMQUNFX1NUUk5EVVA9JzAnClJFUExBQ0VfU1RSTkxFTj0n
MCcKUkVQTEFDRV9TVFJTSUdOQUw9JzAnClJFUExBQ0VfU1RSU1RSPScwJwpSRVBMQUNFX1NUUlRP
RD0nMCcKUkVQTEFDRV9TVFJUT0Y9JzAnClJFUExBQ0VfU1RSVE9JTUFYPScwJwpSRVBMQUNFX1NU
UlRPS19SPScwJwpSRVBMQUNFX1NUUlRPTD0nMCcKUkVQTEFDRV9TVFJUT0xEPScwJwpSRVBMQUNF
X1NUUlRPTEw9JzAnClJFUExBQ0VfU1RSVE9VTD0nMCcKUkVQTEFDRV9TVFJUT1VMTD0nMCcKUkVQ
TEFDRV9TVFJUT1VNQVg9JzAnClJFUExBQ0VfU1RSVUNUX1RJTUVWQUw9JzAnClJFUExBQ0VfU1RS
VkVSU0NNUD0nMCcKUkVQTEFDRV9TWU1MSU5LPScxJwpSRVBMQUNFX1NZTUxJTktBVD0nMCcKUkVQ
TEFDRV9USU1FPScwJwpSRVBMQUNFX1RJTUVHTT0nMScKUkVQTEFDRV9USU1FU1BFQ19HRVQ9JzAn
ClJFUExBQ0VfVElNRVNQRUNfR0VUUkVTPScwJwpSRVBMQUNFX1RNUEZJTEU9JzAnClJFUExBQ0Vf
VFJVTkNBVEU9JzAnClJFUExBQ0VfVFRZTkFNRV9SPScwJwpSRVBMQUNFX1RaU0VUPScwJwpSRVBM
QUNFX1VOTElOSz0nMCcKUkVQTEFDRV9VTkxJTktBVD0nMCcKUkVQTEFDRV9VTlNFVEVOVj0nMCcK
UkVQTEFDRV9VU0xFRVA9JzAnClJFUExBQ0VfVVRJTUVOU0FUPScxJwpSRVBMQUNFX1ZBU1BSSU5U
Rj0nMCcKUkVQTEFDRV9WRFBSSU5URj0nMCcKUkVQTEFDRV9WRlBSSU5URj0nMCcKUkVQTEFDRV9W
UFJJTlRGPScwJwpSRVBMQUNFX1ZTTlBSSU5URj0nMCcKUkVQTEFDRV9WU1BSSU5URj0nMCcKUkVQ
TEFDRV9XQ1RPTUI9JzAnClJFUExBQ0VfV1JJVEU9JzAnClJFUExBQ0VfX0VYSVQ9JzAnClJTVkdf
Q0ZMQUdTPSctaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9saWJyc3ZnLzIuNjAuMC9pbmNs
dWRlL2xpYnJzdmctMi4wIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvaW5jbHVkZS9nZGstcGl4YnVm
LTIuMCAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9saWJ0aWZmLzQuNy4wL2luY2x1ZGUg
LWlzeXN0ZW0gL29wdC9ob21lYnJldy9vcHQvenN0ZC9pbmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9t
ZWJyZXcvQ2VsbGFyL3h6LzUuOC4xL2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9vcHQv
anBlZy10dXJiby9pbmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2NhaXJvLzEu
MTguNC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2NhaXJvLzEu
MTguNC9pbmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL3BhbmdvLzEuNTYuMy9p
bmNsdWRlL3BhbmdvLTEuMCAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9nbGliLzIuODQu
MF8xL2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvZnJpYmlkaS8xLjAuMTYv
aW5jbHVkZS9mcmliaWRpIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2ZvbnRjb25maWcv
Mi4xNi4wL2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvbGlieGV4dC8xLjMu
Ni9pbmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL3hvcmdwcm90by8yMDI0LjEv
aW5jbHVkZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9saWJ4cmVuZGVyLzAuOS4xMi9p
bmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2xpYngxMS8xLjguMTIvaW5jbHVk
ZSAtaXN5c3RlbSAvb3B0L2hvbWVicmV3L0NlbGxhci9saWJ4Y2IvMS4xNy4wL2luY2x1ZGUgLWlz
eXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvbGlieGF1LzEuMC4xMi9pbmNsdWRlIC1pc3lzdGVt
IC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2xpYnhkbWNwLzEuMS41L2luY2x1ZGUgLWlzeXN0ZW0gL29w
dC9ob21lYnJldy9DZWxsYXIvcGl4bWFuLzAuNDQuMi9pbmNsdWRlL3BpeG1hbi0xIC1pc3lzdGVt
IC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2hhcmZidXp6LzExLjAuMS9pbmNsdWRlL2hhcmZidXp6IC1p
c3lzdGVtIC9vcHQvaG9tZWJyZXcvb3B0L2ZyZWV0eXBlL2luY2x1ZGUvZnJlZXR5cGUyIC1pc3lz
dGVtIC9vcHQvaG9tZWJyZXcvb3B0L2xpYnBuZy9pbmNsdWRlL2xpYnBuZzE2IC1pc3lzdGVtIC9v
cHQvaG9tZWJyZXcvQ2VsbGFyL2dyYXBoaXRlMi8xLjMuMTQvaW5jbHVkZSAtaXN5c3RlbSAvTGli
cmFyeS9EZXZlbG9wZXIvQ29tbWFuZExpbmVUb29scy9TREtzL01hY09TWDE1LnNkay91c3IvaW5j
bHVkZS9mZmkgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvZ2xpYi8yLjg0LjBfMS9pbmNs
dWRlL2dsaWItMi4wIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL2dsaWIvMi44NC4wXzEv
bGliL2dsaWItMi4wL2luY2x1ZGUgLWlzeXN0ZW0gL29wdC9ob21lYnJldy9vcHQvZ2V0dGV4dC9p
bmNsdWRlIC1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvQ2VsbGFyL3BjcmUyLzEwLjQ1L2luY2x1ZGUn
ClJTVkdfTElCUz0nLUwvb3B0L2hvbWVicmV3L0NlbGxhci9saWJyc3ZnLzIuNjAuMC9saWIgLWxy
c3ZnLTIgLUwvb3B0L2hvbWVicmV3L2xpYiAtbGdka19waXhidWYtMi4wIC1ML29wdC9ob21lYnJl
dy9DZWxsYXIvZ2xpYi8yLjg0LjBfMS9saWIgLWxnaW8tMi4wIC1ML29wdC9ob21lYnJldy9DZWxs
YXIvY2Fpcm8vMS4xOC40L2xpYiAtbGNhaXJvIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAtTC9v
cHQvaG9tZWJyZXcvb3B0L2dldHRleHQvbGliIC1saW50bCcKU0RLX0JVSUxEX1RPT0xTPScnClNF
UENIQVI9JzonClNFVEZBVFRSPScnClNFVFRJTkdTX0NGTEFHUz0nJwpTRVRUSU5HU19MSUJTPScn
ClNIRUxMPScvYmluL3NoJwpTSUdfQVRPTUlDX1RfU1VGRklYPScnClNJWkVPRl9MT05HPSc4JwpT
SVpFX1RfU1VGRklYPScnClNNQUxMX0pBX0RJQz0nbm8nClNRTElURTNfQ0ZMQUdTPScnClNRTElU
RTNfTElCUz0nLWxzcWxpdGUzJwpTVERCSVRfSD0nc3RkYml0LmgnClNURENLRElOVF9IPScnClNU
RERFRl9IPSdzdGRkZWYuaCcKU1REREVGX05PVF9JREVNUE9URU5UPScwJwpTVERJTlRfSD0nc3Rk
aW50LmgnClNVQkRJUl9NQUtFRklMRVNfSU49JyAkKHNyY2RpcikvbGliL01ha2VmaWxlLmluICQo
c3JjZGlyKS9saWItc3JjL01ha2VmaWxlLmluICQoc3JjZGlyKS9vbGRYTWVudS9NYWtlZmlsZS5p
biAkKHNyY2Rpcikvc3JjL01ha2VmaWxlLmluICQoc3JjZGlyKS9sd2xpYi9NYWtlZmlsZS5pbiAk
KHNyY2RpcikvbmV4dHN0ZXAvTWFrZWZpbGUuaW4gJChzcmNkaXIpL250L01ha2VmaWxlLmluICQo
c3JjZGlyKS9kb2MvZW1hY3MvTWFrZWZpbGUuaW4gJChzcmNkaXIpL2RvYy9taXNjL01ha2VmaWxl
LmluICQoc3JjZGlyKS9kb2MvbGlzcGludHJvL01ha2VmaWxlLmluICQoc3JjZGlyKS9kb2MvbGlz
cHJlZi9NYWtlZmlsZS5pbiAkKHNyY2RpcikvbGlzcC9NYWtlZmlsZS5pbiAkKHNyY2RpcikvbGVp
bS9NYWtlZmlsZS5pbiAkKHNyY2RpcikvdGVzdC9NYWtlZmlsZS5pbiAkKHNyY2RpcikvdGVzdC9p
bmZyYS9NYWtlZmlsZS5pbiAkKHNyY2RpcikvYWRtaW4vY2hhcnNldHMvTWFrZWZpbGUuaW4gJChz
cmNkaXIpL2FkbWluL3VuaWRhdGEvTWFrZWZpbGUuaW4gJChzcmNkaXIpL2FkbWluL2dyYW1tYXJz
L01ha2VmaWxlLmluJwpTWVNURU1fVFlQRT0nZGFyd2luJwpTWVNfVElNRV9IX0RFRklORVNfU1RS
VUNUX1RJTUVTUEVDPScwJwpURVJNQ0FQX09CSj0ndGVybWluZm8ubycKVElGRl9DRkxBR1M9JycK
VElNRVJfVElNRV9MSUI9JycKVElNRV9IX0RFRklORVNfU1RSVUNUX1RJTUVTUEVDPScxJwpUSU1F
X0hfREVGSU5FU19USU1FX1VUQz0nMScKVE9PTEtJVF9MSUJXPScnClRSRUVfU0lUVEVSX0NGTEFH
Uz0nLWlzeXN0ZW0gL29wdC9ob21lYnJldy9DZWxsYXIvdHJlZS1zaXR0ZXIvMC4yNS4zL2luY2x1
ZGUnClRSRUVfU0lUVEVSX0xJQlM9Jy1ML29wdC9ob21lYnJldy9DZWxsYXIvdHJlZS1zaXR0ZXIv
MC4yNS4zL2xpYiAtbHRyZWUtc2l0dGVyJwpVSU5UMzJfTUFYX0xUX1VJTlRNQVhfTUFYPScxJwpV
SU5UNjRfTUFYX0VRX1VMT05HX01BWD0nZGVmaW5lZCBfTFA2NCcKVU5ERUZJTkVfU1RSVE9LX1I9
JzAnClVOSVNURF9IX0RFRklORVNfU1RSVUNUX1RJTUVTUEVDPScwJwpVTklTVERfSF9IQVZFX1NZ
U19SQU5ET01fSD0nMScKVU5JU1REX0hfSEFWRV9XSU5TT0NLMl9IPScwJwpVTklTVERfSF9IQVZF
X1dJTlNPQ0syX0hfQU5EX1VTRV9TT0NLRVRTPScwJwpVU0VfQUNMPScxJwpVU0VfU0VMSU5VWF9T
RUxJTlVYX0g9JzAnClVTRV9TVEFSVFVQX05PVElGSUNBVElPTj0nbm8nClZNTElNSVRfT0JKPScn
ClczMl9MSUJTPScnClczMl9PQko9JycKVzMyX1JFU19MSU5LPScnCldBUk5fQ0ZMQUdTPScgLVdh
bGwgLVdkYXRlLXRpbWUgLVdkaXNhYmxlZC1vcHRpbWl6YXRpb24gLVdleHRyYSAtV2Zvcm1hdC1z
aWduZWRuZXNzIC1XaW5pdC1zZWxmIC1XaW52YWxpZC1wY2ggLVdtaXNzaW5nLWRlY2xhcmF0aW9u
cyAtV21pc3NpbmctaW5jbHVkZS1kaXJzIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbWlzc2luZy12
YXJpYWJsZS1kZWNsYXJhdGlvbnMgLVduZXN0ZWQtZXh0ZXJucyAtV251bGwtZGVyZWZlcmVuY2Ug
LVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BhY2tlZCAtV3BvaW50ZXItYXJpdGggLVdzdHJpY3Qt
cHJvdG90eXBlcyAtV3VuaW5pdGlhbGl6ZWQgLVd1bmtub3duLXByYWdtYXMgLVd2YXJpYWRpYy1t
YWNyb3MgLVd3cml0ZS1zdHJpbmdzIC1XZm9ybWF0PTIgLVd0aHJlYWQtc2FmZXR5IC1XcmVkdW5k
YW50LWRlY2xzIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLVduby1vdmVycmlkZS1p
bml0IC1Xbm8tc2lnbi1jb21wYXJlIC1Xbm8tdHlwZS1saW1pdHMgLVduby11bnVzZWQtcGFyYW1l
dGVyIC1Xbm8tZm9ybWF0LW5vbmxpdGVyYWwgLVduby1iaXR3aXNlLWluc3RlYWQtb2YtbG9naWNh
bCAtV25vLW1pc3NpbmctYnJhY2VzIC1Xbm8tbnVsbC1wb2ludGVyLWFyaXRobWV0aWMgLVduby1p
bXBsaWNpdC1jb25zdC1pbnQtZmxvYXQtY29udmVyc2lvbiAtV25vLWludC1pbi1ib29sLWNvbnRl
eHQgLVduby1zaGlmdC1vdmVyZmxvdyAtV25vLWluaXRpYWxpemVyLW92ZXJyaWRlcyAtV25vLXRh
dXRvbG9naWNhbC1jb21wYXJlIC1Xbm8tdGF1dG9sb2dpY2FsLWNvbnN0YW50LW91dC1vZi1yYW5n
ZS1jb21wYXJlIC1Xbm8tZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMnCldBUk5fSkFWQUZMQUdTPScn
CldDSEFSX1RfU1VGRklYPScnCldFQktJVF9DRkxBR1M9JycKV0VCS0lUX0xJQlM9JycKV0VCUF9D
RkxBR1M9Jy1pc3lzdGVtIC9vcHQvaG9tZWJyZXcvb3B0L3dlYnAvaW5jbHVkZSAtaXN5c3RlbSAv
b3B0L2hvbWVicmV3L29wdC93ZWJwL2luY2x1ZGUvd2VicCcKV0VCUF9MSUJTPSctTC9vcHQvaG9t
ZWJyZXcvb3B0L3dlYnAvbGliIC1sd2VicGRlbXV4IC1sd2VicGRlY29kZXInCldFUlJPUl9DRkxB
R1M9JycKV0lER0VUX09CSj0nJwpXSU5ET1dTXzY0X0JJVF9PRkZfVD0nMCcKV0lORE9XU182NF9C
SVRfU1RfU0laRT0nMCcKV0lORE9XU19TVEFUX0lOT0RFUz0nMCcKV0lORE9XU19TVEFUX1RJTUVT
UEVDPScwJwpXSU5ET1dfU1lTVEVNX09CSj0nZm9udHNldC5vIGZyaW5nZS5vIGltYWdlLm8nCldJ
TkRSRVM9JycKV0lOVF9UX1NVRkZJWD0nJwpYQVJHU19MSU1JVD0nJwpYQ0JfTElCUz0nJwpYQ09N
UE9TSVRFX0NGTEFHUz0nJwpYQ09NUE9TSVRFX0xJQlM9JycKWENPTkZJR1VSRT0nJwpYQ1JVTj0n
eGNydW4nClhEQkVfQ0ZMQUdTPScnClhEQkVfTElCUz0nJwpYRklYRVNfQ0ZMQUdTPScnClhGSVhF
U19MSUJTPScnClhGVF9DRkxBR1M9JycKWEZUX0xJQlM9JycKWEdTRUxPQko9JycKWElORVJBTUFf
Q0ZMQUdTPScnClhJTkVSQU1BX0xJQlM9JycKWElOUFVUX0NGTEFHUz0nJwpYSU5QVVRfTElCUz0n
JwpYTUVOVV9PQko9JycKWE1LTUY9JycKWE9CSj0nJwpYUkFORFJfQ0ZMQUdTPScnClhSQU5EUl9M
SUJTPScnClhSRU5ERVJfTElCUz0nJwpYU0hBUEVfQ0ZMQUdTPScnClhTSEFQRV9MSUJTPScnClhT
WU5DX0NGTEFHUz0nJwpYU1lOQ19MSUJTPScnClhXSURHRVRTX09CSj0nJwpYX1RPT0xLSVRfVFlQ
RT0nbm9uZScKWklQPScnClpJUEFMSUdOPScnCmFjX2N0X0NDPScnCmFjX2N0X0NYWD0nJwphY19j
dF9PQkpDPSdnY2MnCmFyY2hsaWJkaXI9JyR7bnNfYXBwbGliZXhlY2Rpcn0nCmJpbmRpcj0nJHtl
eGVjX3ByZWZpeH0vYmluJwpiaXRtYXBkaXI9JycKYnVpbGQ9J2FhcmNoNjQtYXBwbGUtZGFyd2lu
MjQuNC4wJwpidWlsZF9hbGlhcz0nJwpidWlsZF9jcHU9J2FhcmNoNjQnCmJ1aWxkX29zPSdkYXJ3
aW4yNC40LjAnCmJ1aWxkX3ZlbmRvcj0nYXBwbGUnCmNhY2hlX2ZpbGU9Jy92YXIvZm9sZGVycy8x
ZC9rXzZ0MjVmOTRzbDgzc3pxYmY4Z3BrcmgwMDAwZ24vVC8vY29uZmlnLmNhY2hlLnRleHQtaW5k
ZXgnCmNhbm9uaWNhbD0nYWFyY2g2NC1hcHBsZS1kYXJ3aW4yNC40LjAnCmNvbW1hX3NwYWNlX3Zl
cnNpb249JycKY29tbWFfdmVyc2lvbj0nJwpjb25maWd1cmF0aW9uPSdhYXJjaDY0LWFwcGxlLWRh
cndpbjI0LjQuMCcKY29weXJpZ2h0PSdDb3B5cmlnaHQgKEMpIDIwMjUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuJwpkYXRhZGlyPScke2RhdGFyb290ZGlyfScKZGF0YXJvb3RkaXI9JyR7
cHJlZml4fS9zaGFyZScKZG9jZGlyPScke2RhdGFyb290ZGlyfS9kb2MvJHtQQUNLQUdFX1RBUk5B
TUV9JwpkdmlkaXI9JyR7ZG9jZGlyfScKZW1hY3NfbWFqb3JfdmVyc2lvbj0nMzEnCmVtYWNzX3Vz
ZV9tYWlsdXRpbHM9JycKZXRjZGlyPScke25zX2FwcHJlc2Rpcn0vZXRjJwpldGNkb2NkaXI9JyR7
bnNfYXBwcmVzZGlyfS9ldGMnCmV4ZWNfcHJlZml4PScvVXNlcnMvZ2VyZC9lbWFjcy9zYXZhbm5h
aC90ZXh0LWluZGV4L25leHRzdGVwL0VtYWNzLmFwcC9Db250ZW50cy9NYWNPUycKZ2FtZWRpcj0n
JHtsb2NhbHN0YXRlZGlyfS9nYW1lcy9lbWFjcycKZ2FtZWdyb3VwPScnCmdhbWV1c2VyPScnCmds
X0dOVUxJQl9FTkFCTEVEXzAzZTBhYWFkNGNiODljYTc1NzY1M2JkMzY3YTZjY2I3X0NPTkRJVElP
Tj0nMScKZ2xfR05VTElCX0VOQUJMRURfMjYwOTQxYzBlNWRjNjdlYzllODdkMWZiMzIxYzMwMGJf
Q09ORElUSU9OPScxJwpnbF9HTlVMSUJfRU5BQkxFRF81MjY0Mjk0YWEwYTU1NTc1NDFiNTNjOGM3
NDFmN2YzMV9DT05ESVRJT049JzEnCmdsX0dOVUxJQl9FTkFCTEVEXzYwOTllOTczN2Y3NTdkYjM2
YzQ3ZmE5ZDlmMDJlODhjX0NPTkRJVElPTj0nMScKZ2xfR05VTElCX0VOQUJMRURfODQ0NDAzNGVh
Nzc5Yjg4NzY4ODY1YmI2MGI0ZmI4YzlfQ09ORElUSU9OPScxJwpnbF9HTlVMSUJfRU5BQkxFRF85
MjU2NzdmMDM0M2RlNjRiODlhOWYwYzc5MGI0MTA0Y19DT05ESVRJT049JzEnCmdsX0dOVUxJQl9F
TkFCTEVEX2E5Nzg2ODUwZTk5OWFlNjVhODM2YTYwNDFlOGU1ZWQxX0NPTkRJVElPTj0nMScKZ2xf
R05VTElCX0VOQUJMRURfYmU0NTNjZWM1ZWVjZjU3MzFhMjc0ZjJkZTdmMmRiMzZfQ09ORElUSU9O
PScxJwpnbF9HTlVMSUJfRU5BQkxFRF9jbG9leGVjX0NPTkRJVElPTj0nMScKZ2xfR05VTElCX0VO
QUJMRURfZGlyZmRfQ09ORElUSU9OPScnCmdsX0dOVUxJQl9FTkFCTEVEX2VuZGlhbl9DT05ESVRJ
T049JzEnCmdsX0dOVUxJQl9FTkFCTEVEX2V1aWRhY2Nlc3NfQ09ORElUSU9OPScxJwpnbF9HTlVM
SUJfRU5BQkxFRF9mZDM4YzdlNDYzYjU0NzQ0Yjc3Yjk4YWVhZmI0ZmE3Y19DT05ESVRJT049JzEn
CmdsX0dOVUxJQl9FTkFCTEVEX2dldGRlbGltX0NPTkRJVElPTj0nJwpnbF9HTlVMSUJfRU5BQkxF
RF9nZXRkdGFibGVzaXplX0NPTkRJVElPTj0nJwpnbF9HTlVMSUJfRU5BQkxFRF9nZXRncm91cHNf
Q09ORElUSU9OPScxJwpnbF9HTlVMSUJfRU5BQkxFRF9sY2htb2RfQ09ORElUSU9OPScnCmdsX0dO
VUxJQl9FTkFCTEVEX29wZW5fQ09ORElUSU9OPScxJwpnbF9HTlVMSUJfRU5BQkxFRF9yYXdtZW1j
aHJfQ09ORElUSU9OPScxJwpnbF9HTlVMSUJfRU5BQkxFRF9zdHJ0b2xsX0NPTkRJVElPTj0nJwpn
bF9HTlVMSUJfRU5BQkxFRF91dGltZW5zX0NPTkRJVElPTj0nMScKZ2xfR05VTElCX0VOQUJMRURf
dmVyaWZ5X0NPTkRJVElPTj0nMScKZ2xfTElCT0JKREVQUz0nICQoREVQRElSKS9hY2xfZW50cmll
cy5QbyAkKERFUERJUikvbWVtbWVtLlBvICQoREVQRElSKS9ta3RpbWUuUG8nCmdsX0xJQk9CSlM9
JyBhY2xfZW50cmllcy5vIG1lbW1lbS5vIG1rdGltZS5vJwpnbF9MVExJQk9CSlM9JyBhY2xfZW50
cmllcy5sbyBtZW1tZW0ubG8gbWt0aW1lLmxvJwpnbF9saWJnbnVfTElCT0JKREVQUz0nICQoREVQ
RElSKS9saWJnbnVfYS1hY2xfZW50cmllcy5QbyAkKERFUERJUikvbGliZ251X2EtbWVtbWVtLlBv
ICQoREVQRElSKS9saWJnbnVfYS1ta3RpbWUuUG8nCmdsX2xpYmdudV9MSUJPQkpTPScgbGliZ251
X2EtYWNsX2VudHJpZXMubyBsaWJnbnVfYS1tZW1tZW0ubyBsaWJnbnVfYS1ta3RpbWUubycKZ2xf
bGliZ251X0xUTElCT0JKUz0nIGxpYmdudV9sYS1hY2xfZW50cmllcy5sbyBsaWJnbnVfbGEtbWVt
bWVtLmxvIGxpYmdudV9sYS1ta3RpbWUubG8nCmdsdGVzdHNfTElCT0JKREVQUz0nJwpnbHRlc3Rz
X0xJQk9CSlM9JycKZ2x0ZXN0c19MVExJQk9CSlM9JycKZ2x0ZXN0c19XSVRORVNTPSdJTl9FTUFD
U19HTlVMSUJfVEVTVFMnCmdsdGVzdHNfbGliZ251X0xJQk9CSkRFUFM9JycKZ2x0ZXN0c19saWJn
bnVfTElCT0JKUz0nJwpnbHRlc3RzX2xpYmdudV9MVExJQk9CSlM9JycKZ3NldHRpbmdzc2NoZW1h
ZGlyPScnCmhvc3Q9J2FhcmNoNjQtYXBwbGUtZGFyd2luMjQuNC4wJwpob3N0X2FsaWFzPScnCmhv
c3RfY3B1PSdhYXJjaDY0Jwpob3N0X29zPSdkYXJ3aW4yNC40LjAnCmhvc3RfdmVuZG9yPSdhcHBs
ZScKaHRtbGRpcj0nJHtkb2NkaXJ9JwppbmNsdWRlZGlyPScke3ByZWZpeH0vaW5jbHVkZScKaW5m
b2Rpcj0nJHtuc19hcHByZXNkaXJ9L2luZm8nCmxpYmRpcj0nJHtleGVjX3ByZWZpeH0vbGliJwps
aWJleGVjZGlyPScke25zX2FwcGxpYmV4ZWNkaXJ9JwpsaWJsb2NrZmlsZT0nJwpsaXNwZGlyPSck
e25zX2FwcHJlc2Rpcn0vbGlzcCcKbGlzcGRpcnJlbD0nJHtuc19hcHByZXNkaXJ9L2xpc3AnCmxp
c3BwYXRoPScke2xvY2FsbGlzcHBhdGh9OiR7c3RhbmRhcmRsaXNwcGF0aH0nCmxvY2FsZWRpcj0n
JHtkYXRhcm9vdGRpcn0vbG9jYWxlJwpsb2NhbGxpc3BwYXRoPScke25zX2FwcHJlc2Rpcn0vc2l0
ZS1saXNwJwpsb2NhbHN0YXRlZGlyPScke3ByZWZpeH0vdmFyJwptYW5kaXI9JyR7bnNfYXBwcmVz
ZGlyfS9tYW4nCm5zX2FwcGJpbmRpcj0nL1VzZXJzL2dlcmQvZW1hY3Mvc2F2YW5uYWgvdGV4dC1p
bmRleC9uZXh0c3RlcC9FbWFjcy5hcHAvQ29udGVudHMvTWFjT1MnCm5zX2FwcGRpcj0nL1VzZXJz
L2dlcmQvZW1hY3Mvc2F2YW5uYWgvdGV4dC1pbmRleC9uZXh0c3RlcC9FbWFjcy5hcHAnCm5zX2Fw
cGxpYmRpcj0nL1VzZXJzL2dlcmQvZW1hY3Mvc2F2YW5uYWgvdGV4dC1pbmRleC9uZXh0c3RlcC9F
bWFjcy5hcHAvQ29udGVudHMvRnJhbWV3b3JrcycKbnNfYXBwbGliZXhlY2Rpcj0nL1VzZXJzL2dl
cmQvZW1hY3Mvc2F2YW5uYWgvdGV4dC1pbmRleC9uZXh0c3RlcC9FbWFjcy5hcHAvQ29udGVudHMv
TWFjT1MvbGliZXhlYycKbnNfYXBwcmVzZGlyPScvVXNlcnMvZ2VyZC9lbWFjcy9zYXZhbm5haC90
ZXh0LWluZGV4L25leHRzdGVwL0VtYWNzLmFwcC9Db250ZW50cy9SZXNvdXJjZXMnCm5zX2FwcHNy
Yz0nQ29jb2EvRW1hY3MuYmFzZScKbnNfY2hlY2tfZmlsZT0nQ29udGVudHMvSW5mby5wbGlzdCcK
bnNfc2VsZl9jb250YWluZWQ9J3llcycKb2xkaW5jbHVkZWRpcj0nL3Vzci9pbmNsdWRlJwpwZGZk
aXI9JyR7ZG9jZGlyfScKcHJlZml4PScvVXNlcnMvZ2VyZC9lbWFjcy9zYXZhbm5haC90ZXh0LWlu
ZGV4L25leHRzdGVwL0VtYWNzLmFwcC9Db250ZW50cy9SZXNvdXJjZXMnCnByb2dyYW1fdHJhbnNm
b3JtX25hbWU9J3MseCx4LCcKcHNkaXI9JyR7ZG9jZGlyfScKcnVuc3RhdGVkaXI9JyR7bG9jYWxz
dGF0ZWRpcn0vcnVuJwpzYmluZGlyPScke2V4ZWNfcHJlZml4fS9zYmluJwpzaGFyZWRzdGF0ZWRp
cj0nJHtwcmVmaXh9L2NvbScKc3JjZGlyPScuJwpzdGFuZGFyZGxpc3BwYXRoPScke2xpc3BkaXJ9
JwpzeXNjb25mZGlyPScke3ByZWZpeH0vZXRjJwpzeXN0ZW1kdXNlcnVuaXRkaXI9JyR7cHJlZml4
fS9saWIvc3lzdGVtZC91c2VyJwp0YXJnZXRfYWxpYXM9JycKdmVyc2lvbj0nMzEuMC41MCcKd2l0
aF9tYWlsdXRpbHM9J3llcycKeF9kZWZhdWx0X3NlYXJjaF9wYXRoPScnCgojIyAtLS0tLS0tLS0t
LS0tLS0tLS0tICMjCiMjIEZpbGUgc3Vic3RpdHV0aW9ucy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0t
LS0tLSAjIwoKbW9kdWxlX2Vudl9zbmlwcGV0XzI1PScuL3NyYy9tb2R1bGUtZW52LTI1LmgnCm1v
ZHVsZV9lbnZfc25pcHBldF8yNj0nLi9zcmMvbW9kdWxlLWVudi0yNi5oJwptb2R1bGVfZW52X3Nu
aXBwZXRfMjc9Jy4vc3JjL21vZHVsZS1lbnYtMjcuaCcKbW9kdWxlX2Vudl9zbmlwcGV0XzI4PScu
L3NyYy9tb2R1bGUtZW52LTI4LmgnCm1vZHVsZV9lbnZfc25pcHBldF8yOT0nLi9zcmMvbW9kdWxl
LWVudi0yOS5oJwptb2R1bGVfZW52X3NuaXBwZXRfMzA9Jy4vc3JjL21vZHVsZS1lbnYtMzAuaCcK
bW9kdWxlX2Vudl9zbmlwcGV0XzMxPScuL3NyYy9tb2R1bGUtZW52LTMxLmgnCgojIyAtLS0tLS0t
LS0tLSAjIwojIyBjb25mZGVmcy5oLiAjIwojIyAtLS0tLS0tLS0tLSAjIwoKLyogY29uZmRlZnMu
aCAqLwojZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgojZGVmaW5lIFBBQ0tBR0VfVEFS
TkFNRSAiZW1hY3MiCiNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIzMS4wLjUwIgojZGVmaW5lIFBB
Q0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMzEuMC41MCIKI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S
VCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgojZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3
dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKI2RlZmluZSBIQVZFX1BEVU1QRVIgMQojZGVmaW5l
IEhBVkVfTUFJTFVUSUxTIDEKI2RlZmluZSBHQ19SRU1FTUJFUl9MQVNUX01BUktFRCAxCiNkZWZp
bmUgSEFWRV9TVERJT19IIDEKI2RlZmluZSBIQVZFX1NURExJQl9IIDEKI2RlZmluZSBIQVZFX1NU
UklOR19IIDEKI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQojZGVmaW5lIEhBVkVfU1RESU5UX0gg
MQojZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQojZGVm
aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQojZGVmaW5lIEhBVkVfVU5JU1REX0ggMQojZGVmaW5lIEhB
VkVfV0NIQVJfSCAxCiNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCiNkZWZpbmUgSEFWRV9T
WVNfVVRTTkFNRV9IIDEKI2RlZmluZSBIQVZFX1BXRF9IIDEKI2RlZmluZSBIQVZFX1VUSUxfSCAx
CiNkZWZpbmUgSEFWRV9TQU5JVElaRVJfTFNBTl9JTlRFUkZBQ0VfSCAxCiNkZWZpbmUgSEFWRV9T
QU5JVElaRVJfQVNBTl9JTlRFUkZBQ0VfSCAxCiNkZWZpbmUgSEFWRV9TQU5JVElaRVJfQ09NTU9O
X0lOVEVSRkFDRV9ERUZTX0ggMQojZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKI2RlZmluZSBI
QVZFX1NZU19QQVJBTV9IIDEKI2RlZmluZSBIQVZFX1BUSFJFQURfSCAxCiNkZWZpbmUgSEFWRV9N
QUxMT0NfTUFMTE9DX0ggMQojZGVmaW5lIEhBVkVfU1lTX1VOX0ggMQojZGVmaW5lIEhBVkVfU1RE
Qk9PTF9IIDEKI2RlZmluZSBIQVZFX1VUTVBfSCAxCiNkZWZpbmUgSEFWRV9VVE1QWF9IIDEKI2Rl
ZmluZSBIQVZFX0RJUkVOVF9IIDEKI2RlZmluZSBIQVZFX0VYRUNJTkZPX0ggMQojZGVmaW5lIEhB
VkVfR0VUT1BUX0ggMQojZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCiNkZWZpbmUgSEFWRV9MSU1J
VFNfSCAxCiNkZWZpbmUgSEFWRV9TWVNfU0VMRUNUX0ggMQojZGVmaW5lIEhBVkVfU1REQ0tESU5U
X0ggMQojZGVmaW5lIEhBVkVfU1lTX1JBTkRPTV9IIDEKI2RlZmluZSBTVERDX0hFQURFUlMgMQoj
ZGVmaW5lIF9BTExfU09VUkNFIDEKI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKI2RlZmluZSBf
R05VX1NPVVJDRSAxCiNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQojZGVmaW5l
IF9ORVRCU0RfU09VUkNFIDEKI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQojZGVmaW5lIF9QT1NJ
WF9QVEhSRUFEX1NFTUFOVElDUyAxCiNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJ
QlNfRVhUX18gMQojZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQojZGVm
aW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQojZGVmaW5lIF9fU1REQ19XQU5U
X0lFQ182MDU1OV9FWFRfXyAxCiNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VY
VF9fIDEKI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQojZGVmaW5l
IF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQojZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19G
VU5DU19fIDEKI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCiNkZWZpbmUgX19FWFRFTlNJT05TX18g
MQojZGVmaW5lIF9MSU5VWF9TT1VSQ0VfQ09NUEFUIDEKI2RlZmluZSBfX1VTRV9NSU5HV19BTlNJ
X1NURElPIDEKI2RlZmluZSBHQ0NfTElOVCAxCiNkZWZpbmUgU1lTVEVNX1RZUEUgImRhcndpbiIK
I2RlZmluZSBIQVZFX1RFUk1fSCAxCiNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKI2RlZmluZSBI
QVZFX05FVF9JRl9IIDEKI2RlZmluZSBIQVZFX0lGQUREUlNfSCAxCiNkZWZpbmUgSEFWRV9ORVRf
SUZfRExfSCAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0ZMQUdTIDEKI2RlZmluZSBI
QVZFX1NUUlVDVF9JRlJFUV9JRlJfQlJPQURBRERSIDEKI2RlZmluZSBIQVZFX1NUUlVDVF9JRlJF
UV9JRlJfQUREUiAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfSUZSRVFfSUZSX0FERFJfU0FfTEVOIDEK
I2RlZmluZSBIQVZFX1NUUlVDVF9QQVNTV0RfUFdfR0VDT1MgMQojZGVmaW5lIFVTRVJfRlVMTF9O
QU1FIHB3LT5wd19nZWNvcwojZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCiNkZWZpbmUg
TlNfU0VMRl9DT05UQUlORUQgMQojZGVmaW5lIE5BVElWRV9PQkpDX0lOU1RBTkNFVFlQRSAxCiNk
ZWZpbmUgQUxJR05PRl9JTlQgNAojZGVmaW5lIEFMSUdOT0ZfTE9ORyA4CiNkZWZpbmUgQUxJR05P
Rl9MT05HX0xPTkcgOAojZGVmaW5lIFNJWkVPRl9MT05HIDgKI2RlZmluZSBIQVZFX1NUUlVDVF9B
VFRSSUJVVEVfQUxJR05FRCAxCiNkZWZpbmUgSEFWRV9TVERBTElHTl9IIDEKI2RlZmluZSBIQVZF
X1NCUksgMQojZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQojZGVmaW5lIEhBVkVfRk9SSyAxCiNk
ZWZpbmUgSEFWRV9WRk9SSyAxCiNkZWZpbmUgSEFWRV9GQ0hNT0QgMQojZGVmaW5lIEhBVkVfVVRN
UFhOQU1FIDEKI2RlZmluZSBIQVZFX1JFQUxQQVRIIDEKI2RlZmluZSBIQVZFX0xTVEFUIDEKI2Rl
ZmluZSBIQVZFX0ZDSE1PREFUIDEKI2RlZmluZSBIQVZFX0xDSE1PRCAxCiNkZWZpbmUgSEFWRV9G
Q05UTCAxCiNkZWZpbmUgSEFWRV9GRE9QRU5ESVIgMQojZGVmaW5lIEhBVkVfTElTVFhBVFRSIDEK
I2RlZmluZSBIQVZFX0ZTVEFUQVQgMQojZGVmaW5lIEhBVkVfRlNZTkMgMQojZGVmaW5lIEhBVkVf
R0VUVElNRU9GREFZIDEKI2RlZmluZSBIQVZFX01FTVNFVF9TIDEKI2RlZmluZSBIQVZFX1BTRUxF
Q1QgMQojZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKI2RlZmluZSBIQVZFX1JFQURMSU5L
IDEKI2RlZmluZSBIQVZFX0lTQkxBTksgMQojZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQojZGVmaW5l
IEhBVkVfU1RSVE9JTUFYIDEKI2RlZmluZSBIQVZFX1NZTUxJTksgMQojZGVmaW5lIEhBVkVfTE9D
QUxUSU1FX1IgMQojZGVmaW5lIEhBVkVfR0VURFRBQkxFU0laRSAxCiNkZWZpbmUgU1lTVEVNX01B
TExPQyAxCiNkZWZpbmUgSEFWRV9NTUFQIDEKI2RlZmluZSBIQVZFX1BUSFJFQUQgMQojZGVmaW5l
IFRIUkVBRFNfRU5BQkxFRCAxCiNkZWZpbmUgSEFWRV9SU1ZHIDEKI2RlZmluZSBIQVZFX1dFQlAg
MQojZGVmaW5lIEhBVkVfU1FMSVRFMyAxCiNkZWZpbmUgSEFWRV9EQlVTIDEKI2RlZmluZSBIQVZF
X0RCVVNfV0FUQ0hfR0VUX1VOSVhfRkQgMQojZGVmaW5lIEhBVkVfREJVU19UWVBFX0lTX1ZBTElE
IDEKI2RlZmluZSBIQVZFX0RCVVNfVkFMSURBVEVfQlVTX05BTUUgMQojZGVmaW5lIEhBVkVfREJV
U19WQUxJREFURV9QQVRIIDEKI2RlZmluZSBIQVZFX0RCVVNfVkFMSURBVEVfSU5URVJGQUNFIDEK
I2RlZmluZSBIQVZFX0RCVVNfVkFMSURBVEVfTUVNQkVSIDEKI2RlZmluZSBIQVZFX0RCVVNfTUVT
U0FHRV9TRVRfQUxMT1dfSU5URVJBQ1RJVkVfQVVUSE9SSVpBVElPTiAxCiNkZWZpbmUgSEFWRV9H
TlVUTFMgMQojZGVmaW5lIEhBVkVfVFJFRV9TSVRURVIgMQojZGVmaW5lIEhBVkVfS1FVRVVFIDEK
I2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQojZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJT
IDEKI2RlZmluZSBIQVZFX1hJTSAxCiNkZWZpbmUgVVNFX1hJTSAxCiNkZWZpbmUgSEFWRV9MQ01T
MiAxCiNkZWZpbmUgSEFWRV9aTElCIDEKI2RlZmluZSBEWU5BTUlDX0xJQl9TVUZGSVggIi5keWxp
YiIKI2RlZmluZSBEWU5BTUlDX0xJQl9TRUNPTkRBUllfU1VGRklYICIuc28iCiNkZWZpbmUgSEFW
RV9ETEFERFIgMQojZGVmaW5lIEhBVkVfTU9EVUxFUyAxCiNkZWZpbmUgTU9EVUxFU19TVUZGSVgg
Ii5keWxpYiIKI2RlZmluZSBNT0RVTEVTX1NFQ09OREFSWV9TVUZGSVggIi5zbyIKI2RlZmluZSBO
QVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgojZGVmaW5lIEhBVkVfUE5HIDEKI2RlZmluZSBIQVZF
X05TIDEKI2RlZmluZSBOU19JTVBMX0NPQ09BIDEKI2RlZmluZSBIQVZFX0xJQlhNTDIgMQojZGVm
aW5lIEhBVkVfRkNIRElSIDEKI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKI2RlZmluZSBIQVZF
X0dFVFJVU0FHRSAxCiNkZWZpbmUgSEFWRV9MUkFORDQ4IDEKI2RlZmluZSBIQVZFX1JBTkRPTSAx
CiNkZWZpbmUgSEFWRV9SSU5UIDEKI2RlZmluZSBIQVZFX1RDRFJBSU4gMQojZGVmaW5lIEhBVkVf
VFJVTkMgMQojZGVmaW5lIEhBVkVfU0VMRUNUIDEKI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEK
I2RlZmluZSBIQVZFX05FV0xPQ0FMRSAxCiNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQojZGVmaW5l
IEhBVkVfU0VUUkxJTUlUIDEKI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKI2RlZmluZSBIQVZFX1BU
SFJFQURfU0lHTUFTSyAxCiNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQojZGVmaW5lIEhBVkVfU0VU
SVRJTUVSIDEKI2RlZmluZSBIQVZFX1NFTkRUTyAxCiNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCiNk
ZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCiNkZWZpbmUgSEFWRV9HRVRJRkFERFJTIDEKI2RlZmlu
ZSBIQVZFX0ZSRUVJRkFERFJTIDEKI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCiNkZWZpbmUg
SEFWRV9TWU5DIDEKI2RlZmluZSBIQVZFX0VORFBXRU5UIDEKI2RlZmluZSBIQVZFX0dFVEdSRU5U
IDEKI2RlZmluZSBIQVZFX0VOREdSRU5UIDEKI2RlZmluZSBIQVZFX0NGTUFLRVJBVyAxCiNkZWZp
bmUgSEFWRV9DRlNFVFNQRUVEIDEKI2RlZmluZSBIQVZFX0xPRzIgMQojZGVmaW5lIEhBVkVfUFRI
UkVBRF9TRVROQU1FX05QIDEKI2RlZmluZSBIQVZFX0dFVFBXRU5UIDEKI2RlZmluZSBIQVZFX1BU
SFJFQURfU0VUTkFNRV9OUF8xQVJHIDEKI2RlZmluZSBIQVZFX0FMSUdORURfQUxMT0MgMQojZGVm
aW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDEKI2RlZmluZSBIQVZFX1BPU0lYX01BRFZJU0Ug
MQojZGVmaW5lIEhBVkVfTUFEVklTRSAxCiNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQURE
UkVTUyAxCiNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQojZGVmaW5lIEhBVkVf
RlNFRUtPIDEKI2RlZmluZSBIQVZFX0dSQU5UUFQgMQojZGVmaW5lIEhBVkVfUE9TSVhfT1BFTlBU
IDEKI2RlZmluZSBURVJNSU5GTyAxCiNkZWZpbmUgVEVSTUlORk9fREVGSU5FU19CQyAxCiNkZWZp
bmUgVVNFX05DVVJTRVMgMQojZGVmaW5lIEhBVkVfV09SS0lOR19WRk9SSyAxCiNkZWZpbmUgSEFW
RV9XT1JLSU5HX0ZPUksgMQojZGVmaW5lIEhBVkVfU05QUklOVEYgMQojZGVmaW5lIEhBVkVfT1BF
Tl9NRU1TVFJFQU0gMQojZGVmaW5lIEhBVkVfU1BBV05fSCAxCiNkZWZpbmUgSEFWRV9QT1NJWF9T
UEFXTiAxCiNkZWZpbmUgSEFWRV9QT1NJWF9TUEFXTl9GSUxFX0FDVElPTlNfQUREQ0hESVJfTlAg
MQojZGVmaW5lIEhBVkVfUE9TSVhfU1BBV05BVFRSX1NFVEZMQUdTIDEKI2RlZmluZSBIQVZFX0RF
Q0xfUE9TSVhfU1BBV05fU0VUU0lEIDEKI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQoj
ZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKI2RlZmluZSBBTVBFUlNBTkRfRlVMTF9OQU1FIDEKI2Rl
ZmluZSBIQVZFX1BUWVMgMQojZGVmaW5lIEhBVkVfU09DS0VUUyAxCiNkZWZpbmUgTlVMTF9ERVZJ
Q0UgIi9kZXYvbnVsbCIKI2RlZmluZSBTRVBDSEFSICc6JwojZGVmaW5lIHN1YnByb2Nlc3NlcyAx
CiNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgMAoj
ZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gRElSRUNUT1JZX1NFUCkKI2Rl
ZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykpCiNkZWZpbmUgRE9O
VF9SRU9QRU5fUFRZIDEKI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCiNk
ZWZpbmUgSU5URVJSVVBUX0lOUFVUIDEKI2RlZmluZSBVTklYOThfUFRZUyAxCiNkZWZpbmUgUFRZ
X0lURVJBVElPTiBpbnQgaTsgZm9yIChpID0gMDsgaSA8IDE7IGkrKykKI2RlZmluZSBQVFlfVFRZ
X05BTUVfU1BSSU5URiB7IGNoYXIgKnB0eW5hbWUgPSAwOyBzaWdzZXRfdCBibG9ja2VkOyBzaWdl
bXB0eXNldCAoJmJsb2NrZWQpOyBzaWdhZGRzZXQgKCZibG9ja2VkLCBTSUdDSExEKTsgcHRocmVh
ZF9zaWdtYXNrIChTSUdfQkxPQ0ssICZibG9ja2VkLCAwKTsgaWYgKGdyYW50cHQgKGZkKSAhPSAt
MSAmJiB1bmxvY2twdCAoZmQpICE9IC0xKSBwdHluYW1lID0gcHRzbmFtZShmZCk7IHB0aHJlYWRf
c2lnbWFzayAoU0lHX1VOQkxPQ0ssICZibG9ja2VkLCAwKTsgaWYgKCFwdHluYW1lKSB7IGVtYWNz
X2Nsb3NlIChmZCk7IHJldHVybiAtMTsgfSBzbnByaW50ZiAocHR5X25hbWUsIFBUWV9OQU1FX1NJ
WkUsICIlcyIsIHB0eW5hbWUpOyB9CiNkZWZpbmUgUFRZX09QRU4gZG8geyBmZCA9IHBvc2l4X29w
ZW5wdCAoT19SRFdSIHwgT19DTE9FWEVDIHwgT19OT0NUVFkpOyBpZiAoZmQgPCAwICYmIGVycm5v
ID09IEVJTlZBTCkgZmQgPSBwb3NpeF9vcGVucHQgKE9fUkRXUiB8IE9fTk9DVFRZKTsgfSB3aGls
ZSAoZmFsc2UpCiNkZWZpbmUgUFRZX05BTUVfU1BSSU5URiAvKiovCiNkZWZpbmUgU0lHTkFMU19W
SUFfQ0hBUkFDVEVSUyAxCiNkZWZpbmUgVEFCMyBPWFRBQlMKI2RlZmluZSBHQ19TRVRKTVBfV09S
S1MgMQojZGVmaW5lIEhBVkVfX1NFVEpNUCAxCiNkZWZpbmUgSEFWRV9TSUdTRVRKTVAgMQojZGVm
aW5lIEhBVkVfU1RBQ0tfT1ZFUkZMT1dfSEFORExJTkcgMQojZGVmaW5lIERBUldJTl9PUyAvKiov
CiNkZWZpbmUgU0laRU9GX1NQRUVEX1QgOAojZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCiNkZWZp
bmUgVVNBQkxFX1NJR0lPIDEKI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAyNSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCiNkZWZpbmUgVEVSTV9IRUFERVIgIm5zdGVy
bS5oIgojZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gImFhcmNoNjQtYXBwbGUtZGFyd2luMjQu
NC4wIgojZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLWNhY2hlLWZpbGUgL3Zhci9mb2xk
ZXJzLzFkL2tfNnQyNWY5NHNsODNzenFiZjhncGtyaDAwMDBnbi9ULy9jb25maWcuY2FjaGUudGV4
dC1pbmRleCAtLXdpdGgtbmF0aXZlLWNvbXBpbGF0aW9uPW5vIENDPWNsYW5nICdDRkxBR1M9LVdn
bnUtaW1hZ2luYXJ5LWNvbnN0YW50IC1XdW51c2VkLXJlc3VsdCAtZyAtRiAvQXBwbGljYXRpb25z
L1hjb2RlLmFwcC9Db250ZW50cy9EZXZlbG9wZXIvUGxhdGZvcm1zL01hY09TWC5wbGF0Zm9ybS9E
ZXZlbG9wZXIvU0RLcy9NYWNPU1guc2RrL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MgLVduby1p
Z25vcmVkLWF0dHJpYnV0ZXMgLVduby1mbGFnLWVudW0gLVduby1taXNzaW5nLW1ldGhvZC1yZXR1
cm4tdHlwZSAtV25vLXZhcmlhZGljLW1hY3JvcyAtV25vLXN0cmljdC1wcm90b3R5cGVzIC1Xbm8t
YXZhaWxhYmlsaXR5IC1Xbm8tbnVsbGFiaWxpdHktY29tcGxldGVuZXNzJyIKI2RlZmluZSByZXN0
cmljdCBfX3Jlc3RyaWN0X18KI2RlZmluZSBIQVZFX1RZUEVPRiAxCiNkZWZpbmUgSEFWRV9TVEFU
RU1FTlRfRVhQUkVTU0lPTlMgMQojZGVmaW5lIE1BTExPQ18wX0lTX05PTk5VTEwgMQojZGVmaW5l
IEhBVkVfU1lTX0FDTF9IIDEKI2RlZmluZSBIQVZFX0FDTF9HRVRfRklMRSAxCiNkZWZpbmUgSEFW
RV9BQ0xfR0VUX0ZEIDEKI2RlZmluZSBIQVZFX0FDTF9TRVRfRklMRSAxCiNkZWZpbmUgSEFWRV9B
Q0xfU0VUX0ZEIDEKI2RlZmluZSBIQVZFX0FDTF9HRVRfTElOS19OUCAxCiNkZWZpbmUgSEFWRV9B
Q0xfRlJFRSAxCiNkZWZpbmUgSEFWRV9BQ0xfRlJPTV9URVhUIDEKI2RlZmluZSBIQVZFX0FDTF9E
RUxFVEVfREVGX0ZJTEUgMQojZGVmaW5lIEhBVkVfQUNMX0RFTEVURV9GRF9OUCAxCiNkZWZpbmUg
SEFWRV9BQ0xfREVMRVRFX0ZJTEVfTlAgMQojZGVmaW5lIEhBVkVfQUNMX0NPUFlfRVhUX05BVElW
RSAxCiNkZWZpbmUgSEFWRV9BQ0xfQ1JFQVRFX0VOVFJZX05QIDEKI2RlZmluZSBIQVZFX0FDTF9G
SVJTVF9FTlRSWSAxCiNkZWZpbmUgSEFWRV9BQ0xfVFlQRV9FWFRFTkRFRCAxCiNkZWZpbmUgVVNF
X0FDTCAxCiNkZWZpbmUgSEFWRV9BTExPQ0FfSCAxCiNkZWZpbmUgSEFWRV9BTExPQ0EgMQojZGVm
aW5lIEhBVkVfREVDTF9FTkRVVEVOVCAwCiNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRNUFhfVVRfVVNF
UiAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRNUF9VVF9OQU1FIDEKI2RlZmluZSBIQVZFX1NUUlVD
VF9VVE1QWF9VVF9UWVBFIDEKI2RlZmluZSBIQVZFX1NUUlVDVF9VVE1QWF9VVF9QSUQgMQojZGVm
aW5lIEhBVkVfU1RSVUNUX1VUTVBYX1VUX0hPU1QgMQojZGVmaW5lIEhBVkVfU1RSVUNUX1VUTVBf
VVRfSE9TVCAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfVVRNUFhfVVRfSUQgMQojZGVmaW5lIEhBVkVf
REVDTF9TWVNJTkZPIDAKI2RlZmluZSBIQVZFX1NZU19TWVNDVExfSCAxCiNkZWZpbmUgSEFWRV9T
WVNDVEwgMQojZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKI2RlZmluZSBIQVZFX0dFVENXRCAxCiNk
ZWZpbmUgSEFWRV9fX0hFQURFUl9JTkxJTkUgMQojZGVmaW5lIFVTRV9TRUxJTlVYX1NFTElOVVhf
SCAwCiNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMQojZGVmaW5lIEhBVkVfREVDTF9HRVRMSU5F
IDEKI2RlZmluZSBIQVZFX0dFVE9QVF9IIDEKI2RlZmluZSBIQVZFX0dFVE9QVF9MT05HX09OTFkg
MQojZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCiNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05H
X0xPTkdfSU5UIDEKI2RlZmluZSBIQVZFX01BTExPQ19QVFJESUZGIDEKI2RlZmluZSBIQVZFX01B
TExPQ19QT1NJWCAxCiNkZWZpbmUgSEFWRV9NQUxMT0NfMF9OT05OVUxMIDEKI2RlZmluZSBIQVZF
X0RFQ0xfTUVNTUVNIDEKI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCiNkZWZpbmUgSEFWRV9N
SU5NQVhfSU5fU1lTX1BBUkFNX0ggMQojZGVmaW5lIFRJTUVfVF9JU19TSUdORUQgMQojZGVmaW5l
IEhBVkVfREVDTF9BTEFSTSAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1fVE1fR01UT0ZGIDEKI2Rl
ZmluZSBIQVZFX1NUUlVDVF9UTV9UTV9aT05FIDEKI2RlZmluZSBIQVZFX1RNX0dNVE9GRiAxCiNk
ZWZpbmUgSEFWRV9TSUdTRVRfVCAxCiNkZWZpbmUgSEFWRV9ERUNMX0ZDTE9TRUFMTCAwCiNkZWZp
bmUgSEFWRV9ERUNMX0dFVFcgMQojZGVmaW5lIEhBVkVfREVDTF9QVVRXIDEKI2RlZmluZSBIQVZF
X0RFQ0xfRUNWVCAxCiNkZWZpbmUgSEFWRV9ERUNMX0ZDVlQgMQojZGVmaW5lIEhBVkVfREVDTF9H
Q1ZUIDEKI2RlZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCiNkZWZpbmUgSEFWRV9ERUNMX1NUUlRP
SU1BWCAxCiNkZWZpbmUgX1VTRV9TVERfU1RBVCAxCiNkZWZpbmUgSEFWRV9ERUNMX0VYRUNWUEUg
MAojZGVmaW5lIEhBVkVfREVDTF9DTEVBUkVSUl9VTkxPQ0tFRCAxCiNkZWZpbmUgSEFWRV9ERUNM
X0ZFT0ZfVU5MT0NLRUQgMQojZGVmaW5lIEhBVkVfREVDTF9GRVJST1JfVU5MT0NLRUQgMQojZGVm
aW5lIEhBVkVfREVDTF9GRkxVU0hfVU5MT0NLRUQgMAojZGVmaW5lIEhBVkVfREVDTF9GR0VUU19V
TkxPQ0tFRCAwCiNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRDX1VOTE9DS0VEIDAKI2RlZmluZSBIQVZF
X0RFQ0xfRlBVVFNfVU5MT0NLRUQgMAojZGVmaW5lIEhBVkVfREVDTF9GUkVBRF9VTkxPQ0tFRCAw
CiNkZWZpbmUgSEFWRV9ERUNMX0ZXUklURV9VTkxPQ0tFRCAwCiNkZWZpbmUgSEFWRV9ERUNMX0dF
VENfVU5MT0NLRUQgMQojZGVmaW5lIEhBVkVfREVDTF9HRVRDSEFSX1VOTE9DS0VEIDEKI2RlZmlu
ZSBIQVZFX0RFQ0xfUFVUQ19VTkxPQ0tFRCAxCiNkZWZpbmUgSEFWRV9ERUNMX1BVVENIQVJfVU5M
T0NLRUQgMQojZGVmaW5lIEdFVEdST1VQU19UIGdpZF90CiNkZWZpbmUgSEFWRV9ERUNMX0dFVERF
TElNIDEKI2RlZmluZSBIQVZFX0RFQ0xfR0VURFRBQkxFU0laRSAxCiNkZWZpbmUgUFJPTU9URURf
TU9ERV9UIGludAojZGVmaW5lIEhBVkVfV09SS0lOR19VVElNRVMgMQojZGVmaW5lIEhBVkVfQUxM
T0NBIDEKI2RlZmluZSBIQVZFX19fQlVJTFRJTl9FWFBFQ1QgMQojZGVmaW5lIEdOVUxJQl9DQU5P
TklDQUxJWkVfTEdQTCAxCiNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKI2RlZmluZSBIQVZFX0NM
T0NLX0dFVFJFUyAxCiNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKI2RlZmluZSBIQVZFX0NM
T0NLX1NFVFRJTUUgMQojZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQojZGVmaW5lIEhBVkVf
U1RSVUNUX0RJUkVOVF9EX1RZUEUgMQojZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKI2RlZmluZSBI
QVZFX0FDQ0VTUyAxCiNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCiNkZWZpbmUgSEFWRV9ERUNM
X0ZET1BFTkRJUiAxCiNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCiNkZWZpbmUgRkxFWElCTEVf
QVJSQVlfTUVNQkVSIC8qKi8KI2RlZmluZSBIQVZFX1dPUktJTkdfRlNUQVRBVF9aRVJPX0ZMQUcg
MQojZGVmaW5lIEdOVUxJQl9GU1RBVEFUIDEKI2RlZmluZSBIQVZFX1NZU19NT1VOVF9IIDEKI2Rl
ZmluZSBTVEFUX1NUQVRGUzJfQlNJWkUgMQojZGVmaW5lIEhBVkVfRlVUSU1FTlMgMQojZGVmaW5l
IEhBVkVfR0VUTElORSAxCiNkZWZpbmUgSEFWRV9HRVRMT0FEQVZHIDEKI2RlZmluZSBfX0dFVE9Q
VF9QUkVGSVggcnBsXwojZGVmaW5lIEhBVkVfVElNRVNQRUNfR0VUIDEKI2RlZmluZSBHRVRUSU1F
T0ZEQVlfVElNRVpPTkUgdm9pZAojZGVmaW5lIF9HTF9SRVBMQUNFX0lFRUU3NTRfSCAxCiNkZWZp
bmUgSEFWRV9fX0lOTElORSAxCiNkZWZpbmUgR05VTElCX0xTVEFUIDEKI2RlZmluZSBIQVZFX01F
TU1FTSAxCiNkZWZpbmUgSEFWRV9NRU1TRVRfU19TVVBQT1JUU19aRVJPIDEKI2RlZmluZSBIQVZF
X01LT1NURU1QIDEKI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAgMQojZGVmaW5lIE5FRURfTUtUSU1F
X1dPUktJTkcgMQojZGVmaW5lIEhBVkVfQlVHX0JJR19OQU5PU0xFRVAgMQojZGVmaW5lIEhBVkVf
U1lTX1BBUkFNX0ggMQojZGVmaW5lIEhBVkVfU1lTX1NZU0NUTF9IIDEKI2RlZmluZSBIQVZFX1NZ
U0NUTCAxCiNkZWZpbmUgUkVBRExJTktfVFJBSUxJTkdfU0xBU0hfQlVHIDEKI2RlZmluZSBIQVZF
X1JFQURMSU5LQVQgMQojZGVmaW5lIEhBVkVfUkVBTExPQ18wX05PTk5VTEwgMQojZGVmaW5lIF9S
RUdFWF9JTkNMVURFX0xJTUlUU19IIDEKI2RlZmluZSBfUkVHRVhfTEFSR0VfT0ZGU0VUUyAxCiNk
ZWZpbmUgcmVfc3ludGF4X29wdGlvbnMgcnBsX3JlX3N5bnRheF9vcHRpb25zCiNkZWZpbmUgcmVf
c2V0X3N5bnRheCBycGxfcmVfc2V0X3N5bnRheAojZGVmaW5lIHJlX2NvbXBpbGVfcGF0dGVybiBy
cGxfcmVfY29tcGlsZV9wYXR0ZXJuCiNkZWZpbmUgcmVfY29tcGlsZV9mYXN0bWFwIHJwbF9yZV9j
b21waWxlX2Zhc3RtYXAKI2RlZmluZSByZV9zZWFyY2ggcnBsX3JlX3NlYXJjaAojZGVmaW5lIHJl
X3NlYXJjaF8yIHJwbF9yZV9zZWFyY2hfMgojZGVmaW5lIHJlX21hdGNoIHJwbF9yZV9tYXRjaAoj
ZGVmaW5lIHJlX21hdGNoXzIgcnBsX3JlX21hdGNoXzIKI2RlZmluZSByZV9zZXRfcmVnaXN0ZXJz
IHJwbF9yZV9zZXRfcmVnaXN0ZXJzCiNkZWZpbmUgcmVfY29tcCBycGxfcmVfY29tcAojZGVmaW5l
IHJlX2V4ZWMgcnBsX3JlX2V4ZWMKI2RlZmluZSByZWdjb21wIHJwbF9yZWdjb21wCiNkZWZpbmUg
cmVnZXhlYyBycGxfcmVnZXhlYwojZGVmaW5lIHJlZ2Vycm9yIHJwbF9yZWdlcnJvcgojZGVmaW5l
IHJlZ2ZyZWUgcnBsX3JlZ2ZyZWUKI2RlZmluZSBIQVZFX0RFQ0xfSVNCTEFOSyAxCiNkZWZpbmUg
SEFWRV9TVFJVQ1RfU1RBVF9TVF9BVElNRVNQRUNfVFZfTlNFQyAxCiNkZWZpbmUgSEFWRV9TVFJV
Q1RfU1RBVF9TVF9CSVJUSFRJTUVTUEVDX1RWX05TRUMgMQojZGVmaW5lIEdOVUxJQl9GU0NBTkYg
MQojZGVmaW5lIEdOVUxJQl9TQ0FORiAxCiNkZWZpbmUgSEFWRV9TVFBDUFkgMQojZGVmaW5lIEdO
VUxJQl9URU1QTkFNRSAxCiNkZWZpbmUgSEFWRV9ERUNMX0xPQ0FMVElNRV9SIDEKI2RlZmluZSBI
QVZFX1RJTUVHTSAxCiNkZWZpbmUgR05VTElCX1NURElPX1NJTkdMRV9USFJFQUQgMQojZGVmaW5l
IFVTRV9VTkxPQ0tFRF9JTyBHTlVMSUJfU1RESU9fU0lOR0xFX1RIUkVBRAojZGVmaW5lIEhBVkVf
VVRJTUVOU0FUIDEKI2RlZmluZSBIQVZFX0NfVkFSQVJSQVlTIDEKI2RlZmluZSBPUEVOX1RSQUlM
SU5HX1NMQVNIX0JVRyAxCiNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQojZGVmaW5lIEhBVkVfTElC
R0VOX0ggMQojZGVmaW5lIEhBVkVfR0VUR1JPVVBTIDEKI2RlZmluZSBIQVZFX0dFVEdST1VQUyAx
CiNkZWZpbmUgSEFWRV9GVVRJTUVTIDEKI2RlZmluZSBIQVZFX0xVVElNRVMgMQojZGVmaW5lIEhB
VkVfRlVUSU1FTlMgMQojZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKI2RlZmluZSBORUVEX01LVElN
RV9JTlRFUk5BTCAxCiNkZWZpbmUgSEFWRV9XSU5ET1dfU1lTVEVNIDEKI2RlZmluZSBQT0xMX0ZP
Ul9JTlBVVCAxCiNkZWZpbmUgRU1BQ1NfQ09ORklHX0ZFQVRVUkVTICJBQ0wgREJVUyBHTlVUTFMg
TENNUzIgTElCWE1MMiBNT0RVTEVTIE5PVElGWSBLUVVFVUUgTlMgUERVTVBFUiBQTkcgUlNWRyBT
UUxJVEUzIFRIUkVBRFMgVE9PTEtJVF9TQ1JPTExfQkFSUyBUUkVFX1NJVFRFUiBXRUJQIFhJTSBa
TElCIgoKY29uZmlndXJlOiBleGl0IDAK
--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 13:27:06 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 09:27:05 2025
Received: from localhost ([127.0.0.1]:37329 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7wbZ-0005uk-EM
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 09:27:05 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:40898)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1u7wbU-0005uC-CF
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 09:27:02 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1u7wbO-00030d-SH; Thu, 24 Apr 2025 09:26:54 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=DdSBtxBVBu8WpRIhfeDg/f6X4NurOreqoHNnzJLVf2o=; b=SmSw0DodQ5JA
 DtjYQ4EmEuZTRRQVPfc3K8jQVCRQVdA1i9QRUbgATS5XTaUnnnSqGpjah4iE+WhFHgQtH93YrUXgv
 g4yIlYr7FirU2dcqhq87Rr2kBLUTE/eBec6T3ag01XEY/Ijyyx1oVaJk6Vx5VRTJbwqkvH/wsHtqy
 9/bcTgC8kMZUNuTiKMWKIWFNPX9GIR8110mM6ODjJJVPocG8rL6SE8n3bRF+hB/e8YKobRQTY2mgs
 C3QdhA/uCjE4TNazHTbC9KOYHmOmPWweZQL3eSIYqkiOfKiUVUd36mGuHJWov/kCYH66xbvzE5xmE
 OKDGZGeT7o719T3Dbp6Qew==;
Date: Thu, 24 Apr 2025 16:26:49 +0300
Message-Id: <86zfg5y9k6.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Visuwesh <visuweshm@HIDDEN>
In-Reply-To: <87zfg5939u.fsf@HIDDEN> (message from Visuwesh on Thu, 24 Apr
 2025 17:31:49 +0530)
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN> <jwvecxiga9d.fsf-monnier+emacs@HIDDEN>
 <86msc6ywyx.fsf@HIDDEN> <87plh2m72a.fsf@HIDDEN>
 <m2ecxinkcd.fsf@HIDDEN> <87zfg5939u.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77924
Cc: gerd.moellmann@HIDDEN, yantar92@HIDDEN, monnier@HIDDEN,
 77924 <at> debbugs.gnu.org, stefankangas@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Visuwesh <visuweshm@HIDDEN>
> Cc: Eli Zaretskii <eliz@HIDDEN>,  Stefan Monnier
>  <monnier@HIDDEN>,  yantar92@HIDDEN,  stefankangas@HIDDEN,
>   77924 <at> debbugs.gnu.org
> Date: Thu, 24 Apr 2025 17:31:49 +0530
> 
> I ran the benchmark with the text file tamil.txt in place of xmenu.c,
> but I didn't disable elb-smie-mode since I ran into weird issues.  In
> both master and text-index cases, I ran the benchmark with
> 
>     % emacs -Q -l elisp-benchmarks-run --eval '(elisp-benchmarks-run "elb-scroll" t 10)'
> 
> and here are the results for the master branch:
> 
> * Results
> 
>   | test   | non-gc (s) | gc (s) | gcs | total (s) | err |
>   |--------+------------+--------+-----+-----------+-----|
>   | scroll |     155.73 |  49.29 | 835 |    205.02 |  0% |
>   |--------+------------+--------+-----+-----------+-----|
>   | total  |     155.73 |  49.29 | 835 |    205.02 |  0% |
> 
> and for the scratch/text-index branch:
> 
> * Results
> 
>   | test   | non-gc (s) | gc (s) | gcs | total (s) | err |
>   |--------+------------+--------+-----+-----------+-----|
>   | scroll |     171.89 |  51.56 | 869 |    223.44 |  1% |
>   |--------+------------+--------+-----+-----------+-----|
>   | total  |     171.89 |  51.56 | 869 |    223.44 |  1% |
> 
> Unfortunately, my laptop went to power saving mode during the last two
> minutes or so for the scratch/text-index benchmark run so that might
> play into the numbers a tiny bit.  I can try repeating the test later
> for the latter case if desired.  Empirically speaking, both branches
> seemed to scroll at the same speed.

Thanks.

Unless the power saving mode explains it, the results look a bit
disappointing to me: the branch is slower by about 10%.  That's
unexpected, I think.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 12:02:54 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 08:02:53 2025
Received: from localhost ([127.0.0.1]:37051 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7vI1-0000pE-MD
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 08:02:52 -0400
Received: from mail-pf1-x444.google.com ([2607:f8b0:4864:20::444]:58434)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <visuweshm@HIDDEN>)
 id 1u7vHv-0000oD-Hv
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 08:02:45 -0400
Received: by mail-pf1-x444.google.com with SMTP id
 d2e1a72fcca58-7376dd56eccso896348b3a.0
 for <77924 <at> debbugs.gnu.org>; Thu, 24 Apr 2025 05:02:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745496157; x=1746100957; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=vXKESxH58PzMTHHfYYs5QOigHVGpQa6zsyrDnnXN2yc=;
 b=k5j1vMxigYs0lBtcaS8udUYnTcz1kKBbrAJE+NcaaMqDzYZKjhDI47ZGkfiGzLsFWf
 Tr7/qHsfs7wZOV+V42+wMd0HiEtKHp2e2qlVD/X3i4qvwmtIQlp0mHd2cB/MviwKlthk
 G4rSc5BAnxLGztnZfvA4u4nEvJT1XwcFDPAS02fku4lNJCKMYVUHXh/8pDazrKTbPPxE
 qHon425DOeq8g6cssjBrvkzEYTnQRDp11YKPv0MO1ntaHX9t2TZ2BglafHEuOMT0RoJo
 dO5IDdR0p/P3LJ8OusTO03QjP9oddETE/CcuFZGNl++s0+AKiT+KNtMLcBdfxzAchwne
 2g1A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745496157; x=1746100957;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=vXKESxH58PzMTHHfYYs5QOigHVGpQa6zsyrDnnXN2yc=;
 b=E7PcPXHzdI5pkX1+Ri4bfqBI3aljMzvwPvsXEpIqE2ojuT8FGm+Y/zNi05hs1JpOFO
 ADS9oEVoXDplKZavTrzDxnOyhojMGgyBzMQ6oAoXsfho5c1NMfn+C5hLbMDNgqHzDA0h
 g3NCa1DTn8nyZ+mwSLCwDJWUwM9aQE6IjBxZ4MlnaRPYn3ABhMuQrSZXNJqLb2uScloZ
 bPRNryLjwBa1l3be58gaFrBy1+KFrUZ0ZhQrXd+xZJlcol7F0HqZnbpbm94XaU1A6Cms
 x/cLbY51Kn0B+cjaFZaBjd0gK2cEcIKzq0Jl3qZt/Foyq5VPXaF+6Xj9fSjsqhb3sGhN
 hlTw==
X-Forwarded-Encrypted: i=1;
 AJvYcCUHZtB7o9cp1eofBtntZ6w90RKA+vS89ErPyWS89DU0fjOe9ICNIkHermVvEUFeC3/cJwCy3w==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YzNEFnQC2OY8pRn4W1/08S43Fj6SScYHPqgqT7Myx3W2lodzibc
 77l4nbnZ7DC0m4e4r6l63wlVtuSZbfoMh8w5m8/YZkR8lckw6xT6/inC8x9S
X-Gm-Gg: ASbGncvk+/uIwaXQwqcEbysumwF1pgMdhNuBKwgsWfr5cL1jN+UTtnEzlmGIDATxUsZ
 ee9ZVwAQ9WhPhHhimpJp0cTLmH73+nGHxnxihD+u1dTPdJTW8W9SOD/zUGguAeCTvQXAX6Tnpai
 SPA27rCuCxjCMRuzFfosczMLVId42xjpiBHKKe/cHjM3mYeOd7TgGK8ixjd6xQD3aBjBo0PYdbD
 RQC193v/8gGidzjf0VDf9oNL5Ke1bPhs9gc9Sw6PpyKMIDY3rVZ5mt6+AqcympFn/CuAN82sz1a
 LqxX5z+wTmPhqTbCu+Zv6TYUZpKhHhJ8P87ANg==
X-Google-Smtp-Source: AGHT+IGv8a6Wd6nIkcPgTxbN3BfvE979AHeVIvlMfftgboQBnB8OWkQ0N12TCDUpUD9hl3Bfk8yGWQ==
X-Received: by 2002:a05:6a00:14d2:b0:736:4704:d5da with SMTP id
 d2e1a72fcca58-73e24e05a29mr3296432b3a.22.1745496157439; 
 Thu, 24 Apr 2025 05:02:37 -0700 (PDT)
Received: from localhost ([115.240.90.130])
 by smtp.gmail.com with UTF8SMTPSA id
 d2e1a72fcca58-73e25a6b462sm1188275b3a.114.2025.04.24.05.02.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 24 Apr 2025 05:02:37 -0700 (PDT)
From: Visuwesh <visuweshm@HIDDEN>
To: Gerd =?utf-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <m28qnpn5ax.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN> <m27c3cesxb.fsf@HIDDEN>
 <jwvzfg8493r.fsf-monnier+emacs@HIDDEN> <m234e0xo35.fsf@HIDDEN>
 <m2frhzbi1y.fsf@HIDDEN> <861ptj10kb.fsf@HIDDEN>
 <m2zfg7nh42.fsf@HIDDEN> <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN>
 <86plh3ym7l.fsf@HIDDEN> <86o6wnylxf.fsf@HIDDEN>
 <jwvecxiga9d.fsf-monnier+emacs@HIDDEN> <86msc6ywyx.fsf@HIDDEN>
 <m2ikmunmiq.fsf@HIDDEN> <86cyd2yp45.fsf@HIDDEN>
 <m2a586neq2.fsf@HIDDEN> <87frhxnbls.fsf@HIDDEN>
 <m2plh1naa7.fsf@HIDDEN> <87cyd1alyl.fsf@HIDDEN>
 <m2ldrpn6p7.fsf@HIDDEN> <874iydainw.fsf@HIDDEN>
 <m28qnpn5ax.fsf@HIDDEN>
Date: Thu, 24 Apr 2025 17:32:33 +0530
Message-ID: <87v7qt938m.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: Eli Zaretskii <eliz@HIDDEN>, stefankangas@HIDDEN, yantar92@HIDDEN,
 77924 <at> debbugs.gnu.org, monnier@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

[=E0=AE=B5=E0=AE=BF=E0=AE=AF=E0=AE=BE=E0=AE=B4=E0=AE=A9=E0=AF=8D =E0=AE=8F=
=E0=AE=AA=E0=AF=8D=E0=AE=B0=E0=AE=B2=E0=AF=8D 24, 2025] Gerd M=C3=B6llmann =
wrote:

>>>  - the resources directory containing xmenu.c or whatever must be a
>>>    sibling to the benchmarks directory
>>>
>>>  - The pattern matching the test case doesn't seem to always work. I use
>>>    ".*scroll.*" but the report at the end shows also "setq" and
>>>    "font-lock"???
>>
>> I am using "elb-scroll" as the pattern and it only picks up scroll.
>> (Though the time it takes to run 10 repeats (so 100 loops) is ~30 mins
>> here.)
>
> Is that with the smie mode?

Yep, I gave up on trying to load text-mode or otherwise, and use
elb-smie-mode in the test.  See my other mail for the results.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 12:02:11 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 08:02:10 2025
Received: from localhost ([127.0.0.1]:37049 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7vHN-0000ly-GH
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 08:02:09 -0400
Received: from mail-pf1-x444.google.com ([2607:f8b0:4864:20::444]:50573)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <visuweshm@HIDDEN>)
 id 1u7vHH-0000kl-6X
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 08:02:03 -0400
Received: by mail-pf1-x444.google.com with SMTP id
 d2e1a72fcca58-73712952e1cso835121b3a.1
 for <77924 <at> debbugs.gnu.org>; Thu, 24 Apr 2025 05:02:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745496117; x=1746100917; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=d0Uh7zAZezC2UI5yo9dTU0TnD9xJaszdh/PNlCLQN9Y=;
 b=NSrt8ejOZmJLwtYzvBVopnUf1pYas4H4LQvW4sLOnpW3u6lJ+8ybkrTTvuJXE09fSv
 myuCXhFVpTxGSPELxDUVL728yNsPhAT8LNP6KociE1moOE318I7XTbIbddWcGejlq2zH
 KAlOrrwqBNvigWdex0gYsuSIUpqRQjG6Rwkrb9G4DUr/ZGtcF7iHyWjGIL+IrieyYscC
 IvgpiKFT6VnF4JkrOIc+eHeQ6m7v5Hc/yqHMXa4vYx3bfWNpf9xq/x3kB91oiIBbmRUt
 vwfk4nkfACnO3FxstbGvT1g/mvukNCWaKNMwbDS0j9kd1DU7w4vOUS0iYu3fiMs5RWbg
 DuyQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745496117; x=1746100917;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=d0Uh7zAZezC2UI5yo9dTU0TnD9xJaszdh/PNlCLQN9Y=;
 b=L/nKSreJedZQHED4FIZBQjQdiekf5Lxy4VluPQjPwVbfnkzXqDgQPeR4maYPGi+mmH
 EL538G/PpesRjg4AIyMC2WgI8PYpQHBiwaK8omZ+fGba0CLZVZa/QfDXxQXmca94WwDd
 8DNkZ12KTYl3vGFgVss7AwEnUsdURnwWVt1um7wGlpxZg+3Ksxp3fo409zM9EDgMHEnS
 yCrH9gvtiBsTXd9OGCGDL9N+8deESl6MaK36mtvbaB02mkdAYpTKAM1Pt16rmiYT1tlX
 mwhsa00qRT5RiOLMummn5MlDF2lSrh3azdoemLn8UObbSsdcRLtbRt+ikMRkz1HLfbi4
 AdyA==
X-Forwarded-Encrypted: i=1;
 AJvYcCWS1dgKrK2XjrW7p9MzH//hVMuneMCPuELn3KliiFOKmfgDT+mx1yoHMZkEzQLXrnoR5niKuw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yz6v5ejxgoUpJ4JMXAKtHNIwFK2zA2yI2Rhn9mxfVaKj1tK6N4i
 eJG/A92gq6vjAZuZSF1dt2vezqXCFrn+ceIC0YumO+JtA8EZuBBivjQtBnpU
X-Gm-Gg: ASbGnctFCo/SYBeTKrn8aZywVgLxjMiR3N/Mrv8I5OJANIDPmWqPg1xSrf29m03BI1m
 akYe1SPeWz2XxWI974sij/zY1XbwUf2KSUFLr0IWrSN4v2UM44MCa2tecmUvr4gUVdZm1VJOn1a
 XjjWBZ9NUJwjddIhua30ELEZBpSORe7imbak3Ey35H2TUrTkvLv+70X8rIwRd8D6UXRjCXUrFbq
 f8YEhn7Kzlzf6+VtU4QHX3Fn5a43VVedFJlxiS0uWZ6XGRZUUHG6gQPWFYt/8Xaay3+9fU9Da0v
 qYH61k0uvNmMMtoZrjFiuTYrBH7s4SEen5WiVDkMqHRGSmgF
X-Google-Smtp-Source: AGHT+IFDrK50QMqUoKw3oZJzzioUakm/6SVkRVQJkiTSlKiQJDqKvGYc5dsbijlOOHpIdxe+gpYneg==
X-Received: by 2002:a05:6a20:549c:b0:1f5:5807:13c7 with SMTP id
 adf61e73a8af0-20444e9c443mr3411208637.17.1745496115893; 
 Thu, 24 Apr 2025 05:01:55 -0700 (PDT)
Received: from localhost ([115.240.90.130])
 by smtp.gmail.com with UTF8SMTPSA id
 41be03b00d2f7-b15faded629sm1023759a12.63.2025.04.24.05.01.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 24 Apr 2025 05:01:54 -0700 (PDT)
From: Visuwesh <visuweshm@HIDDEN>
To: Gerd =?utf-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <m2ecxinkcd.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN> <jwvecxiga9d.fsf-monnier+emacs@HIDDEN>
 <86msc6ywyx.fsf@HIDDEN> <87plh2m72a.fsf@HIDDEN>
 <m2ecxinkcd.fsf@HIDDEN>
Date: Thu, 24 Apr 2025 17:31:49 +0530
Message-ID: <87zfg5939u.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Debbugs-Envelope-To: 77924
Cc: Eli Zaretskii <eliz@HIDDEN>, yantar92@HIDDEN,
 Stefan Monnier <monnier@HIDDEN>, 77924 <at> debbugs.gnu.org,
 stefankangas@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

[=E0=AE=B5=E0=AE=BF=E0=AE=AF=E0=AE=BE=E0=AE=B4=E0=AE=A9=E0=AF=8D =E0=AE=8F=
=E0=AE=AA=E0=AF=8D=E0=AE=B0=E0=AE=B2=E0=AF=8D 24, 2025] Gerd M=C3=B6llmann =
wrote:

>> Is there a standard benchmark code that I can try for this?  I have such
>> a large HTML file with Tamil text, and I can scroll through the buffer
>> produced by shr-render-buffer.
>
> The elisp-benchmarks package has an elb-scroll.el, in its benchmarks
> directory. AFAICT, that loads an xmenu.c from the resources
> sub-directory of the benchmarks.
>
> You could copy that, or modify it.
>
> P.S.
>
> One can set the benchmarks directory to somewhere else, and run
> benchmarks like this:
>
>   (setq elb-bench-directory "~/emacs/notes/code/benchmarks")
>   (elisp-benchmarks-run ".*replace-region-contents.*" t 100)
>
> The 100 is the number of runs, which should be chosen high enough that
> the "err" column in the result buffer is reasonably low. I'd start with
> 1 to see how long that takes, and then increase it.

I ran the benchmark with the text file tamil.txt in place of xmenu.c,
but I didn't disable elb-smie-mode since I ran into weird issues.  In
both master and text-index cases, I ran the benchmark with

    % emacs -Q -l elisp-benchmarks-run --eval '(elisp-benchmarks-run "elb-s=
croll" t 10)'

and here are the results for the master branch:

* Results

  | test   | non-gc (s) | gc (s) | gcs | total (s) | err |
  |--------+------------+--------+-----+-----------+-----|
  | scroll |     155.73 |  49.29 | 835 |    205.02 |  0% |
  |--------+------------+--------+-----+-----------+-----|
  | total  |     155.73 |  49.29 | 835 |    205.02 |  0% |

and for the scratch/text-index branch:

* Results

  | test   | non-gc (s) | gc (s) | gcs | total (s) | err |
  |--------+------------+--------+-----+-----------+-----|
  | scroll |     171.89 |  51.56 | 869 |    223.44 |  1% |
  |--------+------------+--------+-----+-----------+-----|
  | total  |     171.89 |  51.56 | 869 |    223.44 |  1% |

Unfortunately, my laptop went to power saving mode during the last two
minutes or so for the scratch/text-index benchmark run so that might
play into the numbers a tiny bit.  I can try repeating the test later
for the latter case if desired.  Empirically speaking, both branches
seemed to scroll at the same speed.

This is how I configured both Emacses:

    % ./configure --with-sound=3Dalsa --with-x-toolkit=3Dmotif \
                  --without-xaw3d --without-gconf --without-libsystemd \
                  --with-cairo CFLAGS=3D-g3 CC=3D$(which gcc-13)

If anyone wants to repeat the test, I attach the text file (compressed)
I use here.


--=-=-=
Content-Type: application/gzip
Content-Disposition: attachment; filename=tamil.txt.gz
Content-Transfer-Encoding: base64

H4sICKH/CWgCA3RhbWlsLnR4dADU/UuPI1mWJgiuQ36FqG6sCqBrPRoDdKUBrciqagx6umqm0dk1
g1kNLDM8M7wywj3g7pE5tTMaQBWqaapawHy4MMIRXCgXJBdCKlUFHrkhgfkl8VNGSbn33O+8rgjV
PAoYQ8DDTJWUx32cex7f+b7ffvP111/9t6++Lv/my1//w5uvy2/+tvz7N7/++6/Kv//2q+9+9fWb
3/zu2++/GpR/86s3v/3+y2/Lf1N+Uf72d9//rvyHL//Tf3rzm6L47W/KX3/zd98UX/y5/zzfij9q
4Tzqb998+335b/6y+BfPn/z+zW+++nX53d98+9Vvvx+Uv/v6q7/55pdf/qvfff+3X/yP5d9+8+1v
3nz/L4viT/XoT3X9p3pz+N/6tvxTPflTvX3+2/Ev+/L4+6b95fFHj88//VO9fP7n83dXf1q/b/9x
+O/hF2v69fNXp39aX8WrNfSl+k/r4Z/q+eEX9e74i/nzT8rD1Q7/nhw/cfs81sfrD+nXzfFqj8er
PbYfKv57DP2f/xZ/+Td///U3//jrL3/5d1/+5suvv/+L4v/2u2/Lv/rq67/58tsvy+9/9ebrv/+u
/Ltvyu+f//erL5/n7te//uYfv/r678rffvntd998/d1hNg+/+erb8s1333313fdvnr9ZHlbA86d/
++2Xz4vizfdffXNc39//6qvvyn/85tu/vyj+5++//H9/z37/F+Vf/pcv/td//x/K//3L77588+3f
/Kr8D8+P87zy/8V//vai/Pdvvvv7509+/S8H5V9+/fWb8r98/dU/PD/AV9//t0H5H3715fOPnhfg
//L1L796U/xv337zzd9+8e2Xb375/Jh/UR6+/VcXz9/669/95s3Xz586/OD/evEfL8r/9M3fvfnu
d1//8vm6vwk/fv7rf3vz9fNu/D9/8w9fHX/zX998PSj+83cX5f/25h+++v5X374p/+rbr55v/ua7
518cv/S/v/nNm+dd+vUvnx+v/M9vfvXml1/+w/F3z1/6qzff/+q/vWk/91fffvnl853K/zVsmm++
+fb5l4PiPx5/99Uvf/Xm2+drPY/R1+3jfHf88a+ff/Lm+ef/9c3fffPbN79uL/V//+rrb77/Vfl/
efN3b57f/DBJxf/jy78ujyPyzdfGO//7X7/5m7//7q9/9+3fDZ6//O3fPb/B81P9l7/6y+L/OM7J
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
--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 11:55:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 07:55:07 2025
Received: from localhost ([127.0.0.1]:36976 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7vAL-00005w-FF
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 07:55:06 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:32806)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1u7vA5-0008Vr-A4
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 07:54:49 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1u7v9y-0007Pq-Sw; Thu, 24 Apr 2025 07:54:30 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=MNuk5t4cqz1U4h4OyKp3W7IdxshQ2hoyVjq6cmFeggY=; b=LxYVYBR6VCfv
 XM3vsIcRU1TDINasgDd2R0GRBvsXv33jyiWBF7CmERBuLtkaJD9+3hNiAPLlkkrzu5SmyG1UuFvKS
 GxYhaxCMeLi7Xk0K55cwN79rvTDrUTqKoYAVlrPn+Ng5l044c05lDogxQR8fEXL7R1BpnY0+QX/MI
 6ZupapIoX0Q3Ca1L0zHj/AmZSqyDivOWGJqrvGZ0+GqDNJbX4HGMgwbHpTL5WICNcP6NMAKMFVTPw
 GPuXdgdTx6TqiaEchtjnT0RGhhqZ4ENytYezVDH7MvVQvICDUqmx4H18IAiK9tyfjly4DBj33AS2e
 SSikKaX8FEUm8+YG75S6bQ==;
Date: Thu, 24 Apr 2025 14:54:27 +0300
Message-Id: <865xitzsek.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: monnier@HIDDEN, gerd.moellmann@HIDDEN
In-Reply-To: <86plh3ym7l.fsf@HIDDEN> (message from Eli Zaretskii on Wed, 23
 Apr 2025 17:41:18 +0300)
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77924
Cc: stefankangas@HIDDEN, 77924 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Cc: gerd.moellmann@HIDDEN, stefankangas@HIDDEN, 77924 <at> debbugs.gnu.org
> Date: Wed, 23 Apr 2025 17:41:18 +0300
> From: Eli Zaretskii <eliz@HIDDEN>
> 
> > From: Stefan Monnier <monnier@HIDDEN>
> > Cc: Eli Zaretskii <eliz@HIDDEN>,  stefankangas@HIDDEN,
> >   77924 <at> debbugs.gnu.org
> > Date: Wed, 23 Apr 2025 10:34:11 -0400
> > 
> > FWIW, I'm not a great fan of rebasing either.  I did rebase the branch
> > last night not for rebasing's sake but because I felt there was a need
> > for more detailed commit messages.
> > 
> > In any case, any objection to merging the branch?
> 
> I'd like to have a closer review of it first, so please wait for a
> while.  When I skimmed it, I remember having several, hopefully minor,
> aspects that stood out, and I want to take a closer look.

See below:

> -  m->next = BUF_MARKERS (buf);
> -  BUF_MARKERS (buf) = m;
> +  marker_vector_add (buf, m);
> +  marker_vector_set_charpos (m, charpos);

Could we please name functions that manipulate and get marker
information marker_SOMETHING and not marker_vector_something?
marker_vector_add is semi-okay (although marker_add would have been
nicer, IMO), but marker_vector_set_charpos and marker_vector_charpos
are not, because AFAIU they manipulate the marker's position, not
marker-vector's position.

In general, wherever the fact that we have a vector of markers is
merely an implementation detail that is not important to the
programmer, can we just drop the "vector" part from the names of the
functions, for the same reason that the old functions and macros
weren't called marker_list_SOMETHING?

> +  DO_MARKERS (b, m)
> +    {
> +      if (!vectorlike_marked_p (&m->header))
> +	marker_vector_remove (XVECTOR (BUF_MARKERS (b)), m);
> +    }
> +  END_DO_MARKERS;

Would it be possible not to introduce macros that modify the C syntax?
These are problematic for more than one reason (one being that they
are not recognized by C modes we use).  We have macros whose names
start with FOR_EACH_ (like FOR_EACH_FRAME); can we introduce
FOR_EACH_MARKER instead, and not hide opening/closing braces inside
macros?

> +      marker_vector_reset (b);

I'd prefer marker_vector_clear.  Or maybe even marker_delete_all.

> -	  set_marker_both (point_marker, Qnil, PT, PT_BYTE);
> +	  set_marker_both (point_marker, Qnil, PT);

It's confusing to keep calling this set_marker_both, when we no longer
pass the byte position.

> +	  DO_MARKERS (current_buffer, tail)
> +	    {
> +	      if (tail->need_adjustment)
> +		{
> +		  tail->need_adjustment = 0;
> +		  if (tail->insertion_type)
> +		    {
> +		      marker_vector_set_charpos (tail, from);
> +		    }

We don't use braces around blocks of a single statement.

>  INLINE ptrdiff_t
> +gc_vsize (const struct Lisp_Vector *v)
> +{
> +  return v->header.size & ~ARRAY_MARK_FLAG;
> +}
> +
> +INLINE ptrdiff_t
>  gc_asize (Lisp_Object array)
>  {
>    /* Like ASIZE, but also can be used in the garbage collector.  */
> -  return XVECTOR (array)->header.size & ~ARRAY_MARK_FLAG;
> +  return gc_vsize (XVECTOR (array));
>  }

Please add a comment to gc_vsize similar to what we say in gc_asize.

> +/* Push entry ENTRY of V to its free-list. This must set MARKER to not
                                                            ^^^^^^
> +   be a marker, which is done by using the MARKER field of entry
> +   to form the free-list.  */
> +
> +static void
> +push_free (struct Lisp_Vector *v, const ptrdiff_t entry)
> +{
> +  check_is_entry (v, entry);
> +  NEXT_FREE (v, entry) = FREE (v);
> +  FREE (v) = make_fixnum (entry);

There's no argument named MARKER in this function.

> +Lisp_Object
> +alloc_marker_vector (ptrdiff_t len)
> +{
> +#ifdef HAVE_MPS
> +  return igc_alloc_marker_vector (len, FREE_LIST_END);
> +#else
> +  return make_vector (len, FREE_LIST_END);
> +#endif
> +}

We don't have any code on master that uses HAVE_MPS.  This changeset
adds at least 2 of them.  I'd prefer not to have these conditions on
master as long as the igc branch was not landed.

> +void
> +marker_vector_reset (struct buffer *b)
> +{
> +  /* The old GC contains at least one assertion that unchaining markers
> +     in kill-buffer resets the markers' buffers.  IGC does not do this,
> +     can't do this, and does not need it.  */

Likewise here, wrt comments about igc.

> +/* Return marker M's byte position.  */
> +
> +ptrdiff_t
> +marker_vector_bytepos (const struct Lisp_Marker *m)
> +{
> +  const ptrdiff_t charpos = marker_vector_charpos (m);
> +  return buf_charpos_to_bytepos (m->buffer, charpos);

Can m->buffer be NULL or a dead buffer?  If so, what will happen here?

> +void
> +marker_vector_adjust_for_insert (struct buffer *b,
> +				 const ptrdiff_t from_charpos,
> +				 const ptrdiff_t to_charpos,
> +				 const bool before_markers)
> +{
> +  const ptrdiff_t nchars = to_charpos - from_charpos;
> +  struct Lisp_Vector *v = XVECTOR (BUF_MARKERS (b));
> +  DO_MARKERS (b, m)
> +    {
> +      const ptrdiff_t charpos = XFIXNUM (CHARPOS (v, m->entry));
> +      if (charpos == from_charpos)
> +	{
> +	  if (m->insertion_type || before_markers)
> +	    CHARPOS (v, m->entry) = make_fixnum (to_charpos);
> +	}
> +      else if (charpos > from_charpos)
> +	CHARPOS (v, m->entry) = make_fixnum (charpos + nchars);

Why does it use CHARPOS and not marker_vector_set_charpos?

> +void
> +marker_vector_adjust_for_replace (struct buffer *b,
> +				  const ptrdiff_t from_charpos,
> +				  const ptrdiff_t old_nchars,
> +				  const ptrdiff_t new_nchars)
> +{
> +  const ptrdiff_t diff_nchars = new_nchars - old_nchars;
> +  const ptrdiff_t old_to_charpos = from_charpos + old_nchars;
> +  struct Lisp_Vector *v = XVECTOR (BUF_MARKERS (b));
> +  DO_MARKERS (b, m)
> +    {
> +      const ptrdiff_t charpos = XFIXNUM (CHARPOS (v, m->entry));
> +      if (charpos >= old_to_charpos)
> +	CHARPOS (v, m->entry) = make_fixnum (charpos + diff_nchars);
> +      else if (charpos > from_charpos)
> +	CHARPOS (v, m->entry) = make_fixnum (from_charpos);
> +    }
> +  END_DO_MARKERS;

Likewise here.

> +Lisp_Object make_marker_vector (void);
> +Lisp_Object alloc_marker_vector (ptrdiff_t len);
> +void marker_vector_add (struct buffer *b, struct Lisp_Marker *m);
> +void marker_vector_remove (struct Lisp_Vector *v, struct Lisp_Marker *m);
> +void marker_vector_reset (struct buffer *b);
> +void marker_vector_set_charpos (struct Lisp_Marker *m, ptrdiff_t charpos);
> +ptrdiff_t marker_vector_charpos (const struct Lisp_Marker *m);
> +ptrdiff_t marker_vector_bytepos (const struct Lisp_Marker *m);
> +void marker_vector_adjust_for_insert (struct buffer *b, const ptrdiff_t from,
> +				      ptrdiff_t to, bool before_markers);
> +void marker_vector_adjust_for_replace (struct buffer *b, ptrdiff_t from,
> +				       ptrdiff_t old_chars, ptrdiff_t new_chars);

We use the 'extern' qualifier for prototypes of non-static functions
in header files.

> +   Note that the byte positions at interval boundaries can be in the
> +   middle of a multi-byte character.
> +
> +	     character start byte position
> +		|
> +	  ------01234-------- bytes of a character (up to 5 in Emacs'
> +		   |          internal encoding)
> +	       N * interval
> +
> +   To find the character position corresponding to a byte position
> +   BYTEPOS, we look up the character position in the index at BYTEPOS /
> +   interval.  From there, we can scan forward in the text until we reach
> +   BYTEPOS, counting characters, or we scan backward from the interval
> +   end, if that is closer.
> +
> +   To find the byte position BYTEPOS corresponding to a given character
> +   position CHARPOS, we search the index for the last entry ENTRY whose
> +   character position is <= CHARPOS.  That entry corresponds to a byte
> +   position ENTRY * interval size.  From there, we scan the text until
> +   we reach BYTEPOS, counting characters until we reach CHARPOS.  The
> +   byte position reached at the end is BYTEPOS.  We also scan backward
> +   from the interval end, if that looks advantageous.

Doesn't this make charpos->bytepos conversion more expensive than in
the other direction?  If not, why not?  If the charpos->bytepos
conversion is indeed more expensive, shouldn't it be the other way
around, since AFAIR we need a byte position of a given character
position much more frequently than the other way around?  (And now it
should be even more frequently, since markers record only the
character positions.)

> +   Why divide the text into intervals of bytes instead of characters?
> +   Dividing the text into intervals of characters makes scanning
> +   overhead less uniform, since characters can be of different lengths
> +   (1 to 5 bytes).  */

AFAIU, this should mention the fact that the implementation wants to
use binary search to find the entry corresponding to a character
position.

> +// clang-format off

Do we need this,l and if we do, does it have to be a C++ style
comment?

> +
> +struct text_index
> +{
> +  /* Value at index IDX is the character position of byte position IDX *
> +     INTERVAL.  Note that that byte position may be in the middle of a
> +     character.  The value at index 0 is BEG.  */
> +  ptrdiff_t *charpos;

What is IDX here?  And what is INTERVAL?

> +  /* Number of valid entries in the above array.  This is always at least 1
> +     because the first entry is for BEG.  */
> +  size_t nentries;
> +
> +  /* Number of entries allocated.  */
> +  size_t capacity;

Why not ptrdiff_t?  AFAIR, unsigned types should be avoided, to
prevent problems when mixing them with signed types.

> +/* Value is true is known position cache of TI is valid.  */
                    ^^
Typo: "if".

> +static bool
> +is_cache_valid (const struct text_index *ti)
> +{
> +  return ti->cache.bytepos != TEXT_INDEX_INVALID_POSITION;
> +}

Shouldn't we also test against BEG_BYTE and Z_BYTE?

> +/* Return the byte position in index TI corresponding to index entry
> +   ENTRY.  Note that this position cab be in the middle of a multi-byte
                                      ^^^
"can"

> +/* Return the character position in index TI corresponding index entry
                                                ^^^^^^^^^^^^^
"corresponding to"

> +  /* Start at the byte position of the last index entry.  if TO_BYTEPOS
                                                             ^^
Capitalize "If".

> +  /* Loop over bytes, starting one after the index entry we start from
> +     because we are only interested in yet unknown entries, and the
> +     one at EMTRY can be assumed to stay unchanged.  */
               ^^^^^
"ENTRY"

> +  for (++bytepos; bytepos < z_byte; ++bytepos)
> +    {
> +      if (CHAR_HEAD_P (BUF_FETCH_BYTE (b, bytepos)))
> +	++charpos;
> +
> +      if (bytepos == next_stop)
> +	{
> +	  /* Add a new index entry.  */
> +	  append_entry (ti, charpos);
> +
> +	  /* If we reached the one after the position we are interested
> +	     in, we're done since we can then scan forward and backward
> +	     to BYTEPOS.  */
> +	  if ((to.bytepos != TEXT_INDEX_INVALID_POSITION
> +	       && bytepos > to.bytepos)
> +	      || (to.charpos != TEXT_INDEX_INVALID_POSITION
> +		  && charpos > to.charpos))
> +	    break;
> +
> +	  /* Compute next stop. We are done if no next entry
> +	     can be built.  */
> +	  next_stop += TEXT_INDEX_INTERVAL;
> +	  if (next_stop >= z_byte)
> +	    break;
> +	}
> +    }

I think this loop could be optimized if it used BYTES_BY_CHAR_HEAD
instead of advancing one byte at a time.

> +static ptrdiff_t
> +charpos_forward_to_bytepos (struct buffer *b, const struct text_pos from,
> +			    const ptrdiff_t to_bytepos)
> +{
> +  eassert (from.bytepos <= to_bytepos);
> +  ptrdiff_t bytepos = from.bytepos;
> +  ptrdiff_t charpos = from.charpos;
> +  while (bytepos < to_bytepos)
> +    {
> +      ++bytepos;
> +      if (CHAR_HEAD_P (BUF_FETCH_BYTE (b, bytepos)))
> +	++charpos;
> +    }
> +  return charpos;
> +}

Likewise here.

> +  ptrdiff_t charpos = from.charpos;

Please use CHARPOS(from) instead of accessing the struct members
directly (here and elsewhere).

> +  while (charpos < to_charpos)
> +    {
> +      ++bytepos;
> +      if (CHAR_HEAD_P (BUF_FETCH_BYTE (b, bytepos)))
> +	++charpos;
> +    }

Here we could also use BYTES_BY_CHAR_HEAD.

> +/* Improve the known bytepos bounds *PREV and *NEXT if KNOWN is closer
> +   to BYTEPOS.  */
> +
> +static void
> +narrow_charpos_bounds_1 (const struct text_pos known, struct text_pos *prev,
> +			 struct text_pos *next, const ptrdiff_t charpos)

The commentary mentions BYTEPOS, but the function doesn't have such an
argument.

> +/* Improve the known bytepos bounds *PREV and *NEXT of buffer B using
> +   known positions in B.  BYTEPOS is a byte position to convert to a
> +   character position.  */
> +
> +static void
> +narrow_charpos_bounds (struct buffer *b, struct text_pos *prev,
> +		       struct text_pos *next, const ptrdiff_t charpos)

Same here.

> +/* Return the character position in buffer B corresponding to
> +   byte position BYTEPOS.  */
> +
> +ptrdiff_t
> +buf_bytepos_to_charpos (struct buffer *b, const ptrdiff_t bytepos)
> +{
> +  /* FIXME: Can BYTEPOS ever be outside of BEGV_BYTE..ZV_BYTE?  */
> +  /* If this buffer has as many characters as bytes, each character must
> +     be one byte.  This takes care of the case where
> +     enable-multibyte-characters is nil.  */
> +  const struct text_pos z = z_pos (b);
> +  if (z.charpos == z.bytepos)
> +    return bytepos;
> +
> +  /* Begin with the interval (BEG, Z), and improve on that by taking known
> +     positions into account like PT, GPT and the cache.  This might
> +     already find the answer.  */
> +  struct text_index *ti = ensure_has_index (b);
> +  struct text_pos prev = beg_pos (b);
> +  struct text_pos next = z;
> +
> +  narrow_bytepos_bounds (b, &prev, &next, bytepos);
> +
> +  /* Z_BYTE does not have an index entry because we don't want
> +     extra entries for (Z, Z_BYTE), so short-circuit *before* looking
> +     up the index.  Changing that would be possible but leads to more
> +     code than this if-statement, so it's probably not worth it.  */
> +  if (next.bytepos == bytepos)
> +    return next.charpos;
> +
> +  ensure_bytepos_indexed (b, bytepos);
> +  const ptrdiff_t entry = index_bytepos_entry (ti, bytepos);
> +  narrow_bytepos_bounds_1 (index_text_pos (ti, entry), &prev, &next, bytepos);
> +  narrow_bytepos_bounds_1 (next_known_text_pos (b, entry),
> +			   &prev, &next, bytepos);
> +
> +  if (next.charpos - prev.charpos == next.bytepos - prev.bytepos
> +      /* Beware: NEXT and PREV can be in the middle of multibyte chars!  */
> +      && CHAR_HEAD_P (BUF_FETCH_BYTE (b, prev.bytepos)))
> +    return prev.charpos + (bytepos - prev.bytepos); /* ASCII-only!  */

AFAICT, you already handled the ASCII-only case at the beginning, so
why is this needed?

> +  /* Don't scan forward if CHARPOS is exactly on the previous know
                                                                 ^^^^
"known"

> +DEFUN ("text-index--charpos-to-bytepos", Ftext_index__charpos_to_bytepos,
> +       Stext_index__charpos_to_bytepos, 1, 1, 0,
> +       doc: /* Convert CHARPOS to a bytepos in current buffer.
> +If POSITION is out of range, the value is nil.  */)
> +  (Lisp_Object charpos)
> +{
> +  const EMACS_INT pos = fix_position (charpos);
> +  if (pos < BEG || pos > Z)
> +    return Qnil;
> +  ptrdiff_t bytepos = buf_charpos_to_bytepos (current_buffer, pos);
> +  return make_fixnum (bytepos);
> +}
> +
> +DEFUN ("text-index--bytepos-to-charpos", Ftext_index__bytepos_to_charpos,
> +       Stext_index__bytepos_to_charpos, 1, 1, 0,
> +       doc: /* Convert BYTEPOS to a charpos in current buffer.
> +If BYTEPOS is out of range, the value is nil.  */)
> +  (Lisp_Object bytepos)
> +{
> +  CHECK_FIXNUM (bytepos);
> +  const ptrdiff_t pos_byte = XFIXNUM (bytepos);
> +  if (pos_byte < BEG_BYTE || pos_byte > Z_BYTE)
> +    return Qnil;
> +  ptrdiff_t charpos = buf_bytepos_to_charpos (current_buffer, pos_byte);
> +  return make_fixnum (charpos);
> +}
> +
> +DEFUN ("text-index--charpos-to-bytepos-brute",
> +       Ftext_index__charpos_to_bytepos_brute,
> +       Stext_index__charpos_to_bytepos_brute, 1, 1, 0,
> +       doc: /* Convert CHARPOS to a bytepos in current buffer.
> +Compute with brute force.  */)
> +  (Lisp_Object pos)
> +{
> +  const EMACS_INT to_charpos = fix_position (pos);
> +  if (to_charpos < BEG || to_charpos > Z)
> +    return Qnil;
> +  ptrdiff_t charpos = BEG, bytepos = BEG_BYTE;
> +  while (charpos < to_charpos)
> +    {
> +      ++bytepos;
> +      if (CHAR_HEAD_P (FETCH_BYTE (bytepos)))
> +	++charpos;
> +    }
> +  return make_fixnum (bytepos);
> +}

Why are these functions needed?  We already have byte-to-position and
position-bytes, so at least the first two seem redundant.  When would
be the last two ones useful?

Thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 11:54:34 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 07:54:33 2025
Received: from localhost ([127.0.0.1]:36972 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7v9x-0008Vj-Bk
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 07:54:32 -0400
Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]:47600)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7v9q-0008Ub-L5
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 07:54:25 -0400
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43cf034d4abso8707995e9.3
 for <77924 <at> debbugs.gnu.org>; Thu, 24 Apr 2025 04:54:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745495656; x=1746100456; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=QCUakNQhPXvAVapkHO9bKogz7W6OT66yGWWN4kN9aQ0=;
 b=EfjNjHI3Omlx9sTcTVfATrj6q+T5YXq47DBINCtvrjGJOSSFHY1ycmm5Grxo/aI7GG
 hR01s8f65HttABCFJJFo9grs9rO2SB2yh0+e4fMKZF7ULIl4q0k/f0Y5n1sAAiEGe08e
 Oeuj6GKKC0q/tYHPe20H1bi48bs1cMfaDkF8Ct/sGfKyCtNWA0Rt3PBJ0TiEzPlJwh7z
 wqN0XQ7uB1CiENpkg2cvywa1Ad7hZYOslGKUuZ1r1V3CGPJXTcy1hBB35+kA6/YckHuD
 lS3zQFVWbN1yno6vd0sRgDF8dBaVb0UVVaivoSeKgl1XRs4kdETao6H3PeNQxUwfSufT
 PfCw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745495656; x=1746100456;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=QCUakNQhPXvAVapkHO9bKogz7W6OT66yGWWN4kN9aQ0=;
 b=t2xf4xD1CHL0LL349ajr1dG0IMPVEj+r4Bw4oKbWPlePiJCTxMl1l++z8sU7iXqbTY
 4LFkNv+JMSSxSEw2Zyck6WbbtOdMq6IX7bkpE04oqjG1bJ/sV2as30LRnWDZknSImQlt
 Gdu5XiGC8gUqZ7QBLEX55Ks7sDL86jaAJeqUMi53i7v+a75h2hZ9R55CK5gmIXLcRD5o
 rH6lYIaB5lk82rcP99bAt4MMTknRN4YLXKTxELUUTHPO1jxMgHrqt3xRvbeD+9UvWsIH
 4lo6WQTSx0hW0u0gvjaWa2mYgeP7lUgWy9XRg8fwHzy/ZuInO27Iytrb7UKGiCGGorN4
 izxg==
X-Forwarded-Encrypted: i=1;
 AJvYcCUNChB6FCcSBLBX0pc+HhweWFpQPaM5xVSHBwDLU0TEKUVBHOv7Cj0IhjYHWJh15fa+18R3Vg==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yzj149OXwsk0FCd56NZ2kXKCzMh/hTl+t8Z3tsEaJfb7e727Vbi
 Vn0HwsOzyfnMIWXU5IZX3fS4hHe+q/sUGb7HSDKjodNgA9UxDg86
X-Gm-Gg: ASbGnct2+F2H965IrhaHXqvPyP/xJeZN6DY/m/mCXS0sF230cKo6bMU//m9yANA6fEh
 OBuItSFQ1z4qCiAQ1xtZTut1IgsgHPrOyIynKMZI8kPvSIL/oYTuuCWW/1NilMZ0XptlU7ADDsL
 iQdRiRtEy2nRphU3yrZ2JZiOLcBUhD3Ev1OC3FeNh6jtqVTsjOgTlJtS9fQ18O4W4ERthx3ndcv
 gSRHBnyKYs6pqBKobyZePw1C+y2ZuwaOZBfIT6m3HJG/Bq7wmtTOCyJEQnIpO7nHqqE4+xm69LT
 4cY9hxLiUE2O2wLgSMoqaahlQP5WL6/QwEWTYcM/G3K8exLVU5h69kmdbhabFr8FDZmAq4xpOo9
 88WFA9EvZ5kVAB1YT+9eYz5Nfh6yMCTzMjmiO8fCj1tOa1iLjog==
X-Google-Smtp-Source: AGHT+IHEuv/T/+J+9iZvWWgFIWzC9TQEZ4VTLe5KuhsW4c5EJQ9aaXTXxtmoH+DvGbX6JeDu+sojLQ==
X-Received: by 2002:a05:600c:3b1a:b0:43d:40b0:5b with SMTP id
 5b1f17b1804b1-4409bd76e79mr17665475e9.25.1745495656145; 
 Thu, 24 Apr 2025 04:54:16 -0700 (PDT)
Received: from pro2 (p200300e0b70e65008c33e61e626c43d3.dip0.t-ipconnect.de.
 [2003:e0:b70e:6500:8c33:e61e:626c:43d3])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4409d2ac717sm17776775e9.18.2025.04.24.04.54.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 24 Apr 2025 04:54:15 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Visuwesh <visuweshm@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <874iydainw.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN> <jwvecxiga9d.fsf-monnier+emacs@HIDDEN>
 <86msc6ywyx.fsf@HIDDEN> <m2ikmunmiq.fsf@HIDDEN>
 <86cyd2yp45.fsf@HIDDEN> <m2a586neq2.fsf@HIDDEN>
 <87frhxnbls.fsf@HIDDEN> <m2plh1naa7.fsf@HIDDEN>
 <87cyd1alyl.fsf@HIDDEN> <m2ldrpn6p7.fsf@HIDDEN>
 <874iydainw.fsf@HIDDEN>
Date: Thu, 24 Apr 2025 13:54:14 +0200
Message-ID: <m28qnpn5ax.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: Eli Zaretskii <eliz@HIDDEN>, stefankangas@HIDDEN, yantar92@HIDDEN,
 77924 <at> debbugs.gnu.org, monnier@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Visuwesh <visuweshm@HIDDEN> writes:

>>  - it must be run with GUI emacs -Q because it tries to enlarge-window
>>    which it can't on a terminal, and it assumes certain sizes
>>    ("stipulated sizes not whatever" error)
>
> That's a shame.  AFAIU, the non-ASCII benchmark would be relevant
> outside composition as well.

+1

>>  - the resources directory containing xmenu.c or whatever must be a
>>    sibling to the benchmarks directory
>>
>>  - The pattern matching the test case doesn't seem to always work. I use
>>    ".*scroll.*" but the report at the end shows also "setq" and
>>    "font-lock"???
>
> I am using "elb-scroll" as the pattern and it only picks up scroll.
> (Though the time it takes to run 10 repeats (so 100 loops) is ~30 mins
> here.)

Is that with the smie mode?





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 11:44:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 07:44:16 2025
Received: from localhost ([127.0.0.1]:36898 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7v04-0007jO-1l
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 07:44:16 -0400
Received: from mail-pl1-x643.google.com ([2607:f8b0:4864:20::643]:43494)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <visuweshm@HIDDEN>)
 id 1u7v01-0007ix-Jx
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 07:44:14 -0400
Received: by mail-pl1-x643.google.com with SMTP id
 d9443c01a7336-227914acd20so17220445ad.1
 for <77924 <at> debbugs.gnu.org>; Thu, 24 Apr 2025 04:44:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745495047; x=1746099847; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=2vLKXJndZ0dluf25FUKm0TFt14mkNy+k6GJ12YM8hnU=;
 b=MNcvY2hLnjBEk5Y3H4EzFi8ID6+Dp6CRwx6uQE6tY6LK0CSWSxNz4oEs94VUFPrGXA
 fv3pTHODhB371jEcc+7BHXSzoy0MNA0+CfqHIv+9+0S7YXR5UQhm5XJX6BTQs7Zz+OGk
 eVNDaSwCPaFjxth/WroFPNLJb4TFOBxVCiTJbNtahu0G2sYK335WF4O509sjraj5WuXT
 wgZCMYvxKliAhWVP1qI/WLHR1TzauLnIA13MlHmjUJJfErMEI9XR7mtH7abOJ7XxEtsV
 D/INDH71rn0sWYx5FLHe6Qz7QYA9wMdcnJc7P9CL6RePIvO2gDic+kb9pmn6jIPgU1Ci
 +Xpg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745495047; x=1746099847;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=2vLKXJndZ0dluf25FUKm0TFt14mkNy+k6GJ12YM8hnU=;
 b=u58FLdHuSCDo5WrQYq/GlevBR6PV5pGOJxKduqiNoC0AASFeDcn9Y4Q9uBaObFdQJ/
 8RDNjf8499yFPNO+ULkF4DmPcbpguiYzGWPex1ON5wQmXyLdYdQt7JJTt+Hh/14qyeNt
 EjzrC+ojj3ylpCiVZU8Jn/rVd+neCZ+sPYoSsTQOJDs0WAL4AqkrvtV/WwUk5sBCafQ8
 UslJl4mDFAFnJX/QWqsSSLdHF2JC4rTsb9gJGtm2HHycFeSp2XAb9/Kr1vfJMX3MWegN
 So703uW9XaEVGDs9NvbLlvlS541mhjT6y63CBG5RdHLBYTbuerD6ig34He92zs5SXlPG
 pBrQ==
X-Forwarded-Encrypted: i=1;
 AJvYcCWt+Au739Kuu0f7AUv51X4lgX5SgLJ0l4bt6WJPlKqXX2c/HGbzO/oqw+6KtCaEbJKCfe9Ulg==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Ywad1ppryccov0AlN/5ZuMmx2KfBXqiOTFxWlsg6AXoqEqYR8QK
 YwR8q68ke8mEED4FnMNL3Aav+O85GCNaSgJBOdpooXZp7qGU+YuI
X-Gm-Gg: ASbGnctUsZ/oW5xF79bZQzJKx/93os5N2LpZN6B2MSymVAykIdZTQPKJqm6yENfKpTo
 8y8Jkla7GjoRtnEFJKK9JR31KnMImc2c3ZX99Um6Bf+RE5PtGgxotO/HZ8HT5ZTobTKI4XS5MLD
 N6jWZsJyFt2BRbKK1l29N3/vRWjlG56fH98wUc0t6sAnX7XrguzC6KEJfJTU22W5NCkOErw1MG1
 7i42/In7/jOQY/oJqNfUn/iQimS2UQ28efxlvO04vjnZ1JMTOQdOnAX8TN1JLJVJm3VagUPebuk
 mxyTr5LPScQhALU031sTP7FEL3fm4S7w9ELVJQ==
X-Google-Smtp-Source: AGHT+IHbbELczLW5UDSrTZKE7WgUXeKcxvVXt0/7FpLCgUWRn4A1jJirlMK0R7ffhARkw+kOp6yk9Q==
X-Received: by 2002:a17:902:f54b:b0:215:58be:3349 with SMTP id
 d9443c01a7336-22db4837170mr29289315ad.14.1745495047434; 
 Thu, 24 Apr 2025 04:44:07 -0700 (PDT)
Received: from localhost ([115.240.90.130])
 by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-22db4db99d3sm11075575ad.53.2025.04.24.04.44.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 24 Apr 2025 04:44:07 -0700 (PDT)
From: Visuwesh <visuweshm@HIDDEN>
To: Gerd =?utf-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <m2ldrpn6p7.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN> <jwvecxiga9d.fsf-monnier+emacs@HIDDEN>
 <86msc6ywyx.fsf@HIDDEN> <m2ikmunmiq.fsf@HIDDEN>
 <86cyd2yp45.fsf@HIDDEN> <m2a586neq2.fsf@HIDDEN>
 <87frhxnbls.fsf@HIDDEN> <m2plh1naa7.fsf@HIDDEN>
 <87cyd1alyl.fsf@HIDDEN> <m2ldrpn6p7.fsf@HIDDEN>
Date: Thu, 24 Apr 2025 17:14:03 +0530
Message-ID: <874iydainw.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: Eli Zaretskii <eliz@HIDDEN>, stefankangas@HIDDEN, yantar92@HIDDEN,
 77924 <at> debbugs.gnu.org, monnier@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

[=E0=AE=B5=E0=AE=BF=E0=AE=AF=E0=AE=BE=E0=AE=B4=E0=AE=A9=E0=AF=8D =E0=AE=8F=
=E0=AE=AA=E0=AF=8D=E0=AE=B0=E0=AE=B2=E0=AF=8D 24, 2025] Gerd M=C3=B6llmann =
wrote:

> Visuwesh <visuweshm@HIDDEN> writes:
>
>> [=E0=AE=B5=E0=AE=BF=E0=AE=AF=E0=AE=BE=E0=AE=B4=E0=AE=A9=E0=AF=8D =E0=AE=
=8F=E0=AE=AA=E0=AF=8D=E0=AE=B0=E0=AE=B2=E0=AF=8D 24, 2025] Gerd M=C3=B6llma=
nn wrote:
>>
>>>>> Seems to have something to do with prog-mode, so maybe this depends on
>>>>> the test file being a C file, which might be interesting for Visuwesh.
>>>>
>>>> I commented out (elb-smie-mode) form in the above snippet and that
>>>> showed a backtrace which I could not explain.  Replacing the form with
>>>> (text-mode) didn't help either.  So I'm running the benchmark with that
>>>> form intact, even though the file I'm scrolling through is a text file.
>>>> I am running the benchmark currently, and will report the results once
>>>> they are done.
>>>>
>>>> Debugger entered--Lisp error: (overflow-error)
>>> [...]
>>>
>>> Something went wrong when computing the "err" values, apparently. Maybe
>>> it'll work if you increase the number of runs the NaN goes away?
>>
>> Oddly enough, it throws an error as soon as I start the benchmark.  I
>> don't think even a single iteration in the loop of elb-scroll-entry is
>> complete, let alone a complete run.
>
> Hm, I can't really get that to run really well either, but while trying
> I found that
>
>  - it must be run with GUI emacs -Q because it tries to enlarge-window
>    which it can't on a terminal, and it assumes certain sizes
>    ("stipulated sizes not whatever" error)

That's a shame.  AFAIU, the non-ASCII benchmark would be relevant
outside composition as well.

>  - the resources directory containing xmenu.c or whatever must be a
>    sibling to the benchmarks directory
>
>  - The pattern matching the test case doesn't seem to always work. I use
>    ".*scroll.*" but the report at the end shows also "setq" and
>    "font-lock"???

I am using "elb-scroll" as the pattern and it only picks up scroll.
(Though the time it takes to run 10 repeats (so 100 loops) is ~30 mins
here.)




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 11:37:30 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 07:37:29 2025
Received: from localhost ([127.0.0.1]:36848 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7utT-0006Et-Er
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 07:37:29 -0400
Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]:46291)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7utJ-00069l-TF
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 07:37:23 -0400
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-4394a823036so8773415e9.0
 for <77924 <at> debbugs.gnu.org>; Thu, 24 Apr 2025 04:37:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745494631; x=1746099431; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=4cxOzQiOZBM7/9a1EpurPKXaeYzJjI5pBQBA1FvogNI=;
 b=J+4tSneSQMU8RPHdAFbo47ZXS9q80k3Y1mrz7GoJ+3XoJSkf8xy8vQLqOOsSPLy3OG
 hM3CBPuQ6HsmIqMz+ptNA4EZZOX9jkBiyhL3as4g8C94HbtMCyMkPkCMlZ+xOCx2q1bY
 S388JeMYZQ2OiJqj4pH08XrTdEMplEKw1QtJyFG4gHkr9rX/YpZhZd09+UyHPyf6KySn
 yoAbfYmgW6cXBva8laUFBzjDh3AVGYNA5EoQlicULtXU3u35HReKhIV9zmcRV7QseJzZ
 S9aJIlgvmdeGaPRUYn8WBj4TV5oTtDC1ilbJkAKhQ56dzwbaAl45sMbinwNS7wAKnf5R
 mQ/A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745494631; x=1746099431;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=4cxOzQiOZBM7/9a1EpurPKXaeYzJjI5pBQBA1FvogNI=;
 b=NfuDYhTXewANJvMOujsDRAeP2lPrq3ZGtuBwmSXIeG9rnbFROcSUzoAR3xox7IAAsS
 7iSBgizwkV3NkDa8S9/K+Q/HnXPRCwWoIBU0W3cHBb94cLETq0HbC3G68yOFus9jk6A3
 5G76Isfz6OVno69NRwi6ru7PhiYPcUYkl20Yf+G+JsgdTCwGt5XyDeBTaEX9i11jWuc1
 qe/f5bFnVThL4UdjC6pRuIpiGiTKHsbGSOO/vPFyHbaM614XMud4eN1IYqEpSeWhThBj
 DbnjsmgTQ9vqFKf+wdnvTTLtztG4jL1Gj4b0/HsWMyI4fVMXCXbNH2SMj92MMfLAqfh2
 L7yw==
X-Forwarded-Encrypted: i=1;
 AJvYcCVwU3eGjbW3x8iA81TnnEkaZUATUzyySt++dd/C6nIFwjdJxdkCGgfxfG3uD1luq91segLEug==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yy3Z39fuS+3GEbiteeMuK3ouAEaejNQxspxTZaeHsaAC7Z+dmRS
 UOr5bGTit7v/haqud3uvrb1MYcKdyP2iwidgDIAJ2tiHjnal8S4v
X-Gm-Gg: ASbGncu+SHR2p9KBqas4CkecuOoySvngOaOZQZLGS53V7/CL/nK4lGEuIQoVazRR4Bs
 7DzPkYgUwncAJKqw7jStFdl3x9oh5eXute5yoK8q5rqiB+YvKWYLeN4aTe0Yvr0FdfztxH8MtvF
 +DV7KAR5Yu/JZVAEP9k/Uq+iU5TkvNdhm1o//+pMUlwNMkRiPC84nR8uNTnrsp4TB+uvWC/q9nP
 8bIheUWUB3Z455YEv4Ryvf+WagD2oy07aU76e/ox5Npz0PUvzzGIqp5NrX2mZAMcwq7LKZlsymd
 yQUnPz3SDdfz/SWNqZUwdEXJkMNPE5j0J1qOuZ7HPhhJKo7D4XJ5fOcledLjbysgQLMz1FOMdHw
 PPpg21qBH7X7GGfxdrHUMeATfeTfRLD64BGSAqwrnqCBgmMIWJw==
X-Google-Smtp-Source: AGHT+IEv4IJlPZFhYw0Tk/9Q6QvzSbl+4w+2E3d4tskJkEdLkr5o2eVLKzqC7AG9wNwlBkUxp6/RyA==
X-Received: by 2002:a05:600c:1c8d:b0:43c:ed61:2c26 with SMTP id
 5b1f17b1804b1-4409bd1f46cmr21483725e9.17.1745494631500; 
 Thu, 24 Apr 2025 04:37:11 -0700 (PDT)
Received: from pro2 (p200300e0b70e65008c33e61e626c43d3.dip0.t-ipconnect.de.
 [2003:e0:b70e:6500:8c33:e61e:626c:43d3])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4409d2a1dc3sm17292185e9.13.2025.04.24.04.37.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 24 Apr 2025 04:37:11 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Pip Cet <pipcet@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <m2h62dn6fs.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN> <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN>
 <86plh3ym7l.fsf@HIDDEN> <86o6wnylxf.fsf@HIDDEN>
 <jwvjz7agaos.fsf-monnier+emacs@HIDDEN>
 <0b0d5bf1-bf98-4f89-87d6-de7e8c5dc291@HIDDEN>
 <m25xitorg7.fsf@HIDDEN> <m21pthor3n.fsf@HIDDEN>
 <m2wmb9namq.fsf@HIDDEN> <87jz79q080.fsf@HIDDEN>
 <m2h62dn6fs.fsf@HIDDEN>
Date: Thu, 24 Apr 2025 13:37:10 +0200
Message-ID: <m2cyd1n63d.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: Helmut Eller <eller.helmut@HIDDEN>, Juri Linkov <juri@HIDDEN>,
 martin rudalics <rudalics@HIDDEN>, Stefan Monnier <monnier@HIDDEN>,
 77924 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, stefankangas@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:

> I'll remove these comments.

Show now be on savannah.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 11:30:05 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 07:30:04 2025
Received: from localhost ([127.0.0.1]:36829 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7umF-0003UG-Jf
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 07:30:03 -0400
Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]:43171)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7um7-0003TX-Em
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 07:29:55 -0400
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-43cf680d351so12481535e9.0
 for <77924 <at> debbugs.gnu.org>; Thu, 24 Apr 2025 04:29:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745494185; x=1746098985; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=cNlRiCP5XOBI5gMAOr0Cs0LUAKbP5j8q/XhQOMRrOv4=;
 b=JYVCjl6rDiLcCH4swB6mpFn+EdQFgoVRlveeuLRqWmsJ+q0Tq5W5CFM1zfcIMCW6Jp
 ndZ7CaFxf0yvVS1UdpmFoZ128/YyyPnMXWpdTjyMBC3h1i+Rct4geB4a+GdyGOoQCUIO
 7DpOqCFgpGsc9AmL5NstYceNluITaVKH6eao8Hts5rXNornfgpmZpJhge4/UI368SctI
 IJ1fn8Vbth/WKNOUtI05VTRS1KYOZRlBS/BifAWTh54nXEF7sKWxnEyC1XcB02nxBwsY
 gBif++AHLaOMp2+QGZmygrCmzSgfFde3vGpeJf8vEs/gYKak4cFIJqifhg7pbmxwx80v
 c5Tw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745494185; x=1746098985;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=cNlRiCP5XOBI5gMAOr0Cs0LUAKbP5j8q/XhQOMRrOv4=;
 b=W+ZXmfYKNxFlZOemur5zLTr26yNMFp5BCqHMXzXqguxQX56WYS3+MNl7/MMBdqSzMe
 CedMIHNU0exD7Po2LTG0VDANhs3QwuE8Qncm7wshLaUK3fcOfLSiome5GXDftUnl3RVo
 UVFMc79Kz3BaZmw0rTsXockNBB8mDxVL2yzZ7vz8AqnbYfbWUx5FBIK07xs8aH/ILVJr
 vLz2v3CIPlSPrunSsrrbf3I12bVzrLcbc0yMpnkzEwvacPy9ibFY3fputUW+ewNeDnhT
 5sqdLCB90eV80tr/x5hYVbGOWp/I4UhMaq4nJayml+Xpj0YblrepIS+4FfESk67c8bSB
 MSNg==
X-Forwarded-Encrypted: i=1;
 AJvYcCUVY5hSqtDTK1o5yTKpcYyWQkvyeSnyhyc1p3faNGHtY98Ea1LMwbi/AnZTkj7O1kvwbdNs9g==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YxwgqUkzxKitbV2cCtqxsz4SxGfGaz0x278/RxPI4+Ww06KSTx6
 wUsLu5oD8kqgf5Tn5JVPuJGRNSSaco6NBVo6+CI2XkgOKatMwkIw
X-Gm-Gg: ASbGnctkoQdEW1h736pj8az8oWiyPqQ/gV9vISV4gGPACwCyc1mPMqFWn1d79xcobfI
 mViha3fVY8OrAET83dvpgCEMrp5x6Bz8xeqsd8OWq+Yr/lca+kFmt03c6hC2LB8h5xBMQ8oteFN
 2b2YsLl+jmzyjWU2XKSciV3Boxl2AF2A2JcNyEBo9BK+jF7z6W70z2qBIU5jHTYjN1CJJVadd8R
 EQlMymcFebo2yHC/n09PADiO+kMGi31uR///VmqNKEOpOVDjLEyGYZsbUAX1ZwKA2W4bad8mm7A
 fmEhqFIOUdPB8/FOJbXK9YfnCsiNebH4l12Q9nvQ+Pc/U7JifxKm28+BOMR/lnyOICvaLKUxxtn
 dap+5QKNHUibX1NaInWNRsHM16pe2w3TcMJee1hdySzzEunTtQA==
X-Google-Smtp-Source: AGHT+IFYuv7eyxY6dxTGGgoV3l9g784RF1jYmcILF/pOFECBVYSxHor1ahJ8YW7af7OpAjlabD0XPg==
X-Received: by 2002:a7b:cb58:0:b0:43d:174:2668 with SMTP id
 5b1f17b1804b1-4409c370359mr16012905e9.0.1745494184769; 
 Thu, 24 Apr 2025 04:29:44 -0700 (PDT)
Received: from pro2 (p200300e0b70e65008c33e61e626c43d3.dip0.t-ipconnect.de.
 [2003:e0:b70e:6500:8c33:e61e:626c:43d3])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4409d2a2e43sm17629685e9.10.2025.04.24.04.29.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 24 Apr 2025 04:29:44 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Pip Cet <pipcet@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <87jz79q080.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN> <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN>
 <86plh3ym7l.fsf@HIDDEN> <86o6wnylxf.fsf@HIDDEN>
 <jwvjz7agaos.fsf-monnier+emacs@HIDDEN>
 <0b0d5bf1-bf98-4f89-87d6-de7e8c5dc291@HIDDEN>
 <m25xitorg7.fsf@HIDDEN> <m21pthor3n.fsf@HIDDEN>
 <m2wmb9namq.fsf@HIDDEN> <87jz79q080.fsf@HIDDEN>
Date: Thu, 24 Apr 2025 13:29:43 +0200
Message-ID: <m2h62dn6fs.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: Helmut Eller <eller.helmut@HIDDEN>, Juri Linkov <juri@HIDDEN>,
 martin rudalics <rudalics@HIDDEN>, Stefan Monnier <monnier@HIDDEN>,
 77924 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, stefankangas@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Pip Cet <pipcet@HIDDEN> writes:

> Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:
>
>> Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:
>>
>>> So, one could, theoretically store the charpos in a field of a marker
>>> when "unchaining" it. Ugly, but doable.
>>
>> And one could do something practically, which I now pushed to savannah.
>
> Can you explain how that works in the non-indirect buffer case?=20=20

Yes, it doesn't :-).

> AFAICT, we call marker_vector_reset but not marker_vector_remove in
> that case, and there is no code in marker_vector_reset to remember the
> last charpos. And the comment in marker_vector_reset sounds like it's
> not called at all in the IGC case?

You mean this:

  /* The old GC contains at least one assertion that unchaining markers
     in kill-buffer resets the markers' buffers.  IGC does not do this,
     can't do this, and does not need it.  */

What I meant there is what I described in my mistaken mail before, that
it can't do anything with the markers. But if they are dead, who cares.
CLassic thinko.

I'll remove these comments.

Thanks!




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 11:24:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 07:24:26 2025
Received: from localhost ([127.0.0.1]:36819 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7ugn-00030e-Re
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 07:24:26 -0400
Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]:52552)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7uge-0002zN-9L
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 07:24:17 -0400
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-39c0e0bc733so774500f8f.1
 for <77924 <at> debbugs.gnu.org>; Thu, 24 Apr 2025 04:24:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745493846; x=1746098646; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=TyXDSQAcMWcDu2pfgnctucYXTO8uRt2jS/u6sFpepro=;
 b=GS/RnLhamgvqcYT+E/WPV3BtKSTmE4A+Q5VWnZI10+De+ngIusOCwHgsXtMlpy6Ypl
 nsTWDWehkUG7RSRSLbM48KFyh6ANP7krw0vZD6Ex5fYO0vTEep8GWmLUJDQcl18bk6Ml
 u4qV/oDtX0IoFdUb0zHHpFulRiN+2SusY3jPk8ugMH4mwjn1vS2z8pK1aEMC7CdQekU/
 CCDsdz0h7grV2zU3Ve2ZFKlPXJgyZs0NwHTJC0D5ZUSLP3rGL7HIvu8pP969BTpawdD8
 yFuBhJ5Z95aDTCXwY+biapY5PEBdkyQNp31aeYYVxHKe6OJqEpUlbNQR2uOgAjnwmP5O
 GJjg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745493846; x=1746098646;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=TyXDSQAcMWcDu2pfgnctucYXTO8uRt2jS/u6sFpepro=;
 b=xOnYiatwOkWyq1neTDiybAg9OPlmrBXOh8fF4sUKYZBoxxa8aiXdflW6a65O1EvAHI
 yuU+gJdSQgSGWKGZFPlM3QlBfTjUgjYBEAHJyBmCl/4jtl3fjQjV1oEyBfCPpbGks7GF
 QmzhXSAXkd8hf0CYhV0i1AV7LqMZQrCiofKSbdS+sxkPRSYyZLu2K3kbPW7Aa+w+eZ1e
 bQOsCHui9bumHUv1pP3UpxPM3sMF3yE85EktKRd6QTB6j6SnulMkmddSlFl7mhD8Lg4q
 Od6WVOd4QwMTUmsHsnXZwEfp063UjK1eUQeQHyERKiiNiY9k0i+Hi45L/sfTrhZZllR+
 hNcw==
X-Forwarded-Encrypted: i=1;
 AJvYcCXKTCSGpNaQp7LWTu1/MEDXAgHHmiUxKkUgWCkpEcXV2Y3y6w/BvOCi2RBCO/9ACbkdmXYp7Q==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YzrAHNzM0ZvPc6Vt5mqtw/jqgHwJjll5CvPN1UPtAILCTN9fRta
 BptWdZflj8U3tPg+JKW13CvciRXv2m/pl3aRUBV0/r43FOxsnWrW
X-Gm-Gg: ASbGncuoUReRBjwnlfzM4beso6QO6fv2EC7OMOpxHGMryEjDiRCltN+mdBU7n2QyvM3
 DDbEcK1yl8KM9q2AWJt4nv6k2n3zb2vG+z/9YdPRalKpWhIKhObENc6Dw9HE0G3z29RJwL2+ESt
 vVRPsP3IAaICIOMzCgZ8RPjKbBPnZsQyQhrxIVS7brkHfwESCDvEyNNJk4NMr4UbYK2pK45Eo5d
 3KTrkFW/Um/AS+alK+s1eVMxvg9nP4VOClj9wZtdFdYLr0rcnd6P6+cNQYXWDI8Xqr0B5wfm62v
 GrsKdLV+Ii/Y7U5CRB5/qD3s+uFjXreTh1+aEcPUP77p7JwKn6BvFRrRf7P4R/jWv3oB69DmF0k
 JIycUDKH8XOzO/1bspPn5tR/7HYPslmi1suwNZYrX8G+nvkY7gg==
X-Google-Smtp-Source: AGHT+IGnDWjnc+JY/e8FpYxatx++zdArLxgorL0XDpUyAlykB6ujEX0Dc1VaymPoAXAQ8XLmnyjWtw==
X-Received: by 2002:a05:6000:4310:b0:39e:e75b:5cc with SMTP id
 ffacd0b85a97d-3a06cf5490cmr1941012f8f.16.1745493845591; 
 Thu, 24 Apr 2025 04:24:05 -0700 (PDT)
Received: from pro2 (p200300e0b70e65008c33e61e626c43d3.dip0.t-ipconnect.de.
 [2003:e0:b70e:6500:8c33:e61e:626c:43d3])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3a06d54c313sm1784250f8f.92.2025.04.24.04.24.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 24 Apr 2025 04:24:05 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Visuwesh <visuweshm@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <87cyd1alyl.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN> <jwvecxiga9d.fsf-monnier+emacs@HIDDEN>
 <86msc6ywyx.fsf@HIDDEN> <m2ikmunmiq.fsf@HIDDEN>
 <86cyd2yp45.fsf@HIDDEN> <m2a586neq2.fsf@HIDDEN>
 <87frhxnbls.fsf@HIDDEN> <m2plh1naa7.fsf@HIDDEN>
 <87cyd1alyl.fsf@HIDDEN>
Date: Thu, 24 Apr 2025 13:24:04 +0200
Message-ID: <m2ldrpn6p7.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: Eli Zaretskii <eliz@HIDDEN>, stefankangas@HIDDEN, yantar92@HIDDEN,
 77924 <at> debbugs.gnu.org, monnier@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Visuwesh <visuweshm@HIDDEN> writes:

> [=E0=AE=B5=E0=AE=BF=E0=AE=AF=E0=AE=BE=E0=AE=B4=E0=AE=A9=E0=AF=8D =E0=AE=
=8F=E0=AE=AA=E0=AF=8D=E0=AE=B0=E0=AE=B2=E0=AF=8D 24, 2025] Gerd M=C3=B6llma=
nn wrote:
>
>>>> Seems to have something to do with prog-mode, so maybe this depends on
>>>> the test file being a C file, which might be interesting for Visuwesh.
>>>
>>> I commented out (elb-smie-mode) form in the above snippet and that
>>> showed a backtrace which I could not explain.  Replacing the form with
>>> (text-mode) didn't help either.  So I'm running the benchmark with that
>>> form intact, even though the file I'm scrolling through is a text file.
>>> I am running the benchmark currently, and will report the results once
>>> they are done.
>>>
>>> Debugger entered--Lisp error: (overflow-error)
>>>   round(-0.0e+NaN)
>>>   (let ((squares (apply #'+ (mapcar #'(lambda (x) (expt x 2)) errs))))
>>> (round (/ (* 100 (sqrt squares)) elapsed)))
>>>   (format "|%2d%%\n" (let ((squares (apply #'+ (mapcar #'(lambda ...
>>> ...) errs)))) (round (/ (* 100 (sqrt squares)) elapsed))))
>>>   (insert (format "|%2d%%\n" (let ((squares (apply #'+ (mapcar #'...
>>> errs)))) (round (/ (* 100 (sqrt squares)) elapsed)))))
>>>   (let* ((--cl-var-- tests) (test nil) (l nil) (test-elapsed nil)
>>> (test-gcs nil) (test-gc-elapsed nil) (test-err nil) (elapsed 0) (gcs
>>> 0) (gc-elapsed 0) (errs nil) (--cl-var-- t)) (while (consp --cl-var--)
>>> (setq test (car --cl-var--)) (setq l (gethash test res)) (setq
>>> test-elapsed (let* ((--cl-var-- l) (x nil) (--cl-var-- 0)) (while
>>> (consp --cl-var--) (setq x (car --cl-var--)) (setq --cl-var-- (+
>>> --cl-var-- (car x))) (setq --cl-var-- (cdr --cl-var--))) --cl-var--))
>>> (setq test-gcs (let* ((--cl-var-- l) (x nil) (--cl-var-- 0)) (while
>>> (consp --cl-var--) (setq x (car --cl-var--)) (setq --cl-var-- (+
>>> --cl-var-- (car ...))) (setq --cl-var-- (cdr --cl-var--)))
>>> --cl-var--)) (setq test-gc-elapsed (let* ((--cl-var-- l) (x nil)
>>> (--cl-var-- 0)) (while (consp --cl-var--) (setq x (car --cl-var--))
>>> (setq --cl-var-- (+ --cl-var-- (car ...))) (setq --cl-var-- (cdr
>>> --cl-var--))) --cl-var--)) (setq test-err (if (cdr l)
>>> (elb-std-deviation (mapcar #'car l)))) (insert (apply #'format
>>
>> Something went wrong when computing the "err" values, apparently. Maybe
>> it'll work if you increase the number of runs the NaN goes away?
>
> Oddly enough, it throws an error as soon as I start the benchmark.  I
> don't think even a single iteration in the loop of elb-scroll-entry is
> complete, let alone a complete run.

Hm, I can't really get that to run really well either, but while trying
I found that

 - it must be run with GUI emacs -Q because it tries to enlarge-window
   which it can't on a terminal, and it assumes certain sizes
   ("stipulated sizes not whatever" error)

 - the resources directory containing xmenu.c or whatever must be a
   sibling to the benchmarks directory

 - The pattern matching the test case doesn't seem to always work. I use
   ".*scroll.*" but the report at the end shows also "setq" and
   "font-lock"???
=20=20




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 11:16:18 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 07:16:17 2025
Received: from localhost ([127.0.0.1]:36811 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7uYw-0002Ku-6I
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 07:16:17 -0400
Received: from mail-4316.protonmail.ch ([185.70.43.16]:59251)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <pipcet@HIDDEN>)
 id 1u7uYm-0002JZ-5O
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 07:16:08 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
 s=protonmail3; t=1745493356; x=1745752556;
 bh=PvCVt5u7WyUvGbQ7vaBCaNXVQJSouDrqQkQ0cbFKRQU=;
 h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
 Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post;
 b=pB6gmAMRvUvc7w3O6va6xKgS58ihCyhlM34j3KmPs/ft0U60KMgHmJEbp1tNNdpxg
 hs6Os8M4kyz+7zk284evPQs1kgKAn4YF8J/PzTJJ2kvGZHrJoxzOIrqNl9X3M2F5iR
 a0nFH1NLQVKaCoksh81e+KiWMBGWGoPS63L5GEYrrJejETfm/+zJZevtk2Kx/PzhaS
 G1e9FWh2vEHvO10eGyhV1BTv9F8Zwpo7kt19C+r7SNzOBnGIX0V1ncbkOP0E1NeYb4
 GS//fA4t/nvrKARa/He53cClJj7Z6T1t9znvmFEj9InyY1XGYEnu8xlKklbHzRaFNw
 CQsMEimLWr4XQ==
Date: Thu, 24 Apr 2025 11:15:50 +0000
To: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
From: Pip Cet <pipcet@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
Message-ID: <87jz79q080.fsf@HIDDEN>
In-Reply-To: <m2wmb9namq.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN> <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN>
 <86plh3ym7l.fsf@HIDDEN> <86o6wnylxf.fsf@HIDDEN>
 <jwvjz7agaos.fsf-monnier+emacs@HIDDEN>
 <0b0d5bf1-bf98-4f89-87d6-de7e8c5dc291@HIDDEN> <m25xitorg7.fsf@HIDDEN>
 <m21pthor3n.fsf@HIDDEN> <m2wmb9namq.fsf@HIDDEN>
Feedback-ID: 112775352:user:proton
X-Pm-Message-ID: 20e9abb88a09993a532565af2629ed9312a8f34f
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: Helmut Eller <eller.helmut@HIDDEN>, Juri Linkov <juri@HIDDEN>,
 martin rudalics <rudalics@HIDDEN>, Stefan Monnier <monnier@HIDDEN>,
 77924 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, stefankangas@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:

> Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:
>
>> So, one could, theoretically store the charpos in a field of a marker
>> when "unchaining" it. Ugly, but doable.
>
> And one could do something practically, which I now pushed to savannah.

Can you explain how that works in the non-indirect buffer case?  AFAICT,
we call marker_vector_reset but not marker_vector_remove in that case,
and there is no code in marker_vector_reset to remember the last
charpos.  And the comment in marker_vector_reset sounds like it's not
called at all in the IGC case?

Pip





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 10:33:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 06:33:12 2025
Received: from localhost ([127.0.0.1]:36614 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7ttE-0006do-J0
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 06:33:12 -0400
Received: from mail-pf1-x441.google.com ([2607:f8b0:4864:20::441]:44437)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <visuweshm@HIDDEN>)
 id 1u7tt7-0006cc-Ir
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 06:33:05 -0400
Received: by mail-pf1-x441.google.com with SMTP id
 d2e1a72fcca58-736b350a22cso611390b3a.1
 for <77924 <at> debbugs.gnu.org>; Thu, 24 Apr 2025 03:33:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745490775; x=1746095575; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=PFWSNAAUnyUb1IFjv6bZyc8g7vi3AQWGyjte3qjWp/U=;
 b=IhQZLeUHmcQWOrap+mfomUZaoqU/eZcKbYGltDlal4E4C7v3nnVLUUKlHr01d/iqxI
 CvkxD8M3FjTC0TU7NjsMDhbVXO7Kwus+da9HJIeCpXDXyyTvRDTlj7SExsEIMeh0xNM4
 9txvqZNDU4t26s/xtSWNgHxlylqACvfAZCu3HX5sqFichCka3GVtNEGFFQF/1dmCzhwG
 aUHHLSPoT1AE8mwOG/SOlBV/mzQGIYwTp73GR9yvRxENpwYFeIRvirUMBk/mfp4o3MKj
 2tEzE6O62EEDbr3TExFwa9EfpyyNUFnldBNuZwR19nyx0z5o6MDUjMUByMLBkeFzxCpU
 i1cg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745490775; x=1746095575;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=PFWSNAAUnyUb1IFjv6bZyc8g7vi3AQWGyjte3qjWp/U=;
 b=IgH+ITLXSPn7jKEGrb6/NZXj1FE6K/rT352W8y8zTOOjBAS6zcLjw6Sid5tKC6MP7X
 6Z20A0kpaJG8KgL/EhaiUaZxj92wtZ3b4TAieazVMBvsaIqrECOVsE61N4lMzzZlf2cS
 PWclVDiLoIiqwA/X6DluDoWpYhxLWA/Fee+E51LGq3wSgaJx9TEouCPyvDvsjN4Avnxv
 +BZVnbfiV6V3wtAshba/VuVRrlgibQrix4s+kK1SUsvz8/JoK7oMvF/bOLMY2Ag/Q6QS
 cmsbaO+0OAg2WM6Rjc8GxPPJrIlCT8ydh4VtsZKIaULmZ+lQ/eGug63UFwjW0mff1LdR
 U4sg==
X-Forwarded-Encrypted: i=1;
 AJvYcCVurZrLZcgJOmyL0JbbmS2yPYeQtwgYaC0Lpw3zDu1YGTPhjVw4e7ia15LK+s5DlOkjowqeEw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YxbQbhiDnPWmc3+FGBXF1vXGxAxe2GbzU25+XMGHTQpE4N0jQP+
 0PyGbpUj9sNgDrtp4rWxRPytqqhLZXRkqdW3dNoz+8s5u46NNBzJ
X-Gm-Gg: ASbGncuJyTJ7LoXazMZ/kGgO96LM7d09w1XF8sGw3GdoMJ4KBKJHsLYFL1GDhdE2agg
 SFvflro1pAIZaz0z+LdgdSmWelB7CnxeK31P7DgLJ1fjCOC24eqp/S/JCPHtd+3v7HdH7V6bcph
 FNVsenYslZvexHzssenS4Ya39BdiSveHgJgsnlIoWUh2bZOYdmSqQknwCiy/OVjvlt/wFu0cvBk
 gqn4tCsACGGlqGw8Gd7XWJ60l0u3y2WY51ABExK9ayMFTdN3IHF93y01wKYBEpR10L8ElEHXjuB
 GWGNEDy4AyvTtBBMzleji1o8t9bETFqS9uzcGVYZow==
X-Google-Smtp-Source: AGHT+IHoxvSgnTaXo42OtKc+u2Mn/ah6qjqStcfeNbIzdZkq9RiekgFc2VVhfqwdLQLqhbAHsLF4Hw==
X-Received: by 2002:a05:6a20:d706:b0:1f5:77bd:ecbc with SMTP id
 adf61e73a8af0-20444e9b3a8mr2768233637.16.1745490775007; 
 Thu, 24 Apr 2025 03:32:55 -0700 (PDT)
Received: from localhost ([1.7.159.71]) by smtp.gmail.com with UTF8SMTPSA id
 d2e1a72fcca58-73e2593f4cfsm1047474b3a.38.2025.04.24.03.32.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 24 Apr 2025 03:32:54 -0700 (PDT)
From: Visuwesh <visuweshm@HIDDEN>
To: Gerd =?utf-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <m2plh1naa7.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN> <jwvecxiga9d.fsf-monnier+emacs@HIDDEN>
 <86msc6ywyx.fsf@HIDDEN> <m2ikmunmiq.fsf@HIDDEN>
 <86cyd2yp45.fsf@HIDDEN> <m2a586neq2.fsf@HIDDEN>
 <87frhxnbls.fsf@HIDDEN> <m2plh1naa7.fsf@HIDDEN>
Date: Thu, 24 Apr 2025 16:02:50 +0530
Message-ID: <87cyd1alyl.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: Eli Zaretskii <eliz@HIDDEN>, stefankangas@HIDDEN, yantar92@HIDDEN,
 77924 <at> debbugs.gnu.org, monnier@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

[=E0=AE=B5=E0=AE=BF=E0=AE=AF=E0=AE=BE=E0=AE=B4=E0=AE=A9=E0=AF=8D =E0=AE=8F=
=E0=AE=AA=E0=AF=8D=E0=AE=B0=E0=AE=B2=E0=AF=8D 24, 2025] Gerd M=C3=B6llmann =
wrote:

>>> Seems to have something to do with prog-mode, so maybe this depends on
>>> the test file being a C file, which might be interesting for Visuwesh.
>>
>> I commented out (elb-smie-mode) form in the above snippet and that
>> showed a backtrace which I could not explain.  Replacing the form with
>> (text-mode) didn't help either.  So I'm running the benchmark with that
>> form intact, even though the file I'm scrolling through is a text file.
>> I am running the benchmark currently, and will report the results once
>> they are done.
>>
>> Debugger entered--Lisp error: (overflow-error)
>>   round(-0.0e+NaN)
>>   (let ((squares (apply #'+ (mapcar #'(lambda (x) (expt x 2)) errs))))
>> (round (/ (* 100 (sqrt squares)) elapsed)))
>>   (format "|%2d%%\n" (let ((squares (apply #'+ (mapcar #'(lambda ...
>> ...) errs)))) (round (/ (* 100 (sqrt squares)) elapsed))))
>>   (insert (format "|%2d%%\n" (let ((squares (apply #'+ (mapcar #'...
>> errs)))) (round (/ (* 100 (sqrt squares)) elapsed)))))
>>   (let* ((--cl-var-- tests) (test nil) (l nil) (test-elapsed nil)
>> (test-gcs nil) (test-gc-elapsed nil) (test-err nil) (elapsed 0) (gcs
>> 0) (gc-elapsed 0) (errs nil) (--cl-var-- t)) (while (consp --cl-var--)
>> (setq test (car --cl-var--)) (setq l (gethash test res)) (setq
>> test-elapsed (let* ((--cl-var-- l) (x nil) (--cl-var-- 0)) (while
>> (consp --cl-var--) (setq x (car --cl-var--)) (setq --cl-var-- (+
>> --cl-var-- (car x))) (setq --cl-var-- (cdr --cl-var--))) --cl-var--))
>> (setq test-gcs (let* ((--cl-var-- l) (x nil) (--cl-var-- 0)) (while
>> (consp --cl-var--) (setq x (car --cl-var--)) (setq --cl-var-- (+
>> --cl-var-- (car ...))) (setq --cl-var-- (cdr --cl-var--)))
>> --cl-var--)) (setq test-gc-elapsed (let* ((--cl-var-- l) (x nil)
>> (--cl-var-- 0)) (while (consp --cl-var--) (setq x (car --cl-var--))
>> (setq --cl-var-- (+ --cl-var-- (car ...))) (setq --cl-var-- (cdr
>> --cl-var--))) --cl-var--)) (setq test-err (if (cdr l)
>> (elb-std-deviation (mapcar #'car l)))) (insert (apply #'format
>
> Something went wrong when computing the "err" values, apparently. Maybe
> it'll work if you increase the number of runs the NaN goes away?

Oddly enough, it throws an error as soon as I start the benchmark.  I
don't think even a single iteration in the loop of elb-scroll-entry is
complete, let alone a complete run.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 10:06:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 06:06:57 2025
Received: from localhost ([127.0.0.1]:36442 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7tTr-00043x-2i
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 06:06:57 -0400
Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]:47495)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7tTk-000421-Hl
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 06:06:51 -0400
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-3913958ebf2so637209f8f.3
 for <77924 <at> debbugs.gnu.org>; Thu, 24 Apr 2025 03:06:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745489202; x=1746094002; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=nMeeg034WgnHukDiAdYxWCJ8y7BDBhpffWyeJZmPpQA=;
 b=SO1KkcqJrPFd9AFevfgVoeqSQuvoaLjyRbvRHkGQ/iK+SOEsKi5UGA7hi3etpgPUTW
 bm4FWvfbAxfYdFPoj9TTxaBfi5QEqFC/QRQ2w9mXT2VOsk91iZ7nEZntzdLeY6j1WUEJ
 UMHukIyPE5S8AzB/JBBrkABOOl4dNC6s38NxSt1SfEoyMAerKvVUsg1cjMgtbdtSotAe
 HIcOK+ei58Ueow0nFhstTgjdXRjDhKcPtNE7t9Z7OzN1Aeon6Q31dCBmyLAbCCBAZn4U
 TZfWGUtxzWyRNVTfdaMnEcTD5h4D9ExI0srsZAANZqXIuLo4MtlpDYm3/v/FfDR/uxbs
 ytBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745489202; x=1746094002;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=nMeeg034WgnHukDiAdYxWCJ8y7BDBhpffWyeJZmPpQA=;
 b=G8K9gvi+VkgVSn4uTdHuSyM8gmz1BrYV3WloEn3xqLiI+Fod7rAUxCTo5O9oDH+hw+
 sj5w2Uql/cCiW9+zotcZYHsha+285Dlnk90ChynAZxkfskdFUNbGRDXJd0/t4s5fSm6n
 f509sbTqDJpczNTyYB9JWDrBDttzktPSi+0M3YdWh6tSojNDlRf5jKG5sTyt3zQOkuZa
 T6W3ZIuxV1Seb3ShFeuSt8ds5VPg05MK35YRBDmPaGf+2awvKQIIppsnfqN7RAsbqt1Q
 CemYzxcTA70XElrwKZbu9csy/u3x8JbietIYA20uBnAWtYq2UJvcWHyIVz6DnbPneRrC
 luLg==
X-Forwarded-Encrypted: i=1;
 AJvYcCUGEOvNiOgOIzVPG8foofDpRFqse2Bv3XP1n2Qv7KP3z8o57QZYzHA3PDqgVyhGBfrmHgjklA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YyvFhzRGEptg8AqCoODnIky5d54ZMENUYrDtLGnRJbdpaC0sYoA
 IaoaFuIYJWsa2UKz8efdbgCSK59TpgnPbLGst8vq2VUEUbvhzVC9SiBXGNGG
X-Gm-Gg: ASbGncs9ux5K/AgnCMtM2SAMqkO3C30ulQuu7EOOxWdaZQAH7/UT7jAf8xJMSbwMi1l
 bJAsqZhTj9gPUdbKJiHok0qMP1mAtGysiP4hpi1yV0JTGHfTZSblq2hUQ/xS49ybjmXrzcZQBi8
 lP0kRBKo04ao8PXOGa/WAhYyGb8pA5npWvFCeTNtpf4DmLOnO5inyuwVSkB7WcYhjHFTbchg0Zz
 DAj+0X+sz89akwA+mvqxfgK5+hmyA8vqwARzXVR5yuVtPCMGf34OAN18+t4ADt9cMZfeIk5Q1CM
 CFkkLIWjyzFgwcBVThPnlLXzVhloPC0Q5phYFt9WtLht5wtoRlLJq4JVHXWRiMASHrw1P2awU4y
 2SxWGfNEX5K1tVwAOoZ1Pj2kiOQDtpCgL76f8BgjdjApvRxNa2A==
X-Google-Smtp-Source: AGHT+IGtvPMavSikn+/n6Nw3pTBiDc3t34Mpct0/aUfbCpvl/H5xIlYiDvaw/JK2XqO/CAYmf1N5JQ==
X-Received: by 2002:a5d:6da7:0:b0:39c:f0d:9146 with SMTP id
 ffacd0b85a97d-3a06cfa5b6cmr1673364f8f.45.1745489201972; 
 Thu, 24 Apr 2025 03:06:41 -0700 (PDT)
Received: from pro2 (p200300e0b70e65008c33e61e626c43d3.dip0.t-ipconnect.de.
 [2003:e0:b70e:6500:8c33:e61e:626c:43d3])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3a06d532551sm1584678f8f.65.2025.04.24.03.06.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 24 Apr 2025 03:06:41 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Visuwesh <visuweshm@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <87frhxnbls.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN> <jwvecxiga9d.fsf-monnier+emacs@HIDDEN>
 <86msc6ywyx.fsf@HIDDEN> <m2ikmunmiq.fsf@HIDDEN>
 <86cyd2yp45.fsf@HIDDEN> <m2a586neq2.fsf@HIDDEN>
 <87frhxnbls.fsf@HIDDEN>
Date: Thu, 24 Apr 2025 12:06:40 +0200
Message-ID: <m2plh1naa7.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: Eli Zaretskii <eliz@HIDDEN>, stefankangas@HIDDEN, yantar92@HIDDEN,
 77924 <at> debbugs.gnu.org, monnier@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Visuwesh <visuweshm@HIDDEN> writes:

> [=E0=AE=B5=E0=AE=BF=E0=AE=AF=E0=AE=BE=E0=AE=B4=E0=AE=A9=E0=AF=8D =E0=AE=
=8F=E0=AE=AA=E0=AF=8D=E0=AE=B0=E0=AE=B2=E0=AF=8D 24, 2025] Gerd M=C3=B6llma=
nn wrote:
>
>> looks similar, but I don't know what elb-smie-mode does.
>
> elb-smie-mode's is Stefan's SMIE demo as a C major-mode AFAIU.

Thanks, but I have no idea what that does.

>
>> Seems to have something to do with prog-mode, so maybe this depends on
>> the test file being a C file, which might be interesting for Visuwesh.
>
> I commented out (elb-smie-mode) form in the above snippet and that
> showed a backtrace which I could not explain.  Replacing the form with
> (text-mode) didn't help either.  So I'm running the benchmark with that
> form intact, even though the file I'm scrolling through is a text file.
> I am running the benchmark currently, and will report the results once
> they are done.
>
> Debugger entered--Lisp error: (overflow-error)
>   round(-0.0e+NaN)
>   (let ((squares (apply #'+ (mapcar #'(lambda (x) (expt x 2)) errs))))
> (round (/ (* 100 (sqrt squares)) elapsed)))
>   (format "|%2d%%\n" (let ((squares (apply #'+ (mapcar #'(lambda ...
> ...) errs)))) (round (/ (* 100 (sqrt squares)) elapsed))))
>   (insert (format "|%2d%%\n" (let ((squares (apply #'+ (mapcar #'...
> errs)))) (round (/ (* 100 (sqrt squares)) elapsed)))))
>   (let* ((--cl-var-- tests) (test nil) (l nil) (test-elapsed nil)
> (test-gcs nil) (test-gc-elapsed nil) (test-err nil) (elapsed 0) (gcs
> 0) (gc-elapsed 0) (errs nil) (--cl-var-- t)) (while (consp --cl-var--)
> (setq test (car --cl-var--)) (setq l (gethash test res)) (setq
> test-elapsed (let* ((--cl-var-- l) (x nil) (--cl-var-- 0)) (while
> (consp --cl-var--) (setq x (car --cl-var--)) (setq --cl-var-- (+
> --cl-var-- (car x))) (setq --cl-var-- (cdr --cl-var--))) --cl-var--))
> (setq test-gcs (let* ((--cl-var-- l) (x nil) (--cl-var-- 0)) (while
> (consp --cl-var--) (setq x (car --cl-var--)) (setq --cl-var-- (+
> --cl-var-- (car ...))) (setq --cl-var-- (cdr --cl-var--)))
> --cl-var--)) (setq test-gc-elapsed (let* ((--cl-var-- l) (x nil)
> (--cl-var-- 0)) (while (consp --cl-var--) (setq x (car --cl-var--))
> (setq --cl-var-- (+ --cl-var-- (car ...))) (setq --cl-var-- (cdr
> --cl-var--))) --cl-var--)) (setq test-err (if (cdr l)
> (elb-std-deviation (mapcar #'car l)))) (insert (apply #'format

Something went wrong when computing the "err" values, apparently. Maybe
it'll work if you increase the number of runs the NaN goes away?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 09:59:20 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 05:59:19 2025
Received: from localhost ([127.0.0.1]:36398 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7tMV-0003K6-LI
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 05:59:19 -0400
Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]:58611)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7tMT-0003Jd-1v
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 05:59:17 -0400
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-39c1ef4acf2so576864f8f.0
 for <77924 <at> debbugs.gnu.org>; Thu, 24 Apr 2025 02:59:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745488751; x=1746093551; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=eY3DdER2f+MvFoYNa3MbluouUpFYhcLzHMExU+jMqu8=;
 b=DL6noyhbSd4T/gZq8ISH8folFOfodLxzDTRjx1GeFIKMQwPWzwblg5EkqEzuTX7Gni
 mpPmMlX14H+/ypumljEvbjPTH5d33bJJ+FCcYxoMphiq/jWUVz1yqH7urmhRpEyd4MSZ
 nP367RqZJA9CuYV+UE1fJkhSdzBVrcr2AP99GoD8EAyj8tUPrxvTLEHxeDvNLkG8+uU0
 LWOOmzT3fwtIC0nqjNi0H2sFVWqD5SbugIxKCChoi6xKhgtoI5LK+wTr8uIRBuxCUEFh
 5roE9CM3guTpZtjQU55D0kZQXojxzkDXRpqczkCtfjHxVz+xBG8LItEXQPXYFljPDOzf
 eCKg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745488751; x=1746093551;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=eY3DdER2f+MvFoYNa3MbluouUpFYhcLzHMExU+jMqu8=;
 b=UoFboSYVJrNv/HcLymAO1mIYO4Xz8awLS2uXJBBBG+JlTDvmYkTMwW5mQ+duPspmDj
 nFWrWygo7zUMO8RN3WjElABVxEFvYxJGzmx2N9P2JNUyRNGd3ocb/se98vFIaPkZZxwn
 PJcFZ0drCe6hhybYO8lYFe732KHEJklS9l35fP89ALFd2Nve0unEdWN8LWk9JaEjLb+s
 GZqtIY4+ppM0QoHWbv2G0RF9s6WMUB0GilN+leiS3Sw5ktbzrmgqcfevi/SiEsdDVniE
 Uh6FPuxcl9EYyM8fZZzw2ITJG8tqALQSB1Rl+D4WCG0m6HpAYhMYbfR5fGH2zleQtYt1
 fFYA==
X-Forwarded-Encrypted: i=1;
 AJvYcCUgwKqSFwYk4PBj3sRj/qDSOIce6hLU8gid/5+9DfJ5Ri4StMkwdKyqSZjtlw0uyRCZEExWBw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YziU7PUWeWeom5WT4IaHUon1RGlH1WgfwAM4Tx+f7MOZjK3T9Kq
 KQ5zL+5NiIaDkb5kP1sQwhXk7VG5jOx6l/rBcUrq2A5pqh1Lb5sh
X-Gm-Gg: ASbGncuuDiC2xfXPnvTS0DJuDowuxPwN9UsXcs1QRJRobyVsPdgvnnvnchXtBuL4qdV
 QmmzW4z+cyUBQyEUfQJnQLLOO85ZxBqx5lv8ew0lu0GncYT5nwJj0N6hixdaExgsjYO/Ux6+61w
 1ObUfVLPEuTQ9pZn222dJn/0j6s1yXIJCsZe216q/SzoLYRamYH7ymm5hGLwpJf/XCiLJHeX9sC
 0PyNXALUOSWWtLXd9mKrR+EOrpXVLbhMDemwa8vQnZHW+QNDgyuePkkSIVlD8o6axOuhQp1pXZk
 GZ5SsDcu6vCQ24ua+34KofkitIel6zW5FoDSwCWE0M/sV04i0z7d9Cxh2S0WY3BR2wXyx+LVpvY
 pWjTXBA0b+BiDGX3bOw6lKMahZWy+hs+IstO93/QOE4FrCf9ULg==
X-Google-Smtp-Source: AGHT+IHMJ0MxzIhignnvrt2xqqkFf17VGv1vbmwqwJVtUlYBaDzfxobX56I/6KiJKaha8pxv7gvR4w==
X-Received: by 2002:a05:6000:2283:b0:390:e8d4:6517 with SMTP id
 ffacd0b85a97d-3a06cf5efc9mr1572130f8f.21.1745488750862; 
 Thu, 24 Apr 2025 02:59:10 -0700 (PDT)
Received: from pro2 (p200300e0b70e65008c33e61e626c43d3.dip0.t-ipconnect.de.
 [2003:e0:b70e:6500:8c33:e61e:626c:43d3])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3a06d532dfesm1564711f8f.63.2025.04.24.02.59.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 24 Apr 2025 02:59:10 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: martin rudalics <rudalics@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <m21pthor3n.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN> <jwvjz7agaos.fsf-monnier+emacs@HIDDEN>
 <0b0d5bf1-bf98-4f89-87d6-de7e8c5dc291@HIDDEN>
 <m25xitorg7.fsf@HIDDEN> <m21pthor3n.fsf@HIDDEN>
Date: Thu, 24 Apr 2025 11:59:09 +0200
Message-ID: <m2wmb9namq.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: Pip Cet <pipcet@HIDDEN>, Helmut Eller <eller.helmut@HIDDEN>,
 Juri Linkov <juri@HIDDEN>, Stefan Monnier <monnier@HIDDEN>,
 77924 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, stefankangas@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:

> So, one could, theoretically store the charpos in a field of a marker
> when "unchaining" it. Ugly, but doable.

And one could do something practically, which I now pushed to savannah.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 09:38:24 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 05:38:24 2025
Received: from localhost ([127.0.0.1]:36226 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7t2F-0001jP-Hr
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 05:38:24 -0400
Received: from mail-pj1-x1044.google.com ([2607:f8b0:4864:20::1044]:48384)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <visuweshm@HIDDEN>)
 id 1u7t2A-0001hi-J4
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 05:38:20 -0400
Received: by mail-pj1-x1044.google.com with SMTP id
 98e67ed59e1d1-301a4d5156aso958954a91.1
 for <77924 <at> debbugs.gnu.org>; Thu, 24 Apr 2025 02:38:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745487492; x=1746092292; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=QcfMngQAgbXD4ITDt4jbHaQo7z5dVA0EA66uCB4vtSc=;
 b=mtjrhyDLwJ6ZGHWxYKimc6sEMchqKWZFUIQIGo5vIjv99aOAtfeqnpBA/NPWG4GonL
 15XyjmzNgrwR/3QBiX3BsfkUj+BwxIRqZJuwaFQ9ucJ3wvVNKmqarpgHKt/5I5g6U86h
 tlck02pxjFXzT1Jnu4/QYUvRbICgx6m5E1HqYLlayIhHZsH1q4FUksmKJTuKbwl7Gkqf
 4VpMuJTYQY8ZxHqejbismsdkHlGVbHcBqGluEWEWmNQT1P3VP30u0q5mE0R3y879GKz8
 6SmnL8ntM95uZquyYkFrA/X7r9nKkQpCgs5RIlRzK8OrwOaSEhDVwUhW2OI6PfZHDSY9
 qrtQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745487492; x=1746092292;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=QcfMngQAgbXD4ITDt4jbHaQo7z5dVA0EA66uCB4vtSc=;
 b=HZJgLa7paBGpy/DZ8qBuDAERRFL/8bJdvQ42Bghc3Sz5jJfnkCbIorJZtJ1BEr31uu
 4BAYfoTSz62ZS4/xouJoJfzTQkm4p64+hAYngAnIbjx+H1aQNgkxisQBkQAuGgmWeXe8
 MUEpnGu5uC6OoPGGQswile02MiK0mxBlpGWVVeKsijMZAwe1pZ2kNn2W/gTWM70Fqg+R
 j5QTZWvwBgtEqyMWKjtNnQYS9/Tp5sZgmXsp64BusujNG/q5VoGAHidUo0WRnSn35tEX
 VXxAW1amZusnxbHQwCIrRWc7EN89xSfRX36+jsK3HWw2CNeHxMQ4cpwHfZMB+D1+qWhU
 CMHw==
X-Forwarded-Encrypted: i=1;
 AJvYcCX5uKhUGMygmGQoqJrOk8hub6Q/XYXYD0EOPQ7mqIlvar7bBvZYDAK/xC6ssPvQNtYCjx012A==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yz7mj3A/RfIwytDMZF+ev1ia0ce7W6fxRiP2jX/C/I26BcWGlL0
 4WqRQqCli+oZF4dLGtGibcllZYQNLPxDAnm1Adg8zKUVHb2wcPDL
X-Gm-Gg: ASbGncsEMG9MAjzOLnn8MJi6HhLT5Xc8F3AnncC2Kq+4ySSrz5Wol4X7ackHNCPr1qa
 +dgY+v+TPBnF3JvExH0wwJfNwiarKrdaaz6fXz9dHKGocuICak6i+5U4usYuvOCflh57Je3HooM
 RhLNFsTPc4o+08IqAjMDvRqhrCnGr4LJnlkWCFFUlZo8uzPGUqQmTKlTV6IZ/mjMrLG/hrlQS1M
 fAwmCL0URCc+FLSf8xmFgjvu3svf+r+4YqIa9adJ1AUAasOkE4IvOTRRU1Nrue/kcZSVBo89RTe
 8TTmC36RIgq533hJdIoC97jTZ/FntByEmWJqlw20ew==
X-Google-Smtp-Source: AGHT+IGQDkd38YJKM661NWUzzDrYleoWQ6Gd4KeZb7URltUhxQYn4ku39KdfK1TT2lA5TEJ2vK/aBA==
X-Received: by 2002:a17:90b:6cb:b0:2ee:d024:e4fc with SMTP id
 98e67ed59e1d1-309ed341c95mr3305022a91.33.1745487492115; 
 Thu, 24 Apr 2025 02:38:12 -0700 (PDT)
Received: from localhost ([1.7.159.71]) by smtp.gmail.com with UTF8SMTPSA id
 98e67ed59e1d1-309ef03b22esm962157a91.4.2025.04.24.02.38.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 24 Apr 2025 02:38:11 -0700 (PDT)
From: Visuwesh <visuweshm@HIDDEN>
To: Gerd =?utf-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <m2a586neq2.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN> <jwvecxiga9d.fsf-monnier+emacs@HIDDEN>
 <86msc6ywyx.fsf@HIDDEN> <m2ikmunmiq.fsf@HIDDEN>
 <86cyd2yp45.fsf@HIDDEN> <m2a586neq2.fsf@HIDDEN>
Date: Thu, 24 Apr 2025 15:08:07 +0530
Message-ID: <87frhxnbls.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: Eli Zaretskii <eliz@HIDDEN>, stefankangas@HIDDEN, yantar92@HIDDEN,
 77924 <at> debbugs.gnu.org, monnier@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

[=E0=AE=B5=E0=AE=BF=E0=AE=AF=E0=AE=BE=E0=AE=B4=E0=AE=A9=E0=AF=8D =E0=AE=8F=
=E0=AE=AA=E0=AF=8D=E0=AE=B0=E0=AE=B2=E0=AF=8D 24, 2025] Gerd M=C3=B6llmann =
wrote:

> Eli Zaretskii <eliz@HIDDEN> writes:
>
>> I trust you and Stefan to decide on that.  I myself am not familiar
>> with the elisp-benchmarks suite well enough to have an opinion that is
>> of importance.  From where I stand, the important part is comparing
>> the current master with the branch.
>>
>>> Don't know about the scrolling benchmark. Is what is in elisp-benchmarks
>>> enough? If not, can you please give me a bencnhmark file for what you
>>> want benchmarked?
>>
>> I don't know whether we have it in elisp-benchmarks, but if we don't,
>> then the following should be good enough:
>>
>> (defun scroll-up-benchmark ()
>>   (interactive)
>>   (let ((oldgc gcs-done)
>>         (oldtime (float-time)))
>>     (condition-case nil (while t (scroll-up) (redisplay))
>>       (error (message "GCs: %d Elapsed time: %f seconds"
>>                       (- gcs-done oldgc) (- (float-time) oldtime))))))
>>
>> Evaluate this, then invoke "M-x scroll-up-benchmark" in a large buffer
>> with lots of non-ASCII characters.  Compare the timings between the
>> two versions of Emacs.
>
> elb-scroll from elisp-bechmarks is basically
>
>       (dotimes (_ 10)
>         (elb-smie-mode)
>         (goto-char (point-min))
>         (condition-case nil
>             (while t (scroll-up nil) (redisplay 'force))
>           (end-of-buffer nil))))))
>
> looks similar, but I don't know what elb-smie-mode does.

elb-smie-mode's is Stefan's SMIE demo as a C major-mode AFAIU.

> Seems to have something to do with prog-mode, so maybe this depends on
> the test file being a C file, which might be interesting for Visuwesh.

I commented out (elb-smie-mode) form in the above snippet and that
showed a backtrace which I could not explain.  Replacing the form with
(text-mode) didn't help either.  So I'm running the benchmark with that
form intact, even though the file I'm scrolling through is a text file.
I am running the benchmark currently, and will report the results once
they are done.

Debugger entered--Lisp error: (overflow-error)
  round(-0.0e+NaN)
  (let ((squares (apply #'+ (mapcar #'(lambda (x) (expt x 2)) errs)))) (rou=
nd (/ (* 100 (sqrt squares)) elapsed)))
  (format "|%2d%%\n" (let ((squares (apply #'+ (mapcar #'(lambda ... ...) e=
rrs)))) (round (/ (* 100 (sqrt squares)) elapsed))))
  (insert (format "|%2d%%\n" (let ((squares (apply #'+ (mapcar #'... errs))=
)) (round (/ (* 100 (sqrt squares)) elapsed)))))
  (let* ((--cl-var-- tests) (test nil) (l nil) (test-elapsed nil) (test-gcs=
 nil) (test-gc-elapsed nil) (test-err nil) (elapsed 0) (gcs 0) (gc-elapsed =
0) (errs nil) (--cl-var-- t)) (while (consp --cl-var--) (setq test (car --c=
l-var--)) (setq l (gethash test res)) (setq test-elapsed (let* ((--cl-var--=
 l) (x nil) (--cl-var-- 0)) (while (consp --cl-var--) (setq x (car --cl-var=
--)) (setq --cl-var-- (+ --cl-var-- (car x))) (setq --cl-var-- (cdr --cl-va=
r--))) --cl-var--)) (setq test-gcs (let* ((--cl-var-- l) (x nil) (--cl-var-=
- 0)) (while (consp --cl-var--) (setq x (car --cl-var--)) (setq --cl-var-- =
(+ --cl-var-- (car ...))) (setq --cl-var-- (cdr --cl-var--))) --cl-var--)) =
(setq test-gc-elapsed (let* ((--cl-var-- l) (x nil) (--cl-var-- 0)) (while =
(consp --cl-var--) (setq x (car --cl-var--)) (setq --cl-var-- (+ --cl-var--=
 (car ...))) (setq --cl-var-- (cdr --cl-var--))) --cl-var--)) (setq test-er=
r (if (cdr l) (elb-std-deviation (mapcar #'car l)))) (insert (apply #'forma=
t "|%s|%.2f|%.2f|%d|%.2f" test (mapcar #'(lambda (x) (/ x runs)) (list (- t=
est-elapsed test-gc-elapsed) test-gc-elapsed test-gcs test-elapsed)))) (ins=
ert (format "|%2d%%\n" (if test-err (round (/ (* 100 test-err) test-elapsed=
)) -0.0))) (setq elapsed (+ elapsed test-elapsed)) (setq gcs (+ gcs test-gc=
s)) (setq gc-elapsed (+ gc-elapsed test-gc-elapsed)) (setq errs (nconc errs=
 (list (or test-err -0.0)))) (setq --cl-var-- (cdr --cl-var--)) (setq --cl-=
var-- nil)) (insert "|-\n") (insert (apply #'format "|total|%.2f|%.2f|%d|%.=
2f" (mapcar #'(lambda (x) (/ x runs)) (list (- elapsed gc-elapsed) gc-elaps=
ed gcs elapsed)))) (insert (format "|%2d%%\n" (let ((squares (apply #'+ (ma=
pcar ... errs)))) (round (/ (* 100 (sqrt squares)) elapsed))))) nil)
  elb--display(("scroll") #<hash-table equal 0/0 0x10e69c524987 ...> 1)
  (while (>=3D (setq --cl-var-- (1- --cl-var--)) 0) (message "Iteration num=
ber: %d" i) (let* ((--cl-var-- tests) (test nil) (entry-point nil) (--cl-va=
r-- t)) (while (consp --cl-var--) (setq test (car --cl-var--)) (setq entry-=
point (intern (concat "elb-" test "-entry"))) (garbage-collect) (message "R=
unning %s..." test) (let ((time (condition-case err (condition-case nil ...=
 ...) (... ... nil)))) (if time (progn (let* (... ...) (puthash v ... v))))=
) (setq --cl-var-- (cdr --cl-var--)) (setq --cl-var-- nil)) nil) (elb--disp=
lay tests res i) (setq i (+ i 1)))
  (let* ((runs (or runs elb-runs)) (--cl-var-- runs) (i 1)) (while (>=3D (s=
etq --cl-var-- (1- --cl-var--)) 0) (message "Iteration number: %d" i) (let*=
 ((--cl-var-- tests) (test nil) (entry-point nil) (--cl-var-- t)) (while (c=
onsp --cl-var--) (setq test (car --cl-var--)) (setq entry-point (intern (co=
ncat "elb-" test "-entry"))) (garbage-collect) (message "Running %s..." tes=
t) (let ((time (condition-case err ... ...))) (if time (progn (let* ... ...=
)))) (setq --cl-var-- (cdr --cl-var--)) (setq --cl-var-- nil)) nil) (elb--d=
isplay tests res i) (setq i (+ i 1))) nil)
  (let ((tests (let ((names 'nil)) (mapatoms #'(lambda (s) (let ... ...))) =
(sort names #'string-lessp)))) (let* ((runs (or runs elb-runs)) (--cl-var--=
 runs) (i 1)) (while (>=3D (setq --cl-var-- (1- --cl-var--)) 0) (message "I=
teration number: %d" i) (let* ((--cl-var-- tests) (test nil) (entry-point n=
il) (--cl-var-- t)) (while (consp --cl-var--) (setq test (car --cl-var--)) =
(setq entry-point (intern (concat "elb-" test "-entry"))) (garbage-collect)=
 (message "Running %s..." test) (let ((time ...)) (if time (progn ...))) (s=
etq --cl-var-- (cdr --cl-var--)) (setq --cl-var-- nil)) nil) (elb--display =
tests res i) (setq i (+ i 1))) nil))
  (let* ((native-comp-speed elb-speed) (compilation-safety elb-safety) (com=
pile-function (if (featurep 'native-compile) #'native-compile #'byte-compil=
e-file)) (res (make-hash-table :test #'equal)) (sources (directory-files el=
b-bench-directory t "\\.el\\'")) (test-sources (if selector (let* ((--cl-va=
r-- sources) (f nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq f (c=
ar --cl-var--)) (if (string-match selector f) (progn ...)) (setq --cl-var--=
 (cdr --cl-var--))) (nreverse --cl-var--)) sources))) (if recompile (progn =
(mapc #'(lambda (f) (message "Compiling... %s" f) (funcall compile-function=
 f)) test-sources))) (mapc #'(lambda (file) (condition-case err (load file)=
 ((debug error) (message "Error loading: %S" err) nil))) (mapcar (if (and (=
featurep 'native-compile) (fboundp 'comp-el-to-eln-filename)) #'comp-el-to-=
eln-filename #'file-name-sans-extension) test-sources)) (let ((tests (let (=
(names 'nil)) (mapatoms #'(lambda ... ...)) (sort names #'string-lessp)))) =
(let* ((runs (or runs elb-runs)) (--cl-var-- runs) (i 1)) (while (>=3D (set=
q --cl-var-- (1- --cl-var--)) 0) (message "Iteration number: %d" i) (let* (=
(--cl-var-- tests) (test nil) (entry-point nil) (--cl-var-- t)) (while (con=
sp --cl-var--) (setq test (car --cl-var--)) (setq entry-point (intern ...))=
 (garbage-collect) (message "Running %s..." test) (let (...) (if time ...))=
 (setq --cl-var-- (cdr --cl-var--)) (setq --cl-var-- nil)) nil) (elb--displ=
ay tests res i) (setq i (+ i 1))) nil)))
  (progn (if --cl-rest-- (signal 'wrong-number-of-arguments (list 'elisp-be=
nchmarks-run (+ 3 (length --cl-rest--))))) (let* ((native-comp-speed elb-sp=
eed) (compilation-safety elb-safety) (compile-function (if (featurep 'nativ=
e-compile) #'native-compile #'byte-compile-file)) (res (make-hash-table :te=
st #'equal)) (sources (directory-files elb-bench-directory t "\\.el\\'")) (=
test-sources (if selector (let* ((--cl-var-- sources) (f nil) (--cl-var-- n=
il)) (while (consp --cl-var--) (setq f ...) (if ... ...) (setq --cl-var-- .=
..)) (nreverse --cl-var--)) sources))) (if recompile (progn (mapc #'(lambda=
 (f) (message "Compiling... %s" f) (funcall compile-function f)) test-sourc=
es))) (mapc #'(lambda (file) (condition-case err (load file) ((debug error)=
 (message "Error loading: %S" err) nil))) (mapcar (if (and (featurep 'nativ=
e-compile) (fboundp 'comp-el-to-eln-filename)) #'comp-el-to-eln-filename #'=
file-name-sans-extension) test-sources)) (let ((tests (let ((names ...)) (m=
apatoms #'...) (sort names #'string-lessp)))) (let* ((runs (or runs elb-run=
s)) (--cl-var-- runs) (i 1)) (while (>=3D (setq --cl-var-- (1- --cl-var--))=
 0) (message "Iteration number: %d" i) (let* ((--cl-var-- tests) (test nil)=
 (entry-point nil) (--cl-var-- t)) (while (consp --cl-var--) (setq test ...=
) (setq entry-point ...) (garbage-collect) (message "Running %s..." test) (=
let ... ...) (setq --cl-var-- ...) (setq --cl-var-- nil)) nil) (elb--displa=
y tests res i) (setq i (+ i 1))) nil))))
  (let* ((recompile (if --cl-rest-- (car-safe (prog1 --cl-rest-- (setq --cl=
-rest-- (cdr --cl-rest--)))) t)) (runs (car-safe (prog1 --cl-rest-- (setq -=
-cl-rest-- (cdr --cl-rest--)))))) (progn (if --cl-rest-- (signal 'wrong-num=
ber-of-arguments (list 'elisp-benchmarks-run (+ 3 (length --cl-rest--))))) =
(let* ((native-comp-speed elb-speed) (compilation-safety elb-safety) (compi=
le-function (if (featurep 'native-compile) #'native-compile #'byte-compile-=
file)) (res (make-hash-table :test #'equal)) (sources (directory-files elb-=
bench-directory t "\\.el\\'")) (test-sources (if selector (let* (... ... ..=
.) (while ... ... ... ...) (nreverse --cl-var--)) sources))) (if recompile =
(progn (mapc #'(lambda ... ... ...) test-sources))) (mapc #'(lambda (file) =
(condition-case err (load file) (... ... nil))) (mapcar (if (and (featurep =
...) (fboundp ...)) #'comp-el-to-eln-filename #'file-name-sans-extension) t=
est-sources)) (let ((tests (let (...) (mapatoms ...) (sort names ...)))) (l=
et* ((runs (or runs elb-runs)) (--cl-var-- runs) (i 1)) (while (>=3D (setq =
--cl-var-- ...) 0) (message "Iteration number: %d" i) (let* (... ... ... ..=
.) (while ... ... ... ... ... ... ... ...) nil) (elb--display tests res i) =
(setq i (+ i 1))) nil)))))
  elisp-benchmarks-run("elb-scroll" t 100)
  (progn (elisp-benchmarks-run "elb-scroll" t 100))
  eval((progn (elisp-benchmarks-run "elb-scroll" t 100)) t)
  elisp--eval-last-sexp(nil)
  #f(compiled-function () #<bytecode 0xf3e77a510d12>)()
  handler-bind-1(#f(compiled-function () #<bytecode 0xf3e77a510d12>) (error=
) eval-expression--debug)
  eval-last-sexp(nil)
  funcall-interactively(eval-last-sexp nil)
  call-interactively(eval-last-sexp nil nil)
  command-execute(eval-last-sexp)






Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 09:18:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 05:18:16 2025
Received: from localhost ([127.0.0.1]:35974 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7sim-0008O1-41
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 05:18:16 -0400
Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]:61697)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7sii-0008NO-KA
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 05:18:13 -0400
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-39c266c2dd5so811012f8f.3
 for <77924 <at> debbugs.gnu.org>; Thu, 24 Apr 2025 02:18:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745486286; x=1746091086; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=LtgcemCM43s1/LgT3PX8uc69O/iQX5xxHBlZ9nM9G0Q=;
 b=V9fEGVgs+RzdMfhUC2YxfHkFZZIuCIlO5mJJ4cjzSLeVXPHIJAyxIgSPkmXg9WtcYt
 q86AdAiNh5b9OYIMCbdgcBRLxeEqEoKDty0n91hgmWrnO1nkU1/T40wjsPP8k7gy4g7q
 3YUMtimIAh3x96MLH+WnJ3sg+IRGPW0lNqOBuErBLa9fjUZW6svC7GudIifrV1aqS0k2
 3TBkX+tpD+tiyfsMs8+buxD0ybk0yWRTpHyeGexx1XFXfngLA8hb+1KTc7eEKyFF+uD/
 ixBreQ1TTvNj6iJhKSdYA0Tazc7TzrCSSPDwZnmQrmIv4Ga97YGawrQsmbkqZ3NNCxR7
 oGIg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745486286; x=1746091086;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=LtgcemCM43s1/LgT3PX8uc69O/iQX5xxHBlZ9nM9G0Q=;
 b=M3CSu9O4jMinfy+YdOXIAcPxyRsHbymdLnGBfNT7kHIzI/tt6EQOBkLrD1B79lAwKr
 zBKz8iEp7zJOZaXEWIRF8P5RlRIhUAM/CCto8N8i9cea1geFDCKjRG5NLCft1oTHcjqF
 6QnbFSTdkQX96r48mriCzYlY4Pi+Rw/mEY0hZUmFEXLnfTTwNvjTDiWYU9xAbNekGmcp
 1uwZ0r85BJpJHf/sk/2rw4f9rDFNjANitNEJujngti0KV4dP/LYeTPlndDr54yFyVsi5
 tGBhg12Up23oUoqoRSdraP4F0FOv+L9qIw6K58gO0pcdIhRRBAxoWQfwyckACzoI3oTW
 MlzQ==
X-Forwarded-Encrypted: i=1;
 AJvYcCXRCMVd7YRu9+3oCd24tAgWWS24nSURJ/A2Oy2uC7U7b+Xt5TwoeMn9h7SqcDFScVbVoorpjw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yw2siS+S+GDyocSeXRKqXtEXt7158ZlezNUoEgI0MBiPsoCfgV9
 6C5906d635L4iUUGE2ur12fkahMnjeviPNDKGW9qgU8FrZpSVTp2aSYfC+SU
X-Gm-Gg: ASbGncsm7368TD5zkngP1lCAjo/n79XZxGftU8pv9myprXXkUFhwc/uGpokmTfUzUyX
 U+GdEWQbyYZMKi3TimXGdqFM5Sgma4sCXu0h6I2PJY+76+ZBca5O6kqnBJPXF+SlVD3maAfBVmo
 txXNvRfdG3qTLtAvshuQeh7tg/rTs5KzTZhr2POSw4gp+bohub393ZFWVtIMfTwO/CQ81gE7dII
 qPYe/BEQ6/KIknkCprgQ0nmTtUUccKuj8mCul76uvB+FAS2lhNtWIj7iEYBNgYDiu1MvyWyfOm9
 O/R+bzxdV4V2wH48dVQ7OLNT3WMWJVEKifKc2WbUDEv2b5TocXGcuOhYucXWFTCYHXDjYJWH2GN
 MuOATsHVs8KxGp86+a3t+NlWDqtreamAo1Pj2huLlza0n94FKOw==
X-Google-Smtp-Source: AGHT+IFW5p1JNLZd6mJt/SrYTxZEswqWshb5fdtdmT3K2brpIAVYpFyXYfzdnlKc6VQWdCEL2po0kQ==
X-Received: by 2002:a05:6000:1787:b0:38b:d7d2:12f6 with SMTP id
 ffacd0b85a97d-3a06cf4b720mr1424477f8f.2.1745486286390; 
 Thu, 24 Apr 2025 02:18:06 -0700 (PDT)
Received: from pro2 (p200300e0b70e65008c33e61e626c43d3.dip0.t-ipconnect.de.
 [2003:e0:b70e:6500:8c33:e61e:626c:43d3])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3a06d4c30d7sm1426875f8f.44.2025.04.24.02.18.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 24 Apr 2025 02:18:06 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: martin rudalics <rudalics@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <m25xitorg7.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN> <jwvjz7agaos.fsf-monnier+emacs@HIDDEN>
 <0b0d5bf1-bf98-4f89-87d6-de7e8c5dc291@HIDDEN>
 <m25xitorg7.fsf@HIDDEN>
Date: Thu, 24 Apr 2025 11:18:04 +0200
Message-ID: <m21pthor3n.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: Pip Cet <pipcet@HIDDEN>, Helmut Eller <eller.helmut@HIDDEN>,
 Juri Linkov <juri@HIDDEN>, Stefan Monnier <monnier@HIDDEN>,
 77924 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, stefankangas@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:

> martin rudalics <rudalics@HIDDEN> writes:
>
>>> BTW, during my rebasing I noticed the following incompatibility:
>>>
>>>      commit 89ad510b2ebd5ed3ed8477e4a45ada3402bcedca
>>>      Author: Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN>
>>>      Date:   Thu Apr 17 08:42:52 2025 +0200
>>>
>>>          marker-vector.c: Move marker's position info to the array
>>>
>>> makes it "impossible" to implement `marker-last-position`.
>>
>> What would 'markerp' then return for a marker whose buffer has been
>> killed?  The idea of 'marker-last-position' is that if some agent (like
>> a tab bar entry) keeps a reference to a killed buffer, that buffer
>> cannot be collected and neither its markers, although the latter have
>> been unchained already.  =E2=80=98marker-position=E2=80=99 would always =
return nil for
>> such a marker but 'marker-last-position' would have worked in the past.
>>
>>> AFAICT this function is not used outside of Emacs at all (based on
>>> a search of all *ELPA packages), but it *is* used in
>>> `window--state-put-2`, since the following commit:
>>>
>>>      commit 912e37b811107768e0cb3bc95184177f817dbdb2
>>>      Author: Martin Rudalics <rudalics@HIDDEN>
>>>      Date:   Mon Mar 4 10:33:49 2024 +0100
>>>
>>>          Fix 'set-window-configuration' and 'window-state-put'
>>>
>>> What's the impact of breaking `marker-last-position`?
>>
>> If 'window-restore-killed-buffer-windows' is a function that tries to
>> resurrect a killed buffer, it could not derive the position of the start
>> and point position of the buffer in that window.  So AFAICT the function
>> 'tab-bar-select-restore-windows' would be affected.  Juri can tell more.
>>
>> martin
>
> Hm, that might be an unsolvable problem with igc, actually. At least I
> don't know ATM how it could be solved.
>
> Let me try to explain. The function below is what igc uses to scan a
> marker vector and remove stale references (weak references). It's from
> my Emacs, not from feature/igc, but that doesn't play a role. the
> situation is the same here and there.
>
> igc.c:
>  2136 static mps_res_t
>  2137 fix_marker_vector (mps_ss_t ss, struct Lisp_Vector *v)
>  2138 {
>  2139   MPS_SCAN_BEGIN (ss)
>  2140   {
>  2141     const ptrdiff_t max_entry =3D XFIXNUM (v->contents[MARKER_VECTO=
R_MAX_ENTRY]);
>  2142     for (ptrdiff_t e =3D MARKER_VECTOR_HEADER_SIZE;
>  2143          e <=3D max_entry; e +=3D MARKER_VECTOR_ENTRY_SIZE)
>  2144       {
>  2145         /* Note that we cannot access anything of a marker here bec=
ause
>  2146            that is not allowed by MPS while scanning an unrelated
>  2147            object.  This includes MARKERP because that accesses the
>  2148            header of a marker.  */
>  2149         Lisp_Object *p =3D &v->contents[e + MARKER_VECTOR_OFFSET_MA=
RKER];
>  2150         if (!NILP (*p) && !FIXNUMP (*p))
>  2151           {
>  2152             IGC_FIX12_OBJ (ss, p);
>  2153             if (NILP (*p))
>  2154               {
>  2155                 /* Changed to nil means the weak reference was to a=
 dead
>  2156                    marker.  Put on free-list.  */
>  2157                 v->contents[e] =3D v->contents[MARKER_VECTOR_FREE];
>  2158                 v->contents[MARKER_VECTOR_FREE] =3D make_fixnum (e);
>  2159               }
>  2160           }
>  2161       }
>  2162   }
>  2163   MPS_SCAN_END (ss);
>  2164   return MPS_RES_OK;
>  2165 }
>
> The problem is that MPS doesn't allow accessing other MPS-managed
> objects while working on the marker vector. See the comment at line 2145.
>
> Markers are such MPS-managed objects, so we can't read or change members
> of a marker here, not the buffer, not something else.
>
> That restriction is very real, it suffices to add a MARKERP there to
> make things literally fall apart when a marker object happens to be
> behind a memory barrier, for example.
>
> Like I said, no idea. I've added Helmut and Pip in CC.

No wait, not a problem :-). If someone from Lisp has that marker in his
hands, it's of course not dead. So, sorry for the confusion.

So, one could, theoretically store the charpos in a field of a marker
when "unchaining" it. Ugly, but doable.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 09:10:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 05:10:43 2025
Received: from localhost ([127.0.0.1]:35915 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7sbS-0007nV-UX
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 05:10:43 -0400
Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]:53615)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7sbQ-0007n0-LL
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 05:10:41 -0400
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-391342fc0b5so558966f8f.3
 for <77924 <at> debbugs.gnu.org>; Thu, 24 Apr 2025 02:10:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745485834; x=1746090634; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=125GVzrBJlY54kM198a222PxiPAjkXqJbj3YihxG0cA=;
 b=X5kzcbgPQOwpiHQBNf8YgeIS+iTUAWEIPe0hHAYbOncKSmyQxxbzNy5nffPUzjt3Gq
 688cnFsM6QGP1fNICj1xOYDWszZovKPFp7UesHLWTzMYDHvZAK8b6Ua/L0IZ+7CXb+Nh
 8/5ItOwUdJ0Q/krAsxm/oRcDPWm5AU0sGZKDK/iRfYRKBRIDA+l/yivqO2Go+DB5YB+L
 RLZXoR9OiZrwdL2pG3Fi7oI1DONt5dwCCEMc5eaW2YljL6v06q73cjppHf73RC4LEdar
 XszJxqFbffFRkY72OebLB09pEZjE7Zd4j8y9y7JYB98veCYDcpP86DLWpn/Out45R9vm
 L4wg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745485834; x=1746090634;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=125GVzrBJlY54kM198a222PxiPAjkXqJbj3YihxG0cA=;
 b=b6u3hMvIVFcIiIUW7CnTu4km+jhCoA0LYyUSqSltGF3uTm2vZ4oOp3OP+hd+ZoOk+i
 kvolmo6ebyUMJck4OSQt7MjBrhFQyARJupt37TdljuMYIGnUBocoQjc7bm+0BbKH/3Ui
 FFLTzjVu9x/7kCHccua/dx9V2buRO/OT6k+axZtW/zN3mLFBTYC9uKxJPa1M6Xwgr2L4
 RwIfibIU7u0+2U/x99tMuvt4pGA4y7YP0ScaUvnoUpEfulZicgZ9vNwawVbRyWYNmUUa
 wohnyutF36sBSMsN1omPHckPh1KTXHReT1LQROyp6OhszUqYVQQVtooMK7+XXpE91IcZ
 DKgw==
X-Forwarded-Encrypted: i=1;
 AJvYcCVBlVGpNqgyPWuPMiz+LQeuR00tdbWQc0NN6JKbW1o3wSXf2YOnyPUxqh7BezlOO7dwoaSAXA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YyijWx2PKGnWEM+eSYMJfEX7P7nSjKgzQB9htgoiAYLSLwCM/xs
 ixl0tNAthNuDX2jrQc8BogsCXZLXgUyHY+rpf6IOr2lKH4d8WJO6
X-Gm-Gg: ASbGnct1jkVOWFfqFAqP2Zwa0+y5z7sODY39qlCs3sg3YF35CPFmwWnahCeiqv47173
 ke1Tb4uklhOLSjcsHVI6po8F5h+usrL6hE0D6++PQmmNyoyjWpunGx3YF86nk+Spv63Un96rvNS
 QEtSGpxEYPWBPu9RSXa1JlqFvFkfjonW++QjRhQCTsk2uJsbSRGr7KXajpPqJmSd6oqoMSv7D6J
 fdW5w68t/j9e89sJNjFq1+Et3FfIvOY35poJlq+DNzkOhTuexodsUQ4DjpTj4325Z0c4JMyKNjH
 LBz8G4yYJPX75s+nMiQ0U4XEOPmdhx1bSpRT0o44DHzsPpdcQWx5j2N8o8CVqojh79U0H2CqHHs
 WYH5T7eXlKoSuaTATubGoxhc3gK7rBnbEo71gAAxvRdLo+VxFpA==
X-Google-Smtp-Source: AGHT+IGrQj0qxj7zPg+sIkN3KDJEvLqUOx8tMSgndteSIb2LfKKHCxcjUJCm+bM0rTXwv4wBBJI6Sg==
X-Received: by 2002:a05:6000:402a:b0:39c:266c:400a with SMTP id
 ffacd0b85a97d-3a06cfc5d7amr1518049f8f.50.1745485833898; 
 Thu, 24 Apr 2025 02:10:33 -0700 (PDT)
Received: from pro2 (p200300e0b70e65008c33e61e626c43d3.dip0.t-ipconnect.de.
 [2003:e0:b70e:6500:8c33:e61e:626c:43d3])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3a06d4a815bsm1398346f8f.8.2025.04.24.02.10.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 24 Apr 2025 02:10:33 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: martin rudalics <rudalics@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <0b0d5bf1-bf98-4f89-87d6-de7e8c5dc291@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN> <jwvjz7agaos.fsf-monnier+emacs@HIDDEN>
 <0b0d5bf1-bf98-4f89-87d6-de7e8c5dc291@HIDDEN>
Date: Thu, 24 Apr 2025 11:10:32 +0200
Message-ID: <m25xitorg7.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: Pip Cet <pipcet@HIDDEN>, Helmut Eller <eller.helmut@HIDDEN>,
 Juri Linkov <juri@HIDDEN>, Stefan Monnier <monnier@HIDDEN>,
 77924 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, stefankangas@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

martin rudalics <rudalics@HIDDEN> writes:

>> BTW, during my rebasing I noticed the following incompatibility:
>>
>>      commit 89ad510b2ebd5ed3ed8477e4a45ada3402bcedca
>>      Author: Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN>
>>      Date:   Thu Apr 17 08:42:52 2025 +0200
>>
>>          marker-vector.c: Move marker's position info to the array
>>
>> makes it "impossible" to implement `marker-last-position`.
>
> What would 'markerp' then return for a marker whose buffer has been
> killed?  The idea of 'marker-last-position' is that if some agent (like
> a tab bar entry) keeps a reference to a killed buffer, that buffer
> cannot be collected and neither its markers, although the latter have
> been unchained already.  =E2=80=98marker-position=E2=80=99 would always r=
eturn nil for
> such a marker but 'marker-last-position' would have worked in the past.
>
>> AFAICT this function is not used outside of Emacs at all (based on
>> a search of all *ELPA packages), but it *is* used in
>> `window--state-put-2`, since the following commit:
>>
>>      commit 912e37b811107768e0cb3bc95184177f817dbdb2
>>      Author: Martin Rudalics <rudalics@HIDDEN>
>>      Date:   Mon Mar 4 10:33:49 2024 +0100
>>
>>          Fix 'set-window-configuration' and 'window-state-put'
>>
>> What's the impact of breaking `marker-last-position`?
>
> If 'window-restore-killed-buffer-windows' is a function that tries to
> resurrect a killed buffer, it could not derive the position of the start
> and point position of the buffer in that window.  So AFAICT the function
> 'tab-bar-select-restore-windows' would be affected.  Juri can tell more.
>
> martin

Hm, that might be an unsolvable problem with igc, actually. At least I
don't know ATM how it could be solved.

Let me try to explain. The function below is what igc uses to scan a
marker vector and remove stale references (weak references). It's from
my Emacs, not from feature/igc, but that doesn't play a role. the
situation is the same here and there.

igc.c:
 2136 static mps_res_t
 2137 fix_marker_vector (mps_ss_t ss, struct Lisp_Vector *v)
 2138 {
 2139   MPS_SCAN_BEGIN (ss)
 2140   {
 2141     const ptrdiff_t max_entry =3D XFIXNUM (v->contents[MARKER_VECTOR_=
MAX_ENTRY]);
 2142     for (ptrdiff_t e =3D MARKER_VECTOR_HEADER_SIZE;
 2143          e <=3D max_entry; e +=3D MARKER_VECTOR_ENTRY_SIZE)
 2144       {
 2145         /* Note that we cannot access anything of a marker here becau=
se
 2146            that is not allowed by MPS while scanning an unrelated
 2147            object.  This includes MARKERP because that accesses the
 2148            header of a marker.  */
 2149         Lisp_Object *p =3D &v->contents[e + MARKER_VECTOR_OFFSET_MARK=
ER];
 2150         if (!NILP (*p) && !FIXNUMP (*p))
 2151           {
 2152             IGC_FIX12_OBJ (ss, p);
 2153             if (NILP (*p))
 2154               {
 2155                 /* Changed to nil means the weak reference was to a d=
ead
 2156                    marker.  Put on free-list.  */
 2157                 v->contents[e] =3D v->contents[MARKER_VECTOR_FREE];
 2158                 v->contents[MARKER_VECTOR_FREE] =3D make_fixnum (e);
 2159               }
 2160           }
 2161       }
 2162   }
 2163   MPS_SCAN_END (ss);
 2164   return MPS_RES_OK;
 2165 }

The problem is that MPS doesn't allow accessing other MPS-managed
objects while working on the marker vector. See the comment at line 2145.

Markers are such MPS-managed objects, so we can't read or change members
of a marker here, not the buffer, not something else.

That restriction is very real, it suffices to add a MARKERP there to
make things literally fall apart when a marker object happens to be
behind a memory barrier, for example.

Like I said, no idea. I've added Helmut and Pip in CC.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 08:31:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 04:30:59 2025
Received: from localhost ([127.0.0.1]:35550 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7ryz-0004ES-Hm
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 04:30:59 -0400
Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]:43239)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7ryv-0004Ci-Pw
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 04:30:54 -0400
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-43cf680d351so11303255e9.0
 for <77924 <at> debbugs.gnu.org>; Thu, 24 Apr 2025 01:30:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745483447; x=1746088247; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=4Egl1x/w85M7L233AfkuFEpceodBWSIi/agSDGF4hjs=;
 b=EUr7w5bgurJJLgJgiFW5Fxnp4C84qZyBj30Ngr6t60zzP0b8+u2akCbZpkmc3kGwcd
 Je9hmq0U13sR5yJvVmgDqFQ683Bov2gaGsd6KVlcN/FnEiWoj9nDVGJ4kIokUiEj0Wso
 KSE1VN8Q27kXXl3MWAr1I7aZmLPZ0hhXTze4R8QUb1M5NXY2gvYSU5OaKbuU6UVEYVZo
 LKUIfswhv7UV8xV/qZC8GgvljGu5iSxqhz4yHIK2sh500HXumO8EtbvagNLsj7cqvh9U
 EmEa5YlXhg1X3uiwxekPOzi+VoOu9T1pRZF9mfBG05yHRubCfa522y/ApVMdAOaS2mc3
 E+cQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745483447; x=1746088247;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=4Egl1x/w85M7L233AfkuFEpceodBWSIi/agSDGF4hjs=;
 b=LzeRO1GF2oSJr2U5uFlG8+5V7Q49/bJsRo1xnc4Nu/07EfdwC4R6PjjPSZxLTXjU/+
 rapoZYM76vq++Bfl+hg3IZm5sMRCP4rLkH4HSfIfkfNdGPbFemD5IOmsWf1s7aNCQZYR
 PsFtTTkMAqnhGHZ30jJCcdFK/6SVPATWmn+V949m4jrfRBjsQ/1eUGwk2qnCmhDTKvZB
 zwGdz86ewfV8py6yPDLaSr837imnY7RYnFO80kRHRO52FF4yt1ivUMh/RCP98jaLFsvB
 FKyDWh37+fQhlTyMTfxsMRPV8k5InqlrU7hu/V6fotkI9BJZ03LW3Dit5PW98HMuONIl
 +WzA==
X-Forwarded-Encrypted: i=1;
 AJvYcCWaVD/qzUAiz9L28/hwFpn32XrXE8O3MoBUs8GcKIakH3+4GfdGjMyxSd/a3w3YJX9AOZBJaw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yz9zlTx6xQiWEKy5tIYIovwOlKmMJGVvOe6RzSxm5p1pPOE+boD
 nzK0cwBVE9KEQFoudD+K6DkDdQQyulYUg3QozwMHIUEImdRFV2L7
X-Gm-Gg: ASbGncvEpO/3YJyM+PLRiwsJpSCOFH4OXFIE/Dxy4H8ah0qwAzYoNyy+1HBjQ5cvGNJ
 iP2QMG54H4XUCsln9ckx3B6KQA6cb9ooXEXwUVgl5VUFMMBvr1W4zeJ+n+4g4tg/Kk+VCOZxc/W
 rFD6WNXinVSuzqnjadZAFF4tFzLOPrkbHLv/lchdb7Au3PN6Z3tJUvsswFssN5a3x44C0CHBg0W
 Q3nb7wL+RPra25dJkrXCLchlm/7nFqdBfJV/sXSllAPr1tghPhSwSokn3oFZeFhxM3zvBFPNEf+
 aQ4KnjlVJKLeFM9weQWqDVw+emRWTFSAcPgx9GxxGpUesEL60/YejX0W4BytASK3+QhvBBCHyWu
 wcRR1e8WE2bkcnMF4/Ytmtzp5m2X99z7ESsmK1AZGda8r/38H+g==
X-Google-Smtp-Source: AGHT+IFe9ocf36yBoA+fIm6zeUZEY79jWmxrABtrt9Vrdo791PSjgVQ3jP93M5YnvdKxoiC8GrqDWw==
X-Received: by 2002:a05:600c:4711:b0:439:5f04:4f8d with SMTP id
 5b1f17b1804b1-4409c4bd615mr11211655e9.12.1745483447169; 
 Thu, 24 Apr 2025 01:30:47 -0700 (PDT)
Received: from pro2 (p200300e0b70e65008c33e61e626c43d3.dip0.t-ipconnect.de.
 [2003:e0:b70e:6500:8c33:e61e:626c:43d3])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4409d2d86f7sm10864065e9.32.2025.04.24.01.30.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 24 Apr 2025 01:30:46 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <86cyd2yp45.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN> <jwvecxiga9d.fsf-monnier+emacs@HIDDEN>
 <86msc6ywyx.fsf@HIDDEN> <m2ikmunmiq.fsf@HIDDEN>
 <86cyd2yp45.fsf@HIDDEN>
Date: Thu, 24 Apr 2025 10:30:45 +0200
Message-ID: <m2a586neq2.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: yantar92@HIDDEN, monnier@HIDDEN, 77924 <at> debbugs.gnu.org,
 stefankangas@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

> I trust you and Stefan to decide on that.  I myself am not familiar
> with the elisp-benchmarks suite well enough to have an opinion that is
> of importance.  From where I stand, the important part is comparing
> the current master with the branch.
>
>> Don't know about the scrolling benchmark. Is what is in elisp-benchmarks
>> enough? If not, can you please give me a bencnhmark file for what you
>> want benchmarked?
>
> I don't know whether we have it in elisp-benchmarks, but if we don't,
> then the following should be good enough:
>
> (defun scroll-up-benchmark ()
>   (interactive)
>   (let ((oldgc gcs-done)
>         (oldtime (float-time)))
>     (condition-case nil (while t (scroll-up) (redisplay))
>       (error (message "GCs: %d Elapsed time: %f seconds"
>                       (- gcs-done oldgc) (- (float-time) oldtime))))))
>
> Evaluate this, then invoke "M-x scroll-up-benchmark" in a large buffer
> with lots of non-ASCII characters.  Compare the timings between the
> two versions of Emacs.

elb-scroll from elisp-bechmarks is basically

      (dotimes (_ 10)
        (elb-smie-mode)
        (goto-char (point-min))
        (condition-case nil
            (while t (scroll-up nil) (redisplay 'force))
          (end-of-buffer nil))))))

looks similar, but I don't know what elb-smie-mode does.

Seems to have something to do with prog-mode, so maybe this depends on
the test file being a C file, which might be interesting for Visuwesh.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 08:01:49 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 04:01:49 2025
Received: from localhost ([127.0.0.1]:35250 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7rWm-0001Z5-Jl
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 04:01:48 -0400
Received: from mout.gmx.net ([212.227.17.20]:36935)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <rudalics@HIDDEN>) id 1u7rWk-0001Yq-9I
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 04:01:46 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.at;
 s=s31663417; t=1745481689; x=1746086489; i=rudalics@HIDDEN;
 bh=6GLzlAx5aCBFgJ6OJthQSlO6JA+GoCXHvWj/Zm8f4ig=;
 h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:To:Cc:
 References:From:In-Reply-To:Content-Type:
 Content-Transfer-Encoding:cc:content-transfer-encoding:
 content-type:date:from:message-id:mime-version:reply-to:subject:
 to;
 b=f2oTR2J9BWooxmeHIXzx24Gw8QPTgjhd54I6O2KpRSKPlj5IFHZk18TTpTf5K3Yj
 XQKBQcILmUiV9ZmlbofmQh4CyzaPoGAJt/FC6bxZSb0Mr74Bi6tJceqBetxSqFDS2
 Zvbv0GHKqxnyg+jbUouAvFpzVUmv+zjzzmYPEEiZqVkuH5YFzEFroKX4F2F8MyvKV
 cvWNXA/tzlUH59fZ1uEPnJQuA0eFr8OKIOvXswoDWYRfx40tOKV345YIMf91iTTXN
 dheJRNqBsCaUrIfkiq0vIYJTvI6xySfrgEEsDJQxdqxnEe6XNeNh2fHECof/kbrNI
 PyLeblQi1ZBZlfhFkA==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from [192.168.31.113] ([46.125.249.94]) by mail.gmx.net (mrgmx104
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MEUz4-1uJNqc0NWU-00ET9P; Thu, 24
 Apr 2025 10:01:28 +0200
Message-ID: <0b0d5bf1-bf98-4f89-87d6-de7e8c5dc291@HIDDEN>
Date: Thu, 24 Apr 2025 10:01:23 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
To: Stefan Monnier <monnier@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN> <jwvjz7agaos.fsf-monnier+emacs@HIDDEN>
Content-Language: en-US
From: martin rudalics <rudalics@HIDDEN>
In-Reply-To: <jwvjz7agaos.fsf-monnier+emacs@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64
X-Provags-ID: V03:K1:CPqpV+tf5DFw1NQb2DSJc/ZTfILE85RrvFdzAUsNQnn42gWDIGG
 aHBhwLlc1cjpsx9r7e9J79hBW7E4t4FS6ANBIGcbMlStSQ2diAHlc8DGCqleH+6kk7c+B4H
 eQejdzCJO3GTYpUppzU0aVA6vutqu8OJ44MjpdVubLM7HBzPW1Zt5BSE+zHioY2a/gLyiZA
 loVyIGrSXHHGVpSQeCRYw==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:IQ5BXSliD1s=;bOzTKkCHqlLGrE0R/Puftf9dmLF
 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
 iLgw0lUMq9GzQ=
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 77924
Cc: gerd.moellmann@HIDDEN, Eli Zaretskii <eliz@HIDDEN>,
 stefankangas@HIDDEN, 77924 <at> debbugs.gnu.org, Juri Linkov <juri@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

ID4gQlRXLCBkdXJpbmcgbXkgcmViYXNpbmcgSSBub3RpY2VkIHRoZSBmb2xsb3dpbmcgaW5j
b21wYXRpYmlsaXR5Og0KID4NCiA+ICAgICAgY29tbWl0IDg5YWQ1MTBiMmViZDVlZDNlZDg0
NzdlNGE0NWFkYTM0MDJiY2VkY2ENCiA+ICAgICAgQXV0aG9yOiBHZXJkIE3DtmxsbWFubiA8
Z2VyZC5tb2VsbG1hbm5AZ21haWwuY29tPg0KID4gICAgICBEYXRlOiAgIFRodSBBcHIgMTcg
MDg6NDI6NTIgMjAyNSArMDIwMA0KID4NCiA+ICAgICAgICAgIG1hcmtlci12ZWN0b3IuYzog
TW92ZSBtYXJrZXIncyBwb3NpdGlvbiBpbmZvIHRvIHRoZSBhcnJheQ0KID4NCiA+IG1ha2Vz
IGl0ICJpbXBvc3NpYmxlIiB0byBpbXBsZW1lbnQgYG1hcmtlci1sYXN0LXBvc2l0aW9uYC4N
Cg0KV2hhdCB3b3VsZCAnbWFya2VycCcgdGhlbiByZXR1cm4gZm9yIGEgbWFya2VyIHdob3Nl
IGJ1ZmZlciBoYXMgYmVlbg0Ka2lsbGVkPyAgVGhlIGlkZWEgb2YgJ21hcmtlci1sYXN0LXBv
c2l0aW9uJyBpcyB0aGF0IGlmIHNvbWUgYWdlbnQgKGxpa2UNCmEgdGFiIGJhciBlbnRyeSkg
a2VlcHMgYSByZWZlcmVuY2UgdG8gYSBraWxsZWQgYnVmZmVyLCB0aGF0IGJ1ZmZlcg0KY2Fu
bm90IGJlIGNvbGxlY3RlZCBhbmQgbmVpdGhlciBpdHMgbWFya2VycywgYWx0aG91Z2ggdGhl
IGxhdHRlciBoYXZlDQpiZWVuIHVuY2hhaW5lZCBhbHJlYWR5LiAg4oCYbWFya2VyLXBvc2l0
aW9u4oCZIHdvdWxkIGFsd2F5cyByZXR1cm4gbmlsIGZvcg0Kc3VjaCBhIG1hcmtlciBidXQg
J21hcmtlci1sYXN0LXBvc2l0aW9uJyB3b3VsZCBoYXZlIHdvcmtlZCBpbiB0aGUgcGFzdC4N
Cg0KID4gQUZBSUNUIHRoaXMgZnVuY3Rpb24gaXMgbm90IHVzZWQgb3V0c2lkZSBvZiBFbWFj
cyBhdCBhbGwgKGJhc2VkIG9uDQogPiBhIHNlYXJjaCBvZiBhbGwgKkVMUEEgcGFja2FnZXMp
LCBidXQgaXQgKmlzKiB1c2VkIGluDQogPiBgd2luZG93LS1zdGF0ZS1wdXQtMmAsIHNpbmNl
IHRoZSBmb2xsb3dpbmcgY29tbWl0Og0KID4NCiA+ICAgICAgY29tbWl0IDkxMmUzN2I4MTEx
MDc3NjhlMGNiM2JjOTUxODQxNzdmODE3ZGJkYjINCiA+ICAgICAgQXV0aG9yOiBNYXJ0aW4g
UnVkYWxpY3MgPHJ1ZGFsaWNzQGdteC5hdD4NCiA+ICAgICAgRGF0ZTogICBNb24gTWFyIDQg
MTA6MzM6NDkgMjAyNCArMDEwMA0KID4NCiA+ICAgICAgICAgIEZpeCAnc2V0LXdpbmRvdy1j
b25maWd1cmF0aW9uJyBhbmQgJ3dpbmRvdy1zdGF0ZS1wdXQnDQogPg0KID4gV2hhdCdzIHRo
ZSBpbXBhY3Qgb2YgYnJlYWtpbmcgYG1hcmtlci1sYXN0LXBvc2l0aW9uYD8NCg0KSWYgJ3dp
bmRvdy1yZXN0b3JlLWtpbGxlZC1idWZmZXItd2luZG93cycgaXMgYSBmdW5jdGlvbiB0aGF0
IHRyaWVzIHRvDQpyZXN1cnJlY3QgYSBraWxsZWQgYnVmZmVyLCBpdCBjb3VsZCBub3QgZGVy
aXZlIHRoZSBwb3NpdGlvbiBvZiB0aGUgc3RhcnQNCmFuZCBwb2ludCBwb3NpdGlvbiBvZiB0
aGUgYnVmZmVyIGluIHRoYXQgd2luZG93LiAgU28gQUZBSUNUIHRoZSBmdW5jdGlvbg0KJ3Rh
Yi1iYXItc2VsZWN0LXJlc3RvcmUtd2luZG93cycgd291bGQgYmUgYWZmZWN0ZWQuICBKdXJp
IGNhbiB0ZWxsIG1vcmUuDQoNCm1hcnRpbg0K




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 07:57:19 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 03:57:19 2025
Received: from localhost ([127.0.0.1]:35200 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7rSQ-0001DA-Ka
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 03:57:19 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:55634)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1u7rSN-0001Cr-Fz
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 03:57:16 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1u7rSH-0007IM-Dq; Thu, 24 Apr 2025 03:57:09 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=7rA89W0VcncexLZfhAUyNga85DsLLehjTxhjklbMsQk=; b=HWFCpUL+Oh6S6QTx6BA4
 fq6APuPnS+52CnDppFD93cBSgn9sSfhBlWmx2/sMjDXcNdL7uhDHvrPXlOImpBurf1mmDlgoB+HEn
 BqIGFrFHUH/imPKYqYfqzk4oarV+btpMwD6T3/nqJui+la+gNbxw/IjKsdoa9C01awyIOBYmYRgOe
 I+he13xJW3G5IAwgK0HZl5JaG5hy4IiTFT6eESk/3dXWCLl4OJAl705i+jnYQZ0SKOKGu2HqdOgYb
 eiOfLfZq4FLAFJzz1IX71myaNFIdQf1z4FCBsj29BCDkoo0QuZnJqu8lWMXEZgvkxmblJsyjuxPNm
 M2OAj7ZsXjMIXQ==;
Date: Thu, 24 Apr 2025 10:57:00 +0300
Message-Id: <86a586yotv.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Gerd =?utf-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
In-Reply-To: <m2ecxinkcd.fsf@HIDDEN> (message from Gerd =?utf-8?Q?M?=
 =?utf-8?Q?=C3=B6llmann?= on Thu, 24 Apr 2025 08:29:22 +0200)
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN> <jwvecxiga9d.fsf-monnier+emacs@HIDDEN>
 <86msc6ywyx.fsf@HIDDEN> <87plh2m72a.fsf@HIDDEN> <m2ecxinkcd.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77924
Cc: yantar92@HIDDEN, stefankangas@HIDDEN, monnier@HIDDEN,
 77924 <at> debbugs.gnu.org, visuweshm@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Gerd Möllmann <gerd.moellmann@HIDDEN>
> Cc: Eli Zaretskii <eliz@HIDDEN>,  Stefan Monnier
>  <monnier@HIDDEN>,  yantar92@HIDDEN,  stefankangas@HIDDEN,
>   77924 <at> debbugs.gnu.org
> Date: Thu, 24 Apr 2025 08:29:22 +0200
> 
> > Is there a standard benchmark code that I can try for this?  I have such
> > a large HTML file with Tamil text, and I can scroll through the buffer
> > produced by shr-render-buffer.
> 
> The elisp-benchmarks package has an elb-scroll.el, in its benchmarks
> directory. AFAICT, that loads an xmenu.c from the resources
> sub-directory of the benchmarks.

Please test scrolling with non-ASCII characters, not with xmenu.c
(which is pure-ASCII), since charpos-to-bytepos conversions in
pure-ASCII buffers are trivial.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 07:51:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 03:51:58 2025
Received: from localhost ([127.0.0.1]:35149 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7rNG-0000mQ-43
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 03:51:58 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:37064)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1u7rNE-0000m0-85
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 03:51:57 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1u7rN8-0006fe-B3; Thu, 24 Apr 2025 03:51:50 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=nvoWgsTvzitwy7hXzhzFYXwQughyQVQO/50x9B6Xo7U=; b=B5RlXAkVrdvW
 JYa7XwTlFN9df1Rj8+56hCi+8hh0wKHYIew2cBPcvAuMhZVF5xMOIJQVwwrmoCK6VHKTLzixFoUlF
 Oy6q6rdy4WR6tsnSbEad0uACRpYv9FBojyHOoItaLVI+viWjStNqReHW04sle7PyBaEFzuTvGCVGV
 HE8UKoOE0PjydvkhR9MICiiMizHi5HKA35icpQBa2d08t/kyghxwcCOBNGoWiaHIYZ+wfVNFTXiwb
 w0x/l5yHbdOYwDJKzYe6+EJenFfpJhpE+CNMI9sBDeB4OyNgLZBj14xeZR4L1ICkWaUvDrJjHYB6u
 kZAV/Tp55UEkm792DZZLZA==;
Date: Thu, 24 Apr 2025 10:51:47 +0300
Message-Id: <86bjsmyp2k.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Visuwesh <visuweshm@HIDDEN>
In-Reply-To: <87plh2m72a.fsf@HIDDEN> (message from Visuwesh on Thu, 24 Apr
 2025 11:31:33 +0530)
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN> <jwvecxiga9d.fsf-monnier+emacs@HIDDEN>
 <86msc6ywyx.fsf@HIDDEN> <87plh2m72a.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77924
Cc: gerd.moellmann@HIDDEN, yantar92@HIDDEN, monnier@HIDDEN,
 77924 <at> debbugs.gnu.org, stefankangas@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Visuwesh <visuweshm@HIDDEN>
> Cc: Stefan Monnier <monnier@HIDDEN>,  gerd.moellmann@HIDDEN,
>   yantar92@HIDDEN,  stefankangas@HIDDEN,  77924 <at> debbugs.gnu.org
> Date: Thu, 24 Apr 2025 11:31:33 +0530
> 
> > Still, for performance-oriented changes, it would be nice to see some
> > benchmarks.  Scrolling through some large file with many non-ASCII
> > characters comes to mind (the Unicode UCD has quite a few of such
> > files).
> 
> Is there a standard benchmark code that I can try for this?  I have such
> a large HTML file with Tamil text, and I can scroll through the buffer
> produced by shr-render-buffer.

See my response to Gerd a few minutes ago.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 07:51:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 03:51:08 2025
Received: from localhost ([127.0.0.1]:35133 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7rMR-0000jR-77
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 03:51:08 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:57198)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1u7rMM-0000hb-LI
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 03:51:04 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1u7rMG-0006ca-2O; Thu, 24 Apr 2025 03:50:56 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=p2tNpTMXHhHKkn6V0pilyke804QdVAMpvWc5KuMpTPw=; b=cwCnvro05Kx/EyThzqo0
 7ZnjxAuxV7tby8ib41Yhl4bw3FDaW6cWYusuA2ZtAfTZScHAgxUimBkre3kY24H4FpVA9s89pfp8f
 X7qzy5TDKvAyTqNNyvinb7O3Ll4fFlyjS0c/woOm4cnaUHZabIAFsmMvwJ8VpIxDoT9rqb2nGhw+c
 F29BQ/Q4unC5Pay1cUrvTiYfeXjZRS3PC1f315A/FxTNtv2Ksm5MmXJtONOed7etof6zka9uS0DZQ
 /cIANZoRGUJ0gf2t30sGgbIb9PbKm7l9fhf9IAMSSqt8udGt1BN99O1mEctAm7oOwzo3Cav5l3QsS
 e5K2QPGx3AxljQ==;
Date: Thu, 24 Apr 2025 10:50:50 +0300
Message-Id: <86cyd2yp45.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Gerd =?iso-8859-1?Q?M=F6llmann?= <gerd.moellmann@HIDDEN>
In-Reply-To: <m2ikmunmiq.fsf@HIDDEN> (message from Gerd
 =?iso-8859-1?Q?M=F6llmann?= on Thu, 24 Apr 2025 07:42:21 +0200)
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN> <jwvecxiga9d.fsf-monnier+emacs@HIDDEN>
 <86msc6ywyx.fsf@HIDDEN> <m2ikmunmiq.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77924
Cc: yantar92@HIDDEN, monnier@HIDDEN, 77924 <at> debbugs.gnu.org,
 stefankangas@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Gerd Möllmann <gerd.moellmann@HIDDEN>
> Cc: Stefan Monnier <monnier@HIDDEN>,  stefankangas@HIDDEN,
>   77924 <at> debbugs.gnu.org,  yantar92@HIDDEN
> Date: Thu, 24 Apr 2025 07:42:21 +0200
> 
> Eli Zaretskii <eliz@HIDDEN> writes:
> 
> > Still, for performance-oriented changes, it would be nice to see some
> > benchmarks.  Scrolling through some large file with many non-ASCII
> > characters comes to mind (the Unicode UCD has quite a few of such
> > files).
> >
> > Also, I believe there were cases where a lot of conversions
> > created gobs of markers which slowed down things; it would be good to
> > run those cases to see how they are affected.
> >
> > And finally, how about running the whole benchmark suite we have, in
> > case it uncovers some unexpected results?
> 
> I can offer to run benchmarks on my Mac mini.

Should be fine, I think.  I very much doubt that there will be
significant differences between platforms for this kind of changes.

> But we should agree upon what elisp-benchmark files I should use and on
> the number of runs, because running them takes an eternity, and because
> some of the benchmarks Stef (and me for elb-search) ran are not in the
> "official" elisp-benchmarks package.

I trust you and Stefan to decide on that.  I myself am not familiar
with the elisp-benchmarks suite well enough to have an opinion that is
of importance.  From where I stand, the important part is comparing
the current master with the branch.

> Don't know about the scrolling benchmark. Is what is in elisp-benchmarks
> enough? If not, can you please give me a bencnhmark file for what you
> want benchmarked?

I don't know whether we have it in elisp-benchmarks, but if we don't,
then the following should be good enough:

(defun scroll-up-benchmark ()
  (interactive)
  (let ((oldgc gcs-done)
        (oldtime (float-time)))
    (condition-case nil (while t (scroll-up) (redisplay))
      (error (message "GCs: %d Elapsed time: %f seconds"
                      (- gcs-done oldgc) (- (float-time) oldtime))))))

Evaluate this, then invoke "M-x scroll-up-benchmark" in a large buffer
with lots of non-ASCII characters.  Compare the timings between the
two versions of Emacs.

Thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 06:29:34 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 02:29:34 2025
Received: from localhost ([127.0.0.1]:34252 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7q5V-0001AJ-Ra
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 02:29:34 -0400
Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]:61881)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7q5S-00019M-S0
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 02:29:32 -0400
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-43cf0d787eeso6389785e9.3
 for <77924 <at> debbugs.gnu.org>; Wed, 23 Apr 2025 23:29:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745476164; x=1746080964; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=NFshJ97chhyt5ft4ijgl/cFX14Q3ue5+blHCc1Bn700=;
 b=hPz3wKPDrVFha89OISy9lbONPOL4ZM97082lSrsGDeQk3hT98h5pqjayKDbJTs2vhK
 s+ohd0GS3C08gNoREyDjs20qlozldlPlsRDl4XJniA30rKynkrBRENU+IuXaXPbmWBq4
 a9udVXUeW8wA9pes/4qDBk3RXtJcwGcGPJ7rBcogcTzDPc3U1Z7SUq+/XHYoqwn8HjbO
 TVy7mp9B9se6aI4+UFjPeJhmBJOrz//Q37NJwAwNjDMuw0FOz8zfftfQxvi6dCmciTnG
 sP2IC28tLBpk9d9eN5bMHOAWbZKXnEx1wFqaA7DHYWVI1zH/zwjUYlLUl506wTrqw96e
 GaVQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745476164; x=1746080964;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=NFshJ97chhyt5ft4ijgl/cFX14Q3ue5+blHCc1Bn700=;
 b=BFrxnlkAIna7ez7q/UvDh4imAsoz9n+f1JL3WYbt2zvgcOtBpATLpSuhT/vJbXAmsa
 KF0qoiGD/Ya66OJIfvmvndUZJxB1iJ1JWpXw9ZXi5kvpTAvhJcgQG89UgJTE/RvFLyTI
 CyRHA/ljPvRdDmeHSGSQY6Cuhij2IxNPpgcoQIAz2crBwPwlZOd5+hLHG8p2bNZKX5mC
 PfC5ExaPwCyglONvigOg0LKYvl5ksryLlpbEtWtofocibWSRBJ65+ridr7OQQ774+fSe
 LyWcrpSaQvGekQOrpT3ygIr4JCdil1hGW09yiy6IOgLBxECehlJHJ6vkKaAMswBxeRqd
 2o1A==
X-Forwarded-Encrypted: i=1;
 AJvYcCWOltvMTonC+J4MYfxzRpyXDuwuJ0tLdNHke6yJb0Sgo4jT9RjrTrQV8WZb3YnRCtXP74wg0g==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YwF18rADxpqeiSuJs2mhzLcuzph5/M6VS+cN4XlRHce0sf3Qtm8
 mbX0UWNimbCbJhdNV+q0c2pZRvfXkDkm+ZLlN6SKh6mfBfTkbCynX8+yAJ//
X-Gm-Gg: ASbGnctSiWUqcCqiEpvUcYJOKIlMrK6LzdxUZpD5TNjEkP73kBAYa6NJQjT84bBJC/B
 hWP0PwSIMMZhCsOwdo+oBMJfJvfb8RPlTfgWf1Y96ly+SN5K7Mh8B+ewmHzpTlV0SZVDnMuUxOX
 k81gKHgeNbm9XJVpkZODJICmucEgvnZWedJTfR3PVvELy56Hyew95h7Gp61sQBh0EieIgwVbILk
 GlIO1/Ti93+DxtahVfFzA+V21dznw1XHF2DLoNrtwxws+QMZ63PibxSRj31W+29R59EyFkVOj/k
 KhUI1E4uuWEVXQbWwmaKNMUrgBA0wsUEg344TQen/ghm5TOlQisfinEzFlfVudzMq4wVqkyPGTV
 scQT5pwcDx0MTp0/AlsTVq2+OZUWDJNoAMkOuvoN+HAjKPho4wg==
X-Google-Smtp-Source: AGHT+IGQxixqOBuA98mz+W1fbjX325Is6dV1n6Jw1Lc33AY97Z4Wp+MyLHVmeAz7NAFbtIolxMqELw==
X-Received: by 2002:a05:600c:348d:b0:43c:e8a5:87a with SMTP id
 5b1f17b1804b1-4409bd2deb3mr12270875e9.16.1745476163749; 
 Wed, 23 Apr 2025 23:29:23 -0700 (PDT)
Received: from pro2 (p200300e0b70e65008c33e61e626c43d3.dip0.t-ipconnect.de.
 [2003:e0:b70e:6500:8c33:e61e:626c:43d3])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4409d1e19e1sm7744055e9.0.2025.04.23.23.29.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 23 Apr 2025 23:29:23 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Visuwesh <visuweshm@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <87plh2m72a.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN> <jwvecxiga9d.fsf-monnier+emacs@HIDDEN>
 <86msc6ywyx.fsf@HIDDEN> <87plh2m72a.fsf@HIDDEN>
Date: Thu, 24 Apr 2025 08:29:22 +0200
Message-ID: <m2ecxinkcd.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: 77924
Cc: Eli Zaretskii <eliz@HIDDEN>, yantar92@HIDDEN,
 Stefan Monnier <monnier@HIDDEN>, 77924 <at> debbugs.gnu.org,
 stefankangas@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Visuwesh <visuweshm@HIDDEN> writes:

> [=E0=AE=B5=E0=AE=BF=E0=AE=AF=E0=AE=BE=E0=AE=B4=E0=AE=A9=E0=AF=8D =E0=AE=
=8F=E0=AE=AA=E0=AF=8D=E0=AE=B0=E0=AE=B2=E0=AF=8D 24, 2025] Eli Zaretskii wr=
ote:
>
>>> From: Stefan Monnier <monnier@HIDDEN>
>>> Cc: gerd.moellmann@HIDDEN,  stefankangas@HIDDEN,
>>> 	77924 <at> debbugs.gnu.org, Ihor Radchenko <yantar92@HIDDEN>
>>> Date: Wed, 23 Apr 2025 11:41:43 -0400
>>>=20
>>> > Btw, did I miss some benchmarks?  I presume that the main motivation
>>> > for this branch is to speed up markers and charpos-to-bytepos
>>> > conversions, is that right?  If so, the only benchmark I saw shows on=
ly
>>> > a very mild speed-up, but maybe I missed something?
>>>=20
>>> AFAICT we have tuned the current charpos<->bytepos conversion code such
>>> that its worst case virtually never shows up in practice.
>>>=20
>>> Supposedly Ihor has a use case where that conversion still can make
>>> a noticeable difference, but I don't know if he tried the `text-index`
>>> branch to confirm that it makes a measurable difference on his case.
>>>=20
>>> Gerd and I played with some micro benchmarks to confirm that the
>>> pathological behaviors are indeed solved, but other than that, the focus
>>> was on making sure the branch does not make the normal case slower
>>> (contrary to my sorted-array-of-markers-with-gap).
>>
>> Still, for performance-oriented changes, it would be nice to see some
>> benchmarks.  Scrolling through some large file with many non-ASCII
>> characters comes to mind (the Unicode UCD has quite a few of such
>> files).
>
> Is there a standard benchmark code that I can try for this?  I have such
> a large HTML file with Tamil text, and I can scroll through the buffer
> produced by shr-render-buffer.

The elisp-benchmarks package has an elb-scroll.el, in its benchmarks
directory. AFAICT, that loads an xmenu.c from the resources
sub-directory of the benchmarks.

You could copy that, or modify it.

P.S.

One can set the benchmarks directory to somewhere else, and run
benchmarks like this:

  (setq elb-bench-directory "~/emacs/notes/code/benchmarks")
  (elisp-benchmarks-run ".*replace-region-contents.*" t 100)

The 100 is the number of runs, which should be chosen high enough that
the "err" column in the result buffer is reasonably low. I'd start with
1 to see how long that takes, and then increase it.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 06:01:46 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 02:01:46 2025
Received: from localhost ([127.0.0.1]:34016 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7pec-0007Dy-A6
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 02:01:46 -0400
Received: from mail-pl1-x644.google.com ([2607:f8b0:4864:20::644]:57450)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <visuweshm@HIDDEN>)
 id 1u7peZ-0007DX-HA
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 02:01:45 -0400
Received: by mail-pl1-x644.google.com with SMTP id
 d9443c01a7336-224100e9a5cso7720245ad.2
 for <77924 <at> debbugs.gnu.org>; Wed, 23 Apr 2025 23:01:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745474497; x=1746079297; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=79jaPFDtTTrB5qdmUUdnvFyWF9PKdyVJERdh8gR2r+g=;
 b=e2QZ1x8YesPrdz5uC8EmpxJ77btB0bSDca5+Q68e1e8vAmrzKVemt0/6oJUnR6n1ve
 aVqWIpVd9wckQLkaKsNGIXI6FQ6mldJEuHvnpyg43vNM8HskwxviYg+y6pfc75tOUrk0
 epA+yBg4ics/skTXFGDP7AEN3gz+5/GxPkWo6ILVk26Js/Hd67NOgcVX5rvi+Bp46ank
 +FCRLu/WDBx9wMRcS8yrVRoR7EUPsK+qcxHuBtgb/VUSCQIwBSXWkGcr7OCxegEQvnJv
 4cjwIT6kmoZjRcty+YfxM4u2YVoxe9jgvN92SRl8nph8DR9kdVAEJz6choXKq4BEKOaB
 yq0A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745474497; x=1746079297;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=79jaPFDtTTrB5qdmUUdnvFyWF9PKdyVJERdh8gR2r+g=;
 b=G7tuky+Hu1HPRFwEVUEDtXpdSjgqltUyIkh59y5O+hIfC+mMFEVdek/7slVvjuT9q/
 xQSfKlByAYn9xbV0W4DaxbAfHEoHHBeb58LlLQ59XhMtF3+qHQApMEsoDaZSyfRi3Sp7
 39v227OVPLxY4WGxO7lkqLiQNnur0fYzRG10bMwJTfl1ZqcM/AaXlvIs5L0kCp6TEIkB
 Xwv+G594yJwW7ZutM916s0TdjFPFTv6PUHcGgwJS4210NQfKmLSvdfTXDck4/weYBkha
 TSghYKnsli6ztbgFLFFCa7yocXI6JGvnplwdjSlZfym9d2fwritFvVfA3RfSu7IAHezI
 WQHA==
X-Forwarded-Encrypted: i=1;
 AJvYcCU+BwTJws2dcARA9DDD16CMFxrNfkQZc+RfBbf+8g2TTQJXkinnG+3Z20Mo4eSR15A0Dx8dKQ==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YwVwK115c13GnLpgiwN4GIgjWHBz9yfjQsHkn3Ia7aKXyiSL8L2
 YKvS44pzYJHpm2b9ZmwEyLqG4RLshVAsrcR35XyXUgyCj55jF+NN
X-Gm-Gg: ASbGncvmOxOjDrsfYHpvBY5dWaZCwpGIwy+uyHLfIOQX02IQf07jiK1zVEecOhV3Gwy
 Dk2a2wA7rpyFwT9wvWTyn3BV4iKBQItxVvetXglahWriqCBxaC1/r1fPL5nmS1VnnesC+VXai+K
 w/mx35YzDF5lF/P7j9HgoTecOHE29p2BHCBtc6trt7wL2mCH2JOO2Yn0YmYc4mJ/JO0U34GwDw4
 pf+pxLh0fqTGYQFznLjLnduVrzCv3IoI3HIW9e6dLzUjaWcBxK+nFkcKUlUbNujiMkDeBBKePdM
 aPGoS9IuBFhHNP+CCfBkKiXi5gnmWOXUND5W5Q==
X-Google-Smtp-Source: AGHT+IFUTjmTvjXMurOoCCmgB31mMsYTeKmn6x2ewRUehz/hLUWlDisz9Ky5LEWOWf4AILCV60yCfQ==
X-Received: by 2002:a17:902:cecb:b0:223:5525:6239 with SMTP id
 d9443c01a7336-22db3d7afcdmr20704205ad.38.1745474497224; 
 Wed, 23 Apr 2025 23:01:37 -0700 (PDT)
Received: from localhost ([115.240.90.130])
 by smtp.gmail.com with UTF8SMTPSA id
 d9443c01a7336-22db50e79f7sm4692155ad.155.2025.04.23.23.01.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 23 Apr 2025 23:01:36 -0700 (PDT)
From: Visuwesh <visuweshm@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <86msc6ywyx.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN> <jwvecxiga9d.fsf-monnier+emacs@HIDDEN>
 <86msc6ywyx.fsf@HIDDEN>
Date: Thu, 24 Apr 2025 11:31:33 +0530
Message-ID: <87plh2m72a.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: 77924
Cc: gerd.moellmann@HIDDEN, yantar92@HIDDEN,
 Stefan Monnier <monnier@HIDDEN>, 77924 <at> debbugs.gnu.org,
 stefankangas@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

[=E0=AE=B5=E0=AE=BF=E0=AE=AF=E0=AE=BE=E0=AE=B4=E0=AE=A9=E0=AF=8D =E0=AE=8F=
=E0=AE=AA=E0=AF=8D=E0=AE=B0=E0=AE=B2=E0=AF=8D 24, 2025] Eli Zaretskii wrote:

>> From: Stefan Monnier <monnier@HIDDEN>
>> Cc: gerd.moellmann@HIDDEN,  stefankangas@HIDDEN,
>> 	77924 <at> debbugs.gnu.org, Ihor Radchenko <yantar92@HIDDEN>
>> Date: Wed, 23 Apr 2025 11:41:43 -0400
>>=20
>> > Btw, did I miss some benchmarks?  I presume that the main motivation
>> > for this branch is to speed up markers and charpos-to-bytepos
>> > conversions, is that right?  If so, the only benchmark I saw shows only
>> > a very mild speed-up, but maybe I missed something?
>>=20
>> AFAICT we have tuned the current charpos<->bytepos conversion code such
>> that its worst case virtually never shows up in practice.
>>=20
>> Supposedly Ihor has a use case where that conversion still can make
>> a noticeable difference, but I don't know if he tried the `text-index`
>> branch to confirm that it makes a measurable difference on his case.
>>=20
>> Gerd and I played with some micro benchmarks to confirm that the
>> pathological behaviors are indeed solved, but other than that, the focus
>> was on making sure the branch does not make the normal case slower
>> (contrary to my sorted-array-of-markers-with-gap).
>
> Still, for performance-oriented changes, it would be nice to see some
> benchmarks.  Scrolling through some large file with many non-ASCII
> characters comes to mind (the Unicode UCD has quite a few of such
> files).

Is there a standard benchmark code that I can try for this?  I have such
a large HTML file with Tamil text, and I can scroll through the buffer
produced by shr-render-buffer.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 05:42:36 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 01:42:36 2025
Received: from localhost ([127.0.0.1]:33833 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7pM3-0005Wv-Tf
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 01:42:36 -0400
Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]:51613)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7pLx-0005Vf-NP
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 01:42:31 -0400
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-3995ff6b066so243822f8f.3
 for <77924 <at> debbugs.gnu.org>; Wed, 23 Apr 2025 22:42:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745473343; x=1746078143; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=Iu1pI3kf35bt0Ai5AF1lvMYxu5X+zRnoaIXDJ1FPSio=;
 b=i0sQIJ3/PbeOYGD0qPaGx3RAdtxu4w75xPFLFg6rQ9O7oE7LrSm3SVRw4RlUfGgl8n
 ebC5G2vOsNRW6R22y9XrOIxCirCqHOl2HE5NLa6cPpQ5kj8ylbO33V8NSTvPY8Y6M393
 QM6GbMJU8X1k3GUi9IcDmbSAYfWdEAailWpjYPilkfdoxxtoO3PU30duR9vo8R2OQzIC
 MDxEKPr803pdePpTXFtLZRenjWqdSnKgzxvQrl8rEJNUvk1wwUwr2g07HTwYNgWEXnuq
 OLvgZbyKqvXkpHTDBTHBUev15JCAmxloBsN5vq5vsWxTuUmZvKbxEupO8F2DKgk0aUqm
 4bMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745473343; x=1746078143;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=Iu1pI3kf35bt0Ai5AF1lvMYxu5X+zRnoaIXDJ1FPSio=;
 b=dekOeV3/1xSGhPctHpWMY8nDjppOJbYkpkXtw53NDAULO6kf4g7f7BX+9m0tytduhk
 CG0xZw3SULLPMZlYSdhYjEmy5RqKdMeyMgDj9GNGTv5rBbk1oglFge/nriYS6sMXPoyh
 Vy6LxXtUChwNZHea3l71jvp/eGzaZHXuOpZfBPCUhdcERpIOHLlF9q5l5zD6iGjxbZyR
 umuvG2ihn5kiYmCsSNih2U7wHawkOx1jGLlGM1NWRN5bARF3AT4ULOF8qiA6wwAVMQlE
 +bqf51Wony2Jj22qrwz7O9oVAghobERpFoWBdqB7o+a3LDhZNb2R5xWi5vk+f1Kq50rS
 1CAw==
X-Forwarded-Encrypted: i=1;
 AJvYcCW6YpieAM19qyzklQM140twxlmsOHyg0hRyj+CAPSMIFPXgfUpNxNvPjdGdXWJPiBakEI/SVw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YyA76IAE1tCO52ot+kDAmiT9819+B+0Cn0jsc/CRHas07BW7WRz
 oR6r1j+Jp3jU0WWJp0BNZNF7hAvpHPNAxVX4Fax5o/c15Mwh8FNe
X-Gm-Gg: ASbGnct+8IbDUw3mJJjpzUEHCzN6hnrGpPuS3DRaHMKQly3o06kzUvFTH5cHRrDsI0/
 A5awx3rnpBo2ur7TwujwGooMqaUhgL1AE/wPi+FHy0eAIA0SnV8wxNUUNyG+Hfbb2DvDqTFWtzR
 hmqBF3lfXI4ORI+TWG4UQNuxd1qXnjWmXXZhY/WwnPf2V9ylUUkA5aL1ldLXtN4qaaBTBBvS6RI
 FSZ+5wvkb2+S2jEytaqT4TFfwbt9HMdzEFob1eBnv9zR1BplV343H6tWy/OsawQQchn/lFKcvHb
 yBDLJEgf+pB/2Zt+YLz0hHfxhHxxZeLUR8FdUuAyeBHh/Op/mVMto82OHjfoSiiLB6VLn5V/xJA
 hZMZ/ULZKuh9yav+1LQyBqJs8zRz3S0iHf56v7x7TDD4u/9r1eQ==
X-Google-Smtp-Source: AGHT+IFAKPPXYiOuag8ubKQWlXlDqv8TYsiz4IEIydDan/YnW9+7kVtefFMKjeX0a8WKslvds907Ug==
X-Received: by 2002:a05:6000:228a:b0:391:29c0:83f5 with SMTP id
 ffacd0b85a97d-3a06cfa2f2cmr766351f8f.44.1745473343266; 
 Wed, 23 Apr 2025 22:42:23 -0700 (PDT)
Received: from pro2 (p200300e0b70e65008c33e61e626c43d3.dip0.t-ipconnect.de.
 [2003:e0:b70e:6500:8c33:e61e:626c:43d3])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-3a06d4c492fsm861276f8f.42.2025.04.23.22.42.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 23 Apr 2025 22:42:22 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <86msc6ywyx.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN> <jwvecxiga9d.fsf-monnier+emacs@HIDDEN>
 <86msc6ywyx.fsf@HIDDEN>
Date: Thu, 24 Apr 2025 07:42:21 +0200
Message-ID: <m2ikmunmiq.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: 77924
Cc: yantar92@HIDDEN, Stefan Monnier <monnier@HIDDEN>,
 77924 <at> debbugs.gnu.org, stefankangas@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

>> From: Stefan Monnier <monnier@HIDDEN>
>> Cc: gerd.moellmann@HIDDEN,  stefankangas@HIDDEN,
>> 	77924 <at> debbugs.gnu.org, Ihor Radchenko <yantar92@HIDDEN>
>> Date: Wed, 23 Apr 2025 11:41:43 -0400
>> 
>> > Btw, did I miss some benchmarks?  I presume that the main motivation
>> > for this branch is to speed up markers and charpos-to-bytepos
>> > conversions, is that right?  If so, the only benchmark I saw shows only
>> > a very mild speed-up, but maybe I missed something?
>> 
>> AFAICT we have tuned the current charpos<->bytepos conversion code such
>> that its worst case virtually never shows up in practice.
>> 
>> Supposedly Ihor has a use case where that conversion still can make
>> a noticeable difference, but I don't know if he tried the `text-index`
>> branch to confirm that it makes a measurable difference on his case.
>> 
>> Gerd and I played with some micro benchmarks to confirm that the
>> pathological behaviors are indeed solved, but other than that, the focus
>> was on making sure the branch does not make the normal case slower
>> (contrary to my sorted-array-of-markers-with-gap).
>
> Still, for performance-oriented changes, it would be nice to see some
> benchmarks.  Scrolling through some large file with many non-ASCII
> characters comes to mind (the Unicode UCD has quite a few of such
> files).
>
> Also, I believe there were cases where a lot of conversions
> created gobs of markers which slowed down things; it would be good to
> run those cases to see how they are affected.
>
> And finally, how about running the whole benchmark suite we have, in
> case it uncovers some unexpected results?

I can offer to run benchmarks on my Mac mini.

But we should agree upon what elisp-benchmark files I should use and on
the number of runs, because running them takes an eternity, and because
some of the benchmarks Stef (and me for elb-search) ran are not in the
"official" elisp-benchmarks package.

Don't know about the scrolling benchmark. Is what is in elisp-benchmarks
enough? If not, can you please give me a bencnhmark file for what you
want benchmarked?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 24 Apr 2025 05:01:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 24 01:01:28 2025
Received: from localhost ([127.0.0.1]:33497 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7oiF-0007EV-FN
	for submit <at> debbugs.gnu.org; Thu, 24 Apr 2025 01:01:28 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:47780)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1u7oiB-0007Da-CT
 for 77924 <at> debbugs.gnu.org; Thu, 24 Apr 2025 01:01:24 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1u7oi5-0004SD-84; Thu, 24 Apr 2025 01:01:17 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=2FUNtTtQ+QfWwDzE1OnAuGQr7x+6BOOTNOnUTUghUQM=; b=KkhowpNPHwTk
 nNyN9WE2LNjmXkcB/WNH5BIhWheFnZvfx6upbaYc7JPVaF2PuNuxY4Nn3kMszcVWK2sLP3HJbWR3U
 4Iz1ROUWsSAAv7S6GBXseZSQX1agnIzcq8Kxxrpi58Eed4PMhzDupXime451W87XQChQb/pBBu7k1
 QIrN0m6BAcf7jJ02nLTzpKXQDqyX5GyI59iSQxT3EQuvMC/E12U/wBJGXCKV3ywBY1i9jlzfhOJ3I
 6Ljwe6lSWVL6R8D+MkotIBchhl3JwtjhhO3TpTq3a1PLoylR/Bxw6CVpOJTsdW/02L3rs5MCiEA1s
 8RWs2zhPJk4pYfzFskIypg==;
Date: Thu, 24 Apr 2025 08:01:10 +0300
Message-Id: <86msc6ywyx.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <jwvecxiga9d.fsf-monnier+emacs@HIDDEN> (message from Stefan
 Monnier on Wed, 23 Apr 2025 11:41:43 -0400)
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN> <jwvecxiga9d.fsf-monnier+emacs@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77924
Cc: gerd.moellmann@HIDDEN, yantar92@HIDDEN, stefankangas@HIDDEN,
 77924 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Stefan Monnier <monnier@HIDDEN>
> Cc: gerd.moellmann@HIDDEN,  stefankangas@HIDDEN,
> 	77924 <at> debbugs.gnu.org, Ihor Radchenko <yantar92@HIDDEN>
> Date: Wed, 23 Apr 2025 11:41:43 -0400
> 
> > Btw, did I miss some benchmarks?  I presume that the main motivation
> > for this branch is to speed up markers and charpos-to-bytepos
> > conversions, is that right?  If so, the only benchmark I saw shows only
> > a very mild speed-up, but maybe I missed something?
> 
> AFAICT we have tuned the current charpos<->bytepos conversion code such
> that its worst case virtually never shows up in practice.
> 
> Supposedly Ihor has a use case where that conversion still can make
> a noticeable difference, but I don't know if he tried the `text-index`
> branch to confirm that it makes a measurable difference on his case.
> 
> Gerd and I played with some micro benchmarks to confirm that the
> pathological behaviors are indeed solved, but other than that, the focus
> was on making sure the branch does not make the normal case slower
> (contrary to my sorted-array-of-markers-with-gap).

Still, for performance-oriented changes, it would be nice to see some
benchmarks.  Scrolling through some large file with many non-ASCII
characters comes to mind (the Unicode UCD has quite a few of such
files).

Also, I believe there were cases where a lot of conversions
created gobs of markers which slowed down things; it would be good to
run those cases to see how they are affected.

And finally, how about running the whole benchmark suite we have, in
case it uncovers some unexpected results?

Thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 23 Apr 2025 16:30:02 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 23 12:30:01 2025
Received: from localhost ([127.0.0.1]:58542 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7cz1-0006cy-Vy
	for submit <at> debbugs.gnu.org; Wed, 23 Apr 2025 12:30:01 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:62294)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <monnier@HIDDEN>)
 id 1u7cyz-0006bj-LW
 for 77924 <at> debbugs.gnu.org; Wed, 23 Apr 2025 12:29:57 -0400
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 4BFA980911;
 Wed, 23 Apr 2025 11:41:52 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1745422911;
 bh=S16DMYFoKf/EaVE6DyAn2JaKqqvN8b3xl9NnOsSZznY=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=iTpCVPiGxFRz+BiPFY/5wKMxatR2PwQbQ1dRJzOkw7IXxnNseAFIqApu+8ZzIEOzQ
 +EnJmdB5y4tDaNHI20Hna6+Co8DF85fWnDzqPRLtDUy+lXufqp5BOX4NdIkF7ucsC/
 ZC1sAfIKfm5RYfahji+VLxgth11XrMiAgEdfLKoA9TDjLDzE454Ioj0ZAtxTuMcJgg
 Gj8b/M9KMCMbKaQGOlQd3mrt70gdo/9cfRtLZEtpH0rVSbAmBjHAiqT2bVE2zfG+jM
 JUYxh7/g40Fx5kotVJOlPT/SQ6bIbCAAWjKeqVAKE+Nxm9OvKME9CYhsmCjcnvsVkw
 SFk7AXWdn3IhQ==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 8732980823;
 Wed, 23 Apr 2025 11:41:51 -0400 (EDT)
Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 780551200E4;
 Wed, 23 Apr 2025 11:41:51 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <86o6wnylxf.fsf@HIDDEN>
Message-ID: <jwvecxiga9d.fsf-monnier+emacs@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN>
Date: Wed, 23 Apr 2025 11:41:43 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL 0.207 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77924
Cc: gerd.moellmann@HIDDEN, Ihor Radchenko <yantar92@HIDDEN>,
 stefankangas@HIDDEN, 77924 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Btw, did I miss some benchmarks?  I presume that the main motivation
> for this branch is to speed up markers and charpos-to-bytepos
> conversions, is that right?  If so, the only benchmark I saw shows only
> a very mild speed-up, but maybe I missed something?

AFAICT we have tuned the current charpos<->bytepos conversion code such
that its worst case virtually never shows up in practice.

Supposedly Ihor has a use case where that conversion still can make
a noticeable difference, but I don't know if he tried the `text-index`
branch to confirm that it makes a measurable difference on his case.

Gerd and I played with some micro benchmarks to confirm that the
pathological behaviors are indeed solved, but other than that, the focus
was on making sure the branch does not make the normal case slower
(contrary to my sorted-array-of-markers-with-gap).


        Stefan





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 23 Apr 2025 16:24:01 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 23 12:24:01 2025
Received: from localhost ([127.0.0.1]:58521 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7ctF-0005av-9k
	for submit <at> debbugs.gnu.org; Wed, 23 Apr 2025 12:24:01 -0400
Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]:43419)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7ctB-0005ZH-EB
 for 77924 <at> debbugs.gnu.org; Wed, 23 Apr 2025 12:23:58 -0400
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-3912fdddf8fso886801f8f.1
 for <77924 <at> debbugs.gnu.org>; Wed, 23 Apr 2025 09:23:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745425431; x=1746030231; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=ZBnCY05jVwquqDXWob+MyVwxSbObnp/Uw1s1LTsavCs=;
 b=LcvJXGcbSsR0nXU43Lzpd5bzFGomtWF/XtQkHVi+kiZ4gUZ+f/joSNH+y01yJlfKZM
 jhF+8i+3FDZak4nXkT7vH/Gt7KkJorMHrOzDdIJ/JZAOafs8PjG8+sIlEWyJHHYmR/Bk
 4ogg0srUMyQixP9v38qm5pkIEPn+Sy5TEBb14s/S/dRe2tZ2W/jrol+OgjfpM/ZEy0Ey
 U6bzV93IF3RryVxDVX/G5vIvCRqHPyTecNZauTI68CpJsKxAZwyjKyQvb6ZtYANB73dY
 78Tf4ZzBnIE2bLfRTn09I7mZ3z24CjQHj2IYGpJQ9BzsOPkeHQCcimXB7NERk2nBFObc
 HMVQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745425431; x=1746030231;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=ZBnCY05jVwquqDXWob+MyVwxSbObnp/Uw1s1LTsavCs=;
 b=ScPaXIATZTpkcK2BNmiEhWd7BpfmAZVN48JQdXTMA7SfmgSz6hYz5Df4WQoYBm+VPE
 v7JvoEO1VveQoYfqyXl3IAAFcQNimTpAjRrDLQhtyJBQw5ut3/zV5NQ44iAuXcSqdG2O
 hZUUA5C3uk6LRGKitvGJNznhvEXQoK0dihkX4dkZda3vLmT0NazWM7RaDD64nJZC428+
 vijZUqZcNqXKWxqi39do+p9bTiNaCn6It4uM7pOKJiJfqvwTUyDBIlMjf5BShnIymZ3q
 rdggKCf6KmTzmNRYP+UNb7k8Km+WgltFg8edeIVvY7lDkTkjRyUNEQTt9vNgLB7D/aQm
 2mew==
X-Forwarded-Encrypted: i=1;
 AJvYcCURAovt66ZeEuNwPRa4zo/HSE+uVQpqhqW+MJjBwZ5kDb1+/B1iGwgooRXB6kAWpqajkWjYEQ==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YxKfBSWIMHplr+01MRjEuYcFfni4dXuUZB7RDiRfRRmWslH8W7L
 340NME5BvZ3fF8fA7A7xpSFJ/12o1+xFFneJPYHTJVD/0yi3Z3cM
X-Gm-Gg: ASbGncsVLIst8LKLmuOGoJuZbHGHYOVWh0X6qU45DMftiOk+IMOVCrldLzqmP9Rg0Q/
 g2q/Z6zzHgi6lEBrQQnqFzZRTAfL0BG7h8ZiV+of0yTkmpV+CzYlFrECxU7yZRkC5I3zLFc9SY5
 dKu9YYFFndRfGiubHefwCk5wv6TQaD5nrPSW7SQ//3CY+0M3smwDy5yKUfaUgt0af+CRj/hcsly
 G/nWlEfFV1d9Um8L9POzTbYTorDXvC7agfro/0jXPhcs7x0vqhnBOytytR9j3iLKdKTXGMEWKgP
 iyxyOnFqRuvIs/WNSWHnEMn2uE91I9+uOdrvqxVhy7wbm8GiZaxci7GJXoLzDTSLt1S8MEcLqLp
 ooPeYsv+xlymp3FJeBZ5ekuKuIdOPgckqXX7IcHzQBXhyy1AvdA==
X-Google-Smtp-Source: AGHT+IGPx12cVg3ALlwEMXZkylJo0auQCjculeAEgtkvgvKZHMEamJXX1Nd/3ZlwtSux3jyqYCiQNw==
X-Received: by 2002:a5d:648d:0:b0:39e:cbca:8a72 with SMTP id
 ffacd0b85a97d-3a06723a853mr3020042f8f.12.1745425431136; 
 Wed, 23 Apr 2025 09:23:51 -0700 (PDT)
Received: from pro2 (p200300e0b7376d00808a7ba45869fd57.dip0.t-ipconnect.de.
 [2003:e0:b737:6d00:808a:7ba4:5869:fd57])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-44092d178aesm31435895e9.8.2025.04.23.09.23.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 23 Apr 2025 09:23:50 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <jwvecxiga9d.fsf-monnier+emacs@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN> <jwvecxiga9d.fsf-monnier+emacs@HIDDEN>
Date: Wed, 23 Apr 2025 18:23:49 +0200
Message-ID: <m2v7quonhm.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: Eli Zaretskii <eliz@HIDDEN>, Ihor Radchenko <yantar92@HIDDEN>,
 stefankangas@HIDDEN, 77924 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Stefan Monnier <monnier@HIDDEN> writes:

> Gerd and I played with some micro benchmarks to confirm that the
> pathological behaviors are indeed solved, but other than that, the focus
> was on making sure the branch does not make the normal case slower
> (contrary to my sorted-array-of-markers-with-gap).

And, not to forget, it removed the cache markers which piled up a bit in
igc. That was actually my original motivation at the beginning.

Very nice, but so far only for. And, I don't know if that's wishful
thinking, but it feels a bit snappier in interactive use.





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 23 Apr 2025 16:10:18 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 23 12:10:18 2025
Received: from localhost ([127.0.0.1]:58490 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7cfw-00032P-Re
	for submit <at> debbugs.gnu.org; Wed, 23 Apr 2025 12:10:18 -0400
Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]:53730)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7cfs-0002yD-Fl
 for 77924 <at> debbugs.gnu.org; Wed, 23 Apr 2025 12:10:14 -0400
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-43cfba466b2so66856175e9.3
 for <77924 <at> debbugs.gnu.org>; Wed, 23 Apr 2025 09:10:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745424606; x=1746029406; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=eV1tYS8iSRNx5VHdGjj5ZLuaPazEnVMlqsYqXNi6B7g=;
 b=WWpU922kIA4WyeNcA89SpqNElJEBrr+2L3GcQ0S6llvVM6ke9lzxGBCYPsth7kbsPk
 OcgbB/DSquEwPzPDxukqZ5JDuYgKSl1H1wMNV1mnnWBM9m5vaiqn0xF4ZMY5CYJt/N8H
 d6sSyz7JHzvLhn1DprwHotiECVh1GEaIH+ttaQSZDm4OhyKifwsMX5nx+lUDTgvPyPom
 D9NSoyV3twpF7rA/Ccot8nBCRhVrLpTI0yWiqkKKj8luJiooaQc78v8R4+oMSEPA5eGA
 p4yB6fgQ8zOLbM9SCIH7bjY7CmsbfchJvu1+8hNCuicr3yrqa/AbfbLcaX00DB9XVHSz
 pORw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745424606; x=1746029406;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=eV1tYS8iSRNx5VHdGjj5ZLuaPazEnVMlqsYqXNi6B7g=;
 b=Q8Fpl+VR5RqKeFg4ltygMCwiOoHB02rI6lneOX4so5EXnQdv1IuZt4Dkt7HBGd2gqn
 sf1j2g98N7HCxfIOZSFzzhlgx8J8LurT9xQqk9OvEQs33IzJ307UU6imvzZaYOMNTDCx
 pmaC5gVwPLU3w92E4tRsHtjIm8JTWxbQJV4EcapU49Ik74UVD0hv8VjMQCP/ebRtdyXR
 9MWYd0VGURRkP88d8nPrKrMFBpPRq1ug6b+al4NRv2RvPs7vEiYiUFuHdSGHLS5DO9Lp
 32UeSWEa5LFmoCG6Cud5h0JNHJcfsGHnSzlXv2lh484pHyOdW/KfNVo6PMV34VLfyqEo
 FqAQ==
X-Forwarded-Encrypted: i=1;
 AJvYcCV9L37iK3+HTZsEFZe+NSBf/TWGrOFq+NtBkN6vxn8eF45eTiWV6h0u1+Qw6IorPbDKGYwiWQ==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YzYoJzR9/fnBPNzVZrDgYqFiOc+m57rox4ak91tkma/w6wy9SoA
 vYpGBL+fRairQ/PiGJbvNJIMaXJkv5mQimxtgO4J3NZtFV02IdDNBFohYhOK
X-Gm-Gg: ASbGncuzbKuTwimyn6zJlP/bYECADfg6FcHXg+f4cx//ENlC3hlEI9xDs4oiDq2xJEb
 0ev1dS2LzD3pjZLPxKZUf2J9wtraw3OmeNwj2RVL30LxAcFQDB8baQbaVt/0GrnsXbk4yr7REPx
 dmM4ibI0a5aID7R1seiWW1NJk6jrNDX+4M8vldMN7M9p2Q5TggecX4/JRJiAsde3Tq2HpgKwlCv
 pUwa3tPHTfHMkhZjB5b+0GXg3U2NUd3oDGsVKzppSOt4Ma9bFi1xrXWarWA1pRsd3xP+iGrIoLl
 Px3O96UMROqMJ2vp23Hr1gKVhK9xaV0JRv0RVrmRiNv8f2Sk3PplSOOoYxSSAaPfWAsmaGeF4o9
 rHF2+BPS2X+UT+SqssvADA0mRv0ioh2i6GRCLY0VM13cYr7HEWg==
X-Google-Smtp-Source: AGHT+IF3xjq4XXmm4gFrhmQcQHQOJlHaH8cHc+Np0wgrSu5FBgDJw1hPhJNV8lnhICa31HxTbzAwhg==
X-Received: by 2002:a05:600c:1383:b0:43d:23fe:e8a6 with SMTP id
 5b1f17b1804b1-4406ab78e24mr145960975e9.5.1745424605694; 
 Wed, 23 Apr 2025 09:10:05 -0700 (PDT)
Received: from pro2 (p200300e0b7376d00808a7ba45869fd57.dip0.t-ipconnect.de.
 [2003:e0:b737:6d00:808a:7ba4:5869:fd57])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39efa4a498csm18973762f8f.85.2025.04.23.09.10.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 23 Apr 2025 09:10:05 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN>
Date: Wed, 23 Apr 2025 18:10:04 +0200
Message-ID: <m2msc6oo4j.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: Eli Zaretskii <eliz@HIDDEN>, stefankangas@HIDDEN, 77924 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Stefan Monnier <monnier@HIDDEN> writes:

> FWIW, I'm not a great fan of rebasing either.  I did rebase the branch
> last night not for rebasing's sake but because I felt there was a need
> for more detailed commit messages.
>
> In any case, any objection to merging the branch?

BTW, while porting back your changes, I got

  1 emacs-git =E2=80=A6 am --3way -- /Users/gerd/emacs/github/cl-packages/0=
003-marker_vector_adjust_for_delete-Delete-function.patch
Markdown-style quotes in commit message
Markdown-style quotes in commit message
Commit aborted; please see the file CONTRIBUTE

:-)




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 23 Apr 2025 15:37:02 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 23 11:37:02 2025
Received: from localhost ([127.0.0.1]:58386 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7c9k-0005Vt-SA
	for submit <at> debbugs.gnu.org; Wed, 23 Apr 2025 11:37:02 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:21220)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <monnier@HIDDEN>)
 id 1u7c9h-0005Ue-VX
 for 77924 <at> debbugs.gnu.org; Wed, 23 Apr 2025 11:36:58 -0400
Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 0310E10002E;
 Wed, 23 Apr 2025 11:36:52 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1745422611;
 bh=ffx/workOmf5tCpcmV0NMeE5mndTlGu583Igm9eUnPQ=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=TYW564DObV5w2C7t2VQcdxnUYcQBMHVvOyDIc4o0vEWMgkbLyFVRiQ0li2xhu/RJc
 +I/JzXDMUw7mqRq77EM0/FL0QYOSmU8by7Ib83PUXrR8Tkzz+a2yznrK2RgLWCqxrN
 W/F+j/vV4tJ1zd36ts/MV/tJLMGUaSBPyUVR8pYtIv9lo51b4yf900o8LmNqxdhyP1
 qFVnWjeCCvi8dVbzcLJmLUyeesjqfEY47aPIxHaxoU5ejq/lr4QMRV490HV0nnfhev
 /+V4ChEUZ7bDKIrUJ0nkUIFmW10ziaE38+qI8h9vAOVixEKFSRVhOaQnExyq4bBaEe
 4JV4VJwvKfQpQ==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 3FBBE100027;
 Wed, 23 Apr 2025 11:36:51 -0400 (EDT)
Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 3000F12022C;
 Wed, 23 Apr 2025 11:36:51 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Martin Rudalics <rudalics@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <86o6wnylxf.fsf@HIDDEN>
Message-ID: <jwvjz7agaos.fsf-monnier+emacs@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
 <86o6wnylxf.fsf@HIDDEN>
Date: Wed, 23 Apr 2025 11:36:36 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL 0.105 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77924
Cc: gerd.moellmann@HIDDEN, Eli Zaretskii <eliz@HIDDEN>,
 stefankangas@HIDDEN, 77924 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

[ Hi Martin, need your opinion on `marker-last-position`.  ]

Eli wrote:
>> I'd like to have a closer review of it first, so please wait for a
>> while.  When I skimmed it, I remember having several, hopefully minor,
>> aspects that stood out, and I want to take a closer look.

Please do.  I hope my rebase makes it easier.  =F0=9F=99=82

BTW, during my rebasing I noticed the following incompatibility:

    commit 89ad510b2ebd5ed3ed8477e4a45ada3402bcedca
    Author: Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN>
    Date:   Thu Apr 17 08:42:52 2025 +0200
=20=20=20=20
        marker-vector.c: Move marker's position info to the array

makes it "impossible" to implement `marker-last-position`.

AFAICT this function is not used outside of Emacs at all (based on
a search of all *ELPA packages), but it *is* used in
`window--state-put-2`, since the following commit:

    commit 912e37b811107768e0cb3bc95184177f817dbdb2
    Author: Martin Rudalics <rudalics@HIDDEN>
    Date:   Mon Mar 4 10:33:49 2024 +0100
=20=20=20=20
        Fix 'set-window-configuration' and 'window-state-put'

What's the impact of breaking `marker-last-position`?


        Stefan





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 23 Apr 2025 14:47:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 23 10:47:57 2025
Received: from localhost ([127.0.0.1]:58255 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7bOG-0004mv-8U
	for submit <at> debbugs.gnu.org; Wed, 23 Apr 2025 10:47:56 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:41444)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1u7bO4-0004ks-NL
 for 77924 <at> debbugs.gnu.org; Wed, 23 Apr 2025 10:47:50 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1u7bNn-0004aD-Je; Wed, 23 Apr 2025 10:47:34 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=byOoPkj1vy8BboUloOVWJzT9AjjCMI/XWLbz+9+Zqmk=; b=iKytlme/TSkx
 1cW82ACTd0c7mq0mLHwlrwAStiDMrG5GlUP0FKjl/tU81W+IOp6PhaJHU+VHLOCgHXDCPuf6C+A5K
 WRjQzgIevZxUWX421JjwJdJ7QODBK4JuyR59XahZED5KSElLayMl5g/NKWASCt0DOCUzXSxr8XgWj
 M0OAHpoZbfj5SrPKWChg+BsBSwfpROlUHtRVC4l16zDZvbnMRhPrQdPdDTPhx5i9nM2SSw1Vt6Hn1
 2tlRks7fFN+TQAMzb/qgDSx+1ajZzQZlmDB4Y21TNUpgEZ83qlWWvsr8NmzYWXmnmEtB6UDxOjq/H
 9ciQUz1lWWoHKllK0MC8Iw==;
Date: Wed, 23 Apr 2025 17:47:24 +0300
Message-Id: <86o6wnylxf.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: monnier@HIDDEN, gerd.moellmann@HIDDEN
In-Reply-To: <86plh3ym7l.fsf@HIDDEN> (message from Eli Zaretskii on Wed, 23
 Apr 2025 17:41:18 +0300)
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> <86plh3ym7l.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77924
Cc: stefankangas@HIDDEN, 77924 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Cc: gerd.moellmann@HIDDEN, stefankangas@HIDDEN, 77924 <at> debbugs.gnu.org
> Date: Wed, 23 Apr 2025 17:41:18 +0300
> From: Eli Zaretskii <eliz@HIDDEN>
> 
> > From: Stefan Monnier <monnier@HIDDEN>
> > Cc: Eli Zaretskii <eliz@HIDDEN>,  stefankangas@HIDDEN,
> >   77924 <at> debbugs.gnu.org
> > Date: Wed, 23 Apr 2025 10:34:11 -0400
> > 
> > FWIW, I'm not a great fan of rebasing either.  I did rebase the branch
> > last night not for rebasing's sake but because I felt there was a need
> > for more detailed commit messages.
> > 
> > In any case, any objection to merging the branch?
> 
> I'd like to have a closer review of it first, so please wait for a
> while.  When I skimmed it, I remember having several, hopefully minor,
> aspects that stood out, and I want to take a closer look.

Btw, did I miss some benchmarks?  I presume that the main motivation
for this branch is to speed up markers and charpos-to-bytepos
conversions, is that right?  If so, the only benchmark I saw shows only
a very mild speed-up, but maybe I missed something?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 23 Apr 2025 14:41:41 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 23 10:41:40 2025
Received: from localhost ([127.0.0.1]:58225 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7bIA-0003pK-8G
	for submit <at> debbugs.gnu.org; Wed, 23 Apr 2025 10:41:40 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:43354)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1u7bI0-0003n8-MB
 for 77924 <at> debbugs.gnu.org; Wed, 23 Apr 2025 10:41:34 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1u7bHu-0003p0-U0; Wed, 23 Apr 2025 10:41:22 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=uZZR5XNQBhzq4j8Wxt708by1PnPUpHpwmwrJGKVqdqY=; b=Tk600g5B1Vqn
 og+RgQYouAgP43bq58xGw+41PGsbX17XD78uj2gngu2+ZiwHhMGt/qLCZFZYz9QiRLLzHhZpMwyXh
 fswsQBEpNyid7oS5WZ7vhtuwNhjjcL7odzrb8edjOx6HZgF/gqymkMh7ckY45MYR7tzyyk2/CGNI+
 2i4vaz5yUdjEbJTxzI8F1o7tjvDxMpz8H2QrZqn+q41mrlrdnfcy5V2E4ipu7iryWtY1LiAfA1BYs
 ptN/vlheaFcCYkGqR5fUHFG/0KjoulSDq/I4S6T0y39gsteTomRVf9cihjbibZRSuWNXcDohTLZgg
 DKh0nozfK7gf+WCkUOyurw==;
Date: Wed, 23 Apr 2025 17:41:18 +0300
Message-Id: <86plh3ym7l.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN> (message from Stefan
 Monnier on Wed, 23 Apr 2025 10:34:11 -0400)
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
 <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77924
Cc: gerd.moellmann@HIDDEN, stefankangas@HIDDEN, 77924 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Stefan Monnier <monnier@HIDDEN>
> Cc: Eli Zaretskii <eliz@HIDDEN>,  stefankangas@HIDDEN,
>   77924 <at> debbugs.gnu.org
> Date: Wed, 23 Apr 2025 10:34:11 -0400
> 
> FWIW, I'm not a great fan of rebasing either.  I did rebase the branch
> last night not for rebasing's sake but because I felt there was a need
> for more detailed commit messages.
> 
> In any case, any objection to merging the branch?

I'd like to have a closer review of it first, so please wait for a
while.  When I skimmed it, I remember having several, hopefully minor,
aspects that stood out, and I want to take a closer look.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 23 Apr 2025 14:34:30 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 23 10:34:29 2025
Received: from localhost ([127.0.0.1]:58213 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7bBD-0002dV-I6
	for submit <at> debbugs.gnu.org; Wed, 23 Apr 2025 10:34:29 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:44127)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <monnier@HIDDEN>)
 id 1u7bB4-0002bg-9k
 for 77924 <at> debbugs.gnu.org; Wed, 23 Apr 2025 10:34:22 -0400
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id C077F4413E3;
 Wed, 23 Apr 2025 10:34:12 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1745418851;
 bh=cSo5HNerwmLuYBwxanuQCn6uXdpsvRrca5/ymddZFqg=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=IRlz8sjGz7v9hCuL9YYB+kvICVzQ3N3BCqii1AenDjL2bjbg1sD81E2RptE7SALzn
 sFum4jAZsPot7H4xjB1ikfsVTNGVy3kvINrEkMBVfDaa2kTsVCvnDSOO5HSJBzm3MY
 7a3PH4XUht3HmNTAVnPTpuCoXD/7woIz3+DV7WUzXFOfjBRZul4uyhEFlnQXNshwvc
 OKoWquWlIfpUl9lwsL+UrHJaGH3OH57gElKPDMnWBIK85bifK/keXPokkzbVUCBywq
 2UqWXTg0q3KxcuJwcLnsJevCPhH4LJMOy46uoFY9l3kHpOFhxfR1x+IE6Occ/6iBU9
 BnSQ3awyZC8nw==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id E8C5B4412F5;
 Wed, 23 Apr 2025 10:34:11 -0400 (EDT)
Received: from pastel (104-195-208-18.cpe.teksavvy.com [104.195.208.18])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id B3803120262;
 Wed, 23 Apr 2025 10:34:11 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Gerd =?windows-1252?Q?M=F6llmann?= <gerd.moellmann@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <m2zfg7nh42.fsf@HIDDEN>
Message-ID: <jwvmsc70wzm.fsf-monnier+emacs@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN> <m2zfg7nh42.fsf@HIDDEN>
Date: Wed, 23 Apr 2025 10:34:11 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.018 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77924
Cc: Eli Zaretskii <eliz@HIDDEN>, stefankangas@HIDDEN, 77924 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

FWIW, I'm not a great fan of rebasing either.  I did rebase the branch
last night not for rebasing's sake but because I felt there was a need
for more detailed commit messages.

In any case, any objection to merging the branch?


        Stefan





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 23 Apr 2025 13:27:07 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 23 09:27:07 2025
Received: from localhost ([127.0.0.1]:55689 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7a81-0005RB-EE
	for submit <at> debbugs.gnu.org; Wed, 23 Apr 2025 09:27:07 -0400
Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]:44306)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7a7x-0005PE-On
 for 77924 <at> debbugs.gnu.org; Wed, 23 Apr 2025 09:27:03 -0400
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-39efc1365e4so2421213f8f.1
 for <77924 <at> debbugs.gnu.org>; Wed, 23 Apr 2025 06:27:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745414815; x=1746019615; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=PmD3mVRvObB78SVM+3LgMUXgPDydYty2hzJoXX0iVhw=;
 b=Lybm9aOIrvoCqT7qfors4LsquHWJDJcBF+jXLx1q7EZtVXNs1G4/BHUG2v6Najaemo
 Jg88aNrFF76EM7wCVwzqcp32aG1EjcfeABlFiRZcIObi7cDjc/mtJwENQ6w/FrXMu77z
 /OYTfIP1Xh6ReKHlBIGDkclSCAfPfg0TPyxwxdX5oa7HVMiUrK4We8/cgVkNkVQl5nC2
 gU94AqL51P7T+RJ6ulJ4+tLb91Z5D1XGDOmeN6tgp6a3xBHcjH4lTRx74PvsXoW9o/aF
 L4lLeDXk7oBuKwXnK5Rm8l5SyMNeqQVaWjR+0iBjlwJp0I/2NVfrYJYsHK9Z2SyD9CBv
 CvYg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745414815; x=1746019615;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=PmD3mVRvObB78SVM+3LgMUXgPDydYty2hzJoXX0iVhw=;
 b=l6t2baaGNclysOvDC37rcYYC3V9GzH7z4fpQx7NE89N6eEnTij2mFxg+z5ogv7ALOG
 KQTtutMP65FXyuXD8Q+odxL2Ou0oOWhnM0bTrjwiVKd43mXEzfJm6d2/idfl40Alfb9q
 FfYFb4sKO/uKH23/PLFFdchY7NW/AML3eZal/Gi6lRhK2ouKkw9l3kjqfNfuq8uuN6dE
 NKHyNRd5sw9eO79Xn44MajUok4bFrGGV+iHR7Xwn71pp4mqMIgutdvOUGYxkJF5trHcS
 Rhj8dEiC3Rm6cZooQrIbYXbZUjIAQs+b25zJ1jID+/XfVqkzMbHBAVDnGu4gtndinf0u
 CBsQ==
X-Forwarded-Encrypted: i=1;
 AJvYcCUUYNYUKkIzn+mI4W3QTrfmCFcVKXZLFYwyri3WFJQdKvsbe+yOtJuNKE/dLBioOoLRTaUSyg==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YxTontJ0M2E38EgmxmxM0CeuDYDknyAV3Kxhvva17VaQgn12YGZ
 4Fz1CqXRLSZfa6oX6hLkhfxR1+AXehrhfE0vUOYk/AzAzEauKtuFzyhlLV3v
X-Gm-Gg: ASbGnctXKJcNiTAAZqFNz0xpRor3x4C7PodanGzQg/OYBuIoGRP40JwYyS4F2OvVt/Y
 xXwGX93ldmU7vBdwqqnWfrq2qjublRx06PB2IeG2XgiA8k083ZkTXElfGzUOFrikVxnpebFZKED
 fb2Qnm2bnF62QAR1vCYc+76gv9vOvSVWp6GhnYIJbd34ApJ/NxjAXT97DX+TYjcZe/WjmuYUi8B
 hkX8md2QkM3oplxXSmM3D/IUNQFOC6LyO5+Z0lpr3wz5yMNe+pBwCxO71nIoP4Wy/Wk0qeSa604
 fV4QSMmXmm8j9ALSeNZ/zbA4f68sKjsrcKZ4fS00pXkufu3BIXuimS2Cl6lyS0ZqPZsC66AYjlB
 O1ufVkN7o1/LNOapYNrtU6pPSgIisdQKj1DmtYOGHocfqizejYw==
X-Google-Smtp-Source: AGHT+IGBNMy8jVN/yO+QdXSbKI2z1MeNKX56kAuHrZwcxny3TCoFQ4TI6oQY3B8OFmV4vhDuzKieuQ==
X-Received: by 2002:a5d:5983:0:b0:39f:ed8:d6c2 with SMTP id
 ffacd0b85a97d-39f0ed8d6e0mr6838542f8f.4.1745414815082; 
 Wed, 23 Apr 2025 06:26:55 -0700 (PDT)
Received: from pro2 (p200300e0b7376d00808a7ba45869fd57.dip0.t-ipconnect.de.
 [2003:e0:b737:6d00:808a:7ba4:5869:fd57])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39efa4207dbsm18632846f8f.4.2025.04.23.06.26.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 23 Apr 2025 06:26:54 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <861ptj10kb.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
 <861ptj10kb.fsf@HIDDEN>
Date: Wed, 23 Apr 2025 15:26:53 +0200
Message-ID: <m2zfg7nh42.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: monnier@HIDDEN, 77924 <at> debbugs.gnu.org, stefankangas@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

>> My assumption up to a few minutes ago was that that procedure has
>> changed
>
> It hasn't changed.
>
> Some people like to rebase, others dislike rebasing.  (Full
> disclosure: I'm in the latter camp.) 

(I'm in the same camp.)

> Since we decided not to care either way, we don't request contributors
> to do it one way or the other: they can do it however they like, and
> we will accept that regardless.

Thanks for the clarification!




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 23 Apr 2025 13:15:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 23 09:15:43 2025
Received: from localhost ([127.0.0.1]:55626 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7Zx0-0003Cl-WD
	for submit <at> debbugs.gnu.org; Wed, 23 Apr 2025 09:15:43 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:47234)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1u7Zww-0003B3-Eb
 for 77924 <at> debbugs.gnu.org; Wed, 23 Apr 2025 09:15:38 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1u7Zwq-0001EJ-RG; Wed, 23 Apr 2025 09:15:32 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=EW7N0whvSk//RvU/7mra9CyHBNCX9lr7CoGL2JuOJc8=; b=DyebpIfnBCscR5gC9Z4h
 aoCDsocExxifa4NDG+XbH5+rBLIaTYJl742V43eke9zfxnmVSMJJ4MaiXxAwA2JsTJEDLKX2g7mjO
 Sd6difj7WjyMJewTkXdFIV9zZe2VmmOnogmQKhFx7mqMqfMhvKJNiHilxW1k3Mh5P9hy4bQXVcwoe
 LLpx1EGY+c5AfpB/ehOlegi5s1AIpzad2begGSs0uWDj3HzVyj6zsvBmQ2WBgXntjGQqcZZO6Vlom
 dk7xPY31k4UdvyI12bJPb+oMpCVsQAZbEz953V98W4yUBWyu9bhCrVlyQe1CdjlhOoz94v0odQ/F4
 /gzu35F4hNYzog==;
Date: Wed, 23 Apr 2025 16:15:16 +0300
Message-Id: <861ptj10kb.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Gerd =?utf-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
In-Reply-To: <m2frhzbi1y.fsf@HIDDEN> (message from Gerd =?utf-8?Q?M?=
 =?utf-8?Q?=C3=B6llmann?= on Wed, 23 Apr 2025 06:47:21 +0200)
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN> <m2frhzbi1y.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77924
Cc: monnier@HIDDEN, 77924 <at> debbugs.gnu.org, stefankangas@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Cc: Stefan Kangas <stefankangas@HIDDEN>, 77924 <at> debbugs.gnu.org
> From: Gerd Möllmann <gerd.moellmann@HIDDEN>
> Date: Wed, 23 Apr 2025 06:47:21 +0200
> 
> Gerd Möllmann <gerd.moellmann@HIDDEN> writes:
> 
> >>>> PS. BTW, a small procedural thing.  Instead of merging master into a
> >>>>     scratch/ branch, I recommend deleting the branch, rebasing it on
> >>>>     master, and then pushing it again.  This way, when we later merge it
> >>>>     into master, we avoid the merge commits, and the history is kept
> >>>>     clean and more easily reviewable.  Not the end of the world either
> >>>>     way, but something to consider.
> >>>
> >>> Sorry, too much work :-).
> >>>
> >>> (For reviewing a branch with merges from master I recommend to find the
> >>> latest merge commit, take the parent commit on the master side, and
> >>> range diff with that. (If you have the merge in the reflog, that
> >>> speeds up finding the latest merge, but that's only the case if you did
> >>> the merge in that repo.))
> >>
> >>     git diff origin/master...origin/scratch/text-index
> >>
> >> should take care of it.
> >>
> >> If there's interest, I could take care of rebasing (and improving the
> >> commit messages on the rebased commits) before merging into `master`.
> >
> > Please consider the branch yours, if you like, as far as I am concerned
> > :-). Because...
> >
> >>> I consider this feature done when that is in, and play with arm64 NEON a
> >>> bit instead. In C++ ;-).
> >
> > ...of that-
> 
> It just appeared to me that I better ask instead of making assumptions:
> When I landed tty child frames in master, there was a certain procedure
> how to do that.  See
> 
>   https://yhetil.org/emacs-devel/m2ldwdrnds.fsf@HIDDEN/
> 
> where I asked about this, and see Eli's reply. In essence: No rebasing,
> squashing, and so on. Following that procedure, is why I posted the
> change-log-style commit message for such a merge here.
> 
> My assumption up to a few minutes ago was that that procedure has
> changed

It hasn't changed.

Some people like to rebase, others dislike rebasing.  (Full
disclosure: I'm in the latter camp.)  Since we decided not to care
either way, we don't request contributors to do it one way or the
other: they can do it however they like, and we will accept that
regardless.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 23 Apr 2025 04:47:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 23 00:47:39 2025
Received: from localhost ([127.0.0.1]:51760 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7S1I-0004RB-54
	for submit <at> debbugs.gnu.org; Wed, 23 Apr 2025 00:47:39 -0400
Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]:50384)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7S1C-0004PL-1S
 for 77924 <at> debbugs.gnu.org; Wed, 23 Apr 2025 00:47:33 -0400
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-39c31e4c3e5so4071924f8f.0
 for <77924 <at> debbugs.gnu.org>; Tue, 22 Apr 2025 21:47:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745383643; x=1745988443; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=pZG5GxUojJpj/koYvFt1Ok329/eNL9LEAZZ5jFGH0K4=;
 b=XyEWgL+CRlaQbwH8+temyrbi0+r4oW0l6WCxlFVn+A1q1mKSBMm0HBAVAbGLQ2+0hL
 xz5r8Xbq1AFIHmcBkycELJryE8QVpA3l35/rN9f5g1aiWoixKkQLvFhElolMkwELLNgq
 by6QgZRT8EWXRnFgn5ckC6VVX32gxt8lkRBSsCiYAATChqzVdPbQbozbpbk93hWt1w+t
 N4V5e1wSSfynydRanzmMOkP4C8+FeDsKqom8Z7miY5/xRrMvngn8X3sieKiNtD6C1/Hn
 wSBNzcWSoLs0hHSUYwi4Vlq+9owC8AHH8upSiYnn3apK+o7j19AyLeX8rkBKuaIXRM40
 eMVA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745383643; x=1745988443;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=pZG5GxUojJpj/koYvFt1Ok329/eNL9LEAZZ5jFGH0K4=;
 b=hMoN2kgOk0RZH5B+R0XpGGdBMR/K8cIflZtpPuM37172cTj0CHGhH3hFJESLSLZgQf
 mY62K41nn5hiCP0M69BY8c/3mVeaP6AAW6I9bs1liN+HKuQ9PgyiIIwREwZt7ADGpe0o
 EfA0t6Ss7PzdQDK7YzHEROKnI+huRfh1b4jMsVytx+HYqONUMVgAmiVXAbmJi/EiQ66r
 5K5BCDZhpnamflQ3b29BrPRyahuZyNVUpoPmVMjTKrlZZTxd9l+YGfTxQgN3V5bMcmbP
 tRVLKAblVyZYTBX9R8AP7DSZP0xuR/lBK4USnekvJ2R6Lin4QjKrJ922ty2lGnR5rubh
 K3Kw==
X-Forwarded-Encrypted: i=1;
 AJvYcCXwqkVZmPipl/j6km5Ki+OQ8ftAb05rfktBNFwkqAo8Hc0jMg3jMZ87SuaAas0+b7Czmkvn0Q==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YxYNNbfey88UwjBr278sxxyZfWn0+Frba1JGPnzkzN+Kj0ZYgAc
 BGfxRmH5KzcCRCwxW7VNY3lfcm2r8uIYN7nz+nIMasopG+E/rg8D7P98UO4B
X-Gm-Gg: ASbGncselJ39fRMKyogSYhdutGEAOS8+yHh+5JrFTSxMS5sgWWTzoJalIZCtyT1E1PR
 Am892c5Svcy4jYjGi5GJB4rrWD0tnfYUWSLiEd5oAi8WOXUCbR6PF34f8H2EjXpusZXXJu+V0Ig
 2Vd4prbPNbgsCk17TQWhkytv5U2JOYqdLKMWGEyJTSRtX53zheLlyRMIABzAhwa/ecLjGx7SC5G
 +yoTp2eUn/95VD+abxfcM8EmIb2K++O14vGNr9vu+Oh4TuZouZsm/3RNyJvP1GQ4fYjzULGJa6h
 o72gm5Jkt5zZxNYDGJ6vWDOCBO6PB2++87eBB6Z+W268fz3o6xuoTbgtSiYxshbuc2zxSRml4Dq
 lxa7WDSX+JKHrUJtgQ9PLCFPmfFOqg/td7He7BBTc4TgWWfshrw==
X-Google-Smtp-Source: AGHT+IFp7NgH85Sm0SwIhRrT2IUc89uyfzzpFcK00racoPJyoLBZayaEMDfZvQw6JSFJFOJWPM4wHQ==
X-Received: by 2002:adf:f94a:0:b0:39f:6e9:8701 with SMTP id
 ffacd0b85a97d-39f06e9871dmr7755023f8f.7.1745383642926; 
 Tue, 22 Apr 2025 21:47:22 -0700 (PDT)
Received: from pro2 (p200300e0b7376d00808a7ba45869fd57.dip0.t-ipconnect.de.
 [2003:e0:b737:6d00:808a:7ba4:5869:fd57])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39efa43315esm17083895f8f.26.2025.04.22.21.47.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 22 Apr 2025 21:47:22 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <m234e0xo35.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
 <m234e0xo35.fsf@HIDDEN>
Date: Wed, 23 Apr 2025 06:47:21 +0200
Message-ID: <m2frhzbi1y.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: Stefan Kangas <stefankangas@HIDDEN>, 77924 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:

>>>> PS. BTW, a small procedural thing.  Instead of merging master into a
>>>>     scratch/ branch, I recommend deleting the branch, rebasing it on
>>>>     master, and then pushing it again.  This way, when we later merge =
it
>>>>     into master, we avoid the merge commits, and the history is kept
>>>>     clean and more easily reviewable.  Not the end of the world either
>>>>     way, but something to consider.
>>>
>>> Sorry, too much work :-).
>>>
>>> (For reviewing a branch with merges from master I recommend to find the
>>> latest merge commit, take the parent commit on the master side, and
>>> range diff with that. (If you have the merge in the reflog, that
>>> speeds up finding the latest merge, but that's only the case if you did
>>> the merge in that repo.))
>>
>>     git diff origin/master...origin/scratch/text-index
>>
>> should take care of it.
>>
>> If there's interest, I could take care of rebasing (and improving the
>> commit messages on the rebased commits) before merging into `master`.
>
> Please consider the branch yours, if you like, as far as I am concerned
> :-). Because...
>
>>> I consider this feature done when that is in, and play with arm64 NEON a
>>> bit instead. In C++ ;-).
>
> ...of that-

It just appeared to me that I better ask instead of making assumptions:
When I landed tty child frames in master, there was a certain procedure
how to do that.  See

  https://yhetil.org/emacs-devel/m2ldwdrnds.fsf@HIDDEN/

where I asked about this, and see Eli's reply. In essence: No rebasing,
squashing, and so on. Following that procedure, is why I posted the
change-log-style commit message for such a merge here.

My assumption up to a few minutes ago was that that procedure has
changed? Which I wouldn't know because I'm not following the lists for
some time. But, as I said, now I'm not really sure...




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 22 Apr 2025 16:15:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 22 12:15:40 2025
Received: from localhost ([127.0.0.1]:49581 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7GHb-0003Pk-UZ
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 12:15:40 -0400
Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:54535)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7GHZ-0003PO-GO
 for 77924 <at> debbugs.gnu.org; Tue, 22 Apr 2025 12:15:38 -0400
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-39ee682e0ddso3131016f8f.1
 for <77924 <at> debbugs.gnu.org>; Tue, 22 Apr 2025 09:15:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745338531; x=1745943331; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=0IdxlHIzBCDMPIji0toDWDgysoTF9XODBpOYwXcF03A=;
 b=TVZ4ZXhdliDOq6ZMyrEr3pz174tApPFiFtNfOzMcRQS6Hm2ZssGAUTfcmu9Xmp69Wn
 yNOVpEliLBR3Qctbb/8GT6nbfVsNz2uMto5bIscX6Z/vLVf+49ckl9Uez1dQ7Mlw+e1d
 /4lupRunX1CZUUxmdQXomOzriEHJd3P+Hv7hCuCU0gsaRh6sEbKn+f0EzaerGsvoer+B
 YxoSXnYuGIyAe3CIaHc9sehiqiIoEfGTXCA1rgPtWaB6Ksak1dANjz3PS4OL6umfl378
 zajq20Oo3r+LcBt3IcyZaI0IRARNNrLpd/uQZLHDo3CqSryKDJ7+h5SSmjdjk1Y41eeP
 AYBA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745338531; x=1745943331;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=0IdxlHIzBCDMPIji0toDWDgysoTF9XODBpOYwXcF03A=;
 b=MZaghdwwmlun+2OxpHUM16/UT3bw6VReqtQWYhXkFwHLkN1abQl8flbz41j46CU/5x
 231zYcPboBcsG962edTjaBdFVWrKJdvO8tsvirECpd+4krMoVLuQqi8dh/3OfLlrCukU
 Jusbin3u2LJ3XzQlM82GTUD9dQLPjvekwXjCqYQcgX5xEVThJcAV/eI0sjeHcTOmN7m4
 6ex+7vQwDvPLiSe+pG9JpN8hs5+brX8ZKL8ZXSCWalmk60gR1paQzVBGyvynhoXOcGqm
 VL6akydNKi4ox5vfQrehRP1tsYXdGUNHlfUjysitjWQKaVzlwJoGUXKt1TAQ42L7JtsT
 Gp5w==
X-Forwarded-Encrypted: i=1;
 AJvYcCVtmJYgK5fvfVuAgsgODIkvf886Mf8Yb4FioxPiL4sTnODmNF/m6S6XehAAtPsxsAC55iEJGg==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YzxwdwdBqZ0T3IsAtxVMriBVxdUtzOF+6bHjpqZLDgOFu5DjVAr
 O9q02FPgq9ohIgF3L+toNWFKKw/KQrrkfMgSzJvhJMC4pawMuTlhsFRK9pXT
X-Gm-Gg: ASbGncsfcHJzZ/TuEC/qfS0j5wJB3yTV5i8Fq6Sa7wVzarSIbgSnR6gc2YsDFh+Bh9J
 QySoFMMTAj6D0/WDupIdJ9NQJftZW623Jc6S8nXVjZoWytXWTRdF81Hg4mLUfVAL6Ky/TpWwEpb
 eqrmX3sZya/hTqcbM0Pi2wGK9UselpGxdlL7MAphEZChSpvTDSt4lqqlBadCYDdkNMwJSZ7Rmgb
 ToEtJiY3zOzXRSR00GqLQYjL4W6Fczf2cU1DKTyx3MdZL3pJddfbvTcdtEFIjsC/NUcr+oCcTmx
 5nxVLyXBoU2893uQARE71GFSER2EBWNj9S8V60EbaskMdwuzRHRgMMwjZnC7lrQ3yOJqwbjUY9B
 nD3O+iwQOtThw1JGlbm1wB2OUc76Mwko/t583sPBL0hmqc1LUCw==
X-Google-Smtp-Source: AGHT+IF2PJ5lppdBSepu8CJsJRFZlKLym4iu2BOEszFG5f5WzV73sAtKnGHFBgeuwWMeTT9IHemgbQ==
X-Received: by 2002:a05:6000:4201:b0:39e:cbc7:ad2c with SMTP id
 ffacd0b85a97d-39efba5ede7mr12658516f8f.25.1745338530785; 
 Tue, 22 Apr 2025 09:15:30 -0700 (PDT)
Received: from pro2 (p200300e0b7301900d125c0c7bda1f42d.dip0.t-ipconnect.de.
 [2003:e0:b730:1900:d125:c0c7:bda1:f42d])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39efa4a4be2sm15468110f8f.83.2025.04.22.09.15.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 22 Apr 2025 09:15:30 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
Date: Tue, 22 Apr 2025 18:15:29 +0200
Message-ID: <m2sem0yxy6.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: Stefan Kangas <stefankangas@HIDDEN>, 77924 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Stefan Monnier <monnier@HIDDEN> writes:

> As discussed in the other thread, this performs fairly few
> charpos->bytepos conversions, actually.  Instead it spends most of its
> time inside the `diffseq.h` code.  You could try something like:
>
>     (require 'subr-x)
>=20=20=20=20=20
>     (defun elb-replace-region-contents-entry ()
>       (with-temp-buffer
>         (let ((step (apply #'concat (make-list 2000 "=F0=9F=99=82=C3=A9t=
=C3=A9=F0=9F=91=B6=F0=9F=8F=BF "))))
>           (dotimes (_ (/ 500000 (length step)))
>             (insert step))
>=20=20=20=20=20
>           (dotimes (_ 100000)
>             (let* ((a (+ (point-min) (random (buffer-size))))
>                    (b (min (+ a (length step) (random 512) -256) (point-m=
ax))))
>               (replace-region-contents a b (lambda () step)))))))
>
> which should spend more time in Emacs's code (especially in
> `buffer_chars_equal`) than in `diffseq.h`

Tried to run that on my mini, but it didn't finish in ca. 2h. So I tried
to call that function on my MB, and had to kill my Emacs :-).

Anyway, the other benchmarks showed an improvement over master, so I'm
content.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 22 Apr 2025 14:34:02 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 22 10:34:02 2025
Received: from localhost ([127.0.0.1]:49206 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7EhF-0006o4-DY
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 10:34:01 -0400
Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]:46383)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7EhC-0006nh-ET
 for 77924 <at> debbugs.gnu.org; Tue, 22 Apr 2025 10:33:59 -0400
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-43ea40a6e98so47745825e9.1
 for <77924 <at> debbugs.gnu.org>; Tue, 22 Apr 2025 07:33:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745332432; x=1745937232; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=on5QFVVfxk3WRAguyn+t3APA8iJPfIvDCaVsiaUrK7k=;
 b=PCwDjXWkck7uBJ6+CP78+EDHsH9I6Ym9M4+Zv2xrXe8v8SHsj2gztIWjKVNOTCUT/W
 xBU5okmA5HnCSlhpEVq+JH7D+GJ7pNwV269GJzG+ecLm5oEQjwRt9dODEvFQ26+YHg8j
 xZXCXAmp0noxjOxNo1m18fpYZH2UKJDUUkeQp8jyn+L+qnr6FQHNDsmsI1ctyfphcg6E
 sthLhjIhBhqWGspNGnVuNuZhQQjbYAu2VzvxLPmfnT0rr01k51RJUspAQL9WRBFn6u5B
 GKZD0jV/0L7q5I6eDzw6FVyNlAp5HnPcyrwmfZOLKjR7Ygg2I1f1oPAm661hJaTpaBtS
 5eQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745332432; x=1745937232;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=on5QFVVfxk3WRAguyn+t3APA8iJPfIvDCaVsiaUrK7k=;
 b=MmKNN4BR3xOsNgiJPYl451WNg4Xw2RdCHlGLqnXdXROZ347hWlMwK7bZqAQd1idPE4
 jFViAw9VsSW8/sc6HLfZ+MYIdVj+nLP21u5O0oeJuMM733dcfRn2HDTzWz+kpwUZFGMn
 ai293V0yKVTLXwkrwacaP5X2KJn826HtspXdimo/mMATvEtz+PXx9wfOzlaQMNXXyKgT
 O8pd1rQ8RDGk3OF6d5p/Xj5WPE8Kvy0KzZXO+pHD3rV0JdCuqPun2JceLhblksBer8Gl
 Ul8k7HJqfCkMJyfzEiD4ftVr1n9WPqrUR32eOKgk8oxTIhybDE3GW1n1zReKdeoDr0AE
 wwvg==
X-Forwarded-Encrypted: i=1;
 AJvYcCXRXRah8EsrqPp1Tjr5svLNY25h3pR7+45654NdjKIdDZ+6xUwsQN4V1GXAsdrSKhnCKpVXxg==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YyA2VaQAtUvdpPqKwMxxq4HusPd2ocxLhr+Go8/UBjq8Wj15Gqy
 a9W/gOLEvy7Jh8Hgq2PaJQWN85LBhJBv8pa78GEc6XEwLjjIvvbpK3Qn3Pr4
X-Gm-Gg: ASbGncsuNSvv1icw5WeUpkhuyFisl3H42JFzS3CvBvZqsY2CoxVIZZkM30g0RzKVGRK
 gCx7y19veoc4HdMxI4chqV1j9q5p/AuNxgG15JQSw1LI/DW8y+C0FmMhVytVlew+GLqiOmvkr3t
 Cbx7LlpTG0qEqMfDgI4F32up6xAgi4J8fhMOH2UQnQcFXxPtiwSe6XrKnvBwtWYUJfTHnv7Dy/J
 wIcly6xYYUCvyAMbdbv7OOD85u44EGWyQA+uXYBPF6fDqMzIXSmC8hMTYc+OMvKYImVT9JGkYzq
 E9THNh/tqSDHp0gispwggVHQM4270xvg0sP+D1c/x/C6/bEVijN5lFBezQTjwdxmqjUH9AkZs7v
 +a0ebb/JLPEh8NxZyqu7qYbl/XvGmNkdrzyinoq31r+ZB
X-Google-Smtp-Source: AGHT+IEhVYXgDq5HF2+3KktF6Ezcj2/QoQ8nIWJ3qoJWxMt671lnxhFRS4KyL9JAKW1VfHplhlWRhA==
X-Received: by 2002:a05:600c:1f83:b0:43c:efed:733e with SMTP id
 5b1f17b1804b1-4406ab98a0dmr143932615e9.14.1745332431668; 
 Tue, 22 Apr 2025 07:33:51 -0700 (PDT)
Received: from pro2 (p200300e0b7301900b98b74cfc94b2689.dip0.t-ipconnect.de.
 [2003:e0:b730:1900:b98b:74cf:c94b:2689])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4406d5bbe45sm176827325e9.24.2025.04.22.07.33.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 22 Apr 2025 07:33:51 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Stefan Monnier <monnier@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
Date: Tue, 22 Apr 2025 16:33:50 +0200
Message-ID: <m234e0xo35.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: Stefan Kangas <stefankangas@HIDDEN>, 77924 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Stefan Monnier <monnier@HIDDEN> writes:

>>> - Any chance you could add a comment explaining how you arrived at
>>>   text_index_interval=3D4*1024?  If it's arbitrarily chosen, adding a
>>>   comment to that effect might be useful.
>> It's neither completely arbitrary nor can I really say much about it.
>> INTERVAL / 2 is basically the worst-case distance one has to scan
>> through text. Don't really know what to say more, and the above is
>> pretty obvious.=20
>
> FWIW, the current code in `master` uses a threshold of 5k (sometimes 5k
> bytes, sometimes 5k chars) as the minimum distance between
> "cache-markers".
>
> It's a tradeoff between the size of the text-index array (and the time
> it takes to populate/update it) and the time it takes to scan the text
> from one of the positions recorded in that array to the position we're
> actually interested in.
>
> We haven't really investigated which value would be ideal.

True. It might even be different between machines, don't know. I once,
in the beginning, tried large values, don't remember, maybe 16K, and
performance seemed to drop, but not much. Difficult to find an ideal
value.

> The code that does the scan can probably be improved significantly
> (e.g. by processing the text several bytes at a time).

For sure.=20

>> (defun elb-replace-region-contents-entry ()
>>   (with-temp-buffer
>>     (let ((step (apply #'concat (make-list 2000 "=F0=9F=99=82=C3=A9t=C3=
=A9=F0=9F=91=B6=F0=9F=8F=BF "))))
>>       (dotimes (_ (/ 100000 (length step)))
>>         (insert step)))
>>=20
>>     (dotimes (_ 100000)
>>       (let* ((a (1+ (random (point-max))))
>>              (b (1+ (random (point-max))))
>>              (beg (min a b))
>>              (end (max a b)))
>>         (replace-region-contents beg end "=F0=9F=99=82=C3=A9t=C3=A9=F0=
=9F=91=B6=F0=9F=8F=BF =F0=9F=99=82=C3=A9t=C3=A9=F0=9F=91=B6=F0=9F=8F=BF "))=
)))
>
> As discussed in the other thread, this performs fairly few
> charpos->bytepos conversions, actually.  Instead it spends most of its
> time inside the `diffseq.h` code.  You could try something like:
>
>     (require 'subr-x)
>=20=20=20=20=20
>     (defun elb-replace-region-contents-entry ()
>       (with-temp-buffer
>         (let ((step (apply #'concat (make-list 2000 "=F0=9F=99=82=C3=A9t=
=C3=A9=F0=9F=91=B6=F0=9F=8F=BF "))))
>           (dotimes (_ (/ 500000 (length step)))
>             (insert step))
>=20=20=20=20=20
>           (dotimes (_ 100000)
>             (let* ((a (+ (point-min) (random (buffer-size))))
>                    (b (min (+ a (length step) (random 512) -256) (point-m=
ax))))
>               (replace-region-contents a b (lambda () step)))))))
>
> which should spend more time in Emacs's code (especially in
> `buffer_chars_equal`) than in `diffseq.h`
>
>>> PS. BTW, a small procedural thing.  Instead of merging master into a
>>>     scratch/ branch, I recommend deleting the branch, rebasing it on
>>>     master, and then pushing it again.  This way, when we later merge it
>>>     into master, we avoid the merge commits, and the history is kept
>>>     clean and more easily reviewable.  Not the end of the world either
>>>     way, but something to consider.
>>
>> Sorry, too much work :-).
>>
>> (For reviewing a branch with merges from master I recommend to find the
>> latest merge commit, take the parent commit on the master side, and
>> range diff with that. (If you have the merge in the reflog, that
>> speeds up finding the latest merge, but that's only the case if you did
>> the merge in that repo.))
>
>     git diff origin/master...origin/scratch/text-index
>
> should take care of it.
>
> If there's interest, I could take care of rebasing (and improving the
> commit messages on the rebased commits) before merging into `master`.

Please consider the branch yours, if you like, as far as I am concerned
:-). Because...

>> I consider this feature done when that is in, and play with arm64 NEON a
>> bit instead. In C++ ;-).

...of that-

>
> BTW, regarding processing several bytes at a time, we could try
> something like
>
>     long unsigned eightbytes =3D BUF_FETCH_8BYTES (bytepos);
>     long unsigned eightbits =3D ((~eightbytes) & 0x8080808080808080) >> 7;
>     long unsigned fourtwobits =3D eightbits + (eightbits >> 32);
>     long unsigned twofourbits =3D fourtwobits + (fourtwobits >> 16);
>     nchars +=3D (twofourbits + (twofourbits >> 8)) & 0xff;
>
> Not sure it would be significantly faster than the current code, tho.
> Maybe an even easier first change would be to replace
>
>       if (CHAR_HEAD_P (BUF_FETCH_BYTE (b, bytepos)))
>         ++charpos;
>
> with
>
>       charpos +=3D (~BUF_FETCH_BYTE (b, bytepos)) >> 7;
>
> so as to avoid a branch that can be sometimes hard to predict.
>

Hard to tell if that would be faster. Maybe if I know a bit more about
the current state of affairs of SIMD support, one could write something
using that.

That would certainly be faster. On my M1 chips it would mean processing
16 bytes at a time (128 bit registers), and I've seen a presentation
that talked about 256 and even 512 bits on some Intel CPUs (AMX).





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 22 Apr 2025 14:08:14 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 22 10:08:13 2025
Received: from localhost ([127.0.0.1]:49142 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7EIH-0005Wd-D6
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 10:08:13 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:24109)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <monnier@HIDDEN>)
 id 1u7EID-0005WM-CL
 for 77924 <at> debbugs.gnu.org; Tue, 22 Apr 2025 10:08:10 -0400
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 21E90807B7;
 Tue, 22 Apr 2025 10:08:00 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1745330879;
 bh=kJ8/x3iHlNeGMYzyIxdnhfPN7sLOCY952fURqJFoG3E=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=e6nkIlYXu02DPSriAmXduud6bs5lhFcFjmckr3uynlCVajSygIEsZPbUyz6mz+AF4
 qhPV+BKkIVyvAYyPMjG4dmJYOWVooWR+Rj6EUgX6ybykh1X+V2ItFRHT8oLSzTzAjC
 y/Va3R3MQ+hCKk7mNPs7QWJNpoQqAxZyP5oBZOCcXkYQG4aex53zRrqJpNxdkKrfUY
 VZeFwJjcebEDvMhwBLiKM+k/+J/SA0y/O43edhVtREGq2ZDXVBIhgkESXZ4e6Sukpy
 ijjxFQss8TtuG4TVA69HkQuszIRUSoyCQriCiKejZJmFeHh9GnAwr0u4v+R3KtImit
 GPOOZ4ZyTnr1w==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 13648803EA;
 Tue, 22 Apr 2025 10:07:59 -0400 (EDT)
Received: from pastel (104-195-208-18.cpe.teksavvy.com [104.195.208.18])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id D31AC120568;
 Tue, 22 Apr 2025 10:07:58 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: Gerd =?windows-1252?Q?M=F6llmann?= <gerd.moellmann@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <m27c3cesxb.fsf@HIDDEN>
Message-ID: <jwvzfg8493r.fsf-monnier+emacs@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN>
Date: Tue, 22 Apr 2025 10:07:58 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.064 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77924
Cc: Stefan Kangas <stefankangas@HIDDEN>, 77924 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

>> - Any chance you could add a comment explaining how you arrived at
>>   text_index_interval=3D4*1024?  If it's arbitrarily chosen, adding a
>>   comment to that effect might be useful.
> It's neither completely arbitrary nor can I really say much about it.
> INTERVAL / 2 is basically the worst-case distance one has to scan
> through text. Don't really know what to say more, and the above is
> pretty obvious.=20

FWIW, the current code in `master` uses a threshold of 5k (sometimes 5k
bytes, sometimes 5k chars) as the minimum distance between
"cache-markers".

It's a tradeoff between the size of the text-index array (and the time
it takes to populate/update it) and the time it takes to scan the text
from one of the positions recorded in that array to the position we're
actually interested in.

We haven't really investigated which value would be ideal.

The code that does the scan can probably be improved significantly
(e.g. by processing the text several bytes at a time).

> (defun elb-replace-region-contents-entry ()
>   (with-temp-buffer
>     (let ((step (apply #'concat (make-list 2000 "=F0=9F=99=82=C3=A9t=C3=
=A9=F0=9F=91=B6=F0=9F=8F=BF "))))
>       (dotimes (_ (/ 100000 (length step)))
>         (insert step)))
>=20
>     (dotimes (_ 100000)
>       (let* ((a (1+ (random (point-max))))
>              (b (1+ (random (point-max))))
>              (beg (min a b))
>              (end (max a b)))
>         (replace-region-contents beg end "=F0=9F=99=82=C3=A9t=C3=A9=F0=9F=
=91=B6=F0=9F=8F=BF =F0=9F=99=82=C3=A9t=C3=A9=F0=9F=91=B6=F0=9F=8F=BF ")))))

As discussed in the other thread, this performs fairly few
charpos->bytepos conversions, actually.  Instead it spends most of its
time inside the `diffseq.h` code.  You could try something like:

    (require 'subr-x)
=20=20=20=20
    (defun elb-replace-region-contents-entry ()
      (with-temp-buffer
        (let ((step (apply #'concat (make-list 2000 "=F0=9F=99=82=C3=A9t=C3=
=A9=F0=9F=91=B6=F0=9F=8F=BF "))))
          (dotimes (_ (/ 500000 (length step)))
            (insert step))
=20=20=20=20
          (dotimes (_ 100000)
            (let* ((a (+ (point-min) (random (buffer-size))))
                   (b (min (+ a (length step) (random 512) -256) (point-max=
))))
              (replace-region-contents a b (lambda () step)))))))

which should spend more time in Emacs's code (especially in
`buffer_chars_equal`) than in `diffseq.h`

>> PS. BTW, a small procedural thing.  Instead of merging master into a
>>     scratch/ branch, I recommend deleting the branch, rebasing it on
>>     master, and then pushing it again.  This way, when we later merge it
>>     into master, we avoid the merge commits, and the history is kept
>>     clean and more easily reviewable.  Not the end of the world either
>>     way, but something to consider.
>
> Sorry, too much work :-).
>
> (For reviewing a branch with merges from master I recommend to find the
> latest merge commit, take the parent commit on the master side, and
> range diff with that. (If you have the merge in the reflog, that
> speeds up finding the latest merge, but that's only the case if you did
> the merge in that repo.))

    git diff origin/master...origin/scratch/text-index

should take care of it.

If there's interest, I could take care of rebasing (and improving the
commit messages on the rebased commits) before merging into `master`.

> I consider this feature done when that is in, and play with arm64 NEON a
> bit instead. In C++ ;-).

BTW, regarding processing several bytes at a time, we could try
something like

    long unsigned eightbytes =3D BUF_FETCH_8BYTES (bytepos);
    long unsigned eightbits =3D ((~eightbytes) & 0x8080808080808080) >> 7;
    long unsigned fourtwobits =3D eightbits + (eightbits >> 32);
    long unsigned twofourbits =3D fourtwobits + (fourtwobits >> 16);
    nchars +=3D (twofourbits + (twofourbits >> 8)) & 0xff;

Not sure it would be significantly faster than the current code, tho.
Maybe an even easier first change would be to replace

      if (CHAR_HEAD_P (BUF_FETCH_BYTE (b, bytepos)))
        ++charpos;

with

      charpos +=3D (~BUF_FETCH_BYTE (b, bytepos)) >> 7;

so as to avoid a branch that can be sometimes hard to predict.


        Stefan





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 22 Apr 2025 12:35:22 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 22 08:35:22 2025
Received: from localhost ([127.0.0.1]:46680 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u7CqQ-0000P9-BF
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 08:35:22 -0400
Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]:57697)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u7CqL-0000Ja-Ve
 for 77924 <at> debbugs.gnu.org; Tue, 22 Apr 2025 08:35:20 -0400
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-39ac9aea656so6432665f8f.3
 for <77924 <at> debbugs.gnu.org>; Tue, 22 Apr 2025 05:35:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745325311; x=1745930111; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=9nGA6aIVQjMwSpRqCbGI68janZHQuzAZ1L5Qa9zWo6U=;
 b=ZIU1/jmWFnvmwIP6lLQ8PDFqoMFQqR3/FH8DsPA/WT/RaxQGLUxCRRdEHhdS3KNNjk
 5B8G6JSXiGuIdlLAbjCN3Ydtfo+pGmXV2m3LobOhLwn5d/n+VVR7xDx8uXf18/VeXPv+
 bGws6fn8WeE1YsYl7io48qbV9hp0SgpeAKo68EHM1BeAZ01BVIQEBKD0kvDUhX/6URXk
 26KpCj9AcrqtMGF+Fmxx6RY58EzW65/cUQyJKRW8uI5ZzDpsaUm73b/6fivAe57Vkz0J
 S7antqXvH8HJHjQ4On/fgr6BV4TvUusT8NQKk6TtaWSK7DmiNcehEX7sk3HSobAUhL70
 buBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745325311; x=1745930111;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=9nGA6aIVQjMwSpRqCbGI68janZHQuzAZ1L5Qa9zWo6U=;
 b=qvPuVFjC69wSDh5VJrfxTizshZl9kB+C/WY2UlVB/lWas/qionw3WNT8/yAhFE2Cah
 pyZPNcK2FA9eUrhUJaClqZiYYG6V0k97qRSiA3gosUu6ofq9NszFXkv2716/EMwut134
 /TXkVzMUityS93uCPKS/mAwI/D+jnmr+E8n2MHA6w2ex3Op2tqPGfijfgi9Cwy1OEO2o
 c0h75Y2H8xzzN0ffKFKSV/LYmPCtimxa1Br3xbwKjb1gKo3IuEB5+JKznyAYNYopNJua
 wXvotH5umgdf2ObSlKhfruL+CifwBQl2wwBOBFSVRvsaQ5UCb01fQpn+V57kHXHR5VMv
 hLXg==
X-Gm-Message-State: AOJu0YxkNP6gpn7Q1vqqTHphGcR9/dBulIw4mmnNVR0xvNYJOS6VlVKB
 UJq6dzEaWUvN/pCnjgMNF83AO+dok/hYSk3cuQ5F0hdltvPjZuYd
X-Gm-Gg: ASbGncvRsRYTaZJl27ikVQQs5gK9xsVRcATdVJdg0uOZVMRVim+j/DadYIypIkNgqMP
 AakLBhEZMZ4J3RIBmX57D/mPevthXr76VyJqjYQBIJoFvlQY6niVgx15/fn955rKzYFQ+KJF1aZ
 UJ1aA27DvHVBE3OT3BLqIlWAh0yjpm33riSuLy/kwhvEUuMm3uqSe5muolXbizvNOp6oONYRM60
 n3BItY0wNX/bsJ9L6ZCJTXKTBMa3QGmSx1s9hiTHGn0GgGOZYn4ywIYeNnYSI2f+XjImA5qkfm7
 v3jfZYeiU8VuU08Yk76RBJFyRJp30+kvYp4g8/aj1OizAO6F6rUjs/rlpnxe0AznLxcybVkrXbo
 3KK5/BVB66wrlkzWUeAY33t/a2kGnoacjm5Efi7RCFSpPs6K6ZsWuFzc=
X-Google-Smtp-Source: AGHT+IGzuho3kRn4rCOEWC6cWyh6x6r1qp3xkirZzO2cOddwwWmrnTcXTNqRTvYLXmBQEKEfJNpgKg==
X-Received: by 2002:a05:6000:188e:b0:391:4835:d8a8 with SMTP id
 ffacd0b85a97d-39efba2ab31mr12878607f8f.1.1745325311341; 
 Tue, 22 Apr 2025 05:35:11 -0700 (PDT)
Received: from pro2 (p200300e0b7301900b98b74cfc94b2689.dip0.t-ipconnect.de.
 [2003:e0:b730:1900:b98b:74cf:c94b:2689])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39efa4a4f21sm15329030f8f.91.2025.04.22.05.35.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 22 Apr 2025 05:35:10 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Stefan Kangas <stefankangas@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <m2v7qw8uhh.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN> <m2v7qw8uhh.fsf@HIDDEN>
Date: Tue, 22 Apr 2025 14:35:09 +0200
Message-ID: <m24iygz85e.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: Stefan Monnier <monnier@HIDDEN>, 77924 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:

> * Without optimization Results
>
>   | test                    | non-gc (s) | gc (s) | gcs | total (s) | err=
 (s) |
>   |-------------------------+------------+--------+-----+-----------+----=
-----|
>   | replace-region-contents |       0.93 |   0.00 |   0 |      0.93 |    =
0.33 |
>   |-------------------------+------------+--------+-----+-----------+----=
-----|
>   | total                   |       0.93 |   0.00 |   0 |      0.93 |    =
0.33 |
>
> * With opt. Results
>
>   | test                    | non-gc (s) | gc (s) | gcs | total (s) | err=
 (s) |
>   |-------------------------+------------+--------+-----+-----------+----=
-----|
>   | replace-region-contents |       0.89 |   0.00 |   0 |      0.89 |    =
0.32 |
>   |-------------------------+------------+--------+-----+-----------+----=
-----|
>   | total                   |       0.89 |   0.00 |   0 |      0.89 |    =
0.32 |

** master Results

  | test                    | non-gc (s) | gc (s) | gcs | total (s) | err (=
s) |
  |-------------------------+------------+--------+-----+-----------+------=
---|
  | replace-region-contents |       1.04 |   0.00 |   0 |      1.04 |    0.=
33 |
  |-------------------------+------------+--------+-----+-----------+------=
---|
  | total                   |       1.04 |   0.00 |   0 |      1.04 |    0.=
33 |

So, improvement, also here with text-index.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 22 Apr 2025 08:35:02 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 22 04:35:02 2025
Received: from localhost ([127.0.0.1]:45130 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u795q-0003t8-9U
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 04:35:02 -0400
Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]:43454)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u795m-0003sV-RP
 for 77924 <at> debbugs.gnu.org; Tue, 22 Apr 2025 04:34:59 -0400
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-43cf628cb14so42604975e9.1
 for <77924 <at> debbugs.gnu.org>; Tue, 22 Apr 2025 01:34:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745310892; x=1745915692; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=Tb4JDkU2blnmN5x2g4np2S05h3U5piwkOOK/N1EzUuo=;
 b=dUpGB/zZoSB46d/SsQ5TJP9V7wXz5Qgi/wVyjW0aZKHbSh4LcsYv2E4zMDPvU4xUi9
 vLHysKSosWo5JuN68iBZbHD+vahBEapeeKbvIrXXK71SN21y8M4p0Gz8gIjOkTT9KNBI
 aH61s+3TYWz/YXxr9pJ00F47/KC3PDJcEqUWL5sx/IdHc6ox5sQQ7vYRI1aOm5dtwkOv
 7UUaNGCFotlVH/l4bB4MPHJiYpwS/IuAgQxCHm2MpgFHaJjP81jV5ut3oSdb+mxie/vu
 YJqKtGJUntXi5UjFylnHRtsSUgXt09KalAtj/r9IYddGuI68ouwG3D1pQ944wZzjBAAY
 SlHQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745310892; x=1745915692;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=Tb4JDkU2blnmN5x2g4np2S05h3U5piwkOOK/N1EzUuo=;
 b=bnVUMe9rvX/VhmaQ8EhIwWfGzI9E2OH1GlAdPHCQ4dCCkKT5YSF+27/6YYFUWY8Q0Z
 SJHuYD9np1P1J7x8UfnbBYxbW9qD9JO0ORbfqmaZSVUeSpDrZK0Y+auhurMX7JH3U7Wf
 +LS4GLkYpJfgQkqniKYlmGhT629pIuwpKf3paQ17HeCqXNRXb1d+dGp/Srbx+QrlgqE+
 iJgA9M4GmLUaA0tB/uQPjCmybYG0jbsmxpUODQ7Cr5oPmQhjrpnvQqdUR/7/JBjArtfo
 xBboUETqp01maJiBBvqeWxXzVq30SRma1meV238ju6OPcpOaprmdS5Skbw5GrkkHRChB
 vbyQ==
X-Gm-Message-State: AOJu0YwLyRf25S/6XxydYtIf44dbwHgougZY+Yz7sXltTkVXCK2fklmP
 +jCEwKf9xzHv1R0veg01wAoeK2914cDOdKWnbUsSuyjrEo84GGAp
X-Gm-Gg: ASbGncsvsDN7CwkQnMDEM7Ged0fRJvgXO2Spf9wzbElcngZAibA17xfmisGNFZjTGlU
 VneZ7gqdUTNJd4nR8U48QHrmd/b3219ff4EWyWXbPbnEnMGPngF2/OQB/A8XjQzQE/onudHNOLn
 nsaAXxk2FKw+Gy5jrmtKE9GuHEmutvhS87OI6849/p9gGpdm2hg3gCtIGJ3sa0Dy5MT7LVKrG6v
 HHXVgjqmCBHzKrknABEKIcpSlWojhLh2seDPlT/v2dkhZi5zFyjMOrDg2395rAHn45dhm76bWdI
 faKKdZik0Qp1fYlEXFQ7xLE+U4OCHeCHYW8BeQhnXKIC7AoiiE9yBXU8LKGn3K65MCHHWRA0zKS
 nhiXWxv/aNr9L7KH5foRnaif1YH2+ohAtoUgzWRSzm0mf
X-Google-Smtp-Source: AGHT+IEPb9L3GK6F2JqmVlIJ4kUNmfaccmKk9VCh6IJjdCW0zyPyKBhevDxE4kDELRl/8hBvyShgOw==
X-Received: by 2002:a05:6000:4313:b0:39f:d0a:5b23 with SMTP id
 ffacd0b85a97d-39f0d0a5b9fmr3489827f8f.17.1745310892215; 
 Tue, 22 Apr 2025 01:34:52 -0700 (PDT)
Received: from pro2 (p200300e0b7301900b98b74cfc94b2689.dip0.t-ipconnect.de.
 [2003:e0:b730:1900:b98b:74cf:c94b:2689])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39efa4a4f2dsm14543928f8f.95.2025.04.22.01.34.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 22 Apr 2025 01:34:51 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Stefan Kangas <stefankangas@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <m27c3cesxb.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
 <m27c3cesxb.fsf@HIDDEN>
Date: Tue, 22 Apr 2025 10:34:50 +0200
Message-ID: <m2v7qw8uhh.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: Stefan Monnier <monnier@HIDDEN>, 77924 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:

> Stefan Kangas <stefankangas@HIDDEN> writes:
>
>> This sounds great.  I pushed a couple of typo fixes while reading the
>> patches, please use them as you see fit (squash, etc.).
>
> Thanks, I've ported that back to my side.
>
>>
>> - Any chance you could add a comment explaining how you arrived at
>>   text_index_interval=3D4*1024?  If it's arbitrarily chosen, adding a
>>   comment to that effect might be useful.
>
> It's neither completely arbitrary nor can I really say much about it.
> INTERVAL / 2 is basically the worst-case distance one has to scan
> through text. Don't really know what to say more, and the above is
> pretty obvious.
>
>>
>> - Maybe rename `text-index-interval` to `text-index--interval` (to
>>   indicate that it's internal)?
>>
>> - I guess `use-text-index` can be removed?
>
> I've removed these Lisp variables a few days ago or so. They were only
> for experimenting with the whole thing.
>
>>> Please see the comments at the start of marker-vector.c and text-index.c
>>> for more details. Also see the thread(s) on emacs-devel with Stef an me.
>>
>> For posterity, I guess that would be:
>>
>> Re: Question about region caches
>> https://lists.gnu.org/r/emacs-devel/2025-03/msg01382.html
>>
>> PS. BTW, a small procedural thing.  Instead of merging master into a
>>     scratch/ branch, I recommend deleting the branch, rebasing it on
>>     master, and then pushing it again.  This way, when we later merge it
>>     into master, we avoid the merge commits, and the history is kept
>>     clean and more easily reviewable.  Not the end of the world either
>>     way, but something to consider.
>
> Sorry, too much work :-).
>
> (For reviewing a branch with merges from master I recommend to find the
> latest merge commit, take the parent commit on the master side, and
> range diff with that. (If you have the merge in the reflog, that
> speeds up finding the latest merge, but that's only the case if you did
> the merge in that repo.))

There was the open question left whether or not it pays off to avoid the
binary search in charpos -> bytepos conversion. Benchmarked it with

(defun elb-replace-region-contents-entry ()
  (with-temp-buffer
    (let ((step (apply #'concat (make-list 2000 "=F0=9F=99=82=C3=A9t=C3=A9=
=F0=9F=91=B6=F0=9F=8F=BF "))))
      (dotimes (_ (/ 100000 (length step)))
        (insert step)))

    (dotimes (_ 100000)
      (let* ((a (1+ (random (point-max))))
	     (b (1+ (random (point-max))))
	     (beg (min a b))
	     (end (max a b)))
	(replace-region-contents beg end "=F0=9F=99=82=C3=A9t=C3=A9=F0=9F=91=B6=F0=
=9F=8F=BF =F0=9F=99=82=C3=A9t=C3=A9=F0=9F=91=B6=F0=9F=8F=BF ")))))

2000 runs on my idle Mac mini, M1 etc.

* Without optimization Results

  | test                    | non-gc (s) | gc (s) | gcs | total (s) | err (=
s) |
  |-------------------------+------------+--------+-----+-----------+------=
---|
  | replace-region-contents |       0.93 |   0.00 |   0 |      0.93 |    0.=
33 |
  |-------------------------+------------+--------+-----+-----------+------=
---|
  | total                   |       0.93 |   0.00 |   0 |      0.93 |    0.=
33 |

* With opt. Results

  | test                    | non-gc (s) | gc (s) | gcs | total (s) | err (=
s) |
  |-------------------------+------------+--------+-----+-----------+------=
---|
  | replace-region-contents |       0.89 |   0.00 |   0 |      0.89 |    0.=
32 |
  |-------------------------+------------+--------+-----+-----------+------=
---|
  | total                   |       0.89 |   0.00 |   0 |      0.89 |    0.=
32 |

I think the large err values are because of the random and the O(ND) in
replace-region-contents. Whatever, the optimization seems to pay off, so
I'll add that to scratch/text-index on savannah later.

Tests with the change:

SUMMARY OF TEST RESULTS
-----------------------
Files examined: 530
Ran 8041 tests, 7765 results as expected, 0 unexpected, 276 skipped

I consider this feature done when that is in, and play with arm64 NEON a
bit instead. In C++ ;-).




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 22 Apr 2025 04:12:11 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 22 00:12:11 2025
Received: from localhost ([127.0.0.1]:42737 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u74zT-0007kL-0t
	for submit <at> debbugs.gnu.org; Tue, 22 Apr 2025 00:12:11 -0400
Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]:51615)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u74zQ-0007k7-Hf
 for 77924 <at> debbugs.gnu.org; Tue, 22 Apr 2025 00:12:09 -0400
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-3995ff6b066so2407864f8f.3
 for <77924 <at> debbugs.gnu.org>; Mon, 21 Apr 2025 21:12:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745295122; x=1745899922; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=hVIv5zgmPHgMvarwMS47WoU8pTy3QGZRk7haxdG839w=;
 b=fD+qj8C8ptm2Le/g+KNgchzXXPFVJ35HNqQ3EJZH6f7G1hGQtPnluEARBKnJogoWgA
 /fuT9TQKTCSPuRAdtmlPUySF9Qcs3DKcz9X0MVFI1MsATWwHlFO72MpOpquFpg1XniSA
 bHq+TLB0R3xRXN0rHFCjEx2kE379aWW0k2dnJ4+lI70LWQxHwahYbbDh00fzP3L+vuE4
 2im6ObBAQgijAlDzJTvYAUYEcpBxMosZt+a26N9Pm0svACDEoHO3x2AJMJcolgxEW8WX
 f8QP7SdVLyQCAmQZE0PuM2n/AttR+VVknmHj2exvI34v/a0kWCUseahLpiaDUoGv5ujR
 Hnnw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745295122; x=1745899922;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=hVIv5zgmPHgMvarwMS47WoU8pTy3QGZRk7haxdG839w=;
 b=p0VvOgIk/q5LODkzPm5Sozq7hy2v03pbx94DJtbj9mOdQ9UyNzocAjaBnIAeXuGUb1
 LgRAGMzIiWzx17c2Q1XhlVzTrq4MCRj/Fd5z8G2LeSYyN1OAJWa5HnthY2271QZgstUw
 bcOpZtcBkNOo337abdqFxtsBhiLZfkSu8UyHaKT/MpG5GRaR9ASgNb+YTSXa0DZtioQX
 o5ffjjGu+J+y4xG4K/LMymgG2zZUwHFKx/sM27pG2w09SQpbej+XDNP3c3LufmD74LMV
 yOtLxfPIHKwCzrLkSaimRAfSWMeR3L7XQRHT1BI/oHxRQFzsxXysJvE2N8aKRWf3037i
 utqg==
X-Gm-Message-State: AOJu0YxiAZICq5mZC/vwxinbA+RXiEyD68ASs/1npIkX4YOdVrBbda7Z
 u2Y51jbA+MhrpmdWS3iTko/Uur8lRJl51Dw8K7NT/3aZE1qAZICIeSP3KA==
X-Gm-Gg: ASbGncuWsUsNY92FP5CwUI6fSmajIO/1vkTf/qjKvPgrLXvNMWvw0l8lHyw3aI8nsxz
 8UUatNdLP1C8LC1GHxjTdDEH/ds71rxYamFCNZjggXrr8iGVwtvomz+ttIw97nNt70VzAlOtRLe
 tiOEdba5G4bhcFU543dnmsXQ5vkJIc4iM/YT4R0XSGOJ8lGz5NT2IHjgdP6UsimTqA9MiYlnwJC
 ewHQ47mPvvZU2+5xTHUQ4m40J4doMs9GPEv+XAi/7DZUo7aLRsJs7hz3sRs1eWuaO4wzdftzY/h
 O2Hp0zOznYf0EXzGOr0yrfa2iFefr9Stqo0a6RSz9HIQcJ5TwzYhV25IMWKaZxdQKdWT4CH4SLU
 koIJvJ269lF84srS4J7ysfqFwMsirwts1dK7nZpr1pfes
X-Google-Smtp-Source: AGHT+IEKSMMQP7pfvjG1yqbjGKdKa1M4UeCeNOnnVAumOjK7ApppRgY+xxiLxGNyDAWxYt7s+Qejfg==
X-Received: by 2002:a5d:584e:0:b0:39c:140c:25e with SMTP id
 ffacd0b85a97d-39efba560b1mr10232167f8f.24.1745295121817; 
 Mon, 21 Apr 2025 21:12:01 -0700 (PDT)
Received: from pro2 (p200300e0b7301900b98b74cfc94b2689.dip0.t-ipconnect.de.
 [2003:e0:b730:1900:b98b:74cf:c94b:2689])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4406d5cf3a7sm157372395e9.32.2025.04.21.21.12.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 21 Apr 2025 21:12:01 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Stefan Kangas <stefankangas@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
 <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
Date: Tue, 22 Apr 2025 06:12:00 +0200
Message-ID: <m27c3cesxb.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: Stefan Monnier <monnier@HIDDEN>, 77924 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Stefan Kangas <stefankangas@HIDDEN> writes:

> This sounds great.  I pushed a couple of typo fixes while reading the
> patches, please use them as you see fit (squash, etc.).

Thanks, I've ported that back to my side.

>
> - Any chance you could add a comment explaining how you arrived at
>   text_index_interval=4*1024?  If it's arbitrarily chosen, adding a
>   comment to that effect might be useful.

It's neither completely arbitrary nor can I really say much about it.
INTERVAL / 2 is basically the worst-case distance one has to scan
through text. Don't really know what to say more, and the above is
pretty obvious. 

>
> - Maybe rename `text-index-interval` to `text-index--interval` (to
>   indicate that it's internal)?
>
> - I guess `use-text-index` can be removed?

I've removed these Lisp variables a few days ago or so. They were only
for experimenting with the whole thing. 

>> Please see the comments at the start of marker-vector.c and text-index.c
>> for more details. Also see the thread(s) on emacs-devel with Stef an me.
>
> For posterity, I guess that would be:
>
> Re: Question about region caches
> https://lists.gnu.org/r/emacs-devel/2025-03/msg01382.html
>
> PS. BTW, a small procedural thing.  Instead of merging master into a
>     scratch/ branch, I recommend deleting the branch, rebasing it on
>     master, and then pushing it again.  This way, when we later merge it
>     into master, we avoid the merge commits, and the history is kept
>     clean and more easily reviewable.  Not the end of the world either
>     way, but something to consider.

Sorry, too much work :-).

(For reviewing a branch with merges from master I recommend to find the
latest merge commit, take the parent commit on the master side, and
range diff with that. (If you have the merge in the reflog, that
speeds up finding the latest merge, but that's only the case if you did
the merge in that repo.))




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 22 Apr 2025 02:29:59 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Apr 21 22:29:59 2025
Received: from localhost ([127.0.0.1]:42016 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u73OZ-0006QS-8t
	for submit <at> debbugs.gnu.org; Mon, 21 Apr 2025 22:29:59 -0400
Received: from mail-ed1-x532.google.com ([2a00:1450:4864:20::532]:46517)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <stefankangas@HIDDEN>)
 id 1u73OW-0006Q6-0k
 for 77924 <at> debbugs.gnu.org; Mon, 21 Apr 2025 22:29:57 -0400
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-5f3f04b5dbcso6326662a12.1
 for <77924 <at> debbugs.gnu.org>; Mon, 21 Apr 2025 19:29:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745288990; x=1745893790; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=LtugAM+2soJLY6Vo5WyLZZN6rdXf3MY443IWnAR+la0=;
 b=HcodGUEKfRkKg1OuKbqr2ZX8EkFQYsuuFdXX5Zk4dcuwFi+J8bWXQ4hhTZXWiQocRF
 I6wY21cuHo2KH8muGGCERHreC9/mdV7/GuYMoChMGvlSrcByH1hQSrm6CPLI6JLf+STh
 wF1arthN7mq8EwvaMJbJvJYGP+SmHOgfpnc4kYZkwDyYk4y5olC8+qg+fFJs4exgb1VJ
 E6TERmkXGd+XrbyavjnktDYBFUo7PETxSVBOZQb+/F2KEvzX3MqJt5g+qBG4PsgAbc+G
 8G0yk6Kj4vUkP0lOPVECsEIJHIL3xkrQ/jIXfnCedcUwtVaJJyKffAeyne/0pXq5JJOR
 2aMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745288990; x=1745893790;
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:x-gm-message-state:from:to
 :cc:subject:date:message-id:reply-to;
 bh=LtugAM+2soJLY6Vo5WyLZZN6rdXf3MY443IWnAR+la0=;
 b=InoLe6Nw5DJ2742ZgN+jZzRgGY1/doBbVZ+xNzgaIH6pPGNxFm6JlcKhWhA8CAh0Ty
 zTXWziuS1gQ5XLtep1RUkxAsKLcQwaVu5eVX6z52SPApX0ALLz4d2iEHANeEMfIsBgYK
 LEVkIv/ijs9qZ6aHW5H4t+5uAIi8hz7GAEmPFBTVI1a765uNjV3SevWbXGELimL7fS3A
 5RHdFZo4NnqSctYyQn+guQ7Xqth5y6Rczn1tc64+OBGMKtYHpo1X6NGNUV15+//PofxU
 NPMFFGGW1WkJwxns+7pXSN5qVFDKwNbKpFSM4CqVnq2EWnw2h/PE9HWuNOJCzkUCvoqh
 zDCQ==
X-Forwarded-Encrypted: i=1;
 AJvYcCVOUHyVpII3jYBdV4TyNVYxCnxPK0g78YvMNpLU/UBJucmw1MKHCrpO9SzJu3oEhM093iiUuQ==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yza5uuXVWAEOsRkdy0QFZek50cBMR1wfH/5gVSRLiYdsBMP+ki0
 Db+N92PCwd3puMhojmyunMZlORhzFF7p67KOXo/mS+JobZBBL+ZpxJGLAiK6kTEVJ+8/IoKcsyi
 d+VtIt2taBYBmuLsTxlQhpfrzWEE7SwnP
X-Gm-Gg: ASbGncsfSGtHlO6vGe5Ae3XpQQqutFz6yvv880G6owPX3aUMzAN8lM1DCX3UTKpv13+
 87RdY9zIdYx48oyGt3xeMzHidnsYczNivTaN/jX4dUtSd+8VA+SaEb9ha5DH+9wphhucVZSdgq3
 e7TGSWGPAdXoN/LsoQtd2bcOIS
X-Google-Smtp-Source: AGHT+IEk7Gfbl0OniHnOZ1VkCJy3qesbBCbCkyNIBJ2ely3f6kfOWFnfu1cdvrbJPdA307+6DywYI0k99uOTpCPSBjI=
X-Received: by 2002:a05:6402:2356:b0:5f6:21a4:61d5 with SMTP id
 4fb4d7f45d1cf-5f62857414dmr11380628a12.17.1745288989730; Mon, 21 Apr 2025
 19:29:49 -0700 (PDT)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Mon, 21 Apr 2025 22:29:47 -0400
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Mon, 21 Apr 2025 22:29:47 -0400
From: Stefan Kangas <stefankangas@HIDDEN>
In-Reply-To: <m2jz7gp25p.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN>
MIME-Version: 1.0
Date: Mon, 21 Apr 2025 22:29:47 -0400
X-Gm-Features: ATxdqUFqPQGYNq0kzbhaE9F0TIBWpuuS7qnAH3sIfvyBsmsHLRu8SaiBzpMbiaw
Message-ID: <CADwFkmmabgGhBFUFYeNuFUuJC575YZdA+PVaOh19Hnxj-A-1wQ@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
To: =?UTF-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>, 
 77924 <at> debbugs.gnu.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: Stefan Monnier <monnier@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:

> This is about the branch scratch/text-index on savannah, which is a port
> of what I have in my Emacs.
>
> The branch changes the implementation of Lisp markers.
>
> - Markers no longer form a doubly-linked list, they are stored in a
>   marker vector instead which allows O(1) insertion and deletion of
>   markers. (The idea of a marker vector is from what I did in igc. In my
>   Emacs, both igc and old GC use the same marker vector implementation.
>   The new one is different from the one in feature/igc.)
>
> - Lisp_Marker doesn't contain the character position directly. It is
>   stored in the marker vector instead. This leads to faster,
>   cache-friendly, marker position adjustments.
>
> - Markers don't contain byte positions. Byte positions are computed when
>   needed. Bytepos <-> charpos conversion are done using a text-index
>   data structure. This removes the heuristics currently used in master,
>   and allows removing byte positions from markers.
>
> In summary, I'd say performance is good, to say the least, in many cases
> better, and it fixes corner cases leading the abysmal performance in
> current master.

This sounds great.  I pushed a couple of typo fixes while reading the
patches, please use them as you see fit (squash, etc.).

- Any chance you could add a comment explaining how you arrived at
  text_index_interval=3D4*1024?  If it's arbitrarily chosen, adding a
  comment to that effect might be useful.

- Maybe rename `text-index-interval` to `text-index--interval` (to
  indicate that it's internal)?

- I guess `use-text-index` can be removed?

> Please see the comments at the start of marker-vector.c and text-index.c
> for more details. Also see the thread(s) on emacs-devel with Stef an me.

For posterity, I guess that would be:

Re: Question about region caches
https://lists.gnu.org/r/emacs-devel/2025-03/msg01382.html

PS. BTW, a small procedural thing.  Instead of merging master into a
    scratch/ branch, I recommend deleting the branch, rebasing it on
    master, and then pushing it again.  This way, when we later merge it
    into master, we avoid the merge commits, and the history is kept
    clean and more easily reviewable.  Not the end of the world either
    way, but something to consider.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 21 Apr 2025 18:37:12 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Apr 21 14:37:12 2025
Received: from localhost ([127.0.0.1]:38539 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u6w12-0001me-4S
	for submit <at> debbugs.gnu.org; Mon, 21 Apr 2025 14:37:12 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:44648)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <rms@HIDDEN>) id 1u6w0y-0001mO-2W
 for 77924 <at> debbugs.gnu.org; Mon, 21 Apr 2025 14:37:08 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <rms@HIDDEN>)
 id 1u6w0s-0004D9-L9; Mon, 21 Apr 2025 14:37:02 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=Date:References:Subject:In-Reply-To:To:From:
 mime-version; bh=5xS9Dffv14cSATr9YgccjLjA+b3sqqTPiZ/V0+r/VD0=; b=gZGw+FZzCLZ4
 zSMTj/+/OdH5+NFEVnPd1bBRo2c0sar9GfgpMH0wE6uNcdA002OMPG+T9OyuQfFAFH0cQjcK+4enc
 GmbARUP6qWiYlpcp9yppdJ/0pvMArkF02YBFUr2+u+EaXW0MTp3TKp3KeAyHvdZX8EMPOXqJCBZho
 NZX7speobTnw15tSLit5cS/V9xMue+Ru7TyA1G99Ti178ZIM2cy+jnIjnhQ7GkPq4tFaw028SUAXU
 dn6b1KyQa/PUmSmdaUxW13/nwUDHLPFe69kxGgh4lb4dIEzNOSLEC20uyMgnd0OGbhcw0doeyJiHq
 8wJlNq8tuBJWvadbpLZnCw==;
Received: from rms by fencepost.gnu.org with local (Exim 4.90_1)
 (envelope-from <rms@HIDDEN>)
 id 1u6w0r-00055o-ST; Mon, 21 Apr 2025 14:37:01 -0400
Content-Type: text/plain; charset=Utf-8
From: Richard Stallman <rms@HIDDEN>
To: Gerd =?iso-8859-1?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
In-Reply-To: <m2jz7gp25p.fsf@HIDDEN> (message from Gerd
 =?iso-8859-1?Q?M=C3=B6llmann?= on Sat, 19 Apr 2025 18:05:38 +0200)
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
References: <m2jz7gp25p.fsf@HIDDEN>
Message-Id: <E1u6w0r-00055o-ST@HIDDEN>
Date: Mon, 21 Apr 2025 14:37:01 -0400
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77924
Cc: monnier@HIDDEN, 77924 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Reply-To: rms@HIDDEN
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

The one thing I worry about, regarding this new data structure,
is that allocation of the vectors could get troblesome
wnet there are many markers in a buffer.

I don't know whether that theoretical problem makes a big difference
in practice.  The new scheme may be better.  I just suggest looking at
this question.

-- 
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)






Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 21 Apr 2025 05:41:55 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Apr 21 01:41:55 2025
Received: from localhost ([127.0.0.1]:58973 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u6juk-0004U8-Uv
	for submit <at> debbugs.gnu.org; Mon, 21 Apr 2025 01:41:55 -0400
Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]:58800)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u6juh-0004TZ-UO
 for 77924 <at> debbugs.gnu.org; Mon, 21 Apr 2025 01:41:52 -0400
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-43ce71582e9so29318035e9.1
 for <77924 <at> debbugs.gnu.org>; Sun, 20 Apr 2025 22:41:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745214106; x=1745818906; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=F6n5TN1PKLlo04xHTY14abai59SWJMtQ/1bVxx0oy8A=;
 b=V8ez3hK2hGlaIfZDnNFATHz7DZcSMi3NSkNGCALCZKbHHLfng2lkVw922/3iIPuCkm
 vfVi0V13ftCk0r9grzxDY/mZYPdtfpXHFwdoU4IScCLzub+H1ppKRuj1AtKg1lkrH5ZC
 80wuEZc98YED0B8PRHntd/rjSZpkBfrICOlAvmJOuECizIdFLMKayHug7NyDvtCHaQWq
 s7+7MwJfFPax7qsog0CujOHVsisxiP2d7NUasiw/GTQsi6Vm7juCzPlRdVf82+tO7IDO
 vZs3iG92+yBhXcqRUI2jXBx4BqpCMcH0Fwd5f/yMbdQN/FilrrlM94rNRTuRyzKMkQYQ
 n8Gg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745214106; x=1745818906;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=F6n5TN1PKLlo04xHTY14abai59SWJMtQ/1bVxx0oy8A=;
 b=rm2ylhY3gnZ0Jj/elmDjhCjxeS005VEC+BB4wl0d60I7CRzGla5B/K3t6T215hGmQr
 A6h3+Gpte2YwcmvtR+iv/e/3HOpqqJDbl5o4hDQxAVVZFYLtvGO96lbGnvsfOqOFM8Gt
 PGxMs48WDV90ZwifpqDhffDDYyLDz14n49t6V0dXEqZcXmS3fu4pZY6tp7mwFKEy9b7Q
 hf4L3bzXLxMZeLnSLR3alifp8/qpmh3pK7ZnDYnp4cuaAGtnIDbrBPcIhBATLbQwLbq/
 3Q3vz5NBvgOOhjOyRL376STfgdlyOTIinFV+Ym+HAtfzAhSLWvE14F0O9P/k4ex78f21
 nhJA==
X-Gm-Message-State: AOJu0YyTTmwcL6jvfO1MCU8pcyPr9FVMPI6qfqDll427Bj3VTPw0o+Et
 DYsguw9zFALKHrM6B7Ko1OvVTrqiJsmvHM1zTRREJlNUZuVtvKHm
X-Gm-Gg: ASbGncttXsBGPF9K7JdQHJ1ln99+gDzjtOLe1b+E/6E78Nva1TdfkjHa495ekYiGq60
 Lp2c8bPt/5O9Qe5xLnDG79XQDWKoNqginNJvZXIWTwBoxPYwK8MkjQprLWlSieSPsQnBMlVBG3a
 tjC1dhNZEr6nGo9eJ+r/yZgqC1n7MYFnm9eNn+7M1p7sEQrpDfiP1HEV8nVpWG2bGR4bcq/JORC
 RsGccftMQPSaO47rwr4O75Ei9t6bUF0Ywhec6aryK5qO94b8hPXDL8IWfCfkqjDZ+S949EZ2biv
 +RNy7UxaLbij49NrL4SddRbN1BLmJMorc9NhvzGIB7/fgA4DVClYrXBf49C4L/uV1liewaGgAjK
 qH0aSkjwr8KbdIQM3RftLmpxAVck06f3oX2sh/EysIw==
X-Google-Smtp-Source: AGHT+IFNxg7VP/h/z45CezG4Ozg3U3UH1pW4xZBCaCnTOuVrlOqHp5ZNkmimdwdDg3d/H40nADtTAg==
X-Received: by 2002:a05:6000:40db:b0:390:fb37:1bd with SMTP id
 ffacd0b85a97d-39efbacf35fmr8273929f8f.46.1745214105666; 
 Sun, 20 Apr 2025 22:41:45 -0700 (PDT)
Received: from pro2 (p200300e0b728b60058490051f8c259a0.dip0.t-ipconnect.de.
 [2003:e0:b728:b600:5849:51:f8c2:59a0])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39efa4332c1sm10579424f8f.27.2025.04.20.22.41.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 20 Apr 2025 22:41:45 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <m2plh6dt3q.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN> <86plh86rit.fsf@HIDDEN>
 <m2fri4ozpv.fsf@HIDDEN> <m2r01ndg5r.fsf@HIDDEN>
 <m2y0vv2pva.fsf@HIDDEN> <m2plh6dt3q.fsf@HIDDEN>
Date: Mon, 21 Apr 2025 07:41:43 +0200
Message-ID: <m2ldrudqaw.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: monnier@HIDDEN, 77924 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:

> I'll fix that a bit later today.

Done.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 21 Apr 2025 04:41:25 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Apr 21 00:41:25 2025
Received: from localhost ([127.0.0.1]:58583 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u6iyD-0007L7-2Y
	for submit <at> debbugs.gnu.org; Mon, 21 Apr 2025 00:41:25 -0400
Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]:55714)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u6iy9-0007Kr-HJ
 for 77924 <at> debbugs.gnu.org; Mon, 21 Apr 2025 00:41:22 -0400
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-43cebe06e9eso29897075e9.3
 for <77924 <at> debbugs.gnu.org>; Sun, 20 Apr 2025 21:41:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745210475; x=1745815275; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=a4yctWQ+K5GV/JUIZJYXyGh+x5gT0UW9J6vejl6I/Ko=;
 b=ko1DiD3xUQBF4QVROZi2FXNu/Y8J3b/E6nRZ+dQcuL/iIdfSdQSKoUKPhofKYIyjRn
 z2mXFsFSzrKjKgJ3UB99fnX3wU4EkwtS7wAQ2zhxCMr+5cPN8fT+dfKAcx8021l7jRmd
 d6Cb3Wyn9GLFBKHRL8VSMe7ov3KOyXgit0wZcCTdbW1aiBo9hRQAZ/WHyJt0yopAJJwi
 2qyveVWN5ozaGTVbCnbKYPWy5tln6g0plPH225iuDM53sc5oLKheCqkimmYh+moPJ1zH
 bbSlf47KXkzn+Mhcw9/VFxLL4cCjV3rL7yXwj/LjIVLef5EL6xT6YYNNscpAiI1Zy2GV
 aa0A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745210475; x=1745815275;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=a4yctWQ+K5GV/JUIZJYXyGh+x5gT0UW9J6vejl6I/Ko=;
 b=vvxXTd6iIVxlWFAXGhxC5JsVJVtxnbS8CzLGhKodmhy4pnQNgpqmSyIjEIIqSv9GxE
 FDrykeO86yQ+suJhkpxeWexzov4YMBpj3xFRTJ26I1TrMREV48E4Wa72+u3o9ejhomH6
 keNbeH1CT5WJ5XrhZAs62wj5Pe3cHjINBOiJJLYAzrDP6yGcq8rEMnuV0c+Wr2Lotyf1
 EhOpHkDPEUIcG4CEVuanHS8LlsfmphCZy+ulF+sz21nObd33h1WyBviHyqqOQTY2kjRR
 fRIoUS4t1FhWwd4eAodvKhW0b1Yas/59FCR1t3WneauPjomA0i9F6mB1LY4v/LptF24/
 RQaQ==
X-Gm-Message-State: AOJu0YyXQGD6q++SzatlHooC3Jx32R4WfjZNvyHHPHAfACXM8LSfs54M
 2pLxsRYgZxm0bPI4y5Bxb+deptBbAel9teKE8I48rcQAagsO4QS8SAQmSA==
X-Gm-Gg: ASbGncu/P4IIZS9FMRaGY7w3wmmOCzeS5qDc9d28lq3vA5LMQGYXFVieboGdnZ/B+Zf
 5zr+Uc+LOu+wPdOjcdN4NQkLBwcfvU0MRxziRoTull/Yu1tdzhJKfZV1MMEugHntLN0OtuQ46ZA
 PtHPOsGY54/MiAKoi+onPE3VgEorAqc3UmDGQE7B/7EV04MpEXZ1mzY6lOinVkG1b1VPmqM1TcB
 BwD+ZudVDga/2581ovBP+cn65QDbDwbtPdFx00RbR6GLY1tDe3Qlymt9GIFDc/1cTEbW6fH5ujY
 FaWMJRTduVxALRUiZjcro03c9vwPl/rDAZg31zDp3NRR5Mv4EP4SHnC5DZAUnfPKKQ/HUxqj6FU
 Fa6fmKkDqSl9nhc5n0FwzjP8qKFjpODEERA3bal8a5wnQESw=
X-Google-Smtp-Source: AGHT+IH6QxXfhY7Jvxvgixnjl9phvJiPV0Gef5HHfKJFicazE1K+s8zAobBWnPgvZAGs0zdB8lw7cQ==
X-Received: by 2002:a05:600c:1c9d:b0:43b:ce36:7574 with SMTP id
 5b1f17b1804b1-4406ab93b95mr84252345e9.11.1745210475142; 
 Sun, 20 Apr 2025 21:41:15 -0700 (PDT)
Received: from pro2 (p200300e0b728b60058490051f8c259a0.dip0.t-ipconnect.de.
 [2003:e0:b728:b600:5849:51:f8c2:59a0])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4406d5bbcfesm120509575e9.23.2025.04.20.21.41.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 20 Apr 2025 21:41:14 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <m2y0vv2pva.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN> <86plh86rit.fsf@HIDDEN>
 <m2fri4ozpv.fsf@HIDDEN> <m2r01ndg5r.fsf@HIDDEN>
 <m2y0vv2pva.fsf@HIDDEN>
Date: Mon, 21 Apr 2025 06:41:13 +0200
Message-ID: <m2plh6dt3q.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: monnier@HIDDEN, 77924 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:

> Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:
>
>> Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:
>>
>>> Eli Zaretskii <eliz@HIDDEN> writes:
>>>
>>>> Are there any backward-incompatible changes with this?
>>>
>>> None I'm aware of.
>>>
>>>> Do all the tests still pass as well as they did before these changes?
>>>
>>> I got a SEGV in buffer-tests right now when I checked again that went
>>> away an a second run. So I'll have to check that.
>>
>> SUMMARY OF TEST RESULTS
>> -----------------------
>> Files examined: 530
>> Ran 8041 tests, 7765 results as expected, 0 unexpected, 276 skipped
>> [scratch/text-index] gerd@mini 2025-04-19 22:51
>>
>> Now fixed.
>
> Commit message:

A warning: the branch currently contains a bug that can lead to a stack
overflow that looks like this:

(lldb) bt
* thread #1, queue =3D 'com.apple.main-thread', stop reason =3D EXC_BAD_ACC=
ESS (code=3D2, address=3D0x16b0ffff0)
    frame #0: 0x000000010451bc38 emacs`ensure_charpos_indexed(b=3D0x0000000=
107280d28, charpos=3D4415031360) at text-index.c:356
    frame #1: 0x000000010451bb10 emacs`text_index_charpos_to_bytepos(b=3D0x=
0000000107280840, charpos=3D25980) at text-index.c:621:3
    frame #2: 0x00000001046cc1d0 emacs`marker_vector_bytepos(m=3D0x00000001=
07280d28) at marker-vector.c:323:10
    frame #3: 0x0000000104529aec emacs`marker_byte_position(marker=3D(struc=
t Lisp_Marker *) $52 =3D 0x0000000107280d28) at marker.c:376:29
    frame #4: 0x000000010451cfb4 emacs`BUF_PT_BYTE(buf=3D0x0000000107280840=
) at buffer.h:909:6
!gud 909:6:/Users/gerd/emacs/github/cl-packages/src/buffer.h
  * frame #5: 0x000000010451bdec emacs`narrow_charpos_bounds(b=3D0x00000001=
07280840, prev=3D0x000000016b100178, next=3D0x000000016b100168, charpos=3D2=
5980) at text-index.c:549:42
    frame #6: 0x000000010451bb78 emacs`text_index_charpos_to_bytepos(b=3D0x=
0000000107280840, charpos=3D25980) at text-index.c:628:23
    frame #7: 0x00000001046cc1d0 emacs`marker_vector_bytepos(m=3D0x00000001=
07280d28) at marker-vector.c:323:10
    frame #8: 0x0000000104529aec emacs`marker_byte_position(marker=3D(struc=
t Lisp_Marker *) $52 =3D 0x0000000107280d28) at marker.c:376:29
    frame #9: 0x000000010451cfb4 emacs`BUF_PT_BYTE(buf=3D0x0000000107280840=
) at buffer.h:909:6
    frame #10: 0x000000010451bdec emacs`narrow_charpos_bounds(b=3D0x0000000=
107280840, prev=3D0x000000016b1002c8, next=3D0x000000016b1002b8, charpos=3D=
25980) at text-index.c:549:42
    frame #11: 0x000000010451bb78 emacs`text_index_charpos_to_bytepos(b=3D0=
x0000000107280840, charpos=3D25980) at text-index.c:628:23
    frame #12: 0x00000001046cc1d0 emacs`marker_vector_bytepos(m=3D0x0000000=
107280d28) at marker-vector.c:323:10
    frame #13: 0x0000000104529aec emacs`marker_byte_position(marker=3D(stru=
ct Lisp_Marker *) $52 =3D 0x0000000107280d28) at marker.c:376:29
    frame #14: 0x000000010451cfb4 emacs`BUF_PT_BYTE(buf=3D0x000000010728084=
0) at buffer.h:909:6

The reason for that is that functions like BUF_PT (and maybe others) are
"too smart", in the case of indirect buffers, for what I need in the
text index. I'll fix that a bit later today.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 20 Apr 2025 08:34:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Apr 20 04:34:28 2025
Received: from localhost ([127.0.0.1]:44920 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u6Q8B-0006Zo-K9
	for submit <at> debbugs.gnu.org; Sun, 20 Apr 2025 04:34:27 -0400
Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]:56820)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u6Q89-0006ZZ-Q1
 for 77924 <at> debbugs.gnu.org; Sun, 20 Apr 2025 04:34:26 -0400
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-43edecbfb94so33310055e9.1
 for <77924 <at> debbugs.gnu.org>; Sun, 20 Apr 2025 01:34:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745138059; x=1745742859; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=TH2hoS2oGQcgBuXKJq7NKFRN4T7Zu8gWCvEwogdIpCc=;
 b=JRUt7mlqggMbOQ3C7oQTNFx1Fx0cJ/B0q0NSiU2ktEfS3sXeBMgrbYZXqDuNLBd9g6
 MOgwCpCZVlz8UbMQuSVBndRhstn/uAJn+2mNP6GfEjFZDWs1rpL0qtXIIANCtpHPbBCi
 xRahbxw38TbxlthPLEXTH8XVjYnKgVKSeTrksUvPc2B2lbqxor5sVroA8StYi4OagX5H
 a2ZbG0j6WopAmymQc6bX5THf0ylMPhH+iq/H7uBxtSco2eW6a6eC2LCYzrz1BRYXGxb0
 e7FWjeDRhvzsOGc0FWgNPAUH3LgykljhSkM6rJ4mQrVSvBT2hK6gP6lj5wgu9qYWBDRy
 6NMw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745138059; x=1745742859;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=TH2hoS2oGQcgBuXKJq7NKFRN4T7Zu8gWCvEwogdIpCc=;
 b=nTXSKMS6xoUsNU1ooaRcZMqsSGDvQyIrEZf0Ln2CSTOVg1Um7bS5IC/9pCOvQzwUAM
 Y3PZJMH4oZrddv/jvQ4XLV9SNdevZ+eNvqV1JAprjokjdzp0IY6jSfe6Z84mksB9/sW3
 eJBAm2zgBXVlaJTMcN/xVdz+ujd7NGf7wh/dcRIL9Q8nwJElrj/XoOY8LkS8J+aZV7bE
 H3bP3jBCs5Ghtb/09t6JEA3IcCHMVgcAvzYfdJyvzUSFs1ONZlj2CHXVLWExS3hdcHLi
 O4o66k9b1fjGpG1k+Uburu/n50kRMFMFZR+ZCVeXXAGGbKV+kaaaWV1qJ0bs3SIIBsdn
 3k1w==
X-Gm-Message-State: AOJu0YySSQ67RnMfqIOWSY3J7+R0Dfvpm9GR7UTHT5keyVBgoOTTEA1H
 B4iMOTctkOpzsyfo8zCwdZ0+jKNsgMZ5RnQwFmTgkyWF8BC3HpSI
X-Gm-Gg: ASbGnctqJZtaMWS/+HUc4phxcNk1qODVqCHuBl0gLstBOCdiF9texxaJtQk8p9VySRD
 UuXYiF18FCp7C8d5oc81jXFMKh7P2GepA/JuY1S44tgztSFeFdJ7IZnr4KIeqOKaIJX0/sjCHe1
 bF5uqfrt/kGletypFfyDfU7L1xXlX4CjXLndhWxWi/z9EnDPIqLb3QfcXuayKvVwvGb1Dzrp1h6
 bfocX0t7hSqFbFAAy+nphWSA8zGDXLRXwYYOLG0bMtr/4IycTsQFETsb9zOelFzss5yfeDZVOSc
 kmBoFQc3rSxQ7nY7PM44l/RF/HgE/GpsSvRh1soNe2GZVlcdZLkRGh8Ic6bMcHlHyFsmMt6RV6s
 Ox3D4LN0RjazRMU0aG9YVw/gx14TIyno34DgjLv1M1pGm
X-Google-Smtp-Source: AGHT+IHEQRVFUr7ZBe3VJHoQLi0qX0r5oAnDgX8/OQodcqxeHfsrpfKDf6OnonqIP/dlkcxbcQT/YQ==
X-Received: by 2002:a05:600c:a143:b0:43d:878c:7c40 with SMTP id
 5b1f17b1804b1-44076c9c6fbmr31452725e9.10.1745138059065; 
 Sun, 20 Apr 2025 01:34:19 -0700 (PDT)
Received: from pro2 (p200300e0b720a300c964490db7e76205.dip0.t-ipconnect.de.
 [2003:e0:b720:a300:c964:490d:b7e7:6205])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39efa4206fasm8138747f8f.2.2025.04.20.01.34.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 20 Apr 2025 01:34:18 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <m2r01ndg5r.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN> <86plh86rit.fsf@HIDDEN>
 <m2fri4ozpv.fsf@HIDDEN> <m2r01ndg5r.fsf@HIDDEN>
Date: Sun, 20 Apr 2025 10:34:17 +0200
Message-ID: <m2y0vv2pva.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: monnier@HIDDEN, 77924 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:

> Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:
>
>> Eli Zaretskii <eliz@HIDDEN> writes:
>>
>>> Are there any backward-incompatible changes with this?
>>
>> None I'm aware of.
>>
>>> Do all the tests still pass as well as they did before these changes?
>>
>> I got a SEGV in buffer-tests right now when I checked again that went
>> away an a second run. So I'll have to check that.
>
> SUMMARY OF TEST RESULTS
> -----------------------
> Files examined: 530
> Ran 8041 tests, 7765 results as expected, 0 unexpected, 276 skipped
> [scratch/text-index] gerd@mini 2025-04-19 22:51
>
> Now fixed.

Commit message:


--=-=-=
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=text-index-change.log
Content-Transfer-Encoding: base64

TmV3IG1hcmtlcnMsIHRleHQgaW5kZXgsIG1hcmtlciB2ZWN0b3JzIChidWcjNzc5MjQpCgpUaGlz
IGNoYW5nZXMgdGhlIGltcGxlbWVudGF0aW9uIG9mIExpc3AgbWFya2Vycy4KCi0gTWFya2VycyBu
byBsb25nZXIgZm9ybSBhIHNpbmdseS1saW5rZWQgbGlzdCwgdGhleSBhcmUgc3RvcmVkIGluIGEK
ICBtYXJrZXIgdmVjdG9yIGluc3RlYWQgd2hpY2ggYWxsb3dzIE8oMSkgaW5zZXJ0aW9uIGFuZCBk
ZWxldGlvbiBvZgogIG1hcmtlcnMuIChUaGUgaWRlYSBvZiBhIG1hcmtlciB2ZWN0b3IgaXMgZnJv
bSB3aGF0IEkgZGlkIGluIGlnYy4gSW4gbXkKICBFbWFjcywgYm90aCBpZ2MgYW5kIG9sZCBHQyB1
c2UgdGhlIHNhbWUgbWFya2VyIHZlY3RvciBpbXBsZW1lbnRhdGlvbi4KICBUaGUgbmV3IG9uZSBp
cyBkaWZmZXJlbnQgZnJvbSB0aGUgb25lIGluIGZlYXR1cmUvaWdjLikKCi0gTGlzcF9NYXJrZXIg
ZG9lc24ndCBjb250YWluIHRoZSBjaGFyYWN0ZXIgcG9zaXRpb24gZGlyZWN0bHkuIEl0IGlzCiAg
c3RvcmVkIGluIHRoZSBtYXJrZXIgdmVjdG9yIGluc3RlYWQuIFRoaXMgbGVhZHMgdG8gZmFzdGVy
LAogIGNhY2hlLWZyaWVuZGx5LCBtYXJrZXIgcG9zaXRpb24gYWRqdXN0bWVudHMuCgotIE1hcmtl
cnMgZG9uJ3QgY29udGFpbiBieXRlIHBvc2l0aW9ucy4gQnl0ZSBwb3NpdGlvbnMgYXJlIGNvbXB1
dGVkIHdoZW4KICBuZWVkZWQuIEJ5dGVwb3MgPC0+IGNoYXJwb3MgY29udmVyc2lvbiBhcmUgZG9u
ZSB1c2luZyBhIHRleHQtaW5kZXgKICBkYXRhIHN0cnVjdHVyZS4gVGhpcyByZW1vdmVzIHRoZSBo
ZXVyaXN0aWNzIGN1cnJlbnRseSB1c2VkIGluIG1hc3RlciwKICBhbmQgYWxsb3dzIHJlbW92aW5n
IGJ5dGUgcG9zaXRpb25zIGZyb20gbWFya2Vycy4KClBsZWFzZSBzZWUgdGhlIGNvbW1lbnRzIGF0
IHRoZSBzdGFydCBvZiBtYXJrZXItdmVjdG9yLmMgYW5kIHRleHQtaW5kZXguYwpmb3IgbW9yZSBk
ZXRhaWxzLiBBbHNvIHNlZSB0aGUgdGhyZWFkKHMpIG9uIGVtYWNzLWRldmVsIHdpdGggU3RlZiBh
biBtZS4KCiogc3JjL21hcmtlci12ZWN0b3IuW2NoXSwgc3JjL3RleHQtaW5kZXguW2NoXTogTmV3
IGZpbGVzLgoqIHRlc3Qvc3JjL3RleHQtaW5kZXgtdGVzdHMuZWw6IE5ldyBmaWxlLgoKKiBzcmMv
TWFrZWZpbGUuaW4gKGJhc2Vfb2JqKTogQWRkIG1hcmtlci12ZWN0b3IubyBhbmQKdGV4dC1pbmRl
eC5vLgoKKiBzcmMvbGlzcC5oIChnY192c2l6ZSk6IE5ldyBmdW5jdGlvbi4KKHN0cnVjdCBMaXNw
X01hcmtlcik6IFJlbW92ZSBwb3NpdGlvbnMgYW5kIG5leHQgcG9pbnRlci4gQWRkCm1hcmtlciB2
ZWN0b3IgaW5kZXguCgoqIHNyYy9hbGxvYy5jIChGbWFrZV9tYXJrZXIsIGJ1aWxkX21hcmtlcik6
IEFkYXB0IHRvIExpc3BfTWFya2VyCmNoYW5nZXMuCihtYXJrX2J1ZmZlcik6IFNldCBtYXJrZXIg
dmVjdG9yIG1hcmtlZC4KKHVuY2hhaW5fZGVhZF9tYXJrZXJzKTogTmV3IGltcGxlbWVudGF0aW9u
LgoKKiBzcmMvYnVmZmVyLmg6IChzdHJ1Y3QgYnVmZmVyX3RleHQpOiBBZGQgdGV4dCBpbmRleCBh
bmQgbWFya2VyCnZlY3Rvci4KCiogc3JjL2J1ZmZlci5jOiAoRmdldF9idWZmZXJfY3JlYXRlKTog
SW5pdGlhbGl6ZSBidWZmZXIncyB0ZXh0CmluZGV4IGFuZCBtYXJrZXIgdmVjdG9yLgooY2xvbmVf
cGVyX2J1ZmZlcl92YWx1ZXMpOiBHZXQvc2V0IGNoYXJwb3MgdmlhIG1hcmtlciB2ZWN0b3IuCihy
ZWNvcmRfYnVmZmVyX21hcmtlcnMpOiBDYWxsIHNldF9tYXJrZXJfYm90aCB3aXRob3V0IGJ5dGVw
b3MuCihGbWFrZV9pbmRpcmVjdF9idWZmZXIpOiBJbml0aWFsaXplIG93biB0ZXh0J3MgaW5kZXgg
dG8gTlVMTC4KQ2FsbCBidWlsZF9tYXJrZXIgd2l0aG91dCBieXRlcG9zLgooRmtpbGxfYnVmZmVy
KTogVXNlIERPX01BUktFUlMgYW5kIG1hcmtlcl92ZWN0b3JfcmVzZXQuIEZyZWUgdGV4dAppbmRl
eC4KKHN3YXBfYnVmZmVyX292ZXJsYXlzKTogVXNlIERPX01BUktFUlMuCihGc2V0X2J1ZmZlcl9t
dWx0aWJ5dGUpOiBVc2UgRE9fTUFSS0VSUwoKKiBzcmMvY2FsbGludC5jIChGY2FsbF9pbnRlcmFj
dGl2ZWx5KTogQ2FsbCBzZXRfbWFya2VyX2JvdGgKd2l0aG91dCBieXRlcG9zLgoKKiBzcmMvY29k
aW5nLmMgKGRlY29kZV9jb2Rpbmdfb2JqZWN0KTogVXNlIERPX01BUktFUlMuCihkZWNvZGVfY29k
aW5nX29iamVjdCk6IEdldC9zZXQgY2hhcnBvcyB2aWEgbWFya2VyIHZlY3Rvci4gVXNlCkRPX01B
UktFUlMuCgoqIHNyYy9jb21wb3NpdGUuYyAoYXV0b2NtcF9jaGFycyk6IERvbid0IHBhc3MgYnl0
ZXBvcyB0bwpidWlsZF9tYXJrZXIuCgoqIHNyYy9kaXNwZXh0ZXJuLmggKFNFVF9NQVJLRVJfRlJP
TV9URVhUX1BPUyk6RG9uJ3QgcGFzcyBieXRlcG9zCnRvIHNldF9tYXJrZXJfYm90aC4KCiogc3Jj
L2VkaXRmbnMuYyAoRnBvaW50X21hcmtlciwgRnBvaW50X21pbl9tYXJrZXIpOgooRnBvaW50X21h
eF9tYXJrZXIpOiBEb24ndCBidWlsZF9tYXJrZXIgd2l0aCBieXRlcG9zLgooc2F2ZV9yZXN0cmlj
dGlvbl9zYXZlXzEsIHNhdmVfcmVzdHJpY3Rpb25fcmVzdG9yZV8xKToKQ2hhbmdlIHRvIG5vdCB1
c2UgYnl0ZXBvcy4gVXNlIERPX01BUktFUlMuCih0cmFuc3Bvc2VfbWFya2Vycyk6Cih0cmFuc3Bv
c2VfbWFya2Vycyk6Cih0cmFuc3Bvc2VfbWFya2Vycyk6CgoqIHNyYy9lbWFjcy5jIChtYWluKTog
Q2FsbCBpbml0X3RleHRfaW5kZXggYW5kCnN5bW5zX29mX3RleHRfaW5kZXguCgoqIHNyYy9mbnMu
YyAoaW50ZXJuYWxfZXF1YWxfMSk6IERvbid0IHVzZSBtYXJrZXIgYnl0ZXBvcy4KKHZhbHVlX2Nt
cCk6IEJldCBjaGFycG9zIHZpYSBtYXJrZXIgdmVjdG9yLgooc3hoYXNoX29iaik6IERvbid0IHVz
ZSBtYXJrZXIgYnl0ZXBvcy4KCiogc3JjL2luZGVudC5jIChjaGVja19kaXNwbGF5X3dpZHRoLCBy
ZXN0b3JlX3dpbmRvd19idWZmZXIpOgooRnZlcnRpY2FsX21vdGlvbik6IENhbGwgc2V0X21hcmtl
cl9ib3RoIHdpdGhvdXQgYnl0ZXBvcy4KCiogc3JjL2luc2RlbC5jIChhZGp1c3Rfc3VzcGVuZF9h
dXRvX2hzY3JvbGwpOiBHZXQgY2hhcnBvcyB2aWEgbWFya2VyIHZlY3Rvci4KKGFkanVzdF9tYXJr
ZXJzX2Zvcl9kZWxldGUsIGFkanVzdF9tYXJrZXJzX2Zvcl9pbnNlcnQpOgooYWRqdXN0X21hcmtl
cnNfZm9yX3JlcGxhY2UpOiBVc2UgdGV4dCBpbmRleCBmdW5jdGlvbnMuCihjb3VudF9ieXRlcyk6
IFJlbW92ZWQuCihhZGp1c3RfbWFya2Vyc19ieXRlcG9zKTogUmVtb3ZlIGNvZGUgYWRqdXN0aW5n
IGJ5dGVwb3MuCgoqIHNyYy9scmVhZC5jIChyZWFkY2hhciwgdW5yZWFkY2hhcik6IEdldC9zZXQg
Y2hhcnBvc3ZpYSBtYXJrZXIKdmVjdG9yLgoKKiBzcmMvbWFya2VyLmMgKGNhY2hlZF9jaGFyb3Ms
IGNhY2hlZF9ieXRlcG9zLCBjYWNoZWRfYnVmZmVyKToKKGNhY2hlZF9tb2RpZmYpOiBSZW1vdmVk
LgooY2xlYXJfY2hhcnBvc19jYWNoZSk6IEVtcHRpZWQuCihidWZfYnl0ZXBvc190b19jaGFycG9z
LCBidWZfY2hhcnBvc190b19ieXRlb2lzKTogVXNlIHRleHQKaW5kZXguIFJlbW92ZSBvbGQgaW1w
bGVtZW50YXRpb24uCihGbWFya2VyX3Bvc2l0aW9uLCBGbWFya2VyX2xhc3RfcG9zaXRpb24pOiBH
ZXQgY2hhcnBvcyB2aWEgbWFya2VyIHZlY3Rvci4KKGF0dGFjaF9tYXJrZXIpOiBSZW1vdmUgYnl0
ZXBvcyBwYXJhbWV0ZXIuCihzZXRfbWFya2VyX2ludGVybmFsKTogRG9uJ3QgdXNlIGJ5dGUgcG9z
aXRpb25zLgooc2V0X21hcmtlcl9ib3RoKTogUmVtb3ZlIGJ5dGVwb3MgcGFyYW1ldGVyLiBEb24n
dCBhY3Qgb24gYnl0ZXBvcy4KKHNldF9tYXJrZXJfcmVzdHJpY3RlZF9ib3RoKTogRG9uJ3QgdXNl
IGJ5dGUgcG9zaXRpb25zLgooc2V0X21hcmtlcl9yZXN0cmljdGVkX2JvdGgpOiBSZW1vdmUgYnl0
ZXBvcyBwYXJhbWV0ZXIuCih1bmNoYWluX21hcmtlcik6IFVzZSBtYXJrZXIgdmVjdG9yLgoobWFy
a2VyX3Bvc2l0aW9uLCBtYXJrZXJfYnl0ZV9wb3NpdGlvbik6IFVzZSBtYXJrZXIgdmVjdG9yLgoK
KiBzcmMvcGR1bXBlci5jIChkdW1wX21hcmtlcik6IEFkYXB0IHRvIGNoYW5nZXMgaW4gTGlzcF9N
YXJrZXIuCihkdW1wX2J1ZmZlcik6IEFkYXB0IHRvIGNoYW5nZXMgaW4gc3RydWN0IGJ1ZmZlcl90
ZXh0LgoKKiBzcmMvcHJpbnQuYyAocHJpbnRfZmluaXNoKTogQ2FsbCBzZXRfbWFya2VyX2JvdGgg
d2l0aG91dCBieXRlcG9zLgoKKiBzcmMvcHJvY2Vzcy5jICh1cGRhdGVfcHJvY2Vzc19tYXJrLCBy
ZWFkX3Byb2Nlc3Nfb3V0cHV0X2FmdGVyX2luc2VydCk6CihGaW50ZXJuYWxfZGVmYXVsdF9wcm9j
ZXNzX3NlbnRpbmVsKTogQ2FsbCBzZXRfbWFya2VyX2JvdGggd2l0aG91dApieXRlcG9zLgoKKiBz
cmMvdW5kby5jIChyZWNvcmRfbWFya2VyX2FkanVzdG1lbnRzKTogR2V0IGNoYXJwb3MgdmlhIG1h
cmtlcgp2ZWN0b3IuCgoqIHNyYy93aW5kb3cuYyAoc2VsZWN0X3dpbmRvd18xLCB3aW5kb3dfcG9p
bnQpOgooRmRlbGV0ZV9vdGhlcl93aW5kb3dzX2ludGVybmEsIHNldF93aW5kb3dfYnVmZmVyKToK
KHRlbXBfb3V0cHV0X2J1ZmZlcl9zaG93LCBGc3BsaXRfd2luZG93X2ludGVybmFsKToKKHdpbmRv
d19zY3JvbGxfZm9yX2xvbmdfbGluZXMsIHdpbmRvd19zY3JvbGxfcGl4ZWxfYmFzZWQpOgood2lu
ZG93X3Njcm9sbF9saW5lX2Jhc2VkLCBzY3JvbGxfY29tbWFuZCk6CihGcmVjZW50ZXIsIEZtb3Zl
X3RvX3dpbmRvd19saW5lLCBGc2V0X3dpbmRvd19jb25maWd1cmF0aW9uKToKKEZzZXRfd2luZG93
X2NvbmZpZ3VyYXRpb24sIEZzZXRfd2luZG93X2NvbmZpZ3VyYXRpb24pOgooc2F2ZV93aW5kb3df
c2F2ZSk6IERvbid0IHBhc3MKYnl0ZXBvcyBwYXJhbSB0byBzZXRfbWFya2VyXyogZnVuY3Rpb25z
LCBidWlsZF9tYXJrZXIgZXRjLgoKKiBzcmMveGRpc3AuYyAoRmJ1ZmZlcl90ZXh0X3BpeGVsX3Np
emUsICBtZXNzYWdlX2RvbG9nKToKKHdpdGhfZWNob19hcmVhX2J1ZmZlciwgdW53aW5kX3dpdGhf
ZWNob19hcmVhX2J1ZmZlcik6CihyZXNpemVfbWluaV93aW5kb3csIGZvcm1hdF9tb2RlX2xpbmVf
dW53aW5kX2RhdGEpOgoocmVkaXNwbGF5X3dpbmRvdywgcmVkaXNwbGF5X3dpbmRvdywgcmVkaXNw
bGF5X3dpbmRvdyk6Cih0cnlfd2luZG93KTogRG9uJ3QgdXNlIG1hcmtlciBieXRlcG9zLCBwYXNz
IGJ5dGVwb3MgcGFyYW0gdG8Kc2V0X21hcmtlcl8qIGZ1bmN0aW9ucywgZXRjLgo=
--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 19 Apr 2025 20:56:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Apr 19 16:56:32 2025
Received: from localhost ([127.0.0.1]:38678 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u6FEk-00071s-ON
	for submit <at> debbugs.gnu.org; Sat, 19 Apr 2025 16:56:32 -0400
Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:44308)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u6FEe-000709-Tv
 for 77924 <at> debbugs.gnu.org; Sat, 19 Apr 2025 16:56:27 -0400
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-39efc1365e4so739930f8f.1
 for <77924 <at> debbugs.gnu.org>; Sat, 19 Apr 2025 13:56:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745096179; x=1745700979; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=gBhlG0sauO9gvuFz1FvZBSwGf51snW/0rypj0VQNIm0=;
 b=Lz2W02vwQ/cXY4lo3gWmJBnHwpfDwmFuhHV+Pgk8sW9NNrugqHfqcSjubqBvQuR2DJ
 gAaufwYmE2hLgYhpI7FQ4wZ6CF76Eg+d4cKSTV70FXp/ucF5rJbEnsd74DRWCoTNmwOs
 +GGOwucui0vw0uCQ6NwDcju7J5jP01g43tpTpcYR405l0UUrTGY9/w+GaNgE3Ww2UUq6
 k4V+SChYdlQDqaYII5uE6Er8adldZLzc3V1sahGCpRFjdMFNSimJLdkyQzGCGZD3wR/k
 d2oekDZTqrUiDRnk/oXyKctuSCAlOs9LkjAvCXhRDxrY9hxqJ/odtQLuCA+nWRp/Jk3k
 nF7Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745096179; x=1745700979;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
 :to:cc:subject:date:message-id:reply-to;
 bh=gBhlG0sauO9gvuFz1FvZBSwGf51snW/0rypj0VQNIm0=;
 b=ebECDxSX+GYRlYlA2icr/9w0lB0Eo288jL7sE5A/DkSQ2c0OT5Bx10L1FdpmVcq+We
 O7KFWkTDdx9Lt6Ejtg+YfJjVCd5ioULw7FHalwqYi/B99hrootX+dxBVXMZ+wbnl5xjj
 TKJ/EhVYURDuNYFEeB8rXt+WBHEprkQ/b1lcK1451Lfd+9MndBMG4BBXGkbFujRv4qhg
 5SkLPw1zFYhdOzC6ljUUGbo8w7SZaCHLiOmJezKCKaYxTTOv56HbKJbsXc6EjXS19fSG
 jvJrqKHYKPgg5SrLQgxnnTgbAnhMEmoNALNag0iHYVjp1axJGSoAckpVCRa9m91/QRh+
 QRow==
X-Gm-Message-State: AOJu0Yx3a/NeP0+LbYn6//Td9xYNheLShVdOIcR2qqdnH+pb7b8i3rzV
 v/Sv4pTg14WYzjIckMIzI/hB19R59wYwtNy3YM0e335Hqw4IzYB9
X-Gm-Gg: ASbGnctZhTIXpzIH7jnyXzwHVpEG9ZNk00bDbILevrfv1MIrIBX3u1pxMymoIJZFs9J
 yIkmI2VCk193iqeZNN9kf7TSlXaV2sSwP9TrbYKFAlruy1F5kwKO6u76nG5xEiZ4BpC6SmwNVmU
 BnrrcH98vfdbZEs6xgk0E0JBqGMltNj+Yotd3YQSVJoVpT1BXzlMAUV8PCTaXHk7CQYAR6W8Iuv
 tirNwS09vRkRd3j28iRdDDbKedr806EjeDWoFs+JzmpwcyInSjMXu+0u/LOExH/tTnCpN1Z1c6t
 nUGxE6dIQMkckfiScLZ1K3phsvPUrrI913rFCOZdnfj/4BJ35mvU3gHFJ/PDa/BHOtqYqwNwp4n
 pD37TLWLSN1ujYR3RmWuY8B9tbRNSDPmfNYlJVgd88rnc2GUI7w==
X-Google-Smtp-Source: AGHT+IF6vB7I9hX7Mh23zeK99E4EXD8Z+iuiuFlgX/fdvNQD2VrwhZeG2KFN/SzOH7RSGQiwAr86gw==
X-Received: by 2002:a05:6000:4012:b0:390:f9d0:5e3 with SMTP id
 ffacd0b85a97d-39efba37dbfmr5596446f8f.1.1745096178459; 
 Sat, 19 Apr 2025 13:56:18 -0700 (PDT)
Received: from pro2 (p200300e0b7179a00edfd9109c079612a.dip0.t-ipconnect.de.
 [2003:e0:b717:9a00:edfd:9109:c079:612a])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39efa43c023sm6771029f8f.46.2025.04.19.13.56.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 19 Apr 2025 13:56:18 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <m2fri4ozpv.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN> <86plh86rit.fsf@HIDDEN>
 <m2fri4ozpv.fsf@HIDDEN>
Date: Sat, 19 Apr 2025 22:56:16 +0200
Message-ID: <m2r01ndg5r.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: monnier@HIDDEN, 77924 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:

> Eli Zaretskii <eliz@HIDDEN> writes:
>
>> Are there any backward-incompatible changes with this?
>
> None I'm aware of.
>
>> Do all the tests still pass as well as they did before these changes?
>
> I got a SEGV in buffer-tests right now when I checked again that went
> away an a second run. So I'll have to check that.

SUMMARY OF TEST RESULTS
-----------------------
Files examined: 530
Ran 8041 tests, 7765 results as expected, 0 unexpected, 276 skipped
[scratch/text-index] gerd@mini 2025-04-19 22:51

Now fixed.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 19 Apr 2025 16:58:30 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Apr 19 12:58:30 2025
Received: from localhost ([127.0.0.1]:36341 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u6BWQ-0007NG-2N
	for submit <at> debbugs.gnu.org; Sat, 19 Apr 2025 12:58:30 -0400
Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]:45189)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u6BWN-0007Mt-Nq
 for 77924 <at> debbugs.gnu.org; Sat, 19 Apr 2025 12:58:28 -0400
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-43cfebc343dso22539975e9.2
 for <77924 <at> debbugs.gnu.org>; Sat, 19 Apr 2025 09:58:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745081901; x=1745686701; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=60PrrnpWeSVE/nv5wmLOv1p4KC+SIWuq8eDu/MjvDMs=;
 b=BNFL2F0vga7tz8iVOM0z2hPg/NmGAtMwCXEwMQUGBeIZWDmF25Hb0ljI5YkDtjFlID
 JCrftjHphgHAMFdsLS9H3Hq2OOrArsg93zgptyaZB79dGymZTJjl9hhoEEE5GmI/H34Y
 Rw149wfIYBjrJkgISCgPF3XaJeez8vDZROjGk1qbiGkNUx4c+YRhUbDN44gVJaIqQhTM
 Vg1/wPgedni09+Lz3uNOC6MXaZlSfSFHTQ2xLthCeWSzQcLVJqMDkifYdkppX0PKF9iQ
 XA080LfSGdVvFDRX0PmxeLV097PC0NW22eh77xvPBM8fhgZlmrF8gfgwcpmKOL+/rVXC
 lZlA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745081901; x=1745686701;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date
 :message-id:reply-to;
 bh=60PrrnpWeSVE/nv5wmLOv1p4KC+SIWuq8eDu/MjvDMs=;
 b=h9CVCODiU9F8oSQYgDRfCM1HKZR/C6yoXi1NQkaYNyi+AMV18iRt0zrYlYCdH2expS
 DX1o/yarped2BnBht9ZTP1S7ygSflIyhMB2tzIdJSoFaa7Y2QG+MTV8J0Fj/1zkkiw0m
 lx7FExv2zkwXk2QJBLsd9tc1E3weY/ftuR9hdmVC/+7YkZxHWFZPpgyVGBFUkRX0aBWb
 9xaC/vvJ0xLcvnx41Cxrtb182zTAunExQKvko7RBex+X/50N29lHOyHIMBi6FbgBzRMx
 Q6zF4ZRj+lUAHxaCCHYzmSeaMgYjmSlxGXUu9i1ZYP0DU/lcqJws+GitqVQkFCEwECVb
 y0MQ==
X-Gm-Message-State: AOJu0YzmWm6zWISk+ttHy3OtiXUs8Gq7J2iKmNMfaizAQau0t41FcUhb
 8+zJfb+cTxWmp6xRgFggdaiEjqDBQ+zzaQhZbMJSBoeUIMGrhW0L
X-Gm-Gg: ASbGncsvydegQj599fV9fMGD4kzdSx4d9U3XmHDyP+p2hEsHokXzwoTcmBOkWAITzzb
 9yBAg9KaNKpbeKAakj44dhY6nlartDkZ3vXLbQ8MNeB+qa1pdCHtdlf/j4uYfFoSITiqUn6nlQ3
 uI6Mvvm8FluSVothHg4e+tEf1UcDqcl31YmhyMU5EUgIrIvKY4MNtljrod6PNcUJRjwZrzco4HX
 Eg5gYZIGNpt2r84lT8h2hAsSsgUSunPVyHlgM2wDL0KI2eWbCx5RP6uvJLD2MFcSqRbph/Oc1dW
 DE7yTy4C3IgCMgaL9EXOJN+nyZsfvmS9/ccylbP4gdfuggK56vWN207Xy5QGIui9oW37F0hTj0C
 BZXDrya7mgQSBIyW5aVqkqjo3Zik/f5/hNEOL8vcnY70AAJPq3w==
X-Google-Smtp-Source: AGHT+IFtiiUDHtp/y9OET7/E4nnTbUsp2FSclehAVron4Ih2hIs47dyPUMSEeGq197A0b539ftcWYQ==
X-Received: by 2002:a5d:584e:0:b0:391:39fb:59c8 with SMTP id
 ffacd0b85a97d-39efba5f83dmr5418865f8f.25.1745081901313; 
 Sat, 19 Apr 2025 09:58:21 -0700 (PDT)
Received: from pro2 (p200300e0b7179a00edfd9109c079612a.dip0.t-ipconnect.de.
 [2003:e0:b717:9a00:edfd:9109:c079:612a])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-4406d5aa100sm68414465e9.7.2025.04.19.09.58.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 19 Apr 2025 09:58:20 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
In-Reply-To: <86plh86rit.fsf@HIDDEN>
References: <m2jz7gp25p.fsf@HIDDEN> <86plh86rit.fsf@HIDDEN>
Date: Sat, 19 Apr 2025 18:58:20 +0200
Message-ID: <m2fri4ozpv.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 77924
Cc: monnier@HIDDEN, 77924 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

> Are there any backward-incompatible changes with this?

None I'm aware of. 

> Do all the tests still pass as well as they did before these changes?

I got a SEGV in buffer-tests right now when I checked again that went
away an a second run. So I'll have to check that.





Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at 77924 <at> debbugs.gnu.org:


Received: (at 77924) by debbugs.gnu.org; 19 Apr 2025 16:32:54 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Apr 19 12:32:54 2025
Received: from localhost ([127.0.0.1]:36106 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u6B7e-0004nH-EZ
	for submit <at> debbugs.gnu.org; Sat, 19 Apr 2025 12:32:54 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:49620)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1u6B7b-0004n3-Mr
 for 77924 <at> debbugs.gnu.org; Sat, 19 Apr 2025 12:32:52 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1u6B7W-00062t-8V; Sat, 19 Apr 2025 12:32:46 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=El/ssJyA02Ev9E3Zg0NjcTNEwerkL9i4ebQ+VsAUxCk=; b=G/mH79Rauci8m91MQrba
 Q1ELhD1JxiFl05aNoWJDyotMTne9CQGzUg1ckr4Tj+EpMKpsCLajNa+QgCrHO4Ix1HR76YNXQ1Y3O
 xst8hQl0ohRg6fw8WvYZfhilbmw0RPV5KManX1vV0UYnu3iYVkBX74ZyTWx82veu8cnNXfQsCGkT+
 1G0yyBwkNkPHgZjyUFJJCBrAs6wEmgIsFg07Y6qNAc/nfU3O+Slc3o9yCfeOqOIHjnW+UN5NyINH1
 LZzdBCuAxak30V1bDI8G7Xcy8osG+QkclbaSF3iGSZomxl/lKsJmnoioYCHZuHkoxnn2xePRWIVaj
 znfQiC3O4wjaEw==;
Date: Sat, 19 Apr 2025 19:32:42 +0300
Message-Id: <86plh86rit.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Gerd =?iso-8859-1?Q?M=F6llmann?= <gerd.moellmann@HIDDEN>
In-Reply-To: <m2jz7gp25p.fsf@HIDDEN> (message from Gerd
 =?iso-8859-1?Q?M=F6llmann?= on Sat, 19 Apr 2025 18:05:38 +0200)
Subject: Re: bug#77924: 31.0.50; [Feature branch] Change marker implementation
References: <m2jz7gp25p.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 77924
Cc: monnier@HIDDEN, 77924 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Cc: Stefan Monnier <monnier@HIDDEN>
> From: Gerd Möllmann <gerd.moellmann@HIDDEN>
> Date: Sat, 19 Apr 2025 18:05:38 +0200
> 
> This is about the branch scratch/text-index on savannah, which is a port
> of what I have in my Emacs.
> 
> The branch changes the implementation of Lisp markers.
> 
> - Markers no longer form a doubly-linked list, they are stored in a
>   marker vector instead which allows O(1) insertion and deletion of
>   markers. (The idea of a marker vector is from what I did in igc. In my
>   Emacs, both igc and old GC use the same marker vector implementation.
>   The new one is different from the one in feature/igc.)
> 
> - Lisp_Marker doesn't contain the character position directly. It is
>   stored in the marker vector instead. This leads to faster,
>   cache-friendly, marker position adjustments.
> 
> - Markers don't contain byte positions. Byte positions are computed when
>   needed. Bytepos <-> charpos conversion are done using a text-index
>   data structure. This removes the heuristics currently used in master,
>   and allows removing byte positions from markers.
> 
> In summary, I'd say performance is good, to say the least, in many cases
> better, and it fixes corner cases leading the abysmal performance in
> current master.
> 
> Please see the comments at the start of marker-vector.c and text-index.c
> for more details. Also see the thread(s) on emacs-devel with Stef an me.

Thanks.

Are there any backward-incompatible changes with this?

Do all the tests still pass as well as they did before these changes?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 19 Apr 2025 16:05:55 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Apr 19 12:05:55 2025
Received: from localhost ([127.0.0.1]:35845 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1u6AhW-0002fW-Mo
	for submit <at> debbugs.gnu.org; Sat, 19 Apr 2025 12:05:55 -0400
Received: from lists.gnu.org ([2001:470:142::17]:47548)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u6AhT-0002ez-DS
 for submit <at> debbugs.gnu.org; Sat, 19 Apr 2025 12:05:52 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u6AhL-00022J-A0
 for bug-gnu-emacs@HIDDEN; Sat, 19 Apr 2025 12:05:43 -0400
Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1u6AhJ-0001u7-IH
 for bug-gnu-emacs@HIDDEN; Sat, 19 Apr 2025 12:05:42 -0400
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-3995ff6b066so1445179f8f.3
 for <bug-gnu-emacs@HIDDEN>; Sat, 19 Apr 2025 09:05:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1745078740; x=1745683540; darn=gnu.org;
 h=mime-version:message-id:date:subject:cc:to:from:from:to:cc:subject
 :date:message-id:reply-to;
 bh=DvMWM75l2U6mBu9r6RI09XZGJ8BeZ9oW08Ahx2iBeDc=;
 b=joLA6D12WSwx7Brq7GA3sJf+IgHNYI01UCqq77P7Lrp4erwmqwc+EKv/KvaT9gnvQF
 oJzgEG3x0cwsOkmRSYkAOs+DMoVsp4m53+V8XRU2LRx4Fmq9/yebHJops+Zfc379py4R
 sHyvQQvk1FQOe2BOTZzqdgrgJde0ZeIKReIA6bBDWCUXX7PYu7D6d7+iSpTK4H5oZhbj
 +b9KT+bNvSll2dtnV6ZIuolMDeABUPRVVdRn0SUHiPsaL2M3HpLArp/dCKX09Q9ew/O9
 AC9/97fXNrWC68OtJv1UwOF7tGLHXq06g/RhUVBKqMkXtNSMMuQzk48wwwt8zge4xai0
 IygA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1745078740; x=1745683540;
 h=mime-version:message-id:date:subject:cc:to:from:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=DvMWM75l2U6mBu9r6RI09XZGJ8BeZ9oW08Ahx2iBeDc=;
 b=TAbEqyxUh2cP0XPCA4IjzO1y+v9zLfyWmEQACHavh3Jcm9AZaLqZg+ZDs0lsUQQKU9
 IrGqzaKDWcA0bqOQHn2Z0vLX/MRDbRW5vucEESv1eYZ6c3Xq5WUnJjIem6GwR08SHcFC
 I0UKRZY5VwCs8vSbGa60fEILVrFkM+hhgOhfgNS/HMluUrkL7Lq6H9GmLKRkduIv4Vox
 Hx0RWcraFTnpw8MTr/u7FIurUk8IckrAoT6o5Xt6Vn+80r7+hNBJaJvOV4c780H4y5hx
 khmlXQ/FUt2q1lTGi/l0R3kqhJ5JFoPmDSVeHDsW+JDyveXqMSLPU5EuFqkq6YGE4H8r
 j0aw==
X-Gm-Message-State: AOJu0YwjBZo8XM0d11vN9adfMF9+uo/16IofgB21PTBxloH8I4xI3brB
 elBH/t9lsmaBcm7Gm6OaYZXsgU16C3GVPYz9HsqHJ/NNWwx82j2XMcVi/bqu
X-Gm-Gg: ASbGncu3xsFGMYrLDKjrOI6Siho2dtopg1xy01sMOPnC2GPylOg2ZFVyERC7KZraVn/
 XJNgUqm8UAciqBY4B5CWRmgDecLZ2tOjbBducyh9iDtFRpwkona3nfsG/qsEH3vsGEu2Wh8HhhM
 xXafeMAZ+5ohdnl6XFDsOw8nMy5rymZRBfHPTplX2Nrw5juMsiHuikqsf+J/cjdQG8P/6iJ9yom
 h6rI/y5O3jBMOg5DZtWSjpVNbI2wVHhI7XsLej+DL2ISiBADFLpMmb8u2pGC8NZ3E566hcIznAR
 3FMyzHCTUvHkdL7zrNI8oiEaX5xeZAQw9qhaSo0u18dj4lqInfeUoJGL799j1Ff5C2Fa7QsK3Ov
 RsMBu1XaZsfpls0nmGgLTGWka1yZdvR+myIi8e1m8l/zB/xilWA==
X-Google-Smtp-Source: AGHT+IHAjkDYwqb0EjtFZ0JrL4ORcyAtyACfBgQrtaugqkk2cEKWIdQJeT0gYkEcpWMX8ZMPo9dDXw==
X-Received: by 2002:a05:6000:4284:b0:391:3028:c779 with SMTP id
 ffacd0b85a97d-39efbae3ff8mr4914368f8f.45.1745078739497; 
 Sat, 19 Apr 2025 09:05:39 -0700 (PDT)
Received: from pro2 (p200300e0b7179a00edfd9109c079612a.dip0.t-ipconnect.de.
 [2003:e0:b717:9a00:edfd:9109:c079:612a])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-39efa4235dasm6166630f8f.9.2025.04.19.09.05.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 19 Apr 2025 09:05:39 -0700 (PDT)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: 31.0.50; [Feature branch] Change marker implementation
X-Debbugs-Cc: 
Date: Sat, 19 Apr 2025 18:05:38 +0200
Message-ID: <m2jz7gp25p.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
Received-SPF: pass client-ip=2a00:1450:4864:20::42d;
 envelope-from=gerd.moellmann@HIDDEN; helo=mail-wr1-x42d.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: submit
Cc: Stefan Monnier <monnier@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -0.0 (/)

This is about the branch scratch/text-index on savannah, which is a port
of what I have in my Emacs.

The branch changes the implementation of Lisp markers.

- Markers no longer form a doubly-linked list, they are stored in a
  marker vector instead which allows O(1) insertion and deletion of
  markers. (The idea of a marker vector is from what I did in igc. In my
  Emacs, both igc and old GC use the same marker vector implementation.
  The new one is different from the one in feature/igc.)

- Lisp_Marker doesn't contain the character position directly. It is
  stored in the marker vector instead. This leads to faster,
  cache-friendly, marker position adjustments.

- Markers don't contain byte positions. Byte positions are computed when
  needed. Bytepos <-> charpos conversion are done using a text-index
  data structure. This removes the heuristics currently used in master,
  and allows removing byte positions from markers.

In summary, I'd say performance is good, to say the least, in many cases
better, and it fixes corner cases leading the abysmal performance in
current master.

Please see the comments at the start of marker-vector.c and text-index.c
for more details. Also see the thread(s) on emacs-devel with Stef an me.





Acknowledgement sent to Gerd Möllmann <gerd.moellmann@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#77924; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Thu, 24 Apr 2025 20:00:04 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.