NetBSD Problem Report #57447
From www@netbsd.org Fri Jun 2 02:16:48 2023
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))
(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
by mollari.NetBSD.org (Postfix) with ESMTPS id 969B71A9238
for <gnats-bugs@gnats.NetBSD.org>; Fri, 2 Jun 2023 02:16:48 +0000 (UTC)
Message-Id: <20230602021646.ED4961A9241@mollari.NetBSD.org>
Date: Fri, 2 Jun 2023 02:16:46 +0000 (UTC)
From: bsdprg@tuta.io
Reply-To: bsdprg@tuta.io
To: gnats-bugs@NetBSD.org
Subject: HEAD fails to probe USB devices and fails to boot up
X-Send-Pr-Version: www-1.0
>Number: 57447
>Category: kern
>Synopsis: HEAD fails to probe USB devices and fails to boot up
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Jun 02 02:20:00 +0000 2023
>Last-Modified: Fri Jun 02 14:50:01 +0000 2023
>Originator: Salil Wadnerkar
>Release: 10.99.4
>Organization:
>Environment:
NetBSD dell.localdomain 10.0_BETA NetBSD 10.0_BETA (GENERIC) #0: Tue May 16 16:27:44 UTC 2023 mkrepro@mkrepro.NetBSD.org:/usr/src/sys/arch/amd64/compile/GENERIC amd64
>Description:
When I boot up from the NetBSD HEAD image, it fails to enumerate USB devices and I get this error:
ubt0: vendor 8087 (Ox8087) product 0a2b (Ox0a2b), rev 2.00/0.10, addr 3
ugen0 at uhub1 port 10
ugenB: Broadcon Corp (Ox0a5c) 5888 (Ox5832), rev 1.10/1.01, addr 4
panic: kernel diagnostic assertion “dev=>ud_ifaces == NULL” failed: file "/usr/src/sys/dev/usb/usb_subr.c", line 870, ud_ifaces=OxfffTadv425d89940
cpul: Begin traceback...
vpanic() at netbsd:vpanic+0x173
kern_assert() at netbsd:kern_assert+Ox4b
usbd_set_config_index() at netbsd:usbd_set_config_index+0x59d
ugenif_attach() at netbsd:ugenif_attach+0x241
ugen_attach() at netbsd:ugen_attach+0x5c
config_attach_internal() at netbsd:config_attach_internal+0x1a7
config_found_acquire() at netbsd:config_found_acquire+0xd9
config_found() at netbsd:config_found+0x32
usbd_attachwholedevice() at netbsd:usbd_attachwholedevice+0xf8
usbd_probe_and_attach() at netbsd:usbd_probe_and_attach+0x14a
xhci_new_device() at netbsd:xhci_new_device+0x54a
uhub_explore() at netbsd:uhub_explore+0x4bd
usb_discover() at netbsd:usb_discover+0x4f
usb_event_thread() at netbsd:usb_event_thread+0x46
cpul: End traceback... :
I did an OCR from a camera image, and tried my best to fix the text. So, some text might be a little off.
>How-To-Repeat:
Boot up from HEAD - 10.99.4. It happens every time.
>Fix:
None
>Audit-Trail:
From: Taylor R Campbell <riastradh@NetBSD.org>
To: bsdprg@tuta.io
Cc: gnats-bugs@NetBSD.org
Subject: Re: kern/57447: HEAD fails to probe USB devices and fails to boot up
Date: Fri, 2 Jun 2023 09:35:47 +0000
This is a multi-part message in MIME format.
--=_y8mli43iaCzhPWCedvqgQnQqZuwvU3Ud
Can you please run with the attached patch and share dmesg once the
machine boots?
It won't fix the problem -- it will leak memory, which the assertion
had detected, but it will give a little more diagnostic information
about the real cause of the problem so we can find the right way to
fix it.
--=_y8mli43iaCzhPWCedvqgQnQqZuwvU3Ud
Content-Type: text/plain; charset="ISO-8859-1"; name="usbhack"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="usbhack.patch"
diff --git a/sys/dev/usb/usb_subr.c b/sys/dev/usb/usb_subr.c
index e14fec7e30be..2deb64b51c27 100644
--- a/sys/dev/usb/usb_subr.c
+++ b/sys/dev/usb/usb_subr.c
@@ -680,6 +680,7 @@ usbd_set_config_no(struct usbd_device *dev, int no, int=
msg)
return USBD_INVAL;
}
=20
+#include <ddb/ddb.h>
usbd_status
usbd_set_config_index(struct usbd_device *dev, int index, int msg)
{
@@ -691,6 +692,8 @@ usbd_set_config_index(struct usbd_device *dev, int inde=
x, int msg)
usbd_status err;
int i, ifcidx, nifc, len, selfpowered, power;
=20
+ printf("%s: addr %u index %d msg %d\n", __func__, index, msg);
+ db_stacktrace();
=20
if (index >=3D dev->ud_ddesc.bNumConfigurations &&
index !=3D USB_UNCONFIG_INDEX) {
@@ -867,7 +870,7 @@ usbd_set_config_index(struct usbd_device *dev, int inde=
x, int msg)
goto bad;
}
=20
- KASSERTMSG(dev->ud_ifaces =3D=3D NULL, "ud_ifaces=3D%p", dev->ud_ifaces);
+// KASSERTMSG(dev->ud_ifaces =3D=3D NULL, "ud_ifaces=3D%p", dev->ud_ifaces=
);
=20
/* Allocate and fill interface data. */
nifc =3D cdp->bNumInterface;
--=_y8mli43iaCzhPWCedvqgQnQqZuwvU3Ud--
From: Taylor R Campbell <riastradh@NetBSD.org>
To: bsdprg@tuta.io
Cc: gnats-bugs@NetBSD.org
Subject: Re: kern/57447: HEAD fails to probe USB devices and fails to boot up
Date: Fri, 2 Jun 2023 09:46:32 +0000
This is a multi-part message in MIME format.
--=_GedpluGHhMt+8t6kRp/y47P8O+rSmQXG
> Date: Fri, 2 Jun 2023 09:35:47 +0000
> From: Taylor R Campbell <riastradh@NetBSD.org>
>
> Can you please run with the attached patch and share dmesg once the
> machine boots?
Sorry, hit send before I verified it would compile -- try this one
instead.
--=_GedpluGHhMt+8t6kRp/y47P8O+rSmQXG
Content-Type: text/plain; charset="ISO-8859-1"; name="usbhack-v2"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="usbhack-v2.patch"
diff --git a/libexec/ld.elf_so/arch/aarch64/mdreloc.c b/libexec/ld.elf_so/a=
rch/aarch64/mdreloc.c
index 64335181bfe6..f656a08e2866 100644
--- a/libexec/ld.elf_so/arch/aarch64/mdreloc.c
+++ b/libexec/ld.elf_so/arch/aarch64/mdreloc.c
@@ -299,8 +299,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
break;
=20
case R_TLS_TYPE(TLS_TPREL):
- if (!defobj->tls_done &&
- _rtld_tls_offset_allocate(obj))
+ if (defobj->tls_done !=3D 1 &&
+ _rtld_tls_offset_allocate(__UNCONST(defobj)))
return -1;
=20
*where =3D (Elf_Addr)(def->st_value + defobj->tlsoffset +
diff --git a/libexec/ld.elf_so/arch/alpha/alpha_reloc.c b/libexec/ld.elf_so=
/arch/alpha/alpha_reloc.c
index c7f2e85c2a28..0266dbfbdc9c 100644
--- a/libexec/ld.elf_so/arch/alpha/alpha_reloc.c
+++ b/libexec/ld.elf_so/arch/alpha/alpha_reloc.c
@@ -280,8 +280,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
break;
=20
case R_TYPE(TPREL64):
- if (!defobj->tls_done &&
- _rtld_tls_offset_allocate(obj))
+ if (defobj->tls_done !=3D 1 &&
+ _rtld_tls_offset_allocate(__UNCONST(defobj)))
return -1;
=20
tmp =3D (Elf64_Addr)(def->st_value +
diff --git a/libexec/ld.elf_so/arch/arm/mdreloc.c b/libexec/ld.elf_so/arch/=
arm/mdreloc.c
index 79f7f2765a81..c234e4e80520 100644
--- a/libexec/ld.elf_so/arch/arm/mdreloc.c
+++ b/libexec/ld.elf_so/arch/arm/mdreloc.c
@@ -228,8 +228,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
break;
=20
case R_TYPE(TLS_TPOFF32):
- if (!defobj->tls_done &&
- _rtld_tls_offset_allocate(obj))
+ if (defobj->tls_done !=3D 1 &&
+ _rtld_tls_offset_allocate(__UNCONST(defobj)))
return -1;
=20
if (__predict_true(RELOC_ALIGNED_P(where)))
diff --git a/libexec/ld.elf_so/arch/hppa/hppa_reloc.c b/libexec/ld.elf_so/a=
rch/hppa/hppa_reloc.c
index dd11e536653f..a2b3853fe014 100644
--- a/libexec/ld.elf_so/arch/hppa/hppa_reloc.c
+++ b/libexec/ld.elf_so/arch/hppa/hppa_reloc.c
@@ -553,7 +553,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
break;
=20
case R_TYPE(TLS_TPREL32):
- if (!defobj->tls_done && _rtld_tls_offset_allocate(obj))
+ if (defobj->tls_done !=3D 1 &&
+ _rtld_tls_offset_allocate(__UNCONST(defobj)))
return -1;
=20
*where =3D (Elf_Addr)(defobj->tlsoffset + def->st_value +
diff --git a/libexec/ld.elf_so/arch/i386/mdreloc.c b/libexec/ld.elf_so/arch=
/i386/mdreloc.c
index 5e3f7c959fca..8cae1c931fe3 100644
--- a/libexec/ld.elf_so/arch/i386/mdreloc.c
+++ b/libexec/ld.elf_so/arch/i386/mdreloc.c
@@ -147,8 +147,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
break;
=20
case R_TYPE(TLS_TPOFF):
- if (!defobj->tls_done &&
- _rtld_tls_offset_allocate(obj))
+ if (defobj->tls_done !=3D 1 &&
+ _rtld_tls_offset_allocate(__UNCONST(defobj)))
return -1;
=20
*where +=3D (Elf_Addr)(def->st_value - defobj->tlsoffset);
@@ -159,8 +159,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
break;
=20
case R_TYPE(TLS_TPOFF32):
- if (!defobj->tls_done &&
- _rtld_tls_offset_allocate(obj))
+ if (defobj->tls_done !=3D 1 &&
+ _rtld_tls_offset_allocate(__UNCONST(defobj)))
return -1;
=20
*where +=3D (Elf_Addr)(defobj->tlsoffset - def->st_value);
diff --git a/libexec/ld.elf_so/arch/m68k/mdreloc.c b/libexec/ld.elf_so/arch=
/m68k/mdreloc.c
index d327e24f2edf..480159696075 100644
--- a/libexec/ld.elf_so/arch/m68k/mdreloc.c
+++ b/libexec/ld.elf_so/arch/m68k/mdreloc.c
@@ -142,9 +142,6 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
break;
=20
case R_TYPE(TLS_DTPREL32):
- if (!defobj->tls_done && _rtld_tls_offset_allocate(obj))
- return -1;
-
*where =3D (Elf_Addr)(def->st_value + rela->r_addend
- TLS_DTV_OFFSET);
rdbg(("DTPREL32 %s in %s --> %p in %s",
@@ -153,7 +150,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
break;
=20
case R_TYPE(TLS_TPREL32):
- if (!defobj->tls_done && _rtld_tls_offset_allocate(obj))
+ if (defobj->tls_done !=3D 1 &&
+ _rtld_tls_offset_allocate(__UNCONST(defobj)))
return -1;
=20
*where =3D (Elf_Addr)(def->st_value + rela->r_addend
diff --git a/libexec/ld.elf_so/arch/mips/mips_reloc.c b/libexec/ld.elf_so/a=
rch/mips/mips_reloc.c
index 9cd5de7cab51..9a15c25e9a2e 100644
--- a/libexec/ld.elf_so/arch/mips/mips_reloc.c
+++ b/libexec/ld.elf_so/arch/mips/mips_reloc.c
@@ -429,9 +429,6 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
Elf_Addr old =3D load_ptr(where, ELFSIZE / 8);
Elf_Addr val =3D old;
=20
- if (!defobj->tls_done && _rtld_tls_offset_allocate(obj))
- return -1;
-
val +=3D (Elf_Addr)def->st_value - TLS_DTV_OFFSET;
store_ptr(where, val, ELFSIZE / 8);
=20
@@ -450,7 +447,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
Elf_Addr old =3D load_ptr(where, ELFSIZE / 8);
Elf_Addr val =3D old;
=20
- if (!defobj->tls_done && _rtld_tls_offset_allocate(obj))
+ if (defobj->tls_done !=3D 1 &&
+ _rtld_tls_offset_allocate(__UNCONST(defobj)))
return -1;
=20
val +=3D (Elf_Addr)(def->st_value + defobj->tlsoffset
diff --git a/libexec/ld.elf_so/arch/or1k/mdreloc.c b/libexec/ld.elf_so/arch=
/or1k/mdreloc.c
index 78fd17293789..e17e58b1c18e 100644
--- a/libexec/ld.elf_so/arch/or1k/mdreloc.c
+++ b/libexec/ld.elf_so/arch/or1k/mdreloc.c
@@ -171,9 +171,6 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
break;
=20
case R_TYPE(TLS_DTPOFF):
- if (!defobj->tls_done && _rtld_tls_offset_allocate(obj))
- return -1;
-
*where =3D (Elf_Addr)(def->st_value + rela->r_addend
- TLS_DTV_OFFSET);
rdbg(("DTPOFF %s in %s --> %p in %s",
@@ -182,7 +179,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
break;
=20
case R_TYPE(TLS_TPOFF):
- if (!defobj->tls_done && _rtld_tls_offset_allocate(obj))
+ if (defobj->tls_done !=3D 1 &&
+ _rtld_tls_offset_allocate(__UNCONST(defobj)))
return -1;
=20
*where =3D (Elf_Addr)(def->st_value + rela->r_addend
diff --git a/libexec/ld.elf_so/arch/powerpc/ppc_reloc.c b/libexec/ld.elf_so=
/arch/powerpc/ppc_reloc.c
index 37ca160e6195..076572df2bb9 100644
--- a/libexec/ld.elf_so/arch/powerpc/ppc_reloc.c
+++ b/libexec/ld.elf_so/arch/powerpc/ppc_reloc.c
@@ -321,7 +321,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
break;
=20
case R_TYPE(TPREL):
- if (!defobj->tls_done && _rtld_tls_offset_allocate(obj))
+ if (defobj->tls_done !=3D 1 &&
+ _rtld_tls_offset_allocate(__UNCONST(defobj)))
return -1;
=20
*where =3D (Elf_Addr)(def->st_value + rela->r_addend
diff --git a/libexec/ld.elf_so/arch/riscv/mdreloc.c b/libexec/ld.elf_so/arc=
h/riscv/mdreloc.c
index 05cc4b81906a..62ede46f102b 100644
--- a/libexec/ld.elf_so/arch/riscv/mdreloc.c
+++ b/libexec/ld.elf_so/arch/riscv/mdreloc.c
@@ -203,8 +203,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
}
=20
case R_TYPESZ(TLS_TPREL):
- if (!defobj->tls_done &&
- _rtld_tls_offset_allocate(obj))
+ if (defobj->tls_done !=3D 1 &&
+ _rtld_tls_offset_allocate(__UNCONST(defobj)))
return -1;
=20
*where =3D (Elf_Addr)(def->st_value + defobj->tlsoffset +
diff --git a/libexec/ld.elf_so/arch/sh3/mdreloc.c b/libexec/ld.elf_so/arch/=
sh3/mdreloc.c
index 949bd02a88a9..99732d89fcaf 100644
--- a/libexec/ld.elf_so/arch/sh3/mdreloc.c
+++ b/libexec/ld.elf_so/arch/sh3/mdreloc.c
@@ -173,8 +173,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
break;
=20
case R_TYPE(TLS_TPOFF32):
- if (!defobj->tls_done &&
- _rtld_tls_offset_allocate(obj))
+ if (defobj->tls_done !=3D 1 &&
+ _rtld_tls_offset_allocate(__UNCONST(defobj)))
return -1;
=20
*where =3D (Elf_Addr)def->st_value +
diff --git a/libexec/ld.elf_so/arch/sparc/mdreloc.c b/libexec/ld.elf_so/arc=
h/sparc/mdreloc.c
index 526c0dfa1d99..17358ef91e5f 100644
--- a/libexec/ld.elf_so/arch/sparc/mdreloc.c
+++ b/libexec/ld.elf_so/arch/sparc/mdreloc.c
@@ -282,8 +282,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
break;
=20
case R_TYPE(TLS_TPOFF32):
- if (!defobj->tls_done &&
- _rtld_tls_offset_allocate(obj))
+ if (defobj->tls_done !=3D 1 &&
+ _rtld_tls_offset_allocate(__UNCONST(defobj)))
return -1;
=20
*where =3D (Elf_Addr)(def->st_value -
diff --git a/libexec/ld.elf_so/arch/sparc64/mdreloc.c b/libexec/ld.elf_so/a=
rch/sparc64/mdreloc.c
index e3ea5a8808e3..39591f2be248 100644
--- a/libexec/ld.elf_so/arch/sparc64/mdreloc.c
+++ b/libexec/ld.elf_so/arch/sparc64/mdreloc.c
@@ -383,9 +383,9 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
break;
=20
case R_TYPE(TLS_TPOFF64):
- if (!defobj->tls_done &&
- _rtld_tls_offset_allocate(obj))
- return -1;
+ if (defobj->tls_done !=3D 1 &&
+ _rtld_tls_offset_allocate(__UNCONST(defobj)))
+ return -1;
=20
*where =3D (Elf64_Addr)(def->st_value -
defobj->tlsoffset + rela->r_addend);
diff --git a/libexec/ld.elf_so/arch/x86_64/mdreloc.c b/libexec/ld.elf_so/ar=
ch/x86_64/mdreloc.c
index a04c05ea0aa7..a1277f001a6f 100644
--- a/libexec/ld.elf_so/arch/x86_64/mdreloc.c
+++ b/libexec/ld.elf_so/arch/x86_64/mdreloc.c
@@ -226,8 +226,8 @@ _rtld_relocate_nonplt_objects(Obj_Entry *obj)
break;
=20
case R_TYPE(TPOFF64):
- if (!defobj->tls_done &&
- _rtld_tls_offset_allocate(obj))
+ if (defobj->tls_done !=3D 1 &&
+ _rtld_tls_offset_allocate(__UNCONST(defobj)))
return -1;
=20
*where64 =3D (Elf64_Addr)(def->st_value -
diff --git a/libexec/ld.elf_so/rtld.h b/libexec/ld.elf_so/rtld.h
index 0330ea964312..1f4310069657 100644
--- a/libexec/ld.elf_so/rtld.h
+++ b/libexec/ld.elf_so/rtld.h
@@ -483,7 +483,6 @@ _rtld_fetch_ventry(const Obj_Entry *obj, unsigned long =
symnum)
/* tls.c */
void *_rtld_tls_get_addr(void *, size_t, size_t);
void _rtld_tls_initial_allocation(void);
-void *_rtld_tls_module_allocate(size_t index);
int _rtld_tls_offset_allocate(Obj_Entry *);
void _rtld_tls_offset_free(Obj_Entry *);
=20
diff --git a/libexec/ld.elf_so/tls.c b/libexec/ld.elf_so/tls.c
index 01d5c9f9b6d6..8c75ca4c2648 100644
--- a/libexec/ld.elf_so/tls.c
+++ b/libexec/ld.elf_so/tls.c
@@ -43,6 +43,7 @@ __RCSID("$NetBSD: tls.c,v 1.17 2023/06/01 08:20:10 riastr=
adh Exp $");
#if defined(__HAVE_TLS_VARIANT_I) || defined(__HAVE_TLS_VARIANT_II)
=20
static struct tls_tcb *_rtld_tls_allocate_locked(void);
+static void *_rtld_tls_module_allocate(struct tls_tcb *, size_t);
=20
#ifndef TLS_DTV_OFFSET
#define TLS_DTV_OFFSET 0
@@ -84,7 +85,7 @@ _rtld_tls_get_addr(void *tls, size_t idx, size_t offset)
}
=20
if (__predict_false(dtv[idx] =3D=3D NULL))
- dtv[idx] =3D _rtld_tls_module_allocate(idx);
+ dtv[idx] =3D _rtld_tls_module_allocate(tcb, idx);
=20
_rtld_exclusive_exit(&mask);
=20
@@ -136,7 +137,7 @@ _rtld_tls_allocate_locked(void)
SET_DTV_GENERATION(tcb->tcb_dtv, _rtld_tls_dtv_generation);
=20
for (obj =3D _rtld_objlist; obj !=3D NULL; obj =3D obj->next) {
- if (obj->tls_done) {
+ if (obj->tls_done =3D=3D 1) {
#ifdef __HAVE_TLS_VARIANT_I
q =3D p + obj->tlsoffset;
#else
@@ -195,8 +196,8 @@ _rtld_tls_free(struct tls_tcb *tcb)
_rtld_exclusive_exit(&mask);
}
=20
-void *
-_rtld_tls_module_allocate(size_t idx)
+static void *
+_rtld_tls_module_allocate(struct tls_tcb *tcb, size_t idx)
{
Obj_Entry *obj;
uint8_t *p;
@@ -209,6 +210,14 @@ _rtld_tls_module_allocate(size_t idx)
_rtld_error("Module for TLS index %zu missing", idx);
_rtld_die();
}
+ if (obj->tls_done =3D=3D 1) {
+#ifdef __HAVE_TLS_VARIANT_I
+ p =3D (uint8_t *)tcb + obj->tlsoffset;
+#else
+ p =3D (uint8_t *)tcb - obj->tlsoffset;
+#endif
+ return p;
+ }
=20
p =3D xmalloc(obj->tlssize);
memcpy(p, obj->tlsinit, obj->tlsinitsize);
@@ -222,6 +231,9 @@ _rtld_tls_offset_allocate(Obj_Entry *obj)
{
size_t offset, next_offset;
=20
+ if (obj->tls_done =3D=3D 2)
+ return -1;
+
if (obj->tls_done)
return 0;
if (obj->tlssize =3D=3D 0) {
diff --git a/sys/dev/usb/usb_subr.c b/sys/dev/usb/usb_subr.c
index e14fec7e30be..33402e0a3ea8 100644
--- a/sys/dev/usb/usb_subr.c
+++ b/sys/dev/usb/usb_subr.c
@@ -680,6 +680,7 @@ usbd_set_config_no(struct usbd_device *dev, int no, int=
msg)
return USBD_INVAL;
}
=20
+#include <ddb/ddb.h>
usbd_status
usbd_set_config_index(struct usbd_device *dev, int index, int msg)
{
@@ -691,6 +692,9 @@ usbd_set_config_index(struct usbd_device *dev, int inde=
x, int msg)
usbd_status err;
int i, ifcidx, nifc, len, selfpowered, power;
=20
+ printf("%s: addr %u index %d msg %d\n", __func__,
+ dev->ud_addr, index, msg);
+ db_stacktrace();
=20
if (index >=3D dev->ud_ddesc.bNumConfigurations &&
index !=3D USB_UNCONFIG_INDEX) {
@@ -867,7 +871,7 @@ usbd_set_config_index(struct usbd_device *dev, int inde=
x, int msg)
goto bad;
}
=20
- KASSERTMSG(dev->ud_ifaces =3D=3D NULL, "ud_ifaces=3D%p", dev->ud_ifaces);
+// KASSERTMSG(dev->ud_ifaces =3D=3D NULL, "ud_ifaces=3D%p", dev->ud_ifaces=
);
=20
/* Allocate and fill interface data. */
nifc =3D cdp->bNumInterface;
--=_GedpluGHhMt+8t6kRp/y47P8O+rSmQXG--
From: bsdprg@tuta.io
To: Taylor R Campbell <riastradh@NetBSD.org>
Cc: gnats-bugs@netbsd.org
Subject: Re: kern/57447: HEAD fails to probe USB devices and fails to boot
up
Date: Fri, 2 Jun 2023 15:40:37 +0200 (CEST)
HI Taylor,
Thanks for the patch. Unfortunately, I am not able to apply the patch.=C2=
=A0
I have the NetBSD-current development branch checked out from cvs in /usr/s=
rc
$ patch < /home/salil/Downloads/usbhack-v2.patch
Hmm...=C2=A0 Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff --git a/libexec/ld.elf_so/arch/aarch64/mdreloc.c b/libexec/ld.elf_so/=
arch/aarch64/mdreloc.c
|index 64335181bfe6..f656a08e2866 100644
|--- a/libexec/ld.elf_so/arch/aarch64/mdreloc.c
|+++ b/libexec/ld.elf_so/arch/aarch64/mdreloc.c
--------------------------
File to patch: libexec/ld.elf_so/arch/aarch64/mdreloc.c
Patching file libexec/ld.elf_so/arch/aarch64/mdreloc.c using Plan A...
Hunk #1 failed at 299.
1 out of 1 hunks failed--saving rejects to libexec/ld.elf_so/arch/aarch64/m=
dreloc.c.rej
Sorry, I am new to this.
Best,
Salil
Jun 2, 2023, 02:46 by riastradh@NetBSD.org:
>> Date: Fri, 2 Jun 2023 09:35:47 +0000
>> From: Taylor R Campbell <riastradh@NetBSD.org>
>>
>> Can you please run with the attached patch and share dmesg once the
>> machine boots?
>>
>
> Sorry, hit send before I verified it would compile -- try this one
> instead.
>
From: Taylor R Campbell <riastradh@NetBSD.org>
To: bsdprg@tuta.io
Cc: gnats-bugs@netbsd.org
Subject: Re: kern/57447: HEAD fails to probe USB devices and fails to boot
up
Date: Fri, 2 Jun 2023 13:50:15 +0000
This is a multi-part message in MIME format.
--=_/7SKalmIntflQ5fRRqx18SV1eoaDZ/rT
Content-Transfer-Encoding: quoted-printable
> Date: Fri, 2 Jun 2023 15:40:37 +0200 (CEST)
> From: bsdprg@tuta.io
>=20
> HI Taylor,
>=20
> Thanks for the patch. Unfortunately, I am not able to apply the patch.=C2=
=A0
> I have the NetBSD-current development branch checked out from cvs in /usr=
/src
>=20
> $ patch < /home/salil/Downloads/usbhack-v2.patch
> Hmm... Looks like a unified diff to me...
> The text leading up to this was:
> --------------------------
> |diff --git a/libexec/ld.elf_so/arch/aarch64/mdreloc.c b/libexec/ld.elf_s=
o/arch/aarch64/mdreloc.c
Oops -- sorry, I inadvertently mixed another local change into the
patch. New patch attached.
--=_/7SKalmIntflQ5fRRqx18SV1eoaDZ/rT
Content-Type: text/plain; charset="ISO-8859-1"; name="usbhack-v3"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="usbhack-v3.patch"
diff --git a/sys/dev/usb/usb_subr.c b/sys/dev/usb/usb_subr.c
index e14fec7e30be..33402e0a3ea8 100644
--- a/sys/dev/usb/usb_subr.c
+++ b/sys/dev/usb/usb_subr.c
@@ -680,6 +680,7 @@ usbd_set_config_no(struct usbd_device *dev, int no, int=
msg)
return USBD_INVAL;
}
=20
+#include <ddb/ddb.h>
usbd_status
usbd_set_config_index(struct usbd_device *dev, int index, int msg)
{
@@ -691,6 +692,9 @@ usbd_set_config_index(struct usbd_device *dev, int inde=
x, int msg)
usbd_status err;
int i, ifcidx, nifc, len, selfpowered, power;
=20
+ printf("%s: addr %u index %d msg %d\n", __func__,
+ dev->ud_addr, index, msg);
+ db_stacktrace();
=20
if (index >=3D dev->ud_ddesc.bNumConfigurations &&
index !=3D USB_UNCONFIG_INDEX) {
@@ -867,7 +871,7 @@ usbd_set_config_index(struct usbd_device *dev, int inde=
x, int msg)
goto bad;
}
=20
- KASSERTMSG(dev->ud_ifaces =3D=3D NULL, "ud_ifaces=3D%p", dev->ud_ifaces);
+// KASSERTMSG(dev->ud_ifaces =3D=3D NULL, "ud_ifaces=3D%p", dev->ud_ifaces=
);
=20
/* Allocate and fill interface data. */
nifc =3D cdp->bNumInterface;
--=_/7SKalmIntflQ5fRRqx18SV1eoaDZ/rT--
From: bsdprg@tuta.io
To: Taylor R Campbell <riastradh@NetBSD.org>
Cc: gnats-bugs@netbsd.org
Subject: Re: kern/57447: HEAD fails to probe USB devices and fails to boot
up
Date: Fri, 2 Jun 2023 16:33:52 +0200 (CEST)
------=_Part_446228_953307516.1685716432773
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Hi Taylor,
Thank you, For some reason, `patch < <patch location>` fails in my case in =
`/usr/src`.
But, since your changes are small, I manually made the modifications. I hav=
e attached my /var/log/messages. Let me know if you need me to apply any ad=
ditional patches to narrow down the memory leak.
Best,
Salil
--=20
Sent with Tutanota, enjoy secure & ad-free emails.=20
Jun 2, 2023, 06:50 by riastradh@NetBSD.org:
>> Date: Fri, 2 Jun 2023 15:40:37 +0200 (CEST)
>> From: bsdprg@tuta.io
>>
>> HI Taylor,
>>
>> Thanks for the patch. Unfortunately, I am not able to apply the patch.=
=C3=82=C2=A0
>> I have the NetBSD-current development branch checked out from cvs in /us=
r/src
>>
>> $ patch < /home/salil/Downloads/usbhack-v2.patch
>> Hmm... Looks like a unified diff to me...
>> The text leading up to this was:
>> --------------------------
>> |diff --git a/libexec/ld.elf_so/arch/aarch64/mdreloc.c b/libexec/ld.elf_=
so/arch/aarch64/mdreloc.c
>>
>
> Oops -- sorry, I inadvertently mixed another local change into the
> patch. New patch attached.
>
------=_Part_446228_953307516.1685716432773
Content-Type: application/octet-stream; name=messages
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=messages
SnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDAwMF0gQ29weXJpZ2h0IChj
KSAxOTk2LCAxOTk3LCAxOTk4LCAxOTk5LCAyMDAwLCAyMDAxLCAyMDAyLCAyMDAzLApKdW4gIDIg
MDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAwMDAwXSAgICAgMjAwNCwgMjAwNSwgMjAw
NiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxMSwgMjAxMiwgMjAxMywKSnVuICAyIDA3OjI1
OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDAwMF0gICAgIDIwMTQsIDIwMTUsIDIwMTYsIDIw
MTcsIDIwMTgsIDIwMTksIDIwMjAsIDIwMjEsIDIwMjIsIDIwMjMKSnVuICAyIDA3OjI1OjI0IGRl
bGwgL25ldGJzZDogWyAgIDEuMDAwMDAwMF0gICAgIFRoZSBOZXRCU0QgRm91bmRhdGlvbiwgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAg
IDEuMDAwMDAwMF0gQ29weXJpZ2h0IChjKSAxOTgyLCAxOTg2LCAxOTg5LCAxOTkxLCAxOTkzCkp1
biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAwMDAwMDBdICAgICBUaGUgUmVnZW50
cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
SnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRi
c2Q6IFsgICAxLjAwMDAwMDBdIE5ldEJTRCAxMC45OS40IChNWUtFUk5FTCkgIzE6IEZyaSBKdW4g
IDIgMDc6MDc6NTMgUERUIDIwMjMKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEu
MDAwMDAwMF0gCXNhbGlsQGRlbGwubG9jYWxkb21haW46L3Vzci9zcmMvc3lzL2FyY2gvYW1kNjQv
Y29tcGlsZS9NWUtFUk5FTApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAw
MDAwXSB0b3RhbCBtZW1vcnkgPSAxNjI2NSBNQgpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNk
OiBbICAgMS4wMDAwMDAwXSBhdmFpbCBtZW1vcnkgPSAxNTcwOCBNQgpKdW4gIDIgMDc6MjU6MjQg
ZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAwMDAwXSB0aW1lY291bnRlcjogVGltZWNvdW50ZXJzIHRp
Y2sgZXZlcnkgMTAuMDAwIG1zZWMKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEu
MDAwMDAwMF0gS2VybmVsaXplZCBSQUlEZnJhbWUgYWN0aXZhdGVkCkp1biAgMiAwNzoyNToyNCBk
ZWxsIC9uZXRic2Q6IFsgICAxLjAwMDAwMDBdIFs0MTFdIHBtcyogZGlzYWJsZWQKSnVuICAyIDA3
OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDAwMF0gdGltZWNvdW50ZXI6IFRpbWVjb3Vu
dGVyICJpODI1NCIgZnJlcXVlbmN5IDExOTMxODIgSHogcXVhbGl0eSAxMDAKSnVuICAyIDA3OjI1
OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gZWZpOiBzeXN0YmwgYXQgcGEgN2I1MWMw
MTgKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gbWFpbmJ1czAg
KHJvb3QpCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAwMDAwNDBdIEFDUEk6
IFJTRFAgMHgwMDAwMDAwMDdBNTExMDAwIDAwMDAyNCAodjAyIERFTEwgICkKSnVuICAyIDA3OjI1
OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gQUNQSTogWFNEVCAweDAwMDAwMDAwN0E1
MTEwQjggMDAwMEY0ICh2MDEgREVMTCAgIENCWDMgICAgIDAxMDcyMDA5IEFNSSAgMDAwMTAwMTMp
Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAwMDAwNDBdIEFDUEk6IEZBQ1Ag
MHgwMDAwMDAwMDdBNTM3MzA4IDAwMDEwQyAodjA1IERFTEwgICBDQlgzICAgICAwMTA3MjAwOSBB
TUkgIDAwMDEwMDEzKQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAwMDQw
XSBBQ1BJOiBEU0RUIDB4MDAwMDAwMDA3QTUxMTI0MCAwMjYwQzggKHYwMiBERUxMICAgQ0JYMyAg
ICAgMDEwNzIwMDkgSU5UTCAyMDE2MDQyMikKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDog
WyAgIDEuMDAwMDA0MF0gQUNQSTogRkFDUyAweDAwMDAwMDAwN0FFNTJFODAgMDAwMDQwCkp1biAg
MiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAwMDAwNDBdIEFDUEk6IEFQSUMgMHgwMDAw
MDAwMDdBNTM3NDE4IDAwMDA4NCAodjAzIERFTEwgICBDQlgzICAgICAwMTA3MjAwOSBBTUkgIDAw
MDEwMDEzKQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAwMDQwXSBBQ1BJ
OiBGUERUIDB4MDAwMDAwMDA3QTUzNzRBMCAwMDAwNDQgKHYwMSBERUxMICAgQ0JYMyAgICAgMDEw
NzIwMDkgQU1JICAwMDAxMDAxMykKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEu
MDAwMDA0MF0gQUNQSTogRklEVCAweDAwMDAwMDAwN0E1Mzc0RTggMDAwMEFDICh2MDEgREVMTCAg
IENCWDMgICAgIDAxMDcyMDA5IEFNSSAgMDAwMTAwMTMpCkp1biAgMiAwNzoyNToyNCBkZWxsIC9u
ZXRic2Q6IFsgICAxLjAwMDAwNDBdIEFDUEk6IE1DRkcgMHgwMDAwMDAwMDdBNTM3NTk4IDAwMDAz
QyAodjAxIERFTEwgICBDQlgzICAgICAwMTA3MjAwOSBNU0ZUIDAwMDAwMDk3KQpKdW4gIDIgMDc6
MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAwMDQwXSBBQ1BJOiBIUEVUIDB4MDAwMDAwMDA3
QTUzNzVEOCAwMDAwMzggKHYwMSBERUxMICAgQ0JYMyAgICAgMDEwNzIwMDkgQU1JLiAwMDA1MDAw
QikKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gQUNQSTogU1NE
VCAweDAwMDAwMDAwN0E1Mzc2MTAgMDAwMzU5ICh2MDEgU2F0YVJlIFNhdGFUYWJsIDAwMDAxMDAw
IElOVEwgMjAxNjA0MjIpCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAwMDAw
NDBdIEFDUEk6IFNTRFQgMHgwMDAwMDAwMDdBNTM3OTcwIDAwMTJGRSAodjAyIFNhU3NkdCBTYVNz
ZHQgICAwMDAwMzAwMCBJTlRMIDIwMTYwNDIyKQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNk
OiBbICAgMS4wMDAwMDQwXSBBQ1BJOiBIUEVUIDB4MDAwMDAwMDA3QTUzOEM3MCAwMDAwMzggKHYw
MSBJTlRFTCAgU0tMLVVMVCAgMDAwMDAwMDEgTVNGVCAwMDAwMDA1RikKSnVuICAyIDA3OjI1OjI0
IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gQUNQSTogU1NEVCAweDAwMDAwMDAwN0E1MzhD
QTggMDAwRUJFICh2MDIgSU5URUwgIHhoX09FTUJEIDAwMDAwMDAwIElOVEwgMjAxNjA0MjIpCkp1
biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAwMDAwNDBdIEFDUEk6IFVFRkkgMHgw
MDAwMDAwMDdBNTM5QjY4IDAwMDA0MiAodjAxICAgICAgICAgICAgICAgICAwMDAwMDAwMCAgICAg
IDAwMDAwMDAwKQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAwMDQwXSBB
Q1BJOiBTU0RUIDB4MDAwMDAwMDA3QTUzOUJCMCAwMDBFREUgKHYwMiBDcHVSZWYgQ3B1U3NkdCAg
MDAwMDMwMDAgSU5UTCAyMDE2MDQyMikKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAg
IDEuMDAwMDA0MF0gQUNQSTogTFBJVCAweDAwMDAwMDAwN0E1M0FBOTAgMDAwMDk0ICh2MDEgSU5U
RUwgIFNLTC1VTFQgIDAwMDAwMDAwIE1TRlQgMDAwMDAwNUYpCkp1biAgMiAwNzoyNToyNCBkZWxs
IC9uZXRic2Q6IFsgICAxLjAwMDAwNDBdIEFDUEk6IFNTRFQgMHgwMDAwMDAwMDdBNTNBQjI4IDAw
MDE0MSAodjAyIElOVEVMICBIZGFEc3AgICAwMDAwMDAwMCBJTlRMIDIwMTYwNDIyKQpKdW4gIDIg
MDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAwMDQwXSBBQ1BJOiBTU0RUIDB4MDAwMDAw
MDA3QTUzQUM3MCAwMDAyOUYgKHYwMiBJTlRFTCAgc2Vuc3JodWIgMDAwMDAwMDAgSU5UTCAyMDE2
MDQyMikKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gQUNQSTog
U1NEVCAweDAwMDAwMDAwN0E1M0FGMTAgMDAzMDAyICh2MDIgSU5URUwgIFB0aWREZXZjIDAwMDAx
MDAwIElOVEwgMjAxNjA0MjIpCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAw
MDAwNDBdIEFDUEk6IFNTRFQgMHgwMDAwMDAwMDdBNTNERjE4IDAwMDUxNyAodjAyIElOVEVMICBU
YnRUeXBlQyAwMDAwMDAwMCBJTlRMIDIwMTYwNDIyKQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0
YnNkOiBbICAgMS4wMDAwMDQwXSBBQ1BJOiBEQkdQIDB4MDAwMDAwMDA3QTUzRTQzMCAwMDAwMzQg
KHYwMSBJTlRFTCAgICAgICAgICAgMDAwMDAwMDIgTVNGVCAwMDAwMDA1RikKSnVuICAyIDA3OjI1
OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gQUNQSTogREJHMiAweDAwMDAwMDAwN0E1
M0U0NjggMDAwMDU0ICh2MDAgSU5URUwgICAgICAgICAgIDAwMDAwMDAyIE1TRlQgMDAwMDAwNUYp
Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAwMDAwNDBdIEFDUEk6IFNTRFQg
MHgwMDAwMDAwMDdBNTNFNEMwIDAwNTEzNiAodjAyIERwdGZUYSBEcHRmVGFibCAwMDAwMTAwMCBJ
TlRMIDIwMTYwNDIyKQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAwMDQw
XSBBQ1BJOiBNU0RNIDB4MDAwMDAwMDA3QTU0MzVGOCAwMDAwNTUgKHYwMyBERUxMICAgQ0JYMyAg
ICAgMDYyMjIwMDQgQU1JICAwMDAxMDAxMykKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDog
WyAgIDEuMDAwMDA0MF0gQUNQSTogU0xJQyAweDAwMDAwMDAwN0E1NDM2NTAgMDAwMTc2ICh2MDMg
REVMTCAgIENCWDMgICAgIDAxMDcyMDA5IE1TRlQgMDAwMTAwMTMpCkp1biAgMiAwNzoyNToyNCBk
ZWxsIC9uZXRic2Q6IFsgICAxLjAwMDAwNDBdIEFDUEk6IFRDUEEgMHgwMDAwMDAwMDdBNTQzN0M4
IDAwMDAzMiAodjAyIEFMQVNLQSBOQVBBQVNGICAwMDAwMDAwMCBNU0ZUIDAxMDAwMDEzKQpKdW4g
IDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAwMDQwXSBBQ1BJOiBETUFSIDB4MDAw
MDAwMDA3QTU0MzgwMCAwMDAxMTQgKHYwMSBJTlRFTCAgU0tMICAgICAgMDAwMDAwMDEgSU5UTCAw
MDAwMDAwMSkKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gQUNQ
STogQVNGISAweDAwMDAwMDAwN0E1NDM5MTggMDAwMEEwICh2MzIgSU5URUwgICBIQ0cgICAgIDAw
MDAwMDAxIFRGU00gMDAwRjQyNDApCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAx
LjAwMDAwNDBdIEFDUEk6IEJHUlQgMHgwMDAwMDAwMDdBNTQzOUI4IDAwMDAzOCAodjAwID8/ICAg
ICAgICAgICAgICAwMTA3MjAwOSBBTUkgIDAwMDEwMDEzKQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAv
bmV0YnNkOiBbICAgMS4wMDAwMDQwXSBBQ1BJOiAxMCBBQ1BJIEFNTCB0YWJsZXMgc3VjY2Vzc2Z1
bGx5IGFjcXVpcmVkIGFuZCBsb2FkZWQKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAg
IDEuMDAwMDA0MF0gaW9hcGljMCBhdCBtYWluYnVzMCBhcGlkIDI6IHBhIDB4ZmVjMDAwMDAsIHZl
cnNpb24gMHgyMCwgMTIwIHBpbnMKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEu
MDAwMDA0MF0gY3B1MCBhdCBtYWluYnVzMCBhcGlkIDAKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25l
dGJzZDogWyAgIDEuMDAwMDA0MF0gY3B1MDogVXNlIGxmZW5jZSB0byBzZXJpYWxpemUgcmR0c2MK
SnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gY3B1MDogQ1BVIGJh
c2UgZnJlcSAyODAwMDAwMDAwIEh6Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAx
LjAwMDAwNDBdIGNwdTA6IENQVSBtYXggZnJlcSAzNDAwMDAwMDAwIEh6Ckp1biAgMiAwNzoyNToy
NCBkZWxsIC9uZXRic2Q6IFsgICAxLjAwMDAwNDBdIGNwdTA6IFRTQyBmcmVxIENQVUlEIDI4MDgw
MDAwMDAgSHoKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gY3B1
MDogSW50ZWwoUikgQ29yZShUTSkgaTctNjYwMFUgQ1BVIEAgMi42MEdIeiwgaWQgMHg0MDZlMwpK
dW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAwMDQwXSBjcHUwOiBub2RlIDAs
IHBhY2thZ2UgMCwgY29yZSAwLCBzbXQgMApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBb
ICAgMS4wMDAwMDQwXSBjcHUxIGF0IG1haW5idXMwIGFwaWQgMgpKdW4gIDIgMDc6MjU6MjQgZGVs
bCAvbmV0YnNkOiBbICAgMS4wMDAwMDQwXSBjcHUxOiBJbnRlbChSKSBDb3JlKFRNKSBpNy02NjAw
VSBDUFUgQCAyLjYwR0h6LCBpZCAweDQwNmUzCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6
IFsgICAxLjAwMDAwNDBdIGNwdTE6IG5vZGUgMCwgcGFja2FnZSAwLCBjb3JlIDEsIHNtdCAwCkp1
biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAwMDAwNDBdIGNwdTIgYXQgbWFpbmJ1
czAgYXBpZCAxCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAwMDAwNDBdIGNw
dTI6IEludGVsKFIpIENvcmUoVE0pIGk3LTY2MDBVIENQVSBAIDIuNjBHSHosIGlkIDB4NDA2ZTMK
SnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gY3B1Mjogbm9kZSAw
LCBwYWNrYWdlIDAsIGNvcmUgMCwgc210IDEKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDog
WyAgIDEuMDAwMDA0MF0gY3B1MyBhdCBtYWluYnVzMCBhcGlkIDMKSnVuICAyIDA3OjI1OjI0IGRl
bGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gY3B1MzogSW50ZWwoUikgQ29yZShUTSkgaTctNjYw
MFUgQ1BVIEAgMi42MEdIeiwgaWQgMHg0MDZlMwpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNk
OiBbICAgMS4wMDAwMDQwXSBjcHUzOiBub2RlIDAsIHBhY2thZ2UgMCwgY29yZSAxLCBzbXQgMQpK
dW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAwMDQwXSBhY3BpMCBhdCBtYWlu
YnVzMDogSW50ZWwgQUNQSUNBIDIwMjIxMDIwCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6
IFsgICAxLjAwMDAwNDBdIGFjcGkwOiBYL1JTRFQ6IE9lbUlkIDxERUxMICAsIENCWDMgICAsMDEw
NzIwMDk+LCBBc2xJZCA8QU1JICwwMDAxMDAxMz4KSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJz
ZDogWyAgIDEuMDAwMDA0MF0gYWNwaTA6IE1DRkc6IHNlZ21lbnQgMCwgYnVzIDAtMTI3LCBhZGRy
ZXNzIDB4MDAwMDAwMDBmMDAwMDAwMApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAg
MS4wMDAwMDQwXSBBQ1BJOiBEeW5hbWljIE9FTSBUYWJsZSBMb2FkOgpKdW4gIDIgMDc6MjU6MjQg
ZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAwMDQwXSBBQ1BJOiBTU0RUIDB4RkZGRjhCQjAxQjczQTgw
OCAwMDAzRkYgKHYwMiBQbVJlZiAgQ3B1MENzdCAgMDAwMDMwMDEgSU5UTCAyMDE2MDQyMikKSnVu
ICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gQUNQSTogRHluYW1pYyBP
RU0gVGFibGUgTG9hZDoKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0
MF0gQUNQSTogU1NEVCAweEZGRkY4QkIwMUI3MkQ4MDggMDAwNkQ1ICh2MDIgUG1SZWYgIENwdTBJ
c3QgIDAwMDAzMDAwIElOVEwgMjAxNjA0MjIpCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6
IFsgICAxLjAwMDAwNDBdIEFDUEk6IER5bmFtaWMgT0VNIFRhYmxlIExvYWQ6Ckp1biAgMiAwNzoy
NToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAwMDAwNDBdIEFDUEk6IFNTRFQgMHhGRkZGOEJCMDFC
NzJGODA4IDAwMDY1QyAodjAyIFBtUmVmICBBcElzdCAgICAwMDAwMzAwMCBJTlRMIDIwMTYwNDIy
KQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMDAwMDQwXSBBQ1BJOiBEeW5h
bWljIE9FTSBUYWJsZSBMb2FkOgpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4w
MDAwMDQwXSBBQ1BJOiBTU0RUIDB4RkZGRjhCQjM3NjJBOTQwOCAwMDAxOEEgKHYwMiBQbVJlZiAg
QXBDc3QgICAgMDAwMDMwMDAgSU5UTCAyMDE2MDQyMikKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25l
dGJzZDogWyAgIDEuMDAwMDA0MF0gYWNwaTA6IFNDSSBpbnRlcnJ1cHRpbmcgYXQgaW50IDkKSnVu
ICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDAwMDA0MF0gYWNwaTA6IGZpeGVkIHBv
d2VyIGJ1dHRvbiBwcmVzZW50Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAw
MDAwNDBdIHRpbWVjb3VudGVyOiBUaW1lY291bnRlciAiQUNQSS1TYWZlIiBmcmVxdWVuY3kgMzU3
OTU0NSBIeiBxdWFsaXR5IDkwMApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4w
MzI4MTQ2XSBocGV0MCBhdCBhY3BpMDogaGlnaCBwcmVjaXNpb24gZXZlbnQgdGltZXIgKG1lbSAw
eGZlZDAwMDAwLTB4ZmVkMDA0MDApCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAx
LjAzMjgxNDZdIHRpbWVjb3VudGVyOiBUaW1lY291bnRlciAiaHBldDAiIGZyZXF1ZW5jeSAyNDAw
MDAwMCBIeiBxdWFsaXR5IDIwMDAKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEu
MDMzNDczOV0gYWNwaWVjMCBhdCBhY3BpMCAoRUNEViwgUE5QMEMwOS0wKTogaW8gMHg5MzAsMHg5
MzQKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaWVjMSBh
dCBhY3BpMCAoSF9FQywgUE5QMEMwOS0xKTogdXNpbmcgYWNwaWVjMApKdW4gIDIgMDc6MjU6MjQg
ZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBhY3BpdmdhMCBhdCBhY3BpMCAoR0ZYMCk6IEFD
UEkgRGlzcGxheSBBZGFwdGVyCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAz
MzQ3MzldIGFjcGlvdXQwIGF0IGFjcGl2Z2EwIChDUlQsIDB4MDEwMCk6IEFDUEkgRGlzcGxheSBP
dXRwdXQgRGV2aWNlCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3Mzld
IGFjcGlvdXQxIGF0IGFjcGl2Z2EwIChMQ0QsIDB4MDQwMCk6IEFDUEkgRGlzcGxheSBPdXRwdXQg
RGV2aWNlCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGFjcGlv
dXQxOiBicmlnaHRuZXNzIGxldmVsczogWzUtMzgsNDAtNDMsNDUtNDcsNDktNTAsNTItNTMsNTUs
NTcsNTktNjAsNjIsNjQsNjYsNjgsNzAsNzIsNzQsNzcsNzktODEsODQsODYsODksOTIsOTUsOTcs
MTAwXQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBhY3Bpb3V0
MiBhdCBhY3BpdmdhMCAoRFZJLCAweDAzMDIpOiBBQ1BJIERpc3BsYXkgT3V0cHV0IERldmljZQpK
dW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBhY3Bpb3V0MyBhdCBh
Y3BpdmdhMCAoRFZJMiwgMHgwMzAzKTogQUNQSSBEaXNwbGF5IE91dHB1dCBEZXZpY2UKSnVuICAy
IDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaW91dDQgYXQgYWNwaXZn
YTAgKERWSTMsIDB4MDMwNCk6IEFDUEkgRGlzcGxheSBPdXRwdXQgRGV2aWNlCkp1biAgMiAwNzoy
NToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGFjcGlvdXQ1IGF0IGFjcGl2Z2EwIChE
UCwgMHgwMzAwKTogQUNQSSBEaXNwbGF5IE91dHB1dCBEZXZpY2UKSnVuICAyIDA3OjI1OjI0IGRl
bGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaW91dDYgYXQgYWNwaXZnYTAgKERQMiwgMHgw
MzAxKTogQUNQSSBEaXNwbGF5IE91dHB1dCBEZXZpY2UKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25l
dGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaW91dDcgYXQgYWNwaXZnYTAgKERQMywgMHgwMzA1KTog
QUNQSSBEaXNwbGF5IE91dHB1dCBEZXZpY2UKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDog
WyAgIDEuMDMzNDczOV0gYWNwaW91dDggYXQgYWNwaXZnYTAgKFNLQzAsIDB4Y2EwMCk6IEFDUEkg
RGlzcGxheSBPdXRwdXQgRGV2aWNlCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAx
LjAzMzQ3MzldIGFjcGl2Z2EwOiBjb25uZWN0ZWQgb3V0cHV0IGRldmljZXM6Ckp1biAgMiAwNzoy
NToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGFjcGl2Z2EwOiAgIDB4MDEwMCAoYWNw
aW91dDApOiBFeHQuIE1vbml0b3IsIGhlYWQgMApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNk
OiBbICAgMS4wMzM0NzM5XSBhY3BpdmdhMDogICAweDA0MDAgKGFjcGlvdXQxKTogVW5rbm93biBP
dXRwdXQgRGV2aWNlLCBoZWFkIDAKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEu
MDMzNDczOV0gYWNwaXZnYTA6ICAgMHgwMzAyIChhY3Bpb3V0Mik6IFVua25vd24gT3V0cHV0IERl
dmljZSwgaGVhZCAwCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3Mzld
IGFjcGl2Z2EwOiAgIDB4MDMwMyAoYWNwaW91dDMpOiBVbmtub3duIE91dHB1dCBEZXZpY2UsIGhl
YWQgMApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBhY3Bpdmdh
MDogICAweDAzMDAgKGFjcGlvdXQ1KTogVW5rbm93biBPdXRwdXQgRGV2aWNlLCBoZWFkIDAKSnVu
ICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaXZnYTA6ICAgMHgw
MzAxIChhY3Bpb3V0Nik6IFVua25vd24gT3V0cHV0IERldmljZSwgaGVhZCAwCkp1biAgMiAwNzoy
NToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGFjcGl2Z2EwOiAgIDB4MDMwNCAoYWNw
aW91dDQpOiBVbmtub3duIE91dHB1dCBEZXZpY2UsIGhlYWQgMApKdW4gIDIgMDc6MjU6MjQgZGVs
bCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBhY3BpdmdhMDogICAweDAzMDUgKGFjcGlvdXQ3KTog
VW5rbm93biBPdXRwdXQgRGV2aWNlLCBoZWFkIDAKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJz
ZDogWyAgIDEuMDMzNDczOV0gRldIRCAoSU5UMDgwMCkgYXQgYWNwaTAgbm90IGNvbmZpZ3VyZWQK
SnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYXR0aW1lcjEgYXQg
YWNwaTAgKFRJTVIsIFBOUDAxMDApOiBpbyAweDQwLTB4NDMsMHg1MC0weDUzIGlycSAwCkp1biAg
MiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIFRTS04gKElOVDM0MDMpIGF0
IGFjcGkwIG5vdCBjb25maWd1cmVkCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAx
LjAzMzQ3MzldIE5HRkYgKElOVDM0MDMpIGF0IGFjcGkwIG5vdCBjb25maWd1cmVkCkp1biAgMiAw
NzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIHBja2JjMSBhdCBhY3BpMCAoUFMy
SywgRExMSzA3QTApIChrYmQgcG9ydCk6IGlvIDB4NjAsMHg2NCBpcnEgMQpKdW4gIDIgMDc6MjU6
MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBUUEQxIChETEwwN0EwKSBhdCBhY3BpMCBu
b3QgY29uZmlndXJlZApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5
XSBJMkM0IChJTlQzNDQ2KSBhdCBhY3BpMCBub3QgY29uZmlndXJlZApKdW4gIDIgMDc6MjU6MjQg
ZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBUTUVNIChJTlQzNDAzKSBhdCBhY3BpMCBub3Qg
Y29uZmlndXJlZApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBh
Y3Bpd21pMCBhdCBhY3BpMCAoV1RCVCwgUE5QMEMxNC1UQkZQKTogQUNQSSBXTUkgSW50ZXJmYWNl
Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGFjcGl3bWlidXMg
YXQgYWNwaXdtaTAgbm90IGNvbmZpZ3VyZWQKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDog
WyAgIDEuMDMzNDczOV0gUEVQRCAoSU5UMzNBMSkgYXQgYWNwaTAgbm90IGNvbmZpZ3VyZWQKSnVu
ICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gdHBtMCBhdCBhY3BpMCAo
VFBNLCBQTlAwQzMxLTEpOiBtZW0gMHhmZWQ0MDAwMC0weGZlZDQ0ZmZmCkp1biAgMiAwNzoyNToy
NCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIHRwbTA6IGRldmljZSAweDAwZmUxMDUwIHJl
diAweDQKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaXdt
aTEgYXQgYWNwaTAgKEFNVzAsIFBOUDBDMTQtMCk6IEFDUEkgV01JIEludGVyZmFjZQpKdW4gIDIg
MDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSB3bWlkZWxsMCBhdCBhY3Bpd21p
MTogRGVsbCBXTUkgbWFwcGluZ3MgdmVyc2lvbiAxCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRi
c2Q6IFsgICAxLjAzMzQ3MzldIGFjcGlsaWQwIGF0IGFjcGkwIChMSUQwLCBQTlAwQzBEKTogQUNQ
SSBMaWQgU3dpdGNoCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3Mzld
IGFjcGlidXQwIGF0IGFjcGkwIChQQlROLCBQTlAwQzBDKTogQUNQSSBQb3dlciBCdXR0b24KSnVu
ICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaWJ1dDEgYXQgYWNw
aTAgKFNCVE4sIFBOUDBDMEUpOiBBQ1BJIFNsZWVwIEJ1dHRvbgpKdW4gIDIgMDc6MjU6MjQgZGVs
bCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBhY3BpYWNhZDAgYXQgYWNwaTAgKEFDLCBBQ1BJMDAw
Myk6IEFDUEkgQUMgQWRhcHRlcgpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4w
MzM0NzM5XSBhY3BpYmF0MCBhdCBhY3BpMCAoQkFUMCwgUE5QMEMwQS0xKTogQUNQSSBCYXR0ZXJ5
Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIEhJREQgKElOVDMz
RDUpIGF0IGFjcGkwIG5vdCBjb25maWd1cmVkCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6
IFsgICAxLjAzMzQ3MzldIElFVE0gKElOVDM0MDApIGF0IGFjcGkwIG5vdCBjb25maWd1cmVkCkp1
biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGFjcGl0ejAgYXQgYWNw
aTAgKFRITSkKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNw
aXR6MDogbGV2ZWxzOiBjcml0aWNhbCAxMDcuMCBDLCBwYXNzaXZlIGNvb2xpbmcKSnVuICAyIDA3
OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gQUNQSTogRW5hYmxlZCA1IEdQRXMg
aW4gYmxvY2sgMDAgdG8gN0YKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMz
NDczOV0gcGNrYmQwIGF0IHBja2JjMSAoa2JkIHNsb3QpCkp1biAgMiAwNzoyNToyNCBkZWxsIC9u
ZXRic2Q6IFsgICAxLjAzMzQ3MzldIHBja2JjMTogdXNpbmcgaXJxIDEgZm9yIGtiZCBzbG90Ckp1
biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIHdza2JkMCBhdCBwY2ti
ZDA6IGNvbnNvbGUga2V5Ym9hcmQKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEu
MDMzNDczOV0gcGNpMCBhdCBtYWluYnVzMCBidXMgMDogY29uZmlndXJhdGlvbiBtb2RlIDEKSnVu
ICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gcGNpMDogaS9vIHNwYWNl
LCBtZW1vcnkgc3BhY2UgZW5hYmxlZCwgcmQvbGluZSwgcmQvbXVsdCwgd3IvaW52IG9rCkp1biAg
MiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIHBjaGIwIGF0IHBjaTAgZGV2
IDAgZnVuY3Rpb24gMDogSW50ZWwgQ29yZSA2RyBIb3N0IGFuZCBEUkFNIChVKSAocmV2LiAweDA4
KQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBpOTE1ZHJta21z
MCBhdCBwY2kwIGRldiAyIGZ1bmN0aW9uIDA6IEludGVsIEhEIEdyYXBoaWNzIDUyMCAoR1QyKSAo
cmV2LiAweDA3KQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBJ
bnRlbCBDb3JlIDZHIFRoZXJtYWwgKG1pc2NlbGxhbmVvdXMgREFTUCwgcmV2aXNpb24gMHgwOCkg
YXQgcGNpMCBkZXYgNCBmdW5jdGlvbiAwIG5vdCBjb25maWd1cmVkCkp1biAgMiAwNzoyNToyNCBk
ZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIHhoY2kwIGF0IHBjaTAgZGV2IDIwIGZ1bmN0aW9u
IDA6IEludGVsIDEwMCBTZXJpZXMgeEhDSSAocmV2LiAweDIxKQpKdW4gIDIgMDc6MjU6MjQgZGVs
bCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSB4aGNpMDogNjQtYml0IERNQQpKdW4gIDIgMDc6MjU6
MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSB4aGNpMDogaW50ZXJydXB0aW5nIGF0IG1z
aTAgdmVjIDAKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0geGhj
aTA6IHhIQ0kgdmVyc2lvbiAxLjAKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEu
MDMzNDczOV0gdXNiMCBhdCB4aGNpMDogVVNCIHJldmlzaW9uIDMuMApKdW4gIDIgMDc6MjU6MjQg
ZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSB1c2IxIGF0IHhoY2kwOiBVU0IgcmV2aXNpb24g
Mi4wCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIEludGVsIDEw
MCBTZXJpZXMgVGhlcm1hbCAobWlzY2VsbGFuZW91cyBEQVNQLCByZXZpc2lvbiAweDIxKSBhdCBw
Y2kwIGRldiAyMCBmdW5jdGlvbiAyIG5vdCBjb25maWd1cmVkCkp1biAgMiAwNzoyNToyNCBkZWxs
IC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGR3aWljMCBhdCBwY2kwIGRldiAyMSBmdW5jdGlvbiAw
OiBJMkMgY29udHJvbGxlciBpbnN0YW5jZSAwCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6
IFsgICAxLjAzMzQ3MzldIGR3aWljMDogaW50ZXJydXB0aW5nIGF0IGlvYXBpYzAgcGluIDE2Ckp1
biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGlpYzAgYXQgZHdpaWMw
OiBJMkMgYnVzCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGR3
aWljMSBhdCBwY2kwIGRldiAyMSBmdW5jdGlvbiAxOiBJMkMgY29udHJvbGxlciBpbnN0YW5jZSAx
Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGR3aWljMTogaW50
ZXJydXB0aW5nIGF0IGlvYXBpYzAgcGluIDE3Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6
IFsgICAxLjAzMzQ3MzldIGlpYzEgYXQgZHdpaWMxOiBJMkMgYnVzCkp1biAgMiAwNzoyNToyNCBk
ZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGloaWRldjAgYXQgaWljMSBhZGRyIDB4MmM6IHZl
bmRvciAweDQ0ZSBwcm9kdWN0IDB4MTIwYiwgVFBEMQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0
YnNkOiBbICAgMS4wMzM0NzM5XSBpaGlkZXYwOiA3IHJlcG9ydCBpZHMKSnVuICAyIDA3OjI1OjI0
IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gaWhpZGV2MDogaW50ZXJydXB0aW5nIGF0IGly
cSA1MQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBpbXMwIGF0
IGloaWRldjAgcmVwb3J0aWQgMTogMyBidXR0b25zLCBXIGFuZCBaIGRpcnMKSnVuICAyIDA3OjI1
OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gd3Ntb3VzZTAgYXQgaW1zMCBtdXggMApK
dW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBoaWQgYXQgaWhpZGV2
MCByZXBvcnRpZCAyIG5vdCBjb25maWd1cmVkCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6
IFsgICAxLjAzMzQ3MzldIGhpZCBhdCBpaGlkZXYwIHJlcG9ydGlkIDMgbm90IGNvbmZpZ3VyZWQK
SnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gaGlkIGF0IGloaWRl
djAgcmVwb3J0aWQgNCBub3QgY29uZmlndXJlZApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNk
OiBbICAgMS4wMzM0NzM5XSBoaWQgYXQgaWhpZGV2MCByZXBvcnRpZCA1IG5vdCBjb25maWd1cmVk
Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGhpZCBhdCBpaGlk
ZXYwIHJlcG9ydGlkIDYgbm90IGNvbmZpZ3VyZWQKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJz
ZDogWyAgIDEuMDMzNDczOV0gaGlkIGF0IGloaWRldjAgcmVwb3J0aWQgNyBub3QgY29uZmlndXJl
ZApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBkd2lpYzIgYXQg
cGNpMCBkZXYgMjEgZnVuY3Rpb24gMjogSTJDIGNvbnRyb2xsZXIgaW5zdGFuY2UgMgpKdW4gIDIg
MDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBkd2lpYzI6IGludGVycnVwdGlu
ZyBhdCBpb2FwaWMwIHBpbiAxOApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4w
MzM0NzM5XSBpaWMyIGF0IGR3aWljMjogSTJDIGJ1cwpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0
YnNkOiBbICAgMS4wMzM0NzM5XSBJbnRlbCAxMDAgU2VyaWVzIE1FSSAobWlzY2VsbGFuZW91cyBj
b21tdW5pY2F0aW9ucywgcmV2aXNpb24gMHgyMSkgYXQgcGNpMCBkZXYgMjIgZnVuY3Rpb24gMCBu
b3QgY29uZmlndXJlZApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5
XSBwdWMwIGF0IHBjaTAgZGV2IDIyIGZ1bmN0aW9uIDM6IEludGVsIDEwMCBTZXJpZXMgTFAgS1Qg
KGNvbSkKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gY29tMiBh
dCBwdWMwIHBvcnQgMCAoMTY1NTAtY29tcGF0aWJsZSk6IGlvYWRkciAweGYwYTAsIGludGVycnVw
dGluZyBhdCBpb2FwaWMwIHBpbiAxOQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAg
MS4wMzM0NzM5XSBjb20yOiBuczE2NTUwYSwgMTYtYnl0ZSBGSUZPCkp1biAgMiAwNzoyNToyNCBk
ZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGFoY2lzYXRhMCBhdCBwY2kwIGRldiAyMyBmdW5j
dGlvbiAwOiBJbnRlbCAxMDAgU2VyaWVzIFNBVEEgKEFIQ0kpIChyZXYuIDB4MjEpCkp1biAgMiAw
NzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGFoY2lzYXRhMDogNjQtYml0IERN
QQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBhaGNpc2F0YTA6
IEFIQ0kgcmV2aXNpb24gMS4zMSwgMSBwb3J0LCAzMiBzbG90cywgQ0FQIDB4YzczNGZmMDA8UFND
LFNTQyxQTUQsU0FNLElTUz0weDM9R2VuMyxTQ0xPLFNBTCxTQUxQLFNOQ1EsUzY0QT4KSnVuICAy
IDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWhjaXNhdGEwOiBpbnRlcnJ1
cHRpbmcgYXQgbXNpMSB2ZWMgMApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4w
MzM0NzM5XSBhdGFidXMwIGF0IGFoY2lzYXRhMCBjaGFubmVsIDIKSnVuICAyIDA3OjI1OjI0IGRl
bGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gcHBiMCBhdCBwY2kwIGRldiAyOCBmdW5jdGlvbiAw
OiBJbnRlbCAxMDAgU2VyaWVzIFBDSWUgKHJldi4gMHhmMSkKSnVuICAyIDA3OjI1OjI0IGRlbGwg
L25ldGJzZDogWyAgIDEuMDMzNDczOV0gcHBiMDogUENJIEV4cHJlc3MgY2FwYWJpbGl0eSB2ZXJz
aW9uIDIgPFJvb3QgUG9ydCBvZiBQQ0ktRSBSb290IENvbXBsZXg+IHgxIEAgOC4wR1QvcwpKdW4g
IDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBwcGIwOiBsaW5rIGlzIHgx
IEAgNS4wR1QvcwpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBw
Y2kxIGF0IHBwYjAgYnVzIDEKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMz
NDczOV0gcGNpMTogaS9vIHNwYWNlLCBtZW1vcnkgc3BhY2UgZW5hYmxlZApKdW4gIDIgMDc6MjU6
MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBydHN4MCBhdCBwY2kxIGRldiAwIGZ1bmN0
aW9uIDA6IFJlYWx0ZWsgU2VtaWNvbmR1Y3RvciBSVFM1MjVBIFBDSS1FIENhcmQgUmVhZGVyIChy
ZXYuIDB4MDEpCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIHJ0
c3gwOiBpbnRlcnJ1cHRpbmcgYXQgbXNpMiB2ZWMgMApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0
YnNkOiBbICAgMS4wMzM0NzM5XSBzZG1tYzAgYXQgcnRzeDAKSnVuICAyIDA3OjI1OjI0IGRlbGwg
L25ldGJzZDogWyAgIDEuMDMzNDczOV0gcHBiMSBhdCBwY2kwIGRldiAyOCBmdW5jdGlvbiAyOiBJ
bnRlbCAxMDAgU2VyaWVzIFBDSWUgKHJldi4gMHhmMSkKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25l
dGJzZDogWyAgIDEuMDMzNDczOV0gcHBiMTogUENJIEV4cHJlc3MgY2FwYWJpbGl0eSB2ZXJzaW9u
IDIgPFJvb3QgUG9ydCBvZiBQQ0ktRSBSb290IENvbXBsZXg+IHgxIEAgOC4wR1QvcwpKdW4gIDIg
MDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBwcGIxOiBsaW5rIGlzIHgxIEAg
Mi41R1QvcwpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBwY2ky
IGF0IHBwYjEgYnVzIDIKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDcz
OV0gcGNpMjogaS9vIHNwYWNlLCBtZW1vcnkgc3BhY2UgZW5hYmxlZApKdW4gIDIgMDc6MjU6MjQg
ZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBpd20wIGF0IHBjaTIgZGV2IDAgZnVuY3Rpb24g
MDogSW50ZWwgRHVhbCBCYW5kIFdpcmVsZXNzIEFDIDgyNjUgKHJldi4gMHg3OCkKSnVuICAyIDA3
OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gaXdtMDogaW50ZXJydXB0aW5nIGF0
IG1zaTMgdmVjIDAKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0g
cHBiMiBhdCBwY2kwIGRldiAyOCBmdW5jdGlvbiA0OiBJbnRlbCAxMDAgU2VyaWVzIFBDSWUgKHJl
di4gMHhmMSkKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gcHBi
MjogUENJIEV4cHJlc3MgY2FwYWJpbGl0eSB2ZXJzaW9uIDIgPFJvb3QgUG9ydCBvZiBQQ0ktRSBS
b290IENvbXBsZXg+IHg0IEAgOC4wR1QvcwpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBb
ICAgMS4wMzM0NzM5XSBwY2kzIGF0IHBwYjIgYnVzIDMKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25l
dGJzZDogWyAgIDEuMDMzNDczOV0gcGNpMzogaS9vIHNwYWNlLCBtZW1vcnkgc3BhY2UgZW5hYmxl
ZApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBwY2liMCBhdCBw
Y2kwIGRldiAzMSBmdW5jdGlvbiAwOiBJbnRlbCAxMDAgU2VyaWVzIChQQ0gtVSkgTFBDIChyZXYu
IDB4MjEpCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIEludGVs
IDEwMCBTZXJpZXMgUE1DIChtaXNjZWxsYW5lb3VzIG1lbW9yeSwgcmV2aXNpb24gMHgyMSkgYXQg
cGNpMCBkZXYgMzEgZnVuY3Rpb24gMiBub3QgY29uZmlndXJlZApKdW4gIDIgMDc6MjU6MjQgZGVs
bCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBoZGF1ZGlvMCBhdCBwY2kwIGRldiAzMSBmdW5jdGlv
biAzOiBIRCBBdWRpbyBDb250cm9sbGVyCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsg
ICAxLjAzMzQ3MzldIGhkYXVkaW8wOiBpbnRlcnJ1cHRpbmcgYXQgbXNpNCB2ZWMgMApKdW4gIDIg
MDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBoZGF1ZGlvMDogSERBIHZlci4g
MS4wLCBPU1MgOSwgSVNTIDcsIEJTUyAwLCBTRE8gMSwgNjQtYml0Ckp1biAgMiAwNzoyNToyNCBk
ZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGhkYWZnMCBhdCBoZGF1ZGlvMDogUmVhbHRlayBw
cm9kdWN0IDAyNTYKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0g
aGRhZmcwOiBEQUMwMCAyY2g6IFNwZWFrZXIgW0J1aWx0LUluXQpKdW4gIDIgMDc6MjU6MjQgZGVs
bCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBoZGFmZzA6IERBQzAxIDJjaDogSFAgT3V0IFtKYWNr
XQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBoZGFmZzA6IEFE
QzAyIDJjaDogTWljIEluIFtCdWlsdC1Jbl0KSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDog
WyAgIDEuMDMzNDczOV0gaGRhZmcwOiAyY2gvMmNoIDQ0MTAwSHogNDgwMDBIeiA5NjAwMEh6IDE5
MjAwMEh6IFBDTTE2IFBDTTIwIFBDTTI0IEFDMwpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNk
OiBbICAgMS4wMzM0NzM5XSBhdWRpbzAgYXQgaGRhZmcwOiBwbGF5YmFjaywgY2FwdHVyZSwgZnVs
bCBkdXBsZXgsIGluZGVwZW5kZW50Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAx
LjAzMzQ3MzldIGF1ZGlvMDogc2xpbmVhcl9sZToxNiAyY2ggNDgwMDBIeiwgYmxrIDE5MjAgYnl0
ZXMgKDEwbXMpIGZvciBwbGF5YmFjawpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAg
MS4wMzM0NzM5XSBhdWRpbzA6IHNsaW5lYXJfbGU6MTYgMmNoIDQ4MDAwSHosIGJsayAxOTIwIGJ5
dGVzICgxMG1zKSBmb3IgcmVjb3JkaW5nCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsg
ICAxLjAzMzQ3MzldIHNwa3IwIGF0IGF1ZGlvMDogUEMgU3BlYWtlciAoc3ludGhlc2l6ZWQpCkp1
biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIHdzYmVsbCBhdCBzcGty
MCBub3QgY29uZmlndXJlZApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0
NzM5XSBoZGFmZzEgYXQgaGRhdWRpbzA6IEludGVsIEhETUkvRFAKSnVuICAyIDA3OjI1OjI0IGRl
bGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gaGRhZmcxOiBEUDAwIDhjaDogRGlnaXRhbCBPdXQg
W0phY2tdCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGhkYWZn
MTogOGNoLzBjaCA0ODAwMEh6IFBDTTE2KgpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBb
ICAgMS4wMzM0NzM5XSBhdWRpbzEgYXQgaGRhZmcxOiBwbGF5YmFjaywgY2FwdHVyZSwgZnVsbCBk
dXBsZXgsIGluZGVwZW5kZW50Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAz
MzQ3MzldIGF1ZGlvMTogc2xpbmVhcl9sZToxNiAyY2ggNDgwMDBIeiwgYmxrIDE5MjAgYnl0ZXMg
KDEwbXMpIGZvciBwbGF5YmFjawpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4w
MzM0NzM5XSBhdWRpbzE6IHNsaW5lYXJfbGU6MTYgMmNoIDQ4MDAwSHosIGJsayAxOTIwIGJ5dGVz
ICgxMG1zKSBmb3IgcmVjb3JkaW5nCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAx
LjAzMzQ3MzldIHNwa3IxIGF0IGF1ZGlvMTogUEMgU3BlYWtlciAoc3ludGhlc2l6ZWQpCkp1biAg
MiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIHdzYmVsbCBhdCBzcGtyMSBu
b3QgY29uZmlndXJlZApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5
XSBpY2hzbWIwIGF0IHBjaTAgZGV2IDMxIGZ1bmN0aW9uIDQ6IEludGVsIDEwMCBTZXJpZXMgU01C
dXMgKHJldi4gMHgyMSkKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDcz
OV0gaWNoc21iMDogaW50ZXJydXB0aW5nIGF0IGlvYXBpYzAgcGluIDE2Ckp1biAgMiAwNzoyNToy
NCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGlpYzMgYXQgaWNoc21iMDogSTJDIGJ1cwpK
dW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSB0Y28wIGF0IGljaHNt
YjA6IFRDTyAod2F0Y2hkb2cpIHRpbWVyIGNvbmZpZ3VyZWQuCkp1biAgMiAwNzoyNToyNCBkZWxs
IC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIHRjbzA6IE1pbi9NYXggaW50ZXJ2YWwgMS8zNjcgc2Vj
b25kcwpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSB3bTAgYXQg
cGNpMCBkZXYgMzEgZnVuY3Rpb24gNiwgNjQtYml0IERNQTogSTIxOSBMTSAoNCkgRXRoZXJuZXQg
Q29ubmVjdGlvbiAocmV2LiAweDIxKQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAg
MS4wMzM0NzM5XSB3bTA6IGludGVycnVwdGluZyBhdCBtc2k1IHZlYyAwCkp1biAgMiAwNzoyNToy
NCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIHdtMDogUENJLUV4cHJlc3MgYnVzCkp1biAg
MiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIHdtMDogNDA5NiB3b3JkcyBG
TEFTSCwgdmVyc2lvbiAwLjEuNApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4w
MzM0NzM5XSB3bTA6IEV0aGVybmV0IGFkZHJlc3MgYTQ6NGM6Yzg6MTk6OGU6OGIKSnVuICAyIDA3
OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gd20wOiAweDZhNDA4MDxGTEFTSCxQ
Q0lFLEFTRl9GSVJNLEFNVCxXT0wsRUVFPgpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBb
ICAgMS4wMzM0NzM5XSBpaHBoeTAgYXQgd20wIHBoeSAyOiBpMjE3IDEwLzEwMC8xMDAwIG1lZGlh
IGludGVyZmFjZSwgcmV2LiA2Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAz
MzQ3MzldIGlocGh5MDogMTBiYXNlVCwgMTBiYXNlVC1GRFgsIDEwMGJhc2VUWCwgMTAwYmFzZVRY
LUZEWCwgMTAwMGJhc2VULCAxMDAwYmFzZVQtRkRYLCBhdXRvCkp1biAgMiAwNzoyNToyNCBkZWxs
IC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGlzYTAgYXQgcGNpYjAKSnVuICAyIDA3OjI1OjI0IGRl
bGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gcGNwcGkwIGF0IGlzYTAgcG9ydCAweDYxCkp1biAg
MiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIHNwa3IyIGF0IHBjcHBpMDog
UEMgU3BlYWtlcgpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSB3
c2JlbGwgYXQgc3BrcjIgbm90IGNvbmZpZ3VyZWQKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJz
ZDogWyAgIDEuMDMzNDczOV0gbWlkaTAgYXQgcGNwcGkwOiBQQyBzcGVha2VyCkp1biAgMiAwNzoy
NToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIHN5c2JlZXAwIGF0IHBjcHBpMApKdW4g
IDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBhdHRpbWVyMTogYXR0YWNo
ZWQgdG8gcGNwcGkwCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3Mzld
IGFjcGljcHUwIGF0IGNwdTA6IEFDUEkgQ1BVCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6
IFsgICAxLjAzMzQ3MzldIGFjcGljcHUwOiBDMTogRkZILCBsYXQgICAxIHVzLCBwb3cgIDEwMDAg
bVcKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaWNwdTA6
IEMyOiBGRkgsIGxhdCAxNTEgdXMsIHBvdyAgIDIwMCBtVwpKdW4gIDIgMDc6MjU6MjQgZGVsbCAv
bmV0YnNkOiBbICAgMS4wMzM0NzM5XSBhY3BpY3B1MDogQzM6IEZGSCwgbGF0IDEwMzQgdXMsIHBv
dyAgIDIwMCBtVwpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBh
Y3BpY3B1MDogUDA6IEZGSCwgbGF0ICAxMCB1cywgcG93IDE1MDAwIG1XLCAyODAxIE1IeiwgdHVy
Ym8gYm9vc3QKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNw
aWNwdTA6IFAxOiBGRkgsIGxhdCAgMTAgdXMsIHBvdyAxNTAwMCBtVywgMjgwMCBNSHoKSnVuICAy
IDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaWNwdTA6IFAyOiBGRkgs
IGxhdCAgMTAgdXMsIHBvdyAxMzQ4NyBtVywgMjYwMCBNSHoKSnVuICAyIDA3OjI1OjI0IGRlbGwg
L25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaWNwdTA6IFAzOiBGRkgsIGxhdCAgMTAgdXMsIHBv
dyAxMjE3NSBtVywgMjQwMCBNSHoKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEu
MDMzNDczOV0gYWNwaWNwdTA6IFA0OiBGRkgsIGxhdCAgMTAgdXMsIHBvdyAxMTYwOCBtVywgMjMw
MCBNSHoKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaWNw
dTA6IFA1OiBGRkgsIGxhdCAgMTAgdXMsIHBvdyAxMDM3MiBtVywgMjEwMCBNSHoKSnVuICAyIDA3
OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaWNwdTA6IFA2OiBGRkgsIGxh
dCAgMTAgdXMsIHBvdyAgOTA0NyBtVywgMTkwMCBNSHoKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25l
dGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaWNwdTA6IFA3OiBGRkgsIGxhdCAgMTAgdXMsIHBvdyAg
ODUzOCBtVywgMTgwMCBNSHoKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMz
NDczOV0gYWNwaWNwdTA6IFA4OiBGRkgsIGxhdCAgMTAgdXMsIHBvdyAgNzQyMyBtVywgMTYwMCBN
SHoKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaWNwdTA6
IFA5OiBGRkgsIGxhdCAgMTAgdXMsIHBvdyAgNjM1MyBtVywgMTQwMCBNSHoKSnVuICAyIDA3OjI1
OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaWNwdTA6IFAxMDogRkZILCBsYXQg
IDEwIHVzLCBwb3cgIDU3NzMgbVcsIDEzMDAgTUh6Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRi
c2Q6IFsgICAxLjAzMzQ3MzldIGFjcGljcHUwOiBQMTE6IEZGSCwgbGF0ICAxMCB1cywgcG93ICA0
Nzc0IG1XLCAxMTAwIE1IegpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0
NzM5XSBhY3BpY3B1MDogUDEyOiBGRkgsIGxhdCAgMTAgdXMsIHBvdyAgMzgxOSBtVywgIDkwMCBN
SHoKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0gYWNwaWNwdTA6
IFAxMzogRkZILCBsYXQgIDEwIHVzLCBwb3cgIDI5MDcgbVcsICA3MDAgTUh6Ckp1biAgMiAwNzoy
NToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGFjcGljcHUwOiBQMTQ6IEZGSCwgbGF0
ICAxMCB1cywgcG93ICAyNDExIG1XLCAgNjAwIE1IegpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0
YnNkOiBbICAgMS4wMzM0NzM5XSBhY3BpY3B1MDogUDE1OiBGRkgsIGxhdCAgMTAgdXMsIHBvdyAg
MTU2NiBtVywgIDQwMCBNSHoKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMz
NDczOV0gY29yZXRlbXAwIGF0IGNwdTA6IHRoZXJtYWwgc2Vuc29yLCAxIEMgcmVzb2x1dGlvbiwg
VGptYXg9MTAwCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAxLjAzMzQ3MzldIGFj
cGljcHUxIGF0IGNwdTE6IEFDUEkgQ1BVCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsg
ICAxLjAzMzQ3MzldIGNvcmV0ZW1wMSBhdCBjcHUxOiB0aGVybWFsIHNlbnNvciwgMSBDIHJlc29s
dXRpb24sIFRqbWF4PTEwMApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0
NzM5XSBhY3BpY3B1MiBhdCBjcHUyOiBBQ1BJIENQVQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0
YnNkOiBbICAgMS4wMzM0NzM5XSBhY3BpY3B1MyBhdCBjcHUzOiBBQ1BJIENQVQpKdW4gIDIgMDc6
MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBjcHUwOiBDUFUgYmFzZSBmcmVxIDI4
MDAwMDAwMDAgSHoKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuMDMzNDczOV0g
Y3B1MDogQ1BVIG1heCBmcmVxIDM0MDAwMDAwMDAgSHoKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25l
dGJzZDogWyAgIDEuMDMzNDczOV0gY3B1MDogVFNDIGZyZXEgQ1BVSUQgMjgwODAwMDAwMCBIegpK
dW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMS4wMzM0NzM5XSBjcHUwOiBUU0MgZnJl
cSBjYWxpYnJhdGVkIDI4MDc5OTkwMDAgSHoKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDog
WyAgIDEuMDMzNDczOV0gdGltZWNvdW50ZXI6IFRpbWVjb3VudGVyICJjbG9ja2ludGVycnVwdCIg
ZnJlcXVlbmN5IDEwMCBIeiBxdWFsaXR5IDAKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDog
WyAgIDEuMDMzNDczOV0gdGltZWNvdW50ZXI6IFRpbWVjb3VudGVyICJUU0MiIGZyZXF1ZW5jeSAy
ODA3OTk5MDAwIEh6IHF1YWxpdHkgMzAwMApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBb
ICAgMS45NjAxNjA4XSB1aHViMCBhdCB1c2IwOiBOZXRCU0QgKDB4MDAwMCkgeEhDSSByb290IGh1
YiAoMHgwMDAwKSwgY2xhc3MgOS8wLCByZXYgMy4wMC8xLjAwLCBhZGRyIDAKSnVuICAyIDA3OjI1
OjI0IGRlbGwgL25ldGJzZDogWyAgIDEuOTk0NzA4OF0gdXNiZF9zZXRfY29uZmlnX2luZGV4OiBh
ZGRyIDAgaW5kZXggMCBtc2cgMQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMi4w
MzQ3MDg5XSB1aHViX2F0dGFjaCgpIGF0IG5ldGJzZDp1aHViX2F0dGFjaCsweGJjCkp1biAgMiAw
NzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAyLjA3NDcwODldIGNvbmZpZ19hdHRhY2hfaW50ZXJu
YWwoKSBhdCBuZXRic2Q6Y29uZmlnX2F0dGFjaF9pbnRlcm5hbCsweDFhNwpKdW4gIDIgMDc6MjU6
MjQgZGVsbCAvbmV0YnNkOiBbICAgMi4xMTQ3MDg5XSBjb25maWdfZm91bmRfYWNxdWlyZSgpIGF0
IG5ldGJzZDpjb25maWdfZm91bmRfYWNxdWlyZSsweGQ5Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9u
ZXRic2Q6IFsgICAyLjE1NDcwODldIGNvbmZpZ19mb3VuZCgpIGF0IG5ldGJzZDpjb25maWdfZm91
bmQrMHgzMgpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMi4xODQ3MDg5XSB1c2Jk
X2F0dGFjaF9yb290aHViKCkgYXQgbmV0YnNkOnVzYmRfYXR0YWNoX3Jvb3RodWIrMHhhMwpKdW4g
IDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMi4yMjQ3MDkwXSB4aGNpX25ld19kZXZpY2Uo
KSBhdCBuZXRic2Q6eGhjaV9uZXdfZGV2aWNlKzB4NWIxCkp1biAgMiAwNzoyNToyNCBkZWxsIC9u
ZXRic2Q6IFsgICAyLjI2NDcwOTNdIHVzYl9kb2F0dGFjaCgpIGF0IG5ldGJzZDp1c2JfZG9hdHRh
Y2grMHhhNwpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMi4zMDQ3MDk4XSBjb25m
aWdfaW50ZXJydXB0c190aHJlYWQoKSBhdCBuZXRic2Q6Y29uZmlnX2ludGVycnVwdHNfdGhyZWFk
KzB4OWIKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDIuMzQ0NzA5NF0gdWh1YjA6
IDYgcG9ydHMgd2l0aCA2IHJlbW92YWJsZSwgc2VsZiBwb3dlcmVkCkp1biAgMiAwNzoyNToyNCBk
ZWxsIC9uZXRic2Q6IFsgICAyLjM0NDcwOTRdIHVodWIxIGF0IHVzYjE6IE5ldEJTRCAoMHgwMDAw
KSB4SENJIHJvb3QgaHViICgweDAwMDApLCBjbGFzcyA5LzAsIHJldiAyLjAwLzEuMDAsIGFkZHIg
MApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMi4zODQ3MDkyXSB1c2JkX3NldF9j
b25maWdfaW5kZXg6IGFkZHIgMCBpbmRleCAwIG1zZyAxCkp1biAgMiAwNzoyNToyNCBkZWxsIC9u
ZXRic2Q6IFsgICAyLjQyNDcwOTFdIHVodWJfYXR0YWNoKCkgYXQgbmV0YnNkOnVodWJfYXR0YWNo
KzB4YmMKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDIuNDY0NzA5M10gY29uZmln
X2F0dGFjaF9pbnRlcm5hbCgpIGF0IG5ldGJzZDpjb25maWdfYXR0YWNoX2ludGVybmFsKzB4MWE3
Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAyLjUwNDcwOTRdIGNvbmZpZ19mb3Vu
ZF9hY3F1aXJlKCkgYXQgbmV0YnNkOmNvbmZpZ19mb3VuZF9hY3F1aXJlKzB4ZDkKSnVuICAyIDA3
OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDIuNTM0NzA5NF0gY29uZmlnX2ZvdW5kKCkgYXQgbmV0
YnNkOmNvbmZpZ19mb3VuZCsweDMyCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAy
LjU3NDcwOTRdIHVzYmRfYXR0YWNoX3Jvb3RodWIoKSBhdCBuZXRic2Q6dXNiZF9hdHRhY2hfcm9v
dGh1YisweGEzCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAyLjYxNDcwOTNdIHho
Y2lfbmV3X2RldmljZSgpIGF0IG5ldGJzZDp4aGNpX25ld19kZXZpY2UrMHg1YjEKSnVuICAyIDA3
OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDIuNjU0NzA5NF0gdXNiX2RvYXR0YWNoKCkgYXQgbmV0
YnNkOnVzYl9kb2F0dGFjaCsweGE3Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAy
LjY5NDcwOTRdIGNvbmZpZ19pbnRlcnJ1cHRzX3RocmVhZCgpIGF0IG5ldGJzZDpjb25maWdfaW50
ZXJydXB0c190aHJlYWQrMHg5YgpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMi43
MzQ3MDkyXSB1aHViMTogMTIgcG9ydHMgd2l0aCAxMiByZW1vdmFibGUsIHNlbGYgcG93ZXJlZApK
dW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMi43MzQ3MDkyXSBJUHNlYzogSW5pdGlh
bGl6ZWQgU2VjdXJpdHkgQXNzb2NpYXRpb24gUHJvY2Vzc2luZy4KSnVuICAyIDA3OjI1OjI0IGRl
bGwgL25ldGJzZDogWyAgIDIuNzQ0NzEwMF0gYWNwaWFjYWQwOiBBQyBhZGFwdGVyIG9ubGluZS4K
SnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDIuODM0NzE1Ml0gYWhjaXNhdGEwIHBv
cnQgMjogZGV2aWNlIHByZXNlbnQsIHNwZWVkOiA2LjBHYi9zCkp1biAgMiAwNzoyNToyNCBkZWxs
IC9uZXRic2Q6IFsgICAyLjg2NDcxNDddIHdkMCBhdCBhdGFidXMwIGRyaXZlIDAKSnVuICAyIDA3
OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDIuODg0NzA5MV0gd2QwOiA8U2FuRGlzayBYNDAwIE0u
MiAyMjgwIDUxMkdCPgpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMi45MTQ3MDkw
XSB3ZDA6IGRyaXZlIHN1cHBvcnRzIDEtc2VjdG9yIFBJTyB0cmFuc2ZlcnMsIExCQTQ4IGFkZHJl
c3NpbmcKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDIuOTE0NzA5MF0gd2QwOiA0
NzYgR0IsIDk5MjI3NyBjeWwsIDE2IGhlYWQsIDYzIHNlYywgNTEyIGJ5dGVzL3NlY3QgeCAxMDAw
MjE1MjE2IHNlY3RvcnMKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDIuOTQ0NzA5
Ml0gd2QwOiBHUFQgR1VJRDogNzM1ODQxM2QtZjUwMy00NWI0LTllZjctMWMxMzBiOGRlZDBkCkp1
biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAyLjk0NDcwOTJdIGRrMCBhdCB3ZDA6ICJl
NTI2ZjZjOC0zOTJmLTQ5Y2YtOTY0Zi00ZmUwYjJlYWY4OWMiLCAyNjIxNDQgYmxvY2tzIGF0IDIw
NDgsIHR5cGU6IG1zZG9zCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAyLjk3NDcw
OTNdIGRrMSBhdCB3ZDA6ICI3ZGMxNzIzYi1mYmEzLTRmZDYtOTExNC04NGI3YTIyMTExYmMiLCA5
NjY2NDAyMzcgYmxvY2tzIGF0IDI2NDE5MiwgdHlwZTogZmZzCkp1biAgMiAwNzoyNToyNCBkZWxs
IC9uZXRic2Q6IFsgICAzLjAwNDcwOTNdIGRrMiBhdCB3ZDA6ICI4MGUxMTBiOC1kN2ViLTQxMmEt
OTkwNy1iNzJlOTIzY2I0NDMiLCAzMzMwOTMyNyBibG9ja3MgYXQgOTY2OTA1ODU2LCB0eXBlOiBz
d2FwCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAzLjAzNDcxMTJdIHdkMDogZHJp
dmUgc3VwcG9ydHMgUElPIG1vZGUgNCwgRE1BIG1vZGUgMiwgVWx0cmEtRE1BIG1vZGUgNiAoVWx0
cmEvMTMzKSwgV1JJVEUgRE1BIEZVQSwgTkNRICgzMiB0YWdzKQpKdW4gIDIgMDc6MjU6MjQgZGVs
bCAvbmV0YnNkOiBbICAgMy4wMzQ3MTEyXSB3ZDAoYWhjaXNhdGEwOjI6MCk6IHVzaW5nIFBJTyBt
b2RlIDQsIERNQSBtb2RlIDIsIFVsdHJhLURNQSBtb2RlIDYgKFVsdHJhLzEzMykgKHVzaW5nIERN
QSksIE5DUSAoMzEgdGFncykKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDMuMTA0
NzEwNl0gYWNwaWJhdDA6IExHQy1MR0M3Ljc4MCBMSU9OIHJlY2hhcmdlYWJsZSBiYXR0ZXJ5Ckp1
biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAzLjEyNDcwOTNdIGFjcGliYXQwOiBncmFu
dWxhcml0eTogbG93LT53YXJuIDAuMDc4IEFoLCB3YXJuLT5mdWxsIDAuMDc4IEFoCkp1biAgMiAw
NzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAzLjMzNDcxMzJdIHVzYmRfc2V0X2NvbmZpZ19pbmRl
eDogYWRkciAxIGluZGV4IDAgbXNnIDEKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAg
IDMuMzY0NzA5NF0gdXNiZF9wcm9iZV9hbmRfYXR0YWNoKCkgYXQgbmV0YnNkOnVzYmRfcHJvYmVf
YW5kX2F0dGFjaCsweDY4Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICAzLjM5NDcw
OTVdIHhoY2lfbmV3X2RldmljZSgpIGF0IG5ldGJzZDp4aGNpX25ld19kZXZpY2UrMHg1NGEKSnVu
ICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDMuNDE0NzA5NV0gdWh1Yl9leHBsb3JlKCkg
YXQgbmV0YnNkOnVodWJfZXhwbG9yZSsweDRiZApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNk
OiBbICAgMy40NDQ3MDk5XSB1c2JfZGlzY292ZXIoKSBhdCBuZXRic2Q6dXNiX2Rpc2NvdmVyKzB4
NGYKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDMuNDc0NzA5OF0gdXNiX2V2ZW50
X3RocmVhZCgpIGF0IG5ldGJzZDp1c2JfZXZlbnRfdGhyZWFkKzB4NDYKSnVuICAyIDA3OjI1OjI0
IGRlbGwgL25ldGJzZDogWyAgIDMuNTA0NzA5NV0gdWhpZGV2MCBhdCB1aHViMSBwb3J0IDIgY29u
ZmlndXJhdGlvbiAxIGludGVyZmFjZSAwCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsg
ICAzLjUzNDcwOTddIHVoaWRldjA6IExvZ2l0ZWNoICgweDA0NmQpIFVTQiBPcHRpY2FsIE1vdXNl
ICgweGMwNzcpLCByZXYgMi4wMC83Mi4wMCwgYWRkciAxLCBpY2xhc3MgMy8xCkp1biAgMiAwNzoy
NToyNCBkZWxsIC9uZXRic2Q6IFsgICAzLjU1NDcwOTZdIHVtczAgYXQgdWhpZGV2MDogMyBidXR0
b25zIGFuZCBaIGRpcgpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgMy41ODQ3MDk1
XSB3c21vdXNlMSBhdCB1bXMwIG11eCAwCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsg
ICA0LjA3NDcxMzZdIHVzYmRfc2V0X2NvbmZpZ19pbmRleDogYWRkciAyIGluZGV4IDAgbXNnIDEK
SnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDQuMTA0NzA5Nl0gdXNiZF9wcm9iZV9h
bmRfYXR0YWNoKCkgYXQgbmV0YnNkOnVzYmRfcHJvYmVfYW5kX2F0dGFjaCsweDY4Ckp1biAgMiAw
NzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICA0LjEzNDcwOTddIHhoY2lfbmV3X2RldmljZSgpIGF0
IG5ldGJzZDp4aGNpX25ld19kZXZpY2UrMHg1NGEKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJz
ZDogWyAgIDQuMTY0NzEwMV0gdWh1Yl9leHBsb3JlKCkgYXQgbmV0YnNkOnVodWJfZXhwbG9yZSsw
eDRiZApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgNC4xODQ3MTEwXSB1c2JfZGlz
Y292ZXIoKSBhdCBuZXRic2Q6dXNiX2Rpc2NvdmVyKzB4NGYKSnVuICAyIDA3OjI1OjI0IGRlbGwg
L25ldGJzZDogWyAgIDQuMjE0NzA5N10gdXNiX2V2ZW50X3RocmVhZCgpIGF0IG5ldGJzZDp1c2Jf
ZXZlbnRfdGhyZWFkKzB4NDYKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDQuMjc0
NzEzNV0gdXZpZGVvMCBhdCB1aHViMSBwb3J0IDUgY29uZmlndXJhdGlvbiAxIGludGVyZmFjZSAw
OiBDTjBLNDlXMUxPRzAwNzZBQUVEQUEwMCAoMHgwYmRhKSBJbnRlZ3JhdGVkIFdlYmNhbV9IRCAo
MHg1NjUwKSwgcmV2IDIuMDAvNjAuMDYsIGFkZHIgMgpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0
YnNkOiBbICAgNC4zMjQ3MDk3XSB2aWRlbzAgYXQgdXZpZGVvMDogQ04wSzQ5VzFMT0cwMDc2QUFF
REFBMDAgKDB4MGJkYSkgSW50ZWdyYXRlZCBXZWJjYW1fSEQgKDB4NTY1MCksIHJldiAyLjAwLzYw
LjA2LCBhZGRyIDIKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDQuODI0NzEzNl0g
dWJ0MCBhdCB1aHViMSBwb3J0IDcKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDQu
ODQ0NzA5OV0gdWJ0MDogdmVuZG9yIDgwODcgKDB4ODA4NykgcHJvZHVjdCAwYTJiICgweDBhMmIp
LCByZXYgMi4wMC8wLjEwLCBhZGRyIDMKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAg
IDQuODc0NzA5OV0gdXNiZF9zZXRfY29uZmlnX2luZGV4OiBhZGRyIDMgaW5kZXggMCBtc2cgMQpK
dW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgNC45MDQ3MDk5XSB1YnRfYXR0YWNoKCkg
YXQgbmV0YnNkOnVidF9hdHRhY2grMHhjNApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBb
ICAgNC45MzQ3MTAyXSBjb25maWdfYXR0YWNoX2ludGVybmFsKCkgYXQgbmV0YnNkOmNvbmZpZ19h
dHRhY2hfaW50ZXJuYWwrMHgxYTcKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDQu
OTU0NzEwMl0gY29uZmlnX2ZvdW5kX2FjcXVpcmUoKSBhdCBuZXRic2Q6Y29uZmlnX2ZvdW5kX2Fj
cXVpcmUrMHhkOQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgNC45ODQ3MTAzXSBj
b25maWdfZm91bmQoKSBhdCBuZXRic2Q6Y29uZmlnX2ZvdW5kKzB4MzIKSnVuICAyIDA3OjI1OjI0
IGRlbGwgL25ldGJzZDogWyAgIDUuMDE0NzEwM10gdXNiZF9hdHRhY2h3aG9sZWRldmljZSgpIGF0
IG5ldGJzZDp1c2JkX2F0dGFjaHdob2xlZGV2aWNlKzB4ZjAKSnVuICAyIDA3OjI1OjI0IGRlbGwg
L25ldGJzZDogWyAgIDUuMDQ0NzEwM10gdXNiZF9wcm9iZV9hbmRfYXR0YWNoKCkgYXQgbmV0YnNk
OnVzYmRfcHJvYmVfYW5kX2F0dGFjaCsweDNhCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6
IFsgICA1LjA2NDcxMDRdIHhoY2lfbmV3X2RldmljZSgpIGF0IG5ldGJzZDp4aGNpX25ld19kZXZp
Y2UrMHg1NGEKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDUuMDk0NzExMV0gdWh1
Yl9leHBsb3JlKCkgYXQgbmV0YnNkOnVodWJfZXhwbG9yZSsweDRiZApKdW4gIDIgMDc6MjU6MjQg
ZGVsbCAvbmV0YnNkOiBbICAgNS4xMjQ3MTA0XSB1c2JfZGlzY292ZXIoKSBhdCBuZXRic2Q6dXNi
X2Rpc2NvdmVyKzB4NGYKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDUuMTU0NzEw
MV0gdXNiX2V2ZW50X3RocmVhZCgpIGF0IG5ldGJzZDp1c2JfZXZlbnRfdGhyZWFkKzB4NDYKSnVu
ICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDUuNjg0NzE0MF0gdXNiZF9zZXRfY29uZmln
X2luZGV4OiBhZGRyIDQgaW5kZXggMCBtc2cgMQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNk
OiBbICAgNS43MTQ3MTA0XSB1c2JkX3Byb2JlX2FuZF9hdHRhY2goKSBhdCBuZXRic2Q6dXNiZF9w
cm9iZV9hbmRfYXR0YWNoKzB4NjgKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDUu
NzQ0NzEwNF0geGhjaV9uZXdfZGV2aWNlKCkgYXQgbmV0YnNkOnhoY2lfbmV3X2RldmljZSsweDU0
YQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgNS43NjQ3MTA4XSB1aHViX2V4cGxv
cmUoKSBhdCBuZXRic2Q6dWh1Yl9leHBsb3JlKzB4NGJkCkp1biAgMiAwNzoyNToyNCBkZWxsIC9u
ZXRic2Q6IFsgICA1Ljc5NDcxMDRdIHVzYl9kaXNjb3ZlcigpIGF0IG5ldGJzZDp1c2JfZGlzY292
ZXIrMHg0ZgpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgNS44MjQ3MTA1XSB1c2Jf
ZXZlbnRfdGhyZWFkKCkgYXQgbmV0YnNkOnVzYl9ldmVudF90aHJlYWQrMHg0NgpKdW4gIDIgMDc6
MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgNS44NTQ3MTEwXSB1Z2VuMCBhdCB1aHViMSBwb3J0IDEw
Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICA1Ljg4NDcxMDZdIHVnZW4wOiBCcm9h
ZGNvbSBDb3JwICgweDBhNWMpIDU4ODAgKDB4NTgzMiksIHJldiAxLjEwLzEuMDEsIGFkZHIgNApK
dW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgNS45MTQ3MTA0XSB1c2JkX3NldF9jb25m
aWdfaW5kZXg6IGFkZHIgNCBpbmRleCAwIG1zZyAwCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRi
c2Q6IFsgICA1LjkzNDcxMDJdIHVnZW5pZl9hdHRhY2goKSBhdCBuZXRic2Q6dWdlbmlmX2F0dGFj
aCsweDI0MQpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgNS45NjQ3MTA3XSB1Z2Vu
X2F0dGFjaCgpIGF0IG5ldGJzZDp1Z2VuX2F0dGFjaCsweDVjCkp1biAgMiAwNzoyNToyNCBkZWxs
IC9uZXRic2Q6IFsgICA1Ljk5NDcxMDldIGNvbmZpZ19hdHRhY2hfaW50ZXJuYWwoKSBhdCBuZXRi
c2Q6Y29uZmlnX2F0dGFjaF9pbnRlcm5hbCsweDFhNwpKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0
YnNkOiBbICAgNi4wMjQ3MTA3XSBjb25maWdfZm91bmRfYWNxdWlyZSgpIGF0IG5ldGJzZDpjb25m
aWdfZm91bmRfYWNxdWlyZSsweGQ5Ckp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICA2
LjA0NDcxMDZdIGNvbmZpZ19mb3VuZCgpIGF0IG5ldGJzZDpjb25maWdfZm91bmQrMHgzMgpKdW4g
IDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgNi4wNzQ3MTA3XSB1c2JkX2F0dGFjaHdob2xl
ZGV2aWNlKCkgYXQgbmV0YnNkOnVzYmRfYXR0YWNod2hvbGVkZXZpY2UrMHhmMApKdW4gIDIgMDc6
MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgNi4xMDQ3MTA3XSB1c2JkX3Byb2JlX2FuZF9hdHRhY2go
KSBhdCBuZXRic2Q6dXNiZF9wcm9iZV9hbmRfYXR0YWNoKzB4MTRhCkp1biAgMiAwNzoyNToyNCBk
ZWxsIC9uZXRic2Q6IFsgICA2LjEzNDcxMTldIHhoY2lfbmV3X2RldmljZSgpIGF0IG5ldGJzZDp4
aGNpX25ld19kZXZpY2UrMHg1NGEKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDYu
MTY0NzEwNl0gdWh1Yl9leHBsb3JlKCkgYXQgbmV0YnNkOnVodWJfZXhwbG9yZSsweDRiZApKdW4g
IDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgNi4xODQ3MTA2XSB1c2JfZGlzY292ZXIoKSBh
dCBuZXRic2Q6dXNiX2Rpc2NvdmVyKzB4NGYKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDog
WyAgIDYuMjE0NzEwNl0gdXNiX2V2ZW50X3RocmVhZCgpIGF0IG5ldGJzZDp1c2JfZXZlbnRfdGhy
ZWFkKzB4NDYKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDYuMjU0NzEwNV0gc3d3
ZG9nMDogc29mdHdhcmUgd2F0Y2hkb2cgaW5pdGlhbGl6ZWQKSnVuICAyIDA3OjI1OjI0IGRlbGwg
L25ldGJzZDogWyAgIDYuMjY0NzEwOV0gYm9vdCBkZXZpY2U6IHdkMApKdW4gIDIgMDc6MjU6MjQg
ZGVsbCAvbmV0YnNkOiBbICAgNi4yNjQ3MTA5XSByb290IG9uIGRrMSBkdW1wcyBvbiBkazIKSnVu
ICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDYuMjY0NzEwOV0gcm9vdCBmaWxlIHN5c3Rl
bSB0eXBlOiBmZnMKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDYuMjY0NzEwOV0g
a2Vybi5tb2R1bGUucGF0aD0vc3RhbmQvYW1kNjQvMTAuOTkuNC9tb2R1bGVzCkp1biAgMiAwNzoy
NToyNCBkZWxsIC9uZXRic2Q6IFsgICA2LjI3NDcxMTFdIFtkcm1dIFN1cHBvcnRzIHZibGFuayB0
aW1lc3RhbXAgY2FjaGluZyBSZXYgMiAoMjEuMTAuMjAxMykuCkp1biAgMiAwNzoyNToyNCBkZWxs
IC9uZXRic2Q6IFsgICA2LjMwNDcxMDJdIFtkcm1dIERyaXZlciBzdXBwb3J0cyBwcmVjaXNlIHZi
bGFuayB0aW1lc3RhbXAgcXVlcnkuCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICA2
LjMzNDcxMDNdIGk5MTVkcm1rbXMwOiBpbnRlcnJ1cHRpbmcgYXQgbXNpNiB2ZWMgMCAoaTkxNWRy
bWttczApCkp1biAgMiAwNzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICA2LjMzNDcxMDNdIGk5MTVk
cm1rbXMwOiBub3RpY2U6IEZhaWxlZCB0byBsb2FkIERNQyBmaXJtd2FyZSBpOTE1L3NrbF9kbWNf
dmVyMV8yNy5iaW4uIERpc2FibGluZyBydW50aW1lIHBvd2VyIG1hbmFnZW1lbnQuCkp1biAgMiAw
NzoyNToyNCBkZWxsIC9uZXRic2Q6IFsgICA2LjM1NDcxMDddIFtkcm1dIEluaXRpYWxpemVkIGk5
MTUgMS42LjAgMjAyMDAxMTQgZm9yIGk5MTVkcm1rbXMwIG9uIG1pbm9yIDAKSnVuICAyIDA3OjI1
OjI0IGRlbGwgL25ldGJzZDogWyAgIDYuNTI0NzEyNl0gaW50ZWxmYjAgYXQgaTkxNWRybWttczAK
SnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDYuNTI0NzEyNl0gW2RybV0gRFJNX0k5
MTVfREVCVUcgZW5hYmxlZApKdW4gIDIgMDc6MjU6MjQgZGVsbCAvbmV0YnNkOiBbICAgNi41MjQ3
MTI2XSBbZHJtXSBEUk1fSTkxNV9ERUJVR19HRU0gZW5hYmxlZApKdW4gIDIgMDc6MjU6MjQgZGVs
bCAvbmV0YnNkOiBbICAgNi41MjQ3MTI2XSBpbnRlbGZiMDogZnJhbWVidWZmZXIgYXQgMHhhMDA0
MDAwMCwgc2l6ZSAxOTIweDEwODAsIGRlcHRoIDMyLCBzdHJpZGUgNzY4MApKdW4gIDIgMDc6MjU6
MjQgZGVsbCAvbmV0YnNkOiBbICAgNi41NTQ3MTA3XSB3c2Rpc3BsYXkwIGF0IGludGVsZmIwIGti
ZG11eCAxOiBjb25zb2xlIChkZWZhdWx0LCB2dDEwMCBlbXVsYXRpb24pLCB1c2luZyB3c2tiZDAK
SnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDYuNTU0NzEwN10gd3NtdXgxOiBjb25u
ZWN0aW5nIHRvIHdzZGlzcGxheTAKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDYu
NjA0NzEwNl0gaXdtMDogaHcgcmV2IDB4MjMwLCBmdyB2ZXIgMjIuMzYxNDc2LjAsIGFkZHJlc3Mg
Y2M6MmY6NzE6N2Y6MGM6MjkKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDcuMTQ0
NzEyMF0gd3NkaXNwbGF5MDogc2NyZWVuIDEgYWRkZWQgKGRlZmF1bHQsIHZ0MTAwIGVtdWxhdGlv
bikKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJzZDogWyAgIDcuMTU0NzExNl0gd3NkaXNwbGF5
MDogc2NyZWVuIDIgYWRkZWQgKGRlZmF1bHQsIHZ0MTAwIGVtdWxhdGlvbikKSnVuICAyIDA3OjI1
OjI0IGRlbGwgL25ldGJzZDogWyAgIDcuMTU0NzExNl0gd3NkaXNwbGF5MDogc2NyZWVuIDMgYWRk
ZWQgKGRlZmF1bHQsIHZ0MTAwIGVtdWxhdGlvbikKSnVuICAyIDA3OjI1OjI0IGRlbGwgL25ldGJz
ZDogWyAgIDcuMTU0NzExNl0gd3NkaXNwbGF5MDogc2NyZWVuIDQgYWRkZWQgKGRlZmF1bHQsIHZ0
MTAwIGVtdWxhdGlvbikKSnVuICAyIDA3OjI1OjI1IGRlbGwgcm9vdDogL2V0Yy9yYzogV0FSTklO
RzogJGJsYWNrbGlzdGQgaXMgbm90IHNldCBwcm9wZXJseSAtIHNlZSByYy5jb25mKDUpLgpKdW4g
IDIgMDc6MjU6MjUgZGVsbCBzYXZlY29yZTogbm8gY29yZSBkdW1wCkp1biAgMiAwNzoyNToyNiBk
ZWxsIGRoY3BjZFs2MzRdOiBkaGNwY2RfcHJlc3RhcnRpbnRlcmZhY2U6IFJlc291cmNlIHRlbXBv
cmFyaWx5IHVuYXZhaWxhYmxlCkp1biAgMiAwNzoyNToyNiBkZWxsIGRoY3BjZFs2MzRdOiBpd20w
OiB3YWl0aW5nIGZvciBjYXJyaWVyCkp1biAgMiAwNzoyNToyNiBkZWxsIGRoY3BjZFs2MzRdOiB3
bTA6IGNhcnJpZXIgbG9zdCAtIHJvYW1pbmcKSnVuICAyIDA3OjI1OjUwIGRlbGwgcm9vdDogL2V0
Yy9wb3dlcmQvc2NyaXB0cy9zZW5zb3JfYmF0dGVyeTogKGNoYXJnZSBzdGF0ZSkgY2FwYWNpdHkg
cmVhY2hlZCBub3JtYWwgc3RhdGUgW2FjcGliYXQwXQo=
------=_Part_446228_953307516.1685716432773--
(Contact us)
$NetBSD: query-full-pr,v 1.47 2022/09/11 19:34:41 kim Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2023
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.